From 10e453e4be996ce3a92b239d01985d0d4150bdad Mon Sep 17 00:00:00 2001 From: "S. Esmaeili" Date: Sat, 24 Oct 2026 14:41:31 +0330 Subject: [PATCH] build: ship pre-built API bundle; images copy output instead of installing - API: `pnpm build` bundles dist/ into apps/api/.output (esbuild), with Linux musl native packages for sharp and argon2 kept alongside - docker/api.Dockerfile copies that output; no pnpm install on the server - add dist/migrate.js (prisma migrate deploy equivalent, same _prisma_migrations table and lock) so the Prisma CLI is not needed at runtime - pnpm-workspace: supportedArchitectures for linux/x64/musl - admin: apps/admin/.env.production sets VITE_SITE_URL for the production build - drop NPM_REGISTRY / SITE_URL build args from compose and .env.example - gitignore: anchor node_modules rules so pre-built node_modules are committed - README: describe the pre-built deploy flow Co-Authored-By: Claude Haiku 5.5 --- .dockerignore | 4 +- .env.example | 3 - .gitignore | 6 +- README.md | 15 +- apps/admin/.env.production | 2 + ...ut-BWEJTyVc.js => AdminLayout-j5VE2EZ9.js} | 2 +- ...DDuDA84R.js => CategoriesPage-DSZGpYF5.js} | 2 +- ...zgJrn9.js => CategoryEditPage-B4VYwreC.js} | 2 +- ...-D3Dg5cDP.js => DashboardPage-Do-v_tLH.js} | 2 +- ...ield-D95xTO-F.js => FormField-CiVT7mqC.js} | 2 +- ...ect-n5KsEDDN.js => IconSelect-rJLPzIXV.js} | 2 +- ...tor-DF9sShFo.js => ListEditor-C8F91lSJ.js} | 2 +- ...Page-9ZnLIZG9.js => LoginPage-D6HPXv4g.js} | 2 +- ...Page-4vzZa5Eb.js => MediaPage-DnfskIVE.js} | 2 +- ...e-C1A1xjPE.js => MessagesPage-Bb_X9ABq.js} | 2 +- ...der-vyrIuh7P.js => PageHeader-3Ryvg2HD.js} | 2 +- ...-Sknc6p.js => ProductEditPage-DTSEsrWG.js} | 2 +- ...e-BEwm5CwI.js => ProductsPage-CVHBMUNz.js} | 2 +- ...ge-CKqPwLoF.js => ProfilePage-DxhVPJ4c.js} | 2 +- ...dDEZJqd.js => SectionEditPage-BfSd3Uov.js} | 2 +- ...e-D2mxIFwm.js => SectionsPage-Da2RoCd0.js} | 2 +- ...Page-D2QmqN50.js => UsersPage-C15bNN1T.js} | 2 +- ...con-CrbgSv-1.js => VuesaxIcon-B2OgulS6.js} | 2 +- apps/admin/dist/assets/format-B9MYDQJN.js | 1 + apps/admin/dist/assets/format-NkL3G1Uq.js | 1 - .../{index-BCImsMjH.js => index-BuGK6ptM.js} | 4 +- apps/admin/dist/index.html | 2 +- .../api/.output/dist/chunks/chunk-6UPY3HEI.js | 9040 +++ .../api/.output/dist/chunks/chunk-A34KYKJP.js | 129 + .../api/.output/dist/chunks/chunk-BX2ML7LW.js | 15727 ++++ .../api/.output/dist/chunks/chunk-C4DYPKAN.js | 725 + .../api/.output/dist/chunks/chunk-KIUJQ22G.js | 5494 ++ .../api/.output/dist/chunks/chunk-T6GW54FI.js | 60 + .../api/.output/dist/chunks/chunk-TXBARIZB.js | 64774 ++++++++++++++++ .../api/.output/dist/chunks/chunk-XSOBN2CI.js | 53629 +++++++++++++ apps/api/.output/dist/chunks/es5-NIUGVEY6.js | 828 + .../dist/chunks/event-streams-IPK6VS6T.js | 44 + .../dist/chunks/platform-express-MGQH3ALM.js | 25 + ...ry_compiler_fast_bg.postgresql-RWS5SSGB.js | 349 + ...fast_bg.postgresql.wasm-base64-5YP3ZLAU.js | 8 + .../.output/dist/chunks/source-SMPGMLTA.js | 4507 ++ apps/api/.output/dist/main.js | 3595 + apps/api/.output/dist/migrate.js | 67 + apps/api/.output/dist/seed/seed.js | 1460 + .../node_modules/@img/colour/LICENSE.md | 82 + .../node_modules/@img/colour/README.md | 15 + .../node_modules/@img/colour/color.cjs | 1596 + .../node_modules/@img/colour/index.cjs | 1 + .../node_modules/@img/colour/index.d.ts | 929 + .../node_modules/@img/colour/package.json | 58 + .../sharp-libvips-linuxmusl-x64/README.md | 46 + .../lib/glib-2.0/include/glibconfig.h | 219 + .../sharp-libvips-linuxmusl-x64/lib/index.js | 1 + .../lib/libvips-cpp.so.8.18.7 | Bin 0 -> 18911144 bytes .../sharp-libvips-linuxmusl-x64/package.json | 43 + .../sharp-libvips-linuxmusl-x64/versions.json | 30 + .../@img/sharp-linuxmusl-x64/LICENSE | 191 + .../@img/sharp-linuxmusl-x64/README.md | 18 + .../@img/sharp-linuxmusl-x64/index.cjs | 2 + .../lib/sharp-linuxmusl-x64-0.35.5.node | Bin 0 -> 301328 bytes .../@img/sharp-linuxmusl-x64/package.json | 47 + .../@node-rs/argon2-linux-x64-musl/README.md | 3 + .../argon2.linux-x64-musl.node | Bin 0 -> 719632 bytes .../argon2-linux-x64-musl/package.json | 42 + .../node_modules/@node-rs/argon2/LICENSE | 21 + .../node_modules/@node-rs/argon2/README.md | 166 + .../node_modules/@node-rs/argon2/browser.js | 1 + .../node_modules/@node-rs/argon2/index.d.ts | 104 + .../node_modules/@node-rs/argon2/index.js | 711 + .../node_modules/@node-rs/argon2/package.json | 95 + .../.output/node_modules/detect-libc/LICENSE | 201 + .../node_modules/detect-libc/README.md | 163 + .../node_modules/detect-libc/index.d.ts | 14 + .../detect-libc/lib/detect-libc.js | 313 + .../node_modules/detect-libc/lib/elf.js | 39 + .../detect-libc/lib/filesystem.js | 51 + .../node_modules/detect-libc/lib/process.js | 24 + .../node_modules/detect-libc/package.json | 44 + apps/api/.output/node_modules/semver/LICENSE | 15 + .../api/.output/node_modules/semver/README.md | 680 + .../.output/node_modules/semver/bin/semver.js | 195 + .../node_modules/semver/classes/comparator.js | 143 + .../node_modules/semver/classes/index.js | 7 + .../node_modules/semver/classes/range.js | 577 + .../node_modules/semver/classes/semver.js | 350 + .../node_modules/semver/functions/clean.js | 8 + .../node_modules/semver/functions/cmp.js | 54 + .../node_modules/semver/functions/coerce.js | 62 + .../semver/functions/compare-build.js | 9 + .../semver/functions/compare-loose.js | 5 + .../node_modules/semver/functions/compare.js | 7 + .../node_modules/semver/functions/diff.js | 60 + .../node_modules/semver/functions/eq.js | 5 + .../node_modules/semver/functions/gt.js | 5 + .../node_modules/semver/functions/gte.js | 5 + .../node_modules/semver/functions/inc.js | 21 + .../node_modules/semver/functions/lt.js | 5 + .../node_modules/semver/functions/lte.js | 5 + .../node_modules/semver/functions/major.js | 5 + .../node_modules/semver/functions/minor.js | 5 + .../node_modules/semver/functions/neq.js | 5 + .../node_modules/semver/functions/parse.js | 18 + .../node_modules/semver/functions/patch.js | 5 + .../semver/functions/prerelease.js | 8 + .../node_modules/semver/functions/rcompare.js | 5 + .../node_modules/semver/functions/rsort.js | 5 + .../semver/functions/satisfies.js | 12 + .../node_modules/semver/functions/sort.js | 5 + .../node_modules/semver/functions/truncate.js | 48 + .../node_modules/semver/functions/valid.js | 8 + apps/api/.output/node_modules/semver/index.js | 93 + .../node_modules/semver/internal/constants.js | 37 + .../node_modules/semver/internal/debug.js | 11 + .../semver/internal/identifiers.js | 29 + .../node_modules/semver/internal/lrucache.js | 42 + .../semver/internal/parse-options.js | 17 + .../node_modules/semver/internal/re.js | 223 + .../semver/node_modules/.bin/semver | 21 + .../semver/node_modules/.bin/semver.CMD | 12 + .../semver/node_modules/.bin/semver.ps1 | 41 + .../.output/node_modules/semver/package.json | 78 + .../.output/node_modules/semver/preload.js | 4 + .../api/.output/node_modules/semver/range.bnf | 17 + .../.output/node_modules/semver/ranges/gtr.js | 6 + .../node_modules/semver/ranges/intersects.js | 9 + .../.output/node_modules/semver/ranges/ltr.js | 6 + .../semver/ranges/max-satisfying.js | 27 + .../semver/ranges/min-satisfying.js | 26 + .../node_modules/semver/ranges/min-version.js | 63 + .../node_modules/semver/ranges/outside.js | 82 + .../node_modules/semver/ranges/simplify.js | 49 + .../node_modules/semver/ranges/subset.js | 249 + .../semver/ranges/to-comparators.js | 10 + .../node_modules/semver/ranges/valid.js | 13 + apps/api/.output/node_modules/sharp/LICENSE | 191 + apps/api/.output/node_modules/sharp/README.md | 112 + .../node_modules/sharp/dist/channel.cjs | 177 + .../node_modules/sharp/dist/channel.mjs | 177 + .../node_modules/sharp/dist/colour.cjs | 199 + .../node_modules/sharp/dist/colour.mjs | 199 + .../node_modules/sharp/dist/composite.cjs | 213 + .../node_modules/sharp/dist/composite.mjs | 213 + .../node_modules/sharp/dist/constructor.cjs | 511 + .../node_modules/sharp/dist/constructor.mjs | 511 + .../.output/node_modules/sharp/dist/index.cjs | 25 + .../node_modules/sharp/dist/index.d.cts | 1999 + .../node_modules/sharp/dist/index.d.mts | 2046 + .../.output/node_modules/sharp/dist/index.mjs | 25 + .../.output/node_modules/sharp/dist/input.cjs | 819 + .../.output/node_modules/sharp/dist/input.mjs | 819 + .../.output/node_modules/sharp/dist/is.cjs | 149 + .../.output/node_modules/sharp/dist/is.mjs | 149 + .../node_modules/sharp/dist/libvips.cjs | 212 + .../node_modules/sharp/dist/libvips.mjs | 212 + .../node_modules/sharp/dist/operation.cjs | 1002 + .../node_modules/sharp/dist/operation.mjs | 1002 + .../node_modules/sharp/dist/output.cjs | 1786 + .../node_modules/sharp/dist/output.mjs | 1786 + .../node_modules/sharp/dist/resize.cjs | 617 + .../node_modules/sharp/dist/resize.mjs | 617 + .../.output/node_modules/sharp/dist/sharp.cjs | 174 + .../.output/node_modules/sharp/dist/sharp.mjs | 174 + .../node_modules/sharp/dist/utility.cjs | 301 + .../node_modules/sharp/dist/utility.mjs | 301 + .../node_modules/sharp/install/build.js | 38 + .../.output/node_modules/sharp/lib/index.d.ts | 1999 + .../sharp/node_modules/.bin/semver | 21 + .../sharp/node_modules/.bin/semver.CMD | 12 + .../sharp/node_modules/.bin/semver.ps1 | 41 + .../.output/node_modules/sharp/package.json | 227 + .../node_modules/sharp/src/binding.gyp | 303 + .../.output/node_modules/sharp/src/common.cc | 1186 + .../.output/node_modules/sharp/src/common.h | 421 + .../node_modules/sharp/src/metadata.cc | 404 + .../.output/node_modules/sharp/src/metadata.h | 95 + .../node_modules/sharp/src/operations.cc | 516 + .../node_modules/sharp/src/operations.h | 137 + .../node_modules/sharp/src/pipeline.cc | 1973 + .../.output/node_modules/sharp/src/pipeline.h | 422 + .../.output/node_modules/sharp/src/sharp.cc | 43 + .../.output/node_modules/sharp/src/stats.cc | 186 + .../.output/node_modules/sharp/src/stats.h | 62 + .../node_modules/sharp/src/utilities.cc | 289 + .../node_modules/sharp/src/utilities.h | 22 + apps/api/.output/package.json | 4 + apps/api/dist/migrate.js | 66 + apps/api/dist/migrate.js.map | 1 + apps/api/package.json | 5 +- apps/api/scripts/bundle.mjs | 112 + apps/api/src/migrate.ts | 91 + apps/web/.output/nitro.json | 2 +- .../.output/public/_nuxt/builds/latest.json | 2 +- .../6f749362-63df-4cf4-be35-3f4142f84c9f.json | 1 + .../a8b8f23e-57aa-4497-aa31-c772dbae9639.json | 1 - apps/web/.output/server/chunks/_/nitro.mjs | 126 +- .../node_modules/@babel/parser/lib/index.js | 14616 ++++ .../node_modules/@babel/parser/package.json | 50 + .../dist/compiler-core.cjs.prod.js | 6802 ++ .../@vue/compiler-core/package.json | 58 + .../dist/compiler-dom.cjs.prod.js | 729 + .../@vue/compiler-dom/package.json | 57 + .../compiler-ssr/dist/compiler-ssr.cjs.js | 1420 + .../@vue/compiler-ssr/package.json | 34 + .../@vue/devtools-api/dist/index-node.js | 13 + .../@vue/devtools-api/package.json | 38 + .../reactivity/dist/reactivity.cjs.prod.js | 1933 + .../node_modules/@vue/reactivity/package.json | 55 + .../dist/runtime-core.cjs.prod.js | 7085 ++ .../@vue/runtime-core/package.json | 52 + .../runtime-dom/dist/runtime-dom.cjs.prod.js | 1917 + .../@vue/runtime-dom/package.json | 60 + .../dist/server-renderer.cjs.prod.js | 951 + .../@vue/server-renderer/package.json | 53 + .../@vue/shared/dist/shared.cjs.prod.js | 655 + .../node_modules/@vue/shared/package.json | 47 + .../node_modules/@vueuse/core/dist/index.js | 8756 +++ .../node_modules/@vueuse/core/package.json | 56 + .../node_modules/@vueuse/shared/dist/index.js | 2021 + .../node_modules/@vueuse/shared/package.json | 45 + .../server/node_modules/devalue/package.json | 47 + .../server/node_modules/devalue/src/base64.js | 64 + .../node_modules/devalue/src/constants.js | 12 + .../server/node_modules/devalue/src/index.js | 8 + .../devalue/src/javascript-source.js | 98 + .../node_modules/devalue/src/operations.js | 220 + .../server/node_modules/devalue/src/parse.js | 312 + .../node_modules/devalue/src/stringify.js | 438 + .../server/node_modules/devalue/src/uneval.js | 622 + .../server/node_modules/devalue/src/utils.js | 260 + .../dist/commonjs/decode-codepoint.js | 77 + .../entities/dist/commonjs/decode.js | 568 + .../commonjs/generated/decode-data-html.js | 7 + .../commonjs/generated/decode-data-xml.js | 7 + .../dist/commonjs/internal/bin-trie-flags.js | 21 + .../dist/commonjs/internal/decode-shared.js | 31 + .../entities/dist/commonjs/package.json | 3 + .../server/node_modules/entities/package.json | 120 + .../estree-walker/dist/umd/estree-walker.js | 344 + .../node_modules/estree-walker/package.json | 37 + .../dist/es/animation/animate/index.mjs | 67 + .../es/animation/animate/resolve-subjects.mjs | 23 + .../dist/es/animation/animate/sequence.mjs | 36 + .../dist/es/animation/animate/subject.mjs | 62 + .../animators/waapi/animate-elements.mjs | 110 + .../animators/waapi/animate-style.mjs | 13 + .../dist/es/animation/sequence/create.mjs | 308 + .../sequence/utils/calc-repeat-duration.mjs | 6 + .../es/animation/sequence/utils/calc-time.mjs | 24 + .../dist/es/animation/sequence/utils/edit.mjs | 31 + .../sequence/utils/normalize-times.mjs | 18 + .../dist/es/animation/sequence/utils/sort.mjs | 15 + .../es/animation/utils/is-dom-keyframes.mjs | 6 + .../framer-motion/dist/es/dom.mjs | 10 + .../es/render/dom/scroll/attach-animation.mjs | 102 + .../dist/es/render/dom/scroll/index.mjs | 19 + .../dist/es/render/dom/scroll/info.mjs | 102 + .../es/render/dom/scroll/offsets/edge.mjs | 46 + .../es/render/dom/scroll/offsets/index.mjs | 46 + .../es/render/dom/scroll/offsets/inset.mjs | 48 + .../es/render/dom/scroll/offsets/offset.mjs | 36 + .../es/render/dom/scroll/offsets/presets.mjs | 9 + .../render/dom/scroll/on-scroll-handler.mjs | 58 + .../dist/es/render/dom/scroll/track.mjs | 117 + .../scroll/utils/can-use-native-timeline.mjs | 10 + .../render/dom/scroll/utils/get-timeline.mjs | 25 + .../dom/scroll/utils/offset-to-range.mjs | 41 + .../dist/es/render/dom/viewport/index.mjs | 44 + .../framer-motion/dist/es/utils/distance.mjs | 10 + .../node_modules/framer-motion/package.json | 152 + .../node_modules/hey-listen/dist/index.js | 18 + .../node_modules/hey-listen/package.json | 55 + .../node_modules/hookable/dist/index.mjs | 257 + .../server/node_modules/hookable/package.json | 54 + .../dist/cjs/lucide-vue-next.js | 21273 +++++ .../node_modules/lucide-vue-next/package.json | 64 + .../animation/AsyncMotionValueAnimation.mjs | 206 + .../dist/es/animation/FollowAnimation.mjs | 154 + .../dist/es/animation/GroupAnimation.mjs | 82 + .../es/animation/GroupAnimationWithThen.mjs | 10 + .../dist/es/animation/JSAnimation.mjs | 418 + .../dist/es/animation/NativeAnimation.mjs | 178 + .../es/animation/NativeAnimationExtended.mjs | 115 + .../es/animation/NativeAnimationWrapper.mjs | 22 + .../dist/es/animation/animate/effects.mjs | 113 + .../dist/es/animation/animate/element.mjs | 80 + .../es/animation/animate/single-value.mjs | 12 + .../dist/es/animation/drivers/frame.mjs | 19 + .../dist/es/animation/generators/inertia.mjs | 90 + .../es/animation/generators/keyframes.mjs | 74 + .../dist/es/animation/generators/spring.mjs | 399 + .../generators/utils/calc-duration.mjs | 19 + .../utils/create-generator-easing.mjs | 33 + .../generators/utils/is-generator.mjs | 6 + .../animation/generators/utils/velocity.mjs | 22 + .../es/animation/interfaces/motion-value.mjs | 106 + .../interfaces/visual-element-target.mjs | 109 + .../interfaces/visual-element-variant.mjs | 40 + .../animation/interfaces/visual-element.mjs | 18 + .../keyframes/DOMKeyframesResolver.mjs | 172 + .../animation/keyframes/KeyframesResolver.mjs | 179 + .../dist/es/animation/keyframes/get-final.mjs | 12 + .../animation/keyframes/offsets/default.mjs | 10 + .../es/animation/keyframes/offsets/fill.mjs | 13 + .../es/animation/keyframes/offsets/time.mjs | 6 + .../keyframes/utils/apply-px-defaults.mjs | 12 + .../keyframes/utils/fill-wildcards.mjs | 8 + .../es/animation/keyframes/utils/is-none.mjs | 16 + .../keyframes/utils/make-none-animatable.mjs | 37 + .../keyframes/utils/unit-conversion.mjs | 73 + .../es/animation/optimized-appear/data-id.mjs | 7 + .../optimized-appear/get-appear-id.mjs | 8 + .../dist/es/animation/utils/WithPromise.mjs | 34 + .../es/animation/utils/active-animations.mjs | 13 + .../dist/es/animation/utils/arc.mjs | 189 + .../es/animation/utils/calc-child-stagger.mjs | 16 + .../dist/es/animation/utils/can-animate.mjs | 46 + .../utils/css-variables-conversion.mjs | 42 + .../animation/utils/default-transitions.mjs | 41 + .../animation/utils/get-value-transition.mjs | 14 + .../dist/es/animation/utils/is-animatable.mjs | 31 + .../es/animation/utils/is-css-variable.mjs | 27 + .../animation/utils/is-transition-defined.mjs | 27 + .../utils/make-animation-instant.mjs | 7 + .../es/animation/utils/notify-inspector.mjs | 56 + .../utils/replace-transition-type.mjs | 19 + .../es/animation/utils/resolve-start-time.mjs | 17 + .../es/animation/utils/resolve-transition.mjs | 15 + .../animation/waapi/easing/cubic-bezier.mjs | 4 + .../animation/waapi/easing/is-supported.mjs | 15 + .../es/animation/waapi/easing/map-easing.mjs | 29 + .../es/animation/waapi/easing/supported.mjs | 16 + .../animation/waapi/start-waapi-animation.mjs | 29 + .../waapi/supports/partial-keyframes.mjs | 14 + .../es/animation/waapi/supports/waapi.mjs | 62 + .../waapi/transforms/TransformAnimation.mjs | 902 + .../es/animation/waapi/transforms/groups.mjs | 4 + .../waapi/utils/accelerated-values.mjs | 13 + .../animation/waapi/utils/apply-generator.mjs | 16 + .../waapi/utils/is-browser-color.mjs | 13 + .../dist/es/animation/waapi/utils/linear.mjs | 13 + .../es/animation/waapi/utils/px-values.mjs | 59 + .../waapi/utils/unsupported-easing.mjs | 19 + .../dist/es/effects/MotionValueState.mjs | 112 + .../motion-dom/dist/es/effects/attr/index.mjs | 48 + .../motion-dom/dist/es/effects/prop/index.mjs | 23 + .../dist/es/effects/style/index.mjs | 99 + .../dist/es/effects/style/transform.mjs | 46 + .../motion-dom/dist/es/effects/svg/index.mjs | 91 + .../es/effects/utils/create-dom-effect.mjs | 27 + .../dist/es/effects/utils/create-effect.mjs | 27 + .../dist/es/events/add-dom-event.mjs | 7 + .../motion-dom/dist/es/frameloop/batcher.mjs | 72 + .../dist/es/frameloop/frame-data.mjs | 12 + .../motion-dom/dist/es/frameloop/frame.mjs | 8 + .../dist/es/frameloop/index-legacy.mjs | 21 + .../dist/es/frameloop/microtask.mjs | 7 + .../motion-dom/dist/es/frameloop/order.mjs | 13 + .../dist/es/frameloop/render-step.mjs | 87 + .../dist/es/frameloop/sync-time.mjs | 32 + .../dist/es/gestures/drag/state/is-active.mjs | 10 + .../es/gestures/drag/state/set-active.mjs | 29 + .../motion-dom/dist/es/gestures/hover.mjs | 70 + .../dist/es/gestures/press/index.mjs | 97 + .../press/utils/is-keyboard-accessible.mjs | 34 + .../dist/es/gestures/press/utils/keyboard.mjs | 39 + .../dist/es/gestures/press/utils/state.mjs | 4 + .../es/gestures/utils/is-node-or-child.mjs | 21 + .../es/gestures/utils/is-primary-pointer.mjs | 19 + .../dist/es/gestures/utils/setup.mjs | 16 + .../node_modules/motion-dom/dist/es/index.mjs | 181 + .../dist/es/layout/LayoutAnimationBuilder.mjs | 363 + .../dist/es/layout/animate-layout.mjs | 19 + .../es/projection/animation/mix-values.mjs | 80 + .../es/projection/geometry/conversion.mjs | 34 + .../dist/es/projection/geometry/copy.mjs | 32 + .../es/projection/geometry/delta-apply.mjs | 125 + .../es/projection/geometry/delta-calc.mjs | 59 + .../es/projection/geometry/delta-remove.mjs | 55 + .../dist/es/projection/geometry/models.mjs | 18 + .../dist/es/projection/geometry/utils.mjs | 32 + .../node/DocumentProjectionNode.mjs | 14 + .../es/projection/node/HTMLProjectionNode.mjs | 28 + .../node/create-projection-node.mjs | 1773 + .../dist/es/projection/node/group.mjs | 25 + .../dist/es/projection/node/state.mjs | 20 + .../dist/es/projection/shared/stack.mjs | 85 + .../styles/default-scale-correctors.mjs | 18 + .../projection/styles/scale-border-radius.mjs | 42 + .../es/projection/styles/scale-box-shadow.mjs | 36 + .../es/projection/styles/scale-correction.mjs | 14 + .../dist/es/projection/styles/transform.mjs | 55 + .../es/projection/utils/compare-by-depth.mjs | 4 + .../dist/es/projection/utils/each-axis.mjs | 6 + .../dist/es/projection/utils/flat-tree.mjs | 25 + .../es/projection/utils/has-transform.mjs | 28 + .../dist/es/projection/utils/measure.mjs | 18 + .../motion-dom/dist/es/render/Feature.mjs | 15 + .../dist/es/render/VisualElement.mjs | 552 + .../dist/es/render/dom/DOMVisualElement.mjs | 43 + .../dist/es/render/dom/is-css-var.mjs | 4 + .../dist/es/render/dom/parse-transform.mjs | 86 + .../dist/es/render/dom/style-computed.mjs | 11 + .../dist/es/render/dom/style-set.mjs | 10 + .../es/render/dom/utils/camel-to-dash.mjs | 6 + .../dist/es/render/html/HTMLVisualElement.mjs | 55 + .../es/render/html/utils/build-styles.mjs | 66 + .../es/render/html/utils/build-transform.mjs | 72 + .../dist/es/render/html/utils/render.mjs | 18 + .../html/utils/scrape-motion-values.mjs | 22 + .../es/render/object/ObjectVisualElement.mjs | 42 + .../motion-dom/dist/es/render/store.mjs | 4 + .../dist/es/render/svg/SVGVisualElement.mjs | 70 + .../dist/es/render/svg/utils/build-attrs.mjs | 71 + .../es/render/svg/utils/camel-case-attrs.mjs | 31 + .../dist/es/render/svg/utils/is-svg-tag.mjs | 4 + .../dist/es/render/svg/utils/path.mjs | 32 + .../dist/es/render/svg/utils/render.mjs | 13 + .../render/svg/utils/scrape-motion-values.mjs | 25 + .../dist/es/render/utils/animation-state.mjs | 279 + .../es/render/utils/get-variant-context.mjs | 33 + .../es/render/utils/is-animation-controls.mjs | 8 + .../render/utils/is-controlling-variants.mjs | 20 + .../render/utils/is-forced-motion-value.mjs | 13 + .../es/render/utils/is-keyframes-target.mjs | 6 + .../dist/es/render/utils/is-variant-label.mjs | 9 + .../dist/es/render/utils/keys-position.mjs | 14 + .../dist/es/render/utils/keys-transform.mjs | 37 + .../dist/es/render/utils/motion-values.mjs | 56 + .../es/render/utils/reduced-motion/index.mjs | 20 + .../es/render/utils/reduced-motion/state.mjs | 6 + .../render/utils/resolve-dynamic-variants.mjs | 13 + .../dist/es/render/utils/resolve-variants.mjs | 26 + .../dist/es/render/utils/setters.mjs | 32 + .../dist/es/render/utils/shallow-compare.mjs | 15 + .../dist/es/render/utils/variant-props.mjs | 13 + .../dist/es/resize/handle-element.mjs | 64 + .../dist/es/resize/handle-window.mjs | 32 + .../motion-dom/dist/es/resize/index.mjs | 9 + .../motion-dom/dist/es/stats/buffer.mjs | 7 + .../motion-dom/dist/es/stats/index.mjs | 29 + .../dist/es/utils/border-radius.mjs | 15 + .../motion-dom/dist/es/utils/delay.mjs | 25 + .../motion-dom/dist/es/utils/interpolate.mjs | 75 + .../dist/es/utils/is-html-element.mjs | 14 + .../dist/es/utils/is-svg-element.mjs | 12 + .../dist/es/utils/is-svg-svg-element.mjs | 12 + .../motion-dom/dist/es/utils/mix/color.mjs | 49 + .../motion-dom/dist/es/utils/mix/complex.mjs | 93 + .../dist/es/utils/mix/immediate.mjs | 6 + .../motion-dom/dist/es/utils/mix/index.mjs | 43 + .../motion-dom/dist/es/utils/mix/number.mjs | 27 + .../dist/es/utils/mix/visibility.mjs | 17 + .../dist/es/utils/resolve-elements.mjs | 21 + .../motion-dom/dist/es/utils/stagger.mjs | 60 + .../dist/es/utils/supports/flags.mjs | 8 + .../dist/es/utils/supports/linear-easing.mjs | 16 + .../dist/es/utils/supports/memo.mjs | 10 + .../es/utils/supports/scroll-timeline.mjs | 7 + .../motion-dom/dist/es/utils/transform.mjs | 15 + .../motion-dom/dist/es/value/follow-value.mjs | 50 + .../motion-dom/dist/es/value/index.mjs | 380 + .../motion-dom/dist/es/value/map-value.mjs | 47 + .../motion-dom/dist/es/value/spring-value.mjs | 41 + .../dist/es/value/subscribe-value.mjs | 14 + .../dist/es/value/transform-value.mjs | 36 + .../motion-dom/dist/es/value/types/auto.mjs | 10 + .../dist/es/value/types/color/hex.mjs | 41 + .../es/value/types/color/hsla-to-rgba.mjs | 43 + .../dist/es/value/types/color/hsla.mjs | 23 + .../dist/es/value/types/color/index.mjs | 33 + .../dist/es/value/types/color/rgba.mjs | 26 + .../dist/es/value/types/color/utils.mjs | 30 + .../dist/es/value/types/complex/filter.mjs | 31 + .../dist/es/value/types/complex/index.mjs | 128 + .../dist/es/value/types/complex/mask.mjs | 13 + .../dist/es/value/types/dimensions.mjs | 16 + .../motion-dom/dist/es/value/types/int.mjs | 9 + .../dist/es/value/types/maps/defaults.mjs | 34 + .../dist/es/value/types/maps/number.mjs | 71 + .../dist/es/value/types/maps/transform.mjs | 38 + .../dist/es/value/types/numbers/index.mjs | 18 + .../dist/es/value/types/numbers/units.mjs | 19 + .../motion-dom/dist/es/value/types/test.mjs | 7 + .../es/value/types/utils/animatable-none.mjs | 18 + .../dist/es/value/types/utils/color-regex.mjs | 4 + .../dist/es/value/types/utils/find.mjs | 16 + .../dist/es/value/types/utils/float-regex.mjs | 4 + .../dist/es/value/types/utils/get-as-type.mjs | 11 + .../dist/es/value/types/utils/is-nullish.mjs | 6 + .../dist/es/value/types/utils/sanitize.mjs | 6 + .../value/types/utils/single-color-regex.mjs | 4 + .../dist/es/value/utils/as-number.mjs | 4 + .../motion-dom/dist/es/value/utils/follow.mjs | 111 + .../dist/es/value/utils/is-motion-value.mjs | 4 + .../es/value/utils/resolve-motion-value.mjs | 11 + .../es/value/will-change/add-will-change.mjs | 21 + .../dist/es/value/will-change/is.mjs | 8 + .../motion-dom/dist/es/view/index.mjs | 175 + .../motion-dom/dist/es/view/queue.mjs | 59 + .../motion-dom/dist/es/view/start.mjs | 700 + .../dist/es/view/utils/assign-names.mjs | 146 + .../dist/es/view/utils/choose-layer-type.mjs | 10 + .../motion-dom/dist/es/view/utils/css.mjs | 33 + .../dist/es/view/utils/get-layer-info.mjs | 11 + .../es/view/utils/get-view-animations.mjs | 11 + .../dist/es/view/utils/has-target.mjs | 6 + .../node_modules/motion-dom/package.json | 47 + .../motion-utils/dist/es/array.mjs | 22 + .../motion-utils/dist/es/clamp.mjs | 10 + .../dist/es/easing/anticipate.mjs | 10 + .../motion-utils/dist/es/easing/back.mjs | 10 + .../motion-utils/dist/es/easing/circ.mjs | 9 + .../dist/es/easing/cubic-bezier.mjs | 55 + .../motion-utils/dist/es/easing/ease.mjs | 8 + .../dist/es/easing/modifiers/mirror.mjs | 7 + .../dist/es/easing/modifiers/reverse.mjs | 7 + .../motion-utils/dist/es/easing/steps.mjs | 17 + .../easing/utils/get-easing-for-segment.mjs | 10 + .../es/easing/utils/is-bezier-definition.mjs | 5 + .../dist/es/easing/utils/is-easing-array.mjs | 7 + .../motion-utils/dist/es/easing/utils/map.mjs | 42 + .../motion-utils/dist/es/errors.mjs | 19 + .../dist/es/format-error-message.mjs | 8 + .../motion-utils/dist/es/global-config.mjs | 4 + .../motion-utils/dist/es/index.mjs | 29 + .../dist/es/is-numerical-string.mjs | 7 + .../motion-utils/dist/es/is-object.mjs | 4 + .../dist/es/is-zero-value-string.mjs | 7 + .../motion-utils/dist/es/memo.mjs | 12 + .../motion-utils/dist/es/noop.mjs | 5 + .../motion-utils/dist/es/pipe.mjs | 11 + .../motion-utils/dist/es/progress.mjs | 15 + .../dist/es/subscription-manager.mjs | 44 + .../motion-utils/dist/es/time-conversion.mjs | 13 + .../dist/es/velocity-per-second.mjs | 8 + .../motion-utils/dist/es/warn-once.mjs | 15 + .../motion-utils/dist/es/wrap.mjs | 7 + .../node_modules/motion-utils/package.json | 32 + .../es/animation/hooks/animation-controls.mjs | 68 + .../dist/es/animation/hooks/use-animate.mjs | 33 + .../hooks/use-animation-controls.mjs | 48 + .../es/animation/hooks/use-reduced-motion.mjs | 12 + .../dist/es/components/LayoutGroup.mjs | 5 + ...up.vue_vue_type_script_setup_true_lang.mjs | 24 + .../motion-v/dist/es/components/RowValue.mjs | 5 + ...ue.vue_vue_type_script_setup_true_lang.mjs | 20 + .../animate-presence/AnimatePresence.mjs | 5 + ...ce.vue_vue_type_script_setup_true_lang.mjs | 40 + .../animate-presence/exit-session.mjs | 103 + .../components/animate-presence/presence.mjs | 5 + .../use-presence-container.mjs | 74 + .../animate-presence/use-presence.mjs | 34 + .../components/animate-view/AnimateView.mjs | 5 + ...ew.vue_vue_type_script_setup_true_lang.mjs | 36 + .../animate-view/animate-view-layers.mjs | 92 + .../es/components/animate-view/context.mjs | 102 + .../components/animate-view/reset-styles.mjs | 20 + .../animate-view/start-transition.mjs | 187 + .../animate-view/use-animate-view.mjs | 132 + .../motion-v/dist/es/components/context.mjs | 6 + .../es/components/hooks/use-motion-elm.mjs | 23 + .../es/components/lazy-motion/context.mjs | 5 + .../dist/es/components/lazy-motion/index.mjs | 36 + .../components/motion-config/MotionConfig.mjs | 5 + ...ig.vue_vue_type_script_setup_true_lang.mjs | 41 + .../es/components/motion-config/context.mjs | 20 + .../dist/es/components/motion/index.mjs | 7 + .../motion-v/dist/es/components/motion/m.mjs | 6 + .../dist/es/components/motion/props.mjs | 148 + .../es/components/motion/use-motion-state.mjs | 115 + .../dist/es/components/motion/utils.mjs | 101 + .../dist/es/components/reorder/Group.mjs | 5 + ...up.vue_vue_type_script_setup_true_lang.mjs | 207 + .../dist/es/components/reorder/Item.mjs | 5 + ...em.vue_vue_type_script_setup_true_lang.mjs | 191 + .../es/components/reorder/auto-scroll.mjs | 93 + .../dist/es/components/reorder/context.mjs | 5 + .../dist/es/components/reorder/index.mjs | 11 + .../dist/es/components/reorder/utils.mjs | 92 + .../dist/es/components/use-force-update.mjs | 11 + .../dist/es/components/use-layout-group.mjs | 41 + .../node_modules/motion-v/dist/es/config.mjs | 18 + .../motion-v/dist/es/directive/index.mjs | 242 + .../dist/es/events/add-pointer-event.mjs | 8 + .../motion-v/dist/es/events/event-info.mjs | 13 + .../dist/es/features/animation/animation.mjs | 38 + .../dist/es/features/dom-animation.mjs | 21 + .../motion-v/dist/es/features/dom-max.mjs | 29 + .../motion-v/dist/es/features/exit/exit.mjs | 82 + .../motion-v/dist/es/features/feature.mjs | 14 + .../drag/VisualElementDragControls.mjs | 488 + .../dist/es/features/gestures/drag/index.mjs | 36 + .../gestures/drag/use-drag-controls.mjs | 113 + .../gestures/drag/utils/constraints.mjs | 99 + .../dist/es/features/gestures/focus/index.mjs | 45 + .../dist/es/features/gestures/hover/index.mjs | 44 + .../es/features/gestures/in-view/index.mjs | 51 + .../es/features/gestures/pan/PanSession.mjs | 221 + .../dist/es/features/gestures/pan/index.mjs | 57 + .../dist/es/features/gestures/press/index.mjs | 45 + .../dist/es/features/layout/config.mjs | 20 + .../dist/es/features/layout/layout.mjs | 78 + .../dist/es/features/layout/projection.mjs | 50 + .../dist/es/features/layout/utils.mjs | 7 + .../node_modules/motion-v/dist/es/index.mjs | 43 + .../dist/es/state/create-visual-element.mjs | 8 + .../motion-v/dist/es/state/motion-state.mjs | 150 + .../motion-v/dist/es/state/style.mjs | 46 + .../motion-v/dist/es/state/utils.mjs | 104 + .../motion-v/dist/es/utils/createContext.mjs | 35 + .../dist/es/utils/get-context-window.mjs | 6 + .../motion-v/dist/es/utils/is-hidden.mjs | 6 + .../motion-v/dist/es/utils/is.mjs | 4 + .../dist/es/utils/resolve-motion-props.mjs | 21 + .../dist/es/utils/use-animation-frame.mjs | 19 + .../motion-v/dist/es/utils/use-dom-ref.mjs | 17 + .../motion-v/dist/es/utils/use-in-view.mjs | 29 + .../dist/es/utils/use-page-in-view.mjs | 18 + .../motion-v/dist/es/value/scroll/offsets.mjs | 75 + .../dist/es/value/use-combine-values.mjs | 40 + .../motion-v/dist/es/value/use-computed.mjs | 24 + .../dist/es/value/use-motion-template.mjs | 42 + .../dist/es/value/use-motion-value-event.mjs | 17 + .../motion-v/dist/es/value/use-scroll.mjs | 64 + .../motion-v/dist/es/value/use-spring.mjs | 29 + .../motion-v/dist/es/value/use-time.mjs | 10 + .../motion-v/dist/es/value/use-transform.mjs | 67 + .../motion-v/dist/es/value/use-velocity.mjs | 31 + .../server/node_modules/motion-v/package.json | 71 + .../nostics/dist/formatters/ansi.mjs | 19 + .../node_modules/nostics/dist/index.mjs | 194 + .../server/node_modules/nostics/package.json | 126 + .../server/node_modules/pinia/dist/pinia.js | 1535 + .../server/node_modules/pinia/package.json | 82 + .../source-map-js/lib/array-set.js | 121 + .../source-map-js/lib/base64-vlq.js | 140 + .../node_modules/source-map-js/lib/base64.js | 67 + .../source-map-js/lib/binary-search.js | 111 + .../source-map-js/lib/mapping-list.js | 79 + .../source-map-js/lib/quick-sort.js | 141 + .../source-map-js/lib/source-map-consumer.js | 1236 + .../source-map-js/lib/source-map-generator.js | 446 + .../source-map-js/lib/source-node.js | 420 + .../node_modules/source-map-js/lib/util.js | 594 + .../node_modules/source-map-js/package.json | 71 + .../node_modules/source-map-js/source-map.js | 8 + .../server/node_modules/ufo/dist/index.mjs | 645 + .../server/node_modules/ufo/package.json | 48 + .../node_modules/unhead/dist/client.mjs | 22 + .../node_modules/unhead/dist/legacy.mjs | 33 + .../node_modules/unhead/dist/minify.mjs | 183 + .../node_modules/unhead/dist/parser.mjs | 518 + .../node_modules/unhead/dist/plugins.mjs | 782 + .../node_modules/unhead/dist/server.mjs | 99 + .../unhead/dist/shared/unhead.BEmVMkeA.mjs | 673 + .../unhead/dist/shared/unhead.Bf_fPVYA.mjs | 6 + .../unhead/dist/shared/unhead.Bm4Y6XQI.mjs | 17 + .../unhead/dist/shared/unhead.C5Bksi2B.mjs | 49 + .../unhead/dist/shared/unhead.CGPOfp5O.mjs | 32 + .../unhead/dist/shared/unhead.CHEy9ana.mjs | 7 + .../unhead/dist/shared/unhead.C_7zwq8E.mjs | 11 + .../unhead/dist/shared/unhead.CaeaMM5q.mjs | 19 + .../unhead/dist/shared/unhead.D7HkBzZn.mjs | 59 + .../unhead/dist/shared/unhead.D9VfQWNo.mjs | 240 + .../unhead/dist/shared/unhead.DD4N5B4k.mjs | 224 + .../unhead/dist/shared/unhead.DGl9jcjg.mjs | 196 + .../unhead/dist/shared/unhead.DJuZwX9c.mjs | 400 + .../unhead/dist/shared/unhead.DkxnqlHC.mjs | 264 + .../unhead/dist/shared/unhead.DspMpm6y.mjs | 48 + .../unhead/dist/shared/unhead.o8j9utSy.mjs | 208 + .../unhead/dist/stream/client.mjs | 33 + .../node_modules/unhead/dist/stream/iife.mjs | 2 + .../unhead/dist/stream/server.mjs | 446 + .../server/node_modules/unhead/dist/utils.mjs | 7 + .../server/node_modules/unhead/package.json | 179 + .../vue-bundle-renderer/dist/runtime.mjs | 687 + .../vue-bundle-renderer/package.json | 66 + .../vue-router/dist/devtools-CxgSYwGp.js | 1067 + .../vue-router/dist/useApi-CUWMwLLw.js | 483 + .../vue-router/dist/vue-router.js | 1575 + .../node_modules/vue-router/package.json | 211 + .../vue-router/vue-router.node.mjs | 2 + .../server/node_modules/vue/dist/vue.cjs.js | 80 + .../node_modules/vue/dist/vue.cjs.prod.js | 66 + .../.output/server/node_modules/vue/index.js | 7 + .../.output/server/node_modules/vue/index.mjs | 1 + .../server/node_modules/vue/package.json | 112 + .../vue/server-renderer/index.mjs | 1 + docker-compose.yml | 12 +- docker/api.Dockerfile | 45 +- pnpm-lock.yaml | 9 + pnpm-workspace.yaml | 7 + 692 files changed, 303601 insertions(+), 147 deletions(-) create mode 100644 apps/admin/.env.production rename apps/admin/dist/assets/{AdminLayout-BWEJTyVc.js => AdminLayout-j5VE2EZ9.js} (98%) rename apps/admin/dist/assets/{CategoriesPage-DDuDA84R.js => CategoriesPage-DSZGpYF5.js} (96%) rename apps/admin/dist/assets/{CategoryEditPage-DezgJrn9.js => CategoryEditPage-B4VYwreC.js} (96%) rename apps/admin/dist/assets/{DashboardPage-D3Dg5cDP.js => DashboardPage-Do-v_tLH.js} (98%) rename apps/admin/dist/assets/{FormField-D95xTO-F.js => FormField-CiVT7mqC.js} (88%) rename apps/admin/dist/assets/{IconSelect-n5KsEDDN.js => IconSelect-rJLPzIXV.js} (89%) rename apps/admin/dist/assets/{ListEditor-DF9sShFo.js => ListEditor-C8F91lSJ.js} (97%) rename apps/admin/dist/assets/{LoginPage-9ZnLIZG9.js => LoginPage-D6HPXv4g.js} (95%) rename apps/admin/dist/assets/{MediaPage-4vzZa5Eb.js => MediaPage-DnfskIVE.js} (96%) rename apps/admin/dist/assets/{MessagesPage-C1A1xjPE.js => MessagesPage-Bb_X9ABq.js} (97%) rename apps/admin/dist/assets/{PageHeader-vyrIuh7P.js => PageHeader-3Ryvg2HD.js} (85%) rename apps/admin/dist/assets/{ProductEditPage-B-Sknc6p.js => ProductEditPage-DTSEsrWG.js} (98%) rename apps/admin/dist/assets/{ProductsPage-BEwm5CwI.js => ProductsPage-CVHBMUNz.js} (99%) rename apps/admin/dist/assets/{ProfilePage-CKqPwLoF.js => ProfilePage-DxhVPJ4c.js} (93%) rename apps/admin/dist/assets/{SectionEditPage-BdDEZJqd.js => SectionEditPage-BfSd3Uov.js} (98%) rename apps/admin/dist/assets/{SectionsPage-D2mxIFwm.js => SectionsPage-Da2RoCd0.js} (91%) rename apps/admin/dist/assets/{UsersPage-D2QmqN50.js => UsersPage-C15bNN1T.js} (97%) rename apps/admin/dist/assets/{VuesaxIcon-CrbgSv-1.js => VuesaxIcon-B2OgulS6.js} (99%) create mode 100644 apps/admin/dist/assets/format-B9MYDQJN.js delete mode 100644 apps/admin/dist/assets/format-NkL3G1Uq.js rename apps/admin/dist/assets/{index-BCImsMjH.js => index-BuGK6ptM.js} (99%) create mode 100644 apps/api/.output/dist/chunks/chunk-6UPY3HEI.js create mode 100644 apps/api/.output/dist/chunks/chunk-A34KYKJP.js create mode 100644 apps/api/.output/dist/chunks/chunk-BX2ML7LW.js create mode 100644 apps/api/.output/dist/chunks/chunk-C4DYPKAN.js create mode 100644 apps/api/.output/dist/chunks/chunk-KIUJQ22G.js create mode 100644 apps/api/.output/dist/chunks/chunk-T6GW54FI.js create mode 100644 apps/api/.output/dist/chunks/chunk-TXBARIZB.js create mode 100644 apps/api/.output/dist/chunks/chunk-XSOBN2CI.js create mode 100644 apps/api/.output/dist/chunks/es5-NIUGVEY6.js create mode 100644 apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js create mode 100644 apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js create mode 100644 apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js create mode 100644 apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js create mode 100644 apps/api/.output/dist/chunks/source-SMPGMLTA.js create mode 100644 apps/api/.output/dist/main.js create mode 100644 apps/api/.output/dist/migrate.js create mode 100644 apps/api/.output/dist/seed/seed.js create mode 100644 apps/api/.output/node_modules/@img/colour/LICENSE.md create mode 100644 apps/api/.output/node_modules/@img/colour/README.md create mode 100644 apps/api/.output/node_modules/@img/colour/color.cjs create mode 100644 apps/api/.output/node_modules/@img/colour/index.cjs create mode 100644 apps/api/.output/node_modules/@img/colour/index.d.ts create mode 100644 apps/api/.output/node_modules/@img/colour/package.json create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json create mode 100644 apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json create mode 100644 apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE create mode 100644 apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md create mode 100644 apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs create mode 100644 apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node create mode 100644 apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json create mode 100644 apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md create mode 100644 apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node create mode 100644 apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/LICENSE create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/README.md create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/browser.js create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/index.d.ts create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/index.js create mode 100644 apps/api/.output/node_modules/@node-rs/argon2/package.json create mode 100644 apps/api/.output/node_modules/detect-libc/LICENSE create mode 100644 apps/api/.output/node_modules/detect-libc/README.md create mode 100644 apps/api/.output/node_modules/detect-libc/index.d.ts create mode 100644 apps/api/.output/node_modules/detect-libc/lib/detect-libc.js create mode 100644 apps/api/.output/node_modules/detect-libc/lib/elf.js create mode 100644 apps/api/.output/node_modules/detect-libc/lib/filesystem.js create mode 100644 apps/api/.output/node_modules/detect-libc/lib/process.js create mode 100644 apps/api/.output/node_modules/detect-libc/package.json create mode 100644 apps/api/.output/node_modules/semver/LICENSE create mode 100644 apps/api/.output/node_modules/semver/README.md create mode 100644 apps/api/.output/node_modules/semver/bin/semver.js create mode 100644 apps/api/.output/node_modules/semver/classes/comparator.js create mode 100644 apps/api/.output/node_modules/semver/classes/index.js create mode 100644 apps/api/.output/node_modules/semver/classes/range.js create mode 100644 apps/api/.output/node_modules/semver/classes/semver.js create mode 100644 apps/api/.output/node_modules/semver/functions/clean.js create mode 100644 apps/api/.output/node_modules/semver/functions/cmp.js create mode 100644 apps/api/.output/node_modules/semver/functions/coerce.js create mode 100644 apps/api/.output/node_modules/semver/functions/compare-build.js create mode 100644 apps/api/.output/node_modules/semver/functions/compare-loose.js create mode 100644 apps/api/.output/node_modules/semver/functions/compare.js create mode 100644 apps/api/.output/node_modules/semver/functions/diff.js create mode 100644 apps/api/.output/node_modules/semver/functions/eq.js create mode 100644 apps/api/.output/node_modules/semver/functions/gt.js create mode 100644 apps/api/.output/node_modules/semver/functions/gte.js create mode 100644 apps/api/.output/node_modules/semver/functions/inc.js create mode 100644 apps/api/.output/node_modules/semver/functions/lt.js create mode 100644 apps/api/.output/node_modules/semver/functions/lte.js create mode 100644 apps/api/.output/node_modules/semver/functions/major.js create mode 100644 apps/api/.output/node_modules/semver/functions/minor.js create mode 100644 apps/api/.output/node_modules/semver/functions/neq.js create mode 100644 apps/api/.output/node_modules/semver/functions/parse.js create mode 100644 apps/api/.output/node_modules/semver/functions/patch.js create mode 100644 apps/api/.output/node_modules/semver/functions/prerelease.js create mode 100644 apps/api/.output/node_modules/semver/functions/rcompare.js create mode 100644 apps/api/.output/node_modules/semver/functions/rsort.js create mode 100644 apps/api/.output/node_modules/semver/functions/satisfies.js create mode 100644 apps/api/.output/node_modules/semver/functions/sort.js create mode 100644 apps/api/.output/node_modules/semver/functions/truncate.js create mode 100644 apps/api/.output/node_modules/semver/functions/valid.js create mode 100644 apps/api/.output/node_modules/semver/index.js create mode 100644 apps/api/.output/node_modules/semver/internal/constants.js create mode 100644 apps/api/.output/node_modules/semver/internal/debug.js create mode 100644 apps/api/.output/node_modules/semver/internal/identifiers.js create mode 100644 apps/api/.output/node_modules/semver/internal/lrucache.js create mode 100644 apps/api/.output/node_modules/semver/internal/parse-options.js create mode 100644 apps/api/.output/node_modules/semver/internal/re.js create mode 100644 apps/api/.output/node_modules/semver/node_modules/.bin/semver create mode 100644 apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD create mode 100644 apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1 create mode 100644 apps/api/.output/node_modules/semver/package.json create mode 100644 apps/api/.output/node_modules/semver/preload.js create mode 100644 apps/api/.output/node_modules/semver/range.bnf create mode 100644 apps/api/.output/node_modules/semver/ranges/gtr.js create mode 100644 apps/api/.output/node_modules/semver/ranges/intersects.js create mode 100644 apps/api/.output/node_modules/semver/ranges/ltr.js create mode 100644 apps/api/.output/node_modules/semver/ranges/max-satisfying.js create mode 100644 apps/api/.output/node_modules/semver/ranges/min-satisfying.js create mode 100644 apps/api/.output/node_modules/semver/ranges/min-version.js create mode 100644 apps/api/.output/node_modules/semver/ranges/outside.js create mode 100644 apps/api/.output/node_modules/semver/ranges/simplify.js create mode 100644 apps/api/.output/node_modules/semver/ranges/subset.js create mode 100644 apps/api/.output/node_modules/semver/ranges/to-comparators.js create mode 100644 apps/api/.output/node_modules/semver/ranges/valid.js create mode 100644 apps/api/.output/node_modules/sharp/LICENSE create mode 100644 apps/api/.output/node_modules/sharp/README.md create mode 100644 apps/api/.output/node_modules/sharp/dist/channel.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/channel.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/colour.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/colour.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/composite.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/composite.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/constructor.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/constructor.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/index.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/index.d.cts create mode 100644 apps/api/.output/node_modules/sharp/dist/index.d.mts create mode 100644 apps/api/.output/node_modules/sharp/dist/index.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/input.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/input.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/is.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/is.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/libvips.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/libvips.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/operation.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/operation.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/output.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/output.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/resize.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/resize.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/sharp.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/sharp.mjs create mode 100644 apps/api/.output/node_modules/sharp/dist/utility.cjs create mode 100644 apps/api/.output/node_modules/sharp/dist/utility.mjs create mode 100644 apps/api/.output/node_modules/sharp/install/build.js create mode 100644 apps/api/.output/node_modules/sharp/lib/index.d.ts create mode 100644 apps/api/.output/node_modules/sharp/node_modules/.bin/semver create mode 100644 apps/api/.output/node_modules/sharp/node_modules/.bin/semver.CMD create mode 100644 apps/api/.output/node_modules/sharp/node_modules/.bin/semver.ps1 create mode 100644 apps/api/.output/node_modules/sharp/package.json create mode 100644 apps/api/.output/node_modules/sharp/src/binding.gyp create mode 100644 apps/api/.output/node_modules/sharp/src/common.cc create mode 100644 apps/api/.output/node_modules/sharp/src/common.h create mode 100644 apps/api/.output/node_modules/sharp/src/metadata.cc create mode 100644 apps/api/.output/node_modules/sharp/src/metadata.h create mode 100644 apps/api/.output/node_modules/sharp/src/operations.cc create mode 100644 apps/api/.output/node_modules/sharp/src/operations.h create mode 100644 apps/api/.output/node_modules/sharp/src/pipeline.cc create mode 100644 apps/api/.output/node_modules/sharp/src/pipeline.h create mode 100644 apps/api/.output/node_modules/sharp/src/sharp.cc create mode 100644 apps/api/.output/node_modules/sharp/src/stats.cc create mode 100644 apps/api/.output/node_modules/sharp/src/stats.h create mode 100644 apps/api/.output/node_modules/sharp/src/utilities.cc create mode 100644 apps/api/.output/node_modules/sharp/src/utilities.h create mode 100644 apps/api/.output/package.json create mode 100644 apps/api/dist/migrate.js create mode 100644 apps/api/dist/migrate.js.map create mode 100644 apps/api/scripts/bundle.mjs create mode 100644 apps/api/src/migrate.ts create mode 100644 apps/web/.output/public/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json delete mode 100644 apps/web/.output/public/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json create mode 100644 apps/web/.output/server/node_modules/@babel/parser/lib/index.js create mode 100644 apps/web/.output/server/node_modules/@babel/parser/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-core/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-dom/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js create mode 100644 apps/web/.output/server/node_modules/@vue/compiler-ssr/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/devtools-api/dist/index-node.js create mode 100644 apps/web/.output/server/node_modules/@vue/devtools-api/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/reactivity/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/runtime-core/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/runtime-dom/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/server-renderer/package.json create mode 100644 apps/web/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/@vue/shared/package.json create mode 100644 apps/web/.output/server/node_modules/@vueuse/core/dist/index.js create mode 100644 apps/web/.output/server/node_modules/@vueuse/core/package.json create mode 100644 apps/web/.output/server/node_modules/@vueuse/shared/dist/index.js create mode 100644 apps/web/.output/server/node_modules/@vueuse/shared/package.json create mode 100644 apps/web/.output/server/node_modules/devalue/package.json create mode 100644 apps/web/.output/server/node_modules/devalue/src/base64.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/constants.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/index.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/javascript-source.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/operations.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/parse.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/stringify.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/uneval.js create mode 100644 apps/web/.output/server/node_modules/devalue/src/utils.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/decode.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js create mode 100644 apps/web/.output/server/node_modules/entities/dist/commonjs/package.json create mode 100644 apps/web/.output/server/node_modules/entities/package.json create mode 100644 apps/web/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js create mode 100644 apps/web/.output/server/node_modules/estree-walker/package.json create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/index.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/subject.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/create.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/dom.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/can-use-native-timeline.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/offset-to-range.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/dist/es/utils/distance.mjs create mode 100644 apps/web/.output/server/node_modules/framer-motion/package.json create mode 100644 apps/web/.output/server/node_modules/hey-listen/dist/index.js create mode 100644 apps/web/.output/server/node_modules/hey-listen/package.json create mode 100644 apps/web/.output/server/node_modules/hookable/dist/index.mjs create mode 100644 apps/web/.output/server/node_modules/hookable/package.json create mode 100644 apps/web/.output/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js create mode 100644 apps/web/.output/server/node_modules/lucide-vue-next/package.json create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/FollowAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationWrapper.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/effects.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/spring.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/active-animations.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/arc.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/is-supported.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/partial-keyframes.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/px-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/MotionValueState.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/attr/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/prop/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/svg/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-dom-effect.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-effect.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/events/add-dom-event.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/batcher.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/index-legacy.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/microtask.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/order.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/render-step.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/hover.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/layout/LayoutAnimationBuilder.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/layout/animate-layout.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/models.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/group.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/shared/stack.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/measure.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/Feature.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/VisualElement.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-computed.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-set.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/render.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/object/ObjectVisualElement.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/store.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/setters.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-window.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/resize/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/stats/buffer.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/stats/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/border-radius.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/delay.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/interpolate.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-html-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/color.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/complex.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/number.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/stagger.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/flags.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/memo.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/utils/transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/follow-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/map-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/spring-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/subscribe-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/transform-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/auto.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hex.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/dimensions.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/int.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/number.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/test.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/find.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/as-number.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/follow.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/is.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/queue.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/start.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/assign-names.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/choose-layer-type.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/css.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-layer-info.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-view-animations.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/has-target.mjs create mode 100644 apps/web/.output/server/node_modules/motion-dom/package.json create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/array.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/clamp.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/anticipate.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/back.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/circ.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/ease.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/steps.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/map.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/errors.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/format-error-message.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/global-config.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/is-numerical-string.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/is-object.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/is-zero-value-string.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/memo.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/noop.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/pipe.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/progress.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/subscription-manager.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/time-conversion.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/velocity-per-second.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/warn-once.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/dist/es/wrap.mjs create mode 100644 apps/web/.output/server/node_modules/motion-utils/package.json create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/animation-controls.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animate.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animation-controls.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-reduced-motion.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/exit-session.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/presence.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence-container.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/animate-view-layers.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/reset-styles.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/start-transition.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/use-animate-view.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/hooks/use-motion-elm.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/m.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/props.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/use-motion-state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.vue_vue_type_script_setup_true_lang.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/auto-scroll.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/context.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/use-force-update.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/components/use-layout-group.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/config.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/directive/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/events/add-pointer-event.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/events/event-info.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/animation/animation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-animation.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-max.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/exit/exit.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/feature.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/VisualElementDragControls.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/use-drag-controls.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/utils/constraints.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/focus/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/hover/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/in-view/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/PanSession.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/press/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/config.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/layout.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/projection.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/index.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/state/create-visual-element.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/state/motion-state.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/state/style.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/state/utils.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/createContext.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/get-context-window.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/is-hidden.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/is.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/resolve-motion-props.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-animation-frame.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-dom-ref.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-in-view.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-page-in-view.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/scroll/offsets.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-combine-values.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-computed.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-template.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-value-event.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-scroll.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-spring.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-time.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-transform.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/dist/es/value/use-velocity.mjs create mode 100644 apps/web/.output/server/node_modules/motion-v/package.json create mode 100644 apps/web/.output/server/node_modules/nostics/dist/formatters/ansi.mjs create mode 100644 apps/web/.output/server/node_modules/nostics/dist/index.mjs create mode 100644 apps/web/.output/server/node_modules/nostics/package.json create mode 100644 apps/web/.output/server/node_modules/pinia/dist/pinia.js create mode 100644 apps/web/.output/server/node_modules/pinia/package.json create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/array-set.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/base64-vlq.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/base64.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/binary-search.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/mapping-list.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/quick-sort.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/source-map-consumer.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/source-map-generator.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/source-node.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/lib/util.js create mode 100644 apps/web/.output/server/node_modules/source-map-js/package.json create mode 100644 apps/web/.output/server/node_modules/source-map-js/source-map.js create mode 100644 apps/web/.output/server/node_modules/ufo/dist/index.mjs create mode 100644 apps/web/.output/server/node_modules/ufo/package.json create mode 100644 apps/web/.output/server/node_modules/unhead/dist/client.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/legacy.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/minify.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/parser.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/plugins.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/server.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/stream/client.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/stream/iife.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/stream/server.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/dist/utils.mjs create mode 100644 apps/web/.output/server/node_modules/unhead/package.json create mode 100644 apps/web/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs create mode 100644 apps/web/.output/server/node_modules/vue-bundle-renderer/package.json create mode 100644 apps/web/.output/server/node_modules/vue-router/dist/devtools-CxgSYwGp.js create mode 100644 apps/web/.output/server/node_modules/vue-router/dist/useApi-CUWMwLLw.js create mode 100644 apps/web/.output/server/node_modules/vue-router/dist/vue-router.js create mode 100644 apps/web/.output/server/node_modules/vue-router/package.json create mode 100644 apps/web/.output/server/node_modules/vue-router/vue-router.node.mjs create mode 100644 apps/web/.output/server/node_modules/vue/dist/vue.cjs.js create mode 100644 apps/web/.output/server/node_modules/vue/dist/vue.cjs.prod.js create mode 100644 apps/web/.output/server/node_modules/vue/index.js create mode 100644 apps/web/.output/server/node_modules/vue/index.mjs create mode 100644 apps/web/.output/server/node_modules/vue/package.json create mode 100644 apps/web/.output/server/node_modules/vue/server-renderer/index.mjs diff --git a/.dockerignore b/.dockerignore index d2b0a06..9328fdb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,6 @@ -**/node_modules +node_modules +apps/*/node_modules +packages/*/node_modules # **/dist # **/.output **/.nuxt diff --git a/.env.example b/.env.example index 9247c34..b7c0ff2 100644 --- a/.env.example +++ b/.env.example @@ -29,6 +29,3 @@ REVALIDATE_SECRET=change-me-too ADMIN_PHONE=09120000000 ADMIN_PASSWORD=change-me ADMIN_NAME=مدیر سایت - -# npm registry used while building the images (set a mirror if npmjs.org is slow or blocked) -NPM_REGISTRY=https://registry.npmjs.org/ diff --git a/.gitignore b/.gitignore index 0068758..20d12b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ -# dependencies -node_modules/ +# dependencies (build outputs keep theirs: apps/web/.output/server/node_modules, apps/api/.output/node_modules) +/node_modules/ +/apps/*/node_modules/ +/packages/*/node_modules/ # build output # dist/ diff --git a/README.md b/README.md index f3da3d0..bf25e84 100644 --- a/README.md +++ b/README.md @@ -126,21 +126,16 @@ docker compose exec api node dist/seed/seed.js # فقط بار اول ``` - کانتینر `gateway` روی پورت `HTTP_PORT` (پیش‌فرض 8080) گوش می‌دهد و هر دو دامنه (`SITE_DOMAIN` و `ADMIN_DOMAIN`) را سرو می‌کند. TLS را nginx یا Traefik روی سرور یا CDN جلوی آن تأمین می‌کند. هر دو دامنه باید به سرور اشاره کنند. -- سرویس یک‌باره‌ی `migrate` پیش از `api` اجرا می‌شود، migrationهای جدید را اعمال می‌کند و خارج می‌شود. Prisma CLI فقط در همین image هست و image اجرایی API سبک می‌ماند. +- سرویس یک‌باره‌ی `migrate` پیش از `api` اجرا می‌شود، migrationهای جدید را اعمال می‌کند و خارج می‌شود. این کار را `dist/migrate.js` انجام می‌دهد که هم‌ارز `prisma migrate deploy` است و از همان جدول `_prisma_migrations` استفاده می‌کند، پس Prisma CLI روی سرور لازم نیست. - نام پروژه‌ی Compose ثابت و برابر `imen` است، تا با `docker-compose.dev.yml` (PostgreSQL و MinIO توسعه) هیچ کانتینر یا volume مشترکی نداشته باشد. - سرویس `backup` هر روز یک dump از دیتابیس در `./backups` می‌سازد و dumpهای قدیمی‌تر از ۱۴ روز را پاک می‌کند. بازگردانی: `docker compose exec -T postgres pg_restore -U imen -d imen --clean < backups/imen-YYYY-MM-DD.dump` - از فایل‌های MinIO (volume `miniodata`) هم جداگانه بکاپ بگیرید. -**اگر سرور به رجیستری npm دسترسی ندارد**، دو راه هست: -1. در `.env` مقدار `NPM_REGISTRY` را روی یک mirror در دسترس بگذارید. -2. imageها را روی سیستم توسعه بسازید و به سرور منتقل کنید: - ```bash - docker compose build - docker save imen-api imen-migrate imen-web imen-admin | gzip > imen-images.tar.gz - # روی سرور: - gunzip -c imen-images.tar.gz | docker load && docker compose up -d - ``` +**روی سرور چیزی نصب یا build نمی‌شود.** imageها فقط خروجی آماده‌ای را که در ریپو commit شده کپی می‌کنند، پس سرور به رجیستری npm نیازی ندارد. قبل از هر push روی سیستم توسعه `pnpm build` بگیرید و خروجی‌ها را هم commit کنید: +- `apps/web/.output` (همراه `server/node_modules`)، `apps/admin/dist` و `apps/api/.output`. +- `apps/api/.output` را `apps/api/scripts/bundle.mjs` می‌سازد. کد API و همه‌ی وابستگی‌های JS در آن bundle می‌شوند و فقط پکیج‌های native (`sharp` و `@node-rs/argon2`) با باینری Linux (Alpine، x64) کنارش کپی می‌شوند. این باینری‌ها را `supportedArchitectures` در `pnpm-workspace.yaml` موقع `pnpm install` دانلود می‌کند. +- آدرس سایت در لینک‌های پنل ادمین موقع build از `apps/admin/.env.production` خوانده می‌شود. **Object Storage ابرآروان (یا هر S3 دیگر) به‌جای MinIO**: در سرویس `api`، مقادیر `S3_ENDPOINT`، `S3_BUCKET` و کلیدها را تنظیم کنید و `S3_ENSURE_BUCKET` را `false` بگذارید. `MEDIA_PUBLIC_URL` را روی آدرس عمومی باکت یا CDN بگذارید. بعد از آن به سرویس `minio` و مسیر `/media` در gateway نیازی نیست. diff --git a/apps/admin/.env.production b/apps/admin/.env.production new file mode 100644 index 0000000..24424d0 --- /dev/null +++ b/apps/admin/.env.production @@ -0,0 +1,2 @@ +# loaded by `vite build` (the pre-built dist/ the admin image serves); dev uses http://localhost:3000 +VITE_SITE_URL=https://imenpishgaman.ir diff --git a/apps/admin/dist/assets/AdminLayout-BWEJTyVc.js b/apps/admin/dist/assets/AdminLayout-j5VE2EZ9.js similarity index 98% rename from apps/admin/dist/assets/AdminLayout-BWEJTyVc.js rename to apps/admin/dist/assets/AdminLayout-j5VE2EZ9.js index 860e170..b3133ea 100644 --- a/apps/admin/dist/assets/AdminLayout-BWEJTyVc.js +++ b/apps/admin/dist/assets/AdminLayout-j5VE2EZ9.js @@ -1 +1 @@ -import{n as e,o as t,t as n}from"./VuesaxIcon-CrbgSv-1.js";import{At as ee,Bt as r,Ct as i,It as a,Lt as o,Mt as s,Nt as c,Rt as l,Tt as u,_t as d,a as f,dt as p,ft as m,gt as h,ht as g,kt as _,lt as v,n as y,o as b,pt as x,t as S,ut as C,vt as w}from"./index-BCImsMjH.js";import"./logo-BuUh917n.js";import{t as T}from"./format-NkL3G1Uq.js";var te={class:`admin-sider__nav`},ne={class:`flex flex-col h-full`},re={class:`p-4 bg-white border-b border-slate-200/80`},ie={class:`flex items-center justify-between mb-3`},ae={class:`size-10 rounded-full bg-linear-to-br from-[#ff5a00] to-[#ff8a3d] text-white flex items-center justify-center font-bold text-sm shadow-xs`},oe={class:`min-w-0 flex-1`},se={class:`text-xs font-bold text-slate-800 truncate`},ce={class:`flex items-center gap-2 mt-0.5`},le={class:`text-[10px] text-orange-600 font-medium`},ue={class:`text-[10px] text-slate-400 font-mono`,dir:`ltr`},de={class:`flex-1 overflow-y-auto p-4 space-y-4`},fe={class:`grid grid-cols-2 gap-2`},pe={class:`size-9 rounded-lg bg-orange-50 text-orange-600 flex items-center justify-center mb-1.5`},E={class:`size-9 rounded-lg bg-orange-50 text-orange-600 flex items-center justify-center mb-1.5`},D={class:`size-9 rounded-lg bg-blue-50 text-blue-600 flex items-center justify-center mb-1.5`},O={key:0,class:`absolute top-2 end-2 size-2.5 rounded-full bg-orange-600 ring-2 ring-white animate-pulse`},k={class:`size-9 rounded-lg bg-amber-50 text-amber-600 flex items-center justify-center mb-1.5`},A={class:`grid grid-cols-2 gap-2`},j={class:`size-9 rounded-lg bg-purple-50 text-purple-600 flex items-center justify-center mb-1.5`},M={class:`size-9 rounded-lg bg-emerald-50 text-emerald-600 flex items-center justify-center mb-1.5`},N={key:0},P={class:`grid grid-cols-1 gap-2`},F={class:`size-9 rounded-lg bg-slate-100 text-slate-600 flex items-center justify-center shrink-0`},I={class:`p-3 bg-white border-t border-slate-200/80 space-y-2`},L=[`href`],R={class:`flex items-center gap-2`},z={class:`mobile-app-bar lg:!hidden`},B={key:0,class:`flex items-center justify-between w-full`},me={class:`text-xs font-bold text-slate-700`},he={class:`text-xs font-bold text-slate-800 truncate max-w-[140px]`},ge={key:1,class:`flex items-center justify-between w-full`},_e={class:`flex items-center gap-2.5`},ve={class:`leading-none`},ye={class:`text-[10px] font-medium text-orange-600 mt-0.5`},be={class:`flex items-center gap-1.5`},xe=[`href`],Se={class:`admin-header__start`},V={class:`admin-header__crumb`},Ce={class:`admin-header__crumb-page`},we={class:`admin-header__end`},Te=[`href`],Ee={type:`button`,class:`admin-header__user`},De={class:`admin-header__avatar`},Oe={class:`admin-header__user-meta`},ke={class:`admin-header__user-name`},Ae={key:0,class:`admin-header__user-role`},je={class:`admin-page`},Me={key:0,class:`mobile-nav-bar lg:!hidden`},Ne={class:`mobile-nav-item__icon`},Pe={class:`mobile-nav-item__icon`},Fe={class:`mobile-nav-item__icon relative`},Ie={key:0,class:`absolute -top-1 -end-1 size-2 rounded-full bg-orange-600 ring-2 ring-white`},Le={class:`mobile-nav-item__icon`},H=e(d({__name:`AdminLayout`,setup(e){let d=S(),H=f(),U=b(),W=a(!1),G=a(0);async function K(){try{let e=await y(`/admin/messages`,{query:{status:`NEW`,pageSize:1}});G.value=e.total}catch{}}i(K),s(()=>H.fullPath,K);let q=e=>()=>w(`span`,{class:`admin-menu__icon`},[w(n,{name:e,size:20})]),Re=v(()=>[{key:`dashboard`,icon:q(`chart-square`),label:`داشبورد`},{key:`products`,icon:q(`bag-2`),label:`محصولات`},{key:`categories`,icon:q(`category`),label:`دسته‌بندی‌ها`},{key:`sections`,icon:q(`row-vertical`),label:`بخش‌های سایت`},{key:`messages`,icon:q(`sms`),label:`پیام‌های تماس`},{key:`media`,icon:q(`gallery`),label:`کتابخانه رسانه`},...d.isAdmin?[{key:`users`,icon:q(`profile-2user`),label:`کاربران`}]:[]]),ze={"product-new":`products`,"product-edit":`products`,"category-new":`categories`,"category-edit":`categories`,"section-edit":`sections`},Be={dashboard:`داشبورد`,products:`محصولات`,"product-new":`محصول جدید`,"product-edit":`ویرایش محصول`,categories:`دسته‌بندی‌ها`,"category-new":`دسته‌بندی جدید`,"category-edit":`ویرایش دسته‌بندی`,sections:`بخش‌های سایت`,"section-edit":`ویرایش بخش`,messages:`پیام‌های تماس`,media:`کتابخانه رسانه`,users:`کاربران`,profile:`حساب کاربری`},J=v(()=>{let e=String(H.name??``);return[ze[e]??e]}),Y=v(()=>Be[String(H.name??``)]??`پنل مدیریت`),X=v(()=>(d.user?.name?.trim().charAt(0)||`ک`).slice(0,1)),Z=v(()=>{let e=String(H.name??``);return[`product-new`,`product-edit`,`category-new`,`category-edit`,`section-edit`].includes(e)}),Q=v(()=>{let e=String(H.name??``);return e.startsWith(`product`)?{name:`products`,label:`محصولات`}:e.startsWith(`category`)?{name:`categories`,label:`دسته‌بندی‌ها`}:e.startsWith(`section`)?{name:`sections`,label:`بخش‌های سایت`}:{name:`dashboard`,label:`داشبورد`}}),Ve=({key:e})=>{W.value=!1,U.push({name:String(e)})},$=e=>{W.value=!1,U.push({name:e})};return s(()=>H.fullPath,()=>W.value=!1),(e,i)=>{let a=_(`a-menu`),s=_(`a-layout-sider`),f=_(`a-drawer`),v=_(`a-menu-item`),y=_(`a-menu-divider`),b=_(`a-dropdown`),S=_(`a-layout-header`),w=_(`RouterView`),K=_(`a-layout-content`),q=_(`a-layout`);return u(),p(q,{class:`admin-shell`},{default:c(()=>[h(s,{width:248,breakpoint:`lg`,"collapsed-width":`0`,trigger:null,class:`admin-sider !hidden lg:!block`},{default:c(()=>[i[20]||=C(`div`,{class:`admin-sider__brand`},[C(`span`,{class:`admin-sider__logo`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-7 object-contain`})]),C(`div`,{class:`leading-tight`},[C(`div`,{class:`text-[14px] font-bold text-[#0f172a]`},`ایمن پیشگامان`),C(`div`,{class:`text-[10px] font-medium tracking-wide text-[#94a3b8]`},`پنل مدیریت`)])],-1),C(`div`,te,[i[19]||=C(`div`,{class:`admin-sider__label`},`منوی اصلی`,-1),h(a,{class:`admin-menu`,mode:`inline`,"selected-keys":J.value,items:Re.value,onClick:Ve},null,8,[`selected-keys`,`items`])])]),_:1}),h(f,{open:W.value,"onUpdate:open":i[10]||=e=>W.value=e,placement:`right`,width:320,closable:!1,class:`mobile-hub-drawer`,"body-style":{padding:0,background:`#f8fafc`}},{default:c(()=>[C(`div`,ne,[C(`div`,re,[C(`div`,ie,[i[21]||=C(`div`,{class:`flex items-center gap-2.5`},[C(`span`,{class:`size-8 rounded-lg bg-orange-50 border border-orange-100 flex items-center justify-center`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-5 object-contain`})]),C(`div`,null,[C(`div`,{class:`text-sm font-bold text-slate-800`},`ایمن پیشگامان`),C(`div`,{class:`text-[10px] text-slate-400`},`اپلیکیشن مدیریت`)])],-1),C(`button`,{type:`button`,class:`size-8 rounded-full flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 transition`,onClick:i[0]||=e=>W.value=!1},[h(n,{name:`close-circle`,size:20})])]),C(`div`,{class:`flex items-center gap-3 p-2.5 rounded-xl bg-slate-50 border border-slate-100 cursor-pointer active:scale-[0.99] transition`,onClick:i[1]||=e=>$(`profile`)},[C(`span`,ae,r(X.value),1),C(`div`,oe,[C(`div`,se,r(o(d).user?.name),1),C(`div`,ce,[C(`span`,le,r(o(d).user&&o(t)[o(d).user.role]),1),C(`span`,ue,r(o(d).user?.phone),1)])]),h(n,{name:`arrow-left`,size:14,class:`text-slate-400`})])]),C(`div`,de,[C(`div`,null,[i[30]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`بخش‌ها و کاتالوگ`,-1),C(`div`,fe,[C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-orange-200 active:bg-orange-50/40 transition`,{"!border-orange-500 !bg-orange-50/30 font-bold text-orange-600":o(H).name===`dashboard`}]),onClick:i[2]||=e=>$(`dashboard`)},[C(`div`,pe,[h(n,{name:`chart-square`,size:18})]),i[22]||=C(`span`,{class:`text-xs text-slate-700`},`داشبورد`,-1),i[23]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`نمای کلی آمار`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-orange-200 active:bg-orange-50/40 transition`,{"!border-orange-500 !bg-orange-50/30 font-bold text-orange-600":J.value.includes(`products`)}]),onClick:i[3]||=e=>$(`products`)},[C(`div`,E,[h(n,{name:`bag-2`,size:18})]),i[24]||=C(`span`,{class:`text-xs text-slate-700`},`محصولات`,-1),i[25]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`کاتالوگ و موجودی`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-blue-200 active:bg-blue-50/40 transition`,{"!border-blue-500 !bg-blue-50/30 font-bold text-blue-600":J.value.includes(`categories`)}]),onClick:i[4]||=e=>$(`categories`)},[C(`div`,D,[h(n,{name:`category`,size:18})]),i[26]||=C(`span`,{class:`text-xs text-slate-700`},`دسته‌بندی‌ها`,-1),i[27]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`گروه‌های کالا`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-amber-200 active:bg-amber-50/40 transition relative`,{"!border-amber-500 !bg-amber-50/30 font-bold text-amber-600":o(H).name===`messages`}]),onClick:i[5]||=e=>$(`messages`)},[G.value>0?(u(),x(`span`,O)):m(``,!0),C(`div`,k,[h(n,{name:`sms`,size:18})]),i[28]||=C(`span`,{class:`text-xs text-slate-700`},`پیام‌های تماس`,-1),i[29]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`درخواست‌های مشاوره`,-1)],2)])]),C(`div`,null,[i[35]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`محتوا و وب‌سایت`,-1),C(`div`,A,[C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-purple-200 active:bg-purple-50/40 transition`,{"!border-purple-500 !bg-purple-50/30 font-bold text-purple-600":o(H).name===`media`}]),onClick:i[6]||=e=>$(`media`)},[C(`div`,j,[h(n,{name:`gallery`,size:18})]),i[31]||=C(`span`,{class:`text-xs text-slate-700`},`کتابخانه رسانه`,-1),i[32]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`تصاویر WebP`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-emerald-200 active:bg-emerald-50/40 transition`,{"!border-emerald-500 !bg-emerald-50/30 font-bold text-emerald-600":J.value.includes(`sections`)}]),onClick:i[7]||=e=>$(`sections`)},[C(`div`,M,[h(n,{name:`row-vertical`,size:18})]),i[33]||=C(`span`,{class:`text-xs text-slate-700`},`بخش‌های سایت`,-1),i[34]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`تنظیمات صفحه اصلی`,-1)],2)])]),o(d).isAdmin?(u(),x(`div`,N,[i[37]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`مدیریت سیستم`,-1),C(`div`,P,[C(`button`,{type:`button`,class:l([`flex items-center gap-3 p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-slate-300 active:bg-slate-50 transition text-right`,{"!border-orange-500 font-bold":o(H).name===`users`}]),onClick:i[8]||=e=>$(`users`)},[C(`div`,F,[h(n,{name:`profile-2user`,size:18})]),i[36]||=C(`div`,{class:`flex-1 min-w-0`},[C(`div`,{class:`text-xs font-bold text-slate-800`},`مدیریت کاربران پنل`),C(`div`,{class:`text-[10px] text-slate-400`},`حساب‌ها و سطح دسترسی‌ها`)],-1),h(n,{name:`arrow-left`,size:14,class:`text-slate-400`})],2)])])):m(``,!0)]),C(`div`,I,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`flex items-center justify-between p-2.5 rounded-lg text-slate-600 hover:bg-slate-50 text-xs font-semibold transition`},[C(`span`,R,[h(n,{name:`export`,size:16,class:`text-slate-400`}),i[38]||=g(` مشاهده وب‌سایت اصلی `,-1)]),h(n,{name:`arrow-left`,size:12,class:`text-slate-300`})],8,L),C(`button`,{type:`button`,class:`w-full flex items-center justify-center gap-2 p-2.5 rounded-lg text-rose-600 hover:bg-rose-50 text-xs font-semibold transition`,onClick:i[9]||=e=>o(d).logout()},[h(n,{name:`logout`,size:16}),i[39]||=g(` خروج از حساب کاربری `,-1)])])])]),_:1},8,[`open`]),h(q,null,{default:c(()=>[C(`header`,z,[Z.value?(u(),x(`div`,B,[C(`button`,{type:`button`,class:`mobile-app-bar__back-btn`,onClick:i[11]||=e=>o(U).push(Q.value)},[h(n,{name:`arrow-right`,size:20}),C(`span`,me,`بازگشت به `+r(Q.value.label),1)]),C(`div`,he,r(Y.value),1)])):(u(),x(`div`,ge,[C(`div`,_e,[i[41]||=C(`span`,{class:`size-8 rounded-lg bg-orange-50 border border-orange-100 flex items-center justify-center`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-5 object-contain`})],-1),C(`div`,ve,[i[40]||=C(`div`,{class:`text-xs font-extrabold text-slate-800`},`ایمن پیشگامان`,-1),C(`div`,ye,r(Y.value),1)])]),C(`div`,be,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`size-8 rounded-lg flex items-center justify-center text-slate-500 hover:text-orange-600 hover:bg-orange-50 transition`,title:`مشاهده سایت`},[h(n,{name:`export`,size:18})],8,xe),C(`button`,{type:`button`,class:`size-8 rounded-lg bg-linear-to-br from-[#ff5a00] to-[#ff8a3d] text-white flex items-center justify-center font-bold text-xs shadow-xs`,onClick:i[12]||=e=>o(U).push({name:`profile`})},r(X.value),1)])]))]),h(S,{class:`admin-header !hidden lg:!flex`},{default:c(()=>[C(`div`,Se,[C(`div`,V,[i[42]||=C(`span`,{class:`admin-header__crumb-kicker`},`پنل مدیریت`,-1),i[43]||=C(`span`,{class:`admin-header__crumb-sep`,"aria-hidden":`true`},`/`,-1),C(`span`,Ce,r(Y.value),1)])]),C(`div`,we,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`admin-header__site`},[h(n,{name:`export`,size:16}),i[44]||=C(`span`,null,`مشاهده سایت`,-1)],8,Te),i[47]||=C(`div`,{class:`admin-header__divider`,"aria-hidden":`true`},null,-1),h(b,{placement:`bottomLeft`,trigger:[`click`]},{overlay:c(()=>[h(a,{class:`admin-header__dropdown`},{default:c(()=>[h(v,{key:`profile`,onClick:i[13]||=e=>o(U).push({name:`profile`})},{default:c(()=>[h(n,{name:`user`,size:16}),i[45]||=g(` حساب کاربری `,-1)]),_:1}),h(y),h(v,{key:`logout`,danger:``,onClick:i[14]||=e=>o(d).logout()},{default:c(()=>[h(n,{name:`logout`,size:16}),i[46]||=g(` خروج `,-1)]),_:1})]),_:1})]),default:c(()=>[C(`button`,Ee,[C(`span`,De,r(X.value),1),C(`span`,Oe,[C(`span`,ke,r(o(d).user?.name),1),o(d).user?(u(),x(`span`,Ae,r(o(t)[o(d).user.role]),1)):m(``,!0)]),h(n,{name:`arrow-down`,size:12,class:`admin-header__chevron`})])]),_:1})])]),_:1}),h(K,{class:l([`admin-content`,{"admin-content--has-bottom-nav":!Z.value}])},{default:c(()=>[C(`div`,je,[h(w,null,{default:c(({Component:e,route:t})=>[(u(),p(ee(e),{key:t.path}))]),_:1})])]),_:1},8,[`class`]),Z.value?m(``,!0):(u(),x(`nav`,Me,[C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":o(H).name===`dashboard`}]),onClick:i[15]||=e=>$(`dashboard`)},[C(`div`,Ne,[h(n,{name:`chart-square`,size:20})]),i[48]||=C(`span`,{class:`mobile-nav-item__label`},`داشبورد`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":J.value.includes(`products`)}]),onClick:i[16]||=e=>$(`products`)},[C(`div`,Pe,[h(n,{name:`bag-2`,size:20})]),i[49]||=C(`span`,{class:`mobile-nav-item__label`},`محصولات`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":o(H).name===`messages`}]),onClick:i[17]||=e=>$(`messages`)},[C(`div`,Fe,[h(n,{name:`sms`,size:20}),G.value>0?(u(),x(`span`,Ie)):m(``,!0)]),i[50]||=C(`span`,{class:`mobile-nav-item__label`},`پیام‌ها`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":W.value||[`categories`,`sections`,`media`,`users`,`profile`].includes(String(o(H).name??``))}]),onClick:i[18]||=e=>W.value=!0},[C(`div`,Le,[h(n,{name:`category`,size:20})]),i[51]||=C(`span`,{class:`mobile-nav-item__label`},`ابزارها`,-1)],2)]))]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-4f03381b`]]);export{H as default}; \ No newline at end of file +import{n as e,o as t,t as n}from"./VuesaxIcon-B2OgulS6.js";import{At as ee,Bt as r,Ct as i,It as a,Lt as o,Mt as s,Nt as c,Rt as l,Tt as u,_t as d,a as f,dt as p,ft as m,gt as h,ht as g,kt as _,lt as v,n as y,o as b,pt as x,t as S,ut as C,vt as w}from"./index-BuGK6ptM.js";import"./logo-BuUh917n.js";import{t as T}from"./format-B9MYDQJN.js";var te={class:`admin-sider__nav`},ne={class:`flex flex-col h-full`},re={class:`p-4 bg-white border-b border-slate-200/80`},ie={class:`flex items-center justify-between mb-3`},ae={class:`size-10 rounded-full bg-linear-to-br from-[#ff5a00] to-[#ff8a3d] text-white flex items-center justify-center font-bold text-sm shadow-xs`},oe={class:`min-w-0 flex-1`},se={class:`text-xs font-bold text-slate-800 truncate`},ce={class:`flex items-center gap-2 mt-0.5`},le={class:`text-[10px] text-orange-600 font-medium`},ue={class:`text-[10px] text-slate-400 font-mono`,dir:`ltr`},de={class:`flex-1 overflow-y-auto p-4 space-y-4`},fe={class:`grid grid-cols-2 gap-2`},pe={class:`size-9 rounded-lg bg-orange-50 text-orange-600 flex items-center justify-center mb-1.5`},E={class:`size-9 rounded-lg bg-orange-50 text-orange-600 flex items-center justify-center mb-1.5`},D={class:`size-9 rounded-lg bg-blue-50 text-blue-600 flex items-center justify-center mb-1.5`},O={key:0,class:`absolute top-2 end-2 size-2.5 rounded-full bg-orange-600 ring-2 ring-white animate-pulse`},k={class:`size-9 rounded-lg bg-amber-50 text-amber-600 flex items-center justify-center mb-1.5`},A={class:`grid grid-cols-2 gap-2`},j={class:`size-9 rounded-lg bg-purple-50 text-purple-600 flex items-center justify-center mb-1.5`},M={class:`size-9 rounded-lg bg-emerald-50 text-emerald-600 flex items-center justify-center mb-1.5`},N={key:0},P={class:`grid grid-cols-1 gap-2`},F={class:`size-9 rounded-lg bg-slate-100 text-slate-600 flex items-center justify-center shrink-0`},I={class:`p-3 bg-white border-t border-slate-200/80 space-y-2`},L=[`href`],R={class:`flex items-center gap-2`},z={class:`mobile-app-bar lg:!hidden`},B={key:0,class:`flex items-center justify-between w-full`},me={class:`text-xs font-bold text-slate-700`},he={class:`text-xs font-bold text-slate-800 truncate max-w-[140px]`},ge={key:1,class:`flex items-center justify-between w-full`},_e={class:`flex items-center gap-2.5`},ve={class:`leading-none`},ye={class:`text-[10px] font-medium text-orange-600 mt-0.5`},be={class:`flex items-center gap-1.5`},xe=[`href`],Se={class:`admin-header__start`},V={class:`admin-header__crumb`},Ce={class:`admin-header__crumb-page`},we={class:`admin-header__end`},Te=[`href`],Ee={type:`button`,class:`admin-header__user`},De={class:`admin-header__avatar`},Oe={class:`admin-header__user-meta`},ke={class:`admin-header__user-name`},Ae={key:0,class:`admin-header__user-role`},je={class:`admin-page`},Me={key:0,class:`mobile-nav-bar lg:!hidden`},Ne={class:`mobile-nav-item__icon`},Pe={class:`mobile-nav-item__icon`},Fe={class:`mobile-nav-item__icon relative`},Ie={key:0,class:`absolute -top-1 -end-1 size-2 rounded-full bg-orange-600 ring-2 ring-white`},Le={class:`mobile-nav-item__icon`},H=e(d({__name:`AdminLayout`,setup(e){let d=S(),H=f(),U=b(),W=a(!1),G=a(0);async function K(){try{let e=await y(`/admin/messages`,{query:{status:`NEW`,pageSize:1}});G.value=e.total}catch{}}i(K),s(()=>H.fullPath,K);let q=e=>()=>w(`span`,{class:`admin-menu__icon`},[w(n,{name:e,size:20})]),Re=v(()=>[{key:`dashboard`,icon:q(`chart-square`),label:`داشبورد`},{key:`products`,icon:q(`bag-2`),label:`محصولات`},{key:`categories`,icon:q(`category`),label:`دسته‌بندی‌ها`},{key:`sections`,icon:q(`row-vertical`),label:`بخش‌های سایت`},{key:`messages`,icon:q(`sms`),label:`پیام‌های تماس`},{key:`media`,icon:q(`gallery`),label:`کتابخانه رسانه`},...d.isAdmin?[{key:`users`,icon:q(`profile-2user`),label:`کاربران`}]:[]]),ze={"product-new":`products`,"product-edit":`products`,"category-new":`categories`,"category-edit":`categories`,"section-edit":`sections`},Be={dashboard:`داشبورد`,products:`محصولات`,"product-new":`محصول جدید`,"product-edit":`ویرایش محصول`,categories:`دسته‌بندی‌ها`,"category-new":`دسته‌بندی جدید`,"category-edit":`ویرایش دسته‌بندی`,sections:`بخش‌های سایت`,"section-edit":`ویرایش بخش`,messages:`پیام‌های تماس`,media:`کتابخانه رسانه`,users:`کاربران`,profile:`حساب کاربری`},J=v(()=>{let e=String(H.name??``);return[ze[e]??e]}),Y=v(()=>Be[String(H.name??``)]??`پنل مدیریت`),X=v(()=>(d.user?.name?.trim().charAt(0)||`ک`).slice(0,1)),Z=v(()=>{let e=String(H.name??``);return[`product-new`,`product-edit`,`category-new`,`category-edit`,`section-edit`].includes(e)}),Q=v(()=>{let e=String(H.name??``);return e.startsWith(`product`)?{name:`products`,label:`محصولات`}:e.startsWith(`category`)?{name:`categories`,label:`دسته‌بندی‌ها`}:e.startsWith(`section`)?{name:`sections`,label:`بخش‌های سایت`}:{name:`dashboard`,label:`داشبورد`}}),Ve=({key:e})=>{W.value=!1,U.push({name:String(e)})},$=e=>{W.value=!1,U.push({name:e})};return s(()=>H.fullPath,()=>W.value=!1),(e,i)=>{let a=_(`a-menu`),s=_(`a-layout-sider`),f=_(`a-drawer`),v=_(`a-menu-item`),y=_(`a-menu-divider`),b=_(`a-dropdown`),S=_(`a-layout-header`),w=_(`RouterView`),K=_(`a-layout-content`),q=_(`a-layout`);return u(),p(q,{class:`admin-shell`},{default:c(()=>[h(s,{width:248,breakpoint:`lg`,"collapsed-width":`0`,trigger:null,class:`admin-sider !hidden lg:!block`},{default:c(()=>[i[20]||=C(`div`,{class:`admin-sider__brand`},[C(`span`,{class:`admin-sider__logo`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-7 object-contain`})]),C(`div`,{class:`leading-tight`},[C(`div`,{class:`text-[14px] font-bold text-[#0f172a]`},`ایمن پیشگامان`),C(`div`,{class:`text-[10px] font-medium tracking-wide text-[#94a3b8]`},`پنل مدیریت`)])],-1),C(`div`,te,[i[19]||=C(`div`,{class:`admin-sider__label`},`منوی اصلی`,-1),h(a,{class:`admin-menu`,mode:`inline`,"selected-keys":J.value,items:Re.value,onClick:Ve},null,8,[`selected-keys`,`items`])])]),_:1}),h(f,{open:W.value,"onUpdate:open":i[10]||=e=>W.value=e,placement:`right`,width:320,closable:!1,class:`mobile-hub-drawer`,"body-style":{padding:0,background:`#f8fafc`}},{default:c(()=>[C(`div`,ne,[C(`div`,re,[C(`div`,ie,[i[21]||=C(`div`,{class:`flex items-center gap-2.5`},[C(`span`,{class:`size-8 rounded-lg bg-orange-50 border border-orange-100 flex items-center justify-center`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-5 object-contain`})]),C(`div`,null,[C(`div`,{class:`text-sm font-bold text-slate-800`},`ایمن پیشگامان`),C(`div`,{class:`text-[10px] text-slate-400`},`اپلیکیشن مدیریت`)])],-1),C(`button`,{type:`button`,class:`size-8 rounded-full flex items-center justify-center text-slate-400 hover:text-slate-600 hover:bg-slate-100 transition`,onClick:i[0]||=e=>W.value=!1},[h(n,{name:`close-circle`,size:20})])]),C(`div`,{class:`flex items-center gap-3 p-2.5 rounded-xl bg-slate-50 border border-slate-100 cursor-pointer active:scale-[0.99] transition`,onClick:i[1]||=e=>$(`profile`)},[C(`span`,ae,r(X.value),1),C(`div`,oe,[C(`div`,se,r(o(d).user?.name),1),C(`div`,ce,[C(`span`,le,r(o(d).user&&o(t)[o(d).user.role]),1),C(`span`,ue,r(o(d).user?.phone),1)])]),h(n,{name:`arrow-left`,size:14,class:`text-slate-400`})])]),C(`div`,de,[C(`div`,null,[i[30]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`بخش‌ها و کاتالوگ`,-1),C(`div`,fe,[C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-orange-200 active:bg-orange-50/40 transition`,{"!border-orange-500 !bg-orange-50/30 font-bold text-orange-600":o(H).name===`dashboard`}]),onClick:i[2]||=e=>$(`dashboard`)},[C(`div`,pe,[h(n,{name:`chart-square`,size:18})]),i[22]||=C(`span`,{class:`text-xs text-slate-700`},`داشبورد`,-1),i[23]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`نمای کلی آمار`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-orange-200 active:bg-orange-50/40 transition`,{"!border-orange-500 !bg-orange-50/30 font-bold text-orange-600":J.value.includes(`products`)}]),onClick:i[3]||=e=>$(`products`)},[C(`div`,E,[h(n,{name:`bag-2`,size:18})]),i[24]||=C(`span`,{class:`text-xs text-slate-700`},`محصولات`,-1),i[25]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`کاتالوگ و موجودی`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-blue-200 active:bg-blue-50/40 transition`,{"!border-blue-500 !bg-blue-50/30 font-bold text-blue-600":J.value.includes(`categories`)}]),onClick:i[4]||=e=>$(`categories`)},[C(`div`,D,[h(n,{name:`category`,size:18})]),i[26]||=C(`span`,{class:`text-xs text-slate-700`},`دسته‌بندی‌ها`,-1),i[27]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`گروه‌های کالا`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-amber-200 active:bg-amber-50/40 transition relative`,{"!border-amber-500 !bg-amber-50/30 font-bold text-amber-600":o(H).name===`messages`}]),onClick:i[5]||=e=>$(`messages`)},[G.value>0?(u(),x(`span`,O)):m(``,!0),C(`div`,k,[h(n,{name:`sms`,size:18})]),i[28]||=C(`span`,{class:`text-xs text-slate-700`},`پیام‌های تماس`,-1),i[29]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`درخواست‌های مشاوره`,-1)],2)])]),C(`div`,null,[i[35]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`محتوا و وب‌سایت`,-1),C(`div`,A,[C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-purple-200 active:bg-purple-50/40 transition`,{"!border-purple-500 !bg-purple-50/30 font-bold text-purple-600":o(H).name===`media`}]),onClick:i[6]||=e=>$(`media`)},[C(`div`,j,[h(n,{name:`gallery`,size:18})]),i[31]||=C(`span`,{class:`text-xs text-slate-700`},`کتابخانه رسانه`,-1),i[32]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`تصاویر WebP`,-1)],2),C(`button`,{type:`button`,class:l([`flex flex-col items-center justify-center p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-emerald-200 active:bg-emerald-50/40 transition`,{"!border-emerald-500 !bg-emerald-50/30 font-bold text-emerald-600":J.value.includes(`sections`)}]),onClick:i[7]||=e=>$(`sections`)},[C(`div`,M,[h(n,{name:`row-vertical`,size:18})]),i[33]||=C(`span`,{class:`text-xs text-slate-700`},`بخش‌های سایت`,-1),i[34]||=C(`span`,{class:`text-[9px] text-slate-400 mt-0.5`},`تنظیمات صفحه اصلی`,-1)],2)])]),o(d).isAdmin?(u(),x(`div`,N,[i[37]||=C(`div`,{class:`text-[11px] font-bold text-slate-400 mb-2.5 px-1`},`مدیریت سیستم`,-1),C(`div`,P,[C(`button`,{type:`button`,class:l([`flex items-center gap-3 p-3 rounded-xl bg-white border border-slate-200/70 shadow-2xs hover:border-slate-300 active:bg-slate-50 transition text-right`,{"!border-orange-500 font-bold":o(H).name===`users`}]),onClick:i[8]||=e=>$(`users`)},[C(`div`,F,[h(n,{name:`profile-2user`,size:18})]),i[36]||=C(`div`,{class:`flex-1 min-w-0`},[C(`div`,{class:`text-xs font-bold text-slate-800`},`مدیریت کاربران پنل`),C(`div`,{class:`text-[10px] text-slate-400`},`حساب‌ها و سطح دسترسی‌ها`)],-1),h(n,{name:`arrow-left`,size:14,class:`text-slate-400`})],2)])])):m(``,!0)]),C(`div`,I,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`flex items-center justify-between p-2.5 rounded-lg text-slate-600 hover:bg-slate-50 text-xs font-semibold transition`},[C(`span`,R,[h(n,{name:`export`,size:16,class:`text-slate-400`}),i[38]||=g(` مشاهده وب‌سایت اصلی `,-1)]),h(n,{name:`arrow-left`,size:12,class:`text-slate-300`})],8,L),C(`button`,{type:`button`,class:`w-full flex items-center justify-center gap-2 p-2.5 rounded-lg text-rose-600 hover:bg-rose-50 text-xs font-semibold transition`,onClick:i[9]||=e=>o(d).logout()},[h(n,{name:`logout`,size:16}),i[39]||=g(` خروج از حساب کاربری `,-1)])])])]),_:1},8,[`open`]),h(q,null,{default:c(()=>[C(`header`,z,[Z.value?(u(),x(`div`,B,[C(`button`,{type:`button`,class:`mobile-app-bar__back-btn`,onClick:i[11]||=e=>o(U).push(Q.value)},[h(n,{name:`arrow-right`,size:20}),C(`span`,me,`بازگشت به `+r(Q.value.label),1)]),C(`div`,he,r(Y.value),1)])):(u(),x(`div`,ge,[C(`div`,_e,[i[41]||=C(`span`,{class:`size-8 rounded-lg bg-orange-50 border border-orange-100 flex items-center justify-center`},[C(`img`,{src:`/logo.png`,alt:``,class:`size-5 object-contain`})],-1),C(`div`,ve,[i[40]||=C(`div`,{class:`text-xs font-extrabold text-slate-800`},`ایمن پیشگامان`,-1),C(`div`,ye,r(Y.value),1)])]),C(`div`,be,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`size-8 rounded-lg flex items-center justify-center text-slate-500 hover:text-orange-600 hover:bg-orange-50 transition`,title:`مشاهده سایت`},[h(n,{name:`export`,size:18})],8,xe),C(`button`,{type:`button`,class:`size-8 rounded-lg bg-linear-to-br from-[#ff5a00] to-[#ff8a3d] text-white flex items-center justify-center font-bold text-xs shadow-xs`,onClick:i[12]||=e=>o(U).push({name:`profile`})},r(X.value),1)])]))]),h(S,{class:`admin-header !hidden lg:!flex`},{default:c(()=>[C(`div`,Se,[C(`div`,V,[i[42]||=C(`span`,{class:`admin-header__crumb-kicker`},`پنل مدیریت`,-1),i[43]||=C(`span`,{class:`admin-header__crumb-sep`,"aria-hidden":`true`},`/`,-1),C(`span`,Ce,r(Y.value),1)])]),C(`div`,we,[C(`a`,{href:o(T),target:`_blank`,rel:`noopener`,class:`admin-header__site`},[h(n,{name:`export`,size:16}),i[44]||=C(`span`,null,`مشاهده سایت`,-1)],8,Te),i[47]||=C(`div`,{class:`admin-header__divider`,"aria-hidden":`true`},null,-1),h(b,{placement:`bottomLeft`,trigger:[`click`]},{overlay:c(()=>[h(a,{class:`admin-header__dropdown`},{default:c(()=>[h(v,{key:`profile`,onClick:i[13]||=e=>o(U).push({name:`profile`})},{default:c(()=>[h(n,{name:`user`,size:16}),i[45]||=g(` حساب کاربری `,-1)]),_:1}),h(y),h(v,{key:`logout`,danger:``,onClick:i[14]||=e=>o(d).logout()},{default:c(()=>[h(n,{name:`logout`,size:16}),i[46]||=g(` خروج `,-1)]),_:1})]),_:1})]),default:c(()=>[C(`button`,Ee,[C(`span`,De,r(X.value),1),C(`span`,Oe,[C(`span`,ke,r(o(d).user?.name),1),o(d).user?(u(),x(`span`,Ae,r(o(t)[o(d).user.role]),1)):m(``,!0)]),h(n,{name:`arrow-down`,size:12,class:`admin-header__chevron`})])]),_:1})])]),_:1}),h(K,{class:l([`admin-content`,{"admin-content--has-bottom-nav":!Z.value}])},{default:c(()=>[C(`div`,je,[h(w,null,{default:c(({Component:e,route:t})=>[(u(),p(ee(e),{key:t.path}))]),_:1})])]),_:1},8,[`class`]),Z.value?m(``,!0):(u(),x(`nav`,Me,[C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":o(H).name===`dashboard`}]),onClick:i[15]||=e=>$(`dashboard`)},[C(`div`,Ne,[h(n,{name:`chart-square`,size:20})]),i[48]||=C(`span`,{class:`mobile-nav-item__label`},`داشبورد`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":J.value.includes(`products`)}]),onClick:i[16]||=e=>$(`products`)},[C(`div`,Pe,[h(n,{name:`bag-2`,size:20})]),i[49]||=C(`span`,{class:`mobile-nav-item__label`},`محصولات`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":o(H).name===`messages`}]),onClick:i[17]||=e=>$(`messages`)},[C(`div`,Fe,[h(n,{name:`sms`,size:20}),G.value>0?(u(),x(`span`,Ie)):m(``,!0)]),i[50]||=C(`span`,{class:`mobile-nav-item__label`},`پیام‌ها`,-1)],2),C(`button`,{type:`button`,class:l([`mobile-nav-item`,{"mobile-nav-item--active":W.value||[`categories`,`sections`,`media`,`users`,`profile`].includes(String(o(H).name??``))}]),onClick:i[18]||=e=>W.value=!0},[C(`div`,Le,[h(n,{name:`category`,size:20})]),i[51]||=C(`span`,{class:`mobile-nav-item__label`},`ابزارها`,-1)],2)]))]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-4f03381b`]]);export{H as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/CategoriesPage-DDuDA84R.js b/apps/admin/dist/assets/CategoriesPage-DSZGpYF5.js similarity index 96% rename from apps/admin/dist/assets/CategoriesPage-DDuDA84R.js rename to apps/admin/dist/assets/CategoriesPage-DSZGpYF5.js index ca23519..079b165 100644 --- a/apps/admin/dist/assets/CategoriesPage-DDuDA84R.js +++ b/apps/admin/dist/assets/CategoriesPage-DSZGpYF5.js @@ -1 +1 @@ -import{t as e}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as t,Ct as n,Dt as r,It as i,Lt as a,Nt as o,Tt as s,_t as c,ct as l,dt as u,ft as d,gt as f,ht as p,i as m,kt as h,n as g,ot as _,pt as v,t as y,ut as b}from"./index-BCImsMjH.js";import{r as x,t as S}from"./format-NkL3G1Uq.js";import{t as C}from"./PageHeader-vyrIuh7P.js";var w=[`src`],T={class:`text-xs text-gray-400`,dir:`ltr`},E=[`href`],D={class:`mobile-categories-view block lg:!hidden pb-24`},O={key:1,class:`space-y-3`},k={class:`flex items-start gap-3`},A=[`src`],j={key:1,class:`size-14 rounded-lg bg-slate-100 shrink-0 flex items-center justify-center text-slate-300`},M={class:`min-w-0 flex-1`},N={class:`flex items-start justify-between gap-2`},P={class:`text-[10px] font-mono text-slate-500 bg-slate-100 px-1.5 py-0.5 rounded shrink-0`,dir:`ltr`},F={class:`flex items-center gap-2 mt-1.5 text-xs`},I={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-3`},L={class:`flex items-center gap-1`},R=[`disabled`,`onClick`],z=[`disabled`,`onClick`],B={class:`flex items-center gap-1.5`},V={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`ویرایش`},H=[`href`],U={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`مشاهده در سایت`},W=[`disabled`,`title`],G=c({__name:`CategoriesPage`,setup(c){let G=y(),K=i([]),q=i(!1);async function J(){q.value=!0;try{K.value=await g(`/admin/categories`)}catch(e){_.error(m(e))}finally{q.value=!1}}async function Y(e,t){let n=[...K.value],[r]=n.splice(e,1);n.splice(e+t,0,r),K.value=n;try{await g(`/admin/categories/reorder`,{method:`POST`,body:{ids:n.map(e=>e.id)}})}catch(e){_.error(m(e)),await J()}}async function X(e){try{await g(`/admin/categories/${e.id}`,{method:`DELETE`}),_.success(`دسته حذف شد`),await J()}catch(e){_.error(m(e))}}let Z=[{title:`تصویر`,key:`cover`,width:80},{title:`نام`,key:`name`},{title:`کد`,dataIndex:`code`,width:100},{title:`محصولات`,key:`products`,width:100},{title:`وضعیت`,key:`status`,width:110},{title:`ترتیب`,key:`order`,width:100},{title:``,key:`actions`,width:170}];return n(J),(n,i)=>{let c=h(`a-button`),m=h(`RouterLink`),g=h(`a-tag`),_=h(`a-space`),y=h(`a-popconfirm`),J=h(`a-table`),Q=h(`a-card`),$=h(`a-empty`),ee=h(`a-spin`);return s(),v(l,null,[f(C,{title:`دسته‌بندی‌ها`,subtitle:`ترتیب دسته‌ها همان ترتیب نمایش در سایت است`},{default:o(()=>[f(m,{to:{name:`category-new`}},{default:o(()=>[f(c,{type:`primary`},{icon:o(()=>[f(e,{name:`add`,size:16})]),default:o(()=>[i[0]||=p(` دسته جدید `,-1)]),_:1})]),_:1})]),_:1}),f(Q,{class:`!hidden lg:!block`,"body-style":{padding:0}},{default:o(()=>[f(J,{columns:Z,"data-source":K.value,loading:q.value,"row-key":`id`,pagination:!1,scroll:{x:800}},{bodyCell:o(({column:n,record:r,index:i})=>[n.key===`cover`?(s(),v(l,{key:0},[r.coverImage?(s(),v(`img`,{key:0,src:r.coverImage.url,alt:``,class:`size-12 rounded object-cover`},null,8,w)):d(``,!0)],64)):n.key===`name`?(s(),v(l,{key:1},[f(m,{to:{name:`category-edit`,params:{id:r.id}},class:`font-bold`},{default:o(()=>[p(t(r.name),1)]),_:2},1032,[`to`]),b(`div`,T,t(r.slug),1)],64)):n.key===`products`?(s(),u(m,{key:2,to:{name:`products`,query:{categoryId:r.id}}},{default:o(()=>[p(t(a(x)(r.productCount)),1)]),_:2},1032,[`to`])):n.key===`status`?(s(),u(g,{key:3,color:r.isPublished?`green`:`default`},{default:o(()=>[p(t(r.isPublished?`منتشرشده`:`مخفی`),1)]),_:2},1032,[`color`])):n.key===`order`?(s(),u(_,{key:4,size:4},{default:o(()=>[f(c,{size:`small`,disabled:i===0,onClick:e=>Y(i,-1)},{icon:o(()=>[f(e,{name:`arrow-up`,size:16})]),_:1},8,[`disabled`,`onClick`]),f(c,{size:`small`,disabled:i===K.value.length-1,onClick:e=>Y(i,1)},{icon:o(()=>[f(e,{name:`arrow-down`,size:16})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)):n.key===`actions`?(s(),u(_,{key:5,size:4},{default:o(()=>[f(m,{to:{name:`category-edit`,params:{id:r.id}}},{default:o(()=>[f(c,{size:`small`},{icon:o(()=>[f(e,{name:`edit-2`,size:16})]),_:1})]),_:1},8,[`to`]),b(`a`,{href:`${a(S)}/categories/${r.slug}`,target:`_blank`,rel:`noopener`},[f(c,{size:`small`,title:`مشاهده در سایت`},{icon:o(()=>[f(e,{name:`export`,size:16})]),_:1})],8,E),a(G).isAdmin?(s(),u(y,{key:0,title:`این دسته حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>X(r)},{default:o(()=>[f(c,{size:`small`,danger:``,disabled:r.productCount>0,title:r.productCount>0?`ابتدا محصولات این دسته را حذف یا جابه‌جا کنید`:`حذف`},{icon:o(()=>[f(e,{name:`trash`,size:16})]),_:1},8,[`disabled`,`title`])]),_:2},1032,[`onConfirm`])):d(``,!0)]),_:2},1024)):d(``,!0)]),_:1},8,[`data-source`,`loading`])]),_:1}),b(`div`,D,[f(ee,{spinning:q.value},{default:o(()=>[!K.value.length&&!q.value?(s(),u($,{key:0,description:`دسته‌بندی ثبت نشده است`,class:`py-12`})):(s(),v(`div`,O,[(s(!0),v(l,null,r(K.value,(n,r)=>(s(),v(`div`,{key:n.id,class:`bg-white rounded-xl border border-slate-200/80 p-3.5 shadow-2xs transition`},[b(`div`,k,[n.coverImage?(s(),v(`img`,{key:0,src:n.coverImage.url,alt:``,class:`size-14 rounded-lg object-cover shrink-0 border border-slate-100 bg-slate-50`},null,8,A)):(s(),v(`div`,j,[f(e,{name:`category`,size:22})])),b(`div`,M,[b(`div`,N,[f(m,{to:{name:`category-edit`,params:{id:n.id}},class:`font-bold text-[14px] text-slate-800 hover:text-orange-600 line-clamp-1`},{default:o(()=>[p(t(n.name),1)]),_:2},1032,[`to`]),b(`span`,P,t(n.code),1)]),b(`div`,F,[f(m,{to:{name:`products`,query:{categoryId:n.id}},class:`inline-flex items-center gap-1 text-orange-600 font-bold bg-orange-50 px-2 py-0.5 rounded-full`},{default:o(()=>[p(t(a(x)(n.productCount))+` محصول `,1)]),_:2},1032,[`to`]),f(g,{color:n.isPublished?`green`:`default`,class:`!m-0 !text-[10px]`},{default:o(()=>[p(t(n.isPublished?`منتشرشده`:`مخفی`),1)]),_:2},1032,[`color`])])])]),b(`div`,I,[b(`div`,L,[i[1]||=b(`span`,{class:`text-[11px] text-slate-400 me-1`},`ترتیب:`,-1),b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===0,onClick:e=>Y(r,-1)},[f(e,{name:`arrow-up`,size:16})],8,R),b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===K.value.length-1,onClick:e=>Y(r,1)},[f(e,{name:`arrow-down`,size:16})],8,z)]),b(`div`,B,[f(m,{to:{name:`category-edit`,params:{id:n.id}}},{default:o(()=>[b(`button`,V,[f(e,{name:`edit-2`,size:16})])]),_:1},8,[`to`]),b(`a`,{href:`${a(S)}/categories/${n.slug}`,target:`_blank`,rel:`noopener`},[b(`button`,U,[f(e,{name:`export`,size:16})])],8,H),a(G).isAdmin?(s(),u(y,{key:0,title:`این دسته حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>X(n)},{default:o(()=>[b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 disabled:opacity-30 disabled:pointer-events-none active:bg-rose-200 transition`,disabled:n.productCount>0,title:n.productCount>0?`ابتدا محصولات این دسته را حذف کنید`:`حذف`},[f(e,{name:`trash`,size:16})],8,W)]),_:2},1032,[`onConfirm`])):d(``,!0)])])]))),128))]))]),_:1},8,[`spinning`]),f(m,{to:{name:`category-new`},class:`fixed start-4 bottom-[72px] z-30 flex items-center gap-2 px-4 py-2.5 rounded-full bg-linear-to-r from-[#ff5a00] to-[#ff7a29] text-white font-bold text-xs shadow-lg shadow-orange-500/30 active:scale-95 transition`},{default:o(()=>[f(e,{name:`add`,size:18}),i[2]||=b(`span`,null,`دسته جدید`,-1)]),_:1})])],64)}}});export{G as default}; \ No newline at end of file +import{t as e}from"./VuesaxIcon-B2OgulS6.js";import{Bt as t,Ct as n,Dt as r,It as i,Lt as a,Nt as o,Tt as s,_t as c,ct as l,dt as u,ft as d,gt as f,ht as p,i as m,kt as h,n as g,ot as _,pt as v,t as y,ut as b}from"./index-BuGK6ptM.js";import{r as x,t as S}from"./format-B9MYDQJN.js";import{t as C}from"./PageHeader-3Ryvg2HD.js";var w=[`src`],T={class:`text-xs text-gray-400`,dir:`ltr`},E=[`href`],D={class:`mobile-categories-view block lg:!hidden pb-24`},O={key:1,class:`space-y-3`},k={class:`flex items-start gap-3`},A=[`src`],j={key:1,class:`size-14 rounded-lg bg-slate-100 shrink-0 flex items-center justify-center text-slate-300`},M={class:`min-w-0 flex-1`},N={class:`flex items-start justify-between gap-2`},P={class:`text-[10px] font-mono text-slate-500 bg-slate-100 px-1.5 py-0.5 rounded shrink-0`,dir:`ltr`},F={class:`flex items-center gap-2 mt-1.5 text-xs`},I={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-3`},L={class:`flex items-center gap-1`},R=[`disabled`,`onClick`],z=[`disabled`,`onClick`],B={class:`flex items-center gap-1.5`},V={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`ویرایش`},H=[`href`],U={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`مشاهده در سایت`},W=[`disabled`,`title`],G=c({__name:`CategoriesPage`,setup(c){let G=y(),K=i([]),q=i(!1);async function J(){q.value=!0;try{K.value=await g(`/admin/categories`)}catch(e){_.error(m(e))}finally{q.value=!1}}async function Y(e,t){let n=[...K.value],[r]=n.splice(e,1);n.splice(e+t,0,r),K.value=n;try{await g(`/admin/categories/reorder`,{method:`POST`,body:{ids:n.map(e=>e.id)}})}catch(e){_.error(m(e)),await J()}}async function X(e){try{await g(`/admin/categories/${e.id}`,{method:`DELETE`}),_.success(`دسته حذف شد`),await J()}catch(e){_.error(m(e))}}let Z=[{title:`تصویر`,key:`cover`,width:80},{title:`نام`,key:`name`},{title:`کد`,dataIndex:`code`,width:100},{title:`محصولات`,key:`products`,width:100},{title:`وضعیت`,key:`status`,width:110},{title:`ترتیب`,key:`order`,width:100},{title:``,key:`actions`,width:170}];return n(J),(n,i)=>{let c=h(`a-button`),m=h(`RouterLink`),g=h(`a-tag`),_=h(`a-space`),y=h(`a-popconfirm`),J=h(`a-table`),Q=h(`a-card`),$=h(`a-empty`),ee=h(`a-spin`);return s(),v(l,null,[f(C,{title:`دسته‌بندی‌ها`,subtitle:`ترتیب دسته‌ها همان ترتیب نمایش در سایت است`},{default:o(()=>[f(m,{to:{name:`category-new`}},{default:o(()=>[f(c,{type:`primary`},{icon:o(()=>[f(e,{name:`add`,size:16})]),default:o(()=>[i[0]||=p(` دسته جدید `,-1)]),_:1})]),_:1})]),_:1}),f(Q,{class:`!hidden lg:!block`,"body-style":{padding:0}},{default:o(()=>[f(J,{columns:Z,"data-source":K.value,loading:q.value,"row-key":`id`,pagination:!1,scroll:{x:800}},{bodyCell:o(({column:n,record:r,index:i})=>[n.key===`cover`?(s(),v(l,{key:0},[r.coverImage?(s(),v(`img`,{key:0,src:r.coverImage.url,alt:``,class:`size-12 rounded object-cover`},null,8,w)):d(``,!0)],64)):n.key===`name`?(s(),v(l,{key:1},[f(m,{to:{name:`category-edit`,params:{id:r.id}},class:`font-bold`},{default:o(()=>[p(t(r.name),1)]),_:2},1032,[`to`]),b(`div`,T,t(r.slug),1)],64)):n.key===`products`?(s(),u(m,{key:2,to:{name:`products`,query:{categoryId:r.id}}},{default:o(()=>[p(t(a(x)(r.productCount)),1)]),_:2},1032,[`to`])):n.key===`status`?(s(),u(g,{key:3,color:r.isPublished?`green`:`default`},{default:o(()=>[p(t(r.isPublished?`منتشرشده`:`مخفی`),1)]),_:2},1032,[`color`])):n.key===`order`?(s(),u(_,{key:4,size:4},{default:o(()=>[f(c,{size:`small`,disabled:i===0,onClick:e=>Y(i,-1)},{icon:o(()=>[f(e,{name:`arrow-up`,size:16})]),_:1},8,[`disabled`,`onClick`]),f(c,{size:`small`,disabled:i===K.value.length-1,onClick:e=>Y(i,1)},{icon:o(()=>[f(e,{name:`arrow-down`,size:16})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)):n.key===`actions`?(s(),u(_,{key:5,size:4},{default:o(()=>[f(m,{to:{name:`category-edit`,params:{id:r.id}}},{default:o(()=>[f(c,{size:`small`},{icon:o(()=>[f(e,{name:`edit-2`,size:16})]),_:1})]),_:1},8,[`to`]),b(`a`,{href:`${a(S)}/categories/${r.slug}`,target:`_blank`,rel:`noopener`},[f(c,{size:`small`,title:`مشاهده در سایت`},{icon:o(()=>[f(e,{name:`export`,size:16})]),_:1})],8,E),a(G).isAdmin?(s(),u(y,{key:0,title:`این دسته حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>X(r)},{default:o(()=>[f(c,{size:`small`,danger:``,disabled:r.productCount>0,title:r.productCount>0?`ابتدا محصولات این دسته را حذف یا جابه‌جا کنید`:`حذف`},{icon:o(()=>[f(e,{name:`trash`,size:16})]),_:1},8,[`disabled`,`title`])]),_:2},1032,[`onConfirm`])):d(``,!0)]),_:2},1024)):d(``,!0)]),_:1},8,[`data-source`,`loading`])]),_:1}),b(`div`,D,[f(ee,{spinning:q.value},{default:o(()=>[!K.value.length&&!q.value?(s(),u($,{key:0,description:`دسته‌بندی ثبت نشده است`,class:`py-12`})):(s(),v(`div`,O,[(s(!0),v(l,null,r(K.value,(n,r)=>(s(),v(`div`,{key:n.id,class:`bg-white rounded-xl border border-slate-200/80 p-3.5 shadow-2xs transition`},[b(`div`,k,[n.coverImage?(s(),v(`img`,{key:0,src:n.coverImage.url,alt:``,class:`size-14 rounded-lg object-cover shrink-0 border border-slate-100 bg-slate-50`},null,8,A)):(s(),v(`div`,j,[f(e,{name:`category`,size:22})])),b(`div`,M,[b(`div`,N,[f(m,{to:{name:`category-edit`,params:{id:n.id}},class:`font-bold text-[14px] text-slate-800 hover:text-orange-600 line-clamp-1`},{default:o(()=>[p(t(n.name),1)]),_:2},1032,[`to`]),b(`span`,P,t(n.code),1)]),b(`div`,F,[f(m,{to:{name:`products`,query:{categoryId:n.id}},class:`inline-flex items-center gap-1 text-orange-600 font-bold bg-orange-50 px-2 py-0.5 rounded-full`},{default:o(()=>[p(t(a(x)(n.productCount))+` محصول `,1)]),_:2},1032,[`to`]),f(g,{color:n.isPublished?`green`:`default`,class:`!m-0 !text-[10px]`},{default:o(()=>[p(t(n.isPublished?`منتشرشده`:`مخفی`),1)]),_:2},1032,[`color`])])])]),b(`div`,I,[b(`div`,L,[i[1]||=b(`span`,{class:`text-[11px] text-slate-400 me-1`},`ترتیب:`,-1),b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===0,onClick:e=>Y(r,-1)},[f(e,{name:`arrow-up`,size:16})],8,R),b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===K.value.length-1,onClick:e=>Y(r,1)},[f(e,{name:`arrow-down`,size:16})],8,z)]),b(`div`,B,[f(m,{to:{name:`category-edit`,params:{id:n.id}}},{default:o(()=>[b(`button`,V,[f(e,{name:`edit-2`,size:16})])]),_:1},8,[`to`]),b(`a`,{href:`${a(S)}/categories/${n.slug}`,target:`_blank`,rel:`noopener`},[b(`button`,U,[f(e,{name:`export`,size:16})])],8,H),a(G).isAdmin?(s(),u(y,{key:0,title:`این دسته حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>X(n)},{default:o(()=>[b(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 disabled:opacity-30 disabled:pointer-events-none active:bg-rose-200 transition`,disabled:n.productCount>0,title:n.productCount>0?`ابتدا محصولات این دسته را حذف کنید`:`حذف`},[f(e,{name:`trash`,size:16})],8,W)]),_:2},1032,[`onConfirm`])):d(``,!0)])])]))),128))]))]),_:1},8,[`spinning`]),f(m,{to:{name:`category-new`},class:`fixed start-4 bottom-[72px] z-30 flex items-center gap-2 px-4 py-2.5 rounded-full bg-linear-to-r from-[#ff5a00] to-[#ff7a29] text-white font-bold text-xs shadow-lg shadow-orange-500/30 active:scale-95 transition`},{default:o(()=>[f(e,{name:`add`,size:18}),i[2]||=b(`span`,null,`دسته جدید`,-1)]),_:1})])],64)}}});export{G as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/CategoryEditPage-DezgJrn9.js b/apps/admin/dist/assets/CategoryEditPage-B4VYwreC.js similarity index 96% rename from apps/admin/dist/assets/CategoryEditPage-DezgJrn9.js rename to apps/admin/dist/assets/CategoryEditPage-B4VYwreC.js index a227fcb..27ef79c 100644 --- a/apps/admin/dist/assets/CategoryEditPage-DezgJrn9.js +++ b/apps/admin/dist/assets/CategoryEditPage-B4VYwreC.js @@ -1 +1 @@ -import{_ as e,t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Ct as r,It as i,Lt as a,Nt as o,Rt as s,Tt as c,_t as l,a as u,ct as d,ft as f,gt as p,ht as m,i as h,kt as g,lt as _,n as v,o as y,ot as b,pt as x,st as S,ut as C}from"./index-BCImsMjH.js";import{t as w}from"./PageHeader-vyrIuh7P.js";import{n as T,t as E}from"./FormField-D95xTO-F.js";import{t as D}from"./IconSelect-n5KsEDDN.js";import{n as ee,t as te}from"./ListEditor-DF9sShFo.js";import{t as ne}from"./slug-Flyc3fOh.js";var re={class:`lg:hidden mb-4 overflow-x-auto pb-1 scrollbar-none`},ie={class:`flex items-center gap-1.5 min-w-max bg-gray-100 p-1 rounded-xl`},O={class:`rounded-full bg-gray-200 px-1.5 py-0.2 text-[10px]`},k={class:`grid gap-6 xl:grid-cols-3`},A={class:`space-y-6 xl:col-span-2`},j={class:`grid gap-x-4 md:grid-cols-2`},M={class:`grid gap-x-4 md:grid-cols-2`},N={class:`space-y-6`},P={class:`ms-2`},F={class:`lg:hidden fixed bottom-0 inset-x-0 z-30 border-t border-gray-200 bg-white/95 px-4 py-2.5 backdrop-blur-md shadow-lg flex items-center justify-between gap-3`},I={class:`flex items-center gap-2`},L={class:`text-xs font-medium text-gray-700`},R={class:`flex items-center gap-2`},z=[`href`],B=l({__name:`CategoryEditPage`,setup(l){let B=u(),V=y(),H=_(()=>B.params.id?Number(B.params.id):null),{model:U,validate:W,handleError:G,reset:K}=T(e,{slug:``,code:``,name:``,nameEn:``,shortDesc:``,fullDesc:``,icon:``,coverImageId:null,isPublished:!0,seoTitle:``,seoDescription:``,groups:[]}),q=i(null),J=i({}),Y=i(!1),X=i(!1);async function Z(){if(H.value){Y.value=!0;try{let e=await v(`/admin/categories/${H.value}`);K({slug:e.slug,code:e.code,name:e.name,nameEn:e.nameEn,shortDesc:e.shortDesc,fullDesc:e.fullDesc,icon:e.icon,coverImageId:e.coverImageId,isPublished:e.isPublished,seoTitle:e.seoTitle,seoDescription:e.seoDescription,groups:e.groups.map(e=>({id:e.id,slug:e.slug,name:e.name,desc:e.desc}))}),q.value=e.coverImage,J.value=Object.fromEntries(e.groups.map(e=>[e.id,e.productCount]))}catch(e){b.error(h(e))}finally{Y.value=!1}}}function ae(e){q.value=e,U.value.coverImageId=e.id}async function Q(){let e=W();if(e){X.value=!0;try{let t=await v(H.value?`/admin/categories/${H.value}`:`/admin/categories`,{method:H.value?`PUT`:`POST`,body:e});b.success(`دسته ذخیره شد`),H.value||await V.replace({name:`category-edit`,params:{id:t.id}}),await Z()}catch(e){G(e)}finally{X.value=!1}}}let oe=()=>({slug:``,name:``,desc:``}),se=e=>{let t=e.id?J.value[e.id]:0;return t?`${e.name} (${t} محصول)`:e.name},$=i(`main`);return r(Z),(e,r)=>{let i=g(`a-button`),l=g(`a-input`),u=g(`a-textarea`),h=g(`a-card`),_=g(`a-switch`),v=g(`a-form`),y=g(`a-spin`);return c(),x(d,null,[p(w,{title:H.value?`ویرایش دسته: ${a(U).name}`:`دسته جدید`,back:`/categories`},{default:o(()=>[p(i,{type:`primary`,loading:X.value,onClick:Q},{icon:o(()=>[p(t,{name:`save-2`,size:16})]),default:o(()=>[r[18]||=m(` ذخیره `,-1)]),_:1},8,[`loading`])]),_:1},8,[`title`]),C(`div`,re,[C(`div`,ie,[C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`main`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[0]||=e=>$.value=`main`},` اطلاعات اصلی `,2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all flex items-center gap-1`,$.value===`groups`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[1]||=e=>$.value=`groups`},[r[19]||=C(`span`,null,`زیرگروه‌ها`,-1),C(`span`,O,n(a(U).groups.length),1)],2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`media`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[2]||=e=>$.value=`media`},` کاور و آیکون `,2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`seo`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[3]||=e=>$.value=`seo`},` سئو و انتشار `,2)])]),p(y,{spinning:Y.value},{default:o(()=>[p(v,{layout:`vertical`,class:`pb-20 lg:pb-0`,onSubmit:S(Q,[`prevent`])},{default:o(()=>[C(`div`,k,[C(`div`,A,[p(h,{title:`اطلاعات اصلی`,class:s($.value!==`main`&&`max-lg:hidden`)},{default:o(()=>[C(`div`,j,[p(E,{path:`name`,label:`نام دسته`,required:``},{default:o(()=>[p(l,{value:a(U).name,"onUpdate:value":r[4]||=e=>a(U).name=e},null,8,[`value`])]),_:1}),p(E,{path:`nameEn`,label:`نام انگلیسی`,hint:`زیر نام دسته نمایش داده می‌شود`},{default:o(()=>[p(l,{value:a(U).nameEn,"onUpdate:value":r[5]||=e=>a(U).nameEn=e,class:`ltr-input`},null,8,[`value`])]),_:1}),p(E,{path:`slug`,label:`اسلاگ (آدرس صفحه)`,hint:`آدرس: /categories/${a(U).slug||`...`}`,required:``},{default:o(()=>[p(l,{value:a(U).slug,"onUpdate:value":r[7]||=e=>a(U).slug=e,class:`ltr-input`},{suffix:o(()=>[C(`a`,{class:`text-xs`,onClick:r[6]||=e=>a(U).slug=a(ne)(a(U).nameEn)},`ساخت از نام انگلیسی`)]),_:1},8,[`value`])]),_:1},8,[`hint`]),p(E,{path:`code`,label:`کد دسته`,required:``},{default:o(()=>[p(l,{value:a(U).code,"onUpdate:value":r[8]||=e=>a(U).code=e,class:`ltr-input`,placeholder:`IP-C09`},null,8,[`value`])]),_:1}),p(E,{path:`shortDesc`,label:`توضیح کوتاه`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:a(U).shortDesc,"onUpdate:value":r[9]||=e=>a(U).shortDesc=e,"auto-size":{minRows:2,maxRows:4}},null,8,[`value`])]),_:1}),p(E,{path:`fullDesc`,label:`توضیح کامل (بالای صفحه دسته)`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:a(U).fullDesc,"onUpdate:value":r[10]||=e=>a(U).fullDesc=e,"auto-size":{minRows:3,maxRows:8}},null,8,[`value`])]),_:1})])]),_:1},8,[`class`]),p(h,{title:`زیرگروه‌ها`,"body-style":{background:`#fafafa`},class:s($.value!==`groups`&&`max-lg:hidden`)},{default:o(()=>[r[20]||=C(`p`,{class:`mb-4 text-sm text-gray-500`},` زیرگروه‌ها در صفحه دسته به‌صورت فیلتر نمایش داده می‌شوند. با حذف یک زیرگروه، محصولات آن بدون زیرگروه می‌مانند. `,-1),p(te,{modelValue:a(U).groups,"onUpdate:modelValue":r[11]||=e=>a(U).groups=e,create:oe,"add-label":`افزودن زیرگروه`,"item-title":se},{default:o(({item:e,index:t})=>[C(`div`,M,[p(E,{path:`groups.${t}.name`,label:`نام`,required:``},{default:o(()=>[p(l,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),p(E,{path:`groups.${t}.slug`,label:`اسلاگ`,required:``},{default:o(()=>[p(l,{value:e.slug,"onUpdate:value":t=>e.slug=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),p(E,{path:`groups.${t}.desc`,label:`توضیح`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:e.desc,"onUpdate:value":t=>e.desc=t,"auto-size":{minRows:1,maxRows:4}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`])]),_:1},8,[`class`])]),C(`div`,N,[p(h,{title:`انتشار`,class:s($.value!==`seo`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`isPublished`},{default:o(()=>[p(_,{checked:a(U).isPublished,"onUpdate:checked":r[12]||=e=>a(U).isPublished=e},null,8,[`checked`]),C(`span`,P,n(a(U).isPublished?`در سایت نمایش داده می‌شود`:`مخفی`),1)]),_:1})]),_:1},8,[`class`]),p(h,{title:`تصویر کاور`,class:s($.value!==`media`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`coverImageId`},{default:o(()=>[p(ee,{url:q.value?.url,clearable:``,onPick:ae,onClear:r[13]||=e=>{q.value=null,a(U).coverImageId=null}},null,8,[`url`])]),_:1})]),_:1},8,[`class`]),p(h,{title:`آیکون`,class:s($.value!==`media`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`icon`},{default:o(()=>[p(D,{modelValue:a(U).icon,"onUpdate:modelValue":r[14]||=e=>a(U).icon=e,"allow-clear":``},null,8,[`modelValue`])]),_:1})]),_:1},8,[`class`]),p(h,{title:`سئو`,class:s($.value!==`seo`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`seoTitle`,label:`عنوان صفحه`,hint:`خالی = نام دسته`},{default:o(()=>[p(l,{value:a(U).seoTitle,"onUpdate:value":r[15]||=e=>a(U).seoTitle=e,maxlength:120,"show-count":``},null,8,[`value`])]),_:1}),p(E,{path:`seoDescription`,label:`توضیحات متا`,hint:`خالی = توضیح کامل`},{default:o(()=>[p(u,{value:a(U).seoDescription,"onUpdate:value":r[16]||=e=>a(U).seoDescription=e,maxlength:300,"show-count":``,"auto-size":{minRows:3}},null,8,[`value`])]),_:1})]),_:1},8,[`class`])])])]),_:1})]),_:1},8,[`spinning`]),C(`div`,F,[C(`div`,I,[p(_,{checked:a(U).isPublished,"onUpdate:checked":r[17]||=e=>a(U).isPublished=e,size:`small`},null,8,[`checked`]),C(`span`,L,n(a(U).isPublished?`انتشار`:`پیش‌نویس`),1)]),C(`div`,R,[a(U).slug?(c(),x(`a`,{key:0,href:`/categories/${a(U).slug}`,target:`_blank`,rel:`noopener`},[p(i,{size:`middle`,class:`!px-3`,title:`مشاهده در سایت`},{icon:o(()=>[p(t,{name:`eye`,size:16})]),_:1})],8,z)):f(``,!0),p(i,{type:`primary`,size:`middle`,class:`!font-bold !px-5`,loading:X.value,onClick:Q},{icon:o(()=>[p(t,{name:`save-2`,size:16})]),default:o(()=>[r[21]||=m(` ذخیره تغییرات `,-1)]),_:1},8,[`loading`])])])],64)}}});export{B as default}; \ No newline at end of file +import{_ as e,t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Ct as r,It as i,Lt as a,Nt as o,Rt as s,Tt as c,_t as l,a as u,ct as d,ft as f,gt as p,ht as m,i as h,kt as g,lt as _,n as v,o as y,ot as b,pt as x,st as S,ut as C}from"./index-BuGK6ptM.js";import{t as w}from"./PageHeader-3Ryvg2HD.js";import{n as T,t as E}from"./FormField-CiVT7mqC.js";import{t as D}from"./IconSelect-rJLPzIXV.js";import{n as ee,t as te}from"./ListEditor-C8F91lSJ.js";import{t as ne}from"./slug-Flyc3fOh.js";var re={class:`lg:hidden mb-4 overflow-x-auto pb-1 scrollbar-none`},ie={class:`flex items-center gap-1.5 min-w-max bg-gray-100 p-1 rounded-xl`},O={class:`rounded-full bg-gray-200 px-1.5 py-0.2 text-[10px]`},k={class:`grid gap-6 xl:grid-cols-3`},A={class:`space-y-6 xl:col-span-2`},j={class:`grid gap-x-4 md:grid-cols-2`},M={class:`grid gap-x-4 md:grid-cols-2`},N={class:`space-y-6`},P={class:`ms-2`},F={class:`lg:hidden fixed bottom-0 inset-x-0 z-30 border-t border-gray-200 bg-white/95 px-4 py-2.5 backdrop-blur-md shadow-lg flex items-center justify-between gap-3`},I={class:`flex items-center gap-2`},L={class:`text-xs font-medium text-gray-700`},R={class:`flex items-center gap-2`},z=[`href`],B=l({__name:`CategoryEditPage`,setup(l){let B=u(),V=y(),H=_(()=>B.params.id?Number(B.params.id):null),{model:U,validate:W,handleError:G,reset:K}=T(e,{slug:``,code:``,name:``,nameEn:``,shortDesc:``,fullDesc:``,icon:``,coverImageId:null,isPublished:!0,seoTitle:``,seoDescription:``,groups:[]}),q=i(null),J=i({}),Y=i(!1),X=i(!1);async function Z(){if(H.value){Y.value=!0;try{let e=await v(`/admin/categories/${H.value}`);K({slug:e.slug,code:e.code,name:e.name,nameEn:e.nameEn,shortDesc:e.shortDesc,fullDesc:e.fullDesc,icon:e.icon,coverImageId:e.coverImageId,isPublished:e.isPublished,seoTitle:e.seoTitle,seoDescription:e.seoDescription,groups:e.groups.map(e=>({id:e.id,slug:e.slug,name:e.name,desc:e.desc}))}),q.value=e.coverImage,J.value=Object.fromEntries(e.groups.map(e=>[e.id,e.productCount]))}catch(e){b.error(h(e))}finally{Y.value=!1}}}function ae(e){q.value=e,U.value.coverImageId=e.id}async function Q(){let e=W();if(e){X.value=!0;try{let t=await v(H.value?`/admin/categories/${H.value}`:`/admin/categories`,{method:H.value?`PUT`:`POST`,body:e});b.success(`دسته ذخیره شد`),H.value||await V.replace({name:`category-edit`,params:{id:t.id}}),await Z()}catch(e){G(e)}finally{X.value=!1}}}let oe=()=>({slug:``,name:``,desc:``}),se=e=>{let t=e.id?J.value[e.id]:0;return t?`${e.name} (${t} محصول)`:e.name},$=i(`main`);return r(Z),(e,r)=>{let i=g(`a-button`),l=g(`a-input`),u=g(`a-textarea`),h=g(`a-card`),_=g(`a-switch`),v=g(`a-form`),y=g(`a-spin`);return c(),x(d,null,[p(w,{title:H.value?`ویرایش دسته: ${a(U).name}`:`دسته جدید`,back:`/categories`},{default:o(()=>[p(i,{type:`primary`,loading:X.value,onClick:Q},{icon:o(()=>[p(t,{name:`save-2`,size:16})]),default:o(()=>[r[18]||=m(` ذخیره `,-1)]),_:1},8,[`loading`])]),_:1},8,[`title`]),C(`div`,re,[C(`div`,ie,[C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`main`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[0]||=e=>$.value=`main`},` اطلاعات اصلی `,2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all flex items-center gap-1`,$.value===`groups`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[1]||=e=>$.value=`groups`},[r[19]||=C(`span`,null,`زیرگروه‌ها`,-1),C(`span`,O,n(a(U).groups.length),1)],2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`media`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[2]||=e=>$.value=`media`},` کاور و آیکون `,2),C(`button`,{type:`button`,class:s([`rounded-lg px-3 py-1.5 text-xs font-bold transition-all`,$.value===`seo`?`bg-white text-orange-600 shadow-sm`:`text-gray-600`]),onClick:r[3]||=e=>$.value=`seo`},` سئو و انتشار `,2)])]),p(y,{spinning:Y.value},{default:o(()=>[p(v,{layout:`vertical`,class:`pb-20 lg:pb-0`,onSubmit:S(Q,[`prevent`])},{default:o(()=>[C(`div`,k,[C(`div`,A,[p(h,{title:`اطلاعات اصلی`,class:s($.value!==`main`&&`max-lg:hidden`)},{default:o(()=>[C(`div`,j,[p(E,{path:`name`,label:`نام دسته`,required:``},{default:o(()=>[p(l,{value:a(U).name,"onUpdate:value":r[4]||=e=>a(U).name=e},null,8,[`value`])]),_:1}),p(E,{path:`nameEn`,label:`نام انگلیسی`,hint:`زیر نام دسته نمایش داده می‌شود`},{default:o(()=>[p(l,{value:a(U).nameEn,"onUpdate:value":r[5]||=e=>a(U).nameEn=e,class:`ltr-input`},null,8,[`value`])]),_:1}),p(E,{path:`slug`,label:`اسلاگ (آدرس صفحه)`,hint:`آدرس: /categories/${a(U).slug||`...`}`,required:``},{default:o(()=>[p(l,{value:a(U).slug,"onUpdate:value":r[7]||=e=>a(U).slug=e,class:`ltr-input`},{suffix:o(()=>[C(`a`,{class:`text-xs`,onClick:r[6]||=e=>a(U).slug=a(ne)(a(U).nameEn)},`ساخت از نام انگلیسی`)]),_:1},8,[`value`])]),_:1},8,[`hint`]),p(E,{path:`code`,label:`کد دسته`,required:``},{default:o(()=>[p(l,{value:a(U).code,"onUpdate:value":r[8]||=e=>a(U).code=e,class:`ltr-input`,placeholder:`IP-C09`},null,8,[`value`])]),_:1}),p(E,{path:`shortDesc`,label:`توضیح کوتاه`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:a(U).shortDesc,"onUpdate:value":r[9]||=e=>a(U).shortDesc=e,"auto-size":{minRows:2,maxRows:4}},null,8,[`value`])]),_:1}),p(E,{path:`fullDesc`,label:`توضیح کامل (بالای صفحه دسته)`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:a(U).fullDesc,"onUpdate:value":r[10]||=e=>a(U).fullDesc=e,"auto-size":{minRows:3,maxRows:8}},null,8,[`value`])]),_:1})])]),_:1},8,[`class`]),p(h,{title:`زیرگروه‌ها`,"body-style":{background:`#fafafa`},class:s($.value!==`groups`&&`max-lg:hidden`)},{default:o(()=>[r[20]||=C(`p`,{class:`mb-4 text-sm text-gray-500`},` زیرگروه‌ها در صفحه دسته به‌صورت فیلتر نمایش داده می‌شوند. با حذف یک زیرگروه، محصولات آن بدون زیرگروه می‌مانند. `,-1),p(te,{modelValue:a(U).groups,"onUpdate:modelValue":r[11]||=e=>a(U).groups=e,create:oe,"add-label":`افزودن زیرگروه`,"item-title":se},{default:o(({item:e,index:t})=>[C(`div`,M,[p(E,{path:`groups.${t}.name`,label:`نام`,required:``},{default:o(()=>[p(l,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),p(E,{path:`groups.${t}.slug`,label:`اسلاگ`,required:``},{default:o(()=>[p(l,{value:e.slug,"onUpdate:value":t=>e.slug=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),p(E,{path:`groups.${t}.desc`,label:`توضیح`,class:`md:col-span-2`},{default:o(()=>[p(u,{value:e.desc,"onUpdate:value":t=>e.desc=t,"auto-size":{minRows:1,maxRows:4}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`])]),_:1},8,[`class`])]),C(`div`,N,[p(h,{title:`انتشار`,class:s($.value!==`seo`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`isPublished`},{default:o(()=>[p(_,{checked:a(U).isPublished,"onUpdate:checked":r[12]||=e=>a(U).isPublished=e},null,8,[`checked`]),C(`span`,P,n(a(U).isPublished?`در سایت نمایش داده می‌شود`:`مخفی`),1)]),_:1})]),_:1},8,[`class`]),p(h,{title:`تصویر کاور`,class:s($.value!==`media`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`coverImageId`},{default:o(()=>[p(ee,{url:q.value?.url,clearable:``,onPick:ae,onClear:r[13]||=e=>{q.value=null,a(U).coverImageId=null}},null,8,[`url`])]),_:1})]),_:1},8,[`class`]),p(h,{title:`آیکون`,class:s($.value!==`media`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`icon`},{default:o(()=>[p(D,{modelValue:a(U).icon,"onUpdate:modelValue":r[14]||=e=>a(U).icon=e,"allow-clear":``},null,8,[`modelValue`])]),_:1})]),_:1},8,[`class`]),p(h,{title:`سئو`,class:s($.value!==`seo`&&`max-lg:hidden`)},{default:o(()=>[p(E,{path:`seoTitle`,label:`عنوان صفحه`,hint:`خالی = نام دسته`},{default:o(()=>[p(l,{value:a(U).seoTitle,"onUpdate:value":r[15]||=e=>a(U).seoTitle=e,maxlength:120,"show-count":``},null,8,[`value`])]),_:1}),p(E,{path:`seoDescription`,label:`توضیحات متا`,hint:`خالی = توضیح کامل`},{default:o(()=>[p(u,{value:a(U).seoDescription,"onUpdate:value":r[16]||=e=>a(U).seoDescription=e,maxlength:300,"show-count":``,"auto-size":{minRows:3}},null,8,[`value`])]),_:1})]),_:1},8,[`class`])])])]),_:1})]),_:1},8,[`spinning`]),C(`div`,F,[C(`div`,I,[p(_,{checked:a(U).isPublished,"onUpdate:checked":r[17]||=e=>a(U).isPublished=e,size:`small`},null,8,[`checked`]),C(`span`,L,n(a(U).isPublished?`انتشار`:`پیش‌نویس`),1)]),C(`div`,R,[a(U).slug?(c(),x(`a`,{key:0,href:`/categories/${a(U).slug}`,target:`_blank`,rel:`noopener`},[p(i,{size:`middle`,class:`!px-3`,title:`مشاهده در سایت`},{icon:o(()=>[p(t,{name:`eye`,size:16})]),_:1})],8,z)):f(``,!0),p(i,{type:`primary`,size:`middle`,class:`!font-bold !px-5`,loading:X.value,onClick:Q},{icon:o(()=>[p(t,{name:`save-2`,size:16})]),default:o(()=>[r[21]||=m(` ذخیره تغییرات `,-1)]),_:1},8,[`loading`])])])],64)}}});export{B as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/DashboardPage-D3Dg5cDP.js b/apps/admin/dist/assets/DashboardPage-Do-v_tLH.js similarity index 98% rename from apps/admin/dist/assets/DashboardPage-D3Dg5cDP.js rename to apps/admin/dist/assets/DashboardPage-Do-v_tLH.js index 6db8357..3831aec 100644 --- a/apps/admin/dist/assets/DashboardPage-D3Dg5cDP.js +++ b/apps/admin/dist/assets/DashboardPage-Do-v_tLH.js @@ -1 +1 @@ -import{i as e,t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Ct as ee,Dt as r,It as i,Lt as a,Nt as o,Rt as s,Tt as c,_t as l,ct as u,dt as d,ft as te,gt as f,ht as p,i as m,kt as h,lt as g,n as _,ot as v,pt as y,t as b,ut as x,zt as ne}from"./index-BCImsMjH.js";import{a as S,n as re,r as C}from"./format-NkL3G1Uq.js";import{t as w}from"./PageHeader-vyrIuh7P.js";var T={class:`flex items-center gap-2`},E={class:`grid grid-cols-2 gap-3 lg:gap-4 lg:grid-cols-5`},D={class:`flex items-center justify-between`},O={class:`flex size-10 items-center justify-center rounded-xl bg-orange-50 text-orange-600`},k={class:`mt-2 text-xs text-gray-400`},A={class:`flex items-center justify-between`},j={class:`flex size-10 items-center justify-center rounded-xl bg-amber-50 text-amber-600`},M={class:`flex items-center justify-between`},N={class:`flex size-10 items-center justify-center rounded-xl bg-blue-50 text-blue-600`},P={class:`flex items-center justify-between`},F={class:`mt-2 text-xs text-gray-400`},I={class:`flex items-center justify-between`},L={class:`flex size-10 items-center justify-center rounded-xl bg-purple-50 text-purple-600`},R={class:`mt-6 grid gap-6 lg:grid-cols-12`},z={class:`grid grid-cols-2 gap-3 sm:grid-cols-4`},B={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-orange-200 hover:bg-orange-50/50 hover:shadow-sm`},V={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-orange-600 shadow-sm`},H={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-blue-200 hover:bg-blue-50/50 hover:shadow-sm`},U={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-blue-600 shadow-sm`},W={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-emerald-200 hover:bg-emerald-50/50 hover:shadow-sm`},G={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-emerald-600 shadow-sm`},K={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-purple-200 hover:bg-purple-50/50 hover:shadow-sm`},q={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-purple-600 shadow-sm`},J={class:`flex items-center gap-4`},Y={class:`space-y-1.5 text-xs`},X={class:`font-bold text-gray-800`},ie={class:`text-gray-500`},ae={key:0,class:`text-emerald-600 font-medium`},oe={key:1,class:`text-amber-600 font-medium`},se={class:`mt-6 grid gap-6 lg:grid-cols-12`},ce={key:0,class:`py-8`},le={key:1,class:`space-y-3.5 pt-1`},ue={class:`flex items-center justify-between text-xs font-medium`},de={class:`text-gray-700`},fe={class:`font-mono text-gray-500`},pe={class:`grid grid-cols-3 gap-2 text-center`},me={class:`rounded-lg bg-orange-50 p-2.5`},he={class:`text-lg font-black text-orange-600`},ge={class:`rounded-lg bg-blue-50 p-2.5`},_e={class:`text-lg font-black text-blue-600`},ve={class:`rounded-lg bg-gray-50 p-2.5`},ye={class:`text-lg font-black text-gray-600`},be={class:`mt-5 border-t border-gray-100 pt-4`},xe={class:`flex h-28 items-end justify-between gap-1.5 sm:gap-2 pt-4`},Se={key:0,class:`text-[9px] font-bold text-orange-600 mb-0.5`},Ce={key:1,class:`text-[9px] text-transparent mb-0.5 select-none`},we={class:`relative flex w-full justify-center`},Te={class:`text-[10px] text-gray-400 truncate max-w-[36px]`},Ee={class:`mt-6 grid gap-6 lg:grid-cols-2`},De={class:`text-left text-xs text-gray-400`},Oe={class:`mt-1 font-mono text-[11px]`},ke={class:`text-sm`},Ae={key:0,class:`text-gray-600`},je={class:`mt-0.5 text-xs text-gray-400`},Z=l({__name:`DashboardPage`,setup(l){b();let Z=i(null),Q=i(!0),Me=g(()=>Z.value?.categoryStats?.length?Math.max(...Z.value.categoryStats.map(e=>e.count),1):1),Ne=g(()=>Z.value?.trend?.length?Math.max(...Z.value.trend.map(e=>e.messages),1):1),Pe=g(()=>Z.value?.sectionsSummary?.total?Math.round(Z.value.sectionsSummary.visible/Z.value.sectionsSummary.total*100):100);return ee(async()=>{Q.value=!0;try{Z.value=await _(`/admin/dashboard`)}catch(e){v.error(m(e))}finally{Q.value=!1}}),(ee,i)=>{let l=h(`a-button`),m=h(`RouterLink`),g=h(`a-statistic`),_=h(`a-card`),v=h(`a-progress`),b=h(`a-empty`),Fe=h(`a-tooltip`),Ie=h(`a-list-item-meta`),Le=h(`a-tag`),$=h(`a-list-item`),Re=h(`a-list`),ze=h(`a-timeline-item`),Be=h(`a-timeline`),Ve=h(`a-spin`);return c(),y(u,null,[f(w,{title:`داشبورد مدیریت`,subtitle:`نمای کلی آمار، نمودارها، پیام‌ها و فعالیت‌های اخیر سامانه`},{default:o(()=>[x(`div`,T,[f(m,{to:{name:`sections`}},{default:o(()=>[f(l,null,{icon:o(()=>[f(t,{name:`row-vertical`,size:16})]),default:o(()=>[i[0]||=p(` مدیریت بخش‌ها `,-1)]),_:1})]),_:1}),f(m,{to:{name:`product-new`}},{default:o(()=>[f(l,{type:`primary`},{icon:o(()=>[f(t,{name:`add`,size:16})]),default:o(()=>[i[1]||=p(` محصول جدید `,-1)]),_:1})]),_:1})])]),_:1}),f(Ve,{spinning:Q.value},{default:o(()=>[x(`div`,E,[f(m,{to:{name:`products`},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,D,[f(g,{title:`کل محصولات`,value:a(C)(Z.value?.products??0)},null,8,[`value`]),x(`div`,O,[f(t,{name:`bag-2`,size:20})])]),x(`div`,k,n(a(C)((Z.value?.products??0)-(Z.value?.draftProducts??0)))+` محصول فعال روی سایت `,1)]),_:1})]),_:1}),f(m,{to:{name:`products`,query:{status:`draft`}},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,A,[f(g,{title:`پیش‌نویس‌ها`,value:a(C)(Z.value?.draftProducts??0)},null,8,[`value`]),x(`div`,j,[f(t,{name:`document-text`,size:20})])]),i[2]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`نیاز به بازبینی و انتشار`,-1)]),_:1})]),_:1}),f(m,{to:{name:`categories`},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,M,[f(g,{title:`دسته‌بندی‌ها`,value:a(C)(Z.value?.categories??0)},null,8,[`value`]),x(`div`,N,[f(t,{name:`category`,size:20})])]),i[3]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`شاخه‌های تجهیزات ایمنی`,-1)]),_:1})]),_:1}),f(m,{to:{name:`messages`,query:{status:`NEW`}},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,P,[f(g,{title:`پیام‌های جدید`,value:a(C)(Z.value?.newMessages??0),"value-style":Z.value?.newMessages?{color:`#ff5a00`,fontWeight:`bold`}:void 0},null,8,[`value`,`value-style`]),x(`div`,{class:s([`flex size-10 items-center justify-center rounded-xl`,Z.value?.newMessages?`bg-orange-100 text-orange-600 animate-pulse`:`bg-gray-100 text-gray-500`])},[f(t,{name:`sms`,size:20})],2)]),x(`div`,F,` از مجموع `+n(a(C)(Z.value?.messageBreakdown?.total??0))+` پیام `,1)]),_:1})]),_:1}),f(m,{to:{name:`media`},class:`max-lg:col-span-2 active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,I,[f(g,{title:`رسانه‌ها و تصاویر`,value:a(C)(Z.value?.media??0)},null,8,[`value`]),x(`div`,L,[f(t,{name:`gallery`,size:20})])]),i[4]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`تصاویر بهینه‌شده WebP`,-1)]),_:1})]),_:1})]),x(`div`,R,[f(_,{title:`دسترسی‌های سریع`,class:`lg:col-span-8`},{default:o(()=>[x(`div`,z,[f(m,{to:{name:`product-new`},class:`block`},{default:o(()=>[x(`div`,B,[x(`div`,V,[f(t,{name:`add`,size:22})]),i[5]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`افزودن محصول`,-1),i[6]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`کالای ایمنی جدید`,-1)])]),_:1}),f(m,{to:{name:`category-new`},class:`block`},{default:o(()=>[x(`div`,H,[x(`div`,U,[f(t,{name:`folder-add`,size:22})]),i[7]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`دسته‌بندی جدید`,-1),i[8]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`گروه محصولات`,-1)])]),_:1}),f(m,{to:{name:`sections`},class:`block`},{default:o(()=>[x(`div`,W,[x(`div`,G,[f(t,{name:`row-vertical`,size:22})]),i[9]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`بخش‌های سایت`,-1),i[10]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`نمایش یا مخفی‌سازی`,-1)])]),_:1}),f(m,{to:{name:`media`},class:`block`},{default:o(()=>[x(`div`,K,[x(`div`,q,[f(t,{name:`gallery-add`,size:22})]),i[11]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`آپلود رسانه`,-1),i[12]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`تصاویر و اسناد`,-1)])]),_:1})])]),_:1}),f(_,{title:`وضعیت بخش‌های صفحه اصلی`,class:`lg:col-span-4`},{extra:o(()=>[f(m,{to:{name:`sections`},class:`text-xs text-orange-600 hover:underline`},{default:o(()=>[...i[13]||=[p(` مدیریت `,-1)]]),_:1})]),default:o(()=>[x(`div`,J,[f(v,{type:`circle`,percent:Pe.value,size:72,"stroke-color":{"0%":`#ff8a3d`,"100%":`#ff5a00`}},null,8,[`percent`]),x(`div`,Y,[x(`div`,X,n(a(C)(Z.value?.sectionsSummary?.visible??0))+` بخش از `+n(a(C)(Z.value?.sectionsSummary?.total??12))+` فعال `,1),x(`div`,ie,[(Z.value?.sectionsSummary?.hidden??0)===0?(c(),y(`span`,ae,` تمامی بخش‌های سایت در حال نمایش هستند `)):(c(),y(`span`,oe,n(a(C)(Z.value?.sectionsSummary?.hidden??0))+` بخش غیرفعال / مخفی `,1))]),i[14]||=x(`div`,{class:`text-[11px] text-gray-400`},` تغییر وضعیت آنی از منوی بخش‌های سایت `,-1)])])]),_:1})]),x(`div`,se,[f(_,{title:`نمودار توزیع محصولات بر اساس دسته‌بندی`,class:`lg:col-span-7`},{default:o(()=>[Z.value?.categoryStats?.length?(c(),y(`div`,le,[(c(!0),y(u,null,r(Z.value.categoryStats,e=>(c(),y(`div`,{key:e.id,class:`space-y-1`},[x(`div`,ue,[x(`span`,de,n(e.name),1),x(`span`,fe,n(a(C)(e.count))+` محصول`,1)]),f(v,{percent:Math.round(e.count/Me.value*100),"show-info":!1,"stroke-color":{"0%":`#ffd0b5`,"100%":`#ff5a00`},size:`small`},null,8,[`percent`])]))),128))])):(c(),y(`div`,ce,[f(b,{description:`داده‌ای موجود نیست`})]))]),_:1}),f(_,{title:`تحلیل پیام‌های تماس دریافتی`,class:`lg:col-span-5`},{default:o(()=>[x(`div`,pe,[x(`div`,me,[x(`div`,he,n(a(C)(Z.value?.messageBreakdown?.new??0)),1),i[15]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`جدید`,-1)]),x(`div`,ge,[x(`div`,_e,n(a(C)(Z.value?.messageBreakdown?.read??0)),1),i[16]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`خوانده‌شده`,-1)]),x(`div`,ve,[x(`div`,ye,n(a(C)(Z.value?.messageBreakdown?.archived??0)),1),i[17]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`بایگانی`,-1)])]),x(`div`,be,[i[18]||=x(`div`,{class:`mb-3 flex items-center justify-between text-xs`},[x(`span`,{class:`font-bold text-gray-700`},`روند پیام‌ها در ۷ روز اخیر`),x(`span`,{class:`text-gray-400`},`نمودار روزانه`)],-1),x(`div`,xe,[(c(!0),y(u,null,r(Z.value?.trend??[],e=>(c(),y(`div`,{key:e.date,class:`flex flex-1 flex-col items-center gap-1`},[e.messages>0?(c(),y(`span`,Se,n(a(C)(e.messages)),1)):(c(),y(`span`,Ce,`-`)),f(Fe,{title:`${e.dayName}: ${a(C)(e.messages)} پیام`},{default:o(()=>[x(`div`,we,[x(`div`,{class:s([`w-full max-w-[24px] rounded-t-md transition-all duration-300`,e.messages>0?`bg-orange-500 hover:bg-orange-600`:`bg-gray-100`]),style:ne({height:`${Math.max(Math.round(e.messages/Ne.value*72),6)}px`})},null,6)])]),_:2},1032,[`title`]),x(`span`,Te,n(e.dayName),1)]))),128))])])]),_:1})]),x(`div`,Ee,[f(_,{title:`آخرین پیام‌های تماس`},{extra:o(()=>[f(m,{to:{name:`messages`},class:`text-xs text-orange-600 hover:underline`},{default:o(()=>[...i[19]||=[p(` مشاهده همه ← `,-1)]]),_:1})]),default:o(()=>[Z.value?.recentMessages.length?(c(),d(Re,{key:1,"data-source":Z.value.recentMessages,"item-layout":`horizontal`},{renderItem:o(({item:t})=>[f($,null,{default:o(()=>[f(Ie,{title:`${t.name} — ${t.org}`,description:t.message||t.phone},null,8,[`title`,`description`]),x(`div`,De,[f(Le,{color:t.status===`NEW`?`orange`:t.status===`READ`?`blue`:`default`},{default:o(()=>[p(n(a(e)[t.status]),1)]),_:2},1032,[`color`]),x(`div`,Oe,n(a(S)(t.createdAt)),1)])]),_:2},1024)]),_:1},8,[`data-source`])):(c(),d(b,{key:0,description:`پیامی ثبت نشده است`}))]),_:1}),f(_,{title:`آخرین فعالیت‌ها و رویدادهای سیستم`},{default:o(()=>[Z.value?.recentActivity.length?(c(),d(Be,{key:1,class:`!mt-2 max-h-[360px] overflow-y-auto pe-2`},{default:o(()=>[(c(!0),y(u,null,r(Z.value.recentActivity,e=>(c(),d(ze,{key:e.id,color:e.action===`delete`?`red`:e.action===`create`?`green`:`blue`},{default:o(()=>[x(`div`,ke,[x(`b`,null,n(a(re)(e.action,e.entity)),1),e.summary?(c(),y(`span`,Ae,` — `+n(e.summary),1)):te(``,!0)]),x(`div`,je,n(e.user??`سیستم`)+` · `+n(a(S)(e.createdAt)),1)]),_:2},1032,[`color`]))),128))]),_:1})):(c(),d(b,{key:0,description:`فعالیتی ثبت نشده است`}))]),_:1})])]),_:1},8,[`spinning`])],64)}}});export{Z as default}; \ No newline at end of file +import{i as e,t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Ct as ee,Dt as r,It as i,Lt as a,Nt as o,Rt as s,Tt as c,_t as l,ct as u,dt as d,ft as te,gt as f,ht as p,i as m,kt as h,lt as g,n as _,ot as v,pt as y,t as b,ut as x,zt as ne}from"./index-BuGK6ptM.js";import{a as S,n as re,r as C}from"./format-B9MYDQJN.js";import{t as w}from"./PageHeader-3Ryvg2HD.js";var T={class:`flex items-center gap-2`},E={class:`grid grid-cols-2 gap-3 lg:gap-4 lg:grid-cols-5`},D={class:`flex items-center justify-between`},O={class:`flex size-10 items-center justify-center rounded-xl bg-orange-50 text-orange-600`},k={class:`mt-2 text-xs text-gray-400`},A={class:`flex items-center justify-between`},j={class:`flex size-10 items-center justify-center rounded-xl bg-amber-50 text-amber-600`},M={class:`flex items-center justify-between`},N={class:`flex size-10 items-center justify-center rounded-xl bg-blue-50 text-blue-600`},P={class:`flex items-center justify-between`},F={class:`mt-2 text-xs text-gray-400`},I={class:`flex items-center justify-between`},L={class:`flex size-10 items-center justify-center rounded-xl bg-purple-50 text-purple-600`},R={class:`mt-6 grid gap-6 lg:grid-cols-12`},z={class:`grid grid-cols-2 gap-3 sm:grid-cols-4`},B={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-orange-200 hover:bg-orange-50/50 hover:shadow-sm`},V={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-orange-600 shadow-sm`},H={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-blue-200 hover:bg-blue-50/50 hover:shadow-sm`},U={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-blue-600 shadow-sm`},W={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-emerald-200 hover:bg-emerald-50/50 hover:shadow-sm`},G={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-emerald-600 shadow-sm`},K={class:`flex flex-col items-center justify-center rounded-xl border border-gray-100 bg-gray-50/70 p-4 text-center transition-all hover:border-purple-200 hover:bg-purple-50/50 hover:shadow-sm`},q={class:`mb-2 flex size-11 items-center justify-center rounded-full bg-white text-purple-600 shadow-sm`},J={class:`flex items-center gap-4`},Y={class:`space-y-1.5 text-xs`},X={class:`font-bold text-gray-800`},ie={class:`text-gray-500`},ae={key:0,class:`text-emerald-600 font-medium`},oe={key:1,class:`text-amber-600 font-medium`},se={class:`mt-6 grid gap-6 lg:grid-cols-12`},ce={key:0,class:`py-8`},le={key:1,class:`space-y-3.5 pt-1`},ue={class:`flex items-center justify-between text-xs font-medium`},de={class:`text-gray-700`},fe={class:`font-mono text-gray-500`},pe={class:`grid grid-cols-3 gap-2 text-center`},me={class:`rounded-lg bg-orange-50 p-2.5`},he={class:`text-lg font-black text-orange-600`},ge={class:`rounded-lg bg-blue-50 p-2.5`},_e={class:`text-lg font-black text-blue-600`},ve={class:`rounded-lg bg-gray-50 p-2.5`},ye={class:`text-lg font-black text-gray-600`},be={class:`mt-5 border-t border-gray-100 pt-4`},xe={class:`flex h-28 items-end justify-between gap-1.5 sm:gap-2 pt-4`},Se={key:0,class:`text-[9px] font-bold text-orange-600 mb-0.5`},Ce={key:1,class:`text-[9px] text-transparent mb-0.5 select-none`},we={class:`relative flex w-full justify-center`},Te={class:`text-[10px] text-gray-400 truncate max-w-[36px]`},Ee={class:`mt-6 grid gap-6 lg:grid-cols-2`},De={class:`text-left text-xs text-gray-400`},Oe={class:`mt-1 font-mono text-[11px]`},ke={class:`text-sm`},Ae={key:0,class:`text-gray-600`},je={class:`mt-0.5 text-xs text-gray-400`},Z=l({__name:`DashboardPage`,setup(l){b();let Z=i(null),Q=i(!0),Me=g(()=>Z.value?.categoryStats?.length?Math.max(...Z.value.categoryStats.map(e=>e.count),1):1),Ne=g(()=>Z.value?.trend?.length?Math.max(...Z.value.trend.map(e=>e.messages),1):1),Pe=g(()=>Z.value?.sectionsSummary?.total?Math.round(Z.value.sectionsSummary.visible/Z.value.sectionsSummary.total*100):100);return ee(async()=>{Q.value=!0;try{Z.value=await _(`/admin/dashboard`)}catch(e){v.error(m(e))}finally{Q.value=!1}}),(ee,i)=>{let l=h(`a-button`),m=h(`RouterLink`),g=h(`a-statistic`),_=h(`a-card`),v=h(`a-progress`),b=h(`a-empty`),Fe=h(`a-tooltip`),Ie=h(`a-list-item-meta`),Le=h(`a-tag`),$=h(`a-list-item`),Re=h(`a-list`),ze=h(`a-timeline-item`),Be=h(`a-timeline`),Ve=h(`a-spin`);return c(),y(u,null,[f(w,{title:`داشبورد مدیریت`,subtitle:`نمای کلی آمار، نمودارها، پیام‌ها و فعالیت‌های اخیر سامانه`},{default:o(()=>[x(`div`,T,[f(m,{to:{name:`sections`}},{default:o(()=>[f(l,null,{icon:o(()=>[f(t,{name:`row-vertical`,size:16})]),default:o(()=>[i[0]||=p(` مدیریت بخش‌ها `,-1)]),_:1})]),_:1}),f(m,{to:{name:`product-new`}},{default:o(()=>[f(l,{type:`primary`},{icon:o(()=>[f(t,{name:`add`,size:16})]),default:o(()=>[i[1]||=p(` محصول جدید `,-1)]),_:1})]),_:1})])]),_:1}),f(Ve,{spinning:Q.value},{default:o(()=>[x(`div`,E,[f(m,{to:{name:`products`},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,D,[f(g,{title:`کل محصولات`,value:a(C)(Z.value?.products??0)},null,8,[`value`]),x(`div`,O,[f(t,{name:`bag-2`,size:20})])]),x(`div`,k,n(a(C)((Z.value?.products??0)-(Z.value?.draftProducts??0)))+` محصول فعال روی سایت `,1)]),_:1})]),_:1}),f(m,{to:{name:`products`,query:{status:`draft`}},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,A,[f(g,{title:`پیش‌نویس‌ها`,value:a(C)(Z.value?.draftProducts??0)},null,8,[`value`]),x(`div`,j,[f(t,{name:`document-text`,size:20})])]),i[2]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`نیاز به بازبینی و انتشار`,-1)]),_:1})]),_:1}),f(m,{to:{name:`categories`},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,M,[f(g,{title:`دسته‌بندی‌ها`,value:a(C)(Z.value?.categories??0)},null,8,[`value`]),x(`div`,N,[f(t,{name:`category`,size:20})])]),i[3]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`شاخه‌های تجهیزات ایمنی`,-1)]),_:1})]),_:1}),f(m,{to:{name:`messages`,query:{status:`NEW`}},class:`active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,P,[f(g,{title:`پیام‌های جدید`,value:a(C)(Z.value?.newMessages??0),"value-style":Z.value?.newMessages?{color:`#ff5a00`,fontWeight:`bold`}:void 0},null,8,[`value`,`value-style`]),x(`div`,{class:s([`flex size-10 items-center justify-center rounded-xl`,Z.value?.newMessages?`bg-orange-100 text-orange-600 animate-pulse`:`bg-gray-100 text-gray-500`])},[f(t,{name:`sms`,size:20})],2)]),x(`div`,F,` از مجموع `+n(a(C)(Z.value?.messageBreakdown?.total??0))+` پیام `,1)]),_:1})]),_:1}),f(m,{to:{name:`media`},class:`max-lg:col-span-2 active:scale-[0.98] transition-transform`},{default:o(()=>[f(_,{hoverable:``,class:`h-full`,"body-style":{padding:`14px`}},{default:o(()=>[x(`div`,I,[f(g,{title:`رسانه‌ها و تصاویر`,value:a(C)(Z.value?.media??0)},null,8,[`value`]),x(`div`,L,[f(t,{name:`gallery`,size:20})])]),i[4]||=x(`div`,{class:`mt-2 text-xs text-gray-400`},`تصاویر بهینه‌شده WebP`,-1)]),_:1})]),_:1})]),x(`div`,R,[f(_,{title:`دسترسی‌های سریع`,class:`lg:col-span-8`},{default:o(()=>[x(`div`,z,[f(m,{to:{name:`product-new`},class:`block`},{default:o(()=>[x(`div`,B,[x(`div`,V,[f(t,{name:`add`,size:22})]),i[5]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`افزودن محصول`,-1),i[6]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`کالای ایمنی جدید`,-1)])]),_:1}),f(m,{to:{name:`category-new`},class:`block`},{default:o(()=>[x(`div`,H,[x(`div`,U,[f(t,{name:`folder-add`,size:22})]),i[7]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`دسته‌بندی جدید`,-1),i[8]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`گروه محصولات`,-1)])]),_:1}),f(m,{to:{name:`sections`},class:`block`},{default:o(()=>[x(`div`,W,[x(`div`,G,[f(t,{name:`row-vertical`,size:22})]),i[9]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`بخش‌های سایت`,-1),i[10]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`نمایش یا مخفی‌سازی`,-1)])]),_:1}),f(m,{to:{name:`media`},class:`block`},{default:o(()=>[x(`div`,K,[x(`div`,q,[f(t,{name:`gallery-add`,size:22})]),i[11]||=x(`span`,{class:`text-xs font-bold text-gray-800`},`آپلود رسانه`,-1),i[12]||=x(`span`,{class:`mt-1 text-[11px] text-gray-400`},`تصاویر و اسناد`,-1)])]),_:1})])]),_:1}),f(_,{title:`وضعیت بخش‌های صفحه اصلی`,class:`lg:col-span-4`},{extra:o(()=>[f(m,{to:{name:`sections`},class:`text-xs text-orange-600 hover:underline`},{default:o(()=>[...i[13]||=[p(` مدیریت `,-1)]]),_:1})]),default:o(()=>[x(`div`,J,[f(v,{type:`circle`,percent:Pe.value,size:72,"stroke-color":{"0%":`#ff8a3d`,"100%":`#ff5a00`}},null,8,[`percent`]),x(`div`,Y,[x(`div`,X,n(a(C)(Z.value?.sectionsSummary?.visible??0))+` بخش از `+n(a(C)(Z.value?.sectionsSummary?.total??12))+` فعال `,1),x(`div`,ie,[(Z.value?.sectionsSummary?.hidden??0)===0?(c(),y(`span`,ae,` تمامی بخش‌های سایت در حال نمایش هستند `)):(c(),y(`span`,oe,n(a(C)(Z.value?.sectionsSummary?.hidden??0))+` بخش غیرفعال / مخفی `,1))]),i[14]||=x(`div`,{class:`text-[11px] text-gray-400`},` تغییر وضعیت آنی از منوی بخش‌های سایت `,-1)])])]),_:1})]),x(`div`,se,[f(_,{title:`نمودار توزیع محصولات بر اساس دسته‌بندی`,class:`lg:col-span-7`},{default:o(()=>[Z.value?.categoryStats?.length?(c(),y(`div`,le,[(c(!0),y(u,null,r(Z.value.categoryStats,e=>(c(),y(`div`,{key:e.id,class:`space-y-1`},[x(`div`,ue,[x(`span`,de,n(e.name),1),x(`span`,fe,n(a(C)(e.count))+` محصول`,1)]),f(v,{percent:Math.round(e.count/Me.value*100),"show-info":!1,"stroke-color":{"0%":`#ffd0b5`,"100%":`#ff5a00`},size:`small`},null,8,[`percent`])]))),128))])):(c(),y(`div`,ce,[f(b,{description:`داده‌ای موجود نیست`})]))]),_:1}),f(_,{title:`تحلیل پیام‌های تماس دریافتی`,class:`lg:col-span-5`},{default:o(()=>[x(`div`,pe,[x(`div`,me,[x(`div`,he,n(a(C)(Z.value?.messageBreakdown?.new??0)),1),i[15]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`جدید`,-1)]),x(`div`,ge,[x(`div`,_e,n(a(C)(Z.value?.messageBreakdown?.read??0)),1),i[16]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`خوانده‌شده`,-1)]),x(`div`,ve,[x(`div`,ye,n(a(C)(Z.value?.messageBreakdown?.archived??0)),1),i[17]||=x(`div`,{class:`text-[11px] font-medium text-gray-600`},`بایگانی`,-1)])]),x(`div`,be,[i[18]||=x(`div`,{class:`mb-3 flex items-center justify-between text-xs`},[x(`span`,{class:`font-bold text-gray-700`},`روند پیام‌ها در ۷ روز اخیر`),x(`span`,{class:`text-gray-400`},`نمودار روزانه`)],-1),x(`div`,xe,[(c(!0),y(u,null,r(Z.value?.trend??[],e=>(c(),y(`div`,{key:e.date,class:`flex flex-1 flex-col items-center gap-1`},[e.messages>0?(c(),y(`span`,Se,n(a(C)(e.messages)),1)):(c(),y(`span`,Ce,`-`)),f(Fe,{title:`${e.dayName}: ${a(C)(e.messages)} پیام`},{default:o(()=>[x(`div`,we,[x(`div`,{class:s([`w-full max-w-[24px] rounded-t-md transition-all duration-300`,e.messages>0?`bg-orange-500 hover:bg-orange-600`:`bg-gray-100`]),style:ne({height:`${Math.max(Math.round(e.messages/Ne.value*72),6)}px`})},null,6)])]),_:2},1032,[`title`]),x(`span`,Te,n(e.dayName),1)]))),128))])])]),_:1})]),x(`div`,Ee,[f(_,{title:`آخرین پیام‌های تماس`},{extra:o(()=>[f(m,{to:{name:`messages`},class:`text-xs text-orange-600 hover:underline`},{default:o(()=>[...i[19]||=[p(` مشاهده همه ← `,-1)]]),_:1})]),default:o(()=>[Z.value?.recentMessages.length?(c(),d(Re,{key:1,"data-source":Z.value.recentMessages,"item-layout":`horizontal`},{renderItem:o(({item:t})=>[f($,null,{default:o(()=>[f(Ie,{title:`${t.name} — ${t.org}`,description:t.message||t.phone},null,8,[`title`,`description`]),x(`div`,De,[f(Le,{color:t.status===`NEW`?`orange`:t.status===`READ`?`blue`:`default`},{default:o(()=>[p(n(a(e)[t.status]),1)]),_:2},1032,[`color`]),x(`div`,Oe,n(a(S)(t.createdAt)),1)])]),_:2},1024)]),_:1},8,[`data-source`])):(c(),d(b,{key:0,description:`پیامی ثبت نشده است`}))]),_:1}),f(_,{title:`آخرین فعالیت‌ها و رویدادهای سیستم`},{default:o(()=>[Z.value?.recentActivity.length?(c(),d(Be,{key:1,class:`!mt-2 max-h-[360px] overflow-y-auto pe-2`},{default:o(()=>[(c(!0),y(u,null,r(Z.value.recentActivity,e=>(c(),d(ze,{key:e.id,color:e.action===`delete`?`red`:e.action===`create`?`green`:`blue`},{default:o(()=>[x(`div`,ke,[x(`b`,null,n(a(re)(e.action,e.entity)),1),e.summary?(c(),y(`span`,Ae,` — `+n(e.summary),1)):te(``,!0)]),x(`div`,je,n(e.user??`سیستم`)+` · `+n(a(S)(e.createdAt)),1)]),_:2},1032,[`color`]))),128))]),_:1})):(c(),d(b,{key:0,description:`فعالیتی ثبت نشده است`}))]),_:1})])]),_:1},8,[`spinning`])],64)}}});export{Z as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/FormField-D95xTO-F.js b/apps/admin/dist/assets/FormField-CiVT7mqC.js similarity index 88% rename from apps/admin/dist/assets/FormField-D95xTO-F.js rename to apps/admin/dist/assets/FormField-CiVT7mqC.js index 627cf04..4b6db99 100644 --- a/apps/admin/dist/assets/FormField-D95xTO-F.js +++ b/apps/admin/dist/assets/FormField-CiVT7mqC.js @@ -1 +1 @@ -import{b as e}from"./VuesaxIcon-CrbgSv-1.js";import{Et as t,It as n,Nt as r,Ot as i,Tt as a,_t as o,dt as s,i as c,kt as l,lt as u,ot as d,r as f,yt as p}from"./index-BCImsMjH.js";var m=Symbol(`form-errors`),h=e=>Object.fromEntries(e.map(e=>[e.path,e.message]));function g(r,i){let a=n(structuredClone(i)),o=n({});t(m,o);function s(){let t=r.safeParse(a.value);return t.success?(o.value={},t.data):(o.value=h(e(t.error)),d.error(`لطفاً خطاهای فرم را برطرف کنید`),null)}function l(e){let t=f(e).issues;t?.length&&(o.value=h(t)),d.error(c(e))}function u(e){a.value=structuredClone(e),o.value={}}return{model:a,errors:o,validate:s,handleError:l,reset:u}}var _=o({__name:`FormField`,props:{path:{},label:{},hint:{},required:{type:Boolean}},setup(e){let t=e,n=p(m,null),o=u(()=>n?.value[t.path]);return(t,n)=>{let c=l(`a-form-item`);return a(),s(c,{label:e.label,required:e.required,"validate-status":o.value?`error`:void 0,help:o.value||e.hint},{default:r(()=>[i(t.$slots,`default`)]),_:3},8,[`label`,`required`,`validate-status`,`help`])}}});export{g as n,_ as t}; \ No newline at end of file +import{b as e}from"./VuesaxIcon-B2OgulS6.js";import{Et as t,It as n,Nt as r,Ot as i,Tt as a,_t as o,dt as s,i as c,kt as l,lt as u,ot as d,r as f,yt as p}from"./index-BuGK6ptM.js";var m=Symbol(`form-errors`),h=e=>Object.fromEntries(e.map(e=>[e.path,e.message]));function g(r,i){let a=n(structuredClone(i)),o=n({});t(m,o);function s(){let t=r.safeParse(a.value);return t.success?(o.value={},t.data):(o.value=h(e(t.error)),d.error(`لطفاً خطاهای فرم را برطرف کنید`),null)}function l(e){let t=f(e).issues;t?.length&&(o.value=h(t)),d.error(c(e))}function u(e){a.value=structuredClone(e),o.value={}}return{model:a,errors:o,validate:s,handleError:l,reset:u}}var _=o({__name:`FormField`,props:{path:{},label:{},hint:{},required:{type:Boolean}},setup(e){let t=e,n=p(m,null),o=u(()=>n?.value[t.path]);return(t,n)=>{let c=l(`a-form-item`);return a(),s(c,{label:e.label,required:e.required,"validate-status":o.value?`error`:void 0,help:o.value||e.hint},{default:r(()=>[i(t.$slots,`default`)]),_:3},8,[`label`,`required`,`validate-status`,`help`])}}});export{g as n,_ as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/IconSelect-n5KsEDDN.js b/apps/admin/dist/assets/IconSelect-rJLPzIXV.js similarity index 89% rename from apps/admin/dist/assets/IconSelect-n5KsEDDN.js rename to apps/admin/dist/assets/IconSelect-rJLPzIXV.js index 3ed2ac8..b449dc5 100644 --- a/apps/admin/dist/assets/IconSelect-n5KsEDDN.js +++ b/apps/admin/dist/assets/IconSelect-rJLPzIXV.js @@ -1 +1 @@ -import{t as e,y as t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Lt as r,Nt as i,Tt as a,_t as o,bt as s,dt as c,gt as l,jt as u,kt as d,pt as f,ut as p}from"./index-BCImsMjH.js";var m={class:`flex items-center gap-2`},h={class:`flex size-9 shrink-0 items-center justify-center rounded-lg border border-gray-200 bg-gray-50 text-[#ff5a00]`},g={key:1,class:`text-xs text-gray-400`},_={class:`flex items-center gap-2.5 py-0.5`,dir:`ltr`},v={class:`text-xs font-mono`},y=o({__name:`IconSelect`,props:s({allowClear:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=u(o,`modelValue`),y=t.map(e=>({value:e,label:e}));return(t,u)=>{let b=d(`a-select`);return a(),f(`div`,m,[p(`span`,h,[s.value?(a(),c(e,{key:0,name:s.value,size:20},null,8,[`name`])):(a(),f(`span`,g,`---`))]),l(b,{value:s.value,"onUpdate:value":u[0]||=e=>s.value=e,class:`min-w-0 flex-1`,"show-search":``,"allow-clear":o.allowClear,options:r(y),placeholder:`انتخاب آیکون`},{option:i(({value:t})=>[p(`span`,_,[l(e,{name:t,size:18,class:`text-orange-600`},null,8,[`name`]),p(`span`,v,n(t),1)])]),_:1},8,[`value`,`allow-clear`,`options`])])}}});export{y as t}; \ No newline at end of file +import{t as e,y as t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Lt as r,Nt as i,Tt as a,_t as o,bt as s,dt as c,gt as l,jt as u,kt as d,pt as f,ut as p}from"./index-BuGK6ptM.js";var m={class:`flex items-center gap-2`},h={class:`flex size-9 shrink-0 items-center justify-center rounded-lg border border-gray-200 bg-gray-50 text-[#ff5a00]`},g={key:1,class:`text-xs text-gray-400`},_={class:`flex items-center gap-2.5 py-0.5`,dir:`ltr`},v={class:`text-xs font-mono`},y=o({__name:`IconSelect`,props:s({allowClear:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=u(o,`modelValue`),y=t.map(e=>({value:e,label:e}));return(t,u)=>{let b=d(`a-select`);return a(),f(`div`,m,[p(`span`,h,[s.value?(a(),c(e,{key:0,name:s.value,size:20},null,8,[`name`])):(a(),f(`span`,g,`---`))]),l(b,{value:s.value,"onUpdate:value":u[0]||=e=>s.value=e,class:`min-w-0 flex-1`,"show-search":``,"allow-clear":o.allowClear,options:r(y),placeholder:`انتخاب آیکون`},{option:i(({value:t})=>[p(`span`,_,[l(e,{name:t,size:18,class:`text-orange-600`},null,8,[`name`]),p(`span`,v,n(t),1)])]),_:1},8,[`value`,`allow-clear`,`options`])])}}});export{y as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/ListEditor-DF9sShFo.js b/apps/admin/dist/assets/ListEditor-C8F91lSJ.js similarity index 97% rename from apps/admin/dist/assets/ListEditor-DF9sShFo.js rename to apps/admin/dist/assets/ListEditor-C8F91lSJ.js index 638cb67..e4c3a09 100644 --- a/apps/admin/dist/assets/ListEditor-DF9sShFo.js +++ b/apps/admin/dist/assets/ListEditor-C8F91lSJ.js @@ -1 +1 @@ -import{t as e}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as t,Dt as n,It as r,Mt as i,Nt as a,Ot as o,Tt as s,_t as c,bt as l,ct as u,dt as d,ft as f,gt as p,ht as m,i as h,jt as g,kt as _,n as v,ot as y,pt as b,ut as x}from"./index-BCImsMjH.js";var S={class:`grid grid-cols-3 gap-3 sm:grid-cols-4 md:grid-cols-6`},C=[`title`,`onClick`],w=[`src`,`alt`],T={class:`truncate px-1.5 py-1 text-[11px] text-gray-500`,dir:`ltr`},E={class:`mt-4 flex justify-center`},D={class:`ant-upload-drag-icon`},O=24,k=c({__name:`MediaPicker`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:l([`select`],[`update:open`]),setup(o,{emit:c}){let l=g(o,`open`),m=c,k=r(`library`),A=r([]),j=r(0),M=r(1),N=r(``),P=r(!1),F=r(!1);async function I(){P.value=!0;try{let e=await v(`/admin/media`,{query:{page:M.value,pageSize:O,q:N.value||void 0}});A.value=e.items,j.value=e.total}catch(e){y.error(h(e))}finally{P.value=!1}}i(l,e=>e&&I());function L(e){m(`select`,e),l.value=!1}async function R(e){F.value=!0;try{let t=new FormData;t.append(`file`,e);let n=await v(`/admin/media`,{method:`POST`,body:t});y.success(`تصویر آپلود شد`),L(n)}catch(e){y.error(h(e))}finally{F.value=!1}return!1}return(r,i)=>{let o=_(`a-input-search`),c=_(`a-empty`),m=_(`a-spin`),h=_(`a-pagination`),g=_(`a-tab-pane`),v=_(`a-upload-dragger`),y=_(`a-tabs`),z=_(`a-modal`);return s(),d(z,{open:l.value,"onUpdate:open":i[4]||=e=>l.value=e,title:`انتخاب تصویر`,footer:null,width:`900px`,"destroy-on-close":``},{default:a(()=>[p(y,{"active-key":k.value,"onUpdate:activeKey":i[3]||=e=>k.value=e},{default:a(()=>[p(g,{key:`library`,tab:`کتابخانه رسانه`},{default:a(()=>[p(o,{value:N.value,"onUpdate:value":i[0]||=e=>N.value=e,placeholder:`جستجو در نام فایل یا متن جایگزین`,"allow-clear":``,class:`mb-4`,onSearch:i[1]||=()=>{M.value=1,I()}},null,8,[`value`]),p(m,{spinning:P.value},{default:a(()=>[!A.value.length&&!P.value?(s(),d(c,{key:0,description:`تصویری پیدا نشد`})):f(``,!0),x(`div`,S,[(s(!0),b(u,null,n(A.value,e=>(s(),b(`button`,{key:e.id,type:`button`,class:`group overflow-hidden rounded-lg border border-gray-200 bg-gray-50 text-start transition hover:border-[#ff5a00] focus:border-[#ff5a00] focus:outline-none`,title:e.originalName,onClick:t=>L(e)},[x(`img`,{src:e.url,alt:e.alt,class:`aspect-square w-full object-contain`,loading:`lazy`},null,8,w),x(`div`,T,t(e.originalName),1)],8,C))),128))])]),_:1},8,[`spinning`]),x(`div`,E,[p(h,{current:M.value,"onUpdate:current":i[2]||=e=>M.value=e,total:j.value,"page-size":O,"show-size-changer":!1,onChange:I},null,8,[`current`,`total`])])]),_:1}),p(g,{key:`upload`,tab:`آپلود تصویر جدید`},{default:a(()=>[p(m,{spinning:F.value},{default:a(()=>[p(v,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,"show-upload-list":!1,"before-upload":R},{default:a(()=>[x(`p`,D,[p(e,{name:`document-upload`,size:40})]),i[5]||=x(`p`,{class:`ant-upload-text`},`تصویر را اینجا رها کنید یا کلیک کنید`,-1),i[6]||=x(`p`,{class:`ant-upload-hint`},` JPG، PNG، WebP، AVIF یا GIF — حداکثر ۱۵ مگابایت. تصویر به‌صورت خودکار بهینه و به WebP تبدیل می‌شود. `,-1)]),_:1})]),_:1},8,[`spinning`])]),_:1})]),_:1},8,[`active-key`])]),_:1},8,[`open`])}}}),A={class:`flex items-start gap-4`},j={class:`flex size-28 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-dashed border-gray-300 bg-gray-50`},M=[`src`],N=c({__name:`ImageField`,props:{url:{},clearable:{type:Boolean}},emits:[`pick`,`clear`],setup(n,{emit:i}){let o=i,c=r(!1);return(r,i)=>{let l=_(`a-button`),u=_(`a-space`);return s(),b(`div`,A,[x(`div`,j,[n.url?(s(),b(`img`,{key:0,src:n.url,alt:``,class:`size-full object-contain`},null,8,M)):(s(),d(e,{key:1,name:`gallery`,size:32,class:`text-gray-300`}))]),p(u,{direction:`vertical`},{default:a(()=>[p(l,{onClick:i[0]||=e=>c.value=!0},{icon:a(()=>[p(e,{name:`gallery`,size:16})]),default:a(()=>[m(` `+t(n.url?`تغییر تصویر`:`انتخاب یا آپلود تصویر`),1)]),_:1}),n.url&&n.clearable?(s(),d(l,{key:0,danger:``,onClick:i[1]||=e=>o(`clear`)},{icon:a(()=>[p(e,{name:`trash`,size:16})]),default:a(()=>[i[4]||=m(` حذف تصویر `,-1)]),_:1})):f(``,!0)]),_:1}),p(k,{open:c.value,"onUpdate:open":i[2]||=e=>c.value=e,onSelect:i[3]||=e=>o(`pick`,e)},null,8,[`open`])])}}}),P={class:`space-y-3`},F={class:`mb-3 flex items-center justify-between gap-2`},I={class:`text-sm font-bold text-gray-600`},L=c({__name:`ListEditor`,props:l({create:{},addLabel:{default:`افزودن مورد`},max:{default:50},itemTitle:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let i=g(r,`modelValue`),c=r,l=(e,t)=>{let n=[...i.value],[r]=n.splice(e,1);n.splice(e+t,0,r),i.value=n},d=e=>{i.value=i.value.filter((t,n)=>n!==e)},f=()=>{i.value=[...i.value,c.create()]};return(c,h)=>{let g=_(`a-button`),v=_(`a-popconfirm`),y=_(`a-space`);return s(),b(`div`,P,[(s(!0),b(u,null,n(i.value,(n,u)=>(s(),b(`div`,{key:u,class:`rounded-lg border border-gray-200 bg-white p-4`},[x(`div`,F,[x(`span`,I,t((u+1).toLocaleString(`fa-IR`))+`. `+t(r.itemTitle?.(n,u)??``),1),p(y,{size:4},{default:a(()=>[p(g,{size:`small`,disabled:u===0,title:`بالا`,onClick:e=>l(u,-1)},{icon:a(()=>[p(e,{name:`arrow-up`,size:16})]),_:1},8,[`disabled`,`onClick`]),p(g,{size:`small`,disabled:u===i.value.length-1,title:`پایین`,onClick:e=>l(u,1)},{icon:a(()=>[p(e,{name:`arrow-down`,size:16})]),_:1},8,[`disabled`,`onClick`]),p(v,{title:`این مورد حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>d(u)},{default:a(()=>[p(g,{size:`small`,danger:``,title:`حذف`},{icon:a(()=>[p(e,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`])]),_:2},1024)]),o(c.$slots,`default`,{item:n,index:u})]))),128)),p(g,{type:`dashed`,block:``,disabled:i.value.length>=r.max,onClick:f},{icon:a(()=>[p(e,{name:`add`,size:16})]),default:a(()=>[m(` `+t(r.addLabel),1)]),_:1},8,[`disabled`])])}}});export{N as n,k as r,L as t}; \ No newline at end of file +import{t as e}from"./VuesaxIcon-B2OgulS6.js";import{Bt as t,Dt as n,It as r,Mt as i,Nt as a,Ot as o,Tt as s,_t as c,bt as l,ct as u,dt as d,ft as f,gt as p,ht as m,i as h,jt as g,kt as _,n as v,ot as y,pt as b,ut as x}from"./index-BuGK6ptM.js";var S={class:`grid grid-cols-3 gap-3 sm:grid-cols-4 md:grid-cols-6`},C=[`title`,`onClick`],w=[`src`,`alt`],T={class:`truncate px-1.5 py-1 text-[11px] text-gray-500`,dir:`ltr`},E={class:`mt-4 flex justify-center`},D={class:`ant-upload-drag-icon`},O=24,k=c({__name:`MediaPicker`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:l([`select`],[`update:open`]),setup(o,{emit:c}){let l=g(o,`open`),m=c,k=r(`library`),A=r([]),j=r(0),M=r(1),N=r(``),P=r(!1),F=r(!1);async function I(){P.value=!0;try{let e=await v(`/admin/media`,{query:{page:M.value,pageSize:O,q:N.value||void 0}});A.value=e.items,j.value=e.total}catch(e){y.error(h(e))}finally{P.value=!1}}i(l,e=>e&&I());function L(e){m(`select`,e),l.value=!1}async function R(e){F.value=!0;try{let t=new FormData;t.append(`file`,e);let n=await v(`/admin/media`,{method:`POST`,body:t});y.success(`تصویر آپلود شد`),L(n)}catch(e){y.error(h(e))}finally{F.value=!1}return!1}return(r,i)=>{let o=_(`a-input-search`),c=_(`a-empty`),m=_(`a-spin`),h=_(`a-pagination`),g=_(`a-tab-pane`),v=_(`a-upload-dragger`),y=_(`a-tabs`),z=_(`a-modal`);return s(),d(z,{open:l.value,"onUpdate:open":i[4]||=e=>l.value=e,title:`انتخاب تصویر`,footer:null,width:`900px`,"destroy-on-close":``},{default:a(()=>[p(y,{"active-key":k.value,"onUpdate:activeKey":i[3]||=e=>k.value=e},{default:a(()=>[p(g,{key:`library`,tab:`کتابخانه رسانه`},{default:a(()=>[p(o,{value:N.value,"onUpdate:value":i[0]||=e=>N.value=e,placeholder:`جستجو در نام فایل یا متن جایگزین`,"allow-clear":``,class:`mb-4`,onSearch:i[1]||=()=>{M.value=1,I()}},null,8,[`value`]),p(m,{spinning:P.value},{default:a(()=>[!A.value.length&&!P.value?(s(),d(c,{key:0,description:`تصویری پیدا نشد`})):f(``,!0),x(`div`,S,[(s(!0),b(u,null,n(A.value,e=>(s(),b(`button`,{key:e.id,type:`button`,class:`group overflow-hidden rounded-lg border border-gray-200 bg-gray-50 text-start transition hover:border-[#ff5a00] focus:border-[#ff5a00] focus:outline-none`,title:e.originalName,onClick:t=>L(e)},[x(`img`,{src:e.url,alt:e.alt,class:`aspect-square w-full object-contain`,loading:`lazy`},null,8,w),x(`div`,T,t(e.originalName),1)],8,C))),128))])]),_:1},8,[`spinning`]),x(`div`,E,[p(h,{current:M.value,"onUpdate:current":i[2]||=e=>M.value=e,total:j.value,"page-size":O,"show-size-changer":!1,onChange:I},null,8,[`current`,`total`])])]),_:1}),p(g,{key:`upload`,tab:`آپلود تصویر جدید`},{default:a(()=>[p(m,{spinning:F.value},{default:a(()=>[p(v,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,"show-upload-list":!1,"before-upload":R},{default:a(()=>[x(`p`,D,[p(e,{name:`document-upload`,size:40})]),i[5]||=x(`p`,{class:`ant-upload-text`},`تصویر را اینجا رها کنید یا کلیک کنید`,-1),i[6]||=x(`p`,{class:`ant-upload-hint`},` JPG، PNG، WebP، AVIF یا GIF — حداکثر ۱۵ مگابایت. تصویر به‌صورت خودکار بهینه و به WebP تبدیل می‌شود. `,-1)]),_:1})]),_:1},8,[`spinning`])]),_:1})]),_:1},8,[`active-key`])]),_:1},8,[`open`])}}}),A={class:`flex items-start gap-4`},j={class:`flex size-28 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-dashed border-gray-300 bg-gray-50`},M=[`src`],N=c({__name:`ImageField`,props:{url:{},clearable:{type:Boolean}},emits:[`pick`,`clear`],setup(n,{emit:i}){let o=i,c=r(!1);return(r,i)=>{let l=_(`a-button`),u=_(`a-space`);return s(),b(`div`,A,[x(`div`,j,[n.url?(s(),b(`img`,{key:0,src:n.url,alt:``,class:`size-full object-contain`},null,8,M)):(s(),d(e,{key:1,name:`gallery`,size:32,class:`text-gray-300`}))]),p(u,{direction:`vertical`},{default:a(()=>[p(l,{onClick:i[0]||=e=>c.value=!0},{icon:a(()=>[p(e,{name:`gallery`,size:16})]),default:a(()=>[m(` `+t(n.url?`تغییر تصویر`:`انتخاب یا آپلود تصویر`),1)]),_:1}),n.url&&n.clearable?(s(),d(l,{key:0,danger:``,onClick:i[1]||=e=>o(`clear`)},{icon:a(()=>[p(e,{name:`trash`,size:16})]),default:a(()=>[i[4]||=m(` حذف تصویر `,-1)]),_:1})):f(``,!0)]),_:1}),p(k,{open:c.value,"onUpdate:open":i[2]||=e=>c.value=e,onSelect:i[3]||=e=>o(`pick`,e)},null,8,[`open`])])}}}),P={class:`space-y-3`},F={class:`mb-3 flex items-center justify-between gap-2`},I={class:`text-sm font-bold text-gray-600`},L=c({__name:`ListEditor`,props:l({create:{},addLabel:{default:`افزودن مورد`},max:{default:50},itemTitle:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(r){let i=g(r,`modelValue`),c=r,l=(e,t)=>{let n=[...i.value],[r]=n.splice(e,1);n.splice(e+t,0,r),i.value=n},d=e=>{i.value=i.value.filter((t,n)=>n!==e)},f=()=>{i.value=[...i.value,c.create()]};return(c,h)=>{let g=_(`a-button`),v=_(`a-popconfirm`),y=_(`a-space`);return s(),b(`div`,P,[(s(!0),b(u,null,n(i.value,(n,u)=>(s(),b(`div`,{key:u,class:`rounded-lg border border-gray-200 bg-white p-4`},[x(`div`,F,[x(`span`,I,t((u+1).toLocaleString(`fa-IR`))+`. `+t(r.itemTitle?.(n,u)??``),1),p(y,{size:4},{default:a(()=>[p(g,{size:`small`,disabled:u===0,title:`بالا`,onClick:e=>l(u,-1)},{icon:a(()=>[p(e,{name:`arrow-up`,size:16})]),_:1},8,[`disabled`,`onClick`]),p(g,{size:`small`,disabled:u===i.value.length-1,title:`پایین`,onClick:e=>l(u,1)},{icon:a(()=>[p(e,{name:`arrow-down`,size:16})]),_:1},8,[`disabled`,`onClick`]),p(v,{title:`این مورد حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>d(u)},{default:a(()=>[p(g,{size:`small`,danger:``,title:`حذف`},{icon:a(()=>[p(e,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`])]),_:2},1024)]),o(c.$slots,`default`,{item:n,index:u})]))),128)),p(g,{type:`dashed`,block:``,disabled:i.value.length>=r.max,onClick:f},{icon:a(()=>[p(e,{name:`add`,size:16})]),default:a(()=>[m(` `+t(r.addLabel),1)]),_:1},8,[`disabled`])])}}});export{N as n,k as r,L as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/LoginPage-9ZnLIZG9.js b/apps/admin/dist/assets/LoginPage-D6HPXv4g.js similarity index 95% rename from apps/admin/dist/assets/LoginPage-9ZnLIZG9.js rename to apps/admin/dist/assets/LoginPage-D6HPXv4g.js index cb0ba2f..f6a59f4 100644 --- a/apps/admin/dist/assets/LoginPage-9ZnLIZG9.js +++ b/apps/admin/dist/assets/LoginPage-D6HPXv4g.js @@ -1 +1 @@ -import{c as e,n as t,t as n}from"./VuesaxIcon-CrbgSv-1.js";import{It as r,Lt as i,Nt as a,Tt as o,_t as s,a as c,gt as l,ht as u,kt as d,mt as f,o as p,pt as m,st as h,t as g,ut as _}from"./index-BCImsMjH.js";import"./logo-BuUh917n.js";import{n as v,t as y}from"./FormField-D95xTO-F.js";var b={class:`login-page relative flex min-h-screen overflow-hidden text-[#edede6]`},x={class:`relative z-10 mx-auto grid w-full max-w-[1120px] flex-1 items-center gap-10 px-5 py-12 md:px-8 lg:grid-cols-12 lg:gap-16`},S={class:`login-fade-3 lg:col-span-6`},C={class:`login-panel w-full max-w-md border border-[#2a3d63]/70 bg-[#1a2744]/80 p-7 backdrop-blur-md md:p-8 lg:me-auto`},w=t(s({__name:`LoginPage`,setup(t){let s=g(),w=p(),T=c(),{model:E,validate:D,handleError:O}=v(e,{phone:``,password:``}),k=r(!1);async function A(){let e=D();if(e){k.value=!0;try{await s.login(e);let t=typeof T.query.redirect==`string`?T.query.redirect:`/`;await w.replace(t.startsWith(`/`)?t:`/`)}catch(e){O(e)}finally{k.value=!1}}}return(e,t)=>{let r=d(`a-input`),s=d(`a-input-password`),c=d(`a-button`),p=d(`a-form`);return o(),m(`div`,b,[t[5]||=f(`
`,6),_(`div`,x,[_(`div`,S,[_(`div`,C,[t[3]||=_(`div`,{class:`mb-7 text-center`},[_(`div`,{class:`font-mono text-[10px] tracking-[0.28em] text-[#8e9ab0]`},`SIGN IN`),_(`h2`,{class:`mt-2 text-xl font-bold text-[#edede6]`},`ورود به پنل`),_(`p`,{class:`mt-1.5 text-sm text-[#8e9ab0]`},`شماره موبایل و رمز عبور خود را وارد کنید`)],-1),l(p,{class:`login-form`,layout:`vertical`,onSubmit:h(A,[`prevent`])},{default:a(()=>[l(y,{path:`phone`,label:`شماره موبایل`},{default:a(()=>[l(r,{value:i(E).phone,"onUpdate:value":t[0]||=e=>i(E).phone=e,size:`large`,class:`ltr-input`,autocomplete:`tel`,autofocus:``,inputmode:`tel`,placeholder:`09121234567`},{prefix:a(()=>[l(n,{name:`mobile`,size:16,class:`text-[#8e9ab0]`})]),_:1},8,[`value`])]),_:1}),l(y,{path:`password`,label:`رمز عبور`},{default:a(()=>[l(s,{value:i(E).password,"onUpdate:value":t[1]||=e=>i(E).password=e,size:`large`,class:`ltr-input`,autocomplete:`current-password`,placeholder:`••••••••`},{prefix:a(()=>[l(n,{name:`lock`,size:16,class:`text-[#8e9ab0]`})]),_:1},8,[`value`])]),_:1}),l(c,{type:`primary`,"html-type":`submit`,size:`large`,block:``,loading:k.value,class:`!mt-2 !h-12 !rounded-full !font-bold !shadow-[0_8px_32px_rgba(255,90,0,0.35)]`},{default:a(()=>[...t[2]||=[u(` ورود به پنل `,-1)]]),_:1},8,[`loading`])]),_:1})])]),t[4]||=f(``,1)])])}}}),[[`__scopeId`,`data-v-2d323d25`]]);export{w as default}; \ No newline at end of file +import{c as e,n as t,t as n}from"./VuesaxIcon-B2OgulS6.js";import{It as r,Lt as i,Nt as a,Tt as o,_t as s,a as c,gt as l,ht as u,kt as d,mt as f,o as p,pt as m,st as h,t as g,ut as _}from"./index-BuGK6ptM.js";import"./logo-BuUh917n.js";import{n as v,t as y}from"./FormField-CiVT7mqC.js";var b={class:`login-page relative flex min-h-screen overflow-hidden text-[#edede6]`},x={class:`relative z-10 mx-auto grid w-full max-w-[1120px] flex-1 items-center gap-10 px-5 py-12 md:px-8 lg:grid-cols-12 lg:gap-16`},S={class:`login-fade-3 lg:col-span-6`},C={class:`login-panel w-full max-w-md border border-[#2a3d63]/70 bg-[#1a2744]/80 p-7 backdrop-blur-md md:p-8 lg:me-auto`},w=t(s({__name:`LoginPage`,setup(t){let s=g(),w=p(),T=c(),{model:E,validate:D,handleError:O}=v(e,{phone:``,password:``}),k=r(!1);async function A(){let e=D();if(e){k.value=!0;try{await s.login(e);let t=typeof T.query.redirect==`string`?T.query.redirect:`/`;await w.replace(t.startsWith(`/`)?t:`/`)}catch(e){O(e)}finally{k.value=!1}}}return(e,t)=>{let r=d(`a-input`),s=d(`a-input-password`),c=d(`a-button`),p=d(`a-form`);return o(),m(`div`,b,[t[5]||=f(`
`,6),_(`div`,x,[_(`div`,S,[_(`div`,C,[t[3]||=_(`div`,{class:`mb-7 text-center`},[_(`div`,{class:`font-mono text-[10px] tracking-[0.28em] text-[#8e9ab0]`},`SIGN IN`),_(`h2`,{class:`mt-2 text-xl font-bold text-[#edede6]`},`ورود به پنل`),_(`p`,{class:`mt-1.5 text-sm text-[#8e9ab0]`},`شماره موبایل و رمز عبور خود را وارد کنید`)],-1),l(p,{class:`login-form`,layout:`vertical`,onSubmit:h(A,[`prevent`])},{default:a(()=>[l(y,{path:`phone`,label:`شماره موبایل`},{default:a(()=>[l(r,{value:i(E).phone,"onUpdate:value":t[0]||=e=>i(E).phone=e,size:`large`,class:`ltr-input`,autocomplete:`tel`,autofocus:``,inputmode:`tel`,placeholder:`09121234567`},{prefix:a(()=>[l(n,{name:`mobile`,size:16,class:`text-[#8e9ab0]`})]),_:1},8,[`value`])]),_:1}),l(y,{path:`password`,label:`رمز عبور`},{default:a(()=>[l(s,{value:i(E).password,"onUpdate:value":t[1]||=e=>i(E).password=e,size:`large`,class:`ltr-input`,autocomplete:`current-password`,placeholder:`••••••••`},{prefix:a(()=>[l(n,{name:`lock`,size:16,class:`text-[#8e9ab0]`})]),_:1},8,[`value`])]),_:1}),l(c,{type:`primary`,"html-type":`submit`,size:`large`,block:``,loading:k.value,class:`!mt-2 !h-12 !rounded-full !font-bold !shadow-[0_8px_32px_rgba(255,90,0,0.35)]`},{default:a(()=>[...t[2]||=[u(` ورود به پنل `,-1)]]),_:1},8,[`loading`])]),_:1})])]),t[4]||=f(``,1)])])}}}),[[`__scopeId`,`data-v-2d323d25`]]);export{w as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/MediaPage-4vzZa5Eb.js b/apps/admin/dist/assets/MediaPage-DnfskIVE.js similarity index 96% rename from apps/admin/dist/assets/MediaPage-4vzZa5Eb.js rename to apps/admin/dist/assets/MediaPage-DnfskIVE.js index fea162f..168c983 100644 --- a/apps/admin/dist/assets/MediaPage-4vzZa5Eb.js +++ b/apps/admin/dist/assets/MediaPage-DnfskIVE.js @@ -1 +1 @@ -import{t as e}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as t,Ct as n,Dt as r,It as i,Lt as a,Nt as o,Tt as s,_t as c,ct as l,dt as u,ft as d,gt as f,ht as p,i as m,kt as h,n as g,ot as _,pt as v,t as y,ut as b,wt as x}from"./index-BCImsMjH.js";import{a as S,i as C,r as w}from"./format-NkL3G1Uq.js";import{t as T}from"./PageHeader-vyrIuh7P.js";var E={class:`grid grid-cols-3 gap-2.5 sm:grid-cols-4 md:grid-cols-6 xl:grid-cols-9`},D=[`title`,`onClick`],O=[`src`,`alt`],k={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/60 to-transparent p-1 text-[9px] text-white opacity-0 transition group-hover:opacity-100 max-lg:hidden truncate`},A={class:`mt-4 flex justify-center`},j={class:`lg:hidden fixed bottom-20 left-4 z-30`},M=[`disabled`],N={key:1,class:`text-xs font-bold`},ee={class:`overflow-hidden rounded-xl border border-gray-200 bg-gray-50 flex items-center justify-center p-2`},te=[`src`,`alt`],ne={dir:`ltr`,class:`truncate block max-w-[240px] text-xs font-mono text-gray-700`},re={dir:`ltr`,class:`text-xs font-mono`},ie={class:`max-lg:grid max-lg:grid-cols-2 max-lg:gap-2 max-lg:mt-4 max-lg:hidden`},ae={class:`lg:hidden grid grid-cols-2 gap-2 mt-4`},P=36,F=c({__name:`MediaPage`,setup(c){let F=y(),I=i([]),L=i(0),R=i(1),z=i(``),B=i(!1),V=i(0),H=i(null),U=i(``),W=i(!1);function G(){typeof window<`u`&&(W.value=window.innerWidth<1024)}async function K(){B.value=!0;try{let e=await g(`/admin/media`,{query:{page:R.value,pageSize:P,q:z.value||void 0}});I.value=e.items,L.value=e.total}catch(e){_.error(m(e))}finally{B.value=!1}}async function q(e){V.value++;try{let t=new FormData;t.append(`file`,e),await g(`/admin/media`,{method:`POST`,body:t}),_.success(`«${e.name}» آپلود شد`),R.value=1,await K()}catch(t){_.error(`${e.name}: ${m(t)}`)}finally{V.value--}return!1}function oe(e){H.value=e,U.value=e.alt}async function J(){if(H.value)try{let e=await g(`/admin/media/${H.value.id}`,{method:`PATCH`,body:{alt:U.value}});Object.assign(H.value,e),_.success(`ذخیره شد`)}catch(e){_.error(m(e))}}async function Y(){if(H.value)try{await g(`/admin/media/${H.value.id}`,{method:`DELETE`}),_.success(`تصویر حذف شد`),H.value=null,await K()}catch(e){_.error(m(e))}}async function X(e){await navigator.clipboard.writeText(new URL(e,location.origin).toString()),_.success(`آدرس کپی شد`)}return n(()=>{G(),window.addEventListener(`resize`,G),K()}),x(()=>{typeof window<`u`&&window.removeEventListener(`resize`,G)}),(n,i)=>{let c=h(`a-button`),m=h(`a-upload`),g=h(`a-input-search`),_=h(`a-empty`),y=h(`a-spin`),x=h(`a-pagination`),G=h(`a-card`),Z=h(`a-descriptions-item`),se=h(`a-descriptions`),ce=h(`a-input`),le=h(`a-form-item`),Q=h(`a-popconfirm`),$=h(`a-space`),ue=h(`a-form`),de=h(`a-drawer`);return s(),v(l,null,[f(T,{title:`کتابخانه رسانه`,subtitle:`${a(w)(L.value)} تصویر`},{default:o(()=>[f(m,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,multiple:``,"show-upload-list":!1,"before-upload":q},{default:o(()=>[f(c,{type:`primary`,loading:V.value>0},{icon:o(()=>[f(e,{name:`document-upload`,size:16})]),default:o(()=>[i[7]||=p(` آپلود تصویر `,-1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`subtitle`]),f(G,null,{default:o(()=>[f(g,{value:z.value,"onUpdate:value":i[0]||=e=>z.value=e,"allow-clear":``,placeholder:`جستجو در نام فایل یا متن جایگزین`,class:`mb-4 w-full md:max-w-md`,onSearch:i[1]||=()=>{R.value=1,K()}},null,8,[`value`]),f(y,{spinning:B.value},{default:o(()=>[!I.value.length&&!B.value?(s(),u(_,{key:0,description:`تصویری پیدا نشد`})):d(``,!0),b(`div`,E,[(s(!0),v(l,null,r(I.value,e=>(s(),v(`button`,{key:e.id,type:`button`,class:`group relative overflow-hidden rounded-xl border border-gray-200 bg-gray-50 transition active:scale-95 hover:border-[#ff5a00] focus:outline-none`,title:e.originalName,onClick:t=>oe(e)},[b(`img`,{src:e.url,alt:e.alt,class:`aspect-square w-full object-contain p-1`,loading:`lazy`},null,8,O),b(`div`,k,t(e.originalName),1)],8,D))),128))])]),_:1},8,[`spinning`]),b(`div`,A,[f(x,{current:R.value,"onUpdate:current":i[2]||=e=>R.value=e,total:L.value,"page-size":P,"show-size-changer":!1,simple:W.value,onChange:K},null,8,[`current`,`total`,`simple`])])]),_:1}),b(`div`,j,[f(m,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,multiple:``,"show-upload-list":!1,"before-upload":q},{default:o(()=>[b(`button`,{type:`button`,class:`flex size-13 items-center justify-center rounded-full bg-[#ff5a00] text-white shadow-lg shadow-orange-500/30 transition-transform active:scale-95`,title:`آپلود تصویر`,disabled:V.value>0},[V.value===0?(s(),u(e,{key:0,name:`document-upload`,size:24})):(s(),v(`span`,N,t(V.value),1))],8,M)]),_:1})]),f(de,{open:!!H.value,title:`جزئیات تصویر`,width:W.value?`100%`:380,height:W.value?`82vh`:void 0,placement:W.value?`bottom`:`left`,"body-style":{paddingBottom:W.value?`80px`:`24px`},onClose:i[6]||=e=>H.value=null},{default:o(()=>[H.value?(s(),v(l,{key:0},[b(`div`,ee,[b(`img`,{src:H.value.url,alt:H.value.alt,class:`max-h-60 w-full object-contain`},null,8,te)]),f(se,{column:W.value?2:1,size:`small`,class:`mt-4`},{default:o(()=>[f(Z,{label:`نام فایل`,span:W.value?2:1},{default:o(()=>[b(`span`,ne,t(H.value.originalName),1)]),_:1},8,[`span`]),f(Z,{label:`ابعاد`},{default:o(()=>[b(`span`,re,t(H.value.width)+`×`+t(H.value.height),1)]),_:1}),f(Z,{label:`حجم`},{default:o(()=>[p(t(a(C)(H.value.size)),1)]),_:1}),f(Z,{label:`تاریخ`,span:W.value?2:1},{default:o(()=>[p(t(a(S)(H.value.createdAt)),1)]),_:1},8,[`span`])]),_:1},8,[`column`]),f(ue,{layout:`vertical`,class:`mt-4`},{default:o(()=>[f(le,{label:`متن جایگزین (alt)`,class:`!mb-3`},{default:o(()=>[f(ce,{value:U.value,"onUpdate:value":i[3]||=e=>U.value=e,placeholder:`توضیح کوتاه برای سئو و دسترس‌پذیری`},null,8,[`value`])]),_:1}),b(`div`,ie,[f($,{wrap:``},{default:o(()=>[f(c,{type:`primary`,onClick:J},{default:o(()=>[...i[8]||=[p(`ذخیره`,-1)]]),_:1}),f(c,{onClick:i[4]||=e=>X(H.value.url)},{icon:o(()=>[f(e,{name:`copy`,size:16})]),default:o(()=>[i[9]||=p(`کپی آدرس`,-1)]),_:1}),a(F).isAdmin?(s(),u(Q,{key:0,title:`این تصویر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:Y},{default:o(()=>[f(c,{danger:``},{icon:o(()=>[f(e,{name:`trash`,size:16})]),default:o(()=>[i[10]||=p(`حذف`,-1)]),_:1})]),_:1})):d(``,!0)]),_:1})]),b(`div`,ae,[f(c,{type:`primary`,class:`h-10 !font-bold`,onClick:J},{default:o(()=>[...i[11]||=[p(`ذخیره متن`,-1)]]),_:1}),f(c,{class:`h-10 !flex !items-center !justify-center !gap-1`,onClick:i[5]||=e=>X(H.value.url)},{icon:o(()=>[f(e,{name:`copy`,size:16})]),default:o(()=>[i[12]||=b(`span`,null,`کپی آدرس`,-1)]),_:1}),a(F).isAdmin?(s(),u(Q,{key:0,title:`این تصویر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:Y},{default:o(()=>[f(c,{danger:``,class:`col-span-2 h-10 !flex !items-center !justify-center !gap-1`},{icon:o(()=>[f(e,{name:`trash`,size:16})]),default:o(()=>[i[13]||=b(`span`,null,`حذف تصویر`,-1)]),_:1})]),_:1})):d(``,!0)])]),_:1})],64)):d(``,!0)]),_:1},8,[`open`,`width`,`height`,`placement`,`body-style`])],64)}}});export{F as default}; \ No newline at end of file +import{t as e}from"./VuesaxIcon-B2OgulS6.js";import{Bt as t,Ct as n,Dt as r,It as i,Lt as a,Nt as o,Tt as s,_t as c,ct as l,dt as u,ft as d,gt as f,ht as p,i as m,kt as h,n as g,ot as _,pt as v,t as y,ut as b,wt as x}from"./index-BuGK6ptM.js";import{a as S,i as C,r as w}from"./format-B9MYDQJN.js";import{t as T}from"./PageHeader-3Ryvg2HD.js";var E={class:`grid grid-cols-3 gap-2.5 sm:grid-cols-4 md:grid-cols-6 xl:grid-cols-9`},D=[`title`,`onClick`],O=[`src`,`alt`],k={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/60 to-transparent p-1 text-[9px] text-white opacity-0 transition group-hover:opacity-100 max-lg:hidden truncate`},A={class:`mt-4 flex justify-center`},j={class:`lg:hidden fixed bottom-20 left-4 z-30`},M=[`disabled`],N={key:1,class:`text-xs font-bold`},ee={class:`overflow-hidden rounded-xl border border-gray-200 bg-gray-50 flex items-center justify-center p-2`},te=[`src`,`alt`],ne={dir:`ltr`,class:`truncate block max-w-[240px] text-xs font-mono text-gray-700`},re={dir:`ltr`,class:`text-xs font-mono`},ie={class:`max-lg:grid max-lg:grid-cols-2 max-lg:gap-2 max-lg:mt-4 max-lg:hidden`},ae={class:`lg:hidden grid grid-cols-2 gap-2 mt-4`},P=36,F=c({__name:`MediaPage`,setup(c){let F=y(),I=i([]),L=i(0),R=i(1),z=i(``),B=i(!1),V=i(0),H=i(null),U=i(``),W=i(!1);function G(){typeof window<`u`&&(W.value=window.innerWidth<1024)}async function K(){B.value=!0;try{let e=await g(`/admin/media`,{query:{page:R.value,pageSize:P,q:z.value||void 0}});I.value=e.items,L.value=e.total}catch(e){_.error(m(e))}finally{B.value=!1}}async function q(e){V.value++;try{let t=new FormData;t.append(`file`,e),await g(`/admin/media`,{method:`POST`,body:t}),_.success(`«${e.name}» آپلود شد`),R.value=1,await K()}catch(t){_.error(`${e.name}: ${m(t)}`)}finally{V.value--}return!1}function oe(e){H.value=e,U.value=e.alt}async function J(){if(H.value)try{let e=await g(`/admin/media/${H.value.id}`,{method:`PATCH`,body:{alt:U.value}});Object.assign(H.value,e),_.success(`ذخیره شد`)}catch(e){_.error(m(e))}}async function Y(){if(H.value)try{await g(`/admin/media/${H.value.id}`,{method:`DELETE`}),_.success(`تصویر حذف شد`),H.value=null,await K()}catch(e){_.error(m(e))}}async function X(e){await navigator.clipboard.writeText(new URL(e,location.origin).toString()),_.success(`آدرس کپی شد`)}return n(()=>{G(),window.addEventListener(`resize`,G),K()}),x(()=>{typeof window<`u`&&window.removeEventListener(`resize`,G)}),(n,i)=>{let c=h(`a-button`),m=h(`a-upload`),g=h(`a-input-search`),_=h(`a-empty`),y=h(`a-spin`),x=h(`a-pagination`),G=h(`a-card`),Z=h(`a-descriptions-item`),se=h(`a-descriptions`),ce=h(`a-input`),le=h(`a-form-item`),Q=h(`a-popconfirm`),$=h(`a-space`),ue=h(`a-form`),de=h(`a-drawer`);return s(),v(l,null,[f(T,{title:`کتابخانه رسانه`,subtitle:`${a(w)(L.value)} تصویر`},{default:o(()=>[f(m,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,multiple:``,"show-upload-list":!1,"before-upload":q},{default:o(()=>[f(c,{type:`primary`,loading:V.value>0},{icon:o(()=>[f(e,{name:`document-upload`,size:16})]),default:o(()=>[i[7]||=p(` آپلود تصویر `,-1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`subtitle`]),f(G,null,{default:o(()=>[f(g,{value:z.value,"onUpdate:value":i[0]||=e=>z.value=e,"allow-clear":``,placeholder:`جستجو در نام فایل یا متن جایگزین`,class:`mb-4 w-full md:max-w-md`,onSearch:i[1]||=()=>{R.value=1,K()}},null,8,[`value`]),f(y,{spinning:B.value},{default:o(()=>[!I.value.length&&!B.value?(s(),u(_,{key:0,description:`تصویری پیدا نشد`})):d(``,!0),b(`div`,E,[(s(!0),v(l,null,r(I.value,e=>(s(),v(`button`,{key:e.id,type:`button`,class:`group relative overflow-hidden rounded-xl border border-gray-200 bg-gray-50 transition active:scale-95 hover:border-[#ff5a00] focus:outline-none`,title:e.originalName,onClick:t=>oe(e)},[b(`img`,{src:e.url,alt:e.alt,class:`aspect-square w-full object-contain p-1`,loading:`lazy`},null,8,O),b(`div`,k,t(e.originalName),1)],8,D))),128))])]),_:1},8,[`spinning`]),b(`div`,A,[f(x,{current:R.value,"onUpdate:current":i[2]||=e=>R.value=e,total:L.value,"page-size":P,"show-size-changer":!1,simple:W.value,onChange:K},null,8,[`current`,`total`,`simple`])])]),_:1}),b(`div`,j,[f(m,{accept:`image/jpeg,image/png,image/webp,image/avif,image/gif`,multiple:``,"show-upload-list":!1,"before-upload":q},{default:o(()=>[b(`button`,{type:`button`,class:`flex size-13 items-center justify-center rounded-full bg-[#ff5a00] text-white shadow-lg shadow-orange-500/30 transition-transform active:scale-95`,title:`آپلود تصویر`,disabled:V.value>0},[V.value===0?(s(),u(e,{key:0,name:`document-upload`,size:24})):(s(),v(`span`,N,t(V.value),1))],8,M)]),_:1})]),f(de,{open:!!H.value,title:`جزئیات تصویر`,width:W.value?`100%`:380,height:W.value?`82vh`:void 0,placement:W.value?`bottom`:`left`,"body-style":{paddingBottom:W.value?`80px`:`24px`},onClose:i[6]||=e=>H.value=null},{default:o(()=>[H.value?(s(),v(l,{key:0},[b(`div`,ee,[b(`img`,{src:H.value.url,alt:H.value.alt,class:`max-h-60 w-full object-contain`},null,8,te)]),f(se,{column:W.value?2:1,size:`small`,class:`mt-4`},{default:o(()=>[f(Z,{label:`نام فایل`,span:W.value?2:1},{default:o(()=>[b(`span`,ne,t(H.value.originalName),1)]),_:1},8,[`span`]),f(Z,{label:`ابعاد`},{default:o(()=>[b(`span`,re,t(H.value.width)+`×`+t(H.value.height),1)]),_:1}),f(Z,{label:`حجم`},{default:o(()=>[p(t(a(C)(H.value.size)),1)]),_:1}),f(Z,{label:`تاریخ`,span:W.value?2:1},{default:o(()=>[p(t(a(S)(H.value.createdAt)),1)]),_:1},8,[`span`])]),_:1},8,[`column`]),f(ue,{layout:`vertical`,class:`mt-4`},{default:o(()=>[f(le,{label:`متن جایگزین (alt)`,class:`!mb-3`},{default:o(()=>[f(ce,{value:U.value,"onUpdate:value":i[3]||=e=>U.value=e,placeholder:`توضیح کوتاه برای سئو و دسترس‌پذیری`},null,8,[`value`])]),_:1}),b(`div`,ie,[f($,{wrap:``},{default:o(()=>[f(c,{type:`primary`,onClick:J},{default:o(()=>[...i[8]||=[p(`ذخیره`,-1)]]),_:1}),f(c,{onClick:i[4]||=e=>X(H.value.url)},{icon:o(()=>[f(e,{name:`copy`,size:16})]),default:o(()=>[i[9]||=p(`کپی آدرس`,-1)]),_:1}),a(F).isAdmin?(s(),u(Q,{key:0,title:`این تصویر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:Y},{default:o(()=>[f(c,{danger:``},{icon:o(()=>[f(e,{name:`trash`,size:16})]),default:o(()=>[i[10]||=p(`حذف`,-1)]),_:1})]),_:1})):d(``,!0)]),_:1})]),b(`div`,ae,[f(c,{type:`primary`,class:`h-10 !font-bold`,onClick:J},{default:o(()=>[...i[11]||=[p(`ذخیره متن`,-1)]]),_:1}),f(c,{class:`h-10 !flex !items-center !justify-center !gap-1`,onClick:i[5]||=e=>X(H.value.url)},{icon:o(()=>[f(e,{name:`copy`,size:16})]),default:o(()=>[i[12]||=b(`span`,null,`کپی آدرس`,-1)]),_:1}),a(F).isAdmin?(s(),u(Q,{key:0,title:`این تصویر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:Y},{default:o(()=>[f(c,{danger:``,class:`col-span-2 h-10 !flex !items-center !justify-center !gap-1`},{icon:o(()=>[f(e,{name:`trash`,size:16})]),default:o(()=>[i[13]||=b(`span`,null,`حذف تصویر`,-1)]),_:1})]),_:1})):d(``,!0)])]),_:1})],64)):d(``,!0)]),_:1},8,[`open`,`width`,`height`,`placement`,`body-style`])],64)}}});export{F as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/MessagesPage-C1A1xjPE.js b/apps/admin/dist/assets/MessagesPage-Bb_X9ABq.js similarity index 97% rename from apps/admin/dist/assets/MessagesPage-C1A1xjPE.js rename to apps/admin/dist/assets/MessagesPage-Bb_X9ABq.js index a68af2c..2adaa53 100644 --- a/apps/admin/dist/assets/MessagesPage-C1A1xjPE.js +++ b/apps/admin/dist/assets/MessagesPage-Bb_X9ABq.js @@ -1 +1 @@ -import{i as e,r as t,t as n}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as r,Ct as i,Dt as a,It as o,Lt as s,Mt as c,Nt as l,Rt as u,Tt as d,_t as f,a as p,ct as m,dt as h,ft as g,gt as _,ht as v,i as y,kt as b,lt as x,n as S,ot as C,pt as w,t as T,ut as E}from"./index-BCImsMjH.js";import{a as D,r as ee}from"./format-NkL3G1Uq.js";import{t as O}from"./PageHeader-vyrIuh7P.js";var te={class:`!hidden lg:!block`},k={class:`mobile-filter-bar sticky top-[52px] z-20 bg-white/95 backdrop-blur-md -mx-3 px-3 py-2 border-b border-slate-100 flex items-center gap-1.5 overflow-x-auto no-scrollbar mb-3 lg:!hidden`},ne=[`onClick`],re={class:`whitespace-pre-line leading-7`},ie=[`href`],ae={class:`mobile-messages-view block lg:!hidden pb-20`},oe={key:1,class:`space-y-3`},se={class:`flex items-start justify-between gap-2`},ce={class:`flex items-center gap-1.5`},le={class:`font-bold text-[14px] text-slate-800`},ue={key:0,class:`size-2 rounded-full bg-orange-500 animate-pulse`},de={key:0,class:`text-xs text-slate-500 font-medium mt-0.5`},fe={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-2.5`},pe={class:`text-[11px] text-slate-400 font-mono`},me=[`href`],he={dir:`ltr`,class:`font-mono`},ge=[`onClick`],A={key:0,class:`text-xs text-slate-600 line-clamp-2 leading-relaxed bg-slate-50/70 p-2.5 rounded-lg border border-slate-100`},j={key:1,class:`text-xs text-slate-700 whitespace-pre-line leading-relaxed bg-orange-50/30 p-3 rounded-lg border border-orange-100`},M={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-3`},N={class:`flex items-center gap-2`},P={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 active:bg-rose-200 transition`,title:`حذف پیام`},F={key:2,class:`flex items-center justify-between gap-3 pt-4 px-1`},I={class:`text-xs text-slate-500 font-mono`},L=20,R=f({__name:`MessagesPage`,setup(f){let R=T(),z=p(),B=o(z.query.status||`ALL`),V=t.map(t=>({value:t,label:e[t]})),H=[{value:`ALL`,label:`همه`},...V],U=o(1),W=o([]),G=o(0),K=o(!1),q=o([]),J=x(()=>Math.ceil(G.value/L)||1);async function Y(){K.value=!0;try{let e=await S(`/admin/messages`,{query:{status:B.value===`ALL`?void 0:B.value,page:U.value,pageSize:L}});W.value=e.items,G.value=e.total}catch(e){C.error(y(e))}finally{K.value=!1}}async function X(t,n){try{await S(`/admin/messages/${t.id}`,{method:`PATCH`,body:{status:n}}),t.status=n,C.success(`وضعیت پیام به «${e[n]}» تغییر کرد`)}catch(e){C.error(y(e))}}function _e(e){let t=q.value.indexOf(e.id);t>-1?q.value.splice(t,1):(q.value.push(e.id),e.status===`NEW`&&X(e,`READ`))}function ve(e,t){e&&t.status===`NEW`&&X(t,`READ`)}async function Z(e){try{await S(`/admin/messages/${e.id}`,{method:`DELETE`}),C.success(`پیام حذف شد`),await Y()}catch(e){C.error(y(e))}}function Q(e){e<1||e>J.value||(U.value=e,Y())}let $={NEW:`orange`,READ:`blue`,ARCHIVED:`default`},ye=[{title:`نام`,dataIndex:`name`},{title:`سازمان`,dataIndex:`org`},{title:`تلفن`,key:`phone`,width:150},{title:`تاریخ`,key:`date`,width:170},{title:`وضعیت`,key:`status`,width:140},{title:``,key:`actions`,width:60}];return c(B,()=>{U.value=1,Y()}),i(Y),(t,i)=>{let o=b(`a-segmented`),c=b(`a-badge`),f=b(`a-select`),p=b(`a-button`),y=b(`a-popconfirm`),x=b(`a-table`),S=b(`a-card`),C=b(`a-empty`),T=b(`a-tag`),z=b(`Phone`),be=b(`a-spin`);return d(),w(m,null,[_(O,{title:`پیام‌های تماس`,subtitle:`${s(ee)(G.value)} پیام — استعلام‌ها و درخواست‌های ثبت‌شده از سایت`},{default:l(()=>[E(`div`,te,[_(o,{value:B.value,"onUpdate:value":i[0]||=e=>B.value=e,options:H},null,8,[`value`])])]),_:1},8,[`subtitle`]),E(`div`,k,[(d(),w(m,null,a(H,e=>E(`button`,{key:e.value,type:`button`,class:u([`px-3 py-1.5 rounded-full text-xs font-bold transition shrink-0 select-none cursor-pointer`,B.value===e.value?`bg-orange-600 text-white shadow-xs`:`bg-slate-100 text-slate-600 active:bg-slate-200`]),onClick:t=>B.value=e.value},r(e.label),11,ne)),64))]),_(S,{class:`!hidden lg:!block`,"body-style":{padding:0}},{default:l(()=>[_(x,{columns:ye,"data-source":W.value,loading:K.value,"row-key":`id`,scroll:{x:760},pagination:{current:U.value,pageSize:L,total:G.value,showSizeChanger:!1,onChange:e=>{U.value=e,Y()}},onExpand:ve},{expandedRowRender:l(({record:e})=>[E(`p`,re,r(e.message||`— بدون توضیح —`),1)]),bodyCell:l(({column:e,record:t})=>[e.key===`phone`?(d(),w(`a`,{key:0,href:`tel:${t.phone}`,dir:`ltr`,class:`hover:text-orange-600 font-mono`},r(t.phone),9,ie)):e.key===`date`?(d(),w(m,{key:1},[v(r(s(D)(t.createdAt)),1)],64)):e.key===`status`?(d(),h(f,{key:2,value:t.status,size:`small`,class:`w-28`,options:s(V),onChange:e=>X(t,e)},{suffixIcon:l(()=>[_(c,{color:$[t.status]},null,8,[`color`])]),_:2},1032,[`value`,`options`,`onChange`])):e.key===`actions`?(d(),w(m,{key:3},[s(R).isAdmin?(d(),h(y,{key:0,title:`این پیام حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>Z(t)},{default:l(()=>[_(p,{size:`small`,danger:``},{icon:l(()=>[_(n,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`])):g(``,!0)],64)):g(``,!0)]),_:1},8,[`data-source`,`loading`,`pagination`])]),_:1}),E(`div`,ae,[_(be,{spinning:K.value},{default:l(()=>[!W.value.length&&!K.value?(d(),h(C,{key:0,description:`پیامی با این وضعیت موجود نیست`,class:`py-12`})):(d(),w(`div`,oe,[(d(!0),w(m,null,a(W.value,t=>(d(),w(`div`,{key:t.id,class:u([`bg-white rounded-xl border border-slate-200/80 p-3.5 shadow-2xs transition`,{"border-orange-300 ring-2 ring-orange-100":t.status===`NEW`}])},[E(`div`,se,[E(`div`,null,[E(`div`,ce,[E(`span`,le,r(t.name),1),t.status===`NEW`?(d(),w(`span`,ue)):g(``,!0)]),t.org?(d(),w(`div`,de,r(t.org),1)):g(``,!0)]),_(T,{color:$[t.status],class:`!m-0 !text-[11px] !font-bold`},{default:l(()=>[v(r(s(e)[t.status]),1)]),_:2},1032,[`color`])]),E(`div`,fe,[E(`span`,pe,r(s(D)(t.createdAt)),1),E(`a`,{href:`tel:`+t.phone,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200/70 font-bold text-xs active:bg-emerald-100 active:scale-95 transition`,title:`تماس مستقیم با مشتری`},[_(z,{size:13,class:`text-emerald-600 shrink-0`}),E(`span`,he,r(t.phone),1)],8,me)]),E(`div`,{class:`mt-3 cursor-pointer`,onClick:e=>_e(t)},[q.value.includes(t.id)?(d(),w(`div`,j,[v(r(t.message||`— بدون توضیح —`)+` `,1),i[4]||=E(`div`,{class:`text-[10px] text-slate-400 font-medium mt-2`},`بستن متن پیام ↑`,-1)])):(d(),w(`div`,A,[v(r(t.message||`— بدون توضیح —`)+` `,1),i[3]||=E(`div`,{class:`text-[10px] text-orange-600 font-bold mt-1`},`مشاهده متن کامل پیام ←`,-1)]))],8,ge),E(`div`,M,[E(`div`,N,[i[5]||=E(`span`,{class:`text-[11px] text-slate-400`},`وضعیت:`,-1),_(f,{value:t.status,size:`small`,class:`w-28 !text-xs`,options:s(V),onChange:e=>X(t,e)},null,8,[`value`,`options`,`onChange`])]),s(R).isAdmin?(d(),h(y,{key:0,title:`این پیام حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>Z(t)},{default:l(()=>[E(`button`,P,[_(n,{name:`trash`,size:16})])]),_:1},8,[`onConfirm`])):g(``,!0)])],2))),128))])),J.value>1?(d(),w(`div`,F,[_(p,{disabled:U.value<=1,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:i[1]||=e=>Q(U.value-1)},{default:l(()=>[...i[6]||=[v(` صفحه قبلی `,-1)]]),_:1},8,[`disabled`]),E(`span`,I,r(U.value.toLocaleString(`fa-IR`))+` / `+r(J.value.toLocaleString(`fa-IR`)),1),_(p,{disabled:U.value>=J.value,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:i[2]||=e=>Q(U.value+1)},{default:l(()=>[...i[7]||=[v(` صفحه بعدی `,-1)]]),_:1},8,[`disabled`])])):g(``,!0)]),_:1},8,[`spinning`])])],64)}}});export{R as default}; \ No newline at end of file +import{i as e,r as t,t as n}from"./VuesaxIcon-B2OgulS6.js";import{Bt as r,Ct as i,Dt as a,It as o,Lt as s,Mt as c,Nt as l,Rt as u,Tt as d,_t as f,a as p,ct as m,dt as h,ft as g,gt as _,ht as v,i as y,kt as b,lt as x,n as S,ot as C,pt as w,t as T,ut as E}from"./index-BuGK6ptM.js";import{a as D,r as ee}from"./format-B9MYDQJN.js";import{t as O}from"./PageHeader-3Ryvg2HD.js";var te={class:`!hidden lg:!block`},k={class:`mobile-filter-bar sticky top-[52px] z-20 bg-white/95 backdrop-blur-md -mx-3 px-3 py-2 border-b border-slate-100 flex items-center gap-1.5 overflow-x-auto no-scrollbar mb-3 lg:!hidden`},ne=[`onClick`],re={class:`whitespace-pre-line leading-7`},ie=[`href`],ae={class:`mobile-messages-view block lg:!hidden pb-20`},oe={key:1,class:`space-y-3`},se={class:`flex items-start justify-between gap-2`},ce={class:`flex items-center gap-1.5`},le={class:`font-bold text-[14px] text-slate-800`},ue={key:0,class:`size-2 rounded-full bg-orange-500 animate-pulse`},de={key:0,class:`text-xs text-slate-500 font-medium mt-0.5`},fe={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-2.5`},pe={class:`text-[11px] text-slate-400 font-mono`},me=[`href`],he={dir:`ltr`,class:`font-mono`},ge=[`onClick`],A={key:0,class:`text-xs text-slate-600 line-clamp-2 leading-relaxed bg-slate-50/70 p-2.5 rounded-lg border border-slate-100`},j={key:1,class:`text-xs text-slate-700 whitespace-pre-line leading-relaxed bg-orange-50/30 p-3 rounded-lg border border-orange-100`},M={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-3`},N={class:`flex items-center gap-2`},P={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 active:bg-rose-200 transition`,title:`حذف پیام`},F={key:2,class:`flex items-center justify-between gap-3 pt-4 px-1`},I={class:`text-xs text-slate-500 font-mono`},L=20,R=f({__name:`MessagesPage`,setup(f){let R=T(),z=p(),B=o(z.query.status||`ALL`),V=t.map(t=>({value:t,label:e[t]})),H=[{value:`ALL`,label:`همه`},...V],U=o(1),W=o([]),G=o(0),K=o(!1),q=o([]),J=x(()=>Math.ceil(G.value/L)||1);async function Y(){K.value=!0;try{let e=await S(`/admin/messages`,{query:{status:B.value===`ALL`?void 0:B.value,page:U.value,pageSize:L}});W.value=e.items,G.value=e.total}catch(e){C.error(y(e))}finally{K.value=!1}}async function X(t,n){try{await S(`/admin/messages/${t.id}`,{method:`PATCH`,body:{status:n}}),t.status=n,C.success(`وضعیت پیام به «${e[n]}» تغییر کرد`)}catch(e){C.error(y(e))}}function _e(e){let t=q.value.indexOf(e.id);t>-1?q.value.splice(t,1):(q.value.push(e.id),e.status===`NEW`&&X(e,`READ`))}function ve(e,t){e&&t.status===`NEW`&&X(t,`READ`)}async function Z(e){try{await S(`/admin/messages/${e.id}`,{method:`DELETE`}),C.success(`پیام حذف شد`),await Y()}catch(e){C.error(y(e))}}function Q(e){e<1||e>J.value||(U.value=e,Y())}let $={NEW:`orange`,READ:`blue`,ARCHIVED:`default`},ye=[{title:`نام`,dataIndex:`name`},{title:`سازمان`,dataIndex:`org`},{title:`تلفن`,key:`phone`,width:150},{title:`تاریخ`,key:`date`,width:170},{title:`وضعیت`,key:`status`,width:140},{title:``,key:`actions`,width:60}];return c(B,()=>{U.value=1,Y()}),i(Y),(t,i)=>{let o=b(`a-segmented`),c=b(`a-badge`),f=b(`a-select`),p=b(`a-button`),y=b(`a-popconfirm`),x=b(`a-table`),S=b(`a-card`),C=b(`a-empty`),T=b(`a-tag`),z=b(`Phone`),be=b(`a-spin`);return d(),w(m,null,[_(O,{title:`پیام‌های تماس`,subtitle:`${s(ee)(G.value)} پیام — استعلام‌ها و درخواست‌های ثبت‌شده از سایت`},{default:l(()=>[E(`div`,te,[_(o,{value:B.value,"onUpdate:value":i[0]||=e=>B.value=e,options:H},null,8,[`value`])])]),_:1},8,[`subtitle`]),E(`div`,k,[(d(),w(m,null,a(H,e=>E(`button`,{key:e.value,type:`button`,class:u([`px-3 py-1.5 rounded-full text-xs font-bold transition shrink-0 select-none cursor-pointer`,B.value===e.value?`bg-orange-600 text-white shadow-xs`:`bg-slate-100 text-slate-600 active:bg-slate-200`]),onClick:t=>B.value=e.value},r(e.label),11,ne)),64))]),_(S,{class:`!hidden lg:!block`,"body-style":{padding:0}},{default:l(()=>[_(x,{columns:ye,"data-source":W.value,loading:K.value,"row-key":`id`,scroll:{x:760},pagination:{current:U.value,pageSize:L,total:G.value,showSizeChanger:!1,onChange:e=>{U.value=e,Y()}},onExpand:ve},{expandedRowRender:l(({record:e})=>[E(`p`,re,r(e.message||`— بدون توضیح —`),1)]),bodyCell:l(({column:e,record:t})=>[e.key===`phone`?(d(),w(`a`,{key:0,href:`tel:${t.phone}`,dir:`ltr`,class:`hover:text-orange-600 font-mono`},r(t.phone),9,ie)):e.key===`date`?(d(),w(m,{key:1},[v(r(s(D)(t.createdAt)),1)],64)):e.key===`status`?(d(),h(f,{key:2,value:t.status,size:`small`,class:`w-28`,options:s(V),onChange:e=>X(t,e)},{suffixIcon:l(()=>[_(c,{color:$[t.status]},null,8,[`color`])]),_:2},1032,[`value`,`options`,`onChange`])):e.key===`actions`?(d(),w(m,{key:3},[s(R).isAdmin?(d(),h(y,{key:0,title:`این پیام حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>Z(t)},{default:l(()=>[_(p,{size:`small`,danger:``},{icon:l(()=>[_(n,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`])):g(``,!0)],64)):g(``,!0)]),_:1},8,[`data-source`,`loading`,`pagination`])]),_:1}),E(`div`,ae,[_(be,{spinning:K.value},{default:l(()=>[!W.value.length&&!K.value?(d(),h(C,{key:0,description:`پیامی با این وضعیت موجود نیست`,class:`py-12`})):(d(),w(`div`,oe,[(d(!0),w(m,null,a(W.value,t=>(d(),w(`div`,{key:t.id,class:u([`bg-white rounded-xl border border-slate-200/80 p-3.5 shadow-2xs transition`,{"border-orange-300 ring-2 ring-orange-100":t.status===`NEW`}])},[E(`div`,se,[E(`div`,null,[E(`div`,ce,[E(`span`,le,r(t.name),1),t.status===`NEW`?(d(),w(`span`,ue)):g(``,!0)]),t.org?(d(),w(`div`,de,r(t.org),1)):g(``,!0)]),_(T,{color:$[t.status],class:`!m-0 !text-[11px] !font-bold`},{default:l(()=>[v(r(s(e)[t.status]),1)]),_:2},1032,[`color`])]),E(`div`,fe,[E(`span`,pe,r(s(D)(t.createdAt)),1),E(`a`,{href:`tel:`+t.phone,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200/70 font-bold text-xs active:bg-emerald-100 active:scale-95 transition`,title:`تماس مستقیم با مشتری`},[_(z,{size:13,class:`text-emerald-600 shrink-0`}),E(`span`,he,r(t.phone),1)],8,me)]),E(`div`,{class:`mt-3 cursor-pointer`,onClick:e=>_e(t)},[q.value.includes(t.id)?(d(),w(`div`,j,[v(r(t.message||`— بدون توضیح —`)+` `,1),i[4]||=E(`div`,{class:`text-[10px] text-slate-400 font-medium mt-2`},`بستن متن پیام ↑`,-1)])):(d(),w(`div`,A,[v(r(t.message||`— بدون توضیح —`)+` `,1),i[3]||=E(`div`,{class:`text-[10px] text-orange-600 font-bold mt-1`},`مشاهده متن کامل پیام ←`,-1)]))],8,ge),E(`div`,M,[E(`div`,N,[i[5]||=E(`span`,{class:`text-[11px] text-slate-400`},`وضعیت:`,-1),_(f,{value:t.status,size:`small`,class:`w-28 !text-xs`,options:s(V),onChange:e=>X(t,e)},null,8,[`value`,`options`,`onChange`])]),s(R).isAdmin?(d(),h(y,{key:0,title:`این پیام حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>Z(t)},{default:l(()=>[E(`button`,P,[_(n,{name:`trash`,size:16})])]),_:1},8,[`onConfirm`])):g(``,!0)])],2))),128))])),J.value>1?(d(),w(`div`,F,[_(p,{disabled:U.value<=1,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:i[1]||=e=>Q(U.value-1)},{default:l(()=>[...i[6]||=[v(` صفحه قبلی `,-1)]]),_:1},8,[`disabled`]),E(`span`,I,r(U.value.toLocaleString(`fa-IR`))+` / `+r(J.value.toLocaleString(`fa-IR`)),1),_(p,{disabled:U.value>=J.value,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:i[2]||=e=>Q(U.value+1)},{default:l(()=>[...i[7]||=[v(` صفحه بعدی `,-1)]]),_:1},8,[`disabled`])])):g(``,!0)]),_:1},8,[`spinning`])])],64)}}});export{R as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/PageHeader-vyrIuh7P.js b/apps/admin/dist/assets/PageHeader-3Ryvg2HD.js similarity index 85% rename from apps/admin/dist/assets/PageHeader-vyrIuh7P.js rename to apps/admin/dist/assets/PageHeader-3Ryvg2HD.js index d1893f4..564209f 100644 --- a/apps/admin/dist/assets/PageHeader-vyrIuh7P.js +++ b/apps/admin/dist/assets/PageHeader-3Ryvg2HD.js @@ -1 +1 @@ -import{n as e,t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Nt as r,Ot as i,Tt as a,_t as o,dt as s,ft as c,gt as l,kt as u,pt as d,ut as f}from"./index-BCImsMjH.js";var p={class:`page-header`},m={class:`page-header__main`},h={class:`min-w-0`},g={class:`page-header__title`},_={key:0,class:`page-header__subtitle`},v={key:0,class:`page-header__actions`},y=e(o({__name:`PageHeader`,props:{title:{},subtitle:{},back:{}},setup(e){return(o,y)=>{let b=u(`RouterLink`);return a(),d(`div`,p,[f(`div`,m,[e.back?(a(),s(b,{key:0,to:e.back,class:`page-header__back`,title:`بازگشت`},{default:r(()=>[l(t,{name:`arrow-right`,size:18})]),_:1},8,[`to`])):c(``,!0),f(`div`,h,[f(`h1`,g,n(e.title),1),e.subtitle?(a(),d(`p`,_,n(e.subtitle),1)):c(``,!0)])]),o.$slots.default?(a(),d(`div`,v,[i(o.$slots,`default`,{},void 0,!0)])):c(``,!0)])}}}),[[`__scopeId`,`data-v-c0b72af8`]]);export{y as t}; \ No newline at end of file +import{n as e,t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Nt as r,Ot as i,Tt as a,_t as o,dt as s,ft as c,gt as l,kt as u,pt as d,ut as f}from"./index-BuGK6ptM.js";var p={class:`page-header`},m={class:`page-header__main`},h={class:`min-w-0`},g={class:`page-header__title`},_={key:0,class:`page-header__subtitle`},v={key:0,class:`page-header__actions`},y=e(o({__name:`PageHeader`,props:{title:{},subtitle:{},back:{}},setup(e){return(o,y)=>{let b=u(`RouterLink`);return a(),d(`div`,p,[f(`div`,m,[e.back?(a(),s(b,{key:0,to:e.back,class:`page-header__back`,title:`بازگشت`},{default:r(()=>[l(t,{name:`arrow-right`,size:18})]),_:1},8,[`to`])):c(``,!0),f(`div`,h,[f(`h1`,g,n(e.title),1),e.subtitle?(a(),d(`p`,_,n(e.subtitle),1)):c(``,!0)])]),o.$slots.default?(a(),d(`div`,v,[i(o.$slots,`default`,{},void 0,!0)])):c(``,!0)])}}}),[[`__scopeId`,`data-v-c0b72af8`]]);export{y as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/ProductEditPage-B-Sknc6p.js b/apps/admin/dist/assets/ProductEditPage-DTSEsrWG.js similarity index 98% rename from apps/admin/dist/assets/ProductEditPage-B-Sknc6p.js rename to apps/admin/dist/assets/ProductEditPage-DTSEsrWG.js index edc03a0..28b38d2 100644 --- a/apps/admin/dist/assets/ProductEditPage-B-Sknc6p.js +++ b/apps/admin/dist/assets/ProductEditPage-DTSEsrWG.js @@ -1,4 +1,4 @@ -import{t as e,v as t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Ct as r,Dt as i,It as a,Lt as o,Mt as s,Nt as c,Rt as l,Tt as u,_t as d,a as f,bt as p,ct as m,dt as h,ft as g,gt as _,ht as v,i as y,jt as b,kt as x,lt as S,n as C,o as ee,ot as w,pt as T,st as te,ut as E}from"./index-BCImsMjH.js";import{t as D}from"./format-NkL3G1Uq.js";import{t as ne}from"./PageHeader-vyrIuh7P.js";import{n as re,t as O}from"./FormField-D95xTO-F.js";import{n as ie,r as ae,t as oe}from"./ListEditor-DF9sShFo.js";import{t as se}from"./slug-Flyc3fOh.js";var ce=d({__name:`LinesInput`,props:p({placeholder:{},rows:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=b(e,`modelValue`),n=e=>e.split(` +import{t as e,v as t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Ct as r,Dt as i,It as a,Lt as o,Mt as s,Nt as c,Rt as l,Tt as u,_t as d,a as f,bt as p,ct as m,dt as h,ft as g,gt as _,ht as v,i as y,jt as b,kt as x,lt as S,n as C,o as ee,ot as w,pt as T,st as te,ut as E}from"./index-BuGK6ptM.js";import{t as D}from"./format-B9MYDQJN.js";import{t as ne}from"./PageHeader-3Ryvg2HD.js";import{n as re,t as O}from"./FormField-CiVT7mqC.js";import{n as ie,r as ae,t as oe}from"./ListEditor-C8F91lSJ.js";import{t as se}from"./slug-Flyc3fOh.js";var ce=d({__name:`LinesInput`,props:p({placeholder:{},rows:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=b(e,`modelValue`),n=e=>e.split(` `).map(e=>e.trim()).filter(Boolean),r=a(t.value.join(` `));s(t,e=>{n(r.value).join(` `)!==e.join(` diff --git a/apps/admin/dist/assets/ProductsPage-BEwm5CwI.js b/apps/admin/dist/assets/ProductsPage-CVHBMUNz.js similarity index 99% rename from apps/admin/dist/assets/ProductsPage-BEwm5CwI.js rename to apps/admin/dist/assets/ProductsPage-CVHBMUNz.js index d77d7f3..d1e1be9 100644 --- a/apps/admin/dist/assets/ProductsPage-BEwm5CwI.js +++ b/apps/admin/dist/assets/ProductsPage-CVHBMUNz.js @@ -1 +1 @@ -import{n as e,t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Ct as r,Dt as i,Ft as a,It as o,Lt as s,Mt as c,Nt as l,Ot as u,Rt as d,St as f,Tt as p,_t as m,a as h,ct as g,dt as _,ft as v,gt as y,ht as b,i as x,kt as S,lt as C,n as w,o as ee,ot as T,pt as E,t as D,ut as O,xt as k}from"./index-BCImsMjH.js";var A={class:`ap`},j={key:0,class:`ap__head`},te=e(m({__name:`AdminPage`,props:{lockBody:{type:Boolean}},setup(e){return(t,n)=>(p(),E(`div`,A,[t.$slots.head?(p(),E(`header`,j,[u(t.$slots,`head`,{},void 0,!0)])):v(``,!0),O(`div`,{class:d([`ap__body`,{"ap__body--locked":e.lockBody}])},[u(t.$slots,`default`,{},void 0,!0)],2)]))}}),[[`__scopeId`,`data-v-7f365815`]]),ne={class:`toolbar !hidden lg:!flex`},re={class:`toolbar__start`},ie={class:`filter-panel`},ae={key:0,class:`filter-panel__hint`},oe={class:`mobile-products-toolbar lg:!hidden flex flex-col gap-2`},se={class:`flex items-center gap-2 w-full`},ce={key:0,class:`flex items-center gap-1.5 overflow-x-auto py-1 text-[11px] no-scrollbar`},le={key:0,class:`inline-flex items-center gap-1 bg-slate-100 text-slate-700 px-2 py-0.5 rounded-full shrink-0`},ue={key:1,class:`inline-flex items-center gap-1 bg-orange-50 text-orange-700 border border-orange-200/60 px-2 py-0.5 rounded-full shrink-0`},de={key:2,class:`inline-flex items-center gap-1 bg-blue-50 text-blue-700 border border-blue-200/60 px-2 py-0.5 rounded-full shrink-0`},fe={key:3,class:`inline-flex items-center gap-1 bg-slate-100 text-slate-700 px-2 py-0.5 rounded-full shrink-0`},pe=[`src`,`title`],me={key:1,class:`size-12 rounded bg-gray-100`},he={class:`text-xs text-gray-400`,dir:`ltr`},ge={key:0,class:`text-xs text-gray-400`},_e={class:`mobile-products-view block lg:!hidden pb-24`},ve={key:0,class:`mb-3 p-2.5 rounded-xl bg-orange-50 border border-orange-200/70 text-xs text-orange-800 flex items-center gap-2`},ye={class:`flex items-center justify-between text-xs text-slate-500 px-1 mb-2.5`},be={key:0,class:`font-mono`},xe={key:1,class:`space-y-2.5`},Se={class:`flex items-start gap-3`},Ce=[`src`],we={key:1,class:`size-14 rounded-lg bg-slate-100 shrink-0 flex items-center justify-center text-slate-300`},Te={class:`min-w-0 flex-1`},Ee={class:`flex items-start justify-between gap-2`},De={class:`text-[10px] font-mono text-slate-500 bg-slate-100 px-1.5 py-0.5 rounded shrink-0`,dir:`ltr`},Oe={class:`flex flex-wrap items-center gap-1.5 mt-1.5 text-[11px] text-slate-500`},ke={class:`text-slate-600 font-medium`},Ae={key:0,class:`text-slate-400`},je={key:1,class:`text-slate-500`},Me={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-2.5`},Ne={class:`flex items-center gap-2`},Pe={class:`flex items-center gap-1.5`},Fe=[`disabled`,`onClick`],Ie=[`disabled`,`onClick`],Le={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`ویرایش`},Re=[`onClick`],ze={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 active:bg-rose-200 transition`,title:`حذف`},Be={key:2,class:`flex items-center justify-between gap-3 pt-4 px-1`},Ve={class:`text-xs text-slate-500 font-mono`},He={class:`flex flex-col gap-4`},Ue={class:`flex items-center justify-between border-b border-slate-100 pb-3`},We={class:`flex items-center gap-2`},Ge={class:`space-y-3`},Ke={class:`flex items-center gap-2.5 pt-2 border-t border-slate-100`},qe=20,M=e(m({__name:`ProductsPage`,setup(e){let u=h(),m=ee(),A=D(),j=o(null),M=o(360),N=null;function P(){let e=j.value;if(!e)return;let t=e.querySelector(`.ant-table-pagination`),n=e.querySelector(`.ant-table-thead`),r=t?.offsetHeight??(Z.value?0:48),i=n?.offsetHeight??55;M.value=Math.max(180,e.clientHeight-r-i-16)}let F=e=>e?Number(e):void 0,Je=[`10`,`20`,`50`,`100`],I=a({categoryId:F(u.query.categoryId),groupId:F(u.query.groupId),status:u.query.status||void 0,q:typeof u.query.q==`string`?u.query.q:``,page:F(u.query.page)??1,pageSize:F(u.query.pageSize)??qe}),L=o([]),R=o(0),z=o(!1),B=o([]),V=o([]),H=o(!1),U=o(!1),W=C(()=>[I.categoryId,I.groupId,I.status].filter(Boolean).length),G=C(()=>B.value.find(e=>e.id===I.categoryId)?.name),K=C(()=>V.value.find(e=>e.id===I.groupId)?.name),q=C(()=>Math.ceil(R.value/I.pageSize)||1);function J(){I.categoryId=void 0,I.groupId=void 0,I.status=void 0,I.q=``,I.page=1,Q()}function Ye(){I.categoryId=void 0,I.groupId=void 0,I.page=1,Q()}function Xe(){I.groupId=void 0,I.page=1,Q()}function Ze(){I.status=void 0,I.page=1,Q()}function Qe(){I.q=``,I.page=1,Q()}function Y(e){e<1||e>q.value||(I.page=e,Q())}let X=e=>e.image?{url:e.image.url,fallback:!1}:{url:B.value.find(t=>t.id===e.categoryId)?.coverImage?.url??null,fallback:!0},Z=C(()=>!!I.categoryId&&!I.groupId&&!I.status&&!I.q),$e=C(()=>Z.value?200:I.pageSize),et=C(()=>!Z.value&&{current:I.page,pageSize:I.pageSize,total:R.value,showSizeChanger:!0,pageSizeOptions:Je,showQuickJumper:!0,showTotal:e=>`${e.toLocaleString(`fa-IR`)} محصول`,onChange:(e,t)=>{I.page=e,t!==I.pageSize&&(I.pageSize=t,I.page=1),Q()}});async function Q(){z.value=!0,m.replace({query:Object.fromEntries(Object.entries({...I,page:I.page===1?void 0:I.page,pageSize:I.pageSize===qe?void 0:I.pageSize}).filter(([,e])=>e))});try{let e=await w(`/admin/products`,{query:{...I,q:I.q||void 0,pageSize:$e.value}});L.value=e.items,R.value=e.total}catch(e){T.error(x(e))}finally{z.value=!1}}async function tt(){V.value=I.categoryId?(await w(`/admin/categories/${I.categoryId}`)).groups:[]}c(()=>I.categoryId,async()=>{I.groupId=void 0,await tt()}),c(()=>[I.categoryId,I.groupId,I.status],()=>{I.page=1,Q()});async function nt(e,t){try{await w(`/admin/products/${e.id}/publish`,{method:`PATCH`,body:{isPublished:t}}),e.isPublished=t,T.success(t?`محصول منتشر شد`:`محصول از سایت مخفی شد`)}catch(e){T.error(x(e))}}async function rt(e){try{let t=await w(`/admin/products/${e.id}/duplicate`,{method:`POST`});T.success(`کپی پیش‌نویس ساخته شد`),await m.push({name:`product-edit`,params:{id:t.id}})}catch(e){T.error(x(e))}}async function it(e){try{await w(`/admin/products/${e.id}`,{method:`DELETE`}),T.success(`محصول حذف شد`),await Q()}catch(e){T.error(x(e))}}async function $(e,t){let n=[...L.value],[r]=n.splice(e,1);n.splice(e+t,0,r),L.value=n;try{await w(`/admin/products/reorder`,{method:`POST`,body:{ids:n.map(e=>e.id)}})}catch(e){T.error(x(e)),await Q()}}let at=C(()=>[{title:`تصویر`,key:`image`,width:76},{title:`محصول`,key:`name`},{title:`دسته / زیرگروه`,key:`category`,width:200},{title:`انتشار`,key:`status`,width:90},...Z.value?[{title:`ترتیب`,key:`order`,width:100}]:[],{title:``,key:`actions`,width:130}]);return c([Z,z,L],async()=>{await k(),P()}),r(async()=>{try{B.value=await w(`/admin/categories`),await tt()}catch(e){T.error(x(e))}await Q(),await k(),j.value&&(N=new ResizeObserver(()=>P()),N.observe(j.value),P())}),f(()=>{N?.disconnect(),N=null}),(e,r)=>{let a=S(`a-input-search`),o=S(`a-select`),c=S(`a-button`),u=S(`a-badge`),f=S(`a-popover`),m=S(`RouterLink`),h=S(`a-switch`),x=S(`a-space`),C=S(`a-popconfirm`),w=S(`a-table`),ee=S(`a-empty`),T=S(`a-spin`),D=S(`a-drawer`);return p(),_(te,{"lock-body":``},{head:l(()=>[O(`div`,ne,[O(`div`,re,[y(a,{value:I.q,"onUpdate:value":r[0]||=e=>I.q=e,"allow-clear":``,class:`toolbar__search`,placeholder:`جستجوی نام یا کد`,onSearch:r[1]||=()=>{I.page=1,Q()}},null,8,[`value`]),y(f,{open:H.value,"onUpdate:open":r[5]||=e=>H.value=e,trigger:`click`,placement:`bottomLeft`,"overlay-style":{width:`280px`}},{content:l(()=>[O(`div`,ie,[y(o,{value:I.categoryId,"onUpdate:value":r[2]||=e=>I.categoryId=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه دسته‌ها`,options:B.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`]),y(o,{value:I.groupId,"onUpdate:value":r[3]||=e=>I.groupId=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه زیرگروه‌ها`,disabled:!V.value.length,options:V.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`disabled`,`options`]),y(o,{value:I.status,"onUpdate:value":r[4]||=e=>I.status=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه وضعیت‌ها`,options:[{value:`published`,label:`منتشرشده`},{value:`draft`,label:`پیش‌نویس / مخفی`}]},null,8,[`value`]),I.categoryId&&!Z.value?(p(),E(`p`,ae,` برای تغییر ترتیب، فقط فیلتر دسته را نگه دارید. `)):v(``,!0)])]),default:l(()=>[y(u,{count:W.value,offset:[-4,4],color:`#ff5a00`},{default:l(()=>[y(c,null,{icon:l(()=>[y(t,{name:`filter`,size:16})]),default:l(()=>[r[18]||=b(` فیلتر `,-1)]),_:1})]),_:1},8,[`count`])]),_:1},8,[`open`])]),y(m,{class:`toolbar__new`,to:{name:`product-new`,query:I.categoryId?{categoryId:I.categoryId}:{}}},{default:l(()=>[y(c,{type:`primary`},{icon:l(()=>[y(t,{name:`add`,size:16})]),default:l(()=>[r[19]||=b(` محصول جدید `,-1)]),_:1})]),_:1},8,[`to`])]),O(`div`,oe,[O(`div`,se,[y(a,{value:I.q,"onUpdate:value":r[6]||=e=>I.q=e,"allow-clear":``,class:`flex-1`,placeholder:`جستجوی نام یا کد کالا...`,onSearch:r[7]||=()=>{I.page=1,Q()}},null,8,[`value`]),y(u,{count:W.value,offset:[-2,2],color:`#ff5a00`},{default:l(()=>[y(c,{class:`!h-9 !px-3 !rounded-lg !flex !items-center !gap-1.5`,type:W.value>0?`primary`:`default`,ghost:W.value>0,onClick:r[8]||=e=>U.value=!0},{icon:l(()=>[y(t,{name:`filter`,size:16})]),default:l(()=>[r[20]||=O(`span`,{class:`text-xs`},`فیلتر`,-1)]),_:1},8,[`type`,`ghost`])]),_:1},8,[`count`])]),W.value>0||I.q?(p(),E(`div`,ce,[I.q?(p(),E(`span`,le,[b(` جستجو: «`+n(I.q)+`» `,1),O(`button`,{type:`button`,class:`text-slate-400 hover:text-slate-600`,onClick:Qe},`✕`)])):v(``,!0),G.value?(p(),E(`span`,ue,[b(n(G.value)+` `,1),O(`button`,{type:`button`,class:`text-orange-400 hover:text-orange-700`,onClick:Ye},`✕`)])):v(``,!0),K.value?(p(),E(`span`,de,[b(n(K.value)+` `,1),O(`button`,{type:`button`,class:`text-blue-400 hover:text-blue-700`,onClick:Xe},`✕`)])):v(``,!0),I.status?(p(),E(`span`,fe,[b(n(I.status===`published`?`منتشرشده`:`پیش‌نویس / مخفی`)+` `,1),O(`button`,{type:`button`,class:`text-slate-400 hover:text-slate-700`,onClick:Ze},`✕`)])):v(``,!0),O(`button`,{type:`button`,class:`text-[10px] text-rose-500 font-medium hover:underline shrink-0 px-1`,onClick:J},` حذف همه `)])):v(``,!0)])]),default:l(()=>[O(`div`,{ref_key:`tableShell`,ref:j,class:`table-shell !hidden lg:!flex`},[y(w,{class:`table-shell__table`,columns:at.value,"data-source":L.value,loading:z.value,"row-key":`id`,scroll:{x:760,y:M.value},pagination:et.value},{bodyCell:l(({column:e,record:r,index:i})=>[e.key===`image`?(p(),E(g,{key:0},[X(r).url?(p(),E(`img`,{key:0,src:X(r).url,alt:``,title:X(r).fallback?`این محصول عکس ندارد؛ کاور دسته نمایش داده شده`:void 0,class:d([`size-12 rounded bg-gray-50 object-contain`,X(r).fallback&&`opacity-40 grayscale`])},null,10,pe)):(p(),E(`div`,me))],64)):e.key===`name`?(p(),E(g,{key:1},[y(m,{to:{name:`product-edit`,params:{id:r.id}},class:`font-bold text-[#0f172a] hover:text-[#ff5a00]`},{default:l(()=>[b(n(r.name),1)]),_:2},1032,[`to`]),O(`div`,he,n(r.code),1)],64)):e.key===`category`?(p(),E(g,{key:2},[O(`div`,null,n(r.category.name),1),r.group?(p(),E(`div`,ge,n(r.group.name),1)):v(``,!0)],64)):e.key===`status`?(p(),_(h,{key:3,checked:r.isPublished,size:`small`,onChange:e=>nt(r,!!e)},null,8,[`checked`,`onChange`])):e.key===`order`?(p(),_(x,{key:4,size:4},{default:l(()=>[y(c,{size:`small`,disabled:i===0,onClick:e=>$(i,-1)},{icon:l(()=>[y(t,{name:`arrow-up`,size:14})]),_:1},8,[`disabled`,`onClick`]),y(c,{size:`small`,disabled:i===L.value.length-1,onClick:e=>$(i,1)},{icon:l(()=>[y(t,{name:`arrow-down`,size:14})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)):e.key===`actions`?(p(),_(x,{key:5,size:4},{default:l(()=>[y(m,{to:{name:`product-edit`,params:{id:r.id}}},{default:l(()=>[y(c,{size:`small`,title:`ویرایش`},{icon:l(()=>[y(t,{name:`edit-2`,size:14})]),_:1})]),_:1},8,[`to`]),y(c,{size:`small`,title:`کپی`,onClick:e=>rt(r)},{icon:l(()=>[y(t,{name:`copy`,size:14})]),_:1},8,[`onClick`]),s(A).isAdmin?(p(),_(C,{key:0,title:`این محصول حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>it(r)},{default:l(()=>[y(c,{size:`small`,danger:``,title:`حذف`},{icon:l(()=>[y(t,{name:`trash`,size:14})]),_:1})]),_:1},8,[`onConfirm`])):v(``,!0)]),_:2},1024)):v(``,!0)]),_:1},8,[`columns`,`data-source`,`loading`,`scroll`,`pagination`])],512),O(`div`,_e,[Z.value?(p(),E(`div`,ve,[y(t,{name:`info-circle`,size:18,class:`text-orange-600 shrink-0`}),r[21]||=O(`span`,null,`حالت تغییر ترتیب فعال است. می‌توانید با فلش‌ها ترتیب کالاها را عوض کنید.`,-1)])):v(``,!0),O(`div`,ye,[O(`span`,null,n(R.value.toLocaleString(`fa-IR`))+` محصول`,1),!Z.value&&q.value>1?(p(),E(`span`,be,` صفحه `+n(I.page.toLocaleString(`fa-IR`))+` از `+n(q.value.toLocaleString(`fa-IR`)),1)):v(``,!0)]),y(T,{spinning:z.value},{default:l(()=>[!L.value.length&&!z.value?(p(),_(ee,{key:0,description:`محصولی با این مشخصات یافت نشد`,class:`py-12`})):(p(),E(`div`,xe,[(p(!0),E(g,null,i(L.value,(e,r)=>(p(),E(`div`,{key:e.id,class:`bg-white rounded-xl border border-slate-200/80 p-3 shadow-2xs transition active:bg-slate-50/50`},[O(`div`,Se,[X(e).url?(p(),E(`img`,{key:0,src:X(e).url,alt:``,class:d([`size-14 rounded-lg bg-slate-50 object-contain shrink-0 border border-slate-100`,X(e).fallback&&`opacity-40 grayscale`])},null,10,Ce)):(p(),E(`div`,we,[y(t,{name:`gallery`,size:20})])),O(`div`,Te,[O(`div`,Ee,[y(m,{to:{name:`product-edit`,params:{id:e.id}},class:`font-bold text-[13px] text-slate-800 hover:text-orange-600 line-clamp-2 leading-snug`},{default:l(()=>[b(n(e.name),1)]),_:2},1032,[`to`]),O(`span`,De,n(e.code),1)]),O(`div`,Oe,[O(`span`,ke,n(e.category.name),1),e.group?(p(),E(`span`,Ae,`/`)):v(``,!0),e.group?(p(),E(`span`,je,n(e.group.name),1)):v(``,!0)])])]),O(`div`,Me,[O(`div`,Ne,[y(h,{checked:e.isPublished,size:`small`,onChange:t=>nt(e,!!t)},null,8,[`checked`,`onChange`]),O(`span`,{class:d([`text-xs`,e.isPublished?`text-emerald-600 font-medium`:`text-slate-400`])},n(e.isPublished?`منتشرشده`:`پیش‌نویس`),3)]),O(`div`,Pe,[Z.value?(p(),E(g,{key:0},[O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===0,onClick:e=>$(r,-1)},[y(t,{name:`arrow-up`,size:16})],8,Fe),O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===L.value.length-1,onClick:e=>$(r,1)},[y(t,{name:`arrow-down`,size:16})],8,Ie)],64)):v(``,!0),y(m,{to:{name:`product-edit`,params:{id:e.id}}},{default:l(()=>[O(`button`,Le,[y(t,{name:`edit-2`,size:16})])]),_:1},8,[`to`]),O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`تکثیر / کپی`,onClick:t=>rt(e)},[y(t,{name:`copy`,size:16})],8,Re),s(A).isAdmin?(p(),_(C,{key:1,title:`این محصول حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:t=>it(e)},{default:l(()=>[O(`button`,ze,[y(t,{name:`trash`,size:16})])]),_:1},8,[`onConfirm`])):v(``,!0)])])]))),128))])),!Z.value&&q.value>1?(p(),E(`div`,Be,[y(c,{disabled:I.page<=1,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:r[9]||=e=>Y(I.page-1)},{default:l(()=>[...r[22]||=[b(` صفحه قبلی `,-1)]]),_:1},8,[`disabled`]),O(`span`,Ve,n(I.page.toLocaleString(`fa-IR`))+` / `+n(q.value.toLocaleString(`fa-IR`)),1),y(c,{disabled:I.page>=q.value,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:r[10]||=e=>Y(I.page+1)},{default:l(()=>[...r[23]||=[b(` صفحه بعدی `,-1)]]),_:1},8,[`disabled`])])):v(``,!0)]),_:1},8,[`spinning`]),y(m,{to:{name:`product-new`,query:I.categoryId?{categoryId:I.categoryId}:{}},class:`fixed start-4 bottom-[72px] z-30 flex items-center gap-2 px-4 py-2.5 rounded-full bg-linear-to-r from-[#ff5a00] to-[#ff7a29] text-white font-bold text-xs shadow-lg shadow-orange-500/30 active:scale-95 transition`},{default:l(()=>[y(t,{name:`add`,size:18}),r[24]||=O(`span`,null,`محصول جدید`,-1)]),_:1},8,[`to`])]),y(D,{open:U.value,"onUpdate:open":r[17]||=e=>U.value=e,placement:`bottom`,height:`auto`,closable:!1,class:`mobile-filter-drawer`,"body-style":{padding:`16px 20px 24px`,background:`#ffffff`,borderTopLeftRadius:`20px`,borderTopRightRadius:`20px`}},{default:l(()=>[O(`div`,He,[O(`div`,Ue,[O(`div`,We,[y(t,{name:`filter`,size:18,class:`text-orange-600`}),r[25]||=O(`span`,{class:`text-sm font-bold text-slate-800`},`فیلترهای کاتالوگ`,-1)]),O(`button`,{type:`button`,class:`text-xs text-slate-400 hover:text-slate-600`,onClick:r[11]||=e=>U.value=!1},` بستن `)]),O(`div`,Ge,[O(`div`,null,[r[26]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`دسته‌بندی`,-1),y(o,{value:I.categoryId,"onUpdate:value":r[12]||=e=>I.categoryId=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه دسته‌ها`,options:B.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),O(`div`,null,[r[27]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`زیرگروه کالا`,-1),y(o,{value:I.groupId,"onUpdate:value":r[13]||=e=>I.groupId=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه زیرگروه‌ها`,disabled:!V.value.length,options:V.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`disabled`,`options`])]),O(`div`,null,[r[28]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`وضعیت انتشار`,-1),y(o,{value:I.status,"onUpdate:value":r[14]||=e=>I.status=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه وضعیت‌ها`,options:[{value:`published`,label:`منتشرشده در سایت`},{value:`draft`,label:`پیش‌نویس / مخفی`}]},null,8,[`value`])])]),O(`div`,Ke,[W.value>0?(p(),_(c,{key:0,danger:``,class:`!h-11 !rounded-xl`,onClick:r[15]||=e=>{J(),U.value=!1}},{default:l(()=>[...r[29]||=[b(` حذف فیلترها `,-1)]]),_:1})):v(``,!0),y(c,{type:`primary`,block:``,class:`!h-11 !rounded-xl !font-bold`,onClick:r[16]||=e=>{U.value=!1,Q()}},{default:l(()=>[...r[30]||=[b(` اعمال فیلترها `,-1)]]),_:1})])])]),_:1},8,[`open`])]),_:1})}}}),[[`__scopeId`,`data-v-a64d8be2`]]);export{M as default}; \ No newline at end of file +import{n as e,t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Ct as r,Dt as i,Ft as a,It as o,Lt as s,Mt as c,Nt as l,Ot as u,Rt as d,St as f,Tt as p,_t as m,a as h,ct as g,dt as _,ft as v,gt as y,ht as b,i as x,kt as S,lt as C,n as w,o as ee,ot as T,pt as E,t as D,ut as O,xt as k}from"./index-BuGK6ptM.js";var A={class:`ap`},j={key:0,class:`ap__head`},te=e(m({__name:`AdminPage`,props:{lockBody:{type:Boolean}},setup(e){return(t,n)=>(p(),E(`div`,A,[t.$slots.head?(p(),E(`header`,j,[u(t.$slots,`head`,{},void 0,!0)])):v(``,!0),O(`div`,{class:d([`ap__body`,{"ap__body--locked":e.lockBody}])},[u(t.$slots,`default`,{},void 0,!0)],2)]))}}),[[`__scopeId`,`data-v-7f365815`]]),ne={class:`toolbar !hidden lg:!flex`},re={class:`toolbar__start`},ie={class:`filter-panel`},ae={key:0,class:`filter-panel__hint`},oe={class:`mobile-products-toolbar lg:!hidden flex flex-col gap-2`},se={class:`flex items-center gap-2 w-full`},ce={key:0,class:`flex items-center gap-1.5 overflow-x-auto py-1 text-[11px] no-scrollbar`},le={key:0,class:`inline-flex items-center gap-1 bg-slate-100 text-slate-700 px-2 py-0.5 rounded-full shrink-0`},ue={key:1,class:`inline-flex items-center gap-1 bg-orange-50 text-orange-700 border border-orange-200/60 px-2 py-0.5 rounded-full shrink-0`},de={key:2,class:`inline-flex items-center gap-1 bg-blue-50 text-blue-700 border border-blue-200/60 px-2 py-0.5 rounded-full shrink-0`},fe={key:3,class:`inline-flex items-center gap-1 bg-slate-100 text-slate-700 px-2 py-0.5 rounded-full shrink-0`},pe=[`src`,`title`],me={key:1,class:`size-12 rounded bg-gray-100`},he={class:`text-xs text-gray-400`,dir:`ltr`},ge={key:0,class:`text-xs text-gray-400`},_e={class:`mobile-products-view block lg:!hidden pb-24`},ve={key:0,class:`mb-3 p-2.5 rounded-xl bg-orange-50 border border-orange-200/70 text-xs text-orange-800 flex items-center gap-2`},ye={class:`flex items-center justify-between text-xs text-slate-500 px-1 mb-2.5`},be={key:0,class:`font-mono`},xe={key:1,class:`space-y-2.5`},Se={class:`flex items-start gap-3`},Ce=[`src`],we={key:1,class:`size-14 rounded-lg bg-slate-100 shrink-0 flex items-center justify-center text-slate-300`},Te={class:`min-w-0 flex-1`},Ee={class:`flex items-start justify-between gap-2`},De={class:`text-[10px] font-mono text-slate-500 bg-slate-100 px-1.5 py-0.5 rounded shrink-0`,dir:`ltr`},Oe={class:`flex flex-wrap items-center gap-1.5 mt-1.5 text-[11px] text-slate-500`},ke={class:`text-slate-600 font-medium`},Ae={key:0,class:`text-slate-400`},je={key:1,class:`text-slate-500`},Me={class:`flex items-center justify-between border-t border-slate-100 pt-2.5 mt-2.5`},Ne={class:`flex items-center gap-2`},Pe={class:`flex items-center gap-1.5`},Fe=[`disabled`,`onClick`],Ie=[`disabled`,`onClick`],Le={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`ویرایش`},Re=[`onClick`],ze={type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-rose-500 bg-rose-50 hover:bg-rose-100 active:bg-rose-200 transition`,title:`حذف`},Be={key:2,class:`flex items-center justify-between gap-3 pt-4 px-1`},Ve={class:`text-xs text-slate-500 font-mono`},He={class:`flex flex-col gap-4`},Ue={class:`flex items-center justify-between border-b border-slate-100 pb-3`},We={class:`flex items-center gap-2`},Ge={class:`space-y-3`},Ke={class:`flex items-center gap-2.5 pt-2 border-t border-slate-100`},qe=20,M=e(m({__name:`ProductsPage`,setup(e){let u=h(),m=ee(),A=D(),j=o(null),M=o(360),N=null;function P(){let e=j.value;if(!e)return;let t=e.querySelector(`.ant-table-pagination`),n=e.querySelector(`.ant-table-thead`),r=t?.offsetHeight??(Z.value?0:48),i=n?.offsetHeight??55;M.value=Math.max(180,e.clientHeight-r-i-16)}let F=e=>e?Number(e):void 0,Je=[`10`,`20`,`50`,`100`],I=a({categoryId:F(u.query.categoryId),groupId:F(u.query.groupId),status:u.query.status||void 0,q:typeof u.query.q==`string`?u.query.q:``,page:F(u.query.page)??1,pageSize:F(u.query.pageSize)??qe}),L=o([]),R=o(0),z=o(!1),B=o([]),V=o([]),H=o(!1),U=o(!1),W=C(()=>[I.categoryId,I.groupId,I.status].filter(Boolean).length),G=C(()=>B.value.find(e=>e.id===I.categoryId)?.name),K=C(()=>V.value.find(e=>e.id===I.groupId)?.name),q=C(()=>Math.ceil(R.value/I.pageSize)||1);function J(){I.categoryId=void 0,I.groupId=void 0,I.status=void 0,I.q=``,I.page=1,Q()}function Ye(){I.categoryId=void 0,I.groupId=void 0,I.page=1,Q()}function Xe(){I.groupId=void 0,I.page=1,Q()}function Ze(){I.status=void 0,I.page=1,Q()}function Qe(){I.q=``,I.page=1,Q()}function Y(e){e<1||e>q.value||(I.page=e,Q())}let X=e=>e.image?{url:e.image.url,fallback:!1}:{url:B.value.find(t=>t.id===e.categoryId)?.coverImage?.url??null,fallback:!0},Z=C(()=>!!I.categoryId&&!I.groupId&&!I.status&&!I.q),$e=C(()=>Z.value?200:I.pageSize),et=C(()=>!Z.value&&{current:I.page,pageSize:I.pageSize,total:R.value,showSizeChanger:!0,pageSizeOptions:Je,showQuickJumper:!0,showTotal:e=>`${e.toLocaleString(`fa-IR`)} محصول`,onChange:(e,t)=>{I.page=e,t!==I.pageSize&&(I.pageSize=t,I.page=1),Q()}});async function Q(){z.value=!0,m.replace({query:Object.fromEntries(Object.entries({...I,page:I.page===1?void 0:I.page,pageSize:I.pageSize===qe?void 0:I.pageSize}).filter(([,e])=>e))});try{let e=await w(`/admin/products`,{query:{...I,q:I.q||void 0,pageSize:$e.value}});L.value=e.items,R.value=e.total}catch(e){T.error(x(e))}finally{z.value=!1}}async function tt(){V.value=I.categoryId?(await w(`/admin/categories/${I.categoryId}`)).groups:[]}c(()=>I.categoryId,async()=>{I.groupId=void 0,await tt()}),c(()=>[I.categoryId,I.groupId,I.status],()=>{I.page=1,Q()});async function nt(e,t){try{await w(`/admin/products/${e.id}/publish`,{method:`PATCH`,body:{isPublished:t}}),e.isPublished=t,T.success(t?`محصول منتشر شد`:`محصول از سایت مخفی شد`)}catch(e){T.error(x(e))}}async function rt(e){try{let t=await w(`/admin/products/${e.id}/duplicate`,{method:`POST`});T.success(`کپی پیش‌نویس ساخته شد`),await m.push({name:`product-edit`,params:{id:t.id}})}catch(e){T.error(x(e))}}async function it(e){try{await w(`/admin/products/${e.id}`,{method:`DELETE`}),T.success(`محصول حذف شد`),await Q()}catch(e){T.error(x(e))}}async function $(e,t){let n=[...L.value],[r]=n.splice(e,1);n.splice(e+t,0,r),L.value=n;try{await w(`/admin/products/reorder`,{method:`POST`,body:{ids:n.map(e=>e.id)}})}catch(e){T.error(x(e)),await Q()}}let at=C(()=>[{title:`تصویر`,key:`image`,width:76},{title:`محصول`,key:`name`},{title:`دسته / زیرگروه`,key:`category`,width:200},{title:`انتشار`,key:`status`,width:90},...Z.value?[{title:`ترتیب`,key:`order`,width:100}]:[],{title:``,key:`actions`,width:130}]);return c([Z,z,L],async()=>{await k(),P()}),r(async()=>{try{B.value=await w(`/admin/categories`),await tt()}catch(e){T.error(x(e))}await Q(),await k(),j.value&&(N=new ResizeObserver(()=>P()),N.observe(j.value),P())}),f(()=>{N?.disconnect(),N=null}),(e,r)=>{let a=S(`a-input-search`),o=S(`a-select`),c=S(`a-button`),u=S(`a-badge`),f=S(`a-popover`),m=S(`RouterLink`),h=S(`a-switch`),x=S(`a-space`),C=S(`a-popconfirm`),w=S(`a-table`),ee=S(`a-empty`),T=S(`a-spin`),D=S(`a-drawer`);return p(),_(te,{"lock-body":``},{head:l(()=>[O(`div`,ne,[O(`div`,re,[y(a,{value:I.q,"onUpdate:value":r[0]||=e=>I.q=e,"allow-clear":``,class:`toolbar__search`,placeholder:`جستجوی نام یا کد`,onSearch:r[1]||=()=>{I.page=1,Q()}},null,8,[`value`]),y(f,{open:H.value,"onUpdate:open":r[5]||=e=>H.value=e,trigger:`click`,placement:`bottomLeft`,"overlay-style":{width:`280px`}},{content:l(()=>[O(`div`,ie,[y(o,{value:I.categoryId,"onUpdate:value":r[2]||=e=>I.categoryId=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه دسته‌ها`,options:B.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`]),y(o,{value:I.groupId,"onUpdate:value":r[3]||=e=>I.groupId=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه زیرگروه‌ها`,disabled:!V.value.length,options:V.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`disabled`,`options`]),y(o,{value:I.status,"onUpdate:value":r[4]||=e=>I.status=e,"allow-clear":``,style:{width:`100%`},placeholder:`همه وضعیت‌ها`,options:[{value:`published`,label:`منتشرشده`},{value:`draft`,label:`پیش‌نویس / مخفی`}]},null,8,[`value`]),I.categoryId&&!Z.value?(p(),E(`p`,ae,` برای تغییر ترتیب، فقط فیلتر دسته را نگه دارید. `)):v(``,!0)])]),default:l(()=>[y(u,{count:W.value,offset:[-4,4],color:`#ff5a00`},{default:l(()=>[y(c,null,{icon:l(()=>[y(t,{name:`filter`,size:16})]),default:l(()=>[r[18]||=b(` فیلتر `,-1)]),_:1})]),_:1},8,[`count`])]),_:1},8,[`open`])]),y(m,{class:`toolbar__new`,to:{name:`product-new`,query:I.categoryId?{categoryId:I.categoryId}:{}}},{default:l(()=>[y(c,{type:`primary`},{icon:l(()=>[y(t,{name:`add`,size:16})]),default:l(()=>[r[19]||=b(` محصول جدید `,-1)]),_:1})]),_:1},8,[`to`])]),O(`div`,oe,[O(`div`,se,[y(a,{value:I.q,"onUpdate:value":r[6]||=e=>I.q=e,"allow-clear":``,class:`flex-1`,placeholder:`جستجوی نام یا کد کالا...`,onSearch:r[7]||=()=>{I.page=1,Q()}},null,8,[`value`]),y(u,{count:W.value,offset:[-2,2],color:`#ff5a00`},{default:l(()=>[y(c,{class:`!h-9 !px-3 !rounded-lg !flex !items-center !gap-1.5`,type:W.value>0?`primary`:`default`,ghost:W.value>0,onClick:r[8]||=e=>U.value=!0},{icon:l(()=>[y(t,{name:`filter`,size:16})]),default:l(()=>[r[20]||=O(`span`,{class:`text-xs`},`فیلتر`,-1)]),_:1},8,[`type`,`ghost`])]),_:1},8,[`count`])]),W.value>0||I.q?(p(),E(`div`,ce,[I.q?(p(),E(`span`,le,[b(` جستجو: «`+n(I.q)+`» `,1),O(`button`,{type:`button`,class:`text-slate-400 hover:text-slate-600`,onClick:Qe},`✕`)])):v(``,!0),G.value?(p(),E(`span`,ue,[b(n(G.value)+` `,1),O(`button`,{type:`button`,class:`text-orange-400 hover:text-orange-700`,onClick:Ye},`✕`)])):v(``,!0),K.value?(p(),E(`span`,de,[b(n(K.value)+` `,1),O(`button`,{type:`button`,class:`text-blue-400 hover:text-blue-700`,onClick:Xe},`✕`)])):v(``,!0),I.status?(p(),E(`span`,fe,[b(n(I.status===`published`?`منتشرشده`:`پیش‌نویس / مخفی`)+` `,1),O(`button`,{type:`button`,class:`text-slate-400 hover:text-slate-700`,onClick:Ze},`✕`)])):v(``,!0),O(`button`,{type:`button`,class:`text-[10px] text-rose-500 font-medium hover:underline shrink-0 px-1`,onClick:J},` حذف همه `)])):v(``,!0)])]),default:l(()=>[O(`div`,{ref_key:`tableShell`,ref:j,class:`table-shell !hidden lg:!flex`},[y(w,{class:`table-shell__table`,columns:at.value,"data-source":L.value,loading:z.value,"row-key":`id`,scroll:{x:760,y:M.value},pagination:et.value},{bodyCell:l(({column:e,record:r,index:i})=>[e.key===`image`?(p(),E(g,{key:0},[X(r).url?(p(),E(`img`,{key:0,src:X(r).url,alt:``,title:X(r).fallback?`این محصول عکس ندارد؛ کاور دسته نمایش داده شده`:void 0,class:d([`size-12 rounded bg-gray-50 object-contain`,X(r).fallback&&`opacity-40 grayscale`])},null,10,pe)):(p(),E(`div`,me))],64)):e.key===`name`?(p(),E(g,{key:1},[y(m,{to:{name:`product-edit`,params:{id:r.id}},class:`font-bold text-[#0f172a] hover:text-[#ff5a00]`},{default:l(()=>[b(n(r.name),1)]),_:2},1032,[`to`]),O(`div`,he,n(r.code),1)],64)):e.key===`category`?(p(),E(g,{key:2},[O(`div`,null,n(r.category.name),1),r.group?(p(),E(`div`,ge,n(r.group.name),1)):v(``,!0)],64)):e.key===`status`?(p(),_(h,{key:3,checked:r.isPublished,size:`small`,onChange:e=>nt(r,!!e)},null,8,[`checked`,`onChange`])):e.key===`order`?(p(),_(x,{key:4,size:4},{default:l(()=>[y(c,{size:`small`,disabled:i===0,onClick:e=>$(i,-1)},{icon:l(()=>[y(t,{name:`arrow-up`,size:14})]),_:1},8,[`disabled`,`onClick`]),y(c,{size:`small`,disabled:i===L.value.length-1,onClick:e=>$(i,1)},{icon:l(()=>[y(t,{name:`arrow-down`,size:14})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)):e.key===`actions`?(p(),_(x,{key:5,size:4},{default:l(()=>[y(m,{to:{name:`product-edit`,params:{id:r.id}}},{default:l(()=>[y(c,{size:`small`,title:`ویرایش`},{icon:l(()=>[y(t,{name:`edit-2`,size:14})]),_:1})]),_:1},8,[`to`]),y(c,{size:`small`,title:`کپی`,onClick:e=>rt(r)},{icon:l(()=>[y(t,{name:`copy`,size:14})]),_:1},8,[`onClick`]),s(A).isAdmin?(p(),_(C,{key:0,title:`این محصول حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>it(r)},{default:l(()=>[y(c,{size:`small`,danger:``,title:`حذف`},{icon:l(()=>[y(t,{name:`trash`,size:14})]),_:1})]),_:1},8,[`onConfirm`])):v(``,!0)]),_:2},1024)):v(``,!0)]),_:1},8,[`columns`,`data-source`,`loading`,`scroll`,`pagination`])],512),O(`div`,_e,[Z.value?(p(),E(`div`,ve,[y(t,{name:`info-circle`,size:18,class:`text-orange-600 shrink-0`}),r[21]||=O(`span`,null,`حالت تغییر ترتیب فعال است. می‌توانید با فلش‌ها ترتیب کالاها را عوض کنید.`,-1)])):v(``,!0),O(`div`,ye,[O(`span`,null,n(R.value.toLocaleString(`fa-IR`))+` محصول`,1),!Z.value&&q.value>1?(p(),E(`span`,be,` صفحه `+n(I.page.toLocaleString(`fa-IR`))+` از `+n(q.value.toLocaleString(`fa-IR`)),1)):v(``,!0)]),y(T,{spinning:z.value},{default:l(()=>[!L.value.length&&!z.value?(p(),_(ee,{key:0,description:`محصولی با این مشخصات یافت نشد`,class:`py-12`})):(p(),E(`div`,xe,[(p(!0),E(g,null,i(L.value,(e,r)=>(p(),E(`div`,{key:e.id,class:`bg-white rounded-xl border border-slate-200/80 p-3 shadow-2xs transition active:bg-slate-50/50`},[O(`div`,Se,[X(e).url?(p(),E(`img`,{key:0,src:X(e).url,alt:``,class:d([`size-14 rounded-lg bg-slate-50 object-contain shrink-0 border border-slate-100`,X(e).fallback&&`opacity-40 grayscale`])},null,10,Ce)):(p(),E(`div`,we,[y(t,{name:`gallery`,size:20})])),O(`div`,Te,[O(`div`,Ee,[y(m,{to:{name:`product-edit`,params:{id:e.id}},class:`font-bold text-[13px] text-slate-800 hover:text-orange-600 line-clamp-2 leading-snug`},{default:l(()=>[b(n(e.name),1)]),_:2},1032,[`to`]),O(`span`,De,n(e.code),1)]),O(`div`,Oe,[O(`span`,ke,n(e.category.name),1),e.group?(p(),E(`span`,Ae,`/`)):v(``,!0),e.group?(p(),E(`span`,je,n(e.group.name),1)):v(``,!0)])])]),O(`div`,Me,[O(`div`,Ne,[y(h,{checked:e.isPublished,size:`small`,onChange:t=>nt(e,!!t)},null,8,[`checked`,`onChange`]),O(`span`,{class:d([`text-xs`,e.isPublished?`text-emerald-600 font-medium`:`text-slate-400`])},n(e.isPublished?`منتشرشده`:`پیش‌نویس`),3)]),O(`div`,Pe,[Z.value?(p(),E(g,{key:0},[O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===0,onClick:e=>$(r,-1)},[y(t,{name:`arrow-up`,size:16})],8,Fe),O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 disabled:opacity-30 disabled:pointer-events-none active:bg-slate-300 transition`,disabled:r===L.value.length-1,onClick:e=>$(r,1)},[y(t,{name:`arrow-down`,size:16})],8,Ie)],64)):v(``,!0),y(m,{to:{name:`product-edit`,params:{id:e.id}}},{default:l(()=>[O(`button`,Le,[y(t,{name:`edit-2`,size:16})])]),_:1},8,[`to`]),O(`button`,{type:`button`,class:`size-8 rounded-lg flex items-center justify-center text-slate-600 bg-slate-100 hover:bg-slate-200 active:bg-slate-300 transition`,title:`تکثیر / کپی`,onClick:t=>rt(e)},[y(t,{name:`copy`,size:16})],8,Re),s(A).isAdmin?(p(),_(C,{key:1,title:`این محصول حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:t=>it(e)},{default:l(()=>[O(`button`,ze,[y(t,{name:`trash`,size:16})])]),_:1},8,[`onConfirm`])):v(``,!0)])])]))),128))])),!Z.value&&q.value>1?(p(),E(`div`,Be,[y(c,{disabled:I.page<=1,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:r[9]||=e=>Y(I.page-1)},{default:l(()=>[...r[22]||=[b(` صفحه قبلی `,-1)]]),_:1},8,[`disabled`]),O(`span`,Ve,n(I.page.toLocaleString(`fa-IR`))+` / `+n(q.value.toLocaleString(`fa-IR`)),1),y(c,{disabled:I.page>=q.value,class:`!flex-1 !h-10 !rounded-xl !font-medium`,onClick:r[10]||=e=>Y(I.page+1)},{default:l(()=>[...r[23]||=[b(` صفحه بعدی `,-1)]]),_:1},8,[`disabled`])])):v(``,!0)]),_:1},8,[`spinning`]),y(m,{to:{name:`product-new`,query:I.categoryId?{categoryId:I.categoryId}:{}},class:`fixed start-4 bottom-[72px] z-30 flex items-center gap-2 px-4 py-2.5 rounded-full bg-linear-to-r from-[#ff5a00] to-[#ff7a29] text-white font-bold text-xs shadow-lg shadow-orange-500/30 active:scale-95 transition`},{default:l(()=>[y(t,{name:`add`,size:18}),r[24]||=O(`span`,null,`محصول جدید`,-1)]),_:1},8,[`to`])]),y(D,{open:U.value,"onUpdate:open":r[17]||=e=>U.value=e,placement:`bottom`,height:`auto`,closable:!1,class:`mobile-filter-drawer`,"body-style":{padding:`16px 20px 24px`,background:`#ffffff`,borderTopLeftRadius:`20px`,borderTopRightRadius:`20px`}},{default:l(()=>[O(`div`,He,[O(`div`,Ue,[O(`div`,We,[y(t,{name:`filter`,size:18,class:`text-orange-600`}),r[25]||=O(`span`,{class:`text-sm font-bold text-slate-800`},`فیلترهای کاتالوگ`,-1)]),O(`button`,{type:`button`,class:`text-xs text-slate-400 hover:text-slate-600`,onClick:r[11]||=e=>U.value=!1},` بستن `)]),O(`div`,Ge,[O(`div`,null,[r[26]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`دسته‌بندی`,-1),y(o,{value:I.categoryId,"onUpdate:value":r[12]||=e=>I.categoryId=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه دسته‌ها`,options:B.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),O(`div`,null,[r[27]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`زیرگروه کالا`,-1),y(o,{value:I.groupId,"onUpdate:value":r[13]||=e=>I.groupId=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه زیرگروه‌ها`,disabled:!V.value.length,options:V.value.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`disabled`,`options`])]),O(`div`,null,[r[28]||=O(`label`,{class:`block text-xs font-semibold text-slate-700 mb-1.5`},`وضعیت انتشار`,-1),y(o,{value:I.status,"onUpdate:value":r[14]||=e=>I.status=e,"allow-clear":``,size:`large`,style:{width:`100%`},placeholder:`همه وضعیت‌ها`,options:[{value:`published`,label:`منتشرشده در سایت`},{value:`draft`,label:`پیش‌نویس / مخفی`}]},null,8,[`value`])])]),O(`div`,Ke,[W.value>0?(p(),_(c,{key:0,danger:``,class:`!h-11 !rounded-xl`,onClick:r[15]||=e=>{J(),U.value=!1}},{default:l(()=>[...r[29]||=[b(` حذف فیلترها `,-1)]]),_:1})):v(``,!0),y(c,{type:`primary`,block:``,class:`!h-11 !rounded-xl !font-bold`,onClick:r[16]||=e=>{U.value=!1,Q()}},{default:l(()=>[...r[30]||=[b(` اعمال فیلترها `,-1)]]),_:1})])])]),_:1},8,[`open`])]),_:1})}}}),[[`__scopeId`,`data-v-a64d8be2`]]);export{M as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/ProfilePage-CKqPwLoF.js b/apps/admin/dist/assets/ProfilePage-DxhVPJ4c.js similarity index 93% rename from apps/admin/dist/assets/ProfilePage-CKqPwLoF.js rename to apps/admin/dist/assets/ProfilePage-DxhVPJ4c.js index 1be2eb6..b7b8a86 100644 --- a/apps/admin/dist/assets/ProfilePage-CKqPwLoF.js +++ b/apps/admin/dist/assets/ProfilePage-DxhVPJ4c.js @@ -1 +1 @@ -import{o as e,s as t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,It as r,Lt as i,Nt as a,Tt as o,_t as s,ct as c,gt as l,ht as u,kt as d,n as f,ot as p,pt as m,st as h,t as g,ut as _}from"./index-BCImsMjH.js";import{t as v}from"./PageHeader-vyrIuh7P.js";import{n as y,t as b}from"./FormField-D95xTO-F.js";var x={class:`grid max-w-4xl gap-4 md:gap-6 md:grid-cols-2`},S={class:`flex items-center gap-3.5 mb-4 pb-4 border-b border-gray-100`},C={class:`flex size-14 items-center justify-center rounded-2xl bg-gradient-to-tr from-[#ff5a00] to-amber-500 text-xl font-black text-white shadow-md shadow-orange-500/20`},w={class:`text-base font-bold text-gray-900`},T={class:`mt-0.5 text-xs font-mono text-gray-500`,dir:`ltr`},E={dir:`ltr`,class:`font-mono`},D=s({__name:`ProfilePage`,setup(s){let D=g(),{model:O,validate:k,handleError:A,reset:j}=y(t,{currentPassword:``,newPassword:``}),M=r(!1);async function N(){let e=k();if(e){M.value=!0;try{await f(`/admin/auth/change-password`,{method:`POST`,body:e}),p.success(`رمز عبور تغییر کرد`),j({currentPassword:``,newPassword:``})}catch(e){A(e)}finally{M.value=!1}}}return(t,r)=>{let s=d(`a-descriptions-item`),f=d(`a-tag`),p=d(`a-descriptions`),g=d(`a-card`),y=d(`a-input-password`),k=d(`a-button`),A=d(`a-form`);return o(),m(c,null,[l(v,{title:`حساب کاربری`,subtitle:`مشخصات فردی، نقش دسترسی و تغییر رمز عبور ورود به سامانه`}),_(`div`,x,[l(g,{title:`مشخصات کاربری`},{default:a(()=>[_(`div`,S,[_(`div`,C,n(i(D).user?.name?.slice(0,1)||`U`),1),_(`div`,null,[_(`div`,w,n(i(D).user?.name),1),_(`div`,T,n(i(D).user?.phone),1)])]),l(p,{column:1,size:`small`},{default:a(()=>[l(s,{label:`نام`},{default:a(()=>[u(n(i(D).user?.name),1)]),_:1}),l(s,{label:`موبایل`},{default:a(()=>[_(`span`,E,n(i(D).user?.phone),1)]),_:1}),l(s,{label:`نقش دسترسی`},{default:a(()=>[l(f,{color:i(D).user?.role===`ADMIN`?`orange`:`blue`},{default:a(()=>[u(n(i(D).user&&i(e)[i(D).user.role]),1)]),_:1},8,[`color`])]),_:1})]),_:1})]),_:1}),l(g,{title:`تغییر رمز عبور`},{default:a(()=>[l(A,{layout:`vertical`,onSubmit:h(N,[`prevent`])},{default:a(()=>[l(b,{path:`currentPassword`,label:`رمز فعلی`,required:``},{default:a(()=>[l(y,{value:i(O).currentPassword,"onUpdate:value":r[0]||=e=>i(O).currentPassword=e,class:`ltr-input h-10`,autocomplete:`current-password`},null,8,[`value`])]),_:1}),l(b,{path:`newPassword`,label:`رمز جدید`,hint:`حداقل ۸ کاراکتر`,required:``},{default:a(()=>[l(y,{value:i(O).newPassword,"onUpdate:value":r[1]||=e=>i(O).newPassword=e,class:`ltr-input h-10`,autocomplete:`new-password`},null,8,[`value`])]),_:1}),l(k,{type:`primary`,"html-type":`submit`,loading:M.value,class:`w-full md:w-auto h-10 !font-bold`},{default:a(()=>[...r[2]||=[u(` تغییر رمز ورود `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})])],64)}}});export{D as default}; \ No newline at end of file +import{o as e,s as t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,It as r,Lt as i,Nt as a,Tt as o,_t as s,ct as c,gt as l,ht as u,kt as d,n as f,ot as p,pt as m,st as h,t as g,ut as _}from"./index-BuGK6ptM.js";import{t as v}from"./PageHeader-3Ryvg2HD.js";import{n as y,t as b}from"./FormField-CiVT7mqC.js";var x={class:`grid max-w-4xl gap-4 md:gap-6 md:grid-cols-2`},S={class:`flex items-center gap-3.5 mb-4 pb-4 border-b border-gray-100`},C={class:`flex size-14 items-center justify-center rounded-2xl bg-gradient-to-tr from-[#ff5a00] to-amber-500 text-xl font-black text-white shadow-md shadow-orange-500/20`},w={class:`text-base font-bold text-gray-900`},T={class:`mt-0.5 text-xs font-mono text-gray-500`,dir:`ltr`},E={dir:`ltr`,class:`font-mono`},D=s({__name:`ProfilePage`,setup(s){let D=g(),{model:O,validate:k,handleError:A,reset:j}=y(t,{currentPassword:``,newPassword:``}),M=r(!1);async function N(){let e=k();if(e){M.value=!0;try{await f(`/admin/auth/change-password`,{method:`POST`,body:e}),p.success(`رمز عبور تغییر کرد`),j({currentPassword:``,newPassword:``})}catch(e){A(e)}finally{M.value=!1}}}return(t,r)=>{let s=d(`a-descriptions-item`),f=d(`a-tag`),p=d(`a-descriptions`),g=d(`a-card`),y=d(`a-input-password`),k=d(`a-button`),A=d(`a-form`);return o(),m(c,null,[l(v,{title:`حساب کاربری`,subtitle:`مشخصات فردی، نقش دسترسی و تغییر رمز عبور ورود به سامانه`}),_(`div`,x,[l(g,{title:`مشخصات کاربری`},{default:a(()=>[_(`div`,S,[_(`div`,C,n(i(D).user?.name?.slice(0,1)||`U`),1),_(`div`,null,[_(`div`,w,n(i(D).user?.name),1),_(`div`,T,n(i(D).user?.phone),1)])]),l(p,{column:1,size:`small`},{default:a(()=>[l(s,{label:`نام`},{default:a(()=>[u(n(i(D).user?.name),1)]),_:1}),l(s,{label:`موبایل`},{default:a(()=>[_(`span`,E,n(i(D).user?.phone),1)]),_:1}),l(s,{label:`نقش دسترسی`},{default:a(()=>[l(f,{color:i(D).user?.role===`ADMIN`?`orange`:`blue`},{default:a(()=>[u(n(i(D).user&&i(e)[i(D).user.role]),1)]),_:1},8,[`color`])]),_:1})]),_:1})]),_:1}),l(g,{title:`تغییر رمز عبور`},{default:a(()=>[l(A,{layout:`vertical`,onSubmit:h(N,[`prevent`])},{default:a(()=>[l(b,{path:`currentPassword`,label:`رمز فعلی`,required:``},{default:a(()=>[l(y,{value:i(O).currentPassword,"onUpdate:value":r[0]||=e=>i(O).currentPassword=e,class:`ltr-input h-10`,autocomplete:`current-password`},null,8,[`value`])]),_:1}),l(b,{path:`newPassword`,label:`رمز جدید`,hint:`حداقل ۸ کاراکتر`,required:``},{default:a(()=>[l(y,{value:i(O).newPassword,"onUpdate:value":r[1]||=e=>i(O).newPassword=e,class:`ltr-input h-10`,autocomplete:`new-password`},null,8,[`value`])]),_:1}),l(k,{type:`primary`,"html-type":`submit`,loading:M.value,class:`w-full md:w-auto h-10 !font-bold`},{default:a(()=>[...r[2]||=[u(` تغییر رمز ورود `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})])],64)}}});export{D as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/SectionEditPage-BdDEZJqd.js b/apps/admin/dist/assets/SectionEditPage-BfSd3Uov.js similarity index 98% rename from apps/admin/dist/assets/SectionEditPage-BdDEZJqd.js rename to apps/admin/dist/assets/SectionEditPage-BfSd3Uov.js index d696965..6e99d72 100644 --- a/apps/admin/dist/assets/SectionEditPage-BdDEZJqd.js +++ b/apps/admin/dist/assets/SectionEditPage-BfSd3Uov.js @@ -1 +1 @@ -import{f as e,g as t,h as n,m as r,p as i,t as a}from"./VuesaxIcon-CrbgSv-1.js";import{At as o,Bt as s,It as c,Lt as l,Nt as u,Pt as d,Tt as f,_t as p,a as m,bt as h,ct as g,dt as _,ft as v,gt as y,ht as b,i as x,jt as S,kt as C,lt as w,n as T,ot as E,pt as D,st as ee,t as O,ut as k}from"./index-BCImsMjH.js";import{a as te,t as A}from"./format-NkL3G1Uq.js";import{t as j}from"./PageHeader-vyrIuh7P.js";import{n as M,t as N}from"./FormField-D95xTO-F.js";import{t as P}from"./IconSelect-n5KsEDDN.js";import{n as F,t as I}from"./ListEditor-DF9sShFo.js";var L=p({__name:`ImageRefField`,props:h({path:{},label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`);return f(),D(g,null,[y(N,{path:`${e.path}.url`,label:e.label,required:``},{default:u(()=>[y(F,{url:t.value.url,onPick:r[0]||=e=>t.value={url:e.url,alt:t.value.alt||e.alt}},null,8,[`url`])]),_:1},8,[`path`,`label`]),y(N,{path:`${e.path}.alt`,label:`متن جایگزین تصویر (alt)`,hint:`برای سئو و دسترسی‌پذیری؛ تصویر را در یک جمله توصیف کنید`},{default:u(()=>[y(i,{value:t.value.alt,"onUpdate:value":r[1]||=e=>t.value.alt=e},null,8,[`value`])]),_:1},8,[`path`])],64)}}}),R={class:`grid gap-x-4 md:grid-cols-2`},z=p({__name:`SectionHeadFields`,props:h({path:{default:`head`},withHighlight:{type:Boolean,default:!0},withDesc:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,R,[y(N,{path:`${e.path}.tag`,label:`برچسب بالای عنوان`,hint:`مثلاً «۰۱ — محصولات»`,required:``},{default:u(()=>[y(i,{value:t.value.tag,"onUpdate:value":r[0]||=e=>t.value.tag=e},null,8,[`value`])]),_:1},8,[`path`]),y(N,{path:`${e.path}.title`,label:`عنوان`,hint:`برای شکستن خط، Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.title,"onUpdate:value":r[1]||=e=>t.value.title=e,"auto-size":{minRows:2,maxRows:4}},null,8,[`value`])]),_:1},8,[`path`]),e.withHighlight?(f(),_(N,{key:0,path:`${e.path}.highlight`,label:`خط رنگی انتهای عنوان (اختیاری)`},{default:u(()=>[y(i,{value:t.value.highlight,"onUpdate:value":r[2]||=e=>t.value.highlight=e},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0),e.withDesc?(f(),_(N,{key:1,path:`${e.path}.desc`,label:`توضیح زیر عنوان`,class:`md:col-span-2`},{default:u(()=>[y(a,{value:t.value.desc,"onUpdate:value":r[3]||=e=>t.value.desc=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0)])}}}),B={class:`grid gap-6 xl:grid-cols-3`},V={class:`space-y-6 xl:col-span-2`},H={class:`grid gap-x-4 md:grid-cols-4`},U={class:`grid gap-x-4 md:grid-cols-2`},W={class:`space-y-6`},G=p({__name:`AboutForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-card`),a=C(`a-input`);return f(),D(`div`,B,[k(`div`,V,[y(i,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-desc":!1},null,8,[`modelValue`]),y(N,{path:`body`,label:`متن درباره ما`,required:``},{default:u(()=>[y(r,{value:t.value.body,"onUpdate:value":n[1]||=e=>t.value.body=e,"auto-size":{minRows:4,maxRows:10}},null,8,[`value`])]),_:1})]),_:1}),y(i,{title:`تایم‌لاین`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.timeline,"onUpdate:modelValue":n[2]||=e=>t.value.timeline=e,create:()=>({year:``,text:``}),max:12,"add-label":`افزودن رویداد`,"item-title":e=>e.year},{default:u(({item:e,index:t})=>[k(`div`,H,[y(N,{path:`timeline.${t}.year`,label:`سال`,required:``},{default:u(()=>[y(a,{value:e.year,"onUpdate:value":t=>e.year=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`timeline.${t}.text`,label:`رویداد`,required:``,class:`md:col-span-3`},{default:u(()=>[y(a,{value:e.text,"onUpdate:value":t=>e.text=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(i,{title:`ویژگی‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.features,"onUpdate:modelValue":n[3]||=e=>t.value.features=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن ویژگی`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,U,[y(N,{path:`features.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(a,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`features.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,W,[y(i,{title:`تصویر`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[4]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(i,{title:`نشان روی تصویر`},{default:u(()=>[y(N,{path:`badge.value`,label:`عدد`,required:``},{default:u(()=>[y(a,{value:t.value.badge.value,"onUpdate:value":n[5]||=e=>t.value.badge.value=e},null,8,[`value`])]),_:1}),y(N,{path:`badge.label`,label:`متن`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(r,{value:t.value.badge.label,"onUpdate:value":n[6]||=e=>t.value.badge.label=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),K={class:`space-y-6`},q={class:`grid gap-6 lg:grid-cols-2`},J=p({__name:`ContactForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,K,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),n[7]||=k(`p`,{class:`text-sm text-gray-500`},`نشانی، تلفن، ایمیل و ساعات کاری از «تنظیمات سایت» خوانده می‌شوند.`,-1)]),_:1}),k(`div`,q,[y(r,{title:`کادر پاسخ‌گویی اضطراری`},{default:u(()=>[y(N,{path:`emergencyTitle`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:t.value.emergencyTitle,"onUpdate:value":n[1]||=e=>t.value.emergencyTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`emergencyText`,label:`متن`,required:``},{default:u(()=>[y(a,{value:t.value.emergencyText,"onUpdate:value":n[2]||=e=>t.value.emergencyText=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1})]),_:1}),y(r,{title:`فرم`},{default:u(()=>[y(N,{path:`formTag`,label:`برچسب بالای فرم`},{default:u(()=>[y(i,{value:t.value.formTag,"onUpdate:value":n[3]||=e=>t.value.formTag=e},null,8,[`value`])]),_:1}),y(N,{path:`formTitle`,label:`عنوان فرم`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.formTitle,"onUpdate:value":n[4]||=e=>t.value.formTitle=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1}),y(N,{path:`successTitle`,label:`عنوان پیام موفقیت`,required:``},{default:u(()=>[y(i,{value:t.value.successTitle,"onUpdate:value":n[5]||=e=>t.value.successTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`successText`,label:`متن پیام موفقیت`,required:``},{default:u(()=>[y(a,{value:t.value.successText,"onUpdate:value":n[6]||=e=>t.value.successText=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),Y={class:`grid gap-x-4 md:grid-cols-3`},X=p({__name:`FooterForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`فوتر`},{default:u(()=>[y(N,{path:`about`,label:`متن معرفی`,required:``},{default:u(()=>[y(r,{value:t.value.about,"onUpdate:value":n[0]||=e=>t.value.about=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),k(`div`,Y,[y(N,{path:`copyright`,label:`متن کپی‌رایت`,required:``},{default:u(()=>[y(i,{value:t.value.copyright,"onUpdate:value":n[1]||=e=>t.value.copyright=e},null,8,[`value`])]),_:1}),y(N,{path:`certLine`,label:`خط گواهی‌نامه‌ها`},{default:u(()=>[y(i,{value:t.value.certLine,"onUpdate:value":n[2]||=e=>t.value.certLine=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`emergencyNote`,label:`یادداشت پشتیبانی`},{default:u(()=>[y(i,{value:t.value.emergencyNote,"onUpdate:value":n[3]||=e=>t.value.emergencyNote=e},null,8,[`value`])]),_:1})]),n[4]||=k(`p`,{class:`text-sm text-gray-500`},`لینک دسته‌ها و اطلاعات تماس فوتر به‌صورت خودکار از دسته‌بندی‌ها و تنظیمات سایت ساخته می‌شوند.`,-1)]),_:1})}}}),Z={class:`grid gap-6 xl:grid-cols-3`},Q={class:`space-y-6 xl:col-span-2`},ne={class:`grid gap-x-4 md:grid-cols-2`},re={class:`grid gap-x-4 md:grid-cols-2`},ie={class:`grid gap-x-4 md:grid-cols-2`},ae={class:`grid gap-x-4 md:grid-cols-3`},oe={class:`space-y-6`},se=p({__name:`HeroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`);return f(),D(`div`,Z,[k(`div`,Q,[y(a,{title:`متن‌ها`},{default:u(()=>[k(`div`,ne,[y(N,{path:`badge`,label:`نشان بالای تیتر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.badge,"onUpdate:value":n[0]||=e=>t.value.badge=e},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`تیتر (خط اول)`,required:``},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[1]||=e=>t.value.title=e},null,8,[`value`])]),_:1}),y(N,{path:`titleHighlight`,label:`تیتر (خط زرد)`,required:``},{default:u(()=>[y(r,{value:t.value.titleHighlight,"onUpdate:value":n[2]||=e=>t.value.titleHighlight=e},null,8,[`value`])]),_:1}),y(N,{path:`intro`,label:`متن معرفی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.intro,"onUpdate:value":n[3]||=e=>t.value.intro=e,"auto-size":{minRows:3,maxRows:6}},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`دکمه‌ها`},{default:u(()=>[k(`div`,re,[y(N,{path:`primaryCta.label`,label:`دکمه اصلی — متن`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.label,"onUpdate:value":n[4]||=e=>t.value.primaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`primaryCta.href`,label:`دکمه اصلی — لینک`,hint:`مثلاً #contact یا /categories/...`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.href,"onUpdate:value":n[5]||=e=>t.value.primaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.label`,label:`دکمه دوم — متن`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.label,"onUpdate:value":n[6]||=e=>t.value.secondaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.href`,label:`دکمه دوم — لینک`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.href,"onUpdate:value":n[7]||=e=>t.value.secondaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`نشان‌های گواهی`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.chips,"onUpdate:modelValue":n[8]||=e=>t.value.chips=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن نشان`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,ie,[y(N,{path:`chips.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`chips.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(a,{title:`آمار پایین Hero`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.miniStats,"onUpdate:modelValue":n[9]||=e=>t.value.miniStats=e,create:()=>({value:``,label:``}),max:4,"add-label":`افزودن آمار`,"item-title":e=>e.value},{default:u(({item:e,index:t})=>[k(`div`,ae,[y(N,{path:`miniStats.${t}.value`,label:`عدد`,required:``},{default:u(()=>[y(r,{value:e.value,"onUpdate:value":t=>e.value=t,placeholder:`۱۸+`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`miniStats.${t}.label`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,oe,[y(a,{title:`تصویر پس‌زمینه`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[10]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(a,{title:`کارت وضعیت`},{default:u(()=>[y(N,{path:`lastInspection`,label:`تاریخ آخرین بازرسی`,hint:`خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(r,{value:t.value.lastInspection,"onUpdate:value":n[11]||=e=>t.value.lastInspection=e,placeholder:`۱۴۰۴/۰۸/۱۲`},null,8,[`value`])]),_:1})]),_:1})])])}}}),ce={class:`space-y-6`},le={class:`grid gap-x-6 lg:grid-cols-2`},ue=p({__name:`IndustriesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`);return f(),D(`div`,ce,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(r,{title:`صنایع`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({name:``,nameEn:``,count:``,image:{url:``,alt:``}}),max:12,"add-label":`افزودن صنعت`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,le,[k(`div`,null,[y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(i,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.nameEn`,label:`نام انگلیسی`},{default:u(()=>[y(i,{value:e.nameEn,"onUpdate:value":t=>e.nameEn=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.count`,label:`تعداد پروژه`,hint:`مثلاً ۱۴۰+ — خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(i,{value:e.count,"onUpdate:value":t=>e.count=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])]),k(`div`,null,[y(L,{modelValue:e.image,"onUpdate:modelValue":t=>e.image=t,path:`items.${t}.image`,label:`تصویر`},null,8,[`modelValue`,`onUpdate:modelValue`,`path`])])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),de={class:`space-y-6`},fe={class:`grid gap-x-4 md:grid-cols-3`},pe=p({__name:`ProductsIntroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-card`);return f(),D(`div`,de,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),y(N,{path:`ctaLabel`,label:`متن دکمه کاتالوگ`,required:``},{default:u(()=>[y(r,{value:t.value.ctaLabel,"onUpdate:value":n[1]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1}),n[3]||=k(`p`,{class:`text-sm text-gray-500`},`کارت‌های دسته‌بندی از بخش «دسته‌بندی‌ها» مدیریت می‌شوند.`,-1)]),_:1}),y(i,{title:`کارت‌های اعتماد`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.trust,"onUpdate:modelValue":n[2]||=e=>t.value.trust=e,create:()=>({icon:`BadgeCheck`,title:``,desc:``}),max:6,"add-label":`افزودن کارت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,fe,[y(N,{path:`trust.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(r,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.desc`,label:`توضیح`},{default:u(()=>[y(r,{value:e.desc,"onUpdate:value":t=>e.desc=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),me={class:`space-y-6`},he={class:`grid gap-x-4 md:grid-cols-2`},ge=p({__name:`ServicesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n=()=>({icon:`ClipboardCheck`,title:``,desc:``,items:[]});return(e,r)=>{let i=C(`a-card`),a=C(`a-input`),o=C(`a-textarea`),s=C(`a-select`);return f(),D(`div`,me,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":r[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(i,{title:`خدمات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":r[1]||=e=>t.value.items=e,create:n,max:10,"add-label":`افزودن خدمت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,he,[y(N,{path:`items.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(a,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.desc`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(o,{value:e.desc,"onUpdate:value":t=>e.desc=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.items`,label:`موارد (فهرست)`,hint:`هر مورد را بنویسید و Enter بزنید`,class:`md:col-span-2`},{default:u(()=>[y(s,{value:e.items,"onUpdate:value":t=>e.items=t,mode:`tags`,open:!1},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),_e={class:`grid gap-6 xl:grid-cols-2`},ve={class:`grid gap-x-4 md:grid-cols-2`},ye={class:`grid gap-x-4 md:grid-cols-2`},be={class:`grid gap-x-4 md:grid-cols-2`},xe={class:`grid gap-x-4 md:grid-cols-3`},Se=`https://t.me/...`,Ce=p({__name:`SettingsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n={Saturday:`شنبه`,Sunday:`یکشنبه`,Monday:`دوشنبه`,Tuesday:`سه‌شنبه`,Wednesday:`چهارشنبه`,Thursday:`پنجشنبه`,Friday:`جمعه`},a={website:`وب‌سایت`,telegram:`تلگرام`,instagram:`اینستاگرام`,linkedin:`لینکدین`,whatsapp:`واتساپ`,bale:`بله`,eitaa:`ایتا`,aparat:`آپارات`,youtube:`یوتیوب`,email:`ایمیل (mailto:)`,phone:`تلفن (tel:)`},o=()=>({type:`telegram`,url:``}),s=e=>a[e.type],c=i.map(e=>({value:e,label:a[e]})),d=r.map(e=>({value:e,label:n[e]}));function p(e){t.value.ogImage={url:e.url,alt:t.value.ogImage.alt||e.alt,width:e.width,height:e.height}}return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`),m=C(`a-checkbox-group`),h=C(`a-select`);return f(),D(`div`,_e,[y(a,{title:`هویت و سئوی پیش‌فرض`},{default:u(()=>[k(`div`,ve,[y(N,{path:`name`,label:`نام شرکت`,required:``},{default:u(()=>[y(r,{value:t.value.name,"onUpdate:value":n[0]||=e=>t.value.name=e},null,8,[`value`])]),_:1}),y(N,{path:`nameEn`,label:`نام انگلیسی`,required:``},{default:u(()=>[y(r,{value:t.value.nameEn,"onUpdate:value":n[1]||=e=>t.value.nameEn=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`عنوان پیش‌فرض صفحات (title)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[2]||=e=>t.value.title=e,maxlength:120,"show-count":``},null,8,[`value`])]),_:1}),y(N,{path:`description`,label:`توضیحات متا (description)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.description,"onUpdate:value":n[3]||=e=>t.value.description=e,maxlength:400,"show-count":``,"auto-size":{minRows:3}},null,8,[`value`])]),_:1}),y(N,{path:`foundingDate`,label:`سال تأسیس (میلادی)`,required:``},{default:u(()=>[y(r,{value:t.value.foundingDate,"onUpdate:value":n[4]||=e=>t.value.foundingDate=e,class:`ltr-input`,placeholder:`2007`},null,8,[`value`])]),_:1})]),y(N,{path:`ogImage.url`,label:`تصویر اشتراک‌گذاری (Open Graph)`,hint:`ترجیحاً ۱۲۰۰×۶۳۰ پیکسل`,required:``},{default:u(()=>[y(F,{url:t.value.ogImage.url,onPick:p},null,8,[`url`])]),_:1}),y(N,{path:`ogImage.alt`,label:`متن جایگزین تصویر`},{default:u(()=>[y(r,{value:t.value.ogImage.alt,"onUpdate:value":n[5]||=e=>t.value.ogImage.alt=e},null,8,[`value`])]),_:1})]),_:1}),y(a,{title:`اطلاعات تماس`},{default:u(()=>[k(`div`,ye,[y(N,{path:`phoneDisplay`,label:`تلفن (نمایشی)`,required:``},{default:u(()=>[y(r,{value:t.value.phoneDisplay,"onUpdate:value":n[6]||=e=>t.value.phoneDisplay=e},null,8,[`value`])]),_:1}),y(N,{path:`phone`,label:`تلفن (برای لینک و گوگل)`,hint:`با کد کشور، مثلاً ‎+98-21-91008800`,required:``},{default:u(()=>[y(r,{value:t.value.phone,"onUpdate:value":n[7]||=e=>t.value.phone=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`email`,label:`ایمیل`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.email,"onUpdate:value":n[8]||=e=>t.value.email=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`address.locality`,label:`شهر`,required:``},{default:u(()=>[y(r,{value:t.value.address.locality,"onUpdate:value":n[9]||=e=>t.value.address.locality=e},null,8,[`value`])]),_:1}),y(N,{path:`address.country`,label:`کد کشور`,required:``},{default:u(()=>[y(r,{value:t.value.address.country,"onUpdate:value":n[10]||=e=>t.value.address.country=e,class:`ltr-input`,maxlength:2},null,8,[`value`])]),_:1}),y(N,{path:`address.street`,label:`نشانی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.address.street,"onUpdate:value":n[11]||=e=>t.value.address.street=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`ساعات کاری`},{default:u(()=>[y(N,{path:`workingHours`,label:`متن نمایشی`,required:``},{default:u(()=>[y(r,{value:t.value.workingHours,"onUpdate:value":n[12]||=e=>t.value.workingHours=e},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.days`,label:`روزهای کاری (برای گوگل)`},{default:u(()=>[y(m,{value:t.value.openingHours.days,"onUpdate:value":n[13]||=e=>t.value.openingHours.days=e,options:l(d)},null,8,[`value`,`options`])]),_:1}),k(`div`,be,[y(N,{path:`openingHours.opens`,label:`ساعت شروع`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.opens,"onUpdate:value":n[14]||=e=>t.value.openingHours.opens=e,class:`ltr-input`,placeholder:`08:00`},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.closes`,label:`ساعت پایان`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.closes,"onUpdate:value":n[15]||=e=>t.value.openingHours.closes=e,class:`ltr-input`,placeholder:`17:00`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`شبکه‌های اجتماعی و لینک‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.socials,"onUpdate:modelValue":n[16]||=e=>t.value.socials=e,create:o,max:12,"add-label":`افزودن لینک`,"item-title":s},{default:u(({item:e,index:t})=>[k(`div`,xe,[y(N,{path:`socials.${t}.type`,label:`نوع`},{default:u(()=>[y(h,{value:e.type,"onUpdate:value":t=>e.type=t,options:l(c)},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1032,[`path`]),y(N,{path:`socials.${t}.url`,label:`آدرس`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.url,"onUpdate:value":t=>e.url=t,class:`ltr-input`,placeholder:Se},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`])]),_:1})])}}}),we={class:`space-y-6`},Te={class:`grid gap-x-4 md:grid-cols-2`},Ee={class:`grid gap-x-4 md:grid-cols-2`},De=p({__name:`StandardsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),D(`div`,we,[y(a,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),k(`div`,Te,[y(N,{path:`note`,label:`کادر توضیح (اختیاری)`},{default:u(()=>[y(r,{value:t.value.note,"onUpdate:value":n[1]||=e=>t.value.note=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),y(N,{path:`ctaLabel`,label:`متن دکمه`,required:``},{default:u(()=>[y(i,{value:t.value.ctaLabel,"onUpdate:value":n[2]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`استانداردها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[3]||=e=>t.value.items=e,create:()=>({code:``,label:``}),max:12,"add-label":`افزودن استاندارد`,"item-title":e=>e.code},{default:u(({item:e,index:t})=>[k(`div`,Ee,[y(N,{path:`items.${t}.code`,label:`کد استاندارد`,required:``},{default:u(()=>[y(i,{value:e.code,"onUpdate:value":t=>e.code=t,class:`ltr-input`,placeholder:`EN 397`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Oe={class:`grid gap-x-4 md:grid-cols-4`},ke=p({__name:`StatsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input-number`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`شمارنده‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[0]||=e=>t.value.items=e,create:()=>({end:0,suffix:`+`,label:``,note:``}),max:8,"add-label":`افزودن شمارنده`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,Oe,[y(N,{path:`items.${t}.end`,label:`عدد نهایی`,required:``},{default:u(()=>[y(r,{value:e.end,"onUpdate:value":t=>e.end=t,min:0,class:`!w-full`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.suffix`,label:`پسوند`,hint:`مثلاً + یا ٪`},{default:u(()=>[y(i,{value:e.suffix,"onUpdate:value":t=>e.suffix=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.note`,label:`یادداشت انگلیسی کوچک`},{default:u(()=>[y(i,{value:e.note,"onUpdate:value":t=>e.note=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})}}}),Ae=p({__name:`TapeForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-select`),i=C(`a-card`);return f(),_(i,{title:`عبارت‌های نوار متحرک`},{default:u(()=>[y(N,{path:`items`,label:`عبارت‌ها`,hint:`هر عبارت را بنویسید و Enter بزنید؛ برای حذف روی × کلیک کنید`,required:``},{default:u(()=>[y(r,{value:t.value.items,"onUpdate:value":n[0]||=e=>t.value.items=e,mode:`tags`,open:!1},null,8,[`value`])]),_:1})]),_:1})}}}),je={class:`space-y-6`},Me={class:`grid gap-x-4 md:grid-cols-2`},Ne=p({__name:`TestimonialsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-textarea`),a=C(`a-input`);return f(),D(`div`,je,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-highlight":!1,"with-desc":!1},null,8,[`modelValue`])]),_:1}),y(r,{title:`نظرات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({text:``,name:``,role:``}),max:12,"add-label":`افزودن نظر`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,Me,[y(N,{path:`items.${t}.text`,label:`متن نظر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:e.text,"onUpdate:value":t=>e.text=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(a,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.role`,label:`سمت و سازمان`},{default:u(()=>[y(a,{value:e.role,"onUpdate:value":t=>e.role=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Pe={key:0,class:`max-lg:hidden flex items-center gap-2 me-2`},$=[`href`],Fe={class:`lg:hidden fixed bottom-0 inset-x-0 z-30 border-t border-gray-200 bg-white/95 px-4 py-2.5 backdrop-blur-md shadow-lg flex items-center justify-between gap-3`},Ie={key:0,class:`flex items-center gap-2`},Le={class:`text-xs font-medium text-gray-700`},Re={key:1,class:`text-xs text-gray-500 font-medium`},ze={class:`flex items-center gap-2`},Be=[`href`],Ve=p({__name:`SectionEditPage`,setup(r){let i={settings:Ce,hero:se,tape:Ae,stats:ke,productsIntro:pe,about:G,services:ge,standards:De,industries:ue,testimonials:Ne,contact:J,footer:X},p=O(),h=m(),S=String(h.params.key),N=n(S),P=N?S:`hero`,{model:F,validate:I,handleError:L,reset:R}=M(t[P],{}),z=c(!1),B=c(!1),V=c(null),H=w(()=>N?e[P]:null);async function U(){try{let e=await T(`/admin/sections/${P}`),t=e.data;P!==`settings`&&t.enabled===void 0&&(t.enabled=!0),R(t),V.value=e.updatedAt,z.value=!0}catch(e){E.error(x(e))}}async function W(){let e=I();if(e){B.value=!0;try{let t=await T(`/admin/sections/${P}`,{method:`PUT`,body:e});R(t.data),V.value=t.updatedAt,E.success(`ذخیره شد؛ سایت تا چند لحظه دیگر به‌روز می‌شود`)}catch(e){L(e)}finally{B.value=!1}}}let K=c(!1);async function q(e){let t=!!e;F.value.enabled=t,K.value=!0;try{let e=await T(`/admin/sections/${P}/visibility`,{method:`PATCH`,body:{enabled:t}});F.value.enabled=e.enabled!==!1,V.value=e.updatedAt,E.success(`وضعیت نمایش به ${t?`نمایش`:`عدم نمایش`} تغییر یافت`)}catch(e){F.value.enabled=!t,E.error(x(e))}finally{K.value=!1}}return N&&U(),(e,t)=>{let n=C(`a-result`),r=C(`a-switch`),c=C(`a-button`),m=C(`a-alert`),h=C(`a-form`),x=C(`a-spin`);return l(N)?(f(),D(g,{key:1},[y(j,{title:H.value.title,subtitle:V.value?`آخرین ذخیره: ${l(te)(V.value)}`:H.value.desc,back:`/sections`},{default:u(()=>[l(P)===`settings`?v(``,!0):(f(),D(`div`,Pe,[t[1]||=k(`span`,{class:`text-sm font-medium text-gray-700`},`نمایش در سایت:`,-1),y(r,{checked:l(F)?.enabled!==!1,loading:K.value,"checked-children":`نمایش`,"un-checked-children":`مخفی`,onChange:q},null,8,[`checked`,`loading`])])),k(`a`,{href:l(A),target:`_blank`,rel:`noopener`,class:`max-lg:hidden`},[y(c,null,{default:u(()=>[...t[2]||=[b(`مشاهده سایت`,-1)]]),_:1})],8,$),y(c,{type:`primary`,class:`max-lg:hidden`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[3]||=b(` ذخیره `,-1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`title`,`subtitle`]),y(x,{spinning:!z.value},{default:u(()=>[z.value&&l(P)===`settings`&&!l(p).isAdmin?(f(),_(m,{key:0,type:`error`,"show-icon":``,message:`فقط مدیر کل می‌تواند تنظیمات سایت را تغییر دهد.`,class:`mb-4`})):z.value&&l(P)!==`settings`&&l(F).enabled===!1?(f(),_(m,{key:1,type:`warning`,"show-icon":``,message:`این بخش در حال حاضر در سایت نمایش داده نمی‌شود (مخفی است).`,class:`mb-4`})):v(``,!0),z.value?(f(),_(h,{key:2,layout:`vertical`,class:`pb-20 lg:pb-0`,onSubmit:ee(W,[`prevent`])},{default:u(()=>[(f(),_(o(i[l(P)]),{modelValue:l(F),"onUpdate:modelValue":t[0]||=e=>d(F)?F.value=e:null},null,8,[`modelValue`]))]),_:1})):v(``,!0)]),_:1},8,[`spinning`]),k(`div`,Fe,[l(P)===`settings`?(f(),D(`div`,Re,`تنظیمات پایه`)):(f(),D(`div`,Ie,[y(r,{checked:l(F)?.enabled!==!1,loading:K.value,size:`small`,onChange:q},null,8,[`checked`,`loading`]),k(`span`,Le,s(l(F)?.enabled===!1?`مخفی`:`نمایش در سایت`),1)])),k(`div`,ze,[k(`a`,{href:l(A),target:`_blank`,rel:`noopener`},[y(c,{size:`middle`,class:`!px-3`,title:`مشاهده سایت`},{icon:u(()=>[y(a,{name:`eye`,size:16})]),_:1})],8,Be),y(c,{type:`primary`,size:`middle`,class:`!font-bold !px-5`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[4]||=b(` ذخیره تغییرات `,-1)]),_:1},8,[`loading`,`disabled`])])])],64)):(f(),_(n,{key:0,status:`404`,title:`بخش پیدا نشد`}))}}});export{Ve as default}; \ No newline at end of file +import{f as e,g as t,h as n,m as r,p as i,t as a}from"./VuesaxIcon-B2OgulS6.js";import{At as o,Bt as s,It as c,Lt as l,Nt as u,Pt as d,Tt as f,_t as p,a as m,bt as h,ct as g,dt as _,ft as v,gt as y,ht as b,i as x,jt as S,kt as C,lt as w,n as T,ot as E,pt as D,st as ee,t as O,ut as k}from"./index-BuGK6ptM.js";import{a as te,t as A}from"./format-B9MYDQJN.js";import{t as j}from"./PageHeader-3Ryvg2HD.js";import{n as M,t as N}from"./FormField-CiVT7mqC.js";import{t as P}from"./IconSelect-rJLPzIXV.js";import{n as F,t as I}from"./ListEditor-C8F91lSJ.js";var L=p({__name:`ImageRefField`,props:h({path:{},label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`);return f(),D(g,null,[y(N,{path:`${e.path}.url`,label:e.label,required:``},{default:u(()=>[y(F,{url:t.value.url,onPick:r[0]||=e=>t.value={url:e.url,alt:t.value.alt||e.alt}},null,8,[`url`])]),_:1},8,[`path`,`label`]),y(N,{path:`${e.path}.alt`,label:`متن جایگزین تصویر (alt)`,hint:`برای سئو و دسترسی‌پذیری؛ تصویر را در یک جمله توصیف کنید`},{default:u(()=>[y(i,{value:t.value.alt,"onUpdate:value":r[1]||=e=>t.value.alt=e},null,8,[`value`])]),_:1},8,[`path`])],64)}}}),R={class:`grid gap-x-4 md:grid-cols-2`},z=p({__name:`SectionHeadFields`,props:h({path:{default:`head`},withHighlight:{type:Boolean,default:!0},withDesc:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(n,r)=>{let i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,R,[y(N,{path:`${e.path}.tag`,label:`برچسب بالای عنوان`,hint:`مثلاً «۰۱ — محصولات»`,required:``},{default:u(()=>[y(i,{value:t.value.tag,"onUpdate:value":r[0]||=e=>t.value.tag=e},null,8,[`value`])]),_:1},8,[`path`]),y(N,{path:`${e.path}.title`,label:`عنوان`,hint:`برای شکستن خط، Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.title,"onUpdate:value":r[1]||=e=>t.value.title=e,"auto-size":{minRows:2,maxRows:4}},null,8,[`value`])]),_:1},8,[`path`]),e.withHighlight?(f(),_(N,{key:0,path:`${e.path}.highlight`,label:`خط رنگی انتهای عنوان (اختیاری)`},{default:u(()=>[y(i,{value:t.value.highlight,"onUpdate:value":r[2]||=e=>t.value.highlight=e},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0),e.withDesc?(f(),_(N,{key:1,path:`${e.path}.desc`,label:`توضیح زیر عنوان`,class:`md:col-span-2`},{default:u(()=>[y(a,{value:t.value.desc,"onUpdate:value":r[3]||=e=>t.value.desc=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1},8,[`path`])):v(``,!0)])}}}),B={class:`grid gap-6 xl:grid-cols-3`},V={class:`space-y-6 xl:col-span-2`},H={class:`grid gap-x-4 md:grid-cols-4`},U={class:`grid gap-x-4 md:grid-cols-2`},W={class:`space-y-6`},G=p({__name:`AboutForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-card`),a=C(`a-input`);return f(),D(`div`,B,[k(`div`,V,[y(i,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-desc":!1},null,8,[`modelValue`]),y(N,{path:`body`,label:`متن درباره ما`,required:``},{default:u(()=>[y(r,{value:t.value.body,"onUpdate:value":n[1]||=e=>t.value.body=e,"auto-size":{minRows:4,maxRows:10}},null,8,[`value`])]),_:1})]),_:1}),y(i,{title:`تایم‌لاین`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.timeline,"onUpdate:modelValue":n[2]||=e=>t.value.timeline=e,create:()=>({year:``,text:``}),max:12,"add-label":`افزودن رویداد`,"item-title":e=>e.year},{default:u(({item:e,index:t})=>[k(`div`,H,[y(N,{path:`timeline.${t}.year`,label:`سال`,required:``},{default:u(()=>[y(a,{value:e.year,"onUpdate:value":t=>e.year=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`timeline.${t}.text`,label:`رویداد`,required:``,class:`md:col-span-3`},{default:u(()=>[y(a,{value:e.text,"onUpdate:value":t=>e.text=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(i,{title:`ویژگی‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.features,"onUpdate:modelValue":n[3]||=e=>t.value.features=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن ویژگی`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,U,[y(N,{path:`features.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(a,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`features.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,W,[y(i,{title:`تصویر`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[4]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(i,{title:`نشان روی تصویر`},{default:u(()=>[y(N,{path:`badge.value`,label:`عدد`,required:``},{default:u(()=>[y(a,{value:t.value.badge.value,"onUpdate:value":n[5]||=e=>t.value.badge.value=e},null,8,[`value`])]),_:1}),y(N,{path:`badge.label`,label:`متن`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(r,{value:t.value.badge.label,"onUpdate:value":n[6]||=e=>t.value.badge.label=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),K={class:`space-y-6`},q={class:`grid gap-6 lg:grid-cols-2`},J=p({__name:`ContactForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`),a=C(`a-textarea`);return f(),D(`div`,K,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),n[7]||=k(`p`,{class:`text-sm text-gray-500`},`نشانی، تلفن، ایمیل و ساعات کاری از «تنظیمات سایت» خوانده می‌شوند.`,-1)]),_:1}),k(`div`,q,[y(r,{title:`کادر پاسخ‌گویی اضطراری`},{default:u(()=>[y(N,{path:`emergencyTitle`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:t.value.emergencyTitle,"onUpdate:value":n[1]||=e=>t.value.emergencyTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`emergencyText`,label:`متن`,required:``},{default:u(()=>[y(a,{value:t.value.emergencyText,"onUpdate:value":n[2]||=e=>t.value.emergencyText=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1})]),_:1}),y(r,{title:`فرم`},{default:u(()=>[y(N,{path:`formTag`,label:`برچسب بالای فرم`},{default:u(()=>[y(i,{value:t.value.formTag,"onUpdate:value":n[3]||=e=>t.value.formTag=e},null,8,[`value`])]),_:1}),y(N,{path:`formTitle`,label:`عنوان فرم`,hint:`برای شکستن خط Enter بزنید`,required:``},{default:u(()=>[y(a,{value:t.value.formTitle,"onUpdate:value":n[4]||=e=>t.value.formTitle=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1}),y(N,{path:`successTitle`,label:`عنوان پیام موفقیت`,required:``},{default:u(()=>[y(i,{value:t.value.successTitle,"onUpdate:value":n[5]||=e=>t.value.successTitle=e},null,8,[`value`])]),_:1}),y(N,{path:`successText`,label:`متن پیام موفقیت`,required:``},{default:u(()=>[y(a,{value:t.value.successText,"onUpdate:value":n[6]||=e=>t.value.successText=e,"auto-size":{minRows:2}},null,8,[`value`])]),_:1})]),_:1})])])}}}),Y={class:`grid gap-x-4 md:grid-cols-3`},X=p({__name:`FooterForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`فوتر`},{default:u(()=>[y(N,{path:`about`,label:`متن معرفی`,required:``},{default:u(()=>[y(r,{value:t.value.about,"onUpdate:value":n[0]||=e=>t.value.about=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),k(`div`,Y,[y(N,{path:`copyright`,label:`متن کپی‌رایت`,required:``},{default:u(()=>[y(i,{value:t.value.copyright,"onUpdate:value":n[1]||=e=>t.value.copyright=e},null,8,[`value`])]),_:1}),y(N,{path:`certLine`,label:`خط گواهی‌نامه‌ها`},{default:u(()=>[y(i,{value:t.value.certLine,"onUpdate:value":n[2]||=e=>t.value.certLine=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`emergencyNote`,label:`یادداشت پشتیبانی`},{default:u(()=>[y(i,{value:t.value.emergencyNote,"onUpdate:value":n[3]||=e=>t.value.emergencyNote=e},null,8,[`value`])]),_:1})]),n[4]||=k(`p`,{class:`text-sm text-gray-500`},`لینک دسته‌ها و اطلاعات تماس فوتر به‌صورت خودکار از دسته‌بندی‌ها و تنظیمات سایت ساخته می‌شوند.`,-1)]),_:1})}}}),Z={class:`grid gap-6 xl:grid-cols-3`},Q={class:`space-y-6 xl:col-span-2`},ne={class:`grid gap-x-4 md:grid-cols-2`},re={class:`grid gap-x-4 md:grid-cols-2`},ie={class:`grid gap-x-4 md:grid-cols-2`},ae={class:`grid gap-x-4 md:grid-cols-3`},oe={class:`space-y-6`},se=p({__name:`HeroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`);return f(),D(`div`,Z,[k(`div`,Q,[y(a,{title:`متن‌ها`},{default:u(()=>[k(`div`,ne,[y(N,{path:`badge`,label:`نشان بالای تیتر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.badge,"onUpdate:value":n[0]||=e=>t.value.badge=e},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`تیتر (خط اول)`,required:``},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[1]||=e=>t.value.title=e},null,8,[`value`])]),_:1}),y(N,{path:`titleHighlight`,label:`تیتر (خط زرد)`,required:``},{default:u(()=>[y(r,{value:t.value.titleHighlight,"onUpdate:value":n[2]||=e=>t.value.titleHighlight=e},null,8,[`value`])]),_:1}),y(N,{path:`intro`,label:`متن معرفی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.intro,"onUpdate:value":n[3]||=e=>t.value.intro=e,"auto-size":{minRows:3,maxRows:6}},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`دکمه‌ها`},{default:u(()=>[k(`div`,re,[y(N,{path:`primaryCta.label`,label:`دکمه اصلی — متن`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.label,"onUpdate:value":n[4]||=e=>t.value.primaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`primaryCta.href`,label:`دکمه اصلی — لینک`,hint:`مثلاً #contact یا /categories/...`,required:``},{default:u(()=>[y(r,{value:t.value.primaryCta.href,"onUpdate:value":n[5]||=e=>t.value.primaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.label`,label:`دکمه دوم — متن`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.label,"onUpdate:value":n[6]||=e=>t.value.secondaryCta.label=e},null,8,[`value`])]),_:1}),y(N,{path:`secondaryCta.href`,label:`دکمه دوم — لینک`,required:``},{default:u(()=>[y(r,{value:t.value.secondaryCta.href,"onUpdate:value":n[7]||=e=>t.value.secondaryCta.href=e,class:`ltr-input`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`نشان‌های گواهی`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.chips,"onUpdate:modelValue":n[8]||=e=>t.value.chips=e,create:()=>({icon:`ShieldCheck`,label:``}),max:6,"add-label":`افزودن نشان`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,ie,[y(N,{path:`chips.${t}.label`,label:`متن`,required:``},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`chips.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1}),y(a,{title:`آمار پایین Hero`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.miniStats,"onUpdate:modelValue":n[9]||=e=>t.value.miniStats=e,create:()=>({value:``,label:``}),max:4,"add-label":`افزودن آمار`,"item-title":e=>e.value},{default:u(({item:e,index:t})=>[k(`div`,ae,[y(N,{path:`miniStats.${t}.value`,label:`عدد`,required:``},{default:u(()=>[y(r,{value:e.value,"onUpdate:value":t=>e.value=t,placeholder:`۱۸+`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`miniStats.${t}.label`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})]),k(`div`,oe,[y(a,{title:`تصویر پس‌زمینه`},{default:u(()=>[y(L,{modelValue:t.value.image,"onUpdate:modelValue":n[10]||=e=>t.value.image=e,path:`image`,label:`تصویر`},null,8,[`modelValue`])]),_:1}),y(a,{title:`کارت وضعیت`},{default:u(()=>[y(N,{path:`lastInspection`,label:`تاریخ آخرین بازرسی`,hint:`خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(r,{value:t.value.lastInspection,"onUpdate:value":n[11]||=e=>t.value.lastInspection=e,placeholder:`۱۴۰۴/۰۸/۱۲`},null,8,[`value`])]),_:1})]),_:1})])])}}}),ce={class:`space-y-6`},le={class:`grid gap-x-6 lg:grid-cols-2`},ue=p({__name:`IndustriesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-input`);return f(),D(`div`,ce,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(r,{title:`صنایع`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({name:``,nameEn:``,count:``,image:{url:``,alt:``}}),max:12,"add-label":`افزودن صنعت`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,le,[k(`div`,null,[y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(i,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.nameEn`,label:`نام انگلیسی`},{default:u(()=>[y(i,{value:e.nameEn,"onUpdate:value":t=>e.nameEn=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.count`,label:`تعداد پروژه`,hint:`مثلاً ۱۴۰+ — خالی = نمایش داده نمی‌شود`},{default:u(()=>[y(i,{value:e.count,"onUpdate:value":t=>e.count=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])]),k(`div`,null,[y(L,{modelValue:e.image,"onUpdate:modelValue":t=>e.image=t,path:`items.${t}.image`,label:`تصویر`},null,8,[`modelValue`,`onUpdate:modelValue`,`path`])])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),de={class:`space-y-6`},fe={class:`grid gap-x-4 md:grid-cols-3`},pe=p({__name:`ProductsIntroForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input`),i=C(`a-card`);return f(),D(`div`,de,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),y(N,{path:`ctaLabel`,label:`متن دکمه کاتالوگ`,required:``},{default:u(()=>[y(r,{value:t.value.ctaLabel,"onUpdate:value":n[1]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1}),n[3]||=k(`p`,{class:`text-sm text-gray-500`},`کارت‌های دسته‌بندی از بخش «دسته‌بندی‌ها» مدیریت می‌شوند.`,-1)]),_:1}),y(i,{title:`کارت‌های اعتماد`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.trust,"onUpdate:modelValue":n[2]||=e=>t.value.trust=e,create:()=>({icon:`BadgeCheck`,title:``,desc:``}),max:6,"add-label":`افزودن کارت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,fe,[y(N,{path:`trust.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(r,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.desc`,label:`توضیح`},{default:u(()=>[y(r,{value:e.desc,"onUpdate:value":t=>e.desc=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`trust.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),me={class:`space-y-6`},he={class:`grid gap-x-4 md:grid-cols-2`},ge=p({__name:`ServicesForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n=()=>({icon:`ClipboardCheck`,title:``,desc:``,items:[]});return(e,r)=>{let i=C(`a-card`),a=C(`a-input`),o=C(`a-textarea`),s=C(`a-select`);return f(),D(`div`,me,[y(i,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":r[0]||=e=>t.value.head=e},null,8,[`modelValue`])]),_:1}),y(i,{title:`خدمات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":r[1]||=e=>t.value.items=e,create:n,max:10,"add-label":`افزودن خدمت`,"item-title":e=>e.title},{default:u(({item:e,index:t})=>[k(`div`,he,[y(N,{path:`items.${t}.title`,label:`عنوان`,required:``},{default:u(()=>[y(a,{value:e.title,"onUpdate:value":t=>e.title=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.icon`,label:`آیکون`},{default:u(()=>[y(P,{modelValue:e.icon,"onUpdate:modelValue":t=>e.icon=t},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.desc`,label:`توضیح`,required:``,class:`md:col-span-2`},{default:u(()=>[y(o,{value:e.desc,"onUpdate:value":t=>e.desc=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.items`,label:`موارد (فهرست)`,hint:`هر مورد را بنویسید و Enter بزنید`,class:`md:col-span-2`},{default:u(()=>[y(s,{value:e.items,"onUpdate:value":t=>e.items=t,mode:`tags`,open:!1},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),_e={class:`grid gap-6 xl:grid-cols-2`},ve={class:`grid gap-x-4 md:grid-cols-2`},ye={class:`grid gap-x-4 md:grid-cols-2`},be={class:`grid gap-x-4 md:grid-cols-2`},xe={class:`grid gap-x-4 md:grid-cols-3`},Se=`https://t.me/...`,Ce=p({__name:`SettingsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`),n={Saturday:`شنبه`,Sunday:`یکشنبه`,Monday:`دوشنبه`,Tuesday:`سه‌شنبه`,Wednesday:`چهارشنبه`,Thursday:`پنجشنبه`,Friday:`جمعه`},a={website:`وب‌سایت`,telegram:`تلگرام`,instagram:`اینستاگرام`,linkedin:`لینکدین`,whatsapp:`واتساپ`,bale:`بله`,eitaa:`ایتا`,aparat:`آپارات`,youtube:`یوتیوب`,email:`ایمیل (mailto:)`,phone:`تلفن (tel:)`},o=()=>({type:`telegram`,url:``}),s=e=>a[e.type],c=i.map(e=>({value:e,label:a[e]})),d=r.map(e=>({value:e,label:n[e]}));function p(e){t.value.ogImage={url:e.url,alt:t.value.ogImage.alt||e.alt,width:e.width,height:e.height}}return(e,n)=>{let r=C(`a-input`),i=C(`a-textarea`),a=C(`a-card`),m=C(`a-checkbox-group`),h=C(`a-select`);return f(),D(`div`,_e,[y(a,{title:`هویت و سئوی پیش‌فرض`},{default:u(()=>[k(`div`,ve,[y(N,{path:`name`,label:`نام شرکت`,required:``},{default:u(()=>[y(r,{value:t.value.name,"onUpdate:value":n[0]||=e=>t.value.name=e},null,8,[`value`])]),_:1}),y(N,{path:`nameEn`,label:`نام انگلیسی`,required:``},{default:u(()=>[y(r,{value:t.value.nameEn,"onUpdate:value":n[1]||=e=>t.value.nameEn=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`title`,label:`عنوان پیش‌فرض صفحات (title)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.title,"onUpdate:value":n[2]||=e=>t.value.title=e,maxlength:120,"show-count":``},null,8,[`value`])]),_:1}),y(N,{path:`description`,label:`توضیحات متا (description)`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:t.value.description,"onUpdate:value":n[3]||=e=>t.value.description=e,maxlength:400,"show-count":``,"auto-size":{minRows:3}},null,8,[`value`])]),_:1}),y(N,{path:`foundingDate`,label:`سال تأسیس (میلادی)`,required:``},{default:u(()=>[y(r,{value:t.value.foundingDate,"onUpdate:value":n[4]||=e=>t.value.foundingDate=e,class:`ltr-input`,placeholder:`2007`},null,8,[`value`])]),_:1})]),y(N,{path:`ogImage.url`,label:`تصویر اشتراک‌گذاری (Open Graph)`,hint:`ترجیحاً ۱۲۰۰×۶۳۰ پیکسل`,required:``},{default:u(()=>[y(F,{url:t.value.ogImage.url,onPick:p},null,8,[`url`])]),_:1}),y(N,{path:`ogImage.alt`,label:`متن جایگزین تصویر`},{default:u(()=>[y(r,{value:t.value.ogImage.alt,"onUpdate:value":n[5]||=e=>t.value.ogImage.alt=e},null,8,[`value`])]),_:1})]),_:1}),y(a,{title:`اطلاعات تماس`},{default:u(()=>[k(`div`,ye,[y(N,{path:`phoneDisplay`,label:`تلفن (نمایشی)`,required:``},{default:u(()=>[y(r,{value:t.value.phoneDisplay,"onUpdate:value":n[6]||=e=>t.value.phoneDisplay=e},null,8,[`value`])]),_:1}),y(N,{path:`phone`,label:`تلفن (برای لینک و گوگل)`,hint:`با کد کشور، مثلاً ‎+98-21-91008800`,required:``},{default:u(()=>[y(r,{value:t.value.phone,"onUpdate:value":n[7]||=e=>t.value.phone=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`email`,label:`ایمیل`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.email,"onUpdate:value":n[8]||=e=>t.value.email=e,class:`ltr-input`},null,8,[`value`])]),_:1}),y(N,{path:`address.locality`,label:`شهر`,required:``},{default:u(()=>[y(r,{value:t.value.address.locality,"onUpdate:value":n[9]||=e=>t.value.address.locality=e},null,8,[`value`])]),_:1}),y(N,{path:`address.country`,label:`کد کشور`,required:``},{default:u(()=>[y(r,{value:t.value.address.country,"onUpdate:value":n[10]||=e=>t.value.address.country=e,class:`ltr-input`,maxlength:2},null,8,[`value`])]),_:1}),y(N,{path:`address.street`,label:`نشانی`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:t.value.address.street,"onUpdate:value":n[11]||=e=>t.value.address.street=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`ساعات کاری`},{default:u(()=>[y(N,{path:`workingHours`,label:`متن نمایشی`,required:``},{default:u(()=>[y(r,{value:t.value.workingHours,"onUpdate:value":n[12]||=e=>t.value.workingHours=e},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.days`,label:`روزهای کاری (برای گوگل)`},{default:u(()=>[y(m,{value:t.value.openingHours.days,"onUpdate:value":n[13]||=e=>t.value.openingHours.days=e,options:l(d)},null,8,[`value`,`options`])]),_:1}),k(`div`,be,[y(N,{path:`openingHours.opens`,label:`ساعت شروع`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.opens,"onUpdate:value":n[14]||=e=>t.value.openingHours.opens=e,class:`ltr-input`,placeholder:`08:00`},null,8,[`value`])]),_:1}),y(N,{path:`openingHours.closes`,label:`ساعت پایان`,required:``},{default:u(()=>[y(r,{value:t.value.openingHours.closes,"onUpdate:value":n[15]||=e=>t.value.openingHours.closes=e,class:`ltr-input`,placeholder:`17:00`},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`شبکه‌های اجتماعی و لینک‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.socials,"onUpdate:modelValue":n[16]||=e=>t.value.socials=e,create:o,max:12,"add-label":`افزودن لینک`,"item-title":s},{default:u(({item:e,index:t})=>[k(`div`,xe,[y(N,{path:`socials.${t}.type`,label:`نوع`},{default:u(()=>[y(h,{value:e.type,"onUpdate:value":t=>e.type=t,options:l(c)},null,8,[`value`,`onUpdate:value`,`options`])]),_:2},1032,[`path`]),y(N,{path:`socials.${t}.url`,label:`آدرس`,required:``,class:`md:col-span-2`},{default:u(()=>[y(r,{value:e.url,"onUpdate:value":t=>e.url=t,class:`ltr-input`,placeholder:Se},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`])]),_:1})])}}}),we={class:`space-y-6`},Te={class:`grid gap-x-4 md:grid-cols-2`},Ee={class:`grid gap-x-4 md:grid-cols-2`},De=p({__name:`StandardsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-textarea`),i=C(`a-input`),a=C(`a-card`);return f(),D(`div`,we,[y(a,{title:`عنوان و متن`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e},null,8,[`modelValue`]),k(`div`,Te,[y(N,{path:`note`,label:`کادر توضیح (اختیاری)`},{default:u(()=>[y(r,{value:t.value.note,"onUpdate:value":n[1]||=e=>t.value.note=e,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`])]),_:1}),y(N,{path:`ctaLabel`,label:`متن دکمه`,required:``},{default:u(()=>[y(i,{value:t.value.ctaLabel,"onUpdate:value":n[2]||=e=>t.value.ctaLabel=e},null,8,[`value`])]),_:1})])]),_:1}),y(a,{title:`استانداردها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[3]||=e=>t.value.items=e,create:()=>({code:``,label:``}),max:12,"add-label":`افزودن استاندارد`,"item-title":e=>e.code},{default:u(({item:e,index:t})=>[k(`div`,Ee,[y(N,{path:`items.${t}.code`,label:`کد استاندارد`,required:``},{default:u(()=>[y(i,{value:e.code,"onUpdate:value":t=>e.code=t,class:`ltr-input`,placeholder:`EN 397`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Oe={class:`grid gap-x-4 md:grid-cols-4`},ke=p({__name:`StatsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-input-number`),i=C(`a-input`),a=C(`a-card`);return f(),_(a,{title:`شمارنده‌ها`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[0]||=e=>t.value.items=e,create:()=>({end:0,suffix:`+`,label:``,note:``}),max:8,"add-label":`افزودن شمارنده`,"item-title":e=>e.label},{default:u(({item:e,index:t})=>[k(`div`,Oe,[y(N,{path:`items.${t}.end`,label:`عدد نهایی`,required:``},{default:u(()=>[y(r,{value:e.end,"onUpdate:value":t=>e.end=t,min:0,class:`!w-full`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.suffix`,label:`پسوند`,hint:`مثلاً + یا ٪`},{default:u(()=>[y(i,{value:e.suffix,"onUpdate:value":t=>e.suffix=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.label`,label:`عنوان`,required:``},{default:u(()=>[y(i,{value:e.label,"onUpdate:value":t=>e.label=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.note`,label:`یادداشت انگلیسی کوچک`},{default:u(()=>[y(i,{value:e.note,"onUpdate:value":t=>e.note=t,class:`ltr-input`},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})}}}),Ae=p({__name:`TapeForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-select`),i=C(`a-card`);return f(),_(i,{title:`عبارت‌های نوار متحرک`},{default:u(()=>[y(N,{path:`items`,label:`عبارت‌ها`,hint:`هر عبارت را بنویسید و Enter بزنید؛ برای حذف روی × کلیک کنید`,required:``},{default:u(()=>[y(r,{value:t.value.items,"onUpdate:value":n[0]||=e=>t.value.items=e,mode:`tags`,open:!1},null,8,[`value`])]),_:1})]),_:1})}}}),je={class:`space-y-6`},Me={class:`grid gap-x-4 md:grid-cols-2`},Ne=p({__name:`TestimonialsForm`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=S(e,`modelValue`);return(e,n)=>{let r=C(`a-card`),i=C(`a-textarea`),a=C(`a-input`);return f(),D(`div`,je,[y(r,{title:`عنوان بخش`},{default:u(()=>[y(z,{modelValue:t.value.head,"onUpdate:modelValue":n[0]||=e=>t.value.head=e,"with-highlight":!1,"with-desc":!1},null,8,[`modelValue`])]),_:1}),y(r,{title:`نظرات`,"body-style":{background:`#fafafa`}},{default:u(()=>[y(I,{modelValue:t.value.items,"onUpdate:modelValue":n[1]||=e=>t.value.items=e,create:()=>({text:``,name:``,role:``}),max:12,"add-label":`افزودن نظر`,"item-title":e=>e.name},{default:u(({item:e,index:t})=>[k(`div`,Me,[y(N,{path:`items.${t}.text`,label:`متن نظر`,required:``,class:`md:col-span-2`},{default:u(()=>[y(i,{value:e.text,"onUpdate:value":t=>e.text=t,"auto-size":{minRows:2,maxRows:5}},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.name`,label:`نام`,required:``},{default:u(()=>[y(a,{value:e.name,"onUpdate:value":t=>e.name=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`]),y(N,{path:`items.${t}.role`,label:`سمت و سازمان`},{default:u(()=>[y(a,{value:e.role,"onUpdate:value":t=>e.role=t},null,8,[`value`,`onUpdate:value`])]),_:2},1032,[`path`])])]),_:1},8,[`modelValue`,`item-title`])]),_:1})])}}}),Pe={key:0,class:`max-lg:hidden flex items-center gap-2 me-2`},$=[`href`],Fe={class:`lg:hidden fixed bottom-0 inset-x-0 z-30 border-t border-gray-200 bg-white/95 px-4 py-2.5 backdrop-blur-md shadow-lg flex items-center justify-between gap-3`},Ie={key:0,class:`flex items-center gap-2`},Le={class:`text-xs font-medium text-gray-700`},Re={key:1,class:`text-xs text-gray-500 font-medium`},ze={class:`flex items-center gap-2`},Be=[`href`],Ve=p({__name:`SectionEditPage`,setup(r){let i={settings:Ce,hero:se,tape:Ae,stats:ke,productsIntro:pe,about:G,services:ge,standards:De,industries:ue,testimonials:Ne,contact:J,footer:X},p=O(),h=m(),S=String(h.params.key),N=n(S),P=N?S:`hero`,{model:F,validate:I,handleError:L,reset:R}=M(t[P],{}),z=c(!1),B=c(!1),V=c(null),H=w(()=>N?e[P]:null);async function U(){try{let e=await T(`/admin/sections/${P}`),t=e.data;P!==`settings`&&t.enabled===void 0&&(t.enabled=!0),R(t),V.value=e.updatedAt,z.value=!0}catch(e){E.error(x(e))}}async function W(){let e=I();if(e){B.value=!0;try{let t=await T(`/admin/sections/${P}`,{method:`PUT`,body:e});R(t.data),V.value=t.updatedAt,E.success(`ذخیره شد؛ سایت تا چند لحظه دیگر به‌روز می‌شود`)}catch(e){L(e)}finally{B.value=!1}}}let K=c(!1);async function q(e){let t=!!e;F.value.enabled=t,K.value=!0;try{let e=await T(`/admin/sections/${P}/visibility`,{method:`PATCH`,body:{enabled:t}});F.value.enabled=e.enabled!==!1,V.value=e.updatedAt,E.success(`وضعیت نمایش به ${t?`نمایش`:`عدم نمایش`} تغییر یافت`)}catch(e){F.value.enabled=!t,E.error(x(e))}finally{K.value=!1}}return N&&U(),(e,t)=>{let n=C(`a-result`),r=C(`a-switch`),c=C(`a-button`),m=C(`a-alert`),h=C(`a-form`),x=C(`a-spin`);return l(N)?(f(),D(g,{key:1},[y(j,{title:H.value.title,subtitle:V.value?`آخرین ذخیره: ${l(te)(V.value)}`:H.value.desc,back:`/sections`},{default:u(()=>[l(P)===`settings`?v(``,!0):(f(),D(`div`,Pe,[t[1]||=k(`span`,{class:`text-sm font-medium text-gray-700`},`نمایش در سایت:`,-1),y(r,{checked:l(F)?.enabled!==!1,loading:K.value,"checked-children":`نمایش`,"un-checked-children":`مخفی`,onChange:q},null,8,[`checked`,`loading`])])),k(`a`,{href:l(A),target:`_blank`,rel:`noopener`,class:`max-lg:hidden`},[y(c,null,{default:u(()=>[...t[2]||=[b(`مشاهده سایت`,-1)]]),_:1})],8,$),y(c,{type:`primary`,class:`max-lg:hidden`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[3]||=b(` ذخیره `,-1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`title`,`subtitle`]),y(x,{spinning:!z.value},{default:u(()=>[z.value&&l(P)===`settings`&&!l(p).isAdmin?(f(),_(m,{key:0,type:`error`,"show-icon":``,message:`فقط مدیر کل می‌تواند تنظیمات سایت را تغییر دهد.`,class:`mb-4`})):z.value&&l(P)!==`settings`&&l(F).enabled===!1?(f(),_(m,{key:1,type:`warning`,"show-icon":``,message:`این بخش در حال حاضر در سایت نمایش داده نمی‌شود (مخفی است).`,class:`mb-4`})):v(``,!0),z.value?(f(),_(h,{key:2,layout:`vertical`,class:`pb-20 lg:pb-0`,onSubmit:ee(W,[`prevent`])},{default:u(()=>[(f(),_(o(i[l(P)]),{modelValue:l(F),"onUpdate:modelValue":t[0]||=e=>d(F)?F.value=e:null},null,8,[`modelValue`]))]),_:1})):v(``,!0)]),_:1},8,[`spinning`]),k(`div`,Fe,[l(P)===`settings`?(f(),D(`div`,Re,`تنظیمات پایه`)):(f(),D(`div`,Ie,[y(r,{checked:l(F)?.enabled!==!1,loading:K.value,size:`small`,onChange:q},null,8,[`checked`,`loading`]),k(`span`,Le,s(l(F)?.enabled===!1?`مخفی`:`نمایش در سایت`),1)])),k(`div`,ze,[k(`a`,{href:l(A),target:`_blank`,rel:`noopener`},[y(c,{size:`middle`,class:`!px-3`,title:`مشاهده سایت`},{icon:u(()=>[y(a,{name:`eye`,size:16})]),_:1})],8,Be),y(c,{type:`primary`,size:`middle`,class:`!font-bold !px-5`,loading:B.value,disabled:!z.value||l(P)===`settings`&&!l(p).isAdmin,onClick:W},{icon:u(()=>[y(a,{name:`save-2`,size:16})]),default:u(()=>[t[4]||=b(` ذخیره تغییرات `,-1)]),_:1},8,[`loading`,`disabled`])])])],64)):(f(),_(n,{key:0,status:`404`,title:`بخش پیدا نشد`}))}}});export{Ve as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/SectionsPage-D2mxIFwm.js b/apps/admin/dist/assets/SectionsPage-Da2RoCd0.js similarity index 91% rename from apps/admin/dist/assets/SectionsPage-D2mxIFwm.js rename to apps/admin/dist/assets/SectionsPage-Da2RoCd0.js index ac80894..86e95fe 100644 --- a/apps/admin/dist/assets/SectionsPage-D2mxIFwm.js +++ b/apps/admin/dist/assets/SectionsPage-Da2RoCd0.js @@ -1 +1 @@ -import{d as e,f as t}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as n,Ct as r,Dt as i,Ft as a,It as o,Lt as s,Nt as c,Rt as l,Tt as u,_t as d,ct as f,dt as p,ft as m,gt as h,ht as g,i as _,kt as v,n as y,o as b,ot as x,pt as S,t as C,ut as w}from"./index-BCImsMjH.js";import{a as T}from"./format-NkL3G1Uq.js";import{t as E}from"./PageHeader-vyrIuh7P.js";var D={class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},O={class:`flex items-center justify-between gap-2`},k=[`onClick`],A={class:`font-bold text-gray-800 group-hover:text-orange-600 transition-colors`},j={key:0,class:`flex items-center flex-shrink-0`},M=[`onClick`],N=[`onClick`],P={key:0},F=d({__name:`SectionsPage`,setup(d){let F=b(),I=C(),L=e.filter(e=>e!==`settings`||I.isAdmin),R=o(!0),z=a({hero:!0,tape:!0,stats:!0,productsIntro:!0,about:!0,services:!0,standards:!0,industries:!0,testimonials:!0,contact:!0,footer:!0}),B=a({}),V=a({});function H(e){return z[e]!==!1}function U(e){return B[e]??null}async function W(){R.value=!0;try{let e=await y(`/admin/sections`);for(let t of e)z[t.key]=t.enabled!==!1,B[t.key]=t.updatedAt}catch(e){x.error(_(e))}finally{R.value=!1}}async function G(e,n){if(e===`settings`)return;let r=z[e]!==!1;z[e]=n,V[e]=!0;try{let r=await y(`/admin/sections/${e}/visibility`,{method:`PATCH`,body:{enabled:n}});z[e]=r.enabled!==!1,B[e]=r.updatedAt,x.success(`وضعیت «${t[e].title}» به ${n?`نمایش`:`عدم نمایش`} تغییر یافت`)}catch(t){z[e]=r,x.error(_(t))}finally{V[e]=!1}}function K(e){F.push({name:`section-edit`,params:{key:e}})}return r(()=>{W()}),(e,r)=>{let a=v(`a-tag`),o=v(`a-switch`),d=v(`a-card`),_=v(`a-spin`);return u(),S(f,null,[h(E,{title:`بخش‌های سایت`,subtitle:`متن‌ها، تصاویر و فهرست‌های صفحه اصلی؛ تنظیم وضعیت نمایش و ویرایش محتوا`}),h(_,{spinning:R.value},{default:c(()=>[w(`div`,D,[(u(!0),S(f,null,i(s(L),e=>(u(),S(`div`,{key:e,class:`block group`},[h(d,{hoverable:``,class:l([`h-full flex flex-col justify-between transition-all`,{"opacity-75 bg-gray-50/60":e!==`settings`&&!H(e)}])},{default:c(()=>[w(`div`,null,[w(`div`,O,[w(`div`,{class:`flex items-center gap-2 cursor-pointer flex-1`,onClick:t=>K(e)},[w(`span`,A,n(s(t)[e].title),1),e===`settings`?(u(),p(a,{key:0,color:`blue`},{default:c(()=>[...r[0]||=[g(`تنظیمات پایه`,-1)]]),_:1})):H(e)?m(``,!0):(u(),p(a,{key:1,color:`error`},{default:c(()=>[...r[1]||=[g(`مخفی`,-1)]]),_:1}))],8,k),e===`settings`?m(``,!0):(u(),S(`div`,j,[h(o,{checked:H(e),loading:V[e],"checked-children":`نمایش`,"un-checked-children":`مخفی`,onChange:t=>G(e,!!t)},null,8,[`checked`,`loading`,`onChange`])]))]),w(`p`,{class:`mt-2 text-sm leading-6 text-gray-500 cursor-pointer`,onClick:t=>K(e)},n(s(t)[e].desc),9,M)]),w(`div`,{class:`mt-4 flex items-center justify-between border-t border-gray-100 pt-3 text-xs text-gray-400 cursor-pointer`,onClick:t=>K(e)},[r[2]||=w(`span`,{class:`text-primary font-medium group-hover:underline`},`ویرایش بخش ←`,-1),U(e)?(u(),S(`span`,P,`آخرین تغییر: `+n(s(T)(U(e))),1)):m(``,!0)],8,N)]),_:2},1032,[`class`])]))),128))])]),_:1},8,[`spinning`])],64)}}});export{F as default}; \ No newline at end of file +import{d as e,f as t}from"./VuesaxIcon-B2OgulS6.js";import{Bt as n,Ct as r,Dt as i,Ft as a,It as o,Lt as s,Nt as c,Rt as l,Tt as u,_t as d,ct as f,dt as p,ft as m,gt as h,ht as g,i as _,kt as v,n as y,o as b,ot as x,pt as S,t as C,ut as w}from"./index-BuGK6ptM.js";import{a as T}from"./format-B9MYDQJN.js";import{t as E}from"./PageHeader-3Ryvg2HD.js";var D={class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},O={class:`flex items-center justify-between gap-2`},k=[`onClick`],A={class:`font-bold text-gray-800 group-hover:text-orange-600 transition-colors`},j={key:0,class:`flex items-center flex-shrink-0`},M=[`onClick`],N=[`onClick`],P={key:0},F=d({__name:`SectionsPage`,setup(d){let F=b(),I=C(),L=e.filter(e=>e!==`settings`||I.isAdmin),R=o(!0),z=a({hero:!0,tape:!0,stats:!0,productsIntro:!0,about:!0,services:!0,standards:!0,industries:!0,testimonials:!0,contact:!0,footer:!0}),B=a({}),V=a({});function H(e){return z[e]!==!1}function U(e){return B[e]??null}async function W(){R.value=!0;try{let e=await y(`/admin/sections`);for(let t of e)z[t.key]=t.enabled!==!1,B[t.key]=t.updatedAt}catch(e){x.error(_(e))}finally{R.value=!1}}async function G(e,n){if(e===`settings`)return;let r=z[e]!==!1;z[e]=n,V[e]=!0;try{let r=await y(`/admin/sections/${e}/visibility`,{method:`PATCH`,body:{enabled:n}});z[e]=r.enabled!==!1,B[e]=r.updatedAt,x.success(`وضعیت «${t[e].title}» به ${n?`نمایش`:`عدم نمایش`} تغییر یافت`)}catch(t){z[e]=r,x.error(_(t))}finally{V[e]=!1}}function K(e){F.push({name:`section-edit`,params:{key:e}})}return r(()=>{W()}),(e,r)=>{let a=v(`a-tag`),o=v(`a-switch`),d=v(`a-card`),_=v(`a-spin`);return u(),S(f,null,[h(E,{title:`بخش‌های سایت`,subtitle:`متن‌ها، تصاویر و فهرست‌های صفحه اصلی؛ تنظیم وضعیت نمایش و ویرایش محتوا`}),h(_,{spinning:R.value},{default:c(()=>[w(`div`,D,[(u(!0),S(f,null,i(s(L),e=>(u(),S(`div`,{key:e,class:`block group`},[h(d,{hoverable:``,class:l([`h-full flex flex-col justify-between transition-all`,{"opacity-75 bg-gray-50/60":e!==`settings`&&!H(e)}])},{default:c(()=>[w(`div`,null,[w(`div`,O,[w(`div`,{class:`flex items-center gap-2 cursor-pointer flex-1`,onClick:t=>K(e)},[w(`span`,A,n(s(t)[e].title),1),e===`settings`?(u(),p(a,{key:0,color:`blue`},{default:c(()=>[...r[0]||=[g(`تنظیمات پایه`,-1)]]),_:1})):H(e)?m(``,!0):(u(),p(a,{key:1,color:`error`},{default:c(()=>[...r[1]||=[g(`مخفی`,-1)]]),_:1}))],8,k),e===`settings`?m(``,!0):(u(),S(`div`,j,[h(o,{checked:H(e),loading:V[e],"checked-children":`نمایش`,"un-checked-children":`مخفی`,onChange:t=>G(e,!!t)},null,8,[`checked`,`loading`,`onChange`])]))]),w(`p`,{class:`mt-2 text-sm leading-6 text-gray-500 cursor-pointer`,onClick:t=>K(e)},n(s(t)[e].desc),9,M)]),w(`div`,{class:`mt-4 flex items-center justify-between border-t border-gray-100 pt-3 text-xs text-gray-400 cursor-pointer`,onClick:t=>K(e)},[r[2]||=w(`span`,{class:`text-primary font-medium group-hover:underline`},`ویرایش بخش ←`,-1),U(e)?(u(),S(`span`,P,`آخرین تغییر: `+n(s(T)(U(e))),1)):m(``,!0)],8,N)]),_:2},1032,[`class`])]))),128))])]),_:1},8,[`spinning`])],64)}}});export{F as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/UsersPage-D2QmqN50.js b/apps/admin/dist/assets/UsersPage-C15bNN1T.js similarity index 97% rename from apps/admin/dist/assets/UsersPage-D2QmqN50.js rename to apps/admin/dist/assets/UsersPage-C15bNN1T.js index 9c2b043..fa0b6e9 100644 --- a/apps/admin/dist/assets/UsersPage-D2QmqN50.js +++ b/apps/admin/dist/assets/UsersPage-C15bNN1T.js @@ -1 +1 @@ -import{a as e,b as t,l as n,o as r,t as i,u as a}from"./VuesaxIcon-CrbgSv-1.js";import{Bt as o,Ct as s,Dt as ee,It as c,Lt as l,Nt as u,Rt as te,Tt as d,_t as f,ct as p,dt as m,ft as h,gt as g,ht as _,i as v,kt as y,lt as b,n as x,ot as S,pt as C,st as ne,t as w,ut as T}from"./index-BCImsMjH.js";import{a as E}from"./format-NkL3G1Uq.js";import{t as re}from"./PageHeader-vyrIuh7P.js";import{n as D,t as O}from"./FormField-D95xTO-F.js";var ie={key:0,dir:`ltr`},ae={class:`lg:hidden space-y-3`},k={key:0,class:`rounded-xl border border-dashed border-gray-200 bg-white p-8 text-center`},A={key:1,class:`space-y-3`},oe={class:`flex items-start justify-between gap-3`},se={class:`flex items-center gap-3`},ce={class:`font-bold text-gray-900`},le=[`href`],ue={class:`flex flex-col items-end gap-1`},de={class:`mt-3.5 flex items-center justify-between border-t border-gray-100 pt-3 text-xs text-gray-400`},fe={class:`flex items-center gap-1.5`},pe={class:`font-medium text-gray-600`},j={class:`flex items-center gap-1.5`},M={class:`lg:hidden mt-4 rounded-xl border border-gray-200 bg-white p-3 text-xs shadow-sm`},N={class:`cursor-pointer font-bold text-gray-700 flex items-center justify-between select-none`},P={class:`flex items-center gap-1.5`},F={class:`mt-3 space-y-3 pt-3 border-t border-gray-100`},I={class:`rounded-lg border border-orange-200 bg-orange-50/40 p-2.5`},L={class:`flex items-center gap-2 font-bold text-orange-700`},R={class:`rounded-lg border border-blue-200 bg-blue-50/40 p-2.5`},z={class:`flex items-center gap-2 font-bold text-blue-700`},me={class:`mt-6 max-lg:hidden grid gap-4 md:grid-cols-2`},he={class:`flex items-center gap-2 font-bold text-orange-700`},ge={class:`flex items-center gap-2 font-bold text-blue-700`},_e={class:`mt-1.5 text-[11px] text-gray-500`},B=f({__name:`UsersPage`,setup(f){let B=w(),V=c([]),H=c(!1),U=c(null),W=c(!1),G={phone:``,name:``,role:`EDITOR`,password:``,isActive:!0},K=D(n,G),q=K.model,J=b(()=>U.value===0),ve=e.map(e=>({value:e,label:r[e]}));async function Y(){H.value=!0;try{V.value=await x(`/admin/users`)}catch(e){S.error(v(e))}finally{H.value=!1}}function X(){K.reset(G),U.value=0}function Z(e){K.reset({phone:e.phone,name:e.name,role:e.role,isActive:e.isActive,password:``}),U.value=e.id}async function Q(){W.value=!0;try{if(J.value){let e=K.validate();if(!e)return;await x(`/admin/users`,{method:`POST`,body:e})}else{let{name:e,role:n,isActive:r,password:i}=q.value,o=a.safeParse({name:e,role:n,isActive:r,password:i||void 0});if(!o.success){K.errors.value=Object.fromEntries(t(o.error).map(e=>[e.path,e.message]));return}await x(`/admin/users/${U.value}`,{method:`PUT`,body:o.data})}S.success(`ذخیره شد`),U.value=null,await Y()}catch(e){K.handleError(e)}finally{W.value=!1}}async function $(e){try{await x(`/admin/users/${e.id}`,{method:`DELETE`}),S.success(`کاربر حذف شد`),await Y()}catch(e){S.error(v(e))}}let ye=[{title:`نام`,dataIndex:`name`},{title:`موبایل`,key:`phone`},{title:`نقش`,key:`role`,width:110},{title:`وضعیت`,key:`active`,width:100},{title:`آخرین ورود`,key:`login`,width:170},{title:``,key:`actions`,width:100}];return s(Y),(e,t)=>{let n=y(`a-button`),a=y(`a-tag`),s=y(`a-popconfirm`),c=y(`a-space`),f=y(`a-table`),v=y(`a-card`),b=y(`a-spin`),x=y(`a-input`),S=y(`a-select`),w=y(`a-checkbox`),D=y(`a-input-password`),G=y(`a-form`),K=y(`a-modal`);return d(),C(p,null,[g(re,{title:`کاربران پنل`,subtitle:`مدیر کل به همه بخش‌ها دسترسی دارد؛ ویرایشگر به جز کاربران و تنظیمات سایت`},{default:u(()=>[g(n,{type:`primary`,onClick:X},{icon:u(()=>[g(i,{name:`add`,size:16})]),default:u(()=>[t[6]||=_(` کاربر جدید `,-1)]),_:1})]),_:1}),g(v,{"body-style":{padding:0},class:`max-lg:hidden`},{default:u(()=>[g(f,{columns:ye,"data-source":V.value,loading:H.value,"row-key":`id`,pagination:!1,scroll:{x:700}},{bodyCell:u(({column:e,record:t})=>[e.key===`phone`?(d(),C(`span`,ie,o(t.phone),1)):e.key===`role`?(d(),m(a,{key:1,color:t.role===`ADMIN`?`orange`:`blue`},{default:u(()=>[_(o(l(r)[t.role]),1)]),_:2},1032,[`color`])):e.key===`active`?(d(),m(a,{key:2,color:t.isActive?`green`:`default`},{default:u(()=>[_(o(t.isActive?`فعال`:`غیرفعال`),1)]),_:2},1032,[`color`])):e.key===`login`?(d(),C(p,{key:3},[_(o(l(E)(t.lastLoginAt)),1)],64)):e.key===`actions`?(d(),m(c,{key:4,size:4},{default:u(()=>[g(n,{size:`small`,onClick:e=>Z(t)},{icon:u(()=>[g(i,{name:`edit-2`,size:16})]),_:1},8,[`onClick`]),t.id===l(B).user?.id?h(``,!0):(d(),m(s,{key:0,title:`این کاربر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>$(t)},{default:u(()=>[g(n,{size:`small`,danger:``},{icon:u(()=>[g(i,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`]))]),_:2},1024)):h(``,!0)]),_:1},8,[`data-source`,`loading`])]),_:1}),T(`div`,ae,[g(b,{spinning:H.value},{default:u(()=>[!V.value.length&&!H.value?(d(),C(`div`,k,[...t[7]||=[T(`div`,{class:`text-sm text-gray-500`},`کاربری یافت نشد`,-1)]])):(d(),C(`div`,A,[(d(!0),C(p,null,ee(V.value,e=>(d(),C(`div`,{key:e.id,class:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm transition-all`},[T(`div`,oe,[T(`div`,se,[T(`div`,{class:te([`flex size-11 flex-shrink-0 items-center justify-center rounded-full font-bold text-white shadow-sm`,e.role===`ADMIN`?`bg-gradient-to-tr from-orange-600 to-amber-500`:`bg-gradient-to-tr from-blue-600 to-sky-500`])},o(e.name.slice(0,1)),3),T(`div`,null,[T(`div`,ce,o(e.name),1),T(`a`,{href:`tel:${e.phone}`,class:`mt-0.5 inline-block text-xs font-mono text-gray-500 hover:text-orange-600`,dir:`ltr`},o(e.phone),9,le)])]),T(`div`,ue,[g(a,{color:e.role===`ADMIN`?`orange`:`blue`,class:`!m-0 text-[11px]`},{default:u(()=>[_(o(l(r)[e.role]),1)]),_:2},1032,[`color`]),g(a,{color:e.isActive?`green`:`default`,class:`!m-0 text-[10px]`},{default:u(()=>[_(o(e.isActive?`فعال`:`غیرفعال`),1)]),_:2},1032,[`color`])])]),T(`div`,de,[T(`div`,fe,[t[8]||=T(`span`,null,`آخرین ورود:`,-1),T(`span`,pe,o(l(E)(e.lastLoginAt)),1)]),T(`div`,j,[g(n,{size:`small`,class:`!flex !items-center !gap-1`,onClick:t=>Z(e)},{icon:u(()=>[g(i,{name:`edit-2`,size:14})]),default:u(()=>[t[9]||=T(`span`,null,`ویرایش`,-1)]),_:1},8,[`onClick`]),e.id===l(B).user?.id?h(``,!0):(d(),m(s,{key:0,title:`این کاربر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:t=>$(e)},{default:u(()=>[g(n,{size:`small`,danger:``,class:`!px-2`},{icon:u(()=>[g(i,{name:`trash`,size:14})]),_:1})]),_:1},8,[`onConfirm`]))])])]))),128))]))]),_:1},8,[`spinning`])]),T(`button`,{type:`button`,class:`lg:hidden fixed bottom-20 left-4 z-30 flex size-13 items-center justify-center rounded-full bg-[#ff5a00] text-white shadow-lg shadow-orange-500/30 transition-transform active:scale-95`,title:`کاربر جدید`,onClick:X},[g(i,{name:`add`,size:24})]),T(`details`,M,[T(`summary`,N,[T(`span`,P,[g(i,{name:`info-circle`,size:16,class:`text-orange-500`}),t[10]||=_(` راهنمای نقش‌ها و مجوزهای دسترسی `,-1)]),t[11]||=T(`span`,{class:`text-gray-400 text-[10px]`},`لمس برای مشاهده`,-1)]),T(`div`,F,[T(`div`,I,[T(`div`,L,[g(a,{color:`orange`},{default:u(()=>[...t[12]||=[_(`مدیر کل (ADMIN)`,-1)]]),_:1}),t[13]||=T(`span`,{class:`text-[11px]`},`دسترسی ارشد سیستمی`,-1)]),t[14]||=T(`ul`,{class:`mt-2 space-y-1 text-[11px] text-gray-600 list-disc list-inside`},[T(`li`,null,`مدیریت کاربران، نقش‌ها و تنظیمات امنیتی`),T(`li`,null,`تنظیمات پایه سایت، سئو، شبکه‌ها و ساعات کاری`),T(`li`,null,`حذف داده‌ها (محصولات، دسته‌ها، پیام‌ها، رسانه‌ها)`)],-1)]),T(`div`,R,[T(`div`,z,[g(a,{color:`blue`},{default:u(()=>[...t[15]||=[_(`ویرایشگر (EDITOR)`,-1)]]),_:1}),t[16]||=T(`span`,{class:`text-[11px]`},`دسترسی محتوایی`,-1)]),t[17]||=T(`ul`,{class:`mt-2 space-y-1 text-[11px] text-gray-600 list-disc list-inside`},[T(`li`,null,`ایجاد، ویرایش و انتشار محصولات و دسته‌بندی‌ها`),T(`li`,null,`ویرایش محتوای بخش‌های صفحه اصلی`),T(`li`,null,`آپلود تصاویر در رسانه و مشاهده پیام‌های تماس`)],-1)])])]),T(`div`,me,[g(v,{size:`small`,class:`border-orange-200 bg-orange-50/30`},{default:u(()=>[T(`div`,he,[g(a,{color:`orange`},{default:u(()=>[...t[18]||=[_(`مدیر کل (ADMIN)`,-1)]]),_:1}),t[19]||=T(`span`,{class:`text-xs`},`دسترسی ارشد سیستمی`,-1)]),t[20]||=T(`ul`,{class:`mt-2.5 space-y-1.5 text-xs text-gray-600 list-disc list-inside`},[T(`li`,null,`مدیریت کاربران، افزودن کاربر و تغییر نقش‌ها و وضعیت حساب`),T(`li`,null,`دسترسی کامل به تنظیمات پایه سایت، ساعات کاری، شبکه‌ها و سئو`),T(`li`,null,`مجوز حذف محصولات، دسته‌بندی‌ها، رسانه‌ها و پیام‌های تماس`),T(`li`,null,`مشاهده لاگ‌های امنیتی و رویدادهای کامل سامانه`)],-1)]),_:1}),g(v,{size:`small`,class:`border-blue-200 bg-blue-50/30`},{default:u(()=>[T(`div`,ge,[g(a,{color:`blue`},{default:u(()=>[...t[21]||=[_(`ویرایشگر (EDITOR)`,-1)]]),_:1}),t[22]||=T(`span`,{class:`text-xs`},`دسترسی محتوایی`,-1)]),t[23]||=T(`ul`,{class:`mt-2.5 space-y-1.5 text-xs text-gray-600 list-disc list-inside`},[T(`li`,null,`ایجاد، ویرایش، کپی و انتشار محصولات و گروه‌ها`),T(`li`,null,`ویرایش محتوای بخش‌های صفحه اصلی و فعال/مخفی‌سازی نمایش آنها`),T(`li`,null,`آپلود و ویرایش اطلاعات رسانه‌ها در کتابخانه رسانه`),T(`li`,null,`مشاهده پیام‌های تماس و به‌روزرسانی وضعیت (بدون دسترسی حذف یا مدیریت کاربران)`)],-1)]),_:1})]),g(K,{open:U.value!==null,title:J.value?`کاربر جدید`:`ویرایش کاربر`,"ok-text":`ذخیره`,"cancel-text":`انصراف`,"confirm-loading":W.value,"destroy-on-close":``,onOk:Q,onCancel:t[5]||=e=>U.value=null},{default:u(()=>[g(G,{layout:`vertical`,class:`mt-4`,onSubmit:ne(Q,[`prevent`])},{default:u(()=>[g(O,{path:`phone`,label:`شماره موبایل`,required:``},{default:u(()=>[g(x,{value:l(q).phone,"onUpdate:value":t[0]||=e=>l(q).phone=e,class:`ltr-input`,disabled:!J.value,inputmode:`tel`,placeholder:`09121234567`},null,8,[`value`,`disabled`])]),_:1}),g(O,{path:`name`,label:`نام`,required:``},{default:u(()=>[g(x,{value:l(q).name,"onUpdate:value":t[1]||=e=>l(q).name=e},null,8,[`value`])]),_:1}),g(O,{path:`role`,label:`نقش`,required:``},{default:u(()=>[g(S,{value:l(q).role,"onUpdate:value":t[2]||=e=>l(q).role=e,disabled:U.value===l(B).user?.id,options:l(ve)},null,8,[`value`,`disabled`,`options`]),T(`div`,_e,o(l(q).role===`ADMIN`?`مدیر کل: دسترسی کامل سیستمی، حذف داده‌ها، تنظیمات و مدیریت کاربران`:`ویرایشگر: ویرایش محتوا، محصولات، بخش‌ها و پیام‌ها (بدون حذف)`),1)]),_:1}),J.value?h(``,!0):(d(),m(O,{key:0,path:`isActive`},{default:u(()=>[g(w,{checked:l(q).isActive,"onUpdate:checked":t[3]||=e=>l(q).isActive=e,disabled:U.value===l(B).user?.id},{default:u(()=>[...t[24]||=[_(`حساب فعال است`,-1)]]),_:1},8,[`checked`,`disabled`])]),_:1})),g(O,{path:`password`,label:J.value?`رمز عبور`:`رمز عبور جدید (اختیاری)`,required:J.value,hint:`حداقل ۸ کاراکتر`},{default:u(()=>[g(D,{value:l(q).password,"onUpdate:value":t[4]||=e=>l(q).password=e,class:`ltr-input`,autocomplete:`new-password`},null,8,[`value`])]),_:1},8,[`label`,`required`])]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`])],64)}}});export{B as default}; \ No newline at end of file +import{a as e,b as t,l as n,o as r,t as i,u as a}from"./VuesaxIcon-B2OgulS6.js";import{Bt as o,Ct as s,Dt as ee,It as c,Lt as l,Nt as u,Rt as te,Tt as d,_t as f,ct as p,dt as m,ft as h,gt as g,ht as _,i as v,kt as y,lt as b,n as x,ot as S,pt as C,st as ne,t as w,ut as T}from"./index-BuGK6ptM.js";import{a as E}from"./format-B9MYDQJN.js";import{t as re}from"./PageHeader-3Ryvg2HD.js";import{n as D,t as O}from"./FormField-CiVT7mqC.js";var ie={key:0,dir:`ltr`},ae={class:`lg:hidden space-y-3`},k={key:0,class:`rounded-xl border border-dashed border-gray-200 bg-white p-8 text-center`},A={key:1,class:`space-y-3`},oe={class:`flex items-start justify-between gap-3`},se={class:`flex items-center gap-3`},ce={class:`font-bold text-gray-900`},le=[`href`],ue={class:`flex flex-col items-end gap-1`},de={class:`mt-3.5 flex items-center justify-between border-t border-gray-100 pt-3 text-xs text-gray-400`},fe={class:`flex items-center gap-1.5`},pe={class:`font-medium text-gray-600`},j={class:`flex items-center gap-1.5`},M={class:`lg:hidden mt-4 rounded-xl border border-gray-200 bg-white p-3 text-xs shadow-sm`},N={class:`cursor-pointer font-bold text-gray-700 flex items-center justify-between select-none`},P={class:`flex items-center gap-1.5`},F={class:`mt-3 space-y-3 pt-3 border-t border-gray-100`},I={class:`rounded-lg border border-orange-200 bg-orange-50/40 p-2.5`},L={class:`flex items-center gap-2 font-bold text-orange-700`},R={class:`rounded-lg border border-blue-200 bg-blue-50/40 p-2.5`},z={class:`flex items-center gap-2 font-bold text-blue-700`},me={class:`mt-6 max-lg:hidden grid gap-4 md:grid-cols-2`},he={class:`flex items-center gap-2 font-bold text-orange-700`},ge={class:`flex items-center gap-2 font-bold text-blue-700`},_e={class:`mt-1.5 text-[11px] text-gray-500`},B=f({__name:`UsersPage`,setup(f){let B=w(),V=c([]),H=c(!1),U=c(null),W=c(!1),G={phone:``,name:``,role:`EDITOR`,password:``,isActive:!0},K=D(n,G),q=K.model,J=b(()=>U.value===0),ve=e.map(e=>({value:e,label:r[e]}));async function Y(){H.value=!0;try{V.value=await x(`/admin/users`)}catch(e){S.error(v(e))}finally{H.value=!1}}function X(){K.reset(G),U.value=0}function Z(e){K.reset({phone:e.phone,name:e.name,role:e.role,isActive:e.isActive,password:``}),U.value=e.id}async function Q(){W.value=!0;try{if(J.value){let e=K.validate();if(!e)return;await x(`/admin/users`,{method:`POST`,body:e})}else{let{name:e,role:n,isActive:r,password:i}=q.value,o=a.safeParse({name:e,role:n,isActive:r,password:i||void 0});if(!o.success){K.errors.value=Object.fromEntries(t(o.error).map(e=>[e.path,e.message]));return}await x(`/admin/users/${U.value}`,{method:`PUT`,body:o.data})}S.success(`ذخیره شد`),U.value=null,await Y()}catch(e){K.handleError(e)}finally{W.value=!1}}async function $(e){try{await x(`/admin/users/${e.id}`,{method:`DELETE`}),S.success(`کاربر حذف شد`),await Y()}catch(e){S.error(v(e))}}let ye=[{title:`نام`,dataIndex:`name`},{title:`موبایل`,key:`phone`},{title:`نقش`,key:`role`,width:110},{title:`وضعیت`,key:`active`,width:100},{title:`آخرین ورود`,key:`login`,width:170},{title:``,key:`actions`,width:100}];return s(Y),(e,t)=>{let n=y(`a-button`),a=y(`a-tag`),s=y(`a-popconfirm`),c=y(`a-space`),f=y(`a-table`),v=y(`a-card`),b=y(`a-spin`),x=y(`a-input`),S=y(`a-select`),w=y(`a-checkbox`),D=y(`a-input-password`),G=y(`a-form`),K=y(`a-modal`);return d(),C(p,null,[g(re,{title:`کاربران پنل`,subtitle:`مدیر کل به همه بخش‌ها دسترسی دارد؛ ویرایشگر به جز کاربران و تنظیمات سایت`},{default:u(()=>[g(n,{type:`primary`,onClick:X},{icon:u(()=>[g(i,{name:`add`,size:16})]),default:u(()=>[t[6]||=_(` کاربر جدید `,-1)]),_:1})]),_:1}),g(v,{"body-style":{padding:0},class:`max-lg:hidden`},{default:u(()=>[g(f,{columns:ye,"data-source":V.value,loading:H.value,"row-key":`id`,pagination:!1,scroll:{x:700}},{bodyCell:u(({column:e,record:t})=>[e.key===`phone`?(d(),C(`span`,ie,o(t.phone),1)):e.key===`role`?(d(),m(a,{key:1,color:t.role===`ADMIN`?`orange`:`blue`},{default:u(()=>[_(o(l(r)[t.role]),1)]),_:2},1032,[`color`])):e.key===`active`?(d(),m(a,{key:2,color:t.isActive?`green`:`default`},{default:u(()=>[_(o(t.isActive?`فعال`:`غیرفعال`),1)]),_:2},1032,[`color`])):e.key===`login`?(d(),C(p,{key:3},[_(o(l(E)(t.lastLoginAt)),1)],64)):e.key===`actions`?(d(),m(c,{key:4,size:4},{default:u(()=>[g(n,{size:`small`,onClick:e=>Z(t)},{icon:u(()=>[g(i,{name:`edit-2`,size:16})]),_:1},8,[`onClick`]),t.id===l(B).user?.id?h(``,!0):(d(),m(s,{key:0,title:`این کاربر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:e=>$(t)},{default:u(()=>[g(n,{size:`small`,danger:``},{icon:u(()=>[g(i,{name:`trash`,size:16})]),_:1})]),_:1},8,[`onConfirm`]))]),_:2},1024)):h(``,!0)]),_:1},8,[`data-source`,`loading`])]),_:1}),T(`div`,ae,[g(b,{spinning:H.value},{default:u(()=>[!V.value.length&&!H.value?(d(),C(`div`,k,[...t[7]||=[T(`div`,{class:`text-sm text-gray-500`},`کاربری یافت نشد`,-1)]])):(d(),C(`div`,A,[(d(!0),C(p,null,ee(V.value,e=>(d(),C(`div`,{key:e.id,class:`rounded-xl border border-gray-100 bg-white p-4 shadow-sm transition-all`},[T(`div`,oe,[T(`div`,se,[T(`div`,{class:te([`flex size-11 flex-shrink-0 items-center justify-center rounded-full font-bold text-white shadow-sm`,e.role===`ADMIN`?`bg-gradient-to-tr from-orange-600 to-amber-500`:`bg-gradient-to-tr from-blue-600 to-sky-500`])},o(e.name.slice(0,1)),3),T(`div`,null,[T(`div`,ce,o(e.name),1),T(`a`,{href:`tel:${e.phone}`,class:`mt-0.5 inline-block text-xs font-mono text-gray-500 hover:text-orange-600`,dir:`ltr`},o(e.phone),9,le)])]),T(`div`,ue,[g(a,{color:e.role===`ADMIN`?`orange`:`blue`,class:`!m-0 text-[11px]`},{default:u(()=>[_(o(l(r)[e.role]),1)]),_:2},1032,[`color`]),g(a,{color:e.isActive?`green`:`default`,class:`!m-0 text-[10px]`},{default:u(()=>[_(o(e.isActive?`فعال`:`غیرفعال`),1)]),_:2},1032,[`color`])])]),T(`div`,de,[T(`div`,fe,[t[8]||=T(`span`,null,`آخرین ورود:`,-1),T(`span`,pe,o(l(E)(e.lastLoginAt)),1)]),T(`div`,j,[g(n,{size:`small`,class:`!flex !items-center !gap-1`,onClick:t=>Z(e)},{icon:u(()=>[g(i,{name:`edit-2`,size:14})]),default:u(()=>[t[9]||=T(`span`,null,`ویرایش`,-1)]),_:1},8,[`onClick`]),e.id===l(B).user?.id?h(``,!0):(d(),m(s,{key:0,title:`این کاربر حذف شود؟`,"ok-text":`حذف`,"cancel-text":`انصراف`,onConfirm:t=>$(e)},{default:u(()=>[g(n,{size:`small`,danger:``,class:`!px-2`},{icon:u(()=>[g(i,{name:`trash`,size:14})]),_:1})]),_:1},8,[`onConfirm`]))])])]))),128))]))]),_:1},8,[`spinning`])]),T(`button`,{type:`button`,class:`lg:hidden fixed bottom-20 left-4 z-30 flex size-13 items-center justify-center rounded-full bg-[#ff5a00] text-white shadow-lg shadow-orange-500/30 transition-transform active:scale-95`,title:`کاربر جدید`,onClick:X},[g(i,{name:`add`,size:24})]),T(`details`,M,[T(`summary`,N,[T(`span`,P,[g(i,{name:`info-circle`,size:16,class:`text-orange-500`}),t[10]||=_(` راهنمای نقش‌ها و مجوزهای دسترسی `,-1)]),t[11]||=T(`span`,{class:`text-gray-400 text-[10px]`},`لمس برای مشاهده`,-1)]),T(`div`,F,[T(`div`,I,[T(`div`,L,[g(a,{color:`orange`},{default:u(()=>[...t[12]||=[_(`مدیر کل (ADMIN)`,-1)]]),_:1}),t[13]||=T(`span`,{class:`text-[11px]`},`دسترسی ارشد سیستمی`,-1)]),t[14]||=T(`ul`,{class:`mt-2 space-y-1 text-[11px] text-gray-600 list-disc list-inside`},[T(`li`,null,`مدیریت کاربران، نقش‌ها و تنظیمات امنیتی`),T(`li`,null,`تنظیمات پایه سایت، سئو، شبکه‌ها و ساعات کاری`),T(`li`,null,`حذف داده‌ها (محصولات، دسته‌ها، پیام‌ها، رسانه‌ها)`)],-1)]),T(`div`,R,[T(`div`,z,[g(a,{color:`blue`},{default:u(()=>[...t[15]||=[_(`ویرایشگر (EDITOR)`,-1)]]),_:1}),t[16]||=T(`span`,{class:`text-[11px]`},`دسترسی محتوایی`,-1)]),t[17]||=T(`ul`,{class:`mt-2 space-y-1 text-[11px] text-gray-600 list-disc list-inside`},[T(`li`,null,`ایجاد، ویرایش و انتشار محصولات و دسته‌بندی‌ها`),T(`li`,null,`ویرایش محتوای بخش‌های صفحه اصلی`),T(`li`,null,`آپلود تصاویر در رسانه و مشاهده پیام‌های تماس`)],-1)])])]),T(`div`,me,[g(v,{size:`small`,class:`border-orange-200 bg-orange-50/30`},{default:u(()=>[T(`div`,he,[g(a,{color:`orange`},{default:u(()=>[...t[18]||=[_(`مدیر کل (ADMIN)`,-1)]]),_:1}),t[19]||=T(`span`,{class:`text-xs`},`دسترسی ارشد سیستمی`,-1)]),t[20]||=T(`ul`,{class:`mt-2.5 space-y-1.5 text-xs text-gray-600 list-disc list-inside`},[T(`li`,null,`مدیریت کاربران، افزودن کاربر و تغییر نقش‌ها و وضعیت حساب`),T(`li`,null,`دسترسی کامل به تنظیمات پایه سایت، ساعات کاری، شبکه‌ها و سئو`),T(`li`,null,`مجوز حذف محصولات، دسته‌بندی‌ها، رسانه‌ها و پیام‌های تماس`),T(`li`,null,`مشاهده لاگ‌های امنیتی و رویدادهای کامل سامانه`)],-1)]),_:1}),g(v,{size:`small`,class:`border-blue-200 bg-blue-50/30`},{default:u(()=>[T(`div`,ge,[g(a,{color:`blue`},{default:u(()=>[...t[21]||=[_(`ویرایشگر (EDITOR)`,-1)]]),_:1}),t[22]||=T(`span`,{class:`text-xs`},`دسترسی محتوایی`,-1)]),t[23]||=T(`ul`,{class:`mt-2.5 space-y-1.5 text-xs text-gray-600 list-disc list-inside`},[T(`li`,null,`ایجاد، ویرایش، کپی و انتشار محصولات و گروه‌ها`),T(`li`,null,`ویرایش محتوای بخش‌های صفحه اصلی و فعال/مخفی‌سازی نمایش آنها`),T(`li`,null,`آپلود و ویرایش اطلاعات رسانه‌ها در کتابخانه رسانه`),T(`li`,null,`مشاهده پیام‌های تماس و به‌روزرسانی وضعیت (بدون دسترسی حذف یا مدیریت کاربران)`)],-1)]),_:1})]),g(K,{open:U.value!==null,title:J.value?`کاربر جدید`:`ویرایش کاربر`,"ok-text":`ذخیره`,"cancel-text":`انصراف`,"confirm-loading":W.value,"destroy-on-close":``,onOk:Q,onCancel:t[5]||=e=>U.value=null},{default:u(()=>[g(G,{layout:`vertical`,class:`mt-4`,onSubmit:ne(Q,[`prevent`])},{default:u(()=>[g(O,{path:`phone`,label:`شماره موبایل`,required:``},{default:u(()=>[g(x,{value:l(q).phone,"onUpdate:value":t[0]||=e=>l(q).phone=e,class:`ltr-input`,disabled:!J.value,inputmode:`tel`,placeholder:`09121234567`},null,8,[`value`,`disabled`])]),_:1}),g(O,{path:`name`,label:`نام`,required:``},{default:u(()=>[g(x,{value:l(q).name,"onUpdate:value":t[1]||=e=>l(q).name=e},null,8,[`value`])]),_:1}),g(O,{path:`role`,label:`نقش`,required:``},{default:u(()=>[g(S,{value:l(q).role,"onUpdate:value":t[2]||=e=>l(q).role=e,disabled:U.value===l(B).user?.id,options:l(ve)},null,8,[`value`,`disabled`,`options`]),T(`div`,_e,o(l(q).role===`ADMIN`?`مدیر کل: دسترسی کامل سیستمی، حذف داده‌ها، تنظیمات و مدیریت کاربران`:`ویرایشگر: ویرایش محتوا، محصولات، بخش‌ها و پیام‌ها (بدون حذف)`),1)]),_:1}),J.value?h(``,!0):(d(),m(O,{key:0,path:`isActive`},{default:u(()=>[g(w,{checked:l(q).isActive,"onUpdate:checked":t[3]||=e=>l(q).isActive=e,disabled:U.value===l(B).user?.id},{default:u(()=>[...t[24]||=[_(`حساب فعال است`,-1)]]),_:1},8,[`checked`,`disabled`])]),_:1})),g(O,{path:`password`,label:J.value?`رمز عبور`:`رمز عبور جدید (اختیاری)`,required:J.value,hint:`حداقل ۸ کاراکتر`},{default:u(()=>[g(D,{value:l(q).password,"onUpdate:value":t[4]||=e=>l(q).password=e,class:`ltr-input`,autocomplete:`new-password`},null,8,[`value`])]),_:1},8,[`label`,`required`])]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`])],64)}}});export{B as default}; \ No newline at end of file diff --git a/apps/admin/dist/assets/VuesaxIcon-CrbgSv-1.js b/apps/admin/dist/assets/VuesaxIcon-B2OgulS6.js similarity index 99% rename from apps/admin/dist/assets/VuesaxIcon-CrbgSv-1.js rename to apps/admin/dist/assets/VuesaxIcon-B2OgulS6.js index 8c0541f..f03554b 100644 --- a/apps/admin/dist/assets/VuesaxIcon-CrbgSv-1.js +++ b/apps/admin/dist/assets/VuesaxIcon-B2OgulS6.js @@ -1,4 +1,4 @@ -import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as ee,Q as te,R as g,S as ne,T as re,Tt as ie,U as _,V as ae,W as oe,X as se,Y as ce,Z as le,_ as ue,_t as de,at as fe,b as pe,c as me,d as v,et as he,f as ge,g as y,h as _e,it as ve,j as ye,k as be,l as b,lt as xe,m as x,nt as Se,p as Ce,pt as we,q as Te,rt as Ee,s as S,tt as De,u as C,v as Oe,w,x as ke,y as Ae,z as je,zt as Me}from"./index-BCImsMjH.js";function Ne(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function Pe(e){this._zod.message=e}var Fe={get:Ne,set:Pe,enumerable:!0,configurable:!0},Ie={value:void 0,enumerable:!1},Le=new WeakSet([Object.prototype,Error.prototype]),Re=b(`$ZodError`,(e,t)=>{e.name=`$ZodError`,Ie.value=t,Object.defineProperty(e,"issues",Ie),Ie.value=void 0,Object.defineProperty(e,"message",Fe);let n=Object.getPrototypeOf(e);Le.has(n)||(Le.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))});function ze(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Be(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?ze(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Ve(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i{let n=(r,i,a,o)=>{let s=a?{...a,async:!1}:{async:!1},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise)throw new S;if(c.issues.length){let r=new((o?.Err)??e)(c.issues.map(e=>t(e,s,C())));throw Ae(r,o?.callee??n),r}return c.value};return n},We=e=>{let n=async(r,i,a,o)=>{let s=a?{...a,async:!0}:{async:!0},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise&&(c=await c),c.issues.length){let r=new((o?.Err)??e)(c.issues.map(e=>t(e,s,C())));throw Ae(r,o?.callee??n),r}return c.value};return n},Ge=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new S;return a.issues.length?Ke(e,a.issues,i):{success:!0,data:a.value}};function Ke(e,n,r){let i;return{success:!1,get error(){return i||(i=new e(n.map(e=>t(e,r,C()))),n=void 0,r=void 0),i},set error(e){i=e,n=void 0,r=void 0}}}var qe=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Ke(e,a.issues,i):{success:!0,data:a.value}},Je=Symbol.for(`zod.compile.invalid`),Ye=Symbol.for(`zod.compile.fallback`),Xe=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Je)return!0;if(r.definite===!0&&n===void 0)return!1}return Ze(e,t,n)});function Ze(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[Ye]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new S;return a.issues.length===0}var Qe=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},$e=e=>{let t=Ue(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,He(n,a))};return n},et=e=>{let t=Ue(e),n=(e,r,i,a)=>t(e,r,i,He(n,a));return n},tt=e=>{let t=We(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,He(n,a))};return n},nt=e=>{let t=We(e),n=async(e,r,i,a)=>await t(e,r,i,He(n,a));return n},rt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ge(e)(t,n,i)},it=e=>(t,n,r)=>Ge(e)(t,n,r),at=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return qe(e)(t,n,i)},ot=e=>async(t,n,r)=>qe(e)(t,n,r),st=/^[cC][0-9a-z]{6,}$/,ct=/^[0-9a-z]+$/,lt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,ut=/^[0-9a-vA-V]{20}$/,dt=/^[A-Za-z0-9]{27}$/,ft=/^[a-zA-Z0-9_-]{21}$/;function pt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var mt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ht=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,gt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,_t=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,vt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function yt(){return new RegExp(vt,`u`)}var bt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,St=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ct=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Tt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Et=/^https?$/,Dt=/^\+[1-9]\d{6,14}$/,Ot=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function kt(e){return RegExp(`^${e}$`)}var At=kt(Ot);function jt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Mt(e){return RegExp(`^${jt(e)}$`)}function Nt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${jt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${jt({precision:e.precision})}`:n;return RegExp(`^${Ot}T(?:${r})$`)}var Pt=/^[\s\S]{0,}$/,Ft=/^-?\d+(?:\.\d+)?$/,It=/^(?:true|false)$/i,Lt=/^[^A-Z]*$/,Rt=/^[^a-z]*$/,T=b(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),zt=e=>{let t=e.value;return!oe(t)&&t.length!==void 0},E={number:`number`,bigint:`bigint`,object:`date`},Bt=b(`$ZodCheckLessThan`,(e,t)=>{T.init(e,t);let n=E[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{T.init(e,t);let n=E[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:E[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ht=b(`$ZodCheckMultipleOf`,(e,t)=>{T.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):ye(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ut=b(`$ZodCheckNumberFormat`,(e,t)=>{T.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ce[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}sa&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Wt=b(`$ZodCheckMaxLength`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?ne(r):i)<=t.maximum)return;let a=m(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Gt=b(`$ZodCheckMinLength`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i=t.minimum)return;let a=m(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Kt=b(`$ZodCheckLengthEquals`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?ne(r):i;if(a===t.length)return;let o=m(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),qt=b(`$ZodCheckStringFormat`,(e,t)=>{var n,r;T.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Jt=b(`$ZodCheckRegex`,(e,t)=>{qt.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Yt=b(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Lt,qt.init(e,t)}),Xt=b(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Rt,qt.init(e,t)}),Zt=b(`$ZodCheckIncludes`,(e,t)=>{T.init(e,t);let n=i(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Qt=b(`$ZodCheckStartsWith`,(e,t)=>{T.init(e,t);let n=RegExp(`^${i(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),$t=b(`$ZodCheckEndsWith`,(e,t)=>{T.init(e,t);let n=RegExp(`.*${i(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),en=b(`$ZodCheckOverwrite`,(e,t)=>{T.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),tn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` +import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as ee,Q as te,R as g,S as ne,T as re,Tt as ie,U as _,V as ae,W as oe,X as se,Y as ce,Z as le,_ as ue,_t as de,at as fe,b as pe,c as me,d as v,et as he,f as ge,g as y,h as _e,it as ve,j as ye,k as be,l as b,lt as xe,m as x,nt as Se,p as Ce,pt as we,q as Te,rt as Ee,s as S,tt as De,u as C,v as Oe,w,x as ke,y as Ae,z as je,zt as Me}from"./index-BuGK6ptM.js";function Ne(){let e=this._zod;return e.message??=JSON.stringify(e.def,n,2),e.message}function Pe(e){this._zod.message=e}var Fe={get:Ne,set:Pe,enumerable:!0,configurable:!0},Ie={value:void 0,enumerable:!1},Le=new WeakSet([Object.prototype,Error.prototype]),Re=b(`$ZodError`,(e,t)=>{e.name=`$ZodError`,Ie.value=t,Object.defineProperty(e,"issues",Ie),Ie.value=void 0,Object.defineProperty(e,"message",Fe);let n=Object.getPrototypeOf(e);Le.has(n)||(Le.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))});function ze(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Be(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?ze(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Ve(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i{let n=(r,i,a,o)=>{let s=a?{...a,async:!1}:{async:!1},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise)throw new S;if(c.issues.length){let r=new((o?.Err)??e)(c.issues.map(e=>t(e,s,C())));throw Ae(r,o?.callee??n),r}return c.value};return n},We=e=>{let n=async(r,i,a,o)=>{let s=a?{...a,async:!0}:{async:!0},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise&&(c=await c),c.issues.length){let r=new((o?.Err)??e)(c.issues.map(e=>t(e,s,C())));throw Ae(r,o?.callee??n),r}return c.value};return n},Ge=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new S;return a.issues.length?Ke(e,a.issues,i):{success:!0,data:a.value}};function Ke(e,n,r){let i;return{success:!1,get error(){return i||(i=new e(n.map(e=>t(e,r,C()))),n=void 0,r=void 0),i},set error(e){i=e,n=void 0,r=void 0}}}var qe=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Ke(e,a.issues,i):{success:!0,data:a.value}},Je=Symbol.for(`zod.compile.invalid`),Ye=Symbol.for(`zod.compile.fallback`),Xe=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Je)return!0;if(r.definite===!0&&n===void 0)return!1}return Ze(e,t,n)});function Ze(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[Ye]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new S;return a.issues.length===0}var Qe=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},$e=e=>{let t=Ue(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,He(n,a))};return n},et=e=>{let t=Ue(e),n=(e,r,i,a)=>t(e,r,i,He(n,a));return n},tt=e=>{let t=We(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,He(n,a))};return n},nt=e=>{let t=We(e),n=async(e,r,i,a)=>await t(e,r,i,He(n,a));return n},rt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ge(e)(t,n,i)},it=e=>(t,n,r)=>Ge(e)(t,n,r),at=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return qe(e)(t,n,i)},ot=e=>async(t,n,r)=>qe(e)(t,n,r),st=/^[cC][0-9a-z]{6,}$/,ct=/^[0-9a-z]+$/,lt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,ut=/^[0-9a-vA-V]{20}$/,dt=/^[A-Za-z0-9]{27}$/,ft=/^[a-zA-Z0-9_-]{21}$/;function pt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var mt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ht=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,gt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,_t=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,vt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function yt(){return new RegExp(vt,`u`)}var bt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,St=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ct=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Tt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Et=/^https?$/,Dt=/^\+[1-9]\d{6,14}$/,Ot=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function kt(e){return RegExp(`^${e}$`)}var At=kt(Ot);function jt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Mt(e){return RegExp(`^${jt(e)}$`)}function Nt(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${jt({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${jt({precision:e.precision})}`:n;return RegExp(`^${Ot}T(?:${r})$`)}var Pt=/^[\s\S]{0,}$/,Ft=/^-?\d+(?:\.\d+)?$/,It=/^(?:true|false)$/i,Lt=/^[^A-Z]*$/,Rt=/^[^a-z]*$/,T=b(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),zt=e=>{let t=e.value;return!oe(t)&&t.length!==void 0},E={number:`number`,bigint:`bigint`,object:`date`},Bt=b(`$ZodCheckLessThan`,(e,t)=>{T.init(e,t);let n=E[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value{T.init(e,t);let n=E[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:E[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ht=b(`$ZodCheckMultipleOf`,(e,t)=>{T.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):ye(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ut=b(`$ZodCheckNumberFormat`,(e,t)=>{T.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ce[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}sa&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Wt=b(`$ZodCheckMaxLength`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?ne(r):i)<=t.maximum)return;let a=m(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Gt=b(`$ZodCheckMinLength`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i=t.minimum)return;let a=m(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Kt=b(`$ZodCheckLengthEquals`,(e,t)=>{var n;T.init(e,t),(n=e._zod.def).when??(n.when=zt),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?ne(r):i;if(a===t.length)return;let o=m(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),qt=b(`$ZodCheckStringFormat`,(e,t)=>{var n,r;T.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Jt=b(`$ZodCheckRegex`,(e,t)=>{qt.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Yt=b(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Lt,qt.init(e,t)}),Xt=b(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Rt,qt.init(e,t)}),Zt=b(`$ZodCheckIncludes`,(e,t)=>{T.init(e,t);let n=i(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Qt=b(`$ZodCheckStartsWith`,(e,t)=>{T.init(e,t);let n=RegExp(`^${i(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),$t=b(`$ZodCheckEndsWith`,(e,t)=>{T.init(e,t);let n=RegExp(`.*${i(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),en=b(`$ZodCheckOverwrite`,(e,t)=>{T.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),tn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(` `)}\n};`)(...Object.values(this.closed))}},nn={major:4,minor:6,patch:7},D=b(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=x(t),a;for(let o of n){if(o._zod.def.when){if(h(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new S;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(ue(t.issues,n,e),i||=x(t,n))});else{if(t.issues.length===n)continue;ue(t.issues,n,e),i||=x(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(x(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new S;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new S;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return ee(this,`~standard`,on(this))},set"~standard"(e){Te(this,`~standard`,e)}}),rn=(e,n)=>e.issues.length?{issues:e.issues.map(e=>t(e,n,C()))}:{value:e.value};async function an(e,t){let n={async:!0};return rn(await e._zod.run({value:t,issues:[]},n),n)}function on(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return rn(r,n)}catch{}return an(e,t)},vendor:`zod`,version:1}}var sn=b(`$ZodString`,(e,t)=>{D.init(e,t),e._zod.pattern=t.pattern??Pt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),O=b(`$ZodStringFormat`,(e,t)=>{qt.init(e,t),sn.init(e,t)}),cn=b(`$ZodGUID`,(e,t)=>{t.pattern??=ht,O.init(e,t)}),ln=b(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=gt(e)}else t.pattern??=gt();O.init(e,t)}),un=b(`$ZodEmail`,(e,t)=>{t.pattern??=_t,O.init(e,t)});function dn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function fn(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?dn(e)||2:pn(e,t)}function pn(e,t){if(!t.normalize&&t.protocol?.source===Et.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var mn=/[\t\n\r]/g;function hn(e){return e.replace(mn,``)}function gn(e,t){return t.lastIndex=0,t.test(e.hostname)}function _n(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var vn=b(`$ZodURL`,(e,t)=>{O.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=fn(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=hn(r);return}t.hostname&&!gn(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!_n(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:hn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),yn=b(`$ZodEmoji`,(e,t)=>{t.pattern??=yt(),O.init(e,t)}),bn=b(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?ft:pt(t.length),O.init(e,t)}),xn=b(`$ZodCUID`,(e,t)=>{t.pattern??=st,O.init(e,t)}),Sn=b(`$ZodCUID2`,(e,t)=>{t.pattern??=ct,O.init(e,t)}),Cn=b(`$ZodULID`,(e,t)=>{t.pattern??=lt,O.init(e,t)}),wn=b(`$ZodXID`,(e,t)=>{t.pattern??=ut,O.init(e,t)}),Tn=b(`$ZodKSUID`,(e,t)=>{t.pattern??=dt,O.init(e,t)}),En=b(`$ZodISODateTime`,(e,t)=>{t.pattern??=Nt(t),O.init(e,t)}),Dn=b(`$ZodISODate`,(e,t)=>{t.pattern??=At,O.init(e,t)}),On=b(`$ZodISOTime`,(e,t)=>{t.pattern??=Mt(t),O.init(e,t)}),kn=b(`$ZodISODuration`,(e,t)=>{t.pattern??=mt,O.init(e,t)}),An=b(`$ZodIPv4`,(e,t)=>{t.pattern??=bt,O.init(e,t)}),jn=/^[0-9a-fA-F:.]+$/;function Mn(e){return jn.test(e)?dn(`http://[${e}]`):!1}var Nn=b(`$ZodIPv6`,(e,t)=>{t.pattern??=xt,O.init(e,t),e._zod.check=n=>{Mn(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Pn=b(`$ZodCIDRv4`,(e,t)=>{t.pattern??=St,O.init(e,t)});function Fn(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:Mn(n)}var In=b(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ct,O.init(e,t),e._zod.check=n=>{Fn(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Ln(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Rn=/^[0-9a-zA-Z+/]*={0,2}$/,zn=b(`$ZodBase64`,(e,t)=>{t.pattern??=Rn,O.init(e,t),e._zod.check=n=>{Ln(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Bn=/^[A-Za-z0-9_-]*$/;function Vn(e){if(!Bn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Ln(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Hn=b(`$ZodBase64URL`,(e,t)=>{t.pattern??=Bn,O.init(e,t),e._zod.check=n=>{Vn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Un=b(`$ZodE164`,(e,t)=>{t.pattern??=Dt,O.init(e,t)});function Wn(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Gn=b(`$ZodJWT`,(e,t)=>{O.init(e,t),e._zod.check=n=>{Wn(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Kn=b(`$ZodNumber`,(e,t)=>{D.init(e,t),e._zod.pattern=Ft,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),qn=b(`$ZodNumberFormat`,(e,t)=>{Ut.init(e,t),Kn.init(e,t)}),Jn=b(`$ZodBoolean`,(e,t)=>{D.init(e,t),e._zod.pattern=It,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Yn=b(`$ZodUnknown`,(e,t)=>{D.init(e,t),e._zod.parse=e=>e}),Xn=b(`$ZodNever`,(e,t)=>{D.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Zn(e,t){let n=Ee(e._zod.def.checks);if(!n.length)return;let r=Math.min(...n.map(e=>e[0])),i=e._zod.parse;e._zod.parse=(n,a)=>{let o=t(n.value);if(o>r&&!a?.skipChecks&&a?.direction!==`backward`){for(let[t,r]of Ee(e._zod.def.checks))if(o>t&&r._zod.def.when(n)){let t=n.issues.length;return r._zod.check(n),n.issues[t].continue=!1,ue(n.issues,t,e),n}}return i(n,a)}}var Qn=e=>Array.isArray(e)?e.length:-1;function $n(e,t,n){e.issues.length&&t.issues.push(...le(n,e.issues)),t.value[n]=e.value}var er=b(`$ZodArray`,(e,t)=>{D.init(e,t);let n=v.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e$n(t,r,e)));else if($n(c,r,e),s&&c.issues.length!==0&&x(c))break}return o.length?Promise.all(o).then(()=>r):r},Zn(e,Qn)});function k(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...le(n,e.issues))}!o&&i===void 0?e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]}):e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var tr=[];function nr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:tr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=d(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function rr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(x(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>k(e,n,i,t,d,f))):k(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var ir=b(`$ZodObject`,(e,t)=>{D.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=Oe(()=>nr(t));w(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||y(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=l,o=t.catchall,s,c=v.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(x(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>k(n,t,e,r,a,o))):k(s,t,e,r,a,o)}return o?rr(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),ar=b(`$ZodObjectJIT`,(e,t)=>{ir.init(e,t);let n=e._zod.parse,r=Oe(()=>nr(t)),i=v.memoizer,o=t=>{let n=r.value,o=n.symbolKeys,s=new tn([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:o}),c=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,l=(e,t)=>` let ${e}_ab = false; diff --git a/apps/admin/dist/assets/format-B9MYDQJN.js b/apps/admin/dist/assets/format-B9MYDQJN.js new file mode 100644 index 0000000..73eb1e5 --- /dev/null +++ b/apps/admin/dist/assets/format-B9MYDQJN.js @@ -0,0 +1 @@ +var e=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),t=t=>t?e.format(new Date(t)):`—`,n=e=>e<1048576?`${(e/1024).toLocaleString(`fa-IR`,{maximumFractionDigits:0})} کیلوبایت`:`${(e/1024/1024).toLocaleString(`fa-IR`,{maximumFractionDigits:1})} مگابایت`,r=e=>e.toLocaleString(`fa-IR`),i=`https://imenpishgaman.ir`,a={create:`ایجاد`,update:`ویرایش`,delete:`حذف`,upload:`آپلود`,login:`ورود`,publish:`انتشار`,unpublish:`عدم انتشار`,duplicate:`کپی`,reorder:`مرتب‌سازی`,"change-password":`تغییر رمز`},o={product:`محصول`,category:`دسته`,section:`بخش سایت`,media:`رسانه`,user:`کاربر`,message:`پیام`},s=(e,t)=>`${a[e]??e} ${o[t]??t}`;export{t as a,n as i,s as n,r,i as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/format-NkL3G1Uq.js b/apps/admin/dist/assets/format-NkL3G1Uq.js deleted file mode 100644 index 40438ac..0000000 --- a/apps/admin/dist/assets/format-NkL3G1Uq.js +++ /dev/null @@ -1 +0,0 @@ -var e=new Intl.DateTimeFormat(`fa-IR-u-ca-persian`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),t=t=>t?e.format(new Date(t)):`—`,n=e=>e<1048576?`${(e/1024).toLocaleString(`fa-IR`,{maximumFractionDigits:0})} کیلوبایت`:`${(e/1024/1024).toLocaleString(`fa-IR`,{maximumFractionDigits:1})} مگابایت`,r=e=>e.toLocaleString(`fa-IR`),i=`http://localhost:3000`,a={create:`ایجاد`,update:`ویرایش`,delete:`حذف`,upload:`آپلود`,login:`ورود`,publish:`انتشار`,unpublish:`عدم انتشار`,duplicate:`کپی`,reorder:`مرتب‌سازی`,"change-password":`تغییر رمز`},o={product:`محصول`,category:`دسته`,section:`بخش سایت`,media:`رسانه`,user:`کاربر`,message:`پیام`},s=(e,t)=>`${a[e]??e} ${o[t]??t}`;export{t as a,n as i,s as n,r,i as t}; \ No newline at end of file diff --git a/apps/admin/dist/assets/index-BCImsMjH.js b/apps/admin/dist/assets/index-BuGK6ptM.js similarity index 99% rename from apps/admin/dist/assets/index-BCImsMjH.js rename to apps/admin/dist/assets/index-BuGK6ptM.js index 0aa8fc6..6b5cd2c 100644 --- a/apps/admin/dist/assets/index-BCImsMjH.js +++ b/apps/admin/dist/assets/index-BuGK6ptM.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginPage-9ZnLIZG9.js","assets/VuesaxIcon-CrbgSv-1.js","assets/VuesaxIcon-CWCuvyiA.css","assets/logo-BuUh917n.js","assets/FormField-D95xTO-F.js","assets/LoginPage-CTFu9XSt.css","assets/AdminLayout-BWEJTyVc.js","assets/format-NkL3G1Uq.js","assets/AdminLayout-DqN4f4Pv.css","assets/DashboardPage-D3Dg5cDP.js","assets/PageHeader-vyrIuh7P.js","assets/PageHeader-ChIv12OH.css","assets/ProductsPage-BEwm5CwI.js","assets/ProductsPage-BoL7n7Xx.css","assets/ProductEditPage-B-Sknc6p.js","assets/ListEditor-DF9sShFo.js","assets/slug-Flyc3fOh.js","assets/CategoriesPage-DDuDA84R.js","assets/CategoryEditPage-DezgJrn9.js","assets/IconSelect-n5KsEDDN.js","assets/SectionsPage-D2mxIFwm.js","assets/SectionEditPage-BdDEZJqd.js","assets/MessagesPage-C1A1xjPE.js","assets/MediaPage-4vzZa5Eb.js","assets/UsersPage-D2QmqN50.js","assets/ProfilePage-CKqPwLoF.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginPage-D6HPXv4g.js","assets/VuesaxIcon-B2OgulS6.js","assets/VuesaxIcon-CWCuvyiA.css","assets/logo-BuUh917n.js","assets/FormField-CiVT7mqC.js","assets/LoginPage-CTFu9XSt.css","assets/AdminLayout-j5VE2EZ9.js","assets/format-B9MYDQJN.js","assets/AdminLayout-DqN4f4Pv.css","assets/DashboardPage-Do-v_tLH.js","assets/PageHeader-3Ryvg2HD.js","assets/PageHeader-ChIv12OH.css","assets/ProductsPage-CVHBMUNz.js","assets/ProductsPage-BoL7n7Xx.css","assets/ProductEditPage-DTSEsrWG.js","assets/ListEditor-C8F91lSJ.js","assets/slug-Flyc3fOh.js","assets/CategoriesPage-DSZGpYF5.js","assets/CategoryEditPage-B4VYwreC.js","assets/IconSelect-rJLPzIXV.js","assets/SectionsPage-Da2RoCd0.js","assets/SectionEditPage-BfSd3Uov.js","assets/MessagesPage-Bb_X9ABq.js","assets/MediaPage-DnfskIVE.js","assets/UsersPage-C15bNN1T.js","assets/ProfilePage-DxhVPJ4c.js"])))=>i.map(i=>d[i]); var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n;if(typeof Symbol<`u`&&(n=e[Symbol.toPrimitive])!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h(e){for(var t=1;te in t}var v={},y=[],b=()=>{},x=()=>!1,S=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),C=e=>e.startsWith(`onUpdate:`),w=Object.assign,T=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},E=Object.prototype.hasOwnProperty,D=(e,t)=>E.call(e,t),O=Array.isArray,k=e=>R(e)===`[object Map]`,A=e=>R(e)===`[object Set]`,j=e=>R(e)===`[object Date]`,M=e=>typeof e==`function`,N=e=>typeof e==`string`,P=e=>typeof e==`symbol`,F=e=>typeof e==`object`&&!!e,I=e=>(F(e)||M(e))&&M(e.then)&&M(e.catch),L=Object.prototype.toString,R=e=>L.call(e),ee=e=>R(e).slice(8,-1),te=e=>R(e)===`[object Object]`,ne=e=>N(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,z=_(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),re=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ie=/-\w/g,ae=re(e=>e.replace(ie,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,se=re(e=>e.replace(oe,`-$1`).toLowerCase()),ce=re(e=>e.charAt(0).toUpperCase()+e.slice(1)),le=re(e=>e?`on${ce(e)}`:``),ue=(e,t)=>!Object.is(e,t),de=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},pe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},me=e=>{let t=N(e)?Number(e):NaN;return isNaN(t)?e:t},he,ge=()=>he||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function _e(e){if(O(e)){let t={};for(let n=0;ne.startsWith(`/*`)?``:e).split(ve).forEach(e=>{if(e){let n=e.split(ye);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Se(e){let t=``;if(N(e))t=e;else if(O(e))for(let n=0;n!!(e&&e.__v_isRef===!0),je=e=>N(e)?e:e==null?``:O(e)||F(e)&&(e.toString===L||!M(e.toString))?Ae(e)?je(e.value):JSON.stringify(e,Me,2):String(e),Me=(e,t)=>Ae(t)?Me(e,t.value):k(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ne(t,r)+` =>`]=n,e),{})}:A(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ne(e))}:P(t)?Ne(t):F(t)&&!O(t)&&!te(t)?String(t):t,Ne=(e,t=``)=>P(e)?`Symbol(${e.description??t})`:e,Pe,Fe=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&Pe&&(Pe.active?(this.parent=Pe,this.index=(Pe.scopes||(Pe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e0&&--this._on===0){if(Pe===this)Pe=this.prevScope;else{let e=Pe;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(We){let e=We;for(We=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ue;){let t=Ue;for(Ue=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Je(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ye(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Qe(r),$e(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Xe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ze(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ze(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===at)||(e.globalVersion=at,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Xe(e))))return;e.flags|=2;let t=e.dep,n=ze,r=et;ze=e,et=!0;try{Je(e);let n=e.fn(e._value);(t.version===0||ue(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{ze=n,et=r,Ye(e),e.flags&=-3}}function Qe(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Qe(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function $e(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var et=!0,tt=[];function nt(){tt.push(et),et=!1}function rt(){let e=tt.pop();et=e===void 0||e}function it(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=ze;ze=void 0;try{t()}finally{ze=e}}}var at=0,ot=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},st=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!ze||!et||ze===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ze)t=this.activeLink=new ot(ze,this),ze.deps?(t.prevDep=ze.depsTail,ze.depsTail.nextDep=t,ze.depsTail=t):ze.deps=ze.depsTail=t,ct(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=ze.depsTail,t.nextDep=void 0,ze.depsTail.nextDep=t,ze.depsTail=t,ze.deps===t&&(ze.deps=e)}return t}trigger(e){this.version++,at++,this.notify(e)}notify(e){Ke();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{qe()}}};function ct(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ct(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var lt=new WeakMap,ut=Symbol(``),dt=Symbol(``),ft=Symbol(``);function pt(e,t,n){if(et&&ze){let t=lt.get(e);t||lt.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new st),r.map=t,r.key=n),r.track()}}function mt(e,t,n,r,i,a){let o=lt.get(e);if(!o){at++;return}let s=e=>{e&&e.trigger()};if(Ke(),t===`clear`)o.forEach(s);else{let i=O(e),a=i&&ne(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===ft||!P(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(ft)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(ut)),k(e)&&s(o.get(dt)));break;case`delete`:i||(s(o.get(ut)),k(e)&&s(o.get(dt)));break;case`set`:k(e)&&s(o.get(ut))}}qe()}function ht(e,t){let n=lt.get(e);return n&&n.get(t)}function gt(e){let t=rn(e);return t===e||(pt(t,`iterate`,ft),tn(e))?t:en(e)?$t(e)?t.map(e=>sn(on(e))):t.map(sn):t.map(on)}function _t(e){return pt(e=rn(e),`iterate`,ft),e}function vt(e,t){return en(e)?sn($t(e)?on(t):t):on(t)}var yt={__proto__:null,[Symbol.iterator](){return bt(this,Symbol.iterator,e=>vt(this,e))},concat(...e){return gt(this).concat(...e.map(e=>O(e)?gt(e):e))},entries(){return bt(this,`entries`,e=>(e[1]=vt(this,e[1]),e))},every(e,t){return Ct(this,`every`,e,t,void 0,arguments)},filter(e,t){return Ct(this,`filter`,e,t,e=>e.map(e=>vt(this,e)),arguments)},find(e,t){return Ct(this,`find`,e,t,e=>vt(this,e),arguments)},findIndex(e,t){return Ct(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Ct(this,`findLast`,e,t,e=>vt(this,e),arguments)},findLastIndex(e,t){return Ct(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Ct(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Tt(this,`includes`,e)},indexOf(...e){return Tt(this,`indexOf`,e)},join(e){return gt(this).join(e)},lastIndexOf(...e){return Tt(this,`lastIndexOf`,e)},map(e,t){return Ct(this,`map`,e,t,void 0,arguments)},pop(){return Et(this,`pop`)},push(...e){return Et(this,`push`,e)},reduce(e,...t){return wt(this,`reduce`,e,t)},reduceRight(e,...t){return wt(this,`reduceRight`,e,t)},shift(){return Et(this,`shift`)},some(e,t){return Ct(this,`some`,e,t,void 0,arguments)},splice(...e){return Et(this,`splice`,e)},toReversed(){return gt(this).toReversed()},toSorted(e){return gt(this).toSorted(e)},toSpliced(...e){return gt(this).toSpliced(...e)},unshift(...e){return Et(this,`unshift`,e)},values(){return bt(this,`values`,e=>vt(this,e))}};function bt(e,t,n){let r=_t(e),i=r[t],a=i.call(r);if(r!==e&&!tn(e)){if(a[Symbol.toStringTag]===`Array Iterator`){let e=Object.create(Object.getPrototypeOf(a));return e.next=()=>xt(a.next(),n),i!==St[t]&&Object.defineProperties(e,{return:{get(){let e=a.return;return typeof e==`function`?e.bind(a):e}},throw:{get(){let e=a.throw;return typeof e==`function`?e.bind(a):e}}}),e}a._next=a.next,a.next=()=>xt(a._next(),n)}return a}function xt(e,t){return e.done||(e.value=t(e.value)),e}var St=Array.prototype;function Ct(e,t,n,r,i,a){let o=_t(e),s=o!==e&&!tn(e),c=o[t];if(c!==St[t]){let t=c.apply(e,a);return s?on(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,vt(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function wt(e,t,n,r){let i=_t(e),a=i!==e&&!tn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=vt(e,t)),n.call(this,t,vt(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?vt(e,c):c}function Tt(e,t,n){let r=rn(e);pt(r,`iterate`,ft);let i=r[t](...n);return(i===-1||i===!1)&&nn(n[0])?(n[0]=rn(n[0]),r[t](...n)):i}function Et(e,t,n=[]){nt(),Ke();let r=rn(e)[t].apply(e,n);return qe(),rt(),r}var Dt=_(`__proto__,__v_isRef,__isVue`),Ot=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(P));function kt(e){P(e)||(e=String(e));let t=rn(this);return pt(t,`has`,e),t.hasOwnProperty(e)}var At=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?qt:Kt:i?Gt:Wt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=O(e);if(!r){let e;if(a&&(e=yt[t]))return e;if(t===`hasOwnProperty`)return kt}let o=Reflect.get(e,t,cn(e)?e:n);if((P(t)?Ot.has(t):Dt(t))||(r||pt(e,`get`,t),i))return o;if(cn(o)){let e=a&&ne(t)?o:o.value;return r&&F(e)?Zt(e):e}return F(o)?r?Zt(o):Yt(o):o}},jt=class extends At{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=O(e)&&ne(t);if(!this._isShallow){let e=en(i);if(!tn(n)&&!en(n)&&(i=rn(i),n=rn(n)),!a&&cn(i)&&!cn(n))return e||(i.value=n),!0}let o=a?Number(t)e,It=e=>Reflect.getPrototypeOf(e);function Lt(e,t,n){return function(...r){let i=this.__v_raw,a=rn(i),o=k(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Ft:t?sn:on;return!t&&pt(a,`iterate`,c?dt:ut),w(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function Rt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function zt(e,t){let n={get(n){let r=this.__v_raw,i=rn(r),a=rn(n);e||(ue(n,a)&&pt(i,`get`,n),pt(i,`get`,a));let{has:o}=It(i),s=t?Ft:e?sn:on;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&pt(rn(t),`iterate`,ut),t.size},has(t){let n=this.__v_raw,r=rn(n),i=rn(t);return e||(ue(t,i)&&pt(r,`has`,t),pt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=rn(a),s=t?Ft:e?sn:on;return!e&&pt(o,`iterate`,ut),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return w(n,e?{add:Rt(`add`),set:Rt(`set`),delete:Rt(`delete`),clear:Rt(`clear`)}:{add(e){let n=rn(this),r=It(n),i=rn(e),a=!t&&!tn(e)&&!en(e)?i:e;return r.has.call(n,a)||ue(e,a)&&r.has.call(n,e)||ue(i,a)&&r.has.call(n,i)||(n.add(a),mt(n,`add`,a,a)),this},set(e,n){!t&&!tn(n)&&!en(n)&&(n=rn(n));let r=rn(this),{has:i,get:a}=It(r),o=i.call(r,e);o||=(e=rn(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?ue(n,s)&&mt(r,`set`,e,n,s):mt(r,`add`,e,n),this},delete(e){let t=rn(this),{has:n,get:r}=It(t),i=n.call(t,e);i||=(e=rn(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&mt(t,`delete`,e,void 0,a),o},clear(){let e=rn(this),t=e.size!==0,n=e.clear();return t&&mt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Lt(r,e,t)}),n}function Bt(e,t){let n=zt(e,t);return(r,i,a)=>i===`__v_isReactive`?!e:i===`__v_isReadonly`?e:i===`__v_isShallow`?t:i===`__v_raw`?r:Reflect.get(D(n,i)&&i in r?n:r,i,a)}var Vt={get:Bt(!1,!1)},Ht={get:Bt(!1,!0)},Ut={get:Bt(!0,!1)},Wt=new WeakMap,Gt=new WeakMap,Kt=new WeakMap,qt=new WeakMap;function Jt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Yt(e){return en(e)?e:Qt(e,!1,Nt,Vt,Wt)}function Xt(e){return Qt(e,!1,Pt,Ht,Gt)}function Zt(e){return Qt(e,!0,eee,Ut,Kt)}function Qt(e,t,n,r,i){if(!F(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Jt(ee(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function $t(e){return en(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function en(e){return!!(e&&e.__v_isReadonly)}function tn(e){return!!(e&&e.__v_isShallow)}function nn(e){return e?!!e.__v_raw:!1}function rn(e){let t=e&&e.__v_raw;return t?rn(t):e}function an(e){return!D(e,`__v_skip`)&&Object.isExtensible(e)&&fe(e,`__v_skip`,!0),e}var on=e=>F(e)?Yt(e):e,sn=e=>F(e)?Zt(e):e;function cn(e){return e?e.__v_isRef===!0:!1}function B(e){return ln(e,!1)}function V(e){return ln(e,!0)}function ln(e,t){return cn(e)?e:new un(e,t)}var un=class{constructor(e,t){this.dep=new st,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:rn(e),this._value=t?e:on(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||tn(e)||en(e);e=n?e:rn(e),ue(e,t)&&(this._rawValue=e,this._value=n?e:on(e),this.dep.trigger())}};function dn(e){e.dep&&e.dep.trigger()}function fn(e){return cn(e)?e.value:e}var pn={get:(e,t,n)=>t===`__v_raw`?e:fn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return cn(i)&&!cn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function mn(e){return $t(e)?e:new Proxy(e,pn)}var tee=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new st,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function nee(e){return new tee(e)}function hn(e){let t=O(e)?Array(e.length):{};for(let n in e)t[n]=yn(e,n);return t}var gn=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=P(t)?t:String(t),this._raw=rn(e);let r=!0,i=e;if(!O(e)||P(this._key)||!ne(this._key))do r=!nn(i)||tn(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=fn(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&cn(this._raw[this._key])){let t=this._object[this._key];if(cn(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return ht(this._raw,this._key)}},_n=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function vn(e,t,n){return cn(e)?e:M(e)?new _n(e):F(e)&&arguments.length>1?yn(e,t,n):B(e)}function yn(e,t,n){return new gn(e,t,n)}var bn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new st(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=at-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ze!==this)return Ge(this,!0),!0}get value(){let e=this.dep.track();return Ze(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function xn(e,t,n=!1){let r,i;return M(e)?r=e:(r=e.get,i=e.set),new bn(r,i,n)}var Sn={},Cn=new WeakMap,wn=void 0;function Tn(e,t=!1,n=wn){if(n){let t=Cn.get(n);t||Cn.set(n,t=[]),t.push(e)}}function En(e,t,n=v){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:tn(e)||i===!1||i===0?Dn(e,1):Dn(e),u,d,f,p,m=!1,h=!1;if(cn(e)?(d=()=>e.value,m=tn(e)):$t(e)?(d=()=>l(e),m=!0):O(e)?(h=!0,m=e.some(e=>$t(e)||tn(e)),d=()=>e.map(e=>{if(cn(e))return e.value;if($t(e))return l(e);if(M(e))return c?c(e,2):e()})):d=M(e)?t?c?()=>c(e,2):e:()=>{if(f){nt();try{f()}finally{rt()}}let t=wn;wn=u;try{return c?c(e,3,[p]):e(p)}finally{wn=t}}:b,t&&i){let e=d,t=i===!0?1/0:i;d=()=>Dn(e(),t)}let g=Le(),_=()=>{u.stop(),g&&g.active&&T(g.effects,u)};if(a&&t){let e=t;t=(...t)=>{try{return e(...t)}finally{_()}}}let y=h?Array(e.length).fill(Sn):Sn,x=e=>{if(u.flags&1&&(u.dirty||e)){if(t){let n=u.run();if(e||i||m||(h?n.some((e,t)=>ue(e,y[t])):ue(n,y))){let e=wn;nt();try{f&&f(),wn=u;let e=[n,y===Sn?void 0:h&&y[0]===Sn?[]:y,p];y=n,c?c(t,3,e):t(...e)}finally{wn=e,rt()}}}else u.run()}};return s&&s(x),u=new Ve(d),u.scheduler=o?()=>o(x,!1):x,p=e=>Tn(e,!1,u),f=u.onStop=()=>{let e=Cn.get(u);if(e){if(c)c(e,4);else for(let t of e)t();Cn.delete(u)}},t?r?x(!0):y=u.run():o?o(x.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Dn(e,t=1/0,n){if(t<=0||!F(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,cn(e))Dn(e.value,t,n);else if(O(e))for(let r=0;r{Dn(e,t,n)});else if(te(e)){for(let r in e)Dn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Dn(e[r],t,n)}return e}function On(e,t,n,r){try{return r?e(...r):e()}catch(e){An(e,t,n)}}function kn(e,t,n,r){if(M(e)){let i=On(e,t,n,r);return i&&I(i)&&i.catch(e=>{An(e,t,n)}),i}if(O(e)){let i=[];for(let a=0;a>>1,i=Mn[r],a=Kn(i);a=Kn(n)?Mn.push(e):Mn.splice(ree(t),0,e),e.flags|=1,Vn()}}function Vn(){Rn||=Ln.then(qn)}function iee(e){if(!O(e))Fn&&e.id===-1?Fn.splice(In+1,0,e):e.flags&1||(Pn.push(e),e.flags|=1);else for(let t=0;t=t))continue;Mn.splice(r,1),r=e?r-1:Nn,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Un(e,t,n=0){if(Pn.length){let e=Pn,r=0;if(t){e=[];for(let i=0;iKn(e)-Kn(t));if(Pn.length=r,Fn){for(let e=0;ee.id==null?e.flags&2?-1:1/0:e.id;function qn(e){try{for(Nn=0;Nn{r._d&&Va(-1);let i=Xn(t),a=Ia.length,o;try{o=e(...n)}finally{for(let e=Ia.length;e>a;e--)za();Xn(i),r._d&&Va(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Qn(e,t){if(Jn===null)return e;let n=To(Jn),r=e.dirs||=[];for(let e=0;e1)return n&&M(t)?t.call(r&&r.proxy):t}}function nr(){return!!(fo()||Bi)}var rr=Symbol.for(`v-scx`),ir=()=>tr(rr);function ar(e,t){return sr(e,null,t)}function or(e,t){return sr(e,null,{flush:`sync`})}function H(e,t,n){return sr(e,t,n)}function sr(e,t,n=v){let{immediate:r,deep:i,flush:a,once:o}=n,s=w({},n),c=t&&r||!t&&a!==`post`,l;if(vo){if(a===`sync`){let e=ir();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=b,e.resume=b,e.pause=b,e}}let u=uo;s.call=(e,t,n)=>kn(e,u,t,n);let d=!1;a===`post`?s.scheduler=e=>{e.i=u,ya(e,u&&u.suspense)}:a!==`sync`&&(d=!0,s.scheduler=(e,t)=>{t?e():Bn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))};let f=En(e,t,s);return vo&&(l?l.push(f):c&&f()),f}function cr(e,t,n){let r=this.proxy,i=N(e)?e.includes(`.`)?lr(r,e):()=>r[e]:e.bind(r,r),a;M(t)?a=t:(a=t.handler,n=t);let o=ho(this),s=sr(i,a.bind(r),n);return o(),s}function lr(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,pr=e=>e&&(e.disabled||e.disabled===``),mr=e=>e&&(e.defer||e.defer===``),hr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,gr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,_r=(e,t)=>{let n=e&&e.to;return N(n)?t?t(n):null:n},vr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=pr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=pr(e.props),r=e.target=_r(e.props,m),a=Cr(r,e,h,p);r&&(o!==`svg`&&hr(r)?o=`svg`:o!==`mathml`&&gr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),Sr(e,!1)))},S=e=>{let t=()=>{if(ur.get(e)===t){if(ur.delete(e),pr(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),Sr(e,!0)}x(e)}};ur.set(e,t),ya(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),mr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),Sr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=ur.get(e);if(u){u.flags|=8,ur.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=pr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||hr(p)?o=`svg`:(o===`mathml`||gr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Ta(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=_r(t.props,m);e&&(t.target=e,yr(t,e,null,l,0))}else g&&yr(t,p,h,l,1);Sr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=pr(f),m=a||!p,h=ur.get(e);if(h&&(h.flags|=8,ur.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e{e.isMounted=!0}),ni(()=>{e.isUnmounting=!0}),e}var Dr=[Function,Array],Or={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Dr,onEnter:Dr,onAfterEnter:Dr,onEnterCancelled:Dr,onBeforeLeave:Dr,onLeave:Dr,onAfterLeave:Dr,onLeaveCancelled:Dr,onBeforeAppear:Dr,onAppear:Dr,onAfterAppear:Dr,onAppearCancelled:Dr},kr={name:`BaseTransition`,props:Or,setup(e,{slots:t}){let n=fo(),r=Er();return()=>{let i=t.default&&Lr(t.default(),!0),a=i&&i.length?Ar(i):n.subTree?eo():void 0;if(!a)return;let o=rn(e),{mode:s}=o;if(r.isLeaving)return Pr(a);let c=Fr(a);if(!c)return Pr(a);let l=Nr(c,o,r,n,e=>l=e);c.type!==Pa&&Ir(c,l);let u=n.subTree&&Fr(n.subTree);if(u&&u.type!==Pa&&!Ga(u,c)&&Rr(n.subTree)){let e=Nr(u,o,r,n);if(Ir(u,e),s===`out-in`&&c.type!==Pa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Pr(a);s===`in-out`&&c.type!==Pa?e.delayLeave=(e,t,n)=>{let i=Mr(r,u);i[String(u.key)]=u,e[wr]=()=>{t(),e[wr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Ar(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Pa){t=n;break}}return t}var jr=kr;function Mr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Nr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,b=String(e.key),x=Mr(n,e),S=(e,t)=>{e&&kn(e,r,9,t)},C=(e,t)=>{let n=t[1];S(e,t),O(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=g||c;else return}t[wr]&&t[wr](!0);let i=x[b];if(i&&Ga(e,i)){let e=i.el[wr];if(!e){let t=Rr(i);e=t&&t.el[wr]}e&&e()}S(r,[t])},enter(t){if(x[b]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=_||l,i=v||u,o=y||d;else return}let s=!1;t[Tr]=e=>{s||(s=!0,S(e?o:i,[t]),w.delayedLeave&&w.delayedLeave(),t[Tr]=void 0)};let c=t[Tr].bind(null,!1);r?C(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Tr]&&t[Tr](!0),n.isUnmounting)return r();S(f,[t]);let a=!1;t[wr]=n=>{a||(a=!0,r(),S(n?h:m,[t]),t[wr]=void 0,x[i]===e&&delete x[i])};let o=t[wr].bind(null,!1);x[i]=e,p?C(p,[t,o]):o()},clone(e){let a=Nr(e,t,n,r,i);return i&&i(a),a}};return w}function Pr(e){if(Gr(e))return e=Za(e),e.children=null,e}function Fr(e){if(!Gr(e))return fr(e.type)&&e.children?Ar(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&M(n.default))return n.default()}}function Ir(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;Ir(fr(n.type)&&Fr(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===Ma&&O(e.children)){let n=Ji(e.children,!1);n&&Ir(n,t)}}function Lr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eHr(e,t&&(O(t)?t[a]:t),n,r,i));return}if(Wr(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Hr(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?To(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,u=s.refs===v?s.refs={}:s.refs,d=s.setupState,f=rn(d),p=d===v?x:e=>!Br(u,e)&&D(f,e),m=(e,t)=>!(t&&Br(u,t));if(l!=null&&l!==c){if(Ur(t),N(l))u[l]=null,p(l)&&(d[l]=null);else if(cn(l)){let e=t;m(l,e.k)&&(l.value=null),e.k&&(u[e.k]=null)}}if(M(c))On(c,s,12,[o,u]);else{let t=N(c),r=cn(c);if(t||r){let s=()=>{if(e.f){let n=t?p(c)?d[c]:u[c]:m(c)||!e.k?c.value:u[e.k];if(i)O(n)&&T(n,a);else if(O(n))n.includes(a)||n.push(a);else if(t)u[c]=[a],p(c)&&(d[c]=u[c]);else{let t=[a];m(c,e.k)&&(c.value=t),e.k&&(u[e.k]=t)}}else t?(u[c]=o,p(c)&&(d[c]=o)):r&&(m(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){let t=()=>{s(),Vr.delete(e)};t.id=-1,Vr.set(e,t),ya(t,n)}else Ur(e),s()}}}function Ur(e){let t=Vr.get(e);t&&(t.flags|=8,Vr.delete(e))}ge().requestIdleCallback,ge().cancelIdleCallback;var Wr=e=>!!e.type.__asyncLoader,Gr=e=>e.type.__isKeepAlive;function Kr(e,t){Jr(e,`a`,t)}function qr(e,t){Jr(e,`da`,t)}function Jr(e,t,n=uo){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Xr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Gr(e.parent.vnode)&&Yr(r,t,n,e),e=e.parent}}function Yr(e,t,n,r){let i=Xr(t,e,r,!0);ri(()=>{T(r[t],i)},n)}function Xr(e,t,n=uo,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{nt();let i=ho(n),a=kn(t,n,e,r);return i(),rt(),a};return r?i.unshift(a):i.push(a),a}}var Zr=e=>(t,n=uo)=>{(!vo||e===`sp`)&&Xr(e,(...e)=>t(...e),n)},Qr=Zr(`bm`),$r=Zr(`m`),ei=Zr(`bu`),ti=Zr(`u`),ni=Zr(`bum`),ri=Zr(`um`),ii=Zr(`sp`),ai=Zr(`rtg`),oi=Zr(`rtc`);function si(e,t=uo){Xr(`ec`,e,t)}var ci=`components`,li=`directives`;function ui(e,t){return mi(ci,e,!0,t)||e}var di=Symbol.for(`v-ndc`);function fi(e){return N(e)?mi(ci,e,!1)||e:e||di}function pi(e){return mi(li,e)}function mi(e,t,n=!0,r=!1){let i=Jn||uo;if(i){let n=i.type;if(e===ci){let e=Eo(n,!1);if(e&&(e===t||e===ae(t)||e===ce(ae(t))))return n}let a=hi(i[e]||n[e],t)||hi(i.appContext[e],t);return!a&&r?n:a}}function hi(e,t){return e&&(e[t]||e[ae(t)]||e[ce(ae(t))])}function gi(e,t,n,r){let i,a=n&&n[r],o=O(e);if(o||N(e)){let n=o&&$t(e),r=!1,s=!1;n&&(r=!tn(e),s=en(e),e=_t(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r0;return t!=="default"&&(e.name=t),Ra(),Ua(Ma,null,[W(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=Ia.length;Ra();let c;try{let i=o&&_i(o(n)),s=n.key||a||i&&i.key;c=Ua(Ma,{key:(s&&!P(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=Ia.length;e>s;e--)za();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),c}function _i(e){return e.some(e=>!Wa(e)||!(e.type===Pa||e.type===Ma&&!_i(e.children)))?e:null}var vi=e=>e?_o(e)?To(e):vi(e.parent):null,yi=w(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>vi(e.parent),$root:e=>vi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Di(e),$forceUpdate:e=>e.f||=()=>{Bn(e.update)},$nextTick:e=>e.n||=zn.bind(e.proxy),$watch:e=>cr.bind(e)}),bi=(e,t)=>e!==v&&!e.__isScriptSetup&&D(e,t),oee={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(bi(r,t))return o[t]=1,r[t];else if(i!==v&&D(i,t))return o[t]=2,i[t];else if(D(a,t))return o[t]=3,a[t];else if(n!==v&&D(n,t))return o[t]=4,n[t];else Si&&(o[t]=0)}let l=yi[t],u,d;if(l)return t===`$attrs`&&pt(e.attrs,`get`,``),l(e);if((u=s.__cssModules)&&(u=u[t]))return u;if(n!==v&&D(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,D(d,t))return d[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return bi(i,t)?(i[t]=n,!0):r!==v&&D(r,t)?(r[t]=n,!0):D(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==v&&s[0]!==`$`&&D(e,s)||bi(t,s)||D(a,s)||D(r,s)||D(yi,s)||D(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?D(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function see(){return cee(`useAttrs`).attrs}function cee(e){let t=fo();return t.setupContext||=wo(t)}function xi(e){return O(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function lee(e,t){return!e||!t?e||t:O(e)&&O(t)?e.concat(t):w({},xi(e),xi(t))}var Si=!0;function Ci(e){let t=Di(e),n=e.proxy,r=e.ctx;Si=!1,t.beforeCreate&&Ti(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:_,beforeUnmount:v,destroyed:y,unmounted:x,render:S,renderTracked:C,renderTriggered:w,errorCaptured:T,serverPrefetch:E,expose:D,inheritAttrs:k,components:A,directives:j,filters:N}=t;if(l&&wi(l,r,null),o)for(let e in o){let t=o[e];M(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);F(t)&&(e.data=Yt(t))}if(Si=!0,a)for(let e in a){let t=a[e],i=G({get:M(t)?t.bind(n,n):M(t.get)?t.get.bind(n,n):b,set:!M(t)&&M(t.set)?t.set.bind(n):b});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)Ei(s[e],r,n,e);if(c){let e=M(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{er(t,e[t])})}u&&Ti(u,e,`c`);function P(e,t){O(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(P(Qr,d),P($r,f),P(ei,p),P(ti,m),P(Kr,h),P(qr,g),P(si,T),P(oi,C),P(ai,w),P(ni,v),P(ri,x),P(ii,E),O(D)){if(D.length){let t=e.exposed||={};D.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}S&&e.render===b&&(e.render=S),k!=null&&(e.inheritAttrs=k),A&&(e.components=A),j&&(e.directives=j),E&&zr(e)}function wi(e,t,n=b){O(e)&&(e=Mi(e));for(let n in e){let r=e[n],i;i=F(r)?`default`in r?tr(r.from||n,r.default,!0):tr(r.from||n):tr(r),cn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Ti(e,t,n){kn(O(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ei(e,t,n,r){let i=r.includes(`.`)?lr(n,r):()=>n[r];if(N(e)){let n=t[e];M(n)&&H(i,n)}else if(M(e))H(i,e.bind(n));else if(F(e)){if(O(e))e.forEach(e=>Ei(e,t,n,r));else{let r=M(e.handler)?e.handler.bind(n):t[e.handler];M(r)&&H(i,r,e)}}}function Di(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Oi(c,e,o,!0)),Oi(c,t,o)),F(t)&&a.set(t,c),c}function Oi(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Oi(e,a,n,!0),i&&i.forEach(t=>Oi(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=ki[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var ki={data:Ai,props:Fi,emits:Fi,methods:Pi,computed:Pi,beforeCreate:Ni,created:Ni,beforeMount:Ni,mounted:Ni,beforeUpdate:Ni,updated:Ni,beforeDestroy:Ni,beforeUnmount:Ni,destroyed:Ni,unmounted:Ni,activated:Ni,deactivated:Ni,errorCaptured:Ni,serverPrefetch:Ni,components:Pi,directives:Pi,watch:Ii,provide:Ai,inject:ji};function Ai(e,t){return t?e?function(){return w(M(e)?e.call(this,this):e,M(t)?t.call(this,this):t)}:t:e}function ji(e,t){return Pi(Mi(e),Mi(t))}function Mi(e){if(O(e)){let t={};for(let n=0;n{let c,l=v,u;return or(()=>{let t=e[i];ue(c,t)&&(c=t,s())}),{get(){return o(),n.get?n.get(c):c},set(e){let o=n.set?n.set(e):e;if(!ue(o,c)&&!(l!==v&&ue(e,l)))return;let d=r.vnode.props,f=!!(d&&(t in d||i in d||a in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${a}`in d));f||(c=e,s()),r.emit(`update:${t}`,o),ue(e,l)&&(ue(e,o)&&!ue(o,u)||f&&l!==v&&!ue(o,c))&&s(),l=e,u=o}}});return s[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?o||v:s,done:!1}:{done:!0}}}},s}var Hi=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ae(t)}Modifiers`]||e[`${se(t)}Modifiers`];function Ui(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||v,i=n,a=t.startsWith(`update:`),o=a&&Hi(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>N(e)?e.trim():e)),o.number&&(i=i.map(pe)));let s,c=r[s=le(t)]||r[s=le(ae(t))];!c&&a&&(c=r[s=le(se(t))]),c&&kn(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,kn(l,e,6,i)}}var Wi=new WeakMap;function Gi(e,t,n=!1){let r=n?Wi:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!M(e)){let r=e=>{let n=Gi(e,t,!0);n&&(s=!0,w(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(F(e)&&r.set(e,null),null):(O(a)?a.forEach(e=>o[e]=null):w(o,a),F(e)&&r.set(e,o),o)}function Ki(e,t){return!e||!S(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),D(e,t[0].toLowerCase()+t.slice(1))||D(e,se(t))||D(e,t))}function qi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:h}=e,g=Xn(e),_,v;try{if(n.shapeFlag&4){let e=i||r,t=e;_=to(l.call(t,e,u,d,p,f,m)),v=s}else{let e=t;_=to(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),v=t.props?s:Yi(s)}}catch(t){Ia.length=0,An(t,e,1),_=W(Pa)}let y=_;if(v&&h!==!1){let e=Object.keys(v),{shapeFlag:t}=y;e.length&&t&7&&(a&&e.some(C)&&(v=Xi(v,a)),y=Za(y,v,!1,!0))}return n.dirs&&(y=Za(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Ir(fr(y.type)&&Fr(y)||y,n.transition),_=y,Xn(g),_}function Ji(e,t=!0){let n;for(let t=0;t{let t;for(let n in e)(n===`class`||n===`style`||S(n))&&((t||={})[n]=e[n]);return t},Xi=(e,t)=>{let n={};for(let r in e)(!C(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Zi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Qi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(ta),ra=e=>Object.getPrototypeOf(e)===ta;function ia(e,t,n,r=!1){let i={},a=na();e.propsDefaults=Object.create(null),oa(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:Xt(i):e.type.props?i:a,e.attrs=a}function aa(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=rn(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=la(e,t,!0);w(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return F(e)&&r.set(e,y),y;if(O(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,fa=e=>O(e)?e.map(to):[to(e)],pa=(e,t,n)=>{if(t._n)return t;let r=Zn((...e)=>fa(t(...e)),n);return r._c=!1,r},ma=(e,t,n)=>{let r=e._ctx;for(let n in e){if(da(n))continue;let i=e[n];if(M(i))t[n]=pa(n,i,r);else if(i!=null){let e=fa(i);t[n]=()=>e}}},ha=(e,t)=>{let n=fa(t);e.slots.default=()=>n},ga=(e,t,n)=>{for(let r in t)(n||!da(r))&&(e[r]=t[r])},_a=(e,t,n)=>{let r=e.slots=na();if(e.vnode.shapeFlag&32){let e=t._;e?(ga(r,t,n),n&&fe(r,`_`,e,!0)):ma(t,r)}else t&&ha(e,t)},va=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=v;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:ga(i,t,n):(a=!t.$stable,ma(t,i)),o=t}else t&&(ha(e,t),o={default:1});if(a)for(let e in i)!da(e)&&o[e]==null&&delete i[e]},ya=ja;function ba(e){return xa(e)}function xa(e,t){let n=ge();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=b,insertStaticContent:m}=e,h=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Ga(e,t)&&(r=se(e),ne(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null),t.dynamicChildren&&e&&e.dynamicChildren&&e.dynamicChildren.hasOnce&&(t.dynamicChildren===y&&(t.dynamicChildren=[]),t.dynamicChildren.hasOnce=!0);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Na:g(e,t,n,r);break;case Pa:_(e,t,n,r);break;case Fa:e??x(t,n,r,o);break;case Ma:j(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?M(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,le)}u!=null&&i?Hr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Hr(e.ref,null,a,e,!0)},g=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},_=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=f(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=f(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,d)=>{let f,p,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(f=e.el=o(e.type,c,m&&m.is,m),h&8?u(f,e.children):h&16&&D(e.children,f,null,i,s,Sa(e,c),l,d),_&&$n(e,null,i,`created`),E(f,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!z(e)&&a(f,e,null,m[e],c,i);`value`in m&&a(f,`value`,null,m.value,c),(p=m.onVnodeBeforeMount)&&ao(p,i,e)}_&&$n(e,null,i,`beforeMount`);let v=wa(s,g);v&&g.beforeEnter(f),r(f,t,n),((p=m&&m.onVnodeMounted)||v||_)&&ya(()=>{try{p&&ao(p,i,e),v&&g.enter(f),_&&$n(e,null,i,`mounted`)}finally{}},s)},E=(e,t,n,r,i)=>{if(n&&p(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let p=e.props||v,m=t.props||v,h;if(n&&Ca(n,!1),(h=m.onVnodeBeforeUpdate)&&ao(h,n,t,e),f&&$n(t,e,n,`beforeUpdate`),n&&Ca(n,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(l=0,s=!1,d=null),(p.innerHTML&&m.innerHTML==null||p.textContent&&m.textContent==null)&&u(c,``),d?k(e.dynamicChildren,d,c,n,r,Sa(t,i),o):s||L(e,t,c,null,n,r,Sa(t,i),o,!1),l>0){if(l&16)A(c,p,m,n,i);else if(l&2&&p.class!==m.class&&a(c,`class`,null,m.class,i),l&4&&a(c,`style`,p.style,m.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{h&&ao(h,n,t,e),f&&$n(t,e,n,`updated`)},r)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==v)for(let o in t)!z(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(z(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},j=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Ta(e,t,!0)):L(e,t,n,f,a,o,c,l,u)},M=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):N(t,n,r,i,a,o,c):P(e,t,c)},N=(e,t,n,r,i,a,o)=>{let s=e.component=lo(e,r,i);if(Gr(e)&&(s.ctx.renderer=le),yo(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,F,o,a),!e.el){let r=s.subTree=W(Pa);_(null,r,t,n),e.placeholder=r.el}}else F(s,e,t,n,i,a,o)},P=(e,t,n)=>{let r=t.component=e.component;if(Zi(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,t.placeholder=e.placeholder,I(r,t,n);return}r.next=t,r.update()}else t.el=e.el,t.placeholder=e.placeholder,r.vnode=t},F=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Da(e);if(n){t&&(t.el=c.el,I(e,t,o)),n.asyncDep.then(()=>{ya(()=>{e.isUnmounted||l()},i)});return}}let u=t,f;Ca(e,!1),t?(t.el=c.el,I(e,t,o)):t=c,n&&de(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&ao(f,s,t,c),Ca(e,!0);let p=qi(e),m=e.subTree;e.subTree=p,h(m,p,d(m.el),se(m),e,i,a),t.el=p.el,u===null&&ea(e,p.el),r&&ya(r,i),(f=t.props&&t.props.onVnodeUpdated)&&ya(()=>ao(f,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Wr(t);if(Ca(e,!1),l&&de(l),!m&&(o=c&&c.onVnodeBeforeMount)&&ao(o,d,t),Ca(e,!0),s&&fe){let t=()=>{e.subTree=qi(e),fe(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=qi(e);h(null,o,n,r,e,i,a),t.el=o.el}if(u&&ya(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ya(()=>ao(o,d,e),i)}(t.shapeFlag&256||d&&Wr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ya(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ve(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Bn(u),Ca(e,!0),l()},I=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,aa(e,t.props,r,n),va(e,t.children,n),nt(),Hn(e),rt()},L=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,d=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:m}=t;if(p>0){if(p&128){ee(l,f,n,r,i,a,o,s,c);return}if(p&256){R(l,f,n,r,i,a,o,s,c);return}}m&8?(d&16&&oe(l,i,a),f!==l&&u(n,f)):d&16?m&16?ee(l,f,n,r,i,a,o,s,c):oe(l,i,a,!0):(d&8&&u(n,``),m&16&&D(f,n,r,i,a,o,s,c))},R=(e,t,n,r,i,a,o,s,c)=>{e||=y,t||=y;let l=e.length,u=t.length,d=Math.min(l,u),f=0;for(;fu?oe(e,i,a,!0,!1,d):D(t,n,r,i,a,o,s,c,d)},ee=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,d=e.length-1,f=u-1;for(;l<=d&&l<=f;){let r=e[l],u=t[l]=c?no(t[l]):to(t[l]);if(Ga(r,u))h(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=d&&l<=f;){let r=e[d],l=t[f]=c?no(t[f]):to(t[f]);if(Ga(r,l))h(r,l,n,null,i,a,o,s,c);else break;d--,f--}if(l>d){if(l<=f){let e=f+1,d=ef)for(;l<=d;)ne(e[l],i,a,!0),l++;else{let p=l,m=l,g=new Map;for(l=m;l<=f;l++){let e=t[l]=c?no(t[l]):to(t[l]);e.key!=null&&g.set(e.key,l)}let _,v=0,b=f-m+1,x=!1,S=0,C=Array(b);for(l=0;l=b){ne(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=m;_<=f;_++)if(C[_-m]===0&&Ga(r,t[_])){u=_;break}u===void 0?ne(r,i,a,!0):(C[u-m]=l+1,u>=S?S=u:x=!0,h(r,t[u],n,null,i,a,o,s,c),v++)}let w=x?Ea(C):y;for(_=w.length-1,l=b-1;l>=0;l--){let e=m+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6)te(e.component.subTree,t,n,a);else if(d&128)e.suspense.move(t,n,a);else if(d&64)c.move(e,t,n,le);else if(c===Ma){r(s,t,n);for(let e=0;el.enter(s),o));else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{let e=s._isLeaving||!!s[wr];s._isLeaving&&s[wr](!0),l.persisted&&!e?u():a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}}else r(s,t,n)},ne=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if((d===-2||l&&l.hasOnce)&&(i=!1),s!=null&&(nt(),Hr(s,null,n,e,!0),rt()),p!=null&&(!e.ctx||e.ctx===t)&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Wr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&ao(_,t,e),u&6)ae(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&$n(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,le,r):l&&!l.hasOnce&&(a!==Ma||d>0&&d&64)?oe(l,t,n,!1,!0):(a===Ma&&d&384||!i&&u&16)&&oe(c,t,n),r&&re(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ya(()=>{_&&ao(_,t,e),h&&$n(e,null,t,`unmounted`),v&&(e.el=null)},n)},re=e=>{let{type:t,el:n,anchor:r,transition:a}=e,o=t===Ma;if(o&&!a){ie(n,r);return}if(t===Fa){C(e),a&&!a.persisted&&a.afterLeave&&a.afterLeave();return}let s=o?Rr(e):e,c=()=>{o?d(n)&&ie(n,r):i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(s&&s.shapeFlag&1&&a&&!a.persisted){let{leave:e,delayLeave:t}=a,n=s.el,r=()=>e(n,c);t?t(n,c,r):r()}else c()},ie=(e,t)=>{let n;for(;e!==t;)n=f(e),i(e),e=n;i(t)},ae=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Oa(c),Oa(l),r&&de(r),i.stop(),a?(a.flags|=8,ne(o,e,t,n)):e.vnode.el&&o&&(o.transition=e.vnode.transition,ne(o,e,t,n)),s&&ya(s,t),ya(()=>{e.isUnmounted=!0},t)},oe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return se(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=f(e.anchor||e.el),n=t&&t[dr];return n?f(n):t},ce=(e,t,n)=>{Gn(()=>{e==null?t._vnode&&ne(t._vnode,null,null,!0):h(t._vnode||null,e,t,null,null,null,n),t._vnode=e},e&&t._vnode?void 0:e&&e.component?e.component.uid:co())},le={p:h,um:ne,m:te,r:re,mt:N,mc:D,pc:L,pbc:k,n:se,o:e},ue,fe;return t&&([ue,fe]=t(le)),{render:ce,hydrate:ue,createApp:zi(ce,ue)}}function Sa({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Ca({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function wa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ta(e,t,n=!1){let r=e.children,i=t.children;if(O(r)&&O(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Da(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Da(t)}function Oa(e){if(e)for(let t=0;te.__isSuspense;function ja(e,t){t&&t.pendingBranch?O(e)?t.effects.push(...e):t.effects.push(e):iee(e)}var Ma=Symbol.for(`v-fgt`),Na=Symbol.for(`v-txt`),Pa=Symbol.for(`v-cmt`),Fa=Symbol.for(`v-stc`),Ia=[],La=null;function Ra(e=!1){Ia.push(La=e?null:[])}function za(){Ia.pop(),La=Ia[Ia.length-1]||null}var Ba=1;function Va(e,t=!1){Ba+=e,e<0&&La&&t&&(La.hasOnce=!0)}function Ha(e){return e.dynamicChildren=Ba>0?La||y:null,za(),Ba>0&&La&&La.push(e),e}function uee(e,t,n,r,i,a){return Ha(Ja(e,t,n,r,i,a,!0))}function Ua(e,t,n,r,i){return Ha(W(e,t,n,r,i,!0))}function Wa(e){return e?e.__v_isVNode===!0:!1}function Ga(e,t){return e.type===t.type&&e.key===t.key}var Ka=({key:e})=>e??null,qa=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:N(e)||cn(e)||M(e)?{i:Jn,r:e,k:t,f:!!n}:e);function Ja(e,t=null,n=null,r=0,i=null,a=e===Ma?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ka(t),ref:t&&qa(t),scopeId:Yn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Jn};return s?(ro(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=N(n)?8:16),Ba>0&&!o&&La&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&La.push(c),c}var W=Ya;function Ya(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===di)&&(e=Pa),Wa(e)){let r=Za(e,t,!0);return n&&ro(r,n),Ba>0&&!a&&La&&(r.shapeFlag&6?La[La.indexOf(e)]=r:La.push(r)),r.patchFlag=-2,r}if(Do(e)&&(e=e.__vccOpts),t){t=Xa(t);let{class:e,style:n}=t;e&&!N(e)&&(t.class=Se(e)),F(n)&&(nn(n)&&!O(n)&&(n=w({},n)),t.style=_e(n))}let o=N(e)?1:Aa(e)?128:fr(e)?64:F(e)?4:M(e)?2:0;return Ja(e,t,n,r,i,o,a,!0)}function Xa(e){return e?nn(e)||ra(e)?w({},e):e:null}function Za(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?io(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ka(l),ref:t&&t.ref?n&&a?O(a)?a.concat(qa(t)):[a,qa(t)]:qa(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ma?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Za(e.ssContent),ssFallback:e.ssFallback&&Za(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&Ir(u,c.clone(u)),u}function Qa(e=` `,t=0){return W(Na,null,e,t)}function $a(e,t){let n=W(Fa,null,e);return n.staticCount=t,n}function eo(e=``,t=!1){return t?(Ra(),Ua(Pa,null,e)):W(Pa,null,e)}function to(e){return e==null||typeof e==`boolean`?W(Pa):O(e)?W(Ma,null,e.slice()):Wa(e)?no(e):W(Na,null,String(e))}function no(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Za(e)}function ro(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(O(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),ro(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!ra(t)?t._ctx=Jn:r===3&&Jn&&(Jn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(M(t)){if(r&65){ro(e,{default:t});return}t={default:t,_ctx:Jn},n=32}else t=String(t),r&64?(n=16,t=[Qa(t)]):n=8;e.children=t,e.shapeFlag|=n}function io(...e){let t={};for(let n=0;nuo||Jn,po,mo;{let e=ge(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};po=t(`__VUE_INSTANCE_SETTERS__`,e=>uo=e),mo=t(`__VUE_SSR_SETTERS__`,e=>vo=e)}var ho=e=>{let t=uo;return po(e),e.scope.on(),()=>{e.scope.off(),po(t)}},go=()=>{uo&&uo.scope.off(),po(null)};function _o(e){return e.vnode.shapeFlag&4}var vo=!1;function yo(e,t=!1,n=!1){t&&mo(t);let{props:r,children:i}=e.vnode,a=_o(e);ia(e,r,a,t),_a(e,i,n||t);let o=a?bo(e,t):void 0;return t&&mo(!1),o}function bo(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,oee);let{setup:r}=n;if(r){nt();let n=e.setupContext=r.length>1?wo(e):null,i=ho(e),a=On(r,e,0,[e.props,n]),o=I(a);if(rt(),i(),(o||e.sp)&&!Wr(e)&&zr(e),o){if(a.then(go,go),t)return a.then(n=>{mo(!0);try{xo(e,n,t)}finally{mo(!1)}}).catch(t=>{An(t,e,0)});e.asyncDep=a}else xo(e,a,t)}else So(e,t)}function xo(e,t,n){M(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:F(t)&&(e.setupState=mn(t)),So(e,n)}function So(e,t,n){let r=e.type;e.render||=r.render||b;{let t=ho(e);nt();try{Ci(e)}finally{rt(),t()}}}var Co={get(e,t){return pt(e,`get`,``),e[t]}};function wo(e){return{attrs:new Proxy(e.attrs,Co),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function To(e){return e.exposed?e.exposeProxy||=new Proxy(mn(an(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in yi)return yi[n](e)},has(e,t){return t in e||t in yi}}):e.proxy}function Eo(e,t=!0){return M(e)?e.displayName||e.name:e.name||t&&e.__name}function Do(e){return M(e)&&`__vccOpts`in e}var G=(e,t)=>xn(e,t,vo);function Oo(e,t,n){try{Va(-1);let r=arguments.length;return r===2?F(t)&&!O(t)?Wa(t)?W(e,null,[t]):W(e,t):W(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Wa(n)&&(n=[n]),W(e,t,n))}finally{Va(1)}}var ko=`3.5.44`,Ao=void 0,jo=typeof window<`u`&&window.trustedTypes;if(jo)try{Ao=jo.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Mo=Ao?e=>Ao.createHTML(e):e=>e,No=`http://www.w3.org/2000/svg`,Po=`http://www.w3.org/1998/Math/MathML`,Fo=typeof document<`u`?document:null,Io=Fo&&Fo.createElement(`template`),Lo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Fo.createElementNS(No,e):t===`mathml`?Fo.createElementNS(Po,e):n?Fo.createElement(e,{is:n}):Fo.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Fo.createTextNode(e),createComment:e=>Fo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fo.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{Io.innerHTML=Mo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Io.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ro=`transition`,zo=`animation`,Bo=Symbol(`_vtc`),Vo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ho=w({},Or,Vo),Uo=(e=>(e.displayName=`Transition`,e.props=Ho,e))((e,{slots:t})=>Oo(jr,Ko(e),t)),Wo=(e,t=[])=>{O(e)?e.forEach(e=>e(...t)):e&&e(...t)},Go=e=>e?O(e)?e.some(e=>e.length>1):e.length>1:!1;function Ko(e){let t={};for(let n in e)n in Vo||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=qo(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:S=_,onAppear:C=v,onAppearCancelled:T=y}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Xo(e,t?u:s),Xo(e,t?l:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,Xo(e,d),Xo(e,p),Xo(e,f),t&&t()},O=e=>(t,n)=>{let i=e?C:v,o=()=>E(t,e,n);Wo(i,[t,o]),Zo(()=>{Xo(t,e?c:a),Yo(t,e?u:s),Go(i)||$o(t,r,h,o)})};return w(t,{onBeforeEnter(e){Wo(_,[e]),Yo(e,a),Yo(e,o)},onBeforeAppear(e){Wo(S,[e]),Yo(e,c),Yo(e,l)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Yo(e,d),e._enterCancelled?(Yo(e,f),rs(e)):(rs(e),Yo(e,f)),Zo(()=>{e._isLeaving&&(Xo(e,d),Yo(e,p),Go(b)||$o(e,r,g,n))}),Wo(b,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Wo(y,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Wo(T,[e])},onLeaveCancelled(e){D(e),Wo(x,[e])}})}function qo(e){if(e==null)return null;if(F(e))return[Jo(e.enter),Jo(e.leave)];{let t=Jo(e);return[t,t]}}function Jo(e){return me(e)}function Yo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Bo]||(e[Bo]=new Set)).add(t)}function Xo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Bo];n&&(n.delete(t),n.size||(e[Bo]=void 0))}function Zo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Qo=0;function $o(e,t,n,r){let i=e._endId=++Qo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=es(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Ro}Delay`),a=r(`${Ro}Duration`),o=ts(i,a),s=r(`${zo}Delay`),c=r(`${zo}Duration`),l=ts(s,c),u=null,d=0,f=0;t===Ro?o>0&&(u=Ro,d=o,f=a.length):t===zo?l>0&&(u=zo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Ro:zo:null,f=u?u===Ro?a.length:c.length:0);let p=u===Ro&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ro}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function ts(e,t){for(;e.lengthns(t)+ns(e[n])))}function ns(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function rs(e){return(e?e.ownerDocument:document).body.offsetHeight}function is(e,t,n){let r=e[Bo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var as=Symbol(`_vod`),os=Symbol(`_vsh`),ss={name:`show`,beforeMount(e,{value:t},{transition:n}){e[as]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):cs(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),cs(e,!0),r.enter(e)):r.leave(e,()=>{cs(e,!1)}):cs(e,t))},beforeUnmount(e,{value:t}){cs(e,t)}};function cs(e,t){e.style.display=t?e[as]:`none`,e[os]=!t}var ls=Symbol(``),us=/(?:^|;)\s*display\s*:/;function ds(e,t,n){let r=e.style,i=N(n),a=!1;if(n&&!i){if(t){if(N(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??ps(r,t,``)}else for(let e in t)n[e]??ps(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?ps(r,i,``):_s(e,i,!N(t)&&t?t[i]:void 0,o)||ps(r,i,o)}}else if(i){if(t!==n){let e=r[ls];e&&(n+=`;`+e),r.cssText=n,a=us.test(n)}}else t&&e.removeAttribute(`style`);as in e&&((!i||t!==n)&&(e[as]=a?r.display:``),e[os]&&(r.display=`none`))}var fs=/\s*!important$/;function ps(e,t,n){if(O(n))n.forEach(n=>ps(e,t,n));else if(n??=``,t.startsWith(`--`))fs.test(n)?e.setProperty(t,n.replace(fs,``),`important`):e.setProperty(t,n);else{let r=gs(e,t);fs.test(n)?e.setProperty(se(r),n.replace(fs,``),`important`):e[r]=n}}var ms=[`Webkit`,`Moz`,`ms`],hs={};function gs(e,t){let n=hs[t];if(n)return n;let r=ae(t);if(r!==`filter`&&r in e)return hs[t]=r;r=ce(r);for(let n=0;nOs||=(ks.then(()=>Os=0),Date.now());function js(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(O(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ns=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?is(e,r,o):t===`style`?ds(e,n,r):S(t)?C(t)||ws(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):Ps(e,t,r,o))?(bs(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&ys(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Fs(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!N(r)))?bs(e,ae(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ys(e,t,r,o))};function Ps(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Ms(t)&&M(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Ms(t)&&N(n)?!1:t in e}function Fs(e,t){let n=e._def.props;if(!n)return!1;let r=ae(t);return Array.isArray(n)?n.some(e=>ae(e)===r):Object.keys(n).some(e=>ae(e)===r)}var Is=new WeakMap,Ls=new WeakMap,Rs=Symbol(`_moveCb`),zs=Symbol(`_enterCb`),Bs=new WeakMap,Vs=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:w({},Ho,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=fo(),r=Er(),i,a,o,s,c=()=>(s===void 0&&(s=i.length>0&&Xs(i[0].el,n.vnode.el,Us(e))),s);return ti(()=>{if(Bs.delete(n),!c()){i=[],o=void 0;return}let t=Us(e);i.forEach(Hs);let r=o&&Ys(o,n.vnode.el);o=void 0,i.forEach(e=>Ws(e,r));let a=i.filter(Gs);rs(n.vnode.el),a.forEach(e=>{let n=e.el,r=n.style;Yo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Rs]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Rs]=null,Xo(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let l=rn(e),u=Ko(l),d=l.tag||Ma;if(i=[],s=void 0,a)for(let e=0;ee.willMove()&&e.item.contains(t));return n&&Ks(n.item,n)}function Xs(e,t,n){let r=e.cloneNode(),i=e[Bo];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=es(r);return a.removeChild(r),o}var Zs=[`ctrl`,`shift`,`alt`,`meta`],Qs={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Zs.some(n=>e[`${n}Key`]&&!t.includes(n))},$s=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{tc().render(...e)}),rc=((...e)=>{let t=tc().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=pee(e);if(!r)return;let i=t._component;!M(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,fee(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function fee(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function pee(e){return N(e)?document.querySelector(e):e}var ic=e=>typeof e==`function`,mee=Array.isArray,hee=e=>typeof e==`string`,gee=e=>typeof e==`object`&&!!e,_ee=/^on[^a-z]/,vee=e=>_ee.test(e),ac=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},yee=/-(\w)/g,oc=ac(e=>e.replace(yee,(e,t)=>t?t.toUpperCase():``)),bee=/\B([A-Z])/g,xee=ac(e=>e.replace(bee,`-$1`).toLowerCase()),See=ac(e=>e.charAt(0).toUpperCase()+e.slice(1)),Cee=Object.prototype.hasOwnProperty,sc=(e,t)=>Cee.call(e,t);function wee(e,t,n,r){let i=e[n];if(i!=null){let e=sc(i,`default`);if(e&&r===void 0){let e=i.default;r=i.type!==Function&&ic(e)?e():e}i.type===Boolean&&(!sc(t,n)&&!e?r=!1:r===``&&(r=!0))}return r}function Tee(e){return Object.keys(e).reduce((t,n)=>((n.startsWith(`data-`)||n.startsWith(`aria-`))&&(t[n]=e[n]),t),{})}function cc(e){return typeof e==`number`?`${e}px`:e}function lc(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return typeof e==`function`?e(t):e??n}function Eee(e){let t,n=new Promise(n=>{t=e(()=>{n(!0)})}),r=()=>{t?.()};return r.then=(e,t)=>n.then(e,t),r.promise=n,r}function K(){let e=[];for(let t=0;t0},e.prototype.connect_=function(){dc&&!this.connected_&&(document.addEventListener(`transitionend`,this.onTransitionEnd_),window.addEventListener(`resize`,this.refresh),vc?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(`DOMSubtreeModified`,this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){dc&&this.connected_&&(document.removeEventListener(`transitionend`,this.onTransitionEnd_),window.removeEventListener(`resize`,this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(`DOMSubtreeModified`,this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=t===void 0?``:t;_c.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||=new e,this.instance_},e.instance_=null,e}(),bc=(function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),Ic=typeof WeakMap<`u`?new WeakMap:new uc,Lc=function(){function e(t){if(!(this instanceof e))throw TypeError(`Cannot call a class as a function.`);if(!arguments.length)throw TypeError(`1 argument required, but only 0 present.`);var n=new Fc(t,yc.getInstance(),this);Ic.set(this,n)}return e}();[`observe`,`unobserve`,`disconnect`].forEach(function(e){Lc.prototype[e]=function(){var t;return(t=Ic.get(this))[e].apply(t,arguments)}});var Rc=(function(){return fc.ResizeObserver===void 0?Lc:fc.ResizeObserver})(),zc=e=>e!=null&&e!==``,Bc=(e,t)=>{let n=g({},e);return Object.keys(t).forEach(e=>{let r=n[e];if(r)r.type||r.default?r.default=t[e]:r.def?r.def(t[e]):n[e]={type:r,default:t[e]};else throw Error(`not have ${e} prop`)}),n},Vc=e=>{let t=Object.keys(e),n={},r={},i={};for(let a=0,o=t.length;a0&&arguments[0]!==void 0?arguments[0]:``,t=arguments.length>1&&arguments[1]!==void 0&&arguments[1],n={},r=/;(?![^(]*\))/g,i=/:(.+)/;return typeof e==`object`?e:(e.split(r).forEach(function(e){if(e){let r=e.split(i);if(r.length>1){let e=t?oc(r[0].trim()):r[0].trim();n[e]=r[1].trim()}}}),n)},Uc=(e,t)=>e[t]!==void 0,Wc=Symbol(`skipFlatten`),Gc=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=Array.isArray(e)?e:[e],r=[];return n.forEach(e=>{Array.isArray(e)?r.push(...Gc(e,t)):e&&e.type===Ma?e.key===Wc?r.push(e):r.push(...Gc(e.children,t)):e&&Wa(e)?t&&!tl(e)?r.push(e):t||r.push(e):zc(e)&&r.push(e)}),r},Kc=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`default`,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Wa(e)?e.type===Ma?t==="default"?Gc(e.children):[]:e.children&&e.children[t]?Gc(e.children[t](n)):[]:Gc(e.$slots[t]&&e.$slots[t](n))},qc=e=>{let t=e?.vnode?.el||e&&(e.$el||e);for(;t&&!t.tagName;)t=t.nextSibling;return t},Jc=e=>{let t={};if(e.$&&e.$.vnode){let n=e.$.vnode.props||{};Object.keys(e.$props).forEach(r=>{let i=e.$props[r],a=xee(r);(i!==void 0||a in n)&&(t[r]=i)})}else if(Wa(e)&&typeof e.type==`object`){let n=e.props||{},r={};Object.keys(n).forEach(e=>{r[oc(e)]=n[e]});let i=e.type.props||{};Object.keys(i).forEach(e=>{let n=wee(i,r,e,r[e]);(n!==void 0||e in r)&&(t[e]=n)})}return t},Yc=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`default`,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i;if(e.$){let a=e[t];if(a!==void 0)return typeof a==`function`&&r?a(n):a;i=e.$slots[t],i=r&&i?i(n):i}else if(Wa(e)){let a=e.props&&e.props[t];if(a!==void 0&&e.props!==null)return typeof a==`function`&&r?a(n):a;e.type===Ma?i=e.children:e.children&&e.children[t]&&(i=e.children[t],i=r&&i?i(n):i)}return Array.isArray(i)&&(i=Gc(i),i=i.length===1?i[0]:i,i=i.length===0?void 0:i),i};function Xc(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n={};return n=e.$?g(g({},n),e.$attrs):g(g({},n),e.props),Vc(n)[t?`onEvents`:`events`]}function Zc(e){let t=((Wa(e)?e.props:e.$attrs)||{}).class||{},n={};return typeof t==`string`?t.split(` `).forEach(e=>{n[e.trim()]=!0}):Array.isArray(t)?K(t).split(` `).forEach(e=>{n[e.trim()]=!0}):n=g(g({},n),t),n}function Qc(e,t){let n=((Wa(e)?e.props:e.$attrs)||{}).style||{};if(typeof n==`string`)n=Hc(n,t);else if(t&&n){let e={};return Object.keys(n).forEach(t=>e[oc(t)]=n[t]),e}return n}function $c(e){return e.length===1&&e[0].type===Ma}function el(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function tl(e){return e&&(e.type===Pa||e.type===Ma&&e.children.length===0||e.type===Na&&e.children.trim()===``)}function nl(e){return e&&e.type===Na}function rl(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=[];return e.forEach(e=>{Array.isArray(e)?t.push(...e):e?.type===Ma?t.push(...rl(e.children)):t.push(e)}),t.filter(e=>!tl(e))}function il(e){if(e){let t=rl(e);return t.length?t:void 0}return e}function al(e){return Array.isArray(e)&&e.length===1&&(e=e[0]),e&&e.__v_isVNode&&typeof e.type!=`symbol`}function ol(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`default`;return t[n]??e[n]?.call(e)}var sl=U({compatConfig:{MODE:3},name:`ResizeObserver`,props:{disabled:Boolean,onResize:Function},emits:[`resize`],setup(e,t){let{slots:n}=t,r=Yt({width:0,height:0,offsetHeight:0,offsetWidth:0}),i=null,a=null,o=()=>{a&&=(a.disconnect(),null)},s=t=>{let{onResize:n}=e,i=t[0].target,{width:a,height:o}=i.getBoundingClientRect(),{offsetWidth:s,offsetHeight:c}=i,l=Math.floor(a),u=Math.floor(o);if(r.width!==l||r.height!==u||r.offsetWidth!==s||r.offsetHeight!==c){let e={width:l,height:u,offsetWidth:s,offsetHeight:c};g(r,e),n&&Promise.resolve().then(()=>{n(g(g({},e),{offsetWidth:s,offsetHeight:c}),i)})}},c=fo(),l=()=>{let{disabled:t}=e;if(t){o();return}let n=qc(c);n!==i&&(o(),i=n),!a&&n&&(a=new Rc(s),a.observe(n))};return $r(()=>{l()}),ti(()=>{l()}),ri(()=>{o()}),H(()=>e.disabled,()=>{l()},{flush:`post`}),()=>n.default?.call(n)[0]}}),cl=e=>setTimeout(e,16),ll=e=>clearTimeout(e);typeof window<`u`&&`requestAnimationFrame`in window&&(cl=e=>window.requestAnimationFrame(e),ll=e=>window.cancelAnimationFrame(e));var ul=0,dl=new Map;function fl(e){dl.delete(e)}function pl(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;ul+=1;let n=ul;function r(t){if(t===0)fl(n),e();else{let e=cl(()=>{r(t-1)});dl.set(n,e)}}return r(t),n}pl.cancel=e=>{let t=dl.get(e);return fl(t),ll(t)};function ml(e){let t,n=n=>()=>{t=null,e(...n)},r=function(){t??=pl(n([...arguments]))};return r.cancel=()=>{pl.cancel(t),t=null},r}var hl=function(){return[...arguments]},gl=function(){return[...arguments]},_l=e=>{let t=e;return t.install=function(n){n.component(t.displayName||t.name,e)},e};function vl(){return{type:[Function,Array]}}function q(e){return{type:Object,default:e}}function J(e){return{type:Boolean,default:e}}function Y(e){return{type:Function,default:e}}function yl(e,t){return{validator:()=>!0,default:e}}function bl(){return{validator:()=>!0}}function xl(e){return{type:Array,default:e}}function X(e){return{type:String,default:e}}function Sl(e,t){return e?{type:e,default:t}:yl(t)}var Cl=!1;try{let e=Object.defineProperty({},"passive",{get(){Cl=!0}});window.addEventListener(`testPassive`,null,e),window.removeEventListener(`testPassive`,null,e)}catch{}var wl=Cl;function Tl(e,t,n,r){if(e&&e.addEventListener){let i=r;i===void 0&&wl&&(t===`touchstart`||t===`touchmove`||t===`wheel`)&&(i={passive:!1}),e.addEventListener(t,n,i)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(t,n)}}}function El(e){return e===window?{top:0,bottom:window.innerHeight}:e.getBoundingClientRect()}function Dl(e,t,n){if(n!==void 0&&t.top>e.top-n)return`${n+t.top}px`}function Ol(e,t,n){if(n!==void 0&&t.bottomt.target===e);n?n.affixList.push(t):(n={target:e,affixList:[t],eventHandlers:{}},Al.push(n),kl.forEach(t=>{n.eventHandlers[t]=Tl(e,t,()=>{n.affixList.forEach(e=>{let{lazyUpdatePosition:t}=e.exposed;t()},(t===`touchstart`||t===`touchmove`)&&wl?{passive:!0}:!1)})}))}function Ml(e){let t=Al.find(t=>{let n=t.affixList.some(t=>t===e);return n&&(t.affixList=t.affixList.filter(t=>t!==e)),n});t&&t.affixList.length===0&&(Al=Al.filter(e=>e!==t),kl.forEach(e=>{let n=t.eventHandlers[e];n&&n.remove&&n.remove()}))}var Nl=`anticon`,Pl=Symbol(`GlobalFormContextKey`),Fl=e=>{er(Pl,e)},Il=()=>tr(Pl,{validateMessages:G(()=>void 0)}),Ll=()=>({iconPrefixCls:String,getTargetContainer:{type:Function},getPopupContainer:{type:Function},prefixCls:String,getPrefixCls:{type:Function},renderEmpty:{type:Function},transformCellText:{type:Function},csp:q(),input:q(),autoInsertSpaceInButton:{type:Boolean,default:void 0},locale:q(),pageHeader:q(),componentSize:{type:String},componentDisabled:{type:Boolean,default:void 0},direction:{type:String,default:`ltr`},space:q(),virtual:{type:Boolean,default:void 0},dropdownMatchSelectWidth:{type:[Number,Boolean],default:!0},form:q(),pagination:q(),theme:q(),select:q(),wave:q()}),Rl=Symbol(`configProvider`),zl={getPrefixCls:(e,t)=>t||(e?`ant-${e}`:`ant`),iconPrefixCls:G(()=>Nl),getPopupContainer:G(()=>()=>document.body),direction:G(()=>`ltr`)},Bl=()=>tr(Rl,zl),Vl=e=>er(Rl,e),Hl=Symbol(`DisabledContextKey`),Ul=()=>tr(Hl,B(void 0)),Wl=e=>{let t=Ul();return er(Hl,G(()=>e.value??t.value)),e},Gl={items_per_page:`/ page`,jump_to:`Go to`,jump_to_confirm:`confirm`,page:``,prev_page:`Previous Page`,next_page:`Next Page`,prev_5:`Previous 5 Pages`,next_5:`Next 5 Pages`,prev_3:`Previous 3 Pages`,next_3:`Next 3 Pages`},Kl={locale:`en_US`,today:`Today`,now:`Now`,backToToday:`Back to today`,ok:`Ok`,clear:`Clear`,month:`Month`,year:`Year`,timeSelect:`select time`,dateSelect:`select date`,weekSelect:`Choose a week`,monthSelect:`Choose a month`,yearSelect:`Choose a year`,decadeSelect:`Choose a decade`,yearFormat:`YYYY`,dateFormat:`M/D/YYYY`,dayFormat:`D`,dateTimeFormat:`M/D/YYYY HH:mm:ss`,monthBeforeYear:!0,previousMonth:`Previous month (PageUp)`,nextMonth:`Next month (PageDown)`,previousYear:`Last year (Control + left)`,nextYear:`Next year (Control + right)`,previousDecade:`Last decade`,nextDecade:`Next decade`,previousCentury:`Last century`,nextCentury:`Next century`},ql={placeholder:`Select time`,rangePlaceholder:[`Start time`,`End time`]},Jl={lang:g({placeholder:`Select date`,yearPlaceholder:`Select year`,quarterPlaceholder:`Select quarter`,monthPlaceholder:`Select month`,weekPlaceholder:`Select week`,rangePlaceholder:[`Start date`,`End date`],rangeYearPlaceholder:[`Start year`,`End year`],rangeQuarterPlaceholder:[`Start quarter`,`End quarter`],rangeMonthPlaceholder:[`Start month`,`End month`],rangeWeekPlaceholder:[`Start week`,`End week`]},Kl),timePickerLocale:g({},ql)},Yl=Jl,Xl="${label} is not a valid ${type}",Zl={locale:`en`,Pagination:Gl,DatePicker:Jl,TimePicker:ql,Calendar:Yl,global:{placeholder:`Please select`},Table:{filterTitle:`Filter menu`,filterConfirm:`OK`,filterReset:`Reset`,filterEmptyText:`No filters`,filterCheckall:`Select all items`,filterSearchPlaceholder:`Search in filters`,emptyText:`No data`,selectAll:`Select current page`,selectInvert:`Invert current page`,selectNone:`Clear all data`,selectionAll:`Select all data`,sortTitle:`Sort`,expand:`Expand row`,collapse:`Collapse row`,triggerDesc:`Click to sort descending`,triggerAsc:`Click to sort ascending`,cancelSort:`Click to cancel sorting`},Tour:{Next:`Next`,Previous:`Previous`,Finish:`Finish`},Modal:{okText:`OK`,cancelText:`Cancel`,justOkText:`OK`},Popconfirm:{okText:`OK`,cancelText:`Cancel`},Transfer:{titles:[``,``],searchPlaceholder:`Search here`,itemUnit:`item`,itemsUnit:`items`,remove:`Remove`,selectCurrent:`Select current page`,removeCurrent:`Remove current page`,selectAll:`Select all data`,removeAll:`Remove all data`,selectInvert:`Invert current page`},Upload:{uploading:`Uploading...`,removeFile:`Remove file`,uploadError:`Upload error`,previewFile:`Preview file`,downloadFile:`Download file`},Empty:{description:`No data`},Icon:{icon:`icon`},Text:{edit:`Edit`,copy:`Copy`,copied:`Copied`,expand:`Expand`},PageHeader:{back:`Back`},Form:{optional:`(optional)`,defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:Xl,method:Xl,array:Xl,object:Xl,number:Xl,date:Xl,boolean:Xl,integer:Xl,float:Xl,regexp:Xl,email:Xl,url:Xl,hex:Xl},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:`Preview`},QRCode:{expired:`QR code expired`,refresh:`Refresh`,scanned:`Scanned`}},Ql=U({compatConfig:{MODE:3},name:`LocaleReceiver`,props:{componentName:String,defaultLocale:{type:[Object,Function]},children:{type:Function}},setup(e,t){let{slots:n}=t,r=tr(`localeData`,{}),i=G(()=>{let{componentName:t=`global`,defaultLocale:n}=e,i=n||Zl[t||`global`],{antLocale:a}=r,o=t&&a?a[t]:{};return g(g({},typeof i==`function`?i():i),o||{})}),a=G(()=>{let{antLocale:e}=r,t=e&&e.locale;return e&&e.exist&&!t?Zl.locale:t});return()=>{let t=e.children||n.default,{antLocale:o}=r;return t?.(i.value,a.value,o)}}});function $l(e,t,n){let r=tr(`localeData`,{});return[G(()=>{let{antLocale:i}=r,a=fn(t)||Zl[e||`global`],o=e&&i?i[e]:{};return g(g(g({},typeof a==`function`?a():a),o||{}),fn(n)||{})})]}var eu=Ql;function tu(e){for(var t=0,n,r=0,i=e.length;i>=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var nu=`%`,ru=class{constructor(e){this.cache=new Map,this.instanceId=e}get(e){return this.cache.get(Array.isArray(e)?e.join(nu):e)||null}update(e,t){let n=Array.isArray(e)?e.join(nu):e,r=t(this.cache.get(n));r===null?this.cache.delete(n):this.cache.set(n,r)}},iu=`data-token-hash`,au=`data-css-hash`,ou=`__cssinjs_instance__`;function su(){let e=Math.random().toString(12).slice(2);if(typeof document<`u`&&document.head&&document.body){let t=document.body.querySelectorAll(`style[data-css-hash]`)||[],{firstChild:n}=document.head;Array.from(t).forEach(t=>{t[ou]=t.__cssinjs_instance__||e,t.__cssinjs_instance__===e&&document.head.insertBefore(t,n)});let r={};Array.from(document.querySelectorAll(`style[${au}]`)).forEach(t=>{var n;let i=t.getAttribute(au);r[i]?t.__cssinjs_instance__===e&&((n=t.parentNode)==null||n.removeChild(t)):r[i]=!0})}return new ru(e)}var cu=Symbol(`StyleContextKey`),lu=()=>{let e=fo(),t;if(e&&e.appContext){let n=e.appContext?.config?.globalProperties?.__ANTDV_CSSINJS_CACHE__;n?t=n:(t=su(),e.appContext.config.globalProperties&&(e.appContext.config.globalProperties.__ANTDV_CSSINJS_CACHE__=t))}else t=su();return t},uu={cache:su(),defaultCache:!0,hashPriority:`low`},du=()=>{let e=lu();return tr(cu,V(g(g({},uu),{cache:e})))},fu=e=>{let t=du(),n=V(g(g({},uu),{cache:su()}));return H([()=>fn(e),t],()=>{let r=g({},t.value),i=fn(e);Object.keys(i).forEach(e=>{let t=i[e];i[e]!==void 0&&(r[e]=t)});let{cache:a}=i;r.cache=r.cache||su(),r.defaultCache=!a&&t.value.defaultCache,n.value=r},{immediate:!0}),er(cu,n),n},pu=_l(U({name:`AStyleProvider`,inheritAttrs:!1,props:{autoClear:J(),mock:X(),cache:q(),defaultCache:J(),hashPriority:X(),container:Sl(),ssrInline:J(),transformers:xl(),linters:xl()},setup(e,t){let{slots:n}=t;return fu(e),()=>n.default?.call(n)}}));function mu(e,t,n,r){let i=du(),a=V(``),o=V();ar(()=>{a.value=[e,...t.value].join(`%`)});let s=e=>{i.value.cache.update(e,e=>{let[t=0,n]=e||[];return t-1==0?(r?.(n,!1),null):[t-1,n]})};return H(a,(e,t)=>{t&&s(t),i.value.cache.update(e,e=>{let[t=0,r]=e||[],i=r||n();return[t+1,i]}),o.value=i.value.cache.get(a.value)[1]},{immediate:!0}),ni(()=>{s(a.value)}),o}function hu(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function gu(e,t){return e&&e.contains?e.contains(t):!1}var _u=`data-vc-order`,vu=`vc-util-key`,yu=new Map;function bu(){let{mark:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e?e.startsWith(`data-`)?e:`data-${e}`:vu}function xu(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function Su(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function Cu(e){return Array.from((yu.get(e)||e).children).filter(e=>e.tagName===`STYLE`)}function wu(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!hu())return null;let{csp:n,prepend:r}=t,i=document.createElement(`style`);i.setAttribute(_u,Su(r)),n?.nonce&&(i.nonce=n?.nonce),i.innerHTML=e;let a=xu(t),{firstChild:o}=a;if(r){if(r===`queue`){let e=Cu(a).filter(e=>[`prepend`,`prependQueue`].includes(e.getAttribute(_u)));if(e.length)return a.insertBefore(i,e[e.length-1].nextSibling),i}a.insertBefore(i,o)}else a.appendChild(i);return i}function Tu(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Cu(xu(t)).find(n=>n.getAttribute(bu(t))===e)}function Eu(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=Tu(e,t);n&&xu(t).removeChild(n)}function Du(e,t){let n=yu.get(e);if(!n||!gu(document,n)){let n=wu(``,t),{parentNode:r}=n;yu.set(e,r),e.removeChild(n)}}function Ou(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Du(xu(n),n);let r=Tu(t,n);if(r)return n.csp?.nonce&&r.nonce!==n.csp?.nonce&&(r.nonce=n.csp?.nonce),r.innerHTML!==e&&(r.innerHTML=e),r;let i=wu(e,n);return i.setAttribute(bu(n),t),i}function ku(e,t){if(e.length!==t.length)return!1;for(let n=0;n1&&arguments[1]!==void 0&&arguments[1],n={map:this.cache};return e.forEach(e=>{n=n?(n?.map)?.get(e):void 0}),n?.value&&t&&(n.value[1]=this.cacheCallTimes++),n?.value}get(e){return this.internalGet(e,!0)?.[0]}has(e){return!!this.internalGet(e)}set(t,n){if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){let[e]=this.keys.reduce((e,t)=>{let[,n]=e;return this.internalGet(t)[1]{if(i===t.length-1)r.set(e,{value:[n,this.cacheCallTimes++]});else{let t=r.get(e);t?t.map||=new Map:r.set(e,{map:new Map}),r=r.get(e).map}})}deleteByPath(e,t){let n=e.get(t[0]);if(t.length===1)return n.map?e.set(t[0],{map:n.map}):e.delete(t[0]),n.value?.[0];let r=this.deleteByPath(n.map,t.slice(1));return(!n.map||n.map.size===0)&&!n.value&&e.delete(t[0]),r}delete(e){if(this.has(e))return this.keys=this.keys.filter(t=>!ku(t,e)),this.deleteByPath(this.cache,e)}};Au.MAX_CACHE_SIZE=20,Au.MAX_CACHE_OFFSET=5;var ju={};function Mu(e,t){}function Nu(e,t){}function Pu(e,t,n){!t&&!ju[n]&&(e(!1,n),ju[n]=!0)}function Fu(e,t){Pu(Mu,e,t)}function Iu(e,t){Pu(Nu,e,t)}function Lu(){}var Ru=Lu,zu=0,Bu=class{constructor(e){this.derivatives=Array.isArray(e)?e:[e],this.id=zu,e.length===0&&Ru(e.length>0,`[Ant Design Vue CSS-in-JS] Theme should have at least one derivative function.`),zu+=1}getDerivativeToken(e){return this.derivatives.reduce((t,n)=>n(e,t),void 0)}},Vu=new Au;function Hu(e){let t=Array.isArray(e)?e:[e];return Vu.has(t)||Vu.set(t,new Bu(t)),Vu.get(t)}var Uu=new WeakMap;function Wu(e){let t=Uu.get(e)||``;return t||(Object.keys(e).forEach(n=>{let r=e[n];t+=n,r instanceof Bu?t+=r.id:t+=r&&typeof r==`object`?Wu(r):r}),Uu.set(e,t)),t}function Gu(e,t){return tu(`${t}_${Wu(e)}`)}var Ku=`random-${Date.now()}-${Math.random()}`.replace(/\./g,``),qu=`_bAmBoO_`;function Ju(e,t,n){var r;if(hu()){Ou(e,Ku);let i=document.createElement(`div`);i.style.position=`fixed`,i.style.left=`0`,i.style.top=`0`,t?.(i),document.body.appendChild(i);let a=n?n(i):getComputedStyle(i).content?.includes(qu);return(r=i.parentNode)==null||r.removeChild(i),Eu(Ku),a}return!1}var Yu=void 0;function Xu(){return Yu===void 0&&(Yu=Ju(`@layer ${Ku} { .${Ku} { content: "${qu}"!important; } }`,e=>{e.className=Ku})),Yu}var Zu={},Qu=`css`,$u=new Map;function ed(e){$u.set(e,($u.get(e)||0)+1)}function td(e,t){typeof document<`u`&&document.querySelectorAll(`style[${iu}="${e}"]`).forEach(e=>{var n;e.__cssinjs_instance__===t&&((n=e.parentNode)==null||n.removeChild(e))})}var nd=0;function rd(e,t){$u.set(e,($u.get(e)||0)-1);let n=Array.from($u.keys()),r=n.filter(e=>($u.get(e)||0)<=0);n.length-r.length>nd&&r.forEach(e=>{td(e,t),$u.delete(e)})}var id=(e,t,n,r)=>{let i=n.getDerivativeToken(e),a=g(g({},i),t);return r&&(a=r(a)),a};function ad(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:B({}),r=du(),i=G(()=>g({},...t.value)),a=G(()=>Wu(i.value)),o=G(()=>Wu(n.value.override||Zu));return mu(`token`,G(()=>[n.value.salt||``,e.value.id,a.value,o.value]),()=>{let{salt:t=``,override:r=Zu,formatToken:a,getComputedToken:o}=n.value,s=o?o(i.value,r,e.value):id(i.value,r,e.value,a),c=Gu(s,t);s._tokenKey=c,ed(c);let l=`${Qu}-${tu(c)}`;return s._hashId=l,[s,l]},e=>{rd(e[0]._tokenKey,r.value?.cache.instanceId)})}var od={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},sd=`comm`,cd=`rule`,ld=`decl`,Dee=`@import`,Oee=`@namespace`,kee=`@keyframes`,Aee=`@layer`,jee=Math.abs,ud=String.fromCharCode;function dd(e){return e.trim()}function fd(e,t,n){return e.replace(t,n)}function pd(e,t){return e.charCodeAt(t)|0}function md(e,t,n){return e.slice(t,n)}function hd(e){return e.length}function Mee(e){return e.length}function gd(e,t){return t.push(e),e}var _d=1,vd=1,yd=0,bd=0,xd=0,Sd=``;function Cd(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:_d,column:vd,length:o,return:``,siblings:s}}function Nee(){return xd}function Pee(){return xd=bd>0?pd(Sd,--bd):0,vd--,xd===10&&(vd=1,_d--),xd}function wd(){return xd=bd2||Od(xd)>3?``:` `}function Ree(e,t){for(;--t&&wd()&&!(xd<48||xd>102||xd>57&&xd<65||xd>70&&xd<97););return Dd(e,Ed()+(t<6&&Td()==32&&wd()==32))}function Ad(e){for(;wd();)switch(xd){case e:return bd;case 34:case 39:e!==34&&e!==39&&Ad(xd);break;case 40:e===41&&Ad(e);break;case 92:wd()}return bd}function zee(e,t){for(;wd()&&e+xd!==57&&(e+xd!==84||Td()!==47););return`/*`+Dd(t,bd-1)+`*`+ud(e===47?e:wd())}function Bee(e){for(;!Od(Td());)wd();return Dd(e,bd)}function Vee(e){return Iee(jd(``,null,null,null,[``],e=Fee(e),0,[0],e))}function jd(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=0,b=``,x=i,S=a,C=r,w=b;g;)switch(m=y,y=wd()){case 40:m!=108&&pd(w,d-1)==58?(v++,w+=`(`):w+=kd(y);break;case 41:v--,w+=`)`;break;case 34:case 39:case 91:w+=kd(y);break;case 9:case 10:case 13:case 32:if(v>0){w+=ud(y);break}w+=Lee(m);break;case 92:w+=Ree(Ed()-1,7);continue;case 47:switch(Td()){case 42:case 47:gd(Hee(zee(wd(),Ed()),t,n,c),c),(Od(m||1)==5||Od(Td()||1)==5)&&hd(w)&&md(w,-1,void 0)!==` `&&(w+=` `);break;default:w+=`/`}break;case 123*h:s[l++]=hd(w)*_;case 125*h:case 59:case 0:if(v>0&&y){w+=ud(y);break}switch(y){case 0:case 125:g=0;case 59+u:_==-1&&(w=fd(w,/\f/g,``)),p>0&&(hd(w)-d||h===0)&&gd(p>32?Nd(w+`;`,r,n,d-1,c):Nd(fd(w,` `,``)+`;`,r,n,d-2,c),c);break;case 59:w+=`;`;default:if(gd(C=Md(w,t,n,l,u,i,s,b,x=[],S=[],d,a),a),y===123){if(u===0)jd(w,t,C,C,x,a,d,s,S);else{switch(f){case 99:if(pd(w,3)===110)break;case 108:if(pd(w,2)===97)break;default:u=0;case 100:case 109:case 115:}u?jd(e,C,C,r&&gd(Md(e,C,C,0,0,i,s,b,i,x=[],d,S),S),i,S,d,s,r?x:S):jd(w,C,C,C,[``],S,0,s,S)}}}l=u=p=0,h=_=1,b=w=``,d=o;break;case 58:d=1+hd(w),p=m;default:if(h<1){if(y==123)--h;else if(y==125&&h++==0&&Pee()==125)continue}switch(w+=ud(y),y*h){case 38:_=u>0?1:(w+=`\f`,-1);break;case 44:if(v>0)break;s[l++]=(hd(w)-1)*_,_=1;break;case 64:Td()===45&&(w+=kd(wd())),f=Td(),u=d=hd(b=w+=Bee(Ed())),y++;break;case 45:m===45&&hd(w)==2&&(h=0)}}return a}function Md(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=Mee(p),h=0,g=0,_=0;h0?p[v]+` `+y:fd(y,/&\f/g,p[v])))&&(c[_++]=b);return Cd(e,t,n,i===0?cd:s,c,l,u,d)}function Hee(e,t,n,r){return Cd(e,t,n,sd,ud(Nee()),md(e,2,-2),0,r)}function Nd(e,t,n,r,i){return Cd(e,t,n,ld,md(e,0,r),md(e,r+1,-1),r,i)}function Pd(e,t){for(var n=``,r=0;r `)}`:``}`)}function Wee(e){return(e.match(/:not\(([^)]*)\)/)?.[1]||``).split(/(\[[^[]*])|(?=[.#])/).filter(e=>e).length>1}function Gee(e){return e.parentSelectors.reduce((e,t)=>e?t.includes(`&`)?t.replace(/&/g,e):`${e} ${t}`:t,``)}var Kee=(e,t,n)=>{let r=Gee(n).match(/:not\([^)]*\)/g)||[];r.length>0&&r.some(Wee)&&Fd(`Concat ':not' selector not support in legacy browsers.`,n)},qee=(e,t,n)=>{switch(e){case`marginLeft`:case`marginRight`:case`paddingLeft`:case`paddingRight`:case`left`:case`right`:case`borderLeft`:case`borderLeftWidth`:case`borderLeftStyle`:case`borderLeftColor`:case`borderRight`:case`borderRightWidth`:case`borderRightStyle`:case`borderRightColor`:case`borderTopLeftRadius`:case`borderTopRightRadius`:case`borderBottomLeftRadius`:case`borderBottomRightRadius`:Fd(`You seem to be using non-logical property '${e}' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,n);return;case`margin`:case`padding`:case`borderWidth`:case`borderStyle`:if(typeof t==`string`){let r=t.split(` `).map(e=>e.trim());r.length===4&&r[1]!==r[3]&&Fd(`You seem to be using '${e}' property with different left ${e} and right ${e}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,n)}return;case`clear`:case`textAlign`:(t===`left`||t===`right`)&&Fd(`You seem to be using non-logical value '${t}' of ${e}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,n);return;case`borderRadius`:typeof t==`string`&&t.split(`/`).map(e=>e.trim()).reduce((e,t)=>{if(e)return e;let n=t.split(` `).map(e=>e.trim());return n.length>=2&&n[0]!==n[1]||n.length===3&&n[1]!==n[2]||n.length===4&&n[2]!==n[3]||e},!1)&&Fd(`You seem to be using non-logical value '${t}' of ${e}, which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.`,n);return}},Jee=(e,t,n)=>{n.parentSelectors.some(e=>e.split(`,`).some(e=>e.split(`&`).length>2))&&Fd("Should not use more than one `&` in a selector.",n)},Id=`data-ant-cssinjs-cache-path`,Yee=`_FILE_STYLE__`;function Ld(e){return Object.keys(e).map(t=>`${t}:${e[t]}`).join(`;`)}var Rd,zd=!0;function Bd(){var e;if(!Rd&&(Rd={},hu())){let t=document.createElement(`div`);t.className=Id,t.style.position=`fixed`,t.style.visibility=`hidden`,t.style.top=`-9999px`,document.body.appendChild(t);let n=getComputedStyle(t).content||``;n=n.replace(/^"/,``).replace(/"$/,``),n.split(`;`).forEach(e=>{let[t,n]=e.split(`:`);Rd[t]=n});let r=document.querySelector(`style[${Id}]`);r&&(zd=!1,(e=r.parentNode)==null||e.removeChild(r)),document.body.removeChild(t)}}function Vd(e){return Bd(),!!Rd[e]}function Hd(e){let t=Rd[e],n=null;if(t&&hu()){if(zd)n=Yee;else{let t=document.querySelector(`style[${au}="${Rd[e]}"]`);t?n=t.innerHTML:delete Rd[e]}}return[n,t]}var Ud=hu(),Wd=`_skip_check_`,Gd=`_multi_value_`;function Kd(e){return Pd(Vee(e),Uee).replace(/\{%%%\:[^;];}/g,`;`)}function qd(e){return typeof e==`object`&&e&&(Wd in e||Gd in e)}function Jd(e,t,n){if(!t)return e;let r=`.${t}`,i=n===`low`?`:where(${r})`:r;return e.split(`,`).map(e=>{let t=e.trim().split(/\s+/),n=t[0]||``,r=n.match(/^\w+/)?.[0]||``;return n=`${r}${i}${n.slice(r.length)}`,[n,...t.slice(1)].join(` `)}).join(`,`)}var Yd=new Set,Xd=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{root:n,injectHash:r,parentSelectors:i}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},{hashId:a,layer:o,path:s,hashPriority:c,transformers:l=[],linters:u=[]}=t,d=``,f={};function p(e){let n=e.getName(a);if(!f[n]){let[r]=Xd(e.style,t,{root:!1,parentSelectors:i});f[n]=`@keyframes ${e.getName(a)}${r}`}}function m(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.forEach(e=>{Array.isArray(e)?m(e,t):e&&t.push(e)}),t}if(m(Array.isArray(e)?e:[e]).forEach(e=>{let o=typeof e==`string`&&!n?{}:e;if(typeof o==`string`)d+=`${o}\n`;else if(o._keyframe)p(o);else{let e=l.reduce((e,t)=>(t?.visit)?.call(t,e)||e,o);Object.keys(e).forEach(o=>{let s=e[o];if(typeof s==`object`&&s&&(o!==`animationName`||!s._keyframe)&&!qd(s)){let e=!1,l=o.trim(),u=!1;(n||r)&&a?l.startsWith(`@`)?e=!0:l=Jd(o,a,c):n&&!a&&(l===`&`||l===``)&&(l=``,u=!0);let[p,m]=Xd(s,t,{root:u,injectHash:e,parentSelectors:[...i,l]});f=g(g({},f),m),d+=`${l}${p}`}else{function e(e,t){let n=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),r=t;!od[e]&&typeof r==`number`&&r!==0&&(r=`${r}px`),e===`animationName`&&t?._keyframe&&(p(t),r=t.getName(a)),d+=`${n}:${r};`}let t=s?.value??s;typeof s==`object`&&s?.[Gd]&&Array.isArray(t)?t.forEach(t=>{e(o,t)}):e(o,t)}})}}),!n)d=`{${d}}`;else if(o&&Xu()){let e=o.split(`,`);d=`@layer ${e[e.length-1].trim()} {${d}}`,e.length>1&&(d=`@layer ${o}{%%%:%}${d}`)}return[d,f]};function Zd(e,t){return tu(`${e.join(`%`)}${t}`)}function Qd(e,t){let n=du(),r=G(()=>e.value.token._tokenKey),i=G(()=>[r.value,...e.value.path]),a=Ud;return mu(`style`,i,()=>{let{path:o,hashId:s,layer:c,nonce:l,clientOnly:u,order:d=0}=e.value,f=i.value.join(`|`);if(Vd(f)){let[e,t]=Hd(f);if(e)return[e,r.value,t,{},u,d]}let p=t(),{hashPriority:m,container:h,transformers:g,linters:_,cache:v}=n.value,[y,b]=Xd(p,{hashId:s,hashPriority:m,layer:c,path:o.join(`-`),transformers:g,linters:_}),x=Kd(y),S=Zd(i.value,x);if(a){let e={mark:au,prepend:`queue`,attachTo:h,priority:d},t=typeof l==`function`?l():l;t&&(e.csp={nonce:t});let n=Ou(x,S,e);n[ou]=v.instanceId,n.setAttribute(iu,r.value),Object.keys(b).forEach(e=>{Yd.has(e)||(Yd.add(e),Ou(Kd(b[e]),`_effect-${e}`,{mark:au,prepend:`queue`,attachTo:h}))})}return[x,r.value,S,b,u,d]},(e,t)=>{let[,,r]=e;(t||n.value.autoClear)&&Ud&&Eu(r,{mark:au})}),e=>e}function $d(e){let t=arguments.length>1&&arguments[1]!==void 0&&arguments[1],n=Array.from(e.cache.keys()).filter(e=>e.startsWith(`style%`)),r={},i={},a=``;function o(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},a=g(g({},i),{[iu]:n,[au]:r}),o=Object.keys(a).map(e=>{let t=a[e];return t?`${e}="${t}"`:null}).filter(e=>e).join(` `);return t?e:``}return n.map(t=>{let n=t.slice(6).replace(/%/g,`|`),[a,s,c,l,u,d]=e.cache.get(t)[1];if(u)return null;let f={"data-vc-order":`prependQueue`,"data-vc-priority":`${d}`},p=o(a,s,c,f);return i[n]=c,l&&Object.keys(l).forEach(e=>{r[e]||(r[e]=!0,p+=o(Kd(l[e]),s,`_effect-${e}`,f))}),[d,p]}).filter(e=>e).sort((e,t)=>e[0]-t[0]).forEach(e=>{let[,t]=e;a+=t}),a+=o(`.${Id}{content:"${Ld(i)}";}`,void 0,void 0,{[Id]:Id}),a}var ef=class{constructor(e,t){this._keyframe=!0,this.name=e,this.style=t}getName(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return e?`${e}-${this.name}`:this.name}};function tf(e){if(typeof e==`number`)return[e];let t=String(e).split(/\s+/),n=``,r=0;return t.reduce((e,t)=>(t.includes(`(`)?(n+=t,r+=t.split(`(`).length-1):t.includes(`)`)?(n+=` ${t}`,r-=t.split(`)`).length-1,r===0&&(e.push(n),n=``)):r>0?n+=` ${t}`:e.push(t),e),[])}function nf(e){return e.notSplit=!0,e}var rf={inset:[`top`,`right`,`bottom`,`left`],insetBlock:[`top`,`bottom`],insetBlockStart:[`top`],insetBlockEnd:[`bottom`],insetInline:[`left`,`right`],insetInlineStart:[`left`],insetInlineEnd:[`right`],marginBlock:[`marginTop`,`marginBottom`],marginBlockStart:[`marginTop`],marginBlockEnd:[`marginBottom`],marginInline:[`marginLeft`,`marginRight`],marginInlineStart:[`marginLeft`],marginInlineEnd:[`marginRight`],paddingBlock:[`paddingTop`,`paddingBottom`],paddingBlockStart:[`paddingTop`],paddingBlockEnd:[`paddingBottom`],paddingInline:[`paddingLeft`,`paddingRight`],paddingInlineStart:[`paddingLeft`],paddingInlineEnd:[`paddingRight`],borderBlock:nf([`borderTop`,`borderBottom`]),borderBlockStart:nf([`borderTop`]),borderBlockEnd:nf([`borderBottom`]),borderInline:nf([`borderLeft`,`borderRight`]),borderInlineStart:nf([`borderLeft`]),borderInlineEnd:nf([`borderRight`]),borderBlockWidth:[`borderTopWidth`,`borderBottomWidth`],borderBlockStartWidth:[`borderTopWidth`],borderBlockEndWidth:[`borderBottomWidth`],borderInlineWidth:[`borderLeftWidth`,`borderRightWidth`],borderInlineStartWidth:[`borderLeftWidth`],borderInlineEndWidth:[`borderRightWidth`],borderBlockStyle:[`borderTopStyle`,`borderBottomStyle`],borderBlockStartStyle:[`borderTopStyle`],borderBlockEndStyle:[`borderBottomStyle`],borderInlineStyle:[`borderLeftStyle`,`borderRightStyle`],borderInlineStartStyle:[`borderLeftStyle`],borderInlineEndStyle:[`borderRightStyle`],borderBlockColor:[`borderTopColor`,`borderBottomColor`],borderBlockStartColor:[`borderTopColor`],borderBlockEndColor:[`borderBottomColor`],borderInlineColor:[`borderLeftColor`,`borderRightColor`],borderInlineStartColor:[`borderLeftColor`],borderInlineEndColor:[`borderRightColor`],borderStartStartRadius:[`borderTopLeftRadius`],borderStartEndRadius:[`borderTopRightRadius`],borderEndStartRadius:[`borderBottomLeftRadius`],borderEndEndRadius:[`borderBottomRightRadius`]};function af(e){return{_skip_check_:!0,value:e}}var of={visit:e=>{let t={};return Object.keys(e).forEach(n=>{let r=e[n],i=rf[n];if(i&&(typeof r==`number`||typeof r==`string`)){let e=tf(r);i.length&&i.notSplit?i.forEach(e=>{t[e]=af(r)}):i.length===1?t[i[0]]=af(r):i.length===2?i.forEach((n,r)=>{t[n]=af(e[r]??e[0])}):i.length===4?i.forEach((n,r)=>{t[n]=af(e[r]??e[r-2]??e[0])}):t[n]=r}else t[n]=r}),t}},sf=/url\([^)]+\)|var\([^)]+\)|(\d*\.?\d+)px/g;function cf(e,t){let n=10**(t+1),r=Math.floor(e*n);return Math.round(r/10)*10/n}var lf={Theme:Bu,createTheme:Hu,useStyleRegister:Qd,useCacheToken:ad,createCache:su,useStyleInject:du,useStyleProvider:fu,Keyframes:ef,extractStyle:$d,legacyLogicalPropertiesTransformer:of,px2remTransformer:function(){let{rootValue:e=16,precision:t=5,mediaQuery:n=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=(n,r)=>{if(!r)return n;let i=parseFloat(r);return i<=1?n:`${cf(i/e,t)}rem`};return{visit:e=>{let t=g({},e);return Object.entries(e).forEach(e=>{let[i,a]=e;if(typeof a==`string`&&a.includes(`px`)){let e=a.replace(sf,r);t[i]=e}!od[i]&&typeof a==`number`&&a!==0&&(t[i]=`${a}px`.replace(sf,r));let o=i.trim();if(o.startsWith(`@`)&&o.includes(`px`)&&n){let e=i.replace(sf,r);t[e]=t[i],delete t[i]}}),t}}},logicalPropertiesLinter:qee,legacyNotSelectorLinter:Kee,parentSelectorLinter:Jee,StyleProvider:pu},uf=`4.2.6`,df=[`blue`,`purple`,`cyan`,`green`,`magenta`,`pink`,`red`,`orange`,`yellow`,`volcano`,`geekblue`,`lime`,`gold`];function ff(e,t){mf(e)&&(e=`100%`);var n=hf(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(e=t===360?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t)),e)}function pf(e){return Math.min(1,Math.max(0,e))}function mf(e){return typeof e==`string`&&e.indexOf(`.`)!==-1&&parseFloat(e)===1}function hf(e){return typeof e==`string`&&e.indexOf(`%`)!==-1}function gf(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function _f(e){return e<=1?`${Number(e)*100}%`:e}function vf(e){return e.length===1?`0`+e:String(e)}function yf(e,t,n){return{r:ff(e,255)*255,g:ff(t,255)*255,b:ff(n,255)*255}}function bf(e,t,n){e=ff(e,255),t=ff(t,255),n=ff(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),a=0,o=0,s=(r+i)/2;if(r===i)o=0,a=0;else{var c=r-i;switch(o=s>.5?c/(2-r-i):c/(r+i),r){case e:a=(t-n)/c+(t1&&--n,n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Sf(e,t,n){var r,i,a;if(e=ff(e,360),t=ff(t,100),n=ff(n,100),t===0)i=n,a=n,r=n;else{var o=n<.5?n*(1+t):n+t-n*t,s=2*n-o;r=xf(s,o,e+1/3),i=xf(s,o,e),a=xf(s,o,e-1/3)}return{r:r*255,g:i*255,b:a*255}}function Cf(e,t,n){e=ff(e,255),t=ff(t,255),n=ff(n,255);var r=Math.max(e,t,n),i=Math.min(e,t,n),a=0,o=r,s=r-i,c=r===0?0:s/r;if(r===i)a=0;else{switch(r){case e:a=(t-n)/s+(t>16,g:(e&65280)>>8,b:e&255}}var jf={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,goldenrod:`#daa520`,gold:`#ffd700`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,lavenderblush:`#fff0f5`,lavender:`#e6e6fa`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`};function Mf(e){var t={r:0,g:0,b:0},n=1,r=null,i=null,a=null,o=!1,s=!1;return typeof e==`string`&&(e=Lf(e)),typeof e==`object`&&(Rf(e.r)&&Rf(e.g)&&Rf(e.b)?(t=yf(e.r,e.g,e.b),o=!0,s=String(e.r).substr(-1)===`%`?`prgb`:`rgb`):Rf(e.h)&&Rf(e.s)&&Rf(e.v)?(r=_f(e.s),i=_f(e.v),t=wf(e.h,r,i),o=!0,s=`hsv`):Rf(e.h)&&Rf(e.s)&&Rf(e.l)&&(r=_f(e.s),a=_f(e.l),t=Sf(e.h,r,a),o=!0,s=`hsl`),Object.prototype.hasOwnProperty.call(e,`a`)&&(n=e.a)),n=gf(n),{ok:o,format:e.format||s,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var Nf=`(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)`,Pf=`[\\s|\\(]+(${Nf})[,|\\s]+(${Nf})[,|\\s]+(${Nf})\\s*\\)?`,Ff=`[\\s|\\(]+(${Nf})[,|\\s]+(${Nf})[,|\\s]+(${Nf})[,|\\s]+(${Nf})\\s*\\)?`,If={CSS_UNIT:new RegExp(Nf),rgb:RegExp(`rgb`+Pf),rgba:RegExp(`rgba`+Ff),hsl:RegExp(`hsl`+Pf),hsla:RegExp(`hsla`+Ff),hsv:RegExp(`hsv`+Pf),hsva:RegExp(`hsva`+Ff),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Lf(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(jf[e])e=jf[e],t=!0;else if(e===`transparent`)return{r:0,g:0,b:0,a:0,format:`name`};var n=If.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=If.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=If.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=If.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=If.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=If.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=If.hex8.exec(e),n?{r:kf(n[1]),g:kf(n[2]),b:kf(n[3]),a:Of(n[4]),format:t?`name`:`hex8`}:(n=If.hex6.exec(e),n?{r:kf(n[1]),g:kf(n[2]),b:kf(n[3]),format:t?`name`:`hex`}:(n=If.hex4.exec(e),n?{r:kf(n[1]+n[1]),g:kf(n[2]+n[2]),b:kf(n[3]+n[3]),a:Of(n[4]+n[4]),format:t?`name`:`hex8`}:(n=If.hex3.exec(e),n?{r:kf(n[1]+n[1]),g:kf(n[2]+n[2]),b:kf(n[3]+n[3]),format:t?`name`:`hex`}:!1)))))))))}function Rf(e){return!!If.CSS_UNIT.exec(String(e))}var zf=function(){function e(t,n){if(t===void 0&&(t=``),n===void 0&&(n={}),t instanceof e)return t;typeof t==`number`&&(t=Af(t)),this.originalInput=t;var r=Mf(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t,n,r,i=e.r/255,a=e.g/255,o=e.b/255;return t=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,n=a<=.03928?a/12.92:((a+.055)/1.055)**2.4,r=o<=.03928?o/12.92:((o+.055)/1.055)**2.4,.2126*t+.7152*n+.0722*r},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=gf(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return this.toHsl().s===0},e.prototype.toHsv=function(){var e=Cf(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=Cf(this.r,this.g,this.b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.v*100);return this.a===1?`hsv(${t}, ${n}%, ${r}%)`:`hsva(${t}, ${n}%, ${r}%, ${this.roundA})`},e.prototype.toHsl=function(){var e=bf(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=bf(this.r,this.g,this.b),t=Math.round(e.h*360),n=Math.round(e.s*100),r=Math.round(e.l*100);return this.a===1?`hsl(${t}, ${n}%, ${r}%)`:`hsla(${t}, ${n}%, ${r}%, ${this.roundA})`},e.prototype.toHex=function(e){return e===void 0&&(e=!1),Tf(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return e===void 0&&(e=!1),`#`+this.toHex(e)},e.prototype.toHex8=function(e){return e===void 0&&(e=!1),Ef(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return e===void 0&&(e=!1),`#`+this.toHex8(e)},e.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return this.a===1?`rgb(${e}, ${t}, ${n})`:`rgba(${e}, ${t}, ${n}, ${this.roundA})`},e.prototype.toPercentageRgb=function(){var e=function(e){return`${Math.round(ff(e,255)*100)}%`};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(ff(e,255)*100)};return this.a===1?`rgb(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%)`:`rgba(${e(this.r)}%, ${e(this.g)}%, ${e(this.b)}%, ${this.roundA})`},e.prototype.toName=function(){if(this.a===0)return`transparent`;if(this.a<1)return!1;for(var e=`#`+Tf(this.r,this.g,this.b,!1),t=0,n=Object.entries(jf);t=0;return!t&&r&&(e.startsWith(`hex`)||e===`name`)?e===`name`&&this.a===0?this.toName():this.toRgbString():(e===`rgb`&&(n=this.toRgbString()),e===`prgb`&&(n=this.toPercentageRgbString()),(e===`hex`||e===`hex6`)&&(n=this.toHexString()),e===`hex3`&&(n=this.toHexString(!0)),e===`hex4`&&(n=this.toHex8String(!0)),e===`hex8`&&(n=this.toHex8String()),e===`name`&&(n=this.toName()),e===`hsl`&&(n=this.toHslString()),e===`hsv`&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=pf(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=pf(n.l),new e(n)},e.prototype.tint=function(e){return e===void 0&&(e=10),this.mix(`white`,e)},e.prototype.shade=function(e){return e===void 0&&(e=10),this.mix(`black`,e)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=pf(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=pf(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var r=this.toRgb(),i=new e(t).toRgb(),a=n/100;return new e({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var r=this.toHsl(),i=360/n,a=[this];for(r.h=(r.h-(i*t>>1)+720)%360;--t;)r.h=(r.h+i)%360,a.push(new e(r));return a},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),r=n.h,i=n.s,a=n.v,o=[],s=1/t;t--;)o.push(new e({h:r,s:i,v:a})),a=(a+s)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),i=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/i,g:(n.g*n.a+r.g*r.a*(1-n.a))/i,b:(n.b*n.a+r.b*r.a*(1-n.a))/i,a:i})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,i=[this],a=360/t,o=1;o=60&&Math.round(e.h)<=240?n?Math.round(e.h)-Bf*t:Math.round(e.h)+Bf*t:n?Math.round(e.h)+Bf*t:Math.round(e.h)-Bf*t;return r<0?r+=360:r>=360&&(r-=360),r}function Qf(e,t,n){if(e.h===0&&e.s===0)return e.s;var r=n?e.s-Vf*t:t===Kf?e.s+Vf:e.s+Hf*t;return r>1&&(r=1),n&&t===Gf&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2))}function $f(e,t,n){var r=n?e.v+Uf*t:e.v-Wf*t;return r>1&&(r=1),Number(r.toFixed(2))}function ep(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],r=Mf(e),i=Gf;i>0;--i){var a=Jf(r),o=Yf(Mf({h:Zf(a,i,!0),s:Qf(a,i,!0),v:$f(a,i,!0)}));n.push(o)}n.push(Yf(r));for(var s=1;s<=Kf;s+=1){var c=Jf(r),l=Yf(Mf({h:Zf(c,s),s:Qf(c,s),v:$f(c,s)}));n.push(l)}return t.theme===`dark`?qf.map(function(e){var r=e.index,i=e.opacity;return Yf(Xf(Mf(t.backgroundColor||`#141414`),Mf(n[r]),i*100))}):n}var tp={red:`#F5222D`,volcano:`#FA541C`,orange:`#FA8C16`,gold:`#FAAD14`,yellow:`#FADB14`,lime:`#A0D911`,green:`#52C41A`,cyan:`#13C2C2`,blue:`#1890FF`,geekblue:`#2F54EB`,purple:`#722ED1`,magenta:`#EB2F96`,grey:`#666666`},np={},rp={};Object.keys(tp).forEach(function(e){np[e]=ep(tp[e]),np[e].primary=np[e][5],rp[e]=ep(tp[e],{theme:`dark`,backgroundColor:`#141414`}),rp[e].primary=rp[e][5]}),np.red,np.volcano;var ip=np.gold;np.orange,np.yellow,np.lime,np.green,np.cyan;var ap=np.blue;np.geekblue,np.purple,np.magenta,np.grey;var op=e=>{let{controlHeight:t}=e;return{controlHeightSM:t*.75,controlHeightXS:t*.5,controlHeightLG:t*1.25}};function sp(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}var cp={blue:`#1677ff`,purple:`#722ED1`,cyan:`#13C2C2`,green:`#52C41A`,magenta:`#EB2F96`,pink:`#eb2f96`,red:`#F5222D`,orange:`#FA8C16`,yellow:`#FADB14`,volcano:`#FA541C`,geekblue:`#2F54EB`,gold:`#FAAD14`,lime:`#A0D911`},lp=g(g({},cp),{colorPrimary:`#1677ff`,colorSuccess:`#52c41a`,colorWarning:`#faad14`,colorError:`#ff4d4f`,colorInfo:`#1677ff`,colorTextBase:``,colorBgBase:``,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'`,fontSize:14,lineWidth:1,lineType:`solid`,motionUnit:.1,motionBase:0,motionEaseOutCirc:`cubic-bezier(0.08, 0.82, 0.17, 1)`,motionEaseInOutCirc:`cubic-bezier(0.78, 0.14, 0.15, 0.86)`,motionEaseOut:`cubic-bezier(0.215, 0.61, 0.355, 1)`,motionEaseInOut:`cubic-bezier(0.645, 0.045, 0.355, 1)`,motionEaseOutBack:`cubic-bezier(0.12, 0.4, 0.29, 1.46)`,motionEaseInBack:`cubic-bezier(0.71, -0.46, 0.88, 0.6)`,motionEaseInQuint:`cubic-bezier(0.755, 0.05, 0.855, 0.06)`,motionEaseOutQuint:`cubic-bezier(0.23, 1, 0.32, 1)`,borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1});function up(e,t){let{generateColorPalettes:n,generateNeutralColorPalettes:r}=t,{colorSuccess:i,colorWarning:a,colorError:o,colorInfo:s,colorPrimary:c,colorBgBase:l,colorTextBase:u}=e,d=n(c),f=n(i),p=n(a),m=n(o),h=n(s),_=r(l,u);return g(g({},_),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:f[1],colorSuccessBgHover:f[2],colorSuccessBorder:f[3],colorSuccessBorderHover:f[4],colorSuccessHover:f[4],colorSuccess:f[6],colorSuccessActive:f[7],colorSuccessTextHover:f[8],colorSuccessText:f[9],colorSuccessTextActive:f[10],colorErrorBg:m[1],colorErrorBgHover:m[2],colorErrorBorder:m[3],colorErrorBorderHover:m[4],colorErrorHover:m[5],colorError:m[6],colorErrorActive:m[7],colorErrorTextHover:m[8],colorErrorText:m[9],colorErrorTextActive:m[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:h[1],colorInfoBgHover:h[2],colorInfoBorder:h[3],colorInfoBorderHover:h[4],colorInfoHover:h[4],colorInfo:h[6],colorInfoActive:h[7],colorInfoTextHover:h[8],colorInfoText:h[9],colorInfoTextActive:h[10],colorBgMask:new zf(`#000`).setAlpha(.45).toRgbString(),colorWhite:`#fff`})}var dp=e=>{let t=e,n=e,r=e,i=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?i=4:e>=8&&(i=6),{borderRadius:e>16?16:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:i}};function fp(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:i}=e;return g({motionDurationFast:`${(n+t).toFixed(1)}s`,motionDurationMid:`${(n+t*2).toFixed(1)}s`,motionDurationSlow:`${(n+t*3).toFixed(1)}s`,lineWidthBold:i+1},dp(r))}var pp=(e,t)=>new zf(e).setAlpha(t).toRgbString(),mp=(e,t)=>new zf(e).darken(t).toHexString(),hp=e=>{let t=ep(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},gp=(e,t)=>{let n=e||`#fff`,r=t||`#000`;return{colorBgBase:n,colorTextBase:r,colorText:pp(r,.88),colorTextSecondary:pp(r,.65),colorTextTertiary:pp(r,.45),colorTextQuaternary:pp(r,.25),colorFill:pp(r,.15),colorFillSecondary:pp(r,.06),colorFillTertiary:pp(r,.04),colorFillQuaternary:pp(r,.02),colorBgLayout:mp(n,4),colorBgContainer:mp(n,0),colorBgElevated:mp(n,0),colorBgSpotlight:pp(r,.85),colorBorder:mp(n,15),colorBorderSecondary:mp(n,6)}};function _p(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*2.71828**((n-1)/5);return Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)*2});return t[1]=e,t.map(e=>({size:e,lineHeight:(e+8)/e}))}var vp=e=>{let t=_p(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight);return{fontSizeSM:n[0],fontSize:n[1],fontSizeLG:n[2],fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:r[1],lineHeightLG:r[2],lineHeightSM:r[0],lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};function yp(e){let t=Object.keys(cp).map(t=>{let n=ep(e[t]);return Array(10).fill(1).reduce((e,r,i)=>(e[`${t}-${i+1}`]=n[i],e),{})}).reduce((e,t)=>(e=g(g({},e),t),e),{});return g(g(g(g(g(g(g({},e),t),up(e,{generateColorPalettes:hp,generateNeutralColorPalettes:gp})),vp(e.fontSize)),sp(e)),op(e)),fp(e))}function bp(e){return e>=0&&e<=255}function xp(e,t){let{r:n,g:r,b:i,a}=new zf(e).toRgb();if(a<1)return e;let{r:o,g:s,b:c}=new zf(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-o*(1-e))/e),a=Math.round((r-s*(1-e))/e),l=Math.round((i-c*(1-e))/e);if(bp(t)&&bp(a)&&bp(l))return new zf({r:t,g:a,b:l,a:Math.round(e*100)/100}).toRgbString()}return new zf({r:n,g:r,b:i,a:1}).toRgbString()}var Sp=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{delete r[e]});let i=g(g({},n),r),a=1200,o=1600,s=2e3;return g(g(g({},i),{colorLink:i.colorInfoText,colorLinkHover:i.colorInfoHover,colorLinkActive:i.colorInfoActive,colorFillContent:i.colorFillSecondary,colorFillContentHover:i.colorFill,colorFillAlter:i.colorFillQuaternary,colorBgContainerDisabled:i.colorFillTertiary,colorBorderBg:i.colorBgContainer,colorSplit:xp(i.colorBorderSecondary,i.colorBgContainer),colorTextPlaceholder:i.colorTextQuaternary,colorTextDisabled:i.colorTextQuaternary,colorTextHeading:i.colorText,colorTextLabel:i.colorTextSecondary,colorTextDescription:i.colorTextTertiary,colorTextLightSolid:i.colorWhite,colorHighlight:i.colorError,colorBgTextHover:i.colorFillSecondary,colorBgTextActive:i.colorFill,colorIcon:i.colorTextTertiary,colorIconHover:i.colorText,colorErrorOutline:xp(i.colorErrorBg,i.colorBgContainer),colorWarningOutline:xp(i.colorWarningBg,i.colorBgContainer),fontSizeIcon:i.fontSizeSM,lineWidth:i.lineWidth,controlOutlineWidth:i.lineWidth*2,controlInteractiveSize:i.controlHeight/2,controlItemBgHover:i.colorFillTertiary,controlItemBgActive:i.colorPrimaryBg,controlItemBgActiveHover:i.colorPrimaryBgHover,controlItemBgActiveDisabled:i.colorFill,controlTmpOutline:i.colorFillQuaternary,controlOutline:xp(i.colorPrimaryBg,i.colorBgContainer),lineType:i.lineType,borderRadius:i.borderRadius,borderRadiusXS:i.borderRadiusXS,borderRadiusSM:i.borderRadiusSM,borderRadiusLG:i.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:`none`,linkHoverDecoration:`none`,linkFocusDecoration:`none`,controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:i.sizeXXS,paddingXS:i.sizeXS,paddingSM:i.sizeSM,padding:i.size,paddingMD:i.sizeMD,paddingLG:i.sizeLG,paddingXL:i.sizeXL,paddingContentHorizontalLG:i.sizeLG,paddingContentVerticalLG:i.sizeMS,paddingContentHorizontal:i.sizeMS,paddingContentVertical:i.sizeSM,paddingContentHorizontalSM:i.size,paddingContentVerticalSM:i.sizeXS,marginXXS:i.sizeXXS,marginXS:i.sizeXS,marginSM:i.sizeSM,margin:i.size,marginMD:i.sizeMD,marginLG:i.sizeLG,marginXL:i.sizeXL,marginXXL:i.sizeXXL,boxShadow:` @@ -470,4 +470,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `]:{color:e.colorTextDisabled}}}}}},roe=e=>{let{componentCls:t,antCls:n,iconCls:r,fontSize:i,lineHeight:a}=e,o=`${t}-list-item`,s=`${o}-actions`,c=`${o}-action`,l=Math.round(i*a);return{[`${t}-wrapper`]:{[`${t}-list`]:g(g({},Ap()),{lineHeight:e.lineHeight,[o]:{position:`relative`,height:e.lineHeight*i,marginTop:e.marginXS,fontSize:i,display:`flex`,alignItems:`center`,transition:`background-color ${e.motionDurationSlow}`,"&:hover":{backgroundColor:e.controlItemBgHover},[`${o}-name`]:g(g({},Dp),{padding:`0 ${e.paddingXS}px`,lineHeight:a,flex:`auto`,transition:`all ${e.motionDurationSlow}`}),[s]:{[c]:{opacity:0},[`${c}${n}-btn-sm`]:{height:l,border:0,lineHeight:1,"> span":{transform:`scale(1)`}},[` ${c}:focus, &.picture ${c} - `]:{opacity:1},[r]:{color:e.colorTextDescription,transition:`all ${e.motionDurationSlow}`},[`&:hover ${r}`]:{color:e.colorText}},[`${t}-icon ${r}`]:{color:e.colorTextDescription,fontSize:i},[`${o}-progress`]:{position:`absolute`,bottom:-e.uploadProgressOffset,width:`100%`,paddingInlineStart:i+e.paddingXS,fontSize:i,lineHeight:0,pointerEvents:`none`,"> div":{margin:0}}},[`${o}:hover ${c}`]:{opacity:1,color:e.colorText},[`${o}-error`]:{color:e.colorError,[`${o}-name, ${t}-icon ${r}`]:{color:e.colorError},[s]:{[`${r}, ${r}:hover`]:{color:e.colorError},[c]:{opacity:1}}},[`${t}-list-item-container`]:{transition:`opacity ${e.motionDurationSlow}, height ${e.motionDurationSlow}`,"&::before":{display:`table`,width:0,height:0,content:`""`}}})}}},X8=new ef(`uploadAnimateInlineIn`,{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),Z8=new ef(`uploadAnimateInlineOut`,{to:{width:0,height:0,margin:0,padding:0,opacity:0}}),ioe=e=>{let{componentCls:t}=e,n=`${t}-animate-inline`;return[{[`${t}-wrapper`]:{[`${n}-appear, ${n}-enter, ${n}-leave`]:{animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseInOutCirc,animationFillMode:`forwards`},[`${n}-appear, ${n}-enter`]:{animationName:X8},[`${n}-leave`]:{animationName:Z8}}},X8,Z8]},aoe=e=>{let{componentCls:t,iconCls:n,uploadThumbnailSize:r,uploadProgressOffset:i}=e,a=`${t}-list`,o=`${a}-item`;return{[`${t}-wrapper`]:{[`${a}${a}-picture, ${a}${a}-picture-card`]:{[o]:{position:`relative`,height:r+e.lineWidth*2+e.paddingXS*2,padding:e.paddingXS,border:`${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusLG,"&:hover":{background:`transparent`},[`${o}-thumbnail`]:g(g({},Dp),{width:r,height:r,lineHeight:`${r+e.paddingSM}px`,textAlign:`center`,flex:`none`,[n]:{fontSize:e.fontSizeHeading2,color:e.colorPrimary},img:{display:`block`,width:`100%`,height:`100%`,overflow:`hidden`}}),[`${o}-progress`]:{bottom:i,width:`calc(100% - ${e.paddingSM*2}px)`,marginTop:0,paddingInlineStart:r+e.paddingXS}},[`${o}-error`]:{borderColor:e.colorError,[`${o}-thumbnail ${n}`]:{"svg path[fill='#e6f7ff']":{fill:e.colorErrorBg},"svg path[fill='#1890ff']":{fill:e.colorError}}},[`${o}-uploading`]:{borderStyle:`dashed`,[`${o}-name`]:{marginBottom:i}}}}}},ooe=e=>{let{componentCls:t,iconCls:n,fontSizeLG:r,colorTextLightSolid:i}=e,a=`${t}-list`,o=`${a}-item`,s=e.uploadPicCardSize;return{[`${t}-wrapper${t}-picture-card-wrapper`]:g(g({},Ap()),{display:`inline-block`,width:`100%`,[`${t}${t}-select`]:{width:s,height:s,marginInlineEnd:e.marginXS,marginBottom:e.marginXS,textAlign:`center`,verticalAlign:`top`,backgroundColor:e.colorFillAlter,border:`${e.lineWidth}px dashed ${e.colorBorder}`,borderRadius:e.borderRadiusLG,cursor:`pointer`,transition:`border-color ${e.motionDurationSlow}`,[`> ${t}`]:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,textAlign:`center`},[`&:not(${t}-disabled):hover`]:{borderColor:e.colorPrimary}},[`${a}${a}-picture-card`]:{[`${a}-item-container`]:{display:`inline-block`,width:s,height:s,marginBlock:`0 ${e.marginXS}px`,marginInline:`0 ${e.marginXS}px`,verticalAlign:`top`},"&::after":{display:`none`},[o]:{height:`100%`,margin:0,"&::before":{position:`absolute`,zIndex:1,width:`calc(100% - ${e.paddingXS*2}px)`,height:`calc(100% - ${e.paddingXS*2}px)`,backgroundColor:e.colorBgMask,opacity:0,transition:`all ${e.motionDurationSlow}`,content:`" "`}},[`${o}:hover`]:{[`&::before, ${o}-actions`]:{opacity:1}},[`${o}-actions`]:{position:`absolute`,insetInlineStart:0,zIndex:10,width:`100%`,whiteSpace:`nowrap`,textAlign:`center`,opacity:0,transition:`all ${e.motionDurationSlow}`,[`${n}-eye, ${n}-download, ${n}-delete`]:{zIndex:10,width:r,margin:`0 ${e.marginXXS}px`,fontSize:r,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`}},[`${o}-actions, ${o}-actions:hover`]:{[`${n}-eye, ${n}-download, ${n}-delete`]:{color:new zf(i).setAlpha(.65).toRgbString(),"&:hover":{color:i}}},[`${o}-thumbnail, ${o}-thumbnail img`]:{position:`static`,display:`block`,width:`100%`,height:`100%`,objectFit:`contain`},[`${o}-name`]:{display:`none`,textAlign:`center`},[`${o}-file + ${o}-name`]:{position:`absolute`,bottom:e.margin,display:`block`,width:`calc(100% - ${e.paddingXS*2}px)`},[`${o}-uploading`]:{[`&${o}`]:{backgroundColor:e.colorFillAlter},[`&::before, ${n}-eye, ${n}-download, ${n}-delete`]:{display:`none`}},[`${o}-progress`]:{bottom:e.marginXL,width:`calc(100% - ${e.paddingXS*2}px)`,paddingInlineStart:0}}})}},soe=e=>{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},coe=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:g(g({},Op(e)),{[t]:{outline:0,"input[type='file']":{cursor:`pointer`}},[`${t}-select`]:{display:`inline-block`},[`${t}-disabled`]:{color:n,cursor:`not-allowed`}})}},loe=Fp(`Upload`,e=>{let{fontSizeHeading3:t,fontSize:n,lineHeight:r,lineWidth:i,controlHeightLG:a}=e,o=Math.round(n*r),s=Rp(e,{uploadThumbnailSize:t*2,uploadProgressOffset:o/2+i,uploadPicCardSize:a*2.55});return[coe(s),noe(s),aoe(s),ooe(s),roe(s),ioe(s),soe(s),vk(s)]}),uoe=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},doe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);ic.value??d.value),[p,m]=gS(e.defaultFileList||[],{value:vn(e,`fileList`),postState:e=>{let t=Date.now();return(e??[]).map((e,n)=>(!e.uid&&!Object.isFrozen(e)&&(e.uid=`__AUTO__${t}_${n}__`),e))}}),_=B(`drop`),v=B(null);$r(()=>{wh(e.fileList!==void 0||r.value===void 0,`Upload`,"`value` is not a valid prop, do you mean `fileList`?"),wh(e.transformFile===void 0,`Upload`,"`transformFile` is deprecated. Please use `beforeUpload` directly."),wh(e.remove===void 0,`Upload`,"`remove` props is deprecated. Please use `remove` event.")});let y=(t,n,r)=>{var i,o;let s=[...n];e.maxCount===1?s=s.slice(-1):e.maxCount&&(s=s.slice(0,e.maxCount)),m(s);let c={file:t,fileList:s};r&&(c.event=r),(i=e[`onUpdate:fileList`])==null||i.call(e,c.fileList),(o=e.onChange)==null||o.call(e,c),a.onFieldChange()},b=(t,n)=>uoe(this,void 0,void 0,function*(){let{beforeUpload:r,transformFile:i}=e,a=t;if(r){let e=yield r(t,n);if(e===!1)return!1;if(delete t[Q8],e===Q8)return Object.defineProperty(t,Q8,{value:!0,configurable:!0}),!1;typeof e==`object`&&e&&(a=e)}return i&&(a=yield i(a)),a}),x=e=>{let t=e.filter(e=>!e.file[Q8]);if(!t.length)return;let n=t.map(e=>U8(e.file)),r=[...p.value];n.forEach(e=>{r=W8(e,r)}),n.forEach((e,n)=>{let i=e;if(t[n].parsedFile)e.status=`uploading`;else{let{originFileObj:t}=e,n;try{n=new File([t],t.name,{type:t.type})}catch{n=new Blob([t],{type:t.type}),n.name=t.name,n.lastModifiedDate=new Date,n.lastModified=new Date().getTime()}n.uid=e.uid,i=n}y(i,r)})},S=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!G8(t,p.value))return;let r=U8(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n;let i=W8(r,p.value);y(r,i)},C=(e,t)=>{if(!G8(t,p.value))return;let n=U8(t);n.status=`uploading`,n.percent=e.percent;let r=W8(n,p.value);y(n,r,e)},w=(e,t,n)=>{if(!G8(n,p.value))return;let r=U8(n);r.error=e,r.response=t,r.status=`error`;let i=W8(r,p.value);y(r,i)},T=t=>{let n,r=e.onRemove||e.remove;Promise.resolve(typeof r==`function`?r(t):r).then(e=>{var r,i;if(e===!1)return;let a=qae(t,p.value);a&&(n=g(g({},t),{status:`removed`}),(r=p.value)==null||r.forEach(e=>{let t=n.uid===void 0?`name`:`uid`;e[t]===n[t]&&!Object.isFrozen(e)&&(e.status=`removed`)}),(i=v.value)==null||i.abort(n),y(n,a))})},E=t=>{var n;_.value=t.type,t.type===`drop`&&((n=e.onDrop)==null||n.call(e,t))};i({onBatchStart:x,onSuccess:S,onProgress:C,onError:w,fileList:p,upload:v});let[D]=$l(`Upload`,Zl.Upload,G(()=>e.locale)),O=(t,r)=>{let{removeIcon:i,previewIcon:a,downloadIcon:s,previewFile:c,onPreview:l,onDownload:u,isImageUrl:d,progress:m,itemRender:h,iconRender:_,showUploadList:v}=e,{showDownloadIcon:y,showPreviewIcon:b,showRemoveIcon:x}=typeof v==`boolean`?{}:v;return v?W(toe,{prefixCls:o.value,listType:e.listType,items:p.value,previewFile:c,onPreview:l,onDownload:u,onRemove:T,showRemoveIcon:!f.value&&x,showPreviewIcon:b,showDownloadIcon:y,removeIcon:i,previewIcon:a,downloadIcon:s,iconRender:_,locale:D.value,isImageUrl:d,progress:m,itemRender:h,appendActionVisible:r,appendAction:t},g({},n)):t?.()};return()=>{let{listType:t,type:i}=e,{class:c,style:d}=r,m=doe(r,[`class`,`style`]),y=g(g(g({onBatchStart:x,onError:w,onProgress:C,onSuccess:S},m),e),{id:e.id??a.id.value,prefixCls:o.value,beforeUpload:b,onChange:void 0,disabled:f.value});delete y.remove,(!n.default||f.value)&&delete y.id;let T={[`${o.value}-rtl`]:s.value===`rtl`};if(i===`drag`){let e=K(o.value,{[`${o.value}-drag`]:!0,[`${o.value}-drag-uploading`]:p.value.some(e=>e.status===`uploading`),[`${o.value}-drag-hover`]:_.value===`dragover`,[`${o.value}-disabled`]:f.value,[`${o.value}-rtl`]:s.value===`rtl`},r.class,u.value);return l(W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,T,c,u.value)}),[W(`div`,{class:e,onDrop:E,onDragover:E,onDragleave:E,style:r.style},[W(F8,h(h({},y),{},{ref:v,class:`${o.value}-btn`}),h({default:()=>[W(`div`,{class:`${o.value}-drag-container`},[n.default?.call(n)])]},n))]),O()]))}let D=K(o.value,{[`${o.value}-select`]:!0,[`${o.value}-select-${t}`]:!0,[`${o.value}-disabled`]:f.value,[`${o.value}-rtl`]:s.value===`rtl`}),k=Gc(n.default?.call(n)),A=e=>W(`div`,{class:D,style:e},[W(F8,h(h({},y),{},{ref:v}),n)]);return l(t===`picture-card`?W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,`${o.value}-picture-card-wrapper`,T,r.class,u.value)}),[O(A,!!(k&&k.length))]):W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,T,r.class,u.value)}),[A(k&&k.length?void 0:{display:`none`}),O()]))}}}),e5=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{height:t}=e,i=e5(e,[`height`]),{style:a}=r,o=e5(r,[`style`]);return W($8,g(g(g({},i),o),{type:`drag`,style:g(g({},a),{height:typeof t==`number`?`${t}px`:t})}),n)}}}),foe=t5,poe=g($8,{Dragger:t5,LIST_IGNORE:Q8,install(e){return e.component($8.name,$8),e.component(t5.name,t5),e}});function moe(e){return e.replace(/([A-Z])/g,`-$1`).toLowerCase()}function hoe(e){return Object.keys(e).map(t=>`${moe(t)}: ${e[t]};`).join(` `)}function n5(){return window.devicePixelRatio||1}function r5(e,t,n,r){e.translate(t,n),e.rotate(Math.PI/180*Number(r)),e.translate(-t,-n)}var goe=(e,t)=>{let n=!1;return e.removedNodes.length&&(n=Array.from(e.removedNodes).some(e=>e===t)),e.type===`attributes`&&e.target===t&&(n=!0),n},_oe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i2&&arguments[2]!==void 0?arguments[2]:{},{window:r=GP}=n,i=_oe(n,[`window`]),a,o=UP(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=H(()=>VP(e),e=>{s(),o.value&&r&&e&&(a=new MutationObserver(t),a.observe(e,i))},{immediate:!0}),l=()=>{s(),c()};return zP(l),{isSupported:o,stop:l}}var i5=2,a5=3,yoe=_l(U({name:`AWatermark`,inheritAttrs:!1,props:Bc({zIndex:Number,rotate:Number,width:Number,height:Number,image:String,content:Sl([String,Array]),font:q(),rootClassName:String,gap:xl(),offset:xl()},{zIndex:9,rotate:-22,font:{},gap:[100,100]}),setup(e,t){let{slots:n,attrs:r}=t,[,i]=Jp(),a=V(),o=V(),s=V(!1),c=G(()=>e.gap?.[0]??100),l=G(()=>e.gap?.[1]??100),u=G(()=>c.value/2),d=G(()=>l.value/2),f=G(()=>e.offset?.[0]??u.value),p=G(()=>e.offset?.[1]??d.value),m=G(()=>e.font?.fontSize??i.value.fontSizeLG),_=G(()=>e.font?.fontWeight??`normal`),v=G(()=>e.font?.fontStyle??`normal`),y=G(()=>e.font?.fontFamily??`sans-serif`),b=G(()=>e.font?.color??i.value.colorFill),x=G(()=>{let t={zIndex:e.zIndex??9,position:`absolute`,left:0,top:0,width:`100%`,height:`100%`,pointerEvents:`none`,backgroundRepeat:`repeat`},n=f.value-u.value,r=p.value-d.value;return n>0&&(t.left=`${n}px`,t.width=`calc(100% - ${n}px)`,n=0),r>0&&(t.top=`${r}px`,t.height=`calc(100% - ${r}px)`,r=0),t.backgroundPosition=`${n}px ${r}px`,t}),S=()=>{o.value&&=(o.value.remove(),void 0)},C=(e,t)=>{var n;a.value&&o.value&&(s.value=!0,o.value.setAttribute(`style`,hoe(g(g({},x.value),{backgroundImage:`url('${e}')`,backgroundSize:`${(c.value+t)*i5}px`}))),(n=a.value)==null||n.append(o.value),setTimeout(()=>{s.value=!1}))},w=t=>{let n=120,r=64,i=e.content,a=e.image,o=e.width,s=e.height;if(!a&&t.measureText){t.font=`${Number(m.value)}px ${y.value}`;let e=Array.isArray(i)?i:[i],a=e.map(e=>t.measureText(e).width);n=Math.ceil(Math.max(...a)),r=Number(m.value)*e.length+(e.length-1)*a5}return[o??n,s??r]},T=(t,n,r,i,a)=>{let o=n5(),s=e.content,c=Number(m.value)*o;t.font=`${v.value} normal ${_.value} ${c}px/${a}px ${y.value}`,t.fillStyle=b.value,t.textAlign=`center`,t.textBaseline=`top`,t.translate(i/2,0),(Array.isArray(s)?s:[s])?.forEach((e,i)=>{t.fillText(e??``,n,r+i*(c+a5*o))})},E=()=>{let t=document.createElement(`canvas`),n=t.getContext(`2d`),r=e.image,i=e.rotate??-22;if(n){o.value||=document.createElement(`div`);let e=n5(),[a,s]=w(n),u=(c.value+a)*e,d=(l.value+s)*e;t.setAttribute(`width`,`${u*i5}px`),t.setAttribute(`height`,`${d*i5}px`);let f=c.value*e/2,p=l.value*e/2,m=a*e,h=s*e,g=(m+c.value*e)/2,_=(h+l.value*e)/2,v=f+u,y=p+d,b=g+u,x=_+d;if(n.save(),r5(n,g,_,i),r){let e=new Image;e.onload=()=>{n.drawImage(e,f,p,m,h),n.restore(),r5(n,b,x,i),n.drawImage(e,v,y,m,h),C(t.toDataURL(),a)},e.crossOrigin=`anonymous`,e.referrerPolicy=`no-referrer`,e.src=r}else T(n,f,p,m,h),n.restore(),r5(n,b,x,i),T(n,v,y,m,h),C(t.toDataURL(),a)}};return $r(()=>{E()}),H(()=>[e,i.value.colorFill,i.value.fontSizeLG],()=>{E()},{deep:!0,flush:`post`}),ni(()=>{S()}),voe(a,e=>{s.value||e.forEach(e=>{goe(e,o.value)&&(S(),E())})},{attributes:!0,subtree:!0,childList:!0,attributeFilter:[`style`,`class`]}),()=>W(`div`,h(h({},r),{},{ref:a,class:[r.class,e.rootClassName],style:[{position:`relative`},r.style]}),[n.default?.call(n)])}}));function o5(e,t){return{[`${e}, ${e}:hover, ${e}:focus`]:{color:t.colorTextDisabled,cursor:`not-allowed`}}}function s5(e){return{backgroundColor:e.bgColorSelected,boxShadow:e.boxShadow}}var boe=g({overflow:`hidden`},Dp),xoe=e=>{let{componentCls:t}=e;return{[t]:g(g(g(g(g({},Op(e)),{display:`inline-block`,padding:e.segmentedContainerPadding,color:e.labelColor,backgroundColor:e.bgColor,borderRadius:e.borderRadius,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,[`${t}-group`]:{position:`relative`,display:`flex`,alignItems:`stretch`,justifyItems:`flex-start`,width:`100%`},[`&${t}-rtl`]:{direction:`rtl`},[`&${t}-block`]:{display:`flex`},[`&${t}-block ${t}-item`]:{flex:1,minWidth:0},[`${t}-item`]:{position:`relative`,textAlign:`center`,cursor:`pointer`,transition:`color ${e.motionDurationMid} ${e.motionEaseInOut}`,borderRadius:e.borderRadiusSM,"&-selected":g(g({},s5(e)),{color:e.labelColorHover}),"&::after":{content:`""`,position:`absolute`,width:`100%`,height:`100%`,top:0,insetInlineStart:0,borderRadius:`inherit`,transition:`background-color ${e.motionDurationMid}`,pointerEvents:`none`},[`&:hover:not(${t}-item-selected):not(${t}-item-disabled)`]:{color:e.labelColorHover,"&::after":{backgroundColor:e.bgColorHover}},"&-label":g({minHeight:e.controlHeight-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeight-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`},boe),"&-icon + *":{marginInlineStart:e.marginSM/2},"&-input":{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:0,opacity:0,pointerEvents:`none`}},[`${t}-thumb`]:g(g({},s5(e)),{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:`100%`,padding:`${e.paddingXXS}px 0`,borderRadius:e.borderRadiusSM,[`& ~ ${t}-item:not(${t}-item-selected):not(${t}-item-disabled)::after`]:{backgroundColor:`transparent`}}),[`&${t}-lg`]:{borderRadius:e.borderRadiusLG,[`${t}-item-label`]:{minHeight:e.controlHeightLG-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightLG-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`,fontSize:e.fontSizeLG},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadius}},[`&${t}-sm`]:{borderRadius:e.borderRadiusSM,[`${t}-item-label`]:{minHeight:e.controlHeightSM-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightSM-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontalSM}px`},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadiusXS}}}),o5(`&-disabled ${t}-item`,e)),o5(`${t}-item-disabled`,e)),{[`${t}-thumb-motion-appear-active`]:{transition:`transform ${e.motionDurationSlow} ${e.motionEaseInOut}, width ${e.motionDurationSlow} ${e.motionEaseInOut}`,willChange:`transform, width`}})}},Soe=Fp(`Segmented`,e=>{let{lineWidthBold:t,lineWidth:n,colorTextLabel:r,colorText:i,colorFillSecondary:a,colorBgLayout:o,colorBgElevated:s}=e;return[xoe(Rp(e,{segmentedPaddingHorizontal:e.controlPaddingHorizontal-n,segmentedPaddingHorizontalSM:e.controlPaddingHorizontalSM-n,segmentedContainerPadding:t,labelColor:r,labelColorHover:i,bgColor:o,bgColorHover:a,bgColorSelected:s}))]}),c5=e=>e?{left:e.offsetLeft,right:e.parentElement.clientWidth-e.clientWidth-e.offsetLeft,width:e.clientWidth}:null,l5=e=>e===void 0?void 0:`${e}px`,Coe=U({props:{value:yl(),getValueIndex:yl(),prefixCls:yl(),motionName:yl(),onMotionStart:yl(),onMotionEnd:yl(),direction:yl(),containerRef:yl()},emits:[`motionStart`,`motionEnd`],setup(e,t){let{emit:n}=t,r=B(),i=t=>{let n=e.getValueIndex(t),r=e.containerRef.value?.querySelectorAll(`.${e.prefixCls}-item`)[n];return r?.offsetParent&&r},a=B(null),o=B(null);H(()=>e.value,(e,t)=>{let r=i(t),s=i(e),c=c5(r),l=c5(s);a.value=c,o.value=l,n(r&&s?`motionStart`:`motionEnd`)},{flush:`post`});let s=G(()=>e.direction===`rtl`?l5(-a.value?.right):l5(a.value?.left)),c=G(()=>e.direction===`rtl`?l5(-o.value?.right):l5(o.value?.left)),l,u=e=>{clearTimeout(l),zn(()=>{e&&(e.style.transform=`translateX(var(--thumb-start-left))`,e.style.width=`var(--thumb-start-width)`)})},d=t=>{l=setTimeout(()=>{t&&(pM(t,`${e.motionName}-appear-active`),t.style.transform=`translateX(var(--thumb-active-left))`,t.style.width=`var(--thumb-active-width)`)})},f=t=>{a.value=null,o.value=null,t&&(t.style.transform=null,t.style.width=null,mM(t,`${e.motionName}-appear-active`)),n(`motionEnd`)},p=G(()=>({"--thumb-start-left":s.value,"--thumb-start-width":l5(a.value?.width),"--thumb-active-left":c.value,"--thumb-active-width":l5(o.value?.width)}));return ni(()=>{clearTimeout(l)}),()=>{let t={ref:r,style:p.value,class:[`${e.prefixCls}-thumb`]};return W(Uo,{appear:!0,onBeforeEnter:u,onEnter:d,onAfterEnter:f},{default:()=>[!a.value||!o.value?null:W(`div`,t,null)]})}}});function woe(e){return e.map(e=>typeof e==`object`&&e?e:{label:e?.toString(),title:e?.toString(),value:e})}var Toe=()=>({prefixCls:String,options:xl(),block:J(),disabled:J(),size:X(),value:g(g({},Sl([String,Number])),{required:!0}),motionName:String,onChange:Y(),"onUpdate:value":Y()}),u5=(e,t)=>{let{slots:n,emit:r}=t,{value:i,disabled:a,payload:o,title:s,prefixCls:c,label:l=n.label,checked:u,className:d}=e,f=e=>{a||r(`change`,e,i)};return W(`label`,{class:K({[`${c}-item-disabled`]:a},d)},[W(`input`,{class:`${c}-item-input`,type:`radio`,disabled:a,checked:u,onChange:f},null),W(`div`,{class:`${c}-item-label`,title:typeof s==`string`?s:``},[typeof l==`function`?l({value:i,disabled:a,payload:o,title:s}):l??i])])};u5.inheritAttrs=!1;var Eoe=_l(U({name:`ASegmented`,inheritAttrs:!1,props:Bc(Toe(),{options:[],motionName:`thumb-motion`}),slots:Object,setup(e,t){let{emit:n,slots:r,attrs:i}=t,{prefixCls:a,direction:o,size:s}=Z(`segmented`,e),[c,l]=Soe(a),u=V(),d=V(!1),f=G(()=>woe(e.options)),p=(t,r)=>{e.disabled||(n(`update:value`,r),n(`change`,r))};return()=>{let t=a.value;return c(W(`div`,h(h({},i),{},{class:K(t,{[l.value]:!0,[`${t}-block`]:e.block,[`${t}-disabled`]:e.disabled,[`${t}-lg`]:s.value==`large`,[`${t}-sm`]:s.value==`small`,[`${t}-rtl`]:o.value===`rtl`},i.class),ref:u}),[W(`div`,{class:`${t}-group`},[W(Coe,{containerRef:u,prefixCls:t,value:e.value,motionName:`${t}-${e.motionName}`,direction:o.value,getValueIndex:e=>f.value.findIndex(t=>t.value===e),onMotionStart:()=>{d.value=!0},onMotionEnd:()=>{d.value=!1}},null),f.value.map(n=>W(u5,h(h({key:n.value,prefixCls:t,checked:n.value===e.value,onChange:p},n),{},{className:K(n.className,`${t}-item`,{[`${t}-item-selected`]:n.value===e.value&&!d.value}),disabled:!!e.disabled||!!n.disabled}),r))])]))}}})),Doe=e=>{let{componentCls:t}=e;return{[t]:g(g({},Op(e)),{display:`flex`,justifyContent:`center`,alignItems:`center`,padding:e.paddingSM,backgroundColor:e.colorWhite,borderRadius:e.borderRadiusLG,border:`${e.lineWidth}px ${e.lineType} ${e.colorSplit}`,position:`relative`,width:`100%`,height:`100%`,overflow:`hidden`,[`& > ${t}-mask`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,zIndex:10,display:`flex`,flexDirection:`column`,justifyContent:`center`,alignItems:`center`,width:`100%`,height:`100%`,color:e.colorText,lineHeight:e.lineHeight,background:e.QRCodeMaskBackgroundColor,textAlign:`center`,[`& > ${t}-expired , & > ${t}-scanned`]:{color:e.QRCodeTextColor}},"&-icon":{marginBlockEnd:e.marginXS,fontSize:e.controlHeight}}),[`${t}-borderless`]:{borderColor:`transparent`}}},Ooe=Fp(`QRCode`,e=>Doe(Rp(e,{QRCodeTextColor:`rgba(0, 0, 0, 0.88)`,QRCodeMaskBackgroundColor:`rgba(255, 255, 255, 0.96)`}))),koe={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z`}}]},name:`reload`,theme:`outlined`};function d5(e){for(var t=1;t({size:{type:Number,default:160},value:{type:String,required:!0},type:X(`canvas`),color:String,bgColor:String,includeMargin:Boolean,imageSettings:q()}),joe=()=>g(g({},p5()),{errorLevel:X(`M`),icon:String,iconSize:{type:Number,default:40},status:X(`active`),bordered:{type:Boolean,default:!0}}),m5;(function(e){class t{static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:40,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1,l=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;if(!(t.MIN_VERSION<=o&&o<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=o;;u++){let n=t.getNumDataCodewords(u,r)*8,i=a.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.lengthm[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e>>9)*1335;let a=(t<<10|n)^21522;i(!(a>>>15));for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(!(t>>>18));for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;ne+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.lengtht.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(!(n>>>8)),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}}t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return!!(e>>>t&1)}function i(e){if(!e)throw Error(`Assertion error`)}class a{static makeBytes(e){let t=[];for(let r of e)n(r,8,t);return new a(a.Mode.BYTE,e.length,t)}static makeNumeric(e){if(!a.isNumeric(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let r=0;r=1<1&&arguments[1]!==void 0?arguments[1]:0,n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null)n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;else if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`)}else a&&i===null&&(i=o)})}),n.join(``)}function C5(e,t){return e.slice().map((e,n)=>n=t.y+t.h?e:e.map((e,n)=>n=t.x+t.w?e:!1))}function w5(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Poe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);d={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}return{x:l,y:u,h:c,w:s,excavation:d}}function T5(e,t){return t==null?e?Moe:Noe:Math.floor(t)}var Foe=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Ioe=U({name:`QRCodeCanvas`,inheritAttrs:!1,props:g(g({},p5()),{level:String,bgColor:String,fgColor:String,marginSize:Number}),setup(e,t){let{attrs:n,expose:r}=t,i=G(()=>e.imageSettings?.src),a=V(null),o=V(null),s=V(!1);return r({toDataURL:(e,t)=>a.value?.toDataURL(e,t)}),ar(()=>{let{value:t,size:n=_5,level:r=v5,bgColor:i=y5,fgColor:c=b5,includeMargin:l=x5,marginSize:u,imageSettings:d}=e;if(a.value!=null){let e=a.value,f=e.getContext(`2d`);if(!f)return;let p=h5.QrCode.encodeText(t,g5[r]).getModules(),m=T5(l,u),h=p.length+m*2,g=w5(p,n,m,d),_=o.value,v=s.value&&g!=null&&_!==null&&_.complete&&_.naturalHeight!==0&&_.naturalWidth!==0;v&&g.excavation!=null&&(p=C5(p,g.excavation));let y=window.devicePixelRatio||1;e.height=e.width=n*y;let b=n/h*y;f.scale(b,b),f.fillStyle=i,f.fillRect(0,0,h,h),f.fillStyle=c,Foe?f.fill(new Path2D(S5(p,m))):p.forEach(function(e,t){e.forEach(function(e,n){e&&f.fillRect(n+m,t+m,1,1)})}),v&&f.drawImage(_,g.x+m,g.y+m,g.w,g.h)}},{flush:`post`}),H(i,()=>{s.value=!1}),()=>{let t=e.size??_5,r={height:`${t}px`,width:`${t}px`},c=null;return i.value!=null&&(c=W(`img`,{src:i.value,key:i.value,style:{display:`none`},onLoad:()=>{s.value=!0},ref:o},null)),W(Ma,null,[W(`canvas`,h(h({},n),{},{style:[r,n.style],ref:a}),null),c])}}}),Loe=U({name:`QRCodeSVG`,inheritAttrs:!1,props:g(g({},p5()),{color:String,level:String,bgColor:String,fgColor:String,marginSize:Number,title:String}),setup(e){let t=null,n=null,r=null,i=null,a=null,o=null;return ar(()=>{let{value:s,size:c=_5,level:l=v5,includeMargin:u=x5,marginSize:d,imageSettings:f}=e;t=h5.QrCode.encodeText(s,g5[l]).getModules(),n=T5(u,d),r=t.length+n*2,i=w5(t,c,n,f),f!=null&&i!=null&&(i.excavation!=null&&(t=C5(t,i.excavation)),o=W(`image`,{"xlink:href":f.src,height:i.h,width:i.w,x:i.x+n,y:i.y+n,preserveAspectRatio:`none`},null)),a=S5(t,n)}),()=>{let t=e.bgColor&&y5,n=e.fgColor&&b5;return W(`svg`,{height:e.size,width:e.size,viewBox:`0 0 ${r} ${r}`},[!!e.title&&W(`title`,null,[e.title]),W(`path`,{fill:t,d:`M0,0 h${r}v${r}H0z`,"shape-rendering":`crispEdges`},null),W(`path`,{fill:n,d:a,"shape-rendering":`crispEdges`},null),o])}}}),Roe=_l(U({name:`AQrcode`,inheritAttrs:!1,props:joe(),emits:[`refresh`],setup(e,t){let{emit:n,attrs:r,expose:i}=t,[a]=$l(`QRCode`),{prefixCls:o}=Z(`qrcode`,e),[s,c]=Ooe(o),[,l]=Jp(),u=B();i({toDataURL:(e,t)=>u.value?.toDataURL(e,t)});let d=G(()=>{let{value:t,icon:n=``,size:r=160,iconSize:i=40,color:a=l.value.colorText,bgColor:o=`transparent`,errorLevel:s=`M`}=e,c={src:n,x:void 0,y:void 0,height:i,width:i,excavate:!0};return{value:t,size:r-(l.value.paddingSM+l.value.lineWidth)*2,level:s,bgColor:o,fgColor:a,imageSettings:n?c:void 0}});return()=>{let t=o.value;return s(W(`div`,h(h({},r),{},{style:[r.style,{width:`${e.size}px`,height:`${e.size}px`,backgroundColor:d.value.bgColor}],class:[c.value,t,{[`${t}-borderless`]:!e.bordered}]}),[e.status!==`active`&&W(`div`,{class:`${t}-mask`},[e.status===`loading`&&W(EX,null,null),e.status===`expired`&&W(Ma,null,[W(`p`,{class:`${t}-expired`},[a.value.expired]),W(Oj,{type:`link`,onClick:e=>n(`refresh`,e)},{default:()=>[a.value.refresh],icon:()=>W(f5,null,null)})]),e.status===`scanned`&&W(`p`,{class:`${t}-scanned`},[a.value.scanned])]),e.type===`canvas`?W(Ioe,h({ref:u},d.value),null):W(Loe,d.value,null)]))}}}));function zoe(e){let t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:r,right:i,bottom:a,left:o}=e.getBoundingClientRect();return r>=0&&o>=0&&i<=t&&a<=n}function Boe(e,t,n,r){let[i,a]=_S(void 0);ar(()=>{let t=typeof e.value==`function`?e.value():e.value;a(t||null)},{flush:`post`});let[o,s]=_S(null),c=()=>{if(!t.value)s(null);else if(i.value){!zoe(i.value)&&t.value&&i.value.scrollIntoView(r.value);let{left:e,top:n,width:a,height:c}=i.value.getBoundingClientRect(),l={left:e,top:n,width:a,height:c,radius:0};JSON.stringify(o.value)!==JSON.stringify(l)&&s(l)}else s(null)};return $r(()=>{H([t,i],()=>{c()},{flush:`post`,immediate:!0}),window.addEventListener(`resize`,c)}),ni(()=>{window.removeEventListener(`resize`,c)}),[G(()=>{if(!o.value)return o.value;let e=n.value?.offset||6,t=n.value?.radius||2;return{left:o.value.left-e,top:o.value.top-e,width:o.value.width+e*2,height:o.value.height+e*2,radius:t}}),i]}var Voe=()=>({arrow:Sl([Boolean,Object]),target:Sl([String,Function,Object]),title:Sl([String,Object]),description:Sl([String,Object]),placement:X(),mask:Sl([Object,Boolean],!0),className:{type:String},style:q(),scrollIntoViewOptions:Sl([Boolean,Object])}),E5=()=>g(g({},Voe()),{prefixCls:{type:String},total:{type:Number},current:{type:Number},onClose:Y(),onFinish:Y(),renderPanel:Y(),onPrev:Y(),onNext:Y()}),Hoe=U({name:`DefaultPanel`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{prefixCls:t,current:r,total:i,title:a,description:o,onClose:s,onPrev:c,onNext:l,onFinish:u}=e;return W(`div`,h(h({},n),{},{class:K(`${t}-content`,n.class)}),[W(`div`,{class:`${t}-inner`},[W(`button`,{type:`button`,onClick:s,"aria-label":`Close`,class:`${t}-close`},[W(`span`,{class:`${t}-close-x`},[Qa(`×`)])]),W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[a])]),W(`div`,{class:`${t}-description`},[o]),W(`div`,{class:`${t}-footer`},[W(`div`,{class:`${t}-sliders`},[i>1?[...Array.from({length:i}).keys()].map((e,t)=>W(`span`,{key:e,class:t===r?`active`:``},null)):null]),W(`div`,{class:`${t}-buttons`},[r===0?null:W(`button`,{class:`${t}-prev-btn`,onClick:c},[Qa(`Prev`)]),r===i-1?W(`button`,{class:`${t}-finish-btn`,onClick:u},[Qa(`Finish`)]):W(`button`,{class:`${t}-next-btn`,onClick:l},[Qa(`Next`)])])])])])}}}),Uoe=U({name:`TourStep`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{current:t,renderPanel:r}=e;return W(Ma,null,[typeof r==`function`?r(g(g({},n),e),t):W(Hoe,h(h({},n),e),null)])}}}),D5=0,Woe=hu();function Goe(){let e;return Woe?(e=D5,D5+=1):e=`TEST_OR_SSR`,e}function Koe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:B(``),t=`vc_unique_${Goe()}`;return e.value||t}var O5={fill:`transparent`,"pointer-events":`auto`},qoe=U({name:`TourMask`,props:{prefixCls:{type:String},pos:q(),rootClassName:{type:String},showMask:J(),fill:{type:String,default:`rgba(0,0,0,0.5)`},open:J(),animated:Sl([Boolean,Object]),zIndex:{type:Number}},setup(e,t){let{attrs:n}=t,r=Koe();return()=>{let{prefixCls:t,open:i,rootClassName:a,pos:o,showMask:s,fill:c,animated:l,zIndex:u}=e,d=`${t}-mask-${r}`,f=typeof l==`object`?l?.placeholder:l;return W(Eb,{visible:i,autoLock:!0},{default:()=>i&&W(`div`,h(h({},n),{},{class:K(`${t}-mask`,a,n.class),style:[{position:`fixed`,left:0,right:0,top:0,bottom:0,zIndex:u,pointerEvents:`none`},n.style]}),[s?W(`svg`,{style:{width:`100%`,height:`100%`}},[W(`defs`,null,[W(`mask`,{id:d},[W(`rect`,{x:`0`,y:`0`,width:`100vw`,height:`100vh`,fill:`white`},null),o&&W(`rect`,{x:o.left,y:o.top,rx:o.radius,width:o.width,height:o.height,fill:`black`,class:f?`${t}-placeholder-animated`:``},null)])]),W(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:c,mask:`url(#${d})`},null),o&&W(Ma,null,[W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:`100%`,height:o.top}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:o.left,height:`100%`}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:o.top+o.height,width:`100%`,height:`calc(100vh - ${o.top+o.height}px)`}),null),W(`rect`,h(h({},O5),{},{x:o.left+o.width,y:`0`,width:`calc(100vw - ${o.left+o.width}px)`,height:`100%`}),null)])]):null])})}}}),Joe=[0,0],k5={left:{points:[`cr`,`cl`],offset:[-8,0]},right:{points:[`cl`,`cr`],offset:[8,0]},top:{points:[`bc`,`tc`],offset:[0,-8]},bottom:{points:[`tc`,`bc`],offset:[0,8]},topLeft:{points:[`bl`,`tl`],offset:[0,-8]},leftTop:{points:[`tr`,`tl`],offset:[-8,0]},topRight:{points:[`br`,`tr`],offset:[0,-8]},rightTop:{points:[`tl`,`tr`],offset:[8,0]},bottomRight:{points:[`tr`,`br`],offset:[0,8]},rightBottom:{points:[`bl`,`br`],offset:[8,0]},bottomLeft:{points:[`tl`,`bl`],offset:[0,8]},leftBottom:{points:[`br`,`bl`],offset:[-8,0]}};function A5(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t={};return Object.keys(k5).forEach(n=>{t[n]=g(g({},k5[n]),{autoArrow:e,targetOffset:Joe})}),t}A5();var Yoe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{builtinPlacements:e,popupAlign:t}=Rh();return{builtinPlacements:e,popupAlign:t,steps:xl(),open:J(),defaultCurrent:{type:Number},current:{type:Number},onChange:Y(),onClose:Y(),onFinish:Y(),mask:Sl([Boolean,Object],!0),arrow:Sl([Boolean,Object],!0),rootClassName:{type:String},placement:X(`bottom`),prefixCls:{type:String,default:`rc-tour`},renderPanel:Y(),gap:q(),animated:Sl([Boolean,Object]),scrollIntoViewOptions:Sl([Boolean,Object],!0),zIndex:{type:Number,default:1001}}},Xoe=U({name:`Tour`,inheritAttrs:!1,props:Bc(M5(),{}),setup(e){let{defaultCurrent:t,placement:n,mask:r,scrollIntoViewOptions:i,open:a,gap:o,arrow:s}=hn(e),c=B(),[l,u]=gS(0,{value:G(()=>e.current),defaultValue:t.value}),[d,f]=gS(void 0,{value:G(()=>e.open),postState:t=>l.value<0||l.value>=e.steps.length?!1:t??!0}),p=V(d.value);ar(()=>{d.value&&!p.value&&u(0),p.value=d.value});let m=G(()=>e.steps[l.value]||{}),_=G(()=>m.value.placement??n.value),v=G(()=>d.value&&(m.value.mask??r.value)),y=G(()=>m.value.scrollIntoViewOptions??i.value),[b,x]=Boe(G(()=>m.value.target),a,o,y),S=G(()=>x.value?m.value.arrow===void 0?s.value:m.value.arrow:!1),C=G(()=>typeof S.value==`object`&&S.value.pointAtCenter);H(C,()=>{var e;(e=c.value)==null||e.forcePopupAlign()}),H(l,()=>{var e;(e=c.value)==null||e.forcePopupAlign()});let w=t=>{var n;u(t),(n=e.onChange)==null||n.call(e,t)};return()=>{let{prefixCls:t,steps:n,onClose:r,onFinish:i,rootClassName:a,renderPanel:o,animated:s,zIndex:u}=e,p=Yoe(e,[`prefixCls`,`steps`,`onClose`,`onFinish`,`rootClassName`,`renderPanel`,`animated`,`zIndex`]);if(x.value===void 0)return null;let y=()=>{f(!1),r?.(l.value)},T=typeof v.value==`boolean`?v.value:!!v.value,E=typeof v.value==`boolean`?void 0:v.value,D=()=>x.value||document.body,O=()=>W(Uoe,h({arrow:S.value,key:`content`,prefixCls:t,total:n.length,renderPanel:o,onPrev:()=>{w(l.value-1)},onNext:()=>{w(l.value+1)},onClose:y,current:l.value,onFinish:()=>{y(),i?.()}},m.value),null),k=G(()=>{let e=b.value||j5,t={};return Object.keys(e).forEach(n=>{typeof e[n]==`number`?t[n]=`${e[n]}px`:t[n]=e[n]}),t});return d.value?W(Ma,null,[W(qoe,{zIndex:u,prefixCls:t,pos:b.value,showMask:T,style:E?.style,fill:E?.color,open:d.value,animated:s,rootClassName:a},null),W(Ob,h(h({},p),{},{arrow:!!p.arrow,builtinPlacements:m.value.target?p.builtinPlacements??A5(C.value):void 0,ref:c,popupStyle:m.value.target?m.value.style:g(g({},m.value.style),{position:`fixed`,left:j5.left,top:j5.top,transform:`translate(-50%, -50%)`}),popupPlacement:_.value,popupVisible:d.value,popupClassName:K(a,m.value.className),prefixCls:t,popup:O,forceRender:!1,destroyPopupOnHide:!0,zIndex:u,mask:!1,getTriggerDOMNode:D}),{default:()=>[W(Eb,{visible:d.value,autoLock:!0},{default:()=>[W(`div`,{class:K(a,`${t}-target-placeholder`),style:g(g({},k.value),{position:`fixed`,pointerEvents:`none`})},null)]})]})]):null}}}),Zoe=()=>g(g({},M5()),{steps:{type:Array},prefixCls:{type:String},current:{type:Number},type:{type:String},"onUpdate:current":Function}),Qoe=U({name:`ATourPanel`,inheritAttrs:!1,props:g(g({},E5()),{cover:{type:Object},nextButtonProps:{type:Object},prevButtonProps:{type:Object},current:{type:Number},type:{type:String}}),setup(e,t){let{attrs:n,slots:r}=t,{current:i,total:a}=hn(e),o=G(()=>i.value===a.value-1),s=t=>{var n;let r=e.prevButtonProps;(n=e.onPrev)==null||n.call(e,t),typeof r?.onClick==`function`&&r?.onClick()},c=t=>{var n,r;let i=e.nextButtonProps;o.value?(n=e.onFinish)==null||n.call(e,t):(r=e.onNext)==null||r.call(e,t),typeof i?.onClick==`function`&&i?.onClick()};return()=>{let{prefixCls:t,title:l,onClose:u,cover:d,description:f,type:p,arrow:m}=e,g=e.prevButtonProps,_=e.nextButtonProps,v;l&&(v=W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[l])]));let y;f&&(y=W(`div`,{class:`${t}-description`},[f]));let b;d&&(b=W(`div`,{class:`${t}-cover`},[d]));let x;x=r.indicatorsRender?r.indicatorsRender({current:i.value,total:a}):[...Array.from({length:a.value}).keys()].map((e,n)=>W(`span`,{key:e,class:K(n===i.value&&`${t}-indicator-active`,`${t}-indicator`)},null));let S=p===`primary`?`default`:`primary`,C={type:`default`,ghost:p===`primary`};return W(Ql,{componentName:`Tour`,defaultLocale:Zl.Tour},{default:e=>W(`div`,h(h({},n),{},{class:K(p===`primary`?`${t}-primary`:``,n.class,`${t}-content`)}),[m&&W(`div`,{class:`${t}-arrow`,key:`arrow`},null),W(`div`,{class:`${t}-inner`},[W(UC,{class:`${t}-close`,onClick:u},null),b,v,y,W(`div`,{class:`${t}-footer`},[a.value>1&&W(`div`,{class:`${t}-indicators`},[x]),W(`div`,{class:`${t}-buttons`},[i.value===0?null:W(Oj,h(h(h({},C),g),{},{onClick:s,size:`small`,class:K(`${t}-prev-btn`,g?.className)}),{default:()=>[ic(g?.children)?g.children():g?.children??e.Previous]}),W(Oj,h(h({type:S},_),{},{onClick:c,size:`small`,class:K(`${t}-next-btn`,_?.className)}),{default:()=>[ic(_?.children)?_?.children():o.value?e.Finish:e.Next]})])])])])})}}}),$oe=e=>{let{defaultType:t,steps:n,current:r,defaultCurrent:i}=e,a=B(i?.value);H(G(()=>r?.value),e=>{a.value=e??i?.value},{immediate:!0});let o=e=>{a.value=e},s=G(()=>typeof a.value==`number`?n&&n.value?.[a.value]?.type:t?.value);return{currentMergedType:G(()=>s.value??t?.value),updateInnerCurrent:o}},ese=e=>{let{componentCls:t,lineHeight:n,padding:r,paddingXS:i,borderRadius:a,borderRadiusXS:o,colorPrimary:s,colorText:c,colorFill:l,indicatorHeight:u,indicatorWidth:d,boxShadowTertiary:f,tourZIndexPopup:p,fontSize:m,colorBgContainer:h,fontWeightStrong:_,marginXS:v,colorTextLightSolid:y,tourBorderRadius:b,colorWhite:x,colorBgTextHover:S,tourCloseSize:C,motionDurationSlow:w,antCls:T}=e;return[{[t]:g(g({},Op(e)),{color:c,position:`absolute`,zIndex:p,display:`block`,visibility:`visible`,fontSize:m,lineHeight:n,width:520,"--antd-arrow-background-color":h,"&-pure":{maxWidth:`100%`,position:`relative`},[`&${t}-hidden`]:{display:`none`},[`${t}-content`]:{position:`relative`},[`${t}-inner`]:{textAlign:`start`,textDecoration:`none`,borderRadius:b,boxShadow:f,position:`relative`,backgroundColor:h,border:`none`,backgroundClip:`padding-box`,[`${t}-close`]:{position:`absolute`,top:r,insetInlineEnd:r,color:e.colorIcon,outline:`none`,width:C,height:C,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:`flex`,alignItems:`center`,justifyContent:`center`,"&:hover":{color:e.colorIconHover,backgroundColor:e.wireframe?`transparent`:e.colorFillContent}},[`${t}-cover`]:{textAlign:`center`,padding:`${r+C+i}px ${r}px 0`,img:{width:`100%`}},[`${t}-header`]:{padding:`${r}px ${r}px ${i}px`,[`${t}-title`]:{lineHeight:n,fontSize:m,fontWeight:_}},[`${t}-description`]:{padding:`0 ${r}px`,lineHeight:n,wordWrap:`break-word`},[`${t}-footer`]:{padding:`${i}px ${r}px ${r}px`,textAlign:`end`,borderRadius:`0 0 ${o}px ${o}px`,display:`flex`,[`${t}-indicators`]:{display:`inline-block`,[`${t}-indicator`]:{width:d,height:u,display:`inline-block`,borderRadius:`50%`,background:l,"&:not(:last-child)":{marginInlineEnd:u},"&-active":{background:s}}},[`${t}-buttons`]:{marginInlineStart:`auto`,[`${T}-btn`]:{marginInlineStart:v}}}},[`${t}-primary, &${t}-primary`]:{"--antd-arrow-background-color":s,[`${t}-inner`]:{color:y,textAlign:`start`,textDecoration:`none`,backgroundColor:s,borderRadius:a,boxShadow:f,[`${t}-close`]:{color:y},[`${t}-indicators`]:{[`${t}-indicator`]:{background:new zf(y).setAlpha(.15).toRgbString(),"&-active":{background:y}}},[`${t}-prev-btn`]:{color:y,borderColor:new zf(y).setAlpha(.15).toRgbString(),backgroundColor:s,"&:hover":{backgroundColor:new zf(y).setAlpha(.15).toRgbString(),borderColor:`transparent`}},[`${t}-next-btn`]:{color:s,borderColor:`transparent`,background:x,"&:hover":{background:new zf(S).onBackground(x).toRgbString()}}}}}),[`${t}-mask`]:{[`${t}-placeholder-animated`]:{transition:`all ${w}`}},[[`&-placement-left`,`&-placement-leftTop`,`&-placement-leftBottom`,`&-placement-right`,`&-placement-rightTop`,`&-placement-rightBottom`].join(`,`)]:{[`${t}-inner`]:{borderRadius:Math.min(b,8)}}},UA(e,{colorBg:`var(--antd-arrow-background-color)`,contentRadius:b,limitVerticalRadius:!0})]},tse=Fp(`Tour`,e=>{let{borderRadiusLG:t,fontSize:n,lineHeight:r}=e;return[ese(Rp(e,{tourZIndexPopup:e.zIndexPopupBase+70,indicatorWidth:6,indicatorHeight:6,tourBorderRadius:t,tourCloseSize:n*r}))]}),nse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{steps:t,current:a,type:o,rootClassName:s}=e,c=nse(e,[`steps`,`current`,`type`,`rootClassName`]),g=K({[`${l.value}-primary`]:p.value===`primary`,[`${l.value}-rtl`]:u.value===`rtl`},f.value,s),_=(e,t)=>W(Qoe,h(h({},e),{},{type:o,current:t}),{indicatorsRender:i.indicatorsRender}),v=e=>{m(e),r(`update:current`,e),r(`change`,e)},y=G(()=>RA({arrowPointAtCenter:!0,autoAdjustOverflow:!0}));return d(W(Xoe,h(h(h({},n),c),{},{rootClassName:g,prefixCls:l.value,current:a,defaultCurrent:e.defaultCurrent,animated:!0,renderPanel:_,onChange:v,steps:t,builtinPlacements:y.value}),null))}}})),N5=Symbol(`appConfigContext`),ise=e=>er(N5,e),ase=()=>tr(N5,{}),P5=Symbol(`appContext`),ose=e=>er(P5,e),sse=Yt({message:{},notification:{},modal:{}}),cse=()=>tr(P5,sse),lse=e=>{let{componentCls:t,colorText:n,fontSize:r,lineHeight:i,fontFamily:a}=e;return{[t]:{color:n,fontSize:r,lineHeight:i,fontFamily:a}}},use=Fp(`App`,e=>[lse(e)]),dse=()=>({rootClassName:String,message:q(),notification:q()}),fse=()=>cse(),F5=U({name:`AApp`,props:Bc(dse(),{}),setup(e,t){let{slots:n}=t,{prefixCls:r}=Z(`app`,e),[i,a]=use(r),o=G(()=>K(a.value,r.value,e.rootClassName)),s=ase(),c=G(()=>({message:g(g({},s.message),e.message),notification:g(g({},s.notification),e.notification)}));ise(c.value);let[l,u]=$U(c.value.message),[d,f]=MW(c.value.notification),[p,m]=cQ();return ose(G(()=>({message:l,notification:d,modal:p})).value),()=>i(W(`div`,{class:o.value},[m(),u(),f(),n.default?.call(n)]))}});F5.useApp=fse,F5.install=function(e){e.component(F5.name,F5)};var I5=[`wrap`,`nowrap`,`wrap-reverse`],L5=[`flex-start`,`flex-end`,`start`,`end`,`center`,`space-between`,`space-around`,`space-evenly`,`stretch`,`normal`,`left`,`right`],R5=[`center`,`start`,`end`,`flex-start`,`flex-end`,`self-start`,`self-end`,`baseline`,`normal`,`stretch`],pse=(e,t)=>{let n={};return I5.forEach(r=>{n[`${e}-wrap-${r}`]=t.wrap===r}),n},mse=(e,t)=>{let n={};return R5.forEach(r=>{n[`${e}-align-${r}`]=t.align===r}),n[`${e}-align-stretch`]=!t.align&&!!t.vertical,n},hse=(e,t)=>{let n={};return L5.forEach(r=>{n[`${e}-justify-${r}`]=t.justify===r}),n};function gse(e,t){return K(g(g(g({},pse(e,t)),mse(e,t)),hse(e,t)))}var _se=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,"&-vertical":{flexDirection:`column`},"&-rtl":{direction:`rtl`},"&:empty":{display:`none`}}}},vse=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-small":{gap:e.flexGapSM},"&-gap-middle":{gap:e.flexGap},"&-gap-large":{gap:e.flexGapLG}}}},yse=e=>{let{componentCls:t}=e,n={};return I5.forEach(e=>{n[`${t}-wrap-${e}`]={flexWrap:e}}),n},bse=e=>{let{componentCls:t}=e,n={};return R5.forEach(e=>{n[`${t}-align-${e}`]={alignItems:e}}),n},xse=e=>{let{componentCls:t}=e,n={};return L5.forEach(e=>{n[`${t}-justify-${e}`]={justifyContent:e}}),n},Sse=Fp(`Flex`,e=>{let t=Rp(e,{flexGapSM:e.paddingXS,flexGap:e.padding,flexGapLG:e.paddingLG});return[_se(t),vse(t),yse(t),bse(t),xse(t)]});function z5(e){return[`small`,`middle`,`large`].includes(e)}var Cse=()=>({prefixCls:X(),vertical:J(),wrap:X(),justify:X(),align:X(),flex:Sl([Number,String]),gap:Sl([Number,String]),component:yl()}),wse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i[o.value,c.value,gse(o.value,e),{[`${o.value}-rtl`]:a.value===`rtl`,[`${o.value}-gap-${e.gap}`]:z5(e.gap),[`${o.value}-vertical`]:e.vertical??i?.value.vertical}]);return()=>{let{flex:t,gap:i,component:a=`div`}=e,o=wse(e,[`flex`,`gap`,`component`]),c={};return t&&(c.flex=t),i&&!z5(i)&&(c.gap=`${i}px`),s(W(a,h({class:[r.class,l.value],style:[r.style,c]},sm(o,[`justify`,`wrap`,`align`,`vertical`])),{default:()=>[n.default?.call(n)]}))}}})),B5=s({Affix:()=>fm,Alert:()=>vne,Anchor:()=>kh,AnchorLink:()=>Nm,App:()=>F5,AutoComplete:()=>Jk,AutoCompleteOptGroup:()=>Kk,AutoCompleteOption:()=>Gk,Avatar:()=>YA,AvatarGroup:()=>JA,BackTop:()=>rq,Badge:()=>tj,BadgeRibbon:()=>QA,Breadcrumb:()=>AM,BreadcrumbItem:()=>Vj,BreadcrumbSeparator:()=>kM,Button:()=>Oj,ButtonGroup:()=>Cj,Calendar:()=>QF,Card:()=>jL,CardGrid:()=>AL,CardMeta:()=>kL,Carousel:()=>YR,Cascader:()=>oU,CheckableTag:()=>pG,Checkbox:()=>hU,CheckboxGroup:()=>mU,Col:()=>_U,Collapse:()=>UL,CollapsePanel:()=>HL,Comment:()=>bU,Compact:()=>NO,ConfigProvider:()=>sG,DatePicker:()=>YG,Descriptions:()=>lK,DescriptionsItem:()=>nK,DirectoryTree:()=>L3,Divider:()=>fK,Drawer:()=>jK,Dropdown:()=>pK,DropdownButton:()=>Pj,Empty:()=>tm,Flex:()=>Tse,FloatButton:()=>iq,FloatButtonGroup:()=>QK,Form:()=>JH,FormItem:()=>zH,FormItemRest:()=>ow,Grid:()=>gU,Image:()=>uY,ImagePreviewGroup:()=>lY,Input:()=>$q,InputGroup:()=>xq,InputNumber:()=>UY,InputPassword:()=>Qq,InputSearch:()=>Cq,Layout:()=>pX,LayoutContent:()=>fX,LayoutFooter:()=>uX,LayoutHeader:()=>lX,LayoutSider:()=>dX,List:()=>uZ,ListItem:()=>aZ,ListItemMeta:()=>nZ,LocaleProvider:()=>EU,Mentions:()=>HZ,MentionsOption:()=>VZ,Menu:()=>EM,MenuDivider:()=>_M,MenuItem:()=>oM,MenuItemGroup:()=>gM,Modal:()=>uQ,MonthPicker:()=>WG,PageHeader:()=>BQ,Pagination:()=>tZ,Popconfirm:()=>WQ,Popover:()=>qA,Progress:()=>w$,QRCode:()=>Roe,QuarterPicker:()=>qG,Radio:()=>vF,RadioButton:()=>_F,RadioGroup:()=>gF,RangePicker:()=>JG,Rate:()=>L$,Result:()=>n1,Row:()=>r1,Segmented:()=>Eoe,Select:()=>Rk,SelectOptGroup:()=>Bk,SelectOption:()=>zk,Skeleton:()=>EL,SkeletonAvatar:()=>TL,SkeletonButton:()=>xL,SkeletonImage:()=>wL,SkeletonInput:()=>SL,SkeletonTitle:()=>ZI,Slider:()=>L1,Space:()=>LQ,Spin:()=>EX,Statistic:()=>SQ,StatisticCountdown:()=>xQ,Step:()=>o0,Steps:()=>s0,SubMenu:()=>dM,Switch:()=>h0,TabPane:()=>zI,Table:()=>j6,TableColumn:()=>E6,TableColumnGroup:()=>D6,TableSummary:()=>A6,TableSummaryCell:()=>k6,TableSummaryRow:()=>O6,Tabs:()=>VI,Tag:()=>mG,Textarea:()=>Bq,TimePicker:()=>Kie,TimeRangePicker:()=>c8,Timeline:()=>Yie,TimelineItem:()=>l8,Tooltip:()=>KA,Tour:()=>rse,Transfer:()=>yie,Tree:()=>z3,TreeNode:()=>R3,TreeSelect:()=>Wie,TreeSelectNode:()=>a8,Typography:()=>Aae,TypographyLink:()=>E8,TypographyParagraph:()=>D8,TypographyText:()=>O8,TypographyTitle:()=>k8,Upload:()=>poe,UploadDragger:()=>foe,Watermark:()=>yoe,WeekPicker:()=>UG,message:()=>_W,notification:()=>qW}),V5=(e,t)=>new zf(e).setAlpha(t).toRgbString(),H5=(e,t)=>new zf(e).lighten(t).toHexString(),Ese=e=>{let t=ep(e,{theme:`dark`});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},Dse=(e,t)=>{let n=e||`#000`,r=t||`#fff`;return{colorBgBase:n,colorTextBase:r,colorText:V5(r,.85),colorTextSecondary:V5(r,.65),colorTextTertiary:V5(r,.45),colorTextQuaternary:V5(r,.25),colorFill:V5(r,.18),colorFillSecondary:V5(r,.12),colorFillTertiary:V5(r,.08),colorFillQuaternary:V5(r,.04),colorBgElevated:H5(n,12),colorBgContainer:H5(n,8),colorBgLayout:H5(n,0),colorBgSpotlight:H5(n,26),colorBorder:H5(n,26),colorBorderSecondary:H5(n,19)}},Ose=(e,t)=>{let n=Object.keys(cp).map(t=>{let n=ep(e[t],{theme:`dark`});return Array(10).fill(1).reduce((e,r,i)=>(e[`${t}-${i+1}`]=n[i],e),{})}).reduce((e,t)=>(e=g(g({},e),t),e),{}),r=t??yp(e);return g(g(g({},r),n),up(e,{generateColorPalettes:Ese,generateNeutralColorPalettes:Dse}))};function kse(e){let{sizeUnit:t,sizeStep:n}=e,r=n-2;return{sizeXXL:t*(r+10),sizeXL:t*(r+6),sizeLG:t*(r+2),sizeMD:t*(r+2),sizeMS:t*(r+1),size:t*r,sizeSM:t*r,sizeXS:t*(r-1),sizeXXS:t*(r-1)}}var Ase=(e,t)=>{let n=t??yp(e),r=n.fontSizeSM,i=n.controlHeight-4;return g(g(g(g(g({},n),kse(t??e)),vp(r)),{controlHeight:i}),op(g(g({},n),{controlHeight:i})))};function jse(){let[e,t,n]=Jp();return{theme:e,token:t,hashId:n}}var Mse={defaultConfig:Up,defaultSeed:Up.token,useToken:jse,defaultAlgorithm:yp,darkAlgorithm:Ose,compactAlgorithm:Ase},Nse={version:uf,install:function(e){return Object.keys(B5).forEach(t=>{let n=B5[t];n.install&&e.use(n)}),e.use(lf.StyleProvider),e.config.globalProperties.$message=_W,e.config.globalProperties.$notification=qW,e.config.globalProperties.$info=uQ.info,e.config.globalProperties.$success=uQ.success,e.config.globalProperties.$error=uQ.error,e.config.globalProperties.$warning=uQ.warning,e.config.globalProperties.$confirm=uQ.confirm,e.config.globalProperties.$destroyAll=uQ.destroyAll,e}},Pse=typeof window<`u`,U5,W5=e=>U5=e,G5=Symbol();function K5(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var q5=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Fse(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function J5(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Ise(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Y5(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function X5(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Z5=typeof navigator==`object`?navigator:{userAgent:``},Q5=/Macintosh/.test(Z5.userAgent)&&/AppleWebKit/.test(Z5.userAgent)&&!/Safari/.test(Z5.userAgent),Ise=Pse?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Q5?Lse:`msSaveOrOpenBlob`in Z5?Rse:zse:()=>{};function Lse(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?X5(r):Y5(r.href)?J5(e,t,n):(r.target=`_blank`,X5(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){X5(r)},0))}function Rse(e,t=`download`,n){if(typeof e==`string`){if(Y5(e))J5(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){X5(t)})}}else navigator.msSaveOrOpenBlob(Fse(e,n),t)}function zse(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return J5(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(q5.HTMLElement))||`safari`in q5,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Q5)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Bse}=Object;function Vse(){let e=Ie(!0),t=e.run(()=>B({})),n=[],r=[],i=an({install(e){W5(i),i._a=e,e.provide(G5,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var $5=()=>{};function e7(e,t,n,r=$5){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Le()&&Re(i),i}function t7(e,...t){e.forEach(e=>{e(...t)})}var Hse=e=>e(),n7=Symbol(),r7=Symbol();function i7(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];if(K5(i)&&K5(r)&&Object.hasOwn(e,n)&&!cn(r)&&!$t(r)){e[n]=i7(i,r);let t=rn(e)[n];cn(t)&&tn(t)&&dn(t)}else e[n]=r}return e}var Use=Symbol();function Wse(e){return!e||typeof e!=`object`||!Object.hasOwn(e,Use)}var{assign:a7}=Object;function Gse(e){return!!(cn(e)&&e.effect)}function Kse(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),a7(hn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=an(G(()=>{W5(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=o7(e,l,t,n,r,!0),c}function o7(e,t,n={},r,i,a){let o,s=a7({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(i7(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();zn().then(()=>{h===i&&(l=!0)}),u=!0,t7(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{a7(e,t)})}:$5;function v(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(n7 in t)return t[r7]=n,t;let i=function(){W5(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}t7(f,{args:n,name:i[r7],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw t7(o,e),e}return l instanceof Promise?l.then(e=>(t7(a,e),e)).catch(e=>(t7(o,e),Promise.reject(e))):(t7(a,l),l)};return i[n7]=!0,i[r7]=n,i},b=Yt({_p:r,$id:e,$onAction:e7.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return $5;let i=e7(d,t,n.detached,()=>a()),a=o.run(()=>H(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},a7({},c,n)));return i},$dispose:v});r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Hse)(()=>r._e.run(()=>(o=Ie()).run(()=>t({action:y}))));for(let t in x){let n=x[t];cn(n)&&!Gse(n)||$t(n)?a||(m&&Wse(n)&&(cn(n)?n.value=m[t]:((n instanceof Set||n instanceof Map)&&n.clear(),i7(n,m[t]))),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return a7(b,x),a7(rn(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{a7(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));a7(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function qse(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=nr();return n||=o?tr(G5,null):null,n&&W5(n),n=U5,n._s.has(e)||(i?o7(e,t,r,n):Kse(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jse(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function s7(e,t=`|`){return e.map(e=>y7(e)).join(t)}function Yse(e,t){return typeof t==`bigint`?t.toString():t}var Xse=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function c7(e){return new Xse(e)}function Zse(e){return e==null}function Qse(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function $se(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){let e=t._zod.def.shape[a];return r?r(e,a):e}):p7(e,a,r?r(n.value,a):n.value))}}function ece(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?f7(e,n,()=>t[n]):p7(e,n,r.value))}}function h7(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function tce(e){return JSON.stringify(e)}function nce(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var rce=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function g7(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ice=c7(()=>{if(A7.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _7(e){if(g7(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return g7(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ace(e){return _7(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var oce=new Set([`string`,`number`,`symbol`]);function sce(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function v7(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function cce(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function y7(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function lce(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var uce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},dce={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function fce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return m7(i,e,b7(e,t)),v7(e,h7(n,{shape:i,checks:[]}))}function b7(e,t){let n=d7(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function pce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(b7(e,t)),a={};return m7(a,e,Reflect.ownKeys(d7(e)).filter(e=>!i.has(e))),v7(e,h7(n,{shape:a,checks:[]}))}function mce(e,t){if(!_7(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=d7(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function x7(e,t){let n={};return m7(n,e,Reflect.ownKeys(d7(e))),ece(n,t),n}function hce(e,t){if(!_7(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function gce(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return m7(n,e,Reflect.ownKeys(d7(e))),m7(n,t,Reflect.ownKeys(d7(t))),v7(e,h7(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function _ce(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(b7(t,n)):void 0,o={};return m7(o,t,Reflect.ownKeys(d7(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),v7(t,h7(t._zod.def,{shape:o,checks:[]}))}function vce(e,t,n){let r=n?new Set(b7(t,n)):void 0,i={};return m7(i,t,Reflect.ownKeys(d7(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),v7(t,h7(t._zod.def,{shape:i}))}function yce(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function S7(e){return typeof e==`string`?e:e?.message}function Sce(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function Cce(e,t,n){var r;for(let i=t;ie;return t[Lce]=!0,t}var D7,O7={value:void 0,enumerable:!1},k7=`captureStackTrace`in Error?Error:null;function zce(e){let t=k7;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return k7=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function Bce(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){O7.value=new a(r);try{Object.defineProperty(n,"_zod",O7)}finally{O7.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),kce(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?zce(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Vce=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Hce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(D7=globalThis).__zod_globalConfig??(D7.__zod_globalConfig={});var A7=globalThis.__zod_globalConfig;function j7(e){return e&&Object.assign(A7,e),A7}var Uce=()=>{let e={string:{unit:`کاراکتر`,verb:`داشته باشد`},file:{unit:`بایت`,verb:`داشته باشد`},array:{unit:`آیتم`,verb:`داشته باشد`},set:{unit:`آیتم`,verb:`داشته باشد`},map:{unit:`آیتم`,verb:`داشته باشد`}};function t(t){return e[t]??null}let n={regex:`ورودی`,email:`آدرس ایمیل`,url:`URL`,emoji:`ایموجی`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`تاریخ و زمان ایزو`,date:`تاریخ ایزو`,time:`زمان ایزو`,duration:`مدت زمان ایزو`,ipv4:`IPv4 آدرس`,ipv6:`IPv6 آدرس`,mac:`MAC آدرس`,cidrv4:`IPv4 دامنه`,cidrv6:`IPv6 دامنه`,base64:`base64-encoded رشته`,base64url:`base64url-encoded رشته`,json_string:`JSON رشته`,e164:`E.164 عدد`,credit_card:`شماره کارت اعتباری`,currency_code:`کد ارز`,iban:`IBAN`,jwt:`JWT`,template_literal:`ورودی`},r={nan:`NaN`,number:`عدد`,array:`آرایه`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=C7(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ورودی نامعتبر: می‌بایست instanceof ${e.expected} می‌بود، ${i} دریافت شد`:`ورودی نامعتبر: می‌بایست ${t} می‌بود، ${i} دریافت شد`}case`invalid_value`:return e.values.length===1?`ورودی نامعتبر: می‌بایست ${y7(e.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${s7(e.values,`|`)} می‌بود`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} ${r.unit??`عنصر`} باشد`:`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} باشد`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} باشد`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`رشته نامعتبر: باید با "${t.prefix}" شروع شود`:t.format===`ends_with`?`رشته نامعتبر: باید با "${t.suffix}" تمام شود`:t.format===`includes`?`رشته نامعتبر: باید شامل "${t.includes}" باشد`:t.format===`regex`?`رشته نامعتبر: باید با الگوی ${t.pattern} مطابقت داشته باشد`:`${n[t.format]??e.format} نامعتبر`}case`not_multiple_of`:return`عدد نامعتبر: باید مضرب ${e.divisor} باشد`;case`unrecognized_keys`:return`کلید${e.keys.length>1?`های`:``} ناشناس: ${s7(e.keys,`, `)}`;case`invalid_key`:return`کلید ناشناس در ${e.origin}`;case`invalid_union`:return`ورودی نامعتبر`;case`invalid_element`:return`مقدار نامعتبر در ${e.origin}`;default:return`ورودی نامعتبر`}}};function Wce(){return{localeError:Uce()}}var Gce={items_per_page:`/ صفحه`,jump_to:`برو به`,jump_to_confirm:`تایید`,page:``,prev_page:`صفحه قبلی`,next_page:`صفحه بعدی`,prev_5:`۵ صفحه قبلی`,next_5:`۵ صفحه بعدی`,prev_3:`۳ صفحه قبلی`,next_3:`۳ صفحه بعدی`},Kce={locale:`fa_IR`,today:`امروز`,now:`اکنون`,backToToday:`بازگشت به روز`,ok:`باشه`,clear:`پاک کردن`,month:`ماه`,year:`سال`,timeSelect:`انتخاب زمان`,dateSelect:`انتخاب تاریخ`,monthSelect:`یک ماه را انتخاب کنید`,yearSelect:`یک سال را انتخاب کنید`,decadeSelect:`یک دهه را انتخاب کنید`,yearFormat:`YYYY`,dateFormat:`M/D/YYYY`,dayFormat:`D`,dateTimeFormat:`M/D/YYYY HH:mm:ss`,monthBeforeYear:!0,previousMonth:`ماه قبل (PageUp)`,nextMonth:`ماه بعد (PageDown)`,previousYear:`سال قبل (Control + left)`,nextYear:`سال بعد (Control + right)`,previousDecade:`دهه قبل`,nextDecade:`دهه بعد`,previousCentury:`قرن قبل`,nextCentury:`قرن بعد`},M7={placeholder:`انتخاب زمان`,rangePlaceholder:[`زمان شروع`,`زمان پایان`]},N7={lang:g({placeholder:`انتخاب تاریخ`,yearPlaceholder:`انتخاب سال`,quarterPlaceholder:`انتخاب فصل`,monthPlaceholder:`انتخاب ماه`,weekPlaceholder:`انتخاب هفته`,rangePlaceholder:[`تاریخ شروع`,`تاریخ پایان`],rangeYearPlaceholder:[`سال شروع`,`سال پایان`],rangeMonthPlaceholder:[`ماه شروع`,`ماه پایان`],rangeWeekPlaceholder:[`هفته شروع`,`هفته پایان`]},Kce),timePickerLocale:g({},M7)},qce=N7,P7="${label} از نوع ${type} معتبر نیست",Jce={locale:`fa`,Pagination:Gce,DatePicker:N7,TimePicker:M7,Calendar:qce,global:{placeholder:`لطفاً انتخاب کنید`},Table:{filterTitle:`منوی فیلتر`,filterConfirm:`تایید`,filterReset:`پاک کردن`,filterEmptyText:`بدون فیلتر`,emptyText:`بدون داده`,selectAll:`انتخاب صفحه‌ی کنونی`,selectInvert:`معکوس کردن انتخاب‌ها در صفحه ی کنونی`,selectNone:`انتخاب هیچکدام`,selectionAll:`انتخاب همه داده‌ها`,sortTitle:`مرتب سازی`,expand:`باز شدن ردیف`,collapse:`بستن ردیف`,triggerDesc:`ترتیب نزولی`,triggerAsc:`ترتیب صعودی`,cancelSort:`لغوِ ترتیبِ داده شده`},Modal:{okText:`تایید`,cancelText:`لغو`,justOkText:`تایید`},Popconfirm:{okText:`تایید`,cancelText:`لغو`},Transfer:{titles:[``,``],searchPlaceholder:`جستجو`,itemUnit:`عدد`,itemsUnit:`عدد`,remove:`حذف`,selectCurrent:`انتخاب صفحه فعلی`,removeCurrent:`پاک کردن انتخاب‌های صفحه فعلی`,selectAll:`انتخاب همه`,removeAll:`پاک کردن همه انتخاب‌ها`,selectInvert:`معکوس کردن انتخاب‌ها در صفحه ی کنونی`},Upload:{uploading:`در حال آپلود...`,removeFile:`حذف فایل`,uploadError:`خطا در آپلود`,previewFile:`مشاهده‌ی فایل`,downloadFile:`دریافت فایل`},Empty:{description:`داده‌ای موجود نیست`},Icon:{icon:`آیکن`},Text:{edit:`ویرایش`,copy:`کپی`,copied:`کپی شد`,expand:`توسعه`},PageHeader:{back:`برگشت`},Form:{optional:`(اختیاری)`,defaultValidateMessages:{default:"خطا در ${label}",required:"فیلد ${label} اجباریست",enum:"${label} باید یکی از [${enum}] باشد",whitespace:"${label} نمیتواند خالی باشد",date:{format:"ساختار تاریخ در ${label} نامعتبر است",parse:"${label} قابل تبدیل به تاریخ نیست",invalid:"${label} تاریخی نا معتبر است"},types:{string:P7,method:P7,array:P7,object:P7,number:P7,date:P7,boolean:P7,integer:P7,float:P7,regexp:P7,email:P7,url:P7,hex:P7},string:{len:"${label} باید ${len} کاراکتر باشد",min:"${label} باید حداقل ${min} کاراکتر باشد",max:"${label} باید حداکثر ${max} کاراکتر باشد",range:"${label} باید بین ${min}-${max} کاراکتر باشد"},number:{len:"${label} باید برابر ${len}",min:"${label} حداقل میتواند ${min} باشد",max:"${label} حداکثر میتواند ${max} باشد",range:"${label} باید بین ${min}-${max} باشد"},array:{len:"تعداد ${label} باید ${len} باشد.",min:"تعداد ${label} حداقل باید ${min} باشد",max:"تعداد ${label} حداکثر باید ${max} باشد",range:"مقدار ${label} باید بین ${min}-${max} باشد"},pattern:{mismatch:"الگوی ${label} با ${pattern} برابری نمی‌کند"}}},Image:{preview:`نمایش`}},Yce=U({__name:`App`,setup(e){let t={algorithm:Mse.defaultAlgorithm,token:{colorPrimary:`#ff5a00`,colorInfo:`#ff5a00`,colorLink:`#e04f00`,fontFamily:`"IRANSans", Tahoma, sans-serif`,borderRadius:8}};return(e,n)=>{let r=ui(`RouterView`),i=ui(`a-config-provider`);return Ra(),Ua(i,{theme:t,direction:`rtl`,locale:fn(Jce)},{default:Zn(()=>[W(r)]),_:1},8,[`locale`])}}}),F7=e=>e.startsWith(`/`);function I7(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Xce(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&I7(e.default)}var L7=Object.assign;function R7(e,t){let n={};for(let r in t){let i=t[r];n[r]=B7(i)?i.map(e):e(i)}return n}var z7=()=>{},B7=Array.isArray;function V7(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var H7=Symbol(``);function U7(e,t){return L7(Error(),{type:e,[H7]:!0},t)}function W7(e,t){return e instanceof Error&&H7 in e&&(t==null||!!(e.type&t))}var Zce=Symbol(``),G7=Symbol(``),K7=Symbol(``),q7=Symbol(``),J7=Symbol(``),Qce=Symbol(``);function $ce(){return tr(K7)}function ele(e){return tr(q7)}var Y7=typeof document<`u`,X7=/#/g,tle=/&/g,nle=/\//g,rle=/=/g,ile=/\?/g,Z7=/\+/g,ale=/%5B/g,ole=/%5D/g,Q7=/%5E/g,sle=/%60/g,$7=/%7B/g,cle=/%7C/g,e9=/%7D/g,lle=/%20/g;function t9(e){return e==null?``:encodeURI(``+e).replace(cle,`|`).replace(ale,`[`).replace(ole,`]`)}function ule(e){return t9(e).replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function n9(e){return t9(e).replace(Z7,`%2B`).replace(lle,`+`).replace(X7,`%23`).replace(tle,`%26`).replace(sle,"`").replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function dle(e){return n9(e).replace(rle,`%3D`)}function fle(e){return t9(e).replace(X7,`%23`).replace(ile,`%3F`)}function ple(e){return fle(e).replace(nle,`%2F`)}function r9(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var mle=/\/$/,hle=e=>e.replace(mle,``);function i9(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=yle(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:r9(o)}}function gle(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function a9(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function _le(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&o9(t.matched[r],n.matched[i])&&s9(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function o9(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function s9(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!vle(e[n],t[n]))return!1;return!0}function vle(e,t){return B7(e)?c9(e,t):B7(t)?c9(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function c9(e,t){return B7(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function yle(e,t){if(F7(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var l9={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function ble(e){if(!e){if(Y7){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),hle(e)}var xle=/^[^#]+#/;function Sle(e,t){return e.replace(xle,`#`)+t}function Cle(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var u9=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function wle(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Cle(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function d9(e,t){return(history.state?history.state.position-t:-1)+e}var f9=new Map;function Tle(e){f9.set(e,u9())}function Ele(e){let t=f9.get(e);return f9.delete(e),t}function p9(e,t=!1){for(let n of f9.keys()){let r=parseInt(n,10);(r===e||!t&&r>e)&&f9.delete(n)}}function Dle(e){return typeof e==`string`||e&&typeof e==`object`}function m9(e){return typeof e==`string`||typeof e==`symbol`}function Ole(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&n9(e)):[r&&n9(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function kle(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=B7(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function g9(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _9(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(U7(4,{from:n,to:t})):e instanceof Error?c(e):Dle(e)?c(U7(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function v9(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(t===`beforeRouteEnter`||o.instances[e]){if(I7(s)){let c=(s.__vccOpts||s)[t];c&&a.push(_9(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Xce(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&_9(c,n,r,o,e,i)()}))}}}return a}function Ale(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oo9(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>o9(e,s))||i.push(s))}return[n,r,i]}var jle=()=>location.protocol+`//`+location.host;function y9(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),a9(n,``)}return a9(n,e)+r+i}function Mle(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=y9(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(L7({},e.state,{scroll:u9()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function b9(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function Nle(e){let{history:t,location:n}=window,r={value:y9(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:jle()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){let o=L7({},t.state,b9(i.value.back,e,i.value.forward,!0),n,{position:i.value.position});a(e,o,!0),p9(o.position,!0),r.value=e}function s(e,n){let o=L7({},i.value,t.state,{forward:e,scroll:u9()});a(o.current,o,!0),a(e,L7({},b9(r.value,e,null),{position:o.position+1},n),!1),p9(o.position),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ple(e){e=ble(e);let t=Nle(e),n=Mle(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=L7({location:``,base:e,go:r,createHref:Sle.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Fle={type:0,value:``},Ile=/[a-zA-Z0-9_]/;function Lle(e){if(!e)return[[]];if(e===`/`)return[[Fle]];if(!F7(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function S9(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Hle={strict:!1,end:!0,sensitive:!1};function Ule(e,t,n){let r=L7(Ble(Lle(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Wle(e,t){let n=[],r=new Map;t=V7(Hle,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=T9(e);s.aliasOf=r&&r.record;let l=V7(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(T9(L7({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!F7(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ule(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!E9(d)&&o(e.name)),D9(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:z7}function o(e){if(m9(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=qle(e,n);n.splice(t,0,e),e.record.name&&!E9(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw U7(1,{location:e});s=i.record.name,a=L7(w9(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&w9(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw U7(1,{location:e,currentLocation:t});s=i.record.name,a=L7({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Kle(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function w9(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function T9(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Gle(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Gle(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function E9(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kle(e){return e.reduce((e,t)=>L7(e,t.meta),{})}function qle(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;S9(e,t[i])<0?r=i:n=i+1}let i=Jle(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Jle(e){let t=e;for(;t=t.parent;)if(D9(t)&&S9(e,t)===0)return t}function D9({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function O9(e){let t=tr(K7),n=tr(q7),r=G(()=>{let n=fn(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(o9.bind(null,i));if(o>-1)return o;let s=k9(e[t-2]);return t>1&&k9(i)===s&&a[a.length-1].path!==s?a.findIndex(o9.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&Qle(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&s9(n.params,r.value.params));function s(n={}){if(Zle(n)){let n=t[fn(e.replace)?`replace`:`push`](fn(e.to)).catch(z7);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Yle(e){return e.length===1?e[0]:e}var Xle=U({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:O9,setup(e,{slots:t}){let n=Yt(O9(e)),{options:r}=tr(K7),i=G(()=>({[A9(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[A9(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Yle(t.default(n));return e.custom?r:Oo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Zle(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qle(e,t){for(let n in t){let r=t[n],i=e[n];if(B7(r)){if(!B7(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}else if(r!==i)return!1}return!0}function k9(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var A9=(e,t,n)=>e??t??n,$le=U({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=tr(J7),i=G(()=>e.route||r.value),a=tr(G7,0),o=G(()=>{let e=fn(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);er(G7,G(()=>o.value+1)),er(Zce,s),er(J7,i);let c=new Set;er(Qce,c);let l=B(),u=l9,{app:d}=fo().appContext;return H(()=>[l.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!o9(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,f=o&&o.components[a];if(!f)return j9(n.default,{Component:f,route:r});let p=o.props[a],m=p?p===!0?r.params:typeof p==`function`?p(r):p:null,h=e=>{e.component.isUnmounted&&(o.instances[a]=null)},g=e=>zn(()=>{if(u===r||i.value!==r||e.el.getRootNode()!==d._container.getRootNode())return;let t=u;u=r;for(let e of c)e(r,t)}),_=Oo(f,L7({},m,t,{onVnodeUnmounted:h,onVnodeMounted:g,onVnodeUpdated:g,ref:l}));return j9(n.default,{Component:_,route:r})||_}}});function j9(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var eue=$le;function tue(e){let t=e.matcher||Wle(e.routes,e),n=e.parseQuery||Ole,r=e.stringifyQuery||h9,i=e.history,a=g9(),o=g9(),s=g9(),c=V(l9),l=V(0),u=l9;Y7&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=R7.bind(null,e=>``+e),f=R7.bind(null,ple),p=R7.bind(null,r9);function m(e,n){let r,i;m9(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?l9:c.value;let r=i9(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return L7(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=L7({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?l9:c.value));let o;if(e.path!=null)o=L7({},e,{path:i9(n,e.path,a.path).path});else{let t=L7({},e.params);for(let e in t)t[e]??delete t[e];o=L7({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=gle(r,L7({},e,{hash:ule(u),path:s.path})),h=i.createHref(m);return L7({fullPath:m,hash:u,query:r===h9?kle(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?i9(n,e,c.value.path):L7({},e)}function x(e,t){if(u!==e)return U7(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(L7(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),L7({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=u=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=w(n,i);if(l)return T(L7(b(l),{state:typeof l==`object`?L7({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&_le(r,i,n)&&(f=U7(16,{to:d,from:i}),ee(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>W7(e)?W7(e,2)?e:R(e):I(e,d,i)).then(e=>{if(e){if(W7(e,2))return T(L7({replace:s},b(e.to),{state:typeof e.to==`object`?L7({},a,e.to.state):a,force:o}),t||d)}else e=A(d,i,!0,s,a);return k(d,i,e),e})}function E(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=z.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=Ale(e,t);n=v9(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(_9(r,e,t))});let c=E.bind(null,e,t);return n.push(c),ie(n).then(()=>{n=[];for(let r of a.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).then(()=>{n=v9(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(_9(r,e,t))});return n.push(c),ie(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(B7(r.beforeEnter))for(let i of r.beforeEnter)n.push(_9(i,e,t));else n.push(_9(r.beforeEnter,e,t))}return n.push(c),ie(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=v9(s,`beforeRouteEnter`,e,t,D),n.push(c),ie(n))).then(()=>{n=[];for(let r of o.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).catch(e=>W7(e,8)?e:Promise.reject(e))}function k(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function A(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===l9,l=Y7?history.state:{};n&&(r||s?i.replace(e.fullPath,L7({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ee(e,t,n,s),R()}let j;function M(){j||=i.listen((e,t,n)=>{if(!re.listening)return;let r=y(e),a=w(r,re.currentRoute.value);if(a){T(L7(a,{replace:!0,force:!0}),r).catch(z7);return}u=r;let o=c.value;Y7&&n.delta&&Tle(d9(o.fullPath,n.delta)),O(r,o).catch(e=>W7(e,12)?e:W7(e,2)?(T(L7(b(e.to),{force:!0}),r).then(e=>{W7(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(z7),Promise.reject()):(n.delta&&i.go(-n.delta,!1),I(e,r,o))).then(e=>{e||=A(r,o,!1),e&&(n.delta&&!W7(e,8)?i.go(-n.delta,!1):n.type===`pop`&&W7(e,20)&&i.go(-1,!1)),k(r,o,e)}).catch(z7)})}let N=g9(),P=g9(),F;function I(e,t,n){R(e);let r=P.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function L(){return F&&c.value!==l9?Promise.resolve():new Promise((e,t)=>{N.add([e,t])})}function R(e){return F||(F=!e,M(),N.list().forEach(([t,n])=>e?n(e):t()),N.reset()),e}function ee(t,n,r,i){let{scrollBehavior:a}=e;if(!Y7||!a)return Promise.resolve();let o=!r&&Ele(d9(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return zn().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&wle(e)).catch(e=>t===c.value&&I(e,t,n))}let te=e=>i.go(e),ne,z=new Set,re={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:C,go:te,back:()=>te(-1),forward:()=>te(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:P.add,isReady:L,install(e){e.component(`RouterLink`,Xle),e.component(`RouterView`,eue),e.config.globalProperties.$router=re,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>fn(c)}),Y7&&!ne&&c.value===l9&&(ne=!0,S(i.location).catch(e=>{}));let t={};for(let e in l9)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(K7,re),e.provide(q7,Xt(t)),e.provide(J7,c);let n=e.unmount;z.add(e),e.unmount=function(){z.delete(e),z.size<1&&(u=l9,j&&j(),j=null,c.value=l9,ne=!1,F=!1),n()}}};function ie(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return re}var nue=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,rue=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,iue=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function aue(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t)oue(e);else return t}function oue(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function sue(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!iue.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(nue.test(e)||rue.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,aue)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var cue=/#/g,lue=/&/g,uue=/\//g,due=/=/g,M9=/\+/g,fue=/%5e/gi,pue=/%60/gi,mue=/%7c/gi,hue=/%20/gi;function gue(e){return encodeURI(``+e).replace(mue,`|`)}function N9(e){return gue(typeof e==`string`?e:JSON.stringify(e)).replace(M9,`%2B`).replace(hue,`+`).replace(cue,`%23`).replace(lue,`%26`).replace(pue,"`").replace(fue,`^`).replace(uue,`%2F`)}function P9(e){return N9(e).replace(due,`%3D`)}function F9(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function _ue(e){return F9(e.replace(M9,` `))}function vue(e){return F9(e.replace(M9,` `))}function yue(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=_ue(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=vue(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function bue(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${P9(e)}=${N9(t)}`).join(`&`):`${P9(e)}=${N9(t)}`:P9(e)}function xue(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>bue(t,e[t])).filter(Boolean).join(`&`)}var Sue=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Cue=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,wue=/^([/\\]\s*){2,}[^/\\]/,Tue=/\/$|\/\?|\/#/,Eue=/^\.?\//;function I9(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?Sue.test(e):Cue.test(e)||(t.acceptRelative?wue.test(e):!1)}function L9(e=``,t){return t?Tue.test(e):e.endsWith(`/`)}function Due(e=``,t){if(!t)return(L9(e)?e.slice(0,-1):e)||`/`;if(!L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Oue(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function kue(e,t){if(jue(t)||I9(e))return e;let n=Due(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Nue(n,e)}function Aue(e,t){let n=z9(e);return n.search=xue({...yue(n.search),...t}),Pue(n)}function jue(e){return!e||e===`/`}function Mue(e){return e&&e!==`/`}function Nue(e,...t){let n=e||``;for(let e of t.filter(e=>Mue(e)))if(n){let t=e.replace(Eue,``);n=Oue(n)+t}else n=e;return n}var R9=Symbol.for(`ufo:protocolRelative`);function z9(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!I9(e,{acceptRelative:!0}))return t?z9(t+e):B9(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=B9(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[R9]:!r}}function B9(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Pue(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[R9]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var V9=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function Fue(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new V9(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:``}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var Iue=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function H9(e=`GET`){return Iue.has(e.toUpperCase())}function Lue(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var Rue=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),zue=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Bue(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return zue.test(t)?`json`:t===`text/event-stream`?`stream`:Rue.has(t)||t.startsWith(`text/`)?`text`:`blob`}function Vue(e,t,n,r){let i=Hue(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function Hue(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function U9(e,t){if(t){if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}}var Uue=new Set([408,409,425,429,500,502,503,504]),Wue=new Set([101,204,205,304]);function W9(e={}){let{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function i(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:+!H9(e.options.method);let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):Uue.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),a(e.request,{...e.options,retry:t-1})}}let n=Fue(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:Vue(a,o,e.defaults,n),response:void 0,error:void 0};if(s.options.method&&(s.options.method=s.options.method.toUpperCase()),s.options.onRequest&&(await U9(s,s.options.onRequest),s.options.headers instanceof n||(s.options.headers=new n(s.options.headers||{}))),typeof s.request==`string`&&(s.options.baseURL&&(s.request=kue(s.request,s.options.baseURL)),s.options.query&&(s.request=Aue(s.request,s.options.query),delete s.options.query),`query`in s.options&&delete s.options.query,`params`in s.options&&delete s.options.params),s.options.body&&H9(s.options.method)){if(Lue(s.options.body)){let e=s.options.headers.get(`content-type`);typeof s.options.body!=`string`&&(s.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(s.options.body).toString():JSON.stringify(s.options.body)),e||s.options.headers.set(`content-type`,`application/json`),s.options.headers.has(`accept`)||s.options.headers.set(`accept`,`application/json`)}else(`pipeTo`in s.options.body&&typeof s.options.body.pipeTo==`function`||typeof s.options.body.pipe==`function`)&&(`duplex`in s.options||(s.options.duplex=`half`))}let c;if(!s.options.signal&&s.options.timeout){let e=new r;c=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},s.options.timeout),s.options.signal=e.signal}try{s.response=await t(s.request,s.options)}catch(e){return s.error=e,s.options.onRequestError&&await U9(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!Wue.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||Bue(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||sue;s.response._data=t(e);break}case`stream`:s.response._data=s.response.body||s.response._bodyInit;break;default:s.response._data=await s.response[e]()}}return s.options.onResponse&&await U9(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await U9(s,s.options.onResponseError),await i(s)):s.response},o=async function(e,t){return(await a(e,t))._data};return o.raw=a,o.native=(...e)=>t(...e),o.create=(t={},n={})=>W9({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var G9=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),Gue=G9.fetch?(...e)=>G9.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),Kue=G9.Headers,que=G9.AbortController,K9=W9({fetch:Gue,Headers:Kue,AbortController:que}).create({baseURL:`/api`,credentials:`include`}),q9=null,Jue=e=>{q9=e};async function J9(e,t={},n=!1){let r=q9?.token();try{return await K9(e,{...t,headers:{...t.headers,...r&&{Authorization:`Bearer ${r}`}}})}catch(r){if(r instanceof V9&&r.status===401&&!n&&q9){if(await q9.refresh())return J9(e,t,!0);q9.onExpired()}throw r}}var Y9=e=>e instanceof V9?e.data??{}:{};function Yue(e){if(e instanceof V9){if(!e.status)return`ارتباط با سرور برقرار نشد`;let t=Y9(e).message;return Array.isArray(t)?t.join(`، `):t||(e.status===413?`حجم فایل بیش از حد مجاز است`:e.status===429?`تعداد درخواست‌ها زیاد است؛ کمی بعد تلاش کنید`:`خطای سرور (${e.status})`)}return`خطای ناشناخته`}var X9=null,Z9=qse(`auth`,{state:()=>({token:``,user:null,ready:!1}),getters:{isAdmin:e=>e.user?.role===`ADMIN`},actions:{setSession(e){this.token=e.accessToken,this.user=e.user},clear(){this.token=``,this.user=null},async login(e){this.setSession(await K9(`/admin/auth/login`,{method:`POST`,body:e}))},refresh(){return X9??=K9(`/admin/auth/refresh`,{method:`POST`}).then(e=>(this.setSession(e),!0)).catch(()=>(this.clear(),!1)).finally(()=>{X9=null}),X9},async init(){this.ready||=(Jue({token:()=>this.token,refresh:()=>this.refresh(),onExpired:()=>{this.clear(),$9.push({name:`login`,query:{redirect:$9.currentRoute.value.fullPath}})}}),await this.refresh(),!0)},async logout(){await K9(`/admin/auth/logout`,{method:`POST`}).catch(()=>void 0),this.clear(),await $9.push({name:`login`})}}}),Xue=`modulepreload`,Zue=function(e){return`/`+e},Que={},$ue=function(e){return e.pathname.endsWith(`.css`)},ede=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Q9=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=Zue(t,n);let r=s(t),i=$ue(r);return ede(Que,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Xue,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},$9=tue({history:Ple(),routes:[{path:`/login`,name:`login`,component:()=>Q9(()=>import(`./LoginPage-9ZnLIZG9.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{public:!0,title:`ورود`}},{path:`/`,component:()=>Q9(()=>import(`./AdminLayout-BWEJTyVc.js`),__vite__mapDeps([6,1,2,3,7,8])),children:[{path:``,name:`dashboard`,component:()=>Q9(()=>import(`./DashboardPage-D3Dg5cDP.js`),__vite__mapDeps([9,1,2,7,10,11])),meta:{title:`داشبورد`}},{path:`products`,name:`products`,component:()=>Q9(()=>import(`./ProductsPage-BEwm5CwI.js`),__vite__mapDeps([12,1,2,13])),meta:{title:`محصولات`}},{path:`products/new`,name:`product-new`,component:()=>Q9(()=>import(`./ProductEditPage-B-Sknc6p.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`محصول جدید`}},{path:`products/:id`,name:`product-edit`,component:()=>Q9(()=>import(`./ProductEditPage-B-Sknc6p.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`ویرایش محصول`}},{path:`categories`,name:`categories`,component:()=>Q9(()=>import(`./CategoriesPage-DDuDA84R.js`),__vite__mapDeps([17,1,2,7,10,11])),meta:{title:`دسته‌بندی‌ها`}},{path:`categories/new`,name:`category-new`,component:()=>Q9(()=>import(`./CategoryEditPage-DezgJrn9.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`دسته جدید`}},{path:`categories/:id`,name:`category-edit`,component:()=>Q9(()=>import(`./CategoryEditPage-DezgJrn9.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`ویرایش دسته`}},{path:`sections`,name:`sections`,component:()=>Q9(()=>import(`./SectionsPage-D2mxIFwm.js`),__vite__mapDeps([20,1,2,7,10,11])),meta:{title:`بخش‌های سایت`}},{path:`sections/:key`,name:`section-edit`,component:()=>Q9(()=>import(`./SectionEditPage-BdDEZJqd.js`),__vite__mapDeps([21,1,2,7,10,11,4,19,15])),meta:{title:`ویرایش بخش`}},{path:`messages`,name:`messages`,component:()=>Q9(()=>import(`./MessagesPage-C1A1xjPE.js`),__vite__mapDeps([22,1,2,7,10,11])),meta:{title:`پیام‌های تماس`}},{path:`media`,name:`media`,component:()=>Q9(()=>import(`./MediaPage-4vzZa5Eb.js`),__vite__mapDeps([23,1,2,7,10,11])),meta:{title:`کتابخانه رسانه`}},{path:`users`,name:`users`,component:()=>Q9(()=>import(`./UsersPage-D2QmqN50.js`),__vite__mapDeps([24,1,2,7,10,11,4])),meta:{title:`کاربران`,roles:[`ADMIN`]}},{path:`profile`,name:`profile`,component:()=>Q9(()=>import(`./ProfilePage-CKqPwLoF.js`),__vite__mapDeps([25,1,2,10,11,4])),meta:{title:`حساب کاربری`}}]},{path:`/:pathMatch(.*)*`,redirect:`/`}]});$9.beforeEach(async e=>{let t=Z9();return await t.init(),e.meta.public?t.user&&e.name===`login`?{name:`dashboard`}:!0:t.user?e.meta.roles&&!e.meta.roles.includes(t.user.role)?{name:`dashboard`}:!0:{name:`login`,query:{redirect:e.fullPath}}}),$9.afterEach(e=>{document.title=e.meta.title?`${e.meta.title} | پنل ایمن پیشگامان`:`پنل ایمن پیشگامان`}),j7(Wce()),rc(Yce).use(Vse()).use($9).use(Nse).mount(`#app`);export{u7 as $,wce as A,fi as At,Yse as B,je as Bt,Rce as C,$r as Ct,sce as D,gi as Dt,tce as E,er as Et,Ice as F,Yt as Ft,pce as G,h7 as H,g7 as I,B as It,C7 as J,lce as K,_7 as L,fn as Lt,Jse as M,H as Mt,Dce as N,Zn as Nt,bce as O,aee as Ot,Ace as P,cn as Pt,oce as Q,Oce as R,Se as Rt,Ece as S,ni as St,jce as T,Ra as Tt,cce as U,gce as V,Zse as W,fce as X,_ce as Y,xce as Z,Cce as _,U as _t,ele as a,y7 as at,Qse as b,lee as bt,Hce as c,Ma as ct,A7 as d,Ua as dt,vce as et,dce as f,eo as ft,l7 as g,W as gt,ice as h,Qa as ht,Yue as i,nce as it,$se as j,Vi as jt,mce as k,ui as kt,Bce as l,G as lt,yce as m,$a as mt,J9 as n,ace as nt,$ce as o,_W as ot,uce as p,uee as pt,w7 as q,Y9 as r,Sce as rt,Vce as s,$s as st,Z9 as t,hce as tt,j7 as u,Ja as ut,c7 as v,Oo as vt,Fce as w,ri as wt,v7 as x,zn as xt,rce as y,tr as yt,s7 as z,_e as zt}; \ No newline at end of file + `]:{opacity:1},[r]:{color:e.colorTextDescription,transition:`all ${e.motionDurationSlow}`},[`&:hover ${r}`]:{color:e.colorText}},[`${t}-icon ${r}`]:{color:e.colorTextDescription,fontSize:i},[`${o}-progress`]:{position:`absolute`,bottom:-e.uploadProgressOffset,width:`100%`,paddingInlineStart:i+e.paddingXS,fontSize:i,lineHeight:0,pointerEvents:`none`,"> div":{margin:0}}},[`${o}:hover ${c}`]:{opacity:1,color:e.colorText},[`${o}-error`]:{color:e.colorError,[`${o}-name, ${t}-icon ${r}`]:{color:e.colorError},[s]:{[`${r}, ${r}:hover`]:{color:e.colorError},[c]:{opacity:1}}},[`${t}-list-item-container`]:{transition:`opacity ${e.motionDurationSlow}, height ${e.motionDurationSlow}`,"&::before":{display:`table`,width:0,height:0,content:`""`}}})}}},X8=new ef(`uploadAnimateInlineIn`,{from:{width:0,height:0,margin:0,padding:0,opacity:0}}),Z8=new ef(`uploadAnimateInlineOut`,{to:{width:0,height:0,margin:0,padding:0,opacity:0}}),ioe=e=>{let{componentCls:t}=e,n=`${t}-animate-inline`;return[{[`${t}-wrapper`]:{[`${n}-appear, ${n}-enter, ${n}-leave`]:{animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseInOutCirc,animationFillMode:`forwards`},[`${n}-appear, ${n}-enter`]:{animationName:X8},[`${n}-leave`]:{animationName:Z8}}},X8,Z8]},aoe=e=>{let{componentCls:t,iconCls:n,uploadThumbnailSize:r,uploadProgressOffset:i}=e,a=`${t}-list`,o=`${a}-item`;return{[`${t}-wrapper`]:{[`${a}${a}-picture, ${a}${a}-picture-card`]:{[o]:{position:`relative`,height:r+e.lineWidth*2+e.paddingXS*2,padding:e.paddingXS,border:`${e.lineWidth}px ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusLG,"&:hover":{background:`transparent`},[`${o}-thumbnail`]:g(g({},Dp),{width:r,height:r,lineHeight:`${r+e.paddingSM}px`,textAlign:`center`,flex:`none`,[n]:{fontSize:e.fontSizeHeading2,color:e.colorPrimary},img:{display:`block`,width:`100%`,height:`100%`,overflow:`hidden`}}),[`${o}-progress`]:{bottom:i,width:`calc(100% - ${e.paddingSM*2}px)`,marginTop:0,paddingInlineStart:r+e.paddingXS}},[`${o}-error`]:{borderColor:e.colorError,[`${o}-thumbnail ${n}`]:{"svg path[fill='#e6f7ff']":{fill:e.colorErrorBg},"svg path[fill='#1890ff']":{fill:e.colorError}}},[`${o}-uploading`]:{borderStyle:`dashed`,[`${o}-name`]:{marginBottom:i}}}}}},ooe=e=>{let{componentCls:t,iconCls:n,fontSizeLG:r,colorTextLightSolid:i}=e,a=`${t}-list`,o=`${a}-item`,s=e.uploadPicCardSize;return{[`${t}-wrapper${t}-picture-card-wrapper`]:g(g({},Ap()),{display:`inline-block`,width:`100%`,[`${t}${t}-select`]:{width:s,height:s,marginInlineEnd:e.marginXS,marginBottom:e.marginXS,textAlign:`center`,verticalAlign:`top`,backgroundColor:e.colorFillAlter,border:`${e.lineWidth}px dashed ${e.colorBorder}`,borderRadius:e.borderRadiusLG,cursor:`pointer`,transition:`border-color ${e.motionDurationSlow}`,[`> ${t}`]:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,textAlign:`center`},[`&:not(${t}-disabled):hover`]:{borderColor:e.colorPrimary}},[`${a}${a}-picture-card`]:{[`${a}-item-container`]:{display:`inline-block`,width:s,height:s,marginBlock:`0 ${e.marginXS}px`,marginInline:`0 ${e.marginXS}px`,verticalAlign:`top`},"&::after":{display:`none`},[o]:{height:`100%`,margin:0,"&::before":{position:`absolute`,zIndex:1,width:`calc(100% - ${e.paddingXS*2}px)`,height:`calc(100% - ${e.paddingXS*2}px)`,backgroundColor:e.colorBgMask,opacity:0,transition:`all ${e.motionDurationSlow}`,content:`" "`}},[`${o}:hover`]:{[`&::before, ${o}-actions`]:{opacity:1}},[`${o}-actions`]:{position:`absolute`,insetInlineStart:0,zIndex:10,width:`100%`,whiteSpace:`nowrap`,textAlign:`center`,opacity:0,transition:`all ${e.motionDurationSlow}`,[`${n}-eye, ${n}-download, ${n}-delete`]:{zIndex:10,width:r,margin:`0 ${e.marginXXS}px`,fontSize:r,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`}},[`${o}-actions, ${o}-actions:hover`]:{[`${n}-eye, ${n}-download, ${n}-delete`]:{color:new zf(i).setAlpha(.65).toRgbString(),"&:hover":{color:i}}},[`${o}-thumbnail, ${o}-thumbnail img`]:{position:`static`,display:`block`,width:`100%`,height:`100%`,objectFit:`contain`},[`${o}-name`]:{display:`none`,textAlign:`center`},[`${o}-file + ${o}-name`]:{position:`absolute`,bottom:e.margin,display:`block`,width:`calc(100% - ${e.paddingXS*2}px)`},[`${o}-uploading`]:{[`&${o}`]:{backgroundColor:e.colorFillAlter},[`&::before, ${n}-eye, ${n}-download, ${n}-delete`]:{display:`none`}},[`${o}-progress`]:{bottom:e.marginXL,width:`calc(100% - ${e.paddingXS*2}px)`,paddingInlineStart:0}}})}},soe=e=>{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},coe=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:g(g({},Op(e)),{[t]:{outline:0,"input[type='file']":{cursor:`pointer`}},[`${t}-select`]:{display:`inline-block`},[`${t}-disabled`]:{color:n,cursor:`not-allowed`}})}},loe=Fp(`Upload`,e=>{let{fontSizeHeading3:t,fontSize:n,lineHeight:r,lineWidth:i,controlHeightLG:a}=e,o=Math.round(n*r),s=Rp(e,{uploadThumbnailSize:t*2,uploadProgressOffset:o/2+i,uploadPicCardSize:a*2.55});return[coe(s),noe(s),aoe(s),ooe(s),roe(s),ioe(s),soe(s),vk(s)]}),uoe=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},doe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);ic.value??d.value),[p,m]=gS(e.defaultFileList||[],{value:vn(e,`fileList`),postState:e=>{let t=Date.now();return(e??[]).map((e,n)=>(!e.uid&&!Object.isFrozen(e)&&(e.uid=`__AUTO__${t}_${n}__`),e))}}),_=B(`drop`),v=B(null);$r(()=>{wh(e.fileList!==void 0||r.value===void 0,`Upload`,"`value` is not a valid prop, do you mean `fileList`?"),wh(e.transformFile===void 0,`Upload`,"`transformFile` is deprecated. Please use `beforeUpload` directly."),wh(e.remove===void 0,`Upload`,"`remove` props is deprecated. Please use `remove` event.")});let y=(t,n,r)=>{var i,o;let s=[...n];e.maxCount===1?s=s.slice(-1):e.maxCount&&(s=s.slice(0,e.maxCount)),m(s);let c={file:t,fileList:s};r&&(c.event=r),(i=e[`onUpdate:fileList`])==null||i.call(e,c.fileList),(o=e.onChange)==null||o.call(e,c),a.onFieldChange()},b=(t,n)=>uoe(this,void 0,void 0,function*(){let{beforeUpload:r,transformFile:i}=e,a=t;if(r){let e=yield r(t,n);if(e===!1)return!1;if(delete t[Q8],e===Q8)return Object.defineProperty(t,Q8,{value:!0,configurable:!0}),!1;typeof e==`object`&&e&&(a=e)}return i&&(a=yield i(a)),a}),x=e=>{let t=e.filter(e=>!e.file[Q8]);if(!t.length)return;let n=t.map(e=>U8(e.file)),r=[...p.value];n.forEach(e=>{r=W8(e,r)}),n.forEach((e,n)=>{let i=e;if(t[n].parsedFile)e.status=`uploading`;else{let{originFileObj:t}=e,n;try{n=new File([t],t.name,{type:t.type})}catch{n=new Blob([t],{type:t.type}),n.name=t.name,n.lastModifiedDate=new Date,n.lastModified=new Date().getTime()}n.uid=e.uid,i=n}y(i,r)})},S=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!G8(t,p.value))return;let r=U8(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n;let i=W8(r,p.value);y(r,i)},C=(e,t)=>{if(!G8(t,p.value))return;let n=U8(t);n.status=`uploading`,n.percent=e.percent;let r=W8(n,p.value);y(n,r,e)},w=(e,t,n)=>{if(!G8(n,p.value))return;let r=U8(n);r.error=e,r.response=t,r.status=`error`;let i=W8(r,p.value);y(r,i)},T=t=>{let n,r=e.onRemove||e.remove;Promise.resolve(typeof r==`function`?r(t):r).then(e=>{var r,i;if(e===!1)return;let a=qae(t,p.value);a&&(n=g(g({},t),{status:`removed`}),(r=p.value)==null||r.forEach(e=>{let t=n.uid===void 0?`name`:`uid`;e[t]===n[t]&&!Object.isFrozen(e)&&(e.status=`removed`)}),(i=v.value)==null||i.abort(n),y(n,a))})},E=t=>{var n;_.value=t.type,t.type===`drop`&&((n=e.onDrop)==null||n.call(e,t))};i({onBatchStart:x,onSuccess:S,onProgress:C,onError:w,fileList:p,upload:v});let[D]=$l(`Upload`,Zl.Upload,G(()=>e.locale)),O=(t,r)=>{let{removeIcon:i,previewIcon:a,downloadIcon:s,previewFile:c,onPreview:l,onDownload:u,isImageUrl:d,progress:m,itemRender:h,iconRender:_,showUploadList:v}=e,{showDownloadIcon:y,showPreviewIcon:b,showRemoveIcon:x}=typeof v==`boolean`?{}:v;return v?W(toe,{prefixCls:o.value,listType:e.listType,items:p.value,previewFile:c,onPreview:l,onDownload:u,onRemove:T,showRemoveIcon:!f.value&&x,showPreviewIcon:b,showDownloadIcon:y,removeIcon:i,previewIcon:a,downloadIcon:s,iconRender:_,locale:D.value,isImageUrl:d,progress:m,itemRender:h,appendActionVisible:r,appendAction:t},g({},n)):t?.()};return()=>{let{listType:t,type:i}=e,{class:c,style:d}=r,m=doe(r,[`class`,`style`]),y=g(g(g({onBatchStart:x,onError:w,onProgress:C,onSuccess:S},m),e),{id:e.id??a.id.value,prefixCls:o.value,beforeUpload:b,onChange:void 0,disabled:f.value});delete y.remove,(!n.default||f.value)&&delete y.id;let T={[`${o.value}-rtl`]:s.value===`rtl`};if(i===`drag`){let e=K(o.value,{[`${o.value}-drag`]:!0,[`${o.value}-drag-uploading`]:p.value.some(e=>e.status===`uploading`),[`${o.value}-drag-hover`]:_.value===`dragover`,[`${o.value}-disabled`]:f.value,[`${o.value}-rtl`]:s.value===`rtl`},r.class,u.value);return l(W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,T,c,u.value)}),[W(`div`,{class:e,onDrop:E,onDragover:E,onDragleave:E,style:r.style},[W(F8,h(h({},y),{},{ref:v,class:`${o.value}-btn`}),h({default:()=>[W(`div`,{class:`${o.value}-drag-container`},[n.default?.call(n)])]},n))]),O()]))}let D=K(o.value,{[`${o.value}-select`]:!0,[`${o.value}-select-${t}`]:!0,[`${o.value}-disabled`]:f.value,[`${o.value}-rtl`]:s.value===`rtl`}),k=Gc(n.default?.call(n)),A=e=>W(`div`,{class:D,style:e},[W(F8,h(h({},y),{},{ref:v}),n)]);return l(t===`picture-card`?W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,`${o.value}-picture-card-wrapper`,T,r.class,u.value)}),[O(A,!!(k&&k.length))]):W(`span`,h(h({},r),{},{class:K(`${o.value}-wrapper`,T,r.class,u.value)}),[A(k&&k.length?void 0:{display:`none`}),O()]))}}}),e5=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{height:t}=e,i=e5(e,[`height`]),{style:a}=r,o=e5(r,[`style`]);return W($8,g(g(g({},i),o),{type:`drag`,style:g(g({},a),{height:typeof t==`number`?`${t}px`:t})}),n)}}}),foe=t5,poe=g($8,{Dragger:t5,LIST_IGNORE:Q8,install(e){return e.component($8.name,$8),e.component(t5.name,t5),e}});function moe(e){return e.replace(/([A-Z])/g,`-$1`).toLowerCase()}function hoe(e){return Object.keys(e).map(t=>`${moe(t)}: ${e[t]};`).join(` `)}function n5(){return window.devicePixelRatio||1}function r5(e,t,n,r){e.translate(t,n),e.rotate(Math.PI/180*Number(r)),e.translate(-t,-n)}var goe=(e,t)=>{let n=!1;return e.removedNodes.length&&(n=Array.from(e.removedNodes).some(e=>e===t)),e.type===`attributes`&&e.target===t&&(n=!0),n},_oe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i2&&arguments[2]!==void 0?arguments[2]:{},{window:r=GP}=n,i=_oe(n,[`window`]),a,o=UP(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=H(()=>VP(e),e=>{s(),o.value&&r&&e&&(a=new MutationObserver(t),a.observe(e,i))},{immediate:!0}),l=()=>{s(),c()};return zP(l),{isSupported:o,stop:l}}var i5=2,a5=3,yoe=_l(U({name:`AWatermark`,inheritAttrs:!1,props:Bc({zIndex:Number,rotate:Number,width:Number,height:Number,image:String,content:Sl([String,Array]),font:q(),rootClassName:String,gap:xl(),offset:xl()},{zIndex:9,rotate:-22,font:{},gap:[100,100]}),setup(e,t){let{slots:n,attrs:r}=t,[,i]=Jp(),a=V(),o=V(),s=V(!1),c=G(()=>e.gap?.[0]??100),l=G(()=>e.gap?.[1]??100),u=G(()=>c.value/2),d=G(()=>l.value/2),f=G(()=>e.offset?.[0]??u.value),p=G(()=>e.offset?.[1]??d.value),m=G(()=>e.font?.fontSize??i.value.fontSizeLG),_=G(()=>e.font?.fontWeight??`normal`),v=G(()=>e.font?.fontStyle??`normal`),y=G(()=>e.font?.fontFamily??`sans-serif`),b=G(()=>e.font?.color??i.value.colorFill),x=G(()=>{let t={zIndex:e.zIndex??9,position:`absolute`,left:0,top:0,width:`100%`,height:`100%`,pointerEvents:`none`,backgroundRepeat:`repeat`},n=f.value-u.value,r=p.value-d.value;return n>0&&(t.left=`${n}px`,t.width=`calc(100% - ${n}px)`,n=0),r>0&&(t.top=`${r}px`,t.height=`calc(100% - ${r}px)`,r=0),t.backgroundPosition=`${n}px ${r}px`,t}),S=()=>{o.value&&=(o.value.remove(),void 0)},C=(e,t)=>{var n;a.value&&o.value&&(s.value=!0,o.value.setAttribute(`style`,hoe(g(g({},x.value),{backgroundImage:`url('${e}')`,backgroundSize:`${(c.value+t)*i5}px`}))),(n=a.value)==null||n.append(o.value),setTimeout(()=>{s.value=!1}))},w=t=>{let n=120,r=64,i=e.content,a=e.image,o=e.width,s=e.height;if(!a&&t.measureText){t.font=`${Number(m.value)}px ${y.value}`;let e=Array.isArray(i)?i:[i],a=e.map(e=>t.measureText(e).width);n=Math.ceil(Math.max(...a)),r=Number(m.value)*e.length+(e.length-1)*a5}return[o??n,s??r]},T=(t,n,r,i,a)=>{let o=n5(),s=e.content,c=Number(m.value)*o;t.font=`${v.value} normal ${_.value} ${c}px/${a}px ${y.value}`,t.fillStyle=b.value,t.textAlign=`center`,t.textBaseline=`top`,t.translate(i/2,0),(Array.isArray(s)?s:[s])?.forEach((e,i)=>{t.fillText(e??``,n,r+i*(c+a5*o))})},E=()=>{let t=document.createElement(`canvas`),n=t.getContext(`2d`),r=e.image,i=e.rotate??-22;if(n){o.value||=document.createElement(`div`);let e=n5(),[a,s]=w(n),u=(c.value+a)*e,d=(l.value+s)*e;t.setAttribute(`width`,`${u*i5}px`),t.setAttribute(`height`,`${d*i5}px`);let f=c.value*e/2,p=l.value*e/2,m=a*e,h=s*e,g=(m+c.value*e)/2,_=(h+l.value*e)/2,v=f+u,y=p+d,b=g+u,x=_+d;if(n.save(),r5(n,g,_,i),r){let e=new Image;e.onload=()=>{n.drawImage(e,f,p,m,h),n.restore(),r5(n,b,x,i),n.drawImage(e,v,y,m,h),C(t.toDataURL(),a)},e.crossOrigin=`anonymous`,e.referrerPolicy=`no-referrer`,e.src=r}else T(n,f,p,m,h),n.restore(),r5(n,b,x,i),T(n,v,y,m,h),C(t.toDataURL(),a)}};return $r(()=>{E()}),H(()=>[e,i.value.colorFill,i.value.fontSizeLG],()=>{E()},{deep:!0,flush:`post`}),ni(()=>{S()}),voe(a,e=>{s.value||e.forEach(e=>{goe(e,o.value)&&(S(),E())})},{attributes:!0,subtree:!0,childList:!0,attributeFilter:[`style`,`class`]}),()=>W(`div`,h(h({},r),{},{ref:a,class:[r.class,e.rootClassName],style:[{position:`relative`},r.style]}),[n.default?.call(n)])}}));function o5(e,t){return{[`${e}, ${e}:hover, ${e}:focus`]:{color:t.colorTextDisabled,cursor:`not-allowed`}}}function s5(e){return{backgroundColor:e.bgColorSelected,boxShadow:e.boxShadow}}var boe=g({overflow:`hidden`},Dp),xoe=e=>{let{componentCls:t}=e;return{[t]:g(g(g(g(g({},Op(e)),{display:`inline-block`,padding:e.segmentedContainerPadding,color:e.labelColor,backgroundColor:e.bgColor,borderRadius:e.borderRadius,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,[`${t}-group`]:{position:`relative`,display:`flex`,alignItems:`stretch`,justifyItems:`flex-start`,width:`100%`},[`&${t}-rtl`]:{direction:`rtl`},[`&${t}-block`]:{display:`flex`},[`&${t}-block ${t}-item`]:{flex:1,minWidth:0},[`${t}-item`]:{position:`relative`,textAlign:`center`,cursor:`pointer`,transition:`color ${e.motionDurationMid} ${e.motionEaseInOut}`,borderRadius:e.borderRadiusSM,"&-selected":g(g({},s5(e)),{color:e.labelColorHover}),"&::after":{content:`""`,position:`absolute`,width:`100%`,height:`100%`,top:0,insetInlineStart:0,borderRadius:`inherit`,transition:`background-color ${e.motionDurationMid}`,pointerEvents:`none`},[`&:hover:not(${t}-item-selected):not(${t}-item-disabled)`]:{color:e.labelColorHover,"&::after":{backgroundColor:e.bgColorHover}},"&-label":g({minHeight:e.controlHeight-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeight-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`},boe),"&-icon + *":{marginInlineStart:e.marginSM/2},"&-input":{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:0,opacity:0,pointerEvents:`none`}},[`${t}-thumb`]:g(g({},s5(e)),{position:`absolute`,insetBlockStart:0,insetInlineStart:0,width:0,height:`100%`,padding:`${e.paddingXXS}px 0`,borderRadius:e.borderRadiusSM,[`& ~ ${t}-item:not(${t}-item-selected):not(${t}-item-disabled)::after`]:{backgroundColor:`transparent`}}),[`&${t}-lg`]:{borderRadius:e.borderRadiusLG,[`${t}-item-label`]:{minHeight:e.controlHeightLG-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightLG-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontal}px`,fontSize:e.fontSizeLG},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadius}},[`&${t}-sm`]:{borderRadius:e.borderRadiusSM,[`${t}-item-label`]:{minHeight:e.controlHeightSM-e.segmentedContainerPadding*2,lineHeight:`${e.controlHeightSM-e.segmentedContainerPadding*2}px`,padding:`0 ${e.segmentedPaddingHorizontalSM}px`},[`${t}-item, ${t}-thumb`]:{borderRadius:e.borderRadiusXS}}}),o5(`&-disabled ${t}-item`,e)),o5(`${t}-item-disabled`,e)),{[`${t}-thumb-motion-appear-active`]:{transition:`transform ${e.motionDurationSlow} ${e.motionEaseInOut}, width ${e.motionDurationSlow} ${e.motionEaseInOut}`,willChange:`transform, width`}})}},Soe=Fp(`Segmented`,e=>{let{lineWidthBold:t,lineWidth:n,colorTextLabel:r,colorText:i,colorFillSecondary:a,colorBgLayout:o,colorBgElevated:s}=e;return[xoe(Rp(e,{segmentedPaddingHorizontal:e.controlPaddingHorizontal-n,segmentedPaddingHorizontalSM:e.controlPaddingHorizontalSM-n,segmentedContainerPadding:t,labelColor:r,labelColorHover:i,bgColor:o,bgColorHover:a,bgColorSelected:s}))]}),c5=e=>e?{left:e.offsetLeft,right:e.parentElement.clientWidth-e.clientWidth-e.offsetLeft,width:e.clientWidth}:null,l5=e=>e===void 0?void 0:`${e}px`,Coe=U({props:{value:yl(),getValueIndex:yl(),prefixCls:yl(),motionName:yl(),onMotionStart:yl(),onMotionEnd:yl(),direction:yl(),containerRef:yl()},emits:[`motionStart`,`motionEnd`],setup(e,t){let{emit:n}=t,r=B(),i=t=>{let n=e.getValueIndex(t),r=e.containerRef.value?.querySelectorAll(`.${e.prefixCls}-item`)[n];return r?.offsetParent&&r},a=B(null),o=B(null);H(()=>e.value,(e,t)=>{let r=i(t),s=i(e),c=c5(r),l=c5(s);a.value=c,o.value=l,n(r&&s?`motionStart`:`motionEnd`)},{flush:`post`});let s=G(()=>e.direction===`rtl`?l5(-a.value?.right):l5(a.value?.left)),c=G(()=>e.direction===`rtl`?l5(-o.value?.right):l5(o.value?.left)),l,u=e=>{clearTimeout(l),zn(()=>{e&&(e.style.transform=`translateX(var(--thumb-start-left))`,e.style.width=`var(--thumb-start-width)`)})},d=t=>{l=setTimeout(()=>{t&&(pM(t,`${e.motionName}-appear-active`),t.style.transform=`translateX(var(--thumb-active-left))`,t.style.width=`var(--thumb-active-width)`)})},f=t=>{a.value=null,o.value=null,t&&(t.style.transform=null,t.style.width=null,mM(t,`${e.motionName}-appear-active`)),n(`motionEnd`)},p=G(()=>({"--thumb-start-left":s.value,"--thumb-start-width":l5(a.value?.width),"--thumb-active-left":c.value,"--thumb-active-width":l5(o.value?.width)}));return ni(()=>{clearTimeout(l)}),()=>{let t={ref:r,style:p.value,class:[`${e.prefixCls}-thumb`]};return W(Uo,{appear:!0,onBeforeEnter:u,onEnter:d,onAfterEnter:f},{default:()=>[!a.value||!o.value?null:W(`div`,t,null)]})}}});function woe(e){return e.map(e=>typeof e==`object`&&e?e:{label:e?.toString(),title:e?.toString(),value:e})}var Toe=()=>({prefixCls:String,options:xl(),block:J(),disabled:J(),size:X(),value:g(g({},Sl([String,Number])),{required:!0}),motionName:String,onChange:Y(),"onUpdate:value":Y()}),u5=(e,t)=>{let{slots:n,emit:r}=t,{value:i,disabled:a,payload:o,title:s,prefixCls:c,label:l=n.label,checked:u,className:d}=e,f=e=>{a||r(`change`,e,i)};return W(`label`,{class:K({[`${c}-item-disabled`]:a},d)},[W(`input`,{class:`${c}-item-input`,type:`radio`,disabled:a,checked:u,onChange:f},null),W(`div`,{class:`${c}-item-label`,title:typeof s==`string`?s:``},[typeof l==`function`?l({value:i,disabled:a,payload:o,title:s}):l??i])])};u5.inheritAttrs=!1;var Eoe=_l(U({name:`ASegmented`,inheritAttrs:!1,props:Bc(Toe(),{options:[],motionName:`thumb-motion`}),slots:Object,setup(e,t){let{emit:n,slots:r,attrs:i}=t,{prefixCls:a,direction:o,size:s}=Z(`segmented`,e),[c,l]=Soe(a),u=V(),d=V(!1),f=G(()=>woe(e.options)),p=(t,r)=>{e.disabled||(n(`update:value`,r),n(`change`,r))};return()=>{let t=a.value;return c(W(`div`,h(h({},i),{},{class:K(t,{[l.value]:!0,[`${t}-block`]:e.block,[`${t}-disabled`]:e.disabled,[`${t}-lg`]:s.value==`large`,[`${t}-sm`]:s.value==`small`,[`${t}-rtl`]:o.value===`rtl`},i.class),ref:u}),[W(`div`,{class:`${t}-group`},[W(Coe,{containerRef:u,prefixCls:t,value:e.value,motionName:`${t}-${e.motionName}`,direction:o.value,getValueIndex:e=>f.value.findIndex(t=>t.value===e),onMotionStart:()=>{d.value=!0},onMotionEnd:()=>{d.value=!1}},null),f.value.map(n=>W(u5,h(h({key:n.value,prefixCls:t,checked:n.value===e.value,onChange:p},n),{},{className:K(n.className,`${t}-item`,{[`${t}-item-selected`]:n.value===e.value&&!d.value}),disabled:!!e.disabled||!!n.disabled}),r))])]))}}})),Doe=e=>{let{componentCls:t}=e;return{[t]:g(g({},Op(e)),{display:`flex`,justifyContent:`center`,alignItems:`center`,padding:e.paddingSM,backgroundColor:e.colorWhite,borderRadius:e.borderRadiusLG,border:`${e.lineWidth}px ${e.lineType} ${e.colorSplit}`,position:`relative`,width:`100%`,height:`100%`,overflow:`hidden`,[`& > ${t}-mask`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,zIndex:10,display:`flex`,flexDirection:`column`,justifyContent:`center`,alignItems:`center`,width:`100%`,height:`100%`,color:e.colorText,lineHeight:e.lineHeight,background:e.QRCodeMaskBackgroundColor,textAlign:`center`,[`& > ${t}-expired , & > ${t}-scanned`]:{color:e.QRCodeTextColor}},"&-icon":{marginBlockEnd:e.marginXS,fontSize:e.controlHeight}}),[`${t}-borderless`]:{borderColor:`transparent`}}},Ooe=Fp(`QRCode`,e=>Doe(Rp(e,{QRCodeTextColor:`rgba(0, 0, 0, 0.88)`,QRCodeMaskBackgroundColor:`rgba(255, 255, 255, 0.96)`}))),koe={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z`}}]},name:`reload`,theme:`outlined`};function d5(e){for(var t=1;t({size:{type:Number,default:160},value:{type:String,required:!0},type:X(`canvas`),color:String,bgColor:String,includeMargin:Boolean,imageSettings:q()}),joe=()=>g(g({},p5()),{errorLevel:X(`M`),icon:String,iconSize:{type:Number,default:40},status:X(`active`),bordered:{type:Boolean,default:!0}}),m5;(function(e){class t{static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:40,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1,l=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;if(!(t.MIN_VERSION<=o&&o<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=o;;u++){let n=t.getNumDataCodewords(u,r)*8,i=a.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.lengthm[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],et.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e>>9)*1335;let a=(t<<10|n)^21522;i(!(a>>>15));for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(!(t>>>18));for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;ne+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.lengtht.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(!(n>>>8)),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}}t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return!!(e>>>t&1)}function i(e){if(!e)throw Error(`Assertion error`)}class a{static makeBytes(e){let t=[];for(let r of e)n(r,8,t);return new a(a.Mode.BYTE,e.length,t)}static makeNumeric(e){if(!a.isNumeric(e))throw RangeError(`String contains non-numeric characters`);let t=[];for(let r=0;r=1<1&&arguments[1]!==void 0?arguments[1]:0,n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null)n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;else if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`)}else a&&i===null&&(i=o)})}),n.join(``)}function C5(e,t){return e.slice().map((e,n)=>n=t.y+t.h?e:e.map((e,n)=>n=t.x+t.w?e:!1))}function w5(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Poe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);d={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}return{x:l,y:u,h:c,w:s,excavation:d}}function T5(e,t){return t==null?e?Moe:Noe:Math.floor(t)}var Foe=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Ioe=U({name:`QRCodeCanvas`,inheritAttrs:!1,props:g(g({},p5()),{level:String,bgColor:String,fgColor:String,marginSize:Number}),setup(e,t){let{attrs:n,expose:r}=t,i=G(()=>e.imageSettings?.src),a=V(null),o=V(null),s=V(!1);return r({toDataURL:(e,t)=>a.value?.toDataURL(e,t)}),ar(()=>{let{value:t,size:n=_5,level:r=v5,bgColor:i=y5,fgColor:c=b5,includeMargin:l=x5,marginSize:u,imageSettings:d}=e;if(a.value!=null){let e=a.value,f=e.getContext(`2d`);if(!f)return;let p=h5.QrCode.encodeText(t,g5[r]).getModules(),m=T5(l,u),h=p.length+m*2,g=w5(p,n,m,d),_=o.value,v=s.value&&g!=null&&_!==null&&_.complete&&_.naturalHeight!==0&&_.naturalWidth!==0;v&&g.excavation!=null&&(p=C5(p,g.excavation));let y=window.devicePixelRatio||1;e.height=e.width=n*y;let b=n/h*y;f.scale(b,b),f.fillStyle=i,f.fillRect(0,0,h,h),f.fillStyle=c,Foe?f.fill(new Path2D(S5(p,m))):p.forEach(function(e,t){e.forEach(function(e,n){e&&f.fillRect(n+m,t+m,1,1)})}),v&&f.drawImage(_,g.x+m,g.y+m,g.w,g.h)}},{flush:`post`}),H(i,()=>{s.value=!1}),()=>{let t=e.size??_5,r={height:`${t}px`,width:`${t}px`},c=null;return i.value!=null&&(c=W(`img`,{src:i.value,key:i.value,style:{display:`none`},onLoad:()=>{s.value=!0},ref:o},null)),W(Ma,null,[W(`canvas`,h(h({},n),{},{style:[r,n.style],ref:a}),null),c])}}}),Loe=U({name:`QRCodeSVG`,inheritAttrs:!1,props:g(g({},p5()),{color:String,level:String,bgColor:String,fgColor:String,marginSize:Number,title:String}),setup(e){let t=null,n=null,r=null,i=null,a=null,o=null;return ar(()=>{let{value:s,size:c=_5,level:l=v5,includeMargin:u=x5,marginSize:d,imageSettings:f}=e;t=h5.QrCode.encodeText(s,g5[l]).getModules(),n=T5(u,d),r=t.length+n*2,i=w5(t,c,n,f),f!=null&&i!=null&&(i.excavation!=null&&(t=C5(t,i.excavation)),o=W(`image`,{"xlink:href":f.src,height:i.h,width:i.w,x:i.x+n,y:i.y+n,preserveAspectRatio:`none`},null)),a=S5(t,n)}),()=>{let t=e.bgColor&&y5,n=e.fgColor&&b5;return W(`svg`,{height:e.size,width:e.size,viewBox:`0 0 ${r} ${r}`},[!!e.title&&W(`title`,null,[e.title]),W(`path`,{fill:t,d:`M0,0 h${r}v${r}H0z`,"shape-rendering":`crispEdges`},null),W(`path`,{fill:n,d:a,"shape-rendering":`crispEdges`},null),o])}}}),Roe=_l(U({name:`AQrcode`,inheritAttrs:!1,props:joe(),emits:[`refresh`],setup(e,t){let{emit:n,attrs:r,expose:i}=t,[a]=$l(`QRCode`),{prefixCls:o}=Z(`qrcode`,e),[s,c]=Ooe(o),[,l]=Jp(),u=B();i({toDataURL:(e,t)=>u.value?.toDataURL(e,t)});let d=G(()=>{let{value:t,icon:n=``,size:r=160,iconSize:i=40,color:a=l.value.colorText,bgColor:o=`transparent`,errorLevel:s=`M`}=e,c={src:n,x:void 0,y:void 0,height:i,width:i,excavate:!0};return{value:t,size:r-(l.value.paddingSM+l.value.lineWidth)*2,level:s,bgColor:o,fgColor:a,imageSettings:n?c:void 0}});return()=>{let t=o.value;return s(W(`div`,h(h({},r),{},{style:[r.style,{width:`${e.size}px`,height:`${e.size}px`,backgroundColor:d.value.bgColor}],class:[c.value,t,{[`${t}-borderless`]:!e.bordered}]}),[e.status!==`active`&&W(`div`,{class:`${t}-mask`},[e.status===`loading`&&W(EX,null,null),e.status===`expired`&&W(Ma,null,[W(`p`,{class:`${t}-expired`},[a.value.expired]),W(Oj,{type:`link`,onClick:e=>n(`refresh`,e)},{default:()=>[a.value.refresh],icon:()=>W(f5,null,null)})]),e.status===`scanned`&&W(`p`,{class:`${t}-scanned`},[a.value.scanned])]),e.type===`canvas`?W(Ioe,h({ref:u},d.value),null):W(Loe,d.value,null)]))}}}));function zoe(e){let t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:r,right:i,bottom:a,left:o}=e.getBoundingClientRect();return r>=0&&o>=0&&i<=t&&a<=n}function Boe(e,t,n,r){let[i,a]=_S(void 0);ar(()=>{let t=typeof e.value==`function`?e.value():e.value;a(t||null)},{flush:`post`});let[o,s]=_S(null),c=()=>{if(!t.value)s(null);else if(i.value){!zoe(i.value)&&t.value&&i.value.scrollIntoView(r.value);let{left:e,top:n,width:a,height:c}=i.value.getBoundingClientRect(),l={left:e,top:n,width:a,height:c,radius:0};JSON.stringify(o.value)!==JSON.stringify(l)&&s(l)}else s(null)};return $r(()=>{H([t,i],()=>{c()},{flush:`post`,immediate:!0}),window.addEventListener(`resize`,c)}),ni(()=>{window.removeEventListener(`resize`,c)}),[G(()=>{if(!o.value)return o.value;let e=n.value?.offset||6,t=n.value?.radius||2;return{left:o.value.left-e,top:o.value.top-e,width:o.value.width+e*2,height:o.value.height+e*2,radius:t}}),i]}var Voe=()=>({arrow:Sl([Boolean,Object]),target:Sl([String,Function,Object]),title:Sl([String,Object]),description:Sl([String,Object]),placement:X(),mask:Sl([Object,Boolean],!0),className:{type:String},style:q(),scrollIntoViewOptions:Sl([Boolean,Object])}),E5=()=>g(g({},Voe()),{prefixCls:{type:String},total:{type:Number},current:{type:Number},onClose:Y(),onFinish:Y(),renderPanel:Y(),onPrev:Y(),onNext:Y()}),Hoe=U({name:`DefaultPanel`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{prefixCls:t,current:r,total:i,title:a,description:o,onClose:s,onPrev:c,onNext:l,onFinish:u}=e;return W(`div`,h(h({},n),{},{class:K(`${t}-content`,n.class)}),[W(`div`,{class:`${t}-inner`},[W(`button`,{type:`button`,onClick:s,"aria-label":`Close`,class:`${t}-close`},[W(`span`,{class:`${t}-close-x`},[Qa(`×`)])]),W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[a])]),W(`div`,{class:`${t}-description`},[o]),W(`div`,{class:`${t}-footer`},[W(`div`,{class:`${t}-sliders`},[i>1?[...Array.from({length:i}).keys()].map((e,t)=>W(`span`,{key:e,class:t===r?`active`:``},null)):null]),W(`div`,{class:`${t}-buttons`},[r===0?null:W(`button`,{class:`${t}-prev-btn`,onClick:c},[Qa(`Prev`)]),r===i-1?W(`button`,{class:`${t}-finish-btn`,onClick:u},[Qa(`Finish`)]):W(`button`,{class:`${t}-next-btn`,onClick:l},[Qa(`Next`)])])])])])}}}),Uoe=U({name:`TourStep`,inheritAttrs:!1,props:E5(),setup(e,t){let{attrs:n}=t;return()=>{let{current:t,renderPanel:r}=e;return W(Ma,null,[typeof r==`function`?r(g(g({},n),e),t):W(Hoe,h(h({},n),e),null)])}}}),D5=0,Woe=hu();function Goe(){let e;return Woe?(e=D5,D5+=1):e=`TEST_OR_SSR`,e}function Koe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:B(``),t=`vc_unique_${Goe()}`;return e.value||t}var O5={fill:`transparent`,"pointer-events":`auto`},qoe=U({name:`TourMask`,props:{prefixCls:{type:String},pos:q(),rootClassName:{type:String},showMask:J(),fill:{type:String,default:`rgba(0,0,0,0.5)`},open:J(),animated:Sl([Boolean,Object]),zIndex:{type:Number}},setup(e,t){let{attrs:n}=t,r=Koe();return()=>{let{prefixCls:t,open:i,rootClassName:a,pos:o,showMask:s,fill:c,animated:l,zIndex:u}=e,d=`${t}-mask-${r}`,f=typeof l==`object`?l?.placeholder:l;return W(Eb,{visible:i,autoLock:!0},{default:()=>i&&W(`div`,h(h({},n),{},{class:K(`${t}-mask`,a,n.class),style:[{position:`fixed`,left:0,right:0,top:0,bottom:0,zIndex:u,pointerEvents:`none`},n.style]}),[s?W(`svg`,{style:{width:`100%`,height:`100%`}},[W(`defs`,null,[W(`mask`,{id:d},[W(`rect`,{x:`0`,y:`0`,width:`100vw`,height:`100vh`,fill:`white`},null),o&&W(`rect`,{x:o.left,y:o.top,rx:o.radius,width:o.width,height:o.height,fill:`black`,class:f?`${t}-placeholder-animated`:``},null)])]),W(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:c,mask:`url(#${d})`},null),o&&W(Ma,null,[W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:`100%`,height:o.top}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:`0`,width:o.left,height:`100%`}),null),W(`rect`,h(h({},O5),{},{x:`0`,y:o.top+o.height,width:`100%`,height:`calc(100vh - ${o.top+o.height}px)`}),null),W(`rect`,h(h({},O5),{},{x:o.left+o.width,y:`0`,width:`calc(100vw - ${o.left+o.width}px)`,height:`100%`}),null)])]):null])})}}}),Joe=[0,0],k5={left:{points:[`cr`,`cl`],offset:[-8,0]},right:{points:[`cl`,`cr`],offset:[8,0]},top:{points:[`bc`,`tc`],offset:[0,-8]},bottom:{points:[`tc`,`bc`],offset:[0,8]},topLeft:{points:[`bl`,`tl`],offset:[0,-8]},leftTop:{points:[`tr`,`tl`],offset:[-8,0]},topRight:{points:[`br`,`tr`],offset:[0,-8]},rightTop:{points:[`tl`,`tr`],offset:[8,0]},bottomRight:{points:[`tr`,`br`],offset:[0,8]},rightBottom:{points:[`bl`,`br`],offset:[8,0]},bottomLeft:{points:[`tl`,`bl`],offset:[0,8]},leftBottom:{points:[`br`,`bl`],offset:[-8,0]}};function A5(){let e=arguments.length>0&&arguments[0]!==void 0&&arguments[0],t={};return Object.keys(k5).forEach(n=>{t[n]=g(g({},k5[n]),{autoArrow:e,targetOffset:Joe})}),t}A5();var Yoe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{builtinPlacements:e,popupAlign:t}=Rh();return{builtinPlacements:e,popupAlign:t,steps:xl(),open:J(),defaultCurrent:{type:Number},current:{type:Number},onChange:Y(),onClose:Y(),onFinish:Y(),mask:Sl([Boolean,Object],!0),arrow:Sl([Boolean,Object],!0),rootClassName:{type:String},placement:X(`bottom`),prefixCls:{type:String,default:`rc-tour`},renderPanel:Y(),gap:q(),animated:Sl([Boolean,Object]),scrollIntoViewOptions:Sl([Boolean,Object],!0),zIndex:{type:Number,default:1001}}},Xoe=U({name:`Tour`,inheritAttrs:!1,props:Bc(M5(),{}),setup(e){let{defaultCurrent:t,placement:n,mask:r,scrollIntoViewOptions:i,open:a,gap:o,arrow:s}=hn(e),c=B(),[l,u]=gS(0,{value:G(()=>e.current),defaultValue:t.value}),[d,f]=gS(void 0,{value:G(()=>e.open),postState:t=>l.value<0||l.value>=e.steps.length?!1:t??!0}),p=V(d.value);ar(()=>{d.value&&!p.value&&u(0),p.value=d.value});let m=G(()=>e.steps[l.value]||{}),_=G(()=>m.value.placement??n.value),v=G(()=>d.value&&(m.value.mask??r.value)),y=G(()=>m.value.scrollIntoViewOptions??i.value),[b,x]=Boe(G(()=>m.value.target),a,o,y),S=G(()=>x.value?m.value.arrow===void 0?s.value:m.value.arrow:!1),C=G(()=>typeof S.value==`object`&&S.value.pointAtCenter);H(C,()=>{var e;(e=c.value)==null||e.forcePopupAlign()}),H(l,()=>{var e;(e=c.value)==null||e.forcePopupAlign()});let w=t=>{var n;u(t),(n=e.onChange)==null||n.call(e,t)};return()=>{let{prefixCls:t,steps:n,onClose:r,onFinish:i,rootClassName:a,renderPanel:o,animated:s,zIndex:u}=e,p=Yoe(e,[`prefixCls`,`steps`,`onClose`,`onFinish`,`rootClassName`,`renderPanel`,`animated`,`zIndex`]);if(x.value===void 0)return null;let y=()=>{f(!1),r?.(l.value)},T=typeof v.value==`boolean`?v.value:!!v.value,E=typeof v.value==`boolean`?void 0:v.value,D=()=>x.value||document.body,O=()=>W(Uoe,h({arrow:S.value,key:`content`,prefixCls:t,total:n.length,renderPanel:o,onPrev:()=>{w(l.value-1)},onNext:()=>{w(l.value+1)},onClose:y,current:l.value,onFinish:()=>{y(),i?.()}},m.value),null),k=G(()=>{let e=b.value||j5,t={};return Object.keys(e).forEach(n=>{typeof e[n]==`number`?t[n]=`${e[n]}px`:t[n]=e[n]}),t});return d.value?W(Ma,null,[W(qoe,{zIndex:u,prefixCls:t,pos:b.value,showMask:T,style:E?.style,fill:E?.color,open:d.value,animated:s,rootClassName:a},null),W(Ob,h(h({},p),{},{arrow:!!p.arrow,builtinPlacements:m.value.target?p.builtinPlacements??A5(C.value):void 0,ref:c,popupStyle:m.value.target?m.value.style:g(g({},m.value.style),{position:`fixed`,left:j5.left,top:j5.top,transform:`translate(-50%, -50%)`}),popupPlacement:_.value,popupVisible:d.value,popupClassName:K(a,m.value.className),prefixCls:t,popup:O,forceRender:!1,destroyPopupOnHide:!0,zIndex:u,mask:!1,getTriggerDOMNode:D}),{default:()=>[W(Eb,{visible:d.value,autoLock:!0},{default:()=>[W(`div`,{class:K(a,`${t}-target-placeholder`),style:g(g({},k.value),{position:`fixed`,pointerEvents:`none`})},null)]})]})]):null}}}),Zoe=()=>g(g({},M5()),{steps:{type:Array},prefixCls:{type:String},current:{type:Number},type:{type:String},"onUpdate:current":Function}),Qoe=U({name:`ATourPanel`,inheritAttrs:!1,props:g(g({},E5()),{cover:{type:Object},nextButtonProps:{type:Object},prevButtonProps:{type:Object},current:{type:Number},type:{type:String}}),setup(e,t){let{attrs:n,slots:r}=t,{current:i,total:a}=hn(e),o=G(()=>i.value===a.value-1),s=t=>{var n;let r=e.prevButtonProps;(n=e.onPrev)==null||n.call(e,t),typeof r?.onClick==`function`&&r?.onClick()},c=t=>{var n,r;let i=e.nextButtonProps;o.value?(n=e.onFinish)==null||n.call(e,t):(r=e.onNext)==null||r.call(e,t),typeof i?.onClick==`function`&&i?.onClick()};return()=>{let{prefixCls:t,title:l,onClose:u,cover:d,description:f,type:p,arrow:m}=e,g=e.prevButtonProps,_=e.nextButtonProps,v;l&&(v=W(`div`,{class:`${t}-header`},[W(`div`,{class:`${t}-title`},[l])]));let y;f&&(y=W(`div`,{class:`${t}-description`},[f]));let b;d&&(b=W(`div`,{class:`${t}-cover`},[d]));let x;x=r.indicatorsRender?r.indicatorsRender({current:i.value,total:a}):[...Array.from({length:a.value}).keys()].map((e,n)=>W(`span`,{key:e,class:K(n===i.value&&`${t}-indicator-active`,`${t}-indicator`)},null));let S=p===`primary`?`default`:`primary`,C={type:`default`,ghost:p===`primary`};return W(Ql,{componentName:`Tour`,defaultLocale:Zl.Tour},{default:e=>W(`div`,h(h({},n),{},{class:K(p===`primary`?`${t}-primary`:``,n.class,`${t}-content`)}),[m&&W(`div`,{class:`${t}-arrow`,key:`arrow`},null),W(`div`,{class:`${t}-inner`},[W(UC,{class:`${t}-close`,onClick:u},null),b,v,y,W(`div`,{class:`${t}-footer`},[a.value>1&&W(`div`,{class:`${t}-indicators`},[x]),W(`div`,{class:`${t}-buttons`},[i.value===0?null:W(Oj,h(h(h({},C),g),{},{onClick:s,size:`small`,class:K(`${t}-prev-btn`,g?.className)}),{default:()=>[ic(g?.children)?g.children():g?.children??e.Previous]}),W(Oj,h(h({type:S},_),{},{onClick:c,size:`small`,class:K(`${t}-next-btn`,_?.className)}),{default:()=>[ic(_?.children)?_?.children():o.value?e.Finish:e.Next]})])])])])})}}}),$oe=e=>{let{defaultType:t,steps:n,current:r,defaultCurrent:i}=e,a=B(i?.value);H(G(()=>r?.value),e=>{a.value=e??i?.value},{immediate:!0});let o=e=>{a.value=e},s=G(()=>typeof a.value==`number`?n&&n.value?.[a.value]?.type:t?.value);return{currentMergedType:G(()=>s.value??t?.value),updateInnerCurrent:o}},ese=e=>{let{componentCls:t,lineHeight:n,padding:r,paddingXS:i,borderRadius:a,borderRadiusXS:o,colorPrimary:s,colorText:c,colorFill:l,indicatorHeight:u,indicatorWidth:d,boxShadowTertiary:f,tourZIndexPopup:p,fontSize:m,colorBgContainer:h,fontWeightStrong:_,marginXS:v,colorTextLightSolid:y,tourBorderRadius:b,colorWhite:x,colorBgTextHover:S,tourCloseSize:C,motionDurationSlow:w,antCls:T}=e;return[{[t]:g(g({},Op(e)),{color:c,position:`absolute`,zIndex:p,display:`block`,visibility:`visible`,fontSize:m,lineHeight:n,width:520,"--antd-arrow-background-color":h,"&-pure":{maxWidth:`100%`,position:`relative`},[`&${t}-hidden`]:{display:`none`},[`${t}-content`]:{position:`relative`},[`${t}-inner`]:{textAlign:`start`,textDecoration:`none`,borderRadius:b,boxShadow:f,position:`relative`,backgroundColor:h,border:`none`,backgroundClip:`padding-box`,[`${t}-close`]:{position:`absolute`,top:r,insetInlineEnd:r,color:e.colorIcon,outline:`none`,width:C,height:C,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:`flex`,alignItems:`center`,justifyContent:`center`,"&:hover":{color:e.colorIconHover,backgroundColor:e.wireframe?`transparent`:e.colorFillContent}},[`${t}-cover`]:{textAlign:`center`,padding:`${r+C+i}px ${r}px 0`,img:{width:`100%`}},[`${t}-header`]:{padding:`${r}px ${r}px ${i}px`,[`${t}-title`]:{lineHeight:n,fontSize:m,fontWeight:_}},[`${t}-description`]:{padding:`0 ${r}px`,lineHeight:n,wordWrap:`break-word`},[`${t}-footer`]:{padding:`${i}px ${r}px ${r}px`,textAlign:`end`,borderRadius:`0 0 ${o}px ${o}px`,display:`flex`,[`${t}-indicators`]:{display:`inline-block`,[`${t}-indicator`]:{width:d,height:u,display:`inline-block`,borderRadius:`50%`,background:l,"&:not(:last-child)":{marginInlineEnd:u},"&-active":{background:s}}},[`${t}-buttons`]:{marginInlineStart:`auto`,[`${T}-btn`]:{marginInlineStart:v}}}},[`${t}-primary, &${t}-primary`]:{"--antd-arrow-background-color":s,[`${t}-inner`]:{color:y,textAlign:`start`,textDecoration:`none`,backgroundColor:s,borderRadius:a,boxShadow:f,[`${t}-close`]:{color:y},[`${t}-indicators`]:{[`${t}-indicator`]:{background:new zf(y).setAlpha(.15).toRgbString(),"&-active":{background:y}}},[`${t}-prev-btn`]:{color:y,borderColor:new zf(y).setAlpha(.15).toRgbString(),backgroundColor:s,"&:hover":{backgroundColor:new zf(y).setAlpha(.15).toRgbString(),borderColor:`transparent`}},[`${t}-next-btn`]:{color:s,borderColor:`transparent`,background:x,"&:hover":{background:new zf(S).onBackground(x).toRgbString()}}}}}),[`${t}-mask`]:{[`${t}-placeholder-animated`]:{transition:`all ${w}`}},[[`&-placement-left`,`&-placement-leftTop`,`&-placement-leftBottom`,`&-placement-right`,`&-placement-rightTop`,`&-placement-rightBottom`].join(`,`)]:{[`${t}-inner`]:{borderRadius:Math.min(b,8)}}},UA(e,{colorBg:`var(--antd-arrow-background-color)`,contentRadius:b,limitVerticalRadius:!0})]},tse=Fp(`Tour`,e=>{let{borderRadiusLG:t,fontSize:n,lineHeight:r}=e;return[ese(Rp(e,{tourZIndexPopup:e.zIndexPopupBase+70,indicatorWidth:6,indicatorHeight:6,tourBorderRadius:t,tourCloseSize:n*r}))]}),nse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i{let{steps:t,current:a,type:o,rootClassName:s}=e,c=nse(e,[`steps`,`current`,`type`,`rootClassName`]),g=K({[`${l.value}-primary`]:p.value===`primary`,[`${l.value}-rtl`]:u.value===`rtl`},f.value,s),_=(e,t)=>W(Qoe,h(h({},e),{},{type:o,current:t}),{indicatorsRender:i.indicatorsRender}),v=e=>{m(e),r(`update:current`,e),r(`change`,e)},y=G(()=>RA({arrowPointAtCenter:!0,autoAdjustOverflow:!0}));return d(W(Xoe,h(h(h({},n),c),{},{rootClassName:g,prefixCls:l.value,current:a,defaultCurrent:e.defaultCurrent,animated:!0,renderPanel:_,onChange:v,steps:t,builtinPlacements:y.value}),null))}}})),N5=Symbol(`appConfigContext`),ise=e=>er(N5,e),ase=()=>tr(N5,{}),P5=Symbol(`appContext`),ose=e=>er(P5,e),sse=Yt({message:{},notification:{},modal:{}}),cse=()=>tr(P5,sse),lse=e=>{let{componentCls:t,colorText:n,fontSize:r,lineHeight:i,fontFamily:a}=e;return{[t]:{color:n,fontSize:r,lineHeight:i,fontFamily:a}}},use=Fp(`App`,e=>[lse(e)]),dse=()=>({rootClassName:String,message:q(),notification:q()}),fse=()=>cse(),F5=U({name:`AApp`,props:Bc(dse(),{}),setup(e,t){let{slots:n}=t,{prefixCls:r}=Z(`app`,e),[i,a]=use(r),o=G(()=>K(a.value,r.value,e.rootClassName)),s=ase(),c=G(()=>({message:g(g({},s.message),e.message),notification:g(g({},s.notification),e.notification)}));ise(c.value);let[l,u]=$U(c.value.message),[d,f]=MW(c.value.notification),[p,m]=cQ();return ose(G(()=>({message:l,notification:d,modal:p})).value),()=>i(W(`div`,{class:o.value},[m(),u(),f(),n.default?.call(n)]))}});F5.useApp=fse,F5.install=function(e){e.component(F5.name,F5)};var I5=[`wrap`,`nowrap`,`wrap-reverse`],L5=[`flex-start`,`flex-end`,`start`,`end`,`center`,`space-between`,`space-around`,`space-evenly`,`stretch`,`normal`,`left`,`right`],R5=[`center`,`start`,`end`,`flex-start`,`flex-end`,`self-start`,`self-end`,`baseline`,`normal`,`stretch`],pse=(e,t)=>{let n={};return I5.forEach(r=>{n[`${e}-wrap-${r}`]=t.wrap===r}),n},mse=(e,t)=>{let n={};return R5.forEach(r=>{n[`${e}-align-${r}`]=t.align===r}),n[`${e}-align-stretch`]=!t.align&&!!t.vertical,n},hse=(e,t)=>{let n={};return L5.forEach(r=>{n[`${e}-justify-${r}`]=t.justify===r}),n};function gse(e,t){return K(g(g(g({},pse(e,t)),mse(e,t)),hse(e,t)))}var _se=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,"&-vertical":{flexDirection:`column`},"&-rtl":{direction:`rtl`},"&:empty":{display:`none`}}}},vse=e=>{let{componentCls:t}=e;return{[t]:{"&-gap-small":{gap:e.flexGapSM},"&-gap-middle":{gap:e.flexGap},"&-gap-large":{gap:e.flexGapLG}}}},yse=e=>{let{componentCls:t}=e,n={};return I5.forEach(e=>{n[`${t}-wrap-${e}`]={flexWrap:e}}),n},bse=e=>{let{componentCls:t}=e,n={};return R5.forEach(e=>{n[`${t}-align-${e}`]={alignItems:e}}),n},xse=e=>{let{componentCls:t}=e,n={};return L5.forEach(e=>{n[`${t}-justify-${e}`]={justifyContent:e}}),n},Sse=Fp(`Flex`,e=>{let t=Rp(e,{flexGapSM:e.paddingXS,flexGap:e.padding,flexGapLG:e.paddingLG});return[_se(t),vse(t),yse(t),bse(t),xse(t)]});function z5(e){return[`small`,`middle`,`large`].includes(e)}var Cse=()=>({prefixCls:X(),vertical:J(),wrap:X(),justify:X(),align:X(),flex:Sl([Number,String]),gap:Sl([Number,String]),component:yl()}),wse=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i[o.value,c.value,gse(o.value,e),{[`${o.value}-rtl`]:a.value===`rtl`,[`${o.value}-gap-${e.gap}`]:z5(e.gap),[`${o.value}-vertical`]:e.vertical??i?.value.vertical}]);return()=>{let{flex:t,gap:i,component:a=`div`}=e,o=wse(e,[`flex`,`gap`,`component`]),c={};return t&&(c.flex=t),i&&!z5(i)&&(c.gap=`${i}px`),s(W(a,h({class:[r.class,l.value],style:[r.style,c]},sm(o,[`justify`,`wrap`,`align`,`vertical`])),{default:()=>[n.default?.call(n)]}))}}})),B5=s({Affix:()=>fm,Alert:()=>vne,Anchor:()=>kh,AnchorLink:()=>Nm,App:()=>F5,AutoComplete:()=>Jk,AutoCompleteOptGroup:()=>Kk,AutoCompleteOption:()=>Gk,Avatar:()=>YA,AvatarGroup:()=>JA,BackTop:()=>rq,Badge:()=>tj,BadgeRibbon:()=>QA,Breadcrumb:()=>AM,BreadcrumbItem:()=>Vj,BreadcrumbSeparator:()=>kM,Button:()=>Oj,ButtonGroup:()=>Cj,Calendar:()=>QF,Card:()=>jL,CardGrid:()=>AL,CardMeta:()=>kL,Carousel:()=>YR,Cascader:()=>oU,CheckableTag:()=>pG,Checkbox:()=>hU,CheckboxGroup:()=>mU,Col:()=>_U,Collapse:()=>UL,CollapsePanel:()=>HL,Comment:()=>bU,Compact:()=>NO,ConfigProvider:()=>sG,DatePicker:()=>YG,Descriptions:()=>lK,DescriptionsItem:()=>nK,DirectoryTree:()=>L3,Divider:()=>fK,Drawer:()=>jK,Dropdown:()=>pK,DropdownButton:()=>Pj,Empty:()=>tm,Flex:()=>Tse,FloatButton:()=>iq,FloatButtonGroup:()=>QK,Form:()=>JH,FormItem:()=>zH,FormItemRest:()=>ow,Grid:()=>gU,Image:()=>uY,ImagePreviewGroup:()=>lY,Input:()=>$q,InputGroup:()=>xq,InputNumber:()=>UY,InputPassword:()=>Qq,InputSearch:()=>Cq,Layout:()=>pX,LayoutContent:()=>fX,LayoutFooter:()=>uX,LayoutHeader:()=>lX,LayoutSider:()=>dX,List:()=>uZ,ListItem:()=>aZ,ListItemMeta:()=>nZ,LocaleProvider:()=>EU,Mentions:()=>HZ,MentionsOption:()=>VZ,Menu:()=>EM,MenuDivider:()=>_M,MenuItem:()=>oM,MenuItemGroup:()=>gM,Modal:()=>uQ,MonthPicker:()=>WG,PageHeader:()=>BQ,Pagination:()=>tZ,Popconfirm:()=>WQ,Popover:()=>qA,Progress:()=>w$,QRCode:()=>Roe,QuarterPicker:()=>qG,Radio:()=>vF,RadioButton:()=>_F,RadioGroup:()=>gF,RangePicker:()=>JG,Rate:()=>L$,Result:()=>n1,Row:()=>r1,Segmented:()=>Eoe,Select:()=>Rk,SelectOptGroup:()=>Bk,SelectOption:()=>zk,Skeleton:()=>EL,SkeletonAvatar:()=>TL,SkeletonButton:()=>xL,SkeletonImage:()=>wL,SkeletonInput:()=>SL,SkeletonTitle:()=>ZI,Slider:()=>L1,Space:()=>LQ,Spin:()=>EX,Statistic:()=>SQ,StatisticCountdown:()=>xQ,Step:()=>o0,Steps:()=>s0,SubMenu:()=>dM,Switch:()=>h0,TabPane:()=>zI,Table:()=>j6,TableColumn:()=>E6,TableColumnGroup:()=>D6,TableSummary:()=>A6,TableSummaryCell:()=>k6,TableSummaryRow:()=>O6,Tabs:()=>VI,Tag:()=>mG,Textarea:()=>Bq,TimePicker:()=>Kie,TimeRangePicker:()=>c8,Timeline:()=>Yie,TimelineItem:()=>l8,Tooltip:()=>KA,Tour:()=>rse,Transfer:()=>yie,Tree:()=>z3,TreeNode:()=>R3,TreeSelect:()=>Wie,TreeSelectNode:()=>a8,Typography:()=>Aae,TypographyLink:()=>E8,TypographyParagraph:()=>D8,TypographyText:()=>O8,TypographyTitle:()=>k8,Upload:()=>poe,UploadDragger:()=>foe,Watermark:()=>yoe,WeekPicker:()=>UG,message:()=>_W,notification:()=>qW}),V5=(e,t)=>new zf(e).setAlpha(t).toRgbString(),H5=(e,t)=>new zf(e).lighten(t).toHexString(),Ese=e=>{let t=ep(e,{theme:`dark`});return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[6],6:t[5],7:t[4],8:t[6],9:t[5],10:t[4]}},Dse=(e,t)=>{let n=e||`#000`,r=t||`#fff`;return{colorBgBase:n,colorTextBase:r,colorText:V5(r,.85),colorTextSecondary:V5(r,.65),colorTextTertiary:V5(r,.45),colorTextQuaternary:V5(r,.25),colorFill:V5(r,.18),colorFillSecondary:V5(r,.12),colorFillTertiary:V5(r,.08),colorFillQuaternary:V5(r,.04),colorBgElevated:H5(n,12),colorBgContainer:H5(n,8),colorBgLayout:H5(n,0),colorBgSpotlight:H5(n,26),colorBorder:H5(n,26),colorBorderSecondary:H5(n,19)}},Ose=(e,t)=>{let n=Object.keys(cp).map(t=>{let n=ep(e[t],{theme:`dark`});return Array(10).fill(1).reduce((e,r,i)=>(e[`${t}-${i+1}`]=n[i],e),{})}).reduce((e,t)=>(e=g(g({},e),t),e),{}),r=t??yp(e);return g(g(g({},r),n),up(e,{generateColorPalettes:Ese,generateNeutralColorPalettes:Dse}))};function kse(e){let{sizeUnit:t,sizeStep:n}=e,r=n-2;return{sizeXXL:t*(r+10),sizeXL:t*(r+6),sizeLG:t*(r+2),sizeMD:t*(r+2),sizeMS:t*(r+1),size:t*r,sizeSM:t*r,sizeXS:t*(r-1),sizeXXS:t*(r-1)}}var Ase=(e,t)=>{let n=t??yp(e),r=n.fontSizeSM,i=n.controlHeight-4;return g(g(g(g(g({},n),kse(t??e)),vp(r)),{controlHeight:i}),op(g(g({},n),{controlHeight:i})))};function jse(){let[e,t,n]=Jp();return{theme:e,token:t,hashId:n}}var Mse={defaultConfig:Up,defaultSeed:Up.token,useToken:jse,defaultAlgorithm:yp,darkAlgorithm:Ose,compactAlgorithm:Ase},Nse={version:uf,install:function(e){return Object.keys(B5).forEach(t=>{let n=B5[t];n.install&&e.use(n)}),e.use(lf.StyleProvider),e.config.globalProperties.$message=_W,e.config.globalProperties.$notification=qW,e.config.globalProperties.$info=uQ.info,e.config.globalProperties.$success=uQ.success,e.config.globalProperties.$error=uQ.error,e.config.globalProperties.$warning=uQ.warning,e.config.globalProperties.$confirm=uQ.confirm,e.config.globalProperties.$destroyAll=uQ.destroyAll,e}},Pse=typeof window<`u`,U5,W5=e=>U5=e,G5=Symbol();function K5(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var q5=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Fse(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function J5(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Ise(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function Y5(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function X5(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Z5=typeof navigator==`object`?navigator:{userAgent:``},Q5=/Macintosh/.test(Z5.userAgent)&&/AppleWebKit/.test(Z5.userAgent)&&!/Safari/.test(Z5.userAgent),Ise=Pse?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Q5?Lse:`msSaveOrOpenBlob`in Z5?Rse:zse:()=>{};function Lse(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?X5(r):Y5(r.href)?J5(e,t,n):(r.target=`_blank`,X5(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){X5(r)},0))}function Rse(e,t=`download`,n){if(typeof e==`string`){if(Y5(e))J5(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){X5(t)})}}else navigator.msSaveOrOpenBlob(Fse(e,n),t)}function zse(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return J5(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(q5.HTMLElement))||`safari`in q5,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Q5)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Bse}=Object;function Vse(){let e=Ie(!0),t=e.run(()=>B({})),n=[],r=[],i=an({install(e){W5(i),i._a=e,e.provide(G5,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var $5=()=>{};function e7(e,t,n,r=$5){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Le()&&Re(i),i}function t7(e,...t){e.forEach(e=>{e(...t)})}var Hse=e=>e(),n7=Symbol(),r7=Symbol();function i7(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];if(K5(i)&&K5(r)&&Object.hasOwn(e,n)&&!cn(r)&&!$t(r)){e[n]=i7(i,r);let t=rn(e)[n];cn(t)&&tn(t)&&dn(t)}else e[n]=r}return e}var Use=Symbol();function Wse(e){return!e||typeof e!=`object`||!Object.hasOwn(e,Use)}var{assign:a7}=Object;function Gse(e){return!!(cn(e)&&e.effect)}function Kse(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),a7(hn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=an(G(()=>{W5(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=o7(e,l,t,n,r,!0),c}function o7(e,t,n={},r,i,a){let o,s=a7({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p,m=r.state.value[e];!a&&!m&&(r.state.value[e]={});let h;function g(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:`patch function`,storeId:e,events:p}):(i7(r.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:p});let i=h=Symbol();zn().then(()=>{h===i&&(l=!0)}),u=!0,t7(d,n,r.state.value[e])}let _=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{a7(e,t)})}:$5;function v(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let y=(t,n=``)=>{if(n7 in t)return t[r7]=n,t;let i=function(){W5(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}t7(f,{args:n,name:i[r7],store:b,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:b,n)}catch(e){throw t7(o,e),e}return l instanceof Promise?l.then(e=>(t7(a,e),e)).catch(e=>(t7(o,e),Promise.reject(e))):(t7(a,l),l)};return i[n7]=!0,i[r7]=n,i},b=Yt({_p:r,$id:e,$onAction:e7.bind(null,f),$patch:g,$reset:_,$subscribe(t,n={}){if(d.has(t))return $5;let i=e7(d,t,n.detached,()=>a()),a=o.run(()=>H(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:`direct`,events:p},r)},a7({},c,n)));return i},$dispose:v});r._s.set(e,b);let x=(r._a&&r._a.runWithContext||Hse)(()=>r._e.run(()=>(o=Ie()).run(()=>t({action:y}))));for(let t in x){let n=x[t];cn(n)&&!Gse(n)||$t(n)?a||(m&&Wse(n)&&(cn(n)?n.value=m[t]:((n instanceof Set||n instanceof Map)&&n.clear(),i7(n,m[t]))),r.state.value[e][t]=n):typeof n==`function`&&(x[t]=y(n,t),s.actions[t]=n)}return a7(b,x),a7(rn(b),x),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:e=>{g(t=>{a7(t,e)})}}),r._p.forEach(e=>{let t=o.run(()=>e({store:b,app:r._a,pinia:r,options:s}));a7(b,t)}),m&&a&&n.hydrate&&n.hydrate(b.$state,m),l=!0,u=!0,b}function qse(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=nr();return n||=o?tr(G5,null):null,n&&W5(n),n=U5,n._s.has(e)||(i?o7(e,t,r,n):Kse(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jse(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function s7(e,t=`|`){return e.map(e=>y7(e)).join(t)}function Yse(e,t){return typeof t==`bigint`?t.toString():t}var Xse=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function c7(e){return new Xse(e)}function Zse(e){return e==null}function Qse(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function $se(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r){let e=t._zod.def.shape[a];return r?r(e,a):e}):p7(e,a,r?r(n.value,a):n.value))}}function ece(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?f7(e,n,()=>t[n]):p7(e,n,r.value))}}function h7(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function tce(e){return JSON.stringify(e)}function nce(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var rce=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function g7(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ice=c7(()=>{if(A7.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _7(e){if(g7(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return g7(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ace(e){return _7(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var oce=new Set([`string`,`number`,`symbol`]);function sce(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function v7(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function cce(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function y7(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function lce(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var uce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},dce={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function fce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return m7(i,e,b7(e,t)),v7(e,h7(n,{shape:i,checks:[]}))}function b7(e,t){let n=d7(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function pce(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(b7(e,t)),a={};return m7(a,e,Reflect.ownKeys(d7(e)).filter(e=>!i.has(e))),v7(e,h7(n,{shape:a,checks:[]}))}function mce(e,t){if(!_7(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=d7(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function x7(e,t){let n={};return m7(n,e,Reflect.ownKeys(d7(e))),ece(n,t),n}function hce(e,t){if(!_7(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return v7(e,h7(e._zod.def,{shape:x7(e,t)}))}function gce(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return m7(n,e,Reflect.ownKeys(d7(e))),m7(n,t,Reflect.ownKeys(d7(t))),v7(e,h7(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function _ce(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(b7(t,n)):void 0,o={};return m7(o,t,Reflect.ownKeys(d7(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),v7(t,h7(t._zod.def,{shape:o,checks:[]}))}function vce(e,t,n){let r=n?new Set(b7(t,n)):void 0,i={};return m7(i,t,Reflect.ownKeys(d7(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),v7(t,h7(t._zod.def,{shape:i}))}function yce(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function S7(e){return typeof e==`string`?e:e?.message}function Sce(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function Cce(e,t,n){var r;for(let i=t;ie;return t[Lce]=!0,t}var D7,O7={value:void 0,enumerable:!1},k7=`captureStackTrace`in Error?Error:null;function zce(e){let t=k7;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return k7=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function Bce(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){O7.value=new a(r);try{Object.defineProperty(n,"_zod",O7)}finally{O7.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),kce(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?zce(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Vce=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Hce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(D7=globalThis).__zod_globalConfig??(D7.__zod_globalConfig={});var A7=globalThis.__zod_globalConfig;function j7(e){return e&&Object.assign(A7,e),A7}var Uce=()=>{let e={string:{unit:`کاراکتر`,verb:`داشته باشد`},file:{unit:`بایت`,verb:`داشته باشد`},array:{unit:`آیتم`,verb:`داشته باشد`},set:{unit:`آیتم`,verb:`داشته باشد`},map:{unit:`آیتم`,verb:`داشته باشد`}};function t(t){return e[t]??null}let n={regex:`ورودی`,email:`آدرس ایمیل`,url:`URL`,emoji:`ایموجی`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`تاریخ و زمان ایزو`,date:`تاریخ ایزو`,time:`زمان ایزو`,duration:`مدت زمان ایزو`,ipv4:`IPv4 آدرس`,ipv6:`IPv6 آدرس`,mac:`MAC آدرس`,cidrv4:`IPv4 دامنه`,cidrv6:`IPv6 دامنه`,base64:`base64-encoded رشته`,base64url:`base64url-encoded رشته`,json_string:`JSON رشته`,e164:`E.164 عدد`,credit_card:`شماره کارت اعتباری`,currency_code:`کد ارز`,iban:`IBAN`,jwt:`JWT`,template_literal:`ورودی`},r={nan:`NaN`,number:`عدد`,array:`آرایه`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=C7(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ورودی نامعتبر: می‌بایست instanceof ${e.expected} می‌بود، ${i} دریافت شد`:`ورودی نامعتبر: می‌بایست ${t} می‌بود، ${i} دریافت شد`}case`invalid_value`:return e.values.length===1?`ورودی نامعتبر: می‌بایست ${y7(e.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${s7(e.values,`|`)} می‌بود`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} ${r.unit??`عنصر`} باشد`:`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} باشد`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} باشد`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`رشته نامعتبر: باید با "${t.prefix}" شروع شود`:t.format===`ends_with`?`رشته نامعتبر: باید با "${t.suffix}" تمام شود`:t.format===`includes`?`رشته نامعتبر: باید شامل "${t.includes}" باشد`:t.format===`regex`?`رشته نامعتبر: باید با الگوی ${t.pattern} مطابقت داشته باشد`:`${n[t.format]??e.format} نامعتبر`}case`not_multiple_of`:return`عدد نامعتبر: باید مضرب ${e.divisor} باشد`;case`unrecognized_keys`:return`کلید${e.keys.length>1?`های`:``} ناشناس: ${s7(e.keys,`, `)}`;case`invalid_key`:return`کلید ناشناس در ${e.origin}`;case`invalid_union`:return`ورودی نامعتبر`;case`invalid_element`:return`مقدار نامعتبر در ${e.origin}`;default:return`ورودی نامعتبر`}}};function Wce(){return{localeError:Uce()}}var Gce={items_per_page:`/ صفحه`,jump_to:`برو به`,jump_to_confirm:`تایید`,page:``,prev_page:`صفحه قبلی`,next_page:`صفحه بعدی`,prev_5:`۵ صفحه قبلی`,next_5:`۵ صفحه بعدی`,prev_3:`۳ صفحه قبلی`,next_3:`۳ صفحه بعدی`},Kce={locale:`fa_IR`,today:`امروز`,now:`اکنون`,backToToday:`بازگشت به روز`,ok:`باشه`,clear:`پاک کردن`,month:`ماه`,year:`سال`,timeSelect:`انتخاب زمان`,dateSelect:`انتخاب تاریخ`,monthSelect:`یک ماه را انتخاب کنید`,yearSelect:`یک سال را انتخاب کنید`,decadeSelect:`یک دهه را انتخاب کنید`,yearFormat:`YYYY`,dateFormat:`M/D/YYYY`,dayFormat:`D`,dateTimeFormat:`M/D/YYYY HH:mm:ss`,monthBeforeYear:!0,previousMonth:`ماه قبل (PageUp)`,nextMonth:`ماه بعد (PageDown)`,previousYear:`سال قبل (Control + left)`,nextYear:`سال بعد (Control + right)`,previousDecade:`دهه قبل`,nextDecade:`دهه بعد`,previousCentury:`قرن قبل`,nextCentury:`قرن بعد`},M7={placeholder:`انتخاب زمان`,rangePlaceholder:[`زمان شروع`,`زمان پایان`]},N7={lang:g({placeholder:`انتخاب تاریخ`,yearPlaceholder:`انتخاب سال`,quarterPlaceholder:`انتخاب فصل`,monthPlaceholder:`انتخاب ماه`,weekPlaceholder:`انتخاب هفته`,rangePlaceholder:[`تاریخ شروع`,`تاریخ پایان`],rangeYearPlaceholder:[`سال شروع`,`سال پایان`],rangeMonthPlaceholder:[`ماه شروع`,`ماه پایان`],rangeWeekPlaceholder:[`هفته شروع`,`هفته پایان`]},Kce),timePickerLocale:g({},M7)},qce=N7,P7="${label} از نوع ${type} معتبر نیست",Jce={locale:`fa`,Pagination:Gce,DatePicker:N7,TimePicker:M7,Calendar:qce,global:{placeholder:`لطفاً انتخاب کنید`},Table:{filterTitle:`منوی فیلتر`,filterConfirm:`تایید`,filterReset:`پاک کردن`,filterEmptyText:`بدون فیلتر`,emptyText:`بدون داده`,selectAll:`انتخاب صفحه‌ی کنونی`,selectInvert:`معکوس کردن انتخاب‌ها در صفحه ی کنونی`,selectNone:`انتخاب هیچکدام`,selectionAll:`انتخاب همه داده‌ها`,sortTitle:`مرتب سازی`,expand:`باز شدن ردیف`,collapse:`بستن ردیف`,triggerDesc:`ترتیب نزولی`,triggerAsc:`ترتیب صعودی`,cancelSort:`لغوِ ترتیبِ داده شده`},Modal:{okText:`تایید`,cancelText:`لغو`,justOkText:`تایید`},Popconfirm:{okText:`تایید`,cancelText:`لغو`},Transfer:{titles:[``,``],searchPlaceholder:`جستجو`,itemUnit:`عدد`,itemsUnit:`عدد`,remove:`حذف`,selectCurrent:`انتخاب صفحه فعلی`,removeCurrent:`پاک کردن انتخاب‌های صفحه فعلی`,selectAll:`انتخاب همه`,removeAll:`پاک کردن همه انتخاب‌ها`,selectInvert:`معکوس کردن انتخاب‌ها در صفحه ی کنونی`},Upload:{uploading:`در حال آپلود...`,removeFile:`حذف فایل`,uploadError:`خطا در آپلود`,previewFile:`مشاهده‌ی فایل`,downloadFile:`دریافت فایل`},Empty:{description:`داده‌ای موجود نیست`},Icon:{icon:`آیکن`},Text:{edit:`ویرایش`,copy:`کپی`,copied:`کپی شد`,expand:`توسعه`},PageHeader:{back:`برگشت`},Form:{optional:`(اختیاری)`,defaultValidateMessages:{default:"خطا در ${label}",required:"فیلد ${label} اجباریست",enum:"${label} باید یکی از [${enum}] باشد",whitespace:"${label} نمیتواند خالی باشد",date:{format:"ساختار تاریخ در ${label} نامعتبر است",parse:"${label} قابل تبدیل به تاریخ نیست",invalid:"${label} تاریخی نا معتبر است"},types:{string:P7,method:P7,array:P7,object:P7,number:P7,date:P7,boolean:P7,integer:P7,float:P7,regexp:P7,email:P7,url:P7,hex:P7},string:{len:"${label} باید ${len} کاراکتر باشد",min:"${label} باید حداقل ${min} کاراکتر باشد",max:"${label} باید حداکثر ${max} کاراکتر باشد",range:"${label} باید بین ${min}-${max} کاراکتر باشد"},number:{len:"${label} باید برابر ${len}",min:"${label} حداقل میتواند ${min} باشد",max:"${label} حداکثر میتواند ${max} باشد",range:"${label} باید بین ${min}-${max} باشد"},array:{len:"تعداد ${label} باید ${len} باشد.",min:"تعداد ${label} حداقل باید ${min} باشد",max:"تعداد ${label} حداکثر باید ${max} باشد",range:"مقدار ${label} باید بین ${min}-${max} باشد"},pattern:{mismatch:"الگوی ${label} با ${pattern} برابری نمی‌کند"}}},Image:{preview:`نمایش`}},Yce=U({__name:`App`,setup(e){let t={algorithm:Mse.defaultAlgorithm,token:{colorPrimary:`#ff5a00`,colorInfo:`#ff5a00`,colorLink:`#e04f00`,fontFamily:`"IRANSans", Tahoma, sans-serif`,borderRadius:8}};return(e,n)=>{let r=ui(`RouterView`),i=ui(`a-config-provider`);return Ra(),Ua(i,{theme:t,direction:`rtl`,locale:fn(Jce)},{default:Zn(()=>[W(r)]),_:1},8,[`locale`])}}}),F7=e=>e.startsWith(`/`);function I7(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Xce(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&I7(e.default)}var L7=Object.assign;function R7(e,t){let n={};for(let r in t){let i=t[r];n[r]=B7(i)?i.map(e):e(i)}return n}var z7=()=>{},B7=Array.isArray;function V7(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var H7=Symbol(``);function U7(e,t){return L7(Error(),{type:e,[H7]:!0},t)}function W7(e,t){return e instanceof Error&&H7 in e&&(t==null||!!(e.type&t))}var Zce=Symbol(``),G7=Symbol(``),K7=Symbol(``),q7=Symbol(``),J7=Symbol(``),Qce=Symbol(``);function $ce(){return tr(K7)}function ele(e){return tr(q7)}var Y7=typeof document<`u`,X7=/#/g,tle=/&/g,nle=/\//g,rle=/=/g,ile=/\?/g,Z7=/\+/g,ale=/%5B/g,ole=/%5D/g,Q7=/%5E/g,sle=/%60/g,$7=/%7B/g,cle=/%7C/g,e9=/%7D/g,lle=/%20/g;function t9(e){return e==null?``:encodeURI(``+e).replace(cle,`|`).replace(ale,`[`).replace(ole,`]`)}function ule(e){return t9(e).replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function n9(e){return t9(e).replace(Z7,`%2B`).replace(lle,`+`).replace(X7,`%23`).replace(tle,`%26`).replace(sle,"`").replace($7,`{`).replace(e9,`}`).replace(Q7,`^`)}function dle(e){return n9(e).replace(rle,`%3D`)}function fle(e){return t9(e).replace(X7,`%23`).replace(ile,`%3F`)}function ple(e){return fle(e).replace(nle,`%2F`)}function r9(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var mle=/\/$/,hle=e=>e.replace(mle,``);function i9(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=yle(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:r9(o)}}function gle(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function a9(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function _le(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&o9(t.matched[r],n.matched[i])&&s9(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function o9(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function s9(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!vle(e[n],t[n]))return!1;return!0}function vle(e,t){return B7(e)?c9(e,t):B7(t)?c9(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function c9(e,t){return B7(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function yle(e,t){if(F7(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var l9={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function ble(e){if(!e){if(Y7){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),hle(e)}var xle=/^[^#]+#/;function Sle(e,t){return e.replace(xle,`#`)+t}function Cle(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var u9=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function wle(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Cle(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function d9(e,t){return(history.state?history.state.position-t:-1)+e}var f9=new Map;function Tle(e){f9.set(e,u9())}function Ele(e){let t=f9.get(e);return f9.delete(e),t}function p9(e,t=!1){for(let n of f9.keys()){let r=parseInt(n,10);(r===e||!t&&r>e)&&f9.delete(n)}}function Dle(e){return typeof e==`string`||e&&typeof e==`object`}function m9(e){return typeof e==`string`||typeof e==`symbol`}function Ole(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&n9(e)):[r&&n9(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function kle(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=B7(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function g9(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _9(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(U7(4,{from:n,to:t})):e instanceof Error?c(e):Dle(e)?c(U7(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function v9(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(t===`beforeRouteEnter`||o.instances[e]){if(I7(s)){let c=(s.__vccOpts||s)[t];c&&a.push(_9(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Xce(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&_9(c,n,r,o,e,i)()}))}}}return a}function Ale(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oo9(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>o9(e,s))||i.push(s))}return[n,r,i]}var jle=()=>location.protocol+`//`+location.host;function y9(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),a9(n,``)}return a9(n,e)+r+i}function Mle(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=y9(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(L7({},e.state,{scroll:u9()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function b9(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function Nle(e){let{history:t,location:n}=window,r={value:y9(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:jle()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){let o=L7({},t.state,b9(i.value.back,e,i.value.forward,!0),n,{position:i.value.position});a(e,o,!0),p9(o.position,!0),r.value=e}function s(e,n){let o=L7({},i.value,t.state,{forward:e,scroll:u9()});a(o.current,o,!0),a(e,L7({},b9(r.value,e,null),{position:o.position+1},n),!1),p9(o.position),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ple(e){e=ble(e);let t=Nle(e),n=Mle(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=L7({location:``,base:e,go:r,createHref:Sle.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var Fle={type:0,value:``},Ile=/[a-zA-Z0-9_]/;function Lle(e){if(!e)return[[]];if(e===`/`)return[[Fle]];if(!F7(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===80?1:-1:0}function S9(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Hle={strict:!1,end:!0,sensitive:!1};function Ule(e,t,n){let r=L7(Ble(Lle(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Wle(e,t){let n=[],r=new Map;t=V7(Hle,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=T9(e);s.aliasOf=r&&r.record;let l=V7(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(T9(L7({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!F7(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Ule(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!E9(d)&&o(e.name)),D9(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:z7}function o(e){if(m9(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=qle(e,n);n.splice(t,0,e),e.record.name&&!E9(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw U7(1,{location:e});s=i.record.name,a=L7(w9(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&w9(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw U7(1,{location:e,currentLocation:t});s=i.record.name,a=L7({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Kle(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function w9(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function T9(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Gle(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Gle(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function E9(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Kle(e){return e.reduce((e,t)=>L7(e,t.meta),{})}function qle(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;S9(e,t[i])<0?r=i:n=i+1}let i=Jle(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Jle(e){let t=e;for(;t=t.parent;)if(D9(t)&&S9(e,t)===0)return t}function D9({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function O9(e){let t=tr(K7),n=tr(q7),r=G(()=>{let n=fn(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(o9.bind(null,i));if(o>-1)return o;let s=k9(e[t-2]);return t>1&&k9(i)===s&&a[a.length-1].path!==s?a.findIndex(o9.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&Qle(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&s9(n.params,r.value.params));function s(n={}){if(Zle(n)){let n=t[fn(e.replace)?`replace`:`push`](fn(e.to)).catch(z7);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Yle(e){return e.length===1?e[0]:e}var Xle=U({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:O9,setup(e,{slots:t}){let n=Yt(O9(e)),{options:r}=tr(K7),i=G(()=>({[A9(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[A9(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Yle(t.default(n));return e.custom?r:Oo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Zle(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Qle(e,t){for(let n in t){let r=t[n],i=e[n];if(B7(r)){if(!B7(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}else if(r!==i)return!1}return!0}function k9(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var A9=(e,t,n)=>e??t??n,$le=U({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=tr(J7),i=G(()=>e.route||r.value),a=tr(G7,0),o=G(()=>{let e=fn(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);er(G7,G(()=>o.value+1)),er(Zce,s),er(J7,i);let c=new Set;er(Qce,c);let l=B(),u=l9,{app:d}=fo().appContext;return H(()=>[l.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!o9(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,f=o&&o.components[a];if(!f)return j9(n.default,{Component:f,route:r});let p=o.props[a],m=p?p===!0?r.params:typeof p==`function`?p(r):p:null,h=e=>{e.component.isUnmounted&&(o.instances[a]=null)},g=e=>zn(()=>{if(u===r||i.value!==r||e.el.getRootNode()!==d._container.getRootNode())return;let t=u;u=r;for(let e of c)e(r,t)}),_=Oo(f,L7({},m,t,{onVnodeUnmounted:h,onVnodeMounted:g,onVnodeUpdated:g,ref:l}));return j9(n.default,{Component:_,route:r})||_}}});function j9(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var eue=$le;function tue(e){let t=e.matcher||Wle(e.routes,e),n=e.parseQuery||Ole,r=e.stringifyQuery||h9,i=e.history,a=g9(),o=g9(),s=g9(),c=V(l9),l=V(0),u=l9;Y7&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=R7.bind(null,e=>``+e),f=R7.bind(null,ple),p=R7.bind(null,r9);function m(e,n){let r,i;m9(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?l9:c.value;let r=i9(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return L7(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=L7({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?l9:c.value));let o;if(e.path!=null)o=L7({},e,{path:i9(n,e.path,a.path).path});else{let t=L7({},e.params);for(let e in t)t[e]??delete t[e];o=L7({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=gle(r,L7({},e,{hash:ule(u),path:s.path})),h=i.createHref(m);return L7({fullPath:m,hash:u,query:r===h9?kle(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?i9(n,e,c.value.path):L7({},e)}function x(e,t){if(u!==e)return U7(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(L7(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),L7({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=u=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=w(n,i);if(l)return T(L7(b(l),{state:typeof l==`object`?L7({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&_le(r,i,n)&&(f=U7(16,{to:d,from:i}),ee(i,i,!0,!1)),(f?Promise.resolve(f):O(d,i)).catch(e=>W7(e)?W7(e,2)?e:R(e):I(e,d,i)).then(e=>{if(e){if(W7(e,2))return T(L7({replace:s},b(e.to),{state:typeof e.to==`object`?L7({},a,e.to.state):a,force:o}),t||d)}else e=A(d,i,!0,s,a);return k(d,i,e),e})}function E(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=z.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function O(e,t){let n,[r,i,s]=Ale(e,t);n=v9(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(_9(r,e,t))});let c=E.bind(null,e,t);return n.push(c),ie(n).then(()=>{n=[];for(let r of a.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).then(()=>{n=v9(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(_9(r,e,t))});return n.push(c),ie(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(B7(r.beforeEnter))for(let i of r.beforeEnter)n.push(_9(i,e,t));else n.push(_9(r.beforeEnter,e,t))}return n.push(c),ie(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=v9(s,`beforeRouteEnter`,e,t,D),n.push(c),ie(n))).then(()=>{n=[];for(let r of o.list())n.push(_9(r,e,t));return n.push(c),ie(n)}).catch(e=>W7(e,8)?e:Promise.reject(e))}function k(e,t,n){s.list().forEach(r=>D(()=>r(e,t,n)))}function A(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===l9,l=Y7?history.state:{};n&&(r||s?i.replace(e.fullPath,L7({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ee(e,t,n,s),R()}let j;function M(){j||=i.listen((e,t,n)=>{if(!re.listening)return;let r=y(e),a=w(r,re.currentRoute.value);if(a){T(L7(a,{replace:!0,force:!0}),r).catch(z7);return}u=r;let o=c.value;Y7&&n.delta&&Tle(d9(o.fullPath,n.delta)),O(r,o).catch(e=>W7(e,12)?e:W7(e,2)?(T(L7(b(e.to),{force:!0}),r).then(e=>{W7(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(z7),Promise.reject()):(n.delta&&i.go(-n.delta,!1),I(e,r,o))).then(e=>{e||=A(r,o,!1),e&&(n.delta&&!W7(e,8)?i.go(-n.delta,!1):n.type===`pop`&&W7(e,20)&&i.go(-1,!1)),k(r,o,e)}).catch(z7)})}let N=g9(),P=g9(),F;function I(e,t,n){R(e);let r=P.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function L(){return F&&c.value!==l9?Promise.resolve():new Promise((e,t)=>{N.add([e,t])})}function R(e){return F||(F=!e,M(),N.list().forEach(([t,n])=>e?n(e):t()),N.reset()),e}function ee(t,n,r,i){let{scrollBehavior:a}=e;if(!Y7||!a)return Promise.resolve();let o=!r&&Ele(d9(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return zn().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&wle(e)).catch(e=>t===c.value&&I(e,t,n))}let te=e=>i.go(e),ne,z=new Set,re={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:C,go:te,back:()=>te(-1),forward:()=>te(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:P.add,isReady:L,install(e){e.component(`RouterLink`,Xle),e.component(`RouterView`,eue),e.config.globalProperties.$router=re,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>fn(c)}),Y7&&!ne&&c.value===l9&&(ne=!0,S(i.location).catch(e=>{}));let t={};for(let e in l9)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(K7,re),e.provide(q7,Xt(t)),e.provide(J7,c);let n=e.unmount;z.add(e),e.unmount=function(){z.delete(e),z.size<1&&(u=l9,j&&j(),j=null,c.value=l9,ne=!1,F=!1),n()}}};function ie(e){return e.reduce((e,t)=>e.then(()=>D(t)),Promise.resolve())}return re}var nue=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,rue=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,iue=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function aue(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t)oue(e);else return t}function oue(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function sue(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!iue.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(nue.test(e)||rue.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,aue)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var cue=/#/g,lue=/&/g,uue=/\//g,due=/=/g,M9=/\+/g,fue=/%5e/gi,pue=/%60/gi,mue=/%7c/gi,hue=/%20/gi;function gue(e){return encodeURI(``+e).replace(mue,`|`)}function N9(e){return gue(typeof e==`string`?e:JSON.stringify(e)).replace(M9,`%2B`).replace(hue,`+`).replace(cue,`%23`).replace(lue,`%26`).replace(pue,"`").replace(fue,`^`).replace(uue,`%2F`)}function P9(e){return N9(e).replace(due,`%3D`)}function F9(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function _ue(e){return F9(e.replace(M9,` `))}function vue(e){return F9(e.replace(M9,` `))}function yue(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=_ue(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=vue(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function bue(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${P9(e)}=${N9(t)}`).join(`&`):`${P9(e)}=${N9(t)}`:P9(e)}function xue(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>bue(t,e[t])).filter(Boolean).join(`&`)}var Sue=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Cue=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,wue=/^([/\\]\s*){2,}[^/\\]/,Tue=/\/$|\/\?|\/#/,Eue=/^\.?\//;function I9(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?Sue.test(e):Cue.test(e)||(t.acceptRelative?wue.test(e):!1)}function L9(e=``,t){return t?Tue.test(e):e.endsWith(`/`)}function Due(e=``,t){if(!t)return(L9(e)?e.slice(0,-1):e)||`/`;if(!L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Oue(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(L9(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function kue(e,t){if(jue(t)||I9(e))return e;let n=Due(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Nue(n,e)}function Aue(e,t){let n=z9(e);return n.search=xue({...yue(n.search),...t}),Pue(n)}function jue(e){return!e||e===`/`}function Mue(e){return e&&e!==`/`}function Nue(e,...t){let n=e||``;for(let e of t.filter(e=>Mue(e)))if(n){let t=e.replace(Eue,``);n=Oue(n)+t}else n=e;return n}var R9=Symbol.for(`ufo:protocolRelative`);function z9(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!I9(e,{acceptRelative:!0}))return t?z9(t+e):B9(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=B9(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[R9]:!r}}function B9(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Pue(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[R9]?(e.protocol||``)+`//`:``)+i+a+t+n+r}var V9=class extends Error{constructor(e,t){super(e,t),this.name=`FetchError`,t?.cause&&!this.cause&&(this.cause=t.cause)}};function Fue(e){let t=e.error?.message||e.error?.toString()||``,n=e.request?.method||e.options?.method||`GET`,r=e.request?.url||String(e.request)||`/`,i=new V9(`${`[${n}] ${JSON.stringify(r)}`}: ${e.response?`${e.response.status} ${e.response.statusText}`:``}${t?` ${t}`:``}`,e.error?{cause:e.error}:void 0);for(let t of[`request`,`options`,`response`])Object.defineProperty(i,t,{get(){return e[t]}});for(let[t,n]of[[`data`,`_data`],[`status`,`status`],[`statusCode`,`status`],[`statusText`,`statusText`],[`statusMessage`,`statusText`]])Object.defineProperty(i,t,{get(){return e.response&&e.response[n]}});return i}var Iue=new Set(Object.freeze([`PATCH`,`POST`,`PUT`,`DELETE`]));function H9(e=`GET`){return Iue.has(e.toUpperCase())}function Lue(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}var Rue=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]),zue=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Bue(e=``){if(!e)return`json`;let t=e.split(`;`).shift()||``;return zue.test(t)?`json`:t===`text/event-stream`?`stream`:Rue.has(t)||t.startsWith(`text/`)?`text`:`blob`}function Vue(e,t,n,r){let i=Hue(t?.headers??e?.headers,n?.headers,r),a;return(n?.query||n?.params||t?.params||t?.query)&&(a={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:a,params:a,headers:i}}function Hue(e,t,n){if(!t)return new n(e);let r=new n(t);if(e)for(let[t,i]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(t,i);return r}async function U9(e,t){if(t){if(Array.isArray(t))for(let n of t)await n(e);else await t(e)}}var Uue=new Set([408,409,425,429,500,502,503,504]),Wue=new Set([101,204,205,304]);function W9(e={}){let{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function i(e){let t=e.error&&e.error.name===`AbortError`&&!e.options.timeout||!1;if(e.options.retry!==!1&&!t){let t;t=typeof e.options.retry==`number`?e.options.retry:+!H9(e.options.method);let n=e.response&&e.response.status||500;if(t>0&&(Array.isArray(e.options.retryStatusCodes)?e.options.retryStatusCodes.includes(n):Uue.has(n))){let n=typeof e.options.retryDelay==`function`?e.options.retryDelay(e):e.options.retryDelay||0;return n>0&&await new Promise(e=>setTimeout(e,n)),a(e.request,{...e.options,retry:t-1})}}let n=Fue(e);throw Error.captureStackTrace&&Error.captureStackTrace(n,a),n}let a=async function(a,o={}){let s={request:a,options:Vue(a,o,e.defaults,n),response:void 0,error:void 0};if(s.options.method&&(s.options.method=s.options.method.toUpperCase()),s.options.onRequest&&(await U9(s,s.options.onRequest),s.options.headers instanceof n||(s.options.headers=new n(s.options.headers||{}))),typeof s.request==`string`&&(s.options.baseURL&&(s.request=kue(s.request,s.options.baseURL)),s.options.query&&(s.request=Aue(s.request,s.options.query),delete s.options.query),`query`in s.options&&delete s.options.query,`params`in s.options&&delete s.options.params),s.options.body&&H9(s.options.method)){if(Lue(s.options.body)){let e=s.options.headers.get(`content-type`);typeof s.options.body!=`string`&&(s.options.body=e===`application/x-www-form-urlencoded`?new URLSearchParams(s.options.body).toString():JSON.stringify(s.options.body)),e||s.options.headers.set(`content-type`,`application/json`),s.options.headers.has(`accept`)||s.options.headers.set(`accept`,`application/json`)}else(`pipeTo`in s.options.body&&typeof s.options.body.pipeTo==`function`||typeof s.options.body.pipe==`function`)&&(`duplex`in s.options||(s.options.duplex=`half`))}let c;if(!s.options.signal&&s.options.timeout){let e=new r;c=setTimeout(()=>{let t=Error(`[TimeoutError]: The operation was aborted due to timeout`);t.name=`TimeoutError`,t.code=23,e.abort(t)},s.options.timeout),s.options.signal=e.signal}try{s.response=await t(s.request,s.options)}catch(e){return s.error=e,s.options.onRequestError&&await U9(s,s.options.onRequestError),await i(s)}finally{c&&clearTimeout(c)}if((s.response.body||s.response._bodyInit)&&!Wue.has(s.response.status)&&s.options.method!==`HEAD`){let e=(s.options.parseResponse?`json`:s.options.responseType)||Bue(s.response.headers.get(`content-type`)||``);switch(e){case`json`:{let e=await s.response.text(),t=s.options.parseResponse||sue;s.response._data=t(e);break}case`stream`:s.response._data=s.response.body||s.response._bodyInit;break;default:s.response._data=await s.response[e]()}}return s.options.onResponse&&await U9(s,s.options.onResponse),!s.options.ignoreResponseError&&s.response.status>=400&&s.response.status<600?(s.options.onResponseError&&await U9(s,s.options.onResponseError),await i(s)):s.response},o=async function(e,t){return(await a(e,t))._data};return o.raw=a,o.native=(...e)=>t(...e),o.create=(t={},n={})=>W9({...e,...n,defaults:{...e.defaults,...n.defaults,...t}}),o}var G9=(function(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`unable to locate global object`)})(),Gue=G9.fetch?(...e)=>G9.fetch(...e):()=>Promise.reject(Error(`[ofetch] global.fetch is not supported!`)),Kue=G9.Headers,que=G9.AbortController,K9=W9({fetch:Gue,Headers:Kue,AbortController:que}).create({baseURL:`/api`,credentials:`include`}),q9=null,Jue=e=>{q9=e};async function J9(e,t={},n=!1){let r=q9?.token();try{return await K9(e,{...t,headers:{...t.headers,...r&&{Authorization:`Bearer ${r}`}}})}catch(r){if(r instanceof V9&&r.status===401&&!n&&q9){if(await q9.refresh())return J9(e,t,!0);q9.onExpired()}throw r}}var Y9=e=>e instanceof V9?e.data??{}:{};function Yue(e){if(e instanceof V9){if(!e.status)return`ارتباط با سرور برقرار نشد`;let t=Y9(e).message;return Array.isArray(t)?t.join(`، `):t||(e.status===413?`حجم فایل بیش از حد مجاز است`:e.status===429?`تعداد درخواست‌ها زیاد است؛ کمی بعد تلاش کنید`:`خطای سرور (${e.status})`)}return`خطای ناشناخته`}var X9=null,Z9=qse(`auth`,{state:()=>({token:``,user:null,ready:!1}),getters:{isAdmin:e=>e.user?.role===`ADMIN`},actions:{setSession(e){this.token=e.accessToken,this.user=e.user},clear(){this.token=``,this.user=null},async login(e){this.setSession(await K9(`/admin/auth/login`,{method:`POST`,body:e}))},refresh(){return X9??=K9(`/admin/auth/refresh`,{method:`POST`}).then(e=>(this.setSession(e),!0)).catch(()=>(this.clear(),!1)).finally(()=>{X9=null}),X9},async init(){this.ready||=(Jue({token:()=>this.token,refresh:()=>this.refresh(),onExpired:()=>{this.clear(),$9.push({name:`login`,query:{redirect:$9.currentRoute.value.fullPath}})}}),await this.refresh(),!0)},async logout(){await K9(`/admin/auth/logout`,{method:`POST`}).catch(()=>void 0),this.clear(),await $9.push({name:`login`})}}}),Xue=`modulepreload`,Zue=function(e){return`/`+e},Que={},$ue=function(e){return e.pathname.endsWith(`.css`)},ede=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Q9=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=Zue(t,n);let r=s(t),i=$ue(r);return ede(Que,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Xue,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},$9=tue({history:Ple(),routes:[{path:`/login`,name:`login`,component:()=>Q9(()=>import(`./LoginPage-D6HPXv4g.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{public:!0,title:`ورود`}},{path:`/`,component:()=>Q9(()=>import(`./AdminLayout-j5VE2EZ9.js`),__vite__mapDeps([6,1,2,3,7,8])),children:[{path:``,name:`dashboard`,component:()=>Q9(()=>import(`./DashboardPage-Do-v_tLH.js`),__vite__mapDeps([9,1,2,7,10,11])),meta:{title:`داشبورد`}},{path:`products`,name:`products`,component:()=>Q9(()=>import(`./ProductsPage-CVHBMUNz.js`),__vite__mapDeps([12,1,2,13])),meta:{title:`محصولات`}},{path:`products/new`,name:`product-new`,component:()=>Q9(()=>import(`./ProductEditPage-DTSEsrWG.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`محصول جدید`}},{path:`products/:id`,name:`product-edit`,component:()=>Q9(()=>import(`./ProductEditPage-DTSEsrWG.js`),__vite__mapDeps([14,1,2,7,10,11,4,15,16])),meta:{title:`ویرایش محصول`}},{path:`categories`,name:`categories`,component:()=>Q9(()=>import(`./CategoriesPage-DSZGpYF5.js`),__vite__mapDeps([17,1,2,7,10,11])),meta:{title:`دسته‌بندی‌ها`}},{path:`categories/new`,name:`category-new`,component:()=>Q9(()=>import(`./CategoryEditPage-B4VYwreC.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`دسته جدید`}},{path:`categories/:id`,name:`category-edit`,component:()=>Q9(()=>import(`./CategoryEditPage-B4VYwreC.js`),__vite__mapDeps([18,1,2,10,11,4,19,15,16])),meta:{title:`ویرایش دسته`}},{path:`sections`,name:`sections`,component:()=>Q9(()=>import(`./SectionsPage-Da2RoCd0.js`),__vite__mapDeps([20,1,2,7,10,11])),meta:{title:`بخش‌های سایت`}},{path:`sections/:key`,name:`section-edit`,component:()=>Q9(()=>import(`./SectionEditPage-BfSd3Uov.js`),__vite__mapDeps([21,1,2,7,10,11,4,19,15])),meta:{title:`ویرایش بخش`}},{path:`messages`,name:`messages`,component:()=>Q9(()=>import(`./MessagesPage-Bb_X9ABq.js`),__vite__mapDeps([22,1,2,7,10,11])),meta:{title:`پیام‌های تماس`}},{path:`media`,name:`media`,component:()=>Q9(()=>import(`./MediaPage-DnfskIVE.js`),__vite__mapDeps([23,1,2,7,10,11])),meta:{title:`کتابخانه رسانه`}},{path:`users`,name:`users`,component:()=>Q9(()=>import(`./UsersPage-C15bNN1T.js`),__vite__mapDeps([24,1,2,7,10,11,4])),meta:{title:`کاربران`,roles:[`ADMIN`]}},{path:`profile`,name:`profile`,component:()=>Q9(()=>import(`./ProfilePage-DxhVPJ4c.js`),__vite__mapDeps([25,1,2,10,11,4])),meta:{title:`حساب کاربری`}}]},{path:`/:pathMatch(.*)*`,redirect:`/`}]});$9.beforeEach(async e=>{let t=Z9();return await t.init(),e.meta.public?t.user&&e.name===`login`?{name:`dashboard`}:!0:t.user?e.meta.roles&&!e.meta.roles.includes(t.user.role)?{name:`dashboard`}:!0:{name:`login`,query:{redirect:e.fullPath}}}),$9.afterEach(e=>{document.title=e.meta.title?`${e.meta.title} | پنل ایمن پیشگامان`:`پنل ایمن پیشگامان`}),j7(Wce()),rc(Yce).use(Vse()).use($9).use(Nse).mount(`#app`);export{u7 as $,wce as A,fi as At,Yse as B,je as Bt,Rce as C,$r as Ct,sce as D,gi as Dt,tce as E,er as Et,Ice as F,Yt as Ft,pce as G,h7 as H,g7 as I,B as It,C7 as J,lce as K,_7 as L,fn as Lt,Jse as M,H as Mt,Dce as N,Zn as Nt,bce as O,aee as Ot,Ace as P,cn as Pt,oce as Q,Oce as R,Se as Rt,Ece as S,ni as St,jce as T,Ra as Tt,cce as U,gce as V,Zse as W,fce as X,_ce as Y,xce as Z,Cce as _,U as _t,ele as a,y7 as at,Qse as b,lee as bt,Hce as c,Ma as ct,A7 as d,Ua as dt,vce as et,dce as f,eo as ft,l7 as g,W as gt,ice as h,Qa as ht,Yue as i,nce as it,$se as j,Vi as jt,mce as k,ui as kt,Bce as l,G as lt,yce as m,$a as mt,J9 as n,ace as nt,$ce as o,_W as ot,uce as p,uee as pt,w7 as q,Y9 as r,Sce as rt,Vce as s,$s as st,Z9 as t,hce as tt,j7 as u,Ja as ut,c7 as v,Oo as vt,Fce as w,ri as wt,v7 as x,zn as xt,rce as y,tr as yt,s7 as z,_e as zt}; \ No newline at end of file diff --git a/apps/admin/dist/index.html b/apps/admin/dist/index.html index 903a7a0..ca24b91 100644 --- a/apps/admin/dist/index.html +++ b/apps/admin/dist/index.html @@ -6,7 +6,7 @@ پنل مدیریت ایمن پیشگامان - + diff --git a/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js b/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js new file mode 100644 index 0000000..b95cda9 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-6UPY3HEI.js @@ -0,0 +1,9040 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __commonJS, + __esm, + __export, + __name, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/chunked-blob-reader/chunked-blob-reader.js +async function blobReader(blob, onChunk, chunkSize = 1024 * 1024) { + const size = blob.size; + let totalBytesRead = 0; + while (totalBytesRead < size) { + const slice = blob.slice(totalBytesRead, Math.min(size, totalBytesRead + chunkSize)); + onChunk(new Uint8Array(await slice.arrayBuffer())); + totalBytesRead += slice.size; + } +} +var init_chunked_blob_reader = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/chunked-blob-reader/chunked-blob-reader.js"() { + __name(blobReader, "blobReader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-blob-browser/blobHasher.js +var blobHasher; +var init_blobHasher = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-blob-browser/blobHasher.js"() { + init_chunked_blob_reader(); + blobHasher = /* @__PURE__ */ __name(async function blobHasher2(hashCtor, blob) { + const hash = new hashCtor(); + await blobReader(blob, (chunk) => { + hash.update(chunk); + }); + return hash.digest(); + }, "blobHasher"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/is-array-buffer/is-array-buffer.js +var isArrayBuffer; +var init_is_array_buffer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/is-array-buffer/is-array-buffer.js"() { + isArrayBuffer = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-buffer-from/buffer-from.js +var fromArrayBuffer, fromString; +var init_buffer_from = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-buffer-from/buffer-from.js"() { + init_is_array_buffer(); + fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => { + if (!isArrayBuffer(input)) { + throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`); + } + return Buffer.from(input, offset, length); + }, "fromArrayBuffer"); + fromString = /* @__PURE__ */ __name((input, encoding) => { + if (typeof input !== "string") { + throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`); + } + return encoding ? Buffer.from(input, encoding) : Buffer.from(input); + }, "fromString"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/fromBase64.js +var BASE64_REGEX, fromBase64; +var init_fromBase64 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/fromBase64.js"() { + init_buffer_from(); + BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/; + fromBase64 = /* @__PURE__ */ __name((input) => { + if (input.length * 3 % 4 !== 0) { + throw new TypeError(`Incorrect padding on base64 string.`); + } + if (!BASE64_REGEX.exec(input)) { + throw new TypeError(`Invalid base64 string.`); + } + const buffer = fromString(input, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); + }, "fromBase64"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.js +var fromUtf8; +var init_fromUtf8 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.js"() { + init_buffer_from(); + fromUtf8 = /* @__PURE__ */ __name((input) => { + const buf = fromString(input, "utf8"); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT); + }, "fromUtf8"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.js +var toBase64; +var init_toBase64 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.js"() { + init_buffer_from(); + init_fromUtf8(); + toBase64 = /* @__PURE__ */ __name((_input) => { + let input; + if (typeof _input === "string") { + input = fromUtf8(_input); + } else { + input = _input; + } + if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { + throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array."); + } + return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("base64"); + }, "toBase64"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/blob/Uint8ArrayBlobAdapter.js +function bindUint8ArrayBlobAdapter(toUtf83, fromUtf83, toBase643, fromBase642) { + return class Uint8ArrayBlobAdapter2 extends Uint8Array { + static { + __name(this, "Uint8ArrayBlobAdapter"); + } + static fromString(source, encoding = "utf-8") { + if (typeof source === "string") { + if (encoding === "base64") { + return Uint8ArrayBlobAdapter2.mutate(fromBase642(source)); + } + return Uint8ArrayBlobAdapter2.mutate(fromUtf83(source)); + } + throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`); + } + static mutate(source) { + Object.setPrototypeOf(source, Uint8ArrayBlobAdapter2.prototype); + return source; + } + transformToString(encoding = "utf-8") { + if (encoding === "base64") { + return toBase643(this); + } + return toUtf83(this); + } + }; +} +var init_Uint8ArrayBlobAdapter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/blob/Uint8ArrayBlobAdapter.js"() { + __name(bindUint8ArrayBlobAdapter, "bindUint8ArrayBlobAdapter"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.js +var toUtf8; +var init_toUtf8 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.js"() { + init_buffer_from(); + toUtf8 = /* @__PURE__ */ __name((input) => { + if (typeof input === "string") { + return input; + } + if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { + throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array."); + } + return fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8"); + }, "toUtf8"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/uuid/v4.js +function bindV4(getRandomValues2) { + if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") { + return () => crypto.randomUUID(); + } + return () => { + const rnds = new Uint8Array(16); + getRandomValues2(rnds); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + return decimalToHex[rnds[0]] + decimalToHex[rnds[1]] + decimalToHex[rnds[2]] + decimalToHex[rnds[3]] + "-" + decimalToHex[rnds[4]] + decimalToHex[rnds[5]] + "-" + decimalToHex[rnds[6]] + decimalToHex[rnds[7]] + "-" + decimalToHex[rnds[8]] + decimalToHex[rnds[9]] + "-" + decimalToHex[rnds[10]] + decimalToHex[rnds[11]] + decimalToHex[rnds[12]] + decimalToHex[rnds[13]] + decimalToHex[rnds[14]] + decimalToHex[rnds[15]]; + }; +} +var decimalToHex; +var init_v4 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/uuid/v4.js"() { + decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0")); + __name(bindV4, "bindV4"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js +var copyDocumentWithTransform; +var init_copyDocumentWithTransform = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js"() { + copyDocumentWithTransform = /* @__PURE__ */ __name((source, _schemaRef, _transform = (_) => _) => source, "copyDocumentWithTransform"); + } +}); + +// ../../node_modules/.pnpm/@smithy+types@4.19.0/node_modules/@smithy/types/dist-cjs/index.js +var require_dist_cjs = __commonJS({ + "../../node_modules/.pnpm/@smithy+types@4.19.0/node_modules/@smithy/types/dist-cjs/index.js"(exports) { + var HttpAuthLocation; + (function(HttpAuthLocation2) { + HttpAuthLocation2["HEADER"] = "header"; + HttpAuthLocation2["QUERY"] = "query"; + })(HttpAuthLocation || (HttpAuthLocation = {})); + var HttpApiKeyAuthLocation; + (function(HttpApiKeyAuthLocation2) { + HttpApiKeyAuthLocation2["HEADER"] = "header"; + HttpApiKeyAuthLocation2["QUERY"] = "query"; + })(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {})); + var EndpointURLScheme2; + (function(EndpointURLScheme3) { + EndpointURLScheme3["HTTP"] = "http"; + EndpointURLScheme3["HTTPS"] = "https"; + })(EndpointURLScheme2 || (EndpointURLScheme2 = {})); + var AlgorithmId2; + (function(AlgorithmId3) { + AlgorithmId3["MD5"] = "md5"; + AlgorithmId3["CRC32"] = "crc32"; + AlgorithmId3["CRC32C"] = "crc32c"; + AlgorithmId3["SHA1"] = "sha1"; + AlgorithmId3["SHA256"] = "sha256"; + })(AlgorithmId2 || (AlgorithmId2 = {})); + var getChecksumConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => { + const checksumAlgorithms = []; + if (runtimeConfig.sha256 !== void 0) { + checksumAlgorithms.push({ + algorithmId: /* @__PURE__ */ __name(() => AlgorithmId2.SHA256, "algorithmId"), + checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.sha256, "checksumConstructor") + }); + } + if (runtimeConfig.md5 != void 0) { + checksumAlgorithms.push({ + algorithmId: /* @__PURE__ */ __name(() => AlgorithmId2.MD5, "algorithmId"), + checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig.md5, "checksumConstructor") + }); + } + return { + addChecksumAlgorithm(algo) { + checksumAlgorithms.push(algo); + }, + checksumAlgorithms() { + return checksumAlgorithms; + } + }; + }, "getChecksumConfiguration"); + var resolveChecksumRuntimeConfig2 = /* @__PURE__ */ __name((clientConfig) => { + const runtimeConfig = {}; + clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { + runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor(); + }); + return runtimeConfig; + }, "resolveChecksumRuntimeConfig"); + var getDefaultClientConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => { + return getChecksumConfiguration2(runtimeConfig); + }, "getDefaultClientConfiguration"); + var resolveDefaultRuntimeConfig2 = /* @__PURE__ */ __name((config) => { + return resolveChecksumRuntimeConfig2(config); + }, "resolveDefaultRuntimeConfig"); + var FieldPosition; + (function(FieldPosition2) { + FieldPosition2[FieldPosition2["HEADER"] = 0] = "HEADER"; + FieldPosition2[FieldPosition2["TRAILER"] = 1] = "TRAILER"; + })(FieldPosition || (FieldPosition = {})); + var SMITHY_CONTEXT_KEY3 = "__smithy_context"; + var IniSectionType4; + (function(IniSectionType5) { + IniSectionType5["PROFILE"] = "profile"; + IniSectionType5["SSO_SESSION"] = "sso-session"; + IniSectionType5["SERVICES"] = "services"; + })(IniSectionType4 || (IniSectionType4 = {})); + var RequestHandlerProtocol; + (function(RequestHandlerProtocol2) { + RequestHandlerProtocol2["HTTP_0_9"] = "http/0.9"; + RequestHandlerProtocol2["HTTP_1_0"] = "http/1.0"; + RequestHandlerProtocol2["TDS_8_0"] = "tds/8.0"; + })(RequestHandlerProtocol || (RequestHandlerProtocol = {})); + exports.AlgorithmId = AlgorithmId2; + exports.EndpointURLScheme = EndpointURLScheme2; + exports.FieldPosition = FieldPosition; + exports.HttpApiKeyAuthLocation = HttpApiKeyAuthLocation; + exports.HttpAuthLocation = HttpAuthLocation; + exports.IniSectionType = IniSectionType4; + exports.RequestHandlerProtocol = RequestHandlerProtocol; + exports.SMITHY_CONTEXT_KEY = SMITHY_CONTEXT_KEY3; + exports.getDefaultClientConfiguration = getDefaultClientConfiguration2; + exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig2; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/getSmithyContext.js +var import_types, getSmithyContext; +var init_getSmithyContext = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/getSmithyContext.js"() { + import_types = __toESM(require_dist_cjs()); + getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/hasOwn.js +function hasOwn(o, k) { + return Object.prototype.hasOwnProperty.call(o, k); +} +var init_hasOwn = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/hasOwn.js"() { + __name(hasOwn, "hasOwn"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpRequest.js +function cloneQuery(query) { + return Object.keys(query).reduce((carry, paramName) => { + const param = query[paramName]; + return { + ...carry, + [paramName]: Array.isArray(param) ? [...param] : param + }; + }, {}); +} +var HttpRequest; +var init_httpRequest = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpRequest.js"() { + HttpRequest = class _HttpRequest { + static { + __name(this, "HttpRequest"); + } + method; + protocol; + hostname; + port; + path; + query; + headers; + username; + password; + fragment; + body; + constructor(options) { + this.method = options.method || "GET"; + this.hostname = options.hostname || "localhost"; + this.port = options.port; + this.query = options.query || {}; + this.headers = options.headers || {}; + this.body = options.body; + this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:"; + this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/"; + this.username = options.username; + this.password = options.password; + this.fragment = options.fragment; + } + static clone(request) { + const cloned = new _HttpRequest({ + ...request, + headers: { ...request.headers } + }); + if (cloned.query) { + cloned.query = cloneQuery(cloned.query); + } + return cloned; + } + static isInstance(request) { + if (!request) { + return false; + } + const req = request; + return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object"; + } + clone() { + return _HttpRequest.clone(this); + } + }; + __name(cloneQuery, "cloneQuery"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js +var HttpResponse; +var init_httpResponse = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js"() { + HttpResponse = class { + static { + __name(this, "HttpResponse"); + } + statusCode; + reason; + headers; + body; + constructor(options) { + this.statusCode = options.statusCode; + this.reason = options.reason; + this.headers = options.headers || {}; + this.body = options.body; + } + static isInstance(response) { + if (!response) + return false; + const resp = response; + return typeof resp.statusCode === "number" && typeof resp.headers === "object"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostLabel.js +var VALID_HOST_LABEL_REGEX, isValidHostLabel; +var init_isValidHostLabel = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostLabel.js"() { + VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`); + isValidHostLabel = /* @__PURE__ */ __name((value, allowSubDomains = false) => { + if (!allowSubDomains) { + return VALID_HOST_LABEL_REGEX.test(value); + } + const labels = value.split("."); + for (const label of labels) { + if (!isValidHostLabel(label)) { + return false; + } + } + return true; + }, "isValidHostLabel"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostname.js +function isValidHostname(hostname) { + const hostPattern = /^[a-z0-9][a-z0-9.-]*[a-z0-9]$/; + return hostPattern.test(hostname); +} +var init_isValidHostname = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/isValidHostname.js"() { + __name(isValidHostname, "isValidHostname"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js +var normalizeProvider; +var init_normalizeProvider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js"() { + normalizeProvider = /* @__PURE__ */ __name((input) => { + if (typeof input === "function") + return input; + const promisified = Promise.resolve(input); + return () => promisified; + }, "normalizeProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseQueryString.js +function parseQueryString(querystring) { + const query = {}; + querystring = querystring.replace(/^\?/, ""); + if (querystring) { + for (const pair of querystring.split("&")) { + let [key, value = null] = pair.split("="); + key = decodeURIComponent(key); + if (value) { + value = decodeURIComponent(value); + } + if (!(key in query)) { + query[key] = value; + } else if (Array.isArray(query[key])) { + query[key].push(value); + } else { + query[key] = [query[key], value]; + } + } + } + return query; +} +var init_parseQueryString = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseQueryString.js"() { + __name(parseQueryString, "parseQueryString"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseUrl.js +var parseUrl; +var init_parseUrl = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/parseUrl.js"() { + init_parseQueryString(); + parseUrl = /* @__PURE__ */ __name((url) => { + if (typeof url === "string") { + return parseUrl(new URL(url)); + } + const { hostname, pathname, port, protocol, search } = url; + let query; + if (search) { + query = parseQueryString(search); + } + return { + hostname, + port: port ? parseInt(port) : void 0, + protocol, + path: pathname, + query + }; + }, "parseUrl"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js +var toEndpointV1; +var init_toEndpointV1 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js"() { + init_hasOwn(); + init_parseUrl(); + toEndpointV1 = /* @__PURE__ */ __name((endpoint) => { + if (typeof endpoint === "object") { + if ("url" in endpoint) { + const v1Endpoint = parseUrl(endpoint.url); + if (endpoint.headers) { + v1Endpoint.headers = {}; + for (const name in endpoint.headers) { + if (!hasOwn(endpoint.headers, name)) + continue; + v1Endpoint.headers[name.toLowerCase()] = endpoint.headers[name].join(", "); + } + } + return v1Endpoint; + } + return endpoint; + } + return parseUrl(endpoint); + }, "toEndpointV1"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/index.js +var init_transport = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/transport/index.js"() { + init_getSmithyContext(); + init_hasOwn(); + init_httpRequest(); + init_httpResponse(); + init_isValidHostLabel(); + init_isValidHostname(); + init_normalizeProvider(); + init_parseQueryString(); + init_parseUrl(); + init_toEndpointV1(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +var parseBoolean, expectBoolean, expectNumber, MAX_FLOAT, expectFloat32, expectLong, expectInt, expectInt32, expectShort, expectByte, expectSizedInt, castInt, expectNonNull, expectObject, expectString, expectUnion, strictParseDouble, strictParseFloat, strictParseFloat32, NUMBER_REGEX, parseNumber, limitedParseDouble, handleFloat, limitedParseFloat, limitedParseFloat32, parseFloatString, strictParseLong, strictParseInt, strictParseInt32, strictParseShort, strictParseByte, stackTraceWarning, logger; +var init_parse_utils = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js"() { + init_transport(); + parseBoolean = /* @__PURE__ */ __name((value) => { + switch (value) { + case "true": + return true; + case "false": + return false; + default: + throw new Error(`Unable to parse boolean value "${value}"`); + } + }, "parseBoolean"); + expectBoolean = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "number") { + if (value === 0 || value === 1) { + logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (value === 0) { + return false; + } + if (value === 1) { + return true; + } + } + if (typeof value === "string") { + const lower = value.toLowerCase(); + if (lower === "false" || lower === "true") { + logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); + } + if (lower === "false") { + return false; + } + if (lower === "true") { + return true; + } + } + if (typeof value === "boolean") { + return value; + } + throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); + }, "expectBoolean"); + expectNumber = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + const parsed = parseFloat(value); + if (!Number.isNaN(parsed)) { + if (String(parsed) !== String(value)) { + logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); + } + return parsed; + } + } + if (typeof value === "number") { + return value; + } + throw new TypeError(`Expected number, got ${typeof value}: ${value}`); + }, "expectNumber"); + MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); + expectFloat32 = /* @__PURE__ */ __name((value) => { + const expected = expectNumber(value); + if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { + if (Math.abs(expected) > MAX_FLOAT) { + throw new TypeError(`Expected 32-bit float, got ${value}`); + } + } + return expected; + }, "expectFloat32"); + expectLong = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (Number.isInteger(value) && !Number.isNaN(value)) { + return value; + } + throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); + }, "expectLong"); + expectInt = expectLong; + expectInt32 = /* @__PURE__ */ __name((value) => expectSizedInt(value, 32), "expectInt32"); + expectShort = /* @__PURE__ */ __name((value) => expectSizedInt(value, 16), "expectShort"); + expectByte = /* @__PURE__ */ __name((value) => expectSizedInt(value, 8), "expectByte"); + expectSizedInt = /* @__PURE__ */ __name((value, size) => { + const expected = expectLong(value); + if (expected !== void 0 && castInt(expected, size) !== expected) { + throw new TypeError(`Expected ${size}-bit integer, got ${value}`); + } + return expected; + }, "expectSizedInt"); + castInt = /* @__PURE__ */ __name((value, size) => { + switch (size) { + case 32: + return Int32Array.of(value)[0]; + case 16: + return Int16Array.of(value)[0]; + case 8: + return Int8Array.of(value)[0]; + } + }, "castInt"); + expectNonNull = /* @__PURE__ */ __name((value, location) => { + if (value === null || value === void 0) { + if (location) { + throw new TypeError(`Expected a non-null value for ${location}`); + } + throw new TypeError("Expected a non-null value"); + } + return value; + }, "expectNonNull"); + expectObject = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "object" && !Array.isArray(value)) { + return value; + } + const receivedType = Array.isArray(value) ? "array" : typeof value; + throw new TypeError(`Expected object, got ${receivedType}: ${value}`); + }, "expectObject"); + expectString = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value === "string") { + return value; + } + if (["boolean", "number", "bigint"].includes(typeof value)) { + logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); + return String(value); + } + throw new TypeError(`Expected string, got ${typeof value}: ${value}`); + }, "expectString"); + expectUnion = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + const asObject = expectObject(value); + const setKeys = []; + for (const k in asObject) { + if (!hasOwn(asObject, k)) + continue; + if (asObject[k] != null) { + setKeys.push(k); + } + } + if (setKeys.length === 0) { + throw new TypeError(`Unions must have exactly one non-null member. None were found.`); + } + if (setKeys.length > 1) { + throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); + } + return asObject; + }, "expectUnion"); + strictParseDouble = /* @__PURE__ */ __name((value) => { + if (typeof value == "string") { + return expectNumber(parseNumber(value)); + } + return expectNumber(value); + }, "strictParseDouble"); + strictParseFloat = strictParseDouble; + strictParseFloat32 = /* @__PURE__ */ __name((value) => { + if (typeof value == "string") { + return expectFloat32(parseNumber(value)); + } + return expectFloat32(value); + }, "strictParseFloat32"); + NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; + parseNumber = /* @__PURE__ */ __name((value) => { + const matches = value.match(NUMBER_REGEX); + if (matches === null || matches[0].length !== value.length) { + throw new TypeError(`Expected real number, got implicit NaN`); + } + return parseFloat(value); + }, "parseNumber"); + limitedParseDouble = /* @__PURE__ */ __name((value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return expectNumber(value); + }, "limitedParseDouble"); + handleFloat = limitedParseDouble; + limitedParseFloat = limitedParseDouble; + limitedParseFloat32 = /* @__PURE__ */ __name((value) => { + if (typeof value == "string") { + return parseFloatString(value); + } + return expectFloat32(value); + }, "limitedParseFloat32"); + parseFloatString = /* @__PURE__ */ __name((value) => { + switch (value) { + case "NaN": + return NaN; + case "Infinity": + return Infinity; + case "-Infinity": + return -Infinity; + default: + throw new Error(`Unable to parse float value: ${value}`); + } + }, "parseFloatString"); + strictParseLong = /* @__PURE__ */ __name((value) => { + if (typeof value === "string") { + return expectLong(parseNumber(value)); + } + return expectLong(value); + }, "strictParseLong"); + strictParseInt = strictParseLong; + strictParseInt32 = /* @__PURE__ */ __name((value) => { + if (typeof value === "string") { + return expectInt32(parseNumber(value)); + } + return expectInt32(value); + }, "strictParseInt32"); + strictParseShort = /* @__PURE__ */ __name((value) => { + if (typeof value === "string") { + return expectShort(parseNumber(value)); + } + return expectShort(value); + }, "strictParseShort"); + strictParseByte = /* @__PURE__ */ __name((value) => { + if (typeof value === "string") { + return expectByte(parseNumber(value)); + } + return expectByte(value); + }, "strictParseByte"); + stackTraceWarning = /* @__PURE__ */ __name((message) => { + return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n"); + }, "stackTraceWarning"); + logger = { + warn: console.warn + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js +function dateToUtcString(date2) { + const year2 = date2.getUTCFullYear(); + const month = date2.getUTCMonth(); + const dayOfWeek = date2.getUTCDay(); + const dayOfMonthInt = date2.getUTCDate(); + const hoursInt = date2.getUTCHours(); + const minutesInt = date2.getUTCMinutes(); + const secondsInt = date2.getUTCSeconds(); + const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; + const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; + const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; + const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; + return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year2} ${hoursString}:${minutesString}:${secondsString} GMT`; +} +var DAYS, MONTHS, RFC3339, parseRfc3339DateTime, RFC3339_WITH_OFFSET, parseRfc3339DateTimeWithOffset, IMF_FIXDATE, RFC_850_DATE, ASC_TIME, parseRfc7231DateTime, parseEpochTimestamp, buildDate, parseTwoDigitYear, FIFTY_YEARS_IN_MILLIS, adjustRfc850Year, parseMonthByShortName, DAYS_IN_MONTH, validateDayOfMonth, isLeapYear, parseDateValue, parseMilliseconds, parseOffsetToMilliseconds, stripLeadingZeroes; +var init_date_utils = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js"() { + init_parse_utils(); + DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; + MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + __name(dateToUtcString, "dateToUtcString"); + RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); + parseRfc3339DateTime = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; + const year2 = strictParseShort(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + return buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + }, "parseRfc3339DateTime"); + RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}:\d{2})|[zZ])$/); + parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-3339 date-times must be expressed as strings"); + } + const match = RFC3339_WITH_OFFSET.exec(value); + if (!match) { + throw new TypeError("Invalid RFC-3339 date-time value"); + } + const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; + const year2 = strictParseShort(stripLeadingZeroes(yearStr)); + const month = parseDateValue(monthStr, "month", 1, 12); + const day = parseDateValue(dayStr, "day", 1, 31); + const date2 = buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds }); + if (offsetStr.toUpperCase() != "Z") { + date2.setTime(date2.getTime() - parseOffsetToMilliseconds(offsetStr)); + } + return date2; + }, "parseRfc3339DateTimeWithOffset"); + IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/); + ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/); + parseRfc7231DateTime = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC-7231 date-times must be expressed as strings"); + } + let match = IMF_FIXDATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + match = RFC_850_DATE.exec(value); + if (match) { + const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; + return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { + hours, + minutes, + seconds, + fractionalMilliseconds + })); + } + match = ASC_TIME.exec(value); + if (match) { + const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; + return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); + } + throw new TypeError("Invalid RFC-7231 date-time value"); + }, "parseRfc7231DateTime"); + parseEpochTimestamp = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return void 0; + } + let valueAsDouble; + if (typeof value === "number") { + valueAsDouble = value; + } else if (typeof value === "string") { + valueAsDouble = strictParseDouble(value); + } else if (typeof value === "object" && value.tag === 1) { + valueAsDouble = value.value; + } else { + throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); + } + if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { + throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); + } + return new Date(Math.round(valueAsDouble * 1e3)); + }, "parseEpochTimestamp"); + buildDate = /* @__PURE__ */ __name((year2, month, day, time2) => { + const adjustedMonth = month - 1; + validateDayOfMonth(year2, adjustedMonth, day); + return new Date(Date.UTC(year2, adjustedMonth, day, parseDateValue(time2.hours, "hour", 0, 23), parseDateValue(time2.minutes, "minute", 0, 59), parseDateValue(time2.seconds, "seconds", 0, 60), parseMilliseconds(time2.fractionalMilliseconds))); + }, "buildDate"); + parseTwoDigitYear = /* @__PURE__ */ __name((value) => { + const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); + const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value)); + if (valueInThisCentury < thisYear) { + return valueInThisCentury + 100; + } + return valueInThisCentury; + }, "parseTwoDigitYear"); + FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3; + adjustRfc850Year = /* @__PURE__ */ __name((input) => { + if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) { + return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds())); + } + return input; + }, "adjustRfc850Year"); + parseMonthByShortName = /* @__PURE__ */ __name((value) => { + const monthIdx = MONTHS.indexOf(value); + if (monthIdx < 0) { + throw new TypeError(`Invalid month: ${value}`); + } + return monthIdx + 1; + }, "parseMonthByShortName"); + DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + validateDayOfMonth = /* @__PURE__ */ __name((year2, month, day) => { + let maxDays = DAYS_IN_MONTH[month]; + if (month === 1 && isLeapYear(year2)) { + maxDays = 29; + } + if (day > maxDays) { + throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year2}: ${day}`); + } + }, "validateDayOfMonth"); + isLeapYear = /* @__PURE__ */ __name((year2) => { + return year2 % 4 === 0 && (year2 % 100 !== 0 || year2 % 400 === 0); + }, "isLeapYear"); + parseDateValue = /* @__PURE__ */ __name((value, type, lower, upper) => { + const dateVal = strictParseByte(stripLeadingZeroes(value)); + if (dateVal < lower || dateVal > upper) { + throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); + } + return dateVal; + }, "parseDateValue"); + parseMilliseconds = /* @__PURE__ */ __name((value) => { + if (value === null || value === void 0) { + return 0; + } + return strictParseFloat32("0." + value) * 1e3; + }, "parseMilliseconds"); + parseOffsetToMilliseconds = /* @__PURE__ */ __name((value) => { + const directionStr = value[0]; + let direction = 1; + if (directionStr == "+") { + direction = 1; + } else if (directionStr == "-") { + direction = -1; + } else { + throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); + } + const hour = Number(value.substring(1, 3)); + const minute = Number(value.substring(4, 6)); + return direction * (hour * 60 + minute) * 60 * 1e3; + }, "parseOffsetToMilliseconds"); + stripLeadingZeroes = /* @__PURE__ */ __name((value) => { + let idx = 0; + while (idx < value.length - 1 && value.charAt(idx) === "0") { + idx++; + } + if (idx === 0) { + return value; + } + return value.slice(idx); + }, "stripLeadingZeroes"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js +var LazyJsonString; +var init_lazy_json = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js"() { + LazyJsonString = /* @__PURE__ */ __name(function LazyJsonString2(val) { + const str = Object.assign(new String(val), { + deserializeJSON() { + return JSON.parse(String(val)); + }, + toString() { + return String(val); + }, + toJSON() { + return String(val); + } + }); + return str; + }, "LazyJsonString"); + LazyJsonString.from = (object) => { + if (object && typeof object === "object" && (object instanceof LazyJsonString || "deserializeJSON" in object)) { + return object; + } else if (typeof object === "string" || Object.getPrototypeOf(object) === String.prototype) { + return LazyJsonString(String(object)); + } + return LazyJsonString(JSON.stringify(object)); + }; + LazyJsonString.fromObject = LazyJsonString.from; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js +function quoteHeader(part) { + if (part.includes(",") || part.includes('"')) { + part = `"${part.replace(/"/g, '\\"')}"`; + } + return part; +} +var init_quote_header = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js"() { + __name(quoteHeader, "quoteHeader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js +function range(v, min, max) { + const _v = Number(v); + if (_v < min || _v > max) { + throw new Error(`Value ${_v} out of range [${min}, ${max}]`); + } +} +var ddd, mmm, time, date, year, RFC3339_WITH_OFFSET2, IMF_FIXDATE2, RFC_850_DATE2, ASC_TIME2, months, _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime; +var init_schema_date_utils = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js"() { + ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`; + mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`; + time = `(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`; + date = `(\\d?\\d)`; + year = `(\\d{4})`; + RFC3339_WITH_OFFSET2 = new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/); + IMF_FIXDATE2 = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`); + RFC_850_DATE2 = new RegExp(`^${ddd}, ${date}-${mmm}-(\\d\\d) ${time} GMT$`); + ASC_TIME2 = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\d\\d) ${time} ${year}$`); + months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; + _parseEpochTimestamp = /* @__PURE__ */ __name((value) => { + if (value == null) { + return void 0; + } + let num = NaN; + if (typeof value === "number") { + num = value; + } else if (typeof value === "string") { + if (!/^-?\d*\.?\d+$/.test(value)) { + throw new TypeError(`parseEpochTimestamp - numeric string invalid.`); + } + num = Number.parseFloat(value); + } else if (typeof value === "object" && value.tag === 1) { + num = value.value; + } + if (isNaN(num) || Math.abs(num) === Infinity) { + throw new TypeError("Epoch timestamps must be valid finite numbers."); + } + return new Date(Math.round(num * 1e3)); + }, "_parseEpochTimestamp"); + _parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => { + if (value == null) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC3339 timestamps must be strings"); + } + const matches = RFC3339_WITH_OFFSET2.exec(value); + if (!matches) { + throw new TypeError(`Invalid RFC3339 timestamp format ${value}`); + } + const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches; + range(monthStr, 1, 12); + range(dayStr, 1, 31); + range(hours, 0, 23); + range(minutes, 0, 59); + range(seconds, 0, 60); + const date2 = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1e3) : 0)); + date2.setUTCFullYear(Number(yearStr)); + if (offsetStr.toUpperCase() != "Z") { + const [, sign2, offsetH, offsetM] = /([+-])(\d\d):(\d\d)/.exec(offsetStr) || [void 0, "+", 0, 0]; + const scalar = sign2 === "-" ? 1 : -1; + date2.setTime(date2.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1e3 + Number(offsetM) * 60 * 1e3)); + } + return date2; + }, "_parseRfc3339DateTimeWithOffset"); + _parseRfc7231DateTime = /* @__PURE__ */ __name((value) => { + if (value == null) { + return void 0; + } + if (typeof value !== "string") { + throw new TypeError("RFC7231 timestamps must be strings."); + } + let day; + let month; + let year2; + let hour; + let minute; + let second; + let fraction; + let matches; + if (matches = IMF_FIXDATE2.exec(value)) { + [, day, month, year2, hour, minute, second, fraction] = matches; + } else if (matches = RFC_850_DATE2.exec(value)) { + [, day, month, year2, hour, minute, second, fraction] = matches; + year2 = (Number(year2) + 1900).toString(); + } else if (matches = ASC_TIME2.exec(value)) { + [, month, day, hour, minute, second, fraction, year2] = matches; + } + if (year2 && second) { + const timestamp = Date.UTC(Number(year2), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1e3) : 0); + range(day, 1, 31); + range(hour, 0, 23); + range(minute, 0, 59); + range(second, 0, 60); + const date2 = new Date(timestamp); + date2.setUTCFullYear(Number(year2)); + return date2; + } + throw new TypeError(`Invalid RFC7231 date-time value ${value}.`); + }, "_parseRfc7231DateTime"); + __name(range, "range"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-every.js +function splitEvery(value, delimiter, numDelimiters) { + if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { + throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); + } + const segments = value.split(delimiter); + if (numDelimiters === 1) { + return segments; + } + const compoundSegments = []; + let currentSegment = ""; + for (let i = 0; i < segments.length; i++) { + if (currentSegment === "") { + currentSegment = segments[i]; + } else { + currentSegment += delimiter + segments[i]; + } + if ((i + 1) % numDelimiters === 0) { + compoundSegments.push(currentSegment); + currentSegment = ""; + } + } + if (currentSegment !== "") { + compoundSegments.push(currentSegment); + } + return compoundSegments; +} +var init_split_every = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-every.js"() { + __name(splitEvery, "splitEvery"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-header.js +var splitHeader; +var init_split_header = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/split-header.js"() { + splitHeader = /* @__PURE__ */ __name((value) => { + const z = value.length; + const values = []; + let withinQuotes = false; + let prevChar = void 0; + let anchor = 0; + for (let i = 0; i < z; ++i) { + const char = value[i]; + switch (char) { + case `"`: + if (prevChar !== "\\") { + withinQuotes = !withinQuotes; + } + break; + case ",": + if (!withinQuotes) { + values.push(value.slice(anchor, i)); + anchor = i + 1; + } + break; + default: + } + prevChar = char; + } + values.push(value.slice(anchor)); + return values.map((v) => { + v = v.trim(); + const z2 = v.length; + if (z2 < 2) { + return v; + } + if (v[0] === `"` && v[z2 - 1] === `"`) { + v = v.slice(1, z2 - 1); + } + return v.replace(/\\"/g, '"'); + }); + }, "splitHeader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js +function nv(input) { + return new NumericValue(String(input), "bigDecimal"); +} +var format, NumericValue; +var init_NumericValue = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js"() { + format = /^-?((0|[1-9]\d*)(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/; + NumericValue = class _NumericValue { + static { + __name(this, "NumericValue"); + } + string; + type; + constructor(string, type) { + this.string = string; + this.type = type; + if (!format.test(string)) { + throw new Error(`@smithy/core/serde - NumericValue string must conform to the Smithy bigDecimal format. Received: "${string}"`); + } + } + toString() { + return this.string; + } + static [Symbol.hasInstance](object) { + if (!object || typeof object !== "object") { + return false; + } + const _nv = object; + return _NumericValue.prototype.isPrototypeOf(object) || _nv.type === "bigDecimal" && format.test(_nv.string); + } + }; + __name(nv, "nv"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-hex-encoding/hex-encoding.js +function fromHex(encoded) { + if (encoded.length % 2 !== 0) { + throw new Error("Hex encoded strings must have an even number length"); + } + const out = new Uint8Array(encoded.length / 2); + for (let i = 0; i < encoded.length; i += 2) { + const encodedByte = encoded.slice(i, i + 2).toLowerCase(); + if (encodedByte in HEX_TO_SHORT) { + out[i / 2] = HEX_TO_SHORT[encodedByte]; + } else { + throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`); + } + } + return out; +} +function toHex(bytes) { + let out = ""; + for (let i = 0; i < bytes.byteLength; i++) { + out += SHORT_TO_HEX[bytes[i]]; + } + return out; +} +var SHORT_TO_HEX, HEX_TO_SHORT; +var init_hex_encoding = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-hex-encoding/hex-encoding.js"() { + SHORT_TO_HEX = {}; + HEX_TO_SHORT = {}; + for (let i = 0; i < 256; i++) { + let encodedByte = i.toString(16).toLowerCase(); + if (encodedByte.length === 1) { + encodedByte = `0${encodedByte}`; + } + SHORT_TO_HEX[i] = encodedByte; + HEX_TO_SHORT[encodedByte] = i; + } + __name(fromHex, "fromHex"); + __name(toHex, "toHex"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.js +import { ReadStream, fstatSync, lstatSync } from "node:fs"; +var calculateBodyLength; +var init_calculateBodyLength = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.js"() { + calculateBodyLength = /* @__PURE__ */ __name((body) => { + if (!body) { + return 0; + } + if (typeof body === "string") { + return Buffer.byteLength(body); + } else if (typeof body.byteLength === "number") { + return body.byteLength; + } else if (typeof body.size === "number") { + return body.size; + } else if (typeof body.start === "number" && typeof body.end === "number") { + return body.end + 1 - body.start; + } else if (body instanceof ReadStream) { + if (body.path != null) { + return lstatSync(body.path).size; + } else if (typeof body.fd === "number") { + return fstatSync(body.fd).size; + } + } + throw new Error(`Body Length computation failed for ${body}`); + }, "calculateBodyLength"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js +var toUint8Array; +var init_toUint8Array = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js"() { + init_fromUtf8(); + toUint8Array = /* @__PURE__ */ __name((data) => { + if (data instanceof Uint8Array) { + return data; + } + if (typeof data === "string") { + return fromUtf8(data); + } + if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT); + } + return new Uint8Array(data); + }, "toUint8Array"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js +function concatBytes(arrays, length) { + if (length === void 0) { + length = 0; + for (const bytes of arrays) { + length += bytes.byteLength; + } + } + const result = new Uint8Array(length); + let offset = 0; + for (const buf of arrays) { + result.set(buf, offset); + offset += buf.byteLength; + } + return result; +} +var init_concatBytes = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js"() { + __name(concatBytes, "concatBytes"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js +var deserializerMiddleware, findHeader; +var init_deserializerMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/deserializerMiddleware.js"() { + init_transport(); + deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => { + const { response } = await next(args); + try { + const parsed = await deserializer(response, options); + return { + response, + output: parsed + }; + } catch (error2) { + Object.defineProperty(error2, "$response", { + value: response, + enumerable: false, + writable: false, + configurable: false + }); + if (!("$metadata" in error2)) { + const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; + try { + error2.message += "\n " + hint; + } catch (ignored) { + if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") { + console.warn(hint); + } else { + context.logger?.warn?.(hint); + } + } + if (typeof error2.$responseBodyText !== "undefined") { + if (error2.$response) { + error2.$response.body = error2.$responseBodyText; + } + } + try { + if (HttpResponse.isInstance(response)) { + const { headers = {} } = response; + const headerEntries = Object.entries(headers); + error2.$metadata = { + httpStatusCode: response.statusCode, + requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries), + extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries), + cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries) + }; + } + } catch (ignored) { + } + } + throw error2; + } + }, "deserializerMiddleware"); + findHeader = /* @__PURE__ */ __name((pattern, headers) => { + return (headers.find(([k]) => { + return k.match(pattern); + }) || [void 0, void 0])[1]; + }, "findHeader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js +var ProviderError; +var init_ProviderError = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js"() { + ProviderError = class _ProviderError extends Error { + static { + __name(this, "ProviderError"); + } + name = "ProviderError"; + tryNextLink; + constructor(message, options = true) { + let logger2; + let tryNextLink = true; + if (typeof options === "boolean") { + logger2 = void 0; + tryNextLink = options; + } else if (options != null && typeof options === "object") { + logger2 = options.logger; + tryNextLink = options.tryNextLink ?? true; + } + super(message); + this.tryNextLink = tryNextLink; + Object.setPrototypeOf(this, _ProviderError.prototype); + logger2?.debug?.(`@smithy/property-provider ${tryNextLink ? "->" : "(!)"} ${message}`); + } + static from(error2, options = true) { + return Object.assign(new this(error2.message, options), error2); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/CredentialsProviderError.js +var CredentialsProviderError; +var init_CredentialsProviderError = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/CredentialsProviderError.js"() { + init_ProviderError(); + CredentialsProviderError = class _CredentialsProviderError extends ProviderError { + static { + __name(this, "CredentialsProviderError"); + } + name = "CredentialsProviderError"; + constructor(message, options = true) { + super(message, options); + Object.setPrototypeOf(this, _CredentialsProviderError.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/TokenProviderError.js +var TokenProviderError; +var init_TokenProviderError = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/TokenProviderError.js"() { + init_ProviderError(); + TokenProviderError = class _TokenProviderError extends ProviderError { + static { + __name(this, "TokenProviderError"); + } + name = "TokenProviderError"; + constructor(message, options = true) { + super(message, options); + Object.setPrototypeOf(this, _TokenProviderError.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/chain.js +var chain; +var init_chain = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/chain.js"() { + init_ProviderError(); + chain = /* @__PURE__ */ __name((...providers) => async () => { + if (providers.length === 0) { + throw new ProviderError("No providers in chain"); + } + let lastProviderError; + for (const provider of providers) { + try { + const credentials = await provider(); + return credentials; + } catch (err) { + lastProviderError = err; + if (err?.tryNextLink) { + continue; + } + throw err; + } + } + throw lastProviderError; + }, "chain"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/fromValue.js +var fromValue; +var init_fromValue = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/fromValue.js"() { + fromValue = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), "fromValue"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/memoize.js +var memoize; +var init_memoize = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/property-provider/memoize.js"() { + memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => { + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = /* @__PURE__ */ __name(async () => { + if (!pending) { + pending = provider(); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; + } + return resolved; + }, "coalesceProvider"); + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(); + } + return resolved; + }; + } + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(); + } + if (isConstant) { + return resolved; + } + if (requiresRefresh && !requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(); + return resolved; + } + return resolved; + }; + }, "memoize"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js +var booleanSelector; +var init_booleanSelector = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js"() { + booleanSelector = /* @__PURE__ */ __name((obj, key, type) => { + if (!(key in obj)) + return void 0; + if (obj[key] === "true") + return true; + if (obj[key] === "false") + return false; + throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`); + }, "booleanSelector"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js +var numberSelector; +var init_numberSelector = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js"() { + numberSelector = /* @__PURE__ */ __name((obj, key, type) => { + if (!(key in obj)) + return void 0; + const numberValue = parseInt(obj[key], 10); + if (Number.isNaN(numberValue)) { + throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`); + } + return numberValue; + }, "numberSelector"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/types.js +var SelectorType; +var init_types = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/types.js"() { + (function(SelectorType2) { + SelectorType2["ENV"] = "env"; + SelectorType2["CONFIG"] = "shared config entry"; + })(SelectorType || (SelectorType = {})); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js +import { homedir } from "node:os"; +import { sep } from "node:path"; +var homeDirCache, getHomeDirCacheKey, getHomeDir; +var init_getHomeDir = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js"() { + homeDirCache = {}; + getHomeDirCacheKey = /* @__PURE__ */ __name(() => { + if (process && process.geteuid) { + return `${process.geteuid()}`; + } + return "DEFAULT"; + }, "getHomeDirCacheKey"); + getHomeDir = /* @__PURE__ */ __name(() => { + const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${sep}` } = process.env; + if (HOME) + return HOME; + if (USERPROFILE) + return USERPROFILE; + if (HOMEPATH) + return `${HOMEDRIVE}${HOMEPATH}`; + const homeDirCacheKey = getHomeDirCacheKey(); + if (!homeDirCache[homeDirCacheKey]) + homeDirCache[homeDirCacheKey] = homedir(); + return homeDirCache[homeDirCacheKey]; + }, "getHomeDir"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getProfileName.js +var ENV_PROFILE, DEFAULT_PROFILE, getProfileName; +var init_getProfileName = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getProfileName.js"() { + ENV_PROFILE = "AWS_PROFILE"; + DEFAULT_PROFILE = "default"; + getProfileName = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE, "getProfileName"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.js +import { createHash } from "node:crypto"; +import { join } from "node:path"; +var getSSOTokenFilepath; +var init_getSSOTokenFilepath = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.js"() { + init_getHomeDir(); + getSSOTokenFilepath = /* @__PURE__ */ __name((id) => { + const hasher = createHash("sha1"); + const cacheName = hasher.update(id).digest("hex"); + return join(getHomeDir(), ".aws", "sso", "cache", `${cacheName}.json`); + }, "getSSOTokenFilepath"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.js +import { readFile } from "node:fs/promises"; +var tokenIntercept, getSSOTokenFromFile; +var init_getSSOTokenFromFile = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.js"() { + init_getSSOTokenFilepath(); + tokenIntercept = {}; + getSSOTokenFromFile = /* @__PURE__ */ __name(async (id) => { + if (tokenIntercept[id]) { + return tokenIntercept[id]; + } + const ssoTokenFilepath = getSSOTokenFilepath(id); + const ssoTokenText = await readFile(ssoTokenFilepath, "utf8"); + return JSON.parse(ssoTokenText); + }, "getSSOTokenFromFile"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/constants.js +var CONFIG_PREFIX_SEPARATOR; +var init_constants = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/constants.js"() { + CONFIG_PREFIX_SEPARATOR = "."; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigData.js +var import_types2, getConfigData; +var init_getConfigData = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigData.js"() { + import_types2 = __toESM(require_dist_cjs()); + init_constants(); + getConfigData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => { + const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); + if (indexOfSeparator === -1) { + return false; + } + return Object.values(import_types2.IniSectionType).includes(key.substring(0, indexOfSeparator)); + }).reduce((acc, [key, value]) => { + const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR); + const updatedKey = key.substring(0, indexOfSeparator) === import_types2.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key; + acc[updatedKey] = value; + return acc; + }, { + ...data.default && { default: data.default } + }), "getConfigData"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigFilepath.js +import { join as join2 } from "node:path"; +var ENV_CONFIG_PATH, getConfigFilepath; +var init_getConfigFilepath = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigFilepath.js"() { + init_getHomeDir(); + ENV_CONFIG_PATH = "AWS_CONFIG_FILE"; + getConfigFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CONFIG_PATH] || join2(getHomeDir(), ".aws", "config"), "getConfigFilepath"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getCredentialsFilepath.js +import { join as join3 } from "node:path"; +var ENV_CREDENTIALS_PATH, getCredentialsFilepath; +var init_getCredentialsFilepath = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getCredentialsFilepath.js"() { + init_getHomeDir(); + ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE"; + getCredentialsFilepath = /* @__PURE__ */ __name(() => process.env[ENV_CREDENTIALS_PATH] || join3(getHomeDir(), ".aws", "credentials"), "getCredentialsFilepath"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseIni.js +var import_types3, prefixKeyRegex, profileNameBlockList, parseIni; +var init_parseIni = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseIni.js"() { + import_types3 = __toESM(require_dist_cjs()); + init_constants(); + prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@+.%:/]+)\2$/; + profileNameBlockList = ["__proto__", "profile __proto__"]; + parseIni = /* @__PURE__ */ __name((iniData) => { + const map3 = {}; + let currentSection; + let currentSubSection; + for (const iniLine of iniData.split(/\r?\n/)) { + const trimmedLine = iniLine.split(/(^|\s)[;#]/)[0].trim(); + const isSection = trimmedLine[0] === "[" && trimmedLine[trimmedLine.length - 1] === "]"; + if (isSection) { + currentSection = void 0; + currentSubSection = void 0; + const sectionName = trimmedLine.substring(1, trimmedLine.length - 1); + const matches = prefixKeyRegex.exec(sectionName); + if (matches) { + const [, prefix, , name] = matches; + if (Object.values(import_types3.IniSectionType).includes(prefix)) { + currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR); + } + } else { + currentSection = sectionName; + } + if (profileNameBlockList.includes(sectionName)) { + throw new Error(`Found invalid profile name "${sectionName}"`); + } + } else if (currentSection) { + const indexOfEqualsSign = trimmedLine.indexOf("="); + if (![0, -1].includes(indexOfEqualsSign)) { + const [name, value] = [ + trimmedLine.substring(0, indexOfEqualsSign).trim(), + trimmedLine.substring(indexOfEqualsSign + 1).trim() + ]; + if (value === "") { + currentSubSection = name; + } else { + if (currentSubSection && iniLine.trimStart() === iniLine) { + currentSubSection = void 0; + } + map3[currentSection] = map3[currentSection] || {}; + const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name; + map3[currentSection][key] = value; + } + } + } + } + return map3; + }, "parseIni"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/readFile.js +import { readFile as fsReadFile } from "node:fs/promises"; +var filePromises, fileIntercept, readFile2; +var init_readFile = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/readFile.js"() { + filePromises = {}; + fileIntercept = {}; + readFile2 = /* @__PURE__ */ __name((path, options) => { + if (fileIntercept[path] !== void 0) { + return fileIntercept[path]; + } + if (!filePromises[path] || options?.ignoreCache) { + filePromises[path] = fsReadFile(path, "utf8"); + } + return filePromises[path]; + }, "readFile"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.js +import { join as join4 } from "node:path"; +var swallowError, loadSharedConfigFiles; +var init_loadSharedConfigFiles = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.js"() { + init_getConfigData(); + init_getConfigFilepath(); + init_getCredentialsFilepath(); + init_getHomeDir(); + init_parseIni(); + init_readFile(); + init_constants(); + swallowError = /* @__PURE__ */ __name(() => ({}), "swallowError"); + loadSharedConfigFiles = /* @__PURE__ */ __name(async (init = {}) => { + const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init; + const homeDir = getHomeDir(); + const relativeHomeDirPrefix = "~/"; + let resolvedFilepath = filepath; + if (filepath.startsWith(relativeHomeDirPrefix)) { + resolvedFilepath = join4(homeDir, filepath.slice(2)); + } + let resolvedConfigFilepath = configFilepath; + if (configFilepath.startsWith(relativeHomeDirPrefix)) { + resolvedConfigFilepath = join4(homeDir, configFilepath.slice(2)); + } + const parsedFiles = await Promise.all([ + readFile2(resolvedConfigFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni).then(getConfigData).catch(swallowError), + readFile2(resolvedFilepath, { + ignoreCache: init.ignoreCache + }).then(parseIni).catch(swallowError) + ]); + return { + configFile: parsedFiles[0], + credentialsFile: parsedFiles[1] + }; + }, "loadSharedConfigFiles"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSsoSessionData.js +var import_types4, getSsoSessionData; +var init_getSsoSessionData = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSsoSessionData.js"() { + import_types4 = __toESM(require_dist_cjs()); + init_loadSharedConfigFiles(); + getSsoSessionData = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key]) => key.startsWith(import_types4.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {}), "getSsoSessionData"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSsoSessionData.js +var swallowError2, loadSsoSessionData; +var init_loadSsoSessionData = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSsoSessionData.js"() { + init_getConfigFilepath(); + init_getSsoSessionData(); + init_parseIni(); + init_readFile(); + swallowError2 = /* @__PURE__ */ __name(() => ({}), "swallowError"); + loadSsoSessionData = /* @__PURE__ */ __name(async (init = {}) => readFile2(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError2), "loadSsoSessionData"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/mergeConfigFiles.js +var mergeConfigFiles; +var init_mergeConfigFiles = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/mergeConfigFiles.js"() { + mergeConfigFiles = /* @__PURE__ */ __name((...files) => { + const merged = {}; + for (const file of files) { + for (const [key, values] of Object.entries(file)) { + if (merged[key] !== void 0) { + Object.assign(merged[key], values); + } else { + merged[key] = values; + } + } + } + return merged; + }, "mergeConfigFiles"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseKnownFiles.js +var parseKnownFiles; +var init_parseKnownFiles = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseKnownFiles.js"() { + init_loadSharedConfigFiles(); + init_mergeConfigFiles(); + parseKnownFiles = /* @__PURE__ */ __name(async (init) => { + const parsedFiles = await loadSharedConfigFiles(init); + return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile); + }, "parseKnownFiles"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/externalDataInterceptor.js +var externalDataInterceptor; +var init_externalDataInterceptor = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/externalDataInterceptor.js"() { + init_getSSOTokenFromFile(); + init_readFile(); + externalDataInterceptor = { + getFileRecord() { + return fileIntercept; + }, + interceptFile(path, contents) { + fileIntercept[path] = Promise.resolve(contents); + }, + getTokenRecord() { + return tokenIntercept; + }, + interceptToken(id, contents) { + tokenIntercept[id] = contents; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/getSelectorName.js +function getSelectorName(functionString) { + try { + const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? [])); + constants.delete("CONFIG"); + constants.delete("CONFIG_PREFIX_SEPARATOR"); + constants.delete("ENV"); + return [...constants].join(", "); + } catch (ignored) { + return functionString; + } +} +var init_getSelectorName = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/getSelectorName.js"() { + __name(getSelectorName, "getSelectorName"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromEnv.js +var fromEnv; +var init_fromEnv = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromEnv.js"() { + init_CredentialsProviderError(); + init_getSelectorName(); + fromEnv = /* @__PURE__ */ __name((envVarSelector, options) => async () => { + try { + const config = envVarSelector(process.env, options); + if (config === void 0) { + throw new Error(); + } + return config; + } catch (e) { + throw new CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger }); + } + }, "fromEnv"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromSharedConfigFiles.js +var fromSharedConfigFiles; +var init_fromSharedConfigFiles = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromSharedConfigFiles.js"() { + init_CredentialsProviderError(); + init_getProfileName(); + init_loadSharedConfigFiles(); + init_getSelectorName(); + fromSharedConfigFiles = /* @__PURE__ */ __name((configSelector, { preferredFile = "config", ...init } = {}) => async () => { + const profile = getProfileName(init); + const { configFile, credentialsFile } = await loadSharedConfigFiles(init); + const profileFromCredentials = credentialsFile[profile] || {}; + const profileFromConfig = configFile[profile] || {}; + const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials }; + try { + const cfgFile = preferredFile === "config" ? configFile : credentialsFile; + const configValue = configSelector(mergedProfile, cfgFile); + if (configValue === void 0) { + throw new Error(); + } + return configValue; + } catch (e) { + throw new CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger }); + } + }, "fromSharedConfigFiles"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromStatic.js +var isFunction, fromStatic; +var init_fromStatic = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromStatic.js"() { + init_fromValue(); + isFunction = /* @__PURE__ */ __name((func) => typeof func === "function", "isFunction"); + fromStatic = /* @__PURE__ */ __name((defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : fromValue(defaultValue), "fromStatic"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/configLoader.js +var loadConfig; +var init_configLoader = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/configLoader.js"() { + init_chain(); + init_memoize(); + init_fromEnv(); + init_fromSharedConfigFiles(); + init_fromStatic(); + loadConfig = /* @__PURE__ */ __name(({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => { + const { signingName, logger: logger2 } = configuration; + const envOptions = { signingName, logger: logger2 }; + return memoize(chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue))); + }, "loadConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js +var ENV_USE_DUALSTACK_ENDPOINT, CONFIG_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_DUALSTACK_ENDPOINT, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, nodeDualstackConfigSelectors; +var init_NodeUseDualstackEndpointConfigOptions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js"() { + init_booleanSelector(); + init_types(); + ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT"; + CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint"; + DEFAULT_USE_DUALSTACK_ENDPOINT = false; + NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + nodeDualstackConfigSelectors = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG), "configFileSelector"), + default: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.js +var ENV_USE_FIPS_ENDPOINT, CONFIG_USE_FIPS_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, nodeFipsConfigSelectors; +var init_NodeUseFipsEndpointConfigOptions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.js"() { + init_booleanSelector(); + init_types(); + ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT"; + CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint"; + DEFAULT_USE_FIPS_ENDPOINT = false; + NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + nodeFipsConfigSelectors = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG), "configFileSelector"), + default: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js +var getAllAliases, getMiddlewareNameWithAliases, constructStack, stepWeights, priorityWeights; +var init_MiddlewareStack = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js"() { + getAllAliases = /* @__PURE__ */ __name((name, aliases) => { + const _aliases = []; + if (name) { + _aliases.push(name); + } + if (aliases) { + for (const alias of aliases) { + _aliases.push(alias); + } + } + return _aliases; + }, "getAllAliases"); + getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => { + return `${name || "anonymous"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(",")})` : ""}`; + }, "getMiddlewareNameWithAliases"); + constructStack = /* @__PURE__ */ __name(() => { + let absoluteEntries = []; + let relativeEntries = []; + let identifyOnResolve = false; + const entriesNameSet = /* @__PURE__ */ new Set(); + const sort = /* @__PURE__ */ __name((entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || "normal"] - priorityWeights[a.priority || "normal"]), "sort"); + const removeByName = /* @__PURE__ */ __name((toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + const aliases = getAllAliases(entry.name, entry.aliases); + if (aliases.includes(toRemove)) { + isRemoved = true; + for (const alias of aliases) { + entriesNameSet.delete(alias); + } + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, "removeByName"); + const removeByReference = /* @__PURE__ */ __name((toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + if (entry.middleware === toRemove) { + isRemoved = true; + for (const alias of getAllAliases(entry.name, entry.aliases)) { + entriesNameSet.delete(alias); + } + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, "removeByReference"); + const cloneTo = /* @__PURE__ */ __name((toStack) => { + absoluteEntries.forEach((entry) => { + toStack.add(entry.middleware, { ...entry }); + }); + relativeEntries.forEach((entry) => { + toStack.addRelativeTo(entry.middleware, { ...entry }); + }); + toStack.identifyOnResolve?.(stack.identifyOnResolve()); + return toStack; + }, "cloneTo"); + const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => { + const expandedMiddlewareList = []; + from.before.forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + expandedMiddlewareList.push(from); + from.after.reverse().forEach((entry) => { + if (entry.before.length === 0 && entry.after.length === 0) { + expandedMiddlewareList.push(entry); + } else { + expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry)); + } + }); + return expandedMiddlewareList; + }, "expandRelativeMiddlewareList"); + const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => { + const normalizedAbsoluteEntries = []; + const normalizedRelativeEntries = []; + const normalizedEntriesNameMap = {}; + absoluteEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { + normalizedEntriesNameMap[alias] = normalizedEntry; + } + normalizedAbsoluteEntries.push(normalizedEntry); + }); + relativeEntries.forEach((entry) => { + const normalizedEntry = { + ...entry, + before: [], + after: [] + }; + for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) { + normalizedEntriesNameMap[alias] = normalizedEntry; + } + normalizedRelativeEntries.push(normalizedEntry); + }); + normalizedRelativeEntries.forEach((entry) => { + if (entry.toMiddleware) { + const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware]; + if (toMiddleware === void 0) { + if (debug) { + return; + } + throw new Error(`${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}`); + } + if (entry.relation === "after") { + toMiddleware.after.push(entry); + } + if (entry.relation === "before") { + toMiddleware.before.push(entry); + } + } + }); + const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => { + wholeList.push(...expandedMiddlewareList); + return wholeList; + }, []); + return mainChain; + }, "getMiddlewareList"); + const stack = { + add: /* @__PURE__ */ __name((middleware, options = {}) => { + const { name, override, aliases: _aliases } = options; + const entry = { + step: "initialize", + priority: "normal", + middleware, + ...options + }; + const aliases = getAllAliases(name, _aliases); + if (aliases.length > 0) { + if (aliases.some((alias) => entriesNameSet.has(alias))) { + if (!override) + throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); + for (const alias of aliases) { + const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)); + if (toOverrideIndex === -1) { + continue; + } + const toOverride = absoluteEntries[toOverrideIndex]; + if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) { + throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware with ${entry.priority} priority in ${entry.step} step.`); + } + absoluteEntries.splice(toOverrideIndex, 1); + } + } + for (const alias of aliases) { + entriesNameSet.add(alias); + } + } + absoluteEntries.push(entry); + }, "add"), + addRelativeTo: /* @__PURE__ */ __name((middleware, options) => { + const { name, override, aliases: _aliases } = options; + const entry = { + middleware, + ...options + }; + const aliases = getAllAliases(name, _aliases); + if (aliases.length > 0) { + if (aliases.some((alias) => entriesNameSet.has(alias))) { + if (!override) + throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`); + for (const alias of aliases) { + const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)); + if (toOverrideIndex === -1) { + continue; + } + const toOverride = relativeEntries[toOverrideIndex]; + if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) { + throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware ${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware ${entry.relation} "${entry.toMiddleware}" middleware.`); + } + relativeEntries.splice(toOverrideIndex, 1); + } + } + for (const alias of aliases) { + entriesNameSet.add(alias); + } + } + relativeEntries.push(entry); + }, "addRelativeTo"), + clone: /* @__PURE__ */ __name(() => cloneTo(constructStack()), "clone"), + use: /* @__PURE__ */ __name((plugin) => { + plugin.applyToStack(stack); + }, "use"), + remove: /* @__PURE__ */ __name((toRemove) => { + if (typeof toRemove === "string") + return removeByName(toRemove); + else + return removeByReference(toRemove); + }, "remove"), + removeByTag: /* @__PURE__ */ __name((toRemove) => { + let isRemoved = false; + const filterCb = /* @__PURE__ */ __name((entry) => { + const { tags, name, aliases: _aliases } = entry; + if (tags && tags.includes(toRemove)) { + const aliases = getAllAliases(name, _aliases); + for (const alias of aliases) { + entriesNameSet.delete(alias); + } + isRemoved = true; + return false; + } + return true; + }, "filterCb"); + absoluteEntries = absoluteEntries.filter(filterCb); + relativeEntries = relativeEntries.filter(filterCb); + return isRemoved; + }, "removeByTag"), + concat: /* @__PURE__ */ __name((from) => { + const cloned = cloneTo(constructStack()); + cloned.use(from); + cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false)); + return cloned; + }, "concat"), + applyToStack: cloneTo, + identify: /* @__PURE__ */ __name(() => { + return getMiddlewareList(true).map((mw) => { + const step = mw.step ?? mw.relation + " " + mw.toMiddleware; + return getMiddlewareNameWithAliases(mw.name, mw.aliases) + " - " + step; + }); + }, "identify"), + identifyOnResolve(toggle) { + if (typeof toggle === "boolean") + identifyOnResolve = toggle; + return identifyOnResolve; + }, + resolve: /* @__PURE__ */ __name((handler, context) => { + for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) { + handler = middleware(handler, context); + } + if (identifyOnResolve) { + console.log(stack.identify()); + } + return handler; + }, "resolve") + }; + return stack; + }, "constructStack"); + stepWeights = { + initialize: 5, + serialize: 4, + build: 3, + finalizeRequest: 2, + deserialize: 1 + }; + priorityWeights = { + high: 3, + normal: 2, + low: 1 + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidFunction.js +var invalidFunction; +var init_invalidFunction = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidFunction.js"() { + invalidFunction = /* @__PURE__ */ __name((message) => () => { + throw new Error(message); + }, "invalidFunction"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidProvider.js +var invalidProvider; +var init_invalidProvider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/invalid-dependency/invalidProvider.js"() { + invalidProvider = /* @__PURE__ */ __name((message) => () => Promise.reject(message), "invalidProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/circularReplacer.js +var getCircularReplacer; +var init_circularReplacer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/circularReplacer.js"() { + getCircularReplacer = /* @__PURE__ */ __name(() => { + const seen = /* @__PURE__ */ new WeakSet(); + return (key, value) => { + if (typeof value === "object" && value !== null) { + if (seen.has(value)) { + return "[Circular]"; + } + seen.add(value); + } + return value; + }; + }, "getCircularReplacer"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/sleep.js +var sleep; +var init_sleep = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/sleep.js"() { + sleep = /* @__PURE__ */ __name((seconds) => { + return new Promise((resolve) => setTimeout(resolve, seconds * 1e3)); + }, "sleep"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/waiter.js +var waiterServiceDefaults, WaiterState, checkExceptions; +var init_waiter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/waiter.js"() { + init_circularReplacer(); + waiterServiceDefaults = { + minDelay: 2, + maxDelay: 120 + }; + (function(WaiterState2) { + WaiterState2["ABORTED"] = "ABORTED"; + WaiterState2["FAILURE"] = "FAILURE"; + WaiterState2["SUCCESS"] = "SUCCESS"; + WaiterState2["RETRY"] = "RETRY"; + WaiterState2["TIMEOUT"] = "TIMEOUT"; + })(WaiterState || (WaiterState = {})); + checkExceptions = /* @__PURE__ */ __name((result) => { + if (result.state === WaiterState.ABORTED) { + const abortError = new Error(`${JSON.stringify({ + ...result, + reason: "Request was aborted" + }, getCircularReplacer())}`); + abortError.name = "AbortError"; + throw abortError; + } else if (result.state === WaiterState.TIMEOUT) { + const timeoutError = new Error(`${JSON.stringify({ + ...result, + reason: "Waiter has timed out" + }, getCircularReplacer())}`); + timeoutError.name = "TimeoutError"; + throw timeoutError; + } else if (result.state !== WaiterState.SUCCESS) { + throw new Error(`${JSON.stringify(result, getCircularReplacer())}`); + } + return result; + }, "checkExceptions"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/poller.js +var runPolling, checkWarn403, createMessageFromResponse, exponentialBackoffWithJitter, randomInRange; +var init_poller = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/poller.js"() { + init_circularReplacer(); + init_sleep(); + init_waiter(); + runPolling = /* @__PURE__ */ __name(async ({ minDelay, maxDelay, maxWaitTime, abortController, client, abortSignal }, input, acceptorChecks) => { + const observedResponses = {}; + const [minDelayMs, maxDelayMs] = [minDelay * 1e3, maxDelay * 1e3]; + let currentAttempt = 0; + const waitUntil = Date.now() + maxWaitTime * 1e3; + const warn403Time = Date.now() + 6e4; + let didWarn403 = false; + while (true) { + if (currentAttempt > 0) { + const delayMs = exponentialBackoffWithJitter(minDelayMs, maxDelayMs, currentAttempt, waitUntil); + if (abortController?.signal?.aborted || abortSignal?.aborted) { + const message = "AbortController signal aborted."; + observedResponses[message] |= 0; + observedResponses[message] += 1; + return { state: WaiterState.ABORTED, observedResponses }; + } + if (Date.now() + delayMs > waitUntil) { + return { state: WaiterState.TIMEOUT, observedResponses }; + } + await sleep(delayMs / 1e3); + } + const { state, reason } = await acceptorChecks(client, input); + if (reason) { + const message = createMessageFromResponse(reason); + observedResponses[message] |= 0; + observedResponses[message] += 1; + } + if (state !== WaiterState.RETRY) { + return { state, reason, final: reason, observedResponses }; + } + currentAttempt += 1; + if (!didWarn403 && Date.now() >= warn403Time) { + checkWarn403(observedResponses, client); + didWarn403 = true; + } + } + }, "runPolling"); + checkWarn403 = /* @__PURE__ */ __name((observedResponses = {}, client) => { + const orderedErrors = Object.keys(observedResponses); + let maxCount = 0; + let count403 = 0; + for (const response of orderedErrors) { + const n = observedResponses[response] | 0; + maxCount = Math.max(n, maxCount); + if (response.startsWith("403:")) { + count403 += n; + } + } + const clientLogger = client?.config?.logger; + const warningLogger = typeof clientLogger?.warn === "function" && !clientLogger.constructor?.name?.includes?.("NoOpLogger") ? clientLogger : console; + if (count403 >= 3 || orderedErrors[orderedErrors.length - 1]?.startsWith("403:")) { + warningLogger.warn(`@smithy/util-waiter WARN - 403 status code encountered during waiter polling.`); + } + }, "checkWarn403"); + createMessageFromResponse = /* @__PURE__ */ __name((reason) => { + const status = reason?.$response?.statusCode ?? reason?.$metadata?.httpStatusCode; + if (reason?.$responseBodyText) { + return `${status ? status + ": " : ""}Deserialization error for body: ${reason.$responseBodyText}`; + } + if (status) { + if (reason?.$response || reason?.message) { + return `${status ?? "Unknown"}: ${reason?.message}`; + } + return `${status}: OK`; + } + return String(reason?.message ?? JSON.stringify(reason, getCircularReplacer()) ?? "Unknown"); + }, "createMessageFromResponse"); + exponentialBackoffWithJitter = /* @__PURE__ */ __name((minDelayMs, maxDelayMs, attempt, waitUntil) => { + const attemptCountCeiling = Math.log(maxDelayMs / minDelayMs) / Math.log(2) + 1; + if (attempt > attemptCountCeiling) { + return maxDelayMs; + } + const delay = minDelayMs * 2 ** (attempt - 1); + const capped = Math.min(delay, maxDelayMs); + const waitFor = randomInRange(minDelayMs, capped); + if (Date.now() + waitFor > waitUntil) { + const timeRemaining = waitUntil - Date.now(); + return Math.max(0, timeRemaining - 500); + } + return waitFor; + }, "exponentialBackoffWithJitter"); + randomInRange = /* @__PURE__ */ __name((min, max) => min + Math.random() * (max - min), "randomInRange"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/validate.js +var validateWaiterOptions; +var init_validate = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/utils/validate.js"() { + validateWaiterOptions = /* @__PURE__ */ __name((options) => { + if (options.maxWaitTime <= 0) { + throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`); + } else if (options.minDelay <= 0) { + throw new Error(`WaiterConfiguration.minDelay must be greater than 0`); + } else if (options.maxDelay <= 0) { + throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`); + } else if (options.maxWaitTime <= options.minDelay) { + throw new Error(`WaiterConfiguration.maxWaitTime [${options.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`); + } else if (options.maxDelay < options.minDelay) { + throw new Error(`WaiterConfiguration.maxDelay [${options.maxDelay}] must be greater than WaiterConfiguration.minDelay [${options.minDelay}] for this waiter`); + } + }, "validateWaiterOptions"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/createWaiter.js +var abortTimeout, createWaiter; +var init_createWaiter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/util-waiter/createWaiter.js"() { + init_poller(); + init_validate(); + init_waiter(); + abortTimeout = /* @__PURE__ */ __name((abortSignal) => { + let onAbort; + const promise = new Promise((resolve) => { + onAbort = /* @__PURE__ */ __name(() => resolve({ state: WaiterState.ABORTED }), "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + abortSignal.addEventListener("abort", onAbort); + } else { + abortSignal.onabort = onAbort; + } + }); + return { + clearListener() { + if (typeof abortSignal.removeEventListener === "function") { + abortSignal.removeEventListener("abort", onAbort); + } + }, + aborted: promise + }; + }, "abortTimeout"); + createWaiter = /* @__PURE__ */ __name(async (options, input, acceptorChecks) => { + const params = { + ...waiterServiceDefaults, + ...options + }; + validateWaiterOptions(params); + const exitConditions = [runPolling(params, input, acceptorChecks)]; + const finalize = []; + if (options.abortSignal) { + const { aborted, clearListener } = abortTimeout(options.abortSignal); + finalize.push(clearListener); + exitConditions.push(aborted); + } + if (options.abortController?.signal) { + const { aborted, clearListener } = abortTimeout(options.abortController.signal); + finalize.push(clearListener); + exitConditions.push(aborted); + } + return Promise.race(exitConditions).then((result) => { + for (const fn of finalize) { + fn(); + } + return result; + }); + }, "createWaiter"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client.js +var Client; +var init_client = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client.js"() { + init_MiddlewareStack(); + Client = class { + static { + __name(this, "Client"); + } + config; + middlewareStack = constructStack(); + initConfig; + handlers; + constructor(config) { + this.config = config; + const { protocol, protocolSettings } = config; + if (protocolSettings) { + if (typeof protocol === "function") { + config.protocol = new protocol(protocolSettings); + } + } + } + send(command, optionsOrCb, cb) { + const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; + const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; + const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true; + let handler; + if (useHandlerCache) { + if (!this.handlers) { + this.handlers = /* @__PURE__ */ new WeakMap(); + } + const handlers = this.handlers; + if (handlers.has(command.constructor)) { + handler = handlers.get(command.constructor); + } else { + handler = command.resolveMiddleware(this.middlewareStack, this.config, options); + handlers.set(command.constructor, handler); + } + } else { + delete this.handlers; + handler = command.resolveMiddleware(this.middlewareStack, this.config, options); + } + if (callback) { + handler(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => { + }); + } else { + return handler(command).then((result) => result.output); + } + } + destroy() { + this.config?.requestHandler?.destroy?.(); + delete this.handlers; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js +var deref; +var init_deref = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/deref.js"() { + deref = /* @__PURE__ */ __name((schemaRef) => { + if (typeof schemaRef === "function") { + return schemaRef(); + } + return schemaRef; + }, "deref"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js +var operation; +var init_operation = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js"() { + operation = /* @__PURE__ */ __name((namespace, name, traits, input, output) => ({ + name, + namespace, + traits, + input, + output + }), "operation"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +var schemaDeserializationMiddleware, findHeader2; +var init_schemaDeserializationMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js"() { + init_transport(); + init_operation(); + schemaDeserializationMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => { + const { response } = await next(args); + const { operationSchema } = getSmithyContext(context); + const [, ns, n, t, i, o] = operationSchema ?? []; + try { + const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), { + ...config, + ...context + }, response); + return { + response, + output: parsed + }; + } catch (error2) { + Object.defineProperty(error2, "$response", { + value: response, + enumerable: false, + writable: false, + configurable: false + }); + if (!("$metadata" in error2)) { + const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`; + try { + error2.message += "\n " + hint; + } catch (ignored) { + if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") { + console.warn(hint); + } else { + context.logger?.warn?.(hint); + } + } + if (typeof error2.$responseBodyText !== "undefined") { + if (error2.$response) { + error2.$response.body = error2.$responseBodyText; + } + } + try { + if (HttpResponse.isInstance(response)) { + const { headers = {}, statusCode } = response; + const headerEntries = Object.entries(headers); + error2.$metadata = { + httpStatusCode: statusCode, + requestId: findHeader2(/^x-[\w-]+-request-?id$/, headerEntries), + extendedRequestId: findHeader2(/^x-[\w-]+-id-2$/, headerEntries), + cfId: findHeader2(/^x-[\w-]+-cf-id$/, headerEntries) + }; + } + } catch (ignored) { + } + } + throw error2; + } + }, "schemaDeserializationMiddleware"); + findHeader2 = /* @__PURE__ */ __name((pattern, headers) => { + return (headers.find(([k]) => { + return k.match(pattern); + }) || [void 0, void 0])[1]; + }, "findHeader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +var schemaSerializationMiddleware; +var init_schemaSerializationMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js"() { + init_transport(); + init_operation(); + schemaSerializationMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => { + const { operationSchema } = getSmithyContext(context); + const [, ns, n, t, i, o] = operationSchema ?? []; + const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : config.endpoint; + const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, { + ...config, + ...context, + endpoint + }); + return next({ + ...args, + request + }); + }, "schemaSerializationMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js +function getSchemaSerdePlugin(config) { + return { + applyToStack: /* @__PURE__ */ __name((commandStack) => { + commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption); + commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption); + config.protocol.setSerdeContext(config); + }, "applyToStack") + }; +} +var deserializerMiddlewareOption, serializerMiddlewareOption; +var init_getSchemaSerdePlugin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js"() { + init_schemaDeserializationMiddleware(); + init_schemaSerializationMiddleware(); + deserializerMiddlewareOption = { + name: "deserializerMiddleware", + step: "deserialize", + tags: ["DESERIALIZER"], + override: true + }; + serializerMiddlewareOption = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + __name(getSchemaSerdePlugin, "getSchemaSerdePlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js +var Schema; +var init_Schema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js"() { + Schema = class { + static { + __name(this, "Schema"); + } + name; + namespace; + traits; + static assign(instance, values) { + const schema = Object.assign(instance, values); + return schema; + } + static [Symbol.hasInstance](lhs) { + const isPrototype = this.prototype.isPrototypeOf(lhs); + if (!isPrototype && typeof lhs === "object" && lhs !== null) { + const list2 = lhs; + return list2.symbol === this.symbol; + } + return isPrototype; + } + getName() { + return this.namespace + "#" + this.name; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js +var ListSchema, list; +var init_ListSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js"() { + init_Schema(); + ListSchema = class _ListSchema extends Schema { + static { + __name(this, "ListSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/lis"); + valueSchema; + symbol = _ListSchema.symbol; + }; + list = /* @__PURE__ */ __name((namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), { + name, + namespace, + traits, + valueSchema + }), "list"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js +var MapSchema, map; +var init_MapSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js"() { + init_Schema(); + MapSchema = class _MapSchema extends Schema { + static { + __name(this, "MapSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/map"); + keySchema; + valueSchema; + symbol = _MapSchema.symbol; + }; + map = /* @__PURE__ */ __name((namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), { + name, + namespace, + traits, + keySchema, + valueSchema + }), "map"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js +var OperationSchema, op; +var init_OperationSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js"() { + init_Schema(); + OperationSchema = class _OperationSchema extends Schema { + static { + __name(this, "OperationSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/ope"); + input; + output; + symbol = _OperationSchema.symbol; + }; + op = /* @__PURE__ */ __name((namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), { + name, + namespace, + traits, + input, + output + }), "op"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js +var StructureSchema, struct; +var init_StructureSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js"() { + init_Schema(); + StructureSchema = class _StructureSchema extends Schema { + static { + __name(this, "StructureSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/str"); + memberNames; + memberList; + symbol = _StructureSchema.symbol; + }; + struct = /* @__PURE__ */ __name((namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), { + name, + namespace, + traits, + memberNames, + memberList + }), "struct"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js +var ErrorSchema, error; +var init_ErrorSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js"() { + init_Schema(); + init_StructureSchema(); + ErrorSchema = class _ErrorSchema extends StructureSchema { + static { + __name(this, "ErrorSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/err"); + ctor; + symbol = _ErrorSchema.symbol; + }; + error = /* @__PURE__ */ __name((namespace, name, traits, memberNames, memberList, _ctor) => Schema.assign(new ErrorSchema(), { + name, + namespace, + traits, + memberNames, + memberList, + ctor: null + }), "error"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +function translateTraits(indicator) { + if (typeof indicator === "object") { + return indicator; + } + indicator = indicator | 0; + if (traitsCache[indicator]) { + return traitsCache[indicator]; + } + const traits = {}; + let i = 0; + for (const trait of [ + "httpLabel", + "idempotent", + "idempotencyToken", + "sensitive", + "httpPayload", + "httpResponseCode", + "httpQueryParams" + ]) { + if ((indicator >> i++ & 1) === 1) { + traits[trait] = 1; + } + } + return traitsCache[indicator] = traits; +} +var traitsCache; +var init_translateTraits = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js"() { + traitsCache = []; + __name(translateTraits, "translateTraits"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +function member(memberSchema, memberName) { + if (memberSchema instanceof NormalizedSchema) { + return Object.assign(memberSchema, { + memberName, + _isMemberSchema: true + }); + } + const internalCtorAccess = NormalizedSchema; + return new internalCtorAccess(memberSchema, memberName); +} +var anno, simpleSchemaCacheN, simpleSchemaCacheS, NormalizedSchema, isMemberSchema, isStaticSchema; +var init_NormalizedSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js"() { + init_deref(); + init_translateTraits(); + anno = { + it: /* @__PURE__ */ Symbol.for("@smithy/nor-struct-it"), + ns: /* @__PURE__ */ Symbol.for("@smithy/ns") + }; + simpleSchemaCacheN = []; + simpleSchemaCacheS = {}; + NormalizedSchema = class _NormalizedSchema { + static { + __name(this, "NormalizedSchema"); + } + ref; + memberName; + static symbol = /* @__PURE__ */ Symbol.for("@smithy/nor"); + symbol = _NormalizedSchema.symbol; + name; + schema; + _isMemberSchema; + traits; + memberTraits; + normalizedTraits; + constructor(ref, memberName) { + this.ref = ref; + this.memberName = memberName; + const traitStack = []; + let _ref = ref; + let schema = ref; + this._isMemberSchema = false; + while (isMemberSchema(_ref)) { + traitStack.push(_ref[1]); + _ref = _ref[0]; + schema = deref(_ref); + this._isMemberSchema = true; + } + if (traitStack.length > 0) { + this.memberTraits = {}; + for (let i = traitStack.length - 1; i >= 0; --i) { + const traitSet = traitStack[i]; + Object.assign(this.memberTraits, translateTraits(traitSet)); + } + } else { + this.memberTraits = 0; + } + if (schema instanceof _NormalizedSchema) { + const computedMemberTraits = this.memberTraits; + Object.assign(this, schema); + this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits()); + this.normalizedTraits = void 0; + this.memberName = memberName ?? schema.memberName; + return; + } + this.schema = deref(schema); + if (isStaticSchema(this.schema)) { + this.name = `${this.schema[1]}#${this.schema[2]}`; + this.traits = this.schema[3]; + } else { + this.name = this.memberName ?? String(schema); + this.traits = 0; + } + if (this._isMemberSchema && !memberName) { + throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`); + } + } + static [Symbol.hasInstance](lhs) { + const isPrototype = this.prototype.isPrototypeOf(lhs); + if (!isPrototype && typeof lhs === "object" && lhs !== null) { + const ns = lhs; + return ns.symbol === this.symbol; + } + return isPrototype; + } + static of(ref) { + const keyAble = typeof ref === "function" || typeof ref === "object" && ref !== null; + if (typeof ref === "number") { + if (simpleSchemaCacheN[ref]) { + return simpleSchemaCacheN[ref]; + } + } else if (typeof ref === "string") { + if (simpleSchemaCacheS[ref]) { + return simpleSchemaCacheS[ref]; + } + } else if (keyAble) { + if (ref[anno.ns]) { + return ref[anno.ns]; + } + } + const sc = deref(ref); + if (sc instanceof _NormalizedSchema) { + return sc; + } + if (isMemberSchema(sc)) { + const [ns2, traits] = sc; + if (ns2 instanceof _NormalizedSchema) { + Object.assign(ns2.getMergedTraits(), translateTraits(traits)); + return ns2; + } + throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`); + } + const ns = new _NormalizedSchema(sc); + if (keyAble) { + return ref[anno.ns] = ns; + } + if (typeof sc === "string") { + return simpleSchemaCacheS[sc] = ns; + } + if (typeof sc === "number") { + return simpleSchemaCacheN[sc] = ns; + } + return ns; + } + getSchema() { + const sc = this.schema; + if (Array.isArray(sc) && sc[0] === 0) { + return sc[4]; + } + return sc; + } + getName(withNamespace = false) { + const { name } = this; + const short = !withNamespace && name && name.includes("#"); + return short ? name.split("#")[1] : name || void 0; + } + getMemberName() { + return this.memberName; + } + isMemberSchema() { + return this._isMemberSchema; + } + isListSchema() { + const sc = this.getSchema(); + return typeof sc === "number" ? sc >= 64 && sc < 128 : sc[0] === 1; + } + isMapSchema() { + const sc = this.getSchema(); + return typeof sc === "number" ? sc >= 128 && sc <= 255 : sc[0] === 2; + } + isStructSchema() { + const sc = this.getSchema(); + if (typeof sc !== "object") { + return false; + } + const id = sc[0]; + return id === 3 || id === -3 || id === 4; + } + isUnionSchema() { + const sc = this.getSchema(); + if (typeof sc !== "object") { + return false; + } + return sc[0] === 4; + } + isBlobSchema() { + const sc = this.getSchema(); + return sc === 21 || sc === 42; + } + isTimestampSchema() { + const sc = this.getSchema(); + return typeof sc === "number" && sc >= 4 && sc <= 7; + } + isUnitSchema() { + return this.getSchema() === "unit"; + } + isDocumentSchema() { + return this.getSchema() === 15; + } + isStringSchema() { + return this.getSchema() === 0; + } + isBooleanSchema() { + return this.getSchema() === 2; + } + isNumericSchema() { + return this.getSchema() === 1; + } + isBigIntegerSchema() { + return this.getSchema() === 17; + } + isBigDecimalSchema() { + return this.getSchema() === 19; + } + isStreaming() { + const { streaming } = this.getMergedTraits(); + return !!streaming || this.getSchema() === 42; + } + isIdempotencyToken() { + return !!this.getMergedTraits().idempotencyToken; + } + getMergedTraits() { + return this.normalizedTraits ?? (this.normalizedTraits = { + ...this.getOwnTraits(), + ...this.getMemberTraits() + }); + } + getMemberTraits() { + return translateTraits(this.memberTraits); + } + getOwnTraits() { + return translateTraits(this.traits); + } + getKeySchema() { + const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()]; + if (!isDoc && !isMap) { + throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`); + } + const schema = this.getSchema(); + const memberSchema = isDoc ? 15 : schema[4] ?? 0; + return member([memberSchema, 0], "key"); + } + getValueSchema() { + const sc = this.getSchema(); + const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()]; + const memberSchema = typeof sc === "number" ? 63 & sc : sc && typeof sc === "object" && (isMap || isList) ? sc[3 + sc[0]] : isDoc ? 15 : void 0; + if (memberSchema != null) { + return member([memberSchema, 0], isMap ? "value" : "member"); + } + throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`); + } + getMemberSchema(memberName) { + const struct2 = this.getSchema(); + if (this.isStructSchema() && struct2[4].includes(memberName)) { + const i = struct2[4].indexOf(memberName); + const memberSchema = struct2[5][i]; + return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName); + } + if (this.isDocumentSchema()) { + return member([15, 0], memberName); + } + throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`); + } + getMemberSchemas() { + const buffer = {}; + try { + for (const [k, v] of this.structIterator()) { + buffer[k] = v; + } + } catch (ignored) { + } + return buffer; + } + getEventStreamMember() { + if (this.isStructSchema()) { + for (const [memberName, memberSchema] of this.structIterator()) { + if (memberSchema.isStreaming() && memberSchema.isStructSchema()) { + return memberName; + } + } + } + return ""; + } + *structIterator() { + if (this.isUnitSchema()) { + return; + } + if (!this.isStructSchema()) { + throw new Error("@smithy/core/schema - cannot iterate non-struct schema."); + } + const struct2 = this.getSchema(); + const z = struct2[4].length; + let it = struct2[anno.it]; + if (it && z === it.length) { + yield* it; + return; + } + it = Array(z); + for (let i = 0; i < z; ++i) { + const k = struct2[4][i]; + const v = member([struct2[5][i], 0], k); + yield it[i] = [k, v]; + } + struct2[anno.it] = it; + } + }; + __name(member, "member"); + isMemberSchema = /* @__PURE__ */ __name((sc) => Array.isArray(sc) && sc.length === 2, "isMemberSchema"); + isStaticSchema = /* @__PURE__ */ __name((sc) => Array.isArray(sc) && sc.length >= 5, "isStaticSchema"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js +var SimpleSchema, sim, simAdapter; +var init_SimpleSchema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js"() { + init_Schema(); + SimpleSchema = class _SimpleSchema extends Schema { + static { + __name(this, "SimpleSchema"); + } + static symbol = /* @__PURE__ */ Symbol.for("@smithy/sim"); + schemaRef; + symbol = _SimpleSchema.symbol; + }; + sim = /* @__PURE__ */ __name((namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), { + name, + namespace, + traits, + schemaRef + }), "sim"); + simAdapter = /* @__PURE__ */ __name((namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), { + name, + namespace, + traits, + schemaRef + }), "simAdapter"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js +var SCHEMA; +var init_sentinels = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js"() { + SCHEMA = { + BLOB: 21, + STREAMING_BLOB: 42, + BOOLEAN: 2, + STRING: 0, + NUMERIC: 1, + BIG_INTEGER: 17, + BIG_DECIMAL: 19, + DOCUMENT: 15, + TIMESTAMP_DEFAULT: 4, + TIMESTAMP_DATE_TIME: 5, + TIMESTAMP_HTTP_DATE: 6, + TIMESTAMP_EPOCH_SECONDS: 7, + LIST_MODIFIER: 64, + MAP_MODIFIER: 128 + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +var TypeRegistry; +var init_TypeRegistry = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js"() { + TypeRegistry = class _TypeRegistry { + static { + __name(this, "TypeRegistry"); + } + namespace; + schemas; + exceptions; + static registries = /* @__PURE__ */ new Map(); + constructor(namespace, schemas = /* @__PURE__ */ new Map(), exceptions = /* @__PURE__ */ new Map()) { + this.namespace = namespace; + this.schemas = schemas; + this.exceptions = exceptions; + if (!_TypeRegistry.registries.has(namespace)) { + _TypeRegistry.registries.set(namespace, this); + } + } + static for(namespace) { + return _TypeRegistry.registries.get(namespace) ?? new _TypeRegistry(namespace); + } + copyFrom(other) { + const { schemas, exceptions } = this; + for (const [k, v] of other.schemas) { + if (!schemas.has(k)) { + schemas.set(k, v); + } + } + for (const [k, v] of other.exceptions) { + if (!exceptions.has(k)) { + exceptions.set(k, v); + } + } + } + register(shapeId, schema) { + const qualifiedName = this.normalizeShapeId(shapeId); + for (const r of [this, _TypeRegistry.for(qualifiedName.split("#")[0])]) { + if (!r.schemas.has(qualifiedName)) { + r.schemas.set(qualifiedName, schema); + } + } + } + getSchema(shapeId) { + const id = this.normalizeShapeId(shapeId); + if (!this.schemas.has(id)) { + if (!shapeId.includes("#")) { + const suffix = "#" + shapeId; + const candidates = []; + for (const [shapeId2, schema] of this.schemas.entries()) { + if (shapeId2.endsWith(suffix)) { + candidates.push(schema); + } + } + if (candidates.length === 1) { + return candidates[0]; + } + } + throw new Error(`@smithy/core/schema - schema not found for ${id}`); + } + return this.schemas.get(id); + } + registerError(es, ctor) { + const $error = es; + const ns = $error[1]; + const qualifiedName = ns + "#" + $error[2]; + if (!ctor.hasOwnProperty?.("shapeId")) { + ctor.shapeId = qualifiedName; + } + for (const r of [this, _TypeRegistry.for(ns)]) { + if (!r.schemas.has(qualifiedName) && !r.exceptions.has($error)) { + r.schemas.set(qualifiedName, $error); + r.exceptions.set($error, ctor); + } + } + } + getErrorCtor(es) { + const $error = es; + if (this.exceptions.has($error)) { + return this.exceptions.get($error); + } + const registry = _TypeRegistry.for($error[1]); + return registry.exceptions.get($error); + } + getBaseException() { + for (const exceptionKey of this.exceptions.keys()) { + if (Array.isArray(exceptionKey)) { + const [, ns, name] = exceptionKey; + const id = ns + "#" + name; + if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) { + return exceptionKey; + } + } + } + return void 0; + } + find(predicate) { + for (const schema of this.schemas.values()) { + if (predicate(schema)) { + return schema; + } + } + return void 0; + } + clear() { + this.schemas.clear(); + this.exceptions.clear(); + } + normalizeShapeId(shapeId) { + if (shapeId.includes("#")) { + return shapeId; + } + return this.namespace + "#" + shapeId; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/index.js +var schema_exports = {}; +__export(schema_exports, { + ErrorSchema: () => ErrorSchema, + ListSchema: () => ListSchema, + MapSchema: () => MapSchema, + NormalizedSchema: () => NormalizedSchema, + OperationSchema: () => OperationSchema, + SCHEMA: () => SCHEMA, + Schema: () => Schema, + SimpleSchema: () => SimpleSchema, + StructureSchema: () => StructureSchema, + TypeRegistry: () => TypeRegistry, + deref: () => deref, + deserializerMiddlewareOption: () => deserializerMiddlewareOption, + error: () => error, + getSchemaSerdePlugin: () => getSchemaSerdePlugin, + isStaticSchema: () => isStaticSchema, + list: () => list, + map: () => map, + op: () => op, + operation: () => operation, + serializerMiddlewareOption: () => serializerMiddlewareOption, + sim: () => sim, + simAdapter: () => simAdapter, + simpleSchemaCacheN: () => simpleSchemaCacheN, + simpleSchemaCacheS: () => simpleSchemaCacheS, + struct: () => struct, + traitsCache: () => traitsCache, + translateTraits: () => translateTraits +}); +var init_schema = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/schema/index.js"() { + init_deref(); + init_getSchemaSerdePlugin(); + init_ListSchema(); + init_MapSchema(); + init_OperationSchema(); + init_operation(); + init_ErrorSchema(); + init_NormalizedSchema(); + init_Schema(); + init_SimpleSchema(); + init_StructureSchema(); + init_sentinels(); + init_translateTraits(); + init_TypeRegistry(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js +function schemaLogFilter(schema, data) { + if (data == null) { + return data; + } + const ns = NormalizedSchema.of(schema); + if (ns.getMergedTraits().sensitive) { + return SENSITIVE_STRING; + } + if (ns.isListSchema()) { + const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive; + if (isSensitive) { + return SENSITIVE_STRING; + } + } else if (ns.isMapSchema()) { + const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive; + if (isSensitive) { + return SENSITIVE_STRING; + } + } else if (ns.isStructSchema() && typeof data === "object") { + const object = data; + const newObject = {}; + for (const [member2, memberNs] of ns.structIterator()) { + if (object[member2] != null) { + newObject[member2] = schemaLogFilter(memberNs, object[member2]); + } + } + return newObject; + } + return data; +} +var SENSITIVE_STRING; +var init_schemaLogFilter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js"() { + init_schema(); + SENSITIVE_STRING = "***SensitiveInformation***"; + __name(schemaLogFilter, "schemaLogFilter"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +var import_types7, Command, ClassBuilder; +var init_command = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js"() { + import_types7 = __toESM(require_dist_cjs()); + init_MiddlewareStack(); + init_schemaLogFilter(); + Command = class { + static { + __name(this, "Command"); + } + middlewareStack = constructStack(); + schema; + static classBuilder() { + return new ClassBuilder(); + } + resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor }) { + for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) { + this.middlewareStack.use(mw); + } + const stack = clientStack.concat(this.middlewareStack); + const { logger: logger2 } = configuration; + const additionalSmithyContext = additionalContext[import_types7.SMITHY_CONTEXT_KEY]; + const handlerExecutionContext = { + logger: logger2, + clientName, + commandName, + inputFilterSensitiveLog, + outputFilterSensitiveLog, + ...additionalContext, + [import_types7.SMITHY_CONTEXT_KEY]: { + ...additionalSmithyContext, + commandInstance: this, + ...smithyContext, + ...options?.metricsRecorder === void 0 ? {} : { metricsRecorder: options.metricsRecorder } + } + }; + const { requestHandler } = configuration; + let requestOptions = options ?? {}; + if (requestOptions.metricsRecorder) { + requestOptions = { ...requestOptions }; + delete requestOptions.metricsRecorder; + } + if (smithyContext.eventStream) { + requestOptions = { + isEventStream: true, + ...requestOptions + }; + } + return stack.resolve((request) => requestHandler.handle(request.request, requestOptions), handlerExecutionContext); + } + }; + ClassBuilder = class { + static { + __name(this, "ClassBuilder"); + } + _init = /* @__PURE__ */ __name(() => { + }, "_init"); + _ep = {}; + _middlewareFn = /* @__PURE__ */ __name(() => [], "_middlewareFn"); + _commandName = ""; + _clientName = ""; + _additionalContext = {}; + _smithyContext = {}; + _inputFilterSensitiveLog = void 0; + _outputFilterSensitiveLog = void 0; + _serializer = null; + _deserializer = null; + _operationSchema; + init(cb) { + this._init = cb; + } + ep(endpointParameterInstructions) { + this._ep = endpointParameterInstructions; + return this; + } + m(middlewareSupplier) { + this._middlewareFn = middlewareSupplier; + return this; + } + s(service, operation2, smithyContext = {}) { + this._smithyContext = { + service, + operation: operation2, + ...smithyContext + }; + return this; + } + c(additionalContext = {}) { + this._additionalContext = additionalContext; + return this; + } + n(clientName, commandName) { + this._clientName = clientName; + this._commandName = commandName; + return this; + } + f(inputFilter = (_) => _, outputFilter = (_) => _) { + this._inputFilterSensitiveLog = inputFilter; + this._outputFilterSensitiveLog = outputFilter; + return this; + } + ser(serializer) { + this._serializer = serializer; + return this; + } + de(deserializer) { + this._deserializer = deserializer; + return this; + } + sc(operation2) { + this._operationSchema = operation2; + this._smithyContext.operationSchema = operation2; + return this; + } + build() { + const closure = this; + let CommandRef; + return CommandRef = class extends Command { + static { + __name(this, "CommandRef"); + } + input; + static getEndpointParameterInstructions() { + return closure._ep; + } + constructor(...[input]) { + super(); + this.input = input ?? {}; + closure._init(this); + this.schema = closure._operationSchema; + } + resolveMiddleware(stack, configuration, options) { + const op2 = closure._operationSchema; + const input = op2?.[4] ?? op2?.input; + const output = op2?.[5] ?? op2?.output; + return this.resolveMiddlewareWithContext(stack, configuration, options, { + CommandCtor: CommandRef, + middlewareFn: closure._middlewareFn, + clientName: closure._clientName, + commandName: closure._commandName, + inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op2 ? schemaLogFilter.bind(null, input) : (_) => _), + outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op2 ? schemaLogFilter.bind(null, output) : (_) => _), + smithyContext: closure._smithyContext, + additionalContext: closure._additionalContext + }); + } + serialize = closure._serializer; + deserialize = closure._deserializer; + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/constants.js +var SENSITIVE_STRING2; +var init_constants2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/constants.js"() { + SENSITIVE_STRING2 = "***SensitiveInformation***"; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js +var createAggregatedClient; +var init_create_aggregated_client = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js"() { + createAggregatedClient = /* @__PURE__ */ __name((commands, Client2, options) => { + for (const [command, CommandCtor] of Object.entries(commands)) { + const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) { + const command2 = new CommandCtor(args); + if (typeof optionsOrCb === "function") { + this.send(command2, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") + throw new Error(`Expected http options but got ${typeof optionsOrCb}`); + this.send(command2, optionsOrCb || {}, cb); + } else { + return this.send(command2, optionsOrCb); + } + }, "methodImpl"); + const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); + Client2.prototype[methodName] = methodImpl; + } + const { paginators = {}, waiters = {} } = options ?? {}; + for (const [paginatorName, paginatorFn] of Object.entries(paginators)) { + if (Client2.prototype[paginatorName] === void 0) { + Client2.prototype[paginatorName] = function(commandInput = {}, paginationConfiguration, ...rest) { + return paginatorFn({ + ...paginationConfiguration, + client: this + }, commandInput, ...rest); + }; + } + } + for (const [waiterName, waiterFn] of Object.entries(waiters)) { + if (Client2.prototype[waiterName] === void 0) { + Client2.prototype[waiterName] = async function(commandInput = {}, waiterConfiguration, ...rest) { + let config = waiterConfiguration; + if (typeof waiterConfiguration === "number") { + config = { + maxWaitTime: waiterConfiguration + }; + } + return waiterFn({ + ...config, + client: this + }, commandInput, ...rest); + }; + } + } + }, "createAggregatedClient"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +var ServiceException, decorateServiceException; +var init_exceptions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js"() { + ServiceException = class _ServiceException extends Error { + static { + __name(this, "ServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.nonamespace.client#ServiceException"; + $fault; + $response; + $retryable; + $metadata; + constructor(options) { + super(options.message); + Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype); + this.name = options.name; + this.$fault = options.$fault; + this.$metadata = options.$metadata; + } + static isInstance(value) { + if (!value) + return false; + const candidate = value; + return _ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server"); + } + static [Symbol.hasInstance](instance) { + if (!instance) + return false; + const candidate = instance; + if (this === _ServiceException) { + return _ServiceException.isInstance(instance); + } + if (_ServiceException.isInstance(instance)) { + if (this.prototype.isPrototypeOf(instance)) { + return true; + } + const targetId = Object.prototype.hasOwnProperty.call(this, "shapeId") ? this.shapeId : void 0; + let candidateHasShapeId = false; + if (targetId) { + let proto = Object.getPrototypeOf(candidate); + while (proto && proto !== Object.prototype) { + const ctor = proto.constructor; + const candidateId = ctor !== _ServiceException && Object.prototype.hasOwnProperty.call(ctor, "shapeId") ? ctor?.shapeId : void 0; + if (candidateId) { + candidateHasShapeId = true; + if (candidateId === targetId) { + return true; + } + } + proto = Object.getPrototypeOf(proto); + } + } + if (targetId && candidateHasShapeId) { + return false; + } + const targetName = this.name; + if (targetName && targetName.length >= 6) { + if (candidate.name === targetName) { + return true; + } + let proto = Object.getPrototypeOf(candidate); + while (proto && proto !== Object.prototype) { + const ctorName = proto.constructor?.name; + if (ctorName && ctorName !== "Error" && ctorName === targetName) { + return true; + } + proto = Object.getPrototypeOf(proto); + } + } + } + return false; + } + }; + decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => { + Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => { + if (exception[k] == void 0 || exception[k] === "") { + exception[k] = v; + } + }); + const message = exception.message || exception.Message || "UnknownError"; + exception.message = message; + delete exception.Message; + return exception; + }, "decorateServiceException"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/default-error-handler.js +var throwDefaultError, withBaseException, deserializeMetadata; +var init_default_error_handler = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/default-error-handler.js"() { + init_exceptions(); + throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => { + const $metadata = deserializeMetadata(output); + const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0; + const response = new exceptionCtor({ + name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || "UnknownError", + $fault: "client", + $metadata + }); + throw decorateServiceException(response, parsedBody); + }, "throwDefaultError"); + withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => { + return ({ output, parsedBody, errorCode }) => { + throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); + }; + }, "withBaseException"); + deserializeMetadata = /* @__PURE__ */ __name((output) => ({ + httpStatusCode: output.statusCode, + requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], + extendedRequestId: output.headers["x-amz-id-2"], + cfId: output.headers["x-amz-cf-id"] + }), "deserializeMetadata"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/defaults-mode.js +var loadConfigsForDefaultMode; +var init_defaults_mode = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/defaults-mode.js"() { + loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => { + switch (mode) { + case "standard": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "in-region": + return { + retryMode: "standard", + connectionTimeout: 1100 + }; + case "cross-region": + return { + retryMode: "standard", + connectionTimeout: 3100 + }; + case "mobile": + return { + retryMode: "standard", + connectionTimeout: 3e4 + }; + default: + return {}; + } + }, "loadConfigsForDefaultMode"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/emitWarningIfUnsupportedVersion.js +var warningEmitted, emitWarningIfUnsupportedVersion; +var init_emitWarningIfUnsupportedVersion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/emitWarningIfUnsupportedVersion.js"() { + warningEmitted = false; + emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => { + if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 16) { + warningEmitted = true; + } + }, "emitWarningIfUnsupportedVersion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js +var import_types8, knownAlgorithms, getChecksumConfiguration, resolveChecksumRuntimeConfig; +var init_checksum = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js"() { + init_transport(); + import_types8 = __toESM(require_dist_cjs()); + knownAlgorithms = Object.values(import_types8.AlgorithmId); + getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const checksumAlgorithms = []; + for (const id in import_types8.AlgorithmId) { + if (!hasOwn(import_types8.AlgorithmId, id)) + continue; + const algorithmId = import_types8.AlgorithmId[id]; + if (runtimeConfig[algorithmId] === void 0) { + continue; + } + checksumAlgorithms.push({ + algorithmId: /* @__PURE__ */ __name(() => algorithmId, "algorithmId"), + checksumConstructor: /* @__PURE__ */ __name(() => runtimeConfig[algorithmId], "checksumConstructor") + }); + } + for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) { + checksumAlgorithms.push({ + algorithmId: /* @__PURE__ */ __name(() => id, "algorithmId"), + checksumConstructor: /* @__PURE__ */ __name(() => ChecksumCtor, "checksumConstructor") + }); + } + return { + addChecksumAlgorithm(algo) { + runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {}; + const id = algo.algorithmId(); + const ctor = algo.checksumConstructor(); + if (knownAlgorithms.includes(id)) { + runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor; + } else { + runtimeConfig.checksumAlgorithms[id] = ctor; + } + checksumAlgorithms.push(algo); + }, + checksumAlgorithms() { + return checksumAlgorithms; + } + }; + }, "getChecksumConfiguration"); + resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => { + const runtimeConfig = {}; + clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { + const id = checksumAlgorithm.algorithmId(); + if (knownAlgorithms.includes(id)) { + runtimeConfig[id] = checksumAlgorithm.checksumConstructor(); + } + }); + return runtimeConfig; + }, "resolveChecksumRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/retry.js +var getRetryConfiguration, resolveRetryRuntimeConfig; +var init_retry = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/retry.js"() { + getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + return { + setRetryStrategy(retryStrategy) { + runtimeConfig.retryStrategy = retryStrategy; + }, + retryStrategy() { + return runtimeConfig.retryStrategy; + } + }; + }, "getRetryConfiguration"); + resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => { + const runtimeConfig = {}; + runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy(); + return runtimeConfig; + }, "resolveRetryRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.js +var getDefaultExtensionConfiguration, getDefaultClientConfiguration, resolveDefaultRuntimeConfig; +var init_defaultExtensionConfiguration = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/defaultExtensionConfiguration.js"() { + init_checksum(); + init_retry(); + getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig)); + }, "getDefaultExtensionConfiguration"); + getDefaultClientConfiguration = getDefaultExtensionConfiguration; + resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => { + return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config)); + }, "resolveDefaultRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-array-if-single-item.js +var getArrayIfSingleItem; +var init_get_array_if_single_item = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-array-if-single-item.js"() { + getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], "getArrayIfSingleItem"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +var getValueFromTextNode; +var init_get_value_from_text_node = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js"() { + init_transport(); + getValueFromTextNode = /* @__PURE__ */ __name((obj) => { + const textNodeName = "#text"; + for (const key in obj) { + if (!hasOwn(obj, key)) + continue; + if (obj[key][textNodeName] !== void 0) { + obj[key] = obj[key][textNodeName]; + } else if (typeof obj[key] === "object" && obj[key] !== null) { + obj[key] = getValueFromTextNode(obj[key]); + } + } + return obj; + }, "getValueFromTextNode"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/is-serializable-header-value.js +var isSerializableHeaderValue; +var init_is_serializable_header_value = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/is-serializable-header-value.js"() { + isSerializableHeaderValue = /* @__PURE__ */ __name((value) => { + return value != null; + }, "isSerializableHeaderValue"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/NoOpLogger.js +var NoOpLogger; +var init_NoOpLogger = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/NoOpLogger.js"() { + NoOpLogger = class { + static { + __name(this, "NoOpLogger"); + } + trace() { + } + debug() { + } + info() { + } + warn() { + } + error() { + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js +function map2(arg0, arg1, arg2) { + let target; + let filter; + let instructions; + if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { + target = {}; + instructions = arg0; + } else { + target = arg0; + if (typeof arg1 === "function") { + filter = arg1; + instructions = arg2; + return mapWithFilter(target, filter, instructions); + } else { + instructions = arg1; + } + } + for (const key in instructions) { + if (!hasOwn(instructions, key)) + continue; + if (!Array.isArray(instructions[key])) { + target[key] = instructions[key]; + continue; + } + applyInstruction(target, null, instructions, key); + } + return target; +} +var convertMap, take, mapWithFilter, applyInstruction, nonNullish, pass; +var init_object_mapping = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js"() { + init_transport(); + __name(map2, "map"); + convertMap = /* @__PURE__ */ __name((target) => { + const output = {}; + for (const [k, v] of Object.entries(target || {})) { + output[k] = [, v]; + } + return output; + }, "convertMap"); + take = /* @__PURE__ */ __name((source, instructions) => { + const out = {}; + for (const key in instructions) { + if (!hasOwn(instructions, key)) + continue; + applyInstruction(out, source, instructions, key); + } + return out; + }, "take"); + mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => { + return map2(target, Object.entries(instructions).reduce((_instructions, [key, value]) => { + if (Array.isArray(value)) { + _instructions[key] = value; + } else { + if (typeof value === "function") { + _instructions[key] = [filter, value()]; + } else { + _instructions[key] = [filter, value]; + } + } + return _instructions; + }, {})); + }, "mapWithFilter"); + applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => { + if (source !== null) { + let instruction = instructions[targetKey]; + if (typeof instruction === "function") { + instruction = [, instruction]; + } + const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; + if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) { + target[targetKey] = valueFn(source[sourceKey]); + } + return; + } + let [filter, value] = instructions[targetKey]; + if (typeof value === "function") { + let _value; + const defaultFilterPassed = filter === void 0 && (_value = value()) != null; + const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed) { + target[targetKey] = _value; + } else if (customFilterPassed) { + target[targetKey] = value(); + } + } else { + const defaultFilterPassed = filter === void 0 && value != null; + const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter; + if (defaultFilterPassed || customFilterPassed) { + target[targetKey] = value; + } + } + }, "applyInstruction"); + nonNullish = /* @__PURE__ */ __name((_) => _ != null, "nonNullish"); + pass = /* @__PURE__ */ __name((_) => _, "pass"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/ser-utils.js +var serializeFloat, serializeDateTime; +var init_ser_utils = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/ser-utils.js"() { + serializeFloat = /* @__PURE__ */ __name((value) => { + if (value !== value) { + return "NaN"; + } + switch (value) { + case Infinity: + return "Infinity"; + case -Infinity: + return "-Infinity"; + default: + return value; + } + }, "serializeFloat"); + serializeDateTime = /* @__PURE__ */ __name((date2) => date2.toISOString().replace(".000Z", "Z"), "serializeDateTime"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js +var _json; +var init_serde_json = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js"() { + init_transport(); + _json = /* @__PURE__ */ __name((obj) => { + if (obj == null) { + return {}; + } + if (Array.isArray(obj)) { + return obj.filter((_) => _ != null).map(_json); + } + if (typeof obj === "object") { + const target = {}; + for (const key in obj) { + if (!hasOwn(obj, key)) + continue; + if (obj[key] == null) { + continue; + } + target[key] = _json(obj[key]); + } + return target; + } + return obj; + }, "_json"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js +function makeBuilder(common, service, name, ep) { + return /* @__PURE__ */ __name(function makeCommand(added, plugins, op2, $, smithyContext = {}) { + const epMerged = Object.assign({}, common, added); + return Command.classBuilder().ep(epMerged).m(function(CommandCtor, clientStack, config, options) { + const list2 = plugins.call(this, CommandCtor, clientStack, config, options); + list2.unshift(ep(config, CommandCtor.getEndpointParameterInstructions())); + return list2; + }).s(service, op2, smithyContext).n(name, op2.charAt(0).toUpperCase() + op2.slice(1) + "Command").sc($).build(); + }, "makeCommand"); +} +var init_client_command_builder = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js"() { + init_command(); + __name(makeBuilder, "makeBuilder"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/index.js +var client_exports = {}; +__export(client_exports, { + AlgorithmId: () => import_types8.AlgorithmId, + Client: () => Client, + Command: () => Command, + NoOpLogger: () => NoOpLogger, + SENSITIVE_STRING: () => SENSITIVE_STRING2, + ServiceException: () => ServiceException, + WaiterState: () => WaiterState, + _json: () => _json, + checkExceptions: () => checkExceptions, + constructStack: () => constructStack, + convertMap: () => convertMap, + createAggregatedClient: () => createAggregatedClient, + createWaiter: () => createWaiter, + decorateServiceException: () => decorateServiceException, + emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion, + getArrayIfSingleItem: () => getArrayIfSingleItem, + getChecksumConfiguration: () => getChecksumConfiguration, + getDefaultClientConfiguration: () => getDefaultClientConfiguration, + getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration, + getRetryConfiguration: () => getRetryConfiguration, + getSmithyContext: () => getSmithyContext, + getValueFromTextNode: () => getValueFromTextNode, + invalidFunction: () => invalidFunction, + invalidProvider: () => invalidProvider, + isSerializableHeaderValue: () => isSerializableHeaderValue, + loadConfigsForDefaultMode: () => loadConfigsForDefaultMode, + makeBuilder: () => makeBuilder, + map: () => map2, + normalizeProvider: () => normalizeProvider, + resolveChecksumRuntimeConfig: () => resolveChecksumRuntimeConfig, + resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig, + resolveRetryRuntimeConfig: () => resolveRetryRuntimeConfig, + schemaLogFilter: () => schemaLogFilter, + serializeDateTime: () => serializeDateTime, + serializeFloat: () => serializeFloat, + take: () => take, + throwDefaultError: () => throwDefaultError, + waiterServiceDefaults: () => waiterServiceDefaults, + withBaseException: () => withBaseException +}); +var init_client2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/client/index.js"() { + init_MiddlewareStack(); + init_transport(); + init_transport(); + init_invalidFunction(); + init_invalidProvider(); + init_createWaiter(); + init_waiter(); + init_client(); + init_command(); + init_constants2(); + init_create_aggregated_client(); + init_default_error_handler(); + init_defaults_mode(); + init_emitWarningIfUnsupportedVersion(); + init_exceptions(); + init_defaultExtensionConfiguration(); + init_checksum(); + init_retry(); + init_get_array_if_single_item(); + init_get_value_from_text_node(); + init_is_serializable_header_value(); + init_NoOpLogger(); + init_object_mapping(); + init_schemaLogFilter(); + init_ser_utils(); + init_serde_json(); + init_client_command_builder(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveCustomEndpointsConfig.js +var resolveCustomEndpointsConfig; +var init_resolveCustomEndpointsConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveCustomEndpointsConfig.js"() { + init_client2(); + resolveCustomEndpointsConfig = /* @__PURE__ */ __name((input) => { + const { tls, endpoint, urlParser, useDualstackEndpoint } = input; + return Object.assign(input, { + tls: tls ?? true, + endpoint: normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint), + isCustomEndpoint: true, + useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false) + }); + }, "resolveCustomEndpointsConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/utils/getEndpointFromRegion.js +var getEndpointFromRegion; +var init_getEndpointFromRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/utils/getEndpointFromRegion.js"() { + getEndpointFromRegion = /* @__PURE__ */ __name(async (input) => { + const { tls = true } = input; + const region = await input.region(); + const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/); + if (!dnsHostRegex.test(region)) { + throw new Error("Invalid region in client config"); + } + const useDualstackEndpoint = await input.useDualstackEndpoint(); + const useFipsEndpoint = await input.useFipsEndpoint(); + const { hostname } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {}; + if (!hostname) { + throw new Error("Cannot resolve hostname from client config"); + } + return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`); + }, "getEndpointFromRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveEndpointsConfig.js +var resolveEndpointsConfig; +var init_resolveEndpointsConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/resolveEndpointsConfig.js"() { + init_client2(); + init_getEndpointFromRegion(); + resolveEndpointsConfig = /* @__PURE__ */ __name((input) => { + const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false); + const { endpoint, useFipsEndpoint, urlParser, tls } = input; + return Object.assign(input, { + tls: tls ?? true, + endpoint: endpoint ? normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }), + isCustomEndpoint: !!endpoint, + useDualstackEndpoint + }); + }, "resolveEndpointsConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js +var AWS_EXECUTION_ENV, AWS_REGION_ENV, AWS_DEFAULT_REGION_ENV, ENV_IMDS_DISABLED, DEFAULTS_MODE_OPTIONS, IMDS_REGION_PATH, IMDS_TOKEN_PATH, X_AWS_EC2_METADATA_TOKEN, X_AWS_EC2_METADATA_TOKEN_TTL; +var init_constants3 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js"() { + AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV"; + AWS_REGION_ENV = "AWS_REGION"; + AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION"; + ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"]; + IMDS_REGION_PATH = "/latest/meta-data/placement/region"; + IMDS_TOKEN_PATH = "/latest/api/token"; + X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token"; + X_AWS_EC2_METADATA_TOKEN_TTL = "x-aws-ec2-metadata-token-ttl-seconds"; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js +var TIMEOUT_MS, NEG_CACHE_TTL_MS, negativeCacheUntil, getInstanceMetadataRegion, cacheNegativeAndReturnUndefined, resolveImdsEndpoint, imdsRequest; +var init_getInstanceMetadataRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js"() { + init_constants3(); + TIMEOUT_MS = 1e3; + NEG_CACHE_TTL_MS = 6e4; + negativeCacheUntil = 0; + getInstanceMetadataRegion = /* @__PURE__ */ __name(async () => { + if (process.env[ENV_IMDS_DISABLED]) { + return void 0; + } + if (Date.now() < negativeCacheUntil) { + return void 0; + } + try { + const endpoint = resolveImdsEndpoint(); + const token = (await imdsRequest({ + ...endpoint, + path: IMDS_TOKEN_PATH, + method: "PUT", + headers: { + [X_AWS_EC2_METADATA_TOKEN_TTL]: "21600" + } + })).toString(); + const region = (await imdsRequest({ + ...endpoint, + path: IMDS_REGION_PATH, + method: "GET", + headers: { + [X_AWS_EC2_METADATA_TOKEN]: token + } + })).toString().trim(); + return region || cacheNegativeAndReturnUndefined(); + } catch { + return cacheNegativeAndReturnUndefined(); + } + }, "getInstanceMetadataRegion"); + cacheNegativeAndReturnUndefined = /* @__PURE__ */ __name(() => { + negativeCacheUntil = Date.now() + NEG_CACHE_TTL_MS; + return void 0; + }, "cacheNegativeAndReturnUndefined"); + resolveImdsEndpoint = /* @__PURE__ */ __name(() => { + const envEndpoint = process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT; + if (envEndpoint) { + const url = new URL(envEndpoint); + return { + hostname: url.hostname.replace(/^\[(.+)]$/, "$1"), + port: url.port ? Number(url.port) : void 0 + }; + } + if (process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE === "IPv6") { + return { hostname: "fd00:ec2::254" }; + } + return { hostname: "169.254.169.254" }; + }, "resolveImdsEndpoint"); + imdsRequest = /* @__PURE__ */ __name(async (options) => { + const { request } = await import("node:http"); + return new Promise((resolve, reject) => { + const req = request({ + hostname: options.hostname, + port: options.port, + path: options.path, + method: options.method, + headers: options.headers, + timeout: TIMEOUT_MS, + signal: AbortSignal.timeout(TIMEOUT_MS) + }); + req.on("error", (err) => { + reject(err); + req.destroy(); + }); + req.on("timeout", () => { + reject(new Error("TimeoutError from instance metadata service")); + req.destroy(); + }); + req.on("response", (res) => { + const { statusCode = 400 } = res; + if (statusCode < 200 || statusCode >= 300) { + reject(Object.assign(new Error("Error response received from instance metadata service"), { statusCode })); + req.destroy(); + return; + } + const chunks = []; + res.on("data", (chunk) => chunks.push(chunk)); + res.on("end", () => { + resolve(Buffer.concat(chunks)); + req.destroy(); + }); + }); + req.end(); + }); + }, "imdsRequest"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js +var REGION_ENV_NAME, REGION_INI_NAME, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS; +var init_config = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js"() { + init_getInstanceMetadataRegion(); + REGION_ENV_NAME = "AWS_REGION"; + REGION_INI_NAME = "region"; + NODE_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => env[REGION_ENV_NAME], "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => profile[REGION_INI_NAME], "configFileSelector"), + default: /* @__PURE__ */ __name(async () => { + const region = await getInstanceMetadataRegion(); + if (region) { + return region; + } + throw new Error("Region is missing"); + }, "default") + }; + NODE_REGION_CONFIG_FILE_OPTIONS = { + preferredFile: "credentials" + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js +var validRegions, checkRegion; +var init_checkRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js"() { + init_transport(); + validRegions = /* @__PURE__ */ new Set(); + checkRegion = /* @__PURE__ */ __name((region, check = isValidHostLabel) => { + if (!validRegions.has(region) && !check(region)) { + if (region === "*") { + console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`); + } else { + throw new Error(`Region not accepted: region="${region}" is not a valid hostname component.`); + } + } else { + validRegions.add(region); + } + }, "checkRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/isFipsRegion.js +var isFipsRegion; +var init_isFipsRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/isFipsRegion.js"() { + isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips")), "isFipsRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getRealRegion.js +var getRealRegion; +var init_getRealRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getRealRegion.js"() { + init_isFipsRegion(); + getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region, "getRealRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/resolveRegionConfig.js +var resolveRegionConfig; +var init_resolveRegionConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/resolveRegionConfig.js"() { + init_checkRegion(); + init_getRealRegion(); + init_isFipsRegion(); + resolveRegionConfig = /* @__PURE__ */ __name((input) => { + const { region, useFipsEndpoint } = input; + if (!region) { + throw new Error("Region is missing"); + } + return Object.assign(input, { + region: /* @__PURE__ */ __name(async () => { + const providedRegion = typeof region === "function" ? await region() : region; + const realRegion = getRealRegion(providedRegion); + checkRegion(realRegion); + return realRegion; + }, "region"), + useFipsEndpoint: /* @__PURE__ */ __name(async () => { + const providedRegion = typeof region === "string" ? region : await region(); + if (isFipsRegion(providedRegion)) { + return true; + } + return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint(); + }, "useFipsEndpoint") + }); + }, "resolveRegionConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getHostnameFromVariants.js +var getHostnameFromVariants; +var init_getHostnameFromVariants = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getHostnameFromVariants.js"() { + getHostnameFromVariants = /* @__PURE__ */ __name((variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))?.hostname, "getHostnameFromVariants"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedHostname.js +var getResolvedHostname; +var init_getResolvedHostname = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedHostname.js"() { + getResolvedHostname = /* @__PURE__ */ __name((resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : void 0, "getResolvedHostname"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedPartition.js +var getResolvedPartition; +var init_getResolvedPartition = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedPartition.js"() { + getResolvedPartition = /* @__PURE__ */ __name((region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws", "getResolvedPartition"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedSigningRegion.js +var getResolvedSigningRegion; +var init_getResolvedSigningRegion = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getResolvedSigningRegion.js"() { + getResolvedSigningRegion = /* @__PURE__ */ __name((hostname, { signingRegion, regionRegex, useFipsEndpoint }) => { + if (signingRegion) { + return signingRegion; + } else if (useFipsEndpoint) { + const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\."); + const regionRegexmatchArray = hostname.match(regionRegexJs); + if (regionRegexmatchArray) { + return regionRegexmatchArray[0].slice(1, -1); + } + } + }, "getResolvedSigningRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getRegionInfo.js +var getRegionInfo; +var init_getRegionInfo = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionInfo/getRegionInfo.js"() { + init_getHostnameFromVariants(); + init_getResolvedHostname(); + init_getResolvedPartition(); + init_getResolvedSigningRegion(); + getRegionInfo = /* @__PURE__ */ __name((region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => { + const partition = getResolvedPartition(region, { partitionHash }); + const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region; + const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint }; + const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions); + const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions); + const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname }); + if (hostname === void 0) { + throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`); + } + const signingRegion = getResolvedSigningRegion(hostname, { + signingRegion: regionHash[resolvedRegion]?.signingRegion, + regionRegex: partitionHash[partition].regionRegex, + useFipsEndpoint + }); + return { + partition, + signingService, + hostname, + ...signingRegion && { signingRegion }, + ...regionHash[resolvedRegion]?.signingService && { + signingService: regionHash[resolvedRegion].signingService + } + }; + }, "getRegionInfo"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/defaultsModeConfig.js +var AWS_DEFAULTS_MODE_ENV, AWS_DEFAULTS_MODE_CONFIG, NODE_DEFAULTS_MODE_CONFIG_OPTIONS; +var init_defaultsModeConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/defaultsModeConfig.js"() { + AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE"; + AWS_DEFAULTS_MODE_CONFIG = "defaults_mode"; + NODE_DEFAULTS_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => { + return env[AWS_DEFAULTS_MODE_ENV]; + }, "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => { + return profile[AWS_DEFAULTS_MODE_CONFIG]; + }, "configFileSelector"), + default: "legacy" + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js +var resolveDefaultsModeConfig, resolveNodeDefaultsModeAuto, inferPhysicalRegion; +var init_resolveDefaultsModeConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js"() { + init_config(); + init_getInstanceMetadataRegion(); + init_configLoader(); + init_memoize(); + init_constants3(); + init_defaultsModeConfig(); + resolveDefaultsModeConfig = /* @__PURE__ */ __name(({ region = loadConfig(NODE_REGION_CONFIG_OPTIONS), defaultsMode = loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => memoize(async () => { + const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode; + switch (mode?.toLowerCase()) { + case "auto": + return resolveNodeDefaultsModeAuto(region); + case "in-region": + case "cross-region": + case "mobile": + case "standard": + case "legacy": + return Promise.resolve(mode?.toLocaleLowerCase()); + case void 0: + return Promise.resolve("legacy"); + default: + throw new Error(`Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`); + } + }), "resolveDefaultsModeConfig"); + resolveNodeDefaultsModeAuto = /* @__PURE__ */ __name(async (clientRegion) => { + if (clientRegion) { + const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion; + const inferredRegion = await inferPhysicalRegion(); + if (!inferredRegion) { + return "standard"; + } + if (resolvedRegion === inferredRegion) { + return "in-region"; + } else { + return "cross-region"; + } + } + return "standard"; + }, "resolveNodeDefaultsModeAuto"); + inferPhysicalRegion = /* @__PURE__ */ __name(async () => { + if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) { + return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV]; + } + return getInstanceMetadataRegion(); + }, "inferPhysicalRegion"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/index.js +var config_exports = {}; +__export(config_exports, { + CONFIG_PREFIX_SEPARATOR: () => CONFIG_PREFIX_SEPARATOR, + CONFIG_USE_DUALSTACK_ENDPOINT: () => CONFIG_USE_DUALSTACK_ENDPOINT, + CONFIG_USE_FIPS_ENDPOINT: () => CONFIG_USE_FIPS_ENDPOINT, + CredentialsProviderError: () => CredentialsProviderError, + DEFAULT_PROFILE: () => DEFAULT_PROFILE, + DEFAULT_USE_DUALSTACK_ENDPOINT: () => DEFAULT_USE_DUALSTACK_ENDPOINT, + DEFAULT_USE_FIPS_ENDPOINT: () => DEFAULT_USE_FIPS_ENDPOINT, + ENV_PROFILE: () => ENV_PROFILE, + ENV_USE_DUALSTACK_ENDPOINT: () => ENV_USE_DUALSTACK_ENDPOINT, + ENV_USE_FIPS_ENDPOINT: () => ENV_USE_FIPS_ENDPOINT, + NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS, + NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS, + NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, + NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, + ProviderError: () => ProviderError, + REGION_ENV_NAME: () => REGION_ENV_NAME, + REGION_INI_NAME: () => REGION_INI_NAME, + SelectorType: () => SelectorType, + TokenProviderError: () => TokenProviderError, + booleanSelector: () => booleanSelector, + chain: () => chain, + externalDataInterceptor: () => externalDataInterceptor, + fromStatic: () => fromStatic, + fromValue: () => fromValue, + getHomeDir: () => getHomeDir, + getProfileName: () => getProfileName, + getRegionInfo: () => getRegionInfo, + getSSOTokenFilepath: () => getSSOTokenFilepath, + getSSOTokenFromFile: () => getSSOTokenFromFile, + loadConfig: () => loadConfig, + loadSharedConfigFiles: () => loadSharedConfigFiles, + loadSsoSessionData: () => loadSsoSessionData, + memoize: () => memoize, + nodeDualstackConfigSelectors: () => nodeDualstackConfigSelectors, + nodeFipsConfigSelectors: () => nodeFipsConfigSelectors, + numberSelector: () => numberSelector, + parseKnownFiles: () => parseKnownFiles, + readFile: () => readFile2, + resolveCustomEndpointsConfig: () => resolveCustomEndpointsConfig, + resolveDefaultsModeConfig: () => resolveDefaultsModeConfig, + resolveEndpointsConfig: () => resolveEndpointsConfig, + resolveRegionConfig: () => resolveRegionConfig +}); +var init_config2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/config/index.js"() { + init_ProviderError(); + init_CredentialsProviderError(); + init_TokenProviderError(); + init_chain(); + init_fromValue(); + init_memoize(); + init_booleanSelector(); + init_numberSelector(); + init_types(); + init_getHomeDir(); + init_getProfileName(); + init_getSSOTokenFilepath(); + init_getSSOTokenFromFile(); + init_constants(); + init_loadSharedConfigFiles(); + init_loadSsoSessionData(); + init_parseKnownFiles(); + init_externalDataInterceptor(); + init_readFile(); + init_configLoader(); + init_fromStatic(); + init_NodeUseDualstackEndpointConfigOptions(); + init_NodeUseFipsEndpointConfigOptions(); + init_resolveCustomEndpointsConfig(); + init_resolveEndpointsConfig(); + init_config(); + init_resolveRegionConfig(); + init_getRegionInfo(); + init_resolveDefaultsModeConfig(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js +var ENV_ENDPOINT_URL, CONFIG_ENDPOINT_URL, getEndpointUrlConfig; +var init_getEndpointUrlConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js"() { + init_config2(); + ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL"; + CONFIG_ENDPOINT_URL = "endpoint_url"; + getEndpointUrlConfig = /* @__PURE__ */ __name((serviceId) => ({ + environmentVariableSelector: /* @__PURE__ */ __name((env) => { + const serviceSuffixParts = serviceId.split(" ").map((w) => w.toUpperCase()); + const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")]; + if (serviceEndpointUrl) + return serviceEndpointUrl; + const endpointUrl = env[ENV_ENDPOINT_URL]; + if (endpointUrl) + return endpointUrl; + return void 0; + }, "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile, config) => { + if (profile.services) { + const servicesSectionKey = ["services", profile.services].join(CONFIG_PREFIX_SEPARATOR); + if (!config || !config[servicesSectionKey]) { + throw new Error(`The services section "${profile.services}" specified in the profile is not present in the shared configuration file.`); + } + const servicesSection = config[servicesSectionKey]; + const servicePrefixParts = serviceId.split(" ").map((w) => w.toLowerCase()); + const endpointUrl2 = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(CONFIG_PREFIX_SEPARATOR)]; + if (endpointUrl2) + return endpointUrl2; + } + const endpointUrl = profile[CONFIG_ENDPOINT_URL]; + if (endpointUrl) + return endpointUrl; + return void 0; + }, "configFileSelector"), + default: void 0 + }), "getEndpointUrlConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getIgnoreConfiguredEndpointUrls.js +var ENV_IGNORE_CONFIGURED_ENDPOINT_URLS, CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS, ignoreConfiguredEndpointUrlsConfigSelectors; +var init_getIgnoreConfiguredEndpointUrls = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getIgnoreConfiguredEndpointUrls.js"() { + init_config2(); + ENV_IGNORE_CONFIGURED_ENDPOINT_URLS = "AWS_IGNORE_CONFIGURED_ENDPOINT_URLS"; + CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS = "ignore_configured_endpoint_urls"; + ignoreConfiguredEndpointUrlsConfigSelectors = { + environmentVariableSelector: /* @__PURE__ */ __name((env) => booleanSelector(env, ENV_IGNORE_CONFIGURED_ENDPOINT_URLS, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_IGNORE_CONFIGURED_ENDPOINT_URLS, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.js +var getEndpointFromConfig; +var init_getEndpointFromConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromConfig.js"() { + init_config2(); + init_getEndpointUrlConfig(); + init_getIgnoreConfiguredEndpointUrls(); + getEndpointFromConfig = /* @__PURE__ */ __name(async (serviceId) => { + const ignore = await loadConfig(ignoreConfiguredEndpointUrlsConfigSelectors)(); + if (ignore) { + return void 0; + } + return loadConfig(getEndpointUrlConfig(serviceId ?? ""))(); + }, "getEndpointFromConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/s3.js +var resolveParamsForS3, DOMAIN_PATTERN, IP_ADDRESS_PATTERN, DOTS_PATTERN, isDnsCompatibleBucketName, isArnBucketName; +var init_s3 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/s3.js"() { + resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => { + const bucket = endpointParams?.Bucket || ""; + if (typeof endpointParams.Bucket === "string") { + endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?")); + } + if (isArnBucketName(bucket)) { + if (endpointParams.ForcePathStyle === true) { + throw new Error("Path-style addressing cannot be used with ARN buckets"); + } + } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) { + endpointParams.ForcePathStyle = true; + } + if (endpointParams.DisableMultiRegionAccessPoints) { + endpointParams.disableMultiRegionAccessPoints = true; + endpointParams.DisableMRAP = true; + } + return endpointParams; + }, "resolveParamsForS3"); + DOMAIN_PATTERN = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/; + IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; + DOTS_PATTERN = /\.\./; + isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName"); + isArnBucketName = /* @__PURE__ */ __name((bucketName) => { + const [arn, partition, service, , , bucket] = bucketName.split(":"); + const isArn = arn === "arn" && bucketName.split(":").length >= 6; + const isValidArn = Boolean(isArn && partition && service && bucket); + if (isArn && !isValidArn) { + throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`); + } + return isValidArn; + }, "isArnBucketName"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/index.js +var init_service_customizations = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/service-customizations/index.js"() { + init_s3(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/createConfigValueProvider.js +var createConfigValueProvider; +var init_createConfigValueProvider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/createConfigValueProvider.js"() { + createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => { + const configProvider = /* @__PURE__ */ __name(async () => { + let configValue; + if (isClientContextParam) { + const clientContextParams = config.clientContextParams; + const nestedValue = clientContextParams?.[configKey]; + configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey]; + } else { + configValue = config[configKey] ?? config[canonicalEndpointParamKey]; + } + if (typeof configValue === "function") { + return configValue(); + } + return configValue; + }, "configProvider"); + if (configKey === "credentialScope" || canonicalEndpointParamKey === "CredentialScope") { + return async () => { + const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials; + const configValue = credentials?.credentialScope ?? credentials?.CredentialScope; + return configValue; + }; + } + if (configKey === "accountId" || canonicalEndpointParamKey === "AccountId") { + return async () => { + const credentials = typeof config.credentials === "function" ? await config.credentials() : config.credentials; + const configValue = credentials?.accountId ?? credentials?.AccountId; + return configValue; + }; + } + if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") { + return async () => { + if (config.isCustomEndpoint === false) { + return void 0; + } + const endpoint = await configProvider(); + if (endpoint && typeof endpoint === "object") { + if ("url" in endpoint) { + return endpoint.url.href; + } + if ("hostname" in endpoint) { + const { protocol, hostname, port, path } = endpoint; + return `${protocol}//${hostname}${port ? ":" + port : ""}${path}`; + } + } + return endpoint; + }; + } + return configProvider; + }, "createConfigValueProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js +var init_toEndpointV12 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/toEndpointV1.js"() { + init_transport(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.js +function bindGetEndpointFromInstructions(getEndpointFromConfig2) { + return async (commandInput, instructionsSupplier, clientConfig, context) => { + if (!clientConfig.isCustomEndpoint && !clientConfig.ignoreConfiguredEndpointUrls) { + let endpointFromConfig; + if (clientConfig.serviceConfiguredEndpoint) { + endpointFromConfig = await clientConfig.serviceConfiguredEndpoint(); + } else { + endpointFromConfig = await getEndpointFromConfig2(clientConfig.serviceId); + } + if (endpointFromConfig) { + clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig)); + clientConfig.isCustomEndpoint = true; + context?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${endpointFromConfig}`); + } + } + const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig); + if (typeof clientConfig.endpointProvider !== "function") { + throw new Error("config.endpointProvider is not set."); + } + const endpoint = clientConfig.endpointProvider(endpointParams, context); + if (clientConfig.isCustomEndpoint && clientConfig.endpoint) { + const customEndpoint = await clientConfig.endpoint(); + if (customEndpoint?.headers) { + endpoint.headers ??= {}; + for (const [name, value] of Object.entries(customEndpoint.headers)) { + endpoint.headers[name] = Array.isArray(value) ? value : [value]; + } + } + } + return endpoint; + }; +} +var resolveParams; +var init_getEndpointFromInstructions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.js"() { + init_service_customizations(); + init_createConfigValueProvider(); + init_toEndpointV12(); + __name(bindGetEndpointFromInstructions, "bindGetEndpointFromInstructions"); + resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => { + const endpointParams = {}; + const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {}; + for (const [name, instruction] of Object.entries(instructions)) { + switch (instruction.type) { + case "staticContextParams": + endpointParams[name] = instruction.value; + break; + case "contextParams": + endpointParams[name] = commandInput[instruction.name]; + break; + case "clientContextParams": + case "builtInParams": + endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== "builtInParams")(); + break; + case "operationContextParams": + endpointParams[name] = instruction.get(commandInput); + break; + default: + throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction)); + } + } + if (Object.keys(instructions).length === 0) { + Object.assign(endpointParams, clientConfig); + } + if (String(clientConfig.serviceId).toLowerCase() === "s3") { + await resolveParamsForS3(endpointParams); + } + return endpointParams; + }, "resolveParams"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js +function setFeature(context, feature, value) { + if (!context.__smithy_context) { + context.__smithy_context = { features: {} }; + } else if (!context.__smithy_context.features) { + context.__smithy_context.features = {}; + } + context.__smithy_context.features[feature] = value; +} +function bindEndpointMiddleware(getEndpointFromConfig2) { + const getEndpointFromInstructions2 = bindGetEndpointFromInstructions(getEndpointFromConfig2); + return ({ config, instructions }) => { + return (next, context) => async (args) => { + if (config.isCustomEndpoint) { + setFeature(context, "ENDPOINT_OVERRIDE", "N"); + } + const endpoint = await getEndpointFromInstructions2(args.input, { + getEndpointParameterInstructions() { + return instructions; + } + }, { ...config }, context); + context.endpointV2 = endpoint; + context.authSchemes = endpoint.properties?.authSchemes; + const authScheme = context.authSchemes?.[0]; + if (authScheme) { + context["signing_region"] = authScheme.signingRegion; + context["signing_service"] = authScheme.signingName; + const smithyContext = getSmithyContext(context); + const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption; + if (httpAuthOption) { + httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, { + signing_region: authScheme.signingRegion, + signingRegion: authScheme.signingRegion, + signing_service: authScheme.signingName, + signingName: authScheme.signingName, + signingRegionSet: authScheme.signingRegionSet + }, authScheme.properties); + } + } + return next({ + ...args + }); + }; + }; +} +var init_endpointMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/endpointMiddleware.js"() { + init_transport(); + init_getEndpointFromInstructions(); + __name(setFeature, "setFeature"); + __name(bindEndpointMiddleware, "bindEndpointMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/getEndpointPlugin.js +function bindGetEndpointPlugin(getEndpointFromConfig2) { + const endpointMiddleware2 = bindEndpointMiddleware(getEndpointFromConfig2); + return (config, instructions) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(endpointMiddleware2({ + config, + instructions + }), endpointMiddlewareOptions); + }, "applyToStack") + }); +} +var serializerMiddlewareOption2, endpointMiddlewareOptions; +var init_getEndpointPlugin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/getEndpointPlugin.js"() { + init_endpointMiddleware(); + serializerMiddlewareOption2 = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + endpointMiddlewareOptions = { + step: "serialize", + tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"], + name: "endpointV2Middleware", + override: true, + relation: "before", + toMiddleware: serializerMiddlewareOption2.name + }; + __name(bindGetEndpointPlugin, "bindGetEndpointPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js +function bindResolveEndpointConfig(getEndpointFromConfig2) { + return (input) => { + const tls = input.tls ?? true; + const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input; + const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : void 0; + const isCustomEndpoint = !!endpoint; + const resolvedConfig = Object.assign(input, { + endpoint: customEndpointProvider, + tls, + isCustomEndpoint, + useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false), + useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false), + ignoreConfiguredEndpointUrls: !!input.ignoreConfiguredEndpointUrls + }); + let configuredEndpointPromise = void 0; + resolvedConfig.serviceConfiguredEndpoint = async () => { + if (input.serviceId && !configuredEndpointPromise) { + configuredEndpointPromise = getEndpointFromConfig2(input.serviceId); + } + return configuredEndpointPromise; + }; + return resolvedConfig; + }; +} +var init_resolveEndpointConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointConfig.js"() { + init_transport(); + init_toEndpointV12(); + __name(bindResolveEndpointConfig, "bindResolveEndpointConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/bdd/BinaryDecisionDiagram.js +var BinaryDecisionDiagram; +var init_BinaryDecisionDiagram = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/bdd/BinaryDecisionDiagram.js"() { + BinaryDecisionDiagram = class _BinaryDecisionDiagram { + static { + __name(this, "BinaryDecisionDiagram"); + } + nodes; + root; + conditions; + results; + constructor(bdd, root, conditions, results) { + this.nodes = bdd; + this.root = root; + this.conditions = conditions; + this.results = results; + } + static from(bdd, root, conditions, results) { + return new _BinaryDecisionDiagram(bdd, root, conditions, results); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js +var EndpointCache; +var init_EndpointCache = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/cache/EndpointCache.js"() { + EndpointCache = class { + static { + __name(this, "EndpointCache"); + } + capacity; + data = /* @__PURE__ */ new Map(); + parameters = []; + constructor({ size, params }) { + this.capacity = size ?? 50; + if (params) { + this.parameters = params; + } + } + get(endpointParams, resolver) { + const key = this.hash(endpointParams); + if (key === false) { + return resolver(); + } + if (!this.data.has(key)) { + if (this.data.size > this.capacity + 10) { + const keys = this.data.keys(); + let i = 0; + while (true) { + const { value, done } = keys.next(); + this.data.delete(value); + if (done || ++i > 10) { + break; + } + } + } + this.data.set(key, resolver()); + } + return this.data.get(key); + } + size() { + return this.data.size; + } + hash(endpointParams) { + let buffer = ""; + const { parameters } = this; + if (parameters.length === 0) { + return false; + } + for (const param of parameters) { + const raw = endpointParams[param]; + const val = raw == null ? "\0" : String(raw); + if (val.includes("|;")) { + return false; + } + buffer += val + "|;"; + } + return buffer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/EndpointError.js +var EndpointError; +var init_EndpointError = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/EndpointError.js"() { + EndpointError = class extends Error { + static { + __name(this, "EndpointError"); + } + constructor(message) { + super(message); + this.name = "EndpointError"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/index.js +var init_types2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/types/index.js"() { + init_EndpointError(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/debugId.js +var debugId; +var init_debugId = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/debugId.js"() { + debugId = "endpoints"; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/toDebugString.js +function toDebugString(input) { + if (typeof input !== "object" || input == null) { + return input; + } + if ("ref" in input) { + return `$${toDebugString(input.ref)}`; + } + if ("fn" in input) { + return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`; + } + return JSON.stringify(input, null, 2); +} +var init_toDebugString = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/toDebugString.js"() { + __name(toDebugString, "toDebugString"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/index.js +var init_debug = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/debug/index.js"() { + init_debugId(); + init_toDebugString(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/customEndpointFunctions.js +var customEndpointFunctions; +var init_customEndpointFunctions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/customEndpointFunctions.js"() { + customEndpointFunctions = {}; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/booleanEquals.js +var booleanEquals; +var init_booleanEquals = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/booleanEquals.js"() { + booleanEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "booleanEquals"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/coalesce.js +function coalesce(...args) { + for (const arg of args) { + if (arg != null) { + return arg; + } + } + return void 0; +} +var init_coalesce = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/coalesce.js"() { + __name(coalesce, "coalesce"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttrPathList.js +var getAttrPathList; +var init_getAttrPathList = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttrPathList.js"() { + init_types2(); + getAttrPathList = /* @__PURE__ */ __name((path) => { + const parts = path.split("."); + const pathList = []; + for (const part of parts) { + const squareBracketIndex = part.indexOf("["); + if (squareBracketIndex !== -1) { + if (part.indexOf("]") !== part.length - 1) { + throw new EndpointError(`Path: '${path}' does not end with ']'`); + } + const arrayIndex = part.slice(squareBracketIndex + 1, -1); + if (Number.isNaN(parseInt(arrayIndex))) { + throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`); + } + if (squareBracketIndex !== 0) { + pathList.push(part.slice(0, squareBracketIndex)); + } + pathList.push(arrayIndex); + } else { + pathList.push(part); + } + } + return pathList; + }, "getAttrPathList"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttr.js +var getAttr; +var init_getAttr = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/getAttr.js"() { + init_types2(); + init_getAttrPathList(); + getAttr = /* @__PURE__ */ __name((value, path) => getAttrPathList(path).reduce((acc, index) => { + if (typeof acc !== "object") { + throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`); + } else if (Array.isArray(acc)) { + const i = parseInt(index); + return acc[i < 0 ? acc.length + i : i]; + } + return acc[index]; + }, value), "getAttr"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isSet.js +var isSet; +var init_isSet = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isSet.js"() { + isSet = /* @__PURE__ */ __name((value) => value != null, "isSet"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/ite.js +function ite(condition, trueValue, falseValue) { + return condition ? trueValue : falseValue; +} +var init_ite = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/ite.js"() { + __name(ite, "ite"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/not.js +var not; +var init_not = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/not.js"() { + not = /* @__PURE__ */ __name((value) => !value, "not"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isIpAddress.js +var IP_V4_REGEX, isIpAddress; +var init_isIpAddress = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/isIpAddress.js"() { + IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`); + isIpAddress = /* @__PURE__ */ __name((value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]"), "isIpAddress"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/parseURL.js +var import_types12, DEFAULT_PORTS, parseURL; +var init_parseURL = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/parseURL.js"() { + import_types12 = __toESM(require_dist_cjs()); + init_isIpAddress(); + DEFAULT_PORTS = { + [import_types12.EndpointURLScheme.HTTP]: 80, + [import_types12.EndpointURLScheme.HTTPS]: 443 + }; + parseURL = /* @__PURE__ */ __name((value) => { + const whatwgURL = (() => { + try { + if (value instanceof URL) { + return value; + } + if (typeof value === "object" && "hostname" in value) { + const { hostname: hostname2, port, protocol: protocol2 = "", path = "", query = {} } = value; + const url = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : ""}${path}`); + url.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join("&"); + return url; + } + return new URL(value); + } catch (ignored) { + return null; + } + })(); + if (!whatwgURL) { + console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`); + return null; + } + const urlString = whatwgURL.href; + const { host, hostname, pathname, protocol, search } = whatwgURL; + if (search) { + return null; + } + const scheme = protocol.slice(0, -1); + if (!Object.values(import_types12.EndpointURLScheme).includes(scheme)) { + return null; + } + const isIp = isIpAddress(hostname); + const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`); + const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`; + return { + scheme, + authority, + path: pathname, + normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`, + isIp + }; + }, "parseURL"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/split.js +function split(value, delimiter, limit) { + if (limit === 1) { + return [value]; + } + if (value === "") { + return [""]; + } + const parts = value.split(delimiter); + if (limit === 0) { + return parts; + } + return parts.slice(0, limit - 1).concat(parts.slice(1).join(delimiter)); +} +var init_split = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/split.js"() { + __name(split, "split"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/stringEquals.js +var stringEquals; +var init_stringEquals = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/stringEquals.js"() { + stringEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, "stringEquals"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/substring.js +var substring; +var init_substring = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/substring.js"() { + substring = /* @__PURE__ */ __name((input, start, stop, reverse) => { + if (input == null || start >= stop || input.length < stop || /[^\u0000-\u007f]/.test(input)) { + return null; + } + if (!reverse) { + return input.substring(start, stop); + } + return input.substring(input.length - stop, input.length - start); + }, "substring"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/uriEncode.js +var uriEncode; +var init_uriEncode = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/uriEncode.js"() { + uriEncode = /* @__PURE__ */ __name((value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`), "uriEncode"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js +var init_lib = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/lib/index.js"() { + init_booleanEquals(); + init_coalesce(); + init_getAttr(); + init_isSet(); + init_transport(); + init_ite(); + init_not(); + init_parseURL(); + init_split(); + init_stringEquals(); + init_substring(); + init_uriEncode(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/endpointFunctions.js +var endpointFunctions; +var init_endpointFunctions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/endpointFunctions.js"() { + init_lib(); + endpointFunctions = { + booleanEquals, + coalesce, + getAttr, + isSet, + isValidHostLabel, + ite, + not, + parseURL, + split, + stringEquals, + substring, + uriEncode + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateTemplate.js +var evaluateTemplate; +var init_evaluateTemplate = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateTemplate.js"() { + init_lib(); + evaluateTemplate = /* @__PURE__ */ __name((template, options) => { + const evaluatedTemplateArr = []; + const { referenceRecord, endpointParams } = options; + let currentIndex = 0; + while (currentIndex < template.length) { + const openingBraceIndex = template.indexOf("{", currentIndex); + if (openingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(currentIndex)); + break; + } + evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex)); + const closingBraceIndex = template.indexOf("}", openingBraceIndex); + if (closingBraceIndex === -1) { + evaluatedTemplateArr.push(template.slice(openingBraceIndex)); + break; + } + if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") { + evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex)); + currentIndex = closingBraceIndex + 2; + } + const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex); + if (parameterName.includes("#")) { + const [refName, attrName] = parameterName.split("#"); + evaluatedTemplateArr.push(getAttr(referenceRecord[refName] ?? endpointParams[refName], attrName)); + } else { + evaluatedTemplateArr.push(referenceRecord[parameterName] ?? endpointParams[parameterName]); + } + currentIndex = closingBraceIndex + 1; + } + return evaluatedTemplateArr.join(""); + }, "evaluateTemplate"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getReferenceValue.js +var getReferenceValue; +var init_getReferenceValue = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getReferenceValue.js"() { + getReferenceValue = /* @__PURE__ */ __name(({ ref }, options) => { + return options.referenceRecord[ref] ?? options.endpointParams[ref]; + }, "getReferenceValue"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateExpression.js +var evaluateExpression, callFunction, group; +var init_evaluateExpression = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateExpression.js"() { + init_types2(); + init_customEndpointFunctions(); + init_endpointFunctions(); + init_evaluateTemplate(); + init_getReferenceValue(); + evaluateExpression = /* @__PURE__ */ __name((obj, keyName, options) => { + if (typeof obj === "string") { + return evaluateTemplate(obj, options); + } else if (obj["fn"]) { + return group.callFunction(obj, options); + } else if (obj["ref"]) { + return getReferenceValue(obj, options); + } + throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`); + }, "evaluateExpression"); + callFunction = /* @__PURE__ */ __name(({ fn, argv }, options) => { + const evaluatedArgs = Array(argv.length); + for (let i = 0; i < evaluatedArgs.length; ++i) { + const arg = argv[i]; + if (typeof arg === "boolean" || typeof arg === "number") { + evaluatedArgs[i] = arg; + } else { + evaluatedArgs[i] = group.evaluateExpression(arg, "arg", options); + } + } + const namespaceSeparatorIndex = fn.indexOf("."); + if (namespaceSeparatorIndex !== -1) { + const namespaceFunctions = customEndpointFunctions[fn.slice(0, namespaceSeparatorIndex)]; + const customFunction = namespaceFunctions?.[fn.slice(namespaceSeparatorIndex + 1)]; + if (typeof customFunction === "function") { + return customFunction(...evaluatedArgs); + } + } + const callable = endpointFunctions[fn]; + if (typeof callable === "function") { + return callable(...evaluatedArgs); + } + throw new Error(`function ${fn} not loaded in endpointFunctions.`); + }, "callFunction"); + group = { + evaluateExpression, + callFunction + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/callFunction.js +var init_callFunction = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/callFunction.js"() { + init_evaluateExpression(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateCondition.js +var evaluateCondition; +var init_evaluateCondition = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateCondition.js"() { + init_debug(); + init_types2(); + init_callFunction(); + evaluateCondition = /* @__PURE__ */ __name((condition, options) => { + const { assign } = condition; + if (assign && assign in options.referenceRecord) { + throw new EndpointError(`'${assign}' is already defined in Reference Record.`); + } + const value = callFunction(condition, options); + options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(condition)} = ${toDebugString(value)}`); + const result = value === "" ? true : !!value; + if (assign != null) { + return { result, toAssign: { name: assign, value } }; + } + return { result }; + }, "evaluateCondition"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointHeaders.js +var getEndpointHeaders; +var init_getEndpointHeaders = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointHeaders.js"() { + init_types2(); + init_evaluateExpression(); + getEndpointHeaders = /* @__PURE__ */ __name((headers, options) => Object.entries(headers ?? {}).reduce((acc, [headerKey, headerVal]) => { + acc[headerKey] = headerVal.map((headerValEntry) => { + const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options); + if (typeof processedExpr !== "string") { + throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`); + } + return processedExpr; + }); + return acc; + }, {}), "getEndpointHeaders"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointProperties.js +var getEndpointProperties, getEndpointProperty, group2; +var init_getEndpointProperties = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointProperties.js"() { + init_types2(); + init_evaluateTemplate(); + getEndpointProperties = /* @__PURE__ */ __name((properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => { + acc[propertyKey] = group2.getEndpointProperty(propertyVal, options); + return acc; + }, {}), "getEndpointProperties"); + getEndpointProperty = /* @__PURE__ */ __name((property, options) => { + if (Array.isArray(property)) { + return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options)); + } + switch (typeof property) { + case "string": + return evaluateTemplate(property, options); + case "object": + if (property === null) { + throw new EndpointError(`Unexpected endpoint property: ${property}`); + } + return group2.getEndpointProperties(property, options); + case "boolean": + return property; + default: + throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`); + } + }, "getEndpointProperty"); + group2 = { + getEndpointProperty, + getEndpointProperties + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointUrl.js +var getEndpointUrl; +var init_getEndpointUrl = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/getEndpointUrl.js"() { + init_types2(); + init_evaluateExpression(); + getEndpointUrl = /* @__PURE__ */ __name((endpointUrl, options) => { + const expression = evaluateExpression(endpointUrl, "Endpoint URL", options); + if (typeof expression === "string") { + try { + return new URL(expression); + } catch (error2) { + console.error(`Failed to construct URL with ${expression}`, error2); + throw error2; + } + } + throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`); + }, "getEndpointUrl"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/decideEndpoint.js +var RESULT, decideEndpoint; +var init_decideEndpoint = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/decideEndpoint.js"() { + init_types2(); + init_evaluateCondition(); + init_evaluateExpression(); + init_getEndpointHeaders(); + init_getEndpointProperties(); + init_getEndpointUrl(); + RESULT = 1e8; + decideEndpoint = /* @__PURE__ */ __name((bdd, options) => { + const { nodes, root, results, conditions } = bdd; + let ref = root; + const referenceRecord = {}; + const closure = { + referenceRecord, + endpointParams: options.endpointParams, + logger: options.logger + }; + while (ref !== 1 && ref !== -1 && ref < RESULT) { + const node_i = 3 * (Math.abs(ref) - 1); + const [condition_i, highRef, lowRef] = [nodes[node_i], nodes[node_i + 1], nodes[node_i + 2]]; + const [fn, argv, assign] = conditions[condition_i]; + const evaluation = evaluateCondition({ fn, assign, argv }, closure); + if (evaluation.toAssign) { + const { name, value } = evaluation.toAssign; + referenceRecord[name] = value; + } + ref = ref >= 0 === evaluation.result ? highRef : lowRef; + } + if (ref >= RESULT) { + const result = results[ref - RESULT]; + if (result[0] === -1) { + const [, errorExpression] = result; + throw new EndpointError(evaluateExpression(errorExpression, "Error", closure)); + } + const [url, properties, headers] = result; + return { + url: getEndpointUrl(url, closure), + properties: getEndpointProperties(properties, closure), + headers: getEndpointHeaders(headers ?? {}, closure) + }; + } + throw new EndpointError(`No matching endpoint.`); + }, "decideEndpoint"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateConditions.js +var evaluateConditions; +var init_evaluateConditions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateConditions.js"() { + init_debug(); + init_evaluateCondition(); + evaluateConditions = /* @__PURE__ */ __name((conditions = [], options) => { + const conditionsReferenceRecord = {}; + const conditionOptions = { + ...options, + referenceRecord: { ...options.referenceRecord } + }; + let didAssign = false; + for (const condition of conditions) { + const { result, toAssign } = evaluateCondition(condition, conditionOptions); + if (!result) { + return { result }; + } + if (toAssign) { + didAssign = true; + conditionsReferenceRecord[toAssign.name] = toAssign.value; + conditionOptions.referenceRecord[toAssign.name] = toAssign.value; + options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`); + } + } + if (didAssign) { + return { result: true, referenceRecord: conditionsReferenceRecord }; + } + return { result: true }; + }, "evaluateConditions"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateEndpointRule.js +var evaluateEndpointRule; +var init_evaluateEndpointRule = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateEndpointRule.js"() { + init_debug(); + init_evaluateConditions(); + init_getEndpointHeaders(); + init_getEndpointProperties(); + init_getEndpointUrl(); + evaluateEndpointRule = /* @__PURE__ */ __name((endpointRule, options) => { + const { conditions, endpoint } = endpointRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + const endpointRuleOptions = referenceRecord ? { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + } : options; + const { url, properties, headers } = endpoint; + options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`); + const endpointToReturn = { url: getEndpointUrl(url, endpointRuleOptions) }; + if (headers != null) { + endpointToReturn.headers = getEndpointHeaders(headers, endpointRuleOptions); + } + if (properties != null) { + endpointToReturn.properties = getEndpointProperties(properties, endpointRuleOptions); + } + return endpointToReturn; + }, "evaluateEndpointRule"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateErrorRule.js +var evaluateErrorRule; +var init_evaluateErrorRule = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateErrorRule.js"() { + init_types2(); + init_evaluateConditions(); + init_evaluateExpression(); + evaluateErrorRule = /* @__PURE__ */ __name((errorRule, options) => { + const { conditions, error: error2 } = errorRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + const errorRuleOptions = referenceRecord ? { + ...options, + referenceRecord: { ...options.referenceRecord, ...referenceRecord } + } : options; + throw new EndpointError(evaluateExpression(error2, "Error", errorRuleOptions)); + }, "evaluateErrorRule"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateRules.js +var evaluateRules, evaluateTreeRule, group3; +var init_evaluateRules = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/evaluateRules.js"() { + init_types2(); + init_evaluateConditions(); + init_evaluateEndpointRule(); + init_evaluateErrorRule(); + evaluateRules = /* @__PURE__ */ __name((rules, options) => { + for (const rule of rules) { + if (rule.type === "endpoint") { + const endpointOrUndefined = evaluateEndpointRule(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else if (rule.type === "error") { + evaluateErrorRule(rule, options); + } else if (rule.type === "tree") { + const endpointOrUndefined = group3.evaluateTreeRule(rule, options); + if (endpointOrUndefined) { + return endpointOrUndefined; + } + } else { + throw new EndpointError(`Unknown endpoint rule: ${rule}`); + } + } + throw new EndpointError(`Rules evaluation failed`); + }, "evaluateRules"); + evaluateTreeRule = /* @__PURE__ */ __name((treeRule, options) => { + const { conditions, rules } = treeRule; + const { result, referenceRecord } = evaluateConditions(conditions, options); + if (!result) { + return; + } + const treeRuleOptions = referenceRecord ? { ...options, referenceRecord: { ...options.referenceRecord, ...referenceRecord } } : options; + return group3.evaluateRules(rules, treeRuleOptions); + }, "evaluateTreeRule"); + group3 = { + evaluateRules, + evaluateTreeRule + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/index.js +var init_utils = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/utils/index.js"() { + init_evaluateRules(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js +var resolveEndpoint; +var init_resolveEndpoint = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js"() { + init_transport(); + init_debug(); + init_types2(); + init_utils(); + resolveEndpoint = /* @__PURE__ */ __name((ruleSetObject, options) => { + const { endpointParams, logger: logger2 } = options; + const { parameters, rules } = ruleSetObject; + options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`); + for (const paramKey in parameters) { + if (!hasOwn(parameters, paramKey)) + continue; + const parameter = parameters[paramKey]; + const endpointParam = endpointParams[paramKey]; + if (endpointParam == null && parameter.default != null) { + endpointParams[paramKey] = parameter.default; + continue; + } + if (parameter.required && endpointParam == null) { + throw new EndpointError(`Missing required parameter: '${paramKey}'`); + } + } + const endpoint = evaluateRules(rules, { endpointParams, logger: logger2, referenceRecord: {} }); + options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`); + return endpoint; + }, "resolveEndpoint"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointRequiredConfig.js +var resolveEndpointRequiredConfig; +var init_resolveEndpointRequiredConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/resolveEndpointRequiredConfig.js"() { + resolveEndpointRequiredConfig = /* @__PURE__ */ __name((input) => { + const { endpoint } = input; + if (endpoint === void 0) { + input.endpoint = async () => { + throw new Error("@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint."); + }; + } + return input; + }, "resolveEndpointRequiredConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js +var endpoints_exports = {}; +__export(endpoints_exports, { + BinaryDecisionDiagram: () => BinaryDecisionDiagram, + EndpointCache: () => EndpointCache, + EndpointError: () => EndpointError, + customEndpointFunctions: () => customEndpointFunctions, + decideEndpoint: () => decideEndpoint, + endpointMiddleware: () => endpointMiddleware, + endpointMiddlewareOptions: () => endpointMiddlewareOptions, + getEndpointFromInstructions: () => getEndpointFromInstructions, + getEndpointPlugin: () => getEndpointPlugin, + isIpAddress: () => isIpAddress, + isValidHostLabel: () => isValidHostLabel, + middlewareEndpointToEndpointV1: () => toEndpointV1, + resolveEndpoint: () => resolveEndpoint, + resolveEndpointConfig: () => resolveEndpointConfig, + resolveEndpointRequiredConfig: () => resolveEndpointRequiredConfig, + resolveParams: () => resolveParams, + toEndpointV1: () => toEndpointV1 +}); +var getEndpointFromInstructions, resolveEndpointConfig, endpointMiddleware, getEndpointPlugin; +var init_endpoints = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/endpoints/index.js"() { + init_getEndpointFromConfig(); + init_getEndpointFromInstructions(); + init_endpointMiddleware(); + init_getEndpointPlugin(); + init_resolveEndpointConfig(); + init_transport(); + init_BinaryDecisionDiagram(); + init_EndpointCache(); + init_decideEndpoint(); + init_isIpAddress(); + init_transport(); + init_customEndpointFunctions(); + init_resolveEndpoint(); + init_types2(); + init_getEndpointFromInstructions(); + init_toEndpointV12(); + init_getEndpointPlugin(); + init_resolveEndpointRequiredConfig(); + getEndpointFromInstructions = bindGetEndpointFromInstructions(getEndpointFromConfig); + resolveEndpointConfig = bindResolveEndpointConfig(getEndpointFromConfig); + endpointMiddleware = bindEndpointMiddleware(getEndpointFromConfig); + getEndpointPlugin = bindGetEndpointPlugin(getEndpointFromConfig); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serializerMiddleware.js +var serializerMiddleware; +var init_serializerMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serializerMiddleware.js"() { + init_endpoints(); + serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => { + const endpointConfig = options; + const endpoint = context.endpointV2 ? async () => toEndpointV1(context.endpointV2) : endpointConfig.endpoint; + if (!endpoint) { + throw new Error("No valid endpoint provider available."); + } + const request = await serializer(args.input, { ...options, endpoint }); + return next({ + ...args, + request + }); + }, "serializerMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serdePlugin.js +function getSerdePlugin(config, serializer, deserializer) { + return { + applyToStack: /* @__PURE__ */ __name((commandStack) => { + commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption2); + commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption3); + }, "applyToStack") + }; +} +var deserializerMiddlewareOption2, serializerMiddlewareOption3; +var init_serdePlugin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/middleware-serde/serdePlugin.js"() { + init_deserializerMiddleware(); + init_serializerMiddleware(); + deserializerMiddlewareOption2 = { + name: "deserializerMiddleware", + step: "deserialize", + tags: ["DESERIALIZER"], + override: true + }; + serializerMiddlewareOption3 = { + name: "serializerMiddleware", + step: "serialize", + tags: ["SERIALIZER"], + override: true + }; + __name(getSerdePlugin, "getSerdePlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/hash-node/hash-node.js +import { createHash as createHash2, createHmac } from "node:crypto"; +function castSourceData(toCast, encoding) { + if (Buffer.isBuffer(toCast)) { + return toCast; + } + if (typeof toCast === "string") { + return fromString(toCast, encoding); + } + if (ArrayBuffer.isView(toCast)) { + return fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength); + } + return fromArrayBuffer(toCast); +} +var Hash; +var init_hash_node = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/hash-node/hash-node.js"() { + init_buffer_from(); + init_toUint8Array(); + Hash = class { + static { + __name(this, "Hash"); + } + algorithmIdentifier; + secret; + hash; + constructor(algorithmIdentifier, secret) { + this.algorithmIdentifier = algorithmIdentifier; + this.secret = secret; + this.reset(); + } + update(toHash, encoding) { + this.hash.update(toUint8Array(castSourceData(toHash, encoding))); + } + digest() { + return Promise.resolve(this.hash.digest()); + } + reset() { + this.hash = this.secret ? createHmac(this.algorithmIdentifier, castSourceData(this.secret)) : createHash2(this.algorithmIdentifier); + } + }; + __name(castSourceData, "castSourceData"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +import { Readable } from "node:stream"; +var ChecksumStream; +var init_ChecksumStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js"() { + init_toBase64(); + ChecksumStream = class extends Readable { + static { + __name(this, "ChecksumStream"); + } + expectedChecksum; + checksumSourceLocation; + checksum; + source; + base64Encoder; + constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) { + super(); + if (typeof source.pipe !== "function") { + throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`); + } + this.source = source; + this.base64Encoder = base64Encoder ?? toBase64; + this.expectedChecksum = expectedChecksum; + this.checksum = checksum; + this.checksumSourceLocation = checksumSourceLocation; + this.source.on("data", this.onSourceData); + this.source.on("end", this.onSourceEnd); + this.source.on("error", this.onSourceError); + this.source.on("close", this.onSourceClose); + this.source.pause(); + } + onSourceData = /* @__PURE__ */ __name((chunk) => { + if (this.destroyed) { + return; + } + try { + this.checksum.update(chunk); + } catch (e) { + this.destroy(e); + return; + } + if (!this.push(chunk)) { + this.source.pause(); + } + }, "onSourceData"); + onSourceEnd = /* @__PURE__ */ __name(async () => { + if (this.destroyed) { + return; + } + try { + const digest2 = await this.checksum.digest(); + const received = this.base64Encoder(digest2); + if (this.expectedChecksum !== received) { + this.destroy(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}" in response header "${this.checksumSourceLocation}".`)); + return; + } + } catch (e) { + this.destroy(e); + return; + } + this.push(null); + }, "onSourceEnd"); + onSourceError = /* @__PURE__ */ __name((error2) => { + this.destroy(error2); + }, "onSourceError"); + onSourceClose = /* @__PURE__ */ __name(() => { + if (!this.destroyed && !this.source.readableEnded) { + this.destroy(new Error("Connection lost or stream closed before all data was received.")); + } + }, "onSourceClose"); + _read(_size) { + this.source.resume(); + } + _destroy(error2, callback) { + this.source?.removeListener("data", this.onSourceData); + this.source?.removeListener("end", this.onSourceEnd); + this.source?.removeListener("error", this.onSourceError); + this.source?.removeListener("close", this.onSourceClose); + this.source?.destroy(); + callback(error2); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-type-check.js +var isReadableStream, isBlob; +var init_stream_type_check = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-type-check.js"() { + isReadableStream = /* @__PURE__ */ __name((stream) => typeof ReadableStream === "function" && (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream), "isReadableStream"); + isBlob = /* @__PURE__ */ __name((blob) => { + return typeof Blob === "function" && (blob?.constructor?.name === Blob.name || blob instanceof Blob); + }, "isBlob"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.browser.js +var fromUtf82; +var init_fromUtf8_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/fromUtf8.browser.js"() { + fromUtf82 = /* @__PURE__ */ __name((input) => new TextEncoder().encode(input), "fromUtf8"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/constants-for-browser.js +var chars, alphabetByEncoding, alphabetByValue, bitsPerLetter, bitsPerByte, maxLetterValue; +var init_constants_for_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/constants-for-browser.js"() { + chars = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`; + alphabetByEncoding = Object.entries(chars).reduce((acc, [i, c]) => { + acc[c] = Number(i); + return acc; + }, {}); + alphabetByValue = chars.split(""); + bitsPerLetter = 6; + bitsPerByte = 8; + maxLetterValue = 63; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.browser.js +function toBase642(_input) { + let input; + if (typeof _input === "string") { + input = fromUtf82(_input); + } else { + input = _input; + } + const isArrayLike = typeof input === "object" && typeof input.length === "number"; + const isUint8Array = typeof input === "object" && typeof input.byteOffset === "number" && typeof input.byteLength === "number"; + if (!isArrayLike && !isUint8Array) { + throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array."); + } + let str = ""; + for (let i = 0; i < input.length; i += 3) { + let bits = 0; + let bitLength = 0; + for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) { + bits |= input[j] << (limit - j - 1) * bitsPerByte; + bitLength += bitsPerByte; + } + const bitClusterCount = Math.ceil(bitLength / bitsPerLetter); + bits <<= bitClusterCount * bitsPerLetter - bitLength; + for (let k = 1; k <= bitClusterCount; k++) { + const offset = (bitClusterCount - k) * bitsPerLetter; + str += alphabetByValue[(bits & maxLetterValue << offset) >> offset]; + } + str += "==".slice(0, 4 - bitClusterCount); + } + return str; +} +var init_toBase64_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-base64/toBase64.browser.js"() { + init_fromUtf8_browser(); + init_constants_for_browser(); + __name(toBase642, "toBase64"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.browser.js +var ReadableStreamRef, ChecksumStream2; +var init_ChecksumStream_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.browser.js"() { + ReadableStreamRef = typeof ReadableStream === "function" ? ReadableStream : function() { + }; + ChecksumStream2 = class extends ReadableStreamRef { + static { + __name(this, "ChecksumStream"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.browser.js +var createChecksumStream; +var init_createChecksumStream_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.browser.js"() { + init_toBase64_browser(); + init_stream_type_check(); + init_ChecksumStream_browser(); + createChecksumStream = /* @__PURE__ */ __name(({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) => { + if (!isReadableStream(source)) { + throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`); + } + const encoder = base64Encoder ?? toBase642; + if (typeof TransformStream !== "function") { + throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream."); + } + const transform = new TransformStream({ + start() { + }, + async transform(chunk, controller) { + checksum.update(chunk); + controller.enqueue(chunk); + }, + async flush(controller) { + const digest2 = await checksum.digest(); + const received = encoder(digest2); + if (expectedChecksum !== received) { + const error2 = new Error(`Checksum mismatch: expected "${expectedChecksum}" but received "${received}" in response header "${checksumSourceLocation}".`); + controller.error(error2); + } else { + controller.terminate(); + } + } + }); + source.pipeThrough(transform); + const readable = transform.readable; + Object.setPrototypeOf(readable, ChecksumStream2.prototype); + return readable; + }, "createChecksumStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.js +function createChecksumStream2(init) { + if (typeof ReadableStream === "function" && isReadableStream(init.source)) { + return createChecksumStream(init); + } + return new ChecksumStream(init); +} +var init_createChecksumStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/createChecksumStream.js"() { + init_stream_type_check(); + init_ChecksumStream(); + init_createChecksumStream_browser(); + __name(createChecksumStream2, "createChecksumStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/ByteArrayCollector.js +var ByteArrayCollector; +var init_ByteArrayCollector = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/ByteArrayCollector.js"() { + ByteArrayCollector = class { + static { + __name(this, "ByteArrayCollector"); + } + allocByteArray; + byteLength = 0; + byteArrays = []; + constructor(allocByteArray) { + this.allocByteArray = allocByteArray; + } + push(byteArray) { + this.byteArrays.push(byteArray); + this.byteLength += byteArray.byteLength; + } + flush() { + if (this.byteArrays.length === 1) { + const bytes = this.byteArrays[0]; + this.reset(); + return bytes; + } + const aggregation = this.allocByteArray(this.byteLength); + let cursor = 0; + for (let i = 0; i < this.byteArrays.length; ++i) { + const bytes = this.byteArrays[i]; + aggregation.set(bytes, cursor); + cursor += bytes.byteLength; + } + this.reset(); + return aggregation; + } + reset() { + this.byteArrays = []; + this.byteLength = 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.browser.js +function createBufferedReadableStream(upstream, size, logger2) { + const reader = upstream.getReader(); + let streamBufferingLoggedWarning = false; + let bytesSeen = 0; + const buffers = ["", new ByteArrayCollector((size2) => new Uint8Array(size2))]; + let mode = -1; + const pull = /* @__PURE__ */ __name(async (controller) => { + const { value, done } = await reader.read(); + const chunk = value; + if (done) { + if (mode !== -1) { + const remainder = flush(buffers, mode); + if (sizeOf(remainder) > 0) { + controller.enqueue(remainder); + } + } + controller.close(); + } else { + const chunkMode = modeOf(chunk, false); + if (mode !== chunkMode) { + if (mode >= 0) { + controller.enqueue(flush(buffers, mode)); + } + mode = chunkMode; + } + if (mode === -1) { + controller.enqueue(chunk); + return; + } + const chunkSize = sizeOf(chunk); + bytesSeen += chunkSize; + const bufferSize = sizeOf(buffers[mode]); + if (chunkSize >= size && bufferSize === 0) { + controller.enqueue(chunk); + } else { + const newSize = merge(buffers, mode, chunk); + if (!streamBufferingLoggedWarning && bytesSeen > size * 2) { + streamBufferingLoggedWarning = true; + logger2?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`); + } + if (newSize >= size) { + controller.enqueue(flush(buffers, mode)); + } else { + await pull(controller); + } + } + } + }, "pull"); + return new ReadableStream({ + pull + }); +} +function merge(buffers, mode, chunk) { + switch (mode) { + case 0: + buffers[0] += chunk; + return sizeOf(buffers[0]); + case 1: + case 2: + buffers[mode].push(chunk); + return sizeOf(buffers[mode]); + } +} +function flush(buffers, mode) { + switch (mode) { + case 0: + const s = buffers[0]; + buffers[0] = ""; + return s; + case 1: + case 2: + return buffers[mode].flush(); + } + throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`); +} +function sizeOf(chunk) { + return chunk?.byteLength ?? chunk?.length ?? 0; +} +function modeOf(chunk, allowBuffer = true) { + if (allowBuffer && typeof Buffer !== "undefined" && chunk instanceof Buffer) { + return 2; + } + if (chunk instanceof Uint8Array) { + return 1; + } + if (typeof chunk === "string") { + return 0; + } + return -1; +} +var init_createBufferedReadable_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.browser.js"() { + init_ByteArrayCollector(); + __name(createBufferedReadableStream, "createBufferedReadableStream"); + __name(merge, "merge"); + __name(flush, "flush"); + __name(sizeOf, "sizeOf"); + __name(modeOf, "modeOf"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.js +import { Readable as Readable2 } from "node:stream"; +function createBufferedReadable(upstream, size, logger2) { + if (isReadableStream(upstream)) { + return createBufferedReadableStream(upstream, size, logger2); + } + const downstream = new Readable2({ read() { + } }); + let streamBufferingLoggedWarning = false; + let bytesSeen = 0; + const buffers = [ + "", + new ByteArrayCollector((size2) => new Uint8Array(size2)), + new ByteArrayCollector((size2) => Buffer.from(new Uint8Array(size2))) + ]; + let mode = -1; + upstream.on("data", (chunk) => { + const chunkMode = modeOf(chunk, true); + if (mode !== chunkMode) { + if (mode >= 0) { + downstream.push(flush(buffers, mode)); + } + mode = chunkMode; + } + if (mode === -1) { + downstream.push(chunk); + return; + } + const chunkSize = sizeOf(chunk); + bytesSeen += chunkSize; + const bufferSize = sizeOf(buffers[mode]); + if (chunkSize >= size && bufferSize === 0) { + downstream.push(chunk); + } else { + const newSize = merge(buffers, mode, chunk); + if (!streamBufferingLoggedWarning && bytesSeen > size * 2) { + streamBufferingLoggedWarning = true; + logger2?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`); + } + if (newSize >= size) { + downstream.push(flush(buffers, mode)); + } + } + }); + upstream.on("end", () => { + if (mode !== -1) { + const remainder = flush(buffers, mode); + if (sizeOf(remainder) > 0) { + downstream.push(remainder); + } + } + downstream.push(null); + }); + return downstream; +} +var init_createBufferedReadable = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/createBufferedReadable.js"() { + init_ByteArrayCollector(); + init_createBufferedReadable_browser(); + init_stream_type_check(); + __name(createBufferedReadable, "createBufferedReadable"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js +var getAwsChunkedEncodingStream; +var init_getAwsChunkedEncodingStream_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js"() { + getAwsChunkedEncodingStream = /* @__PURE__ */ __name((readableStream, options) => { + const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; + const checksumRequired = base64Encoder !== void 0 && bodyLengthChecker !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; + const digest2 = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : void 0; + Promise.resolve(digest2).catch(() => { + }); + const reader = readableStream.getReader(); + return new ReadableStream({ + async pull(controller) { + const { value, done } = await reader.read(); + if (done) { + controller.enqueue(`0\r +`); + if (checksumRequired) { + const checksum = base64Encoder(await digest2); + controller.enqueue(`${checksumLocationName}:${checksum}\r +`); + controller.enqueue(`\r +`); + } + controller.close(); + } else { + controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\r +${value}\r +`); + } + } + }); + }, "getAwsChunkedEncodingStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js +import { Readable as Readable3 } from "node:stream"; +function getAwsChunkedEncodingStream2(stream, options) { + const readable = stream; + const readableStream = stream; + if (isReadableStream(readableStream)) { + return getAwsChunkedEncodingStream(readableStream, options); + } + const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options; + const checksumRequired = base64Encoder !== void 0 && checksumAlgorithmFn !== void 0 && checksumLocationName !== void 0 && streamHasher !== void 0; + const digest2 = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : void 0; + Promise.resolve(digest2).catch(() => { + }); + const awsChunkedEncodingStream = new Readable3({ + read() { + readable.resume(); + } + }); + readable.on("data", (data) => { + const length = bodyLengthChecker(data) || 0; + if (length === 0) { + return; + } + awsChunkedEncodingStream.push(`${length.toString(16)}\r +`); + awsChunkedEncodingStream.push(data); + if (!awsChunkedEncodingStream.push("\r\n")) { + readable.pause(); + } + }); + readable.on("error", (err) => { + awsChunkedEncodingStream.destroy(err); + }); + readable.pause(); + readable.on("end", async () => { + try { + awsChunkedEncodingStream.push(`0\r +`); + if (checksumRequired) { + const checksum = base64Encoder(await digest2); + awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r +`); + awsChunkedEncodingStream.push(`\r +`); + } + awsChunkedEncodingStream.push(null); + } catch (err) { + awsChunkedEncodingStream.destroy(err); + } + }); + return awsChunkedEncodingStream; +} +var init_getAwsChunkedEncodingStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js"() { + init_getAwsChunkedEncodingStream_browser(); + init_stream_type_check(); + __name(getAwsChunkedEncodingStream2, "getAwsChunkedEncodingStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.browser.js +async function headStream(stream, bytes) { + let byteLengthCounter = 0; + const chunks = []; + const reader = stream.getReader(); + let isDone = false; + while (!isDone) { + const { done, value } = await reader.read(); + if (value) { + chunks.push(value); + byteLengthCounter += value?.byteLength ?? 0; + } + if (byteLengthCounter >= bytes) { + break; + } + isDone = done; + } + reader.releaseLock(); + const collected = new Uint8Array(Math.min(bytes, byteLengthCounter)); + let offset = 0; + for (const chunk of chunks) { + if (chunk.byteLength > collected.byteLength - offset) { + collected.set(chunk.subarray(0, collected.byteLength - offset), offset); + break; + } else { + collected.set(chunk, offset); + } + offset += chunk.length; + } + return collected; +} +var init_headStream_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.browser.js"() { + __name(headStream, "headStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js +import { Writable } from "node:stream"; +var headStream2, Collector; +var init_headStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js"() { + init_concatBytes(); + init_headStream_browser(); + init_stream_type_check(); + headStream2 = /* @__PURE__ */ __name((stream, bytes) => { + if (isReadableStream(stream)) { + return headStream(stream, bytes); + } + return new Promise((resolve, reject) => { + const collector = new Collector(); + collector.limit = bytes; + stream.pipe(collector); + stream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes2 = concatBytes(this.buffers); + resolve(bytes2); + }); + }); + }, "headStream"); + Collector = class extends Writable { + static { + __name(this, "Collector"); + } + buffers = []; + limit = Infinity; + bytesBuffered = 0; + _write(chunk, encoding, callback) { + this.buffers.push(chunk); + this.bytesBuffered += chunk.byteLength ?? 0; + if (this.bytesBuffered >= this.limit) { + const excess = this.bytesBuffered - this.limit; + const tailBuffer = this.buffers[this.buffers.length - 1]; + this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess); + this.emit("finish"); + } + callback(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.browser.js +var toUtf82; +var init_toUtf8_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUtf8.browser.js"() { + toUtf82 = /* @__PURE__ */ __name((input) => { + if (typeof input === "string") { + return input; + } + if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") { + throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array."); + } + return new TextDecoder("utf-8").decode(input); + }, "toUtf8"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js +async function collectBlob(blob) { + return blob.arrayBuffer().then((ab) => new Uint8Array(ab)); +} +async function collectReadableStream(stream) { + const chunks = []; + const reader = stream.getReader(); + let length = 0; + while (true) { + const { done, value } = await reader.read(); + if (value) { + chunks.push(value); + length += value.length; + } + if (done) { + break; + } + } + return concatBytes(chunks, length); +} +var streamCollector; +var init_stream_collector_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js"() { + init_concatBytes(); + init_stream_type_check(); + streamCollector = /* @__PURE__ */ __name(async (stream) => { + if (isBlob(stream)) { + return collectBlob(stream); + } + return collectReadableStream(stream); + }, "streamCollector"); + __name(collectBlob, "collectBlob"); + __name(collectReadableStream, "collectReadableStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.browser.js +var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED, sdkStreamMixin, isBlobInstance; +var init_sdk_stream_mixin_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.browser.js"() { + init_toBase64_browser(); + init_hex_encoding(); + init_toUtf8_browser(); + init_stream_collector_browser(); + init_stream_type_check(); + ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed."; + sdkStreamMixin = /* @__PURE__ */ __name((stream) => { + if (!isBlobInstance(stream) && !isReadableStream(stream)) { + const name = stream?.__proto__?.constructor?.name || stream; + throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`); + } + let transformed = false; + const transformToByteArray = /* @__PURE__ */ __name(async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + return await streamCollector(stream); + }, "transformToByteArray"); + const blobToWebStream = /* @__PURE__ */ __name((blob) => { + if (typeof blob.stream !== "function") { + throw new Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\nIf you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body"); + } + return blob.stream(); + }, "blobToWebStream"); + return Object.assign(stream, { + transformToByteArray, + transformToString: /* @__PURE__ */ __name(async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === "base64") { + return toBase642(buf); + } else if (encoding === "hex") { + return toHex(buf); + } else if (encoding === void 0 || encoding === "utf8" || encoding === "utf-8") { + return toUtf82(buf); + } else if (typeof TextDecoder === "function") { + return new TextDecoder(encoding).decode(buf); + } else { + throw new Error("TextDecoder is not available, please make sure polyfill is provided."); + } + }, "transformToString"), + transformToWebStream: /* @__PURE__ */ __name(() => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED); + } + transformed = true; + if (isBlobInstance(stream)) { + return blobToWebStream(stream); + } else if (isReadableStream(stream)) { + return stream; + } else { + throw new Error(`Cannot transform payload to web stream, got ${stream}`); + } + }, "transformToWebStream") + }); + }, "sdkStreamMixin"); + isBlobInstance = /* @__PURE__ */ __name((stream) => typeof Blob === "function" && stream instanceof Blob, "isBlobInstance"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js +import { Writable as Writable2 } from "node:stream"; +var streamCollector2, Collector2; +var init_stream_collector = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js"() { + init_concatBytes(); + init_stream_collector_browser(); + init_stream_type_check(); + streamCollector2 = /* @__PURE__ */ __name((stream) => { + if (isBlob(stream)) { + return collectBlob(stream); + } + if (isReadableStream(stream)) { + return collectReadableStream(stream); + } + return new Promise((resolve, reject) => { + const collector = new Collector2(); + const nodeStream = stream; + nodeStream.pipe(collector); + nodeStream.on("error", (err) => { + collector.end(); + reject(err); + }); + collector.on("error", reject); + collector.on("finish", function() { + const bytes = concatBytes(this.bufferedBytes); + resolve(bytes); + }); + }); + }, "streamCollector"); + Collector2 = class extends Writable2 { + static { + __name(this, "Collector"); + } + bufferedBytes = []; + _write(chunk, encoding, callback) { + this.bufferedBytes.push(chunk); + callback(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.js +import { Readable as Readable4 } from "node:stream"; +var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2, sdkStreamMixin2; +var init_sdk_stream_mixin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/sdk-stream-mixin.js"() { + init_buffer_from(); + init_sdk_stream_mixin_browser(); + init_stream_collector(); + ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2 = "The stream has already been transformed."; + sdkStreamMixin2 = /* @__PURE__ */ __name((stream) => { + if (!(stream instanceof Readable4)) { + try { + return sdkStreamMixin(stream); + } catch (ignored) { + const name = stream?.__proto__?.constructor?.name || stream; + throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`); + } + } + let transformed = false; + const transformToByteArray = /* @__PURE__ */ __name(async () => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2); + } + transformed = true; + return await streamCollector2(stream); + }, "transformToByteArray"); + return Object.assign(stream, { + transformToByteArray, + transformToString: /* @__PURE__ */ __name(async (encoding) => { + const buf = await transformToByteArray(); + if (encoding === void 0 || Buffer.isEncoding(encoding)) { + return fromArrayBuffer(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding); + } else { + const decoder = new TextDecoder(encoding); + return decoder.decode(buf); + } + }, "transformToString"), + transformToWebStream: /* @__PURE__ */ __name(() => { + if (transformed) { + throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED2); + } + if (stream.readableFlowing !== null) { + throw new Error("The stream has been consumed by other callbacks."); + } + if (typeof Readable4.toWeb !== "function") { + throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available."); + } + transformed = true; + return Readable4.toWeb(stream); + }, "transformToWebStream") + }); + }, "sdkStreamMixin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.browser.js +async function splitStream(stream) { + if (typeof stream.stream === "function") { + stream = stream.stream(); + } + const readableStream = stream; + return readableStream.tee(); +} +var init_splitStream_browser = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.browser.js"() { + __name(splitStream, "splitStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.js +import { PassThrough } from "node:stream"; +async function splitStream2(stream) { + if (isReadableStream(stream) || isBlob(stream)) { + return splitStream(stream); + } + const stream1 = new PassThrough(); + const stream2 = new PassThrough(); + stream.pipe(stream1); + stream.pipe(stream2); + return [stream1, stream2]; +} +var init_splitStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/splitStream.js"() { + init_splitStream_browser(); + init_stream_type_check(); + __name(splitStream2, "splitStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/index.js +var serde_exports = {}; +__export(serde_exports, { + ChecksumStream: () => ChecksumStream, + Hash: () => Hash, + LazyJsonString: () => LazyJsonString, + NumericValue: () => NumericValue, + Uint8ArrayBlobAdapter: () => Uint8ArrayBlobAdapter, + _parseEpochTimestamp: () => _parseEpochTimestamp, + _parseRfc3339DateTimeWithOffset: () => _parseRfc3339DateTimeWithOffset, + _parseRfc7231DateTime: () => _parseRfc7231DateTime, + calculateBodyLength: () => calculateBodyLength, + concatBytes: () => concatBytes, + copyDocumentWithTransform: () => copyDocumentWithTransform, + createBufferedReadable: () => createBufferedReadable, + createChecksumStream: () => createChecksumStream2, + dateToUtcString: () => dateToUtcString, + deserializerMiddleware: () => deserializerMiddleware, + deserializerMiddlewareOption: () => deserializerMiddlewareOption2, + expectBoolean: () => expectBoolean, + expectByte: () => expectByte, + expectFloat32: () => expectFloat32, + expectInt: () => expectInt, + expectInt32: () => expectInt32, + expectLong: () => expectLong, + expectNonNull: () => expectNonNull, + expectNumber: () => expectNumber, + expectObject: () => expectObject, + expectShort: () => expectShort, + expectString: () => expectString, + expectUnion: () => expectUnion, + fromArrayBuffer: () => fromArrayBuffer, + fromBase64: () => fromBase64, + fromHex: () => fromHex, + fromString: () => fromString, + fromUtf8: () => fromUtf8, + generateIdempotencyToken: () => generateIdempotencyToken, + getAwsChunkedEncodingStream: () => getAwsChunkedEncodingStream2, + getSerdePlugin: () => getSerdePlugin, + handleFloat: () => handleFloat, + hasOwn: () => hasOwn, + headStream: () => headStream2, + isArrayBuffer: () => isArrayBuffer, + isBlob: () => isBlob, + isReadableStream: () => isReadableStream, + limitedParseDouble: () => limitedParseDouble, + limitedParseFloat: () => limitedParseFloat, + limitedParseFloat32: () => limitedParseFloat32, + logger: () => logger, + nv: () => nv, + parseBoolean: () => parseBoolean, + parseEpochTimestamp: () => parseEpochTimestamp, + parseRfc3339DateTime: () => parseRfc3339DateTime, + parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset, + parseRfc7231DateTime: () => parseRfc7231DateTime, + quoteHeader: () => quoteHeader, + sdkStreamMixin: () => sdkStreamMixin2, + serializerMiddleware: () => serializerMiddleware, + serializerMiddlewareOption: () => serializerMiddlewareOption3, + splitEvery: () => splitEvery, + splitHeader: () => splitHeader, + splitStream: () => splitStream2, + streamCollector: () => streamCollector2, + strictParseByte: () => strictParseByte, + strictParseDouble: () => strictParseDouble, + strictParseFloat: () => strictParseFloat, + strictParseFloat32: () => strictParseFloat32, + strictParseInt: () => strictParseInt, + strictParseInt32: () => strictParseInt32, + strictParseLong: () => strictParseLong, + strictParseShort: () => strictParseShort, + toBase64: () => toBase64, + toHex: () => toHex, + toUint8Array: () => toUint8Array, + toUtf8: () => toUtf8, + v4: () => v4 +}); +import { getRandomValues } from "node:crypto"; +var Uint8ArrayBlobAdapter, _getRandomValues, v4, generateIdempotencyToken; +var init_serde = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/serde/index.js"() { + init_fromBase64(); + init_toBase64(); + init_Uint8ArrayBlobAdapter(); + init_fromUtf8(); + init_toUtf8(); + init_v4(); + init_copyDocumentWithTransform(); + init_date_utils(); + init_lazy_json(); + init_parse_utils(); + init_quote_header(); + init_schema_date_utils(); + init_split_every(); + init_split_header(); + init_NumericValue(); + init_hex_encoding(); + init_calculateBodyLength(); + init_toUint8Array(); + init_concatBytes(); + init_buffer_from(); + init_is_array_buffer(); + init_deserializerMiddleware(); + init_serdePlugin(); + init_serializerMiddleware(); + init_hash_node(); + init_ChecksumStream(); + init_createChecksumStream(); + init_createBufferedReadable(); + init_getAwsChunkedEncodingStream(); + init_headStream(); + init_sdk_stream_mixin(); + init_splitStream(); + init_stream_type_check(); + init_stream_collector(); + init_transport(); + Uint8ArrayBlobAdapter = class extends bindUint8ArrayBlobAdapter(toUtf8, fromUtf8, toBase64, fromBase64) { + static { + __name(this, "Uint8ArrayBlobAdapter"); + } + }; + _getRandomValues = getRandomValues; + v4 = bindV4(_getRandomValues); + generateIdempotencyToken = v4; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/HashCalculator.js +import { Writable as Writable3 } from "node:stream"; +var HashCalculator; +var init_HashCalculator = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/HashCalculator.js"() { + init_serde(); + HashCalculator = class extends Writable3 { + static { + __name(this, "HashCalculator"); + } + hash; + constructor(hash, options) { + super(options); + this.hash = hash; + } + _write(chunk, encoding, callback) { + try { + this.hash.update(toUint8Array(chunk)); + } catch (err) { + return callback(err); + } + callback(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/fileStreamHasher.js +import { createReadStream } from "node:fs"; +var fileStreamHasher, isReadStream; +var init_fileStreamHasher = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/fileStreamHasher.js"() { + init_HashCalculator(); + fileStreamHasher = /* @__PURE__ */ __name((hashCtor, fileStream) => new Promise((resolve, reject) => { + if (!isReadStream(fileStream)) { + reject(new Error("Unable to calculate hash for non-file streams.")); + return; + } + const fileStreamTee = createReadStream(fileStream.path, { + start: fileStream.start, + end: fileStream.end + }); + const hash = new hashCtor(); + const hashCalculator = new HashCalculator(hash); + fileStreamTee.pipe(hashCalculator); + fileStreamTee.on("error", (err) => { + hashCalculator.end(); + reject(err); + }); + hashCalculator.on("error", reject); + hashCalculator.on("finish", function() { + hash.digest().then(resolve).catch(reject); + }); + }), "fileStreamHasher"); + isReadStream = /* @__PURE__ */ __name((stream) => typeof stream.path === "string", "isReadStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/readableStreamHasher.js +var readableStreamHasher; +var init_readableStreamHasher = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/hash-stream-node/readableStreamHasher.js"() { + init_HashCalculator(); + readableStreamHasher = /* @__PURE__ */ __name((hashCtor, readableStream) => { + if (readableStream.readableFlowing !== null) { + throw new Error("Unable to calculate hash for flowing readable stream"); + } + const hash = new hashCtor(); + const hashCalculator = new HashCalculator(hash); + readableStream.pipe(hashCalculator); + return new Promise((resolve, reject) => { + readableStream.on("error", (err) => { + hashCalculator.end(); + reject(err); + }); + hashCalculator.on("error", reject); + hashCalculator.on("finish", () => { + hash.digest().then(resolve).catch(reject); + }); + }); + }, "readableStreamHasher"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js +function compress(state, block) { + let a = state[0], b = state[1], c = state[2], d = state[3]; + for (let i = 0; i < 64; ++i) { + let f, g; + if (i < 16) { + f = b & c | ~b & d; + g = i; + } else if (i < 32) { + f = d & b | c & ~d; + g = (5 * i + 1) % 16; + } else if (i < 48) { + f = b ^ c ^ d; + g = (3 * i + 5) % 16; + } else { + f = c ^ (b | ~d); + g = 7 * i % 16; + } + const x = block.getUint32(g * 4, true); + const tmp = d; + d = c; + c = b; + const s = S[(i >> 4) * 4 + (i & 3)]; + const sum = (a + f & M) + (x + T[i] & M) & M; + b = b + ((sum << s | sum >>> 32 - s) >>> 0) & M; + a = tmp; + } + state[0] = state[0] + a & M; + state[1] = state[1] + b & M; + state[2] = state[2] + c & M; + state[3] = state[3] + d & M; +} +var Md5Js, INIT, M, S, T; +var init_Md5Js = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js"() { + init_serde(); + Md5Js = class { + static { + __name(this, "Md5Js"); + } + digestLength = 16; + state = Uint32Array.from(INIT); + writeBuffer = new DataView(new ArrayBuffer(64)); + bufferLength = 0; + bytesHashed = 0; + update(sourceData) { + const data = toUint8Array(sourceData); + let pos = 0; + let len = data.byteLength; + this.bytesHashed += len; + while (len > 0) { + this.writeBuffer.setUint8(this.bufferLength++, data[pos++]); + --len; + if (this.bufferLength === 64) { + compress(this.state, this.writeBuffer); + this.bufferLength = 0; + } + } + } + async digest() { + const state = Uint32Array.from(this.state); + const buf = new DataView(this.writeBuffer.buffer.slice(0)); + let bufLen = this.bufferLength; + const bits = this.bytesHashed * 8; + buf.setUint8(bufLen++, 128); + if (this.bufferLength % 64 >= 56) { + for (let i = bufLen; i < 64; ++i) { + buf.setUint8(i, 0); + } + compress(state, buf); + bufLen = 0; + } + for (let i = bufLen; i < 56; ++i) { + buf.setUint8(i, 0); + } + buf.setUint32(56, bits >>> 0, true); + buf.setUint32(60, Math.floor(bits / 2 ** 32), true); + compress(state, buf); + const out = new Uint8Array(16); + const view = new DataView(out.buffer); + for (let i = 0; i < 4; ++i) { + view.setUint32(i * 4, state[i], true); + } + return out; + } + reset() { + this.state.set(INIT); + this.writeBuffer = new DataView(new ArrayBuffer(64)); + this.bufferLength = 0; + this.bytesHashed = 0; + } + }; + INIT = [1732584193, 4023233417, 2562383102, 271733878]; + M = 4294967295; + S = Uint8Array.of(7, 12, 17, 22, 5, 9, 14, 20, 4, 11, 16, 23, 6, 10, 15, 21); + T = Array.from({ length: 64 }, (_, i) => Math.abs(Math.sin(i + 1)) * 2 ** 32 >>> 0); + __name(compress, "compress"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js +import { createHash as createHash3 } from "node:crypto"; +function buildNativeClass() { + return class Md5Node { + static { + __name(this, "Md5Node"); + } + digestLength = 16; + hash = createHash3("md5"); + update(data) { + this.hash.update(toUint8Array(data)); + } + async digest() { + const buf = this.hash.copy().digest(); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + reset() { + this.hash = createHash3("md5"); + } + }; +} +var hasNativeCrypto, Md5Node; +var init_Md5Node = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js"() { + init_serde(); + init_Md5Js(); + hasNativeCrypto = (() => { + try { + createHash3("md5"); + return true; + } catch { + return false; + } + })(); + Md5Node = hasNativeCrypto ? buildNativeClass() : Md5Js; + __name(buildNativeClass, "buildNativeClass"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js +var CRC32_TABLE, ONES, Crc32Js; +var init_Crc32Js = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js"() { + CRC32_TABLE = new Uint32Array(256); + for (let i = 0; i < 256; ++i) { + let c = i; + for (let j = 0; j < 8; ++j) { + c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1; + } + CRC32_TABLE[i] = c >>> 0; + } + ONES = 4294967295; + Crc32Js = class { + static { + __name(this, "Crc32Js"); + } + digestLength = 4; + checksum = ONES; + update(data) { + for (let i = 0; i < data.length; ++i) { + this.checksum = this.checksum >>> 8 ^ CRC32_TABLE[(this.checksum ^ data[i]) & 255]; + } + } + digestSync() { + return (this.checksum ^ ONES) >>> 0; + } + async digest() { + const value = this.digestSync(); + const out = new Uint8Array(4); + new DataView(out.buffer).setUint32(0, value, false); + return out; + } + reset() { + this.checksum = ONES; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js +import * as zlib from "node:zlib"; +function buildNativeClass2(nativeCrc32) { + return class Crc32Node { + static { + __name(this, "Crc32Node"); + } + digestLength = 4; + value = 0; + update(data) { + this.value = nativeCrc32(data, this.value); + } + digestSync() { + return this.value >>> 0; + } + async digest() { + const out = new Uint8Array(4); + new DataView(out.buffer).setUint32(0, this.digestSync(), false); + return out; + } + reset() { + this.value = 0; + } + }; +} +var zlibCrc32, Crc32Node; +var init_Crc32Node = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js"() { + init_Crc32Js(); + zlibCrc32 = typeof zlib.crc32 === "function" ? zlib.crc32 : void 0; + Crc32Node = zlibCrc32 ? buildNativeClass2(zlibCrc32) : Crc32Js; + __name(buildNativeClass2, "buildNativeClass"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js +var BLOCK, DIGEST_LENGTH, MAX_HASHABLE_LENGTH, Sha256Js, INIT2, K; +var init_Sha256Js = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js"() { + init_serde(); + BLOCK = 64; + DIGEST_LENGTH = 32; + MAX_HASHABLE_LENGTH = 2 ** 53 - 1; + Sha256Js = class _Sha256Js { + static { + __name(this, "Sha256Js"); + } + digestLength = DIGEST_LENGTH; + state = Int32Array.from(INIT2); + w; + buffer = new Uint8Array(64); + bufferLength = 0; + bytesHashed = 0; + finished = false; + inner; + outer; + constructor(secret) { + if (secret) { + const key = _Sha256Js.normalizeKey(secret); + this.inner = new _Sha256Js(); + this.outer = new _Sha256Js(); + const { inner, outer } = this; + const pad = new Uint8Array(BLOCK * 2); + for (let i = 0; i < BLOCK; ++i) { + pad[i] = 54 ^ key[i]; + pad[i + BLOCK] = 92 ^ key[i]; + } + inner.update(pad.subarray(0, BLOCK)); + outer.update(pad.subarray(BLOCK)); + } + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished HMAC."); + } + if (this.inner) { + this.inner.update(data); + return; + } + const chunk = toUint8Array(data); + let position = 0; + let { byteLength } = chunk; + this.bytesHashed += byteLength; + if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) { + throw new Error("Cannot hash more than 2^53 - 1 bits"); + } + while (byteLength > 0) { + this.buffer[this.bufferLength++] = chunk[position++]; + byteLength--; + if (this.bufferLength === BLOCK) { + this.hashBuffer(); + this.bufferLength = 0; + } + } + } + async digest() { + const { inner, outer } = this; + if (inner && outer) { + if (this.finished) { + throw new Error("Attempted to digest an already finished HMAC."); + } + this.finished = true; + const innerDigest = inner.digestSync(); + outer.update(innerDigest); + return outer.digestSync(); + } + return this.digestSync(); + } + reset() { + this.state = Int32Array.from(INIT2); + this.buffer = new Uint8Array(64); + this.bufferLength = 0; + this.bytesHashed = 0; + } + digestSync() { + const state = this.state.slice(); + const buffer = this.buffer.slice(); + let bufferLength = this.bufferLength; + const bitsHashed = this.bytesHashed * 8; + const bufferView = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength); + bufferView.setUint8(bufferLength++, 128); + if ((bufferLength - 1) % BLOCK >= BLOCK - 8) { + for (let i = bufferLength; i < BLOCK; ++i) { + bufferView.setUint8(i, 0); + } + this.hashBufferWith(state, buffer); + bufferLength = 0; + } + for (let i = bufferLength; i < BLOCK - 8; ++i) { + bufferView.setUint8(i, 0); + } + bufferView.setUint32(BLOCK - 8, Math.floor(bitsHashed / 4294967296), false); + bufferView.setUint32(BLOCK - 4, bitsHashed, false); + this.hashBufferWith(state, buffer); + const out = new Uint8Array(DIGEST_LENGTH); + for (let i = 0; i < 8; ++i) { + out[i * 4] = state[i] >>> 24 & 255; + out[i * 4 + 1] = state[i] >>> 16 & 255; + out[i * 4 + 2] = state[i] >>> 8 & 255; + out[i * 4 + 3] = state[i] >>> 0 & 255; + } + return out; + } + static normalizeKey(secret) { + const key = toUint8Array(secret); + if (key.byteLength > BLOCK) { + const h = new _Sha256Js(); + h.update(key); + const out = h.digestSync(); + const padded = new Uint8Array(BLOCK); + padded.set(out); + return padded; + } + if (key.byteLength < BLOCK) { + const padded = new Uint8Array(BLOCK); + padded.set(key); + return padded; + } + return key; + } + hashBuffer() { + this.hashBufferWith(this.state, this.buffer); + } + hashBufferWith(state, buffer) { + const w = this.w ??= new Int32Array(64); + let s0 = state[0], s1 = state[1], s2 = state[2], s3 = state[3], s4 = state[4], s5 = state[5], s6 = state[6], s7 = state[7]; + for (let i = 0; i < BLOCK; ++i) { + if (i < 16) { + w[i] = (buffer[i * 4] & 255) << 24 | (buffer[i * 4 + 1] & 255) << 16 | (buffer[i * 4 + 2] & 255) << 8 | buffer[i * 4 + 3] & 255; + } else { + let u = w[i - 2]; + const t12 = (u >>> 17 | u << 15) ^ (u >>> 19 | u << 13) ^ u >>> 10; + u = w[i - 15]; + const t22 = (u >>> 7 | u << 25) ^ (u >>> 18 | u << 14) ^ u >>> 3; + w[i] = (t12 + w[i - 7] | 0) + (t22 + w[i - 16] | 0); + } + const t1 = (((s4 >>> 6 | s4 << 26) ^ (s4 >>> 11 | s4 << 21) ^ (s4 >>> 25 | s4 << 7)) + (s4 & s5 ^ ~s4 & s6) | 0) + (s7 + (K[i] + w[i] | 0) | 0) | 0; + const t2 = ((s0 >>> 2 | s0 << 30) ^ (s0 >>> 13 | s0 << 19) ^ (s0 >>> 22 | s0 << 10)) + (s0 & s1 ^ s0 & s2 ^ s1 & s2) | 0; + s7 = s6; + s6 = s5; + s5 = s4; + s4 = s3 + t1 | 0; + s3 = s2; + s2 = s1; + s1 = s0; + s0 = t1 + t2 | 0; + } + state[0] += s0; + state[1] += s1; + state[2] += s2; + state[3] += s3; + state[4] += s4; + state[5] += s5; + state[6] += s6; + state[7] += s7; + } + }; + INIT2 = new Int32Array([ + 1779033703, + 3144134277, + 1013904242, + 2773480762, + 1359893119, + 2600822924, + 528734635, + 1541459225 + ]); + K = new Int32Array([ + 1116352408, + 1899447441, + 3049323471, + 3921009573, + 961987163, + 1508970993, + 2453635748, + 2870763221, + 3624381080, + 310598401, + 607225278, + 1426881987, + 1925078388, + 2162078206, + 2614888103, + 3248222580, + 3835390401, + 4022224774, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + 2554220882, + 2821834349, + 2952996808, + 3210313671, + 3336571891, + 3584528711, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + 2177026350, + 2456956037, + 2730485921, + 2820302411, + 3259730800, + 3345764771, + 3516065817, + 3600352804, + 4094571909, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + 2227730452, + 2361852424, + 2428436474, + 2756734187, + 3204031479, + 3329325298 + ]); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js +import { createHash as createHash4, createHmac as createHmac2 } from "node:crypto"; +function buildNativeClass3() { + return class Sha256Node { + static { + __name(this, "Sha256Node"); + } + digestLength = 32; + secret; + hash; + isHmac; + finished = false; + constructor(secret) { + this.secret = secret; + this.isHmac = !!secret; + this.hash = this.createHash(); + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished hash."); + } + this.hash.update(data); + } + async digest() { + let buf; + if (this.isHmac) { + this.finished = true; + buf = this.hash.digest(); + } else { + buf = this.hash.copy().digest(); + } + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + reset() { + this.hash = this.createHash(); + this.finished = false; + } + createHash() { + return this.secret ? createHmac2("sha256", toBuffer(this.secret)) : createHash4("sha256"); + } + }; +} +function toBuffer(data) { + if (typeof data === "string") { + return data; + } + if (ArrayBuffer.isView(data)) { + return Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } + return Buffer.from(data); +} +var hasNativeCrypto2, Sha256Node; +var init_Sha256Node = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js"() { + init_Sha256Js(); + hasNativeCrypto2 = (() => { + try { + createHash4("sha256"); + return true; + } catch { + return false; + } + })(); + Sha256Node = hasNativeCrypto2 ? buildNativeClass3() : Sha256Js; + __name(buildNativeClass3, "buildNativeClass"); + __name(toBuffer, "toBuffer"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js +var digest, sign, importKey, subtle, MAX_PENDING_BYTES, Sha256WebCrypto; +var init_Sha256WebCrypto = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js"() { + init_serde(); + init_Sha256Js(); + ({ digest, sign, importKey } = globalThis?.crypto?.subtle ?? {}); + subtle = typeof digest === "function" && typeof sign === "function" && typeof importKey === "function" ? globalThis.crypto.subtle : void 0; + MAX_PENDING_BYTES = 8 * 1024 * 1024; + Sha256WebCrypto = class { + static { + __name(this, "Sha256WebCrypto"); + } + digestLength = 32; + secret; + pending = []; + pendingBytes = 0; + fallback; + finished = false; + constructor(secret) { + if (secret) { + this.secret = toUint8Array(secret); + } + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished HMAC."); + } + if (this.fallback) { + this.fallback.update(data); + return; + } + this.pending.push(data.slice()); + this.pendingBytes += data.byteLength; + if (this.pendingBytes >= MAX_PENDING_BYTES) { + this.switchToFallback(); + } + } + async digest() { + if (this.fallback) { + return this.fallback.digest(); + } + if (this.secret && this.finished) { + throw new Error("Attempted to digest an already finished HMAC."); + } + const data = concatBytes(this.pending); + if (subtle) { + if (this.secret) { + this.finished = true; + const key = await subtle.importKey("raw", this.secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]); + const sig = await subtle.sign("HMAC", key, data); + return new Uint8Array(sig); + } + const hash = await subtle.digest("SHA-256", data); + return new Uint8Array(hash); + } + const sha256 = new Sha256Js(this.secret); + sha256.update(data); + return sha256.digest(); + } + reset() { + this.pending = []; + this.pendingBytes = 0; + this.fallback = void 0; + this.finished = false; + } + switchToFallback() { + const sha256Js = new Sha256Js(this.secret); + for (const chunk of this.pending) { + sha256Js.update(chunk); + } + this.fallback = sha256Js; + this.pending = []; + this.pendingBytes = 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/index.js +var checksum_exports = {}; +__export(checksum_exports, { + Crc32: () => Crc32Node, + Crc32Js: () => Crc32Js, + Crc32Node: () => Crc32Node, + Md5: () => Md5Node, + Md5Js: () => Md5Js, + Md5Node: () => Md5Node, + Sha256: () => Sha256Node, + Sha256Js: () => Sha256Js, + Sha256Node: () => Sha256Node, + Sha256WebCrypto: () => Sha256WebCrypto, + blobHasher: () => blobHasher, + blobReader: () => blobReader, + fileStreamHasher: () => fileStreamHasher, + readableStreamHasher: () => readableStreamHasher +}); +var init_checksum2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/checksum/index.js"() { + init_blobHasher(); + init_fileStreamHasher(); + init_readableStreamHasher(); + init_Md5Js(); + init_Md5Node(); + init_Crc32Js(); + init_Crc32Node(); + init_Sha256Js(); + init_Sha256Node(); + init_Sha256WebCrypto(); + init_chunked_blob_reader(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js +function negate(bytes) { + for (let i = 0; i < 8; i++) { + bytes[i] ^= 255; + } + for (let i = 7; i > -1; i--) { + bytes[i]++; + if (bytes[i] !== 0) + break; + } +} +var Int64; +var init_Int64 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js"() { + init_serde(); + Int64 = class _Int64 { + static { + __name(this, "Int64"); + } + bytes; + constructor(bytes) { + this.bytes = bytes; + if (bytes.byteLength !== 8) { + throw new Error("Int64 buffers must be exactly 8 bytes"); + } + } + static fromNumber(number) { + if (number > 9223372036854776e3 || number < -9223372036854776e3) { + throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`); + } + const bytes = new Uint8Array(8); + for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) { + bytes[i] = remaining; + } + if (number < 0) { + negate(bytes); + } + return new _Int64(bytes); + } + valueOf() { + const bytes = this.bytes.slice(0); + const negative = bytes[0] & 128; + if (negative) { + negate(bytes); + } + return parseInt(toHex(bytes), 16) * (negative ? -1 : 1); + } + toString() { + return String(this.valueOf()); + } + }; + __name(negate, "negate"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +var HeaderMarshaller, HEADER_VALUE_TYPE, BOOLEAN_TAG, BYTE_TAG, SHORT_TAG, INT_TAG, LONG_TAG, BINARY_TAG, STRING_TAG, TIMESTAMP_TAG, UUID_TAG, UUID_PATTERN; +var init_HeaderMarshaller = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js"() { + init_transport(); + init_serde(); + init_Int64(); + HeaderMarshaller = class { + static { + __name(this, "HeaderMarshaller"); + } + toUtf8; + fromUtf8; + constructor(toUtf83, fromUtf83) { + this.toUtf8 = toUtf83; + this.fromUtf8 = fromUtf83; + } + format(headers) { + const chunks = []; + for (const headerName in headers) { + if (!hasOwn(headers, headerName)) + continue; + const bytes = this.fromUtf8(headerName); + chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + } + const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); + let position = 0; + for (const chunk of chunks) { + out.set(chunk, position); + position += chunk.byteLength; + } + return out; + } + formatHeaderValue(header) { + switch (header.type) { + case "boolean": + return Uint8Array.from([header.value ? 0 : 1]); + case "byte": + return Uint8Array.from([2, header.value]); + case "short": + const shortView = new DataView(new ArrayBuffer(3)); + shortView.setUint8(0, 3); + shortView.setInt16(1, header.value, false); + return new Uint8Array(shortView.buffer); + case "integer": + const intView = new DataView(new ArrayBuffer(5)); + intView.setUint8(0, 4); + intView.setInt32(1, header.value, false); + return new Uint8Array(intView.buffer); + case "long": + const longBytes = new Uint8Array(9); + longBytes[0] = 5; + longBytes.set(header.value.bytes, 1); + return longBytes; + case "binary": + const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); + binView.setUint8(0, 6); + binView.setUint16(1, header.value.byteLength, false); + const binBytes = new Uint8Array(binView.buffer); + binBytes.set(header.value, 3); + return binBytes; + case "string": + const utf8Bytes = this.fromUtf8(header.value); + const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); + strView.setUint8(0, 7); + strView.setUint16(1, utf8Bytes.byteLength, false); + const strBytes = new Uint8Array(strView.buffer); + strBytes.set(utf8Bytes, 3); + return strBytes; + case "timestamp": + const tsBytes = new Uint8Array(9); + tsBytes[0] = 8; + tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1); + return tsBytes; + case "uuid": + if (!UUID_PATTERN.test(header.value)) { + throw new Error(`Invalid UUID received: ${header.value}`); + } + const uuidBytes = new Uint8Array(17); + uuidBytes[0] = 9; + uuidBytes.set(fromHex(header.value.replace(/-/g, "")), 1); + return uuidBytes; + } + } + parse(headers) { + const out = {}; + let position = 0; + while (position < headers.byteLength) { + const nameLength = headers.getUint8(position++); + const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength)); + position += nameLength; + switch (headers.getUint8(position++)) { + case 0: + out[name] = { + type: BOOLEAN_TAG, + value: true + }; + break; + case 1: + out[name] = { + type: BOOLEAN_TAG, + value: false + }; + break; + case 2: + out[name] = { + type: BYTE_TAG, + value: headers.getInt8(position++) + }; + break; + case 3: + out[name] = { + type: SHORT_TAG, + value: headers.getInt16(position, false) + }; + position += 2; + break; + case 4: + out[name] = { + type: INT_TAG, + value: headers.getInt32(position, false) + }; + position += 4; + break; + case 5: + out[name] = { + type: LONG_TAG, + value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)) + }; + position += 8; + break; + case 6: + const binaryLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: BINARY_TAG, + value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength) + }; + position += binaryLength; + break; + case 7: + const stringLength = headers.getUint16(position, false); + position += 2; + out[name] = { + type: STRING_TAG, + value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)) + }; + position += stringLength; + break; + case 8: + out[name] = { + type: TIMESTAMP_TAG, + value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()) + }; + position += 8; + break; + case 9: + const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16); + position += 16; + out[name] = { + type: UUID_TAG, + value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}` + }; + break; + default: + throw new Error(`Unrecognized header type tag`); + } + } + return out; + } + }; + (function(HEADER_VALUE_TYPE2) { + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid"; + })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {})); + BOOLEAN_TAG = "boolean"; + BYTE_TAG = "byte"; + SHORT_TAG = "short"; + INT_TAG = "integer"; + LONG_TAG = "long"; + BINARY_TAG = "binary"; + STRING_TAG = "string"; + TIMESTAMP_TAG = "timestamp"; + UUID_TAG = "uuid"; + UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js +function splitMessage({ byteLength, byteOffset, buffer }) { + if (byteLength < MINIMUM_MESSAGE_LENGTH) { + throw new Error("Provided message too short to accommodate event stream message overhead"); + } + const view = new DataView(buffer, byteOffset, byteLength); + const messageLength = view.getUint32(0, false); + if (byteLength !== messageLength) { + throw new Error("Reported message length does not match received message length"); + } + const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false); + const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false); + const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false); + const checksummer = new Crc32Node(); + checksummer.update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH)); + if (expectedPreludeChecksum !== checksummer.digestSync()) { + throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digestSync()})`); + } + checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH))); + if (expectedMessageChecksum !== checksummer.digestSync()) { + throw new Error(`The message checksum (${checksummer.digestSync()}) did not match the expected value of ${expectedMessageChecksum}`); + } + return { + headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength), + body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)) + }; +} +var PRELUDE_MEMBER_LENGTH, PRELUDE_LENGTH, CHECKSUM_LENGTH, MINIMUM_MESSAGE_LENGTH; +var init_splitMessage = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js"() { + init_checksum2(); + PRELUDE_MEMBER_LENGTH = 4; + PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2; + CHECKSUM_LENGTH = 4; + MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2; + __name(splitMessage, "splitMessage"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js +var EventStreamCodec; +var init_EventStreamCodec = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js"() { + init_checksum2(); + init_HeaderMarshaller(); + init_splitMessage(); + EventStreamCodec = class { + static { + __name(this, "EventStreamCodec"); + } + headerMarshaller; + messageBuffer; + isEndOfStream; + constructor(toUtf83, fromUtf83) { + this.headerMarshaller = new HeaderMarshaller(toUtf83, fromUtf83); + this.messageBuffer = []; + this.isEndOfStream = false; + } + feed(message) { + this.messageBuffer.push(this.decode(message)); + } + endOfStream() { + this.isEndOfStream = true; + } + getMessage() { + const message = this.messageBuffer.pop(); + const isEndOfStream = this.isEndOfStream; + return { + getMessage() { + return message; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + getAvailableMessages() { + const messages = this.messageBuffer; + this.messageBuffer = []; + const isEndOfStream = this.isEndOfStream; + return { + getMessages() { + return messages; + }, + isEndOfStream() { + return isEndOfStream; + } + }; + } + encode({ headers: rawHeaders, body }) { + const headers = this.headerMarshaller.format(rawHeaders); + const length = headers.byteLength + body.byteLength + 16; + const out = new Uint8Array(length); + const view = new DataView(out.buffer, out.byteOffset, out.byteLength); + const checksum = new Crc32Node(); + view.setUint32(0, length, false); + view.setUint32(4, headers.byteLength, false); + checksum.update(out.subarray(0, 8)); + view.setUint32(8, checksum.digestSync(), false); + out.set(headers, 12); + out.set(body, headers.byteLength + 12); + checksum.update(out.subarray(8, length - 4)); + view.setUint32(length - 4, checksum.digestSync(), false); + return out; + } + decode(message) { + const { headers, body } = splitMessage(message); + return { headers: this.headerMarshaller.parse(headers), body }; + } + formatHeaders(rawHeaders) { + return this.headerMarshaller.format(rawHeaders); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js +var MessageDecoderStream; +var init_MessageDecoderStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js"() { + MessageDecoderStream = class { + static { + __name(this, "MessageDecoderStream"); + } + options; + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const bytes of this.options.inputStream) { + const decoded = this.options.decoder.decode(bytes); + yield decoded; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js +var MessageEncoderStream; +var init_MessageEncoderStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js"() { + MessageEncoderStream = class { + static { + __name(this, "MessageEncoderStream"); + } + options; + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const msg of this.options.messageStream) { + const encoded = this.options.encoder.encode(msg); + yield encoded; + } + if (this.options.includeEndFrame) { + yield new Uint8Array(0); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js +var SmithyMessageDecoderStream; +var init_SmithyMessageDecoderStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js"() { + SmithyMessageDecoderStream = class { + static { + __name(this, "SmithyMessageDecoderStream"); + } + options; + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const message of this.options.messageStream) { + const deserialized = await this.options.deserializer(message); + if (deserialized === void 0) + continue; + yield deserialized; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js +var SmithyMessageEncoderStream; +var init_SmithyMessageEncoderStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js"() { + SmithyMessageEncoderStream = class { + static { + __name(this, "SmithyMessageEncoderStream"); + } + options; + constructor(options) { + this.options = options; + } + [Symbol.asyncIterator]() { + return this.asyncIterator(); + } + async *asyncIterator() { + for await (const chunk of this.options.inputStream) { + const payloadBuf = this.options.serializer(chunk); + yield payloadBuf; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js +function getChunkedStream(source) { + let currentMessageTotalLength = 0; + let currentMessagePendingLength = 0; + let currentMessage = null; + let messageLengthBuffer = null; + const allocateMessage = /* @__PURE__ */ __name((size) => { + if (typeof size !== "number") { + throw new Error("Attempted to allocate an event message where size was not a number: " + size); + } + currentMessageTotalLength = size; + currentMessagePendingLength = 4; + currentMessage = new Uint8Array(size); + const currentMessageView = new DataView(currentMessage.buffer); + currentMessageView.setUint32(0, size, false); + }, "allocateMessage"); + const iterator = /* @__PURE__ */ __name(async function* () { + const sourceIterator = source[Symbol.asyncIterator](); + while (true) { + const { value, done } = await sourceIterator.next(); + if (done) { + if (!currentMessageTotalLength) { + return; + } else if (currentMessageTotalLength === currentMessagePendingLength) { + yield currentMessage; + } else { + throw new Error("Truncated event message received."); + } + return; + } + const chunkLength = value.length; + let currentOffset = 0; + while (currentOffset < chunkLength) { + if (!currentMessage) { + const bytesRemaining = chunkLength - currentOffset; + if (!messageLengthBuffer) { + messageLengthBuffer = new Uint8Array(4); + } + const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining); + messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength); + currentMessagePendingLength += numBytesForTotal; + currentOffset += numBytesForTotal; + if (currentMessagePendingLength < 4) { + break; + } + allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false)); + messageLengthBuffer = null; + } + const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset); + currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength); + currentMessagePendingLength += numBytesToWrite; + currentOffset += numBytesToWrite; + if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) { + yield currentMessage; + currentMessage = null; + currentMessageTotalLength = 0; + currentMessagePendingLength = 0; + } + } + } + }, "iterator"); + return { + [Symbol.asyncIterator]: iterator + }; +} +var init_getChunkedStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js"() { + __name(getChunkedStream, "getChunkedStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js +function getUnmarshalledStream(source, options) { + const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8); + return { + [Symbol.asyncIterator]: async function* () { + for await (const chunk of source) { + const message = options.eventStreamCodec.decode(chunk); + const type = await messageUnmarshaller(message); + if (type === void 0) + continue; + yield type; + } + } + }; +} +function getMessageUnmarshaller(deserializer, toUtf83) { + return async function(message) { + const { value: messageType } = message.headers[":message-type"]; + if (messageType === "error") { + const unmodeledError = new Error(message.headers[":error-message"].value || "UnknownError"); + unmodeledError.name = message.headers[":error-code"].value; + throw unmodeledError; + } else if (messageType === "exception") { + const code = message.headers[":exception-type"].value; + const exception = { [code]: message }; + const deserializedException = await deserializer(exception); + if (deserializedException.$unknown) { + const error2 = new Error(toUtf83(message.body)); + error2.name = code; + throw error2; + } + throw deserializedException[code]; + } else if (messageType === "event") { + const event = { + [message.headers[":event-type"].value]: message + }; + const deserialized = await deserializer(event); + if (deserialized.$unknown) + return; + return deserialized; + } else { + throw Error(`Unrecognizable event type: ${message.headers[":event-type"].value}`); + } + }; +} +var init_getUnmarshalledStream = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js"() { + __name(getUnmarshalledStream, "getUnmarshalledStream"); + __name(getMessageUnmarshaller, "getMessageUnmarshaller"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js +var EventStreamMarshaller, eventStreamSerdeProvider; +var init_EventStreamMarshaller = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js"() { + init_EventStreamCodec(); + init_MessageDecoderStream(); + init_MessageEncoderStream(); + init_SmithyMessageDecoderStream(); + init_SmithyMessageEncoderStream(); + init_getChunkedStream(); + init_getUnmarshalledStream(); + EventStreamMarshaller = class { + static { + __name(this, "EventStreamMarshaller"); + } + eventStreamCodec; + utfEncoder; + constructor({ utf8Encoder, utf8Decoder }) { + this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder); + this.utfEncoder = utf8Encoder; + } + deserialize(body, deserializer) { + const inputStream = getChunkedStream(body); + return new SmithyMessageDecoderStream({ + messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }), + deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder) + }); + } + serialize(inputStream, serializer) { + return new MessageEncoderStream({ + messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }), + encoder: this.eventStreamCodec, + includeEndFrame: true + }); + } + }; + eventStreamSerdeProvider = /* @__PURE__ */ __name((options) => new EventStreamMarshaller(options), "eventStreamSerdeProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js +import { Readable as Readable5 } from "node:stream"; +async function* readableToIterable(readStream) { + let streamEnded = false; + let generationEnded = false; + const records = new Array(); + readStream.on("error", (err) => { + if (!streamEnded) { + streamEnded = true; + } + if (err) { + throw err; + } + }); + readStream.on("data", (data) => { + records.push(data); + }); + readStream.on("end", () => { + streamEnded = true; + }); + while (!generationEnded) { + const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0)); + if (value) { + yield value; + } + generationEnded = streamEnded && records.length === 0; + } +} +var EventStreamMarshaller2, eventStreamSerdeProvider2; +var init_EventStreamMarshaller2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js"() { + init_EventStreamMarshaller(); + EventStreamMarshaller2 = class { + static { + __name(this, "EventStreamMarshaller"); + } + universalMarshaller; + constructor({ utf8Encoder, utf8Decoder }) { + this.universalMarshaller = new EventStreamMarshaller({ + utf8Decoder, + utf8Encoder + }); + } + deserialize(body, deserializer) { + const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readableToIterable(body); + return this.universalMarshaller.deserialize(bodyIterable, deserializer); + } + serialize(input, serializer) { + return Readable5.from(this.universalMarshaller.serialize(input, serializer)); + } + }; + eventStreamSerdeProvider2 = /* @__PURE__ */ __name((options) => new EventStreamMarshaller2(options), "eventStreamSerdeProvider"); + __name(readableToIterable, "readableToIterable"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js +var readableStreamToIterable, iterableToReadableStream; +var init_utils2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js"() { + readableStreamToIterable = /* @__PURE__ */ __name((readableStream) => ({ + [Symbol.asyncIterator]: async function* () { + const reader = readableStream.getReader(); + try { + while (true) { + const { done, value } = await reader.read(); + if (done) + return; + yield value; + } + } finally { + reader.releaseLock(); + } + } + }), "readableStreamToIterable"); + iterableToReadableStream = /* @__PURE__ */ __name((asyncIterable) => { + const iterator = asyncIterable[Symbol.asyncIterator](); + return new ReadableStream({ + async pull(controller) { + const { done, value } = await iterator.next(); + if (done) { + return controller.close(); + } + controller.enqueue(value); + } + }); + }, "iterableToReadableStream"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.js +var resolveEventStreamSerdeConfig; +var init_EventStreamSerdeConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-config-resolver/EventStreamSerdeConfig.js"() { + resolveEventStreamSerdeConfig = /* @__PURE__ */ __name((input) => Object.assign(input, { + eventStreamMarshaller: input.eventStreamSerdeProvider(input) + }), "resolveEventStreamSerdeConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +var EventStreamSerde; +var init_EventStreamSerde = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js"() { + init_transport(); + init_schema(); + init_serde(); + EventStreamSerde = class { + static { + __name(this, "EventStreamSerde"); + } + marshaller; + serializer; + deserializer; + serdeContext; + defaultContentType; + compositeErrorRegistry; + constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, compositeErrorRegistry }) { + this.marshaller = marshaller; + this.serializer = serializer; + this.deserializer = deserializer; + this.serdeContext = serdeContext; + this.defaultContentType = defaultContentType; + this.compositeErrorRegistry = compositeErrorRegistry; + } + async serializeEventStream({ eventStream, requestSchema, initialRequest, initialMessageType }) { + const marshaller = this.marshaller; + const eventStreamMember = requestSchema.getEventStreamMember(); + const unionSchema = requestSchema.getMemberSchema(eventStreamMember); + const serializer = this.serializer; + const defaultContentType = this.defaultContentType; + const initialRequestMarker = /* @__PURE__ */ Symbol("initialRequestMarker"); + const eventStreamIterable = { + async *[Symbol.asyncIterator]() { + if (initialRequest) { + const headers = { + ":event-type": { type: "string", value: initialMessageType ?? "initial-request" }, + ":message-type": { type: "string", value: "event" }, + ":content-type": { type: "string", value: defaultContentType } + }; + serializer.write(requestSchema, initialRequest); + const body = serializer.flush(); + yield { + [initialRequestMarker]: true, + headers, + body + }; + } + for await (const page of eventStream) { + yield page; + } + } + }; + return marshaller.serialize(eventStreamIterable, (event) => { + if (event[initialRequestMarker]) { + return { + headers: event.headers, + body: event.body + }; + } + let unionMember = ""; + for (const key in event) { + if (!hasOwn(event, key)) + continue; + if (key !== "__type") { + unionMember = key; + break; + } + } + const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event); + const headers = { + ":event-type": { type: "string", value: eventType }, + ":message-type": { type: "string", value: "event" }, + ":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType }, + ...additionalHeaders + }; + return { + headers, + body + }; + }); + } + async deserializeEventStream({ response, responseSchema, initialResponseContainer, initialMessageType }) { + const marshaller = this.marshaller; + const eventStreamMember = responseSchema.getEventStreamMember(); + const unionSchema = responseSchema.getMemberSchema(eventStreamMember); + const memberSchemas = unionSchema.getMemberSchemas(); + const initialResponseMarker = /* @__PURE__ */ Symbol("initialResponseMarker"); + const asyncIterable = marshaller.deserialize(response.body, async (event) => { + let unionMember = ""; + for (const key in event) { + if (!hasOwn(event, key)) + continue; + if (key !== "__type") { + unionMember = key; + break; + } + } + const body = event[unionMember].body; + if (unionMember === (initialMessageType ?? "initial-response")) { + const dataObject = await this.deserializer.read(responseSchema, body); + delete dataObject[eventStreamMember]; + return { + [initialResponseMarker]: true, + ...dataObject + }; + } else if (unionMember in memberSchemas) { + const eventStreamSchema = memberSchemas[unionMember]; + if (eventStreamSchema.isStructSchema()) { + const out = {}; + let hasBindings = false; + for (const [name, member2] of eventStreamSchema.structIterator()) { + const { eventHeader, eventPayload } = member2.getMergedTraits(); + hasBindings = hasBindings || Boolean(eventHeader || eventPayload); + if (eventPayload) { + if (member2.isBlobSchema()) { + out[name] = body; + } else if (member2.isStringSchema()) { + out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body); + } else if (member2.isStructSchema()) { + out[name] = await this.deserializer.read(member2, body); + } + } else if (eventHeader) { + const value = event[unionMember].headers[name]?.value; + if (value != null) { + if (member2.isNumericSchema()) { + if (value && typeof value === "object" && "bytes" in value) { + out[name] = BigInt(value.toString()); + } else { + out[name] = Number(value); + } + } else { + out[name] = value; + } + } + } + } + return { + [unionMember]: await this.readEventMember(eventStreamSchema, body, hasBindings, out) + }; + } + return { + [unionMember]: await this.deserializer.read(eventStreamSchema, body) + }; + } else { + return { + $unknown: event + }; + } + }); + const asyncIterator = asyncIterable[Symbol.asyncIterator](); + const firstEvent = await asyncIterator.next(); + if (firstEvent.done) { + return asyncIterable; + } + if (firstEvent.value?.[initialResponseMarker]) { + if (!responseSchema) { + throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given."); + } + for (const key in firstEvent.value) { + if (!hasOwn(firstEvent.value, key)) + continue; + initialResponseContainer[key] = firstEvent.value[key]; + } + } + return { + async *[Symbol.asyncIterator]() { + if (!firstEvent?.value?.[initialResponseMarker]) { + yield firstEvent.value; + } + while (true) { + const { done, value } = await asyncIterator.next(); + if (done) { + break; + } + yield value; + } + } + }; + } + async readEventMember(eventStreamSchema, body, hasBindings, out) { + let ErrCtor; + const staticStructuralSchema = eventStreamSchema.getSchema(); + if (Array.isArray(staticStructuralSchema) && staticStructuralSchema[0] === -3) { + const namespace = staticStructuralSchema[1]; + const nsRegistry = TypeRegistry.for(namespace); + this.compositeErrorRegistry?.copyFrom(nsRegistry); + ErrCtor = (this.compositeErrorRegistry ?? nsRegistry)?.getErrorCtor(staticStructuralSchema); + } + const dataObject = hasBindings ? out : body.byteLength === 0 ? {} : await this.deserializer.read(eventStreamSchema, body); + if (ErrCtor) { + const message = dataObject.message ?? dataObject.Message ?? "Unknown"; + const metadata = {}; + const $fault = eventStreamSchema.getMergedTraits().error; + if ($fault) { + metadata.$fault = $fault; + } + return Object.assign(new ErrCtor({}), metadata, { + message + }, dataObject); + } + return dataObject; + } + writeEventBody(unionMember, unionSchema, event) { + const serializer = this.serializer; + let eventType = unionMember; + let explicitPayloadMember = null; + let explicitPayloadContentType; + const isKnownSchema = (() => { + const struct2 = unionSchema.getSchema(); + return struct2[4].includes(unionMember); + })(); + const additionalHeaders = {}; + if (!isKnownSchema) { + const [type, value] = event[unionMember]; + eventType = type; + serializer.write(15, value); + } else { + const eventSchema = unionSchema.getMemberSchema(unionMember); + if (eventSchema.isStructSchema()) { + for (const [memberName, memberSchema] of eventSchema.structIterator()) { + const { eventHeader, eventPayload } = memberSchema.getMergedTraits(); + if (eventPayload) { + explicitPayloadMember = memberName; + } else if (eventHeader) { + const value = event[unionMember][memberName]; + let type = "binary"; + if (memberSchema.isNumericSchema()) { + if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) { + type = "integer"; + } else { + type = "long"; + } + } else if (memberSchema.isTimestampSchema()) { + type = "timestamp"; + } else if (memberSchema.isStringSchema()) { + type = "string"; + } else if (memberSchema.isBooleanSchema()) { + type = "boolean"; + } + if (value != null) { + additionalHeaders[memberName] = { + type, + value + }; + delete event[unionMember][memberName]; + } + } + } + if (explicitPayloadMember !== null) { + const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember); + if (payloadSchema.isBlobSchema()) { + explicitPayloadContentType = "application/octet-stream"; + } else if (payloadSchema.isStringSchema()) { + explicitPayloadContentType = "text/plain"; + } + serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]); + } else { + serializer.write(eventSchema, event[unionMember]); + } + } else if (eventSchema.isUnitSchema()) { + serializer.write(eventSchema, {}); + } else { + throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union."); + } + } + const messageSerialization = serializer.flush() ?? new Uint8Array(); + const body = typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization) : messageSerialization; + return { + body, + eventType, + explicitPayloadContentType, + additionalHeaders + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js +var event_streams_exports = {}; +__export(event_streams_exports, { + EventStreamCodec: () => EventStreamCodec, + EventStreamMarshaller: () => EventStreamMarshaller2, + EventStreamSerde: () => EventStreamSerde, + HeaderMarshaller: () => HeaderMarshaller, + Int64: () => Int64, + MessageDecoderStream: () => MessageDecoderStream, + MessageEncoderStream: () => MessageEncoderStream, + SmithyMessageDecoderStream: () => SmithyMessageDecoderStream, + SmithyMessageEncoderStream: () => SmithyMessageEncoderStream, + UniversalEventStreamMarshaller: () => EventStreamMarshaller, + eventStreamSerdeProvider: () => eventStreamSerdeProvider2, + getChunkedStream: () => getChunkedStream, + getMessageUnmarshaller: () => getMessageUnmarshaller, + getUnmarshalledStream: () => getUnmarshalledStream, + iterableToReadableStream: () => iterableToReadableStream, + readableStreamToIterable: () => readableStreamToIterable, + resolveEventStreamSerdeConfig: () => resolveEventStreamSerdeConfig, + universalEventStreamSerdeProvider: () => eventStreamSerdeProvider +}); +var init_event_streams = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/event-streams/index.js"() { + init_EventStreamCodec(); + init_HeaderMarshaller(); + init_Int64(); + init_MessageDecoderStream(); + init_MessageEncoderStream(); + init_SmithyMessageDecoderStream(); + init_SmithyMessageEncoderStream(); + init_EventStreamMarshaller2(); + init_utils2(); + init_EventStreamMarshaller(); + init_getChunkedStream(); + init_getUnmarshalledStream(); + init_EventStreamSerdeConfig(); + init_EventStreamSerde(); + } +}); + +export { + require_dist_cjs, + getSmithyContext, + hasOwn, + HttpRequest, + HttpResponse, + isValidHostLabel, + isValidHostname, + normalizeProvider, + parseQueryString, + parseUrl, + init_transport, + Client, + deref, + getSchemaSerdePlugin, + translateTraits, + NormalizedSchema, + TypeRegistry, + schema_exports, + init_schema, + Command, + createAggregatedClient, + ServiceException, + decorateServiceException, + loadConfigsForDefaultMode, + emitWarningIfUnsupportedVersion, + getDefaultExtensionConfiguration, + resolveDefaultRuntimeConfig, + getValueFromTextNode, + NoOpLogger, + makeBuilder, + client_exports, + init_client2 as init_client, + isArrayBuffer, + fromBase64, + fromUtf8, + toBase64, + toUtf8, + dateToUtcString, + parseRfc3339DateTimeWithOffset, + parseRfc7231DateTime, + parseEpochTimestamp, + LazyJsonString, + quoteHeader, + _parseEpochTimestamp, + _parseRfc3339DateTimeWithOffset, + _parseRfc7231DateTime, + splitEvery, + splitHeader, + NumericValue, + calculateBodyLength, + toUint8Array, + concatBytes, + ProviderError, + booleanSelector, + SelectorType, + loadConfig, + NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, + NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, + REGION_ENV_NAME, + REGION_INI_NAME, + NODE_REGION_CONFIG_OPTIONS, + NODE_REGION_CONFIG_FILE_OPTIONS, + resolveRegionConfig, + resolveDefaultsModeConfig, + config_exports, + init_config2 as init_config, + resolveParams, + BinaryDecisionDiagram, + EndpointCache, + EndpointError, + customEndpointFunctions, + isIpAddress, + decideEndpoint, + resolveEndpoint, + resolveEndpointConfig, + getEndpointPlugin, + endpoints_exports, + init_endpoints, + createChecksumStream2 as createChecksumStream, + createBufferedReadable, + sdkStreamMixin2 as sdkStreamMixin, + Uint8ArrayBlobAdapter, + v4, + generateIdempotencyToken, + serde_exports, + init_serde, + Crc32Node, + Sha256Js, + Sha256Node, + checksum_exports, + init_checksum2 as init_checksum, + Int64, + HeaderMarshaller, + EventStreamCodec, + MessageDecoderStream, + MessageEncoderStream, + SmithyMessageDecoderStream, + SmithyMessageEncoderStream, + getChunkedStream, + getUnmarshalledStream, + getMessageUnmarshaller, + EventStreamMarshaller, + eventStreamSerdeProvider, + EventStreamMarshaller2, + eventStreamSerdeProvider2, + readableStreamToIterable, + iterableToReadableStream, + resolveEventStreamSerdeConfig, + EventStreamSerde, + event_streams_exports, + init_event_streams +}; diff --git a/apps/api/.output/dist/chunks/chunk-A34KYKJP.js b/apps/api/.output/dist/chunks/chunk-A34KYKJP.js new file mode 100644 index 0000000..459cff8 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-A34KYKJP.js @@ -0,0 +1,129 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __commonJS, + __name +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js +var require_ms = __commonJS({ + "../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports, module) { + var s = 1e3; + var m = s * 60; + var h = m * 60; + var d = h * 24; + var w = d * 7; + var y = d * 365.25; + module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === "string" && val.length > 0) { + return parse(val); + } else if (type === "number" && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) + ); + }; + function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || "ms").toLowerCase(); + switch (type) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return n * y; + case "weeks": + case "week": + case "w": + return n * w; + case "days": + case "day": + case "d": + return n * d; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return n * h; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return n * m; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return n * s; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return n; + default: + return void 0; + } + } + __name(parse, "parse"); + function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + "d"; + } + if (msAbs >= h) { + return Math.round(ms / h) + "h"; + } + if (msAbs >= m) { + return Math.round(ms / m) + "m"; + } + if (msAbs >= s) { + return Math.round(ms / s) + "s"; + } + return ms + "ms"; + } + __name(fmtShort, "fmtShort"); + function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, "day"); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, "hour"); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, "minute"); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, "second"); + } + return ms + " ms"; + } + __name(fmtLong, "fmtLong"); + function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + " " + name + (isPlural ? "s" : ""); + } + __name(plural, "plural"); + } +}); + +export { + require_ms +}; diff --git a/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js b/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js new file mode 100644 index 0000000..27f2858 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-BX2ML7LW.js @@ -0,0 +1,15727 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __commonJS, + __esm, + __export, + __name, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js +var require_Reflect = __commonJS({ + "../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js"() { + var Reflect2; + (function(Reflect3) { + (function(factory) { + var root = typeof globalThis === "object" ? globalThis : typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : sloppyModeThis(); + var exporter = makeExporter(Reflect3); + if (typeof root.Reflect !== "undefined") { + exporter = makeExporter(root.Reflect, exporter); + } + factory(exporter, root); + if (typeof root.Reflect === "undefined") { + root.Reflect = Reflect3; + } + function makeExporter(target, previous) { + return function(key, value) { + Object.defineProperty(target, key, { configurable: true, writable: true, value }); + if (previous) + previous(key, value); + }; + } + __name(makeExporter, "makeExporter"); + function functionThis() { + try { + return Function("return this;")(); + } catch (_) { + } + } + __name(functionThis, "functionThis"); + function indirectEvalThis() { + try { + return (void 0, eval)("(function() { return this; })()"); + } catch (_) { + } + } + __name(indirectEvalThis, "indirectEvalThis"); + function sloppyModeThis() { + return functionThis() || indirectEvalThis(); + } + __name(sloppyModeThis, "sloppyModeThis"); + })(function(exporter, root) { + var hasOwn = Object.prototype.hasOwnProperty; + var supportsSymbol = typeof Symbol === "function"; + var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive"; + var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator"; + var supportsCreate = typeof Object.create === "function"; + var supportsProto = { __proto__: [] } instanceof Array; + var downLevel = !supportsCreate && !supportsProto; + var HashMap = { + // create an object in dictionary mode (a.k.a. "slow" mode in v8) + create: supportsCreate ? function() { + return MakeDictionary(/* @__PURE__ */ Object.create(null)); + } : supportsProto ? function() { + return MakeDictionary({ __proto__: null }); + } : function() { + return MakeDictionary({}); + }, + has: downLevel ? function(map2, key) { + return hasOwn.call(map2, key); + } : function(map2, key) { + return key in map2; + }, + get: downLevel ? function(map2, key) { + return hasOwn.call(map2, key) ? map2[key] : void 0; + } : function(map2, key) { + return map2[key]; + } + }; + var functionPrototype = Object.getPrototypeOf(Function); + var _Map = typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill(); + var _Set = typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); + var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); + var registrySymbol = supportsSymbol ? /* @__PURE__ */ Symbol.for("@reflect-metadata:registry") : void 0; + var metadataRegistry = GetOrCreateMetadataRegistry(); + var metadataProvider = CreateMetadataProvider(metadataRegistry); + function decorate(decorators, target, propertyKey, attributes) { + if (!IsUndefined(propertyKey)) { + if (!IsArray(decorators)) + throw new TypeError(); + if (!IsObject(target)) + throw new TypeError(); + if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) + throw new TypeError(); + if (IsNull(attributes)) + attributes = void 0; + propertyKey = ToPropertyKey(propertyKey); + return DecorateProperty(decorators, target, propertyKey, attributes); + } else { + if (!IsArray(decorators)) + throw new TypeError(); + if (!IsConstructor(target)) + throw new TypeError(); + return DecorateConstructor(decorators, target); + } + } + __name(decorate, "decorate"); + exporter("decorate", decorate); + function metadata(metadataKey, metadataValue) { + function decorator(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) + throw new TypeError(); + OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); + } + __name(decorator, "decorator"); + return decorator; + } + __name(metadata, "metadata"); + exporter("metadata", metadata); + function defineMetadata(metadataKey, metadataValue, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); + } + __name(defineMetadata, "defineMetadata"); + exporter("defineMetadata", defineMetadata); + function hasMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasMetadata(metadataKey, target, propertyKey); + } + __name(hasMetadata, "hasMetadata"); + exporter("hasMetadata", hasMetadata); + function hasOwnMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); + } + __name(hasOwnMetadata, "hasOwnMetadata"); + exporter("hasOwnMetadata", hasOwnMetadata); + function getMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetMetadata(metadataKey, target, propertyKey); + } + __name(getMetadata, "getMetadata"); + exporter("getMetadata", getMetadata); + function getOwnMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); + } + __name(getOwnMetadata, "getOwnMetadata"); + exporter("getOwnMetadata", getOwnMetadata); + function getMetadataKeys(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryMetadataKeys(target, propertyKey); + } + __name(getMetadataKeys, "getMetadataKeys"); + exporter("getMetadataKeys", getMetadataKeys); + function getOwnMetadataKeys(target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + return OrdinaryOwnMetadataKeys(target, propertyKey); + } + __name(getOwnMetadataKeys, "getOwnMetadataKeys"); + exporter("getOwnMetadataKeys", getOwnMetadataKeys); + function deleteMetadata(metadataKey, target, propertyKey) { + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + if (!IsObject(target)) + throw new TypeError(); + if (!IsUndefined(propertyKey)) + propertyKey = ToPropertyKey(propertyKey); + var provider = GetMetadataProvider( + target, + propertyKey, + /*Create*/ + false + ); + if (IsUndefined(provider)) + return false; + return provider.OrdinaryDeleteMetadata(metadataKey, target, propertyKey); + } + __name(deleteMetadata, "deleteMetadata"); + exporter("deleteMetadata", deleteMetadata); + function DecorateConstructor(decorators, target) { + for (var i = decorators.length - 1; i >= 0; --i) { + var decorator = decorators[i]; + var decorated = decorator(target); + if (!IsUndefined(decorated) && !IsNull(decorated)) { + if (!IsConstructor(decorated)) + throw new TypeError(); + target = decorated; + } + } + return target; + } + __name(DecorateConstructor, "DecorateConstructor"); + function DecorateProperty(decorators, target, propertyKey, descriptor) { + for (var i = decorators.length - 1; i >= 0; --i) { + var decorator = decorators[i]; + var decorated = decorator(target, propertyKey, descriptor); + if (!IsUndefined(decorated) && !IsNull(decorated)) { + if (!IsObject(decorated)) + throw new TypeError(); + descriptor = decorated; + } + } + return descriptor; + } + __name(DecorateProperty, "DecorateProperty"); + function OrdinaryHasMetadata(MetadataKey, O, P) { + var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn2) + return true; + var parent = OrdinaryGetPrototypeOf(O); + if (!IsNull(parent)) + return OrdinaryHasMetadata(MetadataKey, parent, P); + return false; + } + __name(OrdinaryHasMetadata, "OrdinaryHasMetadata"); + function OrdinaryHasOwnMetadata(MetadataKey, O, P) { + var provider = GetMetadataProvider( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(provider)) + return false; + return ToBoolean(provider.OrdinaryHasOwnMetadata(MetadataKey, O, P)); + } + __name(OrdinaryHasOwnMetadata, "OrdinaryHasOwnMetadata"); + function OrdinaryGetMetadata(MetadataKey, O, P) { + var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn2) + return OrdinaryGetOwnMetadata(MetadataKey, O, P); + var parent = OrdinaryGetPrototypeOf(O); + if (!IsNull(parent)) + return OrdinaryGetMetadata(MetadataKey, parent, P); + return void 0; + } + __name(OrdinaryGetMetadata, "OrdinaryGetMetadata"); + function OrdinaryGetOwnMetadata(MetadataKey, O, P) { + var provider = GetMetadataProvider( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(provider)) + return; + return provider.OrdinaryGetOwnMetadata(MetadataKey, O, P); + } + __name(OrdinaryGetOwnMetadata, "OrdinaryGetOwnMetadata"); + function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { + var provider = GetMetadataProvider( + O, + P, + /*Create*/ + true + ); + provider.OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P); + } + __name(OrdinaryDefineOwnMetadata, "OrdinaryDefineOwnMetadata"); + function OrdinaryMetadataKeys(O, P) { + var ownKeys = OrdinaryOwnMetadataKeys(O, P); + var parent = OrdinaryGetPrototypeOf(O); + if (parent === null) + return ownKeys; + var parentKeys = OrdinaryMetadataKeys(parent, P); + if (parentKeys.length <= 0) + return ownKeys; + if (ownKeys.length <= 0) + return parentKeys; + var set = new _Set(); + var keys = []; + for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) { + var key = ownKeys_1[_i]; + var hasKey = set.has(key); + if (!hasKey) { + set.add(key); + keys.push(key); + } + } + for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) { + var key = parentKeys_1[_a]; + var hasKey = set.has(key); + if (!hasKey) { + set.add(key); + keys.push(key); + } + } + return keys; + } + __name(OrdinaryMetadataKeys, "OrdinaryMetadataKeys"); + function OrdinaryOwnMetadataKeys(O, P) { + var provider = GetMetadataProvider( + O, + P, + /*create*/ + false + ); + if (!provider) { + return []; + } + return provider.OrdinaryOwnMetadataKeys(O, P); + } + __name(OrdinaryOwnMetadataKeys, "OrdinaryOwnMetadataKeys"); + function Type(x) { + if (x === null) + return 1; + switch (typeof x) { + case "undefined": + return 0; + case "boolean": + return 2; + case "string": + return 3; + case "symbol": + return 4; + case "number": + return 5; + case "object": + return x === null ? 1 : 6; + default: + return 6; + } + } + __name(Type, "Type"); + function IsUndefined(x) { + return x === void 0; + } + __name(IsUndefined, "IsUndefined"); + function IsNull(x) { + return x === null; + } + __name(IsNull, "IsNull"); + function IsSymbol(x) { + return typeof x === "symbol"; + } + __name(IsSymbol, "IsSymbol"); + function IsObject(x) { + return typeof x === "object" ? x !== null : typeof x === "function"; + } + __name(IsObject, "IsObject"); + function ToPrimitive(input, PreferredType) { + switch (Type(input)) { + case 0: + return input; + case 1: + return input; + case 2: + return input; + case 3: + return input; + case 4: + return input; + case 5: + return input; + } + var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default"; + var exoticToPrim = GetMethod(input, toPrimitiveSymbol); + if (exoticToPrim !== void 0) { + var result = exoticToPrim.call(input, hint); + if (IsObject(result)) + throw new TypeError(); + return result; + } + return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint); + } + __name(ToPrimitive, "ToPrimitive"); + function OrdinaryToPrimitive(O, hint) { + if (hint === "string") { + var toString_1 = O.toString; + if (IsCallable(toString_1)) { + var result = toString_1.call(O); + if (!IsObject(result)) + return result; + } + var valueOf = O.valueOf; + if (IsCallable(valueOf)) { + var result = valueOf.call(O); + if (!IsObject(result)) + return result; + } + } else { + var valueOf = O.valueOf; + if (IsCallable(valueOf)) { + var result = valueOf.call(O); + if (!IsObject(result)) + return result; + } + var toString_2 = O.toString; + if (IsCallable(toString_2)) { + var result = toString_2.call(O); + if (!IsObject(result)) + return result; + } + } + throw new TypeError(); + } + __name(OrdinaryToPrimitive, "OrdinaryToPrimitive"); + function ToBoolean(argument) { + return !!argument; + } + __name(ToBoolean, "ToBoolean"); + function ToString(argument) { + return "" + argument; + } + __name(ToString, "ToString"); + function ToPropertyKey(argument) { + var key = ToPrimitive( + argument, + 3 + /* String */ + ); + if (IsSymbol(key)) + return key; + return ToString(key); + } + __name(ToPropertyKey, "ToPropertyKey"); + function IsArray(argument) { + return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]"; + } + __name(IsArray, "IsArray"); + function IsCallable(argument) { + return typeof argument === "function"; + } + __name(IsCallable, "IsCallable"); + function IsConstructor(argument) { + return typeof argument === "function"; + } + __name(IsConstructor, "IsConstructor"); + function IsPropertyKey(argument) { + switch (Type(argument)) { + case 3: + return true; + case 4: + return true; + default: + return false; + } + } + __name(IsPropertyKey, "IsPropertyKey"); + function SameValueZero(x, y) { + return x === y || x !== x && y !== y; + } + __name(SameValueZero, "SameValueZero"); + function GetMethod(V, P) { + var func = V[P]; + if (func === void 0 || func === null) + return void 0; + if (!IsCallable(func)) + throw new TypeError(); + return func; + } + __name(GetMethod, "GetMethod"); + function GetIterator(obj) { + var method = GetMethod(obj, iteratorSymbol); + if (!IsCallable(method)) + throw new TypeError(); + var iterator = method.call(obj); + if (!IsObject(iterator)) + throw new TypeError(); + return iterator; + } + __name(GetIterator, "GetIterator"); + function IteratorValue(iterResult) { + return iterResult.value; + } + __name(IteratorValue, "IteratorValue"); + function IteratorStep(iterator) { + var result = iterator.next(); + return result.done ? false : result; + } + __name(IteratorStep, "IteratorStep"); + function IteratorClose(iterator) { + var f = iterator["return"]; + if (f) + f.call(iterator); + } + __name(IteratorClose, "IteratorClose"); + function OrdinaryGetPrototypeOf(O) { + var proto = Object.getPrototypeOf(O); + if (typeof O !== "function" || O === functionPrototype) + return proto; + if (proto !== functionPrototype) + return proto; + var prototype = O.prototype; + var prototypeProto = prototype && Object.getPrototypeOf(prototype); + if (prototypeProto == null || prototypeProto === Object.prototype) + return proto; + var constructor = prototypeProto.constructor; + if (typeof constructor !== "function") + return proto; + if (constructor === O) + return proto; + return constructor; + } + __name(OrdinaryGetPrototypeOf, "OrdinaryGetPrototypeOf"); + function CreateMetadataRegistry() { + var fallback; + if (!IsUndefined(registrySymbol) && typeof root.Reflect !== "undefined" && !(registrySymbol in root.Reflect) && typeof root.Reflect.defineMetadata === "function") { + fallback = CreateFallbackProvider(root.Reflect); + } + var first; + var second; + var rest; + var targetProviderMap = new _WeakMap(); + var registry = { + registerProvider, + getProvider, + setProvider + }; + return registry; + function registerProvider(provider) { + if (!Object.isExtensible(registry)) { + throw new Error("Cannot add provider to a frozen registry."); + } + switch (true) { + case fallback === provider: + break; + case IsUndefined(first): + first = provider; + break; + case first === provider: + break; + case IsUndefined(second): + second = provider; + break; + case second === provider: + break; + default: + if (rest === void 0) + rest = new _Set(); + rest.add(provider); + break; + } + } + __name(registerProvider, "registerProvider"); + function getProviderNoCache(O, P) { + if (!IsUndefined(first)) { + if (first.isProviderFor(O, P)) + return first; + if (!IsUndefined(second)) { + if (second.isProviderFor(O, P)) + return first; + if (!IsUndefined(rest)) { + var iterator = GetIterator(rest); + while (true) { + var next = IteratorStep(iterator); + if (!next) { + return void 0; + } + var provider = IteratorValue(next); + if (provider.isProviderFor(O, P)) { + IteratorClose(iterator); + return provider; + } + } + } + } + } + if (!IsUndefined(fallback) && fallback.isProviderFor(O, P)) { + return fallback; + } + return void 0; + } + __name(getProviderNoCache, "getProviderNoCache"); + function getProvider(O, P) { + var providerMap = targetProviderMap.get(O); + var provider; + if (!IsUndefined(providerMap)) { + provider = providerMap.get(P); + } + if (!IsUndefined(provider)) { + return provider; + } + provider = getProviderNoCache(O, P); + if (!IsUndefined(provider)) { + if (IsUndefined(providerMap)) { + providerMap = new _Map(); + targetProviderMap.set(O, providerMap); + } + providerMap.set(P, provider); + } + return provider; + } + __name(getProvider, "getProvider"); + function hasProvider(provider) { + if (IsUndefined(provider)) + throw new TypeError(); + return first === provider || second === provider || !IsUndefined(rest) && rest.has(provider); + } + __name(hasProvider, "hasProvider"); + function setProvider(O, P, provider) { + if (!hasProvider(provider)) { + throw new Error("Metadata provider not registered."); + } + var existingProvider = getProvider(O, P); + if (existingProvider !== provider) { + if (!IsUndefined(existingProvider)) { + return false; + } + var providerMap = targetProviderMap.get(O); + if (IsUndefined(providerMap)) { + providerMap = new _Map(); + targetProviderMap.set(O, providerMap); + } + providerMap.set(P, provider); + } + return true; + } + __name(setProvider, "setProvider"); + } + __name(CreateMetadataRegistry, "CreateMetadataRegistry"); + function GetOrCreateMetadataRegistry() { + var metadataRegistry2; + if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) { + metadataRegistry2 = root.Reflect[registrySymbol]; + } + if (IsUndefined(metadataRegistry2)) { + metadataRegistry2 = CreateMetadataRegistry(); + } + if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) { + Object.defineProperty(root.Reflect, registrySymbol, { + enumerable: false, + configurable: false, + writable: false, + value: metadataRegistry2 + }); + } + return metadataRegistry2; + } + __name(GetOrCreateMetadataRegistry, "GetOrCreateMetadataRegistry"); + function CreateMetadataProvider(registry) { + var metadata2 = new _WeakMap(); + var provider = { + isProviderFor: /* @__PURE__ */ __name(function(O, P) { + var targetMetadata = metadata2.get(O); + if (IsUndefined(targetMetadata)) + return false; + return targetMetadata.has(P); + }, "isProviderFor"), + OrdinaryDefineOwnMetadata: OrdinaryDefineOwnMetadata2, + OrdinaryHasOwnMetadata: OrdinaryHasOwnMetadata2, + OrdinaryGetOwnMetadata: OrdinaryGetOwnMetadata2, + OrdinaryOwnMetadataKeys: OrdinaryOwnMetadataKeys2, + OrdinaryDeleteMetadata + }; + metadataRegistry.registerProvider(provider); + return provider; + function GetOrCreateMetadataMap(O, P, Create) { + var targetMetadata = metadata2.get(O); + var createdTargetMetadata = false; + if (IsUndefined(targetMetadata)) { + if (!Create) + return void 0; + targetMetadata = new _Map(); + metadata2.set(O, targetMetadata); + createdTargetMetadata = true; + } + var metadataMap = targetMetadata.get(P); + if (IsUndefined(metadataMap)) { + if (!Create) + return void 0; + metadataMap = new _Map(); + targetMetadata.set(P, metadataMap); + if (!registry.setProvider(O, P, provider)) { + targetMetadata.delete(P); + if (createdTargetMetadata) { + metadata2.delete(O); + } + throw new Error("Wrong provider for target."); + } + } + return metadataMap; + } + __name(GetOrCreateMetadataMap, "GetOrCreateMetadataMap"); + function OrdinaryHasOwnMetadata2(MetadataKey, O, P) { + var metadataMap = GetOrCreateMetadataMap( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(metadataMap)) + return false; + return ToBoolean(metadataMap.has(MetadataKey)); + } + __name(OrdinaryHasOwnMetadata2, "OrdinaryHasOwnMetadata"); + function OrdinaryGetOwnMetadata2(MetadataKey, O, P) { + var metadataMap = GetOrCreateMetadataMap( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(metadataMap)) + return void 0; + return metadataMap.get(MetadataKey); + } + __name(OrdinaryGetOwnMetadata2, "OrdinaryGetOwnMetadata"); + function OrdinaryDefineOwnMetadata2(MetadataKey, MetadataValue, O, P) { + var metadataMap = GetOrCreateMetadataMap( + O, + P, + /*Create*/ + true + ); + metadataMap.set(MetadataKey, MetadataValue); + } + __name(OrdinaryDefineOwnMetadata2, "OrdinaryDefineOwnMetadata"); + function OrdinaryOwnMetadataKeys2(O, P) { + var keys = []; + var metadataMap = GetOrCreateMetadataMap( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(metadataMap)) + return keys; + var keysObj = metadataMap.keys(); + var iterator = GetIterator(keysObj); + var k = 0; + while (true) { + var next = IteratorStep(iterator); + if (!next) { + keys.length = k; + return keys; + } + var nextValue = IteratorValue(next); + try { + keys[k] = nextValue; + } catch (e) { + try { + IteratorClose(iterator); + } finally { + throw e; + } + } + k++; + } + } + __name(OrdinaryOwnMetadataKeys2, "OrdinaryOwnMetadataKeys"); + function OrdinaryDeleteMetadata(MetadataKey, O, P) { + var metadataMap = GetOrCreateMetadataMap( + O, + P, + /*Create*/ + false + ); + if (IsUndefined(metadataMap)) + return false; + if (!metadataMap.delete(MetadataKey)) + return false; + if (metadataMap.size === 0) { + var targetMetadata = metadata2.get(O); + if (!IsUndefined(targetMetadata)) { + targetMetadata.delete(P); + if (targetMetadata.size === 0) { + metadata2.delete(targetMetadata); + } + } + } + return true; + } + __name(OrdinaryDeleteMetadata, "OrdinaryDeleteMetadata"); + } + __name(CreateMetadataProvider, "CreateMetadataProvider"); + function CreateFallbackProvider(reflect) { + var defineMetadata2 = reflect.defineMetadata, hasOwnMetadata2 = reflect.hasOwnMetadata, getOwnMetadata2 = reflect.getOwnMetadata, getOwnMetadataKeys2 = reflect.getOwnMetadataKeys, deleteMetadata2 = reflect.deleteMetadata; + var metadataOwner = new _WeakMap(); + var provider = { + isProviderFor: /* @__PURE__ */ __name(function(O, P) { + var metadataPropertySet = metadataOwner.get(O); + if (!IsUndefined(metadataPropertySet) && metadataPropertySet.has(P)) { + return true; + } + if (getOwnMetadataKeys2(O, P).length) { + if (IsUndefined(metadataPropertySet)) { + metadataPropertySet = new _Set(); + metadataOwner.set(O, metadataPropertySet); + } + metadataPropertySet.add(P); + return true; + } + return false; + }, "isProviderFor"), + OrdinaryDefineOwnMetadata: defineMetadata2, + OrdinaryHasOwnMetadata: hasOwnMetadata2, + OrdinaryGetOwnMetadata: getOwnMetadata2, + OrdinaryOwnMetadataKeys: getOwnMetadataKeys2, + OrdinaryDeleteMetadata: deleteMetadata2 + }; + return provider; + } + __name(CreateFallbackProvider, "CreateFallbackProvider"); + function GetMetadataProvider(O, P, Create) { + var registeredProvider = metadataRegistry.getProvider(O, P); + if (!IsUndefined(registeredProvider)) { + return registeredProvider; + } + if (Create) { + if (metadataRegistry.setProvider(O, P, metadataProvider)) { + return metadataProvider; + } + throw new Error("Illegal state."); + } + return void 0; + } + __name(GetMetadataProvider, "GetMetadataProvider"); + function CreateMapPolyfill() { + var cacheSentinel = {}; + var arraySentinel = []; + var MapIterator = ( + /** @class */ + (function() { + function MapIterator2(keys, values, selector) { + this._index = 0; + this._keys = keys; + this._values = values; + this._selector = selector; + } + __name(MapIterator2, "MapIterator"); + MapIterator2.prototype["@@iterator"] = function() { + return this; + }; + MapIterator2.prototype[iteratorSymbol] = function() { + return this; + }; + MapIterator2.prototype.next = function() { + var index = this._index; + if (index >= 0 && index < this._keys.length) { + var result = this._selector(this._keys[index], this._values[index]); + if (index + 1 >= this._keys.length) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } else { + this._index++; + } + return { value: result, done: false }; + } + return { value: void 0, done: true }; + }; + MapIterator2.prototype.throw = function(error) { + if (this._index >= 0) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } + throw error; + }; + MapIterator2.prototype.return = function(value) { + if (this._index >= 0) { + this._index = -1; + this._keys = arraySentinel; + this._values = arraySentinel; + } + return { value, done: true }; + }; + return MapIterator2; + })() + ); + var Map2 = ( + /** @class */ + (function() { + function Map3() { + this._keys = []; + this._values = []; + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + } + __name(Map3, "Map"); + Object.defineProperty(Map3.prototype, "size", { + get: /* @__PURE__ */ __name(function() { + return this._keys.length; + }, "get"), + enumerable: true, + configurable: true + }); + Map3.prototype.has = function(key) { + return this._find( + key, + /*insert*/ + false + ) >= 0; + }; + Map3.prototype.get = function(key) { + var index = this._find( + key, + /*insert*/ + false + ); + return index >= 0 ? this._values[index] : void 0; + }; + Map3.prototype.set = function(key, value) { + var index = this._find( + key, + /*insert*/ + true + ); + this._values[index] = value; + return this; + }; + Map3.prototype.delete = function(key) { + var index = this._find( + key, + /*insert*/ + false + ); + if (index >= 0) { + var size = this._keys.length; + for (var i = index + 1; i < size; i++) { + this._keys[i - 1] = this._keys[i]; + this._values[i - 1] = this._values[i]; + } + this._keys.length--; + this._values.length--; + if (SameValueZero(key, this._cacheKey)) { + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + } + return true; + } + return false; + }; + Map3.prototype.clear = function() { + this._keys.length = 0; + this._values.length = 0; + this._cacheKey = cacheSentinel; + this._cacheIndex = -2; + }; + Map3.prototype.keys = function() { + return new MapIterator(this._keys, this._values, getKey); + }; + Map3.prototype.values = function() { + return new MapIterator(this._keys, this._values, getValue); + }; + Map3.prototype.entries = function() { + return new MapIterator(this._keys, this._values, getEntry); + }; + Map3.prototype["@@iterator"] = function() { + return this.entries(); + }; + Map3.prototype[iteratorSymbol] = function() { + return this.entries(); + }; + Map3.prototype._find = function(key, insert) { + if (!SameValueZero(this._cacheKey, key)) { + this._cacheIndex = -1; + for (var i = 0; i < this._keys.length; i++) { + if (SameValueZero(this._keys[i], key)) { + this._cacheIndex = i; + break; + } + } + } + if (this._cacheIndex < 0 && insert) { + this._cacheIndex = this._keys.length; + this._keys.push(key); + this._values.push(void 0); + } + return this._cacheIndex; + }; + return Map3; + })() + ); + return Map2; + function getKey(key, _) { + return key; + } + __name(getKey, "getKey"); + function getValue(_, value) { + return value; + } + __name(getValue, "getValue"); + function getEntry(key, value) { + return [key, value]; + } + __name(getEntry, "getEntry"); + } + __name(CreateMapPolyfill, "CreateMapPolyfill"); + function CreateSetPolyfill() { + var Set2 = ( + /** @class */ + (function() { + function Set3() { + this._map = new _Map(); + } + __name(Set3, "Set"); + Object.defineProperty(Set3.prototype, "size", { + get: /* @__PURE__ */ __name(function() { + return this._map.size; + }, "get"), + enumerable: true, + configurable: true + }); + Set3.prototype.has = function(value) { + return this._map.has(value); + }; + Set3.prototype.add = function(value) { + return this._map.set(value, value), this; + }; + Set3.prototype.delete = function(value) { + return this._map.delete(value); + }; + Set3.prototype.clear = function() { + this._map.clear(); + }; + Set3.prototype.keys = function() { + return this._map.keys(); + }; + Set3.prototype.values = function() { + return this._map.keys(); + }; + Set3.prototype.entries = function() { + return this._map.entries(); + }; + Set3.prototype["@@iterator"] = function() { + return this.keys(); + }; + Set3.prototype[iteratorSymbol] = function() { + return this.keys(); + }; + return Set3; + })() + ); + return Set2; + } + __name(CreateSetPolyfill, "CreateSetPolyfill"); + function CreateWeakMapPolyfill() { + var UUID_SIZE = 16; + var keys = HashMap.create(); + var rootKey = CreateUniqueKey(); + return ( + /** @class */ + (function() { + function WeakMap2() { + this._key = CreateUniqueKey(); + } + __name(WeakMap2, "WeakMap"); + WeakMap2.prototype.has = function(target) { + var table = GetOrCreateWeakMapTable( + target, + /*create*/ + false + ); + return table !== void 0 ? HashMap.has(table, this._key) : false; + }; + WeakMap2.prototype.get = function(target) { + var table = GetOrCreateWeakMapTable( + target, + /*create*/ + false + ); + return table !== void 0 ? HashMap.get(table, this._key) : void 0; + }; + WeakMap2.prototype.set = function(target, value) { + var table = GetOrCreateWeakMapTable( + target, + /*create*/ + true + ); + table[this._key] = value; + return this; + }; + WeakMap2.prototype.delete = function(target) { + var table = GetOrCreateWeakMapTable( + target, + /*create*/ + false + ); + return table !== void 0 ? delete table[this._key] : false; + }; + WeakMap2.prototype.clear = function() { + this._key = CreateUniqueKey(); + }; + return WeakMap2; + })() + ); + function CreateUniqueKey() { + var key; + do + key = "@@WeakMap@@" + CreateUUID(); + while (HashMap.has(keys, key)); + keys[key] = true; + return key; + } + __name(CreateUniqueKey, "CreateUniqueKey"); + function GetOrCreateWeakMapTable(target, create) { + if (!hasOwn.call(target, rootKey)) { + if (!create) + return void 0; + Object.defineProperty(target, rootKey, { value: HashMap.create() }); + } + return target[rootKey]; + } + __name(GetOrCreateWeakMapTable, "GetOrCreateWeakMapTable"); + function FillRandomBytes(buffer, size) { + for (var i = 0; i < size; ++i) + buffer[i] = Math.random() * 255 | 0; + return buffer; + } + __name(FillRandomBytes, "FillRandomBytes"); + function GenRandomBytes(size) { + if (typeof Uint8Array === "function") { + var array = new Uint8Array(size); + if (typeof crypto !== "undefined") { + crypto.getRandomValues(array); + } else if (typeof msCrypto !== "undefined") { + msCrypto.getRandomValues(array); + } else { + FillRandomBytes(array, size); + } + return array; + } + return FillRandomBytes(new Array(size), size); + } + __name(GenRandomBytes, "GenRandomBytes"); + function CreateUUID() { + var data = GenRandomBytes(UUID_SIZE); + data[6] = data[6] & 79 | 64; + data[8] = data[8] & 191 | 128; + var result = ""; + for (var offset = 0; offset < UUID_SIZE; ++offset) { + var byte = data[offset]; + if (offset === 4 || offset === 6 || offset === 8) + result += "-"; + if (byte < 16) + result += "0"; + result += byte.toString(16).toLowerCase(); + } + return result; + } + __name(CreateUUID, "CreateUUID"); + } + __name(CreateWeakMapPolyfill, "CreateWeakMapPolyfill"); + function MakeDictionary(obj) { + obj.__ = void 0; + delete obj.__; + return obj; + } + __name(MakeDictionary, "MakeDictionary"); + }); + })(Reflect2 || (Reflect2 = {})); + } +}); + +// ../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} +var init_tslib_es6 = __esm({ + "../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs"() { + __name(__decorate, "__decorate"); + __name(__param, "__param"); + __name(__metadata, "__metadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/shared.utils.js +var isUndefined, isObject, isPlainObject, addLeadingSlash, normalizePath, stripEndSlash, isFunction, isString, isNumber, isConstructor, isNil, isEmpty, isEmptyArray, isSymbol; +var init_shared_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/shared.utils.js"() { + isUndefined = /* @__PURE__ */ __name((obj) => typeof obj === "undefined", "isUndefined"); + isObject = /* @__PURE__ */ __name((fn) => !isNil(fn) && typeof fn === "object", "isObject"); + isPlainObject = /* @__PURE__ */ __name((fn) => { + if (!isObject(fn)) { + return false; + } + const proto = Object.getPrototypeOf(fn); + if (proto === null) { + return true; + } + const ctor = Object.hasOwn(proto, "constructor") && proto.constructor; + return typeof ctor === "function" && ctor instanceof ctor && Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object); + }, "isPlainObject"); + addLeadingSlash = /* @__PURE__ */ __name((path) => path && typeof path === "string" ? path.charAt(0) !== "/" && path.substring(0, 2) !== "{/" ? "/" + path : path : "", "addLeadingSlash"); + normalizePath = /* @__PURE__ */ __name((path) => path ? ("/" + path.replace(/\/+$/, "")).replace(/\/+/g, "/") : "/", "normalizePath"); + stripEndSlash = /* @__PURE__ */ __name((path) => path.endsWith("/") ? path.slice(0, -1) : path, "stripEndSlash"); + isFunction = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction"); + isString = /* @__PURE__ */ __name((val) => typeof val === "string", "isString"); + isNumber = /* @__PURE__ */ __name((val) => typeof val === "number", "isNumber"); + isConstructor = /* @__PURE__ */ __name((val) => val === "constructor", "isConstructor"); + isNil = /* @__PURE__ */ __name((val) => isUndefined(val) || val === null, "isNil"); + isEmpty = /* @__PURE__ */ __name((value) => { + if (isNil(value)) { + return true; + } + if (Array.isArray(value)) { + return value.length === 0; + } + return false; + }, "isEmpty"); + isEmptyArray = /* @__PURE__ */ __name((array) => { + if (!Array.isArray(array)) { + return false; + } + return array.length === 0; + }, "isEmptyArray"); + isSymbol = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/constants.js +var MODULE_METADATA, GLOBAL_MODULE_METADATA, HOST_METADATA, PATH_METADATA, PARAMTYPES_METADATA, SELF_DECLARED_DEPS_METADATA, OPTIONAL_DEPS_METADATA, PROPERTY_DEPS_METADATA, OPTIONAL_PROPERTY_DEPS_METADATA, SCOPE_OPTIONS_METADATA, METHOD_METADATA, ROUTE_ARGS_METADATA, CUSTOM_ROUTE_ARGS_METADATA, FILTER_CATCH_EXCEPTIONS, PIPES_METADATA, GUARDS_METADATA, INTERCEPTORS_METADATA, EXCEPTION_FILTERS_METADATA, ENHANCER_KEY_TO_SUBTYPE_MAP, RENDER_METADATA, HTTP_CODE_METADATA, MODULE_PATH, HEADERS_METADATA, REDIRECT_METADATA, RESPONSE_PASSTHROUGH_METADATA, SSE_METADATA, SSE_OPTIONS_METADATA, VERSION_METADATA, INJECTABLE_WATERMARK, CONTROLLER_WATERMARK, CATCH_WATERMARK, ENTRY_PROVIDER_WATERMARK; +var init_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/constants.js"() { + MODULE_METADATA = { + IMPORTS: "imports", + PROVIDERS: "providers", + CONTROLLERS: "controllers", + EXPORTS: "exports" + }; + GLOBAL_MODULE_METADATA = "__module:global__"; + HOST_METADATA = "host"; + PATH_METADATA = "path"; + PARAMTYPES_METADATA = "design:paramtypes"; + SELF_DECLARED_DEPS_METADATA = "self:paramtypes"; + OPTIONAL_DEPS_METADATA = "optional:paramtypes"; + PROPERTY_DEPS_METADATA = "self:properties_metadata"; + OPTIONAL_PROPERTY_DEPS_METADATA = "optional:properties_metadata"; + SCOPE_OPTIONS_METADATA = "scope:options"; + METHOD_METADATA = "method"; + ROUTE_ARGS_METADATA = "__routeArguments__"; + CUSTOM_ROUTE_ARGS_METADATA = "__customRouteArgs__"; + FILTER_CATCH_EXCEPTIONS = "__filterCatchExceptions__"; + PIPES_METADATA = "__pipes__"; + GUARDS_METADATA = "__guards__"; + INTERCEPTORS_METADATA = "__interceptors__"; + EXCEPTION_FILTERS_METADATA = "__exceptionFilters__"; + ENHANCER_KEY_TO_SUBTYPE_MAP = { + [GUARDS_METADATA]: "guard", + [INTERCEPTORS_METADATA]: "interceptor", + [PIPES_METADATA]: "pipe", + [EXCEPTION_FILTERS_METADATA]: "filter" + }; + RENDER_METADATA = "__renderTemplate__"; + HTTP_CODE_METADATA = "__httpCode__"; + MODULE_PATH = "__module_path__"; + HEADERS_METADATA = "__headers__"; + REDIRECT_METADATA = "__redirect__"; + RESPONSE_PASSTHROUGH_METADATA = "__responsePassthrough__"; + SSE_METADATA = "__sse__"; + SSE_OPTIONS_METADATA = "__sseOptions__"; + VERSION_METADATA = "__version__"; + INJECTABLE_WATERMARK = "__injectable__"; + CONTROLLER_WATERMARK = "__controller__"; + CATCH_WATERMARK = "__catch__"; + ENTRY_PROVIDER_WATERMARK = "__entryProvider__"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/controller.decorator.js +function Controller(prefixOrOptions) { + const defaultPath = "/"; + const [path, host, scopeOptions, versionOptions] = isUndefined(prefixOrOptions) ? [defaultPath, void 0, void 0, void 0] : isString(prefixOrOptions) || Array.isArray(prefixOrOptions) ? [prefixOrOptions, void 0, void 0, void 0] : [ + prefixOrOptions.path || defaultPath, + prefixOrOptions.host, + { scope: prefixOrOptions.scope, durable: prefixOrOptions.durable }, + Array.isArray(prefixOrOptions.version) ? Array.from(new Set(prefixOrOptions.version)) : prefixOrOptions.version + ]; + return (target) => { + Reflect.defineMetadata(CONTROLLER_WATERMARK, true, target); + Reflect.defineMetadata(PATH_METADATA, path, target); + Reflect.defineMetadata(HOST_METADATA, host, target); + Reflect.defineMetadata(SCOPE_OPTIONS_METADATA, scopeOptions, target); + Reflect.defineMetadata(VERSION_METADATA, versionOptions, target); + }; +} +var init_controller_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/controller.decorator.js"() { + init_constants(); + init_shared_utils(); + __name(Controller, "Controller"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/inject.decorator.js +function Inject(token) { + const injectCallHasArguments = arguments.length > 0; + return (target, key, index) => { + let type = token || Reflect.getMetadata("design:type", target, key); + if (!type && !injectCallHasArguments) { + type = Reflect.getMetadata(PARAMTYPES_METADATA, target, key)?.[index]; + } + if (!isUndefined(index)) { + let dependencies = Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, target) || []; + dependencies = [...dependencies, { index, param: type }]; + Reflect.defineMetadata(SELF_DECLARED_DEPS_METADATA, dependencies, target); + return; + } + let properties = Reflect.getMetadata(PROPERTY_DEPS_METADATA, target.constructor) || []; + properties = [ + ...properties.filter((property) => property.key !== key), + { key, type } + ]; + Reflect.defineMetadata(PROPERTY_DEPS_METADATA, properties, target.constructor); + }; +} +var init_inject_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/inject.decorator.js"() { + init_constants(); + init_shared_utils(); + __name(Inject, "Inject"); + } +}); + +// ../../node_modules/.pnpm/uid@2.0.2/node_modules/uid/dist/index.mjs +function uid(len) { + var i = 0, tmp = len || 11; + if (!BUFFER || IDX + tmp > SIZE * 2) { + for (BUFFER = "", IDX = 0; i < SIZE; i++) { + BUFFER += HEX[Math.random() * 256 | 0]; + } + } + return BUFFER.substring(IDX, IDX++ + tmp); +} +var IDX, HEX, SIZE, BUFFER; +var init_dist = __esm({ + "../../node_modules/.pnpm/uid@2.0.2/node_modules/uid/dist/index.mjs"() { + IDX = 256; + HEX = []; + SIZE = 256; + while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1); + __name(uid, "uid"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/injectable.decorator.js +function Injectable(options) { + return (target) => { + Reflect.defineMetadata(INJECTABLE_WATERMARK, true, target); + Reflect.defineMetadata(SCOPE_OPTIONS_METADATA, options, target); + }; +} +function mixin(mixinClass) { + Object.defineProperty(mixinClass, "name", { + value: uid(21) + }); + Injectable()(mixinClass); + return mixinClass; +} +var init_injectable_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/injectable.decorator.js"() { + init_dist(); + init_constants(); + __name(Injectable, "Injectable"); + __name(mixin, "mixin"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/optional.decorator.js +function Optional() { + return (target, key, index) => { + if (!isUndefined(index)) { + const args = Reflect.getOwnMetadata(OPTIONAL_DEPS_METADATA, target) || []; + Reflect.defineMetadata(OPTIONAL_DEPS_METADATA, [...args, index], target); + return; + } + const properties = Reflect.getMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, target.constructor) || []; + Reflect.defineMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, [...properties, key], target.constructor); + }; +} +var init_optional_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/optional.decorator.js"() { + init_constants(); + init_shared_utils(); + __name(Optional, "Optional"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/global.decorator.js +function Global() { + return (target) => { + Reflect.defineMetadata(GLOBAL_MODULE_METADATA, true, target); + }; +} +var init_global_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/global.decorator.js"() { + init_constants(); + __name(Global, "Global"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-module-keys.util.js +function validateModuleKeys(keys) { + const validateKey = /* @__PURE__ */ __name((key) => { + if (metadataKeys.includes(key)) { + return; + } + throw new Error(INVALID_MODULE_CONFIG_MESSAGE`${key}`); + }, "validateKey"); + keys.forEach(validateKey); +} +var INVALID_MODULE_CONFIG_MESSAGE, metadataKeys; +var init_validate_module_keys_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-module-keys.util.js"() { + init_constants(); + INVALID_MODULE_CONFIG_MESSAGE = /* @__PURE__ */ __name((text, property) => `Invalid property '${property}' passed into the @Module() decorator.`, "INVALID_MODULE_CONFIG_MESSAGE"); + metadataKeys = [ + MODULE_METADATA.IMPORTS, + MODULE_METADATA.EXPORTS, + MODULE_METADATA.CONTROLLERS, + MODULE_METADATA.PROVIDERS + ]; + __name(validateModuleKeys, "validateModuleKeys"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/module.decorator.js +function Module(metadata) { + const propsKeys = Object.keys(metadata); + validateModuleKeys(propsKeys); + return (target) => { + for (const property in metadata) { + if (Object.hasOwn(metadata, property)) { + Reflect.defineMetadata(property, metadata[property], target); + } + } + }; +} +var init_module_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/module.decorator.js"() { + init_validate_module_keys_util(); + __name(Module, "Module"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/request-method.enum.js +var RequestMethod; +var init_request_method_enum = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/request-method.enum.js"() { + (function(RequestMethod2) { + RequestMethod2[RequestMethod2["GET"] = 0] = "GET"; + RequestMethod2[RequestMethod2["POST"] = 1] = "POST"; + RequestMethod2[RequestMethod2["PUT"] = 2] = "PUT"; + RequestMethod2[RequestMethod2["DELETE"] = 3] = "DELETE"; + RequestMethod2[RequestMethod2["PATCH"] = 4] = "PATCH"; + RequestMethod2[RequestMethod2["ALL"] = 5] = "ALL"; + RequestMethod2[RequestMethod2["OPTIONS"] = 6] = "OPTIONS"; + RequestMethod2[RequestMethod2["HEAD"] = 7] = "HEAD"; + RequestMethod2[RequestMethod2["SEARCH"] = 8] = "SEARCH"; + RequestMethod2[RequestMethod2["PROPFIND"] = 9] = "PROPFIND"; + RequestMethod2[RequestMethod2["PROPPATCH"] = 10] = "PROPPATCH"; + RequestMethod2[RequestMethod2["MKCOL"] = 11] = "MKCOL"; + RequestMethod2[RequestMethod2["COPY"] = 12] = "COPY"; + RequestMethod2[RequestMethod2["MOVE"] = 13] = "MOVE"; + RequestMethod2[RequestMethod2["LOCK"] = 14] = "LOCK"; + RequestMethod2[RequestMethod2["UNLOCK"] = 15] = "UNLOCK"; + RequestMethod2[RequestMethod2["QUERY"] = 16] = "QUERY"; + })(RequestMethod || (RequestMethod = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/request-mapping.decorator.js +var defaultMetadata, RequestMapping, createMappingDecorator, Post, Get, Delete, Put, Patch, Options, Head, All, Search, QueryMethod, Propfind, Proppatch, Mkcol, Copy, Move, Lock, Unlock; +var init_request_mapping_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/request-mapping.decorator.js"() { + init_constants(); + init_request_method_enum(); + defaultMetadata = { + [PATH_METADATA]: "/", + [METHOD_METADATA]: RequestMethod.GET + }; + RequestMapping = /* @__PURE__ */ __name((metadata = defaultMetadata) => { + const pathMetadata = metadata[PATH_METADATA]; + const path = pathMetadata && pathMetadata.length ? pathMetadata : "/"; + const requestMethod = metadata[METHOD_METADATA] || RequestMethod.GET; + return (target, key, descriptor) => { + Reflect.defineMetadata(PATH_METADATA, path, descriptor.value); + Reflect.defineMetadata(METHOD_METADATA, requestMethod, descriptor.value); + return descriptor; + }; + }, "RequestMapping"); + createMappingDecorator = /* @__PURE__ */ __name((method) => (path) => { + return RequestMapping({ + [PATH_METADATA]: path, + [METHOD_METADATA]: method + }); + }, "createMappingDecorator"); + Post = createMappingDecorator(RequestMethod.POST); + Get = createMappingDecorator(RequestMethod.GET); + Delete = createMappingDecorator(RequestMethod.DELETE); + Put = createMappingDecorator(RequestMethod.PUT); + Patch = createMappingDecorator(RequestMethod.PATCH); + Options = createMappingDecorator(RequestMethod.OPTIONS); + Head = createMappingDecorator(RequestMethod.HEAD); + All = createMappingDecorator(RequestMethod.ALL); + Search = createMappingDecorator(RequestMethod.SEARCH); + QueryMethod = createMappingDecorator(RequestMethod.QUERY); + Propfind = createMappingDecorator(RequestMethod.PROPFIND); + Proppatch = createMappingDecorator(RequestMethod.PROPPATCH); + Mkcol = createMappingDecorator(RequestMethod.MKCOL); + Copy = createMappingDecorator(RequestMethod.COPY); + Move = createMappingDecorator(RequestMethod.MOVE); + Lock = createMappingDecorator(RequestMethod.LOCK); + Unlock = createMappingDecorator(RequestMethod.UNLOCK); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/http-status.enum.js +var HttpStatus; +var init_http_status_enum = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/http-status.enum.js"() { + (function(HttpStatus2) { + HttpStatus2[HttpStatus2["CONTINUE"] = 100] = "CONTINUE"; + HttpStatus2[HttpStatus2["SWITCHING_PROTOCOLS"] = 101] = "SWITCHING_PROTOCOLS"; + HttpStatus2[HttpStatus2["PROCESSING"] = 102] = "PROCESSING"; + HttpStatus2[HttpStatus2["EARLYHINTS"] = 103] = "EARLYHINTS"; + HttpStatus2[HttpStatus2["OK"] = 200] = "OK"; + HttpStatus2[HttpStatus2["CREATED"] = 201] = "CREATED"; + HttpStatus2[HttpStatus2["ACCEPTED"] = 202] = "ACCEPTED"; + HttpStatus2[HttpStatus2["NON_AUTHORITATIVE_INFORMATION"] = 203] = "NON_AUTHORITATIVE_INFORMATION"; + HttpStatus2[HttpStatus2["NO_CONTENT"] = 204] = "NO_CONTENT"; + HttpStatus2[HttpStatus2["RESET_CONTENT"] = 205] = "RESET_CONTENT"; + HttpStatus2[HttpStatus2["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT"; + HttpStatus2[HttpStatus2["MULTI_STATUS"] = 207] = "MULTI_STATUS"; + HttpStatus2[HttpStatus2["ALREADY_REPORTED"] = 208] = "ALREADY_REPORTED"; + HttpStatus2[HttpStatus2["CONTENT_DIFFERENT"] = 210] = "CONTENT_DIFFERENT"; + HttpStatus2[HttpStatus2["AMBIGUOUS"] = 300] = "AMBIGUOUS"; + HttpStatus2[HttpStatus2["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY"; + HttpStatus2[HttpStatus2["FOUND"] = 302] = "FOUND"; + HttpStatus2[HttpStatus2["SEE_OTHER"] = 303] = "SEE_OTHER"; + HttpStatus2[HttpStatus2["NOT_MODIFIED"] = 304] = "NOT_MODIFIED"; + HttpStatus2[HttpStatus2["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT"; + HttpStatus2[HttpStatus2["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT"; + HttpStatus2[HttpStatus2["BAD_REQUEST"] = 400] = "BAD_REQUEST"; + HttpStatus2[HttpStatus2["UNAUTHORIZED"] = 401] = "UNAUTHORIZED"; + HttpStatus2[HttpStatus2["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED"; + HttpStatus2[HttpStatus2["FORBIDDEN"] = 403] = "FORBIDDEN"; + HttpStatus2[HttpStatus2["NOT_FOUND"] = 404] = "NOT_FOUND"; + HttpStatus2[HttpStatus2["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED"; + HttpStatus2[HttpStatus2["NOT_ACCEPTABLE"] = 406] = "NOT_ACCEPTABLE"; + HttpStatus2[HttpStatus2["PROXY_AUTHENTICATION_REQUIRED"] = 407] = "PROXY_AUTHENTICATION_REQUIRED"; + HttpStatus2[HttpStatus2["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT"; + HttpStatus2[HttpStatus2["CONFLICT"] = 409] = "CONFLICT"; + HttpStatus2[HttpStatus2["GONE"] = 410] = "GONE"; + HttpStatus2[HttpStatus2["LENGTH_REQUIRED"] = 411] = "LENGTH_REQUIRED"; + HttpStatus2[HttpStatus2["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED"; + HttpStatus2[HttpStatus2["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE"; + HttpStatus2[HttpStatus2["URI_TOO_LONG"] = 414] = "URI_TOO_LONG"; + HttpStatus2[HttpStatus2["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE"; + HttpStatus2[HttpStatus2["REQUESTED_RANGE_NOT_SATISFIABLE"] = 416] = "REQUESTED_RANGE_NOT_SATISFIABLE"; + HttpStatus2[HttpStatus2["EXPECTATION_FAILED"] = 417] = "EXPECTATION_FAILED"; + HttpStatus2[HttpStatus2["I_AM_A_TEAPOT"] = 418] = "I_AM_A_TEAPOT"; + HttpStatus2[HttpStatus2["MISDIRECTED"] = 421] = "MISDIRECTED"; + HttpStatus2[HttpStatus2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY"; + HttpStatus2[HttpStatus2["LOCKED"] = 423] = "LOCKED"; + HttpStatus2[HttpStatus2["FAILED_DEPENDENCY"] = 424] = "FAILED_DEPENDENCY"; + HttpStatus2[HttpStatus2["PRECONDITION_REQUIRED"] = 428] = "PRECONDITION_REQUIRED"; + HttpStatus2[HttpStatus2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS"; + HttpStatus2[HttpStatus2["UNRECOVERABLE_ERROR"] = 456] = "UNRECOVERABLE_ERROR"; + HttpStatus2[HttpStatus2["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR"; + HttpStatus2[HttpStatus2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED"; + HttpStatus2[HttpStatus2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY"; + HttpStatus2[HttpStatus2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE"; + HttpStatus2[HttpStatus2["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT"; + HttpStatus2[HttpStatus2["HTTP_VERSION_NOT_SUPPORTED"] = 505] = "HTTP_VERSION_NOT_SUPPORTED"; + HttpStatus2[HttpStatus2["INSUFFICIENT_STORAGE"] = 507] = "INSUFFICIENT_STORAGE"; + HttpStatus2[HttpStatus2["LOOP_DETECTED"] = 508] = "LOOP_DETECTED"; + })(HttpStatus || (HttpStatus = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/version-type.enum.js +var VersioningType; +var init_version_type_enum = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/version-type.enum.js"() { + (function(VersioningType2) { + VersioningType2[VersioningType2["URI"] = 0] = "URI"; + VersioningType2[VersioningType2["HEADER"] = 1] = "HEADER"; + VersioningType2[VersioningType2["MEDIA_TYPE"] = 2] = "MEDIA_TYPE"; + VersioningType2[VersioningType2["CUSTOM"] = 3] = "CUSTOM"; + })(VersioningType || (VersioningType = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/intrinsic.exception.js +var IntrinsicException; +var init_intrinsic_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/intrinsic.exception.js"() { + IntrinsicException = class extends Error { + static { + __name(this, "IntrinsicException"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http.exception.js +var HttpException; +var init_http_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http.exception.js"() { + init_shared_utils(); + init_intrinsic_exception(); + HttpException = class extends IntrinsicException { + static { + __name(this, "HttpException"); + } + response; + status; + options; + /** + * Exception cause. Indicates the specific original cause of the error. + * It is used when catching and re-throwing an error with a more-specific or useful error message in order to still have access to the original error. + */ + cause; + errorCode; + /** + * Instantiate a plain HTTP Exception. + * + * @example + * throw new HttpException('message', HttpStatus.BAD_REQUEST) + * throw new HttpException('custom message', HttpStatus.BAD_REQUEST, { + * cause: new Error('Cause Error'), + * }) + * + * + * @usageNotes + * The constructor arguments define the response and the HTTP response status code. + * - The `response` argument (required) defines the JSON response body. alternatively, it can also be + * an error object that is used to define an error [cause](https://nodejs.org/en/blog/release/v16.9.0/#error-cause). + * - The `status` argument (required) defines the HTTP Status Code. + * - The `options` argument (optional) defines additional error options. Currently, it supports the `cause` attribute, + * and can be used as an alternative way to specify the error cause: `const error = new HttpException('description', 400, { cause: new Error() });` + * + * By default, the JSON response body contains two properties: + * - `statusCode`: the Http Status Code. + * - `message`: a short description of the HTTP error by default; override this + * by supplying a string in the `response` parameter. + * + * To override the entire JSON response body, pass an object to the `createBody` + * method. Nest will serialize the object and return it as the JSON response body. + * + * The `status` argument is required, and should be a valid HTTP status code. + * Best practice is to use the `HttpStatus` enum imported from `nestjs/common`. + * + * @param response string, object describing the error condition or the error cause. + * @param status HTTP response status code. + * @param options An object used to add an error cause. + */ + constructor(response, status, options) { + super(); + this.response = response; + this.status = status; + this.options = options; + this.initMessage(); + this.initName(); + this.initCause(); + this.initErrorCode(); + } + /** + * Configures error chaining support + * + * @see https://nodejs.org/en/blog/release/v16.9.0/#error-cause + * @see https://github.com/microsoft/TypeScript/issues/45167 + */ + initCause() { + if (this.options?.cause) { + this.cause = this.options.cause; + return; + } + } + initErrorCode() { + if (this.options?.errorCode) { + this.errorCode = this.options.errorCode; + } + } + initMessage() { + if (isString(this.response)) { + this.message = this.response; + } else if (isObject(this.response) && isString(this.response.message)) { + this.message = this.response.message; + } else if (this.constructor) { + this.message = this.constructor.name.match(/[A-Z][a-z]+|[0-9]+/g)?.join(" ") ?? "Error"; + } + } + initName() { + this.name = this.constructor.name; + } + getResponse() { + return this.response; + } + getStatus() { + return this.status; + } + static createBody(arg0, arg1, statusCode, errorCode) { + if (!arg0) { + const body = { + message: arg1, + statusCode + }; + if (errorCode) { + body.errorCode = errorCode; + } + return body; + } + if (isString(arg0) || Array.isArray(arg0) || isNumber(arg0)) { + const body = { + message: arg0, + error: arg1, + statusCode + }; + if (errorCode) { + body.errorCode = errorCode; + } + return body; + } + return arg0; + } + static getDescriptionFrom(descriptionOrOptions) { + return isString(descriptionOrOptions) ? descriptionOrOptions : descriptionOrOptions?.description; + } + static getHttpExceptionOptionsFrom(descriptionOrOptions) { + return isString(descriptionOrOptions) ? {} : descriptionOrOptions; + } + /** + * Utility method used to extract the error description and httpExceptionOptions from the given argument. + * This is used by inheriting classes to correctly parse both options. + * @returns the error description and the httpExceptionOptions as an object. + */ + static extractDescriptionAndOptionsFrom(descriptionOrOptions) { + const description = isString(descriptionOrOptions) ? descriptionOrOptions : descriptionOrOptions?.description; + const httpExceptionOptions = isString(descriptionOrOptions) ? {} : descriptionOrOptions; + return { + description, + httpExceptionOptions + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-request.exception.js +var BadRequestException; +var init_bad_request_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-request.exception.js"() { + init_http_status_enum(); + init_http_exception(); + BadRequestException = class extends HttpException { + static { + __name(this, "BadRequestException"); + } + /** + * Instantiate a `BadRequestException` Exception. + * + * @example + * `throw new BadRequestException()` + * + * @usageNotes + * The HTTP response status code will be 400. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 400. + * - `message`: the string `'Bad Request'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Bad Request") { + const { description = "Bad Request", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.BAD_REQUEST, httpExceptionOptions?.errorCode), HttpStatus.BAD_REQUEST, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/internal-server-error.exception.js +var InternalServerErrorException; +var init_internal_server_error_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/internal-server-error.exception.js"() { + init_http_status_enum(); + init_http_exception(); + InternalServerErrorException = class extends HttpException { + static { + __name(this, "InternalServerErrorException"); + } + /** + * Instantiate an `InternalServerErrorException` Exception. + * + * @example + * `throw new InternalServerErrorException()` + * + * @usageNotes + * The HTTP response status code will be 500. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 500. + * - `message`: the string `'Internal Server Error'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Internal Server Error") { + const { description = "Internal Server Error", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.INTERNAL_SERVER_ERROR, httpExceptionOptions?.errorCode), HttpStatus.INTERNAL_SERVER_ERROR, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unauthorized.exception.js +var UnauthorizedException; +var init_unauthorized_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unauthorized.exception.js"() { + init_http_status_enum(); + init_http_exception(); + UnauthorizedException = class extends HttpException { + static { + __name(this, "UnauthorizedException"); + } + /** + * Instantiate an `UnauthorizedException` Exception. + * + * @example + * `throw new UnauthorizedException()` + * + * @usageNotes + * The HTTP response status code will be 401. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 401. + * - `message`: the string `'Unauthorized'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Unauthorized") { + const { description = "Unauthorized", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.UNAUTHORIZED, httpExceptionOptions?.errorCode), HttpStatus.UNAUTHORIZED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/bind.decorator.js +function Bind(...decorators) { + return (target, key, descriptor) => { + decorators.forEach((fn, index) => fn(target, key, index)); + return descriptor; + }; +} +var init_bind_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/bind.decorator.js"() { + __name(Bind, "Bind"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/catch.decorator.js +function Catch(...exceptions) { + return (target) => { + Reflect.defineMetadata(CATCH_WATERMARK, true, target); + Reflect.defineMetadata(FILTER_CATCH_EXCEPTIONS, exceptions, target); + }; +} +var init_catch_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/catch.decorator.js"() { + init_constants(); + __name(Catch, "Catch"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/dependencies.decorator.js +function flatten(arr) { + const flat = [].concat(...arr); + return flat.some(Array.isArray) ? flatten(flat) : flat; +} +var Dependencies; +var init_dependencies_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/dependencies.decorator.js"() { + init_constants(); + __name(flatten, "flatten"); + Dependencies = /* @__PURE__ */ __name((...dependencies) => { + const flattenDeps = flatten(dependencies); + return (target) => { + Reflect.defineMetadata(PARAMTYPES_METADATA, flattenDeps, target); + }; + }, "Dependencies"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/extend-metadata.util.js +function extendArrayMetadata(key, metadata, target) { + const previousValue = Reflect.getMetadata(key, target) || []; + const value = [...previousValue, ...metadata]; + Reflect.defineMetadata(key, value, target); +} +var init_extend_metadata_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/extend-metadata.util.js"() { + __name(extendArrayMetadata, "extendArrayMetadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-each.util.js +function validateEach(context, arr, predicate, decorator, item) { + if (!context || !context.name) { + return true; + } + const errors = arr.some((str) => !predicate(str)); + if (errors) { + throw new InvalidDecoratorItemException(decorator, item, context.name); + } + return true; +} +var InvalidDecoratorItemException; +var init_validate_each_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/validate-each.util.js"() { + InvalidDecoratorItemException = class extends Error { + static { + __name(this, "InvalidDecoratorItemException"); + } + msg; + constructor(decorator, item, context) { + const message = `Invalid ${item} passed to ${decorator}() decorator (${context}).`; + super(message); + this.msg = message; + } + what() { + return this.msg; + } + }; + __name(validateEach, "validateEach"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/exception-filters.decorator.js +function addExceptionFiltersMetadata(...filters) { + return (target, key, descriptor) => { + const isFilterValid = /* @__PURE__ */ __name((filter) => filter && (isFunction(filter) || isFunction(filter.catch)), "isFilterValid"); + if (descriptor) { + validateEach(target.constructor, filters, isFilterValid, "@UseFilters", "filter"); + extendArrayMetadata(EXCEPTION_FILTERS_METADATA, filters, descriptor.value); + return descriptor; + } + validateEach(target, filters, isFilterValid, "@UseFilters", "filter"); + extendArrayMetadata(EXCEPTION_FILTERS_METADATA, filters, target); + return target; + }; +} +var UseFilters; +var init_exception_filters_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/exception-filters.decorator.js"() { + init_constants(); + init_extend_metadata_util(); + init_shared_utils(); + init_validate_each_util(); + UseFilters = /* @__PURE__ */ __name((...filters) => addExceptionFiltersMetadata(...filters), "UseFilters"); + __name(addExceptionFiltersMetadata, "addExceptionFiltersMetadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/set-metadata.decorator.js +var SetMetadata; +var init_set_metadata_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/set-metadata.decorator.js"() { + SetMetadata = /* @__PURE__ */ __name((metadataKey, metadataValue) => { + const decoratorFactory = /* @__PURE__ */ __name((target, key, descriptor) => { + if (descriptor) { + Reflect.defineMetadata(metadataKey, metadataValue, descriptor.value); + return descriptor; + } + Reflect.defineMetadata(metadataKey, metadataValue, target); + return target; + }, "decoratorFactory"); + decoratorFactory.KEY = metadataKey; + return decoratorFactory; + }, "SetMetadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-guards.decorator.js +function UseGuards(...guards) { + return (target, key, descriptor) => { + const isGuardValid = /* @__PURE__ */ __name((guard) => guard && (isFunction(guard) || isFunction(guard.canActivate)), "isGuardValid"); + if (descriptor) { + validateEach(target.constructor, guards, isGuardValid, "@UseGuards", "guard"); + extendArrayMetadata(GUARDS_METADATA, guards, descriptor.value); + return descriptor; + } + validateEach(target, guards, isGuardValid, "@UseGuards", "guard"); + extendArrayMetadata(GUARDS_METADATA, guards, target); + return target; + }; +} +var init_use_guards_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-guards.decorator.js"() { + init_constants(); + init_extend_metadata_util(); + init_shared_utils(); + init_validate_each_util(); + __name(UseGuards, "UseGuards"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.js +function UseInterceptors(...interceptors) { + return (target, key, descriptor) => { + const isInterceptorValid = /* @__PURE__ */ __name((interceptor) => interceptor && (isFunction(interceptor) || isFunction(interceptor.intercept)), "isInterceptorValid"); + if (descriptor) { + validateEach(target.constructor, interceptors, isInterceptorValid, "@UseInterceptors", "interceptor"); + extendArrayMetadata(INTERCEPTORS_METADATA, interceptors, descriptor.value); + return descriptor; + } + validateEach(target, interceptors, isInterceptorValid, "@UseInterceptors", "interceptor"); + extendArrayMetadata(INTERCEPTORS_METADATA, interceptors, target); + return target; + }; +} +var init_use_interceptors_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.js"() { + init_constants(); + init_extend_metadata_util(); + init_shared_utils(); + init_validate_each_util(); + __name(UseInterceptors, "UseInterceptors"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-pipes.decorator.js +function UsePipes(...pipes) { + return (target, key, descriptor) => { + const isPipeValid = /* @__PURE__ */ __name((pipe) => pipe && (isFunction(pipe) || isFunction(pipe.transform)), "isPipeValid"); + if (descriptor) { + validateEach(target.constructor, pipes, isPipeValid, "@UsePipes", "pipe"); + extendArrayMetadata(PIPES_METADATA, pipes, descriptor.value); + return descriptor; + } + validateEach(target, pipes, isPipeValid, "@UsePipes", "pipe"); + extendArrayMetadata(PIPES_METADATA, pipes, target); + return target; + }; +} +var init_use_pipes_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/use-pipes.decorator.js"() { + init_constants(); + init_extend_metadata_util(); + init_shared_utils(); + init_validate_each_util(); + __name(UsePipes, "UsePipes"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/apply-decorators.js +function applyDecorators(...decorators) { + return (target, propertyKey, descriptor) => { + for (const decorator of decorators) { + if (target instanceof Function && !descriptor) { + decorator(target); + continue; + } + decorator(target, propertyKey, descriptor); + } + }; +} +var init_apply_decorators = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/apply-decorators.js"() { + __name(applyDecorators, "applyDecorators"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/version.decorator.js +function Version(version) { + if (Array.isArray(version)) { + version = Array.from(new Set(version)); + } + return (target, key, descriptor) => { + Reflect.defineMetadata(VERSION_METADATA, version, descriptor.value); + return descriptor; + }; +} +var init_version_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/version.decorator.js"() { + init_constants(); + __name(Version, "Version"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/index.js +var init_core = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/core/index.js"() { + init_bind_decorator(); + init_catch_decorator(); + init_controller_decorator(); + init_dependencies_decorator(); + init_exception_filters_decorator(); + init_inject_decorator(); + init_injectable_decorator(); + init_optional_decorator(); + init_set_metadata_decorator(); + init_use_guards_decorator(); + init_use_interceptors_decorator(); + init_use_pipes_decorator(); + init_apply_decorators(); + init_version_decorator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/cli-colors.util.js +var isColorAllowed, colorIfAllowed, clc, yellow; +var init_cli_colors_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/cli-colors.util.js"() { + isColorAllowed = /* @__PURE__ */ __name(() => !process.env.NO_COLOR, "isColorAllowed"); + colorIfAllowed = /* @__PURE__ */ __name((colorFn) => (text) => isColorAllowed() ? colorFn(text) : text, "colorIfAllowed"); + clc = { + bold: colorIfAllowed((text) => `\x1B[1m${text}\x1B[0m`), + green: colorIfAllowed((text) => `\x1B[32m${text}\x1B[39m`), + yellow: colorIfAllowed((text) => `\x1B[33m${text}\x1B[39m`), + red: colorIfAllowed((text) => `\x1B[31m${text}\x1B[39m`), + magentaBright: colorIfAllowed((text) => `\x1B[95m${text}\x1B[39m`), + cyanBright: colorIfAllowed((text) => `\x1B[96m${text}\x1B[39m`) + }; + yellow = colorIfAllowed((text) => `\x1B[38;5;3m${text}\x1B[39m`); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/log-levels.constant.js +var LOG_LEVELS; +var init_log_levels_constant = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/log-levels.constant.js"() { + LOG_LEVELS = [ + "verbose", + "debug", + "log", + "warn", + "error", + "fatal" + ]; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level.util.js +function isLogLevel(maybeLogLevel) { + return LOG_LEVELS.includes(maybeLogLevel); +} +var init_is_log_level_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level.util.js"() { + init_log_levels_constant(); + __name(isLogLevel, "isLogLevel"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/filter-log-levels.util.js +function filterLogLevels(parseableString = "") { + const sanitizedString = parseableString.replaceAll(" ", "").toLowerCase(); + if (sanitizedString[0] === ">") { + const orEqual = sanitizedString[1] === "="; + const logLevelIndex = LOG_LEVELS.indexOf(sanitizedString.substring(orEqual ? 2 : 1)); + if (logLevelIndex === -1) { + throw new Error(`parse error (unknown log level): ${sanitizedString}`); + } + return LOG_LEVELS.slice(orEqual ? logLevelIndex : logLevelIndex + 1); + } else if (sanitizedString.includes(",")) { + return sanitizedString.split(",").filter(isLogLevel); + } + return isLogLevel(sanitizedString) ? [sanitizedString] : LOG_LEVELS; +} +var init_filter_log_levels_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/filter-log-levels.util.js"() { + init_log_levels_constant(); + init_is_log_level_util(); + __name(filterLogLevels, "filterLogLevels"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/get-env-log-levels.util.js +function getEnvLogLevels() { + const value = process.env[LOG_LEVEL_ENV_VAR]?.replaceAll(" ", ""); + if (!value) { + return void 0; + } + const threshold = /^>=?(.*)$/.exec(value.toLowerCase()); + const isValid = threshold ? isLogLevel(threshold[1]) : value.toLowerCase().split(",").every(isLogLevel); + return isValid ? filterLogLevels(value) : false; +} +var LOG_LEVEL_ENV_VAR; +var init_get_env_log_levels_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/get-env-log-levels.util.js"() { + init_filter_log_levels_util(); + init_is_log_level_util(); + LOG_LEVEL_ENV_VAR = "NEST_LOG_LEVEL"; + __name(getEnvLogLevels, "getEnvLogLevels"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level-enabled.util.js +function isLogLevelEnabled(targetLevel, logLevels) { + if (!logLevels || Array.isArray(logLevels) && logLevels?.length === 0) { + return false; + } + if (logLevels.includes(targetLevel)) { + return true; + } + let highestLogLevelValue = -Infinity; + for (const level of logLevels) { + const v = LOG_LEVEL_VALUES[level]; + if (v > highestLogLevelValue) + highestLogLevelValue = v; + } + const targetLevelValue = LOG_LEVEL_VALUES[targetLevel]; + return targetLevelValue >= highestLogLevelValue; +} +var LOG_LEVEL_VALUES; +var init_is_log_level_enabled_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/is-log-level-enabled.util.js"() { + LOG_LEVEL_VALUES = { + verbose: 0, + debug: 1, + log: 2, + warn: 3, + error: 4, + fatal: 5 + }; + __name(isLogLevelEnabled, "isLogLevelEnabled"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/redact.util.js +function createRedactor(paths, censor = DEFAULT_REDACT_CENSOR) { + const keys = /* @__PURE__ */ new Set(); + const dottedPaths = []; + for (const path of paths) { + const segments = path.split(".").map((segment) => segment.trim().toLowerCase()).filter((segment) => segment.length > 0); + if (segments.length === 1) { + keys.add(segments[0]); + } else if (segments.length > 1) { + dottedPaths.push(segments); + } + } + if (keys.size === 0 && dottedPaths.length === 0) { + return void 0; + } + const contextLength = Math.max(0, ...dottedPaths.map((segments) => segments.length - 1)); + return (value) => { + const path = []; + const ancestors = []; + const visited = /* @__PURE__ */ new Map(); + const isRedacted = /* @__PURE__ */ __name((key) => { + if (keys.has(key)) { + return true; + } + return dottedPaths.some((segments) => { + const last = segments.length - 1; + if (segments[last] !== key || last > path.length) { + return false; + } + for (let i = 1; i <= last; i++) { + if (segments[last - i] !== path[path.length - i]) { + return false; + } + } + return true; + }); + }, "isRedacted"); + const visitProperty = /* @__PURE__ */ __name((key, propertyValue) => { + const normalizedKey = key.toLowerCase(); + if (isRedacted(normalizedKey)) { + return censor; + } + if (typeof propertyValue !== "object" || propertyValue === null) { + return propertyValue; + } + path.push(normalizedKey); + const redacted = visit(propertyValue); + path.pop(); + return redacted; + }, "visitProperty"); + const visit = /* @__PURE__ */ __name((current) => { + if (typeof current !== "object" || current === null) { + return current; + } + if (ancestors.includes(current)) { + return CIRCULAR; + } + const context = contextLength > 0 ? JSON.stringify(path.slice(-contextLength)) : ""; + let results = visited.get(context); + if (!results) { + results = /* @__PURE__ */ new Map(); + visited.set(context, results); + } + if (results.has(current)) { + return results.get(current); + } + let redacted; + ancestors.push(current); + if (Array.isArray(current)) { + redacted = redactArray(current); + } else if (Object.getPrototypeOf(current) === Object.prototype) { + redacted = redactObject(current); + } else if (current instanceof Map) { + redacted = redactMap(current); + } else if (current instanceof Set) { + redacted = redactSet(current); + } else if (isOpaque(current)) { + redacted = current; + } else { + redacted = redactObject(current); + } + ancestors.pop(); + results.set(current, redacted); + return redacted; + }, "visit"); + const redactArray = /* @__PURE__ */ __name((array) => { + let copy; + for (let i = 0; i < array.length; i++) { + const redacted = visit(array[i]); + if (!Object.is(redacted, array[i])) { + copy ??= array.slice(); + copy[i] = redacted; + } + } + return copy ?? array; + }, "redactArray"); + const redactMap = /* @__PURE__ */ __name((map2) => { + let changed = false; + const entries = []; + for (const [key, entryValue] of map2) { + const redacted = typeof key === "string" ? visitProperty(key, entryValue) : visit(entryValue); + changed ||= !Object.is(redacted, entryValue); + entries.push([key, redacted]); + } + return changed ? new Map(entries) : map2; + }, "redactMap"); + const redactSet = /* @__PURE__ */ __name((set) => { + let changed = false; + const values = []; + for (const setValue of set) { + const redacted = visit(setValue); + changed ||= !Object.is(redacted, setValue); + values.push(redacted); + } + return changed ? new Set(values) : set; + }, "redactSet"); + const redactObject = /* @__PURE__ */ __name((object) => { + const source = object; + const keysToVisit = Object.keys(source); + if (object instanceof Error) { + for (const key of ["cause", "errors"]) { + if (Object.prototype.hasOwnProperty.call(object, key) && !keysToVisit.includes(key)) { + keysToVisit.push(key); + } + } + } + let changes; + for (const key of keysToVisit) { + const original = source[key]; + const redacted = visitProperty(key, original); + if (!Object.is(redacted, original)) { + changes ??= /* @__PURE__ */ new Map(); + changes.set(key, redacted); + } + } + if (!changes) { + return object; + } + if (Object.getPrototypeOf(object) === Object.prototype) { + const copy = { ...source }; + for (const [key, redacted] of changes) { + if (key === "__proto__") { + Object.defineProperty(copy, key, { + value: redacted, + enumerable: true, + writable: true, + configurable: true + }); + } else { + copy[key] = redacted; + } + } + return copy; + } + const descriptors = Object.getOwnPropertyDescriptors(object); + if (object instanceof Error && descriptors.stack?.get) { + descriptors.stack = { + value: object.stack, + enumerable: descriptors.stack.enumerable, + writable: true, + configurable: true + }; + } + for (const [key, redacted] of changes) { + descriptors[key] = { + value: redacted, + enumerable: descriptors[key].enumerable, + writable: true, + configurable: true + }; + } + return Object.create(Object.getPrototypeOf(object), descriptors); + }, "redactObject"); + try { + return visit(value); + } catch { + return censor; + } + }; +} +function isOpaque(value) { + return value instanceof Date || value instanceof RegExp || value instanceof Promise || value instanceof WeakMap || value instanceof WeakSet || value instanceof ArrayBuffer || ArrayBuffer.isView(value); +} +var DEFAULT_REDACT_CENSOR, CIRCULAR; +var init_redact_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/redact.util.js"() { + DEFAULT_REDACT_CENSOR = "[REDACTED]"; + CIRCULAR = "[Circular]"; + __name(createRedactor, "createRedactor"); + __name(isOpaque, "isOpaque"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/console-logger.service.js +import { inspect } from "util"; +var ConsoleLogger_1, DEFAULT_DEPTH, MAX_ERROR_DEPTH, MAX_JSON_LENGTH, DEFAULT_LOG_LEVELS, reportedInvalidEnvLogLevel, dateTimeFormatter, ConsoleLogger; +var init_console_logger_service = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/console-logger.service.js"() { + init_tslib_es6(); + init_core(); + init_cli_colors_util(); + init_shared_utils(); + init_get_env_log_levels_util(); + init_is_log_level_enabled_util(); + init_redact_util(); + DEFAULT_DEPTH = 5; + MAX_ERROR_DEPTH = 5; + MAX_JSON_LENGTH = 1e6; + DEFAULT_LOG_LEVELS = [ + "log", + "error", + "warn", + "debug", + "verbose", + "fatal" + ]; + dateTimeFormatter = new Intl.DateTimeFormat(void 0, { + year: "numeric", + hour: "numeric", + minute: "numeric", + second: "numeric", + day: "2-digit", + month: "2-digit" + }); + ConsoleLogger = class ConsoleLogger2 { + static { + __name(this, "ConsoleLogger"); + } + static { + ConsoleLogger_1 = this; + } + /** + * The options of the logger. + */ + options; + /** + * The context of the logger (can be set manually or automatically inferred). + */ + context; + /** + * The original context of the logger (set in the constructor). + */ + originalContext; + /** + * The options used for the "inspect" method. + */ + inspectOptions; + /** + * The last timestamp at which the log message was printed. + */ + static lastTimestampAt; + /** + * Masks the properties set in the `redact` option. + */ + redactor; + constructor(contextOrOptions, options) { + let [context, opts] = isString(contextOrOptions) ? [contextOrOptions, options] : options ? [void 0, options] : [contextOrOptions?.context, contextOrOptions]; + opts = opts ?? {}; + opts.colors ??= opts.colors ?? (opts.json ? false : isColorAllowed()); + opts.prefix ??= "Nest"; + this.options = opts; + this.inspectOptions = this.getInspectOptions(); + if (opts.redact) { + this.redactor = Array.isArray(opts.redact) ? createRedactor(opts.redact) : createRedactor(opts.redact.paths, opts.redact.censor); + } + if (context) { + this.context = context; + this.originalContext = context; + } + } + log(message, ...optionalParams) { + if (!this.isLevelEnabled("log")) { + return; + } + const { messages, context, params } = this.getContextAndMessagesToPrint([ + message, + ...optionalParams + ]); + this.printMessages(messages, context, "log", "stdout", void 0, params); + } + error(message, ...optionalParams) { + if (!this.isLevelEnabled("error")) { + return; + } + const { messages, context, stack, params } = this.getContextAndStackAndMessagesToPrint([message, ...optionalParams]); + this.printMessages(messages, context, "error", "stderr", stack, params); + this.printStackTrace(stack); + } + warn(message, ...optionalParams) { + if (!this.isLevelEnabled("warn")) { + return; + } + const { messages, context, params } = this.getContextAndMessagesToPrint([ + message, + ...optionalParams + ]); + this.printMessages(messages, context, "warn", "stdout", void 0, params); + } + debug(message, ...optionalParams) { + if (!this.isLevelEnabled("debug")) { + return; + } + const { messages, context, params } = this.getContextAndMessagesToPrint([ + message, + ...optionalParams + ]); + this.printMessages(messages, context, "debug", "stdout", void 0, params); + } + verbose(message, ...optionalParams) { + if (!this.isLevelEnabled("verbose")) { + return; + } + const { messages, context, params } = this.getContextAndMessagesToPrint([ + message, + ...optionalParams + ]); + this.printMessages(messages, context, "verbose", "stdout", void 0, params); + } + fatal(message, ...optionalParams) { + if (!this.isLevelEnabled("fatal")) { + return; + } + const { messages, context, stack, params } = this.getContextAndStackAndMessagesToPrint([message, ...optionalParams]); + this.printMessages(messages, context, "fatal", "stderr", stack, params); + this.printStackTrace(stack); + } + /** + * Set log levels + * @param levels log levels + */ + setLogLevels(levels) { + if (!this.options) { + this.options = {}; + } + this.options.logLevels = levels; + } + /** + * Set logger context + * @param context context + */ + setContext(context) { + this.context = context; + } + /** + * Resets the logger context to the value that was passed in the constructor. + */ + resetContext() { + this.context = this.originalContext; + } + isLevelEnabled(level) { + if (this.options && !this.options.logLevels) { + this.options.logLevels = this.getDefaultLogLevels(); + } + const logLevels = this.options?.logLevels; + return isLogLevelEnabled(level, logLevels); + } + /** + * Returns the levels used when none were passed to the constructor: the + * `NEST_LOG_LEVEL` environment variable if it is set, every level otherwise. + * Called on the first level check rather than in the constructor, so that + * the default logger also sees variables loaded after "@nestjs/common" was + * imported (for example, from a `.env` file). + */ + getDefaultLogLevels() { + const envLogLevels = getEnvLogLevels(); + if (envLogLevels !== false) { + return envLogLevels ?? DEFAULT_LOG_LEVELS; + } + const value = process.env[LOG_LEVEL_ENV_VAR]; + if (reportedInvalidEnvLogLevel !== value) { + reportedInvalidEnvLogLevel = value; + this.options.logLevels = DEFAULT_LOG_LEVELS; + this.warn(`Invalid ${LOG_LEVEL_ENV_VAR} value "${value}". Expected a log level ("warn"), a comma-separated list ("warn,error") or a threshold (">=warn"). Every log level is enabled instead.`, "ConsoleLogger"); + } + return DEFAULT_LOG_LEVELS; + } + getTimestamp() { + return dateTimeFormatter.format(Date.now()); + } + printMessages(messages, context = "", logLevel = "log", writeStreamType, errorStack, params) { + if (this.redactor) { + messages = messages.map((message) => this.redact(this.resolveMessage(message))); + params = params && this.redact(params); + } + if (this.options.json) { + const { messages: jsonMessages, error } = this.extractJsonError(messages.map((message) => this.resolveMessage(message))); + jsonMessages.forEach((message, index) => { + this.printAsJson(message, { + context, + logLevel, + writeStreamType, + errorStack, + params, + // The error belongs to the first record (the log message). + error: index === 0 ? error : void 0 + }); + }); + return; + } + messages.forEach((message) => { + const pidMessage = this.formatPid(process.pid); + const contextMessage = this.formatContext(context); + const timestampDiff = this.updateAndGetTimestampDiff(); + const formattedLogLevel = logLevel.toUpperCase().padStart(7, " "); + const formattedMessage = this.formatMessage(logLevel, message, pidMessage, formattedLogLevel, contextMessage, timestampDiff, params); + if (this.options.forceConsole) { + if (writeStreamType === "stderr") { + console.error(formattedMessage.trim()); + } else { + console.log(formattedMessage.trim()); + } + } else { + process[writeStreamType ?? "stdout"].write(formattedMessage); + } + }); + } + printAsJson(message, options) { + const logObject = this.getJsonLogObject(message, options); + const formattedMessage = !this.options.colors && this.inspectOptions.compact === true ? this.stringifyJsonLogObject(logObject) : inspect(logObject, this.inspectOptions); + if (this.options.forceConsole) { + if (options.writeStreamType === "stderr") { + console.error(formattedMessage); + } else { + console.log(formattedMessage); + } + } else { + process[options.writeStreamType ?? "stdout"].write(`${formattedMessage} +`); + } + } + getJsonLogObject(message, options) { + const logObject = { + level: options.logLevel, + pid: process.pid, + timestamp: Date.now(), + message + }; + if (options.context) { + logObject.context = options.context; + } + if (options.errorStack) { + logObject.stack = options.errorStack; + } + if (options.error) { + logObject.error = this.serializeError(options.error); + } + if (options.params) { + if (this.options.flattenParams) { + for (const [key, value] of Object.entries(options.params)) { + if (!(key in logObject)) { + logObject[key] = value; + } + } + } else { + logObject.params = options.params; + } + } + return logObject; + } + /** + * Pulls the first `Error` out of the messages so that it can be attached to + * the log record as a structured `error` field instead of being printed as + * a separate record. When the error is the message itself, the record's + * message becomes the error's message. + */ + extractJsonError(messages) { + const errorIndex = messages.findIndex((message) => message instanceof Error); + if (errorIndex === -1) { + return { messages }; + } + const error = messages[errorIndex]; + const remainingMessages = errorIndex === 0 ? [error.message, ...messages.slice(1)] : messages.filter((_, index) => index !== errorIndex); + return { messages: remainingMessages, error }; + } + /** + * Converts an error into a plain object: `name`, `message`, `stack`, own + * primitive properties (e.g. `code`), and, recursively, `cause` and the + * `errors` of an `AggregateError`, up to a fixed depth. + */ + serializeError(error, depth = 0, ancestors = /* @__PURE__ */ new Set()) { + const serialized = { + name: error.name, + message: error.message, + stack: error.stack + }; + for (const [key, value] of Object.entries(error)) { + if (key in serialized || key === "cause" || key === "errors") { + continue; + } + const isPrimitive = value === null || typeof value !== "object" && typeof value !== "function"; + if (isPrimitive) { + serialized[key] = value; + } + } + const serializeNested = /* @__PURE__ */ __name((value) => { + if (!(value instanceof Error)) { + return value; + } + if (ancestors.has(value)) { + return "[Circular]"; + } + if (depth + 1 > MAX_ERROR_DEPTH) { + return "[Truncated]"; + } + return this.serializeError(value, depth + 1, ancestors); + }, "serializeNested"); + ancestors.add(error); + if (error.cause !== void 0) { + serialized.cause = serializeNested(error.cause); + } + const errors = error.errors; + if (Array.isArray(errors)) { + serialized.errors = errors.map(serializeNested); + } + ancestors.delete(error); + return serialized; + } + /** + * Masks the properties set in the `redact` option. Returns the value itself + * when the option isn't set or nothing matched. + */ + redact(value) { + return this.redactor ? this.redactor(value) : value; + } + formatPid(pid) { + return `[${this.options.prefix}] ${pid} - `; + } + formatContext(context) { + if (!context) { + return ""; + } + context = `[${context}] `; + return this.options.colors ? yellow(context) : context; + } + formatMessage(logLevel, message, pidMessage, formattedLogLevel, contextMessage, timestampDiff, params) { + const output = this.stringifyMessage(message, logLevel); + pidMessage = this.colorize(pidMessage, logLevel); + formattedLogLevel = this.colorize(formattedLogLevel, logLevel); + const paramsOutput = params ? ` ${this.stringifyParams(params)}` : ""; + return `${pidMessage}${this.getTimestamp()} ${formattedLogLevel} ${contextMessage}${output}${paramsOutput}${timestampDiff} +`; + } + stringifyParams(params) { + return inspect(params, { + ...this.inspectOptions, + compact: true, + breakLength: Infinity + }); + } + /** + * Resolves a message passed as a function: a class resolves to its name, + * any other function is called (lazy message) and its result re-resolved. + */ + resolveMessage(message) { + if (isFunction(message)) { + const messageAsStr = Function.prototype.toString.call(message); + const isClass = messageAsStr.startsWith("class "); + if (isClass) { + return message.name; + } + return this.resolveMessage(message()); + } + return message; + } + stringifyMessage(message, logLevel) { + message = this.resolveMessage(message); + if (typeof message === "string") { + return this.colorize(message, logLevel); + } + const outputText = inspect(message, this.inspectOptions); + if (isPlainObject(message)) { + return `Object(${Object.keys(message).length}) ${outputText}`; + } + if (Array.isArray(message)) { + return `Array(${message.length}) ${outputText}`; + } + return outputText; + } + colorize(message, logLevel) { + if (!this.options.colors || this.options.json) { + return message; + } + const color = this.getColorByLogLevel(logLevel); + return color(message); + } + printStackTrace(stack) { + if (!stack || this.options.json) { + return; + } + if (this.options.forceConsole) { + console.error(stack); + } else { + process.stderr.write(`${stack} +`); + } + } + updateAndGetTimestampDiff() { + const includeTimestamp = ConsoleLogger_1.lastTimestampAt && this.options?.timestamp; + const result = includeTimestamp ? this.formatTimestampDiff(Date.now() - ConsoleLogger_1.lastTimestampAt) : ""; + ConsoleLogger_1.lastTimestampAt = Date.now(); + return result; + } + formatTimestampDiff(timestampDiff) { + const formattedDiff = ` +${timestampDiff}ms`; + return this.options.colors ? yellow(formattedDiff) : formattedDiff; + } + getInspectOptions() { + let breakLength = this.options.breakLength; + if (typeof breakLength === "undefined") { + breakLength = this.options.colors ? this.options.compact ? Infinity : void 0 : this.options.compact === false ? void 0 : Infinity; + } + const inspectOptions = { + depth: this.options.depth ?? DEFAULT_DEPTH, + sorted: this.options.sorted, + showHidden: this.options.showHidden, + compact: this.options.compact ?? (this.options.json ? true : false), + colors: this.options.colors, + breakLength + }; + if (typeof this.options.maxArrayLength !== "undefined") { + inspectOptions.maxArrayLength = this.options.maxArrayLength; + } + if (typeof this.options.maxStringLength !== "undefined") { + inspectOptions.maxStringLength = this.options.maxStringLength; + } + return inspectOptions; + } + /** + * Serializes a JSON log object without ever throwing: circular references + * are replaced with "[Circular]", whatever comes past `MAX_JSON_LENGTH` + * characters with "[Truncated]", and a value that cannot be serialized + * (e.g. a throwing `toJSON()`) makes the whole record fall back to `inspect`. + */ + stringifyJsonLogObject(logObject) { + const replacer = this.stringifyReplacer.bind(this); + const ancestors = []; + let length = 0; + try { + return JSON.stringify(logObject, function(key, value) { + value = replacer(key, value); + length += (Array.isArray(this) ? 0 : key.length) + (isString(value) || typeof value === "number" ? String(value).length : 1); + if (length > MAX_JSON_LENGTH) { + return isString(value) || typeof value === "object" && value !== null ? "[Truncated]" : value; + } + if (typeof value !== "object" || value === null) { + return value; + } + while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this) { + ancestors.pop(); + } + if (ancestors.includes(value)) { + return "[Circular]"; + } + ancestors.push(value); + return value; + }); + } catch { + return inspect(logObject, { + ...this.inspectOptions, + colors: false, + compact: true, + breakLength: Infinity + }); + } + } + stringifyReplacer(key, value) { + if (typeof value === "bigint") { + return value.toString(); + } + if (typeof value === "symbol") { + return value.toString(); + } + if (value instanceof Map || value instanceof Set || value instanceof Error) { + return `${inspect(value, this.inspectOptions)}`; + } + return value; + } + getContextAndMessagesToPrint(args) { + if (args?.length <= 1) { + return { messages: args, context: this.context }; + } + const lastElement = args[args.length - 1]; + const isContext = isString(lastElement); + let context; + let remainingArgs; + if (isContext) { + context = lastElement; + remainingArgs = args.slice(0, args.length - 1); + } else { + context = this.context; + remainingArgs = args; + } + if (this.options.structuredParams === false) { + return { messages: remainingArgs, context }; + } + const messages = [remainingArgs[0]]; + const paramObjects = []; + for (let i = 1; i < remainingArgs.length; i++) { + if (isPlainObject(remainingArgs[i])) { + paramObjects.push(remainingArgs[i]); + } else { + messages.push(remainingArgs[i]); + } + } + const params = paramObjects.length > 0 ? Object.assign({}, ...paramObjects) : void 0; + return { messages, context, params }; + } + getContextAndStackAndMessagesToPrint(args) { + if (args.length === 1) { + return { ...this.getContextAndMessagesToPrint(args) }; + } + if (args.length === 2) { + if (this.isStackFormat(args[1]) || isUndefined(args[1])) { + return { + messages: [args[0]], + stack: args[1], + context: this.context + }; + } + return { ...this.getContextAndMessagesToPrint(args) }; + } + const trailingArg = args[args.length - 1]; + if (this.isStackFormat(trailingArg)) { + const { messages: messages2, context: context2, params: params2 } = this.getContextAndMessagesToPrint(args.slice(0, -1)); + return { + messages: messages2, + context: context2, + stack: trailingArg, + params: params2 + }; + } + const { messages, context, params } = this.getContextAndMessagesToPrint(args); + if (messages?.length <= 1) { + return { messages, context, params }; + } + const lastElement = messages[messages.length - 1]; + const isStack = isString(lastElement); + if (!isStack && !isUndefined(lastElement)) { + return { messages, context, params }; + } + return { + stack: lastElement, + messages: messages.slice(0, messages.length - 1), + context, + params + }; + } + isStackFormat(stack) { + if (!isString(stack) && !isUndefined(stack)) { + return false; + } + return /\n[ \t]+at .+:\d+:\d+/.test(stack); + } + getColorByLogLevel(level) { + switch (level) { + case "debug": + return clc.magentaBright; + case "warn": + return clc.yellow; + case "error": + return clc.red; + case "verbose": + return clc.cyanBright; + case "fatal": + return clc.bold; + default: + return clc.green; + } + } + }; + ConsoleLogger = ConsoleLogger_1 = __decorate([ + Injectable(), + __param(0, Optional()), + __param(1, Optional()), + __metadata("design:paramtypes", [Object, Object]) + ], ConsoleLogger); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/index.js +var init_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/utils/index.js"() { + init_filter_log_levels_util(); + init_is_log_level_enabled_util(); + init_is_log_level_util(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/logger.service.js +var Logger_1, DEFAULT_LOGGER, dateTimeFormatter2, Logger; +var init_logger_service = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/logger.service.js"() { + init_tslib_es6(); + init_core(); + init_shared_utils(); + init_console_logger_service(); + init_utils(); + init_log_levels_constant(); + DEFAULT_LOGGER = new ConsoleLogger(); + dateTimeFormatter2 = new Intl.DateTimeFormat(void 0, { + year: "numeric", + hour: "numeric", + minute: "numeric", + second: "numeric", + day: "2-digit", + month: "2-digit" + }); + Logger = class Logger2 { + static { + __name(this, "Logger"); + } + static { + Logger_1 = this; + } + context; + options; + static logBuffer = new Array(); + static staticInstanceRef = DEFAULT_LOGGER; + static logLevels; + static isBufferAttached; + localInstanceRef; + /** + * The `Logger.logLevels` the local instance was last configured with. + */ + localInstanceLogLevels; + static WrapBuffer = /* @__PURE__ */ __name((target, propertyKey, descriptor) => { + const originalFn = descriptor.value; + descriptor.value = function(...args) { + if (Logger_1.isBufferAttached) { + Logger_1.logBuffer.push({ + methodRef: originalFn.bind(this), + arguments: args + }); + return; + } + return originalFn.call(this, ...args); + }; + }, "WrapBuffer"); + constructor(context, options = {}) { + this.context = context; + this.options = options; + } + get localInstance() { + if (Logger_1.staticInstanceRef === DEFAULT_LOGGER) { + return this.registerLocalInstanceRef(); + } else if (Logger_1.staticInstanceRef instanceof Logger_1) { + const prototype = Object.getPrototypeOf(Logger_1.staticInstanceRef); + if (prototype.constructor === Logger_1) { + return this.registerLocalInstanceRef(); + } + } + return Logger_1.staticInstanceRef; + } + error(message, ...optionalParams) { + optionalParams = this.context ? (optionalParams.length ? optionalParams : [void 0]).concat(this.context) : optionalParams; + this.localInstance?.error(message, ...optionalParams); + } + log(message, ...optionalParams) { + optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams; + this.localInstance?.log(message, ...optionalParams); + } + warn(message, ...optionalParams) { + optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams; + this.localInstance?.warn(message, ...optionalParams); + } + debug(message, ...optionalParams) { + optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams; + this.localInstance?.debug?.(message, ...optionalParams); + } + verbose(message, ...optionalParams) { + optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams; + this.localInstance?.verbose?.(message, ...optionalParams); + } + fatal(message, ...optionalParams) { + optionalParams = this.context ? optionalParams.concat(this.context) : optionalParams; + this.localInstance?.fatal?.(message, ...optionalParams); + } + static error(message, ...optionalParams) { + this.staticInstanceRef?.error(message, ...optionalParams); + } + static log(message, ...optionalParams) { + this.staticInstanceRef?.log(message, ...optionalParams); + } + static warn(message, ...optionalParams) { + this.staticInstanceRef?.warn(message, ...optionalParams); + } + static debug(message, ...optionalParams) { + this.staticInstanceRef?.debug?.(message, ...optionalParams); + } + static verbose(message, ...optionalParams) { + this.staticInstanceRef?.verbose?.(message, ...optionalParams); + } + static fatal(message, ...optionalParams) { + this.staticInstanceRef?.fatal?.(message, ...optionalParams); + } + /** + * Print buffered logs and detach buffer. + */ + static flush() { + this.isBufferAttached = false; + this.logBuffer.forEach((item) => item.methodRef(...item.arguments)); + this.logBuffer = []; + } + /** + * Attach buffer. + * Turns on initialization logs buffering. + */ + static attachBuffer() { + this.isBufferAttached = true; + } + /** + * Detach buffer. + * Turns off initialization logs buffering. + */ + static detachBuffer() { + this.isBufferAttached = false; + } + static getTimestamp() { + return dateTimeFormatter2.format(Date.now()); + } + static overrideLogger(logger3) { + if (Array.isArray(logger3)) { + Logger_1.logLevels = logger3; + return this.staticInstanceRef?.setLogLevels?.(logger3); + } + if (isObject(logger3)) { + if (logger3 instanceof Logger_1 && logger3.constructor !== Logger_1) { + const errorMessage = `Using the "extends Logger" instruction is not allowed in Nest v9. Please, use "extends ConsoleLogger" instead.`; + this.staticInstanceRef?.error(errorMessage); + throw new Error(errorMessage); + } + this.staticInstanceRef = logger3; + } else { + this.staticInstanceRef = void 0; + } + } + static isLevelEnabled(level) { + const instance = Logger_1.staticInstanceRef; + if (!instance) { + return false; + } + if (instance instanceof ConsoleLogger) { + return instance.isLevelEnabled(level); + } + const logLevels = Logger_1.logLevels; + return logLevels ? isLogLevelEnabled(level, logLevels) : true; + } + registerLocalInstanceRef() { + if (this.localInstanceRef) { + if (Logger_1.logLevels && this.localInstanceLogLevels !== Logger_1.logLevels) { + this.localInstanceRef.setLogLevels?.(Logger_1.logLevels); + this.localInstanceLogLevels = Logger_1.logLevels; + } + return this.localInstanceRef; + } + this.localInstanceLogLevels = Logger_1.logLevels; + this.localInstanceRef = new ConsoleLogger(this.context, { + timestamp: this.options?.timestamp, + logLevels: Logger_1.logLevels + }); + return this.localInstanceRef; + } + }; + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "error", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "log", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "warn", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "debug", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "verbose", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger.prototype, "fatal", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "error", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "log", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "warn", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "debug", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "verbose", null); + __decorate([ + Logger.WrapBuffer, + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", void 0) + ], Logger, "fatal", null); + Logger = Logger_1 = __decorate([ + Injectable(), + __param(0, Optional()), + __param(1, Optional()), + __metadata("design:paramtypes", [String, Object]) + ], Logger); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/shutdown-signal.enum.js +var ShutdownSignal; +var init_shutdown_signal_enum = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/shutdown-signal.enum.js"() { + (function(ShutdownSignal2) { + ShutdownSignal2["SIGHUP"] = "SIGHUP"; + ShutdownSignal2["SIGINT"] = "SIGINT"; + ShutdownSignal2["SIGQUIT"] = "SIGQUIT"; + ShutdownSignal2["SIGILL"] = "SIGILL"; + ShutdownSignal2["SIGTRAP"] = "SIGTRAP"; + ShutdownSignal2["SIGABRT"] = "SIGABRT"; + ShutdownSignal2["SIGBUS"] = "SIGBUS"; + ShutdownSignal2["SIGFPE"] = "SIGFPE"; + ShutdownSignal2["SIGSEGV"] = "SIGSEGV"; + ShutdownSignal2["SIGUSR2"] = "SIGUSR2"; + ShutdownSignal2["SIGTERM"] = "SIGTERM"; + })(ShutdownSignal || (ShutdownSignal = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/index.js +var init_enums = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/index.js"() { + init_request_method_enum(); + init_http_status_enum(); + init_shutdown_signal_enum(); + init_version_type_enum(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/index.js +var init_services = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/services/index.js"() { + init_console_logger_service(); + init_logger_service(); + init_filter_log_levels_util(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/streamable-file.js +import { Readable } from "stream"; +import { types } from "util"; +var StreamableFile; +var init_streamable_file = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/streamable-file.js"() { + init_enums(); + init_services(); + init_shared_utils(); + StreamableFile = class { + static { + __name(this, "StreamableFile"); + } + options; + stream; + logger = new Logger("StreamableFile"); + handleError = /* @__PURE__ */ __name((err, res) => { + if (res.destroyed) { + return; + } + if (res.headersSent) { + res.end(); + return; + } + this.logError(err); + res.statusCode = HttpStatus.BAD_REQUEST; + res.send("Bad Request"); + }, "handleError"); + logError = /* @__PURE__ */ __name((err) => { + this.logger.error(err); + }, "logError"); + constructor(bufferOrReadStream, options = {}) { + this.options = options; + if (types.isUint8Array(bufferOrReadStream)) { + this.stream = new Readable(); + this.stream.push(bufferOrReadStream); + this.stream.push(null); + this.options = { + ...this.options, + length: this.options.length ?? bufferOrReadStream.length + }; + } else if (bufferOrReadStream.pipe && isFunction(bufferOrReadStream.pipe)) { + this.stream = bufferOrReadStream; + if (isFunction(this.stream.on)) { + this.stream.on("error", () => { + }); + } + } + } + getStream() { + return this.stream; + } + getHeaders() { + const { type = "application/octet-stream", disposition = void 0, length = void 0 } = this.options; + return { + type, + disposition, + length + }; + } + get errorHandler() { + return this.handleError; + } + setErrorHandler(handler) { + this.handleError = handler; + return this; + } + get errorLogger() { + return this.logError; + } + setErrorLogger(handler) { + this.logError = handler; + return this; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/version-options.interface.js +var VERSION_NEUTRAL; +var init_version_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/version-options.interface.js"() { + VERSION_NEUTRAL = /* @__PURE__ */ Symbol("VERSION_NEUTRAL"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/random-string-generator.util.js +var randomStringGenerator; +var init_random_string_generator_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/random-string-generator.util.js"() { + init_dist(); + randomStringGenerator = /* @__PURE__ */ __name(() => uid(21), "randomStringGenerator"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/load-package.util.js +import { createRequire } from "module"; +async function loadPackage(packageName, context, loaderFn) { + const cached = packageCache.get(packageName); + if (cached) { + return cached; + } + try { + const pkg = loaderFn ? await loaderFn() : await import(packageName); + packageCache.set(packageName, pkg); + return pkg; + } catch (e) { + logger.error(MISSING_REQUIRED_DEPENDENCY(packageName, context)); + Logger.flush(); + process.exit(1); + } +} +function loadPackageSync(packageName, context, loaderFn) { + const cached = packageCache.get(packageName); + if (cached) { + return cached; + } + try { + const pkg = loaderFn ? loaderFn() : createRequire(import.meta.url)(packageName); + packageCache.set(packageName, pkg); + return pkg; + } catch (e) { + logger.error(MISSING_REQUIRED_DEPENDENCY(packageName, context)); + Logger.flush(); + process.exit(1); + } +} +function loadPackageCached(packageName, context) { + const cached = packageCache.get(packageName); + if (!cached) { + if (context) { + return loadPackageSync(packageName, context); + } + throw new Error(`Package "${packageName}" has not been loaded yet. Ensure loadPackage("${packageName}", ...) has been awaited before calling loadPackageCached.`); + } + return cached; +} +async function tryLoadPackage(packageName, loaderFn) { + const cached = packageCache.get(packageName); + if (cached) { + return cached; + } + try { + const pkg = loaderFn ? await loaderFn() : await import(packageName); + packageCache.set(packageName, pkg); + return pkg; + } catch { + return null; + } +} +var MISSING_REQUIRED_DEPENDENCY, logger, packageCache; +var init_load_package_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/load-package.util.js"() { + init_logger_service(); + MISSING_REQUIRED_DEPENDENCY = /* @__PURE__ */ __name((name, reason) => `The "${name}" package is missing. Please, make sure to install it to use ${reason}.`, "MISSING_REQUIRED_DEPENDENCY"); + logger = new Logger("PackageLoader"); + packageCache = /* @__PURE__ */ new Map(); + __name(loadPackage, "loadPackage"); + __name(loadPackageSync, "loadPackageSync"); + __name(loadPackageCached, "loadPackageCached"); + __name(tryLoadPackage, "tryLoadPackage"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/index.js +var init_modules = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/modules/index.js"() { + init_global_decorator(); + init_module_decorator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/route-paramtypes.enum.js +var RouteParamtypes; +var init_route_paramtypes_enum = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/enums/route-paramtypes.enum.js"() { + (function(RouteParamtypes2) { + RouteParamtypes2[RouteParamtypes2["REQUEST"] = 0] = "REQUEST"; + RouteParamtypes2[RouteParamtypes2["RESPONSE"] = 1] = "RESPONSE"; + RouteParamtypes2[RouteParamtypes2["NEXT"] = 2] = "NEXT"; + RouteParamtypes2[RouteParamtypes2["BODY"] = 3] = "BODY"; + RouteParamtypes2[RouteParamtypes2["QUERY"] = 4] = "QUERY"; + RouteParamtypes2[RouteParamtypes2["PARAM"] = 5] = "PARAM"; + RouteParamtypes2[RouteParamtypes2["HEADERS"] = 6] = "HEADERS"; + RouteParamtypes2[RouteParamtypes2["SESSION"] = 7] = "SESSION"; + RouteParamtypes2[RouteParamtypes2["FILE"] = 8] = "FILE"; + RouteParamtypes2[RouteParamtypes2["FILES"] = 9] = "FILES"; + RouteParamtypes2[RouteParamtypes2["HOST"] = 10] = "HOST"; + RouteParamtypes2[RouteParamtypes2["IP"] = 11] = "IP"; + RouteParamtypes2[RouteParamtypes2["RAW_BODY"] = 12] = "RAW_BODY"; + RouteParamtypes2[RouteParamtypes2["ACK"] = 13] = "ACK"; + RouteParamtypes2[RouteParamtypes2["COOKIES"] = 14] = "COOKIES"; + RouteParamtypes2[RouteParamtypes2["SIGNED_COOKIES"] = 15] = "SIGNED_COOKIES"; + })(RouteParamtypes || (RouteParamtypes = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/parameter-decorator-options.util.js +function isParameterDecoratorOptions(value) { + return !!value && typeof value === "object" && !isPipeLike(value) && ("schema" in value || "pipes" in value); +} +var isPipeLike; +var init_parameter_decorator_options_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/parameter-decorator-options.util.js"() { + init_shared_utils(); + isPipeLike = /* @__PURE__ */ __name((value) => isFunction(value?.transform) || isFunction(value) && value.prototype && isFunction(value.prototype.transform), "isPipeLike"); + __name(isParameterDecoratorOptions, "isParameterDecoratorOptions"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/route-params.decorator.js +function assignMetadata(args, paramtype, index, options, ...legacyPipes) { + const isOptionsObject = options !== null && typeof options === "object" && (isParameterDecoratorOptions(options) || "data" in options) && !("transform" in options) && legacyPipes.length === 0; + const normalizedOptions = isOptionsObject ? options : { data: options, pipes: legacyPipes }; + return { + ...args, + [`${paramtype}:${index}`]: { + index, + data: normalizedOptions.data, + pipes: normalizedOptions.pipes ?? [], + ...normalizedOptions.schema !== void 0 && { + schema: normalizedOptions.schema + } + } + }; +} +function createRouteParamDecorator(paramtype) { + return (data) => (target, key, index) => { + const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {}; + Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, { + data + }), target.constructor, key); + }; +} +function UploadedFile(fileKey, ...pipes) { + return createPipesRouteParamDecorator(RouteParamtypes.FILE)({ + data: fileKey, + pipes + }); +} +function UploadedFiles(...pipes) { + return createPipesRouteParamDecorator(RouteParamtypes.FILES)({ + pipes + }); +} +function Query(property, optionsOrPipe, ...pipes) { + const isPropertyOptions = isParameterDecoratorOptions(property); + if (isPropertyOptions) { + return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({ + pipes: property.pipes, + schema: property.schema + }); + } + const isOptions = isParameterDecoratorOptions(optionsOrPipe); + const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean); + return createPipesRouteParamDecorator(RouteParamtypes.QUERY)({ + data: property, + pipes: actualPipes, + schema: isOptions ? optionsOrPipe.schema : void 0 + }); +} +function Body(property, optionsOrPipe, ...pipes) { + const isPropertyOptions = isParameterDecoratorOptions(property); + if (isPropertyOptions) { + return createPipesRouteParamDecorator(RouteParamtypes.BODY)({ + pipes: property.pipes, + schema: property.schema + }); + } + const isOptions = isParameterDecoratorOptions(optionsOrPipe); + const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean); + return createPipesRouteParamDecorator(RouteParamtypes.BODY)({ + data: property, + pipes: actualPipes, + schema: isOptions ? optionsOrPipe.schema : void 0 + }); +} +function RawBody(optionsOrPipe, ...pipes) { + const isOptions = isParameterDecoratorOptions(optionsOrPipe); + const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean); + return createPipesRouteParamDecorator(RouteParamtypes.RAW_BODY)({ + pipes: actualPipes, + schema: isOptions ? optionsOrPipe.schema : void 0 + }); +} +function Param(property, optionsOrPipe, ...pipes) { + const isPropertyOptions = isParameterDecoratorOptions(property); + if (isPropertyOptions) { + return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({ + pipes: property.pipes, + schema: property.schema + }); + } + const isOptions = isParameterDecoratorOptions(optionsOrPipe); + const actualPipes = isOptions ? [...optionsOrPipe.pipes ?? [], ...pipes] : [optionsOrPipe, ...pipes].filter(Boolean); + return createPipesRouteParamDecorator(RouteParamtypes.PARAM)({ + data: property, + pipes: actualPipes, + schema: isOptions ? optionsOrPipe.schema : void 0 + }); +} +function HostParam(property) { + return createRouteParamDecorator(RouteParamtypes.HOST)(property); +} +function Cookies(property, ...pipes) { + return createPipesRouteParamDecorator(RouteParamtypes.COOKIES)({ + data: property, + pipes + }); +} +function SignedCookies(property, ...pipes) { + return createPipesRouteParamDecorator(RouteParamtypes.SIGNED_COOKIES)({ + data: property, + pipes + }); +} +var createPipesRouteParamDecorator, Request, Response, Next, Ip, Session, Headers, Req, Res; +var init_route_params_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/route-params.decorator.js"() { + init_constants(); + init_route_paramtypes_enum(); + init_shared_utils(); + init_parameter_decorator_options_util(); + __name(assignMetadata, "assignMetadata"); + __name(createRouteParamDecorator, "createRouteParamDecorator"); + createPipesRouteParamDecorator = /* @__PURE__ */ __name((paramtype) => ({ data, pipes, schema }) => (target, key, index) => { + const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {}; + const hasParamData = isNil(data) || isString(data); + const paramData = hasParamData ? data : void 0; + const paramPipes = hasParamData ? pipes ?? [] : [data, ...pipes ?? []]; + Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, { + data: paramData, + pipes: paramPipes, + schema + }), target.constructor, key); + }, "createPipesRouteParamDecorator"); + Request = createRouteParamDecorator(RouteParamtypes.REQUEST); + Response = /* @__PURE__ */ __name((options) => (target, key, index) => { + if (options?.passthrough) { + Reflect.defineMetadata(RESPONSE_PASSTHROUGH_METADATA, options?.passthrough, target.constructor, key); + } + return createRouteParamDecorator(RouteParamtypes.RESPONSE)()(target, key, index); + }, "Response"); + Next = createRouteParamDecorator(RouteParamtypes.NEXT); + Ip = createRouteParamDecorator(RouteParamtypes.IP); + Session = createRouteParamDecorator(RouteParamtypes.SESSION); + __name(UploadedFile, "UploadedFile"); + __name(UploadedFiles, "UploadedFiles"); + Headers = createRouteParamDecorator(RouteParamtypes.HEADERS); + __name(Query, "Query"); + __name(Body, "Body"); + __name(RawBody, "RawBody"); + __name(Param, "Param"); + __name(HostParam, "HostParam"); + __name(Cookies, "Cookies"); + __name(SignedCookies, "SignedCookies"); + Req = Request; + Res = Response; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/http-code.decorator.js +function HttpCode(statusCode) { + return (target, key, descriptor) => { + Reflect.defineMetadata(HTTP_CODE_METADATA, statusCode, descriptor.value); + return descriptor; + }; +} +var init_http_code_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/http-code.decorator.js"() { + init_constants(); + __name(HttpCode, "HttpCode"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/assign-custom-metadata.util.js +function assignCustomParameterMetadata(args, paramtype, index, factory, data, schema, ...pipes) { + return { + ...args, + [`${paramtype}${CUSTOM_ROUTE_ARGS_METADATA}:${index}`]: { + index, + factory, + data, + pipes, + ...schema !== void 0 && { schema } + } + }; +} +var init_assign_custom_metadata_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/assign-custom-metadata.util.js"() { + init_constants(); + __name(assignCustomParameterMetadata, "assignCustomParameterMetadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.js +function createParamDecorator(factory, enhancers = []) { + const paramtype = uid(21); + return (data, ...pipes) => (target, key, index) => { + const args = Reflect.getMetadata(ROUTE_ARGS_METADATA, target.constructor, key) || {}; + const isPipe = /* @__PURE__ */ __name((pipe) => pipe && (isFunction(pipe) && pipe.prototype && isFunction(pipe.prototype.transform) || isFunction(pipe.transform)), "isPipe"); + const hasParamData = isNil(data) || !isPipe(data); + const paramData = hasParamData ? data : void 0; + const paramPipes = hasParamData ? pipes : [data, ...pipes]; + const isDataOptions = hasParamData && !isNil(data) && isParameterDecoratorOptions(data) && Object.keys(data).every((key2) => key2 === "schema" || key2 === "pipes") && (data.schema === void 0 || isFunction(data.schema?.["~standard"]?.validate)) && (data.pipes === void 0 || Array.isArray(data.pipes) && // Falsy entries are allowed, as the pipes context filters them out + data.pipes.every((pipe) => isNil(pipe) || isPipe(pipe))); + const finalData = isDataOptions ? void 0 : paramData; + let finalSchema; + const finalPipes = []; + for (const arg of isDataOptions ? [data, ...paramPipes] : paramPipes) { + if (isParameterDecoratorOptions(arg)) { + finalSchema ??= arg.schema; + finalPipes.push(...arg.pipes ?? []); + } else { + finalPipes.push(arg); + } + } + Reflect.defineMetadata(ROUTE_ARGS_METADATA, assignCustomParameterMetadata(args, paramtype, index, factory, finalData, finalSchema, ...finalPipes), target.constructor, key); + enhancers.forEach((fn) => fn(target, key, index)); + }; +} +var init_create_route_param_metadata_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.js"() { + init_dist(); + init_constants(); + init_assign_custom_metadata_util(); + init_shared_utils(); + init_parameter_decorator_options_util(); + __name(createParamDecorator, "createParamDecorator"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/render.decorator.js +function Render(template) { + return (target, key, descriptor) => { + Reflect.defineMetadata(RENDER_METADATA, template, descriptor.value); + return descriptor; + }; +} +var init_render_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/render.decorator.js"() { + init_constants(); + __name(Render, "Render"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/header.decorator.js +function Header(name, value) { + return (target, key, descriptor) => { + extendArrayMetadata(HEADERS_METADATA, [{ name, value }], descriptor.value); + return descriptor; + }; +} +var init_header_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/header.decorator.js"() { + init_constants(); + init_extend_metadata_util(); + __name(Header, "Header"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/redirect.decorator.js +function Redirect(url = "", statusCode) { + return (target, key, descriptor) => { + Reflect.defineMetadata(REDIRECT_METADATA, { statusCode, url }, descriptor.value); + return descriptor; + }; +} +var init_redirect_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/redirect.decorator.js"() { + init_constants(); + __name(Redirect, "Redirect"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse.decorator.js +function Sse(path, options = {}) { + return (target, key, descriptor) => { + path = path && path.length ? path : "/"; + Reflect.defineMetadata(PATH_METADATA, path, descriptor.value); + Reflect.defineMetadata(METHOD_METADATA, options[METHOD_METADATA] ?? RequestMethod.GET, descriptor.value); + Reflect.defineMetadata(SSE_METADATA, true, descriptor.value); + Reflect.defineMetadata(SSE_OPTIONS_METADATA, { maxPendingDataLength: options.maxPendingDataLength }, descriptor.value); + return descriptor; + }; +} +var init_sse_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse.decorator.js"() { + init_constants(); + init_request_method_enum(); + __name(Sse, "Sse"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse-signal.decorator.js +var SSE_ABORT_CONTROLLER, SseSignal; +var init_sse_signal_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/sse-signal.decorator.js"() { + init_create_route_param_metadata_decorator(); + SSE_ABORT_CONTROLLER = /* @__PURE__ */ Symbol("SSE_ABORT_CONTROLLER"); + SseSignal = createParamDecorator((_data, ctx) => { + const request = ctx.switchToHttp().getRequest(); + const controller = request?.[SSE_ABORT_CONTROLLER]; + return controller?.signal; + }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/index.js +var init_http = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/http/index.js"() { + init_request_mapping_decorator(); + init_route_params_decorator(); + init_http_code_decorator(); + init_create_route_param_metadata_decorator(); + init_render_decorator(); + init_header_decorator(); + init_redirect_decorator(); + init_sse_decorator(); + init_sse_signal_decorator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/index.js +var init_decorators = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/decorators/index.js"() { + init_core(); + init_modules(); + init_http(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-gateway.exception.js +var BadGatewayException; +var init_bad_gateway_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/bad-gateway.exception.js"() { + init_http_status_enum(); + init_http_exception(); + BadGatewayException = class extends HttpException { + static { + __name(this, "BadGatewayException"); + } + /** + * Instantiate a `BadGatewayException` Exception. + * + * @example + * `throw new BadGatewayException()` + * + * @usageNotes + * The HTTP response status code will be 502. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 502. + * - `message`: the string `'Bad Gateway'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Bad Gateway") { + const { description = "Bad Gateway", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.BAD_GATEWAY, httpExceptionOptions?.errorCode), HttpStatus.BAD_GATEWAY, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/conflict.exception.js +var ConflictException; +var init_conflict_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/conflict.exception.js"() { + init_http_status_enum(); + init_http_exception(); + ConflictException = class extends HttpException { + static { + __name(this, "ConflictException"); + } + /** + * Instantiate a `ConflictException` Exception. + * + * @example + * `throw new ConflictException()` + * + * @usageNotes + * The HTTP response status code will be 409. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 409. + * - `message`: the string `'Conflict'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Conflict") { + const { description = "Conflict", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.CONFLICT, httpExceptionOptions?.errorCode), HttpStatus.CONFLICT, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/forbidden.exception.js +var ForbiddenException; +var init_forbidden_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/forbidden.exception.js"() { + init_http_status_enum(); + init_http_exception(); + ForbiddenException = class extends HttpException { + static { + __name(this, "ForbiddenException"); + } + /** + * Instantiate a `ForbiddenException` Exception. + * + * @example + * `throw new ForbiddenException()` + * + * @usageNotes + * The HTTP response status code will be 403. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 403. + * - `message`: the string `'Forbidden'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Forbidden") { + const { description = "Forbidden", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.FORBIDDEN, httpExceptionOptions?.errorCode), HttpStatus.FORBIDDEN, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gateway-timeout.exception.js +var GatewayTimeoutException; +var init_gateway_timeout_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gateway-timeout.exception.js"() { + init_http_status_enum(); + init_http_exception(); + GatewayTimeoutException = class extends HttpException { + static { + __name(this, "GatewayTimeoutException"); + } + /** + * Instantiate a `GatewayTimeoutException` Exception. + * + * @example + * `throw new GatewayTimeoutException()` + * + * @usageNotes + * The HTTP response status code will be 504. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 504. + * - `message`: the string `'Gateway Timeout'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Gateway Timeout") { + const { description = "Gateway Timeout", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.GATEWAY_TIMEOUT, httpExceptionOptions?.errorCode), HttpStatus.GATEWAY_TIMEOUT, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gone.exception.js +var GoneException; +var init_gone_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/gone.exception.js"() { + init_http_status_enum(); + init_http_exception(); + GoneException = class extends HttpException { + static { + __name(this, "GoneException"); + } + /** + * Instantiate a `GoneException` Exception. + * + * @example + * `throw new GoneException()` + * + * @usageNotes + * The HTTP response status code will be 410. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 410. + * - `message`: the string `'Gone'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Gone") { + const { description = "Gone", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.GONE, httpExceptionOptions?.errorCode), HttpStatus.GONE, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.js +var HttpVersionNotSupportedException; +var init_http_version_not_supported_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.js"() { + init_http_status_enum(); + init_http_exception(); + HttpVersionNotSupportedException = class extends HttpException { + static { + __name(this, "HttpVersionNotSupportedException"); + } + /** + * Instantiate a `HttpVersionNotSupportedException` Exception. + * + * @example + * `throw new HttpVersionNotSupportedException()` + * + * @usageNotes + * The HTTP response status code will be 505. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 505. + * - `message`: the string `'HTTP Version Not Supported'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "HTTP Version Not Supported") { + const { description = "HTTP Version Not Supported", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.HTTP_VERSION_NOT_SUPPORTED, httpExceptionOptions?.errorCode), HttpStatus.HTTP_VERSION_NOT_SUPPORTED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/im-a-teapot.exception.js +var ImATeapotException; +var init_im_a_teapot_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/im-a-teapot.exception.js"() { + init_http_status_enum(); + init_http_exception(); + ImATeapotException = class extends HttpException { + static { + __name(this, "ImATeapotException"); + } + /** + * Instantiate an `ImATeapotException` Exception. + * + * @example + * `throw new ImATeapotException()` + * + * @usageNotes + * The HTTP response status code will be 418. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 418. + * - `message`: the string `"I'm a Teapot"` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = `I'm a teapot`) { + const { description = `I'm a teapot`, httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.I_AM_A_TEAPOT, httpExceptionOptions?.errorCode), HttpStatus.I_AM_A_TEAPOT, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/method-not-allowed.exception.js +var MethodNotAllowedException; +var init_method_not_allowed_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/method-not-allowed.exception.js"() { + init_http_status_enum(); + init_http_exception(); + MethodNotAllowedException = class extends HttpException { + static { + __name(this, "MethodNotAllowedException"); + } + /** + * Instantiate a `MethodNotAllowedException` Exception. + * + * @example + * `throw new MethodNotAllowedException()` + * + * @usageNotes + * The HTTP response status code will be 405. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 405. + * - `message`: the string `'Method Not Allowed'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Method Not Allowed") { + const { description = "Method Not Allowed", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.METHOD_NOT_ALLOWED, httpExceptionOptions?.errorCode), HttpStatus.METHOD_NOT_ALLOWED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/misdirected.exception.js +var MisdirectedException; +var init_misdirected_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/misdirected.exception.js"() { + init_http_status_enum(); + init_http_exception(); + MisdirectedException = class extends HttpException { + static { + __name(this, "MisdirectedException"); + } + /** + * Instantiate a `MisdirectedException` Exception. + * + * @example + * `throw new MisdirectedException()` + * + * @usageNotes + * The HTTP response status code will be 421. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 421. + * - `message`: the string `'Misdirected'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Misdirected") { + const { description = "Misdirected", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.MISDIRECTED, httpExceptionOptions?.errorCode), HttpStatus.MISDIRECTED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-acceptable.exception.js +var NotAcceptableException; +var init_not_acceptable_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-acceptable.exception.js"() { + init_http_status_enum(); + init_http_exception(); + NotAcceptableException = class extends HttpException { + static { + __name(this, "NotAcceptableException"); + } + /** + * Instantiate a `NotAcceptableException` Exception. + * + * @example + * `throw new NotAcceptableException()` + * + * @usageNotes + * The HTTP response status code will be 406. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 406. + * - `message`: the string `'Not Acceptable'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Not Acceptable") { + const { description = "Not Acceptable", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_ACCEPTABLE, httpExceptionOptions?.errorCode), HttpStatus.NOT_ACCEPTABLE, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-found.exception.js +var NotFoundException; +var init_not_found_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-found.exception.js"() { + init_http_status_enum(); + init_http_exception(); + NotFoundException = class extends HttpException { + static { + __name(this, "NotFoundException"); + } + /** + * Instantiate a `NotFoundException` Exception. + * + * @example + * `throw new NotFoundException()` + * + * @usageNotes + * The HTTP response status code will be 404. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 404. + * - `message`: the string `'Not Found'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Not Found") { + const { description = "Not Found", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_FOUND, httpExceptionOptions?.errorCode), HttpStatus.NOT_FOUND, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-implemented.exception.js +var NotImplementedException; +var init_not_implemented_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/not-implemented.exception.js"() { + init_http_status_enum(); + init_http_exception(); + NotImplementedException = class extends HttpException { + static { + __name(this, "NotImplementedException"); + } + /** + * Instantiate a `NotImplementedException` Exception. + * + * @example + * `throw new NotImplementedException()` + * + * @usageNotes + * The HTTP response status code will be 501. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 501. + * - `message`: the string `'Not Implemented'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + * @param error a short description of the HTTP error. + */ + constructor(objectOrError, descriptionOrOptions = "Not Implemented") { + const { description = "Not Implemented", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.NOT_IMPLEMENTED, httpExceptionOptions?.errorCode), HttpStatus.NOT_IMPLEMENTED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/payload-too-large.exception.js +var PayloadTooLargeException; +var init_payload_too_large_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/payload-too-large.exception.js"() { + init_http_status_enum(); + init_http_exception(); + PayloadTooLargeException = class extends HttpException { + static { + __name(this, "PayloadTooLargeException"); + } + /** + * Instantiate a `PayloadTooLargeException` Exception. + * + * @example + * `throw new PayloadTooLargeException()` + * + * @usageNotes + * The HTTP response status code will be 413. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 413. + * - `message`: the string `'Payload Too Large'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Payload Too Large") { + const { description = "Payload Too Large", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.PAYLOAD_TOO_LARGE, httpExceptionOptions?.errorCode), HttpStatus.PAYLOAD_TOO_LARGE, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/precondition-failed.exception.js +var PreconditionFailedException; +var init_precondition_failed_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/precondition-failed.exception.js"() { + init_http_status_enum(); + init_http_exception(); + PreconditionFailedException = class extends HttpException { + static { + __name(this, "PreconditionFailedException"); + } + /** + * Instantiate a `PreconditionFailedException` Exception. + * + * @example + * `throw new PreconditionFailedException()` + * + * @usageNotes + * The HTTP response status code will be 412. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 412. + * - `message`: the string `'Precondition Failed'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Precondition Failed") { + const { description = "Precondition Failed", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.PRECONDITION_FAILED, httpExceptionOptions?.errorCode), HttpStatus.PRECONDITION_FAILED, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/request-timeout.exception.js +var RequestTimeoutException; +var init_request_timeout_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/request-timeout.exception.js"() { + init_http_status_enum(); + init_http_exception(); + RequestTimeoutException = class extends HttpException { + static { + __name(this, "RequestTimeoutException"); + } + /** + * Instantiate a `RequestTimeoutException` Exception. + * + * @example + * `throw new RequestTimeoutException()` + * + * @usageNotes + * The HTTP response status code will be 408. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 408. + * - `message`: the string `'Request Timeout'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Request Timeout") { + const { description = "Request Timeout", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.REQUEST_TIMEOUT, httpExceptionOptions?.errorCode), HttpStatus.REQUEST_TIMEOUT, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/service-unavailable.exception.js +var ServiceUnavailableException; +var init_service_unavailable_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/service-unavailable.exception.js"() { + init_http_status_enum(); + init_http_exception(); + ServiceUnavailableException = class extends HttpException { + static { + __name(this, "ServiceUnavailableException"); + } + /** + * Instantiate a `ServiceUnavailableException` Exception. + * + * @example + * `throw new ServiceUnavailableException()` + * + * @usageNotes + * The HTTP response status code will be 503. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 503. + * - `message`: the string `'Service Unavailable'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Service Unavailable") { + const { description = "Service Unavailable", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.SERVICE_UNAVAILABLE, httpExceptionOptions?.errorCode), HttpStatus.SERVICE_UNAVAILABLE, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.js +var UnprocessableEntityException; +var init_unprocessable_entity_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.js"() { + init_http_status_enum(); + init_http_exception(); + UnprocessableEntityException = class extends HttpException { + static { + __name(this, "UnprocessableEntityException"); + } + /** + * Instantiate an `UnprocessableEntityException` Exception. + * + * @example + * `throw new UnprocessableEntityException()` + * + * @usageNotes + * The HTTP response status code will be 422. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 422. + * - `message`: the string `'Unprocessable Entity'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Unprocessable Entity") { + const { description = "Unprocessable Entity", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.UNPROCESSABLE_ENTITY, httpExceptionOptions?.errorCode), HttpStatus.UNPROCESSABLE_ENTITY, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.js +var UnsupportedMediaTypeException; +var init_unsupported_media_type_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.js"() { + init_http_status_enum(); + init_http_exception(); + UnsupportedMediaTypeException = class extends HttpException { + static { + __name(this, "UnsupportedMediaTypeException"); + } + /** + * Instantiate an `UnsupportedMediaTypeException` Exception. + * + * @example + * `throw new UnsupportedMediaTypeException()` + * + * @usageNotes + * The HTTP response status code will be 415. + * - The `objectOrError` argument defines the JSON response body or the message string. + * - The `descriptionOrOptions` argument contains either a short description of the HTTP error or an options object used to provide an underlying error cause. + * + * By default, the JSON response body contains two properties: + * - `statusCode`: this will be the value 415. + * - `message`: the string `'Unsupported Media Type'` by default; override this by supplying + * a string in the `objectOrError` parameter. + * + * If the parameter `objectOrError` is a string, the response body will contain an + * additional property, `error`, with a short description of the HTTP error. To override the + * entire JSON response body, pass an object instead. Nest will serialize the object + * and return it as the JSON response body. + * + * @param objectOrError string or object describing the error condition. + * @param descriptionOrOptions either a short description of the HTTP error or an options object used to provide an underlying error cause + */ + constructor(objectOrError, descriptionOrOptions = "Unsupported Media Type") { + const { description = "Unsupported Media Type", httpExceptionOptions } = HttpException.extractDescriptionAndOptionsFrom(descriptionOrOptions); + super(HttpException.createBody(objectOrError, description, HttpStatus.UNSUPPORTED_MEDIA_TYPE, httpExceptionOptions?.errorCode), HttpStatus.UNSUPPORTED_MEDIA_TYPE, httpExceptionOptions); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/index.js +var init_exceptions = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/exceptions/index.js"() { + init_bad_gateway_exception(); + init_bad_request_exception(); + init_conflict_exception(); + init_forbidden_exception(); + init_gateway_timeout_exception(); + init_gone_exception(); + init_http_version_not_supported_exception(); + init_http_exception(); + init_im_a_teapot_exception(); + init_internal_server_error_exception(); + init_intrinsic_exception(); + init_method_not_allowed_exception(); + init_misdirected_exception(); + init_not_acceptable_exception(); + init_not_found_exception(); + init_not_implemented_exception(); + init_payload_too_large_exception(); + init_precondition_failed_exception(); + init_request_timeout_exception(); + init_service_unavailable_exception(); + init_unauthorized_exception(); + init_unprocessable_entity_exception(); + init_unsupported_media_type_exception(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/index.js +var init_file_stream = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/file-stream/index.js"() { + init_streamable_file(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/abstract.interface.js +var init_abstract_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/abstract.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.js +var init_controller_metadata_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller.interface.js +var init_controller_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/controllers/controller.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.js +var init_exception_filter_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.js +var init_rpc_exception_filter_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.js +var init_ws_exception_filter_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/external/validation-error.interface.js +var init_validation_error_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/external/validation-error.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/arguments-host.interface.js +var init_arguments_host_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/arguments-host.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/can-activate.interface.js +var init_can_activate_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/can-activate.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.js +var init_custom_route_param_factory_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/execution-context.interface.js +var init_execution_context_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/execution-context.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.js +var init_nest_interceptor_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/paramtype.interface.js +var init_paramtype_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/paramtype.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.js +var init_pipe_transform_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/global-prefix-options.interface.js +var init_global_prefix_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/global-prefix-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.js +var init_before_application_shutdown_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.js +var init_on_application_bootstrap_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.js +var init_on_application_shutdown_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.js +var init_on_destroy_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-init.interface.js +var init_on_init_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/on-init.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/index.js +var init_hooks = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/hooks/index.js"() { + init_before_application_shutdown_interface(); + init_on_application_bootstrap_interface(); + init_on_application_shutdown_interface(); + init_on_destroy_interface(); + init_on_init_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/cookie-options.interface.js +var init_cookie_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/cookie-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/csrf-protection-options.interface.js +var init_csrf_protection_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/csrf-protection-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.js +var init_http_exception_body_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.js +var init_http_redirect_response_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-server.interface.js +var init_http_server_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/http-server.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/message-event.interface.js +var init_message_event_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/message-event.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.js +var init_raw_body_request_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/security-headers-options.interface.js +var init_security_headers_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/security-headers-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/index.js +var init_http2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/http/index.js"() { + init_cookie_options_interface(); + init_csrf_protection_options_interface(); + init_http_exception_body_interface(); + init_http_redirect_response_interface(); + init_http_server_interface(); + init_message_event_interface(); + init_raw_body_request_interface(); + init_security_headers_options_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/injectable.interface.js +var init_injectable_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/injectable.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.js +var init_nest_hybrid_application_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/pre-request-hook.interface.js +var init_pre_request_hook_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/pre-request-hook.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/transport-server.interface.js +var init_transport_server_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/microservices/transport-server.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.js +var init_middleware_config_proxy_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.js +var init_middleware_configuration_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.js +var init_middleware_consumer_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.js +var init_nest_middleware_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/index.js +var init_middleware = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/middleware/index.js"() { + init_middleware_config_proxy_interface(); + init_middleware_configuration_interface(); + init_middleware_consumer_interface(); + init_nest_middleware_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.js +var init_dynamic_module_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.js +var init_forward_reference_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/injection-token.interface.js +var init_injection_token_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/injection-token.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.js +var init_introspection_result_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.js +var init_module_metadata_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/nest-module.interface.js +var init_nest_module_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/nest-module.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.js +var init_optional_factory_dependency_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/provider.interface.js +var init_provider_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/provider.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/index.js +var init_modules2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/modules/index.js"() { + init_dynamic_module_interface(); + init_forward_reference_interface(); + init_injection_token_interface(); + init_introspection_result_interface(); + init_module_metadata_interface(); + init_nest_module_interface(); + init_optional_factory_dependency_interface(); + init_provider_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-context.interface.js +var init_nest_application_context_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-context.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-options.interface.js +var init_nest_application_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application.interface.js +var init_nest_application_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-application.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-microservice.interface.js +var init_nest_microservice_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/nest-microservice.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/router-options.interface.js +var init_router_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/router-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/scope-options.interface.js +var Scope; +var init_scope_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/scope-options.interface.js"() { + (function(Scope2) { + Scope2[Scope2["DEFAULT"] = 0] = "DEFAULT"; + Scope2[Scope2["TRANSIENT"] = 1] = "TRANSIENT"; + Scope2[Scope2["REQUEST"] = 2] = "REQUEST"; + })(Scope || (Scope = {})); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.js +var init_shutdown_hooks_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/shutdown-hooks-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/type.interface.js +var init_type_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/type.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.js +var init_web_socket_adapter_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/index.js +var init_interfaces = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/interfaces/index.js"() { + init_abstract_interface(); + init_controller_metadata_interface(); + init_controller_interface(); + init_exception_filter_interface(); + init_rpc_exception_filter_interface(); + init_ws_exception_filter_interface(); + init_validation_error_interface(); + init_arguments_host_interface(); + init_can_activate_interface(); + init_custom_route_param_factory_interface(); + init_execution_context_interface(); + init_nest_interceptor_interface(); + init_paramtype_interface(); + init_pipe_transform_interface(); + init_global_prefix_options_interface(); + init_hooks(); + init_http2(); + init_injectable_interface(); + init_nest_hybrid_application_options_interface(); + init_pre_request_hook_interface(); + init_transport_server_interface(); + init_middleware(); + init_modules2(); + init_nest_application_context_interface(); + init_nest_application_options_interface(); + init_nest_application_interface(); + init_nest_microservice_interface(); + init_router_options_interface(); + init_scope_options_interface(); + init_shutdown_hooks_options_interface(); + init_type_interface(); + init_version_options_interface(); + init_web_socket_adapter_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/constants.js +var DEFAULT_METHOD_KEY, DEFAULT_FACTORY_CLASS_METHOD_KEY, ASYNC_METHOD_SUFFIX, CONFIGURABLE_MODULE_ID, ASYNC_OPTIONS_METADATA_KEYS; +var init_constants2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/constants.js"() { + DEFAULT_METHOD_KEY = "register"; + DEFAULT_FACTORY_CLASS_METHOD_KEY = "create"; + ASYNC_METHOD_SUFFIX = "Async"; + CONFIGURABLE_MODULE_ID = "CONFIGURABLE_MODULE_ID"; + ASYNC_OPTIONS_METADATA_KEYS = [ + "useFactory", + "useClass", + "useExisting", + "inject", + "imports", + "provideInjectionTokensFrom" + ]; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/generate-options-injection-token.util.js +function generateOptionsInjectionToken() { + const hash = randomStringGenerator(); + return `CONFIGURABLE_MODULE_OPTIONS[${hash}]`; +} +var init_generate_options_injection_token_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/generate-options-injection-token.util.js"() { + init_random_string_generator_util(); + __name(generateOptionsInjectionToken, "generateOptionsInjectionToken"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/get-injection-providers.util.js +function isOptionalFactoryDependency(value) { + return !isUndefined(value.token) && !isUndefined(value.optional) && !value.prototype; +} +function getInjectionProviders(providers, tokens) { + const result = []; + let search = tokens.map(mapInjectToTokens); + while (search.length > 0) { + const match = (providers ?? []).filter((p) => !result.includes(p) && // this prevents circular loops and duplication + (search.includes(p) || search.includes(p?.provide))); + result.push(...match); + search = match.flatMap((p) => p?.useExisting !== void 0 ? [p.useExisting] : p?.inject ?? []).map(mapInjectToTokens); + } + return result; +} +var mapInjectToTokens; +var init_get_injection_providers_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/get-injection-providers.util.js"() { + init_shared_utils(); + __name(isOptionalFactoryDependency, "isOptionalFactoryDependency"); + mapInjectToTokens = /* @__PURE__ */ __name((t) => isOptionalFactoryDependency(t) ? t.token : t, "mapInjectToTokens"); + __name(getInjectionProviders, "getInjectionProviders"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/index.js +var init_utils2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/utils/index.js"() { + init_generate_options_injection_token_util(); + init_get_injection_providers_util(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/configurable-module.builder.js +var ConfigurableModuleBuilder; +var init_configurable_module_builder = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/configurable-module.builder.js"() { + init_logger_service(); + init_random_string_generator_util(); + init_constants2(); + init_utils2(); + ConfigurableModuleBuilder = class _ConfigurableModuleBuilder { + static { + __name(this, "ConfigurableModuleBuilder"); + } + options; + staticMethodKey; + factoryClassMethodKey; + extras; + transformModuleDefinition; + logger = new Logger(_ConfigurableModuleBuilder.name); + constructor(options = {}, parentBuilder) { + this.options = options; + if (parentBuilder) { + this.staticMethodKey = parentBuilder.staticMethodKey; + this.factoryClassMethodKey = parentBuilder.factoryClassMethodKey; + this.transformModuleDefinition = parentBuilder.transformModuleDefinition; + this.extras = parentBuilder.extras; + } + } + /** + * Registers the "extras" object (a set of extra options that can be used to modify the dynamic module definition). + * Values you specify within the "extras" object will be used as default values (that can be overridden by module consumers). + * + * This method also applies the so-called "module definition transform function" that takes the auto-generated + * dynamic module object ("DynamicModule") and the actual consumer "extras" object as input parameters. + * The "extras" object consists of values explicitly specified by module consumers and default values. + * + * @example + * ```typescript + * .setExtras<{ isGlobal?: boolean }>({ isGlobal: false }, (definition, extras) => + * ({ ...definition, global: extras.isGlobal }) + * ) + * ``` + */ + setExtras(extras, transformDefinition = (def) => def) { + const builder = new _ConfigurableModuleBuilder(this.options, this); + builder.extras = extras; + builder.transformModuleDefinition = transformDefinition; + return builder; + } + /** + * Dynamic modules must expose public static methods that let you pass in + * configuration parameters (control the module's behavior from the outside). + * Some frequently used names that you may have seen in other modules are: + * "forRoot", "forFeature", "register", "configure". + * + * This method "setClassMethodName" lets you specify the name of the + * method that will be auto-generated. + * + * @param key name of the method + */ + setClassMethodName(key) { + const builder = new _ConfigurableModuleBuilder(this.options, this); + builder.staticMethodKey = key; + return builder; + } + /** + * Asynchronously configured modules (that rely on other modules, i.e. "ConfigModule") + * let you pass the configuration factory class that will be registered and instantiated as a provider. + * This provider then will be used to retrieve the module's configuration. To provide the configuration, + * the corresponding factory method must be implemented. + * + * This method ("setFactoryMethodName") lets you control what method name will have to be + * implemented by the config factory (default is "create"). + * + * @param key name of the method + */ + setFactoryMethodName(key) { + const builder = new _ConfigurableModuleBuilder(this.options, this); + builder.factoryClassMethodKey = key; + return builder; + } + /** + * Returns an object consisting of multiple properties that lets you + * easily construct dynamic configurable modules. See "ConfigurableModuleHost" interface for more details. + */ + build() { + this.staticMethodKey ??= DEFAULT_METHOD_KEY; + this.factoryClassMethodKey ??= DEFAULT_FACTORY_CLASS_METHOD_KEY; + this.options.optionsInjectionToken ??= this.options.moduleName ? this.constructInjectionTokenString() : generateOptionsInjectionToken(); + this.transformModuleDefinition ??= (definition) => definition; + return { + ConfigurableModuleClass: this.createConfigurableModuleCls(), + MODULE_OPTIONS_TOKEN: this.options.optionsInjectionToken, + ASYNC_OPTIONS_TYPE: this.createTypeProxy("ASYNC_OPTIONS_TYPE"), + OPTIONS_TYPE: this.createTypeProxy("OPTIONS_TYPE") + }; + } + constructInjectionTokenString() { + const moduleNameInSnakeCase = this.options.moduleName.trim().split(/(?=[A-Z])/).join("_").toUpperCase(); + return `${moduleNameInSnakeCase}_MODULE_OPTIONS`; + } + createConfigurableModuleCls() { + const self2 = this; + const asyncMethodKey = this.staticMethodKey + ASYNC_METHOD_SUFFIX; + class InternalModuleClass { + static { + __name(this, "InternalModuleClass"); + } + static [self2.staticMethodKey](options) { + const providers = [ + { + provide: self2.options.optionsInjectionToken, + useValue: this.omitExtras(options, self2.extras) + } + ]; + if (self2.options.alwaysTransient) { + providers.push({ + provide: CONFIGURABLE_MODULE_ID, + useValue: randomStringGenerator() + }); + } + return self2.transformModuleDefinition({ + module: this, + providers + }, { + ...self2.extras, + ...options + }); + } + static [asyncMethodKey](options) { + const providers = this.createAsyncProviders(options); + if (self2.options.alwaysTransient) { + providers.push({ + provide: CONFIGURABLE_MODULE_ID, + useValue: randomStringGenerator() + }); + } + return self2.transformModuleDefinition({ + module: this, + imports: options.imports || [], + providers + }, { + ...self2.extras, + ...this.extractExtrasFromAsyncOptions(options, self2.extras) + }); + } + static omitExtras(input, extras) { + if (!extras) { + return input; + } + const moduleOptions = {}; + const extrasKeys = Object.keys(extras); + Object.keys(input).filter((key) => !extrasKeys.includes(key)).forEach((key) => { + moduleOptions[key] = input[key]; + }); + return moduleOptions; + } + static extractExtrasFromAsyncOptions(input, extras) { + if (!extras) { + return {}; + } + const extrasOptions = {}; + Object.keys(input).filter((key) => !ASYNC_OPTIONS_METADATA_KEYS.includes(key)).forEach((key) => { + extrasOptions[key] = input[key]; + }); + return extrasOptions; + } + static createAsyncProviders(options) { + if (options.useExisting || options.useFactory) { + if (options.inject && options.provideInjectionTokensFrom) { + return [ + this.createAsyncOptionsProvider(options), + ...getInjectionProviders(options.provideInjectionTokensFrom, options.inject) + ]; + } + return [this.createAsyncOptionsProvider(options)]; + } + return [ + this.createAsyncOptionsProvider(options), + { + provide: options.useClass, + useClass: options.useClass + } + ]; + } + static createAsyncOptionsProvider(options) { + if (options.useFactory) { + return { + provide: self2.options.optionsInjectionToken, + useFactory: options.useFactory, + inject: options.inject || [] + }; + } + return { + provide: self2.options.optionsInjectionToken, + useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory[self2.factoryClassMethodKey](), "useFactory"), + inject: [options.useExisting || options.useClass] + }; + } + } + return InternalModuleClass; + } + createTypeProxy(typeName) { + const proxy = new Proxy({}, { + get: /* @__PURE__ */ __name(() => { + throw new Error(`"${typeName}" is not supposed to be used as a value.`); + }, "get") + }); + return proxy; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.js +var init_configurable_module_async_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.js +var init_configurable_module_cls_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.js +var init_configurable_module_host_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/index.js +var init_interfaces2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/interfaces/index.js"() { + init_configurable_module_async_options_interface(); + init_configurable_module_cls_interface(); + init_configurable_module_host_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/index.js +var init_module_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/module-utils/index.js"() { + init_configurable_module_builder(); + init_interfaces2(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/default-value.pipe.js +var DefaultValuePipe; +var init_default_value_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/default-value.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_shared_utils(); + DefaultValuePipe = class DefaultValuePipe2 { + static { + __name(this, "DefaultValuePipe"); + } + defaultValue; + constructor(defaultValue) { + this.defaultValue = defaultValue; + } + transform(value, _metadata) { + if (isNil(value) || isNumber(value) && isNaN(value)) { + return this.copyDefaultValue(this.defaultValue); + } + return value; + } + /** + * Copies `value` if it is an array or a plain object, along with the arrays + * and plain objects nested in it. `copies` maps the objects copied so far + * to their copies, so that shared and circular references are preserved. + */ + copyDefaultValue(value, copies) { + const isArray = Array.isArray(value) && Object.getPrototypeOf(value) === Array.prototype; + if (!isArray && !isPlainObject(value)) { + return value; + } + copies ??= /* @__PURE__ */ new Map(); + if (copies.has(value)) { + return copies.get(value); + } + const copy = Object.assign(isArray ? [] : Object.create(Object.getPrototypeOf(value)), value); + copies.set(value, copy); + for (const key of Reflect.ownKeys(copy)) { + copy[key] = this.copyDefaultValue(copy[key], copies); + } + return copy; + } + }; + DefaultValuePipe = __decorate([ + Injectable(), + __metadata("design:paramtypes", [Object]) + ], DefaultValuePipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-validator.interface.js +var FileValidator; +var init_file_validator_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-validator.interface.js"() { + FileValidator = class { + static { + __name(this, "FileValidator"); + } + validationOptions; + constructor(validationOptions) { + this.validationOptions = validationOptions; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-type.validator.js +var logger2, FileTypeValidator; +var init_file_type_validator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/file-type.validator.js"() { + init_logger_service(); + init_file_validator_interface(); + logger2 = new Logger("FileTypeValidator"); + FileTypeValidator = class extends FileValidator { + static { + __name(this, "FileTypeValidator"); + } + buildErrorMessage(file) { + const { errorMessage, ...config } = this.validationOptions; + if (errorMessage) { + return typeof errorMessage === "function" ? errorMessage({ file, config }) : errorMessage; + } + if (file?.mimetype && !file.buffer && !this.validationOptions?.fallbackToMimetype && !this.validationOptions?.skipMagicNumbersValidation) { + return `Validation failed (file buffer is not available; file type validation could not be performed; expected type is ${this.validationOptions.fileType})`; + } + if (file?.mimetype) { + const baseMessage = `Validation failed (current file type is ${file.mimetype}, expected type is ${this.validationOptions.fileType})`; + if (this.validationOptions.fallbackToMimetype) { + return `${baseMessage} - magic number detection failed, used mimetype fallback`; + } + return baseMessage; + } + return `Validation failed (expected type is ${this.validationOptions.fileType})`; + } + async isValid(file) { + if (!this.validationOptions) { + return true; + } + const isFileValid = !!file && "mimetype" in file; + if (this.validationOptions.skipMagicNumbersValidation) { + return isFileValid && this.matchesFileType(file.mimetype); + } + if (!isFileValid) + return false; + if (!file.buffer) { + if (this.validationOptions.fallbackToMimetype) { + return this.matchesFileType(file.mimetype); + } + return false; + } + try { + const { fileTypeFromBuffer } = await import("./source-SMPGMLTA.js"); + const fileType = await fileTypeFromBuffer(file.buffer); + if (fileType) { + if (this.validationOptions.overrideMimeType) { + file.mimetype = fileType.mime; + } + return this.matchesFileType(fileType.mime); + } + if (this.validationOptions.fallbackToMimetype) { + return this.matchesFileType(file.mimetype); + } + return false; + } catch (error) { + const errorMessage = error instanceof Error ? error.message : String(error); + if (errorMessage.includes("ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING") || errorMessage.includes("Cannot find module") || errorMessage.includes("ERR_MODULE_NOT_FOUND")) { + logger2.warn(`Failed to load the "file-type" package for magic number validation. If you are using Jest, run it with NODE_OPTIONS="--experimental-vm-modules". Error: ${errorMessage}`); + } + if (this.validationOptions.fallbackToMimetype) { + return this.matchesFileType(file.mimetype); + } + return false; + } + } + matchesFileType(mimetype) { + const { fileType } = this.validationOptions; + if (typeof fileType === "string" && mimetype === fileType) { + return true; + } + if (typeof fileType === "string") { + return !!mimetype.match(/[a-z\d]$/i.test(fileType) ? `(?:${fileType})(?![\\w-])` : fileType); + } + return !!mimetype.match(new RegExp(fileType)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/max-file-size.validator.js +var MaxFileSizeValidator; +var init_max_file_size_validator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/max-file-size.validator.js"() { + init_file_validator_interface(); + MaxFileSizeValidator = class extends FileValidator { + static { + __name(this, "MaxFileSizeValidator"); + } + buildErrorMessage(file) { + const { errorMessage, message, ...config } = this.validationOptions; + if (errorMessage) { + return typeof errorMessage === "function" ? errorMessage({ file, config }) : errorMessage; + } + if (message) { + return typeof message === "function" ? message(this.validationOptions.maxSize) : message; + } + if (file?.size) { + return `Validation failed (current file size is ${file.size}, expected size is less than ${this.validationOptions.maxSize})`; + } + return `Validation failed (expected size is less than ${this.validationOptions.maxSize})`; + } + isValid(file) { + if (!this.validationOptions || !file) { + return true; + } + return "size" in file && file.size < this.validationOptions.maxSize; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-options.interface.js +var init_parse_file_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/http-error-by-code.util.js +var HttpErrorByCode; +var init_http_error_by_code_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/http-error-by-code.util.js"() { + init_enums(); + init_exceptions(); + HttpErrorByCode = { + [HttpStatus.BAD_GATEWAY]: BadGatewayException, + [HttpStatus.BAD_REQUEST]: BadRequestException, + [HttpStatus.CONFLICT]: ConflictException, + [HttpStatus.FORBIDDEN]: ForbiddenException, + [HttpStatus.GATEWAY_TIMEOUT]: GatewayTimeoutException, + [HttpStatus.GONE]: GoneException, + [HttpStatus.HTTP_VERSION_NOT_SUPPORTED]: HttpVersionNotSupportedException, + [HttpStatus.I_AM_A_TEAPOT]: ImATeapotException, + [HttpStatus.INTERNAL_SERVER_ERROR]: InternalServerErrorException, + [HttpStatus.METHOD_NOT_ALLOWED]: MethodNotAllowedException, + [HttpStatus.MISDIRECTED]: MisdirectedException, + [HttpStatus.NOT_ACCEPTABLE]: NotAcceptableException, + [HttpStatus.NOT_FOUND]: NotFoundException, + [HttpStatus.NOT_IMPLEMENTED]: NotImplementedException, + [HttpStatus.PAYLOAD_TOO_LARGE]: PayloadTooLargeException, + [HttpStatus.PRECONDITION_FAILED]: PreconditionFailedException, + [HttpStatus.REQUEST_TIMEOUT]: RequestTimeoutException, + [HttpStatus.SERVICE_UNAVAILABLE]: ServiceUnavailableException, + [HttpStatus.UNAUTHORIZED]: UnauthorizedException, + [HttpStatus.UNPROCESSABLE_ENTITY]: UnprocessableEntityException, + [HttpStatus.UNSUPPORTED_MEDIA_TYPE]: UnsupportedMediaTypeException + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file.pipe.js +var ParseFilePipe; +var init_parse_file_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file.pipe.js"() { + init_tslib_es6(); + init_core(); + init_enums(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseFilePipe = class ParseFilePipe2 { + static { + __name(this, "ParseFilePipe"); + } + exceptionFactory; + validators; + fileIsRequired; + constructor(options = {}) { + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST, validators = [], fileIsRequired } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + this.validators = validators; + this.fileIsRequired = fileIsRequired ?? true; + } + async transform(value) { + const areThereAnyFilesIn = this.thereAreNoFilesIn(value); + if (areThereAnyFilesIn && this.fileIsRequired) { + throw this.exceptionFactory("File is required"); + } + if (!areThereAnyFilesIn && this.validators.length) { + await this.validateFilesOrFile(value); + } + return value; + } + async validateFilesOrFile(value) { + if (Array.isArray(value)) { + await Promise.all(value.map((f) => this.validate(f))); + } else { + await this.validate(value); + } + } + thereAreNoFilesIn(value) { + const isEmptyObject = isObject(value) && isEmptyArray(Object.keys(value)); + return isNil(value) || isEmptyArray(value) || isEmptyObject; + } + async validate(file) { + for (const validator of this.validators) { + await this.validateOrThrow(file, validator); + } + return file; + } + async validateOrThrow(file, validator) { + const isValid = await validator.isValid(file); + if (!isValid) { + const errorMessage = validator.buildErrorMessage(file); + throw this.exceptionFactory(errorMessage); + } + } + /** + * @returns list of validators used in this pipe. + */ + getValidators() { + return this.validators; + } + }; + ParseFilePipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseFilePipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.js +var ParseFilePipeBuilder; +var init_parse_file_pipe_builder = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.js"() { + init_file_type_validator(); + init_max_file_size_validator(); + init_parse_file_pipe(); + ParseFilePipeBuilder = class { + static { + __name(this, "ParseFilePipeBuilder"); + } + validators = []; + addMaxSizeValidator(options) { + return this.addValidator(new MaxFileSizeValidator(options)); + } + addFileTypeValidator(options) { + return this.addValidator(new FileTypeValidator(options)); + } + addValidator(validator) { + this.validators.push(validator); + return this; + } + build(additionalOptions) { + const parseFilePipe = new ParseFilePipe({ + ...additionalOptions, + validators: this.validators + }); + this.validators = []; + return parseFilePipe; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/index.js +var init_file = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/file/index.js"() { + init_file_type_validator(); + init_file_validator_interface(); + init_max_file_size_validator(); + init_parse_file_options_interface(); + init_parse_file_pipe(); + init_parse_file_pipe_builder(); + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/concat.js +var require_concat = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/concat.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var ConcatIterator = class { + static { + __name(this, "ConcatIterator"); + } + constructor(toConcat) { + this.toConcat = toConcat; + } + next() { + if (this.toConcat.length === 0) { + return { done: true }; + } + const result = this.toConcat[0].next(); + if (!result.done) { + return result; + } + this.toConcat.shift(); + return this.next(); + } + }; + exports.ConcatIterator = ConcatIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/filter.js +var require_filter = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/filter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var FilterIterator = class { + static { + __name(this, "FilterIterator"); + } + constructor(source, predicate) { + this.source = source; + this.predicate = predicate; + } + next() { + let result; + do { + result = this.source.next(); + } while (!result.done && !this.predicate(result.value)); + return result; + } + }; + exports.FilterIterator = FilterIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/utils.js +var require_utils = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/utils.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + function isIterator(candidate) { + return typeof candidate === "object" && candidate !== null && typeof candidate.next === "function"; + } + __name(isIterator, "isIterator"); + exports.isIterator = isIterator; + function isIterable(candidate) { + return typeof candidate === "object" && candidate !== null && typeof candidate[Symbol.iterator] === "function"; + } + __name(isIterable, "isIterable"); + exports.isIterable = isIterable; + function toIterator(collection) { + if (isIterator(collection)) { + return collection; + } + if (isIterable(collection)) { + return collection[Symbol.iterator](); + } + throw new Error("Passed collection is neither an Iterator nor an Iterable"); + } + __name(toIterator, "toIterator"); + exports.toIterator = toIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/flatten.js +var require_flatten = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/flatten.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var utils_1 = require_utils(); + var FlattenIterator = class { + static { + __name(this, "FlattenIterator"); + } + constructor(outer) { + this.outer = outer; + } + next() { + if (this.inner) { + const result = this.inner.next(); + if (!result.done) { + return result; + } + this.inner = void 0; + } + const { value, done } = this.outer.next(); + if (utils_1.isIterable(value)) { + this.inner = value[Symbol.iterator](); + return this.next(); + } + return { value, done }; + } + }; + exports.FlattenIterator = FlattenIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/map.js +var require_map = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/map.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var MapIterator = class { + static { + __name(this, "MapIterator"); + } + constructor(source, iteratee) { + this.source = source; + this.iteratee = iteratee; + } + next() { + const { value, done } = this.source.next(); + return { value: !done && this.iteratee(value), done }; + } + }; + exports.MapIterator = MapIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/slice.js +var require_slice = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/slice.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var SliceIterator = class { + static { + __name(this, "SliceIterator"); + } + /** + * @param {Iterator} source Source Iterator + * @param {number} start Zero-based positive start index, inclusive + * @param {number} end Zero-based positive end index, exclusive, defaults to end of iterator + */ + constructor(source, start, end = Infinity) { + this.source = source; + this.start = start; + this.end = end; + this.i = 0; + } + next() { + while (this.i < this.start) { + const result = this.source.next(); + if (result.done) { + return result; + } + this.i++; + } + this.i++; + if (this.i >= this.end) { + return { done: true }; + } + return this.source.next(); + } + }; + exports.SliceIterator = SliceIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/zip.js +var require_zip = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/zip.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var ZipIterator = class { + static { + __name(this, "ZipIterator"); + } + constructor(a, b) { + this.a = a; + this.b = b; + } + next() { + const a = this.a.next(); + if (a.done) { + return { done: true }; + } + const b = this.b.next(); + if (b.done) { + return { done: true }; + } + return { value: [a.value, b.value], done: false }; + } + }; + exports.ZipIterator = ZipIterator; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/iterate.js +var require_iterate = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/iterate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var concat_1 = require_concat(); + var filter_1 = require_filter(); + var flatten_1 = require_flatten(); + var map_1 = require_map(); + var slice_1 = require_slice(); + var utils_1 = require_utils(); + var zip_1 = require_zip(); + var IteratorWithOperators = class _IteratorWithOperators { + static { + __name(this, "IteratorWithOperators"); + } + /** + * @param source Iterator to wrap + */ + constructor(source) { + this.source = source; + } + /** + * Returns a `{ value, done }` object that adheres to the Iterator protocol + */ + next() { + return this.source.next(); + } + /** + * The presence of this method makes the Iterator itself Iterable. + * This makes it possible to pass it to `for of` and Iterable-accepting functions like `Array.from()` + */ + [Symbol.iterator]() { + return this; + } + /** + * Returns a new Iterator by running each element thru iteratee + */ + map(iteratee) { + return new _IteratorWithOperators(new map_1.MapIterator(this.source, iteratee)); + } + filter(predicate) { + return new _IteratorWithOperators(new filter_1.FilterIterator(this.source, predicate)); + } + /** + * Returns a new Iterator concatenating the Iterator with an additional Iterator or Iterable + */ + concat(collection) { + return new _IteratorWithOperators(new concat_1.ConcatIterator([this.source, utils_1.toIterator(collection)])); + } + /** + * Returns a new Iterator that emits slice of the source with n elements taken from the beginning + * + * @param limit The number of elements to take. + */ + take(limit) { + return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, 0, limit + 1)); + } + /** + * Returns a new Iterator that emits slice of the source with n elements dropped from the beginning + * + * @param n The number of elements to drop. + */ + drop(n) { + return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, n, Infinity)); + } + /** + * Returns a new Iterator that emits a slice of the source + * + * @param {number} start Zero-based positive start index, inclusive + * @param {number} end Zero-based positive end index, exclusive, defaults to end of iterator + */ + slice(start, end = Infinity) { + return new _IteratorWithOperators(new slice_1.SliceIterator(this.source, start, end)); + } + /** + * Returns a new Iterator that flattens items emitted by the Iterator a single level deep + */ + flatten() { + return new _IteratorWithOperators(new flatten_1.FlattenIterator(this.source)); + } + reduce(iteratee, accumulator) { + let result; + if (accumulator === void 0) { + result = this.source.next(); + if (result.done) { + throw new TypeError("Reduce of empty Iterator with no initial value"); + } + accumulator = result.value; + } + while (true) { + result = this.source.next(); + if (result.done) { + break; + } + accumulator = iteratee(accumulator, result.value); + } + return accumulator; + } + find(predicate) { + let result; + while (true) { + result = this.source.next(); + if (result.done) { + return void 0; + } + if (predicate(result.value)) { + return result.value; + } + } + } + /** + * Iterates and checks if `value` is emitted by the Iterator + * + * @param value The value to search + */ + includes(value) { + let result; + do { + result = this.source.next(); + if (!result.done && result.value === value) { + return true; + } + } while (!result.done); + return false; + } + /** + * Iterates and checks if `predicate` returns truthy for any element emitted by the Iterator + */ + some(predicate) { + let result; + do { + result = this.source.next(); + if (!result.done && predicate(result.value)) { + return true; + } + } while (!result.done); + return false; + } + /** + * Iterates and checks if `predicate` returns truthy for all elements emitted by the Iterator + */ + every(predicate) { + let result; + do { + result = this.source.next(); + if (!result.done && !predicate(result.value)) { + return false; + } + } while (!result.done); + return true; + } + /** + * Iterates and invokes `iteratee` for every element emitted by the Iterator + */ + forEach(iteratee) { + let result; + while (true) { + result = this.source.next(); + if (result.done) { + break; + } + iteratee(result.value); + } + } + /** + * Iterates and joins all elements emitted by the Iterator together as a string separated by an optional separator + */ + join(separator = ",") { + let joined = ""; + let result; + while (true) { + result = this.source.next(); + if (result.done) { + break; + } + joined += separator + result.value; + } + return joined.substr(separator.length); + } + /** + * Iterates and returns all items emitted by the Iterator as an array. + * Equivalent to passing the Iterator to `Array.from()` + */ + toArray() { + return Array.from(this); + } + /** + * Iterates and returns all items emitted by the Iterator as an ES6 Set. + * Equivalent to passing the Iterator to `new Set()` + */ + toSet() { + const set = /* @__PURE__ */ new Set(); + while (true) { + const { value, done } = this.next(); + if (done) { + return set; + } + set.add(value); + } + } + /** + * Iterates and returns all `[key, value]` paris emitted by the Iterator as an ES6 Map. + * Equivalent to passing the Iterator to `new Map()` + */ + toMap() { + return new Map(this); + } + }; + exports.IteratorWithOperators = IteratorWithOperators; + function iterate2(collection) { + return new IteratorWithOperators(utils_1.toIterator(collection)); + } + __name(iterate2, "iterate"); + exports.iterate = iterate2; + function zip(a, b) { + return new IteratorWithOperators(new zip_1.ZipIterator(utils_1.toIterator(a), utils_1.toIterator(b))); + } + __name(zip, "zip"); + exports.zip = zip; + exports.default = iterate2; + } +}); + +// ../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/index.js +var require_lib = __commonJS({ + "../../node_modules/.pnpm/iterare@1.2.1/node_modules/iterare/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var iterate_1 = require_iterate(); + exports.iterate = iterate_1.iterate; + exports.zip = iterate_1.zip; + exports.default = iterate_1.iterate; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/strip-proto-keys.util.js +import { types as types2 } from "util"; +function stripProtoKeys(value) { + if (value == null || typeof value !== "object" || types2.isTypedArray(value)) { + return; + } + if (BUILT_IN_TYPES.some((type) => value instanceof type)) { + return; + } + if (Array.isArray(value)) { + for (const v of Object.values(value)) { + stripProtoKeys(v); + } + return; + } + delete value.__proto__; + delete value.prototype; + if (!BUILT_IN_TYPES.includes(value.constructor)) { + delete value.constructor; + } + for (const key in value) { + stripProtoKeys(value[key]); + } +} +var BUILT_IN_TYPES; +var init_strip_proto_keys_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/strip-proto-keys.util.js"() { + BUILT_IN_TYPES = [Date, RegExp, Error, Map, Set, WeakMap, WeakSet]; + __name(stripProtoKeys, "stripProtoKeys"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/validation.pipe.js +var import_iterare, DEFAULT_MAX_ERROR_MESSAGES_LENGTH, OMITTED_ERRORS_MESSAGE, classValidator, classTransformer, ValidationPipe; +var init_validation_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/validation.pipe.js"() { + init_tslib_es6(); + import_iterare = __toESM(require_lib(), 1); + init_core(); + init_decorators(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_load_package_util(); + init_shared_utils(); + init_strip_proto_keys_util(); + DEFAULT_MAX_ERROR_MESSAGES_LENGTH = 1e6; + OMITTED_ERRORS_MESSAGE = "Further validation errors were omitted"; + classValidator = {}; + classTransformer = {}; + ValidationPipe = class ValidationPipe2 { + static { + __name(this, "ValidationPipe"); + } + isTransformEnabled; + isDetailedOutputDisabled; + validatorOptions; + transformOptions; + errorHttpStatusCode; + expectedType; + exceptionFactory; + validateCustomDecorators; + errorFormat; + maxErrorMessagesLength; + constructor(options) { + options = options || {}; + const { transform, disableErrorMessages, errorHttpStatusCode, expectedType, transformOptions, exceptionFactory, validatorPackage, transformerPackage, validateCustomDecorators, errorFormat, maxErrorMessagesLength, ...validatorOptions } = options; + this.validatorOptions = { forbidUnknownValues: false, ...validatorOptions }; + this.isTransformEnabled = !!transform; + this.transformOptions = transformOptions; + this.isDetailedOutputDisabled = disableErrorMessages; + this.validateCustomDecorators = validateCustomDecorators || false; + this.errorHttpStatusCode = errorHttpStatusCode || HttpStatus.BAD_REQUEST; + this.expectedType = expectedType; + this.errorFormat = errorFormat || "list"; + this.maxErrorMessagesLength = maxErrorMessagesLength ?? DEFAULT_MAX_ERROR_MESSAGES_LENGTH; + this.exceptionFactory = exceptionFactory || this.createExceptionFactory(); + classValidator = this.loadValidator(validatorPackage); + classTransformer = this.loadTransformer(transformerPackage); + } + loadValidator(validatorPackage) { + return validatorPackage ?? loadPackage("class-validator", "ValidationPipe", () => import("class-validator")); + } + loadTransformer(transformerPackage) { + return transformerPackage ?? loadPackage("class-transformer", "ValidationPipe", () => import("class-transformer")); + } + async transform(value, metadata) { + if (this.expectedType) { + metadata = { ...metadata, metatype: this.expectedType }; + } + const metatype = metadata.metatype; + if (!metatype || !this.toValidate(metadata)) { + return this.isTransformEnabled ? this.transformPrimitive(value, metadata) : value; + } + classValidator = await classValidator; + classTransformer = await classTransformer; + const originalValue = value; + value = this.toEmptyIfNil(value, metatype); + const isNil2 = value !== originalValue; + const isPrimitive = this.isPrimitive(value); + this.stripProtoKeys(value); + let entity = classTransformer.plainToInstance(metatype, value, this.transformOptions); + const originalEntity = entity; + const isCtorNotEqual = entity.constructor !== metatype; + if (isCtorNotEqual && !isPrimitive) { + entity.constructor = metatype; + } else if (isCtorNotEqual) { + entity = { constructor: metatype }; + } + const errors = await this.validate(entity, { + ...this.validatorOptions, + // The target of an error is the whole object it was found in, so an + // exception factory that sends the errors would repeat that object + // once per error. + validationError: { + target: false, + ...this.validatorOptions.validationError + } + }); + if (errors.length > 0) { + throw await this.exceptionFactory(errors); + } + if (isCtorNotEqual && (isPrimitive || Array.isArray(value)) && await this.hasValidationRules(metatype)) { + throw await this.exceptionFactory([ + { + property: metadata.data || metadata.type, + constraints: { isObject: "Validation failed (object is expected)" }, + children: [] + } + ]); + } + if (originalValue === void 0 && originalEntity === "") { + return originalValue; + } + if (isPrimitive) { + entity = originalEntity; + } + if (this.isTransformEnabled) { + return entity; + } + if (isNil2) { + return originalValue; + } + const shouldTransformToPlain = Object.keys(this.validatorOptions).length > 1; + return shouldTransformToPlain ? classTransformer.classToPlain(entity, this.transformOptions) : value; + } + createExceptionFactory() { + return (validationErrors = []) => { + if (this.isDetailedOutputDisabled) { + return new HttpErrorByCode[this.errorHttpStatusCode](); + } + const budget = { + remaining: this.maxErrorMessagesLength, + isExceeded: false + }; + validationErrors = this.limitValidationErrors(validationErrors, budget); + if (this.errorFormat === "grouped") { + let errors2 = this.groupValidationErrors(validationErrors); + if (budget.isExceeded) { + errors2 = { ...errors2, "...": [OMITTED_ERRORS_MESSAGE] }; + } + const { message: error, statusCode } = new HttpErrorByCode[this.errorHttpStatusCode]().getResponse(); + return new HttpErrorByCode[this.errorHttpStatusCode]({ + message: errors2, + error, + statusCode + }); + } + let errors = this.flattenValidationErrors(validationErrors); + if (budget.isExceeded) { + errors = [...errors, OMITTED_ERRORS_MESSAGE]; + } + return new HttpErrorByCode[this.errorHttpStatusCode](errors); + }; + } + /** + * Leaves out the errors that come after the first "maxErrorMessagesLength" + * characters of messages. Each message counts with the path of its + * property, which is what makes the response to a deeply nested payload + * grow faster than the payload. The errors past the limit are not visited. + */ + limitValidationErrors(validationErrors, budget, parentPathLength = 0) { + const limited = []; + let isChanged = false; + for (const error of validationErrors) { + if (budget.remaining <= 0) { + budget.isExceeded = true; + return limited; + } + const pathLength = parentPathLength + String(error.property).length + 1; + for (const key in error.constraints) { + budget.remaining -= pathLength + String(error.constraints[key]).length; + } + const children = error.children && this.limitValidationErrors(error.children, budget, pathLength); + if (children === error.children) { + limited.push(error); + } else { + limited.push({ ...error, children }); + isChanged = true; + } + } + return isChanged ? limited : validationErrors; + } + toValidate(metadata) { + const { metatype, type } = metadata; + if (type === "custom" && !this.validateCustomDecorators) { + return false; + } + const types3 = [String, Boolean, Number, Array, Object, Buffer, Date]; + return !types3.some((t) => metatype === t) && !isNil(metatype); + } + transformPrimitive(value, metadata) { + if (!metadata.data) { + return value; + } + const { type, metatype } = metadata; + if (type !== "param" && type !== "query") { + return value; + } + if (metatype === Boolean) { + if (isUndefined(value)) { + return void 0; + } + return value === true || value === "true"; + } + if (metatype === Number) { + if (isUndefined(value)) { + return void 0; + } + return +value; + } + if (metatype === String && !isUndefined(value)) { + return String(value); + } + return value; + } + toEmptyIfNil(value, metatype) { + if (!isNil(value)) { + return value; + } + if (typeof metatype === "function" || metatype && "prototype" in metatype && metatype.prototype?.constructor) { + return {}; + } + return ""; + } + isPrimitive(value) { + return ["number", "boolean", "string"].includes(typeof value); + } + stripProtoKeys(value) { + stripProtoKeys(value); + } + validate(object, validatorOptions) { + return classValidator.validate(object, validatorOptions); + } + async hasValidationRules(metatype) { + const errors = await this.validate({ constructor: metatype }, { ...this.validatorOptions, forbidUnknownValues: true }); + return !errors.some((error) => error.constraints?.unknownValue); + } + flattenValidationErrors(validationErrors) { + return (0, import_iterare.iterate)(validationErrors).map((error) => this.mapChildrenToValidationErrors(error)).flatten().filter((item) => !!item.constraints).map((item) => Object.values(item.constraints)).flatten().toArray(); + } + groupValidationErrors(validationErrors, parentPath, result = {}) { + for (const error of validationErrors) { + const path = parentPath ? `${parentPath}.${error.property}` : error.property; + if (error.constraints) { + result[path] = Object.values(error.constraints); + } + if (error.children && error.children.length) { + const nested = this.groupValidationErrors(error.children, path, result); + if (nested !== result) { + Object.assign(result, nested); + } + } + } + return result; + } + mapChildrenToValidationErrors(error, parentPath, validationErrors = []) { + const currentError = parentPath ? this.prependConstraintsWithParentProp(parentPath, error) : error; + if (!(error.children && error.children.length)) { + validationErrors.push(currentError); + return validationErrors; + } + if (error.constraints) { + validationErrors.push(currentError); + } + parentPath = parentPath ? `${parentPath}.${error.property}` : error.property; + for (const item of error.children) { + const nested = this.mapChildrenToValidationErrors(item, parentPath, validationErrors); + if (nested !== validationErrors) { + for (const nestedError of nested) { + validationErrors.push(nestedError); + } + } + } + return validationErrors; + } + prependConstraintsWithParentProp(parentPath, error) { + const constraints = {}; + for (const key in error.constraints) { + constraints[key] = `${parentPath}.${error.constraints[key]}`; + } + return { + ...error, + constraints + }; + } + }; + ValidationPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ValidationPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-array.pipe.js +var VALIDATION_ERROR_MESSAGE, DEFAULT_ARRAY_SEPARATOR, ParseArrayPipe; +var init_parse_array_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-array.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + init_validation_pipe(); + VALIDATION_ERROR_MESSAGE = "Validation failed (parsable array expected)"; + DEFAULT_ARRAY_SEPARATOR = ","; + ParseArrayPipe = class ParseArrayPipe2 { + static { + __name(this, "ParseArrayPipe"); + } + options; + validationPipe; + exceptionFactory; + constructor(options = {}) { + this.options = options; + this.validationPipe = new ValidationPipe({ + transform: true, + validateCustomDecorators: true, + ...options + }); + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + if (isNil(value) && !this.options.optional) { + throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE); + } else if (isNil(value) && this.options.optional) { + return value; + } + if (!Array.isArray(value)) { + if (!isString(value)) { + throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE); + } else { + try { + value = value.trim().split(this.options.separator || DEFAULT_ARRAY_SEPARATOR); + } catch { + throw this.exceptionFactory(VALIDATION_ERROR_MESSAGE); + } + } + } + if (this.options.items) { + const validationMetadata = { + metatype: this.options.items, + type: "query" + }; + const isExpectedTypePrimitive = this.isExpectedTypePrimitive(); + const toClassInstance = /* @__PURE__ */ __name((item, index) => { + if (this.options.items !== String && isString(item)) { + try { + item = JSON.parse(item); + } catch { + } + } + if (isExpectedTypePrimitive) { + return this.validatePrimitive(item, index); + } + return this.validationPipe.transform(item, validationMetadata); + }, "toClassInstance"); + if (this.options.stopAtFirstError === false) { + const errors = []; + const targetArray = Array.from(value); + for (let i = 0; i < targetArray.length; i++) { + try { + targetArray[i] = await toClassInstance(targetArray[i]); + } catch (err) { + let message; + if (err.getResponse) { + const response = err.getResponse(); + if (Array.isArray(response.message)) { + message = response.message.map((item) => `[${i}] ${item}`); + } else { + message = `[${i}] ${response.message}`; + } + } else { + message = err; + } + if (Array.isArray(message)) { + for (const item of message) { + errors.push(item); + } + } else { + errors.push(message); + } + } + } + if (errors.length > 0) { + throw this.exceptionFactory(errors); + } + return targetArray; + } else { + const targetArray = value; + const items = []; + for (let i = 0; i < targetArray.length; i++) { + items.push(i in targetArray ? await toClassInstance(targetArray[i], i) : void 0); + } + value = items; + } + } + return value; + } + isExpectedTypePrimitive() { + return [Boolean, Number, String].includes(this.options.items); + } + validatePrimitive(originalValue, index) { + if (this.options.items === Number) { + if (!this.isNumeric(originalValue)) { + throw this.exceptionFactory(`${isUndefined(index) ? "" : `[${index}] `}item must be a number`); + } + return Number(originalValue); + } else if (this.options.items === String) { + if (!isString(originalValue)) { + return `${originalValue}`; + } + } else if (this.options.items === Boolean) { + if (typeof originalValue !== "boolean") { + throw this.exceptionFactory(`${isUndefined(index) ? "" : `[${index}] `}item must be a boolean value`); + } + } + return originalValue; + } + isNumeric(value) { + if (typeof value === "number") { + return Number.isFinite(value); + } + if (typeof value !== "string" || value.trim() === "") { + return false; + } + if (/^0[box]/i.test(value.trim())) { + return false; + } + return Number.isFinite(Number(value)); + } + }; + ParseArrayPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseArrayPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-bool.pipe.js +var ParseBoolPipe; +var init_parse_bool_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-bool.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseBoolPipe = class ParseBoolPipe2 { + static { + __name(this, "ParseBoolPipe"); + } + options; + exceptionFactory; + constructor(options) { + this.options = options; + options = options || {}; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + if (isNil(value) && this.options?.optional) { + return value; + } + if (this.isTrue(value)) { + return true; + } + if (this.isFalse(value)) { + return false; + } + throw this.exceptionFactory("Validation failed (boolean string is expected)"); + } + /** + * @param value currently processed route argument + * @returns `true` if `value` is said 'true', ie., if it is equal to the boolean + * `true` or the string `"true"` + */ + isTrue(value) { + return value === true || value === "true"; + } + /** + * @param value currently processed route argument + * @returns `true` if `value` is said 'false', ie., if it is equal to the boolean + * `false` or the string `"false"` + */ + isFalse(value) { + return value === false || value === "false"; + } + }; + ParseBoolPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseBoolPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-date.pipe.js +var ParseDatePipe; +var init_parse_date_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-date.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseDatePipe = class ParseDatePipe2 { + static { + __name(this, "ParseDatePipe"); + } + options; + exceptionFactory; + constructor(options = {}) { + this.options = options; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + transform(value) { + if (isNil(value)) { + if (this.options.default) { + return this.options.default(); + } + if (this.options.optional) { + return value; + } + } + if (isNil(value) || value === "") { + throw this.exceptionFactory("Validation failed (no Date provided)"); + } + const transformedValue = isString(value) || isNumber(value) || value instanceof Date ? new Date(value) : /* @__PURE__ */ new Date(NaN); + if (isNaN(transformedValue.getTime())) { + throw this.exceptionFactory("Validation failed (invalid date format)"); + } + return transformedValue; + } + }; + ParseDatePipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseDatePipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-enum.pipe.js +var ParseEnumPipe; +var init_parse_enum_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-enum.pipe.js"() { + init_tslib_es6(); + init_core(); + init_common(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseEnumPipe = class ParseEnumPipe2 { + static { + __name(this, "ParseEnumPipe"); + } + enumType; + options; + exceptionFactory; + cachedEnumValues; + constructor(enumType, options) { + this.enumType = enumType; + this.options = options; + if (!enumType) { + throw new Error(`"ParseEnumPipe" requires "enumType" argument specified (to validate input values).`); + } + options = options || {}; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + if (isNil(value) && this.options?.optional) { + return value; + } + if (!this.isEnum(value)) { + throw this.exceptionFactory("Validation failed (enum string is expected)"); + } + return this.toEnumValue(value) ?? value; + } + isEnum(value) { + return this.toEnumValue(value) !== void 0; + } + /** + * Returns the enum member that `value` refers to, or `undefined` if there is none. + * Numeric members also match their string representation (e.g. `'1'` for `1`), + * since HTTP route and query params always arrive as strings. + */ + toEnumValue(value) { + return this.getEnumValues().find((enumValue) => enumValue === value || typeof enumValue === "number" && typeof value === "string" && String(enumValue) === value); + } + getEnumValues() { + return this.cachedEnumValues ??= this.computeEnumValues(); + } + computeEnumValues() { + return Object.keys(this.enumType).filter((key) => { + const enumValue = this.enumType[key]; + return !(typeof enumValue === "string" && typeof this.enumType[enumValue] === "number" && String(this.enumType[enumValue]) === key); + }).map((key) => this.enumType[key]); + } + }; + ParseEnumPipe = __decorate([ + Injectable(), + __param(1, Optional()), + __metadata("design:paramtypes", [Object, Object]) + ], ParseEnumPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-float.pipe.js +var ParseFloatPipe; +var init_parse_float_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-float.pipe.js"() { + init_tslib_es6(); + init_core(); + init_common(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseFloatPipe = class ParseFloatPipe2 { + static { + __name(this, "ParseFloatPipe"); + } + options; + exceptionFactory; + constructor(options) { + this.options = options; + options = options || {}; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + if (isNil(value) && this.options?.optional) { + return value; + } + if (!this.isNumeric(value)) { + throw this.exceptionFactory("Validation failed (numeric string is expected)"); + } + return parseFloat(String(value)); + } + /** + * @param value currently processed route argument + * @returns `true` if `value` is a valid float number + */ + isNumeric(value) { + if (typeof value === "number") + return Number.isFinite(value); + if (typeof value !== "string" || value === "" || value !== value.trim()) { + return false; + } + if (value.startsWith("0x") || value.startsWith("0X") || value.startsWith("0b") || value.startsWith("0B") || value.startsWith("0o") || value.startsWith("0O")) { + return false; + } + return Number.isFinite(Number(value)); + } + }; + ParseFloatPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseFloatPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-int.pipe.js +var ParseIntPipe; +var init_parse_int_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-int.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseIntPipe = class ParseIntPipe2 { + static { + __name(this, "ParseIntPipe"); + } + options; + exceptionFactory; + constructor(options) { + this.options = options; + options = options || {}; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + /** + * Method that accesses and performs optional transformation on argument for + * in-flight requests. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + if (isNil(value) && this.options?.optional) { + return value; + } + if (!this.isNumeric(value)) { + throw this.exceptionFactory("Validation failed (numeric string is expected)"); + } + return parseInt(String(value), 10); + } + /** + * @param value currently processed route argument + * @returns `true` if `value` is a valid integer number + */ + isNumeric(value) { + return ["string", "number"].includes(typeof value) && /^-?\d+$/.test(String(value)) && isFinite(value); + } + }; + ParseIntPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseIntPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-uuid.pipe.js +var ParseUUIDPipe_1, ParseUUIDPipe; +var init_parse_uuid_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/parse-uuid.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + ParseUUIDPipe = class ParseUUIDPipe2 { + static { + __name(this, "ParseUUIDPipe"); + } + static { + ParseUUIDPipe_1 = this; + } + options; + static uuidRegExps = { + 1: /^[0-9A-F]{8}-[0-9A-F]{4}-1[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 2: /^[0-9A-F]{8}-[0-9A-F]{4}-2[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 6: /^[0-9A-F]{8}-[0-9A-F]{4}-6[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 7: /^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + 8: /^[0-9A-F]{8}-[0-9A-F]{4}-8[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i, + // Versions 1-8 with the RFC variant, or the Nil and Max UUIDs (RFC 9562, sections 5.9, 5.10) + all: /^(?:[0-9A-F]{8}-[0-9A-F]{4}-[1-8][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}|00000000-0000-0000-0000-000000000000|FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF)$/i + }; + version; + exceptionFactory; + constructor(options) { + this.options = options; + options = options || {}; + const { exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST, version } = options; + this.version = version; + this.exceptionFactory = exceptionFactory || ((error) => new HttpErrorByCode[errorHttpStatusCode](error)); + } + async transform(value, metadata) { + if (isNil(value) && this.options?.optional) { + return value; + } + if (!this.isUUID(value, this.version)) { + throw this.exceptionFactory(`Validation failed (uuid${this.version && this.version !== "all" ? ` v ${this.version}` : ""} is expected)`); + } + return value; + } + isUUID(str, version = "all") { + if (!isString(str)) { + throw this.exceptionFactory("The value passed as UUID is not a string"); + } + const pattern = ParseUUIDPipe_1.uuidRegExps[version]; + return pattern?.test(str); + } + }; + ParseUUIDPipe = ParseUUIDPipe_1 = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], ParseUUIDPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/standard-schema-validation.pipe.js +var StandardSchemaValidationPipe; +var init_standard_schema_validation_pipe = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/standard-schema-validation.pipe.js"() { + init_tslib_es6(); + init_injectable_decorator(); + init_optional_decorator(); + init_http_status_enum(); + init_http_error_by_code_util(); + init_shared_utils(); + init_strip_proto_keys_util(); + StandardSchemaValidationPipe = class StandardSchemaValidationPipe2 { + static { + __name(this, "StandardSchemaValidationPipe"); + } + options; + isTransformEnabled; + validateCustomDecorators; + validateOptions; + exceptionFactory; + constructor(options) { + this.options = options; + const { transform = true, validateCustomDecorators = false, validateOptions, exceptionFactory, errorHttpStatusCode = HttpStatus.BAD_REQUEST } = options || {}; + this.isTransformEnabled = transform; + this.validateCustomDecorators = validateCustomDecorators; + this.validateOptions = validateOptions; + this.exceptionFactory = exceptionFactory || ((issues) => { + const messages = this.formatIssueMessages(issues); + return new HttpErrorByCode[errorHttpStatusCode](messages); + }); + } + /** + * Formats Standard Schema validation issues into a flat list of error messages. + * When an issue includes a path, the path is prefixed to the message. + */ + formatIssueMessages(issues) { + return issues.map((issue) => { + if (issue.path?.length) { + const stringPath = issue.path.map((segment) => String(isObject(segment) ? segment.key : segment)).join("."); + return `${stringPath}: ${issue.message}`; + } + return issue.message; + }); + } + /** + * Method that validates the incoming value against the standard schema + * provided in the parameter metadata. + * + * @param value currently processed route argument + * @param metadata contains metadata about the currently processed route argument + */ + async transform(value, metadata) { + const schema = metadata.schema; + if (!schema || !this.toValidate(metadata)) { + return value; + } + this.stripProtoKeys(value); + const result = await this.validate(value, schema, this.validateOptions); + if (result.issues) { + throw this.exceptionFactory(result.issues); + } + return this.isTransformEnabled ? result.value : value; + } + /** + * Determines whether validation should be performed for the given metadata. + * Skips validation for custom decorators unless `validateCustomDecorators` is enabled. + * + * @param metadata contains metadata about the currently processed route argument + * @returns `true` if validation should be performed + */ + toValidate(metadata) { + const { type } = metadata; + if (type === "custom" && !this.validateCustomDecorators) { + return false; + } + return true; + } + /** + * Validates a value against a standard schema. + * Can be overridden to customize validation behavior. + * + * @param value The value to validate + * @param schema The standard schema to validate against + * @param options Optional options forwarded to the schema's validate method + * @returns The validation result + */ + validate(value, schema, options) { + return schema["~standard"].validate(value, options); + } + stripProtoKeys(value) { + stripProtoKeys(value); + } + }; + StandardSchemaValidationPipe = __decorate([ + Injectable(), + __param(0, Optional()), + __metadata("design:paramtypes", [Object]) + ], StandardSchemaValidationPipe); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/index.js +var init_pipes = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/pipes/index.js"() { + init_default_value_pipe(); + init_file(); + init_parse_array_pipe(); + init_parse_bool_pipe(); + init_parse_date_pipe(); + init_parse_enum_pipe(); + init_parse_float_pipe(); + init_parse_int_pipe(); + init_parse_uuid_pipe(); + init_standard_schema_validation_pipe(); + init_validation_pipe(); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isFunction.js +var require_isFunction = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isFunction.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isFunction = void 0; + function isFunction2(value) { + return typeof value === "function"; + } + __name(isFunction2, "isFunction"); + exports.isFunction = isFunction2; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/lift.js +var require_lift = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/lift.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.operate = exports.hasLift = void 0; + var isFunction_1 = require_isFunction(); + function hasLift(source) { + return isFunction_1.isFunction(source === null || source === void 0 ? void 0 : source.lift); + } + __name(hasLift, "hasLift"); + exports.hasLift = hasLift; + function operate(init) { + return function(source) { + if (hasLift(source)) { + return source.lift(function(liftedSource) { + try { + return init(liftedSource, this); + } catch (err) { + this.error(err); + } + }); + } + throw new TypeError("Unable to lift unknown Observable type"); + }; + } + __name(operate, "operate"); + exports.operate = operate; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js +var require_isArrayLike = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isArrayLike = void 0; + exports.isArrayLike = (function(x) { + return x && typeof x.length === "number" && typeof x !== "function"; + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isPromise.js +var require_isPromise = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isPromise.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isPromise = void 0; + var isFunction_1 = require_isFunction(); + function isPromise(value) { + return isFunction_1.isFunction(value === null || value === void 0 ? void 0 : value.then); + } + __name(isPromise, "isPromise"); + exports.isPromise = isPromise; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js +var require_createErrorClass = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createErrorClass = void 0; + function createErrorClass(createImpl) { + var _super = /* @__PURE__ */ __name(function(instance) { + Error.call(instance); + instance.stack = new Error().stack; + }, "_super"); + var ctorFunc = createImpl(_super); + ctorFunc.prototype = Object.create(Error.prototype); + ctorFunc.prototype.constructor = ctorFunc; + return ctorFunc; + } + __name(createErrorClass, "createErrorClass"); + exports.createErrorClass = createErrorClass; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js +var require_UnsubscriptionError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.UnsubscriptionError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.UnsubscriptionError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function UnsubscriptionErrorImpl(errors) { + _super(this); + this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) { + return i + 1 + ") " + err.toString(); + }).join("\n ") : ""; + this.name = "UnsubscriptionError"; + this.errors = errors; + }, "UnsubscriptionErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js +var require_arrRemove = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.arrRemove = void 0; + function arrRemove(arr, item) { + if (arr) { + var index = arr.indexOf(item); + 0 <= index && arr.splice(index, 1); + } + } + __name(arrRemove, "arrRemove"); + exports.arrRemove = arrRemove; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscription.js +var require_Subscription = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscription.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isSubscription = exports.EMPTY_SUBSCRIPTION = exports.Subscription = void 0; + var isFunction_1 = require_isFunction(); + var UnsubscriptionError_1 = require_UnsubscriptionError(); + var arrRemove_1 = require_arrRemove(); + var Subscription = (function() { + function Subscription2(initialTeardown) { + this.initialTeardown = initialTeardown; + this.closed = false; + this._parentage = null; + this._finalizers = null; + } + __name(Subscription2, "Subscription"); + Subscription2.prototype.unsubscribe = function() { + var e_1, _a, e_2, _b; + var errors; + if (!this.closed) { + this.closed = true; + var _parentage = this._parentage; + if (_parentage) { + this._parentage = null; + if (Array.isArray(_parentage)) { + try { + for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) { + var parent_1 = _parentage_1_1.value; + parent_1.remove(this); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1); + } finally { + if (e_1) throw e_1.error; + } + } + } else { + _parentage.remove(this); + } + } + var initialFinalizer = this.initialTeardown; + if (isFunction_1.isFunction(initialFinalizer)) { + try { + initialFinalizer(); + } catch (e) { + errors = e instanceof UnsubscriptionError_1.UnsubscriptionError ? e.errors : [e]; + } + } + var _finalizers = this._finalizers; + if (_finalizers) { + this._finalizers = null; + try { + for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) { + var finalizer = _finalizers_1_1.value; + try { + execFinalizer(finalizer); + } catch (err) { + errors = errors !== null && errors !== void 0 ? errors : []; + if (err instanceof UnsubscriptionError_1.UnsubscriptionError) { + errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors)); + } else { + errors.push(err); + } + } + } + } catch (e_2_1) { + e_2 = { error: e_2_1 }; + } finally { + try { + if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1); + } finally { + if (e_2) throw e_2.error; + } + } + } + if (errors) { + throw new UnsubscriptionError_1.UnsubscriptionError(errors); + } + } + }; + Subscription2.prototype.add = function(teardown) { + var _a; + if (teardown && teardown !== this) { + if (this.closed) { + execFinalizer(teardown); + } else { + if (teardown instanceof Subscription2) { + if (teardown.closed || teardown._hasParent(this)) { + return; + } + teardown._addParent(this); + } + (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown); + } + } + }; + Subscription2.prototype._hasParent = function(parent) { + var _parentage = this._parentage; + return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent); + }; + Subscription2.prototype._addParent = function(parent) { + var _parentage = this._parentage; + this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent; + }; + Subscription2.prototype._removeParent = function(parent) { + var _parentage = this._parentage; + if (_parentage === parent) { + this._parentage = null; + } else if (Array.isArray(_parentage)) { + arrRemove_1.arrRemove(_parentage, parent); + } + }; + Subscription2.prototype.remove = function(teardown) { + var _finalizers = this._finalizers; + _finalizers && arrRemove_1.arrRemove(_finalizers, teardown); + if (teardown instanceof Subscription2) { + teardown._removeParent(this); + } + }; + Subscription2.EMPTY = (function() { + var empty = new Subscription2(); + empty.closed = true; + return empty; + })(); + return Subscription2; + })(); + exports.Subscription = Subscription; + exports.EMPTY_SUBSCRIPTION = Subscription.EMPTY; + function isSubscription(value) { + return value instanceof Subscription || value && "closed" in value && isFunction_1.isFunction(value.remove) && isFunction_1.isFunction(value.add) && isFunction_1.isFunction(value.unsubscribe); + } + __name(isSubscription, "isSubscription"); + exports.isSubscription = isSubscription; + function execFinalizer(finalizer) { + if (isFunction_1.isFunction(finalizer)) { + finalizer(); + } else { + finalizer.unsubscribe(); + } + } + __name(execFinalizer, "execFinalizer"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/config.js +var require_config = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/config.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.config = void 0; + exports.config = { + onUnhandledError: null, + onStoppedNotification: null, + Promise: void 0, + useDeprecatedSynchronousErrorHandling: false, + useDeprecatedNextContext: false + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js +var require_timeoutProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.timeoutProvider = void 0; + exports.timeoutProvider = { + setTimeout: /* @__PURE__ */ __name(function(handler, timeout) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + var delegate = exports.timeoutProvider.delegate; + if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) { + return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args))); + } + return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args))); + }, "setTimeout"), + clearTimeout: /* @__PURE__ */ __name(function(handle) { + var delegate = exports.timeoutProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle); + }, "clearTimeout"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js +var require_reportUnhandledError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.reportUnhandledError = void 0; + var config_1 = require_config(); + var timeoutProvider_1 = require_timeoutProvider(); + function reportUnhandledError(err) { + timeoutProvider_1.timeoutProvider.setTimeout(function() { + var onUnhandledError = config_1.config.onUnhandledError; + if (onUnhandledError) { + onUnhandledError(err); + } else { + throw err; + } + }); + } + __name(reportUnhandledError, "reportUnhandledError"); + exports.reportUnhandledError = reportUnhandledError; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/noop.js +var require_noop = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/noop.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.noop = void 0; + function noop() { + } + __name(noop, "noop"); + exports.noop = noop; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js +var require_NotificationFactories = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createNotification = exports.nextNotification = exports.errorNotification = exports.COMPLETE_NOTIFICATION = void 0; + exports.COMPLETE_NOTIFICATION = (function() { + return createNotification("C", void 0, void 0); + })(); + function errorNotification(error) { + return createNotification("E", void 0, error); + } + __name(errorNotification, "errorNotification"); + exports.errorNotification = errorNotification; + function nextNotification(value) { + return createNotification("N", value, void 0); + } + __name(nextNotification, "nextNotification"); + exports.nextNotification = nextNotification; + function createNotification(kind, value, error) { + return { + kind, + value, + error + }; + } + __name(createNotification, "createNotification"); + exports.createNotification = createNotification; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/errorContext.js +var require_errorContext = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/errorContext.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.captureError = exports.errorContext = void 0; + var config_1 = require_config(); + var context = null; + function errorContext(cb) { + if (config_1.config.useDeprecatedSynchronousErrorHandling) { + var isRoot = !context; + if (isRoot) { + context = { errorThrown: false, error: null }; + } + cb(); + if (isRoot) { + var _a = context, errorThrown = _a.errorThrown, error = _a.error; + context = null; + if (errorThrown) { + throw error; + } + } + } else { + cb(); + } + } + __name(errorContext, "errorContext"); + exports.errorContext = errorContext; + function captureError(err) { + if (config_1.config.useDeprecatedSynchronousErrorHandling && context) { + context.errorThrown = true; + context.error = err; + } + } + __name(captureError, "captureError"); + exports.captureError = captureError; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscriber.js +var require_Subscriber = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subscriber.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EMPTY_OBSERVER = exports.SafeSubscriber = exports.Subscriber = void 0; + var isFunction_1 = require_isFunction(); + var Subscription_1 = require_Subscription(); + var config_1 = require_config(); + var reportUnhandledError_1 = require_reportUnhandledError(); + var noop_1 = require_noop(); + var NotificationFactories_1 = require_NotificationFactories(); + var timeoutProvider_1 = require_timeoutProvider(); + var errorContext_1 = require_errorContext(); + var Subscriber = (function(_super) { + __extends(Subscriber2, _super); + function Subscriber2(destination) { + var _this = _super.call(this) || this; + _this.isStopped = false; + if (destination) { + _this.destination = destination; + if (Subscription_1.isSubscription(destination)) { + destination.add(_this); + } + } else { + _this.destination = exports.EMPTY_OBSERVER; + } + return _this; + } + __name(Subscriber2, "Subscriber"); + Subscriber2.create = function(next, error, complete) { + return new SafeSubscriber(next, error, complete); + }; + Subscriber2.prototype.next = function(value) { + if (this.isStopped) { + handleStoppedNotification(NotificationFactories_1.nextNotification(value), this); + } else { + this._next(value); + } + }; + Subscriber2.prototype.error = function(err) { + if (this.isStopped) { + handleStoppedNotification(NotificationFactories_1.errorNotification(err), this); + } else { + this.isStopped = true; + this._error(err); + } + }; + Subscriber2.prototype.complete = function() { + if (this.isStopped) { + handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this); + } else { + this.isStopped = true; + this._complete(); + } + }; + Subscriber2.prototype.unsubscribe = function() { + if (!this.closed) { + this.isStopped = true; + _super.prototype.unsubscribe.call(this); + this.destination = null; + } + }; + Subscriber2.prototype._next = function(value) { + this.destination.next(value); + }; + Subscriber2.prototype._error = function(err) { + try { + this.destination.error(err); + } finally { + this.unsubscribe(); + } + }; + Subscriber2.prototype._complete = function() { + try { + this.destination.complete(); + } finally { + this.unsubscribe(); + } + }; + return Subscriber2; + })(Subscription_1.Subscription); + exports.Subscriber = Subscriber; + var _bind = Function.prototype.bind; + function bind(fn, thisArg) { + return _bind.call(fn, thisArg); + } + __name(bind, "bind"); + var ConsumerObserver = (function() { + function ConsumerObserver2(partialObserver) { + this.partialObserver = partialObserver; + } + __name(ConsumerObserver2, "ConsumerObserver"); + ConsumerObserver2.prototype.next = function(value) { + var partialObserver = this.partialObserver; + if (partialObserver.next) { + try { + partialObserver.next(value); + } catch (error) { + handleUnhandledError(error); + } + } + }; + ConsumerObserver2.prototype.error = function(err) { + var partialObserver = this.partialObserver; + if (partialObserver.error) { + try { + partialObserver.error(err); + } catch (error) { + handleUnhandledError(error); + } + } else { + handleUnhandledError(err); + } + }; + ConsumerObserver2.prototype.complete = function() { + var partialObserver = this.partialObserver; + if (partialObserver.complete) { + try { + partialObserver.complete(); + } catch (error) { + handleUnhandledError(error); + } + } + }; + return ConsumerObserver2; + })(); + var SafeSubscriber = (function(_super) { + __extends(SafeSubscriber2, _super); + function SafeSubscriber2(observerOrNext, error, complete) { + var _this = _super.call(this) || this; + var partialObserver; + if (isFunction_1.isFunction(observerOrNext) || !observerOrNext) { + partialObserver = { + next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : void 0, + error: error !== null && error !== void 0 ? error : void 0, + complete: complete !== null && complete !== void 0 ? complete : void 0 + }; + } else { + var context_1; + if (_this && config_1.config.useDeprecatedNextContext) { + context_1 = Object.create(observerOrNext); + context_1.unsubscribe = function() { + return _this.unsubscribe(); + }; + partialObserver = { + next: observerOrNext.next && bind(observerOrNext.next, context_1), + error: observerOrNext.error && bind(observerOrNext.error, context_1), + complete: observerOrNext.complete && bind(observerOrNext.complete, context_1) + }; + } else { + partialObserver = observerOrNext; + } + } + _this.destination = new ConsumerObserver(partialObserver); + return _this; + } + __name(SafeSubscriber2, "SafeSubscriber"); + return SafeSubscriber2; + })(Subscriber); + exports.SafeSubscriber = SafeSubscriber; + function handleUnhandledError(error) { + if (config_1.config.useDeprecatedSynchronousErrorHandling) { + errorContext_1.captureError(error); + } else { + reportUnhandledError_1.reportUnhandledError(error); + } + } + __name(handleUnhandledError, "handleUnhandledError"); + function defaultErrorHandler(err) { + throw err; + } + __name(defaultErrorHandler, "defaultErrorHandler"); + function handleStoppedNotification(notification, subscriber) { + var onStoppedNotification = config_1.config.onStoppedNotification; + onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function() { + return onStoppedNotification(notification, subscriber); + }); + } + __name(handleStoppedNotification, "handleStoppedNotification"); + exports.EMPTY_OBSERVER = { + closed: true, + next: noop_1.noop, + error: defaultErrorHandler, + complete: noop_1.noop + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/observable.js +var require_observable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/observable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.observable = void 0; + exports.observable = (function() { + return typeof Symbol === "function" && Symbol.observable || "@@observable"; + })(); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/identity.js +var require_identity = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/identity.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.identity = void 0; + function identity(x) { + return x; + } + __name(identity, "identity"); + exports.identity = identity; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/pipe.js +var require_pipe = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/pipe.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.pipeFromArray = exports.pipe = void 0; + var identity_1 = require_identity(); + function pipe() { + var fns = []; + for (var _i = 0; _i < arguments.length; _i++) { + fns[_i] = arguments[_i]; + } + return pipeFromArray(fns); + } + __name(pipe, "pipe"); + exports.pipe = pipe; + function pipeFromArray(fns) { + if (fns.length === 0) { + return identity_1.identity; + } + if (fns.length === 1) { + return fns[0]; + } + return /* @__PURE__ */ __name(function piped(input) { + return fns.reduce(function(prev, fn) { + return fn(prev); + }, input); + }, "piped"); + } + __name(pipeFromArray, "pipeFromArray"); + exports.pipeFromArray = pipeFromArray; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Observable.js +var require_Observable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Observable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Observable = void 0; + var Subscriber_1 = require_Subscriber(); + var Subscription_1 = require_Subscription(); + var observable_1 = require_observable(); + var pipe_1 = require_pipe(); + var config_1 = require_config(); + var isFunction_1 = require_isFunction(); + var errorContext_1 = require_errorContext(); + var Observable = (function() { + function Observable2(subscribe) { + if (subscribe) { + this._subscribe = subscribe; + } + } + __name(Observable2, "Observable"); + Observable2.prototype.lift = function(operator) { + var observable = new Observable2(); + observable.source = this; + observable.operator = operator; + return observable; + }; + Observable2.prototype.subscribe = function(observerOrNext, error, complete) { + var _this = this; + var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new Subscriber_1.SafeSubscriber(observerOrNext, error, complete); + errorContext_1.errorContext(function() { + var _a = _this, operator = _a.operator, source = _a.source; + subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber)); + }); + return subscriber; + }; + Observable2.prototype._trySubscribe = function(sink) { + try { + return this._subscribe(sink); + } catch (err) { + sink.error(err); + } + }; + Observable2.prototype.forEach = function(next, promiseCtor) { + var _this = this; + promiseCtor = getPromiseCtor(promiseCtor); + return new promiseCtor(function(resolve, reject) { + var subscriber = new Subscriber_1.SafeSubscriber({ + next: /* @__PURE__ */ __name(function(value) { + try { + next(value); + } catch (err) { + reject(err); + subscriber.unsubscribe(); + } + }, "next"), + error: reject, + complete: resolve + }); + _this.subscribe(subscriber); + }); + }; + Observable2.prototype._subscribe = function(subscriber) { + var _a; + return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber); + }; + Observable2.prototype[observable_1.observable] = function() { + return this; + }; + Observable2.prototype.pipe = function() { + var operations = []; + for (var _i = 0; _i < arguments.length; _i++) { + operations[_i] = arguments[_i]; + } + return pipe_1.pipeFromArray(operations)(this); + }; + Observable2.prototype.toPromise = function(promiseCtor) { + var _this = this; + promiseCtor = getPromiseCtor(promiseCtor); + return new promiseCtor(function(resolve, reject) { + var value; + _this.subscribe(function(x) { + return value = x; + }, function(err) { + return reject(err); + }, function() { + return resolve(value); + }); + }); + }; + Observable2.create = function(subscribe) { + return new Observable2(subscribe); + }; + return Observable2; + })(); + exports.Observable = Observable; + function getPromiseCtor(promiseCtor) { + var _a; + return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config_1.config.Promise) !== null && _a !== void 0 ? _a : Promise; + } + __name(getPromiseCtor, "getPromiseCtor"); + function isObserver(value) { + return value && isFunction_1.isFunction(value.next) && isFunction_1.isFunction(value.error) && isFunction_1.isFunction(value.complete); + } + __name(isObserver, "isObserver"); + function isSubscriber(value) { + return value && value instanceof Subscriber_1.Subscriber || isObserver(value) && Subscription_1.isSubscription(value); + } + __name(isSubscriber, "isSubscriber"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js +var require_isInteropObservable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isInteropObservable = void 0; + var observable_1 = require_observable(); + var isFunction_1 = require_isFunction(); + function isInteropObservable(input) { + return isFunction_1.isFunction(input[observable_1.observable]); + } + __name(isInteropObservable, "isInteropObservable"); + exports.isInteropObservable = isInteropObservable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js +var require_isAsyncIterable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isAsyncIterable = void 0; + var isFunction_1 = require_isFunction(); + function isAsyncIterable(obj) { + return Symbol.asyncIterator && isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]); + } + __name(isAsyncIterable, "isAsyncIterable"); + exports.isAsyncIterable = isAsyncIterable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js +var require_throwUnobservableError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createInvalidObservableTypeError = void 0; + function createInvalidObservableTypeError(input) { + return new TypeError("You provided " + (input !== null && typeof input === "object" ? "an invalid object" : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable."); + } + __name(createInvalidObservableTypeError, "createInvalidObservableTypeError"); + exports.createInvalidObservableTypeError = createInvalidObservableTypeError; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js +var require_iterator = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.iterator = exports.getSymbolIterator = void 0; + function getSymbolIterator() { + if (typeof Symbol !== "function" || !Symbol.iterator) { + return "@@iterator"; + } + return Symbol.iterator; + } + __name(getSymbolIterator, "getSymbolIterator"); + exports.getSymbolIterator = getSymbolIterator; + exports.iterator = getSymbolIterator(); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isIterable.js +var require_isIterable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isIterable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isIterable = void 0; + var iterator_1 = require_iterator(); + var isFunction_1 = require_isFunction(); + function isIterable(input) { + return isFunction_1.isFunction(input === null || input === void 0 ? void 0 : input[iterator_1.iterator]); + } + __name(isIterable, "isIterable"); + exports.isIterable = isIterable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js +var require_isReadableStreamLike = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js"(exports) { + "use strict"; + var __generator = exports && exports.__generator || function(thisArg, body) { + var _ = { label: 0, sent: /* @__PURE__ */ __name(function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, "sent"), trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + __name(verb, "verb"); + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + __name(step, "step"); + }; + var __await = exports && exports.__await || function(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + }; + var __asyncGenerator = exports && exports.__asyncGenerator || function(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i; + function verb(n) { + if (g[n]) i[n] = function(v) { + return new Promise(function(a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + __name(verb, "verb"); + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + __name(resume, "resume"); + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + __name(step, "step"); + function fulfill(value) { + resume("next", value); + } + __name(fulfill, "fulfill"); + function reject(value) { + resume("throw", value); + } + __name(reject, "reject"); + function settle(f, v) { + if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); + } + __name(settle, "settle"); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isReadableStreamLike = exports.readableStreamLikeToAsyncGenerator = void 0; + var isFunction_1 = require_isFunction(); + function readableStreamLikeToAsyncGenerator(readableStream) { + return __asyncGenerator(this, arguments, /* @__PURE__ */ __name(function readableStreamLikeToAsyncGenerator_1() { + var reader, _a, value, done; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + reader = readableStream.getReader(); + _b.label = 1; + case 1: + _b.trys.push([1, , 9, 10]); + _b.label = 2; + case 2: + if (false) return [3, 8]; + return [4, __await(reader.read())]; + case 3: + _a = _b.sent(), value = _a.value, done = _a.done; + if (!done) return [3, 5]; + return [4, __await(void 0)]; + case 4: + return [2, _b.sent()]; + case 5: + return [4, __await(value)]; + case 6: + return [4, _b.sent()]; + case 7: + _b.sent(); + return [3, 2]; + case 8: + return [3, 10]; + case 9: + reader.releaseLock(); + return [7]; + case 10: + return [2]; + } + }); + }, "readableStreamLikeToAsyncGenerator_1")); + } + __name(readableStreamLikeToAsyncGenerator, "readableStreamLikeToAsyncGenerator"); + exports.readableStreamLikeToAsyncGenerator = readableStreamLikeToAsyncGenerator; + function isReadableStreamLike(obj) { + return isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader); + } + __name(isReadableStreamLike, "isReadableStreamLike"); + exports.isReadableStreamLike = isReadableStreamLike; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js +var require_innerFrom = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js"(exports) { + "use strict"; + var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + __name(adopt, "adopt"); + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + __name(fulfilled, "fulfilled"); + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + __name(rejected, "rejected"); + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + __name(step, "step"); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + var __generator = exports && exports.__generator || function(thisArg, body) { + var _ = { label: 0, sent: /* @__PURE__ */ __name(function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, "sent"), trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + __name(verb, "verb"); + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + __name(step, "step"); + }; + var __asyncValues = exports && exports.__asyncValues || function(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function(v) { + return new Promise(function(resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; + } + __name(verb, "verb"); + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function(v2) { + resolve({ value: v2, done: d }); + }, reject); + } + __name(settle, "settle"); + }; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromReadableStreamLike = exports.fromAsyncIterable = exports.fromIterable = exports.fromPromise = exports.fromArrayLike = exports.fromInteropObservable = exports.innerFrom = void 0; + var isArrayLike_1 = require_isArrayLike(); + var isPromise_1 = require_isPromise(); + var Observable_1 = require_Observable(); + var isInteropObservable_1 = require_isInteropObservable(); + var isAsyncIterable_1 = require_isAsyncIterable(); + var throwUnobservableError_1 = require_throwUnobservableError(); + var isIterable_1 = require_isIterable(); + var isReadableStreamLike_1 = require_isReadableStreamLike(); + var isFunction_1 = require_isFunction(); + var reportUnhandledError_1 = require_reportUnhandledError(); + var observable_1 = require_observable(); + function innerFrom(input) { + if (input instanceof Observable_1.Observable) { + return input; + } + if (input != null) { + if (isInteropObservable_1.isInteropObservable(input)) { + return fromInteropObservable(input); + } + if (isArrayLike_1.isArrayLike(input)) { + return fromArrayLike(input); + } + if (isPromise_1.isPromise(input)) { + return fromPromise(input); + } + if (isAsyncIterable_1.isAsyncIterable(input)) { + return fromAsyncIterable(input); + } + if (isIterable_1.isIterable(input)) { + return fromIterable(input); + } + if (isReadableStreamLike_1.isReadableStreamLike(input)) { + return fromReadableStreamLike(input); + } + } + throw throwUnobservableError_1.createInvalidObservableTypeError(input); + } + __name(innerFrom, "innerFrom"); + exports.innerFrom = innerFrom; + function fromInteropObservable(obj) { + return new Observable_1.Observable(function(subscriber) { + var obs = obj[observable_1.observable](); + if (isFunction_1.isFunction(obs.subscribe)) { + return obs.subscribe(subscriber); + } + throw new TypeError("Provided object does not correctly implement Symbol.observable"); + }); + } + __name(fromInteropObservable, "fromInteropObservable"); + exports.fromInteropObservable = fromInteropObservable; + function fromArrayLike(array) { + return new Observable_1.Observable(function(subscriber) { + for (var i = 0; i < array.length && !subscriber.closed; i++) { + subscriber.next(array[i]); + } + subscriber.complete(); + }); + } + __name(fromArrayLike, "fromArrayLike"); + exports.fromArrayLike = fromArrayLike; + function fromPromise(promise) { + return new Observable_1.Observable(function(subscriber) { + promise.then(function(value) { + if (!subscriber.closed) { + subscriber.next(value); + subscriber.complete(); + } + }, function(err) { + return subscriber.error(err); + }).then(null, reportUnhandledError_1.reportUnhandledError); + }); + } + __name(fromPromise, "fromPromise"); + exports.fromPromise = fromPromise; + function fromIterable(iterable) { + return new Observable_1.Observable(function(subscriber) { + var e_1, _a; + try { + for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) { + var value = iterable_1_1.value; + subscriber.next(value); + if (subscriber.closed) { + return; + } + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1); + } finally { + if (e_1) throw e_1.error; + } + } + subscriber.complete(); + }); + } + __name(fromIterable, "fromIterable"); + exports.fromIterable = fromIterable; + function fromAsyncIterable(asyncIterable) { + return new Observable_1.Observable(function(subscriber) { + process2(asyncIterable, subscriber).catch(function(err) { + return subscriber.error(err); + }); + }); + } + __name(fromAsyncIterable, "fromAsyncIterable"); + exports.fromAsyncIterable = fromAsyncIterable; + function fromReadableStreamLike(readableStream) { + return fromAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(readableStream)); + } + __name(fromReadableStreamLike, "fromReadableStreamLike"); + exports.fromReadableStreamLike = fromReadableStreamLike; + function process2(asyncIterable, subscriber) { + var asyncIterable_1, asyncIterable_1_1; + var e_2, _a; + return __awaiter(this, void 0, void 0, function() { + var value, e_2_1; + return __generator(this, function(_b) { + switch (_b.label) { + case 0: + _b.trys.push([0, 5, 6, 11]); + asyncIterable_1 = __asyncValues(asyncIterable); + _b.label = 1; + case 1: + return [4, asyncIterable_1.next()]; + case 2: + if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4]; + value = asyncIterable_1_1.value; + subscriber.next(value); + if (subscriber.closed) { + return [2]; + } + _b.label = 3; + case 3: + return [3, 1]; + case 4: + return [3, 11]; + case 5: + e_2_1 = _b.sent(); + e_2 = { error: e_2_1 }; + return [3, 11]; + case 6: + _b.trys.push([6, , 9, 10]); + if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8]; + return [4, _a.call(asyncIterable_1)]; + case 7: + _b.sent(); + _b.label = 8; + case 8: + return [3, 10]; + case 9: + if (e_2) throw e_2.error; + return [7]; + case 10: + return [7]; + case 11: + subscriber.complete(); + return [2]; + } + }); + }); + } + __name(process2, "process"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js +var require_OperatorSubscriber = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.OperatorSubscriber = exports.createOperatorSubscriber = void 0; + var Subscriber_1 = require_Subscriber(); + function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) { + return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize); + } + __name(createOperatorSubscriber, "createOperatorSubscriber"); + exports.createOperatorSubscriber = createOperatorSubscriber; + var OperatorSubscriber = (function(_super) { + __extends(OperatorSubscriber2, _super); + function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) { + var _this = _super.call(this, destination) || this; + _this.onFinalize = onFinalize; + _this.shouldUnsubscribe = shouldUnsubscribe; + _this._next = onNext ? function(value) { + try { + onNext(value); + } catch (err) { + destination.error(err); + } + } : _super.prototype._next; + _this._error = onError ? function(err) { + try { + onError(err); + } catch (err2) { + destination.error(err2); + } finally { + this.unsubscribe(); + } + } : _super.prototype._error; + _this._complete = onComplete ? function() { + try { + onComplete(); + } catch (err) { + destination.error(err); + } finally { + this.unsubscribe(); + } + } : _super.prototype._complete; + return _this; + } + __name(OperatorSubscriber2, "OperatorSubscriber"); + OperatorSubscriber2.prototype.unsubscribe = function() { + var _a; + if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { + var closed_1 = this.closed; + _super.prototype.unsubscribe.call(this); + !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this)); + } + }; + return OperatorSubscriber2; + })(Subscriber_1.Subscriber); + exports.OperatorSubscriber = OperatorSubscriber; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/audit.js +var require_audit = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/audit.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.audit = void 0; + var lift_1 = require_lift(); + var innerFrom_1 = require_innerFrom(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function audit(durationSelector) { + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + var lastValue = null; + var durationSubscriber = null; + var isComplete = false; + var endDuration = /* @__PURE__ */ __name(function() { + durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe(); + durationSubscriber = null; + if (hasValue) { + hasValue = false; + var value = lastValue; + lastValue = null; + subscriber.next(value); + } + isComplete && subscriber.complete(); + }, "endDuration"); + var cleanupDuration = /* @__PURE__ */ __name(function() { + durationSubscriber = null; + isComplete && subscriber.complete(); + }, "cleanupDuration"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + lastValue = value; + if (!durationSubscriber) { + innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, endDuration, cleanupDuration)); + } + }, function() { + isComplete = true; + (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete(); + })); + }); + } + __name(audit, "audit"); + exports.audit = audit; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js +var require_Action = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Action = void 0; + var Subscription_1 = require_Subscription(); + var Action = (function(_super) { + __extends(Action2, _super); + function Action2(scheduler, work) { + return _super.call(this) || this; + } + __name(Action2, "Action"); + Action2.prototype.schedule = function(state, delay) { + if (delay === void 0) { + delay = 0; + } + return this; + }; + return Action2; + })(Subscription_1.Subscription); + exports.Action = Action; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js +var require_intervalProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.intervalProvider = void 0; + exports.intervalProvider = { + setInterval: /* @__PURE__ */ __name(function(handler, timeout) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + var delegate = exports.intervalProvider.delegate; + if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) { + return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args))); + } + return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args))); + }, "setInterval"), + clearInterval: /* @__PURE__ */ __name(function(handle) { + var delegate = exports.intervalProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle); + }, "clearInterval"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js +var require_AsyncAction = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AsyncAction = void 0; + var Action_1 = require_Action(); + var intervalProvider_1 = require_intervalProvider(); + var arrRemove_1 = require_arrRemove(); + var AsyncAction = (function(_super) { + __extends(AsyncAction2, _super); + function AsyncAction2(scheduler, work) { + var _this = _super.call(this, scheduler, work) || this; + _this.scheduler = scheduler; + _this.work = work; + _this.pending = false; + return _this; + } + __name(AsyncAction2, "AsyncAction"); + AsyncAction2.prototype.schedule = function(state, delay) { + var _a; + if (delay === void 0) { + delay = 0; + } + if (this.closed) { + return this; + } + this.state = state; + var id = this.id; + var scheduler = this.scheduler; + if (id != null) { + this.id = this.recycleAsyncId(scheduler, id, delay); + } + this.pending = true; + this.delay = delay; + this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay); + return this; + }; + AsyncAction2.prototype.requestAsyncId = function(scheduler, _id, delay) { + if (delay === void 0) { + delay = 0; + } + return intervalProvider_1.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay); + }; + AsyncAction2.prototype.recycleAsyncId = function(_scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + if (delay != null && this.delay === delay && this.pending === false) { + return id; + } + if (id != null) { + intervalProvider_1.intervalProvider.clearInterval(id); + } + return void 0; + }; + AsyncAction2.prototype.execute = function(state, delay) { + if (this.closed) { + return new Error("executing a cancelled action"); + } + this.pending = false; + var error = this._execute(state, delay); + if (error) { + return error; + } else if (this.pending === false && this.id != null) { + this.id = this.recycleAsyncId(this.scheduler, this.id, null); + } + }; + AsyncAction2.prototype._execute = function(state, _delay) { + var errored = false; + var errorValue; + try { + this.work(state); + } catch (e) { + errored = true; + errorValue = e ? e : new Error("Scheduled action threw falsy error"); + } + if (errored) { + this.unsubscribe(); + return errorValue; + } + }; + AsyncAction2.prototype.unsubscribe = function() { + if (!this.closed) { + var _a = this, id = _a.id, scheduler = _a.scheduler; + var actions = scheduler.actions; + this.work = this.state = this.scheduler = null; + this.pending = false; + arrRemove_1.arrRemove(actions, this); + if (id != null) { + this.id = this.recycleAsyncId(scheduler, id, null); + } + this.delay = null; + _super.prototype.unsubscribe.call(this); + } + }; + return AsyncAction2; + })(Action_1.Action); + exports.AsyncAction = AsyncAction; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js +var require_dateTimestampProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.dateTimestampProvider = void 0; + exports.dateTimestampProvider = { + now: /* @__PURE__ */ __name(function() { + return (exports.dateTimestampProvider.delegate || Date).now(); + }, "now"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Scheduler.js +var require_Scheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Scheduler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Scheduler = void 0; + var dateTimestampProvider_1 = require_dateTimestampProvider(); + var Scheduler = (function() { + function Scheduler2(schedulerActionCtor, now) { + if (now === void 0) { + now = Scheduler2.now; + } + this.schedulerActionCtor = schedulerActionCtor; + this.now = now; + } + __name(Scheduler2, "Scheduler"); + Scheduler2.prototype.schedule = function(work, delay, state) { + if (delay === void 0) { + delay = 0; + } + return new this.schedulerActionCtor(this, work).schedule(state, delay); + }; + Scheduler2.now = dateTimestampProvider_1.dateTimestampProvider.now; + return Scheduler2; + })(); + exports.Scheduler = Scheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js +var require_AsyncScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AsyncScheduler = void 0; + var Scheduler_1 = require_Scheduler(); + var AsyncScheduler = (function(_super) { + __extends(AsyncScheduler2, _super); + function AsyncScheduler2(SchedulerAction, now) { + if (now === void 0) { + now = Scheduler_1.Scheduler.now; + } + var _this = _super.call(this, SchedulerAction, now) || this; + _this.actions = []; + _this._active = false; + return _this; + } + __name(AsyncScheduler2, "AsyncScheduler"); + AsyncScheduler2.prototype.flush = function(action) { + var actions = this.actions; + if (this._active) { + actions.push(action); + return; + } + var error; + this._active = true; + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while (action = actions.shift()); + this._active = false; + if (error) { + while (action = actions.shift()) { + action.unsubscribe(); + } + throw error; + } + }; + return AsyncScheduler2; + })(Scheduler_1.Scheduler); + exports.AsyncScheduler = AsyncScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/async.js +var require_async = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/async.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.async = exports.asyncScheduler = void 0; + var AsyncAction_1 = require_AsyncAction(); + var AsyncScheduler_1 = require_AsyncScheduler(); + exports.asyncScheduler = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction); + exports.async = exports.asyncScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js +var require_isScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isScheduler = void 0; + var isFunction_1 = require_isFunction(); + function isScheduler(value) { + return value && isFunction_1.isFunction(value.schedule); + } + __name(isScheduler, "isScheduler"); + exports.isScheduler = isScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isDate.js +var require_isDate = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isDate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isValidDate = void 0; + function isValidDate(value) { + return value instanceof Date && !isNaN(value); + } + __name(isValidDate, "isValidDate"); + exports.isValidDate = isValidDate; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/timer.js +var require_timer = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/timer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.timer = void 0; + var Observable_1 = require_Observable(); + var async_1 = require_async(); + var isScheduler_1 = require_isScheduler(); + var isDate_1 = require_isDate(); + function timer(dueTime, intervalOrScheduler, scheduler) { + if (dueTime === void 0) { + dueTime = 0; + } + if (scheduler === void 0) { + scheduler = async_1.async; + } + var intervalDuration = -1; + if (intervalOrScheduler != null) { + if (isScheduler_1.isScheduler(intervalOrScheduler)) { + scheduler = intervalOrScheduler; + } else { + intervalDuration = intervalOrScheduler; + } + } + return new Observable_1.Observable(function(subscriber) { + var due = isDate_1.isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime; + if (due < 0) { + due = 0; + } + var n = 0; + return scheduler.schedule(function() { + if (!subscriber.closed) { + subscriber.next(n++); + if (0 <= intervalDuration) { + this.schedule(void 0, intervalDuration); + } else { + subscriber.complete(); + } + } + }, due); + }); + } + __name(timer, "timer"); + exports.timer = timer; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js +var require_auditTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.auditTime = void 0; + var async_1 = require_async(); + var audit_1 = require_audit(); + var timer_1 = require_timer(); + function auditTime(duration, scheduler) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + return audit_1.audit(function() { + return timer_1.timer(duration, scheduler); + }); + } + __name(auditTime, "auditTime"); + exports.auditTime = auditTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/buffer.js +var require_buffer = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/buffer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.buffer = void 0; + var lift_1 = require_lift(); + var noop_1 = require_noop(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function buffer(closingNotifier) { + return lift_1.operate(function(source, subscriber) { + var currentBuffer = []; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return currentBuffer.push(value); + }, function() { + subscriber.next(currentBuffer); + subscriber.complete(); + })); + innerFrom_1.innerFrom(closingNotifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + var b = currentBuffer; + currentBuffer = []; + subscriber.next(b); + }, noop_1.noop)); + return function() { + currentBuffer = null; + }; + }); + } + __name(buffer, "buffer"); + exports.buffer = buffer; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js +var require_bufferCount = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bufferCount = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var arrRemove_1 = require_arrRemove(); + function bufferCount(bufferSize, startBufferEvery) { + if (startBufferEvery === void 0) { + startBufferEvery = null; + } + startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize; + return lift_1.operate(function(source, subscriber) { + var buffers = []; + var count = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var e_1, _a, e_2, _b; + var toEmit = null; + if (count++ % startBufferEvery === 0) { + buffers.push([]); + } + try { + for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) { + var buffer = buffers_1_1.value; + buffer.push(value); + if (bufferSize <= buffer.length) { + toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : []; + toEmit.push(buffer); + } + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1); + } finally { + if (e_1) throw e_1.error; + } + } + if (toEmit) { + try { + for (var toEmit_1 = __values(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) { + var buffer = toEmit_1_1.value; + arrRemove_1.arrRemove(buffers, buffer); + subscriber.next(buffer); + } + } catch (e_2_1) { + e_2 = { error: e_2_1 }; + } finally { + try { + if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1); + } finally { + if (e_2) throw e_2.error; + } + } + } + }, function() { + var e_3, _a; + try { + for (var buffers_2 = __values(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) { + var buffer = buffers_2_1.value; + subscriber.next(buffer); + } + } catch (e_3_1) { + e_3 = { error: e_3_1 }; + } finally { + try { + if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2); + } finally { + if (e_3) throw e_3.error; + } + } + subscriber.complete(); + }, void 0, function() { + buffers = null; + })); + }); + } + __name(bufferCount, "bufferCount"); + exports.bufferCount = bufferCount; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/args.js +var require_args = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/args.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.popNumber = exports.popScheduler = exports.popResultSelector = void 0; + var isFunction_1 = require_isFunction(); + var isScheduler_1 = require_isScheduler(); + function last(arr) { + return arr[arr.length - 1]; + } + __name(last, "last"); + function popResultSelector(args) { + return isFunction_1.isFunction(last(args)) ? args.pop() : void 0; + } + __name(popResultSelector, "popResultSelector"); + exports.popResultSelector = popResultSelector; + function popScheduler(args) { + return isScheduler_1.isScheduler(last(args)) ? args.pop() : void 0; + } + __name(popScheduler, "popScheduler"); + exports.popScheduler = popScheduler; + function popNumber(args, defaultValue) { + return typeof last(args) === "number" ? args.pop() : defaultValue; + } + __name(popNumber, "popNumber"); + exports.popNumber = popNumber; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js +var require_executeSchedule = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.executeSchedule = void 0; + function executeSchedule(parentSubscription, scheduler, work, delay, repeat) { + if (delay === void 0) { + delay = 0; + } + if (repeat === void 0) { + repeat = false; + } + var scheduleSubscription = scheduler.schedule(function() { + work(); + if (repeat) { + parentSubscription.add(this.schedule(null, delay)); + } else { + this.unsubscribe(); + } + }, delay); + parentSubscription.add(scheduleSubscription); + if (!repeat) { + return scheduleSubscription; + } + } + __name(executeSchedule, "executeSchedule"); + exports.executeSchedule = executeSchedule; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js +var require_bufferTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bufferTime = void 0; + var Subscription_1 = require_Subscription(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var arrRemove_1 = require_arrRemove(); + var async_1 = require_async(); + var args_1 = require_args(); + var executeSchedule_1 = require_executeSchedule(); + function bufferTime(bufferTimeSpan) { + var _a, _b; + var otherArgs = []; + for (var _i = 1; _i < arguments.length; _i++) { + otherArgs[_i - 1] = arguments[_i]; + } + var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler; + var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null; + var maxBufferSize = otherArgs[1] || Infinity; + return lift_1.operate(function(source, subscriber) { + var bufferRecords = []; + var restartOnEmit = false; + var emit = /* @__PURE__ */ __name(function(record) { + var buffer = record.buffer, subs = record.subs; + subs.unsubscribe(); + arrRemove_1.arrRemove(bufferRecords, record); + subscriber.next(buffer); + restartOnEmit && startBuffer(); + }, "emit"); + var startBuffer = /* @__PURE__ */ __name(function() { + if (bufferRecords) { + var subs = new Subscription_1.Subscription(); + subscriber.add(subs); + var buffer = []; + var record_1 = { + buffer, + subs + }; + bufferRecords.push(record_1); + executeSchedule_1.executeSchedule(subs, scheduler, function() { + return emit(record_1); + }, bufferTimeSpan); + } + }, "startBuffer"); + if (bufferCreationInterval !== null && bufferCreationInterval >= 0) { + executeSchedule_1.executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true); + } else { + restartOnEmit = true; + } + startBuffer(); + var bufferTimeSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var e_1, _a2; + var recordsCopy = bufferRecords.slice(); + try { + for (var recordsCopy_1 = __values(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) { + var record = recordsCopy_1_1.value; + var buffer = record.buffer; + buffer.push(value); + maxBufferSize <= buffer.length && emit(record); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a2 = recordsCopy_1.return)) _a2.call(recordsCopy_1); + } finally { + if (e_1) throw e_1.error; + } + } + }, function() { + while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) { + subscriber.next(bufferRecords.shift().buffer); + } + bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe(); + subscriber.complete(); + subscriber.unsubscribe(); + }, void 0, function() { + return bufferRecords = null; + }); + source.subscribe(bufferTimeSubscriber); + }); + } + __name(bufferTime, "bufferTime"); + exports.bufferTime = bufferTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js +var require_bufferToggle = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bufferToggle = void 0; + var Subscription_1 = require_Subscription(); + var lift_1 = require_lift(); + var innerFrom_1 = require_innerFrom(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + var arrRemove_1 = require_arrRemove(); + function bufferToggle(openings, closingSelector) { + return lift_1.operate(function(source, subscriber) { + var buffers = []; + innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) { + var buffer = []; + buffers.push(buffer); + var closingSubscription = new Subscription_1.Subscription(); + var emitBuffer = /* @__PURE__ */ __name(function() { + arrRemove_1.arrRemove(buffers, buffer); + subscriber.next(buffer); + closingSubscription.unsubscribe(); + }, "emitBuffer"); + closingSubscription.add(innerFrom_1.innerFrom(closingSelector(openValue)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, emitBuffer, noop_1.noop))); + }, noop_1.noop)); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var e_1, _a; + try { + for (var buffers_1 = __values(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) { + var buffer = buffers_1_1.value; + buffer.push(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1); + } finally { + if (e_1) throw e_1.error; + } + } + }, function() { + while (buffers.length > 0) { + subscriber.next(buffers.shift()); + } + subscriber.complete(); + })); + }); + } + __name(bufferToggle, "bufferToggle"); + exports.bufferToggle = bufferToggle; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js +var require_bufferWhen = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bufferWhen = void 0; + var lift_1 = require_lift(); + var noop_1 = require_noop(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function bufferWhen(closingSelector) { + return lift_1.operate(function(source, subscriber) { + var buffer = null; + var closingSubscriber = null; + var openBuffer = /* @__PURE__ */ __name(function() { + closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe(); + var b = buffer; + buffer = []; + b && subscriber.next(b); + innerFrom_1.innerFrom(closingSelector()).subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openBuffer, noop_1.noop)); + }, "openBuffer"); + openBuffer(); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return buffer === null || buffer === void 0 ? void 0 : buffer.push(value); + }, function() { + buffer && subscriber.next(buffer); + subscriber.complete(); + }, void 0, function() { + return buffer = closingSubscriber = null; + })); + }); + } + __name(bufferWhen, "bufferWhen"); + exports.bufferWhen = bufferWhen; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/catchError.js +var require_catchError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/catchError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.catchError = void 0; + var innerFrom_1 = require_innerFrom(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var lift_1 = require_lift(); + function catchError(selector) { + return lift_1.operate(function(source, subscriber) { + var innerSub = null; + var syncUnsub = false; + var handledResult; + innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) { + handledResult = innerFrom_1.innerFrom(selector(err, catchError(selector)(source))); + if (innerSub) { + innerSub.unsubscribe(); + innerSub = null; + handledResult.subscribe(subscriber); + } else { + syncUnsub = true; + } + })); + if (syncUnsub) { + innerSub.unsubscribe(); + innerSub = null; + handledResult.subscribe(subscriber); + } + }); + } + __name(catchError, "catchError"); + exports.catchError = catchError; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js +var require_argsArgArrayOrObject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.argsArgArrayOrObject = void 0; + var isArray = Array.isArray; + var getPrototypeOf = Object.getPrototypeOf; + var objectProto = Object.prototype; + var getKeys = Object.keys; + function argsArgArrayOrObject(args) { + if (args.length === 1) { + var first_1 = args[0]; + if (isArray(first_1)) { + return { args: first_1, keys: null }; + } + if (isPOJO(first_1)) { + var keys = getKeys(first_1); + return { + args: keys.map(function(key) { + return first_1[key]; + }), + keys + }; + } + } + return { args, keys: null }; + } + __name(argsArgArrayOrObject, "argsArgArrayOrObject"); + exports.argsArgArrayOrObject = argsArgArrayOrObject; + function isPOJO(obj) { + return obj && typeof obj === "object" && getPrototypeOf(obj) === objectProto; + } + __name(isPOJO, "isPOJO"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js +var require_observeOn = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.observeOn = void 0; + var executeSchedule_1 = require_executeSchedule(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function observeOn(scheduler, delay) { + if (delay === void 0) { + delay = 0; + } + return lift_1.operate(function(source, subscriber) { + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + return subscriber.next(value); + }, delay); + }, function() { + return executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + return subscriber.complete(); + }, delay); + }, function(err) { + return executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + return subscriber.error(err); + }, delay); + })); + }); + } + __name(observeOn, "observeOn"); + exports.observeOn = observeOn; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js +var require_subscribeOn = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.subscribeOn = void 0; + var lift_1 = require_lift(); + function subscribeOn(scheduler, delay) { + if (delay === void 0) { + delay = 0; + } + return lift_1.operate(function(source, subscriber) { + subscriber.add(scheduler.schedule(function() { + return source.subscribe(subscriber); + }, delay)); + }); + } + __name(subscribeOn, "subscribeOn"); + exports.subscribeOn = subscribeOn; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js +var require_scheduleObservable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduleObservable = void 0; + var innerFrom_1 = require_innerFrom(); + var observeOn_1 = require_observeOn(); + var subscribeOn_1 = require_subscribeOn(); + function scheduleObservable(input, scheduler) { + return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler)); + } + __name(scheduleObservable, "scheduleObservable"); + exports.scheduleObservable = scheduleObservable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js +var require_schedulePromise = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.schedulePromise = void 0; + var innerFrom_1 = require_innerFrom(); + var observeOn_1 = require_observeOn(); + var subscribeOn_1 = require_subscribeOn(); + function schedulePromise(input, scheduler) { + return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler)); + } + __name(schedulePromise, "schedulePromise"); + exports.schedulePromise = schedulePromise; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js +var require_scheduleArray = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduleArray = void 0; + var Observable_1 = require_Observable(); + function scheduleArray(input, scheduler) { + return new Observable_1.Observable(function(subscriber) { + var i = 0; + return scheduler.schedule(function() { + if (i === input.length) { + subscriber.complete(); + } else { + subscriber.next(input[i++]); + if (!subscriber.closed) { + this.schedule(); + } + } + }); + }); + } + __name(scheduleArray, "scheduleArray"); + exports.scheduleArray = scheduleArray; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js +var require_scheduleIterable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduleIterable = void 0; + var Observable_1 = require_Observable(); + var iterator_1 = require_iterator(); + var isFunction_1 = require_isFunction(); + var executeSchedule_1 = require_executeSchedule(); + function scheduleIterable(input, scheduler) { + return new Observable_1.Observable(function(subscriber) { + var iterator; + executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + iterator = input[iterator_1.iterator](); + executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + var _a; + var value; + var done; + try { + _a = iterator.next(), value = _a.value, done = _a.done; + } catch (err) { + subscriber.error(err); + return; + } + if (done) { + subscriber.complete(); + } else { + subscriber.next(value); + } + }, 0, true); + }); + return function() { + return isFunction_1.isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); + }; + }); + } + __name(scheduleIterable, "scheduleIterable"); + exports.scheduleIterable = scheduleIterable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js +var require_scheduleAsyncIterable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduleAsyncIterable = void 0; + var Observable_1 = require_Observable(); + var executeSchedule_1 = require_executeSchedule(); + function scheduleAsyncIterable(input, scheduler) { + if (!input) { + throw new Error("Iterable cannot be null"); + } + return new Observable_1.Observable(function(subscriber) { + executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + var iterator = input[Symbol.asyncIterator](); + executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + iterator.next().then(function(result) { + if (result.done) { + subscriber.complete(); + } else { + subscriber.next(result.value); + } + }); + }, 0, true); + }); + }); + } + __name(scheduleAsyncIterable, "scheduleAsyncIterable"); + exports.scheduleAsyncIterable = scheduleAsyncIterable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js +var require_scheduleReadableStreamLike = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduleReadableStreamLike = void 0; + var scheduleAsyncIterable_1 = require_scheduleAsyncIterable(); + var isReadableStreamLike_1 = require_isReadableStreamLike(); + function scheduleReadableStreamLike(input, scheduler) { + return scheduleAsyncIterable_1.scheduleAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(input), scheduler); + } + __name(scheduleReadableStreamLike, "scheduleReadableStreamLike"); + exports.scheduleReadableStreamLike = scheduleReadableStreamLike; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js +var require_scheduled = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scheduled = void 0; + var scheduleObservable_1 = require_scheduleObservable(); + var schedulePromise_1 = require_schedulePromise(); + var scheduleArray_1 = require_scheduleArray(); + var scheduleIterable_1 = require_scheduleIterable(); + var scheduleAsyncIterable_1 = require_scheduleAsyncIterable(); + var isInteropObservable_1 = require_isInteropObservable(); + var isPromise_1 = require_isPromise(); + var isArrayLike_1 = require_isArrayLike(); + var isIterable_1 = require_isIterable(); + var isAsyncIterable_1 = require_isAsyncIterable(); + var throwUnobservableError_1 = require_throwUnobservableError(); + var isReadableStreamLike_1 = require_isReadableStreamLike(); + var scheduleReadableStreamLike_1 = require_scheduleReadableStreamLike(); + function scheduled(input, scheduler) { + if (input != null) { + if (isInteropObservable_1.isInteropObservable(input)) { + return scheduleObservable_1.scheduleObservable(input, scheduler); + } + if (isArrayLike_1.isArrayLike(input)) { + return scheduleArray_1.scheduleArray(input, scheduler); + } + if (isPromise_1.isPromise(input)) { + return schedulePromise_1.schedulePromise(input, scheduler); + } + if (isAsyncIterable_1.isAsyncIterable(input)) { + return scheduleAsyncIterable_1.scheduleAsyncIterable(input, scheduler); + } + if (isIterable_1.isIterable(input)) { + return scheduleIterable_1.scheduleIterable(input, scheduler); + } + if (isReadableStreamLike_1.isReadableStreamLike(input)) { + return scheduleReadableStreamLike_1.scheduleReadableStreamLike(input, scheduler); + } + } + throw throwUnobservableError_1.createInvalidObservableTypeError(input); + } + __name(scheduled, "scheduled"); + exports.scheduled = scheduled; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/from.js +var require_from = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/from.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.from = void 0; + var scheduled_1 = require_scheduled(); + var innerFrom_1 = require_innerFrom(); + function from(input, scheduler) { + return scheduler ? scheduled_1.scheduled(input, scheduler) : innerFrom_1.innerFrom(input); + } + __name(from, "from"); + exports.from = from; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/map.js +var require_map2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/map.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.map = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function map2(project, thisArg) { + return lift_1.operate(function(source, subscriber) { + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + subscriber.next(project.call(thisArg, value, index++)); + })); + }); + } + __name(map2, "map"); + exports.map = map2; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js +var require_mapOneOrManyArgs = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mapOneOrManyArgs = void 0; + var map_1 = require_map2(); + var isArray = Array.isArray; + function callOrApply(fn, args) { + return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args); + } + __name(callOrApply, "callOrApply"); + function mapOneOrManyArgs(fn) { + return map_1.map(function(args) { + return callOrApply(fn, args); + }); + } + __name(mapOneOrManyArgs, "mapOneOrManyArgs"); + exports.mapOneOrManyArgs = mapOneOrManyArgs; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createObject.js +var require_createObject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/createObject.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createObject = void 0; + function createObject(keys, values) { + return keys.reduce(function(result, key, i) { + return result[key] = values[i], result; + }, {}); + } + __name(createObject, "createObject"); + exports.createObject = createObject; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js +var require_combineLatest = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.combineLatestInit = exports.combineLatest = void 0; + var Observable_1 = require_Observable(); + var argsArgArrayOrObject_1 = require_argsArgArrayOrObject(); + var from_1 = require_from(); + var identity_1 = require_identity(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var args_1 = require_args(); + var createObject_1 = require_createObject(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var executeSchedule_1 = require_executeSchedule(); + function combineLatest() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(args); + var resultSelector = args_1.popResultSelector(args); + var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys; + if (observables.length === 0) { + return from_1.from([], scheduler); + } + var result = new Observable_1.Observable(combineLatestInit(observables, scheduler, keys ? function(values) { + return createObject_1.createObject(keys, values); + } : identity_1.identity)); + return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result; + } + __name(combineLatest, "combineLatest"); + exports.combineLatest = combineLatest; + function combineLatestInit(observables, scheduler, valueTransform) { + if (valueTransform === void 0) { + valueTransform = identity_1.identity; + } + return function(subscriber) { + maybeSchedule(scheduler, function() { + var length = observables.length; + var values = new Array(length); + var active = length; + var remainingFirstValues = length; + var _loop_1 = /* @__PURE__ */ __name(function(i2) { + maybeSchedule(scheduler, function() { + var source = from_1.from(observables[i2], scheduler); + var hasFirstValue = false; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + values[i2] = value; + if (!hasFirstValue) { + hasFirstValue = true; + remainingFirstValues--; + } + if (!remainingFirstValues) { + subscriber.next(valueTransform(values.slice())); + } + }, function() { + if (!--active) { + subscriber.complete(); + } + })); + }, subscriber); + }, "_loop_1"); + for (var i = 0; i < length; i++) { + _loop_1(i); + } + }, subscriber); + }; + } + __name(combineLatestInit, "combineLatestInit"); + exports.combineLatestInit = combineLatestInit; + function maybeSchedule(scheduler, execute, subscription) { + if (scheduler) { + executeSchedule_1.executeSchedule(subscription, scheduler, execute); + } else { + execute(); + } + } + __name(maybeSchedule, "maybeSchedule"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js +var require_mergeInternals = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeInternals = void 0; + var innerFrom_1 = require_innerFrom(); + var executeSchedule_1 = require_executeSchedule(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) { + var buffer = []; + var active = 0; + var index = 0; + var isComplete = false; + var checkComplete = /* @__PURE__ */ __name(function() { + if (isComplete && !buffer.length && !active) { + subscriber.complete(); + } + }, "checkComplete"); + var outerNext = /* @__PURE__ */ __name(function(value) { + return active < concurrent ? doInnerSub(value) : buffer.push(value); + }, "outerNext"); + var doInnerSub = /* @__PURE__ */ __name(function(value) { + expand && subscriber.next(value); + active++; + var innerComplete = false; + innerFrom_1.innerFrom(project(value, index++)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) { + onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue); + if (expand) { + outerNext(innerValue); + } else { + subscriber.next(innerValue); + } + }, function() { + innerComplete = true; + }, void 0, function() { + if (innerComplete) { + try { + active--; + var _loop_1 = /* @__PURE__ */ __name(function() { + var bufferedValue = buffer.shift(); + if (innerSubScheduler) { + executeSchedule_1.executeSchedule(subscriber, innerSubScheduler, function() { + return doInnerSub(bufferedValue); + }); + } else { + doInnerSub(bufferedValue); + } + }, "_loop_1"); + while (buffer.length && active < concurrent) { + _loop_1(); + } + checkComplete(); + } catch (err) { + subscriber.error(err); + } + } + })); + }, "doInnerSub"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, outerNext, function() { + isComplete = true; + checkComplete(); + })); + return function() { + additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer(); + }; + } + __name(mergeInternals, "mergeInternals"); + exports.mergeInternals = mergeInternals; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js +var require_mergeMap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeMap = void 0; + var map_1 = require_map2(); + var innerFrom_1 = require_innerFrom(); + var lift_1 = require_lift(); + var mergeInternals_1 = require_mergeInternals(); + var isFunction_1 = require_isFunction(); + function mergeMap(project, resultSelector, concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + if (isFunction_1.isFunction(resultSelector)) { + return mergeMap(function(a, i) { + return map_1.map(function(b, ii) { + return resultSelector(a, b, i, ii); + })(innerFrom_1.innerFrom(project(a, i))); + }, concurrent); + } else if (typeof resultSelector === "number") { + concurrent = resultSelector; + } + return lift_1.operate(function(source, subscriber) { + return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent); + }); + } + __name(mergeMap, "mergeMap"); + exports.mergeMap = mergeMap; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js +var require_scanInternals = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scanInternals = void 0; + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) { + return function(source, subscriber) { + var hasState = hasSeed; + var state = seed; + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var i = index++; + state = hasState ? accumulator(state, value, i) : (hasState = true, value); + emitOnNext && subscriber.next(state); + }, emitBeforeComplete && (function() { + hasState && subscriber.next(state); + subscriber.complete(); + }))); + }; + } + __name(scanInternals, "scanInternals"); + exports.scanInternals = scanInternals; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/reduce.js +var require_reduce = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/reduce.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.reduce = void 0; + var scanInternals_1 = require_scanInternals(); + var lift_1 = require_lift(); + function reduce(accumulator, seed) { + return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, false, true)); + } + __name(reduce, "reduce"); + exports.reduce = reduce; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/toArray.js +var require_toArray = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/toArray.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.toArray = void 0; + var reduce_1 = require_reduce(); + var lift_1 = require_lift(); + var arrReducer = /* @__PURE__ */ __name(function(arr, value) { + return arr.push(value), arr; + }, "arrReducer"); + function toArray() { + return lift_1.operate(function(source, subscriber) { + reduce_1.reduce(arrReducer, [])(source).subscribe(subscriber); + }); + } + __name(toArray, "toArray"); + exports.toArray = toArray; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js +var require_joinAllInternals = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.joinAllInternals = void 0; + var identity_1 = require_identity(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var pipe_1 = require_pipe(); + var mergeMap_1 = require_mergeMap(); + var toArray_1 = require_toArray(); + function joinAllInternals(joinFn, project) { + return pipe_1.pipe(toArray_1.toArray(), mergeMap_1.mergeMap(function(sources) { + return joinFn(sources); + }), project ? mapOneOrManyArgs_1.mapOneOrManyArgs(project) : identity_1.identity); + } + __name(joinAllInternals, "joinAllInternals"); + exports.joinAllInternals = joinAllInternals; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js +var require_combineLatestAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.combineLatestAll = void 0; + var combineLatest_1 = require_combineLatest(); + var joinAllInternals_1 = require_joinAllInternals(); + function combineLatestAll(project) { + return joinAllInternals_1.joinAllInternals(combineLatest_1.combineLatest, project); + } + __name(combineLatestAll, "combineLatestAll"); + exports.combineLatestAll = combineLatestAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js +var require_combineAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.combineAll = void 0; + var combineLatestAll_1 = require_combineLatestAll(); + exports.combineAll = combineLatestAll_1.combineLatestAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js +var require_argsOrArgArray = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.argsOrArgArray = void 0; + var isArray = Array.isArray; + function argsOrArgArray(args) { + return args.length === 1 && isArray(args[0]) ? args[0] : args; + } + __name(argsOrArgArray, "argsOrArgArray"); + exports.argsOrArgArray = argsOrArgArray; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js +var require_combineLatest2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.combineLatest = void 0; + var combineLatest_1 = require_combineLatest(); + var lift_1 = require_lift(); + var argsOrArgArray_1 = require_argsOrArgArray(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var pipe_1 = require_pipe(); + var args_1 = require_args(); + function combineLatest() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var resultSelector = args_1.popResultSelector(args); + return resultSelector ? pipe_1.pipe(combineLatest.apply(void 0, __spreadArray([], __read(args))), mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : lift_1.operate(function(source, subscriber) { + combineLatest_1.combineLatestInit(__spreadArray([source], __read(argsOrArgArray_1.argsOrArgArray(args))))(subscriber); + }); + } + __name(combineLatest, "combineLatest"); + exports.combineLatest = combineLatest; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js +var require_combineLatestWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.combineLatestWith = void 0; + var combineLatest_1 = require_combineLatest2(); + function combineLatestWith() { + var otherSources = []; + for (var _i = 0; _i < arguments.length; _i++) { + otherSources[_i] = arguments[_i]; + } + return combineLatest_1.combineLatest.apply(void 0, __spreadArray([], __read(otherSources))); + } + __name(combineLatestWith, "combineLatestWith"); + exports.combineLatestWith = combineLatestWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js +var require_mergeAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeAll = void 0; + var mergeMap_1 = require_mergeMap(); + var identity_1 = require_identity(); + function mergeAll(concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + return mergeMap_1.mergeMap(identity_1.identity, concurrent); + } + __name(mergeAll, "mergeAll"); + exports.mergeAll = mergeAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js +var require_concatAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concatAll = void 0; + var mergeAll_1 = require_mergeAll(); + function concatAll() { + return mergeAll_1.mergeAll(1); + } + __name(concatAll, "concatAll"); + exports.concatAll = concatAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concat.js +var require_concat2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concat.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concat = void 0; + var lift_1 = require_lift(); + var concatAll_1 = require_concatAll(); + var args_1 = require_args(); + var from_1 = require_from(); + function concat() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(args); + return lift_1.operate(function(source, subscriber) { + concatAll_1.concatAll()(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber); + }); + } + __name(concat, "concat"); + exports.concat = concat; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js +var require_concatMap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concatMap = void 0; + var mergeMap_1 = require_mergeMap(); + var isFunction_1 = require_isFunction(); + function concatMap2(project, resultSelector) { + return isFunction_1.isFunction(resultSelector) ? mergeMap_1.mergeMap(project, resultSelector, 1) : mergeMap_1.mergeMap(project, 1); + } + __name(concatMap2, "concatMap"); + exports.concatMap = concatMap2; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js +var require_concatMapTo = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concatMapTo = void 0; + var concatMap_1 = require_concatMap(); + var isFunction_1 = require_isFunction(); + function concatMapTo(innerObservable, resultSelector) { + return isFunction_1.isFunction(resultSelector) ? concatMap_1.concatMap(function() { + return innerObservable; + }, resultSelector) : concatMap_1.concatMap(function() { + return innerObservable; + }); + } + __name(concatMapTo, "concatMapTo"); + exports.concatMapTo = concatMapTo; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js +var require_concatWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concatWith = void 0; + var concat_1 = require_concat2(); + function concatWith() { + var otherSources = []; + for (var _i = 0; _i < arguments.length; _i++) { + otherSources[_i] = arguments[_i]; + } + return concat_1.concat.apply(void 0, __spreadArray([], __read(otherSources))); + } + __name(concatWith, "concatWith"); + exports.concatWith = concatWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js +var require_ObjectUnsubscribedError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ObjectUnsubscribedError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.ObjectUnsubscribedError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function ObjectUnsubscribedErrorImpl() { + _super(this); + this.name = "ObjectUnsubscribedError"; + this.message = "object unsubscribed"; + }, "ObjectUnsubscribedErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subject.js +var require_Subject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Subject.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AnonymousSubject = exports.Subject = void 0; + var Observable_1 = require_Observable(); + var Subscription_1 = require_Subscription(); + var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError(); + var arrRemove_1 = require_arrRemove(); + var errorContext_1 = require_errorContext(); + var Subject = (function(_super) { + __extends(Subject2, _super); + function Subject2() { + var _this = _super.call(this) || this; + _this.closed = false; + _this.currentObservers = null; + _this.observers = []; + _this.isStopped = false; + _this.hasError = false; + _this.thrownError = null; + return _this; + } + __name(Subject2, "Subject"); + Subject2.prototype.lift = function(operator) { + var subject = new AnonymousSubject(this, this); + subject.operator = operator; + return subject; + }; + Subject2.prototype._throwIfClosed = function() { + if (this.closed) { + throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError(); + } + }; + Subject2.prototype.next = function(value) { + var _this = this; + errorContext_1.errorContext(function() { + var e_1, _a; + _this._throwIfClosed(); + if (!_this.isStopped) { + if (!_this.currentObservers) { + _this.currentObservers = Array.from(_this.observers); + } + try { + for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) { + var observer = _c.value; + observer.next(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (_c && !_c.done && (_a = _b.return)) _a.call(_b); + } finally { + if (e_1) throw e_1.error; + } + } + } + }); + }; + Subject2.prototype.error = function(err) { + var _this = this; + errorContext_1.errorContext(function() { + _this._throwIfClosed(); + if (!_this.isStopped) { + _this.hasError = _this.isStopped = true; + _this.thrownError = err; + var observers = _this.observers; + while (observers.length) { + observers.shift().error(err); + } + } + }); + }; + Subject2.prototype.complete = function() { + var _this = this; + errorContext_1.errorContext(function() { + _this._throwIfClosed(); + if (!_this.isStopped) { + _this.isStopped = true; + var observers = _this.observers; + while (observers.length) { + observers.shift().complete(); + } + } + }); + }; + Subject2.prototype.unsubscribe = function() { + this.isStopped = this.closed = true; + this.observers = this.currentObservers = null; + }; + Object.defineProperty(Subject2.prototype, "observed", { + get: /* @__PURE__ */ __name(function() { + var _a; + return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0; + }, "get"), + enumerable: false, + configurable: true + }); + Subject2.prototype._trySubscribe = function(subscriber) { + this._throwIfClosed(); + return _super.prototype._trySubscribe.call(this, subscriber); + }; + Subject2.prototype._subscribe = function(subscriber) { + this._throwIfClosed(); + this._checkFinalizedStatuses(subscriber); + return this._innerSubscribe(subscriber); + }; + Subject2.prototype._innerSubscribe = function(subscriber) { + var _this = this; + var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers; + if (hasError || isStopped) { + return Subscription_1.EMPTY_SUBSCRIPTION; + } + this.currentObservers = null; + observers.push(subscriber); + return new Subscription_1.Subscription(function() { + _this.currentObservers = null; + arrRemove_1.arrRemove(observers, subscriber); + }); + }; + Subject2.prototype._checkFinalizedStatuses = function(subscriber) { + var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped; + if (hasError) { + subscriber.error(thrownError); + } else if (isStopped) { + subscriber.complete(); + } + }; + Subject2.prototype.asObservable = function() { + var observable = new Observable_1.Observable(); + observable.source = this; + return observable; + }; + Subject2.create = function(destination, source) { + return new AnonymousSubject(destination, source); + }; + return Subject2; + })(Observable_1.Observable); + exports.Subject = Subject; + var AnonymousSubject = (function(_super) { + __extends(AnonymousSubject2, _super); + function AnonymousSubject2(destination, source) { + var _this = _super.call(this) || this; + _this.destination = destination; + _this.source = source; + return _this; + } + __name(AnonymousSubject2, "AnonymousSubject"); + AnonymousSubject2.prototype.next = function(value) { + var _a, _b; + (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value); + }; + AnonymousSubject2.prototype.error = function(err) { + var _a, _b; + (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err); + }; + AnonymousSubject2.prototype.complete = function() { + var _a, _b; + (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a); + }; + AnonymousSubject2.prototype._subscribe = function(subscriber) { + var _a, _b; + return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : Subscription_1.EMPTY_SUBSCRIPTION; + }; + return AnonymousSubject2; + })(Subject); + exports.AnonymousSubject = AnonymousSubject; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js +var require_fromSubscribable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromSubscribable = void 0; + var Observable_1 = require_Observable(); + function fromSubscribable(subscribable) { + return new Observable_1.Observable(function(subscriber) { + return subscribable.subscribe(subscriber); + }); + } + __name(fromSubscribable, "fromSubscribable"); + exports.fromSubscribable = fromSubscribable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/connect.js +var require_connect = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/connect.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.connect = void 0; + var Subject_1 = require_Subject(); + var innerFrom_1 = require_innerFrom(); + var lift_1 = require_lift(); + var fromSubscribable_1 = require_fromSubscribable(); + var DEFAULT_CONFIG = { + connector: /* @__PURE__ */ __name(function() { + return new Subject_1.Subject(); + }, "connector") + }; + function connect(selector, config) { + if (config === void 0) { + config = DEFAULT_CONFIG; + } + var connector = config.connector; + return lift_1.operate(function(source, subscriber) { + var subject = connector(); + innerFrom_1.innerFrom(selector(fromSubscribable_1.fromSubscribable(subject))).subscribe(subscriber); + subscriber.add(source.subscribe(subject)); + }); + } + __name(connect, "connect"); + exports.connect = connect; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/count.js +var require_count = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/count.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.count = void 0; + var reduce_1 = require_reduce(); + function count(predicate) { + return reduce_1.reduce(function(total, value, i) { + return !predicate || predicate(value, i) ? total + 1 : total; + }, 0); + } + __name(count, "count"); + exports.count = count; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounce.js +var require_debounce = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounce.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.debounce = void 0; + var lift_1 = require_lift(); + var noop_1 = require_noop(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function debounce(durationSelector) { + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + var lastValue = null; + var durationSubscriber = null; + var emit = /* @__PURE__ */ __name(function() { + durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe(); + durationSubscriber = null; + if (hasValue) { + hasValue = false; + var value = lastValue; + lastValue = null; + subscriber.next(value); + } + }, "emit"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe(); + hasValue = true; + lastValue = value; + durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, emit, noop_1.noop); + innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber); + }, function() { + emit(); + subscriber.complete(); + }, void 0, function() { + lastValue = durationSubscriber = null; + })); + }); + } + __name(debounce, "debounce"); + exports.debounce = debounce; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js +var require_debounceTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.debounceTime = void 0; + var async_1 = require_async(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function debounceTime(dueTime, scheduler) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + return lift_1.operate(function(source, subscriber) { + var activeTask = null; + var lastValue = null; + var lastTime = null; + var emit = /* @__PURE__ */ __name(function() { + if (activeTask) { + activeTask.unsubscribe(); + activeTask = null; + var value = lastValue; + lastValue = null; + subscriber.next(value); + } + }, "emit"); + function emitWhenIdle() { + var targetTime = lastTime + dueTime; + var now = scheduler.now(); + if (now < targetTime) { + activeTask = this.schedule(void 0, targetTime - now); + subscriber.add(activeTask); + return; + } + emit(); + } + __name(emitWhenIdle, "emitWhenIdle"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + lastValue = value; + lastTime = scheduler.now(); + if (!activeTask) { + activeTask = scheduler.schedule(emitWhenIdle, dueTime); + subscriber.add(activeTask); + } + }, function() { + emit(); + subscriber.complete(); + }, void 0, function() { + lastValue = activeTask = null; + })); + }); + } + __name(debounceTime, "debounceTime"); + exports.debounceTime = debounceTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js +var require_defaultIfEmpty = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defaultIfEmpty = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function defaultIfEmpty(defaultValue) { + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + subscriber.next(value); + }, function() { + if (!hasValue) { + subscriber.next(defaultValue); + } + subscriber.complete(); + })); + }); + } + __name(defaultIfEmpty, "defaultIfEmpty"); + exports.defaultIfEmpty = defaultIfEmpty; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/concat.js +var require_concat3 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/concat.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.concat = void 0; + var concatAll_1 = require_concatAll(); + var args_1 = require_args(); + var from_1 = require_from(); + function concat() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return concatAll_1.concatAll()(from_1.from(args, args_1.popScheduler(args))); + } + __name(concat, "concat"); + exports.concat = concat; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/empty.js +var require_empty = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/empty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.empty = exports.EMPTY = void 0; + var Observable_1 = require_Observable(); + exports.EMPTY = new Observable_1.Observable(function(subscriber) { + return subscriber.complete(); + }); + function empty(scheduler) { + return scheduler ? emptyScheduled(scheduler) : exports.EMPTY; + } + __name(empty, "empty"); + exports.empty = empty; + function emptyScheduled(scheduler) { + return new Observable_1.Observable(function(subscriber) { + return scheduler.schedule(function() { + return subscriber.complete(); + }); + }); + } + __name(emptyScheduled, "emptyScheduled"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/take.js +var require_take = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/take.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.take = void 0; + var empty_1 = require_empty(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function take(count) { + return count <= 0 ? function() { + return empty_1.EMPTY; + } : lift_1.operate(function(source, subscriber) { + var seen = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (++seen <= count) { + subscriber.next(value); + if (count <= seen) { + subscriber.complete(); + } + } + })); + }); + } + __name(take, "take"); + exports.take = take; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js +var require_ignoreElements = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ignoreElements = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + function ignoreElements() { + return lift_1.operate(function(source, subscriber) { + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, noop_1.noop)); + }); + } + __name(ignoreElements, "ignoreElements"); + exports.ignoreElements = ignoreElements; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js +var require_mapTo = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mapTo = void 0; + var map_1 = require_map2(); + function mapTo(value) { + return map_1.map(function() { + return value; + }); + } + __name(mapTo, "mapTo"); + exports.mapTo = mapTo; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js +var require_delayWhen = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.delayWhen = void 0; + var concat_1 = require_concat3(); + var take_1 = require_take(); + var ignoreElements_1 = require_ignoreElements(); + var mapTo_1 = require_mapTo(); + var mergeMap_1 = require_mergeMap(); + var innerFrom_1 = require_innerFrom(); + function delayWhen(delayDurationSelector, subscriptionDelay) { + if (subscriptionDelay) { + return function(source) { + return concat_1.concat(subscriptionDelay.pipe(take_1.take(1), ignoreElements_1.ignoreElements()), source.pipe(delayWhen(delayDurationSelector))); + }; + } + return mergeMap_1.mergeMap(function(value, index) { + return innerFrom_1.innerFrom(delayDurationSelector(value, index)).pipe(take_1.take(1), mapTo_1.mapTo(value)); + }); + } + __name(delayWhen, "delayWhen"); + exports.delayWhen = delayWhen; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delay.js +var require_delay = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/delay.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.delay = void 0; + var async_1 = require_async(); + var delayWhen_1 = require_delayWhen(); + var timer_1 = require_timer(); + function delay(due, scheduler) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + var duration = timer_1.timer(due, scheduler); + return delayWhen_1.delayWhen(function() { + return duration; + }); + } + __name(delay, "delay"); + exports.delay = delay; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/of.js +var require_of = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/of.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.of = void 0; + var args_1 = require_args(); + var from_1 = require_from(); + function of() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(args); + return from_1.from(args, scheduler); + } + __name(of, "of"); + exports.of = of; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/throwError.js +var require_throwError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/throwError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.throwError = void 0; + var Observable_1 = require_Observable(); + var isFunction_1 = require_isFunction(); + function throwError(errorOrErrorFactory, scheduler) { + var errorFactory = isFunction_1.isFunction(errorOrErrorFactory) ? errorOrErrorFactory : function() { + return errorOrErrorFactory; + }; + var init = /* @__PURE__ */ __name(function(subscriber) { + return subscriber.error(errorFactory()); + }, "init"); + return new Observable_1.Observable(scheduler ? function(subscriber) { + return scheduler.schedule(init, 0, subscriber); + } : init); + } + __name(throwError, "throwError"); + exports.throwError = throwError; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Notification.js +var require_Notification = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/Notification.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.observeNotification = exports.Notification = exports.NotificationKind = void 0; + var empty_1 = require_empty(); + var of_1 = require_of(); + var throwError_1 = require_throwError(); + var isFunction_1 = require_isFunction(); + var NotificationKind; + (function(NotificationKind2) { + NotificationKind2["NEXT"] = "N"; + NotificationKind2["ERROR"] = "E"; + NotificationKind2["COMPLETE"] = "C"; + })(NotificationKind = exports.NotificationKind || (exports.NotificationKind = {})); + var Notification = (function() { + function Notification2(kind, value, error) { + this.kind = kind; + this.value = value; + this.error = error; + this.hasValue = kind === "N"; + } + __name(Notification2, "Notification"); + Notification2.prototype.observe = function(observer) { + return observeNotification(this, observer); + }; + Notification2.prototype.do = function(nextHandler, errorHandler, completeHandler) { + var _a = this, kind = _a.kind, value = _a.value, error = _a.error; + return kind === "N" ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === "E" ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler(); + }; + Notification2.prototype.accept = function(nextOrObserver, error, complete) { + var _a; + return isFunction_1.isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next) ? this.observe(nextOrObserver) : this.do(nextOrObserver, error, complete); + }; + Notification2.prototype.toObservable = function() { + var _a = this, kind = _a.kind, value = _a.value, error = _a.error; + var result = kind === "N" ? of_1.of(value) : kind === "E" ? throwError_1.throwError(function() { + return error; + }) : kind === "C" ? empty_1.EMPTY : 0; + if (!result) { + throw new TypeError("Unexpected notification kind " + kind); + } + return result; + }; + Notification2.createNext = function(value) { + return new Notification2("N", value); + }; + Notification2.createError = function(err) { + return new Notification2("E", void 0, err); + }; + Notification2.createComplete = function() { + return Notification2.completeNotification; + }; + Notification2.completeNotification = new Notification2("C"); + return Notification2; + })(); + exports.Notification = Notification; + function observeNotification(notification, observer) { + var _a, _b, _c; + var _d = notification, kind = _d.kind, value = _d.value, error = _d.error; + if (typeof kind !== "string") { + throw new TypeError('Invalid notification, missing "kind"'); + } + kind === "N" ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === "E" ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer); + } + __name(observeNotification, "observeNotification"); + exports.observeNotification = observeNotification; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js +var require_dematerialize = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.dematerialize = void 0; + var Notification_1 = require_Notification(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function dematerialize() { + return lift_1.operate(function(source, subscriber) { + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(notification) { + return Notification_1.observeNotification(notification, subscriber); + })); + }); + } + __name(dematerialize, "dematerialize"); + exports.dematerialize = dematerialize; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinct.js +var require_distinct = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinct.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.distinct = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + var innerFrom_1 = require_innerFrom(); + function distinct(keySelector, flushes) { + return lift_1.operate(function(source, subscriber) { + var distinctKeys = /* @__PURE__ */ new Set(); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var key = keySelector ? keySelector(value) : value; + if (!distinctKeys.has(key)) { + distinctKeys.add(key); + subscriber.next(value); + } + })); + flushes && innerFrom_1.innerFrom(flushes).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + return distinctKeys.clear(); + }, noop_1.noop)); + }); + } + __name(distinct, "distinct"); + exports.distinct = distinct; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js +var require_distinctUntilChanged = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.distinctUntilChanged = void 0; + var identity_1 = require_identity(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function distinctUntilChanged(comparator, keySelector) { + if (keySelector === void 0) { + keySelector = identity_1.identity; + } + comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare; + return lift_1.operate(function(source, subscriber) { + var previousKey; + var first = true; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var currentKey = keySelector(value); + if (first || !comparator(previousKey, currentKey)) { + first = false; + previousKey = currentKey; + subscriber.next(value); + } + })); + }); + } + __name(distinctUntilChanged, "distinctUntilChanged"); + exports.distinctUntilChanged = distinctUntilChanged; + function defaultCompare(a, b) { + return a === b; + } + __name(defaultCompare, "defaultCompare"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js +var require_distinctUntilKeyChanged = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.distinctUntilKeyChanged = void 0; + var distinctUntilChanged_1 = require_distinctUntilChanged(); + function distinctUntilKeyChanged(key, compare) { + return distinctUntilChanged_1.distinctUntilChanged(function(x, y) { + return compare ? compare(x[key], y[key]) : x[key] === y[key]; + }); + } + __name(distinctUntilKeyChanged, "distinctUntilKeyChanged"); + exports.distinctUntilKeyChanged = distinctUntilKeyChanged; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js +var require_ArgumentOutOfRangeError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ArgumentOutOfRangeError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.ArgumentOutOfRangeError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function ArgumentOutOfRangeErrorImpl() { + _super(this); + this.name = "ArgumentOutOfRangeError"; + this.message = "argument out of range"; + }, "ArgumentOutOfRangeErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/filter.js +var require_filter2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/filter.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.filter = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function filter(predicate, thisArg) { + return lift_1.operate(function(source, subscriber) { + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return predicate.call(thisArg, value, index++) && subscriber.next(value); + })); + }); + } + __name(filter, "filter"); + exports.filter = filter; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js +var require_EmptyError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.EmptyError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.EmptyError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function EmptyErrorImpl() { + _super(this); + this.name = "EmptyError"; + this.message = "no elements in sequence"; + }, "EmptyErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js +var require_throwIfEmpty = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.throwIfEmpty = void 0; + var EmptyError_1 = require_EmptyError(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function throwIfEmpty(errorFactory) { + if (errorFactory === void 0) { + errorFactory = defaultErrorFactory; + } + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + subscriber.next(value); + }, function() { + return hasValue ? subscriber.complete() : subscriber.error(errorFactory()); + })); + }); + } + __name(throwIfEmpty, "throwIfEmpty"); + exports.throwIfEmpty = throwIfEmpty; + function defaultErrorFactory() { + return new EmptyError_1.EmptyError(); + } + __name(defaultErrorFactory, "defaultErrorFactory"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js +var require_elementAt = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.elementAt = void 0; + var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError(); + var filter_1 = require_filter2(); + var throwIfEmpty_1 = require_throwIfEmpty(); + var defaultIfEmpty_1 = require_defaultIfEmpty(); + var take_1 = require_take(); + function elementAt(index, defaultValue) { + if (index < 0) { + throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); + } + var hasDefaultValue = arguments.length >= 2; + return function(source) { + return source.pipe(filter_1.filter(function(v, i) { + return i === index; + }), take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() { + return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); + })); + }; + } + __name(elementAt, "elementAt"); + exports.elementAt = elementAt; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/endWith.js +var require_endWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/endWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.endWith = void 0; + var concat_1 = require_concat3(); + var of_1 = require_of(); + function endWith() { + var values = []; + for (var _i = 0; _i < arguments.length; _i++) { + values[_i] = arguments[_i]; + } + return function(source) { + return concat_1.concat(source, of_1.of.apply(void 0, __spreadArray([], __read(values)))); + }; + } + __name(endWith, "endWith"); + exports.endWith = endWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/every.js +var require_every = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/every.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.every = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function every(predicate, thisArg) { + return lift_1.operate(function(source, subscriber) { + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (!predicate.call(thisArg, value, index++, source)) { + subscriber.next(false); + subscriber.complete(); + } + }, function() { + subscriber.next(true); + subscriber.complete(); + })); + }); + } + __name(every, "every"); + exports.every = every; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js +var require_exhaustMap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.exhaustMap = void 0; + var map_1 = require_map2(); + var innerFrom_1 = require_innerFrom(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function exhaustMap(project, resultSelector) { + if (resultSelector) { + return function(source) { + return source.pipe(exhaustMap(function(a, i) { + return innerFrom_1.innerFrom(project(a, i)).pipe(map_1.map(function(b, ii) { + return resultSelector(a, b, i, ii); + })); + })); + }; + } + return lift_1.operate(function(source, subscriber) { + var index = 0; + var innerSub = null; + var isComplete = false; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(outerValue) { + if (!innerSub) { + innerSub = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() { + innerSub = null; + isComplete && subscriber.complete(); + }); + innerFrom_1.innerFrom(project(outerValue, index++)).subscribe(innerSub); + } + }, function() { + isComplete = true; + !innerSub && subscriber.complete(); + })); + }); + } + __name(exhaustMap, "exhaustMap"); + exports.exhaustMap = exhaustMap; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js +var require_exhaustAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.exhaustAll = void 0; + var exhaustMap_1 = require_exhaustMap(); + var identity_1 = require_identity(); + function exhaustAll() { + return exhaustMap_1.exhaustMap(identity_1.identity); + } + __name(exhaustAll, "exhaustAll"); + exports.exhaustAll = exhaustAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js +var require_exhaust = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.exhaust = void 0; + var exhaustAll_1 = require_exhaustAll(); + exports.exhaust = exhaustAll_1.exhaustAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/expand.js +var require_expand = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/expand.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.expand = void 0; + var lift_1 = require_lift(); + var mergeInternals_1 = require_mergeInternals(); + function expand(project, concurrent, scheduler) { + if (concurrent === void 0) { + concurrent = Infinity; + } + concurrent = (concurrent || 0) < 1 ? Infinity : concurrent; + return lift_1.operate(function(source, subscriber) { + return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent, void 0, true, scheduler); + }); + } + __name(expand, "expand"); + exports.expand = expand; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/finalize.js +var require_finalize = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/finalize.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.finalize = void 0; + var lift_1 = require_lift(); + function finalize(callback) { + return lift_1.operate(function(source, subscriber) { + try { + source.subscribe(subscriber); + } finally { + subscriber.add(callback); + } + }); + } + __name(finalize, "finalize"); + exports.finalize = finalize; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/find.js +var require_find = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/find.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.createFind = exports.find = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function find(predicate, thisArg) { + return lift_1.operate(createFind(predicate, thisArg, "value")); + } + __name(find, "find"); + exports.find = find; + function createFind(predicate, thisArg, emit) { + var findIndex = emit === "index"; + return function(source, subscriber) { + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var i = index++; + if (predicate.call(thisArg, value, i, source)) { + subscriber.next(findIndex ? i : value); + subscriber.complete(); + } + }, function() { + subscriber.next(findIndex ? -1 : void 0); + subscriber.complete(); + })); + }; + } + __name(createFind, "createFind"); + exports.createFind = createFind; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js +var require_findIndex = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.findIndex = void 0; + var lift_1 = require_lift(); + var find_1 = require_find(); + function findIndex(predicate, thisArg) { + return lift_1.operate(find_1.createFind(predicate, thisArg, "index")); + } + __name(findIndex, "findIndex"); + exports.findIndex = findIndex; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/first.js +var require_first = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/first.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.first = void 0; + var EmptyError_1 = require_EmptyError(); + var filter_1 = require_filter2(); + var take_1 = require_take(); + var defaultIfEmpty_1 = require_defaultIfEmpty(); + var throwIfEmpty_1 = require_throwIfEmpty(); + var identity_1 = require_identity(); + function first(predicate, defaultValue) { + var hasDefaultValue = arguments.length >= 2; + return function(source) { + return source.pipe(predicate ? filter_1.filter(function(v, i) { + return predicate(v, i, source); + }) : identity_1.identity, take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() { + return new EmptyError_1.EmptyError(); + })); + }; + } + __name(first, "first"); + exports.first = first; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js +var require_groupBy = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.groupBy = void 0; + var Observable_1 = require_Observable(); + var innerFrom_1 = require_innerFrom(); + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function groupBy(keySelector, elementOrOptions, duration, connector) { + return lift_1.operate(function(source, subscriber) { + var element; + if (!elementOrOptions || typeof elementOrOptions === "function") { + element = elementOrOptions; + } else { + duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector; + } + var groups = /* @__PURE__ */ new Map(); + var notify = /* @__PURE__ */ __name(function(cb) { + groups.forEach(cb); + cb(subscriber); + }, "notify"); + var handleError = /* @__PURE__ */ __name(function(err) { + return notify(function(consumer) { + return consumer.error(err); + }); + }, "handleError"); + var activeGroups = 0; + var teardownAttempted = false; + var groupBySourceSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, function(value) { + try { + var key_1 = keySelector(value); + var group_1 = groups.get(key_1); + if (!group_1) { + groups.set(key_1, group_1 = connector ? connector() : new Subject_1.Subject()); + var grouped = createGroupedObservable(key_1, group_1); + subscriber.next(grouped); + if (duration) { + var durationSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(group_1, function() { + group_1.complete(); + durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe(); + }, void 0, void 0, function() { + return groups.delete(key_1); + }); + groupBySourceSubscriber.add(innerFrom_1.innerFrom(duration(grouped)).subscribe(durationSubscriber_1)); + } + } + group_1.next(element ? element(value) : value); + } catch (err) { + handleError(err); + } + }, function() { + return notify(function(consumer) { + return consumer.complete(); + }); + }, handleError, function() { + return groups.clear(); + }, function() { + teardownAttempted = true; + return activeGroups === 0; + }); + source.subscribe(groupBySourceSubscriber); + function createGroupedObservable(key, groupSubject) { + var result = new Observable_1.Observable(function(groupSubscriber) { + activeGroups++; + var innerSub = groupSubject.subscribe(groupSubscriber); + return function() { + innerSub.unsubscribe(); + --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe(); + }; + }); + result.key = key; + return result; + } + __name(createGroupedObservable, "createGroupedObservable"); + }); + } + __name(groupBy, "groupBy"); + exports.groupBy = groupBy; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js +var require_isEmpty = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isEmpty = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function isEmpty2() { + return lift_1.operate(function(source, subscriber) { + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + subscriber.next(false); + subscriber.complete(); + }, function() { + subscriber.next(true); + subscriber.complete(); + })); + }); + } + __name(isEmpty2, "isEmpty"); + exports.isEmpty = isEmpty2; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js +var require_takeLast = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.takeLast = void 0; + var empty_1 = require_empty(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function takeLast(count) { + return count <= 0 ? function() { + return empty_1.EMPTY; + } : lift_1.operate(function(source, subscriber) { + var buffer = []; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + buffer.push(value); + count < buffer.length && buffer.shift(); + }, function() { + var e_1, _a; + try { + for (var buffer_1 = __values(buffer), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) { + var value = buffer_1_1.value; + subscriber.next(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1); + } finally { + if (e_1) throw e_1.error; + } + } + subscriber.complete(); + }, void 0, function() { + buffer = null; + })); + }); + } + __name(takeLast, "takeLast"); + exports.takeLast = takeLast; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/last.js +var require_last = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/last.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.last = void 0; + var EmptyError_1 = require_EmptyError(); + var filter_1 = require_filter2(); + var takeLast_1 = require_takeLast(); + var throwIfEmpty_1 = require_throwIfEmpty(); + var defaultIfEmpty_1 = require_defaultIfEmpty(); + var identity_1 = require_identity(); + function last(predicate, defaultValue) { + var hasDefaultValue = arguments.length >= 2; + return function(source) { + return source.pipe(predicate ? filter_1.filter(function(v, i) { + return predicate(v, i, source); + }) : identity_1.identity, takeLast_1.takeLast(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() { + return new EmptyError_1.EmptyError(); + })); + }; + } + __name(last, "last"); + exports.last = last; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/materialize.js +var require_materialize = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/materialize.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.materialize = void 0; + var Notification_1 = require_Notification(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function materialize() { + return lift_1.operate(function(source, subscriber) { + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + subscriber.next(Notification_1.Notification.createNext(value)); + }, function() { + subscriber.next(Notification_1.Notification.createComplete()); + subscriber.complete(); + }, function(err) { + subscriber.next(Notification_1.Notification.createError(err)); + subscriber.complete(); + })); + }); + } + __name(materialize, "materialize"); + exports.materialize = materialize; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/max.js +var require_max = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/max.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.max = void 0; + var reduce_1 = require_reduce(); + var isFunction_1 = require_isFunction(); + function max(comparer) { + return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) { + return comparer(x, y) > 0 ? x : y; + } : function(x, y) { + return x > y ? x : y; + }); + } + __name(max, "max"); + exports.max = max; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/merge.js +var require_merge = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/merge.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.merge = void 0; + var lift_1 = require_lift(); + var mergeAll_1 = require_mergeAll(); + var args_1 = require_args(); + var from_1 = require_from(); + function merge() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(args); + var concurrent = args_1.popNumber(args, Infinity); + return lift_1.operate(function(source, subscriber) { + mergeAll_1.mergeAll(concurrent)(from_1.from(__spreadArray([source], __read(args)), scheduler)).subscribe(subscriber); + }); + } + __name(merge, "merge"); + exports.merge = merge; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js +var require_flatMap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.flatMap = void 0; + var mergeMap_1 = require_mergeMap(); + exports.flatMap = mergeMap_1.mergeMap; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js +var require_mergeMapTo = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeMapTo = void 0; + var mergeMap_1 = require_mergeMap(); + var isFunction_1 = require_isFunction(); + function mergeMapTo(innerObservable, resultSelector, concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + if (isFunction_1.isFunction(resultSelector)) { + return mergeMap_1.mergeMap(function() { + return innerObservable; + }, resultSelector, concurrent); + } + if (typeof resultSelector === "number") { + concurrent = resultSelector; + } + return mergeMap_1.mergeMap(function() { + return innerObservable; + }, concurrent); + } + __name(mergeMapTo, "mergeMapTo"); + exports.mergeMapTo = mergeMapTo; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js +var require_mergeScan = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeScan = void 0; + var lift_1 = require_lift(); + var mergeInternals_1 = require_mergeInternals(); + function mergeScan(accumulator, seed, concurrent) { + if (concurrent === void 0) { + concurrent = Infinity; + } + return lift_1.operate(function(source, subscriber) { + var state = seed; + return mergeInternals_1.mergeInternals(source, subscriber, function(value, index) { + return accumulator(state, value, index); + }, concurrent, function(value) { + state = value; + }, false, void 0, function() { + return state = null; + }); + }); + } + __name(mergeScan, "mergeScan"); + exports.mergeScan = mergeScan; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js +var require_mergeWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeWith = void 0; + var merge_1 = require_merge(); + function mergeWith() { + var otherSources = []; + for (var _i = 0; _i < arguments.length; _i++) { + otherSources[_i] = arguments[_i]; + } + return merge_1.merge.apply(void 0, __spreadArray([], __read(otherSources))); + } + __name(mergeWith, "mergeWith"); + exports.mergeWith = mergeWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/min.js +var require_min = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/min.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.min = void 0; + var reduce_1 = require_reduce(); + var isFunction_1 = require_isFunction(); + function min(comparer) { + return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) { + return comparer(x, y) < 0 ? x : y; + } : function(x, y) { + return x < y ? x : y; + }); + } + __name(min, "min"); + exports.min = min; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/refCount.js +var require_refCount = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/refCount.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.refCount = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function refCount() { + return lift_1.operate(function(source, subscriber) { + var connection = null; + source._refCount++; + var refCounter = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, void 0, function() { + if (!source || source._refCount <= 0 || 0 < --source._refCount) { + connection = null; + return; + } + var sharedConnection = source._connection; + var conn = connection; + connection = null; + if (sharedConnection && (!conn || sharedConnection === conn)) { + sharedConnection.unsubscribe(); + } + subscriber.unsubscribe(); + }); + source.subscribe(refCounter); + if (!refCounter.closed) { + connection = source.connect(); + } + }); + } + __name(refCount, "refCount"); + exports.refCount = refCount; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js +var require_ConnectableObservable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ConnectableObservable = void 0; + var Observable_1 = require_Observable(); + var Subscription_1 = require_Subscription(); + var refCount_1 = require_refCount(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var lift_1 = require_lift(); + var ConnectableObservable = (function(_super) { + __extends(ConnectableObservable2, _super); + function ConnectableObservable2(source, subjectFactory) { + var _this = _super.call(this) || this; + _this.source = source; + _this.subjectFactory = subjectFactory; + _this._subject = null; + _this._refCount = 0; + _this._connection = null; + if (lift_1.hasLift(source)) { + _this.lift = source.lift; + } + return _this; + } + __name(ConnectableObservable2, "ConnectableObservable"); + ConnectableObservable2.prototype._subscribe = function(subscriber) { + return this.getSubject().subscribe(subscriber); + }; + ConnectableObservable2.prototype.getSubject = function() { + var subject = this._subject; + if (!subject || subject.isStopped) { + this._subject = this.subjectFactory(); + } + return this._subject; + }; + ConnectableObservable2.prototype._teardown = function() { + this._refCount = 0; + var _connection = this._connection; + this._subject = this._connection = null; + _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe(); + }; + ConnectableObservable2.prototype.connect = function() { + var _this = this; + var connection = this._connection; + if (!connection) { + connection = this._connection = new Subscription_1.Subscription(); + var subject_1 = this.getSubject(); + connection.add(this.source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subject_1, void 0, function() { + _this._teardown(); + subject_1.complete(); + }, function(err) { + _this._teardown(); + subject_1.error(err); + }, function() { + return _this._teardown(); + }))); + if (connection.closed) { + this._connection = null; + connection = Subscription_1.Subscription.EMPTY; + } + } + return connection; + }; + ConnectableObservable2.prototype.refCount = function() { + return refCount_1.refCount()(this); + }; + return ConnectableObservable2; + })(Observable_1.Observable); + exports.ConnectableObservable = ConnectableObservable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/multicast.js +var require_multicast = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/multicast.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.multicast = void 0; + var ConnectableObservable_1 = require_ConnectableObservable(); + var isFunction_1 = require_isFunction(); + var connect_1 = require_connect(); + function multicast(subjectOrSubjectFactory, selector) { + var subjectFactory = isFunction_1.isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : function() { + return subjectOrSubjectFactory; + }; + if (isFunction_1.isFunction(selector)) { + return connect_1.connect(selector, { + connector: subjectFactory + }); + } + return function(source) { + return new ConnectableObservable_1.ConnectableObservable(source, subjectFactory); + }; + } + __name(multicast, "multicast"); + exports.multicast = multicast; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js +var require_onErrorResumeNext = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.onErrorResumeNext = void 0; + var Observable_1 = require_Observable(); + var argsOrArgArray_1 = require_argsOrArgArray(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + var innerFrom_1 = require_innerFrom(); + function onErrorResumeNext() { + var sources = []; + for (var _i = 0; _i < arguments.length; _i++) { + sources[_i] = arguments[_i]; + } + var nextSources = argsOrArgArray_1.argsOrArgArray(sources); + return new Observable_1.Observable(function(subscriber) { + var sourceIndex = 0; + var subscribeNext = /* @__PURE__ */ __name(function() { + if (sourceIndex < nextSources.length) { + var nextSource = void 0; + try { + nextSource = innerFrom_1.innerFrom(nextSources[sourceIndex++]); + } catch (err) { + subscribeNext(); + return; + } + var innerSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, void 0, noop_1.noop, noop_1.noop); + nextSource.subscribe(innerSubscriber); + innerSubscriber.add(subscribeNext); + } else { + subscriber.complete(); + } + }, "subscribeNext"); + subscribeNext(); + }); + } + __name(onErrorResumeNext, "onErrorResumeNext"); + exports.onErrorResumeNext = onErrorResumeNext; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js +var require_onErrorResumeNextWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.onErrorResumeNext = exports.onErrorResumeNextWith = void 0; + var argsOrArgArray_1 = require_argsOrArgArray(); + var onErrorResumeNext_1 = require_onErrorResumeNext(); + function onErrorResumeNextWith() { + var sources = []; + for (var _i = 0; _i < arguments.length; _i++) { + sources[_i] = arguments[_i]; + } + var nextSources = argsOrArgArray_1.argsOrArgArray(sources); + return function(source) { + return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, __spreadArray([source], __read(nextSources))); + }; + } + __name(onErrorResumeNextWith, "onErrorResumeNextWith"); + exports.onErrorResumeNextWith = onErrorResumeNextWith; + exports.onErrorResumeNext = onErrorResumeNextWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js +var require_pairwise = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.pairwise = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function pairwise() { + return lift_1.operate(function(source, subscriber) { + var prev; + var hasPrev = false; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var p = prev; + prev = value; + hasPrev && subscriber.next([p, value]); + hasPrev = true; + })); + }); + } + __name(pairwise, "pairwise"); + exports.pairwise = pairwise; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/not.js +var require_not = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/not.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.not = void 0; + function not(pred, thisArg) { + return function(value, index) { + return !pred.call(thisArg, value, index); + }; + } + __name(not, "not"); + exports.not = not; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/partition.js +var require_partition = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/partition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.partition = void 0; + var not_1 = require_not(); + var filter_1 = require_filter2(); + function partition(predicate, thisArg) { + return function(source) { + return [filter_1.filter(predicate, thisArg)(source), filter_1.filter(not_1.not(predicate, thisArg))(source)]; + }; + } + __name(partition, "partition"); + exports.partition = partition; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pluck.js +var require_pluck = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/pluck.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.pluck = void 0; + var map_1 = require_map2(); + function pluck() { + var properties = []; + for (var _i = 0; _i < arguments.length; _i++) { + properties[_i] = arguments[_i]; + } + var length = properties.length; + if (length === 0) { + throw new Error("list of properties cannot be empty."); + } + return map_1.map(function(x) { + var currentProp = x; + for (var i = 0; i < length; i++) { + var p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]]; + if (typeof p !== "undefined") { + currentProp = p; + } else { + return void 0; + } + } + return currentProp; + }); + } + __name(pluck, "pluck"); + exports.pluck = pluck; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publish.js +var require_publish = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publish.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.publish = void 0; + var Subject_1 = require_Subject(); + var multicast_1 = require_multicast(); + var connect_1 = require_connect(); + function publish(selector) { + return selector ? function(source) { + return connect_1.connect(selector)(source); + } : function(source) { + return multicast_1.multicast(new Subject_1.Subject())(source); + }; + } + __name(publish, "publish"); + exports.publish = publish; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js +var require_BehaviorSubject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.BehaviorSubject = void 0; + var Subject_1 = require_Subject(); + var BehaviorSubject = (function(_super) { + __extends(BehaviorSubject2, _super); + function BehaviorSubject2(_value) { + var _this = _super.call(this) || this; + _this._value = _value; + return _this; + } + __name(BehaviorSubject2, "BehaviorSubject"); + Object.defineProperty(BehaviorSubject2.prototype, "value", { + get: /* @__PURE__ */ __name(function() { + return this.getValue(); + }, "get"), + enumerable: false, + configurable: true + }); + BehaviorSubject2.prototype._subscribe = function(subscriber) { + var subscription = _super.prototype._subscribe.call(this, subscriber); + !subscription.closed && subscriber.next(this._value); + return subscription; + }; + BehaviorSubject2.prototype.getValue = function() { + var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value; + if (hasError) { + throw thrownError; + } + this._throwIfClosed(); + return _value; + }; + BehaviorSubject2.prototype.next = function(value) { + _super.prototype.next.call(this, this._value = value); + }; + return BehaviorSubject2; + })(Subject_1.Subject); + exports.BehaviorSubject = BehaviorSubject; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js +var require_publishBehavior = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.publishBehavior = void 0; + var BehaviorSubject_1 = require_BehaviorSubject(); + var ConnectableObservable_1 = require_ConnectableObservable(); + function publishBehavior(initialValue) { + return function(source) { + var subject = new BehaviorSubject_1.BehaviorSubject(initialValue); + return new ConnectableObservable_1.ConnectableObservable(source, function() { + return subject; + }); + }; + } + __name(publishBehavior, "publishBehavior"); + exports.publishBehavior = publishBehavior; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js +var require_AsyncSubject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AsyncSubject = void 0; + var Subject_1 = require_Subject(); + var AsyncSubject = (function(_super) { + __extends(AsyncSubject2, _super); + function AsyncSubject2() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this._value = null; + _this._hasValue = false; + _this._isComplete = false; + return _this; + } + __name(AsyncSubject2, "AsyncSubject"); + AsyncSubject2.prototype._checkFinalizedStatuses = function(subscriber) { + var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete; + if (hasError) { + subscriber.error(thrownError); + } else if (isStopped || _isComplete) { + _hasValue && subscriber.next(_value); + subscriber.complete(); + } + }; + AsyncSubject2.prototype.next = function(value) { + if (!this.isStopped) { + this._value = value; + this._hasValue = true; + } + }; + AsyncSubject2.prototype.complete = function() { + var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete; + if (!_isComplete) { + this._isComplete = true; + _hasValue && _super.prototype.next.call(this, _value); + _super.prototype.complete.call(this); + } + }; + return AsyncSubject2; + })(Subject_1.Subject); + exports.AsyncSubject = AsyncSubject; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js +var require_publishLast = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.publishLast = void 0; + var AsyncSubject_1 = require_AsyncSubject(); + var ConnectableObservable_1 = require_ConnectableObservable(); + function publishLast() { + return function(source) { + var subject = new AsyncSubject_1.AsyncSubject(); + return new ConnectableObservable_1.ConnectableObservable(source, function() { + return subject; + }); + }; + } + __name(publishLast, "publishLast"); + exports.publishLast = publishLast; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js +var require_ReplaySubject = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ReplaySubject = void 0; + var Subject_1 = require_Subject(); + var dateTimestampProvider_1 = require_dateTimestampProvider(); + var ReplaySubject = (function(_super) { + __extends(ReplaySubject2, _super); + function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) { + if (_bufferSize === void 0) { + _bufferSize = Infinity; + } + if (_windowTime === void 0) { + _windowTime = Infinity; + } + if (_timestampProvider === void 0) { + _timestampProvider = dateTimestampProvider_1.dateTimestampProvider; + } + var _this = _super.call(this) || this; + _this._bufferSize = _bufferSize; + _this._windowTime = _windowTime; + _this._timestampProvider = _timestampProvider; + _this._buffer = []; + _this._infiniteTimeWindow = true; + _this._infiniteTimeWindow = _windowTime === Infinity; + _this._bufferSize = Math.max(1, _bufferSize); + _this._windowTime = Math.max(1, _windowTime); + return _this; + } + __name(ReplaySubject2, "ReplaySubject"); + ReplaySubject2.prototype.next = function(value) { + var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime; + if (!isStopped) { + _buffer.push(value); + !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime); + } + this._trimBuffer(); + _super.prototype.next.call(this, value); + }; + ReplaySubject2.prototype._subscribe = function(subscriber) { + this._throwIfClosed(); + this._trimBuffer(); + var subscription = this._innerSubscribe(subscriber); + var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer; + var copy = _buffer.slice(); + for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) { + subscriber.next(copy[i]); + } + this._checkFinalizedStatuses(subscriber); + return subscription; + }; + ReplaySubject2.prototype._trimBuffer = function() { + var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow; + var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize; + _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize); + if (!_infiniteTimeWindow) { + var now = _timestampProvider.now(); + var last = 0; + for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) { + last = i; + } + last && _buffer.splice(0, last + 1); + } + }; + return ReplaySubject2; + })(Subject_1.Subject); + exports.ReplaySubject = ReplaySubject; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js +var require_publishReplay = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.publishReplay = void 0; + var ReplaySubject_1 = require_ReplaySubject(); + var multicast_1 = require_multicast(); + var isFunction_1 = require_isFunction(); + function publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) { + if (selectorOrScheduler && !isFunction_1.isFunction(selectorOrScheduler)) { + timestampProvider = selectorOrScheduler; + } + var selector = isFunction_1.isFunction(selectorOrScheduler) ? selectorOrScheduler : void 0; + return function(source) { + return multicast_1.multicast(new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source); + }; + } + __name(publishReplay, "publishReplay"); + exports.publishReplay = publishReplay; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/race.js +var require_race = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/race.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.raceInit = exports.race = void 0; + var Observable_1 = require_Observable(); + var innerFrom_1 = require_innerFrom(); + var argsOrArgArray_1 = require_argsOrArgArray(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function race() { + var sources = []; + for (var _i = 0; _i < arguments.length; _i++) { + sources[_i] = arguments[_i]; + } + sources = argsOrArgArray_1.argsOrArgArray(sources); + return sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : new Observable_1.Observable(raceInit(sources)); + } + __name(race, "race"); + exports.race = race; + function raceInit(sources) { + return function(subscriber) { + var subscriptions = []; + var _loop_1 = /* @__PURE__ */ __name(function(i2) { + subscriptions.push(innerFrom_1.innerFrom(sources[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (subscriptions) { + for (var s = 0; s < subscriptions.length; s++) { + s !== i2 && subscriptions[s].unsubscribe(); + } + subscriptions = null; + } + subscriber.next(value); + }))); + }, "_loop_1"); + for (var i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) { + _loop_1(i); + } + }; + } + __name(raceInit, "raceInit"); + exports.raceInit = raceInit; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js +var require_raceWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.raceWith = void 0; + var race_1 = require_race(); + var lift_1 = require_lift(); + var identity_1 = require_identity(); + function raceWith() { + var otherSources = []; + for (var _i = 0; _i < arguments.length; _i++) { + otherSources[_i] = arguments[_i]; + } + return !otherSources.length ? identity_1.identity : lift_1.operate(function(source, subscriber) { + race_1.raceInit(__spreadArray([source], __read(otherSources)))(subscriber); + }); + } + __name(raceWith, "raceWith"); + exports.raceWith = raceWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/race.js +var require_race2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/race.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.race = void 0; + var argsOrArgArray_1 = require_argsOrArgArray(); + var raceWith_1 = require_raceWith(); + function race() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return raceWith_1.raceWith.apply(void 0, __spreadArray([], __read(argsOrArgArray_1.argsOrArgArray(args)))); + } + __name(race, "race"); + exports.race = race; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeat.js +var require_repeat = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeat.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.repeat = void 0; + var empty_1 = require_empty(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + var timer_1 = require_timer(); + function repeat(countOrConfig) { + var _a; + var count = Infinity; + var delay; + if (countOrConfig != null) { + if (typeof countOrConfig === "object") { + _a = countOrConfig.count, count = _a === void 0 ? Infinity : _a, delay = countOrConfig.delay; + } else { + count = countOrConfig; + } + } + return count <= 0 ? function() { + return empty_1.EMPTY; + } : lift_1.operate(function(source, subscriber) { + var soFar = 0; + var sourceSub; + var resubscribe = /* @__PURE__ */ __name(function() { + sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe(); + sourceSub = null; + if (delay != null) { + var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(soFar)); + var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + notifierSubscriber_1.unsubscribe(); + subscribeToSource(); + }); + notifier.subscribe(notifierSubscriber_1); + } else { + subscribeToSource(); + } + }, "resubscribe"); + var subscribeToSource = /* @__PURE__ */ __name(function() { + var syncUnsub = false; + sourceSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() { + if (++soFar < count) { + if (sourceSub) { + resubscribe(); + } else { + syncUnsub = true; + } + } else { + subscriber.complete(); + } + })); + if (syncUnsub) { + resubscribe(); + } + }, "subscribeToSource"); + subscribeToSource(); + }); + } + __name(repeat, "repeat"); + exports.repeat = repeat; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js +var require_repeatWhen = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.repeatWhen = void 0; + var innerFrom_1 = require_innerFrom(); + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function repeatWhen(notifier) { + return lift_1.operate(function(source, subscriber) { + var innerSub; + var syncResub = false; + var completions$; + var isNotifierComplete = false; + var isMainComplete = false; + var checkComplete = /* @__PURE__ */ __name(function() { + return isMainComplete && isNotifierComplete && (subscriber.complete(), true); + }, "checkComplete"); + var getCompletionSubject = /* @__PURE__ */ __name(function() { + if (!completions$) { + completions$ = new Subject_1.Subject(); + innerFrom_1.innerFrom(notifier(completions$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + if (innerSub) { + subscribeForRepeatWhen(); + } else { + syncResub = true; + } + }, function() { + isNotifierComplete = true; + checkComplete(); + })); + } + return completions$; + }, "getCompletionSubject"); + var subscribeForRepeatWhen = /* @__PURE__ */ __name(function() { + isMainComplete = false; + innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() { + isMainComplete = true; + !checkComplete() && getCompletionSubject().next(); + })); + if (syncResub) { + innerSub.unsubscribe(); + innerSub = null; + syncResub = false; + subscribeForRepeatWhen(); + } + }, "subscribeForRepeatWhen"); + subscribeForRepeatWhen(); + }); + } + __name(repeatWhen, "repeatWhen"); + exports.repeatWhen = repeatWhen; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retry.js +var require_retry = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retry.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.retry = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var identity_1 = require_identity(); + var timer_1 = require_timer(); + var innerFrom_1 = require_innerFrom(); + function retry(configOrCount) { + if (configOrCount === void 0) { + configOrCount = Infinity; + } + var config; + if (configOrCount && typeof configOrCount === "object") { + config = configOrCount; + } else { + config = { + count: configOrCount + }; + } + var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b; + return count <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) { + var soFar = 0; + var innerSub; + var subscribeForRetry = /* @__PURE__ */ __name(function() { + var syncUnsub = false; + innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (resetOnSuccess) { + soFar = 0; + } + subscriber.next(value); + }, void 0, function(err) { + if (soFar++ < count) { + var resub_1 = /* @__PURE__ */ __name(function() { + if (innerSub) { + innerSub.unsubscribe(); + innerSub = null; + subscribeForRetry(); + } else { + syncUnsub = true; + } + }, "resub_1"); + if (delay != null) { + var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(err, soFar)); + var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + notifierSubscriber_1.unsubscribe(); + resub_1(); + }, function() { + subscriber.complete(); + }); + notifier.subscribe(notifierSubscriber_1); + } else { + resub_1(); + } + } else { + subscriber.error(err); + } + })); + if (syncUnsub) { + innerSub.unsubscribe(); + innerSub = null; + subscribeForRetry(); + } + }, "subscribeForRetry"); + subscribeForRetry(); + }); + } + __name(retry, "retry"); + exports.retry = retry; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js +var require_retryWhen = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.retryWhen = void 0; + var innerFrom_1 = require_innerFrom(); + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function retryWhen(notifier) { + return lift_1.operate(function(source, subscriber) { + var innerSub; + var syncResub = false; + var errors$; + var subscribeForRetryWhen = /* @__PURE__ */ __name(function() { + innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) { + if (!errors$) { + errors$ = new Subject_1.Subject(); + innerFrom_1.innerFrom(notifier(errors$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + return innerSub ? subscribeForRetryWhen() : syncResub = true; + })); + } + if (errors$) { + errors$.next(err); + } + })); + if (syncResub) { + innerSub.unsubscribe(); + innerSub = null; + syncResub = false; + subscribeForRetryWhen(); + } + }, "subscribeForRetryWhen"); + subscribeForRetryWhen(); + }); + } + __name(retryWhen, "retryWhen"); + exports.retryWhen = retryWhen; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sample.js +var require_sample = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sample.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sample = void 0; + var innerFrom_1 = require_innerFrom(); + var lift_1 = require_lift(); + var noop_1 = require_noop(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function sample(notifier) { + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + var lastValue = null; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + lastValue = value; + })); + innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + if (hasValue) { + hasValue = false; + var value = lastValue; + lastValue = null; + subscriber.next(value); + } + }, noop_1.noop)); + }); + } + __name(sample, "sample"); + exports.sample = sample; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/interval.js +var require_interval = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/interval.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.interval = void 0; + var async_1 = require_async(); + var timer_1 = require_timer(); + function interval(period, scheduler) { + if (period === void 0) { + period = 0; + } + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + if (period < 0) { + period = 0; + } + return timer_1.timer(period, period, scheduler); + } + __name(interval, "interval"); + exports.interval = interval; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js +var require_sampleTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sampleTime = void 0; + var async_1 = require_async(); + var sample_1 = require_sample(); + var interval_1 = require_interval(); + function sampleTime(period, scheduler) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + return sample_1.sample(interval_1.interval(period, scheduler)); + } + __name(sampleTime, "sampleTime"); + exports.sampleTime = sampleTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scan.js +var require_scan = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/scan.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.scan = void 0; + var lift_1 = require_lift(); + var scanInternals_1 = require_scanInternals(); + function scan(accumulator, seed) { + return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, true)); + } + __name(scan, "scan"); + exports.scan = scan; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js +var require_sequenceEqual = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sequenceEqual = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function sequenceEqual(compareTo, comparator) { + if (comparator === void 0) { + comparator = /* @__PURE__ */ __name(function(a, b) { + return a === b; + }, "comparator"); + } + return lift_1.operate(function(source, subscriber) { + var aState = createState(); + var bState = createState(); + var emit = /* @__PURE__ */ __name(function(isEqual) { + subscriber.next(isEqual); + subscriber.complete(); + }, "emit"); + var createSubscriber = /* @__PURE__ */ __name(function(selfState, otherState) { + var sequenceEqualSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(a) { + var buffer = otherState.buffer, complete = otherState.complete; + if (buffer.length === 0) { + complete ? emit(false) : selfState.buffer.push(a); + } else { + !comparator(a, buffer.shift()) && emit(false); + } + }, function() { + selfState.complete = true; + var complete = otherState.complete, buffer = otherState.buffer; + complete && emit(buffer.length === 0); + sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe(); + }); + return sequenceEqualSubscriber; + }, "createSubscriber"); + source.subscribe(createSubscriber(aState, bState)); + innerFrom_1.innerFrom(compareTo).subscribe(createSubscriber(bState, aState)); + }); + } + __name(sequenceEqual, "sequenceEqual"); + exports.sequenceEqual = sequenceEqual; + function createState() { + return { + buffer: [], + complete: false + }; + } + __name(createState, "createState"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/share.js +var require_share = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/share.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.share = void 0; + var innerFrom_1 = require_innerFrom(); + var Subject_1 = require_Subject(); + var Subscriber_1 = require_Subscriber(); + var lift_1 = require_lift(); + function share(options) { + if (options === void 0) { + options = {}; + } + var _a = options.connector, connector = _a === void 0 ? function() { + return new Subject_1.Subject(); + } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d; + return function(wrapperSource) { + var connection; + var resetConnection; + var subject; + var refCount = 0; + var hasCompleted = false; + var hasErrored = false; + var cancelReset = /* @__PURE__ */ __name(function() { + resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe(); + resetConnection = void 0; + }, "cancelReset"); + var reset = /* @__PURE__ */ __name(function() { + cancelReset(); + connection = subject = void 0; + hasCompleted = hasErrored = false; + }, "reset"); + var resetAndUnsubscribe = /* @__PURE__ */ __name(function() { + var conn = connection; + reset(); + conn === null || conn === void 0 ? void 0 : conn.unsubscribe(); + }, "resetAndUnsubscribe"); + return lift_1.operate(function(source, subscriber) { + refCount++; + if (!hasErrored && !hasCompleted) { + cancelReset(); + } + var dest = subject = subject !== null && subject !== void 0 ? subject : connector(); + subscriber.add(function() { + refCount--; + if (refCount === 0 && !hasErrored && !hasCompleted) { + resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero); + } + }); + dest.subscribe(subscriber); + if (!connection && refCount > 0) { + connection = new Subscriber_1.SafeSubscriber({ + next: /* @__PURE__ */ __name(function(value) { + return dest.next(value); + }, "next"), + error: /* @__PURE__ */ __name(function(err) { + hasErrored = true; + cancelReset(); + resetConnection = handleReset(reset, resetOnError, err); + dest.error(err); + }, "error"), + complete: /* @__PURE__ */ __name(function() { + hasCompleted = true; + cancelReset(); + resetConnection = handleReset(reset, resetOnComplete); + dest.complete(); + }, "complete") + }); + innerFrom_1.innerFrom(source).subscribe(connection); + } + })(wrapperSource); + }; + } + __name(share, "share"); + exports.share = share; + function handleReset(reset, on) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + if (on === true) { + reset(); + return; + } + if (on === false) { + return; + } + var onSubscriber = new Subscriber_1.SafeSubscriber({ + next: /* @__PURE__ */ __name(function() { + onSubscriber.unsubscribe(); + reset(); + }, "next") + }); + return innerFrom_1.innerFrom(on.apply(void 0, __spreadArray([], __read(args)))).subscribe(onSubscriber); + } + __name(handleReset, "handleReset"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js +var require_shareReplay = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.shareReplay = void 0; + var ReplaySubject_1 = require_ReplaySubject(); + var share_1 = require_share(); + function shareReplay(configOrBufferSize, windowTime, scheduler) { + var _a, _b, _c; + var bufferSize; + var refCount = false; + if (configOrBufferSize && typeof configOrBufferSize === "object") { + _a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler; + } else { + bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity; + } + return share_1.share({ + connector: /* @__PURE__ */ __name(function() { + return new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler); + }, "connector"), + resetOnError: true, + resetOnComplete: false, + resetOnRefCountZero: refCount + }); + } + __name(shareReplay, "shareReplay"); + exports.shareReplay = shareReplay; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js +var require_SequenceError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.SequenceError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.SequenceError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function SequenceErrorImpl(message) { + _super(this); + this.name = "SequenceError"; + this.message = message; + }, "SequenceErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js +var require_NotFoundError = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NotFoundError = void 0; + var createErrorClass_1 = require_createErrorClass(); + exports.NotFoundError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function NotFoundErrorImpl(message) { + _super(this); + this.name = "NotFoundError"; + this.message = message; + }, "NotFoundErrorImpl"); + }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/single.js +var require_single = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/single.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.single = void 0; + var EmptyError_1 = require_EmptyError(); + var SequenceError_1 = require_SequenceError(); + var NotFoundError_1 = require_NotFoundError(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function single(predicate) { + return lift_1.operate(function(source, subscriber) { + var hasValue = false; + var singleValue; + var seenValue = false; + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + seenValue = true; + if (!predicate || predicate(value, index++, source)) { + hasValue && subscriber.error(new SequenceError_1.SequenceError("Too many matching values")); + hasValue = true; + singleValue = value; + } + }, function() { + if (hasValue) { + subscriber.next(singleValue); + subscriber.complete(); + } else { + subscriber.error(seenValue ? new NotFoundError_1.NotFoundError("No matching values") : new EmptyError_1.EmptyError()); + } + })); + }); + } + __name(single, "single"); + exports.single = single; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skip.js +var require_skip = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skip.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.skip = void 0; + var filter_1 = require_filter2(); + function skip(count) { + return filter_1.filter(function(_, index) { + return count <= index; + }); + } + __name(skip, "skip"); + exports.skip = skip; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js +var require_skipLast = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.skipLast = void 0; + var identity_1 = require_identity(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function skipLast(skipCount) { + return skipCount <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) { + var ring = new Array(skipCount); + var seen = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var valueIndex = seen++; + if (valueIndex < skipCount) { + ring[valueIndex] = value; + } else { + var index = valueIndex % skipCount; + var oldValue = ring[index]; + ring[index] = value; + subscriber.next(oldValue); + } + })); + return function() { + ring = null; + }; + }); + } + __name(skipLast, "skipLast"); + exports.skipLast = skipLast; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js +var require_skipUntil = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.skipUntil = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + var noop_1 = require_noop(); + function skipUntil(notifier) { + return lift_1.operate(function(source, subscriber) { + var taking = false; + var skipSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe(); + taking = true; + }, noop_1.noop); + innerFrom_1.innerFrom(notifier).subscribe(skipSubscriber); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return taking && subscriber.next(value); + })); + }); + } + __name(skipUntil, "skipUntil"); + exports.skipUntil = skipUntil; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js +var require_skipWhile = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.skipWhile = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function skipWhile(predicate) { + return lift_1.operate(function(source, subscriber) { + var taking = false; + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return (taking || (taking = !predicate(value, index++))) && subscriber.next(value); + })); + }); + } + __name(skipWhile, "skipWhile"); + exports.skipWhile = skipWhile; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/startWith.js +var require_startWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/startWith.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.startWith = void 0; + var concat_1 = require_concat3(); + var args_1 = require_args(); + var lift_1 = require_lift(); + function startWith() { + var values = []; + for (var _i = 0; _i < arguments.length; _i++) { + values[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(values); + return lift_1.operate(function(source, subscriber) { + (scheduler ? concat_1.concat(values, source, scheduler) : concat_1.concat(values, source)).subscribe(subscriber); + }); + } + __name(startWith, "startWith"); + exports.startWith = startWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js +var require_switchMap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.switchMap = void 0; + var innerFrom_1 = require_innerFrom(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function switchMap(project, resultSelector) { + return lift_1.operate(function(source, subscriber) { + var innerSubscriber = null; + var index = 0; + var isComplete = false; + var checkComplete = /* @__PURE__ */ __name(function() { + return isComplete && !innerSubscriber && subscriber.complete(); + }, "checkComplete"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe(); + var innerIndex = 0; + var outerIndex = index++; + innerFrom_1.innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) { + return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); + }, function() { + innerSubscriber = null; + checkComplete(); + })); + }, function() { + isComplete = true; + checkComplete(); + })); + }); + } + __name(switchMap, "switchMap"); + exports.switchMap = switchMap; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js +var require_switchAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.switchAll = void 0; + var switchMap_1 = require_switchMap(); + var identity_1 = require_identity(); + function switchAll() { + return switchMap_1.switchMap(identity_1.identity); + } + __name(switchAll, "switchAll"); + exports.switchAll = switchAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js +var require_switchMapTo = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.switchMapTo = void 0; + var switchMap_1 = require_switchMap(); + var isFunction_1 = require_isFunction(); + function switchMapTo(innerObservable, resultSelector) { + return isFunction_1.isFunction(resultSelector) ? switchMap_1.switchMap(function() { + return innerObservable; + }, resultSelector) : switchMap_1.switchMap(function() { + return innerObservable; + }); + } + __name(switchMapTo, "switchMapTo"); + exports.switchMapTo = switchMapTo; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js +var require_switchScan = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.switchScan = void 0; + var switchMap_1 = require_switchMap(); + var lift_1 = require_lift(); + function switchScan(accumulator, seed) { + return lift_1.operate(function(source, subscriber) { + var state = seed; + switchMap_1.switchMap(function(value, index) { + return accumulator(state, value, index); + }, function(_, innerValue) { + return state = innerValue, innerValue; + })(source).subscribe(subscriber); + return function() { + state = null; + }; + }); + } + __name(switchScan, "switchScan"); + exports.switchScan = switchScan; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js +var require_takeUntil = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.takeUntil = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + var noop_1 = require_noop(); + function takeUntil(notifier) { + return lift_1.operate(function(source, subscriber) { + innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + return subscriber.complete(); + }, noop_1.noop)); + !subscriber.closed && source.subscribe(subscriber); + }); + } + __name(takeUntil, "takeUntil"); + exports.takeUntil = takeUntil; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js +var require_takeWhile = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.takeWhile = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function takeWhile(predicate, inclusive) { + if (inclusive === void 0) { + inclusive = false; + } + return lift_1.operate(function(source, subscriber) { + var index = 0; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var result = predicate(value, index++); + (result || inclusive) && subscriber.next(value); + !result && subscriber.complete(); + })); + }); + } + __name(takeWhile, "takeWhile"); + exports.takeWhile = takeWhile; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/tap.js +var require_tap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/tap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.tap = void 0; + var isFunction_1 = require_isFunction(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var identity_1 = require_identity(); + function tap(observerOrNext, error, complete) { + var tapObserver = isFunction_1.isFunction(observerOrNext) || error || complete ? { next: observerOrNext, error, complete } : observerOrNext; + return tapObserver ? lift_1.operate(function(source, subscriber) { + var _a; + (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver); + var isUnsub = true; + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var _a2; + (_a2 = tapObserver.next) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, value); + subscriber.next(value); + }, function() { + var _a2; + isUnsub = false; + (_a2 = tapObserver.complete) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver); + subscriber.complete(); + }, function(err) { + var _a2; + isUnsub = false; + (_a2 = tapObserver.error) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, err); + subscriber.error(err); + }, function() { + var _a2, _b; + if (isUnsub) { + (_a2 = tapObserver.unsubscribe) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver); + } + (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver); + })); + }) : identity_1.identity; + } + __name(tap, "tap"); + exports.tap = tap; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttle.js +var require_throttle = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttle.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.throttle = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function throttle(durationSelector, config) { + return lift_1.operate(function(source, subscriber) { + var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c; + var hasValue = false; + var sendValue = null; + var throttled = null; + var isComplete = false; + var endThrottling = /* @__PURE__ */ __name(function() { + throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe(); + throttled = null; + if (trailing) { + send(); + isComplete && subscriber.complete(); + } + }, "endThrottling"); + var cleanupThrottling = /* @__PURE__ */ __name(function() { + throttled = null; + isComplete && subscriber.complete(); + }, "cleanupThrottling"); + var startThrottle = /* @__PURE__ */ __name(function(value) { + return throttled = innerFrom_1.innerFrom(durationSelector(value)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling)); + }, "startThrottle"); + var send = /* @__PURE__ */ __name(function() { + if (hasValue) { + hasValue = false; + var value = sendValue; + sendValue = null; + subscriber.next(value); + !isComplete && startThrottle(value); + } + }, "send"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + hasValue = true; + sendValue = value; + !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value)); + }, function() { + isComplete = true; + !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete(); + })); + }); + } + __name(throttle, "throttle"); + exports.throttle = throttle; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js +var require_throttleTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.throttleTime = void 0; + var async_1 = require_async(); + var throttle_1 = require_throttle(); + var timer_1 = require_timer(); + function throttleTime(duration, scheduler, config) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + var duration$ = timer_1.timer(duration, scheduler); + return throttle_1.throttle(function() { + return duration$; + }, config); + } + __name(throttleTime, "throttleTime"); + exports.throttleTime = throttleTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js +var require_timeInterval = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TimeInterval = exports.timeInterval = void 0; + var async_1 = require_async(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function timeInterval(scheduler) { + if (scheduler === void 0) { + scheduler = async_1.asyncScheduler; + } + return lift_1.operate(function(source, subscriber) { + var last = scheduler.now(); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var now = scheduler.now(); + var interval = now - last; + last = now; + subscriber.next(new TimeInterval(value, interval)); + })); + }); + } + __name(timeInterval, "timeInterval"); + exports.timeInterval = timeInterval; + var TimeInterval = /* @__PURE__ */ (function() { + function TimeInterval2(value, interval) { + this.value = value; + this.interval = interval; + } + __name(TimeInterval2, "TimeInterval"); + return TimeInterval2; + })(); + exports.TimeInterval = TimeInterval; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeout.js +var require_timeout = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeout.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.timeout = exports.TimeoutError = void 0; + var async_1 = require_async(); + var isDate_1 = require_isDate(); + var lift_1 = require_lift(); + var innerFrom_1 = require_innerFrom(); + var createErrorClass_1 = require_createErrorClass(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var executeSchedule_1 = require_executeSchedule(); + exports.TimeoutError = createErrorClass_1.createErrorClass(function(_super) { + return /* @__PURE__ */ __name(function TimeoutErrorImpl(info) { + if (info === void 0) { + info = null; + } + _super(this); + this.message = "Timeout has occurred"; + this.name = "TimeoutError"; + this.info = info; + }, "TimeoutErrorImpl"); + }); + function timeout(config, schedulerArg) { + var _a = isDate_1.isValidDate(config) ? { first: config } : typeof config === "number" ? { each: config } : config, first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d; + if (first == null && each == null) { + throw new TypeError("No timeout provided."); + } + return lift_1.operate(function(source, subscriber) { + var originalSourceSubscription; + var timerSubscription; + var lastValue = null; + var seen = 0; + var startTimer = /* @__PURE__ */ __name(function(delay) { + timerSubscription = executeSchedule_1.executeSchedule(subscriber, scheduler, function() { + try { + originalSourceSubscription.unsubscribe(); + innerFrom_1.innerFrom(_with({ + meta, + lastValue, + seen + })).subscribe(subscriber); + } catch (err) { + subscriber.error(err); + } + }, delay); + }, "startTimer"); + originalSourceSubscription = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe(); + seen++; + subscriber.next(lastValue = value); + each > 0 && startTimer(each); + }, void 0, void 0, function() { + if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) { + timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe(); + } + lastValue = null; + })); + !seen && startTimer(first != null ? typeof first === "number" ? first : +first - scheduler.now() : each); + }); + } + __name(timeout, "timeout"); + exports.timeout = timeout; + function timeoutErrorFactory(info) { + throw new exports.TimeoutError(info); + } + __name(timeoutErrorFactory, "timeoutErrorFactory"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js +var require_timeoutWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.timeoutWith = void 0; + var async_1 = require_async(); + var isDate_1 = require_isDate(); + var timeout_1 = require_timeout(); + function timeoutWith(due, withObservable, scheduler) { + var first; + var each; + var _with; + scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async_1.async; + if (isDate_1.isValidDate(due)) { + first = due; + } else if (typeof due === "number") { + each = due; + } + if (withObservable) { + _with = /* @__PURE__ */ __name(function() { + return withObservable; + }, "_with"); + } else { + throw new TypeError("No observable provided to switch to"); + } + if (first == null && each == null) { + throw new TypeError("No timeout provided."); + } + return timeout_1.timeout({ + first, + each, + scheduler, + with: _with + }); + } + __name(timeoutWith, "timeoutWith"); + exports.timeoutWith = timeoutWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js +var require_timestamp = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.timestamp = void 0; + var dateTimestampProvider_1 = require_dateTimestampProvider(); + var map_1 = require_map2(); + function timestamp(timestampProvider) { + if (timestampProvider === void 0) { + timestampProvider = dateTimestampProvider_1.dateTimestampProvider; + } + return map_1.map(function(value) { + return { value, timestamp: timestampProvider.now() }; + }); + } + __name(timestamp, "timestamp"); + exports.timestamp = timestamp; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/window.js +var require_window = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/window.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.window = void 0; + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + var innerFrom_1 = require_innerFrom(); + function window(windowBoundaries) { + return lift_1.operate(function(source, subscriber) { + var windowSubject = new Subject_1.Subject(); + subscriber.next(windowSubject.asObservable()); + var errorHandler = /* @__PURE__ */ __name(function(err) { + windowSubject.error(err); + subscriber.error(err); + }, "errorHandler"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value); + }, function() { + windowSubject.complete(); + subscriber.complete(); + }, errorHandler)); + innerFrom_1.innerFrom(windowBoundaries).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() { + windowSubject.complete(); + subscriber.next(windowSubject = new Subject_1.Subject()); + }, noop_1.noop, errorHandler)); + return function() { + windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe(); + windowSubject = null; + }; + }); + } + __name(window, "window"); + exports.window = window; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js +var require_windowCount = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.windowCount = void 0; + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + function windowCount(windowSize, startWindowEvery) { + if (startWindowEvery === void 0) { + startWindowEvery = 0; + } + var startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize; + return lift_1.operate(function(source, subscriber) { + var windows = [new Subject_1.Subject()]; + var starts = []; + var count = 0; + subscriber.next(windows[0].asObservable()); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var e_1, _a; + try { + for (var windows_1 = __values(windows), windows_1_1 = windows_1.next(); !windows_1_1.done; windows_1_1 = windows_1.next()) { + var window_1 = windows_1_1.value; + window_1.next(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (windows_1_1 && !windows_1_1.done && (_a = windows_1.return)) _a.call(windows_1); + } finally { + if (e_1) throw e_1.error; + } + } + var c = count - windowSize + 1; + if (c >= 0 && c % startEvery === 0) { + windows.shift().complete(); + } + if (++count % startEvery === 0) { + var window_2 = new Subject_1.Subject(); + windows.push(window_2); + subscriber.next(window_2.asObservable()); + } + }, function() { + while (windows.length > 0) { + windows.shift().complete(); + } + subscriber.complete(); + }, function(err) { + while (windows.length > 0) { + windows.shift().error(err); + } + subscriber.error(err); + }, function() { + starts = null; + windows = null; + })); + }); + } + __name(windowCount, "windowCount"); + exports.windowCount = windowCount; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js +var require_windowTime = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.windowTime = void 0; + var Subject_1 = require_Subject(); + var async_1 = require_async(); + var Subscription_1 = require_Subscription(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var arrRemove_1 = require_arrRemove(); + var args_1 = require_args(); + var executeSchedule_1 = require_executeSchedule(); + function windowTime(windowTimeSpan) { + var _a, _b; + var otherArgs = []; + for (var _i = 1; _i < arguments.length; _i++) { + otherArgs[_i - 1] = arguments[_i]; + } + var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler; + var windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null; + var maxWindowSize = otherArgs[1] || Infinity; + return lift_1.operate(function(source, subscriber) { + var windowRecords = []; + var restartOnClose = false; + var closeWindow = /* @__PURE__ */ __name(function(record) { + var window = record.window, subs = record.subs; + window.complete(); + subs.unsubscribe(); + arrRemove_1.arrRemove(windowRecords, record); + restartOnClose && startWindow(); + }, "closeWindow"); + var startWindow = /* @__PURE__ */ __name(function() { + if (windowRecords) { + var subs = new Subscription_1.Subscription(); + subscriber.add(subs); + var window_1 = new Subject_1.Subject(); + var record_1 = { + window: window_1, + subs, + seen: 0 + }; + windowRecords.push(record_1); + subscriber.next(window_1.asObservable()); + executeSchedule_1.executeSchedule(subs, scheduler, function() { + return closeWindow(record_1); + }, windowTimeSpan); + } + }, "startWindow"); + if (windowCreationInterval !== null && windowCreationInterval >= 0) { + executeSchedule_1.executeSchedule(subscriber, scheduler, startWindow, windowCreationInterval, true); + } else { + restartOnClose = true; + } + startWindow(); + var loop = /* @__PURE__ */ __name(function(cb) { + return windowRecords.slice().forEach(cb); + }, "loop"); + var terminate = /* @__PURE__ */ __name(function(cb) { + loop(function(_a2) { + var window = _a2.window; + return cb(window); + }); + cb(subscriber); + subscriber.unsubscribe(); + }, "terminate"); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + loop(function(record) { + record.window.next(value); + maxWindowSize <= ++record.seen && closeWindow(record); + }); + }, function() { + return terminate(function(consumer) { + return consumer.complete(); + }); + }, function(err) { + return terminate(function(consumer) { + return consumer.error(err); + }); + })); + return function() { + windowRecords = null; + }; + }); + } + __name(windowTime, "windowTime"); + exports.windowTime = windowTime; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js +var require_windowToggle = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js"(exports) { + "use strict"; + var __values = exports && exports.__values || function(o) { + var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: /* @__PURE__ */ __name(function() { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + }, "next") + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.windowToggle = void 0; + var Subject_1 = require_Subject(); + var Subscription_1 = require_Subscription(); + var lift_1 = require_lift(); + var innerFrom_1 = require_innerFrom(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var noop_1 = require_noop(); + var arrRemove_1 = require_arrRemove(); + function windowToggle(openings, closingSelector) { + return lift_1.operate(function(source, subscriber) { + var windows = []; + var handleError = /* @__PURE__ */ __name(function(err) { + while (0 < windows.length) { + windows.shift().error(err); + } + subscriber.error(err); + }, "handleError"); + innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) { + var window = new Subject_1.Subject(); + windows.push(window); + var closingSubscription = new Subscription_1.Subscription(); + var closeWindow = /* @__PURE__ */ __name(function() { + arrRemove_1.arrRemove(windows, window); + window.complete(); + closingSubscription.unsubscribe(); + }, "closeWindow"); + var closingNotifier; + try { + closingNotifier = innerFrom_1.innerFrom(closingSelector(openValue)); + } catch (err) { + handleError(err); + return; + } + subscriber.next(window.asObservable()); + closingSubscription.add(closingNotifier.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, closeWindow, noop_1.noop, handleError))); + }, noop_1.noop)); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + var e_1, _a; + var windowsCopy = windows.slice(); + try { + for (var windowsCopy_1 = __values(windowsCopy), windowsCopy_1_1 = windowsCopy_1.next(); !windowsCopy_1_1.done; windowsCopy_1_1 = windowsCopy_1.next()) { + var window_1 = windowsCopy_1_1.value; + window_1.next(value); + } + } catch (e_1_1) { + e_1 = { error: e_1_1 }; + } finally { + try { + if (windowsCopy_1_1 && !windowsCopy_1_1.done && (_a = windowsCopy_1.return)) _a.call(windowsCopy_1); + } finally { + if (e_1) throw e_1.error; + } + } + }, function() { + while (0 < windows.length) { + windows.shift().complete(); + } + subscriber.complete(); + }, handleError, function() { + while (0 < windows.length) { + windows.shift().unsubscribe(); + } + })); + }); + } + __name(windowToggle, "windowToggle"); + exports.windowToggle = windowToggle; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js +var require_windowWhen = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.windowWhen = void 0; + var Subject_1 = require_Subject(); + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + function windowWhen(closingSelector) { + return lift_1.operate(function(source, subscriber) { + var window; + var closingSubscriber; + var handleError = /* @__PURE__ */ __name(function(err) { + window.error(err); + subscriber.error(err); + }, "handleError"); + var openWindow = /* @__PURE__ */ __name(function() { + closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe(); + window === null || window === void 0 ? void 0 : window.complete(); + window = new Subject_1.Subject(); + subscriber.next(window.asObservable()); + var closingNotifier; + try { + closingNotifier = innerFrom_1.innerFrom(closingSelector()); + } catch (err) { + handleError(err); + return; + } + closingNotifier.subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openWindow, openWindow, handleError)); + }, "openWindow"); + openWindow(); + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + return window.next(value); + }, function() { + window.complete(); + subscriber.complete(); + }, handleError, function() { + closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe(); + window = null; + })); + }); + } + __name(windowWhen, "windowWhen"); + exports.windowWhen = windowWhen; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js +var require_withLatestFrom = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.withLatestFrom = void 0; + var lift_1 = require_lift(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var innerFrom_1 = require_innerFrom(); + var identity_1 = require_identity(); + var noop_1 = require_noop(); + var args_1 = require_args(); + function withLatestFrom() { + var inputs = []; + for (var _i = 0; _i < arguments.length; _i++) { + inputs[_i] = arguments[_i]; + } + var project = args_1.popResultSelector(inputs); + return lift_1.operate(function(source, subscriber) { + var len = inputs.length; + var otherValues = new Array(len); + var hasValue = inputs.map(function() { + return false; + }); + var ready = false; + var _loop_1 = /* @__PURE__ */ __name(function(i2) { + innerFrom_1.innerFrom(inputs[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + otherValues[i2] = value; + if (!ready && !hasValue[i2]) { + hasValue[i2] = true; + (ready = hasValue.every(identity_1.identity)) && (hasValue = null); + } + }, noop_1.noop)); + }, "_loop_1"); + for (var i = 0; i < len; i++) { + _loop_1(i); + } + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (ready) { + var values = __spreadArray([value], __read(otherValues)); + subscriber.next(project ? project.apply(void 0, __spreadArray([], __read(values))) : values); + } + })); + }); + } + __name(withLatestFrom, "withLatestFrom"); + exports.withLatestFrom = withLatestFrom; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/zip.js +var require_zip2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/zip.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.zip = void 0; + var Observable_1 = require_Observable(); + var innerFrom_1 = require_innerFrom(); + var argsOrArgArray_1 = require_argsOrArgArray(); + var empty_1 = require_empty(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var args_1 = require_args(); + function zip() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var resultSelector = args_1.popResultSelector(args); + var sources = argsOrArgArray_1.argsOrArgArray(args); + return sources.length ? new Observable_1.Observable(function(subscriber) { + var buffers = sources.map(function() { + return []; + }); + var completed = sources.map(function() { + return false; + }); + subscriber.add(function() { + buffers = completed = null; + }); + var _loop_1 = /* @__PURE__ */ __name(function(sourceIndex2) { + innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + buffers[sourceIndex2].push(value); + if (buffers.every(function(buffer) { + return buffer.length; + })) { + var result = buffers.map(function(buffer) { + return buffer.shift(); + }); + subscriber.next(resultSelector ? resultSelector.apply(void 0, __spreadArray([], __read(result))) : result); + if (buffers.some(function(buffer, i) { + return !buffer.length && completed[i]; + })) { + subscriber.complete(); + } + } + }, function() { + completed[sourceIndex2] = true; + !buffers[sourceIndex2].length && subscriber.complete(); + })); + }, "_loop_1"); + for (var sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) { + _loop_1(sourceIndex); + } + return function() { + buffers = completed = null; + }; + }) : empty_1.EMPTY; + } + __name(zip, "zip"); + exports.zip = zip; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zip.js +var require_zip3 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zip.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.zip = void 0; + var zip_1 = require_zip2(); + var lift_1 = require_lift(); + function zip() { + var sources = []; + for (var _i = 0; _i < arguments.length; _i++) { + sources[_i] = arguments[_i]; + } + return lift_1.operate(function(source, subscriber) { + zip_1.zip.apply(void 0, __spreadArray([source], __read(sources))).subscribe(subscriber); + }); + } + __name(zip, "zip"); + exports.zip = zip; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js +var require_zipAll = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.zipAll = void 0; + var zip_1 = require_zip2(); + var joinAllInternals_1 = require_joinAllInternals(); + function zipAll(project) { + return joinAllInternals_1.joinAllInternals(zip_1.zip, project); + } + __name(zipAll, "zipAll"); + exports.zipAll = zipAll; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js +var require_zipWith = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) + to[j] = from[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.zipWith = void 0; + var zip_1 = require_zip3(); + function zipWith() { + var otherInputs = []; + for (var _i = 0; _i < arguments.length; _i++) { + otherInputs[_i] = arguments[_i]; + } + return zip_1.zip.apply(void 0, __spreadArray([], __read(otherInputs))); + } + __name(zipWith, "zipWith"); + exports.zipWith = zipWith; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/operators/index.js +var require_operators = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/operators/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.mergeAll = exports.merge = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = exports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.concat = exports.combineLatestWith = exports.combineLatest = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = void 0; + exports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = exports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.race = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.partition = exports.pairwise = exports.onErrorResumeNext = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = void 0; + exports.zipWith = exports.zipAll = exports.zip = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = void 0; + var audit_1 = require_audit(); + Object.defineProperty(exports, "audit", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return audit_1.audit; + }, "get") }); + var auditTime_1 = require_auditTime(); + Object.defineProperty(exports, "auditTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return auditTime_1.auditTime; + }, "get") }); + var buffer_1 = require_buffer(); + Object.defineProperty(exports, "buffer", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return buffer_1.buffer; + }, "get") }); + var bufferCount_1 = require_bufferCount(); + Object.defineProperty(exports, "bufferCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferCount_1.bufferCount; + }, "get") }); + var bufferTime_1 = require_bufferTime(); + Object.defineProperty(exports, "bufferTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferTime_1.bufferTime; + }, "get") }); + var bufferToggle_1 = require_bufferToggle(); + Object.defineProperty(exports, "bufferToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferToggle_1.bufferToggle; + }, "get") }); + var bufferWhen_1 = require_bufferWhen(); + Object.defineProperty(exports, "bufferWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferWhen_1.bufferWhen; + }, "get") }); + var catchError_1 = require_catchError(); + Object.defineProperty(exports, "catchError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return catchError_1.catchError; + }, "get") }); + var combineAll_1 = require_combineAll(); + Object.defineProperty(exports, "combineAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineAll_1.combineAll; + }, "get") }); + var combineLatestAll_1 = require_combineLatestAll(); + Object.defineProperty(exports, "combineLatestAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatestAll_1.combineLatestAll; + }, "get") }); + var combineLatest_1 = require_combineLatest2(); + Object.defineProperty(exports, "combineLatest", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatest_1.combineLatest; + }, "get") }); + var combineLatestWith_1 = require_combineLatestWith(); + Object.defineProperty(exports, "combineLatestWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatestWith_1.combineLatestWith; + }, "get") }); + var concat_1 = require_concat2(); + Object.defineProperty(exports, "concat", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concat_1.concat; + }, "get") }); + var concatAll_1 = require_concatAll(); + Object.defineProperty(exports, "concatAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatAll_1.concatAll; + }, "get") }); + var concatMap_1 = require_concatMap(); + Object.defineProperty(exports, "concatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatMap_1.concatMap; + }, "get") }); + var concatMapTo_1 = require_concatMapTo(); + Object.defineProperty(exports, "concatMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatMapTo_1.concatMapTo; + }, "get") }); + var concatWith_1 = require_concatWith(); + Object.defineProperty(exports, "concatWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatWith_1.concatWith; + }, "get") }); + var connect_1 = require_connect(); + Object.defineProperty(exports, "connect", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return connect_1.connect; + }, "get") }); + var count_1 = require_count(); + Object.defineProperty(exports, "count", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return count_1.count; + }, "get") }); + var debounce_1 = require_debounce(); + Object.defineProperty(exports, "debounce", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return debounce_1.debounce; + }, "get") }); + var debounceTime_1 = require_debounceTime(); + Object.defineProperty(exports, "debounceTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return debounceTime_1.debounceTime; + }, "get") }); + var defaultIfEmpty_1 = require_defaultIfEmpty(); + Object.defineProperty(exports, "defaultIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return defaultIfEmpty_1.defaultIfEmpty; + }, "get") }); + var delay_1 = require_delay(); + Object.defineProperty(exports, "delay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return delay_1.delay; + }, "get") }); + var delayWhen_1 = require_delayWhen(); + Object.defineProperty(exports, "delayWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return delayWhen_1.delayWhen; + }, "get") }); + var dematerialize_1 = require_dematerialize(); + Object.defineProperty(exports, "dematerialize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return dematerialize_1.dematerialize; + }, "get") }); + var distinct_1 = require_distinct(); + Object.defineProperty(exports, "distinct", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinct_1.distinct; + }, "get") }); + var distinctUntilChanged_1 = require_distinctUntilChanged(); + Object.defineProperty(exports, "distinctUntilChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinctUntilChanged_1.distinctUntilChanged; + }, "get") }); + var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged(); + Object.defineProperty(exports, "distinctUntilKeyChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinctUntilKeyChanged_1.distinctUntilKeyChanged; + }, "get") }); + var elementAt_1 = require_elementAt(); + Object.defineProperty(exports, "elementAt", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return elementAt_1.elementAt; + }, "get") }); + var endWith_1 = require_endWith(); + Object.defineProperty(exports, "endWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return endWith_1.endWith; + }, "get") }); + var every_1 = require_every(); + Object.defineProperty(exports, "every", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return every_1.every; + }, "get") }); + var exhaust_1 = require_exhaust(); + Object.defineProperty(exports, "exhaust", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaust_1.exhaust; + }, "get") }); + var exhaustAll_1 = require_exhaustAll(); + Object.defineProperty(exports, "exhaustAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaustAll_1.exhaustAll; + }, "get") }); + var exhaustMap_1 = require_exhaustMap(); + Object.defineProperty(exports, "exhaustMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaustMap_1.exhaustMap; + }, "get") }); + var expand_1 = require_expand(); + Object.defineProperty(exports, "expand", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return expand_1.expand; + }, "get") }); + var filter_1 = require_filter2(); + Object.defineProperty(exports, "filter", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return filter_1.filter; + }, "get") }); + var finalize_1 = require_finalize(); + Object.defineProperty(exports, "finalize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return finalize_1.finalize; + }, "get") }); + var find_1 = require_find(); + Object.defineProperty(exports, "find", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return find_1.find; + }, "get") }); + var findIndex_1 = require_findIndex(); + Object.defineProperty(exports, "findIndex", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return findIndex_1.findIndex; + }, "get") }); + var first_1 = require_first(); + Object.defineProperty(exports, "first", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return first_1.first; + }, "get") }); + var groupBy_1 = require_groupBy(); + Object.defineProperty(exports, "groupBy", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return groupBy_1.groupBy; + }, "get") }); + var ignoreElements_1 = require_ignoreElements(); + Object.defineProperty(exports, "ignoreElements", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ignoreElements_1.ignoreElements; + }, "get") }); + var isEmpty_1 = require_isEmpty(); + Object.defineProperty(exports, "isEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return isEmpty_1.isEmpty; + }, "get") }); + var last_1 = require_last(); + Object.defineProperty(exports, "last", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return last_1.last; + }, "get") }); + var map_1 = require_map2(); + Object.defineProperty(exports, "map", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return map_1.map; + }, "get") }); + var mapTo_1 = require_mapTo(); + Object.defineProperty(exports, "mapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mapTo_1.mapTo; + }, "get") }); + var materialize_1 = require_materialize(); + Object.defineProperty(exports, "materialize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return materialize_1.materialize; + }, "get") }); + var max_1 = require_max(); + Object.defineProperty(exports, "max", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return max_1.max; + }, "get") }); + var merge_1 = require_merge(); + Object.defineProperty(exports, "merge", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return merge_1.merge; + }, "get") }); + var mergeAll_1 = require_mergeAll(); + Object.defineProperty(exports, "mergeAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeAll_1.mergeAll; + }, "get") }); + var flatMap_1 = require_flatMap(); + Object.defineProperty(exports, "flatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return flatMap_1.flatMap; + }, "get") }); + var mergeMap_1 = require_mergeMap(); + Object.defineProperty(exports, "mergeMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeMap_1.mergeMap; + }, "get") }); + var mergeMapTo_1 = require_mergeMapTo(); + Object.defineProperty(exports, "mergeMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeMapTo_1.mergeMapTo; + }, "get") }); + var mergeScan_1 = require_mergeScan(); + Object.defineProperty(exports, "mergeScan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeScan_1.mergeScan; + }, "get") }); + var mergeWith_1 = require_mergeWith(); + Object.defineProperty(exports, "mergeWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeWith_1.mergeWith; + }, "get") }); + var min_1 = require_min(); + Object.defineProperty(exports, "min", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return min_1.min; + }, "get") }); + var multicast_1 = require_multicast(); + Object.defineProperty(exports, "multicast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return multicast_1.multicast; + }, "get") }); + var observeOn_1 = require_observeOn(); + Object.defineProperty(exports, "observeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return observeOn_1.observeOn; + }, "get") }); + var onErrorResumeNextWith_1 = require_onErrorResumeNextWith(); + Object.defineProperty(exports, "onErrorResumeNext", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return onErrorResumeNextWith_1.onErrorResumeNext; + }, "get") }); + var pairwise_1 = require_pairwise(); + Object.defineProperty(exports, "pairwise", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pairwise_1.pairwise; + }, "get") }); + var partition_1 = require_partition(); + Object.defineProperty(exports, "partition", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return partition_1.partition; + }, "get") }); + var pluck_1 = require_pluck(); + Object.defineProperty(exports, "pluck", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pluck_1.pluck; + }, "get") }); + var publish_1 = require_publish(); + Object.defineProperty(exports, "publish", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publish_1.publish; + }, "get") }); + var publishBehavior_1 = require_publishBehavior(); + Object.defineProperty(exports, "publishBehavior", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishBehavior_1.publishBehavior; + }, "get") }); + var publishLast_1 = require_publishLast(); + Object.defineProperty(exports, "publishLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishLast_1.publishLast; + }, "get") }); + var publishReplay_1 = require_publishReplay(); + Object.defineProperty(exports, "publishReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishReplay_1.publishReplay; + }, "get") }); + var race_1 = require_race2(); + Object.defineProperty(exports, "race", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return race_1.race; + }, "get") }); + var raceWith_1 = require_raceWith(); + Object.defineProperty(exports, "raceWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return raceWith_1.raceWith; + }, "get") }); + var reduce_1 = require_reduce(); + Object.defineProperty(exports, "reduce", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return reduce_1.reduce; + }, "get") }); + var repeat_1 = require_repeat(); + Object.defineProperty(exports, "repeat", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return repeat_1.repeat; + }, "get") }); + var repeatWhen_1 = require_repeatWhen(); + Object.defineProperty(exports, "repeatWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return repeatWhen_1.repeatWhen; + }, "get") }); + var retry_1 = require_retry(); + Object.defineProperty(exports, "retry", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return retry_1.retry; + }, "get") }); + var retryWhen_1 = require_retryWhen(); + Object.defineProperty(exports, "retryWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return retryWhen_1.retryWhen; + }, "get") }); + var refCount_1 = require_refCount(); + Object.defineProperty(exports, "refCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return refCount_1.refCount; + }, "get") }); + var sample_1 = require_sample(); + Object.defineProperty(exports, "sample", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sample_1.sample; + }, "get") }); + var sampleTime_1 = require_sampleTime(); + Object.defineProperty(exports, "sampleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sampleTime_1.sampleTime; + }, "get") }); + var scan_1 = require_scan(); + Object.defineProperty(exports, "scan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return scan_1.scan; + }, "get") }); + var sequenceEqual_1 = require_sequenceEqual(); + Object.defineProperty(exports, "sequenceEqual", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sequenceEqual_1.sequenceEqual; + }, "get") }); + var share_1 = require_share(); + Object.defineProperty(exports, "share", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return share_1.share; + }, "get") }); + var shareReplay_1 = require_shareReplay(); + Object.defineProperty(exports, "shareReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return shareReplay_1.shareReplay; + }, "get") }); + var single_1 = require_single(); + Object.defineProperty(exports, "single", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return single_1.single; + }, "get") }); + var skip_1 = require_skip(); + Object.defineProperty(exports, "skip", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skip_1.skip; + }, "get") }); + var skipLast_1 = require_skipLast(); + Object.defineProperty(exports, "skipLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipLast_1.skipLast; + }, "get") }); + var skipUntil_1 = require_skipUntil(); + Object.defineProperty(exports, "skipUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipUntil_1.skipUntil; + }, "get") }); + var skipWhile_1 = require_skipWhile(); + Object.defineProperty(exports, "skipWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipWhile_1.skipWhile; + }, "get") }); + var startWith_1 = require_startWith(); + Object.defineProperty(exports, "startWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return startWith_1.startWith; + }, "get") }); + var subscribeOn_1 = require_subscribeOn(); + Object.defineProperty(exports, "subscribeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return subscribeOn_1.subscribeOn; + }, "get") }); + var switchAll_1 = require_switchAll(); + Object.defineProperty(exports, "switchAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchAll_1.switchAll; + }, "get") }); + var switchMap_1 = require_switchMap(); + Object.defineProperty(exports, "switchMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchMap_1.switchMap; + }, "get") }); + var switchMapTo_1 = require_switchMapTo(); + Object.defineProperty(exports, "switchMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchMapTo_1.switchMapTo; + }, "get") }); + var switchScan_1 = require_switchScan(); + Object.defineProperty(exports, "switchScan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchScan_1.switchScan; + }, "get") }); + var take_1 = require_take(); + Object.defineProperty(exports, "take", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return take_1.take; + }, "get") }); + var takeLast_1 = require_takeLast(); + Object.defineProperty(exports, "takeLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeLast_1.takeLast; + }, "get") }); + var takeUntil_1 = require_takeUntil(); + Object.defineProperty(exports, "takeUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeUntil_1.takeUntil; + }, "get") }); + var takeWhile_1 = require_takeWhile(); + Object.defineProperty(exports, "takeWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeWhile_1.takeWhile; + }, "get") }); + var tap_1 = require_tap(); + Object.defineProperty(exports, "tap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return tap_1.tap; + }, "get") }); + var throttle_1 = require_throttle(); + Object.defineProperty(exports, "throttle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttle_1.throttle; + }, "get") }); + var throttleTime_1 = require_throttleTime(); + Object.defineProperty(exports, "throttleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttleTime_1.throttleTime; + }, "get") }); + var throwIfEmpty_1 = require_throwIfEmpty(); + Object.defineProperty(exports, "throwIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throwIfEmpty_1.throwIfEmpty; + }, "get") }); + var timeInterval_1 = require_timeInterval(); + Object.defineProperty(exports, "timeInterval", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeInterval_1.timeInterval; + }, "get") }); + var timeout_1 = require_timeout(); + Object.defineProperty(exports, "timeout", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeout_1.timeout; + }, "get") }); + var timeoutWith_1 = require_timeoutWith(); + Object.defineProperty(exports, "timeoutWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeoutWith_1.timeoutWith; + }, "get") }); + var timestamp_1 = require_timestamp(); + Object.defineProperty(exports, "timestamp", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timestamp_1.timestamp; + }, "get") }); + var toArray_1 = require_toArray(); + Object.defineProperty(exports, "toArray", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return toArray_1.toArray; + }, "get") }); + var window_1 = require_window(); + Object.defineProperty(exports, "window", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return window_1.window; + }, "get") }); + var windowCount_1 = require_windowCount(); + Object.defineProperty(exports, "windowCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowCount_1.windowCount; + }, "get") }); + var windowTime_1 = require_windowTime(); + Object.defineProperty(exports, "windowTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowTime_1.windowTime; + }, "get") }); + var windowToggle_1 = require_windowToggle(); + Object.defineProperty(exports, "windowToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowToggle_1.windowToggle; + }, "get") }); + var windowWhen_1 = require_windowWhen(); + Object.defineProperty(exports, "windowWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowWhen_1.windowWhen; + }, "get") }); + var withLatestFrom_1 = require_withLatestFrom(); + Object.defineProperty(exports, "withLatestFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return withLatestFrom_1.withLatestFrom; + }, "get") }); + var zip_1 = require_zip3(); + Object.defineProperty(exports, "zip", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zip_1.zip; + }, "get") }); + var zipAll_1 = require_zipAll(); + Object.defineProperty(exports, "zipAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zipAll_1.zipAll; + }, "get") }); + var zipWith_1 = require_zipWith(); + Object.defineProperty(exports, "zipWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zipWith_1.zipWith; + }, "get") }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.constants.js +var CLASS_SERIALIZER_OPTIONS; +var init_class_serializer_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.constants.js"() { + CLASS_SERIALIZER_OPTIONS = "class_serializer:options"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interceptor.js +var import_operators, classTransformer2, pendingClassTransformer, REFLECTOR, ClassSerializerInterceptor; +var init_class_serializer_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interceptor.js"() { + init_tslib_es6(); + import_operators = __toESM(require_operators(), 1); + init_core(); + init_file_stream(); + init_load_package_util(); + init_shared_utils(); + init_class_serializer_constants(); + classTransformer2 = {}; + REFLECTOR = "Reflector"; + ClassSerializerInterceptor = class ClassSerializerInterceptor2 { + static { + __name(this, "ClassSerializerInterceptor"); + } + reflector; + defaultOptions; + constructor(reflector, defaultOptions = {}) { + this.reflector = reflector; + this.defaultOptions = defaultOptions; + pendingClassTransformer = defaultOptions?.transformerPackage ?? loadPackage("class-transformer", "ClassSerializerInterceptor", () => import("class-transformer")); + if (!(pendingClassTransformer instanceof Promise)) { + classTransformer2 = pendingClassTransformer; + } + } + async intercept(context, next) { + classTransformer2 = await pendingClassTransformer; + const contextOptions = this.getContextOptions(context); + const options = { + ...this.defaultOptions, + ...contextOptions + }; + return next.handle().pipe((0, import_operators.map)((res) => this.serialize(res, options))); + } + /** + * Serializes responses that are non-null objects nor streamable files. + */ + serialize(response, options) { + if (!isObject(response) || response instanceof StreamableFile) { + return response; + } + return Array.isArray(response) ? response.map((item) => this.transformToPlain(item, options)) : this.transformToPlain(response, options); + } + transformToPlain(plainOrClass, options) { + if (!plainOrClass) { + return plainOrClass; + } + if (!options.type) { + return classTransformer2.classToPlain(plainOrClass, options); + } + if (plainOrClass instanceof options.type) { + return classTransformer2.classToPlain(plainOrClass, options); + } + const instance = classTransformer2.plainToInstance(options.type, plainOrClass, options); + return classTransformer2.classToPlain(instance, options); + } + getContextOptions(context) { + return this.reflector.getAllAndOverride(CLASS_SERIALIZER_OPTIONS, [ + context.getHandler(), + context.getClass() + ]); + } + }; + ClassSerializerInterceptor = __decorate([ + Injectable(), + __param(0, Inject(REFLECTOR)), + __param(1, Optional()), + __metadata("design:paramtypes", [Object, Object]) + ], ClassSerializerInterceptor); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interfaces.js +var init_class_serializer_interfaces = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/class-serializer.interfaces.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.js +var SerializeOptions; +var init_serialize_options_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.js"() { + init_decorators(); + init_class_serializer_constants(); + SerializeOptions = /* @__PURE__ */ __name((options) => SetMetadata(CLASS_SERIALIZER_OPTIONS, options), "SerializeOptions"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/index.js +var init_decorators2 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/decorators/index.js"() { + init_serialize_options_decorator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interceptor.js +var import_operators2, REFLECTOR2, StandardSchemaSerializerInterceptor; +var init_standard_schema_serializer_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interceptor.js"() { + init_tslib_es6(); + import_operators2 = __toESM(require_operators(), 1); + init_core(); + init_file_stream(); + init_shared_utils(); + init_class_serializer_constants(); + REFLECTOR2 = "Reflector"; + StandardSchemaSerializerInterceptor = class StandardSchemaSerializerInterceptor2 { + static { + __name(this, "StandardSchemaSerializerInterceptor"); + } + reflector; + defaultOptions; + constructor(reflector, defaultOptions = {}) { + this.reflector = reflector; + this.defaultOptions = defaultOptions; + } + intercept(context, next) { + const contextOptions = this.getContextOptions(context); + const schema = contextOptions?.schema ?? this.defaultOptions.schema; + const validateOptions = contextOptions?.validateOptions ?? this.defaultOptions.validateOptions; + return next.handle().pipe((0, import_operators2.concatMap)(async (res) => this.serialize(res, schema, validateOptions))); + } + /** + * Serializes responses that are non-null objects nor streamable files. + */ + serialize(response, schema, validateOptions) { + if (!schema || !isObject(response) || response instanceof StreamableFile) { + return response; + } + return Array.isArray(response) ? Promise.all(response.map((item) => this.transformToPlain(item, schema, validateOptions))) : this.transformToPlain(response, schema, validateOptions); + } + async transformToPlain(plainOrClass, schema, validateOptions) { + if (!plainOrClass) { + return plainOrClass; + } + const result = await schema["~standard"].validate(plainOrClass, validateOptions); + if (result.issues) { + throw new Error(`Serialization failed: ${result.issues.map((i) => i.message).join(", ")}`); + } + return result.value; + } + getContextOptions(context) { + const [handlerOptions, classOptions] = this.reflector.getAll(CLASS_SERIALIZER_OPTIONS, [ + context.getHandler(), + context.getClass() + ]); + if (!handlerOptions || !classOptions) { + return handlerOptions ?? classOptions; + } + return { + schema: handlerOptions.schema ?? classOptions.schema, + validateOptions: handlerOptions.validateOptions ?? classOptions.validateOptions + }; + } + }; + StandardSchemaSerializerInterceptor = __decorate([ + Injectable(), + __param(0, Inject(REFLECTOR2)), + __param(1, Optional()), + __metadata("design:paramtypes", [Object, Object]) + ], StandardSchemaSerializerInterceptor); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interfaces.js +var init_standard_schema_serializer_interfaces = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/standard-schema-serializer.interfaces.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/index.js +var init_serializer = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/serializer/index.js"() { + init_class_serializer_interceptor(); + init_class_serializer_interfaces(); + init_decorators2(); + init_standard_schema_serializer_interceptor(); + init_standard_schema_serializer_interfaces(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/forward-ref.util.js +var forwardRef; +var init_forward_ref_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/forward-ref.util.js"() { + forwardRef = /* @__PURE__ */ __name((fn) => ({ + forwardRef: fn + }), "forwardRef"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/index.js +var init_utils3 = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/index.js"() { + init_forward_ref_util(); + init_strip_proto_keys_util(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/index.js +var common_exports = {}; +__export(common_exports, { + All: () => All, + BadGatewayException: () => BadGatewayException, + BadRequestException: () => BadRequestException, + Bind: () => Bind, + Body: () => Body, + Catch: () => Catch, + ClassSerializerInterceptor: () => ClassSerializerInterceptor, + ConfigurableModuleBuilder: () => ConfigurableModuleBuilder, + ConflictException: () => ConflictException, + ConsoleLogger: () => ConsoleLogger, + Controller: () => Controller, + Cookies: () => Cookies, + Copy: () => Copy, + DefaultValuePipe: () => DefaultValuePipe, + Delete: () => Delete, + Dependencies: () => Dependencies, + FileTypeValidator: () => FileTypeValidator, + FileValidator: () => FileValidator, + ForbiddenException: () => ForbiddenException, + GatewayTimeoutException: () => GatewayTimeoutException, + Get: () => Get, + Global: () => Global, + GoneException: () => GoneException, + Head: () => Head, + Header: () => Header, + Headers: () => Headers, + HostParam: () => HostParam, + HttpCode: () => HttpCode, + HttpException: () => HttpException, + HttpStatus: () => HttpStatus, + HttpVersionNotSupportedException: () => HttpVersionNotSupportedException, + ImATeapotException: () => ImATeapotException, + Inject: () => Inject, + Injectable: () => Injectable, + InternalServerErrorException: () => InternalServerErrorException, + IntrinsicException: () => IntrinsicException, + Ip: () => Ip, + LOG_LEVELS: () => LOG_LEVELS, + Lock: () => Lock, + Logger: () => Logger, + MaxFileSizeValidator: () => MaxFileSizeValidator, + MethodNotAllowedException: () => MethodNotAllowedException, + MisdirectedException: () => MisdirectedException, + Mkcol: () => Mkcol, + Module: () => Module, + Move: () => Move, + Next: () => Next, + NotAcceptableException: () => NotAcceptableException, + NotFoundException: () => NotFoundException, + NotImplementedException: () => NotImplementedException, + Optional: () => Optional, + Options: () => Options, + Param: () => Param, + ParseArrayPipe: () => ParseArrayPipe, + ParseBoolPipe: () => ParseBoolPipe, + ParseDatePipe: () => ParseDatePipe, + ParseEnumPipe: () => ParseEnumPipe, + ParseFilePipe: () => ParseFilePipe, + ParseFilePipeBuilder: () => ParseFilePipeBuilder, + ParseFloatPipe: () => ParseFloatPipe, + ParseIntPipe: () => ParseIntPipe, + ParseUUIDPipe: () => ParseUUIDPipe, + Patch: () => Patch, + PayloadTooLargeException: () => PayloadTooLargeException, + Post: () => Post, + PreconditionFailedException: () => PreconditionFailedException, + Propfind: () => Propfind, + Proppatch: () => Proppatch, + Put: () => Put, + Query: () => Query, + QueryMethod: () => QueryMethod, + RawBody: () => RawBody, + Redirect: () => Redirect, + Render: () => Render, + Req: () => Req, + Request: () => Request, + RequestMapping: () => RequestMapping, + RequestMethod: () => RequestMethod, + RequestTimeoutException: () => RequestTimeoutException, + Res: () => Res, + Response: () => Response, + SSE_ABORT_CONTROLLER: () => SSE_ABORT_CONTROLLER, + Scope: () => Scope, + Search: () => Search, + SerializeOptions: () => SerializeOptions, + ServiceUnavailableException: () => ServiceUnavailableException, + Session: () => Session, + SetMetadata: () => SetMetadata, + ShutdownSignal: () => ShutdownSignal, + SignedCookies: () => SignedCookies, + Sse: () => Sse, + SseSignal: () => SseSignal, + StandardSchemaSerializerInterceptor: () => StandardSchemaSerializerInterceptor, + StandardSchemaValidationPipe: () => StandardSchemaValidationPipe, + StreamableFile: () => StreamableFile, + UnauthorizedException: () => UnauthorizedException, + Unlock: () => Unlock, + UnprocessableEntityException: () => UnprocessableEntityException, + UnsupportedMediaTypeException: () => UnsupportedMediaTypeException, + UploadedFile: () => UploadedFile, + UploadedFiles: () => UploadedFiles, + UseFilters: () => UseFilters, + UseGuards: () => UseGuards, + UseInterceptors: () => UseInterceptors, + UsePipes: () => UsePipes, + VERSION_NEUTRAL: () => VERSION_NEUTRAL, + ValidationPipe: () => ValidationPipe, + Version: () => Version, + VersioningType: () => VersioningType, + applyDecorators: () => applyDecorators, + assignMetadata: () => assignMetadata, + createParamDecorator: () => createParamDecorator, + filterLogLevels: () => filterLogLevels, + flatten: () => flatten, + forwardRef: () => forwardRef, + mixin: () => mixin, + stripProtoKeys: () => stripProtoKeys +}); +var import_reflect_metadata; +var init_common = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/index.js"() { + import_reflect_metadata = __toESM(require_Reflect(), 1); + init_decorators(); + init_enums(); + init_exceptions(); + init_file_stream(); + init_interfaces(); + init_module_utils(); + init_pipes(); + init_serializer(); + init_services(); + init_utils3(); + } +}); + +export { + require_Reflect, + __decorate, + __param, + __metadata, + init_tslib_es6, + MODULE_METADATA, + GLOBAL_MODULE_METADATA, + HOST_METADATA, + PATH_METADATA, + PARAMTYPES_METADATA, + SELF_DECLARED_DEPS_METADATA, + OPTIONAL_DEPS_METADATA, + PROPERTY_DEPS_METADATA, + OPTIONAL_PROPERTY_DEPS_METADATA, + SCOPE_OPTIONS_METADATA, + METHOD_METADATA, + ROUTE_ARGS_METADATA, + CUSTOM_ROUTE_ARGS_METADATA, + FILTER_CATCH_EXCEPTIONS, + PIPES_METADATA, + GUARDS_METADATA, + INTERCEPTORS_METADATA, + EXCEPTION_FILTERS_METADATA, + ENHANCER_KEY_TO_SUBTYPE_MAP, + RENDER_METADATA, + HTTP_CODE_METADATA, + MODULE_PATH, + HEADERS_METADATA, + REDIRECT_METADATA, + RESPONSE_PASSTHROUGH_METADATA, + SSE_METADATA, + SSE_OPTIONS_METADATA, + VERSION_METADATA, + INJECTABLE_WATERMARK, + CONTROLLER_WATERMARK, + CATCH_WATERMARK, + ENTRY_PROVIDER_WATERMARK, + init_constants, + Catch, + isUndefined, + isObject, + isPlainObject, + addLeadingSlash, + normalizePath, + stripEndSlash, + isFunction, + isString, + isConstructor, + isNil, + isEmpty, + isEmptyArray, + isSymbol, + init_shared_utils, + Controller, + flatten, + Inject, + uid, + init_dist, + Injectable, + mixin, + Optional, + SetMetadata, + UseGuards, + UseInterceptors, + applyDecorators, + Global, + Module, + RequestMethod, + Post, + Get, + Delete, + Put, + Patch, + RouteParamtypes, + init_route_paramtypes_enum, + init_parameter_decorator_options_util, + UploadedFile, + Query, + Body, + Param, + Req, + Res, + init_route_params_decorator, + HttpCode, + createParamDecorator, + SSE_ABORT_CONTROLLER, + HttpStatus, + ShutdownSignal, + VersioningType, + IntrinsicException, + HttpException, + BadRequestException, + ConflictException, + ForbiddenException, + InternalServerErrorException, + NotFoundException, + PayloadTooLargeException, + ServiceUnavailableException, + UnauthorizedException, + clc, + init_cli_colors_util, + ConsoleLogger, + Logger, + StreamableFile, + Scope, + VERSION_NEUTRAL, + randomStringGenerator, + init_random_string_generator_util, + require_lib, + loadPackage, + loadPackageCached, + tryLoadPackage, + init_load_package_util, + require_isFunction, + require_isArrayLike, + require_UnsubscriptionError, + require_Subscription, + require_config, + require_noop, + require_Subscriber, + require_observable, + require_identity, + require_pipe, + require_Observable, + require_innerFrom, + require_OperatorSubscriber, + require_audit, + require_AsyncAction, + require_Scheduler, + require_AsyncScheduler, + require_async, + require_isScheduler, + require_timer, + require_auditTime, + require_buffer, + require_bufferCount, + require_args, + require_bufferTime, + require_bufferToggle, + require_bufferWhen, + require_catchError, + require_argsArgArrayOrObject, + require_observeOn, + require_subscribeOn, + require_scheduleIterable, + require_scheduled, + require_from, + require_map2 as require_map, + require_mapOneOrManyArgs, + require_createObject, + require_combineLatest, + require_mergeMap, + require_reduce, + require_toArray, + require_combineLatestAll, + require_combineAll, + require_combineLatestWith, + require_mergeAll, + require_concatAll, + require_concatMap, + require_concatMapTo, + require_concatWith, + require_ObjectUnsubscribedError, + require_Subject, + require_connect, + require_count, + require_debounce, + require_debounceTime, + require_defaultIfEmpty, + require_concat3 as require_concat, + require_empty, + require_take, + require_ignoreElements, + require_mapTo, + require_delayWhen, + require_delay, + require_of, + require_throwError, + require_Notification, + require_dematerialize, + require_distinct, + require_distinctUntilChanged, + require_distinctUntilKeyChanged, + require_ArgumentOutOfRangeError, + require_filter2 as require_filter, + require_EmptyError, + require_throwIfEmpty, + require_elementAt, + require_endWith, + require_every, + require_exhaustMap, + require_exhaustAll, + require_exhaust, + require_expand, + require_finalize, + require_find, + require_findIndex, + require_first, + require_groupBy, + require_isEmpty, + require_takeLast, + require_last, + require_materialize, + require_max, + require_flatMap, + require_mergeMapTo, + require_mergeScan, + require_mergeWith, + require_min, + require_refCount, + require_ConnectableObservable, + require_multicast, + require_onErrorResumeNext, + require_onErrorResumeNextWith, + require_pairwise, + require_not, + require_pluck, + require_publish, + require_BehaviorSubject, + require_publishBehavior, + require_AsyncSubject, + require_publishLast, + require_ReplaySubject, + require_publishReplay, + require_race, + require_raceWith, + require_repeat, + require_repeatWhen, + require_retry, + require_retryWhen, + require_sample, + require_interval, + require_sampleTime, + require_scan, + require_sequenceEqual, + require_share, + require_shareReplay, + require_SequenceError, + require_NotFoundError, + require_single, + require_skip, + require_skipLast, + require_skipUntil, + require_skipWhile, + require_startWith, + require_switchMap, + require_switchAll, + require_switchMapTo, + require_switchScan, + require_takeUntil, + require_takeWhile, + require_tap, + require_throttle, + require_throttleTime, + require_timeInterval, + require_timeout, + require_timeoutWith, + require_timestamp, + require_window, + require_windowCount, + require_windowTime, + require_windowToggle, + require_windowWhen, + require_withLatestFrom, + require_zip2 as require_zip, + require_zipAll, + require_zipWith, + require_operators, + common_exports, + init_common +}; diff --git a/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js b/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js new file mode 100644 index 0000000..5be60a6 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-C4DYPKAN.js @@ -0,0 +1,725 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + require_ms +} from "./chunk-A34KYKJP.js"; +import { + __commonJS, + __esm, + __export, + __name, + __require, + __toCommonJS +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js +var require_common = __commonJS({ + "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js"(exports, module) { + function setup(env2) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require_ms(); + createDebug.destroy = destroy; + Object.keys(env2).forEach((key) => { + createDebug[key] = env2[key]; + }); + createDebug.names = []; + createDebug.skips = []; + createDebug.formatters = {}; + function selectColor(namespace) { + let hash = 0; + for (let i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; + } + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + __name(selectColor, "selectColor"); + createDebug.selectColor = selectColor; + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + function debug(...args) { + if (!debug.enabled) { + return; + } + const self = debug; + const curr = Number(/* @__PURE__ */ new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + if (typeof args[0] !== "string") { + args.unshift("%O"); + } + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + if (match === "%%") { + return "%"; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === "function") { + const val = args[index]; + match = formatter.call(self, val); + args.splice(index, 1); + index--; + } + return match; + }); + createDebug.formatArgs.call(self, args); + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + __name(debug, "debug"); + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; + Object.defineProperty(debug, "enabled", { + enumerable: true, + configurable: false, + get: /* @__PURE__ */ __name(() => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + return enabledCache; + }, "get"), + set: /* @__PURE__ */ __name((v) => { + enableOverride = v; + }, "set") + }); + if (typeof createDebug.init === "function") { + createDebug.init(debug); + } + return debug; + } + __name(createDebug, "createDebug"); + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + __name(extend, "extend"); + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + createDebug.names = []; + createDebug.skips = []; + const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean); + for (const ns of split) { + if (ns[0] === "-") { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + __name(enable, "enable"); + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) { + if (template[templateIndex] === "*") { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; + } + } + while (templateIndex < template.length && template[templateIndex] === "*") { + templateIndex++; + } + return templateIndex === template.length; + } + __name(matchesTemplate, "matchesTemplate"); + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map((namespace) => "-" + namespace) + ].join(","); + createDebug.enable(""); + return namespaces; + } + __name(disable, "disable"); + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + return false; + } + __name(enabled, "enabled"); + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + __name(coerce, "coerce"); + function destroy() { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + __name(destroy, "destroy"); + createDebug.enable(createDebug.load()); + return createDebug; + } + __name(setup, "setup"); + module.exports = setup; + } +}); + +// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js +var require_browser = __commonJS({ + "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js"(exports, module) { + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.storage = localstorage(); + exports.destroy = /* @__PURE__ */ (() => { + let warned = false; + return () => { + if (!warned) { + warned = true; + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."); + } + }; + })(); + exports.colors = [ + "#0000CC", + "#0000FF", + "#0033CC", + "#0033FF", + "#0066CC", + "#0066FF", + "#0099CC", + "#0099FF", + "#00CC00", + "#00CC33", + "#00CC66", + "#00CC99", + "#00CCCC", + "#00CCFF", + "#3300CC", + "#3300FF", + "#3333CC", + "#3333FF", + "#3366CC", + "#3366FF", + "#3399CC", + "#3399FF", + "#33CC00", + "#33CC33", + "#33CC66", + "#33CC99", + "#33CCCC", + "#33CCFF", + "#6600CC", + "#6600FF", + "#6633CC", + "#6633FF", + "#66CC00", + "#66CC33", + "#9900CC", + "#9900FF", + "#9933CC", + "#9933FF", + "#99CC00", + "#99CC33", + "#CC0000", + "#CC0033", + "#CC0066", + "#CC0099", + "#CC00CC", + "#CC00FF", + "#CC3300", + "#CC3333", + "#CC3366", + "#CC3399", + "#CC33CC", + "#CC33FF", + "#CC6600", + "#CC6633", + "#CC9900", + "#CC9933", + "#CCCC00", + "#CCCC33", + "#FF0000", + "#FF0033", + "#FF0066", + "#FF0099", + "#FF00CC", + "#FF00FF", + "#FF3300", + "#FF3333", + "#FF3366", + "#FF3399", + "#FF33CC", + "#FF33FF", + "#FF6600", + "#FF6633", + "#FF9900", + "#FF9933", + "#FFCC00", + "#FFCC33" + ]; + function useColors() { + if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) { + return true; + } + if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + let m; + return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); + } + __name(useColors, "useColors"); + function formatArgs(args) { + args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff); + if (!this.useColors) { + return; + } + const c = "color: " + this.color; + args.splice(1, 0, c, "color: inherit"); + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, (match) => { + if (match === "%%") { + return; + } + index++; + if (match === "%c") { + lastC = index; + } + }); + args.splice(lastC, 0, c); + } + __name(formatArgs, "formatArgs"); + exports.log = console.debug || console.log || (() => { + }); + function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem("debug", namespaces); + } else { + exports.storage.removeItem("debug"); + } + } catch (error) { + } + } + __name(save, "save"); + function load() { + let r; + try { + r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG"); + } catch (error) { + } + if (!r && typeof process !== "undefined" && "env" in process) { + r = process.env.DEBUG; + } + return r; + } + __name(load, "load"); + function localstorage() { + try { + return localStorage; + } catch (error) { + } + } + __name(localstorage, "localstorage"); + module.exports = require_common()(exports); + var { formatters } = module.exports; + formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (error) { + return "[UnexpectedJSONParseError]: " + error.message; + } + }; + } +}); + +// ../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js +var supports_color_exports = {}; +__export(supports_color_exports, { + createSupportsColor: () => createSupportsColor, + default: () => supports_color_default +}); +import process2 from "node:process"; +import os from "node:os"; +import tty from "node:tty"; +function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) { + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf("--"); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +} +function envForceColor() { + if (!("FORCE_COLOR" in env)) { + return; + } + if (env.FORCE_COLOR === "true") { + return 1; + } + if (env.FORCE_COLOR === "false") { + return 0; + } + if (env.FORCE_COLOR.length === 0) { + return 1; + } + const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); + if (![0, 1, 2, 3].includes(level)) { + return; + } + return level; +} +function translateLevel(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} +function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { + const noFlagForceColor = envForceColor(); + if (noFlagForceColor !== void 0) { + flagForceColor = noFlagForceColor; + } + const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; + if (forceColor === 0) { + return 0; + } + if (sniffFlags) { + if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { + return 3; + } + if (hasFlag("color=256")) { + return 2; + } + } + if ("TF_BUILD" in env && "AGENT_NAME" in env) { + return 1; + } + if (haveStream && !streamIsTTY && forceColor === void 0) { + return 0; + } + const min = forceColor || 0; + if (env.TERM === "dumb") { + return min; + } + if (process2.platform === "win32") { + const osRelease = os.release().split("."); + if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env) { + if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => key in env)) { + return 3; + } + if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + if (env.COLORTERM === "truecolor") { + return 3; + } + if (env.TERM === "xterm-kitty") { + return 3; + } + if (env.TERM === "xterm-ghostty") { + return 3; + } + if (env.TERM === "wezterm") { + return 3; + } + if ("TERM_PROGRAM" in env) { + const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env.TERM_PROGRAM) { + case "iTerm.app": { + return version >= 3 ? 3 : 2; + } + case "Apple_Terminal": { + return 2; + } + } + } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + if ("COLORTERM" in env) { + return 1; + } + return min; +} +function createSupportsColor(stream, options = {}) { + const level = _supportsColor(stream, { + streamIsTTY: stream && stream.isTTY, + ...options + }); + return translateLevel(level); +} +var env, flagForceColor, supportsColor, supports_color_default; +var init_supports_color = __esm({ + "../../node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js"() { + __name(hasFlag, "hasFlag"); + ({ env } = process2); + if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { + flagForceColor = 0; + } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { + flagForceColor = 1; + } + __name(envForceColor, "envForceColor"); + __name(translateLevel, "translateLevel"); + __name(_supportsColor, "_supportsColor"); + __name(createSupportsColor, "createSupportsColor"); + supportsColor = { + stdout: createSupportsColor({ isTTY: tty.isatty(1) }), + stderr: createSupportsColor({ isTTY: tty.isatty(2) }) + }; + supports_color_default = supportsColor; + } +}); + +// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js +var require_node = __commonJS({ + "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js"(exports, module) { + var tty2 = __require("tty"); + var util = __require("util"); + exports.init = init; + exports.log = log; + exports.formatArgs = formatArgs; + exports.save = save; + exports.load = load; + exports.useColors = useColors; + exports.destroy = util.deprecate( + () => { + }, + "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`." + ); + exports.colors = [6, 2, 3, 4, 5, 1]; + try { + const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports)); + if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } + } catch (error) { + } + exports.inspectOpts = Object.keys(process.env).filter((key) => { + return /^debug_/i.test(key); + }).reduce((obj, key) => { + const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === "null") { + val = null; + } else { + val = Number(val); + } + obj[prop] = val; + return obj; + }, {}); + function useColors() { + return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty2.isatty(process.stderr.fd); + } + __name(useColors, "useColors"); + function formatArgs(args) { + const { namespace: name, useColors: useColors2 } = this; + if (useColors2) { + const c = this.color; + const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c); + const prefix = ` ${colorCode};1m${name} \x1B[0m`; + args[0] = prefix + args[0].split("\n").join("\n" + prefix); + args.push(colorCode + "m+" + module.exports.humanize(this.diff) + "\x1B[0m"); + } else { + args[0] = getDate() + name + " " + args[0]; + } + } + __name(formatArgs, "formatArgs"); + function getDate() { + if (exports.inspectOpts.hideDate) { + return ""; + } + return (/* @__PURE__ */ new Date()).toISOString() + " "; + } + __name(getDate, "getDate"); + function log(...args) { + return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + "\n"); + } + __name(log, "log"); + function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + delete process.env.DEBUG; + } + } + __name(save, "save"); + function load() { + return process.env.DEBUG; + } + __name(load, "load"); + function init(debug) { + debug.inspectOpts = {}; + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } + } + __name(init, "init"); + module.exports = require_common()(exports); + var { formatters } = module.exports; + formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); + }; + formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); + }; + } +}); + +// ../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js +var require_src = __commonJS({ + "../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js"(exports, module) { + if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { + module.exports = require_browser(); + } else { + module.exports = require_node(); + } + } +}); + +export { + require_src +}; diff --git a/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js b/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js new file mode 100644 index 0000000..8678232 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-KIUJQ22G.js @@ -0,0 +1,5494 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __commonJS, + __name, + __require, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js +var require_postgres_array = __commonJS({ + "../../node_modules/.pnpm/postgres-array@2.0.0/node_modules/postgres-array/index.js"(exports) { + "use strict"; + exports.parse = function(source, transform) { + return new ArrayParser(source, transform).parse(); + }; + var ArrayParser = class _ArrayParser { + static { + __name(this, "ArrayParser"); + } + constructor(source, transform) { + this.source = source; + this.transform = transform || identity; + this.position = 0; + this.entries = []; + this.recorded = []; + this.dimension = 0; + } + isEof() { + return this.position >= this.source.length; + } + nextCharacter() { + var character = this.source[this.position++]; + if (character === "\\") { + return { + value: this.source[this.position++], + escaped: true + }; + } + return { + value: character, + escaped: false + }; + } + record(character) { + this.recorded.push(character); + } + newEntry(includeEmpty) { + var entry; + if (this.recorded.length > 0 || includeEmpty) { + entry = this.recorded.join(""); + if (entry === "NULL" && !includeEmpty) { + entry = null; + } + if (entry !== null) entry = this.transform(entry); + this.entries.push(entry); + this.recorded = []; + } + } + consumeDimensions() { + if (this.source[0] === "[") { + while (!this.isEof()) { + var char = this.nextCharacter(); + if (char.value === "=") break; + } + } + } + parse(nested) { + var character, parser, quote; + this.consumeDimensions(); + while (!this.isEof()) { + character = this.nextCharacter(); + if (character.value === "{" && !quote) { + this.dimension++; + if (this.dimension > 1) { + parser = new _ArrayParser(this.source.substr(this.position - 1), this.transform); + this.entries.push(parser.parse(true)); + this.position += parser.position - 2; + } + } else if (character.value === "}" && !quote) { + this.dimension--; + if (!this.dimension) { + this.newEntry(); + if (nested) return this.entries; + } + } else if (character.value === '"' && !character.escaped) { + if (quote) this.newEntry(true); + quote = !quote; + } else if (character.value === "," && !quote) { + this.newEntry(); + } else { + this.record(character.value); + } + } + if (this.dimension !== 0) { + throw new Error("array dimension not balanced"); + } + return this.entries; + } + }; + function identity(value) { + return value; + } + __name(identity, "identity"); + } +}); + +// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js +var require_arrayParser = __commonJS({ + "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/arrayParser.js"(exports, module) { + var array = require_postgres_array(); + module.exports = { + create: /* @__PURE__ */ __name(function(source, transform) { + return { + parse: /* @__PURE__ */ __name(function() { + return array.parse(source, transform); + }, "parse") + }; + }, "create") + }; + } +}); + +// ../../node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js +var require_postgres_date = __commonJS({ + "../../node_modules/.pnpm/postgres-date@1.0.7/node_modules/postgres-date/index.js"(exports, module) { + "use strict"; + var DATE_TIME = /(\d{1,})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(\.\d{1,})?.*?( BC)?$/; + var DATE = /^(\d{1,})-(\d{2})-(\d{2})( BC)?$/; + var TIME_ZONE = /([Z+-])(\d{2})?:?(\d{2})?:?(\d{2})?/; + var INFINITY = /^-?infinity$/; + module.exports = /* @__PURE__ */ __name(function parseDate(isoDate) { + if (INFINITY.test(isoDate)) { + return Number(isoDate.replace("i", "I")); + } + var matches = DATE_TIME.exec(isoDate); + if (!matches) { + return getDate(isoDate) || null; + } + var isBC = !!matches[8]; + var year = parseInt(matches[1], 10); + if (isBC) { + year = bcYearToNegativeYear(year); + } + var month = parseInt(matches[2], 10) - 1; + var day = matches[3]; + var hour = parseInt(matches[4], 10); + var minute = parseInt(matches[5], 10); + var second = parseInt(matches[6], 10); + var ms = matches[7]; + ms = ms ? 1e3 * parseFloat(ms) : 0; + var date; + var offset = timeZoneOffset(isoDate); + if (offset != null) { + date = new Date(Date.UTC(year, month, day, hour, minute, second, ms)); + if (is0To99(year)) { + date.setUTCFullYear(year); + } + if (offset !== 0) { + date.setTime(date.getTime() - offset); + } + } else { + date = new Date(year, month, day, hour, minute, second, ms); + if (is0To99(year)) { + date.setFullYear(year); + } + } + return date; + }, "parseDate"); + function getDate(isoDate) { + var matches = DATE.exec(isoDate); + if (!matches) { + return; + } + var year = parseInt(matches[1], 10); + var isBC = !!matches[4]; + if (isBC) { + year = bcYearToNegativeYear(year); + } + var month = parseInt(matches[2], 10) - 1; + var day = matches[3]; + var date = new Date(year, month, day); + if (is0To99(year)) { + date.setFullYear(year); + } + return date; + } + __name(getDate, "getDate"); + function timeZoneOffset(isoDate) { + if (isoDate.endsWith("+00")) { + return 0; + } + var zone = TIME_ZONE.exec(isoDate.split(" ")[1]); + if (!zone) return; + var type = zone[1]; + if (type === "Z") { + return 0; + } + var sign = type === "-" ? -1 : 1; + var offset = parseInt(zone[2], 10) * 3600 + parseInt(zone[3] || 0, 10) * 60 + parseInt(zone[4] || 0, 10); + return offset * sign * 1e3; + } + __name(timeZoneOffset, "timeZoneOffset"); + function bcYearToNegativeYear(year) { + return -(year - 1); + } + __name(bcYearToNegativeYear, "bcYearToNegativeYear"); + function is0To99(num) { + return num >= 0 && num < 100; + } + __name(is0To99, "is0To99"); + } +}); + +// ../../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js +var require_mutable = __commonJS({ + "../../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/mutable.js"(exports, module) { + module.exports = extend; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function extend(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + } + __name(extend, "extend"); + } +}); + +// ../../node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js +var require_postgres_interval = __commonJS({ + "../../node_modules/.pnpm/postgres-interval@1.2.0/node_modules/postgres-interval/index.js"(exports, module) { + "use strict"; + var extend = require_mutable(); + module.exports = PostgresInterval; + function PostgresInterval(raw) { + if (!(this instanceof PostgresInterval)) { + return new PostgresInterval(raw); + } + extend(this, parse(raw)); + } + __name(PostgresInterval, "PostgresInterval"); + var properties = ["seconds", "minutes", "hours", "days", "months", "years"]; + PostgresInterval.prototype.toPostgres = function() { + var filtered = properties.filter(this.hasOwnProperty, this); + if (this.milliseconds && filtered.indexOf("seconds") < 0) { + filtered.push("seconds"); + } + if (filtered.length === 0) return "0"; + return filtered.map(function(property) { + var value = this[property] || 0; + if (property === "seconds" && this.milliseconds) { + value = (value + this.milliseconds / 1e3).toFixed(6).replace(/\.?0+$/, ""); + } + return value + " " + property; + }, this).join(" "); + }; + var propertiesISOEquivalent = { + years: "Y", + months: "M", + days: "D", + hours: "H", + minutes: "M", + seconds: "S" + }; + var dateProperties = ["years", "months", "days"]; + var timeProperties = ["hours", "minutes", "seconds"]; + PostgresInterval.prototype.toISOString = PostgresInterval.prototype.toISO = function() { + var datePart = dateProperties.map(buildProperty, this).join(""); + var timePart = timeProperties.map(buildProperty, this).join(""); + return "P" + datePart + "T" + timePart; + function buildProperty(property) { + var value = this[property] || 0; + if (property === "seconds" && this.milliseconds) { + value = (value + this.milliseconds / 1e3).toFixed(6).replace(/0+$/, ""); + } + return value + propertiesISOEquivalent[property]; + } + __name(buildProperty, "buildProperty"); + }; + var NUMBER = "([+-]?\\d+)"; + var YEAR = NUMBER + "\\s+years?"; + var MONTH = NUMBER + "\\s+mons?"; + var DAY = NUMBER + "\\s+days?"; + var TIME = "([+-])?([\\d]*):(\\d\\d):(\\d\\d)\\.?(\\d{1,6})?"; + var INTERVAL = new RegExp([YEAR, MONTH, DAY, TIME].map(function(regexString) { + return "(" + regexString + ")?"; + }).join("\\s*")); + var positions = { + years: 2, + months: 4, + days: 6, + hours: 9, + minutes: 10, + seconds: 11, + milliseconds: 12 + }; + var negatives = ["hours", "minutes", "seconds", "milliseconds"]; + function parseMilliseconds(fraction) { + var microseconds = fraction + "000000".slice(fraction.length); + return parseInt(microseconds, 10) / 1e3; + } + __name(parseMilliseconds, "parseMilliseconds"); + function parse(interval) { + if (!interval) return {}; + var matches = INTERVAL.exec(interval); + var isNegative = matches[8] === "-"; + return Object.keys(positions).reduce(function(parsed, property) { + var position = positions[property]; + var value = matches[position]; + if (!value) return parsed; + value = property === "milliseconds" ? parseMilliseconds(value) : parseInt(value, 10); + if (!value) return parsed; + if (isNegative && ~negatives.indexOf(property)) { + value *= -1; + } + parsed[property] = value; + return parsed; + }, {}); + } + __name(parse, "parse"); + } +}); + +// ../../node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js +var require_postgres_bytea = __commonJS({ + "../../node_modules/.pnpm/postgres-bytea@1.0.1/node_modules/postgres-bytea/index.js"(exports, module) { + "use strict"; + var bufferFrom = Buffer.from || Buffer; + module.exports = /* @__PURE__ */ __name(function parseBytea(input) { + if (/^\\x/.test(input)) { + return bufferFrom(input.substr(2), "hex"); + } + var output = ""; + var i = 0; + while (i < input.length) { + if (input[i] !== "\\") { + output += input[i]; + ++i; + } else { + if (/[0-7]{3}/.test(input.substr(i + 1, 3))) { + output += String.fromCharCode(parseInt(input.substr(i + 1, 3), 8)); + i += 4; + } else { + var backslashes = 1; + while (i + backslashes < input.length && input[i + backslashes] === "\\") { + backslashes++; + } + for (var k = 0; k < Math.floor(backslashes / 2); ++k) { + output += "\\"; + } + i += Math.floor(backslashes / 2) * 2; + } + } + } + return bufferFrom(output, "binary"); + }, "parseBytea"); + } +}); + +// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js +var require_textParsers = __commonJS({ + "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/textParsers.js"(exports, module) { + var array = require_postgres_array(); + var arrayParser = require_arrayParser(); + var parseDate = require_postgres_date(); + var parseInterval = require_postgres_interval(); + var parseByteA = require_postgres_bytea(); + function allowNull(fn) { + return /* @__PURE__ */ __name(function nullAllowed(value) { + if (value === null) return value; + return fn(value); + }, "nullAllowed"); + } + __name(allowNull, "allowNull"); + function parseBool(value) { + if (value === null) return value; + return value === "TRUE" || value === "t" || value === "true" || value === "y" || value === "yes" || value === "on" || value === "1"; + } + __name(parseBool, "parseBool"); + function parseBoolArray(value) { + if (!value) return null; + return array.parse(value, parseBool); + } + __name(parseBoolArray, "parseBoolArray"); + function parseBaseTenInt(string) { + return parseInt(string, 10); + } + __name(parseBaseTenInt, "parseBaseTenInt"); + function parseIntegerArray(value) { + if (!value) return null; + return array.parse(value, allowNull(parseBaseTenInt)); + } + __name(parseIntegerArray, "parseIntegerArray"); + function parseBigIntegerArray(value) { + if (!value) return null; + return array.parse(value, allowNull(function(entry) { + return parseBigInteger(entry).trim(); + })); + } + __name(parseBigIntegerArray, "parseBigIntegerArray"); + var parsePointArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + var p = arrayParser.create(value, function(entry) { + if (entry !== null) { + entry = parsePoint(entry); + } + return entry; + }); + return p.parse(); + }, "parsePointArray"); + var parseFloatArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + var p = arrayParser.create(value, function(entry) { + if (entry !== null) { + entry = parseFloat(entry); + } + return entry; + }); + return p.parse(); + }, "parseFloatArray"); + var parseStringArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + var p = arrayParser.create(value); + return p.parse(); + }, "parseStringArray"); + var parseDateArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + var p = arrayParser.create(value, function(entry) { + if (entry !== null) { + entry = parseDate(entry); + } + return entry; + }); + return p.parse(); + }, "parseDateArray"); + var parseIntervalArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + var p = arrayParser.create(value, function(entry) { + if (entry !== null) { + entry = parseInterval(entry); + } + return entry; + }); + return p.parse(); + }, "parseIntervalArray"); + var parseByteAArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + return array.parse(value, allowNull(parseByteA)); + }, "parseByteAArray"); + var parseInteger = /* @__PURE__ */ __name(function(value) { + return parseInt(value, 10); + }, "parseInteger"); + var parseBigInteger = /* @__PURE__ */ __name(function(value) { + var valStr = String(value); + if (/^\d+$/.test(valStr)) { + return valStr; + } + return value; + }, "parseBigInteger"); + var parseJsonArray = /* @__PURE__ */ __name(function(value) { + if (!value) { + return null; + } + return array.parse(value, allowNull(JSON.parse)); + }, "parseJsonArray"); + var parsePoint = /* @__PURE__ */ __name(function(value) { + if (value[0] !== "(") { + return null; + } + value = value.substring(1, value.length - 1).split(","); + return { + x: parseFloat(value[0]), + y: parseFloat(value[1]) + }; + }, "parsePoint"); + var parseCircle = /* @__PURE__ */ __name(function(value) { + if (value[0] !== "<" && value[1] !== "(") { + return null; + } + var point = "("; + var radius = ""; + var pointParsed = false; + for (var i = 2; i < value.length - 1; i++) { + if (!pointParsed) { + point += value[i]; + } + if (value[i] === ")") { + pointParsed = true; + continue; + } else if (!pointParsed) { + continue; + } + if (value[i] === ",") { + continue; + } + radius += value[i]; + } + var result = parsePoint(point); + result.radius = parseFloat(radius); + return result; + }, "parseCircle"); + var init = /* @__PURE__ */ __name(function(register) { + register(20, parseBigInteger); + register(21, parseInteger); + register(23, parseInteger); + register(26, parseInteger); + register(700, parseFloat); + register(701, parseFloat); + register(16, parseBool); + register(1082, parseDate); + register(1114, parseDate); + register(1184, parseDate); + register(600, parsePoint); + register(651, parseStringArray); + register(718, parseCircle); + register(1e3, parseBoolArray); + register(1001, parseByteAArray); + register(1005, parseIntegerArray); + register(1007, parseIntegerArray); + register(1028, parseIntegerArray); + register(1016, parseBigIntegerArray); + register(1017, parsePointArray); + register(1021, parseFloatArray); + register(1022, parseFloatArray); + register(1231, parseFloatArray); + register(1014, parseStringArray); + register(1015, parseStringArray); + register(1008, parseStringArray); + register(1009, parseStringArray); + register(1040, parseStringArray); + register(1041, parseStringArray); + register(1115, parseDateArray); + register(1182, parseDateArray); + register(1185, parseDateArray); + register(1186, parseInterval); + register(1187, parseIntervalArray); + register(17, parseByteA); + register(114, JSON.parse.bind(JSON)); + register(3802, JSON.parse.bind(JSON)); + register(199, parseJsonArray); + register(3807, parseJsonArray); + register(3907, parseStringArray); + register(2951, parseStringArray); + register(791, parseStringArray); + register(1183, parseStringArray); + register(1270, parseStringArray); + }, "init"); + module.exports = { + init + }; + } +}); + +// ../../node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js +var require_pg_int8 = __commonJS({ + "../../node_modules/.pnpm/pg-int8@1.0.1/node_modules/pg-int8/index.js"(exports, module) { + "use strict"; + var BASE = 1e6; + function readInt8(buffer) { + var high = buffer.readInt32BE(0); + var low = buffer.readUInt32BE(4); + var sign = ""; + if (high < 0) { + high = ~high + (low === 0); + low = ~low + 1 >>> 0; + sign = "-"; + } + var result = ""; + var carry; + var t; + var digits; + var pad; + var l; + var i; + { + carry = high % BASE; + high = high / BASE >>> 0; + t = 4294967296 * carry + low; + low = t / BASE >>> 0; + digits = "" + (t - BASE * low); + if (low === 0 && high === 0) { + return sign + digits + result; + } + pad = ""; + l = 6 - digits.length; + for (i = 0; i < l; i++) { + pad += "0"; + } + result = pad + digits + result; + } + { + carry = high % BASE; + high = high / BASE >>> 0; + t = 4294967296 * carry + low; + low = t / BASE >>> 0; + digits = "" + (t - BASE * low); + if (low === 0 && high === 0) { + return sign + digits + result; + } + pad = ""; + l = 6 - digits.length; + for (i = 0; i < l; i++) { + pad += "0"; + } + result = pad + digits + result; + } + { + carry = high % BASE; + high = high / BASE >>> 0; + t = 4294967296 * carry + low; + low = t / BASE >>> 0; + digits = "" + (t - BASE * low); + if (low === 0 && high === 0) { + return sign + digits + result; + } + pad = ""; + l = 6 - digits.length; + for (i = 0; i < l; i++) { + pad += "0"; + } + result = pad + digits + result; + } + { + carry = high % BASE; + t = 4294967296 * carry + low; + digits = "" + t % BASE; + return sign + digits + result; + } + } + __name(readInt8, "readInt8"); + module.exports = readInt8; + } +}); + +// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js +var require_binaryParsers = __commonJS({ + "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/binaryParsers.js"(exports, module) { + var parseInt64 = require_pg_int8(); + var parseBits = /* @__PURE__ */ __name(function(data, bits, offset, invert, callback) { + offset = offset || 0; + invert = invert || false; + callback = callback || function(lastValue, newValue, bits2) { + return lastValue * Math.pow(2, bits2) + newValue; + }; + var offsetBytes = offset >> 3; + var inv = /* @__PURE__ */ __name(function(value) { + if (invert) { + return ~value & 255; + } + return value; + }, "inv"); + var mask = 255; + var firstBits = 8 - offset % 8; + if (bits < firstBits) { + mask = 255 << 8 - bits & 255; + firstBits = bits; + } + if (offset) { + mask = mask >> offset % 8; + } + var result = 0; + if (offset % 8 + bits >= 8) { + result = callback(0, inv(data[offsetBytes]) & mask, firstBits); + } + var bytes = bits + offset >> 3; + for (var i = offsetBytes + 1; i < bytes; i++) { + result = callback(result, inv(data[i]), 8); + } + var lastBits = (bits + offset) % 8; + if (lastBits > 0) { + result = callback(result, inv(data[bytes]) >> 8 - lastBits, lastBits); + } + return result; + }, "parseBits"); + var parseFloatFromBits = /* @__PURE__ */ __name(function(data, precisionBits, exponentBits) { + var bias = Math.pow(2, exponentBits - 1) - 1; + var sign = parseBits(data, 1); + var exponent = parseBits(data, exponentBits, 1); + if (exponent === 0) { + return 0; + } + var precisionBitsCounter = 1; + var parsePrecisionBits = /* @__PURE__ */ __name(function(lastValue, newValue, bits) { + if (lastValue === 0) { + lastValue = 1; + } + for (var i = 1; i <= bits; i++) { + precisionBitsCounter /= 2; + if ((newValue & 1 << bits - i) > 0) { + lastValue += precisionBitsCounter; + } + } + return lastValue; + }, "parsePrecisionBits"); + var mantissa = parseBits(data, precisionBits, exponentBits + 1, false, parsePrecisionBits); + if (exponent == Math.pow(2, exponentBits + 1) - 1) { + if (mantissa === 0) { + return sign === 0 ? Infinity : -Infinity; + } + return NaN; + } + return (sign === 0 ? 1 : -1) * Math.pow(2, exponent - bias) * mantissa; + }, "parseFloatFromBits"); + var parseInt16 = /* @__PURE__ */ __name(function(value) { + if (parseBits(value, 1) == 1) { + return -1 * (parseBits(value, 15, 1, true) + 1); + } + return parseBits(value, 15, 1); + }, "parseInt16"); + var parseInt32 = /* @__PURE__ */ __name(function(value) { + if (parseBits(value, 1) == 1) { + return -1 * (parseBits(value, 31, 1, true) + 1); + } + return parseBits(value, 31, 1); + }, "parseInt32"); + var parseFloat32 = /* @__PURE__ */ __name(function(value) { + return parseFloatFromBits(value, 23, 8); + }, "parseFloat32"); + var parseFloat64 = /* @__PURE__ */ __name(function(value) { + return parseFloatFromBits(value, 52, 11); + }, "parseFloat64"); + var parseNumeric = /* @__PURE__ */ __name(function(value) { + var sign = parseBits(value, 16, 32); + if (sign == 49152) { + return NaN; + } + var weight = Math.pow(1e4, parseBits(value, 16, 16)); + var result = 0; + var digits = []; + var ndigits = parseBits(value, 16); + for (var i = 0; i < ndigits; i++) { + result += parseBits(value, 16, 64 + 16 * i) * weight; + weight /= 1e4; + } + var scale = Math.pow(10, parseBits(value, 16, 48)); + return (sign === 0 ? 1 : -1) * Math.round(result * scale) / scale; + }, "parseNumeric"); + var parseDate = /* @__PURE__ */ __name(function(isUTC, value) { + var sign = parseBits(value, 1); + var rawValue = parseBits(value, 63, 1); + var result = new Date((sign === 0 ? 1 : -1) * rawValue / 1e3 + 9466848e5); + if (!isUTC) { + result.setTime(result.getTime() + result.getTimezoneOffset() * 6e4); + } + result.usec = rawValue % 1e3; + result.getMicroSeconds = function() { + return this.usec; + }; + result.setMicroSeconds = function(value2) { + this.usec = value2; + }; + result.getUTCMicroSeconds = function() { + return this.usec; + }; + return result; + }, "parseDate"); + var parseArray = /* @__PURE__ */ __name(function(value) { + var dim = parseBits(value, 32); + var flags = parseBits(value, 32, 32); + var elementType = parseBits(value, 32, 64); + var offset = 96; + var dims = []; + for (var i = 0; i < dim; i++) { + dims[i] = parseBits(value, 32, offset); + offset += 32; + offset += 32; + } + var parseElement = /* @__PURE__ */ __name(function(elementType2) { + var length = parseBits(value, 32, offset); + offset += 32; + if (length == 4294967295) { + return null; + } + var result; + if (elementType2 == 23 || elementType2 == 20) { + result = parseBits(value, length * 8, offset); + offset += length * 8; + return result; + } else if (elementType2 == 25) { + result = value.toString(this.encoding, offset >> 3, (offset += length << 3) >> 3); + return result; + } else { + console.log("ERROR: ElementType not implemented: " + elementType2); + } + }, "parseElement"); + var parse = /* @__PURE__ */ __name(function(dimension, elementType2) { + var array = []; + var i2; + if (dimension.length > 1) { + var count = dimension.shift(); + for (i2 = 0; i2 < count; i2++) { + array[i2] = parse(dimension, elementType2); + } + dimension.unshift(count); + } else { + for (i2 = 0; i2 < dimension[0]; i2++) { + array[i2] = parseElement(elementType2); + } + } + return array; + }, "parse"); + return parse(dims, elementType); + }, "parseArray"); + var parseText = /* @__PURE__ */ __name(function(value) { + return value.toString("utf8"); + }, "parseText"); + var parseBool = /* @__PURE__ */ __name(function(value) { + if (value === null) return null; + return parseBits(value, 8) > 0; + }, "parseBool"); + var init = /* @__PURE__ */ __name(function(register) { + register(20, parseInt64); + register(21, parseInt16); + register(23, parseInt32); + register(26, parseInt32); + register(1700, parseNumeric); + register(700, parseFloat32); + register(701, parseFloat64); + register(16, parseBool); + register(1114, parseDate.bind(null, false)); + register(1184, parseDate.bind(null, true)); + register(1e3, parseArray); + register(1007, parseArray); + register(1016, parseArray); + register(1008, parseArray); + register(1009, parseArray); + register(25, parseText); + }, "init"); + module.exports = { + init + }; + } +}); + +// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js +var require_builtins = __commonJS({ + "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/lib/builtins.js"(exports, module) { + module.exports = { + BOOL: 16, + BYTEA: 17, + CHAR: 18, + INT8: 20, + INT2: 21, + INT4: 23, + REGPROC: 24, + TEXT: 25, + OID: 26, + TID: 27, + XID: 28, + CID: 29, + JSON: 114, + XML: 142, + PG_NODE_TREE: 194, + SMGR: 210, + PATH: 602, + POLYGON: 604, + CIDR: 650, + FLOAT4: 700, + FLOAT8: 701, + ABSTIME: 702, + RELTIME: 703, + TINTERVAL: 704, + CIRCLE: 718, + MACADDR8: 774, + MONEY: 790, + MACADDR: 829, + INET: 869, + ACLITEM: 1033, + BPCHAR: 1042, + VARCHAR: 1043, + DATE: 1082, + TIME: 1083, + TIMESTAMP: 1114, + TIMESTAMPTZ: 1184, + INTERVAL: 1186, + TIMETZ: 1266, + BIT: 1560, + VARBIT: 1562, + NUMERIC: 1700, + REFCURSOR: 1790, + REGPROCEDURE: 2202, + REGOPER: 2203, + REGOPERATOR: 2204, + REGCLASS: 2205, + REGTYPE: 2206, + UUID: 2950, + TXID_SNAPSHOT: 2970, + PG_LSN: 3220, + PG_NDISTINCT: 3361, + PG_DEPENDENCIES: 3402, + TSVECTOR: 3614, + TSQUERY: 3615, + GTSVECTOR: 3642, + REGCONFIG: 3734, + REGDICTIONARY: 3769, + JSONB: 3802, + REGNAMESPACE: 4089, + REGROLE: 4096 + }; + } +}); + +// ../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js +var require_pg_types = __commonJS({ + "../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.js"(exports) { + var textParsers = require_textParsers(); + var binaryParsers = require_binaryParsers(); + var arrayParser = require_arrayParser(); + var builtinTypes = require_builtins(); + exports.getTypeParser = getTypeParser; + exports.setTypeParser = setTypeParser; + exports.arrayParser = arrayParser; + exports.builtins = builtinTypes; + var typeParsers = { + text: {}, + binary: {} + }; + function noParse(val) { + return String(val); + } + __name(noParse, "noParse"); + function getTypeParser(oid, format) { + format = format || "text"; + if (!typeParsers[format]) { + return noParse; + } + return typeParsers[format][oid] || noParse; + } + __name(getTypeParser, "getTypeParser"); + function setTypeParser(oid, format, parseFn) { + if (typeof format == "function") { + parseFn = format; + format = "text"; + } + typeParsers[format][oid] = parseFn; + } + __name(setTypeParser, "setTypeParser"); + textParsers.init(function(oid, converter) { + typeParsers.text[oid] = converter; + }); + binaryParsers.init(function(oid, converter) { + typeParsers.binary[oid] = converter; + }); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/defaults.js +var require_defaults = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/defaults.js"(exports, module) { + "use strict"; + var user; + try { + user = process.platform === "win32" ? process.env.USERNAME : process.env.USER; + } catch { + } + module.exports = { + // database host. defaults to localhost + host: "localhost", + // database user's name + user, + // name of database to connect + database: void 0, + // database user's password + password: null, + // a Postgres connection string to be used instead of setting individual connection items + // NOTE: Setting this value will cause it to override any other value (such as database or user) defined + // in the defaults object. + connectionString: void 0, + // database port + port: 5432, + // number of rows to return at a time from a prepared statement's + // portal. 0 will return all rows at once + rows: 0, + // binary result mode + binary: false, + // Connection pool options - see https://github.com/brianc/node-pg-pool + // number of connections to use in connection pool + // 0 will disable connection pooling + max: 10, + // max milliseconds a client can go unused before it is removed + // from the pool and destroyed + idleTimeoutMillis: 3e4, + client_encoding: "", + ssl: false, + // SSL negotiation style: 'postgres' (traditional SSLRequest) or 'direct' + sslnegotiation: void 0, + application_name: void 0, + fallback_application_name: void 0, + options: void 0, + parseInputDatesAsUTC: false, + // max milliseconds any query using this connection will execute for before timing out in error. + // false=unlimited + statement_timeout: false, + // Abort any statement that waits longer than the specified duration in milliseconds while attempting to acquire a lock. + // false=unlimited + lock_timeout: false, + // Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds + // false=unlimited + idle_in_transaction_session_timeout: false, + // max milliseconds to wait for query to complete (client side) + query_timeout: false, + connect_timeout: 0, + keepalives: 1, + keepalives_idle: 0 + }; + var pgTypes = require_pg_types(); + var parseBigInteger = pgTypes.getTypeParser(20, "text"); + var parseBigIntegerArray = pgTypes.getTypeParser(1016, "text"); + module.exports.__defineSetter__("parseInt8", function(val) { + pgTypes.setTypeParser(20, "text", val ? pgTypes.getTypeParser(23, "text") : parseBigInteger); + pgTypes.setTypeParser(1016, "text", val ? pgTypes.getTypeParser(1007, "text") : parseBigIntegerArray); + }); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/utils.js +var require_utils = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/utils.js"(exports, module) { + "use strict"; + var defaults2 = require_defaults(); + var nodeUtils = __require("util"); + var { isDate } = __require("util/types"); + var invalidDateDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Sending an invalid date to Postgres is deprecated and will throw an error in the next major version of pg. Ensure any Date object passed as a query parameter is valid.", + "PG_INVALID_DATE" + ); + function escapeElement(elementRepresentation) { + const escaped = elementRepresentation.replace(/\\/g, "\\\\").replace(/"/g, '\\"'); + return '"' + escaped + '"'; + } + __name(escapeElement, "escapeElement"); + function arrayString(val) { + let result = "{"; + for (let i = 0; i < val.length; i++) { + if (i > 0) { + result += ","; + } + let item = val[i]; + if (item == null) { + result += "NULL"; + } else if (Array.isArray(item)) { + result += arrayString(item); + } else if (ArrayBuffer.isView(item)) { + if (!(item instanceof Buffer)) { + item = Buffer.from(item.buffer, item.byteOffset, item.byteLength); + } + result += "\\\\x" + item.toString("hex"); + } else { + result += escapeElement(prepareValue(item)); + } + } + result += "}"; + return result; + } + __name(arrayString, "arrayString"); + var prepareValue = /* @__PURE__ */ __name(function(val, seen) { + if (val == null) { + return null; + } + if (typeof val === "object") { + if (val instanceof Buffer) { + return val; + } + if (ArrayBuffer.isView(val)) { + return Buffer.from(val.buffer, val.byteOffset, val.byteLength); + } + if (isDate(val)) { + if (isNaN(val.getTime())) { + invalidDateDeprecationNotice(); + } + if (defaults2.parseInputDatesAsUTC) { + return dateToStringUTC(val); + } else { + return dateToString(val); + } + } + if (Array.isArray(val)) { + return arrayString(val); + } + return prepareObject(val, seen); + } + return val.toString(); + }, "prepareValue"); + function prepareObject(val, seen) { + if (val && typeof val.toPostgres === "function") { + seen = seen || []; + if (seen.indexOf(val) !== -1) { + throw new Error('circular reference detected while preparing "' + val + '" for query'); + } + seen.push(val); + return prepareValue(val.toPostgres(prepareValue), seen); + } + return JSON.stringify(val); + } + __name(prepareObject, "prepareObject"); + function dateToString(date) { + let offset = -date.getTimezoneOffset(); + let year = date.getFullYear(); + const isBCYear = year < 1; + if (isBCYear) year = Math.abs(year) + 1; + let ret = String(year).padStart(4, "0") + "-" + String(date.getMonth() + 1).padStart(2, "0") + "-" + String(date.getDate()).padStart(2, "0") + "T" + String(date.getHours()).padStart(2, "0") + ":" + String(date.getMinutes()).padStart(2, "0") + ":" + String(date.getSeconds()).padStart(2, "0") + "." + String(date.getMilliseconds()).padStart(3, "0"); + if (offset < 0) { + ret += "-"; + offset *= -1; + } else { + ret += "+"; + } + ret += String(Math.floor(offset / 60)).padStart(2, "0") + ":" + String(offset % 60).padStart(2, "0"); + if (isBCYear) ret += " BC"; + return ret; + } + __name(dateToString, "dateToString"); + function dateToStringUTC(date) { + let year = date.getUTCFullYear(); + const isBCYear = year < 1; + if (isBCYear) year = Math.abs(year) + 1; + let ret = String(year).padStart(4, "0") + "-" + String(date.getUTCMonth() + 1).padStart(2, "0") + "-" + String(date.getUTCDate()).padStart(2, "0") + "T" + String(date.getUTCHours()).padStart(2, "0") + ":" + String(date.getUTCMinutes()).padStart(2, "0") + ":" + String(date.getUTCSeconds()).padStart(2, "0") + "." + String(date.getUTCMilliseconds()).padStart(3, "0"); + ret += "+00:00"; + if (isBCYear) ret += " BC"; + return ret; + } + __name(dateToStringUTC, "dateToStringUTC"); + function normalizeQueryConfig(config, values, callback) { + config = typeof config === "string" ? { text: config } : cloneQueryConfig(config); + if (values) { + if (typeof values === "function") { + config.callback = values; + } else { + config.values = values; + } + } + if (callback) { + config.callback = callback; + } + return config; + } + __name(normalizeQueryConfig, "normalizeQueryConfig"); + function cloneQueryConfig(config) { + if (config == null) { + return config; + } + return Object.defineProperties(Object.create(Object.getPrototypeOf(config)), Object.getOwnPropertyDescriptors(config)); + } + __name(cloneQueryConfig, "cloneQueryConfig"); + var escapeIdentifier2 = /* @__PURE__ */ __name(function(str) { + return '"' + str.replace(/"/g, '""') + '"'; + }, "escapeIdentifier"); + var escapeLiteral2 = /* @__PURE__ */ __name(function(str) { + let hasBackslash = false; + let escaped = "'"; + if (str == null) { + return "''"; + } + if (typeof str !== "string") { + return "''"; + } + for (let i = 0; i < str.length; i++) { + const c = str[i]; + if (c === "'") { + escaped += c + c; + } else if (c === "\\") { + escaped += c + c; + hasBackslash = true; + } else { + escaped += c; + } + } + escaped += "'"; + if (hasBackslash === true) { + escaped = " E" + escaped; + } + return escaped; + }, "escapeLiteral"); + module.exports = { + prepareValue: /* @__PURE__ */ __name(function prepareValueWrapper(value) { + return prepareValue(value); + }, "prepareValueWrapper"), + normalizeQueryConfig, + escapeIdentifier: escapeIdentifier2, + escapeLiteral: escapeLiteral2 + }; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/utils.js +var require_utils2 = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/utils.js"(exports, module) { + var nodeCrypto = __require("crypto"); + module.exports = { + postgresMd5PasswordHash, + randomBytes, + deriveKey, + sha256, + hashByName, + hmacSha256, + md5 + }; + var webCrypto = nodeCrypto.webcrypto || globalThis.crypto; + var subtleCrypto = webCrypto.subtle; + var textEncoder = new TextEncoder(); + function randomBytes(length) { + return webCrypto.getRandomValues(Buffer.alloc(length)); + } + __name(randomBytes, "randomBytes"); + async function md5(string) { + try { + return nodeCrypto.createHash("md5").update(string, "utf-8").digest("hex"); + } catch (e) { + const data = typeof string === "string" ? textEncoder.encode(string) : string; + const hash = await subtleCrypto.digest("MD5", data); + return Array.from(new Uint8Array(hash)).map((b) => b.toString(16).padStart(2, "0")).join(""); + } + } + __name(md5, "md5"); + async function postgresMd5PasswordHash(user, password, salt) { + const inner = await md5(password + user); + const outer = await md5(Buffer.concat([Buffer.from(inner), salt])); + return "md5" + outer; + } + __name(postgresMd5PasswordHash, "postgresMd5PasswordHash"); + async function sha256(text) { + return await subtleCrypto.digest("SHA-256", text); + } + __name(sha256, "sha256"); + async function hashByName(hashName, text) { + return await subtleCrypto.digest(hashName, text); + } + __name(hashByName, "hashByName"); + async function hmacSha256(keyBuffer, msg) { + const key = await subtleCrypto.importKey("raw", keyBuffer, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]); + return await subtleCrypto.sign("HMAC", key, textEncoder.encode(msg)); + } + __name(hmacSha256, "hmacSha256"); + async function deriveKey(password, salt, iterations) { + const key = await subtleCrypto.importKey("raw", textEncoder.encode(password), "PBKDF2", false, ["deriveBits"]); + const params = { name: "PBKDF2", hash: "SHA-256", salt, iterations }; + return await subtleCrypto.deriveBits(params, key, 32 * 8, ["deriveBits"]); + } + __name(deriveKey, "deriveKey"); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/cert-signatures.js +var require_cert_signatures = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/cert-signatures.js"(exports, module) { + function x509Error(msg, cert) { + return new Error("SASL channel binding: " + msg + " when parsing public certificate " + cert.toString("base64")); + } + __name(x509Error, "x509Error"); + function readASN1Length(data, index) { + let length = data[index++]; + if (length < 128) return { length, index }; + const lengthBytes = length & 127; + if (lengthBytes > 4) throw x509Error("bad length", data); + length = 0; + for (let i = 0; i < lengthBytes; i++) { + length = length << 8 | data[index++]; + } + return { length, index }; + } + __name(readASN1Length, "readASN1Length"); + function readASN1OID(data, index) { + if (data[index++] !== 6) throw x509Error("non-OID data", data); + const { length: OIDLength, index: indexAfterOIDLength } = readASN1Length(data, index); + index = indexAfterOIDLength; + const lastIndex = index + OIDLength; + const byte1 = data[index++]; + let oid = (byte1 / 40 >> 0) + "." + byte1 % 40; + while (index < lastIndex) { + let value = 0; + while (index < lastIndex) { + const nextByte = data[index++]; + value = value << 7 | nextByte & 127; + if (nextByte < 128) break; + } + oid += "." + value; + } + return { oid, index }; + } + __name(readASN1OID, "readASN1OID"); + function expectASN1Seq(data, index) { + if (data[index++] !== 48) throw x509Error("non-sequence data", data); + return readASN1Length(data, index); + } + __name(expectASN1Seq, "expectASN1Seq"); + function signatureAlgorithmHashFromCertificate(data, index) { + if (index === void 0) index = 0; + index = expectASN1Seq(data, index).index; + const { length: certInfoLength, index: indexAfterCertInfoLength } = expectASN1Seq(data, index); + index = indexAfterCertInfoLength + certInfoLength; + index = expectASN1Seq(data, index).index; + const { oid, index: indexAfterOID } = readASN1OID(data, index); + switch (oid) { + // RSA + case "1.2.840.113549.1.1.4": + return "MD5"; + case "1.2.840.113549.1.1.5": + return "SHA-1"; + case "1.2.840.113549.1.1.11": + return "SHA-256"; + case "1.2.840.113549.1.1.12": + return "SHA-384"; + case "1.2.840.113549.1.1.13": + return "SHA-512"; + case "1.2.840.113549.1.1.14": + return "SHA-224"; + case "1.2.840.113549.1.1.15": + return "SHA512-224"; + case "1.2.840.113549.1.1.16": + return "SHA512-256"; + // ECDSA + case "1.2.840.10045.4.1": + return "SHA-1"; + case "1.2.840.10045.4.3.1": + return "SHA-224"; + case "1.2.840.10045.4.3.2": + return "SHA-256"; + case "1.2.840.10045.4.3.3": + return "SHA-384"; + case "1.2.840.10045.4.3.4": + return "SHA-512"; + // RSASSA-PSS: hash is indicated separately + case "1.2.840.113549.1.1.10": { + index = indexAfterOID; + index = expectASN1Seq(data, index).index; + if (data[index++] !== 160) throw x509Error("non-tag data", data); + index = readASN1Length(data, index).index; + index = expectASN1Seq(data, index).index; + const { oid: hashOID } = readASN1OID(data, index); + switch (hashOID) { + // standalone hash OIDs + case "1.2.840.113549.2.5": + return "MD5"; + case "1.3.14.3.2.26": + return "SHA-1"; + case "2.16.840.1.101.3.4.2.1": + return "SHA-256"; + case "2.16.840.1.101.3.4.2.2": + return "SHA-384"; + case "2.16.840.1.101.3.4.2.3": + return "SHA-512"; + } + throw x509Error("unknown hash OID " + hashOID, data); + } + // Ed25519 -- see https://github.com/openssl/openssl/issues/15477 + case "1.3.101.110": + case "1.3.101.112": + return "SHA-512"; + // Ed448 -- still not in pg 17.2 (if supported, digest would be SHAKE256 x 64 bytes) + case "1.3.101.111": + case "1.3.101.113": + throw x509Error("Ed448 certificate channel binding is not currently supported by Postgres"); + } + throw x509Error("unknown OID " + oid, data); + } + __name(signatureAlgorithmHashFromCertificate, "signatureAlgorithmHashFromCertificate"); + module.exports = { signatureAlgorithmHashFromCertificate }; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/sasl.js +var require_sasl = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/crypto/sasl.js"(exports, module) { + "use strict"; + var crypto = require_utils2(); + var { signatureAlgorithmHashFromCertificate } = require_cert_signatures(); + function saslprep(password) { + const nonAsciiSpace = /[\u00A0\u1680\u2000-\u200B\u202F\u205F\u3000]/g; + const mappedToNothing = /[\u00AD\u034F\u1806\u180B\u180C\u180D\u200C\u200D\u2060\uFE00-\uFE0F\uFEFF]/g; + return password.replace(nonAsciiSpace, " ").replace(mappedToNothing, "").normalize("NFKC"); + } + __name(saslprep, "saslprep"); + var DEFAULT_MAX_SCRAM_ITERATIONS = 1e5; + function startSession(mechanisms, stream, scramMaxIterations = DEFAULT_MAX_SCRAM_ITERATIONS) { + const candidates = ["SCRAM-SHA-256"]; + if (stream) candidates.unshift("SCRAM-SHA-256-PLUS"); + const mechanism = candidates.find((candidate) => mechanisms.includes(candidate)); + if (!mechanism) { + throw new Error("SASL: Only mechanism(s) " + candidates.join(" and ") + " are supported"); + } + if (mechanism === "SCRAM-SHA-256-PLUS" && typeof stream.getPeerCertificate !== "function") { + throw new Error("SASL: Mechanism SCRAM-SHA-256-PLUS requires a certificate"); + } + const clientNonce = crypto.randomBytes(18).toString("base64"); + const gs2Header = mechanism === "SCRAM-SHA-256-PLUS" ? "p=tls-server-end-point" : stream ? "y" : "n"; + return { + mechanism, + clientNonce, + response: gs2Header + ",,n=*,r=" + clientNonce, + message: "SASLInitialResponse", + scramMaxIterations + }; + } + __name(startSession, "startSession"); + async function continueSession(session, password, serverData, stream) { + if (session.message !== "SASLInitialResponse") { + throw new Error("SASL: Last message was not SASLInitialResponse"); + } + if (typeof password !== "string") { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string"); + } + if (password === "") { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a non-empty string"); + } + if (typeof serverData !== "string") { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: serverData must be a string"); + } + const sv = parseServerFirstMessage(serverData); + if (!sv.nonce.startsWith(session.clientNonce)) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce does not start with client nonce"); + } else if (sv.nonce.length === session.clientNonce.length) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: server nonce is too short"); + } + const scramMaxIterations = typeof session.scramMaxIterations === "number" ? session.scramMaxIterations : DEFAULT_MAX_SCRAM_ITERATIONS; + if (scramMaxIterations !== 0 && sv.iteration > scramMaxIterations) { + throw new Error( + "SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration count " + sv.iteration + " exceeds scramMaxIterations of " + scramMaxIterations + ); + } + const clientFirstMessageBare = "n=*,r=" + session.clientNonce; + const serverFirstMessage = "r=" + sv.nonce + ",s=" + sv.salt + ",i=" + sv.iteration; + let channelBinding = stream ? "eSws" : "biws"; + if (session.mechanism === "SCRAM-SHA-256-PLUS") { + const peerCert = stream.getPeerCertificate().raw; + let hashName = signatureAlgorithmHashFromCertificate(peerCert); + if (hashName === "MD5" || hashName === "SHA-1") hashName = "SHA-256"; + const certHash = await crypto.hashByName(hashName, peerCert); + const bindingData = Buffer.concat([Buffer.from("p=tls-server-end-point,,"), Buffer.from(certHash)]); + channelBinding = bindingData.toString("base64"); + } + const clientFinalMessageWithoutProof = "c=" + channelBinding + ",r=" + sv.nonce; + const authMessage = clientFirstMessageBare + "," + serverFirstMessage + "," + clientFinalMessageWithoutProof; + const saltBytes = Buffer.from(sv.salt, "base64"); + const saltedPassword = await crypto.deriveKey(saslprep(password), saltBytes, sv.iteration); + const clientKey = await crypto.hmacSha256(saltedPassword, "Client Key"); + const storedKey = await crypto.sha256(clientKey); + const clientSignature = await crypto.hmacSha256(storedKey, authMessage); + const clientProof = xorBuffers(Buffer.from(clientKey), Buffer.from(clientSignature)).toString("base64"); + const serverKey = await crypto.hmacSha256(saltedPassword, "Server Key"); + const serverSignatureBytes = await crypto.hmacSha256(serverKey, authMessage); + session.message = "SASLResponse"; + session.serverSignature = Buffer.from(serverSignatureBytes).toString("base64"); + session.response = clientFinalMessageWithoutProof + ",p=" + clientProof; + } + __name(continueSession, "continueSession"); + function finalizeSession(session, serverData) { + if (session.message !== "SASLResponse") { + throw new Error("SASL: Last message was not SASLResponse"); + } + if (typeof serverData !== "string") { + throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: serverData must be a string"); + } + const { serverSignature } = parseServerFinalMessage(serverData); + if (serverSignature !== session.serverSignature) { + throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature does not match"); + } + } + __name(finalizeSession, "finalizeSession"); + function isPrintableChars(text) { + if (typeof text !== "string") { + throw new TypeError("SASL: text must be a string"); + } + return text.split("").map((_, i) => text.charCodeAt(i)).every((c) => c >= 33 && c <= 43 || c >= 45 && c <= 126); + } + __name(isPrintableChars, "isPrintableChars"); + function isBase64(text) { + return /^(?:[a-zA-Z0-9+/]{4})*(?:[a-zA-Z0-9+/]{2}==|[a-zA-Z0-9+/]{3}=)?$/.test(text); + } + __name(isBase64, "isBase64"); + function parseAttributePairs(text) { + if (typeof text !== "string") { + throw new TypeError("SASL: attribute pairs text must be a string"); + } + return new Map( + text.split(",").map((attrValue) => { + if (!/^.=/.test(attrValue)) { + throw new Error("SASL: Invalid attribute pair entry"); + } + const name = attrValue[0]; + const value = attrValue.substring(2); + return [name, value]; + }) + ); + } + __name(parseAttributePairs, "parseAttributePairs"); + function parseServerFirstMessage(data) { + const attrPairs = parseAttributePairs(data); + const nonce = attrPairs.get("r"); + if (!nonce) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce missing"); + } else if (!isPrintableChars(nonce)) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: nonce must only contain printable characters"); + } + const salt = attrPairs.get("s"); + if (!salt) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: salt missing"); + } else if (!isBase64(salt)) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: salt must be base64"); + } + const iterationText = attrPairs.get("i"); + if (!iterationText) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: iteration missing"); + } else if (!/^[1-9][0-9]*$/.test(iterationText)) { + throw new Error("SASL: SCRAM-SERVER-FIRST-MESSAGE: invalid iteration count"); + } + const iteration = parseInt(iterationText, 10); + return { + nonce, + salt, + iteration + }; + } + __name(parseServerFirstMessage, "parseServerFirstMessage"); + function parseServerFinalMessage(serverData) { + const attrPairs = parseAttributePairs(serverData); + const error = attrPairs.get("e"); + const serverSignature = attrPairs.get("v"); + if (error) { + throw new Error(`SASL: SCRAM-SERVER-FINAL-MESSAGE: server returned error: "${error}"`); + } + if (!serverSignature) { + throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature is missing"); + } else if (!isBase64(serverSignature)) { + throw new Error("SASL: SCRAM-SERVER-FINAL-MESSAGE: server signature must be base64"); + } + return { + serverSignature + }; + } + __name(parseServerFinalMessage, "parseServerFinalMessage"); + function xorBuffers(a, b) { + if (!Buffer.isBuffer(a)) { + throw new TypeError("first argument must be a Buffer"); + } + if (!Buffer.isBuffer(b)) { + throw new TypeError("second argument must be a Buffer"); + } + if (a.length !== b.length) { + throw new Error("Buffer lengths must match"); + } + if (a.length === 0) { + throw new Error("Buffers cannot be empty"); + } + return Buffer.from(a.map((_, i) => a[i] ^ b[i])); + } + __name(xorBuffers, "xorBuffers"); + module.exports = { + startSession, + continueSession, + finalizeSession, + DEFAULT_MAX_SCRAM_ITERATIONS + }; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/type-overrides.js +var require_type_overrides = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/type-overrides.js"(exports, module) { + "use strict"; + var types2 = require_pg_types(); + function TypeOverrides2(userTypes) { + this._types = userTypes || types2; + this.text = {}; + this.binary = {}; + } + __name(TypeOverrides2, "TypeOverrides"); + TypeOverrides2.prototype.getOverrides = function(format) { + switch (format) { + case "text": + return this.text; + case "binary": + return this.binary; + default: + return {}; + } + }; + TypeOverrides2.prototype.setTypeParser = function(oid, format, parseFn) { + if (typeof format === "function") { + parseFn = format; + format = "text"; + } + this.getOverrides(format)[oid] = parseFn; + }; + TypeOverrides2.prototype.getTypeParser = function(oid, format) { + format = format || "text"; + return this.getOverrides(format)[oid] || this._types.getTypeParser(oid, format); + }; + module.exports = TypeOverrides2; + } +}); + +// ../../node_modules/.pnpm/pg-connection-string@2.14.1/node_modules/pg-connection-string/index.js +var require_pg_connection_string = __commonJS({ + "../../node_modules/.pnpm/pg-connection-string@2.14.1/node_modules/pg-connection-string/index.js"(exports, module) { + "use strict"; + function parse(str, options = {}) { + if (str.charAt(0) === "/") { + const config2 = str.split(" "); + return { host: config2[0], database: config2[1] }; + } + const config = /* @__PURE__ */ Object.create(null); + let result; + let dummyHost = false; + if (/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str)) { + str = encodeURI(str).replace(/%25(\d\d)/g, "%$1"); + } + try { + try { + result = new URL(str, "postgres://base"); + } catch (e) { + result = new URL(str.replace("@/", "@___DUMMY___/"), "postgres://base"); + dummyHost = true; + } + } catch (err) { + err.input && (err.input = "*****REDACTED*****"); + throw err; + } + for (const entry of result.searchParams.entries()) { + config[entry[0]] = entry[1]; + } + config.user = config.user || decodeURIComponent(result.username); + config.password = config.password || decodeURIComponent(result.password); + if (result.protocol == "socket:") { + config.host = decodeURI(result.pathname); + config.database = result.searchParams.get("db"); + config.client_encoding = result.searchParams.get("encoding"); + return config; + } + const hostname = (dummyHost ? "" : result.hostname).replace(/^\[(.+)\]$/, "$1"); + if (!config.host) { + config.host = decodeURIComponent(hostname); + } else if (hostname && /^%2f/i.test(hostname)) { + result.pathname = hostname + result.pathname; + } + if (!config.port) { + config.port = result.port; + } + const pathname = result.pathname.slice(1) || null; + config.database = pathname ? decodeURI(pathname) : null; + if (config.ssl === "true" || config.ssl === "1") { + config.ssl = true; + } + if (config.ssl === "0") { + config.ssl = false; + } + if (config.sslcert || config.sslkey || config.sslrootcert || config.sslmode) { + config.ssl = {}; + } + if (config.sslnegotiation === "direct" && config.ssl === void 0) { + config.ssl = true; + } + const fs = config.sslcert || config.sslkey || config.sslrootcert ? __require("fs") : null; + if (config.sslcert) { + config.ssl.cert = fs.readFileSync(config.sslcert).toString(); + } + if (config.sslkey) { + config.ssl.key = fs.readFileSync(config.sslkey).toString(); + } + if (config.sslrootcert) { + config.ssl.ca = fs.readFileSync(config.sslrootcert).toString(); + } + if (options.useLibpqCompat && config.uselibpqcompat) { + throw new Error("Both useLibpqCompat and uselibpqcompat are set. Please use only one of them."); + } + if (config.uselibpqcompat === "true" || options.useLibpqCompat) { + switch (config.sslmode) { + case "disable": { + config.ssl = false; + break; + } + case "prefer": { + config.ssl.rejectUnauthorized = false; + break; + } + case "require": { + if (config.sslrootcert) { + config.ssl.checkServerIdentity = function() { + }; + } else { + config.ssl.rejectUnauthorized = false; + } + break; + } + case "verify-ca": { + if (!config.ssl.ca) { + throw new Error( + "SECURITY WARNING: Using sslmode=verify-ca requires specifying a CA with sslrootcert. If a public CA is used, verify-ca allows connections to a server that somebody else may have registered with the CA, making you vulnerable to Man-in-the-Middle attacks. Either specify a custom CA certificate with sslrootcert parameter or use sslmode=verify-full for proper security." + ); + } + config.ssl.checkServerIdentity = function() { + }; + break; + } + case "verify-full": { + break; + } + } + } else { + switch (config.sslmode) { + case "disable": { + config.ssl = false; + break; + } + case "prefer": + case "require": + case "verify-ca": + case "verify-full": { + if (config.sslmode !== "verify-full") { + deprecatedSslModeWarning(config.sslmode); + } + break; + } + case "no-verify": { + config.ssl.rejectUnauthorized = false; + break; + } + } + } + return config; + } + __name(parse, "parse"); + function toConnectionOptions(sslConfig) { + const connectionOptions = Object.entries(sslConfig).reduce((c, [key, value]) => { + if (value !== void 0 && value !== null) { + c[key] = value; + } + return c; + }, /* @__PURE__ */ Object.create(null)); + return connectionOptions; + } + __name(toConnectionOptions, "toConnectionOptions"); + function toClientConfig(config) { + const poolConfig = Object.entries(config).reduce((c, [key, value]) => { + if (key === "ssl") { + const sslConfig = value; + if (typeof sslConfig === "boolean") { + c[key] = sslConfig; + } + if (typeof sslConfig === "object") { + c[key] = toConnectionOptions(sslConfig); + } + } else if (value !== void 0 && value !== null) { + if (key === "port") { + if (value !== "") { + const v = parseInt(value, 10); + if (isNaN(v)) { + throw new Error(`Invalid ${key}: ${value}`); + } + c[key] = v; + } + } else { + c[key] = value; + } + } + return c; + }, /* @__PURE__ */ Object.create(null)); + return poolConfig; + } + __name(toClientConfig, "toClientConfig"); + function parseIntoClientConfig(str) { + return toClientConfig(parse(str)); + } + __name(parseIntoClientConfig, "parseIntoClientConfig"); + function deprecatedSslModeWarning(sslmode) { + if (!deprecatedSslModeWarning.warned && typeof process !== "undefined" && process.emitWarning) { + deprecatedSslModeWarning.warned = true; + process.emitWarning(`SECURITY WARNING: The SSL modes 'prefer', 'require', and 'verify-ca' are treated as aliases for 'verify-full'. +In the next major version (pg-connection-string v3.0.0 and pg v9.0.0), these modes will adopt standard libpq semantics, which have weaker security guarantees. + +To prepare for this change: +- If you want the current behavior, explicitly use 'sslmode=verify-full' +- If you want libpq compatibility now, use 'uselibpqcompat=true&sslmode=${sslmode}' + +See https://www.postgresql.org/docs/current/libpq-ssl.html for libpq SSL mode definitions.`); + } + } + __name(deprecatedSslModeWarning, "deprecatedSslModeWarning"); + module.exports = parse; + parse.parse = parse; + parse.toClientConfig = toClientConfig; + parse.parseIntoClientConfig = parseIntoClientConfig; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection-parameters.js +var require_connection_parameters = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection-parameters.js"(exports, module) { + "use strict"; + var dns = __require("dns"); + var defaults2 = require_defaults(); + var parse = require_pg_connection_string().parse; + var val = /* @__PURE__ */ __name(function(key, config, envVar) { + if (config[key]) { + return config[key]; + } + if (envVar === void 0) { + envVar = process.env["PG" + key.toUpperCase()]; + } else if (envVar === false) { + } else { + envVar = process.env[envVar]; + } + return envVar || defaults2[key]; + }, "val"); + var readSSLConfigFromEnvironment = /* @__PURE__ */ __name(function() { + switch (process.env.PGSSLMODE) { + case "disable": + return false; + case "prefer": + case "require": + case "verify-ca": + case "verify-full": + return true; + case "no-verify": + return { rejectUnauthorized: false }; + } + return defaults2.ssl; + }, "readSSLConfigFromEnvironment"); + var quoteParamValue = /* @__PURE__ */ __name(function(value) { + return "'" + ("" + value).replace(/\\/g, "\\\\").replace(/'/g, "\\'") + "'"; + }, "quoteParamValue"); + var add = /* @__PURE__ */ __name(function(params, config, paramName) { + const value = config[paramName]; + if (value !== void 0 && value !== null) { + params.push(paramName + "=" + quoteParamValue(value)); + } + }, "add"); + var ConnectionParameters = class { + static { + __name(this, "ConnectionParameters"); + } + constructor(config) { + config = typeof config === "string" ? parse(config) : config || {}; + if (config.connectionString) { + config = Object.assign({}, config, parse(config.connectionString)); + } + this.user = val("user", config); + this.database = val("database", config); + if (this.database === void 0) { + this.database = this.user; + } + this.port = parseInt(val("port", config), 10); + this.host = val("host", config); + Object.defineProperty(this, "password", { + configurable: true, + enumerable: false, + writable: true, + value: val("password", config) + }); + this.binary = val("binary", config); + this.options = val("options", config); + this.ssl = typeof config.ssl === "undefined" ? readSSLConfigFromEnvironment() : config.ssl; + if (typeof this.ssl === "string") { + if (this.ssl === "true") { + this.ssl = true; + } + } + if (this.ssl === "no-verify") { + this.ssl = { rejectUnauthorized: false }; + } + if (this.ssl && this.ssl.key) { + Object.defineProperty(this.ssl, "key", { + enumerable: false + }); + } + this.sslnegotiation = val("sslnegotiation", config, "PGSSLNEGOTIATION"); + if (this.sslnegotiation !== void 0 && this.sslnegotiation !== "postgres" && this.sslnegotiation !== "direct") { + throw new Error( + `Invalid sslnegotiation value: "${this.sslnegotiation}". Valid values are "postgres" and "direct".` + ); + } + if (this.sslnegotiation === "direct" && !this.ssl) { + throw new Error("sslnegotiation=direct requires SSL to be enabled"); + } + this.client_encoding = val("client_encoding", config); + this.replication = val("replication", config); + this.isDomainSocket = !(this.host || "").indexOf("/"); + this.application_name = val("application_name", config, "PGAPPNAME"); + this.fallback_application_name = val("fallback_application_name", config, false); + this.statement_timeout = val("statement_timeout", config, false); + this.lock_timeout = val("lock_timeout", config, false); + this.idle_in_transaction_session_timeout = val("idle_in_transaction_session_timeout", config, false); + this.query_timeout = val("query_timeout", config, false); + if (config.connectionTimeoutMillis === void 0) { + this.connect_timeout = process.env.PGCONNECT_TIMEOUT || 0; + } else { + this.connect_timeout = Math.floor(config.connectionTimeoutMillis / 1e3); + } + if (config.keepAlive === false) { + this.keepalives = 0; + } else if (config.keepAlive === true) { + this.keepalives = 1; + } + if (typeof config.keepAliveInitialDelayMillis === "number") { + this.keepalives_idle = Math.floor(config.keepAliveInitialDelayMillis / 1e3); + } + } + getLibpqConnectionString(cb) { + const params = []; + add(params, this, "user"); + add(params, this, "password"); + add(params, this, "port"); + add(params, this, "application_name"); + add(params, this, "fallback_application_name"); + add(params, this, "connect_timeout"); + add(params, this, "options"); + const ssl = typeof this.ssl === "object" ? this.ssl : this.ssl ? { sslmode: this.ssl } : {}; + add(params, ssl, "sslmode"); + add(params, ssl, "sslca"); + add(params, ssl, "sslkey"); + add(params, ssl, "sslcert"); + add(params, ssl, "sslrootcert"); + add(params, this, "sslnegotiation"); + if (this.database) { + params.push("dbname=" + quoteParamValue(this.database)); + } + if (this.replication) { + params.push("replication=" + quoteParamValue(this.replication)); + } + if (this.host) { + params.push("host=" + quoteParamValue(this.host)); + } + if (this.isDomainSocket) { + return cb(null, params.join(" ")); + } + if (this.client_encoding) { + params.push("client_encoding=" + quoteParamValue(this.client_encoding)); + } + dns.lookup(this.host, function(err, address) { + if (err) return cb(err, null); + params.push("hostaddr=" + quoteParamValue(address)); + return cb(null, params.join(" ")); + }); + } + }; + module.exports = ConnectionParameters; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/result.js +var require_result = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/result.js"(exports, module) { + "use strict"; + var types2 = require_pg_types(); + var matchRegexp = /^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/; + var Result2 = class { + static { + __name(this, "Result"); + } + constructor(rowMode, types3) { + this.command = null; + this.rowCount = null; + this.oid = null; + this.rows = []; + this.fields = []; + this._parsers = void 0; + this._types = types3; + this.RowCtor = null; + this.rowAsArray = rowMode === "array"; + if (this.rowAsArray) { + this.parseRow = this._parseRowAsArray; + } + this._prebuiltEmptyResultObject = null; + } + // adds a command complete message + addCommandComplete(msg) { + let match; + if (msg.text) { + match = matchRegexp.exec(msg.text); + } else { + match = matchRegexp.exec(msg.command); + } + if (match) { + this.command = match[1]; + if (match[3]) { + this.oid = parseInt(match[2], 10); + this.rowCount = parseInt(match[3], 10); + } else if (match[2]) { + this.rowCount = parseInt(match[2], 10); + } + } + } + _parseRowAsArray(rowData) { + const row = new Array(rowData.length); + for (let i = 0, len = rowData.length; i < len; i++) { + const rawValue = rowData[i]; + if (rawValue !== null) { + row[i] = this._parsers[i](rawValue); + } else { + row[i] = null; + } + } + return row; + } + parseRow(rowData) { + const row = { ...this._prebuiltEmptyResultObject }; + for (let i = 0, len = rowData.length; i < len; i++) { + const rawValue = rowData[i]; + const field = this.fields[i].name; + if (rawValue !== null) { + const v = this.fields[i].format === "binary" ? Buffer.from(rawValue) : rawValue; + row[field] = this._parsers[i](v); + } else { + row[field] = null; + } + } + return row; + } + addRow(row) { + this.rows.push(row); + } + addFields(fieldDescriptions) { + this.fields = fieldDescriptions; + if (this.fields.length) { + this._parsers = new Array(fieldDescriptions.length); + } + const row = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < fieldDescriptions.length; i++) { + const desc = fieldDescriptions[i]; + row[desc.name] = null; + if (this._types) { + this._parsers[i] = this._types.getTypeParser(desc.dataTypeID, desc.format || "text"); + } else { + this._parsers[i] = types2.getTypeParser(desc.dataTypeID, desc.format || "text"); + } + } + this._prebuiltEmptyResultObject = { ...row }; + } + }; + module.exports = Result2; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/query.js +var require_query = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/query.js"(exports, module) { + "use strict"; + var { EventEmitter } = __require("events"); + var Result2 = require_result(); + var utils = require_utils(); + var Query2 = class extends EventEmitter { + static { + __name(this, "Query"); + } + constructor(config, values, callback) { + super(); + config = utils.normalizeQueryConfig(config, values, callback); + this.text = config.text; + this.values = config.values; + this.rows = config.rows; + this.types = config.types; + this.name = config.name; + this.queryMode = config.queryMode; + this.binary = config.binary; + this.portal = config.portal || ""; + this.callback = config.callback; + this._rowMode = config.rowMode; + if (process.domain && config.callback) { + this.callback = process.domain.bind(config.callback); + } + this._result = new Result2(this._rowMode, this.types); + this._results = this._result; + this._canceledDueToError = false; + } + requiresPreparation() { + if (this.queryMode === "extended") { + return true; + } + if (this.name) { + return true; + } + if (this.rows) { + return true; + } + if (!this.text) { + return false; + } + if (!this.values) { + return false; + } + return this.values.length > 0; + } + _checkForMultirow() { + if (this._result.command) { + if (!Array.isArray(this._results)) { + this._results = [this._result]; + } + this._result = new Result2(this._rowMode, this._result._types); + this._results.push(this._result); + } + } + // associates row metadata from the supplied + // message with this query object + // metadata used when parsing row results + handleRowDescription(msg) { + this._checkForMultirow(); + this._result.addFields(msg.fields); + this._accumulateRows = this.callback || !this.listeners("row").length; + } + handleDataRow(msg) { + let row; + if (this._canceledDueToError) { + return; + } + try { + row = this._result.parseRow(msg.fields); + } catch (err) { + this._canceledDueToError = err; + return; + } + this.emit("row", row, this._result); + if (this._accumulateRows) { + this._result.addRow(row); + } + } + handleCommandComplete(msg, connection) { + this._checkForMultirow(); + this._result.addCommandComplete(msg); + if (this.rows) { + connection.sync(); + } + } + // if a named prepared statement is created with empty query text + // the backend will send an emptyQuery message but *not* a command complete message + // since we pipeline sync immediately after execute we don't need to do anything here + // unless we have rows specified, in which case we did not pipeline the initial sync call + handleEmptyQuery(connection) { + if (this.rows) { + connection.sync(); + } + } + handleError(err, connection) { + if (this._canceledDueToError) { + err = this._canceledDueToError; + this._canceledDueToError = false; + } + if (this.callback) { + return this.callback(err); + } + this.emit("error", err); + } + handleReadyForQuery(con) { + if (this._canceledDueToError) { + return this.handleError(this._canceledDueToError, con); + } + if (this.callback) { + try { + this.callback(null, this._results); + } catch (err) { + process.nextTick(() => { + throw err; + }); + } + } + this.emit("end", this._results); + } + submit(connection) { + if (typeof this.text !== "string" && typeof this.name !== "string") { + return new Error("A query must have either text or a name. Supplying neither is unsupported."); + } + const previous = connection.parsedStatements[this.name] || connection.submittedNamedStatements[this.name]; + if (this.text && previous && this.text !== previous) { + return new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`); + } + if (this.values && !Array.isArray(this.values)) { + return new Error("Query values must be an array"); + } + if (this.requiresPreparation()) { + connection.stream.cork && connection.stream.cork(); + try { + this.prepare(connection); + } finally { + connection.stream.uncork && connection.stream.uncork(); + } + } else { + connection.query(this.text); + } + return null; + } + hasBeenParsed(connection) { + return this.name && (connection.parsedStatements[this.name] !== void 0 || connection.submittedNamedStatements[this.name] !== void 0); + } + handlePortalSuspended(connection) { + this._getRows(connection, this.rows); + } + _getRows(connection, rows) { + connection.execute({ + portal: this.portal, + rows + }); + if (!rows) { + connection.sync(); + } else { + connection.flush(); + } + } + // http://developer.postgresql.org/pgdocs/postgres/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY + prepare(connection) { + if (!this.hasBeenParsed(connection)) { + connection.parse({ + text: this.text, + name: this.name, + types: this.types + }); + if (this.name) { + connection.submittedNamedStatements[this.name] = this.text; + } + } + try { + connection.bind({ + portal: this.portal, + statement: this.name, + values: this.values, + binary: this.binary, + valueMapper: utils.prepareValue + }); + } catch (err) { + connection.close({ type: "S", name: this.name }); + connection.sync(); + this.handleError(err, connection); + return; + } + connection.describe({ + type: "P", + name: this.portal || "" + }); + this._getRows(connection, this.rows); + } + handleCopyInResponse(connection) { + connection.sendCopyFail("No source stream defined"); + } + handleCopyData(msg, connection) { + } + }; + module.exports = Query2; + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/messages.js +var require_messages = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/messages.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.NoticeMessage = exports.DataRowMessage = exports.CommandCompleteMessage = exports.ReadyForQueryMessage = exports.NotificationResponseMessage = exports.BackendKeyDataMessage = exports.AuthenticationMD5Password = exports.ParameterStatusMessage = exports.ParameterDescriptionMessage = exports.RowDescriptionMessage = exports.Field = exports.CopyResponse = exports.CopyDataMessage = exports.DatabaseError = exports.copyDone = exports.emptyQuery = exports.replicationStart = exports.portalSuspended = exports.noData = exports.closeComplete = exports.bindComplete = exports.parseComplete = void 0; + exports.parseComplete = { + name: "parseComplete", + length: 5 + }; + exports.bindComplete = { + name: "bindComplete", + length: 5 + }; + exports.closeComplete = { + name: "closeComplete", + length: 5 + }; + exports.noData = { + name: "noData", + length: 5 + }; + exports.portalSuspended = { + name: "portalSuspended", + length: 5 + }; + exports.replicationStart = { + name: "replicationStart", + length: 4 + }; + exports.emptyQuery = { + name: "emptyQuery", + length: 4 + }; + exports.copyDone = { + name: "copyDone", + length: 4 + }; + var DatabaseError2 = class extends Error { + static { + __name(this, "DatabaseError"); + } + constructor(message, length, name) { + super(message); + this.length = length; + this.name = name; + } + }; + exports.DatabaseError = DatabaseError2; + var CopyDataMessage = class { + static { + __name(this, "CopyDataMessage"); + } + constructor(length, chunk) { + this.length = length; + this.chunk = chunk; + this.name = "copyData"; + } + }; + exports.CopyDataMessage = CopyDataMessage; + var CopyResponse = class { + static { + __name(this, "CopyResponse"); + } + constructor(length, name, binary, columnCount) { + this.length = length; + this.name = name; + this.binary = binary; + this.columnTypes = new Array(columnCount); + } + }; + exports.CopyResponse = CopyResponse; + var Field = class { + static { + __name(this, "Field"); + } + constructor(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, format) { + this.name = name; + this.tableID = tableID; + this.columnID = columnID; + this.dataTypeID = dataTypeID; + this.dataTypeSize = dataTypeSize; + this.dataTypeModifier = dataTypeModifier; + this.format = format; + } + }; + exports.Field = Field; + var RowDescriptionMessage = class { + static { + __name(this, "RowDescriptionMessage"); + } + constructor(length, fieldCount) { + this.length = length; + this.fieldCount = fieldCount; + this.name = "rowDescription"; + this.fields = new Array(this.fieldCount); + } + }; + exports.RowDescriptionMessage = RowDescriptionMessage; + var ParameterDescriptionMessage = class { + static { + __name(this, "ParameterDescriptionMessage"); + } + constructor(length, parameterCount) { + this.length = length; + this.parameterCount = parameterCount; + this.name = "parameterDescription"; + this.dataTypeIDs = new Array(this.parameterCount); + } + }; + exports.ParameterDescriptionMessage = ParameterDescriptionMessage; + var ParameterStatusMessage = class { + static { + __name(this, "ParameterStatusMessage"); + } + constructor(length, parameterName, parameterValue) { + this.length = length; + this.parameterName = parameterName; + this.parameterValue = parameterValue; + this.name = "parameterStatus"; + } + }; + exports.ParameterStatusMessage = ParameterStatusMessage; + var AuthenticationMD5Password = class { + static { + __name(this, "AuthenticationMD5Password"); + } + constructor(length, salt) { + this.length = length; + this.salt = salt; + this.name = "authenticationMD5Password"; + } + }; + exports.AuthenticationMD5Password = AuthenticationMD5Password; + var BackendKeyDataMessage = class { + static { + __name(this, "BackendKeyDataMessage"); + } + constructor(length, processID, secretKey) { + this.length = length; + this.processID = processID; + this.secretKey = secretKey; + this.name = "backendKeyData"; + } + }; + exports.BackendKeyDataMessage = BackendKeyDataMessage; + var NotificationResponseMessage = class { + static { + __name(this, "NotificationResponseMessage"); + } + constructor(length, processId, channel, payload) { + this.length = length; + this.processId = processId; + this.channel = channel; + this.payload = payload; + this.name = "notification"; + } + }; + exports.NotificationResponseMessage = NotificationResponseMessage; + var ReadyForQueryMessage = class { + static { + __name(this, "ReadyForQueryMessage"); + } + constructor(length, status) { + this.length = length; + this.status = status; + this.name = "readyForQuery"; + } + }; + exports.ReadyForQueryMessage = ReadyForQueryMessage; + var CommandCompleteMessage = class { + static { + __name(this, "CommandCompleteMessage"); + } + constructor(length, text) { + this.length = length; + this.text = text; + this.name = "commandComplete"; + } + }; + exports.CommandCompleteMessage = CommandCompleteMessage; + var DataRowMessage = class { + static { + __name(this, "DataRowMessage"); + } + constructor(length, fields) { + this.length = length; + this.fields = fields; + this.name = "dataRow"; + this.fieldCount = fields.length; + } + }; + exports.DataRowMessage = DataRowMessage; + var NoticeMessage = class { + static { + __name(this, "NoticeMessage"); + } + constructor(length, message) { + this.length = length; + this.message = message; + this.name = "notice"; + } + }; + exports.NoticeMessage = NoticeMessage; + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-writer.js +var require_buffer_writer = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-writer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Writer = void 0; + var Writer = class { + static { + __name(this, "Writer"); + } + constructor(size = 256) { + this.size = size; + this.offset = 5; + this.headerPosition = 0; + this.buffer = Buffer.allocUnsafe(size); + } + ensure(size) { + const remaining = this.buffer.length - this.offset; + if (remaining < size) { + const oldBuffer = this.buffer; + const newSize = oldBuffer.length + (oldBuffer.length >> 1) + size; + this.buffer = Buffer.allocUnsafe(newSize); + oldBuffer.copy(this.buffer, 0, 0, this.offset); + } + } + addInt32(num) { + this.ensure(4); + this.buffer[this.offset++] = num >>> 24 & 255; + this.buffer[this.offset++] = num >>> 16 & 255; + this.buffer[this.offset++] = num >>> 8 & 255; + this.buffer[this.offset++] = num >>> 0 & 255; + return this; + } + addInt16(num) { + this.ensure(2); + this.buffer[this.offset++] = num >>> 8 & 255; + this.buffer[this.offset++] = num >>> 0 & 255; + return this; + } + addCString(string) { + if (!string) { + this.ensure(1); + } else { + const len = Buffer.byteLength(string); + this.ensure(len + 1); + this.buffer.write(string, this.offset, "utf-8"); + this.offset += len; + } + this.buffer[this.offset++] = 0; + return this; + } + addString(string = "") { + const len = Buffer.byteLength(string); + this.ensure(len); + this.buffer.write(string, this.offset); + this.offset += len; + return this; + } + // Write an Int32 byte-length prefix immediately followed by the string's UTF-8 + // bytes. Postgres' Bind wire format prefixes every parameter with its length, + // and doing it in one method computes Buffer.byteLength ONCE — the previous + // `addInt32(Buffer.byteLength(s)).addString(s)` pairing scanned the string + // three times (byteLength for the prefix, byteLength again inside addString, + // then the encode), which is costly for large text parameters. + addInt32PrefixedString(string) { + const len = Buffer.byteLength(string); + this.ensure(4 + len); + const buffer = this.buffer; + let offset = this.offset; + buffer[offset++] = len >>> 24 & 255; + buffer[offset++] = len >>> 16 & 255; + buffer[offset++] = len >>> 8 & 255; + buffer[offset++] = len >>> 0 & 255; + buffer.write(string, offset, "utf-8"); + this.offset = offset + len; + return this; + } + add(otherBuffer) { + this.ensure(otherBuffer.length); + otherBuffer.copy(this.buffer, this.offset); + this.offset += otherBuffer.length; + return this; + } + /** + * Appends an uninitialized block of {@link size} bytes to the buffer and returns its offset. + */ + reserveUnsafe(size) { + const offset = this.offset; + this.ensure(size); + this.offset += size; + return offset; + } + join(code) { + if (code) { + this.buffer[this.headerPosition] = code; + const length = this.offset - (this.headerPosition + 1); + this.buffer.writeInt32BE(length, this.headerPosition + 1); + } + return this.buffer.slice(code ? 0 : 5, this.offset); + } + flush(code) { + const result = this.join(code); + this.offset = 5; + this.headerPosition = 0; + this.buffer = Buffer.allocUnsafe(this.size); + return result; + } + clear() { + this.offset = 5; + this.headerPosition = 0; + } + }; + exports.Writer = Writer; + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/serializer.js +var require_serializer = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/serializer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.serialize = void 0; + var buffer_writer_1 = require_buffer_writer(); + var writer = new buffer_writer_1.Writer(); + var startup = /* @__PURE__ */ __name((opts) => { + writer.addInt16(3).addInt16(0); + for (const key of Object.keys(opts)) { + writer.addCString(key).addCString(opts[key]); + } + writer.addCString("client_encoding").addCString("UTF8"); + const bodyBuffer = writer.addCString("").flush(); + const length = bodyBuffer.length + 4; + return new buffer_writer_1.Writer().addInt32(length).add(bodyBuffer).flush(); + }, "startup"); + var requestSsl = /* @__PURE__ */ __name(() => { + const response = Buffer.allocUnsafe(8); + response.writeInt32BE(8, 0); + response.writeInt32BE(80877103, 4); + return response; + }, "requestSsl"); + var password = /* @__PURE__ */ __name((password2) => { + return writer.addCString(password2).flush( + 112 + /* code.startup */ + ); + }, "password"); + var sendSASLInitialResponseMessage = /* @__PURE__ */ __name(function(mechanism, initialResponse) { + writer.addCString(mechanism).addInt32PrefixedString(initialResponse); + return writer.flush( + 112 + /* code.startup */ + ); + }, "sendSASLInitialResponseMessage"); + var sendSCRAMClientFinalMessage = /* @__PURE__ */ __name(function(additionalData) { + return writer.addString(additionalData).flush( + 112 + /* code.startup */ + ); + }, "sendSCRAMClientFinalMessage"); + var query = /* @__PURE__ */ __name((text) => { + return writer.addCString(text).flush( + 81 + /* code.query */ + ); + }, "query"); + var emptyArray = []; + var parse = /* @__PURE__ */ __name((query2) => { + const name = query2.name || ""; + if (name.length > 63) { + console.error("Warning! Postgres only supports 63 characters for query names."); + console.error("You supplied %s (%s)", name, name.length); + console.error("This can cause conflicts and silent errors executing queries"); + } + const types2 = query2.types || emptyArray; + const len = types2.length; + const buffer = writer.addCString(name).addCString(query2.text).addInt16(len); + for (let i = 0; i < len; i++) { + buffer.addInt32(types2[i]); + } + return writer.flush( + 80 + /* code.parse */ + ); + }, "parse"); + var writeValues = /* @__PURE__ */ __name(function(values, valueMapper, formatsOffset) { + const len = values.length; + for (let i = 0; i < len; i++) { + const mappedVal = valueMapper ? valueMapper(values[i], i) : values[i]; + let formatByte = 0; + if (mappedVal == null) { + writer.addInt32(-1); + } else if (mappedVal instanceof Buffer) { + formatByte = 1; + writer.addInt32(mappedVal.length); + writer.add(mappedVal); + } else { + writer.addInt32PrefixedString(mappedVal); + } + const buf = writer.buffer; + buf[formatsOffset++] = 0; + buf[formatsOffset++] = formatByte; + } + }, "writeValues"); + var bind = /* @__PURE__ */ __name((config = {}) => { + const portal = config.portal || ""; + const statement = config.statement || ""; + const binary = config.binary || false; + const values = config.values || emptyArray; + const len = values.length; + writer.addCString(portal).addCString(statement); + writer.addInt16(len); + const formatsOffset = writer.reserveUnsafe(len * 2); + writer.addInt16(len); + try { + writeValues(values, config.valueMapper, formatsOffset); + } catch (err) { + writer.clear(); + throw err; + } + writer.addInt16(1); + writer.addInt16( + binary ? 1 : 0 + /* ParamType.STRING */ + ); + return writer.flush( + 66 + /* code.bind */ + ); + }, "bind"); + var emptyExecute = Buffer.from([69, 0, 0, 0, 9, 0, 0, 0, 0, 0]); + var execute = /* @__PURE__ */ __name((config) => { + if (!config || !config.portal && !config.rows) { + return emptyExecute; + } + const portal = config.portal || ""; + const rows = config.rows || 0; + const portalLength = Buffer.byteLength(portal); + const len = 4 + portalLength + 1 + 4; + const buff = Buffer.allocUnsafe(1 + len); + buff[0] = 69; + buff.writeInt32BE(len, 1); + buff.write(portal, 5, "utf-8"); + buff[portalLength + 5] = 0; + buff.writeUInt32BE(rows, buff.length - 4); + return buff; + }, "execute"); + var cancel = /* @__PURE__ */ __name((processID, secretKey) => { + const buffer = Buffer.allocUnsafe(16); + buffer.writeInt32BE(16, 0); + buffer.writeInt16BE(1234, 4); + buffer.writeInt16BE(5678, 6); + buffer.writeInt32BE(processID, 8); + buffer.writeInt32BE(secretKey, 12); + return buffer; + }, "cancel"); + var cstringMessage = /* @__PURE__ */ __name((code, string) => { + const stringLen = Buffer.byteLength(string); + const len = 4 + stringLen + 1; + const buffer = Buffer.allocUnsafe(1 + len); + buffer[0] = code; + buffer.writeInt32BE(len, 1); + buffer.write(string, 5, "utf-8"); + buffer[len] = 0; + return buffer; + }, "cstringMessage"); + var emptyDescribePortal = writer.addCString("P").flush( + 68 + /* code.describe */ + ); + var emptyDescribeStatement = writer.addCString("S").flush( + 68 + /* code.describe */ + ); + var describe = /* @__PURE__ */ __name((msg) => { + return msg.name ? cstringMessage(68, `${msg.type}${msg.name || ""}`) : msg.type === "P" ? emptyDescribePortal : emptyDescribeStatement; + }, "describe"); + var close = /* @__PURE__ */ __name((msg) => { + const text = `${msg.type}${msg.name || ""}`; + return cstringMessage(67, text); + }, "close"); + var copyData = /* @__PURE__ */ __name((chunk) => { + return writer.add(chunk).flush( + 100 + /* code.copyFromChunk */ + ); + }, "copyData"); + var copyFail = /* @__PURE__ */ __name((message) => { + return cstringMessage(102, message); + }, "copyFail"); + var codeOnlyBuffer = /* @__PURE__ */ __name((code) => Buffer.from([code, 0, 0, 0, 4]), "codeOnlyBuffer"); + var flushBuffer = codeOnlyBuffer( + 72 + /* code.flush */ + ); + var syncBuffer = codeOnlyBuffer( + 83 + /* code.sync */ + ); + var endBuffer = codeOnlyBuffer( + 88 + /* code.end */ + ); + var copyDoneBuffer = codeOnlyBuffer( + 99 + /* code.copyDone */ + ); + var serialize = { + startup, + password, + requestSsl, + sendSASLInitialResponseMessage, + sendSCRAMClientFinalMessage, + query, + parse, + bind, + execute, + describe, + close, + flush: /* @__PURE__ */ __name(() => flushBuffer, "flush"), + sync: /* @__PURE__ */ __name(() => syncBuffer, "sync"), + end: /* @__PURE__ */ __name(() => endBuffer, "end"), + copyData, + copyDone: /* @__PURE__ */ __name(() => copyDoneBuffer, "copyDone"), + copyFail, + cancel + }; + exports.serialize = serialize; + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-reader.js +var require_buffer_reader = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/buffer-reader.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.BufferReader = void 0; + var BufferReader = class { + static { + __name(this, "BufferReader"); + } + constructor(offset = 0) { + this.offset = offset; + this.buffer = Buffer.allocUnsafe(0); + this.encoding = "utf-8"; + } + setBuffer(offset, buffer) { + this.offset = offset; + this.buffer = buffer; + } + int16() { + const result = this.buffer.readInt16BE(this.offset); + this.offset += 2; + return result; + } + byte() { + const result = this.buffer[this.offset]; + this.offset++; + return result; + } + int32() { + const result = this.buffer.readInt32BE(this.offset); + this.offset += 4; + return result; + } + uint32() { + const result = this.buffer.readUInt32BE(this.offset); + this.offset += 4; + return result; + } + string(length) { + const result = this.buffer.toString(this.encoding, this.offset, this.offset + length); + this.offset += length; + return result; + } + cstring() { + const start = this.offset; + let end = start; + while (this.buffer[end++]) { + } + this.offset = end; + return this.buffer.toString(this.encoding, start, end - 1); + } + bytes(length) { + const result = this.buffer.slice(this.offset, this.offset + length); + this.offset += length; + return result; + } + }; + exports.BufferReader = BufferReader; + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/parser.js +var require_parser = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/parser.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Parser = void 0; + var messages_1 = require_messages(); + var buffer_reader_1 = require_buffer_reader(); + var CODE_LENGTH = 1; + var LEN_LENGTH = 4; + var HEADER_LENGTH = CODE_LENGTH + LEN_LENGTH; + var LATEINIT_LENGTH = -1; + var emptyBuffer = Buffer.allocUnsafe(0); + var Parser = class { + static { + __name(this, "Parser"); + } + constructor(opts) { + this.buffer = emptyBuffer; + this.bufferLength = 0; + this.bufferOffset = 0; + this.reader = new buffer_reader_1.BufferReader(); + if ((opts === null || opts === void 0 ? void 0 : opts.mode) === "binary") { + throw new Error("Binary mode not supported yet"); + } + this.mode = (opts === null || opts === void 0 ? void 0 : opts.mode) || "text"; + } + parse(buffer, callback) { + this.mergeBuffer(buffer); + const bufferFullLength = this.bufferOffset + this.bufferLength; + let offset = this.bufferOffset; + while (offset + HEADER_LENGTH <= bufferFullLength) { + const code = this.buffer[offset]; + const length = this.buffer.readUInt32BE(offset + CODE_LENGTH); + const fullMessageLength = CODE_LENGTH + length; + if (fullMessageLength + offset <= bufferFullLength) { + const message = this.handlePacket(offset + HEADER_LENGTH, code, length, this.buffer); + callback(message); + offset += fullMessageLength; + } else { + break; + } + } + if (offset === bufferFullLength) { + this.buffer = emptyBuffer; + this.bufferLength = 0; + this.bufferOffset = 0; + } else { + this.bufferLength = bufferFullLength - offset; + this.bufferOffset = offset; + } + } + mergeBuffer(buffer) { + if (this.bufferLength > 0) { + const newLength = this.bufferLength + buffer.byteLength; + const newFullLength = newLength + this.bufferOffset; + if (newFullLength > this.buffer.byteLength) { + let newBuffer; + if (newLength <= this.buffer.byteLength && this.bufferOffset >= this.bufferLength) { + newBuffer = this.buffer; + } else { + let newBufferLength = this.buffer.byteLength * 2; + while (newLength >= newBufferLength) { + newBufferLength *= 2; + } + newBuffer = Buffer.allocUnsafe(newBufferLength); + } + this.buffer.copy(newBuffer, 0, this.bufferOffset, this.bufferOffset + this.bufferLength); + this.buffer = newBuffer; + this.bufferOffset = 0; + } + buffer.copy(this.buffer, this.bufferOffset + this.bufferLength); + this.bufferLength = newLength; + } else { + this.buffer = buffer; + this.bufferOffset = 0; + this.bufferLength = buffer.byteLength; + } + } + handlePacket(offset, code, length, bytes) { + const { reader } = this; + reader.setBuffer(offset, bytes); + let message; + switch (code) { + case 50: + message = messages_1.bindComplete; + break; + case 49: + message = messages_1.parseComplete; + break; + case 51: + message = messages_1.closeComplete; + break; + case 110: + message = messages_1.noData; + break; + case 115: + message = messages_1.portalSuspended; + break; + case 99: + message = messages_1.copyDone; + break; + case 87: + message = messages_1.replicationStart; + break; + case 73: + message = messages_1.emptyQuery; + break; + case 68: + message = parseDataRowMessage(reader); + break; + case 67: + message = parseCommandCompleteMessage(reader); + break; + case 90: + message = parseReadyForQueryMessage(reader); + break; + case 65: + message = parseNotificationMessage(reader); + break; + case 82: + message = parseAuthenticationResponse(reader, length); + break; + case 83: + message = parseParameterStatusMessage(reader); + break; + case 75: + message = parseBackendKeyData(reader); + break; + case 69: + message = parseErrorMessage(reader, "error"); + break; + case 78: + message = parseErrorMessage(reader, "notice"); + break; + case 84: + message = parseRowDescriptionMessage(reader); + break; + case 116: + message = parseParameterDescriptionMessage(reader); + break; + case 71: + message = parseCopyInMessage(reader); + break; + case 72: + message = parseCopyOutMessage(reader); + break; + case 100: + message = parseCopyData(reader, length); + break; + default: + return new messages_1.DatabaseError("received invalid response: " + code.toString(16), length, "error"); + } + reader.setBuffer(0, emptyBuffer); + message.length = length; + return message; + } + }; + exports.Parser = Parser; + var parseReadyForQueryMessage = /* @__PURE__ */ __name((reader) => { + const status = reader.string(1); + return new messages_1.ReadyForQueryMessage(LATEINIT_LENGTH, status); + }, "parseReadyForQueryMessage"); + var parseCommandCompleteMessage = /* @__PURE__ */ __name((reader) => { + const text = reader.cstring(); + return new messages_1.CommandCompleteMessage(LATEINIT_LENGTH, text); + }, "parseCommandCompleteMessage"); + var parseCopyData = /* @__PURE__ */ __name((reader, length) => { + const chunk = reader.bytes(length - 4); + return new messages_1.CopyDataMessage(LATEINIT_LENGTH, chunk); + }, "parseCopyData"); + var parseCopyInMessage = /* @__PURE__ */ __name((reader) => parseCopyMessage(reader, "copyInResponse"), "parseCopyInMessage"); + var parseCopyOutMessage = /* @__PURE__ */ __name((reader) => parseCopyMessage(reader, "copyOutResponse"), "parseCopyOutMessage"); + var parseCopyMessage = /* @__PURE__ */ __name((reader, messageName) => { + const isBinary = reader.byte() !== 0; + const columnCount = reader.int16(); + const message = new messages_1.CopyResponse(LATEINIT_LENGTH, messageName, isBinary, columnCount); + for (let i = 0; i < columnCount; i++) { + message.columnTypes[i] = reader.int16(); + } + return message; + }, "parseCopyMessage"); + var parseNotificationMessage = /* @__PURE__ */ __name((reader) => { + const processId = reader.int32(); + const channel = reader.cstring(); + const payload = reader.cstring(); + return new messages_1.NotificationResponseMessage(LATEINIT_LENGTH, processId, channel, payload); + }, "parseNotificationMessage"); + var parseRowDescriptionMessage = /* @__PURE__ */ __name((reader) => { + const fieldCount = reader.int16(); + const message = new messages_1.RowDescriptionMessage(LATEINIT_LENGTH, fieldCount); + for (let i = 0; i < fieldCount; i++) { + message.fields[i] = parseField(reader); + } + return message; + }, "parseRowDescriptionMessage"); + var parseField = /* @__PURE__ */ __name((reader) => { + const name = reader.cstring(); + const tableID = reader.uint32(); + const columnID = reader.int16(); + const dataTypeID = reader.uint32(); + const dataTypeSize = reader.int16(); + const dataTypeModifier = reader.int32(); + const mode = reader.int16() === 0 ? "text" : "binary"; + return new messages_1.Field(name, tableID, columnID, dataTypeID, dataTypeSize, dataTypeModifier, mode); + }, "parseField"); + var parseParameterDescriptionMessage = /* @__PURE__ */ __name((reader) => { + const parameterCount = reader.int16(); + const message = new messages_1.ParameterDescriptionMessage(LATEINIT_LENGTH, parameterCount); + for (let i = 0; i < parameterCount; i++) { + message.dataTypeIDs[i] = reader.uint32(); + } + return message; + }, "parseParameterDescriptionMessage"); + var parseDataRowMessage = /* @__PURE__ */ __name((reader) => { + const fieldCount = reader.int16(); + const fields = new Array(fieldCount); + for (let i = 0; i < fieldCount; i++) { + const len = reader.int32(); + fields[i] = len === -1 ? null : reader.string(len); + } + return new messages_1.DataRowMessage(LATEINIT_LENGTH, fields); + }, "parseDataRowMessage"); + var parseParameterStatusMessage = /* @__PURE__ */ __name((reader) => { + const name = reader.cstring(); + const value = reader.cstring(); + return new messages_1.ParameterStatusMessage(LATEINIT_LENGTH, name, value); + }, "parseParameterStatusMessage"); + var parseBackendKeyData = /* @__PURE__ */ __name((reader) => { + const processID = reader.int32(); + const secretKey = reader.int32(); + return new messages_1.BackendKeyDataMessage(LATEINIT_LENGTH, processID, secretKey); + }, "parseBackendKeyData"); + var parseAuthenticationResponse = /* @__PURE__ */ __name((reader, length) => { + const code = reader.int32(); + const message = { + name: "authenticationOk", + length + }; + switch (code) { + case 0: + break; + case 3: + if (message.length === 8) { + message.name = "authenticationCleartextPassword"; + } + break; + case 5: + if (message.length === 12) { + message.name = "authenticationMD5Password"; + const salt = reader.bytes(4); + return new messages_1.AuthenticationMD5Password(LATEINIT_LENGTH, salt); + } + break; + case 10: + { + message.name = "authenticationSASL"; + message.mechanisms = []; + let mechanism; + do { + mechanism = reader.cstring(); + if (mechanism) { + message.mechanisms.push(mechanism); + } + } while (mechanism); + } + break; + case 11: + message.name = "authenticationSASLContinue"; + message.data = reader.string(length - 8); + break; + case 12: + message.name = "authenticationSASLFinal"; + message.data = reader.string(length - 8); + break; + default: + throw new Error("Unknown authenticationOk message type " + code); + } + return message; + }, "parseAuthenticationResponse"); + var parseErrorMessage = /* @__PURE__ */ __name((reader, name) => { + const fields = {}; + let fieldType = reader.string(1); + while (fieldType !== "\0") { + fields[fieldType] = reader.cstring(); + fieldType = reader.string(1); + } + const messageValue = fields.M; + const message = name === "notice" ? new messages_1.NoticeMessage(LATEINIT_LENGTH, messageValue) : new messages_1.DatabaseError(messageValue, LATEINIT_LENGTH, name); + message.severity = fields.S; + message.code = fields.C; + message.detail = fields.D; + message.hint = fields.H; + message.position = fields.P; + message.internalPosition = fields.p; + message.internalQuery = fields.q; + message.where = fields.W; + message.schema = fields.s; + message.table = fields.t; + message.column = fields.c; + message.dataType = fields.d; + message.constraint = fields.n; + message.file = fields.F; + message.line = fields.L; + message.routine = fields.R; + return message; + }, "parseErrorMessage"); + } +}); + +// ../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/index.js +var require_dist = __commonJS({ + "../../node_modules/.pnpm/pg-protocol@1.16.1/node_modules/pg-protocol/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DatabaseError = exports.serialize = void 0; + exports.parse = parse; + var messages_1 = require_messages(); + Object.defineProperty(exports, "DatabaseError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return messages_1.DatabaseError; + }, "get") }); + var serializer_1 = require_serializer(); + Object.defineProperty(exports, "serialize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return serializer_1.serialize; + }, "get") }); + var parser_1 = require_parser(); + function parse(stream, callback) { + const parser = new parser_1.Parser(); + stream.on("data", (buffer) => parser.parse(buffer, callback)); + return new Promise((resolve) => stream.on("end", () => resolve())); + } + __name(parse, "parse"); + } +}); + +// ../../node_modules/.pnpm/pg-cloudflare@1.4.1/node_modules/pg-cloudflare/dist/empty.js +var require_empty = __commonJS({ + "../../node_modules/.pnpm/pg-cloudflare@1.4.1/node_modules/pg-cloudflare/dist/empty.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = {}; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/stream.js +var require_stream = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/stream.js"(exports, module) { + var { getStream, getSecureStream } = getStreamFuncs(); + module.exports = { + /** + * Get a socket stream compatible with the current runtime environment. + * @returns {Duplex} + */ + getStream, + /** + * Get a TLS secured socket, compatible with the current environment, + * using the socket and other settings given in `options`. + * @returns {Duplex} + */ + getSecureStream + }; + function getNodejsStreamFuncs() { + function getStream2(ssl) { + const net = __require("net"); + return new net.Socket(); + } + __name(getStream2, "getStream"); + function getSecureStream2(options) { + const tls = __require("tls"); + return tls.connect(options); + } + __name(getSecureStream2, "getSecureStream"); + return { + getStream: getStream2, + getSecureStream: getSecureStream2 + }; + } + __name(getNodejsStreamFuncs, "getNodejsStreamFuncs"); + function getCloudflareStreamFuncs() { + function getStream2(ssl) { + const { CloudflareSocket } = require_empty(); + return new CloudflareSocket(ssl); + } + __name(getStream2, "getStream"); + function getSecureStream2(options) { + options.socket.startTls(options); + return options.socket; + } + __name(getSecureStream2, "getSecureStream"); + return { + getStream: getStream2, + getSecureStream: getSecureStream2 + }; + } + __name(getCloudflareStreamFuncs, "getCloudflareStreamFuncs"); + function isCloudflareRuntime() { + if (typeof navigator === "object" && navigator !== null && typeof navigator.userAgent === "string") { + return navigator.userAgent === "Cloudflare-Workers"; + } + if (typeof Response === "function") { + const resp = new Response(null, { cf: { thing: true } }); + if (typeof resp.cf === "object" && resp.cf !== null && resp.cf.thing) { + return true; + } + } + return false; + } + __name(isCloudflareRuntime, "isCloudflareRuntime"); + function getStreamFuncs() { + if (isCloudflareRuntime()) { + return getCloudflareStreamFuncs(); + } + return getNodejsStreamFuncs(); + } + __name(getStreamFuncs, "getStreamFuncs"); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection.js +var require_connection = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/connection.js"(exports, module) { + "use strict"; + var EventEmitter = __require("events").EventEmitter; + var { parse, serialize } = require_dist(); + var stream = require_stream(); + var { getStream } = stream; + var flushBuffer = serialize.flush(); + var syncBuffer = serialize.sync(); + var endBuffer = serialize.end(); + var Connection2 = class extends EventEmitter { + static { + __name(this, "Connection"); + } + constructor(config) { + super(); + config = config || {}; + this.stream = config.stream || getStream(config.ssl); + if (typeof this.stream === "function") { + this.stream = this.stream(config); + } + this._keepAlive = config.keepAlive; + this._keepAliveInitialDelayMillis = config.keepAliveInitialDelayMillis; + this.parsedStatements = {}; + this.submittedNamedStatements = {}; + this.ssl = config.ssl || false; + this.sslNegotiation = config.sslNegotiation || "postgres"; + this._ending = false; + this._emitMessage = false; + const self = this; + this.on("newListener", function(eventName) { + if (eventName === "message") { + self._emitMessage = true; + } + }); + } + connect(port, host) { + const self = this; + this._connecting = true; + this.stream.setNoDelay(true); + this.stream.connect(port, host); + this.stream.once("connect", function() { + if (self._keepAlive) { + self.stream.setKeepAlive(true, self._keepAliveInitialDelayMillis); + } + self.emit("connect"); + }); + const reportStreamError = /* @__PURE__ */ __name(function(error) { + if (self._ending && (error.code === "ECONNRESET" || error.code === "EPIPE")) { + return; + } + self.emit("error", error); + }, "reportStreamError"); + this.stream.on("error", reportStreamError); + this.stream.on("close", function() { + self.emit("end"); + }); + if (!this.ssl) { + return this.attachListeners(this.stream); + } + if (this.sslNegotiation === "direct") { + return this.stream.once("connect", function() { + self.upgradeToSSL(host, reportStreamError); + }); + } + this.stream.once("data", function(buffer) { + const responseCode = buffer.toString("utf8"); + switch (responseCode) { + case "S": + break; + case "N": + self.stream.end(); + return self.emit("error", new Error("The server does not support SSL connections")); + default: + self.stream.end(); + return self.emit("error", new Error("There was an error establishing an SSL connection")); + } + self.upgradeToSSL(host, reportStreamError); + }); + } + upgradeToSSL(host, reportStreamError) { + const self = this; + const options = { + socket: self.stream, + // tls.connect checks the server identity against `servername`, falling + // back to `host` and then to 'localhost'. `servername` must stay unset + // for IP addresses (see below), so `host` is needed to keep certificate + // validation working when connecting to an IP address. + host + }; + if (self.ssl !== true) { + Object.assign(options, self.ssl); + if ("key" in self.ssl) { + options.key = self.ssl.key; + } + } + if (self.sslNegotiation === "direct") { + options.ALPNProtocols = ["postgresql"]; + } + const net = __require("net"); + if (net.isIP && net.isIP(host) === 0) { + options.servername = host; + } + try { + self.stream = stream.getSecureStream(options); + } catch (err) { + return self.emit("error", err); + } + self.attachListeners(self.stream); + self.stream.on("error", reportStreamError); + self.emit("sslconnect"); + } + attachListeners(stream2) { + parse(stream2, (msg) => { + const eventName = msg.name === "error" ? "errorMessage" : msg.name; + if (this._emitMessage) { + this.emit("message", msg); + } + this.emit(eventName, msg); + }); + } + requestSsl() { + this.stream.write(serialize.requestSsl()); + } + startup(config) { + this.stream.write(serialize.startup(config)); + } + cancel(processID, secretKey) { + this._send(serialize.cancel(processID, secretKey)); + } + password(password) { + this._send(serialize.password(password)); + } + sendSASLInitialResponseMessage(mechanism, initialResponse) { + this._send(serialize.sendSASLInitialResponseMessage(mechanism, initialResponse)); + } + sendSCRAMClientFinalMessage(additionalData) { + this._send(serialize.sendSCRAMClientFinalMessage(additionalData)); + } + _send(buffer) { + if (!this.stream.writable) { + return false; + } + return this.stream.write(buffer); + } + query(text) { + this._send(serialize.query(text)); + } + // send parse message + parse(query) { + this._send(serialize.parse(query)); + } + // send bind message + bind(config) { + this._send(serialize.bind(config)); + } + // send execute message + execute(config) { + this._send(serialize.execute(config)); + } + flush() { + if (this.stream.writable) { + this.stream.write(flushBuffer); + } + } + sync() { + this._send(syncBuffer); + } + ref() { + this.stream.ref(); + } + unref() { + this.stream.unref(); + } + end() { + this._ending = true; + if (!this._connecting || !this.stream.writable) { + this.stream.end(); + return; + } + return this.stream.write(endBuffer, () => { + this.stream.end(); + }); + } + close(msg) { + this._send(serialize.close(msg)); + } + describe(msg) { + this._send(serialize.describe(msg)); + } + sendCopyFromChunk(chunk) { + this._send(serialize.copyData(chunk)); + } + endCopyFrom() { + this._send(serialize.copyDone()); + } + sendCopyFail(msg) { + this._send(serialize.copyFail(msg)); + } + }; + module.exports = Connection2; + } +}); + +// ../../node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js +var require_split2 = __commonJS({ + "../../node_modules/.pnpm/split2@4.2.0/node_modules/split2/index.js"(exports, module) { + "use strict"; + var { Transform } = __require("stream"); + var { StringDecoder } = __require("string_decoder"); + var kLast = /* @__PURE__ */ Symbol("last"); + var kDecoder = /* @__PURE__ */ Symbol("decoder"); + function transform(chunk, enc, cb) { + let list; + if (this.overflow) { + const buf = this[kDecoder].write(chunk); + list = buf.split(this.matcher); + if (list.length === 1) return cb(); + list.shift(); + this.overflow = false; + } else { + this[kLast] += this[kDecoder].write(chunk); + list = this[kLast].split(this.matcher); + } + this[kLast] = list.pop(); + for (let i = 0; i < list.length; i++) { + try { + push(this, this.mapper(list[i])); + } catch (error) { + return cb(error); + } + } + this.overflow = this[kLast].length > this.maxLength; + if (this.overflow && !this.skipOverflow) { + cb(new Error("maximum buffer reached")); + return; + } + cb(); + } + __name(transform, "transform"); + function flush(cb) { + this[kLast] += this[kDecoder].end(); + if (this[kLast]) { + try { + push(this, this.mapper(this[kLast])); + } catch (error) { + return cb(error); + } + } + cb(); + } + __name(flush, "flush"); + function push(self, val) { + if (val !== void 0) { + self.push(val); + } + } + __name(push, "push"); + function noop(incoming) { + return incoming; + } + __name(noop, "noop"); + function split(matcher, mapper, options) { + matcher = matcher || /\r?\n/; + mapper = mapper || noop; + options = options || {}; + switch (arguments.length) { + case 1: + if (typeof matcher === "function") { + mapper = matcher; + matcher = /\r?\n/; + } else if (typeof matcher === "object" && !(matcher instanceof RegExp) && !matcher[Symbol.split]) { + options = matcher; + matcher = /\r?\n/; + } + break; + case 2: + if (typeof matcher === "function") { + options = mapper; + mapper = matcher; + matcher = /\r?\n/; + } else if (typeof mapper === "object") { + options = mapper; + mapper = noop; + } + } + options = Object.assign({}, options); + options.autoDestroy = true; + options.transform = transform; + options.flush = flush; + options.readableObjectMode = true; + const stream = new Transform(options); + stream[kLast] = ""; + stream[kDecoder] = new StringDecoder("utf8"); + stream.matcher = matcher; + stream.mapper = mapper; + stream.maxLength = options.maxLength; + stream.skipOverflow = options.skipOverflow || false; + stream.overflow = false; + stream._destroy = function(err, cb) { + this._writableState.errorEmitted = false; + cb(err); + }; + return stream; + } + __name(split, "split"); + module.exports = split; + } +}); + +// ../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js +var require_helper = __commonJS({ + "../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/helper.js"(exports, module) { + "use strict"; + var path = __require("path"); + var Stream = __require("stream").Stream; + var split = require_split2(); + var util = __require("util"); + var defaultPort = 5432; + var isWin = process.platform === "win32"; + var warnStream = process.stderr; + var S_IRWXG = 56; + var S_IRWXO = 7; + var S_IFMT = 61440; + var S_IFREG = 32768; + function isRegFile(mode) { + return (mode & S_IFMT) == S_IFREG; + } + __name(isRegFile, "isRegFile"); + var fieldNames = ["host", "port", "database", "user", "password"]; + var nrOfFields = fieldNames.length; + var passKey = fieldNames[nrOfFields - 1]; + function warn() { + var isWritable = warnStream instanceof Stream && true === warnStream.writable; + if (isWritable) { + var args = Array.prototype.slice.call(arguments).concat("\n"); + warnStream.write(util.format.apply(util, args)); + } + } + __name(warn, "warn"); + Object.defineProperty(module.exports, "isWin", { + get: /* @__PURE__ */ __name(function() { + return isWin; + }, "get"), + set: /* @__PURE__ */ __name(function(val) { + isWin = val; + }, "set") + }); + module.exports.warnTo = function(stream) { + var old = warnStream; + warnStream = stream; + return old; + }; + module.exports.getFileName = function(rawEnv) { + var env = rawEnv || process.env; + var file = env.PGPASSFILE || (isWin ? path.join(env.APPDATA || "./", "postgresql", "pgpass.conf") : path.join(env.HOME || "./", ".pgpass")); + return file; + }; + module.exports.usePgPass = function(stats, fname) { + if (Object.prototype.hasOwnProperty.call(process.env, "PGPASSWORD")) { + return false; + } + if (isWin) { + return true; + } + fname = fname || ""; + if (!isRegFile(stats.mode)) { + warn('WARNING: password file "%s" is not a plain file', fname); + return false; + } + if (stats.mode & (S_IRWXG | S_IRWXO)) { + warn('WARNING: password file "%s" has group or world access; permissions should be u=rw (0600) or less', fname); + return false; + } + return true; + }; + var matcher = module.exports.match = function(connInfo, entry) { + return fieldNames.slice(0, -1).reduce(function(prev, field, idx) { + if (idx == 1) { + if (Number(connInfo[field] || defaultPort) === Number(entry[field])) { + return prev && true; + } + } + return prev && (entry[field] === "*" || entry[field] === connInfo[field]); + }, true); + }; + module.exports.getPassword = function(connInfo, stream, cb) { + var pass; + var lineStream = stream.pipe(split()); + function onLine(line) { + var entry = parseLine(line); + if (entry && isValidEntry(entry) && matcher(connInfo, entry)) { + pass = entry[passKey]; + lineStream.end(); + } + } + __name(onLine, "onLine"); + var onEnd = /* @__PURE__ */ __name(function() { + stream.destroy(); + cb(pass); + }, "onEnd"); + var onErr = /* @__PURE__ */ __name(function(err) { + stream.destroy(); + warn("WARNING: error on reading file: %s", err); + cb(void 0); + }, "onErr"); + stream.on("error", onErr); + lineStream.on("data", onLine).on("end", onEnd).on("error", onErr); + }; + var parseLine = module.exports.parseLine = function(line) { + if (line.length < 11 || line.match(/^\s+#/)) { + return null; + } + var curChar = ""; + var prevChar = ""; + var fieldIdx = 0; + var startIdx = 0; + var endIdx = 0; + var obj = {}; + var isLastField = false; + var addToObj = /* @__PURE__ */ __name(function(idx, i0, i1) { + var field = line.substring(i0, i1); + if (!Object.hasOwnProperty.call(process.env, "PGPASS_NO_DEESCAPE")) { + field = field.replace(/\\([:\\])/g, "$1"); + } + obj[fieldNames[idx]] = field; + }, "addToObj"); + for (var i = 0; i < line.length - 1; i += 1) { + curChar = line.charAt(i + 1); + prevChar = line.charAt(i); + isLastField = fieldIdx == nrOfFields - 1; + if (isLastField) { + addToObj(fieldIdx, startIdx); + break; + } + if (i >= 0 && curChar == ":" && prevChar !== "\\") { + addToObj(fieldIdx, startIdx, i + 1); + startIdx = i + 2; + fieldIdx += 1; + } + } + obj = Object.keys(obj).length === nrOfFields ? obj : null; + return obj; + }; + var isValidEntry = module.exports.isValidEntry = function(entry) { + var rules = { + // host + 0: function(x) { + return x.length > 0; + }, + // port + 1: function(x) { + if (x === "*") { + return true; + } + x = Number(x); + return isFinite(x) && x > 0 && x < 9007199254740992 && Math.floor(x) === x; + }, + // database + 2: function(x) { + return x.length > 0; + }, + // username + 3: function(x) { + return x.length > 0; + }, + // password + 4: function(x) { + return x.length > 0; + } + }; + for (var idx = 0; idx < fieldNames.length; idx += 1) { + var rule = rules[idx]; + var value = entry[fieldNames[idx]] || ""; + var res = rule(value); + if (!res) { + return false; + } + } + return true; + }; + } +}); + +// ../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js +var require_lib = __commonJS({ + "../../node_modules/.pnpm/pgpass@1.0.5/node_modules/pgpass/lib/index.js"(exports, module) { + "use strict"; + var path = __require("path"); + var fs = __require("fs"); + var helper = require_helper(); + module.exports = function(connInfo, cb) { + var file = helper.getFileName(); + fs.stat(file, function(err, stat) { + if (err || !helper.usePgPass(stat, file)) { + return cb(void 0); + } + var st = fs.createReadStream(file); + helper.getPassword(connInfo, st, cb); + }); + }; + module.exports.warnTo = helper.warnTo; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/client.js +var require_client = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/client.js"(exports, module) { + var EventEmitter = __require("events").EventEmitter; + var utils = require_utils(); + var nodeUtils = __require("util"); + var sasl = require_sasl(); + var TypeOverrides2 = require_type_overrides(); + var ConnectionParameters = require_connection_parameters(); + var Query2 = require_query(); + var defaults2 = require_defaults(); + var Connection2 = require_connection(); + var crypto = require_utils2(); + var activeQueryDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Client.activeQuery is deprecated and will be removed in pg@9.0" + ); + var queryQueueDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Client.queryQueue is deprecated and will be removed in pg@9.0." + ); + var pgPassDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "pgpass support is deprecated and will be removed in pg@9.0. You can provide an async function as the password property to the Client/Pool constructor that returns a password instead. Within this function you can call the pgpass module in your own code." + ); + var byoPromiseDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Passing a custom Promise implementation to the Client/Pool constructor is deprecated and will be removed in pg@9.0." + ); + var queryQueueLengthDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead." + ); + function coerceNumberOrDefault(value, defaultValue) { + if (typeof value === "number") { + return Number.isFinite(value) ? value : defaultValue; + } + if (typeof value === "string" && value.trim() !== "") { + const n = Number(value); + return Number.isFinite(n) ? n : defaultValue; + } + return defaultValue; + } + __name(coerceNumberOrDefault, "coerceNumberOrDefault"); + var Client2 = class extends EventEmitter { + static { + __name(this, "Client"); + } + constructor(config) { + super(); + this.connectionParameters = new ConnectionParameters(config); + this.user = this.connectionParameters.user; + this.database = this.connectionParameters.database; + this.port = this.connectionParameters.port; + this.host = this.connectionParameters.host; + Object.defineProperty(this, "password", { + configurable: true, + enumerable: false, + writable: true, + value: this.connectionParameters.password + }); + this.replication = this.connectionParameters.replication; + const c = config || {}; + if (c.Promise) { + byoPromiseDeprecationNotice(); + } + this._Promise = c.Promise || global.Promise; + this._types = new TypeOverrides2(c.types); + this._ending = false; + this._ended = false; + this._connecting = false; + this._connected = false; + this._connectionError = false; + this._queryable = true; + this._activeQuery = null; + this._txStatus = null; + this.enableChannelBinding = Boolean(c.enableChannelBinding); + this.scramMaxIterations = coerceNumberOrDefault(c.scramMaxIterations, sasl.DEFAULT_MAX_SCRAM_ITERATIONS); + this.connection = c.connection || new Connection2({ + stream: c.stream, + ssl: this.connectionParameters.ssl, + sslNegotiation: this.connectionParameters.sslnegotiation, + keepAlive: c.keepAlive || false, + keepAliveInitialDelayMillis: c.keepAliveInitialDelayMillis || 0, + encoding: this.connectionParameters.client_encoding || "utf8" + }); + this._queryQueue = []; + this._sentQueryQueue = []; + this.pipeline = Boolean(c.pipeline); + this.binary = c.binary || defaults2.binary; + this.processID = null; + this.secretKey = null; + this.ssl = this.connectionParameters.ssl || false; + this.sslNegotiation = this.connectionParameters.sslnegotiation || "postgres"; + if (this.ssl && this.ssl.key) { + Object.defineProperty(this.ssl, "key", { + enumerable: false + }); + } + this._connectionTimeoutMillis = c.connectionTimeoutMillis || 0; + } + get activeQuery() { + activeQueryDeprecationNotice(); + return this._activeQuery; + } + set activeQuery(val) { + activeQueryDeprecationNotice(); + this._activeQuery = val; + } + _getActiveQuery() { + return this._activeQuery; + } + _errorAllQueries(err) { + const enqueueError = /* @__PURE__ */ __name((query) => { + process.nextTick(() => { + query.handleError(err, this.connection); + }); + }, "enqueueError"); + const activeQuery = this._getActiveQuery(); + if (activeQuery) { + enqueueError(activeQuery); + this._activeQuery = null; + } + this._sentQueryQueue.forEach(enqueueError); + this._sentQueryQueue.length = 0; + this._queryQueue.forEach(enqueueError); + this._queryQueue.length = 0; + } + _connect(callback) { + const self = this; + const con = this.connection; + this._connectionCallback = callback; + if (this._connecting || this._connected) { + const err = new Error("Client has already been connected. You cannot reuse a client."); + process.nextTick(() => { + callback(err); + }); + return; + } + this._connecting = true; + if (this._connectionTimeoutMillis > 0) { + this.connectionTimeoutHandle = setTimeout(() => { + con._ending = true; + con.stream.destroy(new Error("timeout expired")); + }, this._connectionTimeoutMillis); + if (this.connectionTimeoutHandle.unref) { + this.connectionTimeoutHandle.unref(); + } + } + if (this.host && this.host.indexOf("/") === 0) { + con.connect(this.host + "/.s.PGSQL." + this.port); + } else { + con.connect(this.port, this.host); + } + con.on("connect", function() { + if (self.ssl) { + if (self.sslNegotiation !== "direct") { + con.requestSsl(); + } + } else { + con.startup(self.getStartupConf()); + } + }); + con.on("sslconnect", function() { + con.startup(self.getStartupConf()); + }); + this._attachListeners(con); + con.once("end", () => { + const error = this._ending ? new Error("Connection terminated") : new Error("Connection terminated unexpectedly"); + clearTimeout(this.connectionTimeoutHandle); + this._errorAllQueries(error); + this._ended = true; + if (!this._ending) { + if (this._connecting && !this._connectionError) { + if (this._connectionCallback) { + this._connectionCallback(error); + } else { + this._handleErrorEvent(error); + } + } else if (!this._connectionError) { + this._handleErrorEvent(error); + } + } + process.nextTick(() => { + this.emit("end"); + }); + }); + } + connect(callback) { + if (callback) { + this._connect(callback); + return; + } + return new this._Promise((resolve, reject) => { + this._connect((error) => { + if (error) { + reject(error); + } else { + resolve(this); + } + }); + }); + } + _attachListeners(con) { + con.on("authenticationCleartextPassword", this._handleAuthCleartextPassword.bind(this)); + con.on("authenticationMD5Password", this._handleAuthMD5Password.bind(this)); + con.on("authenticationSASL", this._handleAuthSASL.bind(this)); + con.on("authenticationSASLContinue", this._handleAuthSASLContinue.bind(this)); + con.on("authenticationSASLFinal", this._handleAuthSASLFinal.bind(this)); + con.on("backendKeyData", this._handleBackendKeyData.bind(this)); + con.on("error", this._handleErrorEvent.bind(this)); + con.on("errorMessage", this._handleErrorMessage.bind(this)); + con.on("readyForQuery", this._handleReadyForQuery.bind(this)); + con.on("notice", this._handleNotice.bind(this)); + con.on("rowDescription", this._handleRowDescription.bind(this)); + con.on("dataRow", this._handleDataRow.bind(this)); + con.on("portalSuspended", this._handlePortalSuspended.bind(this)); + con.on("emptyQuery", this._handleEmptyQuery.bind(this)); + con.on("commandComplete", this._handleCommandComplete.bind(this)); + con.on("parseComplete", this._handleParseComplete.bind(this)); + con.on("copyInResponse", this._handleCopyInResponse.bind(this)); + con.on("copyData", this._handleCopyData.bind(this)); + con.on("notification", this._handleNotification.bind(this)); + } + _getPassword(cb) { + const con = this.connection; + if (typeof this.password === "function") { + this._Promise.resolve().then(() => this.password(this.connectionParameters)).then((pass) => { + if (pass !== void 0) { + if (typeof pass !== "string") { + con.emit("error", new TypeError("Password must be a string")); + return; + } + this.connectionParameters.password = this.password = pass; + } else { + this.connectionParameters.password = this.password = null; + } + cb(); + }).catch((err) => { + con.emit("error", err); + }); + } else if (this.password !== null) { + cb(); + } else { + try { + const pgPass = require_lib(); + pgPass(this.connectionParameters, (pass) => { + if (void 0 !== pass) { + pgPassDeprecationNotice(); + this.connectionParameters.password = this.password = pass; + } + cb(); + }); + } catch (e) { + this.emit("error", e); + } + } + } + _handleAuthCleartextPassword(msg) { + this._getPassword(() => { + this.connection.password(this.password); + }); + } + _handleAuthMD5Password(msg) { + this._getPassword(async () => { + try { + const hashedPassword = await crypto.postgresMd5PasswordHash(this.user, this.password, msg.salt); + this.connection.password(hashedPassword); + } catch (e) { + this.emit("error", e); + } + }); + } + _handleAuthSASL(msg) { + this._getPassword(() => { + try { + this.saslSession = sasl.startSession( + msg.mechanisms, + this.enableChannelBinding && this.connection.stream, + this.scramMaxIterations + ); + this.connection.sendSASLInitialResponseMessage(this.saslSession.mechanism, this.saslSession.response); + } catch (err) { + this.connection.emit("error", err); + } + }); + } + async _handleAuthSASLContinue(msg) { + try { + await sasl.continueSession( + this.saslSession, + this.password, + msg.data, + this.enableChannelBinding && this.connection.stream + ); + this.connection.sendSCRAMClientFinalMessage(this.saslSession.response); + } catch (err) { + this.connection.emit("error", err); + } + } + _handleAuthSASLFinal(msg) { + try { + sasl.finalizeSession(this.saslSession, msg.data); + this.saslSession = null; + } catch (err) { + this.connection.emit("error", err); + } + } + _handleBackendKeyData(msg) { + this.processID = msg.processID; + this.secretKey = msg.secretKey; + } + _handleReadyForQuery(msg) { + if (this._connecting) { + this._connecting = false; + this._connected = true; + clearTimeout(this.connectionTimeoutHandle); + if (this._connectionCallback) { + this._connectionCallback(null, this); + this._connectionCallback = null; + } + this.emit("connect"); + } + const activeQuery = this._getActiveQuery(); + this._activeQuery = null; + this._txStatus = msg?.status ?? null; + this.readyForQuery = true; + if (activeQuery) { + activeQuery.handleReadyForQuery(this.connection); + } + this._pulseQueryQueue(); + } + // if we receive an error event or error message + // during the connection process we handle it here + _handleErrorWhileConnecting(err) { + if (this._connectionError) { + return; + } + this._connectionError = true; + clearTimeout(this.connectionTimeoutHandle); + if (this._connectionCallback) { + return this._connectionCallback(err); + } + this.emit("error", err); + } + // if we're connected and we receive an error event from the connection + // this means the socket is dead - do a hard abort of all queries and emit + // the socket error on the client as well + _handleErrorEvent(err) { + if (this._connecting) { + return this._handleErrorWhileConnecting(err); + } + this._queryable = false; + this._errorAllQueries(err); + this.emit("error", err); + } + // handle error messages from the postgres backend + _handleErrorMessage(msg) { + if (this._connecting) { + return this._handleErrorWhileConnecting(msg); + } + const activeQuery = this._getActiveQuery(); + if (!activeQuery) { + this._handleErrorEvent(msg); + return; + } + this._activeQuery = null; + if (activeQuery.name) { + delete this.connection.submittedNamedStatements[activeQuery.name]; + } + activeQuery.handleError(msg, this.connection); + } + _handleRowDescription(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected rowDescription message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleRowDescription(msg); + } + _handleDataRow(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected dataRow message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleDataRow(msg); + } + _handlePortalSuspended(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected portalSuspended message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handlePortalSuspended(this.connection); + } + _handleEmptyQuery(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected emptyQuery message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleEmptyQuery(this.connection); + } + _handleCommandComplete(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected commandComplete message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleCommandComplete(msg, this.connection); + } + _handleParseComplete() { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected parseComplete message from backend."); + this._handleErrorEvent(error); + return; + } + if (activeQuery.name) { + this.connection.parsedStatements[activeQuery.name] = activeQuery.text; + delete this.connection.submittedNamedStatements[activeQuery.name]; + } + } + _handleCopyInResponse(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected copyInResponse message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleCopyInResponse(this.connection); + } + _handleCopyData(msg) { + const activeQuery = this._getActiveQuery(); + if (activeQuery == null) { + const error = new Error("Received unexpected copyData message from backend."); + this._handleErrorEvent(error); + return; + } + activeQuery.handleCopyData(msg, this.connection); + } + _handleNotification(msg) { + this.emit("notification", msg); + } + _handleNotice(msg) { + this.emit("notice", msg); + } + getStartupConf() { + const params = this.connectionParameters; + const data = { + user: params.user, + database: params.database + }; + const appName = params.application_name || params.fallback_application_name; + if (appName) { + data.application_name = appName; + } + if (params.replication) { + data.replication = "" + params.replication; + } + if (params.statement_timeout) { + data.statement_timeout = String(parseInt(params.statement_timeout, 10)); + } + if (params.lock_timeout) { + data.lock_timeout = String(parseInt(params.lock_timeout, 10)); + } + if (params.idle_in_transaction_session_timeout) { + data.idle_in_transaction_session_timeout = String(parseInt(params.idle_in_transaction_session_timeout, 10)); + } + if (params.options) { + data.options = params.options; + } + return data; + } + cancel(client, query) { + if (client.activeQuery === query) { + const con = this.connection; + if (this.host && this.host.indexOf("/") === 0) { + con.connect(this.host + "/.s.PGSQL." + this.port); + } else { + con.connect(this.port, this.host); + } + con.on("connect", function() { + con.cancel(client.processID, client.secretKey); + }); + } else if (client._queryQueue.indexOf(query) !== -1) { + client._queryQueue.splice(client._queryQueue.indexOf(query), 1); + } else if (client._sentQueryQueue.indexOf(query) !== -1) { + query.callback = () => { + }; + } + } + setTypeParser(oid, format, parseFn) { + return this._types.setTypeParser(oid, format, parseFn); + } + getTypeParser(oid, format) { + return this._types.getTypeParser(oid, format); + } + // escapeIdentifier and escapeLiteral moved to utility functions & exported + // on PG + // re-exported here for backwards compatibility + escapeIdentifier(str) { + return utils.escapeIdentifier(str); + } + escapeLiteral(str) { + return utils.escapeLiteral(str); + } + _pulseQueryQueue() { + if (this.pipeline) { + this._pulsePipelinedQueryQueue(); + return; + } + if (this.readyForQuery === true) { + this._activeQuery = this._queryQueue.shift(); + const activeQuery = this._getActiveQuery(); + if (activeQuery) { + this.readyForQuery = false; + this.hasExecuted = true; + const queryError = activeQuery.submit(this.connection); + if (queryError) { + process.nextTick(() => { + activeQuery.handleError(queryError, this.connection); + this.readyForQuery = true; + this._pulseQueryQueue(); + }); + } + } else if (this.hasExecuted) { + this._activeQuery = null; + this.emit("drain"); + } + } + } + _pulsePipelinedQueryQueue() { + if (!this._connected || !this._queryable) { + return; + } + while (this._queryQueue.length > 0) { + const query = this._queryQueue.shift(); + this.hasExecuted = true; + const queryError = query.submit(this.connection); + if (queryError) { + process.nextTick(() => { + query.handleError(queryError, this.connection); + }); + continue; + } + this._sentQueryQueue.push(query); + } + if (this.readyForQuery && !this._activeQuery && this._sentQueryQueue.length > 0) { + this._activeQuery = this._sentQueryQueue.shift(); + this.readyForQuery = false; + } + if (!this._activeQuery && this._sentQueryQueue.length === 0 && this._queryQueue.length === 0 && this.hasExecuted) { + this.emit("drain"); + } + } + query(config, values, callback) { + let query; + let result; + if (config == null) { + throw new TypeError("Client was passed a null or undefined query"); + } + if (typeof config.submit === "function") { + result = query = config; + if (!query.callback) { + if (typeof values === "function") { + query.callback = values; + } else if (callback) { + query.callback = callback; + } + } + } else { + query = new Query2(config, values, callback); + if (!query.callback) { + result = new this._Promise((resolve, reject) => { + query.callback = (err, res) => err ? reject(err) : resolve(res); + }).catch((err) => { + Error.captureStackTrace(err); + throw err; + }); + } else if (typeof query.callback !== "function") { + throw new TypeError("callback is not a function"); + } + } + const readTimeout = config.query_timeout || this.connectionParameters.query_timeout; + if (readTimeout) { + const queryCallback = query.callback || (() => { + }); + const readTimeoutTimer = setTimeout(() => { + const error = new Error("Query read timeout"); + process.nextTick(() => { + query.handleError(error, this.connection); + }); + queryCallback(error); + query.callback = () => { + }; + const index = this._queryQueue.indexOf(query); + if (index > -1) { + this._queryQueue.splice(index, 1); + } else if (this.pipeline) { + this.connection.stream.destroy(); + return; + } + this._pulseQueryQueue(); + }, readTimeout); + query.callback = (err, res) => { + clearTimeout(readTimeoutTimer); + queryCallback(err, res); + }; + } + if (this.binary && !query.binary) { + query.binary = true; + } + if (query._result && !query._result._types) { + query._result._types = this._types; + } + if (this.pipeline) { + const portalQuery = typeof config.submit === "function" && !(query instanceof Query2) ? "Custom query classes such as pg-cursor and pg-query-stream are" : query.rows ? "The `rows` option is" : null; + if (portalQuery) { + process.nextTick(() => { + query.handleError(new Error(`${portalQuery} not supported in pipeline mode`), this.connection); + }); + return result; + } + } + if (!this._queryable) { + process.nextTick(() => { + query.handleError(new Error("Client has encountered a connection error and is not queryable"), this.connection); + }); + return result; + } + if (this._ending) { + process.nextTick(() => { + query.handleError(new Error("Client was closed and is not queryable"), this.connection); + }); + return result; + } + if (this._queryQueue.length > 0 && !this.pipeline) { + queryQueueLengthDeprecationNotice(); + } + this._queryQueue.push(query); + this._pulseQueryQueue(); + return result; + } + ref() { + this.connection.ref(); + } + unref() { + this.connection.unref(); + } + getTransactionStatus() { + return this._txStatus; + } + end(cb) { + this._ending = true; + if (!this.connection._connecting || this._ended) { + if (cb) { + cb(); + return; + } else { + return this._Promise.resolve(); + } + } + if (!this._queryable) { + this.connection.stream.destroy(); + } else if (this.pipeline && (this._getActiveQuery() || this._sentQueryQueue.length > 0 || this._queryQueue.length > 0)) { + this.once("drain", () => this.connection.end()); + } else if (this._getActiveQuery()) { + this.connection.stream.destroy(); + } else { + this.connection.end(); + } + if (cb) { + this.connection.once("end", cb); + } else { + return new this._Promise((resolve) => { + this.connection.once("end", resolve); + }); + } + } + get queryQueue() { + queryQueueDeprecationNotice(); + return this._queryQueue; + } + }; + Client2.Query = Query2; + module.exports = Client2; + } +}); + +// ../../node_modules/.pnpm/pg-pool@3.14.0_pg@8.23.1/node_modules/pg-pool/index.js +var require_pg_pool = __commonJS({ + "../../node_modules/.pnpm/pg-pool@3.14.0_pg@8.23.1/node_modules/pg-pool/index.js"(exports, module) { + "use strict"; + var EventEmitter = __require("events").EventEmitter; + var NOOP = /* @__PURE__ */ __name(function() { + }, "NOOP"); + var removeWhere = /* @__PURE__ */ __name((list, predicate) => { + const i = list.findIndex(predicate); + return i === -1 ? void 0 : list.splice(i, 1)[0]; + }, "removeWhere"); + var IdleItem = class { + static { + __name(this, "IdleItem"); + } + constructor(client, idleListener, timeoutId) { + this.client = client; + this.idleListener = idleListener; + this.timeoutId = timeoutId; + } + }; + var PendingItem = class { + static { + __name(this, "PendingItem"); + } + constructor(callback) { + this.callback = callback; + } + }; + function throwOnDoubleRelease() { + throw new Error("Release called on client which has already been released to the pool."); + } + __name(throwOnDoubleRelease, "throwOnDoubleRelease"); + function promisify(Promise2, callback) { + if (callback) { + return { callback, result: void 0 }; + } + let rej; + let res; + const cb = /* @__PURE__ */ __name(function(err, client) { + err ? rej(err) : res(client); + }, "cb"); + const result = new Promise2(function(resolve, reject) { + res = resolve; + rej = reject; + }).catch((err) => { + Error.captureStackTrace(err); + throw err; + }); + return { callback: cb, result }; + } + __name(promisify, "promisify"); + function makeIdleListener(pool, client) { + return /* @__PURE__ */ __name(function idleListener(err) { + err.client = client; + client.removeListener("error", idleListener); + client.on("error", () => { + pool.log("additional client error after disconnection due to error", err); + }); + pool._remove(client); + pool.emit("error", err, client); + }, "idleListener"); + } + __name(makeIdleListener, "makeIdleListener"); + var Pool2 = class extends EventEmitter { + static { + __name(this, "Pool"); + } + constructor(options, Client2) { + super(); + this.options = Object.assign({}, options); + if (options != null && "password" in options) { + Object.defineProperty(this.options, "password", { + configurable: true, + enumerable: false, + writable: true, + value: options.password + }); + } + if (options != null && options.ssl && options.ssl.key) { + Object.defineProperty(this.options.ssl, "key", { + enumerable: false + }); + } + this.options.max = this.options.max || this.options.poolSize || 10; + this.options.min = this.options.min || 0; + this.options.maxUses = this.options.maxUses || Infinity; + this.options.allowExitOnIdle = this.options.allowExitOnIdle || false; + this.options.maxLifetimeSeconds = this.options.maxLifetimeSeconds || 0; + this.log = this.options.log || function() { + }; + this.Client = this.options.Client || Client2 || require_lib2().Client; + this.Promise = this.options.Promise || global.Promise; + if (typeof this.options.idleTimeoutMillis === "undefined") { + this.options.idleTimeoutMillis = 1e4; + } + this._clients = []; + this._idle = []; + this._expired = /* @__PURE__ */ new WeakSet(); + this._pendingQueue = []; + this._endCallback = void 0; + this.ending = false; + this.ended = false; + } + _promiseTry(f) { + const Promise2 = this.Promise; + if (typeof Promise2.try === "function") { + return Promise2.try(f); + } + return new Promise2((resolve) => resolve(f())); + } + _isFull() { + return this._clients.length >= this.options.max; + } + _isAboveMin() { + return this._clients.length > this.options.min; + } + _pulseQueue() { + this.log("pulse queue"); + if (this.ended) { + this.log("pulse queue ended"); + return; + } + if (this.ending) { + this.log("pulse queue on ending"); + if (this._idle.length) { + this._idle.slice().map((item) => { + this._remove(item.client); + }); + } + if (!this._clients.length) { + this.ended = true; + this._endCallback(); + } + return; + } + if (!this._pendingQueue.length) { + this.log("no queued requests"); + return; + } + if (!this._idle.length && this._isFull()) { + return; + } + const pendingItem = this._pendingQueue.shift(); + if (this._idle.length) { + const idleItem = this._idle.pop(); + clearTimeout(idleItem.timeoutId); + const client = idleItem.client; + client.ref && client.ref(); + const idleListener = idleItem.idleListener; + return this._acquireClient(client, pendingItem, idleListener, false); + } + if (!this._isFull()) { + return this.newClient(pendingItem); + } + throw new Error("unexpected condition"); + } + _remove(client, callback) { + const removed = removeWhere(this._idle, (item) => item.client === client); + if (removed !== void 0) { + clearTimeout(removed.timeoutId); + } + this._clients = this._clients.filter((c) => c !== client); + const context = this; + client.end(() => { + context.emit("remove", client); + if (typeof callback === "function") { + callback(); + } + }); + } + connect(cb) { + if (this.ending) { + const err = new Error("Cannot use a pool after calling end on the pool"); + return cb ? cb(err) : this.Promise.reject(err); + } + const response = promisify(this.Promise, cb); + const result = response.result; + if (this._isFull() || this._idle.length) { + if (this._idle.length) { + process.nextTick(() => this._pulseQueue()); + } + if (!this.options.connectionTimeoutMillis) { + this._pendingQueue.push(new PendingItem(response.callback)); + return result; + } + const queueCallback = /* @__PURE__ */ __name((err, res, done) => { + clearTimeout(tid); + response.callback(err, res, done); + }, "queueCallback"); + const pendingItem = new PendingItem(queueCallback); + const tid = setTimeout(() => { + removeWhere(this._pendingQueue, (i) => i.callback === queueCallback); + pendingItem.timedOut = true; + response.callback(new Error("timeout exceeded when trying to connect")); + }, this.options.connectionTimeoutMillis); + if (tid.unref) { + tid.unref(); + } + this._pendingQueue.push(pendingItem); + return result; + } + this.newClient(new PendingItem(response.callback)); + return result; + } + newClient(pendingItem) { + const client = new this.Client(this.options); + this._clients.push(client); + const idleListener = makeIdleListener(this, client); + this.log("checking client timeout"); + let tid; + let timeoutHit = false; + if (this.options.connectionTimeoutMillis) { + tid = setTimeout(() => { + if (client.connection) { + this.log("ending client due to timeout"); + timeoutHit = true; + client.connection.stream.destroy(); + } else if (!client.isConnected()) { + this.log("ending client due to timeout"); + timeoutHit = true; + client.end(); + } + }, this.options.connectionTimeoutMillis); + } + this.log("connecting new client"); + client.connect((err) => { + if (tid) { + clearTimeout(tid); + } + client.on("error", idleListener); + if (err) { + this.log("client failed to connect", err); + this._clients = this._clients.filter((c) => c !== client); + if (timeoutHit) { + err = new Error("Connection terminated due to connection timeout", { cause: err }); + } + this._pulseQueue(); + if (!pendingItem.timedOut) { + pendingItem.callback(err, void 0, NOOP); + } + } else { + this.log("new client connected"); + if (this.options.onConnect) { + this._promiseTry(() => this.options.onConnect(client)).then( + () => { + this._afterConnect(client, pendingItem, idleListener); + }, + (hookErr) => { + this._clients = this._clients.filter((c) => c !== client); + client.end(() => { + this._pulseQueue(); + if (!pendingItem.timedOut) { + pendingItem.callback(hookErr, void 0, NOOP); + } + }); + } + ); + return; + } + return this._afterConnect(client, pendingItem, idleListener); + } + }); + } + _afterConnect(client, pendingItem, idleListener) { + if (this.options.maxLifetimeSeconds !== 0) { + const maxLifetimeTimeout = setTimeout(() => { + this.log("ending client due to expired lifetime"); + this._expired.add(client); + const idleIndex = this._idle.findIndex((idleItem) => idleItem.client === client); + if (idleIndex !== -1) { + this._acquireClient( + client, + new PendingItem((err, client2, clientRelease) => clientRelease()), + idleListener, + false + ); + } + }, this.options.maxLifetimeSeconds * 1e3); + maxLifetimeTimeout.unref(); + client.once("end", () => clearTimeout(maxLifetimeTimeout)); + } + return this._acquireClient(client, pendingItem, idleListener, true); + } + // acquire a client for a pending work item + _acquireClient(client, pendingItem, idleListener, isNew) { + if (isNew) { + this.emit("connect", client); + } + this.emit("acquire", client); + client.release = this._releaseOnce(client, idleListener); + client.removeListener("error", idleListener); + if (!pendingItem.timedOut) { + if (isNew && this.options.verify) { + this.options.verify(client, (err) => { + if (err) { + client.release(err); + return pendingItem.callback(err, void 0, NOOP); + } + pendingItem.callback(void 0, client, client.release); + }); + } else { + pendingItem.callback(void 0, client, client.release); + } + } else { + if (isNew && this.options.verify) { + this.options.verify(client, client.release); + } else { + client.release(); + } + } + } + // returns a function that wraps _release and throws if called more than once + _releaseOnce(client, idleListener) { + let released = false; + return (err) => { + if (released) { + throwOnDoubleRelease(); + } + released = true; + this._release(client, idleListener, err); + }; + } + // release a client back to the poll, include an error + // to remove it from the pool + _release(client, idleListener, err) { + client.on("error", idleListener); + client._poolUseCount = (client._poolUseCount || 0) + 1; + this.emit("release", err, client); + if (err || this.ending || !client._queryable || client._ending || client._poolUseCount >= this.options.maxUses) { + if (client._poolUseCount >= this.options.maxUses) { + this.log("remove expended client"); + } + return this._remove(client, this._pulseQueue.bind(this)); + } + const isExpired = this._expired.has(client); + if (isExpired) { + this.log("remove expired client"); + this._expired.delete(client); + return this._remove(client, this._pulseQueue.bind(this)); + } + let tid; + if (this.options.idleTimeoutMillis && this._isAboveMin()) { + tid = setTimeout(() => { + if (this._isAboveMin()) { + this.log("remove idle client"); + this._remove(client, this._pulseQueue.bind(this)); + } + }, this.options.idleTimeoutMillis); + if (this.options.allowExitOnIdle) { + tid.unref(); + } + } + if (this.options.allowExitOnIdle) { + client.unref(); + } + this._idle.push(new IdleItem(client, idleListener, tid)); + this._pulseQueue(); + } + query(text, values, cb) { + if (typeof text === "function") { + const response2 = promisify(this.Promise, text); + setImmediate(function() { + return response2.callback(new Error("Passing a function as the first parameter to pool.query is not supported")); + }); + return response2.result; + } + if (typeof values === "function") { + cb = values; + values = void 0; + } + const response = promisify(this.Promise, cb); + cb = response.callback; + this.connect((err, client) => { + if (err) { + return cb(err); + } + let clientReleased = false; + const onError = /* @__PURE__ */ __name((err2) => { + if (clientReleased) { + return; + } + clientReleased = true; + client.release(err2); + cb(err2); + }, "onError"); + client.once("error", onError); + this.log("dispatching query"); + try { + client.query(text, values, (err2, res) => { + this.log("query dispatched"); + client.removeListener("error", onError); + if (clientReleased) { + return; + } + clientReleased = true; + client.release(err2); + if (err2) { + return cb(err2); + } + return cb(void 0, res); + }); + } catch (err2) { + client.release(err2); + return cb(err2); + } + }); + return response.result; + } + end(cb) { + this.log("ending"); + if (this.ending) { + const err = new Error("Called end on pool more than once"); + return cb ? cb(err) : this.Promise.reject(err); + } + this.ending = true; + const promised = promisify(this.Promise, cb); + this._endCallback = promised.callback; + this._pulseQueue(); + return promised.result; + } + get waitingCount() { + return this._pendingQueue.length; + } + get idleCount() { + return this._idle.length; + } + get expiredCount() { + return this._clients.reduce((acc, client) => acc + (this._expired.has(client) ? 1 : 0), 0); + } + get totalCount() { + return this._clients.length; + } + }; + module.exports = Pool2; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/query.js +var require_query2 = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/query.js"(exports, module) { + "use strict"; + var EventEmitter = __require("events").EventEmitter; + var util = __require("util"); + var utils = require_utils(); + var NativeQuery = module.exports = function(config, values, callback) { + EventEmitter.call(this); + config = utils.normalizeQueryConfig(config, values, callback); + this.text = config.text; + this.values = config.values; + this.name = config.name; + this.queryMode = config.queryMode; + this.callback = config.callback; + this.state = "new"; + this._arrayMode = config.rowMode === "array"; + this._emitRowEvents = false; + this.on( + "newListener", + function(event) { + if (event === "row") this._emitRowEvents = true; + }.bind(this) + ); + }; + util.inherits(NativeQuery, EventEmitter); + var errorFieldMap = { + sqlState: "code", + statementPosition: "position", + messagePrimary: "message", + messageDetail: "detail", + messageHint: "hint", + context: "where", + schemaName: "schema", + tableName: "table", + columnName: "column", + dataTypeName: "dataType", + constraintName: "constraint", + sourceFile: "file", + sourceLine: "line", + sourceFunction: "routine" + }; + NativeQuery.prototype.handleError = function(err) { + const fields = this.native && this.native.pq.resultErrorFields(); + if (fields) { + for (const key in fields) { + const normalizedFieldName = errorFieldMap[key] || key; + err[normalizedFieldName] = fields[key]; + } + } + if (this.callback) { + this.callback(err); + } else { + this.emit("error", err); + } + this.state = "error"; + }; + NativeQuery.prototype.then = function(onSuccess, onFailure) { + return this._getPromise().then(onSuccess, onFailure); + }; + NativeQuery.prototype.catch = function(callback) { + return this._getPromise().catch(callback); + }; + NativeQuery.prototype._getPromise = function() { + if (this._promise) return this._promise; + this._promise = new Promise( + function(resolve, reject) { + this._once("end", resolve); + this._once("error", reject); + }.bind(this) + ); + return this._promise; + }; + NativeQuery.prototype.submit = function(client) { + this.state = "running"; + const self = this; + this.native = client.native; + client.native.arrayMode = this._arrayMode; + let after = /* @__PURE__ */ __name(function(err, rows, results) { + client.native.arrayMode = false; + setImmediate(function() { + self.emit("_done"); + }); + if (err) { + return self.handleError(err); + } + if (self._emitRowEvents) { + if (results.length > 1) { + rows.forEach((rowOfRows, i) => { + rowOfRows.forEach((row) => { + self.emit("row", row, results[i]); + }); + }); + } else { + rows.forEach(function(row) { + self.emit("row", row, results); + }); + } + } + self.state = "end"; + self.emit("end", results); + if (self.callback) { + self.callback(null, results); + } + }, "after"); + if (process.domain) { + after = process.domain.bind(after); + } + if (this.name) { + if (this.name.length > 63) { + console.error("Warning! Postgres only supports 63 characters for query names."); + console.error("You supplied %s (%s)", this.name, this.name.length); + console.error("This can cause conflicts and silent errors executing queries"); + } + const values = (this.values || []).map(utils.prepareValue); + if (client.namedQueries[this.name] !== void 0) { + if (this.text && client.namedQueries[this.name] !== this.text) { + const err = new Error(`Prepared statements must be unique - '${this.name}' was used for a different statement`); + return after(err); + } + return client.native.execute(this.name, values, after); + } + return client.native.prepare(this.name, this.text, values.length, function(err) { + if (err) return after(err); + client.namedQueries[self.name] = self.text; + return self.native.execute(self.name, values, after); + }); + } else if (this.values) { + if (!Array.isArray(this.values)) { + const err = new Error("Query values must be an array"); + return after(err); + } + const vals = this.values.map(utils.prepareValue); + client.native.query(this.text, vals, after); + } else if (this.queryMode === "extended") { + client.native.query(this.text, [], after); + } else { + client.native.query(this.text, after); + } + }; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/client.js +var require_client2 = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/client.js"(exports, module) { + var nodeUtils = __require("util"); + var Native; + try { + Native = __require("pg-native"); + } catch (e) { + throw e; + } + var TypeOverrides2 = require_type_overrides(); + var EventEmitter = __require("events").EventEmitter; + var util = __require("util"); + var ConnectionParameters = require_connection_parameters(); + var NativeQuery = require_query2(); + var queryQueueLengthDeprecationNotice = nodeUtils.deprecate( + () => { + }, + "Calling client.query() when the client is already executing a query is deprecated and will be removed in pg@9.0. Use async/await or an external async flow control mechanism instead." + ); + var Client2 = module.exports = function(config) { + EventEmitter.call(this); + config = config || {}; + this._Promise = config.Promise || global.Promise; + this._types = new TypeOverrides2(config.types); + this.native = new Native({ + types: this._types + }); + this._queryQueue = []; + this._ending = false; + this._connecting = false; + this._connected = false; + this._queryable = true; + this.pipeline = Boolean(config.pipeline); + this._pipelineInFlight = false; + const cp = this.connectionParameters = new ConnectionParameters(config); + if (config.nativeConnectionString) cp.nativeConnectionString = config.nativeConnectionString; + this.user = cp.user; + Object.defineProperty(this, "password", { + configurable: true, + enumerable: false, + writable: true, + value: cp.password + }); + this.database = cp.database; + this.host = cp.host; + this.port = cp.port; + this.namedQueries = {}; + }; + Client2.Query = NativeQuery; + util.inherits(Client2, EventEmitter); + Client2.prototype._errorAllQueries = function(err) { + const enqueueError = /* @__PURE__ */ __name((query) => { + process.nextTick(() => { + query.native = this.native; + query.handleError(err); + }); + }, "enqueueError"); + if (this._hasActiveQuery()) { + enqueueError(this._activeQuery); + this._activeQuery = null; + } + this._queryQueue.forEach(enqueueError); + this._queryQueue.length = 0; + }; + Client2.prototype._connect = function(cb) { + const self = this; + if (this._connecting) { + process.nextTick(() => cb(new Error("Client has already been connected. You cannot reuse a client."))); + return; + } + this._connecting = true; + this.connectionParameters.getLibpqConnectionString(function(err, conString) { + if (self.connectionParameters.nativeConnectionString) conString = self.connectionParameters.nativeConnectionString; + if (err) return cb(err); + self.native.connect(conString, function(err2) { + if (err2) { + self.native.end(); + return cb(err2); + } + self._connected = true; + self.native.on("error", function(err3) { + self._queryable = false; + self._errorAllQueries(err3); + self.emit("error", err3); + }); + self.native.on("notification", function(msg) { + self.emit("notification", { + channel: msg.relname, + payload: msg.extra + }); + }); + self.emit("connect"); + self._pulseQueryQueue(true); + cb(null, this); + }); + }); + }; + Client2.prototype.connect = function(callback) { + if (callback) { + this._connect(callback); + return; + } + return new this._Promise((resolve, reject) => { + this._connect((error) => { + if (error) { + reject(error); + } else { + resolve(this); + } + }); + }); + }; + Client2.prototype.query = function(config, values, callback) { + let query; + let result; + let readTimeout; + let readTimeoutTimer; + let queryCallback; + if (config === null || config === void 0) { + throw new TypeError("Client was passed a null or undefined query"); + } else if (typeof config.submit === "function") { + readTimeout = config.query_timeout || this.connectionParameters.query_timeout; + result = query = config; + if (typeof values === "function") { + config.callback = values; + } + } else { + readTimeout = config.query_timeout || this.connectionParameters.query_timeout; + query = new NativeQuery(config, values, callback); + if (!query.callback) { + let resolveOut, rejectOut; + result = new this._Promise((resolve, reject) => { + resolveOut = resolve; + rejectOut = reject; + }).catch((err) => { + Error.captureStackTrace(err); + throw err; + }); + query.callback = (err, res) => err ? rejectOut(err) : resolveOut(res); + } + } + if (readTimeout) { + queryCallback = query.callback || (() => { + }); + readTimeoutTimer = setTimeout(() => { + const error = new Error("Query read timeout"); + process.nextTick(() => { + query.handleError(error, this.connection); + }); + queryCallback(error); + query.callback = () => { + }; + const index = this._queryQueue.indexOf(query); + if (index > -1) { + this._queryQueue.splice(index, 1); + } + this._pulseQueryQueue(); + }, readTimeout); + query.callback = (err, res) => { + clearTimeout(readTimeoutTimer); + queryCallback(err, res); + }; + } + if (!this._queryable) { + query.native = this.native; + process.nextTick(() => { + query.handleError(new Error("Client has encountered a connection error and is not queryable")); + }); + return result; + } + if (this._ending) { + query.native = this.native; + process.nextTick(() => { + query.handleError(new Error("Client was closed and is not queryable")); + }); + return result; + } + if (this._queryQueue.length > 0 && !this.pipeline) { + queryQueueLengthDeprecationNotice(); + } + this._queryQueue.push(query); + this._pulseQueryQueue(); + return result; + }; + Client2.prototype.end = function(cb) { + const self = this; + this._ending = true; + if (this._connecting && !this._connected) { + this.once("connect", () => { + this.end(() => { + }); + }); + } + let result; + if (!cb) { + result = new this._Promise(function(resolve, reject) { + cb = /* @__PURE__ */ __name((err) => err ? reject(err) : resolve(), "cb"); + }); + } + const doEnd = /* @__PURE__ */ __name(function() { + self.native.end(function() { + self._connected = false; + self._errorAllQueries(new Error("Connection terminated")); + process.nextTick(() => { + self.emit("end"); + if (cb) cb(); + }); + }); + }, "doEnd"); + if (this.pipeline && (this._pipelineInFlight || this._queryQueue.length > 0)) { + this.once("drain", doEnd); + } else { + doEnd(); + } + return result; + }; + Client2.prototype._hasActiveQuery = function() { + return this._activeQuery && this._activeQuery.state !== "error" && this._activeQuery.state !== "end"; + }; + Client2.prototype._pulseQueryQueue = function(initialConnection) { + if (!this._connected) { + return; + } + if (this.pipeline && !initialConnection) { + return this._pulsePipelinedQueryQueue(); + } + if (this._hasActiveQuery()) { + return; + } + const query = this._queryQueue.shift(); + if (!query) { + if (!initialConnection) { + this.emit("drain"); + } + return; + } + this._activeQuery = query; + query.submit(this); + const self = this; + query.once("_done", function() { + self._pulseQueryQueue(); + }); + }; + Client2.prototype._pulsePipelinedQueryQueue = function() { + if (!this._connected || this._pipelineInFlight) { + return; + } + if (this._queryQueue.length === 0) { + if (this.hasExecuted) { + this.emit("drain"); + } + return; + } + this._pipelineInFlight = true; + const self = this; + const queries = []; + const nativeQueries = []; + const utils = require_utils(); + while (this._queryQueue.length > 0) { + const query = this._queryQueue.shift(); + this.hasExecuted = true; + nativeQueries.push(query); + const values = query.values ? query.values.map(utils.prepareValue) : null; + const pipelineEntry = { text: query.text, name: query.name, arrayMode: query._arrayMode }; + if (values) { + pipelineEntry.values = values; + } + if (query.name && this.namedQueries[query.name]) { + pipelineEntry._alreadyPrepared = true; + } + queries.push(pipelineEntry); + } + this.native.pipeline(queries, function(err, results) { + self._pipelineInFlight = false; + if (err) { + self._connected = false; + self._queryable = false; + for (let i = 0; i < nativeQueries.length; i++) { + const q = nativeQueries[i]; + q.native = self.native; + q.handleError(err); + } + self._errorAllQueries(err); + self.emit("error", err); + self.emit("end"); + return; + } + for (let i = 0; i < nativeQueries.length; i++) { + const q = nativeQueries[i]; + const r = results[i]; + q.native = self.native; + if (r.err) { + q.handleError(r.err); + } else { + if (q.name) { + self.namedQueries[q.name] = q.text; + } + q.state = "end"; + q.emit("end", r.result); + if (q.callback) { + q.callback(null, r.result); + } + } + setImmediate(function() { + q.emit("_done"); + }); + } + self._pulsePipelinedQueryQueue(); + }); + }; + Client2.prototype.cancel = function(query) { + if (this._activeQuery === query) { + this.native.cancel(function() { + }); + } else if (this._queryQueue.indexOf(query) !== -1) { + this._queryQueue.splice(this._queryQueue.indexOf(query), 1); + } + }; + Client2.prototype.ref = function() { + }; + Client2.prototype.unref = function() { + }; + Client2.prototype.setTypeParser = function(oid, format, parseFn) { + return this._types.setTypeParser(oid, format, parseFn); + }; + Client2.prototype.getTypeParser = function(oid, format) { + return this._types.getTypeParser(oid, format); + }; + Client2.prototype.isConnected = function() { + return this._connected; + }; + Client2.prototype.getTransactionStatus = function() { + return this.native.getTransactionStatus(); + }; + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/index.js +var require_native = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/native/index.js"(exports, module) { + "use strict"; + module.exports = require_client2(); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/index.js +var require_lib2 = __commonJS({ + "../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/lib/index.js"(exports, module) { + "use strict"; + var Client2 = require_client(); + var defaults2 = require_defaults(); + var Connection2 = require_connection(); + var Result2 = require_result(); + var utils = require_utils(); + var Pool2 = require_pg_pool(); + var TypeOverrides2 = require_type_overrides(); + var { DatabaseError: DatabaseError2 } = require_dist(); + var { escapeIdentifier: escapeIdentifier2, escapeLiteral: escapeLiteral2 } = require_utils(); + var poolFactory = /* @__PURE__ */ __name((Client3) => { + return class BoundPool extends Pool2 { + static { + __name(this, "BoundPool"); + } + constructor(options) { + super(options, Client3); + } + }; + }, "poolFactory"); + var PG = /* @__PURE__ */ __name(function(clientConstructor2) { + this.defaults = defaults2; + this.Client = clientConstructor2; + this.Query = this.Client.Query; + this.Pool = poolFactory(this.Client); + this._pools = []; + this.Connection = Connection2; + this.types = require_pg_types(); + this.DatabaseError = DatabaseError2; + this.TypeOverrides = TypeOverrides2; + this.escapeIdentifier = escapeIdentifier2; + this.escapeLiteral = escapeLiteral2; + this.Result = Result2; + this.utils = utils; + }, "PG"); + var clientConstructor = Client2; + var forceNative = false; + try { + forceNative = !!process.env.NODE_PG_FORCE_NATIVE; + } catch { + } + if (forceNative) { + clientConstructor = require_native(); + } + module.exports = new PG(clientConstructor); + Object.defineProperty(module.exports, "native", { + configurable: true, + enumerable: false, + get() { + let native = null; + try { + native = new PG(require_native()); + } catch (err) { + if (err.code !== "MODULE_NOT_FOUND") { + throw err; + } + } + Object.defineProperty(module.exports, "native", { + value: native + }); + return native; + } + }); + } +}); + +// ../../node_modules/.pnpm/pg@8.23.1/node_modules/pg/esm/index.mjs +var import_lib = __toESM(require_lib2(), 1); +var Client = import_lib.default.Client; +var Pool = import_lib.default.Pool; +var Connection = import_lib.default.Connection; +var types = import_lib.default.types; +var Query = import_lib.default.Query; +var DatabaseError = import_lib.default.DatabaseError; +var escapeIdentifier = import_lib.default.escapeIdentifier; +var escapeLiteral = import_lib.default.escapeLiteral; +var Result = import_lib.default.Result; +var TypeOverrides = import_lib.default.TypeOverrides; +var defaults = import_lib.default.defaults; +var esm_default = import_lib.default; + +export { + esm_default +}; diff --git a/apps/api/.output/dist/chunks/chunk-T6GW54FI.js b/apps/api/.output/dist/chunks/chunk-T6GW54FI.js new file mode 100644 index 0000000..191ebf8 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-T6GW54FI.js @@ -0,0 +1,60 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { + get: (a, b) => (typeof require !== "undefined" ? require : a)[b] +}) : x)(function(x) { + if (typeof require !== "undefined") return require.apply(this, arguments); + throw Error('Dynamic require of "' + x + '" is not supported'); +}); +var __esm = (fn, res, err) => function __init() { + if (err) throw err[0]; + try { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; + } catch (e) { + throw err = [e], e; + } +}; +var __commonJS = (cb, mod) => function __require2() { + try { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + } catch (e) { + throw mod = 0, e; + } +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +export { + __name, + __require, + __esm, + __commonJS, + __export, + __toESM, + __toCommonJS +}; diff --git a/apps/api/.output/dist/chunks/chunk-TXBARIZB.js b/apps/api/.output/dist/chunks/chunk-TXBARIZB.js new file mode 100644 index 0000000..19bd5b8 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-TXBARIZB.js @@ -0,0 +1,64774 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + esm_default +} from "./chunk-KIUJQ22G.js"; +import { + BadRequestException, + Global, + Inject, + Injectable, + Logger, + Module, + Optional, + UnauthorizedException, + init_common +} from "./chunk-BX2ML7LW.js"; +import { + require_ms +} from "./chunk-A34KYKJP.js"; +import { + BinaryDecisionDiagram, + Client, + Command, + Crc32Node, + EndpointCache, + EndpointError, + HttpRequest, + HttpResponse, + LazyJsonString, + NODE_REGION_CONFIG_FILE_OPTIONS, + NODE_REGION_CONFIG_OPTIONS, + NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, + NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, + NoOpLogger, + NormalizedSchema, + NumericValue, + ProviderError, + REGION_ENV_NAME, + REGION_INI_NAME, + SelectorType, + ServiceException, + Sha256Js, + Sha256Node, + TypeRegistry, + Uint8ArrayBlobAdapter, + _parseEpochTimestamp, + _parseRfc3339DateTimeWithOffset, + _parseRfc7231DateTime, + booleanSelector, + calculateBodyLength, + checksum_exports, + client_exports, + concatBytes, + config_exports, + createAggregatedClient, + createBufferedReadable, + createChecksumStream, + customEndpointFunctions, + dateToUtcString, + decideEndpoint, + decorateServiceException, + deref, + emitWarningIfUnsupportedVersion, + endpoints_exports, + event_streams_exports, + fromBase64, + fromUtf8, + generateIdempotencyToken, + getDefaultExtensionConfiguration, + getEndpointPlugin, + getSchemaSerdePlugin, + getSmithyContext, + getValueFromTextNode, + hasOwn, + init_checksum, + init_client, + init_config, + init_endpoints, + init_event_streams, + init_schema, + init_serde, + init_transport, + isArrayBuffer, + isIpAddress, + isValidHostLabel, + isValidHostname, + loadConfig, + loadConfigsForDefaultMode, + makeBuilder, + normalizeProvider, + parseEpochTimestamp, + parseQueryString, + parseRfc3339DateTimeWithOffset, + parseRfc7231DateTime, + parseUrl, + quoteHeader, + require_dist_cjs, + resolveDefaultRuntimeConfig, + resolveDefaultsModeConfig, + resolveEndpoint, + resolveEndpointConfig, + resolveParams, + resolveRegionConfig, + schema_exports, + sdkStreamMixin, + serde_exports, + splitEvery, + splitHeader, + toBase64, + toUint8Array, + toUtf8, + translateTraits, + v4 +} from "./chunk-6UPY3HEI.js"; +import { + __commonJS, + __esm, + __export, + __name, + __require, + __toCommonJS, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/postgres-array@3.0.4/node_modules/postgres-array/index.js +var require_postgres_array = __commonJS({ + "../../node_modules/.pnpm/postgres-array@3.0.4/node_modules/postgres-array/index.js"(exports) { + "use strict"; + var BACKSLASH2 = "\\"; + var DQUOT = '"'; + var LBRACE = "{"; + var RBRACE = "}"; + var LBRACKET = "["; + var EQUALS = "="; + var COMMA2 = ","; + var NULL_STRING = "NULL"; + function makeParseArrayWithTransform(transform2) { + const haveTransform = transform2 != null; + return /* @__PURE__ */ __name(function parseArray3(str) { + const rbraceIndex = str.length - 1; + if (rbraceIndex === 1) { + return []; + } + if (str[rbraceIndex] !== RBRACE) { + throw new Error("Invalid array text - must end with }"); + } + let position = 0; + if (str[position] === LBRACKET) { + position = str.indexOf(EQUALS) + 1; + } + if (str[position++] !== LBRACE) { + throw new Error("Invalid array text - must start with {"); + } + const output2 = []; + let current = output2; + const stack = []; + let currentStringStart = position; + let currentString = ""; + let expectValue = true; + for (; position < rbraceIndex; ++position) { + let char = str[position]; + if (char === DQUOT) { + currentStringStart = ++position; + let dquot = str.indexOf(DQUOT, currentStringStart); + let backSlash = str.indexOf(BACKSLASH2, currentStringStart); + while (backSlash !== -1 && backSlash < dquot) { + position = backSlash; + const part2 = str.slice(currentStringStart, position); + currentString += part2; + currentStringStart = ++position; + if (dquot === position++) { + dquot = str.indexOf(DQUOT, position); + } + backSlash = str.indexOf(BACKSLASH2, position); + } + position = dquot; + const part = str.slice(currentStringStart, position); + currentString += part; + current.push(haveTransform ? transform2(currentString) : currentString); + currentString = ""; + expectValue = false; + } else if (char === LBRACE) { + const newArray = []; + current.push(newArray); + stack.push(current); + current = newArray; + currentStringStart = position + 1; + expectValue = true; + } else if (char === COMMA2) { + expectValue = true; + } else if (char === RBRACE) { + expectValue = false; + const arr = stack.pop(); + if (arr === void 0) { + throw new Error("Invalid array text - too many '}'"); + } + current = arr; + } else if (expectValue) { + currentStringStart = position; + while ((char = str[position]) !== COMMA2 && char !== RBRACE && position < rbraceIndex) { + ++position; + } + const part = str.slice(currentStringStart, position--); + current.push( + part === NULL_STRING ? null : haveTransform ? transform2(part) : part + ); + expectValue = false; + } else { + throw new Error("Was expecting delimeter"); + } + } + return output2; + }, "parseArray"); + } + __name(makeParseArrayWithTransform, "makeParseArrayWithTransform"); + var parseArray2 = makeParseArrayWithTransform(); + exports.parse = (source, transform2) => transform2 != null ? makeParseArrayWithTransform(transform2)(source) : parseArray2(source); + } +}); + +// ../../node_modules/.pnpm/@prisma+client-runtime-utils@7.10.1/node_modules/@prisma/client-runtime-utils/dist/index.js +var require_dist = __commonJS({ + "../../node_modules/.pnpm/@prisma+client-runtime-utils@7.10.1/node_modules/@prisma/client-runtime-utils/dist/index.js"(exports, module) { + "use strict"; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __export3 = /* @__PURE__ */ __name((target, all) => { + for (var name2 in all) + __defProp2(target, name2, { get: all[name2], enumerable: true }); + }, "__export"); + var __copyProps = /* @__PURE__ */ __name((to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp2(to, key, { get: /* @__PURE__ */ __name(() => from[key], "get"), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }, "__copyProps"); + var __toCommonJS2 = /* @__PURE__ */ __name((mod2) => __copyProps(__defProp2({}, "__esModule", { value: true }), mod2), "__toCommonJS"); + var index_exports = {}; + __export3(index_exports, { + AnyNull: /* @__PURE__ */ __name(() => AnyNull4, "AnyNull"), + AnyNullClass: /* @__PURE__ */ __name(() => AnyNullClass, "AnyNullClass"), + DbNull: /* @__PURE__ */ __name(() => DbNull4, "DbNull"), + DbNullClass: /* @__PURE__ */ __name(() => DbNullClass, "DbNullClass"), + Decimal: /* @__PURE__ */ __name(() => Decimal4, "Decimal"), + JsonNull: /* @__PURE__ */ __name(() => JsonNull4, "JsonNull"), + JsonNullClass: /* @__PURE__ */ __name(() => JsonNullClass, "JsonNullClass"), + NullTypes: /* @__PURE__ */ __name(() => NullTypes4, "NullTypes"), + ObjectEnumValue: /* @__PURE__ */ __name(() => ObjectEnumValue2, "ObjectEnumValue"), + PrismaClientInitializationError: /* @__PURE__ */ __name(() => PrismaClientInitializationError4, "PrismaClientInitializationError"), + PrismaClientKnownRequestError: /* @__PURE__ */ __name(() => PrismaClientKnownRequestError4, "PrismaClientKnownRequestError"), + PrismaClientRustError: /* @__PURE__ */ __name(() => PrismaClientRustError, "PrismaClientRustError"), + PrismaClientRustPanicError: /* @__PURE__ */ __name(() => PrismaClientRustPanicError4, "PrismaClientRustPanicError"), + PrismaClientUnknownRequestError: /* @__PURE__ */ __name(() => PrismaClientUnknownRequestError4, "PrismaClientUnknownRequestError"), + PrismaClientValidationError: /* @__PURE__ */ __name(() => PrismaClientValidationError4, "PrismaClientValidationError"), + Sql: /* @__PURE__ */ __name(() => Sql4, "Sql"), + empty: /* @__PURE__ */ __name(() => empty4, "empty"), + hasBatchIndex: /* @__PURE__ */ __name(() => hasBatchIndex, "hasBatchIndex"), + isAnyNull: /* @__PURE__ */ __name(() => isAnyNull2, "isAnyNull"), + isDbNull: /* @__PURE__ */ __name(() => isDbNull2, "isDbNull"), + isJsonNull: /* @__PURE__ */ __name(() => isJsonNull2, "isJsonNull"), + isObjectEnumValue: /* @__PURE__ */ __name(() => isObjectEnumValue2, "isObjectEnumValue"), + join: /* @__PURE__ */ __name(() => join4, "join"), + raw: /* @__PURE__ */ __name(() => raw4, "raw"), + sql: /* @__PURE__ */ __name(() => sql2, "sql") + }); + module.exports = __toCommonJS2(index_exports); + function hasBatchIndex(value) { + return typeof value["batchRequestIdx"] === "number"; + } + __name(hasBatchIndex, "hasBatchIndex"); + function setClassName(classObject, name2) { + Object.defineProperty(classObject, "name", { + value: name2, + configurable: true + }); + } + __name(setClassName, "setClassName"); + var PrismaClientInitializationError4 = class _PrismaClientInitializationError extends Error { + static { + __name(this, "_PrismaClientInitializationError"); + } + clientVersion; + errorCode; + retryable; + constructor(message, clientVersion, errorCode) { + super(message); + this.name = "PrismaClientInitializationError"; + this.clientVersion = clientVersion; + this.errorCode = errorCode; + Error.captureStackTrace(_PrismaClientInitializationError); + } + get [Symbol.toStringTag]() { + return "PrismaClientInitializationError"; + } + }; + setClassName(PrismaClientInitializationError4, "PrismaClientInitializationError"); + var PrismaClientKnownRequestError4 = class extends Error { + static { + __name(this, "PrismaClientKnownRequestError"); + } + code; + meta; + clientVersion; + batchRequestIdx; + constructor(message, { code, clientVersion, meta: meta3, batchRequestIdx }) { + super(message); + this.name = "PrismaClientKnownRequestError"; + this.code = code; + this.clientVersion = clientVersion; + this.meta = meta3; + Object.defineProperty(this, "batchRequestIdx", { + value: batchRequestIdx, + enumerable: false, + writable: true + }); + } + get [Symbol.toStringTag]() { + return "PrismaClientKnownRequestError"; + } + }; + setClassName(PrismaClientKnownRequestError4, "PrismaClientKnownRequestError"); + function getBacktrace(log3) { + if (log3.fields?.message) { + let str = log3.fields?.message; + if (log3.fields?.file) { + str += ` in ${log3.fields.file}`; + if (log3.fields?.line) { + str += `:${log3.fields.line}`; + } + if (log3.fields?.column) { + str += `:${log3.fields.column}`; + } + } + if (log3.fields?.reason) { + str += ` +${log3.fields?.reason}`; + } + return str; + } + return "Unknown error"; + } + __name(getBacktrace, "getBacktrace"); + function isPanic(err) { + return err.fields?.message === "PANIC"; + } + __name(isPanic, "isPanic"); + var PrismaClientRustError = class extends Error { + static { + __name(this, "PrismaClientRustError"); + } + clientVersion; + _isPanic; + constructor({ clientVersion, error: error62 }) { + const backtrace = getBacktrace(error62); + super(backtrace ?? "Unknown error"); + this._isPanic = isPanic(error62); + this.clientVersion = clientVersion; + } + get [Symbol.toStringTag]() { + return "PrismaClientRustError"; + } + isPanic() { + return this._isPanic; + } + }; + setClassName(PrismaClientRustError, "PrismaClientRustError"); + var PrismaClientRustPanicError4 = class extends Error { + static { + __name(this, "PrismaClientRustPanicError"); + } + clientVersion; + constructor(message, clientVersion) { + super(message); + this.name = "PrismaClientRustPanicError"; + this.clientVersion = clientVersion; + } + get [Symbol.toStringTag]() { + return "PrismaClientRustPanicError"; + } + }; + setClassName(PrismaClientRustPanicError4, "PrismaClientRustPanicError"); + var PrismaClientUnknownRequestError4 = class extends Error { + static { + __name(this, "PrismaClientUnknownRequestError"); + } + clientVersion; + batchRequestIdx; + constructor(message, { clientVersion, batchRequestIdx }) { + super(message); + this.name = "PrismaClientUnknownRequestError"; + this.clientVersion = clientVersion; + Object.defineProperty(this, "batchRequestIdx", { + value: batchRequestIdx, + writable: true, + enumerable: false + }); + } + get [Symbol.toStringTag]() { + return "PrismaClientUnknownRequestError"; + } + }; + setClassName(PrismaClientUnknownRequestError4, "PrismaClientUnknownRequestError"); + var PrismaClientValidationError4 = class extends Error { + static { + __name(this, "PrismaClientValidationError"); + } + name = "PrismaClientValidationError"; + clientVersion; + constructor(message, { clientVersion }) { + super(message); + this.clientVersion = clientVersion; + } + get [Symbol.toStringTag]() { + return "PrismaClientValidationError"; + } + }; + setClassName(PrismaClientValidationError4, "PrismaClientValidationError"); + var secret = /* @__PURE__ */ Symbol(); + var PRISMA_OBJECT_ENUM_VALUE = /* @__PURE__ */ Symbol.for("prisma.objectEnumValue"); + var ObjectEnumValue2 = class { + static { + __name(this, "ObjectEnumValue"); + } + [PRISMA_OBJECT_ENUM_VALUE] = true; + #representation; + constructor(arg) { + if (arg === secret) { + this.#representation = `Prisma.${this._getName()}`; + } else { + this.#representation = `new Prisma.${this._getNamespace()}.${this._getName()}()`; + } + } + _getName() { + return this.constructor.name; + } + toString() { + return this.#representation; + } + }; + function setClassName2(classObject, name2) { + Object.defineProperty(classObject, "name", { + value: name2, + configurable: true + }); + } + __name(setClassName2, "setClassName2"); + var NullTypesEnumValue = class extends ObjectEnumValue2 { + static { + __name(this, "NullTypesEnumValue"); + } + _getNamespace() { + return "NullTypes"; + } + }; + var DbNullClass = class extends NullTypesEnumValue { + static { + __name(this, "DbNullClass"); + } + // Phantom private property to prevent structural type equality + // eslint-disable-next-line no-unused-private-class-members + #_brand_DbNull; + }; + setClassName2(DbNullClass, "DbNull"); + var JsonNullClass = class extends NullTypesEnumValue { + static { + __name(this, "JsonNullClass"); + } + // Phantom private property to prevent structural type equality + // eslint-disable-next-line no-unused-private-class-members + #_brand_JsonNull; + }; + setClassName2(JsonNullClass, "JsonNull"); + var AnyNullClass = class extends NullTypesEnumValue { + static { + __name(this, "AnyNullClass"); + } + // Phantom private property to prevent structural type equality + // eslint-disable-next-line no-unused-private-class-members + #_brand_AnyNull; + }; + setClassName2(AnyNullClass, "AnyNull"); + var NullTypes4 = { + DbNull: DbNullClass, + JsonNull: JsonNullClass, + AnyNull: AnyNullClass + }; + var DbNull4 = new DbNullClass(secret); + var JsonNull4 = new JsonNullClass(secret); + var AnyNull4 = new AnyNullClass(secret); + function isObjectEnumValue2(value) { + return typeof value === "object" && value !== null && value[PRISMA_OBJECT_ENUM_VALUE] === true; + } + __name(isObjectEnumValue2, "isObjectEnumValue"); + function isDbNull2(value) { + return value === DbNull4; + } + __name(isDbNull2, "isDbNull"); + function isJsonNull2(value) { + return value === JsonNull4; + } + __name(isJsonNull2, "isJsonNull"); + function isAnyNull2(value) { + return value === AnyNull4; + } + __name(isAnyNull2, "isAnyNull"); + var EXP_LIMIT = 9e15; + var MAX_DIGITS = 1e9; + var NUMERALS = "0123456789abcdef"; + var LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058"; + var PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789"; + var DEFAULTS = { + // These values must be integers within the stated ranges (inclusive). + // Most of these values can be changed at run-time using the `Decimal.config` method. + // The maximum number of significant digits of the result of a calculation or base conversion. + // E.g. `Decimal.config({ precision: 20 });` + precision: 20, + // 1 to MAX_DIGITS + // The rounding mode used when rounding to `precision`. + // + // ROUND_UP 0 Away from zero. + // ROUND_DOWN 1 Towards zero. + // ROUND_CEIL 2 Towards +Infinity. + // ROUND_FLOOR 3 Towards -Infinity. + // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up. + // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down. + // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour. + // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity. + // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity. + // + // E.g. + // `Decimal.rounding = 4;` + // `Decimal.rounding = Decimal.ROUND_HALF_UP;` + rounding: 4, + // 0 to 8 + // The modulo mode used when calculating the modulus: a mod n. + // The quotient (q = a / n) is calculated according to the corresponding rounding mode. + // The remainder (r) is calculated as: r = a - n * q. + // + // UP 0 The remainder is positive if the dividend is negative, else is negative. + // DOWN 1 The remainder has the same sign as the dividend (JavaScript %). + // FLOOR 3 The remainder has the same sign as the divisor (Python %). + // HALF_EVEN 6 The IEEE 754 remainder function. + // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive. + // + // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian + // division (9) are commonly used for the modulus operation. The other rounding modes can also + // be used, but they may not give useful results. + modulo: 1, + // 0 to 9 + // The exponent value at and beneath which `toString` returns exponential notation. + // JavaScript numbers: -7 + toExpNeg: -7, + // 0 to -EXP_LIMIT + // The exponent value at and above which `toString` returns exponential notation. + // JavaScript numbers: 21 + toExpPos: 21, + // 0 to EXP_LIMIT + // The minimum exponent value, beneath which underflow to zero occurs. + // JavaScript numbers: -324 (5e-324) + minE: -EXP_LIMIT, + // -1 to -EXP_LIMIT + // The maximum exponent value, above which overflow to Infinity occurs. + // JavaScript numbers: 308 (1.7976931348623157e+308) + maxE: EXP_LIMIT, + // 1 to EXP_LIMIT + // Whether to use cryptographically-secure random number generation, if available. + crypto: false + // true/false + }; + var inexact; + var quadrant; + var external = true; + var decimalError = "[DecimalError] "; + var invalidArgument = decimalError + "Invalid argument: "; + var precisionLimitExceeded = decimalError + "Precision limit exceeded"; + var cryptoUnavailable = decimalError + "crypto unavailable"; + var tag = "[object Decimal]"; + var mathfloor = Math.floor; + var mathpow = Math.pow; + var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i; + var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i; + var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i; + var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; + var BASE = 1e7; + var LOG_BASE = 7; + var MAX_SAFE_INTEGER = 9007199254740991; + var LN10_PRECISION = LN10.length - 1; + var PI_PRECISION = PI.length - 1; + var P = { toStringTag: tag }; + P.absoluteValue = P.abs = function() { + var x = new this.constructor(this); + if (x.s < 0) x.s = 1; + return finalise(x); + }; + P.ceil = function() { + return finalise(new this.constructor(this), this.e + 1, 2); + }; + P.clampedTo = P.clamp = function(min2, max2) { + var k5, x = this, Ctor = x.constructor; + min2 = new Ctor(min2); + max2 = new Ctor(max2); + if (!min2.s || !max2.s) return new Ctor(NaN); + if (min2.gt(max2)) throw Error(invalidArgument + max2); + k5 = x.cmp(min2); + return k5 < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x); + }; + P.comparedTo = P.cmp = function(y) { + var i5, j5, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s; + if (!xd || !yd) { + return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1; + } + if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0; + if (xs !== ys) return xs; + if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1; + xdL = xd.length; + ydL = yd.length; + for (i5 = 0, j5 = xdL < ydL ? xdL : ydL; i5 < j5; ++i5) { + if (xd[i5] !== yd[i5]) return xd[i5] > yd[i5] ^ xs < 0 ? 1 : -1; + } + return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1; + }; + P.cosine = P.cos = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.d) return new Ctor(NaN); + if (!x.d[0]) return new Ctor(1); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; + Ctor.rounding = 1; + x = cosine(Ctor, toLessThanHalfPi(Ctor, x)); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true); + }; + P.cubeRoot = P.cbrt = function() { + var e5, m3, n3, r5, rep, s2, sd, t, t32, t3plusx, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) return new Ctor(x); + external = false; + s2 = x.s * mathpow(x.s * x, 1 / 3); + if (!s2 || Math.abs(s2) == 1 / 0) { + n3 = digitsToString(x.d); + e5 = x.e; + if (s2 = (e5 - n3.length + 1) % 3) n3 += s2 == 1 || s2 == -2 ? "0" : "00"; + s2 = mathpow(n3, 1 / 3); + e5 = mathfloor((e5 + 1) / 3) - (e5 % 3 == (e5 < 0 ? -1 : 2)); + if (s2 == 1 / 0) { + n3 = "5e" + e5; + } else { + n3 = s2.toExponential(); + n3 = n3.slice(0, n3.indexOf("e") + 1) + e5; + } + r5 = new Ctor(n3); + r5.s = x.s; + } else { + r5 = new Ctor(s2.toString()); + } + sd = (e5 = Ctor.precision) + 3; + for (; ; ) { + t = r5; + t32 = t.times(t).times(t); + t3plusx = t32.plus(x); + r5 = divide(t3plusx.plus(x).times(t), t3plusx.plus(t32), sd + 2, 1); + if (digitsToString(t.d).slice(0, sd) === (n3 = digitsToString(r5.d)).slice(0, sd)) { + n3 = n3.slice(sd - 3, sd + 1); + if (n3 == "9999" || !rep && n3 == "4999") { + if (!rep) { + finalise(t, e5 + 1, 0); + if (t.times(t).times(t).eq(x)) { + r5 = t; + break; + } + } + sd += 4; + rep = 1; + } else { + if (!+n3 || !+n3.slice(1) && n3.charAt(0) == "5") { + finalise(r5, e5 + 1, 1); + m3 = !r5.times(r5).times(r5).eq(x); + } + break; + } + } + } + external = true; + return finalise(r5, e5, Ctor.rounding, m3); + }; + P.decimalPlaces = P.dp = function() { + var w, d5 = this.d, n3 = NaN; + if (d5) { + w = d5.length - 1; + n3 = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE; + w = d5[w]; + if (w) for (; w % 10 == 0; w /= 10) n3--; + if (n3 < 0) n3 = 0; + } + return n3; + }; + P.dividedBy = P.div = function(y) { + return divide(this, new this.constructor(y)); + }; + P.dividedToIntegerBy = P.divToInt = function(y) { + var x = this, Ctor = x.constructor; + return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding); + }; + P.equals = P.eq = function(y) { + return this.cmp(y) === 0; + }; + P.floor = function() { + return finalise(new this.constructor(this), this.e + 1, 3); + }; + P.greaterThan = P.gt = function(y) { + return this.cmp(y) > 0; + }; + P.greaterThanOrEqualTo = P.gte = function(y) { + var k5 = this.cmp(y); + return k5 == 1 || k5 === 0; + }; + P.hyperbolicCosine = P.cosh = function() { + var k5, n3, pr, rm, len, x = this, Ctor = x.constructor, one = new Ctor(1); + if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN); + if (x.isZero()) return one; + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; + Ctor.rounding = 1; + len = x.d.length; + if (len < 32) { + k5 = Math.ceil(len / 3); + n3 = (1 / tinyPow(4, k5)).toString(); + } else { + k5 = 16; + n3 = "2.3283064365386962890625e-10"; + } + x = taylorSeries(Ctor, 1, x.times(n3), new Ctor(1), true); + var cosh2_x, i5 = k5, d8 = new Ctor(8); + for (; i5--; ) { + cosh2_x = x.times(x); + x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8)))); + } + return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true); + }; + P.hyperbolicSine = P.sinh = function() { + var k5, pr, rm, len, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; + Ctor.rounding = 1; + len = x.d.length; + if (len < 3) { + x = taylorSeries(Ctor, 2, x, x, true); + } else { + k5 = 1.4 * Math.sqrt(len); + k5 = k5 > 16 ? 16 : k5 | 0; + x = x.times(1 / tinyPow(5, k5)); + x = taylorSeries(Ctor, 2, x, x, true); + var sinh2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k5--; ) { + sinh2_x = x.times(x); + x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20)))); + } + } + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(x, pr, rm, true); + }; + P.hyperbolicTangent = P.tanh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) return new Ctor(x.s); + if (x.isZero()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 7; + Ctor.rounding = 1; + return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm); + }; + P.inverseCosine = P.acos = function() { + var x = this, Ctor = x.constructor, k5 = x.abs().cmp(1), pr = Ctor.precision, rm = Ctor.rounding; + if (k5 !== -1) { + return k5 === 0 ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0) : new Ctor(NaN); + } + if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5); + Ctor.precision = pr + 6; + Ctor.rounding = 1; + x = new Ctor(1).minus(x).div(x.plus(1)).sqrt().atan(); + Ctor.precision = pr; + Ctor.rounding = rm; + return x.times(2); + }; + P.inverseHyperbolicCosine = P.acosh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN); + if (!x.isFinite()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4; + Ctor.rounding = 1; + external = false; + x = x.times(x).minus(1).sqrt().plus(x); + external = true; + Ctor.precision = pr; + Ctor.rounding = rm; + return x.ln(); + }; + P.inverseHyperbolicSine = P.asinh = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite() || x.isZero()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6; + Ctor.rounding = 1; + external = false; + x = x.times(x).plus(1).sqrt().plus(x); + external = true; + Ctor.precision = pr; + Ctor.rounding = rm; + return x.ln(); + }; + P.inverseHyperbolicTangent = P.atanh = function() { + var pr, rm, wpr, xsd, x = this, Ctor = x.constructor; + if (!x.isFinite()) return new Ctor(NaN); + if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN); + pr = Ctor.precision; + rm = Ctor.rounding; + xsd = x.sd(); + if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true); + Ctor.precision = wpr = xsd - x.e; + x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1); + Ctor.precision = pr + 4; + Ctor.rounding = 1; + x = x.ln(); + Ctor.precision = pr; + Ctor.rounding = rm; + return x.times(0.5); + }; + P.inverseSine = P.asin = function() { + var halfPi, k5, pr, rm, x = this, Ctor = x.constructor; + if (x.isZero()) return new Ctor(x); + k5 = x.abs().cmp(1); + pr = Ctor.precision; + rm = Ctor.rounding; + if (k5 !== -1) { + if (k5 === 0) { + halfPi = getPi(Ctor, pr + 4, rm).times(0.5); + halfPi.s = x.s; + return halfPi; + } + return new Ctor(NaN); + } + Ctor.precision = pr + 6; + Ctor.rounding = 1; + x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan(); + Ctor.precision = pr; + Ctor.rounding = rm; + return x.times(2); + }; + P.inverseTangent = P.atan = function() { + var i5, j5, k5, n3, px, t, r5, wpr, x2, x = this, Ctor = x.constructor, pr = Ctor.precision, rm = Ctor.rounding; + if (!x.isFinite()) { + if (!x.s) return new Ctor(NaN); + if (pr + 4 <= PI_PRECISION) { + r5 = getPi(Ctor, pr + 4, rm).times(0.5); + r5.s = x.s; + return r5; + } + } else if (x.isZero()) { + return new Ctor(x); + } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) { + r5 = getPi(Ctor, pr + 4, rm).times(0.25); + r5.s = x.s; + return r5; + } + Ctor.precision = wpr = pr + 10; + Ctor.rounding = 1; + k5 = Math.min(28, wpr / LOG_BASE + 2 | 0); + for (i5 = k5; i5; --i5) x = x.div(x.times(x).plus(1).sqrt().plus(1)); + external = false; + j5 = Math.ceil(wpr / LOG_BASE); + n3 = 1; + x2 = x.times(x); + r5 = new Ctor(x); + px = x; + for (; i5 !== -1; ) { + px = px.times(x2); + t = r5.minus(px.div(n3 += 2)); + px = px.times(x2); + r5 = t.plus(px.div(n3 += 2)); + if (r5.d[j5] !== void 0) for (i5 = j5; r5.d[i5] === t.d[i5] && i5--; ) ; + } + if (k5) r5 = r5.times(2 << k5 - 1); + external = true; + return finalise(r5, Ctor.precision = pr, Ctor.rounding = rm, true); + }; + P.isFinite = function() { + return !!this.d; + }; + P.isInteger = P.isInt = function() { + return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2; + }; + P.isNaN = function() { + return !this.s; + }; + P.isNegative = P.isNeg = function() { + return this.s < 0; + }; + P.isPositive = P.isPos = function() { + return this.s > 0; + }; + P.isZero = function() { + return !!this.d && this.d[0] === 0; + }; + P.lessThan = P.lt = function(y) { + return this.cmp(y) < 0; + }; + P.lessThanOrEqualTo = P.lte = function(y) { + return this.cmp(y) < 1; + }; + P.logarithm = P.log = function(base) { + var isBase10, d5, denominator, k5, inf, num, sd, r5, arg = this, Ctor = arg.constructor, pr = Ctor.precision, rm = Ctor.rounding, guard = 5; + if (base == null) { + base = new Ctor(10); + isBase10 = true; + } else { + base = new Ctor(base); + d5 = base.d; + if (base.s < 0 || !d5 || !d5[0] || base.eq(1)) return new Ctor(NaN); + isBase10 = base.eq(10); + } + d5 = arg.d; + if (arg.s < 0 || !d5 || !d5[0] || arg.eq(1)) { + return new Ctor(d5 && !d5[0] ? -1 / 0 : arg.s != 1 ? NaN : d5 ? 0 : 1 / 0); + } + if (isBase10) { + if (d5.length > 1) { + inf = true; + } else { + for (k5 = d5[0]; k5 % 10 === 0; ) k5 /= 10; + inf = k5 !== 1; + } + } + external = false; + sd = pr + guard; + num = naturalLogarithm(arg, sd); + denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); + r5 = divide(num, denominator, sd, 1); + if (checkRoundingDigits(r5.d, k5 = pr, rm)) { + do { + sd += 10; + num = naturalLogarithm(arg, sd); + denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); + r5 = divide(num, denominator, sd, 1); + if (!inf) { + if (+digitsToString(r5.d).slice(k5 + 1, k5 + 15) + 1 == 1e14) { + r5 = finalise(r5, pr + 1, 0); + } + break; + } + } while (checkRoundingDigits(r5.d, k5 += 10, rm)); + } + external = true; + return finalise(r5, pr, rm); + }; + P.minus = P.sub = function(y) { + var d5, e5, i5, j5, k5, len, pr, rm, xd, xe, xLTy, yd, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.d) { + if (!x.s || !y.s) y = new Ctor(NaN); + else if (x.d) y.s = -y.s; + else y = new Ctor(y.d || x.s !== y.s ? x : NaN); + return y; + } + if (x.s != y.s) { + y.s = -y.s; + return x.plus(y); + } + xd = x.d; + yd = y.d; + pr = Ctor.precision; + rm = Ctor.rounding; + if (!xd[0] || !yd[0]) { + if (yd[0]) y.s = -y.s; + else if (xd[0]) y = new Ctor(x); + else return new Ctor(rm === 3 ? -0 : 0); + return external ? finalise(y, pr, rm) : y; + } + e5 = mathfloor(y.e / LOG_BASE); + xe = mathfloor(x.e / LOG_BASE); + xd = xd.slice(); + k5 = xe - e5; + if (k5) { + xLTy = k5 < 0; + if (xLTy) { + d5 = xd; + k5 = -k5; + len = yd.length; + } else { + d5 = yd; + e5 = xe; + len = xd.length; + } + i5 = Math.max(Math.ceil(pr / LOG_BASE), len) + 2; + if (k5 > i5) { + k5 = i5; + d5.length = 1; + } + d5.reverse(); + for (i5 = k5; i5--; ) d5.push(0); + d5.reverse(); + } else { + i5 = xd.length; + len = yd.length; + xLTy = i5 < len; + if (xLTy) len = i5; + for (i5 = 0; i5 < len; i5++) { + if (xd[i5] != yd[i5]) { + xLTy = xd[i5] < yd[i5]; + break; + } + } + k5 = 0; + } + if (xLTy) { + d5 = xd; + xd = yd; + yd = d5; + y.s = -y.s; + } + len = xd.length; + for (i5 = yd.length - len; i5 > 0; --i5) xd[len++] = 0; + for (i5 = yd.length; i5 > k5; ) { + if (xd[--i5] < yd[i5]) { + for (j5 = i5; j5 && xd[--j5] === 0; ) xd[j5] = BASE - 1; + --xd[j5]; + xd[i5] += BASE; + } + xd[i5] -= yd[i5]; + } + for (; xd[--len] === 0; ) xd.pop(); + for (; xd[0] === 0; xd.shift()) --e5; + if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0); + y.d = xd; + y.e = getBase10Exponent(xd, e5); + return external ? finalise(y, pr, rm) : y; + }; + P.modulo = P.mod = function(y) { + var q3, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN); + if (!y.d || x.d && !x.d[0]) { + return finalise(new Ctor(x), Ctor.precision, Ctor.rounding); + } + external = false; + if (Ctor.modulo == 9) { + q3 = divide(x, y.abs(), 0, 3, 1); + q3.s *= y.s; + } else { + q3 = divide(x, y, 0, Ctor.modulo, 1); + } + q3 = q3.times(y); + external = true; + return x.minus(q3); + }; + P.naturalExponential = P.exp = function() { + return naturalExponential(this); + }; + P.naturalLogarithm = P.ln = function() { + return naturalLogarithm(this); + }; + P.negated = P.neg = function() { + var x = new this.constructor(this); + x.s = -x.s; + return finalise(x); + }; + P.plus = P.add = function(y) { + var carry, d5, e5, i5, k5, len, pr, rm, xd, yd, x = this, Ctor = x.constructor; + y = new Ctor(y); + if (!x.d || !y.d) { + if (!x.s || !y.s) y = new Ctor(NaN); + else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN); + return y; + } + if (x.s != y.s) { + y.s = -y.s; + return x.minus(y); + } + xd = x.d; + yd = y.d; + pr = Ctor.precision; + rm = Ctor.rounding; + if (!xd[0] || !yd[0]) { + if (!yd[0]) y = new Ctor(x); + return external ? finalise(y, pr, rm) : y; + } + k5 = mathfloor(x.e / LOG_BASE); + e5 = mathfloor(y.e / LOG_BASE); + xd = xd.slice(); + i5 = k5 - e5; + if (i5) { + if (i5 < 0) { + d5 = xd; + i5 = -i5; + len = yd.length; + } else { + d5 = yd; + e5 = k5; + len = xd.length; + } + k5 = Math.ceil(pr / LOG_BASE); + len = k5 > len ? k5 + 1 : len + 1; + if (i5 > len) { + i5 = len; + d5.length = 1; + } + d5.reverse(); + for (; i5--; ) d5.push(0); + d5.reverse(); + } + len = xd.length; + i5 = yd.length; + if (len - i5 < 0) { + i5 = len; + d5 = yd; + yd = xd; + xd = d5; + } + for (carry = 0; i5; ) { + carry = (xd[--i5] = xd[i5] + yd[i5] + carry) / BASE | 0; + xd[i5] %= BASE; + } + if (carry) { + xd.unshift(carry); + ++e5; + } + for (len = xd.length; xd[--len] == 0; ) xd.pop(); + y.d = xd; + y.e = getBase10Exponent(xd, e5); + return external ? finalise(y, pr, rm) : y; + }; + P.precision = P.sd = function(z2) { + var k5, x = this; + if (z2 !== void 0 && z2 !== !!z2 && z2 !== 1 && z2 !== 0) throw Error(invalidArgument + z2); + if (x.d) { + k5 = getPrecision(x.d); + if (z2 && x.e + 1 > k5) k5 = x.e + 1; + } else { + k5 = NaN; + } + return k5; + }; + P.round = function() { + var x = this, Ctor = x.constructor; + return finalise(new Ctor(x), x.e + 1, Ctor.rounding); + }; + P.sine = P.sin = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) return new Ctor(NaN); + if (x.isZero()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; + Ctor.rounding = 1; + x = sine(Ctor, toLessThanHalfPi(Ctor, x)); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true); + }; + P.squareRoot = P.sqrt = function() { + var m3, n3, sd, r5, rep, t, x = this, d5 = x.d, e5 = x.e, s2 = x.s, Ctor = x.constructor; + if (s2 !== 1 || !d5 || !d5[0]) { + return new Ctor(!s2 || s2 < 0 && (!d5 || d5[0]) ? NaN : d5 ? x : 1 / 0); + } + external = false; + s2 = Math.sqrt(+x); + if (s2 == 0 || s2 == 1 / 0) { + n3 = digitsToString(d5); + if ((n3.length + e5) % 2 == 0) n3 += "0"; + s2 = Math.sqrt(n3); + e5 = mathfloor((e5 + 1) / 2) - (e5 < 0 || e5 % 2); + if (s2 == 1 / 0) { + n3 = "5e" + e5; + } else { + n3 = s2.toExponential(); + n3 = n3.slice(0, n3.indexOf("e") + 1) + e5; + } + r5 = new Ctor(n3); + } else { + r5 = new Ctor(s2.toString()); + } + sd = (e5 = Ctor.precision) + 3; + for (; ; ) { + t = r5; + r5 = t.plus(divide(x, t, sd + 2, 1)).times(0.5); + if (digitsToString(t.d).slice(0, sd) === (n3 = digitsToString(r5.d)).slice(0, sd)) { + n3 = n3.slice(sd - 3, sd + 1); + if (n3 == "9999" || !rep && n3 == "4999") { + if (!rep) { + finalise(t, e5 + 1, 0); + if (t.times(t).eq(x)) { + r5 = t; + break; + } + } + sd += 4; + rep = 1; + } else { + if (!+n3 || !+n3.slice(1) && n3.charAt(0) == "5") { + finalise(r5, e5 + 1, 1); + m3 = !r5.times(r5).eq(x); + } + break; + } + } + } + external = true; + return finalise(r5, e5, Ctor.rounding, m3); + }; + P.tangent = P.tan = function() { + var pr, rm, x = this, Ctor = x.constructor; + if (!x.isFinite()) return new Ctor(NaN); + if (x.isZero()) return new Ctor(x); + pr = Ctor.precision; + rm = Ctor.rounding; + Ctor.precision = pr + 10; + Ctor.rounding = 1; + x = x.sin(); + x.s = 1; + x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0); + Ctor.precision = pr; + Ctor.rounding = rm; + return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true); + }; + P.times = P.mul = function(y) { + var carry, e5, i5, k5, r5, rL, t, xdL, ydL, x = this, Ctor = x.constructor, xd = x.d, yd = (y = new Ctor(y)).d; + y.s *= x.s; + if (!xd || !xd[0] || !yd || !yd[0]) { + return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd ? NaN : !xd || !yd ? y.s / 0 : y.s * 0); + } + e5 = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE); + xdL = xd.length; + ydL = yd.length; + if (xdL < ydL) { + r5 = xd; + xd = yd; + yd = r5; + rL = xdL; + xdL = ydL; + ydL = rL; + } + r5 = []; + rL = xdL + ydL; + for (i5 = rL; i5--; ) r5.push(0); + for (i5 = ydL; --i5 >= 0; ) { + carry = 0; + for (k5 = xdL + i5; k5 > i5; ) { + t = r5[k5] + yd[i5] * xd[k5 - i5 - 1] + carry; + r5[k5--] = t % BASE | 0; + carry = t / BASE | 0; + } + r5[k5] = (r5[k5] + carry) % BASE | 0; + } + for (; !r5[--rL]; ) r5.pop(); + if (carry) ++e5; + else r5.shift(); + y.d = r5; + y.e = getBase10Exponent(r5, e5); + return external ? finalise(y, Ctor.precision, Ctor.rounding) : y; + }; + P.toBinary = function(sd, rm) { + return toStringBinary(this, 2, sd, rm); + }; + P.toDecimalPlaces = P.toDP = function(dp, rm) { + var x = this, Ctor = x.constructor; + x = new Ctor(x); + if (dp === void 0) return x; + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + return finalise(x, dp + x.e + 1, rm); + }; + P.toExponential = function(dp, rm) { + var str, x = this, Ctor = x.constructor; + if (dp === void 0) { + str = finiteToString(x, true); + } else { + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + x = finalise(new Ctor(x), dp + 1, rm); + str = finiteToString(x, true, dp + 1); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; + }; + P.toFixed = function(dp, rm) { + var str, y, x = this, Ctor = x.constructor; + if (dp === void 0) { + str = finiteToString(x); + } else { + checkInt32(dp, 0, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + y = finalise(new Ctor(x), dp + x.e + 1, rm); + str = finiteToString(y, false, dp + y.e + 1); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; + }; + P.toFraction = function(maxD) { + var d5, d0, d1, d22, e5, k5, n3, n05, n1, pr, q3, r5, x = this, xd = x.d, Ctor = x.constructor; + if (!xd) return new Ctor(x); + n1 = d0 = new Ctor(1); + d1 = n05 = new Ctor(0); + d5 = new Ctor(d1); + e5 = d5.e = getPrecision(xd) - x.e - 1; + k5 = e5 % LOG_BASE; + d5.d[0] = mathpow(10, k5 < 0 ? LOG_BASE + k5 : k5); + if (maxD == null) { + maxD = e5 > 0 ? d5 : n1; + } else { + n3 = new Ctor(maxD); + if (!n3.isInt() || n3.lt(n1)) throw Error(invalidArgument + n3); + maxD = n3.gt(d5) ? e5 > 0 ? d5 : n1 : n3; + } + external = false; + n3 = new Ctor(digitsToString(xd)); + pr = Ctor.precision; + Ctor.precision = e5 = xd.length * LOG_BASE * 2; + for (; ; ) { + q3 = divide(n3, d5, 0, 1, 1); + d22 = d0.plus(q3.times(d1)); + if (d22.cmp(maxD) == 1) break; + d0 = d1; + d1 = d22; + d22 = n1; + n1 = n05.plus(q3.times(d22)); + n05 = d22; + d22 = d5; + d5 = n3.minus(q3.times(d22)); + n3 = d22; + } + d22 = divide(maxD.minus(d0), d1, 0, 1, 1); + n05 = n05.plus(d22.times(n1)); + d0 = d0.plus(d22.times(d1)); + n05.s = n1.s = x.s; + r5 = divide(n1, d1, e5, 1).minus(x).abs().cmp(divide(n05, d0, e5, 1).minus(x).abs()) < 1 ? [n1, d1] : [n05, d0]; + Ctor.precision = pr; + external = true; + return r5; + }; + P.toHexadecimal = P.toHex = function(sd, rm) { + return toStringBinary(this, 16, sd, rm); + }; + P.toNearest = function(y, rm) { + var x = this, Ctor = x.constructor; + x = new Ctor(x); + if (y == null) { + if (!x.d) return x; + y = new Ctor(1); + rm = Ctor.rounding; + } else { + y = new Ctor(y); + if (rm === void 0) { + rm = Ctor.rounding; + } else { + checkInt32(rm, 0, 8); + } + if (!x.d) return y.s ? x : y; + if (!y.d) { + if (y.s) y.s = x.s; + return y; + } + } + if (y.d[0]) { + external = false; + x = divide(x, y, 0, rm, 1).times(y); + external = true; + finalise(x); + } else { + y.s = x.s; + x = y; + } + return x; + }; + P.toNumber = function() { + return +this; + }; + P.toOctal = function(sd, rm) { + return toStringBinary(this, 8, sd, rm); + }; + P.toPower = P.pow = function(y) { + var e5, k5, pr, r5, rm, s2, x = this, Ctor = x.constructor, yn = +(y = new Ctor(y)); + if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn)); + x = new Ctor(x); + if (x.eq(1)) return x; + pr = Ctor.precision; + rm = Ctor.rounding; + if (y.eq(1)) return finalise(x, pr, rm); + e5 = mathfloor(y.e / LOG_BASE); + if (e5 >= y.d.length - 1 && (k5 = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) { + r5 = intPow(Ctor, x, k5, pr); + return y.s < 0 ? new Ctor(1).div(r5) : finalise(r5, pr, rm); + } + s2 = x.s; + if (s2 < 0) { + if (e5 < y.d.length - 1) return new Ctor(NaN); + if ((y.d[e5] & 1) == 0) s2 = 1; + if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) { + x.s = s2; + return x; + } + } + k5 = mathpow(+x, yn); + e5 = k5 == 0 || !isFinite(k5) ? mathfloor(yn * (Math.log("0." + digitsToString(x.d)) / Math.LN10 + x.e + 1)) : new Ctor(k5 + "").e; + if (e5 > Ctor.maxE + 1 || e5 < Ctor.minE - 1) return new Ctor(e5 > 0 ? s2 / 0 : 0); + external = false; + Ctor.rounding = x.s = 1; + k5 = Math.min(12, (e5 + "").length); + r5 = naturalExponential(y.times(naturalLogarithm(x, pr + k5)), pr); + if (r5.d) { + r5 = finalise(r5, pr + 5, 1); + if (checkRoundingDigits(r5.d, pr, rm)) { + e5 = pr + 10; + r5 = finalise(naturalExponential(y.times(naturalLogarithm(x, e5 + k5)), e5), e5 + 5, 1); + if (+digitsToString(r5.d).slice(pr + 1, pr + 15) + 1 == 1e14) { + r5 = finalise(r5, pr + 1, 0); + } + } + } + r5.s = s2; + external = true; + Ctor.rounding = rm; + return finalise(r5, pr, rm); + }; + P.toPrecision = function(sd, rm) { + var str, x = this, Ctor = x.constructor; + if (sd === void 0) { + str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + } else { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + x = finalise(new Ctor(x), sd, rm); + str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd); + } + return x.isNeg() && !x.isZero() ? "-" + str : str; + }; + P.toSignificantDigits = P.toSD = function(sd, rm) { + var x = this, Ctor = x.constructor; + if (sd === void 0) { + sd = Ctor.precision; + rm = Ctor.rounding; + } else { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + } + return finalise(new Ctor(x), sd, rm); + }; + P.toString = function() { + var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + return x.isNeg() && !x.isZero() ? "-" + str : str; + }; + P.truncated = P.trunc = function() { + return finalise(new this.constructor(this), this.e + 1, 1); + }; + P.valueOf = P.toJSON = function() { + var x = this, Ctor = x.constructor, str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); + return x.isNeg() ? "-" + str : str; + }; + function digitsToString(d5) { + var i5, k5, ws, indexOfLastWord = d5.length - 1, str = "", w = d5[0]; + if (indexOfLastWord > 0) { + str += w; + for (i5 = 1; i5 < indexOfLastWord; i5++) { + ws = d5[i5] + ""; + k5 = LOG_BASE - ws.length; + if (k5) str += getZeroString(k5); + str += ws; + } + w = d5[i5]; + ws = w + ""; + k5 = LOG_BASE - ws.length; + if (k5) str += getZeroString(k5); + } else if (w === 0) { + return "0"; + } + for (; w % 10 === 0; ) w /= 10; + return str + w; + } + __name(digitsToString, "digitsToString"); + function checkInt32(i5, min2, max2) { + if (i5 !== ~~i5 || i5 < min2 || i5 > max2) { + throw Error(invalidArgument + i5); + } + } + __name(checkInt32, "checkInt32"); + function checkRoundingDigits(d5, i5, rm, repeating) { + var di, k5, r5, rd; + for (k5 = d5[0]; k5 >= 10; k5 /= 10) --i5; + if (--i5 < 0) { + i5 += LOG_BASE; + di = 0; + } else { + di = Math.ceil((i5 + 1) / LOG_BASE); + i5 %= LOG_BASE; + } + k5 = mathpow(10, LOG_BASE - i5); + rd = d5[di] % k5 | 0; + if (repeating == null) { + if (i5 < 3) { + if (i5 == 0) rd = rd / 100 | 0; + else if (i5 == 1) rd = rd / 10 | 0; + r5 = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 5e4 || rd == 0; + } else { + r5 = (rm < 4 && rd + 1 == k5 || rm > 3 && rd + 1 == k5 / 2) && (d5[di + 1] / k5 / 100 | 0) == mathpow(10, i5 - 2) - 1 || (rd == k5 / 2 || rd == 0) && (d5[di + 1] / k5 / 100 | 0) == 0; + } + } else { + if (i5 < 4) { + if (i5 == 0) rd = rd / 1e3 | 0; + else if (i5 == 1) rd = rd / 100 | 0; + else if (i5 == 2) rd = rd / 10 | 0; + r5 = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999; + } else { + r5 = ((repeating || rm < 4) && rd + 1 == k5 || !repeating && rm > 3 && rd + 1 == k5 / 2) && (d5[di + 1] / k5 / 1e3 | 0) == mathpow(10, i5 - 3) - 1; + } + } + return r5; + } + __name(checkRoundingDigits, "checkRoundingDigits"); + function convertBase(str, baseIn, baseOut) { + var j5, arr = [0], arrL, i5 = 0, strL = str.length; + for (; i5 < strL; ) { + for (arrL = arr.length; arrL--; ) arr[arrL] *= baseIn; + arr[0] += NUMERALS.indexOf(str.charAt(i5++)); + for (j5 = 0; j5 < arr.length; j5++) { + if (arr[j5] > baseOut - 1) { + if (arr[j5 + 1] === void 0) arr[j5 + 1] = 0; + arr[j5 + 1] += arr[j5] / baseOut | 0; + arr[j5] %= baseOut; + } + } + } + return arr.reverse(); + } + __name(convertBase, "convertBase"); + function cosine(Ctor, x) { + var k5, len, y; + if (x.isZero()) return x; + len = x.d.length; + if (len < 32) { + k5 = Math.ceil(len / 3); + y = (1 / tinyPow(4, k5)).toString(); + } else { + k5 = 16; + y = "2.3283064365386962890625e-10"; + } + Ctor.precision += k5; + x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1)); + for (var i5 = k5; i5--; ) { + var cos2x = x.times(x); + x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1); + } + Ctor.precision -= k5; + return x; + } + __name(cosine, "cosine"); + var divide = /* @__PURE__ */ (function() { + function multiplyInteger(x, k5, base) { + var temp, carry = 0, i5 = x.length; + for (x = x.slice(); i5--; ) { + temp = x[i5] * k5 + carry; + x[i5] = temp % base | 0; + carry = temp / base | 0; + } + if (carry) x.unshift(carry); + return x; + } + __name(multiplyInteger, "multiplyInteger"); + function compare(a5, b5, aL, bL) { + var i5, r5; + if (aL != bL) { + r5 = aL > bL ? 1 : -1; + } else { + for (i5 = r5 = 0; i5 < aL; i5++) { + if (a5[i5] != b5[i5]) { + r5 = a5[i5] > b5[i5] ? 1 : -1; + break; + } + } + } + return r5; + } + __name(compare, "compare"); + function subtract(a5, b5, aL, base) { + var i5 = 0; + for (; aL--; ) { + a5[aL] -= i5; + i5 = a5[aL] < b5[aL] ? 1 : 0; + a5[aL] = i5 * base + a5[aL] - b5[aL]; + } + for (; !a5[0] && a5.length > 1; ) a5.shift(); + } + __name(subtract, "subtract"); + return function(x, y, pr, rm, dp, base) { + var cmp, e5, i5, k5, logBase, more, prod, prodL, q3, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz, Ctor = x.constructor, sign22 = x.s == y.s ? 1 : -1, xd = x.d, yd = y.d; + if (!xd || !xd[0] || !yd || !yd[0]) { + return new Ctor( + // Return NaN if either NaN, or both Infinity or 0. + !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN : ( + // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0. + xd && xd[0] == 0 || !yd ? sign22 * 0 : sign22 / 0 + ) + ); + } + if (base) { + logBase = 1; + e5 = x.e - y.e; + } else { + base = BASE; + logBase = LOG_BASE; + e5 = mathfloor(x.e / logBase) - mathfloor(y.e / logBase); + } + yL = yd.length; + xL = xd.length; + q3 = new Ctor(sign22); + qd = q3.d = []; + for (i5 = 0; yd[i5] == (xd[i5] || 0); i5++) ; + if (yd[i5] > (xd[i5] || 0)) e5--; + if (pr == null) { + sd = pr = Ctor.precision; + rm = Ctor.rounding; + } else if (dp) { + sd = pr + (x.e - y.e) + 1; + } else { + sd = pr; + } + if (sd < 0) { + qd.push(1); + more = true; + } else { + sd = sd / logBase + 2 | 0; + i5 = 0; + if (yL == 1) { + k5 = 0; + yd = yd[0]; + sd++; + for (; (i5 < xL || k5) && sd--; i5++) { + t = k5 * base + (xd[i5] || 0); + qd[i5] = t / yd | 0; + k5 = t % yd | 0; + } + more = k5 || i5 < xL; + } else { + k5 = base / (yd[0] + 1) | 0; + if (k5 > 1) { + yd = multiplyInteger(yd, k5, base); + xd = multiplyInteger(xd, k5, base); + yL = yd.length; + xL = xd.length; + } + xi = yL; + rem = xd.slice(0, yL); + remL = rem.length; + for (; remL < yL; ) rem[remL++] = 0; + yz = yd.slice(); + yz.unshift(0); + yd0 = yd[0]; + if (yd[1] >= base / 2) ++yd0; + do { + k5 = 0; + cmp = compare(yd, rem, yL, remL); + if (cmp < 0) { + rem0 = rem[0]; + if (yL != remL) rem0 = rem0 * base + (rem[1] || 0); + k5 = rem0 / yd0 | 0; + if (k5 > 1) { + if (k5 >= base) k5 = base - 1; + prod = multiplyInteger(yd, k5, base); + prodL = prod.length; + remL = rem.length; + cmp = compare(prod, rem, prodL, remL); + if (cmp == 1) { + k5--; + subtract(prod, yL < prodL ? yz : yd, prodL, base); + } + } else { + if (k5 == 0) cmp = k5 = 1; + prod = yd.slice(); + } + prodL = prod.length; + if (prodL < remL) prod.unshift(0); + subtract(rem, prod, remL, base); + if (cmp == -1) { + remL = rem.length; + cmp = compare(yd, rem, yL, remL); + if (cmp < 1) { + k5++; + subtract(rem, yL < remL ? yz : yd, remL, base); + } + } + remL = rem.length; + } else if (cmp === 0) { + k5++; + rem = [0]; + } + qd[i5++] = k5; + if (cmp && rem[0]) { + rem[remL++] = xd[xi] || 0; + } else { + rem = [xd[xi]]; + remL = 1; + } + } while ((xi++ < xL || rem[0] !== void 0) && sd--); + more = rem[0] !== void 0; + } + if (!qd[0]) qd.shift(); + } + if (logBase == 1) { + q3.e = e5; + inexact = more; + } else { + for (i5 = 1, k5 = qd[0]; k5 >= 10; k5 /= 10) i5++; + q3.e = i5 + e5 * logBase - 1; + finalise(q3, dp ? pr + q3.e + 1 : pr, rm, more); + } + return q3; + }; + })(); + function finalise(x, sd, rm, isTruncated) { + var digits, i5, j5, k5, rd, roundUp, w, xd, xdi, Ctor = x.constructor; + out: if (sd != null) { + xd = x.d; + if (!xd) return x; + for (digits = 1, k5 = xd[0]; k5 >= 10; k5 /= 10) digits++; + i5 = sd - digits; + if (i5 < 0) { + i5 += LOG_BASE; + j5 = sd; + w = xd[xdi = 0]; + rd = w / mathpow(10, digits - j5 - 1) % 10 | 0; + } else { + xdi = Math.ceil((i5 + 1) / LOG_BASE); + k5 = xd.length; + if (xdi >= k5) { + if (isTruncated) { + for (; k5++ <= xdi; ) xd.push(0); + w = rd = 0; + digits = 1; + i5 %= LOG_BASE; + j5 = i5 - LOG_BASE + 1; + } else { + break out; + } + } else { + w = k5 = xd[xdi]; + for (digits = 1; k5 >= 10; k5 /= 10) digits++; + i5 %= LOG_BASE; + j5 = i5 - LOG_BASE + digits; + rd = j5 < 0 ? 0 : w / mathpow(10, digits - j5 - 1) % 10 | 0; + } + } + isTruncated = isTruncated || sd < 0 || xd[xdi + 1] !== void 0 || (j5 < 0 ? w : w % mathpow(10, digits - j5 - 1)); + roundUp = rm < 4 ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 && // Check whether the digit to the left of the rounding digit is odd. + (i5 > 0 ? j5 > 0 ? w / mathpow(10, digits - j5) : 0 : xd[xdi - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7)); + if (sd < 1 || !xd[0]) { + xd.length = 0; + if (roundUp) { + sd -= x.e + 1; + xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE); + x.e = -sd || 0; + } else { + xd[0] = x.e = 0; + } + return x; + } + if (i5 == 0) { + xd.length = xdi; + k5 = 1; + xdi--; + } else { + xd.length = xdi + 1; + k5 = mathpow(10, LOG_BASE - i5); + xd[xdi] = j5 > 0 ? (w / mathpow(10, digits - j5) % mathpow(10, j5) | 0) * k5 : 0; + } + if (roundUp) { + for (; ; ) { + if (xdi == 0) { + for (i5 = 1, j5 = xd[0]; j5 >= 10; j5 /= 10) i5++; + j5 = xd[0] += k5; + for (k5 = 1; j5 >= 10; j5 /= 10) k5++; + if (i5 != k5) { + x.e++; + if (xd[0] == BASE) xd[0] = 1; + } + break; + } else { + xd[xdi] += k5; + if (xd[xdi] != BASE) break; + xd[xdi--] = 0; + k5 = 1; + } + } + } + for (i5 = xd.length; xd[--i5] === 0; ) xd.pop(); + } + if (external) { + if (x.e > Ctor.maxE) { + x.d = null; + x.e = NaN; + } else if (x.e < Ctor.minE) { + x.e = 0; + x.d = [0]; + } + } + return x; + } + __name(finalise, "finalise"); + function finiteToString(x, isExp, sd) { + if (!x.isFinite()) return nonFiniteToString(x); + var k5, e5 = x.e, str = digitsToString(x.d), len = str.length; + if (isExp) { + if (sd && (k5 = sd - len) > 0) { + str = str.charAt(0) + "." + str.slice(1) + getZeroString(k5); + } else if (len > 1) { + str = str.charAt(0) + "." + str.slice(1); + } + str = str + (x.e < 0 ? "e" : "e+") + x.e; + } else if (e5 < 0) { + str = "0." + getZeroString(-e5 - 1) + str; + if (sd && (k5 = sd - len) > 0) str += getZeroString(k5); + } else if (e5 >= len) { + str += getZeroString(e5 + 1 - len); + if (sd && (k5 = sd - e5 - 1) > 0) str = str + "." + getZeroString(k5); + } else { + if ((k5 = e5 + 1) < len) str = str.slice(0, k5) + "." + str.slice(k5); + if (sd && (k5 = sd - len) > 0) { + if (e5 + 1 === len) str += "."; + str += getZeroString(k5); + } + } + return str; + } + __name(finiteToString, "finiteToString"); + function getBase10Exponent(digits, e5) { + var w = digits[0]; + for (e5 *= LOG_BASE; w >= 10; w /= 10) e5++; + return e5; + } + __name(getBase10Exponent, "getBase10Exponent"); + function getLn10(Ctor, sd, pr) { + if (sd > LN10_PRECISION) { + external = true; + if (pr) Ctor.precision = pr; + throw Error(precisionLimitExceeded); + } + return finalise(new Ctor(LN10), sd, 1, true); + } + __name(getLn10, "getLn10"); + function getPi(Ctor, sd, rm) { + if (sd > PI_PRECISION) throw Error(precisionLimitExceeded); + return finalise(new Ctor(PI), sd, rm, true); + } + __name(getPi, "getPi"); + function getPrecision(digits) { + var w = digits.length - 1, len = w * LOG_BASE + 1; + w = digits[w]; + if (w) { + for (; w % 10 == 0; w /= 10) len--; + for (w = digits[0]; w >= 10; w /= 10) len++; + } + return len; + } + __name(getPrecision, "getPrecision"); + function getZeroString(k5) { + var zs = ""; + for (; k5--; ) zs += "0"; + return zs; + } + __name(getZeroString, "getZeroString"); + function intPow(Ctor, x, n3, pr) { + var isTruncated, r5 = new Ctor(1), k5 = Math.ceil(pr / LOG_BASE + 4); + external = false; + for (; ; ) { + if (n3 % 2) { + r5 = r5.times(x); + if (truncate(r5.d, k5)) isTruncated = true; + } + n3 = mathfloor(n3 / 2); + if (n3 === 0) { + n3 = r5.d.length - 1; + if (isTruncated && r5.d[n3] === 0) ++r5.d[n3]; + break; + } + x = x.times(x); + truncate(x.d, k5); + } + external = true; + return r5; + } + __name(intPow, "intPow"); + function isOdd(n3) { + return n3.d[n3.d.length - 1] & 1; + } + __name(isOdd, "isOdd"); + function maxOrMin(Ctor, args, n3) { + var k5, y, x = new Ctor(args[0]), i5 = 0; + for (; ++i5 < args.length; ) { + y = new Ctor(args[i5]); + if (!y.s) { + x = y; + break; + } + k5 = x.cmp(y); + if (k5 === n3 || k5 === 0 && x.s === n3) { + x = y; + } + } + return x; + } + __name(maxOrMin, "maxOrMin"); + function naturalExponential(x, sd) { + var denominator, guard, j5, pow2, sum2, t, wpr, rep = 0, i5 = 0, k5 = 0, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision; + if (!x.d || !x.d[0] || x.e > 17) { + return new Ctor(x.d ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 : x.s ? x.s < 0 ? 0 : x : 0 / 0); + } + if (sd == null) { + external = false; + wpr = pr; + } else { + wpr = sd; + } + t = new Ctor(0.03125); + while (x.e > -2) { + x = x.times(t); + k5 += 5; + } + guard = Math.log(mathpow(2, k5)) / Math.LN10 * 2 + 5 | 0; + wpr += guard; + denominator = pow2 = sum2 = new Ctor(1); + Ctor.precision = wpr; + for (; ; ) { + pow2 = finalise(pow2.times(x), wpr, 1); + denominator = denominator.times(++i5); + t = sum2.plus(divide(pow2, denominator, wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + j5 = k5; + while (j5--) sum2 = finalise(sum2.times(sum2), wpr, 1); + if (sd == null) { + if (rep < 3 && checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) { + Ctor.precision = wpr += 10; + denominator = pow2 = t = new Ctor(1); + i5 = 0; + rep++; + } else { + return finalise(sum2, Ctor.precision = pr, rm, external = true); + } + } else { + Ctor.precision = pr; + return sum2; + } + } + sum2 = t; + } + } + __name(naturalExponential, "naturalExponential"); + function naturalLogarithm(y, sd) { + var c5, c0, denominator, e5, numerator, rep, sum2, t, wpr, x1, x2, n3 = 1, guard = 10, x = y, xd = x.d, Ctor = x.constructor, rm = Ctor.rounding, pr = Ctor.precision; + if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) { + return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x); + } + if (sd == null) { + external = false; + wpr = pr; + } else { + wpr = sd; + } + Ctor.precision = wpr += guard; + c5 = digitsToString(xd); + c0 = c5.charAt(0); + if (Math.abs(e5 = x.e) < 15e14) { + while (c0 < 7 && c0 != 1 || c0 == 1 && c5.charAt(1) > 3) { + x = x.times(y); + c5 = digitsToString(x.d); + c0 = c5.charAt(0); + n3++; + } + e5 = x.e; + if (c0 > 1) { + x = new Ctor("0." + c5); + e5++; + } else { + x = new Ctor(c0 + "." + c5.slice(1)); + } + } else { + t = getLn10(Ctor, wpr + 2, pr).times(e5 + ""); + x = naturalLogarithm(new Ctor(c0 + "." + c5.slice(1)), wpr - guard).plus(t); + Ctor.precision = pr; + return sd == null ? finalise(x, pr, rm, external = true) : x; + } + x1 = x; + sum2 = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1); + x2 = finalise(x.times(x), wpr, 1); + denominator = 3; + for (; ; ) { + numerator = finalise(numerator.times(x2), wpr, 1); + t = sum2.plus(divide(numerator, new Ctor(denominator), wpr, 1)); + if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum2.d).slice(0, wpr)) { + sum2 = sum2.times(2); + if (e5 !== 0) sum2 = sum2.plus(getLn10(Ctor, wpr + 2, pr).times(e5 + "")); + sum2 = divide(sum2, new Ctor(n3), wpr, 1); + if (sd == null) { + if (checkRoundingDigits(sum2.d, wpr - guard, rm, rep)) { + Ctor.precision = wpr += guard; + t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1); + x2 = finalise(x.times(x), wpr, 1); + denominator = rep = 1; + } else { + return finalise(sum2, Ctor.precision = pr, rm, external = true); + } + } else { + Ctor.precision = pr; + return sum2; + } + } + sum2 = t; + denominator += 2; + } + } + __name(naturalLogarithm, "naturalLogarithm"); + function nonFiniteToString(x) { + return String(x.s * x.s / 0); + } + __name(nonFiniteToString, "nonFiniteToString"); + function parseDecimal(x, str) { + var e5, i5, len; + if ((e5 = str.indexOf(".")) > -1) str = str.replace(".", ""); + if ((i5 = str.search(/e/i)) > 0) { + if (e5 < 0) e5 = i5; + e5 += +str.slice(i5 + 1); + str = str.substring(0, i5); + } else if (e5 < 0) { + e5 = str.length; + } + for (i5 = 0; str.charCodeAt(i5) === 48; i5++) ; + for (len = str.length; str.charCodeAt(len - 1) === 48; --len) ; + str = str.slice(i5, len); + if (str) { + len -= i5; + x.e = e5 = e5 - i5 - 1; + x.d = []; + i5 = (e5 + 1) % LOG_BASE; + if (e5 < 0) i5 += LOG_BASE; + if (i5 < len) { + if (i5) x.d.push(+str.slice(0, i5)); + for (len -= LOG_BASE; i5 < len; ) x.d.push(+str.slice(i5, i5 += LOG_BASE)); + str = str.slice(i5); + i5 = LOG_BASE - str.length; + } else { + i5 -= len; + } + for (; i5--; ) str += "0"; + x.d.push(+str); + if (external) { + if (x.e > x.constructor.maxE) { + x.d = null; + x.e = NaN; + } else if (x.e < x.constructor.minE) { + x.e = 0; + x.d = [0]; + } + } + } else { + x.e = 0; + x.d = [0]; + } + return x; + } + __name(parseDecimal, "parseDecimal"); + function parseOther(x, str) { + var base, Ctor, divisor, i5, isFloat, len, p3, xd, xe; + if (str.indexOf("_") > -1) { + str = str.replace(/(\d)_(?=\d)/g, "$1"); + if (isDecimal.test(str)) return parseDecimal(x, str); + } else if (str === "Infinity" || str === "NaN") { + if (!+str) x.s = NaN; + x.e = NaN; + x.d = null; + return x; + } + if (isHex.test(str)) { + base = 16; + str = str.toLowerCase(); + } else if (isBinary.test(str)) { + base = 2; + } else if (isOctal.test(str)) { + base = 8; + } else { + throw Error(invalidArgument + str); + } + i5 = str.search(/p/i); + if (i5 > 0) { + p3 = +str.slice(i5 + 1); + str = str.substring(2, i5); + } else { + str = str.slice(2); + } + i5 = str.indexOf("."); + isFloat = i5 >= 0; + Ctor = x.constructor; + if (isFloat) { + str = str.replace(".", ""); + len = str.length; + i5 = len - i5; + divisor = intPow(Ctor, new Ctor(base), i5, i5 * 2); + } + xd = convertBase(str, base, BASE); + xe = xd.length - 1; + for (i5 = xe; xd[i5] === 0; --i5) xd.pop(); + if (i5 < 0) return new Ctor(x.s * 0); + x.e = getBase10Exponent(xd, xe); + x.d = xd; + external = false; + if (isFloat) x = divide(x, divisor, len * 4); + if (p3) x = x.times(Math.abs(p3) < 54 ? mathpow(2, p3) : Decimal4.pow(2, p3)); + external = true; + return x; + } + __name(parseOther, "parseOther"); + function sine(Ctor, x) { + var k5, len = x.d.length; + if (len < 3) { + return x.isZero() ? x : taylorSeries(Ctor, 2, x, x); + } + k5 = 1.4 * Math.sqrt(len); + k5 = k5 > 16 ? 16 : k5 | 0; + x = x.times(1 / tinyPow(5, k5)); + x = taylorSeries(Ctor, 2, x, x); + var sin2_x, d5 = new Ctor(5), d16 = new Ctor(16), d20 = new Ctor(20); + for (; k5--; ) { + sin2_x = x.times(x); + x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20)))); + } + return x; + } + __name(sine, "sine"); + function taylorSeries(Ctor, n3, x, y, isHyperbolic) { + var j5, t, u, x2, i5 = 1, pr = Ctor.precision, k5 = Math.ceil(pr / LOG_BASE); + external = false; + x2 = x.times(x); + u = new Ctor(y); + for (; ; ) { + t = divide(u.times(x2), new Ctor(n3++ * n3++), pr, 1); + u = isHyperbolic ? y.plus(t) : y.minus(t); + y = divide(t.times(x2), new Ctor(n3++ * n3++), pr, 1); + t = u.plus(y); + if (t.d[k5] !== void 0) { + for (j5 = k5; t.d[j5] === u.d[j5] && j5--; ) ; + if (j5 == -1) break; + } + j5 = u; + u = y; + y = t; + t = j5; + i5++; + } + external = true; + t.d.length = k5 + 1; + return t; + } + __name(taylorSeries, "taylorSeries"); + function tinyPow(b5, e5) { + var n3 = b5; + while (--e5) n3 *= b5; + return n3; + } + __name(tinyPow, "tinyPow"); + function toLessThanHalfPi(Ctor, x) { + var t, isNeg = x.s < 0, pi = getPi(Ctor, Ctor.precision, 1), halfPi = pi.times(0.5); + x = x.abs(); + if (x.lte(halfPi)) { + quadrant = isNeg ? 4 : 1; + return x; + } + t = x.divToInt(pi); + if (t.isZero()) { + quadrant = isNeg ? 3 : 2; + } else { + x = x.minus(t.times(pi)); + if (x.lte(halfPi)) { + quadrant = isOdd(t) ? isNeg ? 2 : 3 : isNeg ? 4 : 1; + return x; + } + quadrant = isOdd(t) ? isNeg ? 1 : 4 : isNeg ? 3 : 2; + } + return x.minus(pi).abs(); + } + __name(toLessThanHalfPi, "toLessThanHalfPi"); + function toStringBinary(x, baseOut, sd, rm) { + var base, e5, i5, k5, len, roundUp, str, xd, y, Ctor = x.constructor, isExp = sd !== void 0; + if (isExp) { + checkInt32(sd, 1, MAX_DIGITS); + if (rm === void 0) rm = Ctor.rounding; + else checkInt32(rm, 0, 8); + } else { + sd = Ctor.precision; + rm = Ctor.rounding; + } + if (!x.isFinite()) { + str = nonFiniteToString(x); + } else { + str = finiteToString(x); + i5 = str.indexOf("."); + if (isExp) { + base = 2; + if (baseOut == 16) { + sd = sd * 4 - 3; + } else if (baseOut == 8) { + sd = sd * 3 - 2; + } + } else { + base = baseOut; + } + if (i5 >= 0) { + str = str.replace(".", ""); + y = new Ctor(1); + y.e = str.length - i5; + y.d = convertBase(finiteToString(y), 10, base); + y.e = y.d.length; + } + xd = convertBase(str, 10, base); + e5 = len = xd.length; + for (; xd[--len] == 0; ) xd.pop(); + if (!xd[0]) { + str = isExp ? "0p+0" : "0"; + } else { + if (i5 < 0) { + e5--; + } else { + x = new Ctor(x); + x.d = xd; + x.e = e5; + x = divide(x, y, sd, rm, 0, base); + xd = x.d; + e5 = x.e; + roundUp = inexact; + } + i5 = xd[sd]; + k5 = base / 2; + roundUp = roundUp || xd[sd + 1] !== void 0; + roundUp = rm < 4 ? (i5 !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) : i5 > k5 || i5 === k5 && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 || rm === (x.s < 0 ? 8 : 7)); + xd.length = sd; + if (roundUp) { + for (; ++xd[--sd] > base - 1; ) { + xd[sd] = 0; + if (!sd) { + ++e5; + xd.unshift(1); + } + } + } + for (len = xd.length; !xd[len - 1]; --len) ; + for (i5 = 0, str = ""; i5 < len; i5++) str += NUMERALS.charAt(xd[i5]); + if (isExp) { + if (len > 1) { + if (baseOut == 16 || baseOut == 8) { + i5 = baseOut == 16 ? 4 : 3; + for (--len; len % i5; len++) str += "0"; + xd = convertBase(str, base, baseOut); + for (len = xd.length; !xd[len - 1]; --len) ; + for (i5 = 1, str = "1."; i5 < len; i5++) str += NUMERALS.charAt(xd[i5]); + } else { + str = str.charAt(0) + "." + str.slice(1); + } + } + str = str + (e5 < 0 ? "p" : "p+") + e5; + } else if (e5 < 0) { + for (; ++e5; ) str = "0" + str; + str = "0." + str; + } else { + if (++e5 > len) for (e5 -= len; e5--; ) str += "0"; + else if (e5 < len) str = str.slice(0, e5) + "." + str.slice(e5); + } + } + str = (baseOut == 16 ? "0x" : baseOut == 2 ? "0b" : baseOut == 8 ? "0o" : "") + str; + } + return x.s < 0 ? "-" + str : str; + } + __name(toStringBinary, "toStringBinary"); + function truncate(arr, len) { + if (arr.length > len) { + arr.length = len; + return true; + } + } + __name(truncate, "truncate"); + function abs(x) { + return new this(x).abs(); + } + __name(abs, "abs"); + function acos(x) { + return new this(x).acos(); + } + __name(acos, "acos"); + function acosh(x) { + return new this(x).acosh(); + } + __name(acosh, "acosh"); + function add(x, y) { + return new this(x).plus(y); + } + __name(add, "add"); + function asin(x) { + return new this(x).asin(); + } + __name(asin, "asin"); + function asinh(x) { + return new this(x).asinh(); + } + __name(asinh, "asinh"); + function atan(x) { + return new this(x).atan(); + } + __name(atan, "atan"); + function atanh(x) { + return new this(x).atanh(); + } + __name(atanh, "atanh"); + function atan2(y, x) { + y = new this(y); + x = new this(x); + var r5, pr = this.precision, rm = this.rounding, wpr = pr + 4; + if (!y.s || !x.s) { + r5 = new this(NaN); + } else if (!y.d && !x.d) { + r5 = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75); + r5.s = y.s; + } else if (!x.d || y.isZero()) { + r5 = x.s < 0 ? getPi(this, pr, rm) : new this(0); + r5.s = y.s; + } else if (!y.d || x.isZero()) { + r5 = getPi(this, wpr, 1).times(0.5); + r5.s = y.s; + } else if (x.s < 0) { + this.precision = wpr; + this.rounding = 1; + r5 = this.atan(divide(y, x, wpr, 1)); + x = getPi(this, wpr, 1); + this.precision = pr; + this.rounding = rm; + r5 = y.s < 0 ? r5.minus(x) : r5.plus(x); + } else { + r5 = this.atan(divide(y, x, wpr, 1)); + } + return r5; + } + __name(atan2, "atan2"); + function cbrt(x) { + return new this(x).cbrt(); + } + __name(cbrt, "cbrt"); + function ceil(x) { + return finalise(x = new this(x), x.e + 1, 2); + } + __name(ceil, "ceil"); + function clamp(x, min2, max2) { + return new this(x).clamp(min2, max2); + } + __name(clamp, "clamp"); + function config3(obj) { + if (!obj || typeof obj !== "object") throw Error(decimalError + "Object expected"); + var i5, p3, v, useDefaults = obj.defaults === true, ps = [ + "precision", + 1, + MAX_DIGITS, + "rounding", + 0, + 8, + "toExpNeg", + -EXP_LIMIT, + 0, + "toExpPos", + 0, + EXP_LIMIT, + "maxE", + 0, + EXP_LIMIT, + "minE", + -EXP_LIMIT, + 0, + "modulo", + 0, + 9 + ]; + for (i5 = 0; i5 < ps.length; i5 += 3) { + if (p3 = ps[i5], useDefaults) this[p3] = DEFAULTS[p3]; + if ((v = obj[p3]) !== void 0) { + if (mathfloor(v) === v && v >= ps[i5 + 1] && v <= ps[i5 + 2]) this[p3] = v; + else throw Error(invalidArgument + p3 + ": " + v); + } + } + if (p3 = "crypto", useDefaults) this[p3] = DEFAULTS[p3]; + if ((v = obj[p3]) !== void 0) { + if (v === true || v === false || v === 0 || v === 1) { + if (v) { + if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) { + this[p3] = true; + } else { + throw Error(cryptoUnavailable); + } + } else { + this[p3] = false; + } + } else { + throw Error(invalidArgument + p3 + ": " + v); + } + } + return this; + } + __name(config3, "config"); + function cos(x) { + return new this(x).cos(); + } + __name(cos, "cos"); + function cosh(x) { + return new this(x).cosh(); + } + __name(cosh, "cosh"); + function clone2(obj) { + var i5, p3, ps; + function Decimal22(v) { + var e5, i22, t, x = this; + if (!(x instanceof Decimal22)) return new Decimal22(v); + x.constructor = Decimal22; + if (isDecimalInstance(v)) { + x.s = v.s; + if (external) { + if (!v.d || v.e > Decimal22.maxE) { + x.e = NaN; + x.d = null; + } else if (v.e < Decimal22.minE) { + x.e = 0; + x.d = [0]; + } else { + x.e = v.e; + x.d = v.d.slice(); + } + } else { + x.e = v.e; + x.d = v.d ? v.d.slice() : v.d; + } + return; + } + t = typeof v; + if (t === "number") { + if (v === 0) { + x.s = 1 / v < 0 ? -1 : 1; + x.e = 0; + x.d = [0]; + return; + } + if (v < 0) { + v = -v; + x.s = -1; + } else { + x.s = 1; + } + if (v === ~~v && v < 1e7) { + for (e5 = 0, i22 = v; i22 >= 10; i22 /= 10) e5++; + if (external) { + if (e5 > Decimal22.maxE) { + x.e = NaN; + x.d = null; + } else if (e5 < Decimal22.minE) { + x.e = 0; + x.d = [0]; + } else { + x.e = e5; + x.d = [v]; + } + } else { + x.e = e5; + x.d = [v]; + } + return; + } + if (v * 0 !== 0) { + if (!v) x.s = NaN; + x.e = NaN; + x.d = null; + return; + } + return parseDecimal(x, v.toString()); + } + if (t === "string") { + if ((i22 = v.charCodeAt(0)) === 45) { + v = v.slice(1); + x.s = -1; + } else { + if (i22 === 43) v = v.slice(1); + x.s = 1; + } + return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v); + } + if (t === "bigint") { + if (v < 0) { + v = -v; + x.s = -1; + } else { + x.s = 1; + } + return parseDecimal(x, v.toString()); + } + throw Error(invalidArgument + v); + } + __name(Decimal22, "Decimal2"); + Decimal22.prototype = P; + Decimal22.ROUND_UP = 0; + Decimal22.ROUND_DOWN = 1; + Decimal22.ROUND_CEIL = 2; + Decimal22.ROUND_FLOOR = 3; + Decimal22.ROUND_HALF_UP = 4; + Decimal22.ROUND_HALF_DOWN = 5; + Decimal22.ROUND_HALF_EVEN = 6; + Decimal22.ROUND_HALF_CEIL = 7; + Decimal22.ROUND_HALF_FLOOR = 8; + Decimal22.EUCLID = 9; + Decimal22.config = Decimal22.set = config3; + Decimal22.clone = clone2; + Decimal22.isDecimal = isDecimalInstance; + Decimal22.abs = abs; + Decimal22.acos = acos; + Decimal22.acosh = acosh; + Decimal22.add = add; + Decimal22.asin = asin; + Decimal22.asinh = asinh; + Decimal22.atan = atan; + Decimal22.atanh = atanh; + Decimal22.atan2 = atan2; + Decimal22.cbrt = cbrt; + Decimal22.ceil = ceil; + Decimal22.clamp = clamp; + Decimal22.cos = cos; + Decimal22.cosh = cosh; + Decimal22.div = div; + Decimal22.exp = exp; + Decimal22.floor = floor; + Decimal22.hypot = hypot; + Decimal22.ln = ln; + Decimal22.log = log; + Decimal22.log10 = log10; + Decimal22.log2 = log2; + Decimal22.max = max; + Decimal22.min = min; + Decimal22.mod = mod; + Decimal22.mul = mul; + Decimal22.pow = pow; + Decimal22.random = random; + Decimal22.round = round; + Decimal22.sign = sign2; + Decimal22.sin = sin; + Decimal22.sinh = sinh; + Decimal22.sqrt = sqrt; + Decimal22.sub = sub; + Decimal22.sum = sum; + Decimal22.tan = tan; + Decimal22.tanh = tanh; + Decimal22.trunc = trunc; + if (obj === void 0) obj = {}; + if (obj) { + if (obj.defaults !== true) { + ps = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"]; + for (i5 = 0; i5 < ps.length; ) if (!obj.hasOwnProperty(p3 = ps[i5++])) obj[p3] = this[p3]; + } + } + Decimal22.config(obj); + return Decimal22; + } + __name(clone2, "clone"); + function div(x, y) { + return new this(x).div(y); + } + __name(div, "div"); + function exp(x) { + return new this(x).exp(); + } + __name(exp, "exp"); + function floor(x) { + return finalise(x = new this(x), x.e + 1, 3); + } + __name(floor, "floor"); + function hypot() { + var i5, n3, t = new this(0); + external = false; + for (i5 = 0; i5 < arguments.length; ) { + n3 = new this(arguments[i5++]); + if (!n3.d) { + if (n3.s) { + external = true; + return new this(1 / 0); + } + t = n3; + } else if (t.d) { + t = t.plus(n3.times(n3)); + } + } + external = true; + return t.sqrt(); + } + __name(hypot, "hypot"); + function isDecimalInstance(obj) { + return obj instanceof Decimal4 || obj && obj.toStringTag === tag || false; + } + __name(isDecimalInstance, "isDecimalInstance"); + function ln(x) { + return new this(x).ln(); + } + __name(ln, "ln"); + function log(x, y) { + return new this(x).log(y); + } + __name(log, "log"); + function log2(x) { + return new this(x).log(2); + } + __name(log2, "log2"); + function log10(x) { + return new this(x).log(10); + } + __name(log10, "log10"); + function max() { + return maxOrMin(this, arguments, -1); + } + __name(max, "max"); + function min() { + return maxOrMin(this, arguments, 1); + } + __name(min, "min"); + function mod(x, y) { + return new this(x).mod(y); + } + __name(mod, "mod"); + function mul(x, y) { + return new this(x).mul(y); + } + __name(mul, "mul"); + function pow(x, y) { + return new this(x).pow(y); + } + __name(pow, "pow"); + function random(sd) { + var d5, e5, k5, n3, i5 = 0, r5 = new this(1), rd = []; + if (sd === void 0) sd = this.precision; + else checkInt32(sd, 1, MAX_DIGITS); + k5 = Math.ceil(sd / LOG_BASE); + if (!this.crypto) { + for (; i5 < k5; ) rd[i5++] = Math.random() * 1e7 | 0; + } else if (crypto.getRandomValues) { + d5 = crypto.getRandomValues(new Uint32Array(k5)); + for (; i5 < k5; ) { + n3 = d5[i5]; + if (n3 >= 429e7) { + d5[i5] = crypto.getRandomValues(new Uint32Array(1))[0]; + } else { + rd[i5++] = n3 % 1e7; + } + } + } else if (crypto.randomBytes) { + d5 = crypto.randomBytes(k5 *= 4); + for (; i5 < k5; ) { + n3 = d5[i5] + (d5[i5 + 1] << 8) + (d5[i5 + 2] << 16) + ((d5[i5 + 3] & 127) << 24); + if (n3 >= 214e7) { + crypto.randomBytes(4).copy(d5, i5); + } else { + rd.push(n3 % 1e7); + i5 += 4; + } + } + i5 = k5 / 4; + } else { + throw Error(cryptoUnavailable); + } + k5 = rd[--i5]; + sd %= LOG_BASE; + if (k5 && sd) { + n3 = mathpow(10, LOG_BASE - sd); + rd[i5] = (k5 / n3 | 0) * n3; + } + for (; rd[i5] === 0; i5--) rd.pop(); + if (i5 < 0) { + e5 = 0; + rd = [0]; + } else { + e5 = -1; + for (; rd[0] === 0; e5 -= LOG_BASE) rd.shift(); + for (k5 = 1, n3 = rd[0]; n3 >= 10; n3 /= 10) k5++; + if (k5 < LOG_BASE) e5 -= LOG_BASE - k5; + } + r5.e = e5; + r5.d = rd; + return r5; + } + __name(random, "random"); + function round(x) { + return finalise(x = new this(x), x.e + 1, this.rounding); + } + __name(round, "round"); + function sign2(x) { + x = new this(x); + return x.d ? x.d[0] ? x.s : 0 * x.s : x.s || NaN; + } + __name(sign2, "sign"); + function sin(x) { + return new this(x).sin(); + } + __name(sin, "sin"); + function sinh(x) { + return new this(x).sinh(); + } + __name(sinh, "sinh"); + function sqrt(x) { + return new this(x).sqrt(); + } + __name(sqrt, "sqrt"); + function sub(x, y) { + return new this(x).sub(y); + } + __name(sub, "sub"); + function sum() { + var i5 = 0, args = arguments, x = new this(args[i5]); + external = false; + for (; x.s && ++i5 < args.length; ) x = x.plus(args[i5]); + external = true; + return finalise(x, this.precision, this.rounding); + } + __name(sum, "sum"); + function tan(x) { + return new this(x).tan(); + } + __name(tan, "tan"); + function tanh(x) { + return new this(x).tanh(); + } + __name(tanh, "tanh"); + function trunc(x) { + return finalise(x = new this(x), x.e + 1, 1); + } + __name(trunc, "trunc"); + P[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = P.toString; + P[Symbol.toStringTag] = "Decimal"; + var Decimal4 = P.constructor = clone2(DEFAULTS); + LN10 = new Decimal4(LN10); + PI = new Decimal4(PI); + var Sql4 = class _Sql { + static { + __name(this, "_Sql"); + } + constructor(rawStrings, rawValues) { + if (rawStrings.length - 1 !== rawValues.length) { + if (rawStrings.length === 0) { + throw new TypeError("Expected at least 1 string"); + } + throw new TypeError(`Expected ${rawStrings.length} strings to have ${rawStrings.length - 1} values`); + } + const valuesLength = rawValues.reduce((len, value) => len + (value instanceof _Sql ? value.values.length : 1), 0); + this.values = new Array(valuesLength); + this.strings = new Array(valuesLength + 1); + this.strings[0] = rawStrings[0]; + let i5 = 0, pos = 0; + while (i5 < rawValues.length) { + const child = rawValues[i5++]; + const rawString = rawStrings[i5]; + if (child instanceof _Sql) { + this.strings[pos] += child.strings[0]; + let childIndex = 0; + while (childIndex < child.values.length) { + this.values[pos++] = child.values[childIndex++]; + this.strings[pos] = child.strings[childIndex]; + } + this.strings[pos] += rawString; + } else { + this.values[pos++] = child; + this.strings[pos] = rawString; + } + } + } + get sql() { + const len = this.strings.length; + let i5 = 1; + let value = this.strings[0]; + while (i5 < len) + value += `?${this.strings[i5++]}`; + return value; + } + get statement() { + const len = this.strings.length; + let i5 = 1; + let value = this.strings[0]; + while (i5 < len) + value += `:${i5}${this.strings[i5++]}`; + return value; + } + get text() { + const len = this.strings.length; + let i5 = 1; + let value = this.strings[0]; + while (i5 < len) + value += `$${i5}${this.strings[i5++]}`; + return value; + } + inspect() { + return { + sql: this.sql, + statement: this.statement, + text: this.text, + values: this.values + }; + } + }; + function join4(values, separator = ",", prefix = "", suffix = "") { + if (values.length === 0) { + throw new TypeError("Expected `join([])` to be called with an array of multiple elements, but got an empty array"); + } + return new Sql4([prefix, ...Array(values.length - 1).fill(separator), suffix], values); + } + __name(join4, "join"); + function raw4(value) { + return new Sql4([value], []); + } + __name(raw4, "raw"); + var empty4 = raw4(""); + function sql2(strings, ...values) { + return new Sql4(strings, values); + } + __name(sql2, "sql"); + } +}); + +// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/client.js +var require_client = __commonJS({ + "../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/client.js"(exports, module) { + "use strict"; + var pu = Object.create; + var xr = Object.defineProperty; + var du = Object.getOwnPropertyDescriptor; + var mu = Object.getOwnPropertyNames; + var fu = Object.getPrototypeOf; + var gu = Object.prototype.hasOwnProperty; + var eo = /* @__PURE__ */ __name((e5, t) => () => (e5 && (t = e5(e5 = 0)), t), "eo"); + var at = /* @__PURE__ */ __name((e5, t) => () => (t || e5((t = { exports: {} }).exports, t), t.exports), "at"); + var lt = /* @__PURE__ */ __name((e5, t) => { + for (var r5 in t) xr(e5, r5, { get: t[r5], enumerable: true }); + }, "lt"); + var to = /* @__PURE__ */ __name((e5, t, r5, n3) => { + if (t && typeof t == "object" || typeof t == "function") for (let i5 of mu(t)) !gu.call(e5, i5) && i5 !== r5 && xr(e5, i5, { get: /* @__PURE__ */ __name(() => t[i5], "get"), enumerable: !(n3 = du(t, i5)) || n3.enumerable }); + return e5; + }, "to"); + var Pe = /* @__PURE__ */ __name((e5, t, r5) => (r5 = e5 != null ? pu(fu(e5)) : {}, to(t || !e5 || !e5.__esModule ? xr(r5, "default", { value: e5, enumerable: true }) : r5, e5)), "Pe"); + var yu = /* @__PURE__ */ __name((e5) => to(xr({}, "__esModule", { value: true }), e5), "yu"); + var ho = at((Rf, Lu) => { + Lu.exports = { name: "@prisma/engines-version", version: "8.1.0-1.d1b3f377ca835d73fd50954a5e22128b9ebdd6b8", main: "index.js", types: "index.d.ts", license: "Apache-2.0", author: "Tim Suchanek ", prisma: { enginesVersion: "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8" }, repository: { type: "git", url: "https://github.com/prisma/engines-wrapper.git", directory: "packages/engines-version" }, devDependencies: { "@types/node": "18.19.76", typescript: "4.9.5" }, files: ["index.js", "index.d.ts"], scripts: { build: "tsc -d" } }; + }); + var wo = at((Pr) => { + "use strict"; + Object.defineProperty(Pr, "__esModule", { value: true }); + Pr.enginesVersion = void 0; + Pr.enginesVersion = ho().prisma.enginesVersion; + }); + var bo = at((If, xo) => { + "use strict"; + xo.exports = (e5) => { + let t = e5.match(/^[ \t]*(?=\S)/gm); + return t ? t.reduce((r5, n3) => Math.min(r5, n3.length), 1 / 0) : 0; + }; + }); + var So = at((Nf, vo) => { + "use strict"; + vo.exports = (e5, t = 1, r5) => { + if (r5 = { indent: " ", includeEmptyLines: false, ...r5 }, typeof e5 != "string") throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e5}\``); + if (typeof t != "number") throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``); + if (typeof r5.indent != "string") throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r5.indent}\``); + if (t === 0) return e5; + let n3 = r5.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; + return e5.replace(n3, r5.indent.repeat(t)); + }; + }); + var Ro = at((Lf, Tr) => { + "use strict"; + Tr.exports = (e5 = {}) => { + let t; + if (e5.repoUrl) t = e5.repoUrl; + else if (e5.user && e5.repo) t = `https://github.com/${e5.user}/${e5.repo}`; + else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options"); + let r5 = new URL(`${t}/issues/new`), n3 = ["body", "title", "labels", "template", "milestone", "assignee", "projects"]; + for (let i5 of n3) { + let o3 = e5[i5]; + if (o3 !== void 0) { + if (i5 === "labels" || i5 === "projects") { + if (!Array.isArray(o3)) throw new TypeError(`The \`${i5}\` option should be an array`); + o3 = o3.join(","); + } + r5.searchParams.set(i5, o3); + } + } + return r5.toString(); + }; + Tr.exports.default = Tr.exports; + }); + var qn = at((Ig, Fo) => { + "use strict"; + Fo.exports = /* @__PURE__ */ (function() { + function e5(t, r5, n3, i5, o3) { + return t < r5 || n3 < r5 ? t > n3 ? n3 + 1 : t + 1 : i5 === o3 ? r5 : r5 + 1; + } + __name(e5, "e"); + return function(t, r5) { + if (t === r5) return 0; + if (t.length > r5.length) { + var n3 = t; + t = r5, r5 = n3; + } + for (var i5 = t.length, o3 = r5.length; i5 > 0 && t.charCodeAt(i5 - 1) === r5.charCodeAt(o3 - 1); ) i5--, o3--; + for (var s2 = 0; s2 < i5 && t.charCodeAt(s2) === r5.charCodeAt(s2); ) s2++; + if (i5 -= s2, o3 -= s2, i5 === 0 || o3 < 3) return o3; + var a5 = 0, u, m3, P, T2, S, I, A, M, L, q3, E, D, H = []; + for (u = 0; u < i5; u++) H.push(u + 1), H.push(t.charCodeAt(s2 + u)); + for (var ce = H.length - 1; a5 < o3 - 3; ) for (L = r5.charCodeAt(s2 + (m3 = a5)), q3 = r5.charCodeAt(s2 + (P = a5 + 1)), E = r5.charCodeAt(s2 + (T2 = a5 + 2)), D = r5.charCodeAt(s2 + (S = a5 + 3)), I = a5 += 4, u = 0; u < ce; u += 2) A = H[u], M = H[u + 1], m3 = e5(A, m3, P, L, M), P = e5(m3, P, T2, q3, M), T2 = e5(P, T2, S, E, M), I = e5(T2, S, I, D, M), H[u] = I, S = T2, T2 = P, P = m3, m3 = A; + for (; a5 < o3; ) for (L = r5.charCodeAt(s2 + (m3 = a5)), I = ++a5, u = 0; u < ce; u += 2) A = H[u], H[u] = I = e5(A, m3, I, L, H[u + 1]), m3 = A; + return I; + }; + })(); + }); + var qo = eo(() => { + "use strict"; + }); + var Uo = eo(() => { + "use strict"; + }); + var Hm = {}; + lt(Hm, { AnyNull: /* @__PURE__ */ __name(() => ee.AnyNull, "AnyNull"), DMMF: /* @__PURE__ */ __name(() => Qt, "DMMF"), DbNull: /* @__PURE__ */ __name(() => ee.DbNull, "DbNull"), Debug: /* @__PURE__ */ __name(() => K2, "Debug"), Decimal: /* @__PURE__ */ __name(() => cu.Decimal, "Decimal"), Extensions: /* @__PURE__ */ __name(() => Rn, "Extensions"), JsonNull: /* @__PURE__ */ __name(() => ee.JsonNull, "JsonNull"), NullTypes: /* @__PURE__ */ __name(() => ee.NullTypes, "NullTypes"), ObjectEnumValue: /* @__PURE__ */ __name(() => ee.ObjectEnumValue, "ObjectEnumValue"), PrismaClientInitializationError: /* @__PURE__ */ __name(() => _.PrismaClientInitializationError, "PrismaClientInitializationError"), PrismaClientKnownRequestError: /* @__PURE__ */ __name(() => _.PrismaClientKnownRequestError, "PrismaClientKnownRequestError"), PrismaClientRustPanicError: /* @__PURE__ */ __name(() => _.PrismaClientRustPanicError, "PrismaClientRustPanicError"), PrismaClientUnknownRequestError: /* @__PURE__ */ __name(() => _.PrismaClientUnknownRequestError, "PrismaClientUnknownRequestError"), PrismaClientValidationError: /* @__PURE__ */ __name(() => _.PrismaClientValidationError, "PrismaClientValidationError"), Public: /* @__PURE__ */ __name(() => Cn, "Public"), Sql: /* @__PURE__ */ __name(() => Fe.Sql, "Sql"), createParam: /* @__PURE__ */ __name(() => os, "createParam"), defineDmmfProperty: /* @__PURE__ */ __name(() => ps, "defineDmmfProperty"), deserializeJsonObject: /* @__PURE__ */ __name(() => Ae, "deserializeJsonObject"), deserializeRawResult: /* @__PURE__ */ __name(() => Tn, "deserializeRawResult"), dmmfToRuntimeDataModel: /* @__PURE__ */ __name(() => so, "dmmfToRuntimeDataModel"), empty: /* @__PURE__ */ __name(() => Fe.empty, "empty"), getPrismaClient: /* @__PURE__ */ __name(() => au, "getPrismaClient"), getRuntime: /* @__PURE__ */ __name(() => uu, "getRuntime"), isAnyNull: /* @__PURE__ */ __name(() => ee.isAnyNull, "isAnyNull"), isDbNull: /* @__PURE__ */ __name(() => ee.isDbNull, "isDbNull"), isJsonNull: /* @__PURE__ */ __name(() => ee.isJsonNull, "isJsonNull"), isObjectEnumValue: /* @__PURE__ */ __name(() => ee.isObjectEnumValue, "isObjectEnumValue"), join: /* @__PURE__ */ __name(() => Fe.join, "join"), makeStrictEnum: /* @__PURE__ */ __name(() => lu, "makeStrictEnum"), makeTypedQueryFactory: /* @__PURE__ */ __name(() => ds, "makeTypedQueryFactory"), raw: /* @__PURE__ */ __name(() => Fe.raw, "raw"), serializeJsonQuery: /* @__PURE__ */ __name(() => Vr, "serializeJsonQuery"), skip: /* @__PURE__ */ __name(() => Lr, "skip"), sqltag: /* @__PURE__ */ __name(() => Fe.sql, "sqltag"), warnOnce: /* @__PURE__ */ __name(() => Vn, "warnOnce") }); + module.exports = yu(Hm); + var Rn = {}; + lt(Rn, { defineExtension: /* @__PURE__ */ __name(() => ro, "defineExtension"), getExtensionContext: /* @__PURE__ */ __name(() => no, "getExtensionContext") }); + function ro(e5) { + return typeof e5 == "function" ? e5 : (t) => t.$extends(e5); + } + __name(ro, "ro"); + function no(e5) { + return e5; + } + __name(no, "no"); + var Cn = {}; + lt(Cn, { validator: /* @__PURE__ */ __name(() => io, "validator") }); + function io(...e5) { + return (t) => t; + } + __name(io, "io"); + var Ie = class { + static { + __name(this, "Ie"); + } + _map = /* @__PURE__ */ new Map(); + get(t) { + return this._map.get(t)?.value; + } + set(t, r5) { + this._map.set(t, { value: r5 }); + } + getOrCreate(t, r5) { + let n3 = this._map.get(t); + if (n3) return n3.value; + let i5 = r5(); + return this.set(t, i5), i5; + } + }; + function qe(e5) { + return e5.substring(0, 1).toLowerCase() + e5.substring(1); + } + __name(qe, "qe"); + function oo(e5, t) { + let r5 = {}; + for (let n3 of e5) { + let i5 = n3[t]; + r5[i5] = n3; + } + return r5; + } + __name(oo, "oo"); + function Nt(e5) { + let t; + return { get() { + return t || (t = { value: e5() }), t.value; + } }; + } + __name(Nt, "Nt"); + function so(e5) { + return { models: In(e5.models), enums: In(e5.enums), types: In(e5.types) }; + } + __name(so, "so"); + function In(e5) { + let t = {}; + for (let { name: r5, ...n3 } of e5) t[r5] = n3; + return t; + } + __name(In, "In"); + var as = require_dist(); + var br = {}; + lt(br, { $: /* @__PURE__ */ __name(() => po, "$"), bgBlack: /* @__PURE__ */ __name(() => Au, "bgBlack"), bgBlue: /* @__PURE__ */ __name(() => ku, "bgBlue"), bgCyan: /* @__PURE__ */ __name(() => Nu, "bgCyan"), bgGreen: /* @__PURE__ */ __name(() => Cu, "bgGreen"), bgMagenta: /* @__PURE__ */ __name(() => Ou, "bgMagenta"), bgRed: /* @__PURE__ */ __name(() => Ru, "bgRed"), bgWhite: /* @__PURE__ */ __name(() => Du, "bgWhite"), bgYellow: /* @__PURE__ */ __name(() => Iu, "bgYellow"), black: /* @__PURE__ */ __name(() => Eu, "black"), blue: /* @__PURE__ */ __name(() => He, "blue"), bold: /* @__PURE__ */ __name(() => Ee, "bold"), cyan: /* @__PURE__ */ __name(() => _e5, "cyan"), dim: /* @__PURE__ */ __name(() => Dt, "dim"), gray: /* @__PURE__ */ __name(() => $t, "gray"), green: /* @__PURE__ */ __name(() => Ft, "green"), grey: /* @__PURE__ */ __name(() => Su, "grey"), hidden: /* @__PURE__ */ __name(() => bu, "hidden"), inverse: /* @__PURE__ */ __name(() => xu, "inverse"), italic: /* @__PURE__ */ __name(() => wu, "italic"), magenta: /* @__PURE__ */ __name(() => Tu, "magenta"), red: /* @__PURE__ */ __name(() => ze, "red"), reset: /* @__PURE__ */ __name(() => hu, "reset"), strikethrough: /* @__PURE__ */ __name(() => Pu, "strikethrough"), underline: /* @__PURE__ */ __name(() => Mt, "underline"), white: /* @__PURE__ */ __name(() => vu, "white"), yellow: /* @__PURE__ */ __name(() => _t, "yellow") }); + var kn; + var ao; + var lo; + var uo; + var co = true; + typeof process < "u" && ({ FORCE_COLOR: kn, NODE_DISABLE_COLORS: ao, NO_COLOR: lo, TERM: uo } = process.env || {}, co = process.stdout && process.stdout.isTTY); + var po = { enabled: !ao && lo == null && uo !== "dumb" && (kn != null && kn !== "0" || co) }; + function B(e5, t) { + let r5 = new RegExp(`\\x1b\\[${t}m`, "g"), n3 = `\x1B[${e5}m`, i5 = `\x1B[${t}m`; + return function(o3) { + return !po.enabled || o3 == null ? o3 : n3 + (~("" + o3).indexOf(i5) ? o3.replace(r5, i5 + n3) : o3) + i5; + }; + } + __name(B, "B"); + var hu = B(0, 0); + var Ee = B(1, 22); + var Dt = B(2, 22); + var wu = B(3, 23); + var Mt = B(4, 24); + var xu = B(7, 27); + var bu = B(8, 28); + var Pu = B(9, 29); + var Eu = B(30, 39); + var ze = B(31, 39); + var Ft = B(32, 39); + var _t = B(33, 39); + var He = B(34, 39); + var Tu = B(35, 39); + var _e5 = B(36, 39); + var vu = B(37, 39); + var $t = B(90, 39); + var Su = B(90, 39); + var Au = B(40, 49); + var Ru = B(41, 49); + var Cu = B(42, 49); + var Iu = B(43, 49); + var ku = B(44, 49); + var Ou = B(45, 49); + var Nu = B(46, 49); + var Du = B(47, 49); + var Mu = 100; + var mo = ["green", "yellow", "blue", "magenta", "cyan", "red"]; + var Lt = []; + var fo = Date.now(); + var Fu = 0; + var On = typeof process < "u" ? process.env : {}; + globalThis.DEBUG ??= On.DEBUG ?? ""; + globalThis.DEBUG_COLORS ??= On.DEBUG_COLORS ? On.DEBUG_COLORS === "true" : true; + var Vt = { enable(e5) { + typeof e5 == "string" && (globalThis.DEBUG = e5); + }, disable() { + let e5 = globalThis.DEBUG; + return globalThis.DEBUG = "", e5; + }, enabled(e5) { + let t = globalThis.DEBUG.split(",").map((i5) => i5.replace(/[.+?^${}()|[\]\\]/g, "\\$&")), r5 = t.some((i5) => i5 === "" || i5[0] === "-" ? false : e5.match(RegExp(i5.split("*").join(".*") + "$"))), n3 = t.some((i5) => i5 === "" || i5[0] !== "-" ? false : e5.match(RegExp(i5.slice(1).split("*").join(".*") + "$"))); + return r5 && !n3; + }, log: /* @__PURE__ */ __name((...e5) => { + let [t, r5, ...n3] = e5; + (console.warn ?? console.log)(`${t} ${r5}`, ...n3); + }, "log"), formatters: {} }; + function _u(e5) { + let t = { color: mo[Fu++ % mo.length], enabled: Vt.enabled(e5), namespace: e5, log: Vt.log, extend: /* @__PURE__ */ __name(() => { + }, "extend") }, r5 = /* @__PURE__ */ __name((...n3) => { + let { enabled: i5, namespace: o3, color: s2, log: a5 } = t; + if (n3.length !== 0 && Lt.push([o3, ...n3]), Lt.length > Mu && Lt.shift(), Vt.enabled(o3) || i5) { + let u = n3.map((P) => typeof P == "string" ? P : $u(P)), m3 = `+${Date.now() - fo}ms`; + fo = Date.now(), globalThis.DEBUG_COLORS ? a5(br[s2](Ee(o3)), ...u, br[s2](m3)) : a5(o3, ...u, m3); + } + }, "r"); + return new Proxy(r5, { get: /* @__PURE__ */ __name((n3, i5) => t[i5], "get"), set: /* @__PURE__ */ __name((n3, i5, o3) => t[i5] = o3, "set") }); + } + __name(_u, "_u"); + var K2 = new Proxy(_u, { get: /* @__PURE__ */ __name((e5, t) => Vt[t], "get"), set: /* @__PURE__ */ __name((e5, t, r5) => Vt[t] = r5, "set") }); + function $u(e5, t = 2) { + let r5 = /* @__PURE__ */ new Set(); + return JSON.stringify(e5, (n3, i5) => { + if (typeof i5 == "object" && i5 !== null) { + if (r5.has(i5)) return "[Circular *]"; + r5.add(i5); + } else if (typeof i5 == "bigint") return i5.toString(); + return i5; + }, t); + } + __name($u, "$u"); + function go(e5 = 7500) { + let t = Lt.map(([r5, ...n3]) => `${r5} ${n3.map((i5) => typeof i5 == "string" ? i5 : JSON.stringify(i5)).join(" ")}`).join(` +`); + return t.length < e5 ? t : t.slice(-e5); + } + __name(go, "go"); + function yo() { + Lt.length = 0; + } + __name(yo, "yo"); + function $e(e5, t) { + throw new Error(t); + } + __name($e, "$e"); + var Po = Pe(bo(), 1); + function Nn(e5) { + let t = (0, Po.default)(e5); + if (t === 0) return e5; + let r5 = new RegExp(`^[ \\t]{${t}}`, "gm"); + return e5.replace(r5, ""); + } + __name(Nn, "Nn"); + var Eo = "prisma+postgres"; + var Er = `${Eo}:`; + function To(e5) { + return e5?.toString().startsWith(`${Er}//`) ?? false; + } + __name(To, "To"); + function Dn(e5) { + if (!To(e5)) return false; + let { host: t } = new URL(e5); + return t.includes("localhost") || t.includes("127.0.0.1") || t.includes("[::1]"); + } + __name(Dn, "Dn"); + var Ut = {}; + lt(Ut, { error: /* @__PURE__ */ __name(() => Uu, "error"), info: /* @__PURE__ */ __name(() => qu, "info"), log: /* @__PURE__ */ __name(() => Vu, "log"), query: /* @__PURE__ */ __name(() => ju, "query"), should: /* @__PURE__ */ __name(() => Ao, "should"), tags: /* @__PURE__ */ __name(() => qt, "tags"), warn: /* @__PURE__ */ __name(() => Mn, "warn") }); + var qt = { error: ze("prisma:error"), warn: _t("prisma:warn"), info: _e5("prisma:info"), query: He("prisma:query") }; + var Ao = { warn: /* @__PURE__ */ __name(() => !process.env.PRISMA_DISABLE_WARNINGS, "warn") }; + function Vu(...e5) { + console.log(...e5); + } + __name(Vu, "Vu"); + function Mn(e5, ...t) { + Ao.warn() && console.warn(`${qt.warn} ${e5}`, ...t); + } + __name(Mn, "Mn"); + function qu(e5, ...t) { + console.info(`${qt.info} ${e5}`, ...t); + } + __name(qu, "qu"); + function Uu(e5, ...t) { + console.error(`${qt.error} ${e5}`, ...t); + } + __name(Uu, "Uu"); + function ju(e5, ...t) { + console.log(`${qt.query} ${e5}`, ...t); + } + __name(ju, "ju"); + function Fn({ onlyFirst: e5 = false } = {}) { + let r5 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(r5, e5 ? void 0 : "g"); + } + __name(Fn, "Fn"); + var Bu = Fn(); + function ut(e5) { + if (typeof e5 != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof e5}\``); + return e5.replace(Bu, ""); + } + __name(ut, "ut"); + var jt = Pe(__require("node:path")); + function _n(e5) { + return jt.default.sep === jt.default.posix.sep ? e5 : e5.split(jt.default.sep).join(jt.default.posix.sep); + } + __name(_n, "_n"); + function $n(e5, t) { + return Object.prototype.hasOwnProperty.call(e5, t); + } + __name($n, "$n"); + function vr(e5, t) { + let r5 = {}; + for (let n3 of Object.keys(e5)) r5[n3] = t(e5[n3], n3); + return r5; + } + __name(vr, "vr"); + function Ln(e5, t) { + if (e5.length === 0) return; + let r5 = e5[0]; + for (let n3 = 1; n3 < e5.length; n3++) t(r5, e5[n3]) < 0 && (r5 = e5[n3]); + return r5; + } + __name(Ln, "Ln"); + function Bt(e5, t) { + Object.defineProperty(e5, "name", { value: t, configurable: true }); + } + __name(Bt, "Bt"); + var Co = /* @__PURE__ */ new Set(); + var Vn = /* @__PURE__ */ __name((e5, t, ...r5) => { + Co.has(e5) || (Co.add(e5), Mn(t, ...r5)); + }, "Vn"); + function ct(e5) { + return e5 instanceof Date || Object.prototype.toString.call(e5) === "[object Date]"; + } + __name(ct, "ct"); + function pt(e5) { + return e5.toString() !== "Invalid Date"; + } + __name(pt, "pt"); + var Io = require_dist(); + function dt(e5) { + return Io.Decimal.isDecimal(e5) ? true : e5 !== null && typeof e5 == "object" && typeof e5.s == "number" && typeof e5.e == "number" && typeof e5.toFixed == "function" && Array.isArray(e5.d); + } + __name(dt, "dt"); + var Yo = require_dist(); + var Qt = {}; + lt(Qt, { ModelAction: /* @__PURE__ */ __name(() => mt, "ModelAction"), datamodelEnumToSchemaEnum: /* @__PURE__ */ __name(() => Qu, "datamodelEnumToSchemaEnum") }); + function Qu(e5) { + return { name: e5.name, values: e5.values.map((t) => t.name) }; + } + __name(Qu, "Qu"); + var mt = ((D) => (D.findUnique = "findUnique", D.findUniqueOrThrow = "findUniqueOrThrow", D.findFirst = "findFirst", D.findFirstOrThrow = "findFirstOrThrow", D.findMany = "findMany", D.create = "create", D.createMany = "createMany", D.createManyAndReturn = "createManyAndReturn", D.update = "update", D.updateMany = "updateMany", D.updateManyAndReturn = "updateManyAndReturn", D.upsert = "upsert", D.delete = "delete", D.deleteMany = "deleteMany", D.groupBy = "groupBy", D.count = "count", D.aggregate = "aggregate", D.findRaw = "findRaw", D.aggregateRaw = "aggregateRaw", D))(mt || {}); + var Mo = Pe(So()); + var Do = Pe(__require("node:fs")); + var ko = { keyword: _e5, entity: _e5, value: /* @__PURE__ */ __name((e5) => Ee(He(e5)), "value"), punctuation: He, directive: _e5, function: _e5, variable: /* @__PURE__ */ __name((e5) => Ee(He(e5)), "variable"), string: /* @__PURE__ */ __name((e5) => Ee(Ft(e5)), "string"), boolean: _t, number: _e5, comment: $t }; + var Ju = /* @__PURE__ */ __name((e5) => e5, "Ju"); + var Sr = {}; + var Gu = 0; + var O = { manual: Sr.Prism && Sr.Prism.manual, disableWorkerMessageHandler: Sr.Prism && Sr.Prism.disableWorkerMessageHandler, util: { encode: /* @__PURE__ */ __name(function(e5) { + if (e5 instanceof Te) { + let t = e5; + return new Te(t.type, O.util.encode(t.content), t.alias); + } else return Array.isArray(e5) ? e5.map(O.util.encode) : e5.replace(/&/g, "&").replace(/ e5.length) return; + if (p3 instanceof Te) continue; + if (ce && l3 != t.length - 1) { + E.lastIndex = c5; + var T2 = E.exec(e5); + if (!T2) break; + var P = T2.index + (H ? T2[1].length : 0), S = T2.index + T2[0].length, a5 = l3, u = c5; + for (let g5 = t.length; a5 < g5 && (u < S || !t[a5].type && !t[a5 - 1].greedy); ++a5) u += t[a5].length, P >= u && (++l3, c5 = u); + if (t[l3] instanceof Te) continue; + m3 = a5 - l3, p3 = e5.slice(c5, u), T2.index -= c5; + } else { + E.lastIndex = 0; + var T2 = E.exec(p3), m3 = 1; + } + if (!T2) { + if (o3) break; + continue; + } + H && (ie = T2[1] ? T2[1].length : 0); + var P = T2.index + ie, T2 = T2[0].slice(ie), S = P + T2.length, I = p3.slice(0, P), A = p3.slice(S); + let h5 = [l3, m3]; + I && (++l3, c5 += I.length, h5.push(I)); + let f5 = new Te(M, D ? O.tokenize(T2, D) : T2, be, T2, ce); + if (h5.push(f5), A && h5.push(A), Array.prototype.splice.apply(t, h5), m3 != 1 && O.matchGrammar(e5, t, r5, l3, c5, true, M), o3) break; + } + } + } + }, "matchGrammar"), tokenize: /* @__PURE__ */ __name(function(e5, t) { + let r5 = [e5], n3 = t.rest; + if (n3) { + for (let i5 in n3) t[i5] = n3[i5]; + delete t.rest; + } + return O.matchGrammar(e5, r5, t, 0, 0, false), r5; + }, "tokenize"), hooks: { all: {}, add: /* @__PURE__ */ __name(function(e5, t) { + let r5 = O.hooks.all; + r5[e5] = r5[e5] || [], r5[e5].push(t); + }, "add"), run: /* @__PURE__ */ __name(function(e5, t) { + let r5 = O.hooks.all[e5]; + if (!(!r5 || !r5.length)) for (var n3 = 0, i5; i5 = r5[n3++]; ) i5(t); + }, "run") }, Token: Te }; + O.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: true }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: true, greedy: true }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: true }, "class-name": { pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, lookbehind: true, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, boolean: /\b(?:true|false)\b/, function: /\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, punctuation: /[{}[\];(),.:]/ }; + O.languages.javascript = O.languages.extend("clike", { "class-name": [O.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, lookbehind: true }], keyword: [{ pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: true }, { pattern: /(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: true }], number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/, function: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, operator: /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ }); + O.languages.javascript["class-name"][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/; + O.languages.insertBefore("javascript", "keyword", { regex: { pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/, lookbehind: true, greedy: true }, "function-variable": { pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, lookbehind: true, inside: O.languages.javascript }, { pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, inside: O.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, lookbehind: true, inside: O.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, lookbehind: true, inside: O.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ }); + O.languages.markup && O.languages.markup.tag.addInlined("script", "javascript"); + O.languages.js = O.languages.javascript; + O.languages.typescript = O.languages.extend("javascript", { keyword: /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/, builtin: /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ }); + O.languages.ts = O.languages.typescript; + function Te(e5, t, r5, n3, i5) { + this.type = e5, this.content = t, this.alias = r5, this.length = (n3 || "").length | 0, this.greedy = !!i5; + } + __name(Te, "Te"); + Te.stringify = function(e5, t) { + return typeof e5 == "string" ? e5 : Array.isArray(e5) ? e5.map(function(r5) { + return Te.stringify(r5, t); + }).join("") : zu(e5.type)(e5.content); + }; + function zu(e5) { + return ko[e5] || Ju; + } + __name(zu, "zu"); + function Oo(e5) { + return Hu(e5, O.languages.javascript); + } + __name(Oo, "Oo"); + function Hu(e5, t) { + return O.tokenize(e5, t).map((n3) => Te.stringify(n3)).join(""); + } + __name(Hu, "Hu"); + function No(e5) { + return Nn(e5); + } + __name(No, "No"); + var Ar = class e5 { + static { + __name(this, "e"); + } + firstLineNumber; + lines; + static read(t) { + let r5; + try { + r5 = Do.default.readFileSync(t, "utf-8"); + } catch { + return null; + } + return e5.fromContent(r5); + } + static fromContent(t) { + let r5 = t.split(/\r?\n/); + return new e5(1, r5); + } + constructor(t, r5) { + this.firstLineNumber = t, this.lines = r5; + } + get lastLineNumber() { + return this.firstLineNumber + this.lines.length - 1; + } + mapLineAt(t, r5) { + if (t < this.firstLineNumber || t > this.lastLineNumber) return this; + let n3 = t - this.firstLineNumber, i5 = [...this.lines]; + return i5[n3] = r5(i5[n3]), new e5(this.firstLineNumber, i5); + } + mapLines(t) { + return new e5(this.firstLineNumber, this.lines.map((r5, n3) => t(r5, this.firstLineNumber + n3))); + } + lineAt(t) { + return this.lines[t - this.firstLineNumber]; + } + prependSymbolAt(t, r5) { + return this.mapLines((n3, i5) => i5 === t ? `${r5} ${n3}` : ` ${n3}`); + } + slice(t, r5) { + let n3 = Math.max(t, this.firstLineNumber), i5 = Math.min(r5, this.lastLineNumber); + if (n3 > i5) return new e5(t, []); + let o3 = this.lines.slice(n3 - this.firstLineNumber, i5 - this.firstLineNumber + 1).join(` +`); + return new e5(n3, No(o3).split(` +`)); + } + highlight() { + let t = Oo(this.toString()); + return new e5(this.firstLineNumber, t.split(` +`)); + } + toString() { + return this.lines.join(` +`); + } + }; + var Wu = { red: ze, gray: $t, dim: Dt, bold: Ee, underline: Mt, highlightSource: /* @__PURE__ */ __name((e5) => e5.highlight(), "highlightSource") }; + var Ku = { red: /* @__PURE__ */ __name((e5) => e5, "red"), gray: /* @__PURE__ */ __name((e5) => e5, "gray"), dim: /* @__PURE__ */ __name((e5) => e5, "dim"), bold: /* @__PURE__ */ __name((e5) => e5, "bold"), underline: /* @__PURE__ */ __name((e5) => e5, "underline"), highlightSource: /* @__PURE__ */ __name((e5) => e5, "highlightSource") }; + function Zu({ message: e5, originalMethod: t, isPanic: r5, callArguments: n3 }) { + return { functionName: `prisma.${t}()`, message: e5, isPanic: r5 ?? false, callArguments: n3 }; + } + __name(Zu, "Zu"); + function Xu({ callsite: e5, message: t, originalMethod: r5, isPanic: n3, callArguments: i5 }, o3) { + let s2 = Zu({ message: t, originalMethod: r5, isPanic: n3, callArguments: i5 }); + if (!e5 || typeof window < "u" || process.env.NODE_ENV === "production") return s2; + let a5 = e5.getLocation(); + if (!a5 || !a5.lineNumber || !a5.columnNumber) return s2; + let u = Math.max(1, a5.lineNumber - 3), m3 = Ar.read(a5.fileName)?.slice(u, a5.lineNumber), P = m3?.lineAt(a5.lineNumber); + if (m3 && P) { + let T2 = ec(P), S = Yu(P); + if (!S) return s2; + s2.functionName = `${S.code})`, s2.location = a5, n3 || (m3 = m3.mapLineAt(a5.lineNumber, (A) => A.slice(0, S.openingBraceIndex))), m3 = o3.highlightSource(m3); + let I = String(m3.lastLineNumber).length; + if (s2.contextLines = m3.mapLines((A, M) => o3.gray(String(M).padStart(I)) + " " + A).mapLines((A) => o3.dim(A)).prependSymbolAt(a5.lineNumber, o3.bold(o3.red("\u2192"))), i5) { + let A = T2 + I + 1; + A += 2, s2.callArguments = (0, Mo.default)(i5, A).slice(A); + } + } + return s2; + } + __name(Xu, "Xu"); + function Yu(e5) { + let t = Object.keys(mt).join("|"), n3 = new RegExp(String.raw`\.(${t})\(`).exec(e5); + if (n3) { + let i5 = n3.index + n3[0].length, o3 = e5.lastIndexOf(" ", n3.index) + 1; + return { code: e5.slice(o3, i5), openingBraceIndex: i5 }; + } + return null; + } + __name(Yu, "Yu"); + function ec(e5) { + let t = 0; + for (let r5 = 0; r5 < e5.length; r5++) { + if (e5.charAt(r5) !== " ") return t; + t++; + } + return t; + } + __name(ec, "ec"); + function tc({ functionName: e5, location: t, message: r5, isPanic: n3, contextLines: i5, callArguments: o3 }, s2) { + let a5 = [""], u = t ? " in" : ":"; + if (n3 ? (a5.push(s2.red(`Oops, an unknown error occurred! This is ${s2.bold("on us")}, you did nothing wrong.`)), a5.push(s2.red(`It occurred in the ${s2.bold(`\`${e5}\``)} invocation${u}`))) : a5.push(s2.red(`Invalid ${s2.bold(`\`${e5}\``)} invocation${u}`)), t && a5.push(s2.underline(rc(t))), i5) { + a5.push(""); + let m3 = [i5.toString()]; + o3 && (m3.push(o3), m3.push(s2.dim(")"))), a5.push(m3.join("")), o3 && a5.push(""); + } else a5.push(""), o3 && a5.push(o3), a5.push(""); + return a5.push(r5), a5.join(` +`); + } + __name(tc, "tc"); + function rc(e5) { + let t = [e5.fileName]; + return e5.lineNumber && t.push(String(e5.lineNumber)), e5.columnNumber && t.push(String(e5.columnNumber)), t.join(":"); + } + __name(rc, "rc"); + function Rr(e5) { + let t = e5.showColors ? Wu : Ku, r5; + return r5 = Xu(e5, t), tc(r5, t); + } + __name(Rr, "Rr"); + var Bo = Pe(qn()); + function Lo(e5, t, r5) { + let n3 = Vo(e5), i5 = nc(n3), o3 = oc(i5); + o3 ? Cr(o3, t, r5) : t.addErrorMessage(() => "Unknown error"); + } + __name(Lo, "Lo"); + function Vo(e5) { + return e5.errors.flatMap((t) => t.kind === "Union" ? Vo(t) : [t]); + } + __name(Vo, "Vo"); + function nc(e5) { + let t = /* @__PURE__ */ new Map(), r5 = []; + for (let n3 of e5) { + if (n3.kind !== "InvalidArgumentType") { + r5.push(n3); + continue; + } + let i5 = `${n3.selectionPath.join(".")}:${n3.argumentPath.join(".")}`, o3 = t.get(i5); + o3 ? t.set(i5, { ...n3, argument: { ...n3.argument, typeNames: ic(o3.argument.typeNames, n3.argument.typeNames) } }) : t.set(i5, n3); + } + return r5.push(...t.values()), r5; + } + __name(nc, "nc"); + function ic(e5, t) { + return [...new Set(e5.concat(t))]; + } + __name(ic, "ic"); + function oc(e5) { + return Ln(e5, (t, r5) => { + let n3 = _o(t), i5 = _o(r5); + return n3 !== i5 ? n3 - i5 : $o(t) - $o(r5); + }); + } + __name(oc, "oc"); + function _o(e5) { + let t = 0; + return Array.isArray(e5.selectionPath) && (t += e5.selectionPath.length), Array.isArray(e5.argumentPath) && (t += e5.argumentPath.length), t; + } + __name(_o, "_o"); + function $o(e5) { + switch (e5.kind) { + case "InvalidArgumentValue": + case "ValueTooLarge": + return 20; + case "InvalidArgumentType": + return 10; + case "RequiredArgumentMissing": + return -10; + default: + return 0; + } + } + __name($o, "$o"); + var pe = class { + static { + __name(this, "pe"); + } + constructor(t, r5) { + this.name = t; + this.value = r5; + } + isRequired = false; + makeRequired() { + return this.isRequired = true, this; + } + write(t) { + let { colors: { green: r5 } } = t.context; + t.addMarginSymbol(r5(this.isRequired ? "+" : "?")), t.write(r5(this.name)), this.isRequired || t.write(r5("?")), t.write(r5(": ")), typeof this.value == "string" ? t.write(r5(this.value)) : t.write(this.value); + } + }; + Uo(); + var ft = class { + static { + __name(this, "ft"); + } + constructor(t = 0, r5) { + this.context = r5; + this.currentIndent = t; + } + lines = []; + currentLine = ""; + currentIndent = 0; + marginSymbol; + afterNextNewLineCallback; + write(t) { + return typeof t == "string" ? this.currentLine += t : t.write(this), this; + } + writeJoined(t, r5, n3 = (i5, o3) => o3.write(i5)) { + let i5 = r5.length - 1; + for (let o3 = 0; o3 < r5.length; o3++) n3(r5[o3], this), o3 !== i5 && this.write(t); + return this; + } + writeLine(t) { + return this.write(t).newLine(); + } + newLine() { + this.lines.push(this.indentedCurrentLine()), this.currentLine = "", this.marginSymbol = void 0; + let t = this.afterNextNewLineCallback; + return this.afterNextNewLineCallback = void 0, t?.(), this; + } + withIndent(t) { + return this.indent(), t(this), this.unindent(), this; + } + afterNextNewline(t) { + return this.afterNextNewLineCallback = t, this; + } + indent() { + return this.currentIndent++, this; + } + unindent() { + return this.currentIndent > 0 && this.currentIndent--, this; + } + addMarginSymbol(t) { + return this.marginSymbol = t, this; + } + toString() { + return this.lines.concat(this.indentedCurrentLine()).join(` +`); + } + getCurrentLineLength() { + return this.currentLine.length; + } + indentedCurrentLine() { + let t = this.currentLine.padStart(this.currentLine.length + 2 * this.currentIndent); + return this.marginSymbol ? this.marginSymbol + t.slice(1) : t; + } + }; + qo(); + var Ir = class { + static { + __name(this, "Ir"); + } + constructor(t) { + this.value = t; + } + write(t) { + t.write(this.value); + } + markAsError() { + this.value.markAsError(); + } + }; + var kr = /* @__PURE__ */ __name((e5) => e5, "kr"); + var Or = { bold: kr, red: kr, green: kr, dim: kr, enabled: false }; + var jo = { bold: Ee, red: ze, green: Ft, dim: Dt, enabled: true }; + var gt = { write(e5) { + e5.writeLine(","); + } }; + var ke = class { + static { + __name(this, "ke"); + } + constructor(t) { + this.contents = t; + } + isUnderlined = false; + color = /* @__PURE__ */ __name((t) => t, "color"); + underline() { + return this.isUnderlined = true, this; + } + setColor(t) { + return this.color = t, this; + } + write(t) { + let r5 = t.getCurrentLineLength(); + t.write(this.color(this.contents)), this.isUnderlined && t.afterNextNewline(() => { + t.write(" ".repeat(r5)).writeLine(this.color("~".repeat(this.contents.length))); + }); + } + }; + var Ue = class { + static { + __name(this, "Ue"); + } + hasError = false; + markAsError() { + return this.hasError = true, this; + } + }; + var yt = class extends Ue { + static { + __name(this, "yt"); + } + items = []; + addItem(t) { + return this.items.push(new Ir(t)), this; + } + getField(t) { + return this.items[t]; + } + getPrintWidth() { + return this.items.length === 0 ? 2 : Math.max(...this.items.map((r5) => r5.value.getPrintWidth())) + 2; + } + write(t) { + if (this.items.length === 0) { + this.writeEmpty(t); + return; + } + this.writeWithItems(t); + } + writeEmpty(t) { + let r5 = new ke("[]"); + this.hasError && r5.setColor(t.context.colors.red).underline(), t.write(r5); + } + writeWithItems(t) { + let { colors: r5 } = t.context; + t.writeLine("[").withIndent(() => t.writeJoined(gt, this.items).newLine()).write("]"), this.hasError && t.afterNextNewline(() => { + t.writeLine(r5.red("~".repeat(this.getPrintWidth()))); + }); + } + asObject() { + } + }; + var ht = class e5 extends Ue { + static { + __name(this, "e"); + } + fields = {}; + suggestions = []; + addField(t) { + this.fields[t.name] = t; + } + addSuggestion(t) { + this.suggestions.push(t); + } + getField(t) { + return this.fields[t]; + } + getDeepField(t) { + let [r5, ...n3] = t, i5 = this.getField(r5); + if (!i5) return; + let o3 = i5; + for (let s2 of n3) { + let a5; + if (o3.value instanceof e5 ? a5 = o3.value.getField(s2) : o3.value instanceof yt && (a5 = o3.value.getField(Number(s2))), !a5) return; + o3 = a5; + } + return o3; + } + getDeepFieldValue(t) { + return t.length === 0 ? this : this.getDeepField(t)?.value; + } + hasField(t) { + return !!this.getField(t); + } + removeAllFields() { + this.fields = {}; + } + removeField(t) { + delete this.fields[t]; + } + getFields() { + return this.fields; + } + isEmpty() { + return Object.keys(this.fields).length === 0; + } + getFieldValue(t) { + return this.getField(t)?.value; + } + getDeepSubSelectionValue(t) { + let r5 = this; + for (let n3 of t) { + if (!(r5 instanceof e5)) return; + let i5 = r5.getSubSelectionValue(n3); + if (!i5) return; + r5 = i5; + } + return r5; + } + getDeepSelectionParent(t) { + let r5 = this.getSelectionParent(); + if (!r5) return; + let n3 = r5; + for (let i5 of t) { + let o3 = n3.value.getFieldValue(i5); + if (!o3 || !(o3 instanceof e5)) return; + let s2 = o3.getSelectionParent(); + if (!s2) return; + n3 = s2; + } + return n3; + } + getSelectionParent() { + let t = this.getField("select")?.value.asObject(); + if (t) return { kind: "select", value: t }; + let r5 = this.getField("include")?.value.asObject(); + if (r5) return { kind: "include", value: r5 }; + } + getSubSelectionValue(t) { + return this.getSelectionParent()?.value.fields[t].value; + } + getPrintWidth() { + let t = Object.values(this.fields); + return t.length == 0 ? 2 : Math.max(...t.map((n3) => n3.getPrintWidth())) + 2; + } + write(t) { + let r5 = Object.values(this.fields); + if (r5.length === 0 && this.suggestions.length === 0) { + this.writeEmpty(t); + return; + } + this.writeWithContents(t, r5); + } + asObject() { + return this; + } + writeEmpty(t) { + let r5 = new ke("{}"); + this.hasError && r5.setColor(t.context.colors.red).underline(), t.write(r5); + } + writeWithContents(t, r5) { + t.writeLine("{").withIndent(() => { + t.writeJoined(gt, [...r5, ...this.suggestions]).newLine(); + }), t.write("}"), this.hasError && t.afterNextNewline(() => { + t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth()))); + }); + } + }; + var Z = class extends Ue { + static { + __name(this, "Z"); + } + constructor(r5) { + super(); + this.text = r5; + } + getPrintWidth() { + return this.text.length; + } + write(r5) { + let n3 = new ke(this.text); + this.hasError && n3.underline().setColor(r5.context.colors.red), r5.write(n3); + } + asObject() { + } + }; + var Jt = class { + static { + __name(this, "Jt"); + } + fields = []; + addField(t, r5) { + return this.fields.push({ write(n3) { + let { green: i5, dim: o3 } = n3.context.colors; + n3.write(i5(o3(`${t}: ${r5}`))).addMarginSymbol(i5(o3("+"))); + } }), this; + } + write(t) { + let { colors: { green: r5 } } = t.context; + t.writeLine(r5("{")).withIndent(() => { + t.writeJoined(gt, this.fields).newLine(); + }).write(r5("}")).addMarginSymbol(r5("+")); + } + }; + function Cr(e5, t, r5) { + switch (e5.kind) { + case "MutuallyExclusiveFields": + sc(e5, t); + break; + case "IncludeOnScalar": + ac(e5, t); + break; + case "EmptySelection": + lc(e5, t, r5); + break; + case "UnknownSelectionField": + dc(e5, t); + break; + case "InvalidSelectionValue": + mc(e5, t); + break; + case "UnknownArgument": + fc(e5, t); + break; + case "UnknownInputField": + gc(e5, t); + break; + case "RequiredArgumentMissing": + yc(e5, t); + break; + case "InvalidArgumentType": + hc(e5, t); + break; + case "InvalidArgumentValue": + wc(e5, t); + break; + case "ValueTooLarge": + xc(e5, t); + break; + case "SomeFieldsMissing": + bc(e5, t); + break; + case "TooManyFieldsGiven": + Pc(e5, t); + break; + case "Union": + Lo(e5, t, r5); + break; + default: + throw new Error("not implemented: " + e5.kind); + } + } + __name(Cr, "Cr"); + function sc(e5, t) { + let r5 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + r5 && (r5.getField(e5.firstField)?.markAsError(), r5.getField(e5.secondField)?.markAsError()), t.addErrorMessage((n3) => `Please ${n3.bold("either")} use ${n3.green(`\`${e5.firstField}\``)} or ${n3.green(`\`${e5.secondField}\``)}, but ${n3.red("not both")} at the same time.`); + } + __name(sc, "sc"); + function ac(e5, t) { + let [r5, n3] = wt(e5.selectionPath), i5 = e5.outputType, o3 = t.arguments.getDeepSelectionParent(r5)?.value; + if (o3 && (o3.getField(n3)?.markAsError(), i5)) for (let s2 of i5.fields) s2.isRelation && o3.addSuggestion(new pe(s2.name, "true")); + t.addErrorMessage((s2) => { + let a5 = `Invalid scalar field ${s2.red(`\`${n3}\``)} for ${s2.bold("include")} statement`; + return i5 ? a5 += ` on model ${s2.bold(i5.name)}. ${Gt(s2)}` : a5 += ".", a5 += ` +Note that ${s2.bold("include")} statements only accept relation fields.`, a5; + }); + } + __name(ac, "ac"); + function lc(e5, t, r5) { + let n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + if (n3) { + let i5 = n3.getField("omit")?.value.asObject(); + if (i5) { + uc(e5, t, i5); + return; + } + if (n3.hasField("select")) { + cc(e5, t); + return; + } + } + if (r5?.[qe(e5.outputType.name)]) { + pc(e5, t); + return; + } + t.addErrorMessage(() => `Unknown field at "${e5.selectionPath.join(".")} selection"`); + } + __name(lc, "lc"); + function uc(e5, t, r5) { + r5.removeAllFields(); + for (let n3 of e5.outputType.fields) r5.addSuggestion(new pe(n3.name, "false")); + t.addErrorMessage((n3) => `The ${n3.red("omit")} statement includes every field of the model ${n3.bold(e5.outputType.name)}. At least one field must be included in the result`); + } + __name(uc, "uc"); + function cc(e5, t) { + let r5 = e5.outputType, n3 = t.arguments.getDeepSelectionParent(e5.selectionPath)?.value, i5 = n3?.isEmpty() ?? false; + n3 && (n3.removeAllFields(), Go(n3, r5)), t.addErrorMessage((o3) => i5 ? `The ${o3.red("`select`")} statement for type ${o3.bold(r5.name)} must not be empty. ${Gt(o3)}` : `The ${o3.red("`select`")} statement for type ${o3.bold(r5.name)} needs ${o3.bold("at least one truthy value")}.`); + } + __name(cc, "cc"); + function pc(e5, t) { + let r5 = new Jt(); + for (let i5 of e5.outputType.fields) i5.isRelation || r5.addField(i5.name, "false"); + let n3 = new pe("omit", r5).makeRequired(); + if (e5.selectionPath.length === 0) t.arguments.addSuggestion(n3); + else { + let [i5, o3] = wt(e5.selectionPath), a5 = t.arguments.getDeepSelectionParent(i5)?.value.asObject()?.getField(o3); + if (a5) { + let u = a5?.value.asObject() ?? new ht(); + u.addSuggestion(n3), a5.value = u; + } + } + t.addErrorMessage((i5) => `The global ${i5.red("omit")} configuration excludes every field of the model ${i5.bold(e5.outputType.name)}. At least one field must be included in the result`); + } + __name(pc, "pc"); + function dc(e5, t) { + let r5 = zo(e5.selectionPath, t); + if (r5.parentKind !== "unknown") { + r5.field.markAsError(); + let n3 = r5.parent; + switch (r5.parentKind) { + case "select": + Go(n3, e5.outputType); + break; + case "include": + Ec(n3, e5.outputType); + break; + case "omit": + Tc(n3, e5.outputType); + break; + } + } + t.addErrorMessage((n3) => { + let i5 = [`Unknown field ${n3.red(`\`${r5.fieldName}\``)}`]; + return r5.parentKind !== "unknown" && i5.push(`for ${n3.bold(r5.parentKind)} statement`), i5.push(`on model ${n3.bold(`\`${e5.outputType.name}\``)}.`), i5.push(Gt(n3)), i5.join(" "); + }); + } + __name(dc, "dc"); + function mc(e5, t) { + let r5 = zo(e5.selectionPath, t); + r5.parentKind !== "unknown" && r5.field.value.markAsError(), t.addErrorMessage((n3) => `Invalid value for selection field \`${n3.red(r5.fieldName)}\`: ${e5.underlyingError}`); + } + __name(mc, "mc"); + function fc(e5, t) { + let r5 = e5.argumentPath[0], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + n3 && (n3.getField(r5)?.markAsError(), vc(n3, e5.arguments)), t.addErrorMessage((i5) => Qo(i5, r5, e5.arguments.map((o3) => o3.name))); + } + __name(fc, "fc"); + function gc(e5, t) { + let [r5, n3] = wt(e5.argumentPath), i5 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + if (i5) { + i5.getDeepField(e5.argumentPath)?.markAsError(); + let o3 = i5.getDeepFieldValue(r5)?.asObject(); + o3 && Ho(o3, e5.inputType); + } + t.addErrorMessage((o3) => Qo(o3, n3, e5.inputType.fields.map((s2) => s2.name))); + } + __name(gc, "gc"); + function Qo(e5, t, r5) { + let n3 = [`Unknown argument \`${e5.red(t)}\`.`], i5 = Ac(t, r5); + return i5 && n3.push(`Did you mean \`${e5.green(i5)}\`?`), r5.length > 0 && n3.push(Gt(e5)), n3.join(" "); + } + __name(Qo, "Qo"); + function yc(e5, t) { + let r5; + t.addErrorMessage((u) => r5?.value instanceof Z && r5.value.text === "null" ? `Argument \`${u.green(o3)}\` must not be ${u.red("null")}.` : `Argument \`${u.green(o3)}\` is missing.`); + let n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + if (!n3) return; + let [i5, o3] = wt(e5.argumentPath), s2 = new Jt(), a5 = n3.getDeepFieldValue(i5)?.asObject(); + if (a5) { + if (r5 = a5.getField(o3), r5 && a5.removeField(o3), e5.inputTypes.length === 1 && e5.inputTypes[0].kind === "object") { + for (let u of e5.inputTypes[0].fields) s2.addField(u.name, u.typeNames.join(" | ")); + a5.addSuggestion(new pe(o3, s2).makeRequired()); + } else { + let u = e5.inputTypes.map(Jo).join(" | "); + a5.addSuggestion(new pe(o3, u).makeRequired()); + } + if (e5.dependentArgumentPath) { + n3.getDeepField(e5.dependentArgumentPath)?.markAsError(); + let [, u] = wt(e5.dependentArgumentPath); + t.addErrorMessage((m3) => `Argument \`${m3.green(o3)}\` is required because argument \`${m3.green(u)}\` was provided.`); + } + } + } + __name(yc, "yc"); + function Jo(e5) { + return e5.kind === "list" ? `${Jo(e5.elementType)}[]` : e5.name; + } + __name(Jo, "Jo"); + function hc(e5, t) { + let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + n3 && n3.getDeepFieldValue(e5.argumentPath)?.markAsError(), t.addErrorMessage((i5) => { + let o3 = Nr("or", e5.argument.typeNames.map((s2) => i5.green(s2))); + return `Argument \`${i5.bold(r5)}\`: Invalid value provided. Expected ${o3}, provided ${i5.red(e5.inferredType)}.`; + }); + } + __name(hc, "hc"); + function wc(e5, t) { + let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + n3 && n3.getDeepFieldValue(e5.argumentPath)?.markAsError(), t.addErrorMessage((i5) => { + let o3 = [`Invalid value for argument \`${i5.bold(r5)}\``]; + if (e5.underlyingError && o3.push(`: ${e5.underlyingError}`), o3.push("."), e5.argument.typeNames.length > 0) { + let s2 = Nr("or", e5.argument.typeNames.map((a5) => i5.green(a5))); + o3.push(` Expected ${s2}.`); + } + return o3.join(""); + }); + } + __name(wc, "wc"); + function xc(e5, t) { + let r5 = e5.argument.name, n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(), i5; + if (n3) { + let s2 = n3.getDeepField(e5.argumentPath)?.value; + s2?.markAsError(), s2 instanceof Z && (i5 = s2.text); + } + t.addErrorMessage((o3) => { + let s2 = ["Unable to fit value"]; + return i5 && s2.push(o3.red(i5)), s2.push(`into a 64-bit signed integer for field \`${o3.bold(r5)}\``), s2.join(" "); + }); + } + __name(xc, "xc"); + function bc(e5, t) { + let r5 = e5.argumentPath[e5.argumentPath.length - 1], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(); + if (n3) { + let i5 = n3.getDeepFieldValue(e5.argumentPath)?.asObject(); + i5 && Ho(i5, e5.inputType); + } + t.addErrorMessage((i5) => { + let o3 = [`Argument \`${i5.bold(r5)}\` of type ${i5.bold(e5.inputType.name)} needs`]; + return e5.constraints.minFieldCount === 1 ? e5.constraints.requiredFields ? o3.push(`${i5.green("at least one of")} ${Nr("or", e5.constraints.requiredFields.map((s2) => `\`${i5.bold(s2)}\``))} arguments.`) : o3.push(`${i5.green("at least one")} argument.`) : o3.push(`${i5.green(`at least ${e5.constraints.minFieldCount}`)} arguments.`), o3.push(Gt(i5)), o3.join(" "); + }); + } + __name(bc, "bc"); + function Pc(e5, t) { + let r5 = e5.argumentPath[e5.argumentPath.length - 1], n3 = t.arguments.getDeepSubSelectionValue(e5.selectionPath)?.asObject(), i5 = []; + if (n3) { + let o3 = n3.getDeepFieldValue(e5.argumentPath)?.asObject(); + o3 && (o3.markAsError(), i5 = Object.keys(o3.getFields())); + } + t.addErrorMessage((o3) => { + let s2 = [`Argument \`${o3.bold(r5)}\` of type ${o3.bold(e5.inputType.name)} needs`]; + return e5.constraints.minFieldCount === 1 && e5.constraints.maxFieldCount == 1 ? s2.push(`${o3.green("exactly one")} argument,`) : e5.constraints.maxFieldCount == 1 ? s2.push(`${o3.green("at most one")} argument,`) : s2.push(`${o3.green(`at most ${e5.constraints.maxFieldCount}`)} arguments,`), s2.push(`but you provided ${Nr("and", i5.map((a5) => o3.red(a5)))}. Please choose`), e5.constraints.maxFieldCount === 1 ? s2.push("one.") : s2.push(`${e5.constraints.maxFieldCount}.`), s2.join(" "); + }); + } + __name(Pc, "Pc"); + function Go(e5, t) { + for (let r5 of t.fields) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, "true")); + } + __name(Go, "Go"); + function Ec(e5, t) { + for (let r5 of t.fields) r5.isRelation && !e5.hasField(r5.name) && e5.addSuggestion(new pe(r5.name, "true")); + } + __name(Ec, "Ec"); + function Tc(e5, t) { + for (let r5 of t.fields) !e5.hasField(r5.name) && !r5.isRelation && e5.addSuggestion(new pe(r5.name, "true")); + } + __name(Tc, "Tc"); + function vc(e5, t) { + for (let r5 of t) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, r5.typeNames.join(" | "))); + } + __name(vc, "vc"); + function zo(e5, t) { + let [r5, n3] = wt(e5), i5 = t.arguments.getDeepSubSelectionValue(r5)?.asObject(); + if (!i5) return { parentKind: "unknown", fieldName: n3 }; + let o3 = i5.getFieldValue("select")?.asObject(), s2 = i5.getFieldValue("include")?.asObject(), a5 = i5.getFieldValue("omit")?.asObject(), u = o3?.getField(n3); + return o3 && u ? { parentKind: "select", parent: o3, field: u, fieldName: n3 } : (u = s2?.getField(n3), s2 && u ? { parentKind: "include", field: u, parent: s2, fieldName: n3 } : (u = a5?.getField(n3), a5 && u ? { parentKind: "omit", field: u, parent: a5, fieldName: n3 } : { parentKind: "unknown", fieldName: n3 })); + } + __name(zo, "zo"); + function Ho(e5, t) { + if (t.kind === "object") for (let r5 of t.fields) e5.hasField(r5.name) || e5.addSuggestion(new pe(r5.name, r5.typeNames.join(" | "))); + } + __name(Ho, "Ho"); + function wt(e5) { + let t = [...e5], r5 = t.pop(); + if (!r5) throw new Error("unexpected empty path"); + return [t, r5]; + } + __name(wt, "wt"); + function Gt({ green: e5, enabled: t }) { + return "Available options are " + (t ? `listed in ${e5("green")}` : "marked with ?") + "."; + } + __name(Gt, "Gt"); + function Nr(e5, t) { + if (t.length === 1) return t[0]; + let r5 = [...t], n3 = r5.pop(); + return `${r5.join(", ")} ${e5} ${n3}`; + } + __name(Nr, "Nr"); + var Sc = 3; + function Ac(e5, t) { + let r5 = 1 / 0, n3; + for (let i5 of t) { + let o3 = (0, Bo.default)(e5, i5); + o3 > Sc || o3 < r5 && (r5 = o3, n3 = i5); + } + return n3; + } + __name(Ac, "Ac"); + var Ko = require_dist(); + var zt = class { + static { + __name(this, "zt"); + } + modelName; + name; + typeName; + isList; + isEnum; + constructor(t, r5, n3, i5, o3) { + this.modelName = t, this.name = r5, this.typeName = n3, this.isList = i5, this.isEnum = o3; + } + _toGraphQLInputType() { + let t = this.isList ? "List" : "", r5 = this.isEnum ? "Enum" : ""; + return `${t}${r5}${this.typeName}FieldRefInput<${this.modelName}>`; + } + }; + function xt(e5) { + return e5 instanceof zt; + } + __name(xt, "xt"); + var Wo = ": "; + var Dr = class { + static { + __name(this, "Dr"); + } + constructor(t, r5) { + this.name = t; + this.value = r5; + } + hasError = false; + markAsError() { + this.hasError = true; + } + getPrintWidth() { + return this.name.length + this.value.getPrintWidth() + Wo.length; + } + write(t) { + let r5 = new ke(this.name); + this.hasError && r5.underline().setColor(t.context.colors.red), t.write(r5).write(Wo).write(this.value); + } + }; + var jn = class { + static { + __name(this, "jn"); + } + arguments; + errorMessages = []; + constructor(t) { + this.arguments = t; + } + write(t) { + t.write(this.arguments); + } + addErrorMessage(t) { + this.errorMessages.push(t); + } + renderAllMessages(t) { + return this.errorMessages.map((r5) => r5(t)).join(` +`); + } + }; + function bt(e5) { + return new jn(Zo(e5)); + } + __name(bt, "bt"); + function Zo(e5) { + let t = new ht(); + for (let [r5, n3] of Object.entries(e5)) { + let i5 = new Dr(r5, Xo(n3)); + t.addField(i5); + } + return t; + } + __name(Zo, "Zo"); + function Xo(e5) { + if (typeof e5 == "string") return new Z(JSON.stringify(e5)); + if (typeof e5 == "number" || typeof e5 == "boolean") return new Z(String(e5)); + if (typeof e5 == "bigint") return new Z(`${e5}n`); + if (e5 === null) return new Z("null"); + if (e5 === void 0) return new Z("undefined"); + if (dt(e5)) return new Z(`new Prisma.Decimal("${e5.toFixed()}")`); + if (e5 instanceof Uint8Array) return Buffer.isBuffer(e5) ? new Z(`Buffer.alloc(${e5.byteLength})`) : new Z(`new Uint8Array(${e5.byteLength})`); + if (e5 instanceof Date) { + let t = pt(e5) ? e5.toISOString() : "Invalid Date"; + return new Z(`new Date("${t}")`); + } + return (0, Ko.isObjectEnumValue)(e5) ? new Z(`Prisma.${e5._getName()}`) : xt(e5) ? new Z(`prisma.${qe(e5.modelName)}.$fields.${e5.name}`) : Array.isArray(e5) ? Rc(e5) : typeof e5 == "object" ? Zo(e5) : new Z(Object.prototype.toString.call(e5)); + } + __name(Xo, "Xo"); + function Rc(e5) { + let t = new yt(); + for (let r5 of e5) t.addItem(Xo(r5)); + return t; + } + __name(Rc, "Rc"); + function Mr(e5, t) { + let r5 = t === "pretty" ? jo : Or, n3 = e5.renderAllMessages(r5), i5 = new ft(0, { colors: r5 }).write(e5).toString(); + return { message: n3, args: i5 }; + } + __name(Mr, "Mr"); + function Fr({ args: e5, errors: t, errorFormat: r5, callsite: n3, originalMethod: i5, clientVersion: o3, globalOmit: s2 }) { + let a5 = bt(e5); + for (let T2 of t) Cr(T2, a5, s2); + let { message: u, args: m3 } = Mr(a5, r5), P = Rr({ message: u, callsite: n3, originalMethod: i5, showColors: r5 === "pretty", callArguments: m3 }); + throw new Yo.PrismaClientValidationError(P, { clientVersion: o3 }); + } + __name(Fr, "Fr"); + function Oe(e5) { + return e5.replace(/^./, (t) => t.toLowerCase()); + } + __name(Oe, "Oe"); + function ts(e5, t, r5) { + let n3 = Oe(r5); + return !t.result || !(t.result.$allModels || t.result[n3]) ? e5 : Cc({ ...e5, ...es(t.name, e5, t.result.$allModels), ...es(t.name, e5, t.result[n3]) }); + } + __name(ts, "ts"); + function Cc(e5) { + let t = new Ie(), r5 = /* @__PURE__ */ __name((n3, i5) => t.getOrCreate(n3, () => i5.has(n3) ? [n3] : (i5.add(n3), e5[n3] ? e5[n3].needs.flatMap((o3) => r5(o3, i5)) : [n3])), "r"); + return vr(e5, (n3) => ({ ...n3, needs: r5(n3.name, /* @__PURE__ */ new Set()) })); + } + __name(Cc, "Cc"); + function es(e5, t, r5) { + return r5 ? vr(r5, ({ needs: n3, compute: i5 }, o3) => ({ name: o3, needs: n3 ? Object.keys(n3).filter((s2) => n3[s2]) : [], compute: Ic(t, o3, i5) })) : {}; + } + __name(es, "es"); + function Ic(e5, t, r5) { + let n3 = e5?.[t]?.compute; + return n3 ? (i5, o3) => r5({ ...i5, [t]: n3(i5, o3) }, o3) : r5; + } + __name(Ic, "Ic"); + function rs(e5, t) { + if (!t) return e5; + let r5 = { ...e5 }; + for (let n3 of Object.values(t)) if (e5[n3.name]) for (let i5 of n3.needs) r5[i5] = true; + return r5; + } + __name(rs, "rs"); + function ns(e5, t) { + if (!t) return e5; + let r5 = { ...e5 }; + for (let n3 of Object.values(t)) if (!e5[n3.name]) for (let i5 of n3.needs) delete r5[i5]; + return r5; + } + __name(ns, "ns"); + var _r3 = class { + static { + __name(this, "_r"); + } + constructor(t, r5) { + this.extension = t; + this.previous = r5; + } + computedFieldsCache = new Ie(); + modelExtensionsCache = new Ie(); + queryCallbacksCache = new Ie(); + clientExtensions = Nt(() => this.extension.client ? { ...this.previous?.getAllClientExtensions(), ...this.extension.client } : this.previous?.getAllClientExtensions()); + batchCallbacks = Nt(() => { + let t = this.previous?.getAllBatchQueryCallbacks() ?? [], r5 = this.extension.query?.$__internalBatch; + return r5 ? t.concat(r5) : t; + }); + getAllComputedFields(t) { + return this.computedFieldsCache.getOrCreate(t, () => ts(this.previous?.getAllComputedFields(t), this.extension, t)); + } + getAllClientExtensions() { + return this.clientExtensions.get(); + } + getAllModelExtensions(t) { + return this.modelExtensionsCache.getOrCreate(t, () => { + let r5 = Oe(t); + return !this.extension.model || !(this.extension.model[r5] || this.extension.model.$allModels) ? this.previous?.getAllModelExtensions(t) : { ...this.previous?.getAllModelExtensions(t), ...this.extension.model.$allModels, ...this.extension.model[r5] }; + }); + } + getAllQueryCallbacks(t, r5) { + return this.queryCallbacksCache.getOrCreate(`${t}:${r5}`, () => { + let n3 = this.previous?.getAllQueryCallbacks(t, r5) ?? [], i5 = [], o3 = this.extension.query; + return !o3 || !(o3[t] || o3.$allModels || o3[r5] || o3.$allOperations) ? n3 : (o3[t] !== void 0 && (o3[t][r5] !== void 0 && i5.push(o3[t][r5]), o3[t].$allOperations !== void 0 && i5.push(o3[t].$allOperations)), t !== "$none" && o3.$allModels !== void 0 && (o3.$allModels[r5] !== void 0 && i5.push(o3.$allModels[r5]), o3.$allModels.$allOperations !== void 0 && i5.push(o3.$allModels.$allOperations)), o3[r5] !== void 0 && i5.push(o3[r5]), o3.$allOperations !== void 0 && i5.push(o3.$allOperations), n3.concat(i5)); + }); + } + getAllBatchQueryCallbacks() { + return this.batchCallbacks.get(); + } + }; + var Pt = class e5 { + static { + __name(this, "e"); + } + constructor(t) { + this.head = t; + } + static empty() { + return new e5(); + } + static single(t) { + return new e5(new _r3(t)); + } + isEmpty() { + return this.head === void 0; + } + append(t) { + return new e5(new _r3(t, this.head)); + } + getAllComputedFields(t) { + return this.head?.getAllComputedFields(t); + } + getAllClientExtensions() { + return this.head?.getAllClientExtensions(); + } + getAllModelExtensions(t) { + return this.head?.getAllModelExtensions(t); + } + getAllQueryCallbacks(t, r5) { + return this.head?.getAllQueryCallbacks(t, r5) ?? []; + } + getAllBatchQueryCallbacks() { + return this.head?.getAllBatchQueryCallbacks() ?? []; + } + }; + var $r = class { + static { + __name(this, "$r"); + } + constructor(t) { + this.name = t; + } + }; + function is(e5) { + return e5 instanceof $r; + } + __name(is, "is"); + function os(e5) { + return new $r(e5); + } + __name(os, "os"); + var ss = /* @__PURE__ */ Symbol(); + var Ht = class { + static { + __name(this, "Ht"); + } + constructor(t) { + if (t !== ss) throw new Error("Skip instance can not be constructed directly"); + } + ifUndefined(t) { + return t === void 0 ? Lr : t; + } + }; + var Lr = new Ht(ss); + function fe(e5) { + return e5 instanceof Ht; + } + __name(fe, "fe"); + var kc = { findUnique: "findUnique", findUniqueOrThrow: "findUniqueOrThrow", findFirst: "findFirst", findFirstOrThrow: "findFirstOrThrow", findMany: "findMany", count: "aggregate", create: "createOne", createMany: "createMany", createManyAndReturn: "createManyAndReturn", update: "updateOne", updateMany: "updateMany", updateManyAndReturn: "updateManyAndReturn", upsert: "upsertOne", delete: "deleteOne", deleteMany: "deleteMany", executeRaw: "executeRaw", queryRaw: "queryRaw", aggregate: "aggregate", groupBy: "groupBy", runCommandRaw: "runCommandRaw", findRaw: "findRaw", aggregateRaw: "aggregateRaw" }; + var ls = "explicitly `undefined` values are not allowed"; + function Vr({ modelName: e5, action: t, args: r5, runtimeDataModel: n3, extensions: i5 = Pt.empty(), callsite: o3, clientMethod: s2, errorFormat: a5, clientVersion: u, previewFeatures: m3, globalOmit: P, wrapRawValues: T2 }) { + let S = new Bn({ runtimeDataModel: n3, modelName: e5, action: t, rootArgs: r5, callsite: o3, extensions: i5, selectionPath: [], argumentPath: [], originalMethod: s2, errorFormat: a5, clientVersion: u, previewFeatures: m3, globalOmit: P, wrapRawValues: T2 }); + return { modelName: e5, action: kc[t], query: Wt(r5, S) }; + } + __name(Vr, "Vr"); + function Wt({ select: e5, include: t, ...r5 } = {}, n3) { + let i5 = r5.omit; + return delete r5.omit, { arguments: cs(r5, n3), selection: Oc(e5, t, i5, n3) }; + } + __name(Wt, "Wt"); + function Oc(e5, t, r5, n3) { + return e5 ? (t ? n3.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "include", secondField: "select", selectionPath: n3.getSelectionPath() }) : r5 && n3.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "omit", secondField: "select", selectionPath: n3.getSelectionPath() }), Fc(e5, n3)) : Nc(n3, t, r5); + } + __name(Oc, "Oc"); + function Nc(e5, t, r5) { + let n3 = {}; + return e5.modelOrType && !e5.isRawAction() && (n3.$composites = true, n3.$scalars = true), t && Dc(n3, t, e5), Mc(n3, r5, e5), n3; + } + __name(Nc, "Nc"); + function Dc(e5, t, r5) { + for (let [n3, i5] of Object.entries(t)) { + if (fe(i5)) continue; + let o3 = r5.nestSelection(n3); + if (Qn(i5, o3), i5 === false || i5 === void 0) { + e5[n3] = false; + continue; + } + let s2 = r5.findField(n3); + if (s2 && s2.kind !== "object" && r5.throwValidationError({ kind: "IncludeOnScalar", selectionPath: r5.getSelectionPath().concat(n3), outputType: r5.getOutputTypeDescription() }), s2) { + e5[n3] = Wt(i5 === true ? {} : i5, o3); + continue; + } + if (i5 === true) { + e5[n3] = true; + continue; + } + e5[n3] = Wt(i5, o3); + } + } + __name(Dc, "Dc"); + function Mc(e5, t, r5) { + let n3 = r5.getComputedFields(), i5 = { ...r5.getGlobalOmit(), ...t }, o3 = ns(i5, n3); + for (let [s2, a5] of Object.entries(o3)) { + if (fe(a5)) continue; + Qn(a5, r5.nestSelection(s2)); + let u = r5.findField(s2); + n3?.[s2] && !u || (e5[s2] = !a5); + } + } + __name(Mc, "Mc"); + function Fc(e5, t) { + let r5 = {}, n3 = t.getComputedFields(), i5 = rs(e5, n3); + for (let [o3, s2] of Object.entries(i5)) { + if (fe(s2)) continue; + let a5 = t.nestSelection(o3); + Qn(s2, a5); + let u = t.findField(o3); + if (!(n3?.[o3] && !u)) { + if (s2 === false || s2 === void 0 || fe(s2)) { + r5[o3] = false; + continue; + } + if (s2 === true) { + u?.kind === "object" ? r5[o3] = Wt({}, a5) : r5[o3] = true; + continue; + } + r5[o3] = Wt(s2, a5); + } + } + return r5; + } + __name(Fc, "Fc"); + function us(e5, t) { + if (e5 === null) return null; + if (typeof e5 == "string" || typeof e5 == "number" || typeof e5 == "boolean") return e5; + if (typeof e5 == "bigint") return { $type: "BigInt", value: String(e5) }; + if (ct(e5)) { + if (pt(e5)) return { $type: "DateTime", value: e5.toISOString() }; + t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: t.getSelectionPath(), argumentPath: t.getArgumentPath(), argument: { name: t.getArgumentName(), typeNames: ["Date"] }, underlyingError: "Provided Date object is invalid" }); + } + if (is(e5)) return { $type: "Param", value: e5.name }; + if (xt(e5)) return { $type: "FieldRef", value: { _ref: e5.name, _container: e5.modelName } }; + if (Array.isArray(e5)) return _c5(e5, t); + if (ArrayBuffer.isView(e5)) { + let { buffer: r5, byteOffset: n3, byteLength: i5 } = e5; + return { $type: "Bytes", value: Buffer.from(r5, n3, i5).toString("base64") }; + } + if ($c(e5)) return e5.values; + if (dt(e5)) return { $type: "Decimal", value: e5.toFixed() }; + if ((0, as.isObjectEnumValue)(e5)) { + let r5 = e5._getName(); + if (r5 !== "DbNull" && r5 !== "JsonNull" && r5 !== "AnyNull") throw new Error(`Invalid ObjectEnumValue: expected DbNull, JsonNull, or AnyNull, got ${r5}`); + return { $type: "Enum", value: r5 }; + } + if (Lc(e5)) return e5.toJSON(); + if (typeof e5 == "object") return cs(e5, t); + t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: t.getSelectionPath(), argumentPath: t.getArgumentPath(), argument: { name: t.getArgumentName(), typeNames: [] }, underlyingError: `We could not serialize ${Object.prototype.toString.call(e5)} value. Serialize the object to JSON or implement a ".toJSON()" method on it` }); + } + __name(us, "us"); + function cs(e5, t) { + if (t.shouldWrapRawValues() && e5.$type) return { $type: "Raw", value: e5 }; + let r5 = {}; + for (let n3 in e5) { + let i5 = e5[n3], o3 = t.nestArgument(n3); + fe(i5) || (i5 !== void 0 ? r5[n3] = us(i5, o3) : t.isPreviewFeatureOn("strictUndefinedChecks") && t.throwValidationError({ kind: "InvalidArgumentValue", argumentPath: o3.getArgumentPath(), selectionPath: t.getSelectionPath(), argument: { name: t.getArgumentName(), typeNames: [] }, underlyingError: ls })); + } + return r5; + } + __name(cs, "cs"); + function _c5(e5, t) { + let r5 = []; + for (let n3 = 0; n3 < e5.length; n3++) { + let i5 = t.nestArgument(String(n3)), o3 = e5[n3]; + if (o3 === void 0 || fe(o3)) { + let s2 = o3 === void 0 ? "undefined" : "Prisma.skip"; + t.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: i5.getSelectionPath(), argumentPath: i5.getArgumentPath(), argument: { name: `${t.getArgumentName()}[${n3}]`, typeNames: [] }, underlyingError: `Can not use \`${s2}\` value within array. Use \`null\` or filter out \`${s2}\` values` }); + } + r5.push(us(o3, i5)); + } + return r5; + } + __name(_c5, "_c"); + function $c(e5) { + return typeof e5 == "object" && e5 !== null && e5.__prismaRawParameters__ === true; + } + __name($c, "$c"); + function Lc(e5) { + return typeof e5 == "object" && e5 !== null && typeof e5.toJSON == "function"; + } + __name(Lc, "Lc"); + function Qn(e5, t) { + e5 === void 0 && t.isPreviewFeatureOn("strictUndefinedChecks") && t.throwValidationError({ kind: "InvalidSelectionValue", selectionPath: t.getSelectionPath(), underlyingError: ls }); + } + __name(Qn, "Qn"); + var Bn = class e5 { + static { + __name(this, "e"); + } + constructor(t) { + this.params = t; + this.params.modelName && (this.modelOrType = this.params.runtimeDataModel.models[this.params.modelName] ?? this.params.runtimeDataModel.types[this.params.modelName]); + } + modelOrType; + throwValidationError(t) { + Fr({ errors: [t], originalMethod: this.params.originalMethod, args: this.params.rootArgs ?? {}, callsite: this.params.callsite, errorFormat: this.params.errorFormat, clientVersion: this.params.clientVersion, globalOmit: this.params.globalOmit }); + } + getSelectionPath() { + return this.params.selectionPath; + } + getArgumentPath() { + return this.params.argumentPath; + } + getArgumentName() { + return this.params.argumentPath[this.params.argumentPath.length - 1]; + } + getOutputTypeDescription() { + if (!(!this.params.modelName || !this.modelOrType)) return { name: this.params.modelName, fields: this.modelOrType.fields.map((t) => ({ name: t.name, typeName: "boolean", isRelation: t.kind === "object" })) }; + } + isRawAction() { + return ["executeRaw", "queryRaw", "runCommandRaw", "findRaw", "aggregateRaw"].includes(this.params.action); + } + isPreviewFeatureOn(t) { + return this.params.previewFeatures.includes(t); + } + shouldWrapRawValues() { + return this.params.wrapRawValues ?? true; + } + getComputedFields() { + if (this.params.modelName) return this.params.extensions.getAllComputedFields(this.params.modelName); + } + findField(t) { + return this.modelOrType?.fields.find((r5) => r5.name === t); + } + nestSelection(t) { + let r5 = this.findField(t), n3 = r5?.kind === "object" ? r5.type : void 0; + return new e5({ ...this.params, modelName: n3, selectionPath: this.params.selectionPath.concat(t) }); + } + getGlobalOmit() { + return this.params.modelName && this.shouldApplyGlobalOmit() ? this.params.globalOmit?.[qe(this.params.modelName)] ?? {} : {}; + } + shouldApplyGlobalOmit() { + switch (this.params.action) { + case "findFirst": + case "findFirstOrThrow": + case "findUniqueOrThrow": + case "findMany": + case "upsert": + case "findUnique": + case "createManyAndReturn": + case "create": + case "update": + case "updateManyAndReturn": + case "delete": + return true; + case "executeRaw": + case "aggregateRaw": + case "runCommandRaw": + case "findRaw": + case "createMany": + case "deleteMany": + case "groupBy": + case "updateMany": + case "count": + case "aggregate": + case "queryRaw": + return false; + default: + $e(this.params.action, "Unknown action"); + } + } + nestArgument(t) { + return new e5({ ...this.params, argumentPath: this.params.argumentPath.concat(t) }); + } + }; + function ps(e5, t) { + let r5 = Nt(() => Vc(t)); + Object.defineProperty(e5, "dmmf", { get: /* @__PURE__ */ __name(() => r5.get(), "get") }); + } + __name(ps, "ps"); + function Vc(e5) { + return { datamodel: { models: Jn(e5.models), enums: Jn(e5.enums), types: Jn(e5.types) } }; + } + __name(Vc, "Vc"); + function Jn(e5) { + return Object.entries(e5).map(([t, r5]) => ({ name: t, ...r5 })); + } + __name(Jn, "Jn"); + var Gn = /* @__PURE__ */ new WeakMap(); + var qr = "$$PrismaTypedSql"; + var Kt = class { + static { + __name(this, "Kt"); + } + constructor(t, r5) { + Gn.set(this, { sql: t, values: r5 }), Object.defineProperty(this, qr, { value: qr }); + } + get sql() { + return Gn.get(this).sql; + } + get values() { + return Gn.get(this).values; + } + }; + function ds(e5) { + return (...t) => new Kt(e5, t); + } + __name(ds, "ds"); + function Ur(e5) { + return e5 != null && e5[qr] === qr; + } + __name(Ur, "Ur"); + var nu = require_dist(); + var iu = __require("node:async_hooks"); + var ou = __require("node:events"); + function Zt(e5) { + return { getKeys() { + return Object.keys(e5); + }, getPropertyValue(t) { + return e5[t]; + } }; + } + __name(Zt, "Zt"); + function ae(e5, t) { + return { getKeys() { + return [e5]; + }, getPropertyValue() { + return t(); + } }; + } + __name(ae, "ae"); + function We(e5) { + let t = new Ie(); + return { getKeys() { + return e5.getKeys(); + }, getPropertyValue(r5) { + return t.getOrCreate(r5, () => e5.getPropertyValue(r5)); + }, getPropertyDescriptor(r5) { + return e5.getPropertyDescriptor?.(r5); + } }; + } + __name(We, "We"); + var jr = { enumerable: true, configurable: true, writable: true }; + function Br(e5) { + let t = new Set(e5); + return { getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf"), getOwnPropertyDescriptor: /* @__PURE__ */ __name(() => jr, "getOwnPropertyDescriptor"), has: /* @__PURE__ */ __name((r5, n3) => t.has(n3), "has"), set: /* @__PURE__ */ __name((r5, n3, i5) => t.add(n3) && Reflect.set(r5, n3, i5), "set"), ownKeys: /* @__PURE__ */ __name(() => [...t], "ownKeys") }; + } + __name(Br, "Br"); + var ms = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom"); + function ve(e5, t) { + let r5 = qc(t), n3 = /* @__PURE__ */ new Set(), i5 = new Proxy(e5, { get(o3, s2) { + if (n3.has(s2)) return o3[s2]; + let a5 = r5.get(s2); + return a5 ? a5.getPropertyValue(s2) : o3[s2]; + }, has(o3, s2) { + if (n3.has(s2)) return true; + let a5 = r5.get(s2); + return a5 ? a5.has?.(s2) ?? true : Reflect.has(o3, s2); + }, ownKeys(o3) { + let s2 = fs(Reflect.ownKeys(o3), r5), a5 = fs(Array.from(r5.keys()), r5); + return [.../* @__PURE__ */ new Set([...s2, ...a5, ...n3])]; + }, set(o3, s2, a5) { + return r5.get(s2)?.getPropertyDescriptor?.(s2)?.writable === false ? false : (n3.add(s2), Reflect.set(o3, s2, a5)); + }, getOwnPropertyDescriptor(o3, s2) { + let a5 = Reflect.getOwnPropertyDescriptor(o3, s2); + if (a5 && !a5.configurable) return a5; + let u = r5.get(s2); + return u ? u.getPropertyDescriptor ? { ...jr, ...u?.getPropertyDescriptor(s2) } : jr : a5; + }, defineProperty(o3, s2, a5) { + return n3.add(s2), Reflect.defineProperty(o3, s2, a5); + }, getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf") }); + return i5[ms] = function() { + let o3 = { ...this }; + return delete o3[ms], o3; + }, i5; + } + __name(ve, "ve"); + function qc(e5) { + let t = /* @__PURE__ */ new Map(); + for (let r5 of e5) { + let n3 = r5.getKeys(); + for (let i5 of n3) t.set(i5, r5); + } + return t; + } + __name(qc, "qc"); + function fs(e5, t) { + return e5.filter((r5) => t.get(r5)?.has?.(r5) ?? true); + } + __name(fs, "fs"); + function Et(e5) { + return { getKeys() { + return e5; + }, has() { + return false; + }, getPropertyValue() { + } }; + } + __name(Et, "Et"); + function gs(e5) { + if (e5 === void 0) return ""; + let t = bt(e5); + return new ft(0, { colors: Or }).write(t).toString(); + } + __name(gs, "gs"); + var Xt = ""; + function ys(e5) { + var t = e5.split(` +`); + return t.reduce(function(r5, n3) { + var i5 = Bc(n3) || Jc(n3) || Hc(n3) || Xc(n3) || Kc(n3); + return i5 && r5.push(i5), r5; + }, []); + } + __name(ys, "ys"); + var Uc = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i; + var jc = /\((\S*)(?::(\d+))(?::(\d+))\)/; + function Bc(e5) { + var t = Uc.exec(e5); + if (!t) return null; + var r5 = t[2] && t[2].indexOf("native") === 0, n3 = t[2] && t[2].indexOf("eval") === 0, i5 = jc.exec(t[2]); + return n3 && i5 != null && (t[2] = i5[1], t[3] = i5[2], t[4] = i5[3]), { file: r5 ? null : t[2], methodName: t[1] || Xt, arguments: r5 ? [t[2]] : [], lineNumber: t[3] ? +t[3] : null, column: t[4] ? +t[4] : null }; + } + __name(Bc, "Bc"); + var Qc = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i; + function Jc(e5) { + var t = Qc.exec(e5); + return t ? { file: t[2], methodName: t[1] || Xt, arguments: [], lineNumber: +t[3], column: t[4] ? +t[4] : null } : null; + } + __name(Jc, "Jc"); + var Gc = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i; + var zc = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i; + function Hc(e5) { + var t = Gc.exec(e5); + if (!t) return null; + var r5 = t[3] && t[3].indexOf(" > eval") > -1, n3 = zc.exec(t[3]); + return r5 && n3 != null && (t[3] = n3[1], t[4] = n3[2], t[5] = null), { file: t[3], methodName: t[1] || Xt, arguments: t[2] ? t[2].split(",") : [], lineNumber: t[4] ? +t[4] : null, column: t[5] ? +t[5] : null }; + } + __name(Hc, "Hc"); + var Wc = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i; + function Kc(e5) { + var t = Wc.exec(e5); + return t ? { file: t[3], methodName: t[1] || Xt, arguments: [], lineNumber: +t[4], column: t[5] ? +t[5] : null } : null; + } + __name(Kc, "Kc"); + var Zc = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i; + function Xc(e5) { + var t = Zc.exec(e5); + return t ? { file: t[2], methodName: t[1] || Xt, arguments: [], lineNumber: +t[3], column: t[4] ? +t[4] : null } : null; + } + __name(Xc, "Xc"); + var zn = class { + static { + __name(this, "zn"); + } + getLocation() { + return null; + } + }; + var Hn = class { + static { + __name(this, "Hn"); + } + _error; + constructor() { + this._error = new Error(); + } + getLocation() { + let t = this._error.stack; + if (!t) return null; + let n3 = ys(t).find((i5) => { + if (!i5.file) return false; + let o3 = _n(i5.file); + return o3 !== "" && !o3.includes("@prisma") && !o3.includes("/packages/client/src/runtime/") && !o3.endsWith("/runtime/client.js") && !o3.startsWith("internal/") && !i5.methodName.includes("new ") && !i5.methodName.includes("getCallSite") && !i5.methodName.includes("Proxy.") && i5.methodName.split(".").length < 4; + }); + return !n3 || !n3.file ? null : { fileName: n3.file, lineNumber: n3.lineNumber, columnNumber: n3.column }; + } + }; + function je(e5) { + return e5 === "minimal" ? typeof $EnabledCallSite == "function" && e5 !== "minimal" ? new $EnabledCallSite() : new zn() : new Hn(); + } + __name(je, "je"); + var hs = { _avg: true, _count: true, _sum: true, _min: true, _max: true }; + function Tt(e5 = {}) { + let t = ep(e5); + return Object.entries(t).reduce((n3, [i5, o3]) => (hs[i5] !== void 0 ? n3.select[i5] = { select: o3 } : n3[i5] = o3, n3), { select: {} }); + } + __name(Tt, "Tt"); + function ep(e5 = {}) { + return typeof e5._count == "boolean" ? { ...e5, _count: { _all: e5._count } } : e5; + } + __name(ep, "ep"); + function Qr(e5 = {}) { + return (t) => (typeof e5._count == "boolean" && (t._count = t._count._all), t); + } + __name(Qr, "Qr"); + function ws(e5, t) { + let r5 = Qr(e5); + return t({ action: "aggregate", unpacker: r5, argsMapper: Tt })(e5); + } + __name(ws, "ws"); + function tp(e5 = {}) { + let { select: t, ...r5 } = e5; + return typeof t == "object" ? Tt({ ...r5, _count: t }) : Tt({ ...r5, _count: { _all: true } }); + } + __name(tp, "tp"); + function rp(e5 = {}) { + return typeof e5.select == "object" ? (t) => Qr(e5)(t)._count : (t) => Qr(e5)(t)._count._all; + } + __name(rp, "rp"); + function xs(e5, t) { + return t({ action: "count", unpacker: rp(e5), argsMapper: tp })(e5); + } + __name(xs, "xs"); + function np(e5 = {}) { + let t = Tt(e5); + if (Array.isArray(t.by)) for (let r5 of t.by) typeof r5 == "string" && (t.select[r5] = true); + else typeof t.by == "string" && (t.select[t.by] = true); + return t; + } + __name(np, "np"); + function ip(e5 = {}) { + return (t) => (typeof e5?._count == "boolean" && t.forEach((r5) => { + r5._count = r5._count._all; + }), t); + } + __name(ip, "ip"); + function bs(e5, t) { + return t({ action: "groupBy", unpacker: ip(e5), argsMapper: np })(e5); + } + __name(bs, "bs"); + function Ps(e5, t, r5) { + if (t === "aggregate") return (n3) => ws(n3, r5); + if (t === "count") return (n3) => xs(n3, r5); + if (t === "groupBy") return (n3) => bs(n3, r5); + } + __name(Ps, "Ps"); + function Es(e5, t) { + let r5 = t.fields.filter((i5) => !i5.relationName), n3 = oo(r5, "name"); + return new Proxy({}, { get(i5, o3) { + if (o3 in i5 || typeof o3 == "symbol") return i5[o3]; + let s2 = n3[o3]; + if (s2) return new zt(e5, o3, s2.type, s2.isList, s2.kind === "enum"); + }, ...Br(Object.keys(n3)) }); + } + __name(Es, "Es"); + var Ts = /* @__PURE__ */ __name((e5) => Array.isArray(e5) ? e5 : e5.split("."), "Ts"); + var Wn = /* @__PURE__ */ __name((e5, t) => Ts(t).reduce((r5, n3) => r5 && r5[n3], e5), "Wn"); + var vs = /* @__PURE__ */ __name((e5, t, r5) => Ts(t).reduceRight((n3, i5, o3, s2) => Object.assign({}, Wn(e5, s2.slice(0, o3)), { [i5]: n3 }), r5), "vs"); + function op(e5, t) { + return e5 === void 0 || t === void 0 ? [] : [...t, "select", e5]; + } + __name(op, "op"); + function sp(e5, t, r5) { + return t === void 0 ? e5 ?? {} : vs(t, r5, e5 || true); + } + __name(sp, "sp"); + function Kn(e5, t, r5, n3, i5, o3) { + let s2 = e5._runtimeDataModel.models[t], a5; + return (u) => { + let m3 = je(e5._errorFormat), P = op(n3, i5), T2 = sp(u, o3, P), S = r5({ dataPath: P, callsite: m3 })(T2), I = ap(e5, t); + return new Proxy(S, { get(A, M) { + if (!I.includes(M)) return A[M]; + a5 ??= Object.fromEntries(s2.fields.map((D) => [D.name, D])); + let q3 = [a5[M].type, r5, M], E = [P, T2]; + return Kn(e5, ...q3, ...E); + }, ...Br([...I, ...Object.getOwnPropertyNames(S)]) }); + }; + } + __name(Kn, "Kn"); + function ap(e5, t) { + return e5._runtimeDataModel.models[t].fields.filter((r5) => r5.kind === "object").map((r5) => r5.name); + } + __name(ap, "ap"); + var lp = ["findUnique", "findUniqueOrThrow", "findFirst", "findFirstOrThrow", "create", "update", "upsert", "delete"]; + var up = ["aggregate", "count", "groupBy"]; + function Zn(e5, t) { + let r5 = e5._extensions.getAllModelExtensions(t) ?? {}, n3 = [cp(e5, t), dp(e5, t), Zt(r5), ae("name", () => t), ae("$name", () => t), ae("$parent", () => e5._appliedParent)]; + return ve({}, n3); + } + __name(Zn, "Zn"); + function cp(e5, t) { + let r5 = Oe(t), n3 = Object.keys(mt).concat("count"); + return { getKeys() { + return n3; + }, getPropertyValue(i5) { + let o3 = i5, s2 = /* @__PURE__ */ __name((a5) => (u) => { + let m3 = je(e5._errorFormat); + return e5._createPrismaPromise((P) => { + let T2 = { args: u, dataPath: [], action: o3, model: t, clientMethod: `${r5}.${i5}`, jsModelName: r5, transaction: P, callsite: m3 }; + return e5._request({ ...T2, ...a5 }); + }, { action: o3, args: u, model: t }); + }, "s"); + return lp.includes(o3) ? Kn(e5, t, s2) : pp(i5) ? Ps(e5, i5, s2) : s2({}); + } }; + } + __name(cp, "cp"); + function pp(e5) { + return up.includes(e5); + } + __name(pp, "pp"); + function dp(e5, t) { + return We(ae("fields", () => { + let r5 = e5._runtimeDataModel.models[t]; + return Es(t, r5); + })); + } + __name(dp, "dp"); + function Ss(e5) { + return e5.replace(/^./, (t) => t.toUpperCase()); + } + __name(Ss, "Ss"); + var Xn = /* @__PURE__ */ Symbol(); + function Yt(e5) { + let t = [mp(e5), fp(e5), ae(Xn, () => e5), ae("$parent", () => e5._appliedParent)], r5 = e5._extensions.getAllClientExtensions(); + return r5 && t.push(Zt(r5)), ve(e5, t); + } + __name(Yt, "Yt"); + function mp(e5) { + let t = Object.getPrototypeOf(e5._originalClient), r5 = [...new Set(Object.getOwnPropertyNames(t))]; + return { getKeys() { + return r5; + }, getPropertyValue(n3) { + return e5[n3]; + } }; + } + __name(mp, "mp"); + function fp(e5) { + let t = Object.keys(e5._runtimeDataModel.models), r5 = t.map(Oe), n3 = [...new Set(t.concat(r5))]; + return We({ getKeys() { + return n3; + }, getPropertyValue(i5) { + let o3 = Ss(i5); + if (e5._runtimeDataModel.models[o3] !== void 0) return Zn(e5, o3); + if (e5._runtimeDataModel.models[i5] !== void 0) return Zn(e5, i5); + }, getPropertyDescriptor(i5) { + if (!r5.includes(i5)) return { enumerable: false }; + } }); + } + __name(fp, "fp"); + function As(e5) { + return e5[Xn] ? e5[Xn] : e5; + } + __name(As, "As"); + function Rs(e5) { + if (typeof e5 == "function") return e5(this); + let t = Object.create(this._originalClient, { _extensions: { value: this._extensions.append(e5) }, _appliedParent: { value: this, configurable: true }, $on: { value: void 0 } }); + return Yt(t); + } + __name(Rs, "Rs"); + function Cs({ result: e5, modelName: t, select: r5, omit: n3, extensions: i5 }) { + let o3 = i5.getAllComputedFields(t); + if (!o3) return e5; + let s2 = [], a5 = []; + for (let u of Object.values(o3)) { + if (n3) { + if (n3[u.name]) continue; + let m3 = u.needs.filter((P) => n3[P]); + m3.length > 0 && a5.push(Et(m3)); + } else if (r5) { + if (!r5[u.name]) continue; + let m3 = u.needs.filter((P) => !r5[P]); + m3.length > 0 && a5.push(Et(m3)); + } + gp(e5, u.needs) && s2.push(yp(u, ve(e5, s2), t)); + } + return s2.length > 0 || a5.length > 0 ? ve(e5, [...s2, ...a5]) : e5; + } + __name(Cs, "Cs"); + function gp(e5, t) { + return t.every((r5) => $n(e5, r5)); + } + __name(gp, "gp"); + function yp(e5, t, r5) { + return We(ae(e5.name, () => e5.compute(t, r5))); + } + __name(yp, "yp"); + function Jr({ visitor: e5, result: t, args: r5, runtimeDataModel: n3, modelName: i5 }) { + if (Array.isArray(t)) { + for (let s2 = 0; s2 < t.length; s2++) t[s2] = Jr({ result: t[s2], args: r5, modelName: i5, runtimeDataModel: n3, visitor: e5 }); + return t; + } + let o3 = e5(t, i5, r5) ?? t; + return r5.include && Is({ includeOrSelect: r5.include, result: o3, parentModelName: i5, runtimeDataModel: n3, visitor: e5 }), r5.select && Is({ includeOrSelect: r5.select, result: o3, parentModelName: i5, runtimeDataModel: n3, visitor: e5 }), o3; + } + __name(Jr, "Jr"); + function Is({ includeOrSelect: e5, result: t, parentModelName: r5, runtimeDataModel: n3, visitor: i5 }) { + for (let [o3, s2] of Object.entries(e5)) { + if (!s2 || t[o3] == null || fe(s2)) continue; + let u = n3.models[r5].fields.find((P) => P.name === o3); + if (!u || u.kind !== "object" || !u.relationName) continue; + let m3 = typeof s2 == "object" ? s2 : {}; + t[o3] = Jr({ visitor: i5, result: t[o3], args: m3, modelName: u.type, runtimeDataModel: n3 }); + } + } + __name(Is, "Is"); + function ks({ result: e5, modelName: t, args: r5, extensions: n3, runtimeDataModel: i5, globalOmit: o3 }) { + return n3.isEmpty() || e5 == null || typeof e5 != "object" || !i5.models[t] ? e5 : Jr({ result: e5, args: r5 ?? {}, modelName: t, runtimeDataModel: i5, visitor: /* @__PURE__ */ __name((a5, u, m3) => { + let P = Oe(u); + return Cs({ result: a5, modelName: P, select: m3.select, omit: m3.select ? void 0 : { ...o3?.[P], ...m3.omit }, extensions: n3 }); + }, "visitor") }); + } + __name(ks, "ks"); + var Ke = require_dist(); + var hp = ["$connect", "$disconnect", "$on", "$use", "$extends"]; + var Os = hp; + function Ns(e5) { + if (e5 instanceof Ke.Sql) return wp(e5); + if (Ur(e5)) return xp(e5); + if (Array.isArray(e5)) { + let r5 = [e5[0]]; + for (let n3 = 1; n3 < e5.length; n3++) r5[n3] = er(e5[n3]); + return r5; + } + let t = {}; + for (let r5 in e5) t[r5] = er(e5[r5]); + return t; + } + __name(Ns, "Ns"); + function wp(e5) { + return new Ke.Sql(e5.strings, e5.values); + } + __name(wp, "wp"); + function xp(e5) { + return new Kt(e5.sql, e5.values); + } + __name(xp, "xp"); + function er(e5) { + if (typeof e5 != "object" || e5 == null || (0, Ke.isObjectEnumValue)(e5) || xt(e5) || fe(e5)) return e5; + if (dt(e5)) return new Ke.Decimal(e5.toFixed()); + if (ct(e5)) return /* @__PURE__ */ new Date(+e5); + if (ArrayBuffer.isView(e5)) return e5.slice(0); + if (Array.isArray(e5)) { + let t = e5.length, r5; + for (r5 = Array(t); t--; ) r5[t] = er(e5[t]); + return r5; + } + if (typeof e5 == "object") { + let t = {}; + for (let r5 in e5) r5 === "__proto__" ? Object.defineProperty(t, r5, { value: er(e5[r5]), configurable: true, enumerable: true, writable: true }) : t[r5] = er(e5[r5]); + return t; + } + $e(e5, "Unknown value"); + } + __name(er, "er"); + function Ms(e5, t, r5, n3 = 0) { + return e5._createPrismaPromise((i5) => { + let o3 = t.customDataProxyFetch; + return "transaction" in t && i5 !== void 0 && (t.transaction?.kind === "batch" && t.transaction.lock.then(), t.transaction = i5), n3 === r5.length ? e5._executeRequest(t) : r5[n3]({ model: t.model, operation: t.model ? t.action : t.clientMethod, args: Ns(t.args ?? {}), __internalParams: t, query: /* @__PURE__ */ __name((s2, a5 = t) => { + let u = a5.customDataProxyFetch; + return a5.customDataProxyFetch = Ls(o3, u), a5.args = s2, Ms(e5, a5, r5, n3 + 1); + }, "query") }); + }); + } + __name(Ms, "Ms"); + function Fs(e5, t) { + let { jsModelName: r5, action: n3, clientMethod: i5 } = t, o3 = r5 ? n3 : i5; + if (e5._extensions.isEmpty()) return e5._executeRequest(t); + let s2 = e5._extensions.getAllQueryCallbacks(r5 ?? "$none", o3); + return Ms(e5, t, s2); + } + __name(Fs, "Fs"); + function _s5(e5) { + return (t) => { + let r5 = { requests: t }, n3 = t[0].extensions.getAllBatchQueryCallbacks(); + return n3.length ? $s(r5, n3, 0, e5) : e5(r5); + }; + } + __name(_s5, "_s"); + function $s(e5, t, r5, n3) { + if (r5 === t.length) return n3(e5); + let i5 = e5.customDataProxyFetch, o3 = e5.requests[0].transaction; + return t[r5]({ args: { queries: e5.requests.map((s2) => ({ model: s2.modelName, operation: s2.action, args: s2.args })), transaction: o3 ? { isolationLevel: o3.kind === "batch" ? o3.isolationLevel : void 0 } : void 0 }, __internalParams: e5, query(s2, a5 = e5) { + let u = a5.customDataProxyFetch; + return a5.customDataProxyFetch = Ls(i5, u), $s(a5, t, r5 + 1, n3); + } }); + } + __name($s, "$s"); + var Ds = /* @__PURE__ */ __name((e5) => e5, "Ds"); + function Ls(e5 = Ds, t = Ds) { + return (r5) => e5(t(r5)); + } + __name(Ls, "Ls"); + function qs({ dataPath: e5, modelName: t, args: r5, runtimeDataModel: n3 }) { + let i5 = { modelName: t, args: r5 ?? {} }, o3 = bp(e5); + if (!o3 || o3.length === 0) return i5; + let s2 = t, a5 = r5 ?? {}; + for (let u of o3) { + let m3 = n3.models[s2]; + if (!m3) return i5; + let P = m3.fields.find((T2) => T2.name === u); + if (!P) throw new Error(`Could not resolve relation field "${u}" on model "${s2}" from dataPath "${e5.join(".")}"`); + if (P.kind !== "object" || !P.relationName) return i5; + s2 = P.type, a5 = Pp(a5, u); + } + return { modelName: s2, args: a5 }; + } + __name(qs, "qs"); + function bp(e5) { + let t = []; + for (let r5 = 0; r5 < e5.length; r5 += 2) { + let n3 = e5[r5], i5 = e5[r5 + 1]; + if (n3 !== "select" && n3 !== "include" || i5 === void 0) return; + t.push(i5); + } + return t; + } + __name(bp, "bp"); + function Pp(e5, t) { + let r5 = e5.select?.[t]; + if (Vs(r5)) return r5; + let n3 = e5.include?.[t]; + return Vs(n3) ? n3 : {}; + } + __name(Pp, "Pp"); + function Vs(e5) { + return !!e5 && typeof e5 == "object" && !Array.isArray(e5); + } + __name(Vs, "Vs"); + var Gs = require_dist(); + var tr = require_dist(); + function vt(e5) { + return ArrayBuffer.isView(e5) && Object.prototype.toString.call(e5) === "[object Uint8Array]"; + } + __name(vt, "vt"); + function rr(e5) { + return Object.prototype.toString.call(e5) === "[object Date]"; + } + __name(rr, "rr"); + function V(e5, t) { + throw new Error(t); + } + __name(V, "V"); + function ei(e5, t) { + return e5 === t || e5 !== null && t !== null && typeof e5 == "object" && typeof t == "object" && Object.keys(e5).length === Object.keys(t).length && Object.keys(e5).every((r5) => ei(e5[r5], t[r5])); + } + __name(ei, "ei"); + function St(e5, t) { + let r5 = Object.keys(e5), n3 = Object.keys(t); + return (r5.length < n3.length ? r5 : n3).every((o3) => { + if (typeof e5[o3] == typeof t[o3] && typeof e5[o3] != "object") return e5[o3] === t[o3]; + if (tr.Decimal.isDecimal(e5[o3]) || tr.Decimal.isDecimal(t[o3])) { + let s2 = Us(e5[o3]), a5 = Us(t[o3]); + return s2 && a5 && s2.equals(a5); + } else if (vt(e5[o3]) || vt(t[o3])) { + let s2 = js(e5[o3]), a5 = js(t[o3]); + return s2 && a5 && s2.equals(a5); + } else { + if (rr(e5[o3]) || rr(t[o3])) return Bs(e5[o3])?.getTime() === Bs(t[o3])?.getTime(); + if (typeof e5[o3] == "bigint" || typeof t[o3] == "bigint") return Qs(e5[o3]) === Qs(t[o3]); + if (typeof e5[o3] == "number" || typeof t[o3] == "number") return Js(e5[o3]) === Js(t[o3]); + } + return ei(e5[o3], t[o3]); + }); + } + __name(St, "St"); + function Us(e5) { + return tr.Decimal.isDecimal(e5) ? e5 : typeof e5 == "number" || typeof e5 == "string" ? new tr.Decimal(e5) : void 0; + } + __name(Us, "Us"); + function js(e5) { + return Buffer.isBuffer(e5) ? e5 : vt(e5) ? Buffer.from(e5.buffer, e5.byteOffset, e5.byteLength) : typeof e5 == "string" ? Buffer.from(e5, "base64") : void 0; + } + __name(js, "js"); + function Bs(e5) { + return rr(e5) ? e5 : typeof e5 == "string" || typeof e5 == "number" ? new Date(e5) : void 0; + } + __name(Bs, "Bs"); + function Qs(e5) { + return typeof e5 == "bigint" ? e5 : typeof e5 == "number" || typeof e5 == "string" ? BigInt(e5) : void 0; + } + __name(Qs, "Qs"); + function Js(e5) { + return typeof e5 == "number" ? e5 : typeof e5 == "string" ? Number(e5) : void 0; + } + __name(Js, "Js"); + function Se(e5) { + return JSON.stringify(e5, (t, r5) => typeof r5 == "bigint" ? r5.toString() : ArrayBuffer.isView(r5) ? Buffer.from(r5.buffer, r5.byteOffset, r5.byteLength).toString("base64") : r5); + } + __name(Se, "Se"); + var Yn = 8192; + function Gr(e5, t) { + if (t.length <= Yn) { + e5.push(...t); + return; + } + for (let r5 = 0; r5 < t.length; r5 += Yn) e5.push(...t.slice(r5, r5 + Yn)); + } + __name(Gr, "Gr"); + function Ep(e5) { + return e5 !== null && typeof e5 == "object" && typeof e5.$type == "string"; + } + __name(Ep, "Ep"); + function Tp(e5, t) { + let r5 = {}; + for (let n3 of Object.keys(e5)) r5[n3] = t(e5[n3], n3); + return r5; + } + __name(Tp, "Tp"); + function Ae(e5) { + return e5 === null ? e5 : Array.isArray(e5) ? e5.map(Ae) : typeof e5 == "object" ? Ep(e5) ? vp(e5) : e5.constructor !== null && e5.constructor.name !== "Object" ? e5 : Tp(e5, Ae) : e5; + } + __name(Ae, "Ae"); + function vp({ $type: e5, value: t }) { + switch (e5) { + case "BigInt": + return BigInt(t); + case "Bytes": + return new Uint8Array(Buffer.from(t, "base64")); + case "DateTime": + return new Date(t); + case "Decimal": + return new Gs.Decimal(t); + case "Json": + return JSON.parse(t); + case "Raw": + return t; + case "FieldRef": + throw new Error("FieldRef tagged values cannot be deserialized to JavaScript values"); + case "Enum": + return t; + default: + V(t, "Unknown tagged value"); + } + } + __name(vp, "vp"); + function zr(e5) { + return e5.name === "DriverAdapterError" && typeof e5.cause == "object"; + } + __name(zr, "zr"); + var k5 = { Int32: 0, Int64: 1, Float: 2, Double: 3, Numeric: 4, Boolean: 5, Character: 6, Text: 7, Date: 8, Time: 9, DateTime: 10, Json: 11, Enum: 12, Bytes: 13, Set: 14, Uuid: 15, Int32Array: 64, Int64Array: 65, FloatArray: 66, DoubleArray: 67, NumericArray: 68, BooleanArray: 69, CharacterArray: 70, TextArray: 71, DateArray: 72, TimeArray: 73, DateTimeArray: 74, JsonArray: 75, EnumArray: 76, BytesArray: 77, UuidArray: 78, UnknownNumber: 128 }; + var X = class extends Error { + static { + __name(this, "X"); + } + name = "UserFacingError"; + code; + meta; + constructor(t, r5, n3) { + super(t), this.code = r5, this.meta = n3 ?? {}; + } + toQueryResponseErrorObject() { + return { error: this.message, user_facing_error: { is_panic: false, message: this.message, meta: this.meta, error_code: this.code } }; + } + }; + function Be(e5) { + if (!zr(e5)) throw e5; + let t = Cp(e5), r5 = Hs(e5); + if (t !== void 0 && r5 !== void 0) { + let n3 = { driverAdapterError: e5 }; + throw e5.cause.kind === "UniqueConstraintViolation" && e5.cause.table && (n3.table = e5.cause.table), new X(r5, t, n3); + } + throw Rp(e5.cause.kind) ? Ap(e5) : e5; + } + __name(Be, "Be"); + function ri(e5) { + throw zr(e5) ? Sp(e5) : e5; + } + __name(ri, "ri"); + function Sp(e5) { + let t = e5.cause.originalCode ?? "N/A", r5 = zs(e5); + return new X(`Raw query failed. Code: \`${t}\`. Message: \`${r5}\``, "P2010", { driverAdapterError: e5 }); + } + __name(Sp, "Sp"); + function Ap(e5) { + let t = e5.cause.originalCode ?? "N/A", r5 = zs(e5); + return new X(`Database error. Code: \`${t}\`. Message: \`${r5}\``, "P2039", { driverAdapterError: e5 }); + } + __name(Ap, "Ap"); + function zs(e5) { + return e5.cause.originalMessage ?? Hs(e5) ?? e5.message ?? "N/A"; + } + __name(zs, "zs"); + function Rp(e5) { + switch (e5) { + case "postgres": + case "mysql": + case "sqlite": + case "mssql": + return true; + default: + return false; + } + } + __name(Rp, "Rp"); + function Cp(e5) { + switch (e5.cause.kind) { + case "AuthenticationFailed": + return "P1000"; + case "DatabaseNotReachable": + return "P1001"; + case "DatabaseDoesNotExist": + return "P1003"; + case "SocketTimeout": + return "P1008"; + case "DatabaseAlreadyExists": + return "P1009"; + case "DatabaseAccessDenied": + return "P1010"; + case "TlsConnectionError": + return "P1011"; + case "ConnectionClosed": + return "P1017"; + case "TransactionAlreadyClosed": + return "P1018"; + case "LengthMismatch": + return "P2000"; + case "UniqueConstraintViolation": + return "P2002"; + case "ForeignKeyConstraintViolation": + case "RestrictViolation": + return "P2003"; + case "InvalidInputValue": + return "P2007"; + case "UnsupportedNativeDataType": + return "P2010"; + case "NullConstraintViolation": + return "P2011"; + case "ValueOutOfRange": + return "P2020"; + case "TableDoesNotExist": + return "P2021"; + case "ColumnNotFound": + return "P2022"; + case "InvalidIsolationLevel": + case "InconsistentColumnData": + return "P2023"; + case "MissingFullTextSearchIndex": + return "P2030"; + case "TransactionWriteConflict": + return "P2034"; + case "GenericJs": + return "P2036"; + case "TooManyConnections": + return "P2037"; + case "postgres": + case "sqlite": + case "mysql": + case "mssql": + return; + default: + V(e5.cause, `Unknown error: ${Se(e5.cause)}`); + } + } + __name(Cp, "Cp"); + function Hs(e5) { + switch (e5.cause.kind) { + case "AuthenticationFailed": + return `Authentication failed against the database server, the provided database credentials for \`${e5.cause.user ?? "(not available)"}\` are not valid`; + case "DatabaseNotReachable": { + let t = e5.cause.host && e5.cause.port ? `${e5.cause.host}:${e5.cause.port}` : e5.cause.host; + return `Can't reach database server${t ? ` at ${t}` : ""}`; + } + case "DatabaseDoesNotExist": + return `Database \`${e5.cause.db ?? "(not available)"}\` does not exist on the database server`; + case "SocketTimeout": + return "Operation has timed out"; + case "DatabaseAlreadyExists": + return `Database \`${e5.cause.db ?? "(not available)"}\` already exists on the database server`; + case "DatabaseAccessDenied": + return `User was denied access on the database \`${e5.cause.db ?? "(not available)"}\``; + case "TlsConnectionError": + return `Error opening a TLS connection: ${e5.cause.reason}`; + case "ConnectionClosed": + return "Server has closed the connection."; + case "TransactionAlreadyClosed": + return e5.cause.cause; + case "LengthMismatch": + return `The provided value for the column is too long for the column's type. Column: ${e5.cause.column ?? "(not available)"}`; + case "UniqueConstraintViolation": + return `Unique constraint failed on the ${ti(e5.cause.constraint)}`; + case "ForeignKeyConstraintViolation": + case "RestrictViolation": + return `Foreign key constraint violated on the ${ti(e5.cause.constraint)}`; + case "UnsupportedNativeDataType": + return `Failed to deserialize column of type '${e5.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`; + case "NullConstraintViolation": + return `Null constraint violation on the ${ti(e5.cause.constraint)}`; + case "ValueOutOfRange": + return `Value out of range for the type: ${e5.cause.cause}`; + case "TableDoesNotExist": + return `The table \`${e5.cause.table ?? "(not available)"}\` does not exist in the current database.`; + case "ColumnNotFound": + return `The column \`${e5.cause.column ?? "(not available)"}\` does not exist in the current database.`; + case "InvalidIsolationLevel": + return `Error in connector: Conversion error: ${e5.cause.level}`; + case "InconsistentColumnData": + return `Inconsistent column data: ${e5.cause.cause}`; + case "MissingFullTextSearchIndex": + return "Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema"; + case "TransactionWriteConflict": + return "Transaction failed due to a write conflict or a deadlock. Please retry your transaction"; + case "GenericJs": + return `Error in external connector (id ${e5.cause.id})`; + case "TooManyConnections": + return `Too many database connections opened: ${e5.cause.cause}`; + case "InvalidInputValue": + return `Invalid input value: ${e5.cause.message}`; + case "sqlite": + case "postgres": + case "mysql": + case "mssql": + return; + default: + V(e5.cause, `Unknown error: ${Se(e5.cause)}`); + } + } + __name(Hs, "Hs"); + function ti(e5) { + return e5 && "fields" in e5 ? `fields: (${e5.fields.map((t) => `\`${t}\``).join(", ")})` : e5 && "index" in e5 ? `constraint: \`${e5.index}\`` : e5 && "foreignKey" in e5 ? "foreign key" : "(not available)"; + } + __name(ti, "ti"); + function Ip(e5) { + if (typeof e5 != "object" || e5 === null) return false; + let t = e5; + return "$type" in t && t.$type === "Param" || "prisma__type" in t && t.prisma__type === "param"; + } + __name(Ip, "Ip"); + function kp(e5) { + return "prisma__type" in e5 ? e5.prisma__value?.name : e5.value.name; + } + __name(kp, "kp"); + function Op(e5, t) { + let r5 = {}; + for (let [n3, i5] of Object.entries(e5)) if (r5[n3] = i5, Ip(i5)) { + let o3 = kp(i5); + o3 && o3 in t && (r5[n3] = t[o3]); + } + return r5; + } + __name(Op, "Op"); + function Ws(e5, t, r5 = {}) { + let n3 = e5.map((o3) => t.keys.reduce((s2, a5) => (s2[a5] = Ae(o3[a5]), s2), {})), i5 = new Set(t.nestedSelection); + return t.arguments.map((o3) => { + let s2 = Op(o3, r5), a5 = n3.findIndex((u) => St(u, s2)); + if (a5 === -1) return t.expectNonEmpty ? new X("An operation failed because it depends on one or more records that were required but not found", "P2025") : null; + { + let u = Object.entries(e5[a5]).filter(([m3]) => i5.has(m3)); + return Object.fromEntries(u); + } + }); + } + __name(Ws, "Ws"); + var Xs = require_dist(); + var Q = class extends X { + static { + __name(this, "Q"); + } + name = "DataMapperError"; + constructor(t, r5) { + super(t, "P2023", r5); + } + }; + var Ks = /* @__PURE__ */ new WeakMap(); + function Np(e5) { + let t = Ks.get(e5); + return t || (t = Object.entries(e5), Ks.set(e5, t)), t; + } + __name(Np, "Np"); + function ii(e5, t, r5) { + switch (t.type) { + case "affectedRows": + if (typeof e5 != "number") throw new Q(`Expected an affected rows count, got: ${typeof e5} (${e5})`); + return { count: e5 }; + case "object": + return oi(e5, t.fields, r5, t.skipNulls); + case "field": + return ni(e5, "", t.fieldType, r5); + default: + V(t, `Invalid data mapping type: '${t.type}'`); + } + } + __name(ii, "ii"); + function oi(e5, t, r5, n3) { + if (e5 === null) return null; + if (Array.isArray(e5)) { + let i5 = e5; + return n3 && (i5 = i5.filter((o3) => o3 !== null)), i5.map((o3) => Zs(o3, t, r5)); + } + if (typeof e5 == "object") return Zs(e5, t, r5); + if (typeof e5 == "string") { + let i5; + try { + i5 = JSON.parse(e5); + } catch (o3) { + throw new Q("Expected an array or object, got a string that is not valid JSON", { cause: o3 }); + } + return oi(i5, t, r5, n3); + } + throw new Q(`Expected an array or an object, got: ${typeof e5}`); + } + __name(oi, "oi"); + function Zs(e5, t, r5) { + if (typeof e5 != "object") throw new Q(`Expected an object, but got '${typeof e5}'`); + let n3 = {}; + for (let [i5, o3] of Np(t)) switch (o3.type) { + case "affectedRows": + throw new Q(`Unexpected 'AffectedRows' node in data mapping for field '${i5}'`); + case "object": { + let { serializedName: s2, fields: a5, skipNulls: u } = o3; + if (s2 !== null && !Object.hasOwn(e5, s2)) throw new Q(`Missing data field (Object): '${i5}'; node: ${JSON.stringify(o3)}; data: ${JSON.stringify(e5)}`); + let m3 = s2 !== null ? e5[s2] : e5; + n3[i5] = oi(m3, a5, r5, u); + break; + } + case "field": + { + let s2 = o3.dbName; + if (Object.hasOwn(e5, s2)) n3[i5] = Dp(e5[s2], s2, o3.fieldType, r5); + else throw new Q(`Missing data field (Value): '${s2}'; node: ${JSON.stringify(o3)}; data: ${JSON.stringify(e5)}`); + } + break; + default: + V(o3, `DataMapper: Invalid data mapping node type: '${o3.type}'`); + } + return n3; + } + __name(Zs, "Zs"); + function Dp(e5, t, r5, n3) { + return e5 === null ? r5.arity === "list" ? [] : null : r5.arity === "list" ? e5.map((o3, s2) => ni(o3, `${t}[${s2}]`, r5, n3)) : ni(e5, t, r5, n3); + } + __name(Dp, "Dp"); + function ni(e5, t, r5, n3) { + switch (r5.type) { + case "unsupported": + return e5; + case "string": { + if (typeof e5 != "string") throw new Q(`Expected a string in column '${t}', got ${typeof e5}: ${e5}`); + return e5; + } + case "int": + switch (typeof e5) { + case "number": + return Math.trunc(e5); + case "string": { + let i5 = Math.trunc(Number(e5)); + if (Number.isNaN(i5) || !Number.isFinite(i5)) throw new Q(`Expected an integer in column '${t}', got string: ${e5}`); + if (!Number.isSafeInteger(i5)) throw new Q(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e5}. Consider using BigInt type.`); + return i5; + } + default: + throw new Q(`Expected an integer in column '${t}', got ${typeof e5}: ${e5}`); + } + case "bigint": { + if (typeof e5 != "number" && typeof e5 != "string") throw new Q(`Expected a bigint in column '${t}', got ${typeof e5}: ${e5}`); + return { $type: "BigInt", value: e5 }; + } + case "float": { + if (typeof e5 == "number") return e5; + if (typeof e5 == "string") { + let i5 = Number(e5); + if (Number.isNaN(i5) && !/^[-+]?nan$/.test(e5.toLowerCase())) throw new Q(`Expected a float in column '${t}', got string: ${e5}`); + return i5; + } + throw new Q(`Expected a float in column '${t}', got ${typeof e5}: ${e5}`); + } + case "boolean": { + if (typeof e5 == "boolean") return e5; + if (typeof e5 == "number") return e5 === 1; + if (typeof e5 == "string") { + if (e5 === "true" || e5 === "TRUE" || e5 === "1") return true; + if (e5 === "false" || e5 === "FALSE" || e5 === "0") return false; + throw new Q(`Expected a boolean in column '${t}', got ${typeof e5}: ${e5}`); + } + if (Array.isArray(e5) || vt(e5)) { + for (let i5 of e5) if (i5 !== 0) return true; + return false; + } + throw new Q(`Expected a boolean in column '${t}', got ${typeof e5}: ${e5}`); + } + case "decimal": + if (typeof e5 != "number" && typeof e5 != "string" && !Xs.Decimal.isDecimal(e5)) throw new Q(`Expected a decimal in column '${t}', got ${typeof e5}: ${e5}`); + return { $type: "Decimal", value: e5 }; + case "datetime": { + if (typeof e5 == "string") return { $type: "DateTime", value: Fp(e5) }; + if (typeof e5 == "number" || rr(e5)) return { $type: "DateTime", value: e5 }; + throw new Q(`Expected a date in column '${t}', got ${typeof e5}: ${e5}`); + } + case "object": + return { $type: "Json", value: Se(e5) }; + case "json": + return { $type: "Json", value: `${e5}` }; + case "bytes": { + switch (r5.encoding) { + case "base64": + if (typeof e5 != "string") throw new Q(`Expected a base64-encoded byte array in column '${t}', got ${typeof e5}: ${e5}`); + return { $type: "Bytes", value: e5 }; + case "hex": + if (typeof e5 != "string" || !e5.startsWith("\\x")) throw new Q(`Expected a hex-encoded byte array in column '${t}', got ${typeof e5}: ${e5}`); + return { $type: "Bytes", value: Buffer.from(e5.slice(2), "hex").toString("base64") }; + case "array": + if (Array.isArray(e5)) return { $type: "Bytes", value: Buffer.from(e5).toString("base64") }; + if (vt(e5)) return { $type: "Bytes", value: Buffer.from(e5).toString("base64") }; + throw new Q(`Expected a byte array in column '${t}', got ${typeof e5}: ${e5}`); + default: + V(r5.encoding, `DataMapper: Unknown bytes encoding: ${r5.encoding}`); + } + break; + } + case "enum": { + let i5 = n3[r5.name]; + if (i5 === void 0) throw new Q(`Unknown enum '${r5.name}'`); + let o3 = i5[`${e5}`]; + if (o3 === void 0) throw new Q(`Value '${e5}' not found in enum '${r5.name}'`); + return o3; + } + default: + V(r5, `DataMapper: Unknown result type: ${r5.type}`); + } + } + __name(ni, "ni"); + var Mp = /\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/; + function Fp(e5) { + let t = Mp.exec(e5); + if (t === null) return `${e5}T00:00:00Z`; + let r5 = e5, [n3, i5, o3] = t; + if (i5 !== void 0 && i5 !== "Z" && o3 === void 0 ? r5 = `${e5}:00` : i5 === void 0 && (r5 = `${e5}Z`), n3.length === e5.length) return `1970-01-01T${r5}`; + let s2 = t.index - 1; + return r5[s2] === " " && (r5 = `${r5.slice(0, s2)}T${r5.slice(s2 + 1)}`), r5; + } + __name(Fp, "Fp"); + function ge(e5) { + if (typeof e5 != "object") return e5; + var t, r5, n3 = Object.prototype.toString.call(e5); + if (n3 === "[object Object]") { + if (e5.constructor !== Object && typeof e5.constructor == "function") { + r5 = new e5.constructor(); + for (t in e5) e5.hasOwnProperty(t) && r5[t] !== e5[t] && (r5[t] = ge(e5[t])); + } else { + r5 = {}; + for (t in e5) t === "__proto__" ? Object.defineProperty(r5, t, { value: ge(e5[t]), configurable: true, enumerable: true, writable: true }) : r5[t] = ge(e5[t]); + } + return r5; + } + if (n3 === "[object Array]") { + for (t = e5.length, r5 = Array(t); t--; ) r5[t] = ge(e5[t]); + return r5; + } + return n3 === "[object Set]" ? (r5 = /* @__PURE__ */ new Set(), e5.forEach(function(i5) { + r5.add(ge(i5)); + }), r5) : n3 === "[object Map]" ? (r5 = /* @__PURE__ */ new Map(), e5.forEach(function(i5, o3) { + r5.set(ge(o3), ge(i5)); + }), r5) : n3 === "[object Date]" ? /* @__PURE__ */ new Date(+e5) : n3 === "[object RegExp]" ? (r5 = new RegExp(e5.source, e5.flags), r5.lastIndex = e5.lastIndex, r5) : n3 === "[object DataView]" ? new e5.constructor(ge(e5.buffer)) : n3 === "[object ArrayBuffer]" ? e5.slice(0) : n3.slice(-6) === "Array]" ? new e5.constructor(e5) : e5; + } + __name(ge, "ge"); + function _p(e5) { + let t = Object.entries(e5); + return t.length === 0 ? "" : (t.sort(([n3], [i5]) => n3.localeCompare(i5)), `/*${t.map(([n3, i5]) => { + let o3 = encodeURIComponent(n3), s2 = encodeURIComponent(i5).replace(/'/g, "\\'"); + return `${o3}='${s2}'`; + }).join(",")}*/`); + } + __name(_p, "_p"); + function Hr(e5, t) { + let r5 = {}; + for (let n3 of e5) { + let i5 = n3(ge(t)); + for (let [o3, s2] of Object.entries(i5)) s2 !== void 0 && (r5[o3] = s2); + } + return r5; + } + __name(Hr, "Hr"); + function Ys(e5, t) { + let r5 = Hr(e5, t); + return _p(r5); + } + __name(Ys, "Ys"); + function ea(e5, t) { + return t ? `${e5} ${t}` : e5; + } + __name(ea, "ea"); + var nr; + (function(e5) { + e5[e5.INTERNAL = 0] = "INTERNAL", e5[e5.SERVER = 1] = "SERVER", e5[e5.CLIENT = 2] = "CLIENT", e5[e5.PRODUCER = 3] = "PRODUCER", e5[e5.CONSUMER = 4] = "CONSUMER"; + })(nr || (nr = {})); + function $p(e5) { + switch (e5) { + case "postgresql": + case "postgres": + case "prisma+postgres": + return "postgresql"; + case "sqlserver": + return "mssql"; + case "mysql": + case "sqlite": + case "cockroachdb": + case "mongodb": + return e5; + default: + V(e5, `Unknown provider: ${e5}`); + } + } + __name($p, "$p"); + async function Wr({ query: e5, tracingHelper: t, provider: r5, onQuery: n3, execute: i5 }) { + let o3 = n3 === void 0 ? i5 : async () => { + let s2 = /* @__PURE__ */ new Date(), a5 = performance.now(), u = await i5(), m3 = performance.now(); + return n3({ timestamp: s2, duration: m3 - a5, query: e5.sql, params: e5.args }), u; + }; + return t.isEnabled() ? await t.runInChildSpan({ name: "db_query", kind: nr.CLIENT, attributes: { "db.query.text": e5.sql, "db.system.name": $p(r5) } }, o3) : o3(); + } + __name(Wr, "Wr"); + function Ze(e5, t) { + var r5 = "000000000" + e5; + return r5.substr(r5.length - t); + } + __name(Ze, "Ze"); + var ta = Pe(__require("node:os"), 1); + function Lp() { + try { + return ta.default.hostname(); + } catch { + return process.env._CLUSTER_NETWORK_NAME_ || process.env.COMPUTERNAME || "hostname"; + } + } + __name(Lp, "Lp"); + var ra = 2; + var Vp = Ze(process.pid.toString(36), ra); + var na = Lp(); + var qp = na.length; + var Up = Ze(na.split("").reduce(function(e5, t) { + return +e5 + t.charCodeAt(0); + }, +qp + 36).toString(36), ra); + function si() { + return Vp + Up; + } + __name(si, "si"); + function Kr(e5) { + return typeof e5 == "string" && /^c[a-z0-9]{20,32}$/.test(e5); + } + __name(Kr, "Kr"); + function ai(e5) { + let n3 = Math.pow(36, 4), i5 = 0; + function o3() { + return Ze((Math.random() * n3 << 0).toString(36), 4); + } + __name(o3, "o"); + function s2() { + return i5 = i5 < n3 ? i5 : 0, i5++, i5 - 1; + } + __name(s2, "s"); + function a5() { + var u = "c", m3 = (/* @__PURE__ */ new Date()).getTime().toString(36), P = Ze(s2().toString(36), 4), T2 = e5(), S = o3() + o3(); + return u + m3 + P + T2 + S; + } + __name(a5, "a"); + return a5.fingerprint = e5, a5.isCuid = Kr, a5; + } + __name(ai, "ai"); + var jp = ai(si); + var ia = jp; + var Zr = BigInt(4294967295); + var oa = BigInt(32); + function Bp(e5, t = false) { + return t ? { h: Number(e5 & Zr), l: Number(e5 >> oa & Zr) } : { h: Number(e5 >> oa & Zr) | 0, l: Number(e5 & Zr) | 0 }; + } + __name(Bp, "Bp"); + function sa(e5, t = false) { + let r5 = e5.length, n3 = new Uint32Array(r5), i5 = new Uint32Array(r5); + for (let o3 = 0; o3 < r5; o3++) { + let { h: s2, l: a5 } = Bp(e5[o3], t); + [n3[o3], i5[o3]] = [s2, a5]; + } + return [n3, i5]; + } + __name(sa, "sa"); + var aa = /* @__PURE__ */ __name((e5, t, r5) => e5 << r5 | t >>> 32 - r5, "aa"); + var la = /* @__PURE__ */ __name((e5, t, r5) => t << r5 | e5 >>> 32 - r5, "la"); + var ua = /* @__PURE__ */ __name((e5, t, r5) => t << r5 - 32 | e5 >>> 64 - r5, "ua"); + var ca = /* @__PURE__ */ __name((e5, t, r5) => e5 << r5 - 32 | t >>> 64 - r5, "ca"); + function Qp(e5) { + return e5 instanceof Uint8Array || ArrayBuffer.isView(e5) && e5.constructor.name === "Uint8Array" && "BYTES_PER_ELEMENT" in e5 && e5.BYTES_PER_ELEMENT === 1; + } + __name(Qp, "Qp"); + function Xr(e5, t = "") { + if (typeof e5 != "number") { + let r5 = t && `"${t}" `; + throw new TypeError(`${r5}expected number, got ${typeof e5}`); + } + if (!Number.isSafeInteger(e5) || e5 < 0) { + let r5 = t && `"${t}" `; + throw new RangeError(`${r5}expected integer >= 0, got ${e5}`); + } + } + __name(Xr, "Xr"); + function Yr(e5, t, r5 = "") { + let n3 = Qp(e5), i5 = e5?.length, o3 = t !== void 0; + if (!n3 || o3 && i5 !== t) { + let s2 = r5 && `"${r5}" `, a5 = o3 ? ` of length ${t}` : "", u = n3 ? `length=${i5}` : `type=${typeof e5}`, m3 = s2 + "expected Uint8Array" + a5 + ", got " + u; + throw n3 ? new RangeError(m3) : new TypeError(m3); + } + return e5; + } + __name(Yr, "Yr"); + function li(e5, t = true) { + if (e5.destroyed) throw new Error("Hash instance has been destroyed"); + if (t && e5.finished) throw new Error("Hash#digest() has already been called"); + } + __name(li, "li"); + function pa(e5, t) { + Yr(e5, void 0, "digestInto() output"); + let r5 = t.outputLen; + if (e5.length < r5) throw new RangeError('"digestInto() output" expected to be of length >=' + r5); + } + __name(pa, "pa"); + function da(e5) { + return new Uint32Array(e5.buffer, e5.byteOffset, Math.floor(e5.byteLength / 4)); + } + __name(da, "da"); + function ui(...e5) { + for (let t = 0; t < e5.length; t++) e5[t].fill(0); + } + __name(ui, "ui"); + var Jp = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + function Gp(e5) { + return e5 << 24 & 4278190080 | e5 << 8 & 16711680 | e5 >>> 8 & 65280 | e5 >>> 24 & 255; + } + __name(Gp, "Gp"); + function zp(e5) { + for (let t = 0; t < e5.length; t++) e5[t] = Gp(e5[t]); + return e5; + } + __name(zp, "zp"); + var ci = Jp ? (e5) => e5 : zp; + function ma(e5, t = {}) { + let r5 = /* @__PURE__ */ __name((i5, o3) => e5(o3).update(i5).digest(), "r"), n3 = e5(void 0); + return r5.outputLen = n3.outputLen, r5.blockLen = n3.blockLen, r5.canXOF = n3.canXOF, r5.create = (i5) => e5(i5), Object.assign(r5, t), Object.freeze(r5); + } + __name(ma, "ma"); + var fa = /* @__PURE__ */ __name((e5) => ({ oid: Uint8Array.from([6, 9, 96, 134, 72, 1, 101, 3, 4, 2, e5]) }), "fa"); + var Hp = BigInt(0); + var ir = BigInt(1); + var Wp = BigInt(2); + var Kp = BigInt(7); + var Zp = BigInt(256); + var Xp = BigInt(113); + var ha = []; + var wa = []; + var xa = []; + for (let e5 = 0, t = ir, r5 = 1, n3 = 0; e5 < 24; e5++) { + [r5, n3] = [n3, (2 * r5 + 3 * n3) % 5], ha.push(2 * (5 * n3 + r5)), wa.push((e5 + 1) * (e5 + 2) / 2 % 64); + let i5 = Hp; + for (let o3 = 0; o3 < 7; o3++) t = (t << ir ^ (t >> Kp) * Xp) % Zp, t & Wp && (i5 ^= ir << (ir << BigInt(o3)) - ir); + xa.push(i5); + } + var ba = sa(xa, true); + var Yp = ba[0]; + var ed = ba[1]; + var ga = /* @__PURE__ */ __name((e5, t, r5) => r5 > 32 ? ua(e5, t, r5) : aa(e5, t, r5), "ga"); + var ya = /* @__PURE__ */ __name((e5, t, r5) => r5 > 32 ? ca(e5, t, r5) : la(e5, t, r5), "ya"); + function td(e5, t = 24) { + if (Xr(t, "rounds"), t < 1 || t > 24) throw new Error('"rounds" expected integer 1..24'); + let r5 = new Uint32Array(5 * 2); + for (let n3 = 24 - t; n3 < 24; n3++) { + for (let s2 = 0; s2 < 10; s2++) r5[s2] = e5[s2] ^ e5[s2 + 10] ^ e5[s2 + 20] ^ e5[s2 + 30] ^ e5[s2 + 40]; + for (let s2 = 0; s2 < 10; s2 += 2) { + let a5 = (s2 + 8) % 10, u = (s2 + 2) % 10, m3 = r5[u], P = r5[u + 1], T2 = ga(m3, P, 1) ^ r5[a5], S = ya(m3, P, 1) ^ r5[a5 + 1]; + for (let I = 0; I < 50; I += 10) e5[s2 + I] ^= T2, e5[s2 + I + 1] ^= S; + } + let i5 = e5[2], o3 = e5[3]; + for (let s2 = 0; s2 < 24; s2++) { + let a5 = wa[s2], u = ga(i5, o3, a5), m3 = ya(i5, o3, a5), P = ha[s2]; + i5 = e5[P], o3 = e5[P + 1], e5[P] = u, e5[P + 1] = m3; + } + for (let s2 = 0; s2 < 50; s2 += 10) { + let a5 = e5[s2], u = e5[s2 + 1], m3 = e5[s2 + 2], P = e5[s2 + 3]; + e5[s2] ^= ~e5[s2 + 2] & e5[s2 + 4], e5[s2 + 1] ^= ~e5[s2 + 3] & e5[s2 + 5], e5[s2 + 2] ^= ~e5[s2 + 4] & e5[s2 + 6], e5[s2 + 3] ^= ~e5[s2 + 5] & e5[s2 + 7], e5[s2 + 4] ^= ~e5[s2 + 6] & e5[s2 + 8], e5[s2 + 5] ^= ~e5[s2 + 7] & e5[s2 + 9], e5[s2 + 6] ^= ~e5[s2 + 8] & a5, e5[s2 + 7] ^= ~e5[s2 + 9] & u, e5[s2 + 8] ^= ~a5 & m3, e5[s2 + 9] ^= ~u & P; + } + e5[0] ^= Yp[n3], e5[1] ^= ed[n3]; + } + ui(r5); + } + __name(td, "td"); + var pi = class e5 { + static { + __name(this, "e"); + } + state; + pos = 0; + posOut = 0; + finished = false; + state32; + destroyed = false; + blockLen; + suffix; + outputLen; + canXOF; + enableXOF = false; + rounds; + constructor(t, r5, n3, i5 = false, o3 = 24) { + if (this.blockLen = t, this.suffix = r5, this.outputLen = n3, this.enableXOF = i5, this.canXOF = i5, this.rounds = o3, Xr(n3, "outputLen"), !(0 < t && t < 200)) throw new Error("only keccak-f1600 function is supported"); + this.state = new Uint8Array(200), this.state32 = da(this.state); + } + clone() { + return this._cloneInto(); + } + keccak() { + ci(this.state32), td(this.state32, this.rounds), ci(this.state32), this.posOut = 0, this.pos = 0; + } + update(t) { + li(this), Yr(t); + let { blockLen: r5, state: n3 } = this, i5 = t.length; + for (let o3 = 0; o3 < i5; ) { + let s2 = Math.min(r5 - this.pos, i5 - o3); + for (let a5 = 0; a5 < s2; a5++) n3[this.pos++] ^= t[o3++]; + this.pos === r5 && this.keccak(); + } + return this; + } + finish() { + if (this.finished) return; + this.finished = true; + let { state: t, suffix: r5, pos: n3, blockLen: i5 } = this; + t[n3] ^= r5, (r5 & 128) !== 0 && n3 === i5 - 1 && this.keccak(), t[i5 - 1] ^= 128, this.keccak(); + } + writeInto(t) { + li(this, false), Yr(t), this.finish(); + let r5 = this.state, { blockLen: n3 } = this; + for (let i5 = 0, o3 = t.length; i5 < o3; ) { + this.posOut >= n3 && this.keccak(); + let s2 = Math.min(n3 - this.posOut, o3 - i5); + t.set(r5.subarray(this.posOut, this.posOut + s2), i5), this.posOut += s2, i5 += s2; + } + return t; + } + xofInto(t) { + if (!this.enableXOF) throw new Error("XOF is not possible for this instance"); + return this.writeInto(t); + } + xof(t) { + return Xr(t), this.xofInto(new Uint8Array(t)); + } + digestInto(t) { + if (pa(t, this), this.finished) throw new Error("digest() was already called"); + this.writeInto(t.subarray(0, this.outputLen)), this.destroy(); + } + digest() { + let t = new Uint8Array(this.outputLen); + return this.digestInto(t), t; + } + destroy() { + this.destroyed = true, ui(this.state); + } + _cloneInto(t) { + let { blockLen: r5, suffix: n3, outputLen: i5, rounds: o3, enableXOF: s2 } = this; + return t ||= new e5(r5, n3, i5, s2, o3), t.blockLen = r5, t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = o3, t.suffix = n3, t.outputLen = i5, t.enableXOF = s2, t.canXOF = this.canXOF, t.destroyed = this.destroyed, t; + } + }; + var rd = /* @__PURE__ */ __name((e5, t, r5, n3 = {}) => ma(() => new pi(t, e5, r5), n3), "rd"); + var Pa = rd(6, 72, 64, fa(10)); + var nd = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i; + var di = Math.ceil; + var he = Math.floor; + var le = "[BigNumber Error] "; + var Ea = le + "Number primitive has more than 15 significant digits: "; + var Re = 1e14; + var N = 14; + var mi = 9007199254740991; + var fi = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13]; + var Qe = 1e7; + var Y = 1e9; + function Ta(e5) { + var t, r5, n3, i5 = E.prototype = { constructor: E, toString: null, valueOf: null }, o3 = new E(1), s2 = 20, a5 = 4, u = -7, m3 = 21, P = -1e7, T2 = 1e7, S = false, I = 1, A = 0, M = { prefix: "", groupSize: 3, secondaryGroupSize: 0, groupSeparator: ",", decimalSeparator: ".", fractionGroupSize: 0, fractionGroupSeparator: "\xA0", suffix: "" }, L = "0123456789abcdefghijklmnopqrstuvwxyz", q3 = true; + function E(l3, c5) { + var p3, h5, f5, y, b5, d5, g5, x, w = this; + if (!(w instanceof E)) return new E(l3, c5); + if (c5 == null) { + if (l3 && l3._isBigNumber === true) { + w.s = l3.s, !l3.c || l3.e > T2 ? w.c = w.e = null : l3.e < P ? w.c = [w.e = 0] : (w.e = l3.e, w.c = l3.c.slice()); + return; + } + if ((d5 = typeof l3 == "number") && l3 * 0 == 0) { + if (w.s = 1 / l3 < 0 ? (l3 = -l3, -1) : 1, l3 === ~~l3) { + for (y = 0, b5 = l3; b5 >= 10; b5 /= 10, y++) ; + y > T2 ? w.c = w.e = null : (w.e = y, w.c = [l3]); + return; + } + x = String(l3); + } else { + if (!nd.test(x = String(l3))) return n3(w, x, d5); + w.s = x.charCodeAt(0) == 45 ? (x = x.slice(1), -1) : 1; + } + (y = x.indexOf(".")) > -1 && (x = x.replace(".", "")), (b5 = x.search(/e/i)) > 0 ? (y < 0 && (y = b5), y += +x.slice(b5 + 1), x = x.substring(0, b5)) : y < 0 && (y = x.length); + } else { + if (J(c5, 2, L.length, "Base"), c5 == 10 && q3) return w = new E(l3), ie(w, s2 + w.e + 1, a5); + if (x = String(l3), d5 = typeof l3 == "number") { + if (l3 * 0 != 0) return n3(w, x, d5, c5); + if (w.s = 1 / l3 < 0 ? (x = x.slice(1), -1) : 1, E.DEBUG && x.replace(/^0\.0*|\./, "").length > 15) throw Error(Ea + l3); + } else w.s = x.charCodeAt(0) === 45 ? (x = x.slice(1), -1) : 1; + for (p3 = L.slice(0, c5), y = b5 = 0, g5 = x.length; b5 < g5; b5++) if (p3.indexOf(h5 = x.charAt(b5)) < 0) { + if (h5 == ".") { + if (b5 > y) { + y = g5; + continue; + } + } else if (!f5 && (x == x.toUpperCase() && (x = x.toLowerCase()) || x == x.toLowerCase() && (x = x.toUpperCase()))) { + f5 = true, b5 = -1, y = 0; + continue; + } + return n3(w, String(l3), d5, c5); + } + d5 = false, x = r5(x, c5, 10, w.s), (y = x.indexOf(".")) > -1 ? x = x.replace(".", "") : y = x.length; + } + for (b5 = 0; x.charCodeAt(b5) === 48; b5++) ; + for (g5 = x.length; x.charCodeAt(--g5) === 48; ) ; + if (x = x.slice(b5, ++g5)) { + if (g5 -= b5, d5 && E.DEBUG && g5 > 15 && (l3 > mi || l3 !== he(l3))) throw Error(Ea + w.s * l3); + if ((y = y - b5 - 1) > T2) w.c = w.e = null; + else if (y < P) w.c = [w.e = 0]; + else { + if (w.e = y, w.c = [], b5 = (y + 1) % N, y < 0 && (b5 += N), b5 < g5) { + for (b5 && w.c.push(+x.slice(0, b5)), g5 -= N; b5 < g5; ) w.c.push(+x.slice(b5, b5 += N)); + b5 = N - (x = x.slice(b5)).length; + } else b5 -= g5; + for (; b5--; x += "0") ; + w.c.push(+x); + } + } else w.c = [w.e = 0]; + } + __name(E, "E"); + E.clone = Ta, E.ROUND_UP = 0, E.ROUND_DOWN = 1, E.ROUND_CEIL = 2, E.ROUND_FLOOR = 3, E.ROUND_HALF_UP = 4, E.ROUND_HALF_DOWN = 5, E.ROUND_HALF_EVEN = 6, E.ROUND_HALF_CEIL = 7, E.ROUND_HALF_FLOOR = 8, E.EUCLID = 9, E.config = E.set = function(l3) { + var c5, p3; + if (l3 != null) if (typeof l3 == "object") { + if (l3.hasOwnProperty(c5 = "DECIMAL_PLACES") && (p3 = l3[c5], J(p3, 0, Y, c5), s2 = p3), l3.hasOwnProperty(c5 = "ROUNDING_MODE") && (p3 = l3[c5], J(p3, 0, 8, c5), a5 = p3), l3.hasOwnProperty(c5 = "EXPONENTIAL_AT") && (p3 = l3[c5], p3 && p3.pop ? (J(p3[0], -Y, 0, c5), J(p3[1], 0, Y, c5), u = p3[0], m3 = p3[1]) : (J(p3, -Y, Y, c5), u = -(m3 = p3 < 0 ? -p3 : p3))), l3.hasOwnProperty(c5 = "RANGE")) if (p3 = l3[c5], p3 && p3.pop) J(p3[0], -Y, -1, c5), J(p3[1], 1, Y, c5), P = p3[0], T2 = p3[1]; + else if (J(p3, -Y, Y, c5), p3) P = -(T2 = p3 < 0 ? -p3 : p3); + else throw Error(le + c5 + " cannot be zero: " + p3); + if (l3.hasOwnProperty(c5 = "CRYPTO")) if (p3 = l3[c5], p3 === !!p3) if (p3) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) S = p3; + else throw S = !p3, Error(le + "crypto unavailable"); + else S = p3; + else throw Error(le + c5 + " not true or false: " + p3); + if (l3.hasOwnProperty(c5 = "MODULO_MODE") && (p3 = l3[c5], J(p3, 0, 9, c5), I = p3), l3.hasOwnProperty(c5 = "POW_PRECISION") && (p3 = l3[c5], J(p3, 0, Y, c5), A = p3), l3.hasOwnProperty(c5 = "FORMAT")) if (p3 = l3[c5], typeof p3 == "object") M = p3; + else throw Error(le + c5 + " not an object: " + p3); + if (l3.hasOwnProperty(c5 = "ALPHABET")) if (p3 = l3[c5], typeof p3 == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(p3)) q3 = p3.slice(0, 10) == "0123456789", L = p3; + else throw Error(le + c5 + " invalid: " + p3); + } else throw Error(le + "Object expected: " + l3); + return { DECIMAL_PLACES: s2, ROUNDING_MODE: a5, EXPONENTIAL_AT: [u, m3], RANGE: [P, T2], CRYPTO: S, MODULO_MODE: I, POW_PRECISION: A, FORMAT: M, ALPHABET: L }; + }, E.isBigNumber = function(l3) { + if (!l3 || l3._isBigNumber !== true) return false; + if (!E.DEBUG) return true; + var c5, p3, h5 = l3.c, f5 = l3.e, y = l3.s; + e: if ({}.toString.call(h5) == "[object Array]") { + if ((y === 1 || y === -1) && f5 >= -Y && f5 <= Y && f5 === he(f5)) { + if (h5[0] === 0) { + if (f5 === 0 && h5.length === 1) return true; + break e; + } + if (c5 = (f5 + 1) % N, c5 < 1 && (c5 += N), String(h5[0]).length == c5) { + for (c5 = 0; c5 < h5.length; c5++) if (p3 = h5[c5], p3 < 0 || p3 >= Re || p3 !== he(p3)) break e; + if (p3 !== 0) return true; + } + } + } else if (h5 === null && f5 === null && (y === null || y === 1 || y === -1)) return true; + throw Error(le + "Invalid BigNumber: " + l3); + }, E.maximum = E.max = function() { + return H(arguments, -1); + }, E.minimum = E.min = function() { + return H(arguments, 1); + }, E.random = (function() { + var l3 = 9007199254740992, c5 = Math.random() * l3 & 2097151 ? function() { + return he(Math.random() * l3); + } : function() { + return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0); + }; + return function(p3) { + var h5, f5, y, b5, d5, g5 = 0, x = [], w = new E(o3); + if (p3 == null ? p3 = s2 : J(p3, 0, Y), b5 = di(p3 / N), S) if (crypto.getRandomValues) { + for (h5 = crypto.getRandomValues(new Uint32Array(b5 *= 2)); g5 < b5; ) d5 = h5[g5] * 131072 + (h5[g5 + 1] >>> 11), d5 >= 9e15 ? (f5 = crypto.getRandomValues(new Uint32Array(2)), h5[g5] = f5[0], h5[g5 + 1] = f5[1]) : (x.push(d5 % 1e14), g5 += 2); + g5 = b5 / 2; + } else if (crypto.randomBytes) { + for (h5 = crypto.randomBytes(b5 *= 7); g5 < b5; ) d5 = (h5[g5] & 31) * 281474976710656 + h5[g5 + 1] * 1099511627776 + h5[g5 + 2] * 4294967296 + h5[g5 + 3] * 16777216 + (h5[g5 + 4] << 16) + (h5[g5 + 5] << 8) + h5[g5 + 6], d5 >= 9e15 ? crypto.randomBytes(7).copy(h5, g5) : (x.push(d5 % 1e14), g5 += 7); + g5 = b5 / 7; + } else throw S = false, Error(le + "crypto unavailable"); + if (!S) for (; g5 < b5; ) d5 = c5(), d5 < 9e15 && (x[g5++] = d5 % 1e14); + for (b5 = x[--g5], p3 %= N, b5 && p3 && (d5 = fi[N - p3], x[g5] = he(b5 / d5) * d5); x[g5] === 0; x.pop(), g5--) ; + if (g5 < 0) x = [y = 0]; + else { + for (y = -1; x[0] === 0; x.splice(0, 1), y -= N) ; + for (g5 = 1, d5 = x[0]; d5 >= 10; d5 /= 10, g5++) ; + g5 < N && (y -= N - g5); + } + return w.e = y, w.c = x, w; + }; + })(), E.sum = function() { + for (var l3 = 1, c5 = arguments, p3 = new E(c5[0]); l3 < c5.length; ) p3 = p3.plus(c5[l3++]); + return p3; + }, r5 = /* @__PURE__ */ (function() { + var l3 = "0123456789"; + function c5(p3, h5, f5, y) { + for (var b5, d5 = [0], g5, x = 0, w = p3.length; x < w; ) { + for (g5 = d5.length; g5--; d5[g5] *= h5) ; + for (d5[0] += y.indexOf(p3.charAt(x++)), b5 = 0; b5 < d5.length; b5++) d5[b5] > f5 - 1 && (d5[b5 + 1] == null && (d5[b5 + 1] = 0), d5[b5 + 1] += d5[b5] / f5 | 0, d5[b5] %= f5); + } + return d5.reverse(); + } + __name(c5, "c"); + return function(p3, h5, f5, y, b5) { + var d5, g5, x, w, v, R, C, $2, G = p3.indexOf("."), W = s2, F = a5; + for (G >= 0 && (w = A, A = 0, p3 = p3.replace(".", ""), $2 = new E(h5), R = $2.pow(p3.length - G), A = w, $2.c = c5(Le(ye(R.c), R.e, "0"), 10, f5, l3), $2.e = $2.c.length), C = c5(p3, h5, f5, b5 ? (d5 = L, l3) : (d5 = l3, L)), x = w = C.length; C[--w] == 0; C.pop()) ; + if (!C[0]) return d5.charAt(0); + if (G < 0 ? --x : (R.c = C, R.e = x, R.s = y, R = t(R, $2, W, F, f5), C = R.c, v = R.r, x = R.e), g5 = x + W + 1, G = C[g5], w = f5 / 2, v = v || g5 < 0 || C[g5 + 1] != null, v = F < 4 ? (G != null || v) && (F == 0 || F == (R.s < 0 ? 3 : 2)) : G > w || G == w && (F == 4 || v || F == 6 && C[g5 - 1] & 1 || F == (R.s < 0 ? 8 : 7)), g5 < 1 || !C[0]) p3 = v ? Le(d5.charAt(1), -W, d5.charAt(0)) : d5.charAt(0); + else { + if (C.length = g5, v) for (--f5; ++C[--g5] > f5; ) C[g5] = 0, g5 || (++x, C = [1].concat(C)); + for (w = C.length; !C[--w]; ) ; + for (G = 0, p3 = ""; G <= w; p3 += d5.charAt(C[G++])) ; + p3 = Le(p3, x, d5.charAt(0)); + } + return p3; + }; + })(), t = /* @__PURE__ */ (function() { + function l3(h5, f5, y) { + var b5, d5, g5, x, w = 0, v = h5.length, R = f5 % Qe, C = f5 / Qe | 0; + for (h5 = h5.slice(); v--; ) g5 = h5[v] % Qe, x = h5[v] / Qe | 0, b5 = C * g5 + x * R, d5 = R * g5 + b5 % Qe * Qe + w, w = (d5 / y | 0) + (b5 / Qe | 0) + C * x, h5[v] = d5 % y; + return w && (h5 = [w].concat(h5)), h5; + } + __name(l3, "l"); + function c5(h5, f5, y, b5) { + var d5, g5; + if (y != b5) g5 = y > b5 ? 1 : -1; + else for (d5 = g5 = 0; d5 < y; d5++) if (h5[d5] != f5[d5]) { + g5 = h5[d5] > f5[d5] ? 1 : -1; + break; + } + return g5; + } + __name(c5, "c"); + function p3(h5, f5, y, b5) { + for (var d5 = 0; y--; ) h5[y] -= d5, d5 = h5[y] < f5[y] ? 1 : 0, h5[y] = d5 * b5 + h5[y] - f5[y]; + for (; !h5[0] && h5.length > 1; h5.splice(0, 1)) ; + } + __name(p3, "p"); + return function(h5, f5, y, b5, d5) { + var g5, x, w, v, R, C, $2, G, W, F, U, oe, wr, Sn, An, Ce, Ot, me = h5.s == f5.s ? 1 : -1, se = h5.c, z2 = f5.c; + if (!se || !se[0] || !z2 || !z2[0]) return new E(!h5.s || !f5.s || (se ? z2 && se[0] == z2[0] : !z2) ? NaN : se && se[0] == 0 || !z2 ? me * 0 : me / 0); + for (G = new E(me), W = G.c = [], x = h5.e - f5.e, me = y + x + 1, d5 || (d5 = Re, x = we(h5.e / N) - we(f5.e / N), me = me / N | 0), w = 0; z2[w] == (se[w] || 0); w++) ; + if (z2[w] > (se[w] || 0) && x--, me < 0) W.push(1), v = true; + else { + for (Sn = se.length, Ce = z2.length, w = 0, me += 2, R = he(d5 / (z2[0] + 1)), R > 1 && (z2 = l3(z2, R, d5), se = l3(se, R, d5), Ce = z2.length, Sn = se.length), wr = Ce, F = se.slice(0, Ce), U = F.length; U < Ce; F[U++] = 0) ; + Ot = z2.slice(), Ot = [0].concat(Ot), An = z2[0], z2[1] >= d5 / 2 && An++; + do { + if (R = 0, g5 = c5(z2, F, Ce, U), g5 < 0) { + if (oe = F[0], Ce != U && (oe = oe * d5 + (F[1] || 0)), R = he(oe / An), R > 1) for (R >= d5 && (R = d5 - 1), C = l3(z2, R, d5), $2 = C.length, U = F.length; c5(C, F, $2, U) == 1; ) R--, p3(C, Ce < $2 ? Ot : z2, $2, d5), $2 = C.length, g5 = 1; + else R == 0 && (g5 = R = 1), C = z2.slice(), $2 = C.length; + if ($2 < U && (C = [0].concat(C)), p3(F, C, U, d5), U = F.length, g5 == -1) for (; c5(z2, F, Ce, U) < 1; ) R++, p3(F, Ce < U ? Ot : z2, U, d5), U = F.length; + } else g5 === 0 && (R++, F = [0]); + W[w++] = R, F[0] ? F[U++] = se[wr] || 0 : (F = [se[wr]], U = 1); + } while ((wr++ < Sn || F[0] != null) && me--); + v = F[0] != null, W[0] || W.splice(0, 1); + } + if (d5 == Re) { + for (w = 1, me = W[0]; me >= 10; me /= 10, w++) ; + ie(G, y + (G.e = w + x * N - 1) + 1, b5, v); + } else G.e = x, G.r = +v; + return G; + }; + })(); + function D(l3, c5, p3, h5) { + var f5, y, b5, d5, g5; + if (p3 == null ? p3 = a5 : J(p3, 0, 8), !l3.c) return l3.toString(); + if (f5 = l3.c[0], b5 = l3.e, c5 == null) g5 = ye(l3.c), g5 = h5 == 1 || h5 == 2 && (b5 <= u || b5 >= m3) ? tn(g5, b5) : Le(g5, b5, "0"); + else if (l3 = ie(new E(l3), c5, p3), y = l3.e, g5 = ye(l3.c), d5 = g5.length, h5 == 1 || h5 == 2 && (c5 <= y || y <= u)) { + for (; d5 < c5; g5 += "0", d5++) ; + g5 = tn(g5, y); + } else if (c5 -= b5 + (h5 === 2 && y > b5), g5 = Le(g5, y, "0"), y + 1 > d5) { + if (--c5 > 0) for (g5 += "."; c5--; g5 += "0") ; + } else if (c5 += y - d5, c5 > 0) for (y + 1 == d5 && (g5 += "."); c5--; g5 += "0") ; + return l3.s < 0 && f5 ? "-" + g5 : g5; + } + __name(D, "D"); + function H(l3, c5) { + for (var p3, h5, f5 = 1, y = new E(l3[0]); f5 < l3.length; f5++) h5 = new E(l3[f5]), (!h5.s || (p3 = Xe(y, h5)) === c5 || p3 === 0 && y.s === c5) && (y = h5); + return y; + } + __name(H, "H"); + function ce(l3, c5, p3) { + for (var h5 = 1, f5 = c5.length; !c5[--f5]; c5.pop()) ; + for (f5 = c5[0]; f5 >= 10; f5 /= 10, h5++) ; + return (p3 = h5 + p3 * N - 1) > T2 ? l3.c = l3.e = null : p3 < P ? l3.c = [l3.e = 0] : (l3.e = p3, l3.c = c5), l3; + } + __name(ce, "ce"); + n3 = /* @__PURE__ */ (function() { + var l3 = /^(-?)0([xbo])(?=\w[\w.]*$)/i, c5 = /^([^.]+)\.$/, p3 = /^\.([^.]+)$/, h5 = /^-?(Infinity|NaN)$/, f5 = /^\s*\+(?=[\w.])|^\s+|\s+$/g; + return function(y, b5, d5, g5) { + var x, w = d5 ? b5 : b5.replace(f5, ""); + if (h5.test(w)) y.s = isNaN(w) ? null : w < 0 ? -1 : 1; + else { + if (!d5 && (w = w.replace(l3, function(v, R, C) { + return x = (C = C.toLowerCase()) == "x" ? 16 : C == "b" ? 2 : 8, !g5 || g5 == x ? R : v; + }), g5 && (x = g5, w = w.replace(c5, "$1").replace(p3, "0.$1")), b5 != w)) return new E(w, x); + if (E.DEBUG) throw Error(le + "Not a" + (g5 ? " base " + g5 : "") + " number: " + b5); + y.s = null; + } + y.c = y.e = null; + }; + })(); + function ie(l3, c5, p3, h5) { + var f5, y, b5, d5, g5, x, w, v = l3.c, R = fi; + if (v) { + e: { + for (f5 = 1, d5 = v[0]; d5 >= 10; d5 /= 10, f5++) ; + if (y = c5 - f5, y < 0) y += N, b5 = c5, g5 = v[x = 0], w = he(g5 / R[f5 - b5 - 1] % 10); + else if (x = di((y + 1) / N), x >= v.length) if (h5) { + for (; v.length <= x; v.push(0)) ; + g5 = w = 0, f5 = 1, y %= N, b5 = y - N + 1; + } else break e; + else { + for (g5 = d5 = v[x], f5 = 1; d5 >= 10; d5 /= 10, f5++) ; + y %= N, b5 = y - N + f5, w = b5 < 0 ? 0 : he(g5 / R[f5 - b5 - 1] % 10); + } + if (h5 = h5 || c5 < 0 || v[x + 1] != null || (b5 < 0 ? g5 : g5 % R[f5 - b5 - 1]), h5 = p3 < 4 ? (w || h5) && (p3 == 0 || p3 == (l3.s < 0 ? 3 : 2)) : w > 5 || w == 5 && (p3 == 4 || h5 || p3 == 6 && (y > 0 ? b5 > 0 ? g5 / R[f5 - b5] : 0 : v[x - 1]) % 10 & 1 || p3 == (l3.s < 0 ? 8 : 7)), c5 < 1 || !v[0]) return v.length = 0, h5 ? (c5 -= l3.e + 1, v[0] = R[(N - c5 % N) % N], l3.e = -c5 || 0) : v[0] = l3.e = 0, l3; + if (y == 0 ? (v.length = x, d5 = 1, x--) : (v.length = x + 1, d5 = R[N - y], v[x] = b5 > 0 ? he(g5 / R[f5 - b5] % R[b5]) * d5 : 0), h5) for (; ; ) if (x == 0) { + for (y = 1, b5 = v[0]; b5 >= 10; b5 /= 10, y++) ; + for (b5 = v[0] += d5, d5 = 1; b5 >= 10; b5 /= 10, d5++) ; + y != d5 && (l3.e++, v[0] == Re && (v[0] = 1)); + break; + } else { + if (v[x] += d5, v[x] != Re) break; + v[x--] = 0, d5 = 1; + } + for (y = v.length; v[--y] === 0; v.pop()) ; + } + l3.e > T2 ? l3.c = l3.e = null : l3.e < P && (l3.c = [l3.e = 0]); + } + return l3; + } + __name(ie, "ie"); + function be(l3) { + var c5, p3 = l3.e; + return p3 === null ? l3.toString() : (c5 = ye(l3.c), c5 = p3 <= u || p3 >= m3 ? tn(c5, p3) : Le(c5, p3, "0"), l3.s < 0 ? "-" + c5 : c5); + } + __name(be, "be"); + return i5.absoluteValue = i5.abs = function() { + var l3 = new E(this); + return l3.s < 0 && (l3.s = 1), l3; + }, i5.comparedTo = function(l3, c5) { + return Xe(this, new E(l3, c5)); + }, i5.decimalPlaces = i5.dp = function(l3, c5) { + var p3, h5, f5, y = this; + if (l3 != null) return J(l3, 0, Y), c5 == null ? c5 = a5 : J(c5, 0, 8), ie(new E(y), l3 + y.e + 1, c5); + if (!(p3 = y.c)) return null; + if (h5 = ((f5 = p3.length - 1) - we(this.e / N)) * N, f5 = p3[f5]) for (; f5 % 10 == 0; f5 /= 10, h5--) ; + return h5 < 0 && (h5 = 0), h5; + }, i5.dividedBy = i5.div = function(l3, c5) { + return t(this, new E(l3, c5), s2, a5); + }, i5.dividedToIntegerBy = i5.idiv = function(l3, c5) { + return t(this, new E(l3, c5), 0, 1); + }, i5.exponentiatedBy = i5.pow = function(l3, c5) { + var p3, h5, f5, y, b5, d5, g5, x, w, v = this; + if (l3 = new E(l3), l3.c && !l3.isInteger()) throw Error(le + "Exponent not an integer: " + be(l3)); + if (c5 != null && (c5 = new E(c5)), d5 = l3.e > 14, !v.c || !v.c[0] || v.c[0] == 1 && !v.e && v.c.length == 1 || !l3.c || !l3.c[0]) return w = new E(Math.pow(+be(v), d5 ? l3.s * (2 - en(l3)) : +be(l3))), c5 ? w.mod(c5) : w; + if (g5 = l3.s < 0, c5) { + if (c5.c ? !c5.c[0] : !c5.s) return new E(NaN); + h5 = !g5 && v.isInteger() && c5.isInteger(), h5 && (v = v.mod(c5)); + } else { + if (l3.e > 9 && (v.e > 0 || v.e < -1 || (v.e == 0 ? v.c[0] > 1 || d5 && v.c[1] >= 24e7 : v.c[0] < 8e13 || d5 && v.c[0] <= 9999975e7))) return y = v.s < 0 && en(l3) ? -0 : 0, v.e > -1 && (y = 1 / y), new E(g5 ? 1 / y : y); + A && (y = di(A / N + 2)); + } + for (d5 ? (p3 = new E(0.5), g5 && (l3.s = 1), x = en(l3)) : (f5 = Math.abs(+be(l3)), x = f5 % 2), w = new E(o3); ; ) { + if (x) { + if (w = w.times(v), !w.c) break; + y ? w.c.length > y && (w.c.length = y) : h5 && (w = w.mod(c5)); + } + if (f5) { + if (f5 = he(f5 / 2), f5 === 0) break; + x = f5 % 2; + } else if (l3 = l3.times(p3), ie(l3, l3.e + 1, 1), l3.e > 14) x = en(l3); + else { + if (f5 = +be(l3), f5 === 0) break; + x = f5 % 2; + } + v = v.times(v), y ? v.c && v.c.length > y && (v.c.length = y) : h5 && (v = v.mod(c5)); + } + return h5 ? w : (g5 && (w = o3.div(w)), c5 ? w.mod(c5) : y ? ie(w, A, a5, b5) : w); + }, i5.integerValue = function(l3) { + var c5 = new E(this); + return l3 == null ? l3 = a5 : J(l3, 0, 8), ie(c5, c5.e + 1, l3); + }, i5.isEqualTo = i5.eq = function(l3, c5) { + return Xe(this, new E(l3, c5)) === 0; + }, i5.isFinite = function() { + return !!this.c; + }, i5.isGreaterThan = i5.gt = function(l3, c5) { + return Xe(this, new E(l3, c5)) > 0; + }, i5.isGreaterThanOrEqualTo = i5.gte = function(l3, c5) { + return (c5 = Xe(this, new E(l3, c5))) === 1 || c5 === 0; + }, i5.isInteger = function() { + return !!this.c && we(this.e / N) > this.c.length - 2; + }, i5.isLessThan = i5.lt = function(l3, c5) { + return Xe(this, new E(l3, c5)) < 0; + }, i5.isLessThanOrEqualTo = i5.lte = function(l3, c5) { + return (c5 = Xe(this, new E(l3, c5))) === -1 || c5 === 0; + }, i5.isNaN = function() { + return !this.s; + }, i5.isNegative = function() { + return this.s < 0; + }, i5.isPositive = function() { + return this.s > 0; + }, i5.isZero = function() { + return !!this.c && this.c[0] == 0; + }, i5.minus = function(l3, c5) { + var p3, h5, f5, y, b5 = this, d5 = b5.s; + if (l3 = new E(l3, c5), c5 = l3.s, !d5 || !c5) return new E(NaN); + if (d5 != c5) return l3.s = -c5, b5.plus(l3); + var g5 = b5.e / N, x = l3.e / N, w = b5.c, v = l3.c; + if (!g5 || !x) { + if (!w || !v) return w ? (l3.s = -c5, l3) : new E(v ? b5 : NaN); + if (!w[0] || !v[0]) return v[0] ? (l3.s = -c5, l3) : new E(w[0] ? b5 : a5 == 3 ? -0 : 0); + } + if (g5 = we(g5), x = we(x), w = w.slice(), d5 = g5 - x) { + for ((y = d5 < 0) ? (d5 = -d5, f5 = w) : (x = g5, f5 = v), f5.reverse(), c5 = d5; c5--; f5.push(0)) ; + f5.reverse(); + } else for (h5 = (y = (d5 = w.length) < (c5 = v.length)) ? d5 : c5, d5 = c5 = 0; c5 < h5; c5++) if (w[c5] != v[c5]) { + y = w[c5] < v[c5]; + break; + } + if (y && (f5 = w, w = v, v = f5, l3.s = -l3.s), c5 = (h5 = v.length) - (p3 = w.length), c5 > 0) for (; c5--; w[p3++] = 0) ; + for (c5 = Re - 1; h5 > d5; ) { + if (w[--h5] < v[h5]) { + for (p3 = h5; p3 && !w[--p3]; w[p3] = c5) ; + --w[p3], w[h5] += Re; + } + w[h5] -= v[h5]; + } + for (; w[0] == 0; w.splice(0, 1), --x) ; + return w[0] ? ce(l3, w, x) : (l3.s = a5 == 3 ? -1 : 1, l3.c = [l3.e = 0], l3); + }, i5.modulo = i5.mod = function(l3, c5) { + var p3, h5, f5 = this; + return l3 = new E(l3, c5), !f5.c || !l3.s || l3.c && !l3.c[0] ? new E(NaN) : !l3.c || f5.c && !f5.c[0] ? new E(f5) : (I == 9 ? (h5 = l3.s, l3.s = 1, p3 = t(f5, l3, 0, 3), l3.s = h5, p3.s *= h5) : p3 = t(f5, l3, 0, I), l3 = f5.minus(p3.times(l3)), !l3.c[0] && I == 1 && (l3.s = f5.s), l3); + }, i5.multipliedBy = i5.times = function(l3, c5) { + var p3, h5, f5, y, b5, d5, g5, x, w, v, R, C, $2, G, W, F = this, U = F.c, oe = (l3 = new E(l3, c5)).c; + if (!U || !oe || !U[0] || !oe[0]) return !F.s || !l3.s || U && !U[0] && !oe || oe && !oe[0] && !U ? l3.c = l3.e = l3.s = null : (l3.s *= F.s, !U || !oe ? l3.c = l3.e = null : (l3.c = [0], l3.e = 0)), l3; + for (h5 = we(F.e / N) + we(l3.e / N), l3.s *= F.s, g5 = U.length, v = oe.length, g5 < v && ($2 = U, U = oe, oe = $2, f5 = g5, g5 = v, v = f5), f5 = g5 + v, $2 = []; f5--; $2.push(0)) ; + for (G = Re, W = Qe, f5 = v; --f5 >= 0; ) { + for (p3 = 0, R = oe[f5] % W, C = oe[f5] / W | 0, b5 = g5, y = f5 + b5; y > f5; ) x = U[--b5] % W, w = U[b5] / W | 0, d5 = C * x + w * R, x = R * x + d5 % W * W + $2[y] + p3, p3 = (x / G | 0) + (d5 / W | 0) + C * w, $2[y--] = x % G; + $2[y] = p3; + } + return p3 ? ++h5 : $2.splice(0, 1), ce(l3, $2, h5); + }, i5.negated = function() { + var l3 = new E(this); + return l3.s = -l3.s || null, l3; + }, i5.plus = function(l3, c5) { + var p3, h5 = this, f5 = h5.s; + if (l3 = new E(l3, c5), c5 = l3.s, !f5 || !c5) return new E(NaN); + if (f5 != c5) return l3.s = -c5, h5.minus(l3); + var y = h5.e / N, b5 = l3.e / N, d5 = h5.c, g5 = l3.c; + if (!y || !b5) { + if (!d5 || !g5) return new E(f5 / 0); + if (!d5[0] || !g5[0]) return g5[0] ? l3 : new E(d5[0] ? h5 : f5 * 0); + } + if (y = we(y), b5 = we(b5), d5 = d5.slice(), f5 = y - b5) { + for (f5 > 0 ? (b5 = y, p3 = g5) : (f5 = -f5, p3 = d5), p3.reverse(); f5--; p3.push(0)) ; + p3.reverse(); + } + for (f5 = d5.length, c5 = g5.length, f5 - c5 < 0 && (p3 = g5, g5 = d5, d5 = p3, c5 = f5), f5 = 0; c5; ) f5 = (d5[--c5] = d5[c5] + g5[c5] + f5) / Re | 0, d5[c5] = Re === d5[c5] ? 0 : d5[c5] % Re; + return f5 && (d5 = [f5].concat(d5), ++b5), ce(l3, d5, b5); + }, i5.precision = i5.sd = function(l3, c5) { + var p3, h5, f5, y = this; + if (l3 != null && l3 !== !!l3) return J(l3, 1, Y), c5 == null ? c5 = a5 : J(c5, 0, 8), ie(new E(y), l3, c5); + if (!(p3 = y.c)) return null; + if (f5 = p3.length - 1, h5 = f5 * N + 1, f5 = p3[f5]) { + for (; f5 % 10 == 0; f5 /= 10, h5--) ; + for (f5 = p3[0]; f5 >= 10; f5 /= 10, h5++) ; + } + return l3 && y.e + 1 > h5 && (h5 = y.e + 1), h5; + }, i5.shiftedBy = function(l3) { + return J(l3, -mi, mi), this.times("1e" + l3); + }, i5.squareRoot = i5.sqrt = function() { + var l3, c5, p3, h5, f5, y = this, b5 = y.c, d5 = y.s, g5 = y.e, x = s2 + 4, w = new E("0.5"); + if (d5 !== 1 || !b5 || !b5[0]) return new E(!d5 || d5 < 0 && (!b5 || b5[0]) ? NaN : b5 ? y : 1 / 0); + if (d5 = Math.sqrt(+be(y)), d5 == 0 || d5 == 1 / 0 ? (c5 = ye(b5), (c5.length + g5) % 2 == 0 && (c5 += "0"), d5 = Math.sqrt(+c5), g5 = we((g5 + 1) / 2) - (g5 < 0 || g5 % 2), d5 == 1 / 0 ? c5 = "5e" + g5 : (c5 = d5.toExponential(), c5 = c5.slice(0, c5.indexOf("e") + 1) + g5), p3 = new E(c5)) : p3 = new E(d5 + ""), p3.c[0]) { + for (g5 = p3.e, d5 = g5 + x, d5 < 3 && (d5 = 0); ; ) if (f5 = p3, p3 = w.times(f5.plus(t(y, f5, x, 1))), ye(f5.c).slice(0, d5) === (c5 = ye(p3.c)).slice(0, d5)) if (p3.e < g5 && --d5, c5 = c5.slice(d5 - 3, d5 + 1), c5 == "9999" || !h5 && c5 == "4999") { + if (!h5 && (ie(f5, f5.e + s2 + 2, 0), f5.times(f5).eq(y))) { + p3 = f5; + break; + } + x += 4, d5 += 4, h5 = 1; + } else { + (!+c5 || !+c5.slice(1) && c5.charAt(0) == "5") && (ie(p3, p3.e + s2 + 2, 1), l3 = !p3.times(p3).eq(y)); + break; + } + } + return ie(p3, p3.e + s2 + 1, a5, l3); + }, i5.toExponential = function(l3, c5) { + return l3 != null && (J(l3, 0, Y), l3++), D(this, l3, c5, 1); + }, i5.toFixed = function(l3, c5) { + return l3 != null && (J(l3, 0, Y), l3 = l3 + this.e + 1), D(this, l3, c5); + }, i5.toFormat = function(l3, c5, p3) { + var h5, f5 = this; + if (p3 == null) l3 != null && c5 && typeof c5 == "object" ? (p3 = c5, c5 = null) : l3 && typeof l3 == "object" ? (p3 = l3, l3 = c5 = null) : p3 = M; + else if (typeof p3 != "object") throw Error(le + "Argument not an object: " + p3); + if (h5 = f5.toFixed(l3, c5), f5.c) { + var y, b5 = h5.split("."), d5 = +p3.groupSize, g5 = +p3.secondaryGroupSize, x = p3.groupSeparator || "", w = b5[0], v = b5[1], R = f5.s < 0, C = R ? w.slice(1) : w, $2 = C.length; + if (g5 && (y = d5, d5 = g5, g5 = y, $2 -= y), d5 > 0 && $2 > 0) { + for (y = $2 % d5 || d5, w = C.substr(0, y); y < $2; y += d5) w += x + C.substr(y, d5); + g5 > 0 && (w += x + C.slice(y)), R && (w = "-" + w); + } + h5 = v ? w + (p3.decimalSeparator || "") + ((g5 = +p3.fractionGroupSize) ? v.replace(new RegExp("\\d{" + g5 + "}\\B", "g"), "$&" + (p3.fractionGroupSeparator || "")) : v) : w; + } + return (p3.prefix || "") + h5 + (p3.suffix || ""); + }, i5.toFraction = function(l3) { + var c5, p3, h5, f5, y, b5, d5, g5, x, w, v, R, C = this, $2 = C.c; + if (l3 != null && (d5 = new E(l3), !d5.isInteger() && (d5.c || d5.s !== 1) || d5.lt(o3))) throw Error(le + "Argument " + (d5.isInteger() ? "out of range: " : "not an integer: ") + be(d5)); + if (!$2) return new E(C); + for (c5 = new E(o3), x = p3 = new E(o3), h5 = g5 = new E(o3), R = ye($2), y = c5.e = R.length - C.e - 1, c5.c[0] = fi[(b5 = y % N) < 0 ? N + b5 : b5], l3 = !l3 || d5.comparedTo(c5) > 0 ? y > 0 ? c5 : x : d5, b5 = T2, T2 = 1 / 0, d5 = new E(R), g5.c[0] = 0; w = t(d5, c5, 0, 1), f5 = p3.plus(w.times(h5)), f5.comparedTo(l3) != 1; ) p3 = h5, h5 = f5, x = g5.plus(w.times(f5 = x)), g5 = f5, c5 = d5.minus(w.times(f5 = c5)), d5 = f5; + return f5 = t(l3.minus(p3), h5, 0, 1), g5 = g5.plus(f5.times(x)), p3 = p3.plus(f5.times(h5)), g5.s = x.s = C.s, y = y * 2, v = t(x, h5, y, a5).minus(C).abs().comparedTo(t(g5, p3, y, a5).minus(C).abs()) < 1 ? [x, h5] : [g5, p3], T2 = b5, v; + }, i5.toNumber = function() { + return +be(this); + }, i5.toPrecision = function(l3, c5) { + return l3 != null && J(l3, 1, Y), D(this, l3, c5, 2); + }, i5.toString = function(l3) { + var c5, p3 = this, h5 = p3.s, f5 = p3.e; + return f5 === null ? h5 ? (c5 = "Infinity", h5 < 0 && (c5 = "-" + c5)) : c5 = "NaN" : (l3 == null ? c5 = f5 <= u || f5 >= m3 ? tn(ye(p3.c), f5) : Le(ye(p3.c), f5, "0") : l3 === 10 && q3 ? (p3 = ie(new E(p3), s2 + f5 + 1, a5), c5 = Le(ye(p3.c), p3.e, "0")) : (J(l3, 2, L.length, "Base"), c5 = r5(Le(ye(p3.c), f5, "0"), 10, l3, h5, true)), h5 < 0 && p3.c[0] && (c5 = "-" + c5)), c5; + }, i5.valueOf = i5.toJSON = function() { + return be(this); + }, i5._isBigNumber = true, i5[Symbol.toStringTag] = "BigNumber", i5[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = i5.valueOf, e5 != null && E.set(e5), E; + } + __name(Ta, "Ta"); + function we(e5) { + var t = e5 | 0; + return e5 > 0 || e5 === t ? t : t - 1; + } + __name(we, "we"); + function ye(e5) { + for (var t, r5, n3 = 1, i5 = e5.length, o3 = e5[0] + ""; n3 < i5; ) { + for (t = e5[n3++] + "", r5 = N - t.length; r5--; t = "0" + t) ; + o3 += t; + } + for (i5 = o3.length; o3.charCodeAt(--i5) === 48; ) ; + return o3.slice(0, i5 + 1 || 1); + } + __name(ye, "ye"); + function Xe(e5, t) { + var r5, n3, i5 = e5.c, o3 = t.c, s2 = e5.s, a5 = t.s, u = e5.e, m3 = t.e; + if (!s2 || !a5) return null; + if (r5 = i5 && !i5[0], n3 = o3 && !o3[0], r5 || n3) return r5 ? n3 ? 0 : -a5 : s2; + if (s2 != a5) return s2; + if (r5 = s2 < 0, n3 = u == m3, !i5 || !o3) return n3 ? 0 : !i5 ^ r5 ? 1 : -1; + if (!n3) return u > m3 ^ r5 ? 1 : -1; + for (a5 = (u = i5.length) < (m3 = o3.length) ? u : m3, s2 = 0; s2 < a5; s2++) if (i5[s2] != o3[s2]) return i5[s2] > o3[s2] ^ r5 ? 1 : -1; + return u == m3 ? 0 : u > m3 ^ r5 ? 1 : -1; + } + __name(Xe, "Xe"); + function J(e5, t, r5, n3) { + if (e5 < t || e5 > r5 || e5 !== he(e5)) throw Error(le + (n3 || "Argument") + (typeof e5 == "number" ? e5 < t || e5 > r5 ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(e5)); + } + __name(J, "J"); + function en(e5) { + var t = e5.c.length - 1; + return we(e5.e / N) == t && e5.c[t] % 2 != 0; + } + __name(en, "en"); + function tn(e5, t) { + return (e5.length > 1 ? e5.charAt(0) + "." + e5.slice(1) : e5) + (t < 0 ? "e" : "e+") + t; + } + __name(tn, "tn"); + function Le(e5, t, r5) { + var n3, i5; + if (t < 0) { + for (i5 = r5 + "."; ++t; i5 += r5) ; + e5 = i5 + e5; + } else if (n3 = e5.length, ++t > n3) { + for (i5 = r5, t -= n3; --t; i5 += r5) ; + e5 += i5; + } else t < n3 && (e5 = e5.slice(0, t) + "." + e5.slice(t)); + return e5; + } + __name(Le, "Le"); + var id = Ta(); + var va = id; + var od = 24; + var or = 32; + var sd = /* @__PURE__ */ __name(() => typeof globalThis < "u" && globalThis.crypto && typeof globalThis.crypto.getRandomValues == "function" ? () => { + let e5 = new Uint32Array(1); + return globalThis.crypto.getRandomValues(e5), e5[0] / 4294967296; + } : Math.random, "sd"); + var yi = sd(); + var gi = /* @__PURE__ */ __name((e5 = 4, t = yi) => { + let r5 = ""; + for (; r5.length < e5; ) r5 = r5 + Math.floor(t() * 36).toString(36); + return r5; + }, "gi"); + function ad(e5) { + let t = new va(0); + for (let r5 of e5.values()) t = t.multipliedBy(256).plus(r5); + return t; + } + __name(ad, "ad"); + var Aa = /* @__PURE__ */ __name((e5 = "") => { + let t = new TextEncoder(); + return ad(Pa(t.encode(e5))).toString(36).slice(1); + }, "Aa"); + var Sa = Array.from({ length: 26 }, (e5, t) => String.fromCharCode(t + 97)); + var ld = /* @__PURE__ */ __name((e5) => Sa[Math.floor(e5() * Sa.length)], "ld"); + var ud = /* @__PURE__ */ __name(({ globalObj: e5 = typeof global < "u" ? global : typeof window < "u" ? window : {}, random: t = yi } = {}) => { + let r5 = Object.keys(e5).toString(), n3 = r5.length ? r5 + gi(or, t) : gi(or, t); + return Aa(n3).substring(0, or); + }, "ud"); + var cd = /* @__PURE__ */ __name((e5) => () => e5++, "cd"); + var pd = 476782367; + var Ra = /* @__PURE__ */ __name(({ random: e5 = yi, counter: t = cd(Math.floor(e5() * pd)), length: r5 = od, fingerprint: n3 = ud({ random: e5 }) } = {}) => { + if (r5 > or) throw new Error(`Length must be between 2 and ${or}. Received: ${r5}`); + return function() { + let o3 = ld(e5), s2 = Date.now().toString(36), a5 = t().toString(36), u = gi(r5, e5), m3 = `${s2 + u + a5 + n3}`; + return `${o3 + Aa(m3).substring(1, r5)}`; + }; + }, "Ra"); + var hi = dd(Ra); + function dd(e5) { + let t; + return () => (t || (t = e5()), t()); + } + __name(dd, "dd"); + var wi = __require("node:crypto"); + var Ca = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"; + var md = 128; + var Je; + var At; + function fd(e5) { + if (e5 < 0) throw new RangeError("Wrong ID size"); + try { + !Je || Je.length < e5 ? (Je = Buffer.allocUnsafe(e5 * md), wi.webcrypto.getRandomValues(Je), At = 0) : At + e5 > Je.length && (wi.webcrypto.getRandomValues(Je), At = 0); + } catch (t) { + throw Je = void 0, t; + } + At += e5; + } + __name(fd, "fd"); + function xi(e5 = 21) { + fd(e5 |= 0); + let t = ""; + for (let r5 = At - e5; r5 < At; r5++) t += Ca[Je[r5] & 63]; + return t; + } + __name(xi, "xi"); + var sr = Pe(__require("node:crypto"), 1); + var ka = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"; + var ar = 32; + var gd = 16; + var Oa = 10; + var Ia = 281474976710655; + var Ye; + (function(e5) { + e5.Base32IncorrectEncoding = "B32_ENC_INVALID", e5.DecodeTimeInvalidCharacter = "DEC_TIME_CHAR", e5.DecodeTimeValueMalformed = "DEC_TIME_MALFORMED", e5.EncodeTimeNegative = "ENC_TIME_NEG", e5.EncodeTimeSizeExceeded = "ENC_TIME_SIZE_EXCEED", e5.EncodeTimeValueMalformed = "ENC_TIME_MALFORMED", e5.PRNGDetectFailure = "PRNG_DETECT", e5.ULIDInvalid = "ULID_INVALID", e5.Unexpected = "UNEXPECTED", e5.UUIDInvalid = "UUID_INVALID"; + })(Ye || (Ye = {})); + var et = class extends Error { + static { + __name(this, "et"); + } + constructor(t, r5) { + super(`${r5} (${t})`), this.name = "ULIDError", this.code = t; + } + }; + function yd(e5) { + let t = Math.floor(e5() * ar); + return t === ar && (t = ar - 1), ka.charAt(t); + } + __name(yd, "yd"); + function hd(e5) { + let t = wd(), r5 = t && (t.crypto || t.msCrypto) || (typeof sr.default < "u" ? sr.default : null); + if (typeof r5?.getRandomValues == "function") return () => { + let n3 = new Uint8Array(1); + return r5.getRandomValues(n3), n3[0] / 255; + }; + if (typeof r5?.randomBytes == "function") return () => r5.randomBytes(1).readUInt8() / 255; + if (sr.default?.randomBytes) return () => sr.default.randomBytes(1).readUInt8() / 255; + throw new et(Ye.PRNGDetectFailure, "Failed to find a reliable PRNG"); + } + __name(hd, "hd"); + function wd() { + return Pd() ? self : typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : null; + } + __name(wd, "wd"); + function xd(e5, t) { + let r5 = ""; + for (; e5 > 0; e5--) r5 = yd(t) + r5; + return r5; + } + __name(xd, "xd"); + function bd(e5, t = Oa) { + if (isNaN(e5)) throw new et(Ye.EncodeTimeValueMalformed, `Time must be a number: ${e5}`); + if (e5 > Ia) throw new et(Ye.EncodeTimeSizeExceeded, `Cannot encode a time larger than ${Ia}: ${e5}`); + if (e5 < 0) throw new et(Ye.EncodeTimeNegative, `Time must be positive: ${e5}`); + if (Number.isInteger(e5) === false) throw new et(Ye.EncodeTimeValueMalformed, `Time must be an integer: ${e5}`); + let r5, n3 = ""; + for (let i5 = t; i5 > 0; i5--) r5 = e5 % ar, n3 = ka.charAt(r5) + n3, e5 = (e5 - r5) / ar; + return n3; + } + __name(bd, "bd"); + function Pd() { + return typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope; + } + __name(Pd, "Pd"); + function Na(e5, t) { + let r5 = t || hd(), n3 = !e5 || isNaN(e5) ? Date.now() : e5; + return bd(n3, Oa) + xd(gd, r5); + } + __name(Na, "Na"); + var te = []; + for (let e5 = 0; e5 < 256; ++e5) te.push((e5 + 256).toString(16).slice(1)); + function rn(e5, t = 0) { + return (te[e5[t + 0]] + te[e5[t + 1]] + te[e5[t + 2]] + te[e5[t + 3]] + "-" + te[e5[t + 4]] + te[e5[t + 5]] + "-" + te[e5[t + 6]] + te[e5[t + 7]] + "-" + te[e5[t + 8]] + te[e5[t + 9]] + "-" + te[e5[t + 10]] + te[e5[t + 11]] + te[e5[t + 12]] + te[e5[t + 13]] + te[e5[t + 14]] + te[e5[t + 15]]).toLowerCase(); + } + __name(rn, "rn"); + var Ed = new Uint8Array(16); + function Rt() { + return crypto.getRandomValues(Ed); + } + __name(Rt, "Rt"); + function Td(e5, t, r5) { + return !t && !e5 && crypto.randomUUID ? crypto.randomUUID() : vd(e5, t, r5); + } + __name(Td, "Td"); + function vd(e5, t, r5) { + e5 = e5 || {}; + let n3 = e5.random ?? e5.rng?.() ?? Rt(); + if (n3.length < 16) throw new Error("Random bytes length must be >= 16"); + if (n3[6] = n3[6] & 15 | 64, n3[8] = n3[8] & 63 | 128, t) { + if (r5 = r5 || 0, r5 < 0 || r5 + 16 > t.length) throw new RangeError(`UUID byte range ${r5}:${r5 + 15} is out of buffer bounds`); + for (let i5 = 0; i5 < 16; ++i5) t[r5 + i5] = n3[i5]; + return t; + } + return rn(n3); + } + __name(vd, "vd"); + var bi = Td; + var Pi = {}; + function Sd(e5, t, r5) { + let n3; + if (e5) n3 = Da(e5.random ?? e5.rng?.() ?? Rt(), e5.msecs, e5.seq, t, r5); + else { + let i5 = Date.now(), o3 = Rt(); + Ad(Pi, i5, o3), n3 = Da(o3, Pi.msecs, Pi.seq, t, r5); + } + return t ?? rn(n3); + } + __name(Sd, "Sd"); + function Ad(e5, t, r5) { + return e5.msecs ??= -1 / 0, e5.seq ??= 0, t > e5.msecs ? (e5.seq = r5[6] << 23 | r5[7] << 16 | r5[8] << 8 | r5[9], e5.msecs = t) : (e5.seq = e5.seq + 1 | 0, e5.seq === 0 && e5.msecs++), e5; + } + __name(Ad, "Ad"); + function Da(e5, t, r5, n3, i5 = 0) { + if (e5.length < 16) throw new Error("Random bytes length must be >= 16"); + if (!n3) n3 = new Uint8Array(16), i5 = 0; + else if (i5 < 0 || i5 + 16 > n3.length) throw new RangeError(`UUID byte range ${i5}:${i5 + 15} is out of buffer bounds`); + return t ??= Date.now(), r5 ??= e5[6] * 127 << 24 | e5[7] << 16 | e5[8] << 8 | e5[9], n3[i5++] = t / 1099511627776 & 255, n3[i5++] = t / 4294967296 & 255, n3[i5++] = t / 16777216 & 255, n3[i5++] = t / 65536 & 255, n3[i5++] = t / 256 & 255, n3[i5++] = t & 255, n3[i5++] = 112 | r5 >>> 28 & 15, n3[i5++] = r5 >>> 20 & 255, n3[i5++] = 128 | r5 >>> 14 & 63, n3[i5++] = r5 >>> 6 & 255, n3[i5++] = r5 << 2 & 255 | e5[10] & 3, n3[i5++] = e5[11], n3[i5++] = e5[12], n3[i5++] = e5[13], n3[i5++] = e5[14], n3[i5++] = e5[15], n3; + } + __name(Da, "Da"); + var Ei = Sd; + var nn = class { + static { + __name(this, "nn"); + } + #e = {}; + constructor() { + this.register("uuid", new vi()), this.register("cuid", new Si()), this.register("ulid", new Ai()), this.register("nanoid", new Ri()), this.register("product", new Ci()); + } + snapshot() { + return Object.create(this.#e, { now: { value: new Ti() } }); + } + register(t, r5) { + this.#e[t] = r5; + } + }; + var Ti = class { + static { + __name(this, "Ti"); + } + #e; + generate() { + return this.#e === void 0 && (this.#e = /* @__PURE__ */ new Date()), this.#e.toISOString(); + } + }; + var vi = class { + static { + __name(this, "vi"); + } + generate(t) { + if (t === 4) return bi(); + if (t === 7) return Ei(); + throw new Error("Invalid UUID generator arguments"); + } + }; + var Si = class { + static { + __name(this, "Si"); + } + generate(t) { + if (t === 1) return ia(); + if (t === 2) return hi(); + throw new Error("Invalid CUID generator arguments"); + } + }; + var Ai = class { + static { + __name(this, "Ai"); + } + generate() { + return Na(); + } + }; + var Ri = class { + static { + __name(this, "Ri"); + } + generate(t) { + if (typeof t == "number") return xi(t); + if (t === void 0) return xi(); + throw new Error("Invalid Nanoid generator arguments"); + } + }; + var Ci = class { + static { + __name(this, "Ci"); + } + generate(t, r5) { + if (t === void 0 || r5 === void 0) throw new Error("Invalid Product generator arguments"); + return Array.isArray(t) && Array.isArray(r5) ? t.flatMap((n3) => r5.map((i5) => [n3, i5])) : Array.isArray(t) ? t.map((n3) => [n3, r5]) : Array.isArray(r5) ? r5.map((n3) => [t, n3]) : [[t, r5]]; + } + }; + function lr(e5, t) { + return e5 == null ? e5 : typeof e5 == "string" ? lr(JSON.parse(e5), t) : Array.isArray(e5) ? Cd(e5, t) : Rd(e5, t); + } + __name(lr, "lr"); + function Rd(e5, t) { + if (t.pagination) { + let { skip: r5, take: n3, cursor: i5 } = t.pagination; + if (r5 !== null && r5 > 0 || n3 === 0 || i5 !== null && !St(e5, i5)) return null; + } + return Fa(e5, t.nested); + } + __name(Rd, "Rd"); + function Fa(e5, t) { + for (let [r5, n3] of Object.entries(t)) e5[r5] = lr(e5[r5], n3); + return e5; + } + __name(Fa, "Fa"); + function Cd(e5, t) { + if (t.distinct !== null) { + let r5 = t.linkingFields !== null ? [...t.distinct, ...t.linkingFields] : t.distinct; + e5 = Id(e5, r5); + } + return t.pagination && (e5 = kd(e5, t.pagination, t.linkingFields)), t.reverse && e5.reverse(), Object.keys(t.nested).length === 0 ? e5 : e5.map((r5) => Fa(r5, t.nested)); + } + __name(Cd, "Cd"); + function Id(e5, t) { + let r5 = /* @__PURE__ */ new Set(), n3 = []; + for (let i5 of e5) { + let o3 = tt(i5, t); + r5.has(o3) || (r5.add(o3), n3.push(i5)); + } + return n3; + } + __name(Id, "Id"); + function kd(e5, t, r5) { + if (r5 === null) return Ma(e5, t); + let n3 = /* @__PURE__ */ new Map(); + for (let o3 of e5) { + let s2 = tt(o3, r5); + n3.has(s2) || n3.set(s2, []), n3.get(s2).push(o3); + } + let i5 = Array.from(n3.entries()); + return i5.sort(([o3], [s2]) => o3 < s2 ? -1 : o3 > s2 ? 1 : 0), i5.flatMap(([, o3]) => Ma(o3, t)); + } + __name(kd, "kd"); + function Ma(e5, { cursor: t, skip: r5, take: n3 }) { + let i5 = t !== null ? e5.findIndex((a5) => St(a5, t)) : 0; + if (i5 === -1) return []; + let o3 = i5 + (r5 ?? 0), s2 = n3 !== null ? o3 + n3 : e5.length; + return e5.slice(o3, s2); + } + __name(Ma, "Ma"); + function tt(e5, t, r5) { + let n3 = t.map((i5, o3) => r5?.[o3] ? e5[i5] !== null ? r5[o3](e5[i5]) : null : e5[i5]); + return JSON.stringify(n3); + } + __name(tt, "tt"); + function Ii(e5) { + return typeof e5 == "object" && e5 !== null && e5.prisma__type === "param"; + } + __name(Ii, "Ii"); + function ki(e5) { + return typeof e5 == "object" && e5 !== null && e5.prisma__type === "generatorCall"; + } + __name(ki, "ki"); + function Di(e5, t, r5, n3) { + let i5 = e5.args.map((o3) => de(o3, t, r5)); + switch (e5.type) { + case "rawSql": + return [Dd(e5.sql, i5, e5.argTypes)]; + case "templateSql": + return (e5.chunkable ? Fd(e5.fragments, i5, n3) : [i5]).map((s2) => { + let a5 = Od(e5.fragments, e5.placeholderFormat, s2, e5.argTypes); + if (n3 !== void 0 && a5.args.length > n3) throw new X("The query parameter limit supported by your database is exceeded.", "P2029"); + return a5; + }); + default: + V(e5.type, "Invalid query type"); + } + } + __name(Di, "Di"); + function de(e5, t, r5) { + for (; Md(e5); ) if (Ii(e5)) { + let n3 = t[e5.prisma__value.name]; + if (n3 === void 0) throw new Error(`Missing value for query variable ${e5.prisma__value.name}`); + e5.prisma__value.type === "DateTime" && typeof n3 == "string" ? e5 = new Date(n3) : e5 = n3; + } else if (ki(e5)) { + let { name: n3, args: i5 } = e5.prisma__value, o3 = r5[n3]; + if (!o3) throw new Error(`Encountered an unknown generator '${n3}'`); + e5 = o3.generate(...i5.map((s2) => de(s2, t, r5))); + } else V(e5, `Unexpected unevaluated value type: ${e5}`); + return Array.isArray(e5) && (e5 = e5.map((n3) => de(n3, t, r5))), e5; + } + __name(de, "de"); + function Od(e5, t, r5, n3) { + let i5 = "", o3 = { placeholderNumber: 1 }, s2 = [], a5 = []; + for (let u of Ni(e5, r5, n3)) { + if (i5 += Nd(u, t, o3), u.type === "stringChunk") continue; + let m3 = Array.from(_a4(u)), P = m3.length; + if (Gr(s2, m3), u.argType.arity === "tuple") { + if (P % u.argType.elements.length !== 0) throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${P} parameters for a tuple of arity ${u.argType.elements.length}.`); + for (let T2 = 0; T2 < P / u.argType.elements.length; T2++) a5.push(...u.argType.elements); + } else for (let T2 = 0; T2 < P; T2++) a5.push(u.argType); + } + return { sql: i5, args: s2, argTypes: a5 }; + } + __name(Od, "Od"); + function Nd(e5, t, r5) { + let n3 = e5.type; + switch (n3) { + case "parameter": + return Oi(t, r5.placeholderNumber++); + case "stringChunk": + return e5.chunk; + case "parameterTuple": + return `(${e5.value.length == 0 ? "NULL" : e5.value.map(() => { + let o3 = Oi(t, r5.placeholderNumber++); + return `${e5.itemPrefix}${o3}${e5.itemSuffix}`; + }).join(e5.itemSeparator)})`; + case "parameterTupleList": + return e5.value.map((i5) => { + let o3 = i5.map(() => Oi(t, r5.placeholderNumber++)).join(e5.itemSeparator); + return `${e5.itemPrefix}${o3}${e5.itemSuffix}`; + }).join(e5.groupSeparator); + default: + V(n3, "Invalid fragment type"); + } + } + __name(Nd, "Nd"); + function Oi(e5, t) { + return e5.hasNumbering ? `${e5.prefix}${t}` : e5.prefix; + } + __name(Oi, "Oi"); + function Dd(e5, t, r5) { + return { sql: e5, args: t, argTypes: r5 }; + } + __name(Dd, "Dd"); + function Md(e5) { + return Ii(e5) || ki(e5); + } + __name(Md, "Md"); + function* Ni(e5, t, r5) { + let n3 = 0; + for (let i5 of e5) switch (i5.type) { + case "parameter": { + if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`); + yield { ...i5, value: t[n3], argType: r5?.[n3] }, n3++; + break; + } + case "stringChunk": { + yield i5; + break; + } + case "parameterTuple": { + if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`); + let o3 = t[n3]; + yield { ...i5, value: Array.isArray(o3) ? o3 : [o3], argType: r5?.[n3] }, n3++; + break; + } + case "parameterTupleList": { + if (n3 >= t.length) throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`); + let o3 = t[n3]; + if (!Array.isArray(o3)) throw new Error("Malformed query template. Tuple list expected."); + if (o3.length === 0) throw new Error("Malformed query template. Tuple list cannot be empty."); + for (let s2 of o3) if (!Array.isArray(s2)) throw new Error("Malformed query template. Tuple expected."); + yield { ...i5, value: o3, argType: r5?.[n3] }, n3++; + break; + } + } + } + __name(Ni, "Ni"); + function* _a4(e5) { + switch (e5.type) { + case "parameter": + yield e5.value; + break; + case "stringChunk": + break; + case "parameterTuple": + yield* e5.value; + break; + case "parameterTupleList": + for (let t of e5.value) yield* t; + break; + } + } + __name(_a4, "_a"); + function Fd(e5, t, r5) { + let n3 = 0, i5 = 0; + for (let s2 of Ni(e5, t, void 0)) { + let a5 = 0; + for (let u of _a4(s2)) a5++; + i5 = Math.max(i5, a5), n3 += a5; + } + let o3 = [[]]; + for (let s2 of Ni(e5, t, void 0)) switch (s2.type) { + case "parameter": { + for (let a5 of o3) a5.push(s2.value); + break; + } + case "stringChunk": + break; + case "parameterTuple": { + let a5 = s2.value.length, u = []; + if (r5 && o3.length === 1 && a5 === i5 && n3 > r5 && n3 - a5 < r5) { + let m3 = r5 - (n3 - a5); + u = _d(s2.value, m3); + } else u = [s2.value]; + o3 = o3.flatMap((m3) => u.map((P) => [...m3, P])); + break; + } + case "parameterTupleList": { + let a5 = s2.value.reduce((T2, S) => T2 + S.length, 0), u = [], m3 = [], P = 0; + for (let T2 of s2.value) r5 && o3.length === 1 && a5 === i5 && m3.length > 0 && n3 - a5 + P + T2.length > r5 && (u.push(m3), m3 = [], P = 0), m3.push(T2), P += T2.length; + m3.length > 0 && u.push(m3), o3 = o3.flatMap((T2) => u.map((S) => [...T2, S])); + break; + } + } + return o3; + } + __name(Fd, "Fd"); + function _d(e5, t) { + let r5 = []; + for (let n3 = 0; n3 < e5.length; n3 += t) r5.push(e5.slice(n3, n3 + t)); + return r5; + } + __name(_d, "_d"); + function $a(e5) { + return e5.rows.map((t) => t.reduce((r5, n3, i5) => (r5[e5.columnNames[i5]] = n3, r5), {})); + } + __name($a, "$a"); + function La(e5) { + return { columns: e5.columnNames, types: e5.columnTypes.map((t) => $d(t)), rows: e5.rows.map((t) => t.map((r5, n3) => ur(r5, e5.columnTypes[n3]))) }; + } + __name(La, "La"); + function ur(e5, t) { + if (e5 === null) return null; + switch (t) { + case k5.Int32: + switch (typeof e5) { + case "number": + return Math.trunc(e5); + case "string": + return Math.trunc(Number(e5)); + default: + throw new Error(`Cannot serialize value of type ${typeof e5} as Int32`); + } + case k5.Int32Array: + if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as Int32Array`); + return e5.map((r5) => ur(r5, k5.Int32)); + case k5.Int64: + switch (typeof e5) { + case "number": + return BigInt(Math.trunc(e5)); + case "string": + return e5; + default: + throw new Error(`Cannot serialize value of type ${typeof e5} as Int64`); + } + case k5.Int64Array: + if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as Int64Array`); + return e5.map((r5) => ur(r5, k5.Int64)); + case k5.Json: + switch (typeof e5) { + case "string": + return JSON.parse(e5); + default: + throw new Error(`Cannot serialize value of type ${typeof e5} as Json`); + } + case k5.JsonArray: + if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as JsonArray`); + return e5.map((r5) => ur(r5, k5.Json)); + case k5.Boolean: + switch (typeof e5) { + case "boolean": + return e5; + case "string": + return e5 === "true" || e5 === "1"; + case "number": + return e5 === 1; + default: + throw new Error(`Cannot serialize value of type ${typeof e5} as Boolean`); + } + case k5.BooleanArray: + if (!Array.isArray(e5)) throw new Error(`Cannot serialize value of type ${typeof e5} as BooleanArray`); + return e5.map((r5) => ur(r5, k5.Boolean)); + default: + return e5; + } + } + __name(ur, "ur"); + function $d(e5) { + switch (e5) { + case k5.Int32: + return "int"; + case k5.Int64: + return "bigint"; + case k5.Float: + return "float"; + case k5.Double: + return "double"; + case k5.Text: + return "string"; + case k5.Enum: + return "enum"; + case k5.Bytes: + return "bytes"; + case k5.Boolean: + return "bool"; + case k5.Character: + return "char"; + case k5.Numeric: + return "decimal"; + case k5.Json: + return "json"; + case k5.Uuid: + return "uuid"; + case k5.DateTime: + return "datetime"; + case k5.Date: + return "date"; + case k5.Time: + return "time"; + case k5.Int32Array: + return "int-array"; + case k5.Int64Array: + return "bigint-array"; + case k5.FloatArray: + return "float-array"; + case k5.DoubleArray: + return "double-array"; + case k5.TextArray: + return "string-array"; + case k5.EnumArray: + return "string-array"; + case k5.BytesArray: + return "bytes-array"; + case k5.BooleanArray: + return "bool-array"; + case k5.CharacterArray: + return "char-array"; + case k5.NumericArray: + return "decimal-array"; + case k5.JsonArray: + return "json-array"; + case k5.UuidArray: + return "uuid-array"; + case k5.DateTimeArray: + return "datetime-array"; + case k5.DateArray: + return "date-array"; + case k5.TimeArray: + return "time-array"; + case k5.UnknownNumber: + return "unknown"; + case k5.Set: + return "string"; + default: + V(e5, `Unexpected column type: ${e5}`); + } + } + __name($d, "$d"); + function Mi(e5, t, r5) { + if (!t.every((n3) => on(e5, n3))) { + let n3 = Ld(e5, r5), i5 = Vd(r5); + throw new X(n3, i5, r5.context); + } + } + __name(Mi, "Mi"); + function on(e5, t) { + switch (t.type) { + case "rowCountEq": + return Array.isArray(e5) ? e5.length === t.args : e5 === null ? t.args === 0 : t.args === 1; + case "rowCountNeq": + return Array.isArray(e5) ? e5.length !== t.args : e5 === null ? t.args !== 0 : t.args !== 1; + case "affectedRowCountEq": + return e5 === t.args; + case "never": + return false; + default: + V(t, `Unknown rule type: ${t.type}`); + } + } + __name(on, "on"); + function Ld(e5, t) { + switch (t.errorIdentifier) { + case "RELATION_VIOLATION": + return `The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`; + case "MISSING_RECORD": + return `An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`; + case "MISSING_RELATED_RECORD": { + let r5 = t.context.neededFor ? ` (needed to ${t.context.neededFor})` : ""; + return `An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r5} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`; + } + case "INCOMPLETE_CONNECT_INPUT": + return `An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e5) ? e5.length : e5}.`; + case "INCOMPLETE_CONNECT_OUTPUT": + return `The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e5) ? e5.length : e5}.`; + case "RECORDS_NOT_CONNECTED": + return `The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`; + default: + V(t, `Unknown error identifier: ${t}`); + } + } + __name(Ld, "Ld"); + function Vd(e5) { + switch (e5.errorIdentifier) { + case "RELATION_VIOLATION": + return "P2014"; + case "RECORDS_NOT_CONNECTED": + return "P2017"; + case "INCOMPLETE_CONNECT_OUTPUT": + return "P2018"; + case "MISSING_RECORD": + case "MISSING_RELATED_RECORD": + case "INCOMPLETE_CONNECT_INPUT": + return "P2025"; + default: + V(e5, `Unknown error identifier: ${e5}`); + } + } + __name(Vd, "Vd"); + var qd = K2("prisma:client:queryInterpreter"); + var dr = class e5 { + static { + __name(this, "e"); + } + #e; + #t = new nn(); + #r; + #i; + #o; + #s; + #a; + constructor({ onQuery: t, tracingHelper: r5, serializer: n3, rawSerializer: i5, provider: o3, connectionInfo: s2 }) { + this.#e = t, this.#r = r5, this.#i = n3, this.#o = i5 ?? n3, this.#s = o3, this.#a = s2; + } + static forSql(t) { + return new e5({ onQuery: t.onQuery, tracingHelper: t.tracingHelper, serializer: $a, rawSerializer: La, provider: t.provider, connectionInfo: t.connectionInfo }); + } + async run(t, r5) { + let n3 = this.#t.snapshot(), i5 = { ...r5, generators: n3 }, o3 = jd(t, (a5) => this.interpretNode(a5, i5))?.catch((a5) => Be(a5)); + if (o3) try { + return this.#n(await o3, i5.scope, n3).value; + } catch (a5) { + Be(a5); + } + let { value: s2 } = await this.interpretNode(t, i5).catch((a5) => Be(a5)); + return s2; + } + async interpretNode(t, r5) { + switch (t.type) { + case "value": + return { value: de(t.args, r5.scope, r5.generators), lastInsertId: t.lastInsertId }; + case "seq": { + let n3; + for (let i5 of t.args) n3 = await this.interpretNode(i5, r5); + return n3 ?? { value: void 0 }; + } + case "let": { + let n3 = Object.create(r5.scope); + for (let i5 of t.args.bindings) { + let { value: o3 } = await this.interpretNode(i5.expr, { ...r5, scope: n3 }); + n3[i5.name] = o3; + } + return this.interpretNode(t.args.expr, { ...r5, scope: n3 }); + } + case "concat": { + let n3 = await Promise.all(t.args.map((i5) => this.interpretNode(i5, r5).then((o3) => o3.value))); + return { value: n3.length > 0 ? n3.reduce((i5, o3) => i5.concat(Ct(o3)), []) : [] }; + } + case "sum": { + let n3 = await Promise.all(t.args.map((i5) => this.interpretNode(i5, r5).then((o3) => o3.value))); + return { value: n3.length > 0 ? n3.reduce((i5, o3) => xe(i5) + xe(o3)) : 0 }; + } + case "execute": { + let n3 = Di(t.args, r5.scope, r5.generators, this.#p()); + return this.#u(n3.length, r5, async (i5) => { + let o3 = 0; + for (let s2 of n3) { + let a5 = ja(s2, i5.sqlCommenter); + o3 += await this.#d(a5, i5.queryable, () => i5.queryable.executeRaw(sn(a5)).catch((u) => t.args.type === "rawSql" ? ri(u) : Be(u))); + } + return { value: o3 }; + }); + } + case "query": { + let n3 = Di(t.args, r5.scope, r5.generators, this.#p()); + return this.#u(n3.length, r5, async (i5) => { + let o3; + for (let s2 of n3) { + let a5 = ja(s2, i5.sqlCommenter), u = await this.#d(a5, i5.queryable, () => i5.queryable.queryRaw(sn(a5)).catch((m3) => t.args.type === "rawSql" ? ri(m3) : Be(m3))); + o3 === void 0 ? o3 = u : (Gr(o3.rows, u.rows), o3.lastInsertId = u.lastInsertId); + } + return { value: t.args.type === "rawSql" ? this.#o(o3) : this.#i(o3), lastInsertId: o3?.lastInsertId }; + }); + } + case "reverse": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5); + return { value: Array.isArray(n3) ? n3.reverse() : n3, lastInsertId: i5 }; + } + case "unique": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5); + if (!Array.isArray(n3)) return { value: n3, lastInsertId: i5 }; + if (n3.length > 1) throw new Error(`Expected zero or one element, got ${n3.length}`); + return { value: n3[0] ?? null, lastInsertId: i5 }; + } + case "required": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args, r5); + if (Fi(n3)) throw new Error("Required value is empty"); + return { value: n3, lastInsertId: i5 }; + } + case "mapField": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.records, r5); + return { value: _i(n3, t.args.field), lastInsertId: i5 }; + } + case "join": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.parent, r5); + if (n3 === null) return { value: null, lastInsertId: i5 }; + let o3 = await Promise.all(t.args.children.map(async (s2) => ({ joinExpr: s2, childRecords: (await this.interpretNode(s2.child, r5)).value }))); + return { value: Va(n3, o3, t.args.canAssumeStrictEquality), lastInsertId: i5 }; + } + case "transaction": + return this.#l(r5, (n3) => this.interpretNode(t.args, n3)); + case "dataMap": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5); + return { value: ii(n3, t.args.structure, t.args.enums), lastInsertId: i5 }; + } + case "validate": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5); + return Mi(n3, t.args.rules, t.args), { value: n3, lastInsertId: i5 }; + } + case "if": { + let { value: n3 } = await this.interpretNode(t.args.value, r5); + return on(n3, t.args.rule) ? await this.interpretNode(t.args.then, r5) : await this.interpretNode(t.args.else, r5); + } + case "diff": { + let { value: n3 } = await this.interpretNode(t.args.from, r5), { value: i5 } = await this.interpretNode(t.args.to, r5), o3 = /* @__PURE__ */ __name((a5) => a5 !== null ? tt(rt(a5), t.args.fields) : null, "o"), s2 = new Set(Ct(i5).map(o3)); + return { value: Ct(n3).filter((a5) => !s2.has(o3(a5))) }; + } + case "process": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5), o3 = sn(t.args.operations); + return $i(o3, r5.scope, r5.generators), { value: lr(n3, o3), lastInsertId: i5 }; + } + case "initializeRecord": { + let { lastInsertId: n3 } = await this.interpretNode(t.args.expr, r5), i5 = {}; + for (let [o3, s2] of Object.entries(t.args.fields)) i5[o3] = qa(s2, n3, r5.scope, r5.generators); + return { value: i5, lastInsertId: n3 }; + } + case "mapRecord": { + let { value: n3, lastInsertId: i5 } = await this.interpretNode(t.args.expr, r5), o3 = n3 === null ? {} : rt(n3); + for (let [s2, a5] of Object.entries(t.args.fields)) o3[s2] = Ua(a5, o3[s2], r5.scope, r5.generators); + return { value: o3, lastInsertId: i5 }; + } + default: + return this.#n(t, r5.scope, r5.generators); + } + } + #n(t, r5, n3) { + switch (t.type) { + case "value": + return { value: de(t.args, r5, n3), lastInsertId: t.lastInsertId }; + case "seq": { + let i5; + for (let o3 of t.args) i5 = this.#n(o3, r5, n3); + return i5 ?? { value: void 0 }; + } + case "get": + return { value: r5[t.args.name] }; + case "let": { + let i5 = Object.create(r5); + for (let o3 of t.args.bindings) { + let { value: s2 } = this.#n(o3.expr, i5, n3); + i5[o3.name] = s2; + } + return this.#n(t.args.expr, i5, n3); + } + case "getFirstNonEmpty": { + for (let i5 of t.args.names) { + let o3 = r5[i5]; + if (!Fi(o3)) return { value: o3 }; + } + return { value: [] }; + } + case "concat": { + let i5 = t.args.map((o3) => this.#n(o3, r5, n3).value); + return { value: i5.length > 0 ? i5.reduce((o3, s2) => o3.concat(Ct(s2)), []) : [] }; + } + case "sum": { + let i5 = t.args.map((o3) => this.#n(o3, r5, n3).value); + return { value: i5.length > 0 ? i5.reduce((o3, s2) => xe(o3) + xe(s2)) : 0 }; + } + case "reverse": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3); + return { value: Array.isArray(i5) ? i5.reverse() : i5, lastInsertId: o3 }; + } + case "unique": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3); + if (!Array.isArray(i5)) return { value: i5, lastInsertId: o3 }; + if (i5.length > 1) throw new Error(`Expected zero or one element, got ${i5.length}`); + return { value: i5[0] ?? null, lastInsertId: o3 }; + } + case "required": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args, r5, n3); + if (Fi(i5)) throw new Error("Required value is empty"); + return { value: i5, lastInsertId: o3 }; + } + case "mapField": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.records, r5, n3); + return { value: _i(i5, t.args.field), lastInsertId: o3 }; + } + case "join": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.parent, r5, n3); + if (i5 === null) return { value: null, lastInsertId: o3 }; + let s2 = t.args.children.map((a5) => ({ joinExpr: a5, childRecords: this.#n(a5.child, r5, n3).value })); + return { value: Va(i5, s2, t.args.canAssumeStrictEquality), lastInsertId: o3 }; + } + case "dataMap": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3); + return { value: ii(i5, t.args.structure, t.args.enums), lastInsertId: o3 }; + } + case "validate": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3); + return Mi(i5, t.args.rules, t.args), { value: i5, lastInsertId: o3 }; + } + case "if": { + let { value: i5 } = this.#n(t.args.value, r5, n3); + return on(i5, t.args.rule) ? this.#n(t.args.then, r5, n3) : this.#n(t.args.else, r5, n3); + } + case "unit": + return { value: void 0 }; + case "diff": { + let { value: i5 } = this.#n(t.args.from, r5, n3), { value: o3 } = this.#n(t.args.to, r5, n3), s2 = /* @__PURE__ */ __name((u) => u !== null ? tt(rt(u), t.args.fields) : null, "s"), a5 = new Set(Ct(o3).map(s2)); + return { value: Ct(i5).filter((u) => !a5.has(s2(u))) }; + } + case "process": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3), s2 = sn(t.args.operations); + return $i(s2, r5, n3), { value: lr(i5, s2), lastInsertId: o3 }; + } + case "initializeRecord": { + let { lastInsertId: i5 } = this.#n(t.args.expr, r5, n3), o3 = {}; + for (let [s2, a5] of Object.entries(t.args.fields)) o3[s2] = qa(a5, i5, r5, n3); + return { value: o3, lastInsertId: i5 }; + } + case "mapRecord": { + let { value: i5, lastInsertId: o3 } = this.#n(t.args.expr, r5, n3), s2 = i5 === null ? {} : rt(i5); + for (let [a5, u] of Object.entries(t.args.fields)) s2[a5] = Ua(u, s2[a5], r5, n3); + return { value: s2, lastInsertId: o3 }; + } + default: + V(t, `Unexpected node type: ${t.type}`); + } + } + #u(t, r5, n3) { + return t <= 1 ? n3(r5) : this.#l(r5, n3); + } + async #l(t, r5) { + if (!t.transactionManager.enabled) return r5(t); + let n3 = t.transactionManager.manager, i5 = await n3.startInternalTransaction(), o3 = await n3.getTransaction(i5, "query"); + try { + let s2 = await r5({ ...t, queryable: o3, transactionManager: { enabled: false } }); + return await n3.commitTransaction(i5.id), s2; + } catch (s2) { + try { + await n3.rollbackTransaction(i5.id); + } catch (a5) { + qd("failed to roll back an internal transaction", a5); + } + throw s2; + } + } + #p() { + return this.#a?.maxBindValues !== void 0 ? this.#a.maxBindValues : this.#c(); + } + #c() { + if (this.#s !== void 0) switch (this.#s) { + case "cockroachdb": + case "postgres": + case "postgresql": + case "prisma+postgres": + return 32766; + case "mysql": + return 65535; + case "sqlite": + return 999; + case "sqlserver": + return 2098; + case "mongodb": + return; + default: + V(this.#s, `Unexpected provider: ${this.#s}`); + } + } + #d(t, r5, n3) { + return Wr({ query: t, execute: n3, provider: this.#s ?? r5.provider, tracingHelper: this.#r, onQuery: this.#e }); + } + }; + function Fi(e5) { + return Array.isArray(e5) ? e5.length === 0 : e5 == null; + } + __name(Fi, "Fi"); + function Ct(e5) { + return Array.isArray(e5) ? e5 : [e5]; + } + __name(Ct, "Ct"); + function xe(e5) { + if (typeof e5 == "number") return e5; + if (typeof e5 == "string") return Number(e5); + throw new Error(`Expected number, got ${typeof e5}`); + } + __name(xe, "xe"); + function rt(e5) { + if (typeof e5 == "object" && e5 !== null) return e5; + throw new Error(`Expected object, got ${typeof e5}`); + } + __name(rt, "rt"); + function _i(e5, t) { + return Array.isArray(e5) ? e5.map((r5) => _i(r5, t)) : typeof e5 == "object" && e5 !== null ? e5[t] ?? null : e5; + } + __name(_i, "_i"); + function Va(e5, t, r5) { + for (let { joinExpr: n3, childRecords: i5 } of t) { + let o3 = n3.on.map(([P]) => P), s2 = n3.on.map(([, P]) => P), a5 = {}, u = Array.isArray(e5) ? e5 : [e5]; + for (let P of u) { + let T2 = rt(P), S = tt(T2, o3); + a5[S] || (a5[S] = []), a5[S].push(T2), n3.isRelationUnique ? T2[n3.parentField] = null : T2[n3.parentField] = []; + } + let m3 = r5 ? void 0 : Ud(u, o3); + for (let P of Array.isArray(i5) ? i5 : [i5]) { + if (P === null) continue; + let T2 = tt(rt(P), s2, m3); + for (let S of a5[T2] ?? []) n3.isRelationUnique ? S[n3.parentField] = P : S[n3.parentField].push(P); + } + } + return e5; + } + __name(Va, "Va"); + function Ud(e5, t) { + function r5(o3) { + switch (o3) { + case "number": + return Number; + case "string": + return String; + case "boolean": + return Boolean; + case "bigint": + return BigInt; + default: + return; + } + } + __name(r5, "r"); + let n3 = Array.from({ length: t.length }), i5 = 0; + for (let o3 of e5) { + let s2 = rt(o3); + for (let [a5, u] of t.entries()) if (s2[u] !== null && n3[a5] === void 0) { + let m3 = r5(typeof s2[u]); + m3 !== void 0 && (n3[a5] = m3), i5++; + } + if (i5 === t.length) break; + } + return n3; + } + __name(Ud, "Ud"); + function qa(e5, t, r5, n3) { + switch (e5.type) { + case "value": + return de(e5.value, r5, n3); + case "lastInsertId": + return t; + default: + V(e5, `Unexpected field initializer type: ${e5.type}`); + } + } + __name(qa, "qa"); + function Ua(e5, t, r5, n3) { + switch (e5.type) { + case "set": + return de(e5.value, r5, n3); + case "add": + return xe(t) + xe(de(e5.value, r5, n3)); + case "subtract": + return xe(t) - xe(de(e5.value, r5, n3)); + case "multiply": + return xe(t) * xe(de(e5.value, r5, n3)); + case "divide": { + let i5 = xe(t), o3 = xe(de(e5.value, r5, n3)); + return o3 === 0 ? null : i5 / o3; + } + default: + V(e5, `Unexpected field operation type: ${e5.type}`); + } + } + __name(Ua, "Ua"); + function jd(e5, t) { + let r5 = pr(e5); + if (r5) return t(r5).then((n3) => { + let i5 = { type: "value", args: n3.value, lastInsertId: n3.lastInsertId }, o3 = cr(e5, r5, i5); + if (!o3) throw new Error("Could not substitute the evaluated impure node into the query plan"); + return o3; + }); + } + __name(jd, "jd"); + function cr(e5, t, r5) { + if (e5 === t) return r5; + switch (e5.type) { + case "seq": + case "sum": + case "concat": { + for (let n3 = 0; n3 < e5.args.length; n3++) { + let i5 = cr(e5.args[n3], t, r5); + if (i5) return { ...e5, args: e5.args.map((o3, s2) => s2 === n3 ? i5 : o3) }; + } + return; + } + case "dataMap": + case "validate": + case "initializeRecord": + case "mapRecord": + case "process": { + let n3 = cr(e5.args.expr, t, r5); + return n3 && { ...e5, args: { ...e5.args, expr: n3 } }; + } + case "mapField": { + let n3 = cr(e5.args.records, t, r5); + return n3 && { ...e5, args: { ...e5.args, records: n3 } }; + } + case "reverse": + case "unique": + case "required": { + let n3 = cr(e5.args, t, r5); + return n3 && { ...e5, args: n3 }; + } + default: + return; + } + } + __name(cr, "cr"); + function pr(e5) { + switch (e5.type) { + case "query": + case "execute": + return e5; + case "seq": + case "sum": + case "concat": { + let t; + for (let r5 of e5.args) { + let n3 = pr(r5); + if (n3 === null) return null; + if (n3) { + if (t) return null; + t = n3; + } + } + return t; + } + case "dataMap": + case "validate": + case "initializeRecord": + case "mapRecord": + case "process": + return pr(e5.args.expr); + case "mapField": + return pr(e5.args.records); + case "reverse": + case "unique": + case "required": + return pr(e5.args); + case "let": + case "join": + case "diff": + case "if": + case "transaction": + return null; + case "value": + case "get": + case "getFirstNonEmpty": + case "unit": + return; + default: + V(e5, `Unexpected node type: ${e5.type}`); + } + } + __name(pr, "pr"); + function ja(e5, t) { + if (!t || t.plugins.length === 0) return e5; + let r5 = Ys(t.plugins, { query: t.queryInfo, sql: e5.sql }); + return r5 ? { ...e5, sql: ea(e5.sql, r5) } : e5; + } + __name(ja, "ja"); + function $i(e5, t, r5) { + let n3 = e5.pagination?.cursor; + if (n3) for (let [i5, o3] of Object.entries(n3)) n3[i5] = de(o3, t, r5); + for (let i5 of Object.values(e5.nested)) $i(i5, t, r5); + } + __name($i, "$i"); + function sn(e5) { + return ge(e5); + } + __name(sn, "sn"); + function Ba(e5) { + return new Li(e5).deserialize(); + } + __name(Ba, "Ba"); + function Bd(e5) { + return Buffer.from(e5, "base64url"); + } + __name(Bd, "Bd"); + var Li = class { + static { + __name(this, "Li"); + } + #e; + #t; + #r = 0; + constructor(t) { + this.#e = t; + let r5 = Bd(t.graph); + this.#t = new DataView(r5.buffer, r5.byteOffset, r5.byteLength); + } + deserialize() { + let { inputNodeCount: t, outputNodeCount: r5, rootCount: n3 } = this.#n(), i5 = this.#u(t), o3 = this.#l(r5), s2 = this.#p(n3); + return { strings: this.#e.strings, inputNodes: i5, outputNodes: o3, roots: s2 }; + } + #i() { + let t = 0, r5 = 0, n3; + do + n3 = this.#t.getUint8(this.#r++), t |= (n3 & 127) << r5, r5 += 7; + while (n3 >= 128); + return t; + } + #o() { + let t = this.#i(); + return t === 0 ? void 0 : t - 1; + } + #s() { + let t = this.#t.getUint8(this.#r); + return this.#r += 1, t; + } + #a() { + let t = this.#t.getUint16(this.#r, true); + return this.#r += 2, t; + } + #n() { + let t = this.#i(), r5 = this.#i(), n3 = this.#i(); + return { inputNodeCount: t, outputNodeCount: r5, rootCount: n3 }; + } + #u(t) { + let r5 = []; + for (let n3 = 0; n3 < t; n3++) { + let i5 = this.#i(), o3 = {}; + for (let s2 = 0; s2 < i5; s2++) { + let a5 = this.#i(), u = this.#a(), m3 = this.#o(), P = this.#o(), S = { flags: this.#s() }; + u !== 0 && (S.scalarMask = u), m3 !== void 0 && (S.childNodeId = m3), P !== void 0 && (S.enumNameIndex = P), o3[a5] = S; + } + r5.push({ edges: o3 }); + } + return r5; + } + #l(t) { + let r5 = []; + for (let n3 = 0; n3 < t; n3++) { + let i5 = this.#i(), o3 = {}; + for (let s2 = 0; s2 < i5; s2++) { + let a5 = this.#i(), u = this.#o(), m3 = this.#o(), P = {}; + u !== void 0 && (P.argsNodeId = u), m3 !== void 0 && (P.outputNodeId = m3), o3[a5] = P; + } + r5.push({ edges: o3 }); + } + return r5; + } + #p(t) { + let r5 = {}; + for (let n3 = 0; n3 < t; n3++) { + let i5 = this.#i(), o3 = this.#o(), s2 = this.#o(), a5 = this.#e.strings[i5], u = {}; + o3 !== void 0 && (u.argsNodeId = o3), s2 !== void 0 && (u.outputNodeId = s2), r5[a5] = u; + } + return r5; + } + }; + var mr = class e5 { + static { + __name(this, "e"); + } + #e; + #t; + #r; + constructor(t, r5) { + this.#e = t, this.#r = r5, this.#t = /* @__PURE__ */ new Map(); + for (let n3 = 0; n3 < t.strings.length; n3++) this.#t.set(t.strings[n3], n3); + } + static deserialize(t, r5) { + let n3 = Ba(t); + return new e5(n3, r5); + } + static fromData(t, r5) { + return new e5(t, r5); + } + root(t) { + let r5 = this.#e.roots[t]; + if (r5) return { argsNodeId: r5.argsNodeId, outputNodeId: r5.outputNodeId }; + } + inputNode(t) { + if (!(t === void 0 || t < 0 || t >= this.#e.inputNodes.length)) return { id: t }; + } + outputNode(t) { + if (!(t === void 0 || t < 0 || t >= this.#e.outputNodes.length)) return { id: t }; + } + inputEdge(t, r5) { + if (!t) return; + let n3 = this.#e.inputNodes[t.id]; + if (!n3) return; + let i5 = this.#t.get(r5); + if (i5 === void 0) return; + let o3 = n3.edges[i5]; + if (o3) return { flags: o3.flags, childNodeId: o3.childNodeId, scalarMask: o3.scalarMask ?? 0, enumNameIndex: o3.enumNameIndex }; + } + outputEdge(t, r5) { + if (!t) return; + let n3 = this.#e.outputNodes[t.id]; + if (!n3) return; + let i5 = this.#t.get(r5); + if (i5 === void 0) return; + let o3 = n3.edges[i5]; + if (o3) return { argsNodeId: o3.argsNodeId, outputNodeId: o3.outputNodeId }; + } + enumValues(t) { + if (t?.enumNameIndex === void 0) return; + let r5 = this.#e.strings[t.enumNameIndex]; + if (r5) return this.#r(r5); + } + getString(t) { + return this.#e.strings[t]; + } + }; + var Ne = { ParamScalar: 1, ParamEnum: 2, ParamListScalar: 4, ParamListEnum: 8, ListObject: 16, Object: 32 }; + var re = { String: 1, Int: 2, BigInt: 4, Float: 8, Decimal: 16, Boolean: 32, DateTime: 64, Json: 128, Bytes: 256 }; + function De(e5, t) { + return (e5.flags & t) !== 0; + } + __name(De, "De"); + function Ge(e5) { + return e5.scalarMask; + } + __name(Ge, "Ge"); + var Qd = /* @__PURE__ */ new Set(["DateTime", "Decimal", "BigInt", "Bytes", "Json", "Raw"]); + function an(e5) { + if (e5 == null) return { kind: "null" }; + if (typeof e5 == "string") return { kind: "primitive", value: e5 }; + if (typeof e5 == "number") return { kind: "primitive", value: e5 }; + if (typeof e5 == "boolean") return { kind: "primitive", value: e5 }; + if (Array.isArray(e5)) return { kind: "array", items: e5 }; + if (typeof e5 == "object") { + let t = e5; + if ("$type" in t && typeof t.$type == "string") { + let r5 = t.$type; + return Qd.has(r5) ? { kind: "taggedScalar", tag: r5, value: t.value } : { kind: "structural", value: t.value }; + } + return { kind: "object", entries: t }; + } + return { kind: "structural", value: e5 }; + } + __name(an, "an"); + function Qa(e5) { + return typeof e5 == "object" && e5 !== null && !Array.isArray(e5) && !("$type" in e5); + } + __name(Qa, "Qa"); + function Ja(e5) { + return typeof e5 == "object" && e5 !== null && "$type" in e5 && typeof e5.$type == "string"; + } + __name(Ja, "Ja"); + function Vi(e5, t) { + let r5 = new ln(t), n3 = e5.modelName ? `${e5.modelName}.${e5.action}` : e5.action, i5 = t.root(n3); + return { parameterizedQuery: { ...e5, query: r5.parameterizeFieldSelection(e5.query, i5?.argsNodeId, i5?.outputNodeId) }, placeholderValues: r5.getPlaceholderValues() }; + } + __name(Vi, "Vi"); + function qi(e5, t) { + let r5 = new ln(t), n3 = []; + for (let i5 = 0; i5 < e5.batch.length; i5++) { + let o3 = e5.batch[i5], s2 = o3.modelName ? `${o3.modelName}.${o3.action}` : o3.action, a5 = t.root(s2); + n3.push({ ...o3, query: r5.parameterizeFieldSelection(o3.query, a5?.argsNodeId, a5?.outputNodeId) }); + } + return { parameterizedBatch: { ...e5, batch: n3 }, placeholderValues: r5.getPlaceholderValues() }; + } + __name(qi, "qi"); + var ln = class { + static { + __name(this, "ln"); + } + #e; + #t = /* @__PURE__ */ new Map(); + #r = /* @__PURE__ */ new Map(); + #i = 1; + constructor(t) { + this.#e = t; + } + getPlaceholderValues() { + return Object.fromEntries(this.#t); + } + #o(t, r5) { + let n3 = Gd(t, r5), i5 = this.#r.get(n3); + if (i5 !== void 0) return Ga(i5, r5); + let o3 = `%${this.#i++}`; + return this.#r.set(n3, o3), this.#t.set(o3, t), Ga(o3, r5); + } + parameterizeFieldSelection(t, r5, n3) { + let i5 = this.#e.inputNode(r5), o3 = this.#e.outputNode(n3), s2 = { ...t }; + return t.arguments && t.arguments.$type !== "Raw" && (s2.arguments = this.#s(t.arguments, i5)), t.selection && (s2.selection = this.#c(t.selection, o3)), s2; + } + #s(t, r5) { + if (!r5) return t; + let n3 = {}; + for (let [i5, o3] of Object.entries(t)) { + let s2 = this.#e.inputEdge(r5, i5); + s2 ? n3[i5] = this.#a(o3, s2) : n3[i5] = o3; + } + return n3; + } + #a(t, r5) { + let n3 = an(t); + switch (n3.kind) { + case "null": + return t; + case "structural": + return t; + case "primitive": + return this.#n(n3.value, r5); + case "taggedScalar": + return this.#u(t, n3.tag, r5); + case "array": + return this.#l(n3.items, t, r5); + case "object": + return this.#p(n3.entries, r5); + default: + throw new Error(`Unknown value kind ${n3.kind}`); + } + } + #n(t, r5) { + if (De(r5, Ne.ParamEnum) && r5.enumNameIndex !== void 0 && typeof t == "string") { + let o3 = this.#e.enumValues(r5); + if (o3 && Object.hasOwn(o3, t)) { + let s2 = { type: "Enum" }; + return this.#o(o3[t], s2); + } + } + if (!De(r5, Ne.ParamScalar)) return t; + let n3 = Ge(r5); + if (n3 === 0) return t; + let i5 = Ui(t); + return Ha(i5, n3) ? (n3 & re.Json && (t = JSON.stringify(t)), this.#o(t, i5)) : t; + } + #u(t, r5, n3) { + if (!De(n3, Ne.ParamScalar)) return t; + let i5 = Ge(n3); + if (i5 === 0 || !Ka(r5, i5)) return t; + let o3 = Wa(t.$type), s2 = Za(t); + return this.#o(s2, o3); + } + #l(t, r5, n3) { + if (De(n3, Ne.ParamScalar) && Ge(n3) & re.Json) { + let i5 = Se(Ae(t)), o3 = { type: "Json" }; + return this.#o(i5, o3); + } + if (De(n3, Ne.ParamEnum)) { + let i5 = this.#e.enumValues(n3); + if (i5 && t.every((o3) => typeof o3 == "string" && Object.hasOwn(i5, o3))) { + let o3 = { type: "List", inner: { type: "Enum" } }; + return this.#o(t, o3); + } + } + if (De(n3, Ne.ParamListScalar) && t.every((o3) => Zd(o3, n3)) && t.length > 0) { + let o3 = t.map((u) => Xd(u)), a5 = { type: "List", inner: Wd(t) }; + return this.#o(o3, a5); + } + if (De(n3, Ne.ListObject)) { + let i5 = this.#e.inputNode(n3.childNodeId); + if (i5) return t.map((o3) => Qa(o3) ? this.#s(o3, i5) : o3); + } + return r5; + } + #p(t, r5) { + if (De(r5, Ne.Object)) { + let i5 = this.#e.inputNode(r5.childNodeId); + if (i5) return this.#s(t, i5); + } + if (Ge(r5) & re.Json) { + let i5 = Se(Ae(t)), o3 = { type: "Json" }; + return this.#o(i5, o3); + } + return t; + } + #c(t, r5) { + if (!t || !r5) return t; + let n3 = {}; + for (let [i5, o3] of Object.entries(t)) { + if (i5 === "$scalars" || i5 === "$composites" || typeof o3 == "boolean") { + n3[i5] = o3; + continue; + } + let s2 = this.#e.outputEdge(r5, i5); + if (s2) { + let a5 = o3, u = this.#e.inputNode(s2.argsNodeId), m3 = this.#e.outputNode(s2.outputNodeId), P = { selection: a5.selection ? this.#c(a5.selection, m3) : {} }; + a5.arguments && (P.arguments = this.#s(a5.arguments, u)), n3[i5] = P; + } else n3[i5] = o3; + } + return n3; + } + }; + function Ga(e5, t) { + return { $type: "Param", value: { name: e5, ...t } }; + } + __name(Ga, "Ga"); + function za(e5) { + return e5.type === "List" ? `List<${za(e5.inner)}>` : e5.type; + } + __name(za, "za"); + function Jd(e5) { + return ArrayBuffer.isView(e5) ? Buffer.from(e5.buffer, e5.byteOffset, e5.byteLength).toString("base64") : JSON.stringify(e5); + } + __name(Jd, "Jd"); + function Gd(e5, t) { + let r5 = za(t), n3 = Jd(e5); + return `${r5}:${n3}`; + } + __name(Gd, "Gd"); + var zd = 2 ** 31 - 1; + var Hd = -(2 ** 31); + function Ui(e5) { + switch (typeof e5) { + case "boolean": + return { type: "Boolean" }; + case "number": + return Number.isInteger(e5) ? Hd <= e5 && e5 <= zd ? { type: "Int" } : { type: "BigInt" } : { type: "Float" }; + case "string": + return { type: "String" }; + default: + throw new Error("unreachable"); + } + } + __name(Ui, "Ui"); + function Ha({ type: e5 }, t) { + switch (e5) { + case "Boolean": + return (t & re.Boolean) !== 0; + case "Int": + return (t & (re.Int | re.BigInt | re.Float)) !== 0; + case "BigInt": + return (t & re.BigInt) !== 0; + case "Float": + return (t & re.Float) !== 0; + case "String": + return (t & re.String) !== 0; + default: + return false; + } + } + __name(Ha, "Ha"); + function Wa(e5) { + switch (e5) { + case "BigInt": + case "Bytes": + case "DateTime": + case "Json": + return { type: e5 }; + case "Decimal": + return { type: "Float" }; + default: + return; + } + } + __name(Wa, "Wa"); + function Wd(e5) { + let t = { type: "Any" }; + for (let r5 of e5) { + let n3 = an(r5), i5; + switch (n3.kind) { + case "primitive": + i5 = Ui(n3.value); + break; + case "taggedScalar": + i5 = Wa(n3.tag) ?? { type: "Any" }; + break; + default: + return { type: "Any" }; + } + t = Kd(t, i5); + } + return t; + } + __name(Wd, "Wd"); + function Kd(e5, t) { + if (e5.type === "Any") return t; + if (t.type === "Any" || e5.type === t.type) return e5; + let r5 = { Int: 0, BigInt: 1, Float: 2 }, n3 = r5[e5.type], i5 = r5[t.type]; + return n3 !== void 0 && i5 !== void 0 ? n3 >= i5 ? e5 : t : { type: "Any" }; + } + __name(Kd, "Kd"); + function Ka(e5, t) { + switch (e5) { + case "DateTime": + return (t & re.DateTime) !== 0; + case "Decimal": + return (t & re.Decimal) !== 0; + case "BigInt": + return (t & re.BigInt) !== 0; + case "Bytes": + return (t & re.Bytes) !== 0; + case "Json": + return (t & re.Json) !== 0; + default: + return false; + } + } + __name(Ka, "Ka"); + function Zd(e5, t) { + let r5 = an(e5); + switch (r5.kind) { + case "structural": + return false; + case "null": + return false; + case "primitive": { + let n3 = Ui(r5.value), i5 = Ge(t); + return i5 !== 0 && Ha(n3, i5); + } + case "taggedScalar": { + let n3 = Ge(t); + return n3 !== 0 && Ka(r5.tag, n3); + } + default: + return false; + } + } + __name(Zd, "Zd"); + function Xd(e5) { + return Ja(e5) ? Za(e5) : e5; + } + __name(Xd, "Xd"); + function Za(e5) { + return e5.value; + } + __name(Za, "Za"); + async function Yd() { + return globalThis.crypto ?? await import("node:crypto"); + } + __name(Yd, "Yd"); + async function Xa() { + return (await Yd()).randomUUID(); + } + __name(Xa, "Xa"); + async function Ya(e5, t) { + return new Promise((r5) => { + e5.addEventListener(t, r5, { once: true }); + }); + } + __name(Ya, "Ya"); + var ue = class extends X { + static { + __name(this, "ue"); + } + name = "TransactionManagerError"; + constructor(t, r5) { + super("Transaction API error: " + t, "P2028", r5); + } + }; + var nt = class extends ue { + static { + __name(this, "nt"); + } + constructor() { + super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting."); + } + }; + var un = class extends ue { + static { + __name(this, "un"); + } + constructor(t) { + super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`); + } + }; + var cn = class extends ue { + static { + __name(this, "cn"); + } + constructor(t) { + super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`); + } + }; + var fr = class extends ue { + static { + __name(this, "fr"); + } + constructor() { + super("Unable to start a transaction in the given time."); + } + }; + var pn = class extends ue { + static { + __name(this, "pn"); + } + constructor(t, { timeout: r5, timeTaken: n3 }) { + super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r5} ms, however ${n3} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`, { operation: t, timeout: r5, timeTaken: n3 }); + } + }; + var Me = class extends ue { + static { + __name(this, "Me"); + } + constructor(t) { + super(`Internal Consistency Error: ${t}`); + } + }; + var dn = class extends ue { + static { + __name(this, "dn"); + } + constructor(t) { + super(`Invalid isolation level: ${t}`, { isolationLevel: t }); + } + }; + var em = 100; + var tm = 2e3; + function rm() { + let e5, t = new Promise((r5) => { + e5 = r5; + }); + return { abortController: new AbortController(), settled: t, markSettled: e5 }; + } + __name(rm, "rm"); + var it = K2("prisma:client:transactionManager"); + var nm = /* @__PURE__ */ __name(() => ({ sql: "COMMIT", args: [], argTypes: [] }), "nm"); + var el = /* @__PURE__ */ __name(() => ({ sql: "ROLLBACK", args: [], argTypes: [] }), "el"); + var im = /* @__PURE__ */ __name(() => ({ sql: '-- Implicit "COMMIT" query via underlying driver', args: [], argTypes: [] }), "im"); + var om = /* @__PURE__ */ __name(() => ({ sql: '-- Implicit "ROLLBACK" query via underlying driver', args: [], argTypes: [] }), "om"); + var gr = class { + static { + __name(this, "gr"); + } + transactions = /* @__PURE__ */ new Map(); + closedTransactions = []; + #e = /* @__PURE__ */ new Set(); + driverAdapter; + transactionOptions; + tracingHelper; + #t; + #r; + constructor({ driverAdapter: t, transactionOptions: r5, tracingHelper: n3, onQuery: i5, provider: o3 }) { + this.driverAdapter = t, this.transactionOptions = r5, this.tracingHelper = n3, this.#t = i5, this.#r = o3; + } + async startInternalTransaction(t) { + let r5 = t !== void 0 ? this.#y(t) : {}; + return await this.tracingHelper.runInChildSpan("start_transaction", () => this.#i(r5)); + } + async startTransaction(t) { + let r5 = t !== void 0 ? this.#y(t) : this.transactionOptions; + return await this.tracingHelper.runInChildSpan("start_transaction", () => this.#i(r5)); + } + async #i(t) { + if (t.newTxId) return await this.#d(t.newTxId, "start", async (o3) => { + if (o3.status !== "running") throw new Me(`Transaction in invalid state ${o3.status} when starting a nested transaction.`); + if (!o3.transaction) throw new Me("Transaction missing underlying driver transaction when starting a nested transaction."); + o3.depth += 1; + let s2 = this.#a(o3); + o3.savepoints.push(s2); + try { + await this.#n(o3.transaction)(s2); + } catch (a5) { + throw o3.depth -= 1, o3.savepoints.pop(), a5; + } + return { id: o3.id }; + }); + let r5 = rm(), { abortController: n3 } = r5; + this.#e.add(r5); + let i5; + try { + let o3 = { id: await Xa(), status: "waiting", timer: void 0, timeout: t.timeout, startedAt: Date.now(), transaction: void 0, operationQueue: Promise.resolve(), depth: 1, savepoints: [], savepointCounter: 0 }; + if (n3.signal.aborted) throw new fr(); + let s2 = tl(() => n3.abort(), t.maxWait); + s2?.unref?.(); + let a5 = this.driverAdapter.startTransaction(t.isolationLevel).catch(Be); + switch (o3.transaction = await Promise.race([a5.finally(() => clearTimeout(s2)), Ya(n3.signal, "abort").then(() => { + })]), this.transactions.set(o3.id, o3), o3.status) { + case "waiting": + if (n3.signal.aborted) throw o3.transaction = void 0, i5 = this.#o(a5), await this.#f(o3, "timed_out"), new fr(); + return o3.status = "running", o3.startedAt = Date.now(), o3.timer = this.#c(o3.id, t.timeout), { id: o3.id }; + case "timed_out": + case "running": + case "committed": + case "rolled_back": + throw new Me(`Transaction in invalid state ${o3.status} although it just finished startup.`); + default: + return V(o3.status, "Unknown transaction status."); + } + } finally { + this.#e.delete(r5), i5 ? i5.finally(r5.markSettled) : r5.markSettled(); + } + } + async #o(t) { + try { + let r5 = await t; + if (r5.options.usePhantomQuery) await r5.rollback(); + else try { + await r5.executeRaw(el()); + } finally { + await r5.rollback(); + } + } catch (r5) { + it("error in discarded transaction:", r5); + } + } + async commitTransaction(t) { + return await this.tracingHelper.runInChildSpan("commit_transaction", async () => { + await this.#d(t, "commit", async (r5) => { + if (r5.depth > 1) { + if (!r5.transaction) throw new nt(); + let n3 = r5.savepoints.at(-1); + if (!n3) throw new Me(`Missing savepoint for nested commit. Depth: ${r5.depth}, transactionId: ${r5.id}`); + try { + await this.#l(r5.transaction, n3); + } finally { + r5.savepoints.pop(), r5.depth -= 1; + } + return; + } + await this.#f(r5, "committed"); + }); + }); + } + async rollbackTransaction(t) { + return await this.tracingHelper.runInChildSpan("rollback_transaction", async () => { + await this.#d(t, "rollback", async (r5) => { + if (r5.depth > 1) { + if (!r5.transaction) throw new nt(); + let n3 = r5.savepoints.at(-1); + if (!n3) throw new Me(`Missing savepoint for nested rollback. Depth: ${r5.depth}, transactionId: ${r5.id}`); + try { + await this.#u(r5.transaction)(n3), await this.#l(r5.transaction, n3); + } finally { + r5.savepoints.pop(), r5.depth -= 1; + } + return; + } + await this.#f(r5, "rolled_back"); + }); + }); + } + async getTransaction(t, r5) { + let n3 = this.#s(t.id, r5); + if (n3.status === "closing" && (await n3.closing, n3 = this.#s(t.id, r5)), !n3.transaction) throw new nt(); + return n3.transaction; + } + #s(t, r5) { + let n3 = this.transactions.get(t); + if (!n3) { + let i5 = this.closedTransactions.find((o3) => o3.id === t); + if (i5) switch (it("Transaction already closed.", { transactionId: t, status: i5.status }), i5.status) { + case "closing": + case "waiting": + case "running": + throw new Me("Active transaction found in closed transactions list."); + case "committed": + throw new un(r5); + case "rolled_back": + throw new cn(r5); + case "timed_out": + throw new pn(r5, { timeout: i5.timeout, timeTaken: Date.now() - i5.startedAt }); + } + else throw it("Transaction not found.", t), new nt(); + } + if (["committed", "rolled_back", "timed_out"].includes(n3.status)) throw new Me("Closed transaction found in active transactions map."); + return n3; + } + async cancelAllTransactions() { + let t = [...this.#e]; + for (let { abortController: r5 } of t) r5.abort(); + await Promise.allSettled([...[...this.transactions.values()].map((r5) => this.#m(r5, async () => { + let n3 = this.transactions.get(r5.id); + n3 && await this.#f(n3, "rolled_back"); + })), ...t.map(({ settled: r5 }) => sm(r5, tm))]); + } + #a(t) { + return `prisma_sp_${t.savepointCounter++}`; + } + #n(t) { + if (t.createSavepoint) return t.createSavepoint.bind(t); + throw new ue(`Nested transactions are not supported by adapter "${t.adapterName}" (${t.provider}): createSavepoint is not implemented.`); + } + #u(t) { + if (t.rollbackToSavepoint) return t.rollbackToSavepoint.bind(t); + throw new ue(`Nested transactions are not supported by adapter "${t.adapterName}" (${t.provider}): rollbackToSavepoint is not implemented.`); + } + async #l(t, r5) { + t.releaseSavepoint && await t.releaseSavepoint(r5); + } + #p(t) { + it("Transaction already committed or rolled back when timeout happened.", t); + } + #c(t, r5) { + let n3 = Date.now(), i5 = tl(async () => { + try { + it("Transaction timed out.", { transactionId: t, timeoutStartedAt: n3, timeout: r5 }); + let o3 = this.transactions.get(t); + if (!o3) { + this.#p(t); + return; + } + await this.#m(o3, async () => { + let s2 = this.transactions.get(t); + s2 && ["running", "waiting"].includes(s2.status) ? await this.#f(s2, "timed_out") : this.#p(t); + }); + } catch (o3) { + it("Error while closing timed-out transaction.", { transactionId: t, error: o3 }); + } + }, r5); + return i5?.unref?.(), i5; + } + async #d(t, r5, n3) { + let i5 = this.#s(t, r5); + return await this.#m(i5, async () => { + let o3 = this.#s(t, r5); + return await n3(o3); + }); + } + async #m(t, r5) { + let n3 = t.operationQueue, i5; + t.operationQueue = new Promise((o3) => { + i5 = o3; + }), await n3; + try { + return await r5(); + } finally { + i5(); + } + } + async #f(t, r5) { + let n3 = /* @__PURE__ */ __name(async () => { + it("Closing transaction.", { transactionId: t.id, status: r5 }); + try { + if (t.transaction && r5 === "committed") if (t.transaction.options.usePhantomQuery) await this.#g(im(), t.transaction, () => t.transaction.commit()); + else { + let i5 = nm(); + await this.#g(i5, t.transaction, () => t.transaction.executeRaw(i5)).then(() => t.transaction.commit(), (o3) => { + let s2 = /* @__PURE__ */ __name(() => Promise.reject(o3), "s"); + return t.transaction.rollback().then(s2, s2); + }); + } + else if (t.transaction) if (t.transaction.options.usePhantomQuery) await this.#g(om(), t.transaction, () => t.transaction.rollback()); + else { + let i5 = el(); + try { + await this.#g(i5, t.transaction, () => t.transaction.executeRaw(i5)); + } finally { + await t.transaction.rollback(); + } + } + } finally { + t.status = r5, clearTimeout(t.timer), t.timer = void 0, this.transactions.delete(t.id), this.closedTransactions.push(t), this.closedTransactions.length > em && this.closedTransactions.shift(); + } + }, "n"); + t.status === "closing" ? (await t.closing, this.#s(t.id, r5 === "committed" ? "commit" : "rollback")) : await Object.assign(t, { status: "closing", reason: r5, closing: n3() }).closing; + } + #y(t) { + if (!t.timeout) throw new ue("timeout is required"); + if (!t.maxWait) throw new ue("maxWait is required"); + if (t.isolationLevel === "SNAPSHOT") throw new dn(t.isolationLevel); + return { ...t, timeout: t.timeout, maxWait: t.maxWait }; + } + #g(t, r5, n3) { + return Wr({ query: t, execute: n3, provider: this.#r ?? r5.provider, tracingHelper: this.tracingHelper, onQuery: this.#t }); + } + }; + function tl(e5, t) { + return t !== void 0 ? setTimeout(e5, t) : void 0; + } + __name(tl, "tl"); + function sm(e5, t) { + let r5, n3 = new Promise((i5) => { + r5 = setTimeout(i5, t), r5?.unref?.(); + }); + return Promise.race([e5, n3]).finally(() => clearTimeout(r5)); + } + __name(sm, "sm"); + var ne = require_dist(); + var mn = "7.10.1"; + var rl = { bigint: "bigint", date: "datetime", decimal: "decimal", bytes: "bytes" }; + function il(e5) { + let t; + try { + t = JSON.parse(e5); + } catch (i5) { + throw new Error(`Received invalid serialized parameters: ${i5.message}`); + } + if (!Array.isArray(t)) throw new Error("Received invalid serialized parameters: expected an array"); + let r5 = t.map((i5) => ol(i5)), n3 = t.map((i5) => lm(i5)); + return { args: r5, argTypes: n3 }; + } + __name(il, "il"); + function ol(e5) { + if (Array.isArray(e5)) return e5.map((t) => ol(t)); + if (typeof e5 == "object" && e5 !== null && "prisma__value" in e5) { + if (!("prisma__type" in e5)) throw new Error("Invalid serialized parameter, prisma__type should be present when prisma__value is present"); + return `${e5.prisma__value}`; + } + return typeof e5 == "object" && e5 !== null ? JSON.stringify(e5) : e5; + } + __name(ol, "ol"); + function lm(e5) { + return Array.isArray(e5) ? { scalarType: e5.length > 0 ? nl(e5[0]) : "unknown", arity: "list" } : { scalarType: nl(e5), arity: "scalar" }; + } + __name(lm, "lm"); + function nl(e5) { + return typeof e5 == "object" && e5 !== null && "prisma__type" in e5 && typeof e5.prisma__type == "string" && e5.prisma__type in rl ? rl[e5.prisma__type] : typeof e5 == "number" ? "decimal" : typeof e5 == "string" ? "string" : "unknown"; + } + __name(nl, "nl"); + function sl(e5, t) { + return { batch: e5, transaction: t?.kind === "batch" ? { isolationLevel: t.options.isolationLevel } : void 0 }; + } + __name(sl, "sl"); + function al(e5) { + return e5 ? e5.replace(/"(?:[^"\\]|\\.)*"/g, '"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g, (t) => `${t[0]}5`) : ""; + } + __name(al, "al"); + function ll(e5) { + return e5.split(` +`).map((t) => t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/, "").replace(/\+\d+\s*ms$/, "")).join(` +`); + } + __name(ll, "ll"); + var ul = Pe(Ro()); + function cl({ title: e5, user: t = "prisma", repo: r5 = "prisma", template: n3 = "bug_report.yml", body: i5 }) { + return (0, ul.default)({ user: t, repo: r5, template: n3, title: e5, body: i5 }); + } + __name(cl, "cl"); + function pl({ version: e5, binaryTarget: t, title: r5, description: n3, engineVersion: i5, database: o3, query: s2 }) { + let a5 = go(6e3 - (s2?.length ?? 0)), u = ll(ut(a5)), m3 = n3 ? `# Description +\`\`\` +${n3} +\`\`\`` : "", P = ut(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${process.version?.padEnd(19)}| +| OS | ${t?.padEnd(19)}| +| Prisma Client | ${e5?.padEnd(19)}| +| Query Engine | ${i5?.padEnd(19)}| +| Database | ${o3?.padEnd(19)}| + +${m3} + +## Logs +\`\`\` +${u} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s2 ? al(s2) : ""} +\`\`\` +`), T2 = cl({ title: r5, body: P }); + return `${r5} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Mt(T2)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`; + } + __name(pl, "pl"); + var fn = class e5 { + static { + __name(this, "e"); + } + #e; + #t; + #r; + #i; + #o; + constructor(t, r5, n3) { + this.#e = t, this.#t = r5, this.#r = n3, this.#i = r5.getConnectionInfo?.(), this.#o = dr.forSql({ onQuery: this.#e.onQuery, tracingHelper: this.#e.tracingHelper, provider: this.#e.provider, connectionInfo: this.#i }); + } + static async connect(t) { + let r5, n3; + try { + r5 = await t.driverAdapterFactory.connect(), n3 = new gr({ driverAdapter: r5, transactionOptions: t.transactionOptions, tracingHelper: t.tracingHelper, onQuery: t.onQuery, provider: t.provider }); + } catch (i5) { + throw await r5?.dispose(), i5; + } + return new e5(t, r5, n3); + } + getConnectionInfo() { + let t = this.#i ?? { supportsRelationJoins: false }; + return Promise.resolve({ provider: this.#t.provider, connectionInfo: t }); + } + async execute({ plan: t, placeholderValues: r5, transaction: n3, batchIndex: i5, queryInfo: o3 }) { + let s2 = n3 ? await this.#r.getTransaction(n3, i5 !== void 0 ? "batch query" : "query") : this.#t; + return await this.#o.run(t, { queryable: s2, transactionManager: n3 ? { enabled: false } : { enabled: true, manager: this.#r }, scope: r5, sqlCommenter: this.#e.sqlCommenters && { plugins: this.#e.sqlCommenters, queryInfo: o3 } }); + } + async startTransaction(t) { + return { ...await this.#r.startTransaction(t), payload: void 0 }; + } + async commitTransaction(t) { + await this.#r.commitTransaction(t.id); + } + async rollbackTransaction(t) { + await this.#r.rollbackTransaction(t.id); + } + async disconnect() { + try { + await this.#r.cancelAllTransactions(); + } finally { + await this.#t.dispose(); + } + } + apiKey() { + return null; + } + }; + var gn = class { + static { + __name(this, "gn"); + } + #e; + #t; + #r; + constructor(t = 1e3) { + this.#e = /* @__PURE__ */ new Map(), this.#t = /* @__PURE__ */ new Map(), this.#r = t; + } + getSingle(t) { + let r5 = this.#e.get(t); + return r5 && (this.#e.delete(t), this.#e.set(t, r5)), r5; + } + setSingle(t, r5) { + if (this.#e.has(t)) { + this.#e.delete(t), this.#e.set(t, r5); + return; + } + if (this.#e.size >= this.#r) { + let n3 = this.#e.keys().next().value; + n3 !== void 0 && this.#e.delete(n3); + } + this.#e.set(t, r5); + } + getBatch(t) { + let r5 = this.#t.get(t); + return r5 && (this.#t.delete(t), this.#t.set(t, r5)), r5; + } + setBatch(t, r5) { + if (this.#t.has(t)) { + this.#t.delete(t), this.#t.set(t, r5); + return; + } + if (this.#t.size >= this.#r) { + let n3 = this.#t.keys().next().value; + n3 !== void 0 && this.#t.delete(n3); + } + this.#t.set(t, r5); + } + clear() { + this.#e.clear(), this.#t.clear(); + } + get size() { + return this.#e.size + this.#t.size; + } + get singleCacheSize() { + return this.#e.size; + } + get batchCacheSize() { + return this.#t.size; + } + }; + var hl = require_dist(); + var yn = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; + function dl(e5, t, r5) { + let n3 = r5 || {}, i5 = n3.encode || encodeURIComponent; + if (typeof i5 != "function") throw new TypeError("option encode is invalid"); + if (!yn.test(e5)) throw new TypeError("argument name is invalid"); + let o3 = i5(t); + if (o3 && !yn.test(o3)) throw new TypeError("argument val is invalid"); + let s2 = e5 + "=" + o3; + if (n3.maxAge !== void 0 && n3.maxAge !== null) { + let a5 = n3.maxAge - 0; + if (Number.isNaN(a5) || !Number.isFinite(a5)) throw new TypeError("option maxAge is invalid"); + s2 += "; Max-Age=" + Math.floor(a5); + } + if (n3.domain) { + if (!yn.test(n3.domain)) throw new TypeError("option domain is invalid"); + s2 += "; Domain=" + n3.domain; + } + if (n3.path) { + if (!yn.test(n3.path)) throw new TypeError("option path is invalid"); + s2 += "; Path=" + n3.path; + } + if (n3.expires) { + if (!um(n3.expires) || Number.isNaN(n3.expires.valueOf())) throw new TypeError("option expires is invalid"); + s2 += "; Expires=" + n3.expires.toUTCString(); + } + if (n3.httpOnly && (s2 += "; HttpOnly"), n3.secure && (s2 += "; Secure"), n3.priority) switch (typeof n3.priority == "string" ? n3.priority.toLowerCase() : n3.priority) { + case "low": { + s2 += "; Priority=Low"; + break; + } + case "medium": { + s2 += "; Priority=Medium"; + break; + } + case "high": { + s2 += "; Priority=High"; + break; + } + default: + throw new TypeError("option priority is invalid"); + } + if (n3.sameSite) switch (typeof n3.sameSite == "string" ? n3.sameSite.toLowerCase() : n3.sameSite) { + case true: { + s2 += "; SameSite=Strict"; + break; + } + case "lax": { + s2 += "; SameSite=Lax"; + break; + } + case "strict": { + s2 += "; SameSite=Strict"; + break; + } + case "none": { + s2 += "; SameSite=None"; + break; + } + default: + throw new TypeError("option sameSite is invalid"); + } + return n3.partitioned && (s2 += "; Partitioned"), s2; + } + __name(dl, "dl"); + function um(e5) { + return Object.prototype.toString.call(e5) === "[object Date]" || e5 instanceof Date; + } + __name(um, "um"); + function ml(e5, t) { + let r5 = (e5 || "").split(";").filter((u) => typeof u == "string" && !!u.trim()), n3 = r5.shift() || "", i5 = cm(n3), o3 = i5.name, s2 = i5.value; + try { + s2 = t?.decode === false ? s2 : (t?.decode || decodeURIComponent)(s2); + } catch { + } + let a5 = { name: o3, value: s2 }; + for (let u of r5) { + let m3 = u.split("="), P = (m3.shift() || "").trimStart().toLowerCase(), T2 = m3.join("="); + switch (P) { + case "expires": { + a5.expires = new Date(T2); + break; + } + case "max-age": { + a5.maxAge = Number.parseInt(T2, 10); + break; + } + case "secure": { + a5.secure = true; + break; + } + case "httponly": { + a5.httpOnly = true; + break; + } + case "samesite": { + a5.sameSite = T2; + break; + } + default: + a5[P] = T2; + } + } + return a5; + } + __name(ml, "ml"); + function cm(e5) { + let t = "", r5 = "", n3 = e5.split("="); + return n3.length > 1 ? (t = n3.shift(), r5 = n3.join("=")) : r5 = e5, { name: t, value: r5 }; + } + __name(cm, "cm"); + var hn = class extends Error { + static { + __name(this, "hn"); + } + clientVersion; + cause; + constructor(t, r5) { + super(t), this.clientVersion = r5.clientVersion, this.cause = r5.cause; + } + get [Symbol.toStringTag]() { + return this.name; + } + }; + var wn = class extends hn { + static { + __name(this, "wn"); + } + isRetryable; + constructor(t, r5) { + super(t, r5), this.isRetryable = r5.isRetryable ?? true; + } + }; + function fl(e5, t) { + return { ...e5, isRetryable: t }; + } + __name(fl, "fl"); + var ot = class extends wn { + static { + __name(this, "ot"); + } + name = "InvalidDatasourceError"; + code = "P6001"; + constructor(t, r5) { + super(t, fl(r5, false)); + } + }; + Bt(ot, "InvalidDatasourceError"); + function gl(e5) { + let t = { clientVersion: e5.clientVersion }, r5; + try { + r5 = new URL(e5.accelerateUrl); + } catch (u) { + let m3 = u.message; + throw new ot(`Error validating \`accelerateUrl\`, the URL cannot be parsed, reason: ${m3}`, t); + } + let { protocol: n3, searchParams: i5 } = r5; + if (n3 !== "prisma:" && n3 !== Er) throw new ot("Error validating `accelerateUrl`: the URL must start with the protocol `prisma://` or `prisma+postgres://`", t); + let o3 = i5.get("api_key"); + if (o3 === null || o3.length < 1) throw new ot("Error validating `accelerateUrl`: the URL must contain a valid API key", t); + let s2 = Dn(r5) ? "http:" : "https:"; + process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR && r5.searchParams.has("use_http") && (s2 = "http:"); + let a5 = new URL(r5.href.replace(n3, s2)); + return { apiKey: o3, url: a5 }; + } + __name(gl, "gl"); + var yl = Pe(wo()); + var xn = class { + static { + __name(this, "xn"); + } + apiKey; + tracingHelper; + logLevel; + logQueries; + engineHash; + constructor({ apiKey: t, tracingHelper: r5, logLevel: n3, logQueries: i5, engineHash: o3 }) { + this.apiKey = t, this.tracingHelper = r5, this.logLevel = n3, this.logQueries = i5, this.engineHash = o3; + } + build({ traceparent: t, transactionId: r5 } = {}) { + let n3 = { Accept: "application/json", Authorization: `Bearer ${this.apiKey}`, "Content-Type": "application/json", "Prisma-Engine-Hash": this.engineHash, "Prisma-Engine-Version": yl.enginesVersion }; + this.tracingHelper.isEnabled() && (n3.traceparent = t ?? this.tracingHelper.getTraceParent()), r5 && (n3["X-Transaction-Id"] = r5); + let i5 = this.#e(); + return i5.length > 0 && (n3["X-Capture-Telemetry"] = i5.join(", ")), n3; + } + #e() { + let t = []; + return this.tracingHelper.isEnabled() && t.push("tracing"), this.logLevel && t.push(this.logLevel), this.logQueries && t.push("query"), t; + } + }; + function pm(e5) { + return e5[0] * 1e3 + e5[1] / 1e6; + } + __name(pm, "pm"); + function ji(e5) { + return new Date(pm(e5)); + } + __name(ji, "ji"); + var wl = K2("prisma:client:clientEngine:remoteExecutor"); + var bn = class { + static { + __name(this, "bn"); + } + #e; + #t; + #r; + #i; + #o; + #s; + constructor(t) { + this.#e = t.clientVersion, this.#i = t.logEmitter, this.#o = t.tracingHelper, this.#s = t.sqlCommenters; + let { url: r5, apiKey: n3 } = gl({ clientVersion: t.clientVersion, accelerateUrl: t.accelerateUrl }); + this.#r = new Bi(r5), this.#t = new xn({ apiKey: n3, engineHash: t.clientVersion, logLevel: t.logLevel, logQueries: t.logQueries, tracingHelper: t.tracingHelper }); + } + async getConnectionInfo() { + return await this.#a({ path: "/connection-info", method: "GET" }); + } + async execute({ plan: t, placeholderValues: r5, batchIndex: n3, model: i5, operation: o3, transaction: s2, customFetch: a5, queryInfo: u }) { + let m3 = u && this.#s?.length ? Hr(this.#s, { query: u }) : void 0; + return (await this.#a({ path: s2 ? `/transaction/${s2.id}/query` : "/query", method: "POST", body: { model: i5, operation: o3, plan: t, params: r5, comments: m3 && Object.keys(m3).length > 0 ? m3 : void 0 }, batchRequestIdx: n3, fetch: a5 })).data; + } + async startTransaction(t) { + return { ...await this.#a({ path: "/transaction/start", method: "POST", body: t }), payload: void 0 }; + } + async commitTransaction(t) { + await this.#a({ path: `/transaction/${t.id}/commit`, method: "POST" }); + } + async rollbackTransaction(t) { + await this.#a({ path: `/transaction/${t.id}/rollback`, method: "POST" }); + } + disconnect() { + return Promise.resolve(); + } + apiKey() { + return this.#t.apiKey; + } + async #a({ path: t, method: r5, body: n3, fetch: i5 = globalThis.fetch, batchRequestIdx: o3 }) { + let s2 = await this.#r.request({ method: r5, path: t, headers: this.#t.build(), body: n3, fetch: i5 }); + s2.ok || await this.#n(s2, o3); + let a5 = await s2.json(); + return typeof a5.extensions == "object" && a5.extensions !== null && this.#u(a5.extensions), a5; + } + async #n(t, r5) { + let n3 = t.headers.get("Prisma-Error-Code"), i5 = await t.text(), o3, s2 = i5; + try { + o3 = JSON.parse(i5); + } catch { + o3 = {}; + } + typeof o3.code == "string" && (n3 = o3.code), typeof o3.error == "string" ? s2 = o3.error : typeof o3.message == "string" ? s2 = o3.message : typeof o3.InvalidRequestError == "object" && o3.InvalidRequestError !== null && typeof o3.InvalidRequestError.reason == "string" && (s2 = o3.InvalidRequestError.reason), s2 = s2 || `HTTP ${t.status}: ${t.statusText}`; + let a5 = typeof o3.meta == "object" && o3.meta !== null ? o3.meta : o3; + throw new hl.PrismaClientKnownRequestError(s2, { clientVersion: this.#e, code: n3 ?? "P6000", batchRequestIdx: r5, meta: a5 }); + } + #u(t) { + let r5 = t.logs ?? []; + if (t.spans) this.#o.dispatchEngineSpans(t.spans, r5, (n3) => this.#l(n3)); + else for (let n3 of r5) this.#l(n3); + } + #l(t) { + switch (t.level) { + case "debug": + case "trace": + wl(t); + break; + case "error": + case "warn": + case "info": { + this.#i.emit(t.level, { timestamp: ji(t.timestamp), message: t.attributes.message ?? "", target: t.target ?? "RemoteExecutor" }); + break; + } + case "query": { + this.#i.emit("query", { query: t.attributes.query ?? "", timestamp: ji(t.timestamp), duration: t.attributes.duration_ms ?? 0, params: t.attributes.params ?? "", target: t.target ?? "RemoteExecutor" }); + break; + } + default: + throw new Error(`Unexpected log level: ${t.level}`); + } + } + }; + var Bi = class { + static { + __name(this, "Bi"); + } + #e; + #t; + #r; + constructor(t) { + this.#e = t, this.#t = /* @__PURE__ */ new Map(); + } + async request({ method: t, path: r5, headers: n3, body: i5, fetch: o3 }) { + let s2 = new URL(r5, this.#e), a5 = this.#i(s2); + a5 && (n3.Cookie = a5), this.#r && (n3["Accelerate-Query-Engine-Jwt"] = this.#r); + let u = await o3(s2.href, { method: t, body: i5 !== void 0 ? JSON.stringify(i5) : void 0, headers: n3 }); + return wl(t, s2, u.status, u.statusText), this.#r = u.headers.get("Accelerate-Query-Engine-Jwt") ?? void 0, this.#o(s2, u), u; + } + #i(t) { + let r5 = [], n3 = /* @__PURE__ */ new Date(); + for (let [i5, o3] of this.#t) { + if (o3.expires && o3.expires < n3) { + this.#t.delete(i5); + continue; + } + let s2 = o3.domain ?? t.hostname, a5 = o3.path ?? "/"; + t.hostname.endsWith(s2) && t.pathname.startsWith(a5) && r5.push(dl(o3.name, o3.value)); + } + return r5.length > 0 ? r5.join("; ") : void 0; + } + #o(t, r5) { + let n3 = r5.headers.getSetCookie?.() || []; + if (n3.length === 0) { + let i5 = r5.headers.get("Set-Cookie"); + i5 && n3.push(i5); + } + for (let i5 of n3) { + let o3 = ml(i5), s2 = o3.domain ?? t.hostname, a5 = o3.path ?? "/", u = `${s2}:${a5}:${o3.name}`; + this.#t.set(u, { name: o3.name, value: o3.value, domain: s2, path: a5, expires: o3.expires }); + } + } + }; + var Ji = require_dist(); + var Qi = {}; + var xl = { async loadQueryCompiler(e5) { + let { clientVersion: t, compilerWasm: r5 } = e5; + if (r5 === void 0) throw new Ji.PrismaClientInitializationError("WASM query compiler was unexpectedly `undefined`", t); + let n3; + return e5.activeProvider === void 0 || Qi[e5.activeProvider] === void 0 ? (n3 = (async () => { + let i5 = await r5.getRuntime(), o3 = await r5.getQueryCompilerWasmModule(); + if (o3 == null) throw new Ji.PrismaClientInitializationError("The loaded wasm module was unexpectedly `undefined` or `null` once loaded", t); + let s2 = { [r5.importName]: i5 }, a5 = new WebAssembly.Instance(o3, s2), u = a5.exports.__wbindgen_start; + return i5.__wbg_set_wasm(a5.exports), u(), i5.QueryCompiler; + })(), e5.activeProvider !== void 0 && (Qi[e5.activeProvider] = n3)) : n3 = Qi[e5.activeProvider], await n3; + } }; + var dm = "P2038"; + var Ve = K2("prisma:client:clientEngine"); + var Tl = globalThis; + Tl.PRISMA_WASM_PANIC_REGISTRY = { set_message(e5) { + throw new ne.PrismaClientRustPanicError(e5, mn); + } }; + var yr = class { + static { + __name(this, "yr"); + } + name = "ClientEngine"; + #e; + #t = { type: "disconnected" }; + #r; + #i; + #o; + #s; + config; + datamodel; + logEmitter; + logQueries; + logLevel; + tracingHelper; + #a; + constructor(t, r5) { + if (t.accelerateUrl !== void 0) this.#i = { remote: true, accelerateUrl: t.accelerateUrl }; + else if (t.adapter) this.#i = { remote: false, driverAdapterFactory: t.adapter }, Ve("Using driver adapter: %O", t.adapter); + else throw new ne.PrismaClientInitializationError("PrismaClient requires a driver adapter to connect to your database, but none was provided. Pass one to the PrismaClient constructor, e.g. `new PrismaClient({ adapter })`. Learn more: https://pris.ly/d/driver-adapters", t.clientVersion, dm); + this.#r = r5 ?? xl, this.config = t, this.logQueries = t.logQueries ?? false, this.logLevel = t.logLevel ?? "error", this.logEmitter = t.logEmitter, this.datamodel = t.inlineSchema, this.tracingHelper = t.tracingHelper, this.#o = t.queryPlanCacheMaxSize === 0 ? void 0 : new gn(t.queryPlanCacheMaxSize), this.#s = mr.deserialize(t.parameterizationSchema, (n3) => { + if (!Object.hasOwn(t.runtimeDataModel.enums, n3)) return; + let i5 = {}; + for (let o3 of t.runtimeDataModel.enums[n3].values) i5[o3.name] = o3.dbName ?? o3.name; + return i5; + }), t.enableDebugLogs && (this.logLevel = "debug"), this.logQueries && (this.#a = (n3) => { + this.logEmitter.emit("query", { ...n3, params: Se(n3.params), target: "ClientEngine" }); + }); + } + async #n() { + switch (this.#t.type) { + case "disconnected": { + let t = this.tracingHelper.runInChildSpan("connect", async () => { + let r5, n3; + try { + r5 = await this.#u(), n3 = await this.#l(r5); + } catch (o3) { + throw this.#t = { type: "disconnected" }, n3?.free(), await r5?.disconnect(), o3; + } + let i5 = { executor: r5, queryCompiler: n3 }; + return this.#t = { type: "connected", engine: i5 }, i5; + }); + return this.#t = { type: "connecting", promise: t }, await t; + } + case "connecting": + return await this.#t.promise; + case "connected": + return this.#t.engine; + case "disconnecting": + return await this.#t.promise, await this.#n(); + } + } + async #u() { + return this.#i.remote ? new bn({ clientVersion: this.config.clientVersion, accelerateUrl: this.#i.accelerateUrl, logEmitter: this.logEmitter, logLevel: this.logLevel, logQueries: this.logQueries, tracingHelper: this.tracingHelper, sqlCommenters: this.config.sqlCommenters }) : await fn.connect({ driverAdapterFactory: this.#i.driverAdapterFactory, tracingHelper: this.tracingHelper, transactionOptions: { ...this.config.transactionOptions, isolationLevel: this.#g(this.config.transactionOptions.isolationLevel) }, onQuery: this.#a, provider: this.config.activeProvider, sqlCommenters: this.config.sqlCommenters }); + } + async #l(t) { + let r5 = this.#e; + r5 === void 0 && (r5 = await this.#r.loadQueryCompiler(this.config), this.#e = r5); + let { provider: n3, connectionInfo: i5 } = await t.getConnectionInfo(); + try { + return this.#m(() => new r5({ datamodel: this.datamodel, provider: n3, connectionInfo: i5 }), void 0, false); + } catch (o3) { + throw this.#p(o3); + } + } + #p(t) { + if (t instanceof ne.PrismaClientRustPanicError) return t; + try { + let r5 = JSON.parse(t.message); + return new ne.PrismaClientInitializationError(r5.message, this.config.clientVersion, r5.error_code); + } catch { + return t; + } + } + #c(t, r5) { + if (t instanceof ne.PrismaClientInitializationError) return t; + if (t.code === "GenericFailure" && t.message?.startsWith("PANIC:")) return new ne.PrismaClientRustPanicError(bl(this, t.message, r5), this.config.clientVersion); + if (t instanceof X) return new ne.PrismaClientKnownRequestError(t.message, { code: t.code, meta: t.meta, clientVersion: this.config.clientVersion }); + try { + let n3 = JSON.parse(t); + return new ne.PrismaClientUnknownRequestError(`${n3.message} +${n3.backtrace}`, { clientVersion: this.config.clientVersion }); + } catch { + return t; + } + } + #d(t) { + return t instanceof ne.PrismaClientRustPanicError ? t : typeof t.message == "string" && typeof t.code == "string" ? new ne.PrismaClientKnownRequestError(t.message, { code: t.code, meta: t.meta, clientVersion: this.config.clientVersion }) : typeof t.message == "string" ? new ne.PrismaClientUnknownRequestError(t.message, { clientVersion: this.config.clientVersion }) : t; + } + #m(t, r5, n3 = true) { + let i5 = Tl.PRISMA_WASM_PANIC_REGISTRY.set_message, o3; + global.PRISMA_WASM_PANIC_REGISTRY.set_message = (s2) => { + o3 = s2; + }; + try { + return t(); + } finally { + if (global.PRISMA_WASM_PANIC_REGISTRY.set_message = i5, o3) throw this.#e = void 0, n3 && this.stop().catch((s2) => Ve("failed to disconnect:", s2)), new ne.PrismaClientRustPanicError(bl(this, o3, r5), this.config.clientVersion); + } + } + onBeforeExit() { + throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.'); + } + async start() { + await this.#n(); + } + async stop() { + switch (this.#t.type) { + case "disconnected": + return; + case "connecting": + return await this.#t.promise, await this.stop(); + case "connected": { + let t = this.#t.engine, r5 = this.tracingHelper.runInChildSpan("disconnect", async () => { + try { + await t.executor.disconnect(), t.queryCompiler.free(); + } finally { + this.#t = { type: "disconnected" }; + } + }); + return this.#t = { type: "disconnecting", promise: r5 }, await r5; + } + case "disconnecting": + return await this.#t.promise; + } + } + version() { + return "unknown"; + } + async transaction(t, r5, n3) { + let i5, { executor: o3 } = await this.#n(); + try { + if (t === "start") { + let s2 = n3; + i5 = await o3.startTransaction({ ...s2, isolationLevel: this.#g(s2.isolationLevel) }); + } else if (t === "commit") { + let s2 = n3; + await o3.commitTransaction(s2); + } else if (t === "rollback") { + let s2 = n3; + await o3.rollbackTransaction(s2); + } else $e(t, "Invalid transaction action."); + } catch (s2) { + throw this.#c(s2); + } + return i5 ? { id: i5.id, payload: void 0 } : void 0; + } + async request(t, { interactiveTransaction: r5, customDataProxyFetch: n3 }) { + Ve("sending request"); + let { executor: i5, queryCompiler: o3 } = await this.#n().catch((m3) => { + throw this.#c(m3, JSON.stringify(t)); + }), s2, a5 = {}, u = t.query; + if (Pl(t)) s2 = El(t); + else { + let { parameterizedQuery: m3, placeholderValues: P } = Vi(t, this.#s), T2 = JSON.stringify(m3); + a5 = P, u = m3.query; + let S = t.action !== "createMany" && t.action !== "createManyAndReturn", I = S ? this.#o?.getSingle(T2) : void 0; + I ? (Ve("query plan cache hit"), s2 = I) : (Ve("query plan cache miss"), s2 = this.#f(m3, T2, o3), S && this.#o?.setSingle(T2, s2)); + } + try { + Ve("query plan created", s2); + let m3 = await i5.execute({ plan: s2, model: t.modelName, operation: t.action, placeholderValues: a5, transaction: r5, batchIndex: void 0, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "single", modelName: t.modelName, action: t.action, query: u } }); + return Ve("query plan executed"), { data: { [t.action]: m3 } }; + } catch (m3) { + throw this.#c(m3, JSON.stringify(t)); + } + } + async requestBatch(t, { transaction: r5, customDataProxyFetch: n3 }) { + if (t.length === 0) return []; + let i5 = t[0].action, o3 = t[0].modelName, s2 = sl(t, r5), a5 = JSON.stringify(s2), { executor: u, queryCompiler: m3 } = await this.#n().catch((A) => { + throw this.#c(A, a5); + }), P = o3 === void 0, T2, S = {}, I = t.map((A) => A.query); + if (P) T2 = this.#y(t, a5, m3); + else { + let { parameterizedBatch: A, placeholderValues: M } = qi(s2, this.#s), L = JSON.stringify(A); + S = M, I = A.batch.map((E) => E.query); + let q3 = this.#o?.getBatch(L); + if (q3) Ve("batch query plan cache hit"), T2 = q3; + else { + Ve("batch query plan cache miss"); + try { + T2 = this.#y(A.batch, L, m3), this.#o?.setBatch(L, T2); + } catch (E) { + throw this.#d(E); + } + } + } + try { + let A; + switch (r5?.kind === "itx" && (A = r5.options), T2.type) { + case "multi": { + if (r5?.kind !== "itx") { + let E = r5?.options, D = { maxWait: E?.maxWait ?? this.config.transactionOptions.maxWait, timeout: E?.timeout ?? this.config.transactionOptions.timeout, isolationLevel: E?.isolationLevel ?? this.config.transactionOptions.isolationLevel }; + A = await this.transaction("start", {}, D); + } + let M = [], L = false, q3; + for (let [E, D] of T2.plans.entries()) try { + let H = await u.execute({ plan: D, placeholderValues: S, model: t[E].modelName, operation: t[E].action, batchIndex: E, transaction: A, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "single", modelName: t[E].modelName, action: t[E].action, query: I[E] } }); + M.push({ data: { [t[E].action]: H } }); + } catch (H) { + if (q3 ??= r5?.kind !== "batch" && t.every((ce) => ce.action === "findUnique" || ce.action === "findUniqueOrThrow"), M.push(H), L = true, !q3) break; + } + return A !== void 0 && r5?.kind !== "itx" && (L ? await this.transaction("rollback", {}, A) : await this.transaction("commit", {}, A)), M; + } + case "compacted": { + if (!t.every((q3) => q3.action === i5 && q3.modelName === o3)) { + let q3 = t.map((D) => D.action).join(", "), E = t.map((D) => D.modelName).join(", "); + throw new Error(`Internal error: All queries in a compacted batch must have the same action and model name, but received actions: [${q3}] and model names: [${E}]. This indicates a bug in the client. Please report this issue to the Prisma team with your query details.`); + } + if (o3 === void 0) throw new Error("Internal error: A compacted batch cannot contain raw queries. This indicates a bug in the client. Please report this issue to the Prisma team with your query details."); + let M = await u.execute({ plan: T2.plan, placeholderValues: S, model: o3, operation: i5, batchIndex: void 0, transaction: A, customFetch: n3?.(globalThis.fetch), queryInfo: { type: "compacted", action: i5, modelName: o3, queries: I } }); + return Ws(M, T2, S).map((q3) => ({ data: { [i5]: q3 } })); + } + } + } catch (A) { + throw this.#c(A, a5); + } + } + async apiKey() { + let { executor: t } = await this.#n(); + return t.apiKey(); + } + #f(t, r5, n3) { + try { + return this.#m(() => this.#h({ queries: [t], execute: /* @__PURE__ */ __name(() => n3.compile(r5), "execute") })); + } catch (i5) { + throw this.#d(i5); + } + } + #y(t, r5, n3) { + if (t.every(Pl)) return { type: "multi", plans: t.map((i5) => El(i5)) }; + try { + return this.#m(() => this.#h({ queries: t, execute: /* @__PURE__ */ __name(() => n3.compileBatch(r5), "execute") })); + } catch (i5) { + throw this.#d(i5); + } + } + #g(t) { + switch (t) { + case void 0: + return; + case "ReadUncommitted": + return "READ UNCOMMITTED"; + case "ReadCommitted": + return "READ COMMITTED"; + case "RepeatableRead": + return "REPEATABLE READ"; + case "Serializable": + return "SERIALIZABLE"; + case "Snapshot": + return "SNAPSHOT"; + default: + throw new ne.PrismaClientKnownRequestError(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``, { code: "P2023", clientVersion: this.config.clientVersion, meta: { providedIsolationLevel: t } }); + } + } + #h({ queries: t, execute: r5 }) { + return this.tracingHelper.runInChildSpan({ name: "compile", attributes: { models: t.map((n3) => n3.modelName).filter((n3) => n3 !== void 0), actions: t.map((n3) => n3.action) } }, r5); + } + }; + function bl(e5, t, r5) { + return pl({ binaryTarget: void 0, title: t, version: e5.config.clientVersion, engineVersion: "unknown", database: e5.config.activeProvider, query: r5 }); + } + __name(bl, "bl"); + function Pl(e5) { + return e5.action === "queryRaw" || e5.action === "executeRaw"; + } + __name(Pl, "Pl"); + function El(e5) { + let t = e5.query.arguments.query, { args: r5, argTypes: n3 } = il(e5.query.arguments.parameters); + return { type: e5.action === "queryRaw" ? "query" : "execute", args: { type: "rawSql", sql: t, args: r5, argTypes: n3 } }; + } + __name(El, "El"); + function vl(e5) { + return new yr(e5); + } + __name(vl, "vl"); + var Sl = /* @__PURE__ */ __name((e5) => ({ command: e5 }), "Sl"); + var Nl = require_dist(); + var Al = /* @__PURE__ */ __name((e5) => e5.strings.reduce((t, r5, n3) => `${t}@P${n3}${r5}`), "Al"); + var Pn = require_dist(); + function It(e5, t) { + try { + return Rl(e5, "fast", t); + } catch (r5) { + if (r5 instanceof TypeError) return Rl(e5, "slow", t); + throw r5; + } + } + __name(It, "It"); + function Rl(e5, t, r5) { + return JSON.stringify(e5.map((n3) => Il(n3, t, r5))); + } + __name(Rl, "Rl"); + function Il(e5, t, r5) { + if (Array.isArray(e5)) return e5.map((n3) => Il(n3, t, r5)); + if (typeof e5 == "bigint") return { prisma__type: "bigint", prisma__value: e5.toString() }; + if (ct(e5)) { + if (!pt(e5)) throw new Pn.PrismaClientValidationError("Provided Date object is invalid", { clientVersion: r5 }); + return { prisma__type: "date", prisma__value: e5.toJSON() }; + } + if (Pn.Decimal.isDecimal(e5)) return { prisma__type: "decimal", prisma__value: e5.toJSON() }; + if (Buffer.isBuffer(e5)) return { prisma__type: "bytes", prisma__value: e5.toString("base64") }; + if (mm(e5)) return { prisma__type: "bytes", prisma__value: Buffer.from(e5).toString("base64") }; + if (ArrayBuffer.isView(e5)) { + let { buffer: n3, byteOffset: i5, byteLength: o3 } = e5; + return { prisma__type: "bytes", prisma__value: Buffer.from(n3, i5, o3).toString("base64") }; + } + return typeof e5 == "object" && t === "slow" ? kl(e5) : e5; + } + __name(Il, "Il"); + function mm(e5) { + return e5 instanceof ArrayBuffer || e5 instanceof SharedArrayBuffer ? true : typeof e5 == "object" && e5 !== null ? e5[Symbol.toStringTag] === "ArrayBuffer" || e5[Symbol.toStringTag] === "SharedArrayBuffer" : false; + } + __name(mm, "mm"); + function kl(e5) { + if (typeof e5 != "object" || e5 === null) return e5; + if (typeof e5.toJSON == "function") return e5.toJSON(); + if (Array.isArray(e5)) return e5.map(Cl); + let t = {}; + for (let r5 of Object.keys(e5)) t[r5] = Cl(e5[r5]); + return t; + } + __name(kl, "kl"); + function Cl(e5) { + return typeof e5 == "bigint" ? e5.toString() : kl(e5); + } + __name(Cl, "Cl"); + var fm = /^(\s*alter\s)/i; + var Ol = K2("prisma:client"); + function Gi(e5, t, r5, n3) { + if (!(e5 !== "postgresql" && e5 !== "cockroachdb") && r5.length > 0 && fm.exec(t)) throw new Error(`Running ALTER using ${n3} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`); + } + __name(Gi, "Gi"); + var zi = /* @__PURE__ */ __name(({ clientMethod: e5, activeProvider: t, clientVersion: r5 }) => (n3) => { + let i5 = "", o3; + if (Ur(n3)) i5 = n3.sql, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true }; + else if (Array.isArray(n3)) { + let [s2, ...a5] = n3; + i5 = s2, o3 = { values: It(a5 || [], r5), __prismaRawParameters__: true }; + } else switch (t) { + case "sqlite": + case "mysql": { + i5 = n3.sql, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true }; + break; + } + case "cockroachdb": + case "postgresql": + case "postgres": { + i5 = n3.text, o3 = { values: It(n3.values, r5), __prismaRawParameters__: true }; + break; + } + case "sqlserver": { + i5 = Al(n3), o3 = { values: It(n3.values, r5), __prismaRawParameters__: true }; + break; + } + default: + throw new Error(`The ${t} provider does not support ${e5}`); + } + return o3?.values ? Ol(`prisma.${e5}(${i5}, ${o3.values})`) : Ol(`prisma.${e5}(${i5})`), { query: i5, parameters: o3 }; + }, "zi"); + var Dl = { requestArgsToMiddlewareArgs(e5) { + return [e5.strings, ...e5.values]; + }, middlewareArgsToRequestArgs(e5) { + let [t, ...r5] = e5; + return new Nl.Sql(t, r5); + } }; + var Ml = { requestArgsToMiddlewareArgs(e5) { + return [e5]; + }, middlewareArgsToRequestArgs(e5) { + return e5[0]; + } }; + function Hi(e5) { + return function(r5, n3) { + let i5, o3 = /* @__PURE__ */ __name((s2 = e5) => { + try { + return s2 === void 0 || s2?.kind === "itx" ? i5 ??= Fl(r5(s2)) : Fl(r5(s2)); + } catch (a5) { + return Promise.reject(a5); + } + }, "o"); + return { get spec() { + return n3; + }, then(s2, a5) { + return o3().then(s2, a5); + }, catch(s2) { + return o3().catch(s2); + }, finally(s2) { + return o3().finally(s2); + }, requestTransaction(s2) { + let a5 = o3(s2); + return a5.requestTransaction ? a5.requestTransaction(s2) : a5; + }, [Symbol.toStringTag]: "PrismaPromise" }; + }; + } + __name(Hi, "Hi"); + function Fl(e5) { + return typeof e5.then == "function" ? e5 : Promise.resolve(e5); + } + __name(Fl, "Fl"); + var _l = { name: "@prisma/instrumentation-contract", version: "7.10.1", description: "Shared types and utilities for Prisma instrumentation", main: "dist/index.js", module: "dist/index.mjs", types: "dist/index.d.ts", exports: { ".": { require: { types: "./dist/index.d.ts", default: "./dist/index.js" }, import: { types: "./dist/index.d.mts", default: "./dist/index.mjs" } } }, license: "Apache-2.0", homepage: "https://www.prisma.io", repository: { type: "git", url: "https://github.com/prisma/orm.git", directory: "packages/instrumentation-contract" }, bugs: "https://github.com/prisma/prisma/issues", scripts: { dev: "DEV=true tsx helpers/build.ts", build: "tsx helpers/build.ts", prepublishOnly: "pnpm run build", test: "vitest run" }, files: ["dist"], sideEffects: false, devDependencies: { "@opentelemetry/api": "1.9.0" }, peerDependencies: { "@opentelemetry/api": "^1.8" } }; + var ym = _l.version.split(".")[0]; + var hm = "PRISMA_INSTRUMENTATION"; + var wm = `V${ym}_PRISMA_INSTRUMENTATION`; + var $l = globalThis; + function Ll() { + let e5 = $l[wm]; + return e5?.helper ? e5.helper : $l[hm]?.helper; + } + __name(Ll, "Ll"); + var xm = { isEnabled() { + return false; + }, getTraceParent() { + return "00-10-10-00"; + }, dispatchEngineSpans(e5, t, r5) { + for (let n3 of t) r5(n3); + }, getActiveContext() { + }, runInChildSpan(e5, t) { + return t(); + } }; + var Wi = class { + static { + __name(this, "Wi"); + } + isEnabled() { + return this.getTracingHelper().isEnabled(); + } + getTraceParent(t) { + return this.getTracingHelper().getTraceParent(t); + } + dispatchEngineSpans(t, r5, n3) { + return this.getTracingHelper().dispatchEngineSpans(t, r5, n3); + } + getActiveContext() { + return this.getTracingHelper().getActiveContext(); + } + runInChildSpan(t, r5) { + return this.getTracingHelper().runInChildSpan(t, r5); + } + getTracingHelper() { + return Ll() ?? xm; + } + }; + function Vl() { + return new Wi(); + } + __name(Vl, "Vl"); + function ql(e5, t = () => { + }) { + let r5, n3 = new Promise((i5) => r5 = i5); + return { then(i5) { + return --e5 === 0 && r5(t()), i5?.(n3); + } }; + } + __name(ql, "ql"); + function Ul(e5) { + return typeof e5 == "string" ? e5 : e5.reduce((t, r5) => { + let n3 = typeof r5 == "string" ? r5 : r5.level; + return n3 === "query" ? t : t && (r5 === "info" || t === "info") ? "info" : n3; + }, void 0); + } + __name(Ul, "Ul"); + var Ql = require_dist(); + function Zi(e5) { + if (e5.action !== "findUnique" && e5.action !== "findUniqueOrThrow") return; + let t = []; + return e5.modelName && t.push(e5.modelName), e5.query.arguments && t.push(Ki(e5.query.arguments)), t.push(Ki(e5.query.selection)), t.join(""); + } + __name(Zi, "Zi"); + function Ki(e5) { + return `(${Object.keys(e5).sort().map((r5) => { + let n3 = e5[r5]; + return typeof n3 == "object" && n3 !== null ? `(${r5} ${Ki(n3)})` : r5; + }).join(" ")})`; + } + __name(Ki, "Ki"); + var bm = { aggregate: false, aggregateRaw: false, createMany: true, createManyAndReturn: true, createOne: true, deleteMany: true, deleteOne: true, executeRaw: true, findFirst: false, findFirstOrThrow: false, findMany: false, findRaw: false, findUnique: false, findUniqueOrThrow: false, groupBy: false, queryRaw: false, runCommandRaw: true, updateMany: true, updateManyAndReturn: true, updateOne: true, upsertOne: true }; + function Xi(e5) { + return bm[e5]; + } + __name(Xi, "Xi"); + var En = class { + static { + __name(this, "En"); + } + constructor(t) { + this.options = t; + this.batches = {}; + } + batches; + tickActive = false; + request(t) { + let r5 = this.options.batchBy(t); + return r5 ? (this.batches[r5] || (this.batches[r5] = [], this.tickActive || (this.tickActive = true, process.nextTick(() => { + this.dispatchBatches(), this.tickActive = false; + }))), new Promise((n3, i5) => { + this.batches[r5].push({ request: t, resolve: n3, reject: i5 }); + })) : this.options.singleLoader(t); + } + dispatchBatches() { + for (let t in this.batches) { + let r5 = this.batches[t]; + delete this.batches[t], r5.length === 1 ? this.options.singleLoader(r5[0].request).then((n3) => { + n3 instanceof Error ? r5[0].reject(n3) : r5[0].resolve(n3); + }).catch((n3) => { + r5[0].reject(n3); + }) : (r5.sort((n3, i5) => this.options.batchOrder(n3.request, i5.request)), this.options.batchLoader(r5.map((n3) => n3.request)).then((n3) => { + if (n3 instanceof Error) for (let i5 = 0; i5 < r5.length; i5++) r5[i5].reject(n3); + else for (let i5 = 0; i5 < r5.length; i5++) { + let o3 = n3[i5]; + o3 instanceof Error ? r5[i5].reject(o3) : r5[i5].resolve(o3); + } + }).catch((n3) => { + for (let i5 = 0; i5 < r5.length; i5++) r5[i5].reject(n3); + })); + } + } + get [Symbol.toStringTag]() { + return "DataLoader"; + } + }; + var jl = require_dist(); + function st(e5, t) { + if (t === null) return t; + switch (e5) { + case "bigint": + return BigInt(t); + case "bytes": + return new Uint8Array(Buffer.from(t, "base64")); + case "decimal": + return new jl.Decimal(t); + case "datetime": + case "date": + return new Date(t); + case "time": + return /* @__PURE__ */ new Date(`1970-01-01T${t}Z`); + case "bigint-array": + return t.map((r5) => st("bigint", r5)); + case "bytes-array": + return t.map((r5) => st("bytes", r5)); + case "decimal-array": + return t.map((r5) => st("decimal", r5)); + case "datetime-array": + return t.map((r5) => st("datetime", r5)); + case "date-array": + return t.map((r5) => st("date", r5)); + case "time-array": + return t.map((r5) => st("time", r5)); + default: + return t; + } + } + __name(st, "st"); + function Tn(e5) { + let t = [], r5 = Pm(e5); + for (let n3 = 0; n3 < e5.rows.length; n3++) { + let i5 = e5.rows[n3], o3 = { ...r5 }; + for (let s2 = 0; s2 < i5.length; s2++) o3[e5.columns[s2]] = st(e5.types[s2], i5[s2]); + t.push(o3); + } + return t; + } + __name(Tn, "Tn"); + function Pm(e5) { + let t = {}; + for (let r5 = 0; r5 < e5.columns.length; r5++) t[e5.columns[r5]] = null; + return t; + } + __name(Pm, "Pm"); + function Bl(e5, t) { + let { schema: r5, name: n3 } = Em(t), i5 = Object.entries(e5.models).filter(([o3, s2]) => (s2.dbName ?? o3) === n3); + if (i5.length <= 1) return i5[0]?.[0]; + if (r5 !== void 0) { + let o3 = i5.filter(([, s2]) => s2.schema === r5); + if (o3.length === 1) return o3[0][0]; + } + } + __name(Bl, "Bl"); + function Em(e5) { + let t = e5.lastIndexOf("."); + return t === -1 ? { schema: void 0, name: e5 } : { schema: e5.slice(0, t), name: e5.slice(t + 1) }; + } + __name(Em, "Em"); + var Tm = K2("prisma:client:request_handler"); + var vn = class { + static { + __name(this, "vn"); + } + client; + dataloader; + logEmitter; + constructor(t, r5) { + this.logEmitter = r5, this.client = t, this.dataloader = new En({ batchLoader: _s5(async ({ requests: n3, customDataProxyFetch: i5 }) => { + let { transaction: o3, otelParentCtx: s2 } = n3[0], a5 = n3.map((T2) => T2.protocolQuery), u = this.client._tracingHelper.getTraceParent(s2), m3 = n3.some((T2) => Xi(T2.protocolQuery.action)); + return (await this.client._engine.requestBatch(a5, { traceparent: u, transaction: vm(o3), containsWrite: m3, customDataProxyFetch: i5 })).map((T2, S) => { + if (T2 instanceof Error) return T2; + try { + return this.mapQueryEngineResult(n3[S], T2); + } catch (I) { + return I; + } + }); + }), singleLoader: /* @__PURE__ */ __name(async (n3) => { + let i5 = n3.transaction?.kind === "itx" ? Jl(n3.transaction) : void 0, o3 = await this.client._engine.request(n3.protocolQuery, { traceparent: this.client._tracingHelper.getTraceParent(), interactiveTransaction: i5, isWrite: Xi(n3.protocolQuery.action), customDataProxyFetch: n3.customDataProxyFetch }); + return this.mapQueryEngineResult(n3, o3); + }, "singleLoader"), batchBy: /* @__PURE__ */ __name((n3) => { + if (n3.transaction?.kind === "itx") { + let i5 = Zi(n3.protocolQuery); + return `itx-${n3.transaction.id}${i5 ? `-${i5}` : ""}`; + } + return n3.transaction?.id ? `transaction-${n3.transaction.id}` : Zi(n3.protocolQuery); + }, "batchBy"), batchOrder(n3, i5) { + return n3.transaction?.kind === "batch" && i5.transaction?.kind === "batch" ? n3.transaction.index - i5.transaction.index : 0; + } }); + } + async request(t) { + try { + return await this.dataloader.request(t); + } catch (r5) { + let { clientMethod: n3, callsite: i5, transaction: o3, args: s2, modelName: a5 } = t; + this.handleAndLogRequestError({ error: r5, clientMethod: n3, callsite: i5, transaction: o3, args: s2, modelName: a5, globalOmit: t.globalOmit }); + } + } + mapQueryEngineResult({ dataPath: t, unpacker: r5 }, n3) { + let i5 = n3?.data, o3 = this.unpack(i5, t, r5); + return process.env.PRISMA_CLIENT_GET_TIME ? { data: o3 } : o3; + } + handleAndLogRequestError(t) { + try { + this.handleRequestError(t); + } catch (r5) { + throw this.logEmitter && this.logEmitter.emit("error", { message: r5.message, target: t.clientMethod, timestamp: /* @__PURE__ */ new Date() }), r5; + } + } + handleRequestError({ error: t, clientMethod: r5, callsite: n3, transaction: i5, args: o3, modelName: s2, globalOmit: a5 }) { + if (Tm(t), Sm(t, i5)) throw t; + if (t instanceof _.PrismaClientKnownRequestError && Am(t)) { + let m3 = Gl(t.meta); + Fr({ args: o3, errors: [m3], callsite: n3, errorFormat: this.client._errorFormat, originalMethod: r5, clientVersion: this.client._clientVersion, globalOmit: a5 }); + } + let u = t.message; + if (n3 && (u = Rr({ callsite: n3, originalMethod: r5, isPanic: t.isPanic, showColors: this.client._errorFormat === "pretty", message: u })), u = this.sanitizeMessage(u), t.code) { + let m3 = this.resolveErrorMeta(t.meta, t.code, s2); + throw new _.PrismaClientKnownRequestError(u, { code: t.code, clientVersion: this.client._clientVersion, meta: m3, batchRequestIdx: t.batchRequestIdx }); + } else { + if (t.isPanic) throw new _.PrismaClientRustPanicError(u, this.client._clientVersion); + if (t instanceof _.PrismaClientUnknownRequestError) throw new _.PrismaClientUnknownRequestError(u, { clientVersion: this.client._clientVersion, batchRequestIdx: t.batchRequestIdx }); + if (t instanceof _.PrismaClientInitializationError) throw new _.PrismaClientInitializationError(u, this.client._clientVersion); + if (t instanceof _.PrismaClientRustPanicError) throw new _.PrismaClientRustPanicError(u, this.client._clientVersion); + } + throw t.clientVersion = this.client._clientVersion, t; + } + resolveErrorMeta(t, r5, n3) { + if (r5 !== "P2002" || typeof t?.table != "string") return n3 ? { modelName: n3, ...t } : t; + let i5 = { ...t }; + delete i5.table; + let o3 = Bl(this.client._runtimeDataModel, t.table) ?? (typeof i5.modelName == "string" ? i5.modelName : n3); + return o3 !== void 0 ? { ...i5, modelName: o3 } : i5; + } + sanitizeMessage(t) { + return this.client._errorFormat && this.client._errorFormat !== "pretty" ? ut(t) : t; + } + unpack(t, r5, n3) { + if (!t || (t.data && (t = t.data), !t)) return t; + let i5 = Object.keys(t)[0], o3 = Object.values(t)[0], s2 = Rm(r5), a5 = Wn(o3, s2), u = i5 === "queryRaw" ? Tn(a5) : Ae(a5); + return n3 ? n3(u) : u; + } + get [Symbol.toStringTag]() { + return "RequestHandler"; + } + }; + function vm(e5) { + if (e5) { + if (e5.kind === "batch") return { kind: "batch", options: { isolationLevel: e5.isolationLevel, maxWait: e5.maxWait, timeout: e5.timeout } }; + if (e5.kind === "itx") return { kind: "itx", options: Jl(e5) }; + $e(e5, "Unknown transaction kind"); + } + } + __name(vm, "vm"); + function Jl(e5) { + return { id: e5.id, payload: e5.payload }; + } + __name(Jl, "Jl"); + function Sm(e5, t) { + return (0, Ql.hasBatchIndex)(e5) && t?.kind === "batch" && e5.batchRequestIdx !== t.index; + } + __name(Sm, "Sm"); + function Am(e5) { + return e5.code === "P2009" || e5.code === "P2012"; + } + __name(Am, "Am"); + function Gl(e5) { + if (e5.kind === "Union") return { kind: "Union", errors: e5.errors.map(Gl) }; + if (Array.isArray(e5.selectionPath)) { + let [, ...t] = e5.selectionPath; + return { ...e5, selectionPath: t }; + } + return e5; + } + __name(Gl, "Gl"); + function Rm(e5) { + let t = []; + for (let r5 = 1; r5 < e5.length; r5 += 2) t.push(e5[r5]); + return t; + } + __name(Rm, "Rm"); + var Yi = mn; + var Zl = Pe(qn()); + var j5 = class extends Error { + static { + __name(this, "j"); + } + constructor(t) { + super(t + ` +Read more at https://pris.ly/d/client-constructor`), this.name = "PrismaClientConstructorValidationError"; + } + get [Symbol.toStringTag]() { + return "PrismaClientConstructorValidationError"; + } + }; + Bt(j5, "PrismaClientConstructorValidationError"); + var zl = ["errorFormat", "adapter", "accelerateUrl", "log", "transactionOptions", "omit", "comments", "queryPlanCacheMaxSize", "__internal"]; + var Hl = ["pretty", "colorless", "minimal"]; + var Wl = ["info", "query", "warn", "error"]; + var Cm = { adapter: /* @__PURE__ */ __name(() => { + }, "adapter"), accelerateUrl: /* @__PURE__ */ __name((e5) => { + if (e5 !== void 0) { + if (typeof e5 != "string") throw new j5(`Invalid value ${JSON.stringify(e5)} for "accelerateUrl" provided to PrismaClient constructor.`); + if (e5.trim().length === 0) throw new j5('"accelerateUrl" provided to PrismaClient constructor must be a non-empty string.'); + } + }, "accelerateUrl"), errorFormat: /* @__PURE__ */ __name((e5) => { + if (e5) { + if (typeof e5 != "string") throw new j5(`Invalid value ${JSON.stringify(e5)} for "errorFormat" provided to PrismaClient constructor.`); + if (!Hl.includes(e5)) { + let t = hr(e5, Hl); + throw new j5(`Invalid errorFormat ${e5} provided to PrismaClient constructor.${t}`); + } + } + }, "errorFormat"), log: /* @__PURE__ */ __name((e5) => { + if (!e5) return; + if (!Array.isArray(e5)) throw new j5(`Invalid value ${JSON.stringify(e5)} for "log" provided to PrismaClient constructor.`); + function t(r5) { + if (typeof r5 == "string" && !Wl.includes(r5)) { + let n3 = hr(r5, Wl); + throw new j5(`Invalid log level "${r5}" provided to PrismaClient constructor.${n3}`); + } + } + __name(t, "t"); + for (let r5 of e5) { + t(r5); + let n3 = { level: t, emit: /* @__PURE__ */ __name((i5) => { + let o3 = ["stdout", "event"]; + if (!o3.includes(i5)) { + let s2 = hr(i5, o3); + throw new j5(`Invalid value ${JSON.stringify(i5)} for "emit" in logLevel provided to PrismaClient constructor.${s2}`); + } + }, "emit") }; + if (r5 && typeof r5 == "object") for (let [i5, o3] of Object.entries(r5)) if (n3[i5]) n3[i5](o3); + else throw new j5(`Invalid property ${i5} for "log" provided to PrismaClient constructor`); + } + }, "log"), transactionOptions: /* @__PURE__ */ __name((e5) => { + if (!e5) return; + let t = e5.maxWait; + if (t != null && t <= 0) throw new j5(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`); + let r5 = e5.timeout; + if (r5 != null && r5 <= 0) throw new j5(`Invalid value ${r5} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`); + }, "transactionOptions"), omit: /* @__PURE__ */ __name((e5, t) => { + if (typeof e5 != "object") throw new j5('"omit" option is expected to be an object.'); + if (e5 === null) throw new j5('"omit" option can not be `null`'); + let r5 = []; + for (let [n3, i5] of Object.entries(e5)) { + let o3 = Om(n3, t.runtimeDataModel); + if (!o3) { + r5.push({ kind: "UnknownModel", modelKey: n3 }); + continue; + } + for (let [s2, a5] of Object.entries(i5)) { + let u = o3.fields.find((m3) => m3.name === s2); + if (!u) { + r5.push({ kind: "UnknownField", modelKey: n3, fieldName: s2 }); + continue; + } + if (u.relationName) { + r5.push({ kind: "RelationInOmit", modelKey: n3, fieldName: s2 }); + continue; + } + typeof a5 != "boolean" && r5.push({ kind: "InvalidFieldValue", modelKey: n3, fieldName: s2 }); + } + } + if (r5.length > 0) throw new j5(Nm(e5, r5)); + }, "omit"), queryPlanCacheMaxSize: /* @__PURE__ */ __name((e5) => { + if (e5 !== void 0) { + if (typeof e5 != "number") throw new j5(`Invalid value ${JSON.stringify(e5)} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Expected a number.`); + if (!Number.isInteger(e5)) throw new j5(`Invalid value ${e5} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Expected an integer.`); + if (e5 < 0) throw new j5(`Invalid value ${e5} for "queryPlanCacheMaxSize" provided to PrismaClient constructor. Cache size needs to be greater or equal to 0.`); + } + }, "queryPlanCacheMaxSize"), comments: /* @__PURE__ */ __name((e5) => { + if (e5 !== void 0) { + if (!Array.isArray(e5)) throw new j5(`Invalid value ${JSON.stringify(e5)} for "comments" provided to PrismaClient constructor. Expected an array of SQL commenter plugins.`); + for (let t = 0; t < e5.length; t++) if (typeof e5[t] != "function") throw new j5(`Invalid value at index ${t} for "comments" provided to PrismaClient constructor. Each plugin must be a function.`); + } + }, "comments"), __internal: /* @__PURE__ */ __name((e5) => { + if (!e5) return; + let t = ["debug", "engine", "configOverride"]; + if (typeof e5 != "object") throw new j5(`Invalid value ${JSON.stringify(e5)} for "__internal" to PrismaClient constructor`); + for (let [r5] of Object.entries(e5)) if (!t.includes(r5)) { + let n3 = hr(r5, t); + throw new j5(`Invalid property ${JSON.stringify(r5)} for "__internal" provided to PrismaClient constructor.${n3}`); + } + }, "__internal") }; + function Im(e5) { + let t = e5.adapter !== void 0, r5 = e5.accelerateUrl !== void 0; + if (t && r5) throw new j5('The "adapter" and "accelerateUrl" options are mutually exclusive. Please provide only one of them.'); + if (!t && !r5) throw new j5(`PrismaClient requires a driver adapter to connect to your database, but none was provided. + +Pass a driver adapter to the PrismaClient constructor, for example: + + import { PrismaPg } from '@prisma/adapter-pg' + import { PrismaClient } from './generated/prisma/client' + + const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) + const prisma = new PrismaClient({ adapter }) + +Learn more about driver adapters: https://pris.ly/d/driver-adapters + +If you use Prisma Accelerate instead of connecting to your database directly, pass \`accelerateUrl\` to the PrismaClient constructor instead of \`adapter\`.`); + } + __name(Im, "Im"); + function Xl(e5, t) { + for (let [r5, n3] of Object.entries(e5)) { + if (!zl.includes(r5)) { + let i5 = hr(r5, zl); + throw new j5(`Unknown property ${r5} provided to PrismaClient constructor.${i5}`); + } + Cm[r5](n3, t); + } + Im(e5); + } + __name(Xl, "Xl"); + function hr(e5, t) { + if (t.length === 0 || typeof e5 != "string") return ""; + let r5 = km(e5, t); + return r5 ? ` Did you mean "${r5}"?` : ""; + } + __name(hr, "hr"); + function km(e5, t) { + if (t.length === 0) return null; + let r5 = t.map((i5) => ({ value: i5, distance: (0, Zl.default)(e5, i5) })); + r5.sort((i5, o3) => i5.distance < o3.distance ? -1 : 1); + let n3 = r5[0]; + return n3.distance < 3 ? n3.value : null; + } + __name(km, "km"); + function Om(e5, t) { + return Kl(t.models, e5) ?? Kl(t.types, e5); + } + __name(Om, "Om"); + function Kl(e5, t) { + let r5 = Object.keys(e5).find((n3) => qe(n3) === t); + if (r5) return e5[r5]; + } + __name(Kl, "Kl"); + function Nm(e5, t) { + let r5 = bt(e5); + for (let o3 of t) switch (o3.kind) { + case "UnknownModel": + r5.arguments.getField(o3.modelKey)?.markAsError(), r5.addErrorMessage(() => `Unknown model name: ${o3.modelKey}.`); + break; + case "UnknownField": + r5.arguments.getDeepField([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => `Model "${o3.modelKey}" does not have a field named "${o3.fieldName}".`); + break; + case "RelationInOmit": + r5.arguments.getDeepField([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => 'Relations are already excluded by default and can not be specified in "omit".'); + break; + case "InvalidFieldValue": + r5.arguments.getDeepFieldValue([o3.modelKey, o3.fieldName])?.markAsError(), r5.addErrorMessage(() => "Omit field option value must be a boolean."); + break; + } + let { message: n3, args: i5 } = Mr(r5, "colorless"); + return `Error validating "omit" option: + +${i5} + +${n3}`; + } + __name(Nm, "Nm"); + var Yl = require_dist(); + function eu(e5) { + return e5.length === 0 ? Promise.resolve([]) : new Promise((t, r5) => { + let n3 = new Array(e5.length), i5 = null, o3 = false, s2 = 0, a5 = /* @__PURE__ */ __name(() => { + o3 || (s2++, s2 === e5.length && (o3 = true, i5 ? r5(i5) : t(n3))); + }, "a"), u = /* @__PURE__ */ __name((m3) => { + o3 || (o3 = true, r5(m3)); + }, "u"); + for (let m3 = 0; m3 < e5.length; m3++) e5[m3].then((P) => { + n3[m3] = P, a5(); + }, (P) => { + if (!(0, Yl.hasBatchIndex)(P)) { + u(P); + return; + } + P.batchRequestIdx === m3 ? u(P) : (i5 || (i5 = P), a5()); + }); + }); + } + __name(eu, "eu"); + var kt = K2("prisma:client"); + typeof globalThis == "object" && (globalThis.NODE_CLIENT = true); + var Dm = { requestArgsToMiddlewareArgs: /* @__PURE__ */ __name((e5) => e5, "requestArgsToMiddlewareArgs"), middlewareArgsToRequestArgs: /* @__PURE__ */ __name((e5) => e5, "middlewareArgsToRequestArgs") }; + var su = /* @__PURE__ */ Symbol.for("prisma.client.transaction.scope_context"); + function tu(e5) { + let r5 = e5[su]; + if (r5 === void 0) return { kind: "top-level" }; + if (Mm(r5)) return r5; + throw new Error("Internal error: inconsistent transaction scope context."); + } + __name(tu, "tu"); + function Mm(e5) { + if (typeof e5 != "object" || e5 === null) return false; + let t = e5; + return t.kind === "nested" && typeof t.txId == "string" && typeof t.scopeId == "string" && Fm(t.scopeState); + } + __name(Mm, "Mm"); + function Fm(e5) { + return typeof e5 != "object" || e5 === null ? false : Array.isArray(e5.stack); + } + __name(Fm, "Fm"); + function _m4() { + return typeof globalThis.crypto?.randomUUID == "function" ? globalThis.crypto.randomUUID() : `${Date.now()}-${Math.random().toString(16).slice(2)}`; + } + __name(_m4, "_m"); + var $m = { id: 0, nextId() { + return ++this.id; + } }; + function au(e5) { + class t { + static { + __name(this, "t"); + } + _originalClient = this; + _runtimeDataModel; + _requestHandler; + _connectionPromise; + _disconnectionPromise; + _engineConfig; + _accelerateEngineConfig; + _clientVersion; + _errorFormat; + _tracingHelper; + _previewFeatures; + _activeProvider; + _globalOmit; + _extensions; + _engine; + _appliedParent; + _createPrismaPromise = Hi(); + constructor(n3) { + if (!n3) throw new _.PrismaClientInitializationError(`PrismaClient was instantiated without any options. A driver adapter is required to connect to your database. + +Pass a driver adapter to the PrismaClient constructor, for example: + + import { PrismaPg } from '@prisma/adapter-pg' + import { PrismaClient } from './generated/prisma/client' + + const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) + const prisma = new PrismaClient({ adapter }) + +Learn more about driver adapters: https://pris.ly/d/driver-adapters + +If you use Prisma Accelerate instead of connecting to your database directly, pass \`accelerateUrl\` to the PrismaClient constructor instead of \`adapter\`.`, Yi); + e5 = n3.__internal?.configOverride?.(e5) ?? e5, Xl(n3, e5); + let i5 = new ou.EventEmitter().on("error", () => { + }); + this._extensions = Pt.empty(), this._previewFeatures = e5.previewFeatures, this._clientVersion = e5.clientVersion ?? Yi, this._activeProvider = e5.activeProvider, this._globalOmit = n3?.omit, this._tracingHelper = Vl(); + let o3; + if (n3.adapter) { + o3 = n3.adapter; + let s2 = e5.activeProvider === "postgresql" || e5.activeProvider === "cockroachdb" ? "postgres" : e5.activeProvider; + if (o3.provider !== s2) throw new _.PrismaClientInitializationError(`The Driver Adapter \`${o3.adapterName}\`, based on \`${o3.provider}\`, is not compatible with the provider \`${s2}\` specified in the Prisma schema.`, this._clientVersion); + } + try { + let s2 = n3 ?? {}, u = (s2.__internal ?? {}).debug === true; + if (u && K2.enable("prisma:client"), s2.errorFormat ? this._errorFormat = s2.errorFormat : process.env.NODE_ENV === "production" ? this._errorFormat = "minimal" : process.env.NO_COLOR ? this._errorFormat = "colorless" : this._errorFormat = "colorless", this._runtimeDataModel = e5.runtimeDataModel, this._engineConfig = { enableDebugLogs: u, logLevel: s2.log && Ul(s2.log), logQueries: s2.log && !!(typeof s2.log == "string" ? s2.log === "query" : s2.log.find((m3) => typeof m3 == "string" ? m3 === "query" : m3.level === "query")), compilerWasm: e5.compilerWasm, clientVersion: e5.clientVersion, previewFeatures: this._previewFeatures, activeProvider: e5.activeProvider, inlineSchema: e5.inlineSchema, tracingHelper: this._tracingHelper, transactionOptions: { maxWait: s2.transactionOptions?.maxWait ?? 2e3, timeout: s2.transactionOptions?.timeout ?? 5e3, isolationLevel: s2.transactionOptions?.isolationLevel }, logEmitter: i5, adapter: o3, accelerateUrl: s2.accelerateUrl, sqlCommenters: s2.comments, parameterizationSchema: e5.parameterizationSchema, runtimeDataModel: e5.runtimeDataModel, queryPlanCacheMaxSize: n3.queryPlanCacheMaxSize }, this._accelerateEngineConfig = Object.create(this._engineConfig), this._accelerateEngineConfig.accelerateUtils = { resolveDatasourceUrl: /* @__PURE__ */ __name(() => { + if (s2.accelerateUrl) return s2.accelerateUrl; + throw new _.PrismaClientInitializationError(`\`accelerateUrl\` is required when using \`@prisma/extension-accelerate\`: + +new PrismaClient({ + accelerateUrl: "prisma://...", +}).$extends(withAccelerate()) +`, e5.clientVersion); + }, "resolveDatasourceUrl") }, kt("clientVersion", e5.clientVersion), this._engine = vl(this._engineConfig), this._requestHandler = new vn(this, i5), s2.log) for (let m3 of s2.log) { + let P = typeof m3 == "string" ? m3 : m3.emit === "stdout" ? m3.level : null; + P && this.$on(P, (T2) => { + Ut.log(`${Ut.tags[P] ?? ""}`, T2.message || T2.query); + }); + } + } catch (s2) { + throw s2.clientVersion = this._clientVersion, s2; + } + return this._appliedParent = Yt(this); + } + get [Symbol.toStringTag]() { + return "PrismaClient"; + } + $on(n3, i5) { + return n3 === "beforeExit" ? this._engine.onBeforeExit(i5) : n3 && this._engineConfig.logEmitter.on(n3, i5), this; + } + $connect() { + try { + return this._engine.start(); + } catch (n3) { + throw n3.clientVersion = this._clientVersion, n3; + } + } + async $disconnect() { + try { + await this._engine.stop(); + } catch (n3) { + throw n3.clientVersion = this._clientVersion, n3; + } finally { + yo(); + } + } + $executeRawInternal(n3, i5, o3, s2) { + let a5 = this._activeProvider; + return this._request({ action: "executeRaw", args: o3, transaction: n3, clientMethod: i5, argsMapper: zi({ clientMethod: i5, activeProvider: a5, clientVersion: this._clientVersion }), callsite: je(this._errorFormat), dataPath: [], middlewareArgsMapper: s2 }); + } + $executeRaw(n3, ...i5) { + return this._createPrismaPromise((o3) => { + if (n3.raw !== void 0 || n3.sql !== void 0) { + let [s2, a5] = ru(n3, i5); + return Gi(this._activeProvider, s2.text, s2.values, Array.isArray(n3) ? "prisma.$executeRaw``" : "prisma.$executeRaw(sql``)"), this.$executeRawInternal(o3, "$executeRaw", s2, a5); + } + throw new _.PrismaClientValidationError("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n", { clientVersion: this._clientVersion }); + }); + } + $executeRawUnsafe(n3, ...i5) { + return this._createPrismaPromise((o3) => (Gi(this._activeProvider, n3, i5, "prisma.$executeRawUnsafe(, [...values])"), this.$executeRawInternal(o3, "$executeRawUnsafe", [n3, ...i5]))); + } + $runCommandRaw(n3) { + if (e5.activeProvider !== "mongodb") throw new _.PrismaClientValidationError(`The ${e5.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`, { clientVersion: this._clientVersion }); + return this._createPrismaPromise((i5) => this._request({ args: n3, clientMethod: "$runCommandRaw", dataPath: [], action: "runCommandRaw", argsMapper: Sl, callsite: je(this._errorFormat), transaction: i5 })); + } + async $queryRawInternal(n3, i5, o3, s2) { + let a5 = this._activeProvider; + return this._request({ action: "queryRaw", args: o3, transaction: n3, clientMethod: i5, argsMapper: zi({ clientMethod: i5, activeProvider: a5, clientVersion: this._clientVersion }), callsite: je(this._errorFormat), dataPath: [], middlewareArgsMapper: s2 }); + } + $queryRaw(n3, ...i5) { + return this._createPrismaPromise((o3) => { + if (n3.raw !== void 0 || n3.sql !== void 0) return this.$queryRawInternal(o3, "$queryRaw", ...ru(n3, i5)); + throw new _.PrismaClientValidationError("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n", { clientVersion: this._clientVersion }); + }); + } + $queryRawTyped(n3) { + return this._createPrismaPromise((i5) => { + if (!this._hasPreviewFlag("typedSql")) throw new _.PrismaClientValidationError("`typedSql` preview feature must be enabled in order to access $queryRawTyped API", { clientVersion: this._clientVersion }); + return this.$queryRawInternal(i5, "$queryRawTyped", n3); + }); + } + $queryRawUnsafe(n3, ...i5) { + return this._createPrismaPromise((o3) => this.$queryRawInternal(o3, "$queryRawUnsafe", [n3, ...i5])); + } + _transactionWithArray({ promises: n3, options: i5 }) { + let o3 = $m.nextId(), s2 = ql(n3.length), a5 = n3.map((u, m3) => { + if (u?.[Symbol.toStringTag] !== "PrismaPromise") throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function."); + let P = i5?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel, T2 = { kind: "batch", id: o3, index: m3, isolationLevel: P, maxWait: i5?.maxWait ?? this._engineConfig.transactionOptions.maxWait, timeout: i5?.timeout ?? this._engineConfig.transactionOptions.timeout, lock: s2 }; + return u.requestTransaction?.(T2) ?? u; + }); + return eu(a5); + } + async _transactionWithCallback({ callback: n3, options: i5 = {} }) { + let o3 = tu(this), s2 = o3.kind === "nested", a5 = s2 ? o3.scopeState : { stack: [] }, u = a5.stack, m3 = _m4(); + if (s2 && u.at(-1) !== o3.scopeId) throw new Error("Concurrent nested transactions are not supported"); + u.push(m3); + let P = { traceparent: this._tracingHelper.getTraceParent() }, T2 = { maxWait: i5?.maxWait ?? this._engineConfig.transactionOptions.maxWait, timeout: i5?.timeout ?? this._engineConfig.transactionOptions.timeout, isolationLevel: i5?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel, newTxId: s2 ? o3.txId : void 0 }, S; + try { + S = await this._engine.transaction("start", P, T2); + } catch (A) { + throw u.at(-1) === m3 && u.pop(), A; + } + let I; + try { + let A = { kind: "itx", ...S }; + if (I = await n3(this._createItxClient(A, m3, a5)), s2) { + if (u.at(-1) !== m3) throw new Error("Nested transactions must be closed in reverse order of creation."); + } else if (u.length !== 1) throw new Error("Cannot close transaction while a nested transaction is still active."); + await this._engine.transaction("commit", P, S); + } catch (A) { + let L = u.at(-1) !== m3 ? Math.max(1, u.length) : 1; + for (let q3 = 0; q3 < L; q3++) await this._engine.transaction("rollback", P, S).catch((E) => { + kt("rollback attempt %d/%d failed: %O", q3 + 1, L, E); + }); + throw A; + } finally { + u.at(-1) === m3 ? u.pop() : u.length = 0; + } + return I; + } + _createItxClient(n3, i5, o3) { + let s2 = { kind: "nested", txId: n3.id, scopeId: i5, scopeState: o3 }; + return ve(Yt(ve(As(this), [ae("_appliedParent", () => this._appliedParent._createItxClient(n3, i5, o3)), ae("_createPrismaPromise", () => Hi(n3)), ae(su, () => s2)])), [Et(Os)]); + } + $transaction(n3, i5) { + let o3; + typeof n3 == "function" ? this._engineConfig.adapter?.adapterName === "@prisma/adapter-d1" ? o3 = /* @__PURE__ */ __name(() => { + throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable."); + }, "o") : e5.activeProvider === "mongodb" && tu(this).kind === "nested" ? o3 = /* @__PURE__ */ __name(() => { + throw new _.PrismaClientValidationError(`The ${e5.activeProvider} provider does not support nested transactions`, { clientVersion: this._clientVersion }); + }, "o") : o3 = /* @__PURE__ */ __name(() => this._transactionWithCallback({ callback: n3, options: i5 }), "o") : o3 = /* @__PURE__ */ __name(() => this._transactionWithArray({ promises: n3, options: i5 }), "o"); + let s2 = { name: "transaction", attributes: { method: "$transaction" } }; + return this._tracingHelper.runInChildSpan(s2, o3); + } + _request(n3) { + n3.otelParentCtx = this._tracingHelper.getActiveContext(); + let i5 = n3.middlewareArgsMapper ?? Dm, o3 = { args: i5.requestArgsToMiddlewareArgs(n3.args), dataPath: n3.dataPath, runInTransaction: !!n3.transaction, action: n3.action, model: n3.model }, s2 = { operation: { name: "operation", attributes: { method: o3.action, model: o3.model, name: o3.model ? `${o3.model}.${o3.action}` : o3.action } } }, a5 = /* @__PURE__ */ __name(async (u) => { + let { runInTransaction: m3, args: P, ...T2 } = u, S = { ...n3, ...T2 }; + P && (S.args = i5.middlewareArgsToRequestArgs(P)), n3.transaction !== void 0 && m3 === false && delete S.transaction; + let I = await Fs(this, S); + if (!S.model) return I; + let A = qs({ dataPath: S.dataPath, modelName: S.model, args: S.args, runtimeDataModel: this._runtimeDataModel }); + return ks({ result: I, modelName: A.modelName, args: A.args, extensions: this._extensions, runtimeDataModel: this._runtimeDataModel, globalOmit: this._globalOmit }); + }, "a"); + return this._tracingHelper.runInChildSpan(s2.operation, () => new iu.AsyncResource("prisma-client-request").runInAsyncScope(() => a5(o3))); + } + async _executeRequest({ args: n3, clientMethod: i5, dataPath: o3, callsite: s2, action: a5, model: u, argsMapper: m3, transaction: P, unpacker: T2, otelParentCtx: S, customDataProxyFetch: I }) { + try { + n3 = m3 ? m3(n3) : n3; + let A = { name: "serialize" }, M = this._tracingHelper.runInChildSpan(A, () => Vr({ modelName: u, runtimeDataModel: this._runtimeDataModel, action: a5, args: n3, clientMethod: i5, callsite: s2, extensions: this._extensions, errorFormat: this._errorFormat, clientVersion: this._clientVersion, previewFeatures: this._previewFeatures, globalOmit: this._globalOmit })); + return K2.enabled("prisma:client") && (kt("Prisma Client call:"), kt(`prisma.${i5}(${gs(n3)})`), kt("Generated request:"), kt(JSON.stringify(M, null, 2) + ` +`)), P?.kind === "batch" && await P.lock, this._requestHandler.request({ protocolQuery: M, modelName: u, action: a5, clientMethod: i5, dataPath: o3, callsite: s2, args: n3, extensions: this._extensions, transaction: P, unpacker: T2, otelParentCtx: S, otelChildCtx: this._tracingHelper.getActiveContext(), globalOmit: this._globalOmit, customDataProxyFetch: I }); + } catch (A) { + throw A.clientVersion = this._clientVersion, A; + } + } + _hasPreviewFlag(n3) { + return !!this._engineConfig.previewFeatures?.includes(n3); + } + $extends = Rs; + } + return t; + } + __name(au, "au"); + function ru(e5, t) { + return Lm(e5) ? [new nu.Sql(e5, t), Dl] : [e5, Ml]; + } + __name(ru, "ru"); + function Lm(e5) { + return Array.isArray(e5) && Array.isArray(e5.raw); + } + __name(Lm, "Lm"); + var Vm = /* @__PURE__ */ new Set(["toJSON", "$$typeof", "asymmetricMatch", Symbol.iterator, Symbol.toStringTag, Symbol.isConcatSpreadable, Symbol.toPrimitive]); + function lu(e5) { + return new Proxy(e5, { get(t, r5) { + if (r5 in t) return t[r5]; + if (!Vm.has(r5)) throw new TypeError(`Invalid enum value: ${String(r5)}`); + } }); + } + __name(lu, "lu"); + var qm = /* @__PURE__ */ __name(() => globalThis.process?.release?.name === "node", "qm"); + var Um = /* @__PURE__ */ __name(() => !!globalThis.Bun || !!globalThis.process?.versions?.bun, "Um"); + var jm = /* @__PURE__ */ __name(() => !!globalThis.Deno, "jm"); + var Bm = /* @__PURE__ */ __name(() => typeof globalThis.Netlify == "object", "Bm"); + var Qm = /* @__PURE__ */ __name(() => typeof globalThis.EdgeRuntime == "object", "Qm"); + var Jm = /* @__PURE__ */ __name(() => globalThis.navigator?.userAgent === "Cloudflare-Workers", "Jm"); + function Gm() { + return [[Bm, "netlify"], [Qm, "edge-light"], [Jm, "workerd"], [jm, "deno"], [Um, "bun"], [qm, "node"]].flatMap((r5) => r5[0]() ? [r5[1]] : []).at(0) ?? ""; + } + __name(Gm, "Gm"); + var zm = { node: "Node.js", workerd: "Cloudflare Workers", deno: "Deno and Deno Deploy", netlify: "Netlify Edge Functions", "edge-light": "Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)" }; + function uu() { + let e5 = Gm(); + return { id: e5, prettyName: zm[e5] || e5, isEdge: ["workerd", "deno", "netlify", "edge-light"].includes(e5) }; + } + __name(uu, "uu"); + var _ = require_dist(); + var Fe = require_dist(); + var ee = require_dist(); + var cu = require_dist(); + } +}); + +// ../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js +var require_safe_buffer = __commonJS({ + "../../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js"(exports, module) { + var buffer = __require("buffer"); + var Buffer2 = buffer.Buffer; + function copyProps(src, dst) { + for (var key in src) { + dst[key] = src[key]; + } + } + __name(copyProps, "copyProps"); + if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) { + module.exports = buffer; + } else { + copyProps(buffer, exports); + exports.Buffer = SafeBuffer; + } + function SafeBuffer(arg, encodingOrOffset, length) { + return Buffer2(arg, encodingOrOffset, length); + } + __name(SafeBuffer, "SafeBuffer"); + SafeBuffer.prototype = Object.create(Buffer2.prototype); + copyProps(Buffer2, SafeBuffer); + SafeBuffer.from = function(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + throw new TypeError("Argument must not be a number"); + } + return Buffer2(arg, encodingOrOffset, length); + }; + SafeBuffer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + var buf = Buffer2(size); + if (fill !== void 0) { + if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + } else { + buf.fill(0); + } + return buf; + }; + SafeBuffer.allocUnsafe = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return Buffer2(size); + }; + SafeBuffer.allocUnsafeSlow = function(size) { + if (typeof size !== "number") { + throw new TypeError("Argument must be a number"); + } + return buffer.SlowBuffer(size); + }; + } +}); + +// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js +var require_data_stream = __commonJS({ + "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js"(exports, module) { + var Buffer2 = require_safe_buffer().Buffer; + var Stream = __require("stream"); + var util = __require("util"); + function DataStream(data) { + this.buffer = null; + this.writable = true; + this.readable = true; + if (!data) { + this.buffer = Buffer2.alloc(0); + return this; + } + if (typeof data.pipe === "function") { + this.buffer = Buffer2.alloc(0); + data.pipe(this); + return this; + } + if (data.length || typeof data === "object") { + this.buffer = data; + this.writable = false; + process.nextTick(function() { + this.emit("end", data); + this.readable = false; + this.emit("close"); + }.bind(this)); + return this; + } + throw new TypeError("Unexpected data type (" + typeof data + ")"); + } + __name(DataStream, "DataStream"); + util.inherits(DataStream, Stream); + DataStream.prototype.write = /* @__PURE__ */ __name(function write(data) { + this.buffer = Buffer2.concat([this.buffer, Buffer2.from(data)]); + this.emit("data", data); + }, "write"); + DataStream.prototype.end = /* @__PURE__ */ __name(function end(data) { + if (data) + this.write(data); + this.emit("end", data); + this.emit("close"); + this.writable = false; + this.readable = false; + }, "end"); + module.exports = DataStream; + } +}); + +// ../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +var require_param_bytes_for_alg = __commonJS({ + "../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js"(exports, module) { + "use strict"; + function getParamSize(keySize) { + var result = (keySize / 8 | 0) + (keySize % 8 === 0 ? 0 : 1); + return result; + } + __name(getParamSize, "getParamSize"); + var paramBytesForAlg = { + ES256: getParamSize(256), + ES384: getParamSize(384), + ES512: getParamSize(521) + }; + function getParamBytesForAlg(alg) { + var paramBytes = paramBytesForAlg[alg]; + if (paramBytes) { + return paramBytes; + } + throw new Error('Unknown algorithm "' + alg + '"'); + } + __name(getParamBytesForAlg, "getParamBytesForAlg"); + module.exports = getParamBytesForAlg; + } +}); + +// ../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +var require_ecdsa_sig_formatter = __commonJS({ + "../../node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js"(exports, module) { + "use strict"; + var Buffer2 = require_safe_buffer().Buffer; + var getParamBytesForAlg = require_param_bytes_for_alg(); + var MAX_OCTET = 128; + var CLASS_UNIVERSAL = 0; + var PRIMITIVE_BIT = 32; + var TAG_SEQ = 16; + var TAG_INT = 2; + var ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | CLASS_UNIVERSAL << 6; + var ENCODED_TAG_INT = TAG_INT | CLASS_UNIVERSAL << 6; + function base64Url(base643) { + return base643.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); + } + __name(base64Url, "base64Url"); + function signatureAsBuffer(signature) { + if (Buffer2.isBuffer(signature)) { + return signature; + } else if ("string" === typeof signature) { + return Buffer2.from(signature, "base64"); + } + throw new TypeError("ECDSA signature must be a Base64 string or a Buffer"); + } + __name(signatureAsBuffer, "signatureAsBuffer"); + function derToJose(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + var maxEncodedParamLength = paramBytes + 1; + var inputLength = signature.length; + var offset = 0; + if (signature[offset++] !== ENCODED_TAG_SEQ) { + throw new Error('Could not find expected "seq"'); + } + var seqLength = signature[offset++]; + if (seqLength === (MAX_OCTET | 1)) { + seqLength = signature[offset++]; + } + if (inputLength - offset < seqLength) { + throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining'); + } + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "r"'); + } + var rLength = signature[offset++]; + if (inputLength - offset - 2 < rLength) { + throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available'); + } + if (maxEncodedParamLength < rLength) { + throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + var rOffset = offset; + offset += rLength; + if (signature[offset++] !== ENCODED_TAG_INT) { + throw new Error('Could not find expected "int" for "s"'); + } + var sLength = signature[offset++]; + if (inputLength - offset !== sLength) { + throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"'); + } + if (maxEncodedParamLength < sLength) { + throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable'); + } + var sOffset = offset; + offset += sLength; + if (offset !== inputLength) { + throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain'); + } + var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength; + var dst = Buffer2.allocUnsafe(rPadding + rLength + sPadding + sLength); + for (offset = 0; offset < rPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength); + offset = paramBytes; + for (var o3 = offset; offset < o3 + sPadding; ++offset) { + dst[offset] = 0; + } + signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength); + dst = dst.toString("base64"); + dst = base64Url(dst); + return dst; + } + __name(derToJose, "derToJose"); + function countPadding(buf, start, stop) { + var padding = 0; + while (start + padding < stop && buf[start + padding] === 0) { + ++padding; + } + var needsSign = buf[start + padding] >= MAX_OCTET; + if (needsSign) { + --padding; + } + return padding; + } + __name(countPadding, "countPadding"); + function joseToDer(signature, alg) { + signature = signatureAsBuffer(signature); + var paramBytes = getParamBytesForAlg(alg); + var signatureBytes = signature.length; + if (signatureBytes !== paramBytes * 2) { + throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"'); + } + var rPadding = countPadding(signature, 0, paramBytes); + var sPadding = countPadding(signature, paramBytes, signature.length); + var rLength = paramBytes - rPadding; + var sLength = paramBytes - sPadding; + var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength; + var shortLength = rsBytes < MAX_OCTET; + var dst = Buffer2.allocUnsafe((shortLength ? 2 : 3) + rsBytes); + var offset = 0; + dst[offset++] = ENCODED_TAG_SEQ; + if (shortLength) { + dst[offset++] = rsBytes; + } else { + dst[offset++] = MAX_OCTET | 1; + dst[offset++] = rsBytes & 255; + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = rLength; + if (rPadding < 0) { + dst[offset++] = 0; + offset += signature.copy(dst, offset, 0, paramBytes); + } else { + offset += signature.copy(dst, offset, rPadding, paramBytes); + } + dst[offset++] = ENCODED_TAG_INT; + dst[offset++] = sLength; + if (sPadding < 0) { + dst[offset++] = 0; + signature.copy(dst, offset, paramBytes); + } else { + signature.copy(dst, offset, paramBytes + sPadding); + } + return dst; + } + __name(joseToDer, "joseToDer"); + module.exports = { + derToJose, + joseToDer + }; + } +}); + +// ../../node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js +var require_buffer_equal_constant_time = __commonJS({ + "../../node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js"(exports, module) { + "use strict"; + var Buffer2 = __require("buffer").Buffer; + var SlowBuffer = __require("buffer").SlowBuffer; + module.exports = bufferEq; + function bufferEq(a5, b5) { + if (!Buffer2.isBuffer(a5) || !Buffer2.isBuffer(b5)) { + return false; + } + if (a5.length !== b5.length) { + return false; + } + var c5 = 0; + for (var i5 = 0; i5 < a5.length; i5++) { + c5 |= a5[i5] ^ b5[i5]; + } + return c5 === 0; + } + __name(bufferEq, "bufferEq"); + bufferEq.install = function() { + Buffer2.prototype.equal = SlowBuffer.prototype.equal = /* @__PURE__ */ __name(function equal(that) { + return bufferEq(this, that); + }, "equal"); + }; + var origBufEqual = Buffer2.prototype.equal; + var origSlowBufEqual = SlowBuffer.prototype.equal; + bufferEq.restore = function() { + Buffer2.prototype.equal = origBufEqual; + SlowBuffer.prototype.equal = origSlowBufEqual; + }; + } +}); + +// ../../node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js +var require_jwa = __commonJS({ + "../../node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js"(exports, module) { + var Buffer2 = require_safe_buffer().Buffer; + var crypto2 = __require("crypto"); + var formatEcdsa = require_ecdsa_sig_formatter(); + var util = __require("util"); + var MSG_INVALID_ALGORITHM = '"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".'; + var MSG_INVALID_SECRET = "secret must be a string or buffer"; + var MSG_INVALID_VERIFIER_KEY = "key must be a string or a buffer"; + var MSG_INVALID_SIGNER_KEY = "key must be a string, a buffer or an object"; + var supportsKeyObjects = typeof crypto2.createPublicKey === "function"; + if (supportsKeyObjects) { + MSG_INVALID_VERIFIER_KEY += " or a KeyObject"; + MSG_INVALID_SECRET += "or a KeyObject"; + } + function checkIsPublicKey(key) { + if (Buffer2.isBuffer(key)) { + return; + } + if (typeof key === "string") { + return; + } + if (!supportsKeyObjects) { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + if (typeof key !== "object") { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + if (typeof key.type !== "string") { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + if (typeof key.asymmetricKeyType !== "string") { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + if (typeof key.export !== "function") { + throw typeError(MSG_INVALID_VERIFIER_KEY); + } + } + __name(checkIsPublicKey, "checkIsPublicKey"); + function checkIsPrivateKey(key) { + if (Buffer2.isBuffer(key)) { + return; + } + if (typeof key === "string") { + return; + } + if (typeof key === "object") { + return; + } + throw typeError(MSG_INVALID_SIGNER_KEY); + } + __name(checkIsPrivateKey, "checkIsPrivateKey"); + function checkIsSecretKey(key) { + if (Buffer2.isBuffer(key)) { + return; + } + if (typeof key === "string") { + return key; + } + if (!supportsKeyObjects) { + throw typeError(MSG_INVALID_SECRET); + } + if (typeof key !== "object") { + throw typeError(MSG_INVALID_SECRET); + } + if (key.type !== "secret") { + throw typeError(MSG_INVALID_SECRET); + } + if (typeof key.export !== "function") { + throw typeError(MSG_INVALID_SECRET); + } + } + __name(checkIsSecretKey, "checkIsSecretKey"); + function fromBase642(base643) { + return base643.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); + } + __name(fromBase642, "fromBase64"); + function toBase642(base64url3) { + base64url3 = base64url3.toString(); + var padding = 4 - base64url3.length % 4; + if (padding !== 4) { + for (var i5 = 0; i5 < padding; ++i5) { + base64url3 += "="; + } + } + return base64url3.replace(/\-/g, "+").replace(/_/g, "/"); + } + __name(toBase642, "toBase64"); + function typeError(template) { + var args = [].slice.call(arguments, 1); + var errMsg = util.format.bind(util, template).apply(null, args); + return new TypeError(errMsg); + } + __name(typeError, "typeError"); + function bufferOrString(obj) { + return Buffer2.isBuffer(obj) || typeof obj === "string"; + } + __name(bufferOrString, "bufferOrString"); + function normalizeInput(thing) { + if (!bufferOrString(thing)) + thing = JSON.stringify(thing); + return thing; + } + __name(normalizeInput, "normalizeInput"); + function createHmacSigner(bits) { + return /* @__PURE__ */ __name(function sign2(thing, secret) { + checkIsSecretKey(secret); + thing = normalizeInput(thing); + var hmac = crypto2.createHmac("sha" + bits, secret); + var sig = (hmac.update(thing), hmac.digest("base64")); + return fromBase642(sig); + }, "sign"); + } + __name(createHmacSigner, "createHmacSigner"); + var bufferEqual; + var timingSafeEqual = "timingSafeEqual" in crypto2 ? /* @__PURE__ */ __name(function timingSafeEqual2(a5, b5) { + if (a5.byteLength !== b5.byteLength) { + return false; + } + return crypto2.timingSafeEqual(a5, b5); + }, "timingSafeEqual") : /* @__PURE__ */ __name(function timingSafeEqual2(a5, b5) { + if (!bufferEqual) { + bufferEqual = require_buffer_equal_constant_time(); + } + return bufferEqual(a5, b5); + }, "timingSafeEqual"); + function createHmacVerifier(bits) { + return /* @__PURE__ */ __name(function verify2(thing, signature, secret) { + var computedSig = createHmacSigner(bits)(thing, secret); + return timingSafeEqual(Buffer2.from(signature), Buffer2.from(computedSig)); + }, "verify"); + } + __name(createHmacVerifier, "createHmacVerifier"); + function createKeySigner(bits) { + return /* @__PURE__ */ __name(function sign2(thing, privateKey) { + checkIsPrivateKey(privateKey); + thing = normalizeInput(thing); + var signer = crypto2.createSign("RSA-SHA" + bits); + var sig = (signer.update(thing), signer.sign(privateKey, "base64")); + return fromBase642(sig); + }, "sign"); + } + __name(createKeySigner, "createKeySigner"); + function createKeyVerifier(bits) { + return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) { + checkIsPublicKey(publicKey); + thing = normalizeInput(thing); + signature = toBase642(signature); + var verifier = crypto2.createVerify("RSA-SHA" + bits); + verifier.update(thing); + return verifier.verify(publicKey, signature, "base64"); + }, "verify"); + } + __name(createKeyVerifier, "createKeyVerifier"); + function createPSSKeySigner(bits) { + return /* @__PURE__ */ __name(function sign2(thing, privateKey) { + checkIsPrivateKey(privateKey); + thing = normalizeInput(thing); + var signer = crypto2.createSign("RSA-SHA" + bits); + var sig = (signer.update(thing), signer.sign({ + key: privateKey, + padding: crypto2.constants.RSA_PKCS1_PSS_PADDING, + saltLength: crypto2.constants.RSA_PSS_SALTLEN_DIGEST + }, "base64")); + return fromBase642(sig); + }, "sign"); + } + __name(createPSSKeySigner, "createPSSKeySigner"); + function createPSSKeyVerifier(bits) { + return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) { + checkIsPublicKey(publicKey); + thing = normalizeInput(thing); + signature = toBase642(signature); + var verifier = crypto2.createVerify("RSA-SHA" + bits); + verifier.update(thing); + return verifier.verify({ + key: publicKey, + padding: crypto2.constants.RSA_PKCS1_PSS_PADDING, + saltLength: crypto2.constants.RSA_PSS_SALTLEN_DIGEST + }, signature, "base64"); + }, "verify"); + } + __name(createPSSKeyVerifier, "createPSSKeyVerifier"); + function createECDSASigner(bits) { + var inner = createKeySigner(bits); + return /* @__PURE__ */ __name(function sign2() { + var signature = inner.apply(null, arguments); + signature = formatEcdsa.derToJose(signature, "ES" + bits); + return signature; + }, "sign"); + } + __name(createECDSASigner, "createECDSASigner"); + function createECDSAVerifer(bits) { + var inner = createKeyVerifier(bits); + return /* @__PURE__ */ __name(function verify2(thing, signature, publicKey) { + signature = formatEcdsa.joseToDer(signature, "ES" + bits).toString("base64"); + var result = inner(thing, signature, publicKey); + return result; + }, "verify"); + } + __name(createECDSAVerifer, "createECDSAVerifer"); + function createNoneSigner() { + return /* @__PURE__ */ __name(function sign2() { + return ""; + }, "sign"); + } + __name(createNoneSigner, "createNoneSigner"); + function createNoneVerifier() { + return /* @__PURE__ */ __name(function verify2(thing, signature) { + return signature === ""; + }, "verify"); + } + __name(createNoneVerifier, "createNoneVerifier"); + module.exports = /* @__PURE__ */ __name(function jwa(algorithm) { + var signerFactories = { + hs: createHmacSigner, + rs: createKeySigner, + ps: createPSSKeySigner, + es: createECDSASigner, + none: createNoneSigner + }; + var verifierFactories = { + hs: createHmacVerifier, + rs: createKeyVerifier, + ps: createPSSKeyVerifier, + es: createECDSAVerifer, + none: createNoneVerifier + }; + var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/); + if (!match) + throw typeError(MSG_INVALID_ALGORITHM, algorithm); + var algo = (match[1] || match[3]).toLowerCase(); + var bits = match[2]; + return { + sign: signerFactories[algo](bits), + verify: verifierFactories[algo](bits) + }; + }, "jwa"); + } +}); + +// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js +var require_tostring = __commonJS({ + "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js"(exports, module) { + var Buffer2 = __require("buffer").Buffer; + module.exports = /* @__PURE__ */ __name(function toString(obj) { + if (typeof obj === "string") + return obj; + if (typeof obj === "number" || Buffer2.isBuffer(obj)) + return obj.toString(); + return JSON.stringify(obj); + }, "toString"); + } +}); + +// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js +var require_sign_stream = __commonJS({ + "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js"(exports, module) { + var Buffer2 = require_safe_buffer().Buffer; + var DataStream = require_data_stream(); + var jwa = require_jwa(); + var Stream = __require("stream"); + var toString = require_tostring(); + var util = __require("util"); + function base64url3(string4, encoding) { + return Buffer2.from(string4, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); + } + __name(base64url3, "base64url"); + function jwsSecuredInput(header, payload, encoding) { + encoding = encoding || "utf8"; + var encodedHeader = base64url3(toString(header), "binary"); + var encodedPayload = base64url3(toString(payload), encoding); + return util.format("%s.%s", encodedHeader, encodedPayload); + } + __name(jwsSecuredInput, "jwsSecuredInput"); + function jwsSign(opts) { + var header = opts.header; + var payload = opts.payload; + var secretOrKey = opts.secret || opts.privateKey; + var encoding = opts.encoding; + var algo = jwa(header.alg); + var securedInput = jwsSecuredInput(header, payload, encoding); + var signature = algo.sign(securedInput, secretOrKey); + return util.format("%s.%s", securedInput, signature); + } + __name(jwsSign, "jwsSign"); + function SignStream(opts) { + var secret = opts.secret; + secret = secret == null ? opts.privateKey : secret; + secret = secret == null ? opts.key : secret; + if (/^hs/i.test(opts.header.alg) === true && secret == null) { + throw new TypeError("secret must be a string or buffer or a KeyObject"); + } + var secretStream = new DataStream(secret); + this.readable = true; + this.header = opts.header; + this.encoding = opts.encoding; + this.secret = this.privateKey = this.key = secretStream; + this.payload = new DataStream(opts.payload); + this.secret.once("close", function() { + if (!this.payload.writable && this.readable) + this.sign(); + }.bind(this)); + this.payload.once("close", function() { + if (!this.secret.writable && this.readable) + this.sign(); + }.bind(this)); + } + __name(SignStream, "SignStream"); + util.inherits(SignStream, Stream); + SignStream.prototype.sign = /* @__PURE__ */ __name(function sign2() { + try { + var signature = jwsSign({ + header: this.header, + payload: this.payload.buffer, + secret: this.secret.buffer, + encoding: this.encoding + }); + this.emit("done", signature); + this.emit("data", signature); + this.emit("end"); + this.readable = false; + return signature; + } catch (e5) { + this.readable = false; + this.emit("error", e5); + this.emit("close"); + } + }, "sign"); + SignStream.sign = jwsSign; + module.exports = SignStream; + } +}); + +// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js +var require_verify_stream = __commonJS({ + "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js"(exports, module) { + var Buffer2 = require_safe_buffer().Buffer; + var DataStream = require_data_stream(); + var jwa = require_jwa(); + var Stream = __require("stream"); + var toString = require_tostring(); + var util = __require("util"); + var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/; + function isObject2(thing) { + return Object.prototype.toString.call(thing) === "[object Object]"; + } + __name(isObject2, "isObject"); + function safeJsonParse(thing) { + if (isObject2(thing)) + return thing; + try { + return JSON.parse(thing); + } catch (e5) { + return void 0; + } + } + __name(safeJsonParse, "safeJsonParse"); + function headerFromJWS(jwsSig) { + var encodedHeader = jwsSig.split(".", 1)[0]; + return safeJsonParse(Buffer2.from(encodedHeader, "base64").toString("binary")); + } + __name(headerFromJWS, "headerFromJWS"); + function securedInputFromJWS(jwsSig) { + return jwsSig.split(".", 2).join("."); + } + __name(securedInputFromJWS, "securedInputFromJWS"); + function signatureFromJWS(jwsSig) { + return jwsSig.split(".")[2]; + } + __name(signatureFromJWS, "signatureFromJWS"); + function payloadFromJWS(jwsSig, encoding) { + encoding = encoding || "utf8"; + var payload = jwsSig.split(".")[1]; + return Buffer2.from(payload, "base64").toString(encoding); + } + __name(payloadFromJWS, "payloadFromJWS"); + function isValidJws(string4) { + return JWS_REGEX.test(string4) && !!headerFromJWS(string4); + } + __name(isValidJws, "isValidJws"); + function jwsVerify(jwsSig, algorithm, secretOrKey) { + if (!algorithm) { + var err = new Error("Missing algorithm parameter for jws.verify"); + err.code = "MISSING_ALGORITHM"; + throw err; + } + jwsSig = toString(jwsSig); + var signature = signatureFromJWS(jwsSig); + var securedInput = securedInputFromJWS(jwsSig); + var algo = jwa(algorithm); + return algo.verify(securedInput, signature, secretOrKey); + } + __name(jwsVerify, "jwsVerify"); + function jwsDecode(jwsSig, opts) { + opts = opts || {}; + jwsSig = toString(jwsSig); + if (!isValidJws(jwsSig)) + return null; + var header = headerFromJWS(jwsSig); + if (!header) + return null; + var payload = payloadFromJWS(jwsSig); + if (header.typ === "JWT" || opts.json) + payload = JSON.parse(payload, opts.encoding); + return { + header, + payload, + signature: signatureFromJWS(jwsSig) + }; + } + __name(jwsDecode, "jwsDecode"); + function VerifyStream(opts) { + opts = opts || {}; + var secretOrKey = opts.secret; + secretOrKey = secretOrKey == null ? opts.publicKey : secretOrKey; + secretOrKey = secretOrKey == null ? opts.key : secretOrKey; + if (/^hs/i.test(opts.algorithm) === true && secretOrKey == null) { + throw new TypeError("secret must be a string or buffer or a KeyObject"); + } + var secretStream = new DataStream(secretOrKey); + this.readable = true; + this.algorithm = opts.algorithm; + this.encoding = opts.encoding; + this.secret = this.publicKey = this.key = secretStream; + this.signature = new DataStream(opts.signature); + this.secret.once("close", function() { + if (!this.signature.writable && this.readable) + this.verify(); + }.bind(this)); + this.signature.once("close", function() { + if (!this.secret.writable && this.readable) + this.verify(); + }.bind(this)); + } + __name(VerifyStream, "VerifyStream"); + util.inherits(VerifyStream, Stream); + VerifyStream.prototype.verify = /* @__PURE__ */ __name(function verify2() { + try { + var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer); + var obj = jwsDecode(this.signature.buffer, this.encoding); + this.emit("done", valid, obj); + this.emit("data", valid); + this.emit("end"); + this.readable = false; + return valid; + } catch (e5) { + this.readable = false; + this.emit("error", e5); + this.emit("close"); + } + }, "verify"); + VerifyStream.decode = jwsDecode; + VerifyStream.isValid = isValidJws; + VerifyStream.verify = jwsVerify; + module.exports = VerifyStream; + } +}); + +// ../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js +var require_jws = __commonJS({ + "../../node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js"(exports) { + var SignStream = require_sign_stream(); + var VerifyStream = require_verify_stream(); + var ALGORITHMS = [ + "HS256", + "HS384", + "HS512", + "RS256", + "RS384", + "RS512", + "PS256", + "PS384", + "PS512", + "ES256", + "ES384", + "ES512" + ]; + exports.ALGORITHMS = ALGORITHMS; + exports.sign = SignStream.sign; + exports.verify = VerifyStream.verify; + exports.decode = VerifyStream.decode; + exports.isValid = VerifyStream.isValid; + exports.createSign = /* @__PURE__ */ __name(function createSign(opts) { + return new SignStream(opts); + }, "createSign"); + exports.createVerify = /* @__PURE__ */ __name(function createVerify(opts) { + return new VerifyStream(opts); + }, "createVerify"); + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/decode.js +var require_decode = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/decode.js"(exports, module) { + var jws = require_jws(); + module.exports = function(jwt2, options) { + options = options || {}; + var decoded = jws.decode(jwt2, options); + if (!decoded) { + return null; + } + var payload = decoded.payload; + if (typeof payload === "string") { + try { + var obj = JSON.parse(payload); + if (obj !== null && typeof obj === "object") { + payload = obj; + } + } catch (e5) { + } + } + if (options.complete === true) { + return { + header: decoded.header, + payload, + signature: decoded.signature + }; + } + return payload; + }; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/JsonWebTokenError.js +var require_JsonWebTokenError = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/JsonWebTokenError.js"(exports, module) { + var JsonWebTokenError2 = /* @__PURE__ */ __name(function(message, error62) { + Error.call(this, message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "JsonWebTokenError"; + this.message = message; + if (error62) this.inner = error62; + }, "JsonWebTokenError"); + JsonWebTokenError2.prototype = Object.create(Error.prototype); + JsonWebTokenError2.prototype.constructor = JsonWebTokenError2; + module.exports = JsonWebTokenError2; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/NotBeforeError.js +var require_NotBeforeError = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/NotBeforeError.js"(exports, module) { + var JsonWebTokenError2 = require_JsonWebTokenError(); + var NotBeforeError2 = /* @__PURE__ */ __name(function(message, date5) { + JsonWebTokenError2.call(this, message); + this.name = "NotBeforeError"; + this.date = date5; + }, "NotBeforeError"); + NotBeforeError2.prototype = Object.create(JsonWebTokenError2.prototype); + NotBeforeError2.prototype.constructor = NotBeforeError2; + module.exports = NotBeforeError2; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/TokenExpiredError.js +var require_TokenExpiredError = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/TokenExpiredError.js"(exports, module) { + var JsonWebTokenError2 = require_JsonWebTokenError(); + var TokenExpiredError2 = /* @__PURE__ */ __name(function(message, expiredAt) { + JsonWebTokenError2.call(this, message); + this.name = "TokenExpiredError"; + this.expiredAt = expiredAt; + }, "TokenExpiredError"); + TokenExpiredError2.prototype = Object.create(JsonWebTokenError2.prototype); + TokenExpiredError2.prototype.constructor = TokenExpiredError2; + module.exports = TokenExpiredError2; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/timespan.js +var require_timespan = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/timespan.js"(exports, module) { + var ms = require_ms(); + module.exports = function(time3, iat) { + var timestamp = iat || Math.floor(Date.now() / 1e3); + if (typeof time3 === "string") { + var milliseconds = ms(time3); + if (typeof milliseconds === "undefined") { + return; + } + return Math.floor(timestamp + milliseconds / 1e3); + } else if (typeof time3 === "number") { + return timestamp + time3; + } else { + return; + } + }; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js +var require_constants = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js"(exports, module) { + "use strict"; + var SEMVER_SPEC_VERSION = "2.0.0"; + var MAX_LENGTH = 256; + var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ + 9007199254740991; + var MAX_SAFE_COMPONENT_LENGTH = 16; + var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6; + var RELEASE_TYPES = [ + "major", + "premajor", + "minor", + "preminor", + "patch", + "prepatch", + "prerelease" + ]; + module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 1, + FLAG_LOOSE: 2 + }; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js +var require_debug = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js"(exports, module) { + "use strict"; + var debug3 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { + }; + module.exports = debug3; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js +var require_re = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js"(exports, module) { + "use strict"; + var { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH + } = require_constants(); + var debug3 = require_debug(); + exports = module.exports = {}; + var re = exports.re = []; + var safeRe = exports.safeRe = []; + var src = exports.src = []; + var safeSrc = exports.safeSrc = []; + var t = exports.t = {}; + var R = 0; + var LETTERDASHNUMBER = "[a-zA-Z0-9-]"; + var safeRegexReplacements = [ + ["\\s", 1], + ["\\d", MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH] + ]; + var makeSafeRegex = /* @__PURE__ */ __name((value) => { + for (const [token, max] of safeRegexReplacements) { + value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`); + } + return value; + }, "makeSafeRegex"); + var createToken = /* @__PURE__ */ __name((name2, value, isGlobal) => { + const safe = makeSafeRegex(value); + const index = R++; + debug3(name2, index, value); + t[name2] = index; + src[index] = value; + safeSrc[index] = safe; + re[index] = new RegExp(value, isGlobal ? "g" : void 0); + safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0); + }, "createToken"); + createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*"); + createToken("NUMERICIDENTIFIERLOOSE", "\\d+"); + createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`); + createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`); + createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`); + createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`); + createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`); + createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`); + createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`); + createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`); + createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`); + createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`); + createToken("FULL", `^${src[t.FULLPLAIN]}$`); + createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`); + createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`); + createToken("GTLT", "((?:<|>)?=?)"); + createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`); + createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`); + createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`); + createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`); + createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`); + createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`); + createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`); + createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`); + createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`); + createToken("COERCERTL", src[t.COERCE], true); + createToken("COERCERTLFULL", src[t.COERCEFULL], true); + createToken("LONETILDE", "(?:~>?)"); + createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true); + exports.tildeTrimReplace = "$1~"; + createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`); + createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`); + createToken("LONECARET", "(?:\\^)"); + createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true); + exports.caretTrimReplace = "$1^"; + createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`); + createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`); + createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`); + createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`); + createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true); + exports.comparatorTrimReplace = "$1$2$3"; + createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`); + createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`); + createToken("STAR", "(<|>)?=?\\s*\\*"); + createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"); + createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$"); + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js +var require_parse_options = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js"(exports, module) { + "use strict"; + var looseOption = Object.freeze({ loose: true }); + var emptyOpts = Object.freeze({}); + var parseOptions = /* @__PURE__ */ __name((options) => { + if (!options) { + return emptyOpts; + } + if (typeof options !== "object") { + return looseOption; + } + return options; + }, "parseOptions"); + module.exports = parseOptions; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js +var require_identifiers = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js"(exports, module) { + "use strict"; + var numeric = /^[0-9]+$/; + var compareIdentifiers = /* @__PURE__ */ __name((a5, b5) => { + if (typeof a5 === "number" && typeof b5 === "number") { + return a5 === b5 ? 0 : a5 < b5 ? -1 : 1; + } + const anum = numeric.test(a5); + const bnum = numeric.test(b5); + if (anum && bnum) { + a5 = +a5; + b5 = +b5; + } + return a5 === b5 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a5 < b5 ? -1 : 1; + }, "compareIdentifiers"); + var rcompareIdentifiers = /* @__PURE__ */ __name((a5, b5) => compareIdentifiers(b5, a5), "rcompareIdentifiers"); + module.exports = { + compareIdentifiers, + rcompareIdentifiers + }; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js +var require_semver = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js"(exports, module) { + "use strict"; + var debug3 = require_debug(); + var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); + var { safeRe: re, t } = require_re(); + var parseOptions = require_parse_options(); + var { compareIdentifiers } = require_identifiers(); + var isPrereleaseIdentifier = /* @__PURE__ */ __name((prerelease, identifier) => { + const identifiers = identifier.split("."); + if (identifiers.length > prerelease.length) { + return false; + } + for (let i5 = 0; i5 < identifiers.length; i5++) { + if (compareIdentifiers(prerelease[i5], identifiers[i5]) !== 0) { + return false; + } + } + return true; + }, "isPrereleaseIdentifier"); + var SemVer = class _SemVer { + static { + __name(this, "SemVer"); + } + constructor(version2, options) { + options = parseOptions(options); + if (version2 instanceof _SemVer) { + if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) { + return version2; + } else { + version2 = version2.version; + } + } else if (typeof version2 !== "string") { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`); + } + if (version2.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ); + } + debug3("SemVer", version2, options); + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + const m3 = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); + if (!m3) { + throw new TypeError(`Invalid Version: ${version2}`); + } + this.raw = version2; + this.major = +m3[1]; + this.minor = +m3[2]; + this.patch = +m3[3]; + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError("Invalid major version"); + } + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError("Invalid minor version"); + } + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError("Invalid patch version"); + } + if (!m3[4]) { + this.prerelease = []; + } else { + this.prerelease = m3[4].split(".").map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id; + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num; + } + } + return id; + }); + } + this.build = m3[5] ? m3[5].split(".") : []; + this.format(); + } + format() { + this.version = `${this.major}.${this.minor}.${this.patch}`; + if (this.prerelease.length) { + this.version += `-${this.prerelease.join(".")}`; + } + return this.version; + } + toString() { + return this.version; + } + compare(other) { + debug3("SemVer.compare", this.version, this.options, other); + if (!(other instanceof _SemVer)) { + if (typeof other === "string" && other === this.version) { + return 0; + } + other = new _SemVer(other, this.options); + } + if (other.version === this.version) { + return 0; + } + return this.compareMain(other) || this.comparePre(other); + } + compareMain(other) { + if (!(other instanceof _SemVer)) { + other = new _SemVer(other, this.options); + } + if (this.major < other.major) { + return -1; + } + if (this.major > other.major) { + return 1; + } + if (this.minor < other.minor) { + return -1; + } + if (this.minor > other.minor) { + return 1; + } + if (this.patch < other.patch) { + return -1; + } + if (this.patch > other.patch) { + return 1; + } + return 0; + } + comparePre(other) { + if (!(other instanceof _SemVer)) { + other = new _SemVer(other, this.options); + } + if (this.prerelease.length && !other.prerelease.length) { + return -1; + } else if (!this.prerelease.length && other.prerelease.length) { + return 1; + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0; + } + let i5 = 0; + do { + const a5 = this.prerelease[i5]; + const b5 = other.prerelease[i5]; + debug3("prerelease compare", i5, a5, b5); + if (a5 === void 0 && b5 === void 0) { + return 0; + } else if (b5 === void 0) { + return 1; + } else if (a5 === void 0) { + return -1; + } else if (a5 === b5) { + continue; + } else { + return compareIdentifiers(a5, b5); + } + } while (++i5); + } + compareBuild(other) { + if (!(other instanceof _SemVer)) { + other = new _SemVer(other, this.options); + } + let i5 = 0; + do { + const a5 = this.build[i5]; + const b5 = other.build[i5]; + debug3("build compare", i5, a5, b5); + if (a5 === void 0 && b5 === void 0) { + return 0; + } else if (b5 === void 0) { + return 1; + } else if (a5 === void 0) { + return -1; + } else if (a5 === b5) { + continue; + } else { + return compareIdentifiers(a5, b5); + } + } while (++i5); + } + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc(release2, identifier, identifierBase) { + if (release2.startsWith("pre")) { + if (!identifier && identifierBase === false) { + throw new Error("invalid increment argument: identifier is empty"); + } + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`); + } + } + } + switch (release2) { + case "premajor": + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc("pre", identifier, identifierBase); + break; + case "preminor": + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc("pre", identifier, identifierBase); + break; + case "prepatch": + this.prerelease.length = 0; + this.inc("patch", identifier, identifierBase); + this.inc("pre", identifier, identifierBase); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case "prerelease": + if (this.prerelease.length === 0) { + this.inc("patch", identifier, identifierBase); + } + this.inc("pre", identifier, identifierBase); + break; + case "release": + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`); + } + this.prerelease.length = 0; + break; + case "major": + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { + this.major++; + } + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + case "minor": + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++; + } + this.patch = 0; + this.prerelease = []; + break; + case "patch": + if (this.prerelease.length === 0) { + this.patch++; + } + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case "pre": { + const base = Number(identifierBase) ? 1 : 0; + if (this.prerelease.length === 0) { + this.prerelease = [base]; + } else { + let i5 = this.prerelease.length; + while (--i5 >= 0) { + if (typeof this.prerelease[i5] === "number") { + this.prerelease[i5]++; + i5 = -2; + } + } + if (i5 === -1) { + if (identifier === this.prerelease.join(".") && identifierBase === false) { + throw new Error("invalid increment argument: identifier already exists"); + } + this.prerelease.push(base); + } + } + if (identifier) { + let prerelease = [identifier, base]; + if (identifierBase === false) { + prerelease = [identifier]; + } + if (isPrereleaseIdentifier(this.prerelease, identifier)) { + const prereleaseBase = this.prerelease[identifier.split(".").length]; + if (isNaN(prereleaseBase)) { + this.prerelease = prerelease; + } + } else { + this.prerelease = prerelease; + } + } + break; + } + default: + throw new Error(`invalid increment argument: ${release2}`); + } + this.raw = this.format(); + if (this.build.length) { + this.raw += `+${this.build.join(".")}`; + } + return this; + } + }; + module.exports = SemVer; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js +var require_parse = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var parse4 = /* @__PURE__ */ __name((version2, options, throwErrors = false) => { + if (version2 instanceof SemVer) { + return version2; + } + try { + return new SemVer(version2, options); + } catch (er) { + if (!throwErrors) { + return null; + } + throw er; + } + }, "parse"); + module.exports = parse4; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js +var require_valid = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js"(exports, module) { + "use strict"; + var parse4 = require_parse(); + var valid = /* @__PURE__ */ __name((version2, options) => { + const v = parse4(version2, options); + return v ? v.version : null; + }, "valid"); + module.exports = valid; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js +var require_clean = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js"(exports, module) { + "use strict"; + var parse4 = require_parse(); + var clean = /* @__PURE__ */ __name((version2, options) => { + const s2 = parse4(version2.trim().replace(/^[=v]+/, ""), options); + return s2 ? s2.version : null; + }, "clean"); + module.exports = clean; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js +var require_inc = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var inc = /* @__PURE__ */ __name((version2, release2, options, identifier, identifierBase) => { + if (typeof options === "string") { + identifierBase = identifier; + identifier = options; + options = void 0; + } + try { + return new SemVer( + version2 instanceof SemVer ? version2.version : version2, + options + ).inc(release2, identifier, identifierBase).version; + } catch (er) { + return null; + } + }, "inc"); + module.exports = inc; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js +var require_diff = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js"(exports, module) { + "use strict"; + var parse4 = require_parse(); + var diff = /* @__PURE__ */ __name((version1, version2) => { + const v1 = parse4(version1, null, true); + const v2 = parse4(version2, null, true); + const comparison = v1.compare(v2); + if (comparison === 0) { + return null; + } + const v1Higher = comparison > 0; + const highVersion = v1Higher ? v1 : v2; + const lowVersion = v1Higher ? v2 : v1; + const highHasPre = !!highVersion.prerelease.length; + const lowHasPre = !!lowVersion.prerelease.length; + if (lowHasPre && !highHasPre) { + if (!lowVersion.patch && !lowVersion.minor) { + return "major"; + } + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return "minor"; + } + return "patch"; + } + } + const prefix = highHasPre ? "pre" : ""; + if (v1.major !== v2.major) { + return prefix + "major"; + } + if (v1.minor !== v2.minor) { + return prefix + "minor"; + } + if (v1.patch !== v2.patch) { + return prefix + "patch"; + } + return "prerelease"; + }, "diff"); + module.exports = diff; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js +var require_major = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var major = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).major, "major"); + module.exports = major; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js +var require_minor = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var minor = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).minor, "minor"); + module.exports = minor; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js +var require_patch = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var patch = /* @__PURE__ */ __name((a5, loose) => new SemVer(a5, loose).patch, "patch"); + module.exports = patch; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js +var require_prerelease = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js"(exports, module) { + "use strict"; + var parse4 = require_parse(); + var prerelease = /* @__PURE__ */ __name((version2, options) => { + const parsed2 = parse4(version2, options); + return parsed2 && parsed2.prerelease.length ? parsed2.prerelease : null; + }, "prerelease"); + module.exports = prerelease; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js +var require_compare = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var compare = /* @__PURE__ */ __name((a5, b5, loose) => new SemVer(a5, loose).compare(new SemVer(b5, loose)), "compare"); + module.exports = compare; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js +var require_rcompare = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var rcompare = /* @__PURE__ */ __name((a5, b5, loose) => compare(b5, a5, loose), "rcompare"); + module.exports = rcompare; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js +var require_compare_loose = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var compareLoose = /* @__PURE__ */ __name((a5, b5) => compare(a5, b5, true), "compareLoose"); + module.exports = compareLoose; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js +var require_compare_build = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var compareBuild = /* @__PURE__ */ __name((a5, b5, loose) => { + const versionA = new SemVer(a5, loose); + const versionB = new SemVer(b5, loose); + return versionA.compare(versionB) || versionA.compareBuild(versionB); + }, "compareBuild"); + module.exports = compareBuild; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js +var require_sort = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js"(exports, module) { + "use strict"; + var compareBuild = require_compare_build(); + var sort = /* @__PURE__ */ __name((list, loose) => list.sort((a5, b5) => compareBuild(a5, b5, loose)), "sort"); + module.exports = sort; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js +var require_rsort = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js"(exports, module) { + "use strict"; + var compareBuild = require_compare_build(); + var rsort = /* @__PURE__ */ __name((list, loose) => list.sort((a5, b5) => compareBuild(b5, a5, loose)), "rsort"); + module.exports = rsort; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js +var require_gt = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var gt = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) > 0, "gt"); + module.exports = gt; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js +var require_lt = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var lt = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) < 0, "lt"); + module.exports = lt; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js +var require_eq = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var eq = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) === 0, "eq"); + module.exports = eq; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js +var require_neq = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var neq = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) !== 0, "neq"); + module.exports = neq; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js +var require_gte = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var gte = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) >= 0, "gte"); + module.exports = gte; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js +var require_lte = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js"(exports, module) { + "use strict"; + var compare = require_compare(); + var lte = /* @__PURE__ */ __name((a5, b5, loose) => compare(a5, b5, loose) <= 0, "lte"); + module.exports = lte; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js +var require_cmp = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js"(exports, module) { + "use strict"; + var eq = require_eq(); + var neq = require_neq(); + var gt = require_gt(); + var gte = require_gte(); + var lt = require_lt(); + var lte = require_lte(); + var cmp = /* @__PURE__ */ __name((a5, op, b5, loose) => { + switch (op) { + case "===": + if (typeof a5 === "object") { + a5 = a5.version; + } + if (typeof b5 === "object") { + b5 = b5.version; + } + return a5 === b5; + case "!==": + if (typeof a5 === "object") { + a5 = a5.version; + } + if (typeof b5 === "object") { + b5 = b5.version; + } + return a5 !== b5; + case "": + case "=": + case "==": + return eq(a5, b5, loose); + case "!=": + return neq(a5, b5, loose); + case ">": + return gt(a5, b5, loose); + case ">=": + return gte(a5, b5, loose); + case "<": + return lt(a5, b5, loose); + case "<=": + return lte(a5, b5, loose); + default: + throw new TypeError(`Invalid operator: ${op}`); + } + }, "cmp"); + module.exports = cmp; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js +var require_coerce = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var parse4 = require_parse(); + var { safeRe: re, t } = require_re(); + var coerce = /* @__PURE__ */ __name((version2, options) => { + if (version2 instanceof SemVer) { + return version2; + } + if (typeof version2 === "number") { + version2 = String(version2); + } + if (typeof version2 !== "string") { + return null; + } + options = options || {}; + let match = null; + if (!options.rtl) { + match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); + } else { + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; + let next; + while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) { + if (!match || next.index + next[0].length !== match.index + match[0].length) { + match = next; + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length; + } + coerceRtlRegex.lastIndex = -1; + } + if (match === null) { + return null; + } + const major = match[2]; + const minor = match[3] || "0"; + const patch = match[4] || "0"; + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ""; + const build2 = options.includePrerelease && match[6] ? `+${match[6]}` : ""; + return parse4(`${major}.${minor}.${patch}${prerelease}${build2}`, options); + }, "coerce"); + module.exports = coerce; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js +var require_truncate = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js"(exports, module) { + "use strict"; + var parse4 = require_parse(); + var constants = require_constants(); + var SemVer = require_semver(); + var truncate = /* @__PURE__ */ __name((version2, truncation, options) => { + if (!constants.RELEASE_TYPES.includes(truncation)) { + return null; + } + const clonedVersion = cloneInputVersion(version2, options); + return clonedVersion && doTruncation(clonedVersion, truncation); + }, "truncate"); + var cloneInputVersion = /* @__PURE__ */ __name((version2, options) => { + const versionStringToParse = version2 instanceof SemVer ? version2.version : version2; + return parse4(versionStringToParse, options); + }, "cloneInputVersion"); + var doTruncation = /* @__PURE__ */ __name((version2, truncation) => { + if (isPrerelease(truncation)) { + return version2.version; + } + version2.prerelease = []; + switch (truncation) { + case "major": + version2.minor = 0; + version2.patch = 0; + break; + case "minor": + version2.patch = 0; + break; + } + return version2.format(); + }, "doTruncation"); + var isPrerelease = /* @__PURE__ */ __name((type) => { + return type.startsWith("pre"); + }, "isPrerelease"); + module.exports = truncate; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js +var require_lrucache = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js"(exports, module) { + "use strict"; + var LRUCache = class { + static { + __name(this, "LRUCache"); + } + constructor() { + this.max = 1e3; + this.map = /* @__PURE__ */ new Map(); + } + get(key) { + const value = this.map.get(key); + if (value === void 0) { + return void 0; + } else { + this.map.delete(key); + this.map.set(key, value); + return value; + } + } + delete(key) { + return this.map.delete(key); + } + set(key, value) { + const deleted = this.delete(key); + if (!deleted && value !== void 0) { + if (this.map.size >= this.max) { + const firstKey = this.map.keys().next().value; + this.delete(firstKey); + } + this.map.set(key, value); + } + return this; + } + }; + module.exports = LRUCache; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js +var require_range = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js"(exports, module) { + "use strict"; + var SPACE_CHARACTERS = /\s+/g; + var Range = class _Range { + static { + __name(this, "Range"); + } + constructor(range, options) { + options = parseOptions(options); + if (range instanceof _Range) { + if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new _Range(range.raw, options); + } + } + if (range instanceof Comparator) { + this.raw = range.value; + this.set = [[range]]; + this.formatted = void 0; + return this; + } + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; + this.raw = range.trim().replace(SPACE_CHARACTERS, " "); + this.set = this.raw.split("||").map((r5) => this.parseRange(r5.trim())).filter((c5) => c5.length); + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`); + } + if (this.set.length > 1) { + const first = this.set[0]; + this.set = this.set.filter((c5) => !isNullSet(c5[0])); + if (this.set.length === 0) { + this.set = [first]; + } else if (this.set.length > 1) { + for (const c5 of this.set) { + if (c5.length === 1 && isAny(c5[0])) { + this.set = [c5]; + break; + } + } + } + } + this.formatted = void 0; + } + get range() { + if (this.formatted === void 0) { + this.formatted = ""; + for (let i5 = 0; i5 < this.set.length; i5++) { + if (i5 > 0) { + this.formatted += "||"; + } + const comps = this.set[i5]; + for (let k5 = 0; k5 < comps.length; k5++) { + if (k5 > 0) { + this.formatted += " "; + } + this.formatted += comps[k5].toString().trim(); + } + } + } + return this.formatted; + } + format() { + return this.range; + } + toString() { + return this.range; + } + parseRange(range) { + range = range.replace(BUILDSTRIPRE, ""); + const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE); + const memoKey = memoOpts + ":" + range; + const cached2 = cache5.get(memoKey); + if (cached2) { + return cached2; + } + const loose = this.options.loose; + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)); + debug3("hyphen replace", range); + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug3("comparator trim", range); + range = range.replace(re[t.TILDETRIM], tildeTrimReplace); + debug3("tilde trim", range); + range = range.replace(re[t.CARETTRIM], caretTrimReplace); + debug3("caret trim", range); + let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options)); + if (loose) { + rangeList = rangeList.filter((comp) => { + debug3("loose invalid filter", comp, this.options); + return !!comp.match(re[t.COMPARATORLOOSE]); + }); + } + debug3("range list", rangeList); + const rangeMap = /* @__PURE__ */ new Map(); + const comparators = rangeList.map((comp) => new Comparator(comp, this.options)); + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp]; + } + rangeMap.set(comp.value, comp); + } + if (rangeMap.size > 1 && rangeMap.has("")) { + rangeMap.delete(""); + } + const result = [...rangeMap.values()]; + cache5.set(memoKey, result); + return result; + } + intersects(range, options) { + if (!(range instanceof _Range)) { + throw new TypeError("a Range is required"); + } + return this.set.some((thisComparators) => { + return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => { + return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); + } + // if ANY of the sets match ALL of its comparators, then pass + test(version2) { + if (!version2) { + return false; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; + } + } + for (let i5 = 0; i5 < this.set.length; i5++) { + if (testSet(this.set[i5], version2, this.options)) { + return true; + } + } + return false; + } + }; + module.exports = Range; + var LRU = require_lrucache(); + var cache5 = new LRU(); + var parseOptions = require_parse_options(); + var Comparator = require_comparator(); + var debug3 = require_debug(); + var SemVer = require_semver(); + var { + safeRe: re, + src, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace + } = require_re(); + var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(); + var BUILDSTRIPRE = new RegExp(src[t.BUILD], "g"); + var isNullSet = /* @__PURE__ */ __name((c5) => c5.value === "<0.0.0-0", "isNullSet"); + var isAny = /* @__PURE__ */ __name((c5) => c5.value === "", "isAny"); + var isSatisfiable = /* @__PURE__ */ __name((comparators, options) => { + let result = true; + const remainingComparators = comparators.slice(); + let testComparator = remainingComparators.pop(); + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options); + }); + testComparator = remainingComparators.pop(); + } + return result; + }, "isSatisfiable"); + var parseComparator = /* @__PURE__ */ __name((comp, options) => { + comp = comp.replace(re[t.BUILD], ""); + debug3("comp", comp, options); + comp = replaceCarets(comp, options); + debug3("caret", comp); + comp = replaceTildes(comp, options); + debug3("tildes", comp); + comp = replaceXRanges(comp, options); + debug3("xrange", comp); + comp = replaceStars(comp, options); + debug3("stars", comp); + return comp; + }, "parseComparator"); + var isX = /* @__PURE__ */ __name((id) => !id || id.toLowerCase() === "x" || id === "*", "isX"); + var invalidXRangeOrder = /* @__PURE__ */ __name((M, m3, p3) => isX(M) && !isX(m3) || isX(m3) && p3 && !isX(p3), "invalidXRangeOrder"); + var replaceTildes = /* @__PURE__ */ __name((comp, options) => { + return comp.trim().split(/\s+/).map((c5) => replaceTilde(c5, options)).join(" "); + }, "replaceTildes"); + var replaceTilde = /* @__PURE__ */ __name((comp, options) => { + const r5 = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + const z2 = options.includePrerelease ? "-0" : ""; + return comp.replace(r5, (_, M, m3, p3, pr) => { + debug3("tilde", comp, _, M, m3, p3, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m3)) { + ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`; + } else if (isX(p3)) { + ret = `>=${M}.${m3}.0${z2} <${M}.${+m3 + 1}.0-0`; + } else if (pr) { + debug3("replaceTilde pr", pr); + ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`; + } else { + ret = `>=${M}.${m3}.${p3} <${M}.${+m3 + 1}.0-0`; + } + debug3("tilde return", ret); + return ret; + }); + }, "replaceTilde"); + var replaceCarets = /* @__PURE__ */ __name((comp, options) => { + return comp.trim().split(/\s+/).map((c5) => replaceCaret(c5, options)).join(" "); + }, "replaceCarets"); + var replaceCaret = /* @__PURE__ */ __name((comp, options) => { + debug3("caret", comp, options); + const r5 = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; + const z2 = options.includePrerelease ? "-0" : ""; + return comp.replace(r5, (_, M, m3, p3, pr) => { + debug3("caret", comp, _, M, m3, p3, pr); + let ret; + if (isX(M)) { + ret = ""; + } else if (isX(m3)) { + ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`; + } else if (isX(p3)) { + if (M === "0") { + ret = `>=${M}.${m3}.0${z2} <${M}.${+m3 + 1}.0-0`; + } else { + ret = `>=${M}.${m3}.0${z2} <${+M + 1}.0.0-0`; + } + } else if (pr) { + debug3("replaceCaret pr", pr); + if (M === "0") { + if (m3 === "0") { + ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${m3}.${+p3 + 1}-0`; + } else { + ret = `>=${M}.${m3}.${p3}-${pr} <${M}.${+m3 + 1}.0-0`; + } + } else { + ret = `>=${M}.${m3}.${p3}-${pr} <${+M + 1}.0.0-0`; + } + } else { + debug3("no pr"); + if (M === "0") { + if (m3 === "0") { + ret = `>=${M}.${m3}.${p3} <${M}.${m3}.${+p3 + 1}-0`; + } else { + ret = `>=${M}.${m3}.${p3} <${M}.${+m3 + 1}.0-0`; + } + } else { + ret = `>=${M}.${m3}.${p3} <${+M + 1}.0.0-0`; + } + } + debug3("caret return", ret); + return ret; + }); + }, "replaceCaret"); + var replaceXRanges = /* @__PURE__ */ __name((comp, options) => { + debug3("replaceXRanges", comp, options); + return comp.split(/\s+/).map((c5) => replaceXRange(c5, options)).join(" "); + }, "replaceXRanges"); + var replaceXRange = /* @__PURE__ */ __name((comp, options) => { + comp = comp.trim(); + const r5 = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; + return comp.replace(r5, (ret, gtlt, M, m3, p3, pr) => { + debug3("xRange", comp, ret, gtlt, M, m3, p3, pr); + if (invalidXRangeOrder(M, m3, p3)) { + return comp; + } + const xM = isX(M); + const xm = xM || isX(m3); + const xp = xm || isX(p3); + const anyX = xp; + if (gtlt === "=" && anyX) { + gtlt = ""; + } + pr = options.includePrerelease ? "-0" : ""; + if (xM) { + if (gtlt === ">" || gtlt === "<") { + ret = "<0.0.0-0"; + } else { + ret = "*"; + } + } else if (gtlt && anyX) { + if (xm) { + m3 = 0; + } + p3 = 0; + if (gtlt === ">") { + gtlt = ">="; + if (xm) { + M = +M + 1; + m3 = 0; + p3 = 0; + } else { + m3 = +m3 + 1; + p3 = 0; + } + } else if (gtlt === "<=") { + gtlt = "<"; + if (xm) { + M = +M + 1; + } else { + m3 = +m3 + 1; + } + } + if (gtlt === "<") { + pr = "-0"; + } + ret = `${gtlt + M}.${m3}.${p3}${pr}`; + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`; + } else if (xp) { + ret = `>=${M}.${m3}.0${pr} <${M}.${+m3 + 1}.0-0`; + } + debug3("xRange return", ret); + return ret; + }); + }, "replaceXRange"); + var replaceStars = /* @__PURE__ */ __name((comp, options) => { + debug3("replaceStars", comp, options); + return comp.trim().replace(re[t.STAR], ""); + }, "replaceStars"); + var replaceGTE0 = /* @__PURE__ */ __name((comp, options) => { + debug3("replaceGTE0", comp, options); + return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], ""); + }, "replaceGTE0"); + var hyphenReplace = /* @__PURE__ */ __name((incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => { + if (isX(fM)) { + from = ""; + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? "-0" : ""}`; + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`; + } else if (fpr) { + from = `>=${from}`; + } else { + from = `>=${from}${incPr ? "-0" : ""}`; + } + if (isX(tM)) { + to = ""; + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0`; + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0`; + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}`; + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0`; + } else { + to = `<=${to}`; + } + return `${from} ${to}`.trim(); + }, "hyphenReplace"); + var testSet = /* @__PURE__ */ __name((set2, version2, options) => { + for (let i5 = 0; i5 < set2.length; i5++) { + if (!set2[i5].test(version2)) { + return false; + } + } + if (version2.prerelease.length && !options.includePrerelease) { + for (let i5 = 0; i5 < set2.length; i5++) { + debug3(set2[i5].semver); + if (set2[i5].semver === Comparator.ANY) { + continue; + } + if (set2[i5].semver.prerelease.length > 0) { + const allowed = set2[i5].semver; + if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) { + return true; + } + } + } + return false; + } + return true; + }, "testSet"); + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js +var require_comparator = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js"(exports, module) { + "use strict"; + var ANY = /* @__PURE__ */ Symbol("SemVer ANY"); + var Comparator = class _Comparator { + static { + __name(this, "Comparator"); + } + static get ANY() { + return ANY; + } + constructor(comp, options) { + options = parseOptions(options); + if (comp instanceof _Comparator) { + if (comp.loose === !!options.loose) { + return comp; + } else { + comp = comp.value; + } + } + comp = comp.trim().split(/\s+/).join(" "); + debug3("comparator", comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + if (this.semver === ANY) { + this.value = ""; + } else { + this.value = this.operator + this.semver.version; + } + debug3("comp", this); + } + parse(comp) { + const r5 = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + const m3 = comp.match(r5); + if (!m3) { + throw new TypeError(`Invalid comparator: ${comp}`); + } + this.operator = m3[1] !== void 0 ? m3[1] : ""; + if (this.operator === "=") { + this.operator = ""; + } + if (!m3[2]) { + this.semver = ANY; + } else { + this.semver = new SemVer(m3[2], this.options.loose); + } + } + toString() { + return this.value; + } + test(version2) { + debug3("Comparator.test", version2, this.options.loose); + if (this.semver === ANY || version2 === ANY) { + return true; + } + if (typeof version2 === "string") { + try { + version2 = new SemVer(version2, this.options); + } catch (er) { + return false; + } + } + return cmp(version2, this.operator, this.semver, this.options); + } + intersects(comp, options) { + if (!(comp instanceof _Comparator)) { + throw new TypeError("a Comparator is required"); + } + if (this.operator === "") { + if (this.value === "") { + return true; + } + return new Range(comp.value, options).test(this.value); + } else if (comp.operator === "") { + if (comp.value === "") { + return true; + } + return new Range(this.value, options).test(comp.semver); + } + options = parseOptions(options); + if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) { + return false; + } + if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) { + return false; + } + if (this.operator.startsWith(">") && comp.operator.startsWith(">")) { + return true; + } + if (this.operator.startsWith("<") && comp.operator.startsWith("<")) { + return true; + } + if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) { + return true; + } + if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) { + return true; + } + if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) { + return true; + } + return false; + } + }; + module.exports = Comparator; + var parseOptions = require_parse_options(); + var { safeRe: re, t } = require_re(); + var cmp = require_cmp(); + var debug3 = require_debug(); + var SemVer = require_semver(); + var Range = require_range(); + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js +var require_satisfies = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js"(exports, module) { + "use strict"; + var Range = require_range(); + var satisfies = /* @__PURE__ */ __name((version2, range, options) => { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + return range.test(version2); + }, "satisfies"); + module.exports = satisfies; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js +var require_to_comparators = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js"(exports, module) { + "use strict"; + var Range = require_range(); + var toComparators = /* @__PURE__ */ __name((range, options) => new Range(range, options).set.map((comp) => comp.map((c5) => c5.value).join(" ").trim().split(" ")), "toComparators"); + module.exports = toComparators; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js +var require_max_satisfying = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var Range = require_range(); + var maxSatisfying = /* @__PURE__ */ __name((versions2, range, options) => { + let max = null; + let maxSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions2.forEach((v) => { + if (rangeObj.test(v)) { + if (!max || maxSV.compare(v) === -1) { + max = v; + maxSV = new SemVer(max, options); + } + } + }); + return max; + }, "maxSatisfying"); + module.exports = maxSatisfying; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js +var require_min_satisfying = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var Range = require_range(); + var minSatisfying = /* @__PURE__ */ __name((versions2, range, options) => { + let min = null; + let minSV = null; + let rangeObj = null; + try { + rangeObj = new Range(range, options); + } catch (er) { + return null; + } + versions2.forEach((v) => { + if (rangeObj.test(v)) { + if (!min || minSV.compare(v) === 1) { + min = v; + minSV = new SemVer(min, options); + } + } + }); + return min; + }, "minSatisfying"); + module.exports = minSatisfying; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js +var require_min_version = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var Range = require_range(); + var gt = require_gt(); + var minVersion = /* @__PURE__ */ __name((range, loose) => { + range = new Range(range, loose); + let minver = new SemVer("0.0.0"); + if (range.test(minver)) { + return minver; + } + minver = new SemVer("0.0.0-0"); + if (range.test(minver)) { + return minver; + } + minver = null; + for (let i5 = 0; i5 < range.set.length; ++i5) { + const comparators = range.set[i5]; + let setMin = null; + comparators.forEach((comparator) => { + const compver = new SemVer(comparator.semver.version); + switch (comparator.operator) { + case ">": + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + compver.raw = compver.format(); + /* fallthrough */ + case "": + case ">=": + if (!setMin || gt(compver, setMin)) { + setMin = compver; + } + break; + case "<": + case "<=": + break; + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`); + } + }); + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin; + } + } + if (minver && range.test(minver)) { + return minver; + } + return null; + }, "minVersion"); + module.exports = minVersion; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js +var require_valid2 = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js"(exports, module) { + "use strict"; + var Range = require_range(); + var validRange = /* @__PURE__ */ __name((range, options) => { + try { + return new Range(range, options).range || "*"; + } catch (er) { + return null; + } + }, "validRange"); + module.exports = validRange; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js +var require_outside = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js"(exports, module) { + "use strict"; + var SemVer = require_semver(); + var Comparator = require_comparator(); + var { ANY } = Comparator; + var Range = require_range(); + var satisfies = require_satisfies(); + var gt = require_gt(); + var lt = require_lt(); + var lte = require_lte(); + var gte = require_gte(); + var outside = /* @__PURE__ */ __name((version2, range, hilo, options) => { + version2 = new SemVer(version2, options); + range = new Range(range, options); + let gtfn, ltefn, ltfn, comp, ecomp; + switch (hilo) { + case ">": + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = ">"; + ecomp = ">="; + break; + case "<": + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = "<"; + ecomp = "<="; + break; + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } + if (satisfies(version2, range, options)) { + return false; + } + for (let i5 = 0; i5 < range.set.length; ++i5) { + const comparators = range.set[i5]; + let high = null; + let low = null; + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator(">=0.0.0"); + } + high = high || comparator; + low = low || comparator; + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); + if (high.operator === comp || high.operator === ecomp) { + return false; + } + if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version2, low.semver)) { + return false; + } + } + return true; + }, "outside"); + module.exports = outside; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js +var require_gtr = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js"(exports, module) { + "use strict"; + var outside = require_outside(); + var gtr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, ">", options), "gtr"); + module.exports = gtr; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js +var require_ltr = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js"(exports, module) { + "use strict"; + var outside = require_outside(); + var ltr = /* @__PURE__ */ __name((version2, range, options) => outside(version2, range, "<", options), "ltr"); + module.exports = ltr; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js +var require_intersects = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js"(exports, module) { + "use strict"; + var Range = require_range(); + var intersects = /* @__PURE__ */ __name((r1, r22, options) => { + r1 = new Range(r1, options); + r22 = new Range(r22, options); + return r1.intersects(r22, options); + }, "intersects"); + module.exports = intersects; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js +var require_simplify = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js"(exports, module) { + "use strict"; + var satisfies = require_satisfies(); + var compare = require_compare(); + module.exports = (versions2, range, options) => { + const set2 = []; + let first = null; + let prev = null; + const v = versions2.sort((a5, b5) => compare(a5, b5, options)); + for (const version2 of v) { + const included = satisfies(version2, range, options); + if (included) { + prev = version2; + if (!first) { + first = version2; + } + } else { + if (prev) { + set2.push([first, prev]); + } + prev = null; + first = null; + } + } + if (first) { + set2.push([first, null]); + } + const ranges = []; + for (const [min, max] of set2) { + if (min === max) { + ranges.push(min); + } else if (!max && min === v[0]) { + ranges.push("*"); + } else if (!max) { + ranges.push(`>=${min}`); + } else if (min === v[0]) { + ranges.push(`<=${max}`); + } else { + ranges.push(`${min} - ${max}`); + } + } + const simplified = ranges.join(" || "); + const original = typeof range.raw === "string" ? range.raw : String(range); + return simplified.length < original.length ? simplified : range; + }; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js +var require_subset = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js"(exports, module) { + "use strict"; + var Range = require_range(); + var Comparator = require_comparator(); + var { ANY } = Comparator; + var satisfies = require_satisfies(); + var compare = require_compare(); + var subset = /* @__PURE__ */ __name((sub, dom, options = {}) => { + if (sub === dom) { + return true; + } + sub = new Range(sub, options); + dom = new Range(dom, options); + let sawNonNull = false; + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options); + sawNonNull = sawNonNull || isSub !== null; + if (isSub) { + continue OUTER; + } + } + if (sawNonNull) { + return false; + } + } + return true; + }, "subset"); + var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")]; + var minimumVersion = [new Comparator(">=0.0.0")]; + var simpleSubset = /* @__PURE__ */ __name((sub, dom, options) => { + if (sub === dom) { + return true; + } + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true; + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease; + } else { + sub = minimumVersion; + } + } + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true; + } else { + dom = minimumVersion; + } + } + const eqSet = /* @__PURE__ */ new Set(); + let gt, lt; + for (const c5 of sub) { + if (c5.operator === ">" || c5.operator === ">=") { + gt = higherGT(gt, c5, options); + } else if (c5.operator === "<" || c5.operator === "<=") { + lt = lowerLT(lt, c5, options); + } else { + eqSet.add(c5.semver); + } + } + if (eqSet.size > 1) { + return null; + } + let gtltComp; + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options); + if (gtltComp > 0) { + return null; + } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) { + return null; + } + } + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null; + } + if (lt && !satisfies(eq, String(lt), options)) { + return null; + } + for (const c5 of dom) { + if (!satisfies(eq, String(c5), options)) { + return false; + } + } + return true; + } + let higher, lower; + let hasDomLT, hasDomGT; + let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false; + let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false; + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false; + } + for (const c5 of dom) { + hasDomGT = hasDomGT || c5.operator === ">" || c5.operator === ">="; + hasDomLT = hasDomLT || c5.operator === "<" || c5.operator === "<="; + if (gt) { + if (needDomGTPre) { + if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomGTPre.major && c5.semver.minor === needDomGTPre.minor && c5.semver.patch === needDomGTPre.patch) { + needDomGTPre = false; + } + } + if (c5.operator === ">" || c5.operator === ">=") { + higher = higherGT(gt, c5, options); + if (higher === c5 && higher !== gt) { + return false; + } + } else if (gt.operator === ">=" && !c5.test(gt.semver)) { + return false; + } + } + if (lt) { + if (needDomLTPre) { + if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomLTPre.major && c5.semver.minor === needDomLTPre.minor && c5.semver.patch === needDomLTPre.patch) { + needDomLTPre = false; + } + } + if (c5.operator === "<" || c5.operator === "<=") { + lower = lowerLT(lt, c5, options); + if (lower === c5 && lower !== lt) { + return false; + } + } else if (lt.operator === "<=" && !c5.test(lt.semver)) { + return false; + } + } + if (!c5.operator && (lt || gt) && gtltComp !== 0) { + return false; + } + } + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false; + } + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false; + } + if (needDomGTPre || needDomLTPre) { + return false; + } + return true; + }, "simpleSubset"); + var higherGT = /* @__PURE__ */ __name((a5, b5, options) => { + if (!a5) { + return b5; + } + const comp = compare(a5.semver, b5.semver, options); + return comp > 0 ? a5 : comp < 0 ? b5 : b5.operator === ">" && a5.operator === ">=" ? b5 : a5; + }, "higherGT"); + var lowerLT = /* @__PURE__ */ __name((a5, b5, options) => { + if (!a5) { + return b5; + } + const comp = compare(a5.semver, b5.semver, options); + return comp < 0 ? a5 : comp > 0 ? b5 : b5.operator === "<" && a5.operator === "<=" ? b5 : a5; + }, "lowerLT"); + module.exports = subset; + } +}); + +// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js +var require_semver2 = __commonJS({ + "../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js"(exports, module) { + "use strict"; + var internalRe = require_re(); + var constants = require_constants(); + var SemVer = require_semver(); + var identifiers = require_identifiers(); + var parse4 = require_parse(); + var valid = require_valid(); + var clean = require_clean(); + var inc = require_inc(); + var diff = require_diff(); + var major = require_major(); + var minor = require_minor(); + var patch = require_patch(); + var prerelease = require_prerelease(); + var compare = require_compare(); + var rcompare = require_rcompare(); + var compareLoose = require_compare_loose(); + var compareBuild = require_compare_build(); + var sort = require_sort(); + var rsort = require_rsort(); + var gt = require_gt(); + var lt = require_lt(); + var eq = require_eq(); + var neq = require_neq(); + var gte = require_gte(); + var lte = require_lte(); + var cmp = require_cmp(); + var coerce = require_coerce(); + var truncate = require_truncate(); + var Comparator = require_comparator(); + var Range = require_range(); + var satisfies = require_satisfies(); + var toComparators = require_to_comparators(); + var maxSatisfying = require_max_satisfying(); + var minSatisfying = require_min_satisfying(); + var minVersion = require_min_version(); + var validRange = require_valid2(); + var outside = require_outside(); + var gtr = require_gtr(); + var ltr = require_ltr(); + var intersects = require_intersects(); + var simplifyRange = require_simplify(); + var subset = require_subset(); + module.exports = { + parse: parse4, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + truncate, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers + }; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js +var require_asymmetricKeyDetailsSupported = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js"(exports, module) { + var semver = require_semver2(); + module.exports = semver.satisfies(process.version, ">=15.7.0"); + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js +var require_rsaPssKeyDetailsSupported = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js"(exports, module) { + var semver = require_semver2(); + module.exports = semver.satisfies(process.version, ">=16.9.0"); + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js +var require_validateAsymmetricKey = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js"(exports, module) { + var ASYMMETRIC_KEY_DETAILS_SUPPORTED = require_asymmetricKeyDetailsSupported(); + var RSA_PSS_KEY_DETAILS_SUPPORTED = require_rsaPssKeyDetailsSupported(); + var allowedAlgorithmsForKeys = { + "ec": ["ES256", "ES384", "ES512"], + "rsa": ["RS256", "PS256", "RS384", "PS384", "RS512", "PS512"], + "rsa-pss": ["PS256", "PS384", "PS512"] + }; + var allowedCurves = { + ES256: "prime256v1", + ES384: "secp384r1", + ES512: "secp521r1" + }; + module.exports = function(algorithm, key) { + if (!algorithm || !key) return; + const keyType = key.asymmetricKeyType; + if (!keyType) return; + const allowedAlgorithms = allowedAlgorithmsForKeys[keyType]; + if (!allowedAlgorithms) { + throw new Error(`Unknown key type "${keyType}".`); + } + if (!allowedAlgorithms.includes(algorithm)) { + throw new Error(`"alg" parameter for "${keyType}" key type must be one of: ${allowedAlgorithms.join(", ")}.`); + } + if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) { + switch (keyType) { + case "ec": + const keyCurve = key.asymmetricKeyDetails.namedCurve; + const allowedCurve = allowedCurves[algorithm]; + if (keyCurve !== allowedCurve) { + throw new Error(`"alg" parameter "${algorithm}" requires curve "${allowedCurve}".`); + } + break; + case "rsa-pss": + if (RSA_PSS_KEY_DETAILS_SUPPORTED) { + const length = parseInt(algorithm.slice(-3), 10); + const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails; + if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) { + throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${algorithm}.`); + } + if (saltLength !== void 0 && saltLength > length >> 3) { + throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${algorithm}.`); + } + } + break; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/psSupported.js +var require_psSupported = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/psSupported.js"(exports, module) { + var semver = require_semver2(); + module.exports = semver.satisfies(process.version, "^6.12.0 || >=8.0.0"); + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/verify.js +var require_verify = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/verify.js"(exports, module) { + var JsonWebTokenError2 = require_JsonWebTokenError(); + var NotBeforeError2 = require_NotBeforeError(); + var TokenExpiredError2 = require_TokenExpiredError(); + var decode3 = require_decode(); + var timespan = require_timespan(); + var validateAsymmetricKey = require_validateAsymmetricKey(); + var PS_SUPPORTED = require_psSupported(); + var jws = require_jws(); + var { KeyObject, createSecretKey, createPublicKey } = __require("crypto"); + var PUB_KEY_ALGS = ["RS256", "RS384", "RS512"]; + var EC_KEY_ALGS = ["ES256", "ES384", "ES512"]; + var RSA_KEY_ALGS = ["RS256", "RS384", "RS512"]; + var HS_ALGS = ["HS256", "HS384", "HS512"]; + if (PS_SUPPORTED) { + PUB_KEY_ALGS.splice(PUB_KEY_ALGS.length, 0, "PS256", "PS384", "PS512"); + RSA_KEY_ALGS.splice(RSA_KEY_ALGS.length, 0, "PS256", "PS384", "PS512"); + } + module.exports = function(jwtString, secretOrPublicKey, options, callback) { + if (typeof options === "function" && !callback) { + callback = options; + options = {}; + } + if (!options) { + options = {}; + } + options = Object.assign({}, options); + let done; + if (callback) { + done = callback; + } else { + done = /* @__PURE__ */ __name(function(err, data) { + if (err) throw err; + return data; + }, "done"); + } + if (options.clockTimestamp && typeof options.clockTimestamp !== "number") { + return done(new JsonWebTokenError2("clockTimestamp must be a number")); + } + if (options.nonce !== void 0 && (typeof options.nonce !== "string" || options.nonce.trim() === "")) { + return done(new JsonWebTokenError2("nonce must be a non-empty string")); + } + if (options.allowInvalidAsymmetricKeyTypes !== void 0 && typeof options.allowInvalidAsymmetricKeyTypes !== "boolean") { + return done(new JsonWebTokenError2("allowInvalidAsymmetricKeyTypes must be a boolean")); + } + const clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1e3); + if (!jwtString) { + return done(new JsonWebTokenError2("jwt must be provided")); + } + if (typeof jwtString !== "string") { + return done(new JsonWebTokenError2("jwt must be a string")); + } + const parts = jwtString.split("."); + if (parts.length !== 3) { + return done(new JsonWebTokenError2("jwt malformed")); + } + let decodedToken; + try { + decodedToken = decode3(jwtString, { complete: true }); + } catch (err) { + return done(err); + } + if (!decodedToken) { + return done(new JsonWebTokenError2("invalid token")); + } + const header = decodedToken.header; + let getSecret; + if (typeof secretOrPublicKey === "function") { + if (!callback) { + return done(new JsonWebTokenError2("verify must be called asynchronous if secret or public key is provided as a callback")); + } + getSecret = secretOrPublicKey; + } else { + getSecret = /* @__PURE__ */ __name(function(header2, secretCallback) { + return secretCallback(null, secretOrPublicKey); + }, "getSecret"); + } + return getSecret(header, function(err, secretOrPublicKey2) { + if (err) { + return done(new JsonWebTokenError2("error in secret or public key callback: " + err.message)); + } + const hasSignature = parts[2].trim() !== ""; + if (!hasSignature && secretOrPublicKey2) { + return done(new JsonWebTokenError2("jwt signature is required")); + } + if (hasSignature && !secretOrPublicKey2) { + return done(new JsonWebTokenError2("secret or public key must be provided")); + } + if (!hasSignature && !options.algorithms) { + return done(new JsonWebTokenError2('please specify "none" in "algorithms" to verify unsigned tokens')); + } + if (secretOrPublicKey2 != null && !(secretOrPublicKey2 instanceof KeyObject)) { + try { + secretOrPublicKey2 = createPublicKey(secretOrPublicKey2); + } catch (_) { + try { + secretOrPublicKey2 = createSecretKey(typeof secretOrPublicKey2 === "string" ? Buffer.from(secretOrPublicKey2) : secretOrPublicKey2); + } catch (_2) { + return done(new JsonWebTokenError2("secretOrPublicKey is not valid key material")); + } + } + } + if (!options.algorithms) { + if (secretOrPublicKey2.type === "secret") { + options.algorithms = HS_ALGS; + } else if (["rsa", "rsa-pss"].includes(secretOrPublicKey2.asymmetricKeyType)) { + options.algorithms = RSA_KEY_ALGS; + } else if (secretOrPublicKey2.asymmetricKeyType === "ec") { + options.algorithms = EC_KEY_ALGS; + } else { + options.algorithms = PUB_KEY_ALGS; + } + } + if (options.algorithms.indexOf(decodedToken.header.alg) === -1) { + return done(new JsonWebTokenError2("invalid algorithm")); + } + if (header.alg.startsWith("HS") && secretOrPublicKey2.type !== "secret") { + return done(new JsonWebTokenError2(`secretOrPublicKey must be a symmetric key when using ${header.alg}`)); + } else if (/^(?:RS|PS|ES)/.test(header.alg) && secretOrPublicKey2.type !== "public") { + return done(new JsonWebTokenError2(`secretOrPublicKey must be an asymmetric key when using ${header.alg}`)); + } + if (!options.allowInvalidAsymmetricKeyTypes) { + try { + validateAsymmetricKey(header.alg, secretOrPublicKey2); + } catch (e5) { + return done(e5); + } + } + let valid; + try { + valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey2); + } catch (e5) { + return done(e5); + } + if (!valid) { + return done(new JsonWebTokenError2("invalid signature")); + } + const payload = decodedToken.payload; + if (typeof payload.nbf !== "undefined" && !options.ignoreNotBefore) { + if (typeof payload.nbf !== "number") { + return done(new JsonWebTokenError2("invalid nbf value")); + } + if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) { + return done(new NotBeforeError2("jwt not active", new Date(payload.nbf * 1e3))); + } + } + if (typeof payload.exp !== "undefined" && !options.ignoreExpiration) { + if (typeof payload.exp !== "number") { + return done(new JsonWebTokenError2("invalid exp value")); + } + if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) { + return done(new TokenExpiredError2("jwt expired", new Date(payload.exp * 1e3))); + } + } + if (options.audience) { + const audiences = Array.isArray(options.audience) ? options.audience : [options.audience]; + const target = Array.isArray(payload.aud) ? payload.aud : [payload.aud]; + const match = target.some(function(targetAudience) { + return audiences.some(function(audience) { + return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience; + }); + }); + if (!match) { + return done(new JsonWebTokenError2("jwt audience invalid. expected: " + audiences.join(" or "))); + } + } + if (options.issuer) { + const invalid_issuer = typeof options.issuer === "string" && payload.iss !== options.issuer || Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1; + if (invalid_issuer) { + return done(new JsonWebTokenError2("jwt issuer invalid. expected: " + options.issuer)); + } + } + if (options.subject) { + if (payload.sub !== options.subject) { + return done(new JsonWebTokenError2("jwt subject invalid. expected: " + options.subject)); + } + } + if (options.jwtid) { + if (payload.jti !== options.jwtid) { + return done(new JsonWebTokenError2("jwt jwtid invalid. expected: " + options.jwtid)); + } + } + if (options.nonce) { + if (payload.nonce !== options.nonce) { + return done(new JsonWebTokenError2("jwt nonce invalid. expected: " + options.nonce)); + } + } + if (options.maxAge) { + if (typeof payload.iat !== "number") { + return done(new JsonWebTokenError2("iat required when maxAge is specified")); + } + const maxAgeTimestamp = timespan(options.maxAge, payload.iat); + if (typeof maxAgeTimestamp === "undefined") { + return done(new JsonWebTokenError2('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) { + return done(new TokenExpiredError2("maxAge exceeded", new Date(maxAgeTimestamp * 1e3))); + } + } + if (options.complete === true) { + const signature = decodedToken.signature; + return done(null, { + header, + payload, + signature + }); + } + return done(null, payload); + }); + }; + } +}); + +// ../../node_modules/.pnpm/lodash.includes@4.3.0/node_modules/lodash.includes/index.js +var require_lodash = __commonJS({ + "../../node_modules/.pnpm/lodash.includes@4.3.0/node_modules/lodash.includes/index.js"(exports, module) { + var INFINITY = 1 / 0; + var MAX_SAFE_INTEGER = 9007199254740991; + var MAX_INTEGER = 17976931348623157e292; + var NAN = 0 / 0; + var argsTag = "[object Arguments]"; + var funcTag = "[object Function]"; + var genTag = "[object GeneratorFunction]"; + var stringTag = "[object String]"; + var symbolTag = "[object Symbol]"; + var reTrim = /^\s+|\s+$/g; + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + var reIsBinary = /^0b[01]+$/i; + var reIsOctal = /^0o[0-7]+$/i; + var reIsUint = /^(?:0|[1-9]\d*)$/; + var freeParseInt = parseInt; + function arrayMap(array2, iteratee) { + var index = -1, length = array2 ? array2.length : 0, result = Array(length); + while (++index < length) { + result[index] = iteratee(array2[index], index, array2); + } + return result; + } + __name(arrayMap, "arrayMap"); + function baseFindIndex(array2, predicate, fromIndex, fromRight) { + var length = array2.length, index = fromIndex + (fromRight ? 1 : -1); + while (fromRight ? index-- : ++index < length) { + if (predicate(array2[index], index, array2)) { + return index; + } + } + return -1; + } + __name(baseFindIndex, "baseFindIndex"); + function baseIndexOf(array2, value, fromIndex) { + if (value !== value) { + return baseFindIndex(array2, baseIsNaN, fromIndex); + } + var index = fromIndex - 1, length = array2.length; + while (++index < length) { + if (array2[index] === value) { + return index; + } + } + return -1; + } + __name(baseIndexOf, "baseIndexOf"); + function baseIsNaN(value) { + return value !== value; + } + __name(baseIsNaN, "baseIsNaN"); + function baseTimes(n3, iteratee) { + var index = -1, result = Array(n3); + while (++index < n3) { + result[index] = iteratee(index); + } + return result; + } + __name(baseTimes, "baseTimes"); + function baseValues(object2, props) { + return arrayMap(props, function(key) { + return object2[key]; + }); + } + __name(baseValues, "baseValues"); + function overArg(func, transform2) { + return function(arg) { + return func(transform2(arg)); + }; + } + __name(overArg, "overArg"); + var objectProto = Object.prototype; + var hasOwnProperty = objectProto.hasOwnProperty; + var objectToString = objectProto.toString; + var propertyIsEnumerable = objectProto.propertyIsEnumerable; + var nativeKeys = overArg(Object.keys, Object); + var nativeMax = Math.max; + function arrayLikeKeys(value, inherited) { + var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : []; + var length = result.length, skipIndexes = !!length; + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isIndex(key, length)))) { + result.push(key); + } + } + return result; + } + __name(arrayLikeKeys, "arrayLikeKeys"); + function baseKeys(object2) { + if (!isPrototype(object2)) { + return nativeKeys(object2); + } + var result = []; + for (var key in Object(object2)) { + if (hasOwnProperty.call(object2, key) && key != "constructor") { + result.push(key); + } + } + return result; + } + __name(baseKeys, "baseKeys"); + function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && (typeof value == "number" || reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); + } + __name(isIndex, "isIndex"); + function isPrototype(value) { + var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; + return value === proto; + } + __name(isPrototype, "isPrototype"); + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0; + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1; + } + __name(includes, "includes"); + function isArguments(value) { + return isArrayLikeObject(value) && hasOwnProperty.call(value, "callee") && (!propertyIsEnumerable.call(value, "callee") || objectToString.call(value) == argsTag); + } + __name(isArguments, "isArguments"); + var isArray = Array.isArray; + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + __name(isArrayLike, "isArrayLike"); + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + __name(isArrayLikeObject, "isArrayLikeObject"); + function isFunction(value) { + var tag = isObject2(value) ? objectToString.call(value) : ""; + return tag == funcTag || tag == genTag; + } + __name(isFunction, "isFunction"); + function isLength(value) { + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + __name(isLength, "isLength"); + function isObject2(value) { + var type = typeof value; + return !!value && (type == "object" || type == "function"); + } + __name(isObject2, "isObject"); + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isString(value) { + return typeof value == "string" || !isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag; + } + __name(isString, "isString"); + function isSymbol(value) { + return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; + } + __name(isSymbol, "isSymbol"); + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign2 = value < 0 ? -1 : 1; + return sign2 * MAX_INTEGER; + } + return value === value ? value : 0; + } + __name(toFinite, "toFinite"); + function toInteger(value) { + var result = toFinite(value), remainder = result % 1; + return result === result ? remainder ? result - remainder : result : 0; + } + __name(toInteger, "toInteger"); + function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject2(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject2(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ""); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; + } + __name(toNumber, "toNumber"); + function keys(object2) { + return isArrayLike(object2) ? arrayLikeKeys(object2) : baseKeys(object2); + } + __name(keys, "keys"); + function values(object2) { + return object2 ? baseValues(object2, keys(object2)) : []; + } + __name(values, "values"); + module.exports = includes; + } +}); + +// ../../node_modules/.pnpm/lodash.isboolean@3.0.3/node_modules/lodash.isboolean/index.js +var require_lodash2 = __commonJS({ + "../../node_modules/.pnpm/lodash.isboolean@3.0.3/node_modules/lodash.isboolean/index.js"(exports, module) { + var boolTag = "[object Boolean]"; + var objectProto = Object.prototype; + var objectToString = objectProto.toString; + function isBoolean(value) { + return value === true || value === false || isObjectLike(value) && objectToString.call(value) == boolTag; + } + __name(isBoolean, "isBoolean"); + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + module.exports = isBoolean; + } +}); + +// ../../node_modules/.pnpm/lodash.isinteger@4.0.4/node_modules/lodash.isinteger/index.js +var require_lodash3 = __commonJS({ + "../../node_modules/.pnpm/lodash.isinteger@4.0.4/node_modules/lodash.isinteger/index.js"(exports, module) { + var INFINITY = 1 / 0; + var MAX_INTEGER = 17976931348623157e292; + var NAN = 0 / 0; + var symbolTag = "[object Symbol]"; + var reTrim = /^\s+|\s+$/g; + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + var reIsBinary = /^0b[01]+$/i; + var reIsOctal = /^0o[0-7]+$/i; + var freeParseInt = parseInt; + var objectProto = Object.prototype; + var objectToString = objectProto.toString; + function isInteger(value) { + return typeof value == "number" && value == toInteger(value); + } + __name(isInteger, "isInteger"); + function isObject2(value) { + var type = typeof value; + return !!value && (type == "object" || type == "function"); + } + __name(isObject2, "isObject"); + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isSymbol(value) { + return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; + } + __name(isSymbol, "isSymbol"); + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign2 = value < 0 ? -1 : 1; + return sign2 * MAX_INTEGER; + } + return value === value ? value : 0; + } + __name(toFinite, "toFinite"); + function toInteger(value) { + var result = toFinite(value), remainder = result % 1; + return result === result ? remainder ? result - remainder : result : 0; + } + __name(toInteger, "toInteger"); + function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject2(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject2(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ""); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; + } + __name(toNumber, "toNumber"); + module.exports = isInteger; + } +}); + +// ../../node_modules/.pnpm/lodash.isnumber@3.0.3/node_modules/lodash.isnumber/index.js +var require_lodash4 = __commonJS({ + "../../node_modules/.pnpm/lodash.isnumber@3.0.3/node_modules/lodash.isnumber/index.js"(exports, module) { + var numberTag = "[object Number]"; + var objectProto = Object.prototype; + var objectToString = objectProto.toString; + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isNumber(value) { + return typeof value == "number" || isObjectLike(value) && objectToString.call(value) == numberTag; + } + __name(isNumber, "isNumber"); + module.exports = isNumber; + } +}); + +// ../../node_modules/.pnpm/lodash.isplainobject@4.0.6/node_modules/lodash.isplainobject/index.js +var require_lodash5 = __commonJS({ + "../../node_modules/.pnpm/lodash.isplainobject@4.0.6/node_modules/lodash.isplainobject/index.js"(exports, module) { + var objectTag = "[object Object]"; + function isHostObject(value) { + var result = false; + if (value != null && typeof value.toString != "function") { + try { + result = !!(value + ""); + } catch (e5) { + } + } + return result; + } + __name(isHostObject, "isHostObject"); + function overArg(func, transform2) { + return function(arg) { + return func(transform2(arg)); + }; + } + __name(overArg, "overArg"); + var funcProto = Function.prototype; + var objectProto = Object.prototype; + var funcToString = funcProto.toString; + var hasOwnProperty = objectProto.hasOwnProperty; + var objectCtorString = funcToString.call(Object); + var objectToString = objectProto.toString; + var getPrototype = overArg(Object.getPrototypeOf, Object); + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isPlainObject2(value) { + if (!isObjectLike(value) || objectToString.call(value) != objectTag || isHostObject(value)) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; + } + __name(isPlainObject2, "isPlainObject"); + module.exports = isPlainObject2; + } +}); + +// ../../node_modules/.pnpm/lodash.isstring@4.0.1/node_modules/lodash.isstring/index.js +var require_lodash6 = __commonJS({ + "../../node_modules/.pnpm/lodash.isstring@4.0.1/node_modules/lodash.isstring/index.js"(exports, module) { + var stringTag = "[object String]"; + var objectProto = Object.prototype; + var objectToString = objectProto.toString; + var isArray = Array.isArray; + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isString(value) { + return typeof value == "string" || !isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag; + } + __name(isString, "isString"); + module.exports = isString; + } +}); + +// ../../node_modules/.pnpm/lodash.once@4.1.1/node_modules/lodash.once/index.js +var require_lodash7 = __commonJS({ + "../../node_modules/.pnpm/lodash.once@4.1.1/node_modules/lodash.once/index.js"(exports, module) { + var FUNC_ERROR_TEXT = "Expected a function"; + var INFINITY = 1 / 0; + var MAX_INTEGER = 17976931348623157e292; + var NAN = 0 / 0; + var symbolTag = "[object Symbol]"; + var reTrim = /^\s+|\s+$/g; + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + var reIsBinary = /^0b[01]+$/i; + var reIsOctal = /^0o[0-7]+$/i; + var freeParseInt = parseInt; + var objectProto = Object.prototype; + var objectToString = objectProto.toString; + function before(n3, func) { + var result; + if (typeof func != "function") { + throw new TypeError(FUNC_ERROR_TEXT); + } + n3 = toInteger(n3); + return function() { + if (--n3 > 0) { + result = func.apply(this, arguments); + } + if (n3 <= 1) { + func = void 0; + } + return result; + }; + } + __name(before, "before"); + function once(func) { + return before(2, func); + } + __name(once, "once"); + function isObject2(value) { + var type = typeof value; + return !!value && (type == "object" || type == "function"); + } + __name(isObject2, "isObject"); + function isObjectLike(value) { + return !!value && typeof value == "object"; + } + __name(isObjectLike, "isObjectLike"); + function isSymbol(value) { + return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag; + } + __name(isSymbol, "isSymbol"); + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign2 = value < 0 ? -1 : 1; + return sign2 * MAX_INTEGER; + } + return value === value ? value : 0; + } + __name(toFinite, "toFinite"); + function toInteger(value) { + var result = toFinite(value), remainder = result % 1; + return result === result ? remainder ? result - remainder : result : 0; + } + __name(toInteger, "toInteger"); + function toNumber(value) { + if (typeof value == "number") { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject2(value)) { + var other = typeof value.valueOf == "function" ? value.valueOf() : value; + value = isObject2(other) ? other + "" : other; + } + if (typeof value != "string") { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ""); + var isBinary = reIsBinary.test(value); + return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; + } + __name(toNumber, "toNumber"); + module.exports = once; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/sign.js +var require_sign = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/sign.js"(exports, module) { + var timespan = require_timespan(); + var PS_SUPPORTED = require_psSupported(); + var validateAsymmetricKey = require_validateAsymmetricKey(); + var jws = require_jws(); + var includes = require_lodash(); + var isBoolean = require_lodash2(); + var isInteger = require_lodash3(); + var isNumber = require_lodash4(); + var isPlainObject2 = require_lodash5(); + var isString = require_lodash6(); + var once = require_lodash7(); + var { KeyObject, createSecretKey, createPrivateKey } = __require("crypto"); + var SUPPORTED_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "none"]; + if (PS_SUPPORTED) { + SUPPORTED_ALGS.splice(3, 0, "PS256", "PS384", "PS512"); + } + var sign_options_schema = { + expiresIn: { isValid: /* @__PURE__ */ __name(function(value) { + return isInteger(value) || isString(value) && value; + }, "isValid"), message: '"expiresIn" should be a number of seconds or string representing a timespan' }, + notBefore: { isValid: /* @__PURE__ */ __name(function(value) { + return isInteger(value) || isString(value) && value; + }, "isValid"), message: '"notBefore" should be a number of seconds or string representing a timespan' }, + audience: { isValid: /* @__PURE__ */ __name(function(value) { + return isString(value) || Array.isArray(value); + }, "isValid"), message: '"audience" must be a string or array' }, + algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' }, + header: { isValid: isPlainObject2, message: '"header" must be an object' }, + encoding: { isValid: isString, message: '"encoding" must be a string' }, + issuer: { isValid: isString, message: '"issuer" must be a string' }, + subject: { isValid: isString, message: '"subject" must be a string' }, + jwtid: { isValid: isString, message: '"jwtid" must be a string' }, + noTimestamp: { isValid: isBoolean, message: '"noTimestamp" must be a boolean' }, + keyid: { isValid: isString, message: '"keyid" must be a string' }, + mutatePayload: { isValid: isBoolean, message: '"mutatePayload" must be a boolean' }, + allowInsecureKeySizes: { isValid: isBoolean, message: '"allowInsecureKeySizes" must be a boolean' }, + allowInvalidAsymmetricKeyTypes: { isValid: isBoolean, message: '"allowInvalidAsymmetricKeyTypes" must be a boolean' } + }; + var registered_claims_schema = { + iat: { isValid: isNumber, message: '"iat" should be a number of seconds' }, + exp: { isValid: isNumber, message: '"exp" should be a number of seconds' }, + nbf: { isValid: isNumber, message: '"nbf" should be a number of seconds' } + }; + function validate3(schema2, allowUnknown, object2, parameterName) { + if (!isPlainObject2(object2)) { + throw new Error('Expected "' + parameterName + '" to be a plain object.'); + } + Object.keys(object2).forEach(function(key) { + const validator = schema2[key]; + if (!validator) { + if (!allowUnknown) { + throw new Error('"' + key + '" is not allowed in "' + parameterName + '"'); + } + return; + } + if (!validator.isValid(object2[key])) { + throw new Error(validator.message); + } + }); + } + __name(validate3, "validate"); + function validateOptions(options) { + return validate3(sign_options_schema, false, options, "options"); + } + __name(validateOptions, "validateOptions"); + function validatePayload(payload) { + return validate3(registered_claims_schema, true, payload, "payload"); + } + __name(validatePayload, "validatePayload"); + var options_to_payload = { + "audience": "aud", + "issuer": "iss", + "subject": "sub", + "jwtid": "jti" + }; + var options_for_objects = [ + "expiresIn", + "notBefore", + "noTimestamp", + "audience", + "issuer", + "subject", + "jwtid" + ]; + module.exports = function(payload, secretOrPrivateKey, options, callback) { + if (typeof options === "function") { + callback = options; + options = {}; + } else { + options = options || {}; + } + const isObjectPayload = typeof payload === "object" && !Buffer.isBuffer(payload); + const header = Object.assign({ + alg: options.algorithm || "HS256", + typ: isObjectPayload ? "JWT" : void 0, + kid: options.keyid + }, options.header); + function failure2(err) { + if (callback) { + return callback(err); + } + throw err; + } + __name(failure2, "failure"); + if (!secretOrPrivateKey && options.algorithm !== "none") { + return failure2(new Error("secretOrPrivateKey must have a value")); + } + if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) { + try { + secretOrPrivateKey = createPrivateKey(secretOrPrivateKey); + } catch (_) { + try { + secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === "string" ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey); + } catch (_2) { + return failure2(new Error("secretOrPrivateKey is not valid key material")); + } + } + } + if (header.alg.startsWith("HS") && secretOrPrivateKey.type !== "secret") { + return failure2(new Error(`secretOrPrivateKey must be a symmetric key when using ${header.alg}`)); + } else if (/^(?:RS|PS|ES)/.test(header.alg)) { + if (secretOrPrivateKey.type !== "private") { + return failure2(new Error(`secretOrPrivateKey must be an asymmetric key when using ${header.alg}`)); + } + if (!options.allowInsecureKeySizes && !header.alg.startsWith("ES") && secretOrPrivateKey.asymmetricKeyDetails !== void 0 && //KeyObject.asymmetricKeyDetails is supported in Node 15+ + secretOrPrivateKey.asymmetricKeyDetails.modulusLength < 2048) { + return failure2(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)); + } + } + if (typeof payload === "undefined") { + return failure2(new Error("payload is required")); + } else if (isObjectPayload) { + try { + validatePayload(payload); + } catch (error62) { + return failure2(error62); + } + if (!options.mutatePayload) { + payload = Object.assign({}, payload); + } + } else { + const invalid_options = options_for_objects.filter(function(opt) { + return typeof options[opt] !== "undefined"; + }); + if (invalid_options.length > 0) { + return failure2(new Error("invalid " + invalid_options.join(",") + " option for " + typeof payload + " payload")); + } + } + if (typeof payload.exp !== "undefined" && typeof options.expiresIn !== "undefined") { + return failure2(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.')); + } + if (typeof payload.nbf !== "undefined" && typeof options.notBefore !== "undefined") { + return failure2(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.')); + } + try { + validateOptions(options); + } catch (error62) { + return failure2(error62); + } + if (!options.allowInvalidAsymmetricKeyTypes) { + try { + validateAsymmetricKey(header.alg, secretOrPrivateKey); + } catch (error62) { + return failure2(error62); + } + } + const timestamp = payload.iat || Math.floor(Date.now() / 1e3); + if (options.noTimestamp) { + delete payload.iat; + } else if (isObjectPayload) { + payload.iat = timestamp; + } + if (typeof options.notBefore !== "undefined") { + try { + payload.nbf = timespan(options.notBefore, timestamp); + } catch (err) { + return failure2(err); + } + if (typeof payload.nbf === "undefined") { + return failure2(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + } + if (typeof options.expiresIn !== "undefined" && typeof payload === "object") { + try { + payload.exp = timespan(options.expiresIn, timestamp); + } catch (err) { + return failure2(err); + } + if (typeof payload.exp === "undefined") { + return failure2(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60')); + } + } + Object.keys(options_to_payload).forEach(function(key) { + const claim2 = options_to_payload[key]; + if (typeof options[key] !== "undefined") { + if (typeof payload[claim2] !== "undefined") { + return failure2(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim2 + '" property.')); + } + payload[claim2] = options[key]; + } + }); + const encoding = options.encoding || "utf8"; + if (typeof callback === "function") { + callback = callback && once(callback); + jws.createSign({ + header, + privateKey: secretOrPrivateKey, + payload, + encoding + }).once("error", callback).once("done", function(signature) { + if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { + return callback(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`)); + } + callback(null, signature); + }); + } else { + let signature = jws.sign({ header, payload, secret: secretOrPrivateKey, encoding }); + if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) { + throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`); + } + return signature; + } + }; + } +}); + +// ../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/index.js +var require_jsonwebtoken = __commonJS({ + "../../node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/index.js"(exports, module) { + module.exports = { + decode: require_decode(), + verify: require_verify(), + sign: require_sign(), + JsonWebTokenError: require_JsonWebTokenError(), + NotBeforeError: require_NotBeforeError(), + TokenExpiredError: require_TokenExpiredError() + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/constants.js +var RequestChecksumCalculation, DEFAULT_REQUEST_CHECKSUM_CALCULATION, ResponseChecksumValidation, DEFAULT_RESPONSE_CHECKSUM_VALIDATION, ChecksumAlgorithm, ChecksumLocation, DEFAULT_CHECKSUM_ALGORITHM; +var init_constants = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/constants.js"() { + RequestChecksumCalculation = { + WHEN_SUPPORTED: "WHEN_SUPPORTED", + WHEN_REQUIRED: "WHEN_REQUIRED" + }; + DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED; + ResponseChecksumValidation = { + WHEN_SUPPORTED: "WHEN_SUPPORTED", + WHEN_REQUIRED: "WHEN_REQUIRED" + }; + DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED; + (function(ChecksumAlgorithm2) { + ChecksumAlgorithm2["MD5"] = "MD5"; + ChecksumAlgorithm2["CRC32"] = "CRC32"; + ChecksumAlgorithm2["CRC32C"] = "CRC32C"; + ChecksumAlgorithm2["CRC64NVME"] = "CRC64NVME"; + ChecksumAlgorithm2["SHA1"] = "SHA1"; + ChecksumAlgorithm2["SHA256"] = "SHA256"; + })(ChecksumAlgorithm || (ChecksumAlgorithm = {})); + (function(ChecksumLocation2) { + ChecksumLocation2["HEADER"] = "header"; + ChecksumLocation2["TRAILER"] = "trailer"; + })(ChecksumLocation || (ChecksumLocation = {})); + DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringUnionSelector.js +var SelectorType2, stringUnionSelector; +var init_stringUnionSelector = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringUnionSelector.js"() { + (function(SelectorType3) { + SelectorType3["ENV"] = "env"; + SelectorType3["CONFIG"] = "shared config entry"; + })(SelectorType2 || (SelectorType2 = {})); + stringUnionSelector = /* @__PURE__ */ __name((obj, key, union2, type) => { + if (!(key in obj)) + return void 0; + const value = obj[key].toUpperCase(); + if (!Object.values(union2).includes(value)) { + throw new TypeError(`Cannot load ${type} '${key}'. Expected one of ${Object.values(union2)}, got '${obj[key]}'.`); + } + return value; + }, "stringUnionSelector"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js +var ENV_REQUEST_CHECKSUM_CALCULATION, CONFIG_REQUEST_CHECKSUM_CALCULATION, NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS; +var init_NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js"() { + init_constants(); + init_stringUnionSelector(); + ENV_REQUEST_CHECKSUM_CALCULATION = "AWS_REQUEST_CHECKSUM_CALCULATION"; + CONFIG_REQUEST_CHECKSUM_CALCULATION = "request_checksum_calculation"; + NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => stringUnionSelector(env3, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType2.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType2.CONFIG), "configFileSelector"), + default: DEFAULT_REQUEST_CHECKSUM_CALCULATION + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js +var ENV_RESPONSE_CHECKSUM_VALIDATION, CONFIG_RESPONSE_CHECKSUM_VALIDATION, NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS; +var init_NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js"() { + init_constants(); + init_stringUnionSelector(); + ENV_RESPONSE_CHECKSUM_VALIDATION = "AWS_RESPONSE_CHECKSUM_VALIDATION"; + CONFIG_RESPONSE_CHECKSUM_VALIDATION = "response_checksum_validation"; + NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => stringUnionSelector(env3, ENV_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType2.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType2.CONFIG), "configFileSelector"), + default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +var state, emitWarningIfUnsupportedVersion2; +var init_emitWarningIfUnsupportedVersion = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js"() { + state = { + warningEmitted: false + }; + emitWarningIfUnsupportedVersion2 = /* @__PURE__ */ __name((version2) => { + if (version2 && !state.warningEmitted) { + if (process.env.AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED === "true") { + state.warningEmitted = true; + return; + } + const userMajorVersion = parseInt(version2.substring(1, version2.indexOf("."))); + const vv = 22; + if (userMajorVersion < vv) { + state.warningEmitted = true; + process.emitWarning(`NodeVersionSupportWarning: The AWS SDK for JavaScript (v3) +versions published after the first week of January 2027 +will require node >=${vv}. You are running node ${version2}. + +To continue receiving updates to AWS services, bug fixes, +and security updates please upgrade to node >=${vv}. + +More information can be found at: https://a.co/c895JFp`); + } + } + }, "emitWarningIfUnsupportedVersion"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js +var longPollMiddleware, longPollMiddlewareOptions, getLongPollPlugin; +var init_longPollMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js"() { + longPollMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => { + context.__retryLongPoll = true; + return next(args); + }, "longPollMiddleware"); + longPollMiddlewareOptions = { + name: "longPollMiddleware", + tags: ["RETRY"], + step: "initialize", + override: true + }; + getLongPollPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(longPollMiddleware(), longPollMiddlewareOptions); + }, "applyToStack") + }), "getLongPollPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js +function setCredentialFeature(credentials, feature, value) { + if (!credentials.$source) { + credentials.$source = {}; + } + credentials.$source[feature] = value; + return credentials; +} +var init_setCredentialFeature = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js"() { + __name(setCredentialFeature, "setCredentialFeature"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.js +import { Readable } from "node:stream"; +var isStreamingPayload; +var init_isStreamingPayload = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/isStreamingPayload/isStreamingPayload.js"() { + isStreamingPayload = /* @__PURE__ */ __name((request) => request?.body instanceof Readable || typeof ReadableStream !== "undefined" && request?.body instanceof ReadableStream, "isStreamingPayload"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js +var collectBody; +var init_collect_stream_body = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js"() { + init_serde(); + collectBody = /* @__PURE__ */ __name(async (streamBody = new Uint8Array(), context) => { + if (streamBody instanceof Uint8Array) { + return Uint8ArrayBlobAdapter.mutate(streamBody); + } + if (!streamBody) { + return Uint8ArrayBlobAdapter.mutate(new Uint8Array()); + } + const fromContext = context.streamCollector(streamBody); + return Uint8ArrayBlobAdapter.mutate(await fromContext); + }, "collectBody"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js +function extendedEncodeURIComponent(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c5) { + return "%" + c5.charCodeAt(0).toString(16).toUpperCase(); + }); +} +var init_extended_encode_uri_component = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js"() { + __name(extendedEncodeURIComponent, "extendedEncodeURIComponent"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js +var SerdeContext; +var init_SerdeContext = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js"() { + SerdeContext = class { + static { + __name(this, "SerdeContext"); + } + serdeContext; + setSerdeContext(serdeContext) { + this.serdeContext = serdeContext; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +var HttpProtocol; +var init_HttpProtocol = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js"() { + init_transport(); + init_schema(); + init_transport(); + init_SerdeContext(); + HttpProtocol = class extends SerdeContext { + static { + __name(this, "HttpProtocol"); + } + options; + compositeErrorRegistry; + constructor(options) { + super(); + this.options = options; + this.compositeErrorRegistry = new TypeRegistry(options.defaultNamespace); + for (const etr of options.errorTypeRegistries ?? []) { + this.compositeErrorRegistry.copyFrom(etr); + } + } + getRequestType() { + return HttpRequest; + } + getResponseType() { + return HttpResponse; + } + setSerdeContext(serdeContext) { + this.serdeContext = serdeContext; + this.serializer.setSerdeContext(serdeContext); + this.deserializer.setSerdeContext(serdeContext); + if (this.getPayloadCodec()) { + this.getPayloadCodec().setSerdeContext(serdeContext); + } + } + updateServiceEndpoint(request, endpoint) { + if ("url" in endpoint) { + request.protocol = endpoint.url.protocol; + request.hostname = endpoint.url.hostname; + request.port = endpoint.url.port ? Number(endpoint.url.port) : void 0; + request.path = endpoint.url.pathname; + request.fragment = endpoint.url.hash || void 0; + request.username = endpoint.url.username || void 0; + request.password = endpoint.url.password || void 0; + if (!request.query) { + request.query = {}; + } + for (const [k5, v] of endpoint.url.searchParams.entries()) { + request.query[k5] = v; + } + if (endpoint.headers) { + for (const name2 in endpoint.headers) { + if (!hasOwn(endpoint.headers, name2)) + continue; + request.headers[name2] = endpoint.headers[name2].join(", "); + } + } + return request; + } else { + request.protocol = endpoint.protocol; + request.hostname = endpoint.hostname; + request.port = endpoint.port ? Number(endpoint.port) : void 0; + request.path = endpoint.path; + request.query = { + ...endpoint.query + }; + if (endpoint.headers) { + for (const name2 in endpoint.headers) { + if (!hasOwn(endpoint.headers, name2)) + continue; + request.headers[name2] = endpoint.headers[name2]; + } + } + return request; + } + } + setHostPrefix(request, operationSchema, input2) { + if (this.serdeContext?.disableHostPrefix) { + return; + } + const inputNs = NormalizedSchema.of(operationSchema.input); + const opTraits = translateTraits(operationSchema.traits ?? {}); + if (opTraits.endpoint) { + let hostPrefix = opTraits.endpoint?.[0]; + if (typeof hostPrefix === "string") { + for (const [name2, member] of inputNs.structIterator()) { + if (!member.getMergedTraits().hostLabel) { + continue; + } + const replacement = input2[name2]; + if (typeof replacement !== "string") { + throw new Error(`@smithy/core/schema - ${name2} in input must be a string as hostLabel.`); + } + hostPrefix = hostPrefix.replace(`{${name2}}`, replacement); + } + request.hostname = hostPrefix + request.hostname; + if (!isValidHostname(request.hostname)) { + throw new Error(`[${request.hostname}] is not a valid hostname.`); + } + } + } + } + deserializeMetadata(output2) { + return { + httpStatusCode: output2.statusCode, + requestId: output2.headers["x-amzn-requestid"] ?? output2.headers["x-amzn-request-id"] ?? output2.headers["x-amz-request-id"], + extendedRequestId: output2.headers["x-amz-id-2"], + cfId: output2.headers["x-amz-cf-id"] + }; + } + resolveError(name2, namespaces, registries) { + const defaultErrorSchema = [-3, "", "Error", 0, [], [], 0]; + let schema2; + for (const registry2 of registries) { + for (const ns of namespaces) { + try { + if (ns === "*") { + schema2 = registry2.getSchema(name2); + } else { + schema2 = registry2.getSchema(ns + "#" + name2); + } + const errorCtor = registry2.getErrorCtor(schema2); + if (errorCtor) { + return [schema2, errorCtor, "modeled"]; + } else { + const syntheticErrorSchema = registry2.getBaseException(); + if (syntheticErrorSchema) { + const syntheticErrorCtor = registry2.getErrorCtor(syntheticErrorSchema); + if (syntheticErrorCtor) { + return [schema2, syntheticErrorCtor, "synthetic"]; + } + } + } + } catch (ignored) { + } + } + } + for (const registry2 of registries) { + const syntheticErrorSchema = registry2.getBaseException(); + if (syntheticErrorSchema) { + const syntheticErrorCtor = registry2.getErrorCtor(syntheticErrorSchema); + if (syntheticErrorCtor) { + return [syntheticErrorSchema, syntheticErrorCtor, "synthetic"]; + } + } + } + return [defaultErrorSchema, Error, "native"]; + } + async serializeEventStream({ eventStream, requestSchema, initialRequest }) { + const eventStreamSerde = await this.loadEventStreamCapability(); + return eventStreamSerde.serializeEventStream({ + eventStream, + requestSchema, + initialRequest + }); + } + async deserializeEventStream({ response, responseSchema, initialResponseContainer }) { + const eventStreamSerde = await this.loadEventStreamCapability(); + return eventStreamSerde.deserializeEventStream({ + response, + responseSchema, + initialResponseContainer + }); + } + async loadEventStreamCapability() { + const { EventStreamSerde, eventStreamSerdeProvider } = await import("./event-streams-IPK6VS6T.js"); + const marshaller = this.resolveEventStreamMarshaller(eventStreamSerdeProvider); + return new EventStreamSerde({ + marshaller, + serializer: this.serializer, + deserializer: this.deserializer, + serdeContext: this.serdeContext, + defaultContentType: this.getDefaultContentType(), + compositeErrorRegistry: this.compositeErrorRegistry + }); + } + getDefaultContentType() { + throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`); + } + async deserializeHttpMessage(schema2, context, response, arg4, arg5) { + void schema2; + void context; + void response; + void arg4; + void arg5; + return []; + } + getEventStreamMarshaller() { + const context = this.serdeContext; + if (!context.eventStreamMarshaller) { + throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext."); + } + return context.eventStreamMarshaller; + } + resolveEventStreamMarshaller(importedProvider) { + const context = this.serdeContext; + if (context.eventStreamMarshaller) { + return context.eventStreamMarshaller; + } + return importedProvider(this.serdeContext); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +var HttpBindingProtocol; +var init_HttpBindingProtocol = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js"() { + init_transport(); + init_schema(); + init_serde(); + init_transport(); + init_HttpProtocol(); + init_collect_stream_body(); + init_extended_encode_uri_component(); + HttpBindingProtocol = class extends HttpProtocol { + static { + __name(this, "HttpBindingProtocol"); + } + async serializeRequest(operationSchema, _input, context) { + const input2 = _input && typeof _input === "object" ? _input : {}; + const serializer = this.serializer; + const query = {}; + const headers = {}; + const endpoint = await context.endpoint(); + const ns = NormalizedSchema.of(operationSchema?.input); + const payloadMemberNames = []; + const payloadMemberSchemas = []; + let hasNonHttpBindingMember = false; + let payload; + const request = new HttpRequest({ + protocol: "", + hostname: "", + port: void 0, + path: "", + fragment: void 0, + query, + headers, + body: void 0 + }); + if (endpoint) { + this.updateServiceEndpoint(request, endpoint); + this.setHostPrefix(request, operationSchema, input2); + const opTraits = translateTraits(operationSchema.traits); + if (opTraits.http) { + request.method = opTraits.http[0]; + const [path2, search] = opTraits.http[1].split("?"); + if (request.path == "/") { + request.path = path2; + } else { + request.path += path2; + } + const traitSearchParams = new URLSearchParams(search ?? ""); + for (const [key, value] of traitSearchParams) { + query[key] = value; + } + } + } + for (const [memberName, memberNs] of ns.structIterator()) { + const memberTraits = memberNs.getMergedTraits() ?? {}; + const inputMemberValue = input2[memberName]; + if (inputMemberValue == null && !memberNs.isIdempotencyToken()) { + if (memberTraits.httpLabel) { + if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) { + throw new Error(`No value provided for input HTTP label: ${memberName}.`); + } + } + continue; + } + if (memberTraits.httpPayload) { + const isStreaming2 = memberNs.isStreaming(); + if (isStreaming2) { + const isEventStream = memberNs.isStructSchema(); + if (isEventStream) { + if (input2[memberName]) { + payload = await this.serializeEventStream({ + eventStream: input2[memberName], + requestSchema: ns + }); + } + } else { + payload = inputMemberValue; + } + } else { + serializer.write(memberNs, inputMemberValue); + payload = serializer.flush(); + } + } else if (memberTraits.httpLabel) { + serializer.write(memberNs, inputMemberValue); + const replacement = serializer.flush(); + if (request.path.includes(`{${memberName}+}`)) { + request.path = request.path.replace(`{${memberName}+}`, replacement.split("/").map(extendedEncodeURIComponent).join("/")); + } else if (request.path.includes(`{${memberName}}`)) { + request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement)); + } + } else if (memberTraits.httpHeader) { + serializer.write(memberNs, inputMemberValue); + headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush()); + } else if (typeof memberTraits.httpPrefixHeaders === "string") { + for (const key in inputMemberValue) { + if (!hasOwn(inputMemberValue, key)) + continue; + const val = inputMemberValue[key]; + const amalgam = memberTraits.httpPrefixHeaders + key; + serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val); + headers[amalgam.toLowerCase()] = serializer.flush(); + } + } else if (memberTraits.httpQuery || memberTraits.httpQueryParams) { + this.serializeQuery(memberNs, inputMemberValue, query); + } else { + hasNonHttpBindingMember = true; + payloadMemberNames.push(memberName); + payloadMemberSchemas.push(memberNs); + } + } + if (hasNonHttpBindingMember && input2) { + const [namespace, name2] = (ns.getName(true) ?? "#Unknown").split("#"); + const requiredMembers = ns.getSchema()[6]; + const payloadSchema = [ + 3, + namespace, + name2, + ns.getMergedTraits(), + payloadMemberNames, + payloadMemberSchemas, + void 0 + ]; + if (requiredMembers) { + payloadSchema[6] = requiredMembers; + } else { + payloadSchema.pop(); + } + serializer.write(payloadSchema, input2); + payload = serializer.flush(); + } + request.headers = headers; + request.query = query; + request.body = payload; + return request; + } + serializeQuery(ns, data, query) { + const serializer = this.serializer; + const traits = ns.getMergedTraits(); + if (traits.httpQueryParams) { + for (const key in data) { + if (!hasOwn(data, key)) + continue; + if (!(key in query)) { + const val = data[key]; + const valueSchema = ns.getValueSchema(); + Object.assign(valueSchema.getMergedTraits(), { + ...traits, + httpQuery: key, + httpQueryParams: void 0 + }); + this.serializeQuery(valueSchema, val, query); + } + } + return; + } + if (ns.isListSchema()) { + const sparse = !!ns.getMergedTraits().sparse; + const buffer = []; + for (const item of data) { + serializer.write([ns.getValueSchema(), traits], item); + const serializable = serializer.flush(); + if (sparse || serializable !== void 0) { + buffer.push(serializable); + } + } + query[traits.httpQuery] = buffer; + } else { + serializer.write([ns, traits], data); + query[traits.httpQuery] = serializer.flush(); + } + } + async deserializeResponse(operationSchema, context, response) { + const deserializer = this.deserializer; + const ns = NormalizedSchema.of(operationSchema.output); + const dataObject = {}; + if (response.statusCode >= 300) { + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + Object.assign(dataObject, await deserializer.read(15, bytes)); + } + await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response)); + throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw."); + } + for (const header in response.headers) { + if (!hasOwn(response.headers, header)) + continue; + const value = response.headers[header]; + delete response.headers[header]; + response.headers[header.toLowerCase()] = value; + } + const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject); + if (nonHttpBindingMembers.length) { + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + const dataFromBody = await deserializer.read(ns, bytes); + for (const member of nonHttpBindingMembers) { + if (dataFromBody[member] != null) { + dataObject[member] = dataFromBody[member]; + } + } + } + } else if (nonHttpBindingMembers.discardResponseBody) { + await collectBody(response.body, context); + } + dataObject.$metadata = this.deserializeMetadata(response); + return dataObject; + } + async deserializeHttpMessage(schema2, context, response, arg4, arg5) { + let dataObject; + if (arg4 instanceof Set) { + dataObject = arg5; + } else { + dataObject = arg4; + } + let discardResponseBody = true; + const deserializer = this.deserializer; + const ns = NormalizedSchema.of(schema2); + const nonHttpBindingMembers = []; + for (const [memberName, memberSchema] of ns.structIterator()) { + const memberTraits = memberSchema.getMemberTraits(); + if (memberTraits.httpPayload) { + discardResponseBody = false; + const isStreaming2 = memberSchema.isStreaming(); + if (isStreaming2) { + const isEventStream = memberSchema.isStructSchema(); + if (isEventStream) { + dataObject[memberName] = await this.deserializeEventStream({ + response, + responseSchema: ns + }); + } else { + dataObject[memberName] = sdkStreamMixin(response.body); + } + } else if (response.body) { + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + dataObject[memberName] = await deserializer.read(memberSchema, bytes); + } + } + } else if (memberTraits.httpHeader) { + const key = String(memberTraits.httpHeader).toLowerCase(); + const value = response.headers[key]; + if (null != value) { + if (memberSchema.isListSchema()) { + const headerListValueSchema = memberSchema.getValueSchema(); + headerListValueSchema.getMergedTraits().httpHeader = key; + let sections; + if (headerListValueSchema.isTimestampSchema() && headerListValueSchema.getSchema() === 4) { + sections = splitEvery(value, ",", 2); + } else { + sections = splitHeader(value); + } + const list = []; + for (const section of sections) { + list.push(await deserializer.read(headerListValueSchema, section.trim())); + } + dataObject[memberName] = list; + } else { + dataObject[memberName] = await deserializer.read(memberSchema, value); + } + } + } else if (memberTraits.httpPrefixHeaders !== void 0) { + dataObject[memberName] = {}; + for (const header in response.headers) { + if (!hasOwn(response.headers, header)) + continue; + if (header.startsWith(memberTraits.httpPrefixHeaders)) { + const value = response.headers[header]; + const valueSchema = memberSchema.getValueSchema(); + valueSchema.getMergedTraits().httpHeader = header; + dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value); + } + } + } else if (memberTraits.httpResponseCode) { + dataObject[memberName] = response.statusCode; + } else { + nonHttpBindingMembers.push(memberName); + } + } + nonHttpBindingMembers.discardResponseBody = discardResponseBody; + return nonHttpBindingMembers; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +var RpcProtocol; +var init_RpcProtocol = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js"() { + init_transport(); + init_schema(); + init_transport(); + init_HttpProtocol(); + init_collect_stream_body(); + RpcProtocol = class extends HttpProtocol { + static { + __name(this, "RpcProtocol"); + } + async serializeRequest(operationSchema, _input, context) { + const serializer = this.serializer; + const query = {}; + const headers = {}; + const endpoint = await context.endpoint(); + const ns = NormalizedSchema.of(operationSchema?.input); + const schema2 = ns.getSchema(); + let payload; + const input2 = _input && typeof _input === "object" ? _input : {}; + const request = new HttpRequest({ + protocol: "", + hostname: "", + port: void 0, + path: "/", + fragment: void 0, + query, + headers, + body: void 0 + }); + if (endpoint) { + this.updateServiceEndpoint(request, endpoint); + this.setHostPrefix(request, operationSchema, input2); + } + if (input2) { + const eventStreamMember = ns.getEventStreamMember(); + if (eventStreamMember) { + if (input2[eventStreamMember]) { + const initialRequest = {}; + for (const [memberName] of ns.structIterator()) { + if (memberName !== eventStreamMember && input2[memberName] != null) { + initialRequest[memberName] = input2[memberName]; + } + } + payload = await this.serializeEventStream({ + eventStream: input2[eventStreamMember], + requestSchema: ns, + initialRequest + }); + } + } else { + serializer.write(schema2, input2); + payload = serializer.flush(); + } + } + request.headers = Object.assign(request.headers, headers); + request.query = query; + request.body = payload; + request.method = "POST"; + return request; + } + async deserializeResponse(operationSchema, context, response) { + const deserializer = this.deserializer; + const ns = NormalizedSchema.of(operationSchema.output); + const dataObject = {}; + if (response.statusCode >= 300) { + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + Object.assign(dataObject, await deserializer.read(15, bytes)); + } + await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response)); + throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw."); + } + for (const header in response.headers) { + if (!hasOwn(response.headers, header)) + continue; + const value = response.headers[header]; + delete response.headers[header]; + response.headers[header.toLowerCase()] = value; + } + const eventStreamMember = ns.getEventStreamMember(); + if (eventStreamMember) { + dataObject[eventStreamMember] = await this.deserializeEventStream({ + response, + responseSchema: ns, + initialResponseContainer: dataObject + }); + } else { + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + Object.assign(dataObject, await deserializer.read(ns, bytes)); + } + } + dataObject.$metadata = this.deserializeMetadata(response); + return dataObject; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js +var resolvedPath; +var init_resolve_path = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js"() { + init_extended_encode_uri_component(); + resolvedPath = /* @__PURE__ */ __name((resolvedPath2, input2, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { + if (input2 != null && input2[memberName] !== void 0) { + const labelValue = labelValueProvider(); + if (labelValue == null || labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: " + memberName + "."); + } + resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent(segment)).join("/") : extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: " + memberName + "."); + } + return resolvedPath2; + }, "resolvedPath"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +function requestBuilder(input2, context) { + return new RequestBuilder(input2, context); +} +var RequestBuilder; +var init_requestBuilder = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js"() { + init_transport(); + init_resolve_path(); + __name(requestBuilder, "requestBuilder"); + RequestBuilder = class { + static { + __name(this, "RequestBuilder"); + } + input; + context; + query = {}; + method = ""; + headers = {}; + path = ""; + body = null; + hostname = ""; + resolvePathStack = []; + constructor(input2, context) { + this.input = input2; + this.context = context; + } + async build() { + const { hostname: hostname3, protocol = "https", port, path: basePath } = await this.context.endpoint(); + this.path = basePath; + for (const resolvePath of this.resolvePathStack) { + resolvePath(this.path); + } + return new HttpRequest({ + protocol, + hostname: this.hostname || hostname3, + port, + method: this.method, + path: this.path, + query: this.query, + body: this.body, + headers: this.headers + }); + } + hn(hostname3) { + this.hostname = hostname3; + return this; + } + bp(uriLabel) { + this.resolvePathStack.push((basePath) => { + this.path = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + uriLabel; + }); + return this; + } + p(memberName, labelValueProvider, uriLabel, isGreedyLabel) { + this.resolvePathStack.push((path2) => { + this.path = resolvedPath(path2, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel); + }); + return this; + } + h(headers) { + this.headers = headers; + return this; + } + q(query) { + this.query = query; + return this; + } + b(body) { + this.body = body; + return this; + } + m(method) { + this.method = method; + return this; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js +function determineTimestampFormat(ns, settings) { + if (settings.timestampFormat.useTrait) { + if (ns.isTimestampSchema() && (ns.getSchema() === 5 || ns.getSchema() === 6 || ns.getSchema() === 7)) { + return ns.getSchema(); + } + } + const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits(); + const bindingFormat = settings.httpBindings ? typeof httpPrefixHeaders === "string" || Boolean(httpHeader) ? 6 : Boolean(httpQuery) || Boolean(httpLabel) ? 5 : void 0 : void 0; + return bindingFormat ?? settings.timestampFormat.default; +} +var init_determineTimestampFormat = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js"() { + __name(determineTimestampFormat, "determineTimestampFormat"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js +var FromStringShapeDeserializer; +var init_FromStringShapeDeserializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js"() { + init_schema(); + init_serde(); + init_SerdeContext(); + init_determineTimestampFormat(); + FromStringShapeDeserializer = class extends SerdeContext { + static { + __name(this, "FromStringShapeDeserializer"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + read(_schema, data) { + const ns = NormalizedSchema.of(_schema); + if (ns.isListSchema()) { + return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item)); + } + if (ns.isBlobSchema()) { + return (this.serdeContext?.base64Decoder ?? fromBase64)(data); + } + if (ns.isTimestampSchema()) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + return _parseRfc3339DateTimeWithOffset(data); + case 6: + return _parseRfc7231DateTime(data); + case 7: + return _parseEpochTimestamp(data); + default: + console.warn("Missing timestamp format, parsing value with Date constructor:", data); + return new Date(data); + } + } + if (ns.isStringSchema()) { + const mediaType = ns.getMergedTraits().mediaType; + let intermediateValue = data; + if (mediaType) { + if (ns.getMergedTraits().httpHeader) { + intermediateValue = this.base64ToUtf8(intermediateValue); + } + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + intermediateValue = LazyJsonString.from(intermediateValue); + } + return intermediateValue; + } + } + if (ns.isNumericSchema()) { + return Number(data); + } + if (ns.isBigIntegerSchema()) { + return BigInt(data); + } + if (ns.isBigDecimalSchema()) { + return new NumericValue(data, "bigDecimal"); + } + if (ns.isBooleanSchema()) { + return String(data).toLowerCase() === "true"; + } + return data; + } + base64ToUtf8(base64String) { + return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js +var HttpInterceptingShapeDeserializer; +var init_HttpInterceptingShapeDeserializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js"() { + init_schema(); + init_serde(); + init_SerdeContext(); + init_FromStringShapeDeserializer(); + HttpInterceptingShapeDeserializer = class extends SerdeContext { + static { + __name(this, "HttpInterceptingShapeDeserializer"); + } + codecDeserializer; + stringDeserializer; + constructor(codecDeserializer, codecSettings) { + super(); + this.codecDeserializer = codecDeserializer; + this.stringDeserializer = new FromStringShapeDeserializer(codecSettings); + } + setSerdeContext(serdeContext) { + this.stringDeserializer.setSerdeContext(serdeContext); + this.codecDeserializer.setSerdeContext(serdeContext); + this.serdeContext = serdeContext; + } + read(schema2, data) { + const ns = NormalizedSchema.of(schema2); + const traits = ns.getMergedTraits(); + const toString = this.serdeContext?.utf8Encoder ?? toUtf8; + if (traits.httpHeader || traits.httpResponseCode) { + return this.stringDeserializer.read(ns, toString(data)); + } + if (traits.httpPayload) { + if (ns.isBlobSchema()) { + const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8; + if (typeof data === "string") { + return toBytes(data); + } + return data; + } else if (ns.isStringSchema()) { + if ("byteLength" in data) { + return toString(data); + } + return data; + } + } + return this.codecDeserializer.read(ns, data); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js +var ToStringShapeSerializer; +var init_ToStringShapeSerializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js"() { + init_schema(); + init_serde(); + init_SerdeContext(); + init_determineTimestampFormat(); + ToStringShapeSerializer = class extends SerdeContext { + static { + __name(this, "ToStringShapeSerializer"); + } + settings; + stringBuffer = ""; + constructor(settings) { + super(); + this.settings = settings; + } + write(schema2, value) { + const ns = NormalizedSchema.of(schema2); + switch (typeof value) { + case "object": + if (value === null) { + this.stringBuffer = "null"; + return; + } + if (ns.isTimestampSchema()) { + if (!(value instanceof Date)) { + throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`); + } + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + this.stringBuffer = value.toISOString().replace(".000Z", "Z"); + break; + case 6: + this.stringBuffer = dateToUtcString(value); + break; + case 7: + this.stringBuffer = String(value.getTime() / 1e3); + break; + default: + console.warn("Missing timestamp format, using epoch seconds", value); + this.stringBuffer = String(value.getTime() / 1e3); + } + return; + } + if (ns.isBlobSchema() && "byteLength" in value) { + this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value); + return; + } + if (ns.isListSchema() && Array.isArray(value)) { + let buffer = ""; + for (const item of value) { + this.write([ns.getValueSchema(), ns.getMergedTraits()], item); + const headerItem = this.flush(); + const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem); + if (buffer !== "") { + buffer += ", "; + } + buffer += serialized; + } + this.stringBuffer = buffer; + return; + } + this.stringBuffer = JSON.stringify(value, null, 2); + break; + case "string": + const mediaType = ns.getMergedTraits().mediaType; + let intermediateValue = value; + if (mediaType) { + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + intermediateValue = LazyJsonString.from(intermediateValue); + } + if (ns.getMergedTraits().httpHeader) { + this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString()); + return; + } + } + this.stringBuffer = value; + break; + default: + if (ns.isIdempotencyToken()) { + this.stringBuffer = generateIdempotencyToken(); + } else { + this.stringBuffer = String(value); + } + } + } + flush() { + const buffer = this.stringBuffer; + this.stringBuffer = ""; + return buffer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js +var HttpInterceptingShapeSerializer; +var init_HttpInterceptingShapeSerializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js"() { + init_schema(); + init_ToStringShapeSerializer(); + HttpInterceptingShapeSerializer = class { + static { + __name(this, "HttpInterceptingShapeSerializer"); + } + codecSerializer; + stringSerializer; + buffer; + constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) { + this.codecSerializer = codecSerializer; + this.stringSerializer = stringSerializer; + } + setSerdeContext(serdeContext) { + this.codecSerializer.setSerdeContext(serdeContext); + this.stringSerializer.setSerdeContext(serdeContext); + } + write(schema2, value) { + const ns = NormalizedSchema.of(schema2); + const traits = ns.getMergedTraits(); + if (traits.httpHeader || traits.httpLabel || traits.httpQuery) { + this.stringSerializer.write(ns, value); + this.buffer = this.stringSerializer.flush(); + return; + } + return this.codecSerializer.write(ns, value); + } + flush() { + if (this.buffer !== void 0) { + const buffer = this.buffer; + this.buffer = void 0; + return buffer; + } + return this.codecSerializer.flush(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Field.js +var import_types, Field; +var init_Field = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Field.js"() { + import_types = __toESM(require_dist_cjs()); + Field = class { + static { + __name(this, "Field"); + } + name; + kind; + values; + constructor({ name: name2, kind = import_types.FieldPosition.HEADER, values = [] }) { + this.name = name2; + this.kind = kind; + this.values = values; + } + add(value) { + this.values.push(value); + } + set(values) { + this.values = values; + } + remove(value) { + this.values = this.values.filter((v) => v !== value); + } + toString() { + return this.values.map((v) => v.includes(",") || v.includes(" ") ? `"${v}"` : v).join(", "); + } + get() { + return this.values; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Fields.js +var Fields; +var init_Fields = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/Fields.js"() { + Fields = class { + static { + __name(this, "Fields"); + } + entries = {}; + encoding; + constructor({ fields = [], encoding = "utf-8" }) { + fields.forEach(this.setField.bind(this)); + this.encoding = encoding; + } + setField(field) { + this.entries[field.name.toLowerCase()] = field; + } + getField(name2) { + return this.entries[name2.toLowerCase()]; + } + removeField(name2) { + delete this.entries[name2.toLowerCase()]; + } + getByType(kind) { + return Object.values(this.entries).filter((field) => field.kind === kind); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js +var getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig; +var init_httpExtensionConfiguration = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js"() { + getHttpHandlerExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + if (runtimeConfig.logger && runtimeConfig.logger.constructor?.name !== "NoOpLogger") { + runtimeConfig.requestHandler?.updateHttpClientConfig?.(/* @__PURE__ */ Symbol.for("logger"), runtimeConfig.logger); + } + return { + setHttpHandler(handler) { + runtimeConfig.requestHandler = handler; + }, + httpHandler() { + return runtimeConfig.requestHandler; + }, + updateHttpClientConfig(key, value) { + runtimeConfig.requestHandler?.updateHttpClientConfig(key, value); + }, + httpHandlerConfigs() { + return runtimeConfig.requestHandler.httpHandlerConfigs(); + } + }; + }, "getHttpHandlerExtensionConfiguration"); + resolveHttpHandlerRuntimeConfig = /* @__PURE__ */ __name((httpHandlerExtensionConfiguration) => { + return { + requestHandler: httpHandlerExtensionConfiguration.httpHandler() + }; + }, "resolveHttpHandlerRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js +function contentLengthMiddleware(bodyLengthChecker) { + return (next) => async (args) => { + const request = args.request; + if (HttpRequest.isInstance(request)) { + const { body, headers } = request; + if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) { + try { + const length = bodyLengthChecker(body); + if (length != null) { + request.headers = { + ...request.headers, + [CONTENT_LENGTH_HEADER]: String(length) + }; + } + } catch (ignored) { + } + } + } + return next({ + ...args, + request + }); + }; +} +var CONTENT_LENGTH_HEADER, contentLengthMiddlewareOptions, getContentLengthPlugin; +var init_contentLengthMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js"() { + init_transport(); + CONTENT_LENGTH_HEADER = "content-length"; + __name(contentLengthMiddleware, "contentLengthMiddleware"); + contentLengthMiddlewareOptions = { + step: "build", + tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"], + name: "contentLengthMiddleware", + override: true + }; + getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions); + }, "applyToStack") + }), "getContentLengthPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri.js +var escapeUri, hexEncode; +var init_escape_uri = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri.js"() { + escapeUri = /* @__PURE__ */ __name((uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode), "escapeUri"); + hexEncode = /* @__PURE__ */ __name((c5) => `%${c5.charCodeAt(0).toString(16).toUpperCase()}`, "hexEncode"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri-path.js +var escapeUriPath; +var init_escape_uri_path = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri-path.js"() { + init_escape_uri(); + escapeUriPath = /* @__PURE__ */ __name((uri) => uri.split("/").map(escapeUri).join("/"), "escapeUriPath"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js +function buildQueryString(query) { + const parts = []; + for (let key of Object.keys(query).sort()) { + const value = query[key]; + key = escapeUri(key); + if (Array.isArray(value)) { + for (let i5 = 0, iLen = value.length; i5 < iLen; i5++) { + parts.push(`${key}=${escapeUri(value[i5])}`); + } + } else { + let qsEntry = key; + if (value || typeof value === "string") { + qsEntry += `=${escapeUri(value)}`; + } + parts.push(qsEntry); + } + } + return parts.join("&"); +} +var init_buildQueryString = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js"() { + init_escape_uri(); + __name(buildQueryString, "buildQueryString"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js +var SerdeContextConfig; +var init_ConfigurableSerdeContext = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js"() { + SerdeContextConfig = class { + static { + __name(this, "SerdeContextConfig"); + } + serdeContext; + setSerdeContext(serdeContext) { + this.serdeContext = serdeContext; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js +var UnionSerde; +var init_UnionSerde = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/UnionSerde.js"() { + UnionSerde = class { + static { + __name(this, "UnionSerde"); + } + from; + to; + keys; + constructor(from, to) { + this.from = from; + this.to = to; + const keys = Object.keys(this.from); + const set2 = new Set(keys); + set2.delete("__type"); + this.keys = set2; + } + mark(key) { + this.keys.delete(key); + } + hasUnknown() { + return this.keys.size === 1 && Object.keys(this.to).length === 0; + } + writeUnknown() { + if (this.hasUnknown()) { + const k5 = this.keys.values().next().value; + const v = this.from[k5]; + this.to.$unknown = [k5, v]; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/detectBufferParsing.js +function detectBufferParsing() { + if (canParseBuffer === void 0) { + try { + if (typeof Buffer !== "function") { + canParseBuffer = false; + } else { + const result = JSON.parse(Buffer.from([123, 125])); + canParseBuffer = result !== null && typeof result === "object"; + } + } catch { + canParseBuffer = false; + } + } + return canParseBuffer; +} +var canParseBuffer; +var init_detectBufferParsing = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/detectBufferParsing.js"() { + __name(detectBufferParsing, "detectBufferParsing"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReviver.js +function jsonReviver(key, value, context) { + if (context?.source) { + const numericString = context.source; + if (typeof value === "number") { + const inSafeRange = value <= Number.MAX_SAFE_INTEGER && value >= Number.MIN_SAFE_INTEGER; + if (inSafeRange) { + if (isRepresentable(numericString, value)) { + return value; + } + return new NumericValue(numericString, "bigDecimal"); + } else { + if (isFractionalBigNumeric(numericString)) { + return new NumericValue(numericString, "bigDecimal"); + } + if (/[eE]/.test(numericString)) { + return expandExponentToBigInt(numericString); + } + return BigInt(numericString); + } + } + } + return value; +} +function isFractionalBigNumeric(s2) { + const dotIndex = s2.indexOf("."); + if (dotIndex === -1) { + return false; + } + const eIndex = s2.search(/[eE]/); + if (eIndex === -1) { + return true; + } + const fracDigits = eIndex - dotIndex - 1; + const exp = parseInt(s2.slice(eIndex + 1), 10); + return exp < fracDigits; +} +function isRepresentable(numericString, value) { + if (numericString === String(value)) { + return true; + } + if (Object.is(value, -0)) { + return true; + } + if (/[eE]/.test(numericString)) { + return expandToDecimal(numericString) === expandToDecimal(String(value)); + } + const normalized = numericString.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, ""); + const canonical = String(value); + if (normalized === canonical) { + return true; + } + if (/[eE]/.test(canonical)) { + return normalized === expandToDecimal(canonical); + } + return false; +} +function expandToDecimal(s2) { + const negative = s2.startsWith("-"); + const abs = negative ? s2.slice(1) : s2; + const eIndex = abs.search(/[eE]/); + let result; + if (eIndex === -1) { + result = abs; + } else { + const exp = parseInt(abs.slice(eIndex + 1), 10); + const mantissa = abs.slice(0, eIndex); + const dotIndex = mantissa.indexOf("."); + let digits; + let intLen; + if (dotIndex === -1) { + digits = mantissa; + intLen = mantissa.length; + } else { + digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1); + intLen = dotIndex; + } + digits = digits.replace(/0+$/, "") || "0"; + const newDotPos = intLen + exp; + if (digits === "0") { + result = "0"; + } else if (newDotPos <= 0) { + result = "0." + "0".repeat(-newDotPos) + digits; + } else if (newDotPos >= digits.length) { + result = digits + "0".repeat(newDotPos - digits.length); + } else { + result = digits.slice(0, newDotPos) + "." + digits.slice(newDotPos); + } + } + if (result.includes(".")) { + result = result.replace(/(\.\d*?)0+$/, "$1").replace(/\.$/, ""); + } + return (negative ? "-" : "") + result; +} +function expandExponentToBigInt(s2) { + const eIndex = s2.search(/[eE]/); + const exp = parseInt(s2.slice(eIndex + 1), 10); + const negative = s2.startsWith("-"); + const mantissa = s2.slice(negative ? 1 : 0, eIndex); + const dotIndex = mantissa.indexOf("."); + let digits; + let shift; + if (dotIndex === -1) { + digits = mantissa; + shift = exp; + } else { + digits = mantissa.slice(0, dotIndex) + mantissa.slice(dotIndex + 1); + const fracDigits = mantissa.length - dotIndex - 1; + shift = exp - fracDigits; + } + digits = digits.replace(/0+$/, "") || "0"; + const result = BigInt(digits) * 10n ** BigInt(shift + (mantissa.replace(".", "").length - digits.length)); + return negative ? -result : result; +} +var init_jsonReviver = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReviver.js"() { + init_serde(); + __name(jsonReviver, "jsonReviver"); + __name(isFractionalBigNumeric, "isFractionalBigNumeric"); + __name(isRepresentable, "isRepresentable"); + __name(expandToDecimal, "expandToDecimal"); + __name(expandExponentToBigInt, "expandExponentToBigInt"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/needsReviver.js +function needsReviver(schema2) { + const ns = NormalizedSchema.of(schema2); + const raw4 = ns.getSchema(); + if (Array.isArray(raw4) && ns.isStructSchema()) { + if (REVIVER_SYMBOL in raw4) { + return raw4[REVIVER_SYMBOL]; + } + const result = _check2(ns, /* @__PURE__ */ new Set()); + raw4[REVIVER_SYMBOL] = result; + return result; + } + return _check2(ns, /* @__PURE__ */ new Set()); +} +function _check2(ns, seen) { + const raw4 = ns.getSchema(); + if (seen.has(raw4)) { + return false; + } + seen.add(raw4); + if (ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) { + return true; + } + if (ns.isStructSchema()) { + for (const [, memberSchema] of ns.structIterator()) { + if (_check2(memberSchema, seen)) { + return true; + } + } + } else if (ns.isListSchema() || ns.isMapSchema()) { + if (_check2(ns.getValueSchema(), seen)) { + return true; + } + } else if (ns.isDocumentSchema()) { + return true; + } + return false; +} +var REVIVER_SYMBOL; +var init_needsReviver = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/needsReviver.js"() { + init_schema(); + REVIVER_SYMBOL = /* @__PURE__ */ Symbol.for("@aws-sdk/reviver"); + __name(needsReviver, "needsReviver"); + __name(_check2, "_check"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/common.js +var collectBodyString; +var init_common2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/common.js"() { + init_collect_stream_body(); + init_serde(); + collectBodyString = /* @__PURE__ */ __name((streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body)), "collectBodyString"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/parseJsonBody.js +async function parseJsonBody(streamBody, context, schema2) { + let parsingInput; + if (detectBufferParsing() && typeof streamBody?.[Symbol.asyncIterator] === "function") { + const buffer = await collectBody(streamBody, context); + if (typeof Buffer === "function") { + if (Buffer.isBuffer(buffer)) { + parsingInput = buffer; + } else { + parsingInput = Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + } + } + if (!parsingInput) { + parsingInput = await collectBodyString(streamBody, context); + } + if (parsingInput.length === 0) { + return {}; + } + const reviver = schema2 && needsReviver(schema2) ? jsonReviver : void 0; + try { + return JSON.parse(parsingInput, reviver); + } catch (e5) { + if (e5?.name === "SyntaxError") { + Object.defineProperty(e5, "$responseBodyText", { + value: typeof parsingInput === "string" ? parsingInput : parsingInput.toString("utf8") + }); + } + throw e5; + } +} +var parseJsonErrorBody, findKey, sanitizeErrorCode, loadRestJsonErrorCode, loadJsonRpcErrorCode, loadSmithyRpcV2JsonErrorCode, loadErrorCode; +var init_parseJsonBody = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/parseJsonBody.js"() { + init_collect_stream_body(); + init_common2(); + init_detectBufferParsing(); + init_jsonReviver(); + init_needsReviver(); + __name(parseJsonBody, "parseJsonBody"); + parseJsonErrorBody = /* @__PURE__ */ __name(async (errorBody, context) => { + const value = await parseJsonBody(errorBody, context); + value.message = value.message ?? value.Message; + return value; + }, "parseJsonErrorBody"); + findKey = /* @__PURE__ */ __name((object2, key) => Object.keys(object2).find((k5) => k5.toLowerCase() === key.toLowerCase()), "findKey"); + sanitizeErrorCode = /* @__PURE__ */ __name((rawValue) => { + let cleanValue = rawValue; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + if (cleanValue.indexOf("#") >= 0) { + cleanValue = cleanValue.split("#")[1]; + } + return cleanValue; + }, "sanitizeErrorCode"); + loadRestJsonErrorCode = /* @__PURE__ */ __name((output2, data) => { + return loadErrorCode(output2, data, ["header", "code", "type"]); + }, "loadRestJsonErrorCode"); + loadJsonRpcErrorCode = /* @__PURE__ */ __name((output2, data, queryCompat = false) => { + return loadErrorCode(output2, data, queryCompat ? ["code", "header", "type"] : ["type", "code", "header"]); + }, "loadJsonRpcErrorCode"); + loadSmithyRpcV2JsonErrorCode = /* @__PURE__ */ __name((output2, data) => { + if (data?.__type !== void 0) { + let cleanValue = data.__type; + if (typeof cleanValue === "number") { + cleanValue = cleanValue.toString(); + } + if (cleanValue.indexOf(",") >= 0) { + cleanValue = cleanValue.split(",")[0]; + } + if (cleanValue.indexOf(":") >= 0) { + cleanValue = cleanValue.split(":")[0]; + } + return cleanValue; + } + }, "loadSmithyRpcV2JsonErrorCode"); + loadErrorCode = /* @__PURE__ */ __name(({ headers }, data, order) => { + while (order.length > 0) { + const location = order.shift(); + switch (location) { + case "header": + const headerKey = findKey(headers ?? {}, "x-amzn-errortype"); + if (headerKey !== void 0) { + return sanitizeErrorCode(headers[headerKey]); + } + break; + case "code": + const codeKey = findKey(data ?? {}, "code"); + if (codeKey && data[codeKey] !== void 0) { + return sanitizeErrorCode(data[codeKey]); + } + break; + case "type": + if (data?.__type !== void 0) { + return sanitizeErrorCode(data.__type); + } + break; + } + } + }, "loadErrorCode"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js +function writeKey(obj) { + Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true }); +} +var init_writeKey = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/writeKey.js"() { + __name(writeKey, "writeKey"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +var JsonShapeDeserializer2; +var init_JsonShapeDeserializer2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js"() { + init_determineTimestampFormat(); + init_schema(); + init_serde(); + init_ConfigurableSerdeContext(); + init_UnionSerde(); + init_detectBufferParsing(); + init_jsonReviver(); + init_needsReviver(); + init_parseJsonBody(); + init_writeKey(); + init_transport(); + JsonShapeDeserializer2 = class extends SerdeContextConfig { + static { + __name(this, "JsonShapeDeserializer2"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + async read(schema2, data) { + const reviver = needsReviver(schema2) ? jsonReviver : void 0; + let parsed2; + if (typeof data === "string") { + if (data.length === 0) { + return {}; + } + parsed2 = JSON.parse(data, reviver); + } else if (data instanceof Uint8Array && detectBufferParsing()) { + if (data.byteLength === 0) { + return {}; + } + const buf = Buffer.isBuffer(data) ? data : Buffer.from(data.buffer, data.byteOffset, data.byteLength); + parsed2 = JSON.parse(buf, reviver); + } else { + parsed2 = await parseJsonBody(data, this.serdeContext, schema2); + } + return this._read(schema2, parsed2); + } + readObject(schema2, data) { + return this._read(schema2, data); + } + _read(schema2, value) { + const isObject2 = value !== null && typeof value === "object"; + const ns = NormalizedSchema.of(schema2); + if (isObject2) { + if (ns.isStructSchema()) { + return this._readStruct(ns, value); + } + if (Array.isArray(value) && ns.isListSchema()) { + const listMember = ns.getValueSchema(); + if (this.needsTransform(listMember)) { + for (let i5 = 0; i5 < value.length; ++i5) { + value[i5] = this._read(listMember, value[i5]); + } + } + return value; + } + if (ns.isMapSchema()) { + const mapMember = ns.getValueSchema(); + const map2 = value; + if (this.needsTransform(mapMember)) { + for (const k5 in map2) { + if (!hasOwn(map2, k5)) + continue; + if (k5 === "__proto__") { + writeKey(map2); + } + map2[k5] = this._read(mapMember, map2[k5]); + } + } + return map2; + } + } + if (ns.isBlobSchema() && typeof value === "string") { + return fromBase64(value); + } + const mediaType = ns.getMergedTraits().mediaType; + if (ns.isStringSchema() && typeof value === "string" && mediaType) { + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + return LazyJsonString.from(value); + } + return value; + } + if (ns.isTimestampSchema() && value != null) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + return parseRfc3339DateTimeWithOffset(value); + case 6: + return parseRfc7231DateTime(value); + case 7: + return parseEpochTimestamp(value); + default: + console.warn("Missing timestamp format, parsing value with Date constructor:", value); + return new Date(value); + } + } + if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) { + return BigInt(value); + } + if (ns.isBigDecimalSchema() && value != void 0) { + if (value instanceof NumericValue) { + return value; + } + const untyped = value; + if (untyped.type === "bigDecimal" && "string" in untyped) { + return new NumericValue(untyped.string, untyped.type); + } + return new NumericValue(String(value), "bigDecimal"); + } + if (ns.isNumericSchema() && typeof value === "string") { + switch (value) { + case "Infinity": + return Infinity; + case "-Infinity": + return -Infinity; + case "NaN": + return NaN; + } + return value; + } + if (ns.isDocumentSchema()) { + if (isObject2) { + if (Array.isArray(value)) { + for (let i5 = 0; i5 < value.length; ++i5) { + const v = value[i5]; + if (!(v instanceof NumericValue)) { + value[i5] = this._read(ns, v); + } + } + } else { + const doc = value; + for (const k5 in doc) { + if (!hasOwn(doc, k5)) + continue; + if (k5 === "__proto__") { + writeKey(doc); + } + const v = doc[k5]; + if (!(v instanceof NumericValue)) { + doc[k5] = this._read(ns, v); + } + } + } + } + } + return value; + } + _readStruct(ns, record2) { + const union2 = ns.isUnionSchema(); + const out = {}; + let nameMap; + const hasType = typeof record2.__type === "string"; + const { jsonName } = this.settings; + if (jsonName && hasType) { + nameMap = {}; + } + let unionSerde; + if (union2) { + unionSerde = new UnionSerde(record2, out); + } + for (const [memberName, memberSchema] of ns.structIterator()) { + let fromKey = memberName; + if (jsonName) { + fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey; + if (hasType) { + nameMap[fromKey] = memberName; + } + } + if (union2) { + unionSerde.mark(fromKey); + } + if (record2[fromKey] != null) { + out[memberName] = this._read(memberSchema, record2[fromKey]); + } + } + if (union2) { + unionSerde.writeUnknown(); + } else if (hasType) { + for (const k5 in record2) { + if (!hasOwn(record2, k5)) + continue; + const v = record2[k5]; + const t = jsonName ? nameMap[k5] ?? k5 : k5; + if (!(t in out)) { + out[t] = v; + } + } + } + return out; + } + needsTransform(ns) { + if (ns.isBlobSchema() || ns.isTimestampSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema() || ns.isNumericSchema()) { + return true; + } + if (ns.isDocumentSchema() || ns.isStructSchema() || ns.isListSchema() || ns.isMapSchema()) { + return true; + } + if (ns.isStringSchema() && ns.getMergedTraits().mediaType) { + return true; + } + return false; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +var JsonBytesStringAdapter, warned; +var init_JsonBytesStringAdapter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js"() { + init_serde(); + JsonBytesStringAdapter = class _JsonBytesStringAdapter extends Uint8Array { + static { + __name(this, "JsonBytesStringAdapter"); + } + string = null; + static allocUnsafe(bytes) { + if (typeof Buffer === "function") { + const buffer = Buffer.allocUnsafe(bytes); + return new _JsonBytesStringAdapter(buffer.buffer, buffer.byteOffset, buffer.byteLength); + } + return new _JsonBytesStringAdapter(bytes); + } + toString() { + return this.s(); + } + valueOf() { + return this.s(); + } + includes(searchString, position) { + if (typeof searchString === "string") { + return this.s().includes(searchString, position); + } + return Uint8Array.prototype.includes.call(this, searchString, position); + } + indexOf(searchString, position) { + if (typeof searchString === "string") { + return this.s().indexOf(searchString, position); + } + return Uint8Array.prototype.indexOf.call(this, searchString, position); + } + lastIndexOf(searchString, position) { + if (typeof searchString === "string") { + return this.s().lastIndexOf(searchString, position); + } + const fn = Uint8Array.prototype.lastIndexOf; + if (position !== void 0) { + return fn.call(this, searchString, position); + } + return fn.call(this, searchString); + } + startsWith(searchString, position) { + return this.s().startsWith(searchString, position); + } + endsWith(searchString, endPosition) { + return this.s().endsWith(searchString, endPosition); + } + match(regexp) { + return this.s().match(regexp); + } + replace(searchValue, replaceValue) { + return this.s().replace(searchValue, replaceValue); + } + search(regexp) { + return this.s().search(regexp); + } + split(separator, limit) { + return this.s().split(separator, limit); + } + substring(start, end) { + return this.s().substring(start, end); + } + trim() { + return this.s().trim(); + } + trimStart() { + return this.s().trimStart(); + } + trimEnd() { + return this.s().trimEnd(); + } + charAt(pos) { + return this.s().charAt(pos); + } + charCodeAt(index) { + return this.s().charCodeAt(index); + } + padStart(maxLength, fillString) { + return this.s().padStart(maxLength, fillString); + } + padEnd(maxLength, fillString) { + return this.s().padEnd(maxLength, fillString); + } + repeat(count) { + return this.s().repeat(count); + } + toUpperCase() { + return this.s().toUpperCase(); + } + toLowerCase() { + return this.s().toLowerCase(); + } + s() { + if (this.string == null) { + const n3 = Date.now(); + if (n3 > warned + 6e4) { + console.warn("@aws-sdk/core/protocols - WARN - JsonCodec2: you have called a string method on a Uint8Array request body. It has been automatically converted to string. In a future version this will throw an error."); + warned = n3; + } + this.string = toUtf8(this); + } + return this.string; + } + }; + warned = 0; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +function alloc(size) { + return JsonBytesStringAdapter.allocUnsafe(size); +} +var encoder, OPEN_BRACE, CLOSE_BRACE, OPEN_BRACKET, CLOSE_BRACKET, QUOTE, COLON, COMMA, BACKSLASH, TRUE, FALSE, NULL, ESCAPE_TABLE, INITIAL_BUFFER_SIZE, JsonShapeSerializer2; +var init_JsonShapeSerializer2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js"() { + init_determineTimestampFormat(); + init_schema(); + init_serde(); + init_ConfigurableSerdeContext(); + init_transport(); + init_JsonBytesStringAdapter(); + encoder = new TextEncoder(); + OPEN_BRACE = 123; + CLOSE_BRACE = 125; + OPEN_BRACKET = 91; + CLOSE_BRACKET = 93; + QUOTE = 34; + COLON = 58; + COMMA = 44; + BACKSLASH = 92; + TRUE = new Uint8Array([116, 114, 117, 101]); + FALSE = new Uint8Array([102, 97, 108, 115, 101]); + NULL = new Uint8Array([110, 117, 108, 108]); + ESCAPE_TABLE = new Array(128).fill(null); + ESCAPE_TABLE[8] = "b"; + ESCAPE_TABLE[9] = "t"; + ESCAPE_TABLE[10] = "n"; + ESCAPE_TABLE[12] = "f"; + ESCAPE_TABLE[13] = "r"; + ESCAPE_TABLE[34] = '"'; + ESCAPE_TABLE[92] = "\\"; + for (let i5 = 0; i5 < 32; i5++) { + if (ESCAPE_TABLE[i5] === null) { + ESCAPE_TABLE[i5] = "u00" + i5.toString(16).padStart(2, "0"); + } + } + INITIAL_BUFFER_SIZE = 2048; + __name(alloc, "alloc"); + JsonShapeSerializer2 = class _JsonShapeSerializer2 extends SerdeContextConfig { + static { + __name(this, "JsonShapeSerializer2"); + } + settings; + json; + i = 0; + rootSchema; + rawValue; + passthrough = false; + constructor(settings) { + super(); + this.settings = settings; + this.json = alloc(INITIAL_BUFFER_SIZE); + } + write(schema2, value) { + this.i = 0; + this.rawValue = value; + this.rootSchema = NormalizedSchema.of(schema2); + this.passthrough = this.rootSchema.isBlobSchema() || this.rootSchema.isStringSchema(); + if (!this.passthrough) { + this.writeValue(this.rootSchema, value, void 0); + } + } + writeDiscriminatedDocument(schema2, value) { + this.i = 0; + this.rootSchema = NormalizedSchema.of(schema2); + const ns = this.rootSchema; + if (ns.isStructSchema() && value != null && typeof value === "object") { + this.writeValue(ns, value, void 0); + const prefix = `"__type":"${ns.getName(true) ?? "Unknown"}",`; + const z2 = prefix.length; + this.ensure(z2); + this.json.copyWithin(1 + z2, 1, this.i); + encoder.encodeInto(prefix, this.json.subarray(1)); + this.i += z2; + } else { + this.writeValue(ns, value, void 0); + } + } + flush() { + this.rootSchema = void 0; + const finalPosition = this.i; + this.i = 0; + const raw4 = this.rawValue; + this.rawValue = void 0; + if (finalPosition === 0) { + return raw4; + } + const result = this.json.subarray(0, finalPosition); + this.json = alloc(INITIAL_BUFFER_SIZE); + return result; + } + ensure(byteCount) { + const { i: i5, json: json2 } = this; + if (i5 + byteCount > json2.length) { + let newSize = json2.length * 2; + while (newSize < i5 + byteCount) { + newSize *= 2; + } + const next = alloc(newSize); + next.set(this.json); + this.json = next; + } + } + writeAscii(s2) { + const z2 = s2.length; + this.ensure(z2); + let { i: i5, json: json2 } = this; + for (let j5 = 0; j5 < z2; ++j5) { + json2[i5] = s2.charCodeAt(j5); + i5 += 1; + } + this.i = i5; + } + writeAsciiQuoted(s2) { + const z2 = s2.length; + this.ensure(z2 + 4); + let { json: json2, i: i5 } = this; + json2[i5++] = QUOTE; + for (let j5 = 0; j5 < z2; ++j5) { + json2[i5++] = s2.charCodeAt(j5); + } + json2[i5++] = QUOTE; + this.i = i5; + } + writeJsonString(s2) { + const z2 = s2.length; + this.ensure(z2 * 3 + 2); + this.json[this.i++] = QUOTE; + for (let j5 = 0; j5 < z2; ++j5) { + const c5 = s2.charCodeAt(j5); + if (c5 > 34 && c5 < 92) { + this.json[this.i++] = c5; + } else if (c5 < 128) { + const esc2 = ESCAPE_TABLE[c5]; + if (esc2 !== null) { + this.ensure(esc2.length + 1 + (z2 - j5 - 1) * 3 + 1); + this.json[this.i++] = BACKSLASH; + for (let k5 = 0; k5 < esc2.length; k5++) { + this.json[this.i++] = esc2.charCodeAt(k5); + } + } else { + this.json[this.i++] = c5; + } + } else if (c5 >= 55296 && c5 <= 56319) { + const next = j5 + 1 < z2 ? s2.charCodeAt(j5 + 1) : 0; + if (next >= 56320 && next <= 57343) { + this.ensure(4); + const { written } = encoder.encodeInto(s2.substring(j5, j5 + 2), this.json.subarray(this.i)); + this.i += written; + ++j5; + } else { + this.ensure(6 + (z2 - j5 - 1) * 3 + 1); + this.writeUnicodeEscape(c5); + } + } else if (c5 >= 56320 && c5 <= 57343) { + this.ensure(6 + (z2 - j5 - 1) * 3 + 1); + this.writeUnicodeEscape(c5); + } else { + let { i: i5, json: json2 } = this; + if (c5 < 2048) { + json2[i5++] = 192 | c5 >> 6; + json2[i5++] = 128 | c5 & 63; + } else { + json2[i5++] = 224 | c5 >> 12; + json2[i5++] = 128 | c5 >> 6 & 63; + json2[i5++] = 128 | c5 & 63; + } + this.i = i5; + } + } + this.json[this.i++] = QUOTE; + } + writeUnicodeEscape(code) { + let { json: json2, i: i5 } = this; + json2[i5++] = BACKSLASH; + json2[i5++] = 117; + const hex3 = code.toString(16).padStart(4, "0"); + for (let j5 = 0; j5 < 4; ++j5) { + json2[i5++] = hex3.charCodeAt(j5); + } + this.i = i5; + } + static B64 = (() => { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + const table = new Uint8Array(64); + for (let i5 = 0; i5 < 64; ++i5) { + table[i5] = chars.charCodeAt(i5); + } + return table; + })(); + writeBase64(data) { + const b64Len = Math.ceil(data.length / 3) * 4; + this.ensure(b64Len + 2); + const json2 = this.json; + const B64 = _JsonShapeSerializer2.B64; + let i5 = this.i; + json2[i5++] = QUOTE; + const len = data.length; + const remainder = len % 3; + const mainLen = len - remainder; + for (let j5 = 0; j5 < mainLen; j5 += 3) { + const a5 = data[j5]; + const b5 = data[j5 + 1]; + const c5 = data[j5 + 2]; + json2[i5++] = B64[a5 >> 2]; + json2[i5++] = B64[(a5 & 3) << 4 | b5 >> 4]; + json2[i5++] = B64[(b5 & 15) << 2 | c5 >> 6]; + json2[i5++] = B64[c5 & 63]; + } + if (remainder === 2) { + const a5 = data[mainLen]; + const b5 = data[mainLen + 1]; + json2[i5++] = B64[a5 >> 2]; + json2[i5++] = B64[(a5 & 3) << 4 | b5 >> 4]; + json2[i5++] = B64[(b5 & 15) << 2]; + json2[i5++] = 61; + } else if (remainder === 1) { + const a5 = data[mainLen]; + json2[i5++] = B64[a5 >> 2]; + json2[i5++] = B64[(a5 & 3) << 4]; + json2[i5++] = 61; + json2[i5++] = 61; + } + json2[i5++] = QUOTE; + this.i = i5; + } + writeValue(schema2, value, container) { + if (value == null) { + if (container?.isStructSchema()) { + if (value === void 0) { + const ns2 = NormalizedSchema.of(schema2); + if (ns2.isIdempotencyToken()) { + this.writeAsciiQuoted(generateIdempotencyToken()); + return; + } + } + return; + } + this.ensure(4); + this.json.set(NULL, this.i); + this.i += 4; + return; + } + const ns = NormalizedSchema.of(schema2); + const isObject2 = typeof value === "object"; + if (ns.isStringSchema()) { + const mediaType = ns.getMergedTraits().mediaType; + if (mediaType) { + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + this.writeJsonString(LazyJsonString.from(value).toString()); + return; + } + } + } + if (this.settings.bigNumberAsString && value != null && (ns.isBigIntegerSchema() || ns.isBigDecimalSchema())) { + const asString = value instanceof NumericValue ? value.string : String(value); + this.writeAsciiQuoted(asString); + return; + } + if (isObject2) { + if (ns.isStructSchema()) { + this.writeStruct(ns, value); + return; + } + if (Array.isArray(value) && (ns.isListSchema() || ns.isDocumentSchema())) { + this.writeList(ns, value, ns.isDocumentSchema()); + return; + } + if (ns.isMapSchema()) { + this.writeMap(ns, value, false); + return; + } + if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) { + this.writeBase64(value); + return; + } + if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) { + this.writeTimestamp(ns, value); + return; + } + if (value instanceof NumericValue) { + this.writeAscii(value.string); + return; + } + if (ns.isDocumentSchema()) { + if (Array.isArray(value)) { + this.writeList(ns, value, true); + } else { + this.writeMap(ns, value, true); + } + return; + } + const json2 = JSON.stringify(value); + this.writeAscii(json2); + return; + } + if (typeof value === "string") { + if (ns.isBlobSchema()) { + const b64 = (this.serdeContext?.base64Encoder ?? toBase64)(value); + this.writeAsciiQuoted(b64); + return; + } + this.writeJsonString(value); + return; + } + if (typeof value === "number") { + if (Math.abs(value) === Infinity || Number.isNaN(value)) { + this.writeAsciiQuoted(String(value)); + return; + } + const numStr = String(value); + this.writeAscii(numStr); + return; + } + if (typeof value === "boolean") { + this.ensure(5); + let { i: i5, json: json2 } = this; + if (value) { + json2.set(TRUE, i5); + i5 += 4; + } else { + json2.set(FALSE, i5); + i5 += 5; + } + this.i = i5; + return; + } + if (typeof value === "bigint") { + this.writeAscii(value.toString()); + return; + } + this.writeAscii(String(value)); + } + writeStruct(ns, value) { + this.ensure(2); + this.json[this.i++] = OPEN_BRACE; + let wroteAny = false; + const hasType = typeof value.__type === "string"; + let writtenKeys; + if (hasType) { + writtenKeys = /* @__PURE__ */ new Set(); + } + for (const [memberName, memberSchema] of ns.structIterator()) { + const item = value[memberName]; + if (item == null && !memberSchema.isIdempotencyToken()) { + continue; + } + if (wroteAny) { + this.ensure(1); + this.json[this.i++] = COMMA; + } + wroteAny = true; + const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName; + if (writtenKeys) { + writtenKeys.add(memberName); + writtenKeys.add(targetKey); + } + this.writeAsciiQuoted(targetKey); + this.json[this.i++] = COLON; + this.writeValue(memberSchema, item, ns); + } + if (!wroteAny && ns.isUnionSchema()) { + const { $unknown } = value; + if (Array.isArray($unknown)) { + const [k5, v] = $unknown; + this.writeAsciiQuoted(k5); + this.ensure(1); + this.json[this.i++] = COLON; + this.writeValue(15, v, ns); + } + } else if (hasType) { + for (const k5 in value) { + if (writtenKeys.has(k5)) { + continue; + } + writtenKeys.add(k5); + const v = value[k5]; + if (wroteAny) { + this.ensure(1); + this.json[this.i++] = COMMA; + } + wroteAny = true; + this.writeAsciiQuoted(k5); + this.ensure(1); + this.json[this.i++] = COLON; + this.writeValue(15, v, void 0); + } + } + this.ensure(1); + this.json[this.i++] = CLOSE_BRACE; + } + writeList(ns, value, isDocument) { + const sparse = !!ns.getMergedTraits().sparse; + const valueSchema = ns.getValueSchema(); + if (!isDocument) { + if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) { + let hasSpecials = false; + for (let i5 = 0; i5 < value.length; ++i5) { + const v = value[i5]; + if (Number.isNaN(v) || v === Infinity || v === -Infinity || v == null && !sparse) { + hasSpecials = true; + break; + } + } + let json2; + if (!hasSpecials) { + json2 = JSON.stringify(value); + } else { + const out = []; + for (let i5 = 0; i5 < value.length; ++i5) { + const v = value[i5]; + if (v == null && !sparse) + continue; + if (Number.isNaN(v) || v === Infinity || v === -Infinity) { + out.push(String(v)); + } else { + out.push(v); + } + } + json2 = JSON.stringify(out); + } + this.ensure(json2.length * 3); + this.i += encoder.encodeInto(json2, this.json.subarray(this.i)).written; + return; + } + } + this.ensure(2); + this.json[this.i++] = OPEN_BRACKET; + let wroteFirstItem = false; + for (let i5 = 0; i5 < value.length; ++i5) { + const item = value[i5]; + if (isDocument ? item === void 0 : item == null && !sparse) { + continue; + } + if (wroteFirstItem) { + this.ensure(1); + this.json[this.i++] = COMMA; + } + this.writeValue(valueSchema, item, void 0); + wroteFirstItem = true; + } + this.ensure(1); + this.json[this.i++] = CLOSE_BRACKET; + } + writeMap(ns, value, isDocument) { + const sparse = !!ns.getMergedTraits().sparse; + const valueSchema = ns.getValueSchema(); + if (!isDocument) { + if (valueSchema.isStringSchema() || valueSchema.isNumericSchema() || valueSchema.isBooleanSchema()) { + let modifications; + for (const k5 in value) { + if (!hasOwn(value, k5)) + continue; + const v = value[k5]; + if (Number.isNaN(v) || v === Infinity || v === -Infinity) { + (modifications ??= {})[k5] = v; + value[k5] = String(v); + } else if (v === null && !sparse) { + (modifications ??= {})[k5] = null; + value[k5] = void 0; + } + } + const json2 = JSON.stringify(value); + if (modifications) { + Object.assign(value, modifications); + } + this.ensure(json2.length * 3); + this.i += encoder.encodeInto(json2, this.json.subarray(this.i)).written; + return; + } + } + this.ensure(2); + this.json[this.i++] = OPEN_BRACE; + let first = true; + for (const k5 in value) { + if (!hasOwn(value, k5)) + continue; + const v = value[k5]; + if (isDocument ? v === void 0 : v == null && !sparse) { + continue; + } + if (!first) { + this.ensure(1); + this.json[this.i++] = COMMA; + } + first = false; + this.writeJsonString(k5); + this.ensure(1); + this.json[this.i++] = COLON; + this.writeValue(valueSchema, v, void 0); + } + this.ensure(1); + this.json[this.i++] = CLOSE_BRACE; + } + writeTimestamp(ns, value) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: { + const iso = value.toISOString().replace(".000Z", "Z"); + this.writeAsciiQuoted(iso); + return; + } + case 6: { + this.writeAsciiQuoted(dateToUtcString(value)); + return; + } + case 7: { + const epochSecs = String(value.getTime() / 1e3); + this.writeAscii(epochSecs); + return; + } + default: { + const epochSecs = String(value.getTime() / 1e3); + this.writeAscii(epochSecs); + return; + } + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +var JsonCodec2; +var init_JsonCodec2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js"() { + init_ConfigurableSerdeContext(); + init_JsonShapeDeserializer2(); + init_JsonShapeSerializer2(); + JsonCodec2 = class extends SerdeContextConfig { + static { + __name(this, "JsonCodec2"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + createSerializer() { + const serializer = new JsonShapeSerializer2(this.settings); + serializer.setSerdeContext(this.serdeContext); + return serializer; + } + createDeserializer() { + const deserializer = new JsonShapeDeserializer2(this.settings); + deserializer.setSerdeContext(this.serdeContext); + return deserializer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js +var SmithyRpcV2JsonProtocol; +var init_SmithyRpcV2JsonProtocol = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js"() { + init_RpcProtocol(); + init_schema(); + init_transport(); + init_JsonCodec2(); + init_parseJsonBody(); + SmithyRpcV2JsonProtocol = class extends RpcProtocol { + static { + __name(this, "SmithyRpcV2JsonProtocol"); + } + codec = new JsonCodec2({ + timestampFormat: { + useTrait: false, + default: 7 + }, + jsonName: false, + bigNumberAsString: true + }); + serializer = this.codec.createSerializer(); + deserializer = this.codec.createDeserializer(); + constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5 }) { + super({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5 }); + } + getShapeId() { + return "smithy.protocols#rpcv2Json"; + } + getPayloadCodec() { + return this.codec; + } + async serializeRequest(operationSchema, input2, context) { + const request = await super.serializeRequest(operationSchema, input2, context); + Object.assign(request.headers, { + "content-type": this.getDefaultContentType(), + "smithy-protocol": "rpc-v2-json", + accept: this.getDefaultContentType() + }); + if (deref(operationSchema.input) === "unit") { + delete request.body; + delete request.headers["content-type"]; + } else if (!request.body) { + request.body = "{}"; + } + const { service, operation } = getSmithyContext(context); + const path2 = `/service/${service}/operation/${operation}`; + if (request.path.endsWith("/")) { + request.path += path2.slice(1); + } else { + request.path += path2; + } + return request; + } + async deserializeResponse(operationSchema, context, response) { + return super.deserializeResponse(operationSchema, context, response); + } + async handleError(operationSchema, context, response, dataObject, metadata) { + const errorName = loadSmithyRpcV2JsonErrorCode(response, dataObject) ?? "Unknown"; + const errorMetadata = { + $metadata: metadata, + $fault: response.statusCode <= 500 ? "client" : "server" + }; + let namespace = this.options.defaultNamespace; + if (errorName.includes("#")) { + [namespace] = errorName.split("#"); + } + const registry2 = this.compositeErrorRegistry; + const nsRegistry = TypeRegistry.for(namespace); + registry2.copyFrom(nsRegistry); + let errorSchema; + try { + errorSchema = registry2.getSchema(errorName); + } catch (ignored) { + if (dataObject.Message) { + dataObject.message = dataObject.Message; + } + const syntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + namespace); + registry2.copyFrom(syntheticRegistry); + const baseExceptionSchema = registry2.getBaseException(); + if (baseExceptionSchema) { + const ErrorCtor2 = registry2.getErrorCtor(baseExceptionSchema); + throw Object.assign(new ErrorCtor2({ name: errorName }), errorMetadata, dataObject); + } + throw Object.assign(new Error(errorName), errorMetadata, dataObject); + } + const ns = NormalizedSchema.of(errorSchema); + const ErrorCtor = registry2.getErrorCtor(errorSchema); + const message = dataObject.message ?? dataObject.Message ?? "Unknown"; + const exception = new ErrorCtor({}); + const output2 = {}; + const errorDeserializer = this.codec.createDeserializer(); + for (const [name2, member] of ns.structIterator()) { + if (dataObject[name2] != null) { + output2[name2] = errorDeserializer.readObject(member, dataObject[name2]); + } + } + throw Object.assign(exception, errorMetadata, { + $fault: ns.getMergedTraits().error, + message + }, output2); + } + getDefaultContentType() { + return "application/json"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +var JsonShapeDeserializer; +var init_JsonShapeDeserializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js"() { + init_determineTimestampFormat(); + init_schema(); + init_serde(); + init_serde(); + init_transport(); + init_ConfigurableSerdeContext(); + init_UnionSerde(); + init_jsonReviver(); + init_needsReviver(); + init_parseJsonBody(); + init_writeKey(); + JsonShapeDeserializer = class extends SerdeContextConfig { + static { + __name(this, "JsonShapeDeserializer"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + async read(schema2, data) { + const reviver = needsReviver(schema2) ? jsonReviver : void 0; + return this._read(schema2, typeof data === "string" ? JSON.parse(data, reviver) : await parseJsonBody(data, this.serdeContext, schema2)); + } + readObject(schema2, data) { + return this._read(schema2, data); + } + _read(schema2, value) { + const isObject2 = value !== null && typeof value === "object"; + const ns = NormalizedSchema.of(schema2); + if (isObject2) { + if (ns.isStructSchema()) { + const record2 = value; + const union2 = ns.isUnionSchema(); + const out = {}; + let nameMap = void 0; + const { jsonName } = this.settings; + if (jsonName) { + nameMap = {}; + } + let unionSerde; + if (union2) { + unionSerde = new UnionSerde(record2, out); + } + for (const [memberName, memberSchema] of ns.structIterator()) { + let fromKey = memberName; + if (jsonName) { + fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey; + nameMap[fromKey] = memberName; + } + if (union2) { + unionSerde.mark(fromKey); + } + if (record2[fromKey] != null) { + out[memberName] = this._read(memberSchema, record2[fromKey]); + } + } + if (union2) { + unionSerde.writeUnknown(); + } else if (typeof record2.__type === "string") { + for (const k5 in record2) { + if (!hasOwn(record2, k5)) + continue; + const v = record2[k5]; + const t = jsonName ? nameMap[k5] ?? k5 : k5; + if (!(t in out)) { + out[t] = v; + } + } + } + return out; + } + if (Array.isArray(value) && ns.isListSchema()) { + const listMember = ns.getValueSchema(); + const out = []; + for (const item of value) { + out.push(this._read(listMember, item)); + } + return out; + } + if (ns.isMapSchema()) { + const mapMember = ns.getValueSchema(); + const out = {}; + for (const _k in value) { + if (!hasOwn(value, _k)) + continue; + if (_k === "__proto__") { + writeKey(out); + } + out[_k] = this._read(mapMember, value[_k]); + } + return out; + } + } + if (ns.isBlobSchema() && typeof value === "string") { + return fromBase64(value); + } + const mediaType = ns.getMergedTraits().mediaType; + if (ns.isStringSchema() && typeof value === "string" && mediaType) { + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + return LazyJsonString.from(value); + } + return value; + } + if (ns.isTimestampSchema() && value != null) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + return parseRfc3339DateTimeWithOffset(value); + case 6: + return parseRfc7231DateTime(value); + case 7: + return parseEpochTimestamp(value); + default: + console.warn("Missing timestamp format, parsing value with Date constructor:", value); + return new Date(value); + } + } + if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) { + return BigInt(value); + } + if (ns.isBigDecimalSchema() && value != void 0) { + if (value instanceof NumericValue) { + return value; + } + const untyped = value; + if (untyped.type === "bigDecimal" && "string" in untyped) { + return new NumericValue(untyped.string, untyped.type); + } + return new NumericValue(String(value), "bigDecimal"); + } + if (ns.isNumericSchema() && typeof value === "string") { + switch (value) { + case "Infinity": + return Infinity; + case "-Infinity": + return -Infinity; + case "NaN": + return NaN; + } + return value; + } + if (ns.isDocumentSchema()) { + if (isObject2) { + const out = Array.isArray(value) ? [] : {}; + for (const k5 in value) { + if (!hasOwn(value, k5)) + continue; + if (k5 === "__proto__") { + writeKey(out); + } + const v = value[k5]; + if (v instanceof NumericValue) { + out[k5] = v; + } else { + out[k5] = this._read(ns, v); + } + } + return out; + } else { + return structuredClone(value); + } + } + return value; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReplacer.js +var NUMERIC_CONTROL_CHAR, JsonReplacer; +var init_jsonReplacer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/jsonReplacer.js"() { + init_serde(); + NUMERIC_CONTROL_CHAR = String.fromCharCode(925); + JsonReplacer = class { + static { + __name(this, "JsonReplacer"); + } + values = /* @__PURE__ */ new Map(); + counter = 0; + stage = 0; + createReplacer() { + if (this.stage === 1) { + throw new Error("@aws-sdk/core/protocols - JsonReplacer already created."); + } + if (this.stage === 2) { + throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted."); + } + this.stage = 1; + return (key, value) => { + if (value instanceof NumericValue) { + const v = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value.string; + this.values.set(`"${v}"`, value.string); + return v; + } + if (typeof value === "bigint") { + const s2 = value.toString(); + const v = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s2; + this.values.set(`"${v}"`, s2); + return v; + } + return value; + }; + } + replaceInJson(json2) { + if (this.stage === 0) { + throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet."); + } + if (this.stage === 2) { + throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted."); + } + this.stage = 2; + if (this.counter === 0) { + return json2; + } + for (const [key, value] of this.values) { + json2 = json2.replace(key, value); + } + return json2; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +var JsonShapeSerializer; +var init_JsonShapeSerializer = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js"() { + init_determineTimestampFormat(); + init_schema(); + init_serde(); + init_ConfigurableSerdeContext(); + init_jsonReplacer(); + init_writeKey(); + init_transport(); + JsonShapeSerializer = class extends SerdeContextConfig { + static { + __name(this, "JsonShapeSerializer"); + } + settings; + buffer; + useReplacer = false; + rootSchema; + constructor(settings) { + super(); + this.settings = settings; + } + write(schema2, value) { + this.rootSchema = NormalizedSchema.of(schema2); + this.buffer = this._write(this.rootSchema, value); + } + flush() { + const { rootSchema, useReplacer } = this; + this.rootSchema = void 0; + this.useReplacer = false; + if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) { + if (!useReplacer) { + return JSON.stringify(this.buffer); + } + const replacer = new JsonReplacer(); + return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0)); + } + return this.buffer; + } + writeDiscriminatedDocument(schema2, value) { + this.write(schema2, value); + if (typeof this.buffer === "object") { + this.buffer.__type = NormalizedSchema.of(schema2).getName(true); + } + } + _write(schema2, value, container) { + const isObject2 = value !== null && typeof value === "object"; + const ns = NormalizedSchema.of(schema2); + if (isObject2) { + if (ns.isStructSchema()) { + const record2 = value; + const out = {}; + const { jsonName } = this.settings; + let nameMap = void 0; + if (jsonName) { + nameMap = {}; + } + let outCount = 0; + for (const [memberName, memberSchema] of ns.structIterator()) { + const serializableValue = this._write(memberSchema, record2[memberName], ns); + if (serializableValue !== void 0) { + let targetKey = memberName; + if (jsonName) { + targetKey = memberSchema.getMergedTraits().jsonName ?? memberName; + nameMap[memberName] = targetKey; + } + out[targetKey] = serializableValue; + outCount++; + } + } + if (ns.isUnionSchema() && outCount === 0) { + const { $unknown } = record2; + if (Array.isArray($unknown)) { + const [k5, v] = $unknown; + if (k5 === "__proto__") { + writeKey(out); + } + out[k5] = this._write(15, v); + } + } else if (typeof record2.__type === "string") { + for (const k5 in record2) { + if (!hasOwn(record2, k5)) + continue; + const v = record2[k5]; + const targetKey = jsonName ? nameMap[k5] ?? k5 : k5; + if (!(targetKey in out)) { + out[targetKey] = this._write(15, v); + } + } + } + return out; + } + if (Array.isArray(value) && ns.isListSchema()) { + const listMember = ns.getValueSchema(); + const out = []; + const sparse = !!ns.getMergedTraits().sparse; + for (const item of value) { + if (sparse || item != null) { + out.push(this._write(listMember, item)); + } + } + return out; + } + if (ns.isMapSchema()) { + const mapMember = ns.getValueSchema(); + const out = {}; + const sparse = !!ns.getMergedTraits().sparse; + for (const _k in value) { + if (!hasOwn(value, _k)) + continue; + const _v = value[_k]; + if (sparse || _v != null) { + if (_k === "__proto__") { + writeKey(out); + } + out[_k] = this._write(mapMember, _v); + } + } + return out; + } + if (value instanceof Uint8Array && ns.isBlobSchema()) { + if (ns === this.rootSchema) { + return value; + } + return (this.serdeContext?.base64Encoder ?? toBase64)(value); + } + if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + return value.toISOString().replace(".000Z", "Z"); + case 6: + return dateToUtcString(value); + case 7: + return value.getTime() / 1e3; + default: + console.warn("Missing timestamp format, using epoch seconds", value); + return value.getTime() / 1e3; + } + } + if (value instanceof NumericValue) { + this.useReplacer = true; + } + } + if (value === null && container?.isStructSchema()) { + return void 0; + } + if (ns.isStringSchema()) { + if (typeof value === "undefined" && ns.isIdempotencyToken()) { + return generateIdempotencyToken(); + } + const mediaType = ns.getMergedTraits().mediaType; + if (value != null && mediaType) { + const isJson = mediaType === "application/json" || mediaType.endsWith("+json"); + if (isJson) { + return LazyJsonString.from(value); + } + } + return value; + } + if (typeof value === "number") { + if (Math.abs(value) === Infinity || isNaN(value)) { + return String(value); + } + return value; + } + if (typeof value === "string" && ns.isBlobSchema()) { + if (ns === this.rootSchema) { + return value; + } + return (this.serdeContext?.base64Encoder ?? toBase64)(value); + } + if (typeof value === "bigint") { + this.useReplacer = true; + } + if (ns.isDocumentSchema()) { + if (isObject2) { + if (value instanceof Uint8Array) { + return (this.serdeContext?.base64Encoder ?? toBase64)(value); + } + const out = Array.isArray(value) ? [] : {}; + for (const k5 in value) { + if (!hasOwn(value, k5)) + continue; + const v = value[k5]; + if (k5 === "__proto__") { + writeKey(out); + } + if (v instanceof NumericValue) { + this.useReplacer = true; + out[k5] = v; + } else { + out[k5] = this._write(ns, v); + } + } + return out; + } else { + return structuredClone(value); + } + } + return value; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js +var JsonCodec; +var init_JsonCodec = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js"() { + init_ConfigurableSerdeContext(); + init_JsonShapeDeserializer(); + init_JsonShapeSerializer(); + JsonCodec = class extends SerdeContextConfig { + static { + __name(this, "JsonCodec"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + createSerializer() { + const serializer = new JsonShapeSerializer(this.settings); + serializer.setSerdeContext(this.serdeContext); + return serializer; + } + createDeserializer() { + const deserializer = new JsonShapeDeserializer(this.settings); + deserializer.setSerdeContext(this.serdeContext); + return deserializer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +var protocols_exports = {}; +__export(protocols_exports, { + Field: () => Field, + Fields: () => Fields, + FromStringShapeDeserializer: () => FromStringShapeDeserializer, + HttpBindingProtocol: () => HttpBindingProtocol, + HttpInterceptingShapeDeserializer: () => HttpInterceptingShapeDeserializer, + HttpInterceptingShapeSerializer: () => HttpInterceptingShapeSerializer, + HttpProtocol: () => HttpProtocol, + HttpRequest: () => HttpRequest, + HttpResponse: () => HttpResponse, + JsonCodec: () => JsonCodec, + JsonCodec2: () => JsonCodec2, + JsonShapeDeserializer: () => JsonShapeDeserializer, + JsonShapeDeserializer2: () => JsonShapeDeserializer2, + JsonShapeSerializer: () => JsonShapeSerializer, + JsonShapeSerializer2: () => JsonShapeSerializer2, + RequestBuilder: () => RequestBuilder, + RpcProtocol: () => RpcProtocol, + SerdeContext: () => SerdeContext, + SmithyRpcV2JsonProtocol: () => SmithyRpcV2JsonProtocol, + ToStringShapeSerializer: () => ToStringShapeSerializer, + buildQueryString: () => buildQueryString, + collectBody: () => collectBody, + contentLengthMiddleware: () => contentLengthMiddleware, + contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions, + determineTimestampFormat: () => determineTimestampFormat, + escapeUri: () => escapeUri, + escapeUriPath: () => escapeUriPath, + extendedEncodeURIComponent: () => extendedEncodeURIComponent, + getContentLengthPlugin: () => getContentLengthPlugin, + getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration, + isValidHostname: () => isValidHostname, + loadJsonRpcErrorCode: () => loadJsonRpcErrorCode, + loadRestJsonErrorCode: () => loadRestJsonErrorCode, + loadSmithyRpcV2JsonErrorCode: () => loadSmithyRpcV2JsonErrorCode, + parseJsonBody: () => parseJsonBody, + parseJsonErrorBody: () => parseJsonErrorBody, + parseQueryString: () => parseQueryString, + parseUrl: () => parseUrl, + requestBuilder: () => requestBuilder, + resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig, + resolvedPath: () => resolvedPath +}); +var init_protocols = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/protocols/index.js"() { + init_collect_stream_body(); + init_extended_encode_uri_component(); + init_HttpBindingProtocol(); + init_HttpProtocol(); + init_RpcProtocol(); + init_requestBuilder(); + init_resolve_path(); + init_FromStringShapeDeserializer(); + init_HttpInterceptingShapeDeserializer(); + init_HttpInterceptingShapeSerializer(); + init_ToStringShapeSerializer(); + init_determineTimestampFormat(); + init_SerdeContext(); + init_Field(); + init_Fields(); + init_transport(); + init_transport(); + init_transport(); + init_httpExtensionConfiguration(); + init_contentLengthMiddleware(); + init_escape_uri(); + init_escape_uri_path(); + init_buildQueryString(); + init_transport(); + init_transport(); + init_SmithyRpcV2JsonProtocol(); + init_parseJsonBody(); + init_JsonCodec(); + init_JsonShapeSerializer(); + init_JsonShapeDeserializer(); + init_JsonCodec2(); + init_JsonShapeSerializer2(); + init_JsonShapeDeserializer2(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js +var CLOCK_SKEW_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, NODEJS_TIMEOUT_ERROR_CODES, NODEJS_NETWORK_ERROR_CODES; +var init_constants2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/constants.js"() { + CLOCK_SKEW_ERROR_CODES = [ + "AccessDeniedException", + "AuthFailure", + "InvalidSignatureException", + "RequestExpired", + "RequestInTheFuture", + "RequestTimeTooSkewed", + "SignatureDoesNotMatch" + ]; + THROTTLING_ERROR_CODES = [ + "BandwidthLimitExceeded", + "EC2ThrottledException", + "LimitExceededException", + "PriorRequestNotComplete", + "ProvisionedThroughputExceededException", + "RequestLimitExceeded", + "RequestThrottled", + "RequestThrottledException", + "SlowDown", + "ThrottledException", + "Throttling", + "ThrottlingException", + "TooManyRequestsException", + "TransactionInProgressException" + ]; + TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"]; + TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504]; + NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"]; + NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND", "EAI_AGAIN"]; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js +function isNodeJsHttp2TransientError(error62) { + return error62.code === "ERR_HTTP2_STREAM_ERROR" && error62.message.includes("NGHTTP2_REFUSED_STREAM"); +} +var isRetryableByTrait, isClockSkewError, isClockSkewCorrectedError, isBrowserNetworkError, isThrottlingError, isTransientError, isServerError; +var init_service_error_classification = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js"() { + init_constants2(); + isRetryableByTrait = /* @__PURE__ */ __name((error62) => error62?.$retryable !== void 0, "isRetryableByTrait"); + isClockSkewError = /* @__PURE__ */ __name((error62) => CLOCK_SKEW_ERROR_CODES.includes(error62.name), "isClockSkewError"); + isClockSkewCorrectedError = /* @__PURE__ */ __name((error62) => error62.$metadata?.clockSkewCorrected, "isClockSkewCorrectedError"); + isBrowserNetworkError = /* @__PURE__ */ __name((error62) => { + const errorMessages = /* @__PURE__ */ new Set([ + "Failed to fetch", + "NetworkError when attempting to fetch resource", + "The Internet connection appears to be offline", + "Load failed", + "Network request failed" + ]); + const isValid = error62 && error62 instanceof TypeError; + if (!isValid) { + return false; + } + return errorMessages.has(error62.message); + }, "isBrowserNetworkError"); + isThrottlingError = /* @__PURE__ */ __name((error62) => error62.$metadata?.httpStatusCode === 429 || THROTTLING_ERROR_CODES.includes(error62.name) || error62.$retryable?.throttling == true, "isThrottlingError"); + isTransientError = /* @__PURE__ */ __name((error62, depth = 0) => error62?.name !== "AbortError" && (isRetryableByTrait(error62) || isClockSkewCorrectedError(error62) || error62.name === "InvalidSignatureException" && error62.message?.includes("Signature expired") || TRANSIENT_ERROR_CODES.includes(error62.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error62?.code || "") || NODEJS_NETWORK_ERROR_CODES.includes(error62?.code || "") || TRANSIENT_ERROR_STATUS_CODES.includes(error62.$metadata?.httpStatusCode || 0) || isBrowserNetworkError(error62) || isNodeJsHttp2TransientError(error62) || error62.cause !== void 0 && depth <= 10 && isTransientError(error62.cause, depth + 1)), "isTransientError"); + isServerError = /* @__PURE__ */ __name((error62) => { + if (error62.$metadata?.httpStatusCode !== void 0) { + const statusCode = error62.$metadata.httpStatusCode; + if (500 <= statusCode && statusCode <= 599 && !isTransientError(error62)) { + return true; + } + return false; + } + return false; + }, "isServerError"); + __name(isNodeJsHttp2TransientError, "isNodeJsHttp2TransientError"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/constants.js +var DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY, THROTTLING_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, RETRY_COST, TIMEOUT_RETRY_COST, NO_RETRY_INCREMENT, INVOCATION_ID_HEADER, REQUEST_HEADER; +var init_constants3 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/constants.js"() { + DEFAULT_RETRY_DELAY_BASE = 100; + MAXIMUM_RETRY_DELAY = 20 * 1e3; + THROTTLING_RETRY_DELAY_BASE = 500; + INITIAL_RETRY_TOKENS = 500; + RETRY_COST = 5; + TIMEOUT_RETRY_COST = 10; + NO_RETRY_INCREMENT = 1; + INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; + REQUEST_HEADER = "amz-sdk-request"; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js +function parseRetryAfterHeader(response, logger) { + if (!HttpResponse.isInstance(response)) { + return; + } + for (const header in response.headers) { + if (!hasOwn(response.headers, header)) + continue; + const h5 = header.toLowerCase(); + if (h5 === "retry-after") { + const retryAfter = response.headers[header]; + let retryAfterSeconds = NaN; + if (retryAfter.endsWith("GMT")) { + try { + const date5 = parseRfc7231DateTime(retryAfter); + retryAfterSeconds = (date5.getTime() - Date.now()) / 1e3; + } catch (e5) { + logger?.trace?.("Failed to parse retry-after header"); + logger?.trace?.(e5); + } + } else if (retryAfter.match(/ GMT, ((\d+)|(\d+\.\d+))$/)) { + retryAfterSeconds = Number(retryAfter.match(/ GMT, ([\d.]+)$/)?.[1]); + } else if (retryAfter.match(/^((\d+)|(\d+\.\d+))$/)) { + retryAfterSeconds = Number(retryAfter); + } else if (Date.parse(retryAfter) >= Date.now()) { + retryAfterSeconds = (Date.parse(retryAfter) - Date.now()) / 1e3; + } + if (isNaN(retryAfterSeconds)) { + return; + } + return new Date(Date.now() + retryAfterSeconds * 1e3); + } else if (h5 === "x-amz-retry-after") { + const v = response.headers[header]; + const backoffMilliseconds = Number(v); + if (isNaN(backoffMilliseconds)) { + logger?.trace?.(`Failed to parse x-amz-retry-after=${v}`); + return; + } + return new Date(Date.now() + backoffMilliseconds); + } + } +} +function getRetryAfterHint(response, logger) { + return parseRetryAfterHeader(response, logger); +} +var init_parseRetryAfterHeader = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js"() { + init_transport(); + init_protocols(); + init_serde(); + __name(parseRetryAfterHeader, "parseRetryAfterHeader"); + __name(getRetryAfterHint, "getRetryAfterHint"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js +var asSdkError; +var init_util = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js"() { + asSdkError = /* @__PURE__ */ __name((error62) => { + if (error62 instanceof Error) + return error62; + if (error62 instanceof Object) + return Object.assign(new Error(), error62); + if (typeof error62 === "string") + return new Error(error62); + return new Error(`AWS SDK error wrapper for ${error62}`); + }, "asSdkError"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js +function bindRetryMiddleware(isStreamingPayload2) { + return (options) => (next, context) => async (args) => { + let retryStrategy = await options.retryStrategy(); + const maxAttempts = await options.maxAttempts(); + if (isRetryStrategyV2(retryStrategy)) { + retryStrategy = retryStrategy; + let retryToken = await retryStrategy.acquireInitialRetryToken((context["partition_id"] ?? "") + (context.__retryLongPoll ? ":longpoll" : "")); + let lastError = new Error(); + let attempts = 0; + let totalRetryDelay = 0; + const { request } = args; + const isRequest = HttpRequest.isInstance(request); + if (isRequest) { + request.headers[INVOCATION_ID_HEADER] = v4(); + } + while (true) { + try { + if (isRequest) { + request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + const { response, output: output2 } = await next(args); + retryStrategy.recordSuccess(retryToken); + output2.$metadata.attempts = attempts + 1; + output2.$metadata.totalRetryDelay = totalRetryDelay; + return { response, output: output2 }; + } catch (e5) { + const retryErrorInfo = getRetryErrorInfo(e5, options.logger); + lastError = asSdkError(e5); + if (isRequest && isStreamingPayload2(request)) { + (context.logger instanceof NoOpLogger ? console : context.logger)?.warn("An error was encountered in a non-retryable streaming request."); + throw lastError; + } + try { + retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo); + } catch (ignoredRefreshError) { + if (!lastError.$metadata) { + lastError.$metadata = {}; + } + lastError.$metadata.attempts = attempts + 1; + lastError.$metadata.totalRetryDelay = totalRetryDelay; + throw lastError; + } + attempts = retryToken.getRetryCount(); + const delay = retryToken.getRetryDelay(); + totalRetryDelay += (retryToken?.$retryLog?.acquisitionDelay ?? 0) + delay; + if (delay > 0) { + await cooldown(delay); + } + } + } + } else { + retryStrategy = retryStrategy; + if (retryStrategy?.mode) { + context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]]; + } + return retryStrategy.retry(next, args); + } + }; +} +function bindGetRetryPlugin(isStreamingPayload2) { + const retryMiddleware2 = bindRetryMiddleware(isStreamingPayload2); + return (options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(retryMiddleware2(options), retryMiddlewareOptions); + }, "applyToStack") + }); +} +var cooldown, isRetryStrategyV2, getRetryErrorInfo, getRetryErrorType, retryMiddlewareOptions; +var init_retryMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js"() { + init_client(); + init_protocols(); + init_serde(); + init_service_error_classification(); + init_constants3(); + init_parseRetryAfterHeader(); + init_util(); + __name(bindRetryMiddleware, "bindRetryMiddleware"); + cooldown = /* @__PURE__ */ __name((ms) => new Promise((resolve) => setTimeout(resolve, ms)), "cooldown"); + isRetryStrategyV2 = /* @__PURE__ */ __name((retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined", "isRetryStrategyV2"); + getRetryErrorInfo = /* @__PURE__ */ __name((error62, logger) => { + const errorInfo = { + error: error62, + errorType: getRetryErrorType(error62) + }; + const retryAfterHint = parseRetryAfterHeader(error62.$response, logger); + if (retryAfterHint) { + errorInfo.retryAfterHint = retryAfterHint; + } + return errorInfo; + }, "getRetryErrorInfo"); + getRetryErrorType = /* @__PURE__ */ __name((error62) => { + if (isThrottlingError(error62)) + return "THROTTLING"; + if (isTransientError(error62)) + return "TRANSIENT"; + if (isServerError(error62)) + return "SERVER_ERROR"; + return "CLIENT_ERROR"; + }, "getRetryErrorType"); + retryMiddlewareOptions = { + name: "retryMiddleware", + tags: ["RETRY"], + step: "finalizeRequest", + priority: "high", + override: true + }; + __name(bindGetRetryPlugin, "bindGetRetryPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRateLimiter.js +var DefaultRateLimiter; +var init_DefaultRateLimiter = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRateLimiter.js"() { + init_service_error_classification(); + DefaultRateLimiter = class _DefaultRateLimiter { + static { + __name(this, "DefaultRateLimiter"); + } + static setTimeoutFn = /* @__PURE__ */ __name((fn, delay) => setTimeout(fn, delay), "setTimeoutFn"); + beta; + minCapacity; + minFillRate; + scaleConstant; + smooth; + enabled = false; + availableTokens = 0; + lastMaxRate = 0; + measuredTxRate = 0; + requestCount = 0; + fillRate; + lastThrottleTime; + lastTimestamp = 0; + lastTxRateBucket; + maxCapacity; + timeWindow = 0; + constructor(options) { + this.beta = options?.beta ?? 0.7; + this.minCapacity = options?.minCapacity ?? 1; + this.minFillRate = options?.minFillRate ?? 0.5; + this.scaleConstant = options?.scaleConstant ?? 0.4; + this.smooth = options?.smooth ?? 0.8; + this.lastThrottleTime = this.getCurrentTimeInSeconds(); + this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds()); + this.fillRate = this.minFillRate; + this.maxCapacity = this.minCapacity; + } + async getSendToken() { + return this.acquireTokenBucket(1); + } + updateClientSendingRate(response) { + let calculatedRate; + this.updateMeasuredRate(); + const retryErrorInfo = response; + const isThrottling = retryErrorInfo?.errorType === "THROTTLING" || isThrottlingError(retryErrorInfo?.error ?? response); + if (isThrottling) { + const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate); + this.lastMaxRate = rateToUse; + this.calculateTimeWindow(); + this.lastThrottleTime = this.getCurrentTimeInSeconds(); + calculatedRate = this.cubicThrottle(rateToUse); + this.enableTokenBucket(); + } else { + this.calculateTimeWindow(); + calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds()); + } + const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate); + this.updateTokenBucketRate(newRate); + } + getCurrentTimeInSeconds() { + return Date.now() / 1e3; + } + async acquireTokenBucket(amount) { + if (!this.enabled) { + return; + } + this.refillTokenBucket(); + while (amount > this.availableTokens) { + const delay = (amount - this.availableTokens) / this.fillRate * 1e3; + await new Promise((resolve) => _DefaultRateLimiter.setTimeoutFn(resolve, delay)); + this.refillTokenBucket(); + } + this.availableTokens = this.availableTokens - amount; + } + refillTokenBucket() { + const timestamp = this.getCurrentTimeInSeconds(); + if (!this.lastTimestamp) { + this.lastTimestamp = timestamp; + return; + } + const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate; + this.availableTokens = Math.min(this.maxCapacity, this.availableTokens + fillAmount); + this.lastTimestamp = timestamp; + } + calculateTimeWindow() { + this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3)); + } + cubicThrottle(rateToUse) { + return this.getPrecise(rateToUse * this.beta); + } + cubicSuccess(timestamp) { + return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate); + } + enableTokenBucket() { + this.enabled = true; + } + updateTokenBucketRate(newRate) { + this.refillTokenBucket(); + this.fillRate = Math.max(newRate, this.minFillRate); + this.maxCapacity = Math.max(newRate, this.minCapacity); + this.availableTokens = Math.min(this.availableTokens, this.maxCapacity); + } + updateMeasuredRate() { + const t = this.getCurrentTimeInSeconds(); + const timeBucket = Math.floor(t * 2) / 2; + this.requestCount++; + if (timeBucket > this.lastTxRateBucket) { + const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket); + this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth)); + this.requestCount = 0; + this.lastTxRateBucket = timeBucket; + } + } + getPrecise(num) { + return parseFloat(num.toFixed(8)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/retries-2026-config.js +var Retry; +var init_retries_2026_config = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/retries-2026-config.js"() { + Retry = class _Retry { + static { + __name(this, "Retry"); + } + static v2026 = typeof process !== "undefined" && process.env?.SMITHY_NEW_RETRIES_2026 === "true"; + static delay() { + return _Retry.v2026 ? 50 : 100; + } + static throttlingDelay() { + return _Retry.v2026 ? 1e3 : 500; + } + static cost() { + return _Retry.v2026 ? 14 : 5; + } + static throttlingCost() { + return _Retry.v2026 ? 5 : 10; + } + static modifiedCostType() { + return _Retry.v2026 ? "THROTTLING" : "TRANSIENT"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryBackoffStrategy.js +var DefaultRetryBackoffStrategy; +var init_DefaultRetryBackoffStrategy = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryBackoffStrategy.js"() { + init_constants3(); + init_retries_2026_config(); + DefaultRetryBackoffStrategy = class { + static { + __name(this, "DefaultRetryBackoffStrategy"); + } + x = Retry.delay(); + computeNextBackoffDelay(i5) { + const b5 = Math.random(); + const r5 = 2; + const t_i = b5 * Math.min(this.x * r5 ** i5, MAXIMUM_RETRY_DELAY); + return Math.floor(t_i); + } + setDelayBase(delay) { + this.x = delay; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js +var DefaultRetryToken; +var init_DefaultRetryToken = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/DefaultRetryToken.js"() { + init_constants3(); + DefaultRetryToken = class { + static { + __name(this, "DefaultRetryToken"); + } + delay; + count; + cost; + longPoll; + $retryLog = { + acquisitionDelay: 0 + }; + constructor(delay, count, cost, longPoll) { + this.delay = delay; + this.count = count; + this.cost = cost; + this.longPoll = longPoll; + } + getRetryCount() { + return this.count; + } + getRetryDelay() { + return Math.min(MAXIMUM_RETRY_DELAY, this.delay); + } + getRetryCost() { + return this.cost; + } + isLongPoll() { + return this.longPoll; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/config.js +var RETRY_MODES, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE; +var init_config2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/config.js"() { + (function(RETRY_MODES2) { + RETRY_MODES2["STANDARD"] = "standard"; + RETRY_MODES2["ADAPTIVE"] = "adaptive"; + })(RETRY_MODES || (RETRY_MODES = {})); + DEFAULT_MAX_ATTEMPTS = 3; + DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js +var refusal, StandardRetryStrategy; +var init_StandardRetryStrategy = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/StandardRetryStrategy.js"() { + init_DefaultRetryBackoffStrategy(); + init_DefaultRetryToken(); + init_config2(); + init_constants3(); + init_retries_2026_config(); + refusal = { + incompatible: 1, + attempts: 2, + capacity: 3 + }; + StandardRetryStrategy = class { + static { + __name(this, "StandardRetryStrategy"); + } + mode = RETRY_MODES.STANDARD; + retryBackoffStrategy; + capacity = INITIAL_RETRY_TOKENS; + maxAttemptsProvider; + baseDelay; + constructor(arg1) { + if (typeof arg1 === "number") { + this.maxAttemptsProvider = async () => arg1; + } else if (typeof arg1 === "function") { + this.maxAttemptsProvider = arg1; + } else if (arg1 && typeof arg1 === "object") { + this.maxAttemptsProvider = async () => arg1.maxAttempts; + this.baseDelay = arg1.baseDelay; + this.retryBackoffStrategy = arg1.backoff; + } + this.maxAttemptsProvider ??= async () => DEFAULT_MAX_ATTEMPTS; + this.baseDelay ??= Retry.delay(); + this.retryBackoffStrategy ??= new DefaultRetryBackoffStrategy(); + } + async acquireInitialRetryToken(retryTokenScope) { + return new DefaultRetryToken(Retry.delay(), 0, void 0, Retry.v2026 && retryTokenScope.includes(":longpoll")); + } + async refreshRetryTokenForRetry(token, errorInfo) { + const maxAttempts = await this.getMaxAttempts(); + const retryCode = this.retryCode(token, errorInfo, maxAttempts); + const shouldRetry = retryCode === 0; + const isLongPoll = token.isLongPoll?.(); + if (shouldRetry || isLongPoll) { + const errorType = errorInfo.errorType; + this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? Retry.throttlingDelay() : this.baseDelay); + const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount()); + let retryDelay = delayFromErrorType; + if (errorInfo.retryAfterHint instanceof Date) { + retryDelay = Math.max(delayFromErrorType, Math.min(errorInfo.retryAfterHint.getTime() - Date.now(), delayFromErrorType + 5e3)); + } + if (!shouldRetry) { + const longPollBackoff = Retry.v2026 && retryCode === refusal.capacity && isLongPoll ? retryDelay : 0; + if (longPollBackoff > 0) { + await new Promise((r5) => setTimeout(r5, longPollBackoff)); + } + } else { + const capacityCost = this.getCapacityCost(errorType); + this.capacity -= capacityCost; + const nextToken = new DefaultRetryToken(0, token.getRetryCount() + 1, capacityCost, token.isLongPoll?.() ?? false); + await new Promise((r5) => setTimeout(r5, retryDelay)); + nextToken.$retryLog.acquisitionDelay = retryDelay; + return nextToken; + } + } + throw new Error("No retry token available"); + } + recordSuccess(token) { + this.capacity = Math.min(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT)); + } + getCapacity() { + return this.capacity; + } + async maxAttempts() { + return this.maxAttemptsProvider(); + } + async getMaxAttempts() { + try { + return await this.maxAttemptsProvider(); + } catch (ignored) { + console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`); + return DEFAULT_MAX_ATTEMPTS; + } + } + retryCode(tokenToRenew, errorInfo, maxAttempts) { + const attempts = tokenToRenew.getRetryCount() + 1; + const retryableStatus = this.isRetryableError(errorInfo.errorType) ? 0 : refusal.incompatible; + const attemptStatus = attempts < maxAttempts ? 0 : refusal.attempts; + const capacityStatus = this.capacity >= this.getCapacityCost(errorInfo.errorType) ? 0 : refusal.capacity; + return retryableStatus || attemptStatus || capacityStatus; + } + getCapacityCost(errorType) { + return errorType === Retry.modifiedCostType() ? Retry.throttlingCost() : Retry.cost(); + } + isRetryableError(errorType) { + return errorType === "THROTTLING" || errorType === "TRANSIENT"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/AdaptiveRetryStrategy.js +var AdaptiveRetryStrategy; +var init_AdaptiveRetryStrategy = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/AdaptiveRetryStrategy.js"() { + init_DefaultRateLimiter(); + init_StandardRetryStrategy(); + init_config2(); + AdaptiveRetryStrategy = class { + static { + __name(this, "AdaptiveRetryStrategy"); + } + mode = RETRY_MODES.ADAPTIVE; + rateLimiter; + standardRetryStrategy; + constructor(maxAttemptsProvider, options) { + const { rateLimiter } = options ?? {}; + this.rateLimiter = rateLimiter ?? new DefaultRateLimiter(); + this.standardRetryStrategy = options ? new StandardRetryStrategy({ + maxAttempts: typeof maxAttemptsProvider === "number" ? maxAttemptsProvider : 3, + ...options + }) : new StandardRetryStrategy(maxAttemptsProvider); + } + async acquireInitialRetryToken(retryTokenScope) { + const token = await this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope); + await this.rateLimiter.getSendToken(); + return token; + } + async refreshRetryTokenForRetry(tokenToRenew, errorInfo) { + this.rateLimiter.updateClientSendingRate(errorInfo); + const token = await this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo); + await this.rateLimiter.getSendToken(); + return token; + } + recordSuccess(token) { + this.rateLimiter.updateClientSendingRate({}); + this.standardRetryStrategy.recordSuccess(token); + } + async maxAttemptsProvider() { + return this.standardRetryStrategy.maxAttempts(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js +var ConfiguredRetryStrategy; +var init_ConfiguredRetryStrategy = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/ConfiguredRetryStrategy.js"() { + init_StandardRetryStrategy(); + init_retries_2026_config(); + ConfiguredRetryStrategy = class extends StandardRetryStrategy { + static { + __name(this, "ConfiguredRetryStrategy"); + } + computeNextBackoffDelay; + constructor(maxAttempts, computeNextBackoffDelay = Retry.delay()) { + super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts); + if (typeof computeNextBackoffDelay === "number") { + this.computeNextBackoffDelay = () => computeNextBackoffDelay; + } else { + this.computeNextBackoffDelay = computeNextBackoffDelay; + } + this.retryBackoffStrategy.computeNextBackoffDelay = (completedAttempt) => { + const nextAttempt = completedAttempt + 1; + return this.computeNextBackoffDelay(nextAttempt); + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/defaultRetryQuota.js +var getDefaultRetryQuota; +var init_defaultRetryQuota = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/defaultRetryQuota.js"() { + init_constants3(); + getDefaultRetryQuota = /* @__PURE__ */ __name((initialRetryTokens, options) => { + const MAX_CAPACITY = initialRetryTokens; + const noRetryIncrement = options?.noRetryIncrement ?? NO_RETRY_INCREMENT; + const retryCost = options?.retryCost ?? RETRY_COST; + const timeoutRetryCost = options?.timeoutRetryCost ?? TIMEOUT_RETRY_COST; + let availableCapacity = initialRetryTokens; + const getCapacityAmount = /* @__PURE__ */ __name((error62) => error62.name === "TimeoutError" ? timeoutRetryCost : retryCost, "getCapacityAmount"); + const hasRetryTokens = /* @__PURE__ */ __name((error62) => getCapacityAmount(error62) <= availableCapacity, "hasRetryTokens"); + const retrieveRetryTokens = /* @__PURE__ */ __name((error62) => { + if (!hasRetryTokens(error62)) { + throw new Error("No retry token available"); + } + const capacityAmount = getCapacityAmount(error62); + availableCapacity -= capacityAmount; + return capacityAmount; + }, "retrieveRetryTokens"); + const releaseRetryTokens = /* @__PURE__ */ __name((capacityReleaseAmount) => { + availableCapacity += capacityReleaseAmount ?? noRetryIncrement; + availableCapacity = Math.min(availableCapacity, MAX_CAPACITY); + }, "releaseRetryTokens"); + return Object.freeze({ + hasRetryTokens, + retrieveRetryTokens, + releaseRetryTokens + }); + }, "getDefaultRetryQuota"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/delayDecider.js +var defaultDelayDecider; +var init_delayDecider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/delayDecider.js"() { + init_constants3(); + defaultDelayDecider = /* @__PURE__ */ __name((delayBase, attempts) => Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)), "defaultDelayDecider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/retryDecider.js +var defaultRetryDecider; +var init_retryDecider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/retryDecider.js"() { + init_service_error_classification(); + defaultRetryDecider = /* @__PURE__ */ __name((error62) => { + if (!error62) { + return false; + } + return isRetryableByTrait(error62) || isClockSkewError(error62) || isThrottlingError(error62) || isTransientError(error62); + }, "defaultRetryDecider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js +var StandardRetryStrategy2, getDelayFromRetryAfterHeader; +var init_StandardRetryStrategy2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js"() { + init_protocols(); + init_serde(); + init_service_error_classification(); + init_config2(); + init_constants3(); + init_util(); + init_defaultRetryQuota(); + init_delayDecider(); + init_retryDecider(); + StandardRetryStrategy2 = class { + static { + __name(this, "StandardRetryStrategy"); + } + maxAttemptsProvider; + retryDecider; + delayDecider; + retryQuota; + mode = RETRY_MODES.STANDARD; + constructor(maxAttemptsProvider, options) { + this.maxAttemptsProvider = maxAttemptsProvider; + this.retryDecider = options?.retryDecider ?? defaultRetryDecider; + this.delayDecider = options?.delayDecider ?? defaultDelayDecider; + this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(INITIAL_RETRY_TOKENS); + } + shouldRetry(error62, attempts, maxAttempts) { + return attempts < maxAttempts && this.retryDecider(error62) && this.retryQuota.hasRetryTokens(error62); + } + async getMaxAttempts() { + let maxAttempts; + try { + maxAttempts = await this.maxAttemptsProvider(); + } catch (ignored) { + maxAttempts = DEFAULT_MAX_ATTEMPTS; + } + return maxAttempts; + } + async retry(next, args, options) { + let retryTokenAmount; + let attempts = 0; + let totalDelay = 0; + const maxAttempts = await this.getMaxAttempts(); + const { request } = args; + if (HttpRequest.isInstance(request)) { + request.headers[INVOCATION_ID_HEADER] = v4(); + } + while (true) { + try { + if (HttpRequest.isInstance(request)) { + request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`; + } + if (options?.beforeRequest) { + await options.beforeRequest(); + } + const { response, output: output2 } = await next(args); + if (options?.afterRequest) { + options.afterRequest(response); + } + this.retryQuota.releaseRetryTokens(retryTokenAmount); + output2.$metadata.attempts = attempts + 1; + output2.$metadata.totalRetryDelay = totalDelay; + return { response, output: output2 }; + } catch (e5) { + const err = asSdkError(e5); + attempts++; + if (this.shouldRetry(err, attempts, maxAttempts)) { + retryTokenAmount = this.retryQuota.retrieveRetryTokens(err); + const delayFromDecider = this.delayDecider(isThrottlingError(err) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts); + const delayFromResponse = getDelayFromRetryAfterHeader(err.$response); + const delay = Math.max(delayFromResponse || 0, delayFromDecider); + totalDelay += delay; + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + if (!err.$metadata) { + err.$metadata = {}; + } + err.$metadata.attempts = attempts; + err.$metadata.totalRetryDelay = totalDelay; + throw err; + } + } + } + }; + getDelayFromRetryAfterHeader = /* @__PURE__ */ __name((response) => { + if (!HttpResponse.isInstance(response)) + return; + const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after"); + if (!retryAfterHeaderName) + return; + const retryAfter = response.headers[retryAfterHeaderName]; + const retryAfterSeconds = Number(retryAfter); + if (!Number.isNaN(retryAfterSeconds)) + return Math.min(retryAfterSeconds * 1e3, 2e4); + const retryAfterDate = new Date(retryAfter); + return Math.min(retryAfterDate.getTime() - Date.now(), 2e4); + }, "getDelayFromRetryAfterHeader"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/AdaptiveRetryStrategy.js +var AdaptiveRetryStrategy2; +var init_AdaptiveRetryStrategy2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/AdaptiveRetryStrategy.js"() { + init_DefaultRateLimiter(); + init_config2(); + init_StandardRetryStrategy2(); + AdaptiveRetryStrategy2 = class extends StandardRetryStrategy2 { + static { + __name(this, "AdaptiveRetryStrategy"); + } + rateLimiter; + constructor(maxAttemptsProvider, options) { + const { rateLimiter, ...superOptions } = options ?? {}; + super(maxAttemptsProvider, superOptions); + this.rateLimiter = rateLimiter ?? new DefaultRateLimiter(); + this.mode = RETRY_MODES.ADAPTIVE; + } + async retry(next, args) { + return super.retry(next, args, { + beforeRequest: /* @__PURE__ */ __name(async () => { + return this.rateLimiter.getSendToken(); + }, "beforeRequest"), + afterRequest: /* @__PURE__ */ __name((response) => { + this.rateLimiter.updateClientSendingRate(response); + }, "afterRequest") + }); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js +var ENV_MAX_ATTEMPTS, CONFIG_MAX_ATTEMPTS, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, resolveRetryConfig, ENV_RETRY_MODE, CONFIG_RETRY_MODE, NODE_RETRY_MODE_CONFIG_OPTIONS; +var init_configurations = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js"() { + init_client(); + init_AdaptiveRetryStrategy(); + init_StandardRetryStrategy(); + init_config2(); + init_retries_2026_config(); + ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; + CONFIG_MAX_ATTEMPTS = "max_attempts"; + NODE_MAX_ATTEMPT_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => { + const value = env3[ENV_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => { + const value = profile[CONFIG_MAX_ATTEMPTS]; + if (!value) + return void 0; + const maxAttempt = parseInt(value); + if (Number.isNaN(maxAttempt)) { + throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`); + } + return maxAttempt; + }, "configFileSelector"), + default: DEFAULT_MAX_ATTEMPTS + }; + resolveRetryConfig = /* @__PURE__ */ __name((input2, defaults) => { + const { retryStrategy, retryMode } = input2; + const { defaultMaxAttempts = DEFAULT_MAX_ATTEMPTS, defaultBaseDelay = Retry.delay() } = defaults ?? {}; + const maxAttemptsProvider = normalizeProvider(input2.maxAttempts ?? defaultMaxAttempts); + let controller = retryStrategy ? Promise.resolve(retryStrategy) : void 0; + const getDefault = /* @__PURE__ */ __name(async () => { + const maxAttempts = await maxAttemptsProvider(); + const adaptive = await normalizeProvider(retryMode)() === RETRY_MODES.ADAPTIVE; + if (adaptive) { + return new AdaptiveRetryStrategy(maxAttemptsProvider, { + maxAttempts, + baseDelay: defaultBaseDelay + }); + } + return new StandardRetryStrategy({ + maxAttempts, + baseDelay: defaultBaseDelay + }); + }, "getDefault"); + return Object.assign(input2, { + maxAttempts: maxAttemptsProvider, + retryStrategy: /* @__PURE__ */ __name(() => controller ??= getDefault(), "retryStrategy") + }); + }, "resolveRetryConfig"); + ENV_RETRY_MODE = "AWS_RETRY_MODE"; + CONFIG_RETRY_MODE = "retry_mode"; + NODE_RETRY_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_RETRY_MODE], "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_RETRY_MODE], "configFileSelector"), + default: DEFAULT_RETRY_MODE + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/omitRetryHeadersMiddleware.js +var omitRetryHeadersMiddleware, omitRetryHeadersMiddlewareOptions, getOmitRetryHeadersPlugin; +var init_omitRetryHeadersMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/omitRetryHeadersMiddleware.js"() { + init_protocols(); + init_constants3(); + omitRetryHeadersMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => { + const { request } = args; + if (HttpRequest.isInstance(request)) { + delete request.headers[INVOCATION_ID_HEADER]; + delete request.headers[REQUEST_HEADER]; + } + return next(args); + }, "omitRetryHeadersMiddleware"); + omitRetryHeadersMiddlewareOptions = { + name: "omitRetryHeadersMiddleware", + tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"], + relation: "before", + toMiddleware: "awsAuthMiddleware", + override: true + }; + getOmitRetryHeadersPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions); + }, "applyToStack") + }), "getOmitRetryHeadersPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/index.js +var retry_exports = {}; +__export(retry_exports, { + AdaptiveRetryStrategy: () => AdaptiveRetryStrategy, + CONFIG_MAX_ATTEMPTS: () => CONFIG_MAX_ATTEMPTS, + CONFIG_RETRY_MODE: () => CONFIG_RETRY_MODE, + ConfiguredRetryStrategy: () => ConfiguredRetryStrategy, + DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS, + DEFAULT_RETRY_DELAY_BASE: () => DEFAULT_RETRY_DELAY_BASE, + DEFAULT_RETRY_MODE: () => DEFAULT_RETRY_MODE, + DefaultRateLimiter: () => DefaultRateLimiter, + DeprecatedAdaptiveRetryStrategy: () => AdaptiveRetryStrategy2, + DeprecatedStandardRetryStrategy: () => StandardRetryStrategy2, + ENV_MAX_ATTEMPTS: () => ENV_MAX_ATTEMPTS, + ENV_RETRY_MODE: () => ENV_RETRY_MODE, + INITIAL_RETRY_TOKENS: () => INITIAL_RETRY_TOKENS, + INVOCATION_ID_HEADER: () => INVOCATION_ID_HEADER, + MAXIMUM_RETRY_DELAY: () => MAXIMUM_RETRY_DELAY, + NODE_MAX_ATTEMPT_CONFIG_OPTIONS: () => NODE_MAX_ATTEMPT_CONFIG_OPTIONS, + NODE_RETRY_MODE_CONFIG_OPTIONS: () => NODE_RETRY_MODE_CONFIG_OPTIONS, + NO_RETRY_INCREMENT: () => NO_RETRY_INCREMENT, + REQUEST_HEADER: () => REQUEST_HEADER, + RETRY_COST: () => RETRY_COST, + RETRY_MODES: () => RETRY_MODES, + Retry: () => Retry, + StandardRetryStrategy: () => StandardRetryStrategy, + THROTTLING_RETRY_DELAY_BASE: () => THROTTLING_RETRY_DELAY_BASE, + TIMEOUT_RETRY_COST: () => TIMEOUT_RETRY_COST, + defaultDelayDecider: () => defaultDelayDecider, + defaultRetryDecider: () => defaultRetryDecider, + getOmitRetryHeadersPlugin: () => getOmitRetryHeadersPlugin, + getRetryAfterHint: () => getRetryAfterHint, + getRetryPlugin: () => getRetryPlugin, + isBrowserNetworkError: () => isBrowserNetworkError, + isClockSkewCorrectedError: () => isClockSkewCorrectedError, + isClockSkewError: () => isClockSkewError, + isNodeJsHttp2TransientError: () => isNodeJsHttp2TransientError, + isRetryableByTrait: () => isRetryableByTrait, + isServerError: () => isServerError, + isThrottlingError: () => isThrottlingError, + isTransientError: () => isTransientError, + omitRetryHeadersMiddleware: () => omitRetryHeadersMiddleware, + omitRetryHeadersMiddlewareOptions: () => omitRetryHeadersMiddlewareOptions, + resolveRetryConfig: () => resolveRetryConfig, + retryMiddleware: () => retryMiddleware, + retryMiddlewareOptions: () => retryMiddlewareOptions +}); +var retryMiddleware, getRetryPlugin; +var init_retry = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/submodules/retry/index.js"() { + init_isStreamingPayload(); + init_retryMiddleware(); + init_service_error_classification(); + init_AdaptiveRetryStrategy(); + init_ConfiguredRetryStrategy(); + init_DefaultRateLimiter(); + init_StandardRetryStrategy(); + init_config2(); + init_constants3(); + init_retries_2026_config(); + init_AdaptiveRetryStrategy2(); + init_StandardRetryStrategy2(); + init_delayDecider(); + init_retryDecider(); + init_configurations(); + init_omitRetryHeadersMiddleware(); + init_retryMiddleware(); + init_parseRetryAfterHeader(); + retryMiddleware = bindRetryMiddleware(isStreamingPayload); + getRetryPlugin = bindGetRetryPlugin(isStreamingPayload); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +function setFeature(context, feature, value) { + if (!context.__aws_sdk_context) { + context.__aws_sdk_context = { + features: {} + }; + } else if (!context.__aws_sdk_context.features) { + context.__aws_sdk_context.features = {}; + } + context.__aws_sdk_context.features[feature] = value; +} +var init_setFeature = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js"() { + init_retry(); + Retry.v2026 ||= typeof process === "object" && process.env?.AWS_NEW_RETRIES_2026 === "true"; + __name(setFeature, "setFeature"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js +function setTokenFeature(token, feature, value) { + if (!token.$source) { + token.$source = {}; + } + token.$source[feature] = value; + return token; +} +var init_setTokenFeature = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js"() { + __name(setTokenFeature, "setTokenFeature"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js +function resolveHostHeaderConfig(input2) { + return input2; +} +var hostHeaderMiddleware, hostHeaderMiddlewareOptions, getHostHeaderPlugin; +var init_hostHeaderMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js"() { + init_protocols(); + __name(resolveHostHeaderConfig, "resolveHostHeaderConfig"); + hostHeaderMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => { + if (!HttpRequest.isInstance(args.request)) + return next(args); + const { request } = args; + const { handlerProtocol = "" } = options.requestHandler.metadata || {}; + if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) { + delete request.headers["host"]; + request.headers[":authority"] = request.hostname + (request.port ? ":" + request.port : ""); + } else if (!request.headers["host"]) { + let host = request.hostname; + if (request.port != null) + host += `:${request.port}`; + request.headers["host"] = host; + } + return next(args); + }, "hostHeaderMiddleware"); + hostHeaderMiddlewareOptions = { + name: "hostHeaderMiddleware", + step: "build", + priority: "low", + tags: ["HOST"], + override: true + }; + getHostHeaderPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions); + }, "applyToStack") + }), "getHostHeaderPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-logger/loggerMiddleware.js +var loggerMiddleware, loggerMiddlewareOptions, getLoggerPlugin; +var init_loggerMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-logger/loggerMiddleware.js"() { + loggerMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => { + try { + const response = await next(args); + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog; + const { $metadata, ...outputWithoutMetadata } = response.output; + logger?.info?.({ + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + output: outputFilterSensitiveLog(outputWithoutMetadata), + metadata: $metadata + }); + return response; + } catch (error62) { + const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context; + const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions; + const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog; + logger?.error?.({ + clientName, + commandName, + input: inputFilterSensitiveLog(args.input), + error: error62, + metadata: error62.$metadata + }); + throw error62; + } + }, "loggerMiddleware"); + loggerMiddlewareOptions = { + name: "loggerMiddleware", + tags: ["LOGGER"], + step: "initialize", + override: true + }; + getLoggerPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(loggerMiddleware(), loggerMiddlewareOptions); + }, "applyToStack") + }), "getLoggerPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/configuration.js +var recursionDetectionMiddlewareOptions; +var init_configuration = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/configuration.js"() { + recursionDetectionMiddlewareOptions = { + step: "build", + tags: ["RECURSION_DETECTION", "TRACE_CONTEXT_PROPAGATION"], + name: "recursionDetectionMiddleware", + override: true, + priority: "low" + }; + } +}); + +// ../../node_modules/.pnpm/@aws+lambda-invoke-store@0.3.0/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +var PROTECTED_KEYS, NO_GLOBAL_AWS_LAMBDA, InvokeStoreBase, InvokeStoreSingle, InvokeStoreMulti, InvokeStore; +var init_invoke_store = __esm({ + "../../node_modules/.pnpm/@aws+lambda-invoke-store@0.3.0/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js"() { + PROTECTED_KEYS = { + REQUEST_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_REQUEST_ID"), + X_RAY_TRACE_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"), + TENANT_ID: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TENANT_ID"), + TRACEPARENT: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TRACEPARENT"), + TRACESTATE: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_TRACESTATE"), + BAGGAGE: /* @__PURE__ */ Symbol.for("_AWS_LAMBDA_BAGGAGE") + }; + NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? ""); + if (!NO_GLOBAL_AWS_LAMBDA) { + globalThis.awslambda = globalThis.awslambda || {}; + } + InvokeStoreBase = class { + static { + __name(this, "InvokeStoreBase"); + } + static PROTECTED_KEYS = PROTECTED_KEYS; + isProtectedKey(key) { + return Object.values(PROTECTED_KEYS).includes(key); + } + getRequestId() { + return this.get(PROTECTED_KEYS.REQUEST_ID) ?? "-"; + } + getXRayTraceId() { + return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID); + } + getTenantId() { + return this.get(PROTECTED_KEYS.TENANT_ID); + } + getTraceparent() { + return this.get(PROTECTED_KEYS.TRACEPARENT); + } + getTracestate() { + return this.get(PROTECTED_KEYS.TRACESTATE); + } + getBaggage() { + return this.get(PROTECTED_KEYS.BAGGAGE); + } + }; + InvokeStoreSingle = class extends InvokeStoreBase { + static { + __name(this, "InvokeStoreSingle"); + } + currentContext; + getContext() { + return this.currentContext; + } + hasContext() { + return this.currentContext !== void 0; + } + get(key) { + return this.currentContext?.[key]; + } + set(key, value) { + if (this.isProtectedKey(key)) { + throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`); + } + this.currentContext = this.currentContext || {}; + this.currentContext[key] = value; + } + run(context, fn) { + this.currentContext = context; + return fn(); + } + }; + InvokeStoreMulti = class _InvokeStoreMulti extends InvokeStoreBase { + static { + __name(this, "InvokeStoreMulti"); + } + als; + static async create() { + const instance = new _InvokeStoreMulti(); + const asyncHooks = await import("node:async_hooks"); + instance.als = new asyncHooks.AsyncLocalStorage(); + return instance; + } + getContext() { + return this.als.getStore(); + } + hasContext() { + return this.als.getStore() !== void 0; + } + get(key) { + return this.als.getStore()?.[key]; + } + set(key, value) { + if (this.isProtectedKey(key)) { + throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`); + } + const store = this.als.getStore(); + if (!store) { + throw new Error("No context available"); + } + store[key] = value; + } + run(context, fn) { + return this.als.run(context, fn); + } + }; + (function(InvokeStore2) { + let instance = null; + async function getInstanceAsync(forceInvokeStoreMulti) { + if (!instance) { + instance = (async () => { + const isMulti = forceInvokeStoreMulti === true || "AWS_LAMBDA_MAX_CONCURRENCY" in process.env; + const newInstance = isMulti ? await InvokeStoreMulti.create() : new InvokeStoreSingle(); + if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) { + return globalThis.awslambda.InvokeStore; + } else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) { + globalThis.awslambda.InvokeStore = newInstance; + return newInstance; + } else { + return newInstance; + } + })(); + } + return instance; + } + __name(getInstanceAsync, "getInstanceAsync"); + InvokeStore2.getInstanceAsync = getInstanceAsync; + InvokeStore2._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === "1" ? { + reset: /* @__PURE__ */ __name(() => { + instance = null; + if (globalThis.awslambda?.InvokeStore) { + delete globalThis.awslambda.InvokeStore; + } + globalThis.awslambda = { InvokeStore: void 0 }; + }, "reset") + } : void 0; + })(InvokeStore || (InvokeStore = {})); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.js +function sanitizeTraceHeaders(headers) { + for (const header of Object.keys(headers)) { + const lower = header.toLowerCase(); + if (header !== lower && (lower === TRACEPARENT || lower === TRACESTATE || lower === BAGGAGE)) { + headers[lower] = headers[header]; + delete headers[header]; + } + } +} +var AWS_LAMBDA_FUNCTION_NAME, _X_AMZN_TRACE_ID, X_AMZN_TRACE_ID, TRACEPARENT, TRACESTATE, BAGGAGE, recursionDetectionMiddleware; +var init_recursionDetectionMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/recursionDetectionMiddleware.js"() { + init_invoke_store(); + init_protocols(); + AWS_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; + _X_AMZN_TRACE_ID = "_X_AMZN_TRACE_ID"; + X_AMZN_TRACE_ID = "X-Amzn-Trace-Id"; + TRACEPARENT = "traceparent"; + TRACESTATE = "tracestate"; + BAGGAGE = "baggage"; + recursionDetectionMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => { + const { request } = args; + if (!HttpRequest.isInstance(request)) { + return next(args); + } + let invokeStore; + { + const traceIdHeader = Object.keys(request.headers ?? {}).find((h5) => h5.toLowerCase() === X_AMZN_TRACE_ID.toLowerCase()) ?? X_AMZN_TRACE_ID; + if (!request.headers.hasOwnProperty(traceIdHeader)) { + const functionName = process.env[AWS_LAMBDA_FUNCTION_NAME]; + const traceIdFromEnv = process.env[_X_AMZN_TRACE_ID]; + invokeStore ??= await InvokeStore.getInstanceAsync(); + const traceIdFromInvokeStore = invokeStore?.getXRayTraceId(); + const traceId = traceIdFromInvokeStore ?? traceIdFromEnv; + const nonEmptyString = /* @__PURE__ */ __name((str) => typeof str === "string" && str.length > 0, "nonEmptyString"); + if (nonEmptyString(functionName) && nonEmptyString(traceId)) { + request.headers[X_AMZN_TRACE_ID] = traceId; + } + } + } + { + sanitizeTraceHeaders(request.headers); + const existingTraceparent = request.headers[TRACEPARENT]; + if (!existingTraceparent) { + const traceparent = (invokeStore ??= await InvokeStore.getInstanceAsync())?.getTraceparent?.(); + if (traceparent) { + request.headers[TRACEPARENT] = traceparent; + const tracestate = invokeStore?.getTracestate?.(); + if (tracestate) { + request.headers[TRACESTATE] = tracestate; + } + const baggage = invokeStore?.getBaggage?.(); + if (baggage) { + request.headers[BAGGAGE] = baggage; + } + } + } + } + return next(args); + }, "recursionDetectionMiddleware"); + __name(sanitizeTraceHeaders, "sanitizeTraceHeaders"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.js +var getRecursionDetectionPlugin; +var init_getRecursionDetectionPlugin = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.js"() { + init_configuration(); + init_recursionDetectionMiddleware(); + getRecursionDetectionPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions); + }, "applyToStack") + }), "getRecursionDetectionPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/resolveAuthOptions.js +var resolveAuthOptions; +var init_resolveAuthOptions = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/resolveAuthOptions.js"() { + resolveAuthOptions = /* @__PURE__ */ __name((candidateAuthOptions, authSchemePreference) => { + if (!authSchemePreference || authSchemePreference.length === 0) { + return candidateAuthOptions; + } + const preferredAuthOptions = []; + for (const preferredSchemeName of authSchemePreference) { + for (const candidateAuthOption of candidateAuthOptions) { + const candidateAuthSchemeName = candidateAuthOption.schemeId.split("#")[1]; + if (candidateAuthSchemeName === preferredSchemeName) { + preferredAuthOptions.push(candidateAuthOption); + } + } + } + for (const candidateAuthOption of candidateAuthOptions) { + if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) { + preferredAuthOptions.push(candidateAuthOption); + } + } + return preferredAuthOptions; + }, "resolveAuthOptions"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +function convertHttpAuthSchemesToMap(httpAuthSchemes) { + const map2 = /* @__PURE__ */ new Map(); + for (const scheme of httpAuthSchemes) { + map2.set(scheme.schemeId, scheme); + } + return map2; +} +var httpAuthSchemeMiddleware; +var init_httpAuthSchemeMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js"() { + init_transport(); + init_resolveAuthOptions(); + __name(convertHttpAuthSchemesToMap, "convertHttpAuthSchemesToMap"); + httpAuthSchemeMiddleware = /* @__PURE__ */ __name((config3, mwOptions) => (next, context) => async (args) => { + const options = config3.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config3, context, args.input)); + const authSchemePreference = config3.authSchemePreference ? await config3.authSchemePreference() : []; + const resolvedOptions = resolveAuthOptions(options, authSchemePreference); + const authSchemes = convertHttpAuthSchemesToMap(config3.httpAuthSchemes); + const smithyContext = getSmithyContext(context); + const failureReasons = []; + for (const option of resolvedOptions) { + const scheme = authSchemes.get(option.schemeId); + if (!scheme) { + failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` was not enabled for this service.`); + continue; + } + const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config3)); + if (!identityProvider) { + failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` did not have an IdentityProvider configured.`); + continue; + } + const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config3, context) || {}; + option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties); + option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties); + smithyContext.selectedHttpAuthScheme = { + httpAuthOption: option, + identity: await identityProvider(option.identityProperties), + signer: scheme.signer + }; + break; + } + if (!smithyContext.selectedHttpAuthScheme) { + throw new Error(failureReasons.join("\n")); + } + return next(args); + }, "httpAuthSchemeMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +var httpAuthSchemeEndpointRuleSetMiddlewareOptions, getHttpAuthSchemeEndpointRuleSetPlugin; +var init_getHttpAuthSchemeEndpointRuleSetPlugin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js"() { + init_httpAuthSchemeMiddleware(); + httpAuthSchemeEndpointRuleSetMiddlewareOptions = { + step: "serialize", + tags: ["HTTP_AUTH_SCHEME"], + name: "httpAuthSchemeMiddleware", + override: true, + relation: "before", + toMiddleware: "endpointV2Middleware" + }; + getHttpAuthSchemeEndpointRuleSetPlugin = /* @__PURE__ */ __name((config3, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(httpAuthSchemeMiddleware(config3, { + httpAuthSchemeParametersProvider, + identityProviderConfigProvider + }), httpAuthSchemeEndpointRuleSetMiddlewareOptions); + }, "applyToStack") + }), "getHttpAuthSchemeEndpointRuleSetPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +var httpAuthSchemeMiddlewareOptions, getHttpAuthSchemePlugin; +var init_getHttpAuthSchemePlugin = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js"() { + init_httpAuthSchemeMiddleware(); + httpAuthSchemeMiddlewareOptions = { + step: "serialize", + tags: ["HTTP_AUTH_SCHEME"], + name: "httpAuthSchemeMiddleware", + override: true, + relation: "before", + toMiddleware: "serializerMiddleware" + }; + getHttpAuthSchemePlugin = /* @__PURE__ */ __name((config3, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(httpAuthSchemeMiddleware(config3, { + httpAuthSchemeParametersProvider, + identityProviderConfigProvider + }), httpAuthSchemeMiddlewareOptions); + }, "applyToStack") + }), "getHttpAuthSchemePlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/index.js +var init_middleware_http_auth_scheme = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-auth-scheme/index.js"() { + init_httpAuthSchemeMiddleware(); + init_getHttpAuthSchemeEndpointRuleSetPlugin(); + init_getHttpAuthSchemePlugin(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js +var defaultErrorHandler, defaultSuccessHandler, httpSigningMiddleware; +var init_httpSigningMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/httpSigningMiddleware.js"() { + init_protocols(); + init_transport(); + defaultErrorHandler = /* @__PURE__ */ __name((signingProperties) => (error62) => { + throw error62; + }, "defaultErrorHandler"); + defaultSuccessHandler = /* @__PURE__ */ __name((httpResponse, signingProperties) => { + }, "defaultSuccessHandler"); + httpSigningMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => { + if (!HttpRequest.isInstance(args.request)) { + return next(args); + } + const smithyContext = getSmithyContext(context); + const scheme = smithyContext.selectedHttpAuthScheme; + if (!scheme) { + throw new Error(`No HttpAuthScheme was selected: unable to sign request`); + } + const { httpAuthOption: { signingProperties = {} }, identity, signer } = scheme; + const output2 = await next({ + ...args, + request: await signer.sign(args.request, identity, signingProperties) + }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties)); + (signer.successHandler || defaultSuccessHandler)(output2.response, signingProperties); + return output2; + }, "httpSigningMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/getHttpSigningMiddleware.js +var httpSigningMiddlewareOptions, getHttpSigningPlugin; +var init_getHttpSigningMiddleware = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/getHttpSigningMiddleware.js"() { + init_httpSigningMiddleware(); + httpSigningMiddlewareOptions = { + step: "finalizeRequest", + tags: ["HTTP_SIGNING"], + name: "httpSigningMiddleware", + aliases: ["apiKeyMiddleware", "tokenMiddleware", "awsAuthMiddleware"], + override: true, + relation: "after", + toMiddleware: "retryMiddleware" + }; + getHttpSigningPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(httpSigningMiddleware(config3), httpSigningMiddlewareOptions); + }, "applyToStack") + }), "getHttpSigningPlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/index.js +var init_middleware_http_signing = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/middleware-http-signing/index.js"() { + init_httpSigningMiddleware(); + init_getHttpSigningMiddleware(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/normalizeProvider.js +var normalizeProvider2; +var init_normalizeProvider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/normalizeProvider.js"() { + normalizeProvider2 = /* @__PURE__ */ __name((input2) => { + if (typeof input2 === "function") + return input2; + const promisified = Promise.resolve(input2); + return () => promisified; + }, "normalizeProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/pagination/createPaginator.js +function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) { + return /* @__PURE__ */ __name(async function* paginateOperation(config3, input2, ...additionalArguments) { + const _input = input2; + let token = config3.startingToken ?? _input[inputTokenName]; + let hasNext = true; + let page; + while (hasNext) { + _input[inputTokenName] = token; + if (pageSizeTokenName) { + _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config3.pageSize; + } + if (config3.client instanceof ClientCtor) { + page = await makePagedClientRequest(CommandCtor, config3.client, input2, config3.withCommand, ...additionalArguments); + } else { + throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`); + } + yield page; + const prevToken = token; + token = get(page, outputTokenName); + hasNext = !!(token && (!config3.stopOnSameToken || token !== prevToken)); + } + return void 0; + }, "paginateOperation"); +} +var makePagedClientRequest, get; +var init_createPaginator = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/pagination/createPaginator.js"() { + makePagedClientRequest = /* @__PURE__ */ __name(async (CommandCtor, client, input2, withCommand = (_) => _, ...args) => { + let command5 = new CommandCtor(input2); + command5 = withCommand(command5) ?? command5; + return await client.send(command5, ...args); + }, "makePagedClientRequest"); + __name(createPaginator, "createPaginator"); + get = /* @__PURE__ */ __name((fromObject, path2) => { + let cursor = fromObject; + const pathComponents = path2.split("."); + for (const step of pathComponents) { + if (!cursor || typeof cursor !== "object") { + return void 0; + } + cursor = cursor[step]; + } + return cursor; + }, "get"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/setFeature.js +function setFeature2(context, feature, value) { + if (!context.__smithy_context) { + context.__smithy_context = { + features: {} + }; + } else if (!context.__smithy_context.features) { + context.__smithy_context.features = {}; + } + context.__smithy_context.features[feature] = value; +} +var init_setFeature2 = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/setFeature.js"() { + __name(setFeature2, "setFeature"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js +var DefaultIdentityProviderConfig; +var init_DefaultIdentityProviderConfig = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js"() { + init_transport(); + DefaultIdentityProviderConfig = class { + static { + __name(this, "DefaultIdentityProviderConfig"); + } + authSchemes = /* @__PURE__ */ new Map(); + constructor(config3) { + for (const key in config3) { + if (!hasOwn(config3, key)) + continue; + const value = config3[key]; + if (value !== void 0) { + this.authSchemes.set(key, value); + } + } + } + getIdentityProvider(schemeId) { + return this.authSchemes.get(schemeId); + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +var import_types2, HttpApiKeyAuthSigner; +var init_httpApiKeyAuth = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js"() { + init_protocols(); + import_types2 = __toESM(require_dist_cjs()); + HttpApiKeyAuthSigner = class { + static { + __name(this, "HttpApiKeyAuthSigner"); + } + async sign(httpRequest, identity, signingProperties) { + if (!signingProperties) { + throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing"); + } + if (!signingProperties.name) { + throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing"); + } + if (!signingProperties.in) { + throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing"); + } + if (!identity.apiKey) { + throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined"); + } + const clonedRequest = HttpRequest.clone(httpRequest); + if (signingProperties.in === import_types2.HttpApiKeyAuthLocation.QUERY) { + clonedRequest.query[signingProperties.name] = identity.apiKey; + } else if (signingProperties.in === import_types2.HttpApiKeyAuthLocation.HEADER) { + clonedRequest.headers[signingProperties.name] = signingProperties.scheme ? `${signingProperties.scheme} ${identity.apiKey}` : identity.apiKey; + } else { + throw new Error("request can only be signed with `apiKey` locations `query` or `header`, but found: `" + signingProperties.in + "`"); + } + return clonedRequest; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +var HttpBearerAuthSigner; +var init_httpBearerAuth = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js"() { + init_protocols(); + HttpBearerAuthSigner = class { + static { + __name(this, "HttpBearerAuthSigner"); + } + async sign(httpRequest, identity, signingProperties) { + const clonedRequest = HttpRequest.clone(httpRequest); + if (!identity.token) { + throw new Error("request could not be signed with `token` since the `token` is not defined"); + } + clonedRequest.headers["Authorization"] = `Bearer ${identity.token}`; + return clonedRequest; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/noAuth.js +var NoAuthSigner; +var init_noAuth = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/noAuth.js"() { + NoAuthSigner = class { + static { + __name(this, "NoAuthSigner"); + } + async sign(httpRequest, identity, signingProperties) { + return httpRequest; + } + }; + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.js +var init_httpAuthSchemes = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/httpAuthSchemes/index.js"() { + init_httpApiKeyAuth(); + init_httpBearerAuth(); + init_noAuth(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/memoizeIdentityProvider.js +var createIsIdentityExpiredFunction, EXPIRATION_MS, isIdentityExpired, doesIdentityRequireRefresh, memoizeIdentityProvider; +var init_memoizeIdentityProvider = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/memoizeIdentityProvider.js"() { + createIsIdentityExpiredFunction = /* @__PURE__ */ __name((expirationMs) => /* @__PURE__ */ __name(function isIdentityExpired2(identity) { + return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs; + }, "isIdentityExpired"), "createIsIdentityExpiredFunction"); + EXPIRATION_MS = 3e5; + isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS); + doesIdentityRequireRefresh = /* @__PURE__ */ __name((identity) => identity.expiration !== void 0, "doesIdentityRequireRefresh"); + memoizeIdentityProvider = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => { + if (provider === void 0) { + return void 0; + } + const normalizedProvider = typeof provider !== "function" ? async () => Promise.resolve(provider) : provider; + let resolved; + let pending; + let hasResult; + let isConstant = false; + const coalesceProvider = /* @__PURE__ */ __name(async (options) => { + if (!pending) { + pending = normalizedProvider(options); + } + try { + resolved = await pending; + hasResult = true; + isConstant = false; + } finally { + pending = void 0; + } + return resolved; + }, "coalesceProvider"); + if (isExpired === void 0) { + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(options); + } + return resolved; + }; + } + return async (options) => { + if (!hasResult || options?.forceRefresh) { + resolved = await coalesceProvider(options); + } + if (isConstant) { + return resolved; + } + if (!requiresRefresh(resolved)) { + isConstant = true; + return resolved; + } + if (isExpired(resolved)) { + await coalesceProvider(options); + return resolved; + } + return resolved; + }; + }, "memoizeIdentityProvider"); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/index.js +var init_util_identity_and_auth = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/index.js"() { + init_DefaultIdentityProviderConfig(); + init_httpAuthSchemes(); + init_memoizeIdentityProvider(); + } +}); + +// ../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/index.js +var dist_es_exports = {}; +__export(dist_es_exports, { + DefaultIdentityProviderConfig: () => DefaultIdentityProviderConfig, + EXPIRATION_MS: () => EXPIRATION_MS, + HttpApiKeyAuthSigner: () => HttpApiKeyAuthSigner, + HttpBearerAuthSigner: () => HttpBearerAuthSigner, + NoAuthSigner: () => NoAuthSigner, + createIsIdentityExpiredFunction: () => createIsIdentityExpiredFunction, + createPaginator: () => createPaginator, + doesIdentityRequireRefresh: () => doesIdentityRequireRefresh, + getHttpAuthSchemeEndpointRuleSetPlugin: () => getHttpAuthSchemeEndpointRuleSetPlugin, + getHttpAuthSchemePlugin: () => getHttpAuthSchemePlugin, + getHttpSigningPlugin: () => getHttpSigningPlugin, + getSmithyContext: () => getSmithyContext, + httpAuthSchemeEndpointRuleSetMiddlewareOptions: () => httpAuthSchemeEndpointRuleSetMiddlewareOptions, + httpAuthSchemeMiddleware: () => httpAuthSchemeMiddleware, + httpAuthSchemeMiddlewareOptions: () => httpAuthSchemeMiddlewareOptions, + httpSigningMiddleware: () => httpSigningMiddleware, + httpSigningMiddlewareOptions: () => httpSigningMiddlewareOptions, + isIdentityExpired: () => isIdentityExpired, + memoizeIdentityProvider: () => memoizeIdentityProvider, + normalizeProvider: () => normalizeProvider2, + requestBuilder: () => requestBuilder, + setFeature: () => setFeature2 +}); +var init_dist_es = __esm({ + "../../node_modules/.pnpm/@smithy+core@3.36.1/node_modules/@smithy/core/dist-es/index.js"() { + init_transport(); + init_middleware_http_auth_scheme(); + init_middleware_http_signing(); + init_normalizeProvider(); + init_createPaginator(); + init_protocols(); + init_setFeature2(); + init_util_identity_and_auth(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/configurations.js +function isValidUserAgentAppId(appId) { + if (appId === void 0) { + return true; + } + return typeof appId === "string" && appId.length <= 50; +} +function resolveUserAgentConfig(input2) { + const normalizedAppIdProvider = normalizeProvider2(input2.userAgentAppId ?? DEFAULT_UA_APP_ID); + const { customUserAgent } = input2; + return Object.assign(input2, { + customUserAgent: typeof customUserAgent === "string" ? [[customUserAgent]] : customUserAgent, + userAgentAppId: /* @__PURE__ */ __name(async () => { + const appId = await normalizedAppIdProvider(); + if (!isValidUserAgentAppId(appId)) { + const logger = input2.logger?.constructor?.name === "NoOpLogger" || !input2.logger ? console : input2.logger; + if (typeof appId !== "string") { + logger?.warn("userAgentAppId must be a string or undefined."); + } else if (appId.length > 50) { + logger?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters."); + } + } + return appId; + }, "userAgentAppId") + }); +} +var DEFAULT_UA_APP_ID; +var init_configurations2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/configurations.js"() { + init_dist_es(); + DEFAULT_UA_APP_ID = void 0; + __name(isValidUserAgentAppId, "isValidUserAgentAppId"); + __name(resolveUserAgentConfig, "resolveUserAgentConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js +var partitionsInfo; +var init_partitions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js"() { + partitionsInfo = { + "partitions": [ + { + "id": "aws", + "outputs": { + "dnsSuffix": "amazonaws.com", + "dualStackDnsSuffix": "api.aws", + "implicitGlobalRegion": "us-east-1", + "name": "aws", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$", + "regions": { + "af-south-1": { + "description": "Africa (Cape Town)" + }, + "ap-east-1": { + "description": "Asia Pacific (Hong Kong)" + }, + "ap-east-2": { + "description": "Asia Pacific (Taipei)" + }, + "ap-northeast-1": { + "description": "Asia Pacific (Tokyo)" + }, + "ap-northeast-2": { + "description": "Asia Pacific (Seoul)" + }, + "ap-northeast-3": { + "description": "Asia Pacific (Osaka)" + }, + "ap-south-1": { + "description": "Asia Pacific (Mumbai)" + }, + "ap-south-2": { + "description": "Asia Pacific (Hyderabad)" + }, + "ap-southeast-1": { + "description": "Asia Pacific (Singapore)" + }, + "ap-southeast-2": { + "description": "Asia Pacific (Sydney)" + }, + "ap-southeast-3": { + "description": "Asia Pacific (Jakarta)" + }, + "ap-southeast-4": { + "description": "Asia Pacific (Melbourne)" + }, + "ap-southeast-5": { + "description": "Asia Pacific (Malaysia)" + }, + "ap-southeast-6": { + "description": "Asia Pacific (New Zealand)" + }, + "ap-southeast-7": { + "description": "Asia Pacific (Thailand)" + }, + "aws-global": { + "description": "aws global region" + }, + "ca-central-1": { + "description": "Canada (Central)" + }, + "ca-west-1": { + "description": "Canada West (Calgary)" + }, + "eu-central-1": { + "description": "Europe (Frankfurt)" + }, + "eu-central-2": { + "description": "Europe (Zurich)" + }, + "eu-north-1": { + "description": "Europe (Stockholm)" + }, + "eu-south-1": { + "description": "Europe (Milan)" + }, + "eu-south-2": { + "description": "Europe (Spain)" + }, + "eu-west-1": { + "description": "Europe (Ireland)" + }, + "eu-west-2": { + "description": "Europe (London)" + }, + "eu-west-3": { + "description": "Europe (Paris)" + }, + "il-central-1": { + "description": "Israel (Tel Aviv)" + }, + "me-central-1": { + "description": "Middle East (UAE)" + }, + "me-south-1": { + "description": "Middle East (Bahrain)" + }, + "mx-central-1": { + "description": "Mexico (Central)" + }, + "sa-east-1": { + "description": "South America (Sao Paulo)" + }, + "us-east-1": { + "description": "US East (N. Virginia)" + }, + "us-east-2": { + "description": "US East (Ohio)" + }, + "us-west-1": { + "description": "US West (N. California)" + }, + "us-west-2": { + "description": "US West (Oregon)" + } + } + }, + { + "id": "aws-cn", + "outputs": { + "dnsSuffix": "amazonaws.com.cn", + "dualStackDnsSuffix": "api.amazonwebservices.com.cn", + "implicitGlobalRegion": "cn-northwest-1", + "name": "aws-cn", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^cn\\-\\w+\\-\\d+$", + "regions": { + "aws-cn-global": { + "description": "aws-cn global region" + }, + "cn-north-1": { + "description": "China (Beijing)" + }, + "cn-northwest-1": { + "description": "China (Ningxia)" + } + } + }, + { + "id": "aws-eusc", + "outputs": { + "dnsSuffix": "amazonaws.eu", + "dualStackDnsSuffix": "api.amazonwebservices.eu", + "implicitGlobalRegion": "eusc-de-east-1", + "name": "aws-eusc", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^eusc\\-(de)\\-\\w+\\-\\d+$", + "regions": { + "eusc-de-east-1": { + "description": "AWS European Sovereign Cloud (Germany)" + } + } + }, + { + "id": "aws-iso", + "outputs": { + "dnsSuffix": "c2s.ic.gov", + "dualStackDnsSuffix": "api.aws.ic.gov", + "implicitGlobalRegion": "us-iso-east-1", + "name": "aws-iso", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^us\\-iso\\-\\w+\\-\\d+$", + "regions": { + "aws-iso-global": { + "description": "aws-iso global region" + }, + "us-iso-east-1": { + "description": "US ISO East" + }, + "us-iso-west-1": { + "description": "US ISO WEST" + } + } + }, + { + "id": "aws-iso-b", + "outputs": { + "dnsSuffix": "sc2s.sgov.gov", + "dualStackDnsSuffix": "api.aws.scloud", + "implicitGlobalRegion": "us-isob-east-1", + "name": "aws-iso-b", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^us\\-isob\\-\\w+\\-\\d+$", + "regions": { + "aws-iso-b-global": { + "description": "aws-iso-b global region" + }, + "us-isob-east-1": { + "description": "US ISOB East (Ohio)" + }, + "us-isob-west-1": { + "description": "US ISOB West" + } + } + }, + { + "id": "aws-iso-e", + "outputs": { + "dnsSuffix": "cloud.adc-e.uk", + "dualStackDnsSuffix": "api.cloud-aws.adc-e.uk", + "implicitGlobalRegion": "eu-isoe-west-1", + "name": "aws-iso-e", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^eu\\-isoe\\-\\w+\\-\\d+$", + "regions": { + "aws-iso-e-global": { + "description": "aws-iso-e global region" + }, + "eu-isoe-west-1": { + "description": "EU ISOE West" + } + } + }, + { + "id": "aws-iso-f", + "outputs": { + "dnsSuffix": "csp.hci.ic.gov", + "dualStackDnsSuffix": "api.aws.hci.ic.gov", + "implicitGlobalRegion": "us-isof-south-1", + "name": "aws-iso-f", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^us\\-isof\\-\\w+\\-\\d+$", + "regions": { + "aws-iso-f-global": { + "description": "aws-iso-f global region" + }, + "us-isof-east-1": { + "description": "US ISOF EAST" + }, + "us-isof-south-1": { + "description": "US ISOF SOUTH" + } + } + }, + { + "id": "aws-us-gov", + "outputs": { + "dnsSuffix": "amazonaws.com", + "dualStackDnsSuffix": "api.aws", + "implicitGlobalRegion": "us-gov-west-1", + "name": "aws-us-gov", + "supportsDualStack": true, + "supportsFIPS": true + }, + "regionRegex": "^us\\-gov\\-\\w+\\-\\d+$", + "regions": { + "aws-us-gov-global": { + "description": "aws-us-gov global region" + }, + "us-gov-east-1": { + "description": "AWS GovCloud (US-East)" + }, + "us-gov-west-1": { + "description": "AWS GovCloud (US-West)" + } + } + } + ], + "version": "1.1" + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partition.js +var selectedPartitionsInfo, selectedUserAgentPrefix, partition, setPartitionInfo, useDefaultPartitionInfo, getUserAgentPrefix; +var init_partition = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partition.js"() { + init_partitions(); + selectedPartitionsInfo = partitionsInfo; + selectedUserAgentPrefix = ""; + partition = /* @__PURE__ */ __name((value) => { + const { partitions } = selectedPartitionsInfo; + for (const partition2 of partitions) { + const { regions, outputs } = partition2; + for (const [region, regionData] of Object.entries(regions)) { + if (region === value) { + return { + ...outputs, + ...regionData + }; + } + } + } + for (const partition2 of partitions) { + const { regionRegex, outputs } = partition2; + if (new RegExp(regionRegex).test(value)) { + return { + ...outputs + }; + } + } + const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === "aws"); + if (!DEFAULT_PARTITION) { + throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist."); + } + return { + ...DEFAULT_PARTITION.outputs + }; + }, "partition"); + setPartitionInfo = /* @__PURE__ */ __name((partitionsInfo2, userAgentPrefix = "") => { + selectedPartitionsInfo = partitionsInfo2; + selectedUserAgentPrefix = userAgentPrefix; + }, "setPartitionInfo"); + useDefaultPartitionInfo = /* @__PURE__ */ __name(() => { + setPartitionInfo(partitionsInfo, ""); + }, "useDefaultPartitionInfo"); + getUserAgentPrefix = /* @__PURE__ */ __name(() => selectedUserAgentPrefix, "getUserAgentPrefix"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/check-features.js +async function checkFeatures(context, config3, args) { + const request = args.request; + if (request?.headers?.["smithy-protocol"] === "rpc-v2-cbor") { + setFeature(context, "PROTOCOL_RPC_V2_CBOR", "M"); + } + if (typeof config3.retryStrategy === "function") { + const retryStrategy = await config3.retryStrategy(); + if (typeof retryStrategy.mode === "string") { + switch (retryStrategy.mode) { + case RETRY_MODES.ADAPTIVE: + setFeature(context, "RETRY_MODE_ADAPTIVE", "F"); + break; + case RETRY_MODES.STANDARD: + setFeature(context, "RETRY_MODE_STANDARD", "E"); + break; + } + } + } + if (typeof config3.accountIdEndpointMode === "function") { + const endpointV2 = context.endpointV2; + if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) { + setFeature(context, "ACCOUNT_ID_ENDPOINT", "O"); + } + switch (await config3.accountIdEndpointMode?.()) { + case "disabled": + setFeature(context, "ACCOUNT_ID_MODE_DISABLED", "Q"); + break; + case "preferred": + setFeature(context, "ACCOUNT_ID_MODE_PREFERRED", "P"); + break; + case "required": + setFeature(context, "ACCOUNT_ID_MODE_REQUIRED", "R"); + break; + } + } + const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity; + if (identity?.$source) { + const credentials = identity; + if (credentials.accountId) { + setFeature(context, "RESOLVED_ACCOUNT_ID", "T"); + } + for (const [key, value] of Object.entries(credentials.$source ?? {})) { + setFeature(context, key, value); + } + } +} +var ACCOUNT_ID_ENDPOINT_REGEX; +var init_check_features = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/check-features.js"() { + init_retry(); + init_setFeature(); + ACCOUNT_ID_ENDPOINT_REGEX = /\d{12}\.ddb/; + __name(checkFeatures, "checkFeatures"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/constants.js +var USER_AGENT, X_AMZ_USER_AGENT, SPACE, UA_NAME_SEPARATOR, UA_NAME_ESCAPE_REGEX, UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR; +var init_constants4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/constants.js"() { + USER_AGENT = "user-agent"; + X_AMZ_USER_AGENT = "x-amz-user-agent"; + SPACE = " "; + UA_NAME_SEPARATOR = "/"; + UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w]/g; + UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w#]/g; + UA_ESCAPE_CHAR = "-"; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/encode-features.js +function encodeFeatures(features) { + let buffer = ""; + for (const key in features) { + const val = features[key]; + if (buffer.length + val.length + 1 <= BYTE_LIMIT) { + if (buffer.length) { + buffer += "," + val; + } else { + buffer += val; + } + continue; + } + break; + } + return buffer; +} +var BYTE_LIMIT; +var init_encode_features = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/encode-features.js"() { + BYTE_LIMIT = 1024; + __name(encodeFeatures, "encodeFeatures"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/user-agent-middleware.js +var userAgentMiddleware, escapeUserAgent, getUserAgentMiddlewareOptions, getUserAgentPlugin; +var init_user_agent_middleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-user-agent/user-agent-middleware.js"() { + init_protocols(); + init_partition(); + init_check_features(); + init_constants4(); + init_encode_features(); + userAgentMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => { + const { request } = args; + if (!HttpRequest.isInstance(request)) { + return next(args); + } + const { headers } = request; + const userAgent = context?.userAgent?.map(escapeUserAgent) || []; + const defaultUserAgent2 = (await options.defaultUserAgentProvider()).map(escapeUserAgent); + await checkFeatures(context, options, args); + const awsContext = context; + defaultUserAgent2.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`); + const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || []; + const appId = await options.userAgentAppId(); + if (appId) { + defaultUserAgent2.push(escapeUserAgent([`app`, `${appId}`])); + } + const prefix = getUserAgentPrefix(); + const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent2, ...userAgent, ...customUserAgent]).join(SPACE); + const normalUAValue = [ + ...defaultUserAgent2.filter((section) => section.startsWith("aws-sdk-")), + ...customUserAgent + ].join(SPACE); + if (options.runtime !== "browser") { + if (normalUAValue) { + headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue; + } + headers[USER_AGENT] = sdkUserAgentValue; + } else { + headers[X_AMZ_USER_AGENT] = sdkUserAgentValue; + } + return next({ + ...args, + request + }); + }, "userAgentMiddleware"); + escapeUserAgent = /* @__PURE__ */ __name((userAgentPair) => { + const name2 = userAgentPair[0].split(UA_NAME_SEPARATOR).map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR); + const version2 = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR); + const prefixSeparatorIndex = name2.indexOf(UA_NAME_SEPARATOR); + const prefix = name2.substring(0, prefixSeparatorIndex); + let uaName = name2.substring(prefixSeparatorIndex + 1); + if (prefix === "api") { + uaName = uaName.toLowerCase(); + } + return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => { + switch (index) { + case 0: + return item; + case 1: + return `${acc}/${item}`; + default: + return `${acc}#${item}`; + } + }, ""); + }, "escapeUserAgent"); + getUserAgentMiddlewareOptions = { + name: "getUserAgentMiddleware", + step: "build", + priority: "low", + tags: ["SET_USER_AGENT", "USER_AGENT"], + override: true + }; + getUserAgentPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(userAgentMiddleware(config3), getUserAgentMiddlewareOptions); + }, "applyToStack") + }), "getUserAgentPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.js +import { versions } from "node:process"; +var getRuntimeUserAgentPair; +var init_getRuntimeUserAgentPair = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/getRuntimeUserAgentPair.js"() { + getRuntimeUserAgentPair = /* @__PURE__ */ __name(() => { + const runtimesToCheck = ["deno", "bun", "llrt"]; + for (const runtime3 of runtimesToCheck) { + if (versions[runtime3]) { + return [`md/${runtime3}`, versions[runtime3]]; + } + } + return ["md/nodejs", versions.node]; + }, "getRuntimeUserAgentPair"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/crt-availability.js +var crtAvailability; +var init_crt_availability = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/crt-availability.js"() { + crtAvailability = { + isCrtAvailable: false + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/is-crt-available.js +var isCrtAvailable; +var init_is_crt_available = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/is-crt-available.js"() { + init_crt_availability(); + isCrtAvailable = /* @__PURE__ */ __name(() => { + if (crtAvailability.isCrtAvailable) { + return ["md/crt-avail"]; + } + return null; + }, "isCrtAvailable"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/defaultUserAgent.js +import { platform, release } from "node:os"; +import { env as env2 } from "node:process"; +var createDefaultUserAgentProvider, defaultUserAgent; +var init_defaultUserAgent = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/defaultUserAgent.js"() { + init_getRuntimeUserAgentPair(); + init_is_crt_available(); + init_crt_availability(); + createDefaultUserAgentProvider = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => { + const runtimeUserAgentPair = getRuntimeUserAgentPair(); + return async (config3) => { + const sections = [ + ["aws-sdk-js", clientVersion], + ["ua", "2.1"], + [`os/${platform()}`, release()], + ["lang/js"], + runtimeUserAgentPair + ]; + const crtAvailable = isCrtAvailable(); + if (crtAvailable) { + sections.push(crtAvailable); + } + if (serviceId) { + sections.push([`api/${serviceId}`, clientVersion]); + } + if (env2.AWS_EXECUTION_ENV) { + sections.push([`exec-env/${env2.AWS_EXECUTION_ENV}`]); + } + const appId = await config3?.userAgentAppId?.(); + const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; + return resolvedUserAgent; + }; + }, "createDefaultUserAgentProvider"); + defaultUserAgent = createDefaultUserAgentProvider; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.js +var UA_APP_ID_ENV_NAME, UA_APP_ID_INI_NAME, UA_APP_ID_INI_NAME_DEPRECATED, NODE_APP_ID_CONFIG_OPTIONS; +var init_nodeAppIdConfigOptions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-node/nodeAppIdConfigOptions.js"() { + init_configurations2(); + UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; + UA_APP_ID_INI_NAME = "sdk_ua_app_id"; + UA_APP_ID_INI_NAME_DEPRECATED = "sdk-ua-app-id"; + NODE_APP_ID_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[UA_APP_ID_ENV_NAME], "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED], "configFileSelector"), + default: DEFAULT_UA_APP_ID + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.js +var createUserAgentStringParsingProvider; +var init_createUserAgentStringParsingProvider = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/createUserAgentStringParsingProvider.js"() { + createUserAgentStringParsingProvider = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => async (config3) => { + const module = await import("./es5-NIUGVEY6.js"); + const parse4 = module.parse ?? module.default.parse ?? (() => ""); + const parsedUA = typeof window !== "undefined" && window?.navigator?.userAgent ? parse4(window.navigator.userAgent) : void 0; + const sections = [ + ["aws-sdk-js", clientVersion], + ["ua", "2.1"], + [`os/${parsedUA?.os?.name || "other"}`, parsedUA?.os?.version], + ["lang/js"], + ["md/browser", `${parsedUA?.browser?.name ?? "unknown"}_${parsedUA?.browser?.version ?? "unknown"}`] + ]; + if (serviceId) { + sections.push([`api/${serviceId}`, clientVersion]); + } + const appId = await config3?.userAgentAppId?.(); + if (appId) { + sections.push([`app/${appId}`]); + } + return sections; + }, "createUserAgentStringParsingProvider"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js +var fallback; +var init_defaultUserAgent2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js"() { + fallback = { + os(ua) { + if (/iPhone|iPad|iPod/.test(ua)) + return "iOS"; + if (/Macintosh|Mac OS X/.test(ua)) + return "macOS"; + if (/Windows NT/.test(ua)) + return "Windows"; + if (/Android/.test(ua)) + return "Android"; + if (/Linux/.test(ua)) + return "Linux"; + return void 0; + }, + browser(ua) { + if (/EdgiOS|EdgA|Edg\//.test(ua)) + return "Microsoft Edge"; + if (/Firefox\//.test(ua)) + return "Firefox"; + if (/Chrome\//.test(ua)) + return "Chrome"; + if (/Safari\//.test(ua)) + return "Safari"; + return void 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/isIpAddress.js +var init_isIpAddress = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/isIpAddress.js"() { + init_endpoints(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.js +var isVirtualHostableS3Bucket; +var init_isVirtualHostableS3Bucket = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/isVirtualHostableS3Bucket.js"() { + init_endpoints(); + init_isIpAddress(); + isVirtualHostableS3Bucket = /* @__PURE__ */ __name((value, allowSubDomains = false) => { + if (allowSubDomains) { + for (const label of value.split(".")) { + if (!isVirtualHostableS3Bucket(label)) { + return false; + } + } + return true; + } + if (!isValidHostLabel(value)) { + return false; + } + if (value.length < 3 || value.length > 63) { + return false; + } + if (value !== value.toLowerCase()) { + return false; + } + if (isIpAddress(value)) { + return false; + } + return true; + }, "isVirtualHostableS3Bucket"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js +var ARN_DELIMITER, RESOURCE_DELIMITER, parseArn; +var init_parseArn = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js"() { + ARN_DELIMITER = ":"; + RESOURCE_DELIMITER = "/"; + parseArn = /* @__PURE__ */ __name((value) => { + const segments = value.split(ARN_DELIMITER); + if (segments.length < 6) + return null; + const [arn, partition2, service, region, accountId, ...resourcePath] = segments; + if (arn !== "arn" || partition2 === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "") + return null; + const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat(); + return { + partition: partition2, + service, + region, + accountId, + resourceId + }; + }, "parseArn"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/aws.js +var awsEndpointFunctions; +var init_aws = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/aws.js"() { + init_endpoints(); + init_isVirtualHostableS3Bucket(); + init_parseArn(); + init_partition(); + awsEndpointFunctions = { + isVirtualHostableS3Bucket, + parseArn, + partition + }; + customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveEndpoint.js +var init_resolveEndpoint = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveEndpoint.js"() { + init_endpoints(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.js +var resolveDefaultAwsRegionalEndpointsConfig, toEndpointV1; +var init_resolveDefaultAwsRegionalEndpointsConfig = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/resolveDefaultAwsRegionalEndpointsConfig.js"() { + init_protocols(); + resolveDefaultAwsRegionalEndpointsConfig = /* @__PURE__ */ __name((input2) => { + if (typeof input2.endpointProvider !== "function") { + throw new Error("@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client."); + } + const { endpoint } = input2; + if (endpoint === void 0) { + input2.endpoint = async () => { + return toEndpointV1(input2.endpointProvider({ + Region: typeof input2.region === "function" ? await input2.region() : input2.region, + UseDualStack: typeof input2.useDualstackEndpoint === "function" ? await input2.useDualstackEndpoint() : input2.useDualstackEndpoint, + UseFIPS: typeof input2.useFipsEndpoint === "function" ? await input2.useFipsEndpoint() : input2.useFipsEndpoint, + Endpoint: void 0 + }, { logger: input2.logger })); + }; + } + return input2; + }, "resolveDefaultAwsRegionalEndpointsConfig"); + toEndpointV1 = /* @__PURE__ */ __name((endpoint) => parseUrl(endpoint.url), "toEndpointV1"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/types/EndpointError.js +var init_EndpointError = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/types/EndpointError.js"() { + init_endpoints(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/awsRegionConfig.js +var init_awsRegionConfig = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/awsRegionConfig.js"() { + init_config(); + init_config(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/stsRegionDefaultResolver.js +function stsRegionDefaultResolver(loaderConfig = {}) { + return loadConfig({ + ...NODE_REGION_CONFIG_OPTIONS, + async default() { + if (!warning.silence) { + console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly."); + } + return "us-east-1"; + } + }, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }); +} +var warning; +var init_stsRegionDefaultResolver = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/stsRegionDefaultResolver.js"() { + init_config(); + __name(stsRegionDefaultResolver, "stsRegionDefaultResolver"); + warning = { + silence: false + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/extensions.js +var getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration; +var init_extensions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/region-config-resolver/extensions.js"() { + getAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + return { + setRegion(region) { + runtimeConfig.region = region; + }, + region() { + return runtimeConfig.region; + } + }; + }, "getAwsRegionExtensionConfiguration"); + resolveAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((awsRegionExtensionConfiguration) => { + return { + region: awsRegionExtensionConfiguration.region() + }; + }, "resolveAwsRegionExtensionConfiguration"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +var client_exports2 = {}; +__export(client_exports2, { + DEFAULT_UA_APP_ID: () => DEFAULT_UA_APP_ID, + EndpointError: () => EndpointError, + NODE_APP_ID_CONFIG_OPTIONS: () => NODE_APP_ID_CONFIG_OPTIONS, + NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS, + NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS, + REGION_ENV_NAME: () => REGION_ENV_NAME, + REGION_INI_NAME: () => REGION_INI_NAME, + UA_APP_ID_ENV_NAME: () => UA_APP_ID_ENV_NAME, + UA_APP_ID_INI_NAME: () => UA_APP_ID_INI_NAME, + awsEndpointFunctions: () => awsEndpointFunctions, + createDefaultUserAgentProvider: () => createDefaultUserAgentProvider, + createUserAgentStringParsingProvider: () => createUserAgentStringParsingProvider, + crtAvailability: () => crtAvailability, + defaultUserAgent: () => defaultUserAgent, + emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion2, + fallback: () => fallback, + getAwsRegionExtensionConfiguration: () => getAwsRegionExtensionConfiguration, + getHostHeaderPlugin: () => getHostHeaderPlugin, + getLoggerPlugin: () => getLoggerPlugin, + getLongPollPlugin: () => getLongPollPlugin, + getRecursionDetectionPlugin: () => getRecursionDetectionPlugin, + getUserAgentMiddlewareOptions: () => getUserAgentMiddlewareOptions, + getUserAgentPlugin: () => getUserAgentPlugin, + getUserAgentPrefix: () => getUserAgentPrefix, + hostHeaderMiddleware: () => hostHeaderMiddleware, + hostHeaderMiddlewareOptions: () => hostHeaderMiddlewareOptions, + isIpAddress: () => isIpAddress, + isVirtualHostableS3Bucket: () => isVirtualHostableS3Bucket, + loggerMiddleware: () => loggerMiddleware, + loggerMiddlewareOptions: () => loggerMiddlewareOptions, + parseArn: () => parseArn, + partition: () => partition, + recursionDetectionMiddleware: () => recursionDetectionMiddleware, + recursionDetectionMiddlewareOptions: () => recursionDetectionMiddlewareOptions, + resolveAwsRegionExtensionConfiguration: () => resolveAwsRegionExtensionConfiguration, + resolveDefaultAwsRegionalEndpointsConfig: () => resolveDefaultAwsRegionalEndpointsConfig, + resolveEndpoint: () => resolveEndpoint, + resolveHostHeaderConfig: () => resolveHostHeaderConfig, + resolveRegionConfig: () => resolveRegionConfig, + resolveUserAgentConfig: () => resolveUserAgentConfig, + setCredentialFeature: () => setCredentialFeature, + setFeature: () => setFeature, + setPartitionInfo: () => setPartitionInfo, + setTokenFeature: () => setTokenFeature, + state: () => state, + stsRegionDefaultResolver: () => stsRegionDefaultResolver, + stsRegionWarning: () => warning, + toEndpointV1: () => toEndpointV1, + useDefaultPartitionInfo: () => useDefaultPartitionInfo, + userAgentMiddleware: () => userAgentMiddleware +}); +var init_client2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js"() { + init_emitWarningIfUnsupportedVersion(); + init_longPollMiddleware(); + init_setCredentialFeature(); + init_setFeature(); + init_setTokenFeature(); + init_hostHeaderMiddleware(); + init_loggerMiddleware(); + init_configuration(); + init_getRecursionDetectionPlugin(); + init_recursionDetectionMiddleware(); + init_configurations2(); + init_user_agent_middleware(); + init_defaultUserAgent(); + init_nodeAppIdConfigOptions(); + init_defaultUserAgent2(); + init_createUserAgentStringParsingProvider(); + init_aws(); + init_resolveEndpoint(); + init_resolveDefaultAwsRegionalEndpointsConfig(); + init_isIpAddress(); + init_isVirtualHostableS3Bucket(); + init_parseArn(); + init_partition(); + init_EndpointError(); + init_awsRegionConfig(); + init_stsRegionDefaultResolver(); + init_extensions(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmForRequest.js +var getChecksumAlgorithmForRequest; +var init_getChecksumAlgorithmForRequest = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmForRequest.js"() { + init_constants(); + getChecksumAlgorithmForRequest = /* @__PURE__ */ __name((input2, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => { + if (!requestAlgorithmMember) { + return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired ? DEFAULT_CHECKSUM_ALGORITHM : void 0; + } + if (!input2[requestAlgorithmMember]) { + return void 0; + } + const checksumAlgorithm = input2[requestAlgorithmMember]; + return checksumAlgorithm; + }, "getChecksumAlgorithmForRequest"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumLocationName.js +var getChecksumLocationName; +var init_getChecksumLocationName = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumLocationName.js"() { + init_constants(); + getChecksumLocationName = /* @__PURE__ */ __name((algorithm) => algorithm === ChecksumAlgorithm.MD5 ? "content-md5" : `x-amz-checksum-${algorithm.toLowerCase()}`, "getChecksumLocationName"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeader.js +var hasHeader; +var init_hasHeader = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeader.js"() { + hasHeader = /* @__PURE__ */ __name((header, headers) => { + const soughtHeader = header.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (soughtHeader === headerName.toLowerCase()) { + return true; + } + } + return false; + }, "hasHeader"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeaderWithPrefix.js +var hasHeaderWithPrefix; +var init_hasHeaderWithPrefix = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/hasHeaderWithPrefix.js"() { + hasHeaderWithPrefix = /* @__PURE__ */ __name((headerPrefix, headers) => { + const soughtHeaderPrefix = headerPrefix.toLowerCase(); + for (const headerName of Object.keys(headers)) { + if (headerName.toLowerCase().startsWith(soughtHeaderPrefix)) { + return true; + } + } + return false; + }, "hasHeaderWithPrefix"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isStreaming.js +var isStreaming; +var init_isStreaming = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isStreaming.js"() { + init_serde(); + isStreaming = /* @__PURE__ */ __name((body) => body !== void 0 && typeof body !== "string" && !ArrayBuffer.isView(body) && !isArrayBuffer(body), "isStreaming"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cJs.js +var T, Crc32cJs; +var init_Crc32cJs = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cJs.js"() { + T = new Uint32Array(256); + for (let i5 = 0; i5 < 256; ++i5) { + let c5 = i5; + for (let j5 = 0; j5 < 8; ++j5) { + c5 = c5 & 1 ? 2197175160 ^ c5 >>> 1 : c5 >>> 1; + } + T[i5] = c5 >>> 0; + } + Crc32cJs = class { + static { + __name(this, "Crc32cJs"); + } + digestLength = 4; + crc = 4294967295; + update(data) { + let crc = this.crc; + for (let i5 = 0; i5 < data.length; ++i5) { + crc = crc >>> 8 ^ T[(crc ^ data[i5]) & 255]; + } + this.crc = crc; + } + async digest() { + const value = (this.crc ^ 4294967295) >>> 0; + const out = new Uint8Array(4); + out[0] = value >>> 24; + out[1] = value >>> 16 & 255; + out[2] = value >>> 8 & 255; + out[3] = value & 255; + return out; + } + reset() { + this.crc = 4294967295; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cNode.js +var Crc32cNode; +var init_Crc32cNode = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc32c/Crc32cNode.js"() { + init_Crc32cJs(); + Crc32cNode = Crc32cJs; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/crc64-nvme-crt-container.js +var crc64NvmeCrtContainer; +var init_crc64_nvme_crt_container = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/crc64-nvme-crt-container.js"() { + crc64NvmeCrtContainer = { + CrtCrc64Nvme: null + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64NvmeJs.js +var generateCRC64NVMETable, CRC64_NVME_REVERSED_TABLE, t0, t1, t2, t3, t4, t5, t6, t7, ensureTablesInitialized, Crc64NvmeJs; +var init_Crc64NvmeJs = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64NvmeJs.js"() { + generateCRC64NVMETable = /* @__PURE__ */ __name(() => { + const sliceLength = 8; + const tables = new Array(sliceLength); + for (let slice = 0; slice < sliceLength; slice++) { + const table = new Array(512); + for (let i5 = 0; i5 < 256; i5++) { + let crc = BigInt(i5); + for (let j5 = 0; j5 < 8 * (slice + 1); j5++) { + if (crc & 1n) { + crc = crc >> 1n ^ 0x9a6c9329ac4bc9b5n; + } else { + crc = crc >> 1n; + } + } + table[i5 * 2] = Number(crc >> 32n & 0xffffffffn); + table[i5 * 2 + 1] = Number(crc & 0xffffffffn); + } + tables[slice] = new Uint32Array(table); + } + return tables; + }, "generateCRC64NVMETable"); + ensureTablesInitialized = /* @__PURE__ */ __name(() => { + if (!CRC64_NVME_REVERSED_TABLE) { + CRC64_NVME_REVERSED_TABLE = generateCRC64NVMETable(); + [t0, t1, t2, t3, t4, t5, t6, t7] = CRC64_NVME_REVERSED_TABLE; + } + }, "ensureTablesInitialized"); + Crc64NvmeJs = class { + static { + __name(this, "Crc64NvmeJs"); + } + c1 = 0; + c2 = 0; + constructor() { + ensureTablesInitialized(); + this.reset(); + } + update(data) { + const len = data.length; + let i5 = 0; + let crc1 = this.c1; + let crc2 = this.c2; + while (i5 + 8 <= len) { + const idx0 = ((crc2 ^ data[i5++]) & 255) << 1; + const idx1 = ((crc2 >>> 8 ^ data[i5++]) & 255) << 1; + const idx2 = ((crc2 >>> 16 ^ data[i5++]) & 255) << 1; + const idx3 = ((crc2 >>> 24 ^ data[i5++]) & 255) << 1; + const idx4 = ((crc1 ^ data[i5++]) & 255) << 1; + const idx5 = ((crc1 >>> 8 ^ data[i5++]) & 255) << 1; + const idx6 = ((crc1 >>> 16 ^ data[i5++]) & 255) << 1; + const idx7 = ((crc1 >>> 24 ^ data[i5++]) & 255) << 1; + crc1 = t7[idx0] ^ t6[idx1] ^ t5[idx2] ^ t4[idx3] ^ t3[idx4] ^ t2[idx5] ^ t1[idx6] ^ t0[idx7]; + crc2 = t7[idx0 + 1] ^ t6[idx1 + 1] ^ t5[idx2 + 1] ^ t4[idx3 + 1] ^ t3[idx4 + 1] ^ t2[idx5 + 1] ^ t1[idx6 + 1] ^ t0[idx7 + 1]; + } + while (i5 < len) { + const idx = ((crc2 ^ data[i5]) & 255) << 1; + crc2 = (crc2 >>> 8 | (crc1 & 255) << 24) >>> 0; + crc1 = crc1 >>> 8 ^ t0[idx]; + crc2 ^= t0[idx + 1]; + ++i5; + } + this.c1 = crc1; + this.c2 = crc2; + } + async digest() { + const c1 = this.c1 ^ 4294967295; + const c22 = this.c2 ^ 4294967295; + return new Uint8Array([ + c1 >>> 24, + c1 >>> 16 & 255, + c1 >>> 8 & 255, + c1 & 255, + c22 >>> 24, + c22 >>> 16 & 255, + c22 >>> 8 & 255, + c22 & 255 + ]); + } + reset() { + this.c1 = 4294967295; + this.c2 = 4294967295; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64Nvme.js +var Crc64Nvme; +var init_Crc64Nvme = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/crc64-nvme/Crc64Nvme.js"() { + init_crc64_nvme_crt_container(); + init_Crc64NvmeJs(); + Crc64Nvme = class { + static { + __name(this, "Crc64Nvme"); + } + impl; + constructor() { + const Crt = crc64NvmeCrtContainer.CrtCrc64Nvme; + this.impl = Crt ? new Crt() : new Crc64NvmeJs(); + } + update(data) { + this.impl.update(data); + } + async digest() { + return this.impl.digest(); + } + reset() { + this.impl.reset(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/index.js +var init_crc = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/crc/index.js"() { + init_Crc32cNode(); + init_Crc64Nvme(); + init_checksum(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/types.js +var CLIENT_SUPPORTED_ALGORITHMS, PRIORITY_ORDER_ALGORITHMS; +var init_types = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/types.js"() { + init_constants(); + CLIENT_SUPPORTED_ALGORITHMS = [ + ChecksumAlgorithm.CRC32, + ChecksumAlgorithm.CRC32C, + ChecksumAlgorithm.CRC64NVME, + ChecksumAlgorithm.SHA1, + ChecksumAlgorithm.SHA256 + ]; + PRIORITY_ORDER_ALGORITHMS = [ + ChecksumAlgorithm.SHA256, + ChecksumAlgorithm.SHA1, + ChecksumAlgorithm.CRC32, + ChecksumAlgorithm.CRC32C, + ChecksumAlgorithm.CRC64NVME + ]; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/selectChecksumAlgorithmFunction.js +var selectChecksumAlgorithmFunction; +var init_selectChecksumAlgorithmFunction = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/selectChecksumAlgorithmFunction.js"() { + init_crc(); + init_constants(); + init_types(); + selectChecksumAlgorithmFunction = /* @__PURE__ */ __name((checksumAlgorithm, config3) => { + const { checksumAlgorithms = {} } = config3; + switch (checksumAlgorithm) { + case ChecksumAlgorithm.MD5: + return checksumAlgorithms?.MD5 ?? config3.md5; + case ChecksumAlgorithm.CRC32: + return checksumAlgorithms?.CRC32 ?? Crc32Node; + case ChecksumAlgorithm.CRC32C: + return checksumAlgorithms?.CRC32C ?? Crc32cNode; + case ChecksumAlgorithm.CRC64NVME: + return checksumAlgorithms?.CRC64NVME ?? Crc64Nvme; + case ChecksumAlgorithm.SHA1: + return checksumAlgorithms?.SHA1 ?? config3.sha1; + case ChecksumAlgorithm.SHA256: + return checksumAlgorithms?.SHA256 ?? config3.sha256; + default: + if (checksumAlgorithms?.[checksumAlgorithm]) { + return checksumAlgorithms[checksumAlgorithm]; + } + throw new Error(`The checksum algorithm "${checksumAlgorithm}" is not supported by the client. Select one of ${CLIENT_SUPPORTED_ALGORITHMS}, or provide an implementation to the client constructor checksums field.`); + } + }, "selectChecksumAlgorithmFunction"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringHasher.js +var stringHasher; +var init_stringHasher = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/stringHasher.js"() { + init_serde(); + stringHasher = /* @__PURE__ */ __name((checksumAlgorithmFn, body) => { + const hash3 = new checksumAlgorithmFn(); + hash3.update(toUint8Array(body || "")); + return hash3.digest(); + }, "stringHasher"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsMiddleware.js +var flexibleChecksumsMiddlewareOptions, flexibleChecksumsMiddleware; +var init_flexibleChecksumsMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsMiddleware.js"() { + init_client2(); + init_protocols(); + init_serde(); + init_constants(); + init_getChecksumAlgorithmForRequest(); + init_getChecksumLocationName(); + init_hasHeader(); + init_hasHeaderWithPrefix(); + init_isStreaming(); + init_selectChecksumAlgorithmFunction(); + init_stringHasher(); + flexibleChecksumsMiddlewareOptions = { + name: "flexibleChecksumsMiddleware", + step: "build", + tags: ["BODY_CHECKSUM"], + override: true + }; + flexibleChecksumsMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => { + if (!HttpRequest.isInstance(args.request)) { + return next(args); + } + if (hasHeaderWithPrefix("x-amz-checksum-", args.request.headers)) { + return next(args); + } + const { request, input: input2 } = args; + const { body: requestBody, headers } = request; + const { base64Encoder, streamHasher } = config3; + const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig; + const requestChecksumCalculation = await config3.requestChecksumCalculation(); + const requestAlgorithmMemberName = requestAlgorithmMember?.name; + const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader; + if (requestAlgorithmMemberName && !input2[requestAlgorithmMemberName]) { + if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) { + input2[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM; + if (requestAlgorithmMemberHttpHeader) { + headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM; + } + } + } + const checksumAlgorithm = getChecksumAlgorithmForRequest(input2, { + requestChecksumRequired, + requestAlgorithmMember: requestAlgorithmMember?.name, + requestChecksumCalculation + }); + let updatedBody = requestBody; + let updatedHeaders = headers; + if (checksumAlgorithm) { + switch (checksumAlgorithm) { + case ChecksumAlgorithm.CRC32: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32", "U"); + break; + case ChecksumAlgorithm.CRC32C: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC32C", "V"); + break; + case ChecksumAlgorithm.CRC64NVME: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_CRC64", "W"); + break; + case ChecksumAlgorithm.SHA1: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_SHA1", "X"); + break; + case ChecksumAlgorithm.SHA256: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_SHA256", "Y"); + break; + } + const checksumLocationName = getChecksumLocationName(checksumAlgorithm); + const checksumAlgorithmFn = selectChecksumAlgorithmFunction(checksumAlgorithm, config3); + if (isStreaming(requestBody)) { + const { getAwsChunkedEncodingStream, bodyLengthChecker } = config3; + updatedBody = getAwsChunkedEncodingStream(typeof config3.requestStreamBufferSize === "number" && config3.requestStreamBufferSize >= 8 * 1024 ? createBufferedReadable(requestBody, config3.requestStreamBufferSize, context.logger) : requestBody, { + base64Encoder, + bodyLengthChecker, + checksumLocationName, + checksumAlgorithmFn, + streamHasher + }); + updatedHeaders = { + ...headers, + "content-encoding": headers["content-encoding"] ? `${headers["content-encoding"]},aws-chunked` : "aws-chunked", + "transfer-encoding": "chunked", + "x-amz-decoded-content-length": headers["content-length"], + "x-amz-content-sha256": "STREAMING-UNSIGNED-PAYLOAD-TRAILER", + "x-amz-trailer": checksumLocationName + }; + delete updatedHeaders["content-length"]; + } else if (!hasHeader(checksumLocationName, headers)) { + const rawChecksum = await stringHasher(checksumAlgorithmFn, requestBody); + updatedHeaders = { + ...headers, + [checksumLocationName]: base64Encoder(rawChecksum) + }; + } + } + try { + const result = await next({ + ...args, + request: { + ...request, + headers: updatedHeaders, + body: updatedBody + } + }); + return result; + } catch (e5) { + if (e5 instanceof Error && e5.name === "InvalidChunkSizeError") { + try { + if (!e5.message.endsWith(".")) { + e5.message += "."; + } + e5.message += " Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream."; + } catch (ignored) { + } + } + throw e5; + } + }, "flexibleChecksumsMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsInputMiddleware.js +var flexibleChecksumsInputMiddlewareOptions, flexibleChecksumsInputMiddleware; +var init_flexibleChecksumsInputMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsInputMiddleware.js"() { + init_client2(); + init_constants(); + flexibleChecksumsInputMiddlewareOptions = { + name: "flexibleChecksumsInputMiddleware", + toMiddleware: "serializerMiddleware", + relation: "before", + tags: ["BODY_CHECKSUM"], + override: true + }; + flexibleChecksumsInputMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => { + const input2 = args.input; + const { requestValidationModeMember } = middlewareConfig; + const requestChecksumCalculation = await config3.requestChecksumCalculation(); + const responseChecksumValidation = await config3.responseChecksumValidation(); + switch (requestChecksumCalculation) { + case RequestChecksumCalculation.WHEN_REQUIRED: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a"); + break; + case RequestChecksumCalculation.WHEN_SUPPORTED: + setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z"); + break; + } + switch (responseChecksumValidation) { + case ResponseChecksumValidation.WHEN_REQUIRED: + setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED", "c"); + break; + case ResponseChecksumValidation.WHEN_SUPPORTED: + setFeature(context, "FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED", "b"); + break; + } + if (requestValidationModeMember && !input2[requestValidationModeMember]) { + if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) { + input2[requestValidationModeMember] = "ENABLED"; + } + } + return next(args); + }, "flexibleChecksumsInputMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmListForResponse.js +var getChecksumAlgorithmListForResponse; +var init_getChecksumAlgorithmListForResponse = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksumAlgorithmListForResponse.js"() { + init_types(); + getChecksumAlgorithmListForResponse = /* @__PURE__ */ __name((responseAlgorithms = []) => { + const validChecksumAlgorithms = []; + let i5 = PRIORITY_ORDER_ALGORITHMS.length; + for (const algorithm of responseAlgorithms) { + const priority = PRIORITY_ORDER_ALGORITHMS.indexOf(algorithm); + if (priority !== -1) { + validChecksumAlgorithms[priority] = algorithm; + } else { + validChecksumAlgorithms[i5++] = algorithm; + } + } + return validChecksumAlgorithms.filter(Boolean); + }, "getChecksumAlgorithmListForResponse"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isChecksumWithPartNumber.js +var isChecksumWithPartNumber; +var init_isChecksumWithPartNumber = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/isChecksumWithPartNumber.js"() { + isChecksumWithPartNumber = /* @__PURE__ */ __name((checksum) => { + const lastHyphenIndex = checksum.lastIndexOf("-"); + if (lastHyphenIndex !== -1) { + const numberPart = checksum.slice(lastHyphenIndex + 1); + if (!numberPart.startsWith("0")) { + const number4 = parseInt(numberPart, 10); + if (!isNaN(number4) && number4 >= 1 && number4 <= 1e4) { + return true; + } + } + } + return false; + }, "isChecksumWithPartNumber"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksum.js +var getChecksum; +var init_getChecksum = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getChecksum.js"() { + init_stringHasher(); + getChecksum = /* @__PURE__ */ __name(async (body, { checksumAlgorithmFn, base64Encoder }) => base64Encoder(await stringHasher(checksumAlgorithmFn, body)), "getChecksum"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/validateChecksumFromResponse.js +var validateChecksumFromResponse; +var init_validateChecksumFromResponse = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/validateChecksumFromResponse.js"() { + init_serde(); + init_constants(); + init_getChecksum(); + init_getChecksumAlgorithmListForResponse(); + init_getChecksumLocationName(); + init_isStreaming(); + init_selectChecksumAlgorithmFunction(); + validateChecksumFromResponse = /* @__PURE__ */ __name(async (response, { config: config3, responseAlgorithms, logger }) => { + const checksumAlgorithms = getChecksumAlgorithmListForResponse(responseAlgorithms); + const { body: responseBody, headers: responseHeaders } = response; + for (const algorithm of checksumAlgorithms) { + const responseHeader = getChecksumLocationName(algorithm); + const checksumFromResponse = responseHeaders[responseHeader]; + if (checksumFromResponse) { + let checksumAlgorithmFn; + try { + checksumAlgorithmFn = selectChecksumAlgorithmFunction(algorithm, config3); + } catch (error62) { + if (algorithm === ChecksumAlgorithm.CRC64NVME) { + logger?.warn(`Skipping ${ChecksumAlgorithm.CRC64NVME} checksum validation: ${error62.message}`); + continue; + } + throw error62; + } + const { base64Encoder } = config3; + if (isStreaming(responseBody)) { + response.body = createChecksumStream({ + expectedChecksum: checksumFromResponse, + checksumSourceLocation: responseHeader, + checksum: new checksumAlgorithmFn(), + source: responseBody, + base64Encoder + }); + return; + } + const checksum = await getChecksum(responseBody, { checksumAlgorithmFn, base64Encoder }); + if (checksum === checksumFromResponse) { + break; + } + throw new Error(`Checksum mismatch: expected "${checksum}" but received "${checksumFromResponse}" in response header "${responseHeader}".`); + } + } + }, "validateChecksumFromResponse"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsResponseMiddleware.js +var flexibleChecksumsResponseMiddlewareOptions, flexibleChecksumsResponseMiddleware; +var init_flexibleChecksumsResponseMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/flexibleChecksumsResponseMiddleware.js"() { + init_protocols(); + init_getChecksumAlgorithmListForResponse(); + init_getChecksumLocationName(); + init_isChecksumWithPartNumber(); + init_validateChecksumFromResponse(); + flexibleChecksumsResponseMiddlewareOptions = { + name: "flexibleChecksumsResponseMiddleware", + toMiddleware: "deserializerMiddleware", + relation: "after", + tags: ["BODY_CHECKSUM"], + override: true + }; + flexibleChecksumsResponseMiddleware = /* @__PURE__ */ __name((config3, middlewareConfig) => (next, context) => async (args) => { + if (!HttpRequest.isInstance(args.request)) { + return next(args); + } + const input2 = args.input; + const result = await next(args); + const response = result.response; + const { requestValidationModeMember, responseAlgorithms } = middlewareConfig; + if (requestValidationModeMember && input2[requestValidationModeMember] === "ENABLED") { + const { clientName, commandName } = context; + const customChecksumAlgorithms = Object.keys(config3.checksumAlgorithms ?? {}).filter((algorithm) => { + const responseHeader = getChecksumLocationName(algorithm); + return response.headers[responseHeader] !== void 0; + }); + const algoList = getChecksumAlgorithmListForResponse([ + ...responseAlgorithms ?? [], + ...customChecksumAlgorithms + ]); + const isS3WholeObjectMultipartGetResponseChecksum = clientName === "S3Client" && commandName === "GetObjectCommand" && algoList.every((algorithm) => { + const responseHeader = getChecksumLocationName(algorithm); + const checksumFromResponse = response.headers[responseHeader]; + return !checksumFromResponse || isChecksumWithPartNumber(checksumFromResponse); + }); + if (isS3WholeObjectMultipartGetResponseChecksum) { + return result; + } + await validateChecksumFromResponse(response, { + config: config3, + responseAlgorithms: algoList, + logger: context.logger + }); + } + return result; + }, "flexibleChecksumsResponseMiddleware"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getFlexibleChecksumsPlugin.js +var getFlexibleChecksumsPlugin; +var init_getFlexibleChecksumsPlugin = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/getFlexibleChecksumsPlugin.js"() { + init_flexibleChecksumsInputMiddleware(); + init_flexibleChecksumsMiddleware(); + init_flexibleChecksumsResponseMiddleware(); + getFlexibleChecksumsPlugin = /* @__PURE__ */ __name((config3, middlewareConfig) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(flexibleChecksumsMiddleware(config3, middlewareConfig), flexibleChecksumsMiddlewareOptions); + clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config3, middlewareConfig), flexibleChecksumsInputMiddlewareOptions); + clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config3, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions); + }, "applyToStack") + }), "getFlexibleChecksumsPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/resolveFlexibleChecksumsConfig.js +var resolveFlexibleChecksumsConfig; +var init_resolveFlexibleChecksumsConfig = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/resolveFlexibleChecksumsConfig.js"() { + init_client(); + init_constants(); + resolveFlexibleChecksumsConfig = /* @__PURE__ */ __name((input2) => { + const { requestChecksumCalculation, responseChecksumValidation, requestStreamBufferSize } = input2; + return Object.assign(input2, { + requestChecksumCalculation: normalizeProvider(requestChecksumCalculation ?? DEFAULT_REQUEST_CHECKSUM_CALCULATION), + responseChecksumValidation: normalizeProvider(responseChecksumValidation ?? DEFAULT_RESPONSE_CHECKSUM_VALIDATION), + requestStreamBufferSize: Number(requestStreamBufferSize ?? 0), + checksumAlgorithms: input2.checksumAlgorithms ?? {} + }); + }, "resolveFlexibleChecksumsConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/index.js +var flexible_checksums_exports = {}; +__export(flexible_checksums_exports, { + CONFIG_REQUEST_CHECKSUM_CALCULATION: () => CONFIG_REQUEST_CHECKSUM_CALCULATION, + CONFIG_RESPONSE_CHECKSUM_VALIDATION: () => CONFIG_RESPONSE_CHECKSUM_VALIDATION, + ChecksumAlgorithm: () => ChecksumAlgorithm, + ChecksumLocation: () => ChecksumLocation, + DEFAULT_CHECKSUM_ALGORITHM: () => DEFAULT_CHECKSUM_ALGORITHM, + DEFAULT_REQUEST_CHECKSUM_CALCULATION: () => DEFAULT_REQUEST_CHECKSUM_CALCULATION, + DEFAULT_RESPONSE_CHECKSUM_VALIDATION: () => DEFAULT_RESPONSE_CHECKSUM_VALIDATION, + ENV_REQUEST_CHECKSUM_CALCULATION: () => ENV_REQUEST_CHECKSUM_CALCULATION, + ENV_RESPONSE_CHECKSUM_VALIDATION: () => ENV_RESPONSE_CHECKSUM_VALIDATION, + NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS: () => NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS, + NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: () => NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS, + RequestChecksumCalculation: () => RequestChecksumCalculation, + ResponseChecksumValidation: () => ResponseChecksumValidation, + flexibleChecksumsMiddleware: () => flexibleChecksumsMiddleware, + flexibleChecksumsMiddlewareOptions: () => flexibleChecksumsMiddlewareOptions, + getFlexibleChecksumsPlugin: () => getFlexibleChecksumsPlugin, + resolveFlexibleChecksumsConfig: () => resolveFlexibleChecksumsConfig +}); +var init_flexible_checksums = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/flexible-checksums/index.js"() { + init_NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS(); + init_NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS(); + init_constants(); + init_flexibleChecksumsMiddleware(); + init_getFlexibleChecksumsPlugin(); + init_resolveFlexibleChecksumsConfig(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-check-content-length-header/check-content-length-header.js +function checkContentLengthHeader() { + return (next, context) => async (args) => { + const { request } = args; + if (HttpRequest.isInstance(request)) { + if (!(CONTENT_LENGTH_HEADER2 in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) { + const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`; + if (typeof context?.logger?.warn === "function" && !(context.logger instanceof NoOpLogger)) { + context.logger.warn(message); + } else { + console.warn(message); + } + } + } + return next({ ...args }); + }; +} +var CONTENT_LENGTH_HEADER2, DECODED_CONTENT_LENGTH_HEADER, checkContentLengthHeaderMiddlewareOptions, getCheckContentLengthHeaderPlugin; +var init_check_content_length_header = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-check-content-length-header/check-content-length-header.js"() { + init_client(); + init_protocols(); + CONTENT_LENGTH_HEADER2 = "content-length"; + DECODED_CONTENT_LENGTH_HEADER = "x-amz-decoded-content-length"; + __name(checkContentLengthHeader, "checkContentLengthHeader"); + checkContentLengthHeaderMiddlewareOptions = { + step: "finalizeRequest", + tags: ["CHECK_CONTENT_LENGTH_HEADER"], + name: "getCheckContentLengthHeaderPlugin", + override: true + }; + getCheckContentLengthHeaderPlugin = /* @__PURE__ */ __name((unused) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions); + }, "applyToStack") + }), "getCheckContentLengthHeaderPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-endpoint-middleware.js +var regionRedirectEndpointMiddleware, regionRedirectEndpointMiddlewareOptions; +var init_region_redirect_endpoint_middleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-endpoint-middleware.js"() { + regionRedirectEndpointMiddleware = /* @__PURE__ */ __name((config3) => { + return (next, context) => async (args) => { + const originalRegion = await config3.region(); + const regionProviderRef = config3.region; + let unlock = /* @__PURE__ */ __name(() => { + }, "unlock"); + if (context.__s3RegionRedirect) { + Object.defineProperty(config3, "region", { + writable: false, + value: /* @__PURE__ */ __name(async () => { + return context.__s3RegionRedirect; + }, "value") + }); + unlock = /* @__PURE__ */ __name(() => Object.defineProperty(config3, "region", { + writable: true, + value: regionProviderRef + }), "unlock"); + } + try { + const result = await next(args); + if (context.__s3RegionRedirect) { + unlock(); + const region = await config3.region(); + if (originalRegion !== region) { + throw new Error("Region was not restored following S3 region redirect."); + } + } + return result; + } catch (e5) { + unlock(); + throw e5; + } + }; + }, "regionRedirectEndpointMiddleware"); + regionRedirectEndpointMiddlewareOptions = { + tags: ["REGION_REDIRECT", "S3"], + name: "regionRedirectEndpointMiddleware", + override: true, + relation: "before", + toMiddleware: "endpointV2Middleware" + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-middleware.js +function regionRedirectMiddleware(clientConfig) { + return (next, context) => async (args) => { + try { + return await next(args); + } catch (err) { + if (clientConfig.followRegionRedirects) { + const statusCode = err?.$metadata?.httpStatusCode; + const isHeadBucket = context.commandName === "HeadBucketCommand"; + const bucketRegionHeader = err?.$response?.headers?.["x-amz-bucket-region"]; + if (bucketRegionHeader) { + if (statusCode === 301 || statusCode === 400 && (err?.name === "IllegalLocationConstraintException" || isHeadBucket)) { + try { + const actualRegion = bucketRegionHeader; + context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`); + context.__s3RegionRedirect = actualRegion; + setFeature(context, "S3_REGION_REDIRECT", "Ah"); + } catch (e5) { + throw new Error("Region redirect failed: " + e5); + } + return next(args); + } + } + } + throw err; + } + }; +} +var regionRedirectMiddlewareOptions, getRegionRedirectMiddlewarePlugin; +var init_region_redirect_middleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/region-redirect-middleware.js"() { + init_client2(); + init_region_redirect_endpoint_middleware(); + __name(regionRedirectMiddleware, "regionRedirectMiddleware"); + regionRedirectMiddlewareOptions = { + step: "initialize", + tags: ["REGION_REDIRECT", "S3"], + name: "regionRedirectMiddleware", + override: true + }; + getRegionRedirectMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions); + clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions); + }, "applyToStack") + }), "getRegionRedirectMiddlewarePlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCache.js +var S3ExpressIdentityCache; +var init_S3ExpressIdentityCache = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCache.js"() { + S3ExpressIdentityCache = class _S3ExpressIdentityCache { + static { + __name(this, "S3ExpressIdentityCache"); + } + data; + lastPurgeTime = Date.now(); + static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 3e4; + constructor(data = {}) { + this.data = data; + } + get(key) { + const entry = this.data[key]; + if (!entry) { + return; + } + return entry; + } + set(key, entry) { + this.data[key] = entry; + return entry; + } + delete(key) { + delete this.data[key]; + } + async purgeExpired() { + const now = Date.now(); + if (this.lastPurgeTime + _S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) { + return; + } + for (const key in this.data) { + const entry = this.data[key]; + if (!entry.isRefreshing) { + const credential = await entry.identity; + if (credential.expiration) { + if (credential.expiration.getTime() < now) { + delete this.data[key]; + } + } + } + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCacheEntry.js +var S3ExpressIdentityCacheEntry; +var init_S3ExpressIdentityCacheEntry = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityCacheEntry.js"() { + S3ExpressIdentityCacheEntry = class { + static { + __name(this, "S3ExpressIdentityCacheEntry"); + } + _identity; + isRefreshing; + accessed; + constructor(_identity, isRefreshing = false, accessed = Date.now()) { + this._identity = _identity; + this.isRefreshing = isRefreshing; + this.accessed = accessed; + } + get identity() { + this.accessed = Date.now(); + return this._identity; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityProviderImpl.js +var S3ExpressIdentityProviderImpl; +var init_S3ExpressIdentityProviderImpl = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/S3ExpressIdentityProviderImpl.js"() { + init_S3ExpressIdentityCache(); + init_S3ExpressIdentityCacheEntry(); + S3ExpressIdentityProviderImpl = class _S3ExpressIdentityProviderImpl { + static { + __name(this, "S3ExpressIdentityProviderImpl"); + } + createSessionFn; + cache; + static REFRESH_WINDOW_MS = 6e4; + constructor(createSessionFn, cache5 = new S3ExpressIdentityCache()) { + this.createSessionFn = createSessionFn; + this.cache = cache5; + } + async getS3ExpressIdentity(awsIdentity, identityProperties) { + const key = identityProperties.Bucket; + const { cache: cache5 } = this; + const entry = cache5.get(key); + if (entry) { + return entry.identity.then((identity) => { + const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now(); + if (isExpired) { + return cache5.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity; + } + const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + _S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS; + if (isExpiringSoon && !entry.isRefreshing) { + entry.isRefreshing = true; + this.getIdentity(key).then((id) => { + cache5.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id))); + }); + } + return identity; + }); + } + return cache5.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity; + } + async getIdentity(key) { + await this.cache.purgeExpired().catch((error62) => { + console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n" + error62); + }); + const session = await this.createSessionFn(key); + if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) { + throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey."); + } + const identity = { + accessKeyId: session.Credentials.AccessKeyId, + secretAccessKey: session.Credentials.SecretAccessKey, + sessionToken: session.Credentials.SessionToken, + expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : void 0 + }; + return identity; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-configuration/s3Configuration.js +var resolveS3Config; +var init_s3Configuration = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-configuration/s3Configuration.js"() { + init_S3ExpressIdentityProviderImpl(); + resolveS3Config = /* @__PURE__ */ __name((input2, { session }) => { + const [s3ClientProvider, CreateSessionCommandCtor] = session; + const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader } = input2; + return Object.assign(input2, { + forcePathStyle: forcePathStyle ?? false, + useAccelerateEndpoint: useAccelerateEndpoint ?? false, + disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false, + followRegionRedirects: followRegionRedirects ?? false, + s3ExpressIdentityProvider: s3ExpressIdentityProvider ?? new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({ + Bucket: key + }))), + bucketEndpoint: bucketEndpoint ?? false, + expectContinueHeader: expectContinueHeader ?? 2097152 + }); + }, "resolveS3Config"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-expires/s3-expires-middleware.js +var s3ExpiresMiddleware, s3ExpiresMiddlewareOptions, getS3ExpiresMiddlewarePlugin; +var init_s3_expires_middleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-expires/s3-expires-middleware.js"() { + init_protocols(); + init_serde(); + s3ExpiresMiddleware = /* @__PURE__ */ __name((config3) => { + return (next, context) => async (args) => { + const result = await next(args); + const { response } = result; + if (HttpResponse.isInstance(response)) { + if (response.headers.expires) { + response.headers.expiresstring = response.headers.expires; + try { + parseRfc7231DateTime(response.headers.expires); + } catch (e5) { + context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e5}`); + delete response.headers.expires; + } + } + } + return result; + }; + }, "s3ExpiresMiddleware"); + s3ExpiresMiddlewareOptions = { + tags: ["S3"], + name: "s3ExpiresMiddleware", + override: true, + relation: "after", + toMiddleware: "deserializerMiddleware" + }; + getS3ExpiresMiddlewarePlugin = /* @__PURE__ */ __name((clientConfig) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions); + }, "applyToStack") + }), "getS3ExpiresMiddlewarePlugin"); + } +}); + +// ../../node_modules/.pnpm/@smithy+signature-v4@5.7.4/node_modules/@smithy/signature-v4/dist-cjs/index.js +var require_dist_cjs2 = __commonJS({ + "../../node_modules/.pnpm/@smithy+signature-v4@5.7.4/node_modules/@smithy/signature-v4/dist-cjs/index.js"(exports) { + var { hasOwn: hasOwn2, fromUtf8: fromUtf82, fromHex, toHex, toUint8Array: toUint8Array2, isArrayBuffer: isArrayBuffer2 } = (init_serde(), __toCommonJS(serde_exports)); + var { normalizeProvider: normalizeProvider3 } = (init_client(), __toCommonJS(client_exports)); + var { escapeUri: escapeUri2, HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var HeaderFormatter = class { + static { + __name(this, "HeaderFormatter"); + } + format(headers) { + const chunks = []; + for (const headerName in headers) { + if (!hasOwn2(headers, headerName)) + continue; + const bytes = fromUtf82(headerName); + chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName])); + } + const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0)); + let position = 0; + for (const chunk of chunks) { + out.set(chunk, position); + position += chunk.byteLength; + } + return out; + } + formatHeaderValue(header) { + switch (header.type) { + case "boolean": + return Uint8Array.from([header.value ? 0 : 1]); + case "byte": + return Uint8Array.from([2, header.value]); + case "short": + const shortView = new DataView(new ArrayBuffer(3)); + shortView.setUint8(0, 3); + shortView.setInt16(1, header.value, false); + return new Uint8Array(shortView.buffer); + case "integer": + const intView = new DataView(new ArrayBuffer(5)); + intView.setUint8(0, 4); + intView.setInt32(1, header.value, false); + return new Uint8Array(intView.buffer); + case "long": + const longBytes = new Uint8Array(9); + longBytes[0] = 5; + longBytes.set(header.value.bytes, 1); + return longBytes; + case "binary": + const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength)); + binView.setUint8(0, 6); + binView.setUint16(1, header.value.byteLength, false); + const binBytes = new Uint8Array(binView.buffer); + binBytes.set(header.value, 3); + return binBytes; + case "string": + const utf8Bytes = fromUtf82(header.value); + const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength)); + strView.setUint8(0, 7); + strView.setUint16(1, utf8Bytes.byteLength, false); + const strBytes = new Uint8Array(strView.buffer); + strBytes.set(utf8Bytes, 3); + return strBytes; + case "timestamp": + const tsBytes = new Uint8Array(9); + tsBytes[0] = 8; + tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1); + return tsBytes; + case "uuid": + if (!UUID_PATTERN.test(header.value)) { + throw new Error(`Invalid UUID received: ${header.value}`); + } + const uuidBytes = new Uint8Array(17); + uuidBytes[0] = 9; + uuidBytes.set(fromHex(header.value.replace(/-/g, "")), 1); + return uuidBytes; + } + } + }; + var HEADER_VALUE_TYPE; + (function(HEADER_VALUE_TYPE2) { + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolTrue"] = 0] = "boolTrue"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["boolFalse"] = 1] = "boolFalse"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byte"] = 2] = "byte"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["short"] = 3] = "short"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["integer"] = 4] = "integer"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["long"] = 5] = "long"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["byteArray"] = 6] = "byteArray"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["string"] = 7] = "string"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["timestamp"] = 8] = "timestamp"; + HEADER_VALUE_TYPE2[HEADER_VALUE_TYPE2["uuid"] = 9] = "uuid"; + })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {})); + var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/; + var Int64 = class _Int64 { + static { + __name(this, "Int64"); + } + bytes; + constructor(bytes) { + this.bytes = bytes; + if (bytes.byteLength !== 8) { + throw new Error("Int64 buffers must be exactly 8 bytes"); + } + } + static fromNumber(number4) { + if (number4 > 9223372036854776e3 || number4 < -9223372036854776e3) { + throw new Error(`${number4} is too large (or, if negative, too small) to represent as an Int64`); + } + const bytes = new Uint8Array(8); + for (let i5 = 7, remaining = Math.abs(Math.round(number4)); i5 > -1 && remaining > 0; i5--, remaining /= 256) { + bytes[i5] = remaining; + } + if (number4 < 0) { + negate(bytes); + } + return new _Int64(bytes); + } + valueOf() { + const bytes = this.bytes.slice(0); + const negative = bytes[0] & 128; + if (negative) { + negate(bytes); + } + return parseInt(toHex(bytes), 16) * (negative ? -1 : 1); + } + toString() { + return String(this.valueOf()); + } + }; + function negate(bytes) { + for (let i5 = 0; i5 < 8; i5++) { + bytes[i5] ^= 255; + } + for (let i5 = 7; i5 > -1; i5--) { + bytes[i5]++; + if (bytes[i5] !== 0) + break; + } + } + __name(negate, "negate"); + var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm"; + var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential"; + var AMZ_DATE_QUERY_PARAM = "X-Amz-Date"; + var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders"; + var EXPIRES_QUERY_PARAM = "X-Amz-Expires"; + var SIGNATURE_QUERY_PARAM = "X-Amz-Signature"; + var TOKEN_QUERY_PARAM = "X-Amz-Security-Token"; + var REGION_SET_PARAM = "X-Amz-Region-Set"; + var AUTH_HEADER = "authorization"; + var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase(); + var DATE_HEADER = "date"; + var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER]; + var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase(); + var SHA256_HEADER = "x-amz-content-sha256"; + var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase(); + var HOST_HEADER = "host"; + var ALWAYS_UNSIGNABLE_HEADERS = { + authorization: true, + "cache-control": true, + connection: true, + expect: true, + from: true, + "keep-alive": true, + "max-forwards": true, + pragma: true, + referer: true, + te: true, + trailer: true, + "transfer-encoding": true, + upgrade: true, + "user-agent": true, + "x-amzn-trace-id": true + }; + var PROXY_HEADER_PATTERN = /^proxy-/; + var SEC_HEADER_PATTERN = /^sec-/; + var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i]; + var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256"; + var ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256"; + var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD"; + var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; + var MAX_CACHE_SIZE = 50; + var KEY_TYPE_IDENTIFIER = "aws4_request"; + var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7; + var getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => { + const keys = []; + const serialized = {}; + for (const key in query) { + if (!hasOwn2(query, key)) + continue; + if (key.toLowerCase() === SIGNATURE_HEADER) { + continue; + } + const encodedKey = escapeUri2(key); + keys.push(encodedKey); + const value = query[key]; + if (typeof value === "string") { + serialized[encodedKey] = `${encodedKey}=${escapeUri2(value)}`; + } else if (Array.isArray(value)) { + serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${escapeUri2(value2)}`]), []).sort().join("&"); + } + } + return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join("&"); + }, "getCanonicalQuery"); + var iso8601 = /* @__PURE__ */ __name((time3) => toDate(time3).toISOString().replace(/\.\d{3}Z$/, "Z"), "iso8601"); + var toDate = /* @__PURE__ */ __name((time3) => { + if (typeof time3 === "number") { + return new Date(time3 * 1e3); + } + if (typeof time3 === "string") { + if (Number(time3)) { + return new Date(Number(time3) * 1e3); + } + return new Date(time3); + } + return time3; + }, "toDate"); + var SignatureV4Base = class { + static { + __name(this, "SignatureV4Base"); + } + service; + regionProvider; + credentialProvider; + sha256; + uriEscapePath; + applyChecksum; + constructor({ applyChecksum, credentials, region, service, sha256: sha2562, uriEscapePath = true }) { + this.service = service; + this.sha256 = sha2562; + this.uriEscapePath = uriEscapePath; + this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; + this.regionProvider = normalizeProvider3(region); + this.credentialProvider = normalizeProvider3(credentials); + } + createCanonicalRequest(request, canonicalHeaders, payloadHash) { + const sortedHeaders = Object.keys(canonicalHeaders).sort(); + return `${request.method} +${this.getCanonicalPath(request)} +${getCanonicalQuery(request)} +${sortedHeaders.map((name2) => `${name2}:${canonicalHeaders[name2]}`).join("\n")} + +${sortedHeaders.join(";")} +${payloadHash}`; + } + async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) { + const hash3 = new this.sha256(); + hash3.update(toUint8Array2(canonicalRequest)); + const hashedRequest = await hash3.digest(); + return `${algorithmIdentifier} +${longDate} +${credentialScope} +${toHex(hashedRequest)}`; + } + getCanonicalPath({ path: path2 }) { + if (this.uriEscapePath) { + const normalizedPathSegments = []; + for (const pathSegment of path2.split("/")) { + if (pathSegment?.length === 0) + continue; + if (pathSegment === ".") + continue; + if (pathSegment === "..") { + normalizedPathSegments.pop(); + } else { + normalizedPathSegments.push(pathSegment); + } + } + const normalizedPath = `${path2?.startsWith("/") ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && path2?.endsWith("/") ? "/" : ""}`; + const doubleEncoded = escapeUri2(normalizedPath); + return doubleEncoded.replace(/%2F/g, "/"); + } + return path2; + } + validateResolvedCredentials(credentials) { + if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") { + throw new Error("Resolved credential object is not valid"); + } + } + formatDate(now) { + const longDate = iso8601(now).replace(/[-:]/g, ""); + return { + longDate, + shortDate: longDate.slice(0, 8) + }; + } + getCanonicalHeaderList(headers) { + return Object.keys(headers).sort().join(";"); + } + }; + var signingKeyCache = {}; + var cacheQueue = []; + var createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, "createScope"); + var getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => { + const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId); + const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`; + if (cacheKey in signingKeyCache) { + return signingKeyCache[cacheKey]; + } + cacheQueue.push(cacheKey); + while (cacheQueue.length > MAX_CACHE_SIZE) { + delete signingKeyCache[cacheQueue.shift()]; + } + let key = `AWS4${credentials.secretAccessKey}`; + for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) { + key = await hmac(sha256Constructor, key, signable); + } + return signingKeyCache[cacheKey] = key; + }, "getSigningKey"); + var clearCredentialCache = /* @__PURE__ */ __name(() => { + cacheQueue.length = 0; + Object.keys(signingKeyCache).forEach((cacheKey) => { + delete signingKeyCache[cacheKey]; + }); + }, "clearCredentialCache"); + var hmac = /* @__PURE__ */ __name((ctor, secret, data) => { + const hash3 = new ctor(secret); + hash3.update(toUint8Array2(data)); + return hash3.digest(); + }, "hmac"); + var getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => { + const canonical = {}; + for (const headerName of Object.keys(headers).sort()) { + if (headers[headerName] == void 0) { + continue; + } + const canonicalHeaderName = headerName.toLowerCase(); + if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) { + if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) { + continue; + } + } + canonical[canonicalHeaderName] = headers[headerName].replace(/[\r\n]/g, " ").replace(/[ \t]+/g, " ").replace(/^ | $/g, ""); + } + return canonical; + }, "getCanonicalHeaders"); + var getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => { + for (const headerName in headers) { + if (!hasOwn2(headers, headerName)) + continue; + if (headerName.toLowerCase() === SHA256_HEADER) { + return headers[headerName]; + } + } + if (body == void 0) { + return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; + } else if (typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer2(body)) { + const hashCtor = new hashConstructor(); + hashCtor.update(toUint8Array2(body)); + return toHex(await hashCtor.digest()); + } + return UNSIGNED_PAYLOAD; + }, "getPayloadHash"); + var hasHeader2 = /* @__PURE__ */ __name((soughtHeader, headers) => { + soughtHeader = soughtHeader.toLowerCase(); + for (const headerName in headers) { + if (!hasOwn2(headers, headerName)) + continue; + if (soughtHeader === headerName.toLowerCase()) { + return true; + } + } + return false; + }, "hasHeader"); + var moveHeadersToQuery = /* @__PURE__ */ __name((request, options = {}) => { + const { headers, query = {} } = HttpRequest2.clone(request); + for (const name2 in headers) { + if (!hasOwn2(headers, name2)) + continue; + const lname = name2.toLowerCase(); + if (lname.slice(0, 6) === "x-amz-" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) { + query[name2] = headers[name2]; + delete headers[name2]; + } + } + return { + ...request, + headers, + query + }; + }, "moveHeadersToQuery"); + var prepareRequest = /* @__PURE__ */ __name((request) => { + request = HttpRequest2.clone(request); + for (const headerName in request.headers) { + if (!hasOwn2(request.headers, headerName)) + continue; + if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) { + delete request.headers[headerName]; + } + } + return request; + }, "prepareRequest"); + var SignatureV42 = class extends SignatureV4Base { + static { + __name(this, "SignatureV4"); + } + headerFormatter = new HeaderFormatter(); + constructor({ applyChecksum, credentials, region, service, sha256: sha2562, uriEscapePath = true }) { + super({ + applyChecksum, + credentials, + region, + service, + sha256: sha2562, + uriEscapePath + }); + } + async presign(originalRequest, options = {}) { + const { signingDate = /* @__PURE__ */ new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService } = options; + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const { longDate, shortDate } = this.formatDate(signingDate); + if (expiresIn > MAX_PRESIGNED_TTL) { + return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future"); + } + const scope = createScope(shortDate, region, signingService ?? this.service); + const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders }); + if (credentials.sessionToken) { + request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken; + } + request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER; + request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`; + request.query[AMZ_DATE_QUERY_PARAM] = longDate; + request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10); + const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders); + request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders); + request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))); + return request; + } + async sign(toSign, options) { + if (typeof toSign === "string") { + return this.signString(toSign, options); + } else if (toSign.headers && toSign.payload) { + return this.signEvent(toSign, options); + } else if (toSign.message) { + return this.signMessage(toSign, options); + } else { + return this.signRequest(toSign, options); + } + } + async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials }) { + const region = signingRegion ?? await this.regionProvider(); + const { shortDate, longDate } = this.formatDate(signingDate); + const scope = createScope(shortDate, region, signingService ?? this.service); + const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256); + const hash3 = new this.sha256(); + hash3.update(headers); + const hashedHeaders = toHex(await hash3.digest()); + const stringToSign = [ + EVENT_ALGORITHM_IDENTIFIER, + longDate, + scope, + priorSignature, + hashedHeaders, + hashedPayload + ].join("\n"); + return this.signString(stringToSign, { + signingDate, + signingRegion: region, + signingService, + eventStreamCredentials + }); + } + async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials }) { + const promise2 = this.signEvent({ + headers: this.headerFormatter.format(signableMessage.message.headers), + payload: signableMessage.message.body + }, { + signingDate, + signingRegion, + signingService, + priorSignature: signableMessage.priorSignature, + eventStreamCredentials + }); + return promise2.then((signature) => { + return { message: signableMessage.message, signature }; + }); + } + async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService, eventStreamCredentials } = {}) { + const credentials = eventStreamCredentials ?? await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const { shortDate } = this.formatDate(signingDate); + const hash3 = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService)); + hash3.update(toUint8Array2(stringToSign)); + return toHex(await hash3.digest()); + } + async signRequest(requestToSign, { signingDate = /* @__PURE__ */ new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) { + const credentials = await this.credentialProvider(); + this.validateResolvedCredentials(credentials); + const region = signingRegion ?? await this.regionProvider(); + const request = prepareRequest(requestToSign); + const { longDate, shortDate } = this.formatDate(signingDate); + const scope = createScope(shortDate, region, signingService ?? this.service); + request.headers[AMZ_DATE_HEADER] = longDate; + if (credentials.sessionToken) { + request.headers[TOKEN_HEADER] = credentials.sessionToken; + } + const payloadHash = await getPayloadHash(request, this.sha256); + if (!hasHeader2(SHA256_HEADER, request.headers) && this.applyChecksum) { + request.headers[SHA256_HEADER] = payloadHash; + } + const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders); + const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash)); + request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`; + return request; + } + async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) { + const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER); + const hash3 = new this.sha256(await keyPromise); + hash3.update(toUint8Array2(stringToSign)); + return toHex(await hash3.digest()); + } + getSigningKey(credentials, region, shortDate, service) { + return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service); + } + }; + var signatureV4aContainer = { + SignatureV4a: null + }; + exports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER; + exports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A; + exports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM; + exports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS; + exports.AMZ_DATE_HEADER = AMZ_DATE_HEADER; + exports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM; + exports.AUTH_HEADER = AUTH_HEADER; + exports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM; + exports.DATE_HEADER = DATE_HEADER; + exports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER; + exports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM; + exports.GENERATED_HEADERS = GENERATED_HEADERS; + exports.HOST_HEADER = HOST_HEADER; + exports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER; + exports.MAX_CACHE_SIZE = MAX_CACHE_SIZE; + exports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL; + exports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN; + exports.REGION_SET_PARAM = REGION_SET_PARAM; + exports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN; + exports.SHA256_HEADER = SHA256_HEADER; + exports.SIGNATURE_HEADER = SIGNATURE_HEADER; + exports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM; + exports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM; + exports.SignatureV4 = SignatureV42; + exports.SignatureV4Base = SignatureV4Base; + exports.TOKEN_HEADER = TOKEN_HEADER; + exports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM; + exports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS; + exports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD; + exports.clearCredentialCache = clearCredentialCache; + exports.createScope = createScope; + exports.getCanonicalHeaders = getCanonicalHeaders; + exports.getCanonicalQuery = getCanonicalQuery; + exports.getPayloadHash = getPayloadHash; + exports.getSigningKey = getSigningKey; + exports.hasHeader = hasHeader2; + exports.moveHeadersToQuery = moveHeadersToQuery; + exports.prepareRequest = prepareRequest; + exports.signatureV4aContainer = signatureV4aContainer; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.48/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +var require_dist_cjs3 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+signature-v4-multi-region@3.996.48/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js"(exports) { + var { SignatureV4: SignatureV42, signatureV4aContainer } = require_dist_cjs2(); + var signatureV4CrtContainer = { + CrtSignerV4: null + }; + var SESSION_TOKEN_QUERY_PARAM2 = "X-Amz-S3session-Token"; + var SESSION_TOKEN_HEADER2 = SESSION_TOKEN_QUERY_PARAM2.toLowerCase(); + var SignatureV4SignWithCredentials2 = class extends SignatureV42 { + static { + __name(this, "SignatureV4SignWithCredentials"); + } + async signWithCredentials(requestToSign, credentials, options) { + const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials); + requestToSign.headers[SESSION_TOKEN_HEADER2] = credentials.sessionToken; + const privateAccess = this; + setSingleOverride(privateAccess, credentialsWithoutSessionToken); + return privateAccess.signRequest(requestToSign, options ?? {}); + } + async presignWithCredentials(requestToSign, credentials, options) { + const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials); + delete requestToSign.headers[SESSION_TOKEN_HEADER2]; + requestToSign.headers[SESSION_TOKEN_QUERY_PARAM2] = credentials.sessionToken; + requestToSign.query = requestToSign.query ?? {}; + requestToSign.query[SESSION_TOKEN_QUERY_PARAM2] = credentials.sessionToken; + const privateAccess = this; + setSingleOverride(privateAccess, credentialsWithoutSessionToken); + return this.presign(requestToSign, options); + } + }; + function getCredentialsWithoutSessionToken(credentials) { + return { + accessKeyId: credentials.accessKeyId, + secretAccessKey: credentials.secretAccessKey, + expiration: credentials.expiration + }; + } + __name(getCredentialsWithoutSessionToken, "getCredentialsWithoutSessionToken"); + function setSingleOverride(privateAccess, credentialsWithoutSessionToken) { + const currentCredentialProvider = privateAccess.credentialProvider; + privateAccess.credentialProvider = () => { + privateAccess.credentialProvider = currentCredentialProvider; + return Promise.resolve(credentialsWithoutSessionToken); + }; + } + __name(setSingleOverride, "setSingleOverride"); + var SignatureV4MultiRegion3 = class { + static { + __name(this, "SignatureV4MultiRegion"); + } + sigv4aSigner; + sigv4Signer; + signerOptions; + static sigv4aDependency() { + if (typeof signatureV4CrtContainer.CrtSignerV4 === "function") { + return "crt"; + } else if (typeof signatureV4aContainer.SignatureV4a === "function") { + return "js"; + } + return "none"; + } + constructor(options) { + this.sigv4Signer = new SignatureV4SignWithCredentials2(options); + this.signerOptions = options; + } + async sign(requestToSign, options = {}) { + if (options.signingRegion === "*") { + return this.getSigv4aSigner().sign(requestToSign, options); + } + return this.sigv4Signer.sign(requestToSign, options); + } + async signWithCredentials(requestToSign, credentials, options = {}) { + if (options.signingRegion === "*") { + const signer = this.getSigv4aSigner(); + const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4; + if (CrtSignerV4 && signer instanceof CrtSignerV4) { + return signer.signWithCredentials(requestToSign, credentials, options); + } else { + throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`); + } + } + return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options); + } + async presign(originalRequest, options = {}) { + if (options.signingRegion === "*") { + const signer = this.getSigv4aSigner(); + const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4; + if (CrtSignerV4 && signer instanceof CrtSignerV4) { + return signer.presign(originalRequest, options); + } else { + throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. You must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`); + } + } + return this.sigv4Signer.presign(originalRequest, options); + } + async presignWithCredentials(originalRequest, credentials, options = {}) { + if (options.signingRegion === "*") { + throw new Error("Method presignWithCredentials is not supported for [signingRegion=*]."); + } + return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options); + } + getSigv4aSigner() { + if (!this.sigv4aSigner) { + const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4; + const JsSigV4aSigner = signatureV4aContainer.SignatureV4a; + if (this.signerOptions.runtime === "node") { + if (!CrtSignerV4 && !JsSigV4aSigner) { + throw new Error("Neither CRT nor JS SigV4a implementation is available. Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt"); + } + if (CrtSignerV4 && typeof CrtSignerV4 === "function") { + this.sigv4aSigner = new CrtSignerV4({ + ...this.signerOptions, + signingAlgorithm: 1 + }); + } else if (JsSigV4aSigner && typeof JsSigV4aSigner === "function") { + this.sigv4aSigner = new JsSigV4aSigner({ + ...this.signerOptions + }); + } else { + throw new Error("Available SigV4a implementation is not a valid constructor. Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt"); + } + } else { + if (!JsSigV4aSigner || typeof JsSigV4aSigner !== "function") { + throw new Error("JS SigV4a implementation is not available or not a valid constructor. Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. You must also register the package by calling [require('@aws-sdk/signature-v4a');] or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. For more information please go to https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a"); + } + this.sigv4aSigner = new JsSigV4aSigner({ + ...this.signerOptions + }); + } + } + return this.sigv4aSigner; + } + }; + exports.SignatureV4MultiRegion = SignatureV4MultiRegion3; + exports.SignatureV4SignWithCredentials = SignatureV4SignWithCredentials2; + exports.signatureV4CrtContainer = signatureV4CrtContainer; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/SignatureV4S3Express.js +var import_signature_v4_multi_region, SignatureV4S3Express; +var init_SignatureV4S3Express = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/classes/SignatureV4S3Express.js"() { + import_signature_v4_multi_region = __toESM(require_dist_cjs3()); + SignatureV4S3Express = class extends import_signature_v4_multi_region.SignatureV4SignWithCredentials { + static { + __name(this, "SignatureV4S3Express"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/constants.js +var S3_EXPRESS_BUCKET_TYPE, S3_EXPRESS_BACKEND, S3_EXPRESS_AUTH_SCHEME, SESSION_TOKEN_QUERY_PARAM, SESSION_TOKEN_HEADER, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS; +var init_constants5 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/constants.js"() { + init_config(); + S3_EXPRESS_BUCKET_TYPE = "Directory"; + S3_EXPRESS_BACKEND = "S3Express"; + S3_EXPRESS_AUTH_SCHEME = "sigv4-s3express"; + SESSION_TOKEN_QUERY_PARAM = "X-Amz-S3session-Token"; + SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase(); + NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH"; + NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = "s3_disable_express_session_auth"; + NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressMiddleware.js +var s3ExpressMiddleware, s3ExpressMiddlewareOptions, getS3ExpressPlugin; +var init_s3ExpressMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressMiddleware.js"() { + init_client2(); + init_protocols(); + init_constants5(); + s3ExpressMiddleware = /* @__PURE__ */ __name((options) => { + return (next, context) => async (args) => { + if (context.endpointV2) { + const endpoint = context.endpointV2; + const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME; + const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND || endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE; + if (isS3ExpressBucket) { + setFeature(context, "S3_EXPRESS_BUCKET", "J"); + context.isS3ExpressBucket = true; + } + if (isS3ExpressAuth) { + const requestBucket = args.input.Bucket; + if (requestBucket) { + const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), { + Bucket: requestBucket + }); + context.s3ExpressIdentity = s3ExpressIdentity; + if (HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) { + args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken; + } + } + } + } + return next(args); + }; + }, "s3ExpressMiddleware"); + s3ExpressMiddlewareOptions = { + name: "s3ExpressMiddleware", + step: "build", + tags: ["S3", "S3_EXPRESS"], + override: true + }; + getS3ExpressPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions); + }, "applyToStack") + }), "getS3ExpressPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/signS3Express.js +var signS3Express; +var init_signS3Express = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/signS3Express.js"() { + signS3Express = /* @__PURE__ */ __name(async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => { + const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {}); + if (signedRequest.headers["X-Amz-Security-Token"] || signedRequest.headers["x-amz-security-token"]) { + throw new Error("X-Amz-Security-Token must not be set for s3-express requests."); + } + return signedRequest; + }, "signS3Express"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressHttpSigningMiddleware.js +var defaultErrorHandler2, defaultSuccessHandler2, s3ExpressHttpSigningMiddlewareOptions, s3ExpressHttpSigningMiddleware, getS3ExpressHttpSigningPlugin; +var init_s3ExpressHttpSigningMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-s3-express/functions/s3ExpressHttpSigningMiddleware.js"() { + init_dist_es(); + init_client(); + init_protocols(); + init_signS3Express(); + defaultErrorHandler2 = /* @__PURE__ */ __name((signingProperties) => (error62) => { + throw error62; + }, "defaultErrorHandler"); + defaultSuccessHandler2 = /* @__PURE__ */ __name((httpResponse, signingProperties) => { + }, "defaultSuccessHandler"); + s3ExpressHttpSigningMiddlewareOptions = httpSigningMiddlewareOptions; + s3ExpressHttpSigningMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => { + if (!HttpRequest.isInstance(args.request)) { + return next(args); + } + const smithyContext = getSmithyContext(context); + const scheme = smithyContext.selectedHttpAuthScheme; + if (!scheme) { + throw new Error(`No HttpAuthScheme was selected: unable to sign request`); + } + const { httpAuthOption: { signingProperties = {} }, identity, signer } = scheme; + let request; + if (context.s3ExpressIdentity) { + request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config3.signer()); + } else { + request = await signer.sign(args.request, identity, signingProperties); + } + const output2 = await next({ + ...args, + request + }).catch((signer.errorHandler || defaultErrorHandler2)(signingProperties)); + (signer.successHandler || defaultSuccessHandler2)(output2.response, signingProperties); + return output2; + }, "s3ExpressHttpSigningMiddleware"); + getS3ExpressHttpSigningPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config3), httpSigningMiddlewareOptions); + }, "applyToStack") + }), "getS3ExpressHttpSigningPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/to-stream/toStream.js +import { Readable as Readable2 } from "node:stream"; +function toStream(bytes) { + return Readable2.from(Buffer.from(bytes)); +} +var init_toStream = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/to-stream/toStream.js"() { + __name(toStream, "toStream"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-throw-200-exceptions/throw-200-exceptions.js +var THROW_IF_EMPTY_BODY, throw200ExceptionsMiddleware, collectBody2, throw200ExceptionsMiddlewareOptions, getThrow200ExceptionsPlugin; +var init_throw_200_exceptions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-throw-200-exceptions/throw-200-exceptions.js"() { + init_protocols(); + init_toStream(); + THROW_IF_EMPTY_BODY = { + CopyObjectCommand: true, + UploadPartCopyCommand: true, + CompleteMultipartUploadCommand: true + }; + throw200ExceptionsMiddleware = /* @__PURE__ */ __name((config3) => (next, context) => async (args) => { + const result = await next(args); + const { response } = result; + if (!HttpResponse.isInstance(response)) { + return result; + } + const { statusCode, body } = response; + if (statusCode < 200 || statusCode >= 300) { + return result; + } + const bodyBytes = await collectBody2(body, config3); + response.body = toStream(bodyBytes); + if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) { + const err = new Error("S3 aborted request"); + err.$metadata = { + httpStatusCode: 503 + }; + err.name = "InternalError"; + throw err; + } + const bodyStringTail = config3.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16)); + if (bodyStringTail && bodyStringTail.endsWith("")) { + response.statusCode = 503; + } + return result; + }, "throw200ExceptionsMiddleware"); + collectBody2 = /* @__PURE__ */ __name((streamBody = new Uint8Array(), context) => { + if (streamBody instanceof Uint8Array) { + return Promise.resolve(streamBody); + } + return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array()); + }, "collectBody"); + throw200ExceptionsMiddlewareOptions = { + relation: "after", + toMiddleware: "deserializerMiddleware", + tags: ["THROW_200_EXCEPTIONS", "S3"], + name: "throw200ExceptionsMiddleware", + override: true + }; + getThrow200ExceptionsPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(throw200ExceptionsMiddleware(config3), throw200ExceptionsMiddlewareOptions); + }, "applyToStack") + }), "getThrow200ExceptionsPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js +var validate2, parse3; +var init_arn = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js"() { + validate2 = /* @__PURE__ */ __name((str) => typeof str === "string" && str.indexOf("arn:") === 0 && str.split(":").length >= 6, "validate"); + parse3 = /* @__PURE__ */ __name((arn) => { + const segments = arn.split(":"); + if (segments.length < 6 || segments[0] !== "arn") + throw new Error("Malformed ARN"); + const [, partition2, service, region, accountId, ...resource] = segments; + return { + partition: partition2, + service, + region, + accountId, + resource: resource.join(":") + }; + }, "parse"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js +var init_util2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js"() { + init_arn(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/bucket-endpoint-middleware.js +function bucketEndpointMiddleware(options) { + return (next, context) => async (args) => { + if (options.bucketEndpoint) { + const endpoint = context.endpointV2; + if (endpoint) { + const bucket = args.input.Bucket; + if (typeof bucket === "string") { + try { + const bucketEndpointUrl = new URL(bucket); + context.endpointV2 = { + ...endpoint, + url: bucketEndpointUrl + }; + } catch (e5) { + const warning2 = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`; + if (context.logger?.constructor?.name === "NoOpLogger") { + console.warn(warning2); + } else { + context.logger?.warn?.(warning2); + } + throw e5; + } + } + } + } + return next(args); + }; +} +var bucketEndpointMiddlewareOptions; +var init_bucket_endpoint_middleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-region-redirect/bucket-endpoint-middleware.js"() { + __name(bucketEndpointMiddleware, "bucketEndpointMiddleware"); + bucketEndpointMiddlewareOptions = { + name: "bucketEndpointMiddleware", + override: true, + relation: "after", + toMiddleware: "endpointV2Middleware" + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-validate-bucket-name/validate-bucket-name.js +function validateBucketNameMiddleware({ bucketEndpoint }) { + return (next) => async (args) => { + const { input: { Bucket } } = args; + if (!bucketEndpoint && typeof Bucket === "string" && !validate2(Bucket) && Bucket.indexOf("/") >= 0) { + const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`); + err.name = "InvalidBucketName"; + throw err; + } + return next({ ...args }); + }; +} +var validateBucketNameMiddlewareOptions, getValidateBucketNamePlugin; +var init_validate_bucket_name = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-validate-bucket-name/validate-bucket-name.js"() { + init_util2(); + init_bucket_endpoint_middleware(); + __name(validateBucketNameMiddleware, "validateBucketNameMiddleware"); + validateBucketNameMiddlewareOptions = { + step: "initialize", + tags: ["VALIDATE_BUCKET_NAME"], + name: "validateBucketNameMiddleware", + override: true + }; + getValidateBucketNamePlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions); + clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions); + }, "applyToStack") + }), "getValidateBucketNamePlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +var ProtocolLib; +var init_ProtocolLib = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js"() { + init_client(); + init_schema(); + ProtocolLib = class { + static { + __name(this, "ProtocolLib"); + } + queryCompat; + errorRegistry; + constructor(queryCompat = false) { + this.queryCompat = queryCompat; + } + resolveRestContentType(defaultContentType, inputSchema) { + const members2 = inputSchema.getMemberSchemas(); + const httpPayloadMember = Object.values(members2).find((m3) => { + return !!m3.getMergedTraits().httpPayload; + }); + if (httpPayloadMember) { + const mediaType = httpPayloadMember.getMergedTraits().mediaType; + if (mediaType) { + return mediaType; + } else if (httpPayloadMember.isStringSchema()) { + return "text/plain"; + } else if (httpPayloadMember.isBlobSchema()) { + return "application/octet-stream"; + } else { + return defaultContentType; + } + } else if (!inputSchema.isUnitSchema()) { + const hasBody = Object.values(members2).find((m3) => { + const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m3.getMergedTraits(); + const noPrefixHeaders = httpPrefixHeaders === void 0; + return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders; + }); + if (hasBody) { + return defaultContentType; + } + } + } + async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) { + let errorName = errorIdentifier; + if (errorIdentifier.includes("#")) { + [, errorName] = errorIdentifier.split("#"); + } + const errorMetadata = { + $metadata: metadata, + $fault: response.statusCode < 500 ? "client" : "server" + }; + if (!this.errorRegistry) { + throw new Error("@aws-sdk/core/protocols - error handler not initialized."); + } + try { + const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ?? this.errorRegistry.getSchema(errorIdentifier); + return { errorSchema, errorMetadata }; + } catch (e5) { + dataObject.message = dataObject.message ?? dataObject.Message ?? "UnknownError"; + const synthetic = this.errorRegistry; + const baseExceptionSchema = synthetic.getBaseException(); + if (baseExceptionSchema) { + const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error; + throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject); + } + const d5 = dataObject; + const message = d5?.message ?? d5?.Message ?? d5?.Error?.Message ?? d5?.Error?.message; + throw this.decorateServiceException(Object.assign(new Error(message), { + name: errorName + }, errorMetadata), dataObject); + } + } + compose(composite, errorIdentifier, defaultNamespace) { + let namespace = defaultNamespace; + if (errorIdentifier.includes("#")) { + [namespace] = errorIdentifier.split("#"); + } + const staticRegistry = TypeRegistry.for(namespace); + const defaultSyntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + defaultNamespace); + composite.copyFrom(staticRegistry); + composite.copyFrom(defaultSyntheticRegistry); + this.errorRegistry = composite; + } + decorateServiceException(exception, additions = {}) { + if (this.queryCompat) { + const msg = exception.Message ?? additions.Message; + const error62 = decorateServiceException(exception, additions); + if (msg) { + error62.message = msg; + } + const errorObj = error62.Error ?? {}; + errorObj.Type = error62.Error?.Type; + errorObj.Code = error62.Error?.Code; + errorObj.Message = error62.Error?.message ?? error62.Error?.Message ?? msg; + error62.Error = errorObj; + const reqId = error62.$metadata.requestId; + if (reqId) { + error62.RequestId = reqId; + } + return error62; + } + return decorateServiceException(exception, additions); + } + setQueryCompatError(output2, response) { + const queryErrorHeader = response.headers?.["x-amzn-query-error"]; + if (output2 !== void 0 && queryErrorHeader != null) { + const [Code, Type] = queryErrorHeader.split(";"); + const keys = Object.keys(output2); + const Error2 = { + Code, + Type + }; + output2.Code = Code; + output2.Type = Type; + for (let i5 = 0; i5 < keys.length; i5++) { + const k5 = keys[i5]; + Error2[k5 === "message" ? "Message" : k5] = output2[k5]; + } + delete Error2.__type; + output2.Error = Error2; + } + } + queryCompatOutput(queryCompatErrorData, errorData) { + if (queryCompatErrorData.Error) { + errorData.Error = queryCompatErrorData.Error; + } + if (queryCompatErrorData.Type) { + errorData.Type = queryCompatErrorData.Type; + } + if (queryCompatErrorData.Code) { + errorData.Code = queryCompatErrorData.Code; + } + } + findQueryCompatibleError(registry2, errorName) { + try { + return registry2.getSchema(errorName); + } catch (e5) { + return registry2.find((schema2) => NormalizedSchema.of(schema2).getMergedTraits().awsQueryError?.[0] === errorName); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +var AwsRestJsonProtocol; +var init_AwsRestJsonProtocol = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js"() { + init_protocols(); + init_schema(); + init_ProtocolLib(); + AwsRestJsonProtocol = class extends HttpBindingProtocol { + static { + __name(this, "AwsRestJsonProtocol"); + } + serializer; + deserializer; + codec; + mixin = new ProtocolLib(); + constructor({ defaultNamespace, errorTypeRegistries: errorTypeRegistries5, jsonCodec }) { + super({ + defaultNamespace, + errorTypeRegistries: errorTypeRegistries5 + }); + const settings = { + timestampFormat: { + useTrait: true, + default: 7 + }, + httpBindings: true, + jsonName: true + }; + this.codec = jsonCodec ?? new JsonCodec2(settings); + this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings); + this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings); + } + getShapeId() { + return "aws.protocols#restJson1"; + } + getPayloadCodec() { + return this.codec; + } + setSerdeContext(serdeContext) { + this.codec.setSerdeContext(serdeContext); + super.setSerdeContext(serdeContext); + } + async serializeRequest(operationSchema, input2, context) { + const request = await super.serializeRequest(operationSchema, input2, context); + const inputSchema = NormalizedSchema.of(operationSchema.input); + if (!request.headers["content-type"]) { + const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema); + if (contentType) { + request.headers["content-type"] = contentType; + } + } + if (request.body == null && request.headers["content-type"] === this.getDefaultContentType()) { + request.body = "{}"; + } + return request; + } + async deserializeResponse(operationSchema, context, response) { + const output2 = await super.deserializeResponse(operationSchema, context, response); + const outputSchema = NormalizedSchema.of(operationSchema.output); + for (const [name2, member] of outputSchema.structIterator()) { + if (member.getMemberTraits().httpPayload && !(name2 in output2)) { + output2[name2] = null; + } + } + return output2; + } + async handleError(operationSchema, context, response, dataObject, metadata) { + const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown"; + this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace); + const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata); + const ns = NormalizedSchema.of(errorSchema); + const message = dataObject.message ?? dataObject.Message ?? "UnknownError"; + const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error; + const exception = new ErrorCtor({}); + await this.deserializeHttpMessage(errorSchema, context, response, dataObject); + const output2 = {}; + const errorDeserializer = this.codec.createDeserializer(); + for (const [name2, member] of ns.structIterator()) { + const target = member.getMergedTraits().jsonName ?? name2; + output2[name2] = errorDeserializer.readObject(member, dataObject[target]); + } + throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, { + $fault: ns.getMergedTraits().error, + message + }, output2), dataObject); + } + getDefaultContentType() { + return "application/json"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.41/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +var require_dist_cjs4 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+xml-builder@3.972.41/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js"(exports) { + var ATTR_ESCAPE_RE = /[&<>"]/g; + var ATTR_ESCAPE_MAP = { + "&": "&", + "<": "<", + ">": ">", + '"': """ + }; + function escapeAttribute(value) { + return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]); + } + __name(escapeAttribute, "escapeAttribute"); + var ELEMENT_ESCAPE_RE = /[&"'<>\r\n\u0085\u2028]/g; + var ELEMENT_ESCAPE_MAP = { + "&": "&", + '"': """, + "'": "'", + "<": "<", + ">": ">", + "\r": " ", + "\n": " ", + "\x85": "…", + "\u2028": "
" + }; + function escapeElement(value) { + return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]); + } + __name(escapeElement, "escapeElement"); + var XmlText2 = class { + static { + __name(this, "XmlText"); + } + value; + constructor(value) { + this.value = value; + } + toString() { + return escapeElement("" + this.value); + } + }; + var XmlNode2 = class _XmlNode { + static { + __name(this, "XmlNode"); + } + name; + children; + attributes = {}; + static of(name2, childText, withName) { + const node2 = new _XmlNode(name2); + if (childText !== void 0) { + node2.addChildNode(new XmlText2(childText)); + } + if (withName !== void 0) { + node2.withName(withName); + } + return node2; + } + constructor(name2, children = []) { + this.name = name2; + this.children = children; + } + withName(name2) { + this.name = name2; + return this; + } + addAttribute(name2, value) { + this.attributes[name2] = value; + return this; + } + addChildNode(child) { + this.children.push(child); + return this; + } + removeAttribute(name2) { + delete this.attributes[name2]; + return this; + } + n(name2) { + this.name = name2; + return this; + } + c(child) { + this.children.push(child); + return this; + } + a(name2, value) { + if (value != null) { + this.attributes[name2] = value; + } + return this; + } + cc(input2, field, withName = field) { + if (input2[field] != null) { + const node2 = _XmlNode.of(field, input2[field]).withName(withName); + this.c(node2); + } + } + l(input2, listName, memberName, valueProvider) { + if (input2[listName] != null) { + const nodes5 = valueProvider(); + nodes5.map((node2) => { + node2.withName(memberName); + this.c(node2); + }); + } + } + lc(input2, listName, memberName, valueProvider) { + if (input2[listName] != null) { + const nodes5 = valueProvider(); + const containerNode = new _XmlNode(memberName); + nodes5.map((node2) => { + containerNode.c(node2); + }); + this.c(containerNode); + } + } + toString() { + const hasChildren = Boolean(this.children.length); + let xmlText = `<${this.name}`; + const attributes = this.attributes; + for (const attributeName of Object.keys(attributes)) { + const attribute = attributes[attributeName]; + if (attribute != null) { + xmlText += ` ${attributeName}="${escapeAttribute("" + attribute)}"`; + } + } + return xmlText += !hasChildren ? "/>" : `>${this.children.map((c5) => c5.toString()).join("")}`; + } + }; + function writeKey3(obj) { + Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true }); + } + __name(writeKey3, "writeKey"); + function parseXML2(xml) { + const state2 = new AwsXmlParser(xml); + return state2.parse(); + } + __name(parseXML2, "parseXML"); + var AwsXmlParser = class _AwsXmlParser { + static { + __name(this, "AwsXmlParser"); + } + x; + i = 0; + z; + constructor(x) { + this.x = x; + this.x = x.replace(/\r\n?/g, "\n"); + this.z = this.x.length; + } + parse() { + const p3 = this; + const { z: z2 } = p3; + while (p3.i < z2) { + p3.trim(); + if (p3.i >= z2) { + break; + } + if (p3.isNext(""); + p3.trim(); + } else if (p3.isNext(""); + p3.trim(); + } else if (p3.isNext("/".includes(p3.x[p3.i])) { + tag += p3.x[p3.i++]; + } + let hasAttrs = false; + const attrs = {}; + while (p3.i < p3.z) { + p3.trim(); + if (">/".includes(p3.x[p3.i])) { + break; + } + let name2 = ""; + while (p3.i < p3.z && !"= \r\n>/?".includes(p3.x[p3.i])) { + name2 += p3.x[p3.i++]; + } + p3.trim(); + if (p3.x[p3.i] !== "=") { + break; + } + ++p3.i; + p3.trim(); + if (name2 === "__proto__") { + writeKey3(attrs); + } + attrs[name2] = p3.readAttrValue(); + hasAttrs = true; + } + if (p3.i >= p3.z) { + throw new Error("@aws-sdk XML parse error: unexpected end of input."); + } + if (p3.x[p3.i] === "/") { + ++p3.i; + if (p3.i >= p3.z || p3.x[p3.i] !== ">") { + throw new Error("@aws-sdk XML parse error: expected > at the end of self-closing tag."); + } + ++p3.i; + return { tag, value: hasAttrs ? attrs : "" }; + } + if (p3.x[p3.i] !== ">") { + throw new Error("@aws-sdk XML parse error: expected > at the end of opening tag."); + } + ++p3.i; + const textParts = []; + const childTags = []; + let hasElementChild = false; + while (p3.i < p3.z) { + if (p3.isNext(""); + } else if (p3.isNext("")); + } else if (p3.isNext(""); + } else { + hasElementChild = true; + childTags.push(p3.parseTag()); + } + } else { + let text2 = ""; + while (p3.i < p3.z && p3.x[p3.i] !== "<") { + text2 += p3.x[p3.i++]; + } + textParts.push(p3.decodeEntities(text2)); + } + } + if (!p3.isNext(".`); + } + p3.i += 2; + const closeTag = p3.readTo(">").trim(); + if (closeTag !== tag) { + throw new Error(`@aws-sdk XML parse error: mismatched tags <${tag}> and .`); + } + if (!hasAttrs && textParts.length === 0 && !hasElementChild) { + return { tag, value: "" }; + } + if (!hasAttrs && !hasElementChild) { + const text2 = textParts.length === 1 ? textParts[0] : textParts.join(""); + if (text2.trim() === "" && text2.includes("\n")) { + return { tag, value: "" }; + } + return { tag, value: text2 }; + } + const obj = {}; + for (const text2 of textParts) { + if (text2.trim() === "" && text2.includes("\n")) { + continue; + } + obj["#text"] = "#text" in obj ? obj["#text"] + text2 : text2; + } + for (const child of childTags) { + if (child.tag === "__proto__") { + writeKey3(obj); + } + if (child.tag in obj) { + if (Array.isArray(obj[child.tag])) { + obj[child.tag].push(child.value); + } else { + obj[child.tag] = [obj[child.tag], child.value]; + } + } else { + obj[child.tag] = child.value; + } + } + for (const [k5, v] of Object.entries(attrs)) { + if (k5 === "__proto__") { + writeKey3(obj); + } + obj[k5] = v; + } + return { tag, value: obj }; + } + static ENTITIES = { + amp: "&", + lt: "<", + gt: ">", + quot: '"', + apos: "'" + }; + skipDoctype() { + const p3 = this; + p3.i += 9; + let depth = 0; + while (p3.i < p3.z) { + const c5 = p3.x[p3.i]; + if (c5 === "[") { + ++depth; + } else if (c5 === "]") { + --depth; + } else if (c5 === ">" && depth === 0) { + ++p3.i; + return; + } + ++p3.i; + } + throw new Error("@aws-sdk XML parse error: unclosed DOCTYPE."); + } + decodeEntities(s2) { + return s2.replace(/&(?:#x([0-9a-fA-F]{1,6})|#(\d{1,7})|([a-zA-Z][a-zA-Z0-9]{0,30}));/g, (_, hex3, dec, named) => { + if (hex3) { + return String.fromCharCode(parseInt(hex3, 16)); + } + if (dec) { + return String.fromCharCode(parseInt(dec, 10)); + } + return _AwsXmlParser.ENTITIES[named] ?? ""; + }); + } + }; + exports.XmlNode = XmlNode2; + exports.XmlText = XmlText2; + exports.parseXML = parseXML2; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js +var SerdeContextConfig2; +var init_ConfigurableSerdeContext2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js"() { + SerdeContextConfig2 = class { + static { + __name(this, "SerdeContextConfig"); + } + serdeContext; + setSerdeContext(serdeContext) { + this.serdeContext = serdeContext; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +var UnionSerde2; +var init_UnionSerde2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js"() { + UnionSerde2 = class { + static { + __name(this, "UnionSerde"); + } + from; + to; + keys; + constructor(from, to) { + this.from = from; + this.to = to; + const keys = Object.keys(this.from); + const set2 = new Set(keys); + set2.delete("__type"); + this.keys = set2; + } + mark(key) { + this.keys.delete(key); + } + hasUnknown() { + return this.keys.size === 1 && Object.keys(this.to).length === 0; + } + writeUnknown() { + if (this.hasUnknown()) { + const k5 = this.keys.values().next().value; + const v = this.from[k5]; + this.to.$unknown = [k5, v]; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/writeKey.js +function writeKey2(obj) { + Object.defineProperty(obj, "__proto__", { value: void 0, writable: true, enumerable: true, configurable: true }); +} +var init_writeKey2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/writeKey.js"() { + __name(writeKey2, "writeKey"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js +var import_xml_builder, XmlShapeDeserializer; +var init_XmlShapeDeserializer = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js"() { + import_xml_builder = __toESM(require_dist_cjs4()); + init_client(); + init_protocols(); + init_schema(); + init_serde(); + init_ConfigurableSerdeContext2(); + init_UnionSerde2(); + init_writeKey2(); + XmlShapeDeserializer = class extends SerdeContextConfig2 { + static { + __name(this, "XmlShapeDeserializer"); + } + settings; + stringDeserializer; + constructor(settings) { + super(); + this.settings = settings; + this.stringDeserializer = new FromStringShapeDeserializer(settings); + } + setSerdeContext(serdeContext) { + this.serdeContext = serdeContext; + this.stringDeserializer.setSerdeContext(serdeContext); + } + read(schema2, bytes, key) { + const ns = NormalizedSchema.of(schema2); + const memberSchemas = ns.getMemberSchemas(); + const isEventPayload = ns.isStructSchema() && ns.isMemberSchema() && !!Object.values(memberSchemas).find((memberNs) => { + return !!memberNs.getMemberTraits().eventPayload; + }); + if (isEventPayload) { + const output2 = {}; + const memberName = Object.keys(memberSchemas)[0]; + const eventMemberSchema = memberSchemas[memberName]; + if (eventMemberSchema.isBlobSchema()) { + output2[memberName] = bytes; + } else { + output2[memberName] = this.read(memberSchemas[memberName], bytes); + } + return output2; + } + const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes); + const parsedObject = this.parseXml(xmlString); + return this.readSchema(schema2, key ? parsedObject[key] : parsedObject); + } + readSchema(_schema, value) { + const ns = NormalizedSchema.of(_schema); + if (ns.isUnitSchema()) { + return; + } + const traits = ns.getMergedTraits(); + if (ns.isListSchema() && !Array.isArray(value)) { + return this.readSchema(ns, [value]); + } + if (value == null) { + return value; + } + if (typeof value === "object") { + const flat = !!traits.xmlFlattened; + if (ns.isListSchema()) { + const listValue = ns.getValueSchema(); + const buffer2 = []; + const sourceKey = listValue.getMergedTraits().xmlName ?? "member"; + const source = flat ? value : (value[0] ?? value)[sourceKey]; + if (source == null) { + return buffer2; + } + const sourceArray = Array.isArray(source) ? source : [source]; + for (const v of sourceArray) { + buffer2.push(this.readSchema(listValue, v)); + } + return buffer2; + } + const buffer = {}; + if (ns.isMapSchema()) { + const keyNs = ns.getKeySchema(); + const memberNs = ns.getValueSchema(); + let entries; + if (flat) { + entries = Array.isArray(value) ? value : [value]; + } else { + entries = Array.isArray(value.entry) ? value.entry : [value.entry]; + } + const keyProperty = keyNs.getMergedTraits().xmlName ?? "key"; + const valueProperty = memberNs.getMergedTraits().xmlName ?? "value"; + for (const entry of entries) { + const key = entry[keyProperty]; + const value2 = entry[valueProperty]; + if (key === "__proto__") { + writeKey2(buffer); + } + buffer[key] = this.readSchema(memberNs, value2); + } + return buffer; + } + if (ns.isStructSchema()) { + const union2 = ns.isUnionSchema(); + let unionSerde; + if (union2) { + unionSerde = new UnionSerde2(value, buffer); + } + for (const [memberName, memberSchema] of ns.structIterator()) { + const memberTraits = memberSchema.getMergedTraits(); + const xmlObjectKey = !memberTraits.httpPayload ? memberSchema.getMemberTraits().xmlName ?? memberName : memberTraits.xmlName ?? memberSchema.getName(); + if (union2) { + unionSerde.mark(xmlObjectKey); + } + if (value[xmlObjectKey] != null) { + buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]); + } + } + if (union2) { + unionSerde.writeUnknown(); + } + return buffer; + } + if (ns.isDocumentSchema()) { + return value; + } + throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`); + } + if (ns.isListSchema()) { + return []; + } + if (ns.isMapSchema() || ns.isStructSchema()) { + return {}; + } + return this.stringDeserializer.read(ns, value); + } + parseXml(xml) { + if (xml.length) { + let parsedObj; + try { + parsedObj = (0, import_xml_builder.parseXML)(xml); + } catch (e5) { + if (e5 && typeof e5 === "object") { + Object.defineProperty(e5, "$responseBodyText", { + value: xml + }); + } + throw e5; + } + const textNodeName = "#text"; + const key = Object.keys(parsedObj)[0]; + const parsedObjToReturn = parsedObj[key]; + if (parsedObjToReturn[textNodeName]) { + parsedObjToReturn[key] = parsedObjToReturn[textNodeName]; + delete parsedObjToReturn[textNodeName]; + } + return getValueFromTextNode(parsedObjToReturn); + } + return {}; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +var QueryShapeSerializer; +var init_QueryShapeSerializer = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js"() { + init_protocols(); + init_schema(); + init_serde(); + init_serde(); + init_ConfigurableSerdeContext2(); + QueryShapeSerializer = class extends SerdeContextConfig2 { + static { + __name(this, "QueryShapeSerializer"); + } + settings; + buffer; + constructor(settings) { + super(); + this.settings = settings; + } + write(schema2, value, prefix = "") { + if (this.buffer === void 0) { + this.buffer = ""; + } + const ns = NormalizedSchema.of(schema2); + if (prefix && !prefix.endsWith(".")) { + prefix += "."; + } + if (ns.isBlobSchema()) { + if (typeof value === "string" || value instanceof Uint8Array) { + this.writeKey(prefix); + this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value)); + } + } else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) { + if (value != null) { + this.writeKey(prefix); + this.writeValue(String(value)); + } else if (ns.isIdempotencyToken()) { + this.writeKey(prefix); + this.writeValue(generateIdempotencyToken()); + } + } else if (ns.isBigIntegerSchema()) { + if (value != null) { + this.writeKey(prefix); + this.writeValue(String(value)); + } + } else if (ns.isBigDecimalSchema()) { + if (value != null) { + this.writeKey(prefix); + this.writeValue(value instanceof NumericValue ? value.string : String(value)); + } + } else if (ns.isTimestampSchema()) { + if (value instanceof Date) { + this.writeKey(prefix); + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + this.writeValue(value.toISOString().replace(".000Z", "Z")); + break; + case 6: + this.writeValue(dateToUtcString(value)); + break; + case 7: + this.writeValue(String(value.getTime() / 1e3)); + break; + } + } + } else if (ns.isDocumentSchema()) { + if (Array.isArray(value)) { + this.write(64 | 15, value, prefix); + } else if (value instanceof Date) { + this.write(4, value, prefix); + } else if (value instanceof Uint8Array) { + this.write(21, value, prefix); + } else if (value && typeof value === "object") { + this.write(128 | 15, value, prefix); + } else { + this.writeKey(prefix); + this.writeValue(String(value)); + } + } else if (ns.isListSchema()) { + if (Array.isArray(value)) { + if (value.length === 0) { + if (this.settings.serializeEmptyLists) { + this.writeKey(prefix); + this.writeValue(""); + } + } else { + const member = ns.getValueSchema(); + const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened; + let i5 = 1; + for (const item of value) { + if (item == null) { + continue; + } + const traits = member.getMergedTraits(); + const suffix = this.getKey("member", traits.xmlName, traits.ec2QueryName); + const key = flat ? `${prefix}${i5}` : `${prefix}${suffix}.${i5}`; + this.write(member, item, key); + ++i5; + } + } + } + } else if (ns.isMapSchema()) { + if (value && typeof value === "object") { + const keySchema = ns.getKeySchema(); + const memberSchema = ns.getValueSchema(); + const flat = ns.getMergedTraits().xmlFlattened; + let i5 = 1; + for (const k5 in value) { + const v = value[k5]; + if (v == null) { + continue; + } + const keyTraits = keySchema.getMergedTraits(); + const keySuffix = this.getKey("key", keyTraits.xmlName, keyTraits.ec2QueryName); + const key = flat ? `${prefix}${i5}.${keySuffix}` : `${prefix}entry.${i5}.${keySuffix}`; + const valTraits = memberSchema.getMergedTraits(); + const valueSuffix = this.getKey("value", valTraits.xmlName, valTraits.ec2QueryName); + const valueKey = flat ? `${prefix}${i5}.${valueSuffix}` : `${prefix}entry.${i5}.${valueSuffix}`; + this.write(keySchema, k5, key); + this.write(memberSchema, v, valueKey); + ++i5; + } + } + } else if (ns.isStructSchema()) { + if (value && typeof value === "object") { + let didWriteMember = false; + for (const [memberName, member] of ns.structIterator()) { + if (value[memberName] == null && !member.isIdempotencyToken()) { + continue; + } + const traits = member.getMergedTraits(); + const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, "struct"); + const key = `${prefix}${suffix}`; + this.write(member, value[memberName], key); + didWriteMember = true; + } + if (!didWriteMember && ns.isUnionSchema()) { + const { $unknown } = value; + if (Array.isArray($unknown)) { + const [k5, v] = $unknown; + const key = `${prefix}${k5}`; + this.write(15, v, key); + } + } + } + } else if (ns.isUnitSchema()) { + } else { + throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`); + } + } + flush() { + if (this.buffer === void 0) { + throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer."); + } + const str = this.buffer; + delete this.buffer; + return str; + } + getKey(memberName, xmlName, ec2QueryName, keySource) { + const { ec2, capitalizeKeys } = this.settings; + if (ec2 && ec2QueryName) { + return ec2QueryName; + } + const key = xmlName ?? memberName; + if (capitalizeKeys && keySource === "struct") { + return key[0].toUpperCase() + key.slice(1); + } + return key; + } + writeKey(key) { + if (key.endsWith(".")) { + key = key.slice(0, key.length - 1); + } + this.buffer += `&${extendedEncodeURIComponent(key)}=`; + } + writeValue(value) { + this.buffer += extendedEncodeURIComponent(value); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +var AwsQueryProtocol; +var init_AwsQueryProtocol = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js"() { + init_protocols(); + init_schema(); + init_ProtocolLib(); + init_XmlShapeDeserializer(); + init_QueryShapeSerializer(); + AwsQueryProtocol = class extends RpcProtocol { + static { + __name(this, "AwsQueryProtocol"); + } + options; + serializer; + deserializer; + mixin = new ProtocolLib(); + constructor(options) { + super({ + defaultNamespace: options.defaultNamespace, + errorTypeRegistries: options.errorTypeRegistries + }); + this.options = options; + const settings = { + timestampFormat: { + useTrait: true, + default: 5 + }, + httpBindings: false, + xmlNamespace: options.xmlNamespace, + serviceNamespace: options.defaultNamespace, + serializeEmptyLists: true + }; + this.serializer = new QueryShapeSerializer(settings); + this.deserializer = new XmlShapeDeserializer(settings); + } + getShapeId() { + return "aws.protocols#awsQuery"; + } + setSerdeContext(serdeContext) { + this.serializer.setSerdeContext(serdeContext); + this.deserializer.setSerdeContext(serdeContext); + } + getPayloadCodec() { + throw new Error("AWSQuery protocol has no payload codec."); + } + async serializeRequest(operationSchema, input2, context) { + const request = await super.serializeRequest(operationSchema, input2, context); + if (!request.path.endsWith("/")) { + request.path += "/"; + } + request.headers["content-type"] = "application/x-www-form-urlencoded"; + if (deref(operationSchema.input) === "unit" || !request.body) { + request.body = ""; + } + const action = operationSchema.name.split("#")[1] ?? operationSchema.name; + request.body = `Action=${action}&Version=${this.options.version}` + request.body; + if (request.body.endsWith("&")) { + request.body = request.body.slice(-1); + } + return request; + } + async deserializeResponse(operationSchema, context, response) { + const deserializer = this.deserializer; + const ns = NormalizedSchema.of(operationSchema.output); + const dataObject = {}; + if (response.statusCode >= 300) { + const bytes2 = await collectBody(response.body, context); + if (bytes2.byteLength > 0) { + Object.assign(dataObject, await deserializer.read(15, bytes2)); + } + await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response)); + } + for (const header in response.headers) { + const value = response.headers[header]; + delete response.headers[header]; + response.headers[header.toLowerCase()] = value; + } + const shortName = operationSchema.name.split("#")[1] ?? operationSchema.name; + const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + "Result" : void 0; + const bytes = await collectBody(response.body, context); + if (bytes.byteLength > 0) { + Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey)); + } + dataObject.$metadata = this.deserializeMetadata(response); + return dataObject; + } + useNestedResult() { + return true; + } + async handleError(operationSchema, context, response, dataObject, metadata) { + const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? "Unknown"; + this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace); + const errorData = this.loadQueryError(dataObject) ?? {}; + const message = this.loadQueryErrorMessage(dataObject); + errorData.message = message; + errorData.Error = { + Type: errorData.Type, + Code: errorData.Code, + Message: message + }; + const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError); + const ns = NormalizedSchema.of(errorSchema); + const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error; + const exception = new ErrorCtor({}); + const output2 = { + Type: errorData.Error.Type, + Code: errorData.Error.Code, + Error: errorData.Error + }; + for (const [name2, member] of ns.structIterator()) { + const target = member.getMergedTraits().xmlName ?? name2; + const value = errorData[target] ?? dataObject[target]; + output2[name2] = this.deserializer.readSchema(member, value); + } + throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, { + $fault: ns.getMergedTraits().error, + message + }, output2), dataObject); + } + loadQueryErrorCode(output2, data) { + const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code; + if (code !== void 0) { + return code; + } + if (output2.statusCode == 404) { + return "NotFound"; + } + } + loadQueryError(data) { + return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error; + } + loadQueryErrorMessage(data) { + const errorData = this.loadQueryError(data); + return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? "Unknown"; + } + getDefaultContentType() { + return "application/x-www-form-urlencoded"; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js +var loadRestXmlErrorCode; +var init_parseXmlBody = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js"() { + loadRestXmlErrorCode = /* @__PURE__ */ __name((output2, data) => { + if (data?.Error?.Code !== void 0) { + return data.Error.Code; + } + if (data?.Code !== void 0) { + return data.Code; + } + if (output2.statusCode == 404) { + return "NotFound"; + } + }, "loadRestXmlErrorCode"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js +var import_xml_builder2, XmlShapeSerializer; +var init_XmlShapeSerializer = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js"() { + import_xml_builder2 = __toESM(require_dist_cjs4()); + init_protocols(); + init_schema(); + init_serde(); + init_serde(); + init_ConfigurableSerdeContext2(); + XmlShapeSerializer = class extends SerdeContextConfig2 { + static { + __name(this, "XmlShapeSerializer"); + } + settings; + stringBuffer; + byteBuffer; + buffer; + constructor(settings) { + super(); + this.settings = settings; + } + write(schema2, value) { + const ns = NormalizedSchema.of(schema2); + if (ns.isStringSchema() && typeof value === "string") { + this.stringBuffer = value; + } else if (ns.isBlobSchema()) { + this.byteBuffer = "byteLength" in value ? value : (this.serdeContext?.base64Decoder ?? fromBase64)(value); + } else { + this.buffer = this.writeStruct(ns, value, void 0); + const traits = ns.getMergedTraits(); + if (traits.httpPayload && !traits.xmlName) { + this.buffer.withName(ns.getName()); + } + } + } + flush() { + if (this.byteBuffer !== void 0) { + const bytes = this.byteBuffer; + delete this.byteBuffer; + return bytes; + } + if (this.stringBuffer !== void 0) { + const str = this.stringBuffer; + delete this.stringBuffer; + return str; + } + const buffer = this.buffer; + if (this.settings.xmlNamespace) { + if (!buffer?.attributes?.["xmlns"]) { + buffer.addAttribute("xmlns", this.settings.xmlNamespace); + } + } + delete this.buffer; + return buffer.toString(); + } + writeStruct(ns, value, parentXmlns) { + const traits = ns.getMergedTraits(); + const name2 = ns.isMemberSchema() && !traits.httpPayload ? ns.getMemberTraits().xmlName ?? ns.getMemberName() : traits.xmlName ?? ns.getName(); + if (!name2 || !ns.isStructSchema()) { + throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`); + } + const structXmlNode = import_xml_builder2.XmlNode.of(name2); + const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns); + for (const [memberName, memberSchema] of ns.structIterator()) { + const val = value[memberName]; + if (val != null || memberSchema.isIdempotencyToken()) { + if (memberSchema.getMergedTraits().xmlAttribute) { + structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val)); + continue; + } + if (memberSchema.isListSchema()) { + this.writeList(memberSchema, val, structXmlNode, xmlns); + } else if (memberSchema.isMapSchema()) { + this.writeMap(memberSchema, val, structXmlNode, xmlns); + } else if (memberSchema.isStructSchema()) { + structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns)); + } else { + const memberNode = import_xml_builder2.XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName()); + this.writeSimpleInto(memberSchema, val, memberNode, xmlns); + structXmlNode.addChildNode(memberNode); + } + } + } + const { $unknown } = value; + if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) { + const [k5, v] = $unknown; + const node2 = import_xml_builder2.XmlNode.of(k5); + if (typeof v !== "string") { + if (value instanceof import_xml_builder2.XmlNode || value instanceof import_xml_builder2.XmlText) { + structXmlNode.addChildNode(value); + } else { + throw new Error(`@aws-sdk - $unknown union member in XML requires value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`); + } + } + this.writeSimpleInto(0, v, node2, xmlns); + structXmlNode.addChildNode(node2); + } + if (xmlns) { + structXmlNode.addAttribute(xmlnsAttr, xmlns); + } + return structXmlNode; + } + writeList(listMember, array2, container, parentXmlns) { + if (!listMember.isMemberSchema()) { + throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`); + } + const listTraits = listMember.getMergedTraits(); + const listValueSchema = listMember.getValueSchema(); + const listValueTraits = listValueSchema.getMergedTraits(); + const sparse = !!listValueTraits.sparse; + const flat = !!listTraits.xmlFlattened; + const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns); + const writeItem = /* @__PURE__ */ __name((container2, value) => { + if (listValueSchema.isListSchema()) { + this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container2, xmlns); + } else if (listValueSchema.isMapSchema()) { + this.writeMap(listValueSchema, value, container2, xmlns); + } else if (listValueSchema.isStructSchema()) { + const struct = this.writeStruct(listValueSchema, value, xmlns); + container2.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member")); + } else { + const listItemNode = import_xml_builder2.XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member"); + this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns); + container2.addChildNode(listItemNode); + } + }, "writeItem"); + if (flat) { + for (const value of array2) { + if (sparse || value != null) { + writeItem(container, value); + } + } + } else { + const listNode = import_xml_builder2.XmlNode.of(listTraits.xmlName ?? listMember.getMemberName()); + if (xmlns) { + listNode.addAttribute(xmlnsAttr, xmlns); + } + for (const value of array2) { + if (sparse || value != null) { + writeItem(listNode, value); + } + } + container.addChildNode(listNode); + } + } + writeMap(mapMember, map2, container, parentXmlns, containerIsMap = false) { + if (!mapMember.isMemberSchema()) { + throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`); + } + const mapTraits = mapMember.getMergedTraits(); + const mapKeySchema = mapMember.getKeySchema(); + const mapKeyTraits = mapKeySchema.getMergedTraits(); + const keyTag = mapKeyTraits.xmlName ?? "key"; + const mapValueSchema = mapMember.getValueSchema(); + const mapValueTraits = mapValueSchema.getMergedTraits(); + const valueTag = mapValueTraits.xmlName ?? "value"; + const sparse = !!mapValueTraits.sparse; + const flat = !!mapTraits.xmlFlattened; + const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns); + const addKeyValue = /* @__PURE__ */ __name((entry, key, val) => { + const keyNode = import_xml_builder2.XmlNode.of(keyTag, key); + const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns); + if (keyXmlns) { + keyNode.addAttribute(keyXmlnsAttr, keyXmlns); + } + entry.addChildNode(keyNode); + let valueNode = import_xml_builder2.XmlNode.of(valueTag); + if (mapValueSchema.isListSchema()) { + this.writeList(mapValueSchema, val, valueNode, xmlns); + } else if (mapValueSchema.isMapSchema()) { + this.writeMap(mapValueSchema, val, valueNode, xmlns, true); + } else if (mapValueSchema.isStructSchema()) { + valueNode = this.writeStruct(mapValueSchema, val, xmlns); + } else { + this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns); + } + entry.addChildNode(valueNode); + }, "addKeyValue"); + if (flat) { + for (const key in map2) { + const val = map2[key]; + if (sparse || val != null) { + const entry = import_xml_builder2.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName()); + addKeyValue(entry, key, val); + container.addChildNode(entry); + } + } + } else { + let mapNode; + if (!containerIsMap) { + mapNode = import_xml_builder2.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName()); + if (xmlns) { + mapNode.addAttribute(xmlnsAttr, xmlns); + } + container.addChildNode(mapNode); + } + for (const key in map2) { + const val = map2[key]; + if (sparse || val != null) { + const entry = import_xml_builder2.XmlNode.of("entry"); + addKeyValue(entry, key, val); + (containerIsMap ? container : mapNode).addChildNode(entry); + } + } + } + } + writeSimple(_schema, value) { + if (null === value) { + throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value."); + } + const ns = NormalizedSchema.of(_schema); + let nodeContents = null; + if (value && typeof value === "object") { + if (ns.isBlobSchema()) { + nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value); + } else if (ns.isTimestampSchema() && value instanceof Date) { + const format = determineTimestampFormat(ns, this.settings); + switch (format) { + case 5: + nodeContents = value.toISOString().replace(".000Z", "Z"); + break; + case 6: + nodeContents = dateToUtcString(value); + break; + case 7: + nodeContents = String(value.getTime() / 1e3); + break; + default: + console.warn("Missing timestamp format, using http date", value); + nodeContents = dateToUtcString(value); + break; + } + } else if (ns.isBigDecimalSchema() && value) { + if (value instanceof NumericValue) { + return value.string; + } + return String(value); + } else if (ns.isMapSchema() || ns.isListSchema()) { + throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead."); + } else { + throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`); + } + } + if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) { + nodeContents = String(value); + } + if (ns.isStringSchema()) { + if (value === void 0 && ns.isIdempotencyToken()) { + nodeContents = generateIdempotencyToken(); + } else { + nodeContents = String(value); + } + } + if (nodeContents === null) { + throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`); + } + return nodeContents; + } + writeSimpleInto(_schema, value, into, parentXmlns) { + const nodeContents = this.writeSimple(_schema, value); + const ns = NormalizedSchema.of(_schema); + const content = new import_xml_builder2.XmlText(nodeContents); + const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns); + if (xmlns) { + into.addAttribute(xmlnsAttr, xmlns); + } + into.addChildNode(content); + } + getXmlnsAttribute(ns, parentXmlns) { + const traits = ns.getMergedTraits(); + const [prefix, xmlns] = traits.xmlNamespace ?? []; + if (xmlns && xmlns !== parentXmlns) { + return [prefix ? `xmlns:${prefix}` : "xmlns", xmlns]; + } + return [void 0, void 0]; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js +var XmlCodec; +var init_XmlCodec = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js"() { + init_ConfigurableSerdeContext2(); + init_XmlShapeDeserializer(); + init_XmlShapeSerializer(); + XmlCodec = class extends SerdeContextConfig2 { + static { + __name(this, "XmlCodec"); + } + settings; + constructor(settings) { + super(); + this.settings = settings; + } + createSerializer() { + const serializer = new XmlShapeSerializer(this.settings); + serializer.setSerdeContext(this.serdeContext); + return serializer; + } + createDeserializer() { + const deserializer = new XmlShapeDeserializer(this.settings); + deserializer.setSerdeContext(this.serdeContext); + return deserializer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +var AwsRestXmlProtocol; +var init_AwsRestXmlProtocol = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js"() { + init_protocols(); + init_schema(); + init_ProtocolLib(); + init_parseXmlBody(); + init_XmlCodec(); + AwsRestXmlProtocol = class extends HttpBindingProtocol { + static { + __name(this, "AwsRestXmlProtocol"); + } + codec; + serializer; + deserializer; + mixin = new ProtocolLib(); + constructor(options) { + super(options); + const settings = { + timestampFormat: { + useTrait: true, + default: 5 + }, + httpBindings: true, + xmlNamespace: options.xmlNamespace, + serviceNamespace: options.defaultNamespace + }; + this.codec = new XmlCodec(settings); + this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings); + this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings); + } + getPayloadCodec() { + return this.codec; + } + getShapeId() { + return "aws.protocols#restXml"; + } + async serializeRequest(operationSchema, input2, context) { + const request = await super.serializeRequest(operationSchema, input2, context); + const inputSchema = NormalizedSchema.of(operationSchema.input); + if (!request.headers["content-type"]) { + const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema); + if (contentType) { + request.headers["content-type"] = contentType; + } + } + if (typeof request.body === "string" && request.headers["content-type"] === this.getDefaultContentType() && !request.body.startsWith("' + request.body; + } + return request; + } + async deserializeResponse(operationSchema, context, response) { + return super.deserializeResponse(operationSchema, context, response); + } + async handleError(operationSchema, context, response, dataObject, metadata) { + const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? "Unknown"; + this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace); + if (dataObject.Error && typeof dataObject.Error === "object") { + for (const key of Object.keys(dataObject.Error)) { + dataObject[key] = dataObject.Error[key]; + if (key.toLowerCase() === "message") { + dataObject.message = dataObject.Error[key]; + } + } + } + if (dataObject.RequestId && !metadata.requestId) { + metadata.requestId = dataObject.RequestId; + } + const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata); + const ns = NormalizedSchema.of(errorSchema); + const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? "UnknownError"; + const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error; + const exception = new ErrorCtor({}); + await this.deserializeHttpMessage(errorSchema, context, response, dataObject); + const output2 = {}; + const errorDeserializer = this.codec.createDeserializer(); + for (const [name2, member] of ns.structIterator()) { + const target = member.getMergedTraits().xmlName ?? name2; + const value = dataObject.Error?.[target] ?? dataObject[target]; + output2[name2] = errorDeserializer.readSchema(member, value); + } + throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, { + $fault: ns.getMergedTraits().error, + message + }, output2), dataObject); + } + getDefaultContentType() { + return "application/xml"; + } + hasUnstructuredPayloadBinding(ns) { + for (const [, member] of ns.structIterator()) { + if (member.getMergedTraits().httpPayload) { + return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema()); + } + } + return false; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +var init_protocols2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js"() { + init_AwsRestJsonProtocol(); + init_AwsQueryProtocol(); + init_AwsRestXmlProtocol(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/protocol/S3RestXmlProtocol.js +var S3RestXmlProtocol; +var init_S3RestXmlProtocol = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/protocol/S3RestXmlProtocol.js"() { + init_protocols2(); + init_schema(); + S3RestXmlProtocol = class extends AwsRestXmlProtocol { + static { + __name(this, "S3RestXmlProtocol"); + } + async serializeRequest(operationSchema, input2, context) { + const request = await super.serializeRequest(operationSchema, input2, context); + const ns = NormalizedSchema.of(operationSchema.input); + const staticStructureSchema = ns.getSchema(); + let bucketMemberIndex = 0; + const requiredMemberCount = staticStructureSchema[6] ?? 0; + if (input2 && typeof input2 === "object") { + for (const [memberName, memberNs] of ns.structIterator()) { + if (++bucketMemberIndex > requiredMemberCount) { + break; + } + if (memberName === "Bucket") { + if (!input2.Bucket && memberNs.getMergedTraits().httpLabel) { + throw new Error(`No value provided for input HTTP label: Bucket.`); + } + break; + } + } + } + return request; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeDisableMultiregionAccessPointConfigOptions.js +var NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS; +var init_NodeDisableMultiregionAccessPointConfigOptions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeDisableMultiregionAccessPointConfigOptions.js"() { + init_config(); + NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = "AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS"; + NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = "s3_disable_multiregion_access_points"; + NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeUseArnRegionConfigOptions.js +var NODE_USE_ARN_REGION_ENV_NAME, NODE_USE_ARN_REGION_INI_NAME, NODE_USE_ARN_REGION_CONFIG_OPTIONS; +var init_NodeUseArnRegionConfigOptions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/NodeUseArnRegionConfigOptions.js"() { + init_config(); + NODE_USE_ARN_REGION_ENV_NAME = "AWS_S3_USE_ARN_REGION"; + NODE_USE_ARN_REGION_INI_NAME = "s3_use_arn_region"; + NODE_USE_ARN_REGION_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, NODE_USE_ARN_REGION_ENV_NAME, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, NODE_USE_ARN_REGION_INI_NAME, SelectorType.CONFIG), "configFileSelector"), + default: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostnameUtils.js +var DOMAIN_PATTERN, IP_ADDRESS_PATTERN, DOTS_PATTERN, DOT_PATTERN, S3_HOSTNAME_PATTERN, S3_US_EAST_1_ALTNAME_PATTERN, AWS_PARTITION_SUFFIX, isBucketNameOptions, isDnsCompatibleBucketName, getRegionalSuffix, getSuffix, getSuffixForArnEndpoint, validateArnEndpointOptions, validateService, validateS3Service, validateOutpostService, validatePartition, validateRegion, validateRegionalClient, validateAccountId, validateDNSHostLabel, validateCustomEndpoint, getArnResources, validateNoDualstack, validateNoFIPS, validateMrapAlias; +var init_bucketHostnameUtils = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostnameUtils.js"() { + DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/; + IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/; + DOTS_PATTERN = /\.\./; + DOT_PATTERN = /\./; + S3_HOSTNAME_PATTERN = /^(.+\.)?s3(-fips)?(\.dualstack)?[.-]([a-z0-9-]+)\./; + S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\.amazonaws\.com$/; + AWS_PARTITION_SUFFIX = "amazonaws.com"; + isBucketNameOptions = /* @__PURE__ */ __name((options) => typeof options.bucketName === "string", "isBucketNameOptions"); + isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), "isDnsCompatibleBucketName"); + getRegionalSuffix = /* @__PURE__ */ __name((hostname3) => { + const parts = hostname3.match(S3_HOSTNAME_PATTERN); + return [parts[4], hostname3.replace(new RegExp(`^${parts[0]}`), "")]; + }, "getRegionalSuffix"); + getSuffix = /* @__PURE__ */ __name((hostname3) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname3) ? ["us-east-1", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname3), "getSuffix"); + getSuffixForArnEndpoint = /* @__PURE__ */ __name((hostname3) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname3) ? [hostname3.replace(`.${AWS_PARTITION_SUFFIX}`, ""), AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname3), "getSuffixForArnEndpoint"); + validateArnEndpointOptions = /* @__PURE__ */ __name((options) => { + if (options.pathStyleEndpoint) { + throw new Error("Path-style S3 endpoint is not supported when bucket is an ARN"); + } + if (options.accelerateEndpoint) { + throw new Error("Accelerate endpoint is not supported when bucket is an ARN"); + } + if (!options.tlsCompatible) { + throw new Error("HTTPS is required when bucket is an ARN"); + } + }, "validateArnEndpointOptions"); + validateService = /* @__PURE__ */ __name((service) => { + if (service !== "s3" && service !== "s3-outposts" && service !== "s3-object-lambda") { + throw new Error("Expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component"); + } + }, "validateService"); + validateS3Service = /* @__PURE__ */ __name((service) => { + if (service !== "s3") { + throw new Error("Expect 's3' in Accesspoint ARN service component"); + } + }, "validateS3Service"); + validateOutpostService = /* @__PURE__ */ __name((service) => { + if (service !== "s3-outposts") { + throw new Error("Expect 's3-posts' in Outpost ARN service component"); + } + }, "validateOutpostService"); + validatePartition = /* @__PURE__ */ __name((partition2, options) => { + if (partition2 !== options.clientPartition) { + throw new Error(`Partition in ARN is incompatible, got "${partition2}" but expected "${options.clientPartition}"`); + } + }, "validatePartition"); + validateRegion = /* @__PURE__ */ __name((region, options) => { + }, "validateRegion"); + validateRegionalClient = /* @__PURE__ */ __name((region) => { + if (["s3-external-1", "aws-global"].includes(region)) { + throw new Error(`Client region ${region} is not regional`); + } + }, "validateRegionalClient"); + validateAccountId = /* @__PURE__ */ __name((accountId) => { + if (!/[0-9]{12}/.exec(accountId)) { + throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'"); + } + }, "validateAccountId"); + validateDNSHostLabel = /* @__PURE__ */ __name((label, options = { tlsCompatible: true }) => { + if (label.length >= 64 || !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) || /(\d+\.){3}\d+/.test(label) || /[.-]{2}/.test(label) || options?.tlsCompatible && DOT_PATTERN.test(label)) { + throw new Error(`Invalid DNS label ${label}`); + } + }, "validateDNSHostLabel"); + validateCustomEndpoint = /* @__PURE__ */ __name((options) => { + if (options.isCustomEndpoint) { + if (options.dualstackEndpoint) + throw new Error("Dualstack endpoint is not supported with custom endpoint"); + if (options.accelerateEndpoint) + throw new Error("Accelerate endpoint is not supported with custom endpoint"); + } + }, "validateCustomEndpoint"); + getArnResources = /* @__PURE__ */ __name((resource) => { + const delimiter = resource.includes(":") ? ":" : "/"; + const [resourceType, ...rest] = resource.split(delimiter); + if (resourceType === "accesspoint") { + if (rest.length !== 1 || rest[0] === "") { + throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`); + } + return { accesspointName: rest[0] }; + } else if (resourceType === "outpost") { + if (!rest[0] || rest[1] !== "accesspoint" || !rest[2] || rest.length !== 3) { + throw new Error(`Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`); + } + const [outpostId, _, accesspointName] = rest; + return { outpostId, accesspointName }; + } else { + throw new Error(`ARN resource should begin with 'accesspoint${delimiter}' or 'outpost${delimiter}'`); + } + }, "getArnResources"); + validateNoDualstack = /* @__PURE__ */ __name((dualstackEndpoint) => { + }, "validateNoDualstack"); + validateNoFIPS = /* @__PURE__ */ __name((useFipsEndpoint) => { + if (useFipsEndpoint) + throw new Error(`FIPS region is not supported with Outpost.`); + }, "validateNoFIPS"); + validateMrapAlias = /* @__PURE__ */ __name((name2) => { + try { + name2.split(".").forEach((label) => { + validateDNSHostLabel(label); + }); + } catch (e5) { + throw new Error(`"${name2}" is not a DNS compatible name.`); + } + }, "validateMrapAlias"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostname.js +var bucketHostname, getEndpointFromBucketName, getEndpointFromArn, getEndpointFromObjectLambdaArn, getEndpointFromMRAPArn, getEndpointFromOutpostArn, getEndpointFromAccessPointArn; +var init_bucketHostname = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketHostname.js"() { + init_bucketHostnameUtils(); + bucketHostname = /* @__PURE__ */ __name((options) => { + validateCustomEndpoint(options); + return isBucketNameOptions(options) ? getEndpointFromBucketName(options) : getEndpointFromArn(options); + }, "bucketHostname"); + getEndpointFromBucketName = /* @__PURE__ */ __name(({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, fipsEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false }) => { + const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : getSuffix(baseHostname); + if (pathStyleEndpoint || !isDnsCompatibleBucketName(bucketName) || tlsCompatible && DOT_PATTERN.test(bucketName)) { + return { + bucketEndpoint: false, + hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname + }; + } + if (accelerateEndpoint) { + baseHostname = `s3-accelerate${dualstackEndpoint ? ".dualstack" : ""}.${hostnameSuffix}`; + } else if (dualstackEndpoint) { + baseHostname = `s3.dualstack.${clientRegion}.${hostnameSuffix}`; + } + return { + bucketEndpoint: true, + hostname: `${bucketName}.${baseHostname}` + }; + }, "getEndpointFromBucketName"); + getEndpointFromArn = /* @__PURE__ */ __name((options) => { + const { isCustomEndpoint, baseHostname, clientRegion } = options; + const hostnameSuffix = isCustomEndpoint ? baseHostname : getSuffixForArnEndpoint(baseHostname)[1]; + const { pathStyleEndpoint, accelerateEndpoint = false, fipsEndpoint = false, tlsCompatible = true, bucketName, clientPartition = "aws" } = options; + validateArnEndpointOptions({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible }); + const { service, partition: partition2, accountId, region, resource } = bucketName; + validateService(service); + validatePartition(partition2, { clientPartition }); + validateAccountId(accountId); + const { accesspointName, outpostId } = getArnResources(resource); + if (service === "s3-object-lambda") { + return getEndpointFromObjectLambdaArn({ ...options, tlsCompatible, bucketName, accesspointName, hostnameSuffix }); + } + if (region === "") { + return getEndpointFromMRAPArn({ ...options, clientRegion, mrapAlias: accesspointName, hostnameSuffix }); + } + if (outpostId) { + return getEndpointFromOutpostArn({ ...options, clientRegion, outpostId, accesspointName, hostnameSuffix }); + } + return getEndpointFromAccessPointArn({ ...options, clientRegion, accesspointName, hostnameSuffix }); + }, "getEndpointFromArn"); + getEndpointFromObjectLambdaArn = /* @__PURE__ */ __name(({ dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, useArnRegion, clientRegion, clientSigningRegion = clientRegion, accesspointName, bucketName, hostnameSuffix }) => { + const { accountId, region, service } = bucketName; + validateRegionalClient(clientRegion); + const DNSHostLabel = `${accesspointName}-${accountId}`; + validateDNSHostLabel(DNSHostLabel, { tlsCompatible }); + const endpointRegion = useArnRegion ? region : clientRegion; + const signingRegion = useArnRegion ? region : clientSigningRegion; + return { + bucketEndpoint: true, + hostname: `${DNSHostLabel}.${service}${fipsEndpoint ? "-fips" : ""}.${endpointRegion}.${hostnameSuffix}`, + signingRegion, + signingService: service + }; + }, "getEndpointFromObjectLambdaArn"); + getEndpointFromMRAPArn = /* @__PURE__ */ __name(({ disableMultiregionAccessPoints, dualstackEndpoint = false, isCustomEndpoint, mrapAlias, hostnameSuffix }) => { + if (disableMultiregionAccessPoints === true) { + throw new Error("SDK is attempting to use a MRAP ARN. Please enable to feature."); + } + validateMrapAlias(mrapAlias); + return { + bucketEndpoint: true, + hostname: `${mrapAlias}${isCustomEndpoint ? "" : `.accesspoint.s3-global`}.${hostnameSuffix}`, + signingRegion: "*" + }; + }, "getEndpointFromMRAPArn"); + getEndpointFromOutpostArn = /* @__PURE__ */ __name(({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, outpostId, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix }) => { + validateRegionalClient(clientRegion); + const DNSHostLabel = `${accesspointName}-${bucketName.accountId}`; + validateDNSHostLabel(DNSHostLabel, { tlsCompatible }); + const endpointRegion = useArnRegion ? bucketName.region : clientRegion; + const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion; + validateOutpostService(bucketName.service); + validateDNSHostLabel(outpostId, { tlsCompatible }); + validateNoFIPS(fipsEndpoint); + const hostnamePrefix = `${DNSHostLabel}.${outpostId}`; + return { + bucketEndpoint: true, + hostname: `${hostnamePrefix}${isCustomEndpoint ? "" : `.s3-outposts.${endpointRegion}`}.${hostnameSuffix}`, + signingRegion, + signingService: "s3-outposts" + }; + }, "getEndpointFromOutpostArn"); + getEndpointFromAccessPointArn = /* @__PURE__ */ __name(({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, dualstackEndpoint = false, fipsEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix }) => { + validateRegionalClient(clientRegion); + const hostnamePrefix = `${accesspointName}-${bucketName.accountId}`; + validateDNSHostLabel(hostnamePrefix, { tlsCompatible }); + const endpointRegion = useArnRegion ? bucketName.region : clientRegion; + const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion; + validateS3Service(bucketName.service); + return { + bucketEndpoint: true, + hostname: `${hostnamePrefix}${isCustomEndpoint ? "" : `.s3-accesspoint${fipsEndpoint ? "-fips" : ""}${dualstackEndpoint ? ".dualstack" : ""}.${endpointRegion}`}.${hostnameSuffix}`, + signingRegion + }; + }, "getEndpointFromAccessPointArn"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketEndpointMiddleware.js +var bucketEndpointMiddleware2, bucketEndpointMiddlewareOptions2, getBucketEndpointPlugin; +var init_bucketEndpointMiddleware = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/bucketEndpointMiddleware.js"() { + init_util2(); + init_protocols(); + init_bucketHostname(); + bucketEndpointMiddleware2 = /* @__PURE__ */ __name((options) => (next, context) => async (args) => { + const { Bucket: bucketName } = args.input; + let replaceBucketInPath = options.bucketEndpoint; + const request = args.request; + if (HttpRequest.isInstance(request)) { + if (options.bucketEndpoint) { + request.hostname = bucketName; + } else if (validate2(bucketName)) { + const bucketArn = parse3(bucketName); + const clientRegion = await options.region(); + const useDualstackEndpoint = await options.useDualstackEndpoint(); + const useFipsEndpoint = await options.useFipsEndpoint(); + const { partition: partition2, signingRegion = clientRegion } = await options.regionInfoProvider(clientRegion, { useDualstackEndpoint, useFipsEndpoint }) || {}; + const useArnRegion = await options.useArnRegion(); + const { hostname: hostname3, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService } = bucketHostname({ + bucketName: bucketArn, + baseHostname: request.hostname, + accelerateEndpoint: options.useAccelerateEndpoint, + dualstackEndpoint: useDualstackEndpoint, + fipsEndpoint: useFipsEndpoint, + pathStyleEndpoint: options.forcePathStyle, + tlsCompatible: request.protocol === "https:", + useArnRegion, + clientPartition: partition2, + clientSigningRegion: signingRegion, + clientRegion, + isCustomEndpoint: options.isCustomEndpoint, + disableMultiregionAccessPoints: await options.disableMultiregionAccessPoints() + }); + if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) { + context["signing_region"] = modifiedSigningRegion; + } + if (signingService && signingService !== "s3") { + context["signing_service"] = signingService; + } + request.hostname = hostname3; + replaceBucketInPath = bucketEndpoint; + } else { + const clientRegion = await options.region(); + const dualstackEndpoint = await options.useDualstackEndpoint(); + const fipsEndpoint = await options.useFipsEndpoint(); + const { hostname: hostname3, bucketEndpoint } = bucketHostname({ + bucketName, + clientRegion, + baseHostname: request.hostname, + accelerateEndpoint: options.useAccelerateEndpoint, + dualstackEndpoint, + fipsEndpoint, + pathStyleEndpoint: options.forcePathStyle, + tlsCompatible: request.protocol === "https:", + isCustomEndpoint: options.isCustomEndpoint + }); + request.hostname = hostname3; + replaceBucketInPath = bucketEndpoint; + } + if (replaceBucketInPath) { + request.path = request.path.replace(/^(\/)?[^\/]+/, ""); + if (request.path === "") { + request.path = "/"; + } + } + } + return next({ ...args, request }); + }, "bucketEndpointMiddleware"); + bucketEndpointMiddlewareOptions2 = { + tags: ["BUCKET_ENDPOINT"], + name: "bucketEndpointMiddleware", + relation: "before", + toMiddleware: "hostHeaderMiddleware", + override: true + }; + getBucketEndpointPlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.addRelativeTo(bucketEndpointMiddleware2(options), bucketEndpointMiddlewareOptions2); + }, "applyToStack") + }), "getBucketEndpointPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/configurations.js +function resolveBucketEndpointConfig(input2) { + const { bucketEndpoint = false, forcePathStyle = false, useAccelerateEndpoint = false, useArnRegion, disableMultiregionAccessPoints = false } = input2; + return Object.assign(input2, { + bucketEndpoint, + forcePathStyle, + useAccelerateEndpoint, + useArnRegion: typeof useArnRegion === "function" ? useArnRegion : () => Promise.resolve(useArnRegion), + disableMultiregionAccessPoints: typeof disableMultiregionAccessPoints === "function" ? disableMultiregionAccessPoints : () => Promise.resolve(disableMultiregionAccessPoints) + }); +} +var init_configurations3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-bucket-endpoint/configurations.js"() { + __name(resolveBucketEndpointConfig, "resolveBucketEndpointConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-expect-continue/middleware-expect-continue.js +function addExpectContinueMiddleware(options) { + return (next) => async (args) => { + const { request } = args; + if (options.expectContinueHeader !== false && HttpRequest.isInstance(request) && request.body && options.runtime === "node" && options.requestHandler?.constructor?.name !== "FetchHttpHandler") { + let sendHeader = true; + if (typeof options.expectContinueHeader === "number") { + try { + const bodyLength = Number(request.headers?.["content-length"]) ?? options.bodyLengthChecker?.(request.body) ?? Infinity; + sendHeader = bodyLength >= options.expectContinueHeader; + } catch (e5) { + } + } else { + sendHeader = !!options.expectContinueHeader; + } + if (sendHeader) { + request.headers.Expect = "100-continue"; + } + } + return next({ + ...args, + request + }); + }; +} +var addExpectContinueMiddlewareOptions, getAddExpectContinuePlugin; +var init_middleware_expect_continue = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-expect-continue/middleware-expect-continue.js"() { + init_protocols(); + __name(addExpectContinueMiddleware, "addExpectContinueMiddleware"); + addExpectContinueMiddlewareOptions = { + step: "build", + tags: ["SET_EXPECT_HEADER", "EXPECT_HEADER"], + name: "addExpectContinueMiddleware", + override: true + }; + getAddExpectContinuePlugin = /* @__PURE__ */ __name((options) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions); + }, "applyToStack") + }), "getAddExpectContinuePlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/middleware-location-constraint.js +function locationConstraintMiddleware(options) { + return (next) => async (args) => { + const { CreateBucketConfiguration } = args.input; + const region = await options.region(); + if (!CreateBucketConfiguration?.LocationConstraint && !CreateBucketConfiguration?.Location) { + if (region !== "us-east-1") { + args.input.CreateBucketConfiguration = args.input.CreateBucketConfiguration ?? {}; + args.input.CreateBucketConfiguration.LocationConstraint = region; + } + } + return next(args); + }; +} +var locationConstraintMiddlewareOptions, getLocationConstraintPlugin; +var init_middleware_location_constraint = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/middleware-location-constraint.js"() { + __name(locationConstraintMiddleware, "locationConstraintMiddleware"); + locationConstraintMiddlewareOptions = { + step: "initialize", + tags: ["LOCATION_CONSTRAINT", "CREATE_BUCKET_CONFIGURATION"], + name: "locationConstraintMiddleware", + override: true + }; + getLocationConstraintPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(locationConstraintMiddleware(config3), locationConstraintMiddlewareOptions); + }, "applyToStack") + }), "getLocationConstraintPlugin"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/configuration.js +function resolveLocationConstraintConfig(input2) { + return input2; +} +var init_configuration2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-location-constraint/configuration.js"() { + __name(resolveLocationConstraintConfig, "resolveLocationConstraintConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-ssec/middleware-ssec.js +function ssecMiddleware(options) { + return (next) => async (args) => { + const input2 = { ...args.input }; + const properties = [ + { + target: "SSECustomerKey", + hash: "SSECustomerKeyMD5" + }, + { + target: "CopySourceSSECustomerKey", + hash: "CopySourceSSECustomerKeyMD5" + } + ]; + for (const prop of properties) { + const value = input2[prop.target]; + if (value) { + let valueForHash; + if (typeof value === "string") { + if (isValidBase64EncodedSSECustomerKey(value, options)) { + valueForHash = options.base64Decoder(value); + } else { + valueForHash = options.utf8Decoder(value); + input2[prop.target] = options.base64Encoder(valueForHash); + } + } else { + valueForHash = ArrayBuffer.isView(value) ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength) : new Uint8Array(value); + input2[prop.target] = options.base64Encoder(valueForHash); + } + const hash3 = new options.md5(); + hash3.update(valueForHash); + input2[prop.hash] = options.base64Encoder(await hash3.digest()); + } + } + return next({ + ...args, + input: input2 + }); + }; +} +function isValidBase64EncodedSSECustomerKey(str, options) { + const base64Regex = /^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; + if (!base64Regex.test(str)) + return false; + try { + const decodedBytes = options.base64Decoder(str); + return decodedBytes.length === 32; + } catch { + return false; + } +} +var ssecMiddlewareOptions, getSsecPlugin; +var init_middleware_ssec = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/middleware-ssec/middleware-ssec.js"() { + __name(ssecMiddleware, "ssecMiddleware"); + ssecMiddlewareOptions = { + name: "ssecMiddleware", + step: "initialize", + tags: ["SSE"], + override: true + }; + getSsecPlugin = /* @__PURE__ */ __name((config3) => ({ + applyToStack: /* @__PURE__ */ __name((clientStack) => { + clientStack.add(ssecMiddleware(config3), ssecMiddlewareOptions); + }, "applyToStack") + }), "getSsecPlugin"); + __name(isValidBase64EncodedSSECustomerKey, "isValidBase64EncodedSSECustomerKey"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/index.js +var s3_exports = {}; +__export(s3_exports, { + NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS, + NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME, + NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME: () => NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME, + NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: () => NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS, + NODE_USE_ARN_REGION_CONFIG_OPTIONS: () => NODE_USE_ARN_REGION_CONFIG_OPTIONS, + NODE_USE_ARN_REGION_ENV_NAME: () => NODE_USE_ARN_REGION_ENV_NAME, + NODE_USE_ARN_REGION_INI_NAME: () => NODE_USE_ARN_REGION_INI_NAME, + S3ExpressIdentityCache: () => S3ExpressIdentityCache, + S3ExpressIdentityCacheEntry: () => S3ExpressIdentityCacheEntry, + S3ExpressIdentityProviderImpl: () => S3ExpressIdentityProviderImpl, + S3RestXmlProtocol: () => S3RestXmlProtocol, + SignatureV4S3Express: () => SignatureV4S3Express, + addExpectContinueMiddleware: () => addExpectContinueMiddleware, + addExpectContinueMiddlewareOptions: () => addExpectContinueMiddlewareOptions, + bucketEndpointMiddleware: () => bucketEndpointMiddleware2, + bucketEndpointMiddlewareOptions: () => bucketEndpointMiddlewareOptions2, + bucketHostname: () => bucketHostname, + checkContentLengthHeader: () => checkContentLengthHeader, + checkContentLengthHeaderMiddlewareOptions: () => checkContentLengthHeaderMiddlewareOptions, + getAddExpectContinuePlugin: () => getAddExpectContinuePlugin, + getArnResources: () => getArnResources, + getBucketEndpointPlugin: () => getBucketEndpointPlugin, + getCheckContentLengthHeaderPlugin: () => getCheckContentLengthHeaderPlugin, + getLocationConstraintPlugin: () => getLocationConstraintPlugin, + getRegionRedirectMiddlewarePlugin: () => getRegionRedirectMiddlewarePlugin, + getS3ExpiresMiddlewarePlugin: () => getS3ExpiresMiddlewarePlugin, + getS3ExpressHttpSigningPlugin: () => getS3ExpressHttpSigningPlugin, + getS3ExpressPlugin: () => getS3ExpressPlugin, + getSsecPlugin: () => getSsecPlugin, + getSuffixForArnEndpoint: () => getSuffixForArnEndpoint, + getThrow200ExceptionsPlugin: () => getThrow200ExceptionsPlugin, + getValidateBucketNamePlugin: () => getValidateBucketNamePlugin, + isValidBase64EncodedSSECustomerKey: () => isValidBase64EncodedSSECustomerKey, + locationConstraintMiddleware: () => locationConstraintMiddleware, + locationConstraintMiddlewareOptions: () => locationConstraintMiddlewareOptions, + regionRedirectEndpointMiddleware: () => regionRedirectEndpointMiddleware, + regionRedirectEndpointMiddlewareOptions: () => regionRedirectEndpointMiddlewareOptions, + regionRedirectMiddleware: () => regionRedirectMiddleware, + regionRedirectMiddlewareOptions: () => regionRedirectMiddlewareOptions, + resolveBucketEndpointConfig: () => resolveBucketEndpointConfig, + resolveLocationConstraintConfig: () => resolveLocationConstraintConfig, + resolveS3Config: () => resolveS3Config, + s3ExpiresMiddleware: () => s3ExpiresMiddleware, + s3ExpiresMiddlewareOptions: () => s3ExpiresMiddlewareOptions, + s3ExpressHttpSigningMiddleware: () => s3ExpressHttpSigningMiddleware, + s3ExpressHttpSigningMiddlewareOptions: () => s3ExpressHttpSigningMiddlewareOptions, + s3ExpressMiddleware: () => s3ExpressMiddleware, + s3ExpressMiddlewareOptions: () => s3ExpressMiddlewareOptions, + ssecMiddleware: () => ssecMiddleware, + ssecMiddlewareOptions: () => ssecMiddlewareOptions, + throw200ExceptionsMiddleware: () => throw200ExceptionsMiddleware, + throw200ExceptionsMiddlewareOptions: () => throw200ExceptionsMiddlewareOptions, + validateAccountId: () => validateAccountId, + validateBucketNameMiddleware: () => validateBucketNameMiddleware, + validateBucketNameMiddlewareOptions: () => validateBucketNameMiddlewareOptions, + validateDNSHostLabel: () => validateDNSHostLabel, + validateNoDualstack: () => validateNoDualstack, + validateNoFIPS: () => validateNoFIPS, + validateOutpostService: () => validateOutpostService, + validatePartition: () => validatePartition, + validateRegion: () => validateRegion +}); +var init_s3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+middleware-sdk-s3@3.972.80/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/submodules/s3/index.js"() { + init_check_content_length_header(); + init_region_redirect_endpoint_middleware(); + init_region_redirect_middleware(); + init_s3Configuration(); + init_s3_expires_middleware(); + init_S3ExpressIdentityCache(); + init_S3ExpressIdentityCacheEntry(); + init_S3ExpressIdentityProviderImpl(); + init_SignatureV4S3Express(); + init_constants5(); + init_s3ExpressMiddleware(); + init_s3ExpressHttpSigningMiddleware(); + init_throw_200_exceptions(); + init_validate_bucket_name(); + init_S3RestXmlProtocol(); + init_NodeDisableMultiregionAccessPointConfigOptions(); + init_NodeUseArnRegionConfigOptions(); + init_bucketEndpointMiddleware(); + init_bucketHostname(); + init_configurations3(); + init_bucketHostnameUtils(); + init_middleware_expect_continue(); + init_middleware_location_constraint(); + init_configuration2(); + init_middleware_ssec(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js +var getDateHeader, getAgeHeader; +var init_getDateHeader = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js"() { + init_protocols(); + getDateHeader = /* @__PURE__ */ __name((response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : void 0, "getDateHeader"); + getAgeHeader = /* @__PURE__ */ __name((response) => HttpResponse.isInstance(response) ? response.headers?.age ?? response.headers?.Age : void 0, "getAgeHeader"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js +var getSkewCorrectedDate; +var init_getSkewCorrectedDate = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js"() { + getSkewCorrectedDate = /* @__PURE__ */ __name((systemClockOffset) => new Date(Date.now() + systemClockOffset), "getSkewCorrectedDate"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js +var getUpdatedSystemClockOffset; +var init_getUpdatedSystemClockOffset = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js"() { + getUpdatedSystemClockOffset = /* @__PURE__ */ __name((clockTime, currentSystemClockOffset, timeRequestSent, ageHeader) => { + if (ageHeader !== void 0) { + return currentSystemClockOffset; + } + const serverTime = Date.parse(clockTime); + const timeResponseReceived = Date.now(); + if (timeRequestSent !== void 0 && timeResponseReceived - timeRequestSent > 9e5) { + return currentSystemClockOffset; + } + const candidateSkew = timeRequestSent !== void 0 ? serverTime - (timeRequestSent + timeResponseReceived) / 2 : serverTime - timeResponseReceived; + return candidateSkew; + }, "getUpdatedSystemClockOffset"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js +var init_utils = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js"() { + init_getDateHeader(); + init_getSkewCorrectedDate(); + init_getUpdatedSystemClockOffset(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +var import_types5, throwSigningPropertyError, hasEventStreamOutput, validateSigningProperties, AwsSdkSigV4Signer, AWSSDKSigV4Signer; +var init_AwsSdkSigV4Signer = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js"() { + init_protocols(); + import_types5 = __toESM(require_dist_cjs()); + init_utils(); + throwSigningPropertyError = /* @__PURE__ */ __name((name2, property) => { + if (!property) { + throw new Error(`Property \`${name2}\` is not resolved for AWS SDK SigV4Auth`); + } + return property; + }, "throwSigningPropertyError"); + hasEventStreamOutput = /* @__PURE__ */ __name((signingProperties) => { + const context = signingProperties.context; + const eventStream = context?.[import_types5.SMITHY_CONTEXT_KEY]?.eventStream; + return eventStream?.output === true; + }, "hasEventStreamOutput"); + validateSigningProperties = /* @__PURE__ */ __name(async (signingProperties) => { + const context = throwSigningPropertyError("context", signingProperties.context); + const config3 = throwSigningPropertyError("config", signingProperties.config); + const authScheme = context.endpointV2?.properties?.authSchemes?.[0]; + const signerFunction = throwSigningPropertyError("signer", config3.signer); + const signer = await signerFunction(authScheme); + const signingRegion = signingProperties?.signingRegion; + const signingRegionSet = signingProperties?.signingRegionSet; + const signingName = signingProperties?.signingName; + return { + config: config3, + signer, + signingRegion, + signingRegionSet, + signingName + }; + }, "validateSigningProperties"); + AwsSdkSigV4Signer = class { + static { + __name(this, "AwsSdkSigV4Signer"); + } + async sign(httpRequest, identity, signingProperties) { + if (!HttpRequest.isInstance(httpRequest)) { + throw new Error("The request is not an instance of `HttpRequest` and cannot be signed"); + } + const validatedProps = await validateSigningProperties(signingProperties); + const { config: config3, signer } = validatedProps; + let { signingRegion, signingName } = validatedProps; + const handlerExecutionContext = signingProperties.context; + if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) { + const [first, second] = handlerExecutionContext.authSchemes; + if (first?.name === "sigv4a" && second?.name === "sigv4") { + signingRegion = second?.signingRegion ?? signingRegion; + signingName = second?.signingName ?? signingName; + } + } + const noSkewCorrection = await config3.disableClockSkewCorrection?.() === true; + signingProperties._disableClockSkewCorrection = noSkewCorrection; + const skipSkewSampling = noSkewCorrection || hasEventStreamOutput(signingProperties); + signingProperties._skipClockSkewSampling = skipSkewSampling; + if (!skipSkewSampling) { + signingProperties._preRequestSystemClockOffset = config3.systemClockOffset; + signingProperties._requestSentAt = Date.now(); + } + const signedRequest = await signer.sign(httpRequest, { + signingDate: noSkewCorrection ? /* @__PURE__ */ new Date() : getSkewCorrectedDate(config3.systemClockOffset), + signingRegion, + signingService: signingName + }); + return signedRequest; + } + errorHandler(signingProperties) { + return (error62) => { + const errorException = error62; + if (!signingProperties._skipClockSkewSampling && !signingProperties._disableClockSkewCorrection) { + const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response); + if (serverTime) { + const config3 = throwSigningPropertyError("config", signingProperties.config); + const preRequestOffset = signingProperties._preRequestSystemClockOffset; + const timeRequestSent = signingProperties._requestSentAt; + const ageHeader = getAgeHeader(errorException.$response); + const newOffset = getUpdatedSystemClockOffset(serverTime, config3.systemClockOffset, timeRequestSent, ageHeader); + config3.systemClockOffset = newOffset; + const skewExceedsThreshold = Math.abs(newOffset) >= 24e4; + const isLocalCorrection = newOffset !== preRequestOffset; + const isConcurrentCorrection = preRequestOffset !== void 0 && preRequestOffset !== newOffset; + if (skewExceedsThreshold && (isLocalCorrection || isConcurrentCorrection) && errorException.$metadata) { + errorException.$metadata.clockSkewCorrected = true; + } + } + } + throw error62; + }; + } + successHandler(httpResponse, signingProperties) { + if (signingProperties._skipClockSkewSampling || signingProperties._disableClockSkewCorrection) { + return; + } + const dateHeader = getDateHeader(httpResponse); + if (dateHeader) { + const config3 = throwSigningPropertyError("config", signingProperties.config); + const timeRequestSent = signingProperties._requestSentAt; + const ageHeader = getAgeHeader(httpResponse); + config3.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config3.systemClockOffset, timeRequestSent, ageHeader); + } + } + }; + AWSSDKSigV4Signer = AwsSdkSigV4Signer; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js +var AwsSdkSigV4ASigner; +var init_AwsSdkSigV4ASigner = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js"() { + init_protocols(); + init_utils(); + init_AwsSdkSigV4Signer(); + AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer { + static { + __name(this, "AwsSdkSigV4ASigner"); + } + async sign(httpRequest, identity, signingProperties) { + if (!HttpRequest.isInstance(httpRequest)) { + throw new Error("The request is not an instance of `HttpRequest` and cannot be signed"); + } + const { config: config3, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties); + const configResolvedSigningRegionSet = await config3.sigv4aSigningRegionSet?.(); + const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(","); + const noSkewCorrection = await config3.disableClockSkewCorrection?.() === true; + signingProperties._disableClockSkewCorrection = noSkewCorrection; + if (!noSkewCorrection) { + signingProperties._preRequestSystemClockOffset = config3.systemClockOffset; + signingProperties._requestSentAt = Date.now(); + } + const signedRequest = await signer.sign(httpRequest, { + signingDate: noSkewCorrection ? /* @__PURE__ */ new Date() : getSkewCorrectedDate(config3.systemClockOffset), + signingRegion: multiRegionOverride, + signingService: signingName + }); + return signedRequest; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js +var getArrayForCommaSeparatedString; +var init_getArrayForCommaSeparatedString = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js"() { + getArrayForCommaSeparatedString = /* @__PURE__ */ __name((str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [], "getArrayForCommaSeparatedString"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js +var getBearerTokenEnvKey; +var init_getBearerTokenEnvKey = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js"() { + getBearerTokenEnvKey = /* @__PURE__ */ __name((signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`, "getBearerTokenEnvKey"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js +var NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY, NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS; +var init_NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js"() { + init_getArrayForCommaSeparatedString(); + init_getBearerTokenEnvKey(); + NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE"; + NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference"; + NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3, options) => { + if (options?.signingName) { + const bearerTokenKey = getBearerTokenEnvKey(options.signingName); + if (bearerTokenKey in env3) + return ["httpBearerAuth"]; + } + if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env3)) + return void 0; + return getArrayForCommaSeparatedString(env3[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]); + }, "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => { + if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile)) + return void 0; + return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]); + }, "configFileSelector"), + default: [] + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js +var resolveAwsSdkSigV4AConfig, NODE_SIGV4A_CONFIG_OPTIONS; +var init_resolveAwsSdkSigV4AConfig = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js"() { + init_dist_es(); + init_config(); + resolveAwsSdkSigV4AConfig = /* @__PURE__ */ __name((config3) => { + config3.sigv4aSigningRegionSet = normalizeProvider2(config3.sigv4aSigningRegionSet); + return config3; + }, "resolveAwsSdkSigV4AConfig"); + NODE_SIGV4A_CONFIG_OPTIONS = { + environmentVariableSelector(env3) { + if (env3.AWS_SIGV4A_SIGNING_REGION_SET) { + return env3.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim()); + } + throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", { + tryNextLink: true + }); + }, + configFileSelector(profile) { + if (profile.sigv4a_signing_region_set) { + return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim()); + } + throw new ProviderError("sigv4a_signing_region_set not set in profile.", { + tryNextLink: true + }); + }, + default: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js +function normalizeCredentialProvider(config3, { credentials, credentialDefaultProvider }) { + let credentialsProvider; + if (credentials) { + if (!credentials?.memoized) { + credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh); + } else { + credentialsProvider = credentials; + } + } else { + if (credentialDefaultProvider) { + credentialsProvider = normalizeProvider2(credentialDefaultProvider(Object.assign({}, config3, { + parentClientConfig: config3 + }))); + } else { + credentialsProvider = /* @__PURE__ */ __name(async () => { + throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured."); + }, "credentialsProvider"); + } + } + credentialsProvider.memoized = true; + return credentialsProvider; +} +function bindCallerConfig(config3, credentialsProvider) { + if (credentialsProvider.configBound) { + return credentialsProvider; + } + const fn = /* @__PURE__ */ __name(async (options) => credentialsProvider({ ...options, callerClientConfig: config3 }), "fn"); + fn.memoized = credentialsProvider.memoized; + fn.configBound = true; + return fn; +} +var import_signature_v4, bindResolveAwsSdkSigV4Config; +var init_resolveAwsSdkSigV4Config = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js"() { + init_client2(); + init_dist_es(); + import_signature_v4 = __toESM(require_dist_cjs2()); + bindResolveAwsSdkSigV4Config = /* @__PURE__ */ __name((defaultDisableClockSkewCorrection) => (config3) => { + let inputCredentials = config3.credentials; + let isUserSupplied = !!config3.credentials; + let resolvedCredentials = void 0; + Object.defineProperty(config3, "credentials", { + set(credentials) { + if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) { + isUserSupplied = true; + } + inputCredentials = credentials; + const memoizedProvider = normalizeCredentialProvider(config3, { + credentials: inputCredentials, + credentialDefaultProvider: config3.credentialDefaultProvider + }); + const boundProvider = bindCallerConfig(config3, memoizedProvider); + if (isUserSupplied && !boundProvider.attributed) { + const isCredentialObject = typeof inputCredentials === "object" && inputCredentials !== null; + resolvedCredentials = /* @__PURE__ */ __name(async (options) => { + const creds = await boundProvider(options); + const attributedCreds = creds; + if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) { + return setCredentialFeature(attributedCreds, "CREDENTIALS_CODE", "e"); + } + return attributedCreds; + }, "resolvedCredentials"); + resolvedCredentials.memoized = boundProvider.memoized; + resolvedCredentials.configBound = boundProvider.configBound; + resolvedCredentials.attributed = true; + } else { + resolvedCredentials = boundProvider; + } + }, + get() { + return resolvedCredentials; + }, + enumerable: true, + configurable: true + }); + config3.credentials = inputCredentials; + const { signingEscapePath = true, systemClockOffset = config3.systemClockOffset || 0, sha256: sha2562 } = config3; + let signer; + if (config3.signer) { + signer = normalizeProvider2(config3.signer); + } else if (config3.regionInfoProvider) { + signer = /* @__PURE__ */ __name(() => normalizeProvider2(config3.region)().then(async (region) => [ + await config3.regionInfoProvider(region, { + useFipsEndpoint: await config3.useFipsEndpoint(), + useDualstackEndpoint: await config3.useDualstackEndpoint() + }) || {}, + region + ]).then(([regionInfo, region]) => { + const { signingRegion, signingService } = regionInfo; + config3.signingRegion = config3.signingRegion || signingRegion || region; + config3.signingName = config3.signingName || signingService || config3.serviceId; + const params = { + ...config3, + credentials: config3.credentials, + region: config3.signingRegion, + service: config3.signingName, + sha256: sha2562, + uriEscapePath: signingEscapePath + }; + const SignerCtor = config3.signerConstructor || import_signature_v4.SignatureV4; + return new SignerCtor(params); + }), "signer"); + } else { + signer = /* @__PURE__ */ __name(async (authScheme) => { + authScheme = Object.assign({}, { + name: "sigv4", + signingName: config3.signingName || config3.defaultSigningName, + signingRegion: await normalizeProvider2(config3.region)(), + properties: {} + }, authScheme); + const signingRegion = authScheme.signingRegion; + const signingService = authScheme.signingName; + config3.signingRegion = config3.signingRegion || signingRegion; + config3.signingName = config3.signingName || signingService || config3.serviceId; + const params = { + ...config3, + credentials: config3.credentials, + region: config3.signingRegion, + service: config3.signingName, + sha256: sha2562, + uriEscapePath: signingEscapePath + }; + const SignerCtor = config3.signerConstructor || import_signature_v4.SignatureV4; + return new SignerCtor(params); + }, "signer"); + } + const resolvedConfig = Object.assign(config3, { + systemClockOffset, + signingEscapePath, + signer, + disableClockSkewCorrection: normalizeProvider2(config3.disableClockSkewCorrection ?? defaultDisableClockSkewCorrection) + }); + return resolvedConfig; + }, "bindResolveAwsSdkSigV4Config"); + __name(normalizeCredentialProvider, "normalizeCredentialProvider"); + __name(bindCallerConfig, "bindCallerConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +var init_aws_sdk = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js"() { + init_AwsSdkSigV4Signer(); + init_AwsSdkSigV4ASigner(); + init_NODE_AUTH_SCHEME_PREFERENCE_OPTIONS(); + init_resolveAwsSdkSigV4AConfig(); + init_resolveAwsSdkSigV4Config(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.js +var ENV_DISABLE_CLOCK_SKEW_CORRECTION, CONFIG_DISABLE_CLOCK_SKEW_CORRECTION, NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS; +var init_clock_skew_node_config = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-node-config.js"() { + init_config(); + ENV_DISABLE_CLOCK_SKEW_CORRECTION = "AWS_DISABLE_CLOCK_SKEW_CORRECTION"; + CONFIG_DISABLE_CLOCK_SKEW_CORRECTION = "disable_clock_skew_correction"; + NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => booleanSelector(env3, ENV_DISABLE_CLOCK_SKEW_CORRECTION, SelectorType.ENV), "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => booleanSelector(profile, CONFIG_DISABLE_CLOCK_SKEW_CORRECTION, SelectorType.CONFIG), "configFileSelector"), + default: false + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.js +var DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION; +var init_clock_skew_defaults = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/clock-skew-defaults.js"() { + init_config(); + init_clock_skew_node_config(); + DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION = loadConfig(NODE_DISABLE_CLOCK_SKEW_CORRECTION_CONFIG_OPTIONS); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js +var httpAuthSchemes_exports = {}; +__export(httpAuthSchemes_exports, { + AWSSDKSigV4Signer: () => AWSSDKSigV4Signer, + AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner, + AwsSdkSigV4Signer: () => AwsSdkSigV4Signer, + NODE_AUTH_SCHEME_PREFERENCE_OPTIONS: () => NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, + NODE_SIGV4A_CONFIG_OPTIONS: () => NODE_SIGV4A_CONFIG_OPTIONS, + getBearerTokenEnvKey: () => getBearerTokenEnvKey, + resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config, + resolveAwsSdkSigV4AConfig: () => resolveAwsSdkSigV4AConfig, + resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config, + validateSigningProperties: () => validateSigningProperties +}); +var resolveAwsSdkSigV4Config, resolveAWSSDKSigV4Config; +var init_httpAuthSchemes2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+core@3.978.4/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js"() { + init_aws_sdk(); + init_getBearerTokenEnvKey(); + init_aws_sdk(); + init_clock_skew_defaults(); + resolveAwsSdkSigV4Config = bindResolveAwsSdkSigV4Config(DEFAULT_DISABLE_CLOCK_SKEW_CORRECTION); + resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.972.75/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +var require_dist_cjs5 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.972.75/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js"(exports) { + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { CredentialsProviderError } = (init_config(), __toCommonJS(config_exports)); + var ENV_KEY = "AWS_ACCESS_KEY_ID"; + var ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; + var ENV_SESSION = "AWS_SESSION_TOKEN"; + var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; + var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE"; + var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID"; + var fromEnv = /* @__PURE__ */ __name((init2) => async () => { + init2?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv"); + const accessKeyId = process.env[ENV_KEY]; + const secretAccessKey = process.env[ENV_SECRET]; + const sessionToken = process.env[ENV_SESSION]; + const expiry = process.env[ENV_EXPIRATION]; + const credentialScope = process.env[ENV_CREDENTIAL_SCOPE]; + const accountId = process.env[ENV_ACCOUNT_ID]; + if (accessKeyId && secretAccessKey) { + const credentials = { + accessKeyId, + secretAccessKey, + ...sessionToken && { sessionToken }, + ...expiry && { expiration: new Date(expiry) }, + ...credentialScope && { credentialScope }, + ...accountId && { accountId } + }; + setCredentialFeature2(credentials, "CREDENTIALS_ENV_VARS", "g"); + return credentials; + } + throw new CredentialsProviderError("Unable to find environment variable credentials.", { logger: init2?.logger }); + }, "fromEnv"); + exports.ENV_ACCOUNT_ID = ENV_ACCOUNT_ID; + exports.ENV_CREDENTIAL_SCOPE = ENV_CREDENTIAL_SCOPE; + exports.ENV_EXPIRATION = ENV_EXPIRATION; + exports.ENV_KEY = ENV_KEY; + exports.ENV_SECRET = ENV_SECRET; + exports.ENV_SESSION = ENV_SESSION; + exports.fromEnv = fromEnv; + } +}); + +// ../../node_modules/.pnpm/@smithy+credential-provider-imds@4.5.2/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +var require_dist_cjs6 = __commonJS({ + "../../node_modules/.pnpm/@smithy+credential-provider-imds@4.5.2/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js"(exports) { + var { ProviderError: ProviderError2, CredentialsProviderError, loadConfig: loadConfig2 } = (init_config(), __toCommonJS(config_exports)); + var node_http = __require("node:http"); + var { parseUrl: parseUrl2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var isImdsCredentials = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string", "isImdsCredentials"); + var fromImdsCredentials = /* @__PURE__ */ __name((creds) => ({ + accessKeyId: creds.AccessKeyId, + secretAccessKey: creds.SecretAccessKey, + sessionToken: creds.Token, + expiration: new Date(creds.Expiration), + ...creds.AccountId && { accountId: creds.AccountId } + }), "fromImdsCredentials"); + var DEFAULT_TIMEOUT = 1e3; + var DEFAULT_MAX_RETRIES = 0; + var providerConfigFromInit = /* @__PURE__ */ __name(({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT }) => ({ maxRetries, timeout }), "providerConfigFromInit"); + function httpRequest(options) { + return new Promise((resolve, reject) => { + const req2 = node_http.request({ + method: "GET", + ...options, + hostname: options.hostname?.replace(/^\[(.+)\]$/, "$1") + }); + req2.on("error", (err) => { + reject(Object.assign(new ProviderError2("Unable to connect to instance metadata service"), err)); + req2.destroy(); + }); + req2.on("timeout", () => { + reject(new ProviderError2("TimeoutError from instance metadata service")); + req2.destroy(); + }); + req2.on("response", (res) => { + const { statusCode = 400 } = res; + if (statusCode < 200 || 300 <= statusCode) { + reject(Object.assign(new ProviderError2("Error response received from instance metadata service"), { statusCode })); + req2.destroy(); + } + const chunks = []; + res.on("data", (chunk) => { + chunks.push(chunk); + }); + res.on("end", () => { + resolve(Buffer.concat(chunks)); + req2.destroy(); + }); + }); + req2.end(); + }); + } + __name(httpRequest, "httpRequest"); + var retry = /* @__PURE__ */ __name((toRetry, maxRetries) => { + let promise2 = toRetry(); + for (let i5 = 0; i5 < maxRetries; i5++) { + promise2 = promise2.catch(toRetry); + } + return promise2; + }, "retry"); + var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromContainerMetadata = /* @__PURE__ */ __name((init2 = {}) => { + const { timeout, maxRetries } = providerConfigFromInit(init2); + return () => retry(async () => { + const requestOptions = await getCmdsUri({ logger: init2.logger }); + const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); + if (!isImdsCredentials(credsResponse)) { + throw new CredentialsProviderError("Invalid response received from instance metadata service.", { + logger: init2.logger + }); + } + return fromImdsCredentials(credsResponse); + }, maxRetries); + }, "fromContainerMetadata"); + var requestFromEcsImds = /* @__PURE__ */ __name(async (timeout, options) => { + if (process.env[ENV_CMDS_AUTH_TOKEN]) { + options.headers = { + ...options.headers, + Authorization: process.env[ENV_CMDS_AUTH_TOKEN] + }; + } + const buffer = await httpRequest({ + ...options, + timeout + }); + return buffer.toString(); + }, "requestFromEcsImds"); + var CMDS_IP = "169.254.170.2"; + var GREENGRASS_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1"]); + var GREENGRASS_PROTOCOLS = /* @__PURE__ */ new Set(["http:", "https:"]); + var getCmdsUri = /* @__PURE__ */ __name(async ({ logger }) => { + if (process.env[ENV_CMDS_RELATIVE_URI]) { + return { + hostname: CMDS_IP, + path: process.env[ENV_CMDS_RELATIVE_URI] + }; + } + if (process.env[ENV_CMDS_FULL_URI]) { + let parsed2; + try { + parsed2 = new URL(process.env[ENV_CMDS_FULL_URI]); + } catch { + throw new CredentialsProviderError(`${process.env[ENV_CMDS_FULL_URI]} is not a valid container metadata service URL`, { tryNextLink: false, logger }); + } + if (!parsed2.hostname || !GREENGRASS_HOSTS.has(parsed2.hostname)) { + throw new CredentialsProviderError(`${parsed2.hostname} is not a valid container metadata service hostname`, { + tryNextLink: false, + logger + }); + } + if (!parsed2.protocol || !GREENGRASS_PROTOCOLS.has(parsed2.protocol)) { + throw new CredentialsProviderError(`${parsed2.protocol} is not a valid container metadata service protocol`, { + tryNextLink: false, + logger + }); + } + return { + protocol: parsed2.protocol, + hostname: parsed2.hostname, + path: parsed2.pathname + parsed2.search, + port: parsed2.port ? parseInt(parsed2.port, 10) : void 0 + }; + } + throw new CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment variable is set`, { + tryNextLink: false, + logger + }); + }, "getCmdsUri"); + var InstanceMetadataV1FallbackError = class _InstanceMetadataV1FallbackError extends CredentialsProviderError { + static { + __name(this, "InstanceMetadataV1FallbackError"); + } + tryNextLink; + name = "InstanceMetadataV1FallbackError"; + constructor(message, tryNextLink = true) { + super(message, tryNextLink); + this.tryNextLink = tryNextLink; + Object.setPrototypeOf(this, _InstanceMetadataV1FallbackError.prototype); + } + }; + var Endpoint; + (function(Endpoint2) { + Endpoint2["IPv4"] = "http://169.254.169.254"; + Endpoint2["IPv6"] = "http://[fd00:ec2::254]"; + })(Endpoint || (Endpoint = {})); + var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT"; + var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint"; + var ENDPOINT_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_ENDPOINT_NAME], "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_ENDPOINT_NAME], "configFileSelector"), + default: void 0 + }; + var EndpointMode; + (function(EndpointMode2) { + EndpointMode2["IPv4"] = "IPv4"; + EndpointMode2["IPv6"] = "IPv6"; + })(EndpointMode || (EndpointMode = {})); + var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE"; + var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode"; + var ENDPOINT_MODE_CONFIG_OPTIONS = { + environmentVariableSelector: /* @__PURE__ */ __name((env3) => env3[ENV_ENDPOINT_MODE_NAME], "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile) => profile[CONFIG_ENDPOINT_MODE_NAME], "configFileSelector"), + default: EndpointMode.IPv4 + }; + var getInstanceMetadataEndpoint = /* @__PURE__ */ __name(async () => parseUrl2(await getFromEndpointConfig() || await getFromEndpointModeConfig()), "getInstanceMetadataEndpoint"); + var getFromEndpointConfig = /* @__PURE__ */ __name(async () => loadConfig2(ENDPOINT_CONFIG_OPTIONS)(), "getFromEndpointConfig"); + var getFromEndpointModeConfig = /* @__PURE__ */ __name(async () => { + const endpointMode = await loadConfig2(ENDPOINT_MODE_CONFIG_OPTIONS)(); + switch (endpointMode) { + case EndpointMode.IPv4: + return Endpoint.IPv4; + case EndpointMode.IPv6: + return Endpoint.IPv6; + default: + throw new Error(`Unsupported endpoint mode: ${endpointMode}. Select from ${Object.values(EndpointMode)}`); + } + }, "getFromEndpointModeConfig"); + var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60; + var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60; + var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html"; + var getExtendedInstanceMetadataCredentials = /* @__PURE__ */ __name((credentials, logger) => { + const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS); + const newExpiration = new Date(Date.now() + refreshInterval * 1e3); + logger.warn(`Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(newExpiration)}. +For more information, please visit: ` + STATIC_STABILITY_DOC_URL); + const originalExpiration = credentials.originalExpiration ?? credentials.expiration; + return { + ...credentials, + ...originalExpiration ? { originalExpiration } : {}, + expiration: newExpiration + }; + }, "getExtendedInstanceMetadataCredentials"); + var staticStabilityProvider = /* @__PURE__ */ __name((provider, options = {}) => { + const logger = options?.logger || console; + let pastCredentials; + return async () => { + let credentials; + try { + credentials = await provider(); + if (credentials.expiration && credentials.expiration.getTime() < Date.now()) { + credentials = getExtendedInstanceMetadataCredentials(credentials, logger); + } + } catch (e5) { + if (pastCredentials) { + logger.warn("Credential renew failed: ", e5); + credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger); + } else { + throw e5; + } + } + pastCredentials = credentials; + return credentials; + }; + }, "staticStabilityProvider"); + var IMDS_PATH = "/latest/meta-data/iam/security-credentials/"; + var IMDS_TOKEN_PATH = "/latest/api/token"; + var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED"; + var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled"; + var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token"; + var fromInstanceMetadata = /* @__PURE__ */ __name((init2 = {}) => staticStabilityProvider(getInstanceMetadataProvider(init2), { logger: init2.logger }), "fromInstanceMetadata"); + var getInstanceMetadataProvider = /* @__PURE__ */ __name((init2 = {}) => { + let disableFetchToken = false; + const { logger, profile } = init2; + const { timeout, maxRetries } = providerConfigFromInit(init2); + const getCredentials = /* @__PURE__ */ __name(async (maxRetries2, options) => { + const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null; + if (isImdsV1Fallback) { + let fallbackBlockedFromProfile = false; + let fallbackBlockedFromProcessEnv = false; + const configValue = await loadConfig2({ + environmentVariableSelector: /* @__PURE__ */ __name((env3) => { + const envValue = env3[AWS_EC2_METADATA_V1_DISABLED]; + fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false"; + if (envValue === void 0) { + throw new CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init2.logger }); + } + return fallbackBlockedFromProcessEnv; + }, "environmentVariableSelector"), + configFileSelector: /* @__PURE__ */ __name((profile2) => { + const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED]; + fallbackBlockedFromProfile = !!profileValue && profileValue !== "false"; + return fallbackBlockedFromProfile; + }, "configFileSelector"), + default: false + }, { + profile + })(); + if (init2.ec2MetadataV1Disabled || configValue) { + const causes = []; + if (init2.ec2MetadataV1Disabled) + causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)"); + if (fallbackBlockedFromProfile) + causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`); + if (fallbackBlockedFromProcessEnv) + causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`); + throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(", ")}].`); + } + } + const imdsProfile = (await retry(async () => { + let profile2; + try { + profile2 = await getProfile(options); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return profile2; + }, maxRetries2)).trim(); + return retry(async () => { + let creds; + try { + creds = await getCredentialsFromProfile(imdsProfile, options, init2); + } catch (err) { + if (err.statusCode === 401) { + disableFetchToken = false; + } + throw err; + } + return creds; + }, maxRetries2); + }, "getCredentials"); + return async () => { + const endpoint = await getInstanceMetadataEndpoint(); + if (disableFetchToken) { + logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)"); + return getCredentials(maxRetries, { ...endpoint, timeout }); + } else { + let token; + try { + token = (await getMetadataToken({ ...endpoint, timeout })).toString(); + } catch (error62) { + if (error62?.statusCode === 400) { + throw Object.assign(error62, { + message: "EC2 Metadata token request returned error" + }); + } else if (error62.message === "TimeoutError" || [403, 404, 405].includes(error62.statusCode)) { + disableFetchToken = true; + } + logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)"); + return getCredentials(maxRetries, { ...endpoint, timeout }); + } + return getCredentials(maxRetries, { + ...endpoint, + headers: { + [X_AWS_EC2_METADATA_TOKEN]: token + }, + timeout + }); + } + }; + }, "getInstanceMetadataProvider"); + var getMetadataToken = /* @__PURE__ */ __name(async (options) => httpRequest({ + ...options, + path: IMDS_TOKEN_PATH, + method: "PUT", + headers: { + "x-aws-ec2-metadata-token-ttl-seconds": "21600" + } + }), "getMetadataToken"); + var getProfile = /* @__PURE__ */ __name(async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString(), "getProfile"); + var getCredentialsFromProfile = /* @__PURE__ */ __name(async (profile, options, init2) => { + const credentialsResponse = JSON.parse((await httpRequest({ + ...options, + path: IMDS_PATH + profile + })).toString()); + if (!isImdsCredentials(credentialsResponse)) { + throw new CredentialsProviderError("Invalid response received from instance metadata service.", { + logger: init2.logger + }); + } + return fromImdsCredentials(credentialsResponse); + }, "getCredentialsFromProfile"); + exports.DEFAULT_MAX_RETRIES = DEFAULT_MAX_RETRIES; + exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; + exports.ENV_CMDS_AUTH_TOKEN = ENV_CMDS_AUTH_TOKEN; + exports.ENV_CMDS_FULL_URI = ENV_CMDS_FULL_URI; + exports.ENV_CMDS_RELATIVE_URI = ENV_CMDS_RELATIVE_URI; + exports.Endpoint = Endpoint; + exports.fromContainerMetadata = fromContainerMetadata; + exports.fromInstanceMetadata = fromInstanceMetadata; + exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint; + exports.httpRequest = httpRequest; + exports.providerConfigFromInit = providerConfigFromInit; + } +}); + +// ../../node_modules/.pnpm/@smithy+node-http-handler@4.12.1/node_modules/@smithy/node-http-handler/dist-cjs/index.js +var require_dist_cjs7 = __commonJS({ + "../../node_modules/.pnpm/@smithy+node-http-handler@4.12.1/node_modules/@smithy/node-http-handler/dist-cjs/index.js"(exports) { + var { hasOwn: hasOwn2 } = (init_serde(), __toCommonJS(serde_exports)); + var { streamCollector: streamCollector5 } = (init_serde(), __toCommonJS(serde_exports)); + exports.streamCollector = streamCollector5; + var { buildQueryString: buildQueryString2, HttpResponse: HttpResponse2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var node_https = __require("node:https"); + var { Readable: Readable3 } = __require("node:stream"); + var http2 = __require("node:http2"); + function buildAbortError(abortSignal) { + const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal ? abortSignal.reason : void 0; + if (reason) { + if (reason instanceof Error) { + const abortError3 = new Error("Request aborted"); + abortError3.name = "AbortError"; + abortError3.cause = reason; + return abortError3; + } + const abortError2 = new Error(String(reason)); + abortError2.name = "AbortError"; + return abortError2; + } + const abortError = new Error("Request aborted"); + abortError.name = "AbortError"; + return abortError; + } + __name(buildAbortError, "buildAbortError"); + var NODEJS_TIMEOUT_ERROR_CODES2 = ["ECONNRESET", "EPIPE", "ETIMEDOUT"]; + var getTransformedHeaders = /* @__PURE__ */ __name((headers) => { + const transformedHeaders = {}; + for (const name2 in headers) { + if (!hasOwn2(headers, name2)) + continue; + const headerValues = headers[name2]; + transformedHeaders[name2] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues; + } + return transformedHeaders; + }, "getTransformedHeaders"); + var timing = { + setTimeout: /* @__PURE__ */ __name((cb, ms) => setTimeout(cb, ms), "setTimeout"), + clearTimeout: /* @__PURE__ */ __name((timeoutId) => clearTimeout(timeoutId), "clearTimeout") + }; + var DEFER_EVENT_LISTENER_TIME$2 = 1e3; + var setConnectionTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => { + if (!timeoutInMs) { + return -1; + } + const registerTimeout = /* @__PURE__ */ __name((offset) => { + const timeoutId = timing.setTimeout(() => { + request.destroy(); + reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), { + name: "TimeoutError" + })); + }, timeoutInMs - offset); + const doWithSocket = /* @__PURE__ */ __name((socket) => { + if (socket?.connecting) { + socket.on("connect", () => { + timing.clearTimeout(timeoutId); + }); + } else { + timing.clearTimeout(timeoutId); + } + }, "doWithSocket"); + if (request.socket) { + doWithSocket(request.socket); + } else { + request.on("socket", doWithSocket); + } + }, "registerTimeout"); + if (timeoutInMs < 2e3) { + registerTimeout(0); + return 0; + } + return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2); + }, "setConnectionTimeout"); + var setRequestTimeout = /* @__PURE__ */ __name((req2, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => { + if (timeoutInMs) { + return timing.setTimeout(() => { + let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? "ERROR" : "WARN"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`; + if (throwOnRequestTimeout) { + const error62 = Object.assign(new Error(msg), { + name: "TimeoutError", + code: "ETIMEDOUT" + }); + req2.destroy(error62); + reject(error62); + } else { + msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`; + logger?.warn?.(msg); + } + }, timeoutInMs); + } + return -1; + }, "setRequestTimeout"); + var DEFER_EVENT_LISTENER_TIME$1 = 3e3; + var setSocketKeepAlive = /* @__PURE__ */ __name((request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => { + if (keepAlive !== true) { + return -1; + } + const registerListener = /* @__PURE__ */ __name(() => { + if (request.socket) { + request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + } else { + request.on("socket", (socket) => { + socket.setKeepAlive(keepAlive, keepAliveMsecs || 0); + }); + } + }, "registerListener"); + if (deferTimeMs === 0) { + registerListener(); + return 0; + } + return timing.setTimeout(registerListener, deferTimeMs); + }, "setSocketKeepAlive"); + var DEFER_EVENT_LISTENER_TIME = 3e3; + var setSocketTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => { + const registerTimeout = /* @__PURE__ */ __name((offset) => { + const timeout = timeoutInMs - offset; + const onTimeout = /* @__PURE__ */ __name(() => { + request.destroy(); + reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: "TimeoutError" })); + }, "onTimeout"); + if (request.socket) { + request.socket.setTimeout(timeout, onTimeout); + request.on("close", () => request.socket?.removeListener("timeout", onTimeout)); + } else { + request.setTimeout(timeout, onTimeout); + } + }, "registerTimeout"); + if (0 < timeoutInMs && timeoutInMs < 6e3) { + registerTimeout(0); + return 0; + } + return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME); + }, "setSocketTimeout"); + var MIN_WAIT_TIME = 6e3; + async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) { + const headers = request.headers; + const expect = headers ? headers.Expect || headers.expect : void 0; + let timeoutId = -1; + let sendBody = true; + if (!externalAgent && expect === "100-continue") { + sendBody = await Promise.race([ + new Promise((resolve) => { + timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs))); + }), + new Promise((resolve) => { + httpRequest.on("continue", () => { + timing.clearTimeout(timeoutId); + resolve(true); + }); + httpRequest.on("response", () => { + timing.clearTimeout(timeoutId); + resolve(false); + }); + httpRequest.on("error", () => { + timing.clearTimeout(timeoutId); + resolve(false); + }); + }) + ]); + } + if (sendBody) { + writeBody(httpRequest, request.body); + } + } + __name(writeRequestBody, "writeRequestBody"); + function writeBody(httpRequest, body) { + if (body instanceof Readable3) { + body.pipe(httpRequest); + return; + } + if (body) { + const isBuffer = Buffer.isBuffer(body); + const isString = typeof body === "string"; + if (isBuffer || isString) { + if (isBuffer && body.byteLength === 0) { + httpRequest.end(); + } else { + httpRequest.end(body); + } + return; + } + const uint8 = body; + if (typeof uint8 === "object" && uint8.buffer && typeof uint8.byteOffset === "number" && typeof uint8.byteLength === "number") { + httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength)); + return; + } + httpRequest.end(Buffer.from(body)); + return; + } + httpRequest.end(); + } + __name(writeBody, "writeBody"); + var DEFAULT_REQUEST_TIMEOUT = 0; + var hAgent = void 0; + var hRequest = void 0; + var NodeHttpHandler = class _NodeHttpHandler { + static { + __name(this, "NodeHttpHandler"); + } + config; + configProvider; + socketWarningTimestamp = 0; + externalAgent = false; + metadata = { handlerProtocol: "http/1.1" }; + static create(instanceOrOptions) { + if (typeof instanceOrOptions?.handle === "function") { + return instanceOrOptions; + } + return new _NodeHttpHandler(instanceOrOptions); + } + static checkSocketUsage(agent, socketWarningTimestamp, logger = console) { + const { sockets, requests, maxSockets } = agent; + if (typeof maxSockets !== "number" || maxSockets === Infinity) { + return socketWarningTimestamp; + } + const interval = 15e3; + if (Date.now() - interval < socketWarningTimestamp) { + return socketWarningTimestamp; + } + if (sockets && requests) { + for (const origin in sockets) { + if (!hasOwn2(sockets, origin)) + continue; + const socketsInUse = sockets[origin]?.length ?? 0; + const requestsEnqueued = requests[origin]?.length ?? 0; + if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) { + logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued. +See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html +or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`); + return Date.now(); + } + } + } + return socketWarningTimestamp; + } + constructor(options) { + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((_options) => { + resolve(this.resolveDefaultConfig(_options)); + }).catch(reject); + } else { + resolve(this.resolveDefaultConfig(options)); + } + }); + } + destroy() { + this.config?.httpAgent?.destroy(); + this.config?.httpsAgent?.destroy(); + } + async handle(request, { abortSignal, requestTimeout } = {}) { + if (!this.config) { + this.config = await this.configProvider; + } + const config3 = this.config; + const logger = config3.logger; + const isSSL = request.protocol === "https:"; + if (!isSSL && !this.config.httpAgent) { + this.config.httpAgent = await this.config.httpAgentProvider(); + } + return new Promise((_resolve, _reject) => { + let writeRequestBodyPromise = void 0; + let socketWarningTimeoutId = -1; + let connectionTimeoutId = -1; + let requestTimeoutId = -1; + let socketTimeoutId = -1; + let keepAliveTimeoutId = -1; + const clearTimeouts = /* @__PURE__ */ __name(() => { + timing.clearTimeout(socketWarningTimeoutId); + timing.clearTimeout(connectionTimeoutId); + timing.clearTimeout(requestTimeoutId); + timing.clearTimeout(socketTimeoutId); + timing.clearTimeout(keepAliveTimeoutId); + }, "clearTimeouts"); + const resolve = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + clearTimeouts(); + _resolve(arg); + }, "resolve"); + const reject = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + clearTimeouts(); + _reject(arg); + }, "reject"); + if (abortSignal?.aborted) { + const abortError = buildAbortError(abortSignal); + reject(abortError); + return; + } + const headers = request.headers; + const expectContinue = headers ? (headers.Expect ?? headers.expect) === "100-continue" : false; + let agent = isSSL ? config3.httpsAgent : config3.httpAgent; + if (expectContinue && !this.externalAgent) { + agent = new (isSSL ? node_https.Agent : hAgent)({ + keepAlive: false, + maxSockets: Infinity + }); + } + socketWarningTimeoutId = timing.setTimeout(() => { + this.socketWarningTimestamp = _NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, logger); + }, config3.socketAcquisitionWarningTimeout ?? (config3.requestTimeout ?? 2e3) + (config3.connectionTimeout ?? 1e3)); + const queryString = request.query ? buildQueryString2(request.query) : ""; + let auth = void 0; + if (request.username != null || request.password != null) { + const username = request.username ?? ""; + const password2 = request.password ?? ""; + auth = `${username}:${password2}`; + } + let path2 = request.path; + if (queryString) { + path2 += `?${queryString}`; + } + if (request.fragment) { + path2 += `#${request.fragment}`; + } + let hostname3 = request.hostname ?? ""; + if (hostname3[0] === "[" && hostname3.endsWith("]")) { + hostname3 = request.hostname.slice(1, -1); + } else { + hostname3 = request.hostname; + } + const nodeHttpsOptions = { + headers: request.headers, + host: hostname3, + method: request.method, + path: path2, + port: request.port, + agent, + auth + }; + const requestFunc = isSSL ? node_https.request : hRequest; + const req2 = requestFunc(nodeHttpsOptions, (res) => { + const httpResponse = new HttpResponse2({ + statusCode: res.statusCode || -1, + reason: res.statusMessage, + headers: getTransformedHeaders(res.headers), + body: res + }); + resolve({ response: httpResponse }); + }); + req2.on("error", (err) => { + if (NODEJS_TIMEOUT_ERROR_CODES2.includes(err.code)) { + reject(Object.assign(err, { name: "TimeoutError" })); + } else { + reject(err); + } + }); + if (abortSignal) { + const onAbort = /* @__PURE__ */ __name(() => { + req2.destroy(); + const abortError = buildAbortError(abortSignal); + reject(abortError); + }, "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + const signal = abortSignal; + signal.addEventListener("abort", onAbort, { once: true }); + req2.once("close", () => signal.removeEventListener("abort", onAbort)); + } else { + abortSignal.onabort = onAbort; + } + } + const effectiveRequestTimeout = requestTimeout ?? config3.requestTimeout; + connectionTimeoutId = setConnectionTimeout(req2, reject, config3.connectionTimeout); + requestTimeoutId = setRequestTimeout(req2, reject, effectiveRequestTimeout, config3.throwOnRequestTimeout, logger ?? console); + socketTimeoutId = setSocketTimeout(req2, reject, config3.socketTimeout); + const httpAgent = nodeHttpsOptions.agent; + if (typeof httpAgent === "object" && "keepAlive" in httpAgent) { + keepAliveTimeoutId = setSocketKeepAlive(req2, { + keepAlive: httpAgent.keepAlive, + keepAliveMsecs: httpAgent.keepAliveMsecs + }); + } + writeRequestBodyPromise = writeRequestBody(req2, request, effectiveRequestTimeout, this.externalAgent).catch((e5) => { + clearTimeouts(); + return _reject(e5); + }); + }); + } + updateHttpClientConfig(key, value) { + this.config = void 0; + this.configProvider = this.configProvider.then((config3) => { + if (key === /* @__PURE__ */ Symbol.for("logger")) { + return { + ...config3, + logger: config3.logger ?? value + }; + } + return { + ...config3, + [key]: value + }; + }); + } + httpHandlerConfigs() { + return this.config ?? {}; + } + resolveDefaultConfig(options) { + const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger } = options || {}; + const keepAlive = true; + const maxSockets = 50; + return { + connectionTimeout, + requestTimeout, + socketTimeout, + socketAcquisitionWarningTimeout, + throwOnRequestTimeout, + httpAgentProvider: /* @__PURE__ */ __name(async () => { + const node_http = __require("node:http"); + const { Agent, request } = node_http.default ?? node_http; + hRequest = request; + hAgent = Agent; + if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") { + this.externalAgent = true; + return httpAgent; + } + return new hAgent({ keepAlive, maxSockets, ...httpAgent }); + }, "httpAgentProvider"), + httpsAgent: (() => { + if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === "function") { + this.externalAgent = true; + return httpsAgent; + } + return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent }); + })(), + logger + }; + } + }; + var ids = new Uint16Array(1); + var ClientHttp2SessionRef = class { + static { + __name(this, "ClientHttp2SessionRef"); + } + id = ids[0]++; + total = 0; + max = 0; + session; + refs = 0; + constructor(session) { + session.unref(); + this.session = session; + } + retain() { + if (this.session.destroyed) { + throw new Error("@smithy/node-http-handler - cannot acquire reference to destroyed session."); + } + this.refs += 1; + this.total += 1; + this.max = Math.max(this.refs, this.max); + this.session.ref(); + } + free() { + if (this.session.destroyed) { + return; + } + this.refs -= 1; + if (this.refs === 0) { + this.session.unref(); + } + if (this.refs < 0) { + throw new Error("@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement."); + } + } + deref() { + return this.session; + } + close() { + if (!this.session.closed) { + this.session.close(); + } + } + destroy() { + this.refs = 0; + if (!this.session.destroyed) { + this.session.setTimeout(0); + this.session.destroy(); + } + } + useCount() { + return this.refs; + } + }; + var NodeHttp2ConnectionPool = class { + static { + __name(this, "NodeHttp2ConnectionPool"); + } + sessions = []; + maxConcurrency = 0; + constructor(sessions) { + this.sessions = (sessions ?? []).map((session) => new ClientHttp2SessionRef(session)); + } + poll() { + let cleanup = false; + for (const session of this.sessions) { + if (session.deref().destroyed) { + cleanup = true; + continue; + } + if (!this.maxConcurrency || session.useCount() < this.maxConcurrency) { + return session; + } + } + if (cleanup) { + for (const session of this.sessions) { + if (session.deref().destroyed) { + this.remove(session); + } + } + } + } + offerLast(ref) { + this.sessions.push(ref); + } + remove(ref) { + const ix = this.sessions.indexOf(ref); + if (ix > -1) { + this.sessions.splice(ix, 1); + } + } + [Symbol.iterator]() { + return this.sessions[Symbol.iterator](); + } + setMaxConcurrency(maxConcurrency) { + this.maxConcurrency = maxConcurrency; + } + destroy(ref) { + this.remove(ref); + ref.destroy(); + } + }; + var NodeHttp2ConnectionManager = class { + static { + __name(this, "NodeHttp2ConnectionManager"); + } + config; + connectOptions; + connectionPools = /* @__PURE__ */ new Map(); + constructor(config3) { + this.config = config3; + if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) { + throw new RangeError("maxConcurrency must be greater than zero."); + } + } + lease(requestContext, connectionConfiguration) { + const url2 = this.getUrlString(requestContext); + const pool = this.getPool(url2); + if (!this.config.disableConcurrency && !connectionConfiguration.isEventStream) { + const available = pool.poll(); + if (available) { + available.retain(); + return available; + } + } + const ref = new ClientHttp2SessionRef(this.connect(url2)); + const session = ref.deref(); + if (this.config.maxConcurrency) { + session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => { + if (err) { + throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString()); + } + }); + } + const graceful = /* @__PURE__ */ __name(() => { + this.removeFromPoolAndClose(url2, ref); + }, "graceful"); + const ensureDestroyed = /* @__PURE__ */ __name(() => { + this.removeFromPoolAndCheckedDestroy(url2, ref); + }, "ensureDestroyed"); + session.on("goaway", graceful); + session.on("error", ensureDestroyed); + session.on("frameError", ensureDestroyed); + session.on("close", ensureDestroyed); + if (connectionConfiguration.requestTimeout) { + session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed); + } + pool.offerLast(ref); + ref.retain(); + return ref; + } + release(_requestContext, ref) { + ref.free(); + } + createIsolatedSession(requestContext, connectionConfiguration) { + const url2 = this.getUrlString(requestContext); + const ref = new ClientHttp2SessionRef(this.connect(url2)); + const session = ref.deref(); + session.settings({ maxConcurrentStreams: 1 }); + const ensureDestroyed = /* @__PURE__ */ __name(() => { + ref.destroy(); + }, "ensureDestroyed"); + session.on("error", ensureDestroyed); + session.on("frameError", ensureDestroyed); + session.on("close", ensureDestroyed); + const timeout = connectionConfiguration.requestTimeout ?? 3e5; + session.setTimeout(timeout, ensureDestroyed); + ref.retain(); + return ref; + } + destroy() { + for (const [url2, connectionPool] of this.connectionPools) { + for (const session of [...connectionPool]) { + session.destroy(); + } + this.connectionPools.delete(url2); + } + } + setMaxConcurrentStreams(maxConcurrentStreams) { + if (maxConcurrentStreams && maxConcurrentStreams <= 0) { + throw new RangeError("maxConcurrentStreams must be greater than zero."); + } + this.config.maxConcurrency = maxConcurrentStreams; + for (const pool of this.connectionPools.values()) { + pool.setMaxConcurrency(maxConcurrentStreams); + } + } + setDisableConcurrentStreams(disableConcurrentStreams) { + this.config.disableConcurrency = disableConcurrentStreams; + } + setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions) { + this.connectOptions = nodeHttp2ConnectOptions; + } + debug() { + const pools = {}; + for (const [url2, pool] of this.connectionPools) { + const sessions = []; + for (const ref of pool) { + sessions.push({ + id: ref.id, + active: ref.useCount(), + maxConcurrent: ref.max, + totalRequests: ref.total + }); + } + pools[url2] = { sessions }; + } + return pools; + } + removeFromPoolAndClose(authority, ref) { + this.connectionPools.get(authority)?.remove(ref); + ref.close(); + } + removeFromPoolAndCheckedDestroy(authority, ref) { + this.connectionPools.get(authority)?.remove(ref); + ref.destroy(); + } + getPool(url2) { + if (!this.connectionPools.has(url2)) { + const pool = new NodeHttp2ConnectionPool(); + if (this.config.maxConcurrency) { + pool.setMaxConcurrency(this.config.maxConcurrency); + } + this.connectionPools.set(url2, pool); + } + return this.connectionPools.get(url2); + } + getUrlString(request) { + return request.destination.toString(); + } + connect(url2) { + return this.connectOptions === void 0 ? http2.connect(url2) : http2.connect(url2, this.connectOptions); + } + }; + var { constants } = http2; + var NodeHttp2Handler = class _NodeHttp2Handler { + static { + __name(this, "NodeHttp2Handler"); + } + config; + configProvider; + metadata = { handlerProtocol: "h2" }; + connectionManager = new NodeHttp2ConnectionManager({}); + static create(instanceOrOptions) { + if (typeof instanceOrOptions?.handle === "function") { + return instanceOrOptions; + } + return new _NodeHttp2Handler(instanceOrOptions); + } + constructor(options) { + this.configProvider = new Promise((resolve, reject) => { + if (typeof options === "function") { + options().then((opts) => { + resolve(opts || {}); + }).catch(reject); + } else { + resolve(options || {}); + } + }); + } + destroy() { + this.connectionManager.destroy(); + } + async handle(request, { abortSignal, requestTimeout, isEventStream } = {}) { + if (!this.config) { + this.config = await this.configProvider; + const { disableConcurrentStreams: disableConcurrentStreams2, maxConcurrentStreams, nodeHttp2ConnectOptions } = this.config; + this.connectionManager.setDisableConcurrentStreams(disableConcurrentStreams2 ?? false); + if (maxConcurrentStreams) { + this.connectionManager.setMaxConcurrentStreams(maxConcurrentStreams); + } + if (nodeHttp2ConnectOptions) { + this.connectionManager.setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions); + } + } + const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config; + const useIsolatedSession = disableConcurrentStreams || isEventStream; + const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout; + return new Promise((_resolve, _reject) => { + let fulfilled = false; + let writeRequestBodyPromise = void 0; + const resolve = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + _resolve(arg); + }, "resolve"); + const reject = /* @__PURE__ */ __name(async (arg) => { + await writeRequestBodyPromise; + _reject(arg); + }, "reject"); + if (abortSignal?.aborted) { + fulfilled = true; + const abortError = buildAbortError(abortSignal); + reject(abortError); + return; + } + const { hostname: hostname3, method, port, protocol, query } = request; + let auth = ""; + if (request.username != null || request.password != null) { + const username = request.username ?? ""; + const password2 = request.password ?? ""; + auth = `${username}:${password2}@`; + } + const authority = `${protocol}//${auth}${hostname3}${port ? `:${port}` : ""}`; + const requestContext = { destination: new URL(authority) }; + const connectConfig = { + requestTimeout: this.config?.sessionTimeout, + isEventStream + }; + const ref = useIsolatedSession ? this.connectionManager.createIsolatedSession(requestContext, connectConfig) : this.connectionManager.lease(requestContext, connectConfig); + const session = ref.deref(); + const rejectWithDestroy = /* @__PURE__ */ __name((err) => { + if (useIsolatedSession) { + ref.destroy(); + } + fulfilled = true; + reject(err); + }, "rejectWithDestroy"); + const queryString = query ? buildQueryString2(query) : ""; + let path2 = request.path; + if (queryString) { + path2 += `?${queryString}`; + } + if (request.fragment) { + path2 += `#${request.fragment}`; + } + const clientHttp2Stream = session.request({ + ...request.headers, + [constants.HTTP2_HEADER_PATH]: path2, + [constants.HTTP2_HEADER_METHOD]: method + }); + if (effectiveRequestTimeout) { + clientHttp2Stream.setTimeout(effectiveRequestTimeout, () => { + clientHttp2Stream.close(); + const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`); + timeoutError.name = "TimeoutError"; + rejectWithDestroy(timeoutError); + }); + } + if (abortSignal) { + const onAbort = /* @__PURE__ */ __name(() => { + clientHttp2Stream.close(); + const abortError = buildAbortError(abortSignal); + rejectWithDestroy(abortError); + }, "onAbort"); + if (typeof abortSignal.addEventListener === "function") { + const signal = abortSignal; + signal.addEventListener("abort", onAbort, { once: true }); + clientHttp2Stream.once("close", () => signal.removeEventListener("abort", onAbort)); + } else { + abortSignal.onabort = onAbort; + } + } + clientHttp2Stream.on("frameError", (type, code, id) => { + rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`)); + }); + clientHttp2Stream.on("error", rejectWithDestroy); + clientHttp2Stream.on("aborted", () => { + rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${clientHttp2Stream.rstCode}.`)); + }); + clientHttp2Stream.on("response", (headers) => { + const httpResponse = new HttpResponse2({ + statusCode: headers[":status"] ?? -1, + headers: getTransformedHeaders(headers), + body: clientHttp2Stream + }); + fulfilled = true; + resolve({ response: httpResponse }); + if (useIsolatedSession) { + session.close(); + clientHttp2Stream.on("end", () => { + ref.destroy(); + }); + } + }); + clientHttp2Stream.on("close", () => { + if (useIsolatedSession) { + ref.destroy(); + } else { + this.connectionManager.release(requestContext, ref); + } + if (!fulfilled) { + const error62 = new Error("Unexpected error: http2 request did not get a response"); + if (session.destroyed) { + error62.name = "TimeoutError"; + } + rejectWithDestroy(error62); + } + }); + writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout); + }); + } + updateHttpClientConfig(key, value) { + this.config = void 0; + this.configProvider = this.configProvider.then((config3) => { + return { + ...config3, + [key]: value + }; + }); + } + httpHandlerConfigs() { + return this.config ?? {}; + } + }; + exports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT; + exports.NodeHttp2Handler = NodeHttp2Handler; + exports.NodeHttpHandler = NodeHttpHandler; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.77/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +var require_dist_cjs8 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.77/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js"(exports) { + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { CredentialsProviderError } = (init_config(), __toCommonJS(config_exports)); + var { NodeHttpHandler } = require_dist_cjs7(); + var fs = __require("node:fs/promises"); + var { HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var { sdkStreamMixin: sdkStreamMixin2, parseRfc3339DateTime } = (init_serde(), __toCommonJS(serde_exports)); + var ECS_CONTAINER_HOST = "169.254.170.2"; + var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23"; + var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]"; + var checkUrl = /* @__PURE__ */ __name((url2, logger) => { + if (url2.protocol === "https:") { + return; + } + if (url2.hostname === ECS_CONTAINER_HOST || url2.hostname === EKS_CONTAINER_HOST_IPv4 || url2.hostname === EKS_CONTAINER_HOST_IPv6) { + return; + } + if (url2.hostname.includes("[")) { + if (url2.hostname === "[::1]" || url2.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") { + return; + } + } else { + if (url2.hostname === "localhost") { + return; + } + const ipComponents = url2.hostname.split("."); + const inRange = /* @__PURE__ */ __name((component) => { + const num = parseInt(component, 10); + return 0 <= num && num <= 255; + }, "inRange"); + if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) { + return; + } + } + throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following: + - loopback CIDR 127.0.0.0/8 or [::1/128] + - ECS container host 169.254.170.2 + - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger }); + }, "checkUrl"); + function createGetRequest(url2) { + return new HttpRequest2({ + protocol: url2.protocol, + hostname: url2.hostname, + port: Number(url2.port), + path: url2.pathname, + query: Array.from(url2.searchParams.entries()).reduce((acc, [k5, v]) => { + acc[k5] = v; + return acc; + }, {}), + fragment: url2.hash + }); + } + __name(createGetRequest, "createGetRequest"); + async function getCredentials(response, logger) { + const stream = sdkStreamMixin2(response.body); + const str = await stream.transformToString(); + if (response.statusCode === 200) { + const parsed2 = JSON.parse(str); + if (typeof parsed2.AccessKeyId !== "string" || typeof parsed2.SecretAccessKey !== "string" || typeof parsed2.Token !== "string" || typeof parsed2.Expiration !== "string") { + throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger }); + } + return { + accessKeyId: parsed2.AccessKeyId, + secretAccessKey: parsed2.SecretAccessKey, + sessionToken: parsed2.Token, + expiration: parseRfc3339DateTime(parsed2.Expiration) + }; + } + if (response.statusCode >= 400 && response.statusCode < 500) { + let parsedBody = {}; + try { + parsedBody = JSON.parse(str); + } catch (e5) { + } + throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), { + Code: parsedBody.Code, + Message: parsedBody.Message + }); + } + throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }); + } + __name(getCredentials, "getCredentials"); + var retryWrapper = /* @__PURE__ */ __name((toRetry, maxRetries, delayMs) => { + return async () => { + for (let i5 = 0; i5 < maxRetries; ++i5) { + try { + return await toRetry(); + } catch (e5) { + await new Promise((resolve) => setTimeout(resolve, delayMs)); + } + } + return await toRetry(); + }; + }, "retryWrapper"); + var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"; + var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2"; + var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI"; + var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"; + var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN"; + var fromHttp = /* @__PURE__ */ __name((options = {}) => { + options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp"); + let host; + const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI]; + const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI]; + const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN]; + const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE]; + const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn ? console.warn : options.logger.warn.bind(options.logger); + if (relative && full) { + warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."); + warn("awsContainerCredentialsRelativeUri will take precedence."); + } + if (token && tokenFile) { + warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."); + warn("awsContainerAuthorizationTokenFile will take precedence."); + } + if (relative) { + host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`; + } else if (full) { + host = full; + } else { + throw new CredentialsProviderError(`No HTTP credential provider host provided. +Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger }); + } + const url2 = new URL(host); + checkUrl(url2, options.logger); + const requestHandler = NodeHttpHandler.create({ connectionTimeout: options.timeout ?? 1e3 }); + const requestTimeout = options.timeout ?? 1e3; + const provider = retryWrapper(async () => { + const request = createGetRequest(url2); + if (tokenFile) { + request.headers.Authorization = validateToken((await fs.readFile(tokenFile)).toString()); + } else if (token) { + request.headers.Authorization = validateToken(token); + } + try { + const result = await requestHandler.handle(request, { requestTimeout }); + return getCredentials(result.response).then((creds) => setCredentialFeature2(creds, "CREDENTIALS_HTTP", "z")); + } catch (e5) { + throw new CredentialsProviderError(String(e5), { logger: options.logger }); + } + }, options.maxRetries ?? 3, options.timeout ?? 1e3); + return async () => { + try { + return await provider(); + } finally { + requestHandler.destroy?.(); + } + }; + }, "fromHttp"); + var validateToken = /* @__PURE__ */ __name((token) => { + if (token.includes("\r\n")) { + throw new CredentialsProviderError("Authorization token contains invalid \\r\\n sequence."); + } + return token; + }, "validateToken"); + exports.fromHttp = fromHttp; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js +function createAwsAuthSigv4HttpAuthOption(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "sso-oauth", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; +} +function createSmithyApiNoAuthHttpAuthOption(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; +} +var defaultSSOOIDCHttpAuthSchemeParametersProvider, defaultSSOOIDCHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig; +var init_httpAuthSchemeProvider = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js"() { + init_httpAuthSchemes2(); + init_client(); + defaultSSOOIDCHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => { + return { + operation: getSmithyContext(context).operation, + region: await normalizeProvider(config3.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }, "defaultSSOOIDCHttpAuthSchemeParametersProvider"); + __name(createAwsAuthSigv4HttpAuthOption, "createAwsAuthSigv4HttpAuthOption"); + __name(createSmithyApiNoAuthHttpAuthOption, "createSmithyApiNoAuthHttpAuthOption"); + defaultSSOOIDCHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const options = []; + switch (authParameters.operation) { + case "CreateToken": + { + options.push(createSmithyApiNoAuthHttpAuthOption(authParameters)); + break; + } + ; + default: { + options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); + } + } + return options; + }, "defaultSSOOIDCHttpAuthSchemeProvider"); + resolveHttpAuthSchemeConfig = /* @__PURE__ */ __name((config3) => { + const config_0 = resolveAwsSdkSigV4Config(config3); + return Object.assign(config_0, { + authSchemePreference: normalizeProvider(config3.authSchemePreference ?? []) + }); + }, "resolveHttpAuthSchemeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js +var resolveClientEndpointParameters, commonParams; +var init_EndpointParameters = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js"() { + resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => { + return Object.assign(options, { + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "sso-oauth" + }); + }, "resolveClientEndpointParameters"); + commonParams = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/package.json +var package_default; +var init_package = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/package.json"() { + package_default = { + name: "@aws-sdk/nested-clients", + version: "3.997.49", + description: "Nested clients for AWS SDK packages.", + homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients", + license: "Apache-2.0", + author: { + name: "AWS SDK for JavaScript Team", + url: "https://aws.amazon.com/sdk-for-javascript/" + }, + repository: { + type: "git", + url: "https://github.com/aws/aws-sdk-js-v3.git", + directory: "packages/nested-clients" + }, + files: [ + "./cognito-identity.d.ts", + "./cognito-identity.js", + "./signin.d.ts", + "./signin.js", + "./sso-oidc.d.ts", + "./sso-oidc.js", + "./sso.d.ts", + "./sso.js", + "./sts.d.ts", + "./sts.js", + "dist-*/**" + ], + sideEffects: false, + main: "./dist-cjs/index.js", + module: "./dist-es/index.js", + browser: { + "./dist-es/submodules/cognito-identity/runtimeConfig": "./dist-es/submodules/cognito-identity/runtimeConfig.browser", + "./dist-es/submodules/signin/runtimeConfig": "./dist-es/submodules/signin/runtimeConfig.browser", + "./dist-es/submodules/sso-oidc/runtimeConfig": "./dist-es/submodules/sso-oidc/runtimeConfig.browser", + "./dist-es/submodules/sso/runtimeConfig": "./dist-es/submodules/sso/runtimeConfig.browser", + "./dist-es/submodules/sts/runtimeConfig": "./dist-es/submodules/sts/runtimeConfig.browser" + }, + types: "./dist-types/index.d.ts", + typesVersions: { + "<4.5": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ], + "*": [ + "dist-types/ts3.4/submodules/*/index.d.ts" + ] + } + }, + "react-native": {}, + exports: { + "./package.json": "./package.json", + "./sso-oidc": { + types: "./dist-types/submodules/sso-oidc/index.d.ts", + module: "./dist-es/submodules/sso-oidc/index.js", + node: "./dist-cjs/submodules/sso-oidc/index.js", + import: "./dist-es/submodules/sso-oidc/index.js", + require: "./dist-cjs/submodules/sso-oidc/index.js" + }, + "./sts": { + types: "./dist-types/submodules/sts/index.d.ts", + module: "./dist-es/submodules/sts/index.js", + node: "./dist-cjs/submodules/sts/index.js", + import: "./dist-es/submodules/sts/index.js", + require: "./dist-cjs/submodules/sts/index.js" + }, + "./signin": { + types: "./dist-types/submodules/signin/index.d.ts", + module: "./dist-es/submodules/signin/index.js", + node: "./dist-cjs/submodules/signin/index.js", + import: "./dist-es/submodules/signin/index.js", + require: "./dist-cjs/submodules/signin/index.js" + }, + "./cognito-identity": { + types: "./dist-types/submodules/cognito-identity/index.d.ts", + module: "./dist-es/submodules/cognito-identity/index.js", + node: "./dist-cjs/submodules/cognito-identity/index.js", + import: "./dist-es/submodules/cognito-identity/index.js", + require: "./dist-cjs/submodules/cognito-identity/index.js" + }, + "./sso": { + types: "./dist-types/submodules/sso/index.d.ts", + module: "./dist-es/submodules/sso/index.js", + node: "./dist-cjs/submodules/sso/index.js", + import: "./dist-es/submodules/sso/index.js", + require: "./dist-cjs/submodules/sso/index.js" + } + }, + scripts: { + build: "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs", + "build:cjs": "node ../../scripts/compilation/inline", + "build:es": "premove dist-es && tsc -p tsconfig.es.json", + "build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"', + "build:types": "premove dist-types && tsc -p tsconfig.types.json", + "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4", + clean: "premove dist-cjs dist-es dist-types", + lint: "node ../../scripts/validation/submodules-linter.js", + prebuild: "yarn lint", + test: "yarn g:vitest run", + "test:watch": "yarn g:vitest watch" + }, + dependencies: { + "@aws-sdk/core": "^3.978.4", + "@aws-sdk/signature-v4-multi-region": "^3.996.48", + "@aws-sdk/types": "^3.974.6", + "@smithy/core": "^3.36.0", + "@smithy/fetch-http-handler": "^5.8.0", + "@smithy/node-http-handler": "^4.12.1", + "@smithy/types": "^4.19.0", + tslib: "^2.6.2" + }, + devDependencies: { + concurrently: "7.0.0", + "downlevel-dts": "0.10.1", + premove: "4.0.0", + typescript: "~7.0.2" + }, + engines: { + node: ">=20.0.0" + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js +var k, a, b, c, d, e, f, g, h, i, j, _data, root, r, nodes, bdd; +var init_bdd = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js"() { + init_endpoints(); + k = "ref"; + a = -1; + b = true; + c = "isSet"; + d = "PartitionResult"; + e = "booleanEquals"; + f = "getAttr"; + g = { [k]: "Endpoint" }; + h = { [k]: d }; + i = {}; + j = [{ [k]: "Region" }]; + _data = { + conditions: [ + [c, [g]], + [c, j], + ["aws.partition", j, d], + [e, [{ [k]: "UseFIPS" }, b]], + [e, [{ [k]: "UseDualStack" }, b]], + [e, [{ fn: f, argv: [h, "supportsDualStack"] }, b]], + [e, [{ fn: f, argv: [h, "supportsFIPS"] }, b]], + ["stringEquals", [{ fn: f, argv: [h, "name"] }, "aws-us-gov"]] + ], + results: [ + [a], + [a, "Invalid Configuration: FIPS and custom endpoint are not supported"], + [a, "Invalid Configuration: Dualstack and custom endpoint are not supported"], + [g, i], + ["https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", i], + [a, "FIPS and DualStack are enabled, but this partition does not support one or both"], + ["https://oidc.{Region}.amazonaws.com", i], + ["https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", i], + [a, "FIPS is enabled but this partition does not support FIPS"], + ["https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", i], + [a, "DualStack is enabled but this partition does not support DualStack"], + ["https://oidc.{Region}.{PartitionResult#dnsSuffix}", i], + [a, "Invalid Configuration: Missing Region"] + ] + }; + root = 2; + r = 1e8; + nodes = new Int32Array([ + -1, + 1, + -1, + 0, + 13, + 3, + 1, + 4, + r + 12, + 2, + 5, + r + 12, + 3, + 8, + 6, + 4, + 7, + r + 11, + 5, + r + 9, + r + 10, + 4, + 11, + 9, + 6, + 10, + r + 8, + 7, + r + 6, + r + 7, + 5, + 12, + r + 5, + 6, + r + 4, + r + 5, + 3, + r + 1, + 14, + 4, + r + 2, + r + 3 + ]); + bdd = BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +var cache, defaultEndpointResolver; +var init_endpointResolver = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js"() { + init_client2(); + init_endpoints(); + init_bdd(); + cache = new EndpointCache({ + size: 50, + params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"] + }); + defaultEndpointResolver = /* @__PURE__ */ __name((endpointParams, context = {}) => { + return cache.get(endpointParams, () => decideEndpoint(bdd, { + endpointParams, + logger: context.logger + })); + }, "defaultEndpointResolver"); + customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js +var SSOOIDCServiceException; +var init_SSOOIDCServiceException = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js"() { + init_client(); + SSOOIDCServiceException = class _SSOOIDCServiceException extends ServiceException { + static { + __name(this, "SSOOIDCServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.ssooidc#SSOOIDCServiceException"; + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOOIDCServiceException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js +var AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidGrantException, InvalidRequestException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException; +var init_errors = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js"() { + init_SSOOIDCServiceException(); + AccessDeniedException = class _AccessDeniedException extends SSOOIDCServiceException { + static { + __name(this, "AccessDeniedException"); + } + static shapeId = "com.amazonaws.ssooidc#AccessDeniedException"; + name = "AccessDeniedException"; + $fault = "client"; + error; + reason; + error_description; + constructor(opts) { + super({ + name: "AccessDeniedException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AccessDeniedException.prototype); + this.error = opts.error; + this.reason = opts.reason; + this.error_description = opts.error_description; + } + }; + AuthorizationPendingException = class _AuthorizationPendingException extends SSOOIDCServiceException { + static { + __name(this, "AuthorizationPendingException"); + } + static shapeId = "com.amazonaws.ssooidc#AuthorizationPendingException"; + name = "AuthorizationPendingException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "AuthorizationPendingException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AuthorizationPendingException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + ExpiredTokenException = class _ExpiredTokenException extends SSOOIDCServiceException { + static { + __name(this, "ExpiredTokenException"); + } + static shapeId = "com.amazonaws.ssooidc#ExpiredTokenException"; + name = "ExpiredTokenException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + InternalServerException = class _InternalServerException extends SSOOIDCServiceException { + static { + __name(this, "InternalServerException"); + } + static shapeId = "com.amazonaws.ssooidc#InternalServerException"; + name = "InternalServerException"; + $fault = "server"; + error; + error_description; + constructor(opts) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts + }); + Object.setPrototypeOf(this, _InternalServerException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + InvalidClientException = class _InvalidClientException extends SSOOIDCServiceException { + static { + __name(this, "InvalidClientException"); + } + static shapeId = "com.amazonaws.ssooidc#InvalidClientException"; + name = "InvalidClientException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "InvalidClientException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + InvalidGrantException = class _InvalidGrantException extends SSOOIDCServiceException { + static { + __name(this, "InvalidGrantException"); + } + static shapeId = "com.amazonaws.ssooidc#InvalidGrantException"; + name = "InvalidGrantException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "InvalidGrantException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidGrantException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + InvalidRequestException = class _InvalidRequestException extends SSOOIDCServiceException { + static { + __name(this, "InvalidRequestException"); + } + static shapeId = "com.amazonaws.ssooidc#InvalidRequestException"; + name = "InvalidRequestException"; + $fault = "client"; + error; + reason; + error_description; + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + this.error = opts.error; + this.reason = opts.reason; + this.error_description = opts.error_description; + } + }; + InvalidScopeException = class _InvalidScopeException extends SSOOIDCServiceException { + static { + __name(this, "InvalidScopeException"); + } + static shapeId = "com.amazonaws.ssooidc#InvalidScopeException"; + name = "InvalidScopeException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "InvalidScopeException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidScopeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + SlowDownException = class _SlowDownException extends SSOOIDCServiceException { + static { + __name(this, "SlowDownException"); + } + static shapeId = "com.amazonaws.ssooidc#SlowDownException"; + name = "SlowDownException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "SlowDownException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _SlowDownException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + UnauthorizedClientException = class _UnauthorizedClientException extends SSOOIDCServiceException { + static { + __name(this, "UnauthorizedClientException"); + } + static shapeId = "com.amazonaws.ssooidc#UnauthorizedClientException"; + name = "UnauthorizedClientException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "UnauthorizedClientException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _UnauthorizedClientException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + UnsupportedGrantTypeException = class _UnsupportedGrantTypeException extends SSOOIDCServiceException { + static { + __name(this, "UnsupportedGrantTypeException"); + } + static shapeId = "com.amazonaws.ssooidc#UnsupportedGrantTypeException"; + name = "UnsupportedGrantTypeException"; + $fault = "client"; + error; + error_description; + constructor(opts) { + super({ + name: "UnsupportedGrantTypeException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _UnsupportedGrantTypeException.prototype); + this.error = opts.error; + this.error_description = opts.error_description; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js +var _ADE, _APE, _AT, _CS, _CT, _CTR, _CTRr, _CV, _ETE, _ICE, _IGE, _IRE, _ISE, _ISEn, _IT, _RT, _SDE, _UCE, _UGTE, _aT, _c, _cI, _cS, _cV, _co, _dC, _e, _eI, _ed, _gT, _h, _hE, _iT, _r, _rT, _rU, _s, _sc, _se, _tT, n0, _s_registry, SSOOIDCServiceException$, n0_registry, AccessDeniedException$, AuthorizationPendingException$, ExpiredTokenException$, InternalServerException$, InvalidClientException$, InvalidGrantException$, InvalidRequestException$, InvalidScopeException$, SlowDownException$, UnauthorizedClientException$, UnsupportedGrantTypeException$, errorTypeRegistries, AccessToken, ClientSecret, CodeVerifier, IdToken, RefreshToken, CreateTokenRequest$, CreateTokenResponse$, Scopes, CreateToken$; +var init_schemas_0 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js"() { + init_schema(); + init_errors(); + init_SSOOIDCServiceException(); + _ADE = "AccessDeniedException"; + _APE = "AuthorizationPendingException"; + _AT = "AccessToken"; + _CS = "ClientSecret"; + _CT = "CreateToken"; + _CTR = "CreateTokenRequest"; + _CTRr = "CreateTokenResponse"; + _CV = "CodeVerifier"; + _ETE = "ExpiredTokenException"; + _ICE = "InvalidClientException"; + _IGE = "InvalidGrantException"; + _IRE = "InvalidRequestException"; + _ISE = "InternalServerException"; + _ISEn = "InvalidScopeException"; + _IT = "IdToken"; + _RT = "RefreshToken"; + _SDE = "SlowDownException"; + _UCE = "UnauthorizedClientException"; + _UGTE = "UnsupportedGrantTypeException"; + _aT = "accessToken"; + _c = "client"; + _cI = "clientId"; + _cS = "clientSecret"; + _cV = "codeVerifier"; + _co = "code"; + _dC = "deviceCode"; + _e = "error"; + _eI = "expiresIn"; + _ed = "error_description"; + _gT = "grantType"; + _h = "http"; + _hE = "httpError"; + _iT = "idToken"; + _r = "reason"; + _rT = "refreshToken"; + _rU = "redirectUri"; + _s = "smithy.ts.sdk.synthetic.com.amazonaws.ssooidc"; + _sc = "scope"; + _se = "server"; + _tT = "tokenType"; + n0 = "com.amazonaws.ssooidc"; + _s_registry = new TypeRegistry(_s); + SSOOIDCServiceException$ = [-3, _s, "SSOOIDCServiceException", 0, [], []]; + _s_registry.registerError(SSOOIDCServiceException$, SSOOIDCServiceException); + n0_registry = new TypeRegistry(n0); + AccessDeniedException$ = [ + -3, + n0, + _ADE, + { [_e]: _c, [_hE]: 400 }, + [_e, _r, _ed], + [0, 0, 0] + ]; + n0_registry.registerError(AccessDeniedException$, AccessDeniedException); + AuthorizationPendingException$ = [ + -3, + n0, + _APE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(AuthorizationPendingException$, AuthorizationPendingException); + ExpiredTokenException$ = [ + -3, + n0, + _ETE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(ExpiredTokenException$, ExpiredTokenException); + InternalServerException$ = [ + -3, + n0, + _ISE, + { [_e]: _se, [_hE]: 500 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(InternalServerException$, InternalServerException); + InvalidClientException$ = [ + -3, + n0, + _ICE, + { [_e]: _c, [_hE]: 401 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(InvalidClientException$, InvalidClientException); + InvalidGrantException$ = [ + -3, + n0, + _IGE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(InvalidGrantException$, InvalidGrantException); + InvalidRequestException$ = [ + -3, + n0, + _IRE, + { [_e]: _c, [_hE]: 400 }, + [_e, _r, _ed], + [0, 0, 0] + ]; + n0_registry.registerError(InvalidRequestException$, InvalidRequestException); + InvalidScopeException$ = [ + -3, + n0, + _ISEn, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(InvalidScopeException$, InvalidScopeException); + SlowDownException$ = [ + -3, + n0, + _SDE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(SlowDownException$, SlowDownException); + UnauthorizedClientException$ = [ + -3, + n0, + _UCE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(UnauthorizedClientException$, UnauthorizedClientException); + UnsupportedGrantTypeException$ = [ + -3, + n0, + _UGTE, + { [_e]: _c, [_hE]: 400 }, + [_e, _ed], + [0, 0] + ]; + n0_registry.registerError(UnsupportedGrantTypeException$, UnsupportedGrantTypeException); + errorTypeRegistries = [ + _s_registry, + n0_registry + ]; + AccessToken = [0, n0, _AT, 8, 0]; + ClientSecret = [0, n0, _CS, 8, 0]; + CodeVerifier = [0, n0, _CV, 8, 0]; + IdToken = [0, n0, _IT, 8, 0]; + RefreshToken = [0, n0, _RT, 8, 0]; + CreateTokenRequest$ = [ + 3, + n0, + _CTR, + 0, + [_cI, _cS, _gT, _dC, _co, _rT, _sc, _rU, _cV], + [0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]], + 3 + ]; + CreateTokenResponse$ = [ + 3, + n0, + _CTRr, + 0, + [_aT, _tT, _eI, _rT, _iT], + [[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]] + ]; + Scopes = 64 | 0; + CreateToken$ = [ + 9, + n0, + _CT, + { [_h]: ["POST", "/token", 200] }, + () => CreateTokenRequest$, + () => CreateTokenResponse$ + ]; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js +var getRuntimeConfig; +var init_runtimeConfig_shared = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js"() { + init_httpAuthSchemes2(); + init_protocols2(); + init_dist_es(); + init_checksum(); + init_client(); + init_protocols(); + init_serde(); + init_httpAuthSchemeProvider(); + init_endpointResolver(); + init_schemas_0(); + getRuntimeConfig = /* @__PURE__ */ __name((config3) => { + return { + apiVersion: "2019-06-10", + base64Decoder: config3?.base64Decoder ?? fromBase64, + base64Encoder: config3?.base64Encoder ?? toBase64, + disableHostPrefix: config3?.disableHostPrefix ?? false, + endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver, + extensions: config3?.extensions ?? [], + httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider, + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"), + signer: new AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"), + signer: new NoAuthSigner() + } + ], + logger: config3?.logger ?? new NoOpLogger(), + protocol: config3?.protocol ?? AwsRestJsonProtocol, + protocolSettings: config3?.protocolSettings ?? { + defaultNamespace: "com.amazonaws.ssooidc", + errorTypeRegistries, + version: "2019-06-10", + serviceTarget: "AWSSSOOIDCService" + }, + serviceId: config3?.serviceId ?? "SSO OIDC", + sha256: config3?.sha256 ?? Sha256Node, + urlParser: config3?.urlParser ?? parseUrl, + utf8Decoder: config3?.utf8Decoder ?? fromUtf8, + utf8Encoder: config3?.utf8Encoder ?? toUtf8 + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +var import_node_http_handler, getRuntimeConfig2; +var init_runtimeConfig = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js"() { + init_package(); + init_client2(); + init_httpAuthSchemes2(); + init_client(); + init_config(); + init_retry(); + init_serde(); + import_node_http_handler = __toESM(require_dist_cjs7()); + init_runtimeConfig_shared(); + getRuntimeConfig2 = /* @__PURE__ */ __name((config3) => { + emitWarningIfUnsupportedVersion(process.version); + const defaultsMode = resolveDefaultsModeConfig(config3); + const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider"); + const clientSharedValues = getRuntimeConfig(config3); + emitWarningIfUnsupportedVersion2(process.version); + const loaderConfig = { + profile: config3?.profile, + logger: clientSharedValues.logger + }; + return { + ...clientSharedValues, + ...config3, + runtime: "node", + defaultsMode, + authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig), + bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength, + defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3), + region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }), + requestHandler: import_node_http_handler.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider), + retryMode: config3?.retryMode ?? loadConfig({ + ...NODE_RETRY_MODE_CONFIG_OPTIONS, + default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default") + }, config3), + streamCollector: config3?.streamCollector ?? import_node_http_handler.streamCollector, + useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig) + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthExtensionConfiguration.js +var getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig; +var init_httpAuthExtensionConfiguration = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthExtensionConfiguration.js"() { + getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config3) => { + return { + httpAuthSchemes: config3.httpAuthSchemes(), + httpAuthSchemeProvider: config3.httpAuthSchemeProvider(), + credentials: config3.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +var resolveRuntimeExtensions; +var init_runtimeExtensions = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js"() { + init_client2(); + init_client(); + init_protocols(); + init_httpAuthExtensionConfiguration(); + resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig)); + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration)); + }, "resolveRuntimeExtensions"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +var SSOOIDCClient; +var init_SSOOIDCClient = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js"() { + init_client2(); + init_dist_es(); + init_client(); + init_config(); + init_endpoints(); + init_protocols(); + init_retry(); + init_schema(); + init_httpAuthSchemeProvider(); + init_EndpointParameters(); + init_runtimeConfig(); + init_runtimeExtensions(); + SSOOIDCClient = class extends Client { + static { + __name(this, "SSOOIDCClient"); + } + config; + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig2(configuration || {}); + super(_config_0); + this.initConfig = _config_0; + const _config_1 = resolveClientEndpointParameters(_config_0); + const _config_2 = resolveUserAgentConfig(_config_1); + const _config_3 = resolveRetryConfig(_config_2); + const _config_4 = resolveRegionConfig(_config_3); + const _config_5 = resolveHostHeaderConfig(_config_4); + const _config_6 = resolveEndpointConfig(_config_5); + const _config_7 = resolveHttpAuthSchemeConfig(_config_6); + const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []); + this.config = _config_8; + this.middlewareStack.use(getSchemaSerdePlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); + this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { + httpAuthSchemeParametersProvider: defaultSSOOIDCHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config3.credentials + }), "identityProviderConfigProvider") + })); + this.middlewareStack.use(getHttpSigningPlugin(this.config)); + } + destroy() { + super.destroy(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js +var command, _ep0, _mw0; +var init_commandBuilder = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js"() { + init_client(); + init_endpoints(); + init_EndpointParameters(); + command = makeBuilder(commonParams, "AWSSSOOIDCService", "SSOOIDCClient", getEndpointPlugin); + _ep0 = {}; + _mw0 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js +var CreateTokenCommand; +var init_CreateTokenCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js"() { + init_commandBuilder(); + init_schemas_0(); + CreateTokenCommand = class extends command(_ep0, _mw0, "CreateToken", CreateToken$) { + static { + __name(this, "CreateTokenCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDC.js +var commands, SSOOIDC; +var init_SSOOIDC = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDC.js"() { + init_client(); + init_CreateTokenCommand(); + init_SSOOIDCClient(); + commands = { + CreateTokenCommand + }; + SSOOIDC = class extends SSOOIDCClient { + static { + __name(this, "SSOOIDC"); + } + }; + createAggregatedClient(commands, SSOOIDC); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/index.js +var init_commands = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/index.js"() { + init_CreateTokenCommand(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/enums.js +var AccessDeniedExceptionReason, InvalidRequestExceptionReason; +var init_enums = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/enums.js"() { + AccessDeniedExceptionReason = { + KMS_ACCESS_DENIED: "KMS_AccessDeniedException" + }; + InvalidRequestExceptionReason = { + KMS_DISABLED_KEY: "KMS_DisabledException", + KMS_INVALID_KEY_USAGE: "KMS_InvalidKeyUsageException", + KMS_INVALID_STATE: "KMS_InvalidStateException", + KMS_KEY_NOT_FOUND: "KMS_NotFoundException" + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/models_0.js +var init_models_0 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/models_0.js"() { + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js +var sso_oidc_exports = {}; +__export(sso_oidc_exports, { + $Command: () => Command, + AccessDeniedException: () => AccessDeniedException, + AccessDeniedException$: () => AccessDeniedException$, + AccessDeniedExceptionReason: () => AccessDeniedExceptionReason, + AuthorizationPendingException: () => AuthorizationPendingException, + AuthorizationPendingException$: () => AuthorizationPendingException$, + CreateToken$: () => CreateToken$, + CreateTokenCommand: () => CreateTokenCommand, + CreateTokenRequest$: () => CreateTokenRequest$, + CreateTokenResponse$: () => CreateTokenResponse$, + ExpiredTokenException: () => ExpiredTokenException, + ExpiredTokenException$: () => ExpiredTokenException$, + InternalServerException: () => InternalServerException, + InternalServerException$: () => InternalServerException$, + InvalidClientException: () => InvalidClientException, + InvalidClientException$: () => InvalidClientException$, + InvalidGrantException: () => InvalidGrantException, + InvalidGrantException$: () => InvalidGrantException$, + InvalidRequestException: () => InvalidRequestException, + InvalidRequestException$: () => InvalidRequestException$, + InvalidRequestExceptionReason: () => InvalidRequestExceptionReason, + InvalidScopeException: () => InvalidScopeException, + InvalidScopeException$: () => InvalidScopeException$, + SSOOIDC: () => SSOOIDC, + SSOOIDCClient: () => SSOOIDCClient, + SSOOIDCServiceException: () => SSOOIDCServiceException, + SSOOIDCServiceException$: () => SSOOIDCServiceException$, + SlowDownException: () => SlowDownException, + SlowDownException$: () => SlowDownException$, + UnauthorizedClientException: () => UnauthorizedClientException, + UnauthorizedClientException$: () => UnauthorizedClientException$, + UnsupportedGrantTypeException: () => UnsupportedGrantTypeException, + UnsupportedGrantTypeException$: () => UnsupportedGrantTypeException$, + __Client: () => Client, + errorTypeRegistries: () => errorTypeRegistries +}); +var init_sso_oidc = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js"() { + init_SSOOIDCClient(); + init_SSOOIDC(); + init_commands(); + init_client(); + init_schemas_0(); + init_enums(); + init_errors(); + init_models_0(); + init_SSOOIDCServiceException(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+token-providers@3.1153.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +var require_dist_cjs9 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+token-providers@3.1153.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports) { + var { setTokenFeature: setTokenFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { getBearerTokenEnvKey: getBearerTokenEnvKey2 } = (init_httpAuthSchemes2(), __toCommonJS(httpAuthSchemes_exports)); + var { TokenProviderError, getSSOTokenFilepath, parseKnownFiles, getProfileName, loadSsoSessionData, getSSOTokenFromFile, memoize, chain } = (init_config(), __toCommonJS(config_exports)); + var { promises } = __require("node:fs"); + var fromEnvSigningName = /* @__PURE__ */ __name(({ logger, signingName } = {}) => async () => { + logger?.debug?.("@aws-sdk/token-providers - fromEnvSigningName"); + if (!signingName) { + throw new TokenProviderError("Please pass 'signingName' to compute environment variable key", { logger }); + } + const bearerTokenKey = getBearerTokenEnvKey2(signingName); + if (!(bearerTokenKey in process.env)) { + throw new TokenProviderError(`Token not present in '${bearerTokenKey}' environment variable`, { logger }); + } + const token = { token: process.env[bearerTokenKey] }; + setTokenFeature2(token, "BEARER_SERVICE_ENV_VARS", "3"); + return token; + }, "fromEnvSigningName"); + var EXPIRE_WINDOW_MS = 5 * 60 * 1e3; + var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`; + var getSsoOidcClient = /* @__PURE__ */ __name(async (ssoRegion, init2 = {}, callerClientConfig) => { + const { SSOOIDCClient: SSOOIDCClient2 } = (init_sso_oidc(), __toCommonJS(sso_oidc_exports)); + const coalesce = /* @__PURE__ */ __name((prop) => init2.clientConfig?.[prop] ?? init2.parentClientConfig?.[prop] ?? callerClientConfig?.[prop], "coalesce"); + const ssoOidcClient = new SSOOIDCClient2(Object.assign({}, init2.clientConfig ?? {}, { + region: ssoRegion ?? init2.clientConfig?.region, + logger: coalesce("logger"), + userAgentAppId: coalesce("userAgentAppId") + })); + return ssoOidcClient; + }, "getSsoOidcClient"); + var getNewSsoOidcToken = /* @__PURE__ */ __name(async (ssoToken, ssoRegion, init2 = {}, callerClientConfig) => { + const { CreateTokenCommand: CreateTokenCommand2 } = (init_sso_oidc(), __toCommonJS(sso_oidc_exports)); + const ssoOidcClient = await getSsoOidcClient(ssoRegion, init2, callerClientConfig); + return ssoOidcClient.send(new CreateTokenCommand2({ + clientId: ssoToken.clientId, + clientSecret: ssoToken.clientSecret, + refreshToken: ssoToken.refreshToken, + grantType: "refresh_token" + })); + }, "getNewSsoOidcToken"); + var validateTokenExpiry = /* @__PURE__ */ __name((token) => { + if (token.expiration && token.expiration.getTime() < Date.now()) { + throw new TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false); + } + }, "validateTokenExpiry"); + var validateTokenKey = /* @__PURE__ */ __name((key, value, forRefresh = false) => { + if (typeof value === "undefined") { + throw new TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${REFRESH_MESSAGE}`, false); + } + }, "validateTokenKey"); + var { writeFile } = promises; + var writeSSOTokenToFile = /* @__PURE__ */ __name((id, ssoToken) => { + const tokenFilepath = getSSOTokenFilepath(id); + const tokenString = JSON.stringify(ssoToken, null, 2); + return writeFile(tokenFilepath, tokenString); + }, "writeSSOTokenToFile"); + var lastRefreshAttemptTimes = /* @__PURE__ */ new Map(); + var inFlightRefreshes = /* @__PURE__ */ new Map(); + var fromSso = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => { + init2.logger?.debug("@aws-sdk/token-providers - fromSso"); + const profiles = await parseKnownFiles(init2); + const profileName = getProfileName({ + profile: init2.profile ?? callerClientConfig?.profile + }); + const profile = profiles[profileName]; + if (!profile) { + throw new TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false); + } else if (!profile["sso_session"]) { + throw new TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`); + } + const ssoSessionName = profile["sso_session"]; + const inFlightRefresh = inFlightRefreshes.get(ssoSessionName); + if (inFlightRefresh) { + return await inFlightRefresh; + } + const ssoSessions = await loadSsoSessionData(init2); + const ssoSession = ssoSessions[ssoSessionName]; + if (!ssoSession) { + throw new TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false); + } + for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) { + if (!ssoSession[ssoSessionRequiredKey]) { + throw new TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false); + } + } + ssoSession["sso_start_url"]; + const ssoRegion = ssoSession["sso_region"]; + let ssoToken; + try { + ssoToken = await getSSOTokenFromFile(ssoSessionName); + } catch (e5) { + throw new TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false); + } + validateTokenKey("accessToken", ssoToken.accessToken); + validateTokenKey("expiresAt", ssoToken.expiresAt); + const { accessToken, expiresAt } = ssoToken; + const existingToken = { + token: accessToken, + expiration: new Date(expiresAt) + }; + if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) { + return existingToken; + } + const inFlightRefreshAfterReadingToken = inFlightRefreshes.get(ssoSessionName); + if (inFlightRefreshAfterReadingToken) { + return await inFlightRefreshAfterReadingToken; + } + const lastRefreshAttemptTime = lastRefreshAttemptTimes.get(ssoSessionName) ?? 0; + if (Date.now() - lastRefreshAttemptTime < 30 * 1e3) { + validateTokenExpiry(existingToken); + return existingToken; + } + validateTokenKey("clientId", ssoToken.clientId, true); + validateTokenKey("clientSecret", ssoToken.clientSecret, true); + validateTokenKey("refreshToken", ssoToken.refreshToken, true); + const refresh = (async () => { + try { + lastRefreshAttemptTimes.set(ssoSessionName, Date.now()); + const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init2, callerClientConfig); + validateTokenKey("accessToken", newSsoOidcToken.accessToken); + validateTokenKey("expiresIn", newSsoOidcToken.expiresIn); + const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1e3); + try { + await writeSSOTokenToFile(ssoSessionName, { + ...ssoToken, + accessToken: newSsoOidcToken.accessToken, + expiresAt: newTokenExpiration.toISOString(), + refreshToken: newSsoOidcToken.refreshToken + }); + } catch (error62) { + } + return { + token: newSsoOidcToken.accessToken, + expiration: newTokenExpiration + }; + } catch (error62) { + validateTokenExpiry(existingToken); + return existingToken; + } + })(); + inFlightRefreshes.set(ssoSessionName, refresh); + try { + return await refresh; + } finally { + inFlightRefreshes.delete(ssoSessionName); + } + }, "fromSso"); + var fromStatic = /* @__PURE__ */ __name(({ token, logger }) => async () => { + logger?.debug("@aws-sdk/token-providers - fromStatic"); + if (!token || !token.token) { + throw new TokenProviderError(`Please pass a valid token to fromStatic`, false); + } + return token; + }, "fromStatic"); + var nodeProvider = /* @__PURE__ */ __name((init2 = {}) => memoize(chain(fromSso(init2), async () => { + throw new TokenProviderError("Could not load token from any providers", false); + }), (token) => token.expiration !== void 0 && token.expiration.getTime() - Date.now() < 3e5, (token) => token.expiration !== void 0), "nodeProvider"); + exports.fromEnvSigningName = fromEnvSigningName; + exports.fromSso = fromSso; + exports.fromStatic = fromStatic; + exports.nodeProvider = nodeProvider; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthSchemeProvider.js +function createAwsAuthSigv4HttpAuthOption2(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "awsssoportal", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; +} +function createSmithyApiNoAuthHttpAuthOption2(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; +} +var defaultSSOHttpAuthSchemeParametersProvider, defaultSSOHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig2; +var init_httpAuthSchemeProvider2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthSchemeProvider.js"() { + init_httpAuthSchemes2(); + init_client(); + defaultSSOHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => { + return { + operation: getSmithyContext(context).operation, + region: await normalizeProvider(config3.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }, "defaultSSOHttpAuthSchemeParametersProvider"); + __name(createAwsAuthSigv4HttpAuthOption2, "createAwsAuthSigv4HttpAuthOption"); + __name(createSmithyApiNoAuthHttpAuthOption2, "createSmithyApiNoAuthHttpAuthOption"); + defaultSSOHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const options = []; + switch (authParameters.operation) { + case "GetRoleCredentials": + { + options.push(createSmithyApiNoAuthHttpAuthOption2(authParameters)); + break; + } + ; + default: { + options.push(createAwsAuthSigv4HttpAuthOption2(authParameters)); + } + } + return options; + }, "defaultSSOHttpAuthSchemeProvider"); + resolveHttpAuthSchemeConfig2 = /* @__PURE__ */ __name((config3) => { + const config_0 = resolveAwsSdkSigV4Config(config3); + return Object.assign(config_0, { + authSchemePreference: normalizeProvider(config3.authSchemePreference ?? []) + }); + }, "resolveHttpAuthSchemeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/EndpointParameters.js +var resolveClientEndpointParameters2, commonParams2; +var init_EndpointParameters2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/EndpointParameters.js"() { + resolveClientEndpointParameters2 = /* @__PURE__ */ __name((options) => { + return Object.assign(options, { + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "awsssoportal" + }); + }, "resolveClientEndpointParameters"); + commonParams2 = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js +var k2, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, _data2, root2, r2, nodes2, bdd2; +var init_bdd2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js"() { + init_endpoints(); + k2 = "ref"; + a2 = -1; + b2 = true; + c2 = "isSet"; + d2 = "PartitionResult"; + e2 = "booleanEquals"; + f2 = "getAttr"; + g2 = { [k2]: "Endpoint" }; + h2 = { [k2]: d2 }; + i2 = {}; + j2 = [{ [k2]: "Region" }]; + _data2 = { + conditions: [ + [c2, [g2]], + [c2, j2], + ["aws.partition", j2, d2], + [e2, [{ [k2]: "UseFIPS" }, b2]], + [e2, [{ [k2]: "UseDualStack" }, b2]], + [e2, [{ fn: f2, argv: [h2, "supportsDualStack"] }, b2]], + [e2, [{ fn: f2, argv: [h2, "supportsFIPS"] }, b2]], + ["stringEquals", [{ fn: f2, argv: [h2, "name"] }, "aws-us-gov"]] + ], + results: [ + [a2], + [a2, "Invalid Configuration: FIPS and custom endpoint are not supported"], + [a2, "Invalid Configuration: Dualstack and custom endpoint are not supported"], + [g2, i2], + ["https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", i2], + [a2, "FIPS and DualStack are enabled, but this partition does not support one or both"], + ["https://portal.sso.{Region}.amazonaws.com", i2], + ["https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", i2], + [a2, "FIPS is enabled but this partition does not support FIPS"], + ["https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", i2], + [a2, "DualStack is enabled but this partition does not support DualStack"], + ["https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", i2], + [a2, "Invalid Configuration: Missing Region"] + ] + }; + root2 = 2; + r2 = 1e8; + nodes2 = new Int32Array([ + -1, + 1, + -1, + 0, + 13, + 3, + 1, + 4, + r2 + 12, + 2, + 5, + r2 + 12, + 3, + 8, + 6, + 4, + 7, + r2 + 11, + 5, + r2 + 9, + r2 + 10, + 4, + 11, + 9, + 6, + 10, + r2 + 8, + 7, + r2 + 6, + r2 + 7, + 5, + 12, + r2 + 5, + 6, + r2 + 4, + r2 + 5, + 3, + r2 + 1, + 14, + 4, + r2 + 2, + r2 + 3 + ]); + bdd2 = BinaryDecisionDiagram.from(nodes2, root2, _data2.conditions, _data2.results); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +var cache2, defaultEndpointResolver2; +var init_endpointResolver2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js"() { + init_client2(); + init_endpoints(); + init_bdd2(); + cache2 = new EndpointCache({ + size: 50, + params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"] + }); + defaultEndpointResolver2 = /* @__PURE__ */ __name((endpointParams, context = {}) => { + return cache2.get(endpointParams, () => decideEndpoint(bdd2, { + endpointParams, + logger: context.logger + })); + }, "defaultEndpointResolver"); + customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js +var SSOServiceException; +var init_SSOServiceException = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/SSOServiceException.js"() { + init_client(); + SSOServiceException = class _SSOServiceException extends ServiceException { + static { + __name(this, "SSOServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.sso#SSOServiceException"; + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SSOServiceException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js +var InvalidRequestException2, ResourceNotFoundException, TooManyRequestsException, UnauthorizedException2; +var init_errors2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/errors.js"() { + init_SSOServiceException(); + InvalidRequestException2 = class _InvalidRequestException extends SSOServiceException { + static { + __name(this, "InvalidRequestException"); + } + static shapeId = "com.amazonaws.sso#InvalidRequestException"; + name = "InvalidRequestException"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidRequestException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidRequestException.prototype); + } + }; + ResourceNotFoundException = class _ResourceNotFoundException extends SSOServiceException { + static { + __name(this, "ResourceNotFoundException"); + } + static shapeId = "com.amazonaws.sso#ResourceNotFoundException"; + name = "ResourceNotFoundException"; + $fault = "client"; + constructor(opts) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ResourceNotFoundException.prototype); + } + }; + TooManyRequestsException = class _TooManyRequestsException extends SSOServiceException { + static { + __name(this, "TooManyRequestsException"); + } + static shapeId = "com.amazonaws.sso#TooManyRequestsException"; + name = "TooManyRequestsException"; + $fault = "client"; + constructor(opts) { + super({ + name: "TooManyRequestsException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _TooManyRequestsException.prototype); + } + }; + UnauthorizedException2 = class _UnauthorizedException extends SSOServiceException { + static { + __name(this, "UnauthorizedException"); + } + static shapeId = "com.amazonaws.sso#UnauthorizedException"; + name = "UnauthorizedException"; + $fault = "client"; + constructor(opts) { + super({ + name: "UnauthorizedException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _UnauthorizedException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/schemas/schemas_0.js +var _ATT, _GRC, _GRCR, _GRCRe, _IRE2, _RC, _RNFE, _SAKT, _STT, _TMRE, _UE, _aI, _aKI, _aT2, _ai, _c2, _e2, _ex, _h2, _hE2, _hH, _hQ, _m, _rC, _rN, _rn, _s2, _sAK, _sT, _xasbt, n02, _s_registry2, SSOServiceException$, n0_registry2, InvalidRequestException$2, ResourceNotFoundException$, TooManyRequestsException$, UnauthorizedException$, errorTypeRegistries2, AccessTokenType, SecretAccessKeyType, SessionTokenType, GetRoleCredentialsRequest$, GetRoleCredentialsResponse$, RoleCredentials$, GetRoleCredentials$; +var init_schemas_02 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/schemas/schemas_0.js"() { + init_schema(); + init_errors2(); + init_SSOServiceException(); + _ATT = "AccessTokenType"; + _GRC = "GetRoleCredentials"; + _GRCR = "GetRoleCredentialsRequest"; + _GRCRe = "GetRoleCredentialsResponse"; + _IRE2 = "InvalidRequestException"; + _RC = "RoleCredentials"; + _RNFE = "ResourceNotFoundException"; + _SAKT = "SecretAccessKeyType"; + _STT = "SessionTokenType"; + _TMRE = "TooManyRequestsException"; + _UE = "UnauthorizedException"; + _aI = "accountId"; + _aKI = "accessKeyId"; + _aT2 = "accessToken"; + _ai = "account_id"; + _c2 = "client"; + _e2 = "error"; + _ex = "expiration"; + _h2 = "http"; + _hE2 = "httpError"; + _hH = "httpHeader"; + _hQ = "httpQuery"; + _m = "message"; + _rC = "roleCredentials"; + _rN = "roleName"; + _rn = "role_name"; + _s2 = "smithy.ts.sdk.synthetic.com.amazonaws.sso"; + _sAK = "secretAccessKey"; + _sT = "sessionToken"; + _xasbt = "x-amz-sso_bearer_token"; + n02 = "com.amazonaws.sso"; + _s_registry2 = new TypeRegistry(_s2); + SSOServiceException$ = [-3, _s2, "SSOServiceException", 0, [], []]; + _s_registry2.registerError(SSOServiceException$, SSOServiceException); + n0_registry2 = new TypeRegistry(n02); + InvalidRequestException$2 = [ + -3, + n02, + _IRE2, + { [_e2]: _c2, [_hE2]: 400 }, + [_m], + [0] + ]; + n0_registry2.registerError(InvalidRequestException$2, InvalidRequestException2); + ResourceNotFoundException$ = [ + -3, + n02, + _RNFE, + { [_e2]: _c2, [_hE2]: 404 }, + [_m], + [0] + ]; + n0_registry2.registerError(ResourceNotFoundException$, ResourceNotFoundException); + TooManyRequestsException$ = [ + -3, + n02, + _TMRE, + { [_e2]: _c2, [_hE2]: 429 }, + [_m], + [0] + ]; + n0_registry2.registerError(TooManyRequestsException$, TooManyRequestsException); + UnauthorizedException$ = [ + -3, + n02, + _UE, + { [_e2]: _c2, [_hE2]: 401 }, + [_m], + [0] + ]; + n0_registry2.registerError(UnauthorizedException$, UnauthorizedException2); + errorTypeRegistries2 = [ + _s_registry2, + n0_registry2 + ]; + AccessTokenType = [0, n02, _ATT, 8, 0]; + SecretAccessKeyType = [0, n02, _SAKT, 8, 0]; + SessionTokenType = [0, n02, _STT, 8, 0]; + GetRoleCredentialsRequest$ = [ + 3, + n02, + _GRCR, + 0, + [_rN, _aI, _aT2], + [[0, { [_hQ]: _rn }], [0, { [_hQ]: _ai }], [() => AccessTokenType, { [_hH]: _xasbt }]], + 3 + ]; + GetRoleCredentialsResponse$ = [ + 3, + n02, + _GRCRe, + 0, + [_rC], + [[() => RoleCredentials$, 0]] + ]; + RoleCredentials$ = [ + 3, + n02, + _RC, + 0, + [_aKI, _sAK, _sT, _ex], + [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1] + ]; + GetRoleCredentials$ = [ + 9, + n02, + _GRC, + { [_h2]: ["GET", "/federation/credentials", 200] }, + () => GetRoleCredentialsRequest$, + () => GetRoleCredentialsResponse$ + ]; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js +var getRuntimeConfig3; +var init_runtimeConfig_shared2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js"() { + init_httpAuthSchemes2(); + init_protocols2(); + init_dist_es(); + init_checksum(); + init_client(); + init_protocols(); + init_serde(); + init_httpAuthSchemeProvider2(); + init_endpointResolver2(); + init_schemas_02(); + getRuntimeConfig3 = /* @__PURE__ */ __name((config3) => { + return { + apiVersion: "2019-06-10", + base64Decoder: config3?.base64Decoder ?? fromBase64, + base64Encoder: config3?.base64Encoder ?? toBase64, + disableHostPrefix: config3?.disableHostPrefix ?? false, + endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver2, + extensions: config3?.extensions ?? [], + httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider, + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"), + signer: new AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"), + signer: new NoAuthSigner() + } + ], + logger: config3?.logger ?? new NoOpLogger(), + protocol: config3?.protocol ?? AwsRestJsonProtocol, + protocolSettings: config3?.protocolSettings ?? { + defaultNamespace: "com.amazonaws.sso", + errorTypeRegistries: errorTypeRegistries2, + version: "2019-06-10", + serviceTarget: "SWBPortalService" + }, + serviceId: config3?.serviceId ?? "SSO", + sha256: config3?.sha256 ?? Sha256Node, + urlParser: config3?.urlParser ?? parseUrl, + utf8Decoder: config3?.utf8Decoder ?? fromUtf8, + utf8Encoder: config3?.utf8Encoder ?? toUtf8 + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +var import_node_http_handler2, getRuntimeConfig4; +var init_runtimeConfig2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js"() { + init_package(); + init_client2(); + init_httpAuthSchemes2(); + init_client(); + init_config(); + init_retry(); + init_serde(); + import_node_http_handler2 = __toESM(require_dist_cjs7()); + init_runtimeConfig_shared2(); + getRuntimeConfig4 = /* @__PURE__ */ __name((config3) => { + emitWarningIfUnsupportedVersion(process.version); + const defaultsMode = resolveDefaultsModeConfig(config3); + const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider"); + const clientSharedValues = getRuntimeConfig3(config3); + emitWarningIfUnsupportedVersion2(process.version); + const loaderConfig = { + profile: config3?.profile, + logger: clientSharedValues.logger + }; + return { + ...clientSharedValues, + ...config3, + runtime: "node", + defaultsMode, + authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig), + bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength, + defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3), + region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }), + requestHandler: import_node_http_handler2.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider), + retryMode: config3?.retryMode ?? loadConfig({ + ...NODE_RETRY_MODE_CONFIG_OPTIONS, + default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default") + }, config3), + streamCollector: config3?.streamCollector ?? import_node_http_handler2.streamCollector, + useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig) + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthExtensionConfiguration.js +var getHttpAuthExtensionConfiguration2, resolveHttpAuthRuntimeConfig2; +var init_httpAuthExtensionConfiguration2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/auth/httpAuthExtensionConfiguration.js"() { + getHttpAuthExtensionConfiguration2 = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + resolveHttpAuthRuntimeConfig2 = /* @__PURE__ */ __name((config3) => { + return { + httpAuthSchemes: config3.httpAuthSchemes(), + httpAuthSchemeProvider: config3.httpAuthSchemeProvider(), + credentials: config3.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js +var resolveRuntimeExtensions2; +var init_runtimeExtensions2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js"() { + init_client2(); + init_client(); + init_protocols(); + init_httpAuthExtensionConfiguration2(); + resolveRuntimeExtensions2 = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration2(runtimeConfig)); + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig2(extensionConfiguration)); + }, "resolveRuntimeExtensions"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js +var SSOClient; +var init_SSOClient = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js"() { + init_client2(); + init_dist_es(); + init_client(); + init_config(); + init_endpoints(); + init_protocols(); + init_retry(); + init_schema(); + init_httpAuthSchemeProvider2(); + init_EndpointParameters2(); + init_runtimeConfig2(); + init_runtimeExtensions2(); + SSOClient = class extends Client { + static { + __name(this, "SSOClient"); + } + config; + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig4(configuration || {}); + super(_config_0); + this.initConfig = _config_0; + const _config_1 = resolveClientEndpointParameters2(_config_0); + const _config_2 = resolveUserAgentConfig(_config_1); + const _config_3 = resolveRetryConfig(_config_2); + const _config_4 = resolveRegionConfig(_config_3); + const _config_5 = resolveHostHeaderConfig(_config_4); + const _config_6 = resolveEndpointConfig(_config_5); + const _config_7 = resolveHttpAuthSchemeConfig2(_config_6); + const _config_8 = resolveRuntimeExtensions2(_config_7, configuration?.extensions || []); + this.config = _config_8; + this.middlewareStack.use(getSchemaSerdePlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); + this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { + httpAuthSchemeParametersProvider: defaultSSOHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config3.credentials + }), "identityProviderConfigProvider") + })); + this.middlewareStack.use(getHttpSigningPlugin(this.config)); + } + destroy() { + super.destroy(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js +var command2, _ep02, _mw02; +var init_commandBuilder2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js"() { + init_client(); + init_endpoints(); + init_EndpointParameters2(); + command2 = makeBuilder(commonParams2, "SWBPortalService", "SSOClient", getEndpointPlugin); + _ep02 = {}; + _mw02 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js +var GetRoleCredentialsCommand; +var init_GetRoleCredentialsCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js"() { + init_commandBuilder2(); + init_schemas_02(); + GetRoleCredentialsCommand = class extends command2(_ep02, _mw02, "GetRoleCredentials", GetRoleCredentials$) { + static { + __name(this, "GetRoleCredentialsCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSO.js +var commands2, SSO; +var init_SSO = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSO.js"() { + init_client(); + init_GetRoleCredentialsCommand(); + init_SSOClient(); + commands2 = { + GetRoleCredentialsCommand + }; + SSO = class extends SSOClient { + static { + __name(this, "SSO"); + } + }; + createAggregatedClient(commands2, SSO); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/index.js +var init_commands2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/index.js"() { + init_GetRoleCredentialsCommand(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/models_0.js +var init_models_02 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/models/models_0.js"() { + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js +var sso_exports = {}; +__export(sso_exports, { + $Command: () => Command, + GetRoleCredentials$: () => GetRoleCredentials$, + GetRoleCredentialsCommand: () => GetRoleCredentialsCommand, + GetRoleCredentialsRequest$: () => GetRoleCredentialsRequest$, + GetRoleCredentialsResponse$: () => GetRoleCredentialsResponse$, + InvalidRequestException: () => InvalidRequestException2, + InvalidRequestException$: () => InvalidRequestException$2, + ResourceNotFoundException: () => ResourceNotFoundException, + ResourceNotFoundException$: () => ResourceNotFoundException$, + RoleCredentials$: () => RoleCredentials$, + SSO: () => SSO, + SSOClient: () => SSOClient, + SSOServiceException: () => SSOServiceException, + SSOServiceException$: () => SSOServiceException$, + TooManyRequestsException: () => TooManyRequestsException, + TooManyRequestsException$: () => TooManyRequestsException$, + UnauthorizedException: () => UnauthorizedException2, + UnauthorizedException$: () => UnauthorizedException$, + __Client: () => Client, + errorTypeRegistries: () => errorTypeRegistries2 +}); +var init_sso = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js"() { + init_SSOClient(); + init_SSO(); + init_commands2(); + init_client(); + init_schemas_02(); + init_errors2(); + init_models_02(); + init_SSOServiceException(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js +var require_loadSso_BGYXHf8s = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BGYXHf8s.js"(exports) { + var { GetRoleCredentialsCommand: GetRoleCredentialsCommand2, SSOClient: SSOClient2 } = (init_sso(), __toCommonJS(sso_exports)); + exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand2; + exports.SSOClient = SSOClient2; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +var require_dist_cjs10 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.973.19/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports) { + var { CredentialsProviderError, getSSOTokenFromFile, getProfileName, parseKnownFiles, loadSsoSessionData } = (init_config(), __toCommonJS(config_exports)); + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { fromSso } = require_dist_cjs9(); + var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile"); + var SHOULD_FAIL_CREDENTIAL_CHAIN = false; + var resolveSSOCredentials = /* @__PURE__ */ __name(async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger }) => { + let token; + const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`; + if (ssoSession) { + try { + const _token = await fromSso({ + profile, + filepath, + configFilepath, + ignoreCache, + clientConfig, + parentClientConfig, + logger + })({ callerClientConfig }); + token = { + accessToken: _token.token, + expiresAt: new Date(_token.expiration).toISOString() + }; + } catch (e5) { + throw new CredentialsProviderError(e5.message, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + } else { + try { + token = await getSSOTokenFromFile(ssoStartUrl); + } catch (e5) { + throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + } + if (new Date(token.expiresAt).getTime() - Date.now() <= 0) { + throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + const { accessToken } = token; + const { SSOClient: SSOClient2, GetRoleCredentialsCommand: GetRoleCredentialsCommand2 } = require_loadSso_BGYXHf8s(); + const sso = ssoClient || new SSOClient2(Object.assign({}, clientConfig ?? {}, { + logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger, + region: clientConfig?.region ?? ssoRegion, + userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId + })); + let ssoResp; + try { + ssoResp = await sso.send(new GetRoleCredentialsCommand2({ + accountId: ssoAccountId, + roleName: ssoRoleName, + accessToken + })); + } catch (e5) { + throw new CredentialsProviderError(e5, { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {} } = ssoResp; + if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) { + throw new CredentialsProviderError("SSO returns an invalid temporary credential.", { + tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN, + logger + }); + } + const credentials = { + accessKeyId, + secretAccessKey, + sessionToken, + expiration: new Date(expiration), + ...credentialScope && { credentialScope }, + ...accountId && { accountId } + }; + if (ssoSession) { + setCredentialFeature2(credentials, "CREDENTIALS_SSO", "s"); + } else { + setCredentialFeature2(credentials, "CREDENTIALS_SSO_LEGACY", "u"); + } + return credentials; + }, "resolveSSOCredentials"); + var validateSsoProfile = /* @__PURE__ */ __name((profile, logger) => { + const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile; + if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) { + throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")} +Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger }); + } + return profile; + }, "validateSsoProfile"); + var fromSSO = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => { + init2.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO"); + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init2; + const { ssoClient } = init2; + const profileName = getProfileName({ + profile: init2.profile ?? callerClientConfig?.profile + }); + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + const profiles = await parseKnownFiles(init2); + const profile = profiles[profileName]; + if (!profile) { + throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init2.logger }); + } + if (!isSsoProfile(profile)) { + throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, { + logger: init2.logger + }); + } + if (profile?.sso_session) { + const ssoSessions = await loadSsoSessionData(init2); + const session = ssoSessions[profile.sso_session]; + const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`; + if (ssoRegion && ssoRegion !== session.sso_region) { + throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, { + tryNextLink: false, + logger: init2.logger + }); + } + if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) { + throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, { + tryNextLink: false, + logger: init2.logger + }); + } + profile.sso_region = session.sso_region; + profile.sso_start_url = session.sso_start_url; + } + const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init2.logger); + return resolveSSOCredentials({ + ssoStartUrl: sso_start_url, + ssoSession: sso_session, + ssoAccountId: sso_account_id, + ssoRegion: sso_region, + ssoRoleName: sso_role_name, + ssoClient, + clientConfig: init2.clientConfig, + parentClientConfig: init2.parentClientConfig, + callerClientConfig: init2.callerClientConfig, + profile: profileName, + filepath: init2.filepath, + configFilepath: init2.configFilepath, + ignoreCache: init2.ignoreCache, + logger: init2.logger + }); + } else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) { + throw new CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init2.logger }); + } else { + return resolveSSOCredentials({ + ssoStartUrl, + ssoSession, + ssoAccountId, + ssoRegion, + ssoRoleName, + ssoClient, + clientConfig: init2.clientConfig, + parentClientConfig: init2.parentClientConfig, + callerClientConfig: init2.callerClientConfig, + profile: profileName, + filepath: init2.filepath, + configFilepath: init2.configFilepath, + ignoreCache: init2.ignoreCache, + logger: init2.logger + }); + } + }, "fromSSO"); + exports.fromSSO = fromSSO; + exports.isSsoProfile = isSsoProfile; + exports.validateSsoProfile = validateSsoProfile; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js +var q, a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l, m, n, o, p, _data3, root3, r3, nodes3, bdd3; +var init_bdd3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js"() { + init_endpoints(); + q = "ref"; + a3 = -1; + b3 = true; + c3 = "isSet"; + d3 = "PartitionResult"; + e3 = "booleanEquals"; + f3 = "stringEquals"; + g3 = "getAttr"; + h3 = "us-east-1"; + i3 = "sigv4"; + j3 = "sts"; + k3 = "https://sts.{Region}.{PartitionResult#dnsSuffix}"; + l = { [q]: "Endpoint" }; + m = { [q]: "Region" }; + n = { [q]: d3 }; + o = {}; + p = [m]; + _data3 = { + conditions: [ + [c3, [l]], + [c3, p], + ["aws.partition", p, d3], + [e3, [{ [q]: "UseFIPS" }, b3]], + [e3, [{ [q]: "UseDualStack" }, b3]], + [f3, [m, "aws-global"]], + [e3, [{ [q]: "UseGlobalEndpoint" }, b3]], + [f3, [m, "eu-central-1"]], + [e3, [{ fn: g3, argv: [n, "supportsDualStack"] }, b3]], + [e3, [{ fn: g3, argv: [n, "supportsFIPS"] }, b3]], + [f3, [m, "ap-south-1"]], + [f3, [m, "eu-north-1"]], + [f3, [m, "eu-west-1"]], + [f3, [m, "eu-west-2"]], + [f3, [m, "eu-west-3"]], + [f3, [m, "sa-east-1"]], + [f3, [m, h3]], + [f3, [m, "us-east-2"]], + [f3, [m, "us-west-2"]], + [f3, [m, "us-west-1"]], + [f3, [m, "ca-central-1"]], + [f3, [m, "ap-southeast-1"]], + [f3, [m, "ap-northeast-1"]], + [f3, [m, "ap-southeast-2"]], + [f3, [{ fn: g3, argv: [n, "name"] }, "aws-us-gov"]] + ], + results: [ + [a3], + ["https://sts.amazonaws.com", { authSchemes: [{ name: i3, signingName: j3, signingRegion: h3 }] }], + [k3, { authSchemes: [{ name: i3, signingName: j3, signingRegion: "{Region}" }] }], + [a3, "Invalid Configuration: FIPS and custom endpoint are not supported"], + [a3, "Invalid Configuration: Dualstack and custom endpoint are not supported"], + [l, o], + ["https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", o], + [a3, "FIPS and DualStack are enabled, but this partition does not support one or both"], + ["https://sts.{Region}.amazonaws.com", o], + ["https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", o], + [a3, "FIPS is enabled but this partition does not support FIPS"], + ["https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", o], + [a3, "DualStack is enabled but this partition does not support DualStack"], + [k3, o], + [a3, "Invalid Configuration: Missing Region"] + ] + }; + root3 = 2; + r3 = 1e8; + nodes3 = new Int32Array([ + -1, + 1, + -1, + 0, + 30, + 3, + 1, + 4, + r3 + 14, + 2, + 5, + r3 + 14, + 3, + 25, + 6, + 4, + 24, + 7, + 5, + r3 + 1, + 8, + 6, + 9, + r3 + 13, + 7, + r3 + 1, + 10, + 10, + r3 + 1, + 11, + 11, + r3 + 1, + 12, + 12, + r3 + 1, + 13, + 13, + r3 + 1, + 14, + 14, + r3 + 1, + 15, + 15, + r3 + 1, + 16, + 16, + r3 + 1, + 17, + 17, + r3 + 1, + 18, + 18, + r3 + 1, + 19, + 19, + r3 + 1, + 20, + 20, + r3 + 1, + 21, + 21, + r3 + 1, + 22, + 22, + r3 + 1, + 23, + 23, + r3 + 1, + r3 + 2, + 8, + r3 + 11, + r3 + 12, + 4, + 28, + 26, + 9, + 27, + r3 + 10, + 24, + r3 + 8, + r3 + 9, + 8, + 29, + r3 + 7, + 9, + r3 + 6, + r3 + 7, + 3, + r3 + 3, + 31, + 4, + r3 + 4, + r3 + 5 + ]); + bdd3 = BinaryDecisionDiagram.from(nodes3, root3, _data3.conditions, _data3.results); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +var cache3, defaultEndpointResolver3; +var init_endpointResolver3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js"() { + init_client2(); + init_endpoints(); + init_bdd3(); + cache3 = new EndpointCache({ + size: 50, + params: ["Endpoint", "Region", "UseDualStack", "UseFIPS", "UseGlobalEndpoint"] + }); + defaultEndpointResolver3 = /* @__PURE__ */ __name((endpointParams, context = {}) => { + return cache3.get(endpointParams, () => decideEndpoint(bdd3, { + endpointParams, + logger: context.logger + })); + }, "defaultEndpointResolver"); + customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +function createAwsAuthSigv4HttpAuthOption3(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "sts", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; +} +function createAwsAuthSigv4aHttpAuthOption(authParameters) { + return { + schemeId: "aws.auth#sigv4a", + signingProperties: { + name: "sts", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; +} +function createSmithyApiNoAuthHttpAuthOption3(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; +} +var import_signature_v4_multi_region2, createEndpointRuleSetHttpAuthSchemeParametersProvider, _defaultSTSHttpAuthSchemeParametersProvider, defaultSTSHttpAuthSchemeParametersProvider, createEndpointRuleSetHttpAuthSchemeProvider, _defaultSTSHttpAuthSchemeProvider, defaultSTSHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig3; +var init_httpAuthSchemeProvider3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js"() { + init_httpAuthSchemes2(); + import_signature_v4_multi_region2 = __toESM(require_dist_cjs3()); + init_client(); + init_endpoints(); + init_endpointResolver3(); + createEndpointRuleSetHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name((defaultHttpAuthSchemeParametersProvider) => async (config3, context, input2) => { + if (!input2) { + throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`"); + } + const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config3, context, input2); + const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor?.getEndpointParameterInstructions; + if (!instructionsFn) { + throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`); + } + const endpointParameters = await resolveParams(input2, { getEndpointParameterInstructions: instructionsFn }, config3); + return Object.assign(defaultParameters, endpointParameters); + }, "createEndpointRuleSetHttpAuthSchemeParametersProvider"); + _defaultSTSHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => { + return { + operation: getSmithyContext(context).operation, + region: await normalizeProvider(config3.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }, "_defaultSTSHttpAuthSchemeParametersProvider"); + defaultSTSHttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultSTSHttpAuthSchemeParametersProvider); + __name(createAwsAuthSigv4HttpAuthOption3, "createAwsAuthSigv4HttpAuthOption"); + __name(createAwsAuthSigv4aHttpAuthOption, "createAwsAuthSigv4aHttpAuthOption"); + __name(createSmithyApiNoAuthHttpAuthOption3, "createSmithyApiNoAuthHttpAuthOption"); + createEndpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((defaultEndpointResolver5, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => { + const endpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const endpoint = defaultEndpointResolver5(authParameters); + const authSchemes = endpoint.properties?.authSchemes; + if (!authSchemes) { + return defaultHttpAuthSchemeResolver(authParameters); + } + const options = []; + for (const scheme of authSchemes) { + const { name: resolvedName, properties = {}, ...rest } = scheme; + const name2 = resolvedName.toLowerCase(); + if (resolvedName !== name2) { + console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name2}'`); + } + let schemeId; + if (name2 === "sigv4a") { + schemeId = "aws.auth#sigv4a"; + const sigv4Present = authSchemes.find((s2) => { + const name3 = s2.name.toLowerCase(); + return name3 !== "sigv4a" && name3.startsWith("sigv4"); + }); + if (import_signature_v4_multi_region2.SignatureV4MultiRegion.sigv4aDependency() === "none" && sigv4Present) { + continue; + } + } else if (name2.startsWith("sigv4")) { + schemeId = "aws.auth#sigv4"; + } else { + throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name2}'`); + } + const createOption = createHttpAuthOptionFunctions[schemeId]; + if (!createOption) { + throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`); + } + const option = createOption(authParameters); + option.schemeId = schemeId; + option.signingProperties = { ...option.signingProperties || {}, ...rest, ...properties }; + options.push(option); + } + return options; + }, "endpointRuleSetHttpAuthSchemeProvider"); + return endpointRuleSetHttpAuthSchemeProvider; + }, "createEndpointRuleSetHttpAuthSchemeProvider"); + _defaultSTSHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const options = []; + switch (authParameters.operation) { + case "AssumeRoleWithWebIdentity": { + options.push(createSmithyApiNoAuthHttpAuthOption3(authParameters)); + options.push(createAwsAuthSigv4aHttpAuthOption(authParameters)); + break; + } + default: { + options.push(createAwsAuthSigv4HttpAuthOption3(authParameters)); + options.push(createAwsAuthSigv4aHttpAuthOption(authParameters)); + } + } + return options; + }, "_defaultSTSHttpAuthSchemeProvider"); + defaultSTSHttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver3, _defaultSTSHttpAuthSchemeProvider, { + "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption3, + "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption, + "smithy.api#noAuth": createSmithyApiNoAuthHttpAuthOption3 + }); + resolveHttpAuthSchemeConfig3 = /* @__PURE__ */ __name((config3) => { + const config_0 = resolveAwsSdkSigV4Config(config3); + const config_1 = resolveAwsSdkSigV4AConfig(config_0); + return Object.assign(config_1, { + authSchemePreference: normalizeProvider(config3.authSchemePreference ?? []) + }); + }, "resolveHttpAuthSchemeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js +var resolveClientEndpointParameters3, commonParams3; +var init_EndpointParameters3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js"() { + resolveClientEndpointParameters3 = /* @__PURE__ */ __name((options) => { + return Object.assign(options, { + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + useGlobalEndpoint: options.useGlobalEndpoint ?? false, + defaultSigningName: "sts" + }); + }, "resolveClientEndpointParameters"); + commonParams3 = { + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js +var STSServiceException; +var init_STSServiceException = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js"() { + init_client(); + STSServiceException = class _STSServiceException extends ServiceException { + static { + __name(this, "STSServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.sts#STSServiceException"; + constructor(options) { + super(options); + Object.setPrototypeOf(this, _STSServiceException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +var ExpiredTokenException2, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, IDPRejectedClaimException, InvalidIdentityTokenException, IDPCommunicationErrorException; +var init_errors3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js"() { + init_STSServiceException(); + ExpiredTokenException2 = class _ExpiredTokenException extends STSServiceException { + static { + __name(this, "ExpiredTokenException"); + } + static shapeId = "com.amazonaws.sts#ExpiredTokenException"; + name = "ExpiredTokenException"; + $fault = "client"; + constructor(opts) { + super({ + name: "ExpiredTokenException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ExpiredTokenException.prototype); + } + }; + MalformedPolicyDocumentException = class _MalformedPolicyDocumentException extends STSServiceException { + static { + __name(this, "MalformedPolicyDocumentException"); + } + static shapeId = "com.amazonaws.sts#MalformedPolicyDocumentException"; + name = "MalformedPolicyDocumentException"; + $fault = "client"; + constructor(opts) { + super({ + name: "MalformedPolicyDocumentException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _MalformedPolicyDocumentException.prototype); + } + }; + PackedPolicyTooLargeException = class _PackedPolicyTooLargeException extends STSServiceException { + static { + __name(this, "PackedPolicyTooLargeException"); + } + static shapeId = "com.amazonaws.sts#PackedPolicyTooLargeException"; + name = "PackedPolicyTooLargeException"; + $fault = "client"; + constructor(opts) { + super({ + name: "PackedPolicyTooLargeException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _PackedPolicyTooLargeException.prototype); + } + }; + RegionDisabledException = class _RegionDisabledException extends STSServiceException { + static { + __name(this, "RegionDisabledException"); + } + static shapeId = "com.amazonaws.sts#RegionDisabledException"; + name = "RegionDisabledException"; + $fault = "client"; + constructor(opts) { + super({ + name: "RegionDisabledException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _RegionDisabledException.prototype); + } + }; + IDPRejectedClaimException = class _IDPRejectedClaimException extends STSServiceException { + static { + __name(this, "IDPRejectedClaimException"); + } + static shapeId = "com.amazonaws.sts#IDPRejectedClaimException"; + name = "IDPRejectedClaimException"; + $fault = "client"; + constructor(opts) { + super({ + name: "IDPRejectedClaimException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _IDPRejectedClaimException.prototype); + } + }; + InvalidIdentityTokenException = class _InvalidIdentityTokenException extends STSServiceException { + static { + __name(this, "InvalidIdentityTokenException"); + } + static shapeId = "com.amazonaws.sts#InvalidIdentityTokenException"; + name = "InvalidIdentityTokenException"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidIdentityTokenException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidIdentityTokenException.prototype); + } + }; + IDPCommunicationErrorException = class _IDPCommunicationErrorException extends STSServiceException { + static { + __name(this, "IDPCommunicationErrorException"); + } + static shapeId = "com.amazonaws.sts#IDPCommunicationErrorException"; + name = "IDPCommunicationErrorException"; + $fault = "client"; + $retryable = {}; + constructor(opts) { + super({ + name: "IDPCommunicationErrorException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _IDPCommunicationErrorException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js +var _A, _AKI, _AR, _ARI, _ARR, _ARRs, _ARU, _ARWWI, _ARWWIR, _ARWWIRs, _Au, _C, _CA, _DS, _E2, _EI, _ETE2, _IDPCEE, _IDPRCE, _IITE, _K, _MPDE, _MSTS, _P, _PA, _PAr, _PC, _PCLT, _PCr, _PDT, _PI, _PPS, _PPTLE, _Pr, _RA, _RDE, _RSN, _SAK, _SFWIT, _SI, _SN, _ST, _STS, _STU, _T, _TC, _TTK, _Ta, _V, _WIT, _a3, _aKST, _aQE, _c3, _cTT, _e3, _hE3, _m2, _pDLT, _s3, _tLT, n03, _s_registry3, STSServiceException$, n0_registry3, ExpiredTokenException$2, IDPCommunicationErrorException$, IDPRejectedClaimException$, InvalidIdentityTokenException$, MalformedPolicyDocumentException$, PackedPolicyTooLargeException$, RegionDisabledException$, errorTypeRegistries3, accessKeySecretType, clientTokenType, AssumedRoleUser$, AssumeRoleRequest$, AssumeRoleResponse$, AssumeRoleWithWebIdentityRequest$, AssumeRoleWithWebIdentityResponse$, Credentials$, PolicyDescriptorType$, ProvidedContext$, Tag$, policyDescriptorListType, ProvidedContextsListType, tagKeyListType, tagListType, AssumeRole$, AssumeRoleWithWebIdentity$; +var init_schemas_03 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js"() { + init_schema(); + init_errors3(); + init_STSServiceException(); + _A = "Arn"; + _AKI = "AccessKeyId"; + _AR = "AssumeRole"; + _ARI = "AssumedRoleId"; + _ARR = "AssumeRoleRequest"; + _ARRs = "AssumeRoleResponse"; + _ARU = "AssumedRoleUser"; + _ARWWI = "AssumeRoleWithWebIdentity"; + _ARWWIR = "AssumeRoleWithWebIdentityRequest"; + _ARWWIRs = "AssumeRoleWithWebIdentityResponse"; + _Au = "Audience"; + _C = "Credentials"; + _CA = "ContextAssertion"; + _DS = "DurationSeconds"; + _E2 = "Expiration"; + _EI = "ExternalId"; + _ETE2 = "ExpiredTokenException"; + _IDPCEE = "IDPCommunicationErrorException"; + _IDPRCE = "IDPRejectedClaimException"; + _IITE = "InvalidIdentityTokenException"; + _K = "Key"; + _MPDE = "MalformedPolicyDocumentException"; + _MSTS = "MinimumSessionTokenSize"; + _P = "Policy"; + _PA = "PolicyArns"; + _PAr = "ProviderArn"; + _PC = "ProvidedContexts"; + _PCLT = "ProvidedContextsListType"; + _PCr = "ProvidedContext"; + _PDT = "PolicyDescriptorType"; + _PI = "ProviderId"; + _PPS = "PackedPolicySize"; + _PPTLE = "PackedPolicyTooLargeException"; + _Pr = "Provider"; + _RA = "RoleArn"; + _RDE = "RegionDisabledException"; + _RSN = "RoleSessionName"; + _SAK = "SecretAccessKey"; + _SFWIT = "SubjectFromWebIdentityToken"; + _SI = "SourceIdentity"; + _SN = "SerialNumber"; + _ST = "SessionToken"; + _STS = "SessionTokenSize"; + _STU = "SessionTokenUtilization"; + _T = "Tags"; + _TC = "TokenCode"; + _TTK = "TransitiveTagKeys"; + _Ta = "Tag"; + _V = "Value"; + _WIT = "WebIdentityToken"; + _a3 = "arn"; + _aKST = "accessKeySecretType"; + _aQE = "awsQueryError"; + _c3 = "client"; + _cTT = "clientTokenType"; + _e3 = "error"; + _hE3 = "httpError"; + _m2 = "message"; + _pDLT = "policyDescriptorListType"; + _s3 = "smithy.ts.sdk.synthetic.com.amazonaws.sts"; + _tLT = "tagListType"; + n03 = "com.amazonaws.sts"; + _s_registry3 = new TypeRegistry(_s3); + STSServiceException$ = [-3, _s3, "STSServiceException", 0, [], []]; + _s_registry3.registerError(STSServiceException$, STSServiceException); + n0_registry3 = new TypeRegistry(n03); + ExpiredTokenException$2 = [ + -3, + n03, + _ETE2, + { [_aQE]: [`ExpiredTokenException`, 400], [_e3]: _c3, [_hE3]: 400 }, + [_m2], + [0] + ]; + n0_registry3.registerError(ExpiredTokenException$2, ExpiredTokenException2); + IDPCommunicationErrorException$ = [ + -3, + n03, + _IDPCEE, + { [_aQE]: [`IDPCommunicationError`, 400], [_e3]: _c3, [_hE3]: 400 }, + [_m2], + [0] + ]; + n0_registry3.registerError(IDPCommunicationErrorException$, IDPCommunicationErrorException); + IDPRejectedClaimException$ = [ + -3, + n03, + _IDPRCE, + { [_aQE]: [`IDPRejectedClaim`, 403], [_e3]: _c3, [_hE3]: 403 }, + [_m2], + [0] + ]; + n0_registry3.registerError(IDPRejectedClaimException$, IDPRejectedClaimException); + InvalidIdentityTokenException$ = [ + -3, + n03, + _IITE, + { [_aQE]: [`InvalidIdentityToken`, 400], [_e3]: _c3, [_hE3]: 400 }, + [_m2], + [0] + ]; + n0_registry3.registerError(InvalidIdentityTokenException$, InvalidIdentityTokenException); + MalformedPolicyDocumentException$ = [ + -3, + n03, + _MPDE, + { [_aQE]: [`MalformedPolicyDocument`, 400], [_e3]: _c3, [_hE3]: 400 }, + [_m2], + [0] + ]; + n0_registry3.registerError(MalformedPolicyDocumentException$, MalformedPolicyDocumentException); + PackedPolicyTooLargeException$ = [ + -3, + n03, + _PPTLE, + { [_aQE]: [`PackedPolicyTooLarge`, 400], [_e3]: _c3, [_hE3]: 400 }, + [_m2], + [0] + ]; + n0_registry3.registerError(PackedPolicyTooLargeException$, PackedPolicyTooLargeException); + RegionDisabledException$ = [ + -3, + n03, + _RDE, + { [_aQE]: [`RegionDisabledException`, 403], [_e3]: _c3, [_hE3]: 403 }, + [_m2], + [0] + ]; + n0_registry3.registerError(RegionDisabledException$, RegionDisabledException); + errorTypeRegistries3 = [ + _s_registry3, + n0_registry3 + ]; + accessKeySecretType = [0, n03, _aKST, 8, 0]; + clientTokenType = [0, n03, _cTT, 8, 0]; + AssumedRoleUser$ = [ + 3, + n03, + _ARU, + 0, + [_ARI, _A], + [0, 0], + 2 + ]; + AssumeRoleRequest$ = [ + 3, + n03, + _ARR, + 0, + [_RA, _RSN, _PA, _P, _DS, _T, _TTK, _EI, _SN, _TC, _SI, _PC, _MSTS], + [0, 0, () => policyDescriptorListType, 0, 1, () => tagListType, 64 | 0, 0, 0, 0, 0, () => ProvidedContextsListType, 1], + 2 + ]; + AssumeRoleResponse$ = [ + 3, + n03, + _ARRs, + 0, + [_C, _ARU, _PPS, _SI, _STU, _STS], + [[() => Credentials$, 0], () => AssumedRoleUser$, 1, 0, 1, 1] + ]; + AssumeRoleWithWebIdentityRequest$ = [ + 3, + n03, + _ARWWIR, + 0, + [_RA, _RSN, _WIT, _PI, _PA, _P, _DS, _MSTS], + [0, 0, [() => clientTokenType, 0], 0, () => policyDescriptorListType, 0, 1, 1], + 3 + ]; + AssumeRoleWithWebIdentityResponse$ = [ + 3, + n03, + _ARWWIRs, + 0, + [_C, _SFWIT, _ARU, _PPS, _Pr, _Au, _SI, _STU, _STS], + [[() => Credentials$, 0], 0, () => AssumedRoleUser$, 1, 0, 0, 0, 1, 1] + ]; + Credentials$ = [ + 3, + n03, + _C, + 0, + [_AKI, _SAK, _ST, _E2], + [0, [() => accessKeySecretType, 0], 0, 4], + 4 + ]; + PolicyDescriptorType$ = [ + 3, + n03, + _PDT, + 0, + [_a3], + [0] + ]; + ProvidedContext$ = [ + 3, + n03, + _PCr, + 0, + [_PAr, _CA], + [0, 0] + ]; + Tag$ = [ + 3, + n03, + _Ta, + 0, + [_K, _V], + [0, 0], + 2 + ]; + policyDescriptorListType = [ + 1, + n03, + _pDLT, + 0, + () => PolicyDescriptorType$ + ]; + ProvidedContextsListType = [ + 1, + n03, + _PCLT, + 0, + () => ProvidedContext$ + ]; + tagKeyListType = 64 | 0; + tagListType = [ + 1, + n03, + _tLT, + 0, + () => Tag$ + ]; + AssumeRole$ = [ + 9, + n03, + _AR, + 0, + () => AssumeRoleRequest$, + () => AssumeRoleResponse$ + ]; + AssumeRoleWithWebIdentity$ = [ + 9, + n03, + _ARWWI, + 0, + () => AssumeRoleWithWebIdentityRequest$, + () => AssumeRoleWithWebIdentityResponse$ + ]; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +var import_signature_v4_multi_region3, getRuntimeConfig5; +var init_runtimeConfig_shared3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js"() { + init_httpAuthSchemes2(); + init_protocols2(); + import_signature_v4_multi_region3 = __toESM(require_dist_cjs3()); + init_dist_es(); + init_checksum(); + init_client(); + init_protocols(); + init_serde(); + init_httpAuthSchemeProvider3(); + init_endpointResolver3(); + init_schemas_03(); + getRuntimeConfig5 = /* @__PURE__ */ __name((config3) => { + return { + apiVersion: "2011-06-15", + base64Decoder: config3?.base64Decoder ?? fromBase64, + base64Encoder: config3?.base64Encoder ?? toBase64, + disableHostPrefix: config3?.disableHostPrefix ?? false, + endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver3, + extensions: config3?.extensions ?? [], + httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider, + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"), + signer: new AwsSdkSigV4Signer() + }, + { + schemeId: "aws.auth#sigv4a", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"), + signer: new AwsSdkSigV4ASigner() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"), + signer: new NoAuthSigner() + } + ], + logger: config3?.logger ?? new NoOpLogger(), + protocol: config3?.protocol ?? AwsQueryProtocol, + protocolSettings: config3?.protocolSettings ?? { + defaultNamespace: "com.amazonaws.sts", + errorTypeRegistries: errorTypeRegistries3, + xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/", + version: "2011-06-15", + serviceTarget: "AWSSecurityTokenServiceV20110615" + }, + serviceId: config3?.serviceId ?? "STS", + sha256: config3?.sha256 ?? Sha256Node, + signerConstructor: config3?.signerConstructor ?? import_signature_v4_multi_region3.SignatureV4MultiRegion, + urlParser: config3?.urlParser ?? parseUrl, + utf8Decoder: config3?.utf8Decoder ?? fromUtf8, + utf8Encoder: config3?.utf8Encoder ?? toUtf8 + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +var import_node_http_handler3, getRuntimeConfig6; +var init_runtimeConfig3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js"() { + init_package(); + init_client2(); + init_httpAuthSchemes2(); + init_dist_es(); + init_client(); + init_config(); + init_retry(); + init_serde(); + import_node_http_handler3 = __toESM(require_dist_cjs7()); + init_runtimeConfig_shared3(); + getRuntimeConfig6 = /* @__PURE__ */ __name((config3) => { + emitWarningIfUnsupportedVersion(process.version); + const defaultsMode = resolveDefaultsModeConfig(config3); + const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider"); + const clientSharedValues = getRuntimeConfig5(config3); + emitWarningIfUnsupportedVersion2(process.version); + const loaderConfig = { + profile: config3?.profile, + logger: clientSharedValues.logger + }; + return { + ...clientSharedValues, + ...config3, + runtime: "node", + defaultsMode, + authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig), + bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength, + defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await config3.credentialDefaultProvider(idProps?.__config || {})()), "identityProvider"), + signer: new AwsSdkSigV4Signer() + }, + { + schemeId: "aws.auth#sigv4a", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"), + signer: new AwsSdkSigV4ASigner() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"), + signer: new NoAuthSigner() + } + ], + maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3), + region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }), + requestHandler: import_node_http_handler3.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider), + retryMode: config3?.retryMode ?? loadConfig({ + ...NODE_RETRY_MODE_CONFIG_OPTIONS, + default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default") + }, config3), + sigv4aSigningRegionSet: config3?.sigv4aSigningRegionSet ?? loadConfig(NODE_SIGV4A_CONFIG_OPTIONS, loaderConfig), + streamCollector: config3?.streamCollector ?? import_node_http_handler3.streamCollector, + useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig) + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js +var getHttpAuthExtensionConfiguration3, resolveHttpAuthRuntimeConfig3; +var init_httpAuthExtensionConfiguration3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js"() { + getHttpAuthExtensionConfiguration3 = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + resolveHttpAuthRuntimeConfig3 = /* @__PURE__ */ __name((config3) => { + return { + httpAuthSchemes: config3.httpAuthSchemes(), + httpAuthSchemeProvider: config3.httpAuthSchemeProvider(), + credentials: config3.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +var resolveRuntimeExtensions3; +var init_runtimeExtensions3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js"() { + init_client2(); + init_client(); + init_protocols(); + init_httpAuthExtensionConfiguration3(); + resolveRuntimeExtensions3 = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration3(runtimeConfig)); + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig3(extensionConfiguration)); + }, "resolveRuntimeExtensions"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +var STSClient; +var init_STSClient = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js"() { + init_client2(); + init_dist_es(); + init_client(); + init_config(); + init_endpoints(); + init_protocols(); + init_retry(); + init_schema(); + init_httpAuthSchemeProvider3(); + init_EndpointParameters3(); + init_runtimeConfig3(); + init_runtimeExtensions3(); + STSClient = class extends Client { + static { + __name(this, "STSClient"); + } + config; + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig6(configuration || {}); + super(_config_0); + this.initConfig = _config_0; + const _config_1 = resolveClientEndpointParameters3(_config_0); + const _config_2 = resolveUserAgentConfig(_config_1); + const _config_3 = resolveRetryConfig(_config_2); + const _config_4 = resolveRegionConfig(_config_3); + const _config_5 = resolveHostHeaderConfig(_config_4); + const _config_6 = resolveEndpointConfig(_config_5); + const _config_7 = resolveHttpAuthSchemeConfig3(_config_6); + const _config_8 = resolveRuntimeExtensions3(_config_7, configuration?.extensions || []); + this.config = _config_8; + this.middlewareStack.use(getSchemaSerdePlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); + this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { + httpAuthSchemeParametersProvider: defaultSTSHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config3.credentials, + "aws.auth#sigv4a": config3.credentials + }), "identityProviderConfigProvider") + })); + this.middlewareStack.use(getHttpSigningPlugin(this.config)); + } + destroy() { + super.destroy(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js +var command3, _ep03, _mw03; +var init_commandBuilder3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js"() { + init_client(); + init_endpoints(); + init_EndpointParameters3(); + command3 = makeBuilder(commonParams3, "AWSSecurityTokenServiceV20110615", "STSClient", getEndpointPlugin); + _ep03 = {}; + _mw03 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js +var AssumeRoleCommand; +var init_AssumeRoleCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js"() { + init_commandBuilder3(); + init_schemas_03(); + AssumeRoleCommand = class extends command3(_ep03, _mw03, "AssumeRole", AssumeRole$) { + static { + __name(this, "AssumeRoleCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js +var AssumeRoleWithWebIdentityCommand; +var init_AssumeRoleWithWebIdentityCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js"() { + init_commandBuilder3(); + init_schemas_03(); + AssumeRoleWithWebIdentityCommand = class extends command3(_ep03, _mw03, "AssumeRoleWithWebIdentity", AssumeRoleWithWebIdentity$) { + static { + __name(this, "AssumeRoleWithWebIdentityCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js +var commands3, STS; +var init_STS = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js"() { + init_client(); + init_AssumeRoleCommand(); + init_AssumeRoleWithWebIdentityCommand(); + init_STSClient(); + commands3 = { + AssumeRoleCommand, + AssumeRoleWithWebIdentityCommand + }; + STS = class extends STSClient { + static { + __name(this, "STS"); + } + }; + createAggregatedClient(commands3, STS); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js +var init_commands3 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js"() { + init_AssumeRoleCommand(); + init_AssumeRoleWithWebIdentityCommand(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js +var init_models_03 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js"() { + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js +var getAccountIdFromAssumedRoleUser, resolveRegion, getDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity, isH2; +var init_defaultStsRoleAssumers = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js"() { + init_client2(); + init_AssumeRoleCommand(); + init_AssumeRoleWithWebIdentityCommand(); + getAccountIdFromAssumedRoleUser = /* @__PURE__ */ __name((assumedRoleUser) => { + if (typeof assumedRoleUser?.Arn === "string") { + const arnComponents = assumedRoleUser.Arn.split(":"); + if (arnComponents.length > 4 && arnComponents[4] !== "") { + return arnComponents[4]; + } + } + return void 0; + }, "getAccountIdFromAssumedRoleUser"); + resolveRegion = /* @__PURE__ */ __name(async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => { + const region = typeof _region === "function" ? await _region() : _region; + const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion; + let stsDefaultRegion = ""; + const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await stsRegionDefaultResolver(loaderConfig)()); + credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`); + return resolvedRegion; + }, "resolveRegion"); + getDefaultRoleAssumer = /* @__PURE__ */ __name((stsOptions, STSClient2) => { + let stsClient; + let closureSourceCreds; + return async (sourceCreds, params) => { + closureSourceCreds = sourceCreds; + if (!stsClient) { + const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions; + const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, { + logger, + profile + }); + const isCompatibleRequestHandler = !isH2(requestHandler); + stsClient = new STSClient2({ + ...stsOptions, + userAgentAppId, + profile, + credentialDefaultProvider: /* @__PURE__ */ __name(() => async () => closureSourceCreds, "credentialDefaultProvider"), + region: resolvedRegion, + requestHandler: isCompatibleRequestHandler ? requestHandler : void 0, + logger + }); + } + const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`); + } + const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser); + const credentials = { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration, + ...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }, + ...accountId && { accountId } + }; + setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE", "i"); + return credentials; + }; + }, "getDefaultRoleAssumer"); + getDefaultRoleAssumerWithWebIdentity = /* @__PURE__ */ __name((stsOptions, STSClient2) => { + let stsClient; + return async (params) => { + if (!stsClient) { + const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions; + const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, { + logger, + profile + }); + const isCompatibleRequestHandler = !isH2(requestHandler); + stsClient = new STSClient2({ + ...stsOptions, + userAgentAppId, + profile, + region: resolvedRegion, + requestHandler: isCompatibleRequestHandler ? requestHandler : void 0, + logger + }); + } + const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params)); + if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) { + throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`); + } + const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser); + const credentials = { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + expiration: Credentials.Expiration, + ...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }, + ...accountId && { accountId } + }; + if (accountId) { + setCredentialFeature(credentials, "RESOLVED_ACCOUNT_ID", "T"); + } + setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE_WEB_ID", "k"); + return credentials; + }; + }, "getDefaultRoleAssumerWithWebIdentity"); + isH2 = /* @__PURE__ */ __name((requestHandler) => { + return requestHandler?.metadata?.handlerProtocol === "h2"; + }, "isH2"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js +var getCustomizableStsClientCtor, getDefaultRoleAssumer2, getDefaultRoleAssumerWithWebIdentity2, decorateDefaultCredentialProvider; +var init_defaultRoleAssumers = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js"() { + init_defaultStsRoleAssumers(); + init_STSClient(); + getCustomizableStsClientCtor = /* @__PURE__ */ __name((baseCtor, customizations) => { + if (!customizations) + return baseCtor; + else + return class CustomizableSTSClient extends baseCtor { + static { + __name(this, "CustomizableSTSClient"); + } + constructor(config3) { + super(config3); + for (const customization of customizations) { + this.middlewareStack.use(customization); + } + } + }; + }, "getCustomizableStsClientCtor"); + getDefaultRoleAssumer2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins)), "getDefaultRoleAssumer"); + getDefaultRoleAssumerWithWebIdentity2 = /* @__PURE__ */ __name((stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins)), "getDefaultRoleAssumerWithWebIdentity"); + decorateDefaultCredentialProvider = /* @__PURE__ */ __name((provider) => (input2) => provider({ + roleAssumer: getDefaultRoleAssumer2(input2), + roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity2(input2), + ...input2 + }), "decorateDefaultCredentialProvider"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js +var sts_exports = {}; +__export(sts_exports, { + $Command: () => Command, + AssumeRole$: () => AssumeRole$, + AssumeRoleCommand: () => AssumeRoleCommand, + AssumeRoleRequest$: () => AssumeRoleRequest$, + AssumeRoleResponse$: () => AssumeRoleResponse$, + AssumeRoleWithWebIdentity$: () => AssumeRoleWithWebIdentity$, + AssumeRoleWithWebIdentityCommand: () => AssumeRoleWithWebIdentityCommand, + AssumeRoleWithWebIdentityRequest$: () => AssumeRoleWithWebIdentityRequest$, + AssumeRoleWithWebIdentityResponse$: () => AssumeRoleWithWebIdentityResponse$, + AssumedRoleUser$: () => AssumedRoleUser$, + Credentials$: () => Credentials$, + ExpiredTokenException: () => ExpiredTokenException2, + ExpiredTokenException$: () => ExpiredTokenException$2, + IDPCommunicationErrorException: () => IDPCommunicationErrorException, + IDPCommunicationErrorException$: () => IDPCommunicationErrorException$, + IDPRejectedClaimException: () => IDPRejectedClaimException, + IDPRejectedClaimException$: () => IDPRejectedClaimException$, + InvalidIdentityTokenException: () => InvalidIdentityTokenException, + InvalidIdentityTokenException$: () => InvalidIdentityTokenException$, + MalformedPolicyDocumentException: () => MalformedPolicyDocumentException, + MalformedPolicyDocumentException$: () => MalformedPolicyDocumentException$, + PackedPolicyTooLargeException: () => PackedPolicyTooLargeException, + PackedPolicyTooLargeException$: () => PackedPolicyTooLargeException$, + PolicyDescriptorType$: () => PolicyDescriptorType$, + ProvidedContext$: () => ProvidedContext$, + RegionDisabledException: () => RegionDisabledException, + RegionDisabledException$: () => RegionDisabledException$, + STS: () => STS, + STSClient: () => STSClient, + STSServiceException: () => STSServiceException, + STSServiceException$: () => STSServiceException$, + Tag$: () => Tag$, + __Client: () => Client, + decorateDefaultCredentialProvider: () => decorateDefaultCredentialProvider, + errorTypeRegistries: () => errorTypeRegistries3, + getDefaultRoleAssumer: () => getDefaultRoleAssumer2, + getDefaultRoleAssumerWithWebIdentity: () => getDefaultRoleAssumerWithWebIdentity2 +}); +var init_sts = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js"() { + init_STSClient(); + init_STS(); + init_commands3(); + init_client(); + init_schemas_03(); + init_errors3(); + init_models_03(); + init_defaultRoleAssumers(); + init_STSServiceException(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js +function createAwsAuthSigv4HttpAuthOption4(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "signin", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; +} +function createSmithyApiNoAuthHttpAuthOption4(authParameters) { + return { + schemeId: "smithy.api#noAuth" + }; +} +var defaultSigninHttpAuthSchemeParametersProvider, defaultSigninHttpAuthSchemeProvider, resolveHttpAuthSchemeConfig4; +var init_httpAuthSchemeProvider4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js"() { + init_httpAuthSchemes2(); + init_client(); + defaultSigninHttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => { + return { + operation: getSmithyContext(context).operation, + region: await normalizeProvider(config3.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }, "defaultSigninHttpAuthSchemeParametersProvider"); + __name(createAwsAuthSigv4HttpAuthOption4, "createAwsAuthSigv4HttpAuthOption"); + __name(createSmithyApiNoAuthHttpAuthOption4, "createSmithyApiNoAuthHttpAuthOption"); + defaultSigninHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const options = []; + switch (authParameters.operation) { + case "CreateOAuth2Token": + { + options.push(createSmithyApiNoAuthHttpAuthOption4(authParameters)); + break; + } + ; + default: { + options.push(createAwsAuthSigv4HttpAuthOption4(authParameters)); + } + } + return options; + }, "defaultSigninHttpAuthSchemeProvider"); + resolveHttpAuthSchemeConfig4 = /* @__PURE__ */ __name((config3) => { + const config_0 = resolveAwsSdkSigV4Config(config3); + return Object.assign(config_0, { + authSchemePreference: normalizeProvider(config3.authSchemePreference ?? []) + }); + }, "resolveHttpAuthSchemeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/EndpointParameters.js +var resolveClientEndpointParameters4, commonParams4; +var init_EndpointParameters4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/EndpointParameters.js"() { + resolveClientEndpointParameters4 = /* @__PURE__ */ __name((options) => { + return Object.assign(options, { + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + useFipsEndpoint: options.useFipsEndpoint ?? false, + defaultSigningName: "signin" + }); + }, "resolveClientEndpointParameters"); + commonParams4 = { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +var s, a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l2, m2, n2, o2, p2, q2, _data4, root4, r4, nodes4, bdd4; +var init_bdd4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js"() { + init_endpoints(); + s = "ref"; + a4 = -1; + b4 = false; + c4 = true; + d4 = "isSet"; + e4 = "booleanEquals"; + f4 = "coalesce"; + g4 = "PartitionResult"; + h4 = "stringEquals"; + i4 = "getAttr"; + j4 = "https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}"; + k4 = { [s]: "Endpoint" }; + l2 = { "fn": i4, "argv": [{ [s]: g4 }, "name"] }; + m2 = { [s]: "Region" }; + n2 = { [s]: g4 }; + o2 = { "authSchemes": [{ "name": "sigv4", "signingName": "signin", "signingRegion": "{Region}" }] }; + p2 = {}; + q2 = [m2]; + _data4 = { + conditions: [ + [d4, q2], + [e4, [{ fn: f4, argv: [{ [s]: "IsControlPlane" }, b4] }, c4]], + [d4, [k4]], + ["aws.partition", q2, g4], + [e4, [{ [s]: "UseFIPS" }, c4]], + [h4, [l2, "aws"]], + [e4, [{ fn: f4, argv: [{ [s]: "IsOAuthEndpoint" }, b4] }, c4]], + [e4, [{ [s]: "UseDualStack" }, c4]], + [h4, [l2, "aws-cn"]], + [h4, [m2, "us-gov-west-1"]], + [h4, [l2, "aws-us-gov"]], + [e4, [{ fn: i4, argv: [n2, "supportsFIPS"] }, c4]], + [h4, [l2, "aws-iso"]], + [h4, [l2, "aws-iso-b"]], + [h4, [l2, "aws-iso-f"]], + [h4, [l2, "aws-iso-e"]], + [h4, [l2, "aws-eusc"]], + [e4, [{ fn: i4, argv: [n2, "supportsDualStack"] }, c4]] + ], + results: [ + [a4], + ["https://signin.{Region}.api.aws", o2], + ["https://signin.{Region}.api.amazonwebservices.com.cn", o2], + [j4, o2], + [a4, "FIPS endpoints are not supported for OAuth operations. Disable FIPS or use a non-OAuth operation."], + ["https://{Region}.oauth.signin.aws", o2], + ["https://{Region}.signin.aws.amazon.com", p2], + ["https://{Region}.signin.amazonaws.cn", p2], + ["https://{Region}.signin.amazonaws-us-gov.com", p2], + ["https://{Region}.signin.c2shome.ic.gov", p2], + ["https://{Region}.signin.sc2shome.sgov.gov", p2], + ["https://{Region}.signin.csphome.hci.ic.gov", p2], + ["https://{Region}.signin.csphome.adc-e.uk", p2], + ["https://{Region}.signin.amazonaws-eusc.eu", p2], + ["https://signin-fips.amazonaws-us-gov.com", p2], + ["https://{Region}.signin-fips.amazonaws-us-gov.com", p2], + ["https://{Region}.signin.{PartitionResult#dnsSuffix}", p2], + [a4, "Invalid Configuration: FIPS and custom endpoint are not supported"], + [a4, "Invalid Configuration: Dualstack and custom endpoint are not supported"], + [k4, p2], + ["https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", p2], + [a4, "FIPS and DualStack are enabled, but this partition does not support one or both"], + ["https://signin-fips.{Region}.{PartitionResult#dnsSuffix}", p2], + [a4, "FIPS is enabled but this partition does not support FIPS"], + [j4, p2], + [a4, "DualStack is enabled but this partition does not support DualStack"], + ["https://signin.{Region}.{PartitionResult#dnsSuffix}", p2], + [a4, "Invalid Configuration: Missing Region"] + ] + }; + root4 = 2; + r4 = 1e8; + nodes4 = new Int32Array([ + -1, + 1, + -1, + 0, + 6, + 3, + 2, + 36, + 4, + 4, + 5, + r4 + 27, + 6, + r4 + 4, + r4 + 27, + 1, + 29, + 7, + 2, + 36, + 8, + 3, + 9, + 31, + 4, + 22, + 10, + 5, + 19, + 11, + 7, + 21, + 12, + 8, + r4 + 7, + 13, + 10, + r4 + 8, + 14, + 12, + r4 + 9, + 15, + 13, + r4 + 10, + 16, + 14, + r4 + 11, + 17, + 15, + r4 + 12, + 18, + 16, + r4 + 13, + r4 + 16, + 6, + r4 + 5, + 20, + 7, + 21, + r4 + 6, + 17, + r4 + 24, + r4 + 25, + 6, + r4 + 4, + 23, + 7, + 27, + 24, + 9, + r4 + 14, + 25, + 10, + r4 + 15, + 26, + 11, + r4 + 22, + r4 + 23, + 11, + 28, + r4 + 21, + 17, + r4 + 20, + r4 + 21, + 2, + 35, + 30, + 3, + 39, + 31, + 4, + 32, + r4 + 27, + 6, + r4 + 4, + 33, + 7, + r4 + 27, + 34, + 9, + r4 + 14, + r4 + 27, + 3, + 39, + 36, + 4, + 38, + 37, + 7, + r4 + 18, + r4 + 19, + 6, + r4 + 4, + r4 + 17, + 5, + r4 + 1, + 40, + 8, + r4 + 2, + r4 + 3 + ]); + bdd4 = BinaryDecisionDiagram.from(nodes4, root4, _data4.conditions, _data4.results); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +var cache4, defaultEndpointResolver4; +var init_endpointResolver4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js"() { + init_client2(); + init_endpoints(); + init_bdd4(); + cache4 = new EndpointCache({ + size: 50, + params: ["Endpoint", "IsControlPlane", "IsOAuthEndpoint", "Region", "UseDualStack", "UseFIPS"] + }); + defaultEndpointResolver4 = /* @__PURE__ */ __name((endpointParams, context = {}) => { + return cache4.get(endpointParams, () => decideEndpoint(bdd4, { + endpointParams, + logger: context.logger + })); + }, "defaultEndpointResolver"); + customEndpointFunctions.aws = awsEndpointFunctions; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js +var SigninServiceException; +var init_SigninServiceException = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js"() { + init_client(); + SigninServiceException = class _SigninServiceException extends ServiceException { + static { + __name(this, "SigninServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.signin#SigninServiceException"; + constructor(options) { + super(options); + Object.setPrototypeOf(this, _SigninServiceException.prototype); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js +var AccessDeniedException2, InternalServerException2, TooManyRequestsError, ValidationException; +var init_errors4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js"() { + init_SigninServiceException(); + AccessDeniedException2 = class _AccessDeniedException extends SigninServiceException { + static { + __name(this, "AccessDeniedException"); + } + static shapeId = "com.amazonaws.signin#AccessDeniedException"; + name = "AccessDeniedException"; + $fault = "client"; + error; + constructor(opts) { + super({ + name: "AccessDeniedException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AccessDeniedException.prototype); + this.error = opts.error; + } + }; + InternalServerException2 = class _InternalServerException extends SigninServiceException { + static { + __name(this, "InternalServerException"); + } + static shapeId = "com.amazonaws.signin#InternalServerException"; + name = "InternalServerException"; + $fault = "server"; + error; + constructor(opts) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts + }); + Object.setPrototypeOf(this, _InternalServerException.prototype); + this.error = opts.error; + } + }; + TooManyRequestsError = class _TooManyRequestsError extends SigninServiceException { + static { + __name(this, "TooManyRequestsError"); + } + static shapeId = "com.amazonaws.signin#TooManyRequestsError"; + name = "TooManyRequestsError"; + $fault = "client"; + error; + constructor(opts) { + super({ + name: "TooManyRequestsError", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _TooManyRequestsError.prototype); + this.error = opts.error; + } + }; + ValidationException = class _ValidationException extends SigninServiceException { + static { + __name(this, "ValidationException"); + } + static shapeId = "com.amazonaws.signin#ValidationException"; + name = "ValidationException"; + $fault = "client"; + error; + constructor(opts) { + super({ + name: "ValidationException", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ValidationException.prototype); + this.error = opts.error; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js +var _ADE2, _AT2, _COAT, _COATR, _COATRB, _COATRBr, _COATRr, _COATWIAM, _COATWIAMR, _COATWIAMRr, _ISE2, _OAAT, _RT2, _TMRE2, _VE, _aKI2, _aT3, _at, _c4, _cI2, _cV2, _co2, _e4, _eI2, _ei, _gT2, _gt2, _h3, _hE4, _iT2, _jN, _m3, _r2, _rT2, _rU2, _s4, _sAK2, _sT2, _se2, _tI, _tO, _tT2, _tt, n04, _s_registry4, SigninServiceException$, n0_registry4, AccessDeniedException$2, InternalServerException$2, TooManyRequestsError$, ValidationException$, errorTypeRegistries4, OAuthAccessToken, RefreshToken2, AccessToken$, CreateOAuth2TokenRequest$, CreateOAuth2TokenRequestBody$, CreateOAuth2TokenResponse$, CreateOAuth2TokenResponseBody$, CreateOAuth2TokenWithIAMRequest$, CreateOAuth2TokenWithIAMResponse$, CreateOAuth2Token$, CreateOAuth2TokenWithIAM$; +var init_schemas_04 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js"() { + init_schema(); + init_errors4(); + init_SigninServiceException(); + _ADE2 = "AccessDeniedException"; + _AT2 = "AccessToken"; + _COAT = "CreateOAuth2Token"; + _COATR = "CreateOAuth2TokenRequest"; + _COATRB = "CreateOAuth2TokenRequestBody"; + _COATRBr = "CreateOAuth2TokenResponseBody"; + _COATRr = "CreateOAuth2TokenResponse"; + _COATWIAM = "CreateOAuth2TokenWithIAM"; + _COATWIAMR = "CreateOAuth2TokenWithIAMRequest"; + _COATWIAMRr = "CreateOAuth2TokenWithIAMResponse"; + _ISE2 = "InternalServerException"; + _OAAT = "OAuthAccessToken"; + _RT2 = "RefreshToken"; + _TMRE2 = "TooManyRequestsError"; + _VE = "ValidationException"; + _aKI2 = "accessKeyId"; + _aT3 = "accessToken"; + _at = "access_token"; + _c4 = "client"; + _cI2 = "clientId"; + _cV2 = "codeVerifier"; + _co2 = "code"; + _e4 = "error"; + _eI2 = "expiresIn"; + _ei = "expires_in"; + _gT2 = "grantType"; + _gt2 = "grant_type"; + _h3 = "http"; + _hE4 = "httpError"; + _iT2 = "idToken"; + _jN = "jsonName"; + _m3 = "message"; + _r2 = "resource"; + _rT2 = "refreshToken"; + _rU2 = "redirectUri"; + _s4 = "smithy.ts.sdk.synthetic.com.amazonaws.signin"; + _sAK2 = "secretAccessKey"; + _sT2 = "sessionToken"; + _se2 = "server"; + _tI = "tokenInput"; + _tO = "tokenOutput"; + _tT2 = "tokenType"; + _tt = "token_type"; + n04 = "com.amazonaws.signin"; + _s_registry4 = new TypeRegistry(_s4); + SigninServiceException$ = [-3, _s4, "SigninServiceException", 0, [], []]; + _s_registry4.registerError(SigninServiceException$, SigninServiceException); + n0_registry4 = new TypeRegistry(n04); + AccessDeniedException$2 = [ + -3, + n04, + _ADE2, + { [_e4]: _c4 }, + [_e4, _m3], + [0, 0], + 2 + ]; + n0_registry4.registerError(AccessDeniedException$2, AccessDeniedException2); + InternalServerException$2 = [ + -3, + n04, + _ISE2, + { [_e4]: _se2, [_hE4]: 500 }, + [_e4, _m3], + [0, 0], + 2 + ]; + n0_registry4.registerError(InternalServerException$2, InternalServerException2); + TooManyRequestsError$ = [ + -3, + n04, + _TMRE2, + { [_e4]: _c4, [_hE4]: 429 }, + [_e4, _m3], + [0, 0], + 2 + ]; + n0_registry4.registerError(TooManyRequestsError$, TooManyRequestsError); + ValidationException$ = [ + -3, + n04, + _VE, + { [_e4]: _c4, [_hE4]: 400 }, + [_e4, _m3], + [0, 0], + 2 + ]; + n0_registry4.registerError(ValidationException$, ValidationException); + errorTypeRegistries4 = [ + _s_registry4, + n0_registry4 + ]; + OAuthAccessToken = [0, n04, _OAAT, 8, 0]; + RefreshToken2 = [0, n04, _RT2, 8, 0]; + AccessToken$ = [ + 3, + n04, + _AT2, + 8, + [_aKI2, _sAK2, _sT2], + [[0, { [_jN]: _aKI2 }], [0, { [_jN]: _sAK2 }], [0, { [_jN]: _sT2 }]], + 3 + ]; + CreateOAuth2TokenRequest$ = [ + 3, + n04, + _COATR, + 0, + [_tI], + [[() => CreateOAuth2TokenRequestBody$, 16]], + 1 + ]; + CreateOAuth2TokenRequestBody$ = [ + 3, + n04, + _COATRB, + 0, + [_cI2, _gT2, _co2, _rU2, _cV2, _rT2], + [[0, { [_jN]: _cI2 }], [0, { [_jN]: _gT2 }], 0, [0, { [_jN]: _rU2 }], [0, { [_jN]: _cV2 }], [() => RefreshToken2, { [_jN]: _rT2 }]], + 2 + ]; + CreateOAuth2TokenResponse$ = [ + 3, + n04, + _COATRr, + 0, + [_tO], + [[() => CreateOAuth2TokenResponseBody$, 16]], + 1 + ]; + CreateOAuth2TokenResponseBody$ = [ + 3, + n04, + _COATRBr, + 0, + [_aT3, _tT2, _eI2, _rT2, _iT2], + [[() => AccessToken$, { [_jN]: _aT3 }], [0, { [_jN]: _tT2 }], [1, { [_jN]: _eI2 }], [() => RefreshToken2, { [_jN]: _rT2 }], [0, { [_jN]: _iT2 }]], + 4 + ]; + CreateOAuth2TokenWithIAMRequest$ = [ + 3, + n04, + _COATWIAMR, + 0, + [_gT2, _r2], + [[0, { [_jN]: _gt2 }], 0], + 2 + ]; + CreateOAuth2TokenWithIAMResponse$ = [ + 3, + n04, + _COATWIAMRr, + 0, + [_aT3, _tT2, _eI2], + [[() => OAuthAccessToken, { [_jN]: _at }], [0, { [_jN]: _tt }], [1, { [_jN]: _ei }]], + 3 + ]; + CreateOAuth2Token$ = [ + 9, + n04, + _COAT, + { [_h3]: ["POST", "/v1/token", 200] }, + () => CreateOAuth2TokenRequest$, + () => CreateOAuth2TokenResponse$ + ]; + CreateOAuth2TokenWithIAM$ = [ + 9, + n04, + _COATWIAM, + { [_h3]: ["POST", "/v1/token?x-amz-client-auth-method=iam", 200] }, + () => CreateOAuth2TokenWithIAMRequest$, + () => CreateOAuth2TokenWithIAMResponse$ + ]; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js +var getRuntimeConfig7; +var init_runtimeConfig_shared4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js"() { + init_httpAuthSchemes2(); + init_protocols2(); + init_dist_es(); + init_checksum(); + init_client(); + init_protocols(); + init_serde(); + init_httpAuthSchemeProvider4(); + init_endpointResolver4(); + init_schemas_04(); + getRuntimeConfig7 = /* @__PURE__ */ __name((config3) => { + return { + apiVersion: "2023-01-01", + base64Decoder: config3?.base64Decoder ?? fromBase64, + base64Encoder: config3?.base64Encoder ?? toBase64, + disableHostPrefix: config3?.disableHostPrefix ?? false, + endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver4, + extensions: config3?.extensions ?? [], + httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultSigninHttpAuthSchemeProvider, + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"), + signer: new AwsSdkSigV4Signer() + }, + { + schemeId: "smithy.api#noAuth", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), "identityProvider"), + signer: new NoAuthSigner() + } + ], + logger: config3?.logger ?? new NoOpLogger(), + protocol: config3?.protocol ?? AwsRestJsonProtocol, + protocolSettings: config3?.protocolSettings ?? { + defaultNamespace: "com.amazonaws.signin", + errorTypeRegistries: errorTypeRegistries4, + version: "2023-01-01", + serviceTarget: "Signin" + }, + serviceId: config3?.serviceId ?? "Signin", + sha256: config3?.sha256 ?? Sha256Node, + urlParser: config3?.urlParser ?? parseUrl, + utf8Decoder: config3?.utf8Decoder ?? fromUtf8, + utf8Encoder: config3?.utf8Encoder ?? toUtf8 + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +var import_node_http_handler4, getRuntimeConfig8; +var init_runtimeConfig4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js"() { + init_package(); + init_client2(); + init_httpAuthSchemes2(); + init_client(); + init_config(); + init_retry(); + init_serde(); + import_node_http_handler4 = __toESM(require_dist_cjs7()); + init_runtimeConfig_shared4(); + getRuntimeConfig8 = /* @__PURE__ */ __name((config3) => { + emitWarningIfUnsupportedVersion(process.version); + const defaultsMode = resolveDefaultsModeConfig(config3); + const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode), "defaultConfigProvider"); + const clientSharedValues = getRuntimeConfig7(config3); + emitWarningIfUnsupportedVersion2(process.version); + const loaderConfig = { + profile: config3?.profile, + logger: clientSharedValues.logger + }; + return { + ...clientSharedValues, + ...config3, + runtime: "node", + defaultsMode, + authSchemePreference: config3?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig), + bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength, + defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: package_default.version }), + maxAttempts: config3?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config3), + region: config3?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }), + requestHandler: import_node_http_handler4.NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider), + retryMode: config3?.retryMode ?? loadConfig({ + ...NODE_RETRY_MODE_CONFIG_OPTIONS, + default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, "default") + }, config3), + streamCollector: config3?.streamCollector ?? import_node_http_handler4.streamCollector, + useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig), + userAgentAppId: config3?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig) + }; + }, "getRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthExtensionConfiguration.js +var getHttpAuthExtensionConfiguration4, resolveHttpAuthRuntimeConfig4; +var init_httpAuthExtensionConfiguration4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthExtensionConfiguration.js"() { + getHttpAuthExtensionConfiguration4 = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + resolveHttpAuthRuntimeConfig4 = /* @__PURE__ */ __name((config3) => { + return { + httpAuthSchemes: config3.httpAuthSchemes(), + httpAuthSchemeProvider: config3.httpAuthSchemeProvider(), + credentials: config3.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js +var resolveRuntimeExtensions4; +var init_runtimeExtensions4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js"() { + init_client2(); + init_client(); + init_protocols(); + init_httpAuthExtensionConfiguration4(); + resolveRuntimeExtensions4 = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration4(runtimeConfig)); + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig4(extensionConfiguration)); + }, "resolveRuntimeExtensions"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js +var SigninClient; +var init_SigninClient = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js"() { + init_client2(); + init_dist_es(); + init_client(); + init_config(); + init_endpoints(); + init_protocols(); + init_retry(); + init_schema(); + init_httpAuthSchemeProvider4(); + init_EndpointParameters4(); + init_runtimeConfig4(); + init_runtimeExtensions4(); + SigninClient = class extends Client { + static { + __name(this, "SigninClient"); + } + config; + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig8(configuration || {}); + super(_config_0); + this.initConfig = _config_0; + const _config_1 = resolveClientEndpointParameters4(_config_0); + const _config_2 = resolveUserAgentConfig(_config_1); + const _config_3 = resolveRetryConfig(_config_2); + const _config_4 = resolveRegionConfig(_config_3); + const _config_5 = resolveHostHeaderConfig(_config_4); + const _config_6 = resolveEndpointConfig(_config_5); + const _config_7 = resolveHttpAuthSchemeConfig4(_config_6); + const _config_8 = resolveRuntimeExtensions4(_config_7, configuration?.extensions || []); + this.config = _config_8; + this.middlewareStack.use(getSchemaSerdePlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); + this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { + httpAuthSchemeParametersProvider: defaultSigninHttpAuthSchemeParametersProvider, + identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig({ + "aws.auth#sigv4": config3.credentials + }), "identityProviderConfigProvider") + })); + this.middlewareStack.use(getHttpSigningPlugin(this.config)); + } + destroy() { + super.destroy(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js +var command4, _ep04, _ep1, _mw04; +var init_commandBuilder4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js"() { + init_client(); + init_endpoints(); + init_EndpointParameters4(); + command4 = makeBuilder(commonParams4, "Signin", "SigninClient", getEndpointPlugin); + _ep04 = { + IsControlPlane: { type: "staticContextParams", value: false } + }; + _ep1 = { + IsOAuthEndpoint: { type: "staticContextParams", value: true } + }; + _mw04 = /* @__PURE__ */ __name((Command2, cs, config3, o3) => [], "_mw0"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js +var CreateOAuth2TokenCommand; +var init_CreateOAuth2TokenCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js"() { + init_commandBuilder4(); + init_schemas_04(); + CreateOAuth2TokenCommand = class extends command4(_ep04, _mw04, "CreateOAuth2Token", CreateOAuth2Token$) { + static { + __name(this, "CreateOAuth2TokenCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.js +var CreateOAuth2TokenWithIAMCommand; +var init_CreateOAuth2TokenWithIAMCommand = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.js"() { + init_commandBuilder4(); + init_schemas_04(); + CreateOAuth2TokenWithIAMCommand = class extends command4(_ep1, _mw04, "CreateOAuth2TokenWithIAM", CreateOAuth2TokenWithIAM$) { + static { + __name(this, "CreateOAuth2TokenWithIAMCommand"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/Signin.js +var commands4, Signin; +var init_Signin = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/Signin.js"() { + init_client(); + init_CreateOAuth2TokenCommand(); + init_CreateOAuth2TokenWithIAMCommand(); + init_SigninClient(); + commands4 = { + CreateOAuth2TokenCommand, + CreateOAuth2TokenWithIAMCommand + }; + Signin = class extends SigninClient { + static { + __name(this, "Signin"); + } + }; + createAggregatedClient(commands4, Signin); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/index.js +var init_commands4 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/index.js"() { + init_CreateOAuth2TokenCommand(); + init_CreateOAuth2TokenWithIAMCommand(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js +var OAuth2ErrorCode; +var init_enums2 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js"() { + OAuth2ErrorCode = { + AUTHCODE_EXPIRED: "AUTHCODE_EXPIRED", + CONFLICT: "CONFLICT", + INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS", + INVALID_REQUEST: "INVALID_REQUEST", + RESOURCE_NOT_FOUND: "RESOURCE_NOT_FOUND", + SERVER_ERROR: "server_error", + SERVICE_QUOTA_EXCEEDED: "SERVICE_QUOTA_EXCEEDED", + TOKEN_EXPIRED: "TOKEN_EXPIRED", + USER_CREDENTIALS_CHANGED: "USER_CREDENTIALS_CHANGED" + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/models_0.js +var init_models_04 = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/models_0.js"() { + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js +var signin_exports = {}; +__export(signin_exports, { + $Command: () => Command, + AccessDeniedException: () => AccessDeniedException2, + AccessDeniedException$: () => AccessDeniedException$2, + AccessToken$: () => AccessToken$, + CreateOAuth2Token$: () => CreateOAuth2Token$, + CreateOAuth2TokenCommand: () => CreateOAuth2TokenCommand, + CreateOAuth2TokenRequest$: () => CreateOAuth2TokenRequest$, + CreateOAuth2TokenRequestBody$: () => CreateOAuth2TokenRequestBody$, + CreateOAuth2TokenResponse$: () => CreateOAuth2TokenResponse$, + CreateOAuth2TokenResponseBody$: () => CreateOAuth2TokenResponseBody$, + CreateOAuth2TokenWithIAM$: () => CreateOAuth2TokenWithIAM$, + CreateOAuth2TokenWithIAMCommand: () => CreateOAuth2TokenWithIAMCommand, + CreateOAuth2TokenWithIAMRequest$: () => CreateOAuth2TokenWithIAMRequest$, + CreateOAuth2TokenWithIAMResponse$: () => CreateOAuth2TokenWithIAMResponse$, + InternalServerException: () => InternalServerException2, + InternalServerException$: () => InternalServerException$2, + OAuth2ErrorCode: () => OAuth2ErrorCode, + Signin: () => Signin, + SigninClient: () => SigninClient, + SigninServiceException: () => SigninServiceException, + SigninServiceException$: () => SigninServiceException$, + TooManyRequestsError: () => TooManyRequestsError, + TooManyRequestsError$: () => TooManyRequestsError$, + ValidationException: () => ValidationException, + ValidationException$: () => ValidationException$, + __Client: () => Client, + errorTypeRegistries: () => errorTypeRegistries4 +}); +var init_signin = __esm({ + "../../node_modules/.pnpm/@aws-sdk+nested-clients@3.997.49/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js"() { + init_SigninClient(); + init_Signin(); + init_commands4(); + init_client(); + init_schemas_04(); + init_enums2(); + init_errors4(); + init_models_04(); + init_SigninServiceException(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-login@3.972.82/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js +var require_dist_cjs11 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-login@3.972.82/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js"(exports) { + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { CredentialsProviderError, parseKnownFiles, getProfileName } = (init_config(), __toCommonJS(config_exports)); + var { HttpRequest: HttpRequest2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var { createHash: createHash3, createPrivateKey, createPublicKey, sign: sign2 } = __require("node:crypto"); + var { promises } = __require("node:fs"); + var { homedir } = __require("node:os"); + var { dirname: dirname2, join: join4 } = __require("node:path"); + var LoginCredentialsFetcher = class _LoginCredentialsFetcher { + static { + __name(this, "LoginCredentialsFetcher"); + } + profileData; + init; + callerClientConfig; + static REFRESH_THRESHOLD = 5 * 60 * 1e3; + constructor(profileData, init2, callerClientConfig) { + this.profileData = profileData; + this.init = init2; + this.callerClientConfig = callerClientConfig; + } + async loadCredentials() { + const token = await this.loadToken(); + if (!token) { + throw new CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger }); + } + const accessToken = token.accessToken; + const now = Date.now(); + const expiryTime = new Date(accessToken.expiresAt).getTime(); + const timeUntilExpiry = expiryTime - now; + if (timeUntilExpiry <= _LoginCredentialsFetcher.REFRESH_THRESHOLD) { + return this.refresh(token); + } + return this.toCredentials(token.accessToken); + } + get logger() { + return this.init?.logger; + } + get loginSession() { + return this.profileData.login_session; + } + toCredentials(token) { + return { + accessKeyId: token.accessKeyId, + secretAccessKey: token.secretAccessKey, + sessionToken: token.sessionToken, + accountId: token.accountId, + expiration: new Date(token.expiresAt) + }; + } + async refresh(token) { + const diskToken = await this.loadToken().catch(() => token); + const now = Date.now(); + const diskExpiry = new Date(diskToken.accessToken.expiresAt).getTime(); + const tokenExpiry = new Date(token.accessToken.expiresAt).getTime(); + const freshToken = diskExpiry <= now && tokenExpiry > now ? token : diskToken; + const freshExpiry = new Date(freshToken.accessToken.expiresAt).getTime(); + if (freshExpiry - Date.now() > _LoginCredentialsFetcher.REFRESH_THRESHOLD) { + return this.toCredentials(freshToken.accessToken); + } + const { SigninClient: SigninClient2, CreateOAuth2TokenCommand: CreateOAuth2TokenCommand2 } = (init_signin(), __toCommonJS(signin_exports)); + const { logger, userAgentAppId } = this.callerClientConfig ?? {}; + const isH22 = /* @__PURE__ */ __name((requestHandler2) => { + return requestHandler2?.metadata?.handlerProtocol === "h2"; + }, "isH2"); + const requestHandler = isH22(this.callerClientConfig?.requestHandler) ? void 0 : this.callerClientConfig?.requestHandler; + const region = this.profileData.region ?? await this.callerClientConfig?.region?.() ?? process.env.AWS_REGION; + const client = new SigninClient2({ + credentials: { + accessKeyId: "", + secretAccessKey: "" + }, + region, + requestHandler, + logger, + userAgentAppId, + ...this.init?.clientConfig + }); + this.createDPoPInterceptor(client.middlewareStack); + const commandInput = { + tokenInput: { + clientId: freshToken.clientId, + refreshToken: freshToken.refreshToken, + grantType: "refresh_token" + } + }; + try { + const response = await client.send(new CreateOAuth2TokenCommand2(commandInput)); + const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {}; + const { refreshToken, expiresIn } = response.tokenOutput ?? {}; + if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) { + throw new CredentialsProviderError("Token refresh response missing required fields", { + logger: this.logger, + tryNextLink: false + }); + } + const expiresInMs = (expiresIn ?? 900) * 1e3; + const expiration = new Date(Date.now() + expiresInMs); + const updatedToken = { + ...freshToken, + accessToken: { + ...freshToken.accessToken, + accessKeyId, + secretAccessKey, + sessionToken, + expiresAt: expiration.toISOString() + }, + refreshToken + }; + await this.saveToken(updatedToken); + return this.toCredentials(updatedToken.accessToken); + } catch (error62) { + if (error62.name === "AccessDeniedException") { + const errorType = error62.error; + let message; + switch (errorType) { + case "TOKEN_EXPIRED": + message = "Your session has expired. Please reauthenticate."; + break; + case "USER_CREDENTIALS_CHANGED": + message = "Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password."; + break; + case "INSUFFICIENT_PERMISSIONS": + message = "Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action."; + break; + default: + message = `Failed to refresh token: ${String(error62)}. Please re-authenticate using \`aws login\``; + } + throw new CredentialsProviderError(message, { + logger: this.logger, + tryNextLink: false + }); + } + const tokenExpiry2 = new Date(freshToken.accessToken.expiresAt).getTime(); + if (tokenExpiry2 > Date.now()) { + this.logger?.warn?.(`Failed to refresh token: ${String(error62)}. Using existing token until expiry.`); + return this.toCredentials(freshToken.accessToken); + } + throw new CredentialsProviderError(`Failed to refresh token: ${String(error62)}. Please re-authenticate using aws login`, { logger: this.logger }); + } + } + async loadToken() { + const tokenFilePath = this.getTokenFilePath(); + try { + const tokenData = await promises.readFile(tokenFilePath, "utf8"); + const token = JSON.parse(tokenData); + const missingFields = ["accessToken", "clientId", "refreshToken", "dpopKey"].filter((k5) => !token[k5]); + if (!token.accessToken?.accountId) { + missingFields.push("accountId"); + } + if (missingFields.length > 0) { + throw new CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(", ")}`, { + logger: this.logger, + tryNextLink: false + }); + } + return token; + } catch (error62) { + throw new CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error62)}`, { + logger: this.logger, + tryNextLink: false + }); + } + } + async saveToken(token) { + const tokenFilePath = this.getTokenFilePath(); + const directory = dirname2(tokenFilePath); + try { + await promises.mkdir(directory, { recursive: true }); + } catch (error62) { + } + await promises.writeFile(tokenFilePath, JSON.stringify(token, null, 2), "utf8"); + } + getTokenFilePath() { + const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? join4(homedir(), ".aws", "login", "cache"); + const loginSessionBytes = Buffer.from(this.loginSession, "utf8"); + const loginSessionSha256 = createHash3("sha256").update(loginSessionBytes).digest("hex"); + return join4(directory, `${loginSessionSha256}.json`); + } + derToRawSignature(derSignature) { + let offset = 2; + if (derSignature[offset] !== 2) { + throw new Error("Invalid DER signature"); + } + offset++; + const rLength = derSignature[offset++]; + let r5 = derSignature.subarray(offset, offset + rLength); + offset += rLength; + if (derSignature[offset] !== 2) { + throw new Error("Invalid DER signature"); + } + offset++; + const sLength = derSignature[offset++]; + let s2 = derSignature.subarray(offset, offset + sLength); + r5 = r5[0] === 0 ? r5.subarray(1) : r5; + s2 = s2[0] === 0 ? s2.subarray(1) : s2; + const rPadded = Buffer.concat([Buffer.alloc(32 - r5.length), r5]); + const sPadded = Buffer.concat([Buffer.alloc(32 - s2.length), s2]); + return Buffer.concat([rPadded, sPadded]); + } + createDPoPInterceptor(middlewareStack) { + middlewareStack.add((next) => async (args) => { + if (HttpRequest2.isInstance(args.request)) { + const request = args.request; + const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : ""}${request.path}`; + const dpop = await this.generateDpop(request.method, actualEndpoint); + request.headers = { + ...request.headers, + DPoP: dpop + }; + } + return next(args); + }, { + step: "finalizeRequest", + name: "dpopInterceptor", + override: true + }); + } + async generateDpop(method = "POST", endpoint) { + const token = await this.loadToken(); + try { + const privateKey = createPrivateKey({ + key: token.dpopKey, + format: "pem", + type: "sec1" + }); + const publicKey = createPublicKey(privateKey); + const publicDer = publicKey.export({ format: "der", type: "spki" }); + let pointStart = -1; + for (let i5 = 0; i5 < publicDer.length; i5++) { + if (publicDer[i5] === 4) { + pointStart = i5; + break; + } + } + const x = publicDer.slice(pointStart + 1, pointStart + 33); + const y = publicDer.slice(pointStart + 33, pointStart + 65); + const header = { + alg: "ES256", + typ: "dpop+jwt", + jwk: { + kty: "EC", + crv: "P-256", + x: x.toString("base64url"), + y: y.toString("base64url") + } + }; + const payload = { + jti: crypto.randomUUID(), + htm: method, + htu: endpoint, + iat: Math.floor(Date.now() / 1e3) + }; + const headerB64 = Buffer.from(JSON.stringify(header)).toString("base64url"); + const payloadB64 = Buffer.from(JSON.stringify(payload)).toString("base64url"); + const message = `${headerB64}.${payloadB64}`; + const asn1Signature = sign2("sha256", Buffer.from(message), privateKey); + const rawSignature = this.derToRawSignature(asn1Signature); + const signatureB64 = rawSignature.toString("base64url"); + return `${message}.${signatureB64}`; + } catch (error62) { + throw new CredentialsProviderError(`Failed to generate Dpop proof: ${error62 instanceof Error ? error62.message : String(error62)}`, { logger: this.logger, tryNextLink: false }); + } + } + }; + var fromLoginCredentials = /* @__PURE__ */ __name((init2) => async ({ callerClientConfig } = {}) => { + init2?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials"); + const profiles = await parseKnownFiles(init2 || {}); + const profileName = getProfileName({ + profile: init2?.profile ?? callerClientConfig?.profile + }); + const profile = profiles[profileName]; + if (!profile?.login_session) { + throw new CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, { + tryNextLink: true, + logger: init2?.logger + }); + } + const fetcher = new LoginCredentialsFetcher(profile, init2, callerClientConfig); + const credentials = await fetcher.loadCredentials(); + return setCredentialFeature2(credentials, "CREDENTIALS_LOGIN", "AD"); + }, "fromLoginCredentials"); + exports.fromLoginCredentials = fromLoginCredentials; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-process@3.972.75/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +var require_dist_cjs12 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-process@3.972.75/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js"(exports) { + var { externalDataInterceptor, CredentialsProviderError, parseKnownFiles, getProfileName } = (init_config(), __toCommonJS(config_exports)); + var { exec } = __require("node:child_process"); + var { promisify } = __require("node:util"); + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var getValidatedProcessCredentials = /* @__PURE__ */ __name((profileName, data, profiles) => { + if (data.Version !== 1) { + throw Error(`Profile ${profileName} credential_process did not return Version 1.`); + } + if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) { + throw Error(`Profile ${profileName} credential_process returned invalid credentials.`); + } + if (data.Expiration) { + const currentTime = /* @__PURE__ */ new Date(); + const expireTime = new Date(data.Expiration); + if (expireTime < currentTime) { + throw Error(`Profile ${profileName} credential_process returned expired credentials.`); + } + } + let accountId = data.AccountId; + if (!accountId && profiles?.[profileName]?.aws_account_id) { + accountId = profiles[profileName].aws_account_id; + } + const credentials = { + accessKeyId: data.AccessKeyId, + secretAccessKey: data.SecretAccessKey, + ...data.SessionToken && { sessionToken: data.SessionToken }, + ...data.Expiration && { expiration: new Date(data.Expiration) }, + ...data.CredentialScope && { credentialScope: data.CredentialScope }, + ...accountId && { accountId } + }; + setCredentialFeature2(credentials, "CREDENTIALS_PROCESS", "w"); + return credentials; + }, "getValidatedProcessCredentials"); + var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profiles, logger) => { + const profile = profiles[profileName]; + if (profiles[profileName]) { + const credentialProcess = profile["credential_process"]; + if (credentialProcess !== void 0) { + const execPromise = promisify(externalDataInterceptor?.getTokenRecord?.().exec ?? exec); + try { + const { stdout } = await execPromise(credentialProcess); + let data; + try { + data = JSON.parse(stdout.trim()); + } catch { + throw Error(`Profile ${profileName} credential_process returned invalid JSON.`); + } + return getValidatedProcessCredentials(profileName, data, profiles); + } catch (error62) { + throw new CredentialsProviderError(error62.message, { logger }); + } + } else { + throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger }); + } + } else { + throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, { + logger + }); + } + }, "resolveProcessCredentials"); + var fromProcess = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => { + init2.logger?.debug("@aws-sdk/credential-provider-process - fromProcess"); + const profiles = await parseKnownFiles(init2); + return resolveProcessCredentials(getProfileName({ + profile: init2.profile ?? callerClientConfig?.profile + }), profiles, init2.logger); + }, "fromProcess"); + exports.fromProcess = fromProcess; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.81/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +var require_dist_cjs13 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.81/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js"(exports) { + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var { CredentialsProviderError, externalDataInterceptor } = (init_config(), __toCommonJS(config_exports)); + var { readFileSync } = __require("node:fs"); + var fromWebToken = /* @__PURE__ */ __name((init2) => async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken"); + const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init2; + let { roleAssumerWithWebIdentity } = init2; + if (!roleAssumerWithWebIdentity) { + const { getDefaultRoleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity3 } = (init_sts(), __toCommonJS(sts_exports)); + roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity3({ + ...init2.clientConfig, + credentialProviderLogger: init2.logger, + parentClientConfig: { + ...awsIdentityProperties?.callerClientConfig, + ...init2.parentClientConfig + } + }, init2.clientPlugins); + } + return roleAssumerWithWebIdentity({ + RoleArn: roleArn, + RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`, + WebIdentityToken: webIdentityToken, + ProviderId: providerId, + PolicyArns: policyArns, + Policy: policy, + DurationSeconds: durationSeconds + }); + }, "fromWebToken"); + var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE"; + var ENV_ROLE_ARN = "AWS_ROLE_ARN"; + var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME"; + var fromTokenFile = /* @__PURE__ */ __name((init2 = {}) => async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile"); + const webIdentityTokenFile = init2?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE]; + const roleArn = init2?.roleArn ?? process.env[ENV_ROLE_ARN]; + const roleSessionName = init2?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME]; + if (!webIdentityTokenFile || !roleArn) { + throw new CredentialsProviderError("Web identity configuration not specified", { + logger: init2.logger + }); + } + const credentials = await fromWebToken({ + ...init2, + webIdentityToken: externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ?? readFileSync(webIdentityTokenFile, { encoding: "ascii" }), + roleArn, + roleSessionName + })(awsIdentityProperties); + if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) { + setCredentialFeature2(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h"); + } + return credentials; + }, "fromTokenFile"); + exports.fromTokenFile = fromTokenFile; + exports.fromWebToken = fromWebToken; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.973.20/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +var require_dist_cjs14 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.973.20/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports) { + var { CredentialsProviderError, chain, getProfileName, parseKnownFiles } = (init_config(), __toCommonJS(config_exports)); + var { setCredentialFeature: setCredentialFeature2 } = (init_client2(), __toCommonJS(client_exports2)); + var resolveCredentialSource = /* @__PURE__ */ __name((credentialSource, profileName, logger) => { + const sourceProvidersMap = { + EcsContainer: /* @__PURE__ */ __name(async (options) => { + const { fromHttp } = require_dist_cjs8(); + const { fromContainerMetadata } = require_dist_cjs6(); + logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer"); + return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider); + }, "EcsContainer"), + Ec2InstanceMetadata: /* @__PURE__ */ __name(async (options) => { + logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata"); + const { fromInstanceMetadata } = require_dist_cjs6(); + return async () => fromInstanceMetadata(options)().then(setNamedProvider); + }, "Ec2InstanceMetadata"), + Environment: /* @__PURE__ */ __name(async (options) => { + logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment"); + const { fromEnv } = require_dist_cjs5(); + return async () => fromEnv(options)().then(setNamedProvider); + }, "Environment") + }; + if (credentialSource in sourceProvidersMap) { + return sourceProvidersMap[credentialSource]; + } else { + throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger }); + } + }, "resolveCredentialSource"); + var setNamedProvider = /* @__PURE__ */ __name((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_NAMED_PROVIDER", "p"), "setNamedProvider"); + var isAssumeRoleProfile = /* @__PURE__ */ __name((arg, { profile = "default", logger } = {}) => { + return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })); + }, "isAssumeRoleProfile"); + var isAssumeRoleWithSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => { + const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined"; + if (withSourceProfile) { + logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`); + } + return withSourceProfile; + }, "isAssumeRoleWithSourceProfile"); + var isCredentialSourceProfile = /* @__PURE__ */ __name((arg, { profile, logger }) => { + const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined"; + if (withProviderProfile) { + logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`); + } + return withProviderProfile; + }, "isCredentialSourceProfile"); + var resolveAssumeRoleCredentials = /* @__PURE__ */ __name(async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData2) => { + options.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)"); + const profileData = profiles[profileName]; + const { source_profile, region } = profileData; + if (!options.roleAssumer) { + const { getDefaultRoleAssumer: getDefaultRoleAssumer3 } = (init_sts(), __toCommonJS(sts_exports)); + options.roleAssumer = getDefaultRoleAssumer3({ + ...options.clientConfig, + credentialProviderLogger: options.logger, + parentClientConfig: { + ...callerClientConfig, + ...options?.parentClientConfig, + region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region + } + }, options.clientPlugins); + } + if (source_profile && source_profile in visitedProfiles) { + throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${getProfileName(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), { logger: options.logger }); + } + options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`); + const sourceCredsProvider = source_profile ? resolveProfileData2(source_profile, profiles, options, callerClientConfig, { + ...visitedProfiles, + [source_profile]: true + }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {})) : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))(); + if (isCredentialSourceWithoutRoleArn(profileData)) { + return sourceCredsProvider.then((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o")); + } else { + const params = { + RoleArn: profileData.role_arn, + RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`, + ExternalId: profileData.external_id, + DurationSeconds: parseInt(profileData.duration_seconds || "3600", 10) + }; + const { mfa_serial } = profileData; + if (mfa_serial) { + if (!options.mfaCodeProvider) { + throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false }); + } + params.SerialNumber = mfa_serial; + params.TokenCode = await options.mfaCodeProvider(mfa_serial); + } + const sourceCreds = await sourceCredsProvider; + return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o")); + } + }, "resolveAssumeRoleCredentials"); + var isCredentialSourceWithoutRoleArn = /* @__PURE__ */ __name((section) => { + return !section.role_arn && !!section.credential_source; + }, "isCredentialSourceWithoutRoleArn"); + var isLoginProfile = /* @__PURE__ */ __name((data) => { + return Boolean(data && data.login_session); + }, "isLoginProfile"); + var resolveLoginCredentials = /* @__PURE__ */ __name(async (profileName, options, callerClientConfig) => { + const { fromLoginCredentials } = require_dist_cjs11(); + const credentials = await fromLoginCredentials({ + ...options, + profile: profileName + })({ callerClientConfig }); + return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_LOGIN", "AC"); + }, "resolveLoginCredentials"); + var isProcessProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string", "isProcessProfile"); + var resolveProcessCredentials = /* @__PURE__ */ __name(async (options, profile) => { + const { fromProcess } = require_dist_cjs12(); + const credentials = await fromProcess({ + ...options, + profile + })(); + return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_PROCESS", "v"); + }, "resolveProcessCredentials"); + var resolveSsoCredentials = /* @__PURE__ */ __name(async (profile, profileData, options = {}, callerClientConfig) => { + const { fromSSO } = require_dist_cjs10(); + return fromSSO({ + profile, + logger: options.logger, + parentClientConfig: options.parentClientConfig, + clientConfig: options.clientConfig + })({ + callerClientConfig + }).then((creds) => { + if (profileData.sso_session) { + return setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SSO", "r"); + } else { + return setCredentialFeature2(creds, "CREDENTIALS_PROFILE_SSO_LEGACY", "t"); + } + }); + }, "resolveSsoCredentials"); + var isSsoProfile = /* @__PURE__ */ __name((arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string"), "isSsoProfile"); + var isStaticCredsProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1, "isStaticCredsProfile"); + var resolveStaticCredentials = /* @__PURE__ */ __name(async (profile, options) => { + options?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials"); + const credentials = { + accessKeyId: profile.aws_access_key_id, + secretAccessKey: profile.aws_secret_access_key, + sessionToken: profile.aws_session_token, + ...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }, + ...profile.aws_account_id && { accountId: profile.aws_account_id } + }; + return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE", "n"); + }, "resolveStaticCredentials"); + var isWebIdentityProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1, "isWebIdentityProfile"); + var resolveWebIdentityCredentials = /* @__PURE__ */ __name(async (profile, options, callerClientConfig) => { + const { fromTokenFile } = require_dist_cjs13(); + const credentials = await fromTokenFile({ + webIdentityTokenFile: profile.web_identity_token_file, + roleArn: profile.role_arn, + roleSessionName: profile.role_session_name, + roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity, + logger: options.logger, + parentClientConfig: options.parentClientConfig + })({ + callerClientConfig + }); + return setCredentialFeature2(credentials, "CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN", "q"); + }, "resolveWebIdentityCredentials"); + var resolveProfileData = /* @__PURE__ */ __name(async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => { + const data = profiles[profileName]; + if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) { + return resolveStaticCredentials(data, options); + } + if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) { + return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData); + } + if (isStaticCredsProfile(data)) { + return resolveStaticCredentials(data, options); + } + if (isWebIdentityProfile(data)) { + return resolveWebIdentityCredentials(data, options, callerClientConfig); + } + if (isProcessProfile(data)) { + return resolveProcessCredentials(options, profileName); + } + if (isSsoProfile(data)) { + return await resolveSsoCredentials(profileName, data, options, callerClientConfig); + } + if (isLoginProfile(data)) { + return resolveLoginCredentials(profileName, options, callerClientConfig); + } + throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger }); + }, "resolveProfileData"); + var fromIni = /* @__PURE__ */ __name((init2 = {}) => async ({ callerClientConfig } = {}) => { + init2.logger?.debug("@aws-sdk/credential-provider-ini - fromIni"); + const profiles = await parseKnownFiles(init2); + return resolveProfileData(getProfileName({ + profile: init2.profile ?? callerClientConfig?.profile + }), profiles, init2, callerClientConfig); + }, "fromIni"); + exports.fromIni = fromIni; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.972.87/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +var require_dist_cjs15 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.972.87/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports) { + var { ENV_KEY, ENV_SECRET, fromEnv } = require_dist_cjs5(); + var { chain, CredentialsProviderError, ENV_PROFILE } = (init_config(), __toCommonJS(config_exports)); + var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED"; + var remoteProvider = /* @__PURE__ */ __name(async (init2) => { + const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = require_dist_cjs6(); + if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) { + init2.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata"); + const { fromHttp } = require_dist_cjs8(); + return chain(fromHttp(init2), fromContainerMetadata(init2)); + } + if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== "false") { + return async () => { + throw new CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init2.logger }); + }; + } + init2.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"); + return fromInstanceMetadata(init2); + }, "remoteProvider"); + function memoizeChain(providers, treatAsExpired) { + const chain2 = internalCreateChain(providers); + let activeLock; + let passiveLock; + let credentials; + let forceRefreshLock; + const provider = /* @__PURE__ */ __name(async (options) => { + if (options?.forceRefresh) { + if (!forceRefreshLock) { + forceRefreshLock = chain2(options).then((c5) => { + credentials = c5; + }).finally(() => { + forceRefreshLock = void 0; + }); + } + await forceRefreshLock; + return credentials; + } + if (credentials?.expiration) { + if (credentials?.expiration?.getTime() < Date.now()) { + credentials = void 0; + } + } + if (activeLock) { + await activeLock; + } else if (!credentials || treatAsExpired?.(credentials)) { + if (credentials) { + if (!passiveLock) { + passiveLock = chain2(options).then((c5) => { + credentials = c5; + }).catch(() => { + }).finally(() => { + passiveLock = void 0; + }); + } + } else { + activeLock = chain2(options).then((c5) => { + credentials = c5; + }).finally(() => { + activeLock = void 0; + }); + return provider(options); + } + } + return credentials; + }, "provider"); + return provider; + } + __name(memoizeChain, "memoizeChain"); + var internalCreateChain = /* @__PURE__ */ __name((providers) => async (awsIdentityProperties) => { + let lastProviderError; + for (const provider of providers) { + try { + return await provider(awsIdentityProperties); + } catch (err) { + lastProviderError = err; + if (err?.tryNextLink) { + continue; + } + throw err; + } + } + throw lastProviderError; + }, "internalCreateChain"); + var multipleCredentialSourceWarningEmitted = false; + var defaultProvider = /* @__PURE__ */ __name((init2 = {}) => memoizeChain([ + async () => { + const profile = init2.profile ?? process.env[ENV_PROFILE]; + if (profile) { + const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET]; + if (envStaticCredentialsAreSet) { + if (!multipleCredentialSourceWarningEmitted) { + const warnFn = init2.logger?.warn && init2.logger?.constructor?.name !== "NoOpLogger" ? init2.logger.warn.bind(init2.logger) : console.warn; + warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING: + Multiple credential sources detected: + Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set. + This SDK will proceed with the AWS_PROFILE value. + + However, a future version may change this behavior to prefer the ENV static credentials. + Please ensure that your environment only sets either the AWS_PROFILE or the + AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair. +`); + multipleCredentialSourceWarningEmitted = true; + } + } + throw new CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.", { + logger: init2.logger, + tryNextLink: true + }); + } + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"); + return fromEnv(init2)(); + }, + async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO"); + const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init2; + if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) { + throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init2.logger }); + } + const { fromSSO } = require_dist_cjs10(); + return fromSSO(init2)(awsIdentityProperties); + }, + async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni"); + const { fromIni } = require_dist_cjs14(); + return fromIni(init2)(awsIdentityProperties); + }, + async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess"); + const { fromProcess } = require_dist_cjs12(); + return fromProcess(init2)(awsIdentityProperties); + }, + async (awsIdentityProperties) => { + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile"); + const { fromTokenFile } = require_dist_cjs13(); + return fromTokenFile(init2)(awsIdentityProperties); + }, + async () => { + init2.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"); + return (await remoteProvider(init2))(); + }, + async () => { + throw new CredentialsProviderError("Could not load credentials from any providers", { + tryNextLink: false, + logger: init2.logger + }); + } + ], credentialsTreatedAsExpired), "defaultProvider"); + var credentialsWillNeedRefresh = /* @__PURE__ */ __name((credentials) => credentials?.expiration !== void 0, "credentialsWillNeedRefresh"); + var credentialsTreatedAsExpired = /* @__PURE__ */ __name((credentials) => credentials?.expiration !== void 0 && credentials.expiration.getTime() - Date.now() < 3e5, "credentialsTreatedAsExpired"); + exports.credentialsTreatedAsExpired = credentialsTreatedAsExpired; + exports.credentialsWillNeedRefresh = credentialsWillNeedRefresh; + exports.defaultProvider = defaultProvider; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Js.js +var BLOCK, DIGEST_LENGTH, INIT, K, Sha1Js; +var init_Sha1Js = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Js.js"() { + init_serde(); + BLOCK = 64; + DIGEST_LENGTH = 20; + INIT = new Int32Array([1732584193, 4023233417, 2562383102, 271733878, 3285377520]); + K = new Int32Array([1518500249, 1859775393, 2400959708, 3395469782]); + Sha1Js = class _Sha1Js { + static { + __name(this, "Sha1Js"); + } + digestLength = DIGEST_LENGTH; + state = Int32Array.from(INIT); + w; + buffer = new Uint8Array(BLOCK); + bufferLength = 0; + bytesHashed = 0; + finished = false; + inner; + outer; + constructor(secret) { + if (secret) { + const key = _Sha1Js.normalizeKey(secret); + this.inner = new _Sha1Js(); + this.outer = new _Sha1Js(); + const pad = new Uint8Array(BLOCK * 2); + for (let i5 = 0; i5 < BLOCK; ++i5) { + pad[i5] = 54 ^ key[i5]; + pad[i5 + BLOCK] = 92 ^ key[i5]; + } + this.inner.update(pad.subarray(0, BLOCK)); + this.outer.update(pad.subarray(BLOCK)); + } + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished HMAC."); + } + if (this.inner) { + this.inner.update(data); + return; + } + let pos = 0; + let { length } = data; + this.bytesHashed += length; + if (this.bufferLength > 0) { + while (length > 0 && this.bufferLength < BLOCK) { + this.buffer[this.bufferLength++] = data[pos++]; + --length; + } + if (this.bufferLength === BLOCK) { + this.hashBuffer(this.buffer, 0); + this.bufferLength = 0; + } + } + while (length >= BLOCK) { + this.hashBuffer(data, pos); + pos += BLOCK; + length -= BLOCK; + } + while (length > 0) { + this.buffer[this.bufferLength++] = data[pos++]; + --length; + } + } + async digest() { + if (this.inner && this.outer) { + if (this.finished) { + throw new Error("Attempted to digest an already finished HMAC."); + } + this.finished = true; + const innerDigest = this.inner.digestSync(); + this.outer.update(innerDigest); + return this.outer.digestSync(); + } + return this.digestSync(); + } + reset() { + this.state = Int32Array.from(INIT); + this.buffer = new Uint8Array(BLOCK); + this.bufferLength = 0; + this.bytesHashed = 0; + } + digestSync() { + const state2 = this.state.slice(); + const buffer = this.buffer.slice(); + let bufferLength = this.bufferLength; + const bitsHi = this.bytesHashed / 536870912 | 0; + const bitsLo = this.bytesHashed << 3; + buffer[bufferLength++] = 128; + if (bufferLength > BLOCK - 8) { + for (let i5 = bufferLength; i5 < BLOCK; ++i5) { + buffer[i5] = 0; + } + this.hashBufferWith(state2, buffer, 0); + bufferLength = 0; + } + for (let i5 = bufferLength; i5 < BLOCK - 8; ++i5) { + buffer[i5] = 0; + } + const v = new DataView(buffer.buffer, buffer.byteOffset, BLOCK); + v.setUint32(BLOCK - 8, bitsHi, false); + v.setUint32(BLOCK - 4, bitsLo, false); + this.hashBufferWith(state2, buffer, 0); + const out = new Uint8Array(DIGEST_LENGTH); + out[0] = state2[0] >>> 24 & 255; + out[1] = state2[0] >>> 16 & 255; + out[2] = state2[0] >>> 8 & 255; + out[3] = state2[0] & 255; + out[4] = state2[1] >>> 24 & 255; + out[5] = state2[1] >>> 16 & 255; + out[6] = state2[1] >>> 8 & 255; + out[7] = state2[1] & 255; + out[8] = state2[2] >>> 24 & 255; + out[9] = state2[2] >>> 16 & 255; + out[10] = state2[2] >>> 8 & 255; + out[11] = state2[2] & 255; + out[12] = state2[3] >>> 24 & 255; + out[13] = state2[3] >>> 16 & 255; + out[14] = state2[3] >>> 8 & 255; + out[15] = state2[3] & 255; + out[16] = state2[4] >>> 24 & 255; + out[17] = state2[4] >>> 16 & 255; + out[18] = state2[4] >>> 8 & 255; + out[19] = state2[4] & 255; + return out; + } + static normalizeKey(secret) { + const key = toUint8Array(secret); + if (key.byteLength > BLOCK) { + const h5 = new _Sha1Js(); + h5.update(key); + const digest2 = h5.digestSync(); + const padded2 = new Uint8Array(BLOCK); + padded2.set(digest2); + return padded2; + } + const padded = new Uint8Array(BLOCK); + padded.set(key); + return padded; + } + hashBuffer(data, offset) { + this.hashBufferWith(this.state, data, offset); + } + hashBufferWith(state2, data, offset) { + const w = this.w ??= new Int32Array(80); + let s0 = state2[0], s1 = state2[1], s2 = state2[2], s3 = state2[3], s4 = state2[4]; + for (let t = 0; t < 16; ++t) { + w[t] = (data[offset + t * 4] & 255) << 24 | (data[offset + t * 4 + 1] & 255) << 16 | (data[offset + t * 4 + 2] & 255) << 8 | data[offset + t * 4 + 3] & 255; + } + for (let t = 16; t < 80; ++t) { + const x = w[t - 3] ^ w[t - 8] ^ w[t - 14] ^ w[t - 16]; + w[t] = x << 1 | x >>> 31; + } + for (let t = 0; t < 80; ++t) { + const r5 = t < 20 ? 0 : t < 40 ? 1 : t < 60 ? 2 : 3; + const temp = ((s0 << 5 | s0 >>> 27) + (r5 === 0 ? s1 & s2 ^ ~s1 & s3 : r5 === 2 ? s1 & s2 ^ s1 & s3 ^ s2 & s3 : s1 ^ s2 ^ s3) | 0) + (s4 + (K[r5] + w[t] | 0) | 0) | 0; + s4 = s3; + s3 = s2; + s2 = s1 << 30 | s1 >>> 2; + s1 = s0; + s0 = temp; + } + state2[0] = state2[0] + s0 | 0; + state2[1] = state2[1] + s1 | 0; + state2[2] = state2[2] + s2 | 0; + state2[3] = state2[3] + s3 | 0; + state2[4] = state2[4] + s4 | 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Node.js +import { createHash as createHash2, createHmac } from "node:crypto"; +function buildNativeClass() { + return class Sha1Node { + static { + __name(this, "Sha1Node"); + } + digestLength = 20; + secret; + hash; + isHmac; + finished = false; + constructor(secret) { + this.secret = secret; + this.isHmac = !!secret; + this.hash = this.createHash(); + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished hash."); + } + this.hash.update(data); + } + async digest() { + let buf; + if (this.isHmac) { + this.finished = true; + buf = this.hash.digest(); + } else { + buf = this.hash.copy().digest(); + } + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + reset() { + this.hash = this.createHash(); + this.finished = false; + } + createHash() { + return this.secret ? createHmac("sha1", toBuffer(this.secret)) : createHash2("sha1"); + } + }; +} +function toBuffer(data) { + if (typeof data === "string") { + return data; + } + if (ArrayBuffer.isView(data)) { + return Buffer.from(data.buffer, data.byteOffset, data.byteLength); + } + return Buffer.from(data); +} +var hasNativeCrypto, Sha1Node; +var init_Sha1Node = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1Node.js"() { + init_Sha1Js(); + hasNativeCrypto = (() => { + try { + createHash2("sha1"); + return true; + } catch { + return false; + } + })(); + Sha1Node = hasNativeCrypto ? buildNativeClass() : Sha1Js; + __name(buildNativeClass, "buildNativeClass"); + __name(toBuffer, "toBuffer"); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1WebCrypto.js +var digest, sign, importKey, subtle, MAX_PENDING_BYTES, Sha1WebCrypto; +var init_Sha1WebCrypto = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/sha1/Sha1WebCrypto.js"() { + init_serde(); + init_Sha1Js(); + ({ digest, sign, importKey } = globalThis?.crypto?.subtle ?? {}); + subtle = typeof digest === "function" && typeof sign === "function" && typeof importKey === "function" ? globalThis.crypto.subtle : void 0; + MAX_PENDING_BYTES = 8 * 1024 * 1024; + Sha1WebCrypto = class { + static { + __name(this, "Sha1WebCrypto"); + } + digestLength = 20; + secret; + pending = []; + pendingBytes = 0; + fallback; + finished = false; + constructor(secret) { + if (secret) { + this.secret = toUint8Array(secret); + } + } + update(data) { + if (this.finished) { + throw new Error("Attempted to update an already finished HMAC."); + } + if (this.fallback) { + this.fallback.update(data); + return; + } + this.pending.push(data.slice()); + this.pendingBytes += data.byteLength; + if (this.pendingBytes >= MAX_PENDING_BYTES) { + this.switchToFallback(); + } + } + async digest() { + if (this.fallback) { + return this.fallback.digest(); + } + if (this.secret && this.finished) { + throw new Error("Attempted to digest an already finished HMAC."); + } + const data = concatBytes(this.pending); + if (subtle) { + if (this.secret) { + this.finished = true; + const key = await subtle.importKey("raw", this.secret, { name: "HMAC", hash: "SHA-1" }, false, ["sign"]); + const sig = await subtle.sign("HMAC", key, data); + return new Uint8Array(sig); + } + const hash3 = await subtle.digest("SHA-1", data); + return new Uint8Array(hash3); + } + const sha1 = new Sha1Js(this.secret); + sha1.update(data); + return sha1.digest(); + } + reset() { + this.pending = []; + this.pendingBytes = 0; + this.fallback = void 0; + this.finished = false; + } + switchToFallback() { + const sha1Js = new Sha1Js(this.secret); + for (const chunk of this.pending) { + sha1Js.update(chunk); + } + this.fallback = sha1Js; + this.pending = []; + this.pendingBytes = 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/index.js +var sha_exports = {}; +__export(sha_exports, { + Sha1: () => Sha1Node, + Sha1Js: () => Sha1Js, + Sha1Node: () => Sha1Node, + Sha1WebCrypto: () => Sha1WebCrypto, + Sha256: () => Sha256Node, + Sha256Js: () => Sha256Js, + Sha256Node: () => Sha256Node +}); +var init_sha = __esm({ + "../../node_modules/.pnpm/@aws-sdk+checksums@3.1001.4/node_modules/@aws-sdk/checksums/dist-es/submodules/sha/index.js"() { + init_Sha1Js(); + init_Sha1Node(); + init_Sha1WebCrypto(); + init_checksum(); + } +}); + +// ../../node_modules/.pnpm/@aws-sdk+client-s3@3.1154.0/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +var require_dist_cjs16 = __commonJS({ + "../../node_modules/.pnpm/@aws-sdk+client-s3@3.1154.0/node_modules/@aws-sdk/client-s3/dist-cjs/index.js"(exports) { + var { getFlexibleChecksumsPlugin: getFlexibleChecksumsPlugin2, NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS2, NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS: NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS2, resolveFlexibleChecksumsConfig: resolveFlexibleChecksumsConfig2 } = (init_flexible_checksums(), __toCommonJS(flexible_checksums_exports)); + var { awsEndpointFunctions: awsEndpointFunctions2, emitWarningIfUnsupportedVersion: emitWarningIfUnsupportedVersion$1, createDefaultUserAgentProvider: createDefaultUserAgentProvider2, NODE_APP_ID_CONFIG_OPTIONS: NODE_APP_ID_CONFIG_OPTIONS2, getAwsRegionExtensionConfiguration: getAwsRegionExtensionConfiguration2, resolveAwsRegionExtensionConfiguration: resolveAwsRegionExtensionConfiguration2, resolveUserAgentConfig: resolveUserAgentConfig2, resolveHostHeaderConfig: resolveHostHeaderConfig2, getUserAgentPlugin: getUserAgentPlugin2, getHostHeaderPlugin: getHostHeaderPlugin2, getLoggerPlugin: getLoggerPlugin2, getRecursionDetectionPlugin: getRecursionDetectionPlugin2 } = (init_client2(), __toCommonJS(client_exports2)); + var { getThrow200ExceptionsPlugin: getThrow200ExceptionsPlugin2, getSsecPlugin: getSsecPlugin2, getLocationConstraintPlugin: getLocationConstraintPlugin2, getS3ExpiresMiddlewarePlugin: getS3ExpiresMiddlewarePlugin2, getCheckContentLengthHeaderPlugin: getCheckContentLengthHeaderPlugin2, S3RestXmlProtocol: S3RestXmlProtocol2, NODE_USE_ARN_REGION_CONFIG_OPTIONS: NODE_USE_ARN_REGION_CONFIG_OPTIONS2, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS: NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS2, resolveS3Config: resolveS3Config2, getValidateBucketNamePlugin: getValidateBucketNamePlugin2, getAddExpectContinuePlugin: getAddExpectContinuePlugin2, getRegionRedirectMiddlewarePlugin: getRegionRedirectMiddlewarePlugin2, getS3ExpressPlugin: getS3ExpressPlugin2, getS3ExpressHttpSigningPlugin: getS3ExpressHttpSigningPlugin2 } = (init_s3(), __toCommonJS(s3_exports)); + var { getHttpAuthSchemeEndpointRuleSetPlugin: getHttpAuthSchemeEndpointRuleSetPlugin2, DefaultIdentityProviderConfig: DefaultIdentityProviderConfig2, getHttpSigningPlugin: getHttpSigningPlugin2, createPaginator: createPaginator2 } = (init_dist_es(), __toCommonJS(dist_es_exports)); + var { normalizeProvider: normalizeProvider3, getSmithyContext: getSmithyContext2, makeBuilder: makeBuilder2, ServiceException: ServiceException2, NoOpLogger: NoOpLogger2, emitWarningIfUnsupportedVersion: emitWarningIfUnsupportedVersion3, loadConfigsForDefaultMode: loadConfigsForDefaultMode2, getDefaultExtensionConfiguration: getDefaultExtensionConfiguration2, resolveDefaultRuntimeConfig: resolveDefaultRuntimeConfig2, Client: Client2, createWaiter, checkExceptions, WaiterState, createAggregatedClient: createAggregatedClient2 } = (init_client(), __toCommonJS(client_exports)); + var { Command: $Command } = (init_client(), __toCommonJS(client_exports)); + exports.$Command = $Command; + exports.__Client = Client2; + var { resolveDefaultsModeConfig: resolveDefaultsModeConfig2, loadConfig: loadConfig2, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS2, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS2, NODE_REGION_CONFIG_OPTIONS: NODE_REGION_CONFIG_OPTIONS2, NODE_REGION_CONFIG_FILE_OPTIONS: NODE_REGION_CONFIG_FILE_OPTIONS2, resolveRegionConfig: resolveRegionConfig2 } = (init_config(), __toCommonJS(config_exports)); + var { BinaryDecisionDiagram: BinaryDecisionDiagram2, EndpointCache: EndpointCache2, decideEndpoint: decideEndpoint2, customEndpointFunctions: customEndpointFunctions2, resolveParams: resolveParams2, getEndpointPlugin: getEndpointPlugin2, resolveEndpointConfig: resolveEndpointConfig2 } = (init_endpoints(), __toCommonJS(endpoints_exports)); + var { eventStreamSerdeProvider, resolveEventStreamSerdeConfig } = (init_event_streams(), __toCommonJS(event_streams_exports)); + var { parseUrl: parseUrl2, getHttpHandlerExtensionConfiguration: getHttpHandlerExtensionConfiguration2, resolveHttpHandlerRuntimeConfig: resolveHttpHandlerRuntimeConfig2, getContentLengthPlugin: getContentLengthPlugin2 } = (init_protocols(), __toCommonJS(protocols_exports)); + var { DEFAULT_RETRY_MODE: DEFAULT_RETRY_MODE2, NODE_RETRY_MODE_CONFIG_OPTIONS: NODE_RETRY_MODE_CONFIG_OPTIONS2, NODE_MAX_ATTEMPT_CONFIG_OPTIONS: NODE_MAX_ATTEMPT_CONFIG_OPTIONS2, resolveRetryConfig: resolveRetryConfig2, getRetryPlugin: getRetryPlugin2 } = (init_retry(), __toCommonJS(retry_exports)); + var { TypeRegistry: TypeRegistry2, getSchemaSerdePlugin: getSchemaSerdePlugin2 } = (init_schema(), __toCommonJS(schema_exports)); + var { resolveAwsSdkSigV4Config: resolveAwsSdkSigV4Config2, resolveAwsSdkSigV4AConfig: resolveAwsSdkSigV4AConfig2, AwsSdkSigV4Signer: AwsSdkSigV4Signer2, AwsSdkSigV4ASigner: AwsSdkSigV4ASigner2, NODE_SIGV4A_CONFIG_OPTIONS: NODE_SIGV4A_CONFIG_OPTIONS2, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS: NODE_AUTH_SCHEME_PREFERENCE_OPTIONS2 } = (init_httpAuthSchemes2(), __toCommonJS(httpAuthSchemes_exports)); + var { SignatureV4MultiRegion: SignatureV4MultiRegion3 } = require_dist_cjs3(); + var { defaultProvider } = require_dist_cjs15(); + var { Sha256, Md5, readableStreamHasher } = (init_checksum(), __toCommonJS(checksum_exports)); + var { toUtf8: toUtf82, fromUtf8: fromUtf82, sdkStreamMixin: sdkStreamMixin2, getAwsChunkedEncodingStream, toBase64: toBase642, fromBase64: fromBase642, calculateBodyLength: calculateBodyLength2 } = (init_serde(), __toCommonJS(serde_exports)); + var { streamCollector: streamCollector5, NodeHttpHandler } = require_dist_cjs7(); + var { Sha1 } = (init_sha(), __toCommonJS(sha_exports)); + var aw = "ref"; + var ax = "argv"; + var ay = "backend"; + var az = "authSchemes"; + var aA = "disableDoubleEncoding"; + var aB = "signingName"; + var aC = "signingRegion"; + var aD = "signingRegionSet"; + var a5 = -1; + var b5 = true; + var c5 = false; + var d5 = "isSet"; + var e5 = "booleanEquals"; + var f5 = "stringEquals"; + var g5 = "coalesce"; + var h5 = "substring"; + var i5 = ""; + var j5 = "aws.partition"; + var k5 = "partitionResult"; + var l3 = "accessPointSuffix"; + var m3 = "regionPrefix"; + var n3 = /* @__PURE__ */ __name((n4) => "outpostId_ssa_" + n4 + i5, "n"); + var o3 = "hardwareType"; + var p3 = "ite"; + var q3 = "isValidHostLabel"; + var s2 = "sigv4"; + var t = "aws.isVirtualHostableS3Bucket"; + var u = "url"; + var v = "getAttr"; + var w = "bucketArn"; + var x = "--"; + var y = "arnType"; + var z2 = "accesspoint"; + var A = /* @__PURE__ */ __name((n4) => "accessPointName_ssa_" + n4 + i5, "A"); + var B = "s3-object-lambda"; + var C = "s3-outposts"; + var D = "bucketPartition"; + var E = "us-east-1"; + var F = "outpostType"; + var G = "name"; + var H = "s3"; + var I = "{url#scheme}://{Bucket}.{url#authority}{url#path}"; + var J = "{url#scheme}://{url#authority}{url#path}"; + var K2 = "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}"; + var L = "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}"; + var M = "https://{Bucket}.s3.{partitionResult#dnsSuffix}"; + var N = /* @__PURE__ */ __name((n4) => "{url#scheme}://{accessPointName_ssa_" + n4 + "}-{bucketArn#accountId}.{url#authority}{url#path}", "N"); + var O = /* @__PURE__ */ __name((n4) => "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName_ssa_" + n4 + "}`", "O"); + var P = "sigv4a"; + var Q = "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}"; + var R = "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}"; + var S = "https://s3.{partitionResult#dnsSuffix}"; + var T2 = { [aw]: "UseFIPS" }; + var U = { [aw]: "UseDualStack" }; + var V = { [aw]: "Bucket" }; + var W = { "fn": v, [ax]: [{ [aw]: k5 }, G] }; + var X = { [aw]: u }; + var Y = { [aw]: "Region" }; + var Z = { [aw]: w }; + var aa = { [aw]: y }; + var ab = { [aw]: "accessPointName_ssa_1" }; + var ac = { "fn": v, [ax]: [Z, "region"] }; + var ad = { [aw]: o3 }; + var ae = { "fn": v, [ax]: [Z, "service"] }; + var af = { "fn": v, [ax]: [Z, "accountId"] }; + var ag = { [ay]: "S3Express", [az]: [{ [aA]: true, [G]: "{_s3e_auth}", [aB]: "s3express", [aC]: "{Region}" }] }; + var ah = { [ay]: "S3Express", [az]: [{ [aA]: true, [G]: s2, [aB]: "s3express", [aC]: "{Region}" }] }; + var ai = { [az]: [{ [aA]: true, [G]: P, [aB]: C, [aD]: ["*"] }, { [aA]: true, [G]: s2, [aB]: C, [aC]: "{Region}" }] }; + var aj = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: E }] }; + var ak = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: "{Region}" }] }; + var al = { [az]: [{ [aA]: true, [G]: s2, [aB]: B, [aC]: "{bucketArn#region}" }] }; + var am = { [az]: [{ [aA]: true, [G]: s2, [aB]: H, [aC]: "{bucketArn#region}" }] }; + var an = { [az]: [{ [aA]: true, [G]: P, [aB]: C, [aD]: ["*"] }, { [aA]: true, [G]: s2, [aB]: C, [aC]: "{bucketArn#region}" }] }; + var ao = { [az]: [{ [aA]: true, [G]: s2, [aB]: B, [aC]: "{Region}" }] }; + var ap = [Y]; + var aq = [{ [aw]: "Endpoint" }]; + var as = [V]; + var at = [V, 0, 7, true]; + var au = [Z, "resourceId[1]"]; + var av = ["*"]; + var _data5 = { + conditions: [ + [d5, ap], + [e5, [{ [aw]: "Accelerate" }, b5]], + [e5, [T2, b5]], + [e5, [U, b5]], + [d5, aq], + [d5, as], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 0, 6, b5] }, i5] }, "--x-s3"]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: at }, i5] }, "--xa-s3"]], + [j5, ap, k5], + [h5, at, l3], + [f5, [{ [aw]: l3 }, "--op-s3"]], + [h5, [V, 8, 12, b5], m3], + [h5, [V, 32, 49, b5], n3(2)], + [h5, [V, 49, 50, b5], o3], + [e5, [{ [aw]: "ForcePathStyle" }, b5]], + [f5, [W, "aws-cn"]], + [p3, [U, ".dualstack", i5], "_s3e_ds"], + [q3, [{ [aw]: n3(2) }, c5]], + [p3, [T2, "-fips", i5], "_s3e_fips"], + [p3, [{ fn: g5, [ax]: [{ [aw]: "DisableS3ExpressSessionAuth" }, c5] }, s2, "sigv4-s3express"], "_s3e_auth"], + [t, [V, c5]], + ["parseURL", aq, u], + [e5, [{ fn: g5, [ax]: [{ [aw]: "UseS3ExpressControlEndpoint" }, c5] }, b5]], + [t, [V, b5]], + [f5, [{ fn: v, [ax]: [X, "scheme"] }, "http"]], + [q3, [Y, c5]], + ["aws.parseArn", as, w], + [v, [{ fn: "split", [ax]: [V, x, 0] }, "[-2]"], "s3expressAvailabilityZoneId"], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 0, 4, c5] }, i5] }, "arn:"]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 16, 18, b5] }, i5] }, x]], + [e5, [{ fn: v, [ax]: [X, "isIp"] }, b5]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 21, 23, b5] }, i5] }, x]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 27, 29, b5] }, i5] }, x]], + [f5, [{ [aw]: m3 }, "beta"]], + ["uriEncode", as, "uri_encoded_bucket"], + [q3, [Y, b5]], + [e5, [{ fn: g5, [ax]: [{ [aw]: "UseObjectLambdaEndpoint" }, c5] }, b5]], + [v, [Z, "resourceId[0]"], y], + [f5, [aa, i5]], + [f5, [aa, z2]], + [v, au, A(1)], + [f5, [ab, i5]], + [f5, [ac, i5]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 14, 16, b5] }, i5] }, x]], + [f5, [ad, "e"]], + [f5, [ad, "o"]], + [f5, [Y, "aws-global"]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 19, 21, b5] }, i5] }, x]], + [f5, [ae, B]], + [e5, [{ fn: g5, [ax]: [{ [aw]: "DisableAccessPoints" }, c5] }, b5]], + [f5, [ae, C]], + [j5, [ac], D], + [q3, [ab, b5]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 26, 28, b5] }, i5] }, x]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 15, 17, b5] }, i5] }, x]], + [v, [Z, "resourceId[4]"]], + [f5, [{ fn: g5, [ax]: [{ fn: h5, [ax]: [V, 20, 22, b5] }, i5] }, x]], + [e5, [{ [aw]: "UseGlobalEndpoint" }, b5]], + [f5, [Y, E]], + [v, au, n3(1)], + [e5, [{ fn: g5, [ax]: [{ [aw]: "UseArnRegion" }, b5] }, b5]], + [q3, [{ [aw]: n3(1) }, c5]], + [v, [Z, "resourceId[2]"], F], + [f5, [Y, ac]], + [f5, [{ fn: v, [ax]: [{ [aw]: D }, G] }, W]], + [e5, [{ [aw]: "DisableMultiRegionAccessPoints" }, b5]], + [q3, [ac, b5]], + [f5, [{ fn: v, [ax]: [Z, "partition"] }, W]], + [f5, [af, i5]], + [f5, [ae, H]], + [q3, [af, c5]], + [v, [Z, "resourceId[3]"], A(2)], + [q3, [ab, c5]], + [f5, [{ [aw]: F }, z2]], + [q3, [{ [aw]: A(2) }, c5]] + ], + results: [ + [a5], + [a5, "Accelerate cannot be used with FIPS"], + [a5, "Cannot set dual-stack in combination with a custom endpoint."], + [a5, "A custom endpoint cannot be combined with FIPS"], + [a5, "A custom endpoint cannot be combined with S3 Accelerate"], + [a5, "Partition does not support FIPS"], + [a5, "S3Express does not support S3 Accelerate."], + ["{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}", ag], + [I, ag], + [a5, "S3Express bucket name is not a valid virtual hostable name."], + ["https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ah], + ["https://{Bucket}.s3express{_s3e_fips}-{s3expressAvailabilityZoneId}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}", ag], + [a5, "Unrecognized S3Express bucket name format."], + [J, ag], + ["https://s3express-control{_s3e_fips}{_s3e_ds}.{Region}.{partitionResult#dnsSuffix}", ah], + [a5, "Expected a endpoint to be specified but no endpoint was found"], + ["https://{Bucket}.ec2.{url#authority}", ai], + ["https://{Bucket}.ec2.s3-outposts.{Region}.{partitionResult#dnsSuffix}", ai], + ["https://{Bucket}.op-{outpostId_ssa_2}.{url#authority}", ai], + ["https://{Bucket}.op-{outpostId_ssa_2}.s3-outposts.{Region}.{partitionResult#dnsSuffix}", ai], + [a5, 'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"'], + [a5, "Invalid Outposts Bucket alias - it must be a valid bucket name."], + [a5, "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`."], + [a5, "Custom endpoint `{Endpoint}` was not a valid URI"], + [a5, "S3 Accelerate cannot be used in this region"], + ["https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", ak], + ["https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}", ak], + ["https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}", ak], + ["https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}", ak], + [K2, aj], + [I, aj], + [K2, ak], + [I, ak], + [L, aj], + [L, ak], + [M, aj], + [M, ak], + ["https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}", ak], + [a5, "Invalid region: region was not a valid DNS name."], + [a5, "S3 Object Lambda does not support Dual-stack"], + [a5, "S3 Object Lambda does not support S3 Accelerate"], + [a5, "Access points are not supported for this operation"], + [a5, "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`"], + [a5, "Invalid ARN: Missing account id"], + [N(1), al], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", al], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}", al], + [a5, O(1)], + [a5, "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`"], + [a5, "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)"], + [a5, "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`"], + [a5, "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`."], + [a5, "Invalid ARN: bucket ARN is missing a region"], + [a5, "Invalid ARN: Expected a resource of the format `accesspoint:` but no name was provided"], + [a5, "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`"], + [a5, "Access Points do not support S3 Accelerate"], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", am], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}", am], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}", am], + [N(1), am], + ["https://{accessPointName_ssa_1}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}", am], + [a5, "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}"], + [a5, "S3 MRAP does not support dual-stack"], + [a5, "S3 MRAP does not support FIPS"], + [a5, "S3 MRAP does not support S3 Accelerate"], + [a5, "Invalid configuration: Multi-Region Access Point ARNs are disabled."], + ["https://{accessPointName_ssa_1}.accesspoint.s3-global.{partitionResult#dnsSuffix}", { [az]: [{ [aA]: b5, name: P, [aB]: H, [aD]: av }] }], + [a5, "Client was configured for partition `{partitionResult#name}` but bucket referred to partition `{bucketArn#partition}`"], + [a5, "Invalid Access Point Name"], + [a5, "S3 Outposts does not support Dual-stack"], + [a5, "S3 Outposts does not support FIPS"], + [a5, "S3 Outposts does not support S3 Accelerate"], + [a5, "Invalid Arn: Outpost Access Point ARN contains sub resources"], + ["https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.{url#authority}", an], + ["https://{accessPointName_ssa_2}-{bucketArn#accountId}.{outpostId_ssa_1}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}", an], + [a5, O(2)], + [a5, "Expected an outpost type `accesspoint`, found {outpostType}"], + [a5, "Invalid ARN: expected an access point name"], + [a5, "Invalid ARN: Expected a 4-component resource"], + [a5, "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId_ssa_1}`"], + [a5, "Invalid ARN: The Outpost Id was not set"], + [a5, "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})"], + [a5, "Invalid ARN: No ARN type specified"], + [a5, "Invalid ARN: `{Bucket}` was not a valid ARN"], + [a5, "Path-style addressing cannot be used with ARN buckets"], + ["https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj], + ["https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak], + ["https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj], + ["https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak], + ["https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", aj], + ["https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak], + [Q, aj], + [Q, ak], + [R, aj], + [R, ak], + ["https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}", ak], + [a5, "Path-style addressing cannot be used with S3 Accelerate"], + [J, ao], + ["https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}", ao], + ["https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}", ao], + ["https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", ak], + ["https://s3-fips.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://s3-fips.{Region}.{partitionResult#dnsSuffix}", ak], + ["https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}", aj], + ["https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}", ak], + [J, aj], + [J, ak], + [S, aj], + [S, ak], + ["https://s3.{Region}.{partitionResult#dnsSuffix}", ak], + [a5, "A region must be set when sending requests to S3."] + ] + }; + var root5 = 2; + var r5 = 1e8; + var nodes5 = new Int32Array([ + -1, + 1, + -1, + 0, + 3, + r5 + 115, + 1, + 424, + 4, + 2, + 272, + 5, + 3, + 233, + 6, + 4, + 85, + 7, + 5, + 15, + 8, + 8, + 9, + r5 + 115, + 16, + 10, + 13, + 18, + 11, + 13, + 19, + 12, + 13, + 22, + r5 + 14, + 13, + 35, + 14, + r5 + 42, + 36, + r5 + 103, + 435, + 6, + 271, + 16, + 7, + 270, + 17, + 8, + 19, + 18, + 14, + 501, + 106, + 9, + 20, + 24, + 10, + 21, + 24, + 11, + 22, + 24, + 12, + 23, + 24, + 13, + 547, + 24, + 14, + 77, + 25, + 20, + 73, + 26, + 26, + 27, + 78, + 37, + 28, + r5 + 86, + 38, + r5 + 86, + 29, + 39, + 47, + 30, + 48, + r5 + 58, + 31, + 50, + 32, + r5 + 85, + 51, + 33, + 136, + 55, + r5 + 76, + 34, + 59, + 35, + r5 + 84, + 60, + 39, + 36, + 61, + 37, + r5 + 83, + 62, + 38, + 146, + 63, + 41, + r5 + 46, + 61, + 40, + r5 + 83, + 62, + 41, + 150, + 64, + 42, + r5 + 54, + 66, + 43, + r5 + 53, + 70, + 44, + r5 + 52, + 71, + 45, + r5 + 81, + 73, + 46, + r5 + 80, + 74, + r5 + 78, + r5 + 79, + 40, + 48, + r5 + 57, + 41, + r5 + 57, + 49, + 42, + 185, + 50, + 48, + 62, + 51, + 49, + r5 + 45, + 52, + 51, + 53, + 526, + 60, + 56, + 54, + 62, + r5 + 55, + 55, + 63, + 57, + r5 + 46, + 62, + r5 + 55, + 57, + 64, + 58, + r5 + 54, + 66, + 59, + r5 + 53, + 69, + 60, + r5 + 65, + 70, + 61, + r5 + 52, + 72, + r5 + 64, + r5 + 51, + 49, + r5 + 45, + 63, + 51, + 64, + 526, + 60, + 67, + 65, + 62, + r5 + 55, + 66, + 63, + 68, + r5 + 46, + 62, + r5 + 55, + 68, + 64, + 69, + r5 + 54, + 66, + 70, + r5 + 53, + 68, + r5 + 47, + 71, + 70, + 72, + r5 + 52, + 72, + r5 + 50, + r5 + 51, + 25, + 74, + r5 + 42, + 46, + r5 + 39, + 75, + 57, + 76, + r5 + 41, + 58, + r5 + 40, + r5 + 41, + 26, + r5 + 88, + 78, + 28, + r5 + 87, + 79, + 34, + 82, + 80, + 35, + 81, + 545, + 36, + r5 + 103, + r5 + 115, + 46, + r5 + 97, + 83, + 57, + 84, + r5 + 99, + 58, + r5 + 98, + r5 + 99, + 5, + 101, + 86, + 8, + 87, + r5 + 115, + 16, + 88, + 89, + 18, + 91, + 89, + 19, + 90, + 92, + 21, + 97, + 95, + 19, + 93, + 92, + 21, + 98, + 95, + 21, + 97, + 94, + 22, + r5 + 14, + 95, + 35, + 96, + r5 + 42, + 36, + r5 + 103, + r5 + 42, + 22, + r5 + 13, + 98, + 35, + 99, + r5 + 42, + 36, + r5 + 101, + 100, + 46, + r5 + 110, + r5 + 111, + 6, + 214, + 102, + 7, + 208, + 103, + 8, + 119, + 104, + 14, + 118, + 105, + 21, + 106, + r5 + 23, + 26, + 107, + 502, + 37, + 108, + r5 + 86, + 38, + r5 + 86, + 109, + 39, + 112, + 110, + 48, + r5 + 58, + 111, + 50, + 136, + r5 + 85, + 40, + 113, + r5 + 57, + 41, + r5 + 57, + 114, + 42, + 115, + 500, + 48, + r5 + 56, + 116, + 52, + 117, + r5 + 72, + 65, + r5 + 69, + r5 + 72, + 21, + 501, + r5 + 23, + 9, + 120, + 124, + 10, + 121, + 124, + 11, + 122, + 124, + 12, + 123, + 124, + 13, + 202, + 124, + 14, + 195, + 125, + 20, + 190, + 126, + 21, + 127, + r5 + 23, + 23, + 128, + 129, + 24, + 189, + 129, + 26, + 130, + 197, + 37, + 131, + r5 + 86, + 38, + r5 + 86, + 132, + 39, + 159, + 133, + 48, + r5 + 58, + 134, + 50, + 135, + r5 + 85, + 51, + 141, + 136, + 55, + r5 + 76, + 137, + 59, + 138, + r5 + 84, + 60, + r5 + 83, + 139, + 61, + 140, + r5 + 83, + 63, + r5 + 83, + r5 + 46, + 55, + r5 + 76, + 142, + 59, + 143, + r5 + 84, + 60, + 148, + 144, + 61, + 145, + r5 + 83, + 62, + 147, + 146, + 63, + 150, + r5 + 46, + 63, + 153, + r5 + 46, + 61, + 149, + r5 + 83, + 62, + 153, + 150, + 64, + 151, + r5 + 54, + 66, + 152, + r5 + 53, + 70, + r5 + 82, + r5 + 52, + 64, + 154, + r5 + 54, + 66, + 155, + r5 + 53, + 70, + 156, + r5 + 52, + 71, + 157, + r5 + 81, + 73, + 158, + r5 + 80, + 74, + r5 + 77, + r5 + 79, + 40, + 160, + r5 + 57, + 41, + r5 + 57, + 161, + 42, + 185, + 162, + 48, + 174, + 163, + 49, + r5 + 45, + 164, + 51, + 165, + 526, + 60, + 168, + 166, + 62, + r5 + 55, + 167, + 63, + 169, + r5 + 46, + 62, + r5 + 55, + 169, + 64, + 170, + r5 + 54, + 66, + 171, + r5 + 53, + 69, + 172, + r5 + 65, + 70, + 173, + r5 + 52, + 72, + r5 + 63, + r5 + 51, + 49, + r5 + 45, + 175, + 51, + 176, + 526, + 60, + 179, + 177, + 62, + r5 + 55, + 178, + 63, + 180, + r5 + 46, + 62, + r5 + 55, + 180, + 64, + 181, + r5 + 54, + 66, + 182, + r5 + 53, + 68, + r5 + 47, + 183, + 70, + 184, + r5 + 52, + 72, + r5 + 48, + r5 + 51, + 48, + r5 + 56, + 186, + 52, + 187, + r5 + 72, + 65, + r5 + 69, + 188, + 67, + r5 + 70, + r5 + 71, + 25, + r5 + 36, + r5 + 42, + 21, + 191, + r5 + 23, + 25, + 192, + r5 + 42, + 30, + 194, + 193, + 46, + r5 + 34, + r5 + 36, + 46, + r5 + 33, + r5 + 35, + 21, + 196, + r5 + 23, + 26, + r5 + 88, + 197, + 28, + r5 + 87, + 198, + 34, + 201, + 199, + 35, + 200, + 545, + 36, + r5 + 101, + r5 + 115, + 46, + r5 + 95, + r5 + 96, + 17, + 203, + r5 + 22, + 20, + 204, + r5 + 21, + 21, + 205, + 550, + 33, + 206, + 550, + 44, + r5 + 16, + 207, + 45, + r5 + 18, + r5 + 20, + 8, + 209, + 215, + 16, + 210, + 220, + 18, + 211, + 220, + 19, + 212, + 224, + 20, + 213, + 227, + 21, + 231, + 401, + 8, + 218, + 215, + 19, + 216, + r5 + 9, + 20, + 217, + 227, + 21, + 231, + r5 + 9, + 16, + 219, + 220, + 18, + 223, + 220, + 19, + 221, + 224, + 20, + 222, + 227, + 21, + 231, + r5 + 12, + 19, + 226, + 224, + 20, + 225, + r5 + 9, + 21, + r5 + 9, + r5 + 12, + 20, + 230, + 227, + 21, + 228, + r5 + 9, + 30, + 229, + r5 + 9, + 34, + r5 + 7, + r5 + 9, + 21, + 231, + 415, + 30, + 232, + r5 + 8, + 34, + r5 + 7, + r5 + 8, + 4, + r5 + 2, + 234, + 5, + 235, + 480, + 6, + 271, + 236, + 7, + 270, + 237, + 8, + 238, + 491, + 9, + 239, + 243, + 10, + 240, + 243, + 11, + 241, + 243, + 12, + 242, + 243, + 13, + 547, + 243, + 14, + 266, + 244, + 20, + 264, + 245, + 26, + 246, + 267, + 37, + 247, + r5 + 86, + 38, + r5 + 86, + 248, + 39, + 249, + 518, + 40, + 250, + r5 + 57, + 41, + r5 + 57, + 251, + 42, + 538, + 252, + 48, + r5 + 43, + 253, + 49, + r5 + 45, + 254, + 51, + 255, + 526, + 60, + 258, + 256, + 62, + r5 + 55, + 257, + 63, + 259, + r5 + 46, + 62, + r5 + 55, + 259, + 64, + 260, + r5 + 54, + 66, + 261, + r5 + 53, + 69, + 262, + r5 + 65, + 70, + 263, + r5 + 52, + 72, + r5 + 62, + r5 + 51, + 25, + 265, + r5 + 42, + 46, + r5 + 31, + r5 + 32, + 26, + r5 + 88, + 267, + 28, + r5 + 87, + 268, + 34, + 269, + 544, + 46, + r5 + 93, + r5 + 94, + 8, + 397, + r5 + 9, + 8, + 407, + r5 + 9, + 3, + 346, + 273, + 4, + r5 + 3, + 274, + 5, + 284, + 275, + 8, + 276, + r5 + 115, + 15, + r5 + 5, + 277, + 16, + 278, + 281, + 18, + 279, + 281, + 19, + 280, + 281, + 22, + r5 + 14, + 281, + 35, + 282, + r5 + 42, + 36, + r5 + 102, + 283, + 46, + r5 + 106, + r5 + 107, + 6, + 405, + 285, + 7, + 395, + 286, + 8, + 295, + 287, + 14, + 501, + 288, + 26, + 289, + 502, + 37, + 290, + r5 + 86, + 38, + r5 + 86, + 291, + 39, + 292, + 307, + 40, + 293, + r5 + 57, + 41, + r5 + 57, + 294, + 42, + 335, + 500, + 9, + 296, + 300, + 10, + 297, + 300, + 11, + 298, + 300, + 12, + 299, + 300, + 13, + 394, + 300, + 14, + 339, + 301, + 15, + r5 + 5, + 302, + 20, + 337, + 303, + 26, + 304, + 341, + 37, + 305, + r5 + 86, + 38, + r5 + 86, + 306, + 39, + 309, + 307, + 48, + r5 + 58, + 308, + 50, + r5 + 74, + r5 + 85, + 40, + 310, + r5 + 57, + 41, + r5 + 57, + 311, + 42, + 335, + 312, + 48, + 324, + 313, + 49, + r5 + 45, + 314, + 51, + 315, + 526, + 60, + 318, + 316, + 62, + r5 + 55, + 317, + 63, + 319, + r5 + 46, + 62, + r5 + 55, + 319, + 64, + 320, + r5 + 54, + 66, + 321, + r5 + 53, + 69, + 322, + r5 + 65, + 70, + 323, + r5 + 52, + 72, + r5 + 61, + r5 + 51, + 49, + r5 + 45, + 325, + 51, + 326, + 526, + 60, + 329, + 327, + 62, + r5 + 55, + 328, + 63, + 330, + r5 + 46, + 62, + r5 + 55, + 330, + 64, + 331, + r5 + 54, + 66, + 332, + r5 + 53, + 68, + r5 + 47, + 333, + 70, + 334, + r5 + 52, + 72, + r5 + 49, + r5 + 51, + 48, + r5 + 56, + 336, + 52, + r5 + 67, + r5 + 72, + 25, + 338, + r5 + 42, + 46, + r5 + 27, + r5 + 28, + 15, + r5 + 5, + 340, + 26, + r5 + 88, + 341, + 28, + r5 + 87, + 342, + 34, + 345, + 343, + 35, + 344, + 545, + 36, + r5 + 102, + r5 + 115, + 46, + r5 + 91, + r5 + 92, + 4, + r5 + 2, + 347, + 5, + 357, + 348, + 8, + 349, + r5 + 115, + 15, + r5 + 5, + 350, + 16, + 351, + 354, + 18, + 352, + 354, + 19, + 353, + 354, + 22, + r5 + 14, + 354, + 35, + 355, + r5 + 42, + 36, + r5 + 43, + 356, + 46, + r5 + 104, + r5 + 105, + 6, + 405, + 358, + 7, + 395, + 359, + 8, + 360, + 491, + 9, + 361, + 365, + 10, + 362, + 365, + 11, + 363, + 365, + 12, + 364, + 365, + 13, + 394, + 365, + 14, + 389, + 366, + 15, + r5 + 5, + 367, + 20, + 387, + 368, + 26, + 369, + 391, + 37, + 370, + r5 + 86, + 38, + r5 + 86, + 371, + 39, + 372, + 518, + 40, + 373, + r5 + 57, + 41, + r5 + 57, + 374, + 42, + 538, + 375, + 48, + r5 + 43, + 376, + 49, + r5 + 45, + 377, + 51, + 378, + 526, + 60, + 381, + 379, + 62, + r5 + 55, + 380, + 63, + 382, + r5 + 46, + 62, + r5 + 55, + 382, + 64, + 383, + r5 + 54, + 66, + 384, + r5 + 53, + 69, + 385, + r5 + 65, + 70, + 386, + r5 + 52, + 72, + r5 + 60, + r5 + 51, + 25, + 388, + r5 + 42, + 46, + r5 + 25, + r5 + 26, + 15, + r5 + 5, + 390, + 26, + r5 + 88, + 391, + 28, + r5 + 87, + 392, + 34, + 393, + 544, + 46, + r5 + 89, + r5 + 90, + 15, + r5 + 5, + 547, + 8, + 396, + r5 + 9, + 15, + r5 + 5, + 397, + 16, + 398, + 410, + 18, + 399, + 410, + 19, + 400, + 410, + 20, + 401, + r5 + 9, + 27, + 402, + r5 + 12, + 29, + r5 + 11, + 403, + 31, + r5 + 11, + 404, + 32, + r5 + 11, + 422, + 8, + 406, + r5 + 9, + 15, + r5 + 5, + 407, + 16, + 408, + 410, + 18, + 409, + 410, + 19, + 411, + 410, + 20, + r5 + 12, + r5 + 9, + 20, + 414, + 412, + 22, + 413, + r5 + 9, + 34, + r5 + 10, + r5 + 9, + 22, + 416, + 415, + 27, + 419, + r5 + 12, + 27, + 418, + 417, + 34, + r5 + 10, + r5 + 12, + 34, + r5 + 10, + 419, + 43, + r5 + 11, + 420, + 47, + r5 + 11, + 421, + 53, + r5 + 11, + 422, + 54, + r5 + 11, + 423, + 56, + r5 + 11, + r5 + 12, + 2, + r5 + 1, + 425, + 3, + 478, + 426, + 4, + r5 + 4, + 427, + 5, + 438, + 428, + 8, + 429, + r5 + 115, + 16, + 430, + 433, + 18, + 431, + 433, + 19, + 432, + 433, + 22, + r5 + 14, + 433, + 35, + 434, + r5 + 42, + 36, + r5 + 44, + 435, + 46, + r5 + 112, + 436, + 57, + 437, + r5 + 114, + 58, + r5 + 113, + r5 + 114, + 6, + r5 + 6, + 439, + 7, + r5 + 6, + 440, + 8, + 450, + 441, + 14, + 501, + 442, + 26, + 443, + 502, + 37, + 444, + r5 + 86, + 38, + r5 + 86, + 445, + 39, + 446, + 465, + 40, + 447, + r5 + 57, + 41, + r5 + 57, + 448, + 42, + 471, + 449, + 48, + r5 + 44, + 500, + 9, + 451, + 455, + 10, + 452, + 455, + 11, + 453, + 455, + 12, + 454, + 455, + 13, + 547, + 455, + 14, + 473, + 456, + 15, + 460, + 457, + 20, + 458, + 461, + 25, + 459, + r5 + 42, + 46, + r5 + 37, + r5 + 38, + 20, + 540, + 461, + 26, + 462, + 474, + 37, + 463, + r5 + 86, + 38, + r5 + 86, + 464, + 39, + 467, + 465, + 48, + r5 + 58, + 466, + 50, + r5 + 75, + r5 + 85, + 40, + 468, + r5 + 57, + 41, + r5 + 57, + 469, + 42, + 471, + 470, + 48, + r5 + 44, + 524, + 48, + r5 + 44, + 472, + 52, + r5 + 68, + r5 + 72, + 26, + r5 + 88, + 474, + 28, + r5 + 87, + 475, + 34, + r5 + 100, + 476, + 35, + 477, + 545, + 36, + r5 + 44, + r5 + 115, + 4, + r5 + 2, + 479, + 5, + 488, + 480, + 8, + 481, + r5 + 115, + 16, + 482, + 485, + 18, + 483, + 485, + 19, + 484, + 485, + 22, + r5 + 14, + 485, + 35, + 486, + r5 + 42, + 36, + r5 + 43, + 487, + 46, + r5 + 108, + r5 + 109, + 6, + r5 + 6, + 489, + 7, + r5 + 6, + 490, + 8, + 503, + 491, + 14, + 501, + 492, + 26, + 493, + 502, + 37, + 494, + r5 + 86, + 38, + r5 + 86, + 495, + 39, + 496, + 518, + 40, + 497, + r5 + 57, + 41, + r5 + 57, + 498, + 42, + 538, + 499, + 48, + r5 + 43, + 500, + 49, + r5 + 45, + 526, + 26, + r5 + 88, + 502, + 28, + r5 + 87, + r5 + 115, + 9, + 504, + 508, + 10, + 505, + 508, + 11, + 506, + 508, + 12, + 507, + 508, + 13, + 547, + 508, + 14, + 541, + 509, + 15, + 513, + 510, + 20, + 511, + 514, + 25, + 512, + r5 + 42, + 46, + r5 + 29, + r5 + 30, + 20, + 540, + 514, + 26, + 515, + 542, + 37, + 516, + r5 + 86, + 38, + r5 + 86, + 517, + 39, + 520, + 518, + 48, + r5 + 58, + 519, + 50, + r5 + 73, + r5 + 85, + 40, + 521, + r5 + 57, + 41, + r5 + 57, + 522, + 42, + 538, + 523, + 48, + r5 + 43, + 524, + 49, + r5 + 45, + 525, + 51, + 529, + 526, + 60, + r5 + 55, + 527, + 62, + r5 + 55, + 528, + 63, + r5 + 55, + r5 + 46, + 60, + 532, + 530, + 62, + r5 + 55, + 531, + 63, + 533, + r5 + 46, + 62, + r5 + 55, + 533, + 64, + 534, + r5 + 54, + 66, + 535, + r5 + 53, + 69, + 536, + r5 + 65, + 70, + 537, + r5 + 52, + 72, + r5 + 59, + r5 + 51, + 48, + r5 + 43, + 539, + 52, + r5 + 66, + r5 + 72, + 25, + r5 + 24, + r5 + 42, + 26, + r5 + 88, + 542, + 28, + r5 + 87, + 543, + 34, + r5 + 100, + 544, + 35, + 546, + 545, + 36, + r5 + 42, + r5 + 115, + 36, + r5 + 43, + r5 + 115, + 17, + 548, + r5 + 22, + 20, + 549, + r5 + 21, + 33, + 552, + 550, + 44, + r5 + 17, + 551, + 45, + r5 + 19, + r5 + 20, + 44, + r5 + 15, + 553, + 45, + r5 + 15, + r5 + 20 + ]); + var bdd5 = BinaryDecisionDiagram2.from(nodes5, root5, _data5.conditions, _data5.results); + var cache5 = new EndpointCache2({ + size: 50, + params: [ + "Accelerate", + "Bucket", + "DisableAccessPoints", + "DisableMultiRegionAccessPoints", + "DisableS3ExpressSessionAuth", + "Endpoint", + "ForcePathStyle", + "Region", + "UseArnRegion", + "UseDualStack", + "UseFIPS", + "UseGlobalEndpoint", + "UseObjectLambdaEndpoint", + "UseS3ExpressControlEndpoint" + ] + }); + var defaultEndpointResolver5 = /* @__PURE__ */ __name((endpointParams, context = {}) => { + return cache5.get(endpointParams, () => decideEndpoint2(bdd5, { + endpointParams, + logger: context.logger + })); + }, "defaultEndpointResolver"); + customEndpointFunctions2.aws = awsEndpointFunctions2; + var createEndpointRuleSetHttpAuthSchemeParametersProvider2 = /* @__PURE__ */ __name((defaultHttpAuthSchemeParametersProvider) => async (config3, context, input2) => { + if (!input2) { + throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`"); + } + const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config3, context, input2); + const instructionsFn = getSmithyContext2(context)?.commandInstance?.constructor?.getEndpointParameterInstructions; + if (!instructionsFn) { + throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`); + } + const endpointParameters = await resolveParams2(input2, { getEndpointParameterInstructions: instructionsFn }, config3); + return Object.assign(defaultParameters, endpointParameters); + }, "createEndpointRuleSetHttpAuthSchemeParametersProvider"); + var _defaultS3HttpAuthSchemeParametersProvider = /* @__PURE__ */ __name(async (config3, context, input2) => { + return { + operation: getSmithyContext2(context).operation, + region: await normalizeProvider3(config3.region)() || (() => { + throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); + })() + }; + }, "_defaultS3HttpAuthSchemeParametersProvider"); + var defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider2(_defaultS3HttpAuthSchemeParametersProvider); + function createAwsAuthSigv4HttpAuthOption5(authParameters) { + return { + schemeId: "aws.auth#sigv4", + signingProperties: { + name: "s3", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; + } + __name(createAwsAuthSigv4HttpAuthOption5, "createAwsAuthSigv4HttpAuthOption"); + function createAwsAuthSigv4aHttpAuthOption2(authParameters) { + return { + schemeId: "aws.auth#sigv4a", + signingProperties: { + name: "s3", + region: authParameters.region + }, + propertiesExtractor: /* @__PURE__ */ __name((config3, context) => ({ + signingProperties: { + config: config3, + context + } + }), "propertiesExtractor") + }; + } + __name(createAwsAuthSigv4aHttpAuthOption2, "createAwsAuthSigv4aHttpAuthOption"); + var createEndpointRuleSetHttpAuthSchemeProvider2 = /* @__PURE__ */ __name((defaultEndpointResolver6, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => { + const endpointRuleSetHttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const endpoint = defaultEndpointResolver6(authParameters); + const authSchemes = endpoint.properties?.authSchemes; + if (!authSchemes) { + return defaultHttpAuthSchemeResolver(authParameters); + } + const options = []; + for (const scheme of authSchemes) { + const { name: resolvedName, properties = {}, ...rest } = scheme; + const name2 = resolvedName.toLowerCase(); + if (resolvedName !== name2) { + console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name2}'`); + } + let schemeId; + if (name2 === "sigv4a") { + schemeId = "aws.auth#sigv4a"; + const sigv4Present = authSchemes.find((s3) => { + const name3 = s3.name.toLowerCase(); + return name3 !== "sigv4a" && name3.startsWith("sigv4"); + }); + if (SignatureV4MultiRegion3.sigv4aDependency() === "none" && sigv4Present) { + continue; + } + } else if (name2.startsWith("sigv4")) { + schemeId = "aws.auth#sigv4"; + } else { + throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name2}'`); + } + const createOption = createHttpAuthOptionFunctions[schemeId]; + if (!createOption) { + throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`); + } + const option = createOption(authParameters); + option.schemeId = schemeId; + option.signingProperties = { ...option.signingProperties || {}, ...rest, ...properties }; + options.push(option); + } + return options; + }, "endpointRuleSetHttpAuthSchemeProvider"); + return endpointRuleSetHttpAuthSchemeProvider; + }, "createEndpointRuleSetHttpAuthSchemeProvider"); + var _defaultS3HttpAuthSchemeProvider = /* @__PURE__ */ __name((authParameters) => { + const options = []; + switch (authParameters.operation) { + default: { + options.push(createAwsAuthSigv4HttpAuthOption5(authParameters)); + options.push(createAwsAuthSigv4aHttpAuthOption2(authParameters)); + } + } + return options; + }, "_defaultS3HttpAuthSchemeProvider"); + var defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider2(defaultEndpointResolver5, _defaultS3HttpAuthSchemeProvider, { + "aws.auth#sigv4": createAwsAuthSigv4HttpAuthOption5, + "aws.auth#sigv4a": createAwsAuthSigv4aHttpAuthOption2 + }); + var resolveHttpAuthSchemeConfig5 = /* @__PURE__ */ __name((config3) => { + const config_0 = resolveAwsSdkSigV4Config2(config3); + const config_1 = resolveAwsSdkSigV4AConfig2(config_0); + return Object.assign(config_1, { + authSchemePreference: normalizeProvider3(config3.authSchemePreference ?? []) + }); + }, "resolveHttpAuthSchemeConfig"); + var resolveClientEndpointParameters5 = /* @__PURE__ */ __name((options) => { + return Object.assign(options, { + useFipsEndpoint: options.useFipsEndpoint ?? false, + useDualstackEndpoint: options.useDualstackEndpoint ?? false, + forcePathStyle: options.forcePathStyle ?? false, + useAccelerateEndpoint: options.useAccelerateEndpoint ?? false, + useGlobalEndpoint: options.useGlobalEndpoint ?? false, + disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false, + defaultSigningName: "s3", + clientContextParams: options.clientContextParams ?? {} + }); + }, "resolveClientEndpointParameters"); + var commonParams5 = { + ForcePathStyle: { type: "clientContextParams", name: "forcePathStyle" }, + UseArnRegion: { type: "clientContextParams", name: "useArnRegion" }, + DisableMultiRegionAccessPoints: { type: "clientContextParams", name: "disableMultiregionAccessPoints" }, + Accelerate: { type: "clientContextParams", name: "useAccelerateEndpoint" }, + DisableS3ExpressSessionAuth: { type: "clientContextParams", name: "disableS3ExpressSessionAuth" }, + UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" }, + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" } + }; + var command5 = makeBuilder2(commonParams5, "AmazonS3", "S3Client", getEndpointPlugin2); + var _ep05 = { + Bucket: { type: "contextParams", name: "Bucket" }, + Key: { type: "contextParams", name: "Key" } + }; + var _ep12 = { + DisableS3ExpressSessionAuth: { type: "staticContextParams", value: true }, + Bucket: { type: "contextParams", name: "Bucket" }, + Key: { type: "contextParams", name: "Key" }, + CopySource: { type: "contextParams", name: "CopySource" } + }; + var _ep2 = { + UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true }, + DisableAccessPoints: { type: "staticContextParams", value: true }, + Bucket: { type: "contextParams", name: "Bucket" } + }; + var _ep3 = { + UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true }, + Bucket: { type: "contextParams", name: "Bucket" } + }; + var _ep4 = { + DisableS3ExpressSessionAuth: { type: "staticContextParams", value: true }, + Bucket: { type: "contextParams", name: "Bucket" } + }; + var _ep5 = { + Bucket: { type: "contextParams", name: "Bucket" } + }; + var _ep6 = {}; + var _ep7 = { + UseS3ExpressControlEndpoint: { type: "staticContextParams", value: true } + }; + var _ep8 = { + Bucket: { type: "contextParams", name: "Bucket" }, + Prefix: { type: "contextParams", name: "Prefix" } + }; + var _ep9 = { + UseObjectLambdaEndpoint: { type: "staticContextParams", value: true } + }; + var _mw05 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getThrow200ExceptionsPlugin2(config3) + ], "_mw0"); + var _mw1 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getThrow200ExceptionsPlugin2(config3), + getSsecPlugin2(config3) + ], "_mw1"); + var _mw2 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getThrow200ExceptionsPlugin2(config3), + getLocationConstraintPlugin2(config3) + ], "_mw2"); + var _mw3 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: true + }) + ], "_mw3"); + var _mw4 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [], "_mw4"); + var _mw5 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: true + }), + getThrow200ExceptionsPlugin2(config3) + ], "_mw5"); + var _mw6 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestChecksumRequired: false, + requestValidationModeMember: "ChecksumMode", + responseAlgorithms: ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1", "SHA512", "MD5", "XXHASH64", "XXHASH3", "XXHASH128"] + }) + ], "_mw6"); + var _mw7 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestChecksumRequired: false, + requestValidationModeMember: "ChecksumMode", + responseAlgorithms: ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1", "SHA512", "MD5", "XXHASH64", "XXHASH3", "XXHASH128"] + }), + getSsecPlugin2(config3), + getS3ExpiresMiddlewarePlugin2(config3) + ], "_mw7"); + var _mw8 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getThrow200ExceptionsPlugin2(config3), + getSsecPlugin2(config3), + getS3ExpiresMiddlewarePlugin2(config3) + ], "_mw8"); + var _mw9 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: false + }) + ], "_mw9"); + var _mw10 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: false + }), + getThrow200ExceptionsPlugin2(config3) + ], "_mw10"); + var _mw11 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: false + }), + getCheckContentLengthHeaderPlugin2(config3), + getThrow200ExceptionsPlugin2(config3), + getSsecPlugin2(config3) + ], "_mw11"); + var _mw12 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getSsecPlugin2(config3) + ], "_mw12"); + var _mw13 = /* @__PURE__ */ __name((Command2, cs, config3, o4) => [ + getFlexibleChecksumsPlugin2(config3, { + requestAlgorithmMember: { "httpHeader": "x-amz-sdk-checksum-algorithm", "name": "ChecksumAlgorithm" }, + requestChecksumRequired: false + }), + getThrow200ExceptionsPlugin2(config3), + getSsecPlugin2(config3) + ], "_mw13"); + var S3ServiceException = class _S3ServiceException extends ServiceException2 { + static { + __name(this, "S3ServiceException"); + } + static shapeId = "smithy.ts.sdk.synthetic.com.amazonaws.s3#S3ServiceException"; + constructor(options) { + super(options); + Object.setPrototypeOf(this, _S3ServiceException.prototype); + } + }; + var NoSuchUpload = class _NoSuchUpload extends S3ServiceException { + static { + __name(this, "NoSuchUpload"); + } + static shapeId = "com.amazonaws.s3#NoSuchUpload"; + name = "NoSuchUpload"; + $fault = "client"; + constructor(opts) { + super({ + name: "NoSuchUpload", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _NoSuchUpload.prototype); + } + }; + var AccessDenied = class _AccessDenied extends S3ServiceException { + static { + __name(this, "AccessDenied"); + } + static shapeId = "com.amazonaws.s3#AccessDenied"; + name = "AccessDenied"; + $fault = "client"; + constructor(opts) { + super({ + name: "AccessDenied", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AccessDenied.prototype); + } + }; + var ObjectNotInActiveTierError = class _ObjectNotInActiveTierError extends S3ServiceException { + static { + __name(this, "ObjectNotInActiveTierError"); + } + static shapeId = "com.amazonaws.s3#ObjectNotInActiveTierError"; + name = "ObjectNotInActiveTierError"; + $fault = "client"; + constructor(opts) { + super({ + name: "ObjectNotInActiveTierError", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ObjectNotInActiveTierError.prototype); + } + }; + var BucketAlreadyExists = class _BucketAlreadyExists extends S3ServiceException { + static { + __name(this, "BucketAlreadyExists"); + } + static shapeId = "com.amazonaws.s3#BucketAlreadyExists"; + name = "BucketAlreadyExists"; + $fault = "client"; + constructor(opts) { + super({ + name: "BucketAlreadyExists", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _BucketAlreadyExists.prototype); + } + }; + var BucketAlreadyOwnedByYou = class _BucketAlreadyOwnedByYou extends S3ServiceException { + static { + __name(this, "BucketAlreadyOwnedByYou"); + } + static shapeId = "com.amazonaws.s3#BucketAlreadyOwnedByYou"; + name = "BucketAlreadyOwnedByYou"; + $fault = "client"; + constructor(opts) { + super({ + name: "BucketAlreadyOwnedByYou", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _BucketAlreadyOwnedByYou.prototype); + } + }; + var NoSuchBucket = class _NoSuchBucket extends S3ServiceException { + static { + __name(this, "NoSuchBucket"); + } + static shapeId = "com.amazonaws.s3#NoSuchBucket"; + name = "NoSuchBucket"; + $fault = "client"; + constructor(opts) { + super({ + name: "NoSuchBucket", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _NoSuchBucket.prototype); + } + }; + var NoSuchKey = class _NoSuchKey extends S3ServiceException { + static { + __name(this, "NoSuchKey"); + } + static shapeId = "com.amazonaws.s3#NoSuchKey"; + name = "NoSuchKey"; + $fault = "client"; + constructor(opts) { + super({ + name: "NoSuchKey", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _NoSuchKey.prototype); + } + }; + var InvalidObjectState = class _InvalidObjectState extends S3ServiceException { + static { + __name(this, "InvalidObjectState"); + } + static shapeId = "com.amazonaws.s3#InvalidObjectState"; + name = "InvalidObjectState"; + $fault = "client"; + StorageClass; + AccessTier; + constructor(opts) { + super({ + name: "InvalidObjectState", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidObjectState.prototype); + this.StorageClass = opts.StorageClass; + this.AccessTier = opts.AccessTier; + } + }; + var NoSuchAnnotation = class _NoSuchAnnotation extends S3ServiceException { + static { + __name(this, "NoSuchAnnotation"); + } + static shapeId = "com.amazonaws.s3#NoSuchAnnotation"; + name = "NoSuchAnnotation"; + $fault = "client"; + constructor(opts) { + super({ + name: "NoSuchAnnotation", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _NoSuchAnnotation.prototype); + } + }; + var NotFound = class _NotFound extends S3ServiceException { + static { + __name(this, "NotFound"); + } + static shapeId = "com.amazonaws.s3#NotFound"; + name = "NotFound"; + $fault = "client"; + constructor(opts) { + super({ + name: "NotFound", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _NotFound.prototype); + } + }; + var InvalidPrefix = class _InvalidPrefix extends S3ServiceException { + static { + __name(this, "InvalidPrefix"); + } + static shapeId = "com.amazonaws.s3#InvalidPrefix"; + name = "InvalidPrefix"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidPrefix", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidPrefix.prototype); + } + }; + var EncryptionTypeMismatch = class _EncryptionTypeMismatch extends S3ServiceException { + static { + __name(this, "EncryptionTypeMismatch"); + } + static shapeId = "com.amazonaws.s3#EncryptionTypeMismatch"; + name = "EncryptionTypeMismatch"; + $fault = "client"; + constructor(opts) { + super({ + name: "EncryptionTypeMismatch", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _EncryptionTypeMismatch.prototype); + } + }; + var InvalidRequest = class _InvalidRequest extends S3ServiceException { + static { + __name(this, "InvalidRequest"); + } + static shapeId = "com.amazonaws.s3#InvalidRequest"; + name = "InvalidRequest"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidRequest", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidRequest.prototype); + } + }; + var InvalidWriteOffset = class _InvalidWriteOffset extends S3ServiceException { + static { + __name(this, "InvalidWriteOffset"); + } + static shapeId = "com.amazonaws.s3#InvalidWriteOffset"; + name = "InvalidWriteOffset"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidWriteOffset", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidWriteOffset.prototype); + } + }; + var TooManyParts = class _TooManyParts extends S3ServiceException { + static { + __name(this, "TooManyParts"); + } + static shapeId = "com.amazonaws.s3#TooManyParts"; + name = "TooManyParts"; + $fault = "client"; + constructor(opts) { + super({ + name: "TooManyParts", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _TooManyParts.prototype); + } + }; + var AnnotationLimitExceeded = class _AnnotationLimitExceeded extends S3ServiceException { + static { + __name(this, "AnnotationLimitExceeded"); + } + static shapeId = "com.amazonaws.s3#AnnotationLimitExceeded"; + name = "AnnotationLimitExceeded"; + $fault = "client"; + constructor(opts) { + super({ + name: "AnnotationLimitExceeded", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AnnotationLimitExceeded.prototype); + } + }; + var AnnotationNameTooLong = class _AnnotationNameTooLong extends S3ServiceException { + static { + __name(this, "AnnotationNameTooLong"); + } + static shapeId = "com.amazonaws.s3#AnnotationNameTooLong"; + name = "AnnotationNameTooLong"; + $fault = "client"; + constructor(opts) { + super({ + name: "AnnotationNameTooLong", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _AnnotationNameTooLong.prototype); + } + }; + var InvalidAnnotationName = class _InvalidAnnotationName extends S3ServiceException { + static { + __name(this, "InvalidAnnotationName"); + } + static shapeId = "com.amazonaws.s3#InvalidAnnotationName"; + name = "InvalidAnnotationName"; + $fault = "client"; + constructor(opts) { + super({ + name: "InvalidAnnotationName", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _InvalidAnnotationName.prototype); + } + }; + var UnsupportedMediaType = class _UnsupportedMediaType extends S3ServiceException { + static { + __name(this, "UnsupportedMediaType"); + } + static shapeId = "com.amazonaws.s3#UnsupportedMediaType"; + name = "UnsupportedMediaType"; + $fault = "client"; + constructor(opts) { + super({ + name: "UnsupportedMediaType", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _UnsupportedMediaType.prototype); + } + }; + var IdempotencyParameterMismatch = class _IdempotencyParameterMismatch extends S3ServiceException { + static { + __name(this, "IdempotencyParameterMismatch"); + } + static shapeId = "com.amazonaws.s3#IdempotencyParameterMismatch"; + name = "IdempotencyParameterMismatch"; + $fault = "client"; + constructor(opts) { + super({ + name: "IdempotencyParameterMismatch", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _IdempotencyParameterMismatch.prototype); + } + }; + var ObjectAlreadyInActiveTierError = class _ObjectAlreadyInActiveTierError extends S3ServiceException { + static { + __name(this, "ObjectAlreadyInActiveTierError"); + } + static shapeId = "com.amazonaws.s3#ObjectAlreadyInActiveTierError"; + name = "ObjectAlreadyInActiveTierError"; + $fault = "client"; + constructor(opts) { + super({ + name: "ObjectAlreadyInActiveTierError", + $fault: "client", + ...opts + }); + Object.setPrototypeOf(this, _ObjectAlreadyInActiveTierError.prototype); + } + }; + var _A2 = "Account"; + var _AAO = "AnalyticsAndOperator"; + var _AC = "AccelerateConfiguration"; + var _ACL = "AccessControlList"; + var _ACL_ = "ACL"; + var _ACLn = "AnalyticsConfigurationList"; + var _ACP = "AccessControlPolicy"; + var _ACT = "AccessControlTranslation"; + var _ACn = "AnalyticsConfiguration"; + var _ACnn = "AnnotationCount"; + var _AD = "AccessDenied"; + var _ADb = "AbortDate"; + var _ADn = "AnnotationDirective"; + var _AE = "AnnotationEntry"; + var _AED = "AnalyticsExportDestination"; + var _AF = "AnalyticsFilter"; + var _AH = "AllowedHeaders"; + var _AHl = "AllowedHeader"; + var _AI = "AccountId"; + var _AIMU = "AbortIncompleteMultipartUpload"; + var _AKI2 = "AccessKeyId"; + var _AL = "AnnotationList"; + var _ALE = "AnnotationLimitExceeded"; + var _AM = "AllowedMethods"; + var _AMU = "AbortMultipartUpload"; + var _AMUO = "AbortMultipartUploadOutput"; + var _AMUR = "AbortMultipartUploadRequest"; + var _AMl = "AllowedMethod"; + var _AN = "AnnotationName"; + var _ANTL = "AnnotationNameTooLong"; + var _AO = "AllowedOrigins"; + var _AOl = "AllowedOrigin"; + var _AP = "AnnotationPayload"; + var _APA = "AccessPointAlias"; + var _APAc = "AccessPointArn"; + var _APn = "AnnotationPrefix"; + var _AQRD = "AllowQuotedRecordDelimiter"; + var _AR2 = "AcceptRanges"; + var _ARI2 = "AbortRuleId"; + var _AS = "AbacStatus"; + var _ASBD = "AnalyticsS3BucketDestination"; + var _ASSEBD = "ApplyServerSideEncryptionByDefault"; + var _ASr = "ArchiveStatus"; + var _AT3 = "AccessTier"; + var _ATC = "AnnotationTableConfiguration"; + var _ATCR = "AnnotationTableConfigurationResult"; + var _ATCU = "AnnotationTableConfigurationUpdates"; + var _An = "And"; + var _Ann = "Annotations"; + var _B = "Bucket"; + var _BA = "BucketArn"; + var _BAE = "BucketAlreadyExists"; + var _BAI = "BucketAccountId"; + var _BAOBY = "BucketAlreadyOwnedByYou"; + var _BET = "BlockedEncryptionTypes"; + var _BGR = "BypassGovernanceRetention"; + var _BI = "BucketInfo"; + var _BKE = "BucketKeyEnabled"; + var _BLC = "BucketLifecycleConfiguration"; + var _BLN = "BucketLocationName"; + var _BLS = "BucketLoggingStatus"; + var _BLT = "BucketLocationType"; + var _BN = "BucketNamespace"; + var _BNu = "BucketName"; + var _BP = "BytesProcessed"; + var _BPA = "BlockPublicAcls"; + var _BPP = "BlockPublicPolicy"; + var _BR = "BucketRegion"; + var _BRy = "BytesReturned"; + var _BS = "BytesScanned"; + var _Bo = "Body"; + var _Bu = "Buckets"; + var _C2 = "Checksum"; + var _CA2 = "ChecksumAlgorithm"; + var _CACL = "CannedACL"; + var _CB = "CreateBucket"; + var _CBC = "CreateBucketConfiguration"; + var _CBMC = "CreateBucketMetadataConfiguration"; + var _CBMCR = "CreateBucketMetadataConfigurationRequest"; + var _CBMTC = "CreateBucketMetadataTableConfiguration"; + var _CBMTCR = "CreateBucketMetadataTableConfigurationRequest"; + var _CBO = "CreateBucketOutput"; + var _CBR = "CreateBucketRequest"; + var _CC = "CacheControl"; + var _CCRC = "ChecksumCRC32"; + var _CCRCC = "ChecksumCRC32C"; + var _CCRCNVME = "ChecksumCRC64NVME"; + var _CC_ = "Cache-Control"; + var _CD = "CreationDate"; + var _CD_ = "Content-Disposition"; + var _CDo = "ContentDisposition"; + var _CE = "ContinuationEvent"; + var _CE_ = "Content-Encoding"; + var _CEo = "ContentEncoding"; + var _CF = "CloudFunction"; + var _CFC = "CloudFunctionConfiguration"; + var _CL = "ContentLanguage"; + var _CL_ = "Content-Language"; + var _CL__ = "Content-Length"; + var _CLo = "ContentLength"; + var _CM = "Content-MD5"; + var _CMD = "ChecksumMD5"; + var _CMDo = "ContentMD5"; + var _CMU = "CompletedMultipartUpload"; + var _CMUO = "CompleteMultipartUploadOutput"; + var _CMUOr = "CreateMultipartUploadOutput"; + var _CMUR = "CompleteMultipartUploadResult"; + var _CMURo = "CompleteMultipartUploadRequest"; + var _CMURr = "CreateMultipartUploadRequest"; + var _CMUo = "CompleteMultipartUpload"; + var _CMUr = "CreateMultipartUpload"; + var _CMh = "ChecksumMode"; + var _CO = "CopyObject"; + var _COO = "CopyObjectOutput"; + var _COR = "CopyObjectResult"; + var _CORSC = "CORSConfiguration"; + var _CORSR = "CORSRules"; + var _CORSRu = "CORSRule"; + var _CORo = "CopyObjectRequest"; + var _CP = "CommonPrefix"; + var _CPL = "CommonPrefixList"; + var _CPLo = "CompletedPartList"; + var _CPR = "CopyPartResult"; + var _CPo = "CompletedPart"; + var _CPom = "CommonPrefixes"; + var _CR = "ContentRange"; + var _CRSBA = "ConfirmRemoveSelfBucketAccess"; + var _CR_ = "Content-Range"; + var _CS2 = "ConfigurationState"; + var _CSHA = "ChecksumSHA1"; + var _CSHAh = "ChecksumSHA256"; + var _CSHAhe = "ChecksumSHA512"; + var _CSIM = "CopySourceIfMatch"; + var _CSIMS = "CopySourceIfModifiedSince"; + var _CSINM = "CopySourceIfNoneMatch"; + var _CSIUS = "CopySourceIfUnmodifiedSince"; + var _CSO = "CreateSessionOutput"; + var _CSR = "CreateSessionResult"; + var _CSRo = "CopySourceRange"; + var _CSRr = "CreateSessionRequest"; + var _CSSSECA = "CopySourceSSECustomerAlgorithm"; + var _CSSSECK = "CopySourceSSECustomerKey"; + var _CSSSECKMD = "CopySourceSSECustomerKeyMD5"; + var _CSV = "CSV"; + var _CSVI = "CopySourceVersionId"; + var _CSVIn = "CSVInput"; + var _CSVO = "CSVOutput"; + var _CSo = "CopySource"; + var _CSr = "CreateSession"; + var _CT2 = "ChecksumType"; + var _CT_ = "Content-Type"; + var _CTl = "ClientToken"; + var _CTo = "ContentType"; + var _CTom = "CompressionType"; + var _CTon = "ContinuationToken"; + var _CXXHASH = "ChecksumXXHASH64"; + var _CXXHASHh = "ChecksumXXHASH3"; + var _CXXHASHhe = "ChecksumXXHASH128"; + var _Co = "Condition"; + var _Cod = "Code"; + var _Com = "Comments"; + var _Con = "Contents"; + var _Cont = "Cont"; + var _Cr = "Credentials"; + var _D = "Days"; + var _DAI = "DaysAfterInitiation"; + var _DB = "DeleteBucket"; + var _DBAC = "DeleteBucketAnalyticsConfiguration"; + var _DBACR = "DeleteBucketAnalyticsConfigurationRequest"; + var _DBC = "DeleteBucketCors"; + var _DBCR = "DeleteBucketCorsRequest"; + var _DBE = "DeleteBucketEncryption"; + var _DBER = "DeleteBucketEncryptionRequest"; + var _DBIC = "DeleteBucketInventoryConfiguration"; + var _DBICR = "DeleteBucketInventoryConfigurationRequest"; + var _DBITC = "DeleteBucketIntelligentTieringConfiguration"; + var _DBITCR = "DeleteBucketIntelligentTieringConfigurationRequest"; + var _DBL = "DeleteBucketLifecycle"; + var _DBLR = "DeleteBucketLifecycleRequest"; + var _DBMC = "DeleteBucketMetadataConfiguration"; + var _DBMCR = "DeleteBucketMetadataConfigurationRequest"; + var _DBMCRe = "DeleteBucketMetricsConfigurationRequest"; + var _DBMCe = "DeleteBucketMetricsConfiguration"; + var _DBMTC = "DeleteBucketMetadataTableConfiguration"; + var _DBMTCR = "DeleteBucketMetadataTableConfigurationRequest"; + var _DBOC = "DeleteBucketOwnershipControls"; + var _DBOCR = "DeleteBucketOwnershipControlsRequest"; + var _DBP = "DeleteBucketPolicy"; + var _DBPR = "DeleteBucketPolicyRequest"; + var _DBR = "DeleteBucketRequest"; + var _DBRR = "DeleteBucketReplicationRequest"; + var _DBRe = "DeleteBucketReplication"; + var _DBT = "DeleteBucketTagging"; + var _DBTR = "DeleteBucketTaggingRequest"; + var _DBW = "DeleteBucketWebsite"; + var _DBWR = "DeleteBucketWebsiteRequest"; + var _DE = "DataExport"; + var _DEH = "DefaultEventHold"; + var _DIM = "DestinationIfMatch"; + var _DIMS = "DestinationIfModifiedSince"; + var _DINM = "DestinationIfNoneMatch"; + var _DIUS = "DestinationIfUnmodifiedSince"; + var _DM = "DeleteMarker"; + var _DME = "DeleteMarkerEntry"; + var _DMR = "DeleteMarkerReplication"; + var _DMVI = "DeleteMarkerVersionId"; + var _DMe = "DeleteMarkers"; + var _DN = "DisplayName"; + var _DO = "DeletedObject"; + var _DOA = "DeleteObjectAnnotation"; + var _DOAO = "DeleteObjectAnnotationOutput"; + var _DOAR = "DeleteObjectAnnotationRequest"; + var _DOO = "DeleteObjectOutput"; + var _DOOe = "DeleteObjectsOutput"; + var _DOR = "DeleteObjectRequest"; + var _DORe = "DeleteObjectsRequest"; + var _DOT = "DeleteObjectTagging"; + var _DOTO = "DeleteObjectTaggingOutput"; + var _DOTR = "DeleteObjectTaggingRequest"; + var _DOe = "DeletedObjects"; + var _DOel = "DeleteObject"; + var _DOele = "DeleteObjects"; + var _DPAB = "DeletePublicAccessBlock"; + var _DPABR = "DeletePublicAccessBlockRequest"; + var _DR = "DataRedundancy"; + var _DRe = "DefaultRetention"; + var _DRel = "DeleteResult"; + var _DRes = "DestinationResult"; + var _Da = "Date"; + var _De = "Delete"; + var _Del = "Deleted"; + var _Deli = "Delimiter"; + var _Des = "Destination"; + var _Desc = "Description"; + var _Det = "Details"; + var _E3 = "Error"; + var _EA = "EmailAddress"; + var _EBC = "EventBridgeConfiguration"; + var _EBO = "ExpectedBucketOwner"; + var _EC = "EncryptionConfiguration"; + var _ECr = "ErrorCode"; + var _ED = "ErrorDetails"; + var _EDr = "ErrorDocument"; + var _EE = "EndEvent"; + var _EH = "ExposeHeaders"; + var _EHD = "EventHoldDuration"; + var _EHv = "EventHold"; + var _EHx = "ExposeHeader"; + var _EM = "ErrorMessage"; + var _EODM = "ExpiredObjectDeleteMarker"; + var _EOR = "ExistingObjectReplication"; + var _ES = "ExpiresString"; + var _ESBO = "ExpectedSourceBucketOwner"; + var _ET = "ETag"; + var _ETL = "EncryptionTypeList"; + var _ETM = "EncryptionTypeMismatch"; + var _ETn = "EncryptionType"; + var _ETnc = "EncodingType"; + var _ETv = "EventThreshold"; + var _ETx = "ExpressionType"; + var _En = "Encryption"; + var _Ena = "Enabled"; + var _End = "End"; + var _Er = "Errors"; + var _Ev = "Events"; + var _Eve = "Event"; + var _Ex = "Expiration"; + var _Exp = "Expires"; + var _Expr = "Expression"; + var _F = "Filter"; + var _FD = "FieldDelimiter"; + var _FHI = "FileHeaderInfo"; + var _FO = "FetchOwner"; + var _FR = "FilterRule"; + var _FRL = "FilterRuleList"; + var _FRi = "FilterRules"; + var _Fi = "Field"; + var _Fo = "Format"; + var _Fr = "Frequency"; + var _G = "Grants"; + var _GBA = "GetBucketAbac"; + var _GBAC = "GetBucketAccelerateConfiguration"; + var _GBACO = "GetBucketAccelerateConfigurationOutput"; + var _GBACOe = "GetBucketAnalyticsConfigurationOutput"; + var _GBACR = "GetBucketAccelerateConfigurationRequest"; + var _GBACRe = "GetBucketAnalyticsConfigurationRequest"; + var _GBACe = "GetBucketAnalyticsConfiguration"; + var _GBAO = "GetBucketAbacOutput"; + var _GBAOe = "GetBucketAclOutput"; + var _GBAR = "GetBucketAbacRequest"; + var _GBARe = "GetBucketAclRequest"; + var _GBAe = "GetBucketAcl"; + var _GBC = "GetBucketCors"; + var _GBCO = "GetBucketCorsOutput"; + var _GBCR = "GetBucketCorsRequest"; + var _GBE = "GetBucketEncryption"; + var _GBEO = "GetBucketEncryptionOutput"; + var _GBER = "GetBucketEncryptionRequest"; + var _GBIC = "GetBucketInventoryConfiguration"; + var _GBICO = "GetBucketInventoryConfigurationOutput"; + var _GBICR = "GetBucketInventoryConfigurationRequest"; + var _GBITC = "GetBucketIntelligentTieringConfiguration"; + var _GBITCO = "GetBucketIntelligentTieringConfigurationOutput"; + var _GBITCR = "GetBucketIntelligentTieringConfigurationRequest"; + var _GBL = "GetBucketLocation"; + var _GBLC = "GetBucketLifecycleConfiguration"; + var _GBLCO = "GetBucketLifecycleConfigurationOutput"; + var _GBLCR = "GetBucketLifecycleConfigurationRequest"; + var _GBLO = "GetBucketLocationOutput"; + var _GBLOe = "GetBucketLoggingOutput"; + var _GBLR = "GetBucketLocationRequest"; + var _GBLRe = "GetBucketLoggingRequest"; + var _GBLe = "GetBucketLogging"; + var _GBMC = "GetBucketMetadataConfiguration"; + var _GBMCO = "GetBucketMetadataConfigurationOutput"; + var _GBMCOe = "GetBucketMetricsConfigurationOutput"; + var _GBMCR = "GetBucketMetadataConfigurationResult"; + var _GBMCRe = "GetBucketMetadataConfigurationRequest"; + var _GBMCRet = "GetBucketMetricsConfigurationRequest"; + var _GBMCe = "GetBucketMetricsConfiguration"; + var _GBMTC = "GetBucketMetadataTableConfiguration"; + var _GBMTCO = "GetBucketMetadataTableConfigurationOutput"; + var _GBMTCR = "GetBucketMetadataTableConfigurationResult"; + var _GBMTCRe = "GetBucketMetadataTableConfigurationRequest"; + var _GBNC = "GetBucketNotificationConfiguration"; + var _GBNCR = "GetBucketNotificationConfigurationRequest"; + var _GBOC = "GetBucketOwnershipControls"; + var _GBOCO = "GetBucketOwnershipControlsOutput"; + var _GBOCR = "GetBucketOwnershipControlsRequest"; + var _GBP = "GetBucketPolicy"; + var _GBPO = "GetBucketPolicyOutput"; + var _GBPR = "GetBucketPolicyRequest"; + var _GBPS = "GetBucketPolicyStatus"; + var _GBPSO = "GetBucketPolicyStatusOutput"; + var _GBPSR = "GetBucketPolicyStatusRequest"; + var _GBR = "GetBucketReplication"; + var _GBRO = "GetBucketReplicationOutput"; + var _GBRP = "GetBucketRequestPayment"; + var _GBRPO = "GetBucketRequestPaymentOutput"; + var _GBRPR = "GetBucketRequestPaymentRequest"; + var _GBRR = "GetBucketReplicationRequest"; + var _GBT = "GetBucketTagging"; + var _GBTO = "GetBucketTaggingOutput"; + var _GBTR = "GetBucketTaggingRequest"; + var _GBV = "GetBucketVersioning"; + var _GBVO = "GetBucketVersioningOutput"; + var _GBVR = "GetBucketVersioningRequest"; + var _GBW = "GetBucketWebsite"; + var _GBWO = "GetBucketWebsiteOutput"; + var _GBWR = "GetBucketWebsiteRequest"; + var _GFC = "GrantFullControl"; + var _GJP = "GlacierJobParameters"; + var _GO = "GetObject"; + var _GOA = "GetObjectAcl"; + var _GOAO = "GetObjectAclOutput"; + var _GOAOe = "GetObjectAnnotationOutput"; + var _GOAOet = "GetObjectAttributesOutput"; + var _GOAP = "GetObjectAttributesParts"; + var _GOAR = "GetObjectAclRequest"; + var _GOARe = "GetObjectAnnotationRequest"; + var _GOARet = "GetObjectAttributesResponse"; + var _GOARetb = "GetObjectAttributesRequest"; + var _GOAe = "GetObjectAnnotation"; + var _GOAet = "GetObjectAttributes"; + var _GOLC = "GetObjectLockConfiguration"; + var _GOLCO = "GetObjectLockConfigurationOutput"; + var _GOLCR = "GetObjectLockConfigurationRequest"; + var _GOLH = "GetObjectLegalHold"; + var _GOLHO = "GetObjectLegalHoldOutput"; + var _GOLHR = "GetObjectLegalHoldRequest"; + var _GOO = "GetObjectOutput"; + var _GOR = "GetObjectRequest"; + var _GORO = "GetObjectRetentionOutput"; + var _GORR = "GetObjectRetentionRequest"; + var _GORe = "GetObjectRetention"; + var _GOT = "GetObjectTagging"; + var _GOTO = "GetObjectTaggingOutput"; + var _GOTOe = "GetObjectTorrentOutput"; + var _GOTR = "GetObjectTaggingRequest"; + var _GOTRe = "GetObjectTorrentRequest"; + var _GOTe = "GetObjectTorrent"; + var _GPAB = "GetPublicAccessBlock"; + var _GPABO = "GetPublicAccessBlockOutput"; + var _GPABR = "GetPublicAccessBlockRequest"; + var _GR = "GrantRead"; + var _GRACP = "GrantReadACP"; + var _GW = "GrantWrite"; + var _GWACP = "GrantWriteACP"; + var _Gr = "Grant"; + var _Gra = "Grantee"; + var _HB = "HeadBucket"; + var _HBO = "HeadBucketOutput"; + var _HBR = "HeadBucketRequest"; + var _HECRE = "HttpErrorCodeReturnedEquals"; + var _HN = "HostName"; + var _HO = "HeadObject"; + var _HOO = "HeadObjectOutput"; + var _HOR = "HeadObjectRequest"; + var _HRC = "HttpRedirectCode"; + var _I = "Id"; + var _IAN = "InvalidAnnotationName"; + var _IC = "InventoryConfiguration"; + var _ICL = "InventoryConfigurationList"; + var _ID = "ID"; + var _IDn = "IndexDocument"; + var _IDnv = "InventoryDestination"; + var _IE = "IsEnabled"; + var _IEn = "InventoryEncryption"; + var _IF = "InventoryFilter"; + var _IL = "IsLatest"; + var _IM = "IfMatch"; + var _IMIT = "IfMatchInitiatedTime"; + var _IMLMT = "IfMatchLastModifiedTime"; + var _IMS = "IfMatchSize"; + var _IMS_ = "If-Modified-Since"; + var _IMSf = "IfModifiedSince"; + var _IMUR = "InitiateMultipartUploadResult"; + var _IM_ = "If-Match"; + var _INM = "IfNoneMatch"; + var _INM_ = "If-None-Match"; + var _IOF = "InventoryOptionalFields"; + var _IOS = "InvalidObjectState"; + var _IOV = "IncludedObjectVersions"; + var _IP = "InvalidPrefix"; + var _IPA = "IgnorePublicAcls"; + var _IPM = "IdempotencyParameterMismatch"; + var _IPs = "IsPublic"; + var _IR = "InvalidRequest"; + var _IRIP = "IsRestoreInProgress"; + var _IS = "InputSerialization"; + var _ISBD = "InventoryS3BucketDestination"; + var _ISn = "InventorySchedule"; + var _IT2 = "IsTruncated"; + var _ITAO = "IntelligentTieringAndOperator"; + var _ITC = "IntelligentTieringConfiguration"; + var _ITCL = "IntelligentTieringConfigurationList"; + var _ITCR = "InventoryTableConfigurationResult"; + var _ITCU = "InventoryTableConfigurationUpdates"; + var _ITCn = "InventoryTableConfiguration"; + var _ITF = "IntelligentTieringFilter"; + var _IUS = "IfUnmodifiedSince"; + var _IUS_ = "If-Unmodified-Since"; + var _IWO = "InvalidWriteOffset"; + var _In = "Initiator"; + var _Ini = "Initiated"; + var _JSON = "JSON"; + var _JSONI = "JSONInput"; + var _JSONO = "JSONOutput"; + var _JTC = "JournalTableConfiguration"; + var _JTCR = "JournalTableConfigurationResult"; + var _JTCU = "JournalTableConfigurationUpdates"; + var _K2 = "Key"; + var _KC = "KeyCount"; + var _KI = "KeyId"; + var _KKA = "KmsKeyArn"; + var _KM = "KeyMarker"; + var _KMSC = "KMSContext"; + var _KMSKA = "KMSKeyArn"; + var _KMSKI = "KMSKeyId"; + var _KMSMKID = "KMSMasterKeyID"; + var _KPE = "KeyPrefixEquals"; + var _L = "Location"; + var _LAMBR = "ListAllMyBucketsResult"; + var _LAMDBR = "ListAllMyDirectoryBucketsResult"; + var _LB = "ListBuckets"; + var _LBAC = "ListBucketAnalyticsConfigurations"; + var _LBACO = "ListBucketAnalyticsConfigurationsOutput"; + var _LBACR = "ListBucketAnalyticsConfigurationResult"; + var _LBACRi = "ListBucketAnalyticsConfigurationsRequest"; + var _LBIC = "ListBucketInventoryConfigurations"; + var _LBICO = "ListBucketInventoryConfigurationsOutput"; + var _LBICR = "ListBucketInventoryConfigurationsRequest"; + var _LBITC = "ListBucketIntelligentTieringConfigurations"; + var _LBITCO = "ListBucketIntelligentTieringConfigurationsOutput"; + var _LBITCR = "ListBucketIntelligentTieringConfigurationsRequest"; + var _LBMC = "ListBucketMetricsConfigurations"; + var _LBMCO = "ListBucketMetricsConfigurationsOutput"; + var _LBMCR = "ListBucketMetricsConfigurationsRequest"; + var _LBO = "ListBucketsOutput"; + var _LBR = "ListBucketsRequest"; + var _LBRi = "ListBucketResult"; + var _LC = "LocationConstraint"; + var _LCi = "LifecycleConfiguration"; + var _LDB = "ListDirectoryBuckets"; + var _LDBO = "ListDirectoryBucketsOutput"; + var _LDBR = "ListDirectoryBucketsRequest"; + var _LE = "LoggingEnabled"; + var _LEi = "LifecycleExpiration"; + var _LFA = "LambdaFunctionArn"; + var _LFC = "LambdaFunctionConfiguration"; + var _LFCL = "LambdaFunctionConfigurationList"; + var _LFCa = "LambdaFunctionConfigurations"; + var _LH = "LegalHold"; + var _LI = "LocationInfo"; + var _LICR = "ListInventoryConfigurationsResult"; + var _LM = "LastModified"; + var _LMCR = "ListMetricsConfigurationsResult"; + var _LMT = "LastModifiedTime"; + var _LMU = "ListMultipartUploads"; + var _LMUO = "ListMultipartUploadsOutput"; + var _LMUR = "ListMultipartUploadsResult"; + var _LMURi = "ListMultipartUploadsRequest"; + var _LM_ = "Last-Modified"; + var _LO = "ListObjects"; + var _LOA = "ListObjectAnnotations"; + var _LOAO = "ListObjectAnnotationsOutput"; + var _LOAR = "ListObjectAnnotationsRequest"; + var _LOO = "ListObjectsOutput"; + var _LOR = "ListObjectsRequest"; + var _LOV = "ListObjectsV2"; + var _LOVO = "ListObjectsV2Output"; + var _LOVOi = "ListObjectVersionsOutput"; + var _LOVR = "ListObjectsV2Request"; + var _LOVRi = "ListObjectVersionsRequest"; + var _LOVi = "ListObjectVersions"; + var _LP = "ListParts"; + var _LPO = "ListPartsOutput"; + var _LPR = "ListPartsResult"; + var _LPRi = "ListPartsRequest"; + var _LR = "LifecycleRule"; + var _LRAO = "LifecycleRuleAndOperator"; + var _LRF = "LifecycleRuleFilter"; + var _LRi = "LifecycleRules"; + var _LVR = "ListVersionsResult"; + var _M = "Metadata"; + var _MAO = "MetricsAndOperator"; + var _MAR = "MaxAnnotationResults"; + var _MAS = "MaxAgeSeconds"; + var _MB = "MaxBuckets"; + var _MC = "MetadataConfiguration"; + var _MCL = "MetricsConfigurationList"; + var _MCR = "MetadataConfigurationResult"; + var _MCe = "MetricsConfiguration"; + var _MD = "MetadataDirective"; + var _MDB = "MaxDirectoryBuckets"; + var _MDf = "MfaDelete"; + var _ME = "MetadataEntry"; + var _MF = "MetricsFilter"; + var _MFA = "MFA"; + var _MFAD = "MFADelete"; + var _MK = "MaxKeys"; + var _MM = "MissingMeta"; + var _MOS = "MpuObjectSize"; + var _MP = "MaxParts"; + var _MTC = "MetadataTableConfiguration"; + var _MTCR = "MetadataTableConfigurationResult"; + var _MTEC = "MetadataTableEncryptionConfiguration"; + var _MU = "MultipartUpload"; + var _MUL = "MultipartUploadList"; + var _MUa = "MaxUploads"; + var _Ma = "Marker"; + var _Me = "Metrics"; + var _Mes = "Message"; + var _Mi = "Minutes"; + var _Mo = "Mode"; + var _N = "Name"; + var _NC = "NotificationConfiguration"; + var _NCF = "NotificationConfigurationFilter"; + var _NCT = "NextContinuationToken"; + var _ND = "NoncurrentDays"; + var _NEKKAS = "NonEmptyKmsKeyArnString"; + var _NF = "NotFound"; + var _NKM = "NextKeyMarker"; + var _NM = "NextMarker"; + var _NNV = "NewerNoncurrentVersions"; + var _NPNM = "NextPartNumberMarker"; + var _NSA = "NoSuchAnnotation"; + var _NSB = "NoSuchBucket"; + var _NSK = "NoSuchKey"; + var _NSU = "NoSuchUpload"; + var _NUIM = "NextUploadIdMarker"; + var _NVE = "NoncurrentVersionExpiration"; + var _NVIM = "NextVersionIdMarker"; + var _NVT = "NoncurrentVersionTransitions"; + var _NVTL = "NoncurrentVersionTransitionList"; + var _NVTo = "NoncurrentVersionTransition"; + var _O = "Owner"; + var _OA = "ObjectAttributes"; + var _OAIATE = "ObjectAlreadyInActiveTierError"; + var _OC = "OwnershipControls"; + var _OCR = "OwnershipControlsRule"; + var _OCRw = "OwnershipControlsRules"; + var _OE = "ObjectEncryption"; + var _OF = "OptionalFields"; + var _OI = "ObjectIdentifier"; + var _OIL = "ObjectIdentifierList"; + var _OIM = "ObjectIfMatch"; + var _OL = "OutputLocation"; + var _OLC = "ObjectLockConfiguration"; + var _OLE = "ObjectLockEnabled"; + var _OLEFB = "ObjectLockEnabledForBucket"; + var _OLEH = "ObjectLockEventHold"; + var _OLEHDD = "ObjectLockEventHoldDurationDays"; + var _OLEHDY = "ObjectLockEventHoldDurationYears"; + var _OLLH = "ObjectLockLegalHold"; + var _OLLHS = "ObjectLockLegalHoldStatus"; + var _OLM = "ObjectLockMode"; + var _OLR = "ObjectLockRetention"; + var _OLRUD = "ObjectLockRetainUntilDate"; + var _OLRb = "ObjectLockRule"; + var _OLb = "ObjectList"; + var _ONIATE = "ObjectNotInActiveTierError"; + var _OO = "ObjectOwnership"; + var _OOA = "OptionalObjectAttributes"; + var _OP = "ObjectParts"; + var _OPb = "ObjectPart"; + var _OS = "ObjectSize"; + var _OSGT = "ObjectSizeGreaterThan"; + var _OSLT = "ObjectSizeLessThan"; + var _OSV = "OutputSchemaVersion"; + var _OSu = "OutputSerialization"; + var _OV = "ObjectVersion"; + var _OVI = "ObjectVersionId"; + var _OVL = "ObjectVersionList"; + var _Ob = "Objects"; + var _Obj = "Object"; + var _P2 = "Prefix"; + var _PABC = "PublicAccessBlockConfiguration"; + var _PBA = "PutBucketAbac"; + var _PBAC = "PutBucketAccelerateConfiguration"; + var _PBACR = "PutBucketAccelerateConfigurationRequest"; + var _PBACRu = "PutBucketAnalyticsConfigurationRequest"; + var _PBACu = "PutBucketAnalyticsConfiguration"; + var _PBAR = "PutBucketAbacRequest"; + var _PBARu = "PutBucketAclRequest"; + var _PBAu = "PutBucketAcl"; + var _PBC = "PutBucketCors"; + var _PBCR = "PutBucketCorsRequest"; + var _PBE = "PutBucketEncryption"; + var _PBER = "PutBucketEncryptionRequest"; + var _PBIC = "PutBucketInventoryConfiguration"; + var _PBICR = "PutBucketInventoryConfigurationRequest"; + var _PBITC = "PutBucketIntelligentTieringConfiguration"; + var _PBITCR = "PutBucketIntelligentTieringConfigurationRequest"; + var _PBL = "PutBucketLogging"; + var _PBLC = "PutBucketLifecycleConfiguration"; + var _PBLCO = "PutBucketLifecycleConfigurationOutput"; + var _PBLCR = "PutBucketLifecycleConfigurationRequest"; + var _PBLR = "PutBucketLoggingRequest"; + var _PBMC = "PutBucketMetricsConfiguration"; + var _PBMCR = "PutBucketMetricsConfigurationRequest"; + var _PBNC = "PutBucketNotificationConfiguration"; + var _PBNCR = "PutBucketNotificationConfigurationRequest"; + var _PBOC = "PutBucketOwnershipControls"; + var _PBOCR = "PutBucketOwnershipControlsRequest"; + var _PBP = "PutBucketPolicy"; + var _PBPR = "PutBucketPolicyRequest"; + var _PBR = "PutBucketReplication"; + var _PBRP = "PutBucketRequestPayment"; + var _PBRPR = "PutBucketRequestPaymentRequest"; + var _PBRR = "PutBucketReplicationRequest"; + var _PBT = "PutBucketTagging"; + var _PBTR = "PutBucketTaggingRequest"; + var _PBV = "PutBucketVersioning"; + var _PBVR = "PutBucketVersioningRequest"; + var _PBW = "PutBucketWebsite"; + var _PBWR = "PutBucketWebsiteRequest"; + var _PC2 = "PartsCount"; + var _PDS = "PartitionDateSource"; + var _PE = "ProgressEvent"; + var _PI2 = "ParquetInput"; + var _PL = "PartsList"; + var _PN = "PartNumber"; + var _PNM = "PartNumberMarker"; + var _PO = "PutObject"; + var _POA = "PutObjectAcl"; + var _POAO = "PutObjectAclOutput"; + var _POAOu = "PutObjectAnnotationOutput"; + var _POAR = "PutObjectAclRequest"; + var _POARu = "PutObjectAnnotationRequest"; + var _POAu = "PutObjectAnnotation"; + var _POLC = "PutObjectLockConfiguration"; + var _POLCO = "PutObjectLockConfigurationOutput"; + var _POLCR = "PutObjectLockConfigurationRequest"; + var _POLH = "PutObjectLegalHold"; + var _POLHO = "PutObjectLegalHoldOutput"; + var _POLHR = "PutObjectLegalHoldRequest"; + var _POO = "PutObjectOutput"; + var _POR = "PutObjectRequest"; + var _PORO = "PutObjectRetentionOutput"; + var _PORR = "PutObjectRetentionRequest"; + var _PORu = "PutObjectRetention"; + var _POT = "PutObjectTagging"; + var _POTO = "PutObjectTaggingOutput"; + var _POTR = "PutObjectTaggingRequest"; + var _PP = "PartitionedPrefix"; + var _PPAB = "PutPublicAccessBlock"; + var _PPABR = "PutPublicAccessBlockRequest"; + var _PS = "PolicyStatus"; + var _Pa = "Parts"; + var _Par = "Part"; + var _Parq = "Parquet"; + var _Pay = "Payer"; + var _Payl = "Payload"; + var _Pe = "Permission"; + var _Po = "Policy"; + var _Pr2 = "Progress"; + var _Pri = "Priority"; + var _Pro = "Protocol"; + var _Q = "Quiet"; + var _QA = "QueueArn"; + var _QC = "QuoteCharacter"; + var _QCL = "QueueConfigurationList"; + var _QCu = "QueueConfigurations"; + var _QCue = "QueueConfiguration"; + var _QEC = "QuoteEscapeCharacter"; + var _QF = "QuoteFields"; + var _Qu = "Queue"; + var _R = "Role"; + var _RART = "RedirectAllRequestsTo"; + var _RC2 = "RequestCharged"; + var _RCC = "ResponseCacheControl"; + var _RCD = "ResponseContentDisposition"; + var _RCE = "ResponseContentEncoding"; + var _RCL = "ResponseContentLanguage"; + var _RCT = "ResponseContentType"; + var _RCe = "ReplicationConfiguration"; + var _RD = "RecordDelimiter"; + var _RE = "ResponseExpires"; + var _RED = "RestoreExpiryDate"; + var _REe = "RecordExpiration"; + var _REec = "RecordsEvent"; + var _RKKID = "ReplicaKmsKeyID"; + var _RKPW = "ReplaceKeyPrefixWith"; + var _RKW = "ReplaceKeyWith"; + var _RM = "ReplicaModifications"; + var _RO = "RenameObject"; + var _ROO = "RenameObjectOutput"; + var _ROOe = "RestoreObjectOutput"; + var _ROP = "RestoreOutputPath"; + var _ROR = "RenameObjectRequest"; + var _RORe = "RestoreObjectRequest"; + var _ROe = "RestoreObject"; + var _RP = "RequestPayer"; + var _RPB = "RestrictPublicBuckets"; + var _RPC = "RequestPaymentConfiguration"; + var _RPe = "RequestProgress"; + var _RR = "RoutingRules"; + var _RRAO = "ReplicationRuleAndOperator"; + var _RRF = "ReplicationRuleFilter"; + var _RRe = "ReplicationRule"; + var _RRep = "ReplicationRules"; + var _RReq = "RequestRoute"; + var _RRes = "RestoreRequest"; + var _RRo = "RoutingRule"; + var _RS = "ReplicationStatus"; + var _RSe = "RestoreStatus"; + var _RSen = "RenameSource"; + var _RT3 = "ReplicationTime"; + var _RTV = "ReplicationTimeValue"; + var _RTe = "RequestToken"; + var _RUD = "RetainUntilDate"; + var _Ra = "Range"; + var _Re = "Restore"; + var _Rec = "Records"; + var _Red = "Redirect"; + var _Ret = "Retention"; + var _Ru = "Rules"; + var _Rul = "Rule"; + var _S = "Status"; + var _SA = "StartAfter"; + var _SAK2 = "SecretAccessKey"; + var _SAs = "SseAlgorithm"; + var _SB = "StreamingBlob"; + var _SBD = "S3BucketDestination"; + var _SC = "StorageClass"; + var _SCA = "StorageClassAnalysis"; + var _SCADE = "StorageClassAnalysisDataExport"; + var _SCV = "SessionCredentialValue"; + var _SCe = "SessionCredentials"; + var _SCt = "StatusCode"; + var _SDV = "SkipDestinationValidation"; + var _SE = "StatsEvent"; + var _SIM = "SourceIfMatch"; + var _SIMS = "SourceIfModifiedSince"; + var _SINM = "SourceIfNoneMatch"; + var _SIUS = "SourceIfUnmodifiedSince"; + var _SK = "SSE-KMS"; + var _SKEO = "SseKmsEncryptedObjects"; + var _SKF = "S3KeyFilter"; + var _SKe = "S3Key"; + var _SL = "S3Location"; + var _SM = "SessionMode"; + var _SOC = "SelectObjectContent"; + var _SOCES = "SelectObjectContentEventStream"; + var _SOCO = "SelectObjectContentOutput"; + var _SOCR = "SelectObjectContentRequest"; + var _SP = "SelectParameters"; + var _SPi = "SimplePrefix"; + var _SR = "ScanRange"; + var _SS = "SSE-S3"; + var _SSC = "SourceSelectionCriteria"; + var _SSE = "ServerSideEncryption"; + var _SSEA = "SSEAlgorithm"; + var _SSEBD = "ServerSideEncryptionByDefault"; + var _SSEC = "ServerSideEncryptionConfiguration"; + var _SSECA = "SSECustomerAlgorithm"; + var _SSECK = "SSECustomerKey"; + var _SSECKMD = "SSECustomerKeyMD5"; + var _SSEKMS = "SSEKMS"; + var _SSEKMSE = "SSEKMSEncryption"; + var _SSEKMSEC = "SSEKMSEncryptionContext"; + var _SSEKMSKI = "SSEKMSKeyId"; + var _SSER = "ServerSideEncryptionRule"; + var _SSERe = "ServerSideEncryptionRules"; + var _SSES = "SSES3"; + var _ST2 = "SessionToken"; + var _STD = "S3TablesDestination"; + var _STDR = "S3TablesDestinationResult"; + var _S_ = "S3"; + var _Sc = "Schedule"; + var _Si = "Size"; + var _St = "Start"; + var _Sta = "Stats"; + var _Su = "Suffix"; + var _T2 = "Tags"; + var _TA = "TableArn"; + var _TAo = "TopicArn"; + var _TB = "TargetBucket"; + var _TBA = "TableBucketArn"; + var _TBT = "TableBucketType"; + var _TC2 = "TagCount"; + var _TCL = "TopicConfigurationList"; + var _TCo = "TopicConfigurations"; + var _TCop = "TopicConfiguration"; + var _TD = "TaggingDirective"; + var _TDMOS = "TransitionDefaultMinimumObjectSize"; + var _TG = "TargetGrants"; + var _TGa = "TargetGrant"; + var _TL = "TieringList"; + var _TLr = "TransitionList"; + var _TMP = "TooManyParts"; + var _TN = "TableName"; + var _TNa = "TableNamespace"; + var _TOKF = "TargetObjectKeyFormat"; + var _TP = "TargetPrefix"; + var _TPC = "TotalPartsCount"; + var _TS = "TableStatus"; + var _TSa = "TagSet"; + var _Ta2 = "Tag"; + var _Tag = "Tagging"; + var _Ti = "Tier"; + var _Tie = "Tierings"; + var _Tier = "Tiering"; + var _Tim = "Time"; + var _To = "Token"; + var _Top = "Topic"; + var _Tr = "Transitions"; + var _Tra = "Transition"; + var _Ty = "Type"; + var _U = "Uploads"; + var _UBMATC = "UpdateBucketMetadataAnnotationTableConfiguration"; + var _UBMATCR = "UpdateBucketMetadataAnnotationTableConfigurationRequest"; + var _UBMITC = "UpdateBucketMetadataInventoryTableConfiguration"; + var _UBMITCR = "UpdateBucketMetadataInventoryTableConfigurationRequest"; + var _UBMJTC = "UpdateBucketMetadataJournalTableConfiguration"; + var _UBMJTCR = "UpdateBucketMetadataJournalTableConfigurationRequest"; + var _UI = "UploadId"; + var _UIM = "UploadIdMarker"; + var _UM = "UserMetadata"; + var _UMT = "UnsupportedMediaType"; + var _UOE = "UpdateObjectEncryption"; + var _UOER = "UpdateObjectEncryptionRequest"; + var _UOERp = "UpdateObjectEncryptionResponse"; + var _UP = "UploadPart"; + var _UPC = "UploadPartCopy"; + var _UPCO = "UploadPartCopyOutput"; + var _UPCR = "UploadPartCopyRequest"; + var _UPO = "UploadPartOutput"; + var _UPR = "UploadPartRequest"; + var _URI = "URI"; + var _Up = "Upload"; + var _V2 = "Value"; + var _VC = "VersioningConfiguration"; + var _VI = "VersionId"; + var _VIM = "VersionIdMarker"; + var _Ve = "Versions"; + var _Ver = "Version"; + var _WC = "WebsiteConfiguration"; + var _WGOR = "WriteGetObjectResponse"; + var _WGORR = "WriteGetObjectResponseRequest"; + var _WOB = "WriteOffsetBytes"; + var _WRL = "WebsiteRedirectLocation"; + var _Y = "Years"; + var _aN = "annotationName"; + var _ap = "annotation-prefix"; + var _ar = "accept-ranges"; + var _br = "bucket-region"; + var _c5 = "client"; + var _ct = "continuation-token"; + var _d = "delimiter"; + var _e5 = "error"; + var _eP = "eventPayload"; + var _en = "endpoint"; + var _et = "encoding-type"; + var _fo = "fetch-owner"; + var _h4 = "http"; + var _hC = "httpChecksum"; + var _hE5 = "httpError"; + var _hH2 = "httpHeader"; + var _hL = "hostLabel"; + var _hP = "httpPayload"; + var _hPH = "httpPrefixHeaders"; + var _hQ2 = "httpQuery"; + var _hi = "http://www.w3.org/2001/XMLSchema-instance"; + var _i = "id"; + var _iT3 = "idempotencyToken"; + var _km = "key-marker"; + var _m4 = "marker"; + var _mar = "max-annotation-results"; + var _mb = "max-buckets"; + var _mdb = "max-directory-buckets"; + var _mk = "max-keys"; + var _mp = "max-parts"; + var _mu = "max-uploads"; + var _p = "prefix"; + var _pN = "partNumber"; + var _pnm = "part-number-marker"; + var _rcc = "response-cache-control"; + var _rcd = "response-content-disposition"; + var _rce = "response-content-encoding"; + var _rcl = "response-content-language"; + var _rct = "response-content-type"; + var _re = "response-expires"; + var _s5 = "smithy.ts.sdk.synthetic.com.amazonaws.s3"; + var _sa = "start-after"; + var _st = "streaming"; + var _uI = "uploadId"; + var _uim = "upload-id-marker"; + var _vI = "versionId"; + var _vim = "version-id-marker"; + var _x = "xsi"; + var _xA = "xmlAttribute"; + var _xF = "xmlFlattened"; + var _xN = "xmlName"; + var _xNm = "xmlNamespace"; + var _xaa = "x-amz-acl"; + var _xaad = "x-amz-abort-date"; + var _xaapa = "x-amz-access-point-alias"; + var _xaari = "x-amz-abort-rule-id"; + var _xaas = "x-amz-archive-status"; + var _xaba = "x-amz-bucket-arn"; + var _xabgr = "x-amz-bypass-governance-retention"; + var _xabln = "x-amz-bucket-location-name"; + var _xablt = "x-amz-bucket-location-type"; + var _xabn = "x-amz-bucket-namespace"; + var _xabole = "x-amz-bucket-object-lock-enabled"; + var _xabolt = "x-amz-bucket-object-lock-token"; + var _xabr = "x-amz-bucket-region"; + var _xaca = "x-amz-checksum-algorithm"; + var _xacc = "x-amz-checksum-crc32"; + var _xacc_ = "x-amz-checksum-crc32c"; + var _xacc__ = "x-amz-checksum-crc64nvme"; + var _xacm = "x-amz-checksum-md5"; + var _xacm_ = "x-amz-checksum-mode"; + var _xacrsba = "x-amz-confirm-remove-self-bucket-access"; + var _xacs = "x-amz-checksum-sha1"; + var _xacs_ = "x-amz-checksum-sha256"; + var _xacs__ = "x-amz-checksum-sha512"; + var _xacs___ = "x-amz-copy-source"; + var _xacsim = "x-amz-copy-source-if-match"; + var _xacsims = "x-amz-copy-source-if-modified-since"; + var _xacsinm = "x-amz-copy-source-if-none-match"; + var _xacsius = "x-amz-copy-source-if-unmodified-since"; + var _xacsm = "x-amz-create-session-mode"; + var _xacsr = "x-amz-copy-source-range"; + var _xacssseca = "x-amz-copy-source-server-side-encryption-customer-algorithm"; + var _xacssseck = "x-amz-copy-source-server-side-encryption-customer-key"; + var _xacssseckM = "x-amz-copy-source-server-side-encryption-customer-key-MD5"; + var _xacsvi = "x-amz-copy-source-version-id"; + var _xact = "x-amz-checksum-type"; + var _xact_ = "x-amz-client-token"; + var _xacx = "x-amz-checksum-xxhash64"; + var _xacx_ = "x-amz-checksum-xxhash3"; + var _xacx__ = "x-amz-checksum-xxhash128"; + var _xadm = "x-amz-delete-marker"; + var _xae = "x-amz-expiration"; + var _xaebo = "x-amz-expected-bucket-owner"; + var _xafec = "x-amz-fwd-error-code"; + var _xafem = "x-amz-fwd-error-message"; + var _xafhCC = "x-amz-fwd-header-Cache-Control"; + var _xafhCD = "x-amz-fwd-header-Content-Disposition"; + var _xafhCE = "x-amz-fwd-header-Content-Encoding"; + var _xafhCL = "x-amz-fwd-header-Content-Language"; + var _xafhCR = "x-amz-fwd-header-Content-Range"; + var _xafhCT = "x-amz-fwd-header-Content-Type"; + var _xafhE = "x-amz-fwd-header-ETag"; + var _xafhE_ = "x-amz-fwd-header-Expires"; + var _xafhLM = "x-amz-fwd-header-Last-Modified"; + var _xafhar = "x-amz-fwd-header-accept-ranges"; + var _xafhxacc = "x-amz-fwd-header-x-amz-checksum-crc32"; + var _xafhxacc_ = "x-amz-fwd-header-x-amz-checksum-crc32c"; + var _xafhxacc__ = "x-amz-fwd-header-x-amz-checksum-crc64nvme"; + var _xafhxacm = "x-amz-fwd-header-x-amz-checksum-md5"; + var _xafhxacs = "x-amz-fwd-header-x-amz-checksum-sha1"; + var _xafhxacs_ = "x-amz-fwd-header-x-amz-checksum-sha256"; + var _xafhxacs__ = "x-amz-fwd-header-x-amz-checksum-sha512"; + var _xafhxacx = "x-amz-fwd-header-x-amz-checksum-xxhash64"; + var _xafhxacx_ = "x-amz-fwd-header-x-amz-checksum-xxhash3"; + var _xafhxacx__ = "x-amz-fwd-header-x-amz-checksum-xxhash128"; + var _xafhxadm = "x-amz-fwd-header-x-amz-delete-marker"; + var _xafhxae = "x-amz-fwd-header-x-amz-expiration"; + var _xafhxamm = "x-amz-fwd-header-x-amz-missing-meta"; + var _xafhxampc = "x-amz-fwd-header-x-amz-mp-parts-count"; + var _xafhxaollh = "x-amz-fwd-header-x-amz-object-lock-legal-hold"; + var _xafhxaolm = "x-amz-fwd-header-x-amz-object-lock-mode"; + var _xafhxaolrud = "x-amz-fwd-header-x-amz-object-lock-retain-until-date"; + var _xafhxar = "x-amz-fwd-header-x-amz-restore"; + var _xafhxarc = "x-amz-fwd-header-x-amz-request-charged"; + var _xafhxars = "x-amz-fwd-header-x-amz-replication-status"; + var _xafhxasc = "x-amz-fwd-header-x-amz-storage-class"; + var _xafhxasse = "x-amz-fwd-header-x-amz-server-side-encryption"; + var _xafhxasseakki = "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id"; + var _xafhxassebke = "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled"; + var _xafhxasseca = "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm"; + var _xafhxasseckM = "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5"; + var _xafhxatc = "x-amz-fwd-header-x-amz-tagging-count"; + var _xafhxavi = "x-amz-fwd-header-x-amz-version-id"; + var _xafs = "x-amz-fwd-status"; + var _xagfc = "x-amz-grant-full-control"; + var _xagr = "x-amz-grant-read"; + var _xagra = "x-amz-grant-read-acp"; + var _xagw = "x-amz-grant-write"; + var _xagwa = "x-amz-grant-write-acp"; + var _xaimit = "x-amz-if-match-initiated-time"; + var _xaimlmt = "x-amz-if-match-last-modified-time"; + var _xaims = "x-amz-if-match-size"; + var _xam = "x-amz-meta-"; + var _xam_ = "x-amz-mfa"; + var _xamd = "x-amz-metadata-directive"; + var _xamm = "x-amz-missing-meta"; + var _xamos = "x-amz-mp-object-size"; + var _xamp = "x-amz-max-parts"; + var _xampc = "x-amz-mp-parts-count"; + var _xaoa = "x-amz-object-attributes"; + var _xaoad = "x-amz-object-annotation-directive"; + var _xaoim = "x-amz-object-if-match"; + var _xaoleh = "x-amz-object-lock-event-hold"; + var _xaolehdd = "x-amz-object-lock-event-hold-duration-days"; + var _xaolehdy = "x-amz-object-lock-event-hold-duration-years"; + var _xaollh = "x-amz-object-lock-legal-hold"; + var _xaolm = "x-amz-object-lock-mode"; + var _xaolrud = "x-amz-object-lock-retain-until-date"; + var _xaoo = "x-amz-object-ownership"; + var _xaooa = "x-amz-optional-object-attributes"; + var _xaos = "x-amz-object-size"; + var _xaovi = "x-amz-object-version-id"; + var _xapnm = "x-amz-part-number-marker"; + var _xar = "x-amz-restore"; + var _xarc = "x-amz-request-charged"; + var _xarop = "x-amz-restore-output-path"; + var _xarp = "x-amz-request-payer"; + var _xarr = "x-amz-request-route"; + var _xars = "x-amz-replication-status"; + var _xars_ = "x-amz-rename-source"; + var _xarsim = "x-amz-rename-source-if-match"; + var _xarsims = "x-amz-rename-source-if-modified-since"; + var _xarsinm = "x-amz-rename-source-if-none-match"; + var _xarsius = "x-amz-rename-source-if-unmodified-since"; + var _xart = "x-amz-request-token"; + var _xasc = "x-amz-storage-class"; + var _xasca = "x-amz-sdk-checksum-algorithm"; + var _xasdv = "x-amz-skip-destination-validation"; + var _xasebo = "x-amz-source-expected-bucket-owner"; + var _xasse = "x-amz-server-side-encryption"; + var _xasseakki = "x-amz-server-side-encryption-aws-kms-key-id"; + var _xassebke = "x-amz-server-side-encryption-bucket-key-enabled"; + var _xassec = "x-amz-server-side-encryption-context"; + var _xasseca = "x-amz-server-side-encryption-customer-algorithm"; + var _xasseck = "x-amz-server-side-encryption-customer-key"; + var _xasseckM = "x-amz-server-side-encryption-customer-key-MD5"; + var _xat = "x-amz-tagging"; + var _xatc = "x-amz-tagging-count"; + var _xatd = "x-amz-tagging-directive"; + var _xatdmos = "x-amz-transition-default-minimum-object-size"; + var _xavi = "x-amz-version-id"; + var _xawob = "x-amz-write-offset-bytes"; + var _xawrl = "x-amz-website-redirect-location"; + var _xs = "xsi:type"; + var n05 = "com.amazonaws.s3"; + var _s_registry5 = new TypeRegistry2(_s5); + var S3ServiceException$ = [-3, _s5, "S3ServiceException", 0, [], []]; + _s_registry5.registerError(S3ServiceException$, S3ServiceException); + var n0_registry5 = new TypeRegistry2(n05); + var AccessDenied$ = [ + -3, + n05, + _AD, + { [_e5]: _c5, [_hE5]: 403 }, + [], + [] + ]; + n0_registry5.registerError(AccessDenied$, AccessDenied); + var AnnotationLimitExceeded$ = [ + -3, + n05, + _ALE, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(AnnotationLimitExceeded$, AnnotationLimitExceeded); + var AnnotationNameTooLong$ = [ + -3, + n05, + _ANTL, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(AnnotationNameTooLong$, AnnotationNameTooLong); + var BucketAlreadyExists$ = [ + -3, + n05, + _BAE, + { [_e5]: _c5, [_hE5]: 409 }, + [], + [] + ]; + n0_registry5.registerError(BucketAlreadyExists$, BucketAlreadyExists); + var BucketAlreadyOwnedByYou$ = [ + -3, + n05, + _BAOBY, + { [_e5]: _c5, [_hE5]: 409 }, + [], + [] + ]; + n0_registry5.registerError(BucketAlreadyOwnedByYou$, BucketAlreadyOwnedByYou); + var EncryptionTypeMismatch$ = [ + -3, + n05, + _ETM, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(EncryptionTypeMismatch$, EncryptionTypeMismatch); + var IdempotencyParameterMismatch$ = [ + -3, + n05, + _IPM, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(IdempotencyParameterMismatch$, IdempotencyParameterMismatch); + var InvalidAnnotationName$ = [ + -3, + n05, + _IAN, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(InvalidAnnotationName$, InvalidAnnotationName); + var InvalidObjectState$ = [ + -3, + n05, + _IOS, + { [_e5]: _c5, [_hE5]: 403 }, + [_SC, _AT3], + [0, 0] + ]; + n0_registry5.registerError(InvalidObjectState$, InvalidObjectState); + var InvalidPrefix$ = [ + -3, + n05, + _IP, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(InvalidPrefix$, InvalidPrefix); + var InvalidRequest$ = [ + -3, + n05, + _IR, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(InvalidRequest$, InvalidRequest); + var InvalidWriteOffset$ = [ + -3, + n05, + _IWO, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(InvalidWriteOffset$, InvalidWriteOffset); + var NoSuchAnnotation$ = [ + -3, + n05, + _NSA, + { [_e5]: _c5, [_hE5]: 404 }, + [], + [] + ]; + n0_registry5.registerError(NoSuchAnnotation$, NoSuchAnnotation); + var NoSuchBucket$ = [ + -3, + n05, + _NSB, + { [_e5]: _c5, [_hE5]: 404 }, + [], + [] + ]; + n0_registry5.registerError(NoSuchBucket$, NoSuchBucket); + var NoSuchKey$ = [ + -3, + n05, + _NSK, + { [_e5]: _c5, [_hE5]: 404 }, + [], + [] + ]; + n0_registry5.registerError(NoSuchKey$, NoSuchKey); + var NoSuchUpload$ = [ + -3, + n05, + _NSU, + { [_e5]: _c5, [_hE5]: 404 }, + [], + [] + ]; + n0_registry5.registerError(NoSuchUpload$, NoSuchUpload); + var NotFound$ = [ + -3, + n05, + _NF, + { [_e5]: _c5 }, + [], + [] + ]; + n0_registry5.registerError(NotFound$, NotFound); + var ObjectAlreadyInActiveTierError$ = [ + -3, + n05, + _OAIATE, + { [_e5]: _c5, [_hE5]: 403 }, + [], + [] + ]; + n0_registry5.registerError(ObjectAlreadyInActiveTierError$, ObjectAlreadyInActiveTierError); + var ObjectNotInActiveTierError$ = [ + -3, + n05, + _ONIATE, + { [_e5]: _c5, [_hE5]: 403 }, + [], + [] + ]; + n0_registry5.registerError(ObjectNotInActiveTierError$, ObjectNotInActiveTierError); + var TooManyParts$ = [ + -3, + n05, + _TMP, + { [_e5]: _c5, [_hE5]: 400 }, + [], + [] + ]; + n0_registry5.registerError(TooManyParts$, TooManyParts); + var UnsupportedMediaType$ = [ + -3, + n05, + _UMT, + { [_e5]: _c5, [_hE5]: 415 }, + [], + [] + ]; + n0_registry5.registerError(UnsupportedMediaType$, UnsupportedMediaType); + var errorTypeRegistries5 = [ + _s_registry5, + n0_registry5 + ]; + var CopySourceSSECustomerKey = [0, n05, _CSSSECK, 8, 0]; + var NonEmptyKmsKeyArnString = [0, n05, _NEKKAS, 8, 0]; + var SessionCredentialValue = [0, n05, _SCV, 8, 0]; + var SSECustomerKey = [0, n05, _SSECK, 8, 0]; + var SSEKMSEncryptionContext = [0, n05, _SSEKMSEC, 8, 0]; + var SSEKMSKeyId = [0, n05, _SSEKMSKI, 8, 0]; + var StreamingBlob = [0, n05, _SB, { [_st]: 1 }, 42]; + var AbacStatus$ = [ + 3, + n05, + _AS, + 0, + [_S], + [0] + ]; + var AbortIncompleteMultipartUpload$ = [ + 3, + n05, + _AIMU, + 0, + [_DAI], + [1] + ]; + var AbortMultipartUploadOutput$ = [ + 3, + n05, + _AMUO, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var AbortMultipartUploadRequest$ = [ + 3, + n05, + _AMUR, + 0, + [_B, _K2, _UI, _RP, _EBO, _IMIT], + [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [6, { [_hH2]: _xaimit }]], + 3 + ]; + var AccelerateConfiguration$ = [ + 3, + n05, + _AC, + 0, + [_S], + [0] + ]; + var AccessControlPolicy$ = [ + 3, + n05, + _ACP, + 0, + [_G, _O], + [[() => Grants, { [_xN]: _ACL }], () => Owner$] + ]; + var AccessControlTranslation$ = [ + 3, + n05, + _ACT, + 0, + [_O], + [0], + 1 + ]; + var AnalyticsAndOperator$ = [ + 3, + n05, + _AAO, + 0, + [_P2, _T2], + [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]] + ]; + var AnalyticsConfiguration$ = [ + 3, + n05, + _ACn, + 0, + [_I, _SCA, _F], + [0, () => StorageClassAnalysis$, [() => AnalyticsFilter$, 0]], + 2 + ]; + var AnalyticsExportDestination$ = [ + 3, + n05, + _AED, + 0, + [_SBD], + [() => AnalyticsS3BucketDestination$], + 1 + ]; + var AnalyticsS3BucketDestination$ = [ + 3, + n05, + _ASBD, + 0, + [_Fo, _B, _BAI, _P2], + [0, 0, 0, 0], + 2 + ]; + var AnnotationEntry$ = [ + 3, + n05, + _AE, + 0, + [_AN, _LM, _Si, _ET, _CA2, _RS], + [0, 4, 1, 0, [64 | 0, { [_xF]: 1 }], 0], + 3 + ]; + var AnnotationTableConfiguration$ = [ + 3, + n05, + _ATC, + 0, + [_CS2, _EC, _R], + [0, () => MetadataTableEncryptionConfiguration$, 0], + 1 + ]; + var AnnotationTableConfigurationResult$ = [ + 3, + n05, + _ATCR, + 0, + [_CS2, _TS, _E3, _TN, _TA, _R], + [0, 0, () => ErrorDetails$, 0, 0, 0], + 1 + ]; + var AnnotationTableConfigurationUpdates$ = [ + 3, + n05, + _ATCU, + 0, + [_CS2, _EC, _R], + [0, () => MetadataTableEncryptionConfiguration$, 0], + 1 + ]; + var BlockedEncryptionTypes$ = [ + 3, + n05, + _BET, + 0, + [_ETn], + [[() => EncryptionTypeList, { [_xF]: 1 }]] + ]; + var Bucket$ = [ + 3, + n05, + _B, + 0, + [_N, _CD, _BR, _BA], + [0, 4, 0, 0] + ]; + var BucketInfo$ = [ + 3, + n05, + _BI, + 0, + [_DR, _Ty], + [0, 0] + ]; + var BucketLifecycleConfiguration$ = [ + 3, + n05, + _BLC, + 0, + [_Ru], + [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Rul }]], + 1 + ]; + var BucketLoggingStatus$ = [ + 3, + n05, + _BLS, + 0, + [_LE], + [[() => LoggingEnabled$, 0]] + ]; + var Checksum$ = [ + 3, + n05, + _C2, + 0, + [_CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ]; + var CommonPrefix$ = [ + 3, + n05, + _CP, + 0, + [_P2], + [0] + ]; + var CompletedMultipartUpload$ = [ + 3, + n05, + _CMU, + 0, + [_Pa], + [[() => CompletedPartList, { [_xF]: 1, [_xN]: _Par }]] + ]; + var CompletedPart$ = [ + 3, + n05, + _CPo, + 0, + [_ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _PN], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] + ]; + var CompleteMultipartUploadOutput$ = [ + 3, + n05, + _CMUO, + { [_xN]: _CMUR }, + [_L, _B, _K2, _Ex, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _VI, _SSEKMSKI, _BKE, _RC2], + [0, 0, 0, [0, { [_hH2]: _xae }], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xavi }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]] + ]; + var CompleteMultipartUploadRequest$ = [ + 3, + n05, + _CMURo, + 0, + [_B, _K2, _UI, _MU, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _MOS, _RP, _EBO, _IM, _INM, _SSECA, _SSECK, _SSECKMD], + [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [() => CompletedMultipartUpload$, { [_hP]: 1, [_xN]: _CMUo }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [1, { [_hH2]: _xamos }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }]], + 3 + ]; + var Condition$ = [ + 3, + n05, + _Co, + 0, + [_HECRE, _KPE], + [0, 0] + ]; + var ContinuationEvent$ = [ + 3, + n05, + _CE, + 0, + [], + [] + ]; + var CopyObjectOutput$ = [ + 3, + n05, + _COO, + 0, + [_COR, _Ex, _CSVI, _VI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC2], + [[() => CopyObjectResult$, 16], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xacsvi }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]] + ]; + var CopyObjectRequest$ = [ + 3, + n05, + _CORo, + 0, + [_B, _CSo, _K2, _ACL_, _CC, _CA2, _CDo, _CEo, _CL, _CTo, _CSIM, _CSIMS, _CSINM, _CSIUS, _Exp, _GFC, _GR, _GRACP, _GWACP, _IM, _INM, _M, _MD, _TD, _ADn, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO, _ESBO], + [[0, 1], [0, { [_hH2]: _xacs___ }], [0, 1], [0, { [_hH2]: _xaa }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _xacsim }], [4, { [_hH2]: _xacsims }], [0, { [_hH2]: _xacsinm }], [4, { [_hH2]: _xacsius }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xamd }], [0, { [_hH2]: _xatd }], [0, { [_hH2]: _xaoad }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH2]: _xacssseck }], [0, { [_hH2]: _xacssseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasebo }]], + 3 + ]; + var CopyObjectResult$ = [ + 3, + n05, + _COR, + 0, + [_ET, _LM, _CT2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe], + [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ]; + var CopyPartResult$ = [ + 3, + n05, + _CPR, + 0, + [_ET, _LM, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe], + [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ]; + var CORSConfiguration$ = [ + 3, + n05, + _CORSC, + 0, + [_CORSR], + [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]], + 1 + ]; + var CORSRule$ = [ + 3, + n05, + _CORSRu, + 0, + [_AM, _AO, _ID, _AH, _EH, _MAS], + [[64 | 0, { [_xF]: 1, [_xN]: _AMl }], [64 | 0, { [_xF]: 1, [_xN]: _AOl }], 0, [64 | 0, { [_xF]: 1, [_xN]: _AHl }], [64 | 0, { [_xF]: 1, [_xN]: _EHx }], 1], + 2 + ]; + var CreateBucketConfiguration$ = [ + 3, + n05, + _CBC, + 0, + [_LC, _L, _B, _T2], + [0, () => LocationInfo$, () => BucketInfo$, [() => TagSet, 0]] + ]; + var CreateBucketMetadataConfigurationRequest$ = [ + 3, + n05, + _CBMCR, + 0, + [_B, _MC, _CMDo, _CA2, _EBO], + [[0, 1], [() => MetadataConfiguration$, { [_hP]: 1, [_xN]: _MC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var CreateBucketMetadataTableConfigurationRequest$ = [ + 3, + n05, + _CBMTCR, + 0, + [_B, _MTC, _CMDo, _CA2, _EBO], + [[0, 1], [() => MetadataTableConfiguration$, { [_hP]: 1, [_xN]: _MTC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var CreateBucketOutput$ = [ + 3, + n05, + _CBO, + 0, + [_L, _BA], + [[0, { [_hH2]: _L }], [0, { [_hH2]: _xaba }]] + ]; + var CreateBucketRequest$ = [ + 3, + n05, + _CBR, + 0, + [_B, _ACL_, _CBC, _GFC, _GR, _GRACP, _GW, _GWACP, _OLEFB, _OO, _BN], + [[0, 1], [0, { [_hH2]: _xaa }], [() => CreateBucketConfiguration$, { [_hP]: 1, [_xN]: _CBC }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [2, { [_hH2]: _xabole }], [0, { [_hH2]: _xaoo }], [0, { [_hH2]: _xabn }]], + 1 + ]; + var CreateMultipartUploadOutput$ = [ + 3, + n05, + _CMUOr, + { [_xN]: _IMUR }, + [_ADb, _ARI2, _B, _K2, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC2, _CA2, _CT2], + [[4, { [_hH2]: _xaad }], [0, { [_hH2]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _xact }]] + ]; + var CreateMultipartUploadRequest$ = [ + 3, + n05, + _CMURr, + 0, + [_B, _K2, _ACL_, _CC, _CDo, _CEo, _CL, _CTo, _Exp, _GFC, _GR, _GRACP, _GWACP, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO, _CA2, _CT2], + [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xaca }], [0, { [_hH2]: _xact }]], + 2 + ]; + var CreateSessionOutput$ = [ + 3, + n05, + _CSO, + { [_xN]: _CSR }, + [_Cr, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE], + [[() => SessionCredentials$, { [_xN]: _Cr }], [0, { [_hH2]: _xasse }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }]], + 1 + ]; + var CreateSessionRequest$ = [ + 3, + n05, + _CSRr, + 0, + [_B, _SM, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE], + [[0, 1], [0, { [_hH2]: _xacsm }], [0, { [_hH2]: _xasse }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }]], + 1 + ]; + var CSVInput$ = [ + 3, + n05, + _CSVIn, + 0, + [_FHI, _Com, _QEC, _RD, _FD, _QC, _AQRD], + [0, 0, 0, 0, 0, 0, 2] + ]; + var CSVOutput$ = [ + 3, + n05, + _CSVO, + 0, + [_QF, _QEC, _RD, _FD, _QC], + [0, 0, 0, 0, 0] + ]; + var DefaultRetention$ = [ + 3, + n05, + _DRe, + 0, + [_Mo, _D, _Y, _DEH], + [0, 1, 1, () => EventHoldDuration$] + ]; + var Delete$ = [ + 3, + n05, + _De, + 0, + [_Ob, _Q], + [[() => ObjectIdentifierList, { [_xF]: 1, [_xN]: _Obj }], 2], + 1 + ]; + var DeleteBucketAnalyticsConfigurationRequest$ = [ + 3, + n05, + _DBACR, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var DeleteBucketCorsRequest$ = [ + 3, + n05, + _DBCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketEncryptionRequest$ = [ + 3, + n05, + _DBER, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketIntelligentTieringConfigurationRequest$ = [ + 3, + n05, + _DBITCR, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var DeleteBucketInventoryConfigurationRequest$ = [ + 3, + n05, + _DBICR, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var DeleteBucketLifecycleRequest$ = [ + 3, + n05, + _DBLR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketMetadataConfigurationRequest$ = [ + 3, + n05, + _DBMCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketMetadataTableConfigurationRequest$ = [ + 3, + n05, + _DBMTCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketMetricsConfigurationRequest$ = [ + 3, + n05, + _DBMCRe, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var DeleteBucketOwnershipControlsRequest$ = [ + 3, + n05, + _DBOCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketPolicyRequest$ = [ + 3, + n05, + _DBPR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketReplicationRequest$ = [ + 3, + n05, + _DBRR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketRequest$ = [ + 3, + n05, + _DBR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketTaggingRequest$ = [ + 3, + n05, + _DBTR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeleteBucketWebsiteRequest$ = [ + 3, + n05, + _DBWR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var DeletedObject$ = [ + 3, + n05, + _DO, + 0, + [_K2, _VI, _DM, _DMVI], + [0, 0, 2, 0] + ]; + var DeleteMarkerEntry$ = [ + 3, + n05, + _DME, + 0, + [_O, _K2, _VI, _IL, _LM], + [() => Owner$, 0, 0, 2, 4] + ]; + var DeleteMarkerReplication$ = [ + 3, + n05, + _DMR, + 0, + [_S], + [0] + ]; + var DeleteObjectAnnotationOutput$ = [ + 3, + n05, + _DOAO, + 0, + [_OVI, _RC2], + [[0, { [_hH2]: _xaovi }], [0, { [_hH2]: _xarc }]] + ]; + var DeleteObjectAnnotationRequest$ = [ + 3, + n05, + _DOAR, + 0, + [_B, _K2, _AN, _VI, _RP, _EBO, _OIM], + [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xaoim }]], + 3 + ]; + var DeleteObjectOutput$ = [ + 3, + n05, + _DOO, + 0, + [_DM, _VI, _RC2], + [[2, { [_hH2]: _xadm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xarc }]] + ]; + var DeleteObjectRequest$ = [ + 3, + n05, + _DOR, + 0, + [_B, _K2, _MFA, _VI, _RP, _BGR, _EBO, _IM, _IMLMT, _IMS], + [[0, 1], [0, 1], [0, { [_hH2]: _xam_ }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _IM_ }], [6, { [_hH2]: _xaimlmt }], [1, { [_hH2]: _xaims }]], + 2 + ]; + var DeleteObjectsOutput$ = [ + 3, + n05, + _DOOe, + { [_xN]: _DRel }, + [_Del, _RC2, _Er], + [[() => DeletedObjects, { [_xF]: 1 }], [0, { [_hH2]: _xarc }], [() => Errors, { [_xF]: 1, [_xN]: _E3 }]] + ]; + var DeleteObjectsRequest$ = [ + 3, + n05, + _DORe, + 0, + [_B, _De, _MFA, _RP, _BGR, _EBO, _CA2], + [[0, 1], [() => Delete$, { [_hP]: 1, [_xN]: _De }], [0, { [_hH2]: _xam_ }], [0, { [_hH2]: _xarp }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]], + 2 + ]; + var DeleteObjectTaggingOutput$ = [ + 3, + n05, + _DOTO, + 0, + [_VI], + [[0, { [_hH2]: _xavi }]] + ]; + var DeleteObjectTaggingRequest$ = [ + 3, + n05, + _DOTR, + 0, + [_B, _K2, _VI, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var DeletePublicAccessBlockRequest$ = [ + 3, + n05, + _DPABR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var Destination$ = [ + 3, + n05, + _Des, + 0, + [_B, _A2, _SC, _ACT, _EC, _RT3, _Me], + [0, 0, 0, () => AccessControlTranslation$, () => EncryptionConfiguration$, () => ReplicationTime$, () => Metrics$], + 1 + ]; + var DestinationResult$ = [ + 3, + n05, + _DRes, + 0, + [_TBT, _TBA, _TNa], + [0, 0, 0] + ]; + var Encryption$ = [ + 3, + n05, + _En, + 0, + [_ETn, _KMSKI, _KMSC], + [0, [() => SSEKMSKeyId, 0], 0], + 1 + ]; + var EncryptionConfiguration$ = [ + 3, + n05, + _EC, + 0, + [_RKKID], + [0] + ]; + var EndEvent$ = [ + 3, + n05, + _EE, + 0, + [], + [] + ]; + var _Error$ = [ + 3, + n05, + _E3, + 0, + [_K2, _VI, _Cod, _Mes], + [0, 0, 0, 0] + ]; + var ErrorDetails$ = [ + 3, + n05, + _ED, + 0, + [_ECr, _EM], + [0, 0] + ]; + var ErrorDocument$ = [ + 3, + n05, + _EDr, + 0, + [_K2], + [0], + 1 + ]; + var EventBridgeConfiguration$ = [ + 3, + n05, + _EBC, + 0, + [], + [] + ]; + var EventHoldDuration$ = [ + 3, + n05, + _EHD, + 0, + [_D, _Y], + [1, 1] + ]; + var ExistingObjectReplication$ = [ + 3, + n05, + _EOR, + 0, + [_S], + [0], + 1 + ]; + var FilterRule$ = [ + 3, + n05, + _FR, + 0, + [_N, _V2], + [0, 0] + ]; + var GetBucketAbacOutput$ = [ + 3, + n05, + _GBAO, + 0, + [_AS], + [[() => AbacStatus$, 16]] + ]; + var GetBucketAbacRequest$ = [ + 3, + n05, + _GBAR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketAccelerateConfigurationOutput$ = [ + 3, + n05, + _GBACO, + { [_xN]: _AC }, + [_S, _RC2], + [0, [0, { [_hH2]: _xarc }]] + ]; + var GetBucketAccelerateConfigurationRequest$ = [ + 3, + n05, + _GBACR, + 0, + [_B, _EBO, _RP], + [[0, 1], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]], + 1 + ]; + var GetBucketAclOutput$ = [ + 3, + n05, + _GBAOe, + { [_xN]: _ACP }, + [_O, _G], + [() => Owner$, [() => Grants, { [_xN]: _ACL }]] + ]; + var GetBucketAclRequest$ = [ + 3, + n05, + _GBARe, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketAnalyticsConfigurationOutput$ = [ + 3, + n05, + _GBACOe, + 0, + [_ACn], + [[() => AnalyticsConfiguration$, 16]] + ]; + var GetBucketAnalyticsConfigurationRequest$ = [ + 3, + n05, + _GBACRe, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetBucketCorsOutput$ = [ + 3, + n05, + _GBCO, + { [_xN]: _CORSC }, + [_CORSR], + [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]] + ]; + var GetBucketCorsRequest$ = [ + 3, + n05, + _GBCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketEncryptionOutput$ = [ + 3, + n05, + _GBEO, + 0, + [_SSEC], + [[() => ServerSideEncryptionConfiguration$, 16]] + ]; + var GetBucketEncryptionRequest$ = [ + 3, + n05, + _GBER, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketIntelligentTieringConfigurationOutput$ = [ + 3, + n05, + _GBITCO, + 0, + [_ITC], + [[() => IntelligentTieringConfiguration$, 16]] + ]; + var GetBucketIntelligentTieringConfigurationRequest$ = [ + 3, + n05, + _GBITCR, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetBucketInventoryConfigurationOutput$ = [ + 3, + n05, + _GBICO, + 0, + [_IC], + [[() => InventoryConfiguration$, 16]] + ]; + var GetBucketInventoryConfigurationRequest$ = [ + 3, + n05, + _GBICR, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetBucketLifecycleConfigurationOutput$ = [ + 3, + n05, + _GBLCO, + { [_xN]: _LCi }, + [_Ru, _TDMOS], + [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Rul }], [0, { [_hH2]: _xatdmos }]] + ]; + var GetBucketLifecycleConfigurationRequest$ = [ + 3, + n05, + _GBLCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketLocationOutput$ = [ + 3, + n05, + _GBLO, + { [_xN]: _LC }, + [_LC], + [0] + ]; + var GetBucketLocationRequest$ = [ + 3, + n05, + _GBLR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketLoggingOutput$ = [ + 3, + n05, + _GBLOe, + { [_xN]: _BLS }, + [_LE], + [[() => LoggingEnabled$, 0]] + ]; + var GetBucketLoggingRequest$ = [ + 3, + n05, + _GBLRe, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketMetadataConfigurationOutput$ = [ + 3, + n05, + _GBMCO, + 0, + [_GBMCR], + [[() => GetBucketMetadataConfigurationResult$, 16]] + ]; + var GetBucketMetadataConfigurationRequest$ = [ + 3, + n05, + _GBMCRe, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketMetadataConfigurationResult$ = [ + 3, + n05, + _GBMCR, + 0, + [_MCR], + [() => MetadataConfigurationResult$], + 1 + ]; + var GetBucketMetadataTableConfigurationOutput$ = [ + 3, + n05, + _GBMTCO, + 0, + [_GBMTCR], + [[() => GetBucketMetadataTableConfigurationResult$, 16]] + ]; + var GetBucketMetadataTableConfigurationRequest$ = [ + 3, + n05, + _GBMTCRe, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketMetadataTableConfigurationResult$ = [ + 3, + n05, + _GBMTCR, + 0, + [_MTCR, _S, _E3], + [() => MetadataTableConfigurationResult$, 0, () => ErrorDetails$], + 2 + ]; + var GetBucketMetricsConfigurationOutput$ = [ + 3, + n05, + _GBMCOe, + 0, + [_MCe], + [[() => MetricsConfiguration$, 16]] + ]; + var GetBucketMetricsConfigurationRequest$ = [ + 3, + n05, + _GBMCRet, + 0, + [_B, _I, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetBucketNotificationConfigurationRequest$ = [ + 3, + n05, + _GBNCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketOwnershipControlsOutput$ = [ + 3, + n05, + _GBOCO, + 0, + [_OC], + [[() => OwnershipControls$, 16]] + ]; + var GetBucketOwnershipControlsRequest$ = [ + 3, + n05, + _GBOCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketPolicyOutput$ = [ + 3, + n05, + _GBPO, + 0, + [_Po], + [[0, 16]] + ]; + var GetBucketPolicyRequest$ = [ + 3, + n05, + _GBPR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketPolicyStatusOutput$ = [ + 3, + n05, + _GBPSO, + 0, + [_PS], + [[() => PolicyStatus$, 16]] + ]; + var GetBucketPolicyStatusRequest$ = [ + 3, + n05, + _GBPSR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketReplicationOutput$ = [ + 3, + n05, + _GBRO, + 0, + [_RCe], + [[() => ReplicationConfiguration$, 16]] + ]; + var GetBucketReplicationRequest$ = [ + 3, + n05, + _GBRR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketRequestPaymentOutput$ = [ + 3, + n05, + _GBRPO, + { [_xN]: _RPC }, + [_Pay], + [0] + ]; + var GetBucketRequestPaymentRequest$ = [ + 3, + n05, + _GBRPR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketTaggingOutput$ = [ + 3, + n05, + _GBTO, + { [_xN]: _Tag }, + [_TSa], + [[() => TagSet, 0]], + 1 + ]; + var GetBucketTaggingRequest$ = [ + 3, + n05, + _GBTR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketVersioningOutput$ = [ + 3, + n05, + _GBVO, + { [_xN]: _VC }, + [_S, _MFAD], + [0, [0, { [_xN]: _MDf }]] + ]; + var GetBucketVersioningRequest$ = [ + 3, + n05, + _GBVR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetBucketWebsiteOutput$ = [ + 3, + n05, + _GBWO, + { [_xN]: _WC }, + [_RART, _IDn, _EDr, _RR], + [() => RedirectAllRequestsTo$, () => IndexDocument$, () => ErrorDocument$, [() => RoutingRules, 0]] + ]; + var GetBucketWebsiteRequest$ = [ + 3, + n05, + _GBWR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetObjectAclOutput$ = [ + 3, + n05, + _GOAO, + { [_xN]: _ACP }, + [_O, _G, _RC2], + [() => Owner$, [() => Grants, { [_xN]: _ACL }], [0, { [_hH2]: _xarc }]] + ]; + var GetObjectAclRequest$ = [ + 3, + n05, + _GOAR, + 0, + [_B, _K2, _VI, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetObjectAnnotationOutput$ = [ + 3, + n05, + _GOAOe, + 0, + [_AP, _OVI, _LM, _CLo, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _RC2, _RS], + [[() => StreamingBlob, 16], [0, { [_hH2]: _xaovi }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }]] + ]; + var GetObjectAnnotationRequest$ = [ + 3, + n05, + _GOARe, + 0, + [_B, _K2, _AN, _VI, _RP, _EBO, _CMh], + [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]], + 3 + ]; + var GetObjectAttributesOutput$ = [ + 3, + n05, + _GOAOet, + { [_xN]: _GOARet }, + [_DM, _LM, _VI, _RC2, _ET, _C2, _OP, _SC, _OS], + [[2, { [_hH2]: _xadm }], [4, { [_hH2]: _LM_ }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xarc }], 0, () => Checksum$, [() => GetObjectAttributesParts$, 0], 0, 1] + ]; + var GetObjectAttributesParts$ = [ + 3, + n05, + _GOAP, + 0, + [_TPC, _PNM, _NPNM, _MP, _IT2, _Pa], + [[1, { [_xN]: _PC2 }], 0, 0, 1, 2, [() => PartsList, { [_xF]: 1, [_xN]: _Par }]] + ]; + var GetObjectAttributesRequest$ = [ + 3, + n05, + _GOARetb, + 0, + [_B, _K2, _OA, _VI, _MP, _PNM, _SSECA, _SSECK, _SSECKMD, _RP, _EBO], + [[0, 1], [0, 1], [64 | 0, { [_hH2]: _xaoa }], [0, { [_hQ2]: _vI }], [1, { [_hH2]: _xamp }], [0, { [_hH2]: _xapnm }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 3 + ]; + var GetObjectLegalHoldOutput$ = [ + 3, + n05, + _GOLHO, + 0, + [_LH], + [[() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }]] + ]; + var GetObjectLegalHoldRequest$ = [ + 3, + n05, + _GOLHR, + 0, + [_B, _K2, _VI, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetObjectLockConfigurationOutput$ = [ + 3, + n05, + _GOLCO, + 0, + [_OLC], + [[() => ObjectLockConfiguration$, 16]] + ]; + var GetObjectLockConfigurationRequest$ = [ + 3, + n05, + _GOLCR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GetObjectOutput$ = [ + 3, + n05, + _GOO, + 0, + [_Bo, _DM, _AR2, _Ex, _Re, _LM, _CLo, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _MM, _VI, _CC, _CDo, _CEo, _CL, _CR, _CTo, _Exp, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC2, _RS, _PC2, _TC2, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY], + [[() => StreamingBlob, 16], [2, { [_hH2]: _xadm }], [0, { [_hH2]: _ar }], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xar }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [1, { [_hH2]: _xamm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CR_ }], [0, { [_hH2]: _CT_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _ES }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }], [1, { [_hH2]: _xampc }], [1, { [_hH2]: _xatc }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }]] + ]; + var GetObjectRequest$ = [ + 3, + n05, + _GOR, + 0, + [_B, _K2, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh], + [[0, 1], [0, 1], [0, { [_hH2]: _IM_ }], [4, { [_hH2]: _IMS_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _Ra }], [0, { [_hQ2]: _rcc }], [0, { [_hQ2]: _rcd }], [0, { [_hQ2]: _rce }], [0, { [_hQ2]: _rcl }], [0, { [_hQ2]: _rct }], [6, { [_hQ2]: _re }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [1, { [_hQ2]: _pN }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]], + 2 + ]; + var GetObjectRetentionOutput$ = [ + 3, + n05, + _GORO, + 0, + [_Ret], + [[() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }]] + ]; + var GetObjectRetentionRequest$ = [ + 3, + n05, + _GORR, + 0, + [_B, _K2, _VI, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetObjectTaggingOutput$ = [ + 3, + n05, + _GOTO, + { [_xN]: _Tag }, + [_TSa, _VI], + [[() => TagSet, 0], [0, { [_hH2]: _xavi }]], + 1 + ]; + var GetObjectTaggingRequest$ = [ + 3, + n05, + _GOTR, + 0, + [_B, _K2, _VI, _EBO, _RP], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]], + 2 + ]; + var GetObjectTorrentOutput$ = [ + 3, + n05, + _GOTOe, + 0, + [_Bo, _RC2], + [[() => StreamingBlob, 16], [0, { [_hH2]: _xarc }]] + ]; + var GetObjectTorrentRequest$ = [ + 3, + n05, + _GOTRe, + 0, + [_B, _K2, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var GetPublicAccessBlockOutput$ = [ + 3, + n05, + _GPABO, + 0, + [_PABC], + [[() => PublicAccessBlockConfiguration$, 16]] + ]; + var GetPublicAccessBlockRequest$ = [ + 3, + n05, + _GPABR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var GlacierJobParameters$ = [ + 3, + n05, + _GJP, + 0, + [_Ti], + [0], + 1 + ]; + var Grant$ = [ + 3, + n05, + _Gr, + 0, + [_Gra, _Pe], + [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0] + ]; + var Grantee$ = [ + 3, + n05, + _Gra, + 0, + [_Ty, _DN, _EA, _ID, _URI], + [[0, { [_xA]: 1, [_xN]: _xs }], 0, 0, 0, 0], + 1 + ]; + var HeadBucketOutput$ = [ + 3, + n05, + _HBO, + 0, + [_BA, _BLT, _BLN, _BR, _APA], + [[0, { [_hH2]: _xaba }], [0, { [_hH2]: _xablt }], [0, { [_hH2]: _xabln }], [0, { [_hH2]: _xabr }], [2, { [_hH2]: _xaapa }]] + ]; + var HeadBucketRequest$ = [ + 3, + n05, + _HBR, + 0, + [_B, _EBO], + [[0, 1], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var HeadObjectOutput$ = [ + 3, + n05, + _HOO, + 0, + [_DM, _AR2, _Ex, _Re, _ASr, _LM, _CLo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _ET, _MM, _VI, _CC, _CDo, _CEo, _CL, _CTo, _CR, _Exp, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC2, _RS, _PC2, _TC2, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY], + [[2, { [_hH2]: _xadm }], [0, { [_hH2]: _ar }], [0, { [_hH2]: _xae }], [0, { [_hH2]: _xar }], [0, { [_hH2]: _xaas }], [4, { [_hH2]: _LM_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _ET }], [1, { [_hH2]: _xamm }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _CR_ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _ES }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xarc }], [0, { [_hH2]: _xars }], [1, { [_hH2]: _xampc }], [1, { [_hH2]: _xatc }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }]] + ]; + var HeadObjectRequest$ = [ + 3, + n05, + _HOR, + 0, + [_B, _K2, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh], + [[0, 1], [0, 1], [0, { [_hH2]: _IM_ }], [4, { [_hH2]: _IMS_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _Ra }], [0, { [_hQ2]: _rcc }], [0, { [_hQ2]: _rcd }], [0, { [_hQ2]: _rce }], [0, { [_hQ2]: _rcl }], [0, { [_hQ2]: _rct }], [6, { [_hQ2]: _re }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [1, { [_hQ2]: _pN }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xacm_ }]], + 2 + ]; + var IndexDocument$ = [ + 3, + n05, + _IDn, + 0, + [_Su], + [0], + 1 + ]; + var Initiator$ = [ + 3, + n05, + _In, + 0, + [_ID, _DN], + [0, 0] + ]; + var InputSerialization$ = [ + 3, + n05, + _IS, + 0, + [_CSV, _CTom, _JSON, _Parq], + [() => CSVInput$, 0, () => JSONInput$, () => ParquetInput$] + ]; + var IntelligentTieringAndOperator$ = [ + 3, + n05, + _ITAO, + 0, + [_P2, _T2], + [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]] + ]; + var IntelligentTieringConfiguration$ = [ + 3, + n05, + _ITC, + 0, + [_I, _S, _Tie, _F], + [0, 0, [() => TieringList, { [_xF]: 1, [_xN]: _Tier }], [() => IntelligentTieringFilter$, 0]], + 3 + ]; + var IntelligentTieringFilter$ = [ + 3, + n05, + _ITF, + 0, + [_P2, _Ta2, _An], + [0, () => Tag$2, [() => IntelligentTieringAndOperator$, 0]] + ]; + var InventoryConfiguration$ = [ + 3, + n05, + _IC, + 0, + [_Des, _IE, _I, _IOV, _Sc, _F, _OF], + [[() => InventoryDestination$, 0], 2, 0, 0, () => InventorySchedule$, () => InventoryFilter$, [() => InventoryOptionalFields, 0]], + 5 + ]; + var InventoryDestination$ = [ + 3, + n05, + _IDnv, + 0, + [_SBD], + [[() => InventoryS3BucketDestination$, 0]], + 1 + ]; + var InventoryEncryption$ = [ + 3, + n05, + _IEn, + 0, + [_SSES, _SSEKMS], + [[() => SSES3$, { [_xN]: _SS }], [() => SSEKMS$, { [_xN]: _SK }]] + ]; + var InventoryFilter$ = [ + 3, + n05, + _IF, + 0, + [_P2], + [0], + 1 + ]; + var InventoryS3BucketDestination$ = [ + 3, + n05, + _ISBD, + 0, + [_B, _Fo, _AI, _P2, _En], + [0, 0, 0, 0, [() => InventoryEncryption$, 0]], + 2 + ]; + var InventorySchedule$ = [ + 3, + n05, + _ISn, + 0, + [_Fr], + [0], + 1 + ]; + var InventoryTableConfiguration$ = [ + 3, + n05, + _ITCn, + 0, + [_CS2, _EC], + [0, () => MetadataTableEncryptionConfiguration$], + 1 + ]; + var InventoryTableConfigurationResult$ = [ + 3, + n05, + _ITCR, + 0, + [_CS2, _TS, _E3, _TN, _TA], + [0, 0, () => ErrorDetails$, 0, 0], + 1 + ]; + var InventoryTableConfigurationUpdates$ = [ + 3, + n05, + _ITCU, + 0, + [_CS2, _EC], + [0, () => MetadataTableEncryptionConfiguration$], + 1 + ]; + var JournalTableConfiguration$ = [ + 3, + n05, + _JTC, + 0, + [_REe, _EC], + [() => RecordExpiration$, () => MetadataTableEncryptionConfiguration$], + 1 + ]; + var JournalTableConfigurationResult$ = [ + 3, + n05, + _JTCR, + 0, + [_TS, _TN, _REe, _E3, _TA], + [0, 0, () => RecordExpiration$, () => ErrorDetails$, 0], + 3 + ]; + var JournalTableConfigurationUpdates$ = [ + 3, + n05, + _JTCU, + 0, + [_REe], + [() => RecordExpiration$], + 1 + ]; + var JSONInput$ = [ + 3, + n05, + _JSONI, + 0, + [_Ty], + [0] + ]; + var JSONOutput$ = [ + 3, + n05, + _JSONO, + 0, + [_RD], + [0] + ]; + var LambdaFunctionConfiguration$ = [ + 3, + n05, + _LFC, + 0, + [_LFA, _Ev, _I, _F], + [[0, { [_xN]: _CF }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], + 2 + ]; + var LifecycleExpiration$ = [ + 3, + n05, + _LEi, + 0, + [_Da, _D, _EODM], + [5, 1, 2] + ]; + var LifecycleRule$ = [ + 3, + n05, + _LR, + 0, + [_S, _Ex, _ID, _P2, _F, _Tr, _NVT, _NVE, _AIMU], + [0, () => LifecycleExpiration$, 0, 0, [() => LifecycleRuleFilter$, 0], [() => TransitionList, { [_xF]: 1, [_xN]: _Tra }], [() => NoncurrentVersionTransitionList, { [_xF]: 1, [_xN]: _NVTo }], () => NoncurrentVersionExpiration$, () => AbortIncompleteMultipartUpload$], + 1 + ]; + var LifecycleRuleAndOperator$ = [ + 3, + n05, + _LRAO, + 0, + [_P2, _T2, _OSGT, _OSLT], + [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }], 1, 1] + ]; + var LifecycleRuleFilter$ = [ + 3, + n05, + _LRF, + 0, + [_P2, _Ta2, _OSGT, _OSLT, _An], + [0, () => Tag$2, 1, 1, [() => LifecycleRuleAndOperator$, 0]] + ]; + var ListBucketAnalyticsConfigurationsOutput$ = [ + 3, + n05, + _LBACO, + { [_xN]: _LBACR }, + [_IT2, _CTon, _NCT, _ACLn], + [2, 0, 0, [() => AnalyticsConfigurationList, { [_xF]: 1, [_xN]: _ACn }]] + ]; + var ListBucketAnalyticsConfigurationsRequest$ = [ + 3, + n05, + _LBACRi, + 0, + [_B, _CTon, _EBO], + [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var ListBucketIntelligentTieringConfigurationsOutput$ = [ + 3, + n05, + _LBITCO, + 0, + [_IT2, _CTon, _NCT, _ITCL], + [2, 0, 0, [() => IntelligentTieringConfigurationList, { [_xF]: 1, [_xN]: _ITC }]] + ]; + var ListBucketIntelligentTieringConfigurationsRequest$ = [ + 3, + n05, + _LBITCR, + 0, + [_B, _CTon, _EBO], + [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var ListBucketInventoryConfigurationsOutput$ = [ + 3, + n05, + _LBICO, + { [_xN]: _LICR }, + [_CTon, _ICL, _IT2, _NCT], + [0, [() => InventoryConfigurationList, { [_xF]: 1, [_xN]: _IC }], 2, 0] + ]; + var ListBucketInventoryConfigurationsRequest$ = [ + 3, + n05, + _LBICR, + 0, + [_B, _CTon, _EBO], + [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var ListBucketMetricsConfigurationsOutput$ = [ + 3, + n05, + _LBMCO, + { [_xN]: _LMCR }, + [_IT2, _CTon, _NCT, _MCL], + [2, 0, 0, [() => MetricsConfigurationList, { [_xF]: 1, [_xN]: _MCe }]] + ]; + var ListBucketMetricsConfigurationsRequest$ = [ + 3, + n05, + _LBMCR, + 0, + [_B, _CTon, _EBO], + [[0, 1], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var ListBucketsOutput$ = [ + 3, + n05, + _LBO, + { [_xN]: _LAMBR }, + [_Bu, _O, _CTon, _P2], + [[() => Buckets, 0], () => Owner$, 0, 0] + ]; + var ListBucketsRequest$ = [ + 3, + n05, + _LBR, + 0, + [_MB, _CTon, _P2, _BR], + [[1, { [_hQ2]: _mb }], [0, { [_hQ2]: _ct }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _br }]] + ]; + var ListDirectoryBucketsOutput$ = [ + 3, + n05, + _LDBO, + { [_xN]: _LAMDBR }, + [_Bu, _CTon], + [[() => Buckets, 0], 0] + ]; + var ListDirectoryBucketsRequest$ = [ + 3, + n05, + _LDBR, + 0, + [_CTon, _MDB], + [[0, { [_hQ2]: _ct }], [1, { [_hQ2]: _mdb }]] + ]; + var ListMultipartUploadsOutput$ = [ + 3, + n05, + _LMUO, + { [_xN]: _LMUR }, + [_B, _KM, _UIM, _NKM, _P2, _Deli, _NUIM, _MUa, _IT2, _U, _CPom, _ETnc, _RC2], + [0, 0, 0, 0, 0, 0, 0, 1, 2, [() => MultipartUploadList, { [_xF]: 1, [_xN]: _Up }], [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]] + ]; + var ListMultipartUploadsRequest$ = [ + 3, + n05, + _LMURi, + 0, + [_B, _Deli, _ETnc, _KM, _MUa, _P2, _UIM, _EBO, _RP], + [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _km }], [1, { [_hQ2]: _mu }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _uim }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]], + 1 + ]; + var ListObjectAnnotationsOutput$ = [ + 3, + n05, + _LOAO, + 0, + [_Ann, _B, _K2, _OVI, _APn, _MAR, _ACnn, _CTon, _NCT, _RC2], + [[() => AnnotationList, 0], 0, 0, [0, { [_hH2]: _xaovi }], 0, 1, 1, 0, 0, [0, { [_hH2]: _xarc }]] + ]; + var ListObjectAnnotationsRequest$ = [ + 3, + n05, + _LOAR, + 0, + [_B, _K2, _VI, _MAR, _APn, _CTon, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [1, { [_hQ2]: _mar }], [0, { [_hQ2]: _ap }], [0, { [_hQ2]: _ct }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var ListObjectsOutput$ = [ + 3, + n05, + _LOO, + { [_xN]: _LBRi }, + [_IT2, _Ma, _NM, _Con, _N, _P2, _Deli, _MK, _CPom, _ETnc, _RC2], + [2, 0, 0, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]] + ]; + var ListObjectsRequest$ = [ + 3, + n05, + _LOR, + 0, + [_B, _Deli, _ETnc, _Ma, _MK, _P2, _RP, _EBO, _OOA], + [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _m4 }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [64 | 0, { [_hH2]: _xaooa }]], + 1 + ]; + var ListObjectsV2Output$ = [ + 3, + n05, + _LOVO, + { [_xN]: _LBRi }, + [_IT2, _Con, _N, _P2, _Deli, _MK, _CPom, _ETnc, _KC, _CTon, _NCT, _SA, _RC2], + [2, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, 1, 0, 0, 0, [0, { [_hH2]: _xarc }]] + ]; + var ListObjectsV2Request$ = [ + 3, + n05, + _LOVR, + 0, + [_B, _Deli, _ETnc, _MK, _P2, _CTon, _FO, _SA, _RP, _EBO, _OOA], + [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _ct }], [2, { [_hQ2]: _fo }], [0, { [_hQ2]: _sa }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [64 | 0, { [_hH2]: _xaooa }]], + 1 + ]; + var ListObjectVersionsOutput$ = [ + 3, + n05, + _LOVOi, + { [_xN]: _LVR }, + [_IT2, _KM, _VIM, _NKM, _NVIM, _Ve, _DMe, _N, _P2, _Deli, _MK, _CPom, _ETnc, _RC2], + [2, 0, 0, 0, 0, [() => ObjectVersionList, { [_xF]: 1, [_xN]: _Ver }], [() => DeleteMarkers, { [_xF]: 1, [_xN]: _DM }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH2]: _xarc }]] + ]; + var ListObjectVersionsRequest$ = [ + 3, + n05, + _LOVRi, + 0, + [_B, _Deli, _ETnc, _KM, _MK, _P2, _VIM, _EBO, _RP, _OOA], + [[0, 1], [0, { [_hQ2]: _d }], [0, { [_hQ2]: _et }], [0, { [_hQ2]: _km }], [1, { [_hQ2]: _mk }], [0, { [_hQ2]: _p }], [0, { [_hQ2]: _vim }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }], [64 | 0, { [_hH2]: _xaooa }]], + 1 + ]; + var ListPartsOutput$ = [ + 3, + n05, + _LPO, + { [_xN]: _LPR }, + [_ADb, _ARI2, _B, _K2, _UI, _PNM, _NPNM, _MP, _IT2, _Pa, _In, _O, _SC, _RC2, _CA2, _CT2], + [[4, { [_hH2]: _xaad }], [0, { [_hH2]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH2]: _xarc }], 0, 0] + ]; + var ListPartsRequest$ = [ + 3, + n05, + _LPRi, + 0, + [_B, _K2, _UI, _MP, _PNM, _RP, _EBO, _SSECA, _SSECK, _SSECKMD], + [[0, 1], [0, 1], [0, { [_hQ2]: _uI }], [1, { [_hQ2]: _mp }], [0, { [_hQ2]: _pnm }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }]], + 3 + ]; + var LocationInfo$ = [ + 3, + n05, + _LI, + 0, + [_Ty, _N], + [0, 0] + ]; + var LoggingEnabled$ = [ + 3, + n05, + _LE, + 0, + [_TB, _TP, _TG, _TOKF], + [0, 0, [() => TargetGrants, 0], [() => TargetObjectKeyFormat$, 0]], + 2 + ]; + var MetadataConfiguration$ = [ + 3, + n05, + _MC, + 0, + [_JTC, _ITCn, _ATC], + [() => JournalTableConfiguration$, () => InventoryTableConfiguration$, () => AnnotationTableConfiguration$], + 1 + ]; + var MetadataConfigurationResult$ = [ + 3, + n05, + _MCR, + 0, + [_DRes, _JTCR, _ITCR, _ATCR], + [() => DestinationResult$, () => JournalTableConfigurationResult$, () => InventoryTableConfigurationResult$, () => AnnotationTableConfigurationResult$], + 1 + ]; + var MetadataEntry$ = [ + 3, + n05, + _ME, + 0, + [_N, _V2], + [0, 0] + ]; + var MetadataTableConfiguration$ = [ + 3, + n05, + _MTC, + 0, + [_STD], + [() => S3TablesDestination$], + 1 + ]; + var MetadataTableConfigurationResult$ = [ + 3, + n05, + _MTCR, + 0, + [_STDR], + [() => S3TablesDestinationResult$], + 1 + ]; + var MetadataTableEncryptionConfiguration$ = [ + 3, + n05, + _MTEC, + 0, + [_SAs, _KKA], + [0, 0], + 1 + ]; + var Metrics$ = [ + 3, + n05, + _Me, + 0, + [_S, _ETv], + [0, () => ReplicationTimeValue$], + 1 + ]; + var MetricsAndOperator$ = [ + 3, + n05, + _MAO, + 0, + [_P2, _T2, _APAc], + [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }], 0] + ]; + var MetricsConfiguration$ = [ + 3, + n05, + _MCe, + 0, + [_I, _F], + [0, [() => MetricsFilter$, 0]], + 1 + ]; + var MultipartUpload$ = [ + 3, + n05, + _MU, + 0, + [_UI, _K2, _Ini, _SC, _O, _In, _CA2, _CT2], + [0, 0, 4, 0, () => Owner$, () => Initiator$, 0, 0] + ]; + var NoncurrentVersionExpiration$ = [ + 3, + n05, + _NVE, + 0, + [_ND, _NNV], + [1, 1] + ]; + var NoncurrentVersionTransition$ = [ + 3, + n05, + _NVTo, + 0, + [_ND, _SC, _NNV], + [1, 0, 1] + ]; + var NotificationConfiguration$ = [ + 3, + n05, + _NC, + 0, + [_TCo, _QCu, _LFCa, _EBC], + [[() => TopicConfigurationList, { [_xF]: 1, [_xN]: _TCop }], [() => QueueConfigurationList, { [_xF]: 1, [_xN]: _QCue }], [() => LambdaFunctionConfigurationList, { [_xF]: 1, [_xN]: _CFC }], () => EventBridgeConfiguration$] + ]; + var NotificationConfigurationFilter$ = [ + 3, + n05, + _NCF, + 0, + [_K2], + [[() => S3KeyFilter$, { [_xN]: _SKe }]] + ]; + var _Object$ = [ + 3, + n05, + _Obj, + 0, + [_K2, _LM, _ET, _CA2, _CT2, _Si, _SC, _O, _RSe], + [0, 4, 0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, () => Owner$, () => RestoreStatus$] + ]; + var ObjectIdentifier$ = [ + 3, + n05, + _OI, + 0, + [_K2, _VI, _ET, _LMT, _Si], + [0, 0, 0, 6, 1], + 1 + ]; + var ObjectLockConfiguration$ = [ + 3, + n05, + _OLC, + 0, + [_OLE, _Rul], + [0, () => ObjectLockRule$] + ]; + var ObjectLockLegalHold$ = [ + 3, + n05, + _OLLH, + 0, + [_S], + [0] + ]; + var ObjectLockRetention$ = [ + 3, + n05, + _OLR, + 0, + [_Mo, _RUD, _EHv, _EHD], + [0, 5, 0, () => EventHoldDuration$] + ]; + var ObjectLockRule$ = [ + 3, + n05, + _OLRb, + 0, + [_DRe], + [() => DefaultRetention$] + ]; + var ObjectPart$ = [ + 3, + n05, + _OPb, + 0, + [_PN, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe], + [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ]; + var ObjectVersion$ = [ + 3, + n05, + _OV, + 0, + [_ET, _CA2, _CT2, _Si, _SC, _K2, _VI, _IL, _LM, _O, _RSe], + [0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, 0, 0, 2, 4, () => Owner$, () => RestoreStatus$] + ]; + var OutputLocation$ = [ + 3, + n05, + _OL, + 0, + [_S_], + [[() => S3Location$, 0]] + ]; + var OutputSerialization$ = [ + 3, + n05, + _OSu, + 0, + [_CSV, _JSON], + [() => CSVOutput$, () => JSONOutput$] + ]; + var Owner$ = [ + 3, + n05, + _O, + 0, + [_DN, _ID], + [0, 0] + ]; + var OwnershipControls$ = [ + 3, + n05, + _OC, + 0, + [_Ru], + [[() => OwnershipControlsRules, { [_xF]: 1, [_xN]: _Rul }]], + 1 + ]; + var OwnershipControlsRule$ = [ + 3, + n05, + _OCR, + 0, + [_OO], + [0], + 1 + ]; + var ParquetInput$ = [ + 3, + n05, + _PI2, + 0, + [], + [] + ]; + var Part$ = [ + 3, + n05, + _Par, + 0, + [_PN, _LM, _ET, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe], + [1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ]; + var PartitionedPrefix$ = [ + 3, + n05, + _PP, + { [_xN]: _PP }, + [_PDS], + [0] + ]; + var PolicyStatus$ = [ + 3, + n05, + _PS, + 0, + [_IPs], + [[2, { [_xN]: _IPs }]] + ]; + var Progress$ = [ + 3, + n05, + _Pr2, + 0, + [_BS, _BP, _BRy], + [1, 1, 1] + ]; + var ProgressEvent$ = [ + 3, + n05, + _PE, + 0, + [_Det], + [[() => Progress$, { [_eP]: 1 }]] + ]; + var PublicAccessBlockConfiguration$ = [ + 3, + n05, + _PABC, + 0, + [_BPA, _IPA, _BPP, _RPB], + [[2, { [_xN]: _BPA }], [2, { [_xN]: _IPA }], [2, { [_xN]: _BPP }], [2, { [_xN]: _RPB }]] + ]; + var PutBucketAbacRequest$ = [ + 3, + n05, + _PBAR, + 0, + [_B, _AS, _CMDo, _CA2, _EBO], + [[0, 1], [() => AbacStatus$, { [_hP]: 1, [_xN]: _AS }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketAccelerateConfigurationRequest$ = [ + 3, + n05, + _PBACR, + 0, + [_B, _AC, _EBO, _CA2], + [[0, 1], [() => AccelerateConfiguration$, { [_hP]: 1, [_xN]: _AC }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]], + 2 + ]; + var PutBucketAclRequest$ = [ + 3, + n05, + _PBARu, + 0, + [_B, _ACL_, _ACP, _CMDo, _CA2, _GFC, _GR, _GRACP, _GW, _GWACP, _EBO], + [[0, 1], [0, { [_hH2]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var PutBucketAnalyticsConfigurationRequest$ = [ + 3, + n05, + _PBACRu, + 0, + [_B, _I, _ACn, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [() => AnalyticsConfiguration$, { [_hP]: 1, [_xN]: _ACn }], [0, { [_hH2]: _xaebo }]], + 3 + ]; + var PutBucketCorsRequest$ = [ + 3, + n05, + _PBCR, + 0, + [_B, _CORSC, _CMDo, _CA2, _EBO], + [[0, 1], [() => CORSConfiguration$, { [_hP]: 1, [_xN]: _CORSC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketEncryptionRequest$ = [ + 3, + n05, + _PBER, + 0, + [_B, _SSEC, _CMDo, _CA2, _EBO], + [[0, 1], [() => ServerSideEncryptionConfiguration$, { [_hP]: 1, [_xN]: _SSEC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketIntelligentTieringConfigurationRequest$ = [ + 3, + n05, + _PBITCR, + 0, + [_B, _I, _ITC, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [() => IntelligentTieringConfiguration$, { [_hP]: 1, [_xN]: _ITC }], [0, { [_hH2]: _xaebo }]], + 3 + ]; + var PutBucketInventoryConfigurationRequest$ = [ + 3, + n05, + _PBICR, + 0, + [_B, _I, _IC, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [() => InventoryConfiguration$, { [_hP]: 1, [_xN]: _IC }], [0, { [_hH2]: _xaebo }]], + 3 + ]; + var PutBucketLifecycleConfigurationOutput$ = [ + 3, + n05, + _PBLCO, + 0, + [_TDMOS], + [[0, { [_hH2]: _xatdmos }]] + ]; + var PutBucketLifecycleConfigurationRequest$ = [ + 3, + n05, + _PBLCR, + 0, + [_B, _CA2, _LCi, _EBO, _TDMOS], + [[0, 1], [0, { [_hH2]: _xasca }], [() => BucketLifecycleConfiguration$, { [_hP]: 1, [_xN]: _LCi }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xatdmos }]], + 1 + ]; + var PutBucketLoggingRequest$ = [ + 3, + n05, + _PBLR, + 0, + [_B, _BLS, _CMDo, _CA2, _EBO], + [[0, 1], [() => BucketLoggingStatus$, { [_hP]: 1, [_xN]: _BLS }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketMetricsConfigurationRequest$ = [ + 3, + n05, + _PBMCR, + 0, + [_B, _I, _MCe, _EBO], + [[0, 1], [0, { [_hQ2]: _i }], [() => MetricsConfiguration$, { [_hP]: 1, [_xN]: _MCe }], [0, { [_hH2]: _xaebo }]], + 3 + ]; + var PutBucketNotificationConfigurationRequest$ = [ + 3, + n05, + _PBNCR, + 0, + [_B, _NC, _EBO, _SDV], + [[0, 1], [() => NotificationConfiguration$, { [_hP]: 1, [_xN]: _NC }], [0, { [_hH2]: _xaebo }], [2, { [_hH2]: _xasdv }]], + 2 + ]; + var PutBucketOwnershipControlsRequest$ = [ + 3, + n05, + _PBOCR, + 0, + [_B, _OC, _CMDo, _EBO, _CA2], + [[0, 1], [() => OwnershipControls$, { [_hP]: 1, [_xN]: _OC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasca }]], + 2 + ]; + var PutBucketPolicyRequest$ = [ + 3, + n05, + _PBPR, + 0, + [_B, _Po, _CMDo, _CA2, _CRSBA, _EBO], + [[0, 1], [0, 16], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [2, { [_hH2]: _xacrsba }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketReplicationRequest$ = [ + 3, + n05, + _PBRR, + 0, + [_B, _RCe, _CMDo, _CA2, _To, _EBO], + [[0, 1], [() => ReplicationConfiguration$, { [_hP]: 1, [_xN]: _RCe }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xabolt }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketRequestPaymentRequest$ = [ + 3, + n05, + _PBRPR, + 0, + [_B, _RPC, _CMDo, _CA2, _EBO], + [[0, 1], [() => RequestPaymentConfiguration$, { [_hP]: 1, [_xN]: _RPC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketTaggingRequest$ = [ + 3, + n05, + _PBTR, + 0, + [_B, _Tag, _CMDo, _CA2, _EBO], + [[0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketVersioningRequest$ = [ + 3, + n05, + _PBVR, + 0, + [_B, _VC, _CMDo, _CA2, _MFA, _EBO], + [[0, 1], [() => VersioningConfiguration$, { [_hP]: 1, [_xN]: _VC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xam_ }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutBucketWebsiteRequest$ = [ + 3, + n05, + _PBWR, + 0, + [_B, _WC, _CMDo, _CA2, _EBO], + [[0, 1], [() => WebsiteConfiguration$, { [_hP]: 1, [_xN]: _WC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutObjectAclOutput$ = [ + 3, + n05, + _POAO, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var PutObjectAclRequest$ = [ + 3, + n05, + _POAR, + 0, + [_B, _K2, _ACL_, _ACP, _CMDo, _CA2, _GFC, _GR, _GRACP, _GW, _GWACP, _RP, _VI, _EBO], + [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagw }], [0, { [_hH2]: _xagwa }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutObjectAnnotationOutput$ = [ + 3, + n05, + _POAOu, + 0, + [_K2, _AN, _OVI, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _RC2], + [0, 0, [0, { [_hH2]: _xaovi }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xarc }]] + ]; + var PutObjectAnnotationRequest$ = [ + 3, + n05, + _POARu, + 0, + [_B, _K2, _AN, _AP, _VI, _OIM, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CMDo, _RP, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _aN }], [() => StreamingBlob, 16], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xaoim }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 4 + ]; + var PutObjectLegalHoldOutput$ = [ + 3, + n05, + _POLHO, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var PutObjectLegalHoldRequest$ = [ + 3, + n05, + _POLHR, + 0, + [_B, _K2, _LH, _RP, _VI, _CMDo, _CA2, _EBO], + [[0, 1], [0, 1], [() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutObjectLockConfigurationOutput$ = [ + 3, + n05, + _POLCO, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var PutObjectLockConfigurationRequest$ = [ + 3, + n05, + _POLCR, + 0, + [_B, _OLC, _RP, _To, _CMDo, _CA2, _EBO], + [[0, 1], [() => ObjectLockConfiguration$, { [_hP]: 1, [_xN]: _OLC }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xabolt }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 1 + ]; + var PutObjectOutput$ = [ + 3, + n05, + _POO, + 0, + [_Ex, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _CT2, _SSE, _VI, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _Si, _RC2], + [[0, { [_hH2]: _xae }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xact }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xavi }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [1, { [_hH2]: _xaos }], [0, { [_hH2]: _xarc }]] + ]; + var PutObjectRequest$ = [ + 3, + n05, + _POR, + 0, + [_B, _K2, _ACL_, _Bo, _CC, _CDo, _CEo, _CL, _CLo, _CMDo, _CTo, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _Exp, _IM, _INM, _GFC, _GR, _GRACP, _GWACP, _WOB, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _OLEH, _OLEHDD, _OLEHDY, _EBO], + [[0, 1], [0, 1], [0, { [_hH2]: _xaa }], [() => StreamingBlob, 16], [0, { [_hH2]: _CC_ }], [0, { [_hH2]: _CD_ }], [0, { [_hH2]: _CE_ }], [0, { [_hH2]: _CL_ }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _CT_ }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [4, { [_hH2]: _Exp }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [0, { [_hH2]: _xagfc }], [0, { [_hH2]: _xagr }], [0, { [_hH2]: _xagra }], [0, { [_hH2]: _xagwa }], [1, { [_hH2]: _xawob }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasc }], [0, { [_hH2]: _xawrl }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH2]: _xassec }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xat }], [0, { [_hH2]: _xaolm }], [5, { [_hH2]: _xaolrud }], [0, { [_hH2]: _xaollh }], [0, { [_hH2]: _xaoleh }], [1, { [_hH2]: _xaolehdd }], [1, { [_hH2]: _xaolehdy }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutObjectRetentionOutput$ = [ + 3, + n05, + _PORO, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var PutObjectRetentionRequest$ = [ + 3, + n05, + _PORR, + 0, + [_B, _K2, _Ret, _RP, _VI, _BGR, _CMDo, _CA2, _EBO], + [[0, 1], [0, 1], [() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }], [0, { [_hH2]: _xarp }], [0, { [_hQ2]: _vI }], [2, { [_hH2]: _xabgr }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var PutObjectTaggingOutput$ = [ + 3, + n05, + _POTO, + 0, + [_VI], + [[0, { [_hH2]: _xavi }]] + ]; + var PutObjectTaggingRequest$ = [ + 3, + n05, + _POTR, + 0, + [_B, _K2, _Tag, _VI, _CMDo, _CA2, _EBO, _RP], + [[0, 1], [0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xarp }]], + 3 + ]; + var PutPublicAccessBlockRequest$ = [ + 3, + n05, + _PPABR, + 0, + [_B, _PABC, _CMDo, _CA2, _EBO], + [[0, 1], [() => PublicAccessBlockConfiguration$, { [_hP]: 1, [_xN]: _PABC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var QueueConfiguration$ = [ + 3, + n05, + _QCue, + 0, + [_QA, _Ev, _I, _F], + [[0, { [_xN]: _Qu }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], + 2 + ]; + var RecordExpiration$ = [ + 3, + n05, + _REe, + 0, + [_Ex, _D], + [0, 1], + 1 + ]; + var RecordsEvent$ = [ + 3, + n05, + _REec, + 0, + [_Payl], + [[21, { [_eP]: 1 }]] + ]; + var Redirect$ = [ + 3, + n05, + _Red, + 0, + [_HN, _HRC, _Pro, _RKPW, _RKW], + [0, 0, 0, 0, 0] + ]; + var RedirectAllRequestsTo$ = [ + 3, + n05, + _RART, + 0, + [_HN, _Pro], + [0, 0], + 1 + ]; + var RenameObjectOutput$ = [ + 3, + n05, + _ROO, + 0, + [], + [] + ]; + var RenameObjectRequest$ = [ + 3, + n05, + _ROR, + 0, + [_B, _K2, _RSen, _DIM, _DINM, _DIMS, _DIUS, _SIM, _SINM, _SIMS, _SIUS, _CTl], + [[0, 1], [0, 1], [0, { [_hH2]: _xars_ }], [0, { [_hH2]: _IM_ }], [0, { [_hH2]: _INM_ }], [4, { [_hH2]: _IMS_ }], [4, { [_hH2]: _IUS_ }], [0, { [_hH2]: _xarsim }], [0, { [_hH2]: _xarsinm }], [6, { [_hH2]: _xarsims }], [6, { [_hH2]: _xarsius }], [0, { [_hH2]: _xact_, [_iT3]: 1 }]], + 3 + ]; + var ReplicaModifications$ = [ + 3, + n05, + _RM, + 0, + [_S], + [0], + 1 + ]; + var ReplicationConfiguration$ = [ + 3, + n05, + _RCe, + 0, + [_R, _Ru], + [0, [() => ReplicationRules, { [_xF]: 1, [_xN]: _Rul }]], + 2 + ]; + var ReplicationRule$ = [ + 3, + n05, + _RRe, + 0, + [_S, _Des, _ID, _Pri, _P2, _F, _SSC, _EOR, _DMR], + [0, () => Destination$, 0, 1, 0, [() => ReplicationRuleFilter$, 0], () => SourceSelectionCriteria$, () => ExistingObjectReplication$, () => DeleteMarkerReplication$], + 2 + ]; + var ReplicationRuleAndOperator$ = [ + 3, + n05, + _RRAO, + 0, + [_P2, _T2], + [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta2 }]] + ]; + var ReplicationRuleFilter$ = [ + 3, + n05, + _RRF, + 0, + [_P2, _Ta2, _An], + [0, () => Tag$2, [() => ReplicationRuleAndOperator$, 0]] + ]; + var ReplicationTime$ = [ + 3, + n05, + _RT3, + 0, + [_S, _Tim], + [0, () => ReplicationTimeValue$], + 2 + ]; + var ReplicationTimeValue$ = [ + 3, + n05, + _RTV, + 0, + [_Mi], + [1] + ]; + var RequestPaymentConfiguration$ = [ + 3, + n05, + _RPC, + 0, + [_Pay], + [0], + 1 + ]; + var RequestProgress$ = [ + 3, + n05, + _RPe, + 0, + [_Ena], + [2] + ]; + var RestoreObjectOutput$ = [ + 3, + n05, + _ROOe, + 0, + [_RC2, _ROP], + [[0, { [_hH2]: _xarc }], [0, { [_hH2]: _xarop }]] + ]; + var RestoreObjectRequest$ = [ + 3, + n05, + _RORe, + 0, + [_B, _K2, _VI, _RRes, _RP, _CA2, _EBO], + [[0, 1], [0, 1], [0, { [_hQ2]: _vI }], [() => RestoreRequest$, { [_hP]: 1, [_xN]: _RRes }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var RestoreRequest$ = [ + 3, + n05, + _RRes, + 0, + [_D, _GJP, _Ty, _Ti, _Desc, _SP, _OL], + [1, () => GlacierJobParameters$, 0, 0, 0, () => SelectParameters$, [() => OutputLocation$, 0]] + ]; + var RestoreStatus$ = [ + 3, + n05, + _RSe, + 0, + [_IRIP, _RED], + [2, 4] + ]; + var RoutingRule$ = [ + 3, + n05, + _RRo, + 0, + [_Red, _Co], + [() => Redirect$, () => Condition$], + 1 + ]; + var S3KeyFilter$ = [ + 3, + n05, + _SKF, + 0, + [_FRi], + [[() => FilterRuleList, { [_xF]: 1, [_xN]: _FR }]] + ]; + var S3Location$ = [ + 3, + n05, + _SL, + 0, + [_BNu, _P2, _En, _CACL, _ACL, _Tag, _UM, _SC], + [0, 0, [() => Encryption$, 0], 0, [() => Grants, 0], [() => Tagging$, 0], [() => UserMetadata, 0], 0], + 2 + ]; + var S3TablesDestination$ = [ + 3, + n05, + _STD, + 0, + [_TBA, _TN], + [0, 0], + 2 + ]; + var S3TablesDestinationResult$ = [ + 3, + n05, + _STDR, + 0, + [_TBA, _TN, _TA, _TNa], + [0, 0, 0, 0], + 4 + ]; + var ScanRange$ = [ + 3, + n05, + _SR, + 0, + [_St, _End], + [1, 1] + ]; + var SelectObjectContentOutput$ = [ + 3, + n05, + _SOCO, + 0, + [_Payl], + [[() => SelectObjectContentEventStream$, 16]] + ]; + var SelectObjectContentRequest$ = [ + 3, + n05, + _SOCR, + 0, + [_B, _K2, _Expr, _ETx, _IS, _OSu, _SSECA, _SSECK, _SSECKMD, _RPe, _SR, _EBO], + [[0, 1], [0, 1], 0, 0, () => InputSerialization$, () => OutputSerialization$, [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], () => RequestProgress$, () => ScanRange$, [0, { [_hH2]: _xaebo }]], + 6 + ]; + var SelectParameters$ = [ + 3, + n05, + _SP, + 0, + [_IS, _ETx, _Expr, _OSu], + [() => InputSerialization$, 0, 0, () => OutputSerialization$], + 4 + ]; + var ServerSideEncryptionByDefault$ = [ + 3, + n05, + _SSEBD, + 0, + [_SSEA, _KMSMKID], + [0, [() => SSEKMSKeyId, 0]], + 1 + ]; + var ServerSideEncryptionConfiguration$ = [ + 3, + n05, + _SSEC, + 0, + [_Ru], + [[() => ServerSideEncryptionRules, { [_xF]: 1, [_xN]: _Rul }]], + 1 + ]; + var ServerSideEncryptionRule$ = [ + 3, + n05, + _SSER, + 0, + [_ASSEBD, _BKE, _BET], + [[() => ServerSideEncryptionByDefault$, 0], 2, [() => BlockedEncryptionTypes$, 0]] + ]; + var SessionCredentials$ = [ + 3, + n05, + _SCe, + 0, + [_AKI2, _SAK2, _ST2, _Ex], + [[0, { [_xN]: _AKI2 }], [() => SessionCredentialValue, { [_xN]: _SAK2 }], [() => SessionCredentialValue, { [_xN]: _ST2 }], [4, { [_xN]: _Ex }]], + 4 + ]; + var SimplePrefix$ = [ + 3, + n05, + _SPi, + { [_xN]: _SPi }, + [], + [] + ]; + var SourceSelectionCriteria$ = [ + 3, + n05, + _SSC, + 0, + [_SKEO, _RM], + [() => SseKmsEncryptedObjects$, () => ReplicaModifications$] + ]; + var SSEKMS$ = [ + 3, + n05, + _SSEKMS, + { [_xN]: _SK }, + [_KI], + [[() => SSEKMSKeyId, 0]], + 1 + ]; + var SseKmsEncryptedObjects$ = [ + 3, + n05, + _SKEO, + 0, + [_S], + [0], + 1 + ]; + var SSEKMSEncryption$ = [ + 3, + n05, + _SSEKMSE, + { [_xN]: _SK }, + [_KMSKA, _BKE], + [[() => NonEmptyKmsKeyArnString, 0], 2], + 1 + ]; + var SSES3$ = [ + 3, + n05, + _SSES, + { [_xN]: _SS }, + [], + [] + ]; + var Stats$ = [ + 3, + n05, + _Sta, + 0, + [_BS, _BP, _BRy], + [1, 1, 1] + ]; + var StatsEvent$ = [ + 3, + n05, + _SE, + 0, + [_Det], + [[() => Stats$, { [_eP]: 1 }]] + ]; + var StorageClassAnalysis$ = [ + 3, + n05, + _SCA, + 0, + [_DE], + [() => StorageClassAnalysisDataExport$] + ]; + var StorageClassAnalysisDataExport$ = [ + 3, + n05, + _SCADE, + 0, + [_OSV, _Des], + [0, () => AnalyticsExportDestination$], + 2 + ]; + var Tag$2 = [ + 3, + n05, + _Ta2, + 0, + [_K2, _V2], + [0, 0], + 2 + ]; + var Tagging$ = [ + 3, + n05, + _Tag, + 0, + [_TSa], + [[() => TagSet, 0]], + 1 + ]; + var TargetGrant$ = [ + 3, + n05, + _TGa, + 0, + [_Gra, _Pe], + [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0] + ]; + var TargetObjectKeyFormat$ = [ + 3, + n05, + _TOKF, + 0, + [_SPi, _PP], + [[() => SimplePrefix$, { [_xN]: _SPi }], [() => PartitionedPrefix$, { [_xN]: _PP }]] + ]; + var Tiering$ = [ + 3, + n05, + _Tier, + 0, + [_D, _AT3], + [1, 0], + 2 + ]; + var TopicConfiguration$ = [ + 3, + n05, + _TCop, + 0, + [_TAo, _Ev, _I, _F], + [[0, { [_xN]: _Top }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], + 2 + ]; + var Transition$ = [ + 3, + n05, + _Tra, + 0, + [_Da, _D, _SC], + [5, 1, 0] + ]; + var UpdateBucketMetadataAnnotationTableConfigurationRequest$ = [ + 3, + n05, + _UBMATCR, + 0, + [_B, _ATC, _CMDo, _CA2, _EBO], + [[0, 1], [() => AnnotationTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ATC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var UpdateBucketMetadataInventoryTableConfigurationRequest$ = [ + 3, + n05, + _UBMITCR, + 0, + [_B, _ITCn, _CMDo, _CA2, _EBO], + [[0, 1], [() => InventoryTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ITCn }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var UpdateBucketMetadataJournalTableConfigurationRequest$ = [ + 3, + n05, + _UBMJTCR, + 0, + [_B, _JTC, _CMDo, _CA2, _EBO], + [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xaebo }]], + 2 + ]; + var UpdateObjectEncryptionRequest$ = [ + 3, + n05, + _UOER, + 0, + [_B, _K2, _OE, _VI, _RP, _EBO, _CMDo, _CA2], + [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ2]: _vI }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }]], + 3 + ]; + var UpdateObjectEncryptionResponse$ = [ + 3, + n05, + _UOERp, + 0, + [_RC2], + [[0, { [_hH2]: _xarc }]] + ]; + var UploadPartCopyOutput$ = [ + 3, + n05, + _UPCO, + 0, + [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC2], + [[0, { [_hH2]: _xacsvi }], [() => CopyPartResult$, 16], [0, { [_hH2]: _xasse }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]] + ]; + var UploadPartCopyRequest$ = [ + 3, + n05, + _UPCR, + 0, + [_B, _CSo, _K2, _PN, _UI, _CSIM, _CSIMS, _CSINM, _CSIUS, _CSRo, _SSECA, _SSECK, _SSECKMD, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _EBO, _ESBO], + [[0, 1], [0, { [_hH2]: _xacs___ }], [0, 1], [1, { [_hQ2]: _pN }], [0, { [_hQ2]: _uI }], [0, { [_hH2]: _xacsim }], [4, { [_hH2]: _xacsims }], [0, { [_hH2]: _xacsinm }], [4, { [_hH2]: _xacsius }], [0, { [_hH2]: _xacsr }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH2]: _xacssseck }], [0, { [_hH2]: _xacssseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }], [0, { [_hH2]: _xasebo }]], + 5 + ]; + var UploadPartOutput$ = [ + 3, + n05, + _UPO, + 0, + [_SSE, _ET, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC2], + [[0, { [_hH2]: _xasse }], [0, { [_hH2]: _ET }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xasseca }], [0, { [_hH2]: _xasseckM }], [() => SSEKMSKeyId, { [_hH2]: _xasseakki }], [2, { [_hH2]: _xassebke }], [0, { [_hH2]: _xarc }]] + ]; + var UploadPartRequest$ = [ + 3, + n05, + _UPR, + 0, + [_B, _K2, _PN, _UI, _Bo, _CLo, _CMDo, _CA2, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _SSECA, _SSECK, _SSECKMD, _RP, _EBO], + [[0, 1], [0, 1], [1, { [_hQ2]: _pN }], [0, { [_hQ2]: _uI }], [() => StreamingBlob, 16], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _CM }], [0, { [_hH2]: _xasca }], [0, { [_hH2]: _xacc }], [0, { [_hH2]: _xacc_ }], [0, { [_hH2]: _xacc__ }], [0, { [_hH2]: _xacs }], [0, { [_hH2]: _xacs_ }], [0, { [_hH2]: _xacs__ }], [0, { [_hH2]: _xacm }], [0, { [_hH2]: _xacx }], [0, { [_hH2]: _xacx_ }], [0, { [_hH2]: _xacx__ }], [0, { [_hH2]: _xasseca }], [() => SSECustomerKey, { [_hH2]: _xasseck }], [0, { [_hH2]: _xasseckM }], [0, { [_hH2]: _xarp }], [0, { [_hH2]: _xaebo }]], + 4 + ]; + var VersioningConfiguration$ = [ + 3, + n05, + _VC, + 0, + [_MFAD, _S], + [[0, { [_xN]: _MDf }], 0] + ]; + var WebsiteConfiguration$ = [ + 3, + n05, + _WC, + 0, + [_EDr, _IDn, _RART, _RR], + [() => ErrorDocument$, () => IndexDocument$, () => RedirectAllRequestsTo$, [() => RoutingRules, 0]] + ]; + var WriteGetObjectResponseRequest$ = [ + 3, + n05, + _WGORR, + 0, + [_RReq, _RTe, _Bo, _SCt, _ECr, _EM, _AR2, _CC, _CDo, _CEo, _CL, _CLo, _CR, _CTo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CSHAhe, _CMD, _CXXHASH, _CXXHASHh, _CXXHASHhe, _DM, _ET, _Exp, _Ex, _LM, _MM, _M, _OLM, _OLLHS, _OLRUD, _PC2, _RS, _RC2, _Re, _SSE, _SSECA, _SSEKMSKI, _SSECKMD, _SC, _TC2, _VI, _BKE], + [[0, { [_hL]: 1, [_hH2]: _xarr }], [0, { [_hH2]: _xart }], [() => StreamingBlob, 16], [1, { [_hH2]: _xafs }], [0, { [_hH2]: _xafec }], [0, { [_hH2]: _xafem }], [0, { [_hH2]: _xafhar }], [0, { [_hH2]: _xafhCC }], [0, { [_hH2]: _xafhCD }], [0, { [_hH2]: _xafhCE }], [0, { [_hH2]: _xafhCL }], [1, { [_hH2]: _CL__ }], [0, { [_hH2]: _xafhCR }], [0, { [_hH2]: _xafhCT }], [0, { [_hH2]: _xafhxacc }], [0, { [_hH2]: _xafhxacc_ }], [0, { [_hH2]: _xafhxacc__ }], [0, { [_hH2]: _xafhxacs }], [0, { [_hH2]: _xafhxacs_ }], [0, { [_hH2]: _xafhxacs__ }], [0, { [_hH2]: _xafhxacm }], [0, { [_hH2]: _xafhxacx }], [0, { [_hH2]: _xafhxacx_ }], [0, { [_hH2]: _xafhxacx__ }], [2, { [_hH2]: _xafhxadm }], [0, { [_hH2]: _xafhE }], [4, { [_hH2]: _xafhE_ }], [0, { [_hH2]: _xafhxae }], [4, { [_hH2]: _xafhLM }], [1, { [_hH2]: _xafhxamm }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH2]: _xafhxaolm }], [0, { [_hH2]: _xafhxaollh }], [5, { [_hH2]: _xafhxaolrud }], [1, { [_hH2]: _xafhxampc }], [0, { [_hH2]: _xafhxars }], [0, { [_hH2]: _xafhxarc }], [0, { [_hH2]: _xafhxar }], [0, { [_hH2]: _xafhxasse }], [0, { [_hH2]: _xafhxasseca }], [() => SSEKMSKeyId, { [_hH2]: _xafhxasseakki }], [0, { [_hH2]: _xafhxasseckM }], [0, { [_hH2]: _xafhxasc }], [1, { [_hH2]: _xafhxatc }], [0, { [_hH2]: _xafhxavi }], [2, { [_hH2]: _xafhxassebke }]], + 2 + ]; + var __Unit = "unit"; + var AnalyticsConfigurationList = [ + 1, + n05, + _ACLn, + 0, + [ + () => AnalyticsConfiguration$, + 0 + ] + ]; + var AnnotationList = [ + 1, + n05, + _AL, + 0, + [ + () => AnnotationEntry$, + { [_xN]: _AE } + ] + ]; + var Buckets = [ + 1, + n05, + _Bu, + 0, + [ + () => Bucket$, + { [_xN]: _B } + ] + ]; + var CommonPrefixList = [ + 1, + n05, + _CPL, + 0, + () => CommonPrefix$ + ]; + var CompletedPartList = [ + 1, + n05, + _CPLo, + 0, + () => CompletedPart$ + ]; + var CORSRules = [ + 1, + n05, + _CORSR, + 0, + [ + () => CORSRule$, + 0 + ] + ]; + var DeletedObjects = [ + 1, + n05, + _DOe, + 0, + () => DeletedObject$ + ]; + var DeleteMarkers = [ + 1, + n05, + _DMe, + 0, + () => DeleteMarkerEntry$ + ]; + var EncryptionTypeList = [ + 1, + n05, + _ETL, + 0, + [ + 0, + { [_xN]: _ETn } + ] + ]; + var Errors = [ + 1, + n05, + _Er, + 0, + () => _Error$ + ]; + var FilterRuleList = [ + 1, + n05, + _FRL, + 0, + () => FilterRule$ + ]; + var Grants = [ + 1, + n05, + _G, + 0, + [ + () => Grant$, + { [_xN]: _Gr } + ] + ]; + var IntelligentTieringConfigurationList = [ + 1, + n05, + _ITCL, + 0, + [ + () => IntelligentTieringConfiguration$, + 0 + ] + ]; + var InventoryConfigurationList = [ + 1, + n05, + _ICL, + 0, + [ + () => InventoryConfiguration$, + 0 + ] + ]; + var InventoryOptionalFields = [ + 1, + n05, + _IOF, + 0, + [ + 0, + { [_xN]: _Fi } + ] + ]; + var LambdaFunctionConfigurationList = [ + 1, + n05, + _LFCL, + 0, + [ + () => LambdaFunctionConfiguration$, + 0 + ] + ]; + var LifecycleRules = [ + 1, + n05, + _LRi, + 0, + [ + () => LifecycleRule$, + 0 + ] + ]; + var MetricsConfigurationList = [ + 1, + n05, + _MCL, + 0, + [ + () => MetricsConfiguration$, + 0 + ] + ]; + var MultipartUploadList = [ + 1, + n05, + _MUL, + 0, + () => MultipartUpload$ + ]; + var NoncurrentVersionTransitionList = [ + 1, + n05, + _NVTL, + 0, + () => NoncurrentVersionTransition$ + ]; + var ObjectIdentifierList = [ + 1, + n05, + _OIL, + 0, + () => ObjectIdentifier$ + ]; + var ObjectList = [ + 1, + n05, + _OLb, + 0, + [ + () => _Object$, + 0 + ] + ]; + var ObjectVersionList = [ + 1, + n05, + _OVL, + 0, + [ + () => ObjectVersion$, + 0 + ] + ]; + var OwnershipControlsRules = [ + 1, + n05, + _OCRw, + 0, + () => OwnershipControlsRule$ + ]; + var Parts = [ + 1, + n05, + _Pa, + 0, + () => Part$ + ]; + var PartsList = [ + 1, + n05, + _PL, + 0, + () => ObjectPart$ + ]; + var QueueConfigurationList = [ + 1, + n05, + _QCL, + 0, + [ + () => QueueConfiguration$, + 0 + ] + ]; + var ReplicationRules = [ + 1, + n05, + _RRep, + 0, + [ + () => ReplicationRule$, + 0 + ] + ]; + var RoutingRules = [ + 1, + n05, + _RR, + 0, + [ + () => RoutingRule$, + { [_xN]: _RRo } + ] + ]; + var ServerSideEncryptionRules = [ + 1, + n05, + _SSERe, + 0, + [ + () => ServerSideEncryptionRule$, + 0 + ] + ]; + var TagSet = [ + 1, + n05, + _TSa, + 0, + [ + () => Tag$2, + { [_xN]: _Ta2 } + ] + ]; + var TargetGrants = [ + 1, + n05, + _TG, + 0, + [ + () => TargetGrant$, + { [_xN]: _Gr } + ] + ]; + var TieringList = [ + 1, + n05, + _TL, + 0, + () => Tiering$ + ]; + var TopicConfigurationList = [ + 1, + n05, + _TCL, + 0, + [ + () => TopicConfiguration$, + 0 + ] + ]; + var TransitionList = [ + 1, + n05, + _TLr, + 0, + () => Transition$ + ]; + var UserMetadata = [ + 1, + n05, + _UM, + 0, + [ + () => MetadataEntry$, + { [_xN]: _ME } + ] + ]; + var AnalyticsFilter$ = [ + 4, + n05, + _AF, + 0, + [_P2, _Ta2, _An], + [0, () => Tag$2, [() => AnalyticsAndOperator$, 0]] + ]; + var MetricsFilter$ = [ + 4, + n05, + _MF, + 0, + [_P2, _Ta2, _APAc, _An], + [0, () => Tag$2, 0, [() => MetricsAndOperator$, 0]] + ]; + var ObjectEncryption$ = [ + 4, + n05, + _OE, + 0, + [_SSEKMS], + [[() => SSEKMSEncryption$, { [_xN]: _SK }]] + ]; + var SelectObjectContentEventStream$ = [ + 4, + n05, + _SOCES, + { [_st]: 1 }, + [_Rec, _Sta, _Pr2, _Cont, _End], + [[() => RecordsEvent$, 0], [() => StatsEvent$, 0], [() => ProgressEvent$, 0], () => ContinuationEvent$, () => EndEvent$] + ]; + var AbortMultipartUpload$ = [ + 9, + n05, + _AMU, + { [_h4]: ["DELETE", "/{Key+}?x-id=AbortMultipartUpload", 204] }, + () => AbortMultipartUploadRequest$, + () => AbortMultipartUploadOutput$ + ]; + var CompleteMultipartUpload$ = [ + 9, + n05, + _CMUo, + { [_h4]: ["POST", "/{Key+}", 200] }, + () => CompleteMultipartUploadRequest$, + () => CompleteMultipartUploadOutput$ + ]; + var CopyObject$ = [ + 9, + n05, + _CO, + { [_h4]: ["PUT", "/{Key+}?x-id=CopyObject", 200] }, + () => CopyObjectRequest$, + () => CopyObjectOutput$ + ]; + var CreateBucket$ = [ + 9, + n05, + _CB, + { [_h4]: ["PUT", "/", 200] }, + () => CreateBucketRequest$, + () => CreateBucketOutput$ + ]; + var CreateBucketMetadataConfiguration$ = [ + 9, + n05, + _CBMC, + { [_hC]: "-", [_h4]: ["POST", "/?metadataConfiguration", 200] }, + () => CreateBucketMetadataConfigurationRequest$, + () => __Unit + ]; + var CreateBucketMetadataTableConfiguration$ = [ + 9, + n05, + _CBMTC, + { [_hC]: "-", [_h4]: ["POST", "/?metadataTable", 200] }, + () => CreateBucketMetadataTableConfigurationRequest$, + () => __Unit + ]; + var CreateMultipartUpload$ = [ + 9, + n05, + _CMUr, + { [_h4]: ["POST", "/{Key+}?uploads", 200] }, + () => CreateMultipartUploadRequest$, + () => CreateMultipartUploadOutput$ + ]; + var CreateSession$ = [ + 9, + n05, + _CSr, + { [_h4]: ["GET", "/?session", 200] }, + () => CreateSessionRequest$, + () => CreateSessionOutput$ + ]; + var DeleteBucket$ = [ + 9, + n05, + _DB, + { [_h4]: ["DELETE", "/", 204] }, + () => DeleteBucketRequest$, + () => __Unit + ]; + var DeleteBucketAnalyticsConfiguration$ = [ + 9, + n05, + _DBAC, + { [_h4]: ["DELETE", "/?analytics", 204] }, + () => DeleteBucketAnalyticsConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketCors$ = [ + 9, + n05, + _DBC, + { [_h4]: ["DELETE", "/?cors", 204] }, + () => DeleteBucketCorsRequest$, + () => __Unit + ]; + var DeleteBucketEncryption$ = [ + 9, + n05, + _DBE, + { [_h4]: ["DELETE", "/?encryption", 204] }, + () => DeleteBucketEncryptionRequest$, + () => __Unit + ]; + var DeleteBucketIntelligentTieringConfiguration$ = [ + 9, + n05, + _DBITC, + { [_h4]: ["DELETE", "/?intelligent-tiering", 204] }, + () => DeleteBucketIntelligentTieringConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketInventoryConfiguration$ = [ + 9, + n05, + _DBIC, + { [_h4]: ["DELETE", "/?inventory", 204] }, + () => DeleteBucketInventoryConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketLifecycle$ = [ + 9, + n05, + _DBL, + { [_h4]: ["DELETE", "/?lifecycle", 204] }, + () => DeleteBucketLifecycleRequest$, + () => __Unit + ]; + var DeleteBucketMetadataConfiguration$ = [ + 9, + n05, + _DBMC, + { [_h4]: ["DELETE", "/?metadataConfiguration", 204] }, + () => DeleteBucketMetadataConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketMetadataTableConfiguration$ = [ + 9, + n05, + _DBMTC, + { [_h4]: ["DELETE", "/?metadataTable", 204] }, + () => DeleteBucketMetadataTableConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketMetricsConfiguration$ = [ + 9, + n05, + _DBMCe, + { [_h4]: ["DELETE", "/?metrics", 204] }, + () => DeleteBucketMetricsConfigurationRequest$, + () => __Unit + ]; + var DeleteBucketOwnershipControls$ = [ + 9, + n05, + _DBOC, + { [_h4]: ["DELETE", "/?ownershipControls", 204] }, + () => DeleteBucketOwnershipControlsRequest$, + () => __Unit + ]; + var DeleteBucketPolicy$ = [ + 9, + n05, + _DBP, + { [_h4]: ["DELETE", "/?policy", 204] }, + () => DeleteBucketPolicyRequest$, + () => __Unit + ]; + var DeleteBucketReplication$ = [ + 9, + n05, + _DBRe, + { [_h4]: ["DELETE", "/?replication", 204] }, + () => DeleteBucketReplicationRequest$, + () => __Unit + ]; + var DeleteBucketTagging$ = [ + 9, + n05, + _DBT, + { [_h4]: ["DELETE", "/?tagging", 204] }, + () => DeleteBucketTaggingRequest$, + () => __Unit + ]; + var DeleteBucketWebsite$ = [ + 9, + n05, + _DBW, + { [_h4]: ["DELETE", "/?website", 204] }, + () => DeleteBucketWebsiteRequest$, + () => __Unit + ]; + var DeleteObject$ = [ + 9, + n05, + _DOel, + { [_h4]: ["DELETE", "/{Key+}?x-id=DeleteObject", 204] }, + () => DeleteObjectRequest$, + () => DeleteObjectOutput$ + ]; + var DeleteObjectAnnotation$ = [ + 9, + n05, + _DOA, + { [_h4]: ["DELETE", "/{Key+}?annotation", 204] }, + () => DeleteObjectAnnotationRequest$, + () => DeleteObjectAnnotationOutput$ + ]; + var DeleteObjects$ = [ + 9, + n05, + _DOele, + { [_hC]: "-", [_h4]: ["POST", "/?delete", 200] }, + () => DeleteObjectsRequest$, + () => DeleteObjectsOutput$ + ]; + var DeleteObjectTagging$ = [ + 9, + n05, + _DOT, + { [_h4]: ["DELETE", "/{Key+}?tagging", 204] }, + () => DeleteObjectTaggingRequest$, + () => DeleteObjectTaggingOutput$ + ]; + var DeletePublicAccessBlock$ = [ + 9, + n05, + _DPAB, + { [_h4]: ["DELETE", "/?publicAccessBlock", 204] }, + () => DeletePublicAccessBlockRequest$, + () => __Unit + ]; + var GetBucketAbac$ = [ + 9, + n05, + _GBA, + { [_h4]: ["GET", "/?abac", 200] }, + () => GetBucketAbacRequest$, + () => GetBucketAbacOutput$ + ]; + var GetBucketAccelerateConfiguration$ = [ + 9, + n05, + _GBAC, + { [_h4]: ["GET", "/?accelerate", 200] }, + () => GetBucketAccelerateConfigurationRequest$, + () => GetBucketAccelerateConfigurationOutput$ + ]; + var GetBucketAcl$ = [ + 9, + n05, + _GBAe, + { [_h4]: ["GET", "/?acl", 200] }, + () => GetBucketAclRequest$, + () => GetBucketAclOutput$ + ]; + var GetBucketAnalyticsConfiguration$ = [ + 9, + n05, + _GBACe, + { [_h4]: ["GET", "/?analytics&x-id=GetBucketAnalyticsConfiguration", 200] }, + () => GetBucketAnalyticsConfigurationRequest$, + () => GetBucketAnalyticsConfigurationOutput$ + ]; + var GetBucketCors$ = [ + 9, + n05, + _GBC, + { [_h4]: ["GET", "/?cors", 200] }, + () => GetBucketCorsRequest$, + () => GetBucketCorsOutput$ + ]; + var GetBucketEncryption$ = [ + 9, + n05, + _GBE, + { [_h4]: ["GET", "/?encryption", 200] }, + () => GetBucketEncryptionRequest$, + () => GetBucketEncryptionOutput$ + ]; + var GetBucketIntelligentTieringConfiguration$ = [ + 9, + n05, + _GBITC, + { [_h4]: ["GET", "/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration", 200] }, + () => GetBucketIntelligentTieringConfigurationRequest$, + () => GetBucketIntelligentTieringConfigurationOutput$ + ]; + var GetBucketInventoryConfiguration$ = [ + 9, + n05, + _GBIC, + { [_h4]: ["GET", "/?inventory&x-id=GetBucketInventoryConfiguration", 200] }, + () => GetBucketInventoryConfigurationRequest$, + () => GetBucketInventoryConfigurationOutput$ + ]; + var GetBucketLifecycleConfiguration$ = [ + 9, + n05, + _GBLC, + { [_h4]: ["GET", "/?lifecycle", 200] }, + () => GetBucketLifecycleConfigurationRequest$, + () => GetBucketLifecycleConfigurationOutput$ + ]; + var GetBucketLocation$ = [ + 9, + n05, + _GBL, + { [_h4]: ["GET", "/?location", 200] }, + () => GetBucketLocationRequest$, + () => GetBucketLocationOutput$ + ]; + var GetBucketLogging$ = [ + 9, + n05, + _GBLe, + { [_h4]: ["GET", "/?logging", 200] }, + () => GetBucketLoggingRequest$, + () => GetBucketLoggingOutput$ + ]; + var GetBucketMetadataConfiguration$ = [ + 9, + n05, + _GBMC, + { [_h4]: ["GET", "/?metadataConfiguration", 200] }, + () => GetBucketMetadataConfigurationRequest$, + () => GetBucketMetadataConfigurationOutput$ + ]; + var GetBucketMetadataTableConfiguration$ = [ + 9, + n05, + _GBMTC, + { [_h4]: ["GET", "/?metadataTable", 200] }, + () => GetBucketMetadataTableConfigurationRequest$, + () => GetBucketMetadataTableConfigurationOutput$ + ]; + var GetBucketMetricsConfiguration$ = [ + 9, + n05, + _GBMCe, + { [_h4]: ["GET", "/?metrics&x-id=GetBucketMetricsConfiguration", 200] }, + () => GetBucketMetricsConfigurationRequest$, + () => GetBucketMetricsConfigurationOutput$ + ]; + var GetBucketNotificationConfiguration$ = [ + 9, + n05, + _GBNC, + { [_h4]: ["GET", "/?notification", 200] }, + () => GetBucketNotificationConfigurationRequest$, + () => NotificationConfiguration$ + ]; + var GetBucketOwnershipControls$ = [ + 9, + n05, + _GBOC, + { [_h4]: ["GET", "/?ownershipControls", 200] }, + () => GetBucketOwnershipControlsRequest$, + () => GetBucketOwnershipControlsOutput$ + ]; + var GetBucketPolicy$ = [ + 9, + n05, + _GBP, + { [_h4]: ["GET", "/?policy", 200] }, + () => GetBucketPolicyRequest$, + () => GetBucketPolicyOutput$ + ]; + var GetBucketPolicyStatus$ = [ + 9, + n05, + _GBPS, + { [_h4]: ["GET", "/?policyStatus", 200] }, + () => GetBucketPolicyStatusRequest$, + () => GetBucketPolicyStatusOutput$ + ]; + var GetBucketReplication$ = [ + 9, + n05, + _GBR, + { [_h4]: ["GET", "/?replication", 200] }, + () => GetBucketReplicationRequest$, + () => GetBucketReplicationOutput$ + ]; + var GetBucketRequestPayment$ = [ + 9, + n05, + _GBRP, + { [_h4]: ["GET", "/?requestPayment", 200] }, + () => GetBucketRequestPaymentRequest$, + () => GetBucketRequestPaymentOutput$ + ]; + var GetBucketTagging$ = [ + 9, + n05, + _GBT, + { [_h4]: ["GET", "/?tagging", 200] }, + () => GetBucketTaggingRequest$, + () => GetBucketTaggingOutput$ + ]; + var GetBucketVersioning$ = [ + 9, + n05, + _GBV, + { [_h4]: ["GET", "/?versioning", 200] }, + () => GetBucketVersioningRequest$, + () => GetBucketVersioningOutput$ + ]; + var GetBucketWebsite$ = [ + 9, + n05, + _GBW, + { [_h4]: ["GET", "/?website", 200] }, + () => GetBucketWebsiteRequest$, + () => GetBucketWebsiteOutput$ + ]; + var GetObject$ = [ + 9, + n05, + _GO, + { [_hC]: "-", [_h4]: ["GET", "/{Key+}?x-id=GetObject", 200] }, + () => GetObjectRequest$, + () => GetObjectOutput$ + ]; + var GetObjectAcl$ = [ + 9, + n05, + _GOA, + { [_h4]: ["GET", "/{Key+}?acl", 200] }, + () => GetObjectAclRequest$, + () => GetObjectAclOutput$ + ]; + var GetObjectAnnotation$ = [ + 9, + n05, + _GOAe, + { [_hC]: "-", [_h4]: ["GET", "/{Key+}?annotation&x-id=GetObjectAnnotation", 200] }, + () => GetObjectAnnotationRequest$, + () => GetObjectAnnotationOutput$ + ]; + var GetObjectAttributes$ = [ + 9, + n05, + _GOAet, + { [_h4]: ["GET", "/{Key+}?attributes", 200] }, + () => GetObjectAttributesRequest$, + () => GetObjectAttributesOutput$ + ]; + var GetObjectLegalHold$ = [ + 9, + n05, + _GOLH, + { [_h4]: ["GET", "/{Key+}?legal-hold", 200] }, + () => GetObjectLegalHoldRequest$, + () => GetObjectLegalHoldOutput$ + ]; + var GetObjectLockConfiguration$ = [ + 9, + n05, + _GOLC, + { [_h4]: ["GET", "/?object-lock", 200] }, + () => GetObjectLockConfigurationRequest$, + () => GetObjectLockConfigurationOutput$ + ]; + var GetObjectRetention$ = [ + 9, + n05, + _GORe, + { [_h4]: ["GET", "/{Key+}?retention", 200] }, + () => GetObjectRetentionRequest$, + () => GetObjectRetentionOutput$ + ]; + var GetObjectTagging$ = [ + 9, + n05, + _GOT, + { [_h4]: ["GET", "/{Key+}?tagging", 200] }, + () => GetObjectTaggingRequest$, + () => GetObjectTaggingOutput$ + ]; + var GetObjectTorrent$ = [ + 9, + n05, + _GOTe, + { [_h4]: ["GET", "/{Key+}?torrent", 200] }, + () => GetObjectTorrentRequest$, + () => GetObjectTorrentOutput$ + ]; + var GetPublicAccessBlock$ = [ + 9, + n05, + _GPAB, + { [_h4]: ["GET", "/?publicAccessBlock", 200] }, + () => GetPublicAccessBlockRequest$, + () => GetPublicAccessBlockOutput$ + ]; + var HeadBucket$ = [ + 9, + n05, + _HB, + { [_h4]: ["HEAD", "/", 200] }, + () => HeadBucketRequest$, + () => HeadBucketOutput$ + ]; + var HeadObject$ = [ + 9, + n05, + _HO, + { [_h4]: ["HEAD", "/{Key+}", 200] }, + () => HeadObjectRequest$, + () => HeadObjectOutput$ + ]; + var ListBucketAnalyticsConfigurations$ = [ + 9, + n05, + _LBAC, + { [_h4]: ["GET", "/?analytics&x-id=ListBucketAnalyticsConfigurations", 200] }, + () => ListBucketAnalyticsConfigurationsRequest$, + () => ListBucketAnalyticsConfigurationsOutput$ + ]; + var ListBucketIntelligentTieringConfigurations$ = [ + 9, + n05, + _LBITC, + { [_h4]: ["GET", "/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations", 200] }, + () => ListBucketIntelligentTieringConfigurationsRequest$, + () => ListBucketIntelligentTieringConfigurationsOutput$ + ]; + var ListBucketInventoryConfigurations$ = [ + 9, + n05, + _LBIC, + { [_h4]: ["GET", "/?inventory&x-id=ListBucketInventoryConfigurations", 200] }, + () => ListBucketInventoryConfigurationsRequest$, + () => ListBucketInventoryConfigurationsOutput$ + ]; + var ListBucketMetricsConfigurations$ = [ + 9, + n05, + _LBMC, + { [_h4]: ["GET", "/?metrics&x-id=ListBucketMetricsConfigurations", 200] }, + () => ListBucketMetricsConfigurationsRequest$, + () => ListBucketMetricsConfigurationsOutput$ + ]; + var ListBuckets$ = [ + 9, + n05, + _LB, + { [_h4]: ["GET", "/?x-id=ListBuckets", 200] }, + () => ListBucketsRequest$, + () => ListBucketsOutput$ + ]; + var ListDirectoryBuckets$ = [ + 9, + n05, + _LDB, + { [_h4]: ["GET", "/?x-id=ListDirectoryBuckets", 200] }, + () => ListDirectoryBucketsRequest$, + () => ListDirectoryBucketsOutput$ + ]; + var ListMultipartUploads$ = [ + 9, + n05, + _LMU, + { [_h4]: ["GET", "/?uploads", 200] }, + () => ListMultipartUploadsRequest$, + () => ListMultipartUploadsOutput$ + ]; + var ListObjectAnnotations$ = [ + 9, + n05, + _LOA, + { [_h4]: ["GET", "/{Key+}?annotation&x-id=ListObjectAnnotations", 200] }, + () => ListObjectAnnotationsRequest$, + () => ListObjectAnnotationsOutput$ + ]; + var ListObjects$ = [ + 9, + n05, + _LO, + { [_h4]: ["GET", "/", 200] }, + () => ListObjectsRequest$, + () => ListObjectsOutput$ + ]; + var ListObjectsV2$ = [ + 9, + n05, + _LOV, + { [_h4]: ["GET", "/?list-type=2", 200] }, + () => ListObjectsV2Request$, + () => ListObjectsV2Output$ + ]; + var ListObjectVersions$ = [ + 9, + n05, + _LOVi, + { [_h4]: ["GET", "/?versions", 200] }, + () => ListObjectVersionsRequest$, + () => ListObjectVersionsOutput$ + ]; + var ListParts$ = [ + 9, + n05, + _LP, + { [_h4]: ["GET", "/{Key+}?x-id=ListParts", 200] }, + () => ListPartsRequest$, + () => ListPartsOutput$ + ]; + var PutBucketAbac$ = [ + 9, + n05, + _PBA, + { [_hC]: "-", [_h4]: ["PUT", "/?abac", 200] }, + () => PutBucketAbacRequest$, + () => __Unit + ]; + var PutBucketAccelerateConfiguration$ = [ + 9, + n05, + _PBAC, + { [_hC]: "-", [_h4]: ["PUT", "/?accelerate", 200] }, + () => PutBucketAccelerateConfigurationRequest$, + () => __Unit + ]; + var PutBucketAcl$ = [ + 9, + n05, + _PBAu, + { [_hC]: "-", [_h4]: ["PUT", "/?acl", 200] }, + () => PutBucketAclRequest$, + () => __Unit + ]; + var PutBucketAnalyticsConfiguration$ = [ + 9, + n05, + _PBACu, + { [_h4]: ["PUT", "/?analytics", 200] }, + () => PutBucketAnalyticsConfigurationRequest$, + () => __Unit + ]; + var PutBucketCors$ = [ + 9, + n05, + _PBC, + { [_hC]: "-", [_h4]: ["PUT", "/?cors", 200] }, + () => PutBucketCorsRequest$, + () => __Unit + ]; + var PutBucketEncryption$ = [ + 9, + n05, + _PBE, + { [_hC]: "-", [_h4]: ["PUT", "/?encryption", 200] }, + () => PutBucketEncryptionRequest$, + () => __Unit + ]; + var PutBucketIntelligentTieringConfiguration$ = [ + 9, + n05, + _PBITC, + { [_h4]: ["PUT", "/?intelligent-tiering", 200] }, + () => PutBucketIntelligentTieringConfigurationRequest$, + () => __Unit + ]; + var PutBucketInventoryConfiguration$ = [ + 9, + n05, + _PBIC, + { [_h4]: ["PUT", "/?inventory", 200] }, + () => PutBucketInventoryConfigurationRequest$, + () => __Unit + ]; + var PutBucketLifecycleConfiguration$ = [ + 9, + n05, + _PBLC, + { [_hC]: "-", [_h4]: ["PUT", "/?lifecycle", 200] }, + () => PutBucketLifecycleConfigurationRequest$, + () => PutBucketLifecycleConfigurationOutput$ + ]; + var PutBucketLogging$ = [ + 9, + n05, + _PBL, + { [_hC]: "-", [_h4]: ["PUT", "/?logging", 200] }, + () => PutBucketLoggingRequest$, + () => __Unit + ]; + var PutBucketMetricsConfiguration$ = [ + 9, + n05, + _PBMC, + { [_h4]: ["PUT", "/?metrics", 200] }, + () => PutBucketMetricsConfigurationRequest$, + () => __Unit + ]; + var PutBucketNotificationConfiguration$ = [ + 9, + n05, + _PBNC, + { [_h4]: ["PUT", "/?notification", 200] }, + () => PutBucketNotificationConfigurationRequest$, + () => __Unit + ]; + var PutBucketOwnershipControls$ = [ + 9, + n05, + _PBOC, + { [_hC]: "-", [_h4]: ["PUT", "/?ownershipControls", 200] }, + () => PutBucketOwnershipControlsRequest$, + () => __Unit + ]; + var PutBucketPolicy$ = [ + 9, + n05, + _PBP, + { [_hC]: "-", [_h4]: ["PUT", "/?policy", 200] }, + () => PutBucketPolicyRequest$, + () => __Unit + ]; + var PutBucketReplication$ = [ + 9, + n05, + _PBR, + { [_hC]: "-", [_h4]: ["PUT", "/?replication", 200] }, + () => PutBucketReplicationRequest$, + () => __Unit + ]; + var PutBucketRequestPayment$ = [ + 9, + n05, + _PBRP, + { [_hC]: "-", [_h4]: ["PUT", "/?requestPayment", 200] }, + () => PutBucketRequestPaymentRequest$, + () => __Unit + ]; + var PutBucketTagging$ = [ + 9, + n05, + _PBT, + { [_hC]: "-", [_h4]: ["PUT", "/?tagging", 200] }, + () => PutBucketTaggingRequest$, + () => __Unit + ]; + var PutBucketVersioning$ = [ + 9, + n05, + _PBV, + { [_hC]: "-", [_h4]: ["PUT", "/?versioning", 200] }, + () => PutBucketVersioningRequest$, + () => __Unit + ]; + var PutBucketWebsite$ = [ + 9, + n05, + _PBW, + { [_hC]: "-", [_h4]: ["PUT", "/?website", 200] }, + () => PutBucketWebsiteRequest$, + () => __Unit + ]; + var PutObject$ = [ + 9, + n05, + _PO, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?x-id=PutObject", 200] }, + () => PutObjectRequest$, + () => PutObjectOutput$ + ]; + var PutObjectAcl$ = [ + 9, + n05, + _POA, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?acl", 200] }, + () => PutObjectAclRequest$, + () => PutObjectAclOutput$ + ]; + var PutObjectAnnotation$ = [ + 9, + n05, + _POAu, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?annotation", 200] }, + () => PutObjectAnnotationRequest$, + () => PutObjectAnnotationOutput$ + ]; + var PutObjectLegalHold$ = [ + 9, + n05, + _POLH, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?legal-hold", 200] }, + () => PutObjectLegalHoldRequest$, + () => PutObjectLegalHoldOutput$ + ]; + var PutObjectLockConfiguration$ = [ + 9, + n05, + _POLC, + { [_hC]: "-", [_h4]: ["PUT", "/?object-lock", 200] }, + () => PutObjectLockConfigurationRequest$, + () => PutObjectLockConfigurationOutput$ + ]; + var PutObjectRetention$ = [ + 9, + n05, + _PORu, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?retention", 200] }, + () => PutObjectRetentionRequest$, + () => PutObjectRetentionOutput$ + ]; + var PutObjectTagging$ = [ + 9, + n05, + _POT, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?tagging", 200] }, + () => PutObjectTaggingRequest$, + () => PutObjectTaggingOutput$ + ]; + var PutPublicAccessBlock$ = [ + 9, + n05, + _PPAB, + { [_hC]: "-", [_h4]: ["PUT", "/?publicAccessBlock", 200] }, + () => PutPublicAccessBlockRequest$, + () => __Unit + ]; + var RenameObject$ = [ + 9, + n05, + _RO, + { [_h4]: ["PUT", "/{Key+}?renameObject", 200] }, + () => RenameObjectRequest$, + () => RenameObjectOutput$ + ]; + var RestoreObject$ = [ + 9, + n05, + _ROe, + { [_hC]: "-", [_h4]: ["POST", "/{Key+}?restore", 200] }, + () => RestoreObjectRequest$, + () => RestoreObjectOutput$ + ]; + var SelectObjectContent$ = [ + 9, + n05, + _SOC, + { [_h4]: ["POST", "/{Key+}?select&select-type=2", 200] }, + () => SelectObjectContentRequest$, + () => SelectObjectContentOutput$ + ]; + var UpdateBucketMetadataAnnotationTableConfiguration$ = [ + 9, + n05, + _UBMATC, + { [_hC]: "-", [_h4]: ["PUT", "/?metadataAnnotationTable", 200] }, + () => UpdateBucketMetadataAnnotationTableConfigurationRequest$, + () => __Unit + ]; + var UpdateBucketMetadataInventoryTableConfiguration$ = [ + 9, + n05, + _UBMITC, + { [_hC]: "-", [_h4]: ["PUT", "/?metadataInventoryTable", 200] }, + () => UpdateBucketMetadataInventoryTableConfigurationRequest$, + () => __Unit + ]; + var UpdateBucketMetadataJournalTableConfiguration$ = [ + 9, + n05, + _UBMJTC, + { [_hC]: "-", [_h4]: ["PUT", "/?metadataJournalTable", 200] }, + () => UpdateBucketMetadataJournalTableConfigurationRequest$, + () => __Unit + ]; + var UpdateObjectEncryption$ = [ + 9, + n05, + _UOE, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?encryption", 200] }, + () => UpdateObjectEncryptionRequest$, + () => UpdateObjectEncryptionResponse$ + ]; + var UploadPart$ = [ + 9, + n05, + _UP, + { [_hC]: "-", [_h4]: ["PUT", "/{Key+}?x-id=UploadPart", 200] }, + () => UploadPartRequest$, + () => UploadPartOutput$ + ]; + var UploadPartCopy$ = [ + 9, + n05, + _UPC, + { [_h4]: ["PUT", "/{Key+}?x-id=UploadPartCopy", 200] }, + () => UploadPartCopyRequest$, + () => UploadPartCopyOutput$ + ]; + var WriteGetObjectResponse$ = [ + 9, + n05, + _WGOR, + { [_en]: ["{RequestRoute}."], [_h4]: ["POST", "/WriteGetObjectResponse", 200] }, + () => WriteGetObjectResponseRequest$, + () => __Unit + ]; + var CreateSessionCommand = class extends command5(_ep4, _mw05, "CreateSession", CreateSession$) { + static { + __name(this, "CreateSessionCommand"); + } + }; + var version2 = "3.1153.0"; + var packageInfo = { + version: version2 + }; + var getRuntimeConfig$1 = /* @__PURE__ */ __name((config3) => { + return { + apiVersion: "2006-03-01", + base64Decoder: config3?.base64Decoder ?? fromBase642, + base64Encoder: config3?.base64Encoder ?? toBase642, + disableHostPrefix: config3?.disableHostPrefix ?? false, + endpointProvider: config3?.endpointProvider ?? defaultEndpointResolver5, + extensions: config3?.extensions ?? [], + getAwsChunkedEncodingStream: config3?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream, + httpAuthSchemeProvider: config3?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider, + httpAuthSchemes: config3?.httpAuthSchemes ?? [ + { + schemeId: "aws.auth#sigv4", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), "identityProvider"), + signer: new AwsSdkSigV4Signer2() + }, + { + schemeId: "aws.auth#sigv4a", + identityProvider: /* @__PURE__ */ __name((ipc) => ipc.getIdentityProvider("aws.auth#sigv4a"), "identityProvider"), + signer: new AwsSdkSigV4ASigner2() + } + ], + logger: config3?.logger ?? new NoOpLogger2(), + md5: config3?.md5 ?? Md5, + protocol: config3?.protocol ?? S3RestXmlProtocol2, + protocolSettings: config3?.protocolSettings ?? { + defaultNamespace: "com.amazonaws.s3", + errorTypeRegistries: errorTypeRegistries5, + xmlNamespace: "http://s3.amazonaws.com/doc/2006-03-01/", + version: "2006-03-01", + serviceTarget: "AmazonS3" + }, + sdkStreamMixin: config3?.sdkStreamMixin ?? sdkStreamMixin2, + serviceId: config3?.serviceId ?? "S3", + sha1: config3?.sha1 ?? Sha1, + sha256: config3?.sha256 ?? Sha256, + signerConstructor: config3?.signerConstructor ?? SignatureV4MultiRegion3, + signingEscapePath: config3?.signingEscapePath ?? false, + urlParser: config3?.urlParser ?? parseUrl2, + useArnRegion: config3?.useArnRegion ?? void 0, + utf8Decoder: config3?.utf8Decoder ?? fromUtf82, + utf8Encoder: config3?.utf8Encoder ?? toUtf82 + }; + }, "getRuntimeConfig$1"); + var getRuntimeConfig9 = /* @__PURE__ */ __name((config3) => { + emitWarningIfUnsupportedVersion3(process.version); + const defaultsMode = resolveDefaultsModeConfig2(config3); + const defaultConfigProvider = /* @__PURE__ */ __name(() => defaultsMode().then(loadConfigsForDefaultMode2), "defaultConfigProvider"); + const clientSharedValues = getRuntimeConfig$1(config3); + emitWarningIfUnsupportedVersion$1(process.version); + const loaderConfig = { + profile: config3?.profile, + logger: clientSharedValues.logger + }; + return { + ...clientSharedValues, + ...config3, + runtime: "node", + defaultsMode, + authSchemePreference: config3?.authSchemePreference ?? loadConfig2(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS2, loaderConfig), + bodyLengthChecker: config3?.bodyLengthChecker ?? calculateBodyLength2, + credentialDefaultProvider: config3?.credentialDefaultProvider ?? defaultProvider, + defaultUserAgentProvider: config3?.defaultUserAgentProvider ?? createDefaultUserAgentProvider2({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), + disableS3ExpressSessionAuth: config3?.disableS3ExpressSessionAuth ?? loadConfig2(NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS2, loaderConfig), + eventStreamSerdeProvider: config3?.eventStreamSerdeProvider ?? eventStreamSerdeProvider, + maxAttempts: config3?.maxAttempts ?? loadConfig2(NODE_MAX_ATTEMPT_CONFIG_OPTIONS2, config3), + region: config3?.region ?? loadConfig2(NODE_REGION_CONFIG_OPTIONS2, { ...NODE_REGION_CONFIG_FILE_OPTIONS2, ...loaderConfig }), + requestChecksumCalculation: config3?.requestChecksumCalculation ?? loadConfig2(NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS2, loaderConfig), + requestHandler: NodeHttpHandler.create(config3?.requestHandler ?? defaultConfigProvider), + responseChecksumValidation: config3?.responseChecksumValidation ?? loadConfig2(NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS2, loaderConfig), + retryMode: config3?.retryMode ?? loadConfig2({ + ...NODE_RETRY_MODE_CONFIG_OPTIONS2, + default: /* @__PURE__ */ __name(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE2, "default") + }, config3), + sigv4aSigningRegionSet: config3?.sigv4aSigningRegionSet ?? loadConfig2(NODE_SIGV4A_CONFIG_OPTIONS2, loaderConfig), + streamCollector: config3?.streamCollector ?? streamCollector5, + streamHasher: config3?.streamHasher ?? readableStreamHasher, + useArnRegion: config3?.useArnRegion ?? loadConfig2(NODE_USE_ARN_REGION_CONFIG_OPTIONS2, loaderConfig), + useDualstackEndpoint: config3?.useDualstackEndpoint ?? loadConfig2(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS2, loaderConfig), + useFipsEndpoint: config3?.useFipsEndpoint ?? loadConfig2(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS2, loaderConfig), + userAgentAppId: config3?.userAgentAppId ?? loadConfig2(NODE_APP_ID_CONFIG_OPTIONS2, loaderConfig) + }; + }, "getRuntimeConfig"); + var getHttpAuthExtensionConfiguration5 = /* @__PURE__ */ __name((runtimeConfig) => { + const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; + let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; + let _credentials = runtimeConfig.credentials; + return { + setHttpAuthScheme(httpAuthScheme) { + const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); + if (index === -1) { + _httpAuthSchemes.push(httpAuthScheme); + } else { + _httpAuthSchemes.splice(index, 1, httpAuthScheme); + } + }, + httpAuthSchemes() { + return _httpAuthSchemes; + }, + setHttpAuthSchemeProvider(httpAuthSchemeProvider) { + _httpAuthSchemeProvider = httpAuthSchemeProvider; + }, + httpAuthSchemeProvider() { + return _httpAuthSchemeProvider; + }, + setCredentials(credentials) { + _credentials = credentials; + }, + credentials() { + return _credentials; + } + }; + }, "getHttpAuthExtensionConfiguration"); + var resolveHttpAuthRuntimeConfig5 = /* @__PURE__ */ __name((config3) => { + return { + httpAuthSchemes: config3.httpAuthSchemes(), + httpAuthSchemeProvider: config3.httpAuthSchemeProvider(), + credentials: config3.credentials() + }; + }, "resolveHttpAuthRuntimeConfig"); + var resolveRuntimeExtensions5 = /* @__PURE__ */ __name((runtimeConfig, extensions) => { + const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration2(runtimeConfig), getDefaultExtensionConfiguration2(runtimeConfig), getHttpHandlerExtensionConfiguration2(runtimeConfig), getHttpAuthExtensionConfiguration5(runtimeConfig)); + extensions.forEach((extension) => extension.configure(extensionConfiguration)); + return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration2(extensionConfiguration), resolveDefaultRuntimeConfig2(extensionConfiguration), resolveHttpHandlerRuntimeConfig2(extensionConfiguration), resolveHttpAuthRuntimeConfig5(extensionConfiguration)); + }, "resolveRuntimeExtensions"); + var S3Client2 = class extends Client2 { + static { + __name(this, "S3Client"); + } + config; + constructor(...[configuration]) { + const _config_0 = getRuntimeConfig9(configuration || {}); + super(_config_0); + this.initConfig = _config_0; + const _config_1 = resolveClientEndpointParameters5(_config_0); + const _config_2 = resolveUserAgentConfig2(_config_1); + const _config_3 = resolveFlexibleChecksumsConfig2(_config_2); + const _config_4 = resolveRetryConfig2(_config_3); + const _config_5 = resolveRegionConfig2(_config_4); + const _config_6 = resolveHostHeaderConfig2(_config_5); + const _config_7 = resolveEndpointConfig2(_config_6); + const _config_8 = resolveEventStreamSerdeConfig(_config_7); + const _config_9 = resolveHttpAuthSchemeConfig5(_config_8); + const _config_10 = resolveS3Config2(_config_9, { session: [() => this, CreateSessionCommand] }); + const _config_11 = resolveRuntimeExtensions5(_config_10, configuration?.extensions || []); + this.config = _config_11; + this.middlewareStack.use(getSchemaSerdePlugin2(this.config)); + this.middlewareStack.use(getUserAgentPlugin2(this.config)); + this.middlewareStack.use(getRetryPlugin2(this.config)); + this.middlewareStack.use(getContentLengthPlugin2(this.config)); + this.middlewareStack.use(getHostHeaderPlugin2(this.config)); + this.middlewareStack.use(getLoggerPlugin2(this.config)); + this.middlewareStack.use(getRecursionDetectionPlugin2(this.config)); + this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin2(this.config, { + httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider, + identityProviderConfigProvider: /* @__PURE__ */ __name(async (config3) => new DefaultIdentityProviderConfig2({ + "aws.auth#sigv4": config3.credentials, + "aws.auth#sigv4a": config3.credentials + }), "identityProviderConfigProvider") + })); + this.middlewareStack.use(getHttpSigningPlugin2(this.config)); + this.middlewareStack.use(getValidateBucketNamePlugin2(this.config)); + this.middlewareStack.use(getAddExpectContinuePlugin2(this.config)); + this.middlewareStack.use(getRegionRedirectMiddlewarePlugin2(this.config)); + this.middlewareStack.use(getS3ExpressPlugin2(this.config)); + this.middlewareStack.use(getS3ExpressHttpSigningPlugin2(this.config)); + } + destroy() { + super.destroy(); + } + }; + var AbortMultipartUploadCommand = class extends command5(_ep05, _mw05, "AbortMultipartUpload", AbortMultipartUpload$) { + static { + __name(this, "AbortMultipartUploadCommand"); + } + }; + var CompleteMultipartUploadCommand = class extends command5(_ep05, _mw1, "CompleteMultipartUpload", CompleteMultipartUpload$) { + static { + __name(this, "CompleteMultipartUploadCommand"); + } + }; + var CopyObjectCommand = class extends command5(_ep12, _mw1, "CopyObject", CopyObject$) { + static { + __name(this, "CopyObjectCommand"); + } + }; + var CreateBucketCommand2 = class extends command5(_ep2, _mw2, "CreateBucket", CreateBucket$) { + static { + __name(this, "CreateBucketCommand"); + } + }; + var CreateBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw3, "CreateBucketMetadataConfiguration", CreateBucketMetadataConfiguration$) { + static { + __name(this, "CreateBucketMetadataConfigurationCommand"); + } + }; + var CreateBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw3, "CreateBucketMetadataTableConfiguration", CreateBucketMetadataTableConfiguration$) { + static { + __name(this, "CreateBucketMetadataTableConfigurationCommand"); + } + }; + var CreateMultipartUploadCommand = class extends command5(_ep05, _mw1, "CreateMultipartUpload", CreateMultipartUpload$) { + static { + __name(this, "CreateMultipartUploadCommand"); + } + }; + var DeleteBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketAnalyticsConfiguration", DeleteBucketAnalyticsConfiguration$) { + static { + __name(this, "DeleteBucketAnalyticsConfigurationCommand"); + } + }; + var DeleteBucketCommand = class extends command5(_ep3, _mw4, "DeleteBucket", DeleteBucket$) { + static { + __name(this, "DeleteBucketCommand"); + } + }; + var DeleteBucketCorsCommand = class extends command5(_ep3, _mw4, "DeleteBucketCors", DeleteBucketCors$) { + static { + __name(this, "DeleteBucketCorsCommand"); + } + }; + var DeleteBucketEncryptionCommand = class extends command5(_ep3, _mw4, "DeleteBucketEncryption", DeleteBucketEncryption$) { + static { + __name(this, "DeleteBucketEncryptionCommand"); + } + }; + var DeleteBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketIntelligentTieringConfiguration", DeleteBucketIntelligentTieringConfiguration$) { + static { + __name(this, "DeleteBucketIntelligentTieringConfigurationCommand"); + } + }; + var DeleteBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketInventoryConfiguration", DeleteBucketInventoryConfiguration$) { + static { + __name(this, "DeleteBucketInventoryConfigurationCommand"); + } + }; + var DeleteBucketLifecycleCommand = class extends command5(_ep3, _mw4, "DeleteBucketLifecycle", DeleteBucketLifecycle$) { + static { + __name(this, "DeleteBucketLifecycleCommand"); + } + }; + var DeleteBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetadataConfiguration", DeleteBucketMetadataConfiguration$) { + static { + __name(this, "DeleteBucketMetadataConfigurationCommand"); + } + }; + var DeleteBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetadataTableConfiguration", DeleteBucketMetadataTableConfiguration$) { + static { + __name(this, "DeleteBucketMetadataTableConfigurationCommand"); + } + }; + var DeleteBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw4, "DeleteBucketMetricsConfiguration", DeleteBucketMetricsConfiguration$) { + static { + __name(this, "DeleteBucketMetricsConfigurationCommand"); + } + }; + var DeleteBucketOwnershipControlsCommand = class extends command5(_ep3, _mw4, "DeleteBucketOwnershipControls", DeleteBucketOwnershipControls$) { + static { + __name(this, "DeleteBucketOwnershipControlsCommand"); + } + }; + var DeleteBucketPolicyCommand = class extends command5(_ep3, _mw4, "DeleteBucketPolicy", DeleteBucketPolicy$) { + static { + __name(this, "DeleteBucketPolicyCommand"); + } + }; + var DeleteBucketReplicationCommand = class extends command5(_ep3, _mw4, "DeleteBucketReplication", DeleteBucketReplication$) { + static { + __name(this, "DeleteBucketReplicationCommand"); + } + }; + var DeleteBucketTaggingCommand = class extends command5(_ep3, _mw4, "DeleteBucketTagging", DeleteBucketTagging$) { + static { + __name(this, "DeleteBucketTaggingCommand"); + } + }; + var DeleteBucketWebsiteCommand = class extends command5(_ep3, _mw4, "DeleteBucketWebsite", DeleteBucketWebsite$) { + static { + __name(this, "DeleteBucketWebsiteCommand"); + } + }; + var DeleteObjectAnnotationCommand = class extends command5(_ep5, _mw05, "DeleteObjectAnnotation", DeleteObjectAnnotation$) { + static { + __name(this, "DeleteObjectAnnotationCommand"); + } + }; + var DeleteObjectCommand2 = class extends command5(_ep05, _mw05, "DeleteObject", DeleteObject$) { + static { + __name(this, "DeleteObjectCommand"); + } + }; + var DeleteObjectsCommand = class extends command5(_ep5, _mw5, "DeleteObjects", DeleteObjects$) { + static { + __name(this, "DeleteObjectsCommand"); + } + }; + var DeleteObjectTaggingCommand = class extends command5(_ep5, _mw05, "DeleteObjectTagging", DeleteObjectTagging$) { + static { + __name(this, "DeleteObjectTaggingCommand"); + } + }; + var DeletePublicAccessBlockCommand = class extends command5(_ep3, _mw4, "DeletePublicAccessBlock", DeletePublicAccessBlock$) { + static { + __name(this, "DeletePublicAccessBlockCommand"); + } + }; + var GetBucketAbacCommand = class extends command5(_ep5, _mw05, "GetBucketAbac", GetBucketAbac$) { + static { + __name(this, "GetBucketAbacCommand"); + } + }; + var GetBucketAccelerateConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketAccelerateConfiguration", GetBucketAccelerateConfiguration$) { + static { + __name(this, "GetBucketAccelerateConfigurationCommand"); + } + }; + var GetBucketAclCommand = class extends command5(_ep3, _mw05, "GetBucketAcl", GetBucketAcl$) { + static { + __name(this, "GetBucketAclCommand"); + } + }; + var GetBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketAnalyticsConfiguration", GetBucketAnalyticsConfiguration$) { + static { + __name(this, "GetBucketAnalyticsConfigurationCommand"); + } + }; + var GetBucketCorsCommand = class extends command5(_ep3, _mw05, "GetBucketCors", GetBucketCors$) { + static { + __name(this, "GetBucketCorsCommand"); + } + }; + var GetBucketEncryptionCommand = class extends command5(_ep3, _mw05, "GetBucketEncryption", GetBucketEncryption$) { + static { + __name(this, "GetBucketEncryptionCommand"); + } + }; + var GetBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketIntelligentTieringConfiguration", GetBucketIntelligentTieringConfiguration$) { + static { + __name(this, "GetBucketIntelligentTieringConfigurationCommand"); + } + }; + var GetBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketInventoryConfiguration", GetBucketInventoryConfiguration$) { + static { + __name(this, "GetBucketInventoryConfigurationCommand"); + } + }; + var GetBucketLifecycleConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketLifecycleConfiguration", GetBucketLifecycleConfiguration$) { + static { + __name(this, "GetBucketLifecycleConfigurationCommand"); + } + }; + var GetBucketLocationCommand = class extends command5(_ep3, _mw05, "GetBucketLocation", GetBucketLocation$) { + static { + __name(this, "GetBucketLocationCommand"); + } + }; + var GetBucketLoggingCommand = class extends command5(_ep3, _mw05, "GetBucketLogging", GetBucketLogging$) { + static { + __name(this, "GetBucketLoggingCommand"); + } + }; + var GetBucketMetadataConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetadataConfiguration", GetBucketMetadataConfiguration$) { + static { + __name(this, "GetBucketMetadataConfigurationCommand"); + } + }; + var GetBucketMetadataTableConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetadataTableConfiguration", GetBucketMetadataTableConfiguration$) { + static { + __name(this, "GetBucketMetadataTableConfigurationCommand"); + } + }; + var GetBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketMetricsConfiguration", GetBucketMetricsConfiguration$) { + static { + __name(this, "GetBucketMetricsConfigurationCommand"); + } + }; + var GetBucketNotificationConfigurationCommand = class extends command5(_ep3, _mw05, "GetBucketNotificationConfiguration", GetBucketNotificationConfiguration$) { + static { + __name(this, "GetBucketNotificationConfigurationCommand"); + } + }; + var GetBucketOwnershipControlsCommand = class extends command5(_ep3, _mw05, "GetBucketOwnershipControls", GetBucketOwnershipControls$) { + static { + __name(this, "GetBucketOwnershipControlsCommand"); + } + }; + var GetBucketPolicyCommand = class extends command5(_ep3, _mw4, "GetBucketPolicy", GetBucketPolicy$) { + static { + __name(this, "GetBucketPolicyCommand"); + } + }; + var GetBucketPolicyStatusCommand = class extends command5(_ep3, _mw05, "GetBucketPolicyStatus", GetBucketPolicyStatus$) { + static { + __name(this, "GetBucketPolicyStatusCommand"); + } + }; + var GetBucketReplicationCommand = class extends command5(_ep3, _mw05, "GetBucketReplication", GetBucketReplication$) { + static { + __name(this, "GetBucketReplicationCommand"); + } + }; + var GetBucketRequestPaymentCommand = class extends command5(_ep3, _mw05, "GetBucketRequestPayment", GetBucketRequestPayment$) { + static { + __name(this, "GetBucketRequestPaymentCommand"); + } + }; + var GetBucketTaggingCommand = class extends command5(_ep3, _mw05, "GetBucketTagging", GetBucketTagging$) { + static { + __name(this, "GetBucketTaggingCommand"); + } + }; + var GetBucketVersioningCommand = class extends command5(_ep3, _mw05, "GetBucketVersioning", GetBucketVersioning$) { + static { + __name(this, "GetBucketVersioningCommand"); + } + }; + var GetBucketWebsiteCommand = class extends command5(_ep3, _mw05, "GetBucketWebsite", GetBucketWebsite$) { + static { + __name(this, "GetBucketWebsiteCommand"); + } + }; + var GetObjectAclCommand = class extends command5(_ep05, _mw05, "GetObjectAcl", GetObjectAcl$) { + static { + __name(this, "GetObjectAclCommand"); + } + }; + var GetObjectAnnotationCommand = class extends command5(_ep05, _mw6, "GetObjectAnnotation", GetObjectAnnotation$) { + static { + __name(this, "GetObjectAnnotationCommand"); + } + }; + var GetObjectAttributesCommand = class extends command5(_ep5, _mw1, "GetObjectAttributes", GetObjectAttributes$) { + static { + __name(this, "GetObjectAttributesCommand"); + } + }; + var GetObjectCommand = class extends command5(_ep05, _mw7, "GetObject", GetObject$) { + static { + __name(this, "GetObjectCommand"); + } + }; + var GetObjectLegalHoldCommand = class extends command5(_ep5, _mw05, "GetObjectLegalHold", GetObjectLegalHold$) { + static { + __name(this, "GetObjectLegalHoldCommand"); + } + }; + var GetObjectLockConfigurationCommand = class extends command5(_ep5, _mw05, "GetObjectLockConfiguration", GetObjectLockConfiguration$) { + static { + __name(this, "GetObjectLockConfigurationCommand"); + } + }; + var GetObjectRetentionCommand = class extends command5(_ep5, _mw05, "GetObjectRetention", GetObjectRetention$) { + static { + __name(this, "GetObjectRetentionCommand"); + } + }; + var GetObjectTaggingCommand = class extends command5(_ep5, _mw05, "GetObjectTagging", GetObjectTagging$) { + static { + __name(this, "GetObjectTaggingCommand"); + } + }; + var GetObjectTorrentCommand = class extends command5(_ep5, _mw4, "GetObjectTorrent", GetObjectTorrent$) { + static { + __name(this, "GetObjectTorrentCommand"); + } + }; + var GetPublicAccessBlockCommand = class extends command5(_ep3, _mw05, "GetPublicAccessBlock", GetPublicAccessBlock$) { + static { + __name(this, "GetPublicAccessBlockCommand"); + } + }; + var HeadBucketCommand2 = class extends command5(_ep5, _mw05, "HeadBucket", HeadBucket$) { + static { + __name(this, "HeadBucketCommand"); + } + }; + var HeadObjectCommand = class extends command5(_ep05, _mw8, "HeadObject", HeadObject$) { + static { + __name(this, "HeadObjectCommand"); + } + }; + var ListBucketAnalyticsConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketAnalyticsConfigurations", ListBucketAnalyticsConfigurations$) { + static { + __name(this, "ListBucketAnalyticsConfigurationsCommand"); + } + }; + var ListBucketIntelligentTieringConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketIntelligentTieringConfigurations", ListBucketIntelligentTieringConfigurations$) { + static { + __name(this, "ListBucketIntelligentTieringConfigurationsCommand"); + } + }; + var ListBucketInventoryConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketInventoryConfigurations", ListBucketInventoryConfigurations$) { + static { + __name(this, "ListBucketInventoryConfigurationsCommand"); + } + }; + var ListBucketMetricsConfigurationsCommand = class extends command5(_ep3, _mw05, "ListBucketMetricsConfigurations", ListBucketMetricsConfigurations$) { + static { + __name(this, "ListBucketMetricsConfigurationsCommand"); + } + }; + var ListBucketsCommand = class extends command5(_ep6, _mw05, "ListBuckets", ListBuckets$) { + static { + __name(this, "ListBucketsCommand"); + } + }; + var ListDirectoryBucketsCommand = class extends command5(_ep7, _mw05, "ListDirectoryBuckets", ListDirectoryBuckets$) { + static { + __name(this, "ListDirectoryBucketsCommand"); + } + }; + var ListMultipartUploadsCommand = class extends command5(_ep8, _mw05, "ListMultipartUploads", ListMultipartUploads$) { + static { + __name(this, "ListMultipartUploadsCommand"); + } + }; + var ListObjectAnnotationsCommand = class extends command5(_ep5, _mw05, "ListObjectAnnotations", ListObjectAnnotations$) { + static { + __name(this, "ListObjectAnnotationsCommand"); + } + }; + var ListObjectsCommand = class extends command5(_ep8, _mw05, "ListObjects", ListObjects$) { + static { + __name(this, "ListObjectsCommand"); + } + }; + var ListObjectsV2Command = class extends command5(_ep8, _mw05, "ListObjectsV2", ListObjectsV2$) { + static { + __name(this, "ListObjectsV2Command"); + } + }; + var ListObjectVersionsCommand = class extends command5(_ep8, _mw05, "ListObjectVersions", ListObjectVersions$) { + static { + __name(this, "ListObjectVersionsCommand"); + } + }; + var ListPartsCommand = class extends command5(_ep05, _mw1, "ListParts", ListParts$) { + static { + __name(this, "ListPartsCommand"); + } + }; + var PutBucketAbacCommand = class extends command5(_ep5, _mw9, "PutBucketAbac", PutBucketAbac$) { + static { + __name(this, "PutBucketAbacCommand"); + } + }; + var PutBucketAccelerateConfigurationCommand = class extends command5(_ep3, _mw9, "PutBucketAccelerateConfiguration", PutBucketAccelerateConfiguration$) { + static { + __name(this, "PutBucketAccelerateConfigurationCommand"); + } + }; + var PutBucketAclCommand = class extends command5(_ep3, _mw3, "PutBucketAcl", PutBucketAcl$) { + static { + __name(this, "PutBucketAclCommand"); + } + }; + var PutBucketAnalyticsConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketAnalyticsConfiguration", PutBucketAnalyticsConfiguration$) { + static { + __name(this, "PutBucketAnalyticsConfigurationCommand"); + } + }; + var PutBucketCorsCommand = class extends command5(_ep3, _mw3, "PutBucketCors", PutBucketCors$) { + static { + __name(this, "PutBucketCorsCommand"); + } + }; + var PutBucketEncryptionCommand = class extends command5(_ep3, _mw3, "PutBucketEncryption", PutBucketEncryption$) { + static { + __name(this, "PutBucketEncryptionCommand"); + } + }; + var PutBucketIntelligentTieringConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketIntelligentTieringConfiguration", PutBucketIntelligentTieringConfiguration$) { + static { + __name(this, "PutBucketIntelligentTieringConfigurationCommand"); + } + }; + var PutBucketInventoryConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketInventoryConfiguration", PutBucketInventoryConfiguration$) { + static { + __name(this, "PutBucketInventoryConfigurationCommand"); + } + }; + var PutBucketLifecycleConfigurationCommand = class extends command5(_ep3, _mw5, "PutBucketLifecycleConfiguration", PutBucketLifecycleConfiguration$) { + static { + __name(this, "PutBucketLifecycleConfigurationCommand"); + } + }; + var PutBucketLoggingCommand = class extends command5(_ep3, _mw3, "PutBucketLogging", PutBucketLogging$) { + static { + __name(this, "PutBucketLoggingCommand"); + } + }; + var PutBucketMetricsConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketMetricsConfiguration", PutBucketMetricsConfiguration$) { + static { + __name(this, "PutBucketMetricsConfigurationCommand"); + } + }; + var PutBucketNotificationConfigurationCommand = class extends command5(_ep3, _mw4, "PutBucketNotificationConfiguration", PutBucketNotificationConfiguration$) { + static { + __name(this, "PutBucketNotificationConfigurationCommand"); + } + }; + var PutBucketOwnershipControlsCommand = class extends command5(_ep3, _mw3, "PutBucketOwnershipControls", PutBucketOwnershipControls$) { + static { + __name(this, "PutBucketOwnershipControlsCommand"); + } + }; + var PutBucketPolicyCommand2 = class extends command5(_ep3, _mw3, "PutBucketPolicy", PutBucketPolicy$) { + static { + __name(this, "PutBucketPolicyCommand"); + } + }; + var PutBucketReplicationCommand = class extends command5(_ep3, _mw3, "PutBucketReplication", PutBucketReplication$) { + static { + __name(this, "PutBucketReplicationCommand"); + } + }; + var PutBucketRequestPaymentCommand = class extends command5(_ep3, _mw3, "PutBucketRequestPayment", PutBucketRequestPayment$) { + static { + __name(this, "PutBucketRequestPaymentCommand"); + } + }; + var PutBucketTaggingCommand = class extends command5(_ep3, _mw3, "PutBucketTagging", PutBucketTagging$) { + static { + __name(this, "PutBucketTaggingCommand"); + } + }; + var PutBucketVersioningCommand = class extends command5(_ep3, _mw3, "PutBucketVersioning", PutBucketVersioning$) { + static { + __name(this, "PutBucketVersioningCommand"); + } + }; + var PutBucketWebsiteCommand = class extends command5(_ep3, _mw3, "PutBucketWebsite", PutBucketWebsite$) { + static { + __name(this, "PutBucketWebsiteCommand"); + } + }; + var PutObjectAclCommand = class extends command5(_ep05, _mw5, "PutObjectAcl", PutObjectAcl$) { + static { + __name(this, "PutObjectAclCommand"); + } + }; + var PutObjectAnnotationCommand = class extends command5(_ep05, _mw10, "PutObjectAnnotation", PutObjectAnnotation$) { + static { + __name(this, "PutObjectAnnotationCommand"); + } + }; + var PutObjectCommand2 = class extends command5(_ep05, _mw11, "PutObject", PutObject$) { + static { + __name(this, "PutObjectCommand"); + } + }; + var PutObjectLegalHoldCommand = class extends command5(_ep5, _mw5, "PutObjectLegalHold", PutObjectLegalHold$) { + static { + __name(this, "PutObjectLegalHoldCommand"); + } + }; + var PutObjectLockConfigurationCommand = class extends command5(_ep5, _mw5, "PutObjectLockConfiguration", PutObjectLockConfiguration$) { + static { + __name(this, "PutObjectLockConfigurationCommand"); + } + }; + var PutObjectRetentionCommand = class extends command5(_ep5, _mw5, "PutObjectRetention", PutObjectRetention$) { + static { + __name(this, "PutObjectRetentionCommand"); + } + }; + var PutObjectTaggingCommand = class extends command5(_ep5, _mw5, "PutObjectTagging", PutObjectTagging$) { + static { + __name(this, "PutObjectTaggingCommand"); + } + }; + var PutPublicAccessBlockCommand = class extends command5(_ep3, _mw3, "PutPublicAccessBlock", PutPublicAccessBlock$) { + static { + __name(this, "PutPublicAccessBlockCommand"); + } + }; + var RenameObjectCommand = class extends command5(_ep05, _mw05, "RenameObject", RenameObject$) { + static { + __name(this, "RenameObjectCommand"); + } + }; + var RestoreObjectCommand = class extends command5(_ep5, _mw10, "RestoreObject", RestoreObject$) { + static { + __name(this, "RestoreObjectCommand"); + } + }; + var SelectObjectContentCommand = class extends command5(_ep5, _mw12, "SelectObjectContent", SelectObjectContent$) { + static { + __name(this, "SelectObjectContentCommand"); + } + }; + var UpdateBucketMetadataAnnotationTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataAnnotationTableConfiguration", UpdateBucketMetadataAnnotationTableConfiguration$) { + static { + __name(this, "UpdateBucketMetadataAnnotationTableConfigurationCommand"); + } + }; + var UpdateBucketMetadataInventoryTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataInventoryTableConfiguration", UpdateBucketMetadataInventoryTableConfiguration$) { + static { + __name(this, "UpdateBucketMetadataInventoryTableConfigurationCommand"); + } + }; + var UpdateBucketMetadataJournalTableConfigurationCommand = class extends command5(_ep3, _mw3, "UpdateBucketMetadataJournalTableConfiguration", UpdateBucketMetadataJournalTableConfiguration$) { + static { + __name(this, "UpdateBucketMetadataJournalTableConfigurationCommand"); + } + }; + var UpdateObjectEncryptionCommand = class extends command5(_ep5, _mw5, "UpdateObjectEncryption", UpdateObjectEncryption$) { + static { + __name(this, "UpdateObjectEncryptionCommand"); + } + }; + var UploadPartCommand = class extends command5(_ep05, _mw13, "UploadPart", UploadPart$) { + static { + __name(this, "UploadPartCommand"); + } + }; + var UploadPartCopyCommand = class extends command5(_ep4, _mw1, "UploadPartCopy", UploadPartCopy$) { + static { + __name(this, "UploadPartCopyCommand"); + } + }; + var WriteGetObjectResponseCommand = class extends command5(_ep9, _mw4, "WriteGetObjectResponse", WriteGetObjectResponse$) { + static { + __name(this, "WriteGetObjectResponseCommand"); + } + }; + var paginateListBuckets = createPaginator2(S3Client2, ListBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxBuckets"); + var paginateListDirectoryBuckets = createPaginator2(S3Client2, ListDirectoryBucketsCommand, "ContinuationToken", "ContinuationToken", "MaxDirectoryBuckets"); + var paginateListObjectAnnotations = createPaginator2(S3Client2, ListObjectAnnotationsCommand, "ContinuationToken", "NextContinuationToken", "MaxAnnotationResults"); + var paginateListObjectsV2 = createPaginator2(S3Client2, ListObjectsV2Command, "ContinuationToken", "NextContinuationToken", "MaxKeys"); + var paginateListParts = createPaginator2(S3Client2, ListPartsCommand, "PartNumberMarker", "NextPartNumberMarker", "MaxParts"); + var checkState$3 = /* @__PURE__ */ __name(async (client, input2) => { + let reason; + try { + let result = await client.send(new HeadBucketCommand2(input2)); + reason = result; + return { state: WaiterState.SUCCESS, reason }; + } catch (exception) { + reason = exception; + if (exception.name === "NotFound") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; + }, "checkState$3"); + var waitForBucketExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$3); + }, "waitForBucketExists"); + var waitUntilBucketExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$3); + return checkExceptions(result); + }, "waitUntilBucketExists"); + var checkState$2 = /* @__PURE__ */ __name(async (client, input2) => { + let reason; + try { + let result = await client.send(new HeadBucketCommand2(input2)); + reason = result; + } catch (exception) { + reason = exception; + if (exception.name === "NotFound") { + return { state: WaiterState.SUCCESS, reason }; + } + } + return { state: WaiterState.RETRY, reason }; + }, "checkState$2"); + var waitForBucketNotExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$2); + }, "waitForBucketNotExists"); + var waitUntilBucketNotExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$2); + return checkExceptions(result); + }, "waitUntilBucketNotExists"); + var checkState$1 = /* @__PURE__ */ __name(async (client, input2) => { + let reason; + try { + let result = await client.send(new HeadObjectCommand(input2)); + reason = result; + return { state: WaiterState.SUCCESS, reason }; + } catch (exception) { + reason = exception; + if (exception.name === "NotFound") { + return { state: WaiterState.RETRY, reason }; + } + } + return { state: WaiterState.RETRY, reason }; + }, "checkState$1"); + var waitForObjectExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input2, checkState$1); + }, "waitForObjectExists"); + var waitUntilObjectExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState$1); + return checkExceptions(result); + }, "waitUntilObjectExists"); + var checkState = /* @__PURE__ */ __name(async (client, input2) => { + let reason; + try { + let result = await client.send(new HeadObjectCommand(input2)); + reason = result; + } catch (exception) { + reason = exception; + if (exception.name === "NotFound") { + return { state: WaiterState.SUCCESS, reason }; + } + } + return { state: WaiterState.RETRY, reason }; + }, "checkState"); + var waitForObjectNotExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + return createWaiter({ ...serviceDefaults, ...params }, input2, checkState); + }, "waitForObjectNotExists"); + var waitUntilObjectNotExists = /* @__PURE__ */ __name(async (params, input2) => { + const serviceDefaults = { minDelay: 5, maxDelay: 120 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input2, checkState); + return checkExceptions(result); + }, "waitUntilObjectNotExists"); + var commands5 = { + AbortMultipartUploadCommand, + CompleteMultipartUploadCommand, + CopyObjectCommand, + CreateBucketCommand: CreateBucketCommand2, + CreateBucketMetadataConfigurationCommand, + CreateBucketMetadataTableConfigurationCommand, + CreateMultipartUploadCommand, + CreateSessionCommand, + DeleteBucketCommand, + DeleteBucketAnalyticsConfigurationCommand, + DeleteBucketCorsCommand, + DeleteBucketEncryptionCommand, + DeleteBucketIntelligentTieringConfigurationCommand, + DeleteBucketInventoryConfigurationCommand, + DeleteBucketLifecycleCommand, + DeleteBucketMetadataConfigurationCommand, + DeleteBucketMetadataTableConfigurationCommand, + DeleteBucketMetricsConfigurationCommand, + DeleteBucketOwnershipControlsCommand, + DeleteBucketPolicyCommand, + DeleteBucketReplicationCommand, + DeleteBucketTaggingCommand, + DeleteBucketWebsiteCommand, + DeleteObjectCommand: DeleteObjectCommand2, + DeleteObjectAnnotationCommand, + DeleteObjectsCommand, + DeleteObjectTaggingCommand, + DeletePublicAccessBlockCommand, + GetBucketAbacCommand, + GetBucketAccelerateConfigurationCommand, + GetBucketAclCommand, + GetBucketAnalyticsConfigurationCommand, + GetBucketCorsCommand, + GetBucketEncryptionCommand, + GetBucketIntelligentTieringConfigurationCommand, + GetBucketInventoryConfigurationCommand, + GetBucketLifecycleConfigurationCommand, + GetBucketLocationCommand, + GetBucketLoggingCommand, + GetBucketMetadataConfigurationCommand, + GetBucketMetadataTableConfigurationCommand, + GetBucketMetricsConfigurationCommand, + GetBucketNotificationConfigurationCommand, + GetBucketOwnershipControlsCommand, + GetBucketPolicyCommand, + GetBucketPolicyStatusCommand, + GetBucketReplicationCommand, + GetBucketRequestPaymentCommand, + GetBucketTaggingCommand, + GetBucketVersioningCommand, + GetBucketWebsiteCommand, + GetObjectCommand, + GetObjectAclCommand, + GetObjectAnnotationCommand, + GetObjectAttributesCommand, + GetObjectLegalHoldCommand, + GetObjectLockConfigurationCommand, + GetObjectRetentionCommand, + GetObjectTaggingCommand, + GetObjectTorrentCommand, + GetPublicAccessBlockCommand, + HeadBucketCommand: HeadBucketCommand2, + HeadObjectCommand, + ListBucketAnalyticsConfigurationsCommand, + ListBucketIntelligentTieringConfigurationsCommand, + ListBucketInventoryConfigurationsCommand, + ListBucketMetricsConfigurationsCommand, + ListBucketsCommand, + ListDirectoryBucketsCommand, + ListMultipartUploadsCommand, + ListObjectAnnotationsCommand, + ListObjectsCommand, + ListObjectsV2Command, + ListObjectVersionsCommand, + ListPartsCommand, + PutBucketAbacCommand, + PutBucketAccelerateConfigurationCommand, + PutBucketAclCommand, + PutBucketAnalyticsConfigurationCommand, + PutBucketCorsCommand, + PutBucketEncryptionCommand, + PutBucketIntelligentTieringConfigurationCommand, + PutBucketInventoryConfigurationCommand, + PutBucketLifecycleConfigurationCommand, + PutBucketLoggingCommand, + PutBucketMetricsConfigurationCommand, + PutBucketNotificationConfigurationCommand, + PutBucketOwnershipControlsCommand, + PutBucketPolicyCommand: PutBucketPolicyCommand2, + PutBucketReplicationCommand, + PutBucketRequestPaymentCommand, + PutBucketTaggingCommand, + PutBucketVersioningCommand, + PutBucketWebsiteCommand, + PutObjectCommand: PutObjectCommand2, + PutObjectAclCommand, + PutObjectAnnotationCommand, + PutObjectLegalHoldCommand, + PutObjectLockConfigurationCommand, + PutObjectRetentionCommand, + PutObjectTaggingCommand, + PutPublicAccessBlockCommand, + RenameObjectCommand, + RestoreObjectCommand, + SelectObjectContentCommand, + UpdateBucketMetadataAnnotationTableConfigurationCommand, + UpdateBucketMetadataInventoryTableConfigurationCommand, + UpdateBucketMetadataJournalTableConfigurationCommand, + UpdateObjectEncryptionCommand, + UploadPartCommand, + UploadPartCopyCommand, + WriteGetObjectResponseCommand + }; + var paginators = { + paginateListBuckets, + paginateListDirectoryBuckets, + paginateListObjectAnnotations, + paginateListObjectsV2, + paginateListParts + }; + var waiters = { + waitUntilBucketExists, + waitUntilBucketNotExists, + waitUntilObjectExists, + waitUntilObjectNotExists + }; + var S3 = class extends S3Client2 { + static { + __name(this, "S3"); + } + }; + createAggregatedClient2(commands5, S3, { paginators, waiters }); + var BucketAbacStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var RequestCharged = { + requester: "requester" + }; + var RequestPayer = { + requester: "requester" + }; + var BucketAccelerateStatus = { + Enabled: "Enabled", + Suspended: "Suspended" + }; + var Type = { + AmazonCustomerByEmail: "AmazonCustomerByEmail", + CanonicalUser: "CanonicalUser", + Group: "Group" + }; + var Permission = { + FULL_CONTROL: "FULL_CONTROL", + READ: "READ", + READ_ACP: "READ_ACP", + WRITE: "WRITE", + WRITE_ACP: "WRITE_ACP" + }; + var OwnerOverride = { + Destination: "Destination" + }; + var ChecksumType = { + COMPOSITE: "COMPOSITE", + FULL_OBJECT: "FULL_OBJECT" + }; + var ServerSideEncryption = { + AES256: "AES256", + aws_backup: "aws:backup", + aws_fsx: "aws:fsx", + aws_kms: "aws:kms", + aws_kms_dsse: "aws:kms:dsse" + }; + var ObjectCannedACL = { + authenticated_read: "authenticated-read", + aws_exec_read: "aws-exec-read", + bucket_owner_full_control: "bucket-owner-full-control", + bucket_owner_read: "bucket-owner-read", + private: "private", + public_read: "public-read", + public_read_write: "public-read-write" + }; + var AnnotationDirective = { + COPY: "COPY", + EXCLUDE: "EXCLUDE" + }; + var ChecksumAlgorithm2 = { + CRC32: "CRC32", + CRC32C: "CRC32C", + CRC64NVME: "CRC64NVME", + MD5: "MD5", + SHA1: "SHA1", + SHA256: "SHA256", + SHA512: "SHA512", + XXHASH128: "XXHASH128", + XXHASH3: "XXHASH3", + XXHASH64: "XXHASH64" + }; + var MetadataDirective = { + COPY: "COPY", + REPLACE: "REPLACE" + }; + var ObjectLockEventHold = { + OFF: "OFF", + ON: "ON" + }; + var ObjectLockLegalHoldStatus = { + OFF: "OFF", + ON: "ON" + }; + var ObjectLockMode = { + COMPLIANCE: "COMPLIANCE", + GOVERNANCE: "GOVERNANCE" + }; + var StorageClass = { + AWS_BACKUP_LOW_COST_WARM: "AWS_BACKUP_LOW_COST_WARM", + AWS_BACKUP_WARM: "AWS_BACKUP_WARM", + DEEP_ARCHIVE: "DEEP_ARCHIVE", + EXPRESS_ONEZONE: "EXPRESS_ONEZONE", + FSX_ONTAP: "FSX_ONTAP", + FSX_OPENZFS: "FSX_OPENZFS", + GLACIER: "GLACIER", + GLACIER_IR: "GLACIER_IR", + INTELLIGENT_TIERING: "INTELLIGENT_TIERING", + ONEZONE_IA: "ONEZONE_IA", + OUTPOSTS: "OUTPOSTS", + REDUCED_REDUNDANCY: "REDUCED_REDUNDANCY", + SNOW: "SNOW", + STANDARD: "STANDARD", + STANDARD_IA: "STANDARD_IA" + }; + var TaggingDirective = { + COPY: "COPY", + REPLACE: "REPLACE" + }; + var BucketCannedACL = { + authenticated_read: "authenticated-read", + private: "private", + public_read: "public-read", + public_read_write: "public-read-write" + }; + var BucketNamespace = { + ACCOUNT_REGIONAL: "account-regional", + GLOBAL: "global" + }; + var DataRedundancy = { + SingleAvailabilityZone: "SingleAvailabilityZone", + SingleLocalZone: "SingleLocalZone" + }; + var BucketType = { + Directory: "Directory" + }; + var LocationType = { + AvailabilityZone: "AvailabilityZone", + LocalZone: "LocalZone" + }; + var BucketLocationConstraint = { + EU: "EU", + af_south_1: "af-south-1", + ap_east_1: "ap-east-1", + ap_east_2: "ap-east-2", + ap_northeast_1: "ap-northeast-1", + ap_northeast_2: "ap-northeast-2", + ap_northeast_3: "ap-northeast-3", + ap_south_1: "ap-south-1", + ap_south_2: "ap-south-2", + ap_southeast_1: "ap-southeast-1", + ap_southeast_2: "ap-southeast-2", + ap_southeast_3: "ap-southeast-3", + ap_southeast_4: "ap-southeast-4", + ap_southeast_5: "ap-southeast-5", + ap_southeast_6: "ap-southeast-6", + ap_southeast_7: "ap-southeast-7", + ca_central_1: "ca-central-1", + ca_west_1: "ca-west-1", + cn_north_1: "cn-north-1", + cn_northwest_1: "cn-northwest-1", + eu_central_1: "eu-central-1", + eu_central_2: "eu-central-2", + eu_north_1: "eu-north-1", + eu_south_1: "eu-south-1", + eu_south_2: "eu-south-2", + eu_west_1: "eu-west-1", + eu_west_2: "eu-west-2", + eu_west_3: "eu-west-3", + il_central_1: "il-central-1", + me_central_1: "me-central-1", + me_south_1: "me-south-1", + mx_central_1: "mx-central-1", + sa_east_1: "sa-east-1", + us_east_2: "us-east-2", + us_gov_east_1: "us-gov-east-1", + us_gov_west_1: "us-gov-west-1", + us_west_1: "us-west-1", + us_west_2: "us-west-2" + }; + var ObjectOwnership = { + BucketOwnerEnforced: "BucketOwnerEnforced", + BucketOwnerPreferred: "BucketOwnerPreferred", + ObjectWriter: "ObjectWriter" + }; + var AnnotationConfigurationState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED" + }; + var TableSseAlgorithm = { + AES256: "AES256", + aws_kms: "aws:kms" + }; + var InventoryConfigurationState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED" + }; + var ExpirationState = { + DISABLED: "DISABLED", + ENABLED: "ENABLED" + }; + var SessionMode = { + ReadOnly: "ReadOnly", + ReadWrite: "ReadWrite" + }; + var AnalyticsS3ExportFileFormat = { + CSV: "CSV" + }; + var StorageClassAnalysisSchemaVersion = { + V_1: "V_1" + }; + var EncryptionType = { + NONE: "NONE", + SSE_C: "SSE-C" + }; + var IntelligentTieringStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var IntelligentTieringAccessTier = { + ARCHIVE_ACCESS: "ARCHIVE_ACCESS", + DEEP_ARCHIVE_ACCESS: "DEEP_ARCHIVE_ACCESS" + }; + var InventoryFormat = { + CSV: "CSV", + ORC: "ORC", + Parquet: "Parquet" + }; + var InventoryIncludedObjectVersions = { + All: "All", + Current: "Current" + }; + var InventoryOptionalField = { + BucketKeyStatus: "BucketKeyStatus", + ChecksumAlgorithm: "ChecksumAlgorithm", + ETag: "ETag", + EncryptionStatus: "EncryptionStatus", + IntelligentTieringAccessTier: "IntelligentTieringAccessTier", + IntelligentTieringReferenceDate: "IntelligentTieringReferenceDate", + IsMultipartUploaded: "IsMultipartUploaded", + LastModifiedDate: "LastModifiedDate", + LifecycleExpirationDate: "LifecycleExpirationDate", + ObjectAccessControlList: "ObjectAccessControlList", + ObjectLockEventHoldDuration: "ObjectLockEventHoldDuration", + ObjectLockEventHoldStatus: "ObjectLockEventHoldStatus", + ObjectLockLegalHoldStatus: "ObjectLockLegalHoldStatus", + ObjectLockMode: "ObjectLockMode", + ObjectLockRetainUntilDate: "ObjectLockRetainUntilDate", + ObjectOwner: "ObjectOwner", + ReplicationStatus: "ReplicationStatus", + Size: "Size", + StorageClass: "StorageClass" + }; + var InventoryFrequency = { + Daily: "Daily", + Weekly: "Weekly" + }; + var TransitionStorageClass = { + DEEP_ARCHIVE: "DEEP_ARCHIVE", + GLACIER: "GLACIER", + GLACIER_IR: "GLACIER_IR", + INTELLIGENT_TIERING: "INTELLIGENT_TIERING", + ONEZONE_IA: "ONEZONE_IA", + STANDARD_IA: "STANDARD_IA" + }; + var ExpirationStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var TransitionDefaultMinimumObjectSize = { + all_storage_classes_128K: "all_storage_classes_128K", + varies_by_storage_class: "varies_by_storage_class" + }; + var BucketLogsPermission = { + FULL_CONTROL: "FULL_CONTROL", + READ: "READ", + WRITE: "WRITE" + }; + var PartitionDateSource = { + DeliveryTime: "DeliveryTime", + EventTime: "EventTime" + }; + var S3TablesBucketType = { + aws: "aws", + customer: "customer" + }; + var Event = { + s3_IntelligentTiering: "s3:IntelligentTiering", + s3_LifecycleExpiration_: "s3:LifecycleExpiration:*", + s3_LifecycleExpiration_Delete: "s3:LifecycleExpiration:Delete", + s3_LifecycleExpiration_DeleteMarkerCreated: "s3:LifecycleExpiration:DeleteMarkerCreated", + s3_LifecycleTransition: "s3:LifecycleTransition", + s3_ObjectAcl_Put: "s3:ObjectAcl:Put", + s3_ObjectAnnotation_: "s3:ObjectAnnotation:*", + s3_ObjectAnnotation_Delete: "s3:ObjectAnnotation:Delete", + s3_ObjectAnnotation_Put: "s3:ObjectAnnotation:Put", + s3_ObjectCreated_: "s3:ObjectCreated:*", + s3_ObjectCreated_CompleteMultipartUpload: "s3:ObjectCreated:CompleteMultipartUpload", + s3_ObjectCreated_Copy: "s3:ObjectCreated:Copy", + s3_ObjectCreated_Post: "s3:ObjectCreated:Post", + s3_ObjectCreated_Put: "s3:ObjectCreated:Put", + s3_ObjectRemoved_: "s3:ObjectRemoved:*", + s3_ObjectRemoved_Delete: "s3:ObjectRemoved:Delete", + s3_ObjectRemoved_DeleteMarkerCreated: "s3:ObjectRemoved:DeleteMarkerCreated", + s3_ObjectRestore_: "s3:ObjectRestore:*", + s3_ObjectRestore_Completed: "s3:ObjectRestore:Completed", + s3_ObjectRestore_Delete: "s3:ObjectRestore:Delete", + s3_ObjectRestore_Post: "s3:ObjectRestore:Post", + s3_ObjectRetention_Put: "s3:ObjectRetention:Put", + s3_ObjectTagging_: "s3:ObjectTagging:*", + s3_ObjectTagging_Delete: "s3:ObjectTagging:Delete", + s3_ObjectTagging_Put: "s3:ObjectTagging:Put", + s3_ReducedRedundancyLostObject: "s3:ReducedRedundancyLostObject", + s3_Replication_: "s3:Replication:*", + s3_Replication_OperationFailedReplication: "s3:Replication:OperationFailedReplication", + s3_Replication_OperationMissedThreshold: "s3:Replication:OperationMissedThreshold", + s3_Replication_OperationNotTracked: "s3:Replication:OperationNotTracked", + s3_Replication_OperationReplicatedAfterThreshold: "s3:Replication:OperationReplicatedAfterThreshold" + }; + var FilterRuleName = { + prefix: "prefix", + suffix: "suffix" + }; + var DeleteMarkerReplicationStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var MetricsStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var ReplicationTimeStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var ExistingObjectReplicationStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var ReplicaModificationsStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var SseKmsEncryptedObjectsStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var ReplicationRuleStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var Payer = { + BucketOwner: "BucketOwner", + Requester: "Requester" + }; + var MFADeleteStatus = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var BucketVersioningStatus = { + Enabled: "Enabled", + Suspended: "Suspended" + }; + var Protocol = { + http: "http", + https: "https" + }; + var ReplicationStatus = { + COMPLETE: "COMPLETE", + COMPLETED: "COMPLETED", + FAILED: "FAILED", + PENDING: "PENDING", + REPLICA: "REPLICA" + }; + var ChecksumMode = { + ENABLED: "ENABLED" + }; + var ObjectAttributes = { + CHECKSUM: "Checksum", + ETAG: "ETag", + OBJECT_PARTS: "ObjectParts", + OBJECT_SIZE: "ObjectSize", + STORAGE_CLASS: "StorageClass" + }; + var ObjectLockEnabled = { + Enabled: "Enabled" + }; + var ObjectLockRetentionMode = { + COMPLIANCE: "COMPLIANCE", + GOVERNANCE: "GOVERNANCE" + }; + var ArchiveStatus = { + ARCHIVE_ACCESS: "ARCHIVE_ACCESS", + DEEP_ARCHIVE_ACCESS: "DEEP_ARCHIVE_ACCESS" + }; + var EncodingType = { + url: "url" + }; + var ObjectStorageClass = { + AWS_BACKUP_LOW_COST_WARM: "AWS_BACKUP_LOW_COST_WARM", + AWS_BACKUP_WARM: "AWS_BACKUP_WARM", + DEEP_ARCHIVE: "DEEP_ARCHIVE", + EXPRESS_ONEZONE: "EXPRESS_ONEZONE", + FSX_ONTAP: "FSX_ONTAP", + FSX_OPENZFS: "FSX_OPENZFS", + GLACIER: "GLACIER", + GLACIER_IR: "GLACIER_IR", + INTELLIGENT_TIERING: "INTELLIGENT_TIERING", + ONEZONE_IA: "ONEZONE_IA", + OUTPOSTS: "OUTPOSTS", + REDUCED_REDUNDANCY: "REDUCED_REDUNDANCY", + SNOW: "SNOW", + STANDARD: "STANDARD", + STANDARD_IA: "STANDARD_IA" + }; + var OptionalObjectAttributes = { + RESTORE_STATUS: "RestoreStatus" + }; + var ObjectVersionStorageClass = { + STANDARD: "STANDARD" + }; + var MFADelete = { + Disabled: "Disabled", + Enabled: "Enabled" + }; + var Tier = { + Bulk: "Bulk", + Expedited: "Expedited", + Standard: "Standard" + }; + var ExpressionType = { + SQL: "SQL" + }; + var CompressionType = { + BZIP2: "BZIP2", + GZIP: "GZIP", + NONE: "NONE" + }; + var FileHeaderInfo = { + IGNORE: "IGNORE", + NONE: "NONE", + USE: "USE" + }; + var JSONType = { + DOCUMENT: "DOCUMENT", + LINES: "LINES" + }; + var QuoteFields = { + ALWAYS: "ALWAYS", + ASNEEDED: "ASNEEDED" + }; + var RestoreRequestType = { + SELECT: "SELECT" + }; + exports.AbacStatus$ = AbacStatus$; + exports.AbortIncompleteMultipartUpload$ = AbortIncompleteMultipartUpload$; + exports.AbortMultipartUpload$ = AbortMultipartUpload$; + exports.AbortMultipartUploadCommand = AbortMultipartUploadCommand; + exports.AbortMultipartUploadOutput$ = AbortMultipartUploadOutput$; + exports.AbortMultipartUploadRequest$ = AbortMultipartUploadRequest$; + exports.AccelerateConfiguration$ = AccelerateConfiguration$; + exports.AccessControlPolicy$ = AccessControlPolicy$; + exports.AccessControlTranslation$ = AccessControlTranslation$; + exports.AccessDenied = AccessDenied; + exports.AccessDenied$ = AccessDenied$; + exports.AnalyticsAndOperator$ = AnalyticsAndOperator$; + exports.AnalyticsConfiguration$ = AnalyticsConfiguration$; + exports.AnalyticsExportDestination$ = AnalyticsExportDestination$; + exports.AnalyticsFilter$ = AnalyticsFilter$; + exports.AnalyticsS3BucketDestination$ = AnalyticsS3BucketDestination$; + exports.AnalyticsS3ExportFileFormat = AnalyticsS3ExportFileFormat; + exports.AnnotationConfigurationState = AnnotationConfigurationState; + exports.AnnotationDirective = AnnotationDirective; + exports.AnnotationEntry$ = AnnotationEntry$; + exports.AnnotationLimitExceeded = AnnotationLimitExceeded; + exports.AnnotationLimitExceeded$ = AnnotationLimitExceeded$; + exports.AnnotationNameTooLong = AnnotationNameTooLong; + exports.AnnotationNameTooLong$ = AnnotationNameTooLong$; + exports.AnnotationTableConfiguration$ = AnnotationTableConfiguration$; + exports.AnnotationTableConfigurationResult$ = AnnotationTableConfigurationResult$; + exports.AnnotationTableConfigurationUpdates$ = AnnotationTableConfigurationUpdates$; + exports.ArchiveStatus = ArchiveStatus; + exports.BlockedEncryptionTypes$ = BlockedEncryptionTypes$; + exports.Bucket$ = Bucket$; + exports.BucketAbacStatus = BucketAbacStatus; + exports.BucketAccelerateStatus = BucketAccelerateStatus; + exports.BucketAlreadyExists = BucketAlreadyExists; + exports.BucketAlreadyExists$ = BucketAlreadyExists$; + exports.BucketAlreadyOwnedByYou = BucketAlreadyOwnedByYou; + exports.BucketAlreadyOwnedByYou$ = BucketAlreadyOwnedByYou$; + exports.BucketCannedACL = BucketCannedACL; + exports.BucketInfo$ = BucketInfo$; + exports.BucketLifecycleConfiguration$ = BucketLifecycleConfiguration$; + exports.BucketLocationConstraint = BucketLocationConstraint; + exports.BucketLoggingStatus$ = BucketLoggingStatus$; + exports.BucketLogsPermission = BucketLogsPermission; + exports.BucketNamespace = BucketNamespace; + exports.BucketType = BucketType; + exports.BucketVersioningStatus = BucketVersioningStatus; + exports.CORSConfiguration$ = CORSConfiguration$; + exports.CORSRule$ = CORSRule$; + exports.CSVInput$ = CSVInput$; + exports.CSVOutput$ = CSVOutput$; + exports.Checksum$ = Checksum$; + exports.ChecksumAlgorithm = ChecksumAlgorithm2; + exports.ChecksumMode = ChecksumMode; + exports.ChecksumType = ChecksumType; + exports.CommonPrefix$ = CommonPrefix$; + exports.CompleteMultipartUpload$ = CompleteMultipartUpload$; + exports.CompleteMultipartUploadCommand = CompleteMultipartUploadCommand; + exports.CompleteMultipartUploadOutput$ = CompleteMultipartUploadOutput$; + exports.CompleteMultipartUploadRequest$ = CompleteMultipartUploadRequest$; + exports.CompletedMultipartUpload$ = CompletedMultipartUpload$; + exports.CompletedPart$ = CompletedPart$; + exports.CompressionType = CompressionType; + exports.Condition$ = Condition$; + exports.ContinuationEvent$ = ContinuationEvent$; + exports.CopyObject$ = CopyObject$; + exports.CopyObjectCommand = CopyObjectCommand; + exports.CopyObjectOutput$ = CopyObjectOutput$; + exports.CopyObjectRequest$ = CopyObjectRequest$; + exports.CopyObjectResult$ = CopyObjectResult$; + exports.CopyPartResult$ = CopyPartResult$; + exports.CreateBucket$ = CreateBucket$; + exports.CreateBucketCommand = CreateBucketCommand2; + exports.CreateBucketConfiguration$ = CreateBucketConfiguration$; + exports.CreateBucketMetadataConfiguration$ = CreateBucketMetadataConfiguration$; + exports.CreateBucketMetadataConfigurationCommand = CreateBucketMetadataConfigurationCommand; + exports.CreateBucketMetadataConfigurationRequest$ = CreateBucketMetadataConfigurationRequest$; + exports.CreateBucketMetadataTableConfiguration$ = CreateBucketMetadataTableConfiguration$; + exports.CreateBucketMetadataTableConfigurationCommand = CreateBucketMetadataTableConfigurationCommand; + exports.CreateBucketMetadataTableConfigurationRequest$ = CreateBucketMetadataTableConfigurationRequest$; + exports.CreateBucketOutput$ = CreateBucketOutput$; + exports.CreateBucketRequest$ = CreateBucketRequest$; + exports.CreateMultipartUpload$ = CreateMultipartUpload$; + exports.CreateMultipartUploadCommand = CreateMultipartUploadCommand; + exports.CreateMultipartUploadOutput$ = CreateMultipartUploadOutput$; + exports.CreateMultipartUploadRequest$ = CreateMultipartUploadRequest$; + exports.CreateSession$ = CreateSession$; + exports.CreateSessionCommand = CreateSessionCommand; + exports.CreateSessionOutput$ = CreateSessionOutput$; + exports.CreateSessionRequest$ = CreateSessionRequest$; + exports.DataRedundancy = DataRedundancy; + exports.DefaultRetention$ = DefaultRetention$; + exports.Delete$ = Delete$; + exports.DeleteBucket$ = DeleteBucket$; + exports.DeleteBucketAnalyticsConfiguration$ = DeleteBucketAnalyticsConfiguration$; + exports.DeleteBucketAnalyticsConfigurationCommand = DeleteBucketAnalyticsConfigurationCommand; + exports.DeleteBucketAnalyticsConfigurationRequest$ = DeleteBucketAnalyticsConfigurationRequest$; + exports.DeleteBucketCommand = DeleteBucketCommand; + exports.DeleteBucketCors$ = DeleteBucketCors$; + exports.DeleteBucketCorsCommand = DeleteBucketCorsCommand; + exports.DeleteBucketCorsRequest$ = DeleteBucketCorsRequest$; + exports.DeleteBucketEncryption$ = DeleteBucketEncryption$; + exports.DeleteBucketEncryptionCommand = DeleteBucketEncryptionCommand; + exports.DeleteBucketEncryptionRequest$ = DeleteBucketEncryptionRequest$; + exports.DeleteBucketIntelligentTieringConfiguration$ = DeleteBucketIntelligentTieringConfiguration$; + exports.DeleteBucketIntelligentTieringConfigurationCommand = DeleteBucketIntelligentTieringConfigurationCommand; + exports.DeleteBucketIntelligentTieringConfigurationRequest$ = DeleteBucketIntelligentTieringConfigurationRequest$; + exports.DeleteBucketInventoryConfiguration$ = DeleteBucketInventoryConfiguration$; + exports.DeleteBucketInventoryConfigurationCommand = DeleteBucketInventoryConfigurationCommand; + exports.DeleteBucketInventoryConfigurationRequest$ = DeleteBucketInventoryConfigurationRequest$; + exports.DeleteBucketLifecycle$ = DeleteBucketLifecycle$; + exports.DeleteBucketLifecycleCommand = DeleteBucketLifecycleCommand; + exports.DeleteBucketLifecycleRequest$ = DeleteBucketLifecycleRequest$; + exports.DeleteBucketMetadataConfiguration$ = DeleteBucketMetadataConfiguration$; + exports.DeleteBucketMetadataConfigurationCommand = DeleteBucketMetadataConfigurationCommand; + exports.DeleteBucketMetadataConfigurationRequest$ = DeleteBucketMetadataConfigurationRequest$; + exports.DeleteBucketMetadataTableConfiguration$ = DeleteBucketMetadataTableConfiguration$; + exports.DeleteBucketMetadataTableConfigurationCommand = DeleteBucketMetadataTableConfigurationCommand; + exports.DeleteBucketMetadataTableConfigurationRequest$ = DeleteBucketMetadataTableConfigurationRequest$; + exports.DeleteBucketMetricsConfiguration$ = DeleteBucketMetricsConfiguration$; + exports.DeleteBucketMetricsConfigurationCommand = DeleteBucketMetricsConfigurationCommand; + exports.DeleteBucketMetricsConfigurationRequest$ = DeleteBucketMetricsConfigurationRequest$; + exports.DeleteBucketOwnershipControls$ = DeleteBucketOwnershipControls$; + exports.DeleteBucketOwnershipControlsCommand = DeleteBucketOwnershipControlsCommand; + exports.DeleteBucketOwnershipControlsRequest$ = DeleteBucketOwnershipControlsRequest$; + exports.DeleteBucketPolicy$ = DeleteBucketPolicy$; + exports.DeleteBucketPolicyCommand = DeleteBucketPolicyCommand; + exports.DeleteBucketPolicyRequest$ = DeleteBucketPolicyRequest$; + exports.DeleteBucketReplication$ = DeleteBucketReplication$; + exports.DeleteBucketReplicationCommand = DeleteBucketReplicationCommand; + exports.DeleteBucketReplicationRequest$ = DeleteBucketReplicationRequest$; + exports.DeleteBucketRequest$ = DeleteBucketRequest$; + exports.DeleteBucketTagging$ = DeleteBucketTagging$; + exports.DeleteBucketTaggingCommand = DeleteBucketTaggingCommand; + exports.DeleteBucketTaggingRequest$ = DeleteBucketTaggingRequest$; + exports.DeleteBucketWebsite$ = DeleteBucketWebsite$; + exports.DeleteBucketWebsiteCommand = DeleteBucketWebsiteCommand; + exports.DeleteBucketWebsiteRequest$ = DeleteBucketWebsiteRequest$; + exports.DeleteMarkerEntry$ = DeleteMarkerEntry$; + exports.DeleteMarkerReplication$ = DeleteMarkerReplication$; + exports.DeleteMarkerReplicationStatus = DeleteMarkerReplicationStatus; + exports.DeleteObject$ = DeleteObject$; + exports.DeleteObjectAnnotation$ = DeleteObjectAnnotation$; + exports.DeleteObjectAnnotationCommand = DeleteObjectAnnotationCommand; + exports.DeleteObjectAnnotationOutput$ = DeleteObjectAnnotationOutput$; + exports.DeleteObjectAnnotationRequest$ = DeleteObjectAnnotationRequest$; + exports.DeleteObjectCommand = DeleteObjectCommand2; + exports.DeleteObjectOutput$ = DeleteObjectOutput$; + exports.DeleteObjectRequest$ = DeleteObjectRequest$; + exports.DeleteObjectTagging$ = DeleteObjectTagging$; + exports.DeleteObjectTaggingCommand = DeleteObjectTaggingCommand; + exports.DeleteObjectTaggingOutput$ = DeleteObjectTaggingOutput$; + exports.DeleteObjectTaggingRequest$ = DeleteObjectTaggingRequest$; + exports.DeleteObjects$ = DeleteObjects$; + exports.DeleteObjectsCommand = DeleteObjectsCommand; + exports.DeleteObjectsOutput$ = DeleteObjectsOutput$; + exports.DeleteObjectsRequest$ = DeleteObjectsRequest$; + exports.DeletePublicAccessBlock$ = DeletePublicAccessBlock$; + exports.DeletePublicAccessBlockCommand = DeletePublicAccessBlockCommand; + exports.DeletePublicAccessBlockRequest$ = DeletePublicAccessBlockRequest$; + exports.DeletedObject$ = DeletedObject$; + exports.Destination$ = Destination$; + exports.DestinationResult$ = DestinationResult$; + exports.EncodingType = EncodingType; + exports.Encryption$ = Encryption$; + exports.EncryptionConfiguration$ = EncryptionConfiguration$; + exports.EncryptionType = EncryptionType; + exports.EncryptionTypeMismatch = EncryptionTypeMismatch; + exports.EncryptionTypeMismatch$ = EncryptionTypeMismatch$; + exports.EndEvent$ = EndEvent$; + exports.ErrorDetails$ = ErrorDetails$; + exports.ErrorDocument$ = ErrorDocument$; + exports.Event = Event; + exports.EventBridgeConfiguration$ = EventBridgeConfiguration$; + exports.EventHoldDuration$ = EventHoldDuration$; + exports.ExistingObjectReplication$ = ExistingObjectReplication$; + exports.ExistingObjectReplicationStatus = ExistingObjectReplicationStatus; + exports.ExpirationState = ExpirationState; + exports.ExpirationStatus = ExpirationStatus; + exports.ExpressionType = ExpressionType; + exports.FileHeaderInfo = FileHeaderInfo; + exports.FilterRule$ = FilterRule$; + exports.FilterRuleName = FilterRuleName; + exports.GetBucketAbac$ = GetBucketAbac$; + exports.GetBucketAbacCommand = GetBucketAbacCommand; + exports.GetBucketAbacOutput$ = GetBucketAbacOutput$; + exports.GetBucketAbacRequest$ = GetBucketAbacRequest$; + exports.GetBucketAccelerateConfiguration$ = GetBucketAccelerateConfiguration$; + exports.GetBucketAccelerateConfigurationCommand = GetBucketAccelerateConfigurationCommand; + exports.GetBucketAccelerateConfigurationOutput$ = GetBucketAccelerateConfigurationOutput$; + exports.GetBucketAccelerateConfigurationRequest$ = GetBucketAccelerateConfigurationRequest$; + exports.GetBucketAcl$ = GetBucketAcl$; + exports.GetBucketAclCommand = GetBucketAclCommand; + exports.GetBucketAclOutput$ = GetBucketAclOutput$; + exports.GetBucketAclRequest$ = GetBucketAclRequest$; + exports.GetBucketAnalyticsConfiguration$ = GetBucketAnalyticsConfiguration$; + exports.GetBucketAnalyticsConfigurationCommand = GetBucketAnalyticsConfigurationCommand; + exports.GetBucketAnalyticsConfigurationOutput$ = GetBucketAnalyticsConfigurationOutput$; + exports.GetBucketAnalyticsConfigurationRequest$ = GetBucketAnalyticsConfigurationRequest$; + exports.GetBucketCors$ = GetBucketCors$; + exports.GetBucketCorsCommand = GetBucketCorsCommand; + exports.GetBucketCorsOutput$ = GetBucketCorsOutput$; + exports.GetBucketCorsRequest$ = GetBucketCorsRequest$; + exports.GetBucketEncryption$ = GetBucketEncryption$; + exports.GetBucketEncryptionCommand = GetBucketEncryptionCommand; + exports.GetBucketEncryptionOutput$ = GetBucketEncryptionOutput$; + exports.GetBucketEncryptionRequest$ = GetBucketEncryptionRequest$; + exports.GetBucketIntelligentTieringConfiguration$ = GetBucketIntelligentTieringConfiguration$; + exports.GetBucketIntelligentTieringConfigurationCommand = GetBucketIntelligentTieringConfigurationCommand; + exports.GetBucketIntelligentTieringConfigurationOutput$ = GetBucketIntelligentTieringConfigurationOutput$; + exports.GetBucketIntelligentTieringConfigurationRequest$ = GetBucketIntelligentTieringConfigurationRequest$; + exports.GetBucketInventoryConfiguration$ = GetBucketInventoryConfiguration$; + exports.GetBucketInventoryConfigurationCommand = GetBucketInventoryConfigurationCommand; + exports.GetBucketInventoryConfigurationOutput$ = GetBucketInventoryConfigurationOutput$; + exports.GetBucketInventoryConfigurationRequest$ = GetBucketInventoryConfigurationRequest$; + exports.GetBucketLifecycleConfiguration$ = GetBucketLifecycleConfiguration$; + exports.GetBucketLifecycleConfigurationCommand = GetBucketLifecycleConfigurationCommand; + exports.GetBucketLifecycleConfigurationOutput$ = GetBucketLifecycleConfigurationOutput$; + exports.GetBucketLifecycleConfigurationRequest$ = GetBucketLifecycleConfigurationRequest$; + exports.GetBucketLocation$ = GetBucketLocation$; + exports.GetBucketLocationCommand = GetBucketLocationCommand; + exports.GetBucketLocationOutput$ = GetBucketLocationOutput$; + exports.GetBucketLocationRequest$ = GetBucketLocationRequest$; + exports.GetBucketLogging$ = GetBucketLogging$; + exports.GetBucketLoggingCommand = GetBucketLoggingCommand; + exports.GetBucketLoggingOutput$ = GetBucketLoggingOutput$; + exports.GetBucketLoggingRequest$ = GetBucketLoggingRequest$; + exports.GetBucketMetadataConfiguration$ = GetBucketMetadataConfiguration$; + exports.GetBucketMetadataConfigurationCommand = GetBucketMetadataConfigurationCommand; + exports.GetBucketMetadataConfigurationOutput$ = GetBucketMetadataConfigurationOutput$; + exports.GetBucketMetadataConfigurationRequest$ = GetBucketMetadataConfigurationRequest$; + exports.GetBucketMetadataConfigurationResult$ = GetBucketMetadataConfigurationResult$; + exports.GetBucketMetadataTableConfiguration$ = GetBucketMetadataTableConfiguration$; + exports.GetBucketMetadataTableConfigurationCommand = GetBucketMetadataTableConfigurationCommand; + exports.GetBucketMetadataTableConfigurationOutput$ = GetBucketMetadataTableConfigurationOutput$; + exports.GetBucketMetadataTableConfigurationRequest$ = GetBucketMetadataTableConfigurationRequest$; + exports.GetBucketMetadataTableConfigurationResult$ = GetBucketMetadataTableConfigurationResult$; + exports.GetBucketMetricsConfiguration$ = GetBucketMetricsConfiguration$; + exports.GetBucketMetricsConfigurationCommand = GetBucketMetricsConfigurationCommand; + exports.GetBucketMetricsConfigurationOutput$ = GetBucketMetricsConfigurationOutput$; + exports.GetBucketMetricsConfigurationRequest$ = GetBucketMetricsConfigurationRequest$; + exports.GetBucketNotificationConfiguration$ = GetBucketNotificationConfiguration$; + exports.GetBucketNotificationConfigurationCommand = GetBucketNotificationConfigurationCommand; + exports.GetBucketNotificationConfigurationRequest$ = GetBucketNotificationConfigurationRequest$; + exports.GetBucketOwnershipControls$ = GetBucketOwnershipControls$; + exports.GetBucketOwnershipControlsCommand = GetBucketOwnershipControlsCommand; + exports.GetBucketOwnershipControlsOutput$ = GetBucketOwnershipControlsOutput$; + exports.GetBucketOwnershipControlsRequest$ = GetBucketOwnershipControlsRequest$; + exports.GetBucketPolicy$ = GetBucketPolicy$; + exports.GetBucketPolicyCommand = GetBucketPolicyCommand; + exports.GetBucketPolicyOutput$ = GetBucketPolicyOutput$; + exports.GetBucketPolicyRequest$ = GetBucketPolicyRequest$; + exports.GetBucketPolicyStatus$ = GetBucketPolicyStatus$; + exports.GetBucketPolicyStatusCommand = GetBucketPolicyStatusCommand; + exports.GetBucketPolicyStatusOutput$ = GetBucketPolicyStatusOutput$; + exports.GetBucketPolicyStatusRequest$ = GetBucketPolicyStatusRequest$; + exports.GetBucketReplication$ = GetBucketReplication$; + exports.GetBucketReplicationCommand = GetBucketReplicationCommand; + exports.GetBucketReplicationOutput$ = GetBucketReplicationOutput$; + exports.GetBucketReplicationRequest$ = GetBucketReplicationRequest$; + exports.GetBucketRequestPayment$ = GetBucketRequestPayment$; + exports.GetBucketRequestPaymentCommand = GetBucketRequestPaymentCommand; + exports.GetBucketRequestPaymentOutput$ = GetBucketRequestPaymentOutput$; + exports.GetBucketRequestPaymentRequest$ = GetBucketRequestPaymentRequest$; + exports.GetBucketTagging$ = GetBucketTagging$; + exports.GetBucketTaggingCommand = GetBucketTaggingCommand; + exports.GetBucketTaggingOutput$ = GetBucketTaggingOutput$; + exports.GetBucketTaggingRequest$ = GetBucketTaggingRequest$; + exports.GetBucketVersioning$ = GetBucketVersioning$; + exports.GetBucketVersioningCommand = GetBucketVersioningCommand; + exports.GetBucketVersioningOutput$ = GetBucketVersioningOutput$; + exports.GetBucketVersioningRequest$ = GetBucketVersioningRequest$; + exports.GetBucketWebsite$ = GetBucketWebsite$; + exports.GetBucketWebsiteCommand = GetBucketWebsiteCommand; + exports.GetBucketWebsiteOutput$ = GetBucketWebsiteOutput$; + exports.GetBucketWebsiteRequest$ = GetBucketWebsiteRequest$; + exports.GetObject$ = GetObject$; + exports.GetObjectAcl$ = GetObjectAcl$; + exports.GetObjectAclCommand = GetObjectAclCommand; + exports.GetObjectAclOutput$ = GetObjectAclOutput$; + exports.GetObjectAclRequest$ = GetObjectAclRequest$; + exports.GetObjectAnnotation$ = GetObjectAnnotation$; + exports.GetObjectAnnotationCommand = GetObjectAnnotationCommand; + exports.GetObjectAnnotationOutput$ = GetObjectAnnotationOutput$; + exports.GetObjectAnnotationRequest$ = GetObjectAnnotationRequest$; + exports.GetObjectAttributes$ = GetObjectAttributes$; + exports.GetObjectAttributesCommand = GetObjectAttributesCommand; + exports.GetObjectAttributesOutput$ = GetObjectAttributesOutput$; + exports.GetObjectAttributesParts$ = GetObjectAttributesParts$; + exports.GetObjectAttributesRequest$ = GetObjectAttributesRequest$; + exports.GetObjectCommand = GetObjectCommand; + exports.GetObjectLegalHold$ = GetObjectLegalHold$; + exports.GetObjectLegalHoldCommand = GetObjectLegalHoldCommand; + exports.GetObjectLegalHoldOutput$ = GetObjectLegalHoldOutput$; + exports.GetObjectLegalHoldRequest$ = GetObjectLegalHoldRequest$; + exports.GetObjectLockConfiguration$ = GetObjectLockConfiguration$; + exports.GetObjectLockConfigurationCommand = GetObjectLockConfigurationCommand; + exports.GetObjectLockConfigurationOutput$ = GetObjectLockConfigurationOutput$; + exports.GetObjectLockConfigurationRequest$ = GetObjectLockConfigurationRequest$; + exports.GetObjectOutput$ = GetObjectOutput$; + exports.GetObjectRequest$ = GetObjectRequest$; + exports.GetObjectRetention$ = GetObjectRetention$; + exports.GetObjectRetentionCommand = GetObjectRetentionCommand; + exports.GetObjectRetentionOutput$ = GetObjectRetentionOutput$; + exports.GetObjectRetentionRequest$ = GetObjectRetentionRequest$; + exports.GetObjectTagging$ = GetObjectTagging$; + exports.GetObjectTaggingCommand = GetObjectTaggingCommand; + exports.GetObjectTaggingOutput$ = GetObjectTaggingOutput$; + exports.GetObjectTaggingRequest$ = GetObjectTaggingRequest$; + exports.GetObjectTorrent$ = GetObjectTorrent$; + exports.GetObjectTorrentCommand = GetObjectTorrentCommand; + exports.GetObjectTorrentOutput$ = GetObjectTorrentOutput$; + exports.GetObjectTorrentRequest$ = GetObjectTorrentRequest$; + exports.GetPublicAccessBlock$ = GetPublicAccessBlock$; + exports.GetPublicAccessBlockCommand = GetPublicAccessBlockCommand; + exports.GetPublicAccessBlockOutput$ = GetPublicAccessBlockOutput$; + exports.GetPublicAccessBlockRequest$ = GetPublicAccessBlockRequest$; + exports.GlacierJobParameters$ = GlacierJobParameters$; + exports.Grant$ = Grant$; + exports.Grantee$ = Grantee$; + exports.HeadBucket$ = HeadBucket$; + exports.HeadBucketCommand = HeadBucketCommand2; + exports.HeadBucketOutput$ = HeadBucketOutput$; + exports.HeadBucketRequest$ = HeadBucketRequest$; + exports.HeadObject$ = HeadObject$; + exports.HeadObjectCommand = HeadObjectCommand; + exports.HeadObjectOutput$ = HeadObjectOutput$; + exports.HeadObjectRequest$ = HeadObjectRequest$; + exports.IdempotencyParameterMismatch = IdempotencyParameterMismatch; + exports.IdempotencyParameterMismatch$ = IdempotencyParameterMismatch$; + exports.IndexDocument$ = IndexDocument$; + exports.Initiator$ = Initiator$; + exports.InputSerialization$ = InputSerialization$; + exports.IntelligentTieringAccessTier = IntelligentTieringAccessTier; + exports.IntelligentTieringAndOperator$ = IntelligentTieringAndOperator$; + exports.IntelligentTieringConfiguration$ = IntelligentTieringConfiguration$; + exports.IntelligentTieringFilter$ = IntelligentTieringFilter$; + exports.IntelligentTieringStatus = IntelligentTieringStatus; + exports.InvalidAnnotationName = InvalidAnnotationName; + exports.InvalidAnnotationName$ = InvalidAnnotationName$; + exports.InvalidObjectState = InvalidObjectState; + exports.InvalidObjectState$ = InvalidObjectState$; + exports.InvalidPrefix = InvalidPrefix; + exports.InvalidPrefix$ = InvalidPrefix$; + exports.InvalidRequest = InvalidRequest; + exports.InvalidRequest$ = InvalidRequest$; + exports.InvalidWriteOffset = InvalidWriteOffset; + exports.InvalidWriteOffset$ = InvalidWriteOffset$; + exports.InventoryConfiguration$ = InventoryConfiguration$; + exports.InventoryConfigurationState = InventoryConfigurationState; + exports.InventoryDestination$ = InventoryDestination$; + exports.InventoryEncryption$ = InventoryEncryption$; + exports.InventoryFilter$ = InventoryFilter$; + exports.InventoryFormat = InventoryFormat; + exports.InventoryFrequency = InventoryFrequency; + exports.InventoryIncludedObjectVersions = InventoryIncludedObjectVersions; + exports.InventoryOptionalField = InventoryOptionalField; + exports.InventoryS3BucketDestination$ = InventoryS3BucketDestination$; + exports.InventorySchedule$ = InventorySchedule$; + exports.InventoryTableConfiguration$ = InventoryTableConfiguration$; + exports.InventoryTableConfigurationResult$ = InventoryTableConfigurationResult$; + exports.InventoryTableConfigurationUpdates$ = InventoryTableConfigurationUpdates$; + exports.JSONInput$ = JSONInput$; + exports.JSONOutput$ = JSONOutput$; + exports.JSONType = JSONType; + exports.JournalTableConfiguration$ = JournalTableConfiguration$; + exports.JournalTableConfigurationResult$ = JournalTableConfigurationResult$; + exports.JournalTableConfigurationUpdates$ = JournalTableConfigurationUpdates$; + exports.LambdaFunctionConfiguration$ = LambdaFunctionConfiguration$; + exports.LifecycleExpiration$ = LifecycleExpiration$; + exports.LifecycleRule$ = LifecycleRule$; + exports.LifecycleRuleAndOperator$ = LifecycleRuleAndOperator$; + exports.LifecycleRuleFilter$ = LifecycleRuleFilter$; + exports.ListBucketAnalyticsConfigurations$ = ListBucketAnalyticsConfigurations$; + exports.ListBucketAnalyticsConfigurationsCommand = ListBucketAnalyticsConfigurationsCommand; + exports.ListBucketAnalyticsConfigurationsOutput$ = ListBucketAnalyticsConfigurationsOutput$; + exports.ListBucketAnalyticsConfigurationsRequest$ = ListBucketAnalyticsConfigurationsRequest$; + exports.ListBucketIntelligentTieringConfigurations$ = ListBucketIntelligentTieringConfigurations$; + exports.ListBucketIntelligentTieringConfigurationsCommand = ListBucketIntelligentTieringConfigurationsCommand; + exports.ListBucketIntelligentTieringConfigurationsOutput$ = ListBucketIntelligentTieringConfigurationsOutput$; + exports.ListBucketIntelligentTieringConfigurationsRequest$ = ListBucketIntelligentTieringConfigurationsRequest$; + exports.ListBucketInventoryConfigurations$ = ListBucketInventoryConfigurations$; + exports.ListBucketInventoryConfigurationsCommand = ListBucketInventoryConfigurationsCommand; + exports.ListBucketInventoryConfigurationsOutput$ = ListBucketInventoryConfigurationsOutput$; + exports.ListBucketInventoryConfigurationsRequest$ = ListBucketInventoryConfigurationsRequest$; + exports.ListBucketMetricsConfigurations$ = ListBucketMetricsConfigurations$; + exports.ListBucketMetricsConfigurationsCommand = ListBucketMetricsConfigurationsCommand; + exports.ListBucketMetricsConfigurationsOutput$ = ListBucketMetricsConfigurationsOutput$; + exports.ListBucketMetricsConfigurationsRequest$ = ListBucketMetricsConfigurationsRequest$; + exports.ListBuckets$ = ListBuckets$; + exports.ListBucketsCommand = ListBucketsCommand; + exports.ListBucketsOutput$ = ListBucketsOutput$; + exports.ListBucketsRequest$ = ListBucketsRequest$; + exports.ListDirectoryBuckets$ = ListDirectoryBuckets$; + exports.ListDirectoryBucketsCommand = ListDirectoryBucketsCommand; + exports.ListDirectoryBucketsOutput$ = ListDirectoryBucketsOutput$; + exports.ListDirectoryBucketsRequest$ = ListDirectoryBucketsRequest$; + exports.ListMultipartUploads$ = ListMultipartUploads$; + exports.ListMultipartUploadsCommand = ListMultipartUploadsCommand; + exports.ListMultipartUploadsOutput$ = ListMultipartUploadsOutput$; + exports.ListMultipartUploadsRequest$ = ListMultipartUploadsRequest$; + exports.ListObjectAnnotations$ = ListObjectAnnotations$; + exports.ListObjectAnnotationsCommand = ListObjectAnnotationsCommand; + exports.ListObjectAnnotationsOutput$ = ListObjectAnnotationsOutput$; + exports.ListObjectAnnotationsRequest$ = ListObjectAnnotationsRequest$; + exports.ListObjectVersions$ = ListObjectVersions$; + exports.ListObjectVersionsCommand = ListObjectVersionsCommand; + exports.ListObjectVersionsOutput$ = ListObjectVersionsOutput$; + exports.ListObjectVersionsRequest$ = ListObjectVersionsRequest$; + exports.ListObjects$ = ListObjects$; + exports.ListObjectsCommand = ListObjectsCommand; + exports.ListObjectsOutput$ = ListObjectsOutput$; + exports.ListObjectsRequest$ = ListObjectsRequest$; + exports.ListObjectsV2$ = ListObjectsV2$; + exports.ListObjectsV2Command = ListObjectsV2Command; + exports.ListObjectsV2Output$ = ListObjectsV2Output$; + exports.ListObjectsV2Request$ = ListObjectsV2Request$; + exports.ListParts$ = ListParts$; + exports.ListPartsCommand = ListPartsCommand; + exports.ListPartsOutput$ = ListPartsOutput$; + exports.ListPartsRequest$ = ListPartsRequest$; + exports.LocationInfo$ = LocationInfo$; + exports.LocationType = LocationType; + exports.LoggingEnabled$ = LoggingEnabled$; + exports.MFADelete = MFADelete; + exports.MFADeleteStatus = MFADeleteStatus; + exports.MetadataConfiguration$ = MetadataConfiguration$; + exports.MetadataConfigurationResult$ = MetadataConfigurationResult$; + exports.MetadataDirective = MetadataDirective; + exports.MetadataEntry$ = MetadataEntry$; + exports.MetadataTableConfiguration$ = MetadataTableConfiguration$; + exports.MetadataTableConfigurationResult$ = MetadataTableConfigurationResult$; + exports.MetadataTableEncryptionConfiguration$ = MetadataTableEncryptionConfiguration$; + exports.Metrics$ = Metrics$; + exports.MetricsAndOperator$ = MetricsAndOperator$; + exports.MetricsConfiguration$ = MetricsConfiguration$; + exports.MetricsFilter$ = MetricsFilter$; + exports.MetricsStatus = MetricsStatus; + exports.MultipartUpload$ = MultipartUpload$; + exports.NoSuchAnnotation = NoSuchAnnotation; + exports.NoSuchAnnotation$ = NoSuchAnnotation$; + exports.NoSuchBucket = NoSuchBucket; + exports.NoSuchBucket$ = NoSuchBucket$; + exports.NoSuchKey = NoSuchKey; + exports.NoSuchKey$ = NoSuchKey$; + exports.NoSuchUpload = NoSuchUpload; + exports.NoSuchUpload$ = NoSuchUpload$; + exports.NoncurrentVersionExpiration$ = NoncurrentVersionExpiration$; + exports.NoncurrentVersionTransition$ = NoncurrentVersionTransition$; + exports.NotFound = NotFound; + exports.NotFound$ = NotFound$; + exports.NotificationConfiguration$ = NotificationConfiguration$; + exports.NotificationConfigurationFilter$ = NotificationConfigurationFilter$; + exports.ObjectAlreadyInActiveTierError = ObjectAlreadyInActiveTierError; + exports.ObjectAlreadyInActiveTierError$ = ObjectAlreadyInActiveTierError$; + exports.ObjectAttributes = ObjectAttributes; + exports.ObjectCannedACL = ObjectCannedACL; + exports.ObjectEncryption$ = ObjectEncryption$; + exports.ObjectIdentifier$ = ObjectIdentifier$; + exports.ObjectLockConfiguration$ = ObjectLockConfiguration$; + exports.ObjectLockEnabled = ObjectLockEnabled; + exports.ObjectLockEventHold = ObjectLockEventHold; + exports.ObjectLockLegalHold$ = ObjectLockLegalHold$; + exports.ObjectLockLegalHoldStatus = ObjectLockLegalHoldStatus; + exports.ObjectLockMode = ObjectLockMode; + exports.ObjectLockRetention$ = ObjectLockRetention$; + exports.ObjectLockRetentionMode = ObjectLockRetentionMode; + exports.ObjectLockRule$ = ObjectLockRule$; + exports.ObjectNotInActiveTierError = ObjectNotInActiveTierError; + exports.ObjectNotInActiveTierError$ = ObjectNotInActiveTierError$; + exports.ObjectOwnership = ObjectOwnership; + exports.ObjectPart$ = ObjectPart$; + exports.ObjectStorageClass = ObjectStorageClass; + exports.ObjectVersion$ = ObjectVersion$; + exports.ObjectVersionStorageClass = ObjectVersionStorageClass; + exports.OptionalObjectAttributes = OptionalObjectAttributes; + exports.OutputLocation$ = OutputLocation$; + exports.OutputSerialization$ = OutputSerialization$; + exports.Owner$ = Owner$; + exports.OwnerOverride = OwnerOverride; + exports.OwnershipControls$ = OwnershipControls$; + exports.OwnershipControlsRule$ = OwnershipControlsRule$; + exports.ParquetInput$ = ParquetInput$; + exports.Part$ = Part$; + exports.PartitionDateSource = PartitionDateSource; + exports.PartitionedPrefix$ = PartitionedPrefix$; + exports.Payer = Payer; + exports.Permission = Permission; + exports.PolicyStatus$ = PolicyStatus$; + exports.Progress$ = Progress$; + exports.ProgressEvent$ = ProgressEvent$; + exports.Protocol = Protocol; + exports.PublicAccessBlockConfiguration$ = PublicAccessBlockConfiguration$; + exports.PutBucketAbac$ = PutBucketAbac$; + exports.PutBucketAbacCommand = PutBucketAbacCommand; + exports.PutBucketAbacRequest$ = PutBucketAbacRequest$; + exports.PutBucketAccelerateConfiguration$ = PutBucketAccelerateConfiguration$; + exports.PutBucketAccelerateConfigurationCommand = PutBucketAccelerateConfigurationCommand; + exports.PutBucketAccelerateConfigurationRequest$ = PutBucketAccelerateConfigurationRequest$; + exports.PutBucketAcl$ = PutBucketAcl$; + exports.PutBucketAclCommand = PutBucketAclCommand; + exports.PutBucketAclRequest$ = PutBucketAclRequest$; + exports.PutBucketAnalyticsConfiguration$ = PutBucketAnalyticsConfiguration$; + exports.PutBucketAnalyticsConfigurationCommand = PutBucketAnalyticsConfigurationCommand; + exports.PutBucketAnalyticsConfigurationRequest$ = PutBucketAnalyticsConfigurationRequest$; + exports.PutBucketCors$ = PutBucketCors$; + exports.PutBucketCorsCommand = PutBucketCorsCommand; + exports.PutBucketCorsRequest$ = PutBucketCorsRequest$; + exports.PutBucketEncryption$ = PutBucketEncryption$; + exports.PutBucketEncryptionCommand = PutBucketEncryptionCommand; + exports.PutBucketEncryptionRequest$ = PutBucketEncryptionRequest$; + exports.PutBucketIntelligentTieringConfiguration$ = PutBucketIntelligentTieringConfiguration$; + exports.PutBucketIntelligentTieringConfigurationCommand = PutBucketIntelligentTieringConfigurationCommand; + exports.PutBucketIntelligentTieringConfigurationRequest$ = PutBucketIntelligentTieringConfigurationRequest$; + exports.PutBucketInventoryConfiguration$ = PutBucketInventoryConfiguration$; + exports.PutBucketInventoryConfigurationCommand = PutBucketInventoryConfigurationCommand; + exports.PutBucketInventoryConfigurationRequest$ = PutBucketInventoryConfigurationRequest$; + exports.PutBucketLifecycleConfiguration$ = PutBucketLifecycleConfiguration$; + exports.PutBucketLifecycleConfigurationCommand = PutBucketLifecycleConfigurationCommand; + exports.PutBucketLifecycleConfigurationOutput$ = PutBucketLifecycleConfigurationOutput$; + exports.PutBucketLifecycleConfigurationRequest$ = PutBucketLifecycleConfigurationRequest$; + exports.PutBucketLogging$ = PutBucketLogging$; + exports.PutBucketLoggingCommand = PutBucketLoggingCommand; + exports.PutBucketLoggingRequest$ = PutBucketLoggingRequest$; + exports.PutBucketMetricsConfiguration$ = PutBucketMetricsConfiguration$; + exports.PutBucketMetricsConfigurationCommand = PutBucketMetricsConfigurationCommand; + exports.PutBucketMetricsConfigurationRequest$ = PutBucketMetricsConfigurationRequest$; + exports.PutBucketNotificationConfiguration$ = PutBucketNotificationConfiguration$; + exports.PutBucketNotificationConfigurationCommand = PutBucketNotificationConfigurationCommand; + exports.PutBucketNotificationConfigurationRequest$ = PutBucketNotificationConfigurationRequest$; + exports.PutBucketOwnershipControls$ = PutBucketOwnershipControls$; + exports.PutBucketOwnershipControlsCommand = PutBucketOwnershipControlsCommand; + exports.PutBucketOwnershipControlsRequest$ = PutBucketOwnershipControlsRequest$; + exports.PutBucketPolicy$ = PutBucketPolicy$; + exports.PutBucketPolicyCommand = PutBucketPolicyCommand2; + exports.PutBucketPolicyRequest$ = PutBucketPolicyRequest$; + exports.PutBucketReplication$ = PutBucketReplication$; + exports.PutBucketReplicationCommand = PutBucketReplicationCommand; + exports.PutBucketReplicationRequest$ = PutBucketReplicationRequest$; + exports.PutBucketRequestPayment$ = PutBucketRequestPayment$; + exports.PutBucketRequestPaymentCommand = PutBucketRequestPaymentCommand; + exports.PutBucketRequestPaymentRequest$ = PutBucketRequestPaymentRequest$; + exports.PutBucketTagging$ = PutBucketTagging$; + exports.PutBucketTaggingCommand = PutBucketTaggingCommand; + exports.PutBucketTaggingRequest$ = PutBucketTaggingRequest$; + exports.PutBucketVersioning$ = PutBucketVersioning$; + exports.PutBucketVersioningCommand = PutBucketVersioningCommand; + exports.PutBucketVersioningRequest$ = PutBucketVersioningRequest$; + exports.PutBucketWebsite$ = PutBucketWebsite$; + exports.PutBucketWebsiteCommand = PutBucketWebsiteCommand; + exports.PutBucketWebsiteRequest$ = PutBucketWebsiteRequest$; + exports.PutObject$ = PutObject$; + exports.PutObjectAcl$ = PutObjectAcl$; + exports.PutObjectAclCommand = PutObjectAclCommand; + exports.PutObjectAclOutput$ = PutObjectAclOutput$; + exports.PutObjectAclRequest$ = PutObjectAclRequest$; + exports.PutObjectAnnotation$ = PutObjectAnnotation$; + exports.PutObjectAnnotationCommand = PutObjectAnnotationCommand; + exports.PutObjectAnnotationOutput$ = PutObjectAnnotationOutput$; + exports.PutObjectAnnotationRequest$ = PutObjectAnnotationRequest$; + exports.PutObjectCommand = PutObjectCommand2; + exports.PutObjectLegalHold$ = PutObjectLegalHold$; + exports.PutObjectLegalHoldCommand = PutObjectLegalHoldCommand; + exports.PutObjectLegalHoldOutput$ = PutObjectLegalHoldOutput$; + exports.PutObjectLegalHoldRequest$ = PutObjectLegalHoldRequest$; + exports.PutObjectLockConfiguration$ = PutObjectLockConfiguration$; + exports.PutObjectLockConfigurationCommand = PutObjectLockConfigurationCommand; + exports.PutObjectLockConfigurationOutput$ = PutObjectLockConfigurationOutput$; + exports.PutObjectLockConfigurationRequest$ = PutObjectLockConfigurationRequest$; + exports.PutObjectOutput$ = PutObjectOutput$; + exports.PutObjectRequest$ = PutObjectRequest$; + exports.PutObjectRetention$ = PutObjectRetention$; + exports.PutObjectRetentionCommand = PutObjectRetentionCommand; + exports.PutObjectRetentionOutput$ = PutObjectRetentionOutput$; + exports.PutObjectRetentionRequest$ = PutObjectRetentionRequest$; + exports.PutObjectTagging$ = PutObjectTagging$; + exports.PutObjectTaggingCommand = PutObjectTaggingCommand; + exports.PutObjectTaggingOutput$ = PutObjectTaggingOutput$; + exports.PutObjectTaggingRequest$ = PutObjectTaggingRequest$; + exports.PutPublicAccessBlock$ = PutPublicAccessBlock$; + exports.PutPublicAccessBlockCommand = PutPublicAccessBlockCommand; + exports.PutPublicAccessBlockRequest$ = PutPublicAccessBlockRequest$; + exports.QueueConfiguration$ = QueueConfiguration$; + exports.QuoteFields = QuoteFields; + exports.RecordExpiration$ = RecordExpiration$; + exports.RecordsEvent$ = RecordsEvent$; + exports.Redirect$ = Redirect$; + exports.RedirectAllRequestsTo$ = RedirectAllRequestsTo$; + exports.RenameObject$ = RenameObject$; + exports.RenameObjectCommand = RenameObjectCommand; + exports.RenameObjectOutput$ = RenameObjectOutput$; + exports.RenameObjectRequest$ = RenameObjectRequest$; + exports.ReplicaModifications$ = ReplicaModifications$; + exports.ReplicaModificationsStatus = ReplicaModificationsStatus; + exports.ReplicationConfiguration$ = ReplicationConfiguration$; + exports.ReplicationRule$ = ReplicationRule$; + exports.ReplicationRuleAndOperator$ = ReplicationRuleAndOperator$; + exports.ReplicationRuleFilter$ = ReplicationRuleFilter$; + exports.ReplicationRuleStatus = ReplicationRuleStatus; + exports.ReplicationStatus = ReplicationStatus; + exports.ReplicationTime$ = ReplicationTime$; + exports.ReplicationTimeStatus = ReplicationTimeStatus; + exports.ReplicationTimeValue$ = ReplicationTimeValue$; + exports.RequestCharged = RequestCharged; + exports.RequestPayer = RequestPayer; + exports.RequestPaymentConfiguration$ = RequestPaymentConfiguration$; + exports.RequestProgress$ = RequestProgress$; + exports.RestoreObject$ = RestoreObject$; + exports.RestoreObjectCommand = RestoreObjectCommand; + exports.RestoreObjectOutput$ = RestoreObjectOutput$; + exports.RestoreObjectRequest$ = RestoreObjectRequest$; + exports.RestoreRequest$ = RestoreRequest$; + exports.RestoreRequestType = RestoreRequestType; + exports.RestoreStatus$ = RestoreStatus$; + exports.RoutingRule$ = RoutingRule$; + exports.S3 = S3; + exports.S3Client = S3Client2; + exports.S3KeyFilter$ = S3KeyFilter$; + exports.S3Location$ = S3Location$; + exports.S3ServiceException = S3ServiceException; + exports.S3ServiceException$ = S3ServiceException$; + exports.S3TablesBucketType = S3TablesBucketType; + exports.S3TablesDestination$ = S3TablesDestination$; + exports.S3TablesDestinationResult$ = S3TablesDestinationResult$; + exports.SSEKMS$ = SSEKMS$; + exports.SSEKMSEncryption$ = SSEKMSEncryption$; + exports.SSES3$ = SSES3$; + exports.ScanRange$ = ScanRange$; + exports.SelectObjectContent$ = SelectObjectContent$; + exports.SelectObjectContentCommand = SelectObjectContentCommand; + exports.SelectObjectContentEventStream$ = SelectObjectContentEventStream$; + exports.SelectObjectContentOutput$ = SelectObjectContentOutput$; + exports.SelectObjectContentRequest$ = SelectObjectContentRequest$; + exports.SelectParameters$ = SelectParameters$; + exports.ServerSideEncryption = ServerSideEncryption; + exports.ServerSideEncryptionByDefault$ = ServerSideEncryptionByDefault$; + exports.ServerSideEncryptionConfiguration$ = ServerSideEncryptionConfiguration$; + exports.ServerSideEncryptionRule$ = ServerSideEncryptionRule$; + exports.SessionCredentials$ = SessionCredentials$; + exports.SessionMode = SessionMode; + exports.SimplePrefix$ = SimplePrefix$; + exports.SourceSelectionCriteria$ = SourceSelectionCriteria$; + exports.SseKmsEncryptedObjects$ = SseKmsEncryptedObjects$; + exports.SseKmsEncryptedObjectsStatus = SseKmsEncryptedObjectsStatus; + exports.Stats$ = Stats$; + exports.StatsEvent$ = StatsEvent$; + exports.StorageClass = StorageClass; + exports.StorageClassAnalysis$ = StorageClassAnalysis$; + exports.StorageClassAnalysisDataExport$ = StorageClassAnalysisDataExport$; + exports.StorageClassAnalysisSchemaVersion = StorageClassAnalysisSchemaVersion; + exports.TableSseAlgorithm = TableSseAlgorithm; + exports.Tag$ = Tag$2; + exports.Tagging$ = Tagging$; + exports.TaggingDirective = TaggingDirective; + exports.TargetGrant$ = TargetGrant$; + exports.TargetObjectKeyFormat$ = TargetObjectKeyFormat$; + exports.Tier = Tier; + exports.Tiering$ = Tiering$; + exports.TooManyParts = TooManyParts; + exports.TooManyParts$ = TooManyParts$; + exports.TopicConfiguration$ = TopicConfiguration$; + exports.Transition$ = Transition$; + exports.TransitionDefaultMinimumObjectSize = TransitionDefaultMinimumObjectSize; + exports.TransitionStorageClass = TransitionStorageClass; + exports.Type = Type; + exports.UnsupportedMediaType = UnsupportedMediaType; + exports.UnsupportedMediaType$ = UnsupportedMediaType$; + exports.UpdateBucketMetadataAnnotationTableConfiguration$ = UpdateBucketMetadataAnnotationTableConfiguration$; + exports.UpdateBucketMetadataAnnotationTableConfigurationCommand = UpdateBucketMetadataAnnotationTableConfigurationCommand; + exports.UpdateBucketMetadataAnnotationTableConfigurationRequest$ = UpdateBucketMetadataAnnotationTableConfigurationRequest$; + exports.UpdateBucketMetadataInventoryTableConfiguration$ = UpdateBucketMetadataInventoryTableConfiguration$; + exports.UpdateBucketMetadataInventoryTableConfigurationCommand = UpdateBucketMetadataInventoryTableConfigurationCommand; + exports.UpdateBucketMetadataInventoryTableConfigurationRequest$ = UpdateBucketMetadataInventoryTableConfigurationRequest$; + exports.UpdateBucketMetadataJournalTableConfiguration$ = UpdateBucketMetadataJournalTableConfiguration$; + exports.UpdateBucketMetadataJournalTableConfigurationCommand = UpdateBucketMetadataJournalTableConfigurationCommand; + exports.UpdateBucketMetadataJournalTableConfigurationRequest$ = UpdateBucketMetadataJournalTableConfigurationRequest$; + exports.UpdateObjectEncryption$ = UpdateObjectEncryption$; + exports.UpdateObjectEncryptionCommand = UpdateObjectEncryptionCommand; + exports.UpdateObjectEncryptionRequest$ = UpdateObjectEncryptionRequest$; + exports.UpdateObjectEncryptionResponse$ = UpdateObjectEncryptionResponse$; + exports.UploadPart$ = UploadPart$; + exports.UploadPartCommand = UploadPartCommand; + exports.UploadPartCopy$ = UploadPartCopy$; + exports.UploadPartCopyCommand = UploadPartCopyCommand; + exports.UploadPartCopyOutput$ = UploadPartCopyOutput$; + exports.UploadPartCopyRequest$ = UploadPartCopyRequest$; + exports.UploadPartOutput$ = UploadPartOutput$; + exports.UploadPartRequest$ = UploadPartRequest$; + exports.VersioningConfiguration$ = VersioningConfiguration$; + exports.WebsiteConfiguration$ = WebsiteConfiguration$; + exports.WriteGetObjectResponse$ = WriteGetObjectResponse$; + exports.WriteGetObjectResponseCommand = WriteGetObjectResponseCommand; + exports.WriteGetObjectResponseRequest$ = WriteGetObjectResponseRequest$; + exports._Error$ = _Error$; + exports._Object$ = _Object$; + exports.errorTypeRegistries = errorTypeRegistries5; + exports.paginateListBuckets = paginateListBuckets; + exports.paginateListDirectoryBuckets = paginateListDirectoryBuckets; + exports.paginateListObjectAnnotations = paginateListObjectAnnotations; + exports.paginateListObjectsV2 = paginateListObjectsV2; + exports.paginateListParts = paginateListParts; + exports.waitForBucketExists = waitForBucketExists; + exports.waitForBucketNotExists = waitForBucketNotExists; + exports.waitForObjectExists = waitForObjectExists; + exports.waitForObjectNotExists = waitForObjectNotExists; + exports.waitUntilBucketExists = waitUntilBucketExists; + exports.waitUntilBucketNotExists = waitUntilBucketNotExists; + exports.waitUntilObjectExists = waitUntilObjectExists; + exports.waitUntilObjectNotExists = waitUntilObjectNotExists; + } +}); + +// dist/config/env.js +import { existsSync } from "node:fs"; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/external.js +var external_exports = {}; +__export(external_exports, { + $brand: () => $brand, + $input: () => $input, + $output: () => $output, + INVALID: () => INVALID, + NEVER: () => NEVER, + TimePrecision: () => TimePrecision, + ZodAny: () => ZodAny, + ZodArray: () => ZodArray, + ZodBase64: () => ZodBase64, + ZodBase64URL: () => ZodBase64URL, + ZodBigInt: () => ZodBigInt, + ZodBigIntFormat: () => ZodBigIntFormat, + ZodBoolean: () => ZodBoolean, + ZodCIDRv4: () => ZodCIDRv4, + ZodCIDRv6: () => ZodCIDRv6, + ZodCUID: () => ZodCUID, + ZodCUID2: () => ZodCUID2, + ZodCatch: () => ZodCatch, + ZodCodec: () => ZodCodec, + ZodCompileAsyncError: () => ZodCompileAsyncError, + ZodCompileUnsupportedError: () => ZodCompileUnsupportedError, + ZodCreditCard: () => ZodCreditCard, + ZodCustom: () => ZodCustom, + ZodCustomStringFormat: () => ZodCustomStringFormat, + ZodDate: () => ZodDate, + ZodDefault: () => ZodDefault, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion, + ZodE164: () => ZodE164, + ZodEmail: () => ZodEmail, + ZodEmoji: () => ZodEmoji, + ZodEnum: () => ZodEnum, + ZodError: () => ZodError, + ZodExactOptional: () => ZodExactOptional, + ZodFile: () => ZodFile, + ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind, + ZodFunction: () => ZodFunction, + ZodGUID: () => ZodGUID, + ZodIBAN: () => ZodIBAN, + ZodIPv4: () => ZodIPv4, + ZodIPv6: () => ZodIPv6, + ZodISODate: () => ZodISODate, + ZodISODateTime: () => ZodISODateTime, + ZodISODuration: () => ZodISODuration, + ZodISOTime: () => ZodISOTime, + ZodInstanceOf: () => ZodInstanceOf, + ZodIntersection: () => ZodIntersection, + ZodIssueCode: () => ZodIssueCode, + ZodJWT: () => ZodJWT, + ZodKSUID: () => ZodKSUID, + ZodLazy: () => ZodLazy, + ZodLiteral: () => ZodLiteral, + ZodMAC: () => ZodMAC, + ZodMap: () => ZodMap, + ZodNaN: () => ZodNaN, + ZodNanoID: () => ZodNanoID, + ZodNever: () => ZodNever, + ZodNonOptional: () => ZodNonOptional, + ZodNull: () => ZodNull, + ZodNullable: () => ZodNullable, + ZodNumber: () => ZodNumber, + ZodNumberFormat: () => ZodNumberFormat, + ZodObject: () => ZodObject, + ZodOptional: () => ZodOptional, + ZodPipe: () => ZodPipe, + ZodPrefault: () => ZodPrefault, + ZodPreprocess: () => ZodPreprocess, + ZodPromise: () => ZodPromise, + ZodReadonly: () => ZodReadonly, + ZodRealError: () => ZodRealError, + ZodRecord: () => ZodRecord, + ZodSet: () => ZodSet, + ZodString: () => ZodString, + ZodStringFormat: () => ZodStringFormat, + ZodSuccess: () => ZodSuccess, + ZodSymbol: () => ZodSymbol, + ZodTemplateLiteral: () => ZodTemplateLiteral, + ZodTransform: () => ZodTransform, + ZodTuple: () => ZodTuple, + ZodType: () => ZodType, + ZodULID: () => ZodULID, + ZodURL: () => ZodURL, + ZodUUID: () => ZodUUID, + ZodUndefined: () => ZodUndefined, + ZodUnion: () => ZodUnion, + ZodUnknown: () => ZodUnknown, + ZodVoid: () => ZodVoid, + ZodXID: () => ZodXID, + ZodXor: () => ZodXor, + _ZodString: () => _ZodString, + _default: () => _default2, + _function: () => _function, + any: () => any, + array: () => array, + base64: () => base642, + base64url: () => base64url2, + bigint: () => bigint2, + boolean: () => boolean2, + catch: () => _catch2, + check: () => check, + cidrv4: () => cidrv42, + cidrv6: () => cidrv62, + clone: () => clone, + codec: () => codec, + coerce: () => coerce_exports, + compile: () => compile, + config: () => config, + core: () => core_exports2, + creditCard: () => creditCard2, + cuid: () => cuid3, + cuid2: () => cuid22, + currencyCode: () => currencyCode2, + custom: () => custom, + date: () => date2, + decode: () => decode2, + decodeAsync: () => decodeAsync2, + deepPartial: () => deepPartial, + describe: () => describe2, + discriminatedUnion: () => discriminatedUnion, + e164: () => e1642, + email: () => email2, + emoji: () => emoji2, + encode: () => encode2, + encodeAsync: () => encodeAsync2, + endsWith: () => _endsWith, + enum: () => _enum2, + exactOptional: () => exactOptional, + file: () => file, + flattenError: () => flattenError, + float32: () => float32, + float64: () => float64, + formatError: () => formatError, + fromJSONSchema: () => fromJSONSchema, + function: () => _function, + getDiscriminatedOption: () => getDiscriminatedOption, + getErrorMap: () => getErrorMap, + globalRegistry: () => globalRegistry, + gt: () => _gt, + gte: () => _gte, + guid: () => guid2, + hash: () => hash, + hex: () => hex2, + hostname: () => hostname2, + httpUrl: () => httpUrl, + iban: () => iban2, + includes: () => _includes, + input: () => input, + instanceof: () => _instanceof, + int: () => int, + int32: () => int32, + int64: () => int64, + intersection: () => intersection, + invertCodec: () => invertCodec, + ipv4: () => ipv42, + ipv6: () => ipv62, + iso: () => iso_exports, + json: () => json, + jwt: () => jwt, + keyof: () => keyof, + ksuid: () => ksuid2, + lazy: () => lazy, + length: () => _length, + literal: () => literal, + locales: () => locales_exports, + looseObject: () => looseObject, + looseRecord: () => looseRecord, + lowercase: () => _lowercase, + lt: () => _lt, + lte: () => _lte, + mac: () => mac2, + map: () => map, + maxLength: () => _maxLength, + maxSize: () => _maxSize, + memoizer: () => memoizer, + meta: () => meta2, + mime: () => _mime, + minLength: () => _minLength, + minSize: () => _minSize, + multipleOf: () => _multipleOf, + nan: () => nan, + nanoid: () => nanoid2, + nativeEnum: () => nativeEnum, + negative: () => _negative, + never: () => never, + nonnegative: () => _nonnegative, + nonoptional: () => nonoptional, + nonpositive: () => _nonpositive, + normalize: () => _normalize, + null: () => _null3, + nullable: () => nullable, + nullish: () => nullish2, + number: () => number2, + object: () => object, + optional: () => optional, + output: () => output, + overwrite: () => _overwrite, + parse: () => parse2, + parseAsync: () => parseAsync2, + partialRecord: () => partialRecord, + pipe: () => pipe, + positive: () => _positive, + prefault: () => prefault, + preprocess: () => preprocess, + prettifyError: () => prettifyError, + promise: () => promise, + properties: () => _properties, + property: () => _property, + readonly: () => readonly, + record: () => record, + refine: () => refine, + regex: () => _regex, + regexes: () => regexes_exports, + registry: () => registry, + safeDecode: () => safeDecode2, + safeDecodeAsync: () => safeDecodeAsync2, + safeEncode: () => safeEncode2, + safeEncodeAsync: () => safeEncodeAsync2, + safeParse: () => safeParse2, + safeParseAsync: () => safeParseAsync2, + set: () => set, + setErrorMap: () => setErrorMap, + size: () => _size, + slugify: () => _slugify, + startsWith: () => _startsWith, + strictObject: () => strictObject, + string: () => string2, + stringFormat: () => stringFormat, + stringbool: () => stringbool, + success: () => success, + superRefine: () => superRefine, + symbol: () => symbol, + templateLiteral: () => templateLiteral, + toJSONSchema: () => toJSONSchema, + toLowerCase: () => _toLowerCase, + toUpperCase: () => _toUpperCase, + toZod: () => toZod, + transform: () => transform, + treeifyError: () => treeifyError, + trim: () => _trim, + tuple: () => tuple, + uint32: () => uint32, + uint64: () => uint64, + ulid: () => ulid2, + undefined: () => _undefined3, + union: () => union, + unknown: () => unknown, + uppercase: () => _uppercase, + url: () => url, + util: () => util_exports, + uuid: () => uuid2, + uuidv4: () => uuidv4, + uuidv6: () => uuidv6, + uuidv7: () => uuidv7, + validate: () => validate, + validateAsync: () => validateAsync, + void: () => _void2, + withParser: () => withParser, + xid: () => xid2, + xor: () => xor +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/index.js +var core_exports2 = {}; +__export(core_exports2, { + $ZodAny: () => $ZodAny, + $ZodArray: () => $ZodArray, + $ZodAsyncError: () => $ZodAsyncError, + $ZodBase64: () => $ZodBase64, + $ZodBase64URL: () => $ZodBase64URL, + $ZodBigInt: () => $ZodBigInt, + $ZodBigIntFormat: () => $ZodBigIntFormat, + $ZodBoolean: () => $ZodBoolean, + $ZodCIDRv4: () => $ZodCIDRv4, + $ZodCIDRv6: () => $ZodCIDRv6, + $ZodCUID: () => $ZodCUID, + $ZodCUID2: () => $ZodCUID2, + $ZodCatch: () => $ZodCatch, + $ZodCheck: () => $ZodCheck, + $ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat, + $ZodCheckEndsWith: () => $ZodCheckEndsWith, + $ZodCheckGreaterThan: () => $ZodCheckGreaterThan, + $ZodCheckIncludes: () => $ZodCheckIncludes, + $ZodCheckLengthEquals: () => $ZodCheckLengthEquals, + $ZodCheckLessThan: () => $ZodCheckLessThan, + $ZodCheckLowerCase: () => $ZodCheckLowerCase, + $ZodCheckMaxLength: () => $ZodCheckMaxLength, + $ZodCheckMaxSize: () => $ZodCheckMaxSize, + $ZodCheckMimeType: () => $ZodCheckMimeType, + $ZodCheckMinLength: () => $ZodCheckMinLength, + $ZodCheckMinSize: () => $ZodCheckMinSize, + $ZodCheckMultipleOf: () => $ZodCheckMultipleOf, + $ZodCheckNumberFormat: () => $ZodCheckNumberFormat, + $ZodCheckOverwrite: () => $ZodCheckOverwrite, + $ZodCheckProperties: () => $ZodCheckProperties, + $ZodCheckProperty: () => $ZodCheckProperty, + $ZodCheckRegex: () => $ZodCheckRegex, + $ZodCheckSizeEquals: () => $ZodCheckSizeEquals, + $ZodCheckStartsWith: () => $ZodCheckStartsWith, + $ZodCheckStringFormat: () => $ZodCheckStringFormat, + $ZodCheckUpperCase: () => $ZodCheckUpperCase, + $ZodCodec: () => $ZodCodec, + $ZodCreditCard: () => $ZodCreditCard, + $ZodCustom: () => $ZodCustom, + $ZodCustomStringFormat: () => $ZodCustomStringFormat, + $ZodCyclicError: () => $ZodCyclicError, + $ZodDate: () => $ZodDate, + $ZodDefault: () => $ZodDefault, + $ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion, + $ZodE164: () => $ZodE164, + $ZodEmail: () => $ZodEmail, + $ZodEmoji: () => $ZodEmoji, + $ZodEncodeError: () => $ZodEncodeError, + $ZodEnum: () => $ZodEnum, + $ZodError: () => $ZodError, + $ZodExactOptional: () => $ZodExactOptional, + $ZodFile: () => $ZodFile, + $ZodFunction: () => $ZodFunction, + $ZodGUID: () => $ZodGUID, + $ZodIBAN: () => $ZodIBAN, + $ZodIPv4: () => $ZodIPv4, + $ZodIPv6: () => $ZodIPv6, + $ZodISODate: () => $ZodISODate, + $ZodISODateTime: () => $ZodISODateTime, + $ZodISODuration: () => $ZodISODuration, + $ZodISOTime: () => $ZodISOTime, + $ZodIntersection: () => $ZodIntersection, + $ZodJWT: () => $ZodJWT, + $ZodKSUID: () => $ZodKSUID, + $ZodLazy: () => $ZodLazy, + $ZodLiteral: () => $ZodLiteral, + $ZodMAC: () => $ZodMAC, + $ZodMap: () => $ZodMap, + $ZodNaN: () => $ZodNaN, + $ZodNanoID: () => $ZodNanoID, + $ZodNever: () => $ZodNever, + $ZodNonOptional: () => $ZodNonOptional, + $ZodNull: () => $ZodNull, + $ZodNullable: () => $ZodNullable, + $ZodNumber: () => $ZodNumber, + $ZodNumberFormat: () => $ZodNumberFormat, + $ZodObject: () => $ZodObject, + $ZodObjectJIT: () => $ZodObjectJIT, + $ZodOptional: () => $ZodOptional, + $ZodPipe: () => $ZodPipe, + $ZodPrefault: () => $ZodPrefault, + $ZodPreprocess: () => $ZodPreprocess, + $ZodPromise: () => $ZodPromise, + $ZodReadonly: () => $ZodReadonly, + $ZodRealError: () => $ZodRealError, + $ZodRecord: () => $ZodRecord, + $ZodRegistry: () => $ZodRegistry, + $ZodSet: () => $ZodSet, + $ZodString: () => $ZodString, + $ZodStringFormat: () => $ZodStringFormat, + $ZodSuccess: () => $ZodSuccess, + $ZodSymbol: () => $ZodSymbol, + $ZodTemplateLiteral: () => $ZodTemplateLiteral, + $ZodTransform: () => $ZodTransform, + $ZodTuple: () => $ZodTuple, + $ZodType: () => $ZodType, + $ZodULID: () => $ZodULID, + $ZodURL: () => $ZodURL, + $ZodUUID: () => $ZodUUID, + $ZodUndefined: () => $ZodUndefined, + $ZodUnion: () => $ZodUnion, + $ZodUnknown: () => $ZodUnknown, + $ZodVoid: () => $ZodVoid, + $ZodXID: () => $ZodXID, + $ZodXor: () => $ZodXor, + $brand: () => $brand, + $constructor: () => $constructor, + $input: () => $input, + $output: () => $output, + Doc: () => Doc, + INVALID: () => INVALID, + JSONSchema: () => json_schema_exports, + JSONSchemaGenerator: () => JSONSchemaGenerator, + NEVER: () => NEVER, + TimePrecision: () => TimePrecision, + URL_BAD_FORMAT: () => URL_BAD_FORMAT, + URL_UNPARSEABLE: () => URL_UNPARSEABLE, + ZodCompileAsyncError: () => ZodCompileAsyncError, + ZodCompileUnsupportedError: () => ZodCompileUnsupportedError, + _any: () => _any, + _array: () => _array, + _base64: () => _base64, + _base64url: () => _base64url, + _bigint: () => _bigint, + _boolean: () => _boolean, + _catch: () => _catch, + _check: () => _check, + _cidrv4: () => _cidrv4, + _cidrv6: () => _cidrv6, + _coercedBigint: () => _coercedBigint, + _coercedBoolean: () => _coercedBoolean, + _coercedDate: () => _coercedDate, + _coercedNumber: () => _coercedNumber, + _coercedString: () => _coercedString, + _creditCard: () => _creditCard, + _cuid: () => _cuid, + _cuid2: () => _cuid2, + _custom: () => _custom, + _date: () => _date, + _decode: () => _decode, + _decodeAsync: () => _decodeAsync, + _default: () => _default, + _discriminatedUnion: () => _discriminatedUnion, + _e164: () => _e164, + _email: () => _email, + _emoji: () => _emoji2, + _encode: () => _encode, + _encodeAsync: () => _encodeAsync, + _endsWith: () => _endsWith, + _enum: () => _enum, + _file: () => _file, + _float32: () => _float32, + _float64: () => _float64, + _gt: () => _gt, + _gte: () => _gte, + _guid: () => _guid, + _iban: () => _iban, + _includes: () => _includes, + _int: () => _int, + _int32: () => _int32, + _int64: () => _int64, + _intersection: () => _intersection, + _ipv4: () => _ipv4, + _ipv6: () => _ipv6, + _isoDate: () => _isoDate, + _isoDateTime: () => _isoDateTime, + _isoDuration: () => _isoDuration, + _isoTime: () => _isoTime, + _jwt: () => _jwt, + _ksuid: () => _ksuid, + _lazy: () => _lazy, + _length: () => _length, + _literal: () => _literal, + _lowercase: () => _lowercase, + _lt: () => _lt, + _lte: () => _lte, + _mac: () => _mac, + _map: () => _map, + _max: () => _lte, + _maxLength: () => _maxLength, + _maxSize: () => _maxSize, + _mime: () => _mime, + _min: () => _gte, + _minLength: () => _minLength, + _minSize: () => _minSize, + _multipleOf: () => _multipleOf, + _nan: () => _nan, + _nanoid: () => _nanoid, + _nativeEnum: () => _nativeEnum, + _negative: () => _negative, + _never: () => _never, + _nonnegative: () => _nonnegative, + _nonoptional: () => _nonoptional, + _nonpositive: () => _nonpositive, + _normalize: () => _normalize, + _null: () => _null2, + _nullable: () => _nullable, + _number: () => _number, + _optional: () => _optional, + _overwrite: () => _overwrite, + _parse: () => _parse, + _parseAsync: () => _parseAsync, + _pipe: () => _pipe, + _positive: () => _positive, + _promise: () => _promise, + _properties: () => _properties, + _property: () => _property, + _readonly: () => _readonly, + _record: () => _record, + _refine: () => _refine, + _regex: () => _regex, + _safeDecode: () => _safeDecode, + _safeDecodeAsync: () => _safeDecodeAsync, + _safeEncode: () => _safeEncode, + _safeEncodeAsync: () => _safeEncodeAsync, + _safeParse: () => _safeParse, + _safeParseAsync: () => _safeParseAsync, + _set: () => _set, + _size: () => _size, + _slugify: () => _slugify, + _startsWith: () => _startsWith, + _string: () => _string, + _stringFormat: () => _stringFormat, + _stringbool: () => _stringbool, + _success: () => _success, + _superRefine: () => _superRefine, + _symbol: () => _symbol, + _templateLiteral: () => _templateLiteral, + _toLowerCase: () => _toLowerCase, + _toUpperCase: () => _toUpperCase, + _transform: () => _transform, + _trim: () => _trim, + _tuple: () => _tuple, + _uint32: () => _uint32, + _uint64: () => _uint64, + _ulid: () => _ulid, + _undefined: () => _undefined2, + _union: () => _union, + _unknown: () => _unknown, + _uppercase: () => _uppercase, + _url: () => _url, + _uuid: () => _uuid, + _uuidv4: () => _uuidv4, + _uuidv6: () => _uuidv6, + _uuidv7: () => _uuidv7, + _void: () => _void, + _xid: () => _xid, + _xor: () => _xor, + base64Charset: () => base64Charset, + base64urlCharset: () => base64urlCharset, + canParseURL: () => canParseURL, + clone: () => clone, + compile: () => compile, + compileFn: () => compileFn, + config: () => config, + createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod, + createToJSONSchemaMethod: () => createToJSONSchemaMethod, + decode: () => decode, + decodeAsync: () => decodeAsync, + describe: () => describe, + encode: () => encode, + encodeAsync: () => encodeAsync, + extractDefs: () => extractDefs, + finalize: () => finalize, + flattenError: () => flattenError, + formatError: () => formatError, + getDiscriminatedOption: () => getDiscriminatedOption, + globalConfig: () => globalConfig, + globalRegistry: () => globalRegistry, + handleUnrepresentable: () => handleUnrepresentable, + initializeContext: () => initializeContext, + isBackEdge: () => isBackEdge, + isRecursiveSchema: () => isRecursiveSchema, + isValidBase64: () => isValidBase64, + isValidBase64URL: () => isValidBase64URL, + isValidCIDRv6: () => isValidCIDRv6, + isValidCreditCard: () => isValidCreditCard, + isValidIBAN: () => isValidIBAN, + isValidIPv6: () => isValidIPv6, + isValidJWT: () => isValidJWT, + locales: () => locales_exports, + memoizer: () => memoizer, + mergeValues: () => mergeValues, + meta: () => meta, + parse: () => parse, + parseAsync: () => parseAsync, + parseURLObject: () => parseURLObject, + prettifyError: () => prettifyError, + process: () => processSchema, + processSchema: () => processSchema, + regexes: () => regexes_exports, + registry: () => registry, + safeDecode: () => safeDecode, + safeDecodeAsync: () => safeDecodeAsync, + safeEncode: () => safeEncode, + safeEncodeAsync: () => safeEncodeAsync, + safeParse: () => safeParse, + safeParseAsync: () => safeParseAsync, + standardProps: () => standardProps, + stripTabAndNewline: () => stripTabAndNewline, + toDotPath: () => toDotPath, + toJSONSchema: () => toJSONSchema, + toZod: () => toZod, + treeifyError: () => treeifyError, + urlHostnameOk: () => urlHostnameOk, + urlProtocolOk: () => urlProtocolOk, + util: () => util_exports, + validate: () => validate, + validateAsync: () => validateAsync, + validateURL: () => validateURL, + version: () => version, + withParser: () => withParser +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/util.js +var util_exports = {}; +__export(util_exports, { + BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES, + CONSTANT_CATCH: () => CONSTANT_CATCH, + Class: () => Class, + NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES, + aborted: () => aborted, + allowsEval: () => allowsEval, + assert: () => assert, + assertEqual: () => assertEqual, + assertIs: () => assertIs, + assertNever: () => assertNever, + assertNotEqual: () => assertNotEqual, + assignProp: () => assignProp, + attachSchema: () => attachSchema, + base64ToUint8Array: () => base64ToUint8Array, + base64urlToUint8Array: () => base64urlToUint8Array, + cached: () => cached, + captureStackTrace: () => captureStackTrace, + cleanEnum: () => cleanEnum, + cleanRegex: () => cleanRegex, + clone: () => clone, + cloneDef: () => cloneDef, + codePointLength: () => codePointLength, + constantCatch: () => constantCatch, + createTransparentProxy: () => createTransparentProxy, + defineLazy: () => defineLazy, + defineLazyInternal: () => defineLazyInternal, + derived: () => derived, + esc: () => esc, + escapeRegex: () => escapeRegex, + explicitlyAborted: () => explicitlyAborted, + extend: () => extend, + finalizeIssue: () => finalizeIssue, + floatSafeRemainder: () => floatSafeRemainder, + getElementAtPath: () => getElementAtPath, + getEnumValues: () => getEnumValues, + getLengthableOrigin: () => getLengthableOrigin, + getParsedType: () => getParsedType, + getSizableOrigin: () => getSizableOrigin, + hexToUint8Array: () => hexToUint8Array, + hide: () => hide, + installLazyProp: () => installLazyProp, + isObject: () => isObject, + isPlainObject: () => isPlainObject, + issue: () => issue, + joinValues: () => joinValues, + jsonStringifyReplacer: () => jsonStringifyReplacer, + members: () => members, + merge: () => merge, + mergeDefs: () => mergeDefs, + normalizeParams: () => normalizeParams, + nullish: () => nullish, + numKeys: () => numKeys, + objectClone: () => objectClone, + omit: () => omit, + optionalKeys: () => optionalKeys, + own: () => own, + parsedType: () => parsedType, + partial: () => partial, + pick: () => pick, + prefixIssues: () => prefixIssues, + primitiveTypes: () => primitiveTypes, + promiseAllObject: () => promiseAllObject, + propertyKeyTypes: () => propertyKeyTypes, + randomString: () => randomString, + rawShape: () => rawShape, + required: () => required, + safeExtend: () => safeExtend, + shallowClone: () => shallowClone, + sizeCaps: () => sizeCaps, + slugify: () => slugify, + stringifyPrimitive: () => stringifyPrimitive, + toZod: () => toZod, + uint8ArrayToBase64: () => uint8ArrayToBase64, + uint8ArrayToBase64url: () => uint8ArrayToBase64url, + uint8ArrayToHex: () => uint8ArrayToHex, + unwrapMessage: () => unwrapMessage +}); +function assertEqual(val) { + return val; +} +__name(assertEqual, "assertEqual"); +function assertNotEqual(val) { + return val; +} +__name(assertNotEqual, "assertNotEqual"); +function toZod() { + return (schema2) => schema2; +} +__name(toZod, "toZod"); +function assertIs(_arg) { +} +__name(assertIs, "assertIs"); +function assertNever(_x) { + throw new Error("Unexpected value in exhaustive check"); +} +__name(assertNever, "assertNever"); +function assert(_) { +} +__name(assert, "assert"); +function getEnumValues(entries) { + const numericValues = Object.values(entries).filter((v) => typeof v === "number"); + const values = Object.entries(entries).filter(([k5, _]) => numericValues.indexOf(+k5) === -1).map(([_, v]) => v); + return values; +} +__name(getEnumValues, "getEnumValues"); +function joinValues(array2, separator = "|") { + return array2.map((val) => stringifyPrimitive(val)).join(separator); +} +__name(joinValues, "joinValues"); +function jsonStringifyReplacer(_, value) { + if (typeof value === "bigint") + return value.toString(); + return value; +} +__name(jsonStringifyReplacer, "jsonStringifyReplacer"); +var Cached = class { + static { + __name(this, "Cached"); + } + constructor(getter) { + this._getter = getter; + this._value = void 0; + } + get value() { + const getter = this._getter; + if (getter !== void 0) { + this._value = getter(); + this._getter = void 0; + } + return this._value; + } +}; +function cached(getter) { + return new Cached(getter); +} +__name(cached, "cached"); +function nullish(input2) { + return input2 === null || input2 === void 0; +} +__name(nullish, "nullish"); +function cleanRegex(source) { + const start = source.startsWith("^") ? 1 : 0; + const end = source.endsWith("$") ? source.length - 1 : source.length; + return source.slice(start, end); +} +__name(cleanRegex, "cleanRegex"); +function floatSafeRemainder(val, step) { + const ratio = val / step; + const roundedRatio = Math.round(ratio); + const tolerance = 4 * Number.EPSILON * Math.max(Math.abs(ratio), 1); + if (Math.abs(ratio - roundedRatio) < tolerance) + return 0; + return ratio - roundedRatio; +} +__name(floatSafeRemainder, "floatSafeRemainder"); +var EVALUATING = /* @__PURE__ */ Symbol("evaluating"); +function defineLazy(object2, key, getter) { + let value = void 0; + Object.defineProperty(object2, key, { + get() { + if (value === EVALUATING) { + return void 0; + } + if (value === void 0) { + value = EVALUATING; + value = getter(); + } + return value; + }, + set(v) { + Object.defineProperty(object2, key, { + value: v + // configurable: true, + }); + }, + configurable: true + }); +} +__name(defineLazy, "defineLazy"); +function objectClone(obj) { + return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj)); +} +__name(objectClone, "objectClone"); +function assignProp(target, prop, value) { + Object.defineProperty(target, prop, { + value, + writable: true, + enumerable: true, + configurable: true + }); +} +__name(assignProp, "assignProp"); +function rawShape(def) { + const desc = Object.getOwnPropertyDescriptor(def, "shape"); + return desc?.get ? desc.get.raw : desc?.value; +} +__name(rawShape, "rawShape"); +function sourceShape(schema2) { + return rawShape(schema2._zod.def) ?? schema2._zod.def.shape; +} +__name(sourceShape, "sourceShape"); +function deferProp(target, key, getter) { + Object.defineProperty(target, key, { + get() { + const value = getter(); + assignProp(this, key, value); + return value; + }, + enumerable: true, + configurable: true + }); +} +__name(deferProp, "deferProp"); +function putProp(target, key, value) { + if (key in target) + assignProp(target, key, value); + else + target[key] = value; +} +__name(putProp, "putProp"); +function mirrorShape(target, source, keys, wrap) { + const raw4 = sourceShape(source); + for (const key of keys) { + const desc = Object.getOwnPropertyDescriptor(raw4, key); + if (!desc.enumerable) + continue; + if (desc.get) { + deferProp(target, key, () => { + const value = source._zod.def.shape[key]; + return wrap ? wrap(value, key) : value; + }); + } else + putProp(target, key, wrap ? wrap(desc.value, key) : desc.value); + } +} +__name(mirrorShape, "mirrorShape"); +function mirrorProps(target, source) { + for (const key of Reflect.ownKeys(source)) { + const desc = Object.getOwnPropertyDescriptor(source, key); + if (!desc.enumerable) + continue; + if (desc.get) + deferProp(target, key, () => source[key]); + else + putProp(target, key, desc.value); + } +} +__name(mirrorProps, "mirrorProps"); +function mergeDefs(...defs) { + const mergedDescriptors = {}; + for (const def of defs) { + const descriptors = Object.getOwnPropertyDescriptors(def); + Object.assign(mergedDescriptors, descriptors); + } + return Object.defineProperties({}, mergedDescriptors); +} +__name(mergeDefs, "mergeDefs"); +function cloneDef(schema2) { + return mergeDefs(schema2._zod.def); +} +__name(cloneDef, "cloneDef"); +function getElementAtPath(obj, path2) { + if (!path2) + return obj; + return path2.reduce((acc, key) => acc?.[key], obj); +} +__name(getElementAtPath, "getElementAtPath"); +function promiseAllObject(promisesObj) { + const keys = Object.keys(promisesObj); + const promises = keys.map((key) => promisesObj[key]); + return Promise.all(promises).then((results) => { + const resolvedObj = {}; + for (let i5 = 0; i5 < keys.length; i5++) { + resolvedObj[keys[i5]] = results[i5]; + } + return resolvedObj; + }); +} +__name(promiseAllObject, "promiseAllObject"); +function randomString(length = 10) { + const chars = "abcdefghijklmnopqrstuvwxyz"; + let str = ""; + for (let i5 = 0; i5 < length; i5++) { + str += chars[Math.floor(Math.random() * chars.length)]; + } + return str; +} +__name(randomString, "randomString"); +function esc(str) { + return JSON.stringify(str); +} +__name(esc, "esc"); +function slugify(input2) { + return input2.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, ""); +} +__name(slugify, "slugify"); +var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { +}; +function isObject(data) { + return typeof data === "object" && data !== null && !Array.isArray(data); +} +__name(isObject, "isObject"); +var allowsEval = /* @__PURE__ */ cached(() => { + if (globalConfig.jitless) { + return false; + } + if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) { + return false; + } + try { + const F = Function; + new F(""); + return true; + } catch (_) { + return false; + } +}); +function isPlainObject(o3) { + if (isObject(o3) === false) + return false; + const ctor = o3.constructor; + if (ctor === void 0) + return true; + if (typeof ctor !== "function") + return true; + const prot = ctor.prototype; + if (isObject(prot) === false) + return false; + if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) { + return false; + } + return true; +} +__name(isPlainObject, "isPlainObject"); +function shallowClone(o3) { + if (isPlainObject(o3)) + return { ...o3 }; + if (Array.isArray(o3)) + return [...o3]; + if (o3 instanceof Map) + return new Map(o3); + if (o3 instanceof Set) + return new Set(o3); + return o3; +} +__name(shallowClone, "shallowClone"); +function numKeys(data) { + let keyCount = 0; + for (const key in data) { + if (Object.prototype.hasOwnProperty.call(data, key)) { + keyCount++; + } + } + return keyCount; +} +__name(numKeys, "numKeys"); +var getParsedType = /* @__PURE__ */ __name((data) => { + const t = typeof data; + switch (t) { + case "undefined": + return "undefined"; + case "string": + return "string"; + case "number": + return Number.isNaN(data) ? "nan" : "number"; + case "boolean": + return "boolean"; + case "function": + return "function"; + case "bigint": + return "bigint"; + case "symbol": + return "symbol"; + case "object": + if (Array.isArray(data)) { + return "array"; + } + if (data === null) { + return "null"; + } + if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") { + return "promise"; + } + if (typeof Map !== "undefined" && data instanceof Map) { + return "map"; + } + if (typeof Set !== "undefined" && data instanceof Set) { + return "set"; + } + if (typeof Date !== "undefined" && data instanceof Date) { + return "date"; + } + if (typeof File !== "undefined" && data instanceof File) { + return "file"; + } + return "object"; + default: + throw new Error(`Unknown data type: ${t}`); + } +}, "getParsedType"); +var propertyKeyTypes = /* @__PURE__ */ new Set(["string", "number", "symbol"]); +var primitiveTypes = /* @__PURE__ */ new Set([ + "string", + "number", + "bigint", + "boolean", + "symbol", + "undefined" +]); +function escapeRegex(str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} +__name(escapeRegex, "escapeRegex"); +function clone(inst, def, params) { + const cl = new inst._zod.constr(def ?? inst._zod.def); + if (!def || params?.parent) + cl._zod.parent = inst; + return cl; +} +__name(clone, "clone"); +function normalizeParams(_params) { + const params = _params; + if (!params) + return {}; + if (typeof params === "string") + return { error: /* @__PURE__ */ __name(() => params, "error") }; + if (params?.message !== void 0) { + if (params?.error !== void 0) + throw new Error("Cannot specify both `message` and `error` params"); + params.error = params.message; + } + delete params.message; + if (typeof params.error === "string") + return { ...params, error: /* @__PURE__ */ __name(() => params.error, "error") }; + return params; +} +__name(normalizeParams, "normalizeParams"); +function createTransparentProxy(getter) { + let target; + return new Proxy({}, { + get(_, prop, receiver) { + target ?? (target = getter()); + return Reflect.get(target, prop, receiver); + }, + set(_, prop, value, receiver) { + target ?? (target = getter()); + return Reflect.set(target, prop, value, receiver); + }, + has(_, prop) { + target ?? (target = getter()); + return Reflect.has(target, prop); + }, + deleteProperty(_, prop) { + target ?? (target = getter()); + return Reflect.deleteProperty(target, prop); + }, + ownKeys(_) { + target ?? (target = getter()); + return Reflect.ownKeys(target); + }, + getOwnPropertyDescriptor(_, prop) { + target ?? (target = getter()); + return Reflect.getOwnPropertyDescriptor(target, prop); + }, + defineProperty(_, prop, descriptor) { + target ?? (target = getter()); + return Reflect.defineProperty(target, prop, descriptor); + } + }); +} +__name(createTransparentProxy, "createTransparentProxy"); +function stringifyPrimitive(value) { + if (typeof value === "bigint") + return value.toString() + "n"; + if (typeof value === "string") + return `"${value}"`; + return `${value}`; +} +__name(stringifyPrimitive, "stringifyPrimitive"); +function optionalKeys(shape) { + return Object.keys(shape).filter((k5) => { + return shape[k5]._zod.optin !== void 0 && shape[k5]._zod.optout === "optional"; + }); +} +__name(optionalKeys, "optionalKeys"); +var NUMBER_FORMAT_RANGES = /* @__PURE__ */ (() => ({ + safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER], + int32: [-2147483648, 2147483647], + uint32: [0, 4294967295], + float32: [-34028234663852886e22, 34028234663852886e22], + float64: [-Number.MAX_VALUE, Number.MAX_VALUE] +}))(); +var BIGINT_FORMAT_RANGES = { + int64: [/* @__PURE__ */ BigInt("-9223372036854775808"), /* @__PURE__ */ BigInt("9223372036854775807")], + uint64: [/* @__PURE__ */ BigInt(0), /* @__PURE__ */ BigInt("18446744073709551615")] +}; +function pick(schema2, mask) { + const currDef = schema2._zod.def; + const checks = currDef.checks; + const hasChecks = checks && checks.length > 0; + if (hasChecks) { + throw new Error(".pick() cannot be used on object schemas containing refinements"); + } + const newShape = {}; + mirrorShape(newShape, schema2, maskedKeys(schema2, mask)); + return clone(schema2, mergeDefs(currDef, { shape: newShape, checks: [] })); +} +__name(pick, "pick"); +function maskedKeys(schema2, mask) { + const raw4 = sourceShape(schema2); + const keys = []; + for (const key of Reflect.ownKeys(mask)) { + if (!Object.getOwnPropertyDescriptor(raw4, key)?.enumerable) { + throw new Error(`Unrecognized key: "${String(key)}"`); + } + if (mask[key]) + keys.push(key); + } + return keys; +} +__name(maskedKeys, "maskedKeys"); +function omit(schema2, mask) { + const currDef = schema2._zod.def; + const checks = currDef.checks; + const hasChecks = checks && checks.length > 0; + if (hasChecks) { + throw new Error(".omit() cannot be used on object schemas containing refinements"); + } + const omitted = new Set(maskedKeys(schema2, mask)); + const newShape = {}; + mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)).filter((key) => !omitted.has(key))); + return clone(schema2, mergeDefs(currDef, { shape: newShape, checks: [] })); +} +__name(omit, "omit"); +function extend(schema2, shape) { + if (!isPlainObject(shape)) { + throw new Error("Invalid input to extend: expected a plain object"); + } + const checks = schema2._zod.def.checks; + const hasChecks = checks && checks.length > 0; + if (hasChecks) { + const existingShape = sourceShape(schema2); + for (const key of Reflect.ownKeys(shape)) { + if (Object.getOwnPropertyDescriptor(existingShape, key) !== void 0) { + throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead."); + } + } + } + return clone(schema2, mergeDefs(schema2._zod.def, { shape: extended(schema2, shape) })); +} +__name(extend, "extend"); +function extended(schema2, shape) { + const newShape = {}; + mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2))); + mirrorProps(newShape, shape); + return newShape; +} +__name(extended, "extended"); +function safeExtend(schema2, shape) { + if (!isPlainObject(shape)) { + throw new Error("Invalid input to safeExtend: expected a plain object"); + } + return clone(schema2, mergeDefs(schema2._zod.def, { shape: extended(schema2, shape) })); +} +__name(safeExtend, "safeExtend"); +function merge(a5, b5) { + if (!b5?._zod?.def) { + throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`."); + } + if (a5._zod.def.checks?.length) { + throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead."); + } + const newShape = {}; + mirrorShape(newShape, a5, Reflect.ownKeys(sourceShape(a5))); + mirrorShape(newShape, b5, Reflect.ownKeys(sourceShape(b5))); + const def = mergeDefs(a5._zod.def, { + shape: newShape, + get catchall() { + return b5._zod.def.catchall; + }, + checks: b5._zod.def.checks ?? [] + }); + return clone(a5, def); +} +__name(merge, "merge"); +function partial(Class2, schema2, mask, name2 = "partial") { + const currDef = schema2._zod.def; + const checks = currDef.checks; + const hasChecks = checks && checks.length > 0; + if (hasChecks) { + throw new Error(`.${name2}() cannot be used on object schemas containing refinements`); + } + const selected = mask ? new Set(maskedKeys(schema2, mask)) : void 0; + const newShape = {}; + mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)), Class2 && ((value, key) => selected && !selected.has(key) ? value : new Class2({ type: "optional", innerType: value }))); + return clone(schema2, mergeDefs(schema2._zod.def, { shape: newShape, checks: [] })); +} +__name(partial, "partial"); +function required(Class2, schema2, mask) { + const selected = mask ? new Set(maskedKeys(schema2, mask)) : void 0; + const newShape = {}; + mirrorShape(newShape, schema2, Reflect.ownKeys(sourceShape(schema2)), (value, key) => ( + // overwrite with non-optional + selected && !selected.has(key) ? value : new Class2({ type: "nonoptional", innerType: value }) + )); + return clone(schema2, mergeDefs(schema2._zod.def, { shape: newShape })); +} +__name(required, "required"); +function aborted(x, startIndex = 0) { + if (x.aborted === true) + return true; + for (let i5 = startIndex; i5 < x.issues.length; i5++) { + if (x.issues[i5]?.continue !== true) { + return true; + } + } + return false; +} +__name(aborted, "aborted"); +function explicitlyAborted(x, startIndex = 0) { + if (x.aborted === true) + return true; + for (let i5 = startIndex; i5 < x.issues.length; i5++) { + if (x.issues[i5]?.continue === false) { + return true; + } + } + return false; +} +__name(explicitlyAborted, "explicitlyAborted"); +function prefixIssues(path2, issues) { + return issues.map((iss) => { + var _a4; + (_a4 = iss).path ?? (_a4.path = []); + iss.path.unshift(path2); + return iss; + }); +} +__name(prefixIssues, "prefixIssues"); +function unwrapMessage(message) { + return typeof message === "string" ? message : message?.message; +} +__name(unwrapMessage, "unwrapMessage"); +function sizeCaps(defChecks) { + const caps = []; + for (const ch of defChecks ?? []) { + const d5 = ch._zod.def; + if (!/_(length|size)$|_equals$/.test(d5.check)) + break; + const max = d5.maximum ?? d5.length ?? d5.size; + if (max >= 0) + caps.push([max, ch]); + } + return caps; +} +__name(sizeCaps, "sizeCaps"); +function attachSchema(issues, start, inst) { + var _a4; + for (let i5 = start; i5 < issues.length; i5++) { + (_a4 = issues[i5]).schema ?? (_a4.schema = inst); + } +} +__name(attachSchema, "attachSchema"); +function finalizeIssue(iss, ctx, config3) { + var _a4; + const traits = iss.inst?._zod?.traits; + if (traits?.has("$ZodType")) { + if (traits.has("$ZodCheck")) + (_a4 = iss).schema ?? (_a4.schema = iss.inst); + else + iss.schema = iss.inst; + } + const schemaError = iss.schema !== iss.inst ? iss.schema?._zod.def?.error : void 0; + const message = iss.message ? iss.message : unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(schemaError?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config3.customError?.(iss)) ?? unwrapMessage(config3.localeError?.(iss)) ?? "Invalid input"; + const full = {}; + for (const k5 of Object.keys(iss)) { + if (k5 === "inst" || k5 === "schema" || k5 === "continue" || k5 === "input" || k5 === "__proto__") + continue; + full[k5] = iss[k5]; + } + full.path ?? (full.path = []); + full.message = message; + if (ctx?.reportInput) { + full.input = iss.input; + } + return full; +} +__name(finalizeIssue, "finalizeIssue"); +function getSizableOrigin(input2) { + if (input2 instanceof Set) + return "set"; + if (input2 instanceof Map) + return "map"; + if (input2 instanceof File) + return "file"; + return "unknown"; +} +__name(getSizableOrigin, "getSizableOrigin"); +var highSurrogate = /[\uD800-\uDBFF]/; +function codePointLength(str) { + const units = str.length; + if (!highSurrogate.test(str)) + return units; + let count = units; + for (let i5 = 0; i5 < units - 1; i5++) { + if ((str.charCodeAt(i5) & 64512) === 55296 && (str.charCodeAt(i5 + 1) & 64512) === 56320) { + count--; + i5++; + } + } + return count; +} +__name(codePointLength, "codePointLength"); +function getLengthableOrigin(input2) { + if (Array.isArray(input2)) + return "array"; + if (typeof input2 === "string") + return "string"; + return "unknown"; +} +__name(getLengthableOrigin, "getLengthableOrigin"); +function parsedType(data) { + const t = typeof data; + switch (t) { + case "number": { + return Number.isNaN(data) ? "nan" : "number"; + } + case "object": { + if (data === null) { + return "null"; + } + if (Array.isArray(data)) { + return "array"; + } + const obj = data; + if (obj && Object.getPrototypeOf(obj) !== Object.prototype && "constructor" in obj && obj.constructor) { + return obj.constructor.name; + } + } + } + return t; +} +__name(parsedType, "parsedType"); +function issue(...args) { + const [iss, input2, inst] = args; + if (typeof iss === "string") { + return { + message: iss, + code: "custom", + input: input2, + inst + }; + } + return { ...iss }; +} +__name(issue, "issue"); +function cleanEnum(obj) { + return Object.entries(obj).filter(([k5, _]) => { + return Number.isNaN(Number.parseInt(k5, 10)); + }).map((el) => el[1]); +} +__name(cleanEnum, "cleanEnum"); +function base64ToUint8Array(base643) { + const binaryString = atob(base643); + const bytes = new Uint8Array(binaryString.length); + for (let i5 = 0; i5 < binaryString.length; i5++) { + bytes[i5] = binaryString.charCodeAt(i5); + } + return bytes; +} +__name(base64ToUint8Array, "base64ToUint8Array"); +function uint8ArrayToBase64(bytes) { + let binaryString = ""; + for (let i5 = 0; i5 < bytes.length; i5++) { + binaryString += String.fromCharCode(bytes[i5]); + } + return btoa(binaryString); +} +__name(uint8ArrayToBase64, "uint8ArrayToBase64"); +function base64urlToUint8Array(base64url3) { + const base643 = base64url3.replace(/-/g, "+").replace(/_/g, "/"); + const padding = "=".repeat((4 - base643.length % 4) % 4); + return base64ToUint8Array(base643 + padding); +} +__name(base64urlToUint8Array, "base64urlToUint8Array"); +function uint8ArrayToBase64url(bytes) { + return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, ""); +} +__name(uint8ArrayToBase64url, "uint8ArrayToBase64url"); +function hexToUint8Array(hex3) { + const cleanHex = hex3.replace(/^0x/, ""); + if (cleanHex.length % 2 !== 0) { + throw new Error("Invalid hex string length"); + } + const bytes = new Uint8Array(cleanHex.length / 2); + for (let i5 = 0; i5 < cleanHex.length; i5 += 2) { + bytes[i5 / 2] = Number.parseInt(cleanHex.slice(i5, i5 + 2), 16); + } + return bytes; +} +__name(hexToUint8Array, "hexToUint8Array"); +function uint8ArrayToHex(bytes) { + return Array.from(bytes).map((b5) => b5.toString(16).padStart(2, "0")).join(""); +} +__name(uint8ArrayToHex, "uint8ArrayToHex"); +var Class = class { + static { + __name(this, "Class"); + } + constructor(..._args) { + } +}; +function members(proto, table) { + for (const key in table) { + const desc = Object.getOwnPropertyDescriptor(table, key); + if (desc.get) + Object.defineProperty(proto, key, { ...desc, enumerable: false }); + else + defineBound(proto, key, desc.value); + } +} +__name(members, "members"); +function own(inst, key, value, enumerable = true) { + Object.defineProperty(inst, key, { configurable: true, writable: true, enumerable, value }); + return value; +} +__name(own, "own"); +function hide(inst, key, value) { + return own(inst, key, value, false); +} +__name(hide, "hide"); +// @__NO_SIDE_EFFECTS__ +function derived(computes, table) { + for (const key in computes) { + const compute = computes[key]; + Object.defineProperty(table, key, { + configurable: true, + enumerable: true, + get() { + return own(this, key, compute(this)); + }, + set(value) { + own(this, key, value); + } + }); + } + return table; +} +__name(derived, "derived"); +function defineBound(proto, key, fn) { + Object.defineProperty(proto, key, { + configurable: true, + get() { + return this == null ? fn : own(this, key, fn.bind(this)); + }, + set(value) { + own(this, key, value); + } + }); +} +__name(defineBound, "defineBound"); +function claim(inst, sentinel) { + const proto = Object.getPrototypeOf(inst); + return sentinel in proto ? void 0 : proto; +} +__name(claim, "claim"); +var installing; +var broke = false; +var breaker = { + configurable: true, + get() { + broke = true; + return void 0; + } +}; +function defineLazyInternal(inst, key, compute) { + const proto = Object.getPrototypeOf(inst._zod); + if (key in proto && installing !== inst._zod) { + installing = void 0; + return; + } + installing = inst._zod; + Object.defineProperty(proto, key, { + configurable: true, + get() { + Object.defineProperty(this, key, breaker); + const outer = broke; + broke = false; + try { + const value = compute(this); + if (broke) + delete this[key]; + else + Object.defineProperty(this, key, { configurable: true, writable: true, value }); + broke = broke || outer; + return value; + } catch (err) { + delete this[key]; + broke = broke || outer; + throw err; + } + }, + set(value) { + Object.defineProperty(this, key, { configurable: true, writable: true, value }); + } + }); +} +__name(defineLazyInternal, "defineLazyInternal"); +function installLazyProp(inst, key, make, enumerable) { + const proto = claim(inst, key); + if (!proto) + return; + Object.defineProperty(proto, key, { + configurable: true, + get() { + const desc = { configurable: true, writable: true, enumerable, value: void 0 }; + Object.defineProperty(this, key, desc); + desc.value = make(this); + Object.defineProperty(this, key, desc); + return desc.value; + }, + set(value) { + Object.defineProperty(this, key, { configurable: true, writable: true, enumerable, value }); + } + }); +} +__name(installLazyProp, "installLazyProp"); +var CONSTANT_CATCH = "~constantCatch"; +function constantCatch(value) { + const fn = /* @__PURE__ */ __name(() => value, "fn"); + fn[CONSTANT_CATCH] = true; + return fn; +} +__name(constantCatch, "constantCatch"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/core.js +var _a; +var NEVER = /* @__PURE__ */ Object.freeze({ + status: "aborted" +}); +var _zodDesc = { value: void 0, enumerable: false }; +var _E = "captureStackTrace" in Error ? Error : null; +function newError(Definition) { + const E = _E; + if (E) { + const saved = E.stackTraceLimit; + if (typeof saved === "number") { + try { + E.stackTraceLimit = 0; + } catch { + _E = null; + return new Definition(); + } + try { + return new Definition(); + } finally { + E.stackTraceLimit = saved; + } + } + } + return new Definition(); +} +__name(newError, "newError"); +// @__NO_SIDE_EFFECTS__ +function $constructor(name2, initializer3, proto, params) { + const zodProto = {}; + function Internals(def) { + this.def = def; + this.constr = _; + this.traits = /* @__PURE__ */ new Set(); + } + __name(Internals, "Internals"); + Internals.prototype = zodProto; + const protoMembers = proto; + const initialized = protoMembers && /* @__PURE__ */ new WeakSet(); + function init2(inst, def) { + if (!inst._zod) { + _zodDesc.value = new Internals(def); + try { + Object.defineProperty(inst, "_zod", _zodDesc); + } finally { + _zodDesc.value = void 0; + } + } else if (inst._zod.traits.has(name2)) { + return; + } + inst._zod.traits.add(name2); + initializer3(inst, def); + if (initialized) { + const own2 = Object.getPrototypeOf(inst); + const ctorProto = inst._zod.constr.prototype; + let up = own2; + while (up && up !== ctorProto) + up = Object.getPrototypeOf(up); + const target = up ?? own2; + if (!initialized.has(target)) { + initialized.add(target); + members(target, protoMembers); + } + } + const proto2 = _.prototype; + for (const k5 in proto2) { + if (!Object.prototype.hasOwnProperty.call(proto2, k5)) + continue; + if (!(k5 in inst)) { + inst[k5] = proto2[k5].bind(inst); + } + } + } + __name(init2, "init"); + const Parent = params?.Parent ?? Object; + class Definition extends Parent { + static { + __name(this, "Definition"); + } + } + Object.defineProperty(Definition, "name", { value: name2 }); + function _(def) { + const inst = params?.Parent ? newError(Definition) : this; + init2(inst, def); + const deferred = inst._zod.deferred; + if (deferred) { + for (const fn of deferred) { + fn(); + } + inst._zod.deferred = void 0; + } + const pp = globalThis.__zod_globalConfig?.postProcessor; + if (pp) + pp(inst); + return inst; + } + __name(_, "_"); + Object.defineProperty(_, "init", { value: init2 }); + Object.defineProperty(_, Symbol.hasInstance, { + value: /* @__PURE__ */ __name((inst) => { + if (params?.Parent && inst instanceof params.Parent) + return true; + return inst?._zod?.traits?.has(name2); + }, "value") + }); + Object.defineProperty(_, "name", { value: name2 }); + return _; +} +__name($constructor, "$constructor"); +var $brand = /* @__PURE__ */ Symbol("zod_brand"); +var $ZodAsyncError = class extends Error { + static { + __name(this, "$ZodAsyncError"); + } + constructor() { + super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`); + } +}; +var $ZodEncodeError = class extends Error { + static { + __name(this, "$ZodEncodeError"); + } + constructor(name2) { + super(`Encountered unidirectional transform during encode: ${name2}`); + this.name = "ZodEncodeError"; + } +}; +(_a = globalThis).__zod_globalConfig ?? (_a.__zod_globalConfig = {}); +var globalConfig = globalThis.__zod_globalConfig; +function config(newConfig) { + if (newConfig) + Object.assign(globalConfig, newConfig); + return globalConfig; +} +__name(config, "config"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/errors.js +function _getMessage() { + const internals = this._zod; + internals.message ?? (internals.message = JSON.stringify(internals.def, jsonStringifyReplacer, 2)); + return internals.message; +} +__name(_getMessage, "_getMessage"); +function _setMessage(value) { + this._zod.message = value; +} +__name(_setMessage, "_setMessage"); +var _messageDesc = { + get: _getMessage, + set: _setMessage, + enumerable: true, + configurable: true +}; +var _issuesDesc = { value: void 0, enumerable: false }; +var _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]); +var initializer = /* @__PURE__ */ __name((inst, def) => { + inst.name = "$ZodError"; + _issuesDesc.value = def; + Object.defineProperty(inst, "issues", _issuesDesc); + _issuesDesc.value = void 0; + Object.defineProperty(inst, "message", _messageDesc); + const proto = Object.getPrototypeOf(inst); + if (!_installedToString.has(proto)) { + _installedToString.add(proto); + Object.defineProperty(proto, "toString", { + configurable: true, + enumerable: false, + get() { + const value = /* @__PURE__ */ __name(() => this.message, "value"); + Object.defineProperty(this, "toString", { value, configurable: true, writable: true }); + return value; + }, + set(value) { + Object.defineProperty(this, "toString", { value, configurable: true, writable: true }); + } + }); + } +}, "initializer"); +var $ZodError = $constructor("$ZodError", initializer); +var $ZodRealError = $constructor("$ZodError", initializer, void 0, { + Parent: Error +}); +function node(obj, key, make) { + if (!Object.prototype.hasOwnProperty.call(obj, key)) { + if (key === "__proto__") { + Object.defineProperty(obj, key, { value: make(), writable: true, enumerable: true, configurable: true }); + } else { + obj[key] = make(); + } + } + return obj[key]; +} +__name(node, "node"); +function flattenError(error62, mapper = (issue2) => issue2.message) { + const fieldErrors = {}; + const formErrors = []; + for (const sub of error62.issues) { + if (sub.path.length > 0) { + node(fieldErrors, sub.path[0], () => []).push(mapper(sub)); + } else { + formErrors.push(mapper(sub)); + } + } + return { formErrors, fieldErrors }; +} +__name(flattenError, "flattenError"); +function formatError(error62, mapper = (issue2) => issue2.message) { + const fieldErrors = { _errors: [] }; + const processError = /* @__PURE__ */ __name((error63, path2 = []) => { + for (const issue2 of error63.issues) { + if (issue2.code === "invalid_union" && issue2.errors.length) { + issue2.errors.map((issues) => processError({ issues }, [...path2, ...issue2.path])); + } else if (issue2.code === "invalid_key") { + processError({ issues: issue2.issues }, [...path2, ...issue2.path]); + } else if (issue2.code === "invalid_element") { + processError({ issues: issue2.issues }, [...path2, ...issue2.path]); + } else { + const fullpath = [...path2, ...issue2.path]; + if (fullpath.length === 0) { + fieldErrors._errors.push(mapper(issue2)); + } else { + let curr = fieldErrors; + let i5 = 0; + while (i5 < fullpath.length) { + const el = fullpath[i5]; + const terminal = i5 === fullpath.length - 1; + if (el === "_errors") { + if (terminal) + curr._errors.push(mapper(issue2)); + i5++; + continue; + } + if (!Object.prototype.hasOwnProperty.call(curr, el)) { + Object.defineProperty(curr, el, { + value: { _errors: [] }, + enumerable: true, + writable: true, + configurable: true + }); + } + const node2 = curr[el]; + if (terminal) { + node2._errors.push(mapper(issue2)); + } + curr = node2; + i5++; + } + } + } + } + }, "processError"); + processError(error62); + return fieldErrors; +} +__name(formatError, "formatError"); +function treeifyError(error62, mapper = (issue2) => issue2.message) { + const result = { errors: [] }; + const processError = /* @__PURE__ */ __name((error63, path2 = []) => { + var _a4; + for (const issue2 of error63.issues) { + if (issue2.code === "invalid_union" && issue2.errors.length) { + issue2.errors.map((issues) => processError({ issues }, [...path2, ...issue2.path])); + } else if (issue2.code === "invalid_key") { + processError({ issues: issue2.issues }, [...path2, ...issue2.path]); + } else if (issue2.code === "invalid_element") { + processError({ issues: issue2.issues }, [...path2, ...issue2.path]); + } else { + const fullpath = [...path2, ...issue2.path]; + if (fullpath.length === 0) { + result.errors.push(mapper(issue2)); + continue; + } + let curr = result; + let i5 = 0; + while (i5 < fullpath.length) { + const el = fullpath[i5]; + const terminal = i5 === fullpath.length - 1; + if (typeof el === "string") { + curr.properties ?? (curr.properties = {}); + if (!Object.prototype.hasOwnProperty.call(curr.properties, el)) { + Object.defineProperty(curr.properties, el, { + value: { errors: [] }, + enumerable: true, + writable: true, + configurable: true + }); + } + curr = curr.properties[el]; + } else { + curr.items ?? (curr.items = []); + (_a4 = curr.items)[el] ?? (_a4[el] = { errors: [] }); + curr = curr.items[el]; + } + if (terminal) { + curr.errors.push(mapper(issue2)); + } + i5++; + } + } + } + }, "processError"); + processError(error62); + return result; +} +__name(treeifyError, "treeifyError"); +function toDotPath(_path) { + const segs = []; + const path2 = _path.map((seg) => typeof seg === "object" ? seg.key : seg); + for (const seg of path2) { + if (typeof seg === "number") + segs.push(`[${seg}]`); + else if (typeof seg === "symbol") + segs.push(`[${JSON.stringify(String(seg))}]`); + else if (/[^\w$]/.test(seg)) + segs.push(`[${JSON.stringify(seg)}]`); + else { + if (segs.length) + segs.push("."); + segs.push(seg); + } + } + return segs.join(""); +} +__name(toDotPath, "toDotPath"); +function prettifyError(error62) { + const lines = []; + const issues = [...error62.issues].sort((a5, b5) => (a5.path ?? []).length - (b5.path ?? []).length); + for (const issue2 of issues) { + lines.push(`\u2716 ${issue2.message}`); + if (issue2.path?.length) + lines.push(` \u2192 at ${toDotPath(issue2.path)}`); + } + return lines.join("\n"); +} +__name(prettifyError, "prettifyError"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/parse.js +function finalizeParams(callee, params) { + return { callee: params?.callee ?? callee, Err: params?.Err }; +} +__name(finalizeParams, "finalizeParams"); +var _parse = /* @__PURE__ */ __name((_Err) => { + const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => { + const ctx = _ctx ? { ..._ctx, async: false } : { async: false }; + const result = schema2._zod.run({ value, issues: [] }, ctx); + if (result instanceof Promise) { + throw new $ZodAsyncError(); + } + if (result.issues.length) { + const e5 = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config()))); + captureStackTrace(e5, _params?.callee ?? fn); + throw e5; + } + return result.value; + }, "fn"); + return fn; +}, "_parse"); +var parse = /* @__PURE__ */ _parse($ZodRealError); +var _parseAsync = /* @__PURE__ */ __name((_Err) => { + const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, params) => { + const ctx = _ctx ? { ..._ctx, async: true } : { async: true }; + let result = schema2._zod.run({ value, issues: [] }, ctx); + if (result instanceof Promise) + result = await result; + if (result.issues.length) { + const e5 = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config()))); + captureStackTrace(e5, params?.callee ?? fn); + throw e5; + } + return result.value; + }, "fn"); + return fn; +}, "_parseAsync"); +var parseAsync = /* @__PURE__ */ _parseAsync($ZodRealError); +var _safeParse = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => { + const ctx = _ctx ? { ..._ctx, async: false } : { async: false }; + const result = schema2._zod.run({ value, issues: [] }, ctx); + if (result instanceof Promise) { + throw new $ZodAsyncError(); + } + return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value }; +}, "_safeParse"); +var safeParse = /* @__PURE__ */ _safeParse($ZodRealError); +function failure(Err, issues, ctx) { + let error62; + return { + success: false, + get error() { + if (!error62) { + error62 = new Err(issues.map((iss) => finalizeIssue(iss, ctx, config()))); + issues = void 0; + ctx = void 0; + } + return error62; + }, + set error(e5) { + error62 = e5; + issues = void 0; + ctx = void 0; + } + }; +} +__name(failure, "failure"); +var _safeParseAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => { + const ctx = _ctx ? { ..._ctx, async: true } : { async: true }; + let result = schema2._zod.run({ value, issues: [] }, ctx); + if (result instanceof Promise) + result = await result; + return result.issues.length ? failure(_Err, result.issues, ctx) : { success: true, data: result.value }; +}, "_safeParseAsync"); +var safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError); +var COMPILE_INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid"); +var COMPILE_FALLBACK = /* @__PURE__ */ Symbol.for("zod.compile.fallback"); +var validate = /* @__PURE__ */ __name(((schema2, value, _ctx) => { + const validator = schema2._zod.bag.validator; + if (validator !== void 0) { + if (validator(value) !== COMPILE_INVALID) + return true; + if (validator.definite === true && _ctx === void 0) + return false; + } + return validateFallback(schema2, value, _ctx); +}), "validate"); +function validateFallback(schema2, value, _ctx) { + const ctx = _ctx ? { ..._ctx, async: false, abortEarly: true } : { async: false, abortEarly: true }; + const fallbackRun = schema2._zod.bag.fallbackRun; + let result; + if (fallbackRun) { + ctx[COMPILE_FALLBACK] = true; + result = fallbackRun({ value, issues: [] }, ctx); + } else { + result = schema2._zod.run({ value, issues: [] }, ctx); + } + if (result instanceof Promise) { + throw new $ZodAsyncError(); + } + return result.issues.length === 0; +} +__name(validateFallback, "validateFallback"); +var validateAsync = /* @__PURE__ */ __name(async (schema2, value, _ctx) => { + const ctx = _ctx ? { ..._ctx, async: true, abortEarly: true } : { async: true, abortEarly: true }; + let result = schema2._zod.run({ value, issues: [] }, ctx); + if (result instanceof Promise) + result = await result; + return result.issues.length === 0; +}, "validateAsync"); +var _encode = /* @__PURE__ */ __name((_Err) => { + const parse4 = _parse(_Err); + const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => { + const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; + return parse4(schema2, value, ctx, finalizeParams(fn, _params)); + }, "fn"); + return fn; +}, "_encode"); +var encode = /* @__PURE__ */ _encode($ZodRealError); +var _decode = /* @__PURE__ */ __name((_Err) => { + const parse4 = _parse(_Err); + const fn = /* @__PURE__ */ __name((schema2, value, _ctx, _params) => { + return parse4(schema2, value, _ctx, finalizeParams(fn, _params)); + }, "fn"); + return fn; +}, "_decode"); +var decode = /* @__PURE__ */ _decode($ZodRealError); +var _encodeAsync = /* @__PURE__ */ __name((_Err) => { + const parseAsync3 = _parseAsync(_Err); + const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, _params) => { + const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; + return await parseAsync3(schema2, value, ctx, finalizeParams(fn, _params)); + }, "fn"); + return fn; +}, "_encodeAsync"); +var encodeAsync = /* @__PURE__ */ _encodeAsync($ZodRealError); +var _decodeAsync = /* @__PURE__ */ __name((_Err) => { + const parseAsync3 = _parseAsync(_Err); + const fn = /* @__PURE__ */ __name(async (schema2, value, _ctx, _params) => { + return await parseAsync3(schema2, value, _ctx, finalizeParams(fn, _params)); + }, "fn"); + return fn; +}, "_decodeAsync"); +var decodeAsync = /* @__PURE__ */ _decodeAsync($ZodRealError); +var _safeEncode = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => { + const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; + return _safeParse(_Err)(schema2, value, ctx); +}, "_safeEncode"); +var safeEncode = /* @__PURE__ */ _safeEncode($ZodRealError); +var _safeDecode = /* @__PURE__ */ __name((_Err) => (schema2, value, _ctx) => { + return _safeParse(_Err)(schema2, value, _ctx); +}, "_safeDecode"); +var safeDecode = /* @__PURE__ */ _safeDecode($ZodRealError); +var _safeEncodeAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => { + const ctx = _ctx ? { ..._ctx, direction: "backward" } : { direction: "backward" }; + return _safeParseAsync(_Err)(schema2, value, ctx); +}, "_safeEncodeAsync"); +var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync($ZodRealError); +var _safeDecodeAsync = /* @__PURE__ */ __name((_Err) => async (schema2, value, _ctx) => { + return _safeParseAsync(_Err)(schema2, value, _ctx); +}, "_safeDecodeAsync"); +var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/regexes.js +var regexes_exports = {}; +__export(regexes_exports, { + anyString: () => anyString, + base64: () => base64, + base64url: () => base64url, + bigint: () => bigint, + boolean: () => boolean, + browserEmail: () => browserEmail, + cidrv4: () => cidrv4, + cidrv6: () => cidrv6, + creditCard: () => creditCard, + cuid: () => cuid, + cuid2: () => cuid2, + currencyCode: () => currencyCode, + date: () => date, + datetime: () => datetime, + domain: () => domain, + duration: () => duration, + e164: () => e164, + email: () => email, + emoji: () => emoji, + extendedDuration: () => extendedDuration, + guid: () => guid, + hex: () => hex, + hostname: () => hostname, + html5Email: () => html5Email, + httpProtocol: () => httpProtocol, + iban: () => iban, + idnEmail: () => idnEmail, + integer: () => integer, + ipv4: () => ipv4, + ipv6: () => ipv6, + ksuid: () => ksuid, + lowercase: () => lowercase, + mac: () => mac, + md5_base64: () => md5_base64, + md5_base64url: () => md5_base64url, + md5_hex: () => md5_hex, + nanoid: () => nanoid, + nanoidOfLength: () => nanoidOfLength, + null: () => _null, + number: () => number, + rfc5322Email: () => rfc5322Email, + sha1_base64: () => sha1_base64, + sha1_base64url: () => sha1_base64url, + sha1_hex: () => sha1_hex, + sha256_base64: () => sha256_base64, + sha256_base64url: () => sha256_base64url, + sha256_hex: () => sha256_hex, + sha384_base64: () => sha384_base64, + sha384_base64url: () => sha384_base64url, + sha384_hex: () => sha384_hex, + sha512_base64: () => sha512_base64, + sha512_base64url: () => sha512_base64url, + sha512_hex: () => sha512_hex, + string: () => string, + time: () => time, + ulid: () => ulid, + undefined: () => _undefined, + unicodeEmail: () => unicodeEmail, + uppercase: () => uppercase, + uuid: () => uuid, + uuid4: () => uuid4, + uuid6: () => uuid6, + uuid7: () => uuid7, + xid: () => xid +}); +var cuid = /^[cC][0-9a-z]{6,}$/; +var cuid2 = /^[0-9a-z]+$/; +var ulid = /^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/; +var xid = /^[0-9a-vA-V]{20}$/; +var ksuid = /^[A-Za-z0-9]{27}$/; +var nanoid = /^[a-zA-Z0-9_-]{21}$/; +function nanoidOfLength(length) { + return new RegExp(`^[a-zA-Z0-9_-]{${length}}$`); +} +__name(nanoidOfLength, "nanoidOfLength"); +var duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/; +var extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/; +var guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/; +var uuid = /* @__PURE__ */ __name((version2) => { + if (!version2) + return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/; + return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version2}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`); +}, "uuid"); +var uuid4 = /* @__PURE__ */ uuid(4); +var uuid6 = /* @__PURE__ */ uuid(6); +var uuid7 = /* @__PURE__ */ uuid(7); +var email = /^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/; +var html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; +var rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; +var unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u; +var idnEmail = unicodeEmail; +var browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; +var _emoji = `^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`; +function emoji() { + return new RegExp(_emoji, "u"); +} +__name(emoji, "emoji"); +var ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; +var ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/; +var mac = /* @__PURE__ */ __name((delimiter) => { + const escapedDelim = escapeRegex(delimiter ?? ":"); + return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`); +}, "mac"); +var cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/; +var cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/; +var base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/; +var base64url = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/; +var hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/; +var domain = /^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/; +var httpProtocol = /^https?$/; +var e164 = /^\+[1-9]\d{6,14}$/; +var creditCard = /^\d(?:[ -]?\d){11,18}$/; +var currencyCode = /^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/; +var iban = /^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/; +var dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`; +function anchor(source) { + return new RegExp(`^${source}$`); +} +__name(anchor, "anchor"); +var date = /* @__PURE__ */ anchor(dateSource); +function timeSource(args) { + const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`; + const regex = typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : args.seconds ? `${hhmm}:[0-5]\\d(?:\\.\\d+)?` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`; + return regex; +} +__name(timeSource, "timeSource"); +function time(args) { + return new RegExp(`^${timeSource(args)}$`); +} +__name(time, "time"); +function datetime(args) { + const opts = ["Z"]; + if (args.offset) + opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`); + const qualified = `${timeSource({ precision: args.precision, seconds: true })}(?:${opts.join("|")})`; + const timeRegex = args.local ? `${qualified}|${timeSource({ precision: args.precision })}` : qualified; + return new RegExp(`^${dateSource}T(?:${timeRegex})$`); +} +__name(datetime, "datetime"); +var anyString = /^[\s\S]{0,}$/; +var string = /* @__PURE__ */ __name((params) => { + const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`; + return new RegExp(`^${regex}$`); +}, "string"); +var bigint = /^-?\d+n?$/; +var integer = /^-?\d+$/; +var number = /^-?\d+(?:\.\d+)?$/; +var boolean = /^(?:true|false)$/i; +var _null = /^null$/i; +var _undefined = /^undefined$/i; +var lowercase = /^[^A-Z]*$/; +var uppercase = /^[^a-z]*$/; +var hex = /^[0-9a-fA-F]*$/; +function fixedBase64(bodyLength, padding) { + return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`); +} +__name(fixedBase64, "fixedBase64"); +function fixedBase64url(length) { + return new RegExp(`^[A-Za-z0-9_-]{${length}}$`); +} +__name(fixedBase64url, "fixedBase64url"); +var md5_hex = /^[0-9a-fA-F]{32}$/; +var md5_base64 = /* @__PURE__ */ fixedBase64(22, "=="); +var md5_base64url = /* @__PURE__ */ fixedBase64url(22); +var sha1_hex = /^[0-9a-fA-F]{40}$/; +var sha1_base64 = /* @__PURE__ */ fixedBase64(27, "="); +var sha1_base64url = /* @__PURE__ */ fixedBase64url(27); +var sha256_hex = /^[0-9a-fA-F]{64}$/; +var sha256_base64 = /* @__PURE__ */ fixedBase64(43, "="); +var sha256_base64url = /* @__PURE__ */ fixedBase64url(43); +var sha384_hex = /^[0-9a-fA-F]{96}$/; +var sha384_base64 = /* @__PURE__ */ fixedBase64(64, ""); +var sha384_base64url = /* @__PURE__ */ fixedBase64url(64); +var sha512_hex = /^[0-9a-fA-F]{128}$/; +var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "=="); +var sha512_base64url = /* @__PURE__ */ fixedBase64url(86); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/checks.js +var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => { + var _a4; + inst._zod ?? (inst._zod = {}); + inst._zod.def = def; + (_a4 = inst._zod).onattach ?? (_a4.onattach = []); +}); +var _whenHasSize = /* @__PURE__ */ __name((payload) => { + const val = payload.value; + return !nullish(val) && val.size !== void 0; +}, "_whenHasSize"); +var _whenHasLength = /* @__PURE__ */ __name((payload) => { + const val = payload.value; + return !nullish(val) && val.length !== void 0; +}, "_whenHasLength"); +var numericOriginMap = { + number: "number", + bigint: "bigint", + object: "date" +}; +var $ZodCheckLessThan = /* @__PURE__ */ $constructor("$ZodCheckLessThan", (inst, def) => { + $ZodCheck.init(inst, def); + const origin = numericOriginMap[typeof def.value]; + inst._zod.check = (payload) => { + if (def.inclusive ? payload.value <= def.value : payload.value < def.value) { + return; + } + payload.issues.push({ + origin: numericOriginMap[typeof payload.value] ?? origin, + code: "too_big", + maximum: typeof def.value === "object" ? def.value.getTime() : def.value, + input: payload.value, + inclusive: def.inclusive, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckGreaterThan = /* @__PURE__ */ $constructor("$ZodCheckGreaterThan", (inst, def) => { + $ZodCheck.init(inst, def); + const origin = numericOriginMap[typeof def.value]; + inst._zod.check = (payload) => { + if (def.inclusive ? payload.value >= def.value : payload.value > def.value) { + return; + } + payload.issues.push({ + origin: numericOriginMap[typeof payload.value] ?? origin, + code: "too_small", + minimum: typeof def.value === "object" ? def.value.getTime() : def.value, + input: payload.value, + inclusive: def.inclusive, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckMultipleOf = /* @__PURE__ */ $constructor("$ZodCheckMultipleOf", (inst, def) => { + $ZodCheck.init(inst, def); + inst._zod.check = (payload) => { + if (typeof payload.value !== typeof def.value) + throw new Error("Cannot mix number and bigint in multiple_of check."); + const isMultiple = typeof payload.value === "bigint" ? ( + // `value % 0n` throws, and nothing is a multiple of zero — the number branch already fails this way via NaN + def.value !== BigInt(0) && payload.value % def.value === BigInt(0) + ) : floatSafeRemainder(payload.value, def.value) === 0; + if (isMultiple) + return; + payload.issues.push({ + origin: typeof payload.value, + code: "not_multiple_of", + divisor: def.value, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat", (inst, def) => { + $ZodCheck.init(inst, def); + def.format = def.format || "float64"; + const isInt = def.format?.includes("int"); + const origin = isInt ? "int" : "number"; + const [minimum, maximum] = NUMBER_FORMAT_RANGES[def.format]; + inst._zod.check = (payload) => { + const input2 = payload.value; + if (isInt) { + if (!Number.isInteger(input2)) { + payload.issues.push({ + expected: origin, + format: def.format, + code: "invalid_type", + continue: false, + input: input2, + inst + }); + return; + } + if (!Number.isSafeInteger(input2)) { + if (input2 > 0) { + payload.issues.push({ + input: input2, + code: "too_big", + maximum: Number.MAX_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst, + origin, + inclusive: true, + continue: !def.abort + }); + } else { + payload.issues.push({ + input: input2, + code: "too_small", + minimum: Number.MIN_SAFE_INTEGER, + note: "Integers must be within the safe integer range.", + inst, + origin, + inclusive: true, + continue: !def.abort + }); + } + return; + } + } + if (input2 < minimum) { + payload.issues.push({ + origin: "number", + input: input2, + code: "too_small", + minimum, + inclusive: true, + inst, + continue: !def.abort + }); + } + if (input2 > maximum) { + payload.issues.push({ + origin: "number", + input: input2, + code: "too_big", + maximum, + inclusive: true, + inst, + continue: !def.abort + }); + } + }; +}); +var $ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat", (inst, def) => { + $ZodCheck.init(inst, def); + const [minimum, maximum] = BIGINT_FORMAT_RANGES[def.format]; + inst._zod.check = (payload) => { + const input2 = payload.value; + if (input2 < minimum) { + payload.issues.push({ + origin: "bigint", + input: input2, + code: "too_small", + minimum, + inclusive: true, + inst, + continue: !def.abort + }); + } + if (input2 > maximum) { + payload.issues.push({ + origin: "bigint", + input: input2, + code: "too_big", + maximum, + inclusive: true, + inst, + continue: !def.abort + }); + } + }; +}); +var $ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize); + inst._zod.check = (payload) => { + const input2 = payload.value; + const size = input2.size; + if (size <= def.maximum) + return; + payload.issues.push({ + origin: getSizableOrigin(input2), + code: "too_big", + maximum: def.maximum, + inclusive: true, + input: input2, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize); + inst._zod.check = (payload) => { + const input2 = payload.value; + const size = input2.size; + if (size >= def.minimum) + return; + payload.issues.push({ + origin: getSizableOrigin(input2), + code: "too_small", + minimum: def.minimum, + inclusive: true, + input: input2, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasSize); + inst._zod.check = (payload) => { + const input2 = payload.value; + const size = input2.size; + if (size === def.size) + return; + const tooBig = size > def.size; + payload.issues.push({ + origin: getSizableOrigin(input2), + ...tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size }, + inclusive: true, + exact: true, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength); + inst._zod.check = (payload) => { + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units > def.maximum ? codePointLength(input2) : units; + if (length <= def.maximum) + return; + const origin = getLengthableOrigin(input2); + payload.issues.push({ + origin, + code: "too_big", + maximum: def.maximum, + inclusive: true, + input: input2, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength); + inst._zod.check = (payload) => { + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units >= def.minimum && units < def.minimum * 2 ? codePointLength(input2) : units; + if (length >= def.minimum) + return; + const origin = getLengthableOrigin(input2); + payload.issues.push({ + origin, + code: "too_small", + minimum: def.minimum, + inclusive: true, + input: input2, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals", (inst, def) => { + var _a4; + $ZodCheck.init(inst, def); + (_a4 = inst._zod.def).when ?? (_a4.when = _whenHasLength); + inst._zod.check = (payload) => { + const input2 = payload.value; + const units = input2.length; + const length = typeof input2 === "string" && units >= def.length && units <= def.length * 2 ? codePointLength(input2) : units; + if (length === def.length) + return; + const origin = getLengthableOrigin(input2); + const tooBig = length > def.length; + payload.issues.push({ + origin, + ...tooBig ? { code: "too_big", maximum: def.length } : { code: "too_small", minimum: def.length }, + inclusive: true, + exact: true, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat", (inst, def) => { + var _a4, _b; + $ZodCheck.init(inst, def); + if (def.pattern) + (_a4 = inst._zod).check ?? (_a4.check = (payload) => { + def.pattern.lastIndex = 0; + if (def.pattern.test(payload.value)) + return; + payload.issues.push({ + origin: "string", + code: "invalid_format", + format: def.format, + input: payload.value, + ...def.pattern ? { pattern: def.pattern.toString() } : {}, + inst, + continue: !def.abort + }); + }); + else + (_b = inst._zod).check ?? (_b.check = () => { + }); +}); +var $ZodCheckRegex = /* @__PURE__ */ $constructor("$ZodCheckRegex", (inst, def) => { + $ZodCheckStringFormat.init(inst, def); + inst._zod.check = (payload) => { + def.pattern.lastIndex = 0; + if (def.pattern.test(payload.value)) + return; + payload.issues.push({ + origin: "string", + code: "invalid_format", + format: "regex", + input: payload.value, + pattern: def.pattern.toString(), + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckLowerCase = /* @__PURE__ */ $constructor("$ZodCheckLowerCase", (inst, def) => { + def.pattern ?? (def.pattern = lowercase); + $ZodCheckStringFormat.init(inst, def); +}); +var $ZodCheckUpperCase = /* @__PURE__ */ $constructor("$ZodCheckUpperCase", (inst, def) => { + def.pattern ?? (def.pattern = uppercase); + $ZodCheckStringFormat.init(inst, def); +}); +var $ZodCheckIncludes = /* @__PURE__ */ $constructor("$ZodCheckIncludes", (inst, def) => { + $ZodCheck.init(inst, def); + const escapedRegex = escapeRegex(def.includes); + const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position},}${escapedRegex}` : escapedRegex); + def.pattern = pattern; + inst._zod.check = (payload) => { + if (payload.value.includes(def.includes, def.position)) + return; + payload.issues.push({ + origin: "string", + code: "invalid_format", + format: "includes", + includes: def.includes, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckStartsWith = /* @__PURE__ */ $constructor("$ZodCheckStartsWith", (inst, def) => { + $ZodCheck.init(inst, def); + const pattern = new RegExp(`^${escapeRegex(def.prefix)}.*`); + def.pattern ?? (def.pattern = pattern); + inst._zod.check = (payload) => { + if (payload.value.startsWith(def.prefix)) + return; + payload.issues.push({ + origin: "string", + code: "invalid_format", + format: "starts_with", + prefix: def.prefix, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckEndsWith = /* @__PURE__ */ $constructor("$ZodCheckEndsWith", (inst, def) => { + $ZodCheck.init(inst, def); + const pattern = new RegExp(`.*${escapeRegex(def.suffix)}$`); + def.pattern ?? (def.pattern = pattern); + inst._zod.check = (payload) => { + if (payload.value.endsWith(def.suffix)) + return; + payload.issues.push({ + origin: "string", + code: "invalid_format", + format: "ends_with", + suffix: def.suffix, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +function handleCheckPropertyResult(result, payload, property) { + if (result.issues.length) { + payload.issues.push(...prefixIssues(property, result.issues)); + } +} +__name(handleCheckPropertyResult, "handleCheckPropertyResult"); +var $ZodCheckProperty = /* @__PURE__ */ $constructor("$ZodCheckProperty", (inst, def) => { + $ZodCheck.init(inst, def); + inst._zod.check = (payload) => { + const result = def.schema._zod.run({ + value: payload.value[def.property], + issues: [] + }, {}); + if (result instanceof Promise) { + return result.then((result2) => handleCheckPropertyResult(result2, payload, def.property)); + } + handleCheckPropertyResult(result, payload, def.property); + return; + }; +}); +var $ZodCheckProperties = /* @__PURE__ */ $constructor("$ZodCheckProperties", (inst, def) => { + $ZodCheck.init(inst, def); + hide(inst, Symbol.iterator, function* () { + yield inst; + }); + let entries; + inst._zod.check = (payload) => { + if (payload.value == null) { + payload.issues.push({ expected: "object", code: "invalid_type", input: payload.value, inst }); + return void 0; + } + entries ?? (entries = Reflect.ownKeys(def.shape).map((key) => [key, def.shape[key]])); + const input2 = payload.value; + let proms; + for (const [key, schema2] of entries) { + const result = schema2._zod.run({ value: input2[key], issues: [] }, {}); + if (result instanceof Promise) { + proms ?? (proms = []); + proms.push(result.then((result2) => handleCheckPropertyResult(result2, payload, key))); + } else { + handleCheckPropertyResult(result, payload, key); + } + } + if (proms) + return Promise.all(proms).then(() => void 0); + return void 0; + }; +}); +var $ZodCheckMimeType = /* @__PURE__ */ $constructor("$ZodCheckMimeType", (inst, def) => { + $ZodCheck.init(inst, def); + const mimeSet = new Set(def.mime); + inst._zod.check = (payload) => { + if (mimeSet.has(payload.value.type)) + return; + payload.issues.push({ + code: "invalid_value", + values: def.mime, + input: payload.value.type, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (inst, def) => { + $ZodCheck.init(inst, def); + inst._zod.check = (payload) => { + payload.value = def.tx(payload.value); + }; +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/doc.js +var Doc = class { + static { + __name(this, "Doc"); + } + constructor(args = [], closed = {}) { + this.content = []; + this.indent = 0; + this.args = args; + this.closed = closed; + } + // the compiler catches a child's throw and keeps writing into this doc, so the indent has to unwind with it + indented(fn) { + this.indent += 1; + try { + fn(this); + } finally { + this.indent -= 1; + } + } + write(arg) { + if (typeof arg === "function") { + arg(this, { execution: "sync" }); + arg(this, { execution: "async" }); + return; + } + const content = arg; + const lines = content.split("\n").filter((x) => x); + const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length)); + const dedented = lines.map((x) => x.slice(minIndent)).map((x) => " ".repeat(this.indent * 2) + x); + for (const line of dedented) { + this.content.push(line); + } + } + compile() { + const F = Function; + const content = this?.content ?? [``]; + const factory = new F(...Object.keys(this.closed), `return function (${this.args.join(", ")}) { +${content.join("\n")} +};`); + return factory(...Object.values(this.closed)); + } +}; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/versions.js +var version = { + major: 4, + minor: 6, + patch: 7 +}; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/schemas.js +var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => { + var _a4; + inst ?? (inst = {}); + inst._zod.def = def; + inst._zod.bag = inst._zod.bag || {}; + inst._zod.version = version; + const defChecks = inst._zod.def.checks; + const checks = inst._zod.traits.has("$ZodCheck") ? [inst, ...defChecks ?? []] : defChecks?.length ? [...defChecks] : []; + for (const ch of checks) { + for (const fn of ch._zod.onattach) { + fn(inst); + } + } + if (checks.length === 0) { + (_a4 = inst._zod).deferred ?? (_a4.deferred = []); + inst._zod.deferred?.push(() => { + inst._zod.run = inst._zod.parse; + }); + } else { + const runChecks = /* @__PURE__ */ __name((payload, checks2, ctx) => { + if (payload.memo) + return payload; + let isAborted = aborted(payload); + let asyncResult; + for (const ch of checks2) { + if (ch._zod.def.when) { + if (explicitlyAborted(payload)) + continue; + const shouldRun = ch._zod.def.when(payload); + if (!shouldRun) + continue; + } else if (isAborted) { + continue; + } + const currLen = payload.issues.length; + const _ = ch._zod.check(payload); + if (_ instanceof Promise && ctx?.async === false) { + throw new $ZodAsyncError(); + } + if (asyncResult || _ instanceof Promise) { + asyncResult = (asyncResult ?? Promise.resolve()).then(async () => { + await _; + const nextLen = payload.issues.length; + if (nextLen === currLen) + return; + attachSchema(payload.issues, currLen, inst); + if (!isAborted) + isAborted = aborted(payload, currLen); + }); + } else { + const nextLen = payload.issues.length; + if (nextLen === currLen) + continue; + attachSchema(payload.issues, currLen, inst); + if (!isAborted) + isAborted = aborted(payload, currLen); + } + } + if (asyncResult) { + return asyncResult.then(() => { + return payload; + }); + } + return payload; + }, "runChecks"); + const handleCanaryResult = /* @__PURE__ */ __name((canary, payload, ctx) => { + if (aborted(canary)) { + canary.aborted = true; + return canary; + } + const checkResult = runChecks(payload, checks, ctx); + if (checkResult instanceof Promise) { + if (ctx.async === false) + throw new $ZodAsyncError(); + return checkResult.then((checkResult2) => inst._zod.parse(checkResult2, ctx)); + } + return inst._zod.parse(checkResult, ctx); + }, "handleCanaryResult"); + inst._zod.run = (payload, ctx) => { + if (ctx.skipChecks) { + return inst._zod.parse(payload, ctx); + } + if (ctx.direction === "backward") { + const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true }); + if (canary instanceof Promise) { + return canary.then((canary2) => { + return handleCanaryResult(canary2, payload, ctx); + }); + } + return handleCanaryResult(canary, payload, ctx); + } + const result = inst._zod.parse(payload, ctx); + if (result instanceof Promise) { + if (ctx.async === false) + throw new $ZodAsyncError(); + return result.then((result2) => runChecks(result2, checks, ctx)); + } + return runChecks(result, checks, ctx); + }; + } +}, { + // Wrappers extend this by installing a richer factory over it; reading it eagerly would defeat the laziness. + get "~standard"() { + return hide(this, "~standard", standardProps(this)); + }, + set "~standard"(value) { + own(this, "~standard", value); + } +}); +var toStandardResult = /* @__PURE__ */ __name((r5, ctx) => r5.issues.length ? { issues: r5.issues.map((iss) => finalizeIssue(iss, ctx, config())) } : { value: r5.value }, "toStandardResult"); +async function validateAsync2(inst, value) { + const ctx = { async: true }; + return toStandardResult(await inst._zod.run({ value, issues: [] }, ctx), ctx); +} +__name(validateAsync2, "validateAsync"); +function standardProps(inst) { + return { + validate: /* @__PURE__ */ __name((value) => { + const ctx = { async: false }; + try { + const r5 = inst._zod.run({ value, issues: [] }, ctx); + if (!(r5 instanceof Promise)) + return toStandardResult(r5, ctx); + } catch (_) { + } + return validateAsync2(inst, value); + }, "validate"), + vendor: "zod", + version: 1 + }; +} +__name(standardProps, "standardProps"); +var $ZodString = /* @__PURE__ */ $constructor("$ZodString", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = def.pattern ?? anyString; + inst._zod.parse = (payload, _) => { + if (def.coerce) + try { + payload.value = String(payload.value); + } catch (_2) { + } + if (typeof payload.value === "string") + return payload; + payload.issues.push({ + expected: "string", + code: "invalid_type", + input: payload.value, + inst + }); + return payload; + }; +}); +var $ZodStringFormat = /* @__PURE__ */ $constructor("$ZodStringFormat", (inst, def) => { + $ZodCheckStringFormat.init(inst, def); + $ZodString.init(inst, def); +}); +var $ZodGUID = /* @__PURE__ */ $constructor("$ZodGUID", (inst, def) => { + def.pattern ?? (def.pattern = guid); + $ZodStringFormat.init(inst, def); +}); +var $ZodUUID = /* @__PURE__ */ $constructor("$ZodUUID", (inst, def) => { + if (def.version) { + const versionMap = { + v1: 1, + v2: 2, + v3: 3, + v4: 4, + v5: 5, + v6: 6, + v7: 7, + v8: 8 + }; + const v = versionMap[def.version]; + if (v === void 0) + throw new Error(`Invalid UUID version: "${def.version}"`); + def.pattern ?? (def.pattern = uuid(v)); + } else + def.pattern ?? (def.pattern = uuid()); + $ZodStringFormat.init(inst, def); +}); +var $ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => { + def.pattern ?? (def.pattern = email); + $ZodStringFormat.init(inst, def); +}); +var URL_BAD_FORMAT = 1; +var URL_UNPARSEABLE = 2; +function canParseURL(input2) { + try { + if (typeof URL !== "undefined" && typeof URL.canParse === "function") + return URL.canParse(input2); + new URL(input2); + return true; + } catch { + return false; + } +} +__name(canParseURL, "canParseURL"); +function validateURL(trimmed, def) { + if (!("normalize" in def) && !("hostname" in def) && !("protocol" in def)) { + return canParseURL(trimmed) || URL_UNPARSEABLE; + } + return parseURLObject(trimmed, def); +} +__name(validateURL, "validateURL"); +function parseURLObject(trimmed, def) { + if (!def.normalize && def.protocol?.source === httpProtocol.source && !/^https?:\/\//i.test(trimmed)) { + return URL_BAD_FORMAT; + } + try { + if (typeof URL !== "undefined") { + const URLStatic = URL; + if (typeof URLStatic.parse === "function") + return URLStatic.parse(trimmed) ?? URL_UNPARSEABLE; + } + return new URL(trimmed); + } catch { + return URL_UNPARSEABLE; + } +} +__name(parseURLObject, "parseURLObject"); +var asciiTabOrNewline = /[\t\n\r]/g; +function stripTabAndNewline(value) { + return value.replace(asciiTabOrNewline, ""); +} +__name(stripTabAndNewline, "stripTabAndNewline"); +function urlHostnameOk(url2, hostname3) { + hostname3.lastIndex = 0; + return hostname3.test(url2.hostname); +} +__name(urlHostnameOk, "urlHostnameOk"); +function urlProtocolOk(url2, protocol) { + protocol.lastIndex = 0; + return protocol.test(url2.protocol.endsWith(":") ? url2.protocol.slice(0, -1) : url2.protocol); +} +__name(urlProtocolOk, "urlProtocolOk"); +var $ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => { + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + try { + const trimmed = payload.value.trim(); + const url2 = validateURL(trimmed, def); + if (url2 === URL_BAD_FORMAT) { + payload.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid URL format", + input: payload.value, + inst, + continue: !def.abort + }); + return; + } + if (url2 === URL_UNPARSEABLE) { + payload.issues.push({ + code: "invalid_format", + format: "url", + input: payload.value, + inst, + continue: !def.abort + }); + return; + } + if (url2 === true) { + payload.value = stripTabAndNewline(trimmed); + return; + } + if (def.hostname && !urlHostnameOk(url2, def.hostname)) { + payload.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid hostname", + pattern: def.hostname.source, + input: payload.value, + inst, + continue: !def.abort + }); + } + if (def.protocol && !urlProtocolOk(url2, def.protocol)) { + payload.issues.push({ + code: "invalid_format", + format: "url", + note: "Invalid protocol", + pattern: def.protocol.source, + input: payload.value, + inst, + continue: !def.abort + }); + } + payload.value = def.normalize ? url2.href : stripTabAndNewline(trimmed); + return; + } catch (_) { + payload.issues.push({ + code: "invalid_format", + format: "url", + input: payload.value, + inst, + continue: !def.abort + }); + } + }; +}); +var $ZodEmoji = /* @__PURE__ */ $constructor("$ZodEmoji", (inst, def) => { + def.pattern ?? (def.pattern = emoji()); + $ZodStringFormat.init(inst, def); +}); +var $ZodNanoID = /* @__PURE__ */ $constructor("$ZodNanoID", (inst, def) => { + if (def.length !== void 0 && (!Number.isInteger(def.length) || def.length < 1)) + throw new Error(`Invalid nanoid length: ${def.length}`); + def.pattern ?? (def.pattern = def.length === void 0 ? nanoid : nanoidOfLength(def.length)); + $ZodStringFormat.init(inst, def); +}); +var $ZodCUID = /* @__PURE__ */ $constructor("$ZodCUID", (inst, def) => { + def.pattern ?? (def.pattern = cuid); + $ZodStringFormat.init(inst, def); +}); +var $ZodCUID2 = /* @__PURE__ */ $constructor("$ZodCUID2", (inst, def) => { + def.pattern ?? (def.pattern = cuid2); + $ZodStringFormat.init(inst, def); +}); +var $ZodULID = /* @__PURE__ */ $constructor("$ZodULID", (inst, def) => { + def.pattern ?? (def.pattern = ulid); + $ZodStringFormat.init(inst, def); +}); +var $ZodXID = /* @__PURE__ */ $constructor("$ZodXID", (inst, def) => { + def.pattern ?? (def.pattern = xid); + $ZodStringFormat.init(inst, def); +}); +var $ZodKSUID = /* @__PURE__ */ $constructor("$ZodKSUID", (inst, def) => { + def.pattern ?? (def.pattern = ksuid); + $ZodStringFormat.init(inst, def); +}); +var $ZodISODateTime = /* @__PURE__ */ $constructor("$ZodISODateTime", (inst, def) => { + def.pattern ?? (def.pattern = datetime(def)); + $ZodStringFormat.init(inst, def); +}); +var $ZodISODate = /* @__PURE__ */ $constructor("$ZodISODate", (inst, def) => { + def.pattern ?? (def.pattern = date); + $ZodStringFormat.init(inst, def); +}); +var $ZodISOTime = /* @__PURE__ */ $constructor("$ZodISOTime", (inst, def) => { + def.pattern ?? (def.pattern = time(def)); + $ZodStringFormat.init(inst, def); +}); +var $ZodISODuration = /* @__PURE__ */ $constructor("$ZodISODuration", (inst, def) => { + def.pattern ?? (def.pattern = duration); + $ZodStringFormat.init(inst, def); +}); +var $ZodIPv4 = /* @__PURE__ */ $constructor("$ZodIPv4", (inst, def) => { + def.pattern ?? (def.pattern = ipv4); + $ZodStringFormat.init(inst, def); +}); +var ipv6Alphabet = /^[0-9a-fA-F:.]+$/; +function isValidIPv6(value) { + if (!ipv6Alphabet.test(value)) + return false; + return canParseURL(`http://[${value}]`); +} +__name(isValidIPv6, "isValidIPv6"); +var $ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => { + def.pattern ?? (def.pattern = ipv6); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (!isValidIPv6(payload.value)) { + payload.issues.push({ + code: "invalid_format", + format: "ipv6", + input: payload.value, + inst, + continue: !def.abort + }); + } + }; +}); +var $ZodMAC = /* @__PURE__ */ $constructor("$ZodMAC", (inst, def) => { + def.pattern ?? (def.pattern = mac(def.delimiter)); + $ZodStringFormat.init(inst, def); +}); +var $ZodCIDRv4 = /* @__PURE__ */ $constructor("$ZodCIDRv4", (inst, def) => { + def.pattern ?? (def.pattern = cidrv4); + $ZodStringFormat.init(inst, def); +}); +function isValidCIDRv6(value) { + const parts = value.split("/"); + if (parts.length !== 2) + return false; + const [address, prefix] = parts; + if (!prefix) + return false; + const prefixNum = Number(prefix); + if (`${prefixNum}` !== prefix) + return false; + if (prefixNum < 0 || prefixNum > 128) + return false; + return isValidIPv6(address); +} +__name(isValidCIDRv6, "isValidCIDRv6"); +var $ZodCIDRv6 = /* @__PURE__ */ $constructor("$ZodCIDRv6", (inst, def) => { + def.pattern ?? (def.pattern = cidrv6); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (!isValidCIDRv6(payload.value)) { + payload.issues.push({ + code: "invalid_format", + format: "cidrv6", + input: payload.value, + inst, + continue: !def.abort + }); + } + }; +}); +function isValidBase64(data) { + if (data === "") + return true; + if (/\s/.test(data)) + return false; + if (data.length % 4 !== 0) + return false; + try { + atob(data); + return true; + } catch { + return false; + } +} +__name(isValidBase64, "isValidBase64"); +var base64Charset = /^[0-9a-zA-Z+/]*={0,2}$/; +var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => { + def.pattern ?? (def.pattern = base64Charset); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (isValidBase64(payload.value)) + return; + payload.issues.push({ + code: "invalid_format", + format: "base64", + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var base64urlCharset = /^[A-Za-z0-9_-]*$/; +function isValidBase64URL(data) { + if (!base64urlCharset.test(data)) + return false; + const base643 = data.replace(/[-_]/g, (c5) => c5 === "-" ? "+" : "/"); + const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "="); + return isValidBase64(padded); +} +__name(isValidBase64URL, "isValidBase64URL"); +var $ZodBase64URL = /* @__PURE__ */ $constructor("$ZodBase64URL", (inst, def) => { + def.pattern ?? (def.pattern = base64urlCharset); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (isValidBase64URL(payload.value)) + return; + payload.issues.push({ + code: "invalid_format", + format: "base64url", + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodE164 = /* @__PURE__ */ $constructor("$ZodE164", (inst, def) => { + def.pattern ?? (def.pattern = e164); + $ZodStringFormat.init(inst, def); +}); +var CC_SANITIZE = /[- ]/g; +function isLuhnAlgo(digits) { + let length = digits.length; + let bit = 1; + let sum = 0; + while (length) { + const value = digits.charCodeAt(--length) - 48; + bit ^= 1; + sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value] : value; + } + return sum % 10 === 0; +} +__name(isLuhnAlgo, "isLuhnAlgo"); +function isValidCreditCard(input2) { + if (!creditCard.test(input2)) + return false; + return isLuhnAlgo(input2.replace(CC_SANITIZE, "")); +} +__name(isValidCreditCard, "isValidCreditCard"); +var $ZodCreditCard = /* @__PURE__ */ $constructor("$ZodCreditCard", (inst, def) => { + def.pattern ?? (def.pattern = creditCard); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (isValidCreditCard(payload.value)) + return; + payload.issues.push({ + code: "invalid_format", + format: "credit_card", + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +function isIso7064Mod97(iban3) { + let remainder = 0; + const len = iban3.length; + for (let i5 = 4; i5 < len; i5++) { + const code = iban3.charCodeAt(i5); + remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97; + } + for (let i5 = 0; i5 < 4; i5++) { + const code = iban3.charCodeAt(i5); + remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97; + } + return remainder === 1; +} +__name(isIso7064Mod97, "isIso7064Mod97"); +function isValidIBAN(input2) { + if (!iban.test(input2)) + return false; + return isIso7064Mod97(input2); +} +__name(isValidIBAN, "isValidIBAN"); +var $ZodIBAN = /* @__PURE__ */ $constructor("$ZodIBAN", (inst, def) => { + def.pattern ?? (def.pattern = iban); + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (isValidIBAN(payload.value)) + return; + payload.issues.push({ + code: "invalid_format", + format: "iban", + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +function isValidJWT(token, algorithm = null) { + try { + const tokensParts = token.split("."); + if (tokensParts.length !== 3) + return false; + const [header] = tokensParts; + if (!header) + return false; + const parsedHeader = JSON.parse(atob(header)); + if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT") + return false; + if (!parsedHeader.alg) + return false; + if (algorithm && (!("alg" in parsedHeader) || parsedHeader.alg !== algorithm)) + return false; + return true; + } catch { + return false; + } +} +__name(isValidJWT, "isValidJWT"); +var $ZodJWT = /* @__PURE__ */ $constructor("$ZodJWT", (inst, def) => { + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (isValidJWT(payload.value, def.alg)) + return; + payload.issues.push({ + code: "invalid_format", + format: "jwt", + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodCustomStringFormat = /* @__PURE__ */ $constructor("$ZodCustomStringFormat", (inst, def) => { + $ZodStringFormat.init(inst, def); + inst._zod.check = (payload) => { + if (def.fn(payload.value)) + return; + payload.issues.push({ + code: "invalid_format", + format: def.format, + input: payload.value, + inst, + continue: !def.abort + }); + }; +}); +var $ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = number; + inst._zod.parse = (payload, _ctx) => { + if (def.coerce) + try { + payload.value = Number(payload.value); + } catch (_) { + } + const input2 = payload.value; + if (typeof input2 === "number" && !Number.isNaN(input2) && Number.isFinite(input2)) { + return payload; + } + const received = typeof input2 === "number" ? Number.isNaN(input2) ? "NaN" : !Number.isFinite(input2) ? String(input2) : void 0 : void 0; + payload.issues.push({ + expected: "number", + code: "invalid_type", + input: input2, + inst, + ...received ? { received } : {} + }); + return payload; + }; +}); +var $ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumberFormat", (inst, def) => { + $ZodCheckNumberFormat.init(inst, def); + $ZodNumber.init(inst, def); +}); +var $ZodBoolean = /* @__PURE__ */ $constructor("$ZodBoolean", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = boolean; + inst._zod.parse = (payload, _ctx) => { + if (def.coerce) + try { + payload.value = Boolean(payload.value); + } catch (_) { + } + const input2 = payload.value; + if (typeof input2 === "boolean") + return payload; + payload.issues.push({ + expected: "boolean", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodBigInt = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = bigint; + inst._zod.parse = (payload, _ctx) => { + if (def.coerce) + try { + payload.value = BigInt(payload.value); + } catch (_) { + } + if (typeof payload.value === "bigint") + return payload; + payload.issues.push({ + expected: "bigint", + code: "invalid_type", + input: payload.value, + inst + }); + return payload; + }; +}); +var $ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigIntFormat", (inst, def) => { + $ZodCheckBigIntFormat.init(inst, def); + $ZodBigInt.init(inst, def); +}); +var $ZodSymbol = /* @__PURE__ */ $constructor("$ZodSymbol", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (typeof input2 === "symbol") + return payload; + payload.issues.push({ + expected: "symbol", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodUndefined = /* @__PURE__ */ $constructor("$ZodUndefined", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = _undefined; + inst._zod.values = /* @__PURE__ */ new Set([void 0]); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (typeof input2 === "undefined") + return payload; + payload.issues.push({ + expected: "undefined", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodNull = /* @__PURE__ */ $constructor("$ZodNull", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.pattern = _null; + inst._zod.values = /* @__PURE__ */ new Set([null]); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (input2 === null) + return payload; + payload.issues.push({ + expected: "null", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodAny = /* @__PURE__ */ $constructor("$ZodAny", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload) => payload; +}); +var $ZodUnknown = /* @__PURE__ */ $constructor("$ZodUnknown", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload) => payload; +}); +var $ZodNever = /* @__PURE__ */ $constructor("$ZodNever", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + payload.issues.push({ + expected: "never", + code: "invalid_type", + input: payload.value, + inst + }); + return payload; + }; +}); +var $ZodVoid = /* @__PURE__ */ $constructor("$ZodVoid", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (typeof input2 === "undefined") + return payload; + payload.issues.push({ + expected: "void", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + if (def.coerce) { + try { + payload.value = new Date(payload.value); + } catch (_err) { + } + } + const input2 = payload.value; + const isDate = input2 instanceof Date; + const isValidDate = isDate && !Number.isNaN(input2.getTime()); + if (isValidDate) + return payload; + payload.issues.push({ + expected: "date", + code: "invalid_type", + input: input2, + ...isDate ? { received: "Invalid Date" } : {}, + inst + }); + return payload; + }; +}); +function capSize(inst, size) { + const caps = sizeCaps(inst._zod.def.checks); + if (!caps.length) + return; + const cap = Math.min(...caps.map((c5) => c5[0])); + const parse4 = inst._zod.parse; + inst._zod.parse = (payload, ctx) => { + const n3 = size(payload.value); + if (n3 > cap && !ctx?.skipChecks && ctx?.direction !== "backward") { + for (const [max, ch] of sizeCaps(inst._zod.def.checks)) { + if (n3 > max && ch._zod.def.when(payload)) { + const start = payload.issues.length; + ch._zod.check(payload); + payload.issues[start].continue = false; + attachSchema(payload.issues, start, inst); + return payload; + } + } + } + return parse4(payload, ctx); + }; +} +__name(capSize, "capSize"); +var arraySize = /* @__PURE__ */ __name((input2) => Array.isArray(input2) ? input2.length : -1, "arraySize"); +var mapSize = /* @__PURE__ */ __name((input2) => input2 instanceof Map ? input2.size : -1, "mapSize"); +var setSize = /* @__PURE__ */ __name((input2) => input2 instanceof Set ? input2.size : -1, "setSize"); +function handleArrayResult(result, final, index) { + if (result.issues.length) { + final.issues.push(...prefixIssues(index, result.issues)); + } + final.value[index] = result.value; +} +__name(handleArrayResult, "handleArrayResult"); +var $ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => { + $ZodType.init(inst, def); + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!Array.isArray(input2)) { + payload.issues.push({ + expected: "array", + code: "invalid_type", + input: input2, + inst + }); + return payload; + } + payload.value = memo2 ? memo2.alloc(inst, payload, Array(input2.length), ctx) : Array(input2.length); + const proms = []; + const abortEarly = ctx?.abortEarly; + for (let i5 = 0; i5 < input2.length; i5++) { + const item = input2[i5]; + const result = def.element._zod.run({ + value: item, + issues: [] + }, ctx); + if (result instanceof Promise) { + proms.push(result.then((result2) => handleArrayResult(result2, payload, i5))); + } else { + handleArrayResult(result, payload, i5); + if (abortEarly && result.issues.length !== 0 && aborted(result)) + break; + } + } + if (proms.length) { + return Promise.all(proms).then(() => payload); + } + return payload; + }; + capSize(inst, arraySize); +}); +function handlePropertyResult(result, final, key, input2, optin, optout) { + const isPresent = key in input2; + const isOptionalOut = optout === "optional"; + if (!isPresent && isOptionalOut && optin === "optional") { + return; + } + if (result.issues.length) { + if (optin !== void 0 && isOptionalOut && !isPresent) { + return; + } + final.issues.push(...prefixIssues(key, result.issues)); + } + if (!isPresent && optin === void 0) { + if (!result.issues.length) { + final.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: void 0, + path: [key] + }); + } + return; + } + if (result.value === void 0) { + if (isPresent || optin === "defaulted" && !isOptionalOut) { + final.value[key] = void 0; + } + } else { + final.value[key] = result.value; + } +} +__name(handlePropertyResult, "handlePropertyResult"); +var NO_SYMBOL_KEYS = []; +function normalizeDef(def) { + const keys = Object.keys(def.shape); + const ownSymbols = Object.getOwnPropertySymbols(def.shape); + const symbolKeys = ownSymbols.length ? ownSymbols : NO_SYMBOL_KEYS; + const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys; + for (const k5 of allKeys) { + if (!def.shape?.[k5]?._zod?.traits?.has("$ZodType")) { + throw new Error(`Invalid element at key "${String(k5)}": expected a Zod schema`); + } + } + const okeys = optionalKeys(def.shape); + return { + ...def, + allKeys, + symbolKeys, + // string-only: handleCatchall matches it against `for...in`, which never yields a symbol + keySet: new Set(keys), + numKeys: keys.length, + optionalKeys: new Set(okeys) + }; +} +__name(normalizeDef, "normalizeDef"); +function handleCatchall(proms, input2, payload, ctx, def, inst, abortEarly) { + const unrecognized = []; + const keySet = def.keySet; + const _catchall = def.catchall._zod; + const t = _catchall.def.type; + const optin = _catchall.optin; + const optout = _catchall.optout; + let seen = 0; + for (const key in input2) { + if (abortEarly && payload.issues.length !== seen) { + if (aborted(payload, seen)) + break; + seen = payload.issues.length; + } + if (keySet.has(key)) + continue; + if (key === "__proto__") { + if (t === "never") + unrecognized.push(key); + continue; + } + if (t === "never") { + unrecognized.push(key); + continue; + } + const r5 = _catchall.run({ value: input2[key], issues: [] }, ctx); + if (r5 instanceof Promise) { + proms.push(r5.then((r6) => handlePropertyResult(r6, payload, key, input2, optin, optout))); + } else { + handlePropertyResult(r5, payload, key, input2, optin, optout); + } + } + if (unrecognized.length) { + payload.issues.push({ + code: "unrecognized_keys", + keys: unrecognized, + input: input2, + inst, + // Describes the shape of the input, not the validity of the parsed value, so it never aborts. The parse still fails; the schema's own checks just get to run first, and an enclosing intersection can reconcile the key against a sibling operand. + continue: true + }); + } + if (!proms.length) + return payload; + return Promise.all(proms).then(() => { + return payload; + }); +} +__name(handleCatchall, "handleCatchall"); +var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => { + $ZodType.init(inst, def); + const desc = Object.getOwnPropertyDescriptor(def, "shape"); + const sh = desc?.get ? desc.get.raw : def.shape ?? {}; + if (sh) { + const get2 = /* @__PURE__ */ __name(() => { + const newSh = { ...sh }; + Object.defineProperty(def, "shape", { value: newSh }); + get2.raw = newSh; + return newSh; + }, "get"); + get2.raw = sh; + Object.defineProperty(def, "shape", { get: get2 }); + } + const _normalized = cached(() => normalizeDef(def)); + defineLazyInternal(inst, "propValues", (zod) => { + const shape = zod.def.shape; + const propValues = {}; + for (const key in shape) { + const field = shape[key]._zod; + if (field.values) { + if (!Object.prototype.hasOwnProperty.call(propValues, key)) { + assignProp(propValues, key, /* @__PURE__ */ new Set()); + } + for (const v of field.values) + propValues[key].add(v); + if (field.optin !== void 0) + propValues[key].add(void 0); + } + } + return propValues; + }); + const isObject2 = isObject; + const catchall = def.catchall; + let value; + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + value ?? (value = _normalized.value); + const input2 = payload.value; + if (!isObject2(input2)) { + payload.issues.push({ + expected: "object", + code: "invalid_type", + input: input2, + inst + }); + return payload; + } + payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {}; + const proms = []; + const shape = value.shape; + const abortEarly = ctx?.abortEarly; + let seen = payload.issues.length; + for (const key of value.allKeys) { + if (abortEarly && payload.issues.length !== seen) { + if (aborted(payload, seen)) + break; + seen = payload.issues.length; + } + if (key === "__proto__") + continue; + const el = shape[key]; + const optin = el._zod.optin; + const optout = el._zod.optout; + const r5 = el._zod.run({ value: input2[key], issues: [] }, ctx); + if (r5 instanceof Promise) { + proms.push(r5.then((r6) => handlePropertyResult(r6, payload, key, input2, optin, optout))); + } else { + handlePropertyResult(r5, payload, key, input2, optin, optout); + } + } + if (!catchall) { + return proms.length ? Promise.all(proms).then(() => payload) : payload; + } + return handleCatchall(proms, input2, payload, ctx, _normalized.value, inst, abortEarly === true); + }; +}); +var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => { + $ZodObject.init(inst, def); + const superParse = inst._zod.parse; + const _normalized = cached(() => normalizeDef(def)); + const memo2 = globalConfig.memoizer; + const generateFastpass = /* @__PURE__ */ __name((shape) => { + const normalized = _normalized.value; + const syms = normalized.symbolKeys; + const doc = new Doc(["payload", "ctx"], { shape, inst, memo: memo2, syms }); + const parseStr = /* @__PURE__ */ __name((k5) => `shape[${k5}]._zod.run({ value: input[${k5}], issues: [] }, ctx)`, "parseStr"); + const prefixStr = /* @__PURE__ */ __name((id, k5) => ` + let ${id}_ab = false; + for (let i = 0; i < ${id}.issues.length; i++) { + const iss = ${id}.issues[i]; + iss.path = iss.path ? [${k5}, ...iss.path] : [${k5}]; + payload.issues.push(iss); + if (iss.continue !== true) ${id}_ab = true; + } + if (${id}_ab && ctx && ctx.abortEarly) { + payload.value = newResult; + return payload; + }`, "prefixStr"); + doc.write(`const input = payload.value;`); + const ids = /* @__PURE__ */ Object.create(null); + let counter = 0; + for (const key of normalized.allKeys) { + ids[key] = `key_${counter++}`; + } + doc.write(memo2 ? `const newResult = memo.alloc(inst, payload, {}, ctx);` : `const newResult = {};`); + for (const key of normalized.allKeys) { + if (key === "__proto__") + continue; + const id = ids[key]; + const k5 = typeof key === "symbol" ? `syms[${syms.indexOf(key)}]` : esc(key); + const isPresent = `${k5} in input`; + const schema2 = shape[key]; + const optin = schema2?._zod?.optin; + const isOptionalIn = optin !== void 0; + const isOptionalOut = schema2?._zod?.optout === "optional"; + doc.write(`const ${id} = ${parseStr(k5)};`); + if (isOptionalIn && isOptionalOut) { + const assign = optin === "optional" ? `${id}_present` : `${id}.value !== undefined || ${id}_present`; + doc.write(` + const ${id}_present = ${isPresent}; + if (!${id}.issues.length || ${id}_present) { + if (${id}.issues.length) {${prefixStr(id, k5)} + } + + if (${assign}) { + newResult[${k5}] = ${id}.value; + } + } + + `); + } else if (!isOptionalIn) { + doc.write(` + const ${id}_present = ${isPresent}; + if (${id}.issues.length) {${prefixStr(id, k5)} + } + if (!${id}_present && !${id}.issues.length) { + payload.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: undefined, + path: [${k5}] + }); + if (ctx && ctx.abortEarly) { + payload.value = newResult; + return payload; + } + } + + if (${id}_present) { + newResult[${k5}] = ${id}.value; + } + + `); + } else { + doc.write(` + if (${id}.issues.length) {${prefixStr(id, k5)} + } + `); + if (optin === "defaulted") { + doc.write(`newResult[${k5}] = ${id}.value;`); + } else { + doc.write(` + if (${id}.value !== undefined || ${isPresent}) { + newResult[${k5}] = ${id}.value; + } + `); + } + } + } + doc.write(`payload.value = newResult;`); + doc.write(`return payload;`); + return doc.compile(); + }, "generateFastpass"); + let fastpass; + const isObject2 = isObject; + const jit = !globalConfig.jitless; + const allowsEval2 = allowsEval; + const fastEnabled = jit && allowsEval2.value; + const catchall = def.catchall; + let value; + inst._zod.parse = (payload, ctx) => { + value ?? (value = _normalized.value); + const input2 = payload.value; + if (!isObject2(input2)) { + payload.issues.push({ + expected: "object", + code: "invalid_type", + input: input2, + inst + }); + return payload; + } + if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) { + if (!fastpass) + fastpass = generateFastpass(def.shape); + payload = fastpass(payload, ctx); + if (!catchall) + return payload; + return handleCatchall([], input2, payload, ctx, value, inst, ctx?.abortEarly === true); + } + return superParse(payload, ctx); + }; +}); +function handleUnionResults(results, final, inst, ctx) { + for (const result of results) { + if (result.issues.length === 0) { + final.value = result.value; + return final; + } + } + const nonaborted = results.filter((r5) => !aborted(r5)); + if (nonaborted.length === 1) { + final.value = nonaborted[0].value; + return nonaborted[0]; + } + final.issues.push({ + code: "invalid_union", + input: final.value, + inst, + errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config()))) + }); + return final; +} +__name(handleUnionResults, "handleUnionResults"); +var $ZodUnion = /* @__PURE__ */ $constructor("$ZodUnion", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "optin", (zod) => zod.def.options.some((o3) => o3._zod.optin === "defaulted") ? "defaulted" : zod.def.options.some((o3) => o3._zod.optin !== void 0) ? "optional" : void 0); + defineLazyInternal(inst, "optout", (zod) => zod.def.options.some((o3) => o3._zod.optout === "optional") ? "optional" : void 0); + defineLazyInternal(inst, "values", (zod) => { + if (zod.def.options.every((o3) => o3._zod.values)) { + return new Set(zod.def.options.flatMap((option) => Array.from(option._zod.values))); + } + return void 0; + }); + defineLazyInternal(inst, "pattern", (zod) => { + if (zod.def.options.every((o3) => o3._zod.pattern)) { + const patterns = zod.def.options.map((o3) => o3._zod.pattern); + return new RegExp(`^(${patterns.map((p3) => cleanRegex(p3.source)).join("|")})$`); + } + return void 0; + }); + const first = def.options.length === 1 ? def.options[0]._zod.run : null; + inst._zod.parse = (payload, ctx) => { + if (first) { + return first(payload, ctx); + } + let async = false; + const results = []; + for (const option of def.options) { + const result = option._zod.run({ + value: payload.value, + issues: [] + }, ctx); + if (result instanceof Promise) { + results.push(result); + async = true; + } else { + if (result.issues.length === 0) + return result; + results.push(result); + } + } + if (!async) + return handleUnionResults(results, payload, inst, ctx); + return Promise.all(results).then((results2) => { + return handleUnionResults(results2, payload, inst, ctx); + }); + }; +}); +function handleExclusiveUnionResults(results, final, inst, ctx) { + const matches = []; + for (let i5 = 0; i5 < results.length; i5++) { + if (results[i5].issues.length === 0) + matches.push(i5); + } + if (matches.length === 1) { + final.value = results[matches[0]].value; + return final; + } + if (matches.length === 0) { + final.issues.push({ + code: "invalid_union", + input: final.value, + inst, + errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config()))) + }); + } else { + final.issues.push({ + code: "invalid_union", + input: final.value, + inst, + errors: [], + inclusive: false, + matches + }); + } + return final; +} +__name(handleExclusiveUnionResults, "handleExclusiveUnionResults"); +var $ZodXor = /* @__PURE__ */ $constructor("$ZodXor", (inst, def) => { + $ZodUnion.init(inst, def); + def.inclusive = false; + const first = def.options.length === 1 ? def.options[0]._zod.run : null; + inst._zod.parse = (payload, ctx) => { + if (first) { + return first(payload, ctx); + } + let async = false; + const results = []; + for (const option of def.options) { + const result = option._zod.run({ + value: payload.value, + issues: [] + }, ctx); + if (result instanceof Promise) { + results.push(result); + async = true; + } else { + results.push(result); + } + } + if (!async) + return handleExclusiveUnionResults(results, payload, inst, ctx); + return Promise.all(results).then((results2) => { + return handleExclusiveUnionResults(results2, payload, inst, ctx); + }); + }; +}); +function getDiscriminatedOption(union2, value) { + const internals = union2._zod; + let map2 = internals.bag.optionsMap; + if (!map2) { + map2 = discriminatorMap(internals.def); + internals.bag.optionsMap = map2; + } + const option = map2.get(value); + if (option === null) + throw new Error(`Ambiguous discriminator value "${String(value)}"`); + return option; +} +__name(getDiscriminatedOption, "getDiscriminatedOption"); +function discriminatorMap(def) { + const map2 = /* @__PURE__ */ new Map(); + for (const option of def.options) { + const values = option._zod.propValues?.[def.discriminator]; + if (!values || values.size === 0) + throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`); + for (const value of values) { + if (map2.has(value)) { + if (value !== void 0) + throw new Error(`Duplicate discriminator value "${String(value)}"`); + map2.set(value, null); + } else { + map2.set(value, option); + } + } + } + return map2; +} +__name(discriminatorMap, "discriminatorMap"); +var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnion", (inst, def) => { + def.inclusive = false; + $ZodUnion.init(inst, def); + const _super = inst._zod.parse; + defineLazyInternal(inst, "propValues", (zod) => { + const propValues = {}; + let undefinedCount = 0; + for (const option of zod.def.options) { + const pv = option._zod.propValues; + if (!pv || Object.keys(pv).length === 0) + throw new Error(`Invalid discriminated union option at index "${zod.def.options.indexOf(option)}"`); + if (pv[zod.def.discriminator]?.has(void 0)) + undefinedCount++; + for (const [k5, v] of Object.entries(pv)) { + if (!Object.prototype.hasOwnProperty.call(propValues, k5)) { + assignProp(propValues, k5, /* @__PURE__ */ new Set()); + } + for (const val of v) { + propValues[k5].add(val); + } + } + } + if (!zod.def.unionFallback && undefinedCount > 1) + propValues[zod.def.discriminator]?.delete(void 0); + return propValues; + }); + def.options.forEach((option, i5) => { + const propShape = rawShape(option._zod.def); + if (propShape && !Object.prototype.hasOwnProperty.call(propShape, def.discriminator)) { + throw new Error(`Invalid discriminated union option at index "${i5}"`); + } + }); + const disc = cached(() => discriminatorMap(def)); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!isObject(input2)) { + payload.issues.push({ + code: "invalid_type", + expected: "object", + input: input2, + inst + }); + return payload; + } + const value = input2?.[def.discriminator]; + const opt = disc.value.get(value); + if (opt && (value !== void 0 || ctx.direction !== "backward")) { + return opt._zod.run(payload, ctx); + } + if (def.unionFallback || ctx.direction === "backward") { + return _super(payload, ctx); + } + payload.issues.push({ + code: "invalid_union", + errors: [], + note: "No matching discriminator", + discriminator: def.discriminator, + options: Array.from(disc.value.keys()).filter((value2) => disc.value.get(value2) !== null), + input: input2, + path: [def.discriminator], + inst + }); + return payload; + }; +}); +var $ZodIntersection = /* @__PURE__ */ $constructor("$ZodIntersection", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + const left = def.left._zod.run({ value: input2, issues: [] }, ctx); + const right = def.right._zod.run({ value: input2, issues: [] }, ctx); + const async = left instanceof Promise || right instanceof Promise; + if (async) { + return Promise.all([left, right]).then(([left2, right2]) => { + return handleIntersectionResults(payload, left2, right2); + }); + } + return handleIntersectionResults(payload, left, right); + }; +}); +function mergeValues(a5, b5) { + if (a5 === b5) { + return { valid: true, data: a5 }; + } + if (a5 instanceof Date && b5 instanceof Date && +a5 === +b5) { + return { valid: true, data: a5 }; + } + if (isPlainObject(a5) && isPlainObject(b5)) { + const bKeys = Object.keys(b5); + const sharedKeys = Object.keys(a5).filter((key) => bKeys.indexOf(key) !== -1); + const newObj = { ...a5, ...b5 }; + if (Object.prototype.hasOwnProperty.call(newObj, "__proto__")) + delete newObj.__proto__; + for (const key of sharedKeys) { + if (key === "__proto__") + continue; + const sharedValue = mergeValues(a5[key], b5[key]); + if (!sharedValue.valid) { + return { + valid: false, + mergeErrorPath: [key, ...sharedValue.mergeErrorPath] + }; + } + newObj[key] = sharedValue.data; + } + return { valid: true, data: newObj }; + } + if (Array.isArray(a5) && Array.isArray(b5)) { + if (a5.length !== b5.length) { + return { valid: false, mergeErrorPath: [] }; + } + const newArray = []; + for (let index = 0; index < a5.length; index++) { + const itemA = a5[index]; + const itemB = b5[index]; + const sharedValue = mergeValues(itemA, itemB); + if (!sharedValue.valid) { + return { + valid: false, + mergeErrorPath: [index, ...sharedValue.mergeErrorPath] + }; + } + newArray.push(sharedValue.data); + } + return { valid: true, data: newArray }; + } + return { valid: false, mergeErrorPath: [] }; +} +__name(mergeValues, "mergeValues"); +function handleIntersectionResults(result, left, right) { + const unrecKeys = /* @__PURE__ */ new Map(); + let unrecIssue; + const keyIssues = /* @__PURE__ */ new Map(); + const collect = /* @__PURE__ */ __name((iss, side) => { + let keys; + if (iss.code === "unrecognized_keys" && !iss.path?.length) { + unrecIssue ?? (unrecIssue = iss); + keys = iss.keys; + } else if (iss.code === "invalid_key" && iss.origin === "record" && iss.path?.length === 1) { + const k5 = String(iss.path[0]); + if (!keyIssues.has(k5)) + keyIssues.set(k5, iss); + keys = [k5]; + } else { + return false; + } + for (const k5 of keys) { + if (!unrecKeys.has(k5)) + unrecKeys.set(k5, {}); + unrecKeys.get(k5)[side] = true; + } + return true; + }, "collect"); + for (const iss of left.issues) { + if (!collect(iss, "l")) + result.issues.push(iss); + } + for (const iss of right.issues) { + if (!collect(iss, "r")) + result.issues.push(iss); + } + const bothKeys = [...unrecKeys].filter(([, f5]) => f5.l && f5.r).map(([k5]) => k5); + if (bothKeys.length) { + const aggregated = unrecIssue ? bothKeys.filter((k5) => unrecIssue.keys.includes(k5)) : []; + if (aggregated.length) + result.issues.push({ ...unrecIssue, keys: aggregated }); + for (const k5 of bothKeys) { + if (!aggregated.includes(k5) && keyIssues.has(k5)) + result.issues.push(keyIssues.get(k5)); + } + } + const merged = mergeValues(left.value, right.value); + if (!merged.valid) { + if (aborted(result)) + return result; + throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(merged.mergeErrorPath)}`); + } + result.value = merged.data; + return result; +} +__name(handleIntersectionResults, "handleIntersectionResults"); +var $ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => { + $ZodType.init(inst, def); + const items = def.items; + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!Array.isArray(input2)) { + payload.issues.push({ + input: input2, + inst, + expected: "tuple", + code: "invalid_type" + }); + return payload; + } + payload.value = memo2 ? memo2.alloc(inst, payload, [], ctx) : []; + const proms = []; + const optinStart = getTupleOptStart(items, "optin"); + const optoutStart = getTupleOptStart(items, "optout"); + if (!def.rest) { + if (input2.length < optinStart) { + payload.issues.push({ + code: "too_small", + minimum: optinStart, + inclusive: true, + input: input2, + inst, + origin: "array" + }); + return payload; + } + if (input2.length > items.length) { + payload.issues.push({ + code: "too_big", + maximum: items.length, + inclusive: true, + input: input2, + inst, + origin: "array" + }); + } + } + const itemResults = new Array(items.length); + const abortEarly = def.rest ? ctx?.abortEarly : void 0; + let itemAborted = false; + for (let i5 = 0; i5 < items.length; i5++) { + const r5 = items[i5]._zod.run({ value: input2[i5], issues: [] }, ctx); + if (r5 instanceof Promise) { + proms.push(r5.then((rr) => { + itemResults[i5] = rr; + })); + } else { + itemResults[i5] = r5; + if (abortEarly && !itemAborted && r5.issues.length) + itemAborted = aborted(r5); + } + } + if (def.rest && !itemAborted) { + let i5 = items.length - 1; + const rest = input2.slice(items.length); + let seen = payload.issues.length; + for (const el of rest) { + if (abortEarly && payload.issues.length !== seen) { + if (aborted(payload, seen)) + break; + seen = payload.issues.length; + } + i5++; + const result = def.rest._zod.run({ value: el, issues: [] }, ctx); + if (result instanceof Promise) { + proms.push(result.then((r5) => handleTupleResult(r5, payload, i5))); + } else { + handleTupleResult(result, payload, i5); + } + } + } + if (proms.length) { + return Promise.all(proms).then(() => handleTupleResults(itemResults, payload, items, input2, optoutStart)); + } + return handleTupleResults(itemResults, payload, items, input2, optoutStart); + }; +}); +function getTupleOptStart(items, key) { + for (let i5 = items.length - 1; i5 >= 0; i5--) { + const omittable = key === "optin" ? items[i5]._zod.optin !== void 0 : items[i5]._zod.optout === "optional"; + if (!omittable) + return i5 + 1; + } + return 0; +} +__name(getTupleOptStart, "getTupleOptStart"); +function handleTupleResult(result, final, index) { + if (result.issues.length) { + final.issues.push(...prefixIssues(index, result.issues)); + } + final.value[index] = result.value; +} +__name(handleTupleResult, "handleTupleResult"); +function handleTupleResults(itemResults, final, items, input2, optoutStart) { + for (let i5 = 0; i5 < items.length; i5++) { + const r5 = itemResults[i5]; + const isPresent = i5 < input2.length; + if (!isPresent && i5 >= optoutStart && items[i5]._zod.optin === "optional") { + final.value.length = i5; + break; + } + if (r5.issues.length) { + if (!isPresent && i5 >= optoutStart) { + final.value.length = i5; + break; + } + final.issues.push(...prefixIssues(i5, r5.issues)); + } + final.value[i5] = r5.value; + } + for (let i5 = final.value.length - 1; i5 >= input2.length; i5--) { + if (items[i5]._zod.optout === "optional" && final.value[i5] === void 0) { + final.value.length = i5; + } else { + break; + } + } + return final; +} +__name(handleTupleResults, "handleTupleResults"); +var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => { + $ZodType.init(inst, def); + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!isPlainObject(input2)) { + payload.issues.push({ + expected: "record", + code: "invalid_type", + input: input2, + inst + }); + return payload; + } + const proms = []; + const values = def.keyType._zod.values; + if (values && !def.partial) { + payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {}; + const recordKeys = /* @__PURE__ */ new Set(); + for (const key of values) { + if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") { + recordKeys.add(typeof key === "number" ? key.toString() : key); + if (key === "__proto__") + continue; + const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); + if (keyResult instanceof Promise) { + throw new Error("Async schemas not supported in object keys currently"); + } + if (keyResult.issues.length) { + payload.issues.push({ + code: "invalid_key", + origin: "record", + issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())), + input: key, + path: [key], + inst + }); + continue; + } + const outKey = keyResult.value; + if (outKey === "__proto__") + continue; + const result = def.valueType._zod.run({ value: input2[key], issues: [] }, ctx); + if (result instanceof Promise) { + proms.push(result.then((result2) => { + if (result2.issues.length) { + payload.issues.push(...prefixIssues(key, result2.issues)); + } + payload.value[outKey] = result2.value; + })); + } else { + if (result.issues.length) { + payload.issues.push(...prefixIssues(key, result.issues)); + } + payload.value[outKey] = result.value; + } + } + } + let unrecognized; + for (const key in input2) { + if (!recordKeys.has(key)) { + if (def.mode === "loose") { + if (key === "__proto__") + continue; + payload.value[key] = input2[key]; + } else { + unrecognized = unrecognized ?? []; + unrecognized.push(key); + } + } + } + if (unrecognized && unrecognized.length > 0) { + payload.issues.push({ + code: "unrecognized_keys", + input: input2, + inst, + keys: unrecognized, + continue: true + }); + } + } else { + payload.value = memo2 ? memo2.alloc(inst, payload, {}, ctx) : {}; + let unrecognized; + for (const key of Reflect.ownKeys(input2)) { + if (key === "__proto__") + continue; + if (!Object.prototype.propertyIsEnumerable.call(input2, key)) + continue; + let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); + if (keyResult instanceof Promise) { + throw new Error("Async schemas not supported in object keys currently"); + } + const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length; + if (checkNumericKey) { + const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx); + if (retryResult instanceof Promise) { + throw new Error("Async schemas not supported in object keys currently"); + } + if (retryResult.issues.length === 0) { + keyResult = retryResult; + } + } + if (keyResult.issues.length) { + if (def.mode === "loose") { + payload.value[key] = input2[key]; + } else if (values) { + unrecognized = unrecognized ?? []; + unrecognized.push(key); + } else { + payload.issues.push({ + code: "invalid_key", + origin: "record", + issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())), + input: key, + path: [key], + inst + }); + } + continue; + } + const outKey = keyResult.value; + if (outKey === "__proto__") + continue; + const result = def.valueType._zod.run({ value: input2[key], issues: [] }, ctx); + if (result instanceof Promise) { + proms.push(result.then((result2) => { + if (result2.issues.length) { + payload.issues.push(...prefixIssues(key, result2.issues)); + } + payload.value[outKey] = result2.value; + })); + } else { + if (result.issues.length) { + payload.issues.push(...prefixIssues(key, result.issues)); + } + payload.value[outKey] = result.value; + } + } + if (unrecognized && unrecognized.length > 0) { + payload.issues.push({ + code: "unrecognized_keys", + input: input2, + inst, + keys: unrecognized, + continue: true + }); + } + } + if (proms.length) { + return Promise.all(proms).then(() => payload); + } + return payload; + }; +}); +var $ZodMap = /* @__PURE__ */ $constructor("$ZodMap", (inst, def) => { + $ZodType.init(inst, def); + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!(input2 instanceof Map)) { + payload.issues.push({ + expected: "map", + code: "invalid_type", + input: input2, + inst + }); + return payload; + } + const proms = []; + payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Map(), ctx) : /* @__PURE__ */ new Map(); + const abortEarly = ctx?.abortEarly; + let seen = payload.issues.length; + for (const [key, value] of input2) { + if (abortEarly && payload.issues.length !== seen) { + if (aborted(payload, seen)) + break; + seen = payload.issues.length; + } + const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx); + const valueResult = def.valueType._zod.run({ value, issues: [] }, ctx); + if (keyResult instanceof Promise || valueResult instanceof Promise) { + proms.push(Promise.all([keyResult, valueResult]).then(([keyResult2, valueResult2]) => { + handleMapResult(keyResult2, valueResult2, payload, key, input2, inst, ctx); + })); + } else { + handleMapResult(keyResult, valueResult, payload, key, input2, inst, ctx); + } + } + if (proms.length) + return Promise.all(proms).then(() => payload); + return payload; + }; + capSize(inst, mapSize); +}); +function handleMapResult(keyResult, valueResult, final, key, input2, inst, ctx) { + if (keyResult.issues.length) { + if (propertyKeyTypes.has(typeof key)) { + final.issues.push(...prefixIssues(key, keyResult.issues)); + } else { + final.issues.push({ + code: "invalid_key", + origin: "map", + input: input2, + inst, + issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())) + }); + } + } + if (valueResult.issues.length) { + if (propertyKeyTypes.has(typeof key)) { + final.issues.push(...prefixIssues(key, valueResult.issues)); + } else { + final.issues.push({ + origin: "map", + code: "invalid_element", + input: input2, + inst, + key, + issues: valueResult.issues.map((iss) => finalizeIssue(iss, ctx, config())) + }); + } + } + final.value.set(keyResult.value, valueResult.value); +} +__name(handleMapResult, "handleMapResult"); +var $ZodSet = /* @__PURE__ */ $constructor("$ZodSet", (inst, def) => { + $ZodType.init(inst, def); + const memo2 = globalConfig.memoizer; + memo2?.attach(inst); + inst._zod.parse = (payload, ctx) => { + const input2 = payload.value; + if (!(input2 instanceof Set)) { + payload.issues.push({ + input: input2, + inst, + expected: "set", + code: "invalid_type" + }); + return payload; + } + const proms = []; + payload.value = memo2 ? memo2.alloc(inst, payload, /* @__PURE__ */ new Set(), ctx) : /* @__PURE__ */ new Set(); + const abortEarly = ctx?.abortEarly; + let seen = payload.issues.length; + for (const item of input2) { + if (abortEarly && payload.issues.length !== seen) { + if (aborted(payload, seen)) + break; + seen = payload.issues.length; + } + const result = def.valueType._zod.run({ value: item, issues: [] }, ctx); + if (result instanceof Promise) { + proms.push(result.then((result2) => handleSetResult(result2, payload))); + } else + handleSetResult(result, payload); + } + if (proms.length) + return Promise.all(proms).then(() => payload); + return payload; + }; + capSize(inst, setSize); +}); +function handleSetResult(result, final) { + if (result.issues.length) { + final.issues.push(...result.issues); + } + final.value.add(result.value); +} +__name(handleSetResult, "handleSetResult"); +var $ZodEnum = /* @__PURE__ */ $constructor("$ZodEnum", (inst, def) => { + $ZodType.init(inst, def); + const values = getEnumValues(def.entries); + const valuesSet = new Set(values); + inst._zod.values = valuesSet; + defineLazyInternal(inst, "pattern", (zod) => { + const patternValues = getEnumValues(zod.def.entries).filter((k5) => propertyKeyTypes.has(typeof k5)); + return new RegExp(patternValues.length ? `^(${patternValues.map((o3) => escapeRegex(o3.toString())).join("|")})$` : "^[^\\s\\S]$"); + }); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (valuesSet.has(input2)) { + return payload; + } + payload.issues.push({ + code: "invalid_value", + values, + input: input2, + inst + }); + return payload; + }; +}); +var $ZodLiteral = /* @__PURE__ */ $constructor("$ZodLiteral", (inst, def) => { + $ZodType.init(inst, def); + const values = new Set(def.values); + inst._zod.values = values; + defineLazyInternal(inst, "pattern", (zod) => { + const vals = zod.def.values; + return new RegExp(vals.length ? `^(${vals.map((o3) => typeof o3 === "string" ? escapeRegex(o3) : o3 ? escapeRegex(o3.toString()) : String(o3)).join("|")})$` : "^[^\\s\\S]$"); + }); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (values.has(input2)) { + return payload; + } + payload.issues.push({ + code: "invalid_value", + values: def.values, + input: input2, + inst + }); + return payload; + }; +}); +var $ZodFile = /* @__PURE__ */ $constructor("$ZodFile", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + const input2 = payload.value; + if (input2 instanceof File) + return payload; + payload.issues.push({ + expected: "file", + code: "invalid_type", + input: input2, + inst + }); + return payload; + }; +}); +var $ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.optin = "optional"; + globalConfig.memoizer?.guard(inst); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + throw new $ZodEncodeError(inst.constructor.name); + } + const _out = def.transform(payload.value, payload); + if (ctx.async) { + const output2 = _out instanceof Promise ? _out : Promise.resolve(_out); + return output2.then((output3) => { + payload.value = output3; + return payload; + }); + } + if (_out instanceof Promise) { + throw new $ZodAsyncError(); + } + payload.value = _out; + return payload; + }; +}); +function handleOptionalResult(payload, result) { + payload.value = result.issues.length ? void 0 : result.value; + return payload; +} +__name(handleOptionalResult, "handleOptionalResult"); +var $ZodOptional = /* @__PURE__ */ $constructor("$ZodOptional", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional"); + inst._zod.optout = "optional"; + defineLazyInternal(inst, "values", (zod) => { + const values = zod.def.innerType._zod.values; + return values ? /* @__PURE__ */ new Set([...values, void 0]) : void 0; + }); + defineLazyInternal(inst, "pattern", (zod) => { + const pattern = zod.def.innerType._zod.pattern; + return pattern ? new RegExp(`^(${cleanRegex(pattern.source)})?$`) : void 0; + }); + inst._zod.parse = (payload, ctx) => { + if (payload.value === void 0) { + if (def.innerType._zod.optin !== "defaulted") + return payload; + const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx); + if (result instanceof Promise) + return result.then((result2) => handleOptionalResult(payload, result2)); + return handleOptionalResult(payload, result); + } + return def.innerType._zod.run(payload, ctx); + }; +}); +var $ZodExactOptional = /* @__PURE__ */ $constructor("$ZodExactOptional", (inst, def) => { + $ZodOptional.init(inst, def); + defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values); + defineLazyInternal(inst, "pattern", (zod) => zod.def.innerType._zod.pattern); + inst._zod.parse = (payload, ctx) => { + return def.innerType._zod.run(payload, ctx); + }; +}); +var $ZodNullable = /* @__PURE__ */ $constructor("$ZodNullable", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin); + defineLazyInternal(inst, "optout", (zod) => zod.def.innerType._zod.optout); + defineLazyInternal(inst, "pattern", (zod) => { + const pattern = zod.def.innerType._zod.pattern; + return pattern ? new RegExp(`^(${cleanRegex(pattern.source)}|null)$`) : void 0; + }); + defineLazyInternal(inst, "values", (zod) => { + return zod.def.innerType._zod.values ? /* @__PURE__ */ new Set([...zod.def.innerType._zod.values, null]) : void 0; + }); + inst._zod.parse = (payload, ctx) => { + if (payload.value === null) + return payload; + return def.innerType._zod.run(payload, ctx); + }; +}); +var $ZodDefault = /* @__PURE__ */ $constructor("$ZodDefault", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.optin = "defaulted"; + defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + return def.innerType._zod.run(payload, ctx); + } + if (payload.value === void 0) { + payload.value = def.defaultValue; + return payload; + } + const result = def.innerType._zod.run(payload, ctx); + if (result instanceof Promise) { + return result.then((result2) => handleDefaultResult(result2, def)); + } + return handleDefaultResult(result, def); + }; +}); +function handleDefaultResult(payload, def) { + if (payload.value === void 0) { + payload.value = def.defaultValue; + } + return payload; +} +__name(handleDefaultResult, "handleDefaultResult"); +var $ZodPrefault = /* @__PURE__ */ $constructor("$ZodPrefault", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.optin = "defaulted"; + defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + return def.innerType._zod.run(payload, ctx); + } + if (payload.value === void 0) { + payload.value = def.defaultValue; + } + return def.innerType._zod.run(payload, ctx); + }; +}); +var $ZodNonOptional = /* @__PURE__ */ $constructor("$ZodNonOptional", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "values", (zod) => { + const v = zod.def.innerType._zod.values; + return v ? new Set([...v].filter((x) => x !== void 0)) : void 0; + }); + inst._zod.parse = (payload, ctx) => { + const result = def.innerType._zod.run(payload, ctx); + if (result instanceof Promise) { + return result.then((result2) => handleNonOptionalResult(result2, inst)); + } + return handleNonOptionalResult(result, inst); + }; +}); +function handleNonOptionalResult(payload, inst) { + if (!payload.issues.length && payload.value === void 0) { + payload.issues.push({ + code: "invalid_type", + expected: "nonoptional", + input: payload.value, + inst + }); + } + return payload; +} +__name(handleNonOptionalResult, "handleNonOptionalResult"); +var $ZodSuccess = /* @__PURE__ */ $constructor("$ZodSuccess", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + throw new $ZodEncodeError("ZodSuccess"); + } + const result = def.innerType._zod.run(payload, ctx); + if (result instanceof Promise) { + return result.then((result2) => { + payload.value = result2.issues.length === 0; + return payload; + }); + } + payload.value = result.issues.length === 0; + return payload; + }; +}); +function handleCatchResult(payload, result, def, ctx) { + if (!result.issues.length) { + payload.value = result.value; + if (result.memo) + payload.memo = true; + return payload; + } + payload.value = def.catchValue({ + ...result, + value: payload.value, + error: { + issues: result.issues.map((iss) => finalizeIssue(iss, ctx, config())) + }, + input: payload.value + }); + return payload; +} +__name(handleCatchResult, "handleCatchResult"); +var $ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "optin", (zod) => zod.def.innerType._zod.optin === "defaulted" ? "defaulted" : "optional"); + defineLazyInternal(inst, "optout", (zod) => zod.def.innerType._zod.optout); + defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + return def.innerType._zod.run(payload, ctx); + } + const result = def.innerType._zod.run({ value: payload.value, issues: [] }, ctx); + if (result instanceof Promise) { + return result.then((result2) => handleCatchResult(payload, result2, def, ctx)); + } + return handleCatchResult(payload, result, def, ctx); + }; +}); +var $ZodNaN = /* @__PURE__ */ $constructor("$ZodNaN", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, _ctx) => { + if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) { + payload.issues.push({ + input: payload.value, + inst, + expected: "nan", + code: "invalid_type" + }); + return payload; + } + return payload; + }; +}); +var $ZodPipe = /* @__PURE__ */ $constructor("$ZodPipe", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values); + defineLazyInternal(inst, "optin", (zod) => zod.def.in._zod.optin); + defineLazyInternal(inst, "optout", (zod) => zod.def.out._zod.optout); + defineLazyInternal(inst, "propValues", (zod) => zod.def.in._zod.propValues); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + const right = def.out._zod.run(payload, ctx); + if (right instanceof Promise) { + return right.then((right2) => handlePipeResult(right2, def.in, ctx)); + } + return handlePipeResult(right, def.in, ctx); + } + const left = def.in._zod.run(payload, ctx); + if (left instanceof Promise) { + return left.then((left2) => handlePipeResult(left2, def.out, ctx)); + } + return handlePipeResult(left, def.out, ctx); + }; +}); +function handlePipeResult(left, next, ctx) { + if (left.issues.some((iss) => iss.code !== "unrecognized_keys")) { + left.aborted = true; + return left; + } + return next._zod.run({ value: left.value, issues: left.issues }, ctx); +} +__name(handlePipeResult, "handlePipeResult"); +var $ZodCodec = /* @__PURE__ */ $constructor("$ZodCodec", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "values", (zod) => zod.def.in._zod.values); + defineLazyInternal(inst, "optin", (zod) => zod.def.in._zod.optin); + defineLazyInternal(inst, "optout", (zod) => zod.def.out._zod.optout); + defineLazyInternal(inst, "propValues", (zod) => zod.def.in._zod.propValues); + inst._zod.parse = (payload, ctx) => { + const direction = ctx.direction || "forward"; + if (direction === "forward") { + const left = def.in._zod.run(payload, ctx); + if (left instanceof Promise) { + return left.then((left2) => handleCodecAResult(left2, def, ctx)); + } + return handleCodecAResult(left, def, ctx); + } else { + const right = def.out._zod.run(payload, ctx); + if (right instanceof Promise) { + return right.then((right2) => handleCodecAResult(right2, def, ctx)); + } + return handleCodecAResult(right, def, ctx); + } + }; +}); +function handleCodecAResult(result, def, ctx) { + if (result.issues.length) { + result.aborted = true; + return result; + } + const direction = ctx.direction || "forward"; + if (direction === "forward") { + const transformed = def.transform(result.value, result); + if (transformed instanceof Promise) { + return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx)); + } + return handleCodecTxResult(result, transformed, def.out, ctx); + } else { + const transformed = def.reverseTransform(result.value, result); + if (transformed instanceof Promise) { + return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx)); + } + return handleCodecTxResult(result, transformed, def.in, ctx); + } +} +__name(handleCodecAResult, "handleCodecAResult"); +function handleCodecTxResult(left, value, nextSchema, ctx) { + if (left.issues.length) { + left.aborted = true; + return left; + } + return nextSchema._zod.run({ value, issues: left.issues }, ctx); +} +__name(handleCodecTxResult, "handleCodecTxResult"); +var $ZodPreprocess = /* @__PURE__ */ $constructor("$ZodPreprocess", (inst, def) => { + $ZodPipe.init(inst, def); +}); +var $ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => { + $ZodType.init(inst, def); + defineLazyInternal(inst, "propValues", (zod) => zod.def.innerType._zod.propValues); + defineLazyInternal(inst, "values", (zod) => zod.def.innerType._zod.values); + defineLazyInternal(inst, "optin", (zod) => zod.def.innerType?._zod?.optin); + defineLazyInternal(inst, "optout", (zod) => zod.def.innerType?._zod?.optout); + inst._zod.parse = (payload, ctx) => { + if (ctx.direction === "backward") { + return def.innerType._zod.run(payload, ctx); + } + const result = def.innerType._zod.run(payload, ctx); + if (result instanceof Promise) { + return result.then(handleReadonlyResult); + } + return handleReadonlyResult(result); + }; +}); +function handleReadonlyResult(payload) { + if (!payload.memo) + payload.value = Object.freeze(payload.value); + return payload; +} +__name(handleReadonlyResult, "handleReadonlyResult"); +function leafPattern(schema2) { + const def = schema2._zod.def; + let pattern = def.pattern; + let isInt = !!def.format?.includes("int"); + let minimum; + let maximum; + for (const ch of def.checks ?? []) { + const d5 = ch._zod.def; + if (d5.pattern) + pattern = d5.pattern; + isInt || (isInt = !!d5.format?.includes("int")); + const lo = d5.minimum ?? d5.length; + const hi = d5.maximum ?? d5.length; + if (lo !== void 0 && (minimum === void 0 || lo > minimum)) + minimum = lo; + if (hi !== void 0 && (maximum === void 0 || hi < maximum)) + maximum = hi; + } + if (pattern) + return pattern.source; + if (minimum !== void 0 && maximum !== void 0 && minimum > maximum) + return "(?!)"; + if (minimum !== void 0 || maximum !== void 0) + return string({ minimum, maximum }).source; + const own2 = schema2._zod.pattern; + return (isInt && own2 === number ? integer : own2)?.source; +} +__name(leafPattern, "leafPattern"); +function partPattern(schema2) { + const def = schema2._zod.def; + const own2 = schema2._zod.pattern?.source; + const inner = def.innerType ?? schema2._zod.innerType; + if (inner) { + const before = inner._zod.pattern?.source; + const after = partPattern(inner); + if (own2 && before && after && after !== before) { + return own2.replace(cleanRegex(before), () => cleanRegex(after)); + } + return own2; + } + if (def.options) { + const sources = def.options.map(partPattern); + if (sources.every(Boolean)) + return `^(${sources.map((s2) => cleanRegex(s2)).join("|")})$`; + } + return leafPattern(schema2); +} +__name(partPattern, "partPattern"); +var $ZodTemplateLiteral = /* @__PURE__ */ $constructor("$ZodTemplateLiteral", (inst, def) => { + $ZodType.init(inst, def); + const regexParts = []; + for (const part of def.parts) { + if (typeof part === "object" && part !== null) { + const source = partPattern(part); + if (!source) { + throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`); + } + regexParts.push(cleanRegex(source)); + } else if (part === null || primitiveTypes.has(typeof part)) { + regexParts.push(escapeRegex(`${part}`)); + } else { + throw new Error(`Invalid template literal part: ${part}`); + } + } + inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`); + inst._zod.parse = (payload, _ctx) => { + if (typeof payload.value !== "string") { + payload.issues.push({ + input: payload.value, + inst, + expected: "string", + code: "invalid_type" + }); + return payload; + } + inst._zod.pattern.lastIndex = 0; + if (!inst._zod.pattern.test(payload.value)) { + payload.issues.push({ + input: payload.value, + inst, + code: "invalid_format", + format: def.format ?? "template_literal", + pattern: inst._zod.pattern.source + }); + return payload; + } + return payload; + }; +}); +var $ZodFunction = /* @__PURE__ */ $constructor("$ZodFunction", (inst, def) => { + $ZodType.init(inst, def); + Object.defineProperty(inst, "_def", { value: def }); + inst._zod.def = def; + inst.implement = (func) => { + if (typeof func !== "function") { + throw new Error("implement() must be called with a function"); + } + return Object.defineProperty(function(...args) { + const parsedArgs = inst._def.input ? parse(inst._def.input, args) : args; + const result = Reflect.apply(func, this, parsedArgs); + if (inst._def.output) { + return parse(inst._def.output, result); + } + return result; + }, "_zod", { value: inst._zod, enumerable: false }); + }; + inst.implementAsync = (func) => { + if (typeof func !== "function") { + throw new Error("implementAsync() must be called with a function"); + } + return Object.defineProperty(async function(...args) { + const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args; + const result = await Reflect.apply(func, this, parsedArgs); + if (inst._def.output) { + return await parseAsync(inst._def.output, result); + } + return result; + }, "_zod", { value: inst._zod, enumerable: false }); + }; + inst._zod.parse = (payload, _ctx) => { + if (typeof payload.value !== "function") { + payload.issues.push({ + code: "invalid_type", + expected: "function", + input: payload.value, + inst + }); + return payload; + } + const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise"; + if (hasPromiseOutput) { + payload.value = inst.implementAsync(payload.value); + } else { + payload.value = inst.implement(payload.value); + } + return payload; + }; + inst.input = (...args) => { + const F = inst.constructor; + if (Array.isArray(args[0])) { + return new F({ + type: "function", + input: new $ZodTuple({ + type: "tuple", + items: args[0], + rest: args[1] + }), + output: inst._def.output + }); + } + return new F({ + type: "function", + input: args[0], + output: inst._def.output + }); + }; + inst.output = (output2) => { + const F = inst.constructor; + return new F({ + type: "function", + input: inst._def.input, + output: output2 + }); + }; + return inst; +}); +var $ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => { + $ZodType.init(inst, def); + inst._zod.parse = (payload, ctx) => { + return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx)); + }; +}); +var $ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => { + $ZodType.init(inst, def); + defineLazy(inst._zod, "innerType", () => { + const d5 = def; + if (!d5._cachedInner) + d5._cachedInner = def.getter(); + return d5._cachedInner; + }); + defineLazyInternal(inst, "pattern", (zod) => zod.innerType?._zod?.pattern); + defineLazyInternal(inst, "propValues", (zod) => zod.innerType?._zod?.propValues); + defineLazyInternal(inst, "optin", (zod) => zod.innerType?._zod?.optin ?? void 0); + defineLazyInternal(inst, "optout", (zod) => zod.innerType?._zod?.optout ?? void 0); + inst._zod.parse = (payload, ctx) => { + const inner = inst._zod.innerType; + return inner._zod.run(payload, ctx); + }; +}); +var $ZodCustom = /* @__PURE__ */ $constructor("$ZodCustom", (inst, def) => { + $ZodCheck.init(inst, def); + $ZodType.init(inst, def); + inst._zod.parse = (payload, _) => { + return payload; + }; + inst._zod.check = (payload) => { + const input2 = payload.value; + const r5 = def.fn(input2); + if (r5 instanceof Promise) { + return r5.then((r6) => handleRefineResult(r6, payload, input2, inst)); + } + handleRefineResult(r5, payload, input2, inst); + return; + }; +}); +function handleRefineResult(result, payload, input2, inst) { + if (!result) { + const _iss = { + code: "custom", + input: input2, + inst, + // incorporates params.error into issue reporting + path: [...inst._zod.def.path ?? []], + // incorporates params.error into issue reporting + continue: !inst._zod.def.abort + // params: inst._zod.def.params, + }; + if (inst._zod.def.params) + _iss.params = inst._zod.def.params; + payload.issues.push(issue(_iss)); + } +} +__name(handleRefineResult, "handleRefineResult"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/memoizer.js +var $ZodCyclicError = class extends Error { + static { + __name(this, "$ZodCyclicError"); + } + constructor() { + super(`Cannot parse a reference cycle that closes through a transform`); + this.name = "ZodCyclicError"; + } +}; +var STATE = "~memo"; +var NO_ISSUES = []; +function isRef(value) { + return value !== null && typeof value === "object"; +} +__name(isRef, "isRef"); +function cloneIssues(issues) { + return issues.map((iss) => iss.path ? { ...iss, path: iss.path.slice() } : { ...iss }); +} +__name(cloneIssues, "cloneIssues"); +var recursive = /* @__PURE__ */ new WeakMap(); +var NONE = 0; +var ASSUMED = 1; +var PROVEN = 2; +function isRecursive(inst, stack, resolve) { + const cached2 = recursive.get(inst); + if (cached2 !== void 0) + return cached2 ? PROVEN : NONE; + if (stack.has(inst)) + return PROVEN; + stack.add(inst); + let result = NONE; + const check2 = /* @__PURE__ */ __name((child) => { + if (result !== PROVEN && child?._zod) { + const answer = isRecursive(child, stack, resolve); + if (answer > result) + result = answer; + } + }, "check"); + const shape = /* @__PURE__ */ __name((sh, spread) => { + let answer = NONE; + for (const key of Reflect.ownKeys(sh)) { + const desc = Object.getOwnPropertyDescriptor(sh, key); + if (spread && !desc.enumerable) + continue; + const child = desc.get ? ASSUMED : desc.value?._zod ? isRecursive(desc.value, stack, resolve) : NONE; + if (child > answer) + answer = child; + } + return answer; + }, "shape"); + const merge2 = /* @__PURE__ */ __name((answer) => { + if (answer > result) + result = answer; + }, "merge"); + const def = inst._zod.def; + const kind = def.type; + switch (kind) { + case "object": { + const raw4 = rawShape(def); + merge2(raw4 ? shape(raw4, true) : ASSUMED); + check2(def.catchall); + break; + } + case "array": + check2(def.element); + break; + case "tuple": + for (const el of def.items) + check2(el); + check2(def.rest); + break; + case "record": + case "map": + check2(def.keyType); + check2(def.valueType); + break; + case "set": + check2(def.valueType); + break; + case "union": + for (const el of def.options) + check2(el); + break; + case "intersection": + check2(def.left); + check2(def.right); + break; + case "optional": + case "nullable": + case "default": + case "prefault": + case "catch": + case "readonly": + case "nonoptional": + case "promise": + case "success": + check2(def.innerType); + break; + case "pipe": + check2(def.in); + check2(def.out); + break; + case "function": + check2(def.input); + check2(def.output); + break; + // `$ZodLazy` caches its inner on the def, so a resolved edge is followed exactly + case "lazy": { + const inner = def._cachedInner ?? (resolve ? inst._zod.innerType : void 0); + merge2(inner ? isRecursive(inner, stack, false) : ASSUMED); + break; + } + // a leaf by choice: `parts` are regex fragments, not data positions + case "template_literal": + // leaves + case "string": + case "number": + case "int": + case "boolean": + case "bigint": + case "symbol": + case "undefined": + case "null": + case "void": + case "never": + case "any": + case "unknown": + case "date": + case "nan": + case "enum": + case "literal": + case "file": + case "transform": + case "custom": + break; + default: { + kind; + for (const key in def) { + const desc = Object.getOwnPropertyDescriptor(def, key); + if (!desc || desc.get) + continue; + const value = desc.value; + if (!value || typeof value !== "object") + continue; + if (value._zod) + check2(value); + else if (Array.isArray(value)) + for (const el of value) + check2(el); + } + } + } + stack.delete(inst); + return settle(inst, result); +} +__name(isRecursive, "isRecursive"); +function settle(inst, answer) { + if (answer !== ASSUMED) + recursive.set(inst, answer === PROVEN); + return answer; +} +__name(settle, "settle"); +function isRecursiveSchema(inst) { + return isRecursive(inst, /* @__PURE__ */ new Set(), true) !== NONE; +} +__name(isRecursiveSchema, "isRecursiveSchema"); +function bucketFor(state2, inst) { + let bucket = state2.buckets.get(inst); + if (!bucket) { + bucket = /* @__PURE__ */ new WeakMap(); + state2.buckets.set(inst, bucket); + } + return bucket; +} +__name(bucketFor, "bucketFor"); +var handoff; +var open = []; +var memo = { + alloc(_inst, payload, empty4) { + const bucket = handoff; + if (!bucket) + return empty4; + handoff = void 0; + const entry = { value: empty4, issues: null }; + bucket.set(payload.value, entry); + open.push(entry); + return empty4; + }, + guard(inst) { + var _a4; + (_a4 = inst._zod).deferred ?? (_a4.deferred = []); + inst._zod.deferred.push(() => { + const base = inst._zod.parse; + const wrapped = /* @__PURE__ */ __name((payload, ctx) => { + if (ctx.direction !== "backward" && isBackEdge(ctx, payload.value)) + throw new $ZodCyclicError(); + return base(payload, ctx); + }, "wrapped"); + inst._zod.parse = wrapped; + if (inst._zod.run === base) + inst._zod.run = wrapped; + }); + }, + attach(inst) { + var _a4; + let isRecursiveInst; + let rechecked = false; + let lastCtx; + let lastBucket; + (_a4 = inst._zod).deferred ?? (_a4.deferred = []); + inst._zod.deferred.push(() => { + const base = inst._zod.parse; + const wrapped = /* @__PURE__ */ __name((payload, ctx) => { + if (isRecursiveInst === void 0) { + const walked = isRecursive(inst, /* @__PURE__ */ new Set(), false); + if (walked === NONE) { + inst._zod.parse = base; + if (inst._zod.run === wrapped) + inst._zod.run = base; + return base(payload, ctx); + } + if (walked === PROVEN || rechecked) + isRecursiveInst = true; + else + rechecked = true; + } + const input2 = payload.value; + if (!isRef(input2)) + return base(payload, ctx); + let state2 = ctx[STATE]; + if (!state2) { + state2 = { buckets: /* @__PURE__ */ new WeakMap(), backEdges: void 0 }; + ctx[STATE] = state2; + } + let bucket; + if (lastCtx === ctx) { + bucket = lastBucket; + } else { + bucket = bucketFor(state2, inst); + lastCtx = ctx; + lastBucket = bucket; + } + const hit = bucket.get(input2); + if (hit) { + payload.value = hit.value; + if (hit.issues) { + if (hit.issues.length) + payload.issues.push(...cloneIssues(hit.issues)); + } else { + payload.memo = true; + state2.backEdges ?? (state2.backEdges = /* @__PURE__ */ new WeakSet()); + state2.backEdges.add(hit.value); + } + return payload; + } + handoff = bucket; + const depth = open.length; + const result = base(payload, ctx); + handoff = void 0; + const entry = open.length > depth ? open.pop() : void 0; + if (result instanceof Promise) { + return result.then((r5) => { + if (entry) + entry.issues = r5.issues.length ? cloneIssues(r5.issues) : NO_ISSUES; + return r5; + }); + } + if (entry) + entry.issues = result.issues.length ? cloneIssues(result.issues) : NO_ISSUES; + return result; + }, "wrapped"); + inst._zod.parse = wrapped; + if (inst._zod.run === base) + inst._zod.run = wrapped; + }); + } +}; +function memoizer() { + return memo; +} +__name(memoizer, "memoizer"); +function isBackEdge(ctx, value) { + const backEdges = ctx[STATE]?.backEdges; + return backEdges !== void 0 && isRef(value) && backEdges.has(value); +} +__name(isBackEdge, "isBackEdge"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/index.js +var locales_exports = {}; +__export(locales_exports, { + ar: () => ar_default, + az: () => az_default, + be: () => be_default, + bg: () => bg_default, + bn: () => bn_default, + ca: () => ca_default, + ckb: () => ckb_default, + cs: () => cs_default, + da: () => da_default, + de: () => de_default, + el: () => el_default, + en: () => en_default, + eo: () => eo_default, + es: () => es_default, + fa: () => fa_default, + fi: () => fi_default, + fr: () => fr_default, + frCA: () => fr_CA_default, + gu: () => gu_default, + he: () => he_default, + hi: () => hi_default, + hr: () => hr_default, + hu: () => hu_default, + hy: () => hy_default, + id: () => id_default, + is: () => is_default, + it: () => it_default, + ja: () => ja_default, + ka: () => ka_default, + kh: () => kh_default, + km: () => km_default, + kn: () => kn_default, + ko: () => ko_default, + lt: () => lt_default, + mk: () => mk_default, + ms: () => ms_default, + ne: () => ne_default, + nl: () => nl_default, + nn: () => nn_default, + no: () => no_default, + ota: () => ota_default, + pl: () => pl_default, + ps: () => ps_default, + pt: () => pt_default, + ptBR: () => pt_BR_default, + ro: () => ro_default, + ru: () => ru_default, + sk: () => sk_default, + sl: () => sl_default, + sv: () => sv_default, + ta: () => ta_default, + tg: () => tg_default, + th: () => th_default, + tk: () => tk_default, + tr: () => tr_default, + ua: () => ua_default, + uk: () => uk_default, + ur: () => ur_default, + uz: () => uz_default, + vi: () => vi_default, + yo: () => yo_default, + zhCN: () => zh_CN_default, + zhTW: () => zh_TW_default +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ar.js +var error = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, + file: { unit: "\u0628\u0627\u064A\u062A", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, + array: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, + set: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" }, + map: { unit: "\u0639\u0646\u0635\u0631", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0645\u062F\u062E\u0644", + email: "\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A", + url: "\u0631\u0627\u0628\u0637", + emoji: "\u0625\u064A\u0645\u0648\u062C\u064A", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO", + date: "\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO", + time: "\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO", + duration: "\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO", + ipv4: "\u0639\u0646\u0648\u0627\u0646 IPv4", + ipv6: "\u0639\u0646\u0648\u0627\u0646 IPv6", + mac: "\u0639\u0646\u0648\u0627\u0646 MAC", + cidrv4: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4", + cidrv6: "\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6", + base64: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded", + base64url: "\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded", + json_string: "\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON", + e164: "\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164", + credit_card: "\u0631\u0642\u0645 \u0628\u0637\u0627\u0642\u0629 \u0627\u0644\u0627\u0626\u062A\u0645\u0627\u0646", + currency_code: "\u0631\u0645\u0632 \u0627\u0644\u0639\u0645\u0644\u0629", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0645\u062F\u062E\u0644" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${issue2.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`; + } + return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return ` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"}`; + return `\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${issue2.origin ?? "\u0627\u0644\u0642\u064A\u0645\u0629"} ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${issue2.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${issue2.prefix}"`; + if (_issue.format === "ends_with") + return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`; + } + case "not_multiple_of": + return `\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${issue2.divisor}`; + case "unrecognized_keys": + return `\u0645\u0639\u0631\u0641${issue2.keys.length > 1 ? "\u0627\u062A" : ""} \u063A\u0631\u064A\u0628${issue2.keys.length > 1 ? "\u0629" : ""}: ${joinValues(issue2.keys, "\u060C ")}`; + case "invalid_key": + return `\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`; + case "invalid_union": + return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"; + case "invalid_element": + return `\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${issue2.origin}`; + default: + return "\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"; + } + }; +}, "error"); +function ar_default() { + return { + localeError: error() + }; +} +__name(ar_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/az.js +var error2 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "simvol", verb: "olmal\u0131d\u0131r" }, + file: { unit: "bayt", verb: "olmal\u0131d\u0131r" }, + array: { unit: "element", verb: "olmal\u0131d\u0131r" }, + set: { unit: "element", verb: "olmal\u0131d\u0131r" }, + map: { unit: "element", verb: "olmal\u0131d\u0131r" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "email address", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datetime", + date: "ISO date", + time: "ISO time", + duration: "ISO duration", + ipv4: "IPv4 address", + ipv6: "IPv6 address", + mac: "MAC address", + cidrv4: "IPv4 range", + cidrv6: "IPv6 range", + base64: "base64-encoded string", + base64url: "base64url-encoded string", + json_string: "JSON string", + e164: "E.164 number", + credit_card: "kredit kart\u0131 n\xF6mr\u0259si", + currency_code: "valyuta kodu", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${issue2.expected}, daxil olan ${received}`; + } + return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${expected}, daxil olan ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${stringifyPrimitive(issue2.values[0])}`; + return `Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; + return `\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${issue2.origin ?? "d\u0259y\u0259r"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + return `\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Yanl\u0131\u015F m\u0259tn: "${_issue.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`; + if (_issue.format === "ends_with") + return `Yanl\u0131\u015F m\u0259tn: "${_issue.suffix}" il\u0259 bitm\u0259lidir`; + if (_issue.format === "includes") + return `Yanl\u0131\u015F m\u0259tn: "${_issue.includes}" daxil olmal\u0131d\u0131r`; + if (_issue.format === "regex") + return `Yanl\u0131\u015F m\u0259tn: ${_issue.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`; + return `Yanl\u0131\u015F ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Yanl\u0131\u015F \u0259d\u0259d: ${issue2.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`; + case "unrecognized_keys": + return `Tan\u0131nmayan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`; + case "invalid_union": + return "Yanl\u0131\u015F d\u0259y\u0259r"; + case "invalid_element": + return `${issue2.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`; + default: + return `Yanl\u0131\u015F d\u0259y\u0259r`; + } + }; +}, "error"); +function az_default() { + return { + localeError: error2() + }; +} +__name(az_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/be.js +function getBelarusianPlural(count, one, few, many) { + const absCount = Math.abs(count); + const lastDigit = absCount % 10; + const lastTwoDigits = absCount % 100; + if (lastTwoDigits >= 11 && lastTwoDigits <= 19) { + return many; + } + if (lastDigit === 1) { + return one; + } + if (lastDigit >= 2 && lastDigit <= 4) { + return few; + } + return many; +} +__name(getBelarusianPlural, "getBelarusianPlural"); +var error3 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { + unit: { + one: "\u0441\u0456\u043C\u0432\u0430\u043B", + few: "\u0441\u0456\u043C\u0432\u0430\u043B\u044B", + many: "\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E" + }, + verb: "\u043C\u0435\u0446\u044C" + }, + array: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" + }, + verb: "\u043C\u0435\u0446\u044C" + }, + set: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" + }, + verb: "\u043C\u0435\u0446\u044C" + }, + map: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E" + }, + verb: "\u043C\u0435\u0446\u044C" + }, + file: { + unit: { + one: "\u0431\u0430\u0439\u0442", + few: "\u0431\u0430\u0439\u0442\u044B", + many: "\u0431\u0430\u0439\u0442\u0430\u045E" + }, + verb: "\u043C\u0435\u0446\u044C" + } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0443\u0432\u043E\u0434", + email: "email \u0430\u0434\u0440\u0430\u0441", + url: "URL", + emoji: "\u044D\u043C\u043E\u0434\u0437\u0456", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441", + date: "ISO \u0434\u0430\u0442\u0430", + time: "ISO \u0447\u0430\u0441", + duration: "ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C", + ipv4: "IPv4 \u0430\u0434\u0440\u0430\u0441", + ipv6: "IPv6 \u0430\u0434\u0440\u0430\u0441", + mac: "MAC \u0430\u0434\u0440\u0430\u0441", + cidrv4: "IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D", + cidrv6: "IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D", + base64: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64", + base64url: "\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url", + json_string: "JSON \u0440\u0430\u0434\u043E\u043A", + e164: "\u043D\u0443\u043C\u0430\u0440 E.164", + credit_card: "\u043D\u0443\u043C\u0430\u0440 \u043A\u0440\u044D\u0434\u044B\u0442\u043D\u0430\u0439 \u043A\u0430\u0440\u0442\u044B", + currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0443\u0432\u043E\u0434" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u043B\u0456\u043A", + array: "\u043C\u0430\u0441\u0456\u045E" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${issue2.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`; + } + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`; + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const maxValue = Number(issue2.maximum); + const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); + return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.maximum.toString()} ${unit}`; + } + return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const minValue = Number(issue2.minimum); + const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); + return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${sizing.verb} ${adj}${issue2.minimum.toString()} ${unit}`; + } + return `\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${issue2.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`; + case "unrecognized_keys": + return `\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${issue2.keys.length > 1 ? "\u043A\u043B\u044E\u0447\u044B" : "\u043A\u043B\u044E\u0447"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`; + case "invalid_union": + return "\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"; + case "invalid_element": + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${issue2.origin}`; + default: + return `\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434`; + } + }; +}, "error"); +function be_default() { + return { + localeError: error3() + }; +} +__name(be_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/bg.js +var error4 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, + file: { unit: "\u0431\u0430\u0439\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, + array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, + set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" }, + map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0432\u0445\u043E\u0434", + email: "\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441", + url: "URL", + emoji: "\u0435\u043C\u043E\u0434\u0436\u0438", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0432\u0440\u0435\u043C\u0435", + date: "ISO \u0434\u0430\u0442\u0430", + time: "ISO \u0432\u0440\u0435\u043C\u0435", + duration: "ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442", + ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441", + ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441", + mac: "MAC \u0430\u0434\u0440\u0435\u0441", + cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", + cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", + base64: "base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437", + base64url: "base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437", + json_string: "JSON \u043D\u0438\u0437", + e164: "E.164 \u043D\u043E\u043C\u0435\u0440", + credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0430", + currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0432\u0445\u043E\u0434" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0447\u0438\u0441\u043B\u043E", + array: "\u043C\u0430\u0441\u0438\u0432" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`; + } + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${stringifyPrimitive(issue2.values[0])}`; + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`; + return `\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin ?? "\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${issue2.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_issue.pattern}`; + let invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D"; + if (_issue.format === "emoji") + invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; + if (_issue.format === "datetime") + invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; + if (_issue.format === "date") + invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"; + if (_issue.format === "time") + invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"; + if (_issue.format === "duration") + invalid_adj = "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"; + return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${issue2.divisor}`; + case "unrecognized_keys": + return `\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${issue2.keys.length > 1 ? "\u0438" : ""} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u043E\u0432\u0435" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`; + case "invalid_union": + return "\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"; + case "invalid_element": + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${issue2.origin}`; + default: + return `\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434`; + } + }; +}, "error"); +function bg_default() { + return { + localeError: error4() + }; +} +__name(bg_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/bn.js +var error5 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0985\u0995\u09CD\u09B7\u09B0", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, + file: { unit: "\u09AC\u09BE\u0987\u099F", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, + array: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, + set: { unit: "\u0986\u0987\u099F\u09C7\u09AE", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" }, + map: { unit: "\u098F\u09A8\u09CD\u099F\u09CD\u09B0\u09BF", verb: "\u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0987\u09A8\u09AA\u09C1\u099F", + email: "\u0987\u09AE\u09C7\u0987\u09B2 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", + url: "URL", + emoji: "\u0987\u09AE\u09CB\u099C\u09BF", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u09A4\u09BE\u09B0\u09BF\u0996 \u0993 \u09B8\u09AE\u09AF\u09BC", + date: "ISO \u09A4\u09BE\u09B0\u09BF\u0996", + time: "ISO \u09B8\u09AE\u09AF\u09BC", + duration: "ISO \u09B8\u09AE\u09AF\u09BC\u0995\u09BE\u09B2", + ipv4: "IPv4 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", + ipv6: "IPv6 \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", + mac: "MAC \u09A0\u09BF\u0995\u09BE\u09A8\u09BE", + cidrv4: "IPv4 \u09B0\u09C7\u099E\u09CD\u099C", + cidrv6: "IPv6 \u09B0\u09C7\u099E\u09CD\u099C", + base64: "base64-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", + base64url: "base64url-\u098F\u09A8\u0995\u09CB\u09A1\u09C7\u09A1 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", + json_string: "JSON \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982", + e164: "E.164 \u09A8\u09AE\u09CD\u09AC\u09B0", + credit_card: "\u0995\u09CD\u09B0\u09C7\u09A1\u09BF\u099F \u0995\u09BE\u09B0\u09CD\u09A1 \u09A8\u09AE\u09CD\u09AC\u09B0", + currency_code: "\u09AE\u09C1\u09A6\u09CD\u09B0\u09BE \u0995\u09CB\u09A1", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0987\u09A8\u09AA\u09C1\u099F" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${expected}, \u09AA\u09CD\u09B0\u09BE\u09AA\u09CD\u09A4 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F: \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0985\u09AC\u09C8\u09A7 \u0985\u09AA\u09B6\u09A8: ${joinValues(issue2.values, " | ")} \u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 \u098F\u0995\u099F\u09BF \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u098F\u09B2\u09BF\u09AE\u09C7\u09A8\u09CD\u099F"} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + return `\u0985\u09A8\u09C7\u0995 \u09AC\u09A1\u09BC: ${issue2.origin ?? "\u09AE\u09BE\u09A8"} ${adj}${issue2.maximum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + } + return `\u0985\u09A8\u09C7\u0995 \u099B\u09CB\u099F: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.prefix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C1\u09B0\u09C1 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + } + if (_issue.format === "ends_with") + return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.suffix}" \u09A6\u09BF\u09AF\u09BC\u09C7 \u09B6\u09C7\u09B7 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + if (_issue.format === "includes") + return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: "${_issue.includes}" \u0985\u09A8\u09CD\u09A4\u09B0\u09CD\u09AD\u09C1\u0995\u09CD\u09A4 \u09A5\u09BE\u0995\u09A4\u09C7 \u09B9\u09AC\u09C7`; + if (_issue.format === "regex") + return `\u0985\u09AC\u09C8\u09A7 \u09B8\u09CD\u099F\u09CD\u09B0\u09BF\u0982: ${_issue.pattern} \u09AA\u09CD\u09AF\u09BE\u099F\u09BE\u09B0\u09CD\u09A8 \u09AE\u09BF\u09B2\u09A4\u09C7 \u09B9\u09AC\u09C7`; + return `\u0985\u09AC\u09C8\u09A7 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0985\u09AC\u09C8\u09A7 \u09A8\u09AE\u09CD\u09AC\u09B0: ${issue2.divisor} \u098F\u09B0 \u0997\u09C1\u09A3\u09BF\u09A4\u0995 \u09B9\u09A4\u09C7 \u09B9\u09AC\u09C7`; + case "unrecognized_keys": + return `\u0985\u099A\u09C7\u09A8\u09BE \u0995\u09C0${issue2.keys.length > 1 ? "\u0997\u09C1\u09B2\u09CB" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u0995\u09C0`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0985\u09AC\u09C8\u09A7 \u09A1\u09BF\u09B8\u0995\u09CD\u09B0\u09BF\u09AE\u09BF\u09A8\u09C7\u099F\u09B0 \u09AE\u09BE\u09A8\u0964 \u09AA\u09CD\u09B0\u09A4\u09CD\u09AF\u09BE\u09B6\u09BF\u09A4 ${opts}`; + } + return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F"; + case "invalid_element": + return `${issue2.origin} \u098F \u0985\u09AC\u09C8\u09A7 \u09AE\u09BE\u09A8`; + default: + return "\u0985\u09AC\u09C8\u09A7 \u0987\u09A8\u09AA\u09C1\u099F"; + } + }; +}, "error"); +function bn_default() { + return { + localeError: error5() + }; +} +__name(bn_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ca.js +var error6 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "car\xE0cters", verb: "contenir" }, + file: { unit: "bytes", verb: "contenir" }, + array: { unit: "elements", verb: "contenir" }, + set: { unit: "elements", verb: "contenir" }, + map: { unit: "elements", verb: "contenir" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "entrada", + email: "adre\xE7a electr\xF2nica", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "data i hora ISO", + date: "data ISO", + time: "hora ISO", + duration: "durada ISO", + ipv4: "adre\xE7a IPv4", + ipv6: "adre\xE7a IPv6", + mac: "adre\xE7a MAC", + cidrv4: "rang IPv4", + cidrv6: "rang IPv6", + base64: "cadena codificada en base64", + base64url: "cadena codificada en base64url", + json_string: "cadena JSON", + e164: "n\xFAmero E.164", + credit_card: "n\xFAmero de targeta de cr\xE8dit", + currency_code: "codi de moneda", + iban: "IBAN", + jwt: "JWT", + template_literal: "entrada" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Tipus inv\xE0lid: s'esperava instanceof ${issue2.expected}, s'ha rebut ${received}`; + } + return `Tipus inv\xE0lid: s'esperava ${expected}, s'ha rebut ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Valor inv\xE0lid: s'esperava ${stringifyPrimitive(issue2.values[0])}`; + return `Opci\xF3 inv\xE0lida: s'esperava una de ${joinValues(issue2.values, " o ")}`; + case "too_big": { + const adj = issue2.inclusive ? "com a m\xE0xim" : "menys de"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} contingu\xE9s ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`; + return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} fos ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? "com a m\xEDnim" : "m\xE9s de"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Massa petit: s'esperava que ${issue2.origin} contingu\xE9s ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Massa petit: s'esperava que ${issue2.origin} fos ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Format inv\xE0lid: ha de comen\xE7ar amb "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Format inv\xE0lid: ha d'acabar amb "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Format inv\xE0lid: ha d'incloure "${_issue.includes}"`; + if (_issue.format === "regex") + return `Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${_issue.pattern}`; + return `Format inv\xE0lid per a ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${issue2.divisor}`; + case "unrecognized_keys": + return `Clau${issue2.keys.length > 1 ? "s" : ""} no reconeguda${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Clau inv\xE0lida a ${issue2.origin}`; + case "invalid_union": + return "Entrada inv\xE0lida"; + // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general + case "invalid_element": + return `Element inv\xE0lid a ${issue2.origin}`; + default: + return `Entrada inv\xE0lida`; + } + }; +}, "error"); +function ca_default() { + return { + localeError: error6() + }; +} +__name(ca_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ckb.js +var error7 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u067E\u06CC\u062A", verb: "\u0628\u06CE\u062A" }, + file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u0628\u06CE\u062A" }, + array: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" }, + set: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" }, + map: { unit: "\u062F\u0627\u0646\u06D5", verb: "\u0628\u06CE\u062A" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "regex", + email: "\u0626\u06CC\u0645\u06D5\u06CC\u06B5", + url: "\u0628\u06D5\u0633\u062A\u06D5\u0631 (URL)", + emoji: "\u0626\u06CC\u0645\u06C6\u062C\u06CC", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u0695\u06CE\u06A9\u06D5\u0648\u062A \u0648 \u06A9\u0627\u062A", + date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A", + time: "\u06A9\u0627\u062A", + duration: "\u0645\u0627\u0648\u06D5", + ipv4: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv4", + ipv6: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC IPv6", + mac: "\u0646\u0627\u0648\u0646\u06CC\u0634\u0627\u0646\u06CC MAC", + cidrv4: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv4", + cidrv6: "\u0645\u06D5\u0648\u062F\u0627\u06CC IPv6", + base64: "\u062F\u06D5\u0642\u06CC base64", + base64url: "\u062F\u06D5\u0642\u06CC base64url", + json_string: "\u062F\u06D5\u0642\u06CC JSON", + e164: "\u0698\u0645\u0627\u0631\u06D5\u06CC E.164", + credit_card: "\u0698\u0645\u0627\u0631\u06D5\u06CC \u06A9\u0627\u0631\u062A\u06CC \u06A9\u0631\u06CE\u062F\u06CC\u062A", + currency_code: "\u06A9\u06C6\u062F\u06CC \u062F\u0631\u0627\u0648", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u062A\u06CE\u06A9\u0631\u062F\u06D5" + }; + const TypeDictionary = { + nan: "NaN", + string: "\u0646\u0648\u0648\u0633\u06CC\u0646", + number: "\u0698\u0645\u0627\u0631\u06D5", + boolean: "boolean", + array: "array", + object: "object", + date: "\u0695\u06CE\u06A9\u06D5\u0648\u062A", + integer: "\u0698\u0645\u0627\u0631\u06D5", + float: "\u0698\u0645\u0627\u0631\u06D5", + null: "null", + undefined: "undefined", + function: "function", + symbol: "symbol", + unknown: "unknown", + promise: "promise", + void: "void", + never: "never", + map: "map", + set: "set" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + const postfix = ["\u0627", "\u0648", "\u06C6", "\u0648\u0648", "\u06D5", "\u06CC", "\u06CE"].some((p3) => received.endsWith(p3)) ? "\u06CC\u06D5" : "\u06D5"; + const isEnglish = /^[a-zA-Z]+$/.test(received); + if (receivedType === "null" || receivedType === "undefined") + return `\u062F\u0627\u0648\u0627\u06A9\u0631\u0627\u0648\u06D5`; + return `\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${expected} \u0628\u06CE\u062A\u060C \u0628\u06D5\u06B5\u0627\u0645 ${received}${isEnglish ? "" : postfix}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0648\u0633\u062A\u06D5: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 ${stringifyPrimitive(issue2.values[0])} \u0628\u06CE\u062A`; + return `\u0647\u06D5\u06B5\u0628\u0698\u0627\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648\u06D5 \u06CC\u06D5\u06A9\u06CE\u06A9 \u0628\u06CE\u062A \u0644\u06D5 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u0632\u06C6\u0631\u06D5\u0648\u06D5 ${issue2.maximum.toString()} \u0628\u06CE\u062A`; + } + case "too_small": { + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0628\u06D5 \u0644\u0627\u06CC\u06D5\u0646\u06CC \u06A9\u06D5\u0645\u06D5\u0648\u06D5 ${issue2.minimum.toString()} \u0628\u06CE\u062A`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u062F\u06D5\u0633\u062A\u067E\u06CE\u0628\u06A9\u0627\u062A \u0628\u06D5 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u06A9\u06C6\u062A\u0627\u06CC\u06CC\u0628\u06CE\u062A \u0628\u06D5 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 "${_issue.includes}" \u0644\u06D5\u062E\u06C6\u0628\u06AF\u0631\u06CE\u062A`; + if (_issue.format === "regex") + return `\u062F\u06D5\u0642\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u067E\u06CE\u0648\u06CC\u0633\u062A\u06D5 \u0644\u06D5\u06AF\u06D5\u06B5 \u067E\u0627\u062A\u06CE\u0631\u0646\u06CC ${_issue.pattern} \u0628\u06AF\u0648\u0646\u062C\u06CE\u062A`; + return `\u0628\u06D5\u0647\u0627\u06CC ${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`; + } + case "not_multiple_of": + return `\u0698\u0645\u0627\u0631\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A: \u062F\u06D5\u0628\u06CE\u062A \u0686\u06D5\u0646\u062F \u0647\u06CE\u0646\u062F\u06D5 \u0628\u06CE\u062A \u0628\u06C6 ${issue2.divisor}`; + case "unrecognized_keys": + return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u06A9\u0644\u06CC\u0644\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A \u0644\u06D5 ${issue2.origin}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0628\u06D5\u0647\u0627\u06CC \u0646\u06D5\u0646\u0627\u0633\u0631\u0627\u0648 \u0647\u06D5\u06CC\u06D5. \u0628\u06D5\u0647\u0627\u06CC \u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06A9\u0631\u0627\u0648: ${opts}`; + } + return "\u06CC\u06D5\u06A9\u06AF\u0631\u062A\u0646\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A"; + case "invalid_element": + return `${issue2.origin} \u0628\u06D5\u0647\u0627\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5`; + default: + return `\u062A\u06CE\u06A9\u0631\u062F\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A`; + } + }; +}, "error"); +function ckb_default() { + return { + localeError: error7() + }; +} +__name(ckb_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/cs.js +var error8 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "znak\u016F", verb: "m\xEDt" }, + file: { unit: "bajt\u016F", verb: "m\xEDt" }, + array: { unit: "prvk\u016F", verb: "m\xEDt" }, + set: { unit: "prvk\u016F", verb: "m\xEDt" }, + map: { unit: "prvk\u016F", verb: "m\xEDt" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "regul\xE1rn\xED v\xFDraz", + email: "e-mailov\xE1 adresa", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "datum a \u010Das ve form\xE1tu ISO", + date: "datum ve form\xE1tu ISO", + time: "\u010Das ve form\xE1tu ISO", + duration: "doba trv\xE1n\xED ISO", + ipv4: "IPv4 adresa", + ipv6: "IPv6 adresa", + mac: "MAC adresa", + cidrv4: "rozsah IPv4", + cidrv6: "rozsah IPv6", + base64: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64", + base64url: "\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url", + json_string: "\u0159et\u011Bzec ve form\xE1tu JSON", + e164: "\u010D\xEDslo E.164", + credit_card: "\u010D\xEDslo kreditn\xED karty", + currency_code: "k\xF3d m\u011Bny", + iban: "IBAN", + jwt: "JWT", + template_literal: "vstup" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u010D\xEDslo", + string: "\u0159et\u011Bzec", + function: "funkce", + array: "pole" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${issue2.expected}, obdr\u017Eeno ${received}`; + } + return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${expected}, obdr\u017Eeno ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${stringifyPrimitive(issue2.values[0])}`; + return `Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvk\u016F"}`; + } + return `Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED m\xEDt ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvk\u016F"}`; + } + return `Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED b\xFDt ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${_issue.includes}"`; + if (_issue.format === "regex") + return `Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${_issue.pattern}`; + return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${issue2.divisor}`; + case "unrecognized_keys": + return `Nezn\xE1m\xE9 kl\xED\u010De: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Neplatn\xFD kl\xED\u010D v ${issue2.origin}`; + case "invalid_union": + return "Neplatn\xFD vstup"; + case "invalid_element": + return `Neplatn\xE1 hodnota v ${issue2.origin}`; + default: + return `Neplatn\xFD vstup`; + } + }; +}, "error"); +function cs_default() { + return { + localeError: error8() + }; +} +__name(cs_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/da.js +var error9 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "tegn", verb: "havde" }, + file: { unit: "bytes", verb: "havde" }, + array: { unit: "elementer", verb: "indeholdt" }, + set: { unit: "elementer", verb: "indeholdt" }, + map: { unit: "elementer", verb: "indeholdt" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "e-mailadresse", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO dato- og klokkesl\xE6t", + date: "ISO-dato", + time: "ISO-klokkesl\xE6t", + duration: "ISO-varighed", + ipv4: "IPv4-adresse", + ipv6: "IPv6-adresse", + mac: "MAC-adresse", + cidrv4: "IPv4-spektrum", + cidrv6: "IPv6-spektrum", + base64: "base64-kodet streng", + base64url: "base64url-kodet streng", + json_string: "JSON-streng", + e164: "E.164-nummer", + credit_card: "kreditkortnummer", + currency_code: "valutakode", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + string: "streng", + number: "tal", + boolean: "boolean", + array: "liste", + object: "objekt", + set: "s\xE6t", + file: "fil" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ugyldigt input: forventede instanceof ${issue2.expected}, fik ${received}`; + } + return `Ugyldigt input: forventede ${expected}, fik ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ugyldig v\xE6rdi: forventede ${stringifyPrimitive(issue2.values[0])}`; + return `Ugyldigt valg: forventede en af f\xF8lgende ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) + return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`; + return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) { + return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + } + return `For lille: forventede ${origin} havde ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Ugyldig streng: skal starte med "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Ugyldig streng: skal ende med "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Ugyldig streng: skal indeholde "${_issue.includes}"`; + if (_issue.format === "regex") + return `Ugyldig streng: skal matche m\xF8nsteret ${_issue.pattern}`; + return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ugyldigt tal: skal v\xE6re deleligt med ${issue2.divisor}`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Ukendte n\xF8gler" : "Ukendt n\xF8gle"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ugyldig n\xF8gle i ${issue2.origin}`; + case "invalid_union": + return "Ugyldigt input: matcher ingen af de tilladte typer"; + case "invalid_element": + return `Ugyldig v\xE6rdi i ${issue2.origin}`; + default: + return `Ugyldigt input`; + } + }; +}, "error"); +function da_default() { + return { + localeError: error9() + }; +} +__name(da_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/de.js +var error10 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "Zeichen", verb: "zu haben" }, + file: { unit: "Bytes", verb: "zu haben" }, + array: { unit: "Elemente", verb: "zu haben" }, + set: { unit: "Elemente", verb: "zu haben" }, + map: { unit: "Elemente", verb: "zu haben" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "Eingabe", + email: "E-Mail-Adresse", + url: "URL", + emoji: "Emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO-Datum und -Uhrzeit", + date: "ISO-Datum", + time: "ISO-Uhrzeit", + duration: "ISO-Dauer", + ipv4: "IPv4-Adresse", + ipv6: "IPv6-Adresse", + mac: "MAC-Adresse", + cidrv4: "IPv4-Bereich", + cidrv6: "IPv6-Bereich", + base64: "Base64-codierter String", + base64url: "Base64-URL-codierter String", + json_string: "JSON-String", + e164: "E.164-Nummer", + credit_card: "Kreditkartennummer", + currency_code: "W\xE4hrungscode", + iban: "IBAN", + jwt: "JWT", + template_literal: "Eingabe" + }; + const TypeDictionary = { + nan: "NaN", + number: "Zahl", + array: "Array" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ung\xFCltige Eingabe: erwartet instanceof ${issue2.expected}, erhalten ${received}`; + } + return `Ung\xFCltige Eingabe: erwartet ${expected}, erhalten ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ung\xFCltige Eingabe: erwartet ${stringifyPrimitive(issue2.values[0])}`; + return `Ung\xFCltige Option: erwartet eine von ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`; + return `Zu gro\xDF: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ist`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} hat`; + } + return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ist`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Ung\xFCltiger String: muss mit "${_issue.prefix}" beginnen`; + if (_issue.format === "ends_with") + return `Ung\xFCltiger String: muss mit "${_issue.suffix}" enden`; + if (_issue.format === "includes") + return `Ung\xFCltiger String: muss "${_issue.includes}" enthalten`; + if (_issue.format === "regex") + return `Ung\xFCltiger String: muss dem Muster ${_issue.pattern} entsprechen`; + return `Ung\xFCltig: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ung\xFCltige Zahl: muss ein Vielfaches von ${issue2.divisor} sein`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Unbekannte Schl\xFCssel" : "Unbekannter Schl\xFCssel"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ung\xFCltiger Schl\xFCssel in ${issue2.origin}`; + case "invalid_union": + return "Ung\xFCltige Eingabe"; + case "invalid_element": + return `Ung\xFCltiger Wert in ${issue2.origin}`; + default: + return `Ung\xFCltige Eingabe`; + } + }; +}, "error"); +function de_default() { + return { + localeError: error10() + }; +} +__name(de_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/el.js +var error11 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, + file: { unit: "bytes", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, + array: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, + set: { unit: "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" }, + map: { unit: "\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2", + email: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1", + date: "ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1", + time: "ISO \u03CE\u03C1\u03B1", + duration: "ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1", + ipv4: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4", + ipv6: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6", + mac: "\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC", + cidrv4: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4", + cidrv6: "\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6", + base64: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64", + base64url: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url", + json_string: "\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON", + e164: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164", + credit_card: "\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C0\u03B9\u03C3\u03C4\u03C9\u03C4\u03B9\u03BA\u03AE\u03C2 \u03BA\u03AC\u03C1\u03C4\u03B1\u03C2", + currency_code: "\u03BA\u03C9\u03B4\u03B9\u03BA\u03CC\u03C2 \u03BD\u03BF\u03BC\u03AF\u03C3\u03BC\u03B1\u03C4\u03BF\u03C2", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (typeof issue2.expected === "string" && /^[A-Z]/.test(issue2.expected)) { + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${issue2.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`; + } + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${stringifyPrimitive(issue2.values[0])}`; + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`; + return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin ?? "\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${issue2.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${_issue.pattern}`; + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${issue2.divisor}`; + case "unrecognized_keys": + return `\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${issue2.keys.length > 1 ? "\u03B1" : "\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${issue2.keys.length > 1 ? "\u03B9\u03AC" : "\u03AF"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${issue2.origin}`; + case "invalid_union": + return "\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"; + case "invalid_element": + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${issue2.origin}`; + default: + return `\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2`; + } + }; +}, "error"); +function el_default() { + return { + localeError: error11() + }; +} +__name(el_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/en.js +var error12 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "characters", verb: "to have" }, + file: { unit: "bytes", verb: "to have" }, + array: { unit: "items", verb: "to have" }, + set: { unit: "items", verb: "to have" }, + map: { unit: "entries", verb: "to have" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "email address", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datetime", + date: "ISO date", + time: "ISO time", + duration: "ISO duration", + ipv4: "IPv4 address", + ipv6: "IPv6 address", + mac: "MAC address", + cidrv4: "IPv4 range", + cidrv6: "IPv6 range", + base64: "base64-encoded string", + base64url: "base64url-encoded string", + json_string: "JSON string", + e164: "E.164 number", + currency_code: "currency code", + credit_card: "credit card number", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + // Compatibility: "nan" -> "NaN" for display + nan: "NaN" + // All other type names omitted - they fall back to raw values via ?? operator + }; + function getTypeName(type, input2) { + if (type === "number" && typeof input2 === "number" && !Number.isFinite(input2)) { + return String(input2); + } + return TypeDictionary[type] ?? type; + } + __name(getTypeName, "getTypeName"); + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = getTypeName(issue2.expected); + const receivedType = parsedType(issue2.input); + const received = getTypeName(receivedType, issue2.input); + return `Invalid input: expected ${expected}, received ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`; + return `Invalid option: expected one of ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.exact ? "exactly " : issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Too big: expected ${issue2.origin ?? "value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`; + return `Too big: expected ${issue2.origin ?? "value"} to be ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.exact ? "exactly " : issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Invalid string: must start with "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Invalid string: must end with "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Invalid string: must include "${_issue.includes}"`; + if (_issue.format === "regex") + return `Invalid string: must match pattern ${_issue.pattern}`; + return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Invalid number: must be a multiple of ${issue2.divisor}`; + case "unrecognized_keys": + return `Unrecognized key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Invalid key in ${issue2.origin}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `Invalid discriminator value. Expected ${opts}`; + } + if (issue2.inclusive === false) { + return "Invalid input: more than one option matched"; + } + return "Invalid input"; + case "invalid_element": + return `Invalid value in ${issue2.origin}`; + default: + return `Invalid input`; + } + }; +}, "error"); +function en_default() { + return { + localeError: error12() + }; +} +__name(en_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/eo.js +var error13 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "karaktrojn", verb: "havi" }, + file: { unit: "bajtojn", verb: "havi" }, + array: { unit: "elementojn", verb: "havi" }, + set: { unit: "elementojn", verb: "havi" }, + map: { unit: "elementojn", verb: "havi" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "enigo", + email: "retadreso", + url: "URL", + emoji: "emo\u011Dio", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO-datotempo", + date: "ISO-dato", + time: "ISO-tempo", + duration: "ISO-da\u016Dro", + ipv4: "IPv4-adreso", + ipv6: "IPv6-adreso", + mac: "MAC-adreso", + cidrv4: "IPv4-rango", + cidrv6: "IPv6-rango", + base64: "64-ume kodita karaktraro", + base64url: "URL-64-ume kodita karaktraro", + json_string: "JSON-karaktraro", + e164: "E.164-nombro", + credit_card: "kreditkarta numero", + currency_code: "valuta kodo", + iban: "IBAN", + jwt: "JWT", + template_literal: "enigo" + }; + const TypeDictionary = { + nan: "NaN", + number: "nombro", + array: "tabelo", + null: "senvalora" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Nevalida enigo: atendi\u011Dis instanceof ${issue2.expected}, ricevi\u011Dis ${received}`; + } + return `Nevalida enigo: atendi\u011Dis ${expected}, ricevi\u011Dis ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Nevalida enigo: atendi\u011Dis ${stringifyPrimitive(issue2.values[0])}`; + return `Nevalida opcio: atendi\u011Dis unu el ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementojn"}`; + return `Tro granda: atendi\u011Dis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} havu ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Tro malgranda: atendi\u011Dis ke ${issue2.origin} estu ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Nevalida karaktraro: devas komenci\u011Di per "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Nevalida karaktraro: devas fini\u011Di per "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`; + if (_issue.format === "regex") + return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`; + return `Nevalida ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Nevalida nombro: devas esti oblo de ${issue2.divisor}`; + case "unrecognized_keys": + return `Nekonata${issue2.keys.length > 1 ? "j" : ""} \u015Dlosilo${issue2.keys.length > 1 ? "j" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Nevalida \u015Dlosilo en ${issue2.origin}`; + case "invalid_union": + return "Nevalida enigo"; + case "invalid_element": + return `Nevalida valoro en ${issue2.origin}`; + default: + return `Nevalida enigo`; + } + }; +}, "error"); +function eo_default() { + return { + localeError: error13() + }; +} +__name(eo_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/es.js +var error14 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caracteres", verb: "tener" }, + file: { unit: "bytes", verb: "tener" }, + array: { unit: "elementos", verb: "tener" }, + set: { unit: "elementos", verb: "tener" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "entrada", + email: "direcci\xF3n de correo electr\xF3nico", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "fecha y hora ISO", + date: "fecha ISO", + time: "hora ISO", + duration: "duraci\xF3n ISO", + ipv4: "direcci\xF3n IPv4", + ipv6: "direcci\xF3n IPv6", + mac: "direcci\xF3n MAC", + cidrv4: "rango IPv4", + cidrv6: "rango IPv6", + base64: "cadena codificada en base64", + base64url: "URL codificada en base64", + json_string: "cadena JSON", + e164: "n\xFAmero E.164", + credit_card: "n\xFAmero de tarjeta de cr\xE9dito", + currency_code: "c\xF3digo de moneda", + iban: "IBAN", + jwt: "JWT", + template_literal: "entrada" + }; + const TypeDictionary = { + nan: "NaN", + string: "texto", + number: "n\xFAmero", + boolean: "booleano", + array: "arreglo", + object: "objeto", + set: "conjunto", + file: "archivo", + date: "fecha", + bigint: "n\xFAmero grande", + symbol: "s\xEDmbolo", + undefined: "indefinido", + null: "nulo", + function: "funci\xF3n", + map: "mapa", + record: "registro", + tuple: "tupla", + enum: "enumeraci\xF3n", + union: "uni\xF3n", + literal: "literal", + promise: "promesa", + void: "vac\xEDo", + never: "nunca", + unknown: "desconocido", + any: "cualquiera" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Entrada inv\xE1lida: se esperaba instanceof ${issue2.expected}, recibido ${received}`; + } + return `Entrada inv\xE1lida: se esperaba ${expected}, recibido ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Entrada inv\xE1lida: se esperaba ${stringifyPrimitive(issue2.values[0])}`; + return `Opci\xF3n inv\xE1lida: se esperaba una de ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) + return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; + return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) { + return `Demasiado peque\xF1o: se esperaba que ${origin} tuviera ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Demasiado peque\xF1o: se esperaba que ${origin} fuera ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Cadena inv\xE1lida: debe comenzar con "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Cadena inv\xE1lida: debe terminar en "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Cadena inv\xE1lida: debe incluir "${_issue.includes}"`; + if (_issue.format === "regex") + return `Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${_issue.pattern}`; + return `Inv\xE1lido ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${issue2.divisor}`; + case "unrecognized_keys": + return `Llave${issue2.keys.length > 1 ? "s" : ""} desconocida${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Llave inv\xE1lida en ${TypeDictionary[issue2.origin] ?? issue2.origin}`; + case "invalid_union": + return "Entrada inv\xE1lida"; + case "invalid_element": + return `Valor inv\xE1lido en ${TypeDictionary[issue2.origin] ?? issue2.origin}`; + default: + return `Entrada inv\xE1lida`; + } + }; +}, "error"); +function es_default() { + return { + localeError: error14() + }; +} +__name(es_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fa.js +var error15 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, + file: { unit: "\u0628\u0627\u06CC\u062A", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, + array: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, + set: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" }, + map: { unit: "\u0622\u06CC\u062A\u0645", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0648\u0631\u0648\u062F\u06CC", + email: "\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644", + url: "URL", + emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", + date: "\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648", + time: "\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", + duration: "\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648", + ipv4: "IPv4 \u0622\u062F\u0631\u0633", + ipv6: "IPv6 \u0622\u062F\u0631\u0633", + mac: "MAC \u0622\u062F\u0631\u0633", + cidrv4: "IPv4 \u062F\u0627\u0645\u0646\u0647", + cidrv6: "IPv6 \u062F\u0627\u0645\u0646\u0647", + base64: "base64-encoded \u0631\u0634\u062A\u0647", + base64url: "base64url-encoded \u0631\u0634\u062A\u0647", + json_string: "JSON \u0631\u0634\u062A\u0647", + e164: "E.164 \u0639\u062F\u062F", + credit_card: "\u0634\u0645\u0627\u0631\u0647 \u06A9\u0627\u0631\u062A \u0627\u0639\u062A\u0628\u0627\u0631\u06CC", + currency_code: "\u06A9\u062F \u0627\u0631\u0632", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0648\u0631\u0648\u062F\u06CC" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0639\u062F\u062F", + array: "\u0622\u0631\u0627\u06CC\u0647" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${issue2.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`; + } + return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${received} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`; + } + case "invalid_value": + if (issue2.values.length === 1) { + return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${stringifyPrimitive(issue2.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`; + } + return `\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${joinValues(issue2.values, "|")} \u0645\u06CC\u200C\u0628\u0648\u062F`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`; + } + return `\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${issue2.origin ?? "\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0628\u0627\u0634\u062F`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0628\u0627\u0634\u062F`; + } + return `\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0628\u0627\u0634\u062F`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`; + } + if (_issue.format === "ends_with") { + return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_issue.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`; + } + if (_issue.format === "includes") { + return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${_issue.includes}" \u0628\u0627\u0634\u062F`; + } + if (_issue.format === "regex") { + return `\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_issue.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`; + } + return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; + } + case "not_multiple_of": + return `\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${issue2.divisor} \u0628\u0627\u0634\u062F`; + case "unrecognized_keys": + return `\u06A9\u0644\u06CC\u062F${issue2.keys.length > 1 ? "\u0647\u0627\u06CC" : ""} \u0646\u0627\u0634\u0646\u0627\u0633: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${issue2.origin}`; + case "invalid_union": + return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; + case "invalid_element": + return `\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${issue2.origin}`; + default: + return `\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631`; + } + }; +}, "error"); +function fa_default() { + return { + localeError: error15() + }; +} +__name(fa_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fi.js +var error16 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "merkki\xE4", subject: "merkkijonon" }, + file: { unit: "tavua", subject: "tiedoston" }, + array: { unit: "alkiota", subject: "listan" }, + set: { unit: "alkiota", subject: "joukon" }, + map: { unit: "alkiota", subject: "kuvauksen" }, + number: { unit: "", subject: "luvun" }, + bigint: { unit: "", subject: "suuren kokonaisluvun" }, + int: { unit: "", subject: "kokonaisluvun" }, + date: { unit: "", subject: "p\xE4iv\xE4m\xE4\xE4r\xE4n" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "s\xE4\xE4nn\xF6llinen lauseke", + email: "s\xE4hk\xF6postiosoite", + url: "URL-osoite", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO-aikaleima", + date: "ISO-p\xE4iv\xE4m\xE4\xE4r\xE4", + time: "ISO-aika", + duration: "ISO-kesto", + ipv4: "IPv4-osoite", + ipv6: "IPv6-osoite", + mac: "MAC-osoite", + cidrv4: "IPv4-alue", + cidrv6: "IPv6-alue", + base64: "base64-koodattu merkkijono", + base64url: "base64url-koodattu merkkijono", + json_string: "JSON-merkkijono", + e164: "E.164-luku", + credit_card: "luottokortin numero", + currency_code: "valuuttakoodi", + iban: "IBAN", + jwt: "JWT", + template_literal: "templaattimerkkijono" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Virheellinen tyyppi: odotettiin instanceof ${issue2.expected}, oli ${received}`; + } + return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Virheellinen sy\xF6te: t\xE4ytyy olla ${stringifyPrimitive(issue2.values[0])}`; + return `Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Liian suuri: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.maximum.toString()} ${sizing.unit}`.trim(); + } + return `Liian suuri: arvon t\xE4ytyy olla ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Liian pieni: ${sizing.subject} t\xE4ytyy olla ${adj}${issue2.minimum.toString()} ${sizing.unit}`.trim(); + } + return `Liian pieni: arvon t\xE4ytyy olla ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Virheellinen sy\xF6te: t\xE4ytyy alkaa "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Virheellinen sy\xF6te: t\xE4ytyy loppua "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${_issue.includes}"`; + if (_issue.format === "regex") { + return `Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${_issue.pattern}`; + } + return `Virheellinen ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Virheellinen luku: t\xE4ytyy olla luvun ${issue2.divisor} monikerta`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return "Virheellinen avain tietueessa"; + case "invalid_union": + return "Virheellinen unioni"; + case "invalid_element": + return "Virheellinen arvo joukossa"; + default: + return `Virheellinen sy\xF6te`; + } + }; +}, "error"); +function fi_default() { + return { + localeError: error16() + }; +} +__name(fi_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fr.js +var error17 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caract\xE8res", verb: "avoir" }, + file: { unit: "octets", verb: "avoir" }, + array: { unit: "\xE9l\xE9ments", verb: "avoir" }, + set: { unit: "\xE9l\xE9ments", verb: "avoir" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "expression r\xE9guli\xE8re", + email: "adresse e-mail", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "date et heure ISO", + date: "date ISO", + time: "heure ISO", + duration: "dur\xE9e ISO", + ipv4: "adresse IPv4", + ipv6: "adresse IPv6", + mac: "adresse MAC", + cidrv4: "plage IPv4", + cidrv6: "plage IPv6", + base64: "cha\xEEne de caract\xE8res encod\xE9e en base64", + base64url: "cha\xEEne de caract\xE8res encod\xE9e en base64url", + json_string: "cha\xEEne de caract\xE8res JSON", + e164: "num\xE9ro au format E.164", + credit_card: "num\xE9ro de carte de cr\xE9dit", + currency_code: "code de devise", + iban: "IBAN", + jwt: "JWT", + template_literal: "entr\xE9e" + }; + const TypeDictionary = { + string: "cha\xEEne de caract\xE8res", + number: "nombre", + int: "entier", + boolean: "bool\xE9en", + bigint: "grand entier", + symbol: "symbole", + undefined: "ind\xE9fini", + null: "null", + never: "jamais", + void: "vide", + date: "date", + array: "tableau", + object: "objet", + tuple: "tuple", + record: "record", + map: "map", + set: "ensemble", + file: "fichier", + nonoptional: "non optionnel", + nan: "NaN", + function: "fonction" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Entr\xE9e invalide : instance de ${issue2.expected} attendu, ${received} re\xE7u`; + } + return `Entr\xE9e invalide : ${expected} attendu, ${received} re\xE7u`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Entr\xE9e invalide : ${stringifyPrimitive(issue2.values[0])} attendu`; + return `Option invalide : une valeur parmi ${joinValues(issue2.values, "|")} attendue`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xE9l\xE9ment(s)"}`; + return `Trop grand : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + return `Trop petit : ${TypeDictionary[issue2.origin] ?? "valeur"} doit \xEAtre ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Cha\xEEne de caract\xE8res invalide : doit commencer par "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Cha\xEEne de caract\xE8res invalide : doit se terminer par "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Cha\xEEne de caract\xE8res invalide : doit inclure "${_issue.includes}"`; + if (_issue.format === "regex") + return `Cha\xEEne de caract\xE8res invalide : doit correspondre au motif ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`; + } + case "not_multiple_of": + return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`; + case "unrecognized_keys": + return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Cl\xE9 invalide dans ${issue2.origin}`; + case "invalid_union": + return "Entr\xE9e invalide"; + case "invalid_element": + return `Valeur invalide dans ${issue2.origin}`; + default: + return `Entr\xE9e invalide`; + } + }; +}, "error"); +function fr_default() { + return { + localeError: error17() + }; +} +__name(fr_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/fr-CA.js +var error18 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caract\xE8res", verb: "avoir" }, + file: { unit: "octets", verb: "avoir" }, + array: { unit: "\xE9l\xE9ments", verb: "avoir" }, + set: { unit: "\xE9l\xE9ments", verb: "avoir" }, + map: { unit: "\xE9l\xE9ments", verb: "avoir" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "entr\xE9e", + email: "adresse courriel", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "date-heure ISO", + date: "date ISO", + time: "heure ISO", + duration: "dur\xE9e ISO", + ipv4: "adresse IPv4", + ipv6: "adresse IPv6", + mac: "adresse MAC", + cidrv4: "plage IPv4", + cidrv6: "plage IPv6", + base64: "cha\xEEne encod\xE9e en base64", + base64url: "cha\xEEne encod\xE9e en base64url", + json_string: "cha\xEEne JSON", + e164: "num\xE9ro E.164", + credit_card: "num\xE9ro de carte de cr\xE9dit", + currency_code: "code de devise", + iban: "IBAN", + jwt: "JWT", + template_literal: "entr\xE9e" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Entr\xE9e invalide : attendu instanceof ${issue2.expected}, re\xE7u ${received}`; + } + return `Entr\xE9e invalide : attendu ${expected}, re\xE7u ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Entr\xE9e invalide : attendu ${stringifyPrimitive(issue2.values[0])}`; + return `Option invalide : attendu l'une des valeurs suivantes ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "\u2264" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} ait ${adj}${issue2.maximum.toString()} ${sizing.unit}`; + return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} soit ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? "\u2265" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Trop petit : attendu que ${issue2.origin} ait ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Trop petit : attendu que ${issue2.origin} soit ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Cha\xEEne invalide : doit commencer par "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Cha\xEEne invalide : doit se terminer par "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Cha\xEEne invalide : doit inclure "${_issue.includes}"`; + if (_issue.format === "regex") + return `Cha\xEEne invalide : doit correspondre au motif ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`; + } + case "not_multiple_of": + return `Nombre invalide : doit \xEAtre un multiple de ${issue2.divisor}`; + case "unrecognized_keys": + return `Cl\xE9${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Cl\xE9 invalide dans ${issue2.origin}`; + case "invalid_union": + return "Entr\xE9e invalide"; + case "invalid_element": + return `Valeur invalide dans ${issue2.origin}`; + default: + return `Entr\xE9e invalide`; + } + }; +}, "error"); +function fr_CA_default() { + return { + localeError: error18() + }; +} +__name(fr_CA_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/gu.js +var error19 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0A85\u0A95\u0ACD\u0AB7\u0AB0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, + file: { unit: "\u0AAC\u0ABE\u0AAF\u0A9F", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, + array: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, + set: { unit: "\u0A86\u0A87\u0A9F\u0AAE", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" }, + map: { unit: "\u0A8F\u0AA8\u0ACD\u0A9F\u0ACD\u0AB0\u0AC0", verb: "\u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F", + email: "\u0A88\u0AAE\u0AC7\u0A87\u0AB2 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", + url: "URL", + emoji: "\u0A87\u0AAE\u0ACB\u0A9C\u0AC0", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96 \u0A85\u0AA8\u0AC7 \u0AB8\u0AAE\u0AAF", + date: "ISO \u0AA4\u0ABE\u0AB0\u0AC0\u0A96", + time: "ISO \u0AB8\u0AAE\u0AAF", + duration: "ISO \u0A85\u0AB5\u0AA7\u0ABF", + ipv4: "IPv4 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", + ipv6: "IPv6 \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", + mac: "MAC \u0A8F\u0AA1\u0ACD\u0AB0\u0AC7\u0AB8", + cidrv4: "IPv4 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0", + cidrv6: "IPv6 \u0AB6\u0ACD\u0AB0\u0AC7\u0AA3\u0AC0", + base64: "base64-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", + base64url: "base64url-\u0A8F\u0AA8\u0ACD\u0A95\u0ACB\u0AA1\u0AC7\u0AA1 \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", + json_string: "JSON \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97", + e164: "E.164 \u0AA8\u0A82\u0AAC\u0AB0", + credit_card: "\u0A95\u0ACD\u0AB0\u0AC7\u0AA1\u0ABF\u0A9F \u0A95\u0ABE\u0AB0\u0ACD\u0AA1 \u0AA8\u0A82\u0AAC\u0AB0", + currency_code: "\u0A9A\u0AB2\u0AA3 \u0A95\u0ACB\u0AA1", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0A87\u0AA8\u0AAA\u0AC1\u0A9F" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${expected}, \u0AAA\u0ACD\u0AB0\u0ABE\u0AAA\u0ACD\u0AA4 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F: \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB5\u0ABF\u0A95\u0AB2\u0ACD\u0AAA: ${joinValues(issue2.values, " | ")} \u0AAE\u0ABE\u0AA7\u0ACD\u0AAF\u0AAE\u0AA5\u0AC0 \u0A8F\u0A95 \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0A8F\u0AB2\u0ABF\u0AAE\u0AC7\u0AA8\u0ACD\u0A9F"} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`; + return `\u0A96\u0AC2\u0AAC \u0AAE\u0ACB\u0A9F\u0AC1\u0A82: ${issue2.origin ?? "\u0AAE\u0AC2\u0AB2\u0ACD\u0AAF"} ${adj}${issue2.maximum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0AB9\u0ACB\u0AB5\u0ABE \u0A9C\u0ACB\u0A88\u0A8F`; + } + return `\u0A96\u0AC2\u0AAC \u0AA8\u0ABE\u0AA8\u0AC1\u0A82: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.prefix}" \u0AA5\u0AC0 \u0AB6\u0AB0\u0AC2 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + } + if (_issue.format === "ends_with") + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.suffix}" \u0AAA\u0AB0 \u0AB8\u0AAE\u0ABE\u0AAA\u0ACD\u0AA4 \u0AA5\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + if (_issue.format === "includes") + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: "${_issue.includes}" \u0AB6\u0ABE\u0AAE\u0AC7\u0AB2 \u0AB9\u0ACB\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + if (_issue.format === "regex") + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AB8\u0ACD\u0A9F\u0ACD\u0AB0\u0ABF\u0A82\u0A97: \u0AAA\u0AC7\u0A9F\u0AB0\u0ACD\u0AA8 ${_issue.pattern} \u0AB8\u0ABE\u0AA5\u0AC7 \u0AAE\u0AC7\u0AB3 \u0A96\u0ABE\u0AB5\u0AC1\u0A82 \u0A9C\u0ACB\u0A88\u0A8F`; + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA8\u0A82\u0AAC\u0AB0: ${issue2.divisor} \u0AA8\u0ACB \u0A97\u0AC1\u0AA3\u0ABE\u0A82\u0A95 \u0AB9\u0ACB\u0AB5\u0ACB \u0A9C\u0ACB\u0A88\u0A8F`; + case "unrecognized_keys": + return `\u0A93\u0AB3\u0A96\u0AC0 \u0AB6\u0A95\u0ABE\u0AA4\u0ABE \u0AA8\u0AB9\u0AC0\u0A82 \u0AA4\u0AC7 \u0A95\u0AC0${issue2.keys.length > 1 ? "\u0A93" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A95\u0AC0`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AA1\u0ABF\u0AB8\u0ACD\u0A95\u0ACD\u0AB0\u0ABF\u0AAE\u0ABF\u0AA8\u0AC7\u0A9F\u0AB0 \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF. \u0A85\u0AAA\u0AC7\u0A95\u0ACD\u0AB7\u0ABF\u0AA4 ${opts}`; + } + return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F"; + case "invalid_element": + return `${issue2.origin} \u0AAE\u0ABE\u0A82 \u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0AAE\u0AC2\u0AB2\u0ACD\u0AAF`; + default: + return "\u0A85\u0AAE\u0ABE\u0AA8\u0ACD\u0AAF \u0A87\u0AA8\u0AAA\u0AC1\u0A9F"; + } + }; +}, "error"); +function gu_default() { + return { + localeError: error19() + }; +} +__name(gu_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/he.js +var error20 = /* @__PURE__ */ __name(() => { + const TypeNames = { + string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" }, + number: { label: "\u05DE\u05E1\u05E4\u05E8", gender: "m" }, + boolean: { label: "\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9", gender: "m" }, + bigint: { label: "BigInt", gender: "m" }, + date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA", gender: "m" }, + array: { label: "\u05DE\u05E2\u05E8\u05DA", gender: "m" }, + object: { label: "\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8", gender: "m" }, + null: { label: "\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)", gender: "m" }, + undefined: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)", gender: "m" }, + symbol: { label: "\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)", gender: "m" }, + function: { label: "\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4", gender: "f" }, + map: { label: "\u05DE\u05E4\u05D4 (Map)", gender: "f" }, + set: { label: "\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)", gender: "f" }, + file: { label: "\u05E7\u05D5\u05D1\u05E5", gender: "m" }, + promise: { label: "Promise", gender: "m" }, + NaN: { label: "NaN", gender: "m" }, + unknown: { label: "\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2", gender: "m" }, + value: { label: "\u05E2\u05E8\u05DA", gender: "m" } + }; + const Sizable = { + string: { unit: "\u05EA\u05D5\u05D5\u05D9\u05DD", shortLabel: "\u05E7\u05E6\u05E8", longLabel: "\u05D0\u05E8\u05D5\u05DA" }, + file: { unit: "\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, + array: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, + set: { unit: "\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" }, + number: { unit: "", shortLabel: "\u05E7\u05D8\u05DF", longLabel: "\u05D2\u05D3\u05D5\u05DC" } + // no unit + }; + const typeEntry = /* @__PURE__ */ __name((t) => t ? TypeNames[t] : void 0, "typeEntry"); + const typeLabel = /* @__PURE__ */ __name((t) => { + const e5 = typeEntry(t); + if (e5) + return e5.label; + return t ?? TypeNames.unknown.label; + }, "typeLabel"); + const withDefinite = /* @__PURE__ */ __name((t) => `\u05D4${typeLabel(t)}`, "withDefinite"); + const verbFor = /* @__PURE__ */ __name((t) => { + const e5 = typeEntry(t); + const gender = e5?.gender ?? "m"; + return gender === "f" ? "\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA" : "\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"; + }, "verbFor"); + const getSizing = /* @__PURE__ */ __name((origin) => { + if (!origin) + return null; + return Sizable[origin] ?? null; + }, "getSizing"); + const FormatDictionary = { + regex: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + email: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC", gender: "f" }, + url: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA", gender: "f" }, + emoji: { label: "\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9", gender: "m" }, + uuid: { label: "UUID", gender: "m" }, + uuidv4: { label: "UUIDv4", gender: "m" }, + uuidv6: { label: "UUIDv6", gender: "m" }, + nanoid: { label: "nanoid", gender: "m" }, + guid: { label: "GUID", gender: "m" }, + cuid: { label: "cuid", gender: "m" }, + cuid2: { label: "cuid2", gender: "m" }, + ulid: { label: "ULID", gender: "m" }, + xid: { label: "XID", gender: "m" }, + ksuid: { label: "KSUID", gender: "m" }, + datetime: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO", gender: "m" }, + date: { label: "\u05EA\u05D0\u05E8\u05D9\u05DA ISO", gender: "m" }, + time: { label: "\u05D6\u05DE\u05DF ISO", gender: "m" }, + duration: { label: "\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO", gender: "m" }, + ipv4: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv4", gender: "f" }, + ipv6: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA IPv6", gender: "f" }, + mac: { label: "\u05DB\u05EA\u05D5\u05D1\u05EA MAC", gender: "f" }, + cidrv4: { label: "\u05D8\u05D5\u05D5\u05D7 IPv4", gender: "m" }, + cidrv6: { label: "\u05D8\u05D5\u05D5\u05D7 IPv6", gender: "m" }, + base64: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64", gender: "f" }, + base64url: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA", gender: "f" }, + json_string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON", gender: "f" }, + e164: { label: "\u05DE\u05E1\u05E4\u05E8 E.164", gender: "m" }, + credit_card: { label: "\u05DE\u05E1\u05E4\u05E8 \u05DB\u05E8\u05D8\u05D9\u05E1 \u05D0\u05E9\u05E8\u05D0\u05D9", gender: "m" }, + currency_code: { label: "\u05E7\u05D5\u05D3 \u05DE\u05D8\u05D1\u05E2", gender: "m" }, + iban: { label: "IBAN", gender: "m" }, + jwt: { label: "JWT", gender: "m" }, + template_literal: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + ends_with: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + includes: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + lowercase: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + starts_with: { label: "\u05E7\u05DC\u05D8", gender: "m" }, + uppercase: { label: "\u05E7\u05DC\u05D8", gender: "m" } + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expectedKey = issue2.expected; + const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey); + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${issue2.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`; + } + return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${received}`; + } + case "invalid_value": { + if (issue2.values.length === 1) { + return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${stringifyPrimitive(issue2.values[0])}`; + } + const stringified = issue2.values.map((v) => stringifyPrimitive(v)); + if (issue2.values.length === 2) { + return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${stringified[0]} \u05D0\u05D5 ${stringified[1]}`; + } + const lastValue = stringified[stringified.length - 1]; + const restValues = stringified.slice(0, -1).join(", "); + return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${restValues} \u05D0\u05D5 ${lastValue}`; + } + case "too_big": { + const sizing = getSizing(issue2.origin); + const subject = withDefinite(issue2.origin ?? "value"); + if (issue2.origin === "string") { + return `${sizing?.longLabel ?? "\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.maximum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA" : "\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim(); + } + if (issue2.origin === "number") { + const comparison = issue2.inclusive ? `\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.maximum}` : `\u05E7\u05D8\u05DF \u05DE-${issue2.maximum}`; + return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`; + } + if (issue2.origin === "array" || issue2.origin === "set") { + const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA"; + const comparison = issue2.inclusive ? `${issue2.maximum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA` : `\u05E4\u05D7\u05D5\u05EA \u05DE-${issue2.maximum} ${sizing?.unit ?? ""}`; + return `\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim(); + } + const adj = issue2.inclusive ? "<=" : "<"; + const be = verbFor(issue2.origin ?? "value"); + if (sizing?.unit) { + return `${sizing.longLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()} ${sizing.unit}`; + } + return `${sizing?.longLabel ?? "\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const sizing = getSizing(issue2.origin); + const subject = withDefinite(issue2.origin ?? "value"); + if (issue2.origin === "string") { + return `${sizing?.shortLabel ?? "\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${issue2.minimum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8" : "\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim(); + } + if (issue2.origin === "number") { + const comparison = issue2.inclusive ? `\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${issue2.minimum}` : `\u05D2\u05D3\u05D5\u05DC \u05DE-${issue2.minimum}`; + return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${comparison}`; + } + if (issue2.origin === "array" || issue2.origin === "set") { + const verb = issue2.origin === "set" ? "\u05E6\u05E8\u05D9\u05DB\u05D4" : "\u05E6\u05E8\u05D9\u05DA"; + if (issue2.minimum === 1 && issue2.inclusive) { + const singularPhrase = issue2.origin === "set" ? "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3" : "\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3"; + return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${singularPhrase}`; + } + const comparison = issue2.inclusive ? `${issue2.minimum} ${sizing?.unit ?? ""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8` : `\u05D9\u05D5\u05EA\u05E8 \u05DE-${issue2.minimum} ${sizing?.unit ?? ""}`; + return `\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${subject} ${verb} \u05DC\u05D4\u05DB\u05D9\u05DC ${comparison}`.trim(); + } + const adj = issue2.inclusive ? ">=" : ">"; + const be = verbFor(issue2.origin ?? "value"); + if (sizing?.unit) { + return `${sizing.shortLabel} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `${sizing?.shortLabel ?? "\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${subject} ${be} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${_issue.pattern}`; + const nounEntry = FormatDictionary[_issue.format]; + const noun = nounEntry?.label ?? _issue.format; + const gender = nounEntry?.gender ?? "m"; + const adjective = gender === "f" ? "\u05EA\u05E7\u05D9\u05E0\u05D4" : "\u05EA\u05E7\u05D9\u05DF"; + return `${noun} \u05DC\u05D0 ${adjective}`; + } + case "not_multiple_of": + return `\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${issue2.divisor}`; + case "unrecognized_keys": + return `\u05DE\u05E4\u05EA\u05D7${issue2.keys.length > 1 ? "\u05D5\u05EA" : ""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${issue2.keys.length > 1 ? "\u05D9\u05DD" : "\u05D4"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": { + return `\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8`; + } + case "invalid_union": + return "\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"; + case "invalid_element": { + const place = withDefinite(issue2.origin ?? "array"); + return `\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${place}`; + } + default: + return `\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`; + } + }; +}, "error"); +function he_default() { + return { + localeError: error20() + }; +} +__name(he_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hi.js +var error21 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, + file: { unit: "\u092C\u093E\u0907\u091F\u094D\u0938", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, + array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, + set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" }, + map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F\u092F\u093E\u0901", verb: "\u0930\u0916\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0907\u0928\u092A\u0941\u091F", + email: "\u0908\u092E\u0947\u0932 \u092A\u0924\u093E", + url: "URL", + emoji: "\u0907\u092E\u094B\u091C\u0940", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0924\u093F\u0925\u093F \u0914\u0930 \u0938\u092E\u092F", + date: "ISO \u0924\u093F\u0925\u093F", + time: "ISO \u0938\u092E\u092F", + duration: "ISO \u0905\u0935\u0927\u093F", + ipv4: "IPv4 \u092A\u0924\u093E", + ipv6: "IPv6 \u092A\u0924\u093E", + mac: "MAC \u092A\u0924\u093E", + cidrv4: "IPv4 \u0936\u094D\u0930\u0947\u0923\u0940", + cidrv6: "IPv6 \u0936\u094D\u0930\u0947\u0923\u0940", + base64: "Base64-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", + base64url: "Base64URL-\u090F\u0928\u094D\u0915\u094B\u0921\u0947\u0921 \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", + json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917", + e164: "E.164 \u0938\u0902\u0916\u094D\u092F\u093E", + credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0938\u0902\u0916\u094D\u092F\u093E", + currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0907\u0928\u092A\u0941\u091F" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u094B\u0902 \u092E\u0947\u0902 \u0938\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u0947\u0902 ${adj}${issue2.maximum} ${sizing.unit} \u0939\u094B\u0902`; + return `\u092C\u0939\u0941\u0924 \u092C\u0921\u093C\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum} \u0939\u094B`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} \u092E\u0947\u0902 ${adj}${issue2.minimum} ${sizing.unit} \u0939\u094B\u0902`; + return `\u092C\u0939\u0941\u0924 \u091B\u094B\u091F\u093E: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u0925\u093E \u0915\u093F ${issue2.origin} ${adj}${issue2.minimum} \u0939\u094B`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.prefix}" \u0938\u0947 \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; + if (_issue.format === "ends_with") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: "${_issue.suffix}" \u092A\u0930 \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; + if (_issue.format === "includes") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u0907\u0938\u092E\u0947\u0902 "${_issue.includes}" \u0936\u093E\u092E\u093F\u0932 \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; + if (_issue.format === "regex") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0902\u0917: \u092A\u0948\u091F\u0930\u094D\u0928 ${_issue.pattern} \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; + return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: \u092F\u0939 ${issue2.divisor} \u0915\u093E \u0917\u0941\u0923\u091C \u0939\u094B\u0928\u093E \u091A\u093E\u0939\u093F\u090F`; + case "unrecognized_keys": + return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u0902\u091C\u0940${issue2.keys.length > 1 ? "\u092F\u093E\u0901" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u0902\u091C\u0940: ${issue2.origin} \u092E\u0947\u0902`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`; + } + return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F"; + case "invalid_element": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u0947\u0902`; + default: + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`; + } + }; +}, "error"); +function hi_default() { + return { + localeError: error21() + }; +} +__name(hi_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hr.js +var error22 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "znakova", verb: "imati" }, + file: { unit: "bajtova", verb: "imati" }, + array: { unit: "stavki", verb: "imati" }, + set: { unit: "stavki", verb: "imati" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "unos", + email: "email adresa", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datum i vrijeme", + date: "ISO datum", + time: "ISO vrijeme", + duration: "ISO trajanje", + ipv4: "IPv4 adresa", + ipv6: "IPv6 adresa", + mac: "MAC adresa", + cidrv4: "IPv4 raspon", + cidrv6: "IPv6 raspon", + base64: "base64 kodirani tekst", + base64url: "base64url kodirani tekst", + json_string: "JSON tekst", + e164: "E.164 broj", + credit_card: "broj kreditne kartice", + currency_code: "kod valute", + iban: "IBAN", + jwt: "JWT", + template_literal: "unos" + }; + const TypeDictionary = { + nan: "NaN", + string: "tekst", + number: "broj", + boolean: "boolean", + array: "niz", + object: "objekt", + set: "skup", + file: "datoteka", + date: "datum", + bigint: "bigint", + symbol: "simbol", + undefined: "undefined", + null: "null", + function: "funkcija", + map: "mapa" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Neispravan unos: o\u010Dekuje se instanceof ${issue2.expected}, a primljeno je ${received}`; + } + return `Neispravan unos: o\u010Dekuje se ${expected}, a primljeno je ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Neispravna vrijednost: o\u010Dekivano ${stringifyPrimitive(issue2.values[0])}`; + return `Neispravna opcija: o\u010Dekivano jedno od ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) + return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} ima ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemenata"}`; + return `Preveliko: o\u010Dekivano da ${origin ?? "vrijednost"} bude ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + if (sizing) { + return `Premalo: o\u010Dekivano da ${origin} ima ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Premalo: o\u010Dekivano da ${origin} bude ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Neispravan tekst: mora zapo\u010Dinjati s "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Neispravan tekst: mora zavr\u0161avati s "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Neispravan tekst: mora sadr\u017Eavati "${_issue.includes}"`; + if (_issue.format === "regex") + return `Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`; + return `Neispravna ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Neispravan broj: mora biti vi\u0161ekratnik od ${issue2.divisor}`; + case "unrecognized_keys": + return `Neprepoznat${issue2.keys.length > 1 ? "i klju\u010Devi" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Neispravan klju\u010D u ${TypeDictionary[issue2.origin] ?? issue2.origin}`; + case "invalid_union": + return "Neispravan unos"; + case "invalid_element": + return `Neispravna vrijednost u ${TypeDictionary[issue2.origin] ?? issue2.origin}`; + default: + return `Neispravan unos`; + } + }; +}, "error"); +function hr_default() { + return { + localeError: error22() + }; +} +__name(hr_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hu.js +var error23 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "karakter", verb: "legyen" }, + file: { unit: "byte", verb: "legyen" }, + array: { unit: "elem", verb: "legyen" }, + set: { unit: "elem", verb: "legyen" }, + map: { unit: "elem", verb: "legyen" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "bemenet", + email: "email c\xEDm", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO id\u0151b\xE9lyeg", + date: "ISO d\xE1tum", + time: "ISO id\u0151", + duration: "ISO id\u0151intervallum", + ipv4: "IPv4 c\xEDm", + ipv6: "IPv6 c\xEDm", + mac: "MAC c\xEDm", + cidrv4: "IPv4 tartom\xE1ny", + cidrv6: "IPv6 tartom\xE1ny", + base64: "base64-k\xF3dolt string", + base64url: "base64url-k\xF3dolt string", + json_string: "JSON string", + e164: "E.164 sz\xE1m", + credit_card: "hitelk\xE1rtyasz\xE1m", + currency_code: "p\xE9nznemk\xF3d", + iban: "IBAN", + jwt: "JWT", + template_literal: "bemenet" + }; + const TypeDictionary = { + nan: "NaN", + number: "sz\xE1m", + array: "t\xF6mb" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${issue2.expected}, a kapott \xE9rt\xE9k ${received}`; + } + return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${expected}, a kapott \xE9rt\xE9k ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${stringifyPrimitive(issue2.values[0])}`; + return `\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `T\xFAl nagy: ${issue2.origin ?? "\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`; + return `T\xFAl nagy: a bemeneti \xE9rt\xE9k ${issue2.origin ?? "\xE9rt\xE9k"} t\xFAl nagy: ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} m\xE9rete t\xFAl kicsi ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${issue2.origin} t\xFAl kicsi ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\xC9rv\xE9nytelen string: "${_issue.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`; + if (_issue.format === "ends_with") + return `\xC9rv\xE9nytelen string: "${_issue.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`; + if (_issue.format === "includes") + return `\xC9rv\xE9nytelen string: "${_issue.includes}" \xE9rt\xE9ket kell tartalmaznia`; + if (_issue.format === "regex") + return `\xC9rv\xE9nytelen string: ${_issue.pattern} mint\xE1nak kell megfelelnie`; + return `\xC9rv\xE9nytelen ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\xC9rv\xE9nytelen sz\xE1m: ${issue2.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`; + case "unrecognized_keys": + return `Ismeretlen kulcs${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\xC9rv\xE9nytelen kulcs ${issue2.origin}`; + case "invalid_union": + return "\xC9rv\xE9nytelen bemenet"; + case "invalid_element": + return `\xC9rv\xE9nytelen \xE9rt\xE9k: ${issue2.origin}`; + default: + return `\xC9rv\xE9nytelen bemenet`; + } + }; +}, "error"); +function hu_default() { + return { + localeError: error23() + }; +} +__name(hu_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/hy.js +function getArmenianPlural(count, one, many) { + return Math.abs(count) === 1 ? one : many; +} +__name(getArmenianPlural, "getArmenianPlural"); +function withDefiniteArticle(word) { + if (!word) + return ""; + const vowels = ["\u0561", "\u0565", "\u0568", "\u056B", "\u0578", "\u0578\u0582", "\u0585"]; + const lastChar = word[word.length - 1]; + return word + (vowels.includes(lastChar) ? "\u0576" : "\u0568"); +} +__name(withDefiniteArticle, "withDefiniteArticle"); +var error24 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { + unit: { + one: "\u0576\u0577\u0561\u0576", + many: "\u0576\u0577\u0561\u0576\u0576\u0565\u0580" + }, + verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" + }, + file: { + unit: { + one: "\u0562\u0561\u0575\u0569", + many: "\u0562\u0561\u0575\u0569\u0565\u0580" + }, + verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" + }, + array: { + unit: { + one: "\u057F\u0561\u0580\u0580", + many: "\u057F\u0561\u0580\u0580\u0565\u0580" + }, + verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" + }, + set: { + unit: { + one: "\u057F\u0561\u0580\u0580", + many: "\u057F\u0561\u0580\u0580\u0565\u0580" + }, + verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" + }, + map: { + unit: { + one: "\u057F\u0561\u0580\u0580", + many: "\u057F\u0561\u0580\u0580\u0565\u0580" + }, + verb: "\u0578\u0582\u0576\u0565\u0576\u0561\u056C" + } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0574\u0578\u0582\u057F\u0584", + email: "\u0567\u056C. \u0570\u0561\u057D\u0581\u0565", + url: "URL", + emoji: "\u0567\u0574\u0578\u057B\u056B", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574", + date: "ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E", + time: "ISO \u056A\u0561\u0574", + duration: "ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576", + ipv4: "IPv4 \u0570\u0561\u057D\u0581\u0565", + ipv6: "IPv6 \u0570\u0561\u057D\u0581\u0565", + mac: "MAC \u0570\u0561\u057D\u0581\u0565", + cidrv4: "IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584", + cidrv6: "IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584", + base64: "base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572", + base64url: "base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572", + json_string: "JSON \u057F\u0578\u0572", + e164: "E.164 \u0570\u0561\u0574\u0561\u0580", + credit_card: "\u056F\u0580\u0565\u0564\u056B\u057F \u0584\u0561\u0580\u057F\u056B \u0570\u0561\u0574\u0561\u0580", + currency_code: "\u0561\u0580\u056A\u0578\u0582\u0575\u0569\u056B \u056F\u0578\u0564", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0574\u0578\u0582\u057F\u0584" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0569\u056B\u057E", + array: "\u0566\u0561\u0576\u0563\u057E\u0561\u056E" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${issue2.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`; + } + return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${stringifyPrimitive(issue2.values[1])}`; + return `\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const maxValue = Number(issue2.maximum); + const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many); + return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.maximum.toString()} ${unit}`; + } + return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin ?? "\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const minValue = Number(issue2.minimum); + const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many); + return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${adj}${issue2.minimum.toString()} ${unit}`; + } + return `\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${withDefiniteArticle(issue2.origin)} \u056C\u056B\u0576\u056B ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${_issue.prefix}"-\u0578\u057E`; + if (_issue.format === "ends_with") + return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${_issue.suffix}"-\u0578\u057E`; + if (_issue.format === "includes") + return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_issue.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`; + return `\u054D\u056D\u0561\u056C ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${issue2.divisor}-\u056B`; + case "unrecognized_keys": + return `\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${issue2.keys.length > 1 ? "\u0576\u0565\u0580" : ""}. ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`; + case "invalid_union": + return "\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"; + case "invalid_element": + return `\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${withDefiniteArticle(issue2.origin)}-\u0578\u0582\u0574`; + default: + return `\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574`; + } + }; +}, "error"); +function hy_default() { + return { + localeError: error24() + }; +} +__name(hy_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/id.js +var error25 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "karakter", verb: "memiliki" }, + file: { unit: "byte", verb: "memiliki" }, + array: { unit: "item", verb: "memiliki" }, + set: { unit: "item", verb: "memiliki" }, + map: { unit: "item", verb: "memiliki" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "alamat email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "tanggal dan waktu format ISO", + date: "tanggal format ISO", + time: "jam format ISO", + duration: "durasi format ISO", + ipv4: "alamat IPv4", + ipv6: "alamat IPv6", + mac: "alamat MAC", + cidrv4: "rentang alamat IPv4", + cidrv6: "rentang alamat IPv6", + base64: "string dengan enkode base64", + base64url: "string dengan enkode base64url", + json_string: "string JSON", + e164: "angka E.164", + credit_card: "nomor kartu kredit", + currency_code: "kode mata uang", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Input tidak valid: diharapkan instanceof ${issue2.expected}, diterima ${received}`; + } + return `Input tidak valid: diharapkan ${expected}, diterima ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Input tidak valid: diharapkan ${stringifyPrimitive(issue2.values[0])}`; + return `Pilihan tidak valid: diharapkan salah satu dari ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} memiliki ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`; + return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} menjadi ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Terlalu kecil: diharapkan ${issue2.origin} memiliki ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Terlalu kecil: diharapkan ${issue2.origin} menjadi ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`; + if (_issue.format === "includes") + return `String tidak valid: harus menyertakan "${_issue.includes}"`; + if (_issue.format === "regex") + return `String tidak valid: harus sesuai pola ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} tidak valid`; + } + case "not_multiple_of": + return `Angka tidak valid: harus kelipatan dari ${issue2.divisor}`; + case "unrecognized_keys": + return `Kunci tidak dikenali ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Kunci tidak valid di ${issue2.origin}`; + case "invalid_union": + return "Input tidak valid"; + case "invalid_element": + return `Nilai tidak valid di ${issue2.origin}`; + default: + return `Input tidak valid`; + } + }; +}, "error"); +function id_default() { + return { + localeError: error25() + }; +} +__name(id_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/is.js +var error26 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "stafi", verb: "a\xF0 hafa" }, + file: { unit: "b\xE6ti", verb: "a\xF0 hafa" }, + array: { unit: "hluti", verb: "a\xF0 hafa" }, + set: { unit: "hluti", verb: "a\xF0 hafa" }, + map: { unit: "hluti", verb: "a\xF0 hafa" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "gildi", + email: "netfang", + url: "vefsl\xF3\xF0", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO dagsetning og t\xEDmi", + date: "ISO dagsetning", + time: "ISO t\xEDmi", + duration: "ISO t\xEDmalengd", + ipv4: "IPv4 address", + ipv6: "IPv6 address", + mac: "MAC address", + cidrv4: "IPv4 range", + cidrv6: "IPv6 range", + base64: "base64-encoded strengur", + base64url: "base64url-encoded strengur", + json_string: "JSON strengur", + e164: "E.164 t\xF6lugildi", + credit_card: "kreditkortan\xFAmer", + currency_code: "gjaldmi\xF0ilsk\xF3\xF0i", + iban: "IBAN", + jwt: "JWT", + template_literal: "gildi" + }; + const TypeDictionary = { + nan: "NaN", + number: "n\xFAmer", + array: "fylki" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera instanceof ${issue2.expected}`; + } + return `Rangt gildi: \xDE\xFA sl\xF3st inn ${received} \xFEar sem \xE1 a\xF0 vera ${expected}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Rangt gildi: gert r\xE1\xF0 fyrir ${stringifyPrimitive(issue2.values[0])}`; + return `\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} hafi ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "hluti"}`; + return `Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin ?? "gildi"} s\xE9 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} hafi ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${issue2.origin} s\xE9 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${_issue.includes}"`; + if (_issue.format === "regex") + return `\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${_issue.pattern}`; + return `Rangt ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${issue2.divisor}`; + case "unrecognized_keys": + return `\xD3\xFEekkt ${issue2.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Rangur lykill \xED ${issue2.origin}`; + case "invalid_union": + return "Rangt gildi"; + case "invalid_element": + return `Rangt gildi \xED ${issue2.origin}`; + default: + return `Rangt gildi`; + } + }; +}, "error"); +function is_default() { + return { + localeError: error26() + }; +} +__name(is_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/it.js +var error27 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caratteri", verb: "avere" }, + file: { unit: "byte", verb: "avere" }, + array: { unit: "elementi", verb: "avere" }, + set: { unit: "elementi", verb: "avere" }, + map: { unit: "elementi", verb: "avere" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "indirizzo email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "data e ora ISO", + date: "data ISO", + time: "ora ISO", + duration: "durata ISO", + ipv4: "indirizzo IPv4", + ipv6: "indirizzo IPv6", + mac: "indirizzo MAC", + cidrv4: "intervallo IPv4", + cidrv6: "intervallo IPv6", + base64: "stringa codificata in base64", + base64url: "URL codificata in base64", + json_string: "stringa JSON", + e164: "numero E.164", + credit_card: "numero di carta di credito", + currency_code: "codice valuta", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + number: "numero", + array: "vettore" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Input non valido: atteso instanceof ${issue2.expected}, ricevuto ${received}`; + } + return `Input non valido: atteso ${expected}, ricevuto ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Input non valido: atteso ${stringifyPrimitive(issue2.values[0])}`; + return `Opzione non valida: atteso uno tra ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Troppo grande: ${issue2.origin ?? "valore"} deve avere ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementi"}`; + return `Troppo grande: ${issue2.origin ?? "valore"} deve essere ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Troppo piccolo: ${issue2.origin} deve avere ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Troppo piccolo: ${issue2.origin} deve essere ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Stringa non valida: deve iniziare con "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Stringa non valida: deve terminare con "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Stringa non valida: deve includere "${_issue.includes}"`; + if (_issue.format === "regex") + return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`; + return `Input non valido: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Numero non valido: deve essere un multiplo di ${issue2.divisor}`; + case "unrecognized_keys": + return `Chiav${issue2.keys.length > 1 ? "i" : "e"} non riconosciut${issue2.keys.length > 1 ? "e" : "a"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Chiave non valida in ${issue2.origin}`; + case "invalid_union": + return "Input non valido"; + case "invalid_element": + return `Valore non valido in ${issue2.origin}`; + default: + return `Input non valido`; + } + }; +}, "error"); +function it_default() { + return { + localeError: error27() + }; +} +__name(it_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ja.js +var error28 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" }, + file: { unit: "\u30D0\u30A4\u30C8", verb: "\u3067\u3042\u308B" }, + array: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" }, + set: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" }, + map: { unit: "\u8981\u7D20", verb: "\u3067\u3042\u308B" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u5165\u529B\u5024", + email: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9", + url: "URL", + emoji: "\u7D75\u6587\u5B57", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO\u65E5\u6642", + date: "ISO\u65E5\u4ED8", + time: "ISO\u6642\u523B", + duration: "ISO\u671F\u9593", + ipv4: "IPv4\u30A2\u30C9\u30EC\u30B9", + ipv6: "IPv6\u30A2\u30C9\u30EC\u30B9", + mac: "MAC\u30A2\u30C9\u30EC\u30B9", + cidrv4: "IPv4\u7BC4\u56F2", + cidrv6: "IPv6\u7BC4\u56F2", + base64: "base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217", + base64url: "base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217", + json_string: "JSON\u6587\u5B57\u5217", + e164: "E.164\u756A\u53F7", + credit_card: "\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9\u756A\u53F7", + currency_code: "\u901A\u8CA8\u30B3\u30FC\u30C9", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u5165\u529B\u5024" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u6570\u5024", + array: "\u914D\u5217" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u7121\u52B9\u306A\u5165\u529B: instanceof ${issue2.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`; + } + return `\u7121\u52B9\u306A\u5165\u529B: ${expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${received}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u7121\u52B9\u306A\u5165\u529B: ${stringifyPrimitive(issue2.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`; + return `\u7121\u52B9\u306A\u9078\u629E: ${joinValues(issue2.values, "\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + case "too_big": { + const adj = issue2.inclusive ? "\u4EE5\u4E0B\u3067\u3042\u308B" : "\u3088\u308A\u5C0F\u3055\u3044"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${sizing.unit ?? "\u8981\u7D20"}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + return `\u5927\u304D\u3059\u304E\u308B\u5024: ${issue2.origin ?? "\u5024"}\u306F${issue2.maximum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + } + case "too_small": { + const adj = issue2.inclusive ? "\u4EE5\u4E0A\u3067\u3042\u308B" : "\u3088\u308A\u5927\u304D\u3044"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${sizing.unit}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + return `\u5C0F\u3055\u3059\u304E\u308B\u5024: ${issue2.origin}\u306F${issue2.minimum.toString()}${adj}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + if (_issue.format === "ends_with") + return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + if (_issue.format === "includes") + return `\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_issue.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + if (_issue.format === "regex") + return `\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_issue.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + return `\u7121\u52B9\u306A${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u7121\u52B9\u306A\u6570\u5024: ${issue2.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`; + case "unrecognized_keys": + return `\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${issue2.keys.length > 1 ? "\u7FA4" : ""}: ${joinValues(issue2.keys, "\u3001")}`; + case "invalid_key": + return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`; + case "invalid_union": + return "\u7121\u52B9\u306A\u5165\u529B"; + case "invalid_element": + return `${issue2.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`; + default: + return `\u7121\u52B9\u306A\u5165\u529B`; + } + }; +}, "error"); +function ja_default() { + return { + localeError: error28() + }; +} +__name(ja_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ka.js +var error29 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, + file: { unit: "\u10D1\u10D0\u10D8\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, + array: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, + set: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" }, + map: { unit: "\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0", + email: "\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", + url: "URL", + emoji: "\u10D4\u10DB\u10DD\u10EF\u10D8", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD", + date: "\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8", + time: "\u10D3\u10E0\u10DD", + duration: "\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0", + ipv4: "IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", + ipv6: "IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", + mac: "MAC \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8", + cidrv4: "IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8", + cidrv6: "IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8", + base64: "base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8", + base64url: "base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8", + json_string: "JSON \u10D5\u10D4\u10DA\u10D8", + e164: "E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8", + credit_card: "\u10E1\u10D0\u10D9\u10E0\u10D4\u10D3\u10D8\u10E2\u10DD \u10D1\u10D0\u10E0\u10D0\u10D7\u10D8\u10E1 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8", + currency_code: "\u10D5\u10D0\u10DA\u10E3\u10E2\u10D8\u10E1 \u10D9\u10DD\u10D3\u10D8", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8", + string: "\u10D5\u10D4\u10DA\u10D8", + boolean: "\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8", + function: "\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0", + array: "\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${issue2.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`; + } + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${stringifyPrimitive(issue2.values[0])}`; + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${joinValues(issue2.values, "|")}-\u10D3\u10D0\u10DC`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit}`; + return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin ?? "\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${issue2.origin} \u10D8\u10E7\u10DD\u10E1 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.prefix}"-\u10D8\u10D7`; + } + if (_issue.format === "ends_with") + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_issue.suffix}"-\u10D8\u10D7`; + if (_issue.format === "includes") + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_issue.includes}"-\u10E1`; + if (_issue.format === "regex") + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_issue.pattern}`; + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${issue2.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`; + case "unrecognized_keys": + return `\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${issue2.keys.length > 1 ? "\u10D4\u10D1\u10D8" : "\u10D8"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${issue2.origin}-\u10E8\u10D8`; + case "invalid_union": + return "\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"; + case "invalid_element": + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${issue2.origin}-\u10E8\u10D8`; + default: + return `\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0`; + } + }; +}, "error"); +function ka_default() { + return { + localeError: error29() + }; +} +__name(ka_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/km.js +var error30 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, + file: { unit: "\u1794\u17C3", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, + array: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, + set: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" }, + map: { unit: "\u1792\u17B6\u178F\u17BB", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B", + email: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B", + url: "URL", + emoji: "\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO", + date: "\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO", + time: "\u1798\u17C9\u17C4\u1784 ISO", + duration: "\u179A\u1799\u17C8\u1796\u17C1\u179B ISO", + ipv4: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4", + ipv6: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6", + mac: "\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 MAC", + cidrv4: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4", + cidrv6: "\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6", + base64: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64", + base64url: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url", + json_string: "\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON", + e164: "\u179B\u17C1\u1781 E.164", + credit_card: "\u179B\u17C1\u1781\u1794\u17D0\u178E\u17D2\u178E\u17A5\u178E\u1791\u17B6\u1793", + currency_code: "\u1780\u17BC\u178A\u179A\u17BC\u1794\u17B7\u1799\u1794\u17D0\u178E\u17D2\u178E", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u179B\u17C1\u1781", + array: "\u17A2\u17B6\u179A\u17C1 (Array)", + null: "\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${issue2.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`; + } + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${stringifyPrimitive(issue2.values[0])}`; + return `\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u1792\u17B6\u178F\u17BB"}`; + return `\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin ?? "\u178F\u1798\u17D2\u179B\u17C3"} ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${issue2.origin} ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_issue.pattern}`; + return `\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${issue2.divisor}`; + case "unrecognized_keys": + return `\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`; + case "invalid_union": + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`; + case "invalid_element": + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${issue2.origin}`; + default: + return `\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C`; + } + }; +}, "error"); +function km_default() { + return { + localeError: error30() + }; +} +__name(km_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/kh.js +function kh_default() { + return km_default(); +} +__name(kh_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/kn.js +var error31 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0C85\u0C95\u0CCD\u0CB7\u0CB0\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, + file: { unit: "\u0CAC\u0CC8\u0C9F\u0CCD\u200C\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, + array: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, + set: { unit: "\u0CB5\u0CB8\u0CCD\u0CA4\u0CC1\u0C97\u0CB3\u0CC1", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" }, + map: { unit: "entries", verb: "\u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD", + email: "email \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95\u0CA6 \u0CB8\u0CAE\u0CAF", + date: "ISO \u0CA6\u0CBF\u0CA8\u0CBE\u0C82\u0C95", + time: "ISO \u0CB8\u0CAE\u0CAF", + duration: "ISO \u0C85\u0CB5\u0CA7\u0CBF", + ipv4: "IPv4 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", + ipv6: "IPv6 \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", + mac: "MAC \u0CB5\u0CBF\u0CB3\u0CBE\u0CB8", + cidrv4: "IPv4 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF", + cidrv6: "IPv6 \u0CB5\u0CCD\u0CAF\u0CBE\u0CAA\u0CCD\u0CA4\u0CBF\u0CAF", + base64: "base64-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", + base64url: "base64url-encoded\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", + json_string: "JSON\u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD", + e164: "E.164 \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6", + credit_card: "\u0C95\u0CCD\u0CB0\u0CC6\u0CA1\u0CBF\u0C9F\u0CCD \u0C95\u0CBE\u0CB0\u0CCD\u0CA1\u0CCD \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6", + currency_code: "\u0C95\u0CB0\u0CC6\u0CA8\u0CCD\u0CB8\u0CBF \u0C95\u0CCB\u0CA1\u0CCD", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0C87\u0CA8\u0CCD\u0CAA\u0CC1\u0C9F\u0CCD" + }; + const TypeDictionary = { + // Compatibility: "nan" -> "NaN" for display + nan: "NaN" + // All other type names omitted - they fall back to raw values via ?? operator + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${expected}, \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CBF\u0CA6\u0CA8\u0CC1 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C86\u0CAF\u0CCD\u0C95\u0CC6: \u0C87\u0CB5\u0CC1\u0C97\u0CB3\u0CB2\u0CCD\u0CB2\u0CBF \u0C92\u0C82\u0CA6\u0CA8\u0CCD\u0CA8\u0CC1 \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0C85\u0C82\u0CB6\u0C97\u0CB3\u0CC1"}`; + return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0CA6\u0CCA\u0CA1\u0CCD\u0CA1\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin ?? "value"} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0CB9\u0CCA\u0C82\u0CA6\u0CB2\u0CC1 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u0CA4\u0CC1\u0C82\u0CAC\u0CBE \u0C9A\u0CBF\u0C95\u0CCD\u0C95\u0CA6\u0CC1: \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${issue2.origin} \u0C8E\u0C82\u0CA6\u0CC1 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0CAA\u0CCD\u0CB0\u0CBE\u0CB0\u0C82\u0CAD\u0CBF\u0CB8\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C87\u0CA6\u0CB0\u0CCA\u0C82\u0CA6\u0CBF\u0C97\u0CC6 \u0C95\u0CCA\u0CA8\u0CC6\u0C97\u0CCA\u0CB3\u0CCD\u0CB3\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0C92\u0CB3\u0C97\u0CCA\u0C82\u0CA1\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CB8\u0CCD\u0C9F\u0CCD\u0CB0\u0CBF\u0C82\u0C97\u0CCD: \u0CAE\u0CBE\u0CA6\u0CB0\u0CBF\u0C97\u0CC6 \u0CB9\u0CCA\u0C82\u0CA6\u0CBF\u0C95\u0CC6\u0CAF\u0CBE\u0C97\u0CAC\u0CC7\u0C95\u0CC1 ${_issue.pattern}`; + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6: \u0CAC\u0CB9\u0CC1\u0CB8\u0C82\u0C96\u0CCD\u0CAF\u0CC6\u0CAF\u0CBE\u0C97\u0CBF\u0CB0\u0CAC\u0CC7\u0C95\u0CC1 ${issue2.divisor}`; + case "unrecognized_keys": + return `\u0C97\u0CC1\u0CB0\u0CC1\u0CA4\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CA6 \u0C95\u0CC0 ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0C95\u0CC0 \u0C87\u0CA8\u0CCD ${issue2.origin}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CA4\u0CBE\u0CB0\u0CA4\u0CAE\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF. \u0CA8\u0CBF\u0CB0\u0CC0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6 ${opts}`; + } + return "\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD"; + case "invalid_element": + return `\u0CB0\u0CB2\u0CCD\u0CB2\u0CBF \u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0CAE\u0CCC\u0CB2\u0CCD\u0CAF ${issue2.origin}`; + default: + return `\u0C85\u0CAE\u0CBE\u0CA8\u0CCD\u0CAF \u0C87\u0CA8\u0CCD\u200C\u0CAA\u0CC1\u0C9F\u0CCD`; + } + }; +}, "error"); +function kn_default() { + return { + localeError: error31() + }; +} +__name(kn_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ko.js +var error32 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\uBB38\uC790", verb: "to have" }, + file: { unit: "\uBC14\uC774\uD2B8", verb: "to have" }, + array: { unit: "\uAC1C", verb: "to have" }, + set: { unit: "\uAC1C", verb: "to have" }, + map: { unit: "\uAC1C", verb: "to have" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\uC785\uB825", + email: "\uC774\uBA54\uC77C \uC8FC\uC18C", + url: "URL", + emoji: "\uC774\uBAA8\uC9C0", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \uB0A0\uC9DC\uC2DC\uAC04", + date: "ISO \uB0A0\uC9DC", + time: "ISO \uC2DC\uAC04", + duration: "ISO \uAE30\uAC04", + ipv4: "IPv4 \uC8FC\uC18C", + ipv6: "IPv6 \uC8FC\uC18C", + mac: "MAC \uC8FC\uC18C", + cidrv4: "IPv4 \uBC94\uC704", + cidrv6: "IPv6 \uBC94\uC704", + base64: "base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4", + base64url: "base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4", + json_string: "JSON \uBB38\uC790\uC5F4", + e164: "E.164 \uBC88\uD638", + credit_card: "\uC2E0\uC6A9\uCE74\uB4DC \uBC88\uD638", + currency_code: "\uD1B5\uD654 \uCF54\uB4DC", + iban: "IBAN", + jwt: "JWT", + template_literal: "\uC785\uB825" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${issue2.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`; + } + return `\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${received}\uC785\uB2C8\uB2E4`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${stringifyPrimitive(issue2.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`; + return `\uC798\uBABB\uB41C \uC635\uC158: ${joinValues(issue2.values, "\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`; + case "too_big": { + const adj = issue2.inclusive ? "\uC774\uD558" : "\uBBF8\uB9CC"; + const suffix = adj === "\uBBF8\uB9CC" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4"; + const sizing = getSizing(issue2.origin); + const unit = sizing?.unit ?? "\uC694\uC18C"; + if (sizing) + return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()}${unit} ${adj}${suffix}`; + return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${issue2.maximum.toString()} ${adj}${suffix}`; + } + case "too_small": { + const adj = issue2.inclusive ? "\uC774\uC0C1" : "\uCD08\uACFC"; + const suffix = adj === "\uC774\uC0C1" ? "\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4" : "\uC5EC\uC57C \uD569\uB2C8\uB2E4"; + const sizing = getSizing(issue2.origin); + const unit = sizing?.unit ?? "\uC694\uC18C"; + if (sizing) { + return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()}${unit} ${adj}${suffix}`; + } + return `${issue2.origin ?? "\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${issue2.minimum.toString()} ${adj}${suffix}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`; + } + if (_issue.format === "ends_with") + return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`; + if (_issue.format === "includes") + return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_issue.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`; + if (_issue.format === "regex") + return `\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_issue.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`; + return `\uC798\uBABB\uB41C ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\uC798\uBABB\uB41C \uC22B\uC790: ${issue2.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`; + case "unrecognized_keys": + return `\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\uC798\uBABB\uB41C \uD0A4: ${issue2.origin}`; + case "invalid_union": + return `\uC798\uBABB\uB41C \uC785\uB825`; + case "invalid_element": + return `\uC798\uBABB\uB41C \uAC12: ${issue2.origin}`; + default: + return `\uC798\uBABB\uB41C \uC785\uB825`; + } + }; +}, "error"); +function ko_default() { + return { + localeError: error32() + }; +} +__name(ko_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/lt.js +var capitalizeFirstCharacter = /* @__PURE__ */ __name((text2) => { + return text2.charAt(0).toUpperCase() + text2.slice(1); +}, "capitalizeFirstCharacter"); +function getUnitTypeFromNumber(number4) { + const abs = Math.abs(number4); + const last = abs % 10; + const last2 = abs % 100; + if (last2 >= 11 && last2 <= 19 || last === 0) + return "many"; + if (last === 1) + return "one"; + return "few"; +} +__name(getUnitTypeFromNumber, "getUnitTypeFromNumber"); +var error33 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { + unit: { + one: "simbolis", + few: "simboliai", + many: "simboli\u0173" + }, + verb: { + smaller: { + inclusive: "turi b\u016Bti ne ilgesn\u0117 kaip", + notInclusive: "turi b\u016Bti trumpesn\u0117 kaip" + }, + bigger: { + inclusive: "turi b\u016Bti ne trumpesn\u0117 kaip", + notInclusive: "turi b\u016Bti ilgesn\u0117 kaip" + } + } + }, + file: { + unit: { + one: "baitas", + few: "baitai", + many: "bait\u0173" + }, + verb: { + smaller: { + inclusive: "turi b\u016Bti ne didesnis kaip", + notInclusive: "turi b\u016Bti ma\u017Eesnis kaip" + }, + bigger: { + inclusive: "turi b\u016Bti ne ma\u017Eesnis kaip", + notInclusive: "turi b\u016Bti didesnis kaip" + } + } + }, + array: { + unit: { + one: "element\u0105", + few: "elementus", + many: "element\u0173" + }, + verb: { + smaller: { + inclusive: "turi tur\u0117ti ne daugiau kaip", + notInclusive: "turi tur\u0117ti ma\u017Eiau kaip" + }, + bigger: { + inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip", + notInclusive: "turi tur\u0117ti daugiau kaip" + } + } + }, + set: { + unit: { + one: "element\u0105", + few: "elementus", + many: "element\u0173" + }, + verb: { + smaller: { + inclusive: "turi tur\u0117ti ne daugiau kaip", + notInclusive: "turi tur\u0117ti ma\u017Eiau kaip" + }, + bigger: { + inclusive: "turi tur\u0117ti ne ma\u017Eiau kaip", + notInclusive: "turi tur\u0117ti daugiau kaip" + } + } + } + }; + function getSizing(origin, unitType, inclusive, targetShouldBe) { + const result = Sizable[origin] ?? null; + if (result === null) + return result; + return { + unit: result.unit[unitType], + verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"] + }; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u012Fvestis", + email: "el. pa\u0161to adresas", + url: "URL", + emoji: "jaustukas", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO data ir laikas", + date: "ISO data", + time: "ISO laikas", + duration: "ISO trukm\u0117", + ipv4: "IPv4 adresas", + ipv6: "IPv6 adresas", + mac: "MAC adresas", + cidrv4: "IPv4 tinklo prefiksas (CIDR)", + cidrv6: "IPv6 tinklo prefiksas (CIDR)", + base64: "base64 u\u017Ekoduota eilut\u0117", + base64url: "base64url u\u017Ekoduota eilut\u0117", + json_string: "JSON eilut\u0117", + e164: "E.164 numeris", + credit_card: "kredito kortel\u0117s numeris", + currency_code: "valiutos kodas", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u012Fvestis" + }; + const TypeDictionary = { + nan: "NaN", + number: "skai\u010Dius", + bigint: "sveikasis skai\u010Dius", + string: "eilut\u0117", + boolean: "login\u0117 reik\u0161m\u0117", + undefined: "neapibr\u0117\u017Eta reik\u0161m\u0117", + function: "funkcija", + symbol: "simbolis", + array: "masyvas", + object: "objektas", + null: "nulin\u0117 reik\u0161m\u0117" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Gautas tipas ${received}, o tik\u0117tasi - instanceof ${issue2.expected}`; + } + return `Gautas tipas ${received}, o tik\u0117tasi - ${expected}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Privalo b\u016Bti ${stringifyPrimitive(issue2.values[0])}`; + return `Privalo b\u016Bti vienas i\u0161 ${joinValues(issue2.values, "|")} pasirinkim\u0173`; + case "too_big": { + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.maximum)), issue2.inclusive ?? false, "smaller"); + if (sizing?.verb) + return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.maximum.toString()} ${sizing.unit ?? "element\u0173"}`; + const adj = issue2.inclusive ? "ne didesnis kaip" : "ma\u017Eesnis kaip"; + return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.maximum.toString()} ${sizing?.unit}`; + } + case "too_small": { + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.minimum)), issue2.inclusive ?? false, "bigger"); + if (sizing?.verb) + return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} ${sizing.verb} ${issue2.minimum.toString()} ${sizing.unit ?? "element\u0173"}`; + const adj = issue2.inclusive ? "ne ma\u017Eesnis kaip" : "didesnis kaip"; + return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi b\u016Bti ${adj} ${issue2.minimum.toString()} ${sizing?.unit}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Eilut\u0117 privalo prasid\u0117ti "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Eilut\u0117 privalo pasibaigti "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Eilut\u0117 privalo \u012Ftraukti "${_issue.includes}"`; + if (_issue.format === "regex") + return `Eilut\u0117 privalo atitikti ${_issue.pattern}`; + return `Neteisingas ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Skai\u010Dius privalo b\u016Bti ${issue2.divisor} kartotinis.`; + case "unrecognized_keys": + return `Neatpa\u017Eint${issue2.keys.length > 1 ? "i" : "as"} rakt${issue2.keys.length > 1 ? "ai" : "as"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return "Rastas klaidingas raktas"; + case "invalid_union": + return "Klaidinga \u012Fvestis"; + case "invalid_element": { + const origin = TypeDictionary[issue2.origin] ?? issue2.origin; + return `${capitalizeFirstCharacter(origin ?? issue2.origin ?? "reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`; + } + default: + return "Klaidinga \u012Fvestis"; + } + }; +}, "error"); +function lt_default() { + return { + localeError: error33() + }; +} +__name(lt_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/mk.js +var error34 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, + file: { unit: "\u0431\u0430\u0458\u0442\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, + array: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, + set: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" }, + map: { unit: "\u0441\u0442\u0430\u0432\u043A\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0432\u043D\u0435\u0441", + email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430", + url: "URL", + emoji: "\u0435\u043C\u043E\u045F\u0438", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435", + date: "ISO \u0434\u0430\u0442\u0443\u043C", + time: "ISO \u0432\u0440\u0435\u043C\u0435", + duration: "ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435", + ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441\u0430", + ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441\u0430", + mac: "MAC \u0430\u0434\u0440\u0435\u0441\u0430", + cidrv4: "IPv4 \u043E\u043F\u0441\u0435\u0433", + cidrv6: "IPv6 \u043E\u043F\u0441\u0435\u0433", + base64: "base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430", + base64url: "base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430", + json_string: "JSON \u043D\u0438\u0437\u0430", + e164: "E.164 \u0431\u0440\u043E\u0458", + credit_card: "\u0431\u0440\u043E\u0458 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u0447\u043A\u0430", + currency_code: "\u043A\u043E\u0434 \u043D\u0430 \u0432\u0430\u043B\u0443\u0442\u0430", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0432\u043D\u0435\u0441" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0431\u0440\u043E\u0458", + array: "\u043D\u0438\u0437\u0430" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${issue2.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`; + } + return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`; + return `\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`; + return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin ?? "\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0438\u043C\u0430 ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${issue2.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_issue.pattern}`; + return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${issue2.divisor}`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438" : "\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${issue2.origin}`; + case "invalid_union": + return "\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"; + case "invalid_element": + return `\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${issue2.origin}`; + default: + return `\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441`; + } + }; +}, "error"); +function mk_default() { + return { + localeError: error34() + }; +} +__name(mk_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ms.js +var error35 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "aksara", verb: "mempunyai" }, + file: { unit: "bait", verb: "mempunyai" }, + array: { unit: "elemen", verb: "mempunyai" }, + set: { unit: "elemen", verb: "mempunyai" }, + map: { unit: "elemen", verb: "mempunyai" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "alamat e-mel", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "tarikh masa ISO", + date: "tarikh ISO", + time: "masa ISO", + duration: "tempoh ISO", + ipv4: "alamat IPv4", + ipv6: "alamat IPv6", + mac: "alamat MAC", + cidrv4: "julat IPv4", + cidrv6: "julat IPv6", + base64: "string dikodkan base64", + base64url: "string dikodkan base64url", + json_string: "string JSON", + e164: "nombor E.164", + credit_card: "nombor kad kredit", + currency_code: "kod mata wang", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + number: "nombor" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Input tidak sah: dijangka instanceof ${issue2.expected}, diterima ${received}`; + } + return `Input tidak sah: dijangka ${expected}, diterima ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Input tidak sah: dijangka ${stringifyPrimitive(issue2.values[0])}`; + return `Pilihan tidak sah: dijangka salah satu daripada ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`; + return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} adalah ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Terlalu kecil: dijangka ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Terlalu kecil: dijangka ${issue2.origin} adalah ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`; + if (_issue.format === "includes") + return `String tidak sah: mesti mengandungi "${_issue.includes}"`; + if (_issue.format === "regex") + return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} tidak sah`; + } + case "not_multiple_of": + return `Nombor tidak sah: perlu gandaan ${issue2.divisor}`; + case "unrecognized_keys": + return `Kunci tidak dikenali: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Kunci tidak sah dalam ${issue2.origin}`; + case "invalid_union": + return "Input tidak sah"; + case "invalid_element": + return `Nilai tidak sah dalam ${issue2.origin}`; + default: + return `Input tidak sah`; + } + }; +}, "error"); +function ms_default() { + return { + localeError: error35() + }; +} +__name(ms_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ne.js +var error36 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0905\u0915\u094D\u0937\u0930", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, + file: { unit: "\u092C\u093E\u0907\u091F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, + array: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, + set: { unit: "\u0924\u0924\u094D\u0935", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" }, + map: { unit: "\u092A\u094D\u0930\u0935\u093F\u0937\u094D\u091F\u093F", verb: "\u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0907\u0928\u092A\u0941\u091F", + email: "\u0907\u092E\u0947\u0932 \u0920\u0947\u0917\u093E\u0928\u093E", + url: "URL", + emoji: "\u0907\u092E\u094B\u091C\u0940", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u092E\u093F\u0924\u093F \u0930 \u0938\u092E\u092F", + date: "ISO \u092E\u093F\u0924\u093F", + time: "ISO \u0938\u092E\u092F", + duration: "ISO \u0905\u0935\u0927\u093F", + ipv4: "IPv4 \u0920\u0947\u0917\u093E\u0928\u093E", + ipv6: "IPv6 \u0920\u0947\u0917\u093E\u0928\u093E", + mac: "MAC \u0920\u0947\u0917\u093E\u0928\u093E", + cidrv4: "IPv4 \u0926\u093E\u092F\u0930\u093E", + cidrv6: "IPv6 \u0926\u093E\u092F\u0930\u093E", + base64: "base64-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919", + base64url: "base64url-\u0907\u0928\u094D\u0915\u094B\u0921 \u0917\u0930\u093F\u090F\u0915\u094B \u0938\u094D\u091F\u094D\u0930\u093F\u0919", + json_string: "JSON \u0938\u094D\u091F\u094D\u0930\u093F\u0919", + e164: "E.164 \u0928\u092E\u094D\u092C\u0930", + credit_card: "\u0915\u094D\u0930\u0947\u0921\u093F\u091F \u0915\u093E\u0930\u094D\u0921 \u0928\u092E\u094D\u092C\u0930", + currency_code: "\u092E\u0941\u0926\u094D\u0930\u093E \u0915\u094B\u0921", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0907\u0928\u092A\u0941\u091F" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${expected}, \u092A\u094D\u0930\u093E\u092A\u094D\u0924 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0935\u093F\u0915\u0932\u094D\u092A: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 \u092E\u093E\u0928\u0939\u0930\u0942 \u092E\u0927\u094D\u092F\u0947 \u090F\u0915 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} \u092E\u093E ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u0927\u0947\u0930\u0948 \u0920\u0942\u0932\u094B: ${issue2.origin ?? "\u092E\u093E\u0928"} ${adj}${issue2.maximum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} \u092E\u093E ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u0927\u0947\u0930\u0948 \u0938\u093E\u0928\u094B: ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.prefix}" \u092C\u093E\u091F \u0938\u0941\u0930\u0941 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + if (_issue.format === "ends_with") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.suffix}" \u092E\u093E \u0938\u092E\u093E\u092A\u094D\u0924 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + if (_issue.format === "includes") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: "${_issue.includes}" \u0938\u092E\u093E\u0935\u0947\u0936 \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + if (_issue.format === "regex") + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u094D\u091F\u094D\u0930\u093F\u0919: \u0922\u093E\u0901\u091A\u093E ${_issue.pattern} \u0938\u0901\u0917 \u092E\u0947\u0932 \u0916\u093E\u0928\u0941\u092A\u0930\u094D\u091B`; + return `\u0905\u092E\u093E\u0928\u094D\u092F ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0938\u0902\u0916\u094D\u092F\u093E: ${issue2.divisor} \u0915\u094B \u0917\u0941\u0923\u091C \u0939\u0941\u0928\u0941\u092A\u0930\u094D\u091B`; + case "unrecognized_keys": + return `\u0905\u092A\u0930\u093F\u091A\u093F\u0924 \u0915\u0941\u091E\u094D\u091C\u0940${issue2.keys.length > 1 ? "\u0939\u0930\u0942" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0915\u0941\u091E\u094D\u091C\u0940: ${issue2.origin} \u092E\u093E`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0921\u093F\u0938\u094D\u0915\u094D\u0930\u093F\u092E\u093F\u0928\u0947\u091F\u0930 \u092E\u093E\u0928: \u0905\u092A\u0947\u0915\u094D\u0937\u093F\u0924 ${opts}`; + } + return "\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F"; + case "invalid_element": + return `\u0905\u092E\u093E\u0928\u094D\u092F \u092E\u093E\u0928: ${issue2.origin} \u092E\u093E`; + default: + return `\u0905\u092E\u093E\u0928\u094D\u092F \u0907\u0928\u092A\u0941\u091F`; + } + }; +}, "error"); +function ne_default() { + return { + localeError: error36() + }; +} +__name(ne_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/nl.js +var error37 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "tekens", verb: "heeft" }, + file: { unit: "bytes", verb: "heeft" }, + array: { unit: "elementen", verb: "heeft" }, + set: { unit: "elementen", verb: "heeft" }, + map: { unit: "elementen", verb: "heeft" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "invoer", + email: "emailadres", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datum en tijd", + date: "ISO datum", + time: "ISO tijd", + duration: "ISO duur", + ipv4: "IPv4-adres", + ipv6: "IPv6-adres", + mac: "MAC-adres", + cidrv4: "IPv4-bereik", + cidrv6: "IPv6-bereik", + base64: "base64-gecodeerde tekst", + base64url: "base64 URL-gecodeerde tekst", + json_string: "JSON string", + e164: "E.164-nummer", + credit_card: "creditcardnummer", + currency_code: "valutacode", + iban: "IBAN", + jwt: "JWT", + template_literal: "invoer" + }; + const TypeDictionary = { + nan: "NaN", + number: "getal" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ongeldige invoer: verwacht instanceof ${issue2.expected}, ontving ${received}`; + } + return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ongeldige invoer: verwacht ${stringifyPrimitive(issue2.values[0])}`; + return `Ongeldige optie: verwacht \xE9\xE9n van ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + const longName = issue2.origin === "date" ? "laat" : issue2.origin === "string" ? "lang" : "groot"; + if (sizing) + return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`; + return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + const shortName = issue2.origin === "date" ? "vroeg" : issue2.origin === "string" ? "kort" : "klein"; + if (sizing) { + return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; + } + return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`; + } + if (_issue.format === "ends_with") + return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`; + if (_issue.format === "includes") + return `Ongeldige tekst: moet "${_issue.includes}" bevatten`; + if (_issue.format === "regex") + return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`; + return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ongeldig getal: moet een veelvoud van ${issue2.divisor} zijn`; + case "unrecognized_keys": + return `Onbekende key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ongeldige key in ${issue2.origin}`; + case "invalid_union": + return "Ongeldige invoer"; + case "invalid_element": + return `Ongeldige waarde in ${issue2.origin}`; + default: + return `Ongeldige invoer`; + } + }; +}, "error"); +function nl_default() { + return { + localeError: error37() + }; +} +__name(nl_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/nn.js +var error38 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "teikn", verb: "\xE5 ha" }, + file: { unit: "bytes", verb: "\xE5 ha" }, + array: { unit: "element", verb: "\xE5 innehalde" }, + set: { unit: "element", verb: "\xE5 innehalde" }, + map: { unit: "element", verb: "\xE5 innehalde" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "e-postadresse", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO dato- og klokkeslett", + date: "ISO-dato", + time: "ISO-klokkeslett", + duration: "ISO-varigheit", + ipv4: "IPv4-adresse", + ipv6: "IPv6-adresse", + mac: "MAC-adresse", + cidrv4: "IPv4-spekter", + cidrv6: "IPv6-spekter", + base64: "base64-enkoda streng", + base64url: "base64url-enkoda streng", + json_string: "JSON-streng", + e164: "E.164-nummer", + credit_card: "kredittkortnummer", + currency_code: "valutakode", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + number: "tal", + array: "liste" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ugyldig input: forventa instanceof ${issue2.expected}, fekk ${received}`; + } + return `Ugyldig input: forventa ${expected}, fekk ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ugyldig verdi: forventa ${stringifyPrimitive(issue2.values[0])}`; + return `Ugyldig val: forventa eitt av ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; + return `For stor(t): forventa ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `For lite(n): forventa ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Ugyldig streng: m\xE5 slutte med "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Ugyldig streng: m\xE5 innehalde "${_issue.includes}"`; + if (_issue.format === "regex") + return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`; + return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ugyldig tal: m\xE5 vere eit multiplum av ${issue2.divisor}`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Ukjende n\xF8klar" : "Ukjend n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ugyldig n\xF8kkel i ${issue2.origin}`; + case "invalid_union": + return "Ugyldig input"; + case "invalid_element": + return `Ugyldig verdi i ${issue2.origin}`; + default: + return `Ugyldig input`; + } + }; +}, "error"); +function nn_default() { + return { + localeError: error38() + }; +} +__name(nn_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/no.js +var error39 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "tegn", verb: "\xE5 ha" }, + file: { unit: "bytes", verb: "\xE5 ha" }, + array: { unit: "elementer", verb: "\xE5 inneholde" }, + set: { unit: "elementer", verb: "\xE5 inneholde" }, + map: { unit: "elementer", verb: "\xE5 inneholde" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "input", + email: "e-postadresse", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO dato- og klokkeslett", + date: "ISO-dato", + time: "ISO-klokkeslett", + duration: "ISO-varighet", + ipv4: "IPv4-adresse", + ipv6: "IPv6-adresse", + mac: "MAC-adresse", + cidrv4: "IPv4-spekter", + cidrv6: "IPv6-spekter", + base64: "base64-enkodet streng", + base64url: "base64url-enkodet streng", + json_string: "JSON-streng", + e164: "E.164-nummer", + credit_card: "kredittkortnummer", + currency_code: "valutakode", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + number: "tall", + array: "liste" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ugyldig input: forventet instanceof ${issue2.expected}, fikk ${received}`; + } + return `Ugyldig input: forventet ${expected}, fikk ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ugyldig verdi: forventet ${stringifyPrimitive(issue2.values[0])}`; + return `Ugyldig valg: forventet en av ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`; + return `For stor(t): forventet ${issue2.origin ?? "value"} til \xE5 ha ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `For lite(n): forventet ${issue2.origin} til \xE5 ha ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Ugyldig streng: m\xE5 starte med "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Ugyldig streng: m\xE5 ende med "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Ugyldig streng: m\xE5 inneholde "${_issue.includes}"`; + if (_issue.format === "regex") + return `Ugyldig streng: m\xE5 matche m\xF8nsteret ${_issue.pattern}`; + return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ugyldig tall: m\xE5 v\xE6re et multiplum av ${issue2.divisor}`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Ukjente n\xF8kler" : "Ukjent n\xF8kkel"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ugyldig n\xF8kkel i ${issue2.origin}`; + case "invalid_union": + return "Ugyldig input"; + case "invalid_element": + return `Ugyldig verdi i ${issue2.origin}`; + default: + return `Ugyldig input`; + } + }; +}, "error"); +function no_default() { + return { + localeError: error39() + }; +} +__name(no_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ota.js +var error40 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "harf", verb: "olmal\u0131d\u0131r" }, + file: { unit: "bayt", verb: "olmal\u0131d\u0131r" }, + array: { unit: "unsur", verb: "olmal\u0131d\u0131r" }, + set: { unit: "unsur", verb: "olmal\u0131d\u0131r" }, + map: { unit: "unsur", verb: "olmal\u0131d\u0131r" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "giren", + email: "epostag\xE2h", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO heng\xE2m\u0131", + date: "ISO tarihi", + time: "ISO zaman\u0131", + duration: "ISO m\xFCddeti", + ipv4: "IPv4 ni\u015F\xE2n\u0131", + ipv6: "IPv6 ni\u015F\xE2n\u0131", + mac: "MAC ni\u015F\xE2n\u0131", + cidrv4: "IPv4 menzili", + cidrv6: "IPv6 menzili", + base64: "base64-\u015Fifreli metin", + base64url: "base64url-\u015Fifreli metin", + json_string: "JSON metin", + e164: "E.164 say\u0131s\u0131", + credit_card: "i'tib\xE2r kart\u0131 numaras\u0131", + currency_code: "para birimi kodu", + iban: "IBAN", + jwt: "JWT", + template_literal: "giren" + }; + const TypeDictionary = { + nan: "NaN", + number: "numara", + array: "saf", + null: "gayb" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `F\xE2sit giren: umulan instanceof ${issue2.expected}, al\u0131nan ${received}`; + } + return `F\xE2sit giren: umulan ${expected}, al\u0131nan ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `F\xE2sit giren: umulan ${stringifyPrimitive(issue2.values[0])}`; + return `F\xE2sit tercih: m\xFBteberler ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmal\u0131yd\u0131.`; + return `Fazla b\xFCy\xFCk: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} olmal\u0131yd\u0131.`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} ${sizing.unit} sahip olmal\u0131yd\u0131.`; + } + return `Fazla k\xFC\xE7\xFCk: ${issue2.origin}, ${adj}${issue2.minimum.toString()} olmal\u0131yd\u0131.`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `F\xE2sit metin: "${_issue.prefix}" ile ba\u015Flamal\u0131.`; + if (_issue.format === "ends_with") + return `F\xE2sit metin: "${_issue.suffix}" ile bitmeli.`; + if (_issue.format === "includes") + return `F\xE2sit metin: "${_issue.includes}" ihtiv\xE2 etmeli.`; + if (_issue.format === "regex") + return `F\xE2sit metin: ${_issue.pattern} nak\u015F\u0131na uymal\u0131.`; + return `F\xE2sit ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `F\xE2sit say\u0131: ${issue2.divisor} kat\u0131 olmal\u0131yd\u0131.`; + case "unrecognized_keys": + return `Tan\u0131nmayan anahtar ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} i\xE7in tan\u0131nmayan anahtar var.`; + case "invalid_union": + return "Giren tan\u0131namad\u0131."; + case "invalid_element": + return `${issue2.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`; + default: + return `K\u0131ymet tan\u0131namad\u0131.`; + } + }; +}, "error"); +function ota_default() { + return { + localeError: error40() + }; +} +__name(ota_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ps.js +var error41 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, + file: { unit: "\u0628\u0627\u06CC\u067C\u0633", verb: "\u0648\u0644\u0631\u064A" }, + array: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, + set: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" }, + map: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0648\u0631\u0648\u062F\u064A", + email: "\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9", + url: "\u06CC\u0648 \u0622\u0631 \u0627\u0644", + emoji: "\u0627\u06CC\u0645\u0648\u062C\u064A", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A", + date: "\u0646\u06D0\u067C\u0647", + time: "\u0648\u062E\u062A", + duration: "\u0645\u0648\u062F\u0647", + ipv4: "\u062F IPv4 \u067E\u062A\u0647", + ipv6: "\u062F IPv6 \u067E\u062A\u0647", + mac: "\u062F MAC \u067E\u062A\u0647", + cidrv4: "\u062F IPv4 \u0633\u0627\u062D\u0647", + cidrv6: "\u062F IPv6 \u0633\u0627\u062D\u0647", + base64: "base64-encoded \u0645\u062A\u0646", + base64url: "base64url-encoded \u0645\u062A\u0646", + json_string: "JSON \u0645\u062A\u0646", + e164: "\u062F E.164 \u0634\u0645\u06D0\u0631\u0647", + credit_card: "\u062F \u06A9\u0631\u06CC\u0689\u06CC\u067C \u06A9\u0627\u0631\u062A \u0634\u0645\u06CC\u0631\u0647", + currency_code: "\u062F \u0627\u0633\u0639\u0627\u0631\u0648 \u06A9\u0648\u0689", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0648\u0631\u0648\u062F\u064A" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0639\u062F\u062F", + array: "\u0627\u0631\u06D0" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${issue2.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`; + } + return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${received} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`; + } + case "invalid_value": + if (issue2.values.length === 1) { + return `\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${stringifyPrimitive(issue2.values[0])} \u0648\u0627\u06CC`; + } + return `\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${joinValues(issue2.values, "|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`; + } + return `\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${issue2.origin ?? "\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${adj}${issue2.maximum.toString()} \u0648\u064A`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0648\u0644\u0631\u064A`; + } + return `\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${issue2.origin} \u0628\u0627\u06CC\u062F ${adj}${issue2.minimum.toString()} \u0648\u064A`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`; + } + if (_issue.format === "ends_with") { + return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_issue.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`; + } + if (_issue.format === "includes") { + return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${_issue.includes}" \u0648\u0644\u0631\u064A`; + } + if (_issue.format === "regex") { + return `\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_issue.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`; + } + return `${FormatDictionary[_issue.format] ?? issue2.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`; + } + case "not_multiple_of": + return `\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${issue2.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`; + case "unrecognized_keys": + return `\u0646\u0627\u0633\u0645 ${issue2.keys.length > 1 ? "\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647" : "\u06A9\u0644\u06CC\u0689"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`; + case "invalid_union": + return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`; + case "invalid_element": + return `\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${issue2.origin} \u06A9\u06D0`; + default: + return `\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A`; + } + }; +}, "error"); +function ps_default() { + return { + localeError: error41() + }; +} +__name(ps_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pl.js +var error42 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "znak\xF3w", verb: "mie\u0107" }, + file: { unit: "bajt\xF3w", verb: "mie\u0107" }, + array: { unit: "element\xF3w", verb: "mie\u0107" }, + set: { unit: "element\xF3w", verb: "mie\u0107" }, + map: { unit: "element\xF3w", verb: "mie\u0107" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "wyra\u017Cenie", + email: "adres email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "data i godzina w formacie ISO", + date: "data w formacie ISO", + time: "godzina w formacie ISO", + duration: "czas trwania ISO", + ipv4: "adres IPv4", + ipv6: "adres IPv6", + mac: "adres MAC", + cidrv4: "zakres IPv4", + cidrv6: "zakres IPv6", + base64: "ci\u0105g znak\xF3w zakodowany w formacie base64", + base64url: "ci\u0105g znak\xF3w zakodowany w formacie base64url", + json_string: "ci\u0105g znak\xF3w w formacie JSON", + e164: "liczba E.164", + credit_card: "numer karty kredytowej", + currency_code: "kod waluty", + iban: "IBAN", + jwt: "JWT", + template_literal: "wej\u015Bcie" + }; + const TypeDictionary = { + nan: "NaN", + number: "liczba", + array: "tablica" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${issue2.expected}, otrzymano ${received}`; + } + return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${expected}, otrzymano ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${stringifyPrimitive(issue2.values[0])}`; + return `Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element\xF3w"}`; + } + return `Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie mie\u0107 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "element\xF3w"}`; + } + return `Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${issue2.origin ?? "warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${_issue.includes}"`; + if (_issue.format === "regex") + return `Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${_issue.pattern}`; + return `Nieprawid\u0142ow(y/a/e) ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${issue2.divisor}`; + case "unrecognized_keys": + return `Nierozpoznane klucze${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Nieprawid\u0142owy klucz w ${issue2.origin}`; + case "invalid_union": + return "Nieprawid\u0142owe dane wej\u015Bciowe"; + case "invalid_element": + return `Nieprawid\u0142owa warto\u015B\u0107 w ${issue2.origin}`; + default: + return `Nieprawid\u0142owe dane wej\u015Bciowe`; + } + }; +}, "error"); +function pl_default() { + return { + localeError: error42() + }; +} +__name(pl_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pt.js +var error43 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caracteres" }, + file: { unit: "bytes" }, + array: { unit: "elementos" }, + set: { unit: "elementos" }, + map: { unit: "entradas" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "a entrada", + email: "o endere\xE7o de e-mail", + url: "o URL", + emoji: "o emoji", + uuid: "o UUID", + uuidv4: "o UUIDv4", + uuidv6: "o UUIDv6", + nanoid: "o nanoid", + guid: "o GUID", + cuid: "o cuid", + cuid2: "o cuid2", + ulid: "o ULID", + xid: "o XID", + ksuid: "o KSUID", + datetime: "a data e hora ISO", + date: "a data ISO", + time: "a hora ISO", + duration: "a dura\xE7\xE3o ISO", + ipv4: "o endere\xE7o IPv4", + ipv6: "o endere\xE7o IPv6", + mac: "o endere\xE7o MAC", + cidrv4: "o intervalo de endere\xE7os IPv4", + cidrv6: "o intervalo de endere\xE7os IPv6", + base64: "o texto codificado em base64", + base64url: "o texto codificado em base64url", + json_string: "o texto JSON", + e164: "o n\xFAmero E.164", + credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito", + currency_code: "o c\xF3digo de moeda", + iban: "o IBAN", + jwt: "o JWT", + template_literal: "a entrada" + }; + const Gender = { + masculine: { definite: "o", indefinite: "um" }, + feminine: { definite: "a", indefinite: "uma" } + }; + const TypeDictionary = { + string: { name: "texto", articles: Gender.masculine }, + number: { name: "n\xFAmero", articles: Gender.masculine }, + int: { name: "n\xFAmero inteiro", articles: Gender.masculine }, + boolean: { name: "valor booleano", articles: Gender.masculine }, + bigint: { name: "n\xFAmero bigint", articles: Gender.masculine }, + symbol: { name: "s\xEDmbolo", articles: Gender.masculine }, + undefined: { name: 'valor "undefined"', articles: Gender.masculine }, + null: { name: 'valor "nulo"', articles: Gender.masculine }, + never: { name: 'valor "never"', articles: Gender.masculine }, + void: { name: 'valor "void"', articles: Gender.masculine }, + date: { name: "data", articles: Gender.feminine }, + array: { name: "vetor", articles: Gender.masculine }, + object: { name: "objeto", articles: Gender.masculine }, + tuple: { name: "tuplo", articles: Gender.masculine }, + record: { name: "registo", articles: Gender.masculine }, + map: { name: "mapa", articles: Gender.masculine }, + set: { name: "conjunto", articles: Gender.masculine }, + file: { name: "ficheiro", articles: Gender.masculine }, + nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine }, + nan: { name: 'valor "NaN"', articles: Gender.masculine }, + // Compatibility: "nan" -> "NaN" for display + function: { name: "fun\xE7\xE3o", articles: Gender.feminine } + }; + function translateOriginWithArticle(type, articleType) { + const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine }; + return `${translatedValue.articles[articleType]} ${translatedValue.name}`; + } + __name(translateOriginWithArticle, "translateOriginWithArticle"); + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = translateOriginWithArticle(issue2.expected, "indefinite"); + const receivedType = parsedType(issue2.input); + const received = translateOriginWithArticle(receivedType, "indefinite"); + return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`; + return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; + return `Demasiado grande: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`; + } + return `Demasiado pequeno: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Texto inv\xE1lido: deve come\xE7ar por "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Texto inv\xE1lido: deve terminar em "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`; + if (_issue.format === "regex") + return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`; + return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`; + } + case "not_multiple_of": + return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`; + case "unrecognized_keys": { + const plural2 = issue2.keys.length > 1 ? "s" : ""; + return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`; + } + case "invalid_key": + return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`; + } + return "Entrada inv\xE1lida"; + case "invalid_element": + return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; + default: + return `Entrada inv\xE1lida`; + } + }; +}, "error"); +function pt_default() { + return { + localeError: error43() + }; +} +__name(pt_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/pt-BR.js +var error44 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caracteres" }, + file: { unit: "bytes" }, + array: { unit: "elementos" }, + set: { unit: "elementos" }, + map: { unit: "entradas" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "a entrada", + email: "o endere\xE7o de e-mail", + url: "o URL", + emoji: "o emoji", + uuid: "o UUID", + uuidv4: "o UUIDv4", + uuidv6: "o UUIDv6", + nanoid: "o nanoid", + guid: "o GUID", + cuid: "o cuid", + cuid2: "o cuid2", + ulid: "o ULID", + xid: "o XID", + ksuid: "o KSUID", + datetime: "a data e hora ISO", + date: "a data ISO", + time: "a hora ISO", + duration: "a dura\xE7\xE3o ISO", + ipv4: "o endere\xE7o IPv4", + ipv6: "o endere\xE7o IPv6", + mac: "o endere\xE7o MAC", + cidrv4: "a faixa de endere\xE7os IPv4", + cidrv6: "a faixa de endere\xE7os IPv6", + base64: "o texto codificado em base64", + base64url: "o texto codificado em base64url", + json_string: "o texto JSON", + e164: "o n\xFAmero E.164", + credit_card: "o n\xFAmero de cart\xE3o de cr\xE9dito", + currency_code: "o c\xF3digo de moeda", + iban: "o IBAN", + jwt: "o JWT", + template_literal: "a entrada" + }; + const Gender = { + masculine: { definite: "o", indefinite: "um" }, + feminine: { definite: "a", indefinite: "uma" } + }; + const TypeDictionary = { + string: { name: "texto", articles: Gender.masculine }, + number: { name: "n\xFAmero", articles: Gender.masculine }, + int: { name: "n\xFAmero inteiro", articles: Gender.masculine }, + boolean: { name: "valor booleano", articles: Gender.masculine }, + bigint: { name: "n\xFAmero bigint", articles: Gender.masculine }, + symbol: { name: "s\xEDmbolo", articles: Gender.masculine }, + undefined: { name: 'valor "undefined"', articles: Gender.masculine }, + null: { name: 'valor "nulo"', articles: Gender.masculine }, + never: { name: 'valor "never"', articles: Gender.masculine }, + void: { name: 'valor "void"', articles: Gender.masculine }, + date: { name: "data", articles: Gender.feminine }, + array: { name: "vetor", articles: Gender.masculine }, + object: { name: "objeto", articles: Gender.masculine }, + tuple: { name: "tupla", articles: Gender.feminine }, + record: { name: "registro", articles: Gender.masculine }, + map: { name: "mapa", articles: Gender.masculine }, + set: { name: "conjunto", articles: Gender.masculine }, + file: { name: "arquivo", articles: Gender.masculine }, + nonoptional: { name: "valor n\xE3o opcional", articles: Gender.masculine }, + nan: { name: 'valor "NaN"', articles: Gender.masculine }, + // Compatibility: "nan" -> "NaN" for display + function: { name: "fun\xE7\xE3o", articles: Gender.feminine } + }; + function translateOriginWithArticle(type, articleType) { + const translatedValue = TypeDictionary[type] ?? { name: `valor "${type}"`, articles: Gender.masculine }; + return `${translatedValue.articles[articleType]} ${translatedValue.name}`; + } + __name(translateOriginWithArticle, "translateOriginWithArticle"); + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = translateOriginWithArticle(issue2.expected, "indefinite"); + const receivedType = parsedType(issue2.input); + const received = translateOriginWithArticle(receivedType, "indefinite"); + return `Entrada inv\xE1lida: esperava ${expected}, recebeu ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Entrada inv\xE1lida: esperava ${stringifyPrimitive(issue2.values[0])}`; + return `Op\xE7\xE3o inv\xE1lida: esperava uma das seguintes op\xE7\xF5es: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`; + return `Grande demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} tivesse ${adj} ${issue2.minimum.toString()} ${sizing.unit ?? "elementos"}`; + } + return `Pequeno demais: esperava que ${translateOriginWithArticle(issue2.origin, "definite")} fosse ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Texto inv\xE1lido: deve come\xE7ar com "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Texto inv\xE1lido: deve terminar com "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Texto inv\xE1lido: deve incluir "${_issue.includes}"`; + if (_issue.format === "regex") + return `Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_issue.pattern}`; + return `Formato d${FormatDictionary[_issue.format] ?? issue2.format} inv\xE1lido`; + } + case "not_multiple_of": + return `N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${issue2.divisor}`; + case "unrecognized_keys": { + const plural2 = issue2.keys.length > 1 ? "s" : ""; + return `Chave${plural2} inv\xE1lida${plural2}: ${joinValues(issue2.keys, ", ")}`; + } + case "invalid_key": + return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `Valor de discrimina\xE7\xE3o inv\xE1lido. Esperava ${opts}`; + } + return "Entrada inv\xE1lida"; + case "invalid_element": + return `Entrada inv\xE1lida n${translateOriginWithArticle(issue2.origin, "definite")}`; + default: + return `Entrada inv\xE1lida`; + } + }; +}, "error"); +function pt_BR_default() { + return { + localeError: error44() + }; +} +__name(pt_BR_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ro.js +var error45 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "caractere", verb: "s\u0103 aib\u0103" }, + file: { unit: "octe\u021Bi", verb: "s\u0103 aib\u0103" }, + array: { unit: "elemente", verb: "s\u0103 aib\u0103" }, + set: { unit: "elemente", verb: "s\u0103 aib\u0103" }, + map: { unit: "intr\u0103ri", verb: "s\u0103 aib\u0103" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "intrare", + email: "adres\u0103 de email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "dat\u0103 \u0219i or\u0103 ISO", + date: "dat\u0103 ISO", + time: "or\u0103 ISO", + duration: "durat\u0103 ISO", + ipv4: "adres\u0103 IPv4", + ipv6: "adres\u0103 IPv6", + mac: "adres\u0103 MAC", + cidrv4: "interval IPv4", + cidrv6: "interval IPv6", + base64: "\u0219ir codat base64", + base64url: "\u0219ir codat base64url", + json_string: "\u0219ir JSON", + e164: "num\u0103r E.164", + credit_card: "num\u0103r de card de credit", + currency_code: "cod valutar", + iban: "IBAN", + jwt: "JWT", + template_literal: "intrare" + }; + const TypeDictionary = { + nan: "NaN", + string: "\u0219ir", + number: "num\u0103r", + boolean: "boolean", + function: "func\u021Bie", + array: "matrice", + object: "obiect", + undefined: "nedefinit", + symbol: "simbol", + bigint: "num\u0103r mare", + void: "void", + never: "never", + map: "hart\u0103", + set: "set" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `Intrare invalid\u0103: a\u0219teptat ${expected}, primit ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Intrare invalid\u0103: a\u0219teptat ${stringifyPrimitive(issue2.values[0])}`; + return `Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemente"}`; + return `Prea mare: a\u0219teptat ca ${issue2.origin ?? "valoarea"} s\u0103 fie ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Prea mic: a\u0219teptat ca ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Prea mic: a\u0219teptat ca ${issue2.origin} s\u0103 fie ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u0218ir invalid: trebuie s\u0103 se termine cu "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u0218ir invalid: trebuie s\u0103 includ\u0103 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${_issue.pattern}`; + return `Format invalid: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${issue2.divisor}`; + case "unrecognized_keys": + return `Chei nerecunoscute: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Cheie invalid\u0103 \xEEn ${issue2.origin}`; + case "invalid_union": + return "Intrare invalid\u0103"; + case "invalid_element": + return `Valoare invalid\u0103 \xEEn ${issue2.origin}`; + default: + return `Intrare invalid\u0103`; + } + }; +}, "error"); +function ro_default() { + return { + localeError: error45() + }; +} +__name(ro_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ru.js +function getRussianPlural(count, one, few, many) { + const absCount = Math.abs(count); + const lastDigit = absCount % 10; + const lastTwoDigits = absCount % 100; + if (lastTwoDigits >= 11 && lastTwoDigits <= 19) { + return many; + } + if (lastDigit === 1) { + return one; + } + if (lastDigit >= 2 && lastDigit <= 4) { + return few; + } + return many; +} +__name(getRussianPlural, "getRussianPlural"); +var error46 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { + unit: { + one: "\u0441\u0438\u043C\u0432\u043E\u043B", + few: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", + many: "\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432" + }, + verb: "\u0438\u043C\u0435\u0442\u044C" + }, + file: { + unit: { + one: "\u0431\u0430\u0439\u0442", + few: "\u0431\u0430\u0439\u0442\u0430", + many: "\u0431\u0430\u0439\u0442" + }, + verb: "\u0438\u043C\u0435\u0442\u044C" + }, + array: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" + }, + verb: "\u0438\u043C\u0435\u0442\u044C" + }, + set: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" + }, + verb: "\u0438\u043C\u0435\u0442\u044C" + }, + map: { + unit: { + one: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442", + few: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430", + many: "\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432" + }, + verb: "\u0438\u043C\u0435\u0442\u044C" + } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0432\u0432\u043E\u0434", + email: "email \u0430\u0434\u0440\u0435\u0441", + url: "URL", + emoji: "\u044D\u043C\u043E\u0434\u0437\u0438", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F", + date: "ISO \u0434\u0430\u0442\u0430", + time: "ISO \u0432\u0440\u0435\u043C\u044F", + duration: "ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C", + ipv4: "IPv4 \u0430\u0434\u0440\u0435\u0441", + ipv6: "IPv6 \u0430\u0434\u0440\u0435\u0441", + mac: "MAC \u0430\u0434\u0440\u0435\u0441", + cidrv4: "IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", + cidrv6: "IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D", + base64: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64", + base64url: "\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url", + json_string: "JSON \u0441\u0442\u0440\u043E\u043A\u0430", + e164: "\u043D\u043E\u043C\u0435\u0440 E.164", + credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B", + currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u044B", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0432\u0432\u043E\u0434" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0447\u0438\u0441\u043B\u043E", + array: "\u043C\u0430\u0441\u0441\u0438\u0432" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${issue2.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`; + } + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${stringifyPrimitive(issue2.values[0])}`; + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const maxValue = Number(issue2.maximum); + const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); + return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.maximum.toString()} ${unit}`; + } + return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + const minValue = Number(issue2.minimum); + const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many); + return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${adj}${issue2.minimum.toString()} ${unit}`; + } + return `\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${issue2.origin} \u0431\u0443\u0434\u0435\u0442 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${issue2.divisor}`; + case "unrecognized_keys": + return `\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${issue2.keys.length > 1 ? "\u044B\u0435" : "\u044B\u0439"} \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0438" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${issue2.origin}`; + case "invalid_union": + return "\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"; + case "invalid_element": + return `\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${issue2.origin}`; + default: + return `\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435`; + } + }; +}, "error"); +function ru_default() { + return { + localeError: error46() + }; +} +__name(ru_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sk.js +var error47 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "znakov", verb: "ma\u0165" }, + file: { unit: "bajtov", verb: "ma\u0165" }, + array: { unit: "prvkov", verb: "ma\u0165" }, + set: { unit: "prvkov", verb: "ma\u0165" }, + map: { unit: "polo\u017Eiek", verb: "ma\u0165" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "regul\xE1rny v\xFDraz", + email: "e-mailov\xE1 adresa", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "d\xE1tum a \u010Das vo form\xE1te ISO", + date: "d\xE1tum vo form\xE1te ISO", + time: "\u010Das vo form\xE1te ISO", + duration: "doba trvania ISO", + ipv4: "IPv4 adresa", + ipv6: "IPv6 adresa", + mac: "MAC adresa", + cidrv4: "rozsah IPv4", + cidrv6: "rozsah IPv6", + base64: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64", + base64url: "re\u0165azec zak\xF3dovan\xFD vo form\xE1te base64url", + json_string: "re\u0165azec vo form\xE1te JSON", + e164: "\u010D\xEDslo E.164", + credit_card: "\u010D\xEDslo kreditnej karty", + currency_code: "k\xF3d meny", + iban: "IBAN", + jwt: "JWT", + template_literal: "vstup" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u010D\xEDslo", + string: "re\u0165azec", + function: "funkcia", + array: "pole" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 instanceof ${issue2.expected}, obdr\u017Ean\xE9 ${received}`; + } + return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${expected}, obdr\u017Ean\xE9 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE9 ${stringifyPrimitive(issue2.values[0])}`; + return `Neplatn\xFD vstup: o\u010Dak\xE1van\xE1 jedna z hodn\xF4t ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvkov"}`; + } + return `Hodnota je pr\xEDli\u0161 ve\u013Ek\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED ma\u0165 ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvkov"}`; + } + return `Hodnota je pr\xEDli\u0161 mal\xE1: ${issue2.origin ?? "hodnota"} mus\xED by\u0165 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Neplatn\xFD re\u0165azec: mus\xED za\u010D\xEDna\u0165 na "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Neplatn\xFD re\u0165azec: mus\xED kon\u010Di\u0165 na "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Neplatn\xFD re\u0165azec: mus\xED obsahova\u0165 "${_issue.includes}"`; + if (_issue.format === "regex") + return `Neplatn\xFD re\u0165azec: mus\xED zodpoveda\u0165 vzoru ${_issue.pattern}`; + return `Neplatn\xFD form\xE1t ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Neplatn\xE9 \u010D\xEDslo: mus\xED by\u0165 n\xE1sobkom ${issue2.divisor}`; + case "unrecognized_keys": + return `Nezn\xE1me kl\xFA\u010De: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Neplatn\xFD kl\xFA\u010D v ${issue2.origin}`; + case "invalid_union": + return "Neplatn\xFD vstup"; + case "invalid_element": + return `Neplatn\xE1 hodnota v ${issue2.origin}`; + default: + return `Neplatn\xFD vstup`; + } + }; +}, "error"); +function sk_default() { + return { + localeError: error47() + }; +} +__name(sk_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sl.js +var error48 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "znakov", verb: "imeti" }, + file: { unit: "bajtov", verb: "imeti" }, + array: { unit: "elementov", verb: "imeti" }, + set: { unit: "elementov", verb: "imeti" }, + map: { unit: "elementov", verb: "imeti" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "vnos", + email: "e-po\u0161tni naslov", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO datum in \u010Das", + date: "ISO datum", + time: "ISO \u010Das", + duration: "ISO trajanje", + ipv4: "IPv4 naslov", + ipv6: "IPv6 naslov", + mac: "MAC naslov", + cidrv4: "obseg IPv4", + cidrv6: "obseg IPv6", + base64: "base64 kodiran niz", + base64url: "base64url kodiran niz", + json_string: "JSON niz", + e164: "E.164 \u0161tevilka", + credit_card: "\u0161tevilka kreditne kartice", + currency_code: "koda valute", + iban: "IBAN", + jwt: "JWT", + template_literal: "vnos" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0161tevilo", + array: "tabela" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Neveljaven vnos: pri\u010Dakovano instanceof ${issue2.expected}, prejeto ${received}`; + } + return `Neveljaven vnos: pri\u010Dakovano ${expected}, prejeto ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Neveljaven vnos: pri\u010Dakovano ${stringifyPrimitive(issue2.values[0])}`; + return `Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} imelo ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementov"}`; + return `Preveliko: pri\u010Dakovano, da bo ${issue2.origin ?? "vrednost"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} imelo ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Premajhno: pri\u010Dakovano, da bo ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Neveljaven niz: mora se za\u010Deti z "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Neveljaven niz: mora se kon\u010Dati z "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Neveljaven niz: mora vsebovati "${_issue.includes}"`; + if (_issue.format === "regex") + return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`; + return `Neveljaven ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${issue2.divisor}`; + case "unrecognized_keys": + return `Neprepoznan${issue2.keys.length > 1 ? "i klju\u010Di" : " klju\u010D"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Neveljaven klju\u010D v ${issue2.origin}`; + case "invalid_union": + return "Neveljaven vnos"; + case "invalid_element": + return `Neveljavna vrednost v ${issue2.origin}`; + default: + return "Neveljaven vnos"; + } + }; +}, "error"); +function sl_default() { + return { + localeError: error48() + }; +} +__name(sl_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/sv.js +var error49 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "tecken", verb: "att ha" }, + file: { unit: "bytes", verb: "att ha" }, + array: { unit: "objekt", verb: "att inneh\xE5lla" }, + set: { unit: "objekt", verb: "att inneh\xE5lla" }, + map: { unit: "objekt", verb: "att inneh\xE5lla" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "regulj\xE4rt uttryck", + email: "e-postadress", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO-datum och tid", + date: "ISO-datum", + time: "ISO-tid", + duration: "ISO-varaktighet", + ipv4: "IPv4-adress", + ipv6: "IPv6-adress", + mac: "MAC-adress", + cidrv4: "IPv4-spektrum", + cidrv6: "IPv6-spektrum", + base64: "base64-kodad str\xE4ng", + base64url: "base64url-kodad str\xE4ng", + json_string: "JSON-str\xE4ng", + e164: "E.164-nummer", + credit_card: "kreditkortsnummer", + currency_code: "valutakod", + iban: "IBAN", + jwt: "JWT", + template_literal: "mall-literal" + }; + const TypeDictionary = { + nan: "NaN", + number: "antal", + array: "lista" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${issue2.expected}, fick ${received}`; + } + return `Ogiltig inmatning: f\xF6rv\xE4ntat ${expected}, fick ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ogiltig inmatning: f\xF6rv\xE4ntat ${stringifyPrimitive(issue2.values[0])}`; + return `Ogiltigt val: f\xF6rv\xE4ntade en av ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `F\xF6r stor(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; + } + return `F\xF6r stor(t): f\xF6rv\xE4ntat ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `F\xF6r lite(t): f\xF6rv\xE4ntade ${issue2.origin ?? "v\xE4rdet"} att ha ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `Ogiltig str\xE4ng: m\xE5ste sluta med "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${_issue.includes}"`; + if (_issue.format === "regex") + return `Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${_issue.pattern}"`; + return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ogiltigt tal: m\xE5ste vara en multipel av ${issue2.divisor}`; + case "unrecognized_keys": + return `${issue2.keys.length > 1 ? "Ok\xE4nda nycklar" : "Ok\xE4nd nyckel"}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Ogiltig nyckel i ${issue2.origin ?? "v\xE4rdet"}`; + case "invalid_union": + return "Ogiltig input"; + case "invalid_element": + return `Ogiltigt v\xE4rde i ${issue2.origin ?? "v\xE4rdet"}`; + default: + return `Ogiltig input`; + } + }; +}, "error"); +function sv_default() { + return { + localeError: error49() + }; +} +__name(sv_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ta.js +var error50 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, + file: { unit: "\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, + array: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, + set: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" }, + map: { unit: "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1", + email: "\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD", + date: "ISO \u0BA4\u0BC7\u0BA4\u0BBF", + time: "ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD", + duration: "ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1", + ipv4: "IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", + ipv6: "IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", + mac: "MAC \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF", + cidrv4: "IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1", + cidrv6: "IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1", + base64: "base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD", + base64url: "base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD", + json_string: "JSON \u0B9A\u0BB0\u0BAE\u0BCD", + e164: "E.164 \u0B8E\u0BA3\u0BCD", + credit_card: "\u0B95\u0B9F\u0BA9\u0BCD \u0B85\u0B9F\u0BCD\u0B9F\u0BC8 \u0B8E\u0BA3\u0BCD", + currency_code: "\u0BA8\u0BBE\u0BA3\u0BAF\u0B95\u0BCD \u0B95\u0BC1\u0BB1\u0BBF\u0BAF\u0BC0\u0B9F\u0BC1", + iban: "IBAN", + jwt: "JWT", + template_literal: "input" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0B8E\u0BA3\u0BCD", + array: "\u0B85\u0BA3\u0BBF", + null: "\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${issue2.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`; + } + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${joinValues(issue2.values, "|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + } + return `\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin ?? "\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${adj}${issue2.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + } + return `\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${issue2.origin} ${adj}${issue2.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + if (_issue.format === "ends_with") + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + if (_issue.format === "includes") + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_issue.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + if (_issue.format === "regex") + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_issue.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${issue2.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`; + case "unrecognized_keys": + return `\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${issue2.keys.length > 1 ? "\u0B95\u0BB3\u0BCD" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`; + case "invalid_union": + return "\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"; + case "invalid_element": + return `${issue2.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`; + default: + return `\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1`; + } + }; +}, "error"); +function ta_default() { + return { + localeError: error50() + }; +} +__name(ta_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tg.js +var error51 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0430\u043B\u043E\u043C\u0430\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, + file: { unit: "\u0431\u0430\u0439\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, + array: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, + set: { unit: "\u0443\u043D\u0441\u0443\u0440", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" }, + map: { unit: "\u0441\u0430\u0431\u0442", verb: "\u0434\u043E\u0448\u0442\u0430 \u0431\u043E\u0448\u0430\u0434" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0432\u0443\u0440\u0443\u0434", + email: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 email", + url: "URL", + emoji: "\u044D\u043C\u043E\u04B7\u0438", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u0441\u0430\u043D\u0430\u0432\u0443 \u0432\u0430\u049B\u0442\u0438 ISO", + date: "\u0441\u0430\u043D\u0430\u0438 ISO", + time: "\u0432\u0430\u049B\u0442\u0438 ISO", + duration: "\u0434\u0430\u0432\u043E\u043C\u043D\u043E\u043A\u0438\u0438 ISO", + ipv4: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv4", + ipv6: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 IPv6", + mac: "\u0441\u0443\u0440\u043E\u0493\u0430\u0438 MAC", + cidrv4: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv4", + cidrv6: "\u043C\u0430\u04B3\u0434\u0443\u0434\u0430\u0438 IPv6", + base64: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64", + base64url: "\u0441\u0430\u0442\u0440\u0438 \u0434\u0430\u0440 \u0444\u043E\u0440\u043C\u0430\u0442\u0438 base64url", + json_string: "\u0441\u0430\u0442\u0440\u0438 JSON", + e164: "\u0440\u0430\u049B\u0430\u043C\u0438 E.164", + credit_card: "\u0440\u0430\u049B\u0430\u043C\u0438 \u043A\u043E\u0440\u0442\u0438 \u043A\u0440\u0435\u0434\u0438\u0442\u04E3", + currency_code: "\u0440\u0430\u043C\u0437\u0438 \u0430\u0441\u044A\u043E\u0440", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0432\u0443\u0440\u0443\u0434" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0440\u0430\u049B\u0430\u043C", + string: "\u0441\u0430\u0442\u0440", + array: "\u043C\u0430\u0441\u0441\u0438\u0432", + object: "\u043E\u0431\u044A\u0435\u043A\u0442", + date: "\u0441\u0430\u043D\u0430" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${expected} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442, ${received} \u0433\u0438\u0440\u0438\u0444\u0442\u0430 \u0448\u0443\u0434`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: ${stringifyPrimitive(issue2.values[0])} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; + return `\u0418\u043D\u0442\u0438\u0445\u043E\u0431\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u044F\u043A\u0435 \u0430\u0437 ${joinValues(issue2.values, "|")} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u0425\u0435\u043B\u0435 \u043A\u0430\u043B\u043E\u043D: ${issue2.origin ?? "\u049B\u0438\u043C\u0430\u0442"} \u0431\u043E\u044F\u0434 ${adj}${issue2.maximum.toString()} \u0431\u043E\u0448\u0430\u0434`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; + return `\u0425\u0435\u043B\u0435 \u0445\u0443\u0440\u0434: ${issue2.origin} \u0431\u043E\u044F\u0434 ${adj}${issue2.minimum.toString()} \u0431\u043E\u0448\u0430\u0434`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.prefix}" \u043E\u0493\u043E\u0437 \u0448\u0430\u0432\u0430\u0434`; + if (_issue.format === "ends_with") + return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u043E "${_issue.suffix}" \u0430\u043D\u04B7\u043E\u043C \u0451\u0431\u0430\u0434`; + if (_issue.format === "includes") + return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 "${_issue.includes}"-\u0440\u043E \u0434\u0430\u0440 \u0431\u0430\u0440 \u0433\u0438\u0440\u0430\u0434`; + if (_issue.format === "regex") + return `\u0421\u0430\u0442\u0440\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 \u043D\u0430\u043C\u0443\u043D\u0430\u0438 ${_issue.pattern} \u043C\u0443\u0432\u043E\u0444\u0438\u049B\u0430\u0442 \u043A\u0443\u043D\u0430\u0434`; + return `${FormatDictionary[_issue.format] ?? issue2.format}-\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`; + } + case "not_multiple_of": + return `\u0420\u0430\u049B\u0430\u043C\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442: \u0431\u043E\u044F\u0434 \u0431\u0430 ${issue2.divisor} \u0431\u0435 \u0431\u0430\u049B\u0438\u044F \u0442\u0430\u049B\u0441\u0438\u043C \u0448\u0430\u0432\u0430\u0434`; + case "unrecognized_keys": + return `\u041A\u0430\u043B\u0438\u0434${issue2.keys.length > 1 ? "\u04B3\u043E\u0438" : "\u0438"} \u043D\u043E\u043C\u0430\u044A\u043B\u0443\u043C: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u041A\u0430\u043B\u0438\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`; + case "invalid_union": + if (issue2.options && Array.isArray(issue2.options) && issue2.options.length > 0) { + const opts = issue2.options.map((o3) => `'${o3}'`).join(" | "); + return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442\u0438 \u0434\u0438\u0441\u043A\u0440\u0438\u043C\u0438\u043D\u0430\u0442\u043E\u0440: ${opts} \u0438\u043D\u0442\u0438\u0437\u043E\u0440 \u043C\u0435\u0440\u0430\u0444\u0442`; + } + return "\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442"; + case "invalid_element": + return `\u049A\u0438\u043C\u0430\u0442\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442 \u0434\u0430\u0440 ${issue2.origin}`; + default: + return `\u0412\u0443\u0440\u0443\u0434\u0438 \u043D\u043E\u0434\u0443\u0440\u0443\u0441\u0442`; + } + }; +}, "error"); +function tg_default() { + return { + localeError: error51() + }; +} +__name(tg_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/th.js +var error52 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, + file: { unit: "\u0E44\u0E1A\u0E15\u0E4C", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, + array: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, + set: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" }, + map: { unit: "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19", + email: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25", + url: "URL", + emoji: "\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", + date: "\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO", + time: "\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", + duration: "\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO", + ipv4: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4", + ipv6: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6", + mac: "\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 MAC", + cidrv4: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4", + cidrv6: "\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6", + base64: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64", + base64url: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL", + json_string: "\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON", + e164: "\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)", + credit_card: "\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E1A\u0E31\u0E15\u0E23\u0E40\u0E04\u0E23\u0E14\u0E34\u0E15", + currency_code: "\u0E23\u0E2B\u0E31\u0E2A\u0E2A\u0E01\u0E38\u0E25\u0E40\u0E07\u0E34\u0E19", + iban: "IBAN", + jwt: "\u0E42\u0E17\u0E40\u0E04\u0E19 JWT", + template_literal: "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02", + array: "\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)", + null: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${issue2.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`; + } + return `\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${stringifyPrimitive(issue2.values[0])}`; + return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19" : "\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`; + return `\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin ?? "\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? "\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22" : "\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${issue2.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${_issue.prefix}"`; + } + if (_issue.format === "ends_with") + return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${_issue.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`; + if (_issue.format === "regex") + return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_issue.pattern}`; + return `\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${issue2.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`; + case "unrecognized_keys": + return `\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`; + case "invalid_union": + return "\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49"; + case "invalid_element": + return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${issue2.origin}`; + default: + return `\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07`; + } + }; +}, "error"); +function th_default() { + return { + localeError: error52() + }; +} +__name(th_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tk.js +var error53 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "simwol", verb: "bolmaly" }, + file: { unit: "ba\xFDt", verb: "bolmaly" }, + array: { unit: "elementler", verb: "bolmaly" }, + set: { unit: "elementler", verb: "bolmaly" }, + map: { unit: "elementler", verb: "bolmaly" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "giri\u015F", + email: "e-po\xE7ta salgysy", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO sene we wagt", + date: "ISO sene", + time: "ISO wagt", + duration: "ISO wagt aralygy", + ipv4: "IPv4 salgysy", + ipv6: "IPv6 salgysy", + mac: "MAC salgysy", + cidrv4: "IPv4 aralygy", + cidrv6: "IPv6 aralygy", + base64: "base64 bilen \u015Fifrlenen setir", + base64url: "base64url bilen \u015Fifrlenen setir", + json_string: "JSON setiri", + e164: "E.164 nomeri", + credit_card: "kredit kartyny\u0148 nomeri", + currency_code: "wal\xFDuta kody", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u015Fablon" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + return `N\xE4dogry baha: gara\u015Fylan ${expected} \xFDerine ${received} alyndy`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `N\xE4dogry baha: ${stringifyPrimitive(issue2.values[0])} bolmaly`; + return `N\xE4dogry sa\xFDlaw: a\u015Fakdakylardan biri bolmaly: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "element"}`; + return `Has uly: gara\u015Fyl\xFDan ${issue2.origin ?? "baha"} ${adj} ${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`; + return `Has ki\xE7i: gara\u015Fyl\xFDan ${issue2.origin} ${adj} ${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `N\xE4dogry setir: "${_issue.prefix}" bilen ba\u015Flamaly`; + if (_issue.format === "ends_with") + return `N\xE4dogry setir: "${_issue.suffix}" bilen gutarmaly`; + if (_issue.format === "includes") + return `N\xE4dogry setir: "${_issue.includes}" saklamaly`; + if (_issue.format === "regex") + return `N\xE4dogry setir: ${_issue.pattern} nusga la\xFDyk bolmaly`; + return `N\xE4dogry ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `N\xE4dogry san: ${issue2.divisor} bilen galyndysyz b\xF6l\xFCnmeli`; + case "unrecognized_keys": + return `Tanalma\xFDan a\xE7ar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} i\xE7inde n\xE4dogry a\xE7ar`; + case "invalid_union": + return "N\xE4dogry baha"; + case "invalid_element": + return `${issue2.origin} i\xE7inde n\xE4dogry baha`; + default: + return `N\xE4dogry baha`; + } + }; +}, "error"); +function tk_default() { + return { + localeError: error53() + }; +} +__name(tk_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/tr.js +var error54 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "karakter", verb: "olmal\u0131" }, + file: { unit: "bayt", verb: "olmal\u0131" }, + array: { unit: "\xF6\u011Fe", verb: "olmal\u0131" }, + set: { unit: "\xF6\u011Fe", verb: "olmal\u0131" }, + map: { unit: "\xF6\u011Fe", verb: "olmal\u0131" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "girdi", + email: "e-posta adresi", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO tarih ve saat", + date: "ISO tarih", + time: "ISO saat", + duration: "ISO s\xFCre", + ipv4: "IPv4 adresi", + ipv6: "IPv6 adresi", + mac: "MAC adresi", + cidrv4: "IPv4 aral\u0131\u011F\u0131", + cidrv6: "IPv6 aral\u0131\u011F\u0131", + base64: "base64 ile \u015Fifrelenmi\u015F metin", + base64url: "base64url ile \u015Fifrelenmi\u015F metin", + json_string: "JSON dizesi", + e164: "E.164 say\u0131s\u0131", + credit_card: "kredi kart\u0131 numaras\u0131", + currency_code: "para birimi kodu", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u015Eablon dizesi" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Ge\xE7ersiz de\u011Fer: beklenen instanceof ${issue2.expected}, al\u0131nan ${received}`; + } + return `Ge\xE7ersiz de\u011Fer: beklenen ${expected}, al\u0131nan ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Ge\xE7ersiz de\u011Fer: beklenen ${stringifyPrimitive(issue2.values[0])}`; + return `Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\xF6\u011Fe"}`; + return `\xC7ok b\xFCy\xFCk: beklenen ${issue2.origin ?? "de\u011Fer"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + return `\xC7ok k\xFC\xE7\xFCk: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Ge\xE7ersiz metin: "${_issue.prefix}" ile ba\u015Flamal\u0131`; + if (_issue.format === "ends_with") + return `Ge\xE7ersiz metin: "${_issue.suffix}" ile bitmeli`; + if (_issue.format === "includes") + return `Ge\xE7ersiz metin: "${_issue.includes}" i\xE7ermeli`; + if (_issue.format === "regex") + return `Ge\xE7ersiz metin: ${_issue.pattern} desenine uymal\u0131`; + return `Ge\xE7ersiz ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Ge\xE7ersiz say\u0131: ${issue2.divisor} ile tam b\xF6l\xFCnebilmeli`; + case "unrecognized_keys": + return `Tan\u0131nmayan anahtar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} i\xE7inde ge\xE7ersiz anahtar`; + case "invalid_union": + return "Ge\xE7ersiz de\u011Fer"; + case "invalid_element": + return `${issue2.origin} i\xE7inde ge\xE7ersiz de\u011Fer`; + default: + return `Ge\xE7ersiz de\u011Fer`; + } + }; +}, "error"); +function tr_default() { + return { + localeError: error54() + }; +} +__name(tr_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/uk.js +var error55 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, + file: { unit: "\u0431\u0430\u0439\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, + array: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, + set: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" }, + map: { unit: "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456", + email: "\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438", + url: "URL", + emoji: "\u0435\u043C\u043E\u0434\u0437\u0456", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO", + date: "\u0434\u0430\u0442\u0430 ISO", + time: "\u0447\u0430\u0441 ISO", + duration: "\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO", + ipv4: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv4", + ipv6: "\u0430\u0434\u0440\u0435\u0441\u0430 IPv6", + mac: "\u0430\u0434\u0440\u0435\u0441\u0430 MAC", + cidrv4: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4", + cidrv6: "\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6", + base64: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64", + base64url: "\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url", + json_string: "\u0440\u044F\u0434\u043E\u043A JSON", + e164: "\u043D\u043E\u043C\u0435\u0440 E.164", + credit_card: "\u043D\u043E\u043C\u0435\u0440 \u043A\u0440\u0435\u0434\u0438\u0442\u043D\u043E\u0457 \u043A\u0430\u0440\u0442\u043A\u0438", + currency_code: "\u043A\u043E\u0434 \u0432\u0430\u043B\u044E\u0442\u0438", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0447\u0438\u0441\u043B\u043E", + array: "\u043C\u0430\u0441\u0438\u0432" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${issue2.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`; + } + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${stringifyPrimitive(issue2.values[0])}`; + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`; + return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin ?? "\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${issue2.origin} \u0431\u0443\u0434\u0435 ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_issue.pattern}`; + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${issue2.divisor}`; + case "unrecognized_keys": + return `\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${issue2.keys.length > 1 ? "\u0456" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${issue2.origin}`; + case "invalid_union": + return "\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"; + case "invalid_element": + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${issue2.origin}`; + default: + return `\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456`; + } + }; +}, "error"); +function uk_default() { + return { + localeError: error55() + }; +} +__name(uk_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ua.js +function ua_default() { + return uk_default(); +} +__name(ua_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/ur.js +var error56 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" }, + file: { unit: "\u0628\u0627\u0626\u0679\u0633", verb: "\u06C1\u0648\u0646\u0627" }, + array: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" }, + set: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" }, + map: { unit: "\u0622\u0626\u0679\u0645\u0632", verb: "\u06C1\u0648\u0646\u0627" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0627\u0646 \u067E\u0679", + email: "\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633", + url: "\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644", + emoji: "\u0627\u06CC\u0645\u0648\u062C\u06CC", + uuid: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", + uuidv4: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4", + uuidv6: "\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6", + nanoid: "\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC", + guid: "\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", + cuid: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", + cuid2: "\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2", + ulid: "\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC", + xid: "\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC", + ksuid: "\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC", + datetime: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645", + date: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E", + time: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A", + duration: "\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A", + ipv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633", + ipv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633", + mac: "\u0627\u06CC\u0645 \u0627\u06D2 \u0633\u06CC \u0627\u06CC\u0688\u0631\u06CC\u0633", + cidrv4: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C", + cidrv6: "\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C", + base64: "\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF", + base64url: "\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF", + json_string: "\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF", + e164: "\u0627\u06CC 164 \u0646\u0645\u0628\u0631", + credit_card: "\u06A9\u0631\u06CC\u0688\u0679 \u06A9\u0627\u0631\u0688 \u0646\u0645\u0628\u0631", + currency_code: "\u06A9\u0631\u0646\u0633\u06CC \u06A9\u0648\u0688", + iban: "IBAN", + jwt: "\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC", + template_literal: "\u0627\u0646 \u067E\u0679" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u0646\u0645\u0628\u0631", + array: "\u0622\u0631\u06D2", + null: "\u0646\u0644" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${issue2.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`; + } + return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${received} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${stringifyPrimitive(issue2.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; + return `\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${joinValues(issue2.values, "|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`; + return `\u0628\u06C1\u062A \u0628\u0691\u0627: ${issue2.origin ?? "\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${adj}${issue2.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u06D2 ${adj}${issue2.minimum.toString()} ${sizing.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`; + } + return `\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${issue2.origin} \u06A9\u0627 ${adj}${issue2.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; + } + if (_issue.format === "ends_with") + return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; + if (_issue.format === "includes") + return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_issue.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; + if (_issue.format === "regex") + return `\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_issue.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; + return `\u063A\u0644\u0637 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${issue2.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`; + case "unrecognized_keys": + return `\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${issue2.keys.length > 1 ? "\u0632" : ""}: ${joinValues(issue2.keys, "\u060C ")}`; + case "invalid_key": + return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`; + case "invalid_union": + return "\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"; + case "invalid_element": + return `${issue2.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`; + default: + return `\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679`; + } + }; +}, "error"); +function ur_default() { + return { + localeError: error56() + }; +} +__name(ur_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/uz.js +var error57 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "belgi", verb: "bo\u2018lishi kerak" }, + file: { unit: "bayt", verb: "bo\u2018lishi kerak" }, + array: { unit: "element", verb: "bo\u2018lishi kerak" }, + set: { unit: "element", verb: "bo\u2018lishi kerak" }, + map: { unit: "yozuv", verb: "bo\u2018lishi kerak" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "kirish", + email: "elektron pochta manzili", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO sana va vaqti", + date: "ISO sana", + time: "ISO vaqt", + duration: "ISO davomiylik", + ipv4: "IPv4 manzil", + ipv6: "IPv6 manzil", + mac: "MAC manzil", + cidrv4: "IPv4 diapazon", + cidrv6: "IPv6 diapazon", + base64: "base64 kodlangan satr", + base64url: "base64url kodlangan satr", + json_string: "JSON satr", + e164: "E.164 raqam", + credit_card: "kredit karta raqami", + currency_code: "valyuta kodi", + iban: "IBAN", + jwt: "JWT", + template_literal: "kirish" + }; + const TypeDictionary = { + nan: "NaN", + number: "raqam", + array: "massiv" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `Noto\u2018g\u2018ri kirish: kutilgan instanceof ${issue2.expected}, qabul qilingan ${received}`; + } + return `Noto\u2018g\u2018ri kirish: kutilgan ${expected}, qabul qilingan ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `Noto\u2018g\u2018ri kirish: kutilgan ${stringifyPrimitive(issue2.values[0])}`; + return `Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`; + return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`; + } + return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Noto\u2018g\u2018ri satr: "${_issue.prefix}" bilan boshlanishi kerak`; + if (_issue.format === "ends_with") + return `Noto\u2018g\u2018ri satr: "${_issue.suffix}" bilan tugashi kerak`; + if (_issue.format === "includes") + return `Noto\u2018g\u2018ri satr: "${_issue.includes}" ni o\u2018z ichiga olishi kerak`; + if (_issue.format === "regex") + return `Noto\u2018g\u2018ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`; + return `Noto\u2018g\u2018ri ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `Noto\u2018g\u2018ri raqam: ${issue2.divisor} ning karralisi bo\u2018lishi kerak`; + case "unrecognized_keys": + return `Noma\u2019lum kalit${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} dagi kalit noto\u2018g\u2018ri`; + case "invalid_union": + return "Noto\u2018g\u2018ri kirish"; + case "invalid_element": + return `${issue2.origin} da noto\u2018g\u2018ri qiymat`; + default: + return `Noto\u2018g\u2018ri kirish`; + } + }; +}, "error"); +function uz_default() { + return { + localeError: error57() + }; +} +__name(uz_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/vi.js +var error58 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" }, + file: { unit: "byte", verb: "c\xF3" }, + array: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" }, + set: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" }, + map: { unit: "ph\u1EA7n t\u1EED", verb: "c\xF3" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u0111\u1EA7u v\xE0o", + email: "\u0111\u1ECBa ch\u1EC9 email", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ng\xE0y gi\u1EDD ISO", + date: "ng\xE0y ISO", + time: "gi\u1EDD ISO", + duration: "kho\u1EA3ng th\u1EDDi gian ISO", + ipv4: "\u0111\u1ECBa ch\u1EC9 IPv4", + ipv6: "\u0111\u1ECBa ch\u1EC9 IPv6", + mac: "\u0111\u1ECBa ch\u1EC9 MAC", + cidrv4: "d\u1EA3i IPv4", + cidrv6: "d\u1EA3i IPv6", + base64: "chu\u1ED7i m\xE3 h\xF3a base64", + base64url: "chu\u1ED7i m\xE3 h\xF3a base64url", + json_string: "chu\u1ED7i JSON", + e164: "s\u1ED1 E.164", + credit_card: "s\u1ED1 th\u1EBB t\xEDn d\u1EE5ng", + currency_code: "m\xE3 ti\u1EC1n t\u1EC7", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u0111\u1EA7u v\xE0o" + }; + const TypeDictionary = { + nan: "NaN", + number: "s\u1ED1", + array: "m\u1EA3ng" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${issue2.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`; + } + return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${stringifyPrimitive(issue2.values[0])}`; + return `T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "ph\u1EA7n t\u1EED"}`; + return `Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${issue2.origin ?? "gi\xE1 tr\u1ECB"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${_issue.suffix}"`; + if (_issue.format === "includes") + return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${_issue.includes}"`; + if (_issue.format === "regex") + return `Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_issue.pattern}`; + return `${FormatDictionary[_issue.format] ?? issue2.format} kh\xF4ng h\u1EE3p l\u1EC7`; + } + case "not_multiple_of": + return `S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${issue2.divisor}`; + case "unrecognized_keys": + return `Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`; + case "invalid_union": + return "\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"; + case "invalid_element": + return `Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${issue2.origin}`; + default: + return `\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7`; + } + }; +}, "error"); +function vi_default() { + return { + localeError: error58() + }; +} +__name(vi_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/zh-CN.js +var error59 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" }, + file: { unit: "\u5B57\u8282", verb: "\u5305\u542B" }, + array: { unit: "\u9879", verb: "\u5305\u542B" }, + set: { unit: "\u9879", verb: "\u5305\u542B" }, + map: { unit: "\u9879", verb: "\u5305\u542B" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u8F93\u5165", + email: "\u7535\u5B50\u90AE\u4EF6", + url: "URL", + emoji: "\u8868\u60C5\u7B26\u53F7", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO\u65E5\u671F\u65F6\u95F4", + date: "ISO\u65E5\u671F", + time: "ISO\u65F6\u95F4", + duration: "ISO\u65F6\u957F", + ipv4: "IPv4\u5730\u5740", + ipv6: "IPv6\u5730\u5740", + mac: "MAC\u5730\u5740", + cidrv4: "IPv4\u7F51\u6BB5", + cidrv6: "IPv6\u7F51\u6BB5", + base64: "base64\u7F16\u7801\u5B57\u7B26\u4E32", + base64url: "base64url\u7F16\u7801\u5B57\u7B26\u4E32", + json_string: "JSON\u5B57\u7B26\u4E32", + e164: "E.164\u53F7\u7801", + credit_card: "\u4FE1\u7528\u5361\u53F7", + currency_code: "\u8D27\u5E01\u4EE3\u7801", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u8F93\u5165" + }; + const TypeDictionary = { + nan: "NaN", + number: "\u6570\u5B57", + array: "\u6570\u7EC4", + null: "\u7A7A\u503C(null)" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${issue2.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`; + } + return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${stringifyPrimitive(issue2.values[0])}`; + return `\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u4E2A\u5143\u7D20"}`; + return `\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${issue2.origin ?? "\u503C"} ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${issue2.origin} ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.prefix}" \u5F00\u5934`; + if (_issue.format === "ends_with") + return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_issue.suffix}" \u7ED3\u5C3E`; + if (_issue.format === "includes") + return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_issue.pattern}`; + return `\u65E0\u6548${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${issue2.divisor} \u7684\u500D\u6570`; + case "unrecognized_keys": + return `\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `${issue2.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`; + case "invalid_union": + return "\u65E0\u6548\u8F93\u5165"; + case "invalid_element": + return `${issue2.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`; + default: + return `\u65E0\u6548\u8F93\u5165`; + } + }; +}, "error"); +function zh_CN_default() { + return { + localeError: error59() + }; +} +__name(zh_CN_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/zh-TW.js +var error60 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" }, + file: { unit: "\u4F4D\u5143\u7D44", verb: "\u64C1\u6709" }, + array: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" }, + set: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" }, + map: { unit: "\u9805\u76EE", verb: "\u64C1\u6709" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u8F38\u5165", + email: "\u90F5\u4EF6\u5730\u5740", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "ISO \u65E5\u671F\u6642\u9593", + date: "ISO \u65E5\u671F", + time: "ISO \u6642\u9593", + duration: "ISO \u671F\u9593", + ipv4: "IPv4 \u4F4D\u5740", + ipv6: "IPv6 \u4F4D\u5740", + mac: "MAC \u4F4D\u5740", + cidrv4: "IPv4 \u7BC4\u570D", + cidrv6: "IPv6 \u7BC4\u570D", + base64: "base64 \u7DE8\u78BC\u5B57\u4E32", + base64url: "base64url \u7DE8\u78BC\u5B57\u4E32", + json_string: "JSON \u5B57\u4E32", + e164: "E.164 \u6578\u503C", + credit_card: "\u4FE1\u7528\u5361\u865F", + currency_code: "\u8CA8\u5E63\u4EE3\u78BC", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u8F38\u5165" + }; + const TypeDictionary = { + nan: "NaN" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${issue2.expected}\uFF0C\u4F46\u6536\u5230 ${received}`; + } + return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${expected}\uFF0C\u4F46\u6536\u5230 ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${stringifyPrimitive(issue2.values[0])}`; + return `\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "\u500B\u5143\u7D20"}`; + return `\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${issue2.origin ?? "\u503C"} \u61C9\u70BA ${adj}${issue2.maximum.toString()}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) { + return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()} ${sizing.unit}`; + } + return `\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${issue2.origin} \u61C9\u70BA ${adj}${issue2.minimum.toString()}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") { + return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.prefix}" \u958B\u982D`; + } + if (_issue.format === "ends_with") + return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_issue.suffix}" \u7D50\u5C3E`; + if (_issue.format === "includes") + return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_issue.pattern}`; + return `\u7121\u6548\u7684 ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${issue2.divisor} \u7684\u500D\u6578`; + case "unrecognized_keys": + return `\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${issue2.keys.length > 1 ? "\u5011" : ""}\uFF1A${joinValues(issue2.keys, "\u3001")}`; + case "invalid_key": + return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`; + case "invalid_union": + return "\u7121\u6548\u7684\u8F38\u5165\u503C"; + case "invalid_element": + return `${issue2.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`; + default: + return `\u7121\u6548\u7684\u8F38\u5165\u503C`; + } + }; +}, "error"); +function zh_TW_default() { + return { + localeError: error60() + }; +} +__name(zh_TW_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/locales/yo.js +var error61 = /* @__PURE__ */ __name(() => { + const Sizable = { + string: { unit: "\xE0mi", verb: "n\xED" }, + file: { unit: "bytes", verb: "n\xED" }, + array: { unit: "nkan", verb: "n\xED" }, + set: { unit: "nkan", verb: "n\xED" }, + map: { unit: "nkan", verb: "n\xED" } + }; + function getSizing(origin) { + return Sizable[origin] ?? null; + } + __name(getSizing, "getSizing"); + const FormatDictionary = { + regex: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9", + email: "\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC", + url: "URL", + emoji: "emoji", + uuid: "UUID", + uuidv4: "UUIDv4", + uuidv6: "UUIDv6", + nanoid: "nanoid", + guid: "GUID", + cuid: "cuid", + cuid2: "cuid2", + ulid: "ULID", + xid: "XID", + ksuid: "KSUID", + datetime: "\xE0k\xF3k\xF2 ISO", + date: "\u1ECDj\u1ECD\u0301 ISO", + time: "\xE0k\xF3k\xF2 ISO", + duration: "\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO", + ipv4: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv4", + ipv6: "\xE0d\xEDr\u1EB9\u0301s\xEC IPv6", + mac: "\xE0d\xEDr\u1EB9\u0301s\xEC MAC", + cidrv4: "\xE0gb\xE8gb\xE8 IPv4", + cidrv6: "\xE0gb\xE8gb\xE8 IPv6", + base64: "\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64", + base64url: "\u1ECD\u0300r\u1ECD\u0300 base64url", + json_string: "\u1ECD\u0300r\u1ECD\u0300 JSON", + e164: "n\u1ECD\u0301mb\xE0 E.164", + credit_card: "n\u1ECDmba kaadi gbese", + currency_code: "koodu ow\xF3", + iban: "IBAN", + jwt: "JWT", + template_literal: "\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9" + }; + const TypeDictionary = { + nan: "NaN", + number: "n\u1ECD\u0301mb\xE0", + array: "akop\u1ECD" + }; + return (issue2) => { + switch (issue2.code) { + case "invalid_type": { + const expected = TypeDictionary[issue2.expected] ?? issue2.expected; + const receivedType = parsedType(issue2.input); + const received = TypeDictionary[receivedType] ?? receivedType; + if (/^[A-Z]/.test(issue2.expected)) { + return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${issue2.expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`; + } + return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${expected}, \xE0m\u1ECD\u0300 a r\xED ${received}`; + } + case "invalid_value": + if (issue2.values.length === 1) + return `\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${stringifyPrimitive(issue2.values[0])}`; + return `\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${joinValues(issue2.values, "|")}`; + case "too_big": { + const adj = issue2.inclusive ? "<=" : "<"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin ?? "iye"} ${sizing.verb} ${adj}${issue2.maximum} ${sizing.unit}`; + return `T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.maximum}`; + } + case "too_small": { + const adj = issue2.inclusive ? ">=" : ">"; + const sizing = getSizing(issue2.origin); + if (sizing) + return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum} ${sizing.unit}`; + return `K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${adj}${issue2.minimum}`; + } + case "invalid_format": { + const _issue = issue2; + if (_issue.format === "starts_with") + return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${_issue.prefix}"`; + if (_issue.format === "ends_with") + return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${_issue.suffix}"`; + if (_issue.format === "includes") + return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${_issue.includes}"`; + if (_issue.format === "regex") + return `\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${_issue.pattern}`; + return `A\u1E63\xEC\u1E63e: ${FormatDictionary[_issue.format] ?? issue2.format}`; + } + case "not_multiple_of": + return `N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${issue2.divisor}`; + case "unrecognized_keys": + return `B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${joinValues(issue2.keys, ", ")}`; + case "invalid_key": + return `B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`; + case "invalid_union": + return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"; + case "invalid_element": + return `Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${issue2.origin}`; + default: + return "\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"; + } + }; +}, "error"); +function yo_default() { + return { + localeError: error61() + }; +} +__name(yo_default, "default"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/registries.js +var _a2; +var $output = /* @__PURE__ */ Symbol("ZodOutput"); +var $input = /* @__PURE__ */ Symbol("ZodInput"); +var $ZodRegistry = class { + static { + __name(this, "$ZodRegistry"); + } + constructor() { + this._map = /* @__PURE__ */ new WeakMap(); + this._idmap = /* @__PURE__ */ new Map(); + } + add(schema2, ..._meta) { + const meta3 = _meta[0]; + this._map.set(schema2, meta3); + if (meta3 && typeof meta3 === "object" && "id" in meta3) { + this._idmap.set(meta3.id, schema2); + } + return this; + } + clear() { + this._map = /* @__PURE__ */ new WeakMap(); + this._idmap = /* @__PURE__ */ new Map(); + return this; + } + remove(schema2) { + const meta3 = this._map.get(schema2); + if (meta3 && typeof meta3 === "object" && "id" in meta3) { + this._idmap.delete(meta3.id); + } + this._map.delete(schema2); + return this; + } + get(schema2) { + const p3 = schema2._zod.parent; + if (p3) { + const pm = { ...this.get(p3) ?? {} }; + delete pm.id; + const f5 = { ...pm, ...this._map.get(schema2) }; + return Object.keys(f5).length ? f5 : void 0; + } + return this._map.get(schema2); + } + has(schema2) { + return this._map.has(schema2); + } +}; +function registry() { + return new $ZodRegistry(); +} +__name(registry, "registry"); +(_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry()); +var globalRegistry = globalThis.__zod_globalRegistry; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/compile.js +var INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid"); +var FALLBACK_FLAG = /* @__PURE__ */ Symbol.for("zod.compile.fallback"); +var ZodCompileAsyncError = class extends Error { + static { + __name(this, "ZodCompileAsyncError"); + } + constructor(message = "z.compile does not support async refinements, transforms, or checks") { + super(message); + this.name = "ZodCompileAsyncError"; + } +}; +var ZodCompileUnsupportedError = class extends Error { + static { + __name(this, "ZodCompileUnsupportedError"); + } + constructor(feature, islandable = true) { + super(`z.compile does not support ${feature}; this schema must use the runtime parser`); + this.name = "ZodCompileUnsupportedError"; + this.islandable = islandable; + } +}; +function compileValidator(schema2, parser) { + try { + return compileFn(schema2, { assertOnly: true }); + } catch { + return parser; + } +} +__name(compileValidator, "compileValidator"); +function compile(schema2, options) { + try { + const parser = compileFn(schema2); + const clone2 = withParser(schema2, parser); + clone2._zod.bag.validator = compileValidator(schema2, parser); + return clone2; + } catch (err) { + if (options?.strict) + throw err; + return schema2; + } +} +__name(compile, "compile"); +function withParser(schema2, parser) { + if (isRecursiveSchema(schema2)) { + throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle"); + } + const clone2 = clone(schema2); + const liveRun = schema2._zod.run; + const originalRun = liveRun.__originalRun ?? liveRun; + const wrapped = /* @__PURE__ */ __name((payload, ctx) => { + if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks || ctx?.[FALLBACK_FLAG]) { + return originalRun(payload, ctx); + } + if (ctx && isBackEdge(ctx, payload.value)) { + return originalRun(payload, ctx); + } + const out = parser(payload.value); + if (out !== INVALID) { + payload.value = out; + return payload; + } + if (ctx) + ctx[FALLBACK_FLAG] = true; + return originalRun(payload, ctx); + }, "wrapped"); + wrapped.__originalRun = originalRun; + clone2._zod.bag.fallbackRun = originalRun; + clone2._zod.bag.validator = parser; + clone2._zod.run = wrapped; + if (!liveRun.__originalRun) + installCompiledUserMethods(clone2, schema2, parser); + return clone2; +} +__name(withParser, "withParser"); +function installCompiledUserMethods(target, source, parser) { + const targetAny = target; + const sourceAny = source; + if (typeof sourceAny.safeParse === "function") { + const originalSafeParse = sourceAny.safeParse; + targetAny.safeParse = (data, params) => { + const out = parser(data); + if (out !== INVALID) { + return { success: true, data: out }; + } + return originalSafeParse(data, params); + }; + } + if (typeof sourceAny.parse === "function") { + const originalParse = sourceAny.parse; + targetAny.parse = (data, params) => { + const out = parser(data); + if (out !== INVALID) { + return out; + } + return originalParse(data, params); + }; + } +} +__name(installCompiledUserMethods, "installCompiledUserMethods"); +function compileFn(schema2, options) { + let recursive2 = true; + try { + recursive2 = isRecursiveSchema(schema2); + } catch { + } + if (recursive2) { + throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle"); + } + const ctx = { + constants: /* @__PURE__ */ new Map(), + constantCounter: 0, + varCounter: 0, + definite: true + }; + const doc = new Doc(["input"]); + const outputAccessor = generateCheck(doc, ctx, schema2, "input", !options?.assertOnly); + doc.write(outputAccessor === null ? `return true;` : `return ${outputAccessor};`); + const constantNames = ["INVALID", ...ctx.constants.keys()]; + const constantValues = [INVALID, ...ctx.constants.values()]; + const code = doc.content.join("\n"); + const fullCode = options?.debug ? constantNames.length > 0 ? `// Constants: ${constantNames.join(", ")} +${code}` : code : ""; + const F = Function; + const factoryCode = `return (input) => { +${code} +}`; + let fn; + try { + const factory = new F(...constantNames, factoryCode); + fn = factory(...constantValues); + } catch (err) { + throw new ZodCompileUnsupportedError(`this schema (generated code failed to evaluate: ${err.message})`); + } + if (options?.debug) { + fn.code = fullCode; + } + fn.definite = ctx.definite; + return fn; +} +__name(compileFn, "compileFn"); +function addConstant(ctx, value) { + for (const [name3, v] of ctx.constants) { + if (v === value) + return name3; + } + const name2 = `c${ctx.constantCounter++}`; + ctx.constants.set(name2, value); + return name2; +} +__name(addConstant, "addConstant"); +function addUserConstant(ctx, fn) { + ctx.definite = false; + return addConstant(ctx, fn); +} +__name(addUserConstant, "addUserConstant"); +function newVar(ctx) { + return `v${ctx.varCounter++}`; +} +__name(newVar, "newVar"); +function runtimeRun(schema2, value) { + const result = schema2._zod.run({ value, issues: [] }, {}); + if (result && typeof result.then === "function") + return INVALID; + const r5 = result; + return r5.issues.length === 0 ? r5.value : INVALID; +} +__name(runtimeRun, "runtimeRun"); +function compileChild(doc, ctx, schema2, accessor, needsValue = true) { + const contentLen = doc.content.length; + const constantCount = ctx.constants.size; + const constantCounter = ctx.constantCounter; + const varCounter = ctx.varCounter; + try { + return generateCheck(doc, ctx, schema2, accessor, needsValue); + } catch (err) { + if (!(err instanceof ZodCompileUnsupportedError) || !err.islandable) + throw err; + doc.content.length = contentLen; + if (ctx.constants.size > constantCount) { + const trailing = Array.from(ctx.constants.keys()).slice(constantCount); + for (const k5 of trailing) + ctx.constants.delete(k5); + } + ctx.constantCounter = constantCounter; + ctx.varCounter = varCounter; + return emitRuntimeIsland(doc, ctx, schema2, accessor); + } +} +__name(compileChild, "compileChild"); +function emitRuntimeIsland(doc, ctx, schema2, accessor) { + ctx.definite = false; + const schemaConst = addConstant(ctx, schema2); + const runConst = addConstant(ctx, runtimeRun); + const outVar = newVar(ctx); + doc.write(`const ${outVar} = ${runConst}(${schemaConst}, ${accessor});`); + doc.write(`if (${outVar} === INVALID) return INVALID;`); + return outVar; +} +__name(emitRuntimeIsland, "emitRuntimeIsland"); +var WHEN_DEFAULTED_CHECKS = /* @__PURE__ */ new Set([ + "max_size", + "min_size", + "size_equals", + "max_length", + "min_length", + "length_equals" +]); +function generateChecks(doc, ctx, schema2, accessor) { + const schemaChecks = schema2._zod.def.checks; + if (!schemaChecks || schemaChecks.length === 0) + return accessor; + let currentAccessor = accessor; + for (const check2 of schemaChecks) { + const def = check2._zod.def; + if (def.when && !WHEN_DEFAULTED_CHECKS.has(def.check)) { + throw new ZodCompileUnsupportedError(`check with a custom "when" condition`); + } + switch (def.check) { + case "greater_than": + generateGreaterThanCheck(doc, ctx, def, currentAccessor); + break; + case "less_than": + generateLessThanCheck(doc, ctx, def, currentAccessor); + break; + case "multiple_of": + generateMultipleOfCheck(doc, ctx, def, currentAccessor); + break; + case "number_format": + generateNumberFormatCheck(doc, def, currentAccessor); + break; + case "min_length": { + const min = numericOperand(def.minimum, "min_length"); + const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${min} && ${currentAccessor}.length < ${def.minimum * 2}`); + doc.write(`if (${len} < ${min}) return INVALID;`); + break; + } + case "max_length": { + const max = numericOperand(def.maximum, "max_length"); + const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length > ${max}`); + doc.write(`if (${len} > ${max}) return INVALID;`); + break; + } + case "length_equals": { + const exact = numericOperand(def.length, "length_equals"); + const len = codePointLengthVar(doc, ctx, currentAccessor, `${currentAccessor}.length >= ${exact} && ${currentAccessor}.length <= ${def.length * 2}`); + doc.write(`if (${len} !== ${exact}) return INVALID;`); + break; + } + case "min_size": + doc.write(`if (${currentAccessor}.size < ${numericOperand(def.minimum, "min_size")}) return INVALID;`); + break; + case "max_size": + doc.write(`if (${currentAccessor}.size > ${numericOperand(def.maximum, "max_size")}) return INVALID;`); + break; + case "size_equals": + doc.write(`if (${currentAccessor}.size !== ${numericOperand(def.size, "size_equals")}) return INVALID;`); + break; + case "string_format": + currentAccessor = generateStringFormatCheck(doc, ctx, def, currentAccessor); + break; + case "custom": + currentAccessor = generateCustomRefineCheck(doc, ctx, check2, currentAccessor); + break; + case "bigint_format": + generateBigIntFormatCheck(doc, def, currentAccessor); + break; + case "mime_type": + generateMimeTypeCheck(doc, ctx, def, currentAccessor); + break; + case "property": + generatePropertyCheck(doc, ctx, def, currentAccessor); + break; + case "properties": + generatePropertiesChecks(doc, ctx, def, currentAccessor); + break; + case "overwrite": { + const newAccessor = newVar(ctx); + generateOverwriteCheck(doc, ctx, check2, currentAccessor, newAccessor); + currentAccessor = newAccessor; + break; + } + default: { + void def; + throw new ZodCompileUnsupportedError(`check type ${def.check}`); + } + } + } + return currentAccessor; +} +__name(generateChecks, "generateChecks"); +function codePointLengthVar(doc, ctx, accessor, inDoubt) { + const cpLen = addConstant(ctx, codePointLength); + const v = newVar(ctx); + doc.write(`const ${v} = typeof ${accessor} === "string" && ${inDoubt} ? ${cpLen}(${accessor}) : ${accessor}.length;`); + return v; +} +__name(codePointLengthVar, "codePointLengthVar"); +function numericOperand(value, label) { + if (typeof value !== "number" || !Number.isFinite(value)) { + throw new ZodCompileUnsupportedError(`${label} bound of type ${typeof value}`); + } + return `${value}`; +} +__name(numericOperand, "numericOperand"); +function comparisonOperand(ctx, value) { + if (typeof value === "bigint") + return `${value}n`; + if (typeof value === "number") { + if (Number.isNaN(value)) + throw new ZodCompileUnsupportedError("comparison check with NaN bound"); + return `${value}`; + } + if (value instanceof Date) { + if (Number.isNaN(value.getTime())) { + throw new ZodCompileUnsupportedError("comparison check with Invalid Date bound"); + } + return addConstant(ctx, value); + } + throw new ZodCompileUnsupportedError(`comparison check bound of type ${typeof value}`); +} +__name(comparisonOperand, "comparisonOperand"); +function generateGreaterThanCheck(doc, ctx, def, accessor) { + const op = def.inclusive ? "<" : "<="; + doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`); +} +__name(generateGreaterThanCheck, "generateGreaterThanCheck"); +function generateLessThanCheck(doc, ctx, def, accessor) { + const op = def.inclusive ? ">" : ">="; + doc.write(`if (${accessor} ${op} ${comparisonOperand(ctx, def.value)}) return INVALID;`); +} +__name(generateLessThanCheck, "generateLessThanCheck"); +function generateMultipleOfCheck(doc, ctx, def, accessor) { + if (typeof def.value === "bigint") { + if (def.value === BigInt(0)) + throw new ZodCompileUnsupportedError("multiple_of check with a zero divisor"); + doc.write(`if (${accessor} % ${def.value}n !== 0n) return INVALID;`); + } else { + const remainder = addConstant(ctx, floatSafeRemainder); + doc.write(`if (${remainder}(${accessor}, ${numericOperand(def.value, "multiple_of")}) !== 0) return INVALID;`); + } +} +__name(generateMultipleOfCheck, "generateMultipleOfCheck"); +function generateNumberFormatCheck(doc, def, accessor) { + const format = def.format; + switch (format) { + case "safeint": + doc.write(`if (!Number.isSafeInteger(${accessor})) return INVALID;`); + break; + case "int32": + doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < -2147483648 || ${accessor} > 2147483647) return INVALID;`); + break; + case "uint32": + doc.write(`if (!Number.isInteger(${accessor}) || ${accessor} < 0 || ${accessor} > 4294967295) return INVALID;`); + break; + case "float32": + doc.write(`if (!Number.isFinite(${accessor}) || ${accessor} < -3.4028234663852886e38 || ${accessor} > 3.4028234663852886e38) return INVALID;`); + break; + case "float64": + doc.write(`if (!Number.isFinite(${accessor})) return INVALID;`); + break; + default: { + void format; + throw new ZodCompileUnsupportedError(`number format ${format}`); + } + } +} +__name(generateNumberFormatCheck, "generateNumberFormatCheck"); +function generateBigIntFormatCheck(doc, def, accessor) { + const format = def.format; + if (!format) + return; + switch (format) { + case "int64": + doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`); + break; + case "uint64": + doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`); + break; + default: { + void format; + throw new ZodCompileUnsupportedError(`bigint format ${format}`); + } + } +} +__name(generateBigIntFormatCheck, "generateBigIntFormatCheck"); +function generateMimeTypeCheck(doc, ctx, def, accessor) { + const mimeTypes = def.mime; + if (mimeTypes && mimeTypes.length > 0) { + const mimeSet = addConstant(ctx, new Set(mimeTypes)); + doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`); + } +} +__name(generateMimeTypeCheck, "generateMimeTypeCheck"); +function generatePropertiesChecks(doc, ctx, def, accessor) { + if (def.when) { + throw new ZodCompileUnsupportedError(`check with a custom "when" condition`); + } + doc.write(`if (${accessor} == null) return INVALID;`); + const shape = def.shape; + for (const key of Reflect.ownKeys(shape)) { + const keyExpr = typeof key === "symbol" ? addConstant(ctx, key) : esc(key); + const inputVar = newVar(ctx); + doc.write(`const ${inputVar} = ${accessor}[${keyExpr}];`); + compileChild(doc, ctx, shape[key], inputVar, false); + } +} +__name(generatePropertiesChecks, "generatePropertiesChecks"); +function generatePropertyCheck(doc, ctx, def, accessor) { + const propAccessor = `${accessor}[${JSON.stringify(def.property)}]`; + generateCheck(doc, ctx, def.schema, propAccessor); +} +__name(generatePropertyCheck, "generatePropertyCheck"); +function generateOverwriteCheck(doc, ctx, check2, currentAccessor, newAccessor) { + const tx = check2._zod.def.tx; + if (!tx) { + throw new ZodCompileUnsupportedError("overwrite check without a transform function"); + } + if (isAsyncFunction(tx)) { + throw new ZodCompileAsyncError("z.compile: async overwrite transforms are not supported"); + } + const txConst = addConstant(ctx, tx); + doc.write(`const ${newAccessor} = ${txConst}(${currentAccessor});`); +} +__name(generateOverwriteCheck, "generateOverwriteCheck"); +function throwAsync() { + throw new $ZodAsyncError(); +} +__name(throwAsync, "throwAsync"); +function pushIssue(issue2) { + this.issues.push(issue2); +} +__name(pushIssue, "pushIssue"); +function generateCustomRefineCheck(doc, ctx, check2, accessor) { + const def = check2._zod.def; + if (def.fn) { + if (isAsyncFunction(def.fn)) { + throw new ZodCompileAsyncError("z.compile: async .refine() predicates are not supported"); + } + const fnConst = addUserConstant(ctx, def.fn); + const throwAsyncConst = addConstant(ctx, throwAsync); + const resVar = newVar(ctx); + doc.write(`const ${resVar} = ${fnConst}(${accessor});`); + doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`); + doc.write(`if (!${resVar}) return INVALID;`); + return accessor; + } + if (check2._zod.check) { + if (isAsyncFunction(check2._zod.check)) { + throw new ZodCompileAsyncError("z.compile: async .superRefine() / check functions are not supported"); + } + const checkFn = check2._zod.check; + const helperFn = /* @__PURE__ */ __name((value) => { + const fakePayload = { value, issues: [], addIssue: pushIssue }; + const result = checkFn(fakePayload); + if (result instanceof Promise) + throwAsync(); + return fakePayload.issues.length === 0 ? fakePayload.value : INVALID; + }, "helperFn"); + const helperConst = addUserConstant(ctx, helperFn); + const outVar = newVar(ctx); + doc.write(`const ${outVar} = ${helperConst}(${accessor});`); + doc.write(`if (${outVar} === INVALID) return INVALID;`); + return outVar; + } + throw new ZodCompileUnsupportedError("custom check without a predicate or check function"); +} +__name(generateCustomRefineCheck, "generateCustomRefineCheck"); +var PATTERN_IS_COMPLETE = /* @__PURE__ */ new Set([ + "cidrv4", + "cuid", + "cuid2", + "date", + "datetime", + "duration", + "e164", + "email", + "emoji", + "ends_with", + "guid", + "includes", + "ipv4", + "ksuid", + "lowercase", + "mac", + "nanoid", + "regex", + "starts_with", + "time", + "ulid", + "uppercase", + "uuid", + "xid" +]); +function generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) { + const fmt = def.format; + if (fmt === "base64") { + const validator = addConstant(ctx, isValidBase64); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + if (fmt === "base64url") { + const validator = addConstant(ctx, isValidBase64URL); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + if (fmt === "jwt") { + const validator = addConstant(ctx, isValidJWT); + const alg = addConstant(ctx, def.alg ?? null); + doc.write(`if (!${validator}(${accessor}, ${alg})) return INVALID;`); + return accessor; + } + if (fmt === "ipv6") { + const validator = addConstant(ctx, isValidIPv6); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + if (fmt === "cidrv6") { + const validator = addConstant(ctx, isValidCIDRv6); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + if (fmt === "credit_card") { + const validator = addConstant(ctx, isValidCreditCard); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + if (fmt === "iban") { + const validator = addConstant(ctx, isValidIBAN); + doc.write(`if (!${validator}(${accessor})) return INVALID;`); + return accessor; + } + const formatDef = def; + if (fmt === "url" || fmt === "httpurl" || formatDef.normalize || formatDef.hostname !== void 0 || formatDef.protocol !== void 0) { + const parseConst = addConstant(ctx, validateURL); + const defConst = addConstant(ctx, def); + const trimVar = newVar(ctx); + const urlVar = newVar(ctx); + doc.write(`const ${trimVar} = ${accessor}.trim();`); + doc.write(`const ${urlVar} = ${parseConst}(${trimVar}, ${defConst});`); + doc.write(`if (typeof ${urlVar} === "number") return INVALID;`); + if (formatDef.hostname !== void 0) { + const hostnameConst = addConstant(ctx, urlHostnameOk); + doc.write(`if (!${hostnameConst}(${urlVar}, ${defConst}.hostname)) return INVALID;`); + } + if (formatDef.protocol !== void 0) { + const protocolConst = addConstant(ctx, urlProtocolOk); + doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`); + } + if (!needsValue) + return null; + const outputVar = newVar(ctx); + const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`; + doc.write(`const ${outputVar} = ${outputExpr};`); + return outputVar; + } + const customFn = def.fn; + if (customFn) { + if (isAsyncFunction(customFn)) + throw new ZodCompileUnsupportedError(`async string format ${fmt}`); + const fnConst = addConstant(ctx, customFn); + doc.write(`if (!${fnConst}(${accessor})) return INVALID;`); + return accessor; + } + if (PATTERN_IS_COMPLETE.has(fmt) && def.pattern) { + const patternConst = addConstant(ctx, def.pattern); + doc.write(`${patternConst}.lastIndex = 0;`); + doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`); + return accessor; + } + const format = def.format; + switch (format) { + case "regex": + throw new ZodCompileUnsupportedError("regex format without a pattern"); + case "lowercase": + doc.write(`if (${accessor} !== ${accessor}.toLowerCase()) return INVALID;`); + break; + case "uppercase": + doc.write(`if (${accessor} !== ${accessor}.toUpperCase()) return INVALID;`); + break; + case "includes": + doc.write(`if (!${accessor}.includes(${esc(def.includes)})) return INVALID;`); + break; + case "starts_with": { + const prefix = def.prefix; + doc.write(`if (${accessor}.slice(0, ${prefix.length}) !== ${esc(prefix)}) return INVALID;`); + break; + } + case "ends_with": { + const suffix = def.suffix; + doc.write(`if (${accessor}.slice(-${suffix.length}) !== ${esc(suffix)}) return INVALID;`); + break; + } + default: { + void format; + throw new ZodCompileUnsupportedError(`string format ${format}`); + } + } + return accessor; +} +__name(generateStringFormatCheck, "generateStringFormatCheck"); +function generateCheck(doc, ctx, schema2, accessor, needsValue = true) { + const def = schema2._zod.def; + const type = def.type; + if (def.coerce) { + throw new ZodCompileUnsupportedError(`coercion (z.coerce.${type}())`); + } + const buildsValue = needsValue || !!def.checks?.length; + let typeAccessor; + switch (type) { + case "string": + typeAccessor = generateStringCheck(doc, ctx, schema2, accessor, buildsValue); + break; + case "number": + typeAccessor = generateNumberCheck(doc, schema2, accessor); + break; + case "boolean": + typeAccessor = generateBooleanCheck(doc, accessor); + break; + case "bigint": + typeAccessor = generateBigIntCheck(doc, schema2, accessor); + break; + case "symbol": + typeAccessor = generateSymbolCheck(doc, accessor); + break; + case "undefined": + typeAccessor = generateUndefinedCheck(doc, accessor); + break; + case "null": + typeAccessor = generateNullCheck(doc, accessor); + break; + case "any": + case "unknown": + typeAccessor = accessor; + break; + case "never": + doc.write("return INVALID;"); + typeAccessor = accessor; + break; + case "void": + typeAccessor = generateVoidCheck(doc, accessor); + break; + case "nan": + typeAccessor = generateNaNCheck(doc, accessor); + break; + case "date": + typeAccessor = generateDateCheck(doc, accessor); + break; + case "object": + typeAccessor = generateObjectCheck(doc, ctx, schema2, accessor, buildsValue); + break; + case "optional": + typeAccessor = generateOptionalCheck(doc, ctx, schema2, accessor, buildsValue); + break; + case "nullable": + typeAccessor = generateNullableCheck(doc, ctx, schema2, accessor, buildsValue); + break; + case "array": + typeAccessor = generateArrayCheck(doc, ctx, schema2, accessor, buildsValue); + break; + case "literal": + typeAccessor = generateLiteralCheck(doc, ctx, schema2, accessor); + break; + case "enum": + typeAccessor = generateEnumCheck(doc, ctx, schema2, accessor); + break; + case "readonly": { + const innerOut = generateWrapperCheck(doc, ctx, schema2, accessor); + const frozenVar = newVar(ctx); + doc.write(`const ${frozenVar} = Object.freeze(${innerOut});`); + typeAccessor = frozenVar; + break; + } + case "success": + generateWrapperCheck(doc, ctx, schema2, accessor); + typeAccessor = "true"; + break; + case "default": + case "prefault": + typeAccessor = generateDefaultCheck(doc, ctx, schema2, accessor); + break; + case "nonoptional": + typeAccessor = generateNonOptionalCheck(doc, ctx, schema2, accessor); + break; + case "tuple": + typeAccessor = generateTupleCheck(doc, ctx, schema2, accessor); + break; + case "union": + typeAccessor = generateUnionCheck(doc, ctx, schema2, accessor); + break; + case "intersection": + typeAccessor = generateIntersectionCheck(doc, ctx, schema2, accessor); + break; + case "record": + typeAccessor = generateRecordCheck(doc, ctx, schema2, accessor); + break; + case "map": + typeAccessor = generateMapCheck(doc, ctx, schema2, accessor); + break; + case "set": + typeAccessor = generateSetCheck(doc, ctx, schema2, accessor); + break; + case "file": + typeAccessor = generateFileCheck(doc, accessor); + break; + case "template_literal": + typeAccessor = generateTemplateLiteralCheck(doc, ctx, schema2, accessor); + break; + case "lazy": + typeAccessor = generateLazyCheck(doc, ctx, schema2, accessor); + break; + case "pipe": + typeAccessor = generatePipeCheck(doc, ctx, schema2, accessor); + break; + case "custom": + typeAccessor = generateCustomCheck(doc, ctx, schema2, accessor); + break; + case "transform": + typeAccessor = generateTransformCheck(doc, ctx, schema2, accessor); + break; + case "catch": + typeAccessor = generateCatchCheck(doc, ctx, schema2, accessor); + break; + default: { + void type; + throw new ZodCompileUnsupportedError(`schema type ${type}`); + } + } + if (typeAccessor === null) + return null; + return generateChecks(doc, ctx, schema2, typeAccessor); +} +__name(generateCheck, "generateCheck"); +function generateStringCheck(doc, ctx, schema2, accessor, needsValue = true) { + doc.write(`if (typeof ${accessor} !== "string") return INVALID;`); + const def = schema2._zod.def; + if (def.format === void 0) + return accessor; + return generateStringFormatCheck(doc, ctx, def, accessor, needsValue); +} +__name(generateStringCheck, "generateStringCheck"); +function generateNumberCheck(doc, schema2, accessor) { + doc.write(`if (typeof ${accessor} !== "number" || !Number.isFinite(${accessor})) return INVALID;`); + const def = schema2._zod.def; + if (def.check === "number_format" && def.format) { + generateNumberFormatCheck(doc, { format: def.format }, accessor); + } + return accessor; +} +__name(generateNumberCheck, "generateNumberCheck"); +function generateBooleanCheck(doc, accessor) { + doc.write(`if (typeof ${accessor} !== "boolean") return INVALID;`); + return accessor; +} +__name(generateBooleanCheck, "generateBooleanCheck"); +function generateBigIntCheck(doc, schema2, accessor) { + doc.write(`if (typeof ${accessor} !== "bigint") return INVALID;`); + const def = schema2._zod.def; + if (def.format) { + switch (def.format) { + case "int64": + doc.write(`if (${accessor} < -9223372036854775808n || ${accessor} > 9223372036854775807n) return INVALID;`); + break; + case "uint64": + doc.write(`if (${accessor} < 0n || ${accessor} > 18446744073709551615n) return INVALID;`); + break; + } + } + return accessor; +} +__name(generateBigIntCheck, "generateBigIntCheck"); +function generateSymbolCheck(doc, accessor) { + doc.write(`if (typeof ${accessor} !== "symbol") return INVALID;`); + return accessor; +} +__name(generateSymbolCheck, "generateSymbolCheck"); +function generateUndefinedCheck(doc, accessor) { + doc.write(`if (${accessor} !== undefined) return INVALID;`); + return accessor; +} +__name(generateUndefinedCheck, "generateUndefinedCheck"); +function generateNullCheck(doc, accessor) { + doc.write(`if (${accessor} !== null) return INVALID;`); + return accessor; +} +__name(generateNullCheck, "generateNullCheck"); +function generateVoidCheck(doc, accessor) { + doc.write(`if (${accessor} !== undefined) return INVALID;`); + return accessor; +} +__name(generateVoidCheck, "generateVoidCheck"); +function generateNaNCheck(doc, accessor) { + doc.write(`if (typeof ${accessor} !== "number" || !Number.isNaN(${accessor})) return INVALID;`); + return accessor; +} +__name(generateNaNCheck, "generateNaNCheck"); +function generateDateCheck(doc, accessor) { + doc.write(`if (!(${accessor} instanceof Date) || Number.isNaN(${accessor}.getTime())) return INVALID;`); + return accessor; +} +__name(generateDateCheck, "generateDateCheck"); +function generateObjectCheck(doc, ctx, schema2, accessor, buildsValue = true) { + const def = schema2._zod.def; + doc.write(`if (typeof ${accessor} !== "object" || ${accessor} === null || Array.isArray(${accessor})) return INVALID;`); + const shape = def.shape; + const keys = Object.keys(shape); + const symbolKeys = Object.getOwnPropertySymbols(shape); + const allKeys = symbolKeys.length ? [...keys, ...symbolKeys] : keys; + const keyExpr = /* @__PURE__ */ __name((k5) => typeof k5 === "symbol" ? addConstant(ctx, k5) : esc(k5), "keyExpr"); + const propKey = /* @__PURE__ */ __name((k5) => typeof k5 === "symbol" ? `[${keyExpr(k5)}]` : esc(k5), "propKey"); + const propShape = shape; + if (keys.includes("__proto__")) { + throw new ZodCompileUnsupportedError('object shape key "__proto__"'); + } + const propOutputs = /* @__PURE__ */ new Map(); + for (const key of allKeys) { + const propSchema = propShape[key]; + const kx = keyExpr(key); + const inputVar = newVar(ctx); + doc.write(`const ${inputVar} = ${accessor}[${kx}];`); + if (propSchema._zod.optin !== void 0) { + const outputVar2 = newVar(ctx); + doc.write(`let ${outputVar2} = (() => {`); + doc.indented((d5) => { + const outputAccessor = compileChild(d5, ctx, propSchema, inputVar); + d5.write(`return ${outputAccessor};`); + }); + doc.write(`})();`); + if (propSchema._zod.optout === "optional") { + doc.write(`if (${outputVar2} === INVALID) {`); + doc.indented((d5) => { + d5.write(`if (${kx} in ${accessor}) return INVALID;`); + d5.write(`${outputVar2} = undefined;`); + }); + doc.write(`}`); + } else { + doc.write(`if (${outputVar2} === INVALID) return INVALID;`); + } + propOutputs.set(key, outputVar2); + } else { + if (requiresPresenceCheck(propSchema)) { + doc.write(`if (!(${kx} in ${accessor})) return INVALID;`); + } + const outputAccessor = compileChild(doc, ctx, propSchema, inputVar, buildsValue); + if (outputAccessor !== null) + propOutputs.set(key, outputAccessor); + } + } + const catchall = def.catchall; + let unknownKeysMode = "none"; + if (catchall) { + const catchallType = catchall._zod.def.type; + if (catchallType === "never") { + const condition = keys.map((k5) => `k !== ${esc(k5)}`).join(" && ") || "true"; + doc.write(`for (const k in ${accessor}) {`); + doc.indented((d5) => { + d5.write(`if (${condition}) return INVALID;`); + }); + doc.write(`}`); + } else if ((catchallType === "unknown" || catchallType === "any") && !catchall._zod.def.checks?.length) { + unknownKeysMode = "passthrough"; + } else { + unknownKeysMode = "schema"; + } + } + const outputVar = newVar(ctx); + const hasConditionalKeys = allKeys.some((k5) => mayOmitUndefined(propShape[k5]) || dropsWhenAbsent(propShape[k5])); + if (!buildsValue) { + if (unknownKeysMode === "schema") { + const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null; + doc.write(`for (const k in ${accessor}) {`); + doc.indented((d5) => { + d5.write(`if (k === "__proto__") continue;`); + if (knownSet) + d5.write(`if (${knownSet}.has(k)) continue;`); + const valVar = newVar(ctx); + d5.write(`const ${valVar} = ${accessor}[k];`); + compileChild(d5, ctx, catchall, valVar, false); + }); + doc.write(`}`); + } + return null; + } + if (!hasConditionalKeys) { + const propLiterals = allKeys.map((k5) => `${propKey(k5)}: ${propOutputs.get(k5)}`).join(", "); + doc.write(`const ${outputVar} = { ${propLiterals} };`); + } else { + doc.write(`const ${outputVar} = {};`); + for (const k5 of allKeys) { + const kx = keyExpr(k5); + const out = propOutputs.get(k5); + if (dropsWhenAbsent(propShape[k5])) { + doc.write(`if (${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`); + } else if (mayOmitUndefined(propShape[k5])) { + doc.write(`if (${out} !== undefined || ${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`); + } else { + doc.write(`${outputVar}[${kx}] = ${out};`); + } + } + } + if (unknownKeysMode !== "none") { + const knownSet = keys.length > 0 ? addConstant(ctx, new Set(keys)) : null; + doc.write(`for (const k in ${accessor}) {`); + doc.indented((d5) => { + d5.write(`if (k === "__proto__") continue;`); + if (knownSet) + d5.write(`if (${knownSet}.has(k)) continue;`); + if (unknownKeysMode === "passthrough") { + d5.write(`${outputVar}[k] = ${accessor}[k];`); + } else { + const valVar = newVar(ctx); + d5.write(`const ${valVar} = ${accessor}[k];`); + const catchallOut = compileChild(d5, ctx, catchall, valVar); + d5.write(`${outputVar}[k] = ${catchallOut};`); + } + }); + doc.write(`}`); + } + return outputVar; +} +__name(generateObjectCheck, "generateObjectCheck"); +function generateOptionalCheck(doc, ctx, schema2, accessor, buildsValue = true) { + const def = schema2._zod.def; + if (isExactOptional(schema2)) { + return generateCheck(doc, ctx, def.innerType, accessor, buildsValue); + } + if (def.innerType._zod.optin === "defaulted") { + const outputVar2 = newVar(ctx); + const branchVar = newVar(ctx); + doc.write(`let ${outputVar2};`); + doc.write(`if (${accessor} === undefined) {`); + doc.indented((d5) => { + d5.write(`const ${branchVar} = (() => {`); + d5.indented((d22) => { + const innerOutput = generateCheck(d22, ctx, def.innerType, accessor); + d22.write(`return ${innerOutput};`); + }); + d5.write(`})();`); + d5.write(`if (${branchVar} !== INVALID) ${outputVar2} = ${branchVar};`); + }); + doc.write(`} else {`); + doc.indented((d5) => { + const innerOutput = generateCheck(d5, ctx, def.innerType, accessor); + d5.write(`${outputVar2} = ${innerOutput};`); + }); + doc.write(`}`); + return outputVar2; + } + const outputVar = buildsValue ? newVar(ctx) : null; + if (outputVar) + doc.write(`let ${outputVar};`); + doc.write(`if (${accessor} !== undefined) {`); + doc.indented((d5) => { + const innerOutput = generateCheck(d5, ctx, def.innerType, accessor, buildsValue); + if (outputVar && innerOutput !== null) + d5.write(`${outputVar} = ${innerOutput};`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateOptionalCheck, "generateOptionalCheck"); +function isExactOptional(schema2) { + return schema2._zod.traits?.has("$ZodExactOptional") === true; +} +__name(isExactOptional, "isExactOptional"); +function requiresPresenceCheck(schema2) { + return schema2._zod.optin === void 0 && fastPathAcceptsAbsence(schema2); +} +__name(requiresPresenceCheck, "requiresPresenceCheck"); +function fastPathAcceptsAbsence(schema2) { + if (schema2._zod.def.coerce) + return true; + const def = schema2._zod.def; + switch (def.type) { + case "any": + case "unknown": + case "undefined": + case "void": + case "default": + case "prefault": + case "transform": + case "custom": + case "lazy": + return true; + case "string": + case "number": + case "boolean": + case "bigint": + case "symbol": + case "null": + case "never": + case "nan": + case "date": + case "object": + case "array": + case "tuple": + case "record": + case "map": + case "set": + case "file": + case "template_literal": + return false; + case "nonoptional": + return def.innerType ? fastPathAcceptsAbsence(def.innerType) : false; + case "literal": + return !!def.values?.includes(void 0); + case "enum": + return !!schema2._zod.values?.has(void 0); + case "optional": + case "nullable": + case "readonly": + case "success": + return def.innerType ? fastPathAcceptsAbsence(def.innerType) : true; + case "catch": + return true; + case "union": + return def.options ? def.options.some(fastPathAcceptsAbsence) : true; + case "intersection": + if (!def.left || !def.right) + return true; + return fastPathAcceptsAbsence(def.left) && fastPathAcceptsAbsence(def.right); + case "pipe": + return def.in ? fastPathAcceptsAbsence(def.in) : true; + default: + return true; + } +} +__name(fastPathAcceptsAbsence, "fastPathAcceptsAbsence"); +function dropsWhenAbsent(schema2) { + return schema2._zod.optin === "optional" && schema2._zod.optout === "optional"; +} +__name(dropsWhenAbsent, "dropsWhenAbsent"); +function mayOmitUndefined(schema2) { + return (schema2._zod.optin !== "defaulted" || schema2._zod.optout === "optional") && mayOutputUndefined(schema2); +} +__name(mayOmitUndefined, "mayOmitUndefined"); +function mayOutputUndefined(schema2) { + const def = schema2._zod.def; + switch (def.type) { + case "string": + case "number": + case "boolean": + case "bigint": + case "symbol": + case "null": + case "nan": + case "date": + case "object": + case "array": + case "tuple": + case "record": + case "map": + case "set": + case "file": + case "template_literal": + case "never": + case "success": + return false; + case "literal": + return !!def.values?.includes(void 0); + case "enum": + return !!schema2._zod.values?.has(void 0); + case "optional": + return true; + case "nullable": + case "readonly": + case "nonoptional": + return def.innerType ? mayOutputUndefined(def.innerType) : true; + case "union": + return def.options ? def.options.some(mayOutputUndefined) : true; + case "intersection": + return !def.left || !def.right || mayOutputUndefined(def.left) || mayOutputUndefined(def.right); + case "pipe": + return def.out ? mayOutputUndefined(def.out) : true; + default: + return true; + } +} +__name(mayOutputUndefined, "mayOutputUndefined"); +function generateNullableCheck(doc, ctx, schema2, accessor, buildsValue = true) { + const def = schema2._zod.def; + const outputVar = buildsValue ? newVar(ctx) : null; + if (outputVar) + doc.write(`let ${outputVar} = null;`); + doc.write(`if (${accessor} !== null) {`); + doc.indented((d5) => { + const innerOutput = generateCheck(d5, ctx, def.innerType, accessor, buildsValue); + if (outputVar && innerOutput !== null) + d5.write(`${outputVar} = ${innerOutput};`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateNullableCheck, "generateNullableCheck"); +function generateSizeGate(doc, schema2, size) { + for (const [max, check2] of sizeCaps(schema2._zod.def.checks)) { + doc.write(`if (${size} > ${numericOperand(max, check2._zod.def.check)}) return INVALID;`); + } +} +__name(generateSizeGate, "generateSizeGate"); +function generateArrayCheck(doc, ctx, schema2, accessor, buildsValue = true) { + const def = schema2._zod.def; + doc.write(`if (!Array.isArray(${accessor})) return INVALID;`); + generateSizeGate(doc, schema2, `${accessor}.length`); + const outputVar = buildsValue ? newVar(ctx) : null; + const iVar = newVar(ctx); + const elemVar = newVar(ctx); + if (outputVar) + doc.write(`const ${outputVar} = new Array(${accessor}.length);`); + doc.write(`for (let ${iVar} = 0; ${iVar} < ${accessor}.length; ${iVar}++) {`); + doc.indented((d5) => { + d5.write(`const ${elemVar} = ${accessor}[${iVar}];`); + const elemOutput = compileChild(d5, ctx, def.element, elemVar, buildsValue); + if (outputVar && elemOutput !== null) + d5.write(`${outputVar}[${iVar}] = ${elemOutput};`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateArrayCheck, "generateArrayCheck"); +function generateLiteralCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const values = def.values; + if (values.length !== 1) { + const literalSet = addConstant(ctx, new Set(values)); + doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`); + return accessor; + } + const value = values[0]; + if (typeof value === "number" && Number.isNaN(value)) { + const literalSet = addConstant(ctx, new Set(values)); + doc.write(`if (!${literalSet}.has(${accessor})) return INVALID;`); + return accessor; + } + if (typeof value === "string") { + doc.write(`if (${accessor} !== ${esc(value)}) return INVALID;`); + } else if (typeof value === "number" || typeof value === "boolean") { + doc.write(`if (${accessor} !== ${value}) return INVALID;`); + } else if (value === null) { + doc.write(`if (${accessor} !== null) return INVALID;`); + } else if (value === void 0) { + doc.write(`if (${accessor} !== undefined) return INVALID;`); + } else if (typeof value === "bigint") { + doc.write(`if (${accessor} !== ${value}n) return INVALID;`); + } else { + throw new ZodCompileUnsupportedError(`literal type ${typeof value}`); + } + return accessor; +} +__name(generateLiteralCheck, "generateLiteralCheck"); +function generateEnumCheck(doc, ctx, schema2, accessor) { + const values = schema2._zod.values; + if (!values) { + throw new ZodCompileUnsupportedError("enum schema without enumerated values"); + } + const enumSet = addConstant(ctx, values); + doc.write(`if (!${enumSet}.has(${accessor})) return INVALID;`); + return accessor; +} +__name(generateEnumCheck, "generateEnumCheck"); +function generateWrapperCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + return generateCheck(doc, ctx, def.innerType, accessor); +} +__name(generateWrapperCheck, "generateWrapperCheck"); +function generateDefaultCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const descriptor = Object.getOwnPropertyDescriptor(schema2._zod.def, "defaultValue"); + const defaultGetter = descriptor ? () => schema2._zod.def.defaultValue : void 0; + if (schema2._zod.def.type === "prefault") { + if (!defaultGetter) { + return generateCheck(doc, ctx, def.innerType, accessor); + } + const defaultFn = addConstant(ctx, defaultGetter); + const inputVar = newVar(ctx); + doc.write(`let ${inputVar} = ${accessor};`); + doc.write(`if (${accessor} === undefined) ${inputVar} = ${defaultFn}();`); + return generateCheck(doc, ctx, def.innerType, inputVar); + } + const outputVar = newVar(ctx); + if (defaultGetter) { + const defaultFn = addConstant(ctx, defaultGetter); + const cloneFn = addConstant(ctx, shallowClone); + doc.write(`let ${outputVar};`); + doc.write(`if (${accessor} === undefined) {`); + doc.indented((d5) => { + d5.write(`${outputVar} = ${cloneFn}(${defaultFn}());`); + }); + doc.write(`} else {`); + doc.indented((d5) => { + const innerOutput = generateCheck(d5, ctx, def.innerType, accessor); + d5.write(`${outputVar} = ${innerOutput} === undefined ? ${cloneFn}(${defaultFn}()) : ${innerOutput};`); + }); + doc.write(`}`); + } else { + doc.write(`let ${outputVar};`); + doc.write(`if (${accessor} !== undefined) {`); + doc.indented((d5) => { + const innerOutput = generateCheck(d5, ctx, def.innerType, accessor); + d5.write(`${outputVar} = ${innerOutput};`); + }); + doc.write(`}`); + } + return outputVar; +} +__name(generateDefaultCheck, "generateDefaultCheck"); +function generateNonOptionalCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const innerOutput = generateCheck(doc, ctx, def.innerType, accessor); + const outputVar = newVar(ctx); + doc.write(`const ${outputVar} = ${innerOutput};`); + doc.write(`if (${outputVar} === undefined) return INVALID;`); + return outputVar; +} +__name(generateNonOptionalCheck, "generateNonOptionalCheck"); +function generateTupleCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const items = def.items; + const rest = def.rest; + doc.write(`if (!Array.isArray(${accessor})) return INVALID;`); + const optinStart = getTupleOptStart2(items, "optin"); + const optoutStart = getTupleOptStart2(items, "optout"); + if (rest) { + doc.write(`if (${accessor}.length < ${optinStart}) return INVALID;`); + } else { + doc.write(`if (${accessor}.length < ${optinStart} || ${accessor}.length > ${items.length}) return INVALID;`); + } + const outputVar = newVar(ctx); + doc.write(`const ${outputVar} = [];`); + for (let i5 = 0; i5 < items.length; i5++) { + const itemSchema = items[i5]; + if (i5 >= optoutStart) { + doc.write(`if (${outputVar}.length === ${i5}) {`); + doc.indented((d5) => { + d5.write(`if (${i5} < ${accessor}.length) {`); + d5.indented((d22) => { + const elemVar = newVar(ctx); + d22.write(`const ${elemVar} = ${accessor}[${i5}];`); + const elemOutput = compileChild(d22, ctx, itemSchema, elemVar); + d22.write(`${outputVar}[${i5}] = ${elemOutput};`); + }); + d5.write(`} else {`); + d5.indented((d22) => { + if (dropsWhenAbsent(itemSchema)) { + d22.write(`${outputVar}.length = ${i5};`); + return; + } + const elemVar = newVar(ctx); + const branchVar = newVar(ctx); + d22.write(`const ${elemVar} = undefined;`); + d22.write(`const ${branchVar} = (() => {`); + d22.indented((d32) => { + const elemOutput = compileChild(d32, ctx, itemSchema, elemVar); + d32.write(`return ${elemOutput};`); + }); + d22.write(`})();`); + d22.write(`if (${branchVar} === INVALID || ${branchVar} === undefined) ${outputVar}.length = ${i5};`); + d22.write(`else ${outputVar}[${i5}] = ${branchVar};`); + }); + d5.write(`}`); + }); + doc.write(`}`); + } else { + const elemVar = newVar(ctx); + doc.write(`const ${elemVar} = ${accessor}[${i5}];`); + const elemOutput = compileChild(doc, ctx, itemSchema, elemVar); + doc.write(`${outputVar}[${i5}] = ${elemOutput};`); + } + } + if (rest) { + const iVar = newVar(ctx); + const elemVar = newVar(ctx); + doc.write(`for (let ${iVar} = ${items.length}; ${iVar} < ${accessor}.length; ${iVar}++) {`); + doc.indented((d5) => { + d5.write(`const ${elemVar} = ${accessor}[${iVar}];`); + const elemOutput = compileChild(d5, ctx, rest, elemVar); + d5.write(`${outputVar}[${iVar}] = ${elemOutput};`); + }); + doc.write(`}`); + } + return outputVar; +} +__name(generateTupleCheck, "generateTupleCheck"); +function getTupleOptStart2(items, key) { + for (let i5 = items.length - 1; i5 >= 0; i5--) { + const omittable = key === "optin" ? items[i5]._zod.optin !== void 0 : items[i5]._zod.optout === "optional"; + if (!omittable) + return i5 + 1; + } + return 0; +} +__name(getTupleOptStart2, "getTupleOptStart"); +function generateUnionCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const options = def.options; + if (def.discriminator) { + return generateDiscriminatedUnionCheck(doc, ctx, def, accessor); + } + if (def.inclusive === false) { + throw new ZodCompileUnsupportedError("exclusive unions (z.xor)"); + } + if (options.length === 0) { + doc.write("return INVALID;"); + return accessor; + } + if (options.length === 1) { + return generateCheck(doc, ctx, options[0], accessor); + } + const allLiterals = options.every((opt) => opt._zod.def.type === "literal" && !opt._zod.def.checks?.length); + if (allLiterals) { + const values = new Set(options.flatMap((opt) => opt._zod.def.values)); + const valuesConst = addConstant(ctx, values); + doc.write(`if (!${valuesConst}.has(${accessor})) return INVALID;`); + return accessor; + } + const outputVar = newVar(ctx); + doc.write(`let ${outputVar};`); + for (let i5 = 0; i5 < options.length; i5++) { + const opt = options[i5]; + if (i5 === 0) { + doc.write(`${outputVar} = (() => {`); + } else { + doc.write(`if (${outputVar} === INVALID) ${outputVar} = (() => {`); + } + doc.indented((d5) => { + const branchOutput = generateCheck(d5, ctx, opt, accessor); + d5.write(`return ${branchOutput};`); + }); + doc.write(`})();`); + } + doc.write(`if (${outputVar} === INVALID) return INVALID;`); + return outputVar; +} +__name(generateUnionCheck, "generateUnionCheck"); +function generateDiscriminatedUnionCheck(doc, ctx, def, accessor) { + if (def.unionFallback) { + throw new ZodCompileUnsupportedError("discriminated union with unionFallback"); + } + if (def.options.length === 0) { + doc.write("return INVALID;"); + return accessor; + } + const discVar = newVar(ctx); + const outputVar = newVar(ctx); + doc.write(`const ${discVar} = ${accessor}?.[${esc(def.discriminator)}];`); + doc.write(`let ${outputVar};`); + let firstBranch = true; + const claimed = /* @__PURE__ */ new Set(); + for (const option of def.options) { + const values = option._zod.propValues?.[def.discriminator]; + if (!values || values.size === 0) { + throw new ZodCompileUnsupportedError("discriminated union option without static discriminator values"); + } + for (const value of values) { + if (claimed.has(value)) { + throw new ZodCompileUnsupportedError(`duplicate discriminator value ${String(value)}`); + } + claimed.add(value); + } + const conditions = Array.from(values, (value) => literalEquality(ctx, discVar, value)); + const prefix = firstBranch ? "if" : "else if"; + doc.write(`${prefix} (${conditions.join(" || ")}) {`); + doc.indented((d5) => { + const branchOutput = generateCheck(d5, ctx, option, accessor); + d5.write(`${outputVar} = ${branchOutput};`); + }); + doc.write(`}`); + firstBranch = false; + } + doc.write(`else { return INVALID; }`); + return outputVar; +} +__name(generateDiscriminatedUnionCheck, "generateDiscriminatedUnionCheck"); +function literalEquality(ctx, accessor, value) { + if (typeof value === "string") + return `${accessor} === ${esc(value)}`; + if (typeof value === "number") { + if (Number.isNaN(value)) + return `Number.isNaN(${accessor})`; + return `${accessor} === ${value}`; + } + if (typeof value === "boolean") + return `${accessor} === ${value}`; + if (value === null) + return `${accessor} === null`; + if (value === void 0) + return `${accessor} === undefined`; + if (typeof value === "bigint") + return `${accessor} === ${value}n`; + if (typeof value === "symbol") { + const symbolConst = addConstant(ctx, value); + return `${accessor} === ${symbolConst}`; + } + throw new ZodCompileUnsupportedError(`literal discriminator value ${String(value)}`); +} +__name(literalEquality, "literalEquality"); +function generateIntersectionCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + ctx.definite = false; + const leftOutput = compileChild(doc, ctx, def.left, accessor); + const rightOutput = compileChild(doc, ctx, def.right, accessor); + const mergeConst = addConstant(ctx, mergeValues); + const mergedVar = newVar(ctx); + doc.write(`const ${mergedVar} = ${mergeConst}(${leftOutput}, ${rightOutput});`); + doc.write(`if (!${mergedVar}.valid) return INVALID;`); + return `${mergedVar}.data`; +} +__name(generateIntersectionCheck, "generateIntersectionCheck"); +function generateRecordCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const isPlainObjectConst = addConstant(ctx, isPlainObject); + doc.write(`if (!${isPlainObjectConst}(${accessor})) return INVALID;`); + const outputVar = newVar(ctx); + const kVar = newVar(ctx); + const valVar = newVar(ctx); + doc.write(`const ${outputVar} = {};`); + const recordDef = def; + const keyValues = recordDef.partial ? void 0 : def.keyType._zod.values; + if (keyValues) { + const inputKeys = []; + for (const key of keyValues) { + if (!(typeof key === "string" || typeof key === "number" || typeof key === "symbol")) { + throw new ZodCompileUnsupportedError(`record key value ${String(key)}`); + } + const inputKey = typeof key === "number" ? key.toString() : key; + if (inputKey === "__proto__") { + throw new ZodCompileUnsupportedError('record key "__proto__"'); + } + inputKeys.push(inputKey); + const keyConst = addConstant(ctx, key); + const outKey = generateCheck(doc, ctx, def.keyType, keyConst); + const valueVar = newVar(ctx); + doc.write(`const ${valueVar} = ${accessor}[${literalPropertyKey(ctx, inputKey)}];`); + const valOutput = compileChild(doc, ctx, def.valueType, valueVar); + doc.write(`${outputVar}[${outKey}] = ${valOutput};`); + } + const knownKeysConst = addConstant(ctx, new Set(inputKeys)); + doc.write(`for (const ${kVar} in ${accessor}) {`); + doc.indented((d5) => { + d5.write(`if (${knownKeysConst}.has(${kVar})) continue;`); + if (recordDef.mode === "loose") { + d5.write(`if (${kVar} !== "__proto__") ${outputVar}[${kVar}] = ${accessor}[${kVar}];`); + } else { + d5.write(`return INVALID;`); + } + }); + doc.write(`}`); + return outputVar; + } + const keyDef = def.keyType._zod.def; + const keyIsBareString = keyDef.type === "string" && keyDef.format === void 0 && !keyDef.coerce && (keyDef.checks?.length ?? 0) === 0; + if (!keyIsBareString) { + const isLoose = def.mode === "loose"; + const keyFn = compileFn(def.keyType); + if (keyFn.definite === false) + ctx.definite = false; + const keyFast = addConstant(ctx, keyFn); + const numericConst = addConstant(ctx, number); + const outKeyVar = newVar(ctx); + emitOwnKeys(doc, ctx, accessor, kVar, (d5) => { + d5.write(`let ${outKeyVar} = ${keyFast}(${kVar});`); + d5.write(`if (${outKeyVar} === INVALID && typeof ${kVar} === "string" && ${numericConst}.test(${kVar})) ${outKeyVar} = ${keyFast}(Number(${kVar}));`); + if (isLoose) { + d5.write(`if (${outKeyVar} === INVALID) { ${outputVar}[${kVar}] = ${accessor}[${kVar}]; continue; }`); + } else { + d5.write(`if (${outKeyVar} === INVALID) return INVALID;`); + } + d5.write(`if (${outKeyVar} === "__proto__") continue;`); + const valueVar = newVar(ctx); + d5.write(`const ${valueVar} = ${accessor}[${kVar}];`); + const valOutput = compileChild(d5, ctx, def.valueType, valueVar); + d5.write(`${outputVar}[${outKeyVar}] = ${valOutput};`); + }); + return outputVar; + } + emitOwnKeys(doc, ctx, accessor, kVar, (d5) => { + d5.write(`const ${valVar} = ${accessor}[${kVar}];`); + const valOutput = compileChild(d5, ctx, def.valueType, valVar); + d5.write(`${outputVar}[${kVar}] = ${valOutput};`); + }, `return INVALID;`); + return outputVar; +} +__name(generateRecordCheck, "generateRecordCheck"); +function emitOwnKeys(doc, ctx, accessor, kVar, body, onSymbol) { + const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable); + const symsVar = newVar(ctx); + const keysVar = newVar(ctx); + const iVar = newVar(ctx); + doc.write(`const ${symsVar} = Object.getOwnPropertySymbols(${accessor});`); + doc.write(`const ${keysVar} = Object.getOwnPropertyNames(${accessor});`); + doc.write(`for (let ${iVar} = 0; ${iVar} < ${keysVar}.length; ${iVar}++) {`); + doc.indented((d5) => { + d5.write(`const ${kVar} = ${keysVar}[${iVar}];`); + d5.write(`if (${kVar} === "__proto__" || !${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`); + body(d5); + }); + doc.write(`}`); + doc.write(`for (let ${iVar} = 0; ${iVar} < ${symsVar}.length; ${iVar}++) {`); + doc.indented((d5) => { + d5.write(`const ${kVar} = ${symsVar}[${iVar}];`); + d5.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`); + if (onSymbol) + d5.write(onSymbol); + else + body(d5); + }); + doc.write(`}`); +} +__name(emitOwnKeys, "emitOwnKeys"); +function literalPropertyKey(ctx, key) { + if (typeof key === "string") + return esc(key); + return addConstant(ctx, key); +} +__name(literalPropertyKey, "literalPropertyKey"); +function generateMapCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + doc.write(`if (!(${accessor} instanceof Map)) return INVALID;`); + generateSizeGate(doc, schema2, `${accessor}.size`); + const outputVar = newVar(ctx); + const kVar = newVar(ctx); + const valVar = newVar(ctx); + doc.write(`const ${outputVar} = new Map();`); + doc.write(`for (const [${kVar}, ${valVar}] of ${accessor}) {`); + doc.indented((d5) => { + const keyOutput = generateCheck(d5, ctx, def.keyType, kVar); + const valOutput = generateCheck(d5, ctx, def.valueType, valVar); + d5.write(`${outputVar}.set(${keyOutput}, ${valOutput});`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateMapCheck, "generateMapCheck"); +function generateSetCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + doc.write(`if (!(${accessor} instanceof Set)) return INVALID;`); + generateSizeGate(doc, schema2, `${accessor}.size`); + const outputVar = newVar(ctx); + const valVar = newVar(ctx); + doc.write(`const ${outputVar} = new Set();`); + doc.write(`for (const ${valVar} of ${accessor}) {`); + doc.indented((d5) => { + const valOutput = generateCheck(d5, ctx, def.valueType, valVar); + d5.write(`${outputVar}.add(${valOutput});`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateSetCheck, "generateSetCheck"); +function generateFileCheck(doc, accessor) { + doc.write(`if (!(${accessor} instanceof File)) return INVALID;`); + return accessor; +} +__name(generateFileCheck, "generateFileCheck"); +function generateTemplateLiteralCheck(doc, ctx, schema2, accessor) { + doc.write(`if (typeof ${accessor} !== "string") return INVALID;`); + const pattern = schema2._zod.pattern; + if (pattern) { + const patternConst = addConstant(ctx, pattern); + doc.write(`${patternConst}.lastIndex = 0;`); + doc.write(`if (!${patternConst}.test(${accessor})) return INVALID;`); + } + return accessor; +} +__name(generateTemplateLiteralCheck, "generateTemplateLiteralCheck"); +function generateLazyCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const getterConst = addUserConstant(ctx, def.getter); + const cacheConst = addConstant(ctx, { parser: null }); + doc.write(`if (!${cacheConst}.parser) {`); + doc.indented((d5) => { + d5.write(`const inner = ${getterConst}();`); + d5.write(`${cacheConst}.parser = function(input) {`); + d5.indented((d22) => { + d22.write(`const result = inner._zod.run({ value: input, issues: [] }, {});`); + d22.write(`return result.issues.length === 0 ? result.value : INVALID;`); + }); + d5.write(`};`); + }); + doc.write(`}`); + const outputVar = newVar(ctx); + doc.write(`const ${outputVar} = ${cacheConst}.parser(${accessor});`); + doc.write(`if (${outputVar} === INVALID) return INVALID;`); + return outputVar; +} +__name(generateLazyCheck, "generateLazyCheck"); +function generatePipeCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + const inputOutput = generateCheck(doc, ctx, def.in, accessor); + if (def.transform) { + if (isAsyncFunction(def.transform)) { + throw new ZodCompileAsyncError("z.compile: async transforms in pipes are not supported"); + } + const transformFn = def.transform; + const helperFn = /* @__PURE__ */ __name((value) => { + const fakePayload = { value, issues: [], addIssue: pushIssue }; + const result = transformFn(value, fakePayload); + if (result instanceof Promise) + return INVALID; + return fakePayload.issues.length === 0 ? result : INVALID; + }, "helperFn"); + const helperConst = addUserConstant(ctx, helperFn); + const transformedVar = newVar(ctx); + doc.write(`const ${transformedVar} = ${helperConst}(${inputOutput});`); + doc.write(`if (${transformedVar} === INVALID) return INVALID;`); + return generateCheck(doc, ctx, def.out, transformedVar); + } else { + return generateCheck(doc, ctx, def.out, inputOutput); + } +} +__name(generatePipeCheck, "generatePipeCheck"); +function isAsyncFunction(fn) { + return typeof fn === "function" && (fn.constructor.name === "AsyncFunction" || fn[Symbol.toStringTag] === "AsyncFunction"); +} +__name(isAsyncFunction, "isAsyncFunction"); +function generateCustomCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + if (def.fn) { + if (isAsyncFunction(def.fn)) { + throw new ZodCompileAsyncError("z.compile: async custom predicates are not supported"); + } + const fnConst = addUserConstant(ctx, def.fn); + const throwAsyncConst = addConstant(ctx, throwAsync); + const resVar = newVar(ctx); + doc.write(`const ${resVar} = ${fnConst}(${accessor});`); + doc.write(`if (${resVar} instanceof Promise) ${throwAsyncConst}();`); + doc.write(`if (!${resVar}) return INVALID;`); + } else { + throw new ZodCompileUnsupportedError("custom schema without a predicate function"); + } + return accessor; +} +__name(generateCustomCheck, "generateCustomCheck"); +function runtimeCatch(innerSchema, catchValue, value) { + const result = innerSchema._zod.run({ value, issues: [] }, {}); + if (result && typeof result.then === "function") + return INVALID; + const r5 = result; + if (r5.issues.length === 0) + return r5.value; + return catchValue(); +} +__name(runtimeCatch, "runtimeCatch"); +function generateCatchCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + if (!def.catchValue[CONSTANT_CATCH]) { + throw new ZodCompileUnsupportedError("catch with a callback (only a constant catch value compiles)", false); + } + const outputVar = newVar(ctx); + doc.write(`let ${outputVar} = (() => {`); + doc.indented((d5) => { + const innerOut = compileChild(d5, ctx, def.innerType, accessor); + d5.write(`return ${innerOut};`); + }); + doc.write(`})();`); + const innerConst = addConstant(ctx, def.innerType); + const catchConst = addUserConstant(ctx, def.catchValue); + const catchHelperConst = addConstant(ctx, runtimeCatch); + doc.write(`if (${outputVar} === INVALID) {`); + doc.indented((d5) => { + d5.write(`${outputVar} = ${catchHelperConst}(${innerConst}, ${catchConst}, ${accessor});`); + d5.write(`if (${outputVar} === INVALID) return INVALID;`); + }); + doc.write(`}`); + return outputVar; +} +__name(generateCatchCheck, "generateCatchCheck"); +function generateTransformCheck(doc, ctx, schema2, accessor) { + const def = schema2._zod.def; + if (def.transform) { + if (isAsyncFunction(def.transform)) { + throw new ZodCompileAsyncError("z.compile: async transforms are not supported"); + } + const transformFn = def.transform; + const helperFn = /* @__PURE__ */ __name((value) => { + const fakePayload = { value, issues: [], addIssue: pushIssue }; + const result = transformFn(value, fakePayload); + if (result instanceof Promise) + return INVALID; + return fakePayload.issues.length === 0 ? result : INVALID; + }, "helperFn"); + const helperConst = addUserConstant(ctx, helperFn); + const outputVar = newVar(ctx); + doc.write(`const ${outputVar} = ${helperConst}(${accessor});`); + doc.write(`if (${outputVar} === INVALID) return INVALID;`); + return outputVar; + } + return accessor; +} +__name(generateTransformCheck, "generateTransformCheck"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/api.js +function snapshotChecks(def) { + if (def.checks) + def.checks = [...def.checks]; + return def; +} +__name(snapshotChecks, "snapshotChecks"); +// @__NO_SIDE_EFFECTS__ +function _string(Class2, params) { + return new Class2(snapshotChecks({ type: "string", ...normalizeParams(params) })); +} +__name(_string, "_string"); +// @__NO_SIDE_EFFECTS__ +function _coercedString(Class2, params) { + return new Class2(snapshotChecks({ type: "string", coerce: true, ...normalizeParams(params) })); +} +__name(_coercedString, "_coercedString"); +// @__NO_SIDE_EFFECTS__ +function _email(Class2, params) { + return new Class2({ + type: "string", + format: "email", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_email, "_email"); +// @__NO_SIDE_EFFECTS__ +function _guid(Class2, params) { + return new Class2({ + type: "string", + format: "guid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_guid, "_guid"); +// @__NO_SIDE_EFFECTS__ +function _uuid(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_uuid, "_uuid"); +// @__NO_SIDE_EFFECTS__ +function _uuidv4(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v4", + ...normalizeParams(params) + }); +} +__name(_uuidv4, "_uuidv4"); +// @__NO_SIDE_EFFECTS__ +function _uuidv6(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v6", + ...normalizeParams(params) + }); +} +__name(_uuidv6, "_uuidv6"); +// @__NO_SIDE_EFFECTS__ +function _uuidv7(Class2, params) { + return new Class2({ + type: "string", + format: "uuid", + check: "string_format", + abort: false, + version: "v7", + ...normalizeParams(params) + }); +} +__name(_uuidv7, "_uuidv7"); +// @__NO_SIDE_EFFECTS__ +function _url(Class2, params) { + return new Class2({ + type: "string", + format: "url", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_url, "_url"); +// @__NO_SIDE_EFFECTS__ +function _emoji2(Class2, params) { + return new Class2({ + type: "string", + format: "emoji", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_emoji2, "_emoji"); +// @__NO_SIDE_EFFECTS__ +function _nanoid(Class2, params) { + return new Class2({ + type: "string", + format: "nanoid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_nanoid, "_nanoid"); +// @__NO_SIDE_EFFECTS__ +function _cuid(Class2, params) { + return new Class2({ + type: "string", + format: "cuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_cuid, "_cuid"); +// @__NO_SIDE_EFFECTS__ +function _cuid2(Class2, params) { + return new Class2({ + type: "string", + format: "cuid2", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_cuid2, "_cuid2"); +// @__NO_SIDE_EFFECTS__ +function _ulid(Class2, params) { + return new Class2({ + type: "string", + format: "ulid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_ulid, "_ulid"); +// @__NO_SIDE_EFFECTS__ +function _xid(Class2, params) { + return new Class2({ + type: "string", + format: "xid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_xid, "_xid"); +// @__NO_SIDE_EFFECTS__ +function _ksuid(Class2, params) { + return new Class2({ + type: "string", + format: "ksuid", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_ksuid, "_ksuid"); +// @__NO_SIDE_EFFECTS__ +function _ipv4(Class2, params) { + return new Class2({ + type: "string", + format: "ipv4", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_ipv4, "_ipv4"); +// @__NO_SIDE_EFFECTS__ +function _ipv6(Class2, params) { + return new Class2({ + type: "string", + format: "ipv6", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_ipv6, "_ipv6"); +// @__NO_SIDE_EFFECTS__ +function _mac(Class2, params) { + return new Class2({ + type: "string", + format: "mac", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_mac, "_mac"); +// @__NO_SIDE_EFFECTS__ +function _cidrv4(Class2, params) { + return new Class2({ + type: "string", + format: "cidrv4", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_cidrv4, "_cidrv4"); +// @__NO_SIDE_EFFECTS__ +function _cidrv6(Class2, params) { + return new Class2({ + type: "string", + format: "cidrv6", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_cidrv6, "_cidrv6"); +// @__NO_SIDE_EFFECTS__ +function _base64(Class2, params) { + return new Class2({ + type: "string", + format: "base64", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_base64, "_base64"); +// @__NO_SIDE_EFFECTS__ +function _base64url(Class2, params) { + return new Class2({ + type: "string", + format: "base64url", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_base64url, "_base64url"); +// @__NO_SIDE_EFFECTS__ +function _e164(Class2, params) { + return new Class2({ + type: "string", + format: "e164", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_e164, "_e164"); +// @__NO_SIDE_EFFECTS__ +function _creditCard(Class2, params) { + return new Class2({ + type: "string", + format: "credit_card", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_creditCard, "_creditCard"); +// @__NO_SIDE_EFFECTS__ +function _iban(Class2, params) { + return new Class2({ + type: "string", + format: "iban", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_iban, "_iban"); +// @__NO_SIDE_EFFECTS__ +function _jwt(Class2, params) { + return new Class2({ + type: "string", + format: "jwt", + check: "string_format", + abort: false, + ...normalizeParams(params) + }); +} +__name(_jwt, "_jwt"); +var TimePrecision = { + Any: null, + Minute: -1, + Second: 0, + Millisecond: 3, + Microsecond: 6 +}; +// @__NO_SIDE_EFFECTS__ +function _isoDateTime(Class2, params) { + return new Class2({ + type: "string", + format: "datetime", + check: "string_format", + offset: false, + local: false, + precision: null, + ...normalizeParams(params) + }); +} +__name(_isoDateTime, "_isoDateTime"); +// @__NO_SIDE_EFFECTS__ +function _isoDate(Class2, params) { + return new Class2({ + type: "string", + format: "date", + check: "string_format", + ...normalizeParams(params) + }); +} +__name(_isoDate, "_isoDate"); +// @__NO_SIDE_EFFECTS__ +function _isoTime(Class2, params) { + return new Class2({ + type: "string", + format: "time", + check: "string_format", + precision: null, + ...normalizeParams(params) + }); +} +__name(_isoTime, "_isoTime"); +// @__NO_SIDE_EFFECTS__ +function _isoDuration(Class2, params) { + return new Class2({ + type: "string", + format: "duration", + check: "string_format", + ...normalizeParams(params) + }); +} +__name(_isoDuration, "_isoDuration"); +// @__NO_SIDE_EFFECTS__ +function _number(Class2, params) { + return new Class2(snapshotChecks({ type: "number", checks: [], ...normalizeParams(params) })); +} +__name(_number, "_number"); +// @__NO_SIDE_EFFECTS__ +function _coercedNumber(Class2, params) { + return new Class2(snapshotChecks({ type: "number", coerce: true, checks: [], ...normalizeParams(params) })); +} +__name(_coercedNumber, "_coercedNumber"); +// @__NO_SIDE_EFFECTS__ +function _int(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "safeint", + ...normalizeParams(params) + }); +} +__name(_int, "_int"); +// @__NO_SIDE_EFFECTS__ +function _float32(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "float32", + ...normalizeParams(params) + }); +} +__name(_float32, "_float32"); +// @__NO_SIDE_EFFECTS__ +function _float64(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "float64", + ...normalizeParams(params) + }); +} +__name(_float64, "_float64"); +// @__NO_SIDE_EFFECTS__ +function _int32(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "int32", + ...normalizeParams(params) + }); +} +__name(_int32, "_int32"); +// @__NO_SIDE_EFFECTS__ +function _uint32(Class2, params) { + return new Class2({ + type: "number", + check: "number_format", + abort: false, + format: "uint32", + ...normalizeParams(params) + }); +} +__name(_uint32, "_uint32"); +// @__NO_SIDE_EFFECTS__ +function _boolean(Class2, params) { + return new Class2({ + type: "boolean", + ...normalizeParams(params) + }); +} +__name(_boolean, "_boolean"); +// @__NO_SIDE_EFFECTS__ +function _coercedBoolean(Class2, params) { + return new Class2({ + type: "boolean", + coerce: true, + ...normalizeParams(params) + }); +} +__name(_coercedBoolean, "_coercedBoolean"); +// @__NO_SIDE_EFFECTS__ +function _bigint(Class2, params) { + return new Class2({ + type: "bigint", + ...normalizeParams(params) + }); +} +__name(_bigint, "_bigint"); +// @__NO_SIDE_EFFECTS__ +function _coercedBigint(Class2, params) { + return new Class2({ + type: "bigint", + coerce: true, + ...normalizeParams(params) + }); +} +__name(_coercedBigint, "_coercedBigint"); +// @__NO_SIDE_EFFECTS__ +function _int64(Class2, params) { + return new Class2({ + type: "bigint", + check: "bigint_format", + abort: false, + format: "int64", + ...normalizeParams(params) + }); +} +__name(_int64, "_int64"); +// @__NO_SIDE_EFFECTS__ +function _uint64(Class2, params) { + return new Class2({ + type: "bigint", + check: "bigint_format", + abort: false, + format: "uint64", + ...normalizeParams(params) + }); +} +__name(_uint64, "_uint64"); +// @__NO_SIDE_EFFECTS__ +function _symbol(Class2, params) { + return new Class2({ + type: "symbol", + ...normalizeParams(params) + }); +} +__name(_symbol, "_symbol"); +// @__NO_SIDE_EFFECTS__ +function _undefined2(Class2, params) { + return new Class2({ + type: "undefined", + ...normalizeParams(params) + }); +} +__name(_undefined2, "_undefined"); +// @__NO_SIDE_EFFECTS__ +function _null2(Class2, params) { + return new Class2({ + type: "null", + ...normalizeParams(params) + }); +} +__name(_null2, "_null"); +// @__NO_SIDE_EFFECTS__ +function _any(Class2) { + return new Class2({ + type: "any" + }); +} +__name(_any, "_any"); +// @__NO_SIDE_EFFECTS__ +function _unknown(Class2) { + return new Class2({ + type: "unknown" + }); +} +__name(_unknown, "_unknown"); +// @__NO_SIDE_EFFECTS__ +function _never(Class2, params) { + return new Class2({ + type: "never", + ...normalizeParams(params) + }); +} +__name(_never, "_never"); +// @__NO_SIDE_EFFECTS__ +function _void(Class2, params) { + return new Class2({ + type: "void", + ...normalizeParams(params) + }); +} +__name(_void, "_void"); +// @__NO_SIDE_EFFECTS__ +function _date(Class2, params) { + return new Class2({ + type: "date", + ...normalizeParams(params) + }); +} +__name(_date, "_date"); +// @__NO_SIDE_EFFECTS__ +function _coercedDate(Class2, params) { + return new Class2({ + type: "date", + coerce: true, + ...normalizeParams(params) + }); +} +__name(_coercedDate, "_coercedDate"); +// @__NO_SIDE_EFFECTS__ +function _nan(Class2, params) { + return new Class2({ + type: "nan", + ...normalizeParams(params) + }); +} +__name(_nan, "_nan"); +// @__NO_SIDE_EFFECTS__ +function _lt(value, params) { + return new $ZodCheckLessThan({ + check: "less_than", + ...normalizeParams(params), + value, + inclusive: false + }); +} +__name(_lt, "_lt"); +// @__NO_SIDE_EFFECTS__ +function _lte(value, params) { + return new $ZodCheckLessThan({ + check: "less_than", + ...normalizeParams(params), + value, + inclusive: true + }); +} +__name(_lte, "_lte"); +// @__NO_SIDE_EFFECTS__ +function _gt(value, params) { + return new $ZodCheckGreaterThan({ + check: "greater_than", + ...normalizeParams(params), + value, + inclusive: false + }); +} +__name(_gt, "_gt"); +// @__NO_SIDE_EFFECTS__ +function _gte(value, params) { + return new $ZodCheckGreaterThan({ + check: "greater_than", + ...normalizeParams(params), + value, + inclusive: true + }); +} +__name(_gte, "_gte"); +// @__NO_SIDE_EFFECTS__ +function _positive(params) { + return /* @__PURE__ */ _gt(0, params); +} +__name(_positive, "_positive"); +// @__NO_SIDE_EFFECTS__ +function _negative(params) { + return /* @__PURE__ */ _lt(0, params); +} +__name(_negative, "_negative"); +// @__NO_SIDE_EFFECTS__ +function _nonpositive(params) { + return /* @__PURE__ */ _lte(0, params); +} +__name(_nonpositive, "_nonpositive"); +// @__NO_SIDE_EFFECTS__ +function _nonnegative(params) { + return /* @__PURE__ */ _gte(0, params); +} +__name(_nonnegative, "_nonnegative"); +// @__NO_SIDE_EFFECTS__ +function _multipleOf(value, params) { + return new $ZodCheckMultipleOf({ + check: "multiple_of", + ...normalizeParams(params), + value + }); +} +__name(_multipleOf, "_multipleOf"); +// @__NO_SIDE_EFFECTS__ +function _maxSize(maximum, params) { + return new $ZodCheckMaxSize({ + check: "max_size", + ...normalizeParams(params), + maximum + }); +} +__name(_maxSize, "_maxSize"); +// @__NO_SIDE_EFFECTS__ +function _minSize(minimum, params) { + return new $ZodCheckMinSize({ + check: "min_size", + ...normalizeParams(params), + minimum + }); +} +__name(_minSize, "_minSize"); +// @__NO_SIDE_EFFECTS__ +function _size(size, params) { + return new $ZodCheckSizeEquals({ + check: "size_equals", + ...normalizeParams(params), + size + }); +} +__name(_size, "_size"); +// @__NO_SIDE_EFFECTS__ +function _maxLength(maximum, params) { + const ch = new $ZodCheckMaxLength({ + check: "max_length", + ...normalizeParams(params), + maximum + }); + return ch; +} +__name(_maxLength, "_maxLength"); +// @__NO_SIDE_EFFECTS__ +function _minLength(minimum, params) { + return new $ZodCheckMinLength({ + check: "min_length", + ...normalizeParams(params), + minimum + }); +} +__name(_minLength, "_minLength"); +// @__NO_SIDE_EFFECTS__ +function _length(length, params) { + return new $ZodCheckLengthEquals({ + check: "length_equals", + ...normalizeParams(params), + length + }); +} +__name(_length, "_length"); +// @__NO_SIDE_EFFECTS__ +function _regex(pattern, params) { + return new $ZodCheckRegex({ + check: "string_format", + format: "regex", + ...normalizeParams(params), + pattern + }); +} +__name(_regex, "_regex"); +// @__NO_SIDE_EFFECTS__ +function _lowercase(params) { + return new $ZodCheckLowerCase({ + check: "string_format", + format: "lowercase", + ...normalizeParams(params) + }); +} +__name(_lowercase, "_lowercase"); +// @__NO_SIDE_EFFECTS__ +function _uppercase(params) { + return new $ZodCheckUpperCase({ + check: "string_format", + format: "uppercase", + ...normalizeParams(params) + }); +} +__name(_uppercase, "_uppercase"); +// @__NO_SIDE_EFFECTS__ +function _includes(includes, params) { + return new $ZodCheckIncludes({ + check: "string_format", + format: "includes", + ...normalizeParams(params), + includes + }); +} +__name(_includes, "_includes"); +// @__NO_SIDE_EFFECTS__ +function _startsWith(prefix, params) { + return new $ZodCheckStartsWith({ + check: "string_format", + format: "starts_with", + ...normalizeParams(params), + prefix + }); +} +__name(_startsWith, "_startsWith"); +// @__NO_SIDE_EFFECTS__ +function _endsWith(suffix, params) { + return new $ZodCheckEndsWith({ + check: "string_format", + format: "ends_with", + ...normalizeParams(params), + suffix + }); +} +__name(_endsWith, "_endsWith"); +// @__NO_SIDE_EFFECTS__ +function _property(property, schema2, params) { + return new $ZodCheckProperty({ + check: "property", + property, + schema: schema2, + ...normalizeParams(params) + }); +} +__name(_property, "_property"); +// @__NO_SIDE_EFFECTS__ +function _properties(shape, params) { + return new $ZodCheckProperties({ + check: "properties", + shape, + ...normalizeParams(params) + }); +} +__name(_properties, "_properties"); +// @__NO_SIDE_EFFECTS__ +function _mime(types3, params) { + return new $ZodCheckMimeType({ + check: "mime_type", + mime: types3, + ...normalizeParams(params) + }); +} +__name(_mime, "_mime"); +// @__NO_SIDE_EFFECTS__ +function _overwrite(tx) { + return new $ZodCheckOverwrite({ + check: "overwrite", + tx + }); +} +__name(_overwrite, "_overwrite"); +// @__NO_SIDE_EFFECTS__ +function _normalize(form) { + return /* @__PURE__ */ _overwrite((input2) => input2.normalize(form)); +} +__name(_normalize, "_normalize"); +// @__NO_SIDE_EFFECTS__ +function _trim() { + return /* @__PURE__ */ _overwrite((input2) => input2.trim()); +} +__name(_trim, "_trim"); +// @__NO_SIDE_EFFECTS__ +function _toLowerCase() { + return /* @__PURE__ */ _overwrite((input2) => input2.toLowerCase()); +} +__name(_toLowerCase, "_toLowerCase"); +// @__NO_SIDE_EFFECTS__ +function _toUpperCase() { + return /* @__PURE__ */ _overwrite((input2) => input2.toUpperCase()); +} +__name(_toUpperCase, "_toUpperCase"); +// @__NO_SIDE_EFFECTS__ +function _slugify() { + return /* @__PURE__ */ _overwrite((input2) => slugify(input2)); +} +__name(_slugify, "_slugify"); +// @__NO_SIDE_EFFECTS__ +function _array(Class2, element, params) { + return new Class2({ + type: "array", + element, + // get element() { + // return element; + // }, + ...normalizeParams(params) + }); +} +__name(_array, "_array"); +// @__NO_SIDE_EFFECTS__ +function _union(Class2, options, params) { + return new Class2({ + type: "union", + options, + ...normalizeParams(params) + }); +} +__name(_union, "_union"); +function _xor(Class2, options, params) { + return new Class2({ + type: "union", + options, + inclusive: false, + ...normalizeParams(params) + }); +} +__name(_xor, "_xor"); +// @__NO_SIDE_EFFECTS__ +function _discriminatedUnion(Class2, discriminator, options, params) { + return new Class2({ + type: "union", + options, + discriminator, + ...normalizeParams(params) + }); +} +__name(_discriminatedUnion, "_discriminatedUnion"); +// @__NO_SIDE_EFFECTS__ +function _intersection(Class2, left, right) { + return new Class2({ + type: "intersection", + left, + right + }); +} +__name(_intersection, "_intersection"); +// @__NO_SIDE_EFFECTS__ +function _tuple(Class2, items, _paramsOrRest, _params) { + const hasRest = _paramsOrRest instanceof $ZodType; + const params = hasRest ? _params : _paramsOrRest; + const rest = hasRest ? _paramsOrRest : null; + return new Class2({ + type: "tuple", + items, + rest, + ...normalizeParams(params) + }); +} +__name(_tuple, "_tuple"); +// @__NO_SIDE_EFFECTS__ +function _record(Class2, keyType, valueType, params) { + return new Class2({ + type: "record", + keyType, + valueType, + ...normalizeParams(params) + }); +} +__name(_record, "_record"); +// @__NO_SIDE_EFFECTS__ +function _map(Class2, keyType, valueType, params) { + return new Class2({ + type: "map", + keyType, + valueType, + ...normalizeParams(params) + }); +} +__name(_map, "_map"); +// @__NO_SIDE_EFFECTS__ +function _set(Class2, valueType, params) { + return new Class2({ + type: "set", + valueType, + ...normalizeParams(params) + }); +} +__name(_set, "_set"); +// @__NO_SIDE_EFFECTS__ +function _enum(Class2, values, params) { + const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; + return new Class2({ + type: "enum", + entries, + ...normalizeParams(params) + }); +} +__name(_enum, "_enum"); +// @__NO_SIDE_EFFECTS__ +function _nativeEnum(Class2, entries, params) { + return new Class2({ + type: "enum", + entries, + ...normalizeParams(params) + }); +} +__name(_nativeEnum, "_nativeEnum"); +// @__NO_SIDE_EFFECTS__ +function _literal(Class2, value, params) { + return new Class2({ + type: "literal", + values: Array.isArray(value) ? value : [value], + ...normalizeParams(params) + }); +} +__name(_literal, "_literal"); +// @__NO_SIDE_EFFECTS__ +function _file(Class2, params) { + return new Class2({ + type: "file", + ...normalizeParams(params) + }); +} +__name(_file, "_file"); +// @__NO_SIDE_EFFECTS__ +function _transform(Class2, fn) { + return new Class2({ + type: "transform", + transform: fn + }); +} +__name(_transform, "_transform"); +// @__NO_SIDE_EFFECTS__ +function _optional(Class2, innerType) { + return new Class2({ + type: "optional", + innerType + }); +} +__name(_optional, "_optional"); +// @__NO_SIDE_EFFECTS__ +function _nullable(Class2, innerType) { + return new Class2({ + type: "nullable", + innerType + }); +} +__name(_nullable, "_nullable"); +// @__NO_SIDE_EFFECTS__ +function _default(Class2, innerType, defaultValue) { + return new Class2({ + type: "default", + innerType, + get defaultValue() { + return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue); + } + }); +} +__name(_default, "_default"); +// @__NO_SIDE_EFFECTS__ +function _nonoptional(Class2, innerType, params) { + return new Class2({ + type: "nonoptional", + innerType, + ...normalizeParams(params) + }); +} +__name(_nonoptional, "_nonoptional"); +// @__NO_SIDE_EFFECTS__ +function _success(Class2, innerType) { + return new Class2({ + type: "success", + innerType + }); +} +__name(_success, "_success"); +// @__NO_SIDE_EFFECTS__ +function _catch(Class2, innerType, catchValue) { + return new Class2({ + type: "catch", + innerType, + catchValue: typeof catchValue === "function" ? catchValue : constantCatch(catchValue) + }); +} +__name(_catch, "_catch"); +// @__NO_SIDE_EFFECTS__ +function _pipe(Class2, in_, out) { + return new Class2({ + type: "pipe", + in: in_, + out + }); +} +__name(_pipe, "_pipe"); +// @__NO_SIDE_EFFECTS__ +function _readonly(Class2, innerType) { + return new Class2({ + type: "readonly", + innerType + }); +} +__name(_readonly, "_readonly"); +// @__NO_SIDE_EFFECTS__ +function _templateLiteral(Class2, parts, params) { + return new Class2({ + type: "template_literal", + parts, + ...normalizeParams(params) + }); +} +__name(_templateLiteral, "_templateLiteral"); +// @__NO_SIDE_EFFECTS__ +function _lazy(Class2, getter) { + return new Class2({ + type: "lazy", + getter + }); +} +__name(_lazy, "_lazy"); +// @__NO_SIDE_EFFECTS__ +function _promise(Class2, innerType) { + return new Class2({ + type: "promise", + innerType + }); +} +__name(_promise, "_promise"); +// @__NO_SIDE_EFFECTS__ +function _custom(Class2, fn, _params) { + const norm = normalizeParams(_params); + norm.abort ?? (norm.abort = true); + const schema2 = new Class2({ + type: "custom", + check: "custom", + fn, + ...norm + }); + return schema2; +} +__name(_custom, "_custom"); +// @__NO_SIDE_EFFECTS__ +function _refine(Class2, fn, _params) { + const schema2 = new Class2({ + type: "custom", + check: "custom", + fn, + ...normalizeParams(_params) + }); + return schema2; +} +__name(_refine, "_refine"); +// @__NO_SIDE_EFFECTS__ +function _superRefine(fn, params) { + const ch = /* @__PURE__ */ _check((payload) => { + payload.addIssue = (issue2) => { + if (typeof issue2 === "string") { + payload.issues.push(issue(issue2, payload.value, ch._zod.def)); + } else { + const _issue = issue2; + if (_issue.fatal) + _issue.continue = false; + _issue.code ?? (_issue.code = "custom"); + if (!("input" in _issue)) + _issue.input = payload.value; + _issue.inst ?? (_issue.inst = ch); + _issue.continue ?? (_issue.continue = !ch._zod.def.abort); + payload.issues.push(issue(_issue)); + } + }; + return fn(payload.value, payload); + }, params); + return ch; +} +__name(_superRefine, "_superRefine"); +// @__NO_SIDE_EFFECTS__ +function _check(fn, params) { + const ch = new $ZodCheck({ + check: "custom", + ...normalizeParams(params) + }); + ch._zod.check = fn; + return ch; +} +__name(_check, "_check"); +// @__NO_SIDE_EFFECTS__ +function describe(description) { + const ch = new $ZodCheck({ check: "describe" }); + ch._zod.onattach = [ + (inst) => { + const existing = globalRegistry.get(inst) ?? {}; + globalRegistry.add(inst, { ...existing, description }); + } + ]; + ch._zod.check = () => { + }; + return ch; +} +__name(describe, "describe"); +// @__NO_SIDE_EFFECTS__ +function meta(metadata) { + const ch = new $ZodCheck({ check: "meta" }); + ch._zod.onattach = [ + (inst) => { + const existing = globalRegistry.get(inst) ?? {}; + globalRegistry.add(inst, { ...existing, ...metadata }); + } + ]; + ch._zod.check = () => { + }; + return ch; +} +__name(meta, "meta"); +// @__NO_SIDE_EFFECTS__ +function _stringbool(Classes, _params) { + const params = normalizeParams(_params); + let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"]; + let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"]; + if (params.case !== "sensitive") { + truthyArray = truthyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v); + falsyArray = falsyArray.map((v) => typeof v === "string" ? v.toLowerCase() : v); + } + const truthySet = new Set(truthyArray); + const falsySet = new Set(falsyArray); + const _Codec = Classes.Codec ?? $ZodCodec; + const _Boolean = Classes.Boolean ?? $ZodBoolean; + const _String = Classes.String ?? $ZodString; + const stringSchema = new _String({ type: "string", error: params.error }); + const booleanSchema = new _Boolean({ type: "boolean", error: params.error }); + const codec2 = new _Codec({ + type: "pipe", + in: stringSchema, + out: booleanSchema, + transform: /* @__PURE__ */ __name(((input2, payload) => { + let data = input2; + if (params.case !== "sensitive") + data = data.toLowerCase(); + if (truthySet.has(data)) { + return true; + } else if (falsySet.has(data)) { + return false; + } else { + payload.issues.push({ + code: "invalid_value", + expected: "stringbool", + values: [...truthySet, ...falsySet], + input: payload.value, + inst: codec2, + continue: false + }); + return {}; + } + }), "transform"), + reverseTransform: /* @__PURE__ */ __name(((input2, _payload) => { + if (input2 === true) { + return truthyArray[0] || "true"; + } else { + return falsyArray[0] || "false"; + } + }), "reverseTransform"), + error: params.error + }); + codec2._zod.bag.truthy = truthyArray; + codec2._zod.bag.falsy = falsyArray; + codec2._zod.bag.case = params.case ?? "insensitive"; + return codec2; +} +__name(_stringbool, "_stringbool"); +// @__NO_SIDE_EFFECTS__ +function _stringFormat(Class2, format, fnOrRegex, _params = {}) { + const params = normalizeParams(_params); + const def = { + check: "string_format", + type: "string", + format, + fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val), + ...params + }; + if (fnOrRegex instanceof RegExp) { + def.pattern = fnOrRegex; + } + const inst = new Class2(def); + return inst; +} +__name(_stringFormat, "_stringFormat"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/to-json-schema.js +function assignProps(target, ...sources) { + for (const source of sources) { + for (const key of Reflect.ownKeys(source)) { + if (Object.prototype.propertyIsEnumerable.call(source, key)) { + assignProp(target, key, source[key]); + } + } + } + return target; +} +__name(assignProps, "assignProps"); +function initializeContext(params) { + let target = params?.target ?? "draft-2020-12"; + if (target === "draft-4") + target = "draft-04"; + if (target === "draft-7") + target = "draft-07"; + return { + processors: params.processors ?? {}, + metadataRegistry: params?.metadata ?? globalRegistry, + target, + unrepresentable: params?.unrepresentable ?? "throw", + override: params?.override ?? (() => { + }), + io: params?.io ?? "output", + counter: 0, + seen: /* @__PURE__ */ new Map(), + sharedDefsExtractedFor: void 0, + sharedEmitDoneFor: void 0, + cycles: params?.cycles ?? "ref", + reused: params?.reused ?? "inline", + intersections: [], + deferred: [], + external: params?.external ?? void 0 + }; +} +__name(initializeContext, "initializeContext"); +function handleUnrepresentable(schema2, ctx, json2, params, message) { + const result = typeof ctx.unrepresentable === "function" ? ctx.unrepresentable({ zodSchema: schema2, path: params.path, message }) : ctx.unrepresentable; + if (result === "any") + return false; + if (result === void 0 || result === "throw") + throw new Error(message); + Object.assign(json2, result); + return true; +} +__name(handleUnrepresentable, "handleUnrepresentable"); +function processSchema(schema2, ctx, _params = { path: [], schemaPath: [] }) { + var _a4; + const def = schema2._zod.def; + const seen = ctx.seen.get(schema2); + if (seen) { + seen.count++; + const isCycle = _params.schemaPath.includes(schema2); + if (isCycle) { + seen.cycle = _params.path; + } + return seen.schema; + } + const result = { schema: {}, count: 1, cycle: void 0, path: _params.path }; + ctx.seen.set(schema2, result); + ctx.sharedDefsExtractedFor = void 0; + ctx.sharedEmitDoneFor = void 0; + const overrideSchema = schema2._zod.toJSONSchema?.(); + if (overrideSchema) { + result.schema = overrideSchema; + } else { + const params = { + ..._params, + schemaPath: [..._params.schemaPath, schema2], + path: _params.path + }; + if (schema2._zod.processJSONSchema) { + schema2._zod.processJSONSchema(ctx, result.schema, params); + } else { + const _json = result.schema; + const processor = ctx.processors[def.type]; + if (!processor) { + throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`); + } + processor(schema2, ctx, _json, params); + } + const parent = schema2._zod.parent; + if (parent) { + if (!result.ref) + result.ref = parent; + processSchema(parent, ctx, params); + ctx.seen.get(parent).isParent = true; + } + } + const meta3 = ctx.metadataRegistry.get(schema2); + if (meta3) + assignProps(result.schema, meta3); + if (ctx.io === "input" && isTransforming(schema2)) { + delete result.schema.examples; + delete result.schema.default; + } + if (ctx.io === "input" && "_prefault" in result.schema) + (_a4 = result.schema).default ?? (_a4.default = result.schema._prefault); + delete result.schema._prefault; + const _result = ctx.seen.get(schema2); + return _result.schema; +} +__name(processSchema, "processSchema"); +function encodeJSONPointerSegment(segment) { + return segment.replace(/~/g, "~0").replace(/\//g, "~1"); +} +__name(encodeJSONPointerSegment, "encodeJSONPointerSegment"); +function extractDefs(ctx, schema2) { + const root5 = ctx.seen.get(schema2); + if (!root5) + throw new Error("Unprocessed schema. This is a bug in Zod."); + if (ctx.external && ctx.sharedDefsExtractedFor === ctx.external) + return; + const idToSchema = /* @__PURE__ */ new Map(); + for (const entry of ctx.seen.entries()) { + const id = ctx.metadataRegistry.get(entry[0])?.id; + if (id) { + const existing = idToSchema.get(id); + if (existing && existing !== entry[0]) { + throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`); + } + idToSchema.set(id, entry[0]); + } + } + const makeURI = /* @__PURE__ */ __name((entry) => { + const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions"; + if (ctx.external) { + const externalId = ctx.external.registry.get(entry[0])?.id; + const uriGenerator = ctx.external.uri ?? ((id2) => id2); + if (externalId) { + return { ref: uriGenerator(externalId) }; + } + const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`; + entry[1].defId = id; + return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${encodeJSONPointerSegment(id)}` }; + } + const uriPrefix = `#`; + const defUriPrefix = `${uriPrefix}/${defsSegment}/`; + if (entry[1] === root5 && !entry[1].schema.id) { + return { ref: uriPrefix }; + } + const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`; + return { defId, ref: defUriPrefix + encodeJSONPointerSegment(defId) }; + }, "makeURI"); + const extractToDef = /* @__PURE__ */ __name((entry) => { + if (entry[1].schema.$ref) { + return; + } + const seen = entry[1]; + const { ref, defId } = makeURI(entry); + seen.def = { ...seen.schema }; + if (defId) + seen.defId = defId; + const schema3 = seen.schema; + for (const key in schema3) { + delete schema3[key]; + } + schema3.$ref = ref; + }, "extractToDef"); + if (ctx.cycles === "throw") { + for (const entry of ctx.seen.entries()) { + const seen = entry[1]; + if (seen.cycle) { + throw new Error(`Cycle detected: #/${seen.cycle?.join("/")}/ + +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`); + } + } + } + for (const entry of ctx.seen.entries()) { + const seen = entry[1]; + if (schema2 === entry[0]) { + extractToDef(entry); + continue; + } + if (ctx.external) { + const ext = ctx.external.registry.get(entry[0])?.id; + if (schema2 !== entry[0] && ext) { + extractToDef(entry); + continue; + } + } + const id = ctx.metadataRegistry.get(entry[0])?.id; + if (id) { + extractToDef(entry); + continue; + } + if (seen.cycle) { + extractToDef(entry); + continue; + } + if (seen.count > 1) { + if (ctx.reused === "ref") { + extractToDef(entry); + } + } + } + if (ctx.external) + ctx.sharedDefsExtractedFor = ctx.external; +} +__name(extractDefs, "extractDefs"); +function compactTypeUnion(schema2) { + const options = schema2.anyOf; + if (!Array.isArray(options) || options.length === 0 || schema2.type !== void 0) + return; + const types3 = []; + for (const option of options) { + if (!option || typeof option !== "object") + return; + compactTypeUnion(option); + const keys = Object.keys(option); + if (keys.length !== 1 || keys[0] !== "type") + return; + const type = option.type; + for (const member of Array.isArray(type) ? type : [type]) { + if (typeof member !== "string") + return; + if (!types3.includes(member)) + types3.push(member); + } + } + delete schema2.anyOf; + schema2.type = types3.length === 1 ? types3[0] : types3; +} +__name(compactTypeUnion, "compactTypeUnion"); +var FOLDABLE_KEYS = /* @__PURE__ */ new Set(["type", "properties", "required", "additionalProperties"]); +var UNION_KEYS = ["oneOf", "anyOf"]; +function undeclaredConstraint(member) { + const extra = member.additionalProperties; + if (extra === void 0 || extra === false || typeof extra !== "object" || extra === null) + return null; + return Object.keys(extra).length ? extra : null; +} +__name(undeclaredConstraint, "undeclaredConstraint"); +function foldObjects(members2) { + const objects = []; + for (const member of members2) { + if (typeof member !== "object" || member.type !== "object") + return null; + for (const key in member) { + if (!FOLDABLE_KEYS.has(key)) + return null; + } + objects.push(member); + } + const properties = {}; + const required2 = /* @__PURE__ */ new Set(); + for (const object2 of objects) { + for (const key in object2.properties) { + if (Object.prototype.hasOwnProperty.call(properties, key)) + continue; + const parts = []; + for (const other of objects) { + const part = other.properties?.[key] ?? undeclaredConstraint(other); + if (part === null || part === void 0) + continue; + if (!parts.some((seen) => JSON.stringify(seen) === JSON.stringify(part))) + parts.push(part); + } + const merged = parts.length === 1 ? parts[0] : foldObjects(parts) ?? { allOf: parts }; + assignProp(properties, key, merged); + } + for (const key of object2.required ?? []) + required2.add(key); + } + const folded = { type: "object", properties }; + if (required2.size) + folded.required = [...required2]; + if (objects.every((object2) => object2.additionalProperties === false)) { + folded.additionalProperties = false; + } else { + const constraints = []; + for (const object2 of objects) { + const constraint = undeclaredConstraint(object2); + if (constraint && !constraints.some((seen) => JSON.stringify(seen) === JSON.stringify(constraint))) + constraints.push(constraint); + } + if (constraints.length === 1) + folded.additionalProperties = constraints[0]; + else if (constraints.length > 1) + folded.additionalProperties = { allOf: constraints }; + } + return folded; +} +__name(foldObjects, "foldObjects"); +function foldIntersection(json2) { + const allOf = json2.allOf; + if (!Array.isArray(allOf) || allOf.length < 2) + return; + for (const key of FOLDABLE_KEYS) + if (key in json2) + return; + const unions = allOf.filter((m3) => UNION_KEYS.some((k5) => Array.isArray(m3[k5]))); + let folded = null; + if (!unions.length) { + folded = foldObjects(allOf); + } else { + const union2 = unions[0]; + const keyword = UNION_KEYS.find((k5) => Array.isArray(union2[k5])); + if (Object.keys(union2).length !== 1) + return; + const rest = allOf.filter((m3) => m3 !== union2); + const branches = union2[keyword].map((branch) => foldObjects([...rest, branch])); + if (branches.some((b5) => !b5)) + return; + folded = { [keyword]: branches }; + } + if (!folded) + return; + delete json2.allOf; + assignProps(json2, folded); +} +__name(foldIntersection, "foldIntersection"); +function finalize(ctx, schema2) { + const root5 = ctx.seen.get(schema2); + if (!root5) + throw new Error("Unprocessed schema. This is a bug in Zod."); + const flattenRef = /* @__PURE__ */ __name((zodSchema) => { + const seen = ctx.seen.get(zodSchema); + if (seen.ref === null) + return; + const schema3 = seen.def ?? seen.schema; + const _cached = { ...schema3 }; + const ref = seen.ref; + seen.ref = null; + if (ref) { + flattenRef(ref); + const refSeen = ctx.seen.get(ref); + const refSchema = refSeen.schema; + if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) { + schema3.allOf = schema3.allOf ?? []; + schema3.allOf.push(refSchema); + } else { + assignProps(schema3, refSchema); + } + assignProps(schema3, _cached); + const isParentRef = zodSchema._zod.parent === ref; + if (isParentRef) { + for (const key in schema3) { + if (key === "$ref" || key === "allOf") + continue; + if (!(key in _cached)) { + delete schema3[key]; + } + } + } + if (refSchema.$ref && refSeen.def) { + for (const key in schema3) { + if (key === "$ref" || key === "allOf") + continue; + if (key in refSeen.def && JSON.stringify(schema3[key]) === JSON.stringify(refSeen.def[key])) { + delete schema3[key]; + } + } + } + } + const parent = zodSchema._zod.parent; + if (parent && parent !== ref) { + flattenRef(parent); + const parentSeen = ctx.seen.get(parent); + if (parentSeen?.schema.$ref) { + schema3.$ref = parentSeen.schema.$ref; + if (parentSeen.def) { + for (const key in schema3) { + if (key === "$ref" || key === "allOf") + continue; + if (key in parentSeen.def && JSON.stringify(schema3[key]) === JSON.stringify(parentSeen.def[key])) { + delete schema3[key]; + } + } + } + } + } + ctx.override({ + zodSchema, + jsonSchema: schema3, + path: seen.path ?? [] + }); + }, "flattenRef"); + if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { + for (const entry of [...ctx.seen.entries()].reverse()) { + flattenRef(entry[0]); + } + if (ctx.target !== "openapi-3.0") { + for (const entry of ctx.seen.entries()) { + compactTypeUnion(entry[1].def ?? entry[1].schema); + } + } + for (const rewrite of ctx.deferred) + rewrite(); + if (ctx.intersections.length) { + const carriers = /* @__PURE__ */ new Map(); + for (const seen of ctx.seen.values()) { + for (const json2 of [seen.schema, seen.def]) { + const allOf = json2?.allOf; + if (!Array.isArray(allOf)) + continue; + const existing = carriers.get(allOf); + if (existing) + existing.push(json2); + else + carriers.set(allOf, [json2]); + } + } + for (const allOf of ctx.intersections) { + for (const json2 of carriers.get(allOf) ?? []) + foldIntersection(json2); + } + } + } + const result = {}; + if (ctx.target === "draft-2020-12") { + result.$schema = "https://json-schema.org/draft/2020-12/schema"; + } else if (ctx.target === "draft-07") { + result.$schema = "http://json-schema.org/draft-07/schema#"; + } else if (ctx.target === "draft-04") { + result.$schema = "http://json-schema.org/draft-04/schema#"; + } else if (ctx.target === "openapi-3.0") { + } else { + } + if (ctx.external?.uri) { + const id = ctx.external.registry.get(schema2)?.id; + if (!id) + throw new Error("Schema is missing an `id` property"); + result.$id = ctx.external.uri(id); + } + assignProps(result, root5.defId ? root5.schema : root5.def ?? root5.schema); + const rootMetaId = ctx.metadataRegistry.get(schema2)?.id; + if (rootMetaId !== void 0 && result.id === rootMetaId) + delete result.id; + const defs = ctx.external?.defs ?? {}; + if (!ctx.external || ctx.sharedEmitDoneFor !== ctx.external) { + for (const entry of ctx.seen.entries()) { + const seen = entry[1]; + if (seen.def && seen.defId) { + if (seen.def.id === seen.defId) + delete seen.def.id; + assignProp(defs, seen.defId, seen.def); + } + } + } + if (ctx.external) + ctx.sharedEmitDoneFor = ctx.external; + if (ctx.external) { + } else { + if (Object.keys(defs).length > 0) { + if (ctx.target === "draft-2020-12") { + result.$defs = defs; + } else { + result.definitions = defs; + } + } + } + try { + const finalized = JSON.parse(JSON.stringify(result)); + Object.defineProperty(finalized, "~standard", { + value: { + ...schema2["~standard"], + jsonSchema: { + input: createStandardJSONSchemaMethod(schema2, "input", ctx.processors), + output: createStandardJSONSchemaMethod(schema2, "output", ctx.processors) + } + }, + enumerable: false, + writable: false + }); + return finalized; + } catch (_err) { + throw new Error("Error converting schema to JSON."); + } +} +__name(finalize, "finalize"); +function isTransforming(_schema, _ctx) { + const ctx = _ctx ?? { seen: /* @__PURE__ */ new Set() }; + if (ctx.seen.has(_schema)) + return false; + ctx.seen.add(_schema); + const def = _schema._zod.def; + if (def.type === "transform") + return true; + if (def.type === "array") + return isTransforming(def.element, ctx); + if (def.type === "set") + return isTransforming(def.valueType, ctx); + if (def.type === "lazy") + return isTransforming(def.getter(), ctx); + if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault" || def.type === "catch") { + return isTransforming(def.innerType, ctx); + } + if (def.type === "intersection") { + return isTransforming(def.left, ctx) || isTransforming(def.right, ctx); + } + if (def.type === "record" || def.type === "map") { + return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx); + } + if (def.type === "pipe") { + if (_schema._zod.traits.has("$ZodCodec")) + return true; + return isTransforming(def.in, ctx) || isTransforming(def.out, ctx); + } + if (def.type === "object") { + for (const key in def.shape) { + if (isTransforming(def.shape[key], ctx)) + return true; + } + return false; + } + if (def.type === "union") { + for (const option of def.options) { + if (isTransforming(option, ctx)) + return true; + } + return false; + } + if (def.type === "tuple") { + for (const item of def.items) { + if (isTransforming(item, ctx)) + return true; + } + if (def.rest && isTransforming(def.rest, ctx)) + return true; + return false; + } + return false; +} +__name(isTransforming, "isTransforming"); +var createToJSONSchemaMethod = /* @__PURE__ */ __name((schema2, processors = {}) => (params) => { + const ctx = initializeContext({ ...params, processors }); + processSchema(schema2, ctx); + extractDefs(ctx, schema2); + return finalize(ctx, schema2); +}, "createToJSONSchemaMethod"); +var createStandardJSONSchemaMethod = /* @__PURE__ */ __name((schema2, io, processors = {}) => (params) => { + const { libraryOptions, target } = params ?? {}; + const ctx = initializeContext({ ...libraryOptions ?? {}, target, io, processors }); + processSchema(schema2, ctx); + extractDefs(ctx, schema2); + return finalize(ctx, schema2); +}, "createStandardJSONSchemaMethod"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema-processors.js +var narrowMin = /* @__PURE__ */ __name((agg, key, value) => { + if (agg[key] === void 0 || value > agg[key]) + agg[key] = value; +}, "narrowMin"); +var narrowMax = /* @__PURE__ */ __name((agg, key, value) => { + if (agg[key] === void 0 || value < agg[key]) + agg[key] = value; +}, "narrowMax"); +var narrowBoth = /* @__PURE__ */ __name((agg, value) => { + narrowMin(agg, "minimum", value); + narrowMax(agg, "maximum", value); +}, "narrowBoth"); +var addDivisor = /* @__PURE__ */ __name((agg, value) => { + agg.multipleOf ?? (agg.multipleOf = []); + if (!agg.multipleOf.includes(value)) + agg.multipleOf.push(value); +}, "addDivisor"); +var addPattern = /* @__PURE__ */ __name((agg, pattern) => { + agg.patterns ?? (agg.patterns = /* @__PURE__ */ new Set()); + agg.patterns.add(pattern); +}, "addPattern"); +var intersectMime = /* @__PURE__ */ __name((agg, mime) => { + agg.mime = agg.mime ? agg.mime.filter((m3) => mime.includes(m3)) : [...mime]; +}, "intersectMime"); +var setFormat = /* @__PURE__ */ __name((agg, format) => { + agg.format = format; + if (format.includes("int")) + agg.isInt = true; +}, "setFormat"); +var minContributor = /* @__PURE__ */ __name((agg, def) => narrowMin(agg, "minimum", def.minimum), "minContributor"); +var maxContributor = /* @__PURE__ */ __name((agg, def) => narrowMax(agg, "maximum", def.maximum), "maxContributor"); +var formatContributor = /* @__PURE__ */ __name((ranges) => (agg, def) => { + setFormat(agg, def.format); + const [minimum, maximum] = ranges[def.format]; + narrowMin(agg, "minimum", minimum); + narrowMax(agg, "maximum", maximum); +}, "formatContributor"); +var contributors = { + greater_than: /* @__PURE__ */ __name((agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value), "greater_than"), + less_than: /* @__PURE__ */ __name((agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value), "less_than"), + multiple_of: /* @__PURE__ */ __name((agg, def) => addDivisor(agg, def.value), "multiple_of"), + number_format: formatContributor(NUMBER_FORMAT_RANGES), + bigint_format: formatContributor(BIGINT_FORMAT_RANGES), + min_length: minContributor, + max_length: maxContributor, + length_equals: /* @__PURE__ */ __name((agg, def) => narrowBoth(agg, def.length), "length_equals"), + min_size: minContributor, + max_size: maxContributor, + size_equals: /* @__PURE__ */ __name((agg, def) => narrowBoth(agg, def.size), "size_equals"), + string_format: /* @__PURE__ */ __name((agg, def) => { + setFormat(agg, def.format); + if (def.pattern) + addPattern(agg, def.pattern); + if (def.format === "base64" || def.format === "base64url") + agg.contentEncoding = def.format; + if (def.local || def.precision === -1) + agg.laxFormat = true; + }, "string_format"), + mime_type: /* @__PURE__ */ __name((agg, def) => intersectMime(agg, def.mime), "mime_type") +}; +function aggregateChecks(schema2) { + const agg = {}; + const def = schema2._zod.def; + const list = schema2._zod.traits.has("$ZodCheck") ? [schema2, ...def.checks ?? []] : def.checks ?? []; + for (const ch of list) + contributors[ch._zod.def.check]?.(agg, ch._zod.def); + const bag = schema2._zod.bag; + if (bag.minimum !== void 0) + narrowMin(agg, "minimum", bag.minimum); + if (bag.exclusiveMinimum !== void 0) + narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum); + if (bag.maximum !== void 0) + narrowMax(agg, "maximum", bag.maximum); + if (bag.exclusiveMaximum !== void 0) + narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum); + if (bag.multipleOf !== void 0) + addDivisor(agg, bag.multipleOf); + if (bag.format !== void 0) { + agg.format ?? (agg.format = bag.format); + if (bag.format.includes("int")) + agg.isInt = true; + } + if (bag.mime) + intersectMime(agg, bag.mime); + for (const pattern of bag.patterns ?? []) + addPattern(agg, pattern); + return agg; +} +__name(aggregateChecks, "aggregateChecks"); +var formatMap = { + guid: "uuid", + url: "uri", + datetime: "date-time", + json_string: "json-string", + regex: "" + // do not set +}; +var exactPatterns = /* @__PURE__ */ new Map([ + [base64Charset, base64], + [base64urlCharset, base64url] +]); +var exactPattern = /* @__PURE__ */ __name((p3) => exactPatterns.get(p3) ?? p3, "exactPattern"); +var stringProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, _params) => { + const json2 = _json; + json2.type = "string"; + const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema2); + if (typeof minimum === "number") + json2.minLength = minimum; + if (typeof maximum === "number") + json2.maxLength = maximum; + if (format) { + json2.format = formatMap[format] ?? format; + if (json2.format === "") + delete json2.format; + if (format === "time" || laxFormat) { + delete json2.format; + } + } + if (contentEncoding) + json2.contentEncoding = contentEncoding; + if (patterns && patterns.size > 0) { + const patternList = [...patterns].map(exactPattern); + if (patternList.length === 1) + json2.pattern = patternList[0].source; + else if (patternList.length > 1) { + json2.allOf = [ + ...patternList.map((regex) => ({ + ...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {}, + pattern: regex.source + })) + ]; + } + } +}, "stringProcessor"); +var numberProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const json2 = _json; + const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks(schema2); + json2.type = isInt ? "integer" : "number"; + const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY); + const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY); + const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0"; + if (exMin) { + if (legacy) { + json2.minimum = exclusiveMinimum; + json2.exclusiveMinimum = true; + } else { + json2.exclusiveMinimum = exclusiveMinimum; + } + } else if (typeof minimum === "number") { + json2.minimum = minimum; + } + if (exMax) { + if (legacy) { + json2.maximum = exclusiveMaximum; + json2.exclusiveMaximum = true; + } else { + json2.exclusiveMaximum = exclusiveMaximum; + } + } else if (typeof maximum === "number") { + json2.maximum = maximum; + } + if (multipleOf) { + const divisors = /* @__PURE__ */ new Set(); + for (const divisor of multipleOf) { + if (Number.isFinite(divisor) && divisor !== 0) + divisors.add(Math.abs(divisor)); + else + handleUnrepresentable(schema2, ctx, json2, params, `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`); + } + const [first, ...rest] = divisors; + if (first !== void 0) + json2.multipleOf = first; + if (rest.length) + json2.allOf = [...json2.allOf ?? [], ...rest.map((m3) => ({ multipleOf: m3 }))]; + } +}, "numberProcessor"); +var booleanProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => { + json2.type = "boolean"; +}, "booleanProcessor"); +var bigintProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "BigInt cannot be represented in JSON Schema"); +}, "bigintProcessor"); +var symbolProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Symbols cannot be represented in JSON Schema"); +}, "symbolProcessor"); +var nullProcessor = /* @__PURE__ */ __name((_schema, ctx, json2, _params) => { + if (ctx.target === "openapi-3.0") { + json2.type = "string"; + json2.nullable = true; + json2.enum = [null]; + } else { + json2.type = "null"; + } +}, "nullProcessor"); +var undefinedProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Undefined cannot be represented in JSON Schema"); +}, "undefinedProcessor"); +var voidProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Void cannot be represented in JSON Schema"); +}, "voidProcessor"); +var neverProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => { + json2.not = {}; +}, "neverProcessor"); +var anyProcessor = /* @__PURE__ */ __name((_schema, _ctx, _json, _params) => { +}, "anyProcessor"); +var unknownProcessor = /* @__PURE__ */ __name((_schema, _ctx, _json, _params) => { +}, "unknownProcessor"); +var dateProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Date cannot be represented in JSON Schema"); +}, "dateProcessor"); +var enumProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => { + const def = schema2._zod.def; + const values = getEnumValues(def.entries); + if (values.length === 0) { + json2.not = {}; + return; + } + if (values.every((v) => typeof v === "number")) + json2.type = "number"; + if (values.every((v) => typeof v === "string")) + json2.type = "string"; + json2.enum = values; +}, "enumProcessor"); +var literalProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + if (def.values.length === 0) { + json2.not = {}; + return; + } + const vals = []; + for (const val of def.values) { + if (val === void 0) { + if (handleUnrepresentable(schema2, ctx, json2, params, "Literal `undefined` cannot be represented in JSON Schema")) + return; + } else if (typeof val === "bigint") { + if (handleUnrepresentable(schema2, ctx, json2, params, "BigInt literals cannot be represented in JSON Schema")) + return; + vals.push(Number(val)); + } else { + vals.push(val); + } + } + if (vals.length === 0) { + } else if (vals.length === 1) { + const val = vals[0]; + json2.type = val === null ? "null" : typeof val; + if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") { + json2.enum = [val]; + } else { + json2.const = val; + } + } else { + if (vals.every((v) => typeof v === "number")) + json2.type = "number"; + if (vals.every((v) => typeof v === "string")) + json2.type = "string"; + if (vals.every((v) => typeof v === "boolean")) + json2.type = "boolean"; + if (vals.every((v) => v === null)) + json2.type = "null"; + json2.enum = vals; + } +}, "literalProcessor"); +var nanProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "NaN cannot be represented in JSON Schema"); +}, "nanProcessor"); +var templateLiteralProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => { + const _json = json2; + const pattern = schema2._zod.pattern; + if (!pattern) + throw new Error("Pattern not found in template literal"); + _json.type = "string"; + _json.pattern = pattern.source; +}, "templateLiteralProcessor"); +var fileProcessor = /* @__PURE__ */ __name((schema2, _ctx, json2, _params) => { + const _json = json2; + _json.type = "string"; + _json.format = "binary"; + _json.contentEncoding = "binary"; + const { minimum, maximum, mime } = aggregateChecks(schema2); + if (minimum !== void 0) + _json.minLength = minimum; + if (maximum !== void 0) + _json.maxLength = maximum; + if (!mime) + return; + if (mime.length === 0) + _json.not = {}; + else if (mime.length === 1) + _json.contentMediaType = mime[0]; + else + _json.anyOf = mime.map((m3) => ({ contentMediaType: m3 })); +}, "fileProcessor"); +var successProcessor = /* @__PURE__ */ __name((_schema, _ctx, json2, _params) => { + json2.type = "boolean"; +}, "successProcessor"); +var customProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Custom types cannot be represented in JSON Schema"); +}, "customProcessor"); +var functionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Function types cannot be represented in JSON Schema"); +}, "functionProcessor"); +var transformProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Transforms cannot be represented in JSON Schema"); +}, "transformProcessor"); +var mapProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Map cannot be represented in JSON Schema"); +}, "mapProcessor"); +var setProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + handleUnrepresentable(schema2, ctx, json2, params, "Set cannot be represented in JSON Schema"); +}, "setProcessor"); +var arrayProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const json2 = _json; + const def = schema2._zod.def; + const { minimum, maximum } = aggregateChecks(schema2); + if (typeof minimum === "number") + json2.minItems = minimum; + if (typeof maximum === "number") + json2.maxItems = maximum; + json2.type = "array"; + json2.items = processSchema(def.element, ctx, { + ...params, + path: [...params.path, "items"] + }); +}, "arrayProcessor"); +function inputOptin(schema2) { + const def = schema2._zod.def; + if (def.type === "pipe" && def.in._zod.traits.has("$ZodTransform")) { + return inputOptin(def.out); + } + if (def.type === "catch") { + return inputOptin(def.innerType); + } + return schema2._zod.optin; +} +__name(inputOptin, "inputOptin"); +var objectProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const json2 = _json; + const def = schema2._zod.def; + const shape = def.shape; + const symbolKeys = Object.getOwnPropertySymbols(shape); + if (symbolKeys.length && handleUnrepresentable(schema2, ctx, json2, params, "Symbol keys cannot be represented in JSON Schema")) { + return; + } + json2.type = "object"; + json2.properties = {}; + for (const key in shape) { + assignProp(json2.properties, key, processSchema(shape[key], ctx, { + ...params, + path: [...params.path, "properties", key] + })); + } + const requiredKeys = []; + for (const key of Object.keys(shape)) { + const field = def.shape[key]; + if (ctx.io === "input" ? inputOptin(field) === void 0 : field._zod.optout === void 0) { + requiredKeys.push(key); + } + } + if (requiredKeys.length > 0) { + json2.required = requiredKeys; + } + if (def.catchall?._zod.def.type === "never") { + json2.additionalProperties = false; + } else if (!def.catchall) { + if (ctx.io === "output") + json2.additionalProperties = false; + } else if (def.catchall) { + json2.additionalProperties = processSchema(def.catchall, ctx, { + ...params, + path: [...params.path, "additionalProperties"] + }); + } +}, "objectProcessor"); +var unionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + const isExclusive = def.inclusive === false; + const options = def.options.map((x, i5) => processSchema(x, ctx, { + ...params, + path: [...params.path, isExclusive ? "oneOf" : "anyOf", i5] + })); + if (isExclusive) { + json2.oneOf = options; + } else { + json2.anyOf = options; + } +}, "unionProcessor"); +var intersectionProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + const a5 = processSchema(def.left, ctx, { + ...params, + path: [...params.path, "allOf", 0] + }); + const b5 = processSchema(def.right, ctx, { + ...params, + path: [...params.path, "allOf", 1] + }); + const isSimpleIntersection = /* @__PURE__ */ __name((val) => "allOf" in val && Object.keys(val).length === 1, "isSimpleIntersection"); + const allOf = [ + ...isSimpleIntersection(a5) ? a5.allOf : [a5], + ...isSimpleIntersection(b5) ? b5.allOf : [b5] + ]; + json2.allOf = allOf; + ctx.intersections.push(allOf); +}, "intersectionProcessor"); +var tupleProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const json2 = _json; + const def = schema2._zod.def; + json2.type = "array"; + const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items"; + const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems"; + const prefixItems = def.items.map((x, i5) => processSchema(x, ctx, { + ...params, + path: [...params.path, prefixPath, i5] + })); + const rest = def.rest ? processSchema(def.rest, ctx, { + ...params, + path: [...params.path, restPath, ...ctx.target === "openapi-3.0" ? [def.items.length] : []] + }) : null; + let minItems = def.items.length; + while (minItems > 0) { + const item = def.items[minItems - 1]; + const optional2 = ctx.io === "input" ? inputOptin(item) !== void 0 : item._zod.optout === "optional"; + if (!optional2) + break; + minItems--; + } + const maxItems = def.items.length; + const isClosed = !def.rest; + if (ctx.target === "draft-2020-12") { + json2.prefixItems = prefixItems; + if (isClosed) { + json2.items = false; + } else if (rest) { + json2.items = rest; + } + if (minItems > 0) + json2.minItems = minItems; + if (isClosed) + json2.maxItems = maxItems; + } else if (ctx.target === "openapi-3.0") { + json2.items = { + anyOf: prefixItems + }; + if (rest) { + json2.items.anyOf.push(rest); + } + if (minItems > 0) + json2.minItems = minItems; + if (isClosed) + json2.maxItems = maxItems; + } else { + json2.items = prefixItems; + if (isClosed) { + json2.additionalItems = false; + } else if (rest) { + json2.additionalItems = rest; + } + if (minItems > 0) + json2.minItems = minItems; + if (isClosed) + json2.maxItems = maxItems; + } + const { minimum, maximum } = aggregateChecks(schema2); + if (typeof minimum === "number") + json2.minItems = minimum; + if (typeof maximum === "number") + json2.maxItems = maximum; +}, "tupleProcessor"); +function stringifyKeyNames(bySchema, json2, visited) { + if (json2.$ref) { + if (visited.has(json2)) + return json2; + visited.add(json2); + const def = bySchema.get(json2)?.def; + if (!def) + return json2; + const inlined = stringifyKeyNames(bySchema, def, visited); + return inlined === def ? json2 : inlined; + } + for (const keyword of ["anyOf", "oneOf"]) { + const branches = json2[keyword]; + if (!Array.isArray(branches)) + continue; + const mapped = branches.map((branch) => stringifyKeyNames(bySchema, branch, visited)); + if (mapped.some((branch, i5) => branch !== branches[i5])) + json2 = { ...json2, [keyword]: mapped }; + } + const types3 = Array.isArray(json2.type) ? json2.type : [json2.type]; + const numericType = !types3.includes("string") && types3.some((t) => t === "number" || t === "integer"); + const values = json2.enum ?? (json2.const !== void 0 ? [json2.const] : void 0); + if (!numericType && !values?.some((v) => typeof v === "number")) + return json2; + const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, format, id, ...rest } = json2; + if (rest.enum) + rest.enum = rest.enum.map((v) => typeof v === "number" ? String(v) : v); + else if (typeof rest.const === "number") + rest.const = String(rest.const); + if (!numericType) + return rest; + rest.type = "string"; + if (!values) + rest.pattern = (types3.includes("number") ? number : integer).source; + return rest; +} +__name(stringifyKeyNames, "stringifyKeyNames"); +var pendingRecords = /* @__PURE__ */ new WeakMap(); +function rewriteKeyNames(ctx) { + const bySchema = /* @__PURE__ */ new Map(); + for (const entry of ctx.seen.values()) { + if (entry.def && !bySchema.has(entry.schema)) + bySchema.set(entry.schema, entry); + } + const rewrites = /* @__PURE__ */ new Map(); + for (const record2 of pendingRecords.get(ctx) ?? []) { + const seen = ctx.seen.get(record2); + const names = (seen?.def ?? seen?.schema)?.propertyNames; + if (!names || names === true || rewrites.has(names)) + continue; + const rewritten = stringifyKeyNames(bySchema, names, /* @__PURE__ */ new Set()); + if (rewritten !== names) + rewrites.set(names, rewritten); + } + if (!rewrites.size) + return; + for (const entry of ctx.seen.values()) { + for (const carrier of [entry.schema, entry.def]) { + const rewritten = carrier && rewrites.get(carrier.propertyNames); + if (rewritten) + carrier.propertyNames = rewritten; + } + } +} +__name(rewriteKeyNames, "rewriteKeyNames"); +var recordProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const json2 = _json; + const def = schema2._zod.def; + json2.type = "object"; + const keyType = def.keyType; + const patterns = aggregateChecks(keyType).patterns; + if (def.mode === "loose" && patterns && patterns.size > 0) { + const valueSchema = processSchema(def.valueType, ctx, { + ...params, + path: [...params.path, "patternProperties", "*"] + }); + json2.patternProperties = {}; + for (const pattern of patterns) { + assignProp(json2.patternProperties, exactPattern(pattern).source, valueSchema); + } + } else { + if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") { + json2.propertyNames = processSchema(def.keyType, ctx, { + ...params, + path: [...params.path, "propertyNames"] + }); + let pending = pendingRecords.get(ctx); + if (!pending) { + pending = []; + pendingRecords.set(ctx, pending); + ctx.deferred.push(() => rewriteKeyNames(ctx)); + } + pending.push(schema2); + } + json2.additionalProperties = processSchema(def.valueType, ctx, { + ...params, + path: [...params.path, "additionalProperties"] + }); + } + const keyValues = keyType._zod.values; + const omittableOnInput = ctx.io === "input" && inputOptin(def.valueType) !== void 0; + if (keyValues && !def.partial && !omittableOnInput) { + const validKeyValues = [...keyValues].filter((v) => typeof v === "string" || typeof v === "number"); + if (validKeyValues.length > 0) { + json2.required = validKeyValues.map(String); + } + } +}, "recordProcessor"); +var nullableProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + const inner = processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + if (ctx.target === "openapi-3.0") { + seen.ref = def.innerType; + json2.nullable = true; + } else { + json2.anyOf = [inner, { type: "null" }]; + } +}, "nullableProcessor"); +var nonoptionalProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; +}, "nonoptionalProcessor"); +var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol(); +function serializeDefaultValue(value, schema2, ctx, json2, params) { + let unrepresentable = false; + const serialized = JSON.stringify(value, (_, val) => { + if (typeof val !== "bigint") + return val; + unrepresentable = true; + return null; + }); + if (!unrepresentable) + return JSON.parse(serialized); + handleUnrepresentable(schema2, ctx, json2, params, "BigInt defaults cannot be represented in JSON Schema"); + return UNREPRESENTABLE_DEFAULT; +} +__name(serializeDefaultValue, "serializeDefaultValue"); +var defaultProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; + const value = serializeDefaultValue(def.defaultValue, schema2, ctx, json2, params); + if (value !== UNREPRESENTABLE_DEFAULT) + json2.default = value; +}, "defaultProcessor"); +var prefaultProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; + if (ctx.io !== "input") + return; + const value = serializeDefaultValue(def.defaultValue, schema2, ctx, json2, params); + if (value !== UNREPRESENTABLE_DEFAULT) + json2._prefault = value; +}, "prefaultProcessor"); +var catchProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; + let catchValue; + try { + catchValue = def.catchValue(void 0); + } catch { + handleUnrepresentable(schema2, ctx, json2, params, "Dynamic catch values are not supported in JSON Schema"); + return; + } + json2.default = catchValue; +}, "catchProcessor"); +var pipeProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const def = schema2._zod.def; + const inIsTransform = def.in._zod.traits.has("$ZodTransform"); + const innerType = ctx.io === "input" ? inIsTransform ? def.out : def.in : def.out; + processSchema(innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = innerType; +}, "pipeProcessor"); +var readonlyProcessor = /* @__PURE__ */ __name((schema2, ctx, json2, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; + json2.readOnly = true; +}, "readonlyProcessor"); +var promiseProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; +}, "promiseProcessor"); +var optionalProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const def = schema2._zod.def; + processSchema(def.innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = def.innerType; +}, "optionalProcessor"); +var lazyProcessor = /* @__PURE__ */ __name((schema2, ctx, _json, params) => { + const innerType = schema2._zod.innerType; + processSchema(innerType, ctx, params); + const seen = ctx.seen.get(schema2); + seen.ref = innerType; +}, "lazyProcessor"); +var allProcessors = { + string: stringProcessor, + number: numberProcessor, + boolean: booleanProcessor, + bigint: bigintProcessor, + symbol: symbolProcessor, + null: nullProcessor, + undefined: undefinedProcessor, + void: voidProcessor, + never: neverProcessor, + any: anyProcessor, + unknown: unknownProcessor, + date: dateProcessor, + enum: enumProcessor, + literal: literalProcessor, + nan: nanProcessor, + template_literal: templateLiteralProcessor, + file: fileProcessor, + success: successProcessor, + custom: customProcessor, + function: functionProcessor, + transform: transformProcessor, + map: mapProcessor, + set: setProcessor, + array: arrayProcessor, + object: objectProcessor, + union: unionProcessor, + intersection: intersectionProcessor, + tuple: tupleProcessor, + record: recordProcessor, + nullable: nullableProcessor, + nonoptional: nonoptionalProcessor, + default: defaultProcessor, + prefault: prefaultProcessor, + catch: catchProcessor, + pipe: pipeProcessor, + readonly: readonlyProcessor, + promise: promiseProcessor, + optional: optionalProcessor, + lazy: lazyProcessor +}; +function toJSONSchema(input2, params) { + if ("_idmap" in input2) { + const registry2 = input2; + const ctx2 = initializeContext({ ...params, processors: allProcessors }); + const defs = {}; + for (const entry of registry2._idmap.entries()) { + const [_, schema2] = entry; + processSchema(schema2, ctx2); + } + const schemas = {}; + const external = { + registry: registry2, + uri: params?.uri, + defs + }; + ctx2.external = external; + for (const entry of registry2._idmap.entries()) { + const [key, schema2] = entry; + extractDefs(ctx2, schema2); + assignProp(schemas, key, finalize(ctx2, schema2)); + } + if (Object.keys(defs).length > 0) { + const defsSegment = ctx2.target === "draft-2020-12" ? "$defs" : "definitions"; + schemas.__shared = { + [defsSegment]: defs + }; + } + return { schemas }; + } + const ctx = initializeContext({ ...params, processors: allProcessors }); + processSchema(input2, ctx); + extractDefs(ctx, input2); + return finalize(ctx, input2); +} +__name(toJSONSchema, "toJSONSchema"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema-generator.js +var JSONSchemaGenerator = class { + static { + __name(this, "JSONSchemaGenerator"); + } + /** @deprecated Access via ctx instead */ + get metadataRegistry() { + return this.ctx.metadataRegistry; + } + /** @deprecated Access via ctx instead */ + get target() { + return this.ctx.target; + } + // annotated so the .d.cts emits an indexed access rather than an inline `import()` of an ESM path + /** @deprecated Access via ctx instead */ + get unrepresentable() { + return this.ctx.unrepresentable; + } + /** @deprecated Access via ctx instead */ + get override() { + return this.ctx.override; + } + /** @deprecated Access via ctx instead */ + get io() { + return this.ctx.io; + } + /** @deprecated Access via ctx instead */ + get counter() { + return this.ctx.counter; + } + set counter(value) { + this.ctx.counter = value; + } + /** @deprecated Access via ctx instead */ + get seen() { + return this.ctx.seen; + } + constructor(params) { + let normalizedTarget = params?.target ?? "draft-2020-12"; + if (normalizedTarget === "draft-4") + normalizedTarget = "draft-04"; + if (normalizedTarget === "draft-7") + normalizedTarget = "draft-07"; + this.ctx = initializeContext({ + processors: allProcessors, + target: normalizedTarget, + ...params?.metadata && { metadata: params.metadata }, + ...params?.unrepresentable && { unrepresentable: params.unrepresentable }, + ...params?.override && { override: params.override }, + ...params?.io && { io: params.io } + }); + } + /** + * Process a schema to prepare it for JSON Schema generation. + * This must be called before emit(). + */ + process(schema2, _params = { path: [], schemaPath: [] }) { + return processSchema(schema2, this.ctx, _params); + } + /** + * Emit the final JSON Schema after processing. + * Must call process() first. + */ + emit(schema2, _params) { + if (_params) { + if (_params.cycles) + this.ctx.cycles = _params.cycles; + if (_params.reused) + this.ctx.reused = _params.reused; + if (_params.external) + this.ctx.external = _params.external; + } + this.ctx.sharedDefsExtractedFor = void 0; + this.ctx.sharedEmitDoneFor = void 0; + extractDefs(this.ctx, schema2); + const result = finalize(this.ctx, schema2); + const { "~standard": _, ...plainResult } = result; + return plainResult; + } +}; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/json-schema.js +var json_schema_exports = {}; + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/schemas.js +var schemas_exports2 = {}; +__export(schemas_exports2, { + ZodAny: () => ZodAny, + ZodArray: () => ZodArray, + ZodBase64: () => ZodBase64, + ZodBase64URL: () => ZodBase64URL, + ZodBigInt: () => ZodBigInt, + ZodBigIntFormat: () => ZodBigIntFormat, + ZodBoolean: () => ZodBoolean, + ZodCIDRv4: () => ZodCIDRv4, + ZodCIDRv6: () => ZodCIDRv6, + ZodCUID: () => ZodCUID, + ZodCUID2: () => ZodCUID2, + ZodCatch: () => ZodCatch, + ZodCodec: () => ZodCodec, + ZodCreditCard: () => ZodCreditCard, + ZodCustom: () => ZodCustom, + ZodCustomStringFormat: () => ZodCustomStringFormat, + ZodDate: () => ZodDate, + ZodDefault: () => ZodDefault, + ZodDiscriminatedUnion: () => ZodDiscriminatedUnion, + ZodE164: () => ZodE164, + ZodEmail: () => ZodEmail, + ZodEmoji: () => ZodEmoji, + ZodEnum: () => ZodEnum, + ZodExactOptional: () => ZodExactOptional, + ZodFile: () => ZodFile, + ZodFunction: () => ZodFunction, + ZodGUID: () => ZodGUID, + ZodIBAN: () => ZodIBAN, + ZodIPv4: () => ZodIPv4, + ZodIPv6: () => ZodIPv6, + ZodISODate: () => ZodISODate, + ZodISODateTime: () => ZodISODateTime, + ZodISODuration: () => ZodISODuration, + ZodISOTime: () => ZodISOTime, + ZodInstanceOf: () => ZodInstanceOf, + ZodIntersection: () => ZodIntersection, + ZodJWT: () => ZodJWT, + ZodKSUID: () => ZodKSUID, + ZodLazy: () => ZodLazy, + ZodLiteral: () => ZodLiteral, + ZodMAC: () => ZodMAC, + ZodMap: () => ZodMap, + ZodNaN: () => ZodNaN, + ZodNanoID: () => ZodNanoID, + ZodNever: () => ZodNever, + ZodNonOptional: () => ZodNonOptional, + ZodNull: () => ZodNull, + ZodNullable: () => ZodNullable, + ZodNumber: () => ZodNumber, + ZodNumberFormat: () => ZodNumberFormat, + ZodObject: () => ZodObject, + ZodOptional: () => ZodOptional, + ZodPipe: () => ZodPipe, + ZodPrefault: () => ZodPrefault, + ZodPreprocess: () => ZodPreprocess, + ZodPromise: () => ZodPromise, + ZodReadonly: () => ZodReadonly, + ZodRecord: () => ZodRecord, + ZodSet: () => ZodSet, + ZodString: () => ZodString, + ZodStringFormat: () => ZodStringFormat, + ZodSuccess: () => ZodSuccess, + ZodSymbol: () => ZodSymbol, + ZodTemplateLiteral: () => ZodTemplateLiteral, + ZodTransform: () => ZodTransform, + ZodTuple: () => ZodTuple, + ZodType: () => ZodType, + ZodULID: () => ZodULID, + ZodURL: () => ZodURL, + ZodUUID: () => ZodUUID, + ZodUndefined: () => ZodUndefined, + ZodUnion: () => ZodUnion, + ZodUnknown: () => ZodUnknown, + ZodVoid: () => ZodVoid, + ZodXID: () => ZodXID, + ZodXor: () => ZodXor, + _ZodString: () => _ZodString, + _default: () => _default2, + _function: () => _function, + any: () => any, + array: () => array, + base64: () => base642, + base64url: () => base64url2, + bigint: () => bigint2, + boolean: () => boolean2, + catch: () => _catch2, + check: () => check, + cidrv4: () => cidrv42, + cidrv6: () => cidrv62, + codec: () => codec, + creditCard: () => creditCard2, + cuid: () => cuid3, + cuid2: () => cuid22, + currencyCode: () => currencyCode2, + custom: () => custom, + date: () => date2, + describe: () => describe2, + discriminatedUnion: () => discriminatedUnion, + e164: () => e1642, + email: () => email2, + emoji: () => emoji2, + enum: () => _enum2, + exactOptional: () => exactOptional, + file: () => file, + float32: () => float32, + float64: () => float64, + function: () => _function, + guid: () => guid2, + hash: () => hash, + hex: () => hex2, + hostname: () => hostname2, + httpUrl: () => httpUrl, + iban: () => iban2, + instanceof: () => _instanceof, + int: () => int, + int32: () => int32, + int64: () => int64, + intersection: () => intersection, + invertCodec: () => invertCodec, + ipv4: () => ipv42, + ipv6: () => ipv62, + json: () => json, + jwt: () => jwt, + keyof: () => keyof, + ksuid: () => ksuid2, + lazy: () => lazy, + literal: () => literal, + looseObject: () => looseObject, + looseRecord: () => looseRecord, + mac: () => mac2, + map: () => map, + meta: () => meta2, + nan: () => nan, + nanoid: () => nanoid2, + nativeEnum: () => nativeEnum, + never: () => never, + nonoptional: () => nonoptional, + null: () => _null3, + nullable: () => nullable, + nullish: () => nullish2, + number: () => number2, + object: () => object, + optional: () => optional, + partialRecord: () => partialRecord, + pipe: () => pipe, + prefault: () => prefault, + preprocess: () => preprocess, + promise: () => promise, + readonly: () => readonly, + record: () => record, + refine: () => refine, + set: () => set, + strictObject: () => strictObject, + string: () => string2, + stringFormat: () => stringFormat, + stringbool: () => stringbool, + success: () => success, + superRefine: () => superRefine, + symbol: () => symbol, + templateLiteral: () => templateLiteral, + transform: () => transform, + tuple: () => tuple, + uint32: () => uint32, + uint64: () => uint64, + ulid: () => ulid2, + undefined: () => _undefined3, + union: () => union, + unknown: () => unknown, + url: () => url, + uuid: () => uuid2, + uuidv4: () => uuidv4, + uuidv6: () => uuidv6, + uuidv7: () => uuidv7, + void: () => _void2, + xid: () => xid2, + xor: () => xor +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/checks.js +var checks_exports2 = {}; +__export(checks_exports2, { + endsWith: () => _endsWith, + gt: () => _gt, + gte: () => _gte, + includes: () => _includes, + length: () => _length, + lowercase: () => _lowercase, + lt: () => _lt, + lte: () => _lte, + maxLength: () => _maxLength, + maxSize: () => _maxSize, + mime: () => _mime, + minLength: () => _minLength, + minSize: () => _minSize, + multipleOf: () => _multipleOf, + negative: () => _negative, + nonnegative: () => _nonnegative, + nonpositive: () => _nonpositive, + normalize: () => _normalize, + overwrite: () => _overwrite, + positive: () => _positive, + properties: () => _properties, + property: () => _property, + regex: () => _regex, + size: () => _size, + slugify: () => _slugify, + startsWith: () => _startsWith, + toLowerCase: () => _toLowerCase, + toUpperCase: () => _toUpperCase, + trim: () => _trim, + uppercase: () => _uppercase +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/errors.js +var _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]); +function _lazyMethod(proto, key, make) { + Object.defineProperty(proto, key, { + configurable: true, + enumerable: false, + get() { + const value = make(this); + Object.defineProperty(this, key, { value, configurable: true, writable: true }); + return value; + }, + set(value) { + Object.defineProperty(this, key, { value, configurable: true, writable: true }); + } + }); +} +__name(_lazyMethod, "_lazyMethod"); +var initializer2 = /* @__PURE__ */ __name((inst, issues) => { + $ZodError.init(inst, issues); + inst.name = "ZodError"; + const proto = Object.getPrototypeOf(inst); + if (_installedErrorProtos.has(proto)) + return; + _installedErrorProtos.add(proto); + _lazyMethod(proto, "format", (self2) => (mapper) => formatError(self2, mapper)); + _lazyMethod(proto, "flatten", (self2) => (mapper) => flattenError(self2, mapper)); + _lazyMethod(proto, "addIssue", (self2) => (issue2) => { + self2.issues.push(issue2); + self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2); + }); + _lazyMethod(proto, "addIssues", (self2) => (issues2) => { + self2.issues.push(...issues2); + self2.message = JSON.stringify(self2.issues, jsonStringifyReplacer, 2); + }); + Object.defineProperty(proto, "isEmpty", { + configurable: true, + enumerable: false, + get() { + return this.issues.length === 0; + } + }); +}, "initializer"); +var ZodError = /* @__PURE__ */ $constructor("ZodError", initializer2); +var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, void 0, { + Parent: Error +}); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/parse.js +var parse2 = /* @__PURE__ */ _parse(ZodRealError); +var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError); +var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError); +var safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError); +var encode2 = /* @__PURE__ */ _encode(ZodRealError); +var decode2 = /* @__PURE__ */ _decode(ZodRealError); +var encodeAsync2 = /* @__PURE__ */ _encodeAsync(ZodRealError); +var decodeAsync2 = /* @__PURE__ */ _decodeAsync(ZodRealError); +var safeEncode2 = /* @__PURE__ */ _safeEncode(ZodRealError); +var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError); +var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError); +var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/schemas.js +function _ensureDefaultLocale() { + if (!globalConfig.localeError) + config(en_default()); +} +__name(_ensureDefaultLocale, "_ensureDefaultLocale"); +function _ensureDefaultMemoizer() { + if (!globalConfig.memoizer) + config({ memoizer: memoizer() }); +} +__name(_ensureDefaultMemoizer, "_ensureDefaultMemoizer"); +var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { + _ensureDefaultLocale(); + $ZodType.init(inst, def); + inst.def = def; + inst.type = def.type; + return inst; +}, { + check(...chks) { + const def = this.def; + return this.clone(util_exports.mergeDefs(def, { + checks: [ + ...def.checks ?? [], + ...chks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch) + ] + }), { parent: true }); + }, + with(...chks) { + return this.check(...chks); + }, + clone(def, params) { + return clone(this, def, params); + }, + brand() { + return this; + }, + register(reg, meta3) { + reg.add(this, meta3); + return this; + }, + refine(check2, params) { + return this.check(refine(check2, params)); + }, + superRefine(refinement, params) { + return this.check(superRefine(refinement, params)); + }, + overwrite(fn) { + return this.check(_overwrite(fn)); + }, + optional() { + return optional(this); + }, + exactOptional() { + return exactOptional(this); + }, + nullable() { + return nullable(this); + }, + nullish() { + return optional(nullable(this)); + }, + nonoptional(params) { + return nonoptional(this, params); + }, + array() { + return array(this); + }, + or(arg) { + return union([this, arg]); + }, + and(arg) { + return intersection(this, arg); + }, + transform(tx) { + return pipe(this, transform(tx)); + }, + default(d5) { + return _default2(this, d5); + }, + prefault(d5) { + return prefault(this, d5); + }, + catch(params) { + return _catch2(this, params); + }, + pipe(target) { + return pipe(this, target); + }, + readonly() { + return readonly(this); + }, + describe(description) { + const cl = this.clone(); + globalRegistry.add(cl, { description }); + return cl; + }, + meta(...args) { + if (args.length === 0) + return globalRegistry.get(this); + const cl = this.clone(); + globalRegistry.add(cl, args[0]); + return cl; + }, + isOptional() { + return this.safeParse(void 0).success; + }, + isNullable() { + return this.safeParse(null).success; + }, + apply(fn, ...args) { + return args.length === 0 ? fn(this) : fn(this, ...args); + }, + // Overrides core's `~standard` to add `jsonSchema`. Must stay a prototype entry: redefining it per instance demotes instances to dictionary mode. + get "~standard"() { + return util_exports.hide(this, "~standard", { + ...standardProps(this), + jsonSchema: { + input: createStandardJSONSchemaMethod(this, "input"), + output: createStandardJSONSchemaMethod(this, "output") + } + }); + }, + set "~standard"(value) { + util_exports.own(this, "~standard", value); + }, + parse: /* @__PURE__ */ __name(function _parse2(data, params) { + return parse2(this, data, params, { callee: _parse2 }); + }, "_parse"), + parseAsync: /* @__PURE__ */ __name(async function _parseAsync2(data, params) { + return await parseAsync2(this, data, params, { callee: _parseAsync2 }); + }, "_parseAsync"), + safeParse(data, params) { + return safeParse2(this, data, params); + }, + async safeParseAsync(data, params) { + return safeParseAsync2(this, data, params); + }, + // `spa` is an alias: same function object as `safeParseAsync`, as before. + get spa() { + return this?.safeParseAsync; + }, + set spa(value) { + util_exports.own(this, "spa", value); + }, + validate(data, params) { + return validate(this, data, params); + }, + validateAsync(data, params) { + return validateAsync(this, data, params); + }, + encode: /* @__PURE__ */ __name(function _encode2(data, params) { + return encode2(this, data, params, { callee: _encode2 }); + }, "_encode"), + decode: /* @__PURE__ */ __name(function _decode2(data, params) { + return decode2(this, data, params, { callee: _decode2 }); + }, "_decode"), + encodeAsync: /* @__PURE__ */ __name(async function _encodeAsync2(data, params) { + return await encodeAsync2(this, data, params, { callee: _encodeAsync2 }); + }, "_encodeAsync"), + decodeAsync: /* @__PURE__ */ __name(async function _decodeAsync2(data, params) { + return await decodeAsync2(this, data, params, { callee: _decodeAsync2 }); + }, "_decodeAsync"), + safeEncode(data, params) { + return safeEncode2(this, data, params); + }, + safeDecode(data, params) { + return safeDecode2(this, data, params); + }, + async safeEncodeAsync(data, params) { + return safeEncodeAsync2(this, data, params); + }, + async safeDecodeAsync(data, params) { + return safeDecodeAsync2(this, data, params); + }, + toJSONSchema(params) { + return createToJSONSchemaMethod(this, {})(params); + }, + // Reads through to the registry on every access, so it must not cache. + get description() { + return globalRegistry.get(this)?.description; + }, + // No setter: `schema._def = x` throws, as it did when `_def` was a non-writable own property. + get _def() { + return this._zod.def; + } +}); +var _ZodString = /* @__PURE__ */ $constructor( + "_ZodString", + (inst, def) => { + $ZodString.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => stringProcessor(inst, ctx, json2, params); + }, + /* @__PURE__ */ util_exports.derived({ + format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format"), + minLength: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).minimum ?? null, "minLength"), + maxLength: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).maximum ?? null, "maxLength") + }, { + regex(...args) { + return this.check(_regex(...args)); + }, + includes(...args) { + return this.check(_includes(...args)); + }, + startsWith(...args) { + return this.check(_startsWith(...args)); + }, + endsWith(...args) { + return this.check(_endsWith(...args)); + }, + min(...args) { + return this.check(_minLength(...args)); + }, + max(...args) { + return this.check(_maxLength(...args)); + }, + length(...args) { + return this.check(_length(...args)); + }, + nonempty(...args) { + return this.check(_minLength(1, ...args)); + }, + lowercase(params) { + return this.check(_lowercase(params)); + }, + uppercase(params) { + return this.check(_uppercase(params)); + }, + trim() { + return this.check(_trim()); + }, + normalize(...args) { + return this.check(_normalize(...args)); + }, + toLowerCase() { + return this.check(_toLowerCase()); + }, + toUpperCase() { + return this.check(_toUpperCase()); + }, + slugify() { + return this.check(_slugify()); + } + }) +); +var ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => { + $ZodString.init(inst, def); + _ZodString.init(inst, def); +}, { + email(params) { + return this.check(_email(ZodEmail, params)); + }, + url(params) { + return this.check(_url(ZodURL, params)); + }, + jwt(params) { + return this.check(_jwt(ZodJWT, params)); + }, + emoji(params) { + return this.check(_emoji2(ZodEmoji, params)); + }, + guid(params) { + return this.check(_guid(ZodGUID, params)); + }, + uuid(params) { + return this.check(_uuid(ZodUUID, params)); + }, + uuidv4(params) { + return this.check(_uuidv4(ZodUUID, params)); + }, + uuidv6(params) { + return this.check(_uuidv6(ZodUUID, params)); + }, + uuidv7(params) { + return this.check(_uuidv7(ZodUUID, params)); + }, + nanoid(params) { + return this.check(_nanoid(ZodNanoID, params)); + }, + cuid(params) { + return this.check(_cuid(ZodCUID, params)); + }, + cuid2(params) { + return this.check(_cuid2(ZodCUID2, params)); + }, + ulid(params) { + return this.check(_ulid(ZodULID, params)); + }, + base64(params) { + return this.check(_base64(ZodBase64, params)); + }, + base64url(params) { + return this.check(_base64url(ZodBase64URL, params)); + }, + xid(params) { + return this.check(_xid(ZodXID, params)); + }, + ksuid(params) { + return this.check(_ksuid(ZodKSUID, params)); + }, + ipv4(params) { + return this.check(_ipv4(ZodIPv4, params)); + }, + ipv6(params) { + return this.check(_ipv6(ZodIPv6, params)); + }, + cidrv4(params) { + return this.check(_cidrv4(ZodCIDRv4, params)); + }, + cidrv6(params) { + return this.check(_cidrv6(ZodCIDRv6, params)); + }, + e164(params) { + return this.check(_e164(ZodE164, params)); + }, + datetime(params) { + return this.check(_isoDateTime(ZodISODateTime, params)); + }, + date(params) { + return this.check(_isoDate(ZodISODate, params)); + }, + time(params) { + return this.check(_isoTime(ZodISOTime, params)); + }, + duration(params) { + return this.check(_isoDuration(ZodISODuration, params)); + } +}); +function string2(params) { + return _string(ZodString, params); +} +__name(string2, "string"); +var ZodStringFormat = /* @__PURE__ */ $constructor("ZodStringFormat", (inst, def) => { + $ZodStringFormat.init(inst, def); + _ZodString.init(inst, def); +}); +var ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => { + $ZodISODateTime.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => { + $ZodISODate.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => { + $ZodISOTime.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodISODuration = /* @__PURE__ */ $constructor("ZodISODuration", (inst, def) => { + $ZodISODuration.init(inst, def); + ZodStringFormat.init(inst, def); +}); +var ZodEmail = /* @__PURE__ */ $constructor("ZodEmail", (inst, def) => { + $ZodEmail.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function email2(params) { + return _email(ZodEmail, params); +} +__name(email2, "email"); +var ZodGUID = /* @__PURE__ */ $constructor("ZodGUID", (inst, def) => { + $ZodGUID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function guid2(params) { + return _guid(ZodGUID, params); +} +__name(guid2, "guid"); +var ZodUUID = /* @__PURE__ */ $constructor("ZodUUID", (inst, def) => { + $ZodUUID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function uuid2(params) { + return _uuid(ZodUUID, params); +} +__name(uuid2, "uuid"); +function uuidv4(params) { + return _uuidv4(ZodUUID, params); +} +__name(uuidv4, "uuidv4"); +function uuidv6(params) { + return _uuidv6(ZodUUID, params); +} +__name(uuidv6, "uuidv6"); +function uuidv7(params) { + return _uuidv7(ZodUUID, params); +} +__name(uuidv7, "uuidv7"); +var ZodURL = /* @__PURE__ */ $constructor("ZodURL", (inst, def) => { + $ZodURL.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function url(params) { + return _url(ZodURL, params); +} +__name(url, "url"); +function httpUrl(params) { + return _url(ZodURL, { + protocol: httpProtocol, + hostname: domain, + ...util_exports.normalizeParams(params) + }); +} +__name(httpUrl, "httpUrl"); +var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => { + $ZodEmoji.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function emoji2(params) { + return _emoji2(ZodEmoji, params); +} +__name(emoji2, "emoji"); +var ZodNanoID = /* @__PURE__ */ $constructor("ZodNanoID", (inst, def) => { + $ZodNanoID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function nanoid2(params) { + return _nanoid(ZodNanoID, params); +} +__name(nanoid2, "nanoid"); +var ZodCUID = /* @__PURE__ */ $constructor("ZodCUID", (inst, def) => { + $ZodCUID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function cuid3(params) { + return _cuid(ZodCUID, params); +} +__name(cuid3, "cuid"); +var ZodCUID2 = /* @__PURE__ */ $constructor("ZodCUID2", (inst, def) => { + $ZodCUID2.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function cuid22(params) { + return _cuid2(ZodCUID2, params); +} +__name(cuid22, "cuid2"); +var ZodULID = /* @__PURE__ */ $constructor("ZodULID", (inst, def) => { + $ZodULID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function ulid2(params) { + return _ulid(ZodULID, params); +} +__name(ulid2, "ulid"); +var ZodXID = /* @__PURE__ */ $constructor("ZodXID", (inst, def) => { + $ZodXID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function xid2(params) { + return _xid(ZodXID, params); +} +__name(xid2, "xid"); +var ZodKSUID = /* @__PURE__ */ $constructor("ZodKSUID", (inst, def) => { + $ZodKSUID.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function ksuid2(params) { + return _ksuid(ZodKSUID, params); +} +__name(ksuid2, "ksuid"); +var ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => { + $ZodIPv4.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function ipv42(params) { + return _ipv4(ZodIPv4, params); +} +__name(ipv42, "ipv4"); +var ZodMAC = /* @__PURE__ */ $constructor("ZodMAC", (inst, def) => { + $ZodMAC.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function mac2(params) { + return _mac(ZodMAC, params); +} +__name(mac2, "mac"); +var ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => { + $ZodIPv6.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function ipv62(params) { + return _ipv6(ZodIPv6, params); +} +__name(ipv62, "ipv6"); +var ZodCIDRv4 = /* @__PURE__ */ $constructor("ZodCIDRv4", (inst, def) => { + $ZodCIDRv4.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function cidrv42(params) { + return _cidrv4(ZodCIDRv4, params); +} +__name(cidrv42, "cidrv4"); +var ZodCIDRv6 = /* @__PURE__ */ $constructor("ZodCIDRv6", (inst, def) => { + $ZodCIDRv6.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function cidrv62(params) { + return _cidrv6(ZodCIDRv6, params); +} +__name(cidrv62, "cidrv6"); +var ZodBase64 = /* @__PURE__ */ $constructor("ZodBase64", (inst, def) => { + $ZodBase64.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function base642(params) { + return _base64(ZodBase64, params); +} +__name(base642, "base64"); +var ZodBase64URL = /* @__PURE__ */ $constructor("ZodBase64URL", (inst, def) => { + $ZodBase64URL.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function base64url2(params) { + return _base64url(ZodBase64URL, params); +} +__name(base64url2, "base64url"); +var ZodE164 = /* @__PURE__ */ $constructor("ZodE164", (inst, def) => { + $ZodE164.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function e1642(params) { + return _e164(ZodE164, params); +} +__name(e1642, "e164"); +var ZodCreditCard = /* @__PURE__ */ $constructor("ZodCreditCard", (inst, def) => { + $ZodCreditCard.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function creditCard2(params) { + return _creditCard(ZodCreditCard, params); +} +__name(creditCard2, "creditCard"); +var ZodIBAN = /* @__PURE__ */ $constructor("ZodIBAN", (inst, def) => { + $ZodIBAN.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function iban2(params) { + return _iban(ZodIBAN, params); +} +__name(iban2, "iban"); +var ZodJWT = /* @__PURE__ */ $constructor("ZodJWT", (inst, def) => { + $ZodJWT.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function jwt(params) { + return _jwt(ZodJWT, params); +} +__name(jwt, "jwt"); +var ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat", (inst, def) => { + $ZodCustomStringFormat.init(inst, def); + ZodStringFormat.init(inst, def); +}); +function stringFormat(format, fnOrRegex, _params = {}) { + return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params); +} +__name(stringFormat, "stringFormat"); +function hostname2(_params) { + return _stringFormat(ZodCustomStringFormat, "hostname", hostname, _params); +} +__name(hostname2, "hostname"); +function hex2(_params) { + return _stringFormat(ZodCustomStringFormat, "hex", hex, _params); +} +__name(hex2, "hex"); +function currencyCode2(_params) { + return _stringFormat(ZodCustomStringFormat, "currency_code", currencyCode, _params); +} +__name(currencyCode2, "currencyCode"); +function hash(alg, params) { + const enc = params?.enc ?? "hex"; + const format = `${alg}_${enc}`; + const regex = regexes_exports[format]; + if (!regex) + throw new Error(`Unrecognized hash format: ${format}`); + return _stringFormat(ZodCustomStringFormat, format, regex, params); +} +__name(hash, "hash"); +var ZodNumber = /* @__PURE__ */ $constructor( + "ZodNumber", + (inst, def) => { + $ZodNumber.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => numberProcessor(inst, ctx, json2, params); + inst.isFinite = true; + }, + /* @__PURE__ */ util_exports.derived({ + minValue: /* @__PURE__ */ __name((inst) => { + const { minimum, exclusiveMinimum } = aggregateChecks(inst); + return Math.max(minimum ?? Number.NEGATIVE_INFINITY, exclusiveMinimum ?? Number.NEGATIVE_INFINITY); + }, "minValue"), + maxValue: /* @__PURE__ */ __name((inst) => { + const { maximum, exclusiveMaximum } = aggregateChecks(inst); + return Math.min(maximum ?? Number.POSITIVE_INFINITY, exclusiveMaximum ?? Number.POSITIVE_INFINITY); + }, "maxValue"), + isInt: /* @__PURE__ */ __name((inst) => { + const { isInt, multipleOf } = aggregateChecks(inst); + return !!isInt || !!multipleOf?.some(Number.isSafeInteger); + }, "isInt"), + format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format") + }, { + gt(value, params) { + return this.check(_gt(value, params)); + }, + gte(value, params) { + return this.check(_gte(value, params)); + }, + min(value, params) { + return this.check(_gte(value, params)); + }, + lt(value, params) { + return this.check(_lt(value, params)); + }, + lte(value, params) { + return this.check(_lte(value, params)); + }, + max(value, params) { + return this.check(_lte(value, params)); + }, + int(params) { + return this.check(int(params)); + }, + safe(params) { + return this.check(int(params)); + }, + positive(params) { + return this.check(_gt(0, params)); + }, + nonnegative(params) { + return this.check(_gte(0, params)); + }, + negative(params) { + return this.check(_lt(0, params)); + }, + nonpositive(params) { + return this.check(_lte(0, params)); + }, + multipleOf(value, params) { + return this.check(_multipleOf(value, params)); + }, + step(value, params) { + return this.check(_multipleOf(value, params)); + }, + finite() { + return this; + } + }) +); +function number2(params) { + return _number(ZodNumber, params); +} +__name(number2, "number"); +var ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => { + $ZodNumberFormat.init(inst, def); + ZodNumber.init(inst, def); +}); +function int(params) { + return _int(ZodNumberFormat, params); +} +__name(int, "int"); +function float32(params) { + return _float32(ZodNumberFormat, params); +} +__name(float32, "float32"); +function float64(params) { + return _float64(ZodNumberFormat, params); +} +__name(float64, "float64"); +function int32(params) { + return _int32(ZodNumberFormat, params); +} +__name(int32, "int32"); +function uint32(params) { + return _uint32(ZodNumberFormat, params); +} +__name(uint32, "uint32"); +var ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => { + $ZodBoolean.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => booleanProcessor(inst, ctx, json2, params); +}); +function boolean2(params) { + return _boolean(ZodBoolean, params); +} +__name(boolean2, "boolean"); +var ZodBigInt = /* @__PURE__ */ $constructor( + "ZodBigInt", + (inst, def) => { + $ZodBigInt.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => bigintProcessor(inst, ctx, json2, params); + }, + /* @__PURE__ */ util_exports.derived({ + minValue: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).minimum ?? null, "minValue"), + maxValue: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).maximum ?? null, "maxValue"), + format: /* @__PURE__ */ __name((inst) => aggregateChecks(inst).format ?? null, "format") + }, { + gte(value, params) { + return this.check(_gte(value, params)); + }, + min(value, params) { + return this.check(_gte(value, params)); + }, + gt(value, params) { + return this.check(_gt(value, params)); + }, + lt(value, params) { + return this.check(_lt(value, params)); + }, + lte(value, params) { + return this.check(_lte(value, params)); + }, + max(value, params) { + return this.check(_lte(value, params)); + }, + positive(params) { + return this.check(_gt(BigInt(0), params)); + }, + negative(params) { + return this.check(_lt(BigInt(0), params)); + }, + nonpositive(params) { + return this.check(_lte(BigInt(0), params)); + }, + nonnegative(params) { + return this.check(_gte(BigInt(0), params)); + }, + multipleOf(value, params) { + return this.check(_multipleOf(value, params)); + } + }) +); +function bigint2(params) { + return _bigint(ZodBigInt, params); +} +__name(bigint2, "bigint"); +var ZodBigIntFormat = /* @__PURE__ */ $constructor("ZodBigIntFormat", (inst, def) => { + $ZodBigIntFormat.init(inst, def); + ZodBigInt.init(inst, def); +}); +function int64(params) { + return _int64(ZodBigIntFormat, params); +} +__name(int64, "int64"); +function uint64(params) { + return _uint64(ZodBigIntFormat, params); +} +__name(uint64, "uint64"); +var ZodSymbol = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => { + $ZodSymbol.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => symbolProcessor(inst, ctx, json2, params); +}); +function symbol(params) { + return _symbol(ZodSymbol, params); +} +__name(symbol, "symbol"); +var ZodUndefined = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => { + $ZodUndefined.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => undefinedProcessor(inst, ctx, json2, params); +}); +function _undefined3(params) { + return _undefined2(ZodUndefined, params); +} +__name(_undefined3, "_undefined"); +var ZodNull = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => { + $ZodNull.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => nullProcessor(inst, ctx, json2, params); +}); +function _null3(params) { + return _null2(ZodNull, params); +} +__name(_null3, "_null"); +var ZodAny = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => { + $ZodAny.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => anyProcessor(inst, ctx, json2, params); +}); +function any() { + return _any(ZodAny); +} +__name(any, "any"); +var ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => { + $ZodUnknown.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => unknownProcessor(inst, ctx, json2, params); +}); +function unknown() { + return _unknown(ZodUnknown); +} +__name(unknown, "unknown"); +var ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => { + $ZodNever.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => neverProcessor(inst, ctx, json2, params); +}); +function never(params) { + return _never(ZodNever, params); +} +__name(never, "never"); +var ZodVoid = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => { + $ZodVoid.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => voidProcessor(inst, ctx, json2, params); +}); +function _void2(params) { + return _void(ZodVoid, params); +} +__name(_void2, "_void"); +var ZodDate = /* @__PURE__ */ $constructor( + "ZodDate", + (inst, def) => { + $ZodDate.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params); + inst.min = (value, params) => inst.check(_gte(value, params)); + inst.max = (value, params) => inst.check(_lte(value, params)); + }, + /* @__PURE__ */ util_exports.derived({ + minDate: /* @__PURE__ */ __name((inst) => { + const { minimum } = aggregateChecks(inst); + return minimum ? new Date(minimum) : null; + }, "minDate"), + maxDate: /* @__PURE__ */ __name((inst) => { + const { maximum } = aggregateChecks(inst); + return maximum ? new Date(maximum) : null; + }, "maxDate") + }, {}) +); +function date2(params) { + return _date(ZodDate, params); +} +__name(date2, "date"); +var ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodArray.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => arrayProcessor(inst, ctx, json2, params); + inst.element = def.element; +}, { + min(n3, params) { + return this.check(_minLength(n3, params)); + }, + nonempty(params) { + return this.check(_minLength(1, params)); + }, + max(n3, params) { + return this.check(_maxLength(n3, params)); + }, + length(n3, params) { + return this.check(_length(n3, params)); + }, + unwrap() { + return this.element; + } +}); +function array(element, params) { + return _array(ZodArray, element, params); +} +__name(array, "array"); +function keyof(schema2) { + const shape = schema2._zod.def.shape; + return _enum2(Object.keys(shape)); +} +__name(keyof, "keyof"); +var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodObjectJIT.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => objectProcessor(inst, ctx, json2, params); + util_exports.installLazyProp(inst, "shape", (self2) => self2._zod.def.shape, false); +}, { + keyof() { + return _enum2(Object.keys(this._zod.def.shape)); + }, + catchall(catchall) { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall })); + }, + passthrough() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + }, + loose() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: unknown() })); + }, + strict() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: never() })); + }, + strip() { + return this.clone(util_exports.mergeDefs(this._zod.def, { catchall: void 0 })); + }, + extend(incoming) { + return util_exports.extend(this, incoming); + }, + safeExtend(incoming) { + return util_exports.safeExtend(this, incoming); + }, + merge(other) { + return util_exports.merge(this, other); + }, + pick(mask) { + return util_exports.pick(this, mask); + }, + omit(mask) { + return util_exports.omit(this, mask); + }, + partial(...args) { + return util_exports.partial(ZodOptional, this, args[0]); + }, + exactPartial(...args) { + return util_exports.partial(ZodExactOptional, this, args[0], "exactPartial"); + }, + required(...args) { + return util_exports.required(ZodNonOptional, this, args[0]); + } +}); +function object(shape, params) { + const def = { + type: "object", + shape: shape ?? {}, + ...util_exports.normalizeParams(params) + }; + return new ZodObject(def); +} +__name(object, "object"); +function strictObject(shape, params) { + return new ZodObject({ + type: "object", + shape, + catchall: never(), + ...util_exports.normalizeParams(params) + }); +} +__name(strictObject, "strictObject"); +function looseObject(shape, params) { + return new ZodObject({ + type: "object", + shape, + catchall: unknown(), + ...util_exports.normalizeParams(params) + }); +} +__name(looseObject, "looseObject"); +var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => { + $ZodUnion.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); + inst.options = def.options; +}); +function union(options, params) { + return new ZodUnion({ + type: "union", + options, + ...util_exports.normalizeParams(params) + }); +} +__name(union, "union"); +var ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => { + ZodUnion.init(inst, def); + $ZodXor.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => unionProcessor(inst, ctx, json2, params); + inst.options = def.options; +}); +function xor(options, params) { + return new ZodXor({ + type: "union", + options, + inclusive: false, + ...util_exports.normalizeParams(params) + }); +} +__name(xor, "xor"); +var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => { + ZodUnion.init(inst, def); + $ZodDiscriminatedUnion.init(inst, def); +}); +function discriminatedUnion(discriminator, options, params) { + return new ZodDiscriminatedUnion({ + type: "union", + options, + discriminator, + ...util_exports.normalizeParams(params) + }); +} +__name(discriminatedUnion, "discriminatedUnion"); +var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => { + $ZodIntersection.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => intersectionProcessor(inst, ctx, json2, params); +}); +function intersection(left, right) { + return new ZodIntersection({ + type: "intersection", + left, + right + }); +} +__name(intersection, "intersection"); +var ZodTuple = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodTuple.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => tupleProcessor(inst, ctx, json2, params); +}, { + rest(rest) { + return this.clone({ + ...this._zod.def, + rest + }); + }, + partial() { + const def = this._zod.def; + if (def.checks?.length) + throw new Error(".partial() cannot be used on tuple schemas containing refinements"); + return this.clone({ + ...def, + items: def.items.map((item) => new ZodOptional({ type: "optional", innerType: item })) + }); + } +}); +function tuple(items, _paramsOrRest, _params) { + const hasRest = _paramsOrRest instanceof $ZodType; + const params = hasRest ? _params : _paramsOrRest; + const rest = hasRest ? _paramsOrRest : null; + return new ZodTuple({ + type: "tuple", + items, + rest, + ...util_exports.normalizeParams(params) + }); +} +__name(tuple, "tuple"); +var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodRecord.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => recordProcessor(inst, ctx, json2, params); + inst.keyType = def.keyType; + inst.valueType = def.valueType; +}); +function record(keyType, valueType, params) { + if (!valueType || !valueType._zod) { + return new ZodRecord({ + type: "record", + keyType: string2(), + valueType: keyType, + ...util_exports.normalizeParams(valueType) + }); + } + return new ZodRecord({ + type: "record", + keyType, + valueType, + ...util_exports.normalizeParams(params) + }); +} +__name(record, "record"); +function partialRecord(keyType, valueType, params) { + return new ZodRecord({ + type: "record", + keyType, + valueType, + ...util_exports.normalizeParams(params), + partial: true + }); +} +__name(partialRecord, "partialRecord"); +function looseRecord(keyType, valueType, params) { + return new ZodRecord({ + type: "record", + keyType, + valueType, + mode: "loose", + ...util_exports.normalizeParams(params) + }); +} +__name(looseRecord, "looseRecord"); +var ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodMap.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => mapProcessor(inst, ctx, json2, params); + inst.keyType = def.keyType; + inst.valueType = def.valueType; + inst.min = (...args) => inst.check(_minSize(...args)); + inst.nonempty = (params) => inst.check(_minSize(1, params)); + inst.max = (...args) => inst.check(_maxSize(...args)); + inst.size = (...args) => inst.check(_size(...args)); +}); +function map(keyType, valueType, params) { + return new ZodMap({ + type: "map", + keyType, + valueType, + ...util_exports.normalizeParams(params) + }); +} +__name(map, "map"); +var ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodSet.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => setProcessor(inst, ctx, json2, params); + inst.min = (...args) => inst.check(_minSize(...args)); + inst.nonempty = (params) => inst.check(_minSize(1, params)); + inst.max = (...args) => inst.check(_maxSize(...args)); + inst.size = (...args) => inst.check(_size(...args)); +}); +function set(valueType, params) { + return new ZodSet({ + type: "set", + valueType, + ...util_exports.normalizeParams(params) + }); +} +__name(set, "set"); +var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => { + $ZodEnum.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => enumProcessor(inst, ctx, json2, params); + inst.enum = def.entries; + inst.options = [...inst._zod.values]; + const keys = new Set(Object.keys(def.entries)); + inst.extract = (values, params) => { + const newEntries = {}; + for (const value of values) { + if (keys.has(value)) { + newEntries[value] = def.entries[value]; + } else + throw new Error(`Key ${value} not found in enum`); + } + return new ZodEnum({ + ...def, + checks: [], + ...util_exports.normalizeParams(params), + entries: newEntries + }); + }; + inst.exclude = (values, params) => { + const newEntries = { ...def.entries }; + for (const value of values) { + if (keys.has(value)) { + delete newEntries[value]; + } else + throw new Error(`Key ${value} not found in enum`); + } + return new ZodEnum({ + ...def, + checks: [], + ...util_exports.normalizeParams(params), + entries: newEntries + }); + }; +}); +function _enum2(values, params) { + const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values; + return new ZodEnum({ + type: "enum", + entries, + ...util_exports.normalizeParams(params) + }); +} +__name(_enum2, "_enum"); +function nativeEnum(entries, params) { + return new ZodEnum({ + type: "enum", + entries, + ...util_exports.normalizeParams(params) + }); +} +__name(nativeEnum, "nativeEnum"); +var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => { + $ZodLiteral.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => literalProcessor(inst, ctx, json2, params); + inst.values = new Set(def.values); + Object.defineProperty(inst, "value", { + get() { + if (def.values.length > 1) { + throw new Error("This schema contains multiple valid literal values. Use `.values` instead."); + } + return def.values[0]; + } + }); +}); +function literal(value, params) { + return new ZodLiteral({ + type: "literal", + values: Array.isArray(value) ? value : [value], + ...util_exports.normalizeParams(params) + }); +} +__name(literal, "literal"); +var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => { + $ZodFile.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => fileProcessor(inst, ctx, json2, params); + inst.min = (size, params) => inst.check(_minSize(size, params)); + inst.max = (size, params) => inst.check(_maxSize(size, params)); + inst.mime = (types3, params) => inst.check(_mime(Array.isArray(types3) ? types3 : [types3], params)); +}); +function file(params) { + return _file(ZodFile, params); +} +__name(file, "file"); +var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => { + _ensureDefaultMemoizer(); + $ZodTransform.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => transformProcessor(inst, ctx, json2, params); + inst._zod.parse = (payload, _ctx) => { + if (_ctx.direction === "backward") { + throw new $ZodEncodeError(inst.constructor.name); + } + payload.addIssue = (issue2) => { + if (typeof issue2 === "string") { + payload.issues.push(util_exports.issue(issue2, payload.value, def)); + } else { + const _issue = issue2; + if (_issue.fatal) + _issue.continue = false; + _issue.code ?? (_issue.code = "custom"); + if (!("input" in _issue)) + _issue.input = payload.value; + _issue.inst ?? (_issue.inst = inst); + payload.issues.push(util_exports.issue(_issue)); + } + }; + const output2 = def.transform(payload.value, payload); + if (output2 instanceof Promise) { + return output2.then((output3) => { + payload.value = output3; + return payload; + }); + } + payload.value = output2; + return payload; + }; +}); +function transform(fn) { + return new ZodTransform({ + type: "transform", + transform: fn + }); +} +__name(transform, "transform"); +var ZodOptional = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => { + $ZodOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function optional(innerType) { + return new ZodOptional({ + type: "optional", + innerType + }); +} +__name(optional, "optional"); +var ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => { + $ZodExactOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => optionalProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function exactOptional(innerType) { + return new ZodExactOptional({ + type: "optional", + innerType + }); +} +__name(exactOptional, "exactOptional"); +var ZodNullable = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => { + $ZodNullable.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => nullableProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function nullable(innerType) { + return new ZodNullable({ + type: "nullable", + innerType + }); +} +__name(nullable, "nullable"); +function nullish2(innerType) { + return optional(nullable(innerType)); +} +__name(nullish2, "nullish"); +var ZodDefault = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => { + $ZodDefault.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => defaultProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; + inst.removeDefault = inst.unwrap; +}); +function _default2(innerType, defaultValue) { + return new ZodDefault({ + type: "default", + innerType, + get defaultValue() { + return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); + } + }); +} +__name(_default2, "_default"); +var ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => { + $ZodPrefault.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => prefaultProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function prefault(innerType, defaultValue) { + return new ZodPrefault({ + type: "prefault", + innerType, + get defaultValue() { + return typeof defaultValue === "function" ? defaultValue() : util_exports.shallowClone(defaultValue); + } + }); +} +__name(prefault, "prefault"); +var ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => { + $ZodNonOptional.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => nonoptionalProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function nonoptional(innerType, params) { + return new ZodNonOptional({ + type: "nonoptional", + innerType, + ...util_exports.normalizeParams(params) + }); +} +__name(nonoptional, "nonoptional"); +var ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => { + $ZodSuccess.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => successProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function success(innerType) { + return new ZodSuccess({ + type: "success", + innerType + }); +} +__name(success, "success"); +var ZodCatch = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => { + $ZodCatch.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => catchProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; + inst.removeCatch = inst.unwrap; +}); +function _catch2(innerType, catchValue) { + return new ZodCatch({ + type: "catch", + innerType, + catchValue: typeof catchValue === "function" ? catchValue : util_exports.constantCatch(catchValue) + }); +} +__name(_catch2, "_catch"); +var ZodNaN = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => { + $ZodNaN.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => nanProcessor(inst, ctx, json2, params); +}); +function nan(params) { + return _nan(ZodNaN, params); +} +__name(nan, "nan"); +var ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => { + $ZodPipe.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => pipeProcessor(inst, ctx, json2, params); + inst.in = def.in; + inst.out = def.out; +}); +function pipe(in_, out) { + return new ZodPipe({ + type: "pipe", + in: in_, + out + // ...util.normalizeParams(params), + }); +} +__name(pipe, "pipe"); +var ZodCodec = /* @__PURE__ */ $constructor("ZodCodec", (inst, def) => { + ZodPipe.init(inst, def); + $ZodCodec.init(inst, def); +}); +function codec(in_, out, params) { + return new ZodCodec({ + type: "pipe", + in: in_, + out, + transform: params.decode, + reverseTransform: params.encode + }); +} +__name(codec, "codec"); +function invertCodec(codec2) { + const def = codec2._zod.def; + return new ZodCodec({ + type: "pipe", + in: def.out, + out: def.in, + transform: def.reverseTransform, + reverseTransform: def.transform + }); +} +__name(invertCodec, "invertCodec"); +var ZodPreprocess = /* @__PURE__ */ $constructor("ZodPreprocess", (inst, def) => { + ZodPipe.init(inst, def); + $ZodPreprocess.init(inst, def); +}); +var ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => { + $ZodReadonly.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => readonlyProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function readonly(innerType) { + return new ZodReadonly({ + type: "readonly", + innerType + }); +} +__name(readonly, "readonly"); +var ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => { + $ZodTemplateLiteral.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => templateLiteralProcessor(inst, ctx, json2, params); +}); +function templateLiteral(parts, params) { + return new ZodTemplateLiteral({ + type: "template_literal", + parts, + ...util_exports.normalizeParams(params) + }); +} +__name(templateLiteral, "templateLiteral"); +var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => { + $ZodLazy.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => lazyProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.getter(); +}); +function lazy(getter) { + return new ZodLazy({ + type: "lazy", + getter + }); +} +__name(lazy, "lazy"); +var ZodPromise = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => { + $ZodPromise.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => promiseProcessor(inst, ctx, json2, params); + inst.unwrap = () => inst._zod.def.innerType; +}); +function promise(innerType) { + return new ZodPromise({ + type: "promise", + innerType + }); +} +__name(promise, "promise"); +var ZodFunction = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => { + $ZodFunction.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => functionProcessor(inst, ctx, json2, params); +}); +function _function(params) { + return new ZodFunction({ + type: "function", + input: Array.isArray(params?.input) ? tuple(params?.input) : params?.input ?? array(unknown()), + output: params?.output ?? unknown() + }); +} +__name(_function, "_function"); +var ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => { + $ZodCustom.init(inst, def); + ZodType.init(inst, def); + inst._zod.processJSONSchema = (ctx, json2, params) => customProcessor(inst, ctx, json2, params); +}); +function check(fn) { + const ch = new $ZodCheck({ + check: "custom" + // ...util.normalizeParams(params), + }); + ch._zod.check = fn; + return ch; +} +__name(check, "check"); +function custom(fn, _params) { + return _custom(ZodCustom, fn ?? (() => true), _params); +} +__name(custom, "custom"); +function refine(fn, _params = {}) { + return _refine(ZodCustom, fn, _params); +} +__name(refine, "refine"); +function superRefine(fn, params) { + return _superRefine(fn, params); +} +__name(superRefine, "superRefine"); +var describe2 = describe; +var meta2 = meta; +var ZodInstanceOf = /* @__PURE__ */ $constructor("ZodInstanceOf", (inst, def) => { + ZodCustom.init(inst, def); +}, { + properties(shape, params) { + return this.check(_properties(shape, params)); + } +}); +function _instanceof(cls, params = {}) { + const inst = new ZodInstanceOf({ + type: "custom", + check: "custom", + fn: /* @__PURE__ */ __name((data) => data instanceof cls, "fn"), + abort: true, + ...util_exports.normalizeParams(params) + }); + inst._zod.bag.Class = cls; + inst._zod.check = (payload) => { + if (!(payload.value instanceof cls)) { + payload.issues.push({ + code: "invalid_type", + expected: cls.name, + input: payload.value, + inst, + path: [...inst._zod.def.path ?? []] + }); + } + }; + return inst; +} +__name(_instanceof, "_instanceof"); +var stringbool = /* @__PURE__ */ __name((...args) => _stringbool({ + Codec: ZodCodec, + Boolean: ZodBoolean, + String: ZodString +}, ...args), "stringbool"); +function json(params) { + const jsonSchema = lazy(() => { + return union([string2(params), number2(), boolean2(), _null3(), array(jsonSchema), record(string2(), jsonSchema)]); + }); + return jsonSchema; +} +__name(json, "json"); +function preprocess(fn, schema2) { + return new ZodPreprocess({ + type: "pipe", + in: transform(fn), + out: schema2 + }); +} +__name(preprocess, "preprocess"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/compat.js +var ZodIssueCode = { + invalid_type: "invalid_type", + too_big: "too_big", + too_small: "too_small", + invalid_format: "invalid_format", + not_multiple_of: "not_multiple_of", + unrecognized_keys: "unrecognized_keys", + invalid_union: "invalid_union", + invalid_key: "invalid_key", + invalid_element: "invalid_element", + invalid_value: "invalid_value", + custom: "custom" +}; +function setErrorMap(map2) { + config({ + customError: map2 + }); +} +__name(setErrorMap, "setErrorMap"); +function getErrorMap() { + return config().customError; +} +__name(getErrorMap, "getErrorMap"); +var ZodFirstPartyTypeKind; +/* @__PURE__ */ (function(ZodFirstPartyTypeKind2) { +})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {})); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/iso.js +var iso_exports = {}; +__export(iso_exports, { + ZodISODate: () => ZodISODate, + ZodISODateTime: () => ZodISODateTime, + ZodISODuration: () => ZodISODuration, + ZodISOTime: () => ZodISOTime, + date: () => date3, + datetime: () => datetime2, + duration: () => duration2, + time: () => time2 +}); +function datetime2(params) { + return _isoDateTime(ZodISODateTime, params); +} +__name(datetime2, "datetime"); +function date3(params) { + return _isoDate(ZodISODate, params); +} +__name(date3, "date"); +function time2(params) { + return _isoTime(ZodISOTime, params); +} +__name(time2, "time"); +function duration2(params) { + return _isoDuration(ZodISODuration, params); +} +__name(duration2, "duration"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/from-json-schema.js +var z = { + ...schemas_exports2, + ...checks_exports2, + iso: iso_exports +}; +var RECOGNIZED_KEYS = /* @__PURE__ */ new Set([ + // Schema identification + "$schema", + "$ref", + "$defs", + "definitions", + // Core schema keywords + "$id", + "id", + "$comment", + "$anchor", + "$vocabulary", + "$dynamicRef", + "$dynamicAnchor", + // Type + "type", + "enum", + "const", + // Composition + "anyOf", + "oneOf", + "allOf", + "not", + // Object + "properties", + "required", + "additionalProperties", + "patternProperties", + "propertyNames", + "minProperties", + "maxProperties", + // Array + "items", + "prefixItems", + "additionalItems", + "minItems", + "maxItems", + "uniqueItems", + "contains", + "minContains", + "maxContains", + // String + "minLength", + "maxLength", + "pattern", + "format", + // Number + "minimum", + "maximum", + "exclusiveMinimum", + "exclusiveMaximum", + "multipleOf", + // Already handled metadata + "description", + "default", + // Content + "contentEncoding", + "contentMediaType", + "contentSchema", + // Unsupported (error-throwing) + "unevaluatedItems", + "unevaluatedProperties", + "if", + "then", + "else", + "dependentSchemas", + "dependentRequired", + // OpenAPI + "nullable", + "readOnly" +]); +function detectVersion(schema2, defaultTarget) { + const $schema = schema2.$schema; + if ($schema === "https://json-schema.org/draft/2020-12/schema") { + return "draft-2020-12"; + } + if ($schema === "http://json-schema.org/draft-07/schema#") { + return "draft-7"; + } + if ($schema === "http://json-schema.org/draft-04/schema#") { + return "draft-4"; + } + return defaultTarget ?? "draft-2020-12"; +} +__name(detectVersion, "detectVersion"); +function applyMinItems(items, minItems) { + return items.map((item, index) => index < minItems ? item : item.optional()); +} +__name(applyMinItems, "applyMinItems"); +function decodeJSONPointerSegment(segment) { + return segment.replace(/~1/g, "/").replace(/~0/g, "~"); +} +__name(decodeJSONPointerSegment, "decodeJSONPointerSegment"); +function resolveRef(ref, ctx) { + if (!ref.startsWith("#")) { + throw new Error("External $ref is not supported, only local refs (#/...) are allowed"); + } + const path2 = ref.slice(1).split("/").filter(Boolean); + if (path2.length === 0) { + return ctx.rootSchema; + } + const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions"; + if (path2[0] === defsKey) { + const key = path2[1] === void 0 ? void 0 : decodeJSONPointerSegment(path2[1]); + if (!key || !ctx.defs[key]) { + throw new Error(`Reference not found: ${ref}`); + } + return ctx.defs[key]; + } + throw new Error(`Reference not found: ${ref}`); +} +__name(resolveRef, "resolveRef"); +function checkObjectGuards(objectSchema, guards) { + const guard = z.transform((value) => value).check((payload) => { + const value = payload.value; + if (typeof value !== "object" || value === null || Array.isArray(value)) + return; + const keys = Object.getOwnPropertyNames(value); + if (guards.minProperties !== void 0 && keys.length < guards.minProperties) { + payload.issues.push({ + origin: "object", + code: "too_small", + minimum: guards.minProperties, + inclusive: true, + message: `Too small: expected object to have >=${guards.minProperties} properties`, + input: value, + inst: objectSchema, + continue: true + }); + } + if (guards.maxProperties !== void 0 && keys.length > guards.maxProperties) { + payload.issues.push({ + origin: "object", + code: "too_big", + maximum: guards.maxProperties, + inclusive: true, + message: `Too big: expected object to have <=${guards.maxProperties} properties`, + input: value, + inst: objectSchema, + continue: true + }); + } + if (guards.keySchema) { + for (const key of keys) { + const result = guards.keySchema.safeParse(key); + if (result.success) + continue; + payload.issues.push({ + code: "invalid_key", + origin: "record", + issues: result.error.issues, + input: key, + path: [key], + continue: true + }); + } + } + }); + return guard.pipe(objectSchema); +} +__name(checkObjectGuards, "checkObjectGuards"); +function canonicalKey(value, seen) { + if (value === null) + return "z"; + const type = typeof value; + if (type !== "object") { + if (type === "number" && Number.isNaN(value)) + return null; + const raw4 = String(value); + return `${type[0]}${raw4.length}:${raw4}`; + } + if (seen.has(value)) + return null; + seen.add(value); + try { + if (Array.isArray(value)) { + const parts2 = []; + for (const item of value) { + const key = canonicalKey(item, seen); + if (key === null) + return null; + parts2.push(key); + } + return `a${parts2.length}:[${parts2.join(",")}]`; + } + const keys = Object.keys(value).sort(); + const parts = []; + for (const k5 of keys) { + const key = canonicalKey(value[k5], seen); + if (key === null) + return null; + parts.push(`${k5.length}:${k5}=${key}`); + } + return `o${parts.length}:{${parts.join(",")}}`; + } finally { + seen.delete(value); + } +} +__name(canonicalKey, "canonicalKey"); +var SCHEMA_KEYWORDS = /* @__PURE__ */ new Set([ + "items", + "prefixItems", + "additionalItems", + "additionalProperties", + "contains", + "propertyNames", + "not", + "if", + "then", + "else", + "allOf", + "anyOf", + "oneOf", + "unevaluatedItems", + "unevaluatedProperties", + "contentSchema" +]); +var SCHEMA_MAP_KEYWORDS = /* @__PURE__ */ new Set([ + "properties", + "patternProperties", + "dependentSchemas", + "dependencies", + "$defs", + "definitions" +]); +function containsRef(value) { + if (typeof value !== "object" || value === null) + return false; + if (Array.isArray(value)) + return value.some(containsRef); + if (typeof value.$ref === "string") + return true; + return Object.entries(value).some(([key, sub]) => { + if (SCHEMA_KEYWORDS.has(key)) + return containsRef(sub); + if (!SCHEMA_MAP_KEYWORDS.has(key) || typeof sub !== "object" || sub === null) + return false; + return Object.values(sub).some(containsRef); + }); +} +__name(containsRef, "containsRef"); +function plural(n3) { + return n3 === 1 ? "element" : "elements"; +} +__name(plural, "plural"); +function checkArrayGuards(arraySchema, guards) { + const guard = z.transform((value) => value).check((payload) => { + const items = payload.value; + if (!Array.isArray(items)) + return; + if (guards.uniqueItems === true) { + const firstSeen = /* @__PURE__ */ new Map(); + for (let i5 = 0; i5 < items.length; i5++) { + const key = canonicalKey(items[i5], /* @__PURE__ */ new Set()); + if (key === null) + continue; + const first = firstSeen.get(key); + if (first === void 0) { + firstSeen.set(key, i5); + continue; + } + payload.issues.push({ + code: "custom", + message: `Array items must be unique: element at index ${i5} duplicates the one at index ${first}`, + input: items, + path: [i5], + continue: true + }); + } + } + if (guards.containsSchema) { + const minContains = guards.minContains ?? 1; + const ceiling = guards.maxContains !== void 0 ? guards.maxContains + 1 : Number.POSITIVE_INFINITY; + let matches = 0; + for (const item of items) { + if (guards.containsSchema.safeParse(item).success && ++matches >= ceiling) + break; + } + if (matches < minContains) { + payload.issues.push({ + code: "custom", + message: `Array must contain at least ${minContains} matching ${plural(minContains)}; found ${matches}`, + input: items, + continue: true + }); + } + if (guards.maxContains !== void 0 && matches > guards.maxContains) { + payload.issues.push({ + code: "custom", + message: `Array must contain at most ${guards.maxContains} matching ${plural(guards.maxContains)}`, + input: items, + continue: true + }); + } + } + }); + return guard.pipe(arraySchema); +} +__name(checkArrayGuards, "checkArrayGuards"); +function getTupleRest(restSchema, ctx) { + if (restSchema === false) { + return void 0; + } + if (restSchema === void 0 || restSchema === true) { + return z.any(); + } + return convertSchema(restSchema, ctx); +} +__name(getTupleRest, "getTupleRest"); +var fullTime = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/; +function convertBaseSchema(schema2, ctx) { + if (schema2.not !== void 0) { + if (typeof schema2.not === "object" && Object.keys(schema2.not).length === 0) { + return z.never(); + } + throw new Error("not is not supported in Zod (except { not: {} } for never)"); + } + if (schema2.unevaluatedItems !== void 0) { + throw new Error("unevaluatedItems is not supported"); + } + if (schema2.unevaluatedProperties !== void 0) { + throw new Error("unevaluatedProperties is not supported"); + } + if (schema2.if !== void 0 || schema2.then !== void 0 || schema2.else !== void 0) { + throw new Error("Conditional schemas (if/then/else) are not supported"); + } + if (schema2.dependentSchemas !== void 0 || schema2.dependentRequired !== void 0) { + throw new Error("dependentSchemas and dependentRequired are not supported"); + } + if (schema2.$ref) { + const refPath = schema2.$ref; + if (ctx.refs.has(refPath)) { + return ctx.refs.get(refPath); + } + if (ctx.processing.has(refPath)) { + return z.lazy(() => { + if (!ctx.refs.has(refPath)) { + throw new Error(`Circular reference not resolved: ${refPath}`); + } + return ctx.refs.get(refPath); + }); + } + ctx.processing.add(refPath); + const resolved = resolveRef(refPath, ctx); + const zodSchema2 = convertSchema(resolved, ctx); + ctx.refs.set(refPath, zodSchema2); + ctx.processing.delete(refPath); + return zodSchema2; + } + if (schema2.enum !== void 0) { + const enumValues = schema2.enum; + if (ctx.version === "openapi-3.0" && schema2.nullable === true && enumValues.length === 1 && enumValues[0] === null) { + return z.null(); + } + if (enumValues.length === 0) { + return z.never(); + } + if (enumValues.length === 1) { + return z.literal(enumValues[0]); + } + if (enumValues.every((v) => typeof v === "string")) { + return z.enum(enumValues); + } + const literalSchemas = enumValues.map((v) => z.literal(v)); + if (literalSchemas.length < 2) { + return literalSchemas[0]; + } + return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]); + } + if (schema2.const !== void 0) { + return z.literal(schema2.const); + } + const type = schema2.type; + if (Array.isArray(type)) { + const typeSchemas = type.map((t) => { + const typeSchema = { ...schema2, type: t }; + return convertBaseSchema(typeSchema, ctx); + }); + if (typeSchemas.length === 0) { + return z.never(); + } + if (typeSchemas.length === 1) { + return typeSchemas[0]; + } + return z.union(typeSchemas); + } + if (!type) { + return z.any(); + } + let zodSchema; + switch (type) { + case "string": { + let stringSchema = z.string(); + if (schema2.format) { + const format = schema2.format; + if (format === "email") { + stringSchema = stringSchema.check(z.email()); + } else if (format === "uri" || format === "uri-reference") { + stringSchema = stringSchema.check(z.url()); + } else if (format === "uuid" || format === "guid") { + stringSchema = stringSchema.check(z.uuid()); + } else if (format === "date-time") { + stringSchema = stringSchema.check(z.iso.datetime({ offset: true })); + } else if (format === "date") { + stringSchema = stringSchema.check(z.iso.date()); + } else if (format === "time") { + stringSchema = stringSchema.check(z.regex(fullTime)); + } else if (format === "duration") { + stringSchema = stringSchema.check(z.iso.duration()); + } else if (format === "hostname") { + stringSchema = stringSchema.check(z.hostname()); + } else if (format === "ipv4") { + stringSchema = stringSchema.check(z.ipv4()); + } else if (format === "ipv6") { + stringSchema = stringSchema.check(z.ipv6()); + } else if (format === "mac") { + stringSchema = stringSchema.check(z.mac()); + } else if (format === "cidr") { + stringSchema = stringSchema.check(z.cidrv4()); + } else if (format === "cidr-v6") { + stringSchema = stringSchema.check(z.cidrv6()); + } else if (format === "base64") { + stringSchema = stringSchema.check(z.base64()); + } else if (format === "base64url") { + stringSchema = stringSchema.check(z.base64url()); + } else if (format === "e164") { + stringSchema = stringSchema.check(z.e164()); + } else if (format === "credit_card") { + stringSchema = stringSchema.check(z.creditCard()); + } else if (format === "iban") { + stringSchema = stringSchema.check(z.iban()); + } else if (format === "jwt") { + stringSchema = stringSchema.check(z.jwt()); + } else if (format === "emoji") { + stringSchema = stringSchema.check(z.emoji()); + } else if (format === "nanoid") { + stringSchema = stringSchema.check(z.nanoid()); + } else if (format === "cuid") { + stringSchema = stringSchema.check(z.cuid()); + } else if (format === "cuid2") { + stringSchema = stringSchema.check(z.cuid2()); + } else if (format === "ulid") { + stringSchema = stringSchema.check(z.ulid()); + } else if (format === "xid") { + stringSchema = stringSchema.check(z.xid()); + } else if (format === "ksuid") { + stringSchema = stringSchema.check(z.ksuid()); + } + } + if (typeof schema2.minLength === "number") { + stringSchema = stringSchema.min(schema2.minLength); + } + if (typeof schema2.maxLength === "number") { + stringSchema = stringSchema.max(schema2.maxLength); + } + if (schema2.pattern) { + stringSchema = stringSchema.regex(new RegExp(schema2.pattern)); + } + zodSchema = stringSchema; + break; + } + case "number": + case "integer": { + let numberSchema = type === "integer" ? z.number().int() : z.number(); + if (typeof schema2.minimum === "number" && schema2.exclusiveMinimum !== true) { + numberSchema = numberSchema.min(schema2.minimum); + } + if (typeof schema2.maximum === "number" && schema2.exclusiveMaximum !== true) { + numberSchema = numberSchema.max(schema2.maximum); + } + if (typeof schema2.exclusiveMinimum === "number") { + numberSchema = numberSchema.gt(schema2.exclusiveMinimum); + } else if (schema2.exclusiveMinimum === true && typeof schema2.minimum === "number") { + numberSchema = numberSchema.gt(schema2.minimum); + } + if (typeof schema2.exclusiveMaximum === "number") { + numberSchema = numberSchema.lt(schema2.exclusiveMaximum); + } else if (schema2.exclusiveMaximum === true && typeof schema2.maximum === "number") { + numberSchema = numberSchema.lt(schema2.maximum); + } + if (typeof schema2.multipleOf === "number") { + numberSchema = numberSchema.multipleOf(schema2.multipleOf); + } + zodSchema = numberSchema; + break; + } + case "boolean": { + zodSchema = z.boolean(); + break; + } + case "null": { + zodSchema = z.null(); + break; + } + case "object": { + const shape = {}; + const properties = schema2.properties || {}; + const requiredSet = new Set(schema2.required || []); + const additionalSchema = typeof schema2.additionalProperties === "object" ? convertSchema(schema2.additionalProperties, ctx) : void 0; + for (const [key, propSchema] of Object.entries(properties)) { + const propZodSchema = convertSchema(propSchema, ctx); + assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional()); + } + if (schema2.patternProperties) { + const patternProps = schema2.patternProperties; + const patternKeys = Object.keys(patternProps); + const looseRecords = []; + for (const pattern of patternKeys) { + const patternValue = convertSchema(patternProps[pattern], ctx); + const keySchema = z.string().regex(new RegExp(pattern)); + looseRecords.push(z.looseRecord(keySchema, patternValue)); + } + const schemasToIntersect = []; + if (Object.keys(shape).length > 0) { + schemasToIntersect.push(z.object(shape).passthrough()); + } + schemasToIntersect.push(...looseRecords); + if (schemasToIntersect.length === 0) { + zodSchema = z.object({}).passthrough(); + } else if (schemasToIntersect.length === 1) { + zodSchema = schemasToIntersect[0]; + } else { + let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]); + for (let i5 = 2; i5 < schemasToIntersect.length; i5++) { + result = z.intersection(result, schemasToIntersect[i5]); + } + zodSchema = result; + } + if (schema2.additionalProperties === false) { + const propertyKeys = Object.keys(shape); + const patterns = patternKeys.map((p3) => new RegExp(p3)); + const basePatternSchema = zodSchema; + zodSchema = zodSchema.check((payload) => { + if (!isPlainObject(payload.value)) + return; + const unrecognized = []; + for (const key of Object.keys(payload.value)) { + if (propertyKeys.includes(key)) + continue; + if (patterns.some((regex) => regex.test(key))) + continue; + unrecognized.push(key); + } + if (unrecognized.length) { + payload.issues.push({ + code: "unrecognized_keys", + keys: unrecognized, + input: payload.value, + inst: basePatternSchema + }); + } + }); + } + } else { + const objectSchema = z.object(shape); + if (schema2.additionalProperties === false) { + zodSchema = objectSchema.strict(); + } else if (additionalSchema) { + zodSchema = objectSchema.catchall(additionalSchema); + } else { + zodSchema = objectSchema.passthrough(); + } + } + const hasKeyGuard = schema2.propertyNames !== void 0 && schema2.propertyNames !== true; + const minProperties = typeof schema2.minProperties === "number" ? schema2.minProperties : void 0; + const maxProperties = typeof schema2.maxProperties === "number" ? schema2.maxProperties : void 0; + if (hasKeyGuard || minProperties !== void 0 || maxProperties !== void 0) { + let keySchema; + if (hasKeyGuard) { + const keyJSONSchema = typeof schema2.propertyNames === "object" && schema2.propertyNames.type === void 0 ? { type: "string", ...schema2.propertyNames } : schema2.propertyNames; + keySchema = convertSchema(keyJSONSchema, ctx); + } + zodSchema = checkObjectGuards(zodSchema, { keySchema, minProperties, maxProperties }); + } + break; + } + case "array": { + const prefixItems = schema2.prefixItems; + const items = schema2.items; + if (prefixItems && Array.isArray(prefixItems)) { + const minItems = typeof schema2.minItems === "number" ? schema2.minItems : 0; + const tupleItems = prefixItems.map((item) => convertSchema(item, ctx)); + const positionalItems = applyMinItems(tupleItems, minItems); + const rest = !Array.isArray(items) ? getTupleRest(items, ctx) : void 0; + const tupleSchema = z.tuple(positionalItems); + zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema; + if (typeof schema2.minItems === "number") { + zodSchema = zodSchema.check(z.minLength(schema2.minItems)); + } + if (typeof schema2.maxItems === "number") { + zodSchema = zodSchema.check(z.maxLength(schema2.maxItems)); + } + } else if (Array.isArray(items)) { + const minItems = typeof schema2.minItems === "number" ? schema2.minItems : 0; + const tupleItems = items.map((item) => convertSchema(item, ctx)); + const positionalItems = applyMinItems(tupleItems, minItems); + const rest = getTupleRest(schema2.additionalItems, ctx); + const tupleSchema = z.tuple(positionalItems); + zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema; + if (typeof schema2.minItems === "number") { + zodSchema = zodSchema.check(z.minLength(schema2.minItems)); + } + if (typeof schema2.maxItems === "number") { + zodSchema = zodSchema.check(z.maxLength(schema2.maxItems)); + } + } else if (items !== void 0) { + const element = convertSchema(items, ctx); + let arraySchema = z.array(element); + if (typeof schema2.minItems === "number") { + arraySchema = arraySchema.min(schema2.minItems); + } + if (typeof schema2.maxItems === "number") { + arraySchema = arraySchema.max(schema2.maxItems); + } + zodSchema = arraySchema; + } else { + zodSchema = z.array(z.any()); + } + if (schema2.uniqueItems === true || schema2.contains !== void 0) { + zodSchema = checkArrayGuards(zodSchema, { + uniqueItems: schema2.uniqueItems === true, + containsSchema: schema2.contains !== void 0 ? convertSchema(schema2.contains, ctx) : void 0, + minContains: typeof schema2.minContains === "number" ? schema2.minContains : void 0, + maxContains: typeof schema2.maxContains === "number" ? schema2.maxContains : void 0 + }); + } + break; + } + default: + throw new Error(`Unsupported type: ${type}`); + } + return zodSchema; +} +__name(convertBaseSchema, "convertBaseSchema"); +function convertSchema(schema2, ctx) { + if (typeof schema2 === "boolean") { + return schema2 ? z.any() : z.never(); + } + let baseSchema = convertBaseSchema(schema2, ctx); + const hasExplicitType = schema2.type || schema2.enum !== void 0 || schema2.const !== void 0; + if (schema2.anyOf && Array.isArray(schema2.anyOf)) { + const options = schema2.anyOf.map((s2) => convertSchema(s2, ctx)); + const anyOfUnion = z.union(options); + baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion; + } + if (schema2.oneOf && Array.isArray(schema2.oneOf)) { + const options = schema2.oneOf.map((s2) => convertSchema(s2, ctx)); + const oneOfUnion = z.xor(options); + baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion; + } + if (schema2.allOf && Array.isArray(schema2.allOf)) { + if (schema2.allOf.length === 0) { + baseSchema = hasExplicitType ? baseSchema : z.any(); + } else { + let result = hasExplicitType ? baseSchema : convertSchema(schema2.allOf[0], ctx); + const startIdx = hasExplicitType ? 0 : 1; + for (let i5 = startIdx; i5 < schema2.allOf.length; i5++) { + result = z.intersection(result, convertSchema(schema2.allOf[i5], ctx)); + } + baseSchema = result; + } + } + if (schema2.nullable === true && ctx.version === "openapi-3.0") { + baseSchema = z.nullable(baseSchema); + } + if (schema2.readOnly === true) { + baseSchema = z.readonly(baseSchema); + } + if (schema2.default !== void 0) { + baseSchema = baseSchema.default(schema2.default); + } + const extraMeta = {}; + const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"]; + for (const key of coreMetadataKeys) { + if (key in schema2) { + extraMeta[key] = schema2[key]; + } + } + const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"]; + for (const key of contentMetadataKeys) { + if (key in schema2) { + extraMeta[key] = schema2[key]; + } + } + if (schema2.type === "object" && schema2.$ref === void 0) { + if (schema2.propertyNames !== void 0 && !containsRef(schema2.propertyNames)) { + extraMeta.propertyNames = schema2.propertyNames; + } + for (const key of ["minProperties", "maxProperties"]) { + if (schema2[key] !== void 0) + extraMeta[key] = schema2[key]; + } + } + if (schema2.type === "array" && schema2.$ref === void 0) { + if (schema2.contains !== void 0 && !containsRef(schema2.contains)) { + extraMeta.contains = schema2.contains; + } + for (const key of ["uniqueItems", "minContains", "maxContains"]) { + if (schema2[key] !== void 0) + extraMeta[key] = schema2[key]; + } + } + for (const key of Object.keys(schema2)) { + if (!RECOGNIZED_KEYS.has(key)) { + assignProp(extraMeta, key, schema2[key]); + } + } + if (Object.keys(extraMeta).length > 0) { + ctx.registry.add(baseSchema, extraMeta); + } + if (schema2.description) { + baseSchema = baseSchema.describe(schema2.description); + } + return baseSchema; +} +__name(convertSchema, "convertSchema"); +function fromJSONSchema(schema2, params) { + if (typeof schema2 === "boolean") { + return schema2 ? z.any() : z.never(); + } + let normalized; + try { + normalized = JSON.parse(JSON.stringify(schema2)); + } catch { + throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas"); + } + const version2 = detectVersion(normalized, params?.defaultTarget); + const defs = normalized.$defs || normalized.definitions || {}; + const ctx = { + version: version2, + defs, + refs: /* @__PURE__ */ new Map(), + processing: /* @__PURE__ */ new Set(), + rootSchema: normalized, + registry: params?.registry ?? globalRegistry + }; + return convertSchema(normalized, ctx); +} +__name(fromJSONSchema, "fromJSONSchema"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/core/visit.js +var RESOLVING = /* @__PURE__ */ Symbol("z.visit/resolving"); +function visit(schema2, fnOrHandlers) { + const fn = typeof fnOrHandlers === "function" ? fnOrHandlers : (node2, rewritten) => { + const h5 = fnOrHandlers[node2._zod.def.type]; + return h5 ? h5(node2, rewritten) : node2; + }; + const cache5 = /* @__PURE__ */ new Map(); + function run(s2) { + const cached2 = cache5.get(s2); + if (cached2 === RESOLVING) { + return new $ZodLazy({ + type: "lazy", + getter: /* @__PURE__ */ __name(() => cache5.get(s2), "getter") + }); + } + if (cached2 !== void 0) + return cached2; + cache5.set(s2, RESOLVING); + const inner = mapInner(s2); + const mapped = fn(inner, inner !== s2); + cache5.set(s2, mapped); + return mapped; + } + __name(run, "run"); + function mapInner(s2) { + const def = s2._zod.def; + const kind = def.type; + switch (kind) { + case "object": { + const oldShape = def.shape; + const keys = Object.keys(oldShape); + let changed = false; + const newShape = {}; + for (const k5 of keys) { + const mapped = run(oldShape[k5]); + if (mapped !== oldShape[k5]) + changed = true; + newShape[k5] = mapped; + } + let newCatchall = def.catchall; + if (def.catchall) { + newCatchall = run(def.catchall); + if (newCatchall !== def.catchall) + changed = true; + } + return changed ? clone(s2, { ...def, shape: newShape, catchall: newCatchall }) : s2; + } + case "array": { + const mapped = run(def.element); + return mapped === def.element ? s2 : clone(s2, { ...def, element: mapped }); + } + case "tuple": { + const oldItems = def.items; + let changed = false; + const newItems = []; + for (const item of oldItems) { + const mapped = run(item); + if (mapped !== item) + changed = true; + newItems.push(mapped); + } + let newRest = def.rest; + if (def.rest) { + newRest = run(def.rest); + if (newRest !== def.rest) + changed = true; + } + return changed ? clone(s2, { ...def, items: newItems, rest: newRest }) : s2; + } + case "record": + case "map": { + const newKey = run(def.keyType); + const newVal = run(def.valueType); + return newKey === def.keyType && newVal === def.valueType ? s2 : clone(s2, { ...def, keyType: newKey, valueType: newVal }); + } + case "set": { + const newVal = run(def.valueType); + return newVal === def.valueType ? s2 : clone(s2, { ...def, valueType: newVal }); + } + case "union": { + const oldOptions = def.options; + let changed = false; + const newOptions = []; + for (const opt of oldOptions) { + const mapped = run(opt); + if (mapped !== opt) + changed = true; + newOptions.push(mapped); + } + return changed ? clone(s2, { ...def, options: newOptions }) : s2; + } + case "intersection": { + const newLeft = run(def.left); + const newRight = run(def.right); + return newLeft === def.left && newRight === def.right ? s2 : clone(s2, { ...def, left: newLeft, right: newRight }); + } + case "optional": + case "nullable": + case "default": + case "prefault": + case "catch": + case "readonly": + case "nonoptional": + case "promise": + case "success": { + const newInner = run(def.innerType); + return newInner === def.innerType ? s2 : clone(s2, { ...def, innerType: newInner }); + } + case "pipe": { + const newIn = run(def.in); + const newOut = run(def.out); + return newIn === def.in && newOut === def.out ? s2 : clone(s2, { ...def, in: newIn, out: newOut }); + } + case "function": { + const newInput = run(def.input); + const newOutput = run(def.output); + return newInput === def.input && newOutput === def.output ? s2 : clone(s2, { ...def, input: newInput, output: newOutput }); + } + case "lazy": { + const original = def.getter; + const { _cachedInner, ...rest } = def; + return clone(s2, { ...rest, getter: /* @__PURE__ */ __name(() => run(original()), "getter") }); + } + // A leaf by choice: `parts` are regex fragments, not data positions. + case "template_literal": + // Leaves. + case "string": + case "number": + case "int": + case "boolean": + case "bigint": + case "symbol": + case "undefined": + case "null": + case "void": + case "never": + case "any": + case "unknown": + case "date": + case "nan": + case "enum": + case "literal": + case "file": + case "transform": + case "custom": + return s2; + default: { + kind; + return s2; + } + } + } + __name(mapInner, "mapInner"); + return run(schema2); +} +__name(visit, "visit"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/deep-partial.js +function deepPartial(schema2) { + return visit(schema2, { + object: /* @__PURE__ */ __name((s2) => s2.partial(), "object"), + // Every partialed option now admits `undefined`, which the constructor rejects as a duplicate. + union: /* @__PURE__ */ __name((s2) => { + const def = s2._zod.def; + return def.discriminator === void 0 ? s2 : union(def.options); + }, "union") + }); +} +__name(deepPartial, "deepPartial"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/in-out.js +function withChecks(side, checks) { + if (!checks?.length) + return side; + const def = side._zod.def; + return clone(side, mergeDefs(def, { checks: [...def.checks ?? [], ...checks] }), { parent: true }); +} +__name(withChecks, "withChecks"); +function outSide(def) { + return withChecks(def.out, def.checks); +} +__name(outSide, "outSide"); +function inSide(def) { + return def.in._zod.traits.has("$ZodTransform") ? outSide(def) : def.in; +} +__name(inSide, "inSide"); +function input(schema2) { + return visit(schema2, { + pipe: /* @__PURE__ */ __name((s2) => inSide(s2._zod.def), "pipe"), + // A default value belongs to the output side, so a rewritten inner type leaves it stranded. `.default()` widens the declared input type with `undefined`, and `optional` is what carries that across. + default: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? optional(s2._zod.def.innerType) : s2, "default"), + // A catch value is output-side too, but `.catch()` leaves the declared input type alone, so the inner schema stands on its own. + catch: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? s2._zod.def.innerType : s2, "catch") + }); +} +__name(input, "input"); +function output(schema2) { + return visit(schema2, { + pipe: /* @__PURE__ */ __name((s2) => outSide(s2._zod.def), "pipe"), + // A prefault value is fed through the schema, which makes it input-side, so a rewritten inner type leaves it stranded. + prefault: /* @__PURE__ */ __name((s2, rewritten) => rewritten ? s2._zod.def.innerType : s2, "prefault") + }); +} +__name(output, "output"); + +// ../../node_modules/.pnpm/zod@4.6.7/node_modules/zod/v4/classic/coerce.js +var coerce_exports = {}; +__export(coerce_exports, { + bigint: () => bigint3, + boolean: () => boolean3, + date: () => date4, + number: () => number3, + string: () => string3 +}); +function string3(params) { + return _coercedString(ZodString, params); +} +__name(string3, "string"); +function number3(params) { + return _coercedNumber(ZodNumber, params); +} +__name(number3, "number"); +function boolean3(params) { + return _coercedBoolean(ZodBoolean, params); +} +__name(boolean3, "boolean"); +function bigint3(params) { + return _coercedBigint(ZodBigInt, params); +} +__name(bigint3, "bigint"); +function date4(params) { + return _coercedDate(ZodDate, params); +} +__name(date4, "date"); + +// dist/config/env.js +if (existsSync(".env")) + process.loadEnvFile(".env"); +var bool = /* @__PURE__ */ __name((fallback2) => external_exports.enum(["true", "false", "1", "0"]).optional().transform((v) => v === void 0 ? fallback2 : v === "true" || v === "1"), "bool"); +var schema = external_exports.object({ + NODE_ENV: external_exports.enum(["development", "production", "test"]).default("development"), + PORT: external_exports.coerce.number().int().default(4e3), + CORS_ORIGINS: external_exports.string().default(""), + TRUST_PROXY: external_exports.coerce.number().int().min(0).default(1), + DATABASE_URL: external_exports.string().min(1), + JWT_SECRET: external_exports.string().min(32, "JWT_SECRET must be at least 32 characters"), + JWT_ACCESS_TTL: external_exports.string().default("15m"), + REFRESH_TTL_DAYS: external_exports.coerce.number().int().positive().default(30), + COOKIE_SECURE: bool(true), + S3_ENDPOINT: external_exports.string().optional(), + S3_REGION: external_exports.string().default("us-east-1"), + S3_BUCKET: external_exports.string().default("imen-media"), + S3_ACCESS_KEY: external_exports.string().default(""), + S3_SECRET_KEY: external_exports.string().default(""), + S3_FORCE_PATH_STYLE: bool(true), + S3_ENSURE_BUCKET: bool(false), + MEDIA_PUBLIC_URL: external_exports.string().default("/media").transform((v) => v.replace(/\/+$/, "")), + WEB_REVALIDATE_URL: external_exports.string().optional(), + REVALIDATE_SECRET: external_exports.string().optional(), + ADMIN_PHONE: external_exports.string().optional(), + ADMIN_PASSWORD: external_exports.string().optional(), + ADMIN_NAME: external_exports.string().default("\u0645\u062F\u06CC\u0631 \u0633\u0627\u06CC\u062A") +}); +var parsed = schema.safeParse(process.env); +if (!parsed.success) { + console.error("Invalid environment variables:\n" + external_exports.prettifyError(parsed.error)); + process.exit(1); +} +var env = parsed.data; +var isProd = env.NODE_ENV === "production"; + +// ../../packages/shared/dist/common.js +var req = /* @__PURE__ */ __name((max = 300) => external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(max), "req"); +var text = /* @__PURE__ */ __name((max = 300) => external_exports.string().trim().max(max).default(""), "text"); +var idSchema = external_exports.coerce.number().int().positive(); +var slugSchema = external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(80).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "\u0641\u0642\u0637 \u062D\u0631\u0648\u0641 \u06A9\u0648\u0686\u06A9 \u0627\u0646\u06AF\u0644\u06CC\u0633\u06CC\u060C \u0639\u062F\u062F \u0648 \u062E\u0637 \u062A\u06CC\u0631\u0647 (\u0645\u062B\u0644\u0627\u064B safety-shoes)"); +var iconNameSchema = external_exports.string().trim().min(1).max(80); +var imageRefSchema = external_exports.object({ + url: req(500), + alt: text(200) +}); +var linkSchema = external_exports.object({ + label: req(60), + href: req(300) +}); +var toIssues = /* @__PURE__ */ __name((error62) => error62.issues.map((i5) => ({ path: i5.path.map(String).join("."), message: i5.message })), "toIssues"); + +// ../../packages/shared/dist/sections.js +var WEEK_DAYS = [ + "Saturday", + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" +]; +var SOCIAL_TYPES = [ + "website", + "telegram", + "instagram", + "linkedin", + "whatsapp", + "bale", + "eitaa", + "aparat", + "youtube", + "email", + "phone" +]; +var iconLabel = external_exports.object({ icon: iconNameSchema, label: req(80) }); +var iconCard = external_exports.object({ icon: iconNameSchema, title: req(80), desc: text(300) }); +var sectionHeadSchema = external_exports.object({ + tag: req(80), + title: req(200), + /** optional accented last line of the title */ + highlight: text(120), + desc: text(500) +}); +var settingsSectionSchema = external_exports.object({ + name: req(80), + nameEn: req(120), + /** default and og:title */ + title: req(120), + /** default meta description */ + description: req(400), + /** machine-readable phone for tel: links and schema.org, e.g. +98-21-91008800 */ + phone: req(30), + phoneDisplay: req(40), + email: external_exports.email("\u0627\u06CC\u0645\u06CC\u0644 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A"), + address: external_exports.object({ + street: req(200), + locality: req(80), + country: external_exports.string().trim().length(2).default("IR") + }), + /** human-readable working hours, e.g. «شنبه تا پنجشنبه — ۸:۰۰ تا ۱۷:۰۰» */ + workingHours: req(120), + openingHours: external_exports.object({ + days: external_exports.array(external_exports.enum(WEEK_DAYS)).max(7), + opens: external_exports.string().regex(/^\d{2}:\d{2}$/, "\u0642\u0627\u0644\u0628 \u0633\u0627\u0639\u062A \u0628\u0627\u06CC\u062F HH:MM \u0628\u0627\u0634\u062F"), + closes: external_exports.string().regex(/^\d{2}:\d{2}$/, "\u0642\u0627\u0644\u0628 \u0633\u0627\u0639\u062A \u0628\u0627\u06CC\u062F HH:MM \u0628\u0627\u0634\u062F") + }), + foundingDate: external_exports.string().regex(/^\d{4}$/, "\u0633\u0627\u0644 \u0645\u06CC\u0644\u0627\u062F\u06CC \u0686\u0647\u0627\u0631\u0631\u0642\u0645\u06CC"), + socials: external_exports.array(external_exports.object({ type: external_exports.enum(SOCIAL_TYPES), url: req(300) })).max(12), + ogImage: imageRefSchema.extend({ + width: external_exports.number().int().positive().nullable().default(null), + height: external_exports.number().int().positive().nullable().default(null) + }) +}); +var heroSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + badge: req(120), + title: req(80), + titleHighlight: req(80), + intro: req(600), + primaryCta: linkSchema, + secondaryCta: linkSchema, + chips: external_exports.array(iconLabel).max(6), + miniStats: external_exports.array(external_exports.object({ value: req(20), label: req(80) })).max(4), + image: imageRefSchema, + /** «آخرین بازرسی» date shown on the status card */ + lastInspection: text(20) +}); +var tapeSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + items: external_exports.array(req(80)).min(1).max(20) +}); +var statsSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + items: external_exports.array(external_exports.object({ + end: external_exports.number().int().min(0).max(1e9), + suffix: text(5), + label: req(80), + note: text(40) + })).max(8) +}); +var productsIntroSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + ctaLabel: req(60), + trust: external_exports.array(iconCard).max(6) +}); +var aboutSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + body: req(2e3), + image: imageRefSchema, + badge: external_exports.object({ value: req(20), label: req(80) }), + timeline: external_exports.array(external_exports.object({ year: req(10), text: req(200) })).max(12), + features: external_exports.array(iconLabel).max(6) +}); +var servicesSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + items: external_exports.array(external_exports.object({ + icon: iconNameSchema, + title: req(80), + desc: req(600), + items: external_exports.array(req(120)).max(8) + })).max(10) +}); +var standardsSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + note: text(500), + ctaLabel: req(80), + items: external_exports.array(external_exports.object({ code: req(30), label: req(80) })).max(12) +}); +var industriesSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + items: external_exports.array(external_exports.object({ + name: req(60), + nameEn: text(60), + count: text(20), + image: imageRefSchema + })).max(12) +}); +var testimonialsSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + items: external_exports.array(external_exports.object({ text: req(600), name: req(80), role: text(160) })).max(12) +}); +var contactSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + head: sectionHeadSchema, + emergencyTitle: req(80), + emergencyText: req(400), + formTag: text(80), + formTitle: req(160), + successTitle: req(80), + successText: req(300) +}); +var footerSectionSchema = external_exports.object({ + enabled: external_exports.boolean().default(true), + about: req(500), + copyright: req(160), + certLine: text(160), + emergencyNote: text(80) +}); +var sectionSchemas = { + settings: settingsSectionSchema, + hero: heroSectionSchema, + tape: tapeSectionSchema, + stats: statsSectionSchema, + productsIntro: productsIntroSectionSchema, + about: aboutSectionSchema, + services: servicesSectionSchema, + standards: standardsSectionSchema, + industries: industriesSectionSchema, + testimonials: testimonialsSectionSchema, + contact: contactSectionSchema, + footer: footerSectionSchema +}; +var SECTION_KEYS = Object.keys(sectionSchemas); +var isSectionKey = /* @__PURE__ */ __name((key) => key in sectionSchemas, "isSectionKey"); + +// ../../packages/shared/dist/admin.js +var ROLES = ["ADMIN", "EDITOR"]; +var password = external_exports.string().min(8, "\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0628\u0627\u06CC\u062F \u062D\u062F\u0627\u0642\u0644 \u06F8 \u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u0628\u0627\u0634\u062F").max(128); +var FA_DIGITS = "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9"; +var AR_DIGITS = "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669"; +function normalizeIrMobile(raw4) { + let s2 = raw4.trim().replace(/[\s\-()]/g, ""); + s2 = s2.replace(/[۰-۹٠-٩]/g, (d5) => { + const fa = FA_DIGITS.indexOf(d5); + if (fa >= 0) + return String(fa); + const ar = AR_DIGITS.indexOf(d5); + return ar >= 0 ? String(ar) : d5; + }); + if (s2.startsWith("+98")) + s2 = `0${s2.slice(3)}`; + else if (s2.startsWith("0098")) + s2 = `0${s2.slice(4)}`; + else if (s2.startsWith("98") && s2.length === 12) + s2 = `0${s2.slice(2)}`; + return s2; +} +__name(normalizeIrMobile, "normalizeIrMobile"); +var irMobileSchema = external_exports.string().trim().min(1, "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").transform(normalizeIrMobile).pipe(external_exports.string().regex(/^09\d{9}$/, "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A (\u0645\u062B\u0644\u0627\u064B \u06F0\u06F9\u06F1\u06F2\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7)")); +var loginSchema = external_exports.object({ + phone: irMobileSchema, + password: external_exports.string().min(1, "\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").max(128) +}); +var changePasswordSchema = external_exports.object({ + currentPassword: external_exports.string().min(1, "\u0631\u0645\u0632 \u0641\u0639\u0644\u06CC \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F").max(128), + newPassword: password +}); +var userCreateSchema = external_exports.object({ + phone: irMobileSchema, + name: req(80), + role: external_exports.enum(ROLES), + password +}); +var userUpdateSchema = external_exports.object({ + name: req(80), + role: external_exports.enum(ROLES), + isActive: external_exports.boolean(), + /** set only when resetting the password */ + password: password.optional() +}); +var MESSAGE_STATUSES = ["NEW", "READ", "ARCHIVED"]; +var contactInputSchema = external_exports.object({ + name: req(80), + org: req(120), + phone: external_exports.string().trim().min(1, "\u0627\u06CC\u0646 \u0641\u06CC\u0644\u062F \u0627\u0644\u0632\u0627\u0645\u06CC \u0627\u0633\u062A").max(30).regex(/^[0-9۰-۹+\-\s()]{5,30}$/, "\u0634\u0645\u0627\u0631\u0647 \u062A\u0645\u0627\u0633 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A"), + message: text(2e3), + /** honeypot — real visitors never fill it */ + website: external_exports.string().max(200).optional() +}); +var messageUpdateSchema = external_exports.object({ + status: external_exports.enum(MESSAGE_STATUSES) +}); +var mediaUpdateSchema = external_exports.object({ alt: text(200) }); + +// ../../packages/shared/dist/icons.js +var ICON_ALIASES = { + // Navigation & Actions + ArrowLeft: "arrow-left", + ArrowRight: "arrow-right", + ArrowUp: "arrow-up", + ArrowDown: "arrow-down", + ChevronDown: "arrow-down-1", + ChevronUp: "arrow-up-1", + ChevronLeft: "arrow-left-1", + ChevronRight: "arrow-right-1", + Menu: "menu", + X: "close-circle", + Plus: "add", + Trash: "trash", + Edit: "edit-2", + Copy: "copy", + Check: "tick-circle", + Search: "search-normal", + Filter: "filter", + Eye: "eye", + EyeOff: "eye-slash", + ImageOff: "gallery-slash", + Quote: "quote-up", + // Contact & Social + Phone: "call", + Mail: "sms", + MapPin: "location", + Clock: "clock", + Globe: "global", + Send: "send-2", + Instagram: "instagram", + Linkedin: "link", + MessageCircle: "messages-2", + Youtube: "video-play", + AtSign: "sms", + // Equipment & Safety Categories + HardHat: "security-safe", + Glasses: "glass", + Shirt: "tag", + Footprints: "routing-2", + Hand: "shield-tick", + Ear: "volume-high", + Wind: "wind-2", + TriangleAlert: "danger", + Siren: "lamp-on", + TrafficCone: "danger", + Construction: "setting-2", + Factory: "building-4", + Building2: "buildings-2", + Fuel: "gas-station", + Pickaxe: "hierarchy", + Flame: "flash", + Zap: "flash-circle", + Leaf: "tree", + HeartPulse: "heart-tick", + Star: "star", + ThumbsUp: "like-1", + Target: "radar-2", + Lock: "lock", + // Trust, Certifications & Standards + ShieldCheck: "shield-tick", + ShieldPlus: "shield-security", + ShieldAlert: "shield-cross", + BadgeCheck: "verify", + Award: "award", + Medal: "medal-star", + PackageCheck: "box-tick", + Package: "box", + Truck: "truck-time", + Warehouse: "buildings", + Users: "people", + Handshake: "user-tag", + Headset: "24-support", + ClipboardCheck: "clipboard-tick", + FileCheck: "document-text", + FileSearch: "document-filter", + GraduationCap: "teacher", + Gauge: "status", + Microscope: "search-status", + Wrench: "setting-4" +}; +var RECOMMENDED_ICONS = [ + "shield-tick", + "shield-security", + "shield-cross", + "security-safe", + "security-user", + "verify", + "award", + "medal-star", + "box-tick", + "box", + "truck-time", + "buildings", + "building-4", + "buildings-2", + "global", + "people", + "user-tag", + "24-support", + "call", + "sms", + "location", + "clock", + "clipboard-tick", + "document-text", + "document-filter", + "teacher", + "status", + "search-status", + "setting-2", + "setting-4", + "glass", + "tag", + "routing-2", + "volume-high", + "wind-2", + "danger", + "lamp-on", + "gas-station", + "hierarchy", + "flash", + "flash-circle", + "tree", + "heart-tick", + "star", + "like-1", + "radar-2", + "lock", + "eye", + "gallery", + "video-play" +]; +var ICON_NAMES = [ + ...RECOMMENDED_ICONS, + ...Object.keys(ICON_ALIASES) +]; + +// ../../packages/shared/dist/catalog.js +var shortList = external_exports.array(external_exports.string().trim().min(1).max(120)).max(20).default([]); +var productAttributeSchema = external_exports.object({ + name: req(80), + value: req(300) +}); +var productGroupInputSchema = external_exports.object({ + /** present when editing an existing group */ + id: idSchema.optional(), + slug: slugSchema, + name: req(120), + desc: text(1e3) +}); +var categoryInputSchema = external_exports.object({ + slug: slugSchema, + code: req(20), + name: req(120), + nameEn: text(120), + shortDesc: text(500), + fullDesc: text(3e3), + icon: text(40), + coverImageId: idSchema.nullable().default(null), + isPublished: external_exports.boolean().default(true), + seoTitle: text(120), + seoDescription: text(300), + groups: external_exports.array(productGroupInputSchema).max(30).default([]) +}); +var productInputSchema = external_exports.object({ + categoryId: idSchema, + groupId: idSchema.nullable().default(null), + code: req(30), + slug: slugSchema, + name: req(160), + nameEn: text(160), + desc: text(2e3), + specs: shortList, + variants: shortList, + details: text(8e3), + brand: text(80), + origin: text(80), + sizes: shortList, + standards: shortList, + features: external_exports.array(external_exports.string().trim().min(1).max(300)).max(30).default([]), + applications: shortList, + attributes: external_exports.array(productAttributeSchema).max(40).default([]), + packaging: text(200), + minOrder: text(120), + seoTitle: text(120), + seoDescription: text(300), + imageId: idSchema.nullable().default(null), + galleryIds: external_exports.array(idSchema).max(12).default([]), + isPublished: external_exports.boolean().default(true) +}); +var reorderSchema = external_exports.object({ + ids: external_exports.array(idSchema).min(1).max(1e3) +}); +var productListQuerySchema = external_exports.object({ + categoryId: idSchema.optional(), + groupId: idSchema.optional(), + q: external_exports.string().trim().max(100).optional(), + status: external_exports.enum(["published", "draft"]).optional(), + page: external_exports.coerce.number().int().min(1).default(1), + pageSize: external_exports.coerce.number().int().min(1).max(200).default(50) +}); + +// dist/prisma/prisma.service.js +init_common(); + +// ../../node_modules/.pnpm/@prisma+debug@7.10.1/node_modules/@prisma/debug/dist/index.mjs +var __defProp = Object.defineProperty; +var __export2 = /* @__PURE__ */ __name((target, all) => { + for (var name2 in all) + __defProp(target, name2, { get: all[name2], enumerable: true }); +}, "__export"); +var colors_exports = {}; +__export2(colors_exports, { + $: /* @__PURE__ */ __name(() => $, "$"), + bgBlack: /* @__PURE__ */ __name(() => bgBlack, "bgBlack"), + bgBlue: /* @__PURE__ */ __name(() => bgBlue, "bgBlue"), + bgCyan: /* @__PURE__ */ __name(() => bgCyan, "bgCyan"), + bgGreen: /* @__PURE__ */ __name(() => bgGreen, "bgGreen"), + bgMagenta: /* @__PURE__ */ __name(() => bgMagenta, "bgMagenta"), + bgRed: /* @__PURE__ */ __name(() => bgRed, "bgRed"), + bgWhite: /* @__PURE__ */ __name(() => bgWhite, "bgWhite"), + bgYellow: /* @__PURE__ */ __name(() => bgYellow, "bgYellow"), + black: /* @__PURE__ */ __name(() => black, "black"), + blue: /* @__PURE__ */ __name(() => blue, "blue"), + bold: /* @__PURE__ */ __name(() => bold, "bold"), + cyan: /* @__PURE__ */ __name(() => cyan, "cyan"), + dim: /* @__PURE__ */ __name(() => dim, "dim"), + gray: /* @__PURE__ */ __name(() => gray, "gray"), + green: /* @__PURE__ */ __name(() => green, "green"), + grey: /* @__PURE__ */ __name(() => grey, "grey"), + hidden: /* @__PURE__ */ __name(() => hidden, "hidden"), + inverse: /* @__PURE__ */ __name(() => inverse, "inverse"), + italic: /* @__PURE__ */ __name(() => italic, "italic"), + magenta: /* @__PURE__ */ __name(() => magenta, "magenta"), + red: /* @__PURE__ */ __name(() => red, "red"), + reset: /* @__PURE__ */ __name(() => reset, "reset"), + strikethrough: /* @__PURE__ */ __name(() => strikethrough, "strikethrough"), + underline: /* @__PURE__ */ __name(() => underline, "underline"), + white: /* @__PURE__ */ __name(() => white, "white"), + yellow: /* @__PURE__ */ __name(() => yellow, "yellow") +}); +var FORCE_COLOR; +var NODE_DISABLE_COLORS; +var NO_COLOR; +var TERM; +var isTTY = true; +if (typeof process !== "undefined") { + ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env || {}); + isTTY = process.stdout && process.stdout.isTTY; +} +var $ = { + enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== "dumb" && (FORCE_COLOR != null && FORCE_COLOR !== "0" || isTTY) +}; +function init(x, y) { + let rgx = new RegExp(`\\x1b\\[${y}m`, "g"); + let open2 = `\x1B[${x}m`, close = `\x1B[${y}m`; + return function(txt) { + if (!$.enabled || txt == null) return txt; + return open2 + (!!~("" + txt).indexOf(close) ? txt.replace(rgx, close + open2) : txt) + close; + }; +} +__name(init, "init"); +var reset = init(0, 0); +var bold = init(1, 22); +var dim = init(2, 22); +var italic = init(3, 23); +var underline = init(4, 24); +var inverse = init(7, 27); +var hidden = init(8, 28); +var strikethrough = init(9, 29); +var black = init(30, 39); +var red = init(31, 39); +var green = init(32, 39); +var yellow = init(33, 39); +var blue = init(34, 39); +var magenta = init(35, 39); +var cyan = init(36, 39); +var white = init(37, 39); +var gray = init(90, 39); +var grey = init(90, 39); +var bgBlack = init(40, 49); +var bgRed = init(41, 49); +var bgGreen = init(42, 49); +var bgYellow = init(43, 49); +var bgBlue = init(44, 49); +var bgMagenta = init(45, 49); +var bgCyan = init(46, 49); +var bgWhite = init(47, 49); +var MAX_ARGS_HISTORY = 100; +var COLORS = ["green", "yellow", "blue", "magenta", "cyan", "red"]; +var argsHistory = []; +var lastTimestamp = Date.now(); +var lastColor = 0; +var processEnv = typeof process !== "undefined" ? process.env : {}; +globalThis.DEBUG ??= processEnv.DEBUG ?? ""; +globalThis.DEBUG_COLORS ??= processEnv.DEBUG_COLORS ? processEnv.DEBUG_COLORS === "true" : true; +var topProps = { + enable(namespace) { + if (typeof namespace === "string") { + globalThis.DEBUG = namespace; + } + }, + disable() { + const prev = globalThis.DEBUG; + globalThis.DEBUG = ""; + return prev; + }, + // this is the core logic to check if logging should happen or not + enabled(namespace) { + const listenedNamespaces = globalThis.DEBUG.split(",").map((s2) => { + return s2.replace(/[.+?^${}()|[\]\\]/g, "\\$&"); + }); + const isListened = listenedNamespaces.some((listenedNamespace) => { + if (listenedNamespace === "" || listenedNamespace[0] === "-") return false; + return namespace.match(RegExp(listenedNamespace.split("*").join(".*") + "$")); + }); + const isExcluded = listenedNamespaces.some((listenedNamespace) => { + if (listenedNamespace === "" || listenedNamespace[0] !== "-") return false; + return namespace.match(RegExp(listenedNamespace.slice(1).split("*").join(".*") + "$")); + }); + return isListened && !isExcluded; + }, + log: /* @__PURE__ */ __name((...args) => { + const [namespace, format, ...rest] = args; + const logWithFormatting = console.warn ?? console.log; + logWithFormatting(`${namespace} ${format}`, ...rest); + }, "log"), + formatters: {} + // not implemented +}; +function debugCreate(namespace) { + const instanceProps = { + color: COLORS[lastColor++ % COLORS.length], + enabled: topProps.enabled(namespace), + namespace, + log: topProps.log, + extend: /* @__PURE__ */ __name(() => { + }, "extend") + // not implemented + }; + const debugCall = /* @__PURE__ */ __name((...args) => { + const { enabled, namespace: namespace2, color, log } = instanceProps; + if (args.length !== 0) { + argsHistory.push([namespace2, ...args]); + } + if (argsHistory.length > MAX_ARGS_HISTORY) { + argsHistory.shift(); + } + if (topProps.enabled(namespace2) || enabled) { + const stringArgs = args.map((arg) => { + if (typeof arg === "string") { + return arg; + } + return safeStringify(arg); + }); + const ms = `+${Date.now() - lastTimestamp}ms`; + lastTimestamp = Date.now(); + if (globalThis.DEBUG_COLORS) { + log(colors_exports[color](bold(namespace2)), ...stringArgs, colors_exports[color](ms)); + } else { + log(namespace2, ...stringArgs, ms); + } + } + }, "debugCall"); + return new Proxy(debugCall, { + get: /* @__PURE__ */ __name((_, prop) => instanceProps[prop], "get"), + set: /* @__PURE__ */ __name((_, prop, value) => instanceProps[prop] = value, "set") + }); +} +__name(debugCreate, "debugCreate"); +var Debug2 = new Proxy(debugCreate, { + get: /* @__PURE__ */ __name((_, prop) => topProps[prop], "get"), + set: /* @__PURE__ */ __name((_, prop, value) => topProps[prop] = value, "set") +}); +function safeStringify(value, indent = 2) { + const cache5 = /* @__PURE__ */ new Set(); + return JSON.stringify( + value, + (key, value2) => { + if (typeof value2 === "object" && value2 !== null) { + if (cache5.has(value2)) { + return `[Circular *]`; + } + cache5.add(value2); + } else if (typeof value2 === "bigint") { + return value2.toString(); + } + return value2; + }, + indent + ); +} +__name(safeStringify, "safeStringify"); + +// ../../node_modules/.pnpm/@prisma+driver-adapter-utils@7.10.1/node_modules/@prisma/driver-adapter-utils/dist/index.mjs +var DriverAdapterError = class extends Error { + static { + __name(this, "DriverAdapterError"); + } + name = "DriverAdapterError"; + cause; + constructor(payload) { + super(typeof payload["message"] === "string" ? payload["message"] : payload.kind); + this.cause = payload; + } +}; +var debug = Debug2("driver-adapter-utils"); +var ColumnTypeEnum = { + // Scalars + Int32: 0, + Int64: 1, + Float: 2, + Double: 3, + Numeric: 4, + Boolean: 5, + Character: 6, + Text: 7, + Date: 8, + Time: 9, + DateTime: 10, + Json: 11, + Enum: 12, + Bytes: 13, + Set: 14, + Uuid: 15, + // Arrays + Int32Array: 64, + Int64Array: 65, + FloatArray: 66, + DoubleArray: 67, + NumericArray: 68, + BooleanArray: 69, + CharacterArray: 70, + TextArray: 71, + DateArray: 72, + TimeArray: 73, + DateTimeArray: 74, + JsonArray: 75, + EnumArray: 76, + BytesArray: 77, + UuidArray: 78, + // Custom + UnknownNumber: 128 +}; +var mockAdapterErrors = { + queryRaw: new Error("Not implemented: queryRaw"), + executeRaw: new Error("Not implemented: executeRaw"), + startTransaction: new Error("Not implemented: startTransaction"), + executeScript: new Error("Not implemented: executeScript"), + dispose: new Error("Not implemented: dispose") +}; + +// ../../node_modules/.pnpm/@prisma+adapter-pg@7.10.1/node_modules/@prisma/adapter-pg/dist/index.mjs +var import_postgres_array = __toESM(require_postgres_array(), 1); +var name = "@prisma/adapter-pg"; +var FIRST_NORMAL_OBJECT_ID = 16384; +var { types } = esm_default; +var { builtins: ScalarColumnType, getTypeParser } = types; +var AdditionalScalarColumnType = { + NAME: 19 +}; +var ArrayColumnType = { + BIT_ARRAY: 1561, + BOOL_ARRAY: 1e3, + BYTEA_ARRAY: 1001, + BPCHAR_ARRAY: 1014, + CHAR_ARRAY: 1002, + CIDR_ARRAY: 651, + DATE_ARRAY: 1182, + FLOAT4_ARRAY: 1021, + FLOAT8_ARRAY: 1022, + INET_ARRAY: 1041, + INT2_ARRAY: 1005, + INT4_ARRAY: 1007, + INT8_ARRAY: 1016, + JSONB_ARRAY: 3807, + JSON_ARRAY: 199, + MONEY_ARRAY: 791, + NUMERIC_ARRAY: 1231, + OID_ARRAY: 1028, + TEXT_ARRAY: 1009, + TIMESTAMP_ARRAY: 1115, + TIMESTAMPTZ_ARRAY: 1185, + TIME_ARRAY: 1183, + UUID_ARRAY: 2951, + VARBIT_ARRAY: 1563, + VARCHAR_ARRAY: 1015, + XML_ARRAY: 143 +}; +var UnsupportedNativeDataType = class _UnsupportedNativeDataType extends Error { + static { + __name(this, "_UnsupportedNativeDataType"); + } + // map of type codes to type names + static typeNames = { + 16: "bool", + 17: "bytea", + 18: "char", + 19: "name", + 20: "int8", + 21: "int2", + 22: "int2vector", + 23: "int4", + 24: "regproc", + 25: "text", + 26: "oid", + 27: "tid", + 28: "xid", + 29: "cid", + 30: "oidvector", + 32: "pg_ddl_command", + 71: "pg_type", + 75: "pg_attribute", + 81: "pg_proc", + 83: "pg_class", + 114: "json", + 142: "xml", + 194: "pg_node_tree", + 269: "table_am_handler", + 325: "index_am_handler", + 600: "point", + 601: "lseg", + 602: "path", + 603: "box", + 604: "polygon", + 628: "line", + 650: "cidr", + 700: "float4", + 701: "float8", + 705: "unknown", + 718: "circle", + 774: "macaddr8", + 790: "money", + 829: "macaddr", + 869: "inet", + 1033: "aclitem", + 1042: "bpchar", + 1043: "varchar", + 1082: "date", + 1083: "time", + 1114: "timestamp", + 1184: "timestamptz", + 1186: "interval", + 1266: "timetz", + 1560: "bit", + 1562: "varbit", + 1700: "numeric", + 1790: "refcursor", + 2202: "regprocedure", + 2203: "regoper", + 2204: "regoperator", + 2205: "regclass", + 2206: "regtype", + 2249: "record", + 2275: "cstring", + 2276: "any", + 2277: "anyarray", + 2278: "void", + 2279: "trigger", + 2280: "language_handler", + 2281: "internal", + 2283: "anyelement", + 2287: "_record", + 2776: "anynonarray", + 2950: "uuid", + 2970: "txid_snapshot", + 3115: "fdw_handler", + 3220: "pg_lsn", + 3310: "tsm_handler", + 3361: "pg_ndistinct", + 3402: "pg_dependencies", + 3500: "anyenum", + 3614: "tsvector", + 3615: "tsquery", + 3642: "gtsvector", + 3734: "regconfig", + 3769: "regdictionary", + 3802: "jsonb", + 3831: "anyrange", + 3838: "event_trigger", + 3904: "int4range", + 3906: "numrange", + 3908: "tsrange", + 3910: "tstzrange", + 3912: "daterange", + 3926: "int8range", + 4072: "jsonpath", + 4089: "regnamespace", + 4096: "regrole", + 4191: "regcollation", + 4451: "int4multirange", + 4532: "nummultirange", + 4533: "tsmultirange", + 4534: "tstzmultirange", + 4535: "datemultirange", + 4536: "int8multirange", + 4537: "anymultirange", + 4538: "anycompatiblemultirange", + 4600: "pg_brin_bloom_summary", + 4601: "pg_brin_minmax_multi_summary", + 5017: "pg_mcv_list", + 5038: "pg_snapshot", + 5069: "xid8", + 5077: "anycompatible", + 5078: "anycompatiblearray", + 5079: "anycompatiblenonarray", + 5080: "anycompatiblerange" + }; + type; + constructor(code) { + super(); + this.type = _UnsupportedNativeDataType.typeNames[code] || "Unknown"; + this.message = `Unsupported column type ${this.type}`; + } +}; +function fieldToColumnType(fieldTypeId) { + switch (fieldTypeId) { + case ScalarColumnType.INT2: + case ScalarColumnType.INT4: + return ColumnTypeEnum.Int32; + case ScalarColumnType.INT8: + return ColumnTypeEnum.Int64; + case ScalarColumnType.FLOAT4: + return ColumnTypeEnum.Float; + case ScalarColumnType.FLOAT8: + return ColumnTypeEnum.Double; + case ScalarColumnType.BOOL: + return ColumnTypeEnum.Boolean; + case ScalarColumnType.DATE: + return ColumnTypeEnum.Date; + case ScalarColumnType.TIME: + case ScalarColumnType.TIMETZ: + return ColumnTypeEnum.Time; + case ScalarColumnType.TIMESTAMP: + case ScalarColumnType.TIMESTAMPTZ: + return ColumnTypeEnum.DateTime; + case ScalarColumnType.NUMERIC: + case ScalarColumnType.MONEY: + return ColumnTypeEnum.Numeric; + case ScalarColumnType.JSON: + case ScalarColumnType.JSONB: + return ColumnTypeEnum.Json; + case ScalarColumnType.UUID: + return ColumnTypeEnum.Uuid; + case ScalarColumnType.OID: + return ColumnTypeEnum.Int64; + case ScalarColumnType.BPCHAR: + case ScalarColumnType.TEXT: + case ScalarColumnType.VARCHAR: + case ScalarColumnType.BIT: + case ScalarColumnType.VARBIT: + case ScalarColumnType.INET: + case ScalarColumnType.CIDR: + case ScalarColumnType.XML: + case AdditionalScalarColumnType.NAME: + return ColumnTypeEnum.Text; + case ScalarColumnType.BYTEA: + return ColumnTypeEnum.Bytes; + case ArrayColumnType.INT2_ARRAY: + case ArrayColumnType.INT4_ARRAY: + return ColumnTypeEnum.Int32Array; + case ArrayColumnType.FLOAT4_ARRAY: + return ColumnTypeEnum.FloatArray; + case ArrayColumnType.FLOAT8_ARRAY: + return ColumnTypeEnum.DoubleArray; + case ArrayColumnType.NUMERIC_ARRAY: + case ArrayColumnType.MONEY_ARRAY: + return ColumnTypeEnum.NumericArray; + case ArrayColumnType.BOOL_ARRAY: + return ColumnTypeEnum.BooleanArray; + case ArrayColumnType.CHAR_ARRAY: + return ColumnTypeEnum.CharacterArray; + case ArrayColumnType.BPCHAR_ARRAY: + case ArrayColumnType.TEXT_ARRAY: + case ArrayColumnType.VARCHAR_ARRAY: + case ArrayColumnType.VARBIT_ARRAY: + case ArrayColumnType.BIT_ARRAY: + case ArrayColumnType.INET_ARRAY: + case ArrayColumnType.CIDR_ARRAY: + case ArrayColumnType.XML_ARRAY: + return ColumnTypeEnum.TextArray; + case ArrayColumnType.DATE_ARRAY: + return ColumnTypeEnum.DateArray; + case ArrayColumnType.TIME_ARRAY: + return ColumnTypeEnum.TimeArray; + case ArrayColumnType.TIMESTAMP_ARRAY: + return ColumnTypeEnum.DateTimeArray; + case ArrayColumnType.TIMESTAMPTZ_ARRAY: + return ColumnTypeEnum.DateTimeArray; + case ArrayColumnType.JSON_ARRAY: + case ArrayColumnType.JSONB_ARRAY: + return ColumnTypeEnum.JsonArray; + case ArrayColumnType.BYTEA_ARRAY: + return ColumnTypeEnum.BytesArray; + case ArrayColumnType.UUID_ARRAY: + return ColumnTypeEnum.UuidArray; + case ArrayColumnType.INT8_ARRAY: + case ArrayColumnType.OID_ARRAY: + return ColumnTypeEnum.Int64Array; + default: + if (fieldTypeId >= FIRST_NORMAL_OBJECT_ID) { + return ColumnTypeEnum.Text; + } + throw new UnsupportedNativeDataType(fieldTypeId); + } +} +__name(fieldToColumnType, "fieldToColumnType"); +function normalize_array(element_normalizer) { + return (str) => (0, import_postgres_array.parse)(str, element_normalizer); +} +__name(normalize_array, "normalize_array"); +function normalize_numeric(numeric) { + return numeric; +} +__name(normalize_numeric, "normalize_numeric"); +function normalize_date(date5) { + return date5; +} +__name(normalize_date, "normalize_date"); +function normalize_timestamp(time3) { + return `${time3.replace(" ", "T")}+00:00`; +} +__name(normalize_timestamp, "normalize_timestamp"); +function normalize_timestamptz(time3) { + return time3.replace(" ", "T").replace(/[+-]\d{2}(:\d{2})?$/, "+00:00"); +} +__name(normalize_timestamptz, "normalize_timestamptz"); +function normalize_time(time3) { + return time3; +} +__name(normalize_time, "normalize_time"); +function normalize_timez(time3) { + return time3.replace(/[+-]\d{2}(:\d{2})?$/, ""); +} +__name(normalize_timez, "normalize_timez"); +function normalize_money(money) { + return money.slice(1); +} +__name(normalize_money, "normalize_money"); +function normalize_xml(xml) { + return xml; +} +__name(normalize_xml, "normalize_xml"); +function toJson(json2) { + return json2; +} +__name(toJson, "toJson"); +var parsePgBytes = getTypeParser(ScalarColumnType.BYTEA); +var normalizeByteaArray = getTypeParser(ArrayColumnType.BYTEA_ARRAY); +function convertBytes(serializedBytes) { + return parsePgBytes(serializedBytes); +} +__name(convertBytes, "convertBytes"); +function normalizeBit(bit) { + return bit; +} +__name(normalizeBit, "normalizeBit"); +var customParsers = { + [ScalarColumnType.NUMERIC]: normalize_numeric, + [ArrayColumnType.NUMERIC_ARRAY]: normalize_array(normalize_numeric), + [ScalarColumnType.TIME]: normalize_time, + [ArrayColumnType.TIME_ARRAY]: normalize_array(normalize_time), + [ScalarColumnType.TIMETZ]: normalize_timez, + [ScalarColumnType.DATE]: normalize_date, + [ArrayColumnType.DATE_ARRAY]: normalize_array(normalize_date), + [ScalarColumnType.TIMESTAMP]: normalize_timestamp, + [ArrayColumnType.TIMESTAMP_ARRAY]: normalize_array(normalize_timestamp), + [ScalarColumnType.TIMESTAMPTZ]: normalize_timestamptz, + [ArrayColumnType.TIMESTAMPTZ_ARRAY]: normalize_array(normalize_timestamptz), + [ScalarColumnType.MONEY]: normalize_money, + [ArrayColumnType.MONEY_ARRAY]: normalize_array(normalize_money), + [ScalarColumnType.JSON]: toJson, + [ArrayColumnType.JSON_ARRAY]: normalize_array(toJson), + [ScalarColumnType.JSONB]: toJson, + [ArrayColumnType.JSONB_ARRAY]: normalize_array(toJson), + [ScalarColumnType.BYTEA]: convertBytes, + [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray, + [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit), + [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit), + [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml) +}; +function mapArg(arg, argType) { + if (arg === null) { + return null; + } + if (Array.isArray(arg) && argType.arity === "list") { + return arg.map((value) => mapArg(value, argType)); + } + if (typeof arg === "string" && argType.scalarType === "datetime") { + arg = new Date(arg); + } + if (arg instanceof Date) { + switch (argType.dbType) { + case "TIME": + case "TIMETZ": + return formatTime(arg); + case "DATE": + return formatDate(arg); + default: + return formatDateTime(arg); + } + } + if (typeof arg === "string" && argType.scalarType === "bytes") { + return Buffer.from(arg, "base64"); + } + if (ArrayBuffer.isView(arg)) { + return new Uint8Array(arg.buffer, arg.byteOffset, arg.byteLength); + } + return arg; +} +__name(mapArg, "mapArg"); +function formatDateTime(date5) { + const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad"); + const ms = date5.getUTCMilliseconds(); + return pad(date5.getUTCFullYear(), 4) + "-" + pad(date5.getUTCMonth() + 1) + "-" + pad(date5.getUTCDate()) + " " + pad(date5.getUTCHours()) + ":" + pad(date5.getUTCMinutes()) + ":" + pad(date5.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : ""); +} +__name(formatDateTime, "formatDateTime"); +function formatDate(date5) { + const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad"); + return pad(date5.getUTCFullYear(), 4) + "-" + pad(date5.getUTCMonth() + 1) + "-" + pad(date5.getUTCDate()); +} +__name(formatDate, "formatDate"); +function formatTime(date5) { + const pad = /* @__PURE__ */ __name((n3, z2 = 2) => String(n3).padStart(z2, "0"), "pad"); + const ms = date5.getUTCMilliseconds(); + return pad(date5.getUTCHours()) + ":" + pad(date5.getUTCMinutes()) + ":" + pad(date5.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : ""); +} +__name(formatTime, "formatTime"); +var TLS_ERRORS = /* @__PURE__ */ new Set([ + "UNABLE_TO_GET_ISSUER_CERT", + "UNABLE_TO_GET_CRL", + "UNABLE_TO_DECRYPT_CERT_SIGNATURE", + "UNABLE_TO_DECRYPT_CRL_SIGNATURE", + "UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY", + "CERT_SIGNATURE_FAILURE", + "CRL_SIGNATURE_FAILURE", + "CERT_NOT_YET_VALID", + "CERT_HAS_EXPIRED", + "CRL_NOT_YET_VALID", + "CRL_HAS_EXPIRED", + "ERROR_IN_CERT_NOT_BEFORE_FIELD", + "ERROR_IN_CERT_NOT_AFTER_FIELD", + "ERROR_IN_CRL_LAST_UPDATE_FIELD", + "ERROR_IN_CRL_NEXT_UPDATE_FIELD", + "DEPTH_ZERO_SELF_SIGNED_CERT", + "SELF_SIGNED_CERT_IN_CHAIN", + "UNABLE_TO_GET_ISSUER_CERT_LOCALLY", + "UNABLE_TO_VERIFY_LEAF_SIGNATURE", + "CERT_CHAIN_TOO_LONG", + "CERT_REVOKED", + "INVALID_CA", + "INVALID_PURPOSE", + "CERT_UNTRUSTED", + "CERT_REJECTED", + "HOSTNAME_MISMATCH", + "ERR_TLS_CERT_ALTNAME_FORMAT", + "ERR_TLS_CERT_ALTNAME_INVALID" +]); +var SOCKET_ERRORS = /* @__PURE__ */ new Set(["ENOTFOUND", "ECONNREFUSED", "ECONNRESET", "ETIMEDOUT"]); +function convertDriverError(error62) { + if (isSocketError(error62)) { + return mapSocketError(error62); + } + if (isTlsError(error62)) { + return { + kind: "TlsConnectionError", + reason: error62.message + }; + } + if (isDriverError(error62)) { + return { + originalCode: error62.code, + originalMessage: error62.message, + ...mapDriverError(error62) + }; + } + throw error62; +} +__name(convertDriverError, "convertDriverError"); +function mapDriverError(error62) { + switch (error62.code) { + case "22001": + return { + kind: "LengthMismatch", + column: error62.column + }; + case "22003": + return { + kind: "ValueOutOfRange", + cause: error62.message + }; + case "22P02": + return { + kind: "InvalidInputValue", + message: error62.message + }; + case "23505": { + const fields = error62.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", "); + let constraint; + if (error62.constraint) { + constraint = { index: error62.constraint }; + } else if (fields !== void 0) { + constraint = { fields }; + } + let table = error62.table; + if (table === void 0 && fields !== void 0 && fields.length > 0) { + const suffix = `_${fields.join("_")}_key`; + if (error62.constraint?.endsWith(suffix)) { + table = error62.constraint.slice(0, -suffix.length); + } + } + return { + kind: "UniqueConstraintViolation", + constraint, + table + }; + } + case "23502": { + const fields = error62.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", "); + return { + kind: "NullConstraintViolation", + constraint: fields !== void 0 ? { fields } : void 0 + }; + } + case "23503": { + let constraint; + if (error62.column) { + constraint = { fields: [error62.column] }; + } else if (error62.constraint) { + constraint = { index: error62.constraint }; + } + return { + kind: "ForeignKeyConstraintViolation", + constraint + }; + } + case "23001": { + let constraint; + if (error62.column) { + constraint = { fields: [error62.column] }; + } else if (error62.constraint) { + constraint = { index: error62.constraint }; + } + return { + kind: "RestrictViolation", + constraint + }; + } + case "3D000": + return { + kind: "DatabaseDoesNotExist", + db: error62.message.split(" ").at(1)?.split('"').at(1) + }; + case "28000": + return { + kind: "DatabaseAccessDenied", + db: error62.message.split(",").find((s2) => s2.startsWith(" database"))?.split('"').at(1) + }; + case "28P01": + return { + kind: "AuthenticationFailed", + user: error62.message.split(" ").pop()?.split('"').at(1) + }; + case "40001": + case "40P01": + return { + kind: "TransactionWriteConflict" + }; + case "42P01": + return { + kind: "TableDoesNotExist", + table: error62.message.split(" ").at(1)?.split('"').at(1) + }; + case "42703": { + const rawColumn = error62.message.match(/^column (.+) does not exist$/)?.at(1); + return { + kind: "ColumnNotFound", + column: rawColumn?.replace(/"((?:""|[^"])*)"/g, (_, id) => id.replaceAll('""', '"')) + }; + } + case "42P04": + return { + kind: "DatabaseAlreadyExists", + db: error62.message.split(" ").at(1)?.split('"').at(1) + }; + case "53300": + return { + kind: "TooManyConnections", + cause: error62.message + }; + default: + return { + kind: "postgres", + code: error62.code ?? "N/A", + severity: error62.severity ?? "N/A", + message: error62.message, + detail: error62.detail, + column: error62.column, + hint: error62.hint + }; + } +} +__name(mapDriverError, "mapDriverError"); +function isDriverError(error62) { + return typeof error62.code === "string" && typeof error62.message === "string" && typeof error62.severity === "string" && (typeof error62.detail === "string" || error62.detail === void 0) && (typeof error62.column === "string" || error62.column === void 0) && (typeof error62.hint === "string" || error62.hint === void 0); +} +__name(isDriverError, "isDriverError"); +function mapSocketError(error62) { + switch (error62.code) { + case "ENOTFOUND": + case "ECONNREFUSED": + return { + kind: "DatabaseNotReachable", + host: error62.address ?? error62.hostname, + port: error62.port + }; + case "ECONNRESET": + return { + kind: "ConnectionClosed" + }; + case "ETIMEDOUT": + return { + kind: "SocketTimeout" + }; + } +} +__name(mapSocketError, "mapSocketError"); +function isSocketError(error62) { + return typeof error62.code === "string" && typeof error62.syscall === "string" && typeof error62.errno === "number" && SOCKET_ERRORS.has(error62.code); +} +__name(isSocketError, "isSocketError"); +function isTlsError(error62) { + if (typeof error62.code === "string") { + return TLS_ERRORS.has(error62.code); + } + switch (error62.message) { + case "The server does not support SSL connections": + case "There was an error establishing an SSL connection": + return true; + } + return false; +} +__name(isTlsError, "isTlsError"); +var types2 = esm_default.types; +var debug2 = Debug2("prisma:driver-adapter:pg"); +var PgQueryable = class { + static { + __name(this, "PgQueryable"); + } + constructor(client, pgOptions) { + this.client = client; + this.pgOptions = pgOptions; + } + provider = "postgres"; + adapterName = name; + /** + * Execute a query given as SQL, interpolating the given parameters. + */ + async queryRaw(query) { + const tag = "[js::query_raw]"; + debug2(`${tag} %O`, query); + const { fields, rows } = await this.performIO(query); + const columnNames = fields.map((field) => field.name); + let columnTypes = []; + try { + columnTypes = fields.map((field) => fieldToColumnType(field.dataTypeID)); + } catch (e5) { + if (e5 instanceof UnsupportedNativeDataType) { + throw new DriverAdapterError({ + kind: "UnsupportedNativeDataType", + type: e5.type + }); + } + throw e5; + } + const udtParser = this.pgOptions?.userDefinedTypeParser; + if (udtParser) { + for (let i5 = 0; i5 < fields.length; i5++) { + const field = fields[i5]; + if (field.dataTypeID >= FIRST_NORMAL_OBJECT_ID && !Object.hasOwn(customParsers, field.dataTypeID)) { + for (let j5 = 0; j5 < rows.length; j5++) { + rows[j5][i5] = await udtParser(field.dataTypeID, rows[j5][i5], this); + } + } + } + } + return { + columnNames, + columnTypes, + rows + }; + } + /** + * Execute a query given as SQL, interpolating the given parameters and + * returning the number of affected rows. + * Note: Queryable expects a u64, but napi.rs only supports u32. + */ + async executeRaw(query) { + const tag = "[js::execute_raw]"; + debug2(`${tag} %O`, query); + return (await this.performIO(query)).rowCount ?? 0; + } + /** + * Run a query against the database, returning the result set. + * Should the query fail due to a connection error, the connection is + * marked as unhealthy. + */ + async performIO(query) { + const { sql: sql2, args } = query; + const values = args.map((arg, i5) => mapArg(arg, query.argTypes[i5])); + try { + const result = await this.client.query({ + name: this.pgOptions?.statementNameGenerator?.(query), + text: sql2, + values, + rowMode: "array", + types: { + getTypeParser: /* @__PURE__ */ __name((oid, format) => { + if (format === "text" && customParsers[oid]) { + return customParsers[oid]; + } + return types2.getTypeParser(oid, format); + }, "getTypeParser") + } + }); + return result; + } catch (e5) { + this.onError(e5); + } + } + onError(error62) { + debug2("Error in performIO: %O", error62); + throw new DriverAdapterError(convertDriverError(error62)); + } +}; +var PgTransaction = class extends PgQueryable { + static { + __name(this, "PgTransaction"); + } + constructor(client, options, pgOptions, cleanup) { + super(client, pgOptions); + this.options = options; + this.pgOptions = pgOptions; + this.cleanup = cleanup; + } + async commit() { + debug2(`[js::commit]`); + this.cleanup?.(); + this.client.release(); + } + async rollback() { + debug2(`[js::rollback]`); + this.cleanup?.(); + this.client.release(); + } + async createSavepoint(name2) { + await this.executeRaw({ sql: `SAVEPOINT ${name2}`, args: [], argTypes: [] }); + } + async rollbackToSavepoint(name2) { + await this.executeRaw({ sql: `ROLLBACK TO SAVEPOINT ${name2}`, args: [], argTypes: [] }); + } + async releaseSavepoint(name2) { + await this.executeRaw({ sql: `RELEASE SAVEPOINT ${name2}`, args: [], argTypes: [] }); + } +}; +var PrismaPgAdapter = class extends PgQueryable { + static { + __name(this, "PrismaPgAdapter"); + } + constructor(client, pgOptions, release2) { + super(client); + this.pgOptions = pgOptions; + this.release = release2; + } + async startTransaction(isolationLevel) { + const options = { + usePhantomQuery: false + }; + const tag = "[js::startTransaction]"; + debug2("%s options: %O", tag, options); + const conn = await this.client.connect().catch((error62) => this.onError(error62)); + const onError = /* @__PURE__ */ __name((err) => { + debug2(`Error from pool connection: ${err.message} %O`, err); + this.pgOptions?.onConnectionError?.(err); + }, "onError"); + conn.on("error", onError); + const cleanup = /* @__PURE__ */ __name(() => { + conn.removeListener("error", onError); + }, "cleanup"); + try { + const tx = new PgTransaction(conn, options, this.pgOptions, cleanup); + await tx.executeRaw({ sql: "BEGIN", args: [], argTypes: [] }); + if (isolationLevel) { + await tx.executeRaw({ + sql: `SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`, + args: [], + argTypes: [] + }); + } + return tx; + } catch (error62) { + cleanup(); + conn.release(error62); + this.onError(error62); + } + } + async executeScript(script) { + const statements = script.split(";").map((stmt) => stmt.trim()).filter((stmt) => stmt.length > 0); + for (const stmt of statements) { + try { + await this.client.query(stmt); + } catch (error62) { + this.onError(error62); + } + } + } + getConnectionInfo() { + return { + schemaName: this.pgOptions?.schema, + supportsRelationJoins: true + }; + } + async dispose() { + return this.release?.(); + } + underlyingDriver() { + return this.client; + } +}; +var PrismaPgAdapterFactory = class { + static { + __name(this, "PrismaPgAdapterFactory"); + } + constructor(poolOrConfig, options) { + this.options = options; + if (poolOrConfig instanceof esm_default.Pool) { + this.externalPool = poolOrConfig; + this.config = poolOrConfig.options; + } else if (typeof poolOrConfig === "string") { + this.externalPool = null; + this.config = { connectionString: poolOrConfig }; + } else { + this.externalPool = null; + this.config = poolOrConfig; + } + } + provider = "postgres"; + adapterName = name; + config; + externalPool; + async connect() { + const client = this.externalPool ?? new esm_default.Pool(this.config); + const onIdleClientError = /* @__PURE__ */ __name((err) => { + debug2(`Error from idle pool client: ${err.message} %O`, err); + this.options?.onPoolError?.(err); + }, "onIdleClientError"); + client.on("error", onIdleClientError); + return new PrismaPgAdapter(client, this.options, async () => { + if (this.externalPool) { + if (this.options?.disposeExternalPool) { + await this.externalPool.end(); + this.externalPool = null; + } else { + this.externalPool.removeListener("error", onIdleClientError); + } + } else { + await client.end(); + } + }); + } + async connectToShadowDb() { + const conn = await this.connect(); + const database = `prisma_migrate_shadow_db_${globalThis.crypto.randomUUID()}`; + await conn.executeScript(`CREATE DATABASE "${database}"`); + const client = new esm_default.Pool({ ...this.config, database }); + return new PrismaPgAdapter(client, void 0, async () => { + await conn.executeScript(`DROP DATABASE "${database}"`); + await client.end(); + }); + } +}; + +// dist/generated/prisma/client.js +import * as path from "node:path"; +import { fileURLToPath } from "node:url"; + +// dist/generated/prisma/internal/class.js +var runtime = __toESM(require_client(), 1); +var config2 = { + "previewFeatures": [], + "clientVersion": "7.10.1", + "engineVersion": "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8", + "activeProvider": "postgresql", + "inlineSchema": 'generator client {\n provider = "prisma-client"\n output = "../src/generated/prisma"\n moduleFormat = "esm"\n importFileExtension = "js"\n}\n\ndatasource db {\n provider = "postgresql"\n}\n\nenum Role {\n ADMIN\n EDITOR\n}\n\nenum MessageStatus {\n NEW\n READ\n ARCHIVED\n}\n\nmodel AdminUser {\n id Int @id @default(autoincrement())\n phone String @unique\n name String\n passwordHash String\n role Role @default(EDITOR)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n refreshTokens RefreshToken[]\n auditLogs AuditLog[]\n}\n\nmodel RefreshToken {\n id Int @id @default(autoincrement())\n userId Int\n user AdminUser @relation(fields: [userId], references: [id], onDelete: Cascade)\n /// sha256 of the opaque token stored in the httpOnly cookie\n tokenHash String @unique\n expiresAt DateTime\n revokedAt DateTime?\n userAgent String @default("")\n createdAt DateTime @default(now())\n\n @@index([userId])\n}\n\nmodel Media {\n id Int @id @default(autoincrement())\n /// object key in the S3 bucket; the public URL is MEDIA_PUBLIC_URL + "/" + key\n key String @unique\n mime String\n size Int\n width Int?\n height Int?\n alt String @default("")\n originalName String @default("")\n createdAt DateTime @default(now())\n categoryCovers Category[] @relation("CategoryCover")\n productImages Product[] @relation("ProductImage")\n productGallery ProductImage[]\n}\n\nmodel Category {\n id Int @id @default(autoincrement())\n slug String @unique\n code String\n name String\n nameEn String @default("")\n shortDesc String @default("")\n fullDesc String @default("")\n /// Lucide icon name\n icon String @default("")\n coverImageId Int?\n coverImage Media? @relation("CategoryCover", fields: [coverImageId], references: [id], onDelete: SetNull)\n sortOrder Int @default(0)\n isPublished Boolean @default(true)\n seoTitle String @default("")\n seoDescription String @default("")\n groups ProductGroup[]\n products Product[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([sortOrder])\n}\n\nmodel ProductGroup {\n id Int @id @default(autoincrement())\n categoryId Int\n category Category @relation(fields: [categoryId], references: [id], onDelete: Cascade)\n slug String\n name String\n desc String @default("")\n sortOrder Int @default(0)\n products Product[]\n\n @@unique([categoryId, slug])\n}\n\nmodel Product {\n id Int @id @default(autoincrement())\n categoryId Int\n category Category @relation(fields: [categoryId], references: [id], onDelete: Restrict)\n groupId Int?\n group ProductGroup? @relation(fields: [groupId], references: [id], onDelete: SetNull)\n code String @unique\n slug String @unique\n name String\n nameEn String @default("")\n desc String @default("")\n specs String[]\n variants String[]\n /// long description for the product page; a blank line starts a new paragraph\n details String @default("")\n brand String @default("")\n /// country of manufacture\n origin String @default("")\n sizes String[] @default([])\n standards String[] @default([])\n features String[] @default([])\n applications String[] @default([])\n /// technical specification table: [{ "name": "...", "value": "..." }]\n attributes Json @default("[]")\n packaging String @default("")\n minOrder String @default("")\n seoTitle String @default("")\n seoDescription String @default("")\n imageId Int?\n image Media? @relation("ProductImage", fields: [imageId], references: [id], onDelete: SetNull)\n gallery ProductImage[]\n sortOrder Int @default(0)\n isPublished Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([categoryId, sortOrder])\n}\n\nmodel ProductImage {\n productId Int\n mediaId Int\n sortOrder Int @default(0)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n media Media @relation(fields: [mediaId], references: [id], onDelete: Cascade)\n\n @@id([productId, mediaId])\n}\n\n/// One row per editable website section; `data` is validated by the zod schema for `key` (@imen/shared)\nmodel SiteSection {\n key String @id\n data Json\n updatedById Int?\n updatedAt DateTime @updatedAt\n}\n\nmodel ContactMessage {\n id Int @id @default(autoincrement())\n name String\n org String\n phone String\n message String @default("")\n status MessageStatus @default(NEW)\n ip String @default("")\n userAgent String @default("")\n createdAt DateTime @default(now())\n\n @@index([status, createdAt])\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n userId Int?\n user AdminUser? @relation(fields: [userId], references: [id], onDelete: SetNull)\n /// create | update | delete | login ...\n action String\n /// product | category | section | media | user | message\n entity String\n entityId String @default("")\n summary String @default("")\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n', + "runtimeDataModel": { + "models": {}, + "enums": {}, + "types": {} + }, + "parameterizationSchema": { + "strings": [], + "graph": "" + } +}; +config2.runtimeDataModel = JSON.parse('{"models":{"AdminUser":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"phone","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"passwordHash","kind":"scalar","type":"String"},{"name":"role","kind":"enum","type":"Role"},{"name":"isActive","kind":"scalar","type":"Boolean"},{"name":"lastLoginAt","kind":"scalar","type":"DateTime"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"},{"name":"refreshTokens","kind":"object","type":"RefreshToken","relationName":"AdminUserToRefreshToken"},{"name":"auditLogs","kind":"object","type":"AuditLog","relationName":"AdminUserToAuditLog"}],"dbName":null,"schema":null},"RefreshToken":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"userId","kind":"scalar","type":"Int"},{"name":"user","kind":"object","type":"AdminUser","relationName":"AdminUserToRefreshToken"},{"name":"tokenHash","kind":"scalar","type":"String"},{"name":"expiresAt","kind":"scalar","type":"DateTime"},{"name":"revokedAt","kind":"scalar","type":"DateTime"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"Media":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"key","kind":"scalar","type":"String"},{"name":"mime","kind":"scalar","type":"String"},{"name":"size","kind":"scalar","type":"Int"},{"name":"width","kind":"scalar","type":"Int"},{"name":"height","kind":"scalar","type":"Int"},{"name":"alt","kind":"scalar","type":"String"},{"name":"originalName","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"categoryCovers","kind":"object","type":"Category","relationName":"CategoryCover"},{"name":"productImages","kind":"object","type":"Product","relationName":"ProductImage"},{"name":"productGallery","kind":"object","type":"ProductImage","relationName":"MediaToProductImage"}],"dbName":null,"schema":null},"Category":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"slug","kind":"scalar","type":"String"},{"name":"code","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"nameEn","kind":"scalar","type":"String"},{"name":"shortDesc","kind":"scalar","type":"String"},{"name":"fullDesc","kind":"scalar","type":"String"},{"name":"icon","kind":"scalar","type":"String"},{"name":"coverImageId","kind":"scalar","type":"Int"},{"name":"coverImage","kind":"object","type":"Media","relationName":"CategoryCover"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"isPublished","kind":"scalar","type":"Boolean"},{"name":"seoTitle","kind":"scalar","type":"String"},{"name":"seoDescription","kind":"scalar","type":"String"},{"name":"groups","kind":"object","type":"ProductGroup","relationName":"CategoryToProductGroup"},{"name":"products","kind":"object","type":"Product","relationName":"CategoryToProduct"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ProductGroup":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"categoryId","kind":"scalar","type":"Int"},{"name":"category","kind":"object","type":"Category","relationName":"CategoryToProductGroup"},{"name":"slug","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"desc","kind":"scalar","type":"String"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"products","kind":"object","type":"Product","relationName":"ProductToProductGroup"}],"dbName":null,"schema":null},"Product":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"categoryId","kind":"scalar","type":"Int"},{"name":"category","kind":"object","type":"Category","relationName":"CategoryToProduct"},{"name":"groupId","kind":"scalar","type":"Int"},{"name":"group","kind":"object","type":"ProductGroup","relationName":"ProductToProductGroup"},{"name":"code","kind":"scalar","type":"String"},{"name":"slug","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"nameEn","kind":"scalar","type":"String"},{"name":"desc","kind":"scalar","type":"String"},{"name":"specs","kind":"scalar","type":"String"},{"name":"variants","kind":"scalar","type":"String"},{"name":"details","kind":"scalar","type":"String"},{"name":"brand","kind":"scalar","type":"String"},{"name":"origin","kind":"scalar","type":"String"},{"name":"sizes","kind":"scalar","type":"String"},{"name":"standards","kind":"scalar","type":"String"},{"name":"features","kind":"scalar","type":"String"},{"name":"applications","kind":"scalar","type":"String"},{"name":"attributes","kind":"scalar","type":"Json"},{"name":"packaging","kind":"scalar","type":"String"},{"name":"minOrder","kind":"scalar","type":"String"},{"name":"seoTitle","kind":"scalar","type":"String"},{"name":"seoDescription","kind":"scalar","type":"String"},{"name":"imageId","kind":"scalar","type":"Int"},{"name":"image","kind":"object","type":"Media","relationName":"ProductImage"},{"name":"gallery","kind":"object","type":"ProductImage","relationName":"ProductToProductImage"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"isPublished","kind":"scalar","type":"Boolean"},{"name":"createdAt","kind":"scalar","type":"DateTime"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ProductImage":{"fields":[{"name":"productId","kind":"scalar","type":"Int"},{"name":"mediaId","kind":"scalar","type":"Int"},{"name":"sortOrder","kind":"scalar","type":"Int"},{"name":"product","kind":"object","type":"Product","relationName":"ProductToProductImage"},{"name":"media","kind":"object","type":"Media","relationName":"MediaToProductImage"}],"dbName":null,"schema":null},"SiteSection":{"fields":[{"name":"key","kind":"scalar","type":"String"},{"name":"data","kind":"scalar","type":"Json"},{"name":"updatedById","kind":"scalar","type":"Int"},{"name":"updatedAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"ContactMessage":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"name","kind":"scalar","type":"String"},{"name":"org","kind":"scalar","type":"String"},{"name":"phone","kind":"scalar","type":"String"},{"name":"message","kind":"scalar","type":"String"},{"name":"status","kind":"enum","type":"MessageStatus"},{"name":"ip","kind":"scalar","type":"String"},{"name":"userAgent","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null},"AuditLog":{"fields":[{"name":"id","kind":"scalar","type":"Int"},{"name":"userId","kind":"scalar","type":"Int"},{"name":"user","kind":"object","type":"AdminUser","relationName":"AdminUserToAuditLog"},{"name":"action","kind":"scalar","type":"String"},{"name":"entity","kind":"scalar","type":"String"},{"name":"entityId","kind":"scalar","type":"String"},{"name":"summary","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime"}],"dbName":null,"schema":null}},"enums":{},"types":{}}'); +config2.parameterizationSchema = { + strings: JSON.parse('["where","orderBy","cursor","user","refreshTokens","auditLogs","_count","AdminUser.findUnique","AdminUser.findUniqueOrThrow","AdminUser.findFirst","AdminUser.findFirstOrThrow","AdminUser.findMany","data","AdminUser.createOne","AdminUser.createMany","AdminUser.createManyAndReturn","AdminUser.updateOne","AdminUser.updateMany","AdminUser.updateManyAndReturn","create","update","AdminUser.upsertOne","AdminUser.deleteOne","AdminUser.deleteMany","having","_avg","_sum","_min","_max","AdminUser.groupBy","AdminUser.aggregate","RefreshToken.findUnique","RefreshToken.findUniqueOrThrow","RefreshToken.findFirst","RefreshToken.findFirstOrThrow","RefreshToken.findMany","RefreshToken.createOne","RefreshToken.createMany","RefreshToken.createManyAndReturn","RefreshToken.updateOne","RefreshToken.updateMany","RefreshToken.updateManyAndReturn","RefreshToken.upsertOne","RefreshToken.deleteOne","RefreshToken.deleteMany","RefreshToken.groupBy","RefreshToken.aggregate","coverImage","category","group","image","product","media","gallery","products","groups","categoryCovers","productImages","productGallery","Media.findUnique","Media.findUniqueOrThrow","Media.findFirst","Media.findFirstOrThrow","Media.findMany","Media.createOne","Media.createMany","Media.createManyAndReturn","Media.updateOne","Media.updateMany","Media.updateManyAndReturn","Media.upsertOne","Media.deleteOne","Media.deleteMany","Media.groupBy","Media.aggregate","Category.findUnique","Category.findUniqueOrThrow","Category.findFirst","Category.findFirstOrThrow","Category.findMany","Category.createOne","Category.createMany","Category.createManyAndReturn","Category.updateOne","Category.updateMany","Category.updateManyAndReturn","Category.upsertOne","Category.deleteOne","Category.deleteMany","Category.groupBy","Category.aggregate","ProductGroup.findUnique","ProductGroup.findUniqueOrThrow","ProductGroup.findFirst","ProductGroup.findFirstOrThrow","ProductGroup.findMany","ProductGroup.createOne","ProductGroup.createMany","ProductGroup.createManyAndReturn","ProductGroup.updateOne","ProductGroup.updateMany","ProductGroup.updateManyAndReturn","ProductGroup.upsertOne","ProductGroup.deleteOne","ProductGroup.deleteMany","ProductGroup.groupBy","ProductGroup.aggregate","Product.findUnique","Product.findUniqueOrThrow","Product.findFirst","Product.findFirstOrThrow","Product.findMany","Product.createOne","Product.createMany","Product.createManyAndReturn","Product.updateOne","Product.updateMany","Product.updateManyAndReturn","Product.upsertOne","Product.deleteOne","Product.deleteMany","Product.groupBy","Product.aggregate","ProductImage.findUnique","ProductImage.findUniqueOrThrow","ProductImage.findFirst","ProductImage.findFirstOrThrow","ProductImage.findMany","ProductImage.createOne","ProductImage.createMany","ProductImage.createManyAndReturn","ProductImage.updateOne","ProductImage.updateMany","ProductImage.updateManyAndReturn","ProductImage.upsertOne","ProductImage.deleteOne","ProductImage.deleteMany","ProductImage.groupBy","ProductImage.aggregate","SiteSection.findUnique","SiteSection.findUniqueOrThrow","SiteSection.findFirst","SiteSection.findFirstOrThrow","SiteSection.findMany","SiteSection.createOne","SiteSection.createMany","SiteSection.createManyAndReturn","SiteSection.updateOne","SiteSection.updateMany","SiteSection.updateManyAndReturn","SiteSection.upsertOne","SiteSection.deleteOne","SiteSection.deleteMany","SiteSection.groupBy","SiteSection.aggregate","ContactMessage.findUnique","ContactMessage.findUniqueOrThrow","ContactMessage.findFirst","ContactMessage.findFirstOrThrow","ContactMessage.findMany","ContactMessage.createOne","ContactMessage.createMany","ContactMessage.createManyAndReturn","ContactMessage.updateOne","ContactMessage.updateMany","ContactMessage.updateManyAndReturn","ContactMessage.upsertOne","ContactMessage.deleteOne","ContactMessage.deleteMany","ContactMessage.groupBy","ContactMessage.aggregate","AuditLog.findUnique","AuditLog.findUniqueOrThrow","AuditLog.findFirst","AuditLog.findFirstOrThrow","AuditLog.findMany","AuditLog.createOne","AuditLog.createMany","AuditLog.createManyAndReturn","AuditLog.updateOne","AuditLog.updateMany","AuditLog.updateManyAndReturn","AuditLog.upsertOne","AuditLog.deleteOne","AuditLog.deleteMany","AuditLog.groupBy","AuditLog.aggregate","AND","OR","NOT","id","userId","action","entity","entityId","summary","createdAt","equals","in","notIn","lt","lte","gt","gte","not","contains","startsWith","endsWith","name","org","phone","message","MessageStatus","status","ip","userAgent","key","updatedById","updatedAt","string_contains","string_starts_with","string_ends_with","array_starts_with","array_ends_with","array_contains","productId","mediaId","sortOrder","categoryId","groupId","code","slug","nameEn","desc","specs","variants","details","brand","origin","sizes","standards","features","applications","attributes","packaging","minOrder","seoTitle","seoDescription","imageId","isPublished","has","hasEvery","hasSome","shortDesc","fullDesc","icon","coverImageId","mime","size","width","height","alt","originalName","productId_mediaId","every","some","none","categoryId_slug","tokenHash","expiresAt","revokedAt","passwordHash","Role","role","isActive","lastLoginAt","is","isNot","connectOrCreate","upsert","createMany","set","disconnect","delete","connect","updateMany","deleteMany","push","increment","decrement","multiply","divide"]'), + graph: "8ARqoAEOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgAAAAHEAUAAsAIAIdABAQCuAgAh0gEBAAAAAdoBQACwAgAhjwIBAK4CACGRAgAA2gKRAiKSAiAAxQIAIZMCQADbAgAhAQAAAAEAIAsDAADhAgAguwEAAOACADC8AQAAAwAQvQEAAOACADC-AQIArQIAIb8BAgCtAgAhxAFAALACACHXAQEArgIAIYwCAQCuAgAhjQJAALACACGOAkAA2wIAIQIDAAC6BAAgjgIAAOICACALAwAA4QIAILsBAADgAgAwvAEAAAMAEL0BAADgAgAwvgECAAAAAb8BAgCtAgAhxAFAALACACHXAQEArgIAIYwCAQAAAAGNAkAAsAIAIY4CQADbAgAhAwAAAAMAIAEAAAQAMAIAAAUAIAsDAADfAgAguwEAAN4CADC8AQAABwAQvQEAAN4CADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQIDAAC6BAAgvwEAAOICACALAwAA3wIAILsBAADeAgAwvAEAAAcAEL0BAADeAgAwvgECAAAAAb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQMAAAAHACABAAAIADACAAAJACAOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdIBAQCuAgAh2gFAALACACGPAgEArgIAIZECAADaApECIpICIADFAgAhkwJAANsCACEBAAAACwAgAQAAAAMAIAEAAAAHACABAAAAAQAgAwQAALgEACAFAAC5BAAgkwIAAOICACADAAAACwAgAQAAEAAwAgAAAQAgAwAAAAsAIAEAABAAMAIAAAEAIAMAAAALACABAAAQADACAAABACALBAAAtgQAIAUAALcEACC-AQIAAAABxAFAAAAAAdABAQAAAAHSAQEAAAAB2gFAAAAAAY8CAQAAAAGRAgAAAJECApICIAAAAAGTAkAAAAABAQwAABQAIAm-AQIAAAABxAFAAAAAAdABAQAAAAHSAQEAAAAB2gFAAAAAAY8CAQAAAAGRAgAAAJECApICIAAAAAGTAkAAAAABAQwAABYAMAEMAAAWADALBAAAnAQAIAUAAJ0EACC-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHSAQEA6AIAIdoBQADpAgAhjwIBAOgCACGRAgAAmwSRAiKSAiAAjQMAIZMCQACTBAAhAgAAAAEAIAwAABkAIAm-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHSAQEA6AIAIdoBQADpAgAhjwIBAOgCACGRAgAAmwSRAiKSAiAAjQMAIZMCQACTBAAhAgAAAAsAIAwAABsAIAIAAAALACAMAAAbACADAAAAAQAgEwAAFAAgFAAAGQAgAQAAAAEAIAEAAAALACAGBgAAlgQAIBkAAJcEACAaAACaBAAgGwAAmQQAIBwAAJgEACCTAgAA4gIAIAy7AQAA1QIAMLwBAAAiABC9AQAA1QIAML4BAgCaAgAhxAFAAJ0CACHQAQEAnAIAIdIBAQCcAgAh2gFAAJ0CACGPAgEAnAIAIZECAADWApECIpICIAC6AgAhkwJAANICACEDAAAACwAgAQAAIQAwGAAAIgAgAwAAAAsAIAEAABAAMAIAAAEAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgCAMAAJUEACC-AQIAAAABvwECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABAQwAACoAIAe-AQIAAAABvwECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABAQwAACwAMAEMAAAsADAIAwAAlAQAIL4BAgDqAgAhvwECAOoCACHEAUAA6QIAIdcBAQDoAgAhjAIBAOgCACGNAkAA6QIAIY4CQACTBAAhAgAAAAUAIAwAAC8AIAe-AQIA6gIAIb8BAgDqAgAhxAFAAOkCACHXAQEA6AIAIYwCAQDoAgAhjQJAAOkCACGOAkAAkwQAIQIAAAADACAMAAAxACACAAAAAwAgDAAAMQAgAwAAAAUAIBMAACoAIBQAAC8AIAEAAAAFACABAAAAAwAgBgYAAI4EACAZAACPBAAgGgAAkgQAIBsAAJEEACAcAACQBAAgjgIAAOICACAKuwEAANECADC8AQAAOAAQvQEAANECADC-AQIAmgIAIb8BAgCaAgAhxAFAAJ0CACHXAQEAnAIAIYwCAQCcAgAhjQJAAJ0CACGOAkAA0gIAIQMAAAADACABAAA3ADAYAAA4ACADAAAAAwAgAQAABAAwAgAABQAgDzgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAAAAAcQBQACwAgAh2AEBAAAAAYECAQCuAgAhggICAK0CACGDAgIAtgIAIYQCAgC2AgAhhQIBAK4CACGGAgEArgIAIQEAAAA7ACAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHaAUAAsAIAIeMBAgCtAgAh5gEBAK4CACHnAQEArgIAIegBAQCuAgAh9gEBAK4CACH3AQEArgIAIfkBIADFAgAh_QEBAK4CACH-AQEArgIAIf8BAQCuAgAhgAICALYCACEELwAAigQAIDYAAIcEACA3AACNBAAggAIAAOICACAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIAAAABxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQAAAAHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhAwAAAD0AIAEAAD4AMAIAAD8AIA84AADOAgAgOQAAzAIAIDoAAMkCACC7AQAAzQIAMLwBAABBABC9AQAAzQIAML4BAgCtAgAhxAFAALACACHYAQEArgIAIYECAQCuAgAhggICAK0CACGDAgIAtgIAIYQCAgC2AgAhhQIBAK4CACGGAgEArgIAIQEAAABBACALMAAAxgIAIDYAAMwCACC7AQAAywIAMLwBAABDABC9AQAAywIAML4BAgCtAgAh0AEBAK4CACHjAQIArQIAIeQBAgCtAgAh5wEBAK4CACHpAQEArgIAIQIwAACLBAAgNgAAhwQAIAwwAADGAgAgNgAAzAIAILsBAADLAgAwvAEAAEMAEL0BAADLAgAwvgECAAAAAdABAQCuAgAh4wECAK0CACHkAQIArQIAIecBAQCuAgAh6QEBAK4CACGLAgAAygIAIAMAAABDACABAABEADACAABFACAiMAAAxgIAIDEAAMcCACAyAADIAgAgNQAAyQIAILsBAADEAgAwvAEAAEcAEL0BAADEAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhBjAAAIsEACAxAACMBAAgMgAAigQAIDUAAIgEACDlAQAA4gIAIPgBAADiAgAgIjAAAMYCACAxAADHAgAgMgAAyAIAIDUAAMkCACC7AQAAxAIAMLwBAABHABC9AQAAxAIAML4BAgAAAAHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEAAAAB5wEBAAAAAegBAQCuAgAh6QEBAK4CACHqAQAAuQIAIOsBAAC5AgAg7AEBAK4CACHtAQEArgIAIe4BAQCuAgAh7wEAALkCACDwAQAAuQIAIPEBAAC5AgAg8gEAALkCACDzAQAAtQIAIPQBAQCuAgAh9QEBAK4CACH2AQEArgIAIfcBAQCuAgAh-AECALYCACH5ASAAxQIAIQMAAABHACABAABIADACAABJACABAAAAQwAgAQAAAEEAIAgzAADCAgAgNAAAwwIAILsBAADBAgAwvAEAAE0AEL0BAADBAgAw4QECAK0CACHiAQIArQIAIeMBAgCtAgAhAjMAAIkEACA0AACKBAAgCTMAAMICACA0AADDAgAguwEAAMECADC8AQAATQAQvQEAAMECADDhAQIArQIAIeIBAgCtAgAh4wECAK0CACGHAgAAwAIAIAMAAABNACABAABOADACAABPACABAAAATQAgAQAAAEcAIAMAAABHACABAABIADACAABJACABAAAAQwAgAQAAAEcAIAMAAABHACABAABIADACAABJACADAAAATQAgAQAATgAwAgAATwAgAQAAAD0AIAEAAABHACABAAAATQAgAQAAADsAIAU4AACGBAAgOQAAhwQAIDoAAIgEACCDAgAA4gIAIIQCAADiAgAgAwAAAEEAIAEAAFwAMAIAADsAIAMAAABBACABAABcADACAAA7ACADAAAAQQAgAQAAXAAwAgAAOwAgDDgAAIMEACA5AACEBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQEMAABgACAJvgECAAAAAcQBQAAAAAHYAQEAAAABgQIBAAAAAYICAgAAAAGDAgIAAAABhAICAAAAAYUCAQAAAAGGAgEAAAABAQwAAGIAMAEMAABiADAMOAAA4gMAIDkAAOMDACA6AADkAwAgvgECAOoCACHEAUAA6QIAIdgBAQDoAgAhgQIBAOgCACGCAgIA6gIAIYMCAgDrAgAhhAICAOsCACGFAgEA6AIAIYYCAQDoAgAhAgAAADsAIAwAAGUAIAm-AQIA6gIAIcQBQADpAgAh2AEBAOgCACGBAgEA6AIAIYICAgDqAgAhgwICAOsCACGEAgIA6wIAIYUCAQDoAgAhhgIBAOgCACECAAAAQQAgDAAAZwAgAgAAAEEAIAwAAGcAIAMAAAA7ACATAABgACAUAABlACABAAAAOwAgAQAAAEEAIAcGAADdAwAgGQAA3gMAIBoAAOEDACAbAADgAwAgHAAA3wMAIIMCAADiAgAghAIAAOICACAMuwEAAL8CADC8AQAAbgAQvQEAAL8CADC-AQIAmgIAIcQBQACdAgAh2AEBAJwCACGBAgEAnAIAIYICAgCaAgAhgwICAJsCACGEAgIAmwIAIYUCAQCcAgAhhgIBAJwCACEDAAAAQQAgAQAAbQAwGAAAbgAgAwAAAEEAIAEAAFwAMAIAADsAIAEAAAA_ACABAAAAPwAgAwAAAD0AIAEAAD4AMAIAAD8AIAMAAAA9ACABAAA-ADACAAA_ACADAAAAPQAgAQAAPgAwAgAAPwAgEi8AANoDACA2AADcAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQEMAAB2ACAPvgECAAAAAcQBQAAAAAHQAQEAAAAB2gFAAAAAAeMBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAH2AQEAAAAB9wEBAAAAAfkBIAAAAAH9AQEAAAAB_gEBAAAAAf8BAQAAAAGAAgIAAAABAQwAAHgAMAEMAAB4ADABAAAAQQAgEi8AAMIDACA2AADEAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIQIAAAA_ACAMAAB8ACAPvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIf0BAQDoAgAh_gEBAOgCACH_AQEA6AIAIYACAgDrAgAhAgAAAD0AIAwAAH4AIAIAAAA9ACAMAAB-ACABAAAAQQAgAwAAAD8AIBMAAHYAIBQAAHwAIAEAAAA_ACABAAAAPQAgBgYAAL0DACAZAAC-AwAgGgAAwQMAIBsAAMADACAcAAC_AwAggAIAAOICACASuwEAAL4CADC8AQAAhgEAEL0BAAC-AgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh2gFAAJ0CACHjAQIAmgIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIfYBAQCcAgAh9wEBAJwCACH5ASAAugIAIf0BAQCcAgAh_gEBAJwCACH_AQEAnAIAIYACAgCbAgAhAwAAAD0AIAEAAIUBADAYAACGAQAgAwAAAD0AIAEAAD4AMAIAAD8AIAEAAABFACABAAAARQAgAwAAAEMAIAEAAEQAMAIAAEUAIAMAAABDACABAABEADACAABFACADAAAAQwAgAQAARAAwAgAARQAgCDAAALsDACA2AAC8AwAgvgECAAAAAdABAQAAAAHjAQIAAAAB5AECAAAAAecBAQAAAAHpAQEAAAABAQwAAI4BACAGvgECAAAAAdABAQAAAAHjAQIAAAAB5AECAAAAAecBAQAAAAHpAQEAAAABAQwAAJABADABDAAAkAEAMAgwAACtAwAgNgAArgMAIL4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQIAAABFACAMAACTAQAgBr4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQIAAABDACAMAACVAQAgAgAAAEMAIAwAAJUBACADAAAARQAgEwAAjgEAIBQAAJMBACABAAAARQAgAQAAAEMAIAUGAACoAwAgGQAAqQMAIBoAAKwDACAbAACrAwAgHAAAqgMAIAm7AQAAvQIAMLwBAACcAQAQvQEAAL0CADC-AQIAmgIAIdABAQCcAgAh4wECAJoCACHkAQIAmgIAIecBAQCcAgAh6QEBAJwCACEDAAAAQwAgAQAAmwEAMBgAAJwBACADAAAAQwAgAQAARAAwAgAARQAgAQAAAEkAIAEAAABJACADAAAARwAgAQAASAAwAgAASQAgAwAAAEcAIAEAAEgAMAIAAEkAIAMAAABHACABAABIADACAABJACAfMAAApAMAIDEAAKUDACAyAACmAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQIAAAAB-QEgAAAAAQEMAACkAQAgG74BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQIAAAAB-QEgAAAAAQEMAACmAQAwAQwAAKYBADABAAAAQwAgAQAAAEEAIB8wAACOAwAgMQAAjwMAIDIAAJADACA1AACRAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeQBAgDqAgAh5QECAOsCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACHpAQEA6AIAIeoBAACHAwAg6wEAAIgDACDsAQEA6AIAIe0BAQDoAgAh7gEBAOgCACHvAQAAiQMAIPABAACKAwAg8QEAAIsDACDyAQAAjAMAIPMBgAAAAAH0AQEA6AIAIfUBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfgBAgDrAgAh-QEgAI0DACECAAAASQAgDAAAqwEAIBu-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHlAQIA6wIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIekBAQDoAgAh6gEAAIcDACDrAQAAiAMAIOwBAQDoAgAh7QEBAOgCACHuAQEA6AIAIe8BAACJAwAg8AEAAIoDACDxAQAAiwMAIPIBAACMAwAg8wGAAAAAAfQBAQDoAgAh9QEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-AECAOsCACH5ASAAjQMAIQIAAABHACAMAACtAQAgAgAAAEcAIAwAAK0BACABAAAAQwAgAQAAAEEAIAMAAABJACATAACkAQAgFAAAqwEAIAEAAABJACABAAAARwAgBwYAAIIDACAZAACDAwAgGgAAhgMAIBsAAIUDACAcAACEAwAg5QEAAOICACD4AQAA4gIAIB67AQAAuAIAMLwBAAC2AQAQvQEAALgCADC-AQIAmgIAIcQBQACdAgAh0AEBAJwCACHaAUAAnQIAIeMBAgCaAgAh5AECAJoCACHlAQIAmwIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIekBAQCcAgAh6gEAALkCACDrAQAAuQIAIOwBAQCcAgAh7QEBAJwCACHuAQEAnAIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALICACD0AQEAnAIAIfUBAQCcAgAh9gEBAJwCACH3AQEAnAIAIfgBAgCbAgAh-QEgALoCACEDAAAARwAgAQAAtQEAMBgAALYBACADAAAARwAgAQAASAAwAgAASQAgAQAAAE8AIAEAAABPACADAAAATQAgAQAATgAwAgAATwAgAwAAAE0AIAEAAE4AMAIAAE8AIAMAAABNACABAABOADACAABPACAFMwAAgAMAIDQAAIEDACDhAQIAAAAB4gECAAAAAeMBAgAAAAEBDAAAvgEAIAPhAQIAAAAB4gECAAAAAeMBAgAAAAEBDAAAwAEAMAEMAADAAQAwBTMAAP4CACA0AAD_AgAg4QECAOoCACHiAQIA6gIAIeMBAgDqAgAhAgAAAE8AIAwAAMMBACAD4QECAOoCACHiAQIA6gIAIeMBAgDqAgAhAgAAAE0AIAwAAMUBACACAAAATQAgDAAAxQEAIAMAAABPACATAAC-AQAgFAAAwwEAIAEAAABPACABAAAATQAgBQYAAPkCACAZAAD6AgAgGgAA_QIAIBsAAPwCACAcAAD7AgAgBrsBAAC3AgAwvAEAAMwBABC9AQAAtwIAMOEBAgCaAgAh4gECAJoCACHjAQIAmgIAIQMAAABNACABAADLAQAwGAAAzAEAIAMAAABNACABAABOADACAABPACAHDAAAtQIAILsBAAC0AgAwvAEAANIBABC9AQAAtAIAMNgBAQAAAAHZAQIAtgIAIdoBQACwAgAhAQAAAM8BACABAAAAzwEAIAcMAAC1AgAguwEAALQCADC8AQAA0gEAEL0BAAC0AgAw2AEBAK4CACHZAQIAtgIAIdoBQACwAgAhAdkBAADiAgAgAwAAANIBACABAADTAQAwAgAAzwEAIAMAAADSAQAgAQAA0wEAMAIAAM8BACADAAAA0gEAIAEAANMBADACAADPAQAgBAyAAAAAAdgBAQAAAAHZAQIAAAAB2gFAAAAAAQEMAADXAQAgBAyAAAAAAdgBAQAAAAHZAQIAAAAB2gFAAAAAAQEMAADZAQAwAQwAANkBADAEDIAAAAAB2AEBAOgCACHZAQIA6wIAIdoBQADpAgAhAgAAAM8BACAMAADcAQAgBAyAAAAAAdgBAQDoAgAh2QECAOsCACHaAUAA6QIAIQIAAADSAQAgDAAA3gEAIAIAAADSAQAgDAAA3gEAIAMAAADPAQAgEwAA1wEAIBQAANwBACABAAAAzwEAIAEAAADSAQAgBgYAAPQCACAZAAD1AgAgGgAA-AIAIBsAAPcCACAcAAD2AgAg2QEAAOICACAHDAAAsgIAILsBAACxAgAwvAEAAOUBABC9AQAAsQIAMNgBAQCcAgAh2QECAJsCACHaAUAAnQIAIQMAAADSAQAgAQAA5AEAMBgAAOUBACADAAAA0gEAIAEAANMBADACAADPAQAgDLsBAACsAgAwvAEAAOsBABC9AQAArAIAML4BAgAAAAHEAUAAsAIAIdABAQCuAgAh0QEBAK4CACHSAQEArgIAIdMBAQCuAgAh1QEAAK8C1QEi1gEBAK4CACHXAQEArgIAIQEAAADoAQAgAQAAAOgBACAMuwEAAKwCADC8AQAA6wEAEL0BAACsAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh0QEBAK4CACHSAQEArgIAIdMBAQCuAgAh1QEAAK8C1QEi1gEBAK4CACHXAQEArgIAIQADAAAA6wEAIAEAAOwBADACAADoAQAgAwAAAOsBACABAADsAQAwAgAA6AEAIAMAAADrAQAgAQAA7AEAMAIAAOgBACAJvgECAAAAAcQBQAAAAAHQAQEAAAAB0QEBAAAAAdIBAQAAAAHTAQEAAAAB1QEAAADVAQLWAQEAAAAB1wEBAAAAAQEMAADwAQAgCb4BAgAAAAHEAUAAAAAB0AEBAAAAAdEBAQAAAAHSAQEAAAAB0wEBAAAAAdUBAAAA1QEC1gEBAAAAAdcBAQAAAAEBDAAA8gEAMAEMAADyAQAwCb4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdEBAQDoAgAh0gEBAOgCACHTAQEA6AIAIdUBAADzAtUBItYBAQDoAgAh1wEBAOgCACECAAAA6AEAIAwAAPUBACAJvgECAOoCACHEAUAA6QIAIdABAQDoAgAh0QEBAOgCACHSAQEA6AIAIdMBAQDoAgAh1QEAAPMC1QEi1gEBAOgCACHXAQEA6AIAIQIAAADrAQAgDAAA9wEAIAIAAADrAQAgDAAA9wEAIAMAAADoAQAgEwAA8AEAIBQAAPUBACABAAAA6AEAIAEAAADrAQAgBQYAAO4CACAZAADvAgAgGgAA8gIAIBsAAPECACAcAADwAgAgDLsBAACoAgAwvAEAAP4BABC9AQAAqAIAML4BAgCaAgAhxAFAAJ0CACHQAQEAnAIAIdEBAQCcAgAh0gEBAJwCACHTAQEAnAIAIdUBAACpAtUBItYBAQCcAgAh1wEBAJwCACEDAAAA6wEAIAEAAP0BADAYAAD-AQAgAwAAAOsBACABAADsAQAwAgAA6AEAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgCAMAAO0CACC-AQIAAAABvwECAAAAAcABAQAAAAHBAQEAAAABwgEBAAAAAcMBAQAAAAHEAUAAAAABAQwAAIYCACAHvgECAAAAAb8BAgAAAAHAAQEAAAABwQEBAAAAAcIBAQAAAAHDAQEAAAABxAFAAAAAAQEMAACIAgAwAQwAAIgCADABAAAACwAgCAMAAOwCACC-AQIA6gIAIb8BAgDrAgAhwAEBAOgCACHBAQEA6AIAIcIBAQDoAgAhwwEBAOgCACHEAUAA6QIAIQIAAAAJACAMAACMAgAgB74BAgDqAgAhvwECAOsCACHAAQEA6AIAIcEBAQDoAgAhwgEBAOgCACHDAQEA6AIAIcQBQADpAgAhAgAAAAcAIAwAAI4CACACAAAABwAgDAAAjgIAIAEAAAALACADAAAACQAgEwAAhgIAIBQAAIwCACABAAAACQAgAQAAAAcAIAYGAADjAgAgGQAA5AIAIBoAAOcCACAbAADmAgAgHAAA5QIAIL8BAADiAgAgCrsBAACZAgAwvAEAAJYCABC9AQAAmQIAML4BAgCaAgAhvwECAJsCACHAAQEAnAIAIcEBAQCcAgAhwgEBAJwCACHDAQEAnAIAIcQBQACdAgAhAwAAAAcAIAEAAJUCADAYAACWAgAgAwAAAAcAIAEAAAgAMAIAAAkAIAq7AQAAmQIAMLwBAACWAgAQvQEAAJkCADC-AQIAmgIAIb8BAgCbAgAhwAEBAJwCACHBAQEAnAIAIcIBAQCcAgAhwwEBAJwCACHEAUAAnQIAIQ0GAACfAgAgGQAApwIAIBoAAJ8CACAbAACfAgAgHAAAnwIAIMUBAgAAAAHGAQIAAAAExwECAAAABMgBAgAAAAHJAQIAAAABygECAAAAAcsBAgAAAAHMAQIApgIAIQ0GAACkAgAgGQAApQIAIBoAAKQCACAbAACkAgAgHAAApAIAIMUBAgAAAAHGAQIAAAAFxwECAAAABcgBAgAAAAHJAQIAAAABygECAAAAAcsBAgAAAAHMAQIAowIAIQ4GAACfAgAgGwAAogIAIBwAAKICACDFAQEAAAABxgEBAAAABMcBAQAAAATIAQEAAAAByQEBAAAAAcoBAQAAAAHLAQEAAAABzAEBAKECACHNAQEAAAABzgEBAAAAAc8BAQAAAAELBgAAnwIAIBsAAKACACAcAACgAgAgxQFAAAAAAcYBQAAAAATHAUAAAAAEyAFAAAAAAckBQAAAAAHKAUAAAAABywFAAAAAAcwBQACeAgAhCwYAAJ8CACAbAACgAgAgHAAAoAIAIMUBQAAAAAHGAUAAAAAExwFAAAAABMgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAAngIAIQjFAQIAAAABxgECAAAABMcBAgAAAATIAQIAAAAByQECAAAAAcoBAgAAAAHLAQIAAAABzAECAJ8CACEIxQFAAAAAAcYBQAAAAATHAUAAAAAEyAFAAAAAAckBQAAAAAHKAUAAAAABywFAAAAAAcwBQACgAgAhDgYAAJ8CACAbAACiAgAgHAAAogIAIMUBAQAAAAHGAQEAAAAExwEBAAAABMgBAQAAAAHJAQEAAAABygEBAAAAAcsBAQAAAAHMAQEAoQIAIc0BAQAAAAHOAQEAAAABzwEBAAAAAQvFAQEAAAABxgEBAAAABMcBAQAAAATIAQEAAAAByQEBAAAAAcoBAQAAAAHLAQEAAAABzAEBAKICACHNAQEAAAABzgEBAAAAAc8BAQAAAAENBgAApAIAIBkAAKUCACAaAACkAgAgGwAApAIAIBwAAKQCACDFAQIAAAABxgECAAAABccBAgAAAAXIAQIAAAAByQECAAAAAcoBAgAAAAHLAQIAAAABzAECAKMCACEIxQECAAAAAcYBAgAAAAXHAQIAAAAFyAECAAAAAckBAgAAAAHKAQIAAAABywECAAAAAcwBAgCkAgAhCMUBCAAAAAHGAQgAAAAFxwEIAAAABcgBCAAAAAHJAQgAAAABygEIAAAAAcsBCAAAAAHMAQgApQIAIQ0GAACfAgAgGQAApwIAIBoAAJ8CACAbAACfAgAgHAAAnwIAIMUBAgAAAAHGAQIAAAAExwECAAAABMgBAgAAAAHJAQIAAAABygECAAAAAcsBAgAAAAHMAQIApgIAIQjFAQgAAAABxgEIAAAABMcBCAAAAATIAQgAAAAByQEIAAAAAcoBCAAAAAHLAQgAAAABzAEIAKcCACEMuwEAAKgCADC8AQAA_gEAEL0BAACoAgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh0QEBAJwCACHSAQEAnAIAIdMBAQCcAgAh1QEAAKkC1QEi1gEBAJwCACHXAQEAnAIAIQcGAACfAgAgGwAAqwIAIBwAAKsCACDFAQAAANUBAsYBAAAA1QEIxwEAAADVAQjMAQAAqgLVASIHBgAAnwIAIBsAAKsCACAcAACrAgAgxQEAAADVAQLGAQAAANUBCMcBAAAA1QEIzAEAAKoC1QEiBMUBAAAA1QECxgEAAADVAQjHAQAAANUBCMwBAACrAtUBIgy7AQAArAIAMLwBAADrAQAQvQEAAKwCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHRAQEArgIAIdIBAQCuAgAh0wEBAK4CACHVAQAArwLVASLWAQEArgIAIdcBAQCuAgAhCMUBAgAAAAHGAQIAAAAExwECAAAABMgBAgAAAAHJAQIAAAABygECAAAAAcsBAgAAAAHMAQIAnwIAIQvFAQEAAAABxgEBAAAABMcBAQAAAATIAQEAAAAByQEBAAAAAcoBAQAAAAHLAQEAAAABzAEBAKICACHNAQEAAAABzgEBAAAAAc8BAQAAAAEExQEAAADVAQLGAQAAANUBCMcBAAAA1QEIzAEAAKsC1QEiCMUBQAAAAAHGAUAAAAAExwFAAAAABMgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAAoAIAIQcMAACyAgAguwEAALECADC8AQAA5QEAEL0BAACxAgAw2AEBAJwCACHZAQIAmwIAIdoBQACdAgAhDwYAAJ8CACAbAACzAgAgHAAAswIAIMUBgAAAAAHIAYAAAAAByQGAAAAAAcoBgAAAAAHLAYAAAAABzAGAAAAAAdsBAQAAAAHcAQEAAAAB3QEBAAAAAd4BgAAAAAHfAYAAAAAB4AGAAAAAAQzFAYAAAAAByAGAAAAAAckBgAAAAAHKAYAAAAABywGAAAAAAcwBgAAAAAHbAQEAAAAB3AEBAAAAAd0BAQAAAAHeAYAAAAAB3wGAAAAAAeABgAAAAAEHDAAAtQIAILsBAAC0AgAwvAEAANIBABC9AQAAtAIAMNgBAQCuAgAh2QECALYCACHaAUAAsAIAIQzFAYAAAAAByAGAAAAAAckBgAAAAAHKAYAAAAABywGAAAAAAcwBgAAAAAHbAQEAAAAB3AEBAAAAAd0BAQAAAAHeAYAAAAAB3wGAAAAAAeABgAAAAAEIxQECAAAAAcYBAgAAAAXHAQIAAAAFyAECAAAAAckBAgAAAAHKAQIAAAABywECAAAAAcwBAgCkAgAhBrsBAAC3AgAwvAEAAMwBABC9AQAAtwIAMOEBAgCaAgAh4gECAJoCACHjAQIAmgIAIR67AQAAuAIAMLwBAAC2AQAQvQEAALgCADC-AQIAmgIAIcQBQACdAgAh0AEBAJwCACHaAUAAnQIAIeMBAgCaAgAh5AECAJoCACHlAQIAmwIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIekBAQCcAgAh6gEAALkCACDrAQAAuQIAIOwBAQCcAgAh7QEBAJwCACHuAQEAnAIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALICACD0AQEAnAIAIfUBAQCcAgAh9gEBAJwCACH3AQEAnAIAIfgBAgCbAgAh-QEgALoCACEExQEBAAAABfoBAQAAAAH7AQEAAAAE_AEBAAAABAUGAACfAgAgGwAAvAIAIBwAALwCACDFASAAAAABzAEgALsCACEFBgAAnwIAIBsAALwCACAcAAC8AgAgxQEgAAAAAcwBIAC7AgAhAsUBIAAAAAHMASAAvAIAIQm7AQAAvQIAMLwBAACcAQAQvQEAAL0CADC-AQIAmgIAIdABAQCcAgAh4wECAJoCACHkAQIAmgIAIecBAQCcAgAh6QEBAJwCACESuwEAAL4CADC8AQAAhgEAEL0BAAC-AgAwvgECAJoCACHEAUAAnQIAIdABAQCcAgAh2gFAAJ0CACHjAQIAmgIAIeYBAQCcAgAh5wEBAJwCACHoAQEAnAIAIfYBAQCcAgAh9wEBAJwCACH5ASAAugIAIf0BAQCcAgAh_gEBAJwCACH_AQEAnAIAIYACAgCbAgAhDLsBAAC_AgAwvAEAAG4AEL0BAAC_AgAwvgECAJoCACHEAUAAnQIAIdgBAQCcAgAhgQIBAJwCACGCAgIAmgIAIYMCAgCbAgAhhAICAJsCACGFAgEAnAIAIYYCAQCcAgAhAuEBAgAAAAHiAQIAAAABCDMAAMICACA0AADDAgAguwEAAMECADC8AQAATQAQvQEAAMECADDhAQIArQIAIeIBAgCtAgAh4wECAK0CACEkMAAAxgIAIDEAAMcCACAyAADIAgAgNQAAyQIAILsBAADEAgAwvAEAAEcAEL0BAADEAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhlAIAAEcAIJUCAABHACAROAAAzgIAIDkAAMwCACA6AADJAgAguwEAAM0CADC8AQAAQQAQvQEAAM0CADC-AQIArQIAIcQBQACwAgAh2AEBAK4CACGBAgEArgIAIYICAgCtAgAhgwICALYCACGEAgIAtgIAIYUCAQCuAgAhhgIBAK4CACGUAgAAQQAglQIAAEEAICIwAADGAgAgMQAAxwIAIDIAAMgCACA1AADJAgAguwEAAMQCADC8AQAARwAQvQEAAMQCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHaAUAAsAIAIeMBAgCtAgAh5AECAK0CACHlAQIAtgIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIekBAQCuAgAh6gEAALkCACDrAQAAuQIAIOwBAQCuAgAh7QEBAK4CACHuAQEArgIAIe8BAAC5AgAg8AEAALkCACDxAQAAuQIAIPIBAAC5AgAg8wEAALUCACD0AQEArgIAIfUBAQCuAgAh9gEBAK4CACH3AQEArgIAIfgBAgC2AgAh-QEgAMUCACECxQEgAAAAAcwBIAC8AgAhFy8AAMgCACA2AADMAgAgNwAA0AIAILsBAADPAgAwvAEAAD0AEL0BAADPAgAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhlAIAAD0AIJUCAAA9ACANMAAAxgIAIDYAAMwCACC7AQAAywIAMLwBAABDABC9AQAAywIAML4BAgCtAgAh0AEBAK4CACHjAQIArQIAIeQBAgCtAgAh5wEBAK4CACHpAQEArgIAIZQCAABDACCVAgAAQwAgETgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAK0CACHEAUAAsAIAIdgBAQCuAgAhgQIBAK4CACGCAgIArQIAIYMCAgC2AgAhhAICALYCACGFAgEArgIAIYYCAQCuAgAhlAIAAEEAIJUCAABBACADiAIAAE0AIIkCAABNACCKAgAATQAgAuQBAgAAAAHnAQEAAAABCzAAAMYCACA2AADMAgAguwEAAMsCADC8AQAAQwAQvQEAAMsCADC-AQIArQIAIdABAQCuAgAh4wECAK0CACHkAQIArQIAIecBAQCuAgAh6QEBAK4CACEDiAIAAEcAIIkCAABHACCKAgAARwAgDzgAAM4CACA5AADMAgAgOgAAyQIAILsBAADNAgAwvAEAAEEAEL0BAADNAgAwvgECAK0CACHEAUAAsAIAIdgBAQCuAgAhgQIBAK4CACGCAgIArQIAIYMCAgC2AgAhhAICALYCACGFAgEArgIAIYYCAQCuAgAhA4gCAAA9ACCJAgAAPQAgigIAAD0AIBUvAADIAgAgNgAAzAIAIDcAANACACC7AQAAzwIAMLwBAAA9ABC9AQAAzwIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACH2AQEArgIAIfcBAQCuAgAh-QEgAMUCACH9AQEArgIAIf4BAQCuAgAh_wEBAK4CACGAAgIAtgIAIQOIAgAAQwAgiQIAAEMAIIoCAABDACAKuwEAANECADC8AQAAOAAQvQEAANECADC-AQIAmgIAIb8BAgCaAgAhxAFAAJ0CACHXAQEAnAIAIYwCAQCcAgAhjQJAAJ0CACGOAkAA0gIAIQsGAACkAgAgGwAA1AIAIBwAANQCACDFAUAAAAABxgFAAAAABccBQAAAAAXIAUAAAAAByQFAAAAAAcoBQAAAAAHLAUAAAAABzAFAANMCACELBgAApAIAIBsAANQCACAcAADUAgAgxQFAAAAAAcYBQAAAAAXHAUAAAAAFyAFAAAAAAckBQAAAAAHKAUAAAAABywFAAAAAAcwBQADTAgAhCMUBQAAAAAHGAUAAAAAFxwFAAAAABcgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAA1AIAIQy7AQAA1QIAMLwBAAAiABC9AQAA1QIAML4BAgCaAgAhxAFAAJ0CACHQAQEAnAIAIdIBAQCcAgAh2gFAAJ0CACGPAgEAnAIAIZECAADWApECIpICIAC6AgAhkwJAANICACEHBgAAnwIAIBsAANgCACAcAADYAgAgxQEAAACRAgLGAQAAAJECCMcBAAAAkQIIzAEAANcCkQIiBwYAAJ8CACAbAADYAgAgHAAA2AIAIMUBAAAAkQICxgEAAACRAgjHAQAAAJECCMwBAADXApECIgTFAQAAAJECAsYBAAAAkQIIxwEAAACRAgjMAQAA2AKRAiIOBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdIBAQCuAgAh2gFAALACACGPAgEArgIAIZECAADaApECIpICIADFAgAhkwJAANsCACEExQEAAACRAgLGAQAAAJECCMcBAAAAkQIIzAEAANgCkQIiCMUBQAAAAAHGAUAAAAAFxwFAAAAABcgBQAAAAAHJAUAAAAABygFAAAAAAcsBQAAAAAHMAUAA1AIAIQOIAgAAAwAgiQIAAAMAIIoCAAADACADiAIAAAcAIIkCAAAHACCKAgAABwAgCwMAAN8CACC7AQAA3gIAMLwBAAAHABC9AQAA3gIAML4BAgCtAgAhvwECALYCACHAAQEArgIAIcEBAQCuAgAhwgEBAK4CACHDAQEArgIAIcQBQACwAgAhEAQAANwCACAFAADdAgAguwEAANkCADC8AQAACwAQvQEAANkCADC-AQIArQIAIcQBQACwAgAh0AEBAK4CACHSAQEArgIAIdoBQACwAgAhjwIBAK4CACGRAgAA2gKRAiKSAiAAxQIAIZMCQADbAgAhlAIAAAsAIJUCAAALACALAwAA4QIAILsBAADgAgAwvAEAAAMAEL0BAADgAgAwvgECAK0CACG_AQIArQIAIcQBQACwAgAh1wEBAK4CACGMAgEArgIAIY0CQACwAgAhjgJAANsCACEQBAAA3AIAIAUAAN0CACC7AQAA2QIAMLwBAAALABC9AQAA2QIAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdIBAQCuAgAh2gFAALACACGPAgEArgIAIZECAADaApECIpICIADFAgAhkwJAANsCACGUAgAACwAglQIAAAsAIAAAAAAAAAGZAgEAAAABAZkCQAAAAAEFmQICAAAAAaACAgAAAAGhAgIAAAABogICAAAAAaMCAgAAAAEFmQICAAAAAaACAgAAAAGhAgIAAAABogICAAAAAaMCAgAAAAEHEwAA7AQAIBQAAO8EACCWAgAA7QQAIJcCAADuBAAgmgIAAAsAIJsCAAALACCcAgAAAQAgAxMAAOwEACCWAgAA7QQAIJwCAAABACAAAAAAAAGZAgAAANUBAgAAAAAAAAAAAAAFEwAA5AQAIBQAAOoEACCWAgAA5QQAIJcCAADpBAAgnAIAAEkAIAUTAADiBAAgFAAA5wQAIJYCAADjBAAglwIAAOYEACCcAgAAOwAgAxMAAOQEACCWAgAA5QQAIJwCAABJACADEwAA4gQAIJYCAADjBAAgnAIAADsAIAAAAAAAApkCAQAAAASfAgEAAAAFApkCAQAAAASfAgEAAAAFApkCAQAAAASfAgEAAAAFApkCAQAAAASfAgEAAAAFApkCAQAAAASfAgEAAAAFApkCAQAAAASfAgEAAAAFAZkCIAAAAAEFEwAA1gQAIBQAAOAEACCWAgAA1wQAIJcCAADfBAAgnAIAAD8AIAcTAADUBAAgFAAA3QQAIJYCAADVBAAglwIAANwEACCaAgAAQwAgmwIAAEMAIJwCAABFACAHEwAA0gQAIBQAANoEACCWAgAA0wQAIJcCAADZBAAgmgIAAEEAIJsCAABBACCcAgAAOwAgCxMAAJIDADAUAACXAwAwlgIAAJMDADCXAgAAlAMAMJgCAACVAwAgmQIAAJYDADCaAgAAlgMAMJsCAACWAwAwnAIAAJYDADCdAgAAmAMAMJ4CAACZAwAwAzQAAIEDACDiAQIAAAAB4wECAAAAAQIAAABPACATAACdAwAgAwAAAE8AIBMAAJ0DACAUAACcAwAgAQwAANgEADAJMwAAwgIAIDQAAMMCACC7AQAAwQIAMLwBAABNABC9AQAAwQIAMOEBAgCtAgAh4gECAK0CACHjAQIArQIAIYcCAADAAgAgAgAAAE8AIAwAAJwDACACAAAAmgMAIAwAAJsDACAGuwEAAJkDADC8AQAAmgMAEL0BAACZAwAw4QECAK0CACHiAQIArQIAIeMBAgCtAgAhBrsBAACZAwAwvAEAAJoDABC9AQAAmQMAMOEBAgCtAgAh4gECAK0CACHjAQIArQIAIQLiAQIA6gIAIeMBAgDqAgAhAzQAAP8CACDiAQIA6gIAIeMBAgDqAgAhAzQAAIEDACDiAQIAAAAB4wECAAAAAQGZAgEAAAAEAZkCAQAAAAQBmQIBAAAABAGZAgEAAAAEAZkCAQAAAAQBmQIBAAAABAMTAADWBAAglgIAANcEACCcAgAAPwAgAxMAANQEACCWAgAA1QQAIJwCAABFACADEwAA0gQAIJYCAADTBAAgnAIAADsAIAQTAACSAwAwlgIAAJMDADCYAgAAlQMAIJwCAACWAwAwAAAAAAAFEwAAzAQAIBQAANAEACCWAgAAzQQAIJcCAADPBAAgnAIAAD8AIAsTAACvAwAwFAAAtAMAMJYCAACwAwAwlwIAALEDADCYAgAAsgMAIJkCAACzAwAwmgIAALMDADCbAgAAswMAMJwCAACzAwAwnQIAALUDADCeAgAAtgMAMB0wAACkAwAgMgAApgMAIDUAAKcDACC-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeQBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQIAAAAB-QEgAAAAAQIAAABJACATAAC6AwAgAwAAAEkAIBMAALoDACAUAAC5AwAgAQwAAM4EADAiMAAAxgIAIDEAAMcCACAyAADIAgAgNQAAyQIAILsBAADEAgAwvAEAAEcAEL0BAADEAgAwvgECAAAAAcQBQACwAgAh0AEBAK4CACHaAUAAsAIAIeMBAgCtAgAh5AECAK0CACHlAQIAtgIAIeYBAQAAAAHnAQEAAAAB6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhAgAAAEkAIAwAALkDACACAAAAtwMAIAwAALgDACAeuwEAALYDADC8AQAAtwMAEL0BAAC2AwAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeQBAgCtAgAh5QECALYCACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACHpAQEArgIAIeoBAAC5AgAg6wEAALkCACDsAQEArgIAIe0BAQCuAgAh7gEBAK4CACHvAQAAuQIAIPABAAC5AgAg8QEAALkCACDyAQAAuQIAIPMBAAC1AgAg9AEBAK4CACH1AQEArgIAIfYBAQCuAgAh9wEBAK4CACH4AQIAtgIAIfkBIADFAgAhHrsBAAC2AwAwvAEAALcDABC9AQAAtgMAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHkAQIArQIAIeUBAgC2AgAh5gEBAK4CACHnAQEArgIAIegBAQCuAgAh6QEBAK4CACHqAQAAuQIAIOsBAAC5AgAg7AEBAK4CACHtAQEArgIAIe4BAQCuAgAh7wEAALkCACDwAQAAuQIAIPEBAAC5AgAg8gEAALkCACDzAQAAtQIAIPQBAQCuAgAh9QEBAK4CACH2AQEArgIAIfcBAQCuAgAh-AECALYCACH5ASAAxQIAIRq-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACHpAQEA6AIAIeoBAACHAwAg6wEAAIgDACDsAQEA6AIAIe0BAQDoAgAh7gEBAOgCACHvAQAAiQMAIPABAACKAwAg8QEAAIsDACDyAQAAjAMAIPMBgAAAAAH0AQEA6AIAIfUBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfgBAgDrAgAh-QEgAI0DACEdMAAAjgMAIDIAAJADACA1AACRAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeQBAgDqAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh6QEBAOgCACHqAQAAhwMAIOsBAACIAwAg7AEBAOgCACHtAQEA6AIAIe4BAQDoAgAh7wEAAIkDACDwAQAAigMAIPEBAACLAwAg8gEAAIwDACDzAYAAAAAB9AEBAOgCACH1AQEA6AIAIfYBAQDoAgAh9wEBAOgCACH4AQIA6wIAIfkBIACNAwAhHTAAAKQDACAyAACmAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAxMAAMwEACCWAgAAzQQAIJwCAAA_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-AMAMJcCAAD5AwAwmAIAAPoDACCZAgAA-wMAMJoCAAD7AwAwmwIAAPsDADCcAgAA-wMAMJ0CAAD9AwAwngIAAP4DADALEwAA7gMAMBQAAPIDADCWAgAA7wMAMJcCAADwAwAwmAIAAPEDACCZAgAAswMAMJoCAACzAwAwmwIAALMDADCcAgAAswMAMJ0CAADzAwAwngIAALYDADALEwAA5QMAMBQAAOkDADCWAgAA5gMAMJcCAADnAwAwmAIAAOgDACCZAgAAlgMAMJoCAACWAwAwmwIAAJYDADCcAgAAlgMAMJ0CAADqAwAwngIAAJkDADADMwAAgAMAIOEBAgAAAAHjAQIAAAABAgAAAE8AIBMAAO0DACADAAAATwAgEwAA7QMAIBQAAOwDACABDAAAxAQAMAIAAABPACAMAADsAwAgAgAAAJoDACAMAADrAwAgAuEBAgDqAgAh4wECAOoCACEDMwAA_gIAIOEBAgDqAgAh4wECAOoCACEDMwAAgAMAIOEBAgAAAAHjAQIAAAABHTAAAKQDACAxAAClAwAgNQAApwMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeUBAgAAAAHmAQEAAAAB5wEBAAAAAegBAQAAAAHpAQEAAAAB6gEAAJ4DACDrAQAAnwMAIOwBAQAAAAHtAQEAAAAB7gEBAAAAAe8BAACgAwAg8AEAAKEDACDxAQAAogMAIPIBAACjAwAg8wGAAAAAAfQBAQAAAAH1AQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAABAgAAAEkAIBMAAPYDACADAAAASQAgEwAA9gMAIBQAAPUDACABDAAAwwQAMAIAAABJACAMAAD1AwAgAgAAALcDACAMAAD0AwAgGr4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHkAQIA6gIAIeUBAgDrAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh6QEBAOgCACHqAQAAhwMAIOsBAACIAwAg7AEBAOgCACHtAQEA6AIAIe4BAQDoAgAh7wEAAIkDACDwAQAAigMAIPEBAACLAwAg8gEAAIwDACDzAYAAAAAB9AEBAOgCACH1AQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIR0wAACOAwAgMQAAjwMAIDUAAJEDACC-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5AECAOoCACHlAQIA6wIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIekBAQDoAgAh6gEAAIcDACDrAQAAiAMAIOwBAQDoAgAh7QEBAOgCACHuAQEA6AIAIe8BAACJAwAg8AEAAIoDACDxAQAAiwMAIPIBAACMAwAg8wGAAAAAAfQBAQDoAgAh9QEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACEdMAAApAMAIDEAAKUDACA1AACnAwAgvgECAAAAAcQBQAAAAAHQAQEAAAAB2gFAAAAAAeMBAgAAAAHkAQIAAAAB5QECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfkBIAAAAAEQNgAA3AMAIDcAANsDACC-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAAQIAAAA_ACATAACCBAAgAwAAAD8AIBMAAIIEACAUAACBBAAgAQwAAMIEADAVLwAAyAIAIDYAAMwCACA3AADQAgAguwEAAM8CADC8AQAAPQAQvQEAAM8CADC-AQIAAAABxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQAAAAHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhAgAAAD8AIAwAAIEEACACAAAA_wMAIAwAAIAEACASuwEAAP4DADC8AQAA_wMAEL0BAAD-AwAwvgECAK0CACHEAUAAsAIAIdABAQCuAgAh2gFAALACACHjAQIArQIAIeYBAQCuAgAh5wEBAK4CACHoAQEArgIAIfYBAQCuAgAh9wEBAK4CACH5ASAAxQIAIf0BAQCuAgAh_gEBAK4CACH_AQEArgIAIYACAgC2AgAhErsBAAD-AwAwvAEAAP8DABC9AQAA_gMAML4BAgCtAgAhxAFAALACACHQAQEArgIAIdoBQACwAgAh4wECAK0CACHmAQEArgIAIecBAQCuAgAh6AEBAK4CACH2AQEArgIAIfcBAQCuAgAh-QEgAMUCACH9AQEArgIAIf4BAQCuAgAh_wEBAK4CACGAAgIAtgIAIQ6-AQIA6gIAIcQBQADpAgAh0AEBAOgCACHaAUAA6QIAIeMBAgDqAgAh5gEBAOgCACHnAQEA6AIAIegBAQDoAgAh9gEBAOgCACH3AQEA6AIAIfkBIACNAwAh_QEBAOgCACH-AQEA6AIAIf8BAQDoAgAhEDYAAMQDACA3AADDAwAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh2gFAAOkCACHjAQIA6gIAIeYBAQDoAgAh5wEBAOgCACHoAQEA6AIAIfYBAQDoAgAh9wEBAOgCACH5ASAAjQMAIf0BAQDoAgAh_gEBAOgCACH_AQEA6AIAIRA2AADcAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABBBMAAPcDADCWAgAA-AMAMJgCAAD6AwAgnAIAAPsDADAEEwAA7gMAMJYCAADvAwAwmAIAAPEDACCcAgAAswMAMAQTAADlAwAwlgIAAOYDADCYAgAA6AMAIJwCAACWAwAwAAAABjAAAIsEACAxAACMBAAgMgAAigQAIDUAAIgEACDlAQAA4gIAIPgBAADiAgAgBTgAAIYEACA5AACHBAAgOgAAiAQAIIMCAADiAgAghAIAAOICACAELwAAigQAIDYAAIcEACA3AACNBAAggAIAAOICACACMAAAiwQAIDYAAIcEACAAAAAAAAABmQJAAAAAAQUTAAC9BAAgFAAAwAQAIJYCAAC-BAAglwIAAL8EACCcAgAAAQAgAxMAAL0EACCWAgAAvgQAIJwCAAABACAAAAAAAAGZAgAAAJECAgsTAACqBAAwFAAArwQAMJYCAACrBAAwlwIAAKwEADCYAgAArQQAIJkCAACuBAAwmgIAAK4EADCbAgAArgQAMJwCAACuBAAwnQIAALAEADCeAgAAsQQAMAsTAACeBAAwFAAAowQAMJYCAACfBAAwlwIAAKAEADCYAgAAoQQAIJkCAACiBAAwmgIAAKIEADCbAgAAogQAMJwCAACiBAAwnQIAAKQEADCeAgAApQQAMAa-AQIAAAABwAEBAAAAAcEBAQAAAAHCAQEAAAABwwEBAAAAAcQBQAAAAAECAAAACQAgEwAAqQQAIAMAAAAJACATAACpBAAgFAAAqAQAIAEMAAC8BAAwCwMAAN8CACC7AQAA3gIAMLwBAAAHABC9AQAA3gIAML4BAgAAAAG_AQIAtgIAIcABAQCuAgAhwQEBAK4CACHCAQEArgIAIcMBAQCuAgAhxAFAALACACECAAAACQAgDAAAqAQAIAIAAACmBAAgDAAApwQAIAq7AQAApQQAMLwBAACmBAAQvQEAAKUEADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQq7AQAApQQAMLwBAACmBAAQvQEAAKUEADC-AQIArQIAIb8BAgC2AgAhwAEBAK4CACHBAQEArgIAIcIBAQCuAgAhwwEBAK4CACHEAUAAsAIAIQa-AQIA6gIAIcABAQDoAgAhwQEBAOgCACHCAQEA6AIAIcMBAQDoAgAhxAFAAOkCACEGvgECAOoCACHAAQEA6AIAIcEBAQDoAgAhwgEBAOgCACHDAQEA6AIAIcQBQADpAgAhBr4BAgAAAAHAAQEAAAABwQEBAAAAAcIBAQAAAAHDAQEAAAABxAFAAAAAAQa-AQIAAAABxAFAAAAAAdcBAQAAAAGMAgEAAAABjQJAAAAAAY4CQAAAAAECAAAABQAgEwAAtQQAIAMAAAAFACATAAC1BAAgFAAAtAQAIAEMAAC7BAAwCwMAAOECACC7AQAA4AIAMLwBAAADABC9AQAA4AIAML4BAgAAAAG_AQIArQIAIcQBQACwAgAh1wEBAK4CACGMAgEAAAABjQJAALACACGOAkAA2wIAIQIAAAAFACAMAAC0BAAgAgAAALIEACAMAACzBAAgCrsBAACxBAAwvAEAALIEABC9AQAAsQQAML4BAgCtAgAhvwECAK0CACHEAUAAsAIAIdcBAQCuAgAhjAIBAK4CACGNAkAAsAIAIY4CQADbAgAhCrsBAACxBAAwvAEAALIEABC9AQAAsQQAML4BAgCtAgAhvwECAK0CACHEAUAAsAIAIdcBAQCuAgAhjAIBAK4CACGNAkAAsAIAIY4CQADbAgAhBr4BAgDqAgAhxAFAAOkCACHXAQEA6AIAIYwCAQDoAgAhjQJAAOkCACGOAkAAkwQAIQa-AQIA6gIAIcQBQADpAgAh1wEBAOgCACGMAgEA6AIAIY0CQADpAgAhjgJAAJMEACEGvgECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABBBMAAKoEADCWAgAAqwQAMJgCAACtBAAgnAIAAK4EADAEEwAAngQAMJYCAACfBAAwmAIAAKEEACCcAgAAogQAMAAAAwQAALgEACAFAAC5BAAgkwIAAOICACAGvgECAAAAAcQBQAAAAAHXAQEAAAABjAIBAAAAAY0CQAAAAAGOAkAAAAABBr4BAgAAAAHAAQEAAAABwQEBAAAAAcIBAQAAAAHDAQEAAAABxAFAAAAAAQoFAAC3BAAgvgECAAAAAcQBQAAAAAHQAQEAAAAB0gEBAAAAAdoBQAAAAAGPAgEAAAABkQIAAACRAgKSAiAAAAABkwJAAAAAAQIAAAABACATAAC9BAAgAwAAAAsAIBMAAL0EACAUAADBBAAgDAAAAAsAIAUAAJ0EACAMAADBBAAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh0gEBAOgCACHaAUAA6QIAIY8CAQDoAgAhkQIAAJsEkQIikgIgAI0DACGTAkAAkwQAIQoFAACdBAAgvgECAOoCACHEAUAA6QIAIdABAQDoAgAh0gEBAOgCACHaAUAA6QIAIY8CAQDoAgAhkQIAAJsEkQIikgIgAI0DACGTAkAAkwQAIQ6-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAARq-AQIAAAABxAFAAAAAAdABAQAAAAHaAUAAAAAB4wECAAAAAeQBAgAAAAHlAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB6QEBAAAAAeoBAACeAwAg6wEAAJ8DACDsAQEAAAAB7QEBAAAAAe4BAQAAAAHvAQAAoAMAIPABAAChAwAg8QEAAKIDACDyAQAAowMAIPMBgAAAAAH0AQEAAAAB9QEBAAAAAfYBAQAAAAH3AQEAAAAB-QEgAAAAAQLhAQIAAAAB4wECAAAAAQs5AACEBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQIAAAA7ACATAADFBAAgBb4BAgAAAAHQAQEAAAAB4wECAAAAAecBAQAAAAHpAQEAAAABGr4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5QECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAwAAAEEAIBMAAMUEACAUAADLBAAgDQAAAEEAIAwAAMsEACA5AADjAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQs5AADjAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIREvAADaAwAgNgAA3AMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQIAAAA_ACATAADMBAAgGr4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5AECAAAAAeYBAQAAAAHnAQEAAAAB6AEBAAAAAekBAQAAAAHqAQAAngMAIOsBAACfAwAg7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wEAAKADACDwAQAAoQMAIPEBAACiAwAg8gEAAKMDACDzAYAAAAAB9AEBAAAAAfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAgAAAAH5ASAAAAABAwAAAD0AIBMAAMwEACAUAADRBAAgEwAAAD0AIAwAANEEACAvAADCAwAgNgAAxAMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIREvAADCAwAgNgAAxAMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIQs4AACDBAAgOgAAhQQAIL4BAgAAAAHEAUAAAAAB2AEBAAAAAYECAQAAAAGCAgIAAAABgwICAAAAAYQCAgAAAAGFAgEAAAABhgIBAAAAAQIAAAA7ACATAADSBAAgBzAAALsDACC-AQIAAAAB0AEBAAAAAeMBAgAAAAHkAQIAAAAB5wEBAAAAAekBAQAAAAECAAAARQAgEwAA1AQAIBEvAADaAwAgNwAA2wMAIL4BAgAAAAHEAUAAAAAB0AEBAAAAAdoBQAAAAAHjAQIAAAAB5gEBAAAAAecBAQAAAAHoAQEAAAAB9gEBAAAAAfcBAQAAAAH5ASAAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAICAAAAAQIAAAA_ACATAADWBAAgAuIBAgAAAAHjAQIAAAABAwAAAEEAIBMAANIEACAUAADbBAAgDQAAAEEAIAwAANsEACA4AADiAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQs4AADiAwAgOgAA5AMAIL4BAgDqAgAhxAFAAOkCACHYAQEA6AIAIYECAQDoAgAhggICAOoCACGDAgIA6wIAIYQCAgDrAgAhhQIBAOgCACGGAgEA6AIAIQMAAABDACATAADUBAAgFAAA3gQAIAkAAABDACAMAADeBAAgMAAArQMAIL4BAgDqAgAh0AEBAOgCACHjAQIA6gIAIeQBAgDqAgAh5wEBAOgCACHpAQEA6AIAIQcwAACtAwAgvgECAOoCACHQAQEA6AIAIeMBAgDqAgAh5AECAOoCACHnAQEA6AIAIekBAQDoAgAhAwAAAD0AIBMAANYEACAUAADhBAAgEwAAAD0AIAwAAOEEACAvAADCAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_wEBAOgCACGAAgIA6wIAIREvAADCAwAgNwAAwwMAIL4BAgDqAgAhxAFAAOkCACHQAQEA6AIAIdoBQADpAgAh4wECAOoCACHmAQEA6AIAIecBAQDoAgAh6AEBAOgCACH2AQEA6AIAIfcBAQDoAgAh-QEgAI0DACH9AQEA6AIAIf4BAQDoAgAh_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_GQBAGgBBGwBCHABDAAAAAAAFBgA_GQBAGgBBGwBCHABDAjMAGzQAGAIzABs0ABgFBgBIGQBJGgBKGwBLHABMAAAAAAAFBgBIGQBJGgBKGwBLHABMAAAABQYAUhkAUxoAVBsAVRwAVgAAAAAABQYAUhkAUxoAVBsAVRwAVgAAAAUGAFwZAF0aAF4bAF8cAGAAAAAAAAUGAFwZAF0aAF4bAF8cAGABA4sCAQEDkQIBBQYAZRkAZhoAZxsAaBwAaQAAAAAABQYAZRkAZhoAZxsAaBwAaQcCAQgPAQkRAQoSAQsTAQ0VAQ4XBQ8YBhAaAREcBRIdBxUeARYfARcgBR0jCB4kDh8lAiAmAiEnAiIoAiMpAiQrAiUtBSYuDycwAigyBSkzECo0Ais1Aiw2BS05ES46Fzs8GDxbGD1dGD5eGD9fGEBhGEFjBUJkIUNmGERoBUVpIkZqGEdrGEhsBUlvI0pwKUtxGUxyGU1zGU50GU91GVB3GVF5BVJ6KlN9GVR_BVWAAStWggEZV4MBGViEAQVZhwEsWogBMluJARpcigEaXYsBGl6MARpfjQEaYI8BGmGRAQVikgEzY5QBGmSWAQVllwE0ZpgBGmeZARpomgEFaZ0BNWqeATtrnwEbbKABG22hARtuogEbb6MBG3ClARtxpwEFcqgBPHOsARt0rgEFda8BPXayARt3swEbeLQBBXm3AT56uAFEe7kBHHy6ARx9uwEcfrwBHH-9ARyAAb8BHIEBwQEFggHCAUWDAcQBHIQBxgEFhQHHAUaGAcgBHIcByQEciAHKAQWJAc0BR4oBzgFNiwHQAU6MAdEBTo0B1AFOjgHVAU6PAdYBTpAB2AFOkQHaAQWSAdsBT5MB3QFOlAHfAQWVAeABUJYB4QFOlwHiAU6YAeMBBZkB5gFRmgHnAVebAekBWJwB6gFYnQHtAVieAe4BWJ8B7wFYoAHxAVihAfMBBaIB9AFZowH2AVikAfgBBaUB-QFapgH6AVinAfsBWKgB_AEFqQH_AVuqAYACYasBgQIDrAGCAgOtAYMCA64BhAIDrwGFAgOwAYcCA7EBiQIFsgGKAmKzAY0CA7QBjwIFtQGQAmO2AZICA7cBkwIDuAGUAgW5AZcCZLoBmAJq" +}; +async function decodeBase64AsWasm(wasmBase64) { + const { Buffer: Buffer2 } = await import("node:buffer"); + const wasmArray = Buffer2.from(wasmBase64, "base64"); + return new WebAssembly.Module(wasmArray); +} +__name(decodeBase64AsWasm, "decodeBase64AsWasm"); +config2.compilerWasm = { + getRuntime: /* @__PURE__ */ __name(async () => await import("./query_compiler_fast_bg.postgresql-RWS5SSGB.js"), "getRuntime"), + getQueryCompilerWasmModule: /* @__PURE__ */ __name(async () => { + const { wasm } = await import("./query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js"); + return await decodeBase64AsWasm(wasm); + }, "getQueryCompilerWasmModule"), + importName: "./query_compiler_fast_bg.js" +}; +function getPrismaClientClass() { + return runtime.getPrismaClient(config2); +} +__name(getPrismaClientClass, "getPrismaClientClass"); + +// dist/generated/prisma/internal/prismaNamespace.js +var prismaNamespace_exports = {}; +__export(prismaNamespace_exports, { + AdminUserScalarFieldEnum: () => AdminUserScalarFieldEnum, + AnyNull: () => AnyNull3, + AuditLogScalarFieldEnum: () => AuditLogScalarFieldEnum, + CategoryScalarFieldEnum: () => CategoryScalarFieldEnum, + ContactMessageScalarFieldEnum: () => ContactMessageScalarFieldEnum, + DbNull: () => DbNull3, + Decimal: () => Decimal3, + JsonNull: () => JsonNull3, + JsonNullValueFilter: () => JsonNullValueFilter, + JsonNullValueInput: () => JsonNullValueInput, + MediaScalarFieldEnum: () => MediaScalarFieldEnum, + ModelName: () => ModelName, + NullTypes: () => NullTypes3, + NullsOrder: () => NullsOrder, + PrismaClientInitializationError: () => PrismaClientInitializationError3, + PrismaClientKnownRequestError: () => PrismaClientKnownRequestError3, + PrismaClientRustPanicError: () => PrismaClientRustPanicError3, + PrismaClientUnknownRequestError: () => PrismaClientUnknownRequestError3, + PrismaClientValidationError: () => PrismaClientValidationError3, + ProductGroupScalarFieldEnum: () => ProductGroupScalarFieldEnum, + ProductImageScalarFieldEnum: () => ProductImageScalarFieldEnum, + ProductScalarFieldEnum: () => ProductScalarFieldEnum, + QueryMode: () => QueryMode, + RefreshTokenScalarFieldEnum: () => RefreshTokenScalarFieldEnum, + SiteSectionScalarFieldEnum: () => SiteSectionScalarFieldEnum, + SortOrder: () => SortOrder, + Sql: () => Sql3, + TransactionIsolationLevel: () => TransactionIsolationLevel, + defineExtension: () => defineExtension, + empty: () => empty3, + getExtensionContext: () => getExtensionContext, + join: () => join3, + prismaVersion: () => prismaVersion, + raw: () => raw3, + sql: () => sql +}); +var runtime2 = __toESM(require_client(), 1); +var PrismaClientKnownRequestError3 = runtime2.PrismaClientKnownRequestError; +var PrismaClientUnknownRequestError3 = runtime2.PrismaClientUnknownRequestError; +var PrismaClientRustPanicError3 = runtime2.PrismaClientRustPanicError; +var PrismaClientInitializationError3 = runtime2.PrismaClientInitializationError; +var PrismaClientValidationError3 = runtime2.PrismaClientValidationError; +var sql = runtime2.sqltag; +var empty3 = runtime2.empty; +var join3 = runtime2.join; +var raw3 = runtime2.raw; +var Sql3 = runtime2.Sql; +var Decimal3 = runtime2.Decimal; +var getExtensionContext = runtime2.Extensions.getExtensionContext; +var prismaVersion = { + client: "7.10.1", + engine: "d1b3f377ca835d73fd50954a5e22128b9ebdd6b8" +}; +var NullTypes3 = { + DbNull: runtime2.NullTypes.DbNull, + JsonNull: runtime2.NullTypes.JsonNull, + AnyNull: runtime2.NullTypes.AnyNull +}; +var DbNull3 = runtime2.DbNull; +var JsonNull3 = runtime2.JsonNull; +var AnyNull3 = runtime2.AnyNull; +var ModelName = { + AdminUser: "AdminUser", + RefreshToken: "RefreshToken", + Media: "Media", + Category: "Category", + ProductGroup: "ProductGroup", + Product: "Product", + ProductImage: "ProductImage", + SiteSection: "SiteSection", + ContactMessage: "ContactMessage", + AuditLog: "AuditLog" +}; +var TransactionIsolationLevel = runtime2.makeStrictEnum({ + ReadUncommitted: "ReadUncommitted", + ReadCommitted: "ReadCommitted", + RepeatableRead: "RepeatableRead", + Serializable: "Serializable" +}); +var AdminUserScalarFieldEnum = { + id: "id", + phone: "phone", + name: "name", + passwordHash: "passwordHash", + role: "role", + isActive: "isActive", + lastLoginAt: "lastLoginAt", + createdAt: "createdAt", + updatedAt: "updatedAt" +}; +var RefreshTokenScalarFieldEnum = { + id: "id", + userId: "userId", + tokenHash: "tokenHash", + expiresAt: "expiresAt", + revokedAt: "revokedAt", + userAgent: "userAgent", + createdAt: "createdAt" +}; +var MediaScalarFieldEnum = { + id: "id", + key: "key", + mime: "mime", + size: "size", + width: "width", + height: "height", + alt: "alt", + originalName: "originalName", + createdAt: "createdAt" +}; +var CategoryScalarFieldEnum = { + id: "id", + slug: "slug", + code: "code", + name: "name", + nameEn: "nameEn", + shortDesc: "shortDesc", + fullDesc: "fullDesc", + icon: "icon", + coverImageId: "coverImageId", + sortOrder: "sortOrder", + isPublished: "isPublished", + seoTitle: "seoTitle", + seoDescription: "seoDescription", + createdAt: "createdAt", + updatedAt: "updatedAt" +}; +var ProductGroupScalarFieldEnum = { + id: "id", + categoryId: "categoryId", + slug: "slug", + name: "name", + desc: "desc", + sortOrder: "sortOrder" +}; +var ProductScalarFieldEnum = { + id: "id", + categoryId: "categoryId", + groupId: "groupId", + code: "code", + slug: "slug", + name: "name", + nameEn: "nameEn", + desc: "desc", + specs: "specs", + variants: "variants", + details: "details", + brand: "brand", + origin: "origin", + sizes: "sizes", + standards: "standards", + features: "features", + applications: "applications", + attributes: "attributes", + packaging: "packaging", + minOrder: "minOrder", + seoTitle: "seoTitle", + seoDescription: "seoDescription", + imageId: "imageId", + sortOrder: "sortOrder", + isPublished: "isPublished", + createdAt: "createdAt", + updatedAt: "updatedAt" +}; +var ProductImageScalarFieldEnum = { + productId: "productId", + mediaId: "mediaId", + sortOrder: "sortOrder" +}; +var SiteSectionScalarFieldEnum = { + key: "key", + data: "data", + updatedById: "updatedById", + updatedAt: "updatedAt" +}; +var ContactMessageScalarFieldEnum = { + id: "id", + name: "name", + org: "org", + phone: "phone", + message: "message", + status: "status", + ip: "ip", + userAgent: "userAgent", + createdAt: "createdAt" +}; +var AuditLogScalarFieldEnum = { + id: "id", + userId: "userId", + action: "action", + entity: "entity", + entityId: "entityId", + summary: "summary", + createdAt: "createdAt" +}; +var SortOrder = { + asc: "asc", + desc: "desc" +}; +var JsonNullValueInput = { + JsonNull: JsonNull3 +}; +var QueryMode = { + default: "default", + insensitive: "insensitive" +}; +var NullsOrder = { + first: "first", + last: "last" +}; +var JsonNullValueFilter = { + DbNull: DbNull3, + JsonNull: JsonNull3, + AnyNull: AnyNull3 +}; +var defineExtension = runtime2.Extensions.defineExtension; + +// dist/generated/prisma/client.js +globalThis["__dirname"] = path.dirname(fileURLToPath(import.meta.url)); +var PrismaClient = getPrismaClientClass(); + +// dist/prisma/prisma.service.js +var __decorate = function(decorators, target, key, desc) { + var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc); + else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5; + return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5; +}; +var __metadata = function(k5, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v); +}; +var createPrismaClient = /* @__PURE__ */ __name(() => new PrismaClient({ adapter: new PrismaPgAdapterFactory({ connectionString: env.DATABASE_URL }) }), "createPrismaClient"); +var PrismaService = class PrismaService2 extends PrismaClient { + static { + __name(this, "PrismaService"); + } + constructor() { + super({ adapter: new PrismaPgAdapterFactory({ connectionString: env.DATABASE_URL }) }); + } + async onModuleDestroy() { + await this.$disconnect(); + } +}; +PrismaService = __decorate([ + Injectable(), + __metadata("design:paramtypes", []) +], PrismaService); +var PrismaModule = class PrismaModule2 { + static { + __name(this, "PrismaModule"); + } +}; +PrismaModule = __decorate([ + Global(), + Module({ providers: [PrismaService], exports: [PrismaService] }) +], PrismaModule); + +// dist/auth/auth.service.js +init_common(); +import { createHash, randomBytes } from "node:crypto"; + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/index.js +var import_jsonwebtoken2 = __toESM(require_jsonwebtoken(), 1); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/interfaces/jwt-module-options.interface.js +var JwtSecretRequestType; +(function(JwtSecretRequestType2) { + JwtSecretRequestType2[JwtSecretRequestType2["SIGN"] = 0] = "SIGN"; + JwtSecretRequestType2[JwtSecretRequestType2["VERIFY"] = 1] = "VERIFY"; +})(JwtSecretRequestType || (JwtSecretRequestType = {})); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.errors.js +var WrongSecretProviderError = class extends Error { + static { + __name(this, "WrongSecretProviderError"); + } +}; + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.module.js +init_common(); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.constants.js +var JWT_MODULE_OPTIONS = "JWT_MODULE_OPTIONS"; + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.providers.js +function createJwtProvider(options) { + return [{ provide: JWT_MODULE_OPTIONS, useValue: options || {} }]; +} +__name(createJwtProvider, "createJwtProvider"); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.service.js +init_common(); +var import_jsonwebtoken = __toESM(require_jsonwebtoken(), 1); +var __decorate2 = function(decorators, target, key, desc) { + var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc); + else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5; + return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5; +}; +var __metadata2 = function(k5, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v); +}; +var __param = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var JwtService = class JwtService2 { + static { + __name(this, "JwtService"); + } + constructor(options = {}) { + this.options = options; + this.logger = new Logger("JwtService"); + } + sign(payload, options) { + const signOptions = this.mergeJwtOptions({ ...options }, "signOptions"); + const secret = this.getSecretKey(payload, options, "privateKey", JwtSecretRequestType.SIGN); + if (secret instanceof Promise) { + secret.catch(() => { + }); + this.logger.warn('For async version of "secretOrKeyProvider", please use "signAsync".'); + throw new WrongSecretProviderError(); + } + const allowedSignOptKeys = ["secret", "privateKey"]; + const signOptKeys = Object.keys(signOptions); + if (typeof payload === "string" && signOptKeys.some((k5) => !allowedSignOptKeys.includes(k5))) { + throw new Error("Payload as string is not allowed with the following sign options: " + signOptKeys.join(", ")); + } + return import_jsonwebtoken.default.sign(payload, secret, signOptions); + } + signAsync(payload, options) { + const signOptions = this.mergeJwtOptions({ ...options }, "signOptions"); + const secret = this.getSecretKey(payload, options, "privateKey", JwtSecretRequestType.SIGN); + const allowedSignOptKeys = ["secret", "privateKey"]; + const signOptKeys = Object.keys(signOptions); + if (typeof payload === "string" && signOptKeys.some((k5) => !allowedSignOptKeys.includes(k5))) { + if (secret instanceof Promise) { + secret.catch(() => { + }); + } + throw new Error("Payload as string is not allowed with the following sign options: " + signOptKeys.join(", ")); + } + return new Promise((resolve, reject) => Promise.resolve().then(() => secret).then((scrt) => { + import_jsonwebtoken.default.sign(payload, scrt, signOptions, (err, encoded) => err ? reject(err) : resolve(encoded)); + }).catch(reject)); + } + verify(token, options) { + const verifyOptions = this.mergeJwtOptions({ ...options }, "verifyOptions"); + const secret = this.getSecretKey(token, options, "publicKey", JwtSecretRequestType.VERIFY); + if (secret instanceof Promise) { + secret.catch(() => { + }); + this.logger.warn('For async version of "secretOrKeyProvider", please use "verifyAsync".'); + throw new WrongSecretProviderError(); + } + return import_jsonwebtoken.default.verify(token, secret, verifyOptions); + } + verifyAsync(token, options) { + const verifyOptions = this.mergeJwtOptions({ ...options }, "verifyOptions"); + const secret = this.getSecretKey(token, options, "publicKey", JwtSecretRequestType.VERIFY); + return new Promise((resolve, reject) => Promise.resolve().then(() => secret).then((scrt) => { + import_jsonwebtoken.default.verify(token, scrt, verifyOptions, (err, decoded) => err ? reject(err) : resolve(decoded)); + }).catch(reject)); + } + decode(token, options) { + return import_jsonwebtoken.default.decode(token, options); + } + mergeJwtOptions(options, key) { + delete options.secret; + if (key === "signOptions") { + delete options.privateKey; + } else { + delete options.publicKey; + } + return options ? { ...this.options[key] || {}, ...options } : this.options[key]; + } + overrideSecretFromOptions(secret) { + if (this.options.secretOrPrivateKey) { + this.logger.warn(`"secretOrPrivateKey" has been deprecated, please use the new explicit "secret" or use "secretOrKeyProvider" or "privateKey"/"publicKey" exclusively.`); + secret = this.options.secretOrPrivateKey; + } + return secret; + } + getSecretKey(token, options, key, secretRequestType) { + const secret = this.options.secretOrKeyProvider ? this.options.secretOrKeyProvider(secretRequestType, token, options) : options?.secret || this.options.secret || (key === "privateKey" ? options?.privateKey || this.options.privateKey : options?.publicKey || this.options.publicKey) || this.options[key]; + return secret instanceof Promise ? secret.then((sec) => this.overrideSecretFromOptions(sec)) : this.overrideSecretFromOptions(secret); + } +}; +JwtService = __decorate2([ + Injectable(), + __param(0, Optional()), + __param(0, Inject(JWT_MODULE_OPTIONS)), + __metadata2("design:paramtypes", [Object]) +], JwtService); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/jwt.module.js +var __decorate3 = function(decorators, target, key, desc) { + var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc); + else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5; + return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5; +}; +var JwtModule_1; +var JwtModule = JwtModule_1 = class JwtModule2 { + static { + __name(this, "JwtModule"); + } + static register(options) { + return { + module: JwtModule_1, + global: options.global, + providers: createJwtProvider(options) + }; + } + static registerAsync(options) { + return { + module: JwtModule_1, + global: options.global, + imports: options.imports || [], + providers: [ + ...this.createAsyncProviders(options), + ...options.extraProviders ?? [] + ] + }; + } + static createAsyncProviders(options) { + if (options.useExisting || options.useFactory) { + return [this.createAsyncOptionsProvider(options)]; + } + return [ + this.createAsyncOptionsProvider(options), + { + provide: options.useClass, + useClass: options.useClass + } + ]; + } + static createAsyncOptionsProvider(options) { + if (options.useFactory) { + return { + provide: JWT_MODULE_OPTIONS, + useFactory: options.useFactory, + inject: options.inject || [] + }; + } + return { + provide: JWT_MODULE_OPTIONS, + useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory.createJwtOptions(), "useFactory"), + inject: [options.useExisting || options.useClass] + }; + } +}; +JwtModule = JwtModule_1 = __decorate3([ + Module({ + providers: [JwtService], + exports: [JwtService] + }) +], JwtModule); + +// ../../node_modules/.pnpm/@nestjs+jwt@12.0.3_@nestjs+_facab28c43df169ee1a851fa7198ecfe/node_modules/@nestjs/jwt/dist/index.js +var TokenExpiredError = import_jsonwebtoken2.default.TokenExpiredError; +var NotBeforeError = import_jsonwebtoken2.default.NotBeforeError; +var JsonWebTokenError = import_jsonwebtoken2.default.JsonWebTokenError; + +// dist/auth/auth.service.js +import { hash as hash2, verify } from "@node-rs/argon2"; + +// dist/common/common.module.js +init_common(); +var __decorate4 = function(decorators, target, key, desc) { + var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc); + else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5; + return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5; +}; +var __metadata3 = function(k5, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v); +}; +var AuditService_1; +var RevalidateService_1; +var AuditService = AuditService_1 = class AuditService2 { + static { + __name(this, "AuditService"); + } + prisma; + logger = new Logger(AuditService_1.name); + constructor(prisma) { + this.prisma = prisma; + } + log(userId, action, entity, entityId = "", summary = "") { + this.prisma.auditLog.create({ data: { userId, action, entity, entityId: String(entityId), summary } }).catch((e5) => this.logger.warn(`audit log failed: ${String(e5)}`)); + } +}; +AuditService = AuditService_1 = __decorate4([ + Injectable(), + __metadata3("design:paramtypes", [PrismaService]) +], AuditService); +var RevalidateService = RevalidateService_1 = class RevalidateService2 { + static { + __name(this, "RevalidateService"); + } + logger = new Logger(RevalidateService_1.name); + timer; + trigger() { + if (!env.WEB_REVALIDATE_URL) + return; + clearTimeout(this.timer); + this.timer = setTimeout(() => void this.run(), 1500); + this.timer.unref(); + } + async run() { + try { + const res = await fetch(env.WEB_REVALIDATE_URL, { + method: "POST", + headers: { "x-revalidate-secret": env.REVALIDATE_SECRET ?? "" }, + signal: AbortSignal.timeout(5e3) + }); + if (!res.ok) + this.logger.warn(`site revalidation returned ${res.status}`); + } catch (e5) { + this.logger.warn(`site revalidation failed: ${String(e5)}`); + } + } +}; +RevalidateService = RevalidateService_1 = __decorate4([ + Injectable() +], RevalidateService); +var CommonModule = class CommonModule2 { + static { + __name(this, "CommonModule"); + } +}; +CommonModule = __decorate4([ + Global(), + Module({ + providers: [AuditService, RevalidateService], + exports: [AuditService, RevalidateService] + }) +], CommonModule); + +// dist/auth/auth.service.js +var __decorate5 = function(decorators, target, key, desc) { + var c5 = arguments.length, r5 = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d5; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r5 = Reflect.decorate(decorators, target, key, desc); + else for (var i5 = decorators.length - 1; i5 >= 0; i5--) if (d5 = decorators[i5]) r5 = (c5 < 3 ? d5(r5) : c5 > 3 ? d5(target, key, r5) : d5(target, key)) || r5; + return c5 > 3 && r5 && Object.defineProperty(target, key, r5), r5; +}; +var __metadata4 = function(k5, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k5, v); +}; +var hashPassword = /* @__PURE__ */ __name((password2) => hash2(password2), "hashPassword"); +var sha256 = /* @__PURE__ */ __name((v) => createHash("sha256").update(v).digest("hex"), "sha256"); +var toUserDto = /* @__PURE__ */ __name((u) => ({ + id: u.id, + phone: u.phone, + name: u.name, + role: u.role, + isActive: u.isActive, + lastLoginAt: u.lastLoginAt?.toISOString() ?? null, + createdAt: u.createdAt.toISOString() +}), "toUserDto"); +var INVALID_LOGIN = "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644 \u06CC\u0627 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u0634\u062A\u0628\u0627\u0647 \u0627\u0633\u062A"; +var DUMMY_HASH = hashPassword(randomBytes(16).toString("hex")); +var AuthService = class AuthService2 { + static { + __name(this, "AuthService"); + } + prisma; + jwt; + audit; + constructor(prisma, jwt2, audit) { + this.prisma = prisma; + this.jwt = jwt2; + this.audit = audit; + } + async login(input2, userAgent) { + const user = await this.prisma.adminUser.findUnique({ where: { phone: input2.phone } }); + const ok = await verify(user?.passwordHash ?? await DUMMY_HASH, input2.password).catch(() => false); + if (!user || !ok || !user.isActive) + throw new UnauthorizedException(INVALID_LOGIN); + const updated = await this.prisma.adminUser.update({ + where: { id: user.id }, + data: { lastLoginAt: /* @__PURE__ */ new Date() } + }); + this.audit.log(user.id, "login", "user", user.id, user.phone); + return this.issue(updated, userAgent); + } + async refresh(token, userAgent) { + if (!token) + throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + const stored = await this.prisma.refreshToken.findUnique({ + where: { tokenHash: sha256(token) }, + include: { user: true } + }); + if (!stored) + throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + if (stored.revokedAt) { + await this.revokeAll(stored.userId); + throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + } + if (stored.expiresAt < /* @__PURE__ */ new Date() || !stored.user.isActive) { + throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + } + await this.prisma.refreshToken.update({ + where: { id: stored.id }, + data: { revokedAt: /* @__PURE__ */ new Date() } + }); + return this.issue(stored.user, userAgent); + } + async logout(token) { + if (!token) + return; + await this.prisma.refreshToken.updateMany({ + where: { tokenHash: sha256(token), revokedAt: null }, + data: { revokedAt: /* @__PURE__ */ new Date() } + }); + } + async changePassword(userId, input2) { + const user = await this.prisma.adminUser.findUniqueOrThrow({ where: { id: userId } }); + if (!await verify(user.passwordHash, input2.currentPassword).catch(() => false)) { + throw new BadRequestException("\u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0641\u0639\u0644\u06CC \u0627\u0634\u062A\u0628\u0627\u0647 \u0627\u0633\u062A"); + } + await this.prisma.adminUser.update({ + where: { id: userId }, + data: { passwordHash: await hashPassword(input2.newPassword) } + }); + this.audit.log(userId, "change-password", "user", userId, user.phone); + } + async me(userId) { + return toUserDto(await this.prisma.adminUser.findUniqueOrThrow({ where: { id: userId } })); + } + revokeAll(userId) { + return this.prisma.refreshToken.updateMany({ + where: { userId, revokedAt: null }, + data: { revokedAt: /* @__PURE__ */ new Date() } + }); + } + async issue(user, userAgent) { + const payload = { sub: user.id, role: user.role }; + const accessToken = await this.jwt.signAsync(payload); + const refreshToken = randomBytes(48).toString("base64url"); + const refreshExpiresAt = new Date(Date.now() + env.REFRESH_TTL_DAYS * 864e5); + await this.prisma.refreshToken.create({ + data: { + userId: user.id, + tokenHash: sha256(refreshToken), + expiresAt: refreshExpiresAt, + userAgent: userAgent.slice(0, 300) + } + }); + void this.prisma.refreshToken.deleteMany({ where: { expiresAt: { lt: new Date(Date.now() - 864e5) } } }).catch(() => void 0); + return { accessToken, refreshToken, refreshExpiresAt, user: toUserDto(user) }; + } +}; +AuthService = __decorate5([ + Injectable(), + __metadata4("design:paramtypes", [ + PrismaService, + JwtService, + AuditService + ]) +], AuthService); + +// dist/media/s3-storage.js +var import_client_s3 = __toESM(require_dist_cjs16(), 1); +import sharp from "sharp"; +var S3Storage = class { + static { + __name(this, "S3Storage"); + } + client = new import_client_s3.S3Client({ + endpoint: env.S3_ENDPOINT, + region: env.S3_REGION, + forcePathStyle: env.S3_FORCE_PATH_STYLE, + credentials: { accessKeyId: env.S3_ACCESS_KEY, secretAccessKey: env.S3_SECRET_KEY } + }); + bucket = env.S3_BUCKET; + publicUrl(key) { + return `${env.MEDIA_PUBLIC_URL}/${key}`; + } + async put(key, body, contentType) { + await this.client.send(new import_client_s3.PutObjectCommand({ + Bucket: this.bucket, + Key: key, + Body: body, + ContentType: contentType, + CacheControl: "public, max-age=31536000, immutable" + })); + } + async remove(key) { + await this.client.send(new import_client_s3.DeleteObjectCommand({ Bucket: this.bucket, Key: key })); + } + async ensureBucket() { + try { + await this.client.send(new import_client_s3.HeadBucketCommand({ Bucket: this.bucket })); + } catch { + await this.client.send(new import_client_s3.CreateBucketCommand({ Bucket: this.bucket })); + } + try { + await this.client.send(new import_client_s3.PutBucketPolicyCommand({ + Bucket: this.bucket, + Policy: JSON.stringify({ + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Principal: { AWS: ["*"] }, + Action: ["s3:GetObject"], + Resource: [`arn:aws:s3:::${this.bucket}/*`] + } + ] + }) + })); + } catch { + } + } +}; +var ACCEPTED_IMAGE_TYPES = [ + "image/jpeg", + "image/png", + "image/webp", + "image/avif", + "image/gif" +]; +async function toWebp(input2) { + const { data, info } = await sharp(input2).rotate().resize({ width: 2e3, height: 2e3, fit: "inside", withoutEnlargement: true }).webp({ quality: 82 }).toBuffer({ resolveWithObject: true }); + return { data, width: info.width, height: info.height, size: info.size }; +} +__name(toWebp, "toWebp"); + +export { + external_exports, + env, + isProd, + JwtService, + JwtModule, + toIssues, + categoryInputSchema, + productInputSchema, + reorderSchema, + productListQuerySchema, + sectionSchemas, + SECTION_KEYS, + isSectionKey, + normalizeIrMobile, + loginSchema, + changePasswordSchema, + userCreateSchema, + userUpdateSchema, + MESSAGE_STATUSES, + contactInputSchema, + messageUpdateSchema, + mediaUpdateSchema, + prismaNamespace_exports, + createPrismaClient, + PrismaService, + PrismaModule, + AuditService, + RevalidateService, + CommonModule, + hashPassword, + toUserDto, + AuthService, + S3Storage, + ACCEPTED_IMAGE_TYPES, + toWebp +}; diff --git a/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js b/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js new file mode 100644 index 0000000..5526423 --- /dev/null +++ b/apps/api/.output/dist/chunks/chunk-XSOBN2CI.js @@ -0,0 +1,53629 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + BadRequestException, + CATCH_WATERMARK, + CONTROLLER_WATERMARK, + CUSTOM_ROUTE_ARGS_METADATA, + ConsoleLogger, + ENHANCER_KEY_TO_SUBTYPE_MAP, + ENTRY_PROVIDER_WATERMARK, + EXCEPTION_FILTERS_METADATA, + FILTER_CATCH_EXCEPTIONS, + ForbiddenException, + GLOBAL_MODULE_METADATA, + GUARDS_METADATA, + Global, + HEADERS_METADATA, + HOST_METADATA, + HTTP_CODE_METADATA, + HttpException, + HttpStatus, + INJECTABLE_WATERMARK, + INTERCEPTORS_METADATA, + Inject, + Injectable, + InternalServerErrorException, + IntrinsicException, + Logger, + METHOD_METADATA, + MODULE_METADATA, + MODULE_PATH, + Module, + NotFoundException, + OPTIONAL_DEPS_METADATA, + OPTIONAL_PROPERTY_DEPS_METADATA, + Optional, + PARAMTYPES_METADATA, + PATH_METADATA, + PIPES_METADATA, + PROPERTY_DEPS_METADATA, + PayloadTooLargeException, + REDIRECT_METADATA, + RENDER_METADATA, + RESPONSE_PASSTHROUGH_METADATA, + ROUTE_ARGS_METADATA, + RequestMethod, + RouteParamtypes, + SCOPE_OPTIONS_METADATA, + SELF_DECLARED_DEPS_METADATA, + SSE_ABORT_CONTROLLER, + SSE_METADATA, + SSE_OPTIONS_METADATA, + Scope, + SetMetadata, + ShutdownSignal, + StreamableFile, + VERSION_METADATA, + VERSION_NEUTRAL, + VersioningType, + __decorate, + __metadata, + __param, + addLeadingSlash, + clc, + flatten, + init_cli_colors_util, + init_common, + init_constants, + init_dist, + init_load_package_util, + init_parameter_decorator_options_util, + init_random_string_generator_util, + init_route_params_decorator, + init_route_paramtypes_enum, + init_shared_utils, + init_tslib_es6, + isConstructor, + isEmpty, + isEmptyArray, + isFunction, + isNil, + isObject, + isPlainObject, + isString, + isSymbol, + isUndefined, + loadPackage, + loadPackageCached, + mixin, + normalizePath, + randomStringGenerator, + require_ArgumentOutOfRangeError, + require_AsyncAction, + require_AsyncScheduler, + require_AsyncSubject, + require_BehaviorSubject, + require_ConnectableObservable, + require_EmptyError, + require_NotFoundError, + require_Notification, + require_ObjectUnsubscribedError, + require_Observable, + require_OperatorSubscriber, + require_Reflect, + require_ReplaySubject, + require_Scheduler, + require_SequenceError, + require_Subject, + require_Subscriber, + require_Subscription, + require_UnsubscriptionError, + require_args, + require_argsArgArrayOrObject, + require_async, + require_audit, + require_auditTime, + require_buffer, + require_bufferCount, + require_bufferTime, + require_bufferToggle, + require_bufferWhen, + require_catchError, + require_combineAll, + require_combineLatest, + require_combineLatestAll, + require_combineLatestWith, + require_concat, + require_concatAll, + require_concatMap, + require_concatMapTo, + require_concatWith, + require_config, + require_connect, + require_count, + require_createObject, + require_debounce, + require_debounceTime, + require_defaultIfEmpty, + require_delay, + require_delayWhen, + require_dematerialize, + require_distinct, + require_distinctUntilChanged, + require_distinctUntilKeyChanged, + require_elementAt, + require_empty, + require_endWith, + require_every, + require_exhaust, + require_exhaustAll, + require_exhaustMap, + require_expand, + require_filter, + require_finalize, + require_find, + require_findIndex, + require_first, + require_flatMap, + require_from, + require_groupBy, + require_identity, + require_ignoreElements, + require_innerFrom, + require_interval, + require_isArrayLike, + require_isEmpty, + require_isFunction, + require_isScheduler, + require_last, + require_lib, + require_map, + require_mapOneOrManyArgs, + require_mapTo, + require_materialize, + require_max, + require_mergeAll, + require_mergeMap, + require_mergeMapTo, + require_mergeScan, + require_mergeWith, + require_min, + require_multicast, + require_noop, + require_not, + require_observable, + require_observeOn, + require_of, + require_onErrorResumeNext, + require_onErrorResumeNextWith, + require_operators, + require_pairwise, + require_pipe, + require_pluck, + require_publish, + require_publishBehavior, + require_publishLast, + require_publishReplay, + require_race, + require_raceWith, + require_reduce, + require_refCount, + require_repeat, + require_repeatWhen, + require_retry, + require_retryWhen, + require_sample, + require_sampleTime, + require_scan, + require_scheduleIterable, + require_scheduled, + require_sequenceEqual, + require_share, + require_shareReplay, + require_single, + require_skip, + require_skipLast, + require_skipUntil, + require_skipWhile, + require_startWith, + require_subscribeOn, + require_switchAll, + require_switchMap, + require_switchMapTo, + require_switchScan, + require_take, + require_takeLast, + require_takeUntil, + require_takeWhile, + require_tap, + require_throttle, + require_throttleTime, + require_throwError, + require_throwIfEmpty, + require_timeInterval, + require_timeout, + require_timeoutWith, + require_timer, + require_timestamp, + require_toArray, + require_window, + require_windowCount, + require_windowTime, + require_windowToggle, + require_windowWhen, + require_withLatestFrom, + require_zip, + require_zipAll, + require_zipWith, + stripEndSlash, + tryLoadPackage, + uid +} from "./chunk-BX2ML7LW.js"; +import { + require_src +} from "./chunk-C4DYPKAN.js"; +import { + require_ms +} from "./chunk-A34KYKJP.js"; +import { + __commonJS, + __esm, + __export, + __name, + __require, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +var require_object_assign = __commonJS({ + "../../node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js"(exports, module) { + "use strict"; + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + function toObject(val) { + if (val === null || val === void 0) { + throw new TypeError("Object.assign cannot be called with null or undefined"); + } + return Object(val); + } + __name(toObject, "toObject"); + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + var test1 = new String("abc"); + test1[5] = "de"; + if (Object.getOwnPropertyNames(test1)[0] === "5") { + return false; + } + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2["_" + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function(n) { + return test2[n]; + }); + if (order2.join("") !== "0123456789") { + return false; + } + var test3 = {}; + "abcdefghijklmnopqrst".split("").forEach(function(letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") { + return false; + } + return true; + } catch (err) { + return false; + } + } + __name(shouldUseNative, "shouldUseNative"); + module.exports = shouldUseNative() ? Object.assign : function(target, source) { + var from2; + var to = toObject(target); + var symbols; + for (var s = 1; s < arguments.length; s++) { + from2 = Object(arguments[s]); + for (var key in from2) { + if (hasOwnProperty.call(from2, key)) { + to[key] = from2[key]; + } + } + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from2); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from2, symbols[i])) { + to[symbols[i]] = from2[symbols[i]]; + } + } + } + } + return to; + }; + } +}); + +// ../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js +var require_vary = __commonJS({ + "../../node_modules/.pnpm/vary@1.1.2/node_modules/vary/index.js"(exports, module) { + "use strict"; + module.exports = vary; + module.exports.append = append; + var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + function append(header, field) { + if (typeof header !== "string") { + throw new TypeError("header argument is required"); + } + if (!field) { + throw new TypeError("field argument is required"); + } + var fields = !Array.isArray(field) ? parse(String(field)) : field; + for (var j = 0; j < fields.length; j++) { + if (!FIELD_NAME_REGEXP.test(fields[j])) { + throw new TypeError("field argument contains an invalid header name"); + } + } + if (header === "*") { + return header; + } + var val = header; + var vals = parse(header.toLowerCase()); + if (fields.indexOf("*") !== -1 || vals.indexOf("*") !== -1) { + return "*"; + } + for (var i = 0; i < fields.length; i++) { + var fld = fields[i].toLowerCase(); + if (vals.indexOf(fld) === -1) { + vals.push(fld); + val = val ? val + ", " + fields[i] : fields[i]; + } + } + return val; + } + __name(append, "append"); + function parse(header) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = header.length; i < len; i++) { + switch (header.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + list.push(header.substring(start, end)); + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + list.push(header.substring(start, end)); + return list; + } + __name(parse, "parse"); + function vary(res, field) { + if (!res || !res.getHeader || !res.setHeader) { + throw new TypeError("res argument is required"); + } + var val = res.getHeader("Vary") || ""; + var header = Array.isArray(val) ? val.join(", ") : String(val); + if (val = append(header, field)) { + res.setHeader("Vary", val); + } + } + __name(vary, "vary"); + } +}); + +// ../../node_modules/.pnpm/cors@2.8.6/node_modules/cors/lib/index.js +var require_lib2 = __commonJS({ + "../../node_modules/.pnpm/cors@2.8.6/node_modules/cors/lib/index.js"(exports, module) { + (function() { + "use strict"; + var assign = require_object_assign(); + var vary = require_vary(); + var defaults = { + origin: "*", + methods: "GET,HEAD,PUT,PATCH,POST,DELETE", + preflightContinue: false, + optionsSuccessStatus: 204 + }; + function isString2(s) { + return typeof s === "string" || s instanceof String; + } + __name(isString2, "isString"); + function isOriginAllowed(origin, allowedOrigin) { + if (Array.isArray(allowedOrigin)) { + for (var i = 0; i < allowedOrigin.length; ++i) { + if (isOriginAllowed(origin, allowedOrigin[i])) { + return true; + } + } + return false; + } else if (isString2(allowedOrigin)) { + return origin === allowedOrigin; + } else if (allowedOrigin instanceof RegExp) { + return allowedOrigin.test(origin); + } else { + return !!allowedOrigin; + } + } + __name(isOriginAllowed, "isOriginAllowed"); + function configureOrigin(options, req) { + var requestOrigin = req.headers.origin, headers = [], isAllowed; + if (!options.origin || options.origin === "*") { + headers.push([{ + key: "Access-Control-Allow-Origin", + value: "*" + }]); + } else if (isString2(options.origin)) { + headers.push([{ + key: "Access-Control-Allow-Origin", + value: options.origin + }]); + headers.push([{ + key: "Vary", + value: "Origin" + }]); + } else { + isAllowed = isOriginAllowed(requestOrigin, options.origin); + headers.push([{ + key: "Access-Control-Allow-Origin", + value: isAllowed ? requestOrigin : false + }]); + headers.push([{ + key: "Vary", + value: "Origin" + }]); + } + return headers; + } + __name(configureOrigin, "configureOrigin"); + function configureMethods(options) { + var methods = options.methods; + if (methods.join) { + methods = options.methods.join(","); + } + return { + key: "Access-Control-Allow-Methods", + value: methods + }; + } + __name(configureMethods, "configureMethods"); + function configureCredentials(options) { + if (options.credentials === true) { + return { + key: "Access-Control-Allow-Credentials", + value: "true" + }; + } + return null; + } + __name(configureCredentials, "configureCredentials"); + function configureAllowedHeaders(options, req) { + var allowedHeaders = options.allowedHeaders || options.headers; + var headers = []; + if (!allowedHeaders) { + allowedHeaders = req.headers["access-control-request-headers"]; + headers.push([{ + key: "Vary", + value: "Access-Control-Request-Headers" + }]); + } else if (allowedHeaders.join) { + allowedHeaders = allowedHeaders.join(","); + } + if (allowedHeaders && allowedHeaders.length) { + headers.push([{ + key: "Access-Control-Allow-Headers", + value: allowedHeaders + }]); + } + return headers; + } + __name(configureAllowedHeaders, "configureAllowedHeaders"); + function configureExposedHeaders(options) { + var headers = options.exposedHeaders; + if (!headers) { + return null; + } else if (headers.join) { + headers = headers.join(","); + } + if (headers && headers.length) { + return { + key: "Access-Control-Expose-Headers", + value: headers + }; + } + return null; + } + __name(configureExposedHeaders, "configureExposedHeaders"); + function configureMaxAge(options) { + var maxAge = (typeof options.maxAge === "number" || options.maxAge) && options.maxAge.toString(); + if (maxAge && maxAge.length) { + return { + key: "Access-Control-Max-Age", + value: maxAge + }; + } + return null; + } + __name(configureMaxAge, "configureMaxAge"); + function applyHeaders(headers, res) { + for (var i = 0, n = headers.length; i < n; i++) { + var header = headers[i]; + if (header) { + if (Array.isArray(header)) { + applyHeaders(header, res); + } else if (header.key === "Vary" && header.value) { + vary(res, header.value); + } else if (header.value) { + res.setHeader(header.key, header.value); + } + } + } + } + __name(applyHeaders, "applyHeaders"); + function cors2(options, req, res, next) { + var headers = [], method = req.method && req.method.toUpperCase && req.method.toUpperCase(); + if (method === "OPTIONS") { + headers.push(configureOrigin(options, req)); + headers.push(configureCredentials(options)); + headers.push(configureMethods(options)); + headers.push(configureAllowedHeaders(options, req)); + headers.push(configureMaxAge(options)); + headers.push(configureExposedHeaders(options)); + applyHeaders(headers, res); + if (options.preflightContinue) { + next(); + } else { + res.statusCode = options.optionsSuccessStatus; + res.setHeader("Content-Length", "0"); + res.end(); + } + } else { + headers.push(configureOrigin(options, req)); + headers.push(configureCredentials(options)); + headers.push(configureExposedHeaders(options)); + applyHeaders(headers, res); + next(); + } + } + __name(cors2, "cors"); + function middlewareWrapper(o) { + var optionsCallback = null; + if (typeof o === "function") { + optionsCallback = o; + } else { + optionsCallback = /* @__PURE__ */ __name(function(req, cb) { + cb(null, o); + }, "optionsCallback"); + } + return /* @__PURE__ */ __name(function corsMiddleware(req, res, next) { + optionsCallback(req, function(err, options) { + if (err) { + next(err); + } else { + var corsOptions = assign({}, defaults, options); + var originCallback = null; + if (corsOptions.origin && typeof corsOptions.origin === "function") { + originCallback = corsOptions.origin; + } else if (corsOptions.origin) { + originCallback = /* @__PURE__ */ __name(function(origin, cb) { + cb(null, corsOptions.origin); + }, "originCallback"); + } + if (originCallback) { + originCallback(req.headers.origin, function(err2, origin) { + if (err2 || !origin) { + next(err2); + } else { + corsOptions.origin = origin; + cors2(corsOptions, req, res, next); + } + }); + } else { + next(); + } + } + }); + }, "corsMiddleware"); + } + __name(middlewareWrapper, "middlewareWrapper"); + module.exports = middlewareWrapper; + })(); + } +}); + +// ../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js +var require_depd = __commonJS({ + "../../node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js"(exports, module) { + var relative = __require("path").relative; + module.exports = depd; + var basePath = process.cwd(); + function containsNamespace(str, namespace) { + var vals = str.split(/[ ,]+/); + var ns = String(namespace).toLowerCase(); + for (var i = 0; i < vals.length; i++) { + var val = vals[i]; + if (val && (val === "*" || val.toLowerCase() === ns)) { + return true; + } + } + return false; + } + __name(containsNamespace, "containsNamespace"); + function convertDataDescriptorToAccessor(obj, prop, message) { + var descriptor = Object.getOwnPropertyDescriptor(obj, prop); + var value = descriptor.value; + descriptor.get = /* @__PURE__ */ __name(function getter() { + return value; + }, "getter"); + if (descriptor.writable) { + descriptor.set = /* @__PURE__ */ __name(function setter(val) { + return value = val; + }, "setter"); + } + delete descriptor.value; + delete descriptor.writable; + Object.defineProperty(obj, prop, descriptor); + return descriptor; + } + __name(convertDataDescriptorToAccessor, "convertDataDescriptorToAccessor"); + function createArgumentsString(arity) { + var str = ""; + for (var i = 0; i < arity; i++) { + str += ", arg" + i; + } + return str.substr(2); + } + __name(createArgumentsString, "createArgumentsString"); + function createStackString(stack) { + var str = this.name + ": " + this.namespace; + if (this.message) { + str += " deprecated " + this.message; + } + for (var i = 0; i < stack.length; i++) { + str += "\n at " + stack[i].toString(); + } + return str; + } + __name(createStackString, "createStackString"); + function depd(namespace) { + if (!namespace) { + throw new TypeError("argument namespace is required"); + } + var stack = getStack(); + var site = callSiteLocation(stack[1]); + var file = site[0]; + function deprecate(message) { + log.call(deprecate, message); + } + __name(deprecate, "deprecate"); + deprecate._file = file; + deprecate._ignored = isignored(namespace); + deprecate._namespace = namespace; + deprecate._traced = istraced(namespace); + deprecate._warned = /* @__PURE__ */ Object.create(null); + deprecate.function = wrapfunction; + deprecate.property = wrapproperty; + return deprecate; + } + __name(depd, "depd"); + function eehaslisteners(emitter, type) { + var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); + return count > 0; + } + __name(eehaslisteners, "eehaslisteners"); + function isignored(namespace) { + if (process.noDeprecation) { + return true; + } + var str = process.env.NO_DEPRECATION || ""; + return containsNamespace(str, namespace); + } + __name(isignored, "isignored"); + function istraced(namespace) { + if (process.traceDeprecation) { + return true; + } + var str = process.env.TRACE_DEPRECATION || ""; + return containsNamespace(str, namespace); + } + __name(istraced, "istraced"); + function log(message, site) { + var haslisteners = eehaslisteners(process, "deprecation"); + if (!haslisteners && this._ignored) { + return; + } + var caller; + var callFile; + var callSite; + var depSite; + var i = 0; + var seen = false; + var stack = getStack(); + var file = this._file; + if (site) { + depSite = site; + callSite = callSiteLocation(stack[1]); + callSite.name = depSite.name; + file = callSite[0]; + } else { + i = 2; + depSite = callSiteLocation(stack[i]); + callSite = depSite; + } + for (; i < stack.length; i++) { + caller = callSiteLocation(stack[i]); + callFile = caller[0]; + if (callFile === file) { + seen = true; + } else if (callFile === this._file) { + file = this._file; + } else if (seen) { + break; + } + } + var key = caller ? depSite.join(":") + "__" + caller.join(":") : void 0; + if (key !== void 0 && key in this._warned) { + return; + } + this._warned[key] = true; + var msg = message; + if (!msg) { + msg = callSite === depSite || !callSite.name ? defaultMessage(depSite) : defaultMessage(callSite); + } + if (haslisteners) { + var err = DeprecationError(this._namespace, msg, stack.slice(i)); + process.emit("deprecation", err); + return; + } + var format = process.stderr.isTTY ? formatColor : formatPlain; + var output = format.call(this, msg, caller, stack.slice(i)); + process.stderr.write(output + "\n", "utf8"); + } + __name(log, "log"); + function callSiteLocation(callSite) { + var file = callSite.getFileName() || "<anonymous>"; + var line = callSite.getLineNumber(); + var colm = callSite.getColumnNumber(); + if (callSite.isEval()) { + file = callSite.getEvalOrigin() + ", " + file; + } + var site = [file, line, colm]; + site.callSite = callSite; + site.name = callSite.getFunctionName(); + return site; + } + __name(callSiteLocation, "callSiteLocation"); + function defaultMessage(site) { + var callSite = site.callSite; + var funcName = site.name; + if (!funcName) { + funcName = "<anonymous@" + formatLocation(site) + ">"; + } + var context = callSite.getThis(); + var typeName = context && callSite.getTypeName(); + if (typeName === "Object") { + typeName = void 0; + } + if (typeName === "Function") { + typeName = context.name || typeName; + } + return typeName && callSite.getMethodName() ? typeName + "." + funcName : funcName; + } + __name(defaultMessage, "defaultMessage"); + function formatPlain(msg, caller, stack) { + var timestamp = (/* @__PURE__ */ new Date()).toUTCString(); + var formatted = timestamp + " " + this._namespace + " deprecated " + msg; + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += "\n at " + stack[i].toString(); + } + return formatted; + } + if (caller) { + formatted += " at " + formatLocation(caller); + } + return formatted; + } + __name(formatPlain, "formatPlain"); + function formatColor(msg, caller, stack) { + var formatted = "\x1B[36;1m" + this._namespace + "\x1B[22;39m \x1B[33;1mdeprecated\x1B[22;39m \x1B[0m" + msg + "\x1B[39m"; + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += "\n \x1B[36mat " + stack[i].toString() + "\x1B[39m"; + } + return formatted; + } + if (caller) { + formatted += " \x1B[36m" + formatLocation(caller) + "\x1B[39m"; + } + return formatted; + } + __name(formatColor, "formatColor"); + function formatLocation(callSite) { + return relative(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2]; + } + __name(formatLocation, "formatLocation"); + function getStack() { + var limit = Error.stackTraceLimit; + var obj = {}; + var prep = Error.prepareStackTrace; + Error.prepareStackTrace = prepareObjectStackTrace; + Error.stackTraceLimit = Math.max(10, limit); + Error.captureStackTrace(obj); + var stack = obj.stack.slice(1); + Error.prepareStackTrace = prep; + Error.stackTraceLimit = limit; + return stack; + } + __name(getStack, "getStack"); + function prepareObjectStackTrace(obj, stack) { + return stack; + } + __name(prepareObjectStackTrace, "prepareObjectStackTrace"); + function wrapfunction(fn, message) { + if (typeof fn !== "function") { + throw new TypeError("argument fn must be a function"); + } + var args = createArgumentsString(fn.length); + var stack = getStack(); + var site = callSiteLocation(stack[1]); + site.name = fn.name; + var deprecatedfn = new Function( + "fn", + "log", + "deprecate", + "message", + "site", + '"use strict"\nreturn function (' + args + ") {log.call(deprecate, message, site)\nreturn fn.apply(this, arguments)\n}" + )(fn, log, this, message, site); + return deprecatedfn; + } + __name(wrapfunction, "wrapfunction"); + function wrapproperty(obj, prop, message) { + if (!obj || typeof obj !== "object" && typeof obj !== "function") { + throw new TypeError("argument obj must be object"); + } + var descriptor = Object.getOwnPropertyDescriptor(obj, prop); + if (!descriptor) { + throw new TypeError("must call property on owner object"); + } + if (!descriptor.configurable) { + throw new TypeError("property must be configurable"); + } + var deprecate = this; + var stack = getStack(); + var site = callSiteLocation(stack[1]); + site.name = prop; + if ("value" in descriptor) { + descriptor = convertDataDescriptorToAccessor(obj, prop, message); + } + var get = descriptor.get; + var set = descriptor.set; + if (typeof get === "function") { + descriptor.get = /* @__PURE__ */ __name(function getter() { + log.call(deprecate, message, site); + return get.apply(this, arguments); + }, "getter"); + } + if (typeof set === "function") { + descriptor.set = /* @__PURE__ */ __name(function setter() { + log.call(deprecate, message, site); + return set.apply(this, arguments); + }, "setter"); + } + Object.defineProperty(obj, prop, descriptor); + } + __name(wrapproperty, "wrapproperty"); + function DeprecationError(namespace, message, stack) { + var error = new Error(); + var stackString; + Object.defineProperty(error, "constructor", { + value: DeprecationError + }); + Object.defineProperty(error, "message", { + configurable: true, + enumerable: false, + value: message, + writable: true + }); + Object.defineProperty(error, "name", { + enumerable: false, + configurable: true, + value: "DeprecationError", + writable: true + }); + Object.defineProperty(error, "namespace", { + configurable: true, + enumerable: false, + value: namespace, + writable: true + }); + Object.defineProperty(error, "stack", { + configurable: true, + enumerable: false, + get: /* @__PURE__ */ __name(function() { + if (stackString !== void 0) { + return stackString; + } + return stackString = createStackString.call(this, stack); + }, "get"), + set: /* @__PURE__ */ __name(function setter(val) { + stackString = val; + }, "setter") + }); + return error; + } + __name(DeprecationError, "DeprecationError"); + } +}); + +// ../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js +var require_setprototypeof = __commonJS({ + "../../node_modules/.pnpm/setprototypeof@1.2.0/node_modules/setprototypeof/index.js"(exports, module) { + "use strict"; + module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); + function setProtoOf(obj, proto) { + obj.__proto__ = proto; + return obj; + } + __name(setProtoOf, "setProtoOf"); + function mixinProperties(obj, proto) { + for (var prop in proto) { + if (!Object.prototype.hasOwnProperty.call(obj, prop)) { + obj[prop] = proto[prop]; + } + } + return obj; + } + __name(mixinProperties, "mixinProperties"); + } +}); + +// ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json +var require_codes = __commonJS({ + "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(exports, module) { + module.exports = { + "100": "Continue", + "101": "Switching Protocols", + "102": "Processing", + "103": "Early Hints", + "200": "OK", + "201": "Created", + "202": "Accepted", + "203": "Non-Authoritative Information", + "204": "No Content", + "205": "Reset Content", + "206": "Partial Content", + "207": "Multi-Status", + "208": "Already Reported", + "226": "IM Used", + "300": "Multiple Choices", + "301": "Moved Permanently", + "302": "Found", + "303": "See Other", + "304": "Not Modified", + "305": "Use Proxy", + "307": "Temporary Redirect", + "308": "Permanent Redirect", + "400": "Bad Request", + "401": "Unauthorized", + "402": "Payment Required", + "403": "Forbidden", + "404": "Not Found", + "405": "Method Not Allowed", + "406": "Not Acceptable", + "407": "Proxy Authentication Required", + "408": "Request Timeout", + "409": "Conflict", + "410": "Gone", + "411": "Length Required", + "412": "Precondition Failed", + "413": "Payload Too Large", + "414": "URI Too Long", + "415": "Unsupported Media Type", + "416": "Range Not Satisfiable", + "417": "Expectation Failed", + "418": "I'm a Teapot", + "421": "Misdirected Request", + "422": "Unprocessable Entity", + "423": "Locked", + "424": "Failed Dependency", + "425": "Too Early", + "426": "Upgrade Required", + "428": "Precondition Required", + "429": "Too Many Requests", + "431": "Request Header Fields Too Large", + "451": "Unavailable For Legal Reasons", + "500": "Internal Server Error", + "501": "Not Implemented", + "502": "Bad Gateway", + "503": "Service Unavailable", + "504": "Gateway Timeout", + "505": "HTTP Version Not Supported", + "506": "Variant Also Negotiates", + "507": "Insufficient Storage", + "508": "Loop Detected", + "509": "Bandwidth Limit Exceeded", + "510": "Not Extended", + "511": "Network Authentication Required" + }; + } +}); + +// ../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js +var require_statuses = __commonJS({ + "../../node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(exports, module) { + "use strict"; + var codes = require_codes(); + module.exports = status; + status.message = codes; + status.code = createMessageToStatusCodeMap(codes); + status.codes = createStatusCodeList(codes); + status.redirect = { + 300: true, + 301: true, + 302: true, + 303: true, + 305: true, + 307: true, + 308: true + }; + status.empty = { + 204: true, + 205: true, + 304: true + }; + status.retry = { + 502: true, + 503: true, + 504: true + }; + function createMessageToStatusCodeMap(codes2) { + var map2 = {}; + Object.keys(codes2).forEach(/* @__PURE__ */ __name(function forEachCode(code) { + var message = codes2[code]; + var status2 = Number(code); + map2[message.toLowerCase()] = status2; + }, "forEachCode")); + return map2; + } + __name(createMessageToStatusCodeMap, "createMessageToStatusCodeMap"); + function createStatusCodeList(codes2) { + return Object.keys(codes2).map(/* @__PURE__ */ __name(function mapCode(code) { + return Number(code); + }, "mapCode")); + } + __name(createStatusCodeList, "createStatusCodeList"); + function getStatusCode(message) { + var msg = message.toLowerCase(); + if (!Object.prototype.hasOwnProperty.call(status.code, msg)) { + throw new Error('invalid status message: "' + message + '"'); + } + return status.code[msg]; + } + __name(getStatusCode, "getStatusCode"); + function getStatusMessage(code) { + if (!Object.prototype.hasOwnProperty.call(status.message, code)) { + throw new Error("invalid status code: " + code); + } + return status.message[code]; + } + __name(getStatusMessage, "getStatusMessage"); + function status(code) { + if (typeof code === "number") { + return getStatusMessage(code); + } + if (typeof code !== "string") { + throw new TypeError("code must be a number or string"); + } + var n = parseInt(code, 10); + if (!isNaN(n)) { + return getStatusMessage(n); + } + return getStatusCode(code); + } + __name(status, "status"); + } +}); + +// ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js +var require_inherits_browser = __commonJS({ + "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports, module) { + if (typeof Object.create === "function") { + module.exports = /* @__PURE__ */ __name(function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + } + }, "inherits"); + } else { + module.exports = /* @__PURE__ */ __name(function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor; + var TempCtor = /* @__PURE__ */ __name(function() { + }, "TempCtor"); + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + }, "inherits"); + } + } +}); + +// ../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js +var require_inherits = __commonJS({ + "../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports, module) { + try { + util = __require("util"); + if (typeof util.inherits !== "function") throw ""; + module.exports = util.inherits; + } catch (e) { + module.exports = require_inherits_browser(); + } + var util; + } +}); + +// ../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js +var require_toidentifier = __commonJS({ + "../../node_modules/.pnpm/toidentifier@1.0.1/node_modules/toidentifier/index.js"(exports, module) { + "use strict"; + module.exports = toIdentifier; + function toIdentifier(str) { + return str.split(" ").map(function(token) { + return token.slice(0, 1).toUpperCase() + token.slice(1); + }).join("").replace(/[^ _0-9a-z]/gi, ""); + } + __name(toIdentifier, "toIdentifier"); + } +}); + +// ../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js +var require_http_errors = __commonJS({ + "../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"(exports, module) { + "use strict"; + var deprecate = require_depd()("http-errors"); + var setPrototypeOf = require_setprototypeof(); + var statuses = require_statuses(); + var inherits = require_inherits(); + var toIdentifier = require_toidentifier(); + module.exports = createError; + module.exports.HttpError = createHttpErrorConstructor(); + module.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError); + populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError); + function codeClass(status) { + return Number(String(status).charAt(0) + "00"); + } + __name(codeClass, "codeClass"); + function createError() { + var err; + var msg; + var status = 500; + var props = {}; + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + var type = typeof arg; + if (type === "object" && arg instanceof Error) { + err = arg; + status = err.status || err.statusCode || status; + } else if (type === "number" && i === 0) { + status = arg; + } else if (type === "string") { + msg = arg; + } else if (type === "object") { + props = arg; + } else { + throw new TypeError("argument #" + (i + 1) + " unsupported type " + type); + } + } + if (typeof status === "number" && (status < 400 || status >= 600)) { + deprecate("non-error status code; use only 4xx or 5xx status codes"); + } + if (typeof status !== "number" || !statuses.message[status] && (status < 400 || status >= 600)) { + status = 500; + } + var HttpError = createError[status] || createError[codeClass(status)]; + if (!err) { + err = HttpError ? new HttpError(msg) : new Error(msg || statuses.message[status]); + Error.captureStackTrace(err, createError); + } + if (!HttpError || !(err instanceof HttpError) || err.status !== status) { + err.expose = status < 500; + err.status = err.statusCode = status; + } + for (var key in props) { + if (key !== "status" && key !== "statusCode") { + err[key] = props[key]; + } + } + return err; + } + __name(createError, "createError"); + function createHttpErrorConstructor() { + function HttpError() { + throw new TypeError("cannot construct abstract class"); + } + __name(HttpError, "HttpError"); + inherits(HttpError, Error); + return HttpError; + } + __name(createHttpErrorConstructor, "createHttpErrorConstructor"); + function createClientErrorConstructor(HttpError, name, code) { + var className = toClassName(name); + function ClientError(message) { + var msg = message != null ? message : statuses.message[code]; + var err = new Error(msg); + Error.captureStackTrace(err, ClientError); + setPrototypeOf(err, ClientError.prototype); + Object.defineProperty(err, "message", { + enumerable: true, + configurable: true, + value: msg, + writable: true + }); + Object.defineProperty(err, "name", { + enumerable: false, + configurable: true, + value: className, + writable: true + }); + return err; + } + __name(ClientError, "ClientError"); + inherits(ClientError, HttpError); + nameFunc(ClientError, className); + ClientError.prototype.status = code; + ClientError.prototype.statusCode = code; + ClientError.prototype.expose = true; + return ClientError; + } + __name(createClientErrorConstructor, "createClientErrorConstructor"); + function createIsHttpErrorFunction(HttpError) { + return /* @__PURE__ */ __name(function isHttpError(val) { + if (!val || typeof val !== "object") { + return false; + } + if (val instanceof HttpError) { + return true; + } + return val instanceof Error && typeof val.expose === "boolean" && typeof val.statusCode === "number" && val.status === val.statusCode; + }, "isHttpError"); + } + __name(createIsHttpErrorFunction, "createIsHttpErrorFunction"); + function createServerErrorConstructor(HttpError, name, code) { + var className = toClassName(name); + function ServerError(message) { + var msg = message != null ? message : statuses.message[code]; + var err = new Error(msg); + Error.captureStackTrace(err, ServerError); + setPrototypeOf(err, ServerError.prototype); + Object.defineProperty(err, "message", { + enumerable: true, + configurable: true, + value: msg, + writable: true + }); + Object.defineProperty(err, "name", { + enumerable: false, + configurable: true, + value: className, + writable: true + }); + return err; + } + __name(ServerError, "ServerError"); + inherits(ServerError, HttpError); + nameFunc(ServerError, className); + ServerError.prototype.status = code; + ServerError.prototype.statusCode = code; + ServerError.prototype.expose = false; + return ServerError; + } + __name(createServerErrorConstructor, "createServerErrorConstructor"); + function nameFunc(func, name) { + var desc = Object.getOwnPropertyDescriptor(func, "name"); + if (desc && desc.configurable) { + desc.value = name; + Object.defineProperty(func, "name", desc); + } + } + __name(nameFunc, "nameFunc"); + function populateConstructorExports(exports2, codes, HttpError) { + codes.forEach(/* @__PURE__ */ __name(function forEachCode(code) { + var CodeError; + var name = toIdentifier(statuses.message[code]); + switch (codeClass(code)) { + case 400: + CodeError = createClientErrorConstructor(HttpError, name, code); + break; + case 500: + CodeError = createServerErrorConstructor(HttpError, name, code); + break; + } + if (CodeError) { + exports2[code] = CodeError; + exports2[name] = CodeError; + } + }, "forEachCode")); + } + __name(populateConstructorExports, "populateConstructorExports"); + function toClassName(name) { + return name.slice(-5) === "Error" ? name : name + "Error"; + } + __name(toClassName, "toClassName"); + } +}); + +// ../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js +var require_bytes = __commonJS({ + "../../node_modules/.pnpm/bytes@3.1.2/node_modules/bytes/index.js"(exports, module) { + "use strict"; + module.exports = bytes; + module.exports.format = format; + module.exports.parse = parse; + var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + var map2 = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5) + }; + var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + function bytes(value, options) { + if (typeof value === "string") { + return parse(value); + } + if (typeof value === "number") { + return format(value, options); + } + return null; + } + __name(bytes, "bytes"); + function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + var mag = Math.abs(value); + var thousandsSeparator = options && options.thousandsSeparator || ""; + var unitSeparator = options && options.unitSeparator || ""; + var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = options && options.unit || ""; + if (!unit || !map2[unit.toLowerCase()]) { + if (mag >= map2.pb) { + unit = "PB"; + } else if (mag >= map2.tb) { + unit = "TB"; + } else if (mag >= map2.gb) { + unit = "GB"; + } else if (mag >= map2.mb) { + unit = "MB"; + } else if (mag >= map2.kb) { + unit = "KB"; + } else { + unit = "B"; + } + } + var val = value / map2[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, "$1"); + } + if (thousandsSeparator) { + str = str.split(".").map(function(s, i) { + return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s; + }).join("."); + } + return str + unitSeparator + unit; + } + __name(format, "format"); + function parse(val) { + if (typeof val === "number" && !isNaN(val)) { + return val; + } + if (typeof val !== "string") { + return null; + } + var results = parseRegExp.exec(val); + var floatValue; + var unit = "b"; + if (!results) { + floatValue = parseInt(val, 10); + unit = "b"; + } else { + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + if (isNaN(floatValue)) { + return null; + } + return Math.floor(map2[unit] * floatValue); + } + __name(parse, "parse"); + } +}); + +// ../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js +var require_safer = __commonJS({ + "../../node_modules/.pnpm/safer-buffer@2.1.2/node_modules/safer-buffer/safer.js"(exports, module) { + "use strict"; + var buffer = __require("buffer"); + var Buffer2 = buffer.Buffer; + var safer = {}; + var key; + for (key in buffer) { + if (!buffer.hasOwnProperty(key)) continue; + if (key === "SlowBuffer" || key === "Buffer") continue; + safer[key] = buffer[key]; + } + var Safer = safer.Buffer = {}; + for (key in Buffer2) { + if (!Buffer2.hasOwnProperty(key)) continue; + if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue; + Safer[key] = Buffer2[key]; + } + safer.Buffer.prototype = Buffer2.prototype; + if (!Safer.from || Safer.from === Uint8Array.from) { + Safer.from = function(value, encodingOrOffset, length) { + if (typeof value === "number") { + throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value); + } + if (value && typeof value.length === "undefined") { + throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value); + } + return Buffer2(value, encodingOrOffset, length); + }; + } + if (!Safer.alloc) { + Safer.alloc = function(size, fill, encoding) { + if (typeof size !== "number") { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size); + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } + var buf = Buffer2(size); + if (!fill || fill.length === 0) { + buf.fill(0); + } else if (typeof encoding === "string") { + buf.fill(fill, encoding); + } else { + buf.fill(fill); + } + return buf; + }; + } + if (!safer.kStringMaxLength) { + try { + safer.kStringMaxLength = process.binding("buffer").kStringMaxLength; + } catch (e) { + } + } + if (!safer.constants) { + safer.constants = { + MAX_LENGTH: safer.kMaxLength + }; + if (safer.kStringMaxLength) { + safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength; + } + } + module.exports = safer; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/bom-handling.js +var require_bom_handling = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/bom-handling.js"(exports) { + "use strict"; + var BOMChar = "\uFEFF"; + exports.PrependBOM = PrependBOMWrapper; + function PrependBOMWrapper(encoder, options) { + this.encoder = encoder; + this.addBOM = true; + } + __name(PrependBOMWrapper, "PrependBOMWrapper"); + PrependBOMWrapper.prototype.write = function(str) { + if (this.addBOM) { + str = BOMChar + str; + this.addBOM = false; + } + return this.encoder.write(str); + }; + PrependBOMWrapper.prototype.end = function() { + return this.encoder.end(); + }; + exports.StripBOM = StripBOMWrapper; + function StripBOMWrapper(decoder, options) { + this.decoder = decoder; + this.pass = false; + this.options = options || {}; + } + __name(StripBOMWrapper, "StripBOMWrapper"); + StripBOMWrapper.prototype.write = function(buf) { + var res = this.decoder.write(buf); + if (this.pass || !res) { + return res; + } + if (res[0] === BOMChar) { + res = res.slice(1); + if (typeof this.options.stripBOM === "function") { + this.options.stripBOM(); + } + } + this.pass = true; + return res; + }; + StripBOMWrapper.prototype.end = function() { + return this.decoder.end(); + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/helpers/merge-exports.js +var require_merge_exports = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/helpers/merge-exports.js"(exports, module) { + "use strict"; + var hasOwn = typeof Object.hasOwn === "undefined" ? Function.call.bind(Object.prototype.hasOwnProperty) : Object.hasOwn; + function mergeModules(target, module2) { + for (var key in module2) { + if (hasOwn(module2, key)) { + target[key] = module2[key]; + } + } + } + __name(mergeModules, "mergeModules"); + module.exports = mergeModules; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/internal.js +var require_internal = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/internal.js"(exports, module) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module.exports = { + // Encodings + utf8: { type: "_internal", bomAware: true }, + cesu8: { type: "_internal", bomAware: true }, + unicode11utf8: "utf8", + ucs2: { type: "_internal", bomAware: true }, + utf16le: "ucs2", + binary: { type: "_internal" }, + base64: { type: "_internal" }, + hex: { type: "_internal" }, + // Codec. + _internal: InternalCodec + }; + function InternalCodec(codecOptions, iconv) { + this.enc = codecOptions.encodingName; + this.bomAware = codecOptions.bomAware; + if (this.enc === "base64") { + this.encoder = InternalEncoderBase64; + } else if (this.enc === "utf8") { + this.encoder = InternalEncoderUtf8; + } else if (this.enc === "cesu8") { + this.enc = "utf8"; + this.encoder = InternalEncoderCesu8; + if (Buffer2.from("eda0bdedb2a9", "hex").toString() !== "\u{1F4A9}") { + this.decoder = InternalDecoderCesu8; + this.defaultCharUnicode = iconv.defaultCharUnicode; + } + } + } + __name(InternalCodec, "InternalCodec"); + InternalCodec.prototype.encoder = InternalEncoder; + InternalCodec.prototype.decoder = InternalDecoder; + var StringDecoder = __require("string_decoder").StringDecoder; + function InternalDecoder(options, codec) { + this.decoder = new StringDecoder(codec.enc); + } + __name(InternalDecoder, "InternalDecoder"); + InternalDecoder.prototype.write = function(buf) { + if (!Buffer2.isBuffer(buf)) { + buf = Buffer2.from(buf); + } + return this.decoder.write(buf); + }; + InternalDecoder.prototype.end = function() { + return this.decoder.end(); + }; + function InternalEncoder(options, codec) { + this.enc = codec.enc; + } + __name(InternalEncoder, "InternalEncoder"); + InternalEncoder.prototype.write = function(str) { + return Buffer2.from(str, this.enc); + }; + InternalEncoder.prototype.end = function() { + }; + function InternalEncoderBase64(options, codec) { + this.prevStr = ""; + } + __name(InternalEncoderBase64, "InternalEncoderBase64"); + InternalEncoderBase64.prototype.write = function(str) { + str = this.prevStr + str; + var completeQuads = str.length - str.length % 4; + this.prevStr = str.slice(completeQuads); + str = str.slice(0, completeQuads); + return Buffer2.from(str, "base64"); + }; + InternalEncoderBase64.prototype.end = function() { + return Buffer2.from(this.prevStr, "base64"); + }; + function InternalEncoderCesu8(options, codec) { + } + __name(InternalEncoderCesu8, "InternalEncoderCesu8"); + InternalEncoderCesu8.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length * 3); + var bufIdx = 0; + for (var i = 0; i < str.length; i++) { + var charCode = str.charCodeAt(i); + if (charCode < 128) { + buf[bufIdx++] = charCode; + } else if (charCode < 2048) { + buf[bufIdx++] = 192 + (charCode >>> 6); + buf[bufIdx++] = 128 + (charCode & 63); + } else { + buf[bufIdx++] = 224 + (charCode >>> 12); + buf[bufIdx++] = 128 + (charCode >>> 6 & 63); + buf[bufIdx++] = 128 + (charCode & 63); + } + } + return buf.slice(0, bufIdx); + }; + InternalEncoderCesu8.prototype.end = function() { + }; + function InternalDecoderCesu8(options, codec) { + this.acc = 0; + this.contBytes = 0; + this.accBytes = 0; + this.defaultCharUnicode = codec.defaultCharUnicode; + } + __name(InternalDecoderCesu8, "InternalDecoderCesu8"); + InternalDecoderCesu8.prototype.write = function(buf) { + var acc = this.acc; + var contBytes = this.contBytes; + var accBytes = this.accBytes; + var res = ""; + for (var i = 0; i < buf.length; i++) { + var curByte = buf[i]; + if ((curByte & 192) !== 128) { + if (contBytes > 0) { + res += this.defaultCharUnicode; + contBytes = 0; + } + if (curByte < 128) { + res += String.fromCharCode(curByte); + } else if (curByte < 224) { + acc = curByte & 31; + contBytes = 1; + accBytes = 1; + } else if (curByte < 240) { + acc = curByte & 15; + contBytes = 2; + accBytes = 1; + } else { + res += this.defaultCharUnicode; + } + } else { + if (contBytes > 0) { + acc = acc << 6 | curByte & 63; + contBytes--; + accBytes++; + if (contBytes === 0) { + if (accBytes === 2 && acc < 128 && acc > 0) { + res += this.defaultCharUnicode; + } else if (accBytes === 3 && acc < 2048) { + res += this.defaultCharUnicode; + } else { + res += String.fromCharCode(acc); + } + } + } else { + res += this.defaultCharUnicode; + } + } + } + this.acc = acc; + this.contBytes = contBytes; + this.accBytes = accBytes; + return res; + }; + InternalDecoderCesu8.prototype.end = function() { + var res = 0; + if (this.contBytes > 0) { + res += this.defaultCharUnicode; + } + return res; + }; + function InternalEncoderUtf8(options, codec) { + this.highSurrogate = ""; + } + __name(InternalEncoderUtf8, "InternalEncoderUtf8"); + InternalEncoderUtf8.prototype.write = function(str) { + if (this.highSurrogate) { + str = this.highSurrogate + str; + this.highSurrogate = ""; + } + if (str.length > 0) { + var charCode = str.charCodeAt(str.length - 1); + if (charCode >= 55296 && charCode < 56320) { + this.highSurrogate = str[str.length - 1]; + str = str.slice(0, str.length - 1); + } + } + return Buffer2.from(str, this.enc); + }; + InternalEncoderUtf8.prototype.end = function() { + if (this.highSurrogate) { + var str = this.highSurrogate; + this.highSurrogate = ""; + return Buffer2.from(str, this.enc); + } + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf32.js +var require_utf32 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf32.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._utf32 = Utf32Codec; + function Utf32Codec(codecOptions, iconv) { + this.iconv = iconv; + this.bomAware = true; + this.isLE = codecOptions.isLE; + } + __name(Utf32Codec, "Utf32Codec"); + exports.utf32le = { type: "_utf32", isLE: true }; + exports.utf32be = { type: "_utf32", isLE: false }; + exports.ucs4le = "utf32le"; + exports.ucs4be = "utf32be"; + Utf32Codec.prototype.encoder = Utf32Encoder; + Utf32Codec.prototype.decoder = Utf32Decoder; + function Utf32Encoder(options, codec) { + this.isLE = codec.isLE; + this.highSurrogate = 0; + } + __name(Utf32Encoder, "Utf32Encoder"); + Utf32Encoder.prototype.write = function(str) { + var src = Buffer2.from(str, "ucs2"); + var dst = Buffer2.alloc(src.length * 2 + 4); + var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE; + var offset = 0; + for (var i = 0; i < src.length; i += 2) { + var code = src.readUInt16LE(i); + var isHighSurrogate = code >= 55296 && code < 56320; + var isLowSurrogate = code >= 56320 && code < 57344; + if (this.highSurrogate) { + if (isHighSurrogate || !isLowSurrogate) { + write32.call(dst, this.highSurrogate, offset); + offset += 4; + } else { + var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536; + write32.call(dst, codepoint, offset); + offset += 4; + this.highSurrogate = 0; + continue; + } + } + if (isHighSurrogate) { + this.highSurrogate = code; + } else { + write32.call(dst, code, offset); + offset += 4; + this.highSurrogate = 0; + } + } + if (offset < dst.length) { + dst = dst.slice(0, offset); + } + return dst; + }; + Utf32Encoder.prototype.end = function() { + if (!this.highSurrogate) { + return; + } + var buf = Buffer2.alloc(4); + if (this.isLE) { + buf.writeUInt32LE(this.highSurrogate, 0); + } else { + buf.writeUInt32BE(this.highSurrogate, 0); + } + this.highSurrogate = 0; + return buf; + }; + function Utf32Decoder(options, codec) { + this.isLE = codec.isLE; + this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0); + this.overflow = []; + } + __name(Utf32Decoder, "Utf32Decoder"); + Utf32Decoder.prototype.write = function(src) { + if (src.length === 0) { + return ""; + } + var i = 0; + var codepoint = 0; + var dst = Buffer2.alloc(src.length + 4); + var offset = 0; + var isLE = this.isLE; + var overflow = this.overflow; + var badChar = this.badChar; + if (overflow.length > 0) { + for (; i < src.length && overflow.length < 4; i++) { + overflow.push(src[i]); + } + if (overflow.length === 4) { + if (isLE) { + codepoint = overflow[0] | overflow[1] << 8 | overflow[2] << 16 | overflow[3] << 24; + } else { + codepoint = overflow[3] | overflow[2] << 8 | overflow[1] << 16 | overflow[0] << 24; + } + overflow.length = 0; + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + } + for (; i < src.length - 3; i += 4) { + if (isLE) { + codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24; + } else { + codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24; + } + offset = _writeCodepoint(dst, offset, codepoint, badChar); + } + for (; i < src.length; i++) { + overflow.push(src[i]); + } + return dst.slice(0, offset).toString("ucs2"); + }; + function _writeCodepoint(dst, offset, codepoint, badChar) { + if (codepoint < 0 || codepoint > 1114111) { + codepoint = badChar; + } + if (codepoint >= 65536) { + codepoint -= 65536; + var high = 55296 | codepoint >> 10; + dst[offset++] = high & 255; + dst[offset++] = high >> 8; + var codepoint = 56320 | codepoint & 1023; + } + dst[offset++] = codepoint & 255; + dst[offset++] = codepoint >> 8; + return offset; + } + __name(_writeCodepoint, "_writeCodepoint"); + Utf32Decoder.prototype.end = function() { + if (this.overflow.length === 0) { + return; + } + this.overflow.length = 0; + return String.fromCharCode(this.badChar); + }; + exports.utf32 = Utf32AutoCodec; + exports.ucs4 = "utf32"; + function Utf32AutoCodec(options, iconv) { + this.iconv = iconv; + } + __name(Utf32AutoCodec, "Utf32AutoCodec"); + Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; + Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; + function Utf32AutoEncoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) { + options.addBOM = true; + } + this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options); + } + __name(Utf32AutoEncoder, "Utf32AutoEncoder"); + Utf32AutoEncoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf32AutoEncoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf32AutoDecoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + __name(Utf32AutoDecoder, "Utf32AutoDecoder"); + Utf32AutoDecoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 32) { + return ""; + } + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) { + resStr += this.decoder.write(this.initialBufs[i]); + } + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf32AutoDecoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) { + resStr += this.decoder.write(this.initialBufs[i]); + } + var trail = this.decoder.end(); + if (trail) { + resStr += trail; + } + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var invalidLE = 0; + var invalidBE = 0; + var bmpCharsLE = 0; + var bmpCharsBE = 0; + outerLoop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 4) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) { + return "utf-32le"; + } + if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) { + return "utf-32be"; + } + } + if (b[0] !== 0 || b[1] > 16) invalidBE++; + if (b[3] !== 0 || b[2] > 16) invalidLE++; + if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++; + if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outerLoop; + } + } + } + } + if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be"; + if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le"; + return defaultEncoding || "utf-32le"; + } + __name(detectEncoding, "detectEncoding"); + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf16.js +var require_utf16 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf16.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf16be = Utf16BECodec; + function Utf16BECodec() { + } + __name(Utf16BECodec, "Utf16BECodec"); + Utf16BECodec.prototype.encoder = Utf16BEEncoder; + Utf16BECodec.prototype.decoder = Utf16BEDecoder; + Utf16BECodec.prototype.bomAware = true; + function Utf16BEEncoder() { + } + __name(Utf16BEEncoder, "Utf16BEEncoder"); + Utf16BEEncoder.prototype.write = function(str) { + var buf = Buffer2.from(str, "ucs2"); + for (var i = 0; i < buf.length; i += 2) { + var tmp = buf[i]; + buf[i] = buf[i + 1]; + buf[i + 1] = tmp; + } + return buf; + }; + Utf16BEEncoder.prototype.end = function() { + }; + function Utf16BEDecoder() { + this.overflowByte = -1; + } + __name(Utf16BEDecoder, "Utf16BEDecoder"); + Utf16BEDecoder.prototype.write = function(buf) { + if (buf.length == 0) { + return ""; + } + var buf2 = Buffer2.alloc(buf.length + 1); + var i = 0; + var j = 0; + if (this.overflowByte !== -1) { + buf2[0] = buf[0]; + buf2[1] = this.overflowByte; + i = 1; + j = 2; + } + for (; i < buf.length - 1; i += 2, j += 2) { + buf2[j] = buf[i + 1]; + buf2[j + 1] = buf[i]; + } + this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1; + return buf2.slice(0, j).toString("ucs2"); + }; + Utf16BEDecoder.prototype.end = function() { + this.overflowByte = -1; + }; + exports.utf16 = Utf16Codec; + function Utf16Codec(codecOptions, iconv) { + this.iconv = iconv; + } + __name(Utf16Codec, "Utf16Codec"); + Utf16Codec.prototype.encoder = Utf16Encoder; + Utf16Codec.prototype.decoder = Utf16Decoder; + function Utf16Encoder(options, codec) { + options = options || {}; + if (options.addBOM === void 0) { + options.addBOM = true; + } + this.encoder = codec.iconv.getEncoder("utf-16le", options); + } + __name(Utf16Encoder, "Utf16Encoder"); + Utf16Encoder.prototype.write = function(str) { + return this.encoder.write(str); + }; + Utf16Encoder.prototype.end = function() { + return this.encoder.end(); + }; + function Utf16Decoder(options, codec) { + this.decoder = null; + this.initialBufs = []; + this.initialBufsLen = 0; + this.options = options || {}; + this.iconv = codec.iconv; + } + __name(Utf16Decoder, "Utf16Decoder"); + Utf16Decoder.prototype.write = function(buf) { + if (!this.decoder) { + this.initialBufs.push(buf); + this.initialBufsLen += buf.length; + if (this.initialBufsLen < 16) { + return ""; + } + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) { + resStr += this.decoder.write(this.initialBufs[i]); + } + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.write(buf); + }; + Utf16Decoder.prototype.end = function() { + if (!this.decoder) { + var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding); + this.decoder = this.iconv.getDecoder(encoding, this.options); + var resStr = ""; + for (var i = 0; i < this.initialBufs.length; i++) { + resStr += this.decoder.write(this.initialBufs[i]); + } + var trail = this.decoder.end(); + if (trail) { + resStr += trail; + } + this.initialBufs.length = this.initialBufsLen = 0; + return resStr; + } + return this.decoder.end(); + }; + function detectEncoding(bufs, defaultEncoding) { + var b = []; + var charsProcessed = 0; + var asciiCharsLE = 0; + var asciiCharsBE = 0; + outerLoop: + for (var i = 0; i < bufs.length; i++) { + var buf = bufs[i]; + for (var j = 0; j < buf.length; j++) { + b.push(buf[j]); + if (b.length === 2) { + if (charsProcessed === 0) { + if (b[0] === 255 && b[1] === 254) return "utf-16le"; + if (b[0] === 254 && b[1] === 255) return "utf-16be"; + } + if (b[0] === 0 && b[1] !== 0) asciiCharsBE++; + if (b[0] !== 0 && b[1] === 0) asciiCharsLE++; + b.length = 0; + charsProcessed++; + if (charsProcessed >= 100) { + break outerLoop; + } + } + } + } + if (asciiCharsBE > asciiCharsLE) return "utf-16be"; + if (asciiCharsBE < asciiCharsLE) return "utf-16le"; + return defaultEncoding || "utf-16le"; + } + __name(detectEncoding, "detectEncoding"); + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf7.js +var require_utf7 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/utf7.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports.utf7 = Utf7Codec; + exports.unicode11utf7 = "utf7"; + function Utf7Codec(codecOptions, iconv) { + this.iconv = iconv; + } + __name(Utf7Codec, "Utf7Codec"); + Utf7Codec.prototype.encoder = Utf7Encoder; + Utf7Codec.prototype.decoder = Utf7Decoder; + Utf7Codec.prototype.bomAware = true; + var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; + function Utf7Encoder(options, codec) { + this.iconv = codec.iconv; + } + __name(Utf7Encoder, "Utf7Encoder"); + Utf7Encoder.prototype.write = function(str) { + return Buffer2.from(str.replace(nonDirectChars, function(chunk) { + return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-"; + }.bind(this))); + }; + Utf7Encoder.prototype.end = function() { + }; + function Utf7Decoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + __name(Utf7Decoder, "Utf7Decoder"); + var base64Regex = /[A-Za-z0-9\/+]/; + var base64Chars = []; + for (i = 0; i < 256; i++) { + base64Chars[i] = base64Regex.test(String.fromCharCode(i)); + } + var i; + var plusChar = "+".charCodeAt(0); + var minusChar = "-".charCodeAt(0); + var andChar = "&".charCodeAt(0); + Utf7Decoder.prototype.write = function(buf) { + var res = ""; + var lastI = 0; + var inBase64 = this.inBase64; + var base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == plusChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64Chars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "+"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) { + i2--; + } + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7Decoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) { + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + } + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + exports.utf7imap = Utf7IMAPCodec; + function Utf7IMAPCodec(codecOptions, iconv) { + this.iconv = iconv; + } + __name(Utf7IMAPCodec, "Utf7IMAPCodec"); + Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; + Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; + Utf7IMAPCodec.prototype.bomAware = true; + function Utf7IMAPEncoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = Buffer2.alloc(6); + this.base64AccumIdx = 0; + } + __name(Utf7IMAPEncoder, "Utf7IMAPEncoder"); + Utf7IMAPEncoder.prototype.write = function(str) { + var inBase64 = this.inBase64; + var base64Accum = this.base64Accum; + var base64AccumIdx = this.base64AccumIdx; + var buf = Buffer2.alloc(str.length * 5 + 10); + var bufIdx = 0; + for (var i2 = 0; i2 < str.length; i2++) { + var uChar = str.charCodeAt(i2); + if (uChar >= 32 && uChar <= 126) { + if (inBase64) { + if (base64AccumIdx > 0) { + bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + inBase64 = false; + } + if (!inBase64) { + buf[bufIdx++] = uChar; + if (uChar === andChar) { + buf[bufIdx++] = minusChar; + } + } + } else { + if (!inBase64) { + buf[bufIdx++] = andChar; + inBase64 = true; + } + if (inBase64) { + base64Accum[base64AccumIdx++] = uChar >> 8; + base64Accum[base64AccumIdx++] = uChar & 255; + if (base64AccumIdx == base64Accum.length) { + bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx); + base64AccumIdx = 0; + } + } + } + } + this.inBase64 = inBase64; + this.base64AccumIdx = base64AccumIdx; + return buf.slice(0, bufIdx); + }; + Utf7IMAPEncoder.prototype.end = function() { + var buf = Buffer2.alloc(10); + var bufIdx = 0; + if (this.inBase64) { + if (this.base64AccumIdx > 0) { + bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx); + this.base64AccumIdx = 0; + } + buf[bufIdx++] = minusChar; + this.inBase64 = false; + } + return buf.slice(0, bufIdx); + }; + function Utf7IMAPDecoder(options, codec) { + this.iconv = codec.iconv; + this.inBase64 = false; + this.base64Accum = ""; + } + __name(Utf7IMAPDecoder, "Utf7IMAPDecoder"); + var base64IMAPChars = base64Chars.slice(); + base64IMAPChars[",".charCodeAt(0)] = true; + Utf7IMAPDecoder.prototype.write = function(buf) { + var res = ""; + var lastI = 0; + var inBase64 = this.inBase64; + var base64Accum = this.base64Accum; + for (var i2 = 0; i2 < buf.length; i2++) { + if (!inBase64) { + if (buf[i2] == andChar) { + res += this.iconv.decode(buf.slice(lastI, i2), "ascii"); + lastI = i2 + 1; + inBase64 = true; + } + } else { + if (!base64IMAPChars[buf[i2]]) { + if (i2 == lastI && buf[i2] == minusChar) { + res += "&"; + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i2), "ascii").replace(/,/g, "/"); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + if (buf[i2] != minusChar) { + i2--; + } + lastI = i2 + 1; + inBase64 = false; + base64Accum = ""; + } + } + } + if (!inBase64) { + res += this.iconv.decode(buf.slice(lastI), "ascii"); + } else { + var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/"); + var canBeDecoded = b64str.length - b64str.length % 8; + base64Accum = b64str.slice(canBeDecoded); + b64str = b64str.slice(0, canBeDecoded); + res += this.iconv.decode(Buffer2.from(b64str, "base64"), "utf16-be"); + } + this.inBase64 = inBase64; + this.base64Accum = base64Accum; + return res; + }; + Utf7IMAPDecoder.prototype.end = function() { + var res = ""; + if (this.inBase64 && this.base64Accum.length > 0) { + res = this.iconv.decode(Buffer2.from(this.base64Accum, "base64"), "utf16-be"); + } + this.inBase64 = false; + this.base64Accum = ""; + return res; + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-codec.js +var require_sbcs_codec = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._sbcs = SBCSCodec; + function SBCSCodec(codecOptions, iconv) { + if (!codecOptions) { + throw new Error("SBCS codec is called without the data."); + } + if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) { + throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)"); + } + if (codecOptions.chars.length === 128) { + var asciiString = ""; + for (var i = 0; i < 128; i++) { + asciiString += String.fromCharCode(i); + } + codecOptions.chars = asciiString + codecOptions.chars; + } + this.decodeBuf = Buffer2.from(codecOptions.chars, "ucs2"); + var encodeBuf = Buffer2.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0)); + for (var i = 0; i < codecOptions.chars.length; i++) { + encodeBuf[codecOptions.chars.charCodeAt(i)] = i; + } + this.encodeBuf = encodeBuf; + } + __name(SBCSCodec, "SBCSCodec"); + SBCSCodec.prototype.encoder = SBCSEncoder; + SBCSCodec.prototype.decoder = SBCSDecoder; + function SBCSEncoder(options, codec) { + this.encodeBuf = codec.encodeBuf; + } + __name(SBCSEncoder, "SBCSEncoder"); + SBCSEncoder.prototype.write = function(str) { + var buf = Buffer2.alloc(str.length); + for (var i = 0; i < str.length; i++) { + buf[i] = this.encodeBuf[str.charCodeAt(i)]; + } + return buf; + }; + SBCSEncoder.prototype.end = function() { + }; + function SBCSDecoder(options, codec) { + this.decodeBuf = codec.decodeBuf; + } + __name(SBCSDecoder, "SBCSDecoder"); + SBCSDecoder.prototype.write = function(buf) { + var decodeBuf = this.decodeBuf; + var newBuf = Buffer2.alloc(buf.length * 2); + var idx1 = 0; + var idx2 = 0; + for (var i = 0; i < buf.length; i++) { + idx1 = buf[i] * 2; + idx2 = i * 2; + newBuf[idx2] = decodeBuf[idx1]; + newBuf[idx2 + 1] = decodeBuf[idx1 + 1]; + } + return newBuf.toString("ucs2"); + }; + SBCSDecoder.prototype.end = function() { + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data.js +var require_sbcs_data = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) { + "use strict"; + module.exports = { + // Not supported by iconv, not sure why. + 10029: "maccenteuro", + maccenteuro: { + type: "_sbcs", + chars: "\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7" + }, + 808: "cp808", + ibm808: "cp808", + cp808: { + type: "_sbcs", + chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0" + }, + mik: { + type: "_sbcs", + chars: "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + cp720: { + type: "_sbcs", + chars: "\x80\x81\xE9\xE2\x84\xE0\x86\xE7\xEA\xEB\xE8\xEF\xEE\x8D\x8E\x8F\x90\u0651\u0652\xF4\xA4\u0640\xFB\xF9\u0621\u0622\u0623\u0624\xA3\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0636\u0637\u0638\u0639\u063A\u0641\xB5\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u2261\u064B\u064C\u064D\u064E\u064F\u0650\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + // Aliases of generated encodings. + ascii8bit: "ascii", + usascii: "ascii", + ansix34: "ascii", + ansix341968: "ascii", + ansix341986: "ascii", + csascii: "ascii", + cp367: "ascii", + ibm367: "ascii", + isoir6: "ascii", + iso646us: "ascii", + iso646irv: "ascii", + us: "ascii", + latin1: "iso88591", + latin2: "iso88592", + latin3: "iso88593", + latin4: "iso88594", + latin5: "iso88599", + latin6: "iso885910", + latin7: "iso885913", + latin8: "iso885914", + latin9: "iso885915", + latin10: "iso885916", + csisolatin1: "iso88591", + csisolatin2: "iso88592", + csisolatin3: "iso88593", + csisolatin4: "iso88594", + csisolatincyrillic: "iso88595", + csisolatinarabic: "iso88596", + csisolatingreek: "iso88597", + csisolatinhebrew: "iso88598", + csisolatin5: "iso88599", + csisolatin6: "iso885910", + l1: "iso88591", + l2: "iso88592", + l3: "iso88593", + l4: "iso88594", + l5: "iso88599", + l6: "iso885910", + l7: "iso885913", + l8: "iso885914", + l9: "iso885915", + l10: "iso885916", + isoir14: "iso646jp", + isoir57: "iso646cn", + isoir100: "iso88591", + isoir101: "iso88592", + isoir109: "iso88593", + isoir110: "iso88594", + isoir144: "iso88595", + isoir127: "iso88596", + isoir126: "iso88597", + isoir138: "iso88598", + isoir148: "iso88599", + isoir157: "iso885910", + isoir166: "tis620", + isoir179: "iso885913", + isoir199: "iso885914", + isoir203: "iso885915", + isoir226: "iso885916", + cp819: "iso88591", + ibm819: "iso88591", + cyrillic: "iso88595", + arabic: "iso88596", + arabic8: "iso88596", + ecma114: "iso88596", + asmo708: "iso88596", + greek: "iso88597", + greek8: "iso88597", + ecma118: "iso88597", + elot928: "iso88597", + hebrew: "iso88598", + hebrew8: "iso88598", + iso88598i: "iso88598", + iso88598e: "iso88598", + turkish: "iso88599", + turkish8: "iso88599", + thai: "iso885911", + thai8: "iso885911", + celtic: "iso885914", + celtic8: "iso885914", + isoceltic: "iso885914", + tis6200: "tis620", + tis62025291: "tis620", + tis62025330: "tis620", + 1e4: "macroman", + 10006: "macgreek", + 10007: "maccyrillic", + 10079: "maciceland", + 10081: "macturkish", + cspc8codepage437: "cp437", + cspc775baltic: "cp775", + cspc850multilingual: "cp850", + cspcp852: "cp852", + cspc862latinhebrew: "cp862", + cpgr: "cp869", + msee: "cp1250", + mscyrl: "cp1251", + msansi: "cp1252", + msgreek: "cp1253", + msturk: "cp1254", + mshebr: "cp1255", + msarab: "cp1256", + winbaltrim: "cp1257", + cp20866: "koi8r", + 20866: "koi8r", + ibm878: "koi8r", + cskoi8r: "koi8r", + cp21866: "koi8u", + 21866: "koi8u", + ibm1168: "koi8u", + strk10482002: "rk1048", + tcvn5712: "tcvn", + tcvn57121: "tcvn", + gb198880: "iso646cn", + cn: "iso646cn", + csiso14jisc6220ro: "iso646jp", + jisc62201969ro: "iso646jp", + jp: "iso646jp", + cshproman8: "hproman8", + r8: "hproman8", + roman8: "hproman8", + xroman8: "hproman8", + ibm1051: "hproman8", + mac: "macintosh", + csmacintosh: "macintosh" + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data-generated.js +var require_sbcs_data_generated = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) { + "use strict"; + module.exports = { + "437": "cp437", + "737": "cp737", + "775": "cp775", + "850": "cp850", + "852": "cp852", + "855": "cp855", + "856": "cp856", + "857": "cp857", + "858": "cp858", + "860": "cp860", + "861": "cp861", + "862": "cp862", + "863": "cp863", + "864": "cp864", + "865": "cp865", + "866": "cp866", + "869": "cp869", + "874": "windows874", + "922": "cp922", + "1046": "cp1046", + "1124": "cp1124", + "1125": "cp1125", + "1129": "cp1129", + "1133": "cp1133", + "1161": "cp1161", + "1162": "cp1162", + "1163": "cp1163", + "1250": "windows1250", + "1251": "windows1251", + "1252": "windows1252", + "1253": "windows1253", + "1254": "windows1254", + "1255": "windows1255", + "1256": "windows1256", + "1257": "windows1257", + "1258": "windows1258", + "28591": "iso88591", + "28592": "iso88592", + "28593": "iso88593", + "28594": "iso88594", + "28595": "iso88595", + "28596": "iso88596", + "28597": "iso88597", + "28598": "iso88598", + "28599": "iso88599", + "28600": "iso885910", + "28601": "iso885911", + "28603": "iso885913", + "28604": "iso885914", + "28605": "iso885915", + "28606": "iso885916", + "windows874": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "win874": "windows874", + "cp874": "windows874", + "windows1250": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "win1250": "windows1250", + "cp1250": "windows1250", + "windows1251": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "win1251": "windows1251", + "cp1251": "windows1251", + "windows1252": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "win1252": "windows1252", + "cp1252": "windows1252", + "windows1253": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "win1253": "windows1253", + "cp1253": "windows1253", + "windows1254": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "win1254": "windows1254", + "cp1254": "windows1254", + "windows1255": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "win1255": "windows1255", + "cp1255": "windows1255", + "windows1256": { + "type": "_sbcs", + "chars": "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2" + }, + "win1256": "windows1256", + "cp1256": "windows1256", + "windows1257": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9" + }, + "win1257": "windows1257", + "cp1257": "windows1257", + "windows1258": { + "type": "_sbcs", + "chars": "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "win1258": "windows1258", + "cp1258": "windows1258", + "iso88591": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28591": "iso88591", + "iso88592": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9" + }, + "cp28592": "iso88592", + "iso88593": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9" + }, + "cp28593": "iso88593", + "iso88594": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9" + }, + "cp28594": "iso88594", + "iso88595": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "cp28595": "iso88595", + "iso88596": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28596": "iso88596", + "iso88597": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" + }, + "cp28597": "iso88597", + "iso88598": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" + }, + "cp28598": "iso88598", + "iso88599": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF" + }, + "cp28599": "iso88599", + "iso885910": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138" + }, + "cp28600": "iso885910", + "iso885911": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "cp28601": "iso885911", + "iso885913": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019" + }, + "cp28603": "iso885913", + "iso885914": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF" + }, + "cp28604": "iso885914", + "iso885915": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "cp28605": "iso885915", + "iso885916": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF" + }, + "cp28606": "iso885916", + "cp437": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm437": "cp437", + "csibm437": "cp437", + "cp737": { + "type": "_sbcs", + "chars": "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm737": "cp737", + "csibm737": "cp737", + "cp775": { + "type": "_sbcs", + "chars": "\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm775": "cp775", + "csibm775": "cp775", + "cp850": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm850": "cp850", + "csibm850": "cp850", + "cp852": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0" + }, + "ibm852": "cp852", + "csibm852": "cp852", + "cp855": { + "type": "_sbcs", + "chars": "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0" + }, + "ibm855": "cp855", + "csibm855": "cp855", + "cp856": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm856": "cp856", + "csibm856": "cp856", + "cp857": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm857": "cp857", + "csibm857": "cp857", + "cp858": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0" + }, + "ibm858": "cp858", + "csibm858": "cp858", + "cp860": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm860": "cp860", + "csibm860": "cp860", + "cp861": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm861": "cp861", + "csibm861": "cp861", + "cp862": { + "type": "_sbcs", + "chars": "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm862": "cp862", + "csibm862": "cp862", + "cp863": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm863": "cp863", + "csibm863": "cp863", + "cp864": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" + }, + "ibm864": "cp864", + "csibm864": "cp864", + "cp865": { + "type": "_sbcs", + "chars": "\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0" + }, + "ibm865": "cp865", + "csibm865": "cp865", + "cp866": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm866": "cp866", + "csibm866": "cp866", + "cp869": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0" + }, + "ibm869": "cp869", + "csibm869": "cp869", + "cp922": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF" + }, + "ibm922": "cp922", + "csibm922": "cp922", + "cp1046": { + "type": "_sbcs", + "chars": "\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" + }, + "ibm1046": "cp1046", + "csibm1046": "cp1046", + "cp1124": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F" + }, + "ibm1124": "cp1124", + "csibm1124": "cp1124", + "cp1125": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0" + }, + "ibm1125": "cp1125", + "csibm1125": "cp1125", + "cp1129": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1129": "cp1129", + "csibm1129": "cp1129", + "cp1133": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD" + }, + "ibm1133": "cp1133", + "csibm1133": "cp1133", + "cp1161": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0" + }, + "ibm1161": "cp1161", + "csibm1161": "cp1161", + "cp1162": { + "type": "_sbcs", + "chars": "\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "ibm1162": "cp1162", + "csibm1162": "cp1162", + "cp1163": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF" + }, + "ibm1163": "cp1163", + "csibm1163": "cp1163", + "maccroatian": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7" + }, + "maccyrillic": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "macgreek": { + "type": "_sbcs", + "chars": "\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" + }, + "maciceland": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macroman": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macromania": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macthai": { + "type": "_sbcs", + "chars": "\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "macturkish": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "macukraine": { + "type": "_sbcs", + "chars": "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4" + }, + "koi8r": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8u": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8ru": { + "type": "_sbcs", + "chars": "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "koi8t": { + "type": "_sbcs", + "chars": "\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" + }, + "armscii8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD" + }, + "rk1048": { + "type": "_sbcs", + "chars": "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "tcvn": { + "type": "_sbcs", + "chars": "\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b \n\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0" + }, + "georgianacademy": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "georgianps": { + "type": "_sbcs", + "chars": "\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF" + }, + "pt154": { + "type": "_sbcs", + "chars": "\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" + }, + "viscii": { + "type": "_sbcs", + "chars": "\0\u1EB2\u1EB4\u1EAA\x07\b \n\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE" + }, + "iso646cn": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "iso646jp": { + "type": "_sbcs", + "chars": "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "hproman8": { + "type": "_sbcs", + "chars": "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD" + }, + "macintosh": { + "type": "_sbcs", + "chars": "\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7" + }, + "ascii": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" + }, + "tis620": { + "type": "_sbcs", + "chars": "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" + } + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-codec.js +var require_dbcs_codec = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) { + "use strict"; + var Buffer2 = require_safer().Buffer; + exports._dbcs = DBCSCodec; + var UNASSIGNED = -1; + var GB18030_CODE = -2; + var SEQ_START = -10; + var NODE_START = -1e3; + var UNASSIGNED_NODE = new Array(256); + var DEF_CHAR = -1; + for (i = 0; i < 256; i++) { + UNASSIGNED_NODE[i] = UNASSIGNED; + } + var i; + function DBCSCodec(codecOptions, iconv) { + this.encodingName = codecOptions.encodingName; + if (!codecOptions) { + throw new Error("DBCS codec is called without the data."); + } + if (!codecOptions.table) { + throw new Error("Encoding '" + this.encodingName + "' has no data."); + } + var mappingTable = codecOptions.table(); + this.decodeTables = []; + this.decodeTables[0] = UNASSIGNED_NODE.slice(0); + this.decodeTableSeq = []; + for (var i2 = 0; i2 < mappingTable.length; i2++) { + this._addDecodeChunk(mappingTable[i2]); + } + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030(); + var commonThirdByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var commonFourthByteNodeIdx = this.decodeTables.length; + this.decodeTables.push(UNASSIGNED_NODE.slice(0)); + var firstByteNode = this.decodeTables[0]; + for (var i2 = 129; i2 <= 254; i2++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i2]]; + for (var j = 48; j <= 57; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx; + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2"); + } + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]]; + for (var k = 129; k <= 254; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx; + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue; + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3"); + } + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]]; + for (var l = 48; l <= 57; l++) { + if (fourthByteNode[l] === UNASSIGNED) { + fourthByteNode[l] = GB18030_CODE; + } + } + } + } + } + } + this.defaultCharUnicode = iconv.defaultCharUnicode; + this.encodeTable = []; + this.encodeTableSeq = []; + var skipEncodeChars = {}; + if (codecOptions.encodeSkipVals) { + for (var i2 = 0; i2 < codecOptions.encodeSkipVals.length; i2++) { + var val = codecOptions.encodeSkipVals[i2]; + if (typeof val === "number") { + skipEncodeChars[val] = true; + } else { + for (var j = val.from; j <= val.to; j++) { + skipEncodeChars[j] = true; + } + } + } + } + this._fillEncodeTable(0, 0, skipEncodeChars); + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) { + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) { + this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]); + } + } + } + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"]; + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0); + } + __name(DBCSCodec, "DBCSCodec"); + DBCSCodec.prototype.encoder = DBCSEncoder; + DBCSCodec.prototype.decoder = DBCSDecoder; + DBCSCodec.prototype._getDecodeTrieNode = function(addr) { + var bytes = []; + for (; addr > 0; addr >>>= 8) { + bytes.push(addr & 255); + } + if (bytes.length == 0) { + bytes.push(0); + } + var node = this.decodeTables[0]; + for (var i2 = bytes.length - 1; i2 > 0; i2--) { + var val = node[bytes[i2]]; + if (val == UNASSIGNED) { + node[bytes[i2]] = NODE_START - this.decodeTables.length; + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); + } else if (val <= NODE_START) { + node = this.decodeTables[NODE_START - val]; + } else { + throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)); + } + } + return node; + }; + DBCSCodec.prototype._addDecodeChunk = function(chunk) { + var curAddr = parseInt(chunk[0], 16); + var writeTable = this._getDecodeTrieNode(curAddr); + curAddr = curAddr & 255; + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k]; + if (typeof part === "string") { + for (var l = 0; l < part.length; ) { + var code = part.charCodeAt(l++); + if (code >= 55296 && code < 56320) { + var codeTrail = part.charCodeAt(l++); + if (codeTrail >= 56320 && codeTrail < 57344) { + writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320); + } else { + throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); + } + } else if (code > 4080 && code <= 4095) { + var len = 4095 - code + 2; + var seq = []; + for (var m = 0; m < len; m++) { + seq.push(part.charCodeAt(l++)); + } + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; + this.decodeTableSeq.push(seq); + } else { + writeTable[curAddr++] = code; + } + } + } else if (typeof part === "number") { + var charCode = writeTable[curAddr - 1] + 1; + for (var l = 0; l < part; l++) { + writeTable[curAddr++] = charCode++; + } + } else { + throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]); + } + } + if (curAddr > 255) { + throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); + } + }; + DBCSCodec.prototype._getEncodeBucket = function(uCode) { + var high = uCode >> 8; + if (this.encodeTable[high] === void 0) { + this.encodeTable[high] = UNASSIGNED_NODE.slice(0); + } + return this.encodeTable[high]; + }; + DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + if (bucket[low] <= SEQ_START) { + this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode; + } else if (bucket[low] == UNASSIGNED) { + bucket[low] = dbcsCode; + } + }; + DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { + var uCode = seq[0]; + var bucket = this._getEncodeBucket(uCode); + var low = uCode & 255; + var node; + if (bucket[low] <= SEQ_START) { + node = this.encodeTableSeq[SEQ_START - bucket[low]]; + } else { + node = {}; + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; + bucket[low] = SEQ_START - this.encodeTableSeq.length; + this.encodeTableSeq.push(node); + } + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode]; + if (typeof oldVal === "object") { + node = oldVal; + } else { + node = node[uCode] = {}; + if (oldVal !== void 0) { + node[DEF_CHAR] = oldVal; + } + } + } + uCode = seq[seq.length - 1]; + node[uCode] = dbcsCode; + }; + DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx]; + var hasValues = false; + var subNodeEmpty = {}; + for (var i2 = 0; i2 < 256; i2++) { + var uCode = node[i2]; + var mbCode = prefix + i2; + if (skipEncodeChars[mbCode]) { + continue; + } + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode); + hasValues = true; + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode; + if (!subNodeEmpty[subNodeIdx]) { + var newPrefix = mbCode << 8 >>> 0; + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) { + hasValues = true; + } else { + subNodeEmpty[subNodeIdx] = true; + } + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode); + hasValues = true; + } + } + return hasValues; + }; + function DBCSEncoder(options, codec) { + this.leadSurrogate = -1; + this.seqObj = void 0; + this.encodeTable = codec.encodeTable; + this.encodeTableSeq = codec.encodeTableSeq; + this.defaultCharSingleByte = codec.defCharSB; + this.gb18030 = codec.gb18030; + } + __name(DBCSEncoder, "DBCSEncoder"); + DBCSEncoder.prototype.write = function(str) { + var newBuf = Buffer2.alloc(str.length * (this.gb18030 ? 4 : 3)); + var leadSurrogate = this.leadSurrogate; + var seqObj = this.seqObj; + var nextChar = -1; + var i2 = 0; + var j = 0; + while (true) { + if (nextChar === -1) { + if (i2 == str.length) break; + var uCode = str.charCodeAt(i2++); + } else { + var uCode = nextChar; + nextChar = -1; + } + if (uCode >= 55296 && uCode < 57344) { + if (uCode < 56320) { + if (leadSurrogate === -1) { + leadSurrogate = uCode; + continue; + } else { + leadSurrogate = uCode; + uCode = UNASSIGNED; + } + } else { + if (leadSurrogate !== -1) { + uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320); + leadSurrogate = -1; + } else { + uCode = UNASSIGNED; + } + } + } else if (leadSurrogate !== -1) { + nextChar = uCode; + uCode = UNASSIGNED; + leadSurrogate = -1; + } + var dbcsCode = UNASSIGNED; + if (seqObj !== void 0 && uCode != UNASSIGNED) { + var resCode = seqObj[uCode]; + if (typeof resCode === "object") { + seqObj = resCode; + continue; + } else if (typeof resCode === "number") { + dbcsCode = resCode; + } else if (resCode == void 0) { + resCode = seqObj[DEF_CHAR]; + if (resCode !== void 0) { + dbcsCode = resCode; + nextChar = uCode; + } else { + } + } + seqObj = void 0; + } else if (uCode >= 0) { + var subtable = this.encodeTable[uCode >> 8]; + if (subtable !== void 0) { + dbcsCode = subtable[uCode & 255]; + } + if (dbcsCode <= SEQ_START) { + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode]; + continue; + } + if (dbcsCode == UNASSIGNED && this.gb18030) { + var idx = findIdx(this.gb18030.uChars, uCode); + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); + newBuf[j++] = 129 + Math.floor(dbcsCode / 12600); + dbcsCode = dbcsCode % 12600; + newBuf[j++] = 48 + Math.floor(dbcsCode / 1260); + dbcsCode = dbcsCode % 1260; + newBuf[j++] = 129 + Math.floor(dbcsCode / 10); + dbcsCode = dbcsCode % 10; + newBuf[j++] = 48 + dbcsCode; + continue; + } + } + } + if (dbcsCode === UNASSIGNED) { + dbcsCode = this.defaultCharSingleByte; + } + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else if (dbcsCode < 65536) { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } else if (dbcsCode < 16777216) { + newBuf[j++] = dbcsCode >> 16; + newBuf[j++] = dbcsCode >> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } else { + newBuf[j++] = dbcsCode >>> 24; + newBuf[j++] = dbcsCode >>> 16 & 255; + newBuf[j++] = dbcsCode >>> 8 & 255; + newBuf[j++] = dbcsCode & 255; + } + } + this.seqObj = seqObj; + this.leadSurrogate = leadSurrogate; + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.end = function() { + if (this.leadSurrogate === -1 && this.seqObj === void 0) { + return; + } + var newBuf = Buffer2.alloc(10); + var j = 0; + if (this.seqObj) { + var dbcsCode = this.seqObj[DEF_CHAR]; + if (dbcsCode !== void 0) { + if (dbcsCode < 256) { + newBuf[j++] = dbcsCode; + } else { + newBuf[j++] = dbcsCode >> 8; + newBuf[j++] = dbcsCode & 255; + } + } else { + } + this.seqObj = void 0; + } + if (this.leadSurrogate !== -1) { + newBuf[j++] = this.defaultCharSingleByte; + this.leadSurrogate = -1; + } + return newBuf.slice(0, j); + }; + DBCSEncoder.prototype.findIdx = findIdx; + function DBCSDecoder(options, codec) { + this.nodeIdx = 0; + this.prevBytes = []; + this.decodeTables = codec.decodeTables; + this.decodeTableSeq = codec.decodeTableSeq; + this.defaultCharUnicode = codec.defaultCharUnicode; + this.gb18030 = codec.gb18030; + } + __name(DBCSDecoder, "DBCSDecoder"); + DBCSDecoder.prototype.write = function(buf) { + var newBuf = Buffer2.alloc(buf.length * 2); + var nodeIdx = this.nodeIdx; + var prevBytes = this.prevBytes; + var prevOffset = this.prevBytes.length; + var seqStart = -this.prevBytes.length; + var uCode; + for (var i2 = 0, j = 0; i2 < buf.length; i2++) { + var curByte = i2 >= 0 ? buf[i2] : prevBytes[i2 + prevOffset]; + var uCode = this.decodeTables[nodeIdx][curByte]; + if (uCode >= 0) { + } else if (uCode === UNASSIGNED) { + uCode = this.defaultCharUnicode.charCodeAt(0); + i2 = seqStart; + } else if (uCode === GB18030_CODE) { + if (i2 >= 3) { + var ptr = (buf[i2 - 3] - 129) * 12600 + (buf[i2 - 2] - 48) * 1260 + (buf[i2 - 1] - 129) * 10 + (curByte - 48); + } else { + var ptr = (prevBytes[i2 - 3 + prevOffset] - 129) * 12600 + ((i2 - 2 >= 0 ? buf[i2 - 2] : prevBytes[i2 - 2 + prevOffset]) - 48) * 1260 + ((i2 - 1 >= 0 ? buf[i2 - 1] : prevBytes[i2 - 1 + prevOffset]) - 129) * 10 + (curByte - 48); + } + var idx = findIdx(this.gb18030.gbChars, ptr); + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; + } else if (uCode <= NODE_START) { + nodeIdx = NODE_START - uCode; + continue; + } else if (uCode <= SEQ_START) { + var seq = this.decodeTableSeq[SEQ_START - uCode]; + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k]; + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + } + uCode = seq[seq.length - 1]; + } else { + throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); + } + if (uCode >= 65536) { + uCode -= 65536; + var uCodeLead = 55296 | uCode >> 10; + newBuf[j++] = uCodeLead & 255; + newBuf[j++] = uCodeLead >> 8; + uCode = 56320 | uCode & 1023; + } + newBuf[j++] = uCode & 255; + newBuf[j++] = uCode >> 8; + nodeIdx = 0; + seqStart = i2 + 1; + } + this.nodeIdx = nodeIdx; + this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)); + return newBuf.slice(0, j).toString("ucs2"); + }; + DBCSDecoder.prototype.end = function() { + var ret = ""; + while (this.prevBytes.length > 0) { + ret += this.defaultCharUnicode; + var bytesArr = this.prevBytes.slice(1); + this.prevBytes = []; + this.nodeIdx = 0; + if (bytesArr.length > 0) { + ret += this.write(bytesArr); + } + } + this.prevBytes = []; + this.nodeIdx = 0; + return ret; + }; + function findIdx(table, val) { + if (table[0] > val) { + return -1; + } + var l = 0; + var r = table.length; + while (l < r - 1) { + var mid = l + (r - l + 1 >> 1); + if (table[mid] <= val) { + l = mid; + } else { + r = mid; + } + } + return l; + } + __name(findIdx, "findIdx"); + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/shiftjis.json +var require_shiftjis = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/shiftjis.json"(exports, module) { + module.exports = [ + ["0", "\0", 128], + ["a1", "\uFF61", 62], + ["8140", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7"], + ["8180", "\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["81b8", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["81c8", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["81da", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["81f0", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["81fc", "\u25EF"], + ["824f", "\uFF10", 9], + ["8260", "\uFF21", 25], + ["8281", "\uFF41", 25], + ["829f", "\u3041", 82], + ["8340", "\u30A1", 62], + ["8380", "\u30E0", 22], + ["839f", "\u0391", 16, "\u03A3", 6], + ["83bf", "\u03B1", 16, "\u03C3", 6], + ["8440", "\u0410", 5, "\u0401\u0416", 25], + ["8470", "\u0430", 5, "\u0451\u0436", 7], + ["8480", "\u043E", 17], + ["849f", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["8740", "\u2460", 19, "\u2160", 9], + ["875f", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["877e", "\u337B"], + ["8780", "\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["889f", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["8940", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"], + ["8980", "\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["8a40", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"], + ["8a80", "\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["8b40", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"], + ["8b80", "\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["8c40", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"], + ["8c80", "\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["8d40", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"], + ["8d80", "\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["8e40", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"], + ["8e80", "\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["8f40", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"], + ["8f80", "\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["9040", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"], + ["9080", "\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["9140", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"], + ["9180", "\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["9240", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"], + ["9280", "\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["9340", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"], + ["9380", "\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["9440", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"], + ["9480", "\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["9540", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"], + ["9580", "\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["9640", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"], + ["9680", "\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["9740", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"], + ["9780", "\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["9840", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["989f", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["9940", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"], + ["9980", "\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["9a40", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"], + ["9a80", "\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["9b40", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"], + ["9b80", "\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["9c40", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"], + ["9c80", "\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["9d40", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"], + ["9d80", "\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["9e40", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"], + ["9e80", "\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["9f40", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"], + ["9f80", "\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["e040", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"], + ["e080", "\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e140", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"], + ["e180", "\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e240", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"], + ["e280", "\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e340", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"], + ["e380", "\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e440", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"], + ["e480", "\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e540", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"], + ["e580", "\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["e640", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"], + ["e680", "\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["e740", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"], + ["e780", "\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["e840", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"], + ["e880", "\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["e940", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"], + ["e980", "\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["ea40", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"], + ["ea80", "\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["ed40", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"], + ["ed80", "\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["ee40", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"], + ["ee80", "\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["eeef", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["f040", "\uE000", 62], + ["f080", "\uE03F", 124], + ["f140", "\uE0BC", 62], + ["f180", "\uE0FB", 124], + ["f240", "\uE178", 62], + ["f280", "\uE1B7", 124], + ["f340", "\uE234", 62], + ["f380", "\uE273", 124], + ["f440", "\uE2F0", 62], + ["f480", "\uE32F", 124], + ["f540", "\uE3AC", 62], + ["f580", "\uE3EB", 124], + ["f640", "\uE468", 62], + ["f680", "\uE4A7", 124], + ["f740", "\uE524", 62], + ["f780", "\uE563", 124], + ["f840", "\uE5E0", 62], + ["f880", "\uE61F", 124], + ["f940", "\uE69C"], + ["fa40", "\u2170", 9, "\u2160", 9, "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"], + ["fa80", "\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"], + ["fb40", "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"], + ["fb80", "\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"], + ["fc40", "\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/eucjp.json +var require_eucjp = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/eucjp.json"(exports, module) { + module.exports = [ + ["0", "\0", 127], + ["8ea1", "\uFF61", 62], + ["a1a1", "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008", 9, "\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"], + ["a2a1", "\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"], + ["a2ba", "\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"], + ["a2ca", "\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"], + ["a2dc", "\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"], + ["a2f2", "\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"], + ["a2fe", "\u25EF"], + ["a3b0", "\uFF10", 9], + ["a3c1", "\uFF21", 25], + ["a3e1", "\uFF41", 25], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a8a1", "\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"], + ["ada1", "\u2460", 19, "\u2160", 9], + ["adc0", "\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"], + ["addf", "\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4", 4, "\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"], + ["b0a1", "\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"], + ["b1a1", "\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"], + ["b2a1", "\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"], + ["b3a1", "\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"], + ["b4a1", "\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"], + ["b5a1", "\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"], + ["b6a1", "\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"], + ["b7a1", "\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"], + ["b8a1", "\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"], + ["b9a1", "\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"], + ["baa1", "\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"], + ["bba1", "\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"], + ["bca1", "\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"], + ["bda1", "\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"], + ["bea1", "\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"], + ["bfa1", "\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"], + ["c0a1", "\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"], + ["c1a1", "\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"], + ["c2a1", "\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"], + ["c3a1", "\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"], + ["c4a1", "\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"], + ["c5a1", "\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"], + ["c6a1", "\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"], + ["c7a1", "\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"], + ["c8a1", "\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"], + ["c9a1", "\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"], + ["caa1", "\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"], + ["cba1", "\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"], + ["cca1", "\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"], + ["cda1", "\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"], + ["cea1", "\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"], + ["cfa1", "\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"], + ["d0a1", "\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"], + ["d1a1", "\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"], + ["d2a1", "\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"], + ["d3a1", "\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"], + ["d4a1", "\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"], + ["d5a1", "\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"], + ["d6a1", "\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"], + ["d7a1", "\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"], + ["d8a1", "\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"], + ["d9a1", "\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"], + ["daa1", "\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"], + ["dba1", "\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"], + ["dca1", "\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"], + ["dda1", "\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"], + ["dea1", "\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"], + ["dfa1", "\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"], + ["e0a1", "\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"], + ["e1a1", "\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"], + ["e2a1", "\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"], + ["e3a1", "\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"], + ["e4a1", "\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"], + ["e5a1", "\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"], + ["e6a1", "\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"], + ["e7a1", "\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"], + ["e8a1", "\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"], + ["e9a1", "\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"], + ["eaa1", "\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"], + ["eba1", "\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"], + ["eca1", "\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"], + ["eda1", "\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"], + ["eea1", "\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"], + ["efa1", "\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"], + ["f0a1", "\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"], + ["f1a1", "\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"], + ["f2a1", "\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"], + ["f3a1", "\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"], + ["f4a1", "\u582F\u69C7\u9059\u7464\u51DC\u7199"], + ["f9a1", "\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"], + ["faa1", "\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"], + ["fba1", "\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"], + ["fca1", "\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"], + ["fcf1", "\u2170", 9, "\uFFE2\uFFE4\uFF07\uFF02"], + ["8fa2af", "\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"], + ["8fa2c2", "\xA1\xA6\xBF"], + ["8fa2eb", "\xBA\xAA\xA9\xAE\u2122\xA4\u2116"], + ["8fa6e1", "\u0386\u0388\u0389\u038A\u03AA"], + ["8fa6e7", "\u038C"], + ["8fa6e9", "\u038E\u03AB"], + ["8fa6ec", "\u038F"], + ["8fa6f1", "\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"], + ["8fa7c2", "\u0402", 10, "\u040E\u040F"], + ["8fa7f2", "\u0452", 10, "\u045E\u045F"], + ["8fa9a1", "\xC6\u0110"], + ["8fa9a4", "\u0126"], + ["8fa9a6", "\u0132"], + ["8fa9a8", "\u0141\u013F"], + ["8fa9ab", "\u014A\xD8\u0152"], + ["8fa9af", "\u0166\xDE"], + ["8fa9c1", "\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"], + ["8faaa1", "\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"], + ["8faaba", "\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"], + ["8faba1", "\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"], + ["8fabbd", "\u0121\u0125\xED\xEC\xEF\xEE\u01D0"], + ["8fabc5", "\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"], + ["8fb0a1", "\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"], + ["8fb1a1", "\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"], + ["8fb2a1", "\u5092\u5093\u5094\u5096\u509B\u509C\u509E", 4, "\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"], + ["8fb3a1", "\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"], + ["8fb4a1", "\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"], + ["8fb5a1", "\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"], + ["8fb6a1", "\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D", 5, "\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4", 4, "\u56F1\u56EB\u56ED"], + ["8fb7a1", "\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D", 4, "\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"], + ["8fb8a1", "\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"], + ["8fb9a1", "\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"], + ["8fbaa1", "\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6", 4, "\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"], + ["8fbba1", "\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"], + ["8fbca1", "\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A", 4, "\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"], + ["8fbda1", "\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0", 4, "\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"], + ["8fbea1", "\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110", 4, "\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"], + ["8fbfa1", "\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"], + ["8fc0a1", "\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"], + ["8fc1a1", "\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"], + ["8fc2a1", "\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"], + ["8fc3a1", "\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E", 4, "\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"], + ["8fc4a1", "\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"], + ["8fc5a1", "\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"], + ["8fc6a1", "\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"], + ["8fc7a1", "\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"], + ["8fc8a1", "\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"], + ["8fc9a1", "\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094", 4, "\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103", 4, "\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"], + ["8fcaa1", "\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"], + ["8fcba1", "\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"], + ["8fcca1", "\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428", 9, "\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"], + ["8fcda1", "\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579", 5, "\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"], + ["8fcea1", "\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2", 6, "\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"], + ["8fcfa1", "\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"], + ["8fd0a1", "\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"], + ["8fd1a1", "\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"], + ["8fd2a1", "\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59", 5], + ["8fd3a1", "\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"], + ["8fd4a1", "\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2", 4, "\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"], + ["8fd5a1", "\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"], + ["8fd6a1", "\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"], + ["8fd7a1", "\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"], + ["8fd8a1", "\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"], + ["8fd9a1", "\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F", 4, "\u8556\u8559\u855C", 6, "\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"], + ["8fdaa1", "\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660", 4, "\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"], + ["8fdba1", "\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783", 6, "\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"], + ["8fdca1", "\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA", 4, "\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"], + ["8fdda1", "\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4", 4, "\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"], + ["8fdea1", "\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42", 4, "\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"], + ["8fdfa1", "\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"], + ["8fe0a1", "\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"], + ["8fe1a1", "\u8F43\u8F47\u8F4F\u8F51", 4, "\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"], + ["8fe2a1", "\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"], + ["8fe3a1", "\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC", 5, "\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275", 4, "\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"], + ["8fe4a1", "\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF", 4, "\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"], + ["8fe5a1", "\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9", 4, "\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"], + ["8fe6a1", "\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"], + ["8fe7a1", "\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"], + ["8fe8a1", "\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931", 4, "\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"], + ["8fe9a1", "\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF", 4], + ["8feaa1", "\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A", 4, "\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"], + ["8feba1", "\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26", 4, "\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"], + ["8feca1", "\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"], + ["8feda1", "\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43", 4, "\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D", 4, "\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp936.json +var require_cp936 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp936.json"(exports, module) { + module.exports = [ + ["0", "\0", 127, "\u20AC"], + ["8140", "\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A", 5, "\u4E72\u4E74", 9, "\u4E7F", 6, "\u4E87\u4E8A"], + ["8180", "\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02", 6, "\u4F0B\u4F0C\u4F12", 4, "\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E", 4, "\u4F44\u4F45\u4F47", 5, "\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"], + ["8240", "\u4FA4\u4FAB\u4FAD\u4FB0", 4, "\u4FB6", 8, "\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2", 4, "\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF", 11], + ["8280", "\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F", 10, "\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050", 4, "\u5056\u5057\u5058\u5059\u505B\u505D", 7, "\u5066", 5, "\u506D", 8, "\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E", 20, "\u50A4\u50A6\u50AA\u50AB\u50AD", 4, "\u50B3", 6, "\u50BC"], + ["8340", "\u50BD", 17, "\u50D0", 5, "\u50D7\u50D8\u50D9\u50DB", 10, "\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6", 4, "\u50FC", 9, "\u5108"], + ["8380", "\u5109\u510A\u510C", 5, "\u5113", 13, "\u5122", 28, "\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D", 4, "\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6", 4, "\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2", 5], + ["8440", "\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5", 5, "\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244", 5, "\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"], + ["8480", "\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273", 9, "\u527E\u5280\u5283", 4, "\u5289", 6, "\u5291\u5292\u5294", 6, "\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4", 9, "\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9", 5, "\u52E0\u52E1\u52E2\u52E3\u52E5", 10, "\u52F1", 7, "\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"], + ["8540", "\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F", 9, "\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"], + ["8580", "\u5390", 4, "\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF", 6, "\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3", 4, "\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D", 4, "\u5463\u5465\u5467\u5469", 7, "\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"], + ["8640", "\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0", 4, "\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4", 5, "\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A", 4, "\u5512\u5513\u5515", 5, "\u551C\u551D\u551E\u551F\u5521\u5525\u5526"], + ["8680", "\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B", 4, "\u5551\u5552\u5553\u5554\u5557", 4, "\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F", 5, "\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0", 6, "\u55A8", 8, "\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF", 4, "\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7", 4, "\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8", 4, "\u55FF\u5602\u5603\u5604\u5605"], + ["8740", "\u5606\u5607\u560A\u560B\u560D\u5610", 7, "\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640", 11, "\u564F", 4, "\u5655\u5656\u565A\u565B\u565D", 4], + ["8780", "\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D", 7, "\u5687", 6, "\u5690\u5691\u5692\u5694", 14, "\u56A4", 10, "\u56B0", 6, "\u56B8\u56B9\u56BA\u56BB\u56BD", 12, "\u56CB", 8, "\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5", 5, "\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B", 6], + ["8840", "\u5712", 9, "\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734", 4, "\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752", 4, "\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"], + ["8880", "\u5781\u5787\u5788\u5789\u578A\u578D", 4, "\u5794", 6, "\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9", 8, "\u57C4", 6, "\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5", 7, "\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825", 4, "\u582B", 4, "\u5831\u5832\u5833\u5834\u5836", 7], + ["8940", "\u583E", 5, "\u5845", 6, "\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859", 4, "\u585F", 5, "\u5866", 4, "\u586D", 16, "\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"], + ["8980", "\u588D", 4, "\u5894", 4, "\u589B\u589C\u589D\u58A0", 7, "\u58AA", 17, "\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6", 10, "\u58D2\u58D3\u58D4\u58D6", 13, "\u58E5", 5, "\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA", 7, "\u5903\u5905\u5906\u5908", 4, "\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"], + ["8a40", "\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B", 4, "\u5961\u5963\u5964\u5966", 12, "\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"], + ["8a80", "\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3", 5, "\u59BA\u59BC\u59BD\u59BF", 6, "\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE", 4, "\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED", 11, "\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A", 6, "\u5A33\u5A35\u5A37", 4, "\u5A3D\u5A3E\u5A3F\u5A41", 4, "\u5A47\u5A48\u5A4B", 9, "\u5A56\u5A57\u5A58\u5A59\u5A5B", 5], + ["8b40", "\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B", 8, "\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80", 17, "\u5A93", 6, "\u5A9C", 13, "\u5AAB\u5AAC"], + ["8b80", "\u5AAD", 4, "\u5AB4\u5AB6\u5AB7\u5AB9", 4, "\u5ABF\u5AC0\u5AC3", 5, "\u5ACA\u5ACB\u5ACD", 4, "\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC", 4, "\u5AF2", 22, "\u5B0A", 11, "\u5B18", 25, "\u5B33\u5B35\u5B36\u5B38", 7, "\u5B41", 6], + ["8c40", "\u5B48", 7, "\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"], + ["8c80", "\u5BD1\u5BD4", 8, "\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9", 4, "\u5BEF\u5BF1", 6, "\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67", 6, "\u5C70\u5C72", 6, "\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83", 4, "\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D", 4, "\u5CA4", 4], + ["8d40", "\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5", 5, "\u5CCC", 5, "\u5CD3", 5, "\u5CDA", 6, "\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1", 9, "\u5CFC", 4], + ["8d80", "\u5D01\u5D04\u5D05\u5D08", 5, "\u5D0F", 4, "\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F", 4, "\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F", 4, "\u5D35", 7, "\u5D3F", 7, "\u5D48\u5D49\u5D4D", 10, "\u5D59\u5D5A\u5D5C\u5D5E", 10, "\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75", 12, "\u5D83", 21, "\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"], + ["8e40", "\u5DA1", 21, "\u5DB8", 12, "\u5DC6", 6, "\u5DCE", 12, "\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"], + ["8e80", "\u5DF0\u5DF5\u5DF6\u5DF8", 4, "\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E", 7, "\u5E28", 4, "\u5E2F\u5E30\u5E32", 4, "\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46", 5, "\u5E4D", 6, "\u5E56", 4, "\u5E5C\u5E5D\u5E5F\u5E60\u5E63", 14, "\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8", 4, "\u5EAE", 4, "\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF", 6], + ["8f40", "\u5EC6\u5EC7\u5EC8\u5ECB", 5, "\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC", 11, "\u5EE9\u5EEB", 8, "\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"], + ["8f80", "\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32", 6, "\u5F3B\u5F3D\u5F3E\u5F3F\u5F41", 14, "\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2", 5, "\u5FA9\u5FAB\u5FAC\u5FAF", 5, "\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE", 4, "\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"], + ["9040", "\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030", 4, "\u6036", 4, "\u603D\u603E\u6040\u6044", 6, "\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"], + ["9080", "\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD", 7, "\u60C7\u60C8\u60C9\u60CC", 4, "\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1", 4, "\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB", 4, "\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110", 4, "\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C", 18, "\u6140", 6], + ["9140", "\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156", 6, "\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169", 6, "\u6171\u6172\u6173\u6174\u6176\u6178", 18, "\u618C\u618D\u618F", 4, "\u6195"], + ["9180", "\u6196", 6, "\u619E", 8, "\u61AA\u61AB\u61AD", 9, "\u61B8", 5, "\u61BF\u61C0\u61C1\u61C3", 4, "\u61C9\u61CC", 4, "\u61D3\u61D5", 16, "\u61E7", 13, "\u61F6", 8, "\u6200", 5, "\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238", 4, "\u6242\u6244\u6245\u6246\u624A"], + ["9240", "\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C", 6, "\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B", 5, "\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"], + ["9280", "\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333", 5, "\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356", 7, "\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399", 6, "\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"], + ["9340", "\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7", 6, "\u63DF\u63E2\u63E4", 4, "\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406", 4, "\u640D\u640E\u6411\u6412\u6415", 5, "\u641D\u641F\u6422\u6423\u6424"], + ["9380", "\u6425\u6427\u6428\u6429\u642B\u642E", 5, "\u6435", 4, "\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B", 6, "\u6453\u6455\u6456\u6457\u6459", 4, "\u645F", 7, "\u6468\u646A\u646B\u646C\u646E", 9, "\u647B", 6, "\u6483\u6486\u6488", 8, "\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F", 4, "\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6", 6, "\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"], + ["9440", "\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7", 24, "\u6501", 7, "\u650A", 7, "\u6513", 4, "\u6519", 8], + ["9480", "\u6522\u6523\u6524\u6526", 4, "\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540", 4, "\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578", 14, "\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1", 7, "\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8", 7, "\u65E1\u65E3\u65E4\u65EA\u65EB"], + ["9540", "\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB", 4, "\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637", 4, "\u663D\u663F\u6640\u6642\u6644", 6, "\u664D\u664E\u6650\u6651\u6658"], + ["9580", "\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669", 4, "\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698", 4, "\u669E", 8, "\u66A9", 4, "\u66AF", 4, "\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF", 25, "\u66DA\u66DE", 7, "\u66E7\u66E8\u66EA", 5, "\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"], + ["9640", "\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720", 5, "\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757", 4, "\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"], + ["9680", "\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9", 7, "\u67C2\u67C5", 9, "\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5", 7, "\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818", 4, "\u681E\u681F\u6820\u6822", 6, "\u682B", 6, "\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856", 5], + ["9740", "\u685C\u685D\u685E\u685F\u686A\u686C", 7, "\u6875\u6878", 8, "\u6882\u6884\u6887", 7, "\u6890\u6891\u6892\u6894\u6895\u6896\u6898", 9, "\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"], + ["9780", "\u68B9", 6, "\u68C1\u68C3", 5, "\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB", 4, "\u68E1\u68E2\u68E4", 9, "\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906", 4, "\u690C\u690F\u6911\u6913", 11, "\u6921\u6922\u6923\u6925", 7, "\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943", 16, "\u6955\u6956\u6958\u6959\u695B\u695C\u695F"], + ["9840", "\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972", 4, "\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E", 5, "\u6996\u6997\u6999\u699A\u699D", 9, "\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"], + ["9880", "\u69BE\u69BF\u69C0\u69C2", 7, "\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5", 5, "\u69DC\u69DD\u69DE\u69E1", 11, "\u69EE\u69EF\u69F0\u69F1\u69F3", 9, "\u69FE\u6A00", 9, "\u6A0B", 11, "\u6A19", 5, "\u6A20\u6A22", 5, "\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36", 6, "\u6A3F", 4, "\u6A45\u6A46\u6A48", 7, "\u6A51", 6, "\u6A5A"], + ["9940", "\u6A5C", 4, "\u6A62\u6A63\u6A64\u6A66", 10, "\u6A72", 6, "\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85", 8, "\u6A8F\u6A92", 4, "\u6A98", 7, "\u6AA1", 5], + ["9980", "\u6AA7\u6AA8\u6AAA\u6AAD", 114, "\u6B25\u6B26\u6B28", 6], + ["9a40", "\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D", 11, "\u6B5A", 7, "\u6B68\u6B69\u6B6B", 13, "\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"], + ["9a80", "\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C", 4, "\u6BA2", 7, "\u6BAB", 7, "\u6BB6\u6BB8", 6, "\u6BC0\u6BC3\u6BC4\u6BC6", 4, "\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC", 4, "\u6BE2", 7, "\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE", 6, "\u6C08", 4, "\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B", 4, "\u6C51\u6C52\u6C53\u6C56\u6C58"], + ["9b40", "\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B", 4, "\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"], + ["9b80", "\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F", 5, "\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D", 4, "\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96", 4, "\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9", 5, "\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"], + ["9c40", "\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD", 7, "\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"], + ["9c80", "\u6E36\u6E37\u6E39\u6E3B", 7, "\u6E45", 7, "\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60", 10, "\u6E6C\u6E6D\u6E6F", 14, "\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A", 4, "\u6E91", 6, "\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA", 5], + ["9d40", "\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA", 7, "\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A", 4, "\u6F10\u6F11\u6F12\u6F16", 9, "\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37", 6, "\u6F3F\u6F40\u6F41\u6F42"], + ["9d80", "\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E", 9, "\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67", 5, "\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D", 6, "\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F", 12, "\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2", 4, "\u6FA8", 10, "\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA", 5, "\u6FC1\u6FC3", 5, "\u6FCA", 6, "\u6FD3", 10, "\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"], + ["9e40", "\u6FE6", 7, "\u6FF0", 32, "\u7012", 7, "\u701C", 6, "\u7024", 6], + ["9e80", "\u702B", 9, "\u7036\u7037\u7038\u703A", 17, "\u704D\u704E\u7050", 13, "\u705F", 11, "\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E", 12, "\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB", 12, "\u70DA"], + ["9f40", "\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0", 6, "\u70F8\u70FA\u70FB\u70FC\u70FE", 10, "\u710B", 4, "\u7111\u7112\u7114\u7117\u711B", 10, "\u7127", 7, "\u7132\u7133\u7134"], + ["9f80", "\u7135\u7137", 13, "\u7146\u7147\u7148\u7149\u714B\u714D\u714F", 12, "\u715D\u715F", 4, "\u7165\u7169", 4, "\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E", 5, "\u7185", 4, "\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A", 4, "\u71A1", 6, "\u71A9\u71AA\u71AB\u71AD", 5, "\u71B4\u71B6\u71B7\u71B8\u71BA", 8, "\u71C4", 9, "\u71CF", 4], + ["a040", "\u71D6", 9, "\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8", 5, "\u71EF", 9, "\u71FA", 11, "\u7207", 19], + ["a080", "\u721B\u721C\u721E", 9, "\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240", 6, "\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285", 4, "\u728C\u728E\u7290\u7291\u7293", 11, "\u72A0", 11, "\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA", 6, "\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"], + ["a1a1", "\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 7, "\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"], + ["a2a1", "\u2170", 9], + ["a2b1", "\u2488", 19, "\u2474", 19, "\u2460", 9], + ["a2e5", "\u3220", 9], + ["a2f1", "\u2160", 11], + ["a3a1", "\uFF01\uFF02\uFF03\uFFE5\uFF05", 88, "\uFFE3"], + ["a4a1", "\u3041", 82], + ["a5a1", "\u30A1", 85], + ["a6a1", "\u0391", 16, "\u03A3", 6], + ["a6c1", "\u03B1", 16, "\u03C3", 6], + ["a6e0", "\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"], + ["a6ee", "\uFE3B\uFE3C\uFE37\uFE38\uFE31"], + ["a6f4", "\uFE33\uFE34"], + ["a7a1", "\u0410", 5, "\u0401\u0416", 25], + ["a7d1", "\u0430", 5, "\u0451\u0436", 25], + ["a840", "\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550", 35, "\u2581", 6], + ["a880", "\u2588", 7, "\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"], + ["a8a1", "\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"], + ["a8bd", "\u0144\u0148"], + ["a8c0", "\u0261"], + ["a8c5", "\u3105", 36], + ["a940", "\u3021", 8, "\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"], + ["a959", "\u2121\u3231"], + ["a95c", "\u2010"], + ["a960", "\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49", 9, "\uFE54\uFE55\uFE56\uFE57\uFE59", 8], + ["a980", "\uFE62", 4, "\uFE68\uFE69\uFE6A\uFE6B"], + ["a996", "\u3007"], + ["a9a4", "\u2500", 75], + ["aa40", "\u72DC\u72DD\u72DF\u72E2", 5, "\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304", 5, "\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340", 8], + ["aa80", "\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358", 7, "\u7361", 10, "\u736E\u7370\u7371"], + ["ab40", "\u7372", 11, "\u737F", 4, "\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3", 5, "\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3", 4], + ["ab80", "\u73CB\u73CC\u73CE\u73D2", 6, "\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3", 4], + ["ac40", "\u73F8", 10, "\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411", 8, "\u741C", 5, "\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437", 4, "\u743D\u743E\u743F\u7440\u7442", 11], + ["ac80", "\u744E", 6, "\u7456\u7458\u745D\u7460", 12, "\u746E\u746F\u7471", 4, "\u7478\u7479\u747A"], + ["ad40", "\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491", 10, "\u749D\u749F", 7, "\u74AA", 15, "\u74BB", 12], + ["ad80", "\u74C8", 9, "\u74D3", 8, "\u74DD\u74DF\u74E1\u74E5\u74E7", 6, "\u74F0\u74F1\u74F2"], + ["ae40", "\u74F3\u74F5\u74F8", 6, "\u7500\u7501\u7502\u7503\u7505", 7, "\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520", 4, "\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"], + ["ae80", "\u755D", 7, "\u7567\u7568\u7569\u756B", 6, "\u7573\u7575\u7576\u7577\u757A", 4, "\u7580\u7581\u7582\u7584\u7585\u7587"], + ["af40", "\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6", 4, "\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"], + ["af80", "\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"], + ["b040", "\u7645", 6, "\u764E", 5, "\u7655\u7657", 4, "\u765D\u765F\u7660\u7661\u7662\u7664", 6, "\u766C\u766D\u766E\u7670", 7, "\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"], + ["b080", "\u769C", 7, "\u76A5", 8, "\u76AF\u76B0\u76B3\u76B5", 9, "\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"], + ["b140", "\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0", 4, "\u76E6", 7, "\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E", 10, "\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"], + ["b180", "\u772C\u772E\u7730", 4, "\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748", 7, "\u7752", 7, "\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"], + ["b240", "\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D", 11, "\u777A\u777B\u777C\u7781\u7782\u7783\u7786", 5, "\u778F\u7790\u7793", 11, "\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6", 4], + ["b280", "\u77BC\u77BE\u77C0", 12, "\u77CE", 8, "\u77D8\u77D9\u77DA\u77DD", 4, "\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"], + ["b340", "\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803", 5, "\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"], + ["b380", "\u785B\u785C\u785E", 11, "\u786F", 7, "\u7878\u7879\u787A\u787B\u787D", 6, "\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"], + ["b440", "\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8", 7, "\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA", 9], + ["b480", "\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED", 4, "\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB", 5, "\u7902\u7903\u7904\u7906", 6, "\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"], + ["b540", "\u790D", 5, "\u7914", 9, "\u791F", 4, "\u7925", 14, "\u7935", 4, "\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A", 8, "\u7954\u7955\u7958\u7959\u7961\u7963"], + ["b580", "\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970", 6, "\u7979\u797B", 4, "\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"], + ["b640", "\u7993", 6, "\u799B", 11, "\u79A8", 10, "\u79B4", 4, "\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9", 5, "\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"], + ["b680", "\u79EC\u79EE\u79F1", 6, "\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F", 4, "\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"], + ["b740", "\u7A1D\u7A1F\u7A21\u7A22\u7A24", 14, "\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40", 5, "\u7A47", 9, "\u7A52", 4, "\u7A58", 16], + ["b780", "\u7A69", 6, "\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"], + ["b840", "\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE", 4, "\u7AB4", 10, "\u7AC0", 10, "\u7ACC", 9, "\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7", 5, "\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"], + ["b880", "\u7AF4", 4, "\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"], + ["b940", "\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F", 5, "\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63", 10, "\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86", 6, "\u7B8E\u7B8F"], + ["b980", "\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9", 7, "\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"], + ["ba40", "\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4", 4, "\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2", 4, "\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF", 7, "\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10", 5, "\u7C17\u7C18\u7C19"], + ["ba80", "\u7C1A", 4, "\u7C20", 5, "\u7C28\u7C29\u7C2B", 12, "\u7C39", 5, "\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"], + ["bb40", "\u7C43", 9, "\u7C4E", 36, "\u7C75", 5, "\u7C7E", 9], + ["bb80", "\u7C88\u7C8A", 6, "\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4", 4, "\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"], + ["bc40", "\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE", 6, "\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1", 6, "\u7CE9", 5, "\u7CF0", 7, "\u7CF9\u7CFA\u7CFC", 13, "\u7D0B", 5], + ["bc80", "\u7D11", 14, "\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30", 6, "\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"], + ["bd40", "\u7D37", 54, "\u7D6F", 7], + ["bd80", "\u7D78", 32, "\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"], + ["be40", "\u7D99", 12, "\u7DA7", 6, "\u7DAF", 42], + ["be80", "\u7DDA", 32, "\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"], + ["bf40", "\u7DFB", 62], + ["bf80", "\u7E3A\u7E3C", 4, "\u7E42", 4, "\u7E48", 21, "\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"], + ["c040", "\u7E5E", 35, "\u7E83", 23, "\u7E9C\u7E9D\u7E9E"], + ["c080", "\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B", 6, "\u7F43\u7F46", 9, "\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"], + ["c140", "\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63", 4, "\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82", 7, "\u7F8B\u7F8D\u7F8F", 4, "\u7F95", 4, "\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8", 6, "\u7FB1"], + ["c180", "\u7FB3", 4, "\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF", 4, "\u7FD6\u7FD7\u7FD9", 5, "\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"], + ["c240", "\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4", 6, "\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B", 5, "\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"], + ["c280", "\u8059\u805B", 13, "\u806B", 5, "\u8072", 11, "\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"], + ["c340", "\u807E\u8081\u8082\u8085\u8088\u808A\u808D", 5, "\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7", 4, "\u80CF", 6, "\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"], + ["c380", "\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F", 12, "\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139", 4, "\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"], + ["c440", "\u8140", 5, "\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B", 4, "\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183", 4, "\u8189\u818B\u818C\u818D\u818E\u8190\u8192", 5, "\u8199\u819A\u819E", 4, "\u81A4\u81A5"], + ["c480", "\u81A7\u81A9\u81AB", 7, "\u81B4", 5, "\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD", 6, "\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"], + ["c540", "\u81D4", 14, "\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE", 4, "\u81F5", 5, "\u81FD\u81FF\u8203\u8207", 4, "\u820E\u820F\u8211\u8213\u8215", 5, "\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"], + ["c580", "\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250", 7, "\u8259\u825B\u825C\u825D\u825E\u8260", 7, "\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"], + ["c640", "\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"], + ["c680", "\u82FA\u82FC", 4, "\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D", 9, "\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"], + ["c740", "\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A", 4, "\u8353\u8355", 4, "\u835D\u8362\u8370", 6, "\u8379\u837A\u837E", 6, "\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1", 6, "\u83AC\u83AD\u83AE"], + ["c780", "\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"], + ["c840", "\u83EE\u83EF\u83F3", 4, "\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412", 5, "\u8419\u841A\u841B\u841E", 5, "\u8429", 7, "\u8432", 5, "\u8439\u843A\u843B\u843E", 7, "\u8447\u8448\u8449"], + ["c880", "\u844A", 6, "\u8452", 4, "\u8458\u845D\u845E\u845F\u8460\u8462\u8464", 4, "\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"], + ["c940", "\u847D", 4, "\u8483\u8484\u8485\u8486\u848A\u848D\u848F", 7, "\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2", 12, "\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"], + ["c980", "\u84D8", 4, "\u84DE\u84E1\u84E2\u84E4\u84E7", 4, "\u84ED\u84EE\u84EF\u84F1", 10, "\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"], + ["ca40", "\u8503", 8, "\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522", 8, "\u852D", 9, "\u853E", 4, "\u8544\u8545\u8546\u8547\u854B", 10], + ["ca80", "\u8557\u8558\u855A\u855B\u855C\u855D\u855F", 4, "\u8565\u8566\u8567\u8569", 8, "\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"], + ["cb40", "\u8582\u8583\u8586\u8588", 6, "\u8590", 10, "\u859D", 6, "\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1", 5, "\u85B8\u85BA", 6, "\u85C2", 6, "\u85CA", 4, "\u85D1\u85D2"], + ["cb80", "\u85D4\u85D6", 5, "\u85DD", 6, "\u85E5\u85E6\u85E7\u85E8\u85EA", 14, "\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"], + ["cc40", "\u85F9\u85FA\u85FC\u85FD\u85FE\u8600", 4, "\u8606", 10, "\u8612\u8613\u8614\u8615\u8617", 15, "\u8628\u862A", 13, "\u8639\u863A\u863B\u863D\u863E\u863F\u8640"], + ["cc80", "\u8641", 11, "\u8652\u8653\u8655", 4, "\u865B\u865C\u865D\u865F\u8660\u8661\u8663", 7, "\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"], + ["cd40", "\u866D\u866F\u8670\u8672", 6, "\u8683", 6, "\u868E", 4, "\u8694\u8696", 5, "\u869E", 4, "\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB", 4, "\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"], + ["cd80", "\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"], + ["ce40", "\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740", 6, "\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A", 5, "\u8761\u8762\u8766", 7, "\u876F\u8771\u8772\u8773\u8775"], + ["ce80", "\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E", 4, "\u8794\u8795\u8796\u8798", 6, "\u87A0", 4, "\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"], + ["cf40", "\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1", 4, "\u87C7\u87C8\u87C9\u87CC", 4, "\u87D4", 6, "\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF", 9], + ["cf80", "\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804", 5, "\u880B", 7, "\u8814\u8817\u8818\u8819\u881A\u881C", 4, "\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"], + ["d040", "\u8824", 13, "\u8833", 5, "\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846", 5, "\u884E", 5, "\u8855\u8856\u8858\u885A", 6, "\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"], + ["d080", "\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897", 4, "\u889D", 4, "\u88A3\u88A5", 5, "\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"], + ["d140", "\u88AC\u88AE\u88AF\u88B0\u88B2", 4, "\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA", 4, "\u88E0\u88E1\u88E6\u88E7\u88E9", 6, "\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903", 5], + ["d180", "\u8909\u890B", 4, "\u8911\u8914", 4, "\u891C", 4, "\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"], + ["d240", "\u8938", 8, "\u8942\u8943\u8945", 24, "\u8960", 5, "\u8967", 19, "\u897C"], + ["d280", "\u897D\u897E\u8980\u8982\u8984\u8985\u8987", 26, "\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"], + ["d340", "\u89A2", 30, "\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4", 6], + ["d380", "\u89FB", 4, "\u8A01", 5, "\u8A08", 21, "\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"], + ["d440", "\u8A1E", 31, "\u8A3F", 8, "\u8A49", 21], + ["d480", "\u8A5F", 25, "\u8A7A", 6, "\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"], + ["d540", "\u8A81", 7, "\u8A8B", 7, "\u8A94", 46], + ["d580", "\u8AC3", 32, "\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"], + ["d640", "\u8AE4", 34, "\u8B08", 27], + ["d680", "\u8B24\u8B25\u8B27", 30, "\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"], + ["d740", "\u8B46", 31, "\u8B67", 4, "\u8B6D", 25], + ["d780", "\u8B87", 24, "\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"], + ["d840", "\u8C38", 8, "\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D", 7, "\u8C56\u8C57\u8C58\u8C59\u8C5B", 5, "\u8C63", 6, "\u8C6C", 6, "\u8C74\u8C75\u8C76\u8C77\u8C7B", 6, "\u8C83\u8C84\u8C86\u8C87"], + ["d880", "\u8C88\u8C8B\u8C8D", 6, "\u8C95\u8C96\u8C97\u8C99", 20, "\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"], + ["d940", "\u8CAE", 62], + ["d980", "\u8CED", 32, "\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"], + ["da40", "\u8D0E", 14, "\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78", 8, "\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C", 4, "\u8D92\u8D93\u8D95", 9, "\u8DA0\u8DA1"], + ["da80", "\u8DA2\u8DA4", 12, "\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"], + ["db40", "\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE", 6, "\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15", 7, "\u8E20\u8E21\u8E24", 4, "\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"], + ["db80", "\u8E3F\u8E43\u8E45\u8E46\u8E4C", 4, "\u8E53", 5, "\u8E5A", 11, "\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"], + ["dc40", "\u8E73\u8E75\u8E77", 4, "\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88", 6, "\u8E91\u8E92\u8E93\u8E95", 6, "\u8E9D\u8E9F", 11, "\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3", 6, "\u8EBB", 7], + ["dc80", "\u8EC3", 10, "\u8ECF", 21, "\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"], + ["dd40", "\u8EE5", 62], + ["dd80", "\u8F24", 32, "\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"], + ["de40", "\u8F45", 32, "\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"], + ["de80", "\u8FC9", 4, "\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"], + ["df40", "\u9019\u901C\u9023\u9024\u9025\u9027", 5, "\u9030", 4, "\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048", 4, "\u904E\u9054\u9055\u9056\u9059\u905A\u905C", 5, "\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F", 4, "\u9076", 6, "\u907E\u9081"], + ["df80", "\u9084\u9085\u9086\u9087\u9089\u908A\u908C", 4, "\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"], + ["e040", "\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105", 19, "\u911A\u911B\u911C"], + ["e080", "\u911D\u911F\u9120\u9121\u9124", 10, "\u9130\u9132", 6, "\u913A", 8, "\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"], + ["e140", "\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180", 4, "\u9186\u9188\u918A\u918E\u918F\u9193", 6, "\u919C", 5, "\u91A4", 5, "\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"], + ["e180", "\u91BC", 10, "\u91C8\u91CB\u91D0\u91D2", 9, "\u91DD", 8, "\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"], + ["e240", "\u91E6", 62], + ["e280", "\u9225", 32, "\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967", 5, "\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"], + ["e340", "\u9246", 45, "\u9275", 16], + ["e380", "\u9286", 7, "\u928F", 24, "\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"], + ["e440", "\u92A8", 5, "\u92AF", 24, "\u92C9", 31], + ["e480", "\u92E9", 32, "\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"], + ["e540", "\u930A", 51, "\u933F", 10], + ["e580", "\u934A", 31, "\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"], + ["e640", "\u936C", 34, "\u9390", 27], + ["e680", "\u93AC", 29, "\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"], + ["e740", "\u93CE", 7, "\u93D7", 54], + ["e780", "\u940E", 32, "\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21", 6, "\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F", 4, "\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"], + ["e840", "\u942F", 14, "\u943F", 43, "\u946C\u946D\u946E\u946F"], + ["e880", "\u9470", 20, "\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"], + ["e940", "\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577", 7, "\u9580", 42], + ["e980", "\u95AB", 32, "\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"], + ["ea40", "\u95CC", 27, "\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623", 6, "\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"], + ["ea80", "\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D", 4, "\u9673\u9678", 12, "\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"], + ["eb40", "\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D", 9, "\u96A8", 7, "\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6", 9, "\u96E1", 6, "\u96EB"], + ["eb80", "\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717", 4, "\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"], + ["ec40", "\u9721", 8, "\u972B\u972C\u972E\u972F\u9731\u9733", 4, "\u973A\u973B\u973C\u973D\u973F", 18, "\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A", 7], + ["ec80", "\u9772\u9775\u9777", 4, "\u977D", 7, "\u9786", 4, "\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799", 4, "\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"], + ["ed40", "\u979E\u979F\u97A1\u97A2\u97A4", 6, "\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5", 46], + ["ed80", "\u97E4\u97E5\u97E8\u97EE", 4, "\u97F4\u97F7", 23, "\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"], + ["ee40", "\u980F", 62], + ["ee80", "\u984E", 32, "\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6", 4, "\u94BC\u94BD\u94BF\u94C4\u94C8", 6, "\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"], + ["ef40", "\u986F", 5, "\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8", 37, "\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0", 4], + ["ef80", "\u98E5\u98E6\u98E9", 30, "\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512", 4, "\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564", 8, "\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"], + ["f040", "\u9908", 4, "\u990E\u990F\u9911", 28, "\u992F", 26], + ["f080", "\u994A", 9, "\u9956", 12, "\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28", 4, "\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66", 6, "\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"], + ["f140", "\u998C\u998E\u999A", 10, "\u99A6\u99A7\u99A9", 47], + ["f180", "\u99D9", 32, "\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"], + ["f240", "\u99FA", 62], + ["f280", "\u9A39", 32, "\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"], + ["f340", "\u9A5A", 17, "\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9", 6, "\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6", 4, "\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"], + ["f380", "\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0", 8, "\u9AFA\u9AFC", 6, "\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"], + ["f440", "\u9B07\u9B09", 5, "\u9B10\u9B11\u9B12\u9B14", 10, "\u9B20\u9B21\u9B22\u9B24", 10, "\u9B30\u9B31\u9B33", 7, "\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55", 5], + ["f480", "\u9B5B", 32, "\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"], + ["f540", "\u9B7C", 62], + ["f580", "\u9BBB", 32, "\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"], + ["f640", "\u9BDC", 62], + ["f680", "\u9C1B", 32, "\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85", 5, "\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E", 5, "\u9CA5", 4, "\u9CAB\u9CAD\u9CAE\u9CB0", 7, "\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"], + ["f740", "\u9C3C", 62], + ["f780", "\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE", 4, "\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC", 4, "\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"], + ["f840", "\u9CE3", 62], + ["f880", "\u9D22", 32], + ["f940", "\u9D43", 62], + ["f980", "\u9D82", 32], + ["fa40", "\u9DA3", 62], + ["fa80", "\u9DE2", 32], + ["fb40", "\u9E03", 27, "\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74", 9, "\u9E80"], + ["fb80", "\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C", 5, "\u9E94", 8, "\u9E9E\u9EA0", 5, "\u9EA7\u9EA8\u9EA9\u9EAA"], + ["fc40", "\u9EAB", 8, "\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF", 4, "\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0", 8, "\u9EFA\u9EFD\u9EFF", 6], + ["fc80", "\u9F06", 4, "\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A", 5, "\u9F21\u9F23", 8, "\u9F2D\u9F2E\u9F30\u9F31"], + ["fd40", "\u9F32", 4, "\u9F38\u9F3A\u9F3C\u9F3F", 4, "\u9F45", 10, "\u9F52", 38], + ["fd80", "\u9F79", 5, "\u9F81\u9F82\u9F8D", 11, "\u9F9C\u9F9D\u9F9E\u9FA1", 4, "\uF92C\uF979\uF995\uF9E7\uF9F1"], + ["fe40", "\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gbk-added.json +var require_gbk_added = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gbk-added.json"(exports, module) { + module.exports = [ + ["a140", "\uE4C6", 62], + ["a180", "\uE505", 32], + ["a240", "\uE526", 62], + ["a280", "\uE565", 32], + ["a2ab", "\uE766", 5], + ["a2e3", "\u20AC\uE76D"], + ["a2ef", "\uE76E\uE76F"], + ["a2fd", "\uE770\uE771"], + ["a340", "\uE586", 62], + ["a380", "\uE5C5", 31, "\u3000"], + ["a440", "\uE5E6", 62], + ["a480", "\uE625", 32], + ["a4f4", "\uE772", 10], + ["a540", "\uE646", 62], + ["a580", "\uE685", 32], + ["a5f7", "\uE77D", 7], + ["a640", "\uE6A6", 62], + ["a680", "\uE6E5", 32], + ["a6b9", "\uE785", 7], + ["a6d9", "\uE78D", 6], + ["a6ec", "\uE794\uE795"], + ["a6f3", "\uE796"], + ["a6f6", "\uE797", 8], + ["a740", "\uE706", 62], + ["a780", "\uE745", 32], + ["a7c2", "\uE7A0", 14], + ["a7f2", "\uE7AF", 12], + ["a896", "\uE7BC", 10], + ["a8bc", "\u1E3F"], + ["a8bf", "\u01F9"], + ["a8c1", "\uE7C9\uE7CA\uE7CB\uE7CC"], + ["a8ea", "\uE7CD", 20], + ["a958", "\uE7E2"], + ["a95b", "\uE7E3"], + ["a95d", "\uE7E4\uE7E5\uE7E6"], + ["a989", "\u303E\u2FF0", 11], + ["a997", "\uE7F4", 12], + ["a9f0", "\uE801", 14], + ["aaa1", "\uE000", 93], + ["aba1", "\uE05E", 93], + ["aca1", "\uE0BC", 93], + ["ada1", "\uE11A", 93], + ["aea1", "\uE178", 93], + ["afa1", "\uE1D6", 93], + ["d7fa", "\uE810", 4], + ["f8a1", "\uE234", 93], + ["f9a1", "\uE292", 93], + ["faa1", "\uE2F0", 93], + ["fba1", "\uE34E", 93], + ["fca1", "\uE3AC", 93], + ["fda1", "\uE40A", 93], + ["fe50", "\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"], + ["fe80", "\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13", 6, "\u4DAE\uE864\uE468", 93], + ["8135f437", "\uE7C7"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +var require_gb18030_ranges = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json"(exports, module) { + module.exports = { uChars: [128, 165, 169, 178, 184, 216, 226, 235, 238, 244, 248, 251, 253, 258, 276, 284, 300, 325, 329, 334, 364, 463, 465, 467, 469, 471, 473, 475, 477, 506, 594, 610, 712, 716, 730, 930, 938, 962, 970, 1026, 1104, 1106, 8209, 8215, 8218, 8222, 8231, 8241, 8244, 8246, 8252, 8365, 8452, 8454, 8458, 8471, 8482, 8556, 8570, 8596, 8602, 8713, 8720, 8722, 8726, 8731, 8737, 8740, 8742, 8748, 8751, 8760, 8766, 8777, 8781, 8787, 8802, 8808, 8816, 8854, 8858, 8870, 8896, 8979, 9322, 9372, 9548, 9588, 9616, 9622, 9634, 9652, 9662, 9672, 9676, 9680, 9702, 9735, 9738, 9793, 9795, 11906, 11909, 11913, 11917, 11928, 11944, 11947, 11951, 11956, 11960, 11964, 11979, 12284, 12292, 12312, 12319, 12330, 12351, 12436, 12447, 12535, 12543, 12586, 12842, 12850, 12964, 13200, 13215, 13218, 13253, 13263, 13267, 13270, 13384, 13428, 13727, 13839, 13851, 14617, 14703, 14801, 14816, 14964, 15183, 15471, 15585, 16471, 16736, 17208, 17325, 17330, 17374, 17623, 17997, 18018, 18212, 18218, 18301, 18318, 18760, 18811, 18814, 18820, 18823, 18844, 18848, 18872, 19576, 19620, 19738, 19887, 40870, 59244, 59336, 59367, 59413, 59417, 59423, 59431, 59437, 59443, 59452, 59460, 59478, 59493, 63789, 63866, 63894, 63976, 63986, 64016, 64018, 64021, 64025, 64034, 64037, 64042, 65074, 65093, 65107, 65112, 65127, 65132, 65375, 65510, 65536], gbChars: [0, 36, 38, 45, 50, 81, 89, 95, 96, 100, 103, 104, 105, 109, 126, 133, 148, 172, 175, 179, 208, 306, 307, 308, 309, 310, 311, 312, 313, 341, 428, 443, 544, 545, 558, 741, 742, 749, 750, 805, 819, 820, 7922, 7924, 7925, 7927, 7934, 7943, 7944, 7945, 7950, 8062, 8148, 8149, 8152, 8164, 8174, 8236, 8240, 8262, 8264, 8374, 8380, 8381, 8384, 8388, 8390, 8392, 8393, 8394, 8396, 8401, 8406, 8416, 8419, 8424, 8437, 8439, 8445, 8482, 8485, 8496, 8521, 8603, 8936, 8946, 9046, 9050, 9063, 9066, 9076, 9092, 9100, 9108, 9111, 9113, 9131, 9162, 9164, 9218, 9219, 11329, 11331, 11334, 11336, 11346, 11361, 11363, 11366, 11370, 11372, 11375, 11389, 11682, 11686, 11687, 11692, 11694, 11714, 11716, 11723, 11725, 11730, 11736, 11982, 11989, 12102, 12336, 12348, 12350, 12384, 12393, 12395, 12397, 12510, 12553, 12851, 12962, 12973, 13738, 13823, 13919, 13933, 14080, 14298, 14585, 14698, 15583, 15847, 16318, 16434, 16438, 16481, 16729, 17102, 17122, 17315, 17320, 17402, 17418, 17859, 17909, 17911, 17915, 17916, 17936, 17939, 17961, 18664, 18703, 18814, 18962, 19043, 33469, 33470, 33471, 33484, 33485, 33490, 33497, 33501, 33505, 33513, 33520, 33536, 33550, 37845, 37921, 37948, 38029, 38038, 38064, 38065, 38066, 38069, 38075, 38076, 38078, 39108, 39109, 39113, 39114, 39115, 39116, 39265, 39394, 189e3] }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp949.json +var require_cp949 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp949.json"(exports, module) { + module.exports = [ + ["0", "\0", 127], + ["8141", "\uAC02\uAC03\uAC05\uAC06\uAC0B", 4, "\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25", 6, "\uAC2E\uAC32\uAC33\uAC34"], + ["8161", "\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41", 9, "\uAC4C\uAC4E", 5, "\uAC55"], + ["8181", "\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D", 18, "\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B", 4, "\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95", 6, "\uAC9E\uACA2", 5, "\uACAB\uACAD\uACAE\uACB1", 6, "\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD", 7, "\uACD6\uACD8", 7, "\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7", 4, "\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07", 4, "\uAD0E\uAD10\uAD12\uAD13"], + ["8241", "\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21", 7, "\uAD2A\uAD2B\uAD2E", 5], + ["8261", "\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D", 6, "\uAD46\uAD48\uAD4A", 5, "\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"], + ["8281", "\uAD59", 7, "\uAD62\uAD64", 7, "\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83", 4, "\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91", 10, "\uAD9E", 5, "\uADA5", 17, "\uADB8", 7, "\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9", 6, "\uADD2\uADD4", 7, "\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5", 18], + ["8341", "\uADFA\uADFB\uADFD\uADFE\uAE02", 5, "\uAE0A\uAE0C\uAE0E", 5, "\uAE15", 7], + ["8361", "\uAE1D", 18, "\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"], + ["8381", "\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57", 4, "\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71", 6, "\uAE7A\uAE7E", 5, "\uAE86", 5, "\uAE8D", 46, "\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5", 6, "\uAECE\uAED2", 5, "\uAEDA\uAEDB\uAEDD", 8], + ["8441", "\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE", 5, "\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD", 8], + ["8461", "\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11", 18], + ["8481", "\uAF24", 7, "\uAF2E\uAF2F\uAF31\uAF33\uAF35", 6, "\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A", 5, "\uAF51", 10, "\uAF5E", 5, "\uAF66", 18, "\uAF7A", 5, "\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89", 6, "\uAF92\uAF93\uAF94\uAF96", 5, "\uAF9D", 26, "\uAFBA\uAFBB\uAFBD\uAFBE"], + ["8541", "\uAFBF\uAFC1", 5, "\uAFCA\uAFCC\uAFCF", 4, "\uAFD5", 6, "\uAFDD", 4], + ["8561", "\uAFE2", 5, "\uAFEA", 5, "\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9", 6, "\uB002\uB003"], + ["8581", "\uB005", 6, "\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015", 6, "\uB01E", 9, "\uB029", 26, "\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E", 29, "\uB07E\uB07F\uB081\uB082\uB083\uB085", 6, "\uB08E\uB090\uB092", 5, "\uB09B\uB09D\uB09E\uB0A3\uB0A4"], + ["8641", "\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD", 6, "\uB0C6\uB0CA", 5, "\uB0D2"], + ["8661", "\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9", 6, "\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6", 10], + ["8681", "\uB0F1", 22, "\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E", 4, "\uB126\uB127\uB129\uB12A\uB12B\uB12D", 6, "\uB136\uB13A", 5, "\uB142\uB143\uB145\uB146\uB147\uB149", 6, "\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161", 22, "\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183", 4, "\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"], + ["8741", "\uB19E", 9, "\uB1A9", 15], + ["8761", "\uB1B9", 18, "\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"], + ["8781", "\uB1D6", 5, "\uB1DE\uB1E0", 7, "\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1", 7, "\uB1FA\uB1FC\uB1FE", 5, "\uB206\uB207\uB209\uB20A\uB20D", 6, "\uB216\uB218\uB21A", 5, "\uB221", 18, "\uB235", 6, "\uB23D", 26, "\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261", 6, "\uB26A", 4], + ["8841", "\uB26F", 4, "\uB276", 5, "\uB27D", 6, "\uB286\uB287\uB288\uB28A", 4], + ["8861", "\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B", 4, "\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"], + ["8881", "\uB2B8", 15, "\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3", 4, "\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309", 6, "\uB312\uB316", 5, "\uB31D", 54, "\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"], + ["8941", "\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379", 6, "\uB382\uB386", 5, "\uB38D"], + ["8961", "\uB38E\uB38F\uB391\uB392\uB393\uB395", 10, "\uB3A2", 5, "\uB3A9\uB3AA\uB3AB\uB3AD"], + ["8981", "\uB3AE", 21, "\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9", 18, "\uB3FD", 18, "\uB411", 6, "\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421", 6, "\uB42A\uB42C", 7, "\uB435", 15], + ["8a41", "\uB445", 10, "\uB452\uB453\uB455\uB456\uB457\uB459", 6, "\uB462\uB464\uB466"], + ["8a61", "\uB467", 4, "\uB46D", 18, "\uB481\uB482"], + ["8a81", "\uB483", 4, "\uB489", 19, "\uB49E", 5, "\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD", 7, "\uB4B6\uB4B8\uB4BA", 5, "\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9", 6, "\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6", 5, "\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7", 4, "\uB4EE\uB4F0\uB4F2", 5, "\uB4F9", 26, "\uB516\uB517\uB519\uB51A\uB51D"], + ["8b41", "\uB51E", 5, "\uB526\uB52B", 4, "\uB532\uB533\uB535\uB536\uB537\uB539", 6, "\uB542\uB546"], + ["8b61", "\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555", 6, "\uB55E\uB562", 8], + ["8b81", "\uB56B", 52, "\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6", 4, "\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5", 6, "\uB5CE\uB5D2", 5, "\uB5D9", 18, "\uB5ED", 18], + ["8c41", "\uB600", 15, "\uB612\uB613\uB615\uB616\uB617\uB619", 4], + ["8c61", "\uB61E", 6, "\uB626", 5, "\uB62D", 6, "\uB635", 5], + ["8c81", "\uB63B", 12, "\uB649", 26, "\uB665\uB666\uB667\uB669", 50, "\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5", 5, "\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2", 16], + ["8d41", "\uB6C3", 16, "\uB6D5", 8], + ["8d61", "\uB6DE", 17, "\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"], + ["8d81", "\uB6FB", 4, "\uB702\uB703\uB704\uB706", 33, "\uB72A\uB72B\uB72D\uB72E\uB731", 6, "\uB73A\uB73C", 7, "\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D", 6, "\uB756", 9, "\uB761\uB762\uB763\uB765\uB766\uB767\uB769", 6, "\uB772\uB774\uB776", 5, "\uB77E\uB77F\uB781\uB782\uB783\uB785", 6, "\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"], + ["8e41", "\uB79F\uB7A1", 6, "\uB7AA\uB7AE", 5, "\uB7B6\uB7B7\uB7B9", 8], + ["8e61", "\uB7C2", 4, "\uB7C8\uB7CA", 19], + ["8e81", "\uB7DE", 13, "\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5", 6, "\uB7FE\uB802", 4, "\uB80A\uB80B\uB80D\uB80E\uB80F\uB811", 6, "\uB81A\uB81C\uB81E", 5, "\uB826\uB827\uB829\uB82A\uB82B\uB82D", 6, "\uB836\uB83A", 5, "\uB841\uB842\uB843\uB845", 11, "\uB852\uB854", 7, "\uB85E\uB85F\uB861\uB862\uB863\uB865", 6, "\uB86E\uB870\uB872", 5, "\uB879\uB87A\uB87B\uB87D", 7], + ["8f41", "\uB885", 7, "\uB88E", 17], + ["8f61", "\uB8A0", 7, "\uB8A9", 6, "\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9", 4], + ["8f81", "\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6", 5, "\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5", 7, "\uB8DE\uB8E0\uB8E2", 5, "\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1", 6, "\uB8FA\uB8FC\uB8FE", 5, "\uB905", 18, "\uB919", 6, "\uB921", 26, "\uB93E\uB93F\uB941\uB942\uB943\uB945", 6, "\uB94D\uB94E\uB950\uB952", 5], + ["9041", "\uB95A\uB95B\uB95D\uB95E\uB95F\uB961", 6, "\uB96A\uB96C\uB96E", 5, "\uB976\uB977\uB979\uB97A\uB97B\uB97D"], + ["9061", "\uB97E", 5, "\uB986\uB988\uB98B\uB98C\uB98F", 15], + ["9081", "\uB99F", 12, "\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5", 6, "\uB9BE\uB9C0\uB9C2", 5, "\uB9CA\uB9CB\uB9CD\uB9D3", 4, "\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED", 6, "\uB9F6\uB9FB", 4, "\uBA02", 5, "\uBA09", 11, "\uBA16", 33, "\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"], + ["9141", "\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D", 6, "\uBA66\uBA6A", 5], + ["9161", "\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79", 9, "\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D", 5], + ["9181", "\uBA93", 20, "\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3", 4, "\uBABA\uBABC\uBABE", 5, "\uBAC5\uBAC6\uBAC7\uBAC9", 14, "\uBADA", 33, "\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05", 7, "\uBB0E\uBB10\uBB12", 5, "\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21", 6], + ["9241", "\uBB28\uBB2A\uBB2C", 7, "\uBB37\uBB39\uBB3A\uBB3F", 4, "\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"], + ["9261", "\uBB53\uBB55\uBB56\uBB57\uBB59", 7, "\uBB62\uBB64", 7, "\uBB6D", 4], + ["9281", "\uBB72", 21, "\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91", 18, "\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD", 6, "\uBBB5\uBBB6\uBBB8", 7, "\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9", 6, "\uBBD1\uBBD2\uBBD4", 35, "\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"], + ["9341", "\uBC03", 4, "\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"], + ["9361", "\uBC36\uBC37\uBC39", 6, "\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51", 8], + ["9381", "\uBC5A\uBC5B\uBC5C\uBC5E", 37, "\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F", 4, "\uBC96\uBC98\uBC9B", 4, "\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9", 6, "\uBCB2\uBCB6", 5, "\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5", 7, "\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD", 22, "\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"], + ["9441", "\uBCFE", 5, "\uBD06\uBD08\uBD0A", 5, "\uBD11\uBD12\uBD13\uBD15", 8], + ["9461", "\uBD1E", 5, "\uBD25", 6, "\uBD2D", 12], + ["9481", "\uBD3A", 5, "\uBD41", 6, "\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51", 6, "\uBD5A", 9, "\uBD65\uBD66\uBD67\uBD69", 22, "\uBD82\uBD83\uBD85\uBD86\uBD8B", 4, "\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D", 6, "\uBDA5", 10, "\uBDB1", 6, "\uBDB9", 24], + ["9541", "\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD", 11, "\uBDEA", 5, "\uBDF1"], + ["9561", "\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9", 6, "\uBE01\uBE02\uBE04\uBE06", 5, "\uBE0E\uBE0F\uBE11\uBE12\uBE13"], + ["9581", "\uBE15", 6, "\uBE1E\uBE20", 35, "\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F", 4, "\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B", 4, "\uBE72\uBE76", 4, "\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85", 6, "\uBE8E\uBE92", 5, "\uBE9A", 13, "\uBEA9", 14], + ["9641", "\uBEB8", 23, "\uBED2\uBED3"], + ["9661", "\uBED5\uBED6\uBED9", 6, "\uBEE1\uBEE2\uBEE6", 5, "\uBEED", 8], + ["9681", "\uBEF6", 10, "\uBF02", 5, "\uBF0A", 13, "\uBF1A\uBF1E", 33, "\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49", 6, "\uBF52\uBF53\uBF54\uBF56", 44], + ["9741", "\uBF83", 16, "\uBF95", 8], + ["9761", "\uBF9E", 17, "\uBFB1", 7], + ["9781", "\uBFB9", 11, "\uBFC6", 5, "\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5", 6, "\uBFDD\uBFDE\uBFE0\uBFE2", 89, "\uC03D\uC03E\uC03F"], + ["9841", "\uC040", 16, "\uC052", 5, "\uC059\uC05A\uC05B"], + ["9861", "\uC05D\uC05E\uC05F\uC061", 6, "\uC06A", 15], + ["9881", "\uC07A", 21, "\uC092\uC093\uC095\uC096\uC097\uC099", 6, "\uC0A2\uC0A4\uC0A6", 5, "\uC0AE\uC0B1\uC0B2\uC0B7", 4, "\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1", 6, "\uC0DA\uC0DE", 5, "\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED", 6, "\uC0F6\uC0F8\uC0FA", 5, "\uC101\uC102\uC103\uC105\uC106\uC107\uC109", 6, "\uC111\uC112\uC113\uC114\uC116", 5, "\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"], + ["9941", "\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141", 6, "\uC14A\uC14E", 5, "\uC156\uC157"], + ["9961", "\uC159\uC15A\uC15B\uC15D", 6, "\uC166\uC16A", 5, "\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"], + ["9981", "\uC17C", 8, "\uC186", 5, "\uC18F\uC191\uC192\uC193\uC195\uC197", 4, "\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1", 11, "\uC1BE", 5, "\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD", 6, "\uC1D5\uC1D6\uC1D9", 6, "\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9", 6, "\uC1F2\uC1F4", 7, "\uC1FE\uC1FF\uC201\uC202\uC203\uC205", 6, "\uC20E\uC210\uC212", 5, "\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"], + ["9a41", "\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235", 16], + ["9a61", "\uC246\uC247\uC249", 6, "\uC252\uC253\uC255\uC256\uC257\uC259", 6, "\uC261\uC262\uC263\uC264\uC266"], + ["9a81", "\uC267", 4, "\uC26E\uC26F\uC271\uC272\uC273\uC275", 6, "\uC27E\uC280\uC282", 5, "\uC28A", 5, "\uC291", 6, "\uC299\uC29A\uC29C\uC29E", 5, "\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE", 5, "\uC2B6\uC2B8\uC2BA", 33, "\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5", 5, "\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301", 6, "\uC30A\uC30B\uC30E\uC30F"], + ["9b41", "\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D", 6, "\uC326\uC327\uC32A", 8], + ["9b61", "\uC333", 17, "\uC346", 7], + ["9b81", "\uC34E", 25, "\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373", 4, "\uC37A\uC37B\uC37E", 5, "\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D", 50, "\uC3C1", 22, "\uC3DA"], + ["9c41", "\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3", 4, "\uC3EA\uC3EB\uC3EC\uC3EE", 5, "\uC3F6\uC3F7\uC3F9", 5], + ["9c61", "\uC3FF", 8, "\uC409", 6, "\uC411", 9], + ["9c81", "\uC41B", 8, "\uC425", 6, "\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435", 6, "\uC43E", 9, "\uC449", 26, "\uC466\uC467\uC469\uC46A\uC46B\uC46D", 6, "\uC476\uC477\uC478\uC47A", 5, "\uC481", 18, "\uC495", 6, "\uC49D", 12], + ["9d41", "\uC4AA", 13, "\uC4B9\uC4BA\uC4BB\uC4BD", 8], + ["9d61", "\uC4C6", 25], + ["9d81", "\uC4E0", 8, "\uC4EA", 5, "\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502", 9, "\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515", 6, "\uC51D", 10, "\uC52A\uC52B\uC52D\uC52E\uC52F\uC531", 6, "\uC53A\uC53C\uC53E", 5, "\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569", 6, "\uC572\uC576", 5, "\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"], + ["9e41", "\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1", 7, "\uC5AA", 9, "\uC5B6"], + ["9e61", "\uC5B7\uC5BA\uC5BF", 4, "\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9", 6, "\uC5E2\uC5E4\uC5E6\uC5E7"], + ["9e81", "\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611", 6, "\uC61A\uC61D", 6, "\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649", 6, "\uC652\uC656", 5, "\uC65E\uC65F\uC661", 10, "\uC66D\uC66E\uC670\uC672", 5, "\uC67A\uC67B\uC67D\uC67E\uC67F\uC681", 6, "\uC68A\uC68C\uC68E", 5, "\uC696\uC697\uC699\uC69A\uC69B\uC69D", 6, "\uC6A6"], + ["9f41", "\uC6A8\uC6AA", 5, "\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB", 4, "\uC6C2\uC6C4\uC6C6", 5, "\uC6CE"], + ["9f61", "\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5", 6, "\uC6DE\uC6DF\uC6E2", 5, "\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"], + ["9f81", "\uC6F3", 4, "\uC6FA\uC6FB\uC6FC\uC6FE", 5, "\uC706\uC707\uC709\uC70A\uC70B\uC70D", 6, "\uC716\uC718\uC71A", 5, "\uC722\uC723\uC725\uC726\uC727\uC729", 6, "\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745", 4, "\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761", 6, "\uC769\uC76A\uC76C", 7, "\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B", 4, "\uC7A2\uC7A7", 4, "\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"], + ["a041", "\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2", 5, "\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1", 6, "\uC7D9\uC7DA\uC7DB\uC7DC"], + ["a061", "\uC7DE", 5, "\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED", 13], + ["a081", "\uC7FB", 4, "\uC802\uC803\uC805\uC806\uC807\uC809\uC80B", 4, "\uC812\uC814\uC817", 4, "\uC81E\uC81F\uC821\uC822\uC823\uC825", 6, "\uC82E\uC830\uC832", 5, "\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841", 6, "\uC84A\uC84B\uC84E", 5, "\uC855", 26, "\uC872\uC873\uC875\uC876\uC877\uC879\uC87B", 4, "\uC882\uC884\uC888\uC889\uC88A\uC88E", 5, "\uC895", 7, "\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"], + ["a141", "\uC8A5\uC8A6\uC8A7\uC8A9", 18, "\uC8BE\uC8BF\uC8C0\uC8C1"], + ["a161", "\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD", 6, "\uC8D6\uC8D8\uC8DA", 5, "\uC8E2\uC8E3\uC8E5"], + ["a181", "\uC8E6", 14, "\uC8F6", 5, "\uC8FE\uC8FF\uC901\uC902\uC903\uC907", 4, "\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008", 9, "\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"], + ["a241", "\uC910\uC912", 5, "\uC919", 18], + ["a261", "\uC92D", 6, "\uC935", 18], + ["a281", "\uC948", 7, "\uC952\uC953\uC955\uC956\uC957\uC959", 6, "\uC962\uC964", 7, "\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"], + ["a341", "\uC971\uC972\uC973\uC975", 6, "\uC97D", 10, "\uC98A\uC98B\uC98D\uC98E\uC98F"], + ["a361", "\uC991", 6, "\uC99A\uC99C\uC99E", 16], + ["a381", "\uC9AF", 16, "\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB", 4, "\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01", 58, "\uFFE6\uFF3D", 32, "\uFFE3"], + ["a441", "\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2", 5, "\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"], + ["a461", "\uCA05\uCA06\uCA07\uCA0A\uCA0E", 5, "\uCA15\uCA16\uCA17\uCA19", 12], + ["a481", "\uCA26\uCA27\uCA28\uCA2A", 28, "\u3131", 93], + ["a541", "\uCA47", 4, "\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55", 6, "\uCA5E\uCA62", 5, "\uCA69\uCA6A"], + ["a561", "\uCA6B", 17, "\uCA7E", 5, "\uCA85\uCA86"], + ["a581", "\uCA87", 16, "\uCA99", 14, "\u2170", 9], + ["a5b0", "\u2160", 9], + ["a5c1", "\u0391", 16, "\u03A3", 6], + ["a5e1", "\u03B1", 16, "\u03C3", 6], + ["a641", "\uCAA8", 19, "\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"], + ["a661", "\uCAC6", 5, "\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA", 5, "\uCAE1", 6], + ["a681", "\uCAE8\uCAE9\uCAEA\uCAEB\uCAED", 6, "\uCAF5", 18, "\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543", 7], + ["a741", "\uCB0B", 4, "\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19", 6, "\uCB22", 7], + ["a761", "\uCB2A", 22, "\uCB42\uCB43\uCB44"], + ["a781", "\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51", 6, "\uCB5A\uCB5B\uCB5C\uCB5E", 5, "\uCB65", 7, "\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399", 9, "\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0", 9, "\u3380", 4, "\u33BA", 5, "\u3390", 4, "\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"], + ["a841", "\uCB6D", 10, "\uCB7A", 14], + ["a861", "\uCB89", 18, "\uCB9D", 6], + ["a881", "\uCBA4", 19, "\uCBB9", 11, "\xC6\xD0\xAA\u0126"], + ["a8a6", "\u0132"], + ["a8a8", "\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"], + ["a8b1", "\u3260", 27, "\u24D0", 25, "\u2460", 14, "\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"], + ["a941", "\uCBC5", 14, "\uCBD5", 10], + ["a961", "\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA", 18], + ["a981", "\uCBFD", 14, "\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15", 6, "\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200", 27, "\u249C", 25, "\u2474", 14, "\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"], + ["aa41", "\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31", 6, "\uCC3A\uCC3F", 4, "\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"], + ["aa61", "\uCC4F", 4, "\uCC56\uCC5A", 5, "\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69", 6, "\uCC71\uCC72"], + ["aa81", "\uCC73\uCC74\uCC76", 29, "\u3041", 82], + ["ab41", "\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1", 6, "\uCCAA\uCCAE", 5, "\uCCB6\uCCB7\uCCB9"], + ["ab61", "\uCCBA\uCCBB\uCCBD", 6, "\uCCC6\uCCC8\uCCCA", 5, "\uCCD1\uCCD2\uCCD3\uCCD5", 5], + ["ab81", "\uCCDB", 8, "\uCCE5", 6, "\uCCED\uCCEE\uCCEF\uCCF1", 12, "\u30A1", 85], + ["ac41", "\uCCFE\uCCFF\uCD00\uCD02", 5, "\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11", 6, "\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"], + ["ac61", "\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D", 11, "\uCD3A", 4], + ["ac81", "\uCD3F", 28, "\uCD5D\uCD5E\uCD5F\u0410", 5, "\u0401\u0416", 25], + ["acd1", "\u0430", 5, "\u0451\u0436", 25], + ["ad41", "\uCD61\uCD62\uCD63\uCD65", 6, "\uCD6E\uCD70\uCD72", 5, "\uCD79", 7], + ["ad61", "\uCD81", 6, "\uCD89", 10, "\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"], + ["ad81", "\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA", 5, "\uCDB1", 18, "\uCDC5"], + ["ae41", "\uCDC6", 5, "\uCDCD\uCDCE\uCDCF\uCDD1", 16], + ["ae61", "\uCDE2", 5, "\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1", 6, "\uCDFA\uCDFC\uCDFE", 4], + ["ae81", "\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D", 6, "\uCE15\uCE16\uCE17\uCE18\uCE1A", 5, "\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"], + ["af41", "\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36", 19], + ["af61", "\uCE4A", 13, "\uCE5A\uCE5B\uCE5D\uCE5E\uCE62", 5, "\uCE6A\uCE6C"], + ["af81", "\uCE6E", 5, "\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D", 6, "\uCE86\uCE88\uCE8A", 5, "\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"], + ["b041", "\uCE9A", 5, "\uCEA2\uCEA6", 5, "\uCEAE", 12], + ["b061", "\uCEBB", 5, "\uCEC2", 19], + ["b081", "\uCED6", 13, "\uCEE6\uCEE7\uCEE9\uCEEA\uCEED", 6, "\uCEF6\uCEFA", 5, "\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10", 7, "\uAC19", 4, "\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"], + ["b141", "\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09", 6, "\uCF12\uCF14\uCF16", 5, "\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"], + ["b161", "\uCF25", 6, "\uCF2E\uCF32", 5, "\uCF39", 11], + ["b181", "\uCF45", 14, "\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D", 6, "\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"], + ["b241", "\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79", 6, "\uCF81\uCF82\uCF83\uCF84\uCF86", 5, "\uCF8D"], + ["b261", "\uCF8E", 18, "\uCFA2", 5, "\uCFA9"], + ["b281", "\uCFAA", 5, "\uCFB1", 18, "\uCFC5", 6, "\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"], + ["b341", "\uCFCC", 19, "\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"], + ["b361", "\uCFEA", 5, "\uCFF2\uCFF4\uCFF6", 5, "\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005", 5], + ["b381", "\uD00B", 5, "\uD012", 5, "\uD019", 19, "\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB", 4, "\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"], + ["b441", "\uD02E", 5, "\uD036\uD037\uD039\uD03A\uD03B\uD03D", 6, "\uD046\uD048\uD04A", 5], + ["b461", "\uD051\uD052\uD053\uD055\uD056\uD057\uD059", 6, "\uD061", 10, "\uD06E\uD06F"], + ["b481", "\uD071\uD072\uD073\uD075", 6, "\uD07E\uD07F\uD080\uD082", 18, "\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB", 4, "\uB2F3\uB2F4\uB2F5\uB2F7", 4, "\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"], + ["b541", "\uD095", 14, "\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD", 5], + ["b561", "\uD0B3\uD0B6\uD0B8\uD0BA", 5, "\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA", 5, "\uD0D2\uD0D6", 4], + ["b581", "\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5", 6, "\uD0EE\uD0F2", 5, "\uD0F9", 11, "\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"], + ["b641", "\uD105", 7, "\uD10E", 17], + ["b661", "\uD120", 15, "\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"], + ["b681", "\uD13F\uD142\uD146", 5, "\uD14E\uD14F\uD151\uD152\uD153\uD155", 6, "\uD15E\uD160\uD162", 5, "\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"], + ["b741", "\uD16E", 13, "\uD17D", 6, "\uD185\uD186\uD187\uD189\uD18A"], + ["b761", "\uD18B", 20, "\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"], + ["b781", "\uD1A9", 6, "\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1", 14, "\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"], + ["b841", "\uD1D0", 7, "\uD1D9", 17], + ["b861", "\uD1EB", 8, "\uD1F5\uD1F6\uD1F7\uD1F9", 13], + ["b881", "\uD208\uD20A", 5, "\uD211", 24, "\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE", 4, "\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"], + ["b941", "\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235", 6, "\uD23E\uD240\uD242", 5, "\uD249\uD24A\uD24B\uD24C"], + ["b961", "\uD24D", 14, "\uD25D", 6, "\uD265\uD266\uD267\uD268"], + ["b981", "\uD269", 22, "\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14", 4, "\uBC1B", 4, "\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"], + ["ba41", "\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296", 5, "\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5", 6, "\uD2AD"], + ["ba61", "\uD2AE\uD2AF\uD2B0\uD2B2", 5, "\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3", 4, "\uD2CA\uD2CC", 5], + ["ba81", "\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD", 6, "\uD2E6", 9, "\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"], + ["bb41", "\uD2FB", 4, "\uD302\uD304\uD306", 5, "\uD30F\uD311\uD312\uD313\uD315\uD317", 4, "\uD31E\uD322\uD323"], + ["bb61", "\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331", 6, "\uD33A\uD33E", 5, "\uD346\uD347\uD348\uD349"], + ["bb81", "\uD34A", 31, "\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"], + ["bc41", "\uD36A", 17, "\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"], + ["bc61", "\uD388\uD389\uD38A\uD38B\uD38E\uD392", 5, "\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1", 6, "\uD3AA\uD3AC\uD3AE"], + ["bc81", "\uD3AF", 4, "\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD", 6, "\uD3C6\uD3C7\uD3CA", 5, "\uD3D1", 5, "\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C", 4, "\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"], + ["bd41", "\uD3D7\uD3D9", 7, "\uD3E2\uD3E4", 7, "\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"], + ["bd61", "\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402", 5, "\uD409", 13], + ["bd81", "\uD417", 5, "\uD41E", 25, "\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"], + ["be41", "\uD438", 7, "\uD441\uD442\uD443\uD445", 14], + ["be61", "\uD454", 7, "\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465", 7, "\uD46E\uD470\uD471\uD472"], + ["be81", "\uD473", 4, "\uD47A\uD47B\uD47D\uD47E\uD481\uD483", 4, "\uD48A\uD48C\uD48E", 5, "\uD495", 8, "\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4", 6, "\uC5CC\uC5CE"], + ["bf41", "\uD49E", 10, "\uD4AA", 14], + ["bf61", "\uD4B9", 18, "\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"], + ["bf81", "\uD4D6", 5, "\uD4DD\uD4DE\uD4E0", 7, "\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1", 6, "\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC", 5, "\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"], + ["c041", "\uD4FE", 5, "\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D", 6, "\uD516\uD518", 5], + ["c061", "\uD51E", 25], + ["c081", "\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545", 6, "\uD54E\uD550\uD552", 5, "\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751", 7, "\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"], + ["c141", "\uD564\uD566\uD567\uD56A\uD56C\uD56E", 5, "\uD576\uD577\uD579\uD57A\uD57B\uD57D", 6, "\uD586\uD58A\uD58B"], + ["c161", "\uD58C\uD58D\uD58E\uD58F\uD591", 19, "\uD5A6\uD5A7"], + ["c181", "\uD5A8", 31, "\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"], + ["c241", "\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3", 4, "\uD5DA\uD5DC\uD5DE", 5, "\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"], + ["c261", "\uD5EF", 4, "\uD5F6\uD5F8\uD5FA", 5, "\uD602\uD603\uD605\uD606\uD607\uD609", 6, "\uD612"], + ["c281", "\uD616", 5, "\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625", 7, "\uD62E", 9, "\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"], + ["c341", "\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D", 4], + ["c361", "\uD662", 4, "\uD668\uD66A", 5, "\uD672\uD673\uD675", 11], + ["c381", "\uD681\uD682\uD684\uD686", 5, "\uD68E\uD68F\uD691\uD692\uD693\uD695", 7, "\uD69E\uD6A0\uD6A2", 5, "\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"], + ["c441", "\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1", 7, "\uD6BA\uD6BC", 7, "\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"], + ["c461", "\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA", 5, "\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9", 4], + ["c481", "\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6", 5, "\uD6FE\uD6FF\uD701\uD702\uD703\uD705", 11, "\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"], + ["c541", "\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721", 6, "\uD72A\uD72C\uD72E", 5, "\uD736\uD737\uD739"], + ["c561", "\uD73A\uD73B\uD73D", 6, "\uD745\uD746\uD748\uD74A", 5, "\uD752\uD753\uD755\uD75A", 4], + ["c581", "\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775", 6, "\uD77E\uD77F\uD780\uD782", 5, "\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"], + ["c641", "\uD78D\uD78E\uD78F\uD791", 6, "\uD79A\uD79C\uD79E", 5], + ["c6a1", "\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"], + ["c7a1", "\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"], + ["c8a1", "\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"], + ["caa1", "\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"], + ["cba1", "\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"], + ["cca1", "\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"], + ["cda1", "\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"], + ["cea1", "\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"], + ["cfa1", "\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"], + ["d0a1", "\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"], + ["d1a1", "\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E", 5, "\u90A3\uF914", 4, "\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"], + ["d2a1", "\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928", 4, "\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933", 5, "\u99D1\uF939", 10, "\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A", 7, "\u5AE9\u8A25\u677B\u7D10\uF952", 5, "\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"], + ["d3a1", "\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"], + ["d4a1", "\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"], + ["d5a1", "\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"], + ["d6a1", "\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"], + ["d7a1", "\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"], + ["d8a1", "\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"], + ["d9a1", "\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"], + ["daa1", "\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"], + ["dba1", "\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"], + ["dca1", "\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"], + ["dda1", "\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"], + ["dea1", "\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"], + ["dfa1", "\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"], + ["e0a1", "\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"], + ["e1a1", "\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"], + ["e2a1", "\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"], + ["e3a1", "\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"], + ["e4a1", "\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"], + ["e5a1", "\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"], + ["e6a1", "\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"], + ["e7a1", "\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"], + ["e8a1", "\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"], + ["e9a1", "\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"], + ["eaa1", "\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"], + ["eba1", "\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"], + ["eca1", "\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"], + ["eda1", "\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"], + ["eea1", "\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"], + ["efa1", "\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"], + ["f0a1", "\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"], + ["f1a1", "\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"], + ["f2a1", "\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"], + ["f3a1", "\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"], + ["f4a1", "\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"], + ["f5a1", "\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"], + ["f6a1", "\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"], + ["f7a1", "\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"], + ["f8a1", "\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"], + ["f9a1", "\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"], + ["faa1", "\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"], + ["fba1", "\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"], + ["fca1", "\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"], + ["fda1", "\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp950.json +var require_cp950 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/cp950.json"(exports, module) { + module.exports = [ + ["0", "\0", 127], + ["a140", "\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"], + ["a1a1", "\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62", 4, "\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"], + ["a240", "\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581", 7, "\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"], + ["a2a1", "\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10", 9, "\u2160", 9, "\u3021", 8, "\u5341\u5344\u5345\uFF21", 25, "\uFF41", 21], + ["a340", "\uFF57\uFF58\uFF59\uFF5A\u0391", 16, "\u03A3", 6, "\u03B1", 16, "\u03C3", 6, "\u3105", 10], + ["a3a1", "\u3110", 25, "\u02D9\u02C9\u02CA\u02C7\u02CB"], + ["a3e1", "\u20AC"], + ["a440", "\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"], + ["a4a1", "\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"], + ["a540", "\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"], + ["a5a1", "\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"], + ["a640", "\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"], + ["a6a1", "\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"], + ["a740", "\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"], + ["a7a1", "\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"], + ["a840", "\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"], + ["a8a1", "\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"], + ["a940", "\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"], + ["a9a1", "\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"], + ["aa40", "\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"], + ["aaa1", "\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"], + ["ab40", "\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"], + ["aba1", "\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"], + ["ac40", "\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"], + ["aca1", "\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"], + ["ad40", "\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"], + ["ada1", "\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"], + ["ae40", "\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"], + ["aea1", "\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"], + ["af40", "\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"], + ["afa1", "\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"], + ["b040", "\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"], + ["b0a1", "\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"], + ["b140", "\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"], + ["b1a1", "\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"], + ["b240", "\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"], + ["b2a1", "\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"], + ["b340", "\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"], + ["b3a1", "\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"], + ["b440", "\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"], + ["b4a1", "\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"], + ["b540", "\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"], + ["b5a1", "\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"], + ["b640", "\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"], + ["b6a1", "\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"], + ["b740", "\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"], + ["b7a1", "\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"], + ["b840", "\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"], + ["b8a1", "\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"], + ["b940", "\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"], + ["b9a1", "\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"], + ["ba40", "\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"], + ["baa1", "\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"], + ["bb40", "\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"], + ["bba1", "\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"], + ["bc40", "\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"], + ["bca1", "\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"], + ["bd40", "\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"], + ["bda1", "\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"], + ["be40", "\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"], + ["bea1", "\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"], + ["bf40", "\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"], + ["bfa1", "\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"], + ["c040", "\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"], + ["c0a1", "\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"], + ["c140", "\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"], + ["c1a1", "\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"], + ["c240", "\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"], + ["c2a1", "\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"], + ["c340", "\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"], + ["c3a1", "\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"], + ["c440", "\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"], + ["c4a1", "\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"], + ["c540", "\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"], + ["c5a1", "\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"], + ["c640", "\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"], + ["c940", "\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"], + ["c9a1", "\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"], + ["ca40", "\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"], + ["caa1", "\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"], + ["cb40", "\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"], + ["cba1", "\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"], + ["cc40", "\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"], + ["cca1", "\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"], + ["cd40", "\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"], + ["cda1", "\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"], + ["ce40", "\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"], + ["cea1", "\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"], + ["cf40", "\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"], + ["cfa1", "\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"], + ["d040", "\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"], + ["d0a1", "\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"], + ["d140", "\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"], + ["d1a1", "\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"], + ["d240", "\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"], + ["d2a1", "\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"], + ["d340", "\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"], + ["d3a1", "\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"], + ["d440", "\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"], + ["d4a1", "\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"], + ["d540", "\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"], + ["d5a1", "\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"], + ["d640", "\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"], + ["d6a1", "\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"], + ["d740", "\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"], + ["d7a1", "\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"], + ["d840", "\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"], + ["d8a1", "\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"], + ["d940", "\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"], + ["d9a1", "\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"], + ["da40", "\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"], + ["daa1", "\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"], + ["db40", "\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"], + ["dba1", "\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"], + ["dc40", "\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"], + ["dca1", "\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"], + ["dd40", "\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"], + ["dda1", "\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"], + ["de40", "\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"], + ["dea1", "\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"], + ["df40", "\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"], + ["dfa1", "\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"], + ["e040", "\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"], + ["e0a1", "\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"], + ["e140", "\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"], + ["e1a1", "\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"], + ["e240", "\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"], + ["e2a1", "\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"], + ["e340", "\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"], + ["e3a1", "\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"], + ["e440", "\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"], + ["e4a1", "\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"], + ["e540", "\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"], + ["e5a1", "\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"], + ["e640", "\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"], + ["e6a1", "\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"], + ["e740", "\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"], + ["e7a1", "\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"], + ["e840", "\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"], + ["e8a1", "\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"], + ["e940", "\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"], + ["e9a1", "\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"], + ["ea40", "\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"], + ["eaa1", "\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"], + ["eb40", "\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"], + ["eba1", "\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"], + ["ec40", "\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"], + ["eca1", "\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"], + ["ed40", "\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"], + ["eda1", "\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"], + ["ee40", "\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"], + ["eea1", "\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"], + ["ef40", "\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"], + ["efa1", "\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"], + ["f040", "\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"], + ["f0a1", "\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"], + ["f140", "\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"], + ["f1a1", "\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"], + ["f240", "\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"], + ["f2a1", "\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"], + ["f340", "\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"], + ["f3a1", "\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"], + ["f440", "\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"], + ["f4a1", "\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"], + ["f540", "\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"], + ["f5a1", "\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"], + ["f640", "\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"], + ["f6a1", "\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"], + ["f740", "\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"], + ["f7a1", "\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"], + ["f840", "\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"], + ["f8a1", "\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"], + ["f940", "\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"], + ["f9a1", "\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/big5-added.json +var require_big5_added = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/tables/big5-added.json"(exports, module) { + module.exports = [ + ["8740", "\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"], + ["8767", "\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"], + ["87a1", "\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"], + ["8840", "\u31C0", 4, "\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"], + ["88a1", "\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"], + ["8940", "\u{2A3A9}\u{21145}"], + ["8943", "\u650A"], + ["8946", "\u4E3D\u6EDD\u9D4E\u91DF"], + ["894c", "\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"], + ["89a1", "\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"], + ["89ab", "\u918C\u78B8\u915E\u80BC"], + ["89b0", "\u8D0B\u80F6\u{209E7}"], + ["89b5", "\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"], + ["89c1", "\u6E9A\u823E\u7519"], + ["89c5", "\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"], + ["8a40", "\u{27D84}\u5525"], + ["8a43", "\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"], + ["8a64", "\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"], + ["8a76", "\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"], + ["8aa1", "\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"], + ["8aac", "\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"], + ["8ab2", "\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"], + ["8abb", "\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"], + ["8ac9", "\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"], + ["8ace", "\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"], + ["8adf", "\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"], + ["8af6", "\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"], + ["8b40", "\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"], + ["8b55", "\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"], + ["8ba1", "\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"], + ["8bde", "\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"], + ["8c40", "\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"], + ["8ca1", "\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"], + ["8ca7", "\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"], + ["8cc9", "\u9868\u676B\u4276\u573D"], + ["8cce", "\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"], + ["8ce6", "\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"], + ["8d40", "\u{20B9F}"], + ["8d42", "\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"], + ["8da1", "\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"], + ["8e40", "\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"], + ["8ea1", "\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"], + ["8f40", "\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"], + ["8fa1", "\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"], + ["9040", "\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"], + ["90a1", "\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"], + ["9140", "\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"], + ["91a1", "\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"], + ["9240", "\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"], + ["92a1", "\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"], + ["9340", "\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"], + ["93a1", "\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"], + ["9440", "\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"], + ["94a1", "\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"], + ["9540", "\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"], + ["95a1", "\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"], + ["9640", "\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"], + ["96a1", "\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"], + ["9740", "\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"], + ["97a1", "\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"], + ["9840", "\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"], + ["98a1", "\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"], + ["9940", "\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"], + ["99a1", "\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"], + ["9a40", "\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"], + ["9aa1", "\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"], + ["9b40", "\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"], + ["9b62", "\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"], + ["9ba1", "\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"], + ["9c40", "\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"], + ["9ca1", "\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"], + ["9d40", "\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"], + ["9da1", "\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"], + ["9e40", "\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"], + ["9ea1", "\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"], + ["9ead", "\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"], + ["9ec5", "\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"], + ["9ef5", "\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"], + ["9f40", "\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"], + ["9f4f", "\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"], + ["9fa1", "\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"], + ["9fae", "\u9159\u9681\u915C"], + ["9fb2", "\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"], + ["9fc1", "\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"], + ["9fc9", "\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"], + ["9fdb", "\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"], + ["9fe7", "\u6BFA\u8818\u7F78"], + ["9feb", "\u5620\u{2A64A}\u8E77\u9F53"], + ["9ff0", "\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"], + ["a040", "\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"], + ["a055", "\u{2183B}\u{26E05}"], + ["a058", "\u8A7E\u{2251B}"], + ["a05b", "\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"], + ["a063", "\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"], + ["a073", "\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"], + ["a0a1", "\u5D57\u{28BC2}\u8FDA\u{28E39}"], + ["a0a6", "\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"], + ["a0ae", "\u77FE"], + ["a0b0", "\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"], + ["a0d4", "\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"], + ["a0e2", "\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"], + ["a3c0", "\u2400", 31, "\u2421"], + ["c6a1", "\u2460", 9, "\u2474", 9, "\u2170", 9, "\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041", 23], + ["c740", "\u3059", 58, "\u30A1\u30A2\u30A3\u30A4"], + ["c7a1", "\u30A5", 81, "\u0410", 5, "\u0401\u0416", 4], + ["c840", "\u041B", 26, "\u0451\u0436", 25, "\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"], + ["c8a1", "\u9FB0\u5188\u9FB1\u{27607}"], + ["c8cd", "\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"], + ["c8f5", "\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"], + ["f9fe", "\uFFED"], + ["fa40", "\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"], + ["faa1", "\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"], + ["fb40", "\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"], + ["fba1", "\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"], + ["fc40", "\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"], + ["fca1", "\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"], + ["fd40", "\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"], + ["fda1", "\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"], + ["fe40", "\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"], + ["fea1", "\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"] + ]; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-data.js +var require_dbcs_data = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) { + "use strict"; + module.exports = { + // == Japanese/ShiftJIS ==================================================== + // All japanese encodings are based on JIS X set of standards: + // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. + // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. + // Has several variations in 1978, 1983, 1990 and 1997. + // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. + // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. + // 2 planes, first is superset of 0208, second - revised 0212. + // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) + // Byte encodings are: + // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte + // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. + // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. + // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. + // 0x00-0x7F - lower part of 0201 + // 0x8E, 0xA1-0xDF - upper part of 0201 + // (0xA1-0xFE)x2 - 0208 plane (94x94). + // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). + // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. + // Used as-is in ISO2022 family. + // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, + // 0201-1976 Roman, 0208-1978, 0208-1983. + // * ISO2022-JP-1: Adds esc seq for 0212-1990. + // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. + // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. + // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. + // + // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. + // + // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html + shiftjis: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_shiftjis(); + }, "table"), + encodeAdd: { "\xA5": 92, "\u203E": 126 }, + encodeSkipVals: [{ from: 60736, to: 63808 }] + }, + csshiftjis: "shiftjis", + mskanji: "shiftjis", + sjis: "shiftjis", + windows31j: "shiftjis", + ms31j: "shiftjis", + xsjis: "shiftjis", + windows932: "shiftjis", + ms932: "shiftjis", + 932: "shiftjis", + cp932: "shiftjis", + eucjp: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_eucjp(); + }, "table"), + encodeAdd: { "\xA5": 92, "\u203E": 126 } + }, + // TODO: KDDI extension to Shift_JIS + // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. + // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. + // == Chinese/GBK ========================================================== + // http://en.wikipedia.org/wiki/GBK + // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder + // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 + gb2312: "cp936", + gb231280: "cp936", + gb23121980: "cp936", + csgb2312: "cp936", + csiso58gb231280: "cp936", + euccn: "cp936", + // Microsoft's CP936 is a subset and approximation of GBK. + windows936: "cp936", + ms936: "cp936", + 936: "cp936", + cp936: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp936(); + }, "table") + }, + // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. + gbk: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp936().concat(require_gbk_added()); + }, "table") + }, + xgbk: "gbk", + isoir58: "gbk", + // GB18030 is an algorithmic extension of GBK. + // Main source: https://www.w3.org/TR/encoding/#gbk-encoder + // http://icu-project.org/docs/papers/gb18030.html + // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml + // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 + gb18030: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp936().concat(require_gbk_added()); + }, "table"), + gb18030: /* @__PURE__ */ __name(function() { + return require_gb18030_ranges(); + }, "gb18030"), + encodeSkipVals: [128], + encodeAdd: { "\u20AC": 41699 } + }, + chinese: "gb18030", + // == Korean =============================================================== + // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. + windows949: "cp949", + ms949: "cp949", + 949: "cp949", + cp949: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp949(); + }, "table") + }, + cseuckr: "cp949", + csksc56011987: "cp949", + euckr: "cp949", + isoir149: "cp949", + korean: "cp949", + ksc56011987: "cp949", + ksc56011989: "cp949", + ksc5601: "cp949", + // == Big5/Taiwan/Hong Kong ================================================ + // There are lots of tables for Big5 and cp950. Please see the following links for history: + // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html + // Variations, in roughly number of defined chars: + // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT + // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ + // * Big5-2003 (Taiwan standard) almost superset of cp950. + // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. + // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. + // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. + // Plus, it has 4 combining sequences. + // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 + // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. + // Implementations are not consistent within browsers; sometimes labeled as just big5. + // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. + // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 + // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. + // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt + // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt + // + // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder + // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. + windows950: "cp950", + ms950: "cp950", + 950: "cp950", + cp950: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp950(); + }, "table") + }, + // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. + big5: "big5hkscs", + big5hkscs: { + type: "_dbcs", + table: /* @__PURE__ */ __name(function() { + return require_cp950().concat(require_big5_added()); + }, "table"), + encodeSkipVals: [ + // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of + // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. + // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. + 36457, + 36463, + 36478, + 36523, + 36532, + 36557, + 36560, + 36695, + 36713, + 36718, + 36811, + 36862, + 36973, + 36986, + 37060, + 37084, + 37105, + 37311, + 37551, + 37552, + 37553, + 37554, + 37585, + 37959, + 38090, + 38361, + 38652, + 39285, + 39798, + 39800, + 39803, + 39878, + 39902, + 39916, + 39926, + 40002, + 40019, + 40034, + 40040, + 40043, + 40055, + 40124, + 40125, + 40144, + 40279, + 40282, + 40388, + 40431, + 40443, + 40617, + 40687, + 40701, + 40800, + 40907, + 41079, + 41180, + 41183, + 36812, + 37576, + 38468, + 38637, + // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 + 41636, + 41637, + 41639, + 41638, + 41676, + 41678 + ] + }, + cnbig5: "big5hkscs", + csbig5: "big5hkscs", + xxbig5: "big5hkscs" + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/index.js +var require_encodings = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/encodings/index.js"(exports, module) { + "use strict"; + var mergeModules = require_merge_exports(); + var modules = [ + require_internal(), + require_utf32(), + require_utf16(), + require_utf7(), + require_sbcs_codec(), + require_sbcs_data(), + require_sbcs_data_generated(), + require_dbcs_codec(), + require_dbcs_data() + ]; + for (i = 0; i < modules.length; i++) { + module = modules[i]; + mergeModules(exports, module); + } + var module; + var i; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/streams.js +var require_streams = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/streams.js"(exports, module) { + "use strict"; + var Buffer2 = require_safer().Buffer; + module.exports = function(streamModule) { + var Transform2 = streamModule.Transform; + function IconvLiteEncoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.decodeStrings = false; + Transform2.call(this, options); + } + __name(IconvLiteEncoderStream, "IconvLiteEncoderStream"); + IconvLiteEncoderStream.prototype = Object.create(Transform2.prototype, { + constructor: { value: IconvLiteEncoderStream } + }); + IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { + if (typeof chunk !== "string") { + return done(new Error("Iconv encoding stream needs strings as its input.")); + } + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteEncoderStream.prototype.collect = function(cb) { + var chunks = []; + this.on("error", cb); + this.on("data", function(chunk) { + chunks.push(chunk); + }); + this.on("end", function() { + cb(null, Buffer2.concat(chunks)); + }); + return this; + }; + function IconvLiteDecoderStream(conv, options) { + this.conv = conv; + options = options || {}; + options.encoding = this.encoding = "utf8"; + Transform2.call(this, options); + } + __name(IconvLiteDecoderStream, "IconvLiteDecoderStream"); + IconvLiteDecoderStream.prototype = Object.create(Transform2.prototype, { + constructor: { value: IconvLiteDecoderStream } + }); + IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { + if (!Buffer2.isBuffer(chunk) && !(chunk instanceof Uint8Array)) { + return done(new Error("Iconv decoding stream needs buffers as its input.")); + } + try { + var res = this.conv.write(chunk); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype._flush = function(done) { + try { + var res = this.conv.end(); + if (res && res.length) this.push(res, this.encoding); + done(); + } catch (e) { + done(e); + } + }; + IconvLiteDecoderStream.prototype.collect = function(cb) { + var res = ""; + this.on("error", cb); + this.on("data", function(chunk) { + res += chunk; + }); + this.on("end", function() { + cb(null, res); + }); + return this; + }; + return { + IconvLiteEncoderStream, + IconvLiteDecoderStream + }; + }; + } +}); + +// ../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/index.js +var require_lib3 = __commonJS({ + "../../node_modules/.pnpm/iconv-lite@0.7.3/node_modules/iconv-lite/lib/index.js"(exports, module) { + "use strict"; + var Buffer2 = require_safer().Buffer; + var bomHandling = require_bom_handling(); + var mergeModules = require_merge_exports(); + module.exports.encodings = null; + module.exports.defaultCharUnicode = "\uFFFD"; + module.exports.defaultCharSingleByte = "?"; + module.exports.encode = /* @__PURE__ */ __name(function encode(str, encoding, options) { + str = "" + (str || ""); + var encoder = module.exports.getEncoder(encoding, options); + var res = encoder.write(str); + var trail = encoder.end(); + return trail && trail.length > 0 ? Buffer2.concat([res, trail]) : res; + }, "encode"); + module.exports.decode = /* @__PURE__ */ __name(function decode(buf, encoding, options) { + if (typeof buf === "string") { + if (!module.exports.skipDecodeWarning) { + console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"); + module.exports.skipDecodeWarning = true; + } + buf = Buffer2.from("" + (buf || ""), "binary"); + } + var decoder = module.exports.getDecoder(encoding, options); + var res = decoder.write(buf); + var trail = decoder.end(); + return trail ? res + trail : res; + }, "decode"); + module.exports.encodingExists = /* @__PURE__ */ __name(function encodingExists(enc) { + try { + module.exports.getCodec(enc); + return true; + } catch (e) { + return false; + } + }, "encodingExists"); + module.exports.toEncoding = module.exports.encode; + module.exports.fromEncoding = module.exports.decode; + module.exports._codecDataCache = { __proto__: null }; + module.exports.getCodec = /* @__PURE__ */ __name(function getCodec(encoding) { + if (!module.exports.encodings) { + var raw = require_encodings(); + module.exports.encodings = { __proto__: null }; + mergeModules(module.exports.encodings, raw); + } + var enc = module.exports._canonicalizeEncoding(encoding); + var codecOptions = {}; + while (true) { + var codec = module.exports._codecDataCache[enc]; + if (codec) { + return codec; + } + var codecDef = module.exports.encodings[enc]; + switch (typeof codecDef) { + case "string": + enc = codecDef; + break; + case "object": + for (var key in codecDef) { + codecOptions[key] = codecDef[key]; + } + if (!codecOptions.encodingName) { + codecOptions.encodingName = enc; + } + enc = codecDef.type; + break; + case "function": + if (!codecOptions.encodingName) { + codecOptions.encodingName = enc; + } + codec = new codecDef(codecOptions, module.exports); + module.exports._codecDataCache[codecOptions.encodingName] = codec; + return codec; + default: + throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')"); + } + } + }, "getCodec"); + module.exports._canonicalizeEncoding = function(encoding) { + return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); + }; + module.exports.getEncoder = /* @__PURE__ */ __name(function getEncoder(encoding, options) { + var codec = module.exports.getCodec(encoding); + var encoder = new codec.encoder(options, codec); + if (codec.bomAware && options && options.addBOM) { + encoder = new bomHandling.PrependBOM(encoder, options); + } + return encoder; + }, "getEncoder"); + module.exports.getDecoder = /* @__PURE__ */ __name(function getDecoder(encoding, options) { + var codec = module.exports.getCodec(encoding); + var decoder = new codec.decoder(options, codec); + if (codec.bomAware && !(options && options.stripBOM === false)) { + decoder = new bomHandling.StripBOM(decoder, options); + } + return decoder; + }, "getDecoder"); + module.exports.enableStreamingAPI = /* @__PURE__ */ __name(function enableStreamingAPI(streamModule2) { + if (module.exports.supportsStreams) { + return; + } + var streams = require_streams()(streamModule2); + module.exports.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; + module.exports.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; + module.exports.encodeStream = /* @__PURE__ */ __name(function encodeStream(encoding, options) { + return new module.exports.IconvLiteEncoderStream(module.exports.getEncoder(encoding, options), options); + }, "encodeStream"); + module.exports.decodeStream = /* @__PURE__ */ __name(function decodeStream(encoding, options) { + return new module.exports.IconvLiteDecoderStream(module.exports.getDecoder(encoding, options), options); + }, "decodeStream"); + module.exports.supportsStreams = true; + }, "enableStreamingAPI"); + var streamModule; + try { + streamModule = __require("stream"); + } catch (e) { + } + if (streamModule && streamModule.Transform) { + module.exports.enableStreamingAPI(streamModule); + } else { + module.exports.encodeStream = module.exports.decodeStream = function() { + throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it."); + }; + } + if (false) { + console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info."); + } + } +}); + +// ../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js +var require_unpipe = __commonJS({ + "../../node_modules/.pnpm/unpipe@1.0.0/node_modules/unpipe/index.js"(exports, module) { + "use strict"; + module.exports = unpipe; + function hasPipeDataListeners(stream) { + var listeners = stream.listeners("data"); + for (var i = 0; i < listeners.length; i++) { + if (listeners[i].name === "ondata") { + return true; + } + } + return false; + } + __name(hasPipeDataListeners, "hasPipeDataListeners"); + function unpipe(stream) { + if (!stream) { + throw new TypeError("argument stream is required"); + } + if (typeof stream.unpipe === "function") { + stream.unpipe(); + return; + } + if (!hasPipeDataListeners(stream)) { + return; + } + var listener; + var listeners = stream.listeners("close"); + for (var i = 0; i < listeners.length; i++) { + listener = listeners[i]; + if (listener.name !== "cleanup" && listener.name !== "onclose") { + continue; + } + listener.call(stream); + } + } + __name(unpipe, "unpipe"); + } +}); + +// ../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js +var require_raw_body = __commonJS({ + "../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"(exports, module) { + "use strict"; + var asyncHooks = tryRequireAsyncHooks(); + var bytes = require_bytes(); + var createError = require_http_errors(); + var iconv = require_lib3(); + var unpipe = require_unpipe(); + module.exports = getRawBody; + var ICONV_ENCODING_MESSAGE_REGEXP = /^Encoding not recognized: /; + function getDecoder(encoding) { + if (!encoding) return null; + try { + return iconv.getDecoder(encoding); + } catch (e) { + if (!ICONV_ENCODING_MESSAGE_REGEXP.test(e.message)) throw e; + throw createError(415, "specified encoding unsupported", { + encoding, + type: "encoding.unsupported" + }); + } + } + __name(getDecoder, "getDecoder"); + function getRawBody(stream, options, callback) { + var done = callback; + var opts = options || {}; + if (stream === void 0) { + throw new TypeError("argument stream is required"); + } else if (typeof stream !== "object" || stream === null || typeof stream.on !== "function") { + throw new TypeError("argument stream must be a stream"); + } + if (options === true || typeof options === "string") { + opts = { + encoding: options + }; + } + if (typeof options === "function") { + done = options; + opts = {}; + } + if (done !== void 0 && typeof done !== "function") { + throw new TypeError("argument callback must be a function"); + } + if (!done && !global.Promise) { + throw new TypeError("argument callback is required"); + } + var encoding = opts.encoding !== true ? opts.encoding : "utf-8"; + var limit = bytes.parse(opts.limit); + var length = opts.length != null && !isNaN(opts.length) ? parseInt(opts.length, 10) : null; + if (done) { + return readStream(stream, encoding, length, limit, wrap(done)); + } + return new Promise(/* @__PURE__ */ __name(function executor(resolve, reject) { + readStream(stream, encoding, length, limit, /* @__PURE__ */ __name(function onRead(err, buf) { + if (err) return reject(err); + resolve(buf); + }, "onRead")); + }, "executor")); + } + __name(getRawBody, "getRawBody"); + function halt(stream) { + unpipe(stream); + if (typeof stream.pause === "function") { + stream.pause(); + } + } + __name(halt, "halt"); + function readStream(stream, encoding, length, limit, callback) { + var complete = false; + var sync = true; + if (limit !== null && length !== null && length > limit) { + return done(createError(413, "request entity too large", { + expected: length, + length, + limit, + type: "entity.too.large" + })); + } + var state = stream._readableState; + if (stream._decoder || state && (state.encoding || state.decoder)) { + return done(createError(500, "stream encoding should not be set", { + type: "stream.encoding.set" + })); + } + if (typeof stream.readable !== "undefined" && !stream.readable) { + return done(createError(500, "stream is not readable", { + type: "stream.not.readable" + })); + } + var received = 0; + var decoder; + try { + decoder = getDecoder(encoding); + } catch (err) { + return done(err); + } + var buffer = decoder ? "" : []; + stream.on("aborted", onAborted); + stream.on("close", cleanup); + stream.on("data", onData); + stream.on("end", onEnd); + stream.on("error", onEnd); + sync = false; + function done() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + complete = true; + if (sync) { + process.nextTick(invokeCallback); + } else { + invokeCallback(); + } + function invokeCallback() { + cleanup(); + if (args[0]) { + halt(stream); + } + callback.apply(null, args); + } + __name(invokeCallback, "invokeCallback"); + } + __name(done, "done"); + function onAborted() { + if (complete) return; + done(createError(400, "request aborted", { + code: "ECONNABORTED", + expected: length, + length, + received, + type: "request.aborted" + })); + } + __name(onAborted, "onAborted"); + function onData(chunk) { + if (complete) return; + received += chunk.length; + if (limit !== null && received > limit) { + done(createError(413, "request entity too large", { + limit, + received, + type: "entity.too.large" + })); + } else if (decoder) { + buffer += decoder.write(chunk); + } else { + buffer.push(chunk); + } + } + __name(onData, "onData"); + function onEnd(err) { + if (complete) return; + if (err) return done(err); + if (length !== null && received !== length) { + done(createError(400, "request size did not match content length", { + expected: length, + length, + received, + type: "request.size.invalid" + })); + } else { + var string = decoder ? buffer + (decoder.end() || "") : Buffer.concat(buffer); + done(null, string); + } + } + __name(onEnd, "onEnd"); + function cleanup() { + buffer = null; + stream.removeListener("aborted", onAborted); + stream.removeListener("data", onData); + stream.removeListener("end", onEnd); + stream.removeListener("error", onEnd); + stream.removeListener("close", cleanup); + } + __name(cleanup, "cleanup"); + } + __name(readStream, "readStream"); + function tryRequireAsyncHooks() { + try { + return __require("async_hooks"); + } catch (e) { + return {}; + } + } + __name(tryRequireAsyncHooks, "tryRequireAsyncHooks"); + function wrap(fn) { + var res; + if (asyncHooks.AsyncResource) { + res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn"); + } + if (!res || !res.runInAsyncScope) { + return fn; + } + return res.runInAsyncScope.bind(res, fn, null); + } + __name(wrap, "wrap"); + } +}); + +// ../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js +var require_ee_first = __commonJS({ + "../../node_modules/.pnpm/ee-first@1.1.1/node_modules/ee-first/index.js"(exports, module) { + "use strict"; + module.exports = first; + function first(stuff, done) { + if (!Array.isArray(stuff)) + throw new TypeError("arg must be an array of [ee, events...] arrays"); + var cleanups = []; + for (var i = 0; i < stuff.length; i++) { + var arr = stuff[i]; + if (!Array.isArray(arr) || arr.length < 2) + throw new TypeError("each array member must be [ee, events...]"); + var ee = arr[0]; + for (var j = 1; j < arr.length; j++) { + var event = arr[j]; + var fn = listener(event, callback); + ee.on(event, fn); + cleanups.push({ + ee, + event, + fn + }); + } + } + function callback() { + cleanup(); + done.apply(null, arguments); + } + __name(callback, "callback"); + function cleanup() { + var x; + for (var i2 = 0; i2 < cleanups.length; i2++) { + x = cleanups[i2]; + x.ee.removeListener(x.event, x.fn); + } + } + __name(cleanup, "cleanup"); + function thunk(fn2) { + done = fn2; + } + __name(thunk, "thunk"); + thunk.cancel = cleanup; + return thunk; + } + __name(first, "first"); + function listener(event, done) { + return /* @__PURE__ */ __name(function onevent(arg1) { + var args = new Array(arguments.length); + var ee = this; + var err = event === "error" ? arg1 : null; + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + done(err, ee, event, args); + }, "onevent"); + } + __name(listener, "listener"); + } +}); + +// ../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js +var require_on_finished = __commonJS({ + "../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"(exports, module) { + "use strict"; + module.exports = onFinished; + module.exports.isFinished = isFinished; + var asyncHooks = tryRequireAsyncHooks(); + var first = require_ee_first(); + var defer2 = typeof setImmediate === "function" ? setImmediate : function(fn) { + process.nextTick(fn.bind.apply(fn, arguments)); + }; + function onFinished(msg, listener) { + if (isFinished(msg) !== false) { + defer2(listener, null, msg); + return msg; + } + attachListener(msg, wrap(listener)); + return msg; + } + __name(onFinished, "onFinished"); + function isFinished(msg) { + var socket = msg.socket; + if (typeof msg.finished === "boolean") { + return Boolean(msg.finished || socket && !socket.writable); + } + if (typeof msg.complete === "boolean") { + return Boolean(msg.upgrade || !socket || !socket.readable || msg.complete && !msg.readable); + } + return void 0; + } + __name(isFinished, "isFinished"); + function attachFinishedListener(msg, callback) { + var eeMsg; + var eeSocket; + var finished3 = false; + function onFinish(error) { + eeMsg.cancel(); + eeSocket.cancel(); + finished3 = true; + callback(error); + } + __name(onFinish, "onFinish"); + eeMsg = eeSocket = first([[msg, "end", "finish"]], onFinish); + function onSocket(socket) { + msg.removeListener("socket", onSocket); + if (finished3) return; + if (eeMsg !== eeSocket) return; + eeSocket = first([[socket, "error", "close"]], onFinish); + } + __name(onSocket, "onSocket"); + if (msg.socket) { + onSocket(msg.socket); + return; + } + msg.on("socket", onSocket); + if (msg.socket === void 0) { + patchAssignSocket(msg, onSocket); + } + } + __name(attachFinishedListener, "attachFinishedListener"); + function attachListener(msg, listener) { + var attached = msg.__onFinished; + if (!attached || !attached.queue) { + attached = msg.__onFinished = createListener(msg); + attachFinishedListener(msg, attached); + } + attached.queue.push(listener); + } + __name(attachListener, "attachListener"); + function createListener(msg) { + function listener(err) { + if (msg.__onFinished === listener) msg.__onFinished = null; + if (!listener.queue) return; + var queue = listener.queue; + listener.queue = null; + for (var i = 0; i < queue.length; i++) { + queue[i](err, msg); + } + } + __name(listener, "listener"); + listener.queue = []; + return listener; + } + __name(createListener, "createListener"); + function patchAssignSocket(res, callback) { + var assignSocket = res.assignSocket; + if (typeof assignSocket !== "function") return; + res.assignSocket = /* @__PURE__ */ __name(function _assignSocket(socket) { + assignSocket.call(this, socket); + callback(socket); + }, "_assignSocket"); + } + __name(patchAssignSocket, "patchAssignSocket"); + function tryRequireAsyncHooks() { + try { + return __require("async_hooks"); + } catch (e) { + return {}; + } + } + __name(tryRequireAsyncHooks, "tryRequireAsyncHooks"); + function wrap(fn) { + var res; + if (asyncHooks.AsyncResource) { + res = new asyncHooks.AsyncResource(fn.name || "bound-anonymous-fn"); + } + if (!res || !res.runInAsyncScope) { + return fn; + } + return res.runInAsyncScope.bind(res, fn, null); + } + __name(wrap, "wrap"); + } +}); + +// ../../node_modules/.pnpm/content-type@2.1.0/node_modules/content-type/dist/index.js +var require_dist = __commonJS({ + "../../node_modules/.pnpm/content-type@2.1.0/node_modules/content-type/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.format = format; + exports.parse = parse; + var TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/; + var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var QUOTE_REGEXP = /[\\"]/g; + var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var NullObject = /* @__PURE__ */ (() => { + const C = /* @__PURE__ */ __name(function() { + }, "C"); + C.prototype = /* @__PURE__ */ Object.create(null); + return C; + })(); + function format(obj) { + const { type, parameters } = obj; + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError(`Invalid type: ${type}`); + } + let result = type; + if (parameters) { + for (const param of Object.keys(parameters)) { + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError(`Invalid parameter name: ${param}`); + } + result += `; ${param}=${qstring(parameters[param])}`; + } + } + return result; + } + __name(format, "format"); + function parse(header, options) { + const stopChar = options?.comma === true ? COMMA : 65536; + const len = header.length; + let index = skipOWS(header, options?.start ?? 0, len); + const valueStart = index; + index = skipValue(header, index, len, stopChar); + const valueEnd = trailingOWS(header, valueStart, index); + const type = header.slice(valueStart, valueEnd).toLowerCase(); + if (options?.parameters === false) { + return { type, index, parameters: new NullObject() }; + } + return parseParameters(header, type, index, len, stopChar); + } + __name(parse, "parse"); + var SP = 32; + var HTAB = 9; + var SEMI = 59; + var EQ = 61; + var DQUOTE = 34; + var BSLASH = 92; + var COMMA = 44; + function parseParameters(header, type, index, len, stopChar) { + const parameters = new NullObject(); + parameter: while (index < len) { + if (header.charCodeAt(index) === stopChar) + break; + index = skipOWS(header, index + 1, len); + const keyStart = index; + while (index < len) { + const code = header.charCodeAt(index); + if (code === stopChar) + break parameter; + if (code === SEMI) + continue parameter; + if (code === EQ) { + const keyEnd = trailingOWS(header, keyStart, index); + const key = header.slice(keyStart, keyEnd).toLowerCase(); + index = skipOWS(header, index + 1, len); + if (index < len && header.charCodeAt(index) === DQUOTE) { + index++; + let value = ""; + while (index < len) { + const code2 = header.charCodeAt(index++); + if (code2 === DQUOTE) { + index = skipValue(header, index, len, stopChar); + if (parameters[key] === void 0) + parameters[key] = value; + break; + } + if (code2 === BSLASH && index < len) { + value += header[index++]; + continue; + } + value += String.fromCharCode(code2); + } + continue parameter; + } + const valueStart = index; + index = skipValue(header, index, len, stopChar); + if (parameters[key] === void 0) { + const valueEnd = trailingOWS(header, valueStart, index); + parameters[key] = header.slice(valueStart, valueEnd); + } + continue parameter; + } + index++; + } + } + return { type, index, parameters }; + } + __name(parseParameters, "parseParameters"); + function skipValue(str, index, len, stopChar) { + while (index < len) { + const code = str.charCodeAt(index); + if (code === SEMI || code === stopChar) + break; + index++; + } + return index; + } + __name(skipValue, "skipValue"); + function skipOWS(header, index, len) { + while (index < len) { + const char = header.charCodeAt(index); + if (char !== SP && char !== HTAB) + break; + index++; + } + return index; + } + __name(skipOWS, "skipOWS"); + function trailingOWS(header, start, end) { + while (end > start) { + const char = header.charCodeAt(end - 1); + if (char !== SP && char !== HTAB) + break; + end--; + } + return end; + } + __name(trailingOWS, "trailingOWS"); + function qstring(str) { + if (TOKEN_REGEXP.test(str)) + return str; + if (TEXT_REGEXP.test(str)) + return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`; + throw new TypeError(`Invalid parameter value: ${str}`); + } + __name(qstring, "qstring"); + } +}); + +// ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json +var require_db = __commonJS({ + "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/db.json"(exports, module) { + module.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/ace+json": { + source: "iana", + compressible: true + }, + "application/ace-groupcomm+cbor": { + source: "iana" + }, + "application/ace-trl+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/aif+cbor": { + source: "iana" + }, + "application/aif+json": { + source: "iana", + compressible: true + }, + "application/alto-cdni+json": { + source: "iana", + compressible: true + }, + "application/alto-cdnifilter+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-propmap+json": { + source: "iana", + compressible: true + }, + "application/alto-propmapparams+json": { + source: "iana", + compressible: true + }, + "application/alto-tips+json": { + source: "iana", + compressible: true + }, + "application/alto-tipsparams+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/appinstaller": { + compressible: false, + extensions: ["appinstaller"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/appx": { + compressible: false, + extensions: ["appx"] + }, + "application/appxbundle": { + compressible: false, + extensions: ["appxbundle"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/automationml-aml+xml": { + source: "iana", + compressible: true, + extensions: ["aml"] + }, + "application/automationml-amlx+zip": { + source: "iana", + compressible: false, + extensions: ["amlx"] + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/bufr": { + source: "iana" + }, + "application/c2pa": { + source: "iana" + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/ce+cbor": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/cid-edhoc+cbor-seq": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/city+json-seq": { + source: "iana" + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-eap": { + source: "iana" + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/concise-problem-details+cbor": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cose-x509": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwl": { + source: "iana", + extensions: ["cwl"] + }, + "application/cwl+json": { + source: "iana", + compressible: true + }, + "application/cwl+yaml": { + source: "iana" + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana", + extensions: ["dcm"] + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dpop+jwt": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/eat+cwt": { + source: "iana" + }, + "application/eat+jwt": { + source: "iana" + }, + "application/eat-bun+cbor": { + source: "iana" + }, + "application/eat-bun+json": { + source: "iana", + compressible: true + }, + "application/eat-ucs+cbor": { + source: "iana" + }, + "application/eat-ucs+json": { + source: "iana", + compressible: true + }, + "application/ecmascript": { + source: "apache", + compressible: true, + extensions: ["ecma"] + }, + "application/edhoc+cbor-seq": { + source: "iana" + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.legacyesn+json": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/entity-statement+jwt": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geopose+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+json": { + source: "iana", + compressible: true + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gnap-binding-jws": { + source: "iana" + }, + "application/gnap-binding-jwsd": { + source: "iana" + }, + "application/gnap-binding-rotation-jws": { + source: "iana" + }, + "application/gnap-binding-rotation-jwsd": { + source: "iana" + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/grib": { + source: "iana" + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "iana", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "apache", + charset: "UTF-8", + compressible: true, + extensions: ["js"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/jscontact+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jsonpath": { + source: "iana" + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+jwt": { + source: "iana" + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/linkset": { + source: "iana" + }, + "application/linkset+json": { + source: "iana", + compressible: true + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/logout+jwt": { + source: "iana" + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4", "mpg4", "mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msix": { + compressible: false, + extensions: ["msix"] + }, + "application/msixbundle": { + compressible: false, + extensions: ["msixbundle"] + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: true, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/ohttp-keys": { + source: "iana" + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg", "one", "onea"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["sig", "asc"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/private-token-issuer-directory": { + source: "iana" + }, + "application/private-token-request": { + source: "iana" + }, + "application/private-token-response": { + source: "iana" + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/provided-claims+jwt": { + source: "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.implied-document+xml": { + source: "iana", + compressible: true + }, + "application/prs.implied-executable": { + source: "iana" + }, + "application/prs.implied-object+json": { + source: "iana", + compressible: true + }, + "application/prs.implied-object+json-seq": { + source: "iana" + }, + "application/prs.implied-object+yaml": { + source: "iana" + }, + "application/prs.implied-structure": { + source: "iana" + }, + "application/prs.mayfile": { + source: "iana" + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.vcfbzip2": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true, + extensions: ["xsf"] + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "apache" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resolve-response+jwt": { + source: "iana" + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-checklist": { + source: "iana" + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-signed-tal": { + source: "iana" + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "apache" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana", + extensions: ["sql"] + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/sslkeylogfile": { + source: "iana" + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/st2110-41": { + source: "iana" + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/stratum": { + source: "iana" + }, + "application/swid+cbor": { + source: "iana" + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tm+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/toc+cbor": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + source: "iana", + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/trust-chain+json": { + source: "iana", + compressible: true + }, + "application/trust-mark+jwt": { + source: "iana" + }, + "application/trust-mark-delegation+jwt": { + source: "iana" + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/uccs+cbor": { + source: "iana" + }, + "application/ujcs+json": { + source: "iana", + compressible: true + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vc": { + source: "iana" + }, + "application/vc+cose": { + source: "iana" + }, + "application/vc+jwt": { + source: "iana" + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.1ob": { + source: "iana" + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc8+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x": { + source: "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.crs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.v2x": { + source: "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + source: "iana", + compressible: true + }, + "application/vnd.acm.chatbot+json": { + source: "iana", + compressible: true + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "apache", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "apache" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.parquet": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.apexlang": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "apache" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autodesk.fbx": { + extensions: ["fbx"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.belightsoft.lhzd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.belightsoft.lhzl+zip": { + source: "iana", + compressible: false + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.bzip3": { + source: "iana" + }, + "application/vnd.c3voc.schedule+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + source: "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + source: "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datalog": { + source: "iana" + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.dcmp+xml": { + source: "iana", + compressible: true, + extensions: ["dcmp"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.eln+zip": { + source: "iana", + compressible: false + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.erofs": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "apache", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + source: "iana", + charset: "XML-BASED", + compressible: true + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.freelog.comic": { + source: "iana" + }, + "application/vnd.frogans.fnc": { + source: "apache", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "apache", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + source: "iana" + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.genozip": { + source: "iana" + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.catmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.ebuild": { + source: "iana" + }, + "application/vnd.gentoo.eclass": { + source: "iana" + }, + "application/vnd.gentoo.gpkg": { + source: "iana" + }, + "application/vnd.gentoo.manifest": { + source: "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gentoo.xpak": { + source: "iana" + }, + "application/vnd.geo+json": { + source: "apache", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "apache", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + source: "iana" + }, + "application/vnd.geogebra.slides": { + source: "iana", + extensions: ["ggs"] + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + source: "iana", + compressible: true + }, + "application/vnd.gnu.taler.merchant+json": { + source: "iana", + compressible: true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + compressible: false, + extensions: ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + compressible: false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + compressible: false + }, + "application/vnd.google-apps.form": { + compressible: false, + extensions: ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + compressible: false, + extensions: ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + compressible: false, + extensions: ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.script": { + compressible: false, + extensions: ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + compressible: false, + extensions: ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "apache", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true, + extensions: ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.hsl": { + source: "iana" + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "apache" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "apache", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "apache" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + source: "iana" + }, + "application/vnd.ipld.car": { + source: "iana" + }, + "application/vnd.ipld.dag-cbor": { + source: "iana" + }, + "application/vnd.ipld.dag-json": { + source: "iana" + }, + "application/vnd.ipld.raw": { + source: "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kdl": { + source: "iana" + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + source: "iana", + compressible: false + }, + "application/vnd.keyman.kmx": { + source: "iana" + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.ldev.productlicensing": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.mdl": { + source: "iana" + }, + "application/vnd.mdl-mbsdf": { + source: "iana" + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + source: "iana" + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mermaid": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.modl": { + source: "iana" + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-visio.viewer": { + extensions: ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msgpack": { + source: "iana" + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+cbor": { + source: "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + source: "iana", + compressible: true + }, + "application/vnd.nato.bindingdataobject+xml": { + source: "iana", + compressible: true, + extensions: ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + source: "iana", + compressible: false + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "apache", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oai.workflows": { + source: "iana" + }, + "application/vnd.oai.workflows+json": { + source: "iana", + compressible: true + }, + "application/vnd.oai.workflows+yaml": { + source: "iana" + }, + "application/vnd.oasis.opendocument.base": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "apache", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + source: "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "apache", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.onvif.metadata": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openvpi.dspx+json": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.procrate.brushset": { + extensions: ["brushset"] + }, + "application/vnd.procreate.brush": { + extensions: ["brush"] + }, + "application/vnd.procreate.dream": { + extensions: ["drm"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.pt.mundusmundi": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true, + extensions: ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.relpipe": { + source: "iana" + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.sketchometry": { + source: "iana" + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + source: "iana" + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sybyl.mol2": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uic.osdm+json": { + source: "iana", + compressible: true + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml", "uo"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.veraison.tsm-report+cbor": { + source: "iana" + }, + "application/vnd.veraison.tsm-report+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw", "vsdx", "vtx"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vocalshaper.vsp4": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + source: "iana" + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordlift": { + source: "iana" + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xarin.cpj": { + source: "iana" + }, + "application/vnd.xecrets-encrypted": { + source: "iana" + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/voucher-jws+json": { + source: "iana", + compressible: true + }, + "application/vp": { + source: "iana" + }, + "application/vp+cose": { + source: "iana" + }, + "application/vp+jwt": { + source: "iana" + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blender": { + extensions: ["blend"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-compressed": { + extensions: ["rar"] + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-ipynb+json": { + compressible: true, + extensions: ["ipynb"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zip-compressed": { + extensions: ["zip"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yaml": { + source: "iana" + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+cbor": { + source: "iana" + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yang-sid+json": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zip+dotlottie": { + extensions: ["lottie"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana", + extensions: ["adts", "aac"] + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flac": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/matroska": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/midi-clip": { + source: "iana" + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a", "m4b"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + source: "iana", + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp", "dib"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/dpx": { + source: "iana", + extensions: ["dpx"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/j2c": { + source: "iana" + }, + "image/jaii": { + source: "iana", + extensions: ["jaii"] + }, + "image/jais": { + source: "iana", + extensions: ["jais"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpg", "jpeg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm", "jpgm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxl": { + source: "iana", + extensions: ["jxl"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false, + extensions: ["jfif"] + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif", "btf"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.clip": { + source: "iana" + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "iana", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-adobe-dng": { + extensions: ["dng"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-emf": { + source: "iana" + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-wmf": { + source: "iana" + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/bhttp": { + source: "iana" + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/mls": { + source: "iana" + }, + "message/news": { + source: "apache" + }, + "message/ohttp-req": { + source: "iana" + }, + "message/ohttp-res": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime", "mht", "mhtml"] + }, + "message/s-http": { + source: "apache" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "apache" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/jt": { + source: "iana", + extensions: ["jt"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/prc": { + source: "iana", + extensions: ["prc"] + }, + "model/step": { + source: "iana", + extensions: ["step", "stp", "stpnc", "p21", "210"] + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/u3d": { + source: "iana", + extensions: ["u3d"] + }, + "model/vnd.bary": { + source: "iana", + extensions: ["bary"] + }, + "model/vnd.cld": { + source: "iana", + extensions: ["cld"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana", + extensions: ["pyo", "pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usda": { + source: "iana", + extensions: ["usda"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "apache" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/hl7v2": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["md", "markdown"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/prs.texi": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.exchangeable": { + source: "iana" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "apache" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.vcf": { + source: "iana" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vnd.zoo.kcl": { + source: "iana" + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/wgsl": { + source: "iana", + extensions: ["wgsl"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/evc": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/h266": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/lottie+json": { + source: "iana", + compressible: true + }, + "video/matroska": { + source: "iana" + }, + "video/matroska-3d": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts", "m2t", "m2ts", "mts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.planar": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "apache" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); + +// ../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js +var require_mime_db = __commonJS({ + "../../node_modules/.pnpm/mime-db@1.54.0/node_modules/mime-db/index.js"(exports, module) { + module.exports = require_db(); + } +}); + +// ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js +var require_mimeScore = __commonJS({ + "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/mimeScore.js"(exports, module) { + var FACET_SCORES = { + "prs.": 100, + "x-": 200, + "x.": 300, + "vnd.": 400, + default: 900 + }; + var SOURCE_SCORES = { + nginx: 10, + apache: 20, + iana: 40, + default: 30 + // definitions added by `jshttp/mime-db` project? + }; + var TYPE_SCORES = { + // prefer application/xml over text/xml + // prefer application/rtf over text/rtf + application: 1, + // prefer font/woff over application/font-woff + font: 2, + // prefer video/mp4 over audio/mp4 over application/mp4 + // See https://www.rfc-editor.org/rfc/rfc4337.html#section-2 + audio: 2, + video: 3, + default: 0 + }; + module.exports = /* @__PURE__ */ __name(function mimeScore(mimeType, source = "default") { + if (mimeType === "application/octet-stream") { + return 0; + } + const [type, subtype] = mimeType.split("/"); + const facet = subtype.replace(/(\.|x-).*/, "$1"); + const facetScore = FACET_SCORES[facet] || FACET_SCORES.default; + const sourceScore = SOURCE_SCORES[source] || SOURCE_SCORES.default; + const typeScore = TYPE_SCORES[type] || TYPE_SCORES.default; + const lengthScore = 1 - mimeType.length / 100; + return facetScore + sourceScore + typeScore + lengthScore; + }, "mimeScore"); + } +}); + +// ../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js +var require_mime_types = __commonJS({ + "../../node_modules/.pnpm/mime-types@3.0.2/node_modules/mime-types/index.js"(exports) { + "use strict"; + var db = require_mime_db(); + var extname = __require("path").extname; + var mimeScore = require_mimeScore(); + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports.charset = charset; + exports.charsets = { lookup: charset }; + exports.contentType = contentType; + exports.extension = extension; + exports.extensions = /* @__PURE__ */ Object.create(null); + exports.lookup = lookup; + exports.types = /* @__PURE__ */ Object.create(null); + exports._extensionConflicts = []; + populateMaps(exports.extensions, exports.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + __name(charset, "charset"); + function contentType(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + __name(contentType, "contentType"); + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + __name(extension, "extension"); + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().slice(1); + if (!extension2) { + return false; + } + return exports.types[extension2] || false; + } + __name(lookup, "lookup"); + function populateMaps(extensions, types) { + Object.keys(db).forEach(/* @__PURE__ */ __name(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + types[extension2] = _preferredType(extension2, types[extension2], type); + const legacyType = _preferredTypeLegacy( + extension2, + types[extension2], + type + ); + if (legacyType !== types[extension2]) { + exports._extensionConflicts.push([extension2, legacyType, types[extension2]]); + } + } + }, "forEachMimeType")); + } + __name(populateMaps, "populateMaps"); + function _preferredType(ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0; + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0; + return score0 > score1 ? type0 : type1; + } + __name(_preferredType, "_preferredType"); + function _preferredTypeLegacy(ext, type0, type1) { + var SOURCE_RANK = ["nginx", "apache", void 0, "iana"]; + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0; + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0; + if (exports.types[extension] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports.types[extension]?.slice(0, 12) === "application/")) { + return type0; + } + return score0 > score1 ? type0 : type1; + } + __name(_preferredTypeLegacy, "_preferredTypeLegacy"); + } +}); + +// ../../node_modules/.pnpm/media-typer@1.1.1/node_modules/media-typer/index.js +var require_media_typer = __commonJS({ + "../../node_modules/.pnpm/media-typer@1.1.1/node_modules/media-typer/index.js"(exports) { + "use strict"; + var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/; + var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/; + var TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/; + exports.format = format; + exports.parse = parse; + exports.test = test; + function format(obj) { + if (!obj || typeof obj !== "object") { + throw new TypeError("argument obj is required"); + } + var subtype = obj.subtype; + var suffix = obj.suffix; + var type = obj.type; + if (!type || !TYPE_NAME_REGEXP.test(type)) { + throw new TypeError("invalid type"); + } + if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) { + throw new TypeError("invalid subtype"); + } + var string = type + "/" + subtype; + if (suffix) { + if (!TYPE_NAME_REGEXP.test(suffix)) { + throw new TypeError("invalid suffix"); + } + string += "+" + suffix; + } + return string; + } + __name(format, "format"); + function test(string) { + if (typeof string !== "string") { + throw new TypeError("argument string is required to be a string"); + } + return TYPE_REGEXP.test(string.toLowerCase()); + } + __name(test, "test"); + function parse(string) { + if (typeof string !== "string") { + throw new TypeError("argument string is required to be a string"); + } + var match = TYPE_REGEXP.exec(string.toLowerCase()); + if (!match) { + throw new TypeError("invalid media type"); + } + var type = match[1]; + var subtype = match[2]; + var suffix; + var index = subtype.lastIndexOf("+"); + if (index !== -1) { + suffix = subtype.substr(index + 1); + subtype = subtype.substr(0, index); + } + return new MediaType(type, subtype, suffix); + } + __name(parse, "parse"); + function MediaType(type, subtype, suffix) { + this.type = type; + this.subtype = subtype; + this.suffix = suffix; + } + __name(MediaType, "MediaType"); + } +}); + +// ../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js +var require_type_is = __commonJS({ + "../../node_modules/.pnpm/type-is@2.1.0/node_modules/type-is/index.js"(exports, module) { + "use strict"; + var contentType = require_dist(); + var mime = require_mime_types(); + var typer = require_media_typer(); + module.exports = typeofrequest; + module.exports.is = typeis; + module.exports.hasBody = hasbody; + module.exports.normalize = normalize; + module.exports.match = mimeMatch; + function typeis(value, types_) { + if (value && typeof value === "object") { + value = value.headers["content-type"]; + } + var i; + var types = types_; + var val = normalizeType(value); + if (!val) { + return false; + } + if (types && !Array.isArray(types)) { + types = new Array(arguments.length - 1); + for (i = 0; i < types.length; i++) { + types[i] = arguments[i + 1]; + } + } + if (!types || !types.length) { + return val; + } + var type; + for (i = 0; i < types.length; i++) { + if (mimeMatch(normalize(type = types[i]), val)) { + return type[0] === "+" || type.indexOf("*") !== -1 ? val : type; + } + } + return false; + } + __name(typeis, "typeis"); + function hasbody(req) { + return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]); + } + __name(hasbody, "hasbody"); + function typeofrequest(req, types_) { + if (!hasbody(req)) return null; + var types = arguments.length > 2 ? Array.prototype.slice.call(arguments, 1) : types_; + var value = req.headers["content-type"]; + return typeis(value, types); + } + __name(typeofrequest, "typeofrequest"); + function normalize(type) { + if (typeof type !== "string") { + return false; + } + switch (type) { + case "urlencoded": + return "application/x-www-form-urlencoded"; + case "multipart": + return "multipart/*"; + } + if (type[0] === "+") { + return "*/*" + type; + } + return type.indexOf("/") === -1 ? mime.lookup(type) : type; + } + __name(normalize, "normalize"); + function mimeMatch(expected, actual) { + if (expected === false) { + return false; + } + var actualParts = actual.split("/"); + var expectedParts = expected.split("/"); + if (actualParts.length !== 2 || expectedParts.length !== 2) { + return false; + } + if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) { + return false; + } + if (expectedParts[1].slice(0, 2) === "*+") { + return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].slice(1) === actualParts[1].slice(1 - expectedParts[1].length); + } + if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) { + return false; + } + return true; + } + __name(mimeMatch, "mimeMatch"); + function normalizeType(value) { + if (!value) return null; + var type = contentType.parse(value, { parameters: false }).type; + return typer.test(type) ? type : null; + } + __name(normalizeType, "normalizeType"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js +var require_utils = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/utils.js"(exports, module) { + "use strict"; + var bytes = require_bytes(); + var contentType = require_dist(); + var typeis = require_type_is(); + module.exports = { + getCharset, + normalizeOptions, + passthrough + }; + function getCharset(req) { + const header = req.headers["content-type"]; + if (!header) return void 0; + return contentType.parse(header).parameters.charset?.toLowerCase(); + } + __name(getCharset, "getCharset"); + function typeChecker(type) { + return /* @__PURE__ */ __name(function checkType(req) { + return Boolean(typeis(req, type)); + }, "checkType"); + } + __name(typeChecker, "typeChecker"); + function normalizeOptions(options, defaultType) { + if (!defaultType) { + throw new TypeError("defaultType must be provided"); + } + const inflate = options?.inflate !== false; + const limit = typeof options?.limit === "undefined" || options?.limit === null ? 102400 : bytes.parse(options.limit); + const type = options?.type || defaultType; + const verify = options?.verify || false; + const defaultCharset = options?.defaultCharset || "utf-8"; + if (limit === null) { + throw new TypeError(`option limit "${String(options.limit)}" is invalid`); + } + if (verify !== false && typeof verify !== "function") { + throw new TypeError("option verify must be function"); + } + const shouldParse = typeof type !== "function" ? typeChecker(type) : type; + return { + inflate, + limit, + verify, + defaultCharset, + shouldParse + }; + } + __name(normalizeOptions, "normalizeOptions"); + function passthrough(value) { + return value; + } + __name(passthrough, "passthrough"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js +var require_read = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/read.js"(exports, module) { + "use strict"; + var createError = require_http_errors(); + var getBody = require_raw_body(); + var iconv = require_lib3(); + var onFinished = require_on_finished(); + var zlib = __require("node:zlib"); + var hasBody = require_type_is().hasBody; + var { getCharset } = require_utils(); + module.exports = read; + function read(req, res, next, parse, debug, options) { + if (onFinished.isFinished(req)) { + debug("body already parsed"); + next(); + return; + } + if (!("body" in req)) { + req.body = void 0; + } + if (!hasBody(req)) { + debug("skip empty body"); + next(); + return; + } + debug("content-type %j", req.headers["content-type"]); + if (!options.shouldParse(req)) { + debug("skip parsing"); + next(); + return; + } + let encoding = null; + if (options?.skipCharset !== true) { + encoding = getCharset(req) || options.defaultCharset; + if (!!options?.isValidCharset && !options.isValidCharset(encoding)) { + debug("invalid charset"); + next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding, + type: "charset.unsupported" + })); + return; + } + } + let length; + const opts = options; + let stream; + const verify = opts.verify; + try { + stream = contentstream(req, debug, opts.inflate); + length = stream.length; + stream.length = void 0; + } catch (err) { + return next(err); + } + opts.length = length; + opts.encoding = verify ? null : encoding; + if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) { + return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: "charset.unsupported" + })); + } + debug("read body"); + getBody(stream, opts, function(error, body) { + if (error) { + let _error; + if (error.type === "encoding.unsupported") { + _error = createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', { + charset: encoding.toLowerCase(), + type: "charset.unsupported" + }); + } else { + _error = createError(400, error); + } + if (stream !== req) { + req.unpipe(); + stream.destroy(); + } + dump(req, /* @__PURE__ */ __name(function onfinished() { + next(createError(400, _error)); + }, "onfinished")); + return; + } + if (verify) { + try { + debug("verify body"); + verify(req, res, body, encoding); + } catch (err) { + next(createError(403, err, { + body, + type: err.type || "entity.verify.failed" + })); + return; + } + } + let str = body; + try { + debug("parse body"); + str = typeof body !== "string" && encoding !== null ? iconv.decode(body, encoding) : body; + req.body = parse(str, encoding); + } catch (err) { + next(createError(400, err, { + body: str, + type: err.type || "entity.parse.failed" + })); + return; + } + next(); + }); + } + __name(read, "read"); + function contentstream(req, debug, inflate) { + const encoding = (req.headers["content-encoding"] || "identity").toLowerCase(); + const length = req.headers["content-length"]; + debug('content-encoding "%s"', encoding); + if (inflate === false && encoding !== "identity") { + throw createError(415, "content encoding unsupported", { + encoding, + type: "encoding.unsupported" + }); + } + if (encoding === "identity") { + req.length = length; + return req; + } + const stream = createDecompressionStream(encoding, debug); + req.pipe(stream); + return stream; + } + __name(contentstream, "contentstream"); + function createDecompressionStream(encoding, debug) { + switch (encoding) { + case "deflate": + debug("inflate body"); + return zlib.createInflate(); + case "gzip": + debug("gunzip body"); + return zlib.createGunzip(); + case "br": + debug("brotli decompress body"); + return zlib.createBrotliDecompress(); + default: + throw createError(415, 'unsupported content encoding "' + encoding + '"', { + encoding, + type: "encoding.unsupported" + }); + } + } + __name(createDecompressionStream, "createDecompressionStream"); + function dump(req, callback) { + if (onFinished.isFinished(req)) { + callback(null); + } else { + onFinished(req, callback); + req.resume(); + } + } + __name(dump, "dump"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js +var require_json = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/json.js"(exports, module) { + "use strict"; + var debug = require_src()("body-parser:json"); + var read = require_read(); + var { normalizeOptions } = require_utils(); + module.exports = json; + var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/; + var JSON_SYNTAX_CHAR = "#"; + var JSON_SYNTAX_REGEXP = /#+/g; + function json(options) { + const normalizedOptions = normalizeOptions(options, "application/json"); + const parse = createJsonParser(options); + const readOptions = { + ...normalizedOptions, + // assert charset per RFC 7159 sec 8.1 + isValidCharset: /* @__PURE__ */ __name((charset) => charset.slice(0, 4) === "utf-", "isValidCharset") + }; + return /* @__PURE__ */ __name(function jsonParser(req, res, next) { + read(req, res, next, parse, debug, readOptions); + }, "jsonParser"); + } + __name(json, "json"); + function createJsonParser(options) { + const reviver = options?.reviver; + const strict = options?.strict !== false; + if (strict) { + return /* @__PURE__ */ __name(function parse(body) { + if (body.length === 0) { + return {}; + } + const first = firstchar(body); + if (first !== "{" && first !== "[") { + debug("strict violation"); + throw createStrictSyntaxError(body, first); + } + try { + debug("parse json"); + return JSON.parse(body, reviver); + } catch (e) { + throw normalizeJsonSyntaxError(e, { + message: e.message, + stack: e.stack + }); + } + }, "parse"); + } + return /* @__PURE__ */ __name(function parse(body) { + if (body.length === 0) { + return {}; + } + try { + debug("parse json"); + return JSON.parse(body, reviver); + } catch (e) { + throw normalizeJsonSyntaxError(e, { + message: e.message, + stack: e.stack + }); + } + }, "parse"); + } + __name(createJsonParser, "createJsonParser"); + function createStrictSyntaxError(str, char) { + const index = str.indexOf(char); + let partial = ""; + if (index !== -1) { + partial = str.substring(0, index) + JSON_SYNTAX_CHAR.repeat(str.length - index); + } + try { + JSON.parse(partial); + throw new SyntaxError("strict violation"); + } catch (e) { + return normalizeJsonSyntaxError(e, { + message: e.message.replace(JSON_SYNTAX_REGEXP, function(placeholder) { + return str.substring(index, index + placeholder.length); + }), + stack: e.stack + }); + } + } + __name(createStrictSyntaxError, "createStrictSyntaxError"); + function firstchar(str) { + const match = FIRST_CHAR_REGEXP.exec(str); + return match ? match[1] : void 0; + } + __name(firstchar, "firstchar"); + function normalizeJsonSyntaxError(error, obj) { + const keys = Object.getOwnPropertyNames(error); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key !== "stack" && key !== "message") { + delete error[key]; + } + } + error.stack = obj.stack.replace(error.message, obj.message); + error.message = obj.message; + return error; + } + __name(normalizeJsonSyntaxError, "normalizeJsonSyntaxError"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js +var require_raw = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/raw.js"(exports, module) { + "use strict"; + var debug = require_src()("body-parser:raw"); + var read = require_read(); + var { normalizeOptions, passthrough } = require_utils(); + module.exports = raw; + function raw(options) { + const normalizedOptions = normalizeOptions(options, "application/octet-stream"); + const readOptions = { + ...normalizedOptions, + // Skip charset validation and parse the body as is + skipCharset: true + }; + return /* @__PURE__ */ __name(function rawParser(req, res, next) { + read(req, res, next, passthrough, debug, readOptions); + }, "rawParser"); + } + __name(raw, "raw"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js +var require_text = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/text.js"(exports, module) { + "use strict"; + var debug = require_src()("body-parser:text"); + var read = require_read(); + var { normalizeOptions, passthrough } = require_utils(); + module.exports = text; + function text(options) { + const normalizedOptions = normalizeOptions(options, "text/plain"); + return /* @__PURE__ */ __name(function textParser(req, res, next) { + read(req, res, next, passthrough, debug, normalizedOptions); + }, "textParser"); + } + __name(text, "text"); + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js +var require_type = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports, module) { + "use strict"; + module.exports = TypeError; + } +}); + +// ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js +var require_util_inspect = __commonJS({ + "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports, module) { + module.exports = __require("util").inspect; + } +}); + +// ../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js +var require_object_inspect = __commonJS({ + "../../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports, module) { + var hasMap = typeof Map === "function" && Map.prototype; + var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; + var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; + var mapForEach = hasMap && Map.prototype.forEach; + var hasSet = typeof Set === "function" && Set.prototype; + var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; + var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; + var setForEach = hasSet && Set.prototype.forEach; + var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; + var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; + var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; + var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; + var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; + var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; + var booleanValueOf = Boolean.prototype.valueOf; + var objectToString = Object.prototype.toString; + var functionToString = Function.prototype.toString; + var $match = String.prototype.match; + var $slice = String.prototype.slice; + var $replace = String.prototype.replace; + var $toUpperCase = String.prototype.toUpperCase; + var $toLowerCase = String.prototype.toLowerCase; + var $test = RegExp.prototype.test; + var $concat = Array.prototype.concat; + var $join = Array.prototype.join; + var $arrSlice = Array.prototype.slice; + var $floor = Math.floor; + var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; + var gOPS = Object.getOwnPropertySymbols; + var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; + var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; + var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; + var isEnumerable = Object.prototype.propertyIsEnumerable; + var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { + return O.__proto__; + } : null); + function addNumericSeparator(num, str) { + if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { + return str; + } + var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; + if (typeof num === "number") { + var int = num < 0 ? -$floor(-num) : $floor(num); + if (int !== num) { + var intStr = String(int); + var dec = $slice.call(str, intStr.length + 1); + return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); + } + } + return $replace.call(str, sepRegex, "$&_"); + } + __name(addNumericSeparator, "addNumericSeparator"); + var utilInspect = require_util_inspect(); + var inspectCustom = utilInspect.custom; + var inspectSymbol = isSymbol2(inspectCustom) ? inspectCustom : null; + var quotes = { + __proto__: null, + "double": '"', + single: "'" + }; + var quoteREs = { + __proto__: null, + "double": /(["\\])/g, + single: /(['\\])/g + }; + module.exports = /* @__PURE__ */ __name(function inspect_(obj, options, depth, seen) { + var opts = options || {}; + if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) { + throw new TypeError('option "quoteStyle" must be "single" or "double"'); + } + if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { + throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); + } + var customInspect = has(opts, "customInspect") ? opts.customInspect : true; + if (typeof customInspect !== "boolean" && customInspect !== "symbol") { + throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); + } + if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { + throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); + } + if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { + throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); + } + var numericSeparator = opts.numericSeparator; + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + if (typeof obj === "boolean") { + return obj ? "true" : "false"; + } + if (typeof obj === "string") { + return inspectString(obj, opts); + } + if (typeof obj === "number") { + if (obj === 0) { + return Infinity / obj > 0 ? "0" : "-0"; + } + var str = String(obj); + return numericSeparator ? addNumericSeparator(obj, str) : str; + } + if (typeof obj === "bigint") { + var bigIntStr = String(obj) + "n"; + return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; + } + var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; + if (typeof depth === "undefined") { + depth = 0; + } + if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { + return isArray(obj) ? "[Array]" : "[Object]"; + } + var indent = getIndent(opts, depth); + if (typeof seen === "undefined") { + seen = []; + } else if (indexOf(seen, obj) >= 0) { + return "[Circular]"; + } + function inspect(value, from2, noIndent) { + if (from2) { + seen = $arrSlice.call(seen); + seen.push(from2); + } + if (noIndent) { + var newOpts = { + depth: opts.depth + }; + if (has(opts, "quoteStyle")) { + newOpts.quoteStyle = opts.quoteStyle; + } + return inspect_(value, newOpts, depth + 1, seen); + } + return inspect_(value, opts, depth + 1, seen); + } + __name(inspect, "inspect"); + if (typeof obj === "function" && !isRegExp(obj)) { + var name = nameOf(obj); + var keys = arrObjKeys(obj, inspect); + return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); + } + if (isSymbol2(obj)) { + var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); + return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; + } + if (isElement(obj)) { + var s = "<" + $toLowerCase.call(String(obj.nodeName)); + var attrs = obj.attributes || []; + for (var i = 0; i < attrs.length; i++) { + s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); + } + s += ">"; + if (obj.childNodes && obj.childNodes.length) { + s += "..."; + } + s += "</" + $toLowerCase.call(String(obj.nodeName)) + ">"; + return s; + } + if (isArray(obj)) { + if (obj.length === 0) { + return "[]"; + } + var xs = arrObjKeys(obj, inspect); + if (indent && !singleLineValues(xs)) { + return "[" + indentedJoin(xs, indent) + "]"; + } + return "[ " + $join.call(xs, ", ") + " ]"; + } + if (isError(obj)) { + var parts = arrObjKeys(obj, inspect); + if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { + return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; + } + if (parts.length === 0) { + return "[" + String(obj) + "]"; + } + return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; + } + if (typeof obj === "object" && customInspect) { + if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { + return utilInspect(obj, { depth: maxDepth - depth }); + } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { + return obj.inspect(); + } + } + if (isMap(obj)) { + var mapParts = []; + if (mapForEach) { + mapForEach.call(obj, function(value, key) { + mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); + }); + } + return collectionOf("Map", mapSize.call(obj), mapParts, indent); + } + if (isSet(obj)) { + var setParts = []; + if (setForEach) { + setForEach.call(obj, function(value) { + setParts.push(inspect(value, obj)); + }); + } + return collectionOf("Set", setSize.call(obj), setParts, indent); + } + if (isWeakMap(obj)) { + return weakCollectionOf("WeakMap"); + } + if (isWeakSet(obj)) { + return weakCollectionOf("WeakSet"); + } + if (isWeakRef(obj)) { + return weakCollectionOf("WeakRef"); + } + if (isNumber(obj)) { + return markBoxed(inspect(Number(obj))); + } + if (isBigInt(obj)) { + return markBoxed(inspect(bigIntValueOf.call(obj))); + } + if (isBoolean(obj)) { + return markBoxed(booleanValueOf.call(obj)); + } + if (isString2(obj)) { + return markBoxed(inspect(String(obj))); + } + if (typeof window !== "undefined" && obj === window) { + return "{ [object Window] }"; + } + if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) { + return "{ [object globalThis] }"; + } + if (!isDate(obj) && !isRegExp(obj)) { + var ys = arrObjKeys(obj, inspect); + var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? "" : "null prototype"; + var stringTag = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; + var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; + var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); + if (ys.length === 0) { + return tag + "{}"; + } + if (indent) { + return tag + "{" + indentedJoin(ys, indent) + "}"; + } + return tag + "{ " + $join.call(ys, ", ") + " }"; + } + return String(obj); + }, "inspect_"); + function wrapQuotes(s, defaultStyle, opts) { + var style = opts.quoteStyle || defaultStyle; + var quoteChar = quotes[style]; + return quoteChar + s + quoteChar; + } + __name(wrapQuotes, "wrapQuotes"); + function quote(s) { + return $replace.call(String(s), /"/g, """); + } + __name(quote, "quote"); + function canTrustToString(obj) { + return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined")); + } + __name(canTrustToString, "canTrustToString"); + function isArray(obj) { + return toStr(obj) === "[object Array]" && canTrustToString(obj); + } + __name(isArray, "isArray"); + function isDate(obj) { + return toStr(obj) === "[object Date]" && canTrustToString(obj); + } + __name(isDate, "isDate"); + function isRegExp(obj) { + return toStr(obj) === "[object RegExp]" && canTrustToString(obj); + } + __name(isRegExp, "isRegExp"); + function isError(obj) { + return toStr(obj) === "[object Error]" && canTrustToString(obj); + } + __name(isError, "isError"); + function isString2(obj) { + return toStr(obj) === "[object String]" && canTrustToString(obj); + } + __name(isString2, "isString"); + function isNumber(obj) { + return toStr(obj) === "[object Number]" && canTrustToString(obj); + } + __name(isNumber, "isNumber"); + function isBoolean(obj) { + return toStr(obj) === "[object Boolean]" && canTrustToString(obj); + } + __name(isBoolean, "isBoolean"); + function isSymbol2(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === "object" && obj instanceof Symbol; + } + if (typeof obj === "symbol") { + return true; + } + if (!obj || typeof obj !== "object" || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) { + } + return false; + } + __name(isSymbol2, "isSymbol"); + function isBigInt(obj) { + if (!obj || typeof obj !== "object" || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) { + } + return false; + } + __name(isBigInt, "isBigInt"); + var hasOwn = Object.prototype.hasOwnProperty || function(key) { + return key in this; + }; + function has(obj, key) { + return hasOwn.call(obj, key); + } + __name(has, "has"); + function toStr(obj) { + return objectToString.call(obj); + } + __name(toStr, "toStr"); + function nameOf(f) { + if (f.name) { + return f.name; + } + var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); + if (m) { + return m[1]; + } + return null; + } + __name(nameOf, "nameOf"); + function indexOf(xs, x) { + if (xs.indexOf) { + return xs.indexOf(x); + } + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) { + return i; + } + } + return -1; + } + __name(indexOf, "indexOf"); + function isMap(x) { + if (!mapSize || !x || typeof x !== "object") { + return false; + } + try { + mapSize.call(x); + try { + setSize.call(x); + } catch (s) { + return true; + } + return x instanceof Map; + } catch (e) { + } + return false; + } + __name(isMap, "isMap"); + function isWeakMap(x) { + if (!weakMapHas || !x || typeof x !== "object") { + return false; + } + try { + weakMapHas.call(x, weakMapHas); + try { + weakSetHas.call(x, weakSetHas); + } catch (s) { + return true; + } + return x instanceof WeakMap; + } catch (e) { + } + return false; + } + __name(isWeakMap, "isWeakMap"); + function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== "object") { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) { + } + return false; + } + __name(isWeakRef, "isWeakRef"); + function isSet(x) { + if (!setSize || !x || typeof x !== "object") { + return false; + } + try { + setSize.call(x); + try { + mapSize.call(x); + } catch (m) { + return true; + } + return x instanceof Set; + } catch (e) { + } + return false; + } + __name(isSet, "isSet"); + function isWeakSet(x) { + if (!weakSetHas || !x || typeof x !== "object") { + return false; + } + try { + weakSetHas.call(x, weakSetHas); + try { + weakMapHas.call(x, weakMapHas); + } catch (s) { + return true; + } + return x instanceof WeakSet; + } catch (e) { + } + return false; + } + __name(isWeakSet, "isWeakSet"); + function isElement(x) { + if (!x || typeof x !== "object") { + return false; + } + if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { + return true; + } + return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; + } + __name(isElement, "isElement"); + function inspectString(str, opts) { + if (str.length > opts.maxStringLength) { + var remaining = str.length - opts.maxStringLength; + var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); + return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; + } + var quoteRE = quoteREs[opts.quoteStyle || "single"]; + quoteRE.lastIndex = 0; + var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte); + return wrapQuotes(s, "single", opts); + } + __name(inspectString, "inspectString"); + function lowbyte(c) { + var n = c.charCodeAt(0); + var x = { + 8: "b", + 9: "t", + 10: "n", + 12: "f", + 13: "r" + }[n]; + if (x) { + return "\\" + x; + } + return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); + } + __name(lowbyte, "lowbyte"); + function markBoxed(str) { + return "Object(" + str + ")"; + } + __name(markBoxed, "markBoxed"); + function weakCollectionOf(type) { + return type + " { ? }"; + } + __name(weakCollectionOf, "weakCollectionOf"); + function collectionOf(type, size, entries, indent) { + var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); + return type + " (" + size + ") {" + joinedEntries + "}"; + } + __name(collectionOf, "collectionOf"); + function singleLineValues(xs) { + for (var i = 0; i < xs.length; i++) { + if (indexOf(xs[i], "\n") >= 0) { + return false; + } + } + return true; + } + __name(singleLineValues, "singleLineValues"); + function getIndent(opts, depth) { + var baseIndent; + if (opts.indent === " ") { + baseIndent = " "; + } else if (typeof opts.indent === "number" && opts.indent > 0) { + baseIndent = $join.call(Array(opts.indent + 1), " "); + } else { + return null; + } + return { + base: baseIndent, + prev: $join.call(Array(depth + 1), baseIndent) + }; + } + __name(getIndent, "getIndent"); + function indentedJoin(xs, indent) { + if (xs.length === 0) { + return ""; + } + var lineJoiner = "\n" + indent.prev + indent.base; + return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; + } + __name(indentedJoin, "indentedJoin"); + function arrObjKeys(obj, inspect) { + var isArr = isArray(obj); + var xs = []; + if (isArr) { + xs.length = obj.length; + for (var i = 0; i < obj.length; i++) { + xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; + } + } + var syms = typeof gOPS === "function" ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap["$" + syms[k]] = syms[k]; + } + } + for (var key in obj) { + if (!has(obj, key)) { + continue; + } + if (isArr && String(Number(key)) === key && key < obj.length) { + continue; + } + if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { + continue; + } else if ($test.call(/[^\w$]/, key)) { + xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); + } else { + xs.push(key + ": " + inspect(obj[key], obj)); + } + } + if (typeof gOPS === "function") { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); + } + } + } + return xs; + } + __name(arrObjKeys, "arrObjKeys"); + } +}); + +// ../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js +var require_side_channel_list = __commonJS({ + "../../node_modules/.pnpm/side-channel-list@1.0.1/node_modules/side-channel-list/index.js"(exports, module) { + "use strict"; + var inspect = require_object_inspect(); + var $TypeError = require_type(); + var listGetNode = /* @__PURE__ */ __name(function(list, key, isDelete) { + var prev = list; + var curr; + for (; (curr = prev.next) != null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + if (!isDelete) { + curr.next = /** @type {NonNullable<typeof list.next>} */ + list.next; + list.next = curr; + } + return curr; + } + } + }, "listGetNode"); + var listGet = /* @__PURE__ */ __name(function(objects, key) { + if (!objects) { + return void 0; + } + var node = listGetNode(objects, key); + return node && node.value; + }, "listGet"); + var listSet = /* @__PURE__ */ __name(function(objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + objects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */ + { + // eslint-disable-line no-param-reassign, no-extra-parens + key, + next: objects.next, + value + }; + } + }, "listSet"); + var listHas = /* @__PURE__ */ __name(function(objects, key) { + if (!objects) { + return false; + } + return !!listGetNode(objects, key); + }, "listHas"); + var listDelete = /* @__PURE__ */ __name(function(objects, key) { + if (objects) { + return listGetNode(objects, key, true); + } + }, "listDelete"); + module.exports = /* @__PURE__ */ __name(function getSideChannelList() { + var $o; + var channel = { + assert: /* @__PURE__ */ __name(function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, "assert"), + "delete": /* @__PURE__ */ __name(function(key) { + var deletedNode = listDelete($o, key); + if (deletedNode && $o && !$o.next) { + $o = void 0; + } + return !!deletedNode; + }, "delete"), + get: /* @__PURE__ */ __name(function(key) { + return listGet($o, key); + }, "get"), + has: /* @__PURE__ */ __name(function(key) { + return listHas($o, key); + }, "has"), + set: /* @__PURE__ */ __name(function(key, value) { + if (!$o) { + $o = { + next: void 0 + }; + } + listSet( + /** @type {NonNullable<typeof $o>} */ + $o, + key, + value + ); + }, "set") + }; + return channel; + }, "getSideChannelList"); + } +}); + +// ../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js +var require_es_object_atoms = __commonJS({ + "../../node_modules/.pnpm/es-object-atoms@1.1.2/node_modules/es-object-atoms/index.js"(exports, module) { + "use strict"; + module.exports = Object; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js +var require_es_errors = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports, module) { + "use strict"; + module.exports = Error; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js +var require_eval = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports, module) { + "use strict"; + module.exports = EvalError; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js +var require_range = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports, module) { + "use strict"; + module.exports = RangeError; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js +var require_ref = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports, module) { + "use strict"; + module.exports = ReferenceError; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js +var require_syntax = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports, module) { + "use strict"; + module.exports = SyntaxError; + } +}); + +// ../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js +var require_uri = __commonJS({ + "../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports, module) { + "use strict"; + module.exports = URIError; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js +var require_abs = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports, module) { + "use strict"; + module.exports = Math.abs; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js +var require_floor = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports, module) { + "use strict"; + module.exports = Math.floor; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js +var require_max2 = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports, module) { + "use strict"; + module.exports = Math.max; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js +var require_min2 = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports, module) { + "use strict"; + module.exports = Math.min; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js +var require_pow = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports, module) { + "use strict"; + module.exports = Math.pow; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js +var require_round = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports, module) { + "use strict"; + module.exports = Math.round; + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js +var require_isNaN = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports, module) { + "use strict"; + module.exports = Number.isNaN || /* @__PURE__ */ __name(function isNaN2(a) { + return a !== a; + }, "isNaN"); + } +}); + +// ../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js +var require_sign = __commonJS({ + "../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports, module) { + "use strict"; + var $isNaN = require_isNaN(); + module.exports = /* @__PURE__ */ __name(function sign(number) { + if ($isNaN(number) || number === 0) { + return number; + } + return number < 0 ? -1 : 1; + }, "sign"); + } +}); + +// ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js +var require_gOPD = __commonJS({ + "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports, module) { + "use strict"; + module.exports = Object.getOwnPropertyDescriptor; + } +}); + +// ../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js +var require_gopd = __commonJS({ + "../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports, module) { + "use strict"; + var $gOPD = require_gOPD(); + if ($gOPD) { + try { + $gOPD([], "length"); + } catch (e) { + $gOPD = null; + } + } + module.exports = $gOPD; + } +}); + +// ../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js +var require_es_define_property = __commonJS({ + "../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports, module) { + "use strict"; + var $defineProperty = Object.defineProperty || false; + if ($defineProperty) { + try { + $defineProperty({}, "a", { value: 1 }); + } catch (e) { + $defineProperty = false; + } + } + module.exports = $defineProperty; + } +}); + +// ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js +var require_shams = __commonJS({ + "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports, module) { + "use strict"; + module.exports = /* @__PURE__ */ __name(function hasSymbols() { + if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { + return false; + } + if (typeof Symbol.iterator === "symbol") { + return true; + } + var obj = {}; + var sym = /* @__PURE__ */ Symbol("test"); + var symObj = Object(sym); + if (typeof sym === "string") { + return false; + } + if (Object.prototype.toString.call(sym) !== "[object Symbol]") { + return false; + } + if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { + return false; + } + var symVal = 42; + obj[sym] = symVal; + for (var _ in obj) { + return false; + } + if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { + return false; + } + if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { + return false; + } + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { + return false; + } + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { + return false; + } + if (typeof Object.getOwnPropertyDescriptor === "function") { + var descriptor = ( + /** @type {PropertyDescriptor} */ + Object.getOwnPropertyDescriptor(obj, sym) + ); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { + return false; + } + } + return true; + }, "hasSymbols"); + } +}); + +// ../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js +var require_has_symbols = __commonJS({ + "../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports, module) { + "use strict"; + var origSymbol = typeof Symbol !== "undefined" && Symbol; + var hasSymbolSham = require_shams(); + module.exports = /* @__PURE__ */ __name(function hasNativeSymbols() { + if (typeof origSymbol !== "function") { + return false; + } + if (typeof Symbol !== "function") { + return false; + } + if (typeof origSymbol("foo") !== "symbol") { + return false; + } + if (typeof /* @__PURE__ */ Symbol("bar") !== "symbol") { + return false; + } + return hasSymbolSham(); + }, "hasNativeSymbols"); + } +}); + +// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js +var require_Reflect_getPrototypeOf = __commonJS({ + "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports, module) { + "use strict"; + module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null; + } +}); + +// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js +var require_Object_getPrototypeOf = __commonJS({ + "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports, module) { + "use strict"; + var $Object = require_es_object_atoms(); + module.exports = $Object.getPrototypeOf || null; + } +}); + +// ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js +var require_implementation = __commonJS({ + "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports, module) { + "use strict"; + var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; + var toStr = Object.prototype.toString; + var max = Math.max; + var funcType = "[object Function]"; + var concatty = /* @__PURE__ */ __name(function concatty2(a, b) { + var arr = []; + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + return arr; + }, "concatty"); + var slicy = /* @__PURE__ */ __name(function slicy2(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; + }, "slicy"); + var joiny = /* @__PURE__ */ __name(function(arr, joiner) { + var str = ""; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; + }, "joiny"); + module.exports = /* @__PURE__ */ __name(function bind(that) { + var target = this; + if (typeof target !== "function" || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + var bound; + var binder = /* @__PURE__ */ __name(function() { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + }, "binder"); + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = "$" + i; + } + bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); + if (target.prototype) { + var Empty = /* @__PURE__ */ __name(function Empty2() { + }, "Empty"); + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + return bound; + }, "bind"); + } +}); + +// ../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js +var require_function_bind = __commonJS({ + "../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports, module) { + "use strict"; + var implementation = require_implementation(); + module.exports = Function.prototype.bind || implementation; + } +}); + +// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js +var require_functionCall = __commonJS({ + "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports, module) { + "use strict"; + module.exports = Function.prototype.call; + } +}); + +// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js +var require_functionApply = __commonJS({ + "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports, module) { + "use strict"; + module.exports = Function.prototype.apply; + } +}); + +// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js +var require_reflectApply = __commonJS({ + "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports, module) { + "use strict"; + module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply; + } +}); + +// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js +var require_actualApply = __commonJS({ + "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports, module) { + "use strict"; + var bind = require_function_bind(); + var $apply = require_functionApply(); + var $call = require_functionCall(); + var $reflectApply = require_reflectApply(); + module.exports = $reflectApply || bind.call($call, $apply); + } +}); + +// ../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js +var require_call_bind_apply_helpers = __commonJS({ + "../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports, module) { + "use strict"; + var bind = require_function_bind(); + var $TypeError = require_type(); + var $call = require_functionCall(); + var $actualApply = require_actualApply(); + module.exports = /* @__PURE__ */ __name(function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== "function") { + throw new $TypeError("a function is required"); + } + return $actualApply(bind, $call, args); + }, "callBindBasic"); + } +}); + +// ../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js +var require_get = __commonJS({ + "../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports, module) { + "use strict"; + var callBind = require_call_bind_apply_helpers(); + var gOPD = require_gopd(); + var hasProtoAccessor; + try { + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ + [].__proto__ === Array.prototype; + } catch (e) { + if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") { + throw e; + } + } + var desc = !!hasProtoAccessor && gOPD && gOPD( + Object.prototype, + /** @type {keyof typeof Object.prototype} */ + "__proto__" + ); + var $Object = Object; + var $getPrototypeOf = $Object.getPrototypeOf; + module.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? ( + /** @type {import('./get')} */ + /* @__PURE__ */ __name(function getDunder(value) { + return $getPrototypeOf(value == null ? value : $Object(value)); + }, "getDunder") + ) : false; + } +}); + +// ../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js +var require_get_proto = __commonJS({ + "../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports, module) { + "use strict"; + var reflectGetProto = require_Reflect_getPrototypeOf(); + var originalGetProto = require_Object_getPrototypeOf(); + var getDunderProto = require_get(); + module.exports = reflectGetProto ? /* @__PURE__ */ __name(function getProto(O) { + return reflectGetProto(O); + }, "getProto") : originalGetProto ? /* @__PURE__ */ __name(function getProto(O) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new TypeError("getProto: not an object"); + } + return originalGetProto(O); + }, "getProto") : getDunderProto ? /* @__PURE__ */ __name(function getProto(O) { + return getDunderProto(O); + }, "getProto") : null; + } +}); + +// ../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js +var require_hasown = __commonJS({ + "../../node_modules/.pnpm/hasown@2.0.4/node_modules/hasown/index.js"(exports, module) { + "use strict"; + var call = Function.prototype.call; + var $hasOwn = Object.prototype.hasOwnProperty; + var bind = require_function_bind(); + module.exports = bind.call(call, $hasOwn); + } +}); + +// ../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js +var require_get_intrinsic = __commonJS({ + "../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports, module) { + "use strict"; + var undefined2; + var $Object = require_es_object_atoms(); + var $Error = require_es_errors(); + var $EvalError = require_eval(); + var $RangeError = require_range(); + var $ReferenceError = require_ref(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var $URIError = require_uri(); + var abs = require_abs(); + var floor = require_floor(); + var max = require_max2(); + var min = require_min2(); + var pow = require_pow(); + var round = require_round(); + var sign = require_sign(); + var $Function = Function; + var getEvalledConstructor = /* @__PURE__ */ __name(function(expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); + } catch (e) { + } + }, "getEvalledConstructor"); + var $gOPD = require_gopd(); + var $defineProperty = require_es_define_property(); + var throwTypeError = /* @__PURE__ */ __name(function() { + throw new $TypeError(); + }, "throwTypeError"); + var ThrowTypeError = $gOPD ? (function() { + try { + arguments.callee; + return throwTypeError; + } catch (calleeThrows) { + try { + return $gOPD(arguments, "callee").get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + })() : throwTypeError; + var hasSymbols = require_has_symbols()(); + var getProto = require_get_proto(); + var $ObjectGPO = require_Object_getPrototypeOf(); + var $ReflectGPO = require_Reflect_getPrototypeOf(); + var $apply = require_functionApply(); + var $call = require_functionCall(); + var needsEval = {}; + var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array); + var INTRINSICS = { + __proto__: null, + "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, + "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2, + "%AsyncFromSyncIteratorPrototype%": undefined2, + "%AsyncFunction%": needsEval, + "%AsyncGenerator%": needsEval, + "%AsyncGeneratorFunction%": needsEval, + "%AsyncIteratorPrototype%": needsEval, + "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, + "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, + "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, + "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": $Error, + "%eval%": eval, + // eslint-disable-line no-eval + "%EvalError%": $EvalError, + "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array, + "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, + "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, + "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, + "%Function%": $Function, + "%GeneratorFunction%": needsEval, + "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, + "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, + "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2, + "%JSON%": typeof JSON === "object" ? JSON : undefined2, + "%Map%": typeof Map === "undefined" ? undefined2 : Map, + "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), + "%Math%": Math, + "%Number%": Number, + "%Object%": $Object, + "%Object.getOwnPropertyDescriptor%": $gOPD, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, + "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, + "%RangeError%": $RangeError, + "%ReferenceError%": $ReferenceError, + "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, + "%RegExp%": RegExp, + "%Set%": typeof Set === "undefined" ? undefined2 : Set, + "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), + "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2, + "%Symbol%": hasSymbols ? Symbol : undefined2, + "%SyntaxError%": $SyntaxError, + "%ThrowTypeError%": ThrowTypeError, + "%TypedArray%": TypedArray, + "%TypeError%": $TypeError, + "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, + "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, + "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, + "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, + "%URIError%": $URIError, + "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, + "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, + "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet, + "%Function.prototype.call%": $call, + "%Function.prototype.apply%": $apply, + "%Object.defineProperty%": $defineProperty, + "%Object.getPrototypeOf%": $ObjectGPO, + "%Math.abs%": abs, + "%Math.floor%": floor, + "%Math.max%": max, + "%Math.min%": min, + "%Math.pow%": pow, + "%Math.round%": round, + "%Math.sign%": sign, + "%Reflect.getPrototypeOf%": $ReflectGPO + }; + if (getProto) { + try { + null.error; + } catch (e) { + errorProto = getProto(getProto(e)); + INTRINSICS["%Error.prototype%"] = errorProto; + } + } + var errorProto; + var doEval = /* @__PURE__ */ __name(function doEval2(name) { + var value; + if (name === "%AsyncFunction%") { + value = getEvalledConstructor("async function () {}"); + } else if (name === "%GeneratorFunction%") { + value = getEvalledConstructor("function* () {}"); + } else if (name === "%AsyncGeneratorFunction%") { + value = getEvalledConstructor("async function* () {}"); + } else if (name === "%AsyncGenerator%") { + var fn = doEval2("%AsyncGeneratorFunction%"); + if (fn) { + value = fn.prototype; + } + } else if (name === "%AsyncIteratorPrototype%") { + var gen = doEval2("%AsyncGenerator%"); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + INTRINSICS[name] = value; + return value; + }, "doEval"); + var LEGACY_ALIASES = { + __proto__: null, + "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"], + "%ArrayPrototype%": ["Array", "prototype"], + "%ArrayProto_entries%": ["Array", "prototype", "entries"], + "%ArrayProto_forEach%": ["Array", "prototype", "forEach"], + "%ArrayProto_keys%": ["Array", "prototype", "keys"], + "%ArrayProto_values%": ["Array", "prototype", "values"], + "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"], + "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"], + "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"], + "%BooleanPrototype%": ["Boolean", "prototype"], + "%DataViewPrototype%": ["DataView", "prototype"], + "%DatePrototype%": ["Date", "prototype"], + "%ErrorPrototype%": ["Error", "prototype"], + "%EvalErrorPrototype%": ["EvalError", "prototype"], + "%Float32ArrayPrototype%": ["Float32Array", "prototype"], + "%Float64ArrayPrototype%": ["Float64Array", "prototype"], + "%FunctionPrototype%": ["Function", "prototype"], + "%Generator%": ["GeneratorFunction", "prototype"], + "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"], + "%Int8ArrayPrototype%": ["Int8Array", "prototype"], + "%Int16ArrayPrototype%": ["Int16Array", "prototype"], + "%Int32ArrayPrototype%": ["Int32Array", "prototype"], + "%JSONParse%": ["JSON", "parse"], + "%JSONStringify%": ["JSON", "stringify"], + "%MapPrototype%": ["Map", "prototype"], + "%NumberPrototype%": ["Number", "prototype"], + "%ObjectPrototype%": ["Object", "prototype"], + "%ObjProto_toString%": ["Object", "prototype", "toString"], + "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"], + "%PromisePrototype%": ["Promise", "prototype"], + "%PromiseProto_then%": ["Promise", "prototype", "then"], + "%Promise_all%": ["Promise", "all"], + "%Promise_reject%": ["Promise", "reject"], + "%Promise_resolve%": ["Promise", "resolve"], + "%RangeErrorPrototype%": ["RangeError", "prototype"], + "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"], + "%RegExpPrototype%": ["RegExp", "prototype"], + "%SetPrototype%": ["Set", "prototype"], + "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"], + "%StringPrototype%": ["String", "prototype"], + "%SymbolPrototype%": ["Symbol", "prototype"], + "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"], + "%TypedArrayPrototype%": ["TypedArray", "prototype"], + "%TypeErrorPrototype%": ["TypeError", "prototype"], + "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"], + "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"], + "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"], + "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"], + "%URIErrorPrototype%": ["URIError", "prototype"], + "%WeakMapPrototype%": ["WeakMap", "prototype"], + "%WeakSetPrototype%": ["WeakSet", "prototype"] + }; + var bind = require_function_bind(); + var hasOwn = require_hasown(); + var $concat = bind.call($call, Array.prototype.concat); + var $spliceApply = bind.call($apply, Array.prototype.splice); + var $replace = bind.call($call, String.prototype.replace); + var $strSlice = bind.call($call, String.prototype.slice); + var $exec = bind.call($call, RegExp.prototype.exec); + var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; + var reEscapeChar = /\\(\\)?/g; + var stringToPath = /* @__PURE__ */ __name(function stringToPath2(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === "%" && last !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); + } else if (last === "%" && first !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); + } + var result = []; + $replace(string, rePropName, function(match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match; + }); + return result; + }, "stringToPath"); + var getBaseIntrinsic = /* @__PURE__ */ __name(function getBaseIntrinsic2(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = "%" + alias[0] + "%"; + } + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === "undefined" && !allowMissing) { + throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); + } + return { + alias, + name: intrinsicName, + value + }; + } + throw new $SyntaxError("intrinsic " + name + " does not exist!"); + }, "getBaseIntrinsic"); + module.exports = /* @__PURE__ */ __name(function GetIntrinsic(name, allowMissing) { + if (typeof name !== "string" || name.length === 0) { + throw new $TypeError("intrinsic name must be a non-empty string"); + } + if (arguments.length > 1 && typeof allowMissing !== "boolean") { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; + var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { + throw new $SyntaxError("property names with quotes must have matching quotes"); + } + if (part === "constructor" || !isOwn) { + skipFurtherCaching = true; + } + intrinsicBaseName += "." + part; + intrinsicRealName = "%" + intrinsicBaseName + "%"; + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); + } + return void undefined2; + } + if ($gOPD && i + 1 >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + if (isOwn && "get" in desc && !("originalValue" in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; + }, "GetIntrinsic"); + } +}); + +// ../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js +var require_call_bound = __commonJS({ + "../../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports, module) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBindBasic = require_call_bind_apply_helpers(); + var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]); + module.exports = /* @__PURE__ */ __name(function callBoundIntrinsic(name, allowMissing) { + var intrinsic = ( + /** @type {(this: unknown, ...args: unknown[]) => unknown} */ + GetIntrinsic(name, !!allowMissing) + ); + if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { + return callBindBasic( + /** @type {const} */ + [intrinsic] + ); + } + return intrinsic; + }, "callBoundIntrinsic"); + } +}); + +// ../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js +var require_side_channel_map = __commonJS({ + "../../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports, module) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_call_bound(); + var inspect = require_object_inspect(); + var $TypeError = require_type(); + var $Map = GetIntrinsic("%Map%", true); + var $mapGet = callBound("Map.prototype.get", true); + var $mapSet = callBound("Map.prototype.set", true); + var $mapHas = callBound("Map.prototype.has", true); + var $mapDelete = callBound("Map.prototype.delete", true); + var $mapSize = callBound("Map.prototype.size", true); + module.exports = !!$Map && /** @type {Exclude<import('.'), false>} */ + /* @__PURE__ */ __name(function getSideChannelMap() { + var $m; + var channel = { + assert: /* @__PURE__ */ __name(function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, "assert"), + "delete": /* @__PURE__ */ __name(function(key) { + if ($m) { + var result = $mapDelete($m, key); + if ($mapSize($m) === 0) { + $m = void 0; + } + return result; + } + return false; + }, "delete"), + get: /* @__PURE__ */ __name(function(key) { + if ($m) { + return $mapGet($m, key); + } + }, "get"), + has: /* @__PURE__ */ __name(function(key) { + if ($m) { + return $mapHas($m, key); + } + return false; + }, "has"), + set: /* @__PURE__ */ __name(function(key, value) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key, value); + }, "set") + }; + return channel; + }, "getSideChannelMap"); + } +}); + +// ../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js +var require_side_channel_weakmap = __commonJS({ + "../../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports, module) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_call_bound(); + var inspect = require_object_inspect(); + var getSideChannelMap = require_side_channel_map(); + var $TypeError = require_type(); + var $WeakMap = GetIntrinsic("%WeakMap%", true); + var $weakMapGet = callBound("WeakMap.prototype.get", true); + var $weakMapSet = callBound("WeakMap.prototype.set", true); + var $weakMapHas = callBound("WeakMap.prototype.has", true); + var $weakMapDelete = callBound("WeakMap.prototype.delete", true); + module.exports = $WeakMap ? ( + /** @type {Exclude<import('.'), false>} */ + /* @__PURE__ */ __name(function getSideChannelWeakMap() { + var $wm; + var $m; + var channel = { + assert: /* @__PURE__ */ __name(function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, "assert"), + "delete": /* @__PURE__ */ __name(function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapDelete($wm, key); + } + } else if (getSideChannelMap) { + if ($m) { + return $m["delete"](key); + } + } + return false; + }, "delete"), + get: /* @__PURE__ */ __name(function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapGet($wm, key); + } + } + return $m && $m.get(key); + }, "get"), + has: /* @__PURE__ */ __name(function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapHas($wm, key); + } + } + return !!$m && $m.has(key); + }, "has"), + set: /* @__PURE__ */ __name(function(key, value) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if (getSideChannelMap) { + if (!$m) { + $m = getSideChannelMap(); + } + $m.set(key, value); + } + }, "set") + }; + return channel; + }, "getSideChannelWeakMap") + ) : getSideChannelMap; + } +}); + +// ../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js +var require_side_channel = __commonJS({ + "../../node_modules/.pnpm/side-channel@1.1.1/node_modules/side-channel/index.js"(exports, module) { + "use strict"; + var $TypeError = require_type(); + var inspect = require_object_inspect(); + var getSideChannelList = require_side_channel_list(); + var getSideChannelMap = require_side_channel_map(); + var getSideChannelWeakMap = require_side_channel_weakmap(); + var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList; + module.exports = /* @__PURE__ */ __name(function getSideChannel() { + var $channelData; + var channel = { + assert: /* @__PURE__ */ __name(function(key) { + if (!channel.has(key)) { + var keyDesc = key && Object(key) === key ? "the given object key" : inspect(key); + throw new $TypeError("Side channel does not contain " + keyDesc); + } + }, "assert"), + "delete": /* @__PURE__ */ __name(function(key) { + return !!$channelData && $channelData["delete"](key); + }, "delete"), + get: /* @__PURE__ */ __name(function(key) { + return $channelData && $channelData.get(key); + }, "get"), + has: /* @__PURE__ */ __name(function(key) { + return !!$channelData && $channelData.has(key); + }, "has"), + set: /* @__PURE__ */ __name(function(key, value) { + if (!$channelData) { + $channelData = makeChannel(); + } + $channelData.set(key, value); + }, "set") + }; + return channel; + }, "getSideChannel"); + } +}); + +// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/formats.js +var require_formats = __commonJS({ + "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/formats.js"(exports, module) { + "use strict"; + var replace = String.prototype.replace; + var percentTwenties = /%20/g; + var Format = { + RFC1738: "RFC1738", + RFC3986: "RFC3986" + }; + module.exports = { + "default": Format.RFC3986, + formatters: { + RFC1738: /* @__PURE__ */ __name(function(value) { + return replace.call(value, percentTwenties, "+"); + }, "RFC1738"), + RFC3986: /* @__PURE__ */ __name(function(value) { + return String(value); + }, "RFC3986") + }, + RFC1738: Format.RFC1738, + RFC3986: Format.RFC3986 + }; + } +}); + +// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/utils.js +var require_utils2 = __commonJS({ + "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/utils.js"(exports, module) { + "use strict"; + var formats = require_formats(); + var getSideChannel = require_side_channel(); + var defineProperty = require_es_define_property(); + var has = Object.prototype.hasOwnProperty; + var isArray = Array.isArray; + var overflowChannel = getSideChannel(); + var markOverflow = /* @__PURE__ */ __name(function markOverflow2(obj, maxIndex) { + overflowChannel.set(obj, maxIndex); + return obj; + }, "markOverflow"); + var isOverflow = /* @__PURE__ */ __name(function isOverflow2(obj) { + return overflowChannel.has(obj); + }, "isOverflow"); + var getMaxIndex = /* @__PURE__ */ __name(function getMaxIndex2(obj) { + return overflowChannel.get(obj); + }, "getMaxIndex"); + var setMaxIndex = /* @__PURE__ */ __name(function setMaxIndex2(obj, maxIndex) { + overflowChannel.set(obj, maxIndex); + }, "setMaxIndex"); + var conflictChannel = getSideChannel(); + var markConflict = /* @__PURE__ */ __name(function markConflict2(obj, maxIndex) { + conflictChannel.set(obj, maxIndex); + return obj; + }, "markConflict"); + var isConflict = /* @__PURE__ */ __name(function isConflict2(obj) { + return conflictChannel.has(obj); + }, "isConflict"); + var getConflictIndex = /* @__PURE__ */ __name(function getConflictIndex2(obj) { + return conflictChannel.get(obj); + }, "getConflictIndex"); + var hexTable = (function() { + var array = []; + for (var i = 0; i < 256; ++i) { + array[array.length] = "%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase(); + } + return array; + })(); + var compactQueue = /* @__PURE__ */ __name(function compactQueue2(queue) { + while (queue.length > 1) { + var item = queue.pop(); + var obj = item.obj[item.prop]; + if (isArray(obj)) { + var compacted = []; + for (var j = 0; j < obj.length; ++j) { + if (typeof obj[j] !== "undefined") { + compacted[compacted.length] = obj[j]; + } + } + item.obj[item.prop] = compacted; + } + } + }, "compactQueue"); + var arrayToObject = /* @__PURE__ */ __name(function arrayToObject2(source, options) { + var obj = options && options.plainObjects ? { __proto__: null } : {}; + for (var i = 0; i < source.length; ++i) { + if (typeof source[i] !== "undefined") { + obj[i] = source[i]; + } + } + return obj; + }, "arrayToObject"); + var setProperty = /* @__PURE__ */ __name(function setProperty2(obj, key, value) { + if (key === "__proto__" && defineProperty) { + defineProperty(obj, key, { + configurable: true, + enumerable: true, + value, + writable: true + }); + } else { + obj[key] = value; + } + }, "setProperty"); + var maxNumericIndex = /* @__PURE__ */ __name(function maxNumericIndex2(obj, min) { + var max = min; + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; ++i) { + var num = parseInt(keys[i], 10); + if (String(num) === keys[i] && num > max) { + max = num; + } + } + return max; + }, "maxNumericIndex"); + var limitedPair = /* @__PURE__ */ __name(function limitedPair2(first, second, options) { + var pair = [first, second]; + if (options && typeof options.arrayLimit === "number" && pair.length > options.arrayLimit) { + if (options.throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return markOverflow(arrayToObject(pair, options), 1); + } + return pair; + }, "limitedPair"); + var merge = /* @__PURE__ */ __name(function merge2(target, source, options) { + if (!source) { + return target; + } + if (typeof source !== "object" && typeof source !== "function") { + if (isArray(target)) { + var nextIndex = target.length; + if (options && typeof options.arrayLimit === "number" && nextIndex >= options.arrayLimit) { + if (options.throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return markOverflow(arrayToObject(target.concat(source), options), nextIndex); + } + target[nextIndex] = source; + } else if (target && typeof target === "object") { + if (isOverflow(target)) { + var newIndex = getMaxIndex(target) + 1; + target[newIndex] = source; + setMaxIndex(target, newIndex); + } else if (options && options.strictMerge && isConflict(target)) { + var nextConflict = getConflictIndex(target) + 1; + if (options.throwOnLimitExceeded && typeof options.arrayLimit === "number" && nextConflict >= options.arrayLimit) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + target[nextConflict] = source; + markConflict(target, nextConflict); + } else if (options && options.strictMerge) { + var conflict = limitedPair(target, source, options); + return isArray(conflict) ? markConflict(conflict, 1) : conflict; + } else if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) { + target[source] = true; + } + } else { + return limitedPair(target, source, options); + } + return target; + } + if (!target || typeof target !== "object") { + if (isOverflow(source)) { + var sourceKeys = Object.keys(source); + var result = options && options.plainObjects ? { __proto__: null, 0: target } : { 0: target }; + for (var m = 0; m < sourceKeys.length; m++) { + var oldKey = parseInt(sourceKeys[m], 10); + result[oldKey + 1] = source[sourceKeys[m]]; + } + return markOverflow(result, getMaxIndex(source) + 1); + } + var combined = [target].concat(source); + if (options && typeof options.arrayLimit === "number" && combined.length > options.arrayLimit) { + if (options.throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return markOverflow(arrayToObject(combined, options), combined.length - 1); + } + return combined; + } + var mergeTarget = target; + if (isArray(target) && !isArray(source)) { + mergeTarget = arrayToObject(target, options); + if (isConflict(target)) { + markConflict(mergeTarget, target.length - 1); + } + } + if (isArray(target) && isArray(source)) { + source.forEach(function(item, i) { + if (has.call(target, i)) { + var targetItem = target[i]; + if (targetItem && typeof targetItem === "object" && item && typeof item === "object") { + target[i] = merge2(targetItem, item, options); + } else { + target[target.length] = item; + } + } else { + target[i] = item; + } + }); + if (options && typeof options.arrayLimit === "number" && target.length > options.arrayLimit) { + if (options.throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return markOverflow(arrayToObject(target, options), target.length - 1); + } + return target; + } + return Object.keys(source).reduce(function(acc, key) { + var value = source[key]; + if (has.call(acc, key)) { + setProperty(acc, key, merge2(acc[key], value, options)); + } else { + setProperty(acc, key, value); + } + if (isOverflow(source) && !isOverflow(acc)) { + markOverflow(acc, maxNumericIndex(acc, getMaxIndex(source))); + } + if (isOverflow(acc)) { + var keyNum = parseInt(key, 10); + if (String(keyNum) === key && keyNum >= 0 && keyNum > getMaxIndex(acc)) { + setMaxIndex(acc, keyNum); + } + } + if (isConflict(acc)) { + var conflictKey = parseInt(key, 10); + if (String(conflictKey) === key && conflictKey > getConflictIndex(acc)) { + markConflict(acc, conflictKey); + } + } + return acc; + }, mergeTarget); + }, "merge"); + var assign = /* @__PURE__ */ __name(function assignSingleSource(target, source) { + return Object.keys(source).reduce(function(acc, key) { + setProperty(acc, key, source[key]); + return acc; + }, target); + }, "assignSingleSource"); + var decode = /* @__PURE__ */ __name(function(str, defaultDecoder, charset) { + if (typeof str === "string" && str.indexOf("%") === -1) { + return str.indexOf("+") === -1 ? str : str.replace(/\+/g, " "); + } + var strWithoutPlus = str.replace(/\+/g, " "); + if (charset === "iso-8859-1") { + return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); + } + try { + return decodeURIComponent(strWithoutPlus); + } catch (e) { + return strWithoutPlus; + } + }, "decode"); + var hasToPrimitive = typeof Symbol === "function" && typeof Symbol.toPrimitive === "symbol"; + var arrayJoin = Array.prototype.join; + var arrayToString = Array.prototype.toString; + var objectToString = Object.prototype.toString; + var toCoercible = /* @__PURE__ */ __name(function toCoercible2(value, joining) { + if (!value || typeof value !== "object" && typeof value !== "function") { + return value; + } + if (hasToPrimitive && value[Symbol.toPrimitive] != null) { + return value; + } + if (isArray(value) && value.toString === arrayToString && value.join === arrayJoin) { + var ancestors = joining || getSideChannel(); + if (ancestors.has(value)) { + return ""; + } + ancestors.set(value, true); + var copy; + for (var i = 0; i < value.length; i += 1) { + var item = value[i]; + var coerced = toCoercible2(item, ancestors); + if (!copy && coerced !== item) { + copy = []; + for (var j = 0; j < i; j += 1) { + copy[j] = value[j]; + } + } + if (copy) { + copy[i] = coerced; + } + } + ancestors["delete"](value); + return copy || value; + } + if (typeof value.toString === "function") { + return value; + } + var valueOf = value.valueOf; + if (typeof valueOf === "function") { + var primitive = valueOf.call(value); + if (!primitive || typeof primitive !== "object" && typeof primitive !== "function") { + return String(primitive); + } + } + return objectToString.call(value); + }, "toCoercible"); + var limit = 1024; + var encode = /* @__PURE__ */ __name(function encode2(str, defaultEncoder, charset, kind, format) { + if (str.length === 0) { + return str; + } + var string = str; + if (typeof str === "symbol") { + string = Symbol.prototype.toString.call(str); + } else if (typeof str !== "string") { + string = String(toCoercible(str)); + } + if (charset === "iso-8859-1") { + return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) { + return "%26%23" + parseInt($0.slice(2), 16) + "%3B"; + }).replace(/\+/g, "%2B"); + } + var out = ""; + for (var j = 0; j < string.length; j += limit) { + var segment = string.length >= limit ? string.slice(j, j + limit) : string; + if (j + limit < string.length) { + var last = segment.charCodeAt(segment.length - 1); + if (last >= 55296 && last <= 56319) { + segment = segment.slice(0, -1); + j -= 1; + } + } + var arr = []; + for (var i = 0; i < segment.length; ++i) { + var c = segment.charCodeAt(i); + if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (c === 40 || c === 41)) { + arr[arr.length] = segment.charAt(i); + continue; + } + if (c < 128) { + arr[arr.length] = hexTable[c]; + continue; + } + if (c < 2048) { + arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63]; + continue; + } + if (c < 55296 || c >= 57344) { + arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]; + continue; + } + i += 1; + c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023); + arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63]; + } + out += arr.join(""); + } + return out; + }, "encode"); + var compact = /* @__PURE__ */ __name(function compact2(value) { + var queue = [{ obj: { o: value }, prop: "o" }]; + var refs = getSideChannel(); + for (var i = 0; i < queue.length; ++i) { + var item = queue[i]; + var obj = item.obj[item.prop]; + var keys = Object.keys(obj); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + var val = obj[key]; + if (typeof val === "object" && val !== null && !refs.has(val)) { + queue[queue.length] = { obj, prop: key }; + refs.set(val, true); + } + } + } + compactQueue(queue); + return value; + }, "compact"); + var isRegExp = /* @__PURE__ */ __name(function isRegExp2(obj) { + return Object.prototype.toString.call(obj) === "[object RegExp]"; + }, "isRegExp"); + var isBuffer = /* @__PURE__ */ __name(function isBuffer2(obj) { + if (!obj || typeof obj !== "object") { + return false; + } + return !!(obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj)); + }, "isBuffer"); + var combine = /* @__PURE__ */ __name(function combine2(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) { + if (isOverflow(a)) { + if (throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + var bValues = isArray(b) ? b : [b]; + var newIndex = getMaxIndex(a); + for (var i = 0; i < bValues.length; ++i) { + newIndex += 1; + a[newIndex] = bValues[i]; + } + setMaxIndex(a, newIndex); + return a; + } + var result = [].concat(a, b); + if (result.length > arrayLimit) { + if (throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + arrayLimit + " element" + (arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return markOverflow(arrayToObject(result, { plainObjects }), result.length - 1); + } + return result; + }, "combine"); + var maybeMap = /* @__PURE__ */ __name(function maybeMap2(val, fn) { + if (isArray(val)) { + var mapped = []; + for (var i = 0; i < val.length; i += 1) { + mapped[mapped.length] = fn(val[i]); + } + return mapped; + } + return fn(val); + }, "maybeMap"); + module.exports = { + arrayToObject, + assign, + combine, + compact, + decode, + encode, + isBuffer, + isOverflow, + isRegExp, + markOverflow, + maybeMap, + merge, + toCoercible + }; + } +}); + +// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/stringify.js +var require_stringify = __commonJS({ + "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/stringify.js"(exports, module) { + "use strict"; + var getSideChannel = require_side_channel(); + var utils = require_utils2(); + var formats = require_formats(); + var has = Object.prototype.hasOwnProperty; + var arrayPrefixGenerators = { + brackets: /* @__PURE__ */ __name(function brackets(prefix) { + return prefix + "[]"; + }, "brackets"), + comma: "comma", + indices: /* @__PURE__ */ __name(function indices(prefix, key) { + return prefix + "[" + key + "]"; + }, "indices"), + repeat: /* @__PURE__ */ __name(function repeat(prefix) { + return prefix; + }, "repeat") + }; + var isArray = Array.isArray; + var push = Array.prototype.push; + var pushToArray = /* @__PURE__ */ __name(function(arr, valueOrArray) { + push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); + }, "pushToArray"); + var toISO = Date.prototype.toISOString; + var defaultFormat = formats["default"]; + var defaults = { + addQueryPrefix: false, + allowDots: false, + allowEmptyArrays: false, + arrayFormat: "indices", + charset: "utf-8", + charsetSentinel: false, + commaRoundTrip: false, + delimiter: "&", + depth: Infinity, + encode: true, + encodeDotInKeys: false, + encoder: utils.encode, + encodeValuesOnly: false, + filter: void 0, + format: defaultFormat, + formatter: formats.formatters[defaultFormat], + // deprecated + indices: false, + serializeDate: /* @__PURE__ */ __name(function serializeDate(date) { + return toISO.call(date); + }, "serializeDate"), + skipNulls: false, + strictNullHandling: false + }; + var isNonNullishPrimitive = /* @__PURE__ */ __name(function isNonNullishPrimitive2(v) { + return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint"; + }, "isNonNullishPrimitive"); + var sentinel = {}; + var stringify2 = /* @__PURE__ */ __name(function stringify3(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel, depth, currentDepth) { + var obj = object; + if (currentDepth > depth) { + throw new RangeError("Input depth exceeded depth option of " + depth); + } + var tmpSc = sideChannel; + var step = 0; + var findFlag = false; + while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) { + var pos = tmpSc.get(object); + step += 1; + if (typeof pos !== "undefined") { + if (pos === step) { + throw new RangeError("Cyclic object value"); + } else { + findFlag = true; + } + } + if (typeof tmpSc.get(sentinel) === "undefined") { + step = 0; + } + } + obj = typeof filter === "function" ? filter(prefix, obj) : obj; + if (obj instanceof Date) { + obj = serializeDate(obj); + } else if (generateArrayPrefix === "comma" && isArray(obj)) { + obj = utils.maybeMap(obj, function(value2) { + if (value2 instanceof Date) { + return serializeDate(value2); + } + return value2; + }); + } + if (obj === null) { + if (strictNullHandling) { + return formatter(encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix); + } + obj = ""; + } + if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { + if (encoder) { + var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format); + return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))]; + } + return [formatter(prefix) + "=" + formatter(String(obj))]; + } + var values = []; + if (typeof obj === "undefined") { + return values; + } + var objKeys; + if (generateArrayPrefix === "comma" && isArray(obj)) { + if (encodeValuesOnly && encoder) { + obj = utils.maybeMap(obj, function(v) { + return v == null ? v : encoder(v, defaults.encoder, charset, "value", format); + }); + } + objKeys = [{ value: obj.length > 0 ? utils.toCoercible(obj).join(",") || null : void 0 }]; + } else if (isArray(filter)) { + objKeys = filter; + } else { + var keys = Object.keys(obj); + objKeys = sort ? keys.sort(sort) : keys; + } + var encodedPrefix = String(prefix); + var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix; + if (allowEmptyArrays && isArray(obj) && obj.length === 0 && Object.keys(obj).length === 0) { + return adjustedPrefix + "[]"; + } + for (var j = 0; j < objKeys.length; ++j) { + var key = objKeys[j]; + var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key]; + if (skipNulls && value === null) { + continue; + } + var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key); + var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]"); + sideChannel.set(object, step); + var valueSideChannel = getSideChannel(); + valueSideChannel.set(sentinel, sideChannel); + pushToArray(values, stringify3( + value, + keyPrefix, + generateArrayPrefix, + commaRoundTrip, + allowEmptyArrays, + strictNullHandling, + skipNulls, + encodeDotInKeys, + generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder, + filter, + sort, + allowDots, + serializeDate, + format, + formatter, + encodeValuesOnly, + charset, + valueSideChannel, + depth, + currentDepth + 1 + )); + } + return values; + }, "stringify"); + var normalizeStringifyOptions = /* @__PURE__ */ __name(function normalizeStringifyOptions2(opts) { + if (!opts) { + return defaults; + } + if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") { + throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided"); + } + if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") { + throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided"); + } + if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") { + throw new TypeError("Encoder has to be a function."); + } + var charset = opts.charset || defaults.charset; + if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { + throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); + } + var format = formats["default"]; + if (typeof opts.format !== "undefined") { + if (!has.call(formats.formatters, opts.format)) { + throw new TypeError("Unknown format option provided."); + } + format = opts.format; + } + var formatter = formats.formatters[format]; + var filter = defaults.filter; + if (typeof opts.filter === "function" || isArray(opts.filter)) { + filter = opts.filter; + } + var arrayFormat; + if (has.call(arrayPrefixGenerators, opts.arrayFormat)) { + arrayFormat = opts.arrayFormat; + } else if ("indices" in opts) { + arrayFormat = opts.indices ? "indices" : "repeat"; + } else { + arrayFormat = defaults.arrayFormat; + } + if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") { + throw new TypeError("`commaRoundTrip` must be a boolean, or absent"); + } + var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; + return { + addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix, + allowDots, + allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, + arrayFormat, + charset, + charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, + commaRoundTrip: !!opts.commaRoundTrip, + delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter, + depth: typeof opts.depth === "number" ? opts.depth : defaults.depth, + encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode, + encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys, + encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder, + encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly, + filter, + format, + formatter, + serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate, + skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls, + sort: typeof opts.sort === "function" ? opts.sort : null, + strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling + }; + }, "normalizeStringifyOptions"); + module.exports = function(object, opts) { + var obj = object; + var options = normalizeStringifyOptions(opts); + var objKeys; + var filter; + if (typeof options.filter === "function") { + filter = options.filter; + obj = filter("", obj); + } else if (isArray(options.filter)) { + filter = options.filter; + objKeys = filter; + } + var keys = []; + if (typeof obj !== "object" || obj === null) { + return ""; + } + var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat]; + var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip; + if (!objKeys) { + objKeys = Object.keys(obj); + } + if (options.sort) { + objKeys.sort(options.sort); + } + var sideChannel = getSideChannel(); + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + if (typeof key === "undefined" || key === null) { + continue; + } + var value = obj[key]; + if (options.skipNulls && value === null) { + continue; + } + var encodedKey = options.encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key); + pushToArray(keys, stringify2( + value, + encodedKey, + generateArrayPrefix, + commaRoundTrip, + options.allowEmptyArrays, + options.strictNullHandling, + options.skipNulls, + options.encodeDotInKeys, + options.encode ? options.encoder : null, + options.filter, + options.sort, + options.allowDots, + options.serializeDate, + options.format, + options.formatter, + options.encodeValuesOnly, + options.charset, + sideChannel, + options.depth, + 0 + )); + } + var joined = keys.join(options.delimiter); + var prefix = options.addQueryPrefix === true ? "?" : ""; + if (options.charsetSentinel) { + if (options.charset === "iso-8859-1") { + prefix += "utf8=%26%2310003%3B" + options.delimiter; + } else { + prefix += "utf8=%E2%9C%93" + options.delimiter; + } + } + return joined.length > 0 ? prefix + joined : ""; + }; + } +}); + +// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/parse.js +var require_parse = __commonJS({ + "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/parse.js"(exports, module) { + "use strict"; + var getSideChannel = require_side_channel(); + var utils = require_utils2(); + var has = Object.prototype.hasOwnProperty; + var isArray = Array.isArray; + var getPrototypeOf = Object.getPrototypeOf; + var isPlainContainer = /* @__PURE__ */ __name(function isPlainContainer2(value) { + if (!value || typeof value !== "object") { + return false; + } + if (isArray(value)) { + return true; + } + var proto = getPrototypeOf(value); + return proto === Object.prototype || proto === null; + }, "isPlainContainer"); + var emptyCopyOf = /* @__PURE__ */ __name(function emptyCopyOf2(value) { + if (isArray(value)) { + var arr = []; + arr.length = value.length; + return arr; + } + return getPrototypeOf(value) === null ? { __proto__: null } : {}; + }, "emptyCopyOf"); + var copyInput = /* @__PURE__ */ __name(function copyInput2(input) { + var copies = getSideChannel(); + var result = {}; + var queue = [{ source: input, target: result }]; + for (var i = 0; i < queue.length; ++i) { + var source = queue[i].source; + var target = queue[i].target; + var keys = Object.keys(source); + for (var j = 0; j < keys.length; ++j) { + var value = source[keys[j]]; + if (isPlainContainer(value)) { + if (!copies.has(value)) { + var copy = emptyCopyOf(value); + copies.set(value, copy); + queue[queue.length] = { source: value, target: copy }; + } + target[keys[j]] = copies.get(value); + } else { + target[keys[j]] = value; + } + } + } + return result; + }, "copyInput"); + var defaults = { + allowDots: false, + allowEmptyArrays: false, + allowPrototypes: false, + allowSparse: false, + arrayLimit: 20, + charset: "utf-8", + charsetSentinel: false, + comma: false, + decodeDotInKeys: false, + decoder: utils.decode, + delimiter: "&", + depth: 5, + duplicates: "combine", + ignoreQueryPrefix: false, + interpretNumericEntities: false, + parameterLimit: 1e3, + parseArrays: true, + plainObjects: false, + strictDepth: false, + strictMerge: true, + strictNullHandling: false, + throwOnLimitExceeded: false + }; + var interpretNumericEntities = /* @__PURE__ */ __name(function(str) { + return str.replace(/&#(\d+);/g, function($0, numberStr) { + return String.fromCharCode(parseInt(numberStr, 10)); + }); + }, "interpretNumericEntities"); + var parseArrayValue = /* @__PURE__ */ __name(function(val, options, currentArrayLength) { + if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) { + if (options.throwOnLimitExceeded) { + var commaCount = 0; + var commaIndex = val.indexOf(","); + while (commaIndex > -1) { + commaCount += 1; + if (commaCount >= options.arrayLimit) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + commaIndex = val.indexOf(",", commaIndex + 1); + } + } + return val.split(","); + } + if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } + return val; + }, "parseArrayValue"); + var isoSentinel = "utf8=%26%2310003%3B"; + var charsetSentinel = "utf8=%E2%9C%93"; + var parseValues = /* @__PURE__ */ __name(function parseQueryStringValues(str, options) { + var obj = { __proto__: null }; + var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str; + cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]"); + var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit; + var parts = cleanStr.split( + options.delimiter, + options.throwOnLimitExceeded && typeof limit !== "undefined" ? limit + 1 : limit + ); + if (options.throwOnLimitExceeded && typeof limit !== "undefined" && parts.length > limit) { + throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (limit === 1 ? "" : "s") + " allowed."); + } + var skipIndex = -1; + var i; + var charset = options.charset; + if (options.charsetSentinel) { + for (i = 0; i < parts.length; ++i) { + if (parts[i].indexOf("utf8=") === 0) { + if (parts[i] === charsetSentinel) { + charset = "utf-8"; + } else if (parts[i] === isoSentinel) { + charset = "iso-8859-1"; + } + skipIndex = i; + i = parts.length; + } + } + } + for (i = 0; i < parts.length; ++i) { + if (i === skipIndex) { + continue; + } + var part = parts[i]; + var bracketEqualsPos = part.indexOf("]="); + var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1; + var isEmptyBracketKey = pos > 1 && part.slice(pos - 2, pos) === "[]"; + var key; + var val; + if (pos === -1) { + key = options.decoder(part, defaults.decoder, charset, "key"); + val = options.strictNullHandling ? null : ""; + } else { + key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key"); + if (key !== null) { + val = utils.maybeMap( + parseArrayValue( + part.slice(pos + 1), + options, + isArray(obj[key]) ? obj[key].length : 0 + ), + function(encodedVal) { + return options.decoder(encodedVal, defaults.decoder, charset, "value"); + } + ); + } + } + if (val && options.interpretNumericEntities && charset === "iso-8859-1") { + val = interpretNumericEntities(String(val)); + } + if (isEmptyBracketKey) { + val = isArray(val) ? [val] : val; + } + if (options.comma && isArray(val) && val.length > options.arrayLimit) { + val = utils.combine([], val, options.arrayLimit, options.plainObjects, options.throwOnLimitExceeded); + } + if (key !== null) { + var existing = has.call(obj, key); + if (existing && (options.duplicates === "combine" || isEmptyBracketKey)) { + obj[key] = utils.combine( + obj[key], + val, + options.arrayLimit, + options.plainObjects, + options.throwOnLimitExceeded + ); + } else if (!existing || options.duplicates === "last") { + obj[key] = val; + } + } + } + return obj; + }, "parseQueryStringValues"); + var parseObject = /* @__PURE__ */ __name(function(chain, val, options, valuesParsed) { + var currentArrayLength = 0; + if (chain.length > 0 && chain[chain.length - 1] === "[]") { + var parentKey = chain.slice(0, -1).join(""); + currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0; + } + var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength); + for (var i = chain.length - 1; i >= 0; --i) { + var obj; + var root = chain[i]; + if (root === "[]" && options.parseArrays) { + if (utils.isOverflow(leaf)) { + obj = leaf; + } else { + obj = options.allowEmptyArrays && (leaf === "" || options.strictNullHandling && leaf === null) ? [] : utils.combine( + [], + leaf, + options.arrayLimit, + options.plainObjects, + options.throwOnLimitExceeded + ); + } + } else { + obj = options.plainObjects ? { __proto__: null } : {}; + var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root; + var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot; + var index = parseInt(decodedRoot, 10); + var isValidArrayIndex = !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays; + if (!options.parseArrays && decodedRoot === "") { + obj = { 0: leaf }; + } else if (isValidArrayIndex && index < options.arrayLimit) { + obj = []; + obj[index] = leaf; + } else if (isValidArrayIndex && options.throwOnLimitExceeded) { + throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array."); + } else if (isValidArrayIndex) { + obj[index] = leaf; + utils.markOverflow(obj, index); + } else if (decodedRoot !== "__proto__") { + obj[decodedRoot] = leaf; + } + } + leaf = obj; + } + return leaf; + }, "parseObject"); + var topLevelDotsToBrackets = /* @__PURE__ */ __name(function topLevelDotsToBrackets2(key) { + var result = ""; + var depth = 0; + for (var i = 0; i < key.length; i += 1) { + var cu = key.charCodeAt(i); + if (cu === 91) { + depth += 1; + result += "["; + } else if (cu === 93) { + if (depth > 0) { + depth -= 1; + } + result += "]"; + } else if (cu === 46 && depth === 0 && i + 1 < key.length && key.charCodeAt(i + 1) !== 46 && key.charCodeAt(i + 1) !== 91) { + var start = i + 1; + var j = start; + while (j < key.length && key.charCodeAt(j) !== 46 && key.charCodeAt(j) !== 91) { + j += 1; + } + result += "[" + key.slice(start, j) + "]"; + i = j - 1; + } else { + result += key.charAt(i); + } + } + return result; + }, "topLevelDotsToBrackets"); + var splitKeyIntoSegments = /* @__PURE__ */ __name(function splitKeyIntoSegments2(originalKey, options) { + var key = options.allowDots ? topLevelDotsToBrackets(originalKey) : originalKey; + if (options.depth <= 0) { + if (!options.plainObjects && has.call(Object.prototype, key)) { + if (!options.allowPrototypes) { + return; + } + } + return [key]; + } + var segments = []; + var first = key.indexOf("["); + var parent = first >= 0 ? key.slice(0, first) : key; + if (parent) { + if (!options.plainObjects && has.call(Object.prototype, parent)) { + if (!options.allowPrototypes) { + return; + } + } + segments[segments.length] = parent; + } + var n = key.length; + var open = first; + var collected = 0; + while (open >= 0 && collected < options.depth) { + var level = 1; + var i = open + 1; + var close = -1; + while (i < n && close < 0) { + var cu = key.charCodeAt(i); + if (cu === 91) { + level += 1; + } else if (cu === 93) { + level -= 1; + if (level === 0) { + close = i; + } + } + i += 1; + } + if (close < 0) { + segments[segments.length] = "[" + key.slice(open) + "]"; + return segments; + } + var seg = key.slice(open, close + 1); + var content = seg.slice(1, -1); + if (!options.plainObjects && has.call(Object.prototype, content) && !options.allowPrototypes) { + return; + } + segments[segments.length] = seg; + collected += 1; + open = key.indexOf("[", close + 1); + } + if (open >= 0) { + if (options.strictDepth === true) { + throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true"); + } + segments[segments.length] = "[" + key.slice(open) + "]"; + } + return segments; + }, "splitKeyIntoSegments"); + var parseKeys = /* @__PURE__ */ __name(function parseQueryStringKeys(givenKey, val, options, valuesParsed) { + if (!givenKey) { + return; + } + var keys = splitKeyIntoSegments(givenKey, options); + if (!keys) { + return; + } + return parseObject(keys, val, options, valuesParsed); + }, "parseQueryStringKeys"); + var normalizeParseOptions = /* @__PURE__ */ __name(function normalizeParseOptions2(opts) { + if (!opts) { + return defaults; + } + if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") { + throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided"); + } + if (typeof opts.decodeDotInKeys !== "undefined" && typeof opts.decodeDotInKeys !== "boolean") { + throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided"); + } + if (opts.decoder !== null && typeof opts.decoder !== "undefined" && typeof opts.decoder !== "function") { + throw new TypeError("Decoder has to be a function."); + } + if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") { + throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined"); + } + if (typeof opts.throwOnLimitExceeded !== "undefined" && typeof opts.throwOnLimitExceeded !== "boolean") { + throw new TypeError("`throwOnLimitExceeded` option must be a boolean"); + } + var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset; + var duplicates = typeof opts.duplicates === "undefined" ? defaults.duplicates : opts.duplicates; + if (duplicates !== "combine" && duplicates !== "first" && duplicates !== "last") { + throw new TypeError("The duplicates option must be either combine, first, or last"); + } + var allowDots = typeof opts.allowDots === "undefined" ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; + return { + allowDots, + allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, + allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes, + allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse, + arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit, + charset, + charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel, + comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma, + decodeDotInKeys: typeof opts.decodeDotInKeys === "boolean" ? opts.decodeDotInKeys : defaults.decodeDotInKeys, + decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder, + delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, + // eslint-disable-next-line no-implicit-coercion, no-extra-parens + depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth, + duplicates, + ignoreQueryPrefix: opts.ignoreQueryPrefix === true, + interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities, + parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit, + parseArrays: opts.parseArrays !== false, + plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects, + strictDepth: typeof opts.strictDepth === "boolean" ? !!opts.strictDepth : defaults.strictDepth, + strictMerge: typeof opts.strictMerge === "boolean" ? !!opts.strictMerge : defaults.strictMerge, + strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling, + throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === "boolean" ? opts.throwOnLimitExceeded : false + }; + }, "normalizeParseOptions"); + module.exports = function(str, opts) { + var options = normalizeParseOptions(opts); + if (str === "" || str === null || typeof str === "undefined") { + return options.plainObjects ? { __proto__: null } : {}; + } + var tempObj = typeof str === "string" ? parseValues(str, options) : copyInput(str); + var obj = options.plainObjects ? { __proto__: null } : {}; + var keys = Object.keys(tempObj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var newObj = parseKeys(key, tempObj[key], options, typeof str === "string"); + obj = utils.merge(obj, newObj, options); + } + if (options.allowSparse === true) { + return obj; + } + return utils.compact(obj); + }; + } +}); + +// ../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/index.js +var require_lib4 = __commonJS({ + "../../node_modules/.pnpm/qs@6.16.1/node_modules/qs/lib/index.js"(exports, module) { + "use strict"; + var stringify2 = require_stringify(); + var parse = require_parse(); + var formats = require_formats(); + module.exports = { + formats, + parse, + stringify: stringify2 + }; + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js +var require_urlencoded = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/lib/types/urlencoded.js"(exports, module) { + "use strict"; + var createError = require_http_errors(); + var debug = require_src()("body-parser:urlencoded"); + var read = require_read(); + var qs = require_lib4(); + var { normalizeOptions } = require_utils(); + module.exports = urlencoded; + function urlencoded(options) { + const normalizedOptions = normalizeOptions(options, "application/x-www-form-urlencoded"); + if (normalizedOptions.defaultCharset !== "utf-8" && normalizedOptions.defaultCharset !== "iso-8859-1") { + throw new TypeError("option defaultCharset must be either utf-8 or iso-8859-1"); + } + const parse = createQueryParser(options); + const readOptions = { + ...normalizedOptions, + // assert charset + isValidCharset: /* @__PURE__ */ __name((charset) => charset === "utf-8" || charset === "iso-8859-1", "isValidCharset") + }; + return /* @__PURE__ */ __name(function urlencodedParser(req, res, next) { + read(req, res, next, parse, debug, readOptions); + }, "urlencodedParser"); + } + __name(urlencoded, "urlencoded"); + function createQueryParser(options) { + const extended = Boolean(options?.extended); + let parameterLimit = options?.parameterLimit !== void 0 ? options?.parameterLimit : 1e3; + const charsetSentinel = options?.charsetSentinel; + const interpretNumericEntities = options?.interpretNumericEntities; + const depth = extended ? options?.depth !== void 0 ? options?.depth : 32 : 0; + if (isNaN(parameterLimit) || parameterLimit < 1) { + throw new TypeError("option parameterLimit must be a positive number"); + } + if (isNaN(depth) || depth < 0) { + throw new TypeError("option depth must be a zero or a positive number"); + } + if (isFinite(parameterLimit)) { + parameterLimit = parameterLimit | 0; + } + return /* @__PURE__ */ __name(function parse(body, encoding) { + if (!body.length) return {}; + const paramCount = parameterCount(body, parameterLimit); + if (paramCount === void 0) { + debug("too many parameters"); + throw createError(413, "too many parameters", { + type: "parameters.too.many" + }); + } + const arrayLimit = extended ? Math.max(100, paramCount) : paramCount; + debug("parse " + (extended ? "extended " : "") + "urlencoding"); + try { + return qs.parse(body, { + allowPrototypes: true, + arrayLimit, + depth, + charsetSentinel, + interpretNumericEntities, + charset: encoding, + parameterLimit, + strictDepth: true + }); + } catch (err) { + if (err instanceof RangeError) { + throw createError(400, "The input exceeded the depth", { + type: "querystring.parse.rangeError" + }); + } else { + throw err; + } + } + }, "parse"); + } + __name(createQueryParser, "createQueryParser"); + function parameterCount(body, limit) { + let count = 0; + let index = -1; + do { + count++; + if (count > limit) return void 0; + index = body.indexOf("&", index + 1); + } while (index !== -1); + return count; + } + __name(parameterCount, "parameterCount"); + } +}); + +// ../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js +var require_body_parser = __commonJS({ + "../../node_modules/.pnpm/body-parser@2.3.0/node_modules/body-parser/index.js"(exports, module) { + "use strict"; + exports = module.exports = bodyParser; + exports.json = require_json(); + exports.raw = require_raw(); + exports.text = require_text(); + exports.urlencoded = require_urlencoded(); + function bodyParser() { + throw new Error("The bodyParser() generic has been split into individual middleware to use instead."); + } + __name(bodyParser, "bodyParser"); + } +}); + +// ../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js +var require_merge_descriptors = __commonJS({ + "../../node_modules/.pnpm/merge-descriptors@2.0.0/node_modules/merge-descriptors/index.js"(exports, module) { + "use strict"; + function mergeDescriptors(destination, source, overwrite = true) { + if (!destination) { + throw new TypeError("The `destination` argument is required."); + } + if (!source) { + throw new TypeError("The `source` argument is required."); + } + for (const name of Object.getOwnPropertyNames(source)) { + if (!overwrite && Object.hasOwn(destination, name)) { + continue; + } + const descriptor = Object.getOwnPropertyDescriptor(source, name); + Object.defineProperty(destination, name, descriptor); + } + return destination; + } + __name(mergeDescriptors, "mergeDescriptors"); + module.exports = mergeDescriptors; + } +}); + +// ../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js +var require_encodeurl = __commonJS({ + "../../node_modules/.pnpm/encodeurl@2.0.0/node_modules/encodeurl/index.js"(exports, module) { + "use strict"; + module.exports = encodeUrl; + var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g; + var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g; + var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1\uFFFD$2"; + function encodeUrl(url) { + return String(url).replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP, encodeURI); + } + __name(encodeUrl, "encodeUrl"); + } +}); + +// ../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js +var require_escape_html = __commonJS({ + "../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js"(exports, module) { + "use strict"; + var matchHtmlRegExp = /["'&<>]/; + module.exports = escapeHtml; + function escapeHtml(string) { + var str = "" + string; + var match = matchHtmlRegExp.exec(str); + if (!match) { + return str; + } + var escape2; + var html = ""; + var index = 0; + var lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escape2 = """; + break; + case 38: + escape2 = "&"; + break; + case 39: + escape2 = "'"; + break; + case 60: + escape2 = "<"; + break; + case 62: + escape2 = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + lastIndex = index + 1; + html += escape2; + } + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; + } + __name(escapeHtml, "escapeHtml"); + } +}); + +// ../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js +var require_parseurl = __commonJS({ + "../../node_modules/.pnpm/parseurl@1.3.3/node_modules/parseurl/index.js"(exports, module) { + "use strict"; + var url = __require("url"); + var parse = url.parse; + var Url = url.Url; + module.exports = parseurl; + module.exports.original = originalurl; + function parseurl(req) { + var url2 = req.url; + if (url2 === void 0) { + return void 0; + } + var parsed = req._parsedUrl; + if (fresh(url2, parsed)) { + return parsed; + } + parsed = fastparse(url2); + parsed._raw = url2; + return req._parsedUrl = parsed; + } + __name(parseurl, "parseurl"); + function originalurl(req) { + var url2 = req.originalUrl; + if (typeof url2 !== "string") { + return parseurl(req); + } + var parsed = req._parsedOriginalUrl; + if (fresh(url2, parsed)) { + return parsed; + } + parsed = fastparse(url2); + parsed._raw = url2; + return req._parsedOriginalUrl = parsed; + } + __name(originalurl, "originalurl"); + function fastparse(str) { + if (typeof str !== "string" || str.charCodeAt(0) !== 47) { + return parse(str); + } + var pathname = str; + var query = null; + var search = null; + for (var i = 1; i < str.length; i++) { + switch (str.charCodeAt(i)) { + case 63: + if (search === null) { + pathname = str.substring(0, i); + query = str.substring(i + 1); + search = str.substring(i); + } + break; + case 9: + /* \t */ + case 10: + /* \n */ + case 12: + /* \f */ + case 13: + /* \r */ + case 32: + /* */ + case 35: + /* # */ + case 160: + case 65279: + return parse(str); + } + } + var url2 = Url !== void 0 ? new Url() : {}; + url2.path = str; + url2.href = str; + url2.pathname = pathname; + if (search !== null) { + url2.query = query; + url2.search = search; + } + return url2; + } + __name(fastparse, "fastparse"); + function fresh(url2, parsedUrl) { + return typeof parsedUrl === "object" && parsedUrl !== null && (Url === void 0 || parsedUrl instanceof Url) && parsedUrl._raw === url2; + } + __name(fresh, "fresh"); + } +}); + +// ../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js +var require_finalhandler = __commonJS({ + "../../node_modules/.pnpm/finalhandler@2.1.1/node_modules/finalhandler/index.js"(exports, module) { + "use strict"; + var debug = require_src()("finalhandler"); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var onFinished = require_on_finished(); + var parseUrl = require_parseurl(); + var statuses = require_statuses(); + var isFinished = onFinished.isFinished; + function createHtmlDocument(message) { + var body = escapeHtml(message).replaceAll("\n", "<br>").replaceAll(" ", "  "); + return '<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="utf-8">\n<title>Error\n\n\n
' + body + "
\n\n\n"; + } + __name(createHtmlDocument, "createHtmlDocument"); + module.exports = finalhandler; + function finalhandler(req, res, options) { + var opts = options || {}; + var env = opts.env || process.env.NODE_ENV || "development"; + var onerror = opts.onerror; + return function(err) { + var headers; + var msg; + var status; + if (!err && res.headersSent) { + debug("cannot 404 after headers sent"); + return; + } + if (err) { + status = getErrorStatusCode(err); + if (status === void 0) { + status = getResponseStatusCode(res); + } else { + headers = getErrorHeaders(err); + } + msg = getErrorMessage(err, status, env); + } else { + status = 404; + msg = "Cannot " + req.method + " " + encodeUrl(getResourceName(req)); + } + debug("default %s", status); + if (err && onerror) { + setImmediate(onerror, err, req, res); + } + if (res.headersSent) { + debug("cannot %d after headers sent", status); + if (req.socket) { + req.socket.destroy(); + } + return; + } + send(req, res, status, headers, msg); + }; + } + __name(finalhandler, "finalhandler"); + function getErrorHeaders(err) { + if (!err.headers || typeof err.headers !== "object") { + return void 0; + } + return { ...err.headers }; + } + __name(getErrorHeaders, "getErrorHeaders"); + function getErrorMessage(err, status, env) { + var msg; + if (env !== "production") { + msg = err.stack; + if (!msg && typeof err.toString === "function") { + msg = err.toString(); + } + } + return msg || statuses.message[status]; + } + __name(getErrorMessage, "getErrorMessage"); + function getErrorStatusCode(err) { + if (typeof err.status === "number" && err.status >= 400 && err.status < 600) { + return err.status; + } + if (typeof err.statusCode === "number" && err.statusCode >= 400 && err.statusCode < 600) { + return err.statusCode; + } + return void 0; + } + __name(getErrorStatusCode, "getErrorStatusCode"); + function getResourceName(req) { + try { + return parseUrl.original(req).pathname; + } catch (e) { + return "resource"; + } + } + __name(getResourceName, "getResourceName"); + function getResponseStatusCode(res) { + var status = res.statusCode; + if (typeof status !== "number" || status < 400 || status > 599) { + status = 500; + } + return status; + } + __name(getResponseStatusCode, "getResponseStatusCode"); + function send(req, res, status, headers, message) { + function write() { + var body = createHtmlDocument(message); + res.statusCode = status; + if (req.httpVersionMajor < 2) { + res.statusMessage = statuses.message[status]; + } + res.removeHeader("Content-Encoding"); + res.removeHeader("Content-Language"); + res.removeHeader("Content-Range"); + for (const [key, value] of Object.entries(headers ?? {})) { + res.setHeader(key, value); + } + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Content-Type", "text/html; charset=utf-8"); + res.setHeader("Content-Length", Buffer.byteLength(body, "utf8")); + if (req.method === "HEAD") { + res.end(); + return; + } + res.end(body, "utf8"); + } + __name(write, "write"); + if (isFinished(req)) { + write(); + return; + } + req.unpipe(); + onFinished(req, write); + req.resume(); + } + __name(send, "send"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/view.js +var require_view = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/view.js"(exports, module) { + "use strict"; + var debug = require_src()("express:view"); + var path = __require("node:path"); + var fs = __require("node:fs"); + var dirname = path.dirname; + var basename = path.basename; + var extname = path.extname; + var join = path.join; + var resolve = path.resolve; + module.exports = View; + function View(name, options) { + var opts = options || {}; + this.defaultEngine = opts.defaultEngine; + this.ext = extname(name); + this.name = name; + this.root = opts.root; + if (!this.ext && !this.defaultEngine) { + throw new Error("No default engine was specified and no extension was provided."); + } + var fileName = name; + if (!this.ext) { + this.ext = this.defaultEngine[0] !== "." ? "." + this.defaultEngine : this.defaultEngine; + fileName += this.ext; + } + if (!opts.engines[this.ext]) { + var mod = this.ext.slice(1); + debug('require "%s"', mod); + var fn = __require(mod).__express; + if (typeof fn !== "function") { + throw new Error('Module "' + mod + '" does not provide a view engine.'); + } + opts.engines[this.ext] = fn; + } + this.engine = opts.engines[this.ext]; + this.path = this.lookup(fileName); + } + __name(View, "View"); + View.prototype.lookup = /* @__PURE__ */ __name(function lookup(name) { + var path2; + var roots = [].concat(this.root); + debug('lookup "%s"', name); + for (var i = 0; i < roots.length && !path2; i++) { + var root = roots[i]; + var loc = resolve(root, name); + var dir = dirname(loc); + var file = basename(loc); + path2 = this.resolve(dir, file); + } + return path2; + }, "lookup"); + View.prototype.render = /* @__PURE__ */ __name(function render(options, callback) { + var sync = true; + debug('render "%s"', this.path); + this.engine(this.path, options, /* @__PURE__ */ __name(function onRender() { + if (!sync) { + return callback.apply(this, arguments); + } + var args = new Array(arguments.length); + var cntx = this; + for (var i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } + return process.nextTick(/* @__PURE__ */ __name(function renderTick() { + return callback.apply(cntx, args); + }, "renderTick")); + }, "onRender")); + sync = false; + }, "render"); + View.prototype.resolve = /* @__PURE__ */ __name(function resolve2(dir, file) { + var ext = this.ext; + var path2 = join(dir, file); + var stat = tryStat(path2); + if (stat && stat.isFile()) { + return path2; + } + path2 = join(dir, basename(file, ext), "index" + ext); + stat = tryStat(path2); + if (stat && stat.isFile()) { + return path2; + } + }, "resolve"); + function tryStat(path2) { + debug('stat "%s"', path2); + try { + return fs.statSync(path2); + } catch (e) { + return void 0; + } + } + __name(tryStat, "tryStat"); + } +}); + +// ../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js +var require_etag = __commonJS({ + "../../node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports, module) { + "use strict"; + module.exports = etag; + var crypto = __require("crypto"); + var Stats = __require("fs").Stats; + var toString = Object.prototype.toString; + function entitytag(entity) { + if (entity.length === 0) { + return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"'; + } + var hash = crypto.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27); + var len = typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length; + return '"' + len.toString(16) + "-" + hash + '"'; + } + __name(entitytag, "entitytag"); + function etag(entity, options) { + if (entity == null) { + throw new TypeError("argument entity is required"); + } + var isStats = isstats(entity); + var weak = options && typeof options.weak === "boolean" ? options.weak : isStats; + if (!isStats && typeof entity !== "string" && !Buffer.isBuffer(entity)) { + throw new TypeError("argument entity must be string, Buffer, or fs.Stats"); + } + var tag = isStats ? stattag(entity) : entitytag(entity); + return weak ? "W/" + tag : tag; + } + __name(etag, "etag"); + function isstats(obj) { + if (typeof Stats === "function" && obj instanceof Stats) { + return true; + } + return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number"; + } + __name(isstats, "isstats"); + function stattag(stat) { + var mtime = stat.mtime.getTime().toString(16); + var size = stat.size.toString(16); + return '"' + size + "-" + mtime + '"'; + } + __name(stattag, "stattag"); + } +}); + +// ../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js +var require_forwarded = __commonJS({ + "../../node_modules/.pnpm/forwarded@0.2.0/node_modules/forwarded/index.js"(exports, module) { + "use strict"; + module.exports = forwarded; + function forwarded(req) { + if (!req) { + throw new TypeError("argument req is required"); + } + var proxyAddrs = parse(req.headers["x-forwarded-for"] || ""); + var socketAddr = getSocketAddr(req); + var addrs = [socketAddr].concat(proxyAddrs); + return addrs; + } + __name(forwarded, "forwarded"); + function getSocketAddr(req) { + return req.socket ? req.socket.remoteAddress : req.connection.remoteAddress; + } + __name(getSocketAddr, "getSocketAddr"); + function parse(header) { + var end = header.length; + var list = []; + var start = header.length; + for (var i = header.length - 1; i >= 0; i--) { + switch (header.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i; + } + break; + case 44: + if (start !== end) { + list.push(header.substring(start, end)); + } + start = end = i; + break; + default: + start = i; + break; + } + } + if (start !== end) { + list.push(header.substring(start, end)); + } + return list; + } + __name(parse, "parse"); + } +}); + +// ../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js +var require_ipaddr = __commonJS({ + "../../node_modules/.pnpm/ipaddr.js@1.9.1/node_modules/ipaddr.js/lib/ipaddr.js"(exports, module) { + (function() { + var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex; + ipaddr = {}; + root = this; + if (typeof module !== "undefined" && module !== null && module.exports) { + module.exports = ipaddr; + } else { + root["ipaddr"] = ipaddr; + } + matchCIDR = /* @__PURE__ */ __name(function(first, second, partSize, cidrBits) { + var part, shift; + if (first.length !== second.length) { + throw new Error("ipaddr: cannot match CIDR for objects with different lengths"); + } + part = 0; + while (cidrBits > 0) { + shift = partSize - cidrBits; + if (shift < 0) { + shift = 0; + } + if (first[part] >> shift !== second[part] >> shift) { + return false; + } + cidrBits -= partSize; + part += 1; + } + return true; + }, "matchCIDR"); + ipaddr.subnetMatch = function(address, rangeList, defaultName) { + var k, len, rangeName, rangeSubnets, subnet; + if (defaultName == null) { + defaultName = "unicast"; + } + for (rangeName in rangeList) { + rangeSubnets = rangeList[rangeName]; + if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) { + rangeSubnets = [rangeSubnets]; + } + for (k = 0, len = rangeSubnets.length; k < len; k++) { + subnet = rangeSubnets[k]; + if (address.kind() === subnet[0].kind()) { + if (address.match.apply(address, subnet)) { + return rangeName; + } + } + } + } + return defaultName; + }; + ipaddr.IPv4 = (function() { + function IPv4(octets) { + var k, len, octet; + if (octets.length !== 4) { + throw new Error("ipaddr: ipv4 octet count should be 4"); + } + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!(0 <= octet && octet <= 255)) { + throw new Error("ipaddr: ipv4 octet should fit in 8 bits"); + } + } + this.octets = octets; + } + __name(IPv4, "IPv4"); + IPv4.prototype.kind = function() { + return "ipv4"; + }; + IPv4.prototype.toString = function() { + return this.octets.join("."); + }; + IPv4.prototype.toNormalizedString = function() { + return this.toString(); + }; + IPv4.prototype.toByteArray = function() { + return this.octets.slice(0); + }; + IPv4.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== "ipv4") { + throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one"); + } + return matchCIDR(this.octets, other.octets, 8, cidrRange); + }; + IPv4.prototype.SpecialRanges = { + unspecified: [[new IPv4([0, 0, 0, 0]), 8]], + broadcast: [[new IPv4([255, 255, 255, 255]), 32]], + multicast: [[new IPv4([224, 0, 0, 0]), 4]], + linkLocal: [[new IPv4([169, 254, 0, 0]), 16]], + loopback: [[new IPv4([127, 0, 0, 0]), 8]], + carrierGradeNat: [[new IPv4([100, 64, 0, 0]), 10]], + "private": [[new IPv4([10, 0, 0, 0]), 8], [new IPv4([172, 16, 0, 0]), 12], [new IPv4([192, 168, 0, 0]), 16]], + reserved: [[new IPv4([192, 0, 0, 0]), 24], [new IPv4([192, 0, 2, 0]), 24], [new IPv4([192, 88, 99, 0]), 24], [new IPv4([198, 51, 100, 0]), 24], [new IPv4([203, 0, 113, 0]), 24], [new IPv4([240, 0, 0, 0]), 4]] + }; + IPv4.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + IPv4.prototype.toIPv4MappedAddress = function() { + return ipaddr.IPv6.parse("::ffff:" + this.toString()); + }; + IPv4.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, octet, stop, zeros, zerotable; + zerotable = { + 0: 8, + 128: 7, + 192: 6, + 224: 5, + 240: 4, + 248: 3, + 252: 2, + 254: 1, + 255: 0 + }; + cidr = 0; + stop = false; + for (i = k = 3; k >= 0; i = k += -1) { + octet = this.octets[i]; + if (octet in zerotable) { + zeros = zerotable[octet]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 8) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 32 - cidr; + }; + return IPv4; + })(); + ipv4Part = "(0?\\d+|0x[a-f0-9]+)"; + ipv4Regexes = { + fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", "i"), + longValue: new RegExp("^" + ipv4Part + "$", "i") + }; + ipaddr.IPv4.parser = function(string) { + var match, parseIntAuto, part, shift, value; + parseIntAuto = /* @__PURE__ */ __name(function(string2) { + if (string2[0] === "0" && string2[1] !== "x") { + return parseInt(string2, 8); + } else { + return parseInt(string2); + } + }, "parseIntAuto"); + if (match = string.match(ipv4Regexes.fourOctet)) { + return (function() { + var k, len, ref, results; + ref = match.slice(1, 6); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseIntAuto(part)); + } + return results; + })(); + } else if (match = string.match(ipv4Regexes.longValue)) { + value = parseIntAuto(match[1]); + if (value > 4294967295 || value < 0) { + throw new Error("ipaddr: address outside defined range"); + } + return (function() { + var k, results; + results = []; + for (shift = k = 0; k <= 24; shift = k += 8) { + results.push(value >> shift & 255); + } + return results; + })().reverse(); + } else { + return null; + } + }; + ipaddr.IPv6 = (function() { + function IPv6(parts, zoneId) { + var i, k, l, len, part, ref; + if (parts.length === 16) { + this.parts = []; + for (i = k = 0; k <= 14; i = k += 2) { + this.parts.push(parts[i] << 8 | parts[i + 1]); + } + } else if (parts.length === 8) { + this.parts = parts; + } else { + throw new Error("ipaddr: ipv6 part count should be 8 or 16"); + } + ref = this.parts; + for (l = 0, len = ref.length; l < len; l++) { + part = ref[l]; + if (!(0 <= part && part <= 65535)) { + throw new Error("ipaddr: ipv6 part should fit in 16 bits"); + } + } + if (zoneId) { + this.zoneId = zoneId; + } + } + __name(IPv6, "IPv6"); + IPv6.prototype.kind = function() { + return "ipv6"; + }; + IPv6.prototype.toString = function() { + return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, "::"); + }; + IPv6.prototype.toRFC5952String = function() { + var bestMatchIndex, bestMatchLength, match, regex, string; + regex = /((^|:)(0(:|$)){2,})/g; + string = this.toNormalizedString(); + bestMatchIndex = 0; + bestMatchLength = -1; + while (match = regex.exec(string)) { + if (match[0].length > bestMatchLength) { + bestMatchIndex = match.index; + bestMatchLength = match[0].length; + } + } + if (bestMatchLength < 0) { + return string; + } + return string.substring(0, bestMatchIndex) + "::" + string.substring(bestMatchIndex + bestMatchLength); + }; + IPv6.prototype.toByteArray = function() { + var bytes, k, len, part, ref; + bytes = []; + ref = this.parts; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + bytes.push(part >> 8); + bytes.push(part & 255); + } + return bytes; + }; + IPv6.prototype.toNormalizedString = function() { + var addr, part, suffix; + addr = (function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16)); + } + return results; + }).call(this).join(":"); + suffix = ""; + if (this.zoneId) { + suffix = "%" + this.zoneId; + } + return addr + suffix; + }; + IPv6.prototype.toFixedLengthString = function() { + var addr, part, suffix; + addr = (function() { + var k, len, ref, results; + ref = this.parts; + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(part.toString(16).padStart(4, "0")); + } + return results; + }).call(this).join(":"); + suffix = ""; + if (this.zoneId) { + suffix = "%" + this.zoneId; + } + return addr + suffix; + }; + IPv6.prototype.match = function(other, cidrRange) { + var ref; + if (cidrRange === void 0) { + ref = other, other = ref[0], cidrRange = ref[1]; + } + if (other.kind() !== "ipv6") { + throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one"); + } + return matchCIDR(this.parts, other.parts, 16, cidrRange); + }; + IPv6.prototype.SpecialRanges = { + unspecified: [new IPv6([0, 0, 0, 0, 0, 0, 0, 0]), 128], + linkLocal: [new IPv6([65152, 0, 0, 0, 0, 0, 0, 0]), 10], + multicast: [new IPv6([65280, 0, 0, 0, 0, 0, 0, 0]), 8], + loopback: [new IPv6([0, 0, 0, 0, 0, 0, 0, 1]), 128], + uniqueLocal: [new IPv6([64512, 0, 0, 0, 0, 0, 0, 0]), 7], + ipv4Mapped: [new IPv6([0, 0, 0, 0, 0, 65535, 0, 0]), 96], + rfc6145: [new IPv6([0, 0, 0, 0, 65535, 0, 0, 0]), 96], + rfc6052: [new IPv6([100, 65435, 0, 0, 0, 0, 0, 0]), 96], + "6to4": [new IPv6([8194, 0, 0, 0, 0, 0, 0, 0]), 16], + teredo: [new IPv6([8193, 0, 0, 0, 0, 0, 0, 0]), 32], + reserved: [[new IPv6([8193, 3512, 0, 0, 0, 0, 0, 0]), 32]] + }; + IPv6.prototype.range = function() { + return ipaddr.subnetMatch(this, this.SpecialRanges); + }; + IPv6.prototype.isIPv4MappedAddress = function() { + return this.range() === "ipv4Mapped"; + }; + IPv6.prototype.toIPv4Address = function() { + var high, low, ref; + if (!this.isIPv4MappedAddress()) { + throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4"); + } + ref = this.parts.slice(-2), high = ref[0], low = ref[1]; + return new ipaddr.IPv4([high >> 8, high & 255, low >> 8, low & 255]); + }; + IPv6.prototype.prefixLengthFromSubnetMask = function() { + var cidr, i, k, part, stop, zeros, zerotable; + zerotable = { + 0: 16, + 32768: 15, + 49152: 14, + 57344: 13, + 61440: 12, + 63488: 11, + 64512: 10, + 65024: 9, + 65280: 8, + 65408: 7, + 65472: 6, + 65504: 5, + 65520: 4, + 65528: 3, + 65532: 2, + 65534: 1, + 65535: 0 + }; + cidr = 0; + stop = false; + for (i = k = 7; k >= 0; i = k += -1) { + part = this.parts[i]; + if (part in zerotable) { + zeros = zerotable[part]; + if (stop && zeros !== 0) { + return null; + } + if (zeros !== 16) { + stop = true; + } + cidr += zeros; + } else { + return null; + } + } + return 128 - cidr; + }; + return IPv6; + })(); + ipv6Part = "(?:[0-9a-f]+::?)+"; + zoneIndex = "%[0-9a-z]{1,}"; + ipv6Regexes = { + zoneIndex: new RegExp(zoneIndex, "i"), + "native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", "i"), + transitional: new RegExp("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)" + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), "i") + }; + expandIPv6 = /* @__PURE__ */ __name(function(string, parts) { + var colonCount, lastColon, part, replacement, replacementCount, zoneId; + if (string.indexOf("::") !== string.lastIndexOf("::")) { + return null; + } + zoneId = (string.match(ipv6Regexes["zoneIndex"]) || [])[0]; + if (zoneId) { + zoneId = zoneId.substring(1); + string = string.replace(/%.+$/, ""); + } + colonCount = 0; + lastColon = -1; + while ((lastColon = string.indexOf(":", lastColon + 1)) >= 0) { + colonCount++; + } + if (string.substr(0, 2) === "::") { + colonCount--; + } + if (string.substr(-2, 2) === "::") { + colonCount--; + } + if (colonCount > parts) { + return null; + } + replacementCount = parts - colonCount; + replacement = ":"; + while (replacementCount--) { + replacement += "0:"; + } + string = string.replace("::", replacement); + if (string[0] === ":") { + string = string.slice(1); + } + if (string[string.length - 1] === ":") { + string = string.slice(0, -1); + } + parts = (function() { + var k, len, ref, results; + ref = string.split(":"); + results = []; + for (k = 0, len = ref.length; k < len; k++) { + part = ref[k]; + results.push(parseInt(part, 16)); + } + return results; + })(); + return { + parts, + zoneId + }; + }, "expandIPv6"); + ipaddr.IPv6.parser = function(string) { + var addr, k, len, match, octet, octets, zoneId; + if (ipv6Regexes["native"].test(string)) { + return expandIPv6(string, 8); + } else if (match = string.match(ipv6Regexes["transitional"])) { + zoneId = match[6] || ""; + addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6); + if (addr.parts) { + octets = [parseInt(match[2]), parseInt(match[3]), parseInt(match[4]), parseInt(match[5])]; + for (k = 0, len = octets.length; k < len; k++) { + octet = octets[k]; + if (!(0 <= octet && octet <= 255)) { + return null; + } + } + addr.parts.push(octets[0] << 8 | octets[1]); + addr.parts.push(octets[2] << 8 | octets[3]); + return { + parts: addr.parts, + zoneId: addr.zoneId + }; + } + } + return null; + }; + ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = function(string) { + return this.parser(string) !== null; + }; + ipaddr.IPv4.isValid = function(string) { + var e; + try { + new this(this.parser(string)); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + ipaddr.IPv4.isValidFourPartDecimal = function(string) { + if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/)) { + return true; + } else { + return false; + } + }; + ipaddr.IPv6.isValid = function(string) { + var addr, e; + if (typeof string === "string" && string.indexOf(":") === -1) { + return false; + } + try { + addr = this.parser(string); + new this(addr.parts, addr.zoneId); + return true; + } catch (error1) { + e = error1; + return false; + } + }; + ipaddr.IPv4.parse = function(string) { + var parts; + parts = this.parser(string); + if (parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(parts); + }; + ipaddr.IPv6.parse = function(string) { + var addr; + addr = this.parser(string); + if (addr.parts === null) { + throw new Error("ipaddr: string is not formatted like ip address"); + } + return new this(addr.parts, addr.zoneId); + }; + ipaddr.IPv4.parseCIDR = function(string) { + var maskLength, match, parsed; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 32) { + parsed = [this.parse(match[1]), maskLength]; + Object.defineProperty(parsed, "toString", { + value: /* @__PURE__ */ __name(function() { + return this.join("/"); + }, "value") + }); + return parsed; + } + } + throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range"); + }; + ipaddr.IPv4.subnetMaskFromPrefixLength = function(prefix) { + var filledOctetCount, j, octets; + prefix = parseInt(prefix); + if (prefix < 0 || prefix > 32) { + throw new Error("ipaddr: invalid IPv4 prefix length"); + } + octets = [0, 0, 0, 0]; + j = 0; + filledOctetCount = Math.floor(prefix / 8); + while (j < filledOctetCount) { + octets[j] = 255; + j++; + } + if (filledOctetCount < 4) { + octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - prefix % 8; + } + return new this(octets); + }; + ipaddr.IPv4.broadcastAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error("ipaddr: the address does not have IPv4 CIDR format"); + } + }; + ipaddr.IPv4.networkAddressFromCIDR = function(string) { + var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets; + try { + cidr = this.parseCIDR(string); + ipInterfaceOctets = cidr[0].toByteArray(); + subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray(); + octets = []; + i = 0; + while (i < 4) { + octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10)); + i++; + } + return new this(octets); + } catch (error1) { + error = error1; + throw new Error("ipaddr: the address does not have IPv4 CIDR format"); + } + }; + ipaddr.IPv6.parseCIDR = function(string) { + var maskLength, match, parsed; + if (match = string.match(/^(.+)\/(\d+)$/)) { + maskLength = parseInt(match[2]); + if (maskLength >= 0 && maskLength <= 128) { + parsed = [this.parse(match[1]), maskLength]; + Object.defineProperty(parsed, "toString", { + value: /* @__PURE__ */ __name(function() { + return this.join("/"); + }, "value") + }); + return parsed; + } + } + throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range"); + }; + ipaddr.isValid = function(string) { + return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string); + }; + ipaddr.parse = function(string) { + if (ipaddr.IPv6.isValid(string)) { + return ipaddr.IPv6.parse(string); + } else if (ipaddr.IPv4.isValid(string)) { + return ipaddr.IPv4.parse(string); + } else { + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format"); + } + }; + ipaddr.parseCIDR = function(string) { + var e; + try { + return ipaddr.IPv6.parseCIDR(string); + } catch (error1) { + e = error1; + try { + return ipaddr.IPv4.parseCIDR(string); + } catch (error12) { + e = error12; + throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format"); + } + } + }; + ipaddr.fromByteArray = function(bytes) { + var length; + length = bytes.length; + if (length === 4) { + return new ipaddr.IPv4(bytes); + } else if (length === 16) { + return new ipaddr.IPv6(bytes); + } else { + throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address"); + } + }; + ipaddr.process = function(string) { + var addr; + addr = this.parse(string); + if (addr.kind() === "ipv6" && addr.isIPv4MappedAddress()) { + return addr.toIPv4Address(); + } else { + return addr; + } + }; + }).call(exports); + } +}); + +// ../../node_modules/.pnpm/proxy-addr@2.0.8/node_modules/proxy-addr/index.js +var require_proxy_addr = __commonJS({ + "../../node_modules/.pnpm/proxy-addr@2.0.8/node_modules/proxy-addr/index.js"(exports, module) { + "use strict"; + module.exports = proxyaddr; + module.exports.all = alladdrs; + module.exports.compile = compile; + var forwarded = require_forwarded(); + var ipaddr = require_ipaddr(); + var DIGIT_REGEXP = /^[0-9]+$/; + var isip = ipaddr.isValid; + var parseip = ipaddr.parse; + var IP_RANGES = { + linklocal: ["169.254.0.0/16", "fe80::/10"], + loopback: ["127.0.0.1/8", "::1/128"], + uniquelocal: ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "fc00::/7"] + }; + function alladdrs(req, trust) { + var addrs = forwarded(req); + if (!trust) { + return addrs; + } + if (typeof trust !== "function") { + trust = compile(trust); + } + for (var i = 0; i < addrs.length - 1; i++) { + if (trust(addrs[i], i)) continue; + addrs.length = i + 1; + } + return addrs; + } + __name(alladdrs, "alladdrs"); + function compile(val) { + if (!val) { + throw new TypeError("argument is required"); + } + var trust; + if (typeof val === "string") { + trust = [val]; + } else if (Array.isArray(val)) { + trust = val.slice(); + } else { + throw new TypeError("unsupported trust argument"); + } + for (var i = 0; i < trust.length; i++) { + val = trust[i]; + if (!Object.prototype.hasOwnProperty.call(IP_RANGES, val)) { + continue; + } + val = IP_RANGES[val]; + trust.splice.apply(trust, [i, 1].concat(val)); + i += val.length - 1; + } + return compileTrust(compileRangeSubnets(trust)); + } + __name(compile, "compile"); + function compileRangeSubnets(arr) { + var rangeSubnets = new Array(arr.length); + for (var i = 0; i < arr.length; i++) { + rangeSubnets[i] = parseipNotation(arr[i]); + } + return rangeSubnets; + } + __name(compileRangeSubnets, "compileRangeSubnets"); + function compileTrust(rangeSubnets) { + var len = rangeSubnets.length; + return len === 0 ? trustNone : len === 1 ? trustSingle(rangeSubnets[0]) : trustMulti(rangeSubnets); + } + __name(compileTrust, "compileTrust"); + function parseipNotation(note) { + var pos = note.lastIndexOf("/"); + var str = pos !== -1 ? note.substring(0, pos) : note; + if (!isip(str)) { + throw new TypeError("invalid IP address: " + str); + } + var ip = parseip(str); + if (pos === -1 && ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) { + ip = ip.toIPv4Address(); + } + var max = ip.kind() === "ipv6" ? 128 : 32; + var range = pos !== -1 ? note.substring(pos + 1, note.length) : null; + if (range === null) { + range = max; + } else if (DIGIT_REGEXP.test(range)) { + range = parseInt(range, 10); + } else if (ip.kind() === "ipv4" && isip(range)) { + range = parseNetmask(range); + } else { + range = null; + } + if (range <= 0 || range > max) { + throw new TypeError("invalid range on address: " + note); + } + return [ip, range]; + } + __name(parseipNotation, "parseipNotation"); + function parseNetmask(netmask) { + var ip = parseip(netmask); + var kind = ip.kind(); + return kind === "ipv4" ? ip.prefixLengthFromSubnetMask() : null; + } + __name(parseNetmask, "parseNetmask"); + function proxyaddr(req, trust) { + if (!req) { + throw new TypeError("req argument is required"); + } + if (!trust) { + throw new TypeError("trust argument is required"); + } + var addrs = alladdrs(req, trust); + var addr = addrs[addrs.length - 1]; + return addr; + } + __name(proxyaddr, "proxyaddr"); + function trustNone() { + return false; + } + __name(trustNone, "trustNone"); + function trustMulti(subnets) { + return /* @__PURE__ */ __name(function trust(addr) { + if (!isip(addr)) return false; + var ip = parseip(addr); + if (ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) { + ip = ip.toIPv4Address(); + } + var ipconv; + var kind = ip.kind(); + for (var i = 0; i < subnets.length; i++) { + var subnet = subnets[i]; + var subnetip = subnet[0]; + var subnetkind = subnetip.kind(); + var subnetrange = subnet[1]; + var trusted = ip; + if (kind !== subnetkind) { + if (subnetkind === "ipv4" && !ip.isIPv4MappedAddress()) { + continue; + } + if (subnetkind !== "ipv4" && !(subnetrange >= 96 && subnetip.isIPv4MappedAddress())) { + continue; + } + if (!ipconv) { + ipconv = subnetkind === "ipv4" ? ip.toIPv4Address() : ip.toIPv4MappedAddress(); + } + trusted = ipconv; + } else if (kind === "ipv6" && subnetip.isIPv4MappedAddress()) { + continue; + } + if (trusted.match(subnetip, subnetrange)) { + return true; + } + } + return false; + }, "trust"); + } + __name(trustMulti, "trustMulti"); + function trustSingle(subnet) { + var subnetip = subnet[0]; + var subnetkind = subnetip.kind(); + var subnetisipv4 = subnetkind === "ipv4"; + var subnetrange = subnet[1]; + return /* @__PURE__ */ __name(function trust(addr) { + if (!isip(addr)) return false; + var ip = parseip(addr); + if (ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) { + ip = ip.toIPv4Address(); + } + var kind = ip.kind(); + if (kind !== subnetkind) { + if (subnetisipv4 && !ip.isIPv4MappedAddress()) { + return false; + } + if (!subnetisipv4 && !(subnetrange >= 96 && subnetip.isIPv4MappedAddress())) { + return false; + } + ip = subnetisipv4 ? ip.toIPv4Address() : ip.toIPv4MappedAddress(); + } else if (kind === "ipv6" && subnetip.isIPv4MappedAddress()) { + return false; + } + return ip.match(subnetip, subnetrange); + }, "trust"); + } + __name(trustSingle, "trustSingle"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/utils.js +var require_utils3 = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/utils.js"(exports) { + "use strict"; + var { METHODS } = __require("node:http"); + var contentType = require_dist(); + var etag = require_etag(); + var mime = require_mime_types(); + var proxyaddr = require_proxy_addr(); + var qs = require_lib4(); + var querystring = __require("node:querystring"); + var { Buffer: Buffer2 } = __require("node:buffer"); + exports.methods = METHODS.map((method) => method.toLowerCase()); + exports.etag = createETagGenerator({ weak: false }); + exports.wetag = createETagGenerator({ weak: true }); + exports.normalizeType = function(type) { + return ~type.indexOf("/") ? acceptParams(type) : { value: mime.lookup(type) || "application/octet-stream", params: {} }; + }; + exports.normalizeTypes = function(types) { + return types.map(exports.normalizeType); + }; + function acceptParams(str) { + var length = str.length; + var colonIndex = str.indexOf(";"); + var index = colonIndex === -1 ? length : colonIndex; + var ret = { value: str.slice(0, index).trim(), quality: 1, params: {} }; + while (index < length) { + var splitIndex = str.indexOf("=", index); + if (splitIndex === -1) break; + var colonIndex = str.indexOf(";", index); + var endIndex = colonIndex === -1 ? length : colonIndex; + if (splitIndex > endIndex) { + index = str.lastIndexOf(";", splitIndex - 1) + 1; + continue; + } + var key = str.slice(index, splitIndex).trim(); + var value = str.slice(splitIndex + 1, endIndex).trim(); + if (key === "q") { + ret.quality = parseFloat(value); + } else { + ret.params[key] = value; + } + index = endIndex + 1; + } + return ret; + } + __name(acceptParams, "acceptParams"); + exports.compileETag = function(val) { + var fn; + if (typeof val === "function") { + return val; + } + switch (val) { + case true: + case "weak": + fn = exports.wetag; + break; + case false: + break; + case "strong": + fn = exports.etag; + break; + default: + throw new TypeError("unknown value for etag function: " + val); + } + return fn; + }; + exports.compileQueryParser = /* @__PURE__ */ __name(function compileQueryParser(val) { + var fn; + if (typeof val === "function") { + return val; + } + switch (val) { + case true: + case "simple": + fn = querystring.parse; + break; + case false: + break; + case "extended": + fn = parseExtendedQueryString; + break; + default: + throw new TypeError("unknown value for query parser function: " + val); + } + return fn; + }, "compileQueryParser"); + exports.compileTrust = function(val) { + if (typeof val === "function") return val; + if (val === true) { + return function() { + return true; + }; + } + if (typeof val === "number") { + return function(a, i) { + return i < val; + }; + } + if (typeof val === "string") { + val = val.split(",").map(function(v) { + return v.trim(); + }); + } + return proxyaddr.compile(val || []); + }; + exports.setCharset = /* @__PURE__ */ __name(function setCharset(type, charset) { + if (!type || !charset) { + return type; + } + var parsed = contentType.parse(type); + parsed.parameters.charset = charset; + return contentType.format(parsed); + }, "setCharset"); + function createETagGenerator(options) { + return /* @__PURE__ */ __name(function generateETag(body, encoding) { + var buf = !Buffer2.isBuffer(body) ? Buffer2.from(body, encoding) : body; + return etag(buf, options); + }, "generateETag"); + } + __name(createETagGenerator, "createETagGenerator"); + function parseExtendedQueryString(str) { + return qs.parse(str, { + allowPrototypes: true + }); + } + __name(parseExtendedQueryString, "parseExtendedQueryString"); + } +}); + +// ../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js +var require_wrappy = __commonJS({ + "../../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports, module) { + module.exports = wrappy; + function wrappy(fn, cb) { + if (fn && cb) return wrappy(fn)(cb); + if (typeof fn !== "function") + throw new TypeError("need wrapper function"); + Object.keys(fn).forEach(function(k) { + wrapper[k] = fn[k]; + }); + return wrapper; + function wrapper() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + var ret = fn.apply(this, args); + var cb2 = args[args.length - 1]; + if (typeof ret === "function" && ret !== cb2) { + Object.keys(cb2).forEach(function(k) { + ret[k] = cb2[k]; + }); + } + return ret; + } + __name(wrapper, "wrapper"); + } + __name(wrappy, "wrappy"); + } +}); + +// ../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js +var require_once = __commonJS({ + "../../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports, module) { + var wrappy = require_wrappy(); + module.exports = wrappy(once); + module.exports.strict = wrappy(onceStrict); + once.proto = once(function() { + Object.defineProperty(Function.prototype, "once", { + value: /* @__PURE__ */ __name(function() { + return once(this); + }, "value"), + configurable: true + }); + Object.defineProperty(Function.prototype, "onceStrict", { + value: /* @__PURE__ */ __name(function() { + return onceStrict(this); + }, "value"), + configurable: true + }); + }); + function once(fn) { + var f = /* @__PURE__ */ __name(function() { + if (f.called) return f.value; + f.called = true; + return f.value = fn.apply(this, arguments); + }, "f"); + f.called = false; + return f; + } + __name(once, "once"); + function onceStrict(fn) { + var f = /* @__PURE__ */ __name(function() { + if (f.called) + throw new Error(f.onceError); + f.called = true; + return f.value = fn.apply(this, arguments); + }, "f"); + var name = fn.name || "Function wrapped with `once`"; + f.onceError = name + " shouldn't be called more than once"; + f.called = false; + return f; + } + __name(onceStrict, "onceStrict"); + } +}); + +// ../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js +var require_is_promise = __commonJS({ + "../../node_modules/.pnpm/is-promise@4.0.0/node_modules/is-promise/index.js"(exports, module) { + module.exports = isPromise; + module.exports.default = isPromise; + function isPromise(obj) { + return !!obj && (typeof obj === "object" || typeof obj === "function") && typeof obj.then === "function"; + } + __name(isPromise, "isPromise"); + } +}); + +// ../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js +var require_dist2 = __commonJS({ + "../../node_modules/.pnpm/path-to-regexp@8.4.2/node_modules/path-to-regexp/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.PathError = exports.TokenData = void 0; + exports.parse = parse; + exports.compile = compile; + exports.match = match; + exports.pathToRegexp = pathToRegexp7; + exports.stringify = stringify2; + var DEFAULT_DELIMITER = "/"; + var NOOP_VALUE = /* @__PURE__ */ __name((value) => value, "NOOP_VALUE"); + var ID_START = /^[$_\p{ID_Start}]$/u; + var ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u; + var ID = /^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u; + function escapeText(str) { + return str.replace(/[{}()\[\]+?!:*\\]/g, "\\$&"); + } + __name(escapeText, "escapeText"); + function escape2(str) { + return str.replace(/[.+*?^${}()[\]|/\\]/g, "\\$&"); + } + __name(escape2, "escape"); + var TokenData = class { + static { + __name(this, "TokenData"); + } + constructor(tokens, originalPath) { + this.tokens = tokens; + this.originalPath = originalPath; + } + }; + exports.TokenData = TokenData; + var PathError = class extends TypeError { + static { + __name(this, "PathError"); + } + constructor(message, originalPath) { + let text = message; + if (originalPath) + text += `: ${originalPath}`; + text += `; visit https://git.new/pathToRegexpError for info`; + super(text); + this.originalPath = originalPath; + } + }; + exports.PathError = PathError; + function parse(str, options = {}) { + const { encodePath = NOOP_VALUE } = options; + const chars = [...str]; + let index = 0; + function consumeUntil(end) { + const output = []; + let path = ""; + function writePath() { + if (!path) + return; + output.push({ + type: "text", + value: encodePath(path) + }); + path = ""; + } + __name(writePath, "writePath"); + while (index < chars.length) { + const value = chars[index++]; + if (value === end) { + writePath(); + return output; + } + if (value === "\\") { + if (index === chars.length) { + throw new PathError(`Unexpected end after \\ at index ${index}`, str); + } + path += chars[index++]; + continue; + } + if (value === ":" || value === "*") { + const type = value === ":" ? "param" : "wildcard"; + let name = ""; + if (ID_START.test(chars[index])) { + do { + name += chars[index++]; + } while (ID_CONTINUE.test(chars[index])); + } else if (chars[index] === '"') { + let quoteStart = index; + while (index < chars.length) { + if (chars[++index] === '"') { + index++; + quoteStart = 0; + break; + } + if (chars[index] === "\\") + index++; + name += chars[index]; + } + if (quoteStart) { + throw new PathError(`Unterminated quote at index ${quoteStart}`, str); + } + } + if (!name) { + throw new PathError(`Missing parameter name at index ${index}`, str); + } + writePath(); + output.push({ type, name }); + continue; + } + if (value === "{") { + writePath(); + output.push({ + type: "group", + tokens: consumeUntil("}") + }); + continue; + } + if (value === "}" || value === "(" || value === ")" || value === "[" || value === "]" || value === "+" || value === "?" || value === "!") { + throw new PathError(`Unexpected ${value} at index ${index - 1}`, str); + } + path += value; + } + if (end) { + throw new PathError(`Unexpected end at index ${index}, expected ${end}`, str); + } + writePath(); + return output; + } + __name(consumeUntil, "consumeUntil"); + return new TokenData(consumeUntil(""), str); + } + __name(parse, "parse"); + function compile(path, options = {}) { + const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const data = typeof path === "object" ? path : parse(path, options); + const fn = tokensToFunction(data.tokens, delimiter, encode); + return /* @__PURE__ */ __name(function path2(params = {}) { + const missing = []; + const path3 = fn(params, missing); + if (missing.length) { + throw new TypeError(`Missing parameters: ${missing.join(", ")}`); + } + return path3; + }, "path"); + } + __name(compile, "compile"); + function tokensToFunction(tokens, delimiter, encode) { + const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode)); + return (data, missing) => { + let result = ""; + for (const encoder of encoders) { + result += encoder(data, missing); + } + return result; + }; + } + __name(tokensToFunction, "tokensToFunction"); + function tokenToFunction(token, delimiter, encode) { + if (token.type === "text") + return () => token.value; + if (token.type === "group") { + const fn = tokensToFunction(token.tokens, delimiter, encode); + return (data, missing) => { + const len = missing.length; + const value = fn(data, missing); + if (missing.length === len) + return value; + missing.length = len; + return ""; + }; + } + const encodeValue = encode || NOOP_VALUE; + if (token.type === "wildcard" && encode !== false) { + return (data, missing) => { + const value = data[token.name]; + if (value == null) { + missing.push(token.name); + return ""; + } + if (!Array.isArray(value) || value.length === 0) { + throw new TypeError(`Expected "${token.name}" to be a non-empty array`); + } + let result = ""; + for (let i = 0; i < value.length; i++) { + if (typeof value[i] !== "string") { + throw new TypeError(`Expected "${token.name}/${i}" to be a string`); + } + if (i > 0) + result += delimiter; + result += encodeValue(value[i]); + } + return result; + }; + } + return (data, missing) => { + const value = data[token.name]; + if (value == null) { + missing.push(token.name); + return ""; + } + if (typeof value !== "string") { + throw new TypeError(`Expected "${token.name}" to be a string`); + } + return encodeValue(value); + }; + } + __name(tokenToFunction, "tokenToFunction"); + function match(path, options = {}) { + const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const { regexp, keys } = pathToRegexp7(path, options); + const decoders = keys.map((key) => { + if (decode === false) + return NOOP_VALUE; + if (key.type === "param") + return decode; + return (value) => value.split(delimiter).map(decode); + }); + return /* @__PURE__ */ __name(function match2(input) { + const m = regexp.exec(input); + if (!m) + return false; + const path2 = m[0]; + const params = /* @__PURE__ */ Object.create(null); + for (let i = 1; i < m.length; i++) { + if (m[i] === void 0) + continue; + const key = keys[i - 1]; + const decoder = decoders[i - 1]; + params[key.name] = decoder(m[i]); + } + return { path: path2, params }; + }, "match"); + } + __name(match, "match"); + function pathToRegexp7(path, options = {}) { + const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true } = options; + const keys = []; + let source = ""; + let combinations = 0; + function process2(path2) { + if (Array.isArray(path2)) { + for (const p of path2) + process2(p); + return; + } + const data = typeof path2 === "object" ? path2 : parse(path2, options); + flatten2(data.tokens, 0, [], (tokens) => { + if (combinations >= 256) { + throw new PathError("Too many path combinations", data.originalPath); + } + if (combinations > 0) + source += "|"; + source += toRegExpSource(tokens, delimiter, keys, data.originalPath); + combinations++; + }); + } + __name(process2, "process"); + process2(path); + let pattern = `^(?:${source})`; + if (trailing) + pattern += "(?:" + escape2(delimiter) + "$)?"; + pattern += end ? "$" : "(?=" + escape2(delimiter) + "|$)"; + return { regexp: new RegExp(pattern, sensitive ? "" : "i"), keys }; + } + __name(pathToRegexp7, "pathToRegexp"); + function flatten2(tokens, index, result, callback) { + while (index < tokens.length) { + const token = tokens[index++]; + if (token.type === "group") { + const len = result.length; + flatten2(token.tokens, 0, result, (seq) => flatten2(tokens, index, seq, callback)); + result.length = len; + continue; + } + result.push(token); + } + callback(result); + } + __name(flatten2, "flatten"); + function toRegExpSource(tokens, delimiter, keys, originalPath) { + let result = ""; + let backtrack = ""; + let wildcardBacktrack = ""; + let prevCaptureType = 0; + let hasSegmentCapture = 0; + let index = 0; + function hasInSegment(index2, type) { + while (index2 < tokens.length) { + const token = tokens[index2++]; + if (token.type === type) + return true; + if (token.type === "text") { + if (token.value.includes(delimiter)) + break; + } + } + return false; + } + __name(hasInSegment, "hasInSegment"); + function peekText(index2) { + let result2 = ""; + while (index2 < tokens.length) { + const token = tokens[index2++]; + if (token.type !== "text") + break; + result2 += token.value; + } + return result2; + } + __name(peekText, "peekText"); + while (index < tokens.length) { + const token = tokens[index++]; + if (token.type === "text") { + result += escape2(token.value); + backtrack += token.value; + if (prevCaptureType === 2) + wildcardBacktrack += token.value; + if (token.value.includes(delimiter)) + hasSegmentCapture = 0; + continue; + } + if (token.type === "param" || token.type === "wildcard") { + if (prevCaptureType && !backtrack) { + throw new PathError(`Missing text before "${token.name}" ${token.type}`, originalPath); + } + if (token.type === "param") { + result += hasSegmentCapture & 2 ? `(${negate(delimiter, backtrack)}+)` : hasInSegment(index, "wildcard") ? `(${negate(delimiter, peekText(index))}+)` : hasSegmentCapture & 1 ? `(${negate(delimiter, backtrack)}+|${escape2(backtrack)})` : `(${negate(delimiter, "")}+)`; + hasSegmentCapture |= prevCaptureType = 1; + } else { + result += hasSegmentCapture & 2 ? `(${negate(backtrack, "")}+)` : wildcardBacktrack ? `(${negate(wildcardBacktrack, "")}+|${negate(delimiter, "")}+)` : `([^]+)`; + wildcardBacktrack = ""; + hasSegmentCapture |= prevCaptureType = 2; + } + keys.push(token); + backtrack = ""; + continue; + } + throw new TypeError(`Unknown token type: ${token.type}`); + } + return result; + } + __name(toRegExpSource, "toRegExpSource"); + function negate(a, b) { + if (b.length > a.length) + return negate(b, a); + if (a === b) + b = ""; + if (b.length > 1) + return `(?:(?!${escape2(a)}|${escape2(b)})[^])`; + if (a.length > 1) + return `(?:(?!${escape2(a)})[^${escape2(b)}])`; + return `[^${escape2(a + b)}]`; + } + __name(negate, "negate"); + function stringifyTokens(tokens, index) { + let value = ""; + while (index < tokens.length) { + const token = tokens[index++]; + if (token.type === "text") { + value += escapeText(token.value); + continue; + } + if (token.type === "group") { + value += "{" + stringifyTokens(token.tokens, 0) + "}"; + continue; + } + if (token.type === "param") { + value += ":" + stringifyName(token.name, tokens[index]); + continue; + } + if (token.type === "wildcard") { + value += "*" + stringifyName(token.name, tokens[index]); + continue; + } + throw new TypeError(`Unknown token type: ${token.type}`); + } + return value; + } + __name(stringifyTokens, "stringifyTokens"); + function stringify2(data) { + return stringifyTokens(data.tokens, 0); + } + __name(stringify2, "stringify"); + function stringifyName(name, next) { + if (!ID.test(name)) + return JSON.stringify(name); + if ((next === null || next === void 0 ? void 0 : next.type) === "text" && ID_CONTINUE.test(next.value[0])) { + return JSON.stringify(name); + } + return name; + } + __name(stringifyName, "stringifyName"); + } +}); + +// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js +var require_layer = __commonJS({ + "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js"(exports, module) { + "use strict"; + var isPromise = require_is_promise(); + var pathRegexp = require_dist2(); + var debug = require_src()("router:layer"); + var deprecate = require_depd()("router"); + var TRAILING_SLASH_REGEXP = /\/+$/; + var MATCHING_GROUP_REGEXP = /\((?:\?<(.*?)>)?(?!\?)/g; + module.exports = Layer; + function Layer(path, options, fn) { + if (!(this instanceof Layer)) { + return new Layer(path, options, fn); + } + debug("new %o", path); + const opts = options || {}; + this.handle = fn; + this.keys = []; + this.name = fn.name || ""; + this.params = void 0; + this.path = void 0; + this.slash = path === "/" && opts.end === false; + function matcher(_path) { + if (_path instanceof RegExp) { + const keys = []; + let name = 0; + let m; + while (m = MATCHING_GROUP_REGEXP.exec(_path.source)) { + keys.push({ + name: m[1] || name++, + offset: m.index + }); + } + return /* @__PURE__ */ __name(function regexpMatcher(p) { + const match = _path.exec(p); + if (!match) { + return false; + } + const params = {}; + for (let i = 1; i < match.length; i++) { + const key = keys[i - 1]; + const prop = key.name; + const val = decodeParam(match[i]); + if (val !== void 0) { + params[prop] = val; + } + } + return { + params, + path: match[0] + }; + }, "regexpMatcher"); + } + return pathRegexp.match(opts.strict ? _path : loosen(_path), { + sensitive: opts.sensitive, + end: opts.end, + trailing: !opts.strict, + decode: decodeParam + }); + } + __name(matcher, "matcher"); + this.matchers = Array.isArray(path) ? path.map(matcher) : [matcher(path)]; + } + __name(Layer, "Layer"); + Layer.prototype.handleError = /* @__PURE__ */ __name(function handleError(error, req, res, next) { + const fn = this.handle; + if (fn.length !== 4) { + return next(error); + } + try { + const ret = fn(error, req, res, next); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("handlers that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error2) { + next(error2 || new Error("Rejected promise")); + }); + } + } catch (err) { + next(err); + } + }, "handleError"); + Layer.prototype.handleRequest = /* @__PURE__ */ __name(function handleRequest(req, res, next) { + const fn = this.handle; + if (fn.length > 3) { + return next(); + } + try { + const ret = fn(req, res, next); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("handlers that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error) { + next(error || new Error("Rejected promise")); + }); + } + } catch (err) { + next(err); + } + }, "handleRequest"); + Layer.prototype.match = /* @__PURE__ */ __name(function match(path) { + let match2; + if (path != null) { + if (this.slash) { + this.params = {}; + this.path = ""; + return true; + } + let i = 0; + while (!match2 && i < this.matchers.length) { + match2 = this.matchers[i](path); + i++; + } + } + if (!match2) { + this.params = void 0; + this.path = void 0; + return false; + } + this.params = match2.params; + this.path = match2.path; + this.keys = Object.keys(match2.params); + return true; + }, "match"); + function decodeParam(val) { + if (typeof val !== "string" || val.length === 0) { + return val; + } + try { + return decodeURIComponent(val); + } catch (err) { + if (err instanceof URIError) { + err.message = "Failed to decode param '" + val + "'"; + err.status = 400; + } + throw err; + } + } + __name(decodeParam, "decodeParam"); + function loosen(path) { + if (path instanceof RegExp || path === "/") { + return path; + } + return Array.isArray(path) ? path.map(function(p) { + return loosen(p); + }) : String(path).replace(TRAILING_SLASH_REGEXP, ""); + } + __name(loosen, "loosen"); + } +}); + +// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js +var require_route = __commonJS({ + "../../node_modules/.pnpm/router@2.2.0/node_modules/router/lib/route.js"(exports, module) { + "use strict"; + var debug = require_src()("router:route"); + var Layer = require_layer(); + var { METHODS } = __require("node:http"); + var slice = Array.prototype.slice; + var flatten2 = Array.prototype.flat; + var methods = METHODS.map((method) => method.toLowerCase()); + module.exports = Route; + function Route(path) { + debug("new %o", path); + this.path = path; + this.stack = []; + this.methods = /* @__PURE__ */ Object.create(null); + } + __name(Route, "Route"); + Route.prototype._handlesMethod = /* @__PURE__ */ __name(function _handlesMethod(method) { + if (this.methods._all) { + return true; + } + let name = typeof method === "string" ? method.toLowerCase() : method; + if (name === "head" && !this.methods.head) { + name = "get"; + } + return Boolean(this.methods[name]); + }, "_handlesMethod"); + Route.prototype._methods = /* @__PURE__ */ __name(function _methods() { + const methods2 = Object.keys(this.methods); + if (this.methods.get && !this.methods.head) { + methods2.push("head"); + } + for (let i = 0; i < methods2.length; i++) { + methods2[i] = methods2[i].toUpperCase(); + } + return methods2; + }, "_methods"); + Route.prototype.dispatch = /* @__PURE__ */ __name(function dispatch(req, res, done) { + let idx = 0; + const stack = this.stack; + let sync = 0; + if (stack.length === 0) { + return done(); + } + let method = typeof req.method === "string" ? req.method.toLowerCase() : req.method; + if (method === "head" && !this.methods.head) { + method = "get"; + } + req.route = this; + next(); + function next(err) { + if (err && err === "route") { + return done(); + } + if (err && err === "router") { + return done(err); + } + if (idx >= stack.length) { + return done(err); + } + if (++sync > 100) { + return setImmediate(next, err); + } + let layer; + let match; + while (match !== true && idx < stack.length) { + layer = stack[idx++]; + match = !layer.method || layer.method === method; + } + if (match !== true) { + return done(err); + } + if (err) { + layer.handleError(err, req, res, next); + } else { + layer.handleRequest(req, res, next); + } + sync = 0; + } + __name(next, "next"); + }, "dispatch"); + Route.prototype.all = /* @__PURE__ */ __name(function all(handler) { + const callbacks = flatten2.call(slice.call(arguments), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + const layer = Layer("/", {}, fn); + layer.method = void 0; + this.methods._all = true; + this.stack.push(layer); + } + return this; + }, "all"); + methods.forEach(function(method) { + Route.prototype[method] = function(handler) { + const callbacks = flatten2.call(slice.call(arguments), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + debug("%s %s", method, this.path); + const layer = Layer("/", {}, fn); + layer.method = method; + this.methods[method] = true; + this.stack.push(layer); + } + return this; + }; + }); + } +}); + +// ../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js +var require_router = __commonJS({ + "../../node_modules/.pnpm/router@2.2.0/node_modules/router/index.js"(exports, module) { + "use strict"; + var isPromise = require_is_promise(); + var Layer = require_layer(); + var { METHODS } = __require("node:http"); + var parseUrl = require_parseurl(); + var Route = require_route(); + var debug = require_src()("router"); + var deprecate = require_depd()("router"); + var slice = Array.prototype.slice; + var flatten2 = Array.prototype.flat; + var methods = METHODS.map((method) => method.toLowerCase()); + module.exports = Router; + module.exports.Route = Route; + function Router(options) { + if (!(this instanceof Router)) { + return new Router(options); + } + const opts = options || {}; + function router(req, res, next) { + router.handle(req, res, next); + } + __name(router, "router"); + Object.setPrototypeOf(router, this); + router.caseSensitive = opts.caseSensitive; + router.mergeParams = opts.mergeParams; + router.params = {}; + router.strict = opts.strict; + router.stack = []; + return router; + } + __name(Router, "Router"); + Router.prototype = function() { + }; + Router.prototype.param = /* @__PURE__ */ __name(function param(name, fn) { + if (!name) { + throw new TypeError("argument name is required"); + } + if (typeof name !== "string") { + throw new TypeError("argument name must be a string"); + } + if (!fn) { + throw new TypeError("argument fn is required"); + } + if (typeof fn !== "function") { + throw new TypeError("argument fn must be a function"); + } + let params = this.params[name]; + if (!params) { + params = this.params[name] = []; + } + params.push(fn); + return this; + }, "param"); + Router.prototype.handle = /* @__PURE__ */ __name(function handle(req, res, callback) { + if (!callback) { + throw new TypeError("argument callback is required"); + } + debug("dispatching %s %s", req.method, req.url); + let idx = 0; + let methods2; + const protohost = getProtohost(req.url) || ""; + let removed = ""; + const self = this; + let slashAdded = false; + let sync = 0; + const paramcalled = {}; + const stack = this.stack; + const parentParams = req.params; + const parentUrl = req.baseUrl || ""; + let done = restore(callback, req, "baseUrl", "next", "params"); + req.next = next; + if (req.method === "OPTIONS") { + methods2 = []; + done = wrap(done, generateOptionsResponder(res, methods2)); + } + req.baseUrl = parentUrl; + req.originalUrl = req.originalUrl || req.url; + next(); + function next(err) { + let layerError = err === "route" ? null : err; + if (slashAdded) { + req.url = req.url.slice(1); + slashAdded = false; + } + if (removed.length !== 0) { + req.baseUrl = parentUrl; + req.url = protohost + removed + req.url.slice(protohost.length); + removed = ""; + } + if (layerError === "router") { + setImmediate(done, null); + return; + } + if (idx >= stack.length) { + setImmediate(done, layerError); + return; + } + if (++sync > 100) { + return setImmediate(next, err); + } + const path = getPathname(req); + if (path == null) { + return done(layerError); + } + let layer; + let match; + let route; + while (match !== true && idx < stack.length) { + layer = stack[idx++]; + match = matchLayer(layer, path); + route = layer.route; + if (typeof match !== "boolean") { + layerError = layerError || match; + } + if (match !== true) { + continue; + } + if (!route) { + continue; + } + if (layerError) { + match = false; + continue; + } + const method = req.method; + const hasMethod = route._handlesMethod(method); + if (!hasMethod && method === "OPTIONS" && methods2) { + methods2.push.apply(methods2, route._methods()); + } + if (!hasMethod && method !== "HEAD") { + match = false; + } + } + if (match !== true) { + return done(layerError); + } + if (route) { + req.route = route; + } + req.params = self.mergeParams ? mergeParams(layer.params, parentParams) : layer.params; + const layerPath = layer.path; + processParams(self.params, layer, paramcalled, req, res, function(err2) { + if (err2) { + next(layerError || err2); + } else if (route) { + layer.handleRequest(req, res, next); + } else { + trimPrefix(layer, layerError, layerPath, path); + } + sync = 0; + }); + } + __name(next, "next"); + function trimPrefix(layer, layerError, layerPath, path) { + if (layerPath.length !== 0) { + if (layerPath !== path.substring(0, layerPath.length)) { + next(layerError); + return; + } + const c = path[layerPath.length]; + if (c && c !== "/") { + next(layerError); + return; + } + debug("trim prefix (%s) from url %s", layerPath, req.url); + removed = layerPath; + req.url = protohost + req.url.slice(protohost.length + removed.length); + if (!protohost && req.url[0] !== "/") { + req.url = "/" + req.url; + slashAdded = true; + } + req.baseUrl = parentUrl + (removed[removed.length - 1] === "/" ? removed.substring(0, removed.length - 1) : removed); + } + debug("%s %s : %s", layer.name, layerPath, req.originalUrl); + if (layerError) { + layer.handleError(layerError, req, res, next); + } else { + layer.handleRequest(req, res, next); + } + } + __name(trimPrefix, "trimPrefix"); + }, "handle"); + Router.prototype.use = /* @__PURE__ */ __name(function use(handler) { + let offset = 0; + let path = "/"; + if (typeof handler !== "function") { + let arg = handler; + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + if (typeof arg !== "function") { + offset = 1; + path = handler; + } + } + const callbacks = flatten2.call(slice.call(arguments, offset), Infinity); + if (callbacks.length === 0) { + throw new TypeError("argument handler is required"); + } + for (let i = 0; i < callbacks.length; i++) { + const fn = callbacks[i]; + if (typeof fn !== "function") { + throw new TypeError("argument handler must be a function"); + } + debug("use %o %s", path, fn.name || ""); + const layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: false, + end: false + }, fn); + layer.route = void 0; + this.stack.push(layer); + } + return this; + }, "use"); + Router.prototype.route = /* @__PURE__ */ __name(function route(path) { + const route2 = new Route(path); + const layer = new Layer(path, { + sensitive: this.caseSensitive, + strict: this.strict, + end: true + }, handle); + function handle(req, res, next) { + route2.dispatch(req, res, next); + } + __name(handle, "handle"); + layer.route = route2; + this.stack.push(layer); + return route2; + }, "route"); + methods.concat("all").forEach(function(method) { + Router.prototype[method] = function(path) { + const route = this.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; + }); + function generateOptionsResponder(res, methods2) { + return /* @__PURE__ */ __name(function onDone(fn, err) { + if (err || methods2.length === 0) { + return fn(err); + } + trySendOptionsResponse(res, methods2, fn); + }, "onDone"); + } + __name(generateOptionsResponder, "generateOptionsResponder"); + function getPathname(req) { + try { + return parseUrl(req).pathname; + } catch (err) { + return void 0; + } + } + __name(getPathname, "getPathname"); + function getProtohost(url) { + if (typeof url !== "string" || url.length === 0 || url[0] === "/") { + return void 0; + } + const searchIndex = url.indexOf("?"); + const pathLength = searchIndex !== -1 ? searchIndex : url.length; + const fqdnIndex = url.substring(0, pathLength).indexOf("://"); + return fqdnIndex !== -1 ? url.substring(0, url.indexOf("/", 3 + fqdnIndex)) : void 0; + } + __name(getProtohost, "getProtohost"); + function matchLayer(layer, path) { + try { + return layer.match(path); + } catch (err) { + return err; + } + } + __name(matchLayer, "matchLayer"); + function mergeParams(params, parent) { + if (typeof parent !== "object" || !parent) { + return params; + } + const obj = Object.assign({}, parent); + if (!(0 in params) || !(0 in parent)) { + return Object.assign(obj, params); + } + let i = 0; + let o = 0; + while (i in params) { + i++; + } + while (o in parent) { + o++; + } + for (i--; i >= 0; i--) { + params[i + o] = params[i]; + if (i < o) { + delete params[i]; + } + } + return Object.assign(obj, params); + } + __name(mergeParams, "mergeParams"); + function processParams(params, layer, called, req, res, done) { + const keys = layer.keys; + if (!keys || keys.length === 0) { + return done(); + } + let i = 0; + let paramIndex = 0; + let key; + let paramVal; + let paramCallbacks; + let paramCalled; + function param(err) { + if (err) { + return done(err); + } + if (i >= keys.length) { + return done(); + } + paramIndex = 0; + key = keys[i++]; + paramVal = req.params[key]; + paramCallbacks = params[key]; + paramCalled = called[key]; + if (paramVal === void 0 || !paramCallbacks) { + return param(); + } + if (paramCalled && (paramCalled.match === paramVal || paramCalled.error && paramCalled.error !== "route")) { + req.params[key] = paramCalled.value; + return param(paramCalled.error); + } + called[key] = paramCalled = { + error: null, + match: paramVal, + value: paramVal + }; + paramCallback(); + } + __name(param, "param"); + function paramCallback(err) { + const fn = paramCallbacks[paramIndex++]; + paramCalled.value = req.params[key]; + if (err) { + paramCalled.error = err; + param(err); + return; + } + if (!fn) return param(); + try { + const ret = fn(req, res, paramCallback, paramVal, key); + if (isPromise(ret)) { + if (!(ret instanceof Promise)) { + deprecate("parameters that are Promise-like are deprecated, use a native Promise instead"); + } + ret.then(null, function(error) { + paramCallback(error || new Error("Rejected promise")); + }); + } + } catch (e) { + paramCallback(e); + } + } + __name(paramCallback, "paramCallback"); + param(); + } + __name(processParams, "processParams"); + function restore(fn, obj) { + const props = new Array(arguments.length - 2); + const vals = new Array(arguments.length - 2); + for (let i = 0; i < props.length; i++) { + props[i] = arguments[i + 2]; + vals[i] = obj[props[i]]; + } + return function() { + for (let i = 0; i < props.length; i++) { + obj[props[i]] = vals[i]; + } + return fn.apply(this, arguments); + }; + } + __name(restore, "restore"); + function sendOptionsResponse(res, methods2) { + const options = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < methods2.length; i++) { + options[methods2[i]] = true; + } + const allow = Object.keys(options).sort().join(", "); + res.setHeader("Allow", allow); + res.setHeader("Content-Length", Buffer.byteLength(allow)); + res.setHeader("Content-Type", "text/plain"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.end(allow); + } + __name(sendOptionsResponse, "sendOptionsResponse"); + function trySendOptionsResponse(res, methods2, next) { + try { + sendOptionsResponse(res, methods2); + } catch (err) { + next(err); + } + } + __name(trySendOptionsResponse, "trySendOptionsResponse"); + function wrap(old, fn) { + return /* @__PURE__ */ __name(function proxy() { + const args = new Array(arguments.length + 1); + args[0] = old; + for (let i = 0, len = arguments.length; i < len; i++) { + args[i + 1] = arguments[i]; + } + fn.apply(this, args); + }, "proxy"); + } + __name(wrap, "wrap"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/application.js +var require_application = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/application.js"(exports, module) { + "use strict"; + var finalhandler = require_finalhandler(); + var debug = require_src()("express:application"); + var View = require_view(); + var http2 = __require("node:http"); + var methods = require_utils3().methods; + var compileETag = require_utils3().compileETag; + var compileQueryParser = require_utils3().compileQueryParser; + var compileTrust = require_utils3().compileTrust; + var resolve = __require("node:path").resolve; + var once = require_once(); + var Router = require_router(); + var slice = Array.prototype.slice; + var flatten2 = Array.prototype.flat; + var app = exports = module.exports = {}; + var trustProxyDefaultSymbol = "@@symbol:trust_proxy_default"; + app.init = /* @__PURE__ */ __name(function init() { + var router = null; + this.cache = /* @__PURE__ */ Object.create(null); + this.engines = /* @__PURE__ */ Object.create(null); + this.settings = /* @__PURE__ */ Object.create(null); + this.defaultConfiguration(); + Object.defineProperty(this, "router", { + configurable: true, + enumerable: true, + get: /* @__PURE__ */ __name(function getrouter() { + if (router === null) { + router = new Router({ + caseSensitive: this.enabled("case sensitive routing"), + strict: this.enabled("strict routing") + }); + } + return router; + }, "getrouter") + }); + }, "init"); + app.defaultConfiguration = /* @__PURE__ */ __name(function defaultConfiguration() { + var env = process.env.NODE_ENV || "development"; + this.enable("x-powered-by"); + this.set("etag", "weak"); + this.set("env", env); + this.set("query parser", "simple"); + this.set("subdomain offset", 2); + this.set("trust proxy", false); + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: true + }); + debug("booting in %s mode", env); + this.on("mount", /* @__PURE__ */ __name(function onmount(parent) { + if (this.settings[trustProxyDefaultSymbol] === true && typeof parent.settings["trust proxy fn"] === "function") { + delete this.settings["trust proxy"]; + delete this.settings["trust proxy fn"]; + } + Object.setPrototypeOf(this.request, parent.request); + Object.setPrototypeOf(this.response, parent.response); + Object.setPrototypeOf(this.engines, parent.engines); + Object.setPrototypeOf(this.settings, parent.settings); + }, "onmount")); + this.locals = /* @__PURE__ */ Object.create(null); + this.mountpath = "/"; + this.locals.settings = this.settings; + this.set("view", View); + this.set("views", resolve("views")); + this.set("jsonp callback name", "callback"); + if (env === "production") { + this.enable("view cache"); + } + }, "defaultConfiguration"); + app.handle = /* @__PURE__ */ __name(function handle(req, res, callback) { + var done = callback || finalhandler(req, res, { + env: this.get("env"), + onerror: logerror.bind(this) + }); + if (this.enabled("x-powered-by")) { + res.setHeader("X-Powered-By", "Express"); + } + req.res = res; + res.req = req; + Object.setPrototypeOf(req, this.request); + Object.setPrototypeOf(res, this.response); + if (!res.locals) { + res.locals = /* @__PURE__ */ Object.create(null); + } + this.router.handle(req, res, done); + }, "handle"); + app.use = /* @__PURE__ */ __name(function use(fn) { + var offset = 0; + var path = "/"; + if (typeof fn !== "function") { + var arg = fn; + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + if (typeof arg !== "function") { + offset = 1; + path = fn; + } + } + var fns = flatten2.call(slice.call(arguments, offset), Infinity); + if (fns.length === 0) { + throw new TypeError("app.use() requires a middleware function"); + } + var router = this.router; + fns.forEach(function(fn2) { + if (!fn2 || !fn2.handle || !fn2.set) { + return router.use(path, fn2); + } + debug(".use app under %s", path); + fn2.mountpath = path; + fn2.parent = this; + router.use(path, /* @__PURE__ */ __name(function mounted_app(req, res, next) { + var orig = req.app; + fn2.handle(req, res, function(err) { + Object.setPrototypeOf(req, orig.request); + Object.setPrototypeOf(res, orig.response); + next(err); + }); + }, "mounted_app")); + fn2.emit("mount", this); + }, this); + return this; + }, "use"); + app.route = /* @__PURE__ */ __name(function route(path) { + return this.router.route(path); + }, "route"); + app.engine = /* @__PURE__ */ __name(function engine(ext, fn) { + if (typeof fn !== "function") { + throw new Error("callback function required"); + } + var extension = ext[0] !== "." ? "." + ext : ext; + this.engines[extension] = fn; + return this; + }, "engine"); + app.param = /* @__PURE__ */ __name(function param(name, fn) { + if (Array.isArray(name)) { + for (var i = 0; i < name.length; i++) { + this.param(name[i], fn); + } + return this; + } + this.router.param(name, fn); + return this; + }, "param"); + app.set = /* @__PURE__ */ __name(function set(setting, val) { + if (arguments.length === 1) { + return this.settings[setting]; + } + debug('set "%s" to %o', setting, val); + this.settings[setting] = val; + switch (setting) { + case "etag": + this.set("etag fn", compileETag(val)); + break; + case "query parser": + this.set("query parser fn", compileQueryParser(val)); + break; + case "trust proxy": + this.set("trust proxy fn", compileTrust(val)); + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: false + }); + break; + } + return this; + }, "set"); + app.path = /* @__PURE__ */ __name(function path() { + return this.parent ? this.parent.path() + this.mountpath : ""; + }, "path"); + app.enabled = /* @__PURE__ */ __name(function enabled(setting) { + return Boolean(this.set(setting)); + }, "enabled"); + app.disabled = /* @__PURE__ */ __name(function disabled(setting) { + return !this.set(setting); + }, "disabled"); + app.enable = /* @__PURE__ */ __name(function enable(setting) { + return this.set(setting, true); + }, "enable"); + app.disable = /* @__PURE__ */ __name(function disable(setting) { + return this.set(setting, false); + }, "disable"); + methods.forEach(function(method) { + app[method] = function(path) { + if (method === "get" && arguments.length === 1) { + return this.set(path); + } + var route = this.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; + }); + app.all = /* @__PURE__ */ __name(function all(path) { + var route = this.route(path); + var args = slice.call(arguments, 1); + for (var i = 0; i < methods.length; i++) { + route[methods[i]].apply(route, args); + } + return this; + }, "all"); + app.render = /* @__PURE__ */ __name(function render(name, options, callback) { + var cache = this.cache; + var done = callback; + var engines = this.engines; + var opts = options || {}; + var view; + if (typeof options === "function") { + done = options; + opts = {}; + } + var renderOptions = { ...this.locals, ...opts._locals, ...opts }; + if (renderOptions.cache == null) { + renderOptions.cache = this.enabled("view cache"); + } + if (renderOptions.cache) { + view = cache[name]; + } + if (!view) { + var View2 = this.get("view"); + view = new View2(name, { + defaultEngine: this.get("view engine"), + root: this.get("views"), + engines + }); + if (!view.path) { + var dirs = Array.isArray(view.root) && view.root.length > 1 ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"' : 'directory "' + view.root + '"'; + var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs); + err.view = view; + return done(err); + } + if (renderOptions.cache) { + cache[name] = view; + } + } + tryRender(view, renderOptions, done); + }, "render"); + app.listen = /* @__PURE__ */ __name(function listen() { + var server = http2.createServer(this); + var args = slice.call(arguments); + if (typeof args[args.length - 1] === "function") { + var done = args[args.length - 1] = once(args[args.length - 1]); + server.once("error", done); + } + return server.listen.apply(server, args); + }, "listen"); + function logerror(err) { + if (this.get("env") !== "test") console.error(err); + } + __name(logerror, "logerror"); + function tryRender(view, options, callback) { + try { + view.render(options, callback); + } catch (err) { + callback(err); + } + } + __name(tryRender, "tryRender"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/accept.js +var require_accept = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/accept.js"(exports, module) { + "use strict"; + var contentType = require_dist(); + module.exports = parseAccept; + function parseAccept(header) { + var values = []; + var index = 0; + while (index < header.length) { + var start = skipOptionalWhitespace(header, index); + var parsed = contentType.parse(header, { comma: true, start }); + parsed.type = header.slice(start, start + parsed.type.length); + values.push(parsed); + index = parsed.index + 1; + } + return values; + } + __name(parseAccept, "parseAccept"); + function skipOptionalWhitespace(header, index) { + var cursor = index; + while (header.charCodeAt(cursor) === 32 || header.charCodeAt(cursor) === 9) { + cursor++; + } + return cursor; + } + __name(skipOptionalWhitespace, "skipOptionalWhitespace"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/charset.js +var require_charset = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/charset.js"(exports, module) { + "use strict"; + var parseAccept = require_accept(); + module.exports = preferredCharsets; + module.exports.preferredCharsets = preferredCharsets; + function parseAcceptCharset(accept) { + var accepts = parseAccept(accept); + for (var i = 0, j = 0; i < accepts.length; i++) { + var charset = formatCharset(accepts[i], i); + if (charset) accepts[j++] = charset; + } + accepts.length = j; + return accepts; + } + __name(parseAcceptCharset, "parseAcceptCharset"); + function formatCharset(parsed, i) { + if (!parsed.type) return null; + return { + charset: parsed.type, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i + }; + } + __name(formatCharset, "formatCharset"); + function getCharsetPriority(charset, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(charset, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + __name(getCharsetPriority, "getCharsetPriority"); + function specify(charset, spec, index) { + var s = 0; + if (spec.charset.toLowerCase() === charset.toLowerCase()) { + s |= 1; + } else if (spec.charset !== "*") { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + __name(specify, "specify"); + function preferredCharsets(accept, provided) { + var accepts = parseAcceptCharset(accept === void 0 ? "*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullCharset); + } + var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) { + return getCharsetPriority(type, accepts, index); + }, "getPriority")); + return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getCharset(priority) { + return provided[priorities.indexOf(priority)]; + }, "getCharset")); + } + __name(preferredCharsets, "preferredCharsets"); + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + __name(compareSpecs, "compareSpecs"); + function getFullCharset(spec) { + return spec.charset; + } + __name(getFullCharset, "getFullCharset"); + function isQuality(spec) { + return spec.q > 0; + } + __name(isQuality, "isQuality"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/encoding.js +var require_encoding = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/encoding.js"(exports, module) { + "use strict"; + var parseAccept = require_accept(); + module.exports = preferredEncodings; + module.exports.preferredEncodings = preferredEncodings; + function parseAcceptEncoding(accept) { + var accepts = parseAccept(accept); + var hasIdentity = false; + var minQuality = 1; + for (var i = 0, j = 0; i < accepts.length; i++) { + var encoding = formatEncoding(accepts[i], i); + if (encoding) { + accepts[j++] = encoding; + hasIdentity = hasIdentity || specify("identity", encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + if (!hasIdentity) { + accepts[j++] = { + encoding: "identity", + q: minQuality, + i + }; + } + accepts.length = j; + return accepts; + } + __name(parseAcceptEncoding, "parseAcceptEncoding"); + function formatEncoding(parsed, i) { + if (!parsed.type) return null; + return { + encoding: parsed.type, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i + }; + } + __name(formatEncoding, "formatEncoding"); + function getEncodingPriority(encoding, accepted, index) { + var priority = { encoding, o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(encoding, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + __name(getEncodingPriority, "getEncodingPriority"); + function specify(encoding, spec, index) { + var s = 0; + if (spec.encoding.toLowerCase() === encoding.toLowerCase()) { + s |= 1; + } else if (spec.encoding !== "*") { + return null; + } + return { + encoding, + i: index, + o: spec.i, + q: spec.q, + s + }; + } + __name(specify, "specify"); + function preferredEncodings(accept, provided, preferred) { + var accepts = parseAcceptEncoding(accept || ""); + var comparator = preferred ? /* @__PURE__ */ __name(function comparator2(a, b) { + if (a.q !== b.q) { + return b.q - a.q; + } + var aPreferred = preferred.indexOf(a.encoding); + var bPreferred = preferred.indexOf(b.encoding); + if (aPreferred === -1 && bPreferred === -1) { + return b.s - a.s || a.o - b.o || a.i - b.i; + } + if (aPreferred !== -1 && bPreferred !== -1) { + return aPreferred - bPreferred; + } + return aPreferred === -1 ? 1 : -1; + }, "comparator") : compareSpecs; + if (!provided) { + return accepts.filter(isQuality).sort(comparator).map(getFullEncoding); + } + var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) { + return getEncodingPriority(type, accepts, index); + }, "getPriority")); + return priorities.filter(isQuality).sort(comparator).map(/* @__PURE__ */ __name(function getEncoding(priority) { + return provided[priorities.indexOf(priority)]; + }, "getEncoding")); + } + __name(preferredEncodings, "preferredEncodings"); + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i; + } + __name(compareSpecs, "compareSpecs"); + function getFullEncoding(spec) { + return spec.encoding; + } + __name(getFullEncoding, "getFullEncoding"); + function isQuality(spec) { + return spec.q > 0; + } + __name(isQuality, "isQuality"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/language.js +var require_language = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/language.js"(exports, module) { + "use strict"; + var contentType = require_dist(); + var parseAccept = require_accept(); + module.exports = preferredLanguages; + module.exports.preferredLanguages = preferredLanguages; + function parseAcceptLanguage(accept) { + var accepts = parseAccept(accept); + for (var i = 0, j = 0; i < accepts.length; i++) { + var language = formatLanguage(accepts[i], i); + if (language) accepts[j++] = language; + } + accepts.length = j; + return accepts; + } + __name(parseAcceptLanguage, "parseAcceptLanguage"); + function formatLanguage(parsed, i) { + if (!parsed.type) return null; + var hyphen = parsed.type.indexOf("-"); + var prefix = hyphen === -1 ? parsed.type : parsed.type.slice(0, hyphen); + var suffix = hyphen === -1 ? void 0 : parsed.type.slice(hyphen + 1); + return { + prefix, + suffix, + q: parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1, + i, + full: parsed.type + }; + } + __name(formatLanguage, "formatLanguage"); + function getLanguagePriority(language, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(language, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + __name(getLanguagePriority, "getLanguagePriority"); + function specify(language, spec, index) { + var p = formatLanguage(contentType.parse(language), 0); + if (!p) return null; + var s = 0; + if (spec.full.toLowerCase() === p.full.toLowerCase()) { + s |= 4; + } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== "*") { + return null; + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + __name(specify, "specify"); + function preferredLanguages(accept, provided) { + var accepts = parseAcceptLanguage(accept === void 0 ? "*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullLanguage); + } + var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) { + return getLanguagePriority(type, accepts, index); + }, "getPriority")); + return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getLanguage(priority) { + return provided[priorities.indexOf(priority)]; + }, "getLanguage")); + } + __name(preferredLanguages, "preferredLanguages"); + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + __name(compareSpecs, "compareSpecs"); + function getFullLanguage(spec) { + return spec.full; + } + __name(getFullLanguage, "getFullLanguage"); + function isQuality(spec) { + return spec.q > 0; + } + __name(isQuality, "isQuality"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/mediaType.js +var require_mediaType = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/lib/mediaType.js"(exports, module) { + "use strict"; + var contentType = require_dist(); + var parseAcceptHeader = require_accept(); + module.exports = preferredMediaTypes; + module.exports.preferredMediaTypes = preferredMediaTypes; + function parseAccept(accept) { + var accepts = parseAcceptHeader(accept); + for (var i = 0, j = 0; i < accepts.length; i++) { + var mediaType = formatMediaType(accepts[i], i); + if (mediaType) accepts[j++] = mediaType; + } + accepts.length = j; + return accepts; + } + __name(parseAccept, "parseAccept"); + function formatMediaType(parsed, i) { + var slash = parsed.type.indexOf("/"); + if (slash === -1) return null; + var q = parsed.parameters.q ? parseFloat(parsed.parameters.q) : 1; + delete parsed.parameters.q; + return { + type: parsed.type.slice(0, slash), + subtype: parsed.type.slice(slash + 1), + params: parsed.parameters, + q, + i + }; + } + __name(formatMediaType, "formatMediaType"); + function getMediaTypePriority(type, accepted, index) { + var priority = { o: -1, q: 0, s: 0 }; + for (var i = 0; i < accepted.length; i++) { + var spec = specify(type, accepted[i], index); + if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) { + priority = spec; + } + } + return priority; + } + __name(getMediaTypePriority, "getMediaTypePriority"); + function specify(type, spec, index) { + var p = formatMediaType(contentType.parse(type), 0); + var s = 0; + if (!p) { + return null; + } + if (spec.type.toLowerCase() == p.type.toLowerCase()) { + s |= 4; + } else if (spec.type != "*") { + return null; + } + if (spec.subtype.toLowerCase() == p.subtype.toLowerCase()) { + s |= 2; + } else if (spec.subtype != "*") { + return null; + } + var keys = Object.keys(spec.params); + if (keys.length > 0) { + if (keys.every(function(k) { + return spec.params[k] == "*" || (spec.params[k] || "").toLowerCase() == (p.params[k] || "").toLowerCase(); + })) { + s |= 1; + } else { + return null; + } + } + return { + i: index, + o: spec.i, + q: spec.q, + s + }; + } + __name(specify, "specify"); + function preferredMediaTypes(accept, provided) { + var accepts = parseAccept(accept === void 0 ? "*/*" : accept || ""); + if (!provided) { + return accepts.filter(isQuality).sort(compareSpecs).map(getFullType); + } + var priorities = provided.map(/* @__PURE__ */ __name(function getPriority(type, index) { + return getMediaTypePriority(type, accepts, index); + }, "getPriority")); + return priorities.filter(isQuality).sort(compareSpecs).map(/* @__PURE__ */ __name(function getType(priority) { + return provided[priorities.indexOf(priority)]; + }, "getType")); + } + __name(preferredMediaTypes, "preferredMediaTypes"); + function compareSpecs(a, b) { + return b.q - a.q || b.s - a.s || a.o - b.o || a.i - b.i || 0; + } + __name(compareSpecs, "compareSpecs"); + function getFullType(spec) { + return spec.type + "/" + spec.subtype; + } + __name(getFullType, "getFullType"); + function isQuality(spec) { + return spec.q > 0; + } + __name(isQuality, "isQuality"); + } +}); + +// ../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/index.js +var require_negotiator = __commonJS({ + "../../node_modules/.pnpm/negotiator@1.1.0/node_modules/negotiator/index.js"(exports, module) { + "use strict"; + var preferredCharsets = require_charset(); + var preferredEncodings = require_encoding(); + var preferredLanguages = require_language(); + var preferredMediaTypes = require_mediaType(); + module.exports = Negotiator; + module.exports.Negotiator = Negotiator; + function Negotiator(request) { + if (!(this instanceof Negotiator)) { + return new Negotiator(request); + } + this.request = request; + } + __name(Negotiator, "Negotiator"); + Negotiator.prototype.charset = /* @__PURE__ */ __name(function charset(available) { + var set = this.charsets(available); + return set && set[0]; + }, "charset"); + Negotiator.prototype.charsets = /* @__PURE__ */ __name(function charsets(available) { + return preferredCharsets(this.request.headers["accept-charset"], available); + }, "charsets"); + Negotiator.prototype.encoding = /* @__PURE__ */ __name(function encoding(available, opts) { + var set = this.encodings(available, opts); + return set && set[0]; + }, "encoding"); + Negotiator.prototype.encodings = /* @__PURE__ */ __name(function encodings(available, options) { + var opts = options || {}; + return preferredEncodings(this.request.headers["accept-encoding"], available, opts.preferred); + }, "encodings"); + Negotiator.prototype.language = /* @__PURE__ */ __name(function language(available) { + var set = this.languages(available); + return set && set[0]; + }, "language"); + Negotiator.prototype.languages = /* @__PURE__ */ __name(function languages(available) { + return preferredLanguages(this.request.headers["accept-language"], available); + }, "languages"); + Negotiator.prototype.mediaType = /* @__PURE__ */ __name(function mediaType(available) { + var set = this.mediaTypes(available); + return set && set[0]; + }, "mediaType"); + Negotiator.prototype.mediaTypes = /* @__PURE__ */ __name(function mediaTypes(available) { + return preferredMediaTypes(this.request.headers.accept, available); + }, "mediaTypes"); + Negotiator.prototype.preferredCharset = Negotiator.prototype.charset; + Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets; + Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding; + Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings; + Negotiator.prototype.preferredLanguage = Negotiator.prototype.language; + Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages; + Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType; + Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes; + } +}); + +// ../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js +var require_accepts = __commonJS({ + "../../node_modules/.pnpm/accepts@2.0.0/node_modules/accepts/index.js"(exports, module) { + "use strict"; + var Negotiator = require_negotiator(); + var mime = require_mime_types(); + module.exports = Accepts; + function Accepts(req) { + if (!(this instanceof Accepts)) { + return new Accepts(req); + } + this.headers = req.headers; + this.negotiator = new Negotiator(req); + } + __name(Accepts, "Accepts"); + Accepts.prototype.type = Accepts.prototype.types = function(types_) { + var types = types_; + if (types && !Array.isArray(types)) { + types = new Array(arguments.length); + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i]; + } + } + if (!types || types.length === 0) { + return this.negotiator.mediaTypes(); + } + if (!this.headers.accept) { + return types[0]; + } + var mimes = types.map(extToMime); + var accepts = this.negotiator.mediaTypes(mimes.filter(validMime)); + var first = accepts[0]; + return first ? types[mimes.indexOf(first)] : false; + }; + Accepts.prototype.encoding = Accepts.prototype.encodings = function(encodings_) { + var encodings = encodings_; + if (encodings && !Array.isArray(encodings)) { + encodings = new Array(arguments.length); + for (var i = 0; i < encodings.length; i++) { + encodings[i] = arguments[i]; + } + } + if (!encodings || encodings.length === 0) { + return this.negotiator.encodings(); + } + return this.negotiator.encodings(encodings)[0] || false; + }; + Accepts.prototype.charset = Accepts.prototype.charsets = function(charsets_) { + var charsets = charsets_; + if (charsets && !Array.isArray(charsets)) { + charsets = new Array(arguments.length); + for (var i = 0; i < charsets.length; i++) { + charsets[i] = arguments[i]; + } + } + if (!charsets || charsets.length === 0) { + return this.negotiator.charsets(); + } + return this.negotiator.charsets(charsets)[0] || false; + }; + Accepts.prototype.lang = Accepts.prototype.langs = Accepts.prototype.language = Accepts.prototype.languages = function(languages_) { + var languages = languages_; + if (languages && !Array.isArray(languages)) { + languages = new Array(arguments.length); + for (var i = 0; i < languages.length; i++) { + languages[i] = arguments[i]; + } + } + if (!languages || languages.length === 0) { + return this.negotiator.languages(); + } + return this.negotiator.languages(languages)[0] || false; + }; + function extToMime(type) { + return type.indexOf("/") === -1 ? mime.lookup(type) : type; + } + __name(extToMime, "extToMime"); + function validMime(type) { + return typeof type === "string"; + } + __name(validMime, "validMime"); + } +}); + +// ../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js +var require_fresh = __commonJS({ + "../../node_modules/.pnpm/fresh@2.0.0/node_modules/fresh/index.js"(exports, module) { + "use strict"; + var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/; + module.exports = fresh; + function fresh(reqHeaders, resHeaders) { + var modifiedSince = reqHeaders["if-modified-since"]; + var noneMatch = reqHeaders["if-none-match"]; + if (!modifiedSince && !noneMatch) { + return false; + } + var cacheControl = reqHeaders["cache-control"]; + if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) { + return false; + } + if (noneMatch) { + if (noneMatch === "*") { + return true; + } + var etag = resHeaders.etag; + if (!etag) { + return false; + } + var matches = parseTokenList(noneMatch); + for (var i = 0; i < matches.length; i++) { + var match = matches[i]; + if (match === etag || match === "W/" + etag || "W/" + match === etag) { + return true; + } + } + return false; + } + if (modifiedSince) { + var lastModified = resHeaders["last-modified"]; + var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince)); + if (modifiedStale) { + return false; + } + } + return true; + } + __name(fresh, "fresh"); + function parseHttpDate(date) { + var timestamp = date && Date.parse(date); + return typeof timestamp === "number" ? timestamp : NaN; + } + __name(parseHttpDate, "parseHttpDate"); + function parseTokenList(str) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + list.push(str.substring(start, end)); + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + list.push(str.substring(start, end)); + return list; + } + __name(parseTokenList, "parseTokenList"); + } +}); + +// ../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js +var require_range_parser = __commonJS({ + "../../node_modules/.pnpm/range-parser@1.3.0/node_modules/range-parser/index.js"(exports, module) { + "use strict"; + module.exports = rangeParser; + function rangeParser(size, str, options) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + var index = str.indexOf("="); + if (index === -1) { + return -2; + } + var arr = str.slice(index + 1).split(","); + var ranges = []; + ranges.type = str.slice(0, index); + for (var i = 0; i < arr.length; i++) { + var indexOf = arr[i].indexOf("-"); + if (indexOf === -1) { + return -2; + } + var startStr = arr[i].slice(0, indexOf).trim(); + var endStr = arr[i].slice(indexOf + 1).trim(); + var start = parsePos(startStr); + var end = parsePos(endStr); + if (startStr.length === 0) { + start = size - end; + end = size - 1; + } else if (endStr.length === 0) { + end = size - 1; + } + if (end > size - 1) { + end = size - 1; + } + if (isNaN(start) || isNaN(end)) { + return -2; + } + if (start > end || start < 0) { + continue; + } + ranges.push({ + start, + end + }); + } + if (ranges.length < 1) { + return -1; + } + return options && options.combine ? combineRanges(ranges) : ranges; + } + __name(rangeParser, "rangeParser"); + function parsePos(str) { + if (/^\d+$/.test(str)) return Number(str); + return NaN; + } + __name(parsePos, "parsePos"); + function combineRanges(ranges) { + var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart); + for (var j = 0, i = 1; i < ordered.length; i++) { + var range = ordered[i]; + var current = ordered[j]; + if (range.start > current.end + 1) { + ordered[++j] = range; + } else if (range.end > current.end) { + current.end = range.end; + current.index = Math.min(current.index, range.index); + } + } + ordered.length = j + 1; + var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex); + combined.type = ranges.type; + return combined; + } + __name(combineRanges, "combineRanges"); + function mapWithIndex(range, index) { + return { + start: range.start, + end: range.end, + index + }; + } + __name(mapWithIndex, "mapWithIndex"); + function mapWithoutIndex(range) { + return { + start: range.start, + end: range.end + }; + } + __name(mapWithoutIndex, "mapWithoutIndex"); + function sortByRangeIndex(a, b) { + return a.index - b.index; + } + __name(sortByRangeIndex, "sortByRangeIndex"); + function sortByRangeStart(a, b) { + return a.start - b.start; + } + __name(sortByRangeStart, "sortByRangeStart"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/request.js +var require_request = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/request.js"(exports, module) { + "use strict"; + var accepts = require_accepts(); + var isIP = __require("node:net").isIP; + var typeis = require_type_is(); + var http2 = __require("node:http"); + var fresh = require_fresh(); + var parseRange = require_range_parser(); + var parse = require_parseurl(); + var proxyaddr = require_proxy_addr(); + var req = Object.create(http2.IncomingMessage.prototype); + module.exports = req; + req.get = req.header = /* @__PURE__ */ __name(function header(name) { + if (!name) { + throw new TypeError("name argument is required to req.get"); + } + if (typeof name !== "string") { + throw new TypeError("name must be a string to req.get"); + } + var lc = name.toLowerCase(); + switch (lc) { + case "referer": + case "referrer": + return this.headers.referrer || this.headers.referer; + default: + return this.headers[lc]; + } + }, "header"); + req.accepts = function() { + var accept = accepts(this); + return accept.types.apply(accept, arguments); + }; + req.acceptsEncodings = function() { + var accept = accepts(this); + return accept.encodings.apply(accept, arguments); + }; + req.acceptsCharsets = function(...charsets) { + const accept = accepts(this); + return accept.charsets(...charsets); + }; + req.acceptsLanguages = function(...languages) { + return accepts(this).languages(...languages); + }; + req.range = /* @__PURE__ */ __name(function range(size, options) { + var range2 = this.get("Range"); + if (!range2) return; + return parseRange(size, range2, options); + }, "range"); + defineGetter(req, "query", /* @__PURE__ */ __name(function query() { + var queryparse = this.app.get("query parser fn"); + if (!queryparse) { + return /* @__PURE__ */ Object.create(null); + } + var querystring = parse(this).query; + return queryparse(querystring); + }, "query")); + req.is = /* @__PURE__ */ __name(function is(types) { + var arr = types; + if (!Array.isArray(types)) { + arr = new Array(arguments.length); + for (var i = 0; i < arr.length; i++) { + arr[i] = arguments[i]; + } + } + return typeis(this, arr); + }, "is"); + defineGetter(req, "protocol", /* @__PURE__ */ __name(function protocol() { + var proto = this.socket.encrypted ? "https" : "http"; + var trust = this.app.get("trust proxy fn"); + if (!trust(this.socket.remoteAddress, 0)) { + return proto; + } + var header = this.get("X-Forwarded-Proto") || proto; + var index = header.indexOf(","); + return index !== -1 ? header.substring(0, index).trim() : header.trim(); + }, "protocol")); + defineGetter(req, "secure", /* @__PURE__ */ __name(function secure() { + return this.protocol === "https"; + }, "secure")); + defineGetter(req, "ip", /* @__PURE__ */ __name(function ip() { + var trust = this.app.get("trust proxy fn"); + return proxyaddr(this, trust); + }, "ip")); + defineGetter(req, "ips", /* @__PURE__ */ __name(function ips() { + var trust = this.app.get("trust proxy fn"); + var addrs = proxyaddr.all(this, trust); + addrs.reverse().pop(); + return addrs; + }, "ips")); + defineGetter(req, "subdomains", /* @__PURE__ */ __name(function subdomains() { + var hostname = this.hostname; + if (!hostname) return []; + var offset = this.app.get("subdomain offset"); + var subdomains2 = !isIP(hostname) ? hostname.split(".").reverse() : [hostname]; + return subdomains2.slice(offset); + }, "subdomains")); + defineGetter(req, "path", /* @__PURE__ */ __name(function path() { + return parse(this).pathname; + }, "path")); + defineGetter(req, "host", /* @__PURE__ */ __name(function host() { + var trust = this.app.get("trust proxy fn"); + var val = this.get("X-Forwarded-Host"); + if (!val || !trust(this.socket.remoteAddress, 0)) { + val = this.get("Host"); + } else if (val.indexOf(",") !== -1) { + val = val.substring(0, val.indexOf(",")).trimEnd(); + } + return val || void 0; + }, "host")); + defineGetter(req, "hostname", /* @__PURE__ */ __name(function hostname() { + var host = this.host; + if (!host) return; + var offset = host[0] === "[" ? host.indexOf("]") + 1 : 0; + var index = host.indexOf(":", offset); + return index !== -1 ? host.substring(0, index) : host; + }, "hostname")); + defineGetter(req, "fresh", function() { + var method = this.method; + var res = this.res; + var status = res.statusCode; + if ("GET" !== method && "HEAD" !== method && "QUERY" !== method) return false; + if (status >= 200 && status < 300 || 304 === status) { + return fresh(this.headers, { + "etag": res.get("ETag"), + "last-modified": res.get("Last-Modified") + }); + } + return false; + }); + defineGetter(req, "stale", /* @__PURE__ */ __name(function stale() { + return !this.fresh; + }, "stale")); + defineGetter(req, "xhr", /* @__PURE__ */ __name(function xhr() { + var val = this.get("X-Requested-With") || ""; + return val.toLowerCase() === "xmlhttprequest"; + }, "xhr")); + function defineGetter(obj, name, getter) { + Object.defineProperty(obj, name, { + configurable: true, + enumerable: true, + get: getter + }); + } + __name(defineGetter, "defineGetter"); + } +}); + +// ../../node_modules/.pnpm/content-disposition@2.0.1/node_modules/content-disposition/dist/index.js +var require_dist3 = __commonJS({ + "../../node_modules/.pnpm/content-disposition@2.0.1/node_modules/content-disposition/dist/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.create = create; + exports.parse = parse; + exports.decodeExtended = decodeExtended; + exports.format = format; + exports.encodeExtended = encodeExtended; + var NullObject = /* @__PURE__ */ (() => { + const C = /* @__PURE__ */ __name(function() { + }, "C"); + C.prototype = /* @__PURE__ */ Object.create(null); + return C; + })(); + function create(filename, options) { + const type = options?.type || "attachment"; + const parameters = createParameters(filename, options?.fallback); + return format({ type, parameters }, { extended: false }); + } + __name(create, "create"); + var SP = 32; + var HTAB = 9; + var SEMI = 59; + var EQ = 61; + var DQUOTE = 34; + var BSLASH = 92; + var ASTERISK = 42; + function parse(header, options) { + const len = header.length; + const multipart = options?.multipart === true; + const extended = options?.extended !== false; + let index = skipOWS(header, 0, header.length); + const typeStart = index; + index = parseToken(header, index, len); + const typeEnd = trailingOWS(header, typeStart, index); + const type = header.slice(typeStart, typeEnd).toLowerCase(); + const parameters = new NullObject(); + parameter: while (index < len) { + index = skipOWS(header, index + 1, len); + const keyStart = index; + while (index < len) { + const char = header.charCodeAt(index); + if (char === SEMI) + continue parameter; + if (char === EQ) { + const keyEnd = trailingOWS(header, keyStart, index); + const key = header.slice(keyStart, keyEnd).toLowerCase(); + index = skipOWS(header, index + 1, len); + if (index < len && header.charCodeAt(index) === DQUOTE) { + index++; + let value2 = ""; + if (multipart) { + while (index < len) { + const code = header.charCodeAt(index++); + if (code === DQUOTE) { + index = parseToken(header, index, len); + if (parameters[key] === void 0) + parameters[key] = value2; + break; + } + if (code === /* % */ + 37 && index + 1 < len) { + const code2 = header.charCodeAt(index); + const code3 = header.charCodeAt(index + 1); + if (code2 === 50 && code3 === 50) { + value2 += '"'; + index += 2; + continue; + } + if (code2 === 48) { + if (code3 === 100 || code3 === 68) { + value2 += "\r"; + index += 2; + continue; + } + if (code3 === 97 || code3 === 65) { + value2 += "\n"; + index += 2; + continue; + } + } + } + value2 += String.fromCharCode(code); + } + } else { + while (index < len) { + const code = header.charCodeAt(index++); + if (code === DQUOTE) { + index = parseToken(header, index, len); + if (parameters[key] === void 0) + parameters[key] = value2; + break; + } + if (code === BSLASH && index < len) { + value2 += header[index++]; + continue; + } + value2 += String.fromCharCode(code); + } + } + continue parameter; + } + const valueStart = index; + index = parseToken(header, index, len); + const valueEnd = trailingOWS(header, valueStart, index); + const value = header.slice(valueStart, valueEnd); + if (parameters[key] === void 0) { + parameters[key] = value; + if (extended && key.charCodeAt(key.length - 1) === ASTERISK) { + const normalizedKey = key.slice(0, -1); + const decoded = decodeExtended(value); + if (decoded !== void 0) + parameters[normalizedKey] = decoded; + } + } + continue parameter; + } + index++; + } + } + return { type, parameters }; + } + __name(parse, "parse"); + var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g; + var NON_ASCII_REGEXP = /[^\x20-\x7e]/g; + var QUOTE_REGEXP = /[\\"]/g; + var INVALID_FILENAME_REGEXP = /%[0-9A-Fa-f]{2}/; + var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]*$/; + var ASCII_TEXT_REGEXP = /^[\x20-\x7e]*$/; + var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/; + function createParameters(filename, fallback = true) { + if (filename === void 0) + return; + if (typeof fallback === "string") { + if (!ASCII_TEXT_REGEXP.test(fallback)) { + throw new TypeError("Fallback must be valid US-ASCII: " + fallback); + } + if (fallback === filename) + return { filename }; + return { filename: fallback, "filename*": encodeExtended(filename) }; + } + if (ASCII_TEXT_REGEXP.test(filename) && !INVALID_FILENAME_REGEXP.test(filename)) { + return { filename }; + } + if (fallback === false) { + return { "filename*": encodeExtended(filename) }; + } + return { + filename: getAscii(filename), + "filename*": encodeExtended(filename) + }; + } + __name(createParameters, "createParameters"); + function decodeExtended(str) { + const charsetEnd = str.indexOf("'"); + if (charsetEnd <= 0) { + return void 0; + } + const languageEnd = str.indexOf("'", charsetEnd + 1); + if (languageEnd === -1) { + return void 0; + } + const charset = str.slice(0, charsetEnd).toLowerCase(); + const encoded = str.slice(languageEnd + 1); + switch (charset) { + case "iso-8859-1": { + return decodeHexEscapes(encoded); + } + case "utf-8": + case "utf8": { + return tryDecodeURIComponent(encoded); + } + } + return void 0; + } + __name(decodeExtended, "decodeExtended"); + function tryDecodeURIComponent(str) { + try { + return decodeURIComponent(str); + } catch { + return void 0; + } + } + __name(tryDecodeURIComponent, "tryDecodeURIComponent"); + function parseToken(str, index, len) { + while (index < len) { + const char = str.charCodeAt(index); + if (char === SEMI) + break; + index++; + } + return index; + } + __name(parseToken, "parseToken"); + function skipOWS(str, index, len) { + while (index < len) { + const char = str.charCodeAt(index); + if (char !== SP && char !== HTAB) + break; + index++; + } + return index; + } + __name(skipOWS, "skipOWS"); + function trailingOWS(str, start, end) { + while (end > start) { + const char = str.charCodeAt(end - 1); + if (char !== SP && char !== HTAB) + break; + end--; + } + return end; + } + __name(trailingOWS, "trailingOWS"); + function format(obj, options) { + const { type, parameters } = obj; + const multipart = options?.multipart === true; + const extended = options?.extended !== false; + if (!type || !TOKEN_REGEXP.test(type)) { + throw new TypeError("Invalid type: " + type); + } + let result = type; + if (parameters) { + for (const param of Object.keys(parameters)) { + const value = parameters[param]; + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError("Invalid parameter name: " + param); + } + if (multipart) { + result += "; " + param + "=" + qmultipart(value); + continue; + } + if (TOKEN_REGEXP.test(value)) { + result += "; " + param + "=" + value; + continue; + } + if (TEXT_REGEXP.test(value)) { + result += "; " + param + "=" + qstring(value); + continue; + } + if (!extended) { + throw new TypeError("Invalid parameter value: " + value); + } + result += "; " + param + "*=" + encodeExtended(value); + } + } + return result; + } + __name(format, "format"); + function getAscii(val) { + return val.replace(NON_ASCII_REGEXP, "?"); + } + __name(getAscii, "getAscii"); + function pencode(char) { + return "%" + char.charCodeAt(0).toString(16).toUpperCase(); + } + __name(pencode, "pencode"); + function qstring(str) { + return '"' + str.replace(QUOTE_REGEXP, "\\$&") + '"'; + } + __name(qstring, "qstring"); + function qmultipart(str) { + return '"' + str.replace(/[\n\r"]/g, multipartEscape) + '"'; + } + __name(qmultipart, "qmultipart"); + function multipartEscape(char) { + if (char === "\n") + return "%0A"; + if (char === "\r") + return "%0D"; + return "%22"; + } + __name(multipartEscape, "multipartEscape"); + function encodeExtended(str) { + const encoded = encodeURIComponent(str).replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode); + return "UTF-8''" + encoded; + } + __name(encodeExtended, "encodeExtended"); + function isHexDigit(char) { + const code = char.charCodeAt(0); + return code >= 48 && code <= 57 || // 0-9 + code >= 65 && code <= 70 || // A-F + code >= 97 && code <= 102; + } + __name(isHexDigit, "isHexDigit"); + function decodeHexEscapes(str) { + const firstEscape = str.indexOf("%"); + if (firstEscape === -1) + return str; + let result = str.slice(0, firstEscape); + for (let idx = firstEscape; idx < str.length; idx++) { + if (str[idx] === "%" && idx + 2 < str.length && isHexDigit(str[idx + 1]) && isHexDigit(str[idx + 2])) { + result += String.fromCharCode(Number.parseInt(str[idx + 1] + str[idx + 2], 16)); + idx += 2; + } else { + result += str[idx]; + } + } + return result; + } + __name(decodeHexEscapes, "decodeHexEscapes"); + } +}); + +// ../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js +var require_cookie_signature = __commonJS({ + "../../node_modules/.pnpm/cookie-signature@1.2.2/node_modules/cookie-signature/index.js"(exports) { + var crypto = __require("crypto"); + exports.sign = function(val, secret) { + if ("string" != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if (null == secret) throw new TypeError("Secret key must be provided."); + return val + "." + crypto.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, ""); + }; + exports.unsign = function(input, secret) { + if ("string" != typeof input) throw new TypeError("Signed cookie string must be provided."); + if (null == secret) throw new TypeError("Secret key must be provided."); + var tentativeValue = input.slice(0, input.lastIndexOf(".")), expectedInput = exports.sign(tentativeValue, secret), expectedBuffer = Buffer.from(expectedInput), inputBuffer = Buffer.from(input); + return expectedBuffer.length === inputBuffer.length && crypto.timingSafeEqual(expectedBuffer, inputBuffer) ? tentativeValue : false; + }; + } +}); + +// ../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js +var require_cookie = __commonJS({ + "../../node_modules/.pnpm/cookie@0.7.2/node_modules/cookie/index.js"(exports) { + "use strict"; + exports.parse = parse; + exports.serialize = serialize; + var __toString = Object.prototype.toString; + var __hasOwnProperty = Object.prototype.hasOwnProperty; + var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/; + var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i; + var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/; + function parse(str, opt) { + if (typeof str !== "string") { + throw new TypeError("argument str must be a string"); + } + var obj = {}; + var len = str.length; + if (len < 2) return obj; + var dec = opt && opt.decode || decode; + var index = 0; + var eqIdx = 0; + var endIdx = 0; + do { + eqIdx = str.indexOf("=", index); + if (eqIdx === -1) break; + endIdx = str.indexOf(";", index); + if (endIdx === -1) { + endIdx = len; + } else if (eqIdx > endIdx) { + index = str.lastIndexOf(";", eqIdx - 1) + 1; + continue; + } + var keyStartIdx = startIndex(str, index, eqIdx); + var keyEndIdx = endIndex(str, eqIdx, keyStartIdx); + var key = str.slice(keyStartIdx, keyEndIdx); + if (!__hasOwnProperty.call(obj, key)) { + var valStartIdx = startIndex(str, eqIdx + 1, endIdx); + var valEndIdx = endIndex(str, endIdx, valStartIdx); + if (str.charCodeAt(valStartIdx) === 34 && str.charCodeAt(valEndIdx - 1) === 34) { + valStartIdx++; + valEndIdx--; + } + var val = str.slice(valStartIdx, valEndIdx); + obj[key] = tryDecode(val, dec); + } + index = endIdx + 1; + } while (index < len); + return obj; + } + __name(parse, "parse"); + function startIndex(str, index, max) { + do { + var code = str.charCodeAt(index); + if (code !== 32 && code !== 9) return index; + } while (++index < max); + return max; + } + __name(startIndex, "startIndex"); + function endIndex(str, index, min) { + while (index > min) { + var code = str.charCodeAt(--index); + if (code !== 32 && code !== 9) return index + 1; + } + return min; + } + __name(endIndex, "endIndex"); + function serialize(name, val, opt) { + var enc = opt && opt.encode || encodeURIComponent; + if (typeof enc !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!cookieNameRegExp.test(name)) { + throw new TypeError("argument name is invalid"); + } + var value = enc(val); + if (!cookieValueRegExp.test(value)) { + throw new TypeError("argument val is invalid"); + } + var str = name + "=" + value; + if (!opt) return str; + if (null != opt.maxAge) { + var maxAge = Math.floor(opt.maxAge); + if (!isFinite(maxAge)) { + throw new TypeError("option maxAge is invalid"); + } + str += "; Max-Age=" + maxAge; + } + if (opt.domain) { + if (!domainValueRegExp.test(opt.domain)) { + throw new TypeError("option domain is invalid"); + } + str += "; Domain=" + opt.domain; + } + if (opt.path) { + if (!pathValueRegExp.test(opt.path)) { + throw new TypeError("option path is invalid"); + } + str += "; Path=" + opt.path; + } + if (opt.expires) { + var expires = opt.expires; + if (!isDate(expires) || isNaN(expires.valueOf())) { + throw new TypeError("option expires is invalid"); + } + str += "; Expires=" + expires.toUTCString(); + } + if (opt.httpOnly) { + str += "; HttpOnly"; + } + if (opt.secure) { + str += "; Secure"; + } + if (opt.partitioned) { + str += "; Partitioned"; + } + if (opt.priority) { + var priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority; + switch (priority) { + case "low": + str += "; Priority=Low"; + break; + case "medium": + str += "; Priority=Medium"; + break; + case "high": + str += "; Priority=High"; + break; + default: + throw new TypeError("option priority is invalid"); + } + } + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite; + switch (sameSite) { + case true: + str += "; SameSite=Strict"; + break; + case "lax": + str += "; SameSite=Lax"; + break; + case "strict": + str += "; SameSite=Strict"; + break; + case "none": + str += "; SameSite=None"; + break; + default: + throw new TypeError("option sameSite is invalid"); + } + } + return str; + } + __name(serialize, "serialize"); + function decode(str) { + return str.indexOf("%") !== -1 ? decodeURIComponent(str) : str; + } + __name(decode, "decode"); + function isDate(val) { + return __toString.call(val) === "[object Date]"; + } + __name(isDate, "isDate"); + function tryDecode(str, decode2) { + try { + return decode2(str); + } catch (e) { + return str; + } + } + __name(tryDecode, "tryDecode"); + } +}); + +// ../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js +var require_send = __commonJS({ + "../../node_modules/.pnpm/send@1.2.1/node_modules/send/index.js"(exports, module) { + "use strict"; + var createError = require_http_errors(); + var debug = require_src()("send"); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var etag = require_etag(); + var fresh = require_fresh(); + var fs = __require("fs"); + var mime = require_mime_types(); + var ms = require_ms(); + var onFinished = require_on_finished(); + var parseRange = require_range_parser(); + var path = __require("path"); + var statuses = require_statuses(); + var Stream = __require("stream"); + var util = __require("util"); + var extname = path.extname; + var join = path.join; + var normalize = path.normalize; + var resolve = path.resolve; + var sep = path.sep; + var BYTES_RANGE_REGEXP = /^ *bytes=/; + var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1e3; + var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/; + module.exports = send; + function send(req, path2, options) { + return new SendStream(req, path2, options); + } + __name(send, "send"); + function SendStream(req, path2, options) { + Stream.call(this); + var opts = options || {}; + this.options = opts; + this.path = path2; + this.req = req; + this._acceptRanges = opts.acceptRanges !== void 0 ? Boolean(opts.acceptRanges) : true; + this._cacheControl = opts.cacheControl !== void 0 ? Boolean(opts.cacheControl) : true; + this._etag = opts.etag !== void 0 ? Boolean(opts.etag) : true; + this._dotfiles = opts.dotfiles !== void 0 ? opts.dotfiles : "ignore"; + if (this._dotfiles !== "ignore" && this._dotfiles !== "allow" && this._dotfiles !== "deny") { + throw new TypeError('dotfiles option must be "allow", "deny", or "ignore"'); + } + this._extensions = opts.extensions !== void 0 ? normalizeList(opts.extensions, "extensions option") : []; + this._immutable = opts.immutable !== void 0 ? Boolean(opts.immutable) : false; + this._index = opts.index !== void 0 ? normalizeList(opts.index, "index option") : ["index.html"]; + this._lastModified = opts.lastModified !== void 0 ? Boolean(opts.lastModified) : true; + this._maxage = opts.maxAge || opts.maxage; + this._maxage = typeof this._maxage === "string" ? ms(this._maxage) : Number(this._maxage); + this._maxage = !isNaN(this._maxage) ? Math.min(Math.max(0, this._maxage), MAX_MAXAGE) : 0; + this._root = opts.root ? resolve(opts.root) : null; + } + __name(SendStream, "SendStream"); + util.inherits(SendStream, Stream); + SendStream.prototype.error = /* @__PURE__ */ __name(function error(status, err) { + if (hasListeners(this, "error")) { + return this.emit("error", createHttpError(status, err)); + } + var res = this.res; + var msg = statuses.message[status] || String(status); + var doc = createHtmlDocument("Error", escapeHtml(msg)); + clearHeaders(res); + if (err && err.headers) { + setHeaders(res, err.headers); + } + res.statusCode = status; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.end(doc); + }, "error"); + SendStream.prototype.hasTrailingSlash = /* @__PURE__ */ __name(function hasTrailingSlash() { + return this.path[this.path.length - 1] === "/"; + }, "hasTrailingSlash"); + SendStream.prototype.isConditionalGET = /* @__PURE__ */ __name(function isConditionalGET() { + return this.req.headers["if-match"] || this.req.headers["if-unmodified-since"] || this.req.headers["if-none-match"] || this.req.headers["if-modified-since"]; + }, "isConditionalGET"); + SendStream.prototype.isPreconditionFailure = /* @__PURE__ */ __name(function isPreconditionFailure() { + var req = this.req; + var res = this.res; + var match = req.headers["if-match"]; + if (match) { + var etag2 = res.getHeader("ETag"); + return !etag2 || match !== "*" && parseTokenList(match).every(function(match2) { + return match2 !== etag2 && match2 !== "W/" + etag2 && "W/" + match2 !== etag2; + }); + } + var unmodifiedSince = parseHttpDate(req.headers["if-unmodified-since"]); + if (!isNaN(unmodifiedSince)) { + var lastModified = parseHttpDate(res.getHeader("Last-Modified")); + return isNaN(lastModified) || lastModified > unmodifiedSince; + } + return false; + }, "isPreconditionFailure"); + SendStream.prototype.removeContentHeaderFields = /* @__PURE__ */ __name(function removeContentHeaderFields() { + var res = this.res; + res.removeHeader("Content-Encoding"); + res.removeHeader("Content-Language"); + res.removeHeader("Content-Length"); + res.removeHeader("Content-Range"); + res.removeHeader("Content-Type"); + }, "removeContentHeaderFields"); + SendStream.prototype.notModified = /* @__PURE__ */ __name(function notModified() { + var res = this.res; + debug("not modified"); + this.removeContentHeaderFields(); + res.statusCode = 304; + res.end(); + }, "notModified"); + SendStream.prototype.headersAlreadySent = /* @__PURE__ */ __name(function headersAlreadySent() { + var err = new Error("Can't set headers after they are sent."); + debug("headers already sent"); + this.error(500, err); + }, "headersAlreadySent"); + SendStream.prototype.isCachable = /* @__PURE__ */ __name(function isCachable() { + var statusCode = this.res.statusCode; + return statusCode >= 200 && statusCode < 300 || statusCode === 304; + }, "isCachable"); + SendStream.prototype.onStatError = /* @__PURE__ */ __name(function onStatError(error) { + switch (error.code) { + case "ENAMETOOLONG": + case "ENOENT": + case "ENOTDIR": + this.error(404, error); + break; + default: + this.error(500, error); + break; + } + }, "onStatError"); + SendStream.prototype.isFresh = /* @__PURE__ */ __name(function isFresh() { + return fresh(this.req.headers, { + etag: this.res.getHeader("ETag"), + "last-modified": this.res.getHeader("Last-Modified") + }); + }, "isFresh"); + SendStream.prototype.isRangeFresh = /* @__PURE__ */ __name(function isRangeFresh() { + var ifRange = this.req.headers["if-range"]; + if (!ifRange) { + return true; + } + if (ifRange.indexOf('"') !== -1) { + var etag2 = this.res.getHeader("ETag"); + return Boolean(etag2 && ifRange.indexOf(etag2) !== -1); + } + var lastModified = this.res.getHeader("Last-Modified"); + return parseHttpDate(lastModified) <= parseHttpDate(ifRange); + }, "isRangeFresh"); + SendStream.prototype.redirect = /* @__PURE__ */ __name(function redirect(path2) { + var res = this.res; + if (hasListeners(this, "directory")) { + this.emit("directory", res, path2); + return; + } + if (this.hasTrailingSlash()) { + this.error(403); + return; + } + var loc = encodeUrl(collapseLeadingSlashes(this.path + "/")); + var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc)); + res.statusCode = 301; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Location", loc); + res.end(doc); + }, "redirect"); + SendStream.prototype.pipe = /* @__PURE__ */ __name(function pipe(res) { + var root = this._root; + this.res = res; + var path2 = decode(this.path); + if (path2 === -1) { + this.error(400); + return res; + } + if (~path2.indexOf("\0")) { + this.error(400); + return res; + } + var parts; + if (root !== null) { + if (path2) { + path2 = normalize("." + sep + path2); + } + if (UP_PATH_REGEXP.test(path2)) { + debug('malicious path "%s"', path2); + this.error(403); + return res; + } + parts = path2.split(sep); + path2 = normalize(join(root, path2)); + } else { + if (UP_PATH_REGEXP.test(path2)) { + debug('malicious path "%s"', path2); + this.error(403); + return res; + } + parts = normalize(path2).split(sep); + path2 = resolve(path2); + } + if (containsDotFile(parts)) { + debug('%s dotfile "%s"', this._dotfiles, path2); + switch (this._dotfiles) { + case "allow": + break; + case "deny": + this.error(403); + return res; + case "ignore": + default: + this.error(404); + return res; + } + } + if (this._index.length && this.hasTrailingSlash()) { + this.sendIndex(path2); + return res; + } + this.sendFile(path2); + return res; + }, "pipe"); + SendStream.prototype.send = /* @__PURE__ */ __name(function send2(path2, stat) { + var len = stat.size; + var options = this.options; + var opts = {}; + var res = this.res; + var req = this.req; + var ranges = req.headers.range; + var offset = options.start || 0; + if (res.headersSent) { + this.headersAlreadySent(); + return; + } + debug('pipe "%s"', path2); + this.setHeader(path2, stat); + this.type(path2); + if (this.isConditionalGET()) { + if (this.isPreconditionFailure()) { + this.error(412); + return; + } + if (this.isCachable() && this.isFresh()) { + this.notModified(); + return; + } + } + len = Math.max(0, len - offset); + if (options.end !== void 0) { + var bytes = options.end - offset + 1; + if (len > bytes) len = bytes; + } + if (this._acceptRanges && BYTES_RANGE_REGEXP.test(ranges)) { + ranges = parseRange(len, ranges, { + combine: true + }); + if (!this.isRangeFresh()) { + debug("range stale"); + ranges = -2; + } + if (ranges === -1) { + debug("range unsatisfiable"); + res.setHeader("Content-Range", contentRange("bytes", len)); + return this.error(416, { + headers: { "Content-Range": res.getHeader("Content-Range") } + }); + } + if (ranges !== -2 && ranges.length === 1) { + debug("range %j", ranges); + res.statusCode = 206; + res.setHeader("Content-Range", contentRange("bytes", len, ranges[0])); + offset += ranges[0].start; + len = ranges[0].end - ranges[0].start + 1; + } + } + for (var prop in options) { + opts[prop] = options[prop]; + } + opts.start = offset; + opts.end = Math.max(offset, offset + len - 1); + res.setHeader("Content-Length", len); + if (req.method === "HEAD") { + res.end(); + return; + } + this.stream(path2, opts); + }, "send"); + SendStream.prototype.sendFile = /* @__PURE__ */ __name(function sendFile(path2) { + var i = 0; + var self = this; + debug('stat "%s"', path2); + fs.stat(path2, /* @__PURE__ */ __name(function onstat(err, stat) { + var pathEndsWithSep = path2[path2.length - 1] === sep; + if (err && err.code === "ENOENT" && !extname(path2) && !pathEndsWithSep) { + return next(err); + } + if (err) return self.onStatError(err); + if (stat.isDirectory()) return self.redirect(path2); + if (pathEndsWithSep) return self.error(404); + self.emit("file", path2, stat); + self.send(path2, stat); + }, "onstat")); + function next(err) { + if (self._extensions.length <= i) { + return err ? self.onStatError(err) : self.error(404); + } + var p = path2 + "." + self._extensions[i++]; + debug('stat "%s"', p); + fs.stat(p, function(err2, stat) { + if (err2) return next(err2); + if (stat.isDirectory()) return next(); + self.emit("file", p, stat); + self.send(p, stat); + }); + } + __name(next, "next"); + }, "sendFile"); + SendStream.prototype.sendIndex = /* @__PURE__ */ __name(function sendIndex(path2) { + var i = -1; + var self = this; + function next(err) { + if (++i >= self._index.length) { + if (err) return self.onStatError(err); + return self.error(404); + } + var p = join(path2, self._index[i]); + debug('stat "%s"', p); + fs.stat(p, function(err2, stat) { + if (err2) return next(err2); + if (stat.isDirectory()) return next(); + self.emit("file", p, stat); + self.send(p, stat); + }); + } + __name(next, "next"); + next(); + }, "sendIndex"); + SendStream.prototype.stream = /* @__PURE__ */ __name(function stream(path2, options) { + var self = this; + var res = this.res; + var stream2 = fs.createReadStream(path2, options); + this.emit("stream", stream2); + stream2.pipe(res); + function cleanup() { + stream2.destroy(); + } + __name(cleanup, "cleanup"); + onFinished(res, cleanup); + stream2.on("error", /* @__PURE__ */ __name(function onerror(err) { + cleanup(); + self.onStatError(err); + }, "onerror")); + stream2.on("end", /* @__PURE__ */ __name(function onend() { + self.emit("end"); + }, "onend")); + }, "stream"); + SendStream.prototype.type = /* @__PURE__ */ __name(function type(path2) { + var res = this.res; + if (res.getHeader("Content-Type")) return; + var ext = extname(path2); + var type2 = mime.contentType(ext) || "application/octet-stream"; + debug("content-type %s", type2); + res.setHeader("Content-Type", type2); + }, "type"); + SendStream.prototype.setHeader = /* @__PURE__ */ __name(function setHeader(path2, stat) { + var res = this.res; + this.emit("headers", res, path2, stat); + if (this._acceptRanges && !res.getHeader("Accept-Ranges")) { + debug("accept ranges"); + res.setHeader("Accept-Ranges", "bytes"); + } + if (this._cacheControl && !res.getHeader("Cache-Control")) { + var cacheControl = "public, max-age=" + Math.floor(this._maxage / 1e3); + if (this._immutable) { + cacheControl += ", immutable"; + } + debug("cache-control %s", cacheControl); + res.setHeader("Cache-Control", cacheControl); + } + if (this._lastModified && !res.getHeader("Last-Modified")) { + var modified = stat.mtime.toUTCString(); + debug("modified %s", modified); + res.setHeader("Last-Modified", modified); + } + if (this._etag && !res.getHeader("ETag")) { + var val = etag(stat); + debug("etag %s", val); + res.setHeader("ETag", val); + } + }, "setHeader"); + function clearHeaders(res) { + for (const header of res.getHeaderNames()) { + res.removeHeader(header); + } + } + __name(clearHeaders, "clearHeaders"); + function collapseLeadingSlashes(str) { + for (var i = 0; i < str.length; i++) { + if (str[i] !== "/") { + break; + } + } + return i > 1 ? "/" + str.substr(i) : str; + } + __name(collapseLeadingSlashes, "collapseLeadingSlashes"); + function containsDotFile(parts) { + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + if (part.length > 1 && part[0] === ".") { + return true; + } + } + return false; + } + __name(containsDotFile, "containsDotFile"); + function contentRange(type, size, range) { + return type + " " + (range ? range.start + "-" + range.end : "*") + "/" + size; + } + __name(contentRange, "contentRange"); + function createHtmlDocument(title, body) { + return '\n\n\n\n' + title + "\n\n\n
" + body + "
\n\n\n"; + } + __name(createHtmlDocument, "createHtmlDocument"); + function createHttpError(status, err) { + if (!err) { + return createError(status); + } + return err instanceof Error ? createError(status, err, { expose: false }) : createError(status, err); + } + __name(createHttpError, "createHttpError"); + function decode(path2) { + try { + return decodeURIComponent(path2); + } catch (err) { + return -1; + } + } + __name(decode, "decode"); + function hasListeners(emitter, type) { + var count = typeof emitter.listenerCount !== "function" ? emitter.listeners(type).length : emitter.listenerCount(type); + return count > 0; + } + __name(hasListeners, "hasListeners"); + function normalizeList(val, name) { + var list = [].concat(val || []); + for (var i = 0; i < list.length; i++) { + if (typeof list[i] !== "string") { + throw new TypeError(name + " must be array of strings or false"); + } + } + return list; + } + __name(normalizeList, "normalizeList"); + function parseHttpDate(date) { + var timestamp = date && Date.parse(date); + return typeof timestamp === "number" ? timestamp : NaN; + } + __name(parseHttpDate, "parseHttpDate"); + function parseTokenList(str) { + var end = 0; + var list = []; + var start = 0; + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 32: + if (start === end) { + start = end = i + 1; + } + break; + case 44: + if (start !== end) { + list.push(str.substring(start, end)); + } + start = end = i + 1; + break; + default: + end = i + 1; + break; + } + } + if (start !== end) { + list.push(str.substring(start, end)); + } + return list; + } + __name(parseTokenList, "parseTokenList"); + function setHeaders(res, headers) { + var keys = Object.keys(headers); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + res.setHeader(key, headers[key]); + } + } + __name(setHeaders, "setHeaders"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/response.js +var require_response = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/response.js"(exports, module) { + "use strict"; + var contentDisposition = require_dist3(); + var createError = require_http_errors(); + var deprecate = require_depd()("express"); + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var http2 = __require("node:http"); + var onFinished = require_on_finished(); + var mime = require_mime_types(); + var path = __require("node:path"); + var pathIsAbsolute = __require("node:path").isAbsolute; + var statuses = require_statuses(); + var sign = require_cookie_signature().sign; + var normalizeType = require_utils3().normalizeType; + var normalizeTypes = require_utils3().normalizeTypes; + var setCharset = require_utils3().setCharset; + var cookie = require_cookie(); + var send = require_send(); + var extname = path.extname; + var resolve = path.resolve; + var basename = path.basename; + var vary = require_vary(); + var { Buffer: Buffer2 } = __require("node:buffer"); + var res = Object.create(http2.ServerResponse.prototype); + module.exports = res; + res.status = /* @__PURE__ */ __name(function status(code) { + if (!Number.isInteger(code)) { + throw new TypeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be an integer.`); + } + if (code < 100 || code > 999) { + throw new RangeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be greater than 99 and less than 1000.`); + } + this.statusCode = code; + return this; + }, "status"); + res.links = function(links) { + var link = this.get("Link") || ""; + if (link) link += ", "; + return this.set("Link", link + Object.keys(links).map(function(rel) { + if (Array.isArray(links[rel])) { + return links[rel].map(function(singleLink) { + return `<${singleLink}>; rel="${rel}"`; + }).join(", "); + } else { + return `<${links[rel]}>; rel="${rel}"`; + } + }).join(", ")); + }; + res.send = /* @__PURE__ */ __name(function send2(body) { + var chunk = body; + var encoding; + var req = this.req; + var app = this.app; + switch (typeof chunk) { + // string defaulting to html + case "string": + encoding = "utf8"; + const type = this.get("Content-Type"); + if (typeof type === "string") { + this.set("Content-Type", setCharset(type, "utf-8")); + } else { + this.type("html"); + } + break; + case "boolean": + case "number": + case "object": + if (chunk === null) { + chunk = ""; + } else if (ArrayBuffer.isView(chunk)) { + if (!this.get("Content-Type")) { + this.type("bin"); + } + } else { + return this.json(chunk); + } + break; + } + var etagFn = app.get("etag fn"); + var generateETag = !this.get("ETag") && typeof etagFn === "function"; + var len; + if (chunk !== void 0) { + if (Buffer2.isBuffer(chunk)) { + len = chunk.length; + } else if (!generateETag && chunk.length < 1e3) { + len = Buffer2.byteLength(chunk, encoding); + } else { + chunk = Buffer2.from(chunk, encoding); + encoding = void 0; + len = chunk.length; + } + if (!this.get("Transfer-Encoding")) { + this.set("Content-Length", len); + } + } + var etag; + if (generateETag && len !== void 0) { + if (etag = etagFn(chunk, encoding)) { + this.set("ETag", etag); + } + } + if (req.fresh) this.status(304); + if (204 === this.statusCode || 304 === this.statusCode) { + this.removeHeader("Content-Type"); + this.removeHeader("Content-Length"); + this.removeHeader("Transfer-Encoding"); + chunk = ""; + } + if (this.statusCode === 205) { + this.set("Content-Length", "0"); + this.removeHeader("Transfer-Encoding"); + chunk = ""; + } + if (req.method === "HEAD") { + this.end(); + } else { + this.end(chunk, encoding); + } + return this; + }, "send"); + res.json = /* @__PURE__ */ __name(function json(obj) { + var app = this.app; + var escape2 = app.get("json escape"); + var replacer = app.get("json replacer"); + var spaces = app.get("json spaces"); + var body = stringify2(obj, replacer, spaces, escape2); + if (!this.get("Content-Type")) { + this.set("Content-Type", "application/json"); + } + return this.send(body); + }, "json"); + res.jsonp = /* @__PURE__ */ __name(function jsonp(obj) { + var app = this.app; + var escape2 = app.get("json escape"); + var replacer = app.get("json replacer"); + var spaces = app.get("json spaces"); + var body = stringify2(obj, replacer, spaces, escape2); + var callback = this.req.query[app.get("jsonp callback name")]; + if (!this.get("Content-Type")) { + this.set("X-Content-Type-Options", "nosniff"); + this.set("Content-Type", "application/json"); + } + if (Array.isArray(callback)) { + callback = callback[0]; + } + if (typeof callback === "string" && callback.length !== 0) { + this.set("X-Content-Type-Options", "nosniff"); + this.set("Content-Type", "text/javascript"); + callback = callback.replace(/[^\[\]\w$.]/g, ""); + if (body === void 0) { + body = ""; + } else if (typeof body === "string") { + body = body.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); + } + body = "/**/ typeof " + callback + " === 'function' && " + callback + "(" + body + ");"; + } + return this.send(body); + }, "jsonp"); + res.sendStatus = /* @__PURE__ */ __name(function sendStatus(statusCode) { + var body = statuses.message[statusCode] || String(statusCode); + this.status(statusCode); + this.type("txt"); + return this.send(body); + }, "sendStatus"); + res.sendFile = /* @__PURE__ */ __name(function sendFile(path2, options, callback) { + var done = callback; + var req = this.req; + var res2 = this; + var next = req.next; + var opts = options || {}; + if (!path2) { + throw new TypeError("path argument is required to res.sendFile"); + } + if (typeof path2 !== "string") { + throw new TypeError("path must be a string to res.sendFile"); + } + if (typeof options === "function") { + done = options; + opts = {}; + } + if (!opts.root && !pathIsAbsolute(path2)) { + throw new TypeError("path must be absolute or specify root to res.sendFile"); + } + var pathname = encodeURI(path2); + opts.etag = this.app.enabled("etag"); + var file = send(req, pathname, opts); + sendfile(res2, file, opts, function(err) { + if (done) return done(err); + if (err && err.code === "EISDIR") return next(); + if (err && err.code !== "ECONNABORTED" && err.syscall !== "write") { + next(err); + } + }); + }, "sendFile"); + res.download = /* @__PURE__ */ __name(function download(path2, filename, options, callback) { + var done = callback; + var name = filename; + var opts = options || null; + if (typeof filename === "function") { + done = filename; + name = null; + opts = null; + } else if (typeof options === "function") { + done = options; + opts = null; + } + if (typeof filename === "object" && (typeof options === "function" || options === void 0)) { + name = null; + opts = filename; + } + var headers = { + "Content-Disposition": contentDisposition.create(basename(name || path2)) + }; + if (opts && opts.headers) { + var keys = Object.keys(opts.headers); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key.toLowerCase() !== "content-disposition") { + headers[key] = opts.headers[key]; + } + } + } + opts = Object.create(opts); + opts.headers = headers; + var fullPath = !opts.root ? resolve(path2) : path2; + return this.sendFile(fullPath, opts, done); + }, "download"); + res.contentType = res.type = /* @__PURE__ */ __name(function contentType(type) { + var ct = type.indexOf("/") === -1 ? mime.contentType(type) || "application/octet-stream" : type; + return this.set("Content-Type", ct); + }, "contentType"); + res.format = function(obj) { + var req = this.req; + var next = req.next; + var keys = Object.keys(obj).filter(function(v) { + return v !== "default"; + }); + var key = keys.length > 0 ? req.accepts(keys) : false; + this.vary("Accept"); + if (key) { + this.set("Content-Type", normalizeType(key).value); + obj[key](req, this, next); + } else if (obj.default) { + obj.default(req, this, next); + } else { + next(createError(406, { + types: normalizeTypes(keys).map(function(o) { + return o.value; + }) + })); + } + return this; + }; + res.attachment = /* @__PURE__ */ __name(function attachment(filename) { + const name = filename !== void 0 ? basename(filename) : void 0; + if (name) { + this.type(extname(name)); + } + this.set("Content-Disposition", contentDisposition.create(name)); + return this; + }, "attachment"); + res.append = /* @__PURE__ */ __name(function append(field, val) { + var prev = this.get(field); + var value = val; + if (prev) { + value = Array.isArray(prev) ? prev.concat(val) : Array.isArray(val) ? [prev].concat(val) : [prev, val]; + } + return this.set(field, value); + }, "append"); + res.set = res.header = /* @__PURE__ */ __name(function header(field, val) { + if (arguments.length === 2) { + var value = Array.isArray(val) ? val.map(String) : String(val); + if (field.toLowerCase() === "content-type") { + if (Array.isArray(value)) { + throw new TypeError("Content-Type cannot be set to an Array"); + } + value = mime.contentType(value); + } + this.setHeader(field, value); + } else { + for (var key in field) { + this.set(key, field[key]); + } + } + return this; + }, "header"); + res.get = function(field) { + return this.getHeader(field); + }; + res.clearCookie = /* @__PURE__ */ __name(function clearCookie(name, options) { + const opts = { path: "/", ...options, expires: /* @__PURE__ */ new Date(1) }; + delete opts.maxAge; + return this.cookie(name, "", opts); + }, "clearCookie"); + res.cookie = function(name, value, options) { + var opts = { ...options }; + var secret = this.req.secret; + var signed = opts.signed; + if (signed && !secret) { + throw new Error('cookieParser("secret") required for signed cookies'); + } + var val = typeof value === "object" ? "j:" + JSON.stringify(value) : String(value); + if (signed) { + val = "s:" + sign(val, secret); + } + if (opts.maxAge != null) { + var maxAge = opts.maxAge - 0; + if (!isNaN(maxAge)) { + opts.expires = new Date(Date.now() + maxAge); + opts.maxAge = Math.floor(maxAge / 1e3); + } + } + if (opts.path == null) { + opts.path = "/"; + } + this.append("Set-Cookie", cookie.serialize(name, String(val), opts)); + return this; + }; + res.location = /* @__PURE__ */ __name(function location(url) { + return this.set("Location", encodeUrl(url)); + }, "location"); + res.redirect = /* @__PURE__ */ __name(function redirect(url) { + var address = url; + var body; + var status = 302; + if (arguments.length === 2) { + status = arguments[0]; + address = arguments[1]; + } + if (!address) { + deprecate("Provide a url argument"); + } + if (typeof address !== "string") { + deprecate("Url must be a string"); + } + if (typeof status !== "number") { + deprecate("Status must be a number"); + } + address = this.location(address).get("Location"); + this.format({ + text: /* @__PURE__ */ __name(function() { + body = statuses.message[status] + ". Redirecting to " + address; + }, "text"), + html: /* @__PURE__ */ __name(function() { + var u = escapeHtml(address); + body = "" + statuses.message[status] + "

" + statuses.message[status] + ". Redirecting to " + u + "

"; + }, "html"), + default: /* @__PURE__ */ __name(function() { + body = ""; + }, "default") + }); + this.status(status); + this.set("Content-Length", Buffer2.byteLength(body)); + if (this.req.method === "HEAD") { + this.end(); + } else { + this.end(body); + } + }, "redirect"); + res.vary = function(field) { + vary(this, field); + return this; + }; + res.render = /* @__PURE__ */ __name(function render(view, options, callback) { + var app = this.req.app; + var done = callback; + var opts = options || {}; + var req = this.req; + var self = this; + if (typeof options === "function") { + done = options; + opts = {}; + } + opts._locals = self.locals; + done = done || function(err, str) { + if (err) return req.next(err); + self.send(str); + }; + app.render(view, opts, done); + }, "render"); + function sendfile(res2, file, options, callback) { + var done = false; + var streaming; + function onaborted() { + if (done) return; + done = true; + var err = new Error("Request aborted"); + err.code = "ECONNABORTED"; + callback(err); + } + __name(onaborted, "onaborted"); + function ondirectory() { + if (done) return; + done = true; + var err = new Error("EISDIR, read"); + err.code = "EISDIR"; + callback(err); + } + __name(ondirectory, "ondirectory"); + function onerror(err) { + if (done) return; + done = true; + callback(err); + } + __name(onerror, "onerror"); + function onend() { + if (done) return; + done = true; + callback(); + } + __name(onend, "onend"); + function onfile() { + streaming = false; + } + __name(onfile, "onfile"); + function onfinish(err) { + if (err && err.code === "ECONNRESET") return onaborted(); + if (err) return onerror(err); + if (done) return; + setImmediate(function() { + if (streaming !== false && !done) { + onaborted(); + return; + } + if (done) return; + done = true; + callback(); + }); + } + __name(onfinish, "onfinish"); + function onstream() { + streaming = true; + } + __name(onstream, "onstream"); + file.on("directory", ondirectory); + file.on("end", onend); + file.on("error", onerror); + file.on("file", onfile); + file.on("stream", onstream); + onFinished(res2, onfinish); + if (options.headers) { + file.on("headers", /* @__PURE__ */ __name(function headers(res3) { + var obj = options.headers; + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + var k = keys[i]; + res3.setHeader(k, obj[k]); + } + }, "headers")); + } + file.pipe(res2); + } + __name(sendfile, "sendfile"); + function stringify2(value, replacer, spaces, escape2) { + var json = replacer || spaces ? JSON.stringify(value, replacer, spaces) : JSON.stringify(value); + if (escape2 && typeof json === "string") { + json = json.replace(/[<>&]/g, function(c) { + switch (c.charCodeAt(0)) { + case 60: + return "\\u003c"; + case 62: + return "\\u003e"; + case 38: + return "\\u0026"; + /* istanbul ignore next: unreachable default */ + default: + return c; + } + }); + } + return json; + } + __name(stringify2, "stringify"); + } +}); + +// ../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js +var require_serve_static = __commonJS({ + "../../node_modules/.pnpm/serve-static@2.2.1/node_modules/serve-static/index.js"(exports, module) { + "use strict"; + var encodeUrl = require_encodeurl(); + var escapeHtml = require_escape_html(); + var parseUrl = require_parseurl(); + var resolve = __require("path").resolve; + var send = require_send(); + var url = __require("url"); + module.exports = serveStatic; + function serveStatic(root, options) { + if (!root) { + throw new TypeError("root path required"); + } + if (typeof root !== "string") { + throw new TypeError("root path must be a string"); + } + var opts = Object.create(options || null); + var fallthrough = opts.fallthrough !== false; + var redirect = opts.redirect !== false; + var setHeaders = opts.setHeaders; + if (setHeaders && typeof setHeaders !== "function") { + throw new TypeError("option setHeaders must be function"); + } + opts.maxage = opts.maxage || opts.maxAge || 0; + opts.root = resolve(root); + var onDirectory = redirect ? createRedirectDirectoryListener() : createNotFoundDirectoryListener(); + return /* @__PURE__ */ __name(function serveStatic2(req, res, next) { + if (req.method !== "GET" && req.method !== "HEAD") { + if (fallthrough) { + return next(); + } + res.statusCode = 405; + res.setHeader("Allow", "GET, HEAD"); + res.setHeader("Content-Length", "0"); + res.end(); + return; + } + var forwardError = !fallthrough; + var originalUrl = parseUrl.original(req); + var path = parseUrl(req).pathname; + if (path === "/" && originalUrl.pathname.substr(-1) !== "/") { + path = ""; + } + var stream = send(req, path, opts); + stream.on("directory", onDirectory); + if (setHeaders) { + stream.on("headers", setHeaders); + } + if (fallthrough) { + stream.on("file", /* @__PURE__ */ __name(function onFile() { + forwardError = true; + }, "onFile")); + } + stream.on("error", /* @__PURE__ */ __name(function error(err) { + if (forwardError || !(err.statusCode < 500)) { + next(err); + return; + } + next(); + }, "error")); + stream.pipe(res); + }, "serveStatic"); + } + __name(serveStatic, "serveStatic"); + function collapseLeadingSlashes(str) { + for (var i = 0; i < str.length; i++) { + if (str.charCodeAt(i) !== 47) { + break; + } + } + return i > 1 ? "/" + str.substr(i) : str; + } + __name(collapseLeadingSlashes, "collapseLeadingSlashes"); + function createHtmlDocument(title, body) { + return '\n\n\n\n' + title + "\n\n\n
" + body + "
\n\n\n"; + } + __name(createHtmlDocument, "createHtmlDocument"); + function createNotFoundDirectoryListener() { + return /* @__PURE__ */ __name(function notFound() { + this.error(404); + }, "notFound"); + } + __name(createNotFoundDirectoryListener, "createNotFoundDirectoryListener"); + function createRedirectDirectoryListener() { + return /* @__PURE__ */ __name(function redirect(res) { + if (this.hasTrailingSlash()) { + this.error(404); + return; + } + var originalUrl = parseUrl.original(this.req); + originalUrl.path = null; + originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + "/"); + var loc = encodeUrl(url.format(originalUrl)); + var doc = createHtmlDocument("Redirecting", "Redirecting to " + escapeHtml(loc)); + res.statusCode = 301; + res.setHeader("Content-Type", "text/html; charset=UTF-8"); + res.setHeader("Content-Length", Buffer.byteLength(doc)); + res.setHeader("Content-Security-Policy", "default-src 'none'"); + res.setHeader("X-Content-Type-Options", "nosniff"); + res.setHeader("Location", loc); + res.end(doc); + }, "redirect"); + } + __name(createRedirectDirectoryListener, "createRedirectDirectoryListener"); + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/express.js +var require_express = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/lib/express.js"(exports, module) { + "use strict"; + var bodyParser = require_body_parser(); + var EventEmitter = __require("node:events").EventEmitter; + var mixin2 = require_merge_descriptors(); + var proto = require_application(); + var Router = require_router(); + var req = require_request(); + var res = require_response(); + exports = module.exports = createApplication; + function createApplication() { + var app = /* @__PURE__ */ __name(function(req2, res2, next) { + app.handle(req2, res2, next); + }, "app"); + mixin2(app, EventEmitter.prototype, false); + mixin2(app, proto, false); + app.request = Object.create(req, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }); + app.response = Object.create(res, { + app: { configurable: true, enumerable: true, writable: true, value: app } + }); + app.init(); + return app; + } + __name(createApplication, "createApplication"); + exports.application = proto; + exports.request = req; + exports.response = res; + exports.Route = Router.Route; + exports.Router = Router; + exports.json = bodyParser.json; + exports.raw = bodyParser.raw; + exports.static = require_serve_static(); + exports.text = bodyParser.text; + exports.urlencoded = bodyParser.urlencoded; + } +}); + +// ../../node_modules/.pnpm/express@5.3.0/node_modules/express/index.js +var require_express2 = __commonJS({ + "../../node_modules/.pnpm/express@5.3.0/node_modules/express/index.js"(exports, module) { + "use strict"; + module.exports = require_express(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-body-parser-options.util.js +function getBodyParserOptions(parser, rawBody, options) { + if (rawBody === true) { + return { + ...options, + verify: rawBodyParser + }; + } + return options || {}; +} +var rawBodyParser; +var init_get_body_parser_options_util = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-body-parser-options.util.js"() { + rawBodyParser = /* @__PURE__ */ __name((req, _res, buffer) => { + if (Buffer.isBuffer(buffer)) { + req.rawBody = buffer; + } + return true; + }, "rawBodyParser"); + __name(getBodyParserOptions, "getBodyParserOptions"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-media-type-version.util.js +function getMediaTypeVersion(acceptHeader, key) { + const mediaRanges = [].concat(acceptHeader ?? []).flatMap((value) => splitOutsideQuotes(value, ",")); + for (const mediaRange of mediaRanges) { + const [, ...parameters] = splitOutsideQuotes(mediaRange, ";"); + for (const parameter of parameters) { + const trimmedParameter = parameter.trim(); + if (trimmedParameter.startsWith(key)) { + const version = trimmedParameter.slice(key.length); + if (version.startsWith('"') && version.endsWith('"')) { + return version.slice(1, -1).replace(/\\([\s\S])/g, "$1"); + } + return version; + } + } + } + return void 0; +} +var splitOutsideQuotes; +var init_get_media_type_version_util = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/utils/get-media-type-version.util.js"() { + splitOutsideQuotes = /* @__PURE__ */ __name((value, separator) => { + const parts = []; + let start = 0; + let isQuoted = false; + const len = value.length; + for (let index = 0; index < len; index++) { + const character = value[index]; + if (isQuoted && character === "\\") { + index++; + } else if (character === '"') { + isQuoted = !isQuoted; + } else if (character === separator && !isQuoted) { + parts.push(value.slice(start, index)); + start = index + 1; + } + } + parts.push(value.slice(start)); + return parts; + }, "splitOutsideQuotes"); + __name(getMediaTypeVersion, "getMediaTypeVersion"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/select-exception-filter-metadata.util.js +var selectExceptionFilterMetadata; +var init_select_exception_filter_metadata_util = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/utils/select-exception-filter-metadata.util.js"() { + selectExceptionFilterMetadata = /* @__PURE__ */ __name((filters, exception) => filters.find(({ exceptionMetatypes }) => !exceptionMetatypes.length || exceptionMetatypes.some((ExceptionMetaType) => exception instanceof ExceptionMetaType)), "selectExceptionFilterMetadata"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/internal.js +var init_internal = __esm({ + "../../node_modules/.pnpm/@nestjs+common@12.2.0_reflect-metadata@0.2.2_rxjs@7.8.2/node_modules/@nestjs/common/internal.js"() { + init_constants(); + init_route_paramtypes_enum(); + init_shared_utils(); + init_parameter_decorator_options_util(); + init_load_package_util(); + init_cli_colors_util(); + init_random_string_generator_util(); + init_select_exception_filter_metadata_util(); + init_route_params_decorator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/serialize-cookie.js +function serializeCookie(name, value, options = {}) { + if (typeof name !== "string" || !COOKIE_NAME_REGEXP.test(name)) { + throw new TypeError(`Invalid cookie name: ${JSON.stringify(name)}`); + } + if (typeof value !== "string") { + throw new TypeError(`Invalid value for cookie "${name}": expected a string, received ${typeof value}`); + } + let encodedValue; + try { + encodedValue = encodeURIComponent(value); + } catch { + throw new TypeError(`Invalid value for cookie "${name}": not a well-formed string`); + } + let header = `${name}=${encodedValue}`; + const path = options.path ?? "/"; + if (typeof path !== "string" || !COOKIE_PATH_REGEXP.test(path)) { + throw new TypeError(`Invalid path for cookie "${name}"`); + } + header += `; Path=${path}`; + if (options.domain !== void 0) { + if (typeof options.domain !== "string" || !COOKIE_DOMAIN_REGEXP.test(options.domain)) { + throw new TypeError(`Invalid domain for cookie "${name}"`); + } + header += `; Domain=${options.domain}`; + } + if (options.maxAge !== void 0) { + if (!Number.isSafeInteger(options.maxAge)) { + throw new TypeError(`Invalid maxAge for cookie "${name}": expected an integer number of seconds`); + } + header += `; Max-Age=${options.maxAge}`; + } + if (options.expires !== void 0) { + if (!(options.expires instanceof Date) || Number.isNaN(options.expires.getTime())) { + throw new TypeError(`Invalid expires date for cookie "${name}"`); + } + header += `; Expires=${options.expires.toUTCString()}`; + } + if (options.httpOnly) { + header += "; HttpOnly"; + } + if (options.secure) { + header += "; Secure"; + } + if (options.partitioned) { + if (!options.secure) { + throw new TypeError(`Invalid options for cookie "${name}": "partitioned" requires "secure: true"`); + } + header += "; Partitioned"; + } + if (options.priority !== void 0) { + const priority = PRIORITY_VALUES.get(String(options.priority).toLowerCase()); + if (!priority) { + throw new TypeError(`Invalid priority for cookie "${name}"`); + } + header += `; Priority=${priority}`; + } + if (options.sameSite !== void 0) { + const sameSite = SAME_SITE_VALUES.get(String(options.sameSite).toLowerCase()); + if (!sameSite) { + throw new TypeError(`Invalid sameSite for cookie "${name}"`); + } + if (sameSite === "None" && !options.secure) { + throw new TypeError(`Invalid options for cookie "${name}": "sameSite: 'none'" requires "secure: true"`); + } + header += `; SameSite=${sameSite}`; + } + return header; +} +var COOKIE_NAME_REGEXP, COOKIE_DOMAIN_REGEXP, COOKIE_PATH_REGEXP, SAME_SITE_VALUES, PRIORITY_VALUES; +var init_serialize_cookie = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/serialize-cookie.js"() { + COOKIE_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + COOKIE_DOMAIN_REGEXP = /^\.?[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i; + COOKIE_PATH_REGEXP = /^[ -:<-~]*$/; + SAME_SITE_VALUES = /* @__PURE__ */ new Map([ + ["strict", "Strict"], + ["lax", "Lax"], + ["none", "None"] + ]); + PRIORITY_VALUES = /* @__PURE__ */ new Map([ + ["low", "Low"], + ["medium", "Medium"], + ["high", "High"] + ]); + __name(serializeCookie, "serializeCookie"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/http-adapter.js +var AbstractHttpAdapter; +var init_http_adapter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/http-adapter.js"() { + init_serialize_cookie(); + AbstractHttpAdapter = class { + static { + __name(this, "AbstractHttpAdapter"); + } + instance; + /** + * Native HTTP server created by {@link AbstractHttpAdapter.initHttpServer} + * and returned by {@link AbstractHttpAdapter.getHttpServer}. + */ + httpServer; + /** + * Callback registered through + * {@link AbstractHttpAdapter.setOnRouteTriggered}, if any. + */ + onRouteTriggered; + /** + * Signer built from the `cookies.secret` application option, used by + * {@link AbstractHttpAdapter.setCookie} for `signed` cookies. + */ + cookieSigner; + /** + * @param instance The framework application instance to delegate to (e.g. + * an Express `Application`). Subclasses typically create a default one + * when none is given. + */ + constructor(instance) { + this.instance = instance; + } + /** + * Asynchronous setup hook, awaited by `NestFactory.create()` and again by + * `app.init()`, so overrides must be idempotent. No-op by default. + * + * @see {@link HttpServer.init} + */ + async init() { + } + /** + * Registers a global middleware by delegating to `instance.use(...args)`. + * + * @see {@link HttpServer.use} + */ + use(...args) { + return this.instance.use(...args); + } + get(...args) { + return this.instance.get(...args); + } + post(...args) { + return this.instance.post(...args); + } + head(...args) { + return this.instance.head(...args); + } + delete(...args) { + return this.instance.delete(...args); + } + put(...args) { + return this.instance.put(...args); + } + patch(...args) { + return this.instance.patch(...args); + } + propfind(...args) { + return this.instance.propfind(...args); + } + proppatch(...args) { + return this.instance.proppatch(...args); + } + mkcol(...args) { + return this.instance.mkcol(...args); + } + copy(...args) { + return this.instance.copy(...args); + } + move(...args) { + return this.instance.move(...args); + } + lock(...args) { + return this.instance.lock(...args); + } + unlock(...args) { + return this.instance.unlock(...args); + } + all(...args) { + return this.instance.all(...args); + } + search(...args) { + return this.instance.search(...args); + } + query(...args) { + return this.instance.query(...args); + } + options(...args) { + return this.instance.options(...args); + } + listen(port, hostname, callback) { + return this.instance.listen(port, hostname, callback); + } + /** + * Returns the native HTTP server stored by + * {@link AbstractHttpAdapter.initHttpServer} (or + * {@link AbstractHttpAdapter.setHttpServer}). + * + * @see {@link HttpServer.getHttpServer} + */ + getHttpServer() { + return this.httpServer; + } + /** + * Replaces the native HTTP server returned by + * {@link AbstractHttpAdapter.getHttpServer}. Mostly useful for tests and + * for adapters that obtain the server from elsewhere. + */ + setHttpServer(httpServer) { + this.httpServer = httpServer; + } + /** + * Replaces the framework application instance that the default method + * implementations delegate to. + */ + setInstance(instance) { + this.instance = instance; + } + /** + * Returns the framework application instance passed to the constructor + * (or set through {@link AbstractHttpAdapter.setInstance}). + * + * @see {@link HttpServer.getInstance} + */ + getInstance() { + return this.instance; + } + /** + * Converts and validates a route path before registration. Returns the + * path unchanged by default; override to translate Nest's path syntax to + * the router's and to throw on invalid paths. + * + * @see {@link HttpServer.normalizePath} + */ + normalizePath(path) { + return path; + } + /** + * Registers a callback that the router invokes right before each route + * handler runs, with the resolved `RequestMethod` and the route path as + * declared (before {@link AbstractHttpAdapter.normalizePath}). The router + * wraps every handler at registration time, so the callback must be set + * before `app.init()` to take effect. Intended for instrumentation and + * devtools; there is no need to override it. + */ + setOnRouteTriggered(onRouteTriggered) { + this.onRouteTriggered = onRouteTriggered; + } + /** + * Returns the callback registered through + * {@link AbstractHttpAdapter.setOnRouteTriggered}, if any. Read by the + * router when registering routes. + */ + getOnRouteTriggered() { + return this.onRouteTriggered; + } + /** + * Registers a hook to run at the start of every request. No-op by default; + * the built-in adapters accept a `(req, res, done) => void | Promise` + * function and call `done()` to continue processing. Intended for + * instrumentation and devtools. + */ + setOnRequestHook(onRequestHook) { + } + /** + * Registers a hook to run once a response has been sent. No-op by default; + * the built-in adapters accept a `(req, res) => void | Promise` + * function. Intended for instrumentation and devtools. + */ + setOnResponseHook(onResponseHook) { + } + /** + * Called by `app.close()` before the shutdown hooks run. No-op by default; + * override to enter a "shutting down" state. + * + * @see {@link HttpServer.beforeClose} + */ + beforeClose() { + } + /** + * Translates a framework-native error into something the exception filters + * understand. Invoked by the global exception layer with every error it + * receives, before it reaches the filters; the returned value is what the + * filters see. Returns the error unchanged by default. The built-in + * adapters map, for instance, body-parser `SyntaxError`s to + * `BadRequestException`. + */ + mapException(error) { + return error; + } + /** + * Installs the request hook of the built-in HTTP security features as a + * global middleware (`use()`), which fits Express-like frameworks: the hook + * gets the request and the response, and a rejection is handed to + * `next(error)`, i.e. to the exception layer. Override when the framework + * offers an earlier request hook (the Fastify adapter uses `onRequest`). + * + * @see {@link HttpServer.registerSecurityHook} + */ + registerSecurityHook(hook) { + return this.use((request, response, next) => { + const error = hook(request, response); + return error ? next(error) : next(); + }); + } + /** + * Appends a `Set-Cookie` header through {@link AbstractHttpAdapter.appendHeader}, + * so every cookie set during a request is sent, on every platform. The + * value is percent-encoded, `path` defaults to `/` and `maxAge` is in + * seconds (not milliseconds, unlike Express' `res.cookie()`); with + * `signed: true`, the value is signed with the first `cookies.secret`. + * + * Throws a `TypeError` when the name, the value or an attribute is not + * valid per RFC 6265 (which rules out header injection through `;`, CR or + * LF) or when `sameSite: 'none'` or `partitioned` is set without `secure`, + * and an `Error` when `signed` is set but no secret is configured. + * + * @see {@link HttpServer.setCookie} + */ + setCookie(response, name, value, options = {}) { + let cookieValue = value; + if (options.signed) { + if (!this.cookieSigner) { + throw new Error(`Cannot sign cookie "${name}": no cookie secret is configured. Pass "cookies: { secret }" to NestFactory.create().`); + } + if (typeof value !== "string") { + throw new TypeError(`Invalid value for cookie "${name}": expected a string, received ${typeof value}`); + } + cookieValue = this.cookieSigner.sign(value); + } + return this.appendHeader(response, "Set-Cookie", serializeCookie(name, cookieValue, options)); + } + /** + * Appends a `Set-Cookie` header that expires the cookie immediately. + * `path` and `domain` must match the ones the cookie was set with; `maxAge`, + * `expires` and `signed` are ignored. + * + * @see {@link HttpServer.clearCookie} + */ + clearCookie(response, name, options = {}) { + return this.appendHeader(response, "Set-Cookie", serializeCookie(name, "", { + ...options, + maxAge: 0, + expires: /* @__PURE__ */ new Date(0) + })); + } + /** + * Sets the signer used for `signed` cookies. Called by `NestApplication` + * with the signer it builds from the `cookies.secret` application option; + * configure that option instead of calling this method. + * + * @internal + */ + setCookieSigner(signer) { + this.cookieSigner = signer; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/index.js +var init_adapters = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/adapters/index.js"() { + init_http_adapter(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/application-config.js +var ApplicationConfig; +var init_application_config = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/application-config.js"() { + ApplicationConfig = class { + static { + __name(this, "ApplicationConfig"); + } + ioAdapter; + globalPrefix = ""; + globalPrefixOptions = {}; + globalPipes = []; + globalFilters = []; + globalInterceptors = []; + globalGuards = []; + globalPreRequestHooks = []; + versioningOptions; + routeConflictPolicy; + routeResolutionStrategy; + cookieSigner; + globalRequestPipes = []; + globalRequestFilters = []; + globalRequestInterceptors = []; + globalRequestGuards = []; + constructor(ioAdapter = null) { + this.ioAdapter = ioAdapter; + } + setGlobalPrefix(prefix) { + this.globalPrefix = prefix; + } + getGlobalPrefix() { + return this.globalPrefix; + } + setGlobalPrefixOptions(options) { + this.globalPrefixOptions = options; + } + getGlobalPrefixOptions() { + return this.globalPrefixOptions; + } + setIoAdapter(ioAdapter) { + this.ioAdapter = ioAdapter; + } + getIoAdapter() { + return this.ioAdapter; + } + addGlobalPipe(pipe) { + this.globalPipes.push(pipe); + } + useGlobalPipes(...pipes) { + this.globalPipes = this.globalPipes.concat(pipes); + } + getGlobalFilters() { + return this.globalFilters; + } + addGlobalFilter(filter) { + this.globalFilters.push(filter); + } + useGlobalFilters(...filters) { + this.globalFilters = this.globalFilters.concat(filters); + } + getGlobalPipes() { + return this.globalPipes; + } + getGlobalInterceptors() { + return this.globalInterceptors; + } + addGlobalInterceptor(interceptor) { + this.globalInterceptors.push(interceptor); + } + useGlobalInterceptors(...interceptors) { + this.globalInterceptors = this.globalInterceptors.concat(interceptors); + } + getGlobalGuards() { + return this.globalGuards; + } + addGlobalGuard(guard) { + this.globalGuards.push(guard); + } + useGlobalGuards(...guards) { + this.globalGuards = this.globalGuards.concat(guards); + } + addGlobalRequestInterceptor(wrapper) { + this.globalRequestInterceptors.push(wrapper); + } + getGlobalRequestInterceptors() { + return this.globalRequestInterceptors; + } + addGlobalRequestPipe(wrapper) { + this.globalRequestPipes.push(wrapper); + } + getGlobalRequestPipes() { + return this.globalRequestPipes; + } + addGlobalRequestFilter(wrapper) { + this.globalRequestFilters.push(wrapper); + } + getGlobalRequestFilters() { + return this.globalRequestFilters; + } + addGlobalRequestGuard(wrapper) { + this.globalRequestGuards.push(wrapper); + } + getGlobalRequestGuards() { + return this.globalRequestGuards; + } + registerPreRequestHook(...hooks) { + this.globalPreRequestHooks = this.globalPreRequestHooks.concat(hooks); + } + getGlobalPreRequestHooks() { + return this.globalPreRequestHooks; + } + enableVersioning(options) { + if (Array.isArray(options.defaultVersion)) { + options.defaultVersion = Array.from(new Set(options.defaultVersion)); + } + this.versioningOptions = options; + } + getVersioning() { + return this.versioningOptions; + } + setRouteConflictPolicy(policy) { + this.routeConflictPolicy = policy; + } + getRouteConflictPolicy() { + return this.routeConflictPolicy; + } + setRouteResolutionStrategy(strategy) { + this.routeResolutionStrategy = strategy; + } + getRouteResolutionStrategy() { + return this.routeResolutionStrategy; + } + setCookieSigner(signer) { + this.cookieSigner = signer; + } + getCookieSigner() { + return this.cookieSigner; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/constants.js +var MESSAGES, APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER, ENHANCER_TOKEN_TO_SUBTYPE_MAP; +var init_constants2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/constants.js"() { + MESSAGES = { + APPLICATION_START: `Starting Nest application...`, + APPLICATION_READY: `Nest application successfully started`, + MICROSERVICE_READY: `Nest microservice successfully started`, + UNKNOWN_EXCEPTION_MESSAGE: "Internal server error", + ERROR_DURING_SHUTDOWN: "Error happened during shutdown", + CALL_LISTEN_FIRST: "app.listen() needs to be called before calling app.getUrl()" + }; + APP_INTERCEPTOR = "APP_INTERCEPTOR"; + APP_PIPE = "APP_PIPE"; + APP_GUARD = "APP_GUARD"; + APP_FILTER = "APP_FILTER"; + ENHANCER_TOKEN_TO_SUBTYPE_MAP = { + [APP_GUARD]: "guard", + [APP_INTERCEPTOR]: "interceptor", + [APP_PIPE]: "pipe", + [APP_FILTER]: "filter" + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/metadata-scanner.js +var MetadataScanner; +var init_metadata_scanner = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/metadata-scanner.js"() { + init_internal(); + MetadataScanner = class { + static { + __name(this, "MetadataScanner"); + } + cachedScannedPrototypes = /* @__PURE__ */ new Map(); + /** + * @deprecated + * @see {@link getAllMethodNames} + * @see getAllMethodNames + */ + scanFromPrototype(instance, prototype, callback) { + if (!prototype) { + return []; + } + const visitedNames = /* @__PURE__ */ new Map(); + const result = []; + do { + for (const property of Object.getOwnPropertyNames(prototype)) { + if (visitedNames.has(property)) { + continue; + } + visitedNames.set(property, true); + const descriptor = Object.getOwnPropertyDescriptor(prototype, property); + if (descriptor.set || descriptor.get || isConstructor(property) || !isFunction(prototype[property])) { + continue; + } + const value = callback(property); + if (isNil(value)) { + continue; + } + result.push(value); + } + } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype); + return result; + } + /** + * @deprecated + * @see {@link getAllMethodNames} + * @see getAllMethodNames + */ + *getAllFilteredMethodNames(prototype) { + yield* this.getAllMethodNames(prototype); + } + getAllMethodNames(prototype) { + if (!prototype) { + return []; + } + if (this.cachedScannedPrototypes.has(prototype)) { + return this.cachedScannedPrototypes.get(prototype); + } + const visitedNames = /* @__PURE__ */ new Map(); + const result = []; + this.cachedScannedPrototypes.set(prototype, result); + do { + for (const property of Object.getOwnPropertyNames(prototype)) { + if (visitedNames.has(property)) { + continue; + } + visitedNames.set(property, true); + const descriptor = Object.getOwnPropertyDescriptor(prototype, property); + if (descriptor.set || descriptor.get || isConstructor(property) || !isFunction(prototype[property])) { + continue; + } + result.push(property); + } + } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype); + return result; + } + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js +var require_performanceTimestampProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.performanceTimestampProvider = void 0; + exports.performanceTimestampProvider = { + now: /* @__PURE__ */ __name(function() { + return (exports.performanceTimestampProvider.delegate || performance).now(); + }, "now"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js +var require_animationFrameProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from2) { + for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++) + to[j] = from2[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.animationFrameProvider = void 0; + var Subscription_1 = require_Subscription(); + exports.animationFrameProvider = { + schedule: /* @__PURE__ */ __name(function(callback) { + var request = requestAnimationFrame; + var cancel = cancelAnimationFrame; + var delegate = exports.animationFrameProvider.delegate; + if (delegate) { + request = delegate.requestAnimationFrame; + cancel = delegate.cancelAnimationFrame; + } + var handle = request(function(timestamp) { + cancel = void 0; + callback(timestamp); + }); + return new Subscription_1.Subscription(function() { + return cancel === null || cancel === void 0 ? void 0 : cancel(handle); + }); + }, "schedule"), + requestAnimationFrame: /* @__PURE__ */ __name(function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var delegate = exports.animationFrameProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args))); + }, "requestAnimationFrame"), + cancelAnimationFrame: /* @__PURE__ */ __name(function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var delegate = exports.animationFrameProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args))); + }, "cancelAnimationFrame"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js +var require_animationFrames = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.animationFrames = void 0; + var Observable_1 = require_Observable(); + var performanceTimestampProvider_1 = require_performanceTimestampProvider(); + var animationFrameProvider_1 = require_animationFrameProvider(); + function animationFrames(timestampProvider) { + return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES; + } + __name(animationFrames, "animationFrames"); + exports.animationFrames = animationFrames; + function animationFramesFactory(timestampProvider) { + return new Observable_1.Observable(function(subscriber) { + var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider; + var start = provider.now(); + var id = 0; + var run = /* @__PURE__ */ __name(function() { + if (!subscriber.closed) { + id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function(timestamp) { + id = 0; + var now = provider.now(); + subscriber.next({ + timestamp: timestampProvider ? now : timestamp, + elapsed: now - start + }); + run(); + }); + } + }, "run"); + run(); + return function() { + if (id) { + animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id); + } + }; + }); + } + __name(animationFramesFactory, "animationFramesFactory"); + var DEFAULT_ANIMATION_FRAMES = animationFramesFactory(); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/Immediate.js +var require_Immediate = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/Immediate.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TestTools = exports.Immediate = void 0; + var nextHandle = 1; + var resolved; + var activeHandles = {}; + function findAndClearHandle(handle) { + if (handle in activeHandles) { + delete activeHandles[handle]; + return true; + } + return false; + } + __name(findAndClearHandle, "findAndClearHandle"); + exports.Immediate = { + setImmediate: /* @__PURE__ */ __name(function(cb) { + var handle = nextHandle++; + activeHandles[handle] = true; + if (!resolved) { + resolved = Promise.resolve(); + } + resolved.then(function() { + return findAndClearHandle(handle) && cb(); + }); + return handle; + }, "setImmediate"), + clearImmediate: /* @__PURE__ */ __name(function(handle) { + findAndClearHandle(handle); + }, "clearImmediate") + }; + exports.TestTools = { + pending: /* @__PURE__ */ __name(function() { + return Object.keys(activeHandles).length; + }, "pending") + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js +var require_immediateProvider = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from2) { + for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++) + to[j] = from2[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.immediateProvider = void 0; + var Immediate_1 = require_Immediate(); + var setImmediate2 = Immediate_1.Immediate.setImmediate; + var clearImmediate = Immediate_1.Immediate.clearImmediate; + exports.immediateProvider = { + setImmediate: /* @__PURE__ */ __name(function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var delegate = exports.immediateProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate2).apply(void 0, __spreadArray([], __read(args))); + }, "setImmediate"), + clearImmediate: /* @__PURE__ */ __name(function(handle) { + var delegate = exports.immediateProvider.delegate; + return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle); + }, "clearImmediate"), + delegate: void 0 + }; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js +var require_AsapAction = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AsapAction = void 0; + var AsyncAction_1 = require_AsyncAction(); + var immediateProvider_1 = require_immediateProvider(); + var AsapAction = (function(_super) { + __extends(AsapAction2, _super); + function AsapAction2(scheduler, work) { + var _this = _super.call(this, scheduler, work) || this; + _this.scheduler = scheduler; + _this.work = work; + return _this; + } + __name(AsapAction2, "AsapAction"); + AsapAction2.prototype.requestAsyncId = function(scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + if (delay !== null && delay > 0) { + return _super.prototype.requestAsyncId.call(this, scheduler, id, delay); + } + scheduler.actions.push(this); + return scheduler._scheduled || (scheduler._scheduled = immediateProvider_1.immediateProvider.setImmediate(scheduler.flush.bind(scheduler, void 0))); + }; + AsapAction2.prototype.recycleAsyncId = function(scheduler, id, delay) { + var _a; + if (delay === void 0) { + delay = 0; + } + if (delay != null ? delay > 0 : this.delay > 0) { + return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay); + } + var actions = scheduler.actions; + if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) { + immediateProvider_1.immediateProvider.clearImmediate(id); + if (scheduler._scheduled === id) { + scheduler._scheduled = void 0; + } + } + return void 0; + }; + return AsapAction2; + })(AsyncAction_1.AsyncAction); + exports.AsapAction = AsapAction; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js +var require_AsapScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AsapScheduler = void 0; + var AsyncScheduler_1 = require_AsyncScheduler(); + var AsapScheduler = (function(_super) { + __extends(AsapScheduler2, _super); + function AsapScheduler2() { + return _super !== null && _super.apply(this, arguments) || this; + } + __name(AsapScheduler2, "AsapScheduler"); + AsapScheduler2.prototype.flush = function(action) { + this._active = true; + var flushId = this._scheduled; + this._scheduled = void 0; + var actions = this.actions; + var error; + action = action || actions.shift(); + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while ((action = actions[0]) && action.id === flushId && actions.shift()); + this._active = false; + if (error) { + while ((action = actions[0]) && action.id === flushId && actions.shift()) { + action.unsubscribe(); + } + throw error; + } + }; + return AsapScheduler2; + })(AsyncScheduler_1.AsyncScheduler); + exports.AsapScheduler = AsapScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js +var require_asap = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.asap = exports.asapScheduler = void 0; + var AsapAction_1 = require_AsapAction(); + var AsapScheduler_1 = require_AsapScheduler(); + exports.asapScheduler = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction); + exports.asap = exports.asapScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js +var require_QueueAction = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.QueueAction = void 0; + var AsyncAction_1 = require_AsyncAction(); + var QueueAction = (function(_super) { + __extends(QueueAction2, _super); + function QueueAction2(scheduler, work) { + var _this = _super.call(this, scheduler, work) || this; + _this.scheduler = scheduler; + _this.work = work; + return _this; + } + __name(QueueAction2, "QueueAction"); + QueueAction2.prototype.schedule = function(state, delay) { + if (delay === void 0) { + delay = 0; + } + if (delay > 0) { + return _super.prototype.schedule.call(this, state, delay); + } + this.delay = delay; + this.state = state; + this.scheduler.flush(this); + return this; + }; + QueueAction2.prototype.execute = function(state, delay) { + return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay); + }; + QueueAction2.prototype.requestAsyncId = function(scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + if (delay != null && delay > 0 || delay == null && this.delay > 0) { + return _super.prototype.requestAsyncId.call(this, scheduler, id, delay); + } + scheduler.flush(this); + return 0; + }; + return QueueAction2; + })(AsyncAction_1.AsyncAction); + exports.QueueAction = QueueAction; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js +var require_QueueScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.QueueScheduler = void 0; + var AsyncScheduler_1 = require_AsyncScheduler(); + var QueueScheduler = (function(_super) { + __extends(QueueScheduler2, _super); + function QueueScheduler2() { + return _super !== null && _super.apply(this, arguments) || this; + } + __name(QueueScheduler2, "QueueScheduler"); + return QueueScheduler2; + })(AsyncScheduler_1.AsyncScheduler); + exports.QueueScheduler = QueueScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js +var require_queue = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.queue = exports.queueScheduler = void 0; + var QueueAction_1 = require_QueueAction(); + var QueueScheduler_1 = require_QueueScheduler(); + exports.queueScheduler = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction); + exports.queue = exports.queueScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js +var require_AnimationFrameAction = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AnimationFrameAction = void 0; + var AsyncAction_1 = require_AsyncAction(); + var animationFrameProvider_1 = require_animationFrameProvider(); + var AnimationFrameAction = (function(_super) { + __extends(AnimationFrameAction2, _super); + function AnimationFrameAction2(scheduler, work) { + var _this = _super.call(this, scheduler, work) || this; + _this.scheduler = scheduler; + _this.work = work; + return _this; + } + __name(AnimationFrameAction2, "AnimationFrameAction"); + AnimationFrameAction2.prototype.requestAsyncId = function(scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + if (delay !== null && delay > 0) { + return _super.prototype.requestAsyncId.call(this, scheduler, id, delay); + } + scheduler.actions.push(this); + return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function() { + return scheduler.flush(void 0); + })); + }; + AnimationFrameAction2.prototype.recycleAsyncId = function(scheduler, id, delay) { + var _a; + if (delay === void 0) { + delay = 0; + } + if (delay != null ? delay > 0 : this.delay > 0) { + return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay); + } + var actions = scheduler.actions; + if (id != null && id === scheduler._scheduled && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) { + animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id); + scheduler._scheduled = void 0; + } + return void 0; + }; + return AnimationFrameAction2; + })(AsyncAction_1.AsyncAction); + exports.AnimationFrameAction = AnimationFrameAction; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js +var require_AnimationFrameScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.AnimationFrameScheduler = void 0; + var AsyncScheduler_1 = require_AsyncScheduler(); + var AnimationFrameScheduler = (function(_super) { + __extends(AnimationFrameScheduler2, _super); + function AnimationFrameScheduler2() { + return _super !== null && _super.apply(this, arguments) || this; + } + __name(AnimationFrameScheduler2, "AnimationFrameScheduler"); + AnimationFrameScheduler2.prototype.flush = function(action) { + this._active = true; + var flushId; + if (action) { + flushId = action.id; + } else { + flushId = this._scheduled; + this._scheduled = void 0; + } + var actions = this.actions; + var error; + action = action || actions.shift(); + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while ((action = actions[0]) && action.id === flushId && actions.shift()); + this._active = false; + if (error) { + while ((action = actions[0]) && action.id === flushId && actions.shift()) { + action.unsubscribe(); + } + throw error; + } + }; + return AnimationFrameScheduler2; + })(AsyncScheduler_1.AsyncScheduler); + exports.AnimationFrameScheduler = AnimationFrameScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js +var require_animationFrame = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.animationFrame = exports.animationFrameScheduler = void 0; + var AnimationFrameAction_1 = require_AnimationFrameAction(); + var AnimationFrameScheduler_1 = require_AnimationFrameScheduler(); + exports.animationFrameScheduler = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction); + exports.animationFrame = exports.animationFrameScheduler; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js +var require_VirtualTimeScheduler = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js"(exports) { + "use strict"; + var __extends = exports && exports.__extends || /* @__PURE__ */ (function() { + var extendStatics = /* @__PURE__ */ __name(function(d, b) { + extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { + d2.__proto__ = b2; + } || function(d2, b2) { + for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p]; + }; + return extendStatics(d, b); + }, "extendStatics"); + return function(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + __name(__, "__"); + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; + })(); + Object.defineProperty(exports, "__esModule", { value: true }); + exports.VirtualAction = exports.VirtualTimeScheduler = void 0; + var AsyncAction_1 = require_AsyncAction(); + var Subscription_1 = require_Subscription(); + var AsyncScheduler_1 = require_AsyncScheduler(); + var VirtualTimeScheduler = (function(_super) { + __extends(VirtualTimeScheduler2, _super); + function VirtualTimeScheduler2(schedulerActionCtor, maxFrames) { + if (schedulerActionCtor === void 0) { + schedulerActionCtor = VirtualAction; + } + if (maxFrames === void 0) { + maxFrames = Infinity; + } + var _this = _super.call(this, schedulerActionCtor, function() { + return _this.frame; + }) || this; + _this.maxFrames = maxFrames; + _this.frame = 0; + _this.index = -1; + return _this; + } + __name(VirtualTimeScheduler2, "VirtualTimeScheduler"); + VirtualTimeScheduler2.prototype.flush = function() { + var _a = this, actions = _a.actions, maxFrames = _a.maxFrames; + var error; + var action; + while ((action = actions[0]) && action.delay <= maxFrames) { + actions.shift(); + this.frame = action.delay; + if (error = action.execute(action.state, action.delay)) { + break; + } + } + if (error) { + while (action = actions.shift()) { + action.unsubscribe(); + } + throw error; + } + }; + VirtualTimeScheduler2.frameTimeFactor = 10; + return VirtualTimeScheduler2; + })(AsyncScheduler_1.AsyncScheduler); + exports.VirtualTimeScheduler = VirtualTimeScheduler; + var VirtualAction = (function(_super) { + __extends(VirtualAction2, _super); + function VirtualAction2(scheduler, work, index) { + if (index === void 0) { + index = scheduler.index += 1; + } + var _this = _super.call(this, scheduler, work) || this; + _this.scheduler = scheduler; + _this.work = work; + _this.index = index; + _this.active = true; + _this.index = scheduler.index = index; + return _this; + } + __name(VirtualAction2, "VirtualAction"); + VirtualAction2.prototype.schedule = function(state, delay) { + if (delay === void 0) { + delay = 0; + } + if (Number.isFinite(delay)) { + if (!this.id) { + return _super.prototype.schedule.call(this, state, delay); + } + this.active = false; + var action = new VirtualAction2(this.scheduler, this.work); + this.add(action); + return action.schedule(state, delay); + } else { + return Subscription_1.Subscription.EMPTY; + } + }; + VirtualAction2.prototype.requestAsyncId = function(scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + this.delay = scheduler.frame + delay; + var actions = scheduler.actions; + actions.push(this); + actions.sort(VirtualAction2.sortActions); + return 1; + }; + VirtualAction2.prototype.recycleAsyncId = function(scheduler, id, delay) { + if (delay === void 0) { + delay = 0; + } + return void 0; + }; + VirtualAction2.prototype._execute = function(state, delay) { + if (this.active === true) { + return _super.prototype._execute.call(this, state, delay); + } + }; + VirtualAction2.sortActions = function(a, b) { + if (a.delay === b.delay) { + if (a.index === b.index) { + return 0; + } else if (a.index > b.index) { + return 1; + } else { + return -1; + } + } else if (a.delay > b.delay) { + return 1; + } else { + return -1; + } + }; + return VirtualAction2; + })(AsyncAction_1.AsyncAction); + exports.VirtualAction = VirtualAction; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isObservable.js +var require_isObservable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/util/isObservable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.isObservable = void 0; + var Observable_1 = require_Observable(); + var isFunction_1 = require_isFunction(); + function isObservable6(obj) { + return !!obj && (obj instanceof Observable_1.Observable || isFunction_1.isFunction(obj.lift) && isFunction_1.isFunction(obj.subscribe)); + } + __name(isObservable6, "isObservable"); + exports.isObservable = isObservable6; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js +var require_lastValueFrom = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.lastValueFrom = void 0; + var EmptyError_1 = require_EmptyError(); + function lastValueFrom4(source, config) { + var hasConfig = typeof config === "object"; + return new Promise(function(resolve, reject) { + var _hasValue = false; + var _value; + source.subscribe({ + next: /* @__PURE__ */ __name(function(value) { + _value = value; + _hasValue = true; + }, "next"), + error: reject, + complete: /* @__PURE__ */ __name(function() { + if (_hasValue) { + resolve(_value); + } else if (hasConfig) { + resolve(config.defaultValue); + } else { + reject(new EmptyError_1.EmptyError()); + } + }, "complete") + }); + }); + } + __name(lastValueFrom4, "lastValueFrom"); + exports.lastValueFrom = lastValueFrom4; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js +var require_firstValueFrom = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.firstValueFrom = void 0; + var EmptyError_1 = require_EmptyError(); + var Subscriber_1 = require_Subscriber(); + function firstValueFrom(source, config) { + var hasConfig = typeof config === "object"; + return new Promise(function(resolve, reject) { + var subscriber = new Subscriber_1.SafeSubscriber({ + next: /* @__PURE__ */ __name(function(value) { + resolve(value); + subscriber.unsubscribe(); + }, "next"), + error: reject, + complete: /* @__PURE__ */ __name(function() { + if (hasConfig) { + resolve(config.defaultValue); + } else { + reject(new EmptyError_1.EmptyError()); + } + }, "complete") + }); + source.subscribe(subscriber); + }); + } + __name(firstValueFrom, "firstValueFrom"); + exports.firstValueFrom = firstValueFrom; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js +var require_bindCallbackInternals = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + var __spreadArray = exports && exports.__spreadArray || function(to, from2) { + for (var i = 0, il = from2.length, j = to.length; i < il; i++, j++) + to[j] = from2[i]; + return to; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bindCallbackInternals = void 0; + var isScheduler_1 = require_isScheduler(); + var Observable_1 = require_Observable(); + var subscribeOn_1 = require_subscribeOn(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var observeOn_1 = require_observeOn(); + var AsyncSubject_1 = require_AsyncSubject(); + function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) { + if (resultSelector) { + if (isScheduler_1.isScheduler(resultSelector)) { + scheduler = resultSelector; + } else { + return function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler).apply(this, args).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)); + }; + } + } + if (scheduler) { + return function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return bindCallbackInternals(isNodeStyle, callbackFunc).apply(this, args).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler)); + }; + } + return function() { + var _this = this; + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var subject = new AsyncSubject_1.AsyncSubject(); + var uninitialized = true; + return new Observable_1.Observable(function(subscriber) { + var subs = subject.subscribe(subscriber); + if (uninitialized) { + uninitialized = false; + var isAsync_1 = false; + var isComplete_1 = false; + callbackFunc.apply(_this, __spreadArray(__spreadArray([], __read(args)), [ + function() { + var results = []; + for (var _i2 = 0; _i2 < arguments.length; _i2++) { + results[_i2] = arguments[_i2]; + } + if (isNodeStyle) { + var err = results.shift(); + if (err != null) { + subject.error(err); + return; + } + } + subject.next(1 < results.length ? results : results[0]); + isComplete_1 = true; + if (isAsync_1) { + subject.complete(); + } + } + ])); + if (isComplete_1) { + subject.complete(); + } + isAsync_1 = true; + } + return subs; + }); + }; + } + __name(bindCallbackInternals, "bindCallbackInternals"); + exports.bindCallbackInternals = bindCallbackInternals; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js +var require_bindCallback = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bindCallback = void 0; + var bindCallbackInternals_1 = require_bindCallbackInternals(); + function bindCallback(callbackFunc, resultSelector, scheduler) { + return bindCallbackInternals_1.bindCallbackInternals(false, callbackFunc, resultSelector, scheduler); + } + __name(bindCallback, "bindCallback"); + exports.bindCallback = bindCallback; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js +var require_bindNodeCallback = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.bindNodeCallback = void 0; + var bindCallbackInternals_1 = require_bindCallbackInternals(); + function bindNodeCallback(callbackFunc, resultSelector, scheduler) { + return bindCallbackInternals_1.bindCallbackInternals(true, callbackFunc, resultSelector, scheduler); + } + __name(bindNodeCallback, "bindNodeCallback"); + exports.bindNodeCallback = bindNodeCallback; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/defer.js +var require_defer = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/defer.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.defer = void 0; + var Observable_1 = require_Observable(); + var innerFrom_1 = require_innerFrom(); + function defer2(observableFactory) { + return new Observable_1.Observable(function(subscriber) { + innerFrom_1.innerFrom(observableFactory()).subscribe(subscriber); + }); + } + __name(defer2, "defer"); + exports.defer = defer2; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/connectable.js +var require_connectable = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/connectable.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.connectable = void 0; + var Subject_1 = require_Subject(); + var Observable_1 = require_Observable(); + var defer_1 = require_defer(); + var DEFAULT_CONFIG = { + connector: /* @__PURE__ */ __name(function() { + return new Subject_1.Subject(); + }, "connector"), + resetOnDisconnect: true + }; + function connectable(source, config) { + if (config === void 0) { + config = DEFAULT_CONFIG; + } + var connection = null; + var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a; + var subject = connector(); + var result = new Observable_1.Observable(function(subscriber) { + return subject.subscribe(subscriber); + }); + result.connect = function() { + if (!connection || connection.closed) { + connection = defer_1.defer(function() { + return source; + }).subscribe(subject); + if (resetOnDisconnect) { + connection.add(function() { + return subject = connector(); + }); + } + } + return connection; + }; + return result; + } + __name(connectable, "connectable"); + exports.connectable = connectable; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js +var require_forkJoin = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.forkJoin = void 0; + var Observable_1 = require_Observable(); + var argsArgArrayOrObject_1 = require_argsArgArrayOrObject(); + var innerFrom_1 = require_innerFrom(); + var args_1 = require_args(); + var OperatorSubscriber_1 = require_OperatorSubscriber(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var createObject_1 = require_createObject(); + function forkJoin() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var resultSelector = args_1.popResultSelector(args); + var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), sources = _a.args, keys = _a.keys; + var result = new Observable_1.Observable(function(subscriber) { + var length = sources.length; + if (!length) { + subscriber.complete(); + return; + } + var values = new Array(length); + var remainingCompletions = length; + var remainingEmissions = length; + var _loop_1 = /* @__PURE__ */ __name(function(sourceIndex2) { + var hasValue = false; + innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) { + if (!hasValue) { + hasValue = true; + remainingEmissions--; + } + values[sourceIndex2] = value; + }, function() { + return remainingCompletions--; + }, void 0, function() { + if (!remainingCompletions || !hasValue) { + if (!remainingEmissions) { + subscriber.next(keys ? createObject_1.createObject(keys, values) : values); + } + subscriber.complete(); + } + })); + }, "_loop_1"); + for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) { + _loop_1(sourceIndex); + } + }); + return resultSelector ? result.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result; + } + __name(forkJoin, "forkJoin"); + exports.forkJoin = forkJoin; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js +var require_fromEvent = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js"(exports) { + "use strict"; + var __read = exports && exports.__read || function(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { error }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; + } + } + return ar; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEvent = void 0; + var innerFrom_1 = require_innerFrom(); + var Observable_1 = require_Observable(); + var mergeMap_1 = require_mergeMap(); + var isArrayLike_1 = require_isArrayLike(); + var isFunction_1 = require_isFunction(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + var nodeEventEmitterMethods = ["addListener", "removeListener"]; + var eventTargetMethods = ["addEventListener", "removeEventListener"]; + var jqueryMethods = ["on", "off"]; + function fromEvent(target, eventName, options, resultSelector) { + if (isFunction_1.isFunction(options)) { + resultSelector = options; + options = void 0; + } + if (resultSelector) { + return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)); + } + var _a = __read(isEventTarget(target) ? eventTargetMethods.map(function(methodName) { + return function(handler) { + return target[methodName](eventName, handler, options); + }; + }) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a[0], remove = _a[1]; + if (!add) { + if (isArrayLike_1.isArrayLike(target)) { + return mergeMap_1.mergeMap(function(subTarget) { + return fromEvent(subTarget, eventName, options); + })(innerFrom_1.innerFrom(target)); + } + } + if (!add) { + throw new TypeError("Invalid event target"); + } + return new Observable_1.Observable(function(subscriber) { + var handler = /* @__PURE__ */ __name(function() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return subscriber.next(1 < args.length ? args : args[0]); + }, "handler"); + add(handler); + return function() { + return remove(handler); + }; + }); + } + __name(fromEvent, "fromEvent"); + exports.fromEvent = fromEvent; + function toCommonHandlerRegistry(target, eventName) { + return function(methodName) { + return function(handler) { + return target[methodName](eventName, handler); + }; + }; + } + __name(toCommonHandlerRegistry, "toCommonHandlerRegistry"); + function isNodeStyleEventEmitter(target) { + return isFunction_1.isFunction(target.addListener) && isFunction_1.isFunction(target.removeListener); + } + __name(isNodeStyleEventEmitter, "isNodeStyleEventEmitter"); + function isJQueryStyleEventEmitter(target) { + return isFunction_1.isFunction(target.on) && isFunction_1.isFunction(target.off); + } + __name(isJQueryStyleEventEmitter, "isJQueryStyleEventEmitter"); + function isEventTarget(target) { + return isFunction_1.isFunction(target.addEventListener) && isFunction_1.isFunction(target.removeEventListener); + } + __name(isEventTarget, "isEventTarget"); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js +var require_fromEventPattern = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.fromEventPattern = void 0; + var Observable_1 = require_Observable(); + var isFunction_1 = require_isFunction(); + var mapOneOrManyArgs_1 = require_mapOneOrManyArgs(); + function fromEventPattern(addHandler, removeHandler, resultSelector) { + if (resultSelector) { + return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)); + } + return new Observable_1.Observable(function(subscriber) { + var handler = /* @__PURE__ */ __name(function() { + var e = []; + for (var _i = 0; _i < arguments.length; _i++) { + e[_i] = arguments[_i]; + } + return subscriber.next(e.length === 1 ? e[0] : e); + }, "handler"); + var retValue = addHandler(handler); + return isFunction_1.isFunction(removeHandler) ? function() { + return removeHandler(handler, retValue); + } : void 0; + }); + } + __name(fromEventPattern, "fromEventPattern"); + exports.fromEventPattern = fromEventPattern; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/generate.js +var require_generate = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/generate.js"(exports) { + "use strict"; + var __generator = exports && exports.__generator || function(thisArg, body) { + var _ = { label: 0, sent: /* @__PURE__ */ __name(function() { + if (t[0] & 1) throw t[1]; + return t[1]; + }, "sent"), trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { + return this; + }), g; + function verb(n) { + return function(v) { + return step([n, v]); + }; + } + __name(verb, "verb"); + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + __name(step, "step"); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.generate = void 0; + var identity_1 = require_identity(); + var isScheduler_1 = require_isScheduler(); + var defer_1 = require_defer(); + var scheduleIterable_1 = require_scheduleIterable(); + function generate(initialStateOrOptions, condition, iterate20, resultSelectorOrScheduler, scheduler) { + var _a, _b; + var resultSelector; + var initialState; + if (arguments.length === 1) { + _a = initialStateOrOptions, initialState = _a.initialState, condition = _a.condition, iterate20 = _a.iterate, _b = _a.resultSelector, resultSelector = _b === void 0 ? identity_1.identity : _b, scheduler = _a.scheduler; + } else { + initialState = initialStateOrOptions; + if (!resultSelectorOrScheduler || isScheduler_1.isScheduler(resultSelectorOrScheduler)) { + resultSelector = identity_1.identity; + scheduler = resultSelectorOrScheduler; + } else { + resultSelector = resultSelectorOrScheduler; + } + } + function gen() { + var state; + return __generator(this, function(_a2) { + switch (_a2.label) { + case 0: + state = initialState; + _a2.label = 1; + case 1: + if (!(!condition || condition(state))) return [3, 4]; + return [4, resultSelector(state)]; + case 2: + _a2.sent(); + _a2.label = 3; + case 3: + state = iterate20(state); + return [3, 1]; + case 4: + return [2]; + } + }); + } + __name(gen, "gen"); + return defer_1.defer(scheduler ? function() { + return scheduleIterable_1.scheduleIterable(gen(), scheduler); + } : gen); + } + __name(generate, "generate"); + exports.generate = generate; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/iif.js +var require_iif = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/iif.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.iif = void 0; + var defer_1 = require_defer(); + function iif(condition, trueResult, falseResult) { + return defer_1.defer(function() { + return condition() ? trueResult : falseResult; + }); + } + __name(iif, "iif"); + exports.iif = iif; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/merge.js +var require_merge = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/merge.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.merge = void 0; + var mergeAll_1 = require_mergeAll(); + var innerFrom_1 = require_innerFrom(); + var empty_1 = require_empty(); + var args_1 = require_args(); + var from_1 = require_from(); + function merge() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var scheduler = args_1.popScheduler(args); + var concurrent = args_1.popNumber(args, Infinity); + var sources = args; + return !sources.length ? empty_1.EMPTY : sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : mergeAll_1.mergeAll(concurrent)(from_1.from(sources, scheduler)); + } + __name(merge, "merge"); + exports.merge = merge; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/never.js +var require_never = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/never.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.never = exports.NEVER = void 0; + var Observable_1 = require_Observable(); + var noop_1 = require_noop(); + exports.NEVER = new Observable_1.Observable(noop_1.noop); + function never() { + return exports.NEVER; + } + __name(never, "never"); + exports.never = never; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/pairs.js +var require_pairs = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/pairs.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.pairs = void 0; + var from_1 = require_from(); + function pairs(obj, scheduler) { + return from_1.from(Object.entries(obj), scheduler); + } + __name(pairs, "pairs"); + exports.pairs = pairs; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/partition.js +var require_partition = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/partition.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.partition = void 0; + var not_1 = require_not(); + var filter_1 = require_filter(); + var innerFrom_1 = require_innerFrom(); + function partition(source, predicate, thisArg) { + return [filter_1.filter(predicate, thisArg)(innerFrom_1.innerFrom(source)), filter_1.filter(not_1.not(predicate, thisArg))(innerFrom_1.innerFrom(source))]; + } + __name(partition, "partition"); + exports.partition = partition; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/range.js +var require_range2 = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/range.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.range = void 0; + var Observable_1 = require_Observable(); + var empty_1 = require_empty(); + function range(start, count, scheduler) { + if (count == null) { + count = start; + start = 0; + } + if (count <= 0) { + return empty_1.EMPTY; + } + var end = count + start; + return new Observable_1.Observable(scheduler ? function(subscriber) { + var n = start; + return scheduler.schedule(function() { + if (n < end) { + subscriber.next(n++); + this.schedule(); + } else { + subscriber.complete(); + } + }); + } : function(subscriber) { + var n = start; + while (n < end && !subscriber.closed) { + subscriber.next(n++); + } + subscriber.complete(); + }); + } + __name(range, "range"); + exports.range = range; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/using.js +var require_using = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/observable/using.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.using = void 0; + var Observable_1 = require_Observable(); + var innerFrom_1 = require_innerFrom(); + var empty_1 = require_empty(); + function using(resourceFactory, observableFactory) { + return new Observable_1.Observable(function(subscriber) { + var resource = resourceFactory(); + var result = observableFactory(resource); + var source = result ? innerFrom_1.innerFrom(result) : empty_1.EMPTY; + source.subscribe(subscriber); + return function() { + if (resource) { + resource.unsubscribe(); + } + }; + }); + } + __name(using, "using"); + exports.using = using; + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/types.js +var require_types = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/internal/types.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/index.js +var require_cjs = __commonJS({ + "../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/cjs/index.js"(exports) { + "use strict"; + var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: /* @__PURE__ */ __name(function() { + return m[k]; + }, "get") }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __exportStar = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.interval = exports.iif = exports.generate = exports.fromEventPattern = exports.fromEvent = exports.from = exports.forkJoin = exports.empty = exports.defer = exports.connectable = exports.concat = exports.combineLatest = exports.bindNodeCallback = exports.bindCallback = exports.UnsubscriptionError = exports.TimeoutError = exports.SequenceError = exports.ObjectUnsubscribedError = exports.NotFoundError = exports.EmptyError = exports.ArgumentOutOfRangeError = exports.firstValueFrom = exports.lastValueFrom = exports.isObservable = exports.identity = exports.noop = exports.pipe = exports.NotificationKind = exports.Notification = exports.Subscriber = exports.Subscription = exports.Scheduler = exports.VirtualAction = exports.VirtualTimeScheduler = exports.animationFrameScheduler = exports.animationFrame = exports.queueScheduler = exports.queue = exports.asyncScheduler = exports.async = exports.asapScheduler = exports.asap = exports.AsyncSubject = exports.ReplaySubject = exports.BehaviorSubject = exports.Subject = exports.animationFrames = exports.observable = exports.ConnectableObservable = exports.Observable = void 0; + exports.filter = exports.expand = exports.exhaustMap = exports.exhaustAll = exports.exhaust = exports.every = exports.endWith = exports.elementAt = exports.distinctUntilKeyChanged = exports.distinctUntilChanged = exports.distinct = exports.dematerialize = exports.delayWhen = exports.delay = exports.defaultIfEmpty = exports.debounceTime = exports.debounce = exports.count = exports.connect = exports.concatWith = exports.concatMapTo = exports.concatMap = exports.concatAll = exports.combineLatestWith = exports.combineLatestAll = exports.combineAll = exports.catchError = exports.bufferWhen = exports.bufferToggle = exports.bufferTime = exports.bufferCount = exports.buffer = exports.auditTime = exports.audit = exports.config = exports.NEVER = exports.EMPTY = exports.scheduled = exports.zip = exports.using = exports.timer = exports.throwError = exports.range = exports.race = exports.partition = exports.pairs = exports.onErrorResumeNext = exports.of = exports.never = exports.merge = void 0; + exports.switchMap = exports.switchAll = exports.subscribeOn = exports.startWith = exports.skipWhile = exports.skipUntil = exports.skipLast = exports.skip = exports.single = exports.shareReplay = exports.share = exports.sequenceEqual = exports.scan = exports.sampleTime = exports.sample = exports.refCount = exports.retryWhen = exports.retry = exports.repeatWhen = exports.repeat = exports.reduce = exports.raceWith = exports.publishReplay = exports.publishLast = exports.publishBehavior = exports.publish = exports.pluck = exports.pairwise = exports.onErrorResumeNextWith = exports.observeOn = exports.multicast = exports.min = exports.mergeWith = exports.mergeScan = exports.mergeMapTo = exports.mergeMap = exports.flatMap = exports.mergeAll = exports.max = exports.materialize = exports.mapTo = exports.map = exports.last = exports.isEmpty = exports.ignoreElements = exports.groupBy = exports.first = exports.findIndex = exports.find = exports.finalize = void 0; + exports.zipWith = exports.zipAll = exports.withLatestFrom = exports.windowWhen = exports.windowToggle = exports.windowTime = exports.windowCount = exports.window = exports.toArray = exports.timestamp = exports.timeoutWith = exports.timeout = exports.timeInterval = exports.throwIfEmpty = exports.throttleTime = exports.throttle = exports.tap = exports.takeWhile = exports.takeUntil = exports.takeLast = exports.take = exports.switchScan = exports.switchMapTo = void 0; + var Observable_1 = require_Observable(); + Object.defineProperty(exports, "Observable", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Observable_1.Observable; + }, "get") }); + var ConnectableObservable_1 = require_ConnectableObservable(); + Object.defineProperty(exports, "ConnectableObservable", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ConnectableObservable_1.ConnectableObservable; + }, "get") }); + var observable_1 = require_observable(); + Object.defineProperty(exports, "observable", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return observable_1.observable; + }, "get") }); + var animationFrames_1 = require_animationFrames(); + Object.defineProperty(exports, "animationFrames", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return animationFrames_1.animationFrames; + }, "get") }); + var Subject_1 = require_Subject(); + Object.defineProperty(exports, "Subject", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Subject_1.Subject; + }, "get") }); + var BehaviorSubject_1 = require_BehaviorSubject(); + Object.defineProperty(exports, "BehaviorSubject", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return BehaviorSubject_1.BehaviorSubject; + }, "get") }); + var ReplaySubject_1 = require_ReplaySubject(); + Object.defineProperty(exports, "ReplaySubject", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ReplaySubject_1.ReplaySubject; + }, "get") }); + var AsyncSubject_1 = require_AsyncSubject(); + Object.defineProperty(exports, "AsyncSubject", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return AsyncSubject_1.AsyncSubject; + }, "get") }); + var asap_1 = require_asap(); + Object.defineProperty(exports, "asap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return asap_1.asap; + }, "get") }); + Object.defineProperty(exports, "asapScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return asap_1.asapScheduler; + }, "get") }); + var async_1 = require_async(); + Object.defineProperty(exports, "async", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return async_1.async; + }, "get") }); + Object.defineProperty(exports, "asyncScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return async_1.asyncScheduler; + }, "get") }); + var queue_1 = require_queue(); + Object.defineProperty(exports, "queue", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return queue_1.queue; + }, "get") }); + Object.defineProperty(exports, "queueScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return queue_1.queueScheduler; + }, "get") }); + var animationFrame_1 = require_animationFrame(); + Object.defineProperty(exports, "animationFrame", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return animationFrame_1.animationFrame; + }, "get") }); + Object.defineProperty(exports, "animationFrameScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return animationFrame_1.animationFrameScheduler; + }, "get") }); + var VirtualTimeScheduler_1 = require_VirtualTimeScheduler(); + Object.defineProperty(exports, "VirtualTimeScheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return VirtualTimeScheduler_1.VirtualTimeScheduler; + }, "get") }); + Object.defineProperty(exports, "VirtualAction", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return VirtualTimeScheduler_1.VirtualAction; + }, "get") }); + var Scheduler_1 = require_Scheduler(); + Object.defineProperty(exports, "Scheduler", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Scheduler_1.Scheduler; + }, "get") }); + var Subscription_1 = require_Subscription(); + Object.defineProperty(exports, "Subscription", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Subscription_1.Subscription; + }, "get") }); + var Subscriber_1 = require_Subscriber(); + Object.defineProperty(exports, "Subscriber", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Subscriber_1.Subscriber; + }, "get") }); + var Notification_1 = require_Notification(); + Object.defineProperty(exports, "Notification", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Notification_1.Notification; + }, "get") }); + Object.defineProperty(exports, "NotificationKind", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return Notification_1.NotificationKind; + }, "get") }); + var pipe_1 = require_pipe(); + Object.defineProperty(exports, "pipe", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pipe_1.pipe; + }, "get") }); + var noop_1 = require_noop(); + Object.defineProperty(exports, "noop", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return noop_1.noop; + }, "get") }); + var identity_1 = require_identity(); + Object.defineProperty(exports, "identity", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return identity_1.identity; + }, "get") }); + var isObservable_1 = require_isObservable(); + Object.defineProperty(exports, "isObservable", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return isObservable_1.isObservable; + }, "get") }); + var lastValueFrom_1 = require_lastValueFrom(); + Object.defineProperty(exports, "lastValueFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return lastValueFrom_1.lastValueFrom; + }, "get") }); + var firstValueFrom_1 = require_firstValueFrom(); + Object.defineProperty(exports, "firstValueFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return firstValueFrom_1.firstValueFrom; + }, "get") }); + var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError(); + Object.defineProperty(exports, "ArgumentOutOfRangeError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ArgumentOutOfRangeError_1.ArgumentOutOfRangeError; + }, "get") }); + var EmptyError_1 = require_EmptyError(); + Object.defineProperty(exports, "EmptyError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return EmptyError_1.EmptyError; + }, "get") }); + var NotFoundError_1 = require_NotFoundError(); + Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return NotFoundError_1.NotFoundError; + }, "get") }); + var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError(); + Object.defineProperty(exports, "ObjectUnsubscribedError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ObjectUnsubscribedError_1.ObjectUnsubscribedError; + }, "get") }); + var SequenceError_1 = require_SequenceError(); + Object.defineProperty(exports, "SequenceError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return SequenceError_1.SequenceError; + }, "get") }); + var timeout_1 = require_timeout(); + Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeout_1.TimeoutError; + }, "get") }); + var UnsubscriptionError_1 = require_UnsubscriptionError(); + Object.defineProperty(exports, "UnsubscriptionError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return UnsubscriptionError_1.UnsubscriptionError; + }, "get") }); + var bindCallback_1 = require_bindCallback(); + Object.defineProperty(exports, "bindCallback", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bindCallback_1.bindCallback; + }, "get") }); + var bindNodeCallback_1 = require_bindNodeCallback(); + Object.defineProperty(exports, "bindNodeCallback", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bindNodeCallback_1.bindNodeCallback; + }, "get") }); + var combineLatest_1 = require_combineLatest(); + Object.defineProperty(exports, "combineLatest", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatest_1.combineLatest; + }, "get") }); + var concat_1 = require_concat(); + Object.defineProperty(exports, "concat", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concat_1.concat; + }, "get") }); + var connectable_1 = require_connectable(); + Object.defineProperty(exports, "connectable", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return connectable_1.connectable; + }, "get") }); + var defer_1 = require_defer(); + Object.defineProperty(exports, "defer", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return defer_1.defer; + }, "get") }); + var empty_1 = require_empty(); + Object.defineProperty(exports, "empty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return empty_1.empty; + }, "get") }); + var forkJoin_1 = require_forkJoin(); + Object.defineProperty(exports, "forkJoin", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return forkJoin_1.forkJoin; + }, "get") }); + var from_1 = require_from(); + Object.defineProperty(exports, "from", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return from_1.from; + }, "get") }); + var fromEvent_1 = require_fromEvent(); + Object.defineProperty(exports, "fromEvent", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return fromEvent_1.fromEvent; + }, "get") }); + var fromEventPattern_1 = require_fromEventPattern(); + Object.defineProperty(exports, "fromEventPattern", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return fromEventPattern_1.fromEventPattern; + }, "get") }); + var generate_1 = require_generate(); + Object.defineProperty(exports, "generate", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return generate_1.generate; + }, "get") }); + var iif_1 = require_iif(); + Object.defineProperty(exports, "iif", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return iif_1.iif; + }, "get") }); + var interval_1 = require_interval(); + Object.defineProperty(exports, "interval", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return interval_1.interval; + }, "get") }); + var merge_1 = require_merge(); + Object.defineProperty(exports, "merge", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return merge_1.merge; + }, "get") }); + var never_1 = require_never(); + Object.defineProperty(exports, "never", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return never_1.never; + }, "get") }); + var of_1 = require_of(); + Object.defineProperty(exports, "of", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return of_1.of; + }, "get") }); + var onErrorResumeNext_1 = require_onErrorResumeNext(); + Object.defineProperty(exports, "onErrorResumeNext", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return onErrorResumeNext_1.onErrorResumeNext; + }, "get") }); + var pairs_1 = require_pairs(); + Object.defineProperty(exports, "pairs", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pairs_1.pairs; + }, "get") }); + var partition_1 = require_partition(); + Object.defineProperty(exports, "partition", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return partition_1.partition; + }, "get") }); + var race_1 = require_race(); + Object.defineProperty(exports, "race", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return race_1.race; + }, "get") }); + var range_1 = require_range2(); + Object.defineProperty(exports, "range", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return range_1.range; + }, "get") }); + var throwError_1 = require_throwError(); + Object.defineProperty(exports, "throwError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throwError_1.throwError; + }, "get") }); + var timer_1 = require_timer(); + Object.defineProperty(exports, "timer", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timer_1.timer; + }, "get") }); + var using_1 = require_using(); + Object.defineProperty(exports, "using", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return using_1.using; + }, "get") }); + var zip_1 = require_zip(); + Object.defineProperty(exports, "zip", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zip_1.zip; + }, "get") }); + var scheduled_1 = require_scheduled(); + Object.defineProperty(exports, "scheduled", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return scheduled_1.scheduled; + }, "get") }); + var empty_2 = require_empty(); + Object.defineProperty(exports, "EMPTY", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return empty_2.EMPTY; + }, "get") }); + var never_2 = require_never(); + Object.defineProperty(exports, "NEVER", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return never_2.NEVER; + }, "get") }); + __exportStar(require_types(), exports); + var config_1 = require_config(); + Object.defineProperty(exports, "config", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return config_1.config; + }, "get") }); + var audit_1 = require_audit(); + Object.defineProperty(exports, "audit", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return audit_1.audit; + }, "get") }); + var auditTime_1 = require_auditTime(); + Object.defineProperty(exports, "auditTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return auditTime_1.auditTime; + }, "get") }); + var buffer_1 = require_buffer(); + Object.defineProperty(exports, "buffer", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return buffer_1.buffer; + }, "get") }); + var bufferCount_1 = require_bufferCount(); + Object.defineProperty(exports, "bufferCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferCount_1.bufferCount; + }, "get") }); + var bufferTime_1 = require_bufferTime(); + Object.defineProperty(exports, "bufferTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferTime_1.bufferTime; + }, "get") }); + var bufferToggle_1 = require_bufferToggle(); + Object.defineProperty(exports, "bufferToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferToggle_1.bufferToggle; + }, "get") }); + var bufferWhen_1 = require_bufferWhen(); + Object.defineProperty(exports, "bufferWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return bufferWhen_1.bufferWhen; + }, "get") }); + var catchError_1 = require_catchError(); + Object.defineProperty(exports, "catchError", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return catchError_1.catchError; + }, "get") }); + var combineAll_1 = require_combineAll(); + Object.defineProperty(exports, "combineAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineAll_1.combineAll; + }, "get") }); + var combineLatestAll_1 = require_combineLatestAll(); + Object.defineProperty(exports, "combineLatestAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatestAll_1.combineLatestAll; + }, "get") }); + var combineLatestWith_1 = require_combineLatestWith(); + Object.defineProperty(exports, "combineLatestWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return combineLatestWith_1.combineLatestWith; + }, "get") }); + var concatAll_1 = require_concatAll(); + Object.defineProperty(exports, "concatAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatAll_1.concatAll; + }, "get") }); + var concatMap_1 = require_concatMap(); + Object.defineProperty(exports, "concatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatMap_1.concatMap; + }, "get") }); + var concatMapTo_1 = require_concatMapTo(); + Object.defineProperty(exports, "concatMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatMapTo_1.concatMapTo; + }, "get") }); + var concatWith_1 = require_concatWith(); + Object.defineProperty(exports, "concatWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return concatWith_1.concatWith; + }, "get") }); + var connect_1 = require_connect(); + Object.defineProperty(exports, "connect", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return connect_1.connect; + }, "get") }); + var count_1 = require_count(); + Object.defineProperty(exports, "count", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return count_1.count; + }, "get") }); + var debounce_1 = require_debounce(); + Object.defineProperty(exports, "debounce", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return debounce_1.debounce; + }, "get") }); + var debounceTime_1 = require_debounceTime(); + Object.defineProperty(exports, "debounceTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return debounceTime_1.debounceTime; + }, "get") }); + var defaultIfEmpty_1 = require_defaultIfEmpty(); + Object.defineProperty(exports, "defaultIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return defaultIfEmpty_1.defaultIfEmpty; + }, "get") }); + var delay_1 = require_delay(); + Object.defineProperty(exports, "delay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return delay_1.delay; + }, "get") }); + var delayWhen_1 = require_delayWhen(); + Object.defineProperty(exports, "delayWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return delayWhen_1.delayWhen; + }, "get") }); + var dematerialize_1 = require_dematerialize(); + Object.defineProperty(exports, "dematerialize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return dematerialize_1.dematerialize; + }, "get") }); + var distinct_1 = require_distinct(); + Object.defineProperty(exports, "distinct", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinct_1.distinct; + }, "get") }); + var distinctUntilChanged_1 = require_distinctUntilChanged(); + Object.defineProperty(exports, "distinctUntilChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinctUntilChanged_1.distinctUntilChanged; + }, "get") }); + var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged(); + Object.defineProperty(exports, "distinctUntilKeyChanged", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return distinctUntilKeyChanged_1.distinctUntilKeyChanged; + }, "get") }); + var elementAt_1 = require_elementAt(); + Object.defineProperty(exports, "elementAt", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return elementAt_1.elementAt; + }, "get") }); + var endWith_1 = require_endWith(); + Object.defineProperty(exports, "endWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return endWith_1.endWith; + }, "get") }); + var every_1 = require_every(); + Object.defineProperty(exports, "every", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return every_1.every; + }, "get") }); + var exhaust_1 = require_exhaust(); + Object.defineProperty(exports, "exhaust", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaust_1.exhaust; + }, "get") }); + var exhaustAll_1 = require_exhaustAll(); + Object.defineProperty(exports, "exhaustAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaustAll_1.exhaustAll; + }, "get") }); + var exhaustMap_1 = require_exhaustMap(); + Object.defineProperty(exports, "exhaustMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return exhaustMap_1.exhaustMap; + }, "get") }); + var expand_1 = require_expand(); + Object.defineProperty(exports, "expand", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return expand_1.expand; + }, "get") }); + var filter_1 = require_filter(); + Object.defineProperty(exports, "filter", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return filter_1.filter; + }, "get") }); + var finalize_1 = require_finalize(); + Object.defineProperty(exports, "finalize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return finalize_1.finalize; + }, "get") }); + var find_1 = require_find(); + Object.defineProperty(exports, "find", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return find_1.find; + }, "get") }); + var findIndex_1 = require_findIndex(); + Object.defineProperty(exports, "findIndex", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return findIndex_1.findIndex; + }, "get") }); + var first_1 = require_first(); + Object.defineProperty(exports, "first", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return first_1.first; + }, "get") }); + var groupBy_1 = require_groupBy(); + Object.defineProperty(exports, "groupBy", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return groupBy_1.groupBy; + }, "get") }); + var ignoreElements_1 = require_ignoreElements(); + Object.defineProperty(exports, "ignoreElements", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return ignoreElements_1.ignoreElements; + }, "get") }); + var isEmpty_1 = require_isEmpty(); + Object.defineProperty(exports, "isEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return isEmpty_1.isEmpty; + }, "get") }); + var last_1 = require_last(); + Object.defineProperty(exports, "last", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return last_1.last; + }, "get") }); + var map_1 = require_map(); + Object.defineProperty(exports, "map", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return map_1.map; + }, "get") }); + var mapTo_1 = require_mapTo(); + Object.defineProperty(exports, "mapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mapTo_1.mapTo; + }, "get") }); + var materialize_1 = require_materialize(); + Object.defineProperty(exports, "materialize", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return materialize_1.materialize; + }, "get") }); + var max_1 = require_max(); + Object.defineProperty(exports, "max", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return max_1.max; + }, "get") }); + var mergeAll_1 = require_mergeAll(); + Object.defineProperty(exports, "mergeAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeAll_1.mergeAll; + }, "get") }); + var flatMap_1 = require_flatMap(); + Object.defineProperty(exports, "flatMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return flatMap_1.flatMap; + }, "get") }); + var mergeMap_1 = require_mergeMap(); + Object.defineProperty(exports, "mergeMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeMap_1.mergeMap; + }, "get") }); + var mergeMapTo_1 = require_mergeMapTo(); + Object.defineProperty(exports, "mergeMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeMapTo_1.mergeMapTo; + }, "get") }); + var mergeScan_1 = require_mergeScan(); + Object.defineProperty(exports, "mergeScan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeScan_1.mergeScan; + }, "get") }); + var mergeWith_1 = require_mergeWith(); + Object.defineProperty(exports, "mergeWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return mergeWith_1.mergeWith; + }, "get") }); + var min_1 = require_min(); + Object.defineProperty(exports, "min", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return min_1.min; + }, "get") }); + var multicast_1 = require_multicast(); + Object.defineProperty(exports, "multicast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return multicast_1.multicast; + }, "get") }); + var observeOn_1 = require_observeOn(); + Object.defineProperty(exports, "observeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return observeOn_1.observeOn; + }, "get") }); + var onErrorResumeNextWith_1 = require_onErrorResumeNextWith(); + Object.defineProperty(exports, "onErrorResumeNextWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return onErrorResumeNextWith_1.onErrorResumeNextWith; + }, "get") }); + var pairwise_1 = require_pairwise(); + Object.defineProperty(exports, "pairwise", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pairwise_1.pairwise; + }, "get") }); + var pluck_1 = require_pluck(); + Object.defineProperty(exports, "pluck", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return pluck_1.pluck; + }, "get") }); + var publish_1 = require_publish(); + Object.defineProperty(exports, "publish", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publish_1.publish; + }, "get") }); + var publishBehavior_1 = require_publishBehavior(); + Object.defineProperty(exports, "publishBehavior", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishBehavior_1.publishBehavior; + }, "get") }); + var publishLast_1 = require_publishLast(); + Object.defineProperty(exports, "publishLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishLast_1.publishLast; + }, "get") }); + var publishReplay_1 = require_publishReplay(); + Object.defineProperty(exports, "publishReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return publishReplay_1.publishReplay; + }, "get") }); + var raceWith_1 = require_raceWith(); + Object.defineProperty(exports, "raceWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return raceWith_1.raceWith; + }, "get") }); + var reduce_1 = require_reduce(); + Object.defineProperty(exports, "reduce", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return reduce_1.reduce; + }, "get") }); + var repeat_1 = require_repeat(); + Object.defineProperty(exports, "repeat", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return repeat_1.repeat; + }, "get") }); + var repeatWhen_1 = require_repeatWhen(); + Object.defineProperty(exports, "repeatWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return repeatWhen_1.repeatWhen; + }, "get") }); + var retry_1 = require_retry(); + Object.defineProperty(exports, "retry", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return retry_1.retry; + }, "get") }); + var retryWhen_1 = require_retryWhen(); + Object.defineProperty(exports, "retryWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return retryWhen_1.retryWhen; + }, "get") }); + var refCount_1 = require_refCount(); + Object.defineProperty(exports, "refCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return refCount_1.refCount; + }, "get") }); + var sample_1 = require_sample(); + Object.defineProperty(exports, "sample", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sample_1.sample; + }, "get") }); + var sampleTime_1 = require_sampleTime(); + Object.defineProperty(exports, "sampleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sampleTime_1.sampleTime; + }, "get") }); + var scan_1 = require_scan(); + Object.defineProperty(exports, "scan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return scan_1.scan; + }, "get") }); + var sequenceEqual_1 = require_sequenceEqual(); + Object.defineProperty(exports, "sequenceEqual", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return sequenceEqual_1.sequenceEqual; + }, "get") }); + var share_1 = require_share(); + Object.defineProperty(exports, "share", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return share_1.share; + }, "get") }); + var shareReplay_1 = require_shareReplay(); + Object.defineProperty(exports, "shareReplay", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return shareReplay_1.shareReplay; + }, "get") }); + var single_1 = require_single(); + Object.defineProperty(exports, "single", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return single_1.single; + }, "get") }); + var skip_1 = require_skip(); + Object.defineProperty(exports, "skip", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skip_1.skip; + }, "get") }); + var skipLast_1 = require_skipLast(); + Object.defineProperty(exports, "skipLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipLast_1.skipLast; + }, "get") }); + var skipUntil_1 = require_skipUntil(); + Object.defineProperty(exports, "skipUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipUntil_1.skipUntil; + }, "get") }); + var skipWhile_1 = require_skipWhile(); + Object.defineProperty(exports, "skipWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return skipWhile_1.skipWhile; + }, "get") }); + var startWith_1 = require_startWith(); + Object.defineProperty(exports, "startWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return startWith_1.startWith; + }, "get") }); + var subscribeOn_1 = require_subscribeOn(); + Object.defineProperty(exports, "subscribeOn", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return subscribeOn_1.subscribeOn; + }, "get") }); + var switchAll_1 = require_switchAll(); + Object.defineProperty(exports, "switchAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchAll_1.switchAll; + }, "get") }); + var switchMap_1 = require_switchMap(); + Object.defineProperty(exports, "switchMap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchMap_1.switchMap; + }, "get") }); + var switchMapTo_1 = require_switchMapTo(); + Object.defineProperty(exports, "switchMapTo", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchMapTo_1.switchMapTo; + }, "get") }); + var switchScan_1 = require_switchScan(); + Object.defineProperty(exports, "switchScan", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return switchScan_1.switchScan; + }, "get") }); + var take_1 = require_take(); + Object.defineProperty(exports, "take", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return take_1.take; + }, "get") }); + var takeLast_1 = require_takeLast(); + Object.defineProperty(exports, "takeLast", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeLast_1.takeLast; + }, "get") }); + var takeUntil_1 = require_takeUntil(); + Object.defineProperty(exports, "takeUntil", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeUntil_1.takeUntil; + }, "get") }); + var takeWhile_1 = require_takeWhile(); + Object.defineProperty(exports, "takeWhile", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return takeWhile_1.takeWhile; + }, "get") }); + var tap_1 = require_tap(); + Object.defineProperty(exports, "tap", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return tap_1.tap; + }, "get") }); + var throttle_1 = require_throttle(); + Object.defineProperty(exports, "throttle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttle_1.throttle; + }, "get") }); + var throttleTime_1 = require_throttleTime(); + Object.defineProperty(exports, "throttleTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttleTime_1.throttleTime; + }, "get") }); + var throwIfEmpty_1 = require_throwIfEmpty(); + Object.defineProperty(exports, "throwIfEmpty", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throwIfEmpty_1.throwIfEmpty; + }, "get") }); + var timeInterval_1 = require_timeInterval(); + Object.defineProperty(exports, "timeInterval", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeInterval_1.timeInterval; + }, "get") }); + var timeout_2 = require_timeout(); + Object.defineProperty(exports, "timeout", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeout_2.timeout; + }, "get") }); + var timeoutWith_1 = require_timeoutWith(); + Object.defineProperty(exports, "timeoutWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timeoutWith_1.timeoutWith; + }, "get") }); + var timestamp_1 = require_timestamp(); + Object.defineProperty(exports, "timestamp", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return timestamp_1.timestamp; + }, "get") }); + var toArray_1 = require_toArray(); + Object.defineProperty(exports, "toArray", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return toArray_1.toArray; + }, "get") }); + var window_1 = require_window(); + Object.defineProperty(exports, "window", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return window_1.window; + }, "get") }); + var windowCount_1 = require_windowCount(); + Object.defineProperty(exports, "windowCount", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowCount_1.windowCount; + }, "get") }); + var windowTime_1 = require_windowTime(); + Object.defineProperty(exports, "windowTime", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowTime_1.windowTime; + }, "get") }); + var windowToggle_1 = require_windowToggle(); + Object.defineProperty(exports, "windowToggle", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowToggle_1.windowToggle; + }, "get") }); + var windowWhen_1 = require_windowWhen(); + Object.defineProperty(exports, "windowWhen", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return windowWhen_1.windowWhen; + }, "get") }); + var withLatestFrom_1 = require_withLatestFrom(); + Object.defineProperty(exports, "withLatestFrom", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return withLatestFrom_1.withLatestFrom; + }, "get") }); + var zipAll_1 = require_zipAll(); + Object.defineProperty(exports, "zipAll", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zipAll_1.zipAll; + }, "get") }); + var zipWith_1 = require_zipWith(); + Object.defineProperty(exports, "zipWith", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return zipWith_1.zipWith; + }, "get") }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/modules-container.js +var import_rxjs, ModulesContainer; +var init_modules_container = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/modules-container.js"() { + import_rxjs = __toESM(require_cjs(), 1); + init_dist(); + ModulesContainer = class extends Map { + static { + __name(this, "ModulesContainer"); + } + _applicationId = uid(21); + _rpcTargetRegistry$ = new import_rxjs.ReplaySubject(); + /** + * Unique identifier of the application instance. + */ + get applicationId() { + return this._applicationId; + } + /** + * Retrieves a module by its identifier. + * @param id The identifier of the module to retrieve. + * @returns The module instance if found, otherwise undefined. + */ + getById(id) { + return Array.from(this.values()).find((moduleRef) => moduleRef.id === id); + } + /** + * Returns the RPC target registry as an observable. + * This registry contains all RPC targets registered in the application. + * @returns An observable that emits the RPC target registry. + */ + getRpcTargetRegistry() { + return this._rpcTargetRegistry$.asObservable(); + } + /** + * Adds an RPC target to the registry. + * @param target The RPC target to add. + */ + addRpcTarget(target) { + this._rpcTargetRegistry$.next(target); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discoverable-meta-host-collection.js +var DiscoverableMetaHostCollection; +var init_discoverable_meta_host_collection = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discoverable-meta-host-collection.js"() { + DiscoverableMetaHostCollection = class _DiscoverableMetaHostCollection { + static { + __name(this, "DiscoverableMetaHostCollection"); + } + /** + * A map of class references to metadata keys. + */ + static metaHostLinks = /* @__PURE__ */ new Map(); + /** + * A map of metadata keys to instance wrappers (providers) with the corresponding metadata key. + * The map is weakly referenced by the modules container (unique per application). + */ + static providersByMetaKey = /* @__PURE__ */ new WeakMap(); + /** + * A map of metadata keys to instance wrappers (controllers) with the corresponding metadata key. + * The map is weakly referenced by the modules container (unique per application). + */ + static controllersByMetaKey = /* @__PURE__ */ new WeakMap(); + /** + * Adds a link between a class reference and a metadata key. + * @param target The class reference. + * @param metadataKey The metadata key. + */ + static addClassMetaHostLink(target, metadataKey) { + this.metaHostLinks.set(target, metadataKey); + } + /** + * Inspects a provider instance wrapper and adds it to the collection of providers + * if it has a metadata key. + * @param hostContainerRef A reference to the modules container. + * @param instanceWrapper A provider instance wrapper. + * @returns void + */ + static inspectProvider(hostContainerRef, instanceWrapper) { + return this.inspectInstanceWrapper(hostContainerRef, instanceWrapper, this.providersByMetaKey); + } + /** + * Inspects a controller instance wrapper and adds it to the collection of controllers + * if it has a metadata key. + * @param hostContainerRef A reference to the modules container. + * @param instanceWrapper A controller's instance wrapper. + * @returns void + */ + static inspectController(hostContainerRef, instanceWrapper) { + return this.inspectInstanceWrapper(hostContainerRef, instanceWrapper, this.controllersByMetaKey); + } + static insertByMetaKey(metaKey, instanceWrapper, collection) { + if (collection.has(metaKey)) { + const wrappers = collection.get(metaKey); + for (const existing of wrappers) { + if (existing.id === instanceWrapper.id) { + wrappers.delete(existing); + break; + } + } + wrappers.add(instanceWrapper); + } else { + const wrappers = /* @__PURE__ */ new Set(); + wrappers.add(instanceWrapper); + collection.set(metaKey, wrappers); + } + } + static getProvidersByMetaKey(hostContainerRef, metaKey) { + const wrappersByMetaKey = this.providersByMetaKey.get(hostContainerRef); + return wrappersByMetaKey?.get(metaKey) ?? /* @__PURE__ */ new Set(); + } + static getControllersByMetaKey(hostContainerRef, metaKey) { + const wrappersByMetaKey = this.controllersByMetaKey.get(hostContainerRef); + return wrappersByMetaKey?.get(metaKey) ?? /* @__PURE__ */ new Set(); + } + static inspectInstanceWrapper(hostContainerRef, instanceWrapper, wrapperByMetaKeyMap) { + const metaKey = _DiscoverableMetaHostCollection.getMetaKeyByInstanceWrapper(instanceWrapper); + if (!metaKey) { + return; + } + let collection; + if (wrapperByMetaKeyMap.has(hostContainerRef)) { + collection = wrapperByMetaKeyMap.get(hostContainerRef); + } else { + collection = /* @__PURE__ */ new Map(); + wrapperByMetaKeyMap.set(hostContainerRef, collection); + } + this.insertByMetaKey(metaKey, instanceWrapper, collection); + } + static getMetaKeyByInstanceWrapper(instanceWrapper) { + return this.metaHostLinks.get( + // NOTE: Regarding the ternary statement below, + // - The condition `!wrapper.metatype` is needed because when we use `useValue` + // the value of `wrapper.metatype` will be `null`. + // - The condition `wrapper.inject` is needed here because when we use + // `useFactory`, the value of `wrapper.metatype` will be the supplied + // factory function. + // For both cases, we should use `wrapper.instance.constructor` instead + // of `wrapper.metatype` to resolve processor's class properly. + // But since calling `wrapper.instance` could degrade overall performance + // we must defer it as much we can. + !instanceWrapper.metatype || instanceWrapper.inject ? instanceWrapper.instance?.constructor ?? instanceWrapper.metatype : instanceWrapper.metatype + ); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-service.js +var DiscoveryService; +var init_discovery_service = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-service.js"() { + init_tslib_es6(); + init_common(); + init_dist(); + init_modules_container(); + init_discoverable_meta_host_collection(); + DiscoveryService = class DiscoveryService2 { + static { + __name(this, "DiscoveryService"); + } + modulesContainer; + constructor(modulesContainer) { + this.modulesContainer = modulesContainer; + } + /** + * Creates a decorator that can be used to decorate classes and methods with metadata. + * The decorator will also add the class to the collection of discoverable classes (by metadata key). + * Decorated classes can be discovered using the `getProviders` and `getControllers` methods. + * @returns A decorator function. + */ + static createDecorator() { + const metadataKey = uid(21); + const decoratorFn = /* @__PURE__ */ __name((opts) => (target, key, descriptor) => { + if (!descriptor) { + DiscoverableMetaHostCollection.addClassMetaHostLink(target, metadataKey); + } + SetMetadata(metadataKey, opts ?? {})(target, key, descriptor); + }, "decoratorFn"); + decoratorFn.KEY = metadataKey; + return decoratorFn; + } + /** + * Returns an array of instance wrappers (providers). + * Depending on the options, the array will contain either all providers or only providers with the specified metadata key. + * @param options Discovery options. + * @param modules A list of modules to filter by. + * @returns An array of instance wrappers (providers). + */ + getProviders(options = {}, modules = this.getModules(options)) { + if ("metadataKey" in options) { + const providers2 = DiscoverableMetaHostCollection.getProvidersByMetaKey(this.modulesContainer, options.metadataKey); + return Array.from(providers2); + } + const providers = modules.map((item) => [...item.providers.values()]); + return flatten(providers); + } + /** + * Returns an array of instance wrappers (controllers). + * Depending on the options, the array will contain either all controllers or only controllers with the specified metadata key. + * @param options Discovery options. + * @param modules A list of modules to filter by. + * @returns An array of instance wrappers (controllers). + */ + getControllers(options = {}, modules = this.getModules(options)) { + if ("metadataKey" in options) { + const controllers2 = DiscoverableMetaHostCollection.getControllersByMetaKey(this.modulesContainer, options.metadataKey); + return Array.from(controllers2); + } + const controllers = modules.map((item) => [...item.controllers.values()]); + return flatten(controllers); + } + /** + * Retrieves metadata from the specified instance wrapper. + * @param decorator The decorator to retrieve metadata of. + * @param instanceWrapper Reference to the instance wrapper. + * @param methodKey An optional method key to retrieve metadata from. + * @returns Discovered metadata. + */ + getMetadataByDecorator(decorator, instanceWrapper, methodKey) { + if (methodKey) { + return Reflect.getMetadata(decorator.KEY, instanceWrapper.instance[methodKey]); + } + const clsRef = instanceWrapper.instance?.constructor ?? instanceWrapper.metatype; + return Reflect.getMetadata(decorator.KEY, clsRef); + } + /** + * Returns a list of modules to be used for discovery. + */ + getModules(options = {}) { + const includeInOpts = "include" in options; + if (!includeInOpts) { + const moduleRefs = [...this.modulesContainer.values()]; + return moduleRefs; + } + const whitelisted = this.includeWhitelisted(options.include); + return whitelisted; + } + includeWhitelisted(include) { + const moduleRefs = [...this.modulesContainer.values()]; + return moduleRefs.filter(({ metatype }) => include.some((item) => item === metatype)); + } + }; + DiscoveryService = __decorate([ + Injectable(), + __metadata("design:paramtypes", [ModulesContainer]) + ], DiscoveryService); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-module.js +var DiscoveryModule; +var init_discovery_module = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/discovery-module.js"() { + init_tslib_es6(); + init_common(); + init_metadata_scanner(); + init_discovery_service(); + DiscoveryModule = class DiscoveryModule2 { + static { + __name(this, "DiscoveryModule"); + } + }; + DiscoveryModule = __decorate([ + Module({ + providers: [MetadataScanner, DiscoveryService], + exports: [MetadataScanner, DiscoveryService] + }) + ], DiscoveryModule); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/index.js +var init_discovery = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/discovery/index.js"() { + init_discovery_module(); + init_discovery_service(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/http-adapter-host.js +var import_rxjs2, HttpAdapterHost; +var init_http_adapter_host = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/http-adapter-host.js"() { + import_rxjs2 = __toESM(require_cjs(), 1); + HttpAdapterHost = class { + static { + __name(this, "HttpAdapterHost"); + } + _httpAdapter; + _listen$ = new import_rxjs2.Subject(); + _init$ = new import_rxjs2.ReplaySubject(); + isListening = false; + /** + * Accessor for the underlying `HttpAdapter` + * + * @param httpAdapter reference to the `HttpAdapter` to be set + */ + set httpAdapter(httpAdapter) { + this._httpAdapter = httpAdapter; + this._init$.next(); + this._init$.complete(); + } + /** + * Accessor for the underlying `HttpAdapter` + * + * @example + * `const httpAdapter = adapterHost.httpAdapter;` + */ + get httpAdapter() { + return this._httpAdapter; + } + /** + * Observable that allows to subscribe to the `listen` event. + * This event is emitted when the HTTP application is listening for incoming requests. + */ + get listen$() { + return this._listen$.asObservable(); + } + /** + * Observable that allows to subscribe to the `init` event. + * This event is emitted when the HTTP application is initialized. + */ + get init$() { + return this._init$.asObservable(); + } + /** + * Sets the listening state of the application. + */ + set listening(listening) { + this.isListening = listening; + if (listening) { + this._listen$.next(); + this._listen$.complete(); + } + } + /** + * Returns a boolean indicating whether the application is listening for incoming requests. + */ + get listening() { + return this.isListening; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter.js +import { STATUS_CODES } from "http"; +var BaseExceptionFilter; +var init_base_exception_filter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter.js"() { + init_tslib_es6(); + init_common(); + init_constants2(); + init_http_adapter_host(); + init_internal(); + BaseExceptionFilter = class _BaseExceptionFilter { + static { + __name(this, "BaseExceptionFilter"); + } + applicationRef; + static logger = new Logger("ExceptionsHandler"); + httpAdapterHost; + constructor(applicationRef) { + this.applicationRef = applicationRef; + } + catch(exception, host) { + const applicationRef = this.applicationRef || this.httpAdapterHost && this.httpAdapterHost.httpAdapter; + if (!(exception instanceof HttpException)) { + return this.handleUnknownError(exception, host, applicationRef); + } + const res = exception.getResponse(); + const message = isObject(res) ? res : { + statusCode: exception.getStatus(), + message: res, + ...exception.errorCode !== void 0 && { + errorCode: exception.errorCode + } + }; + const response = host.getArgByIndex(1); + if (!applicationRef.isHeadersSent(response)) { + applicationRef.reply(response, message, exception.getStatus()); + } else { + applicationRef.end(response); + } + } + handleUnknownError(exception, host, applicationRef) { + const body = this.isHttpError(exception) ? { + statusCode: exception.statusCode, + // "http-errors" sets "expose" to false when the message must not + // reach the client (5xx errors, file system errors from "send") + message: exception.expose === false ? STATUS_CODES[exception.statusCode] ?? MESSAGES.UNKNOWN_EXCEPTION_MESSAGE : exception.message + } : { + statusCode: HttpStatus.INTERNAL_SERVER_ERROR, + message: MESSAGES.UNKNOWN_EXCEPTION_MESSAGE + }; + const response = host.getArgByIndex(1); + if (!applicationRef.isHeadersSent(response)) { + applicationRef.reply(response, body, body.statusCode); + } else { + applicationRef.end(response); + } + if (!(exception instanceof IntrinsicException)) { + _BaseExceptionFilter.logger.error(exception); + } + } + isExceptionObject(err) { + return isObject(err) && !!err.message; + } + /** + * Checks if the thrown error is a FastifyError or comes from the "http-errors" library. + * @param err error object + */ + isHttpError(err) { + if (!err || typeof err !== "object") { + return false; + } + if ( + // Fastify's schema validation errors are plain errors with this code + (err.constructor?.name === "FastifyError" || err.code === "FST_ERR_VALIDATION") && typeof err.code === "string" && typeof err.statusCode === "number" + ) { + return true; + } + if (typeof err.expose === "boolean" && typeof err.statusCode === "number" && err.status === err.statusCode && err instanceof Error) { + return true; + } + return !(err instanceof Error) && Number.isInteger(err.statusCode) && err.statusCode >= 400 && err.statusCode < 600 && typeof err.message === "string" && err.message !== ""; + } + }; + __decorate([ + Optional(), + Inject(), + __metadata("design:type", HttpAdapterHost) + ], BaseExceptionFilter.prototype, "httpAdapterHost", void 0); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/index.js +var init_exceptions = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/index.js"() { + init_base_exception_filter(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-constants.js +var REQUEST, REQUEST_CONTEXT_ID; +var init_request_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-constants.js"() { + REQUEST = "REQUEST"; + REQUEST_CONTEXT_ID = /* @__PURE__ */ Symbol("REQUEST_CONTEXT_ID"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-id-factory.js +function createContextId() { + return { id: Math.random() }; +} +var ContextIdFactory; +var init_context_id_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-id-factory.js"() { + init_request_constants(); + init_internal(); + __name(createContextId, "createContextId"); + ContextIdFactory = class _ContextIdFactory { + static { + __name(this, "ContextIdFactory"); + } + static strategy; + /** + * Generates a context identifier based on the request object. + */ + static create() { + return createContextId(); + } + /** + * Generates a random identifier to track asynchronous execution context. + * @param request request object + */ + static getByRequest(request, propsToInspect = ["raw"]) { + if (!request) { + return _ContextIdFactory.create(); + } + if (request[REQUEST_CONTEXT_ID]) { + return request[REQUEST_CONTEXT_ID]; + } + for (const key of propsToInspect) { + if (request[key]?.[REQUEST_CONTEXT_ID]) { + return request[key][REQUEST_CONTEXT_ID]; + } + } + if (!this.strategy) { + return _ContextIdFactory.create(); + } + const contextId = createContextId(); + const resolverObjectOrFunction = this.strategy.attach(contextId, request); + if (this.isContextIdResolverWithPayload(resolverObjectOrFunction)) { + contextId.getParent = resolverObjectOrFunction.resolve; + contextId.payload = resolverObjectOrFunction.payload; + } else { + contextId.getParent = resolverObjectOrFunction; + } + return contextId; + } + /** + * Registers a custom context id strategy that lets you attach + * a parent context id to the existing context id object. + * @param strategy strategy instance + */ + static apply(strategy) { + this.strategy = strategy; + } + static isContextIdResolverWithPayload(resolverOrResolverFn) { + return isObject(resolverOrResolverFn); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/constants.js +var CONTROLLER_ID_KEY, STATIC_CONTEXT_ID, STATIC_CONTEXT; +var init_constants3 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/constants.js"() { + CONTROLLER_ID_KEY = "CONTROLLER_ID"; + STATIC_CONTEXT_ID = 1; + STATIC_CONTEXT = Object.freeze({ + id: STATIC_CONTEXT_ID + }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/class-ref-registry.js +function registerClassRef(classRef) { + if (classRef.prototype) { + classRefsByPrototype.set(classRef.prototype, classRef); + } +} +function getClassRef(instance) { + return classRefsByPrototype.get(Object.getPrototypeOf(instance)) ?? instance.constructor; +} +var classRefsByPrototype; +var init_class_ref_registry = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/class-ref-registry.js"() { + classRefsByPrototype = /* @__PURE__ */ new WeakMap(); + __name(registerClassRef, "registerClassRef"); + __name(getClassRef, "getClassRef"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-creator.js +var ContextCreator; +var init_context_creator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-creator.js"() { + init_constants3(); + init_class_ref_registry(); + ContextCreator = class { + static { + __name(this, "ContextCreator"); + } + createContext(instance, callback, metadataKey, contextId = STATIC_CONTEXT, inquirerId) { + const globalMetadata = this.getGlobalMetadata && this.getGlobalMetadata(contextId, inquirerId); + const classMetadata = this.reflectClassMetadata(instance, metadataKey); + const methodMetadata = this.reflectMethodMetadata(callback, metadataKey); + return [ + ...this.createConcreteContext(globalMetadata || [], contextId, inquirerId), + ...this.createConcreteContext(classMetadata, contextId, inquirerId), + ...this.createConcreteContext(methodMetadata, contextId, inquirerId) + ]; + } + reflectClassMetadata(instance, metadataKey) { + return Reflect.getMetadata(metadataKey, getClassRef(instance)); + } + reflectMethodMetadata(callback, metadataKey) { + return Reflect.getMetadata(metadataKey, callback); + } + getContextId(contextId, instanceWrapper) { + return contextId.getParent ? contextId.getParent({ + token: instanceWrapper.token, + isTreeDurable: instanceWrapper.isDependencyTreeDurable() + }) : contextId; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter-context.js +var import_iterare, BaseExceptionFilterContext; +var init_base_exception_filter_context = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/base-exception-filter-context.js"() { + import_iterare = __toESM(require_lib(), 1); + init_context_creator(); + init_constants3(); + init_internal(); + BaseExceptionFilterContext = class extends ContextCreator { + static { + __name(this, "BaseExceptionFilterContext"); + } + container; + moduleContext; + constructor(container) { + super(); + this.container = container; + } + createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) { + if (isEmpty(metadata)) { + return []; + } + return (0, import_iterare.iterate)(metadata).filter((instance) => instance && (isFunction(instance.catch) || isFunction(instance))).map((filter) => this.getFilterInstance(filter, contextId, inquirerId)).filter((item) => !!item).map((instance) => ({ + func: instance.catch.bind(instance), + exceptionMetatypes: this.reflectCatchExceptions(instance) + })).toArray(); + } + getFilterInstance(filter, contextId = STATIC_CONTEXT, inquirerId) { + const isObject2 = !!filter.catch; + if (isObject2) { + return filter; + } + const instanceWrapper = this.getInstanceByMetatype(filter); + if (!instanceWrapper) { + return null; + } + const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId); + return instanceHost && instanceHost.instance; + } + getInstanceByMetatype(metatype) { + if (!this.moduleContext) { + return; + } + const collection = this.container.getModules(); + const moduleRef = collection.get(this.moduleContext); + if (!moduleRef) { + return; + } + return moduleRef.injectables.get(metatype); + } + reflectCatchExceptions(instance) { + const prototype = Object.getPrototypeOf(instance); + return Reflect.getMetadata(FILTER_CATCH_EXCEPTIONS, prototype.constructor) || []; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/runtime.exception.js +var RuntimeException; +var init_runtime_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/runtime.exception.js"() { + RuntimeException = class extends Error { + static { + __name(this, "RuntimeException"); + } + constructor(message = ``) { + super(message); + } + what() { + return this.message; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/messages.js +var getInstanceName, getDependencyName, getModuleName, stringifyScope, UNKNOWN_DEPENDENCIES_MESSAGE, INVALID_MIDDLEWARE_MESSAGE, UNDEFINED_FORWARDREF_MESSAGE, INVALID_MODULE_MESSAGE, USING_INVALID_CLASS_AS_A_MODULE_MESSAGE, UNDEFINED_MODULE_MESSAGE, INVALID_PROVIDER_MESSAGE, UNKNOWN_EXPORT_MESSAGE, INVALID_CLASS_MESSAGE, INVALID_CLASS_SCOPE_MESSAGE, REQUEST_SCOPED_CREATE_MESSAGE, REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE, UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE, UNKNOWN_REQUEST_MAPPING, ROUTE_CONFLICT_MESSAGE, DUPLICATE_ROUTE_MESSAGE, SHADOWED_ROUTE_MESSAGE, INVALID_EXCEPTION_FILTER; +var init_messages = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/messages.js"() { + init_internal(); + getInstanceName = /* @__PURE__ */ __name((instance) => { + if (instance?.forwardRef) { + return instance.forwardRef()?.name; + } + if (instance?.module) { + return instance.module?.name; + } + return instance?.name; + }, "getInstanceName"); + getDependencyName = /* @__PURE__ */ __name((dependency, fallbackValue, disambiguated = true) => ( + // use class name + getInstanceName(dependency) || // use injection token (symbol) + isSymbol(dependency) && dependency.toString() || // use string directly + (dependency ? disambiguated ? `"${dependency}"` : dependency : void 0) || // otherwise + fallbackValue + ), "getDependencyName"); + getModuleName = /* @__PURE__ */ __name((module) => module && getInstanceName(module.metatype) || "current", "getModuleName"); + stringifyScope = /* @__PURE__ */ __name((scope) => (scope || []).map(getInstanceName).join(" -> "), "stringifyScope"); + UNKNOWN_DEPENDENCIES_MESSAGE = /* @__PURE__ */ __name((type, unknownDependencyContext, moduleRef) => { + const { index, name, dependencies, key } = unknownDependencyContext; + const moduleName = getModuleName(moduleRef); + const dependencyName = getDependencyName(name, "dependency"); + const isImportTypeIssue = !isNil(index) && dependencies && (dependencies[index] === void 0 || dependencies[index] === Object || typeof dependencies[index] === "function" && dependencies[index].name === "Object"); + let potentialSolutions; + if (isImportTypeIssue) { + potentialSolutions = ` + +Potential solutions: +- The dependency at index [${index}] appears to be undefined at runtime +- This commonly occurs when using 'import type' instead of 'import' for injectable classes +- Check your imports and change: + \u274C import type { SomeService } from './some.service'; + \u2705 import { SomeService } from './some.service'; +- Ensure the imported class is decorated with @Injectable() or is a valid provider +- If using dynamic imports, ensure the class is available at runtime, not just for type checking + +For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors`; + } else { + potentialSolutions = // If module's name is well defined + moduleName !== "current" ? ` + +Potential solutions: +- Is ${moduleName} a valid NestJS module? +- If ${dependencyName} is a provider, is it part of the current ${moduleName}? +- If ${dependencyName} is exported from a separate @Module, is that module imported within ${moduleName}? + @Module({ + imports: [ /* the Module containing ${dependencyName} */ ] + }) + +For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors` : ` + +Potential solutions: +- If ${dependencyName} is a provider, is it part of the current Module? +- If ${dependencyName} is exported from a separate @Module, is that module imported within Module? + @Module({ + imports: [ /* the Module containing ${dependencyName} */ ] + }) + +For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors`; + } + let message = `Nest can't resolve dependencies of the ${type.toString()}`; + if (isNil(index)) { + message += `. Please make sure that the "${key.toString()}" property is available in the current context.${potentialSolutions}`; + return message; + } + const dependenciesName = (dependencies || []).map((dependencyName2) => getDependencyName(dependencyName2, "+", false)); + dependenciesName[index] = "?"; + const tokenFragment = !isImportTypeIssue && name !== void 0 ? ` ${dependencyName}` : ""; + const contextLabel = isImportTypeIssue ? "current" : moduleName; + message += ` (`; + message += dependenciesName.join(", "); + message += `). Please make sure that the argument${tokenFragment} at index [${index}]`; + message += ` is available in the ${contextLabel} module.`; + message += potentialSolutions; + return message; + }, "UNKNOWN_DEPENDENCIES_MESSAGE"); + INVALID_MIDDLEWARE_MESSAGE = /* @__PURE__ */ __name((text, name) => `The middleware doesn't provide the 'use' method (${name})`, "INVALID_MIDDLEWARE_MESSAGE"); + UNDEFINED_FORWARDREF_MESSAGE = /* @__PURE__ */ __name((scope) => `Nest cannot create the module instance. Often, this is because of a circular dependency between modules. Use forwardRef() to avoid it. + +(Read more: https://docs.nestjs.com/fundamentals/circular-dependency) +Scope [${stringifyScope(scope)}] +`, "UNDEFINED_FORWARDREF_MESSAGE"); + INVALID_MODULE_MESSAGE = /* @__PURE__ */ __name((parentModule, index, scope, receivedValue) => { + const parentModuleName = getInstanceName(parentModule) || "module"; + let formattedValue; + let receivedType; + if (receivedValue === null) { + formattedValue = "null"; + receivedType = "null"; + } else if (typeof receivedValue === "string") { + formattedValue = `"${receivedValue}"`; + receivedType = "string"; + } else { + formattedValue = String(receivedValue); + receivedType = typeof receivedValue; + } + return `Nest cannot create the ${parentModuleName} instance. +Received an unexpected value at index [${index}] of the ${parentModuleName} "imports" array. +The received value \`${formattedValue}\` is of type "${receivedType}". + +Scope [${stringifyScope(scope)}]`; + }, "INVALID_MODULE_MESSAGE"); + USING_INVALID_CLASS_AS_A_MODULE_MESSAGE = /* @__PURE__ */ __name((metatypeUsedAsAModule, scope, classKind) => { + const metatypeNameQuote = `"${getInstanceName(metatypeUsedAsAModule)}"`; + let hint; + switch (classKind) { + case "controller": + hint = `${metatypeNameQuote} is decorated with @Controller() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "controllers" array of the importing module instead.`; + break; + case "provider": + hint = `${metatypeNameQuote} is decorated with @Injectable() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array of the importing module instead.`; + break; + case "filter": + hint = `${metatypeNameQuote} is decorated with @Catch() and cannot appear in the "imports" array of a module. Please move ${metatypeNameQuote} to the "providers" array (using the APP_FILTER token to apply it globally) or apply it via @UseFilters() instead.`; + break; + } + return `${hint} + +Scope [${stringifyScope(scope)}] +`; + }, "USING_INVALID_CLASS_AS_A_MODULE_MESSAGE"); + UNDEFINED_MODULE_MESSAGE = /* @__PURE__ */ __name((parentModule, index, scope) => { + const parentModuleName = getInstanceName(parentModule) || "module"; + return `Nest cannot create the ${parentModuleName} instance. +The module at index [${index}] of the ${parentModuleName} "imports" array is undefined. + +Potential causes: +- A circular dependency between modules. Use forwardRef() to avoid it. Read more: https://docs.nestjs.com/fundamentals/circular-dependency +- The module at index [${index}] is of type "undefined". Check your import statements and the type of the module. + +Scope [${stringifyScope(scope)}]`; + }, "UNDEFINED_MODULE_MESSAGE"); + INVALID_PROVIDER_MESSAGE = /* @__PURE__ */ __name((token, moduleName) => `Nest cannot create the ${moduleName} instance. +The provider ${getDependencyName(token, "provider")} in the ${moduleName} "providers" array does not define a valid "useClass", "useValue", "useFactory" or "useExisting" property. + +Potential causes: +- The value of "useClass", "useFactory" or "useExisting" is undefined at runtime, often because of a circular import between files. Check your import statements. +- None of these properties is set, or the one that is set is null.`, "INVALID_PROVIDER_MESSAGE"); + UNKNOWN_EXPORT_MESSAGE = /* @__PURE__ */ __name((token = "item", module) => { + token = isSymbol(token) ? token.toString() : token; + return `Nest cannot export a provider/module that is not a part of the currently processed module (${module}). Please verify whether the exported ${token} is available in this particular context. + +Possible Solutions: +- Is ${token} part of the relevant providers/imports within ${module}? + +For more common dependency resolution issues, see: https://docs.nestjs.com/faq/common-errors +`; + }, "UNKNOWN_EXPORT_MESSAGE"); + INVALID_CLASS_MESSAGE = /* @__PURE__ */ __name((text, value) => `ModuleRef cannot instantiate class (${value} is not constructable).`, "INVALID_CLASS_MESSAGE"); + INVALID_CLASS_SCOPE_MESSAGE = /* @__PURE__ */ __name((text, name) => `${name || "This class"} is marked as a scoped provider. Request and transient-scoped providers can't be used in combination with "get()" method. Please, use "resolve()" instead.`, "INVALID_CLASS_SCOPE_MESSAGE"); + REQUEST_SCOPED_CREATE_MESSAGE = /* @__PURE__ */ __name((name) => `${name} depends on a request-scoped provider, so it can't be created without a context id. Please, use "create(type, contextId)" instead.`, "REQUEST_SCOPED_CREATE_MESSAGE"); + REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE = /* @__PURE__ */ __name((enhancerToken, provider, kind) => `The ${enhancerToken} provider (${provider}) depends on a request-scoped provider, ${{ + useClass: `so it would run with its dependencies undefined. Mark the class with @Injectable({ scope: Scope.REQUEST }), or set "scope: Scope.REQUEST" on the provider.`, + useExisting: `so it would never run. Point "useExisting" at a class marked with @Injectable({ scope: Scope.REQUEST }), or use a factory provider with "scope: Scope.REQUEST".`, + useFactory: `so it would never run. Set "scope: Scope.REQUEST" on the factory provider.` + }[kind]}`, "REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE"); + UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE = /* @__PURE__ */ __name((enhancerToken, provider) => `The ${enhancerToken} provider (${provider}) was not instantiated, as one of its dependencies was not, so it can't be applied.`, "UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE"); + UNKNOWN_REQUEST_MAPPING = /* @__PURE__ */ __name((metatype) => { + const className = metatype.name; + return className ? `An invalid controller has been detected. "${className}" does not have the @Controller() decorator but it is being listed in the "controllers" array of some module.` : `An invalid controller has been detected. Perhaps, one of your controllers is missing the @Controller() decorator.`; + }, "UNKNOWN_REQUEST_MAPPING"); + ROUTE_CONFLICT_MESSAGE = /* @__PURE__ */ __name((messages) => [ + "Conflicting HTTP routes detected:", + ...messages.map((message) => ` - ${message}`), + `Adjust route declarations or relax the 'routeConflictPolicy' option passed to NestFactory.create() to allow the application to start.` + ].join("\n"), "ROUTE_CONFLICT_MESSAGE"); + DUPLICATE_ROUTE_MESSAGE = /* @__PURE__ */ __name((method, path, firstHandlerLabel, secondHandlerLabel) => `Duplicate route: ${method} ${path} is registered by both ${firstHandlerLabel} and ${secondHandlerLabel}.`, "DUPLICATE_ROUTE_MESSAGE"); + SHADOWED_ROUTE_MESSAGE = /* @__PURE__ */ __name((method, shadowedPath, shadowedHandlerLabel, winnerPath, winnerHandlerLabel) => `Route ${method} ${shadowedPath} (${shadowedHandlerLabel}) is shadowed by ${method} ${winnerPath} (${winnerHandlerLabel}). The first-registered route will match all matching requests on order-sensitive adapters.`, "SHADOWED_ROUTE_MESSAGE"); + INVALID_EXCEPTION_FILTER = `Invalid exception filters (@UseFilters()).`; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-exception-filter.exception.js +var InvalidExceptionFilterException; +var init_invalid_exception_filter_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-exception-filter.exception.js"() { + init_runtime_exception(); + init_messages(); + InvalidExceptionFilterException = class extends RuntimeException { + static { + __name(this, "InvalidExceptionFilterException"); + } + constructor() { + super(INVALID_EXCEPTION_FILTER); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter.js +var ExternalExceptionFilter; +var init_external_exception_filter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter.js"() { + init_common(); + ExternalExceptionFilter = class _ExternalExceptionFilter { + static { + __name(this, "ExternalExceptionFilter"); + } + static logger = new Logger("ExceptionsHandler"); + catch(exception, host) { + if (exception instanceof Error && !(exception instanceof IntrinsicException)) { + _ExternalExceptionFilter.logger.error(exception); + } + throw exception; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exceptions-handler.js +var ExternalExceptionsHandler; +var init_external_exceptions_handler = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exceptions-handler.js"() { + init_invalid_exception_filter_exception(); + init_external_exception_filter(); + init_internal(); + ExternalExceptionsHandler = class extends ExternalExceptionFilter { + static { + __name(this, "ExternalExceptionsHandler"); + } + filters = []; + next(exception, host) { + const result = this.invokeCustomFilters(exception, host); + if (!isUndefined(result)) { + return result; + } + return super.catch(exception, host); + } + setCustomFilters(filters) { + if (!Array.isArray(filters)) { + throw new InvalidExceptionFilterException(); + } + this.filters = filters; + } + invokeCustomFilters(exception, host) { + if (isEmptyArray(this.filters)) { + return; + } + const filter = selectExceptionFilterMetadata(this.filters, exception); + return filter ? filter.func(exception, host) : void 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter-context.js +var import_iterare2, ExternalExceptionFilterContext; +var init_external_exception_filter_context = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/external-exception-filter-context.js"() { + import_iterare2 = __toESM(require_lib(), 1); + init_constants3(); + init_base_exception_filter_context(); + init_external_exceptions_handler(); + init_internal(); + ExternalExceptionFilterContext = class extends BaseExceptionFilterContext { + static { + __name(this, "ExternalExceptionFilterContext"); + } + config; + constructor(container, config) { + super(container); + this.config = config; + } + create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) { + this.moduleContext = module; + const exceptionHandler = new ExternalExceptionsHandler(); + const filters = this.createContext(instance, callback, EXCEPTION_FILTERS_METADATA, contextId, inquirerId); + if (isEmptyArray(filters)) { + return exceptionHandler; + } + exceptionHandler.setCustomFilters(filters.reverse()); + return exceptionHandler; + } + getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) { + if (!this.config) { + return []; + } + const globalFilters = this.config.getGlobalFilters(); + if (contextId === STATIC_CONTEXT && !inquirerId) { + return globalFilters; + } + const scopedFilterWrappers = this.config.getGlobalRequestFilters(); + const scopedFilters = (0, import_iterare2.iterate)(scopedFilterWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray(); + return globalFilters.concat(scopedFilters); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/constants.js +var FORBIDDEN_MESSAGE; +var init_constants4 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/constants.js"() { + FORBIDDEN_MESSAGE = "Forbidden resource"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/execution-context-host.js +var ExecutionContextHost; +var init_execution_context_host = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/execution-context-host.js"() { + ExecutionContextHost = class { + static { + __name(this, "ExecutionContextHost"); + } + args; + constructorRef; + handler; + contextType = "http"; + constructor(args, constructorRef = null, handler = null) { + this.args = args; + this.constructorRef = constructorRef; + this.handler = handler; + } + setType(type) { + type && (this.contextType = type); + } + getType() { + return this.contextType; + } + getClass() { + return this.constructorRef; + } + getHandler() { + return this.handler; + } + getArgs() { + return this.args; + } + getArgByIndex(index) { + return this.args[index]; + } + switchToRpc() { + return Object.assign(this, { + getData: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getData"), + getContext: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getContext") + }); + } + switchToHttp() { + return Object.assign(this, { + getRequest: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getRequest"), + getResponse: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getResponse"), + getNext: /* @__PURE__ */ __name(() => this.getArgByIndex(2), "getNext") + }); + } + switchToWs() { + return Object.assign(this, { + getClient: /* @__PURE__ */ __name(() => this.getArgByIndex(0), "getClient"), + getData: /* @__PURE__ */ __name(() => this.getArgByIndex(1), "getData"), + getPattern: /* @__PURE__ */ __name(() => this.getArgByIndex(this.getArgs().length - 1), "getPattern") + }); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-consumer.js +var import_rxjs3, GuardsConsumer; +var init_guards_consumer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-consumer.js"() { + import_rxjs3 = __toESM(require_cjs(), 1); + init_execution_context_host(); + init_internal(); + GuardsConsumer = class { + static { + __name(this, "GuardsConsumer"); + } + async tryActivate(guards, args, instance, callback, type) { + if (!guards || isEmptyArray(guards)) { + return true; + } + const context = this.createContext(args, instance, callback); + context.setType(type); + for (const guard of guards) { + const result = guard.canActivate(context); + if (typeof result === "boolean") { + if (!result) { + return false; + } + continue; + } + if (await this.pickResult(result)) { + continue; + } + return false; + } + return true; + } + createContext(args, instance, callback) { + return new ExecutionContextHost(args, instance.constructor, callback); + } + async pickResult(result) { + const value = await result; + if ((0, import_rxjs3.isObservable)(value)) { + return (0, import_rxjs3.lastValueFrom)(value); + } + return value; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-context-creator.js +var import_iterare3, GuardsContextCreator; +var init_guards_context_creator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/guards-context-creator.js"() { + import_iterare3 = __toESM(require_lib(), 1); + init_context_creator(); + init_constants3(); + init_internal(); + GuardsContextCreator = class extends ContextCreator { + static { + __name(this, "GuardsContextCreator"); + } + container; + config; + moduleContext; + constructor(container, config) { + super(); + this.container = container; + this.config = config; + } + create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) { + this.moduleContext = module; + return this.createContext(instance, callback, GUARDS_METADATA, contextId, inquirerId); + } + createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) { + if (isEmpty(metadata)) { + return []; + } + return (0, import_iterare3.iterate)(metadata).filter((guard) => guard && (isFunction(guard) || isFunction(guard.canActivate))).map((guard) => this.getGuardInstance(guard, contextId, inquirerId)).filter((guard) => !!guard && isFunction(guard.canActivate)).toArray(); + } + getGuardInstance(metatype, contextId = STATIC_CONTEXT, inquirerId) { + const isObject2 = !!metatype.canActivate; + if (isObject2) { + return metatype; + } + const instanceWrapper = this.getInstanceByMetatype(metatype); + if (!instanceWrapper) { + return null; + } + const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId); + return instanceHost && instanceHost.instance; + } + getInstanceByMetatype(metatype) { + if (!this.moduleContext) { + return; + } + const collection = this.container.getModules(); + const moduleRef = collection.get(this.moduleContext); + if (!moduleRef) { + return; + } + const injectables = moduleRef.injectables; + return injectables.get(metatype); + } + getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) { + if (!this.config) { + return []; + } + const globalGuards = this.config.getGlobalGuards(); + if (contextId === STATIC_CONTEXT && !inquirerId) { + return globalGuards; + } + const scopedGuardWrappers = this.config.getGlobalRequestGuards(); + const scopedGuards = (0, import_iterare3.iterate)(scopedGuardWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray(); + return globalGuards.concat(scopedGuards); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/index.js +var init_guards = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/guards/index.js"() { + init_constants4(); + init_guards_consumer(); + init_guards_context_creator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/destroy-streamable-file.js +function destroyStreamableFile(value) { + if (!(value instanceof StreamableFile)) { + return; + } + const stream = value.getStream(); + if (isFunction(stream?.destroy)) { + stream.destroy(); + } +} +var init_destroy_streamable_file = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/destroy-streamable-file.js"() { + init_common(); + init_internal(); + __name(destroyStreamableFile, "destroyStreamableFile"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-consumer.js +import { AsyncResource } from "async_hooks"; +function bindAsyncScope(fn) { + const resource = new AsyncResource(fn.name || "bound-anonymous-fn"); + return () => resource.runInAsyncScope(fn); +} +var import_rxjs4, import_operators, InterceptorsConsumer; +var init_interceptors_consumer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-consumer.js"() { + import_rxjs4 = __toESM(require_cjs(), 1); + import_operators = __toESM(require_operators(), 1); + init_destroy_streamable_file(); + init_execution_context_host(); + init_internal(); + InterceptorsConsumer = class { + static { + __name(this, "InterceptorsConsumer"); + } + async intercept(interceptors, args, instance, callback, next, type) { + if (!interceptors || isEmptyArray(interceptors)) { + return next(); + } + const context = this.createContext(args, instance, callback); + context.setType(type); + const nextFn = /* @__PURE__ */ __name(async (i = 0) => { + if (i >= interceptors.length) { + return (0, import_rxjs4.defer)(bindAsyncScope(() => this.transformDeferred(next))); + } + const handler = { + handle: /* @__PURE__ */ __name(() => (0, import_rxjs4.defer)(bindAsyncScope(() => nextFn(i + 1))).pipe((0, import_operators.mergeAll)()), "handle") + }; + return interceptors[i].intercept(context, handler); + }, "nextFn"); + return (0, import_rxjs4.defer)(() => nextFn()).pipe((0, import_operators.mergeAll)()); + } + createContext(args, instance, callback) { + return new ExecutionContextHost(args, instance.constructor, callback); + } + transformDeferred(next) { + const nextPromise = next(); + return new import_rxjs4.Observable((subscriber) => { + let innerSub; + nextPromise.then((res) => { + if (subscriber.closed) { + destroyStreamableFile(res); + return; + } + const isDeferred = res instanceof Promise || res instanceof import_rxjs4.Observable; + innerSub = (0, import_rxjs4.from)(isDeferred ? res : Promise.resolve(res)).subscribe(subscriber); + }).catch((err) => { + if (!subscriber.closed) { + subscriber.error(err); + } + }); + return () => { + innerSub?.unsubscribe(); + }; + }); + } + }; + __name(bindAsyncScope, "bindAsyncScope"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-context-creator.js +var import_iterare4, InterceptorsContextCreator; +var init_interceptors_context_creator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/interceptors-context-creator.js"() { + import_iterare4 = __toESM(require_lib(), 1); + init_context_creator(); + init_constants3(); + init_internal(); + InterceptorsContextCreator = class extends ContextCreator { + static { + __name(this, "InterceptorsContextCreator"); + } + container; + config; + moduleContext; + constructor(container, config) { + super(); + this.container = container; + this.config = config; + } + create(instance, callback, module, contextId = STATIC_CONTEXT, inquirerId) { + this.moduleContext = module; + return this.createContext(instance, callback, INTERCEPTORS_METADATA, contextId, inquirerId); + } + createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) { + if (isEmpty(metadata)) { + return []; + } + return (0, import_iterare4.iterate)(metadata).filter((interceptor) => interceptor && (isFunction(interceptor) || isFunction(interceptor.intercept))).map((interceptor) => this.getInterceptorInstance(interceptor, contextId, inquirerId)).filter((interceptor) => interceptor ? isFunction(interceptor.intercept) : false).toArray(); + } + getInterceptorInstance(metatype, contextId = STATIC_CONTEXT, inquirerId) { + const isObject2 = !!metatype.intercept; + if (isObject2) { + return metatype; + } + const instanceWrapper = this.getInstanceByMetatype(metatype); + if (!instanceWrapper) { + return null; + } + const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId); + return instanceHost && instanceHost.instance; + } + getInstanceByMetatype(metatype) { + if (!this.moduleContext) { + return; + } + const collection = this.container.getModules(); + const moduleRef = collection.get(this.moduleContext); + if (!moduleRef) { + return; + } + return moduleRef.injectables.get(metatype); + } + getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) { + if (!this.config) { + return []; + } + const globalInterceptors = this.config.getGlobalInterceptors(); + if (contextId === STATIC_CONTEXT && !inquirerId) { + return globalInterceptors; + } + const scopedInterceptorWrappers = this.config.getGlobalRequestInterceptors(); + const scopedInterceptors = (0, import_iterare4.iterate)(scopedInterceptorWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray(); + return globalInterceptors.concat(scopedInterceptors); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/index.js +var init_interceptors = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/interceptors/index.js"() { + init_interceptors_consumer(); + init_interceptors_context_creator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/params-token-factory.js +var ParamsTokenFactory; +var init_params_token_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/params-token-factory.js"() { + init_internal(); + ParamsTokenFactory = class { + static { + __name(this, "ParamsTokenFactory"); + } + exchangeEnumForString(type) { + switch (type) { + case RouteParamtypes.BODY: + return "body"; + case RouteParamtypes.PARAM: + return "param"; + case RouteParamtypes.QUERY: + return "query"; + default: + return "custom"; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-consumer.js +var isThenable, PipesConsumer; +var init_pipes_consumer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-consumer.js"() { + init_params_token_factory(); + isThenable = /* @__PURE__ */ __name((value) => value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function", "isThenable"); + PipesConsumer = class { + static { + __name(this, "PipesConsumer"); + } + paramsTokenFactory = new ParamsTokenFactory(); + async apply(value, metadata, pipes) { + const token = this.paramsTokenFactory.exchangeEnumForString(metadata.type); + return this.applyPipes(value, { + metatype: metadata.metatype, + type: token, + data: metadata.data, + schema: metadata.schema + }, pipes); + } + async applyPipes(value, { metatype, type, data, schema }, transforms) { + let result = isThenable(value) ? await value : value; + for (const pipe of transforms) { + result = await pipe.transform(result, { metatype, type, data, schema }); + } + return result; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-context-creator.js +var import_iterare5, PipesContextCreator; +var init_pipes_context_creator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/pipes-context-creator.js"() { + import_iterare5 = __toESM(require_lib(), 1); + init_context_creator(); + init_constants3(); + init_internal(); + PipesContextCreator = class extends ContextCreator { + static { + __name(this, "PipesContextCreator"); + } + container; + config; + moduleContext; + constructor(container, config) { + super(); + this.container = container; + this.config = config; + } + create(instance, callback, moduleKey, contextId = STATIC_CONTEXT, inquirerId) { + this.moduleContext = moduleKey; + return this.createContext(instance, callback, PIPES_METADATA, contextId, inquirerId); + } + createConcreteContext(metadata, contextId = STATIC_CONTEXT, inquirerId) { + if (isEmpty(metadata)) { + return []; + } + return (0, import_iterare5.iterate)(metadata).filter((pipe) => pipe && (isFunction(pipe) || isFunction(pipe.transform))).map((pipe) => this.getPipeInstance(pipe, contextId, inquirerId)).filter((pipe) => !!pipe && pipe.transform && isFunction(pipe.transform)).toArray(); + } + getPipeInstance(pipe, contextId = STATIC_CONTEXT, inquirerId) { + const isObject2 = !!pipe.transform; + if (isObject2) { + return pipe; + } + const instanceWrapper = this.getInstanceByMetatype(pipe); + if (!instanceWrapper) { + return null; + } + const instanceHost = instanceWrapper.getInstanceByContextId(this.getContextId(contextId, instanceWrapper), inquirerId); + return instanceHost && instanceHost.instance; + } + getInstanceByMetatype(metatype) { + if (!this.moduleContext) { + return; + } + const collection = this.container.getModules(); + const moduleRef = collection.get(this.moduleContext); + if (!moduleRef) { + return; + } + return moduleRef.injectables.get(metatype); + } + getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) { + if (!this.config) { + return []; + } + const globalPipes = this.config.getGlobalPipes(); + if (contextId === STATIC_CONTEXT && !inquirerId) { + return globalPipes; + } + const scopedPipeWrappers = this.config.getGlobalRequestPipes(); + const scopedPipes = (0, import_iterare5.iterate)(scopedPipeWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray(); + return globalPipes.concat(scopedPipes); + } + setModuleContext(context) { + this.moduleContext = context; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/index.js +var init_pipes = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/pipes/index.js"() { + init_params_token_factory(); + init_pipes_consumer(); + init_pipes_context_creator(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-utils.js +var ContextUtils; +var init_context_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/context-utils.js"() { + init_execution_context_host(); + init_internal(); + ContextUtils = class { + static { + __name(this, "ContextUtils"); + } + mapParamType(key) { + const keyPair = key.split(":"); + return keyPair[0]; + } + reflectCallbackParamtypes(instance, methodName) { + return Reflect.getMetadata(PARAMTYPES_METADATA, instance, methodName); + } + reflectCallbackMetadata(instance, methodName, metadataKey) { + return Reflect.getMetadata(metadataKey, instance.constructor, methodName); + } + reflectPassthrough(instance, methodName) { + return Reflect.getMetadata(RESPONSE_PASSTHROUGH_METADATA, instance.constructor, methodName); + } + getArgumentsLength(keys, metadata) { + return keys.length ? Math.max(...keys.map((key) => metadata[key].index)) + 1 : 0; + } + createNullArray(length) { + const a = new Array(length); + for (let i = 0; i < length; ++i) + a[i] = void 0; + return a; + } + mergeParamsMetatypes(paramsProperties, paramtypes) { + if (!paramtypes) { + return paramsProperties; + } + return paramsProperties.map((param) => ({ + ...param, + metatype: paramtypes[param.index] + })); + } + getCustomFactory(factory, data, contextFactory) { + return isFunction(factory) ? (...args) => factory(data, contextFactory(args)) : () => null; + } + getContextFactory(contextType, instance, callback) { + const type = instance && instance.constructor; + return (args) => { + const ctx = new ExecutionContextHost(args, type, callback); + ctx.setType(contextType); + return ctx; + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-proxy.js +var ExternalErrorProxy; +var init_external_proxy = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-proxy.js"() { + init_execution_context_host(); + ExternalErrorProxy = class { + static { + __name(this, "ExternalErrorProxy"); + } + createProxy(targetCallback, exceptionsHandler, type) { + return async (...args) => { + try { + return await targetCallback(...args); + } catch (e) { + const host = new ExecutionContextHost(args); + host.setType(type); + return exceptionsHandler.next(e, host); + } + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/handler-metadata-storage.js +var HANDLER_METADATA_SYMBOL, HandlerMetadataStorage; +var init_handler_metadata_storage = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/handler-metadata-storage.js"() { + HANDLER_METADATA_SYMBOL = /* @__PURE__ */ Symbol.for("handler_metadata:cache"); + HandlerMetadataStorage = class { + static { + __name(this, "HandlerMetadataStorage"); + } + // Keyed by class: same-named classes must not share an entry. + [HANDLER_METADATA_SYMBOL] = /* @__PURE__ */ new WeakMap(); + set(controller, methodName, metadata) { + const ctor = controller.constructor; + if (!ctor) { + return; + } + let handlers = this[HANDLER_METADATA_SYMBOL].get(ctor); + if (!handlers) { + handlers = /* @__PURE__ */ new Map(); + this[HANDLER_METADATA_SYMBOL].set(ctor, handlers); + } + handlers.set(methodName, metadata); + } + get(controller, methodName) { + const handlers = this[HANDLER_METADATA_SYMBOL].get(controller.constructor); + return handlers?.get(methodName); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-context-creator.js +var import_rxjs5, ExternalContextCreator; +var init_external_context_creator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/external-context-creator.js"() { + init_common(); + init_internal(); + import_rxjs5 = __toESM(require_cjs(), 1); + init_external_exception_filter_context(); + init_constants4(); + init_guards(); + init_constants3(); + init_interceptors(); + init_pipes(); + init_class_ref_registry(); + init_context_utils(); + init_external_proxy(); + init_handler_metadata_storage(); + ExternalContextCreator = class _ExternalContextCreator { + static { + __name(this, "ExternalContextCreator"); + } + guardsContextCreator; + guardsConsumer; + interceptorsContextCreator; + interceptorsConsumer; + modulesContainer; + pipesContextCreator; + pipesConsumer; + filtersContextCreator; + contextUtils = new ContextUtils(); + externalErrorProxy = new ExternalErrorProxy(); + handlerMetadataStorage = new HandlerMetadataStorage(); + container; + constructor(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, modulesContainer, pipesContextCreator, pipesConsumer, filtersContextCreator) { + this.guardsContextCreator = guardsContextCreator; + this.guardsConsumer = guardsConsumer; + this.interceptorsContextCreator = interceptorsContextCreator; + this.interceptorsConsumer = interceptorsConsumer; + this.modulesContainer = modulesContainer; + this.pipesContextCreator = pipesContextCreator; + this.pipesConsumer = pipesConsumer; + this.filtersContextCreator = filtersContextCreator; + } + static fromContainer(container) { + const guardsContextCreator = new GuardsContextCreator(container, container.applicationConfig); + const guardsConsumer = new GuardsConsumer(); + const interceptorsContextCreator = new InterceptorsContextCreator(container, container.applicationConfig); + const interceptorsConsumer = new InterceptorsConsumer(); + const pipesContextCreator = new PipesContextCreator(container, container.applicationConfig); + const pipesConsumer = new PipesConsumer(); + const filtersContextCreator = new ExternalExceptionFilterContext(container, container.applicationConfig); + const externalContextCreator = new _ExternalContextCreator(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getModules(), pipesContextCreator, pipesConsumer, filtersContextCreator); + externalContextCreator.container = container; + return externalContextCreator; + } + create(instance, callback, methodName, metadataKey, paramsFactory, contextId = STATIC_CONTEXT, inquirerId, options = { + interceptors: true, + guards: true, + filters: true + }, contextType = "http") { + const classRef = getClassRef(instance); + const moduleKey = this.getContextModuleKey(classRef) || this.getHostModuleKey(instance, inquirerId); + inquirerId ??= this.modulesContainer.get(moduleKey)?.entryProviders.find((item) => item.token === classRef || item.instance === instance)?.id; + const { argsLength, paramtypes, getParamsMetadata } = this.getMetadata(instance, methodName, metadataKey, paramsFactory, contextType); + const pipes = this.pipesContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const guards = this.guardsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const exceptionFilter = this.filtersContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const interceptors = options.interceptors ? this.interceptorsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId) : []; + const paramsMetadata = getParamsMetadata(moduleKey, contextId, inquirerId); + const paramsOptions = paramsMetadata ? this.contextUtils.mergeParamsMetatypes(paramsMetadata, paramtypes) : []; + const fnCanActivate = options.guards ? this.createGuardsFn(guards, instance, callback, contextType) : null; + const fnApplyPipes = this.createPipesFn(pipes, paramsOptions); + const handler = /* @__PURE__ */ __name((initialArgs, ...args) => async () => { + if (fnApplyPipes) { + await fnApplyPipes(initialArgs, ...args); + return callback.apply(instance, initialArgs); + } + return callback.apply(instance, args); + }, "handler"); + const target = /* @__PURE__ */ __name(async (...args) => { + const initialArgs = this.contextUtils.createNullArray(argsLength); + fnCanActivate && await fnCanActivate(args); + const result = await this.interceptorsConsumer.intercept(interceptors, args, instance, callback, handler(initialArgs, ...args), contextType); + return this.transformToResult(result); + }, "target"); + return options.filters ? this.externalErrorProxy.createProxy(target, exceptionFilter, contextType) : target; + } + getMetadata(instance, methodName, metadataKey, paramsFactory, contextType) { + const cacheMetadata = this.handlerMetadataStorage.get(instance, methodName); + if (cacheMetadata) { + return cacheMetadata; + } + const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, metadataKey || "") || {}; + const keys = Object.keys(metadata); + const argsLength = this.contextUtils.getArgumentsLength(keys, metadata); + const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName); + const contextFactory = this.contextUtils.getContextFactory(contextType, instance, instance[methodName]); + const getParamsMetadata = /* @__PURE__ */ __name((moduleKey, contextId = STATIC_CONTEXT, inquirerId) => paramsFactory ? this.exchangeKeysForValues(keys, metadata, moduleKey, paramsFactory, contextId, inquirerId, contextFactory) : null, "getParamsMetadata"); + const handlerMetadata = { + argsLength, + paramtypes, + getParamsMetadata + }; + this.handlerMetadataStorage.set(instance, methodName, handlerMetadata); + return handlerMetadata; + } + getContextModuleKey(moduleCtor) { + const emptyModuleKey = ""; + if (!moduleCtor) { + return emptyModuleKey; + } + const moduleContainerEntries = this.modulesContainer.entries(); + for (const [key, moduleRef] of moduleContainerEntries) { + if (moduleRef.hasProvider(moduleCtor)) { + return key; + } + } + return emptyModuleKey; + } + /** + * Returns the key of the module of a host registered under a token other + * than its class (e.g., `{ provide: 'TOKEN', useClass: Resolver }`): the + * module whose providers include the given inquirer or, without one, the + * given instance. + */ + getHostModuleKey(instance, inquirerId) { + for (const [key, moduleRef] of this.modulesContainer.entries()) { + const host = inquirerId ? moduleRef.getProviderById(inquirerId) : [...moduleRef.providers.values()].find((wrapper) => !wrapper.isAlias && wrapper.instance === instance); + if (host) { + return key; + } + } + return ""; + } + exchangeKeysForValues(keys, metadata, moduleContext, paramsFactory, contextId = STATIC_CONTEXT, inquirerId, contextFactory = this.contextUtils.getContextFactory("http")) { + this.pipesContextCreator.setModuleContext(moduleContext); + return keys.map((key) => { + const { index, data, pipes: pipesCollection, schema } = metadata[key]; + const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId); + const type = this.contextUtils.mapParamType(key); + if (key.includes(CUSTOM_ROUTE_ARGS_METADATA)) { + const { factory } = metadata[key]; + const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory); + return { + index, + extractValue: customExtractValue, + type, + data, + pipes, + schema + }; + } + const numericType = Number(type); + const extractValue = /* @__PURE__ */ __name((...args) => paramsFactory.exchangeKeyForValue(numericType, data, args), "extractValue"); + return { index, extractValue, type: numericType, data, pipes, schema }; + }); + } + createPipesFn(pipes, paramsOptions) { + const pipesFn = /* @__PURE__ */ __name(async (args, ...params) => { + const resolveParamValue = /* @__PURE__ */ __name(async (param) => { + const { index, extractValue, type, data, metatype, pipes: paramPipes, schema } = param; + const value = extractValue(...params); + args[index] = await this.getParamValue(value, { metatype, type, data, schema }, pipes.concat(paramPipes)); + }, "resolveParamValue"); + await Promise.all(paramsOptions.map(resolveParamValue)); + }, "pipesFn"); + return paramsOptions.length ? pipesFn : null; + } + async getParamValue(value, metadata, pipes) { + return isEmptyArray(pipes) ? value : this.pipesConsumer.apply(value, metadata, pipes); + } + async transformToResult(resultOrDeferred) { + if ((0, import_rxjs5.isObservable)(resultOrDeferred)) { + return (0, import_rxjs5.lastValueFrom)(resultOrDeferred); + } + return resultOrDeferred; + } + createGuardsFn(guards, instance, callback, contextType) { + const canActivateFn = /* @__PURE__ */ __name(async (args) => { + const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType); + if (!canActivate) { + throw new ForbiddenException(FORBIDDEN_MESSAGE); + } + }, "canActivateFn"); + return guards.length ? canActivateFn : null; + } + registerRequestProvider(request, contextId) { + this.container.registerRequestProvider(request, contextId); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/index.js +var init_helpers = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/index.js"() { + init_context_id_factory(); + init_external_context_creator(); + init_http_adapter_host(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/circular-dependency.exception.js +var CircularDependencyException; +var init_circular_dependency_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/circular-dependency.exception.js"() { + init_runtime_exception(); + CircularDependencyException = class extends RuntimeException { + static { + __name(this, "CircularDependencyException"); + } + constructor(context) { + const ctx = context ? ` inside ${context}` : ``; + super(`A circular dependency has been detected${ctx}. Please, make sure that each side of a bidirectional relationships are decorated with "forwardRef()". Note that circular relationships between custom providers (e.g., factories) are not supported since functions cannot be called more than once.`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-element.exception.js +var UnknownElementException; +var init_unknown_element_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-element.exception.js"() { + init_runtime_exception(); + UnknownElementException = class extends RuntimeException { + static { + __name(this, "UnknownElementException"); + } + constructor(name) { + name = name && name.toString(); + super(`Nest could not find ${name || "given"} element (this provider does not exist in the current context)`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-scope.exception.js +var InvalidClassScopeException; +var init_invalid_class_scope_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-scope.exception.js"() { + init_messages(); + init_runtime_exception(); + init_internal(); + InvalidClassScopeException = class extends RuntimeException { + static { + __name(this, "InvalidClassScopeException"); + } + constructor(metatypeOrToken) { + let name = isFunction(metatypeOrToken) ? metatypeOrToken.name : metatypeOrToken; + name = name && name.toString(); + super(INVALID_CLASS_SCOPE_MESSAGE`${name}`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class.exception.js +var InvalidClassException; +var init_invalid_class_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class.exception.js"() { + init_messages(); + init_runtime_exception(); + InvalidClassException = class extends RuntimeException { + static { + __name(this, "InvalidClassException"); + } + constructor(value) { + super(INVALID_CLASS_MESSAGE`${value}`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/route-conflict.exception.js +var RouteConflictException; +var init_route_conflict_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/route-conflict.exception.js"() { + init_messages(); + init_runtime_exception(); + RouteConflictException = class extends RuntimeException { + static { + __name(this, "RouteConflictException"); + } + constructor(messages) { + super(ROUTE_CONFLICT_MESSAGE(messages)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-export.exception.js +var UnknownExportException; +var init_unknown_export_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-export.exception.js"() { + init_messages(); + init_runtime_exception(); + UnknownExportException = class extends RuntimeException { + static { + __name(this, "UnknownExportException"); + } + constructor(token, moduleName) { + super(UNKNOWN_EXPORT_MESSAGE(token, moduleName)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-module.exception.js +var UnknownModuleException; +var init_unknown_module_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-module.exception.js"() { + init_runtime_exception(); + UnknownModuleException = class extends RuntimeException { + static { + __name(this, "UnknownModuleException"); + } + constructor(moduleName) { + super(`Nest could not select the given module (${moduleName ? `"${moduleName}"` : "it"} does not exist in current context).`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-forwardref.exception.js +var UndefinedForwardRefException; +var init_undefined_forwardref_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-forwardref.exception.js"() { + init_messages(); + init_runtime_exception(); + UndefinedForwardRefException = class extends RuntimeException { + static { + __name(this, "UndefinedForwardRefException"); + } + constructor(scope) { + super(UNDEFINED_FORWARDREF_MESSAGE(scope)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/index.js +var init_exceptions2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/index.js"() { + init_circular_dependency_exception(); + init_runtime_exception(); + init_unknown_element_exception(); + init_invalid_class_scope_exception(); + init_invalid_class_exception(); + init_route_conflict_exception(); + init_unknown_export_exception(); + init_unknown_module_exception(); + init_undefined_forwardref_exception(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.js +var InitializeOnPreviewAllowlist; +var init_initialize_on_preview_allowlist = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.js"() { + InitializeOnPreviewAllowlist = class { + static { + __name(this, "InitializeOnPreviewAllowlist"); + } + static allowlist = /* @__PURE__ */ new WeakMap(); + static add(type) { + this.allowlist.set(type, true); + } + static has(type) { + return this.allowlist.has(type); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-constants.js +var INQUIRER; +var init_inquirer_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-constants.js"() { + INQUIRER = "INQUIRER"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/silent-logger.js +var noop, SilentLogger; +var init_silent_logger = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/silent-logger.js"() { + init_common(); + noop = /* @__PURE__ */ __name(() => { + }, "noop"); + SilentLogger = class extends Logger { + static { + __name(this, "SilentLogger"); + } + log = noop; + error = noop; + warn = noop; + debug = noop; + verbose = noop; + fatal = noop; + setLogLevels = noop; + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-create.exception.js +var RequestScopedCreateException; +var init_request_scoped_create_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-create.exception.js"() { + init_messages(); + init_runtime_exception(); + RequestScopedCreateException = class extends RuntimeException { + static { + __name(this, "RequestScopedCreateException"); + } + constructor(name) { + super(REQUEST_SCOPED_CREATE_MESSAGE(name)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/get-class-scope.js +function getClassScope(provider) { + const metadata = Reflect.getMetadata(SCOPE_OPTIONS_METADATA, provider); + return metadata && metadata.scope; +} +var init_get_class_scope = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/get-class-scope.js"() { + init_internal(); + __name(getClassScope, "getClassScope"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/is-durable.js +function isDurable(provider) { + const metadata = Reflect.getMetadata(SCOPE_OPTIONS_METADATA, provider); + return metadata && metadata.durable; +} +var init_is_durable = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/is-durable.js"() { + init_internal(); + __name(isDurable, "isDurable"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/abstract-instance-resolver.js +var AbstractInstanceResolver; +var init_abstract_instance_resolver = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/abstract-instance-resolver.js"() { + init_common(); + init_exceptions2(); + AbstractInstanceResolver = class { + static { + __name(this, "AbstractInstanceResolver"); + } + find(typeOrToken, options) { + const instanceLinkOrArray = this.instanceLinksHost.get(typeOrToken, options); + const pluckInstance = /* @__PURE__ */ __name(({ wrapperRef }) => { + if (wrapperRef.scope === Scope.REQUEST || wrapperRef.scope === Scope.TRANSIENT || !wrapperRef.isDependencyTreeStatic()) { + throw new InvalidClassScopeException(typeOrToken); + } + return wrapperRef.instance; + }, "pluckInstance"); + if (Array.isArray(instanceLinkOrArray)) { + return instanceLinkOrArray.map(pluckInstance); + } + return pluckInstance(instanceLinkOrArray); + } + async resolvePerContext(typeOrToken, contextModule, contextId, options) { + const instanceLinkOrArray = options?.strict ? this.instanceLinksHost.get(typeOrToken, { + moduleId: contextModule.id, + each: options.each + }) : this.instanceLinksHost.get(typeOrToken, { + each: options?.each + }); + const pluckInstance = /* @__PURE__ */ __name(async (instanceLink) => { + const { wrapperRef, collection } = instanceLink; + if (wrapperRef.isDependencyTreeStatic() && !wrapperRef.isTransient) { + return wrapperRef.instance; + } + const ctorHost = wrapperRef.instance || { constructor: typeOrToken }; + const instance = await this.injector.loadPerContext(ctorHost, wrapperRef.host, collection, contextId, wrapperRef); + if (!instance) { + throw new UnknownElementException(); + } + return instance; + }, "pluckInstance"); + if (Array.isArray(instanceLinkOrArray)) { + return Promise.all(instanceLinkOrArray.map((instanceLink) => pluckInstance(instanceLink))); + } + return pluckInstance(instanceLinkOrArray); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-dependency.exception.js +var UndefinedDependencyException; +var init_undefined_dependency_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-dependency.exception.js"() { + init_messages(); + init_runtime_exception(); + UndefinedDependencyException = class extends RuntimeException { + static { + __name(this, "UndefinedDependencyException"); + } + constructor(type, undefinedDependencyContext, moduleRef) { + super(UNKNOWN_DEPENDENCIES_MESSAGE(type, undefinedDependencyContext, moduleRef)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-dependencies.exception.js +var UnknownDependenciesException; +var init_unknown_dependencies_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-dependencies.exception.js"() { + init_messages(); + init_runtime_exception(); + UnknownDependenciesException = class extends RuntimeException { + static { + __name(this, "UnknownDependenciesException"); + } + type; + context; + metadata; + moduleRef; + constructor(type, context, moduleRef, metadata) { + super(UNKNOWN_DEPENDENCIES_MESSAGE(type, context, moduleRef)); + this.type = type; + this.context = context; + this.metadata = metadata; + this.moduleRef = moduleRef && { id: moduleRef.id }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/barrier.js +var Barrier; +var init_barrier = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/barrier.js"() { + Barrier = class { + static { + __name(this, "Barrier"); + } + currentCount; + targetCount; + promise; + resolve; + constructor(targetCount) { + this.currentCount = 0; + this.targetCount = targetCount; + this.promise = new Promise((resolve) => { + this.resolve = resolve; + }); + if (targetCount === 0) { + this.resolve(); + } + } + /** + * Signal that a participant has reached the barrier. + * + * The barrier will be resolved once `targetCount` participants have reached it. + */ + signal() { + this.currentCount += 1; + if (this.currentCount >= this.targetCount) { + this.resolve(); + } + } + /** + * Wait for the barrier to be resolved. + * + * @returns A promise that resolves when the barrier is resolved. + */ + async wait() { + return this.promise; + } + /** + * Signal that a participant has reached the barrier and wait for the barrier to be resolved. + * + * The barrier will be resolved once `targetCount` participants have reached it. + * + * @returns A promise that resolves when the barrier is resolved. + */ + async signalAndWait() { + this.signal(); + return this.wait(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/safe-instance-decorator.js +function makeSafeInstanceDecorator(decorator) { + return (target) => { + try { + return decorator(target); + } catch (err) { + logger.warn(`The "instanceDecorator" function threw an error while decorating an instance (${err?.message ?? err}). The undecorated instance will be used instead.`); + return target; + } + }; +} +var logger; +var init_safe_instance_decorator = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/safe-instance-decorator.js"() { + init_common(); + logger = new Logger("InstrumentLogger"); + __name(makeSafeInstanceDecorator, "makeSafeInstanceDecorator"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/is-debug-mode.util.js +function isDebugMode() { + return !!process.env.NEST_DEBUG; +} +var init_is_debug_mode_util = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/is-debug-mode.util.js"() { + __name(isDebugMode, "isDebugMode"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/index.js +var init_inquirer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/index.js"() { + init_inquirer_constants(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/settlement-signal.js +var SettlementSignal; +var init_settlement_signal = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/settlement-signal.js"() { + SettlementSignal = class { + static { + __name(this, "SettlementSignal"); + } + _refs = /* @__PURE__ */ new Map(); + settledPromise; + settleFn; + completed = false; + constructor() { + this.settledPromise = new Promise((resolve) => { + this.settleFn = resolve; + }); + } + /** + * Resolves the promise returned by `asPromise`. + */ + complete() { + this.completed = true; + this.settleFn(); + } + /** + * Rejects the promise returned by `asPromise` with the given error. + * @param err Error to reject the promise returned by `asPromise` with. + */ + error(err) { + this.completed = true; + this.settleFn(err); + } + /** + * Returns a promise that will be resolved when `complete` or `error` is called. + * @returns Promise that will be resolved when `complete` or `error` is called. + */ + asPromise() { + return this.settledPromise; + } + /** + * Inserts a wrapper that the host of this signal depends on. + * @param ref Wrapper to insert. + */ + insertRef(ref) { + this._refs.set(ref.id, ref); + } + /** + * Check if relationship is circular, i.e. whether the host of this signal + * is still waiting, directly or through other pending dependencies, on the + * given wrapper. + * @param wrapperId Wrapper id to check. + * @returns True if relationship is circular, false otherwise. + */ + isCycle(wrapperId) { + return this.waitsOn(wrapperId, /* @__PURE__ */ new Set()); + } + waitsOn(wrapperId, visited) { + if (this.completed || visited.has(this)) { + return false; + } + visited.add(this); + for (const [refId, ref] of this._refs) { + if (refId === wrapperId || ref.settlementSignal?.waitsOn(wrapperId, visited)) { + return true; + } + } + return false; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/injector.js +import { performance as performance2 } from "perf_hooks"; +var import_iterare6, Injector; +var init_injector = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/injector.js"() { + init_common(); + init_internal(); + import_iterare6 = __toESM(require_lib(), 1); + init_exceptions2(); + init_runtime_exception(); + init_undefined_dependency_exception(); + init_unknown_dependencies_exception(); + init_barrier(); + init_safe_instance_decorator(); + init_constants3(); + init_is_debug_mode_util(); + init_inquirer(); + init_settlement_signal(); + Injector = class { + static { + __name(this, "Injector"); + } + options; + logger = new Logger("InjectorLogger"); + instanceDecorator = /* @__PURE__ */ __name((target) => target, "instanceDecorator"); + /** + * Per-context loads that the provider which started them could not wait + * for (see `resolveComponentHost`), awaited by `waitForDeferredLoads`. + */ + deferredLoads = /* @__PURE__ */ new WeakMap(); + /** + * Deferred loads that are still running, per durable dependent of the + * provider being loaded and per context of that dependent (see + * `trackDurableDeferredLoad`). + */ + durableDeferredLoads = /* @__PURE__ */ new WeakMap(); + /** + * Durable instances that may reference the placeholder of a provider whose + * deferred load failed, with the error (see `trackDurableDeferredLoad`). + */ + failedInstances = /* @__PURE__ */ new WeakMap(); + constructor(options) { + this.options = options; + if (options?.instanceDecorator) { + this.instanceDecorator = makeSafeInstanceDecorator(options.instanceDecorator); + } + } + loadPrototype({ token }, collection, contextId = STATIC_CONTEXT) { + if (!collection) { + return; + } + const target = collection.get(token); + const instance = target.createPrototype(contextId); + if (instance) { + target.setInstanceByContextId(contextId, { instance }); + } + } + async loadInstance(wrapper, collection, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }) { + const inquirerId = this.getContextInquirerId(resolutionContext); + const hostContextId = this.getContextId(resolutionContext.contextId, wrapper); + const instanceHost = this.getInstanceHost(wrapper, hostContextId, inquirerId); + if (instanceHost.isPending) { + const settlementSignal2 = wrapper.settlementSignal; + if (resolutionContext.inquirer && settlementSignal2?.isCycle(resolutionContext.inquirer.id)) { + throw new CircularDependencyException(`"${wrapper.name}"`); + } + return instanceHost.donePromise.then((err) => { + if (err) { + throw err; + } + if (this.failedInstances.has(instanceHost)) { + throw this.failedInstances.get(instanceHost); + } + this.linkDurableDeferredLoads(wrapper, resolutionContext.contextId, hostContextId); + }); + } + const settlementSignal = this.applySettlementSignal(instanceHost, wrapper); + const token = wrapper.token || wrapper.name; + const { inject } = wrapper; + const targetWrapper = collection.get(token); + if (isUndefined(targetWrapper)) { + throw new RuntimeException(); + } + if (instanceHost.isResolved) { + return settlementSignal.complete(); + } + try { + const t0 = this.getNowTimestamp(); + const localResolutionContext = this.createResolutionContext(resolutionContext.contextId, wrapper, inquirerId); + const callback = /* @__PURE__ */ __name(async (instances, depth = 0) => { + const properties = await this.resolveProperties(wrapper, moduleRef, inject, localResolutionContext, resolutionContext.inquirer); + const instance = await this.instantiateClass(instances, wrapper, targetWrapper, wrapper.isTransient ? localResolutionContext : resolutionContext); + this.applyProperties(instance, properties); + wrapper.hierarchyLevel = depth + 1; + wrapper.initTime = this.getNowTimestamp() - t0; + settlementSignal.complete(); + }, "callback"); + await this.resolveConstructorParams(wrapper, moduleRef, inject, callback, localResolutionContext, resolutionContext.inquirer); + if (!instanceHost.isResolved) { + settlementSignal.complete(); + } + } catch (err) { + wrapper.removeInstanceByContextId(this.getContextId(resolutionContext.contextId, wrapper), inquirerId); + settlementSignal.error(err); + throw err; + } + } + async loadMiddleware(wrapper, collection, moduleRef, contextId = STATIC_CONTEXT, inquirer) { + const { metatype, token } = wrapper; + const targetWrapper = collection.get(token); + if (!isUndefined(targetWrapper.instance)) { + return; + } + targetWrapper.instance = Object.create(metatype.prototype); + await this.loadInstance(wrapper, collection, moduleRef, this.createResolutionContext(contextId, inquirer || wrapper)); + } + async loadController(wrapper, moduleRef, contextId = STATIC_CONTEXT) { + const controllers = moduleRef.controllers; + await this.loadInstance(wrapper, controllers, moduleRef, this.createResolutionContext(contextId, wrapper)); + if (wrapper.isDependencyTreeStatic()) { + return this.loadEnhancers(contextId, wrapper, wrapper.getEnhancersMetadata() || []); + } + await this.loadEnhancersPerContext(wrapper, contextId, wrapper); + } + async loadInjectable(wrapper, moduleRef, contextId = STATIC_CONTEXT, inquirer) { + const injectables = moduleRef.injectables; + await this.loadInstance(wrapper, injectables, moduleRef, this.createResolutionContext(contextId, inquirer)); + } + async loadProvider(wrapper, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }) { + if (this.shouldSkipProviderLoading(wrapper, resolutionContext)) { + if (!resolutionContext.inquirer) { + await this.lookupSkippedProviderDependencies(wrapper, moduleRef); + } + return; + } + const providers = moduleRef.providers; + await this.loadInstance(wrapper, providers, moduleRef, resolutionContext); + if (resolutionContext.contextId === STATIC_CONTEXT && !resolutionContext.inquirer && wrapper.isDependencyTreeStatic()) { + const enhancers = wrapper.getEnhancersMetadata() || []; + return this.loadEnhancers(STATIC_CONTEXT, wrapper, enhancers.filter((item) => item.isTransient)); + } + await this.loadEnhancersPerContext(wrapper, resolutionContext.contextId, wrapper); + } + applySettlementSignal(instancePerContext, host) { + const settlementSignal = new SettlementSignal(); + instancePerContext.donePromise = settlementSignal.asPromise(); + instancePerContext.isPending = true; + host.settlementSignal = settlementSignal; + return settlementSignal; + } + async resolveConstructorParams(wrapper, moduleRef, inject, callback, resolutionContext = { contextId: STATIC_CONTEXT }, parentInquirer) { + const metadata = wrapper.getCtorMetadata(); + if (resolutionContext.contextId !== STATIC_CONTEXT && this.hasDenseCtorMetadata(wrapper, inject, metadata)) { + const deps = await this.loadCtorMetadata(metadata, resolutionContext.contextId, resolutionContext.inquirer, parentInquirer); + return callback(deps); + } + const isFactoryProvider2 = !isNil(inject); + const [dependencies, optionalDependenciesIds] = isFactoryProvider2 ? this.getFactoryProviderDependencies(wrapper) : this.getClassDependencies(wrapper); + const paramBarrier = new Barrier(dependencies.length); + let isResolved = true; + let depth = 0; + const resolveParam = /* @__PURE__ */ __name(async (param, index) => { + try { + if (this.isInquirer(param, parentInquirer)) { + paramBarrier.signal(); + return parentInquirer && parentInquirer.instance; + } + if (resolutionContext.inquirer?.isTransient && parentInquirer) { + resolutionContext.rootInquirer = parentInquirer; + } + const nestedResolutionContext = this.getStaticTransientResolutionContext(resolutionContext, parentInquirer); + const paramWrapper = await this.resolveSingleParam(wrapper, param, { index, dependencies }, moduleRef, nestedResolutionContext, index); + await paramBarrier.signalAndWait(); + const effectiveResolutionContext = this.getEffectiveResolutionContext(paramWrapper, resolutionContext, parentInquirer); + const paramWrapperWithInstance = await this.resolveComponentHost(moduleRef, paramWrapper, effectiveResolutionContext); + if (paramWrapperWithInstance.hierarchyLevel > depth) { + depth = paramWrapperWithInstance.hierarchyLevel; + } + const instanceHost = paramWrapperWithInstance.getInstanceByContextId(this.getContextId(effectiveResolutionContext.contextId, paramWrapperWithInstance), effectiveResolutionContext.effectiveInquirerId); + if (!instanceHost.isResolved && !paramWrapperWithInstance.forwardRef) { + isResolved = false; + } + return instanceHost?.instance; + } catch (err) { + paramBarrier.signal(); + const isOptional = optionalDependenciesIds.includes(index); + if (!isOptional) { + throw err; + } + return void 0; + } + }, "resolveParam"); + const instances = await Promise.all(dependencies.map(resolveParam)); + isResolved && await callback(instances, depth); + } + getClassDependencies(wrapper) { + const ctorRef = wrapper.metatype; + return [ + this.reflectConstructorParams(ctorRef), + this.reflectOptionalParams(ctorRef) + ]; + } + getFactoryProviderDependencies(wrapper) { + const optionalDependenciesIds = []; + function isOptionalFactoryDependency(value) { + const token = value?.token; + if (isNil(token)) { + return false; + } + return !isUndefined(value.optional) && !value.prototype; + } + __name(isOptionalFactoryDependency, "isOptionalFactoryDependency"); + const mapFactoryProviderInjectArray = /* @__PURE__ */ __name((item, index) => { + const isWrappedDependency = !isNil(item) && typeof item === "object" && "token" in item; + const token = isWrappedDependency ? item.token : item; + if (isNil(token)) { + throw new UndefinedDependencyException(wrapper.name, { + index, + dependencies: wrapper.inject ?? void 0 + }); + } + if (typeof item !== "object") { + return item; + } + if (isOptionalFactoryDependency(item)) { + if (item.optional) { + optionalDependenciesIds.push(index); + } + return item?.token; + } + return item; + }, "mapFactoryProviderInjectArray"); + const inject = wrapper.inject ?? []; + const dependencies = Array.from(inject, mapFactoryProviderInjectArray); + return [dependencies, optionalDependenciesIds]; + } + reflectConstructorParams(type) { + const paramtypes = [ + ...Reflect.getMetadata(PARAMTYPES_METADATA, type) || [] + ]; + const selfParams = this.reflectSelfParams(type); + selfParams.forEach(({ index, param }) => paramtypes[index] = param); + return Array.from(paramtypes); + } + reflectOptionalParams(type) { + const ctorOwner = this.getConstructorOwner(type); + return Reflect.getOwnMetadata(OPTIONAL_DEPS_METADATA, ctorOwner) || []; + } + /** + * Returns the class in the prototype chain that declares the constructor + * `type` is instantiated with. A subclass without its own constructor + * inherits both the parent's parameter types and its `@Optional()` flags, + * while a subclass that redeclares the constructor must not inherit the + * parent's flags, as its parameters are unrelated to the parent's. + */ + getConstructorOwner(type) { + let current = type; + while (isFunction(current) && current !== Function.prototype) { + if (Reflect.hasOwnMetadata(PARAMTYPES_METADATA, current) || Reflect.hasOwnMetadata(OPTIONAL_DEPS_METADATA, current) || Reflect.hasOwnMetadata(SELF_DECLARED_DEPS_METADATA, current)) { + return current; + } + current = Object.getPrototypeOf(current); + } + return type; + } + reflectSelfParams(type) { + return Reflect.getMetadata(SELF_DECLARED_DEPS_METADATA, type) || []; + } + async resolveSingleParam(wrapper, param, dependencyContext, moduleRef, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) { + if (isUndefined(param)) { + this.logger.log("Nest encountered an undefined dependency. This may be due to a circular import or a missing dependency declaration."); + throw new UndefinedDependencyException(wrapper.name, dependencyContext, moduleRef); + } + const token = this.resolveParamToken(wrapper, param); + return this.resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, resolutionContext, keyOrIndex); + } + resolveParamToken(wrapper, param) { + if (typeof param === "object" && "forwardRef" in param) { + wrapper.forwardRef = true; + return param.forwardRef(); + } + return param; + } + async resolveComponentWrapper(moduleRef, token, dependencyContext, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) { + this.printResolvingDependenciesLog(token, resolutionContext.inquirer); + this.printLookingForProviderLog(token, moduleRef); + const providers = moduleRef.providers; + return this.lookupComponent(providers, moduleRef, { ...dependencyContext, name: token }, wrapper, resolutionContext, keyOrIndex); + } + async resolveComponentHost(moduleRef, instanceWrapper, resolutionContext = { contextId: STATIC_CONTEXT }) { + const inquirerId = this.getContextInquirerId(resolutionContext); + const instanceHost = this.getInstanceHost(instanceWrapper, this.getContextId(resolutionContext.contextId, instanceWrapper), inquirerId); + if (!instanceHost.isResolved && !instanceWrapper.forwardRef) { + resolutionContext.inquirer?.settlementSignal?.insertRef(instanceWrapper); + await this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext); + } else if (!instanceHost.isResolved && instanceWrapper.forwardRef && (resolutionContext.contextId !== STATIC_CONTEXT || !!inquirerId)) { + if (instanceHost.donePromise) { + const deferredLoad = instanceHost.donePromise.then((err) => { + if (err) { + throw err; + } + return this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext); + }); + void deferredLoad.catch((err) => { + instanceWrapper.settlementSignal?.error(err); + }); + this.addDeferredLoad(resolutionContext.contextId, deferredLoad); + this.trackDurableDeferredLoad(instanceWrapper, resolutionContext.contextId, deferredLoad); + } else { + resolutionContext.inquirer?.settlementSignal?.insertRef(instanceWrapper); + await this.loadProvider(instanceWrapper, instanceWrapper.host ?? moduleRef, resolutionContext); + } + } + if (instanceWrapper.async) { + const host = instanceWrapper.getInstanceByContextId(this.getContextId(resolutionContext.contextId, instanceWrapper), inquirerId); + host.instance = await host.instance; + instanceWrapper.setInstanceByContextId(resolutionContext.contextId, host, inquirerId); + } + this.linkDurableDeferredLoads(instanceWrapper, resolutionContext.contextId, this.getContextId(resolutionContext.contextId, instanceWrapper)); + return instanceWrapper; + } + async lookupComponent(providers, moduleRef, dependencyContext, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) { + const token = wrapper.token || wrapper.name; + const { name } = dependencyContext; + if (wrapper && token === name) { + throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id }); + } + if (name && providers.has(name)) { + const instanceWrapper = providers.get(name); + this.printFoundInModuleLog(name, moduleRef); + this.addDependencyMetadata(keyOrIndex, wrapper, instanceWrapper); + return instanceWrapper; + } + return this.lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, resolutionContext, keyOrIndex); + } + async lookupComponentInParentModules(dependencyContext, moduleRef, wrapper, resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex) { + const instanceWrapper = await this.lookupComponentInImports(moduleRef, dependencyContext.name, wrapper, /* @__PURE__ */ new Set(), resolutionContext, keyOrIndex); + if (isNil(instanceWrapper)) { + throw new UnknownDependenciesException(wrapper.name, dependencyContext, moduleRef, { id: wrapper.id }); + } + return instanceWrapper; + } + async lookupComponentInImports(moduleRef, name, wrapper, moduleRegistry = /* @__PURE__ */ new Set(), resolutionContext = { contextId: STATIC_CONTEXT }, keyOrIndex, isTraversing) { + let instanceWrapperRef = null; + const imports = moduleRef.imports || /* @__PURE__ */ new Set(); + const identity = /* @__PURE__ */ __name((item) => item, "identity"); + let children = [...imports.values()].filter(identity); + if (isTraversing) { + const contextModuleExports = moduleRef.exports; + children = children.filter((child) => contextModuleExports.has(child.metatype)); + } + for (const relatedModule of children) { + if (moduleRegistry.has(relatedModule.id)) { + continue; + } + this.printLookingForProviderLog(name, relatedModule); + moduleRegistry.add(relatedModule.id); + const { providers, exports } = relatedModule; + if (!exports.has(name) || !providers.has(name)) { + const instanceRef = await this.lookupComponentInImports(relatedModule, name, wrapper, moduleRegistry, resolutionContext, keyOrIndex, true); + if (instanceRef) { + this.addDependencyMetadata(keyOrIndex, wrapper, instanceRef); + return instanceRef; + } + continue; + } + this.printFoundInModuleLog(name, relatedModule); + instanceWrapperRef = providers.get(name); + this.addDependencyMetadata(keyOrIndex, wrapper, instanceWrapperRef); + break; + } + return instanceWrapperRef; + } + async resolveProperties(wrapper, moduleRef, inject, resolutionContext = { contextId: STATIC_CONTEXT }, parentInquirer) { + if (!isNil(inject)) { + return []; + } + const metadata = wrapper.getPropertiesMetadata(); + if (resolutionContext.contextId !== STATIC_CONTEXT && this.hasCompletePropertiesMetadata(wrapper, metadata)) { + return this.loadPropertiesMetadata(metadata, resolutionContext.contextId, resolutionContext.inquirer, parentInquirer); + } + const properties = this.reflectProperties(wrapper.metatype); + const propertyBarrier = new Barrier(properties.length); + const instances = await Promise.all(properties.map(async (item) => { + try { + const dependencyContext = { + key: item.key, + name: item.name + }; + if (this.isInquirer(item.name, parentInquirer)) { + propertyBarrier.signal(); + return parentInquirer && parentInquirer.instance; + } + const nestedResolutionContext = this.getStaticTransientResolutionContext(resolutionContext, parentInquirer); + const paramWrapper = await this.resolveSingleParam(wrapper, item.name, dependencyContext, moduleRef, nestedResolutionContext, item.key); + await propertyBarrier.signalAndWait(); + const effectivePropertyResolutionContext = this.getEffectiveResolutionContext(paramWrapper, resolutionContext, parentInquirer); + const paramWrapperWithInstance = await this.resolveComponentHost(moduleRef, paramWrapper, effectivePropertyResolutionContext); + if (!paramWrapperWithInstance) { + return void 0; + } + const instanceHost = paramWrapperWithInstance.getInstanceByContextId(this.getContextId(effectivePropertyResolutionContext.contextId, paramWrapperWithInstance), effectivePropertyResolutionContext.effectiveInquirerId); + return instanceHost.instance; + } catch (err) { + propertyBarrier.signal(); + if (!item.isOptional) { + throw err; + } + return void 0; + } + })); + return properties.map((item, index) => ({ + ...item, + instance: instances[index] + })); + } + reflectProperties(type) { + const properties = Reflect.getMetadata(PROPERTY_DEPS_METADATA, type) || []; + const optionalKeys = Reflect.getMetadata(OPTIONAL_PROPERTY_DEPS_METADATA, type) || []; + return properties.map((item) => ({ + ...item, + name: item.type, + isOptional: optionalKeys.includes(item.key) + })); + } + applyProperties(instance, properties) { + if (!isObject(instance)) { + return; + } + (0, import_iterare6.iterate)(properties).filter((item) => !isNil(item.instance)).forEach((item) => instance[item.key] = item.instance); + } + async instantiateClass(instances, wrapper, targetMetatype, resolutionContext = { contextId: STATIC_CONTEXT }) { + const { metatype, inject } = wrapper; + const inquirerId = this.getContextInquirerId(resolutionContext); + const instanceHost = targetMetatype.getInstanceByContextId(this.getContextId(resolutionContext.contextId, targetMetatype), inquirerId); + const isInContext = this.isInContext(wrapper, resolutionContext); + if (this.options?.preview && !wrapper.host?.initOnPreview) { + instanceHost.isResolved = true; + return instanceHost.instance; + } + if (isNil(inject) && isInContext) { + instanceHost.instance = wrapper.forwardRef ? Object.assign(instanceHost.instance, new metatype(...instances)) : new metatype(...instances); + instanceHost.instance = this.instanceDecorator(instanceHost.instance); + instanceHost.isConstructorCalled = true; + } else if (isInContext) { + const factoryReturnValue = targetMetatype.metatype(...instances); + instanceHost.instance = await factoryReturnValue; + instanceHost.instance = this.instanceDecorator(instanceHost.instance); + instanceHost.isConstructorCalled = true; + } + instanceHost.isResolved = true; + return instanceHost.instance; + } + async loadPerContext(instance, moduleRef, collection, ctx, wrapper) { + if (!wrapper) { + const injectionToken = instance.constructor; + wrapper = collection.get(injectionToken) ?? // A class provider registered under a token other than its class + (0, import_iterare6.iterate)(collection.values()).find((item) => !item.isAlias && item.instance === instance); + } else { + wrapper = collection.get(wrapper.token) ?? wrapper; + } + await this.loadInstance(wrapper, collection, moduleRef, this.createResolutionContext(ctx, wrapper)); + await this.loadEnhancersPerContext(wrapper, ctx, wrapper); + await this.waitForDeferredLoads(ctx); + const host = wrapper.getInstanceByContextId(this.getContextId(ctx, wrapper), wrapper.id); + return host && host.instance; + } + /** + * Waits for the loads deferred while resolving the given context (see + * `resolveComponentHost`), including those that the durable instances it + * uses were built with (see `trackDurableDeferredLoad`), and throws if one + * of them failed. A failed load is kept, as instances of the context already + * reference the provider that it failed to instantiate. + */ + async waitForDeferredLoads(contextId) { + const deferredLoads = this.deferredLoads.get(contextId); + if (!deferredLoads) { + return; + } + for (const deferredLoad of deferredLoads) { + await deferredLoad; + deferredLoads.delete(deferredLoad); + } + } + async loadEnhancersPerContext(wrapper, ctx, inquirer, enhancers = wrapper.getEnhancersMetadata() || []) { + if (ctx === STATIC_CONTEXT) { + return; + } + await this.loadEnhancers(ctx, inquirer, enhancers); + } + async loadEnhancers(ctx, inquirer, enhancers) { + const loadEnhancer = /* @__PURE__ */ __name((item) => { + const hostModule = item.host; + return this.loadInstance(item, hostModule.injectables, hostModule, this.createResolutionContext(ctx, inquirer)); + }, "loadEnhancer"); + await Promise.all(enhancers.map(loadEnhancer)); + } + async loadCtorMetadata(metadata, contextId, inquirer, parentInquirer) { + const hosts = await Promise.all(metadata.map(async (item) => this.resolveScopedComponentHost(item, contextId, inquirer, parentInquirer))); + return hosts.map((item, index) => { + const dependency = metadata[index]; + const effectiveInquirerId = this.getEffectiveInquirerId(dependency, this.createResolutionContext(contextId, inquirer), parentInquirer); + return item?.getInstanceByContextId(this.getContextId(contextId, item), effectiveInquirerId).instance; + }); + } + async loadPropertiesMetadata(metadata, contextId, inquirer, parentInquirer) { + const dependenciesHosts = await Promise.all(metadata.map(async ({ wrapper: item, key }) => ({ + key, + host: await this.resolveScopedComponentHost(item, contextId, inquirer, parentInquirer) + }))); + return dependenciesHosts.map(({ key, host }, index) => { + const effectiveInquirerId = this.getEffectiveInquirerId(metadata[index].wrapper, this.createResolutionContext(contextId, inquirer), parentInquirer); + return { + key, + name: key, + instance: host?.getInstanceByContextId(this.getContextId(contextId, host), effectiveInquirerId).instance + }; + }); + } + addDeferredLoad(contextId, deferredLoad) { + if (contextId === STATIC_CONTEXT) { + return; + } + let deferredLoads = this.deferredLoads.get(contextId); + if (!deferredLoads) { + deferredLoads = /* @__PURE__ */ new Set(); + this.deferredLoads.set(contextId, deferredLoads); + } + deferredLoads.add(deferredLoad); + } + /** + * In a durable context (see `ContextIdStrategy`), the dependents built with + * the placeholder of a provider whose load is deferred are shared with the + * next contexts mapped to it, which do not wait for that load. Until it + * settles, the contexts that use them wait for it as well (see + * `linkDurableDeferredLoads`); if it fails, the contexts still waiting for + * one of them fail, and the next one that uses them builds them again (see + * `getInstanceHost`). + */ + trackDurableDeferredLoad(wrapper, contextId, deferredLoad) { + if (this.getContextId(contextId, wrapper) === contextId) { + return; + } + const untrackers = []; + this.forEachDurableDependent(wrapper, contextId, (dependent, hostId) => { + const loadsPerContext = this.durableDeferredLoads.get(dependent) ?? /* @__PURE__ */ new WeakMap(); + const loads = loadsPerContext.get(hostId) ?? /* @__PURE__ */ new Set(); + loads.add(deferredLoad); + loadsPerContext.set(hostId, loads); + this.durableDeferredLoads.set(dependent, loadsPerContext); + untrackers.push(() => { + loads.delete(deferredLoad); + if (loads.size === 0) { + loadsPerContext.delete(hostId); + } + }); + }); + const untrack = /* @__PURE__ */ __name(() => untrackers.forEach((untrackLoad) => untrackLoad()), "untrack"); + deferredLoad.then(untrack, (err) => { + this.forEachDurableDependent(wrapper, contextId, (dependent, hostId) => dependent.getExistingInstancesByContextId(hostId).filter((host) => host.isResolved || host.isPending).forEach((host) => this.failedInstances.set(host, err))); + untrack(); + }); + } + /** + * Adds the running loads that the instance of the wrapper in a durable + * context was built with (see `trackDurableDeferredLoad`) to the loads of + * the given context. + */ + linkDurableDeferredLoads(wrapper, contextId, hostContextId) { + if (hostContextId === contextId) { + return; + } + this.durableDeferredLoads.get(wrapper)?.get(hostContextId)?.forEach((deferredLoad) => this.addDeferredLoad(contextId, deferredLoad)); + } + forEachDurableDependent(wrapper, contextId, callback) { + for (const dependent of wrapper.getDependents()) { + const hostContextId = this.getContextId(contextId, dependent); + if (hostContextId !== contextId) { + callback(dependent, hostContextId); + } + } + } + /** + * Returns the instance of the wrapper for the given context, or a new one + * when it was built with a provider whose deferred load failed (see + * `trackDurableDeferredLoad`), so that it is built again. + */ + getInstanceHost(wrapper, contextId, inquirerId) { + const instanceHost = wrapper.getInstanceByContextId(contextId, inquirerId); + if (!instanceHost.isResolved || !this.failedInstances.has(instanceHost)) { + return instanceHost; + } + wrapper.removeInstanceByContextId(contextId, inquirerId); + return wrapper.getInstanceByContextId(contextId, inquirerId); + } + getInquirerId(inquirer) { + return inquirer ? inquirer.id : void 0; + } + createResolutionContext(contextId, inquirer, effectiveInquirerId, rootInquirer) { + return { + contextId, + inquirer, + effectiveInquirerId, + rootInquirer + }; + } + getContextInquirerId({ inquirer, effectiveInquirerId }) { + return effectiveInquirerId ?? this.getInquirerId(inquirer); + } + isInContext(wrapper, resolutionContext) { + return wrapper.isStatic(resolutionContext.contextId, resolutionContext.inquirer, resolutionContext.rootInquirer) || wrapper.isInRequestScope(resolutionContext.contextId, resolutionContext.inquirer) || wrapper.isLazyTransient(resolutionContext.contextId, resolutionContext.inquirer) || wrapper.isExplicitlyRequested(resolutionContext.contextId, resolutionContext.inquirer); + } + /** + * Request-scoped and transient providers are not created at bootstrap, so + * their dependencies are only looked up here, without creating anything. + * A missing dependency then fails at bootstrap rather than on first use. + * Every lookup is awaited before the first failure is thrown. + */ + async lookupSkippedProviderDependencies(wrapper, moduleRef) { + const isFactoryProvider2 = !isNil(wrapper.inject); + if (!isFactoryProvider2 && !isFunction(wrapper.metatype)) { + return; + } + const [dependencies, optionalDependenciesIds] = isFactoryProvider2 ? this.getFactoryProviderDependencies(wrapper) : this.getClassDependencies(wrapper); + const properties = isFactoryProvider2 ? [] : this.reflectProperties(wrapper.metatype); + const lookup = /* @__PURE__ */ __name(async (param, dependencyContext, keyOrIndex, isOptional) => { + try { + await this.resolveSingleParam(wrapper, param, dependencyContext, moduleRef, { contextId: STATIC_CONTEXT }, keyOrIndex); + } catch (err) { + if (!isOptional) { + throw err; + } + } + }, "lookup"); + const results = await Promise.allSettled([ + ...dependencies.map((param, index) => lookup(param, { index, dependencies }, index, optionalDependenciesIds.includes(index))), + ...properties.map(({ key, name, isOptional }) => lookup(name, { key, name }, key, !!isOptional)) + ]); + const failure = results.find((result) => result.status === "rejected"); + if (failure) { + throw failure.reason; + } + } + shouldSkipProviderLoading(wrapper, resolutionContext) { + const isStaticContext = resolutionContext.contextId === STATIC_CONTEXT; + const hasNoInquirer = !resolutionContext.inquirer; + const isTopLevelStaticTransientOrRequestProvider = hasNoInquirer && (wrapper.isTransient || wrapper.scope === Scope.REQUEST); + const isStaticInquirerOutsideResolutionContext = !!resolutionContext.inquirer && !this.isInContext(resolutionContext.inquirer, this.createResolutionContext(resolutionContext.contextId, resolutionContext.inquirer, void 0, resolutionContext.rootInquirer)); + const shouldSkipForStaticBootstrap = isStaticContext && (isTopLevelStaticTransientOrRequestProvider || isStaticInquirerOutsideResolutionContext); + return shouldSkipForStaticBootstrap; + } + /** + * For nested TRANSIENT dependencies (TRANSIENT -> TRANSIENT) in non-static contexts, + * returns parentInquirer to ensure each parent TRANSIENT gets its own instance. + * This is necessary because in REQUEST/DURABLE scopes, the same TRANSIENT wrapper + * can be used by multiple parents, causing nested TRANSIENTs to be shared incorrectly. + * For non-TRANSIENT -> TRANSIENT, returns inquirer (current wrapper being created). + */ + getEffectiveInquirer(dependency, resolutionContext, parentInquirer) { + const { inquirer, contextId, rootInquirer } = resolutionContext; + if (dependency?.isTransient && inquirer?.isTransient && parentInquirer) { + if (contextId === STATIC_CONTEXT) { + return rootInquirer ?? parentInquirer; + } + return parentInquirer; + } + return inquirer; + } + getEffectiveInquirerId(dependency, resolutionContext, parentInquirer) { + const { contextId, inquirer, effectiveInquirerId } = resolutionContext; + if (contextId === STATIC_CONTEXT && dependency?.isTransient && inquirer?.isTransient && parentInquirer) { + const baseInquirerId = effectiveInquirerId ?? this.getInquirerId(parentInquirer); + return `${baseInquirerId}:${inquirer.id}`; + } + const effectiveInquirer = this.getEffectiveInquirer(dependency, resolutionContext, parentInquirer); + return this.getInquirerId(effectiveInquirer); + } + getStaticTransientResolutionContext(resolutionContext, parentInquirer) { + const { contextId, inquirer, effectiveInquirerId } = resolutionContext; + if (contextId === STATIC_CONTEXT && inquirer?.isTransient && parentInquirer) { + const baseInquirerId = effectiveInquirerId ?? this.getInquirerId(parentInquirer); + return this.createResolutionContext(contextId, inquirer, `${baseInquirerId}:${inquirer.id}`); + } + return resolutionContext; + } + getEffectiveResolutionContext(dependency, resolutionContext, parentInquirer) { + const effectiveInquirer = this.getEffectiveInquirer(dependency, resolutionContext, parentInquirer); + return this.createResolutionContext( + resolutionContext.contextId, + effectiveInquirer, + this.getEffectiveInquirerId(dependency, resolutionContext, parentInquirer), + // The root inquirer is the one of `inquirer` + effectiveInquirer === resolutionContext.inquirer ? resolutionContext.rootInquirer : void 0 + ); + } + hasDenseCtorMetadata(wrapper, inject, metadata) { + if (!metadata) { + return false; + } + const expectedDepsLength = !isNil(inject) ? inject.length : wrapper.metatype ? this.reflectConstructorParams(wrapper.metatype).length : 0; + if (metadata.length !== expectedDepsLength) { + return false; + } + for (let index = 0; index < expectedDepsLength; index++) { + if (metadata[index] === void 0) { + return false; + } + } + return true; + } + hasCompletePropertiesMetadata(wrapper, metadata) { + if (!metadata) { + return false; + } + const properties = wrapper.metatype ? this.reflectProperties(wrapper.metatype) : []; + return properties.every(({ key }) => metadata.some((item) => item.key === key)); + } + resolveScopedComponentHost(item, contextId, inquirer, parentInquirer) { + return this.isInquirerRequest(item, parentInquirer) ? parentInquirer : this.resolveComponentHost(item.host, item, this.getEffectiveResolutionContext(item, this.createResolutionContext(contextId, inquirer), parentInquirer)); + } + isInquirerRequest(item, parentInquirer) { + return item.isTransient && item.name === INQUIRER && parentInquirer; + } + isInquirer(param, parentInquirer) { + return param === INQUIRER && parentInquirer; + } + addDependencyMetadata(keyOrIndex, hostWrapper, instanceWrapper) { + if (isSymbol(keyOrIndex) || isString(keyOrIndex)) { + hostWrapper.addPropertiesMetadata(keyOrIndex, instanceWrapper); + } else { + hostWrapper.addCtorMetadata(keyOrIndex, instanceWrapper); + } + } + getTokenName(token) { + return isFunction(token) ? token.name : token.toString(); + } + printResolvingDependenciesLog(token, inquirer) { + if (!isDebugMode()) { + return; + } + const tokenName = this.getTokenName(token); + const dependentName = (inquirer?.name && inquirer.name.toString?.()) ?? "unknown"; + const isAlias = dependentName === tokenName; + const messageToPrint = `Resolving dependency ${clc.cyanBright(tokenName)}${clc.green(" in the ")}${clc.yellow(dependentName)}${clc.green(` provider ${isAlias ? "(alias)" : ""}`)}`; + this.logger.log(messageToPrint); + } + printLookingForProviderLog(token, moduleRef) { + if (!isDebugMode()) { + return; + } + const tokenName = this.getTokenName(token); + const moduleRefName = moduleRef?.metatype?.name ?? "unknown"; + this.logger.log(`Looking for ${clc.cyanBright(tokenName)}${clc.green(" in ")}${clc.magentaBright(moduleRefName)}`); + } + printFoundInModuleLog(token, moduleRef) { + if (!isDebugMode()) { + return; + } + const tokenName = this.getTokenName(token); + const moduleRefName = moduleRef?.metatype?.name ?? "unknown"; + this.logger.log(`Found ${clc.cyanBright(tokenName)}${clc.green(" in ")}${clc.magentaBright(moduleRefName)}`); + } + getContextId(contextId, instanceWrapper) { + return contextId.getParent ? contextId.getParent({ + token: instanceWrapper.token, + isTreeDurable: instanceWrapper.isDependencyTreeDurable() + }) : contextId; + } + getNowTimestamp() { + return performance2.now(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-links-host.js +var InstanceLinksHost; +var init_instance_links_host = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-links-host.js"() { + init_unknown_element_exception(); + init_internal(); + InstanceLinksHost = class { + static { + __name(this, "InstanceLinksHost"); + } + container; + instanceLinks = /* @__PURE__ */ new Map(); + constructor(container) { + this.container = container; + this.initialize(); + } + get(token, options = {}) { + const instanceLinksForGivenToken = this.instanceLinks.get(token); + if (!instanceLinksForGivenToken) { + throw new UnknownElementException(this.getInstanceNameByToken(token)); + } + if (options.each) { + return instanceLinksForGivenToken; + } + const instanceLink = options.moduleId ? instanceLinksForGivenToken.find((item) => item.moduleId === options.moduleId) : instanceLinksForGivenToken[instanceLinksForGivenToken.length - 1]; + if (!instanceLink) { + throw new UnknownElementException(this.getInstanceNameByToken(token)); + } + return instanceLink; + } + initialize() { + const modules = this.container.getModules(); + modules.forEach((moduleRef) => { + const { providers, injectables, controllers } = moduleRef; + providers.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "providers")); + injectables.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "injectables")); + controllers.forEach((wrapper, token) => this.addLink(wrapper, token, moduleRef, "controllers")); + }); + } + addLink(wrapper, token, moduleRef, collectionName) { + const instanceLink = { + moduleId: moduleRef.id, + wrapperRef: wrapper, + collection: moduleRef[collectionName], + token + }; + const existingLinks = this.instanceLinks.get(token); + if (!existingLinks) { + this.instanceLinks.set(token, [instanceLink]); + } else { + existingLinks.push(instanceLink); + } + } + getInstanceNameByToken(token) { + return isFunction(token) ? token?.name : token; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/deterministic-uuid-registry.js +var DeterministicUuidRegistry; +var init_deterministic_uuid_registry = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/deterministic-uuid-registry.js"() { + DeterministicUuidRegistry = class { + static { + __name(this, "DeterministicUuidRegistry"); + } + static registry = /* @__PURE__ */ new Map(); + static get(str, inc = 0) { + const id = inc ? this.hashCode(`${str}_${inc}`) : this.hashCode(str); + if (this.registry.has(id)) { + return this.get(str, inc + 1); + } + this.registry.set(id, true); + return id; + } + static clear() { + this.registry.clear(); + } + static hashCode(s) { + let h = 0; + for (let i = 0; i < s.length; i++) + h = Math.imul(31, h) + s.charCodeAt(i) | 0; + return h.toString(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/uuid-factory.js +var UuidFactoryMode, UuidFactory; +var init_uuid_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/uuid-factory.js"() { + init_deterministic_uuid_registry(); + init_internal(); + (function(UuidFactoryMode2) { + UuidFactoryMode2["Random"] = "random"; + UuidFactoryMode2["Deterministic"] = "deterministic"; + })(UuidFactoryMode || (UuidFactoryMode = {})); + UuidFactory = class { + static { + __name(this, "UuidFactory"); + } + static _mode = UuidFactoryMode.Random; + static set mode(value) { + this._mode = value; + } + static get(key = "") { + return this._mode === UuidFactoryMode.Deterministic ? DeterministicUuidRegistry.get(key) : randomStringGenerator(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/provider-classifier.js +function isClassProvider(provider) { + return Boolean(provider?.useClass); +} +function isValueProvider(provider) { + const providerValue = provider?.useValue; + return !isUndefined(providerValue); +} +function isFactoryProvider(provider) { + return Boolean(provider.useFactory); +} +var init_provider_classifier = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/helpers/provider-classifier.js"() { + init_internal(); + __name(isClassProvider, "isClassProvider"); + __name(isValueProvider, "isValueProvider"); + __name(isFactoryProvider, "isFactoryProvider"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-wrapper.js +var import_iterare7, INSTANCE_METADATA_SYMBOL, INSTANCE_ID_SYMBOL, dependencyTreeParents, InstanceWrapper; +var init_instance_wrapper = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-wrapper.js"() { + init_common(); + init_internal(); + import_iterare7 = __toESM(require_lib(), 1); + init_class_ref_registry(); + init_get_class_scope(); + init_is_durable(); + init_uuid_factory(); + init_constants3(); + init_is_debug_mode_util(); + init_provider_classifier(); + INSTANCE_METADATA_SYMBOL = /* @__PURE__ */ Symbol.for("instance_metadata:cache"); + INSTANCE_ID_SYMBOL = /* @__PURE__ */ Symbol.for("instance_metadata:id"); + dependencyTreeParents = /* @__PURE__ */ new WeakMap(); + InstanceWrapper = class _InstanceWrapper { + static { + __name(this, "InstanceWrapper"); + } + name; + token; + async; + host; + isAlias = false; + subtype; + scope = Scope.DEFAULT; + metatype; + inject; + forwardRef; + durable; + initTime; + settlementSignal; + static logger = new Logger(_InstanceWrapper.name); + values = /* @__PURE__ */ new WeakMap(); + [INSTANCE_METADATA_SYMBOL] = {}; + [INSTANCE_ID_SYMBOL]; + transientMap; + isTreeStatic; + isTreeDurable; + _hierarchyLevel = 0; + get hierarchyLevel() { + return this._hierarchyLevel; + } + set hierarchyLevel(level) { + this._hierarchyLevel = level; + } + /** + * The root inquirer reference. Present only if child instance wrapper + * is transient and has a parent inquirer. + */ + rootInquirer; + constructor(metadata = {}) { + this.initialize(metadata); + if (this.isNewable()) { + registerClassRef(this.metatype); + } + this[INSTANCE_ID_SYMBOL] = metadata[INSTANCE_ID_SYMBOL] ?? this.generateUuid(); + } + get id() { + return this[INSTANCE_ID_SYMBOL]; + } + set instance(value) { + this.values.set(STATIC_CONTEXT, { instance: value }); + } + get instance() { + const instancePerContext = this.getInstanceByContextId(STATIC_CONTEXT); + return instancePerContext.instance; + } + get isNotMetatype() { + return !this.metatype || this.isFactory; + } + get isFactory() { + return !!this.metatype && !isNil(this.inject); + } + get isTransient() { + return this.scope === Scope.TRANSIENT; + } + getInstanceByContextId(contextId, inquirerId) { + if (this.scope === Scope.TRANSIENT && inquirerId) { + return this.getInstanceByInquirerId(contextId, inquirerId); + } + const instancePerContext = this.values.get(contextId); + return instancePerContext ? instancePerContext : contextId !== STATIC_CONTEXT ? this.cloneStaticInstance(contextId) : { + instance: null, + isResolved: true, + isPending: false + }; + } + getInstanceByInquirerId(contextId, inquirerId) { + let collectionPerContext = this.transientMap.get(inquirerId); + if (!collectionPerContext) { + collectionPerContext = /* @__PURE__ */ new WeakMap(); + this.transientMap.set(inquirerId, collectionPerContext); + } + const instancePerContext = collectionPerContext.get(contextId); + return instancePerContext ? instancePerContext : this.cloneTransientInstance(contextId, inquirerId); + } + setInstanceByContextId(contextId, value, inquirerId) { + if (this.scope === Scope.TRANSIENT && inquirerId) { + return this.setInstanceByInquirerId(contextId, inquirerId, value); + } + this.values.set(contextId, value); + } + setInstanceByInquirerId(contextId, inquirerId, value) { + let collection = this.transientMap.get(inquirerId); + if (!collection) { + collection = /* @__PURE__ */ new WeakMap(); + this.transientMap.set(inquirerId, collection); + } + collection.set(contextId, value); + } + removeInstanceByContextId(contextId, inquirerId) { + if (this.scope === Scope.TRANSIENT && inquirerId) { + return this.removeInstanceByInquirerId(contextId, inquirerId); + } + this.values.delete(contextId); + } + removeInstanceByInquirerId(contextId, inquirerId) { + const collection = this.transientMap.get(inquirerId); + if (!collection) { + return; + } + collection.delete(contextId); + } + /** + * Returns the instances that exist for the given context, including those + * of every inquirer of a transient provider. Unlike `getInstanceByContextId`, + * it does not create one. + */ + getExistingInstancesByContextId(contextId) { + const collections = [this.values, ...this.transientMap?.values() ?? []]; + return collections.map((collection) => collection.get(contextId)).filter((instancePerContext) => !isUndefined(instancePerContext)); + } + addCtorMetadata(index, wrapper) { + if (!this[INSTANCE_METADATA_SYMBOL].dependencies) { + this[INSTANCE_METADATA_SYMBOL].dependencies = []; + } + this[INSTANCE_METADATA_SYMBOL].dependencies[index] = wrapper; + this.registerDependencyTreeParent(wrapper); + this.resetDependencyTreeState(); + } + getCtorMetadata() { + return this[INSTANCE_METADATA_SYMBOL].dependencies; + } + addPropertiesMetadata(key, wrapper) { + if (!this[INSTANCE_METADATA_SYMBOL].properties) { + this[INSTANCE_METADATA_SYMBOL].properties = []; + } + const properties = this[INSTANCE_METADATA_SYMBOL].properties; + const index = properties.findIndex((item) => item.key === key); + if (index === -1) { + properties.push({ key, wrapper }); + } else { + properties[index] = { key, wrapper }; + } + this.registerDependencyTreeParent(wrapper); + this.resetDependencyTreeState(); + } + getPropertiesMetadata() { + return this[INSTANCE_METADATA_SYMBOL].properties; + } + addEnhancerMetadata(wrapper) { + if (!this[INSTANCE_METADATA_SYMBOL].enhancers) { + this[INSTANCE_METADATA_SYMBOL].enhancers = []; + } + this[INSTANCE_METADATA_SYMBOL].enhancers.push(wrapper); + this.registerDependencyTreeParent(wrapper); + this.resetDependencyTreeState(); + } + getEnhancersMetadata() { + return this[INSTANCE_METADATA_SYMBOL].enhancers; + } + isDependencyTreeDurable(lookupRegistry = []) { + if (!isUndefined(this.isTreeDurable)) { + return this.isTreeDurable; + } + if (this.scope === Scope.REQUEST) { + this.isTreeDurable = this.durable === void 0 ? false : this.durable; + if (this.isTreeDurable) { + this.printIntrospectedAsDurable(); + } + return this.isTreeDurable; + } + const isStatic = this.isDependencyTreeStatic(); + if (isStatic) { + return false; + } + const isTreeNonDurable = this.introspectDepsAttribute((collection, registry) => collection.some((item) => !item.isDependencyTreeStatic() && !item.isDependencyTreeDurable(registry)), lookupRegistry); + this.isTreeDurable = !isTreeNonDurable; + if (this.isTreeDurable) { + this.printIntrospectedAsDurable(); + } else { + this.invalidateDependencyTreeParents("isTreeDurable"); + } + return this.isTreeDurable; + } + introspectDepsAttribute(callback, lookupRegistry = []) { + if (lookupRegistry.includes(this[INSTANCE_ID_SYMBOL])) { + return false; + } + lookupRegistry = lookupRegistry.concat(this[INSTANCE_ID_SYMBOL]); + const { dependencies, properties, enhancers } = this[INSTANCE_METADATA_SYMBOL]; + let introspectionResult = dependencies ? callback(dependencies, lookupRegistry) : false; + if (introspectionResult || !(properties || enhancers)) { + return introspectionResult; + } + introspectionResult = properties ? callback(properties.map((item) => item.wrapper), lookupRegistry) : false; + if (introspectionResult || !enhancers) { + return introspectionResult; + } + return enhancers ? callback(enhancers, lookupRegistry) : false; + } + isDependencyTreeStatic(lookupRegistry = []) { + if (!isUndefined(this.isTreeStatic)) { + return this.isTreeStatic; + } + if (this.scope === Scope.REQUEST) { + this.isTreeStatic = false; + this.printIntrospectedAsRequestScoped(); + return this.isTreeStatic; + } + this.isTreeStatic = !this.introspectDepsAttribute((collection, registry) => collection.some((item) => !item.isDependencyTreeStatic(registry)), lookupRegistry); + if (!this.isTreeStatic) { + this.printIntrospectedAsRequestScoped(); + this.invalidateDependencyTreeParents("isTreeStatic"); + } + return this.isTreeStatic; + } + cloneStaticInstance(contextId) { + const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT); + if (this.isDependencyTreeStatic()) { + return staticInstance; + } + const instancePerContext = { + ...staticInstance, + instance: void 0, + isResolved: false, + isPending: false + }; + if (this.isNewable()) { + instancePerContext.instance = Object.create(this.metatype.prototype); + } + this.setInstanceByContextId(contextId, instancePerContext); + return instancePerContext; + } + cloneTransientInstance(contextId, inquirerId) { + const staticInstance = this.getInstanceByContextId(STATIC_CONTEXT); + const instancePerContext = { + ...staticInstance, + instance: void 0, + isResolved: false, + isPending: false + }; + if (this.isNewable()) { + instancePerContext.instance = Object.create(this.metatype.prototype); + } + this.setInstanceByInquirerId(contextId, inquirerId, instancePerContext); + return instancePerContext; + } + createPrototype(contextId) { + const host = this.getInstanceByContextId(contextId); + if (!this.isNewable() || host.isResolved) { + return; + } + return Object.create(this.metatype.prototype); + } + isInRequestScope(contextId, inquirer) { + const isDependencyTreeStatic = this.isDependencyTreeStatic(); + return !isDependencyTreeStatic && contextId !== STATIC_CONTEXT && (!this.isTransient || this.isTransient && !!inquirer); + } + isLazyTransient(contextId, inquirer) { + const isInquirerRequestScoped = !!(inquirer && !inquirer.isDependencyTreeStatic()); + return this.isDependencyTreeStatic() && contextId !== STATIC_CONTEXT && this.isTransient && isInquirerRequestScoped; + } + isExplicitlyRequested(contextId, inquirer) { + const isSelfRequested = inquirer === this; + return this.isDependencyTreeStatic() && contextId !== STATIC_CONTEXT && (isSelfRequested || !!(inquirer && inquirer.scope === Scope.TRANSIENT)); + } + isStatic(contextId, inquirer, rootInquirer) { + if (!this.isDependencyTreeStatic() || contextId !== STATIC_CONTEXT) { + return false; + } + if (!this.isTransient) { + return true; + } + const isInquirerRequestScoped = inquirer && !inquirer.isDependencyTreeStatic(); + const isStaticTransient = this.isTransient && !isInquirerRequestScoped; + if (isStaticTransient && inquirer && !inquirer.isTransient) { + return true; + } + if (isStaticTransient && rootInquirer && !rootInquirer.isTransient) { + return true; + } + if (isStaticTransient && inquirer?.isTransient && !rootInquirer) { + return true; + } + return false; + } + detachFromDependencies() { + this.getDependencyWrappers().forEach((dependency) => { + dependencyTreeParents.get(dependency)?.delete(this); + dependency.removeTransientInstancesOf(this); + }); + } + /** + * Returns the wrappers that depend on this one, directly or through other + * wrappers (as a constructor, property or enhancer dependency). + */ + getDependents() { + const dependents = /* @__PURE__ */ new Set(); + const wrappers = [this]; + while (wrappers.length > 0) { + dependencyTreeParents.get(wrappers.pop())?.forEach((parent) => { + if (!dependents.has(parent)) { + dependents.add(parent); + wrappers.push(parent); + } + }); + } + return dependents; + } + /** + * @deprecated The injector no longer reads the root inquirer from the + * wrapper (see `isStatic`), as it may be overwritten by a concurrent + * resolution for another consumer. + */ + attachRootInquirer(inquirer) { + if (!this.isTransient) { + return; + } + this.rootInquirer = inquirer.getRootInquirer() ?? inquirer; + } + /** + * @deprecated The injector no longer reads the root inquirer from the + * wrapper (see `isStatic`), as it may be overwritten by a concurrent + * resolution for another consumer. + */ + getRootInquirer() { + return this.rootInquirer; + } + getStaticTransientInstances() { + if (!this.transientMap) { + return []; + } + const instances = [...this.transientMap.values()]; + return (0, import_iterare7.iterate)(instances).map((item) => item.get(STATIC_CONTEXT)).filter((item) => { + return !!(item && item.isConstructorCalled); + }).toArray(); + } + mergeWith(provider) { + if (isValueProvider(provider)) { + this.metatype = null; + this.inject = null; + this.scope = Scope.DEFAULT; + this.setInstanceByContextId(STATIC_CONTEXT, { + instance: provider.useValue, + isResolved: true, + isPending: false + }); + } else if (isClassProvider(provider)) { + this.inject = null; + this.metatype = provider.useClass; + registerClassRef(provider.useClass); + this.scope = getClassScope(provider.useClass) ?? Scope.DEFAULT; + this.durable = isDurable(provider.useClass); + if (this.scope === Scope.TRANSIENT && !this.transientMap) { + this.transientMap = /* @__PURE__ */ new Map(); + } + this.resetStaticInstance(); + } else if (isFactoryProvider(provider)) { + this.metatype = provider.useFactory; + this.inject = provider.inject || []; + this.resetStaticInstance(); + } + this.resetDependencyTreeState(); + } + resetStaticInstance() { + this.setInstanceByContextId(STATIC_CONTEXT, { + instance: null, + isResolved: false, + isPending: false + }); + } + isNewable() { + return isNil(this.inject) && this.metatype && this.metatype.prototype; + } + registerDependencyTreeParent(wrapper) { + if (wrapper instanceof _InstanceWrapper) { + const parents = dependencyTreeParents.get(wrapper) ?? /* @__PURE__ */ new Set(); + parents.add(this); + dependencyTreeParents.set(wrapper, parents); + } + } + getDependencyWrappers() { + const { dependencies = [], properties = [] } = this[INSTANCE_METADATA_SYMBOL]; + return [ + ...dependencies, + ...properties.map(({ wrapper }) => wrapper) + ].filter((dependency) => dependency instanceof _InstanceWrapper); + } + removeTransientInstancesOf(inquirer) { + if (!this.transientMap) { + return; + } + for (const inquirerId of this.transientMap.keys()) { + if (inquirerId === inquirer.id || inquirerId.startsWith(`${inquirer.id}:`)) { + this.transientMap.delete(inquirerId); + } + } + this.getDependencyWrappers().forEach((dependency) => dependency.removeTransientInstancesOf(inquirer)); + } + resetDependencyTreeState(lookupRegistry = /* @__PURE__ */ new Set()) { + if (lookupRegistry.has(this[INSTANCE_ID_SYMBOL])) { + return; + } + lookupRegistry.add(this[INSTANCE_ID_SYMBOL]); + this.isTreeStatic = void 0; + this.isTreeDurable = void 0; + dependencyTreeParents.get(this)?.forEach((parent) => parent.resetDependencyTreeState(lookupRegistry)); + } + /** + * In a circular dependency, the introspection skips a wrapper that is + * already being introspected, so the parents in between may cache `true` + * before that wrapper turns out not to be static (or durable). Clears what + * they cached, so it is computed again with the final answer. + */ + invalidateDependencyTreeParents(attribute) { + dependencyTreeParents.get(this)?.forEach((parent) => { + if (parent[attribute]) { + parent[attribute] = void 0; + parent.invalidateDependencyTreeParents(attribute); + } + }); + } + initialize(metadata) { + const { instance, isResolved, ...wrapperPartial } = metadata; + Object.assign(this, wrapperPartial); + this.setInstanceByContextId(STATIC_CONTEXT, { + instance, + isResolved + }); + this.scope === Scope.TRANSIENT && (this.transientMap = /* @__PURE__ */ new Map()); + } + printIntrospectedAsRequestScoped() { + if (!isDebugMode() || this.name === "REQUEST") { + return; + } + if (isString(this.name)) { + _InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(" introspected as ")}${clc.magentaBright("request-scoped")}`); + } + } + printIntrospectedAsDurable() { + if (!isDebugMode()) { + return; + } + if (isString(this.name)) { + _InstanceWrapper.logger.log(`${clc.cyanBright(this.name)}${clc.green(" introspected as ")}${clc.magentaBright("durable")}`); + } + } + generateUuid() { + let key = this.name?.toString() ?? this.token?.toString(); + key += this.host?.name ?? ""; + return key ? UuidFactory.get(key) : randomStringGenerator(); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module-ref.js +var ModuleRef; +var init_module_ref = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module-ref.js"() { + init_common(); + init_request_scoped_create_exception(); + init_get_class_scope(); + init_is_durable(); + init_abstract_instance_resolver(); + init_constants3(); + init_injector(); + init_instance_links_host(); + init_instance_wrapper(); + ModuleRef = class extends AbstractInstanceResolver { + static { + __name(this, "ModuleRef"); + } + container; + injector; + _instanceLinksHost; + get instanceLinksHost() { + if (!this._instanceLinksHost) { + this._instanceLinksHost = new InstanceLinksHost(this.container); + } + return this._instanceLinksHost; + } + constructor(container) { + super(); + this.container = container; + const contextOptions = container.contextOptions; + this.injector = new Injector({ + preview: contextOptions?.preview ?? false, + snapshot: contextOptions?.snapshot, + instanceDecorator: contextOptions?.instrument?.instanceDecorator + }); + } + introspect(token) { + const { wrapperRef } = this.instanceLinksHost.get(token); + let scope = Scope.DEFAULT; + if (!wrapperRef.isDependencyTreeStatic()) { + scope = Scope.REQUEST; + } else if (wrapperRef.isTransient) { + scope = Scope.TRANSIENT; + } + return { scope }; + } + registerRequestByContextId(request, contextId) { + this.container.registerRequestProvider(request, contextId); + } + async instantiateClass(type, moduleRef, contextId) { + const wrapper = new InstanceWrapper({ + name: type && type.name, + metatype: type, + isResolved: false, + scope: getClassScope(type), + durable: isDurable(type), + host: moduleRef + }); + if (type?.prototype) { + wrapper.setInstanceByContextId(contextId ?? STATIC_CONTEXT, { + instance: Object.create(type.prototype), + isResolved: false, + isPending: false + }); + } + return new Promise((resolve, reject) => { + let isCreated = false; + const loadInstance = /* @__PURE__ */ __name(async () => { + const callback = /* @__PURE__ */ __name(async (instances) => { + const properties = await this.injector.resolveProperties(wrapper, moduleRef, void 0, { + contextId: contextId ?? STATIC_CONTEXT, + inquirer: wrapper + }); + await this.injector.waitForDeferredLoads(contextId ?? STATIC_CONTEXT); + const instance = new type(...instances); + this.injector.applyProperties(instance, properties); + isCreated = true; + resolve(instance); + }, "callback"); + await this.injector.resolveConstructorParams(wrapper, moduleRef, void 0, callback, { + contextId: contextId ?? STATIC_CONTEXT, + inquirer: wrapper + }); + if (!isCreated) { + reject(new RequestScopedCreateException(type.name)); + } + }, "loadInstance"); + void loadInstance().catch(reject); + }).finally(() => wrapper.detachFromDependencies()); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.js +var LazyModuleLoader; +var init_lazy_module_loader = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.js"() { + init_silent_logger(); + init_module_ref(); + LazyModuleLoader = class { + static { + __name(this, "LazyModuleLoader"); + } + dependenciesScanner; + instanceLoader; + moduleCompiler; + modulesContainer; + moduleOverrides; + constructor(dependenciesScanner, instanceLoader, moduleCompiler, modulesContainer, moduleOverrides) { + this.dependenciesScanner = dependenciesScanner; + this.instanceLoader = instanceLoader; + this.moduleCompiler = moduleCompiler; + this.modulesContainer = modulesContainer; + this.moduleOverrides = moduleOverrides; + } + async load(loaderFn, loadOpts) { + const originalLogger = this.instanceLoader.logger; + try { + this.registerLoggerConfiguration(loadOpts); + const moduleClassOrDynamicDefinition = await loaderFn(); + const moduleInstances = await this.dependenciesScanner.scanForModules({ + moduleDefinition: moduleClassOrDynamicDefinition, + overrides: this.moduleOverrides, + lazy: true + }); + if (moduleInstances.length === 0) { + const { token } = await this.moduleCompiler.compile(moduleClassOrDynamicDefinition); + const moduleInstance = this.modulesContainer.get(token); + return moduleInstance && this.getTargetModuleRef(moduleInstance); + } + const lazyModulesContainer = this.createLazyModulesContainer(moduleInstances); + await this.dependenciesScanner.scanModulesForDependencies(lazyModulesContainer); + await this.instanceLoader.createInstancesOfDependencies(lazyModulesContainer); + const [targetModule] = moduleInstances; + return this.getTargetModuleRef(targetModule); + } finally { + if (loadOpts?.logger === false) { + this.instanceLoader.setLogger(originalLogger); + } + } + } + registerLoggerConfiguration(loadOpts) { + if (loadOpts?.logger === false) { + this.instanceLoader.setLogger(new SilentLogger()); + } + } + createLazyModulesContainer(moduleInstances) { + moduleInstances = Array.from(new Set(moduleInstances)); + return new Map(moduleInstances.map((ref) => [ref.token, ref])); + } + getTargetModuleRef(moduleInstance) { + const moduleRefInstanceWrapper = moduleInstance.getProviderByKey(ModuleRef); + return moduleRefInstanceWrapper.instance; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/reflector.service.js +var Reflector; +var init_reflector_service = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/reflector.service.js"() { + init_common(); + init_dist(); + init_internal(); + Reflector = class { + static { + __name(this, "Reflector"); + } + static createDecorator(options = {}) { + const metadataKey = options.key ?? uid(21); + const decoratorFn = /* @__PURE__ */ __name((metadataValue) => (target, key, descriptor) => { + const value = options.transform ? options.transform(metadataValue) : metadataValue; + SetMetadata(metadataKey, value === void 0 ? {} : value)(target, key, descriptor); + }, "decoratorFn"); + decoratorFn.KEY = metadataKey; + return decoratorFn; + } + /** + * Retrieve metadata for a specified key or decorator for a specified target. + * + * @example + * `const roles = this.reflector.get('roles', context.getHandler());` + * + * @param metadataKey lookup key or decorator for metadata to retrieve + * @param target context (decorated object) to retrieve metadata from + * + */ + get(metadataKeyOrDecorator, target) { + const metadataKey = metadataKeyOrDecorator.KEY ?? metadataKeyOrDecorator; + return Reflect.getMetadata(metadataKey, target); + } + /** + * Retrieve metadata for a specified key or decorator for a specified set of targets. + * + * @param metadataKeyOrDecorator lookup key or decorator for metadata to retrieve + * @param targets context (decorated objects) to retrieve metadata from + * + */ + getAll(metadataKeyOrDecorator, targets) { + return (targets || []).map((target) => this.get(metadataKeyOrDecorator, target)); + } + /** + * Retrieve metadata for a specified key or decorator for a specified set of targets and merge results. + * + * @param metadataKeyOrDecorator lookup key for metadata to retrieve + * @param targets context (decorated objects) to retrieve metadata from + * + */ + getAllAndMerge(metadataKeyOrDecorator, targets) { + const metadataCollection = this.getAll(metadataKeyOrDecorator, targets).filter((item) => item !== void 0); + if (isEmptyArray(metadataCollection)) { + return metadataCollection; + } + if (metadataCollection.length === 1) { + const value = metadataCollection[0]; + if (isObject(value)) { + return value; + } + return metadataCollection; + } + return metadataCollection.reduce((a, b) => { + if (Array.isArray(a)) { + return a.concat(b); + } + if (isObject(a) && isObject(b)) { + return { + ...a, + ...b + }; + } + return [a, b]; + }); + } + /** + * Retrieve metadata for a specified key or decorator for a specified set of targets and return a first not undefined value. + * + * @param metadataKeyOrDecorator lookup key or metadata for metadata to retrieve + * @param targets context (decorated objects) to retrieve metadata from + * + */ + getAllAndOverride(metadataKeyOrDecorator, targets) { + for (const target of targets) { + const result = this.get(metadataKeyOrDecorator, target); + if (result !== void 0) { + return result; + } + } + return void 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/serialized-graph.js +var SerializedGraph; +var init_serialized_graph = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/serialized-graph.js"() { + init_application_config(); + init_external_context_creator(); + init_http_adapter_host(); + init_inquirer_constants(); + init_lazy_module_loader(); + init_module_ref(); + init_modules_container(); + init_request_constants(); + init_reflector_service(); + init_deterministic_uuid_registry(); + SerializedGraph = class _SerializedGraph { + static { + __name(this, "SerializedGraph"); + } + nodes = /* @__PURE__ */ new Map(); + edges = /* @__PURE__ */ new Map(); + entrypoints = /* @__PURE__ */ new Map(); + extras = { + orphanedEnhancers: [], + attachedEnhancers: [] + }; + _status = "complete"; + _metadata; + static INTERNAL_PROVIDERS = [ + ApplicationConfig, + ModuleRef, + HttpAdapterHost, + LazyModuleLoader, + ExternalContextCreator, + ModulesContainer, + Reflector, + _SerializedGraph, + HttpAdapterHost.name, + Reflector.name, + REQUEST, + INQUIRER + ]; + set status(status) { + this._status = status; + } + set metadata(metadata) { + this._metadata = metadata; + } + insertNode(nodeDefinition) { + if (nodeDefinition.metadata.type === "provider" && _SerializedGraph.INTERNAL_PROVIDERS.includes(nodeDefinition.metadata.token)) { + nodeDefinition.metadata = { + ...nodeDefinition.metadata, + internal: true + }; + } + if (this.nodes.has(nodeDefinition.id)) { + return this.nodes.get(nodeDefinition.id); + } + this.nodes.set(nodeDefinition.id, nodeDefinition); + return nodeDefinition; + } + insertEdge(edgeDefinition) { + if (edgeDefinition.metadata.type === "class-to-class" && (_SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.sourceClassToken) || _SerializedGraph.INTERNAL_PROVIDERS.includes(edgeDefinition.metadata.targetClassToken))) { + edgeDefinition.metadata = { + ...edgeDefinition.metadata, + internal: true + }; + } + const id = edgeDefinition.id ?? this.generateUuidByEdgeDefinition(edgeDefinition); + const edge = { + ...edgeDefinition, + id + }; + this.edges.set(id, edge); + return edge; + } + insertEntrypoint(definition, parentId) { + if (this.entrypoints.has(parentId)) { + const existingCollection = this.entrypoints.get(parentId); + existingCollection.push(definition); + } else { + this.entrypoints.set(parentId, [definition]); + } + } + insertOrphanedEnhancer(entry) { + this.extras.orphanedEnhancers.push(entry); + } + insertAttachedEnhancer(nodeId) { + this.extras.attachedEnhancers.push({ + nodeId + }); + } + getNodeById(id) { + return this.nodes.get(id); + } + toJSON() { + const json = { + nodes: Object.fromEntries(this.nodes), + edges: Object.fromEntries(this.edges), + entrypoints: Object.fromEntries(this.entrypoints), + extras: this.extras + }; + if (this._status) { + json["status"] = this._status; + } + if (this._metadata) { + json["metadata"] = this._metadata; + } + return json; + } + toString() { + const replacer = /* @__PURE__ */ __name((key, value) => { + if (typeof value === "symbol") { + return value.toString(); + } + return typeof value === "function" ? value.name ?? "Function" : value; + }, "replacer"); + return JSON.stringify(this.toJSON(), replacer, 2); + } + generateUuidByEdgeDefinition(edgeDefinition) { + return DeterministicUuidRegistry.get(JSON.stringify(edgeDefinition)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/compiler.js +var ModuleCompiler; +var init_compiler = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/compiler.js"() { + ModuleCompiler = class { + static { + __name(this, "ModuleCompiler"); + } + _moduleOpaqueKeyFactory; + constructor(_moduleOpaqueKeyFactory) { + this._moduleOpaqueKeyFactory = _moduleOpaqueKeyFactory; + } + get moduleOpaqueKeyFactory() { + return this._moduleOpaqueKeyFactory; + } + async compile(moduleClsOrDynamic) { + moduleClsOrDynamic = await moduleClsOrDynamic; + const { type, dynamicMetadata } = this.extractMetadata(moduleClsOrDynamic); + const token = dynamicMetadata ? this._moduleOpaqueKeyFactory.createForDynamic(type, dynamicMetadata, moduleClsOrDynamic) : this._moduleOpaqueKeyFactory.createForStatic(type, moduleClsOrDynamic); + return { type, dynamicMetadata, token }; + } + extractMetadata(moduleClsOrDynamic) { + if (!this.isDynamicModule(moduleClsOrDynamic)) { + return { + type: moduleClsOrDynamic?.forwardRef ? moduleClsOrDynamic.forwardRef() : moduleClsOrDynamic, + dynamicMetadata: void 0 + }; + } + const { module: type, ...dynamicMetadata } = moduleClsOrDynamic; + return { type, dynamicMetadata }; + } + isDynamicModule(moduleClsOrDynamic) { + return !!moduleClsOrDynamic.module; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-providers.js +var noop2, requestProvider; +var init_request_providers = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/request-providers.js"() { + init_common(); + init_request_constants(); + noop2 = /* @__PURE__ */ __name(() => { + }, "noop"); + requestProvider = { + provide: REQUEST, + scope: Scope.REQUEST, + useFactory: noop2 + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/index.js +var init_services = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/services/index.js"() { + init_reflector_service(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-providers.js +var noop3, inquirerProvider; +var init_inquirer_providers = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/inquirer/inquirer-providers.js"() { + init_common(); + init_inquirer_constants(); + noop3 = /* @__PURE__ */ __name(() => { + }, "noop"); + inquirerProvider = { + provide: INQUIRER, + scope: Scope.TRANSIENT, + useFactory: noop3 + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module.js +var InternalCoreModule_1, ReflectorAliasProvider, InternalCoreModule; +var init_internal_core_module = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module.js"() { + init_tslib_es6(); + init_common(); + init_request_providers(); + init_services(); + init_inquirer_providers(); + ReflectorAliasProvider = { + provide: Reflector.name, + useExisting: Reflector + }; + InternalCoreModule = InternalCoreModule_1 = class InternalCoreModule2 { + static { + __name(this, "InternalCoreModule"); + } + static register(providers) { + return { + module: InternalCoreModule_1, + providers: [...providers], + exports: [...providers.map((item) => item.provide)] + }; + } + }; + InternalCoreModule = InternalCoreModule_1 = __decorate([ + Global(), + Module({ + providers: [ + Reflector, + ReflectorAliasProvider, + requestProvider, + inquirerProvider + ], + exports: [ + Reflector, + ReflectorAliasProvider, + requestProvider, + inquirerProvider + ] + }) + ], InternalCoreModule); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-providers-storage.js +var InternalProvidersStorage; +var init_internal_providers_storage = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-providers-storage.js"() { + init_http_adapter_host(); + InternalProvidersStorage = class { + static { + __name(this, "InternalProvidersStorage"); + } + _httpAdapterHost = new HttpAdapterHost(); + _httpAdapter; + get httpAdapterHost() { + return this._httpAdapterHost; + } + get httpAdapter() { + return this._httpAdapter; + } + set httpAdapter(httpAdapter) { + this._httpAdapter = httpAdapter; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-provider.exception.js +var InvalidProviderException; +var init_invalid_provider_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-provider.exception.js"() { + init_messages(); + init_runtime_exception(); + InvalidProviderException = class extends RuntimeException { + static { + __name(this, "InvalidProviderException"); + } + constructor(token, moduleName) { + super(INVALID_PROVIDER_MESSAGE(token, moduleName)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module.js +var import_iterare8, Module2; +var init_module = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/module.js"() { + import_iterare8 = __toESM(require_lib(), 1); + init_application_config(); + init_exceptions2(); + init_invalid_provider_exception(); + init_context_id_factory(); + init_get_class_scope(); + init_is_durable(); + init_safe_instance_decorator(); + init_uuid_factory(); + init_constants3(); + init_instance_wrapper(); + init_module_ref(); + init_internal(); + init_common(); + Module2 = class { + static { + __name(this, "Module"); + } + _metatype; + container; + _id; + _imports = /* @__PURE__ */ new Set(); + _providers = /* @__PURE__ */ new Map(); + _injectables = /* @__PURE__ */ new Map(); + _middlewares = /* @__PURE__ */ new Map(); + _controllers = /* @__PURE__ */ new Map(); + _entryProviderKeys = /* @__PURE__ */ new Set(); + _exports = /* @__PURE__ */ new Set(); + _distance = 0; + _initOnPreview = false; + _isGlobal = false; + _token; + constructor(_metatype, container) { + this._metatype = _metatype; + this.container = container; + this.addCoreProviders(); + this._id = this.generateUuid(); + } + get id() { + return this._id; + } + get token() { + return this._token; + } + set token(token) { + this._token = token; + } + get name() { + return this.metatype.name; + } + get isGlobal() { + return this._isGlobal; + } + set isGlobal(global2) { + this._isGlobal = global2; + } + get initOnPreview() { + return this._initOnPreview; + } + set initOnPreview(initOnPreview) { + this._initOnPreview = initOnPreview; + } + get providers() { + return this._providers; + } + get middlewares() { + return this._middlewares; + } + get imports() { + return this._imports; + } + get injectables() { + return this._injectables; + } + get controllers() { + return this._controllers; + } + get entryProviders() { + return Array.from(this._entryProviderKeys).map((token) => this.providers.get(token)); + } + get exports() { + return this._exports; + } + get instance() { + if (!this._providers.has(this._metatype)) { + throw new RuntimeException(); + } + const moduleRef = this._providers.get(this._metatype); + return moduleRef.instance; + } + /** + * Modules are registered in the container before they are scanned (dynamic + * `imports` are pre-registered by `NestContainer#addDynamicMetadata`), so + * registration alone does not imply the module was ever instantiated. + */ + get isInstantiated() { + return !isNil(this._providers.get(this._metatype)?.instance); + } + get metatype() { + return this._metatype; + } + get distance() { + return this._distance; + } + set distance(value) { + this._distance = value; + } + addCoreProviders() { + this.addModuleAsProvider(); + this.addModuleRef(); + this.addApplicationConfig(); + } + addModuleRef() { + const moduleRef = this.createModuleReferenceType(); + this._providers.set(ModuleRef, new InstanceWrapper({ + token: ModuleRef, + name: ModuleRef.name, + metatype: ModuleRef, + isResolved: true, + instance: new moduleRef(), + host: this + })); + } + addModuleAsProvider() { + this._providers.set(this._metatype, new InstanceWrapper({ + token: this._metatype, + name: this._metatype.name, + metatype: this._metatype, + isResolved: false, + instance: null, + host: this + })); + } + addApplicationConfig() { + this._providers.set(ApplicationConfig, new InstanceWrapper({ + token: ApplicationConfig, + name: ApplicationConfig.name, + isResolved: true, + instance: this.container.applicationConfig, + host: this + })); + } + addInjectable(injectable, enhancerSubtype, host) { + if (this.isCustomProvider(injectable)) { + return this.addCustomProvider(injectable, this._injectables, enhancerSubtype); + } + let instanceWrapper = this.injectables.get(injectable); + if (!instanceWrapper) { + instanceWrapper = new InstanceWrapper({ + token: injectable, + name: injectable.name, + metatype: injectable, + instance: null, + isResolved: false, + scope: getClassScope(injectable), + durable: isDurable(injectable), + subtype: enhancerSubtype, + host: this + }); + this._injectables.set(injectable, instanceWrapper); + } + if (host) { + const hostWrapper = this._controllers.get(host) || this._providers.get(host); + hostWrapper && hostWrapper.addEnhancerMetadata(instanceWrapper); + } + return instanceWrapper; + } + addProvider(provider, enhancerSubtype) { + if (this.isCustomProvider(provider)) { + if (this.isEntryProvider(provider.provide) || this.isEntryProvider(provider.useClass)) { + this._entryProviderKeys.add(provider.provide); + } + return this.addCustomProvider(provider, this._providers, enhancerSubtype); + } + const isAlreadyDeclared = this._providers.has(provider); + if ((this.isTransientProvider(provider) || this.isRequestScopeProvider(provider)) && isAlreadyDeclared) { + return provider; + } + this._providers.set(provider, new InstanceWrapper({ + token: provider, + name: provider.name, + metatype: provider, + instance: null, + isResolved: false, + scope: getClassScope(provider), + durable: isDurable(provider), + host: this + })); + if (this.isEntryProvider(provider)) { + this._entryProviderKeys.add(provider); + } + return provider; + } + isCustomProvider(provider) { + return !isNil(provider.provide); + } + addCustomProvider(provider, collection, enhancerSubtype) { + if (this.isCustomClass(provider)) { + this.addCustomClass(provider, collection, enhancerSubtype); + } else if (this.isCustomValue(provider)) { + this.addCustomValue(provider, collection, enhancerSubtype); + } else if (this.isCustomFactory(provider)) { + this.addCustomFactory(provider, collection, enhancerSubtype); + } else if (this.isCustomUseExisting(provider)) { + this.addCustomUseExisting(provider, collection, enhancerSubtype); + } else { + throw new InvalidProviderException(provider.provide, this.name); + } + return provider.provide; + } + isCustomClass(provider) { + return !isNil(provider.useClass); + } + isCustomValue(provider) { + return isObject(provider) && Object.hasOwn(provider, "useValue"); + } + isCustomFactory(provider) { + return !isNil(provider.useFactory); + } + isCustomUseExisting(provider) { + return !isNil(provider.useExisting); + } + isDynamicModule(exported) { + return exported && exported.module; + } + addCustomClass(provider, collection, enhancerSubtype) { + let { scope, durable } = provider; + const { useClass } = provider; + if (isUndefined(scope)) { + scope = getClassScope(useClass); + } + if (isUndefined(durable)) { + durable = isDurable(useClass); + } + const token = provider.provide; + collection.set(token, new InstanceWrapper({ + token, + name: useClass?.name || useClass, + metatype: useClass, + instance: null, + isResolved: false, + scope, + durable, + host: this, + subtype: enhancerSubtype + })); + } + addCustomValue(provider, collection, enhancerSubtype) { + const { useValue: value, provide: providerToken } = provider; + const instanceDecorator = this.container.contextOptions?.instrument?.instanceDecorator; + collection.set(providerToken, new InstanceWrapper({ + token: providerToken, + name: providerToken?.name || providerToken, + metatype: null, + instance: instanceDecorator ? makeSafeInstanceDecorator(instanceDecorator)(value) : value, + isResolved: true, + async: value instanceof Promise, + host: this, + subtype: enhancerSubtype + })); + } + addCustomFactory(provider, collection, enhancerSubtype) { + const { useFactory: factory, inject, scope, durable, provide: providerToken } = provider; + collection.set(providerToken, new InstanceWrapper({ + token: providerToken, + name: providerToken?.name || providerToken, + metatype: factory, + instance: null, + isResolved: false, + inject: inject || [], + scope, + durable, + host: this, + subtype: enhancerSubtype + })); + } + addCustomUseExisting(provider, collection, enhancerSubtype) { + const { useExisting, provide: providerToken } = provider; + collection.set(providerToken, new InstanceWrapper({ + token: providerToken, + name: providerToken?.name || providerToken, + metatype: /* @__PURE__ */ __name(((instance) => instance), "metatype"), + instance: null, + isResolved: false, + inject: [useExisting], + host: this, + isAlias: true, + subtype: enhancerSubtype + })); + } + addExportedProviderOrModule(toExport) { + const addExportedUnit = /* @__PURE__ */ __name((token) => this._exports.add(this.validateExportedProvider(token)), "addExportedUnit"); + if (this.isCustomProvider(toExport)) { + return this.addCustomExportedProvider(toExport); + } else if (isString(toExport) || isSymbol(toExport)) { + return addExportedUnit(toExport); + } else if (this.isDynamicModule(toExport)) { + const { module: moduleClassRef } = toExport; + return addExportedUnit(moduleClassRef); + } + addExportedUnit(toExport); + } + addCustomExportedProvider(provider) { + const provide = provider.provide; + if (isString(provide) || isSymbol(provide)) { + return this._exports.add(this.validateExportedProvider(provide)); + } + this._exports.add(this.validateExportedProvider(provide)); + } + validateExportedProvider(token) { + if (this._providers.has(token)) { + return token; + } + const imports = (0, import_iterare8.iterate)(this._imports.values()).filter((item) => !!item).map(({ metatype }) => metatype).filter((metatype) => !!metatype).toArray(); + if (!imports.includes(token)) { + const { name } = this.metatype; + const providerName = isFunction(token) ? token.name : token; + throw new UnknownExportException(providerName, name); + } + return token; + } + addController(controller) { + this._controllers.set(controller, new InstanceWrapper({ + token: controller, + name: controller.name, + metatype: controller, + instance: null, + isResolved: false, + scope: getClassScope(controller), + durable: isDurable(controller), + host: this + })); + this.assignControllerUniqueId(controller); + } + assignControllerUniqueId(controller) { + Object.defineProperty(controller, CONTROLLER_ID_KEY, { + enumerable: false, + writable: false, + configurable: true, + value: randomStringGenerator() + }); + } + addImport(moduleRef) { + this._imports.add(moduleRef); + } + replace(toReplace, options) { + if (options.isProvider && this.hasProvider(toReplace)) { + const originalProvider = this._providers.get(toReplace); + return originalProvider.mergeWith({ provide: toReplace, ...options }); + } else if (!options.isProvider && this.hasInjectable(toReplace)) { + const originalInjectable = this._injectables.get(toReplace); + return originalInjectable.mergeWith({ + provide: toReplace, + ...options + }); + } + } + hasProvider(token) { + return this._providers.has(token); + } + hasInjectable(token) { + return this._injectables.has(token); + } + getProviderByKey(name) { + return this._providers.get(name); + } + getProviderById(id) { + for (const item of this._providers.values()) { + if (item.id === id) + return item; + } + return void 0; + } + getControllerById(id) { + for (const item of this._controllers.values()) { + if (item.id === id) + return item; + } + return void 0; + } + getInjectableById(id) { + for (const item of this._injectables.values()) { + if (item.id === id) + return item; + } + return void 0; + } + getMiddlewareById(id) { + for (const item of this._middlewares.values()) { + if (item.id === id) + return item; + } + return void 0; + } + getNonAliasProviders() { + return [...this._providers].filter(([_, wrapper]) => !wrapper.isAlias); + } + createModuleReferenceType() { + const self = this; + return class extends ModuleRef { + constructor() { + super(self.container); + } + get(typeOrToken, options = {}) { + options.strict ??= true; + options.each ??= false; + return this.find(typeOrToken, options.strict ? { + moduleId: self.id, + each: options.each + } : options); + } + resolve(typeOrToken, contextId = createContextId(), options = {}) { + options.strict ??= true; + options.each ??= false; + return this.resolvePerContext(typeOrToken, self, contextId, options); + } + async create(type, contextId) { + if (!(type && isFunction(type) && type.prototype)) { + throw new InvalidClassException(type); + } + return this.instantiateClass(type, self, contextId); + } + }; + } + isEntryProvider(metatype) { + return typeof metatype === "function" ? !!Reflect.getMetadata(ENTRY_PROVIDER_WATERMARK, metatype) : false; + } + generateUuid() { + const prefix = "M_"; + const key = this.token ? this.token.includes(":") ? this.token.split(":")[1] : this.token : this.name; + return key ? UuidFactory.get(`${prefix}_${key}`) : randomStringGenerator(); + } + isTransientProvider(provider) { + return getClassScope(provider) === Scope.TRANSIENT; + } + isRequestScopeProvider(provider) { + return getClassScope(provider) === Scope.REQUEST; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js +import { createHash } from "crypto"; +var K_MODULE_ID, ByReferenceModuleOpaqueKeyFactory; +var init_by_reference_module_opaque_key_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/by-reference-module-opaque-key-factory.js"() { + init_internal(); + K_MODULE_ID = /* @__PURE__ */ Symbol("K_MODULE_ID"); + ByReferenceModuleOpaqueKeyFactory = class { + static { + __name(this, "ByReferenceModuleOpaqueKeyFactory"); + } + keyGenerationStrategy; + constructor(options) { + this.keyGenerationStrategy = options?.keyGenerationStrategy ?? "random"; + } + createForStatic(moduleCls, originalRef = moduleCls) { + return this.getOrCreateModuleId(moduleCls, void 0, originalRef); + } + createForDynamic(moduleCls, dynamicMetadata, originalRef) { + return this.getOrCreateModuleId(moduleCls, dynamicMetadata, originalRef); + } + getOrCreateModuleId(moduleCls, dynamicMetadata, originalRef) { + if (Object.prototype.hasOwnProperty.call(originalRef, K_MODULE_ID)) { + return originalRef[K_MODULE_ID]; + } + let moduleId; + if (this.keyGenerationStrategy === "random") { + moduleId = this.generateRandomString(); + } else { + const delimiter = ":"; + moduleId = dynamicMetadata ? `${this.generateRandomString()}${delimiter}${this.hashString(moduleCls.name + JSON.stringify(dynamicMetadata))}` : `${this.generateRandomString()}${delimiter}${this.hashString(moduleCls.toString())}`; + } + originalRef[K_MODULE_ID] = moduleId; + return moduleId; + } + hashString(value) { + return createHash("sha256").update(value).digest("hex"); + } + generateRandomString() { + return randomStringGenerator(); + } + }; + } +}); + +// ../../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js +var require_fast_safe_stringify = __commonJS({ + "../../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js"(exports, module) { + module.exports = stringify2; + stringify2.default = stringify2; + stringify2.stable = deterministicStringify; + stringify2.stableStringify = deterministicStringify; + var LIMIT_REPLACE_NODE = "[...]"; + var CIRCULAR_REPLACE_NODE = "[Circular]"; + var arr = []; + var replacerStack = []; + function defaultOptions() { + return { + depthLimit: Number.MAX_SAFE_INTEGER, + edgesLimit: Number.MAX_SAFE_INTEGER + }; + } + __name(defaultOptions, "defaultOptions"); + function stringify2(obj, replacer, spacer, options) { + if (typeof options === "undefined") { + options = defaultOptions(); + } + decirc(obj, "", 0, [], void 0, 0, options); + var res; + try { + if (replacerStack.length === 0) { + res = JSON.stringify(obj, replacer, spacer); + } else { + res = JSON.stringify(obj, replaceGetterValues(replacer), spacer); + } + } catch (_) { + return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]"); + } finally { + while (arr.length !== 0) { + var part = arr.pop(); + if (part.length === 4) { + Object.defineProperty(part[0], part[1], part[3]); + } else { + part[0][part[1]] = part[2]; + } + } + } + return res; + } + __name(stringify2, "stringify"); + function setReplace(replace, val, k, parent) { + var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k); + if (propertyDescriptor.get !== void 0) { + if (propertyDescriptor.configurable) { + Object.defineProperty(parent, k, { value: replace }); + arr.push([parent, k, val, propertyDescriptor]); + } else { + replacerStack.push([val, k, replace]); + } + } else { + parent[k] = replace; + arr.push([parent, k, val]); + } + } + __name(setReplace, "setReplace"); + function decirc(val, k, edgeIndex, stack, parent, depth, options) { + depth += 1; + var i; + if (typeof val === "object" && val !== null) { + for (i = 0; i < stack.length; i++) { + if (stack[i] === val) { + setReplace(CIRCULAR_REPLACE_NODE, val, k, parent); + return; + } + } + if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent); + return; + } + if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent); + return; + } + stack.push(val); + if (Array.isArray(val)) { + for (i = 0; i < val.length; i++) { + decirc(val[i], i, i, stack, val, depth, options); + } + } else { + var keys = Object.keys(val); + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + decirc(val[key], key, i, stack, val, depth, options); + } + } + stack.pop(); + } + } + __name(decirc, "decirc"); + function compareFunction(a, b) { + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; + } + __name(compareFunction, "compareFunction"); + function deterministicStringify(obj, replacer, spacer, options) { + if (typeof options === "undefined") { + options = defaultOptions(); + } + var tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj; + var res; + try { + if (replacerStack.length === 0) { + res = JSON.stringify(tmp, replacer, spacer); + } else { + res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer); + } + } catch (_) { + return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]"); + } finally { + while (arr.length !== 0) { + var part = arr.pop(); + if (part.length === 4) { + Object.defineProperty(part[0], part[1], part[3]); + } else { + part[0][part[1]] = part[2]; + } + } + } + return res; + } + __name(deterministicStringify, "deterministicStringify"); + function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) { + depth += 1; + var i; + if (typeof val === "object" && val !== null) { + for (i = 0; i < stack.length; i++) { + if (stack[i] === val) { + setReplace(CIRCULAR_REPLACE_NODE, val, k, parent); + return; + } + } + try { + if (typeof val.toJSON === "function") { + return; + } + } catch (_) { + return; + } + if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent); + return; + } + if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) { + setReplace(LIMIT_REPLACE_NODE, val, k, parent); + return; + } + stack.push(val); + if (Array.isArray(val)) { + for (i = 0; i < val.length; i++) { + deterministicDecirc(val[i], i, i, stack, val, depth, options); + } + } else { + var tmp = {}; + var keys = Object.keys(val).sort(compareFunction); + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + deterministicDecirc(val[key], key, i, stack, val, depth, options); + tmp[key] = val[key]; + } + if (typeof parent !== "undefined") { + arr.push([parent, k, val]); + parent[k] = tmp; + } else { + return tmp; + } + } + stack.pop(); + } + } + __name(deterministicDecirc, "deterministicDecirc"); + function replaceGetterValues(replacer) { + replacer = typeof replacer !== "undefined" ? replacer : function(k, v) { + return v; + }; + return function(key, val) { + if (replacerStack.length > 0) { + for (var i = 0; i < replacerStack.length; i++) { + var part = replacerStack[i]; + if (part[1] === key && part[0] === val) { + val = part[2]; + replacerStack.splice(i, 1); + break; + } + } + } + return replacer.call(this, key, val); + }; + } + __name(replaceGetterValues, "replaceGetterValues"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js +import { createHash as createHash2 } from "crypto"; +var import_fast_safe_stringify, stringify, UNSERIALIZABLE, CLASS_STR, CLASS_STR_LEN, DeepHashedModuleOpaqueKeyFactory; +var init_deep_hashed_module_opaque_key_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/opaque-key-factory/deep-hashed-module-opaque-key-factory.js"() { + import_fast_safe_stringify = __toESM(require_fast_safe_stringify(), 1); + init_common(); + init_internal(); + stringify = import_fast_safe_stringify.default.default ?? import_fast_safe_stringify.default; + UNSERIALIZABLE = JSON.stringify("[unable to serialize, circular reference is too complex to analyze]"); + CLASS_STR = "class "; + CLASS_STR_LEN = CLASS_STR.length; + DeepHashedModuleOpaqueKeyFactory = class _DeepHashedModuleOpaqueKeyFactory { + static { + __name(this, "DeepHashedModuleOpaqueKeyFactory"); + } + moduleIdsCache = /* @__PURE__ */ new WeakMap(); + moduleTokenCache = /* @__PURE__ */ new Map(); + logger = new Logger(_DeepHashedModuleOpaqueKeyFactory.name, { + timestamp: true + }); + createForStatic(moduleCls) { + const moduleId = this.getModuleId(moduleCls); + const moduleName = this.getModuleName(moduleCls); + const key = `${moduleId}_${moduleName}`; + if (this.moduleTokenCache.has(key)) { + return this.moduleTokenCache.get(key); + } + const hash = this.hashString(key); + this.moduleTokenCache.set(key, hash); + return hash; + } + createForDynamic(moduleCls, dynamicMetadata) { + const moduleId = this.getModuleId(moduleCls); + const moduleName = this.getModuleName(moduleCls); + const opaqueToken = { + id: moduleId, + module: moduleName, + dynamic: dynamicMetadata + }; + const start = performance.now(); + const opaqueTokenString = this.getStringifiedOpaqueToken(opaqueToken); + const timeSpentInMs = performance.now() - start; + if (timeSpentInMs > 10) { + const formattedTimeSpent = timeSpentInMs.toFixed(2); + this.logger.warn(`The module "${opaqueToken.module}" is taking ${formattedTimeSpent}ms to serialize, this may be caused by larger objects statically assigned to the module. Consider changing the "moduleIdGeneratorAlgorithm" option to "reference" to improve the performance.`); + } + return this.hashString(opaqueTokenString); + } + getStringifiedOpaqueToken(opaqueToken) { + if (!opaqueToken) { + return ""; + } + const tokenString = stringify(opaqueToken, this.replacer); + if (tokenString !== UNSERIALIZABLE) { + return tokenString; + } + return stringify(opaqueToken, (key, value) => value instanceof Map || value instanceof Set ? {} : this.replacer(key, value)); + } + getModuleId(metatype) { + let moduleId = this.moduleIdsCache.get(metatype); + if (moduleId) { + return moduleId; + } + moduleId = randomStringGenerator(); + this.moduleIdsCache.set(metatype, moduleId); + return moduleId; + } + getModuleName(metatype) { + return metatype.name; + } + hashString(value) { + return createHash2("sha256").update(value).digest("hex"); + } + replacer(key, value) { + if (isFunction(value)) { + const funcAsString = value.toString(); + const isClass = funcAsString.slice(0, CLASS_STR_LEN) === CLASS_STR; + if (isClass) { + return value.name; + } + return funcAsString; + } + if (isSymbol(value)) { + return value.toString(); + } + if (value instanceof Map) { + return { Map: [...value] }; + } + if (value instanceof Set) { + return { Set: [...value] }; + } + if (value instanceof RegExp) { + return { RegExp: value.toString() }; + } + return value; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/container.js +var NestContainer; +var init_container = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/container.js"() { + init_discoverable_meta_host_collection(); + init_exceptions2(); + init_initialize_on_preview_allowlist(); + init_serialized_graph(); + init_request_constants(); + init_compiler(); + init_internal_core_module(); + init_internal_providers_storage(); + init_module(); + init_modules_container(); + init_by_reference_module_opaque_key_factory(); + init_deep_hashed_module_opaque_key_factory(); + init_internal(); + NestContainer = class { + static { + __name(this, "NestContainer"); + } + _applicationConfig; + _contextOptions; + globalModules = /* @__PURE__ */ new Set(); + modules = new ModulesContainer(); + dynamicModulesMetadata = /* @__PURE__ */ new Map(); + internalProvidersStorage = new InternalProvidersStorage(); + _serializedGraph = new SerializedGraph(); + moduleCompiler; + internalCoreModule; + constructor(_applicationConfig = void 0, _contextOptions = void 0) { + this._applicationConfig = _applicationConfig; + this._contextOptions = _contextOptions; + const moduleOpaqueKeyFactory = this._contextOptions?.moduleIdGeneratorAlgorithm === "deep-hash" ? new DeepHashedModuleOpaqueKeyFactory() : new ByReferenceModuleOpaqueKeyFactory({ + keyGenerationStrategy: this._contextOptions?.snapshot ? "shallow" : "random" + }); + this.moduleCompiler = new ModuleCompiler(moduleOpaqueKeyFactory); + } + get serializedGraph() { + return this._serializedGraph; + } + get applicationConfig() { + return this._applicationConfig; + } + get contextOptions() { + return this._contextOptions; + } + setHttpAdapter(httpAdapter) { + this.internalProvidersStorage.httpAdapter = httpAdapter; + if (!this.internalProvidersStorage.httpAdapterHost) { + return; + } + const host = this.internalProvidersStorage.httpAdapterHost; + host.httpAdapter = httpAdapter; + } + getHttpAdapterRef() { + return this.internalProvidersStorage.httpAdapter; + } + getHttpAdapterHostRef() { + return this.internalProvidersStorage.httpAdapterHost; + } + async addModule(metatype, scope) { + if (!metatype) { + throw new UndefinedForwardRefException(scope); + } + const { type, dynamicMetadata, token } = await this.moduleCompiler.compile(metatype); + if (this.modules.has(token)) { + return { + moduleRef: this.modules.get(token), + inserted: false + }; + } + return { + moduleRef: await this.setModule({ + token, + type, + dynamicMetadata + }, scope), + inserted: true + }; + } + async replaceModule(metatypeToReplace, newMetatype, scope) { + if (!metatypeToReplace || !newMetatype) { + throw new UndefinedForwardRefException(scope); + } + const { token } = await this.moduleCompiler.compile(metatypeToReplace); + const { type, dynamicMetadata } = await this.moduleCompiler.compile(newMetatype); + return { + moduleRef: await this.setModule({ + token, + type, + dynamicMetadata + }, scope), + inserted: true + }; + } + async setModule({ token, dynamicMetadata, type }, scope) { + const moduleRef = new Module2(type, this); + moduleRef.token = token; + moduleRef.initOnPreview = this.shouldInitOnPreview(type); + this.modules.set(token, moduleRef); + const updatedScope = [].concat(scope, type); + await this.addDynamicMetadata(token, dynamicMetadata, updatedScope); + if (this.isGlobalModule(type, dynamicMetadata)) { + moduleRef.isGlobal = true; + moduleRef.distance = Number.MAX_VALUE; + this.addGlobalModule(moduleRef); + } + return moduleRef; + } + async addDynamicMetadata(token, dynamicModuleMetadata, scope) { + if (!dynamicModuleMetadata) { + return; + } + this.dynamicModulesMetadata.set(token, dynamicModuleMetadata); + const { imports } = dynamicModuleMetadata; + await this.addDynamicModules(imports, scope); + } + async addDynamicModules(modules, scope) { + if (!modules) { + return; + } + await Promise.all(modules.map((module) => this.addModule(module, scope))); + } + isGlobalModule(metatype, dynamicMetadata) { + if (dynamicMetadata && dynamicMetadata.global) { + return true; + } + return !!Reflect.getMetadata(GLOBAL_MODULE_METADATA, metatype); + } + addGlobalModule(module) { + this.globalModules.add(module); + } + getModules() { + return this.modules; + } + getModuleCompiler() { + return this.moduleCompiler; + } + getModuleByKey(moduleKey) { + return this.modules.get(moduleKey); + } + getInternalCoreModuleRef() { + return this.internalCoreModule; + } + async addImport(relatedModule, token) { + if (!this.modules.has(token)) { + return; + } + const moduleRef = this.modules.get(token); + const { token: relatedModuleToken } = await this.moduleCompiler.compile(relatedModule); + const related = this.modules.get(relatedModuleToken); + moduleRef.addImport(related); + } + addProvider(provider, token, enhancerSubtype) { + const moduleRef = this.modules.get(token); + if (!provider) { + throw new CircularDependencyException(moduleRef?.metatype.name); + } + if (!moduleRef) { + throw new UnknownModuleException(); + } + const providerKey = moduleRef.addProvider(provider, enhancerSubtype); + const providerRef = moduleRef.getProviderByKey(providerKey); + DiscoverableMetaHostCollection.inspectProvider(this.modules, providerRef); + return providerKey; + } + addInjectable(injectable, token, enhancerSubtype, host) { + if (!this.modules.has(token)) { + throw new UnknownModuleException(); + } + const moduleRef = this.modules.get(token); + return moduleRef.addInjectable(injectable, enhancerSubtype, host); + } + addExportedProviderOrModule(toExport, token) { + if (!this.modules.has(token)) { + throw new UnknownModuleException(); + } + const moduleRef = this.modules.get(token); + if (isNil(toExport)) { + throw new CircularDependencyException(moduleRef.metatype.name); + } + moduleRef.addExportedProviderOrModule(toExport); + } + addController(controller, token) { + if (!this.modules.has(token)) { + throw new UnknownModuleException(); + } + const moduleRef = this.modules.get(token); + if (isNil(controller)) { + throw new CircularDependencyException(moduleRef.metatype.name); + } + moduleRef.addController(controller); + const controllerRef = moduleRef.controllers.get(controller); + DiscoverableMetaHostCollection.inspectController(this.modules, controllerRef); + } + clear() { + this.modules.clear(); + } + replace(toReplace, options) { + this.modules.forEach((moduleRef) => moduleRef.replace(toReplace, options)); + } + bindGlobalScope() { + this.modules.forEach((moduleRef) => this.bindGlobalsToImports(moduleRef)); + } + bindGlobalsToImports(moduleRef) { + this.globalModules.forEach((globalModule) => this.bindGlobalModuleToModule(moduleRef, globalModule)); + } + bindGlobalModuleToModule(target, globalModule) { + if (target === globalModule || target === this.internalCoreModule) { + return; + } + target.addImport(globalModule); + } + getDynamicMetadataByToken(token, metadataKey) { + const metadata = this.dynamicModulesMetadata.get(token); + return metadataKey ? metadata?.[metadataKey] ?? [] : metadata; + } + registerCoreModuleRef(moduleRef) { + this.internalCoreModule = moduleRef; + this.modules[InternalCoreModule.name] = moduleRef; + } + getModuleTokenFactory() { + return this.moduleCompiler.moduleOpaqueKeyFactory; + } + registerRequestProvider(request, contextId) { + const wrapper = this.internalCoreModule.getProviderByKey(REQUEST); + wrapper.setInstanceByContextId(contextId, { + instance: request, + isResolved: true + }); + } + shouldInitOnPreview(type) { + return InitializeOnPreviewAllowlist.has(type); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/index.js +var init_injector2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/index.js"() { + init_container(); + init_inquirer(); + init_lazy_module_loader(); + init_module_ref(); + init_modules_container(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/partial-graph.host.js +var PartialGraphHost; +var init_partial_graph_host = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/partial-graph.host.js"() { + PartialGraphHost = class { + static { + __name(this, "PartialGraphHost"); + } + static partialGraph; + static toJSON() { + return this.partialGraph?.toJSON(); + } + static toString() { + return this.partialGraph?.toString(); + } + static register(partialGraph) { + this.partialGraph = partialGraph; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/graph-inspector.js +var GraphInspector; +var init_graph_inspector = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/graph-inspector.js"() { + init_unknown_dependencies_exception(); + init_deterministic_uuid_registry(); + init_partial_graph_host(); + GraphInspector = class { + static { + __name(this, "GraphInspector"); + } + container; + graph; + enhancersMetadataCache = new Array(); + constructor(container) { + this.container = container; + this.graph = container.serializedGraph; + } + inspectModules(modules = this.container.getModules()) { + for (const moduleRef of modules.values()) { + this.insertModuleNode(moduleRef); + this.insertClassNodes(moduleRef); + this.insertModuleToModuleEdges(moduleRef); + } + this.enhancersMetadataCache.forEach((entry) => this.insertEnhancerEdge(entry)); + DeterministicUuidRegistry.clear(); + } + registerPartial(error) { + this.graph.status = "partial"; + if (error instanceof UnknownDependenciesException) { + this.graph.metadata = { + cause: { + type: "unknown-dependencies", + context: error.context, + moduleId: error.moduleRef?.id, + nodeId: error.metadata?.id + } + }; + } else { + this.graph.metadata = { + cause: { + type: "unknown", + error + } + }; + } + PartialGraphHost.register(this.graph); + } + inspectInstanceWrapper(source, moduleRef) { + const ctorMetadata = source.getCtorMetadata(); + ctorMetadata?.forEach((target, index) => this.insertClassToClassEdge(source, target, moduleRef, index, "constructor")); + const propertiesMetadata = source.getPropertiesMetadata(); + propertiesMetadata?.forEach(({ key, wrapper: target }) => this.insertClassToClassEdge(source, target, moduleRef, key, "property")); + } + insertEnhancerMetadataCache(entry) { + this.enhancersMetadataCache.push(entry); + } + insertOrphanedEnhancer(entry) { + this.graph.insertOrphanedEnhancer({ + ...entry, + ref: entry.ref?.constructor?.name ?? "Object" + }); + } + insertAttachedEnhancer(wrapper) { + const existingNode = this.graph.getNodeById(wrapper.id); + existingNode.metadata.global = true; + this.graph.insertAttachedEnhancer(existingNode.id); + } + insertEntrypointDefinition(definition, parentId) { + definition = { + ...definition, + id: `${definition.classNodeId}_${definition.methodName}` + }; + this.graph.insertEntrypoint(definition, parentId); + } + insertClassNode(moduleRef, wrapper, type) { + this.graph.insertNode({ + id: wrapper.id, + label: wrapper.name, + parent: moduleRef.id, + metadata: { + type, + internal: wrapper.metatype === moduleRef.metatype, + sourceModuleName: moduleRef.name, + durable: wrapper.isDependencyTreeDurable(), + static: wrapper.isDependencyTreeStatic(), + scope: wrapper.scope, + transient: wrapper.isTransient, + exported: moduleRef.exports.has(wrapper.token), + token: wrapper.token, + subtype: wrapper.subtype, + initTime: wrapper.initTime + } + }); + } + insertModuleNode(moduleRef) { + const dynamicMetadata = this.container.getDynamicMetadataByToken(moduleRef.token); + const node = { + id: moduleRef.id, + label: moduleRef.name, + metadata: { + type: "module", + global: moduleRef.isGlobal, + dynamic: !!dynamicMetadata, + internal: moduleRef.name === "InternalCoreModule" + } + }; + this.graph.insertNode(node); + } + insertModuleToModuleEdges(moduleRef) { + for (const targetModuleRef of moduleRef.imports) { + this.graph.insertEdge({ + source: moduleRef.id, + target: targetModuleRef.id, + metadata: { + type: "module-to-module", + sourceModuleName: moduleRef.name, + targetModuleName: targetModuleRef.name + } + }); + } + } + insertEnhancerEdge(entry) { + const moduleRef = this.container.getModuleByKey(entry.moduleToken); + const sourceInstanceWrapper = moduleRef.controllers.get(entry.classRef) ?? moduleRef.providers.get(entry.classRef); + const existingSourceNode = this.graph.getNodeById(sourceInstanceWrapper.id); + const enhancers = existingSourceNode.metadata.enhancers ?? []; + if (entry.enhancerInstanceWrapper) { + this.insertClassToClassEdge(sourceInstanceWrapper, entry.enhancerInstanceWrapper, moduleRef, void 0, "decorator"); + enhancers.push({ + id: entry.enhancerInstanceWrapper.id, + methodKey: entry.methodKey, + subtype: entry.subtype + }); + } else { + const name = entry.enhancerRef.constructor?.name ?? entry.enhancerRef.name; + enhancers.push({ + name, + methodKey: entry.methodKey, + subtype: entry.subtype + }); + } + existingSourceNode.metadata.enhancers = enhancers; + } + insertClassToClassEdge(source, target, moduleRef, keyOrIndex, injectionType) { + this.graph.insertEdge({ + source: source.id, + target: target.id, + metadata: { + type: "class-to-class", + sourceModuleName: moduleRef.name, + sourceClassName: source.name, + targetClassName: target.name, + sourceClassToken: source.token, + targetClassToken: target.token, + targetModuleName: target.host?.name, + keyOrIndex, + injectionType + } + }); + } + insertClassNodes(moduleRef) { + moduleRef.providers.forEach((value) => this.insertClassNode(moduleRef, value, "provider")); + moduleRef.injectables.forEach((value) => this.insertClassNode(moduleRef, value, "injectable")); + moduleRef.controllers.forEach((value) => this.insertClassNode(moduleRef, value, "controller")); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/index.js +var init_inspector = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/index.js"() { + init_graph_inspector(); + init_initialize_on_preview_allowlist(); + init_partial_graph_host(); + init_serialized_graph(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/legacy-route-converter.js +var UNSUPPORTED_PATH_MESSAGE, LegacyRouteConverter; +var init_legacy_route_converter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/legacy-route-converter.js"() { + init_common(); + UNSUPPORTED_PATH_MESSAGE = /* @__PURE__ */ __name((text, route) => `Unsupported route path: "${route}". In previous versions, the symbols ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/{*path}. The braces keep the wildcard optional, so it covers the same paths as /users/* did, while /users/*path is narrower and requires at least one extra segment. For more details, refer to the migration guide.`, "UNSUPPORTED_PATH_MESSAGE"); + LegacyRouteConverter = class _LegacyRouteConverter { + static { + __name(this, "LegacyRouteConverter"); + } + static logger = new Logger(_LegacyRouteConverter.name); + /** + * Convert legacy routes to the new format (syntax). + * path-to-regexp used by Express>=v5 and @fastify/middie>=v9 no longer support unnamed wildcards. + * This method attempts to convert the old syntax to the new one, and logs an error if it fails. + * @param route The route to convert. + * @param options Options object. + * @returns The converted route, or the original route if it cannot be converted. + */ + static tryConvert(route, options) { + const routeWithLeadingSlash = route.startsWith("/") ? route : `/${route}`; + const normalizedRoute = route.endsWith("/") ? routeWithLeadingSlash : `${routeWithLeadingSlash}/`; + const loggingEnabled = options?.logs ?? true; + const printWarning = loggingEnabled ? this.printWarning.bind(this) : () => { + }; + if (normalizedRoute.endsWith("/(.*)/")) { + const convertedRoute = route.replace("(.*)", "{*path}"); + if (normalizedRoute !== "/(.*)/") { + printWarning(route, convertedRoute); + } + return convertedRoute; + } + if (normalizedRoute.endsWith("/*/")) { + const convertedRoute = route.replace("*", "{*path}"); + if (normalizedRoute !== "/*/") { + printWarning(route, convertedRoute); + } + return convertedRoute; + } + if (normalizedRoute.endsWith("/+/")) { + const convertedRoute = route.replace("/+", "/*path"); + printWarning(route, convertedRoute); + return convertedRoute; + } + if (normalizedRoute.includes("/*/")) { + const convertedRoute = route.replaceAll(/\/\*(?=\/)/g, (match, offset) => `/*path${offset}`); + printWarning(route, convertedRoute); + return convertedRoute; + } + return route; + } + static printError(route) { + this.logger.error(UNSUPPORTED_PATH_MESSAGE`${route}`); + } + static printWarning(route, convertedRoute) { + const autoConvertMessage = convertedRoute ? ` Attempting to auto-convert to "${convertedRoute}"...` : " Attempting to auto-convert..."; + this.logger.warn(UNSUPPORTED_PATH_MESSAGE`${route}` + autoConvertMessage); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/exclude-route.util.js +function isRouteExcluded(excludedRoutes, path, requestMethod) { + return excludedRoutes.some((route) => { + if (isRequestMethodAll(route.requestMethod) || route.requestMethod === requestMethod) { + return route.pathRegex.exec(addLeadingSlash(path)); + } + return false; + }); +} +var isRequestMethodAll; +var init_exclude_route_util = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/exclude-route.util.js"() { + init_common(); + init_internal(); + isRequestMethodAll = /* @__PURE__ */ __name((method) => { + return RequestMethod.ALL === method || method === -1; + }, "isRequestMethodAll"); + __name(isRouteExcluded, "isRouteExcluded"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/flatten-route-paths.util.js +function flattenRoutePaths(routes) { + const result = []; + routes.forEach((item) => { + if (item.module && item.path) { + result.push({ module: item.module, path: item.path }); + } + if (item.children) { + const childrenRef = item.children; + childrenRef.forEach((child) => { + if (!isString(child) && isString(child.path)) { + child.path = normalizePath(normalizePath(item.path) + normalizePath(child.path)); + } else { + result.push({ path: item.path, module: child }); + } + }); + result.push(...flattenRoutePaths(childrenRef)); + } + }); + return result; +} +var init_flatten_route_paths_util = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/flatten-route-paths.util.js"() { + init_internal(); + __name(flattenRoutePaths, "flattenRoutePaths"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/index.js +var init_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/utils/index.js"() { + init_exclude_route_util(); + init_flatten_route_paths_util(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/utils.js +function compileExcludedPath(path, matchingOptions) { + if (!matchingOptions) { + return (0, import_path_to_regexp.pathToRegexp)(addLeadingSlash(path)).regexp; + } + const routePath = path.length > 1 ? path.replace(/\/+$/, "") : path; + return (0, import_path_to_regexp.pathToRegexp)(addLeadingSlash(routePath) || "/", { + sensitive: matchingOptions.caseSensitive, + trailing: matchingOptions.ignoreTrailingSlash + }).regexp; +} +function isStaticPath(path) { + return !ROUTE_PATTERN_CHARS.test(path); +} +function isMiddlewareClass(middleware) { + const middlewareStr = middleware.toString(); + if (middlewareStr.substring(0, 5) === "class") { + return true; + } + const middlewareArr = middlewareStr.split(" "); + return middlewareArr[0] === "function" && /[A-Z]/.test(middlewareArr[1]?.[0]) && isFunction(middleware.prototype?.use); +} +function assignToken(metatype, token = uid(21)) { + Object.defineProperty(metatype, "name", { value: token }); + return metatype; +} +function isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash = false, versioningOptions) { + if (excludedRoutes.length <= 0) { + return false; + } + const reqMethod = httpAdapter.getRequestMethod(req); + const originalUrl = httpAdapter.getRequestUrl(req); + if (!originalUrl?.startsWith("/") || originalUrl.includes("#")) { + return false; + } + const queryParamsIndex = originalUrl.indexOf("?"); + const pathname = queryParamsIndex >= 0 ? originalUrl.slice(0, queryParamsIndex) : originalUrl; + const isRequestForRoute = /* @__PURE__ */ __name((route, path) => isRouteExcluded([route], path, RequestMethod[reqMethod]) || reqMethod === RequestMethod[RequestMethod.HEAD] && isRouteExcluded([route], path, RequestMethod.GET), "isRequestForRoute"); + const isVersionRequested = createRequestedVersionMatcher(req, versioningOptions); + const isExcluded = /* @__PURE__ */ __name((path) => excludedRoutes.some((route) => isRequestForRoute(route, path) && isVersionRequested(route)), "isExcluded"); + if (ignoreTrailingSlash && pathname.length > 1 && pathname.endsWith("/")) { + return isExcluded(pathname) && isExcluded(pathname.replace(/\/+$/, "")); + } + return isExcluded(pathname); +} +function createRequestedVersionMatcher(request, versioningOptions) { + let requestedVersions; + return ({ version }) => { + if (!version || version === VERSION_NEUTRAL || !versioningOptions || versioningOptions.type === VersioningType.URI) { + return true; + } + if (requestedVersions === void 0) { + requestedVersions = getRequestedVersions(request, versioningOptions); + } + if (!requestedVersions) { + return false; + } + const versions = Array.isArray(version) ? version : [version]; + return requestedVersions.length > 0 ? requestedVersions.every((requested) => versions.includes(requested)) : versions.includes(VERSION_NEUTRAL); + }; +} +function getRequestedVersions(request, versioningOptions) { + const headers = request.headers ?? {}; + let version; + switch (versioningOptions.type) { + case VersioningType.HEADER: + version = headers[versioningOptions.header] || headers[versioningOptions.header.toLowerCase()]; + break; + case VersioningType.MEDIA_TYPE: + version = getMediaTypeVersion2(headers["Accept"] || headers["accept"], versioningOptions.key); + break; + case VersioningType.CUSTOM: + try { + version = versioningOptions.extractor(request); + } catch { + return null; + } + break; + } + return isUndefined(version) ? [] : [].concat(version); +} +function getMediaTypeVersion2(acceptHeader, key) { + const mediaRanges = [].concat(acceptHeader ?? []).flatMap((value) => value.split(",")); + for (const mediaRange of mediaRanges) { + const [, ...parameters] = mediaRange.split(";"); + for (const parameter of parameters) { + const trimmedParameter = parameter.trim(); + if (trimmedParameter.startsWith(key)) { + return trimmedParameter.slice(key.length); + } + } + } + return void 0; +} +var import_iterare9, import_path_to_regexp, mapToExcludeRoute, EXACT_ROUTE_MATCHING, ROUTE_PATTERN_CHARS, filterMiddleware, mapToClass; +var init_utils2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/utils.js"() { + init_common(); + import_iterare9 = __toESM(require_lib(), 1); + import_path_to_regexp = __toESM(require_dist2(), 1); + init_dist(); + init_legacy_route_converter(); + init_utils(); + init_internal(); + mapToExcludeRoute = /* @__PURE__ */ __name((routes, matchingOptions) => { + return routes.map((route) => { + const originalPath = isString(route) ? route : route.path; + const path = LegacyRouteConverter.tryConvert(originalPath); + try { + const pathRegex = compileExcludedPath(path, matchingOptions); + if (isString(route)) { + return { + path, + requestMethod: RequestMethod.ALL, + pathRegex + }; + } + const excludedRoute = { + path, + requestMethod: route.method, + pathRegex + }; + if (route.version) { + excludedRoute.version = route.version; + } + return excludedRoute; + } catch (e) { + if (e instanceof TypeError) { + LegacyRouteConverter.printError(originalPath); + } + throw e; + } + }); + }, "mapToExcludeRoute"); + __name(compileExcludedPath, "compileExcludedPath"); + EXACT_ROUTE_MATCHING = { + caseSensitive: true, + ignoreTrailingSlash: false + }; + ROUTE_PATTERN_CHARS = /[:*?+()[\]{}!\\$]/; + __name(isStaticPath, "isStaticPath"); + filterMiddleware = /* @__PURE__ */ __name((middleware, routes, httpAdapter, versioningOptions) => { + const matchingOptions = httpAdapter.getRouteMatchingOptions?.() ?? EXACT_ROUTE_MATCHING; + const excludedRoutes = mapToExcludeRoute(routes, matchingOptions); + return (0, import_iterare9.iterate)([]).concat(middleware).filter(isFunction).map((item) => mapToClass(item, excludedRoutes, httpAdapter, matchingOptions.ignoreTrailingSlash, versioningOptions)).toArray(); + }, "filterMiddleware"); + mapToClass = /* @__PURE__ */ __name((middleware, excludedRoutes, httpAdapter, ignoreTrailingSlash = false, versioningOptions) => { + if (isMiddlewareClass(middleware)) { + if (excludedRoutes.length <= 0) { + return middleware; + } + const MiddlewareHost = class extends middleware { + static { + __name(this, "MiddlewareHost"); + } + use(...params) { + const [req, _, next] = params; + const isExcluded = isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash, versioningOptions); + if (isExcluded) { + return next(); + } + return super.use(...params); + } + }; + return assignToken(MiddlewareHost, middleware.name); + } + return assignToken(class { + use = /* @__PURE__ */ __name((...params) => { + const [req, _, next] = params; + const isExcluded = isMiddlewareRouteExcluded(req, excludedRoutes, httpAdapter, ignoreTrailingSlash, versioningOptions); + if (isExcluded) { + return next(); + } + return middleware(...params); + }, "use"); + }); + }, "mapToClass"); + __name(isMiddlewareClass, "isMiddlewareClass"); + __name(assignToken, "assignToken"); + __name(isMiddlewareRouteExcluded, "isMiddlewareRouteExcluded"); + __name(createRequestedVersionMatcher, "createRequestedVersionMatcher"); + __name(getRequestedVersions, "getRequestedVersions"); + __name(getMediaTypeVersion2, "getMediaTypeVersion"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/builder.js +var import_iterare10, import_path_to_regexp2, MiddlewareBuilder; +var init_builder = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/builder.js"() { + import_iterare10 = __toESM(require_lib(), 1); + import_path_to_regexp2 = __toESM(require_dist2(), 1); + init_legacy_route_converter(); + init_utils2(); + MiddlewareBuilder = class _MiddlewareBuilder { + static { + __name(this, "MiddlewareBuilder"); + } + routesMapper; + httpAdapter; + routeInfoPathExtractor; + middlewareCollection = /* @__PURE__ */ new Set(); + constructor(routesMapper, httpAdapter, routeInfoPathExtractor) { + this.routesMapper = routesMapper; + this.httpAdapter = httpAdapter; + this.routeInfoPathExtractor = routeInfoPathExtractor; + } + apply(...middleware) { + return new _MiddlewareBuilder.ConfigProxy(this, middleware.flat(), this.routeInfoPathExtractor); + } + build() { + return [...this.middlewareCollection]; + } + getHttpAdapter() { + return this.httpAdapter; + } + static ConfigProxy = class { + static { + __name(this, "ConfigProxy"); + } + builder; + middleware; + routeInfoPathExtractor; + excludedRoutes = []; + constructor(builder, middleware, routeInfoPathExtractor) { + this.builder = builder; + this.middleware = middleware; + this.routeInfoPathExtractor = routeInfoPathExtractor; + } + getExcludedRoutes() { + return this.excludedRoutes; + } + exclude(...routes) { + this.excludedRoutes = [ + ...this.excludedRoutes, + ...this.getRoutesFlatList(routes).reduce((excludedRoutes, route) => { + for (const routePath of this.routeInfoPathExtractor.extractPathFrom(route)) { + excludedRoutes.push({ + ...route, + path: routePath + }); + } + return excludedRoutes; + }, []) + ]; + return this; + } + forRoutes(...routes) { + const { middlewareCollection } = this.builder; + const flattedRoutes = this.getRoutesFlatList(routes); + const forRoutes = this.removeOverlappedRoutes(this.addCoveredExcludedRoutes(flattedRoutes)); + const configuration = { + middleware: filterMiddleware(this.middleware, this.excludedRoutes, this.builder.getHttpAdapter(), this.routeInfoPathExtractor.getVersioningOptions()), + forRoutes + }; + middlewareCollection.add(configuration); + return this.builder; + } + getRoutesFlatList(routes) { + const { routesMapper } = this.builder; + return (0, import_iterare10.iterate)(routes).map((route) => routesMapper.mapRouteToRouteInfo(route)).flatten().toArray(); + } + /** + * Adds the routes excluded from the global prefix that a route covers + * without being excluded itself (e.g. "users/me" for "users/:id"): the + * router serves them outside of the prefix the route is mounted under. + */ + addCoveredExcludedRoutes(routes) { + const allRoutes = [...routes]; + for (const route of routes) { + for (const excludedRoute of this.routeInfoPathExtractor.extractExcludedRoutesCoveredBy(route)) { + const isListed = allRoutes.some((item) => item.path === excludedRoute.path && item.method === excludedRoute.method && item.version === excludedRoute.version); + if (!isListed) { + allRoutes.push(excludedRoute); + } + } + } + return allRoutes; + } + /** + * Removes the routes that a parameterized route of the same method is + * mounted on as well (e.g. "/users/me" next to "/users/:id"), so that + * the middleware runs once for them. Only a route without parameters or + * wildcards is removed, and only when the parameterized route matches + * every path it would be mounted on (global prefix and version included). + */ + removeOverlappedRoutes(routes) { + const routesWithRegex = routes.filter((route) => route.path.includes(":")).map((route) => ({ + method: route.method, + regexes: this.compileMountPaths(route) + })); + return routes.filter((route) => { + const mountPaths = this.routeInfoPathExtractor.extractPathsFrom(route); + if (!mountPaths.every(isStaticPath)) { + return true; + } + const isOverlapped = /* @__PURE__ */ __name((item) => route.method === item.method && mountPaths.every((path) => item.regexes.some((regex) => regex.test(path))), "isOverlapped"); + return !routesWithRegex.some(isOverlapped); + }); + } + compileMountPaths(route) { + try { + return this.routeInfoPathExtractor.extractPathsFrom(route).map((path) => (0, import_path_to_regexp2.pathToRegexp)(LegacyRouteConverter.tryConvert(path.replace(/\$$/, ""), { + logs: false + }), { sensitive: true }).regexp); + } catch { + return []; + } + } + }; + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/index.js +var init_middleware = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/index.js"() { + init_builder(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/cookie-signer.js +import { createHmac, timingSafeEqual } from "crypto"; +var SIGNED_COOKIE_PREFIX, CookieSigner; +var init_cookie_signer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/cookie-signer.js"() { + SIGNED_COOKIE_PREFIX = "s:"; + CookieSigner = class { + static { + __name(this, "CookieSigner"); + } + secrets; + constructor(secret) { + const secrets = Array.isArray(secret) ? secret : [secret]; + if (secrets.length === 0 || secrets.some((item) => typeof item !== "string" || item.length === 0)) { + throw new TypeError('The "cookies.secret" option must be a non-empty string or a non-empty array of non-empty strings.'); + } + this.secrets = [...secrets]; + } + /** + * Returns `s:.`, signed with the first secret. + */ + sign(value) { + return `${SIGNED_COOKIE_PREFIX}${value}.${this.digest(value, this.secrets[0])}`; + } + /** + * Returns the original value when `input` carries a valid signature for + * any of the secrets, `undefined` otherwise. The `s:` prefix is optional. + */ + unsign(input) { + if (typeof input !== "string") { + return void 0; + } + const signed = input.startsWith(SIGNED_COOKIE_PREFIX) ? input.slice(SIGNED_COOKIE_PREFIX.length) : input; + const dotIndex = signed.lastIndexOf("."); + if (dotIndex === -1) { + return void 0; + } + const value = signed.slice(0, dotIndex); + const signature = Buffer.from(signed.slice(dotIndex + 1)); + let valid = false; + for (const secret of this.secrets) { + const expected = Buffer.from(this.digest(value, secret)); + if (expected.length === signature.length && timingSafeEqual(expected, signature)) { + valid = true; + } + } + return valid ? value : void 0; + } + digest(value, secret) { + return createHmac("sha256", secret).update(value).digest("base64").replace(/=+$/, ""); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/optional-require.js +async function optionalRequire(packageName, loaderFn) { + try { + return loaderFn ? await loaderFn() : await import(packageName); + } catch (e) { + return {}; + } +} +var init_optional_require = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/optional-require.js"() { + __name(optionalRequire, "optionalRequire"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/container.js +var MiddlewareContainer; +var init_container2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/container.js"() { + init_get_class_scope(); + init_is_durable(); + init_instance_wrapper(); + MiddlewareContainer = class { + static { + __name(this, "MiddlewareContainer"); + } + container; + middleware = /* @__PURE__ */ new Map(); + configurationSets = /* @__PURE__ */ new Map(); + constructor(container) { + this.container = container; + } + getMiddlewareCollection(moduleKey) { + if (!this.middleware.has(moduleKey)) { + const moduleRef = this.container.getModuleByKey(moduleKey); + this.middleware.set(moduleKey, moduleRef.middlewares); + } + return this.middleware.get(moduleKey); + } + getConfigurations() { + return this.configurationSets; + } + insertConfig(configList, moduleKey) { + const middleware = this.getMiddlewareCollection(moduleKey); + const targetConfig = this.getTargetConfig(moduleKey); + const configurations = configList || []; + const insertMiddleware = /* @__PURE__ */ __name((metatype) => { + const token = metatype; + middleware.set(token, new InstanceWrapper({ + scope: getClassScope(metatype), + durable: isDurable(metatype), + name: token?.name ?? token, + metatype, + token + })); + }, "insertMiddleware"); + configurations.forEach((config) => { + [].concat(config.middleware).map(insertMiddleware); + targetConfig.add(config); + }); + } + getTargetConfig(moduleName) { + if (!this.configurationSets.has(moduleName)) { + this.configurationSets.set(moduleName, /* @__PURE__ */ new Set()); + } + return this.configurationSets.get(moduleName); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-middleware.exception.js +var InvalidMiddlewareException; +var init_invalid_middleware_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-middleware.exception.js"() { + init_messages(); + init_runtime_exception(); + InvalidMiddlewareException = class extends RuntimeException { + static { + __name(this, "InvalidMiddlewareException"); + } + constructor(name) { + super(INVALID_MIDDLEWARE_MESSAGE`${name}`); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/exceptions-handler.js +var import_rxjs6, ExceptionsHandler; +var init_exceptions_handler = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/exceptions/exceptions-handler.js"() { + import_rxjs6 = __toESM(require_cjs(), 1); + init_invalid_exception_filter_exception(); + init_base_exception_filter(); + init_internal(); + ExceptionsHandler = class extends BaseExceptionFilter { + static { + __name(this, "ExceptionsHandler"); + } + filters = []; + next(exception, ctx) { + if (this.invokeCustomFilters(exception, ctx)) { + return; + } + super.catch(exception, ctx); + } + setCustomFilters(filters) { + if (!Array.isArray(filters)) { + throw new InvalidExceptionFilterException(); + } + this.filters = filters; + } + invokeCustomFilters(exception, ctx) { + if (isEmptyArray(this.filters)) { + return false; + } + const filter = selectExceptionFilterMetadata(this.filters, exception); + if (!filter) { + return false; + } + const result = filter.func(exception, ctx); + if ((0, import_rxjs6.isObservable)(result)) { + return !!this.applicationRef?.isHeadersSent(ctx.getArgByIndex(1)); + } + return true; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-exception-filters.js +var import_iterare11, RouterExceptionFilters; +var init_router_exception_filters = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-exception-filters.js"() { + init_common(); + import_iterare11 = __toESM(require_lib(), 1); + init_base_exception_filter_context(); + init_exceptions_handler(); + init_constants3(); + init_internal(); + RouterExceptionFilters = class _RouterExceptionFilters extends BaseExceptionFilterContext { + static { + __name(this, "RouterExceptionFilters"); + } + config; + applicationRef; + static logger = new Logger(_RouterExceptionFilters.name); + // Applications already warned about their request-scoped or transient + // global filters (see "getGlobalMetadata()") + static warnedConfigs = /* @__PURE__ */ new WeakSet(); + constructor(container, config, applicationRef) { + super(container); + this.config = config; + this.applicationRef = applicationRef; + } + create(instance, callback, moduleKey, contextId = STATIC_CONTEXT, inquirerId) { + this.moduleContext = moduleKey; + const exceptionHandler = new ExceptionsHandler(this.applicationRef); + const filters = this.createContext(instance, callback, EXCEPTION_FILTERS_METADATA, contextId, inquirerId); + if (isEmptyArray(filters)) { + return exceptionHandler; + } + exceptionHandler.setCustomFilters(filters.reverse()); + return exceptionHandler; + } + getGlobalMetadata(contextId = STATIC_CONTEXT, inquirerId) { + const globalFilters = this.config.getGlobalFilters(); + if (contextId === STATIC_CONTEXT && !inquirerId) { + this.warnAboutScopedGlobalFilters(); + return globalFilters; + } + const scopedFilterWrappers = this.config.getGlobalRequestFilters(); + const scopedFilters = (0, import_iterare11.iterate)(scopedFilterWrappers).map((wrapper) => wrapper.getInstanceByContextId(this.getContextId(contextId, wrapper), inquirerId)).filter((host) => !!host).map((host) => host.instance).toArray(); + return globalFilters.concat(scopedFilters); + } + /** + * Handlers that are not built for a controller (middleware, the "not found" + * handler, the exception layer) have no request to resolve request-scoped + * or transient global filters for, so these filters are left out. + */ + warnAboutScopedGlobalFilters() { + if (isEmptyArray(this.config.getGlobalRequestFilters()) || _RouterExceptionFilters.warnedConfigs.has(this.config)) { + return; + } + _RouterExceptionFilters.warnedConfigs.add(this.config); + _RouterExceptionFilters.logger.warn("Global exception filters (APP_FILTER) with request or transient scope are not applied to exceptions thrown outside of controllers, e.g. in middleware, for unknown routes or while parsing the request body. Register a global filter without a scope as well to handle them."); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-proxy.js +var RouterProxy; +var init_router_proxy = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-proxy.js"() { + init_execution_context_host(); + RouterProxy = class { + static { + __name(this, "RouterProxy"); + } + createProxy(targetCallback, exceptionsHandler) { + return async (req, res, next) => { + try { + await targetCallback(req, res, next); + } catch (e) { + const host = new ExecutionContextHost([req, res, next]); + exceptionsHandler.next(e, host); + return res; + } + }; + } + createExceptionLayerProxy(targetCallback, exceptionsHandler) { + return async (err, req, res, next) => { + try { + await targetCallback(err, req, res, next); + } catch (e) { + const host = new ExecutionContextHost([req, res, next]); + exceptionsHandler.next(e, host); + return res; + } + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/resolver.js +var MiddlewareResolver; +var init_resolver = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/resolver.js"() { + MiddlewareResolver = class { + static { + __name(this, "MiddlewareResolver"); + } + middlewareContainer; + injector; + constructor(middlewareContainer, injector) { + this.middlewareContainer = middlewareContainer; + this.injector = injector; + } + async resolveInstances(moduleRef, moduleName) { + const middlewareMap = this.middlewareContainer.getMiddlewareCollection(moduleName); + const resolveInstance = /* @__PURE__ */ __name(async (wrapper) => this.resolveMiddlewareInstance(wrapper, middlewareMap, moduleRef), "resolveInstance"); + await Promise.all([...middlewareMap.values()].map(resolveInstance)); + } + async resolveMiddlewareInstance(wrapper, middlewareMap, moduleRef) { + await this.injector.loadMiddleware(wrapper, middlewareMap, moduleRef); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-path-factory.js +var RoutePathFactory; +var init_route_path_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-path-factory.js"() { + init_common(); + init_utils(); + init_internal(); + RoutePathFactory = class { + static { + __name(this, "RoutePathFactory"); + } + applicationConfig; + /** + * URI version prefixes (`/v1`, or `''` for an unversioned route) under + * which each global prefix exclusion was matched by a created route. + */ + excludedRouteVersionPrefixes = /* @__PURE__ */ new Map(); + constructor(applicationConfig) { + this.applicationConfig = applicationConfig; + } + create(metadata, requestMethod) { + let paths = [""]; + const versionOrVersions = this.getVersion(metadata); + if (versionOrVersions && metadata.versioningOptions?.type === VersioningType.URI) { + const versionPrefix = this.getVersionPrefix(metadata.versioningOptions); + if (Array.isArray(versionOrVersions)) { + paths = flatten(paths.map((path) => versionOrVersions.map((version) => ( + // Version Neutral - Do not include version in URL + version === VERSION_NEUTRAL ? path : `${path}/${versionPrefix}${version}` + )))); + } else { + if (versionOrVersions !== VERSION_NEUTRAL) { + paths = paths.map((path) => `${path}/${versionPrefix}${versionOrVersions}`); + } + } + } + paths = this.appendToAllIfDefined(paths, metadata.modulePath); + paths = this.appendToAllIfDefined(paths, metadata.ctrlPath); + paths = this.appendToAllIfDefined(paths, metadata.methodPath); + if (metadata.globalPrefix) { + paths = paths.map((path) => { + if (this.isExcludedFromGlobalPrefix(path, requestMethod, versionOrVersions, metadata.versioningOptions)) { + this.trackExcludedRoute(path, requestMethod, versionOrVersions, metadata.versioningOptions); + return path; + } + return stripEndSlash(metadata.globalPrefix || "") + path; + }); + } + return paths.map((path) => addLeadingSlash(path || "/")).map((path) => path !== "/" ? stripEndSlash(path) : path); + } + getVersion(metadata) { + return metadata.methodVersion || metadata.controllerVersion; + } + getVersionPrefix(versioningOptions) { + const defaultPrefix = "v"; + if (versioningOptions.type === VersioningType.URI) { + if (versioningOptions.prefix === false) { + return ""; + } else if (versioningOptions.prefix !== void 0) { + return versioningOptions.prefix; + } + } + return defaultPrefix; + } + appendToAllIfDefined(paths, fragmentToAppend) { + if (!fragmentToAppend) { + return paths; + } + const concatPaths = /* @__PURE__ */ __name((a, b) => stripEndSlash(a) + addLeadingSlash(b), "concatPaths"); + if (Array.isArray(fragmentToAppend)) { + const paths2dArray = paths.map((path) => fragmentToAppend.map((fragment) => concatPaths(path, fragment))); + return flatten(paths2dArray); + } + return paths.map((path) => concatPaths(path, fragmentToAppend)); + } + isExcludedFromGlobalPrefix(path, requestMethod, versionOrVersions, versioningOptions) { + if (isUndefined(requestMethod)) { + return false; + } + const options = this.applicationConfig.getGlobalPrefixOptions(); + const excludedRoutes = options.exclude; + const versionPrefix = this.getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions); + return Array.isArray(excludedRoutes) && isRouteExcluded(excludedRoutes, path.slice(versionPrefix.length), requestMethod); + } + /** + * Returns the global prefix exclusions as the paths routes are actually + * served at. Under URI versioning an exclusion such as `hello` matches the + * unversioned path, while the route lives at `/v1/hello`, so every version + * prefix a matching route was created under is prepended. An exclusion no + * created route matched (e.g. a raw route registered by a library) is kept + * as configured. + */ + getExcludedRoutePaths() { + const excludedRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude ?? []; + return excludedRoutes.flatMap((route) => { + const versionPrefixes = this.excludedRouteVersionPrefixes.get(route) ?? [ + "" + ]; + return [...versionPrefixes].map((versionPrefix) => ({ + path: versionPrefix ? versionPrefix + addLeadingSlash(route.path) : route.path, + method: route.requestMethod + })); + }); + } + trackExcludedRoute(path, requestMethod, versionOrVersions, versioningOptions) { + if (!versioningOptions && this.applicationConfig.getVersioning()) { + return; + } + const versionPrefix = this.getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions); + const unversionedPath = path.slice(versionPrefix.length); + const excludedRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude ?? []; + excludedRoutes.filter((route) => isRouteExcluded([route], unversionedPath, requestMethod)).forEach((route) => { + const versionPrefixes = this.excludedRouteVersionPrefixes.get(route) ?? /* @__PURE__ */ new Set(); + versionPrefixes.add(versionPrefix); + this.excludedRouteVersionPrefixes.set(route, versionPrefixes); + }); + } + getUriVersionPrefixOfPath(path, versionOrVersions, versioningOptions) { + if (!versionOrVersions || versionOrVersions === VERSION_NEUTRAL || versioningOptions?.type !== VersioningType.URI) { + return ""; + } + const versions = Array.isArray(versionOrVersions) ? versionOrVersions : [versionOrVersions]; + const versionPrefix = this.getVersionPrefix(versioningOptions); + for (const version of versions) { + if (typeof version !== "string") { + continue; + } + const prefix = `/${versionPrefix}${version}`; + if (path === prefix || path.startsWith(`${prefix}/`)) { + return prefix; + } + } + return ""; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/route-info-path-extractor.js +var import_path_to_regexp3, RouteInfoPathExtractor; +var init_route_info_path_extractor = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/route-info-path-extractor.js"() { + init_common(); + import_path_to_regexp3 = __toESM(require_dist2(), 1); + init_legacy_route_converter(); + init_utils(); + init_route_path_factory(); + init_utils2(); + init_internal(); + RouteInfoPathExtractor = class { + static { + __name(this, "RouteInfoPathExtractor"); + } + applicationConfig; + routePathFactory; + prefixPath; + excludedGlobalPrefixRoutes; + versioningConfig; + constructor(applicationConfig) { + this.applicationConfig = applicationConfig; + this.routePathFactory = new RoutePathFactory(applicationConfig); + this.prefixPath = stripEndSlash(addLeadingSlash(this.applicationConfig.getGlobalPrefix())); + this.excludedGlobalPrefixRoutes = this.applicationConfig.getGlobalPrefixOptions().exclude; + this.versioningConfig = this.applicationConfig.getVersioning(); + } + extractPathsFrom({ path, method, version = this.getVersionOfUnversionedRoutes() }) { + const versionPaths = this.extractVersionPathFrom(version); + if (this.isAWildcard(path)) { + const wildcardVersionPaths = versionPaths.includes("") ? [] : versionPaths; + const entries = wildcardVersionPaths.length > 0 ? wildcardVersionPaths.map((versionPath) => [ + this.prefixPath + versionPath + "$", + this.prefixPath + versionPath + addLeadingSlash(path) + ]).flat() : this.prefixPath ? [this.prefixPath + "$", this.prefixPath + addLeadingSlash(path)] : [addLeadingSlash(path)]; + return Array.isArray(this.excludedGlobalPrefixRoutes) ? [ + ...entries, + ...this.excludedGlobalPrefixRoutes.flatMap((route) => this.getPathsOfExcludedRoute(route)).flatMap((excludedPath) => versionPaths.length > 0 ? versionPaths.map((v) => v + excludedPath) : [excludedPath]) + ] : entries; + } + return this.extractNonWildcardPathsFrom({ path, method, version }); + } + /** + * Returns the routes excluded from the global prefix that the route covers + * without being excluded itself: the router serves them without the + * prefix, out of the reach of the paths the route is mounted on. These are + * the excluded routes without parameters or wildcards that the route + * matches, such as "users/me" for "users/:id" (or a `GET` exclusion for a + * route of every method), and the root route of a controller at the + * route's own path, which an exclusion ending in an optional segment such + * as "reports/{*path}" takes out of the prefix (see + * `isExcludedWithTrailingSlash()`). + */ + extractExcludedRoutesCoveredBy({ path, method, version }) { + if (!Array.isArray(this.excludedGlobalPrefixRoutes) || this.isAWildcard(path) || isRouteExcluded(this.excludedGlobalPrefixRoutes, path, method)) { + return []; + } + let routeRegex; + try { + routeRegex = (0, import_path_to_regexp3.pathToRegexp)(LegacyRouteConverter.tryConvert(addLeadingSlash(path), { logs: false })).regexp; + } catch { + return []; + } + return this.excludedGlobalPrefixRoutes.flatMap((excludedRoute) => { + const excludedPath = addLeadingSlash(excludedRoute.path); + const excludedMethod = isRequestMethodAll(excludedRoute.requestMethod) ? method : excludedRoute.requestMethod; + if (!(isRequestMethodAll(method) || method === excludedMethod)) { + return []; + } + const coveredPath = isStaticPath(excludedPath) && routeRegex.test(excludedPath) ? excludedPath : this.isExcludedWithTrailingSlash(excludedRoute, path) ? stripEndSlash(addLeadingSlash(path)) + "/" : void 0; + if (!coveredPath) { + return []; + } + const routeInfo = { + path: coveredPath, + method: excludedMethod + }; + if (version) { + routeInfo.version = version; + } + return [routeInfo]; + }); + } + /** + * Returns the paths the router serves a route excluded from the global + * prefix at: those of its pattern and, for a pattern ending in an optional + * segment such as "reports/{*path}", the parent path ("/reports") (see + * `isExcludedWithTrailingSlash()`). + */ + getPathsOfExcludedRoute(route) { + const excludedPath = addLeadingSlash(route.path); + const parentPath = excludedPath.slice(0, excludedPath.lastIndexOf("/")); + return this.isExcludedWithTrailingSlash(route, parentPath) ? [excludedPath, parentPath] : [excludedPath]; + } + /** + * Tells whether the exclusion takes a route at the path out of the global + * prefix only through a trailing slash: the router tests the root route of + * a controller with one ("/reports/"), which an exclusion ending in an + * optional segment matches ("reports/{*path}"), and serves it at + * "/reports", which the exclusion does not match. + */ + isExcludedWithTrailingSlash({ pathRegex }, path) { + const pathWithoutSlash = stripEndSlash(addLeadingSlash(path)); + return pathWithoutSlash !== "" && pathRegex.test(pathWithoutSlash + "/") && !pathRegex.test(pathWithoutSlash); + } + getVersioningOptions() { + return this.versioningConfig; + } + extractPathFrom(route) { + if (this.isAWildcard(route.path) && !route.version) { + return [addLeadingSlash(route.path)]; + } + return this.extractNonWildcardPathsFrom(route); + } + isAWildcard(path) { + const isSimpleWildcard = ["*", "/*", "/*/", "(.*)", "/(.*)"]; + if (isSimpleWildcard.includes(path)) { + return true; + } + const wildcardRegexp = /^\/\{.*\}.*|^\/\*.*$/; + return wildcardRegexp.test(path); + } + extractNonWildcardPathsFrom({ path, method, version }) { + const versionPaths = this.extractVersionPathFrom(version); + if (Array.isArray(this.excludedGlobalPrefixRoutes) && isRouteExcluded(this.excludedGlobalPrefixRoutes, path, method)) { + if (!versionPaths.length) { + return [addLeadingSlash(path)]; + } + return versionPaths.map((versionPath) => versionPath + addLeadingSlash(path)); + } + if (!versionPaths.length) { + return [this.prefixPath + addLeadingSlash(path)]; + } + return versionPaths.map((versionPath) => this.prefixPath + versionPath + addLeadingSlash(path)); + } + /** + * Returns the versions a route given without a version (e.g. + * `forRoutes('cats')`) may be served under: no version, as for a + * version-neutral controller, and the default version, under which + * controllers without a version are served. + */ + getVersionOfUnversionedRoutes() { + if (this.versioningConfig?.type !== VersioningType.URI) { + return; + } + const { defaultVersion } = this.versioningConfig; + if (!defaultVersion) { + return; + } + const versions = /* @__PURE__ */ new Set([ + VERSION_NEUTRAL + ]); + if (Array.isArray(defaultVersion)) { + defaultVersion.forEach((version) => versions.add(version)); + } else { + versions.add(defaultVersion); + } + return [...versions]; + } + extractVersionPathFrom(versionValue) { + if (!versionValue || this.versioningConfig?.type !== VersioningType.URI) + return []; + const versionPrefix = this.routePathFactory.getVersionPrefix(this.versioningConfig); + const toVersionPath = /* @__PURE__ */ __name((version) => version === VERSION_NEUTRAL ? "" : addLeadingSlash(versionPrefix + version), "toVersionPath"); + if (Array.isArray(versionValue)) { + return versionValue.map(toVersionPath); + } + return [toVersionPath(versionValue)]; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/paths-explorer.js +var PathsExplorer; +var init_paths_explorer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/paths-explorer.js"() { + init_internal(); + PathsExplorer = class { + static { + __name(this, "PathsExplorer"); + } + metadataScanner; + constructor(metadataScanner) { + this.metadataScanner = metadataScanner; + } + scanForPaths(instance, prototype) { + const instancePrototype = isUndefined(prototype) ? Object.getPrototypeOf(instance) : prototype; + return this.metadataScanner.getAllMethodNames(instancePrototype).reduce((acc, method) => { + const route = this.exploreMethodMetadata(instance, instancePrototype, method); + if (route) { + acc.push(route); + } + return acc; + }, []); + } + exploreMethodMetadata(instance, prototype, methodName) { + const instanceCallback = instance[methodName]; + const prototypeCallback = prototype[methodName]; + const routePath = Reflect.getMetadata(PATH_METADATA, prototypeCallback); + if (isUndefined(routePath)) { + return null; + } + const requestMethod = Reflect.getMetadata(METHOD_METADATA, prototypeCallback); + const version = Reflect.getMetadata(VERSION_METADATA, prototypeCallback); + const path = isString(routePath) ? [addLeadingSlash(routePath)] : routePath.map((p) => addLeadingSlash(p)); + return { + path, + requestMethod, + targetCallback: instanceCallback, + methodName, + version + }; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/routes-mapper.js +var RoutesMapper; +var init_routes_mapper = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/routes-mapper.js"() { + init_metadata_scanner(); + init_paths_explorer(); + init_internal(); + RoutesMapper = class { + static { + __name(this, "RoutesMapper"); + } + container; + applicationConfig; + pathsExplorer; + constructor(container, applicationConfig) { + this.container = container; + this.applicationConfig = applicationConfig; + this.pathsExplorer = new PathsExplorer(new MetadataScanner()); + } + mapRouteToRouteInfo(controllerOrRoute) { + if (isString(controllerOrRoute)) { + return this.getRouteInfoFromPath(controllerOrRoute); + } + const routePathOrPaths = this.getRoutePath(controllerOrRoute); + if (this.isRouteInfo(routePathOrPaths, controllerOrRoute)) { + return this.getRouteInfoFromObject(controllerOrRoute); + } + return this.getRouteInfoFromController(controllerOrRoute, routePathOrPaths); + } + getRouteInfoFromPath(routePath) { + const defaultRequestMethod = -1; + return [ + { + path: addLeadingSlash(routePath), + method: defaultRequestMethod + } + ]; + } + getRouteInfoFromObject(routeInfoObject) { + const routeInfo = { + path: addLeadingSlash(routeInfoObject.path), + method: routeInfoObject.method + }; + if (routeInfoObject.version) { + routeInfo.version = routeInfoObject.version; + } + return [routeInfo]; + } + getRouteInfoFromController(controller, routePath) { + const controllerPaths = this.pathsExplorer.scanForPaths(Object.create(controller), controller.prototype); + const controllerVersion = this.getVersionMetadata(controller); + const versioningConfig = this.applicationConfig.getVersioning(); + const modulePaths = this.getModulePathsOfController(controller); + const concatPaths = /* @__PURE__ */ __name((acc, currentValue) => acc.concat(currentValue), "concatPaths"); + const toRouteInfo2 = /* @__PURE__ */ __name((item, prefix, modulePath) => item.path?.flatMap((p) => { + const endpointPath = modulePath + stripEndSlash(this.normalizeGlobalPath(prefix)) + addLeadingSlash(p); + const routeInfo = { + path: endpointPath, + method: item.requestMethod + }; + const version = item.version ?? controllerVersion; + if (version && versioningConfig) { + if (typeof version !== "string" && Array.isArray(version)) { + return version.map((v) => ({ + ...routeInfo, + version: v + })); + } + routeInfo.version = version; + } + return routeInfo; + }), "toRouteInfo"); + return [].concat(routePath).flatMap((routePath2) => modulePaths.map((modulePath) => controllerPaths.map((item) => toRouteInfo2(item, routePath2, modulePath)).reduce(concatPaths, []))).reduce(concatPaths, []); + } + isRouteInfo(path, objectOrClass) { + return isUndefined(path); + } + normalizeGlobalPath(path) { + const prefix = addLeadingSlash(path); + return prefix === "/" ? "" : prefix; + } + getRoutePath(route) { + return Reflect.getMetadata(PATH_METADATA, route); + } + /** + * Returns the paths the controller is served under: the router registers it + * once for each module that declares it, under the path of that module. + */ + getModulePathsOfController(metatype) { + const modulePaths = this.getHostModulesOfController(metatype).map((moduleRef) => stripEndSlash(this.getModulePath(moduleRef.metatype) ?? "")); + return modulePaths.length > 0 ? [...new Set(modulePaths)] : [""]; + } + getHostModulesOfController(metatype) { + if (!metatype) { + return []; + } + const modulesContainer = this.container.getModules(); + return Array.from(modulesContainer.values()).filter(({ controllers }) => controllers.has(metatype)); + } + getModulePath(metatype) { + if (!metatype) { + return; + } + const modulesContainer = this.container.getModules(); + const modulePath = Reflect.getMetadata(MODULE_PATH + modulesContainer.applicationId, metatype); + return modulePath ?? Reflect.getMetadata(MODULE_PATH, metatype); + } + getVersionMetadata(metatype) { + const versioningConfig = this.applicationConfig.getVersioning(); + if (versioningConfig) { + return Reflect.getMetadata(VERSION_METADATA, metatype) ?? versioningConfig.defaultVersion; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/middleware-module.js +var MiddlewareModule; +var init_middleware_module = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/middleware/middleware-module.js"() { + init_common(); + init_invalid_middleware_exception(); + init_runtime_exception(); + init_context_id_factory(); + init_execution_context_host(); + init_constants3(); + init_request_constants(); + init_router_exception_filters(); + init_router_proxy(); + init_utils(); + init_builder(); + init_resolver(); + init_route_info_path_extractor(); + init_routes_mapper(); + init_common(); + init_internal(); + MiddlewareModule = class _MiddlewareModule { + static { + __name(this, "MiddlewareModule"); + } + routerProxy = new RouterProxy(); + logger = new Logger(_MiddlewareModule.name); + injector; + routerExceptionFilter; + routesMapper; + resolver; + container; + httpAdapter; + graphInspector; + appOptions; + routeInfoPathExtractor; + async register(middlewareContainer, container, config, injector, httpAdapter, graphInspector, options) { + this.appOptions = options; + const appRef = container.getHttpAdapterRef(); + this.routerExceptionFilter = new RouterExceptionFilters(container, config, appRef); + this.routesMapper = new RoutesMapper(container, config); + this.resolver = new MiddlewareResolver(middlewareContainer, injector); + this.routeInfoPathExtractor = new RouteInfoPathExtractor(config); + this.injector = injector; + this.container = container; + this.httpAdapter = httpAdapter; + this.graphInspector = graphInspector; + const modules = container.getModules(); + await this.resolveMiddleware(middlewareContainer, modules); + } + async resolveMiddleware(middlewareContainer, modules) { + const moduleEntries = [...modules.entries()]; + const loadMiddlewareConfiguration = /* @__PURE__ */ __name(async ([moduleName, moduleRef]) => { + await this.loadConfiguration(middlewareContainer, moduleRef, moduleName); + await this.resolver.resolveInstances(moduleRef, moduleName); + }, "loadMiddlewareConfiguration"); + await Promise.all(moduleEntries.map(loadMiddlewareConfiguration)); + } + async loadConfiguration(middlewareContainer, moduleRef, moduleKey) { + const { instance } = moduleRef; + if (!instance.configure) { + return; + } + const middlewareBuilder = new MiddlewareBuilder(this.routesMapper, this.httpAdapter, this.routeInfoPathExtractor); + try { + await instance.configure(middlewareBuilder); + } catch (err) { + if (!this.appOptions.preview) { + throw err; + } + const warningMessage = `Warning! "${moduleRef.name}" module exposes a "configure" method that throws an exception in the preview mode (possibly due to missing dependencies). Note: you can ignore this message, just be aware that some of those conditional middlewares will not be reflected in your graph.`; + this.logger.warn(warningMessage); + } + if (!(middlewareBuilder instanceof MiddlewareBuilder)) { + return; + } + const config = middlewareBuilder.build(); + middlewareContainer.insertConfig(config, moduleKey); + } + async registerMiddleware(middlewareContainer, applicationRef) { + const configs = middlewareContainer.getConfigurations(); + const registerAllConfigs = /* @__PURE__ */ __name(async (moduleKey, middlewareConfig) => { + for (const config of middlewareConfig) { + await this.registerMiddlewareConfig(middlewareContainer, config, moduleKey, applicationRef); + } + }, "registerAllConfigs"); + const entriesSortedByDistance = [...configs.entries()].sort(([moduleA], [moduleB]) => { + const moduleARef = this.container.getModuleByKey(moduleA); + const moduleBRef = this.container.getModuleByKey(moduleB); + const isModuleAGlobal = moduleARef.distance === Number.MAX_VALUE; + const isModuleBGlobal = moduleBRef.distance === Number.MAX_VALUE; + if (isModuleAGlobal && isModuleBGlobal) { + return 0; + } + if (isModuleAGlobal) { + return -1; + } + if (isModuleBGlobal) { + return 1; + } + return moduleARef.distance - moduleBRef.distance; + }); + for (const [moduleRef, moduleConfigurations] of entriesSortedByDistance) { + await registerAllConfigs(moduleRef, [...moduleConfigurations]); + } + } + async registerMiddlewareConfig(middlewareContainer, config, moduleKey, applicationRef) { + const { forRoutes } = config; + for (const routeInfo of forRoutes) { + await this.registerRouteMiddleware(middlewareContainer, routeInfo, config, moduleKey, applicationRef); + } + } + async registerRouteMiddleware(middlewareContainer, routeInfo, config, moduleKey, applicationRef) { + const middlewareCollection = [].concat(config.middleware); + const moduleRef = this.container.getModuleByKey(moduleKey); + for (const metatype of middlewareCollection) { + const collection = middlewareContainer.getMiddlewareCollection(moduleKey); + const instanceWrapper = collection.get(metatype); + if (isUndefined(instanceWrapper)) { + throw new RuntimeException(); + } + this.graphInspector.insertClassNode(moduleRef, instanceWrapper, "middleware"); + const middlewareDefinition = { + type: "middleware", + methodName: "use", + className: instanceWrapper.name, + classNodeId: instanceWrapper.id, + metadata: { + key: routeInfo.path, + path: routeInfo.path, + requestMethod: RequestMethod[routeInfo.method] ?? "ALL", + version: routeInfo.version + } + }; + this.graphInspector.insertEntrypointDefinition(middlewareDefinition, instanceWrapper.id); + await this.bindHandler(instanceWrapper, applicationRef, routeInfo, moduleRef, collection); + } + } + async bindHandler(wrapper, applicationRef, routeInfo, moduleRef, collection) { + const { instance, metatype } = wrapper; + if (isUndefined(instance?.use)) { + throw new InvalidMiddlewareException(metatype.name); + } + const isStatic = wrapper.isDependencyTreeStatic() && !wrapper.isTransient; + if (isStatic) { + const proxy = await this.createProxy(instance); + return this.registerHandler(applicationRef, routeInfo, proxy); + } + const isTreeDurable = wrapper.isDependencyTreeDurable(); + let exceptionsHandler; + await this.registerHandler(applicationRef, routeInfo, async (req, res, next) => { + try { + const contextId = this.getContextId(req, isTreeDurable); + const contextInstance = await this.injector.loadPerContext(instance, moduleRef, collection, contextId); + const proxy = await this.createProxy(contextInstance, contextId); + return proxy(req, res, next); + } catch (err) { + exceptionsHandler ??= this.routerExceptionFilter.create(instance, instance.use, void 0); + const host = new ExecutionContextHost([req, res, next]); + exceptionsHandler.next(err, host); + } + }); + } + async createProxy(instance, contextId = STATIC_CONTEXT) { + const exceptionsHandler = this.routerExceptionFilter.create(instance, instance.use, void 0, contextId); + const middleware = instance.use.bind(instance); + return this.routerProxy.createProxy(middleware, exceptionsHandler); + } + async registerHandler(applicationRef, routeInfo, proxy) { + const { method } = routeInfo; + const paths = this.routeInfoPathExtractor.extractPathsFrom(routeInfo); + const isMethodAll = isRequestMethodAll(method); + const requestMethod = RequestMethod[method]; + const router = await applicationRef.createMiddlewareFactory(method); + const middlewareFunction = isMethodAll ? proxy : (req, res, next) => { + const actualRequestMethod = applicationRef.getRequestMethod?.(req); + if (actualRequestMethod === requestMethod || actualRequestMethod === RequestMethod[RequestMethod.HEAD] && requestMethod === RequestMethod[RequestMethod.GET]) { + return proxy(req, res, next); + } + return next(); + }; + const handledRequests = /* @__PURE__ */ new WeakSet(); + const handler = /* @__PURE__ */ __name((req, res, next) => { + if (handledRequests.has(req)) { + return next(); + } + handledRequests.add(req); + return middlewareFunction(req, res, next); + }, "handler"); + const pathsToApplyMiddleware = paths.map((path) => path || "/").sort((a, b) => Number(b === "/") - Number(a === "/")); + pathsToApplyMiddleware.forEach((path) => router(path, handler)); + } + getContextId(request, isTreeDurable) { + const contextId = ContextIdFactory.getByRequest(request); + if (!request[REQUEST_CONTEXT_ID]) { + Object.defineProperty(request, REQUEST_CONTEXT_ID, { + value: contextId, + enumerable: false, + writable: false, + configurable: false + }); + const requestProviderValue = isTreeDurable ? contextId.payload : Object.assign(request, contextId.payload); + this.container.registerRequestProvider(requestProviderValue, contextId); + } + return contextId; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-instances-grouped-by-hierarchy-level.js +function getInstancesGroupedByHierarchyLevel(...collections) { + const groupedByHierarchyLevel = /* @__PURE__ */ new Map(); + for (const collection of collections) { + for (const [_, wrapper] of collection) { + if (!wrapper.isDependencyTreeStatic()) { + continue; + } + const level = wrapper.hierarchyLevel; + if (!groupedByHierarchyLevel.has(level)) { + groupedByHierarchyLevel.set(level, []); + } + const byHierarchyLevelGroup = groupedByHierarchyLevel.get(level); + if (wrapper.isTransient) { + const staticTransientInstances = wrapper.getStaticTransientInstances().filter((i) => !!i).map((i) => i.instance); + byHierarchyLevelGroup.push(...staticTransientInstances); + continue; + } + if (wrapper.instance) { + byHierarchyLevelGroup.push(wrapper.instance); + } + } + } + return groupedByHierarchyLevel; +} +var init_get_instances_grouped_by_hierarchy_level = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-instances-grouped-by-hierarchy-level.js"() { + __name(getInstancesGroupedByHierarchyLevel, "getInstancesGroupedByHierarchyLevel"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-sorted-hierarchy-levels.js +function getSortedHierarchyLevels(groups, order = "ASC") { + const comparator = order === "ASC" ? (a, b) => a - b : (a, b) => b - a; + const levels = Array.from(groups.keys()).sort(comparator); + return levels; +} +var init_get_sorted_hierarchy_levels = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/utils/get-sorted-hierarchy-levels.js"() { + __name(getSortedHierarchyLevels, "getSortedHierarchyLevels"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-bootstrap.hook.js +function hasOnAppBootstrapHook(instance) { + return isFunction(instance.onApplicationBootstrap); +} +function callOperator(instances) { + return (0, import_iterare12.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnAppBootstrapHook).map(async (instance) => instance.onApplicationBootstrap()).toArray(); +} +async function callModuleBootstrapHook(moduleRef) { + const providers = moduleRef.getNonAliasProviders(); + const [_, moduleClassHost] = providers.shift(); + const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers); + const levels = getSortedHierarchyLevels(groupedInstances); + for (const level of levels) { + await Promise.all(callOperator(groupedInstances.get(level))); + } + const moduleClassInstance = moduleClassHost.instance; + if (moduleClassInstance && hasOnAppBootstrapHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { + await moduleClassInstance.onApplicationBootstrap(); + } +} +var import_iterare12; +var init_on_app_bootstrap_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-bootstrap.hook.js"() { + init_internal(); + import_iterare12 = __toESM(require_lib(), 1); + init_get_instances_grouped_by_hierarchy_level(); + init_get_sorted_hierarchy_levels(); + __name(hasOnAppBootstrapHook, "hasOnAppBootstrapHook"); + __name(callOperator, "callOperator"); + __name(callModuleBootstrapHook, "callModuleBootstrapHook"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-shutdown.hook.js +function hasOnAppShutdownHook(instance) { + return isFunction(instance.onApplicationShutdown); +} +function callOperator2(instances, signal) { + return (0, import_iterare13.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnAppShutdownHook).map(async (instance) => instance.onApplicationShutdown(signal)).toArray(); +} +async function callAppShutdownHook(moduleRef, signal) { + const providers = moduleRef.getNonAliasProviders(); + const [_, moduleClassHost] = providers.shift(); + const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers); + const levels = getSortedHierarchyLevels(groupedInstances, "DESC"); + for (const level of levels) { + const results = await Promise.allSettled(callOperator2(groupedInstances.get(level), signal)); + results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack)); + } + const moduleClassInstance = moduleClassHost.instance; + if (moduleClassInstance && hasOnAppShutdownHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { + try { + await moduleClassInstance.onApplicationShutdown(signal); + } catch (err) { + Logger.error(err, err?.stack); + } + } +} +var import_iterare13; +var init_on_app_shutdown_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-app-shutdown.hook.js"() { + init_common(); + init_internal(); + import_iterare13 = __toESM(require_lib(), 1); + init_get_instances_grouped_by_hierarchy_level(); + init_get_sorted_hierarchy_levels(); + __name(hasOnAppShutdownHook, "hasOnAppShutdownHook"); + __name(callOperator2, "callOperator"); + __name(callAppShutdownHook, "callAppShutdownHook"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-destroy.hook.js +function hasOnModuleDestroyHook(instance) { + return isFunction(instance.onModuleDestroy); +} +function callOperator3(instances) { + return (0, import_iterare14.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnModuleDestroyHook).map(async (instance) => instance.onModuleDestroy()).toArray(); +} +async function callModuleDestroyHook(moduleRef) { + const providers = moduleRef.getNonAliasProviders(); + const [_, moduleClassHost] = providers.shift(); + const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers); + const levels = getSortedHierarchyLevels(groupedInstances, "DESC"); + for (const level of levels) { + const results = await Promise.allSettled(callOperator3(groupedInstances.get(level))); + results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack)); + } + const moduleClassInstance = moduleClassHost.instance; + if (moduleClassInstance && hasOnModuleDestroyHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { + try { + await moduleClassInstance.onModuleDestroy(); + } catch (err) { + Logger.error(err, err?.stack); + } + } +} +var import_iterare14; +var init_on_module_destroy_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-destroy.hook.js"() { + init_common(); + init_internal(); + import_iterare14 = __toESM(require_lib(), 1); + init_get_instances_grouped_by_hierarchy_level(); + init_get_sorted_hierarchy_levels(); + __name(hasOnModuleDestroyHook, "hasOnModuleDestroyHook"); + __name(callOperator3, "callOperator"); + __name(callModuleDestroyHook, "callModuleDestroyHook"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-init.hook.js +function hasOnModuleInitHook(instance) { + return isFunction(instance.onModuleInit); +} +function callOperator4(instances) { + return (0, import_iterare15.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasOnModuleInitHook).map(async (instance) => instance.onModuleInit()).toArray(); +} +async function callModuleInitHook(moduleRef) { + const providers = moduleRef.getNonAliasProviders(); + const [_, moduleClassHost] = providers.shift(); + const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers); + const levels = getSortedHierarchyLevels(groupedInstances); + for (const level of levels) { + await Promise.all(callOperator4(groupedInstances.get(level))); + } + const moduleClassInstance = moduleClassHost.instance; + if (moduleClassInstance && hasOnModuleInitHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { + await moduleClassInstance.onModuleInit(); + } +} +var import_iterare15; +var init_on_module_init_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/on-module-init.hook.js"() { + init_internal(); + import_iterare15 = __toESM(require_lib(), 1); + init_get_instances_grouped_by_hierarchy_level(); + init_get_sorted_hierarchy_levels(); + __name(hasOnModuleInitHook, "hasOnModuleInitHook"); + __name(callOperator4, "callOperator"); + __name(callModuleInitHook, "callModuleInitHook"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/before-app-shutdown.hook.js +function hasBeforeApplicationShutdownHook(instance) { + return isFunction(instance.beforeApplicationShutdown); +} +function callOperator5(instances, signal) { + return (0, import_iterare16.iterate)(instances).filter((instance) => !isNil(instance)).filter(hasBeforeApplicationShutdownHook).map(async (instance) => instance.beforeApplicationShutdown(signal)).toArray(); +} +async function callBeforeAppShutdownHook(moduleRef, signal) { + const providers = moduleRef.getNonAliasProviders(); + const [_, moduleClassHost] = providers.shift(); + const groupedInstances = getInstancesGroupedByHierarchyLevel(moduleRef.controllers, moduleRef.injectables, moduleRef.middlewares, providers); + const levels = getSortedHierarchyLevels(groupedInstances, "DESC"); + for (const level of levels) { + const results = await Promise.allSettled(callOperator5(groupedInstances.get(level), signal)); + results.filter((result) => result.status === "rejected").forEach((result) => Logger.error(result.reason, result.reason?.stack)); + } + const moduleClassInstance = moduleClassHost.instance; + if (moduleClassInstance && hasBeforeApplicationShutdownHook(moduleClassInstance) && moduleClassHost.isDependencyTreeStatic()) { + try { + await moduleClassInstance.beforeApplicationShutdown(signal); + } catch (err) { + Logger.error(err, err?.stack); + } + } +} +var import_iterare16; +var init_before_app_shutdown_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/before-app-shutdown.hook.js"() { + init_common(); + init_internal(); + import_iterare16 = __toESM(require_lib(), 1); + init_get_instances_grouped_by_hierarchy_level(); + init_get_sorted_hierarchy_levels(); + __name(hasBeforeApplicationShutdownHook, "hasBeforeApplicationShutdownHook"); + __name(callOperator5, "callOperator"); + __name(callBeforeAppShutdownHook, "callBeforeAppShutdownHook"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/index.js +var init_hooks = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/hooks/index.js"() { + init_on_app_bootstrap_hook(); + init_on_app_shutdown_hook(); + init_on_module_destroy_hook(); + init_on_module_init_hook(); + init_before_app_shutdown_hook(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application-context.js +var NestApplicationContext; +var init_nest_application_context = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application-context.js"() { + init_common(); + init_constants2(); + init_exceptions2(); + init_context_id_factory(); + init_hooks(); + init_abstract_instance_resolver(); + init_injector(); + init_instance_links_host(); + init_internal(); + NestApplicationContext = class _NestApplicationContext extends AbstractInstanceResolver { + static { + __name(this, "NestApplicationContext"); + } + container; + appOptions; + contextModule; + scope; + isInitialized = false; + injector; + logger = new Logger(_NestApplicationContext.name, { + timestamp: true + }); + shouldFlushLogsOnOverride = false; + shutdownCleanupRefs = /* @__PURE__ */ new Map(); + moduleCompiler; + shutdownPromise; + receivedSignal = false; + _instanceLinksHost; + _moduleRefsForHooksByDistance; + initializationPromise; + get instanceLinksHost() { + if (!this._instanceLinksHost) { + this._instanceLinksHost = new InstanceLinksHost(this.container); + } + return this._instanceLinksHost; + } + constructor(container, appOptions = {}, contextModule = null, scope = new Array()) { + super(); + this.container = container; + this.appOptions = appOptions; + this.contextModule = contextModule; + this.scope = scope; + this.injector = new Injector(); + this.moduleCompiler = container.getModuleCompiler(); + if (this.appOptions.preview) { + this.printInPreviewModeWarning(); + } + } + selectContextModule() { + const modules = this.container.getModules().values(); + this.contextModule = modules.next().value; + } + /** + * Allows navigating through the modules tree, for example, to pull out a specific instance from the selected module. + * @returns {INestApplicationContext} + */ + select(moduleType, selectOptions) { + const modulesContainer = this.container.getModules(); + const contextModuleCtor = this.contextModule.metatype; + const scope = this.scope.concat(contextModuleCtor); + const moduleTokenFactory = this.container.getModuleTokenFactory(); + const { type, dynamicMetadata } = this.moduleCompiler.extractMetadata(moduleType); + const token = dynamicMetadata ? moduleTokenFactory.createForDynamic(type, dynamicMetadata, moduleType) : moduleTokenFactory.createForStatic(type, moduleType); + const selectedModule = modulesContainer.get(token); + if (!selectedModule) { + throw new UnknownModuleException(type.name); + } + const options = typeof selectOptions?.abortOnError !== "undefined" ? { + ...this.appOptions, + ...selectOptions + } : this.appOptions; + return new _NestApplicationContext(this.container, options, selectedModule, scope); + } + /** + * Retrieves an instance (or a list of instances) of either injectable or controller, otherwise, throws exception. + * @returns {TResult | Array} + */ + get(typeOrToken, options = { strict: false }) { + return !(options && options.strict) ? this.find(typeOrToken, options) : this.find(typeOrToken, { + moduleId: this.contextModule?.id, + each: options.each + }); + } + /** + * Resolves transient or request-scoped instance (or a list of instances) of either injectable or controller, otherwise, throws exception. + * @returns {Promise>} + */ + resolve(typeOrToken, contextId = createContextId(), options = { strict: false }) { + return this.resolvePerContext(typeOrToken, this.contextModule, contextId, options); + } + /** + * Registers the request/context object for a given context ID (DI container sub-tree). + * @returns {void} + */ + registerRequestByContextId(request, contextId) { + this.container.registerRequestProvider(request, contextId); + } + /** + * Initializes the Nest application. + * Calls the Nest lifecycle events. + * + * @returns {Promise} The NestApplicationContext instance as Promise + */ + async init() { + if (this.isInitialized) { + return this; + } + this.initializationPromise = this.callInitHook().then(() => this.callBootstrapHook()); + try { + await this.initializationPromise; + } catch (err) { + this.flushLogsIfAutoFlushEnabled(); + throw err; + } + this.isInitialized = true; + return this; + } + /** + * Terminates the application + * @returns {Promise} + */ + async close(signal) { + await this.shutdown(signal); + } + /** + * Runs the shutdown sequence, at most once per cycle. Callers that arrive + * while a shutdown is already in flight - a process signal delivered during + * an explicit `close()`, or the other way round - await the very same + * promise instead of starting a second, concurrent teardown. + * + * @param {string} [signal] The system signal that triggered the shutdown + * @returns {Promise} + */ + shutdown(signal) { + this.shutdownPromise ??= this.runShutdownSequence(signal).finally(() => { + this.shutdownPromise = void 0; + }); + return this.shutdownPromise; + } + async runShutdownSequence(signal) { + await this.initializationPromise?.catch(() => void 0); + await this.prepareClose(); + await this.callDestroyHook(); + await this.callBeforeShutdownHook(signal); + await this.dispose(); + await this.callShutdownHook(signal); + this.unsubscribeFromProcessSignals(); + } + /** + * Sets custom logger service. + * Flushes buffered logs if auto flush is on. + * @returns {void} + */ + useLogger(logger3) { + Logger.overrideLogger(logger3); + if (this.shouldFlushLogsOnOverride) { + this.flushLogs(); + } + } + /** + * Prints buffered logs and detaches buffer. + * @returns {void} + */ + flushLogs() { + Logger.flush(); + } + flushLogsIfAutoFlushEnabled() { + if (this.appOptions?.autoFlushLogs ?? true) { + this.flushLogs(); + } + } + /** + * Define that it must flush logs right after defining a custom logger. + */ + flushLogsOnOverride() { + this.shouldFlushLogsOnOverride = true; + } + /** + * Enables the usage of shutdown hooks. Will call the + * `onApplicationShutdown` function of a provider if the + * process receives a shutdown signal. + * + * Repeated calls are idempotent per signal. Shutdown hooks can be + * re-enabled after the application context has been closed. + * + * @param {ShutdownSignal[]} [signals=[]] The system signals it should listen to + * @param {ShutdownHooksOptions} [options={}] Options for configuring shutdown hooks behavior + * + * @returns {this} The Nest application context instance + */ + enableShutdownHooks(signals = [], options = {}) { + if (!signals || isEmptyArray(signals)) { + signals = Object.values(ShutdownSignal); + } + signals = Array.from(new Set(signals.map((signal) => signal.toString().toUpperCase().trim()))).filter((signal) => !this.shutdownCleanupRefs.has(signal)); + this.listenToShutdownSignals(signals, options); + return this; + } + async prepareClose() { + return Promise.resolve(); + } + async dispose() { + return Promise.resolve(); + } + /** + * Listens to shutdown signals by listening to + * process events + * + * @param {string[]} signals The system signals it should listen to + * @param {ShutdownHooksOptions} options Options for configuring shutdown hooks behavior + */ + listenToShutdownSignals(signals, options = {}) { + const cleanup = /* @__PURE__ */ __name(async (signal) => { + try { + if (this.receivedSignal) { + return; + } + this.receivedSignal = true; + await this.shutdown(signal).finally(() => { + this.receivedSignal = false; + }); + if (options.useProcessExit) { + process.exit(0); + } else { + process.kill(process.pid, signal); + } + } catch (err) { + Logger.error(MESSAGES.ERROR_DURING_SHUTDOWN, err?.stack, _NestApplicationContext.name); + process.exit(1); + } + }, "cleanup"); + signals.forEach((signal) => { + this.shutdownCleanupRefs.set(signal, cleanup); + process.on(signal, cleanup); + }); + } + /** + * Unsubscribes from shutdown signals (process events) + */ + unsubscribeFromProcessSignals() { + this.shutdownCleanupRefs.forEach((cleanup, signal) => { + process.removeListener(signal, cleanup); + }); + this.shutdownCleanupRefs.clear(); + } + /** + * Calls the `onModuleInit` function on the registered + * modules and its children. + */ + async callInitHook() { + const modulesSortedByDistance = this.getModulesToTriggerHooksOn(); + for (const module of modulesSortedByDistance) { + await callModuleInitHook(module); + } + } + /** + * Calls the `onModuleDestroy` function on the registered + * modules and its children. + */ + async callDestroyHook() { + const modulesSortedByDistance = [ + ...this.getModulesToTriggerHooksOn() + ].reverse(); + for (const module of modulesSortedByDistance) { + await callModuleDestroyHook(module); + } + } + /** + * Calls the `onApplicationBootstrap` function on the registered + * modules and its children. + */ + async callBootstrapHook() { + const modulesSortedByDistance = this.getModulesToTriggerHooksOn(); + for (const module of modulesSortedByDistance) { + await callModuleBootstrapHook(module); + } + } + /** + * Calls the `onApplicationShutdown` function on the registered + * modules and children. + */ + async callShutdownHook(signal) { + const modulesSortedByDistance = [ + ...this.getModulesToTriggerHooksOn() + ].reverse(); + for (const module of modulesSortedByDistance) { + await callAppShutdownHook(module, signal); + } + } + /** + * Calls the `beforeApplicationShutdown` function on the registered + * modules and children. + */ + async callBeforeShutdownHook(signal) { + const modulesSortedByDistance = [ + ...this.getModulesToTriggerHooksOn() + ].reverse(); + for (const module of modulesSortedByDistance) { + await callBeforeAppShutdownHook(module, signal); + } + } + assertNotInPreviewMode(methodName) { + if (this.appOptions.preview) { + const error = `Calling the "${methodName}" in the preview mode is not supported.`; + this.logger.error(error); + throw new Error(error); + } + } + getModulesToTriggerHooksOn() { + if (this._moduleRefsForHooksByDistance) { + return this._moduleRefsForHooksByDistance; + } + const modulesContainer = this.container.getModules(); + const compareFn = /* @__PURE__ */ __name((a, b) => b.distance - a.distance, "compareFn"); + const modulesSortedByDistance = Array.from(modulesContainer.values()).sort(compareFn); + this._moduleRefsForHooksByDistance = this.appOptions?.preview ? modulesSortedByDistance.filter((moduleRef) => moduleRef.initOnPreview) : modulesSortedByDistance; + return this._moduleRefsForHooksByDistance; + } + printInPreviewModeWarning() { + this.logger.warn("------------------------------------------------"); + this.logger.warn("Application is running in the PREVIEW mode!"); + this.logger.warn("Providers/controllers will not be instantiated."); + this.logger.warn("------------------------------------------------"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/messages.js +var MODULE_INIT_MESSAGE, ROUTE_MAPPED_MESSAGE, VERSIONED_ROUTE_MAPPED_MESSAGE, CONTROLLER_MAPPING_MESSAGE, VERSIONED_CONTROLLER_MAPPING_MESSAGE; +var init_messages2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/messages.js"() { + init_common(); + MODULE_INIT_MESSAGE = /* @__PURE__ */ __name((text, module) => `${module} dependencies initialized`, "MODULE_INIT_MESSAGE"); + ROUTE_MAPPED_MESSAGE = /* @__PURE__ */ __name((path, method) => `Mapped {${path}, ${RequestMethod[method]}} route`, "ROUTE_MAPPED_MESSAGE"); + VERSIONED_ROUTE_MAPPED_MESSAGE = /* @__PURE__ */ __name((path, method, version) => { + const controllerVersions = Array.isArray(version) ? version : [version]; + const versions = controllerVersions.map((version2) => version2 === VERSION_NEUTRAL ? "Neutral" : version2).join(","); + return `Mapped {${path}, ${RequestMethod[method]}} (version: ${versions}) route`; + }, "VERSIONED_ROUTE_MAPPED_MESSAGE"); + CONTROLLER_MAPPING_MESSAGE = /* @__PURE__ */ __name((name, path) => `${name} {${path}}:`, "CONTROLLER_MAPPING_MESSAGE"); + VERSIONED_CONTROLLER_MAPPING_MESSAGE = /* @__PURE__ */ __name((name, path, version) => { + const controllerVersions = Array.isArray(version) ? version : [version]; + const versions = controllerVersions.map((version2) => version2 === VERSION_NEUTRAL ? "Neutral" : version2).join(","); + return `${name} {${path}} (version: ${versions}):`; + }, "VERSIONED_CONTROLLER_MAPPING_MESSAGE"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-request-mapping.exception.js +var UnknownRequestMappingException; +var init_unknown_request_mapping_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/unknown-request-mapping.exception.js"() { + init_runtime_exception(); + init_messages(); + UnknownRequestMappingException = class extends RuntimeException { + static { + __name(this, "UnknownRequestMappingException"); + } + constructor(metatype) { + super(UNKNOWN_REQUEST_MAPPING(metatype)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/router-method-factory.js +var REQUEST_METHOD_MAP, RouterMethodFactory; +var init_router_method_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/router-method-factory.js"() { + init_common(); + REQUEST_METHOD_MAP = { + [RequestMethod.GET]: "get", + [RequestMethod.POST]: "post", + [RequestMethod.PUT]: "put", + [RequestMethod.DELETE]: "delete", + [RequestMethod.PATCH]: "patch", + [RequestMethod.ALL]: "all", + [RequestMethod.OPTIONS]: "options", + [RequestMethod.HEAD]: "head", + [RequestMethod.SEARCH]: "search", + [RequestMethod.PROPFIND]: "propfind", + [RequestMethod.PROPPATCH]: "proppatch", + [RequestMethod.MKCOL]: "mkcol", + [RequestMethod.COPY]: "copy", + [RequestMethod.MOVE]: "move", + [RequestMethod.LOCK]: "lock", + [RequestMethod.UNLOCK]: "unlock", + [RequestMethod.QUERY]: "query" + }; + RouterMethodFactory = class { + static { + __name(this, "RouterMethodFactory"); + } + get(target, requestMethod) { + const methodName = REQUEST_METHOD_MAP[requestMethod]; + const method = target[methodName]; + if (!method) { + return target.use; + } + return method; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/parse-cookie-header.js +function parseCookieHeader(header) { + const cookies = /* @__PURE__ */ Object.create(null); + if (!header) { + return cookies; + } + const source = Array.isArray(header) ? header.join("; ") : String(header); + for (const pair of source.split(";")) { + const eqIndex = pair.indexOf("="); + if (eqIndex === -1) { + continue; + } + const name = trimWhitespace(pair.slice(0, eqIndex)); + if (!name || name in cookies) { + continue; + } + let value = trimWhitespace(pair.slice(eqIndex + 1)); + if (value.length >= 2 && value[0] === '"' && value.endsWith('"')) { + value = value.slice(1, -1); + } + cookies[name] = safeDecode(value); + } + return cookies; +} +function trimWhitespace(input) { + let start = 0; + let end = input.length; + while (start < end && isWhitespace(input.charCodeAt(start))) { + start++; + } + while (end > start && isWhitespace(input.charCodeAt(end - 1))) { + end--; + } + return input.slice(start, end); +} +function isWhitespace(charCode) { + return charCode === 32 || charCode === 9; +} +function safeDecode(value) { + if (!value.includes("%")) { + return value; + } + try { + return decodeURIComponent(value); + } catch { + return value; + } +} +var init_parse_cookie_header = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/parse-cookie-header.js"() { + __name(parseCookieHeader, "parseCookieHeader"); + __name(trimWhitespace, "trimWhitespace"); + __name(isWhitespace, "isWhitespace"); + __name(safeDecode, "safeDecode"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/request-cookies.js +function getParsedCookieHeader(req) { + let cookies = parsedCookiesCache.get(req); + if (!cookies) { + cookies = parseCookieHeader(req.headers?.cookie); + parsedCookiesCache.set(req, cookies); + } + return cookies; +} +function getRequestCookies(req) { + if (isObject(req.cookies)) { + return req.cookies; + } + return getParsedCookieHeader(req); +} +function getRequestCookie(req, name) { + const cookies = getRequestCookies(req); + return Object.prototype.hasOwnProperty.call(cookies, name) ? cookies[name] : void 0; +} +function getRequestSignedCookies(req, signer) { + const signedCookies = /* @__PURE__ */ Object.create(null); + if (signer) { + const cookies = getParsedCookieHeader(req); + for (const name of Object.keys(cookies)) { + const value = signer.unsign(cookies[name]); + if (value !== void 0) { + signedCookies[name] = value; + } + } + return signedCookies; + } + if (isObject(req.signedCookies)) { + for (const [name, value] of Object.entries(req.signedCookies)) { + if (value !== false) { + signedCookies[name] = value; + } + } + return signedCookies; + } + throw new Error('Cannot read signed cookies: no cookie secret is configured. Pass "cookies: { secret }" to NestFactory.create().'); +} +function getRequestSignedCookie(req, name, signer) { + if (signer) { + const value = getParsedCookieHeader(req)[name]; + return value === void 0 ? void 0 : signer.unsign(value); + } + return getRequestSignedCookies(req, signer)[name]; +} +var parsedCookiesCache; +var init_request_cookies = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/cookies/request-cookies.js"() { + init_internal(); + init_parse_cookie_header(); + parsedCookiesCache = /* @__PURE__ */ new WeakMap(); + __name(getParsedCookieHeader, "getParsedCookieHeader"); + __name(getRequestCookies, "getRequestCookies"); + __name(getRequestCookie, "getRequestCookie"); + __name(getRequestSignedCookies, "getRequestSignedCookies"); + __name(getRequestSignedCookie, "getRequestSignedCookie"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-params-factory.js +var getBodyProperty, RouteParamsFactory; +var init_route_params_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-params-factory.js"() { + init_internal(); + init_request_cookies(); + getBodyProperty = /* @__PURE__ */ __name((body, key) => isObject(body) && !Array.isArray(body) && !ArrayBuffer.isView(body) || !isNil(body) && Object.hasOwn(Object(body), key) ? body[key] : void 0, "getBodyProperty"); + RouteParamsFactory = class { + static { + __name(this, "RouteParamsFactory"); + } + config; + constructor(config) { + this.config = config; + } + exchangeKeyForValue(key, data, { req, res, next }) { + switch (key) { + case RouteParamtypes.NEXT: + return next; + case RouteParamtypes.REQUEST: + return req; + case RouteParamtypes.RESPONSE: + return res; + case RouteParamtypes.BODY: + return data && req.body ? getBodyProperty(req.body, data) : req.body; + case RouteParamtypes.RAW_BODY: + return req.rawBody; + case RouteParamtypes.PARAM: + return data ? req.params[data] : req.params; + case RouteParamtypes.HOST: + const hosts = req.hosts || {}; + return data ? hosts[data] : hosts; + case RouteParamtypes.QUERY: + return data ? req.query[data] : req.query; + case RouteParamtypes.HEADERS: + return data ? req.headers[data.toLowerCase()] : req.headers; + case RouteParamtypes.SESSION: + return req.session; + case RouteParamtypes.FILE: + return req[data || "file"]; + case RouteParamtypes.FILES: + return req.files; + case RouteParamtypes.IP: + return req.ip; + case RouteParamtypes.COOKIES: + return data ? getRequestCookie(req, data) : getRequestCookies(req); + case RouteParamtypes.SIGNED_COOKIES: { + const signer = this.config?.getCookieSigner(); + return data ? getRequestSignedCookie(req, data, signer) : getRequestSignedCookies(req, signer); + } + default: + return null; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/rejected-by-pipes.js +function markRejectedByPipes(request) { + if (typeof request === "object" && request !== null) { + rejectedRequests.add(request); + } +} +function isRejectedByPipes(request) { + return rejectedRequests.has(request); +} +var rejectedRequests; +var init_rejected_by_pipes = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/rejected-by-pipes.js"() { + rejectedRequests = /* @__PURE__ */ new WeakSet(); + __name(markRejectedByPipes, "markRejectedByPipes"); + __name(isRejectedByPipes, "isRejectedByPipes"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/sse-stream.js +import { Transform } from "stream"; +function serializeSseLines(value, prefix) { + return value.split(/\r\n|\r|\n/).map((line) => `${prefix}${line} +`).join(""); +} +function toDataString(data) { + if (isObject(data)) { + return toDataString(JSON.stringify(data)); + } + return serializeSseLines(data, "data: "); +} +function toCommentString(comment) { + return serializeSseLines(comment, ": "); +} +function omitHeaders(headers, names) { + const omitted = new Set(names.map((name) => name.toLowerCase())); + return Object.fromEntries(Object.entries(headers ?? {}).filter(([name]) => !omitted.has(name.toLowerCase()))); +} +function formatMessage(message) { + const sanitize = /* @__PURE__ */ __name((val) => String(val).replace(/[\r\n]/g, ""), "sanitize"); + let data = message.type ? `event: ${sanitize(message.type)} +` : ""; + data += !isNil(message.id) ? `id: ${sanitize(message.id)} +` : ""; + data += !isNil(message.retry) ? `retry: ${sanitize(message.retry)} +` : ""; + data += !isNil(message.comment) ? toCommentString(message.comment) : ""; + data += !isNil(message.data) ? toDataString(message.data) : ""; + return data + "\n"; +} +function isCommentOnly(message) { + return !isNil(message.comment) && isUndefined(message.data) && isUndefined(message.type) && isUndefined(message.retry); +} +var SseStream; +var init_sse_stream = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/sse-stream.js"() { + init_internal(); + __name(serializeSseLines, "serializeSseLines"); + __name(toDataString, "toDataString"); + __name(toCommentString, "toCommentString"); + __name(omitHeaders, "omitHeaders"); + __name(formatMessage, "formatMessage"); + __name(isCommentOnly, "isCommentOnly"); + SseStream = class extends Transform { + static { + __name(this, "SseStream"); + } + lastEventId = null; + _headersCommitted = false; + _destination = null; + _statusCode; + _additionalHeaders; + _isHttp2; + constructor(req) { + super({ objectMode: true }); + this._isHttp2 = (req?.httpVersionMajor ?? 1) > 1; + if (req && req.socket && !this._isHttp2) { + req.socket.setKeepAlive(true); + req.socket.setNoDelay(true); + req.socket.setTimeout(0); + } + } + get headersCommitted() { + return this._headersCommitted; + } + pipe(destination, options) { + this._destination = destination; + this._statusCode = options?.statusCode; + this._additionalHeaders = options?.additionalHeaders; + return super.pipe(destination, options); + } + /** + * Writes SSE headers to the destination if they have not been sent yet. + * The sources are read here, not in `pipe()`, to pick up the values that + * interceptors and handlers set after piping. + */ + commitHeaders() { + if (this._headersCommitted || !this._destination || this._destination.writableEnded) { + return; + } + const statusCode = this.readStatusCode(); + const additionalHeaders = this.readAdditionalHeaders(); + if (this._destination.writeHead) { + const sseHeaders = { + // See https://github.com/dunglas/mercure/blob/main/subscribe.go#L347-L362 + "Content-Type": "text/event-stream", + // Hop-by-hop header, forbidden in HTTP/2 + // https://www.rfc-editor.org/rfc/rfc9113#section-8.2.2 + ...!this._isHttp2 && { Connection: "keep-alive" }, + // Disable cache, even for old browsers and proxies + "Cache-Control": "private, no-cache, no-store, must-revalidate, max-age=0, no-transform", + Pragma: "no-cache", + Expires: "0", + // NGINX support https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/#x-accel-buffering + "X-Accel-Buffering": "no" + }; + this._destination.writeHead(statusCode, { + ...omitHeaders(additionalHeaders, Object.keys(sseHeaders)), + ...sseHeaders + }); + this._destination.flushHeaders?.(); + } + this._headersCommitted = true; + this._destination.write("\n"); + } + readStatusCode() { + const source = this._statusCode; + return (isFunction(source) ? source() : source) ?? 200; + } + readAdditionalHeaders() { + const source = this._additionalHeaders; + return isFunction(source) ? source() : source; + } + _transform(message, encoding, callback) { + this.commitHeaders(); + this.push(isString(message) ? message : formatMessage(message)); + callback(); + } + /** + * Calls `.write` but handles the drain if needed + */ + writeMessage(message, cb) { + let event = message; + if (isNil(message.id) && !isCommentOnly(message)) { + this.lastEventId++; + event = { + type: message.type, + id: this.lastEventId.toString(), + retry: message.retry, + comment: message.comment, + data: message.data + }; + } + let chunk; + try { + chunk = formatMessage(event); + } catch (err) { + process.nextTick(cb, err); + return; + } + if (!this.write(chunk, "utf-8")) { + this.once("drain", cb); + } else { + process.nextTick(cb); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-response-controller.js +function getDataLength(message) { + return (isString(message.data) ? message.data.length : 0) + (isString(message.comment) ? message.comment.length : 0); +} +var import_rxjs7, import_operators2, DEFAULT_MAX_PENDING_DATA_LENGTH, RouterResponseController; +var init_router_response_controller = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-response-controller.js"() { + init_common(); + import_rxjs7 = __toESM(require_cjs(), 1); + import_operators2 = __toESM(require_operators(), 1); + init_constants2(); + init_base_exception_filter(); + init_sse_stream(); + init_internal(); + DEFAULT_MAX_PENDING_DATA_LENGTH = 4 * 1024 * 1024; + __name(getDataLength, "getDataLength"); + RouterResponseController = class _RouterResponseController { + static { + __name(this, "RouterResponseController"); + } + applicationRef; + logger = new Logger(_RouterResponseController.name); + exceptionFilter = new BaseExceptionFilter(); + constructor(applicationRef) { + this.applicationRef = applicationRef; + } + async apply(result, response, httpStatusCode) { + return this.applicationRef.reply(response, result, httpStatusCode); + } + async redirect(resultOrDeferred, response, redirectResponse) { + const result = await this.transformToResult(resultOrDeferred); + const statusCode = result && result.statusCode ? result.statusCode : redirectResponse.statusCode ? redirectResponse.statusCode : HttpStatus.FOUND; + const url = result && result.url ? result.url : redirectResponse.url; + return this.applicationRef.redirect(response, statusCode, url); + } + async render(resultOrDeferred, response, template) { + const result = await this.transformToResult(resultOrDeferred); + return this.applicationRef.render(response, template, result); + } + async transformToResult(resultOrDeferred) { + if ((0, import_rxjs7.isObservable)(resultOrDeferred)) { + return (0, import_rxjs7.lastValueFrom)(resultOrDeferred); + } + return resultOrDeferred; + } + getStatusByMethod(requestMethod) { + switch (requestMethod) { + case RequestMethod.POST: + return HttpStatus.CREATED; + default: + return HttpStatus.OK; + } + } + setHeaders(response, headers) { + headers.forEach(({ name, value }) => this.applicationRef.setHeader(response, name, typeof value === "function" ? value() : value)); + } + setStatus(response, statusCode) { + this.applicationRef.status(response, statusCode); + } + async sse(result, response, request, options) { + if (response.writableEnded) { + this.getOrCreateAbortController(request).abort(); + Promise.resolve(result).catch((err) => this.logger.error(err)); + return; + } + const stream = new SseStream(request); + const abortController = this.getOrCreateAbortController(request); + return new Promise((resolve, reject) => { + let settled = false; + let subscription; + const disconnectSource = request.socket ?? response; + const finalize = /* @__PURE__ */ __name(() => { + disconnectSource.removeListener("close", onClose); + abortController.abort(); + }, "finalize"); + const endStream = /* @__PURE__ */ __name(() => { + if (!stream.writableEnded) { + stream.end(); + } + }, "endStream"); + const fail2 = /* @__PURE__ */ __name((err) => { + settled = true; + finalize(); + subscription?.unsubscribe(); + stream.unpipe(response); + endStream(); + reject(err); + }, "fail"); + const commitHeaders = /* @__PURE__ */ __name(() => { + try { + stream.commitHeaders(); + return true; + } catch (err) { + fail2(err); + return false; + } + }, "commitHeaders"); + const onClose = /* @__PURE__ */ __name(() => { + if (settled) { + return; + } + settled = true; + finalize(); + subscription?.unsubscribe(); + endStream(); + response.end(); + resolve(); + }, "onClose"); + disconnectSource.once("close", onClose); + if (disconnectSource.destroyed) { + onClose(); + } + Promise.resolve(result).then((observableResult) => { + if (settled) { + return; + } + this.assertObservable(observableResult); + stream.pipe(response, { + additionalHeaders: options?.additionalHeaders, + statusCode: options?.statusCode ?? (() => response.statusCode) + }); + let pendingDataLength = 0; + const maxPendingDataLength = options?.maxPendingDataLength ?? DEFAULT_MAX_PENDING_DATA_LENGTH; + subscription = observableResult.pipe( + (0, import_operators2.map)((message) => { + const event = isObject(message) ? message : { data: message }; + return isNil(event.data) || isString(event.data) ? event : { + type: event.type, + id: event.id, + retry: event.retry, + comment: event.comment, + data: JSON.stringify(event.data) + }; + }), + // Events wait in concatMap() while the client is not reading. + // Past a limit, the connection is dropped as if the client had + // disconnected, rather than holding events for a client that may + // never read them. An EventSource then reconnects, and sends the + // id of the last event it received. A limit of 0, like Infinity, + // keeps every event. + (0, import_operators2.tap)((message) => { + pendingDataLength += getDataLength(message); + if (maxPendingDataLength && pendingDataLength > maxPendingDataLength && stream.writableNeedDrain) { + this.logger.warn(`The client is not reading its events: ${pendingDataLength} character(s) of event data are queued for it, which exceeds the maximum allowed ${maxPendingDataLength}`); + response.destroy?.(); + onClose(); + } + }), + (0, import_operators2.concatMap)((message) => new Promise((resolve2, reject2) => stream.writeMessage(message, (err) => { + pendingDataLength -= getDataLength(message); + return err ? reject2(err) : resolve2(); + }))), + (0, import_operators2.catchError)((err) => { + if (!stream.headersCommitted) { + throw err; + } + const data = err instanceof HttpException || this.exceptionFilter.isHttpError(err) ? err.message : MESSAGES.UNKNOWN_EXCEPTION_MESSAGE; + if (!(err instanceof IntrinsicException)) { + this.logger.error(err); + } + stream.writeMessage({ type: "error", data }, (writeError) => { + if (writeError) { + this.logger.error(writeError); + } + }); + return import_rxjs7.EMPTY; + }) + ).subscribe({ + error: /* @__PURE__ */ __name((err) => { + if (settled) { + return; + } + fail2(err); + }, "error"), + complete: /* @__PURE__ */ __name(() => { + if (settled) { + return; + } + if (!commitHeaders()) { + return; + } + settled = true; + finalize(); + endStream(); + resolve(); + }, "complete") + }); + if (settled) { + subscription.unsubscribe(); + } + setTimeout(() => { + if (settled || !commitHeaders()) { + return; + } + if (request.method === "HEAD") { + settled = true; + finalize(); + subscription?.unsubscribe(); + endStream(); + resolve(); + } + }, 0); + }).catch((err) => { + if (settled) { + return; + } + fail2(err); + }); + }); + } + assertObservable(value) { + if (!(0, import_rxjs7.isObservable)(value)) { + throw new ReferenceError("You must return an Observable stream to use Server-Sent Events (SSE)."); + } + } + getOrCreateAbortController(request) { + const carrier = request; + if (!carrier[SSE_ABORT_CONTROLLER]) { + carrier[SSE_ABORT_CONTROLLER] = new AbortController(); + } + return carrier[SSE_ABORT_CONTROLLER]; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-execution-context.js +var import_rxjs8, import_operators3, isThenable2, RouterExecutionContext; +var init_router_execution_context = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-execution-context.js"() { + init_common(); + init_internal(); + import_rxjs8 = __toESM(require_cjs(), 1); + import_operators3 = __toESM(require_operators(), 1); + init_guards(); + init_context_utils(); + init_destroy_streamable_file(); + init_handler_metadata_storage(); + init_constants3(); + init_rejected_by_pipes(); + init_router_response_controller(); + isThenable2 = /* @__PURE__ */ __name((value) => value !== null && (typeof value === "object" || typeof value === "function") && typeof value.then === "function", "isThenable"); + RouterExecutionContext = class { + static { + __name(this, "RouterExecutionContext"); + } + paramsFactory; + pipesContextCreator; + pipesConsumer; + guardsContextCreator; + guardsConsumer; + interceptorsContextCreator; + interceptorsConsumer; + applicationRef; + handlerMetadataStorage = new HandlerMetadataStorage(); + contextUtils = new ContextUtils(); + responseController; + constructor(paramsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, applicationRef) { + this.paramsFactory = paramsFactory; + this.pipesContextCreator = pipesContextCreator; + this.pipesConsumer = pipesConsumer; + this.guardsContextCreator = guardsContextCreator; + this.guardsConsumer = guardsConsumer; + this.interceptorsContextCreator = interceptorsContextCreator; + this.interceptorsConsumer = interceptorsConsumer; + this.applicationRef = applicationRef; + this.responseController = new RouterResponseController(applicationRef); + } + create(instance, callback, methodName, moduleKey, requestMethod, contextId = STATIC_CONTEXT, inquirerId) { + const contextType = "http"; + const { argsLength, fnHandleResponse, isSseHandler, paramtypes, getParamsMetadata, httpStatusCode, responseHeaders, hasCustomHeaders } = this.getMetadata(instance, callback, methodName, moduleKey, requestMethod, contextType); + const paramsOptions = this.contextUtils.mergeParamsMetatypes(getParamsMetadata(moduleKey, contextId, inquirerId), paramtypes); + const pipes = this.pipesContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const guards = this.guardsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const interceptors = this.interceptorsContextCreator.create(instance, callback, moduleKey, contextId, inquirerId); + const fnCanActivate = this.createGuardsFn(guards, instance, callback, contextType); + const fnApplyPipes = this.createPipesFn(pipes, paramsOptions); + const handler = /* @__PURE__ */ __name((args, req, res, next, handlerObservable$, handlerFiles = []) => async () => { + try { + const pendingPipes = fnApplyPipes && fnApplyPipes(args, req, res, next); + pendingPipes && await pendingPipes; + } catch (err) { + markRejectedByPipes(req); + throw err; + } + const result = callback.apply(instance, args); + if (!handlerObservable$) { + return result; + } + this.notifyIfObservable(result, handlerObservable$); + return (0, import_rxjs8.isObservable)(result) ? result.pipe((0, import_operators3.tap)((value) => value instanceof StreamableFile && handlerFiles.push(value))) : result; + }, "handler"); + return async (req, res, next) => { + const args = this.contextUtils.createNullArray(argsLength); + fnCanActivate && await fnCanActivate([req, res, next]); + this.responseController.setStatus(res, httpStatusCode); + hasCustomHeaders && this.responseController.setHeaders(res, responseHeaders); + if (isSseHandler) { + this.attachSseAbortSignal(req); + } + const handlerObservable$ = isSseHandler || isEmptyArray(interceptors) ? void 0 : new import_rxjs8.ReplaySubject(1); + const handlerFiles = []; + const resultOrDeferred = this.interceptorsConsumer.intercept(interceptors, [req, res, next], instance, callback, handler(args, req, res, next, handlerObservable$, handlerFiles), contextType); + const result = isSseHandler ? resultOrDeferred : await resultOrDeferred; + await fnHandleResponse(result, res, req, handlerObservable$, handlerFiles); + }; + } + getMetadata(instance, callback, methodName, moduleKey, requestMethod, contextType) { + const cacheMetadata = this.handlerMetadataStorage.get(instance, methodName); + if (cacheMetadata) { + return cacheMetadata; + } + const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, ROUTE_ARGS_METADATA) || {}; + const keys = Object.keys(metadata); + const argsLength = this.contextUtils.getArgumentsLength(keys, metadata); + const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName); + const contextFactory = this.contextUtils.getContextFactory(contextType, instance, callback); + const getParamsMetadata = /* @__PURE__ */ __name((moduleKey2, contextId = STATIC_CONTEXT, inquirerId) => this.exchangeKeysForValues(keys, metadata, moduleKey2, contextId, inquirerId, contextFactory), "getParamsMetadata"); + const paramsMetadata = getParamsMetadata(moduleKey); + const isResponseHandled = this.isResponseHandled(instance, methodName, paramsMetadata); + const httpRedirectResponse = this.reflectRedirect(callback); + const fnHandleResponse = this.createHandleResponseFn(callback, isResponseHandled, httpRedirectResponse); + const isSseHandler = !!this.reflectSse(callback); + const httpCode = this.reflectHttpStatusCode(callback); + const httpStatusCode = httpCode ?? this.responseController.getStatusByMethod(requestMethod); + const responseHeaders = this.reflectResponseHeaders(callback); + const hasCustomHeaders = !isEmptyArray(responseHeaders); + const handlerMetadata = { + argsLength, + fnHandleResponse, + isSseHandler, + paramtypes, + getParamsMetadata, + httpStatusCode, + hasCustomHeaders, + responseHeaders + }; + this.handlerMetadataStorage.set(instance, methodName, handlerMetadata); + return handlerMetadata; + } + reflectRedirect(callback) { + return Reflect.getMetadata(REDIRECT_METADATA, callback); + } + reflectHttpStatusCode(callback) { + return Reflect.getMetadata(HTTP_CODE_METADATA, callback); + } + reflectRenderTemplate(callback) { + return Reflect.getMetadata(RENDER_METADATA, callback); + } + reflectResponseHeaders(callback) { + return Reflect.getMetadata(HEADERS_METADATA, callback) || []; + } + reflectSse(callback) { + return Reflect.getMetadata(SSE_METADATA, callback); + } + reflectSseOptions(callback) { + return Reflect.getMetadata(SSE_OPTIONS_METADATA, callback); + } + exchangeKeysForValues(keys, metadata, moduleContext, contextId = STATIC_CONTEXT, inquirerId, contextFactory) { + this.pipesContextCreator.setModuleContext(moduleContext); + return keys.map((key) => { + const { index, data, pipes: pipesCollection, schema } = metadata[key]; + const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId); + const type = this.contextUtils.mapParamType(key); + if (key.includes(CUSTOM_ROUTE_ARGS_METADATA)) { + const { factory } = metadata[key]; + const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory); + return { + index, + extractValue: customExtractValue, + type, + data, + pipes, + schema + }; + } + const numericType = Number(type); + const extractValue = /* @__PURE__ */ __name((req, res, next) => this.paramsFactory.exchangeKeyForValue(numericType, data, { + req, + res, + next + }), "extractValue"); + return { index, extractValue, type: numericType, data, pipes, schema }; + }); + } + async getParamValue(value, metadata, pipes) { + if (!isEmptyArray(pipes)) { + return this.pipesConsumer.apply(value, metadata, pipes); + } + return value; + } + isPipeable(type) { + return type === RouteParamtypes.BODY || type === RouteParamtypes.RAW_BODY || type === RouteParamtypes.QUERY || type === RouteParamtypes.PARAM || type === RouteParamtypes.FILE || type === RouteParamtypes.FILES || type === RouteParamtypes.COOKIES || type === RouteParamtypes.SIGNED_COOKIES || isString(type); + } + createGuardsFn(guards, instance, callback, contextType) { + const canActivateFn = /* @__PURE__ */ __name(async (args) => { + const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType); + if (!canActivate) { + throw new ForbiddenException(FORBIDDEN_MESSAGE); + } + }, "canActivateFn"); + return guards.length ? canActivateFn : null; + } + createPipesFn(pipes, paramsOptions) { + if (!paramsOptions.length) { + return null; + } + const params = paramsOptions.map(({ index, extractValue, type, data, metatype, pipes: paramPipes, schema }) => { + const isPipeable = this.isPipeable(type); + return { + index, + extractValue, + isPipeable, + metadata: { metatype, type, data, schema }, + pipes: isPipeable ? pipes.concat(paramPipes) : [] + }; + }); + const applyPipes = /* @__PURE__ */ __name(async (args, param, value) => { + args[param.index] = await this.getParamValue(value, param.metadata, param.pipes); + }, "applyPipes"); + return (args, req, res, next) => { + let pending; + for (let i = 0; i < params.length; i++) { + const param = params[i]; + try { + const value = param.extractValue(req, res, next); + if (param.isPipeable && (param.pipes.length > 0 || isThenable2(value))) { + (pending ??= []).push(applyPipes(args, param, value)); + } else { + args[param.index] = value; + } + } catch (err) { + (pending ??= []).push(Promise.reject(err)); + } + } + return pending && Promise.all(pending); + }; + } + createHandleResponseFn(callback, isResponseHandled, redirectResponse, httpStatusCode) { + const renderTemplate = this.reflectRenderTemplate(callback); + if (renderTemplate) { + return async (result, res) => { + return await this.responseController.render(result, res, renderTemplate); + }; + } + if (redirectResponse && isString(redirectResponse.url)) { + return async (result, res) => { + await this.responseController.redirect(result, res, redirectResponse); + }; + } + const isSseHandler = !!this.reflectSse(callback); + if (isSseHandler) { + const maxPendingDataLength = this.reflectSseOptions(callback)?.maxPendingDataLength; + return async (result, res, req) => { + const rawResponse = res.raw ?? res; + await this.responseController.sse(result, rawResponse, req.raw || req, { + additionalHeaders: /* @__PURE__ */ __name(() => res.getHeaders?.(), "additionalHeaders"), + statusCode: /* @__PURE__ */ __name(() => res.statusCode ?? rawResponse.statusCode, "statusCode"), + maxPendingDataLength + }); + }; + } + return async (result, res, req, handlerObservable$, handlerFiles = []) => { + let disconnected = false; + if ((0, import_rxjs8.isObservable)(result)) { + const disconnect$ = (handlerObservable$ ?? (0, import_rxjs8.of)(null)).pipe((0, import_operators3.switchMap)(() => this.fromClientDisconnect(req, res)), (0, import_operators3.tap)(() => disconnected = true)); + result = result.pipe((0, import_operators3.takeUntil)(disconnect$)); + } + try { + result = await this.responseController.transformToResult(result); + } catch (err) { + if (!disconnected || !(err instanceof import_rxjs8.EmptyError)) { + throw err; + } + } + if (disconnected) { + [result, ...handlerFiles].forEach(destroyStreamableFile); + return res; + } + if (!isResponseHandled) { + try { + await this.responseController.apply(result, res, httpStatusCode); + } catch (err) { + destroyStreamableFile(result); + throw err; + } + } + return res; + }; + } + notifyIfObservable(result, handlerObservable$) { + if ((0, import_rxjs8.isObservable)(result)) { + handlerObservable$.next(); + } else if (result instanceof Promise) { + result.then((value) => (0, import_rxjs8.isObservable)(value) && handlerObservable$.next(), () => void 0); + } + } + /** + * Emits once the client connection closes, or right away if it already has. + * Watches the request socket, like `RouterResponseController#sse()` does. + */ + fromClientDisconnect(req, res) { + return new import_rxjs8.Observable((subscriber) => { + const source = (req?.raw ?? req)?.socket ?? res?.raw ?? res; + if (typeof source?.once !== "function") { + return; + } + if (source.destroyed) { + subscriber.next(); + return; + } + const onClose = /* @__PURE__ */ __name(() => subscriber.next(), "onClose"); + source.once("close", onClose); + return () => source.removeListener("close", onClose); + }); + } + isResponseHandled(instance, methodName, paramsMetadata) { + const hasResponseOrNextDecorator = paramsMetadata.some(({ type }) => type === RouteParamtypes.RESPONSE || type === RouteParamtypes.NEXT); + const isPassthroughEnabled = this.contextUtils.reflectPassthrough(instance, methodName); + return hasResponseOrNextDecorator && !isPassthroughEnabled; + } + attachSseAbortSignal(req) { + const carrier = req; + if (!carrier[SSE_ABORT_CONTROLLER]) { + carrier[SSE_ABORT_CONTROLLER] = new AbortController(); + } + if (carrier.raw && !carrier.raw[SSE_ABORT_CONTROLLER]) { + carrier.raw[SSE_ABORT_CONTROLLER] = carrier[SSE_ABORT_CONTROLLER]; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-explorer.js +var import_path_to_regexp4, RouterExplorer; +var init_router_explorer = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-explorer.js"() { + import_path_to_regexp4 = __toESM(require_dist2(), 1); + init_unknown_request_mapping_exception(); + init_guards(); + init_context_id_factory(); + init_execution_context_host(); + init_messages2(); + init_router_method_factory(); + init_constants3(); + init_interceptors(); + init_pipes(); + init_paths_explorer(); + init_request_constants(); + init_route_params_factory(); + init_router_execution_context(); + init_internal(); + init_common(); + RouterExplorer = class _RouterExplorer { + static { + __name(this, "RouterExplorer"); + } + container; + injector; + routerProxy; + exceptionsFilter; + routePathFactory; + graphInspector; + executionContextCreator; + pathsExplorer; + routerMethodFactory = new RouterMethodFactory(); + logger = new Logger(_RouterExplorer.name, { + timestamp: true + }); + constructor(metadataScanner, container, injector, routerProxy, exceptionsFilter, config, routePathFactory, graphInspector) { + this.container = container; + this.injector = injector; + this.routerProxy = routerProxy; + this.exceptionsFilter = exceptionsFilter; + this.routePathFactory = routePathFactory; + this.graphInspector = graphInspector; + this.pathsExplorer = new PathsExplorer(metadataScanner); + const routeParamsFactory = new RouteParamsFactory(config); + const pipesContextCreator = new PipesContextCreator(container, config); + const pipesConsumer = new PipesConsumer(); + const guardsContextCreator = new GuardsContextCreator(container, config); + const guardsConsumer = new GuardsConsumer(); + const interceptorsContextCreator = new InterceptorsContextCreator(container, config); + const interceptorsConsumer = new InterceptorsConsumer(); + this.executionContextCreator = new RouterExecutionContext(routeParamsFactory, pipesContextCreator, pipesConsumer, guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getHttpAdapterRef()); + } + explore(instanceWrapper, moduleKey, httpAdapterRef, host, routePathMetadata, options = {}) { + const { instance } = instanceWrapper; + const routerPaths = this.pathsExplorer.scanForPaths(instance); + this.applyPathsToRouterProxy(httpAdapterRef, routerPaths, instanceWrapper, moduleKey, routePathMetadata, host, options); + } + extractRouterPath(metatype) { + const path = Reflect.getMetadata(PATH_METADATA, metatype); + if (isUndefined(path)) { + throw new UnknownRequestMappingException(metatype); + } + if (Array.isArray(path)) { + return path.map((p) => addLeadingSlash(p)); + } + return [addLeadingSlash(path)]; + } + applyPathsToRouterProxy(router, routeDefinitions, instanceWrapper, moduleKey, routePathMetadata, host, options = {}) { + (routeDefinitions || []).forEach((routeDefinition) => { + const { version: methodVersion } = routeDefinition; + routePathMetadata.methodVersion = methodVersion; + this.applyCallbackToRouter(router, routeDefinition, instanceWrapper, moduleKey, routePathMetadata, host, options); + }); + } + applyCallbackToRouter(router, routeDefinition, instanceWrapper, moduleKey, routePathMetadata, host, options = {}) { + const { onRouteResolved, deferRegistration = false } = options; + const { path: paths, requestMethod, targetCallback, methodName } = routeDefinition; + const { instance } = instanceWrapper; + const routerMethodRef = this.routerMethodFactory.get(router, requestMethod).bind(router); + const isRequestScoped = !instanceWrapper.isDependencyTreeStatic(); + const proxy = isRequestScoped ? this.createRequestScopedHandler(instanceWrapper, requestMethod, this.container.getModuleByKey(moduleKey), moduleKey, methodName) : this.createCallbackProxy(instance, targetCallback, methodName, moduleKey, requestMethod, STATIC_CONTEXT, instanceWrapper.id); + const isVersioned = (routePathMetadata.methodVersion || routePathMetadata.controllerVersion) && routePathMetadata.versioningOptions; + let routeHandler = this.applyHostFilter(host, proxy); + paths.forEach((path) => { + if (isVersioned && routePathMetadata.versioningOptions.type !== VersioningType.URI) { + routeHandler = this.applyVersionFilter(router, routePathMetadata, routeHandler); + } + routePathMetadata.methodPath = path; + const pathsToRegister = this.routePathFactory.create(routePathMetadata, requestMethod); + pathsToRegister.forEach((path2) => { + const normalizedPath = router.normalizePath ? router.normalizePath(path2) : path2; + const entrypointDefinition = { + type: "http-endpoint", + methodName, + className: instanceWrapper.name, + classNodeId: instanceWrapper.id, + metadata: { + key: path2, + path: path2, + requestMethod: RequestMethod[requestMethod], + methodVersion: routePathMetadata.methodVersion, + controllerVersion: routePathMetadata.controllerVersion + } + }; + if (!deferRegistration) { + this.copyMetadataToCallback(targetCallback, routeHandler); + const httpAdapter = this.container.getHttpAdapterRef(); + const onRouteTriggered = httpAdapter.getOnRouteTriggered?.(); + let handler = routeHandler; + if (onRouteTriggered) { + handler = Object.assign((...args) => { + onRouteTriggered(requestMethod, path2); + return routeHandler(...args); + }, routeHandler); + this.copyMetadataToCallback(targetCallback, handler); + } + Object.defineProperty(handler, "name", { + configurable: true, + value: `${instanceWrapper.name}.${methodName}` + }); + routerMethodRef(normalizedPath, handler); + } + onRouteResolved?.({ + method: requestMethod, + path: normalizedPath, + rawPath: path2, + host, + version: routePathMetadata.methodVersion ?? routePathMetadata.controllerVersion, + methodVersion: routePathMetadata.methodVersion, + controllerVersion: routePathMetadata.controllerVersion, + handler: routeHandler, + targetCallback, + methodName, + instanceWrapper + }); + this.graphInspector.insertEntrypointDefinition(entrypointDefinition, instanceWrapper.id); + }); + const pathsToLog = this.routePathFactory.create({ + ...routePathMetadata, + versioningOptions: void 0 + }, requestMethod); + pathsToLog.forEach((path2) => { + if (isVersioned) { + const version = this.routePathFactory.getVersion(routePathMetadata); + this.logger.log(VERSIONED_ROUTE_MAPPED_MESSAGE(path2, requestMethod, version)); + } else { + this.logger.log(ROUTE_MAPPED_MESSAGE(path2, requestMethod)); + } + }); + }); + } + /** + * Registers a previously resolved route on the underlying HTTP adapter. + * Used when route registration has been deferred (e.g. when sorting + * routes by specificity) so the caller can choose the order in which + * routes are installed on the adapter. + */ + registerResolvedRoute(router, route) { + const routerMethodRef = this.routerMethodFactory.get(router, route.method).bind(router); + this.copyMetadataToCallback(route.targetCallback, route.handler); + const normalizedPath = route.path; + const rawPath = route.rawPath ?? route.path; + const httpAdapter = this.container.getHttpAdapterRef(); + const onRouteTriggered = httpAdapter.getOnRouteTriggered?.(); + if (onRouteTriggered) { + const handler = Object.assign((...args) => { + onRouteTriggered(route.method, rawPath); + return route.handler(...args); + }, route.handler); + this.copyMetadataToCallback(route.targetCallback, handler); + routerMethodRef(normalizedPath, handler); + } else { + routerMethodRef(normalizedPath, route.handler); + } + } + applyHostFilter(host, handler) { + if (!host) { + return handler; + } + const httpAdapterRef = this.container.getHttpAdapterRef(); + const hosts = Array.isArray(host) ? host : [host]; + const hostRegExps = hosts.map((host2) => { + if (typeof host2 === "string") { + try { + return (0, import_path_to_regexp4.pathToRegexp)(host2); + } catch (e) { + if (e instanceof TypeError) { + this.logger.error(`Unsupported host "${host2}" syntax. In past releases, ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/*path. Please see the migration guide for more information.`); + } + throw e; + } + } + return { regexp: host2, keys: [] }; + }); + const unsupportedFilteringMessage = Array.isArray(host) ? `HTTP adapter does not support filtering on hosts: ["${host.join('", "')}"]` : `HTTP adapter does not support filtering on host: "${host}"`; + let hasWarnedOfUnsupportedFiltering = false; + return (req, res, next) => { + req.hosts = {}; + const hostname = httpAdapterRef.getRequestHostname(req) || ""; + for (const exp of hostRegExps) { + const match = hostname.match(exp.regexp); + if (match) { + if (exp.keys.length > 0) { + exp.keys.forEach((key, i) => req.hosts[key.name] = match[i + 1]); + } else if (exp.regexp && match.groups) { + for (const groupName in match.groups) { + req.hosts[groupName] = match.groups[groupName]; + } + } + return handler(req, res, next); + } + } + if (!next) { + if (!hasWarnedOfUnsupportedFiltering) { + hasWarnedOfUnsupportedFiltering = true; + this.logger.warn(`${unsupportedFilteringMessage}. Requests for other hosts are answered with 404 instead of being passed on to other routes.`); + } + const method = httpAdapterRef.getRequestMethod(req); + const url = httpAdapterRef.getRequestUrl(req); + throw new NotFoundException(`Cannot ${method} ${url}`); + } + return next(); + }; + } + applyVersionFilter(router, routePathMetadata, handler) { + const version = this.routePathFactory.getVersion(routePathMetadata); + return router.applyVersionFilter(handler, version, routePathMetadata.versioningOptions); + } + createCallbackProxy(instance, callback, methodName, moduleRef, requestMethod, contextId = STATIC_CONTEXT, inquirerId) { + const executionContext = this.executionContextCreator.create(instance, callback, methodName, moduleRef, requestMethod, contextId, inquirerId); + const exceptionFilter = this.exceptionsFilter.create(instance, callback, moduleRef, contextId, inquirerId); + return this.routerProxy.createProxy(executionContext, exceptionFilter); + } + createRequestScopedHandler(instanceWrapper, requestMethod, moduleRef, moduleKey, methodName) { + const { instance } = instanceWrapper; + const collection = moduleRef.controllers; + const isTreeDurable = instanceWrapper.isDependencyTreeDurable(); + let exceptionFilter; + return async (req, res, next) => { + try { + const contextId = this.getContextId(req, isTreeDurable); + const contextInstance = await this.injector.loadPerContext(instance, moduleRef, collection, contextId); + await this.createCallbackProxy(contextInstance, contextInstance[methodName], methodName, moduleKey, requestMethod, contextId, instanceWrapper.id)(req, res, next); + } catch (err) { + exceptionFilter ??= this.exceptionsFilter.create(instance, instance[methodName], moduleKey); + const host = new ExecutionContextHost([req, res, next]); + exceptionFilter.next(err, host); + } + }; + } + getContextId(request, isTreeDurable) { + const contextId = ContextIdFactory.getByRequest(request); + if (!request[REQUEST_CONTEXT_ID]) { + Object.defineProperty(request, REQUEST_CONTEXT_ID, { + value: contextId, + enumerable: false, + writable: false, + configurable: false + }); + const requestProviderValue = isTreeDurable ? contextId.payload : Object.assign(request, contextId.payload); + this.container.registerRequestProvider(requestProviderValue, contextId); + } + return contextId; + } + copyMetadataToCallback(originalCallback, targetCallback) { + for (const key of Reflect.getMetadataKeys(originalCallback)) { + Reflect.defineMetadata(key, Reflect.getMetadata(key, originalCallback), targetCallback); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/routes-resolver.js +var RoutesResolver; +var init_routes_resolver = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/routes-resolver.js"() { + init_common(); + init_internal(); + init_messages2(); + init_metadata_scanner(); + init_route_path_factory(); + init_router_exception_filters(); + init_router_explorer(); + init_router_proxy(); + RoutesResolver = class _RoutesResolver { + static { + __name(this, "RoutesResolver"); + } + container; + applicationConfig; + injector; + logger = new Logger(_RoutesResolver.name, { + timestamp: true + }); + routerProxy = new RouterProxy(); + routePathFactory; + routerExceptionsFilter; + routerExplorer; + constructor(container, applicationConfig, injector, graphInspector) { + this.container = container; + this.applicationConfig = applicationConfig; + this.injector = injector; + const httpAdapterRef = container.getHttpAdapterRef(); + this.routerExceptionsFilter = new RouterExceptionFilters(container, applicationConfig, httpAdapterRef); + this.routePathFactory = new RoutePathFactory(this.applicationConfig); + const metadataScanner = new MetadataScanner(); + this.routerExplorer = new RouterExplorer(metadataScanner, this.container, this.injector, this.routerProxy, this.routerExceptionsFilter, this.applicationConfig, this.routePathFactory, graphInspector); + } + resolve(applicationRef, globalPrefix, options = {}) { + const modules = this.container.getModules(); + modules.forEach(({ controllers, metatype }, moduleName) => { + const modulePath = this.getModulePathMetadata(metatype); + this.registerRouters(controllers, moduleName, globalPrefix, modulePath, applicationRef, options); + }); + } + registerResolvedRoute(applicationRef, route) { + this.routerExplorer.registerResolvedRoute(applicationRef, route); + } + registerRouters(routes, moduleName, globalPrefix, modulePath, applicationRef, options = {}) { + routes.forEach((instanceWrapper) => { + const { metatype } = instanceWrapper; + const host = this.getHostMetadata(metatype); + const routerPaths = this.routerExplorer.extractRouterPath(metatype); + const controllerVersion = this.getVersionMetadata(metatype); + const controllerName = metatype.name; + routerPaths.forEach((path) => { + const pathsToLog = this.routePathFactory.create({ + ctrlPath: path, + modulePath, + globalPrefix + }); + if (!controllerVersion) { + pathsToLog.forEach((path2) => { + const logMessage = CONTROLLER_MAPPING_MESSAGE(controllerName, path2); + this.logger.log(logMessage); + }); + } else { + pathsToLog.forEach((path2) => { + const logMessage = VERSIONED_CONTROLLER_MAPPING_MESSAGE(controllerName, path2, controllerVersion); + this.logger.log(logMessage); + }); + } + const versioningOptions = this.applicationConfig.getVersioning(); + const routePathMetadata = { + ctrlPath: path, + modulePath, + globalPrefix, + controllerVersion, + versioningOptions + }; + this.routerExplorer.explore(instanceWrapper, moduleName, applicationRef, host, routePathMetadata, options); + }); + }); + } + registerNotFoundHandler() { + const applicationRef = this.container.getHttpAdapterRef(); + const callback = /* @__PURE__ */ __name((req, res) => { + const method = applicationRef.getRequestMethod(req); + const url = applicationRef.getRequestUrl(req); + throw new NotFoundException(`Cannot ${method} ${url}`); + }, "callback"); + const handler = this.routerExceptionsFilter.create({}, callback, void 0); + const proxy = this.routerProxy.createProxy(callback, handler); + const prefix = this.applicationConfig.getGlobalPrefix(); + const excludedRoutes = this.routePathFactory.getExcludedRoutePaths(); + applicationRef.setNotFoundHandler && applicationRef.setNotFoundHandler(proxy, prefix, excludedRoutes); + } + registerExceptionHandler() { + const callback = /* @__PURE__ */ __name((err, req, res, next) => { + throw this.container.getHttpAdapterRef().mapException(err); + }, "callback"); + const handler = this.routerExceptionsFilter.create({}, callback, void 0); + const proxy = this.routerProxy.createExceptionLayerProxy(callback, handler); + const applicationRef = this.container.getHttpAdapterRef(); + const prefix = this.applicationConfig.getGlobalPrefix(); + applicationRef.setErrorHandler && applicationRef.setErrorHandler(proxy, prefix); + } + getModulePathMetadata(metatype) { + const modulesContainer = this.container.getModules(); + const modulePath = Reflect.getMetadata(MODULE_PATH + modulesContainer.applicationId, metatype); + return modulePath ?? Reflect.getMetadata(MODULE_PATH, metatype); + } + getHostMetadata(metatype) { + return Reflect.getMetadata(HOST_METADATA, metatype); + } + getVersionMetadata(metatype) { + const versioningConfig = this.applicationConfig.getVersioning(); + if (versioningConfig) { + return Reflect.getMetadata(VERSION_METADATA, metatype) ?? versioningConfig.defaultVersion; + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-conflict-detector.js +var RouteConflictDetector; +var init_route_conflict_detector = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-conflict-detector.js"() { + init_common(); + init_route_conflict_exception(); + init_messages(); + RouteConflictDetector = class _RouteConflictDetector { + static { + __name(this, "RouteConflictDetector"); + } + /** + * Strips the leading `:` / `*` marker (if present) and tags each + * segment as a literal, named param, or named wildcard. Supports both + * bare named wildcards (`*path`) and adapter-normalized path-to-regexp + * wildcard groups (`{*path}`). + */ + static tokenizePath(rawPath) { + const segments = []; + rawPath.split("/").filter((rawSegment) => rawSegment.length > 0).forEach((rawSegment) => { + if (rawSegment.startsWith("*")) { + segments.push({ kind: "wildcard", value: rawSegment.slice(1) }); + return; + } + if (rawSegment.startsWith("{*") && rawSegment.endsWith("}")) { + segments.push({ + kind: "wildcard", + value: rawSegment.slice(2, -1) + }); + return; + } + if (rawSegment.startsWith(":")) { + segments.push({ kind: "param", value: rawSegment.slice(1) }); + return; + } + segments.push({ kind: "literal", value: rawSegment }); + }); + return segments; + } + /** + * Decides whether two paths can match the same incoming request, given + * only their declared patterns (no host/method/version considered). + */ + static pathsCanOverlap(leftPath, rightPath) { + const leftSegments = _RouteConflictDetector.tokenizePath(leftPath); + const rightSegments = _RouteConflictDetector.tokenizePath(rightPath); + const leftEndsInWildcard = leftSegments[leftSegments.length - 1]?.kind === "wildcard"; + const rightEndsInWildcard = rightSegments[rightSegments.length - 1]?.kind === "wildcard"; + if (leftSegments.length !== rightSegments.length) { + const shorterEndsInWildcard = leftSegments.length < rightSegments.length ? leftEndsInWildcard : rightEndsInWildcard; + if (!shorterEndsInWildcard) { + return false; + } + } + const sharedLength = Math.min(leftSegments.length, rightSegments.length); + let canOverlap = true; + leftSegments.slice(0, sharedLength).forEach((leftSegment, segmentIndex) => { + if (!canOverlap) + return; + if (!_RouteConflictDetector.segmentsCanOverlap(leftSegment, rightSegments[segmentIndex])) { + canOverlap = false; + } + }); + return canOverlap; + } + /** + * Walks every unique pair of resolved routes and produces a conflict + * record for each pair whose (method, host, version, path) tuples can + * collide at runtime. + */ + static detect(routes, versioningOptions) { + const conflicts = []; + _RouteConflictDetector.forEachUniquePair(routes, (earlierRoute, laterRoute) => { + if (!_RouteConflictDetector.methodsCanOverlap(earlierRoute.method, laterRoute.method)) { + return; + } + if (!_RouteConflictDetector.versionsCanOverlap(earlierRoute.version, laterRoute.version, versioningOptions)) { + return; + } + if (!_RouteConflictDetector.hostsCanOverlap(earlierRoute.host, laterRoute.host)) { + return; + } + if (!_RouteConflictDetector.pathsCanOverlap(earlierRoute.path, laterRoute.path)) { + return; + } + const isIdentical = _RouteConflictDetector.routesAreIdentical(earlierRoute, laterRoute, versioningOptions); + conflicts.push({ + winner: earlierRoute, + shadowed: laterRoute, + kind: isIdentical ? "duplicate" : "shadow" + }); + }); + return conflicts; + } + /** + * Applies the per-kind policy to a set of conflicts: silences `'off'`, + * logs `'warn'` once per conflict, and aggregates every `'error'`-level + * conflict into a single `RouteConflictException`. + */ + static handle(conflicts, policy, logger3) { + if (conflicts.length === 0 || policy === void 0) + return; + const errorMessages = []; + conflicts.forEach((conflict) => { + const policyForKind = policy[conflict.kind] ?? "off"; + if (policyForKind === "off") + return; + const message = _RouteConflictDetector.describeConflict(conflict); + if (policyForKind === "warn") { + logger3.warn(message); + return; + } + errorMessages.push(message); + }); + if (errorMessages.length > 0) { + throw new RouteConflictException(errorMessages); + } + } + /** + * Removes shadow conflicts that specificity sorting has already resolved. + * + * When `routeResolutionStrategy: 'specificity'` is active, the sort + * promotes more-specific routes ahead of less-specific ones. A shadow + * where the sort promoted the winner (it was declared *later* but sorted + * *first*) is handled correctly at runtime — the more-specific route is + * registered first and handles its requests while the less-specific route + * handles the rest. Retaining such a conflict would cause `shadow: 'error'` + * to abort an application whose routes actually work as intended. + * + * Shadows where the winner was already first in declaration order (the + * sort did not swap them) are genuine and are kept unchanged. Duplicate + * conflicts are always kept. + * + * @param conflicts Conflicts detected on the sorted route list. + * @param declarationOrder Routes in their original declaration order + * (i.e. before specificity sorting was applied). + */ + static filterSortResolvedShadows(conflicts, declarationOrder) { + const declarationIndex = new Map(declarationOrder.map((route, idx) => [route, idx])); + return conflicts.filter((conflict) => { + if (conflict.kind !== "shadow") + return true; + const winnerDeclIdx = declarationIndex.get(conflict.winner) ?? -1; + const shadowedDeclIdx = declarationIndex.get(conflict.shadowed) ?? -1; + return winnerDeclIdx < shadowedDeclIdx; + }); + } + static segmentsCanOverlap(leftSegment, rightSegment) { + if (leftSegment.kind === "wildcard" || rightSegment.kind === "wildcard") { + return true; + } + if (leftSegment.kind === "param" || rightSegment.kind === "param") { + return true; + } + return leftSegment.value === rightSegment.value; + } + static methodsCanOverlap(leftMethod, rightMethod) { + if (leftMethod === RequestMethod.ALL || rightMethod === RequestMethod.ALL) { + return true; + } + return leftMethod === rightMethod; + } + static versionsCanOverlap(leftVersion, rightVersion, versioningOptions) { + if (!versioningOptions) + return true; + if (versioningOptions.type === VersioningType.URI) + return true; + const leftMatchesAnyVersion = leftVersion === void 0 || leftVersion === VERSION_NEUTRAL; + const rightMatchesAnyVersion = rightVersion === void 0 || rightVersion === VERSION_NEUTRAL; + if (leftMatchesAnyVersion || rightMatchesAnyVersion) + return true; + const leftValues = Array.isArray(leftVersion) ? leftVersion : [leftVersion]; + const rightValues = Array.isArray(rightVersion) ? rightVersion : [rightVersion]; + return leftValues.some((versionValue) => rightValues.includes(versionValue)); + } + static hostsCanOverlap(leftHost, rightHost) { + if (leftHost === void 0 || rightHost === void 0) + return true; + const leftHosts = Array.isArray(leftHost) ? leftHost : [leftHost]; + const rightHosts = Array.isArray(rightHost) ? rightHost : [rightHost]; + return leftHosts.some((leftValue) => rightHosts.some((rightValue) => _RouteConflictDetector.hostValuesCanMatchSameRequest(leftValue, rightValue))); + } + static hostValuesCanMatchSameRequest(leftValue, rightValue) { + const leftIsRegExp = leftValue instanceof RegExp; + const rightIsRegExp = rightValue instanceof RegExp; + if (leftIsRegExp && rightIsRegExp) + return true; + if (leftIsRegExp) { + leftValue.lastIndex = 0; + return leftValue.test(rightValue); + } + if (rightIsRegExp) { + rightValue.lastIndex = 0; + return rightValue.test(leftValue); + } + return leftValue === rightValue; + } + static routesAreIdentical(leftRoute, rightRoute, versioningOptions) { + return leftRoute.method === rightRoute.method && leftRoute.path === rightRoute.path && _RouteConflictDetector.hostsAreIdentical(leftRoute.host, rightRoute.host) && _RouteConflictDetector.versionsAreIdentical(leftRoute.version, rightRoute.version, versioningOptions); + } + static hostsAreIdentical(leftHost, rightHost) { + if (leftHost === void 0 && rightHost === void 0) + return true; + if (leftHost === void 0 || rightHost === void 0) + return false; + const leftHosts = Array.isArray(leftHost) ? leftHost : [leftHost]; + const rightHosts = Array.isArray(rightHost) ? rightHost : [rightHost]; + if (leftHosts.length !== rightHosts.length) + return false; + return leftHosts.every((leftValue) => rightHosts.some((rightValue) => _RouteConflictDetector.hostValuesAreIdentical(leftValue, rightValue))); + } + static hostValuesAreIdentical(leftValue, rightValue) { + if (leftValue instanceof RegExp && rightValue instanceof RegExp) { + return leftValue.source === rightValue.source && leftValue.flags === rightValue.flags; + } + return leftValue === rightValue; + } + static versionsAreIdentical(leftVersion, rightVersion, versioningOptions) { + if (!versioningOptions || versioningOptions.type === VersioningType.URI) { + return true; + } + if (leftVersion === rightVersion) + return true; + const leftValues = Array.isArray(leftVersion) ? leftVersion : [leftVersion]; + const rightValues = Array.isArray(rightVersion) ? rightVersion : [rightVersion]; + if (leftValues.length !== rightValues.length) + return false; + return leftValues.every((value) => rightValues.includes(value)); + } + static forEachUniquePair(items, visit) { + items.forEach((leftItem, leftIndex) => { + items.slice(leftIndex + 1).forEach((rightItem) => { + visit(leftItem, rightItem); + }); + }); + } + static describeConflict(conflict) { + const method = RequestMethod[conflict.winner.method]; + const winnerLabel = `${conflict.winner.instanceWrapper.name}#${conflict.winner.methodName}`; + const shadowedLabel = `${conflict.shadowed.instanceWrapper.name}#${conflict.shadowed.methodName}`; + if (conflict.kind === "duplicate") { + return DUPLICATE_ROUTE_MESSAGE(method, conflict.winner.path, winnerLabel, shadowedLabel); + } + return SHADOWED_ROUTE_MESSAGE(method, conflict.shadowed.path, shadowedLabel, conflict.winner.path, winnerLabel); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-specificity-sorter.js +var RouteSpecificitySorter; +var init_route_specificity_sorter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/route-specificity-sorter.js"() { + init_route_conflict_detector(); + RouteSpecificitySorter = class _RouteSpecificitySorter { + static { + __name(this, "RouteSpecificitySorter"); + } + /** + * Lower rank means more specific. A literal segment beats a named + * param, which beats a named wildcard. A position that is absent on + * one side means the path is shorter at that point. A shorter path + * with a wildcard is the least specific of all (`missing`), as the + * wildcard can absorb the extra segments. Without one, it ranks after + * a literal but before a param or wildcard (`end`): those can sit in + * an optional group (`/users{/:id}`, `/{*path}`) and then also match + * the shorter path. + */ + static SEGMENT_KIND_RANK = { + literal: 0, + end: 1, + param: 2, + wildcard: 3, + missing: 4 + }; + /** + * Returns a new array of routes sorted from most-specific to + * least-specific. Routes that tie on specificity keep their original + * declaration order. + */ + static sort(routes) { + const decoratedRoutes = routes.map((route, declarationIndex) => ({ + route, + declarationIndex + })); + decoratedRoutes.sort((leftEntry, rightEntry) => { + const specificityDelta = _RouteSpecificitySorter.comparePathSpecificity(leftEntry.route.path, rightEntry.route.path); + if (specificityDelta !== 0) + return specificityDelta; + return leftEntry.declarationIndex - rightEntry.declarationIndex; + }); + return decoratedRoutes.map((decoratedEntry) => decoratedEntry.route); + } + static comparePathSpecificity(leftPath, rightPath) { + const leftSegments = RouteConflictDetector.tokenizePath(leftPath); + const rightSegments = RouteConflictDetector.tokenizePath(rightPath); + const longestPathLength = Math.max(leftSegments.length, rightSegments.length); + const leftEndKind = _RouteSpecificitySorter.getEndKind(leftSegments); + const rightEndKind = _RouteSpecificitySorter.getEndKind(rightSegments); + let specificityDelta = 0; + Array.from({ length: longestPathLength }).forEach((_, segmentIndex) => { + if (specificityDelta !== 0) + return; + const leftKind = leftSegments[segmentIndex]?.kind ?? leftEndKind; + const rightKind = rightSegments[segmentIndex]?.kind ?? rightEndKind; + const leftRank = _RouteSpecificitySorter.rankSegmentByKind(leftKind); + const rightRank = _RouteSpecificitySorter.rankSegmentByKind(rightKind); + if (leftRank !== rightRank) { + specificityDelta = leftRank - rightRank; + } + }); + return specificityDelta; + } + static getEndKind(segments) { + return segments.some((segment) => segment.kind === "wildcard") ? "missing" : "end"; + } + static rankSegmentByKind(kind) { + return _RouteSpecificitySorter.SEGMENT_KIND_RANK[kind]; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/cross-origin-protection.js +function evaluateCrossOriginRequest(request, exemptions = {}) { + if (SAFE_METHODS.has(request.method)) { + return { allowed: true, reason: "safe-method" }; + } + const secFetchSite = request.secFetchSite; + if (secFetchSite) { + if (secFetchSite === "same-origin" || secFetchSite === "none") { + return { allowed: true, reason: "same-origin" }; + } + return exemptOr(request, exemptions, "cross-origin-sec-fetch-site"); + } + const origin = request.origin; + if (!origin) { + return { allowed: true, reason: "no-browser-headers" }; + } + if (request.host !== void 0 && originMatchesHost(origin, request.host)) { + return { allowed: true, reason: "origin-matches-host" }; + } + return exemptOr(request, exemptions, "cross-origin-origin-header"); +} +function exemptOr(request, exemptions, reason) { + if (exemptions.isExcluded?.()) { + return { allowed: true, reason: "excluded" }; + } + if (request.origin !== void 0 && exemptions.trustedOrigins?.has(request.origin)) { + return { allowed: true, reason: "trusted-origin" }; + } + return { allowed: false, reason }; +} +function originMatchesHost(origin, host) { + let url; + try { + url = new URL(origin); + } catch { + return false; + } + if (!url.host) { + return false; + } + const authority = host.toLowerCase(); + if (url.host === authority) { + return true; + } + const defaultPort = DEFAULT_PORTS[url.protocol]; + return !url.port && defaultPort !== void 0 && `${url.hostname}:${defaultPort}` === authority; +} +function normalizeTrustedOrigin(origin) { + const fail2 = /* @__PURE__ */ __name((reason) => { + throw new Error(`Invalid trusted origin "${origin}": ${reason}.`); + }, "fail"); + if (!isString(origin) || origin.length === 0) { + return fail2("expected a non-empty string"); + } + if (!/^[a-z][a-z0-9+.-]*:\/\/[^/?#\\]+$/i.test(origin)) { + return fail2('expected "scheme://host[:port]", without a path, query string or fragment'); + } + let url; + try { + url = new URL(origin); + } catch { + return fail2('expected "scheme://host[:port]"'); + } + if (!url.host) { + fail2("a host is required"); + } + if (url.username || url.password) { + fail2("credentials are not allowed"); + } + if (url.host.includes("*")) { + fail2("wildcards are not supported, list each origin"); + } + return `${url.protocol}//${url.host}`; +} +function toRouteInfo(route) { + if (isString(route)) { + return { path: addLeadingSlash(route), method: RequestMethod.ALL }; + } + if (!route || !isString(route.path) || typeof route.method !== "number" || RequestMethod[route.method] === void 0) { + throw new Error(`Invalid CSRF protection exclusion ${JSON.stringify(route)}: expected a path, or a { path, method } object where method is a RequestMethod.`); + } + return { ...route, path: addLeadingSlash(route.path) }; +} +function compileExclusion(path, requestMethod, logs) { + const converted = LegacyRouteConverter.tryConvert(path, { logs }); + const normalized = converted.length > 1 ? converted.replace(/\/+$/, "") : converted; + return { + path: normalized, + requestMethod, + pathRegex: (0, import_path_to_regexp5.pathToRegexp)(addLeadingSlash(normalized) || "/", { + sensitive: true, + trailing: false + }).regexp + }; +} +function readHeader(headers, name) { + const value = headers[name]; + if (value === void 0) { + return void 0; + } + return Array.isArray(value) ? value.join(", ") : value; +} +var import_path_to_regexp5, SAFE_METHODS, DEFAULT_PORTS, DENIED_MESSAGES, NON_CANONICAL_PATH, CrossOriginProtection; +var init_cross_origin_protection = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/cross-origin-protection.js"() { + init_common(); + init_internal(); + import_path_to_regexp5 = __toESM(require_dist2(), 1); + init_utils2(); + init_legacy_route_converter(); + init_utils(); + SAFE_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]); + DEFAULT_PORTS = { + "http:": "80", + "https:": "443" + }; + __name(evaluateCrossOriginRequest, "evaluateCrossOriginRequest"); + __name(exemptOr, "exemptOr"); + __name(originMatchesHost, "originMatchesHost"); + __name(normalizeTrustedOrigin, "normalizeTrustedOrigin"); + DENIED_MESSAGES = { + "cross-origin-sec-fetch-site": "Cross-origin request detected from Sec-Fetch-Site header", + "cross-origin-origin-header": "Cross-origin request detected, and/or browser is out of date: Sec-Fetch-Site is missing, and Origin does not match Host" + }; + NON_CANONICAL_PATH = /[#;\\]|\/\/|%2e|%2f|%5c|\/\.\.?(?:\/|$)/i; + CrossOriginProtection = class { + static { + __name(this, "CrossOriginProtection"); + } + httpAdapter; + trustedOrigins; + excludedRoutes = []; + excludePredicate; + resolvedExclusions = []; + ignoreTrailingSlash = false; + versioningOptions; + /** + * Validates the options, so that a bad configuration fails as soon as + * `app.enableCsrfProtection()` is called. + */ + constructor(httpAdapter, options = {}) { + this.httpAdapter = httpAdapter; + if (!isPlainObject(options)) { + throw new Error("Invalid CSRF protection options: expected an options object."); + } + for (const key of Object.keys(options)) { + if (key !== "trustedOrigins" && key !== "exclude") { + throw new Error(`Invalid CSRF protection options: unknown option "${key}" (expected "trustedOrigins", "exclude").`); + } + } + const { trustedOrigins = [] } = options; + if (!Array.isArray(trustedOrigins)) { + throw new Error('Invalid CSRF protection "trustedOrigins" option: expected a list of origins.'); + } + this.trustedOrigins = new Set(trustedOrigins.map(normalizeTrustedOrigin)); + const { exclude } = options; + if (isFunction(exclude)) { + this.excludePredicate = exclude; + } else if (Array.isArray(exclude)) { + this.excludedRoutes = exclude.map(toRouteInfo); + for (const route of this.excludedRoutes) { + compileExclusion(route.path, route.method, false); + } + } else if (exclude !== void 0) { + throw new Error('Invalid CSRF protection "exclude" option: expected a list of routes or a function.'); + } + } + /** + * Resolves the excluded routes to the paths they are served at, like + * `MiddlewareConsumer.exclude()` does: with the global prefix (unless the + * route is excluded from it) and, with URI versioning, the version segment + * of `RouteInfo.version` (with another versioning type, only the requests + * for that version are excluded). Called by `app.init()`, once the global + * prefix and versioning are final; until then nothing is excluded. + */ + resolveExclusions(pathExtractor) { + this.resolvedExclusions = this.excludedRoutes.flatMap((route) => pathExtractor.extractPathFrom(route).map((path) => { + const exclusion = compileExclusion(path, route.method, true); + if (route.version) { + exclusion.version = route.version; + } + return exclusion; + })); + this.ignoreTrailingSlash = !!this.httpAdapter.getRouteMatchingOptions?.()?.ignoreTrailingSlash; + this.versioningOptions = pathExtractor.getVersioningOptions(); + } + /** + * Returns a `ForbiddenException` when the request must be rejected, and + * `undefined` otherwise. + */ + check(request) { + const headers = request.headers ?? {}; + const decision = evaluateCrossOriginRequest({ + method: this.httpAdapter.getRequestMethod(request), + secFetchSite: readHeader(headers, "sec-fetch-site"), + origin: readHeader(headers, "origin"), + // On HTTP/2, ":authority" identifies the target and takes precedence + // over a "Host" header (RFC 9113, section 8.3.1). + host: readHeader(headers, ":authority") ?? readHeader(headers, "host") + }, { + trustedOrigins: this.trustedOrigins, + isExcluded: /* @__PURE__ */ __name(() => this.isExcluded(request), "isExcluded") + }); + if (decision.allowed) { + return void 0; + } + return new ForbiddenException(DENIED_MESSAGES[decision.reason]); + } + isExcluded(request) { + if (this.excludePredicate) { + return !!this.excludePredicate(request); + } + if (this.resolvedExclusions.length === 0) { + return false; + } + const url = this.httpAdapter.getRequestUrl(request) ?? ""; + const queryIndex = url.indexOf("?"); + const pathname = queryIndex >= 0 ? url.slice(0, queryIndex) : url; + if (!pathname.startsWith("/") || NON_CANONICAL_PATH.test(pathname)) { + return false; + } + const method = this.httpAdapter.getRequestMethod(request); + const isVersionRequested = createRequestedVersionMatcher(request, this.versioningOptions); + const isPathExcluded = /* @__PURE__ */ __name((path) => this.resolvedExclusions.some((exclusion) => isRouteExcluded([exclusion], path, RequestMethod[method]) && isVersionRequested(exclusion)), "isPathExcluded"); + if (this.ignoreTrailingSlash && pathname.length > 1 && pathname.endsWith("/")) { + return isPathExcluded(pathname) && isPathExcluded(pathname.replace(/\/+$/, "")); + } + return isPathExcluded(pathname); + } + }; + __name(toRouteInfo, "toRouteInfo"); + __name(compileExclusion, "compileExclusion"); + __name(readHeader, "readHeader"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/http-security-hook.js +var HttpSecurityHook; +var init_http_security_hook = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/http-security-hook.js"() { + init_route_info_path_extractor(); + HttpSecurityHook = class { + static { + __name(this, "HttpSecurityHook"); + } + headers; + crossOriginProtection; + setHeaders(headers) { + this.headers = headers; + } + setCrossOriginProtection(protection) { + this.crossOriginProtection = protection; + } + /** + * Called by `app.init()`, once the global prefix and versioning are final. + */ + init(config) { + this.crossOriginProtection?.resolveExclusions(new RouteInfoPathExtractor(config)); + } + /** + * Runs the enabled features for one request. Returns the error to hand to + * the exception layer when the request must be rejected. + */ + handle(request, response) { + if (this.headers) { + for (const [name, value] of this.headers.headers) { + response.setHeader(name, value); + } + for (const name of this.headers.removeHeaders) { + response.removeHeader(name); + } + } + return this.crossOriginProtection?.check(request); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/security-headers.js +function serializeContentSecurityPolicy(options = {}) { + const { useDefaults = true, directives = {} } = options; + if (typeof useDefaults !== "boolean") { + fail("contentSecurityPolicy.useDefaults must be a boolean."); + } + if (!isObject(directives) || Array.isArray(directives)) { + fail("contentSecurityPolicy.directives must be an object."); + } + const result = /* @__PURE__ */ new Map(); + if (useDefaults) { + for (const [name, value] of Object.entries(DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES)) { + result.set(name, value); + } + } + const seen = /* @__PURE__ */ new Set(); + const removed = /* @__PURE__ */ new Set(); + for (const [rawName, rawValue] of Object.entries(directives)) { + const name = normalizeDirectiveName(rawName); + if (seen.has(name)) { + fail(`Content-Security-Policy directive "${name}" is set twice.`); + } + seen.add(name); + const values = normalizeDirectiveValue(name, rawValue); + if (values === null) { + removed.add(name); + result.delete(name); + } else { + result.set(name, values); + } + } + if (!result.has("default-src") && !removed.has("default-src")) { + fail('Content-Security-Policy needs a "default-src" directive. Set "defaultSrc: null" to omit it deliberately.'); + } + if (result.size === 0) { + fail("Content-Security-Policy has no directives."); + } + return Array.from(result, ([name, values]) => values.length > 0 ? `${name} ${values.join(" ")}` : name).join(";"); +} +function normalizeDirectiveName(rawName) { + const name = DIRECTIVE_NAME.test(rawName) ? rawName.replace(/[A-Z]/g, (letter) => `-${letter}`).toLowerCase() : ""; + if (!NORMALIZED_DIRECTIVE_NAME.test(name)) { + fail(`"${rawName}" is not a valid Content-Security-Policy directive name (expected camelCase, e.g. "scriptSrc", or lower-case kebab-case, e.g. "script-src").`); + } + return name; +} +function normalizeDirectiveValue(name, value) { + if (value === null || value === false || value === void 0) { + return null; + } + if (value === true) { + return []; + } + const values = isString(value) ? [value] : value; + if (!Array.isArray(values)) { + return fail(`Content-Security-Policy directive "${name}" must be a string, a list of strings, a boolean or null.`); + } + return values.map((item) => { + if (!isString(item) || item.trim().length === 0) { + return fail(`Content-Security-Policy directive "${name}" contains an empty or non-string value.`); + } + if (FORBIDDEN_VALUE_CHARACTERS.test(item)) { + return fail(`Content-Security-Policy directive "${name}" contains an invalid value ${JSON.stringify(item)}: ";", "," and control or non-ASCII characters are not allowed.`); + } + if (item.split(/\s+/).some((token) => MUST_BE_QUOTED.test(token))) { + return fail(`Content-Security-Policy directive "${name}" contains ${JSON.stringify(item)}: keywords, nonces and hashes must be single-quoted (e.g. "'self'").`); + } + return item.trim(); + }); +} +function resolveSecurityHeaders(options = {}) { + if (!isPlainObject(options)) { + fail("expected an options object."); + } + for (const name of Object.keys(options)) { + if (!Object.hasOwn(OPTION_KEYS, name)) { + const current = HELMET_LEGACY_OPTION_NAMES[name]; + fail(`unknown option "${name}"` + (current ? ` (helmet's legacy name, use "${current}").` : ".")); + } + } + const headers = []; + const add = /* @__PURE__ */ __name((name, value) => headers.push([name, value]), "add"); + const csp = readOption(options, "contentSecurityPolicy", true); + if (csp) { + add(readBoolean(csp, "contentSecurityPolicy", "reportOnly", false) ? "Content-Security-Policy-Report-Only" : "Content-Security-Policy", serializeContentSecurityPolicy(csp)); + } + const coep = readOption(options, "crossOriginEmbedderPolicy", false); + if (coep) { + add("Cross-Origin-Embedder-Policy", pick("crossOriginEmbedderPolicy.policy", coep.policy, COEP_POLICIES, "require-corp")); + } + const coop = readOption(options, "crossOriginOpenerPolicy", true); + if (coop) { + add("Cross-Origin-Opener-Policy", pick("crossOriginOpenerPolicy.policy", coop.policy, COOP_POLICIES, "same-origin")); + } + const corp = readOption(options, "crossOriginResourcePolicy", true); + if (corp) { + add("Cross-Origin-Resource-Policy", pick("crossOriginResourcePolicy.policy", corp.policy, CORP_POLICIES, "same-origin")); + } + if (readOption(options, "originAgentCluster", true)) { + add("Origin-Agent-Cluster", "?1"); + } + const referrer = readOption(options, "referrerPolicy", true); + if (referrer) { + add("Referrer-Policy", resolveReferrerPolicy(referrer.policy)); + } + const hsts = readOption(options, "strictTransportSecurity", true); + if (hsts) { + add("Strict-Transport-Security", resolveHsts(hsts)); + } + if (readOption(options, "xContentTypeOptions", true)) { + add("X-Content-Type-Options", "nosniff"); + } + const dnsPrefetch = readOption(options, "xDnsPrefetchControl", true); + if (dnsPrefetch) { + const allow = readBoolean(dnsPrefetch, "xDnsPrefetchControl", "allow"); + add("X-DNS-Prefetch-Control", allow ? "on" : "off"); + } + if (readOption(options, "xDownloadOptions", true)) { + add("X-Download-Options", "noopen"); + } + const frameOptions = readOption(options, "xFrameOptions", true); + if (frameOptions) { + const { action } = frameOptions; + add("X-Frame-Options", pick("xFrameOptions.action", isString(action) ? action.toLowerCase() : action, X_FRAME_OPTIONS_ACTIONS, "sameorigin").toUpperCase()); + } + const crossDomain = readOption(options, "xPermittedCrossDomainPolicies", true); + if (crossDomain) { + add("X-Permitted-Cross-Domain-Policies", pick("xPermittedCrossDomainPolicies.permittedPolicies", crossDomain.permittedPolicies, X_PERMITTED_CROSS_DOMAIN_POLICIES, "none")); + } + if (readOption(options, "xXssProtection", true)) { + add("X-XSS-Protection", "0"); + } + const removeHeaders = readOption(options, "xPoweredBy", true) ? ["X-Powered-By"] : []; + return { headers, removeHeaders }; +} +function readOption(options, name, enabledByDefault) { + const value = options[name]; + if (value === void 0) { + return enabledByDefault ? {} : void 0; + } + if (typeof value === "boolean") { + return value ? {} : void 0; + } + const keys = OPTION_KEYS[name]; + if (keys.length === 0 || !isPlainObject(value)) { + return fail(`${name} must be a boolean${keys.length > 0 ? " or an object" : ""}, received ${JSON.stringify(value)}.`); + } + for (const key of Object.keys(value)) { + if (!keys.includes(key)) { + fail(`unknown option "${name}.${key}" (expected ${keys.map((k) => `"${k}"`).join(", ")}).`); + } + } + return value; +} +function readBoolean(object, option, key, fallback = false) { + const value = object[key]; + if (value === void 0) { + return fallback; + } + if (typeof value !== "boolean") { + fail(`${option}.${key} must be a boolean, received ${JSON.stringify(value)}.`); + } + return value; +} +function pick(option, value, allowed, fallback) { + if (value === void 0) { + return fallback; + } + if (!isString(value) || !allowed.includes(value)) { + fail(`${option} must be one of ${allowed.map((v) => `"${v}"`).join(", ")}, received ${JSON.stringify(value)}.`); + } + return value; +} +function resolveReferrerPolicy(policy) { + if (policy === void 0) { + return "no-referrer"; + } + const tokens = isString(policy) ? [policy] : policy; + if (!Array.isArray(tokens) || tokens.length === 0) { + fail("referrerPolicy.policy must be a token or a non-empty list."); + } + const unique = /* @__PURE__ */ new Set(); + for (const token of tokens) { + pick("referrerPolicy.policy", token, REFERRER_POLICIES, "no-referrer"); + if (unique.has(token)) { + fail(`referrerPolicy.policy contains "${token}" more than once.`); + } + unique.add(token); + } + return tokens.join(","); +} +function resolveHsts(option) { + const maxAge = option.maxAge ?? DEFAULT_HSTS_MAX_AGE; + if (typeof maxAge !== "number" || !Number.isFinite(maxAge) || maxAge < 0) { + fail(`strictTransportSecurity.maxAge must be a non-negative number of seconds, received ${JSON.stringify(maxAge)}.`); + } + let value = `max-age=${Math.floor(maxAge)}`; + if (readBoolean(option, "strictTransportSecurity", "includeSubDomains", true)) { + value += "; includeSubDomains"; + } + if (readBoolean(option, "strictTransportSecurity", "preload")) { + value += "; preload"; + } + return value; +} +var DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES, DEFAULT_HSTS_MAX_AGE, COEP_POLICIES, COOP_POLICIES, CORP_POLICIES, REFERRER_POLICIES, X_FRAME_OPTIONS_ACTIONS, X_PERMITTED_CROSS_DOMAIN_POLICIES, OPTION_KEYS, HELMET_LEGACY_OPTION_NAMES, MUST_BE_QUOTED, FORBIDDEN_VALUE_CHARACTERS, DIRECTIVE_NAME, NORMALIZED_DIRECTIVE_NAME, SecurityHeadersConfigurationError, fail; +var init_security_headers = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/security/security-headers.js"() { + init_internal(); + DEFAULT_CONTENT_SECURITY_POLICY_DIRECTIVES = Object.freeze({ + "default-src": ["'self'"], + "base-uri": ["'self'"], + "font-src": ["'self'", "https:", "data:"], + "form-action": ["'self'"], + "frame-ancestors": ["'self'"], + "img-src": ["'self'", "data:"], + "object-src": ["'none'"], + "script-src": ["'self'"], + "script-src-attr": ["'none'"], + "style-src": ["'self'", "https:", "'unsafe-inline'"], + "upgrade-insecure-requests": [] + }); + DEFAULT_HSTS_MAX_AGE = 365 * 24 * 60 * 60; + COEP_POLICIES = ["require-corp", "credentialless", "unsafe-none"]; + COOP_POLICIES = [ + "same-origin", + "same-origin-allow-popups", + "noopener-allow-popups", + "unsafe-none" + ]; + CORP_POLICIES = ["same-origin", "same-site", "cross-origin"]; + REFERRER_POLICIES = [ + "", + "no-referrer", + "no-referrer-when-downgrade", + "same-origin", + "origin", + "strict-origin", + "origin-when-cross-origin", + "strict-origin-when-cross-origin", + "unsafe-url" + ]; + X_FRAME_OPTIONS_ACTIONS = ["deny", "sameorigin"]; + X_PERMITTED_CROSS_DOMAIN_POLICIES = [ + "none", + "master-only", + "by-content-type", + "all" + ]; + OPTION_KEYS = { + contentSecurityPolicy: ["directives", "reportOnly", "useDefaults"], + crossOriginEmbedderPolicy: ["policy"], + crossOriginOpenerPolicy: ["policy"], + crossOriginResourcePolicy: ["policy"], + originAgentCluster: [], + referrerPolicy: ["policy"], + strictTransportSecurity: ["includeSubDomains", "maxAge", "preload"], + xContentTypeOptions: [], + xDnsPrefetchControl: ["allow"], + xDownloadOptions: [], + xFrameOptions: ["action"], + xPermittedCrossDomainPolicies: ["permittedPolicies"], + xPoweredBy: [], + xXssProtection: [] + }; + HELMET_LEGACY_OPTION_NAMES = { + dnsPrefetchControl: "xDnsPrefetchControl", + frameguard: "xFrameOptions", + hidePoweredBy: "xPoweredBy", + hsts: "strictTransportSecurity", + ieNoOpen: "xDownloadOptions", + noSniff: "xContentTypeOptions", + permittedCrossDomainPolicies: "xPermittedCrossDomainPolicies", + xssFilter: "xXssProtection" + }; + MUST_BE_QUOTED = /^(?:self|none|strict-dynamic|report-sample|inline-speculation-rules|unsafe-inline|unsafe-eval|unsafe-hashes|wasm-unsafe-eval|unsafe-allow-redirects)$|^(?:nonce|sha256|sha384|sha512)-[A-Za-z0-9+/_=-]+$/i; + FORBIDDEN_VALUE_CHARACTERS = /[;,]|[^\x20-\x7e]/; + DIRECTIVE_NAME = /^[a-zA-Z0-9-]+$/; + NORMALIZED_DIRECTIVE_NAME = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/; + SecurityHeadersConfigurationError = class extends Error { + static { + __name(this, "SecurityHeadersConfigurationError"); + } + constructor(message) { + super(`Invalid security headers configuration: ${message}`); + this.name = "SecurityHeadersConfigurationError"; + } + }; + fail = /* @__PURE__ */ __name((message) => { + throw new SecurityHeadersConfigurationError(message); + }, "fail"); + __name(serializeContentSecurityPolicy, "serializeContentSecurityPolicy"); + __name(normalizeDirectiveName, "normalizeDirectiveName"); + __name(normalizeDirectiveValue, "normalizeDirectiveValue"); + __name(resolveSecurityHeaders, "resolveSecurityHeaders"); + __name(readOption, "readOption"); + __name(readBoolean, "readBoolean"); + __name(pick, "pick"); + __name(resolveReferrerPolicy, "resolveReferrerPolicy"); + __name(resolveHsts, "resolveHsts"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application.js +import { platform } from "os"; +var import_iterare17, NestApplication; +var init_nest_application = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-application.js"() { + init_common(); + import_iterare17 = __toESM(require_lib(), 1); + init_application_config(); + init_constants2(); + init_cookie_signer(); + init_optional_require(); + init_safe_instance_decorator(); + init_injector(); + init_container2(); + init_middleware_module(); + init_utils2(); + init_nest_application_context(); + init_routes_resolver(); + init_common(); + init_internal(); + init_route_conflict_detector(); + init_route_specificity_sorter(); + init_cross_origin_protection(); + init_http_security_hook(); + init_security_headers(); + NestApplication = class _NestApplication extends NestApplicationContext { + static { + __name(this, "NestApplication"); + } + httpAdapter; + config; + graphInspector; + logger = new Logger(_NestApplication.name, { + timestamp: true + }); + middlewareModule; + middlewareContainer = new MiddlewareContainer(this.container); + microservicesModule = null; + socketModule = null; + routesResolver; + microservices = []; + httpServer; + isListening = false; + isWsModuleRegistered = false; + enabledSecurityFeatures = /* @__PURE__ */ new Set(); + securityHook; + constructor(container, httpAdapter, config, graphInspector, appOptions = {}) { + super(container, appOptions); + this.httpAdapter = httpAdapter; + this.config = config; + this.graphInspector = graphInspector; + this.config.setRouteConflictPolicy(appOptions.routeConflictPolicy); + this.config.setRouteResolutionStrategy(appOptions.routeResolutionStrategy); + this.applyCookiesOptions(appOptions); + this.selectContextModule(); + this.registerHttpServer(); + this.injector = new Injector({ + preview: this.appOptions.preview, + instanceDecorator: appOptions.instrument?.instanceDecorator + }); + this.middlewareModule = new MiddlewareModule(); + this.routesResolver = new RoutesResolver(this.container, this.config, this.injector, this.graphInspector); + } + async prepareClose() { + this.httpAdapter && await this.httpAdapter.beforeClose?.(); + } + async dispose() { + await this.socketModule?.close(); + await this.microservicesModule?.close(); + await this.httpAdapter?.close(); + this.isListening = false; + this.container.getHttpAdapterHostRef().listening = false; + await Promise.all((0, import_iterare17.iterate)(this.microservices).map(async (microservice) => { + microservice.setIsTerminated(true); + await microservice.close(); + })); + } + getHttpAdapter() { + return this.httpAdapter; + } + registerHttpServer() { + this.httpServer = this.createServer(); + } + getUnderlyingHttpServer() { + return this.httpAdapter.getHttpServer(); + } + applyOptions() { + if (!this.appOptions || !this.appOptions.cors) { + return void 0; + } + const passCustomOptions = isObject(this.appOptions.cors) || isFunction(this.appOptions.cors); + if (!passCustomOptions) { + return this.enableCors(); + } + return this.enableCors(this.appOptions.cors); + } + createServer() { + this.httpAdapter.initHttpServer(this.appOptions); + return this.httpAdapter.getHttpServer(); + } + async registerModules() { + await this.registerWsModule(); + if (this.microservicesModule) { + this.microservicesModule.register(this.container, this.graphInspector, this.config, this.appOptions); + this.microservicesModule.setupClients(this.container); + } + await this.middlewareModule.register(this.middlewareContainer, this.container, this.config, this.injector, this.httpAdapter, this.graphInspector, this.appOptions); + } + async registerWsModule() { + if (!this.socketModule) { + return; + } + await this.socketModule.register(this.container, this.config, this.graphInspector, this.appOptions, this.httpServer); + this.isWsModuleRegistered = true; + } + async init() { + if (this.isInitialized) { + return this; + } + try { + await Promise.all([ + this.loadSocketModule(), + this.loadMicroservicesModule() + ]); + this.applyOptions(); + this.securityHook?.init(this.config); + await this.httpAdapter?.init?.(); + const useBodyParser = this.appOptions && this.appOptions.bodyParser !== false; + useBodyParser && this.registerParserMiddleware(); + await this.registerModules(); + await this.registerRouter(); + await this.callInitHook(); + await this.registerRouterHooks(); + await this.callBootstrapHook(); + this.isInitialized = true; + this.logger.log(MESSAGES.APPLICATION_READY); + } finally { + this.flushLogsIfAutoFlushEnabled(); + } + return this; + } + registerParserMiddleware() { + const prefix = this.config.getGlobalPrefix(); + const rawBody = !!this.appOptions?.rawBody; + this.httpAdapter.registerParserMiddleware(prefix, rawBody); + } + async registerRouter() { + await this.registerMiddleware(this.httpAdapter); + const prefix = this.config.getGlobalPrefix(); + const basePath = addLeadingSlash(prefix); + const conflictPolicy = this.config.getRouteConflictPolicy(); + const resolutionStrategy = this.config.getRouteResolutionStrategy(); + const adapterIsOrderSensitive = this.httpAdapter.isRouteOrderSensitive?.() ?? true; + const shouldSortBySpecificity = resolutionStrategy === "specificity" && adapterIsOrderSensitive; + const adapterRejectsDuplicates = !adapterIsOrderSensitive; + if (!conflictPolicy && !shouldSortBySpecificity) { + this.routesResolver.resolve(this.httpAdapter, basePath); + return; + } + const resolvedRoutes = []; + this.routesResolver.resolve(this.httpAdapter, basePath, { + onRouteResolved: /* @__PURE__ */ __name((route) => resolvedRoutes.push(route), "onRouteResolved"), + deferRegistration: true + }); + const orderedRoutes = shouldSortBySpecificity ? RouteSpecificitySorter.sort(resolvedRoutes) : resolvedRoutes; + const routesToSkip = /* @__PURE__ */ new Set(); + if (conflictPolicy) { + const filteredPolicy = adapterIsOrderSensitive ? conflictPolicy : { duplicate: conflictPolicy.duplicate }; + const conflicts = RouteConflictDetector.detect(orderedRoutes, this.config.getVersioning()); + if (adapterRejectsDuplicates) { + conflicts.forEach((conflict) => { + if (conflict.kind === "duplicate") { + routesToSkip.add(conflict.shadowed); + } + }); + } + const effectiveConflicts = shouldSortBySpecificity ? RouteConflictDetector.filterSortResolvedShadows(conflicts, resolvedRoutes) : conflicts; + RouteConflictDetector.handle(effectiveConflicts, filteredPolicy, this.logger); + } + orderedRoutes.forEach((route) => { + if (routesToSkip.has(route)) + return; + this.routesResolver.registerResolvedRoute(this.httpAdapter, route); + }); + } + async registerRouterHooks() { + this.routesResolver.registerNotFoundHandler(); + this.routesResolver.registerExceptionHandler(); + } + connectMicroservice(microserviceOptions, hybridAppOptions = {}) { + const { NestMicroservice } = loadPackageCached("@nestjs/microservices", "NestFactory"); + const { inheritAppConfig } = hybridAppOptions; + const applicationConfig = inheritAppConfig ? this.config : new ApplicationConfig(); + const instance = new NestMicroservice(this.container, microserviceOptions, this.graphInspector, applicationConfig); + instance.setIsConnectedToApplication?.(true); + if (!hybridAppOptions.deferInitialization) { + instance.registerListeners(); + instance.setIsInitialized(true); + instance.setIsInitHookCalled(true); + } + this.microservices.push(instance); + return instance; + } + getMicroservices() { + return this.microservices; + } + getHttpServer() { + return this.httpServer; + } + async startAllMicroservices() { + this.assertNotInPreviewMode("startAllMicroservices"); + await Promise.all(this.microservices.map((msvc) => msvc.listen())); + return this; + } + use(...args) { + this.httpAdapter.use(...this.applyFunctionDecoratorIfRegistered(args)); + return this; + } + useBodyParser(...args) { + if (!("useBodyParser" in this.httpAdapter)) { + this.logger.warn("Your HTTP Adapter does not support `.useBodyParser`."); + return this; + } + const [parserType, ...otherArgs] = args; + const rawBody = !!this.appOptions.rawBody; + this.httpAdapter.useBodyParser?.(...[parserType, rawBody, ...otherArgs]); + return this; + } + enableCors(options) { + this.httpAdapter.enableCors(options); + } + enableCsrfProtection(options) { + this.assertSecurityFeatureCanBeEnabled("enableCsrfProtection"); + const protection = new CrossOriginProtection(this.httpAdapter, options); + this.getSecurityHook().setCrossOriginProtection(protection); + this.enabledSecurityFeatures.add("enableCsrfProtection"); + return this; + } + useSecurityHeaders(options) { + this.assertSecurityFeatureCanBeEnabled("useSecurityHeaders"); + const headers = resolveSecurityHeaders(options); + this.getSecurityHook().setHeaders(headers); + if (headers.removeHeaders.includes("X-Powered-By")) { + this.httpAdapter.disable?.("x-powered-by"); + } + this.enabledSecurityFeatures.add("useSecurityHeaders"); + return this; + } + enableVersioning(options = { type: VersioningType.URI }) { + this.config.enableVersioning(options); + return this; + } + async listen(port, ...args) { + this.assertNotInPreviewMode("listen"); + if (!this.isInitialized) { + await this.init(); + } + const httpAdapterHost = this.container.getHttpAdapterHostRef(); + return new Promise((resolve, reject) => { + const errorHandler = /* @__PURE__ */ __name((e) => { + this.logger.error(e?.toString?.()); + reject(e); + }, "errorHandler"); + this.httpServer.once("error", errorHandler); + const isCallbackInOriginalArgs = isFunction(args[args.length - 1]); + const listenFnArgs = isCallbackInOriginalArgs ? args.slice(0, args.length - 1) : args; + this.httpAdapter.listen(port, ...listenFnArgs, (...originalCallbackArgs) => { + this.flushLogsIfAutoFlushEnabled(); + if (originalCallbackArgs[0] instanceof Error) { + return reject(originalCallbackArgs[0]); + } + const address = this.httpServer.address(); + if (address) { + this.httpServer.removeListener("error", errorHandler); + this.isListening = true; + httpAdapterHost.listening = true; + resolve(this.httpServer); + } + if (isCallbackInOriginalArgs) { + args[args.length - 1](...originalCallbackArgs); + } + }); + }); + } + async getUrl() { + return new Promise((resolve, reject) => { + if (!this.isListening) { + this.logger.error(MESSAGES.CALL_LISTEN_FIRST); + reject(MESSAGES.CALL_LISTEN_FIRST); + return; + } + const address = this.httpServer.address(); + resolve(this.formatAddress(address)); + }); + } + formatAddress(address) { + if (isString(address)) { + if (platform() === "win32") { + return address; + } + const basePath = encodeURIComponent(address); + return `${this.getProtocol()}+unix://${basePath}`; + } + let host = this.host(); + if (address && address.family === "IPv6") { + if (host === "::") { + host = "[::1]"; + } else { + host = `[${host}]`; + } + } else if (host === "0.0.0.0") { + host = "127.0.0.1"; + } + return `${this.getProtocol()}://${host}:${address.port}`; + } + setGlobalPrefix(prefix, options) { + this.config.setGlobalPrefix(prefix); + if (options) { + const exclude = options?.exclude ? mapToExcludeRoute(options.exclude) : []; + this.config.setGlobalPrefixOptions({ + ...options, + exclude + }); + } + return this; + } + useWebSocketAdapter(adapter) { + if (this.isWsModuleRegistered) { + this.logger.warn("useWebSocketAdapter() was called after WebSocket gateways were already initialized. The provided adapter will be stored but will NOT be applied to existing gateways \u2014 they remain bound to the previously installed adapter. To install a custom adapter, call app.useWebSocketAdapter(...) BEFORE app.init() (or app.listen())."); + } + this.config.setIoAdapter(adapter); + return this; + } + useGlobalFilters(...filters) { + filters = this.applyInstanceDecoratorIfRegistered(...filters); + this.config.useGlobalFilters(...filters); + filters.forEach((item) => this.graphInspector.insertOrphanedEnhancer({ + subtype: "filter", + ref: item + })); + return this; + } + useGlobalPipes(...pipes) { + pipes = this.applyInstanceDecoratorIfRegistered(...pipes); + this.config.useGlobalPipes(...pipes); + pipes.forEach((item) => this.graphInspector.insertOrphanedEnhancer({ + subtype: "pipe", + ref: item + })); + return this; + } + useGlobalInterceptors(...interceptors) { + interceptors = this.applyInstanceDecoratorIfRegistered(...interceptors); + this.config.useGlobalInterceptors(...interceptors); + interceptors.forEach((item) => this.graphInspector.insertOrphanedEnhancer({ + subtype: "interceptor", + ref: item + })); + return this; + } + useGlobalGuards(...guards) { + guards = this.applyInstanceDecoratorIfRegistered(...guards); + this.config.useGlobalGuards(...guards); + guards.forEach((item) => this.graphInspector.insertOrphanedEnhancer({ + subtype: "guard", + ref: item + })); + return this; + } + useStaticAssets(pathOrOptions, options) { + this.httpAdapter.useStaticAssets?.(pathOrOptions, options); + return this; + } + setBaseViewsDir(path) { + this.httpAdapter.setBaseViewsDir?.(path); + return this; + } + setViewEngine(engineOrOptions) { + this.httpAdapter.setViewEngine?.(engineOrOptions); + return this; + } + /** + * Pre-load optional packages so that createNestApplication, + * createNestMicroservice and createHttpAdapter can stay synchronous. + */ + async preloadLazyPackages() { + await tryLoadPackage("@nestjs/platform-express", () => import("./platform-express-MGQH3ALM.js")); + await tryLoadPackage("@nestjs/microservices", () => import("@nestjs/microservices")); + } + /** + * Builds the cookie signer from the `cookies.secret` option and shares it + * between the route params factory (through the config), which verifies + * signed cookies, and the HTTP adapter, which signs them in `setCookie()`. + */ + applyCookiesOptions(appOptions) { + const secret = appOptions.cookies?.secret; + if (secret === void 0) { + return; + } + const signer = new CookieSigner(secret); + this.config.setCookieSigner(signer); + this.httpAdapter.setCookieSigner?.(signer); + } + host() { + const address = this.httpServer.address(); + if (isString(address)) { + return void 0; + } + return address && address.address; + } + getProtocol() { + return this.appOptions && this.appOptions.httpsOptions ? "https" : "http"; + } + /** + * Request-level security features are installed as a framework middleware + * or hook. After `init()` it would land behind the routes (Express) or be + * rejected by the framework (Fastify), leaving routes silently unprotected, + * so they fail loudly instead. A second call is rejected as well, as it + * would silently replace the first configuration. + */ + assertSecurityFeatureCanBeEnabled(methodName) { + if (!this.httpAdapter.registerSecurityHook) { + throw new Error(`Your HTTP Adapter does not support \`.${methodName}()\`.`); + } + if (this.isInitialized) { + throw new Error(`app.${methodName}() must be called before app.init() / app.listen().`); + } + if (this.enabledSecurityFeatures.has(methodName)) { + throw new Error(`app.${methodName}() can only be called once.`); + } + } + /** + * Both security features share one request hook, so that they run in a + * fixed order (headers, then the CSRF check) whichever is enabled first. + * It is registered with the adapter the first time either is enabled, + * i.e. at that position in the middleware chain. + */ + getSecurityHook() { + if (!this.securityHook) { + const hook = new HttpSecurityHook(); + this.httpAdapter.registerSecurityHook((request, response) => hook.handle(request, response)); + this.securityHook = hook; + } + return this.securityHook; + } + async registerMiddleware(instance) { + await this.middlewareModule.registerMiddleware(this.middlewareContainer, instance); + } + applyInstanceDecoratorIfRegistered(...instances) { + if (this.appOptions.instrument?.instanceDecorator) { + const decorate = makeSafeInstanceDecorator(this.appOptions.instrument.instanceDecorator); + return instances.map((instance) => decorate(instance)); + } + return instances; + } + applyFunctionDecoratorIfRegistered(args) { + if (!this.appOptions.instrument?.instanceDecorator) { + return args; + } + const decorate = makeSafeInstanceDecorator(this.appOptions.instrument.instanceDecorator); + const decorateFunction = /* @__PURE__ */ __name((arg) => { + if (!isFunction(arg)) { + return arg; + } + const decorated = decorate(arg); + return isFunction(decorated) ? decorated : arg; + }, "decorateFunction"); + return args.map(decorateFunction); + } + async loadSocketModule() { + if (!this.socketModule) { + const socketModule = await optionalRequire("@nestjs/websockets/socket-module", () => import("@nestjs/websockets/socket-module.js")); + if (socketModule?.SocketModule) { + this.socketModule = new socketModule.SocketModule(); + } + } + } + async loadMicroservicesModule() { + if (!this.microservicesModule) { + const msModule = await optionalRequire("@nestjs/microservices/microservices-module", () => import("@nestjs/microservices/microservices-module.js")); + if (msModule?.MicroservicesModule) { + this.microservicesModule = new msModule.MicroservicesModule(); + await loadPackage("@nestjs/microservices", "NestFactory", () => import("@nestjs/microservices")); + } + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exception-handler.js +var ExceptionHandler; +var init_exception_handler = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exception-handler.js"() { + init_common(); + ExceptionHandler = class _ExceptionHandler { + static { + __name(this, "ExceptionHandler"); + } + static logger = new Logger(_ExceptionHandler.name); + handle(exception) { + _ExceptionHandler.logger.error(exception); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions-zone.js +var DEFAULT_TEARDOWN, ExceptionsZone; +var init_exceptions_zone = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions-zone.js"() { + init_common(); + init_exception_handler(); + DEFAULT_TEARDOWN = /* @__PURE__ */ __name(() => process.exit(1), "DEFAULT_TEARDOWN"); + ExceptionsZone = class { + static { + __name(this, "ExceptionsZone"); + } + static exceptionHandler = new ExceptionHandler(); + static run(callback, teardown = DEFAULT_TEARDOWN, autoFlushLogs) { + try { + callback(); + } catch (e) { + this.exceptionHandler.handle(e); + if (autoFlushLogs) { + Logger.flush(); + } + teardown(e); + } + } + static async asyncRun(callback, teardown = DEFAULT_TEARDOWN, autoFlushLogs) { + try { + await callback(); + } catch (e) { + this.exceptionHandler.handle(e); + if (autoFlushLogs) { + Logger.flush(); + } + teardown(e); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/load-adapter.js +async function loadAdapter(defaultPlatform, transport, loaderFn) { + try { + return loaderFn ? await loaderFn() : await import(defaultPlatform); + } catch (e) { + logger2.error(MISSING_REQUIRED_DEPENDENCY(defaultPlatform, transport)); + process.exit(1); + } +} +var MISSING_REQUIRED_DEPENDENCY, logger2; +var init_load_adapter = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/load-adapter.js"() { + init_common(); + MISSING_REQUIRED_DEPENDENCY = /* @__PURE__ */ __name((defaultPlatform, transport) => `No driver (${transport}) has been selected. In order to use the default driver, please, install the "${defaultPlatform}" package ($ npm install ${defaultPlatform}).`, "MISSING_REQUIRED_DEPENDENCY"); + logger2 = new Logger("PackageLoader"); + __name(loadAdapter, "loadAdapter"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/rethrow.js +var rethrow; +var init_rethrow = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/helpers/rethrow.js"() { + rethrow = /* @__PURE__ */ __name((err) => { + throw err; + }, "rethrow"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-loader.js +var InstanceLoader; +var init_instance_loader = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/instance-loader.js"() { + init_common(); + init_discoverable_meta_host_collection(); + init_messages2(); + init_internal_core_module(); + InstanceLoader = class _InstanceLoader { + static { + __name(this, "InstanceLoader"); + } + container; + injector; + graphInspector; + logger; + constructor(container, injector, graphInspector, logger3 = new Logger(_InstanceLoader.name, { + timestamp: true + })) { + this.container = container; + this.injector = injector; + this.graphInspector = graphInspector; + this.logger = logger3; + } + setLogger(logger3) { + this.logger = logger3; + } + async createInstancesOfDependencies(modules = this.container.getModules()) { + this.createPrototypes(modules); + try { + await this.createInstances(modules); + } catch (err) { + this.graphInspector.inspectModules(modules); + this.graphInspector.registerPartial(err); + throw err; + } + this.graphInspector.inspectModules(modules); + } + createPrototypes(modules) { + modules.forEach((moduleRef) => { + this.createPrototypesOfProviders(moduleRef); + this.createPrototypesOfInjectables(moduleRef); + this.createPrototypesOfControllers(moduleRef); + }); + } + async createInstances(modules) { + await Promise.all([...modules.values()].map(async (moduleRef) => { + await this.createInstancesOfProviders(moduleRef); + await this.createInstancesOfInjectables(moduleRef); + await this.createInstancesOfControllers(moduleRef); + const { name } = moduleRef; + this.isModuleWhitelisted(name) && this.logger.log(MODULE_INIT_MESSAGE`${name}`); + })); + } + createPrototypesOfProviders(moduleRef) { + const { providers } = moduleRef; + providers.forEach((wrapper) => this.injector.loadPrototype(wrapper, providers)); + } + async createInstancesOfProviders(moduleRef) { + const { providers } = moduleRef; + const wrappers = [...providers.values()]; + await Promise.all(wrappers.map(async (item) => { + await this.injector.loadProvider(item, moduleRef); + this.graphInspector.inspectInstanceWrapper(item, moduleRef); + if (!item.isAlias) { + DiscoverableMetaHostCollection.inspectProvider(this.container.getModules(), item); + } + })); + } + createPrototypesOfControllers(moduleRef) { + const { controllers } = moduleRef; + controllers.forEach((wrapper) => this.injector.loadPrototype(wrapper, controllers)); + } + async createInstancesOfControllers(moduleRef) { + const { controllers } = moduleRef; + const wrappers = [...controllers.values()]; + await Promise.all(wrappers.map(async (item) => { + await this.injector.loadController(item, moduleRef); + this.graphInspector.inspectInstanceWrapper(item, moduleRef); + })); + } + createPrototypesOfInjectables(moduleRef) { + const { injectables } = moduleRef; + injectables.forEach((wrapper) => this.injector.loadPrototype(wrapper, injectables)); + } + async createInstancesOfInjectables(moduleRef) { + const { injectables } = moduleRef; + const wrappers = [...injectables.values()]; + await Promise.all(wrappers.map(async (item) => { + await this.injector.loadInjectable(item, moduleRef); + this.graphInspector.inspectInstanceWrapper(item, moduleRef); + })); + } + isModuleWhitelisted(name) { + return name !== InternalCoreModule.name; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/noop-graph-inspector.js +var noop4, NoopGraphInspector; +var init_noop_graph_inspector = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/inspector/noop-graph-inspector.js"() { + init_graph_inspector(); + noop4 = /* @__PURE__ */ __name(() => { + }, "noop"); + NoopGraphInspector = new Proxy(GraphInspector.prototype, { + get: /* @__PURE__ */ __name(() => noop4, "get") + }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-module.exception.js +var InvalidClassModuleException; +var init_invalid_class_module_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-class-module.exception.js"() { + init_messages(); + init_runtime_exception(); + InvalidClassModuleException = class extends RuntimeException { + static { + __name(this, "InvalidClassModuleException"); + } + constructor(metatypeUsedAsAModule, scope, classKind) { + super(USING_INVALID_CLASS_AS_A_MODULE_MESSAGE(metatypeUsedAsAModule, scope, classKind)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-module.exception.js +var InvalidModuleException; +var init_invalid_module_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/invalid-module.exception.js"() { + init_messages(); + init_runtime_exception(); + InvalidModuleException = class extends RuntimeException { + static { + __name(this, "InvalidModuleException"); + } + constructor(parentModule, index, scope, receivedValue) { + super(INVALID_MODULE_MESSAGE(parentModule, index, scope, receivedValue)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-global-enhancer.exception.js +var RequestScopedGlobalEnhancerException; +var init_request_scoped_global_enhancer_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/request-scoped-global-enhancer.exception.js"() { + init_messages(); + init_runtime_exception(); + RequestScopedGlobalEnhancerException = class extends RuntimeException { + static { + __name(this, "RequestScopedGlobalEnhancerException"); + } + constructor(enhancerToken, provider, kind) { + super(REQUEST_SCOPED_GLOBAL_ENHANCER_MESSAGE(enhancerToken, provider, kind)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-module.exception.js +var UndefinedModuleException; +var init_undefined_module_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/undefined-module.exception.js"() { + init_runtime_exception(); + init_messages(); + UndefinedModuleException = class extends RuntimeException { + static { + __name(this, "UndefinedModuleException"); + } + constructor(parentModule, index, scope) { + super(UNDEFINED_MODULE_MESSAGE(parentModule, index, scope)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/uninstantiated-global-enhancer.exception.js +var UninstantiatedGlobalEnhancerException; +var init_uninstantiated_global_enhancer_exception = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/errors/exceptions/uninstantiated-global-enhancer.exception.js"() { + init_messages(); + init_runtime_exception(); + UninstantiatedGlobalEnhancerException = class extends RuntimeException { + static { + __name(this, "UninstantiatedGlobalEnhancerException"); + } + constructor(enhancerToken, provider) { + super(UNINSTANTIATED_GLOBAL_ENHANCER_MESSAGE(enhancerToken, provider)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module-factory.js +var InternalCoreModuleFactory; +var init_internal_core_module_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/internal-core-module-factory.js"() { + init_common(); + init_external_context_creator(); + init_http_adapter_host(); + init_initialize_on_preview_allowlist(); + init_serialized_graph(); + init_injector(); + init_instance_loader(); + init_lazy_module_loader(); + init_modules_container(); + init_internal_core_module(); + InternalCoreModuleFactory = class { + static { + __name(this, "InternalCoreModuleFactory"); + } + static create(container, scanner, moduleCompiler, httpAdapterHost, graphInspector, moduleOverrides) { + const lazyModuleLoaderFactory = /* @__PURE__ */ __name(() => { + const logger3 = new Logger(LazyModuleLoader.name, { + timestamp: false + }); + const injector = new Injector({ + preview: container.contextOptions?.preview ?? false, + instanceDecorator: container.contextOptions?.instrument?.instanceDecorator + }); + const instanceLoader = new InstanceLoader(container, injector, graphInspector, logger3); + return new LazyModuleLoader(scanner, instanceLoader, moduleCompiler, container.getModules(), moduleOverrides); + }, "lazyModuleLoaderFactory"); + InitializeOnPreviewAllowlist.add(InternalCoreModule); + return InternalCoreModule.register([ + { + provide: ExternalContextCreator, + useFactory: /* @__PURE__ */ __name(() => ExternalContextCreator.fromContainer(container), "useFactory") + }, + { + provide: ModulesContainer, + useFactory: /* @__PURE__ */ __name(() => container.getModules(), "useFactory") + }, + { + provide: HttpAdapterHost, + useFactory: /* @__PURE__ */ __name(() => httpAdapterHost, "useFactory") + }, + { + provide: LazyModuleLoader, + useFactory: lazyModuleLoaderFactory + }, + { + provide: SerializedGraph, + useFactory: /* @__PURE__ */ __name(() => container.serializedGraph, "useFactory") + } + ]); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/tree-node.js +var TreeNode; +var init_tree_node = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/tree-node.js"() { + TreeNode = class { + static { + __name(this, "TreeNode"); + } + value; + children = /* @__PURE__ */ new Set(); + parent; + constructor({ value, parent }) { + this.value = value; + this.parent = parent; + } + addChild(child) { + this.children.add(child); + } + removeChild(child) { + this.children.delete(child); + } + relink(parent) { + this.parent?.removeChild(this); + this.parent = parent; + this.parent.addChild(this); + } + getDepth() { + const visited = /* @__PURE__ */ new Set(); + let depth = 0; + let current = this; + while (current) { + depth++; + current = current.parent; + if (visited.has(current)) { + return -1; + } + visited.add(current); + } + return depth; + } + hasCycleWith(target) { + const visited = /* @__PURE__ */ new Set(); + let current = this; + while (current) { + if (current.value === target) { + return true; + } + current = current.parent; + if (visited.has(current)) { + return false; + } + visited.add(current); + } + return false; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/topology-tree.js +var TopologyTree; +var init_topology_tree = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/topology-tree/topology-tree.js"() { + init_tree_node(); + TopologyTree = class { + static { + __name(this, "TopologyTree"); + } + root; + links = /* @__PURE__ */ new Map(); + constructor(moduleRef) { + this.root = new TreeNode({ + value: moduleRef, + parent: null + }); + this.links.set(moduleRef, this.root); + this.traverseAndMapToTree(this.root); + } + walk(callback) { + function walkNode(node, depth = 1) { + callback(node.value, depth); + node.children.forEach((child) => walkNode(child, depth + 1)); + } + __name(walkNode, "walkNode"); + walkNode(this.root); + } + traverseAndMapToTree(node, depth = 1) { + if (!node.value.imports) { + return; + } + node.value.imports.forEach((child) => { + if (!child) { + return; + } + if (this.links.has(child)) { + const existingSubtree = this.links.get(child); + if (node.hasCycleWith(child)) { + return; + } + const existingDepth = existingSubtree.getDepth(); + if (existingDepth < depth) { + existingSubtree.relink(node); + } + return; + } + const childNode = new TreeNode({ + value: child, + parent: node + }); + node.addChild(childNode); + this.links.set(child, childNode); + this.traverseAndMapToTree(childNode, depth + 1); + }); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/scanner.js +var import_iterare18, DependenciesScanner; +var init_scanner = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/scanner.js"() { + import_iterare18 = __toESM(require_lib(), 1); + init_application_config(); + init_constants2(); + init_circular_dependency_exception(); + init_invalid_class_module_exception(); + init_invalid_module_exception(); + init_request_scoped_global_enhancer_exception(); + init_undefined_module_exception(); + init_uninstantiated_global_enhancer_exception(); + init_get_class_scope(); + init_constants3(); + init_internal_core_module_factory(); + init_topology_tree(); + init_uuid_factory(); + init_internal(); + init_common(); + DependenciesScanner = class { + static { + __name(this, "DependenciesScanner"); + } + container; + metadataScanner; + graphInspector; + applicationConfig; + applicationProvidersApplyMap = []; + constructor(container, metadataScanner, graphInspector, applicationConfig = new ApplicationConfig()) { + this.container = container; + this.metadataScanner = metadataScanner; + this.graphInspector = graphInspector; + this.applicationConfig = applicationConfig; + } + async scan(module, options) { + await this.registerCoreModule(options?.overrides); + await this.scanForModules({ + moduleDefinition: module, + overrides: options?.overrides + }); + await this.scanModulesForDependencies(); + this.addScopedEnhancersMetadata(); + this.calculateModulesDistance(); + this.container.bindGlobalScope(); + } + async scanForModules({ moduleDefinition, lazy, scope = [], ctxRegistry = [], overrides = [] }) { + const { moduleRef: moduleInstance, inserted: moduleInserted } = await this.insertOrOverrideModule(moduleDefinition, overrides, scope) ?? {}; + if (lazy && !moduleInserted && moduleInstance?.isInstantiated) { + return []; + } + moduleDefinition = this.getOverrideModuleByModule(moduleDefinition, overrides)?.newModule ?? moduleDefinition; + moduleDefinition = moduleDefinition instanceof Promise ? await moduleDefinition : moduleDefinition; + ctxRegistry.push(moduleDefinition); + if (this.isForwardReference(moduleDefinition)) { + moduleDefinition = moduleDefinition.forwardRef(); + } + const modules = !this.isDynamicModule(moduleDefinition) ? this.reflectMetadata(MODULE_METADATA.IMPORTS, moduleDefinition) : [ + ...this.reflectMetadata(MODULE_METADATA.IMPORTS, moduleDefinition.module), + ...moduleDefinition.imports || [] + ]; + let registeredModuleRefs = []; + for (const [index, innerModule] of modules.entries()) { + if (innerModule === void 0) { + throw new UndefinedModuleException(moduleDefinition, index, scope); + } + if (!innerModule) { + throw new InvalidModuleException(moduleDefinition, index, scope, innerModule); + } + if (ctxRegistry.includes(innerModule)) { + continue; + } + const moduleRefs = await this.scanForModules({ + moduleDefinition: innerModule, + scope: [].concat(scope, moduleDefinition), + ctxRegistry, + overrides, + lazy + }); + registeredModuleRefs = registeredModuleRefs.concat(moduleRefs); + } + if (!moduleInstance) { + return registeredModuleRefs; + } + if (lazy) { + this.container.bindGlobalsToImports(moduleInstance); + } + return [moduleInstance].concat(registeredModuleRefs); + } + async insertModule(moduleDefinition, scope) { + const moduleToAdd = this.isForwardReference(moduleDefinition) ? moduleDefinition.forwardRef() : moduleDefinition; + if (this.isInjectable(moduleToAdd)) { + throw new InvalidClassModuleException(moduleDefinition, scope, "provider"); + } + if (this.isController(moduleToAdd)) { + throw new InvalidClassModuleException(moduleDefinition, scope, "controller"); + } + if (this.isExceptionFilter(moduleToAdd)) { + throw new InvalidClassModuleException(moduleDefinition, scope, "filter"); + } + return this.container.addModule(moduleToAdd, scope); + } + async scanModulesForDependencies(modules = this.container.getModules()) { + for (const [token, { metatype }] of modules) { + await this.reflectImports(metatype, token, metatype.name); + this.reflectProviders(metatype, token); + this.reflectControllers(metatype, token); + this.reflectExports(metatype, token); + } + } + async reflectImports(module, token, context) { + const modules = [ + ...this.reflectMetadata(MODULE_METADATA.IMPORTS, module), + ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.IMPORTS) + ]; + for (const related of modules) { + await this.insertImport(related, token, context); + } + } + reflectProviders(module, token) { + const providers = [ + ...this.reflectMetadata(MODULE_METADATA.PROVIDERS, module), + ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.PROVIDERS) + ]; + const applyProvidersKeys = Object.keys(this.getApplyProvidersMap()); + providers.forEach((provider) => { + this.insertProvider(provider, token); + if (!this.isCustomProvider(provider)) { + return this.reflectDynamicMetadata(provider, token); + } + const { provide, useClass } = provider; + if (!applyProvidersKeys.includes(provide)) { + this.reflectDynamicMetadata(useClass, token, provide); + } + }); + } + reflectControllers(module, token) { + const controllers = [ + ...this.reflectMetadata(MODULE_METADATA.CONTROLLERS, module), + ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.CONTROLLERS) + ]; + controllers.forEach((item) => { + this.insertController(item, token); + this.reflectDynamicMetadata(item, token); + }); + } + reflectDynamicMetadata(cls, token, hostToken = cls) { + if (!cls || !cls.prototype) { + return; + } + this.reflectInjectables(cls, token, GUARDS_METADATA, hostToken); + this.reflectInjectables(cls, token, INTERCEPTORS_METADATA, hostToken); + this.reflectInjectables(cls, token, EXCEPTION_FILTERS_METADATA, hostToken); + this.reflectInjectables(cls, token, PIPES_METADATA, hostToken); + this.reflectParamInjectables(cls, token, ROUTE_ARGS_METADATA, hostToken); + } + reflectExports(module, token) { + const exports = [ + ...this.reflectMetadata(MODULE_METADATA.EXPORTS, module), + ...this.container.getDynamicMetadataByToken(token, MODULE_METADATA.EXPORTS) + ]; + exports.forEach((exportedProvider) => this.insertExportedProviderOrModule(exportedProvider, token)); + } + reflectInjectables(component, token, metadataKey, hostToken = component) { + const controllerInjectables = this.reflectMetadata(metadataKey, component); + const methodInjectables = this.metadataScanner.getAllMethodNames(component.prototype).reduce((acc, method) => { + const methodInjectable = this.reflectKeyMetadata(component, metadataKey, method); + if (methodInjectable) { + acc.push(methodInjectable); + } + return acc; + }, []); + controllerInjectables.forEach((injectable) => this.insertInjectable(injectable, token, hostToken, ENHANCER_KEY_TO_SUBTYPE_MAP[metadataKey])); + methodInjectables.forEach((methodInjectable) => { + methodInjectable.metadata.forEach((injectable) => this.insertInjectable(injectable, token, hostToken, ENHANCER_KEY_TO_SUBTYPE_MAP[metadataKey], methodInjectable.methodKey)); + }); + } + reflectParamInjectables(component, token, metadataKey, hostToken = component) { + const paramsMethods = this.metadataScanner.getAllMethodNames(component.prototype); + paramsMethods.forEach((methodKey) => { + const metadata = Reflect.getMetadata(metadataKey, component, methodKey); + if (!metadata) { + return; + } + const params = Object.values(metadata); + params.map((item) => item.pipes).flat(1).forEach((injectable) => this.insertInjectable(injectable, token, hostToken, "pipe", methodKey)); + }); + } + reflectKeyMetadata(component, key, methodKey) { + let prototype = component.prototype; + do { + const descriptor = Reflect.getOwnPropertyDescriptor(prototype, methodKey); + if (!descriptor) { + continue; + } + const metadata = Reflect.getMetadata(key, descriptor.value); + if (!metadata) { + return; + } + return { methodKey, metadata }; + } while ((prototype = Reflect.getPrototypeOf(prototype)) && prototype !== Object.prototype && prototype); + return void 0; + } + calculateModulesDistance() { + const modulesGenerator = this.container.getModules().values(); + modulesGenerator.next(); + const rootModule = modulesGenerator.next().value; + if (!rootModule) { + return; + } + const tree = new TopologyTree(rootModule); + tree.walk((moduleRef, depth) => { + if (moduleRef.isGlobal) { + return; + } + moduleRef.distance = depth; + }); + } + async insertImport(related, token, context) { + if (isUndefined(related)) { + throw new CircularDependencyException(context); + } + if (this.isForwardReference(related)) { + return this.container.addImport(related.forwardRef(), token); + } + await this.container.addImport(related, token); + } + isCustomProvider(provider) { + return provider && !isNil(provider.provide); + } + insertProvider(provider, token) { + const isCustomProvider = this.isCustomProvider(provider); + if (!isCustomProvider) { + return this.container.addProvider(provider, token); + } + const applyProvidersMap = this.getApplyProvidersMap(); + const providersKeys = Object.keys(applyProvidersMap); + const type = provider.provide; + if (!providersKeys.includes(type)) { + return this.container.addProvider(provider, token); + } + const uuid = UuidFactory.get(type.toString()); + const providerToken = `${type} (UUID: ${uuid})`; + let scope = provider.scope; + if (isNil(scope) && provider.useClass) { + scope = getClassScope(provider.useClass); + } + const existing = provider.useExisting; + if (isNil(scope) && isFunction(existing)) { + scope = getClassScope(existing); + } + this.applicationProvidersApplyMap.push({ + type, + moduleKey: token, + providerKey: providerToken, + scope + }); + const newProvider = { + ...provider, + provide: providerToken, + scope + }; + const enhancerSubtype = ENHANCER_TOKEN_TO_SUBTYPE_MAP[type]; + const factoryOrClassProvider = newProvider; + if (this.isRequestOrTransient(factoryOrClassProvider.scope)) { + return this.container.addInjectable(newProvider, token, enhancerSubtype); + } + this.container.addProvider(newProvider, token, enhancerSubtype); + } + insertInjectable(injectable, token, host, subtype, methodKey) { + if (isFunction(injectable)) { + const instanceWrapper = this.container.addInjectable(injectable, token, subtype, host); + this.graphInspector.insertEnhancerMetadataCache({ + moduleToken: token, + classRef: host, + enhancerInstanceWrapper: instanceWrapper, + targetNodeId: instanceWrapper.id, + subtype, + methodKey + }); + return instanceWrapper; + } else { + this.graphInspector.insertEnhancerMetadataCache({ + moduleToken: token, + classRef: host, + enhancerRef: injectable, + methodKey, + subtype + }); + } + } + insertExportedProviderOrModule(toExport, token) { + const fulfilledProvider = this.isForwardReference(toExport) ? toExport.forwardRef() : toExport; + this.container.addExportedProviderOrModule(fulfilledProvider, token); + } + insertController(controller, token) { + this.container.addController(controller, token); + } + insertOrOverrideModule(moduleDefinition, overrides, scope) { + const overrideModule = this.getOverrideModuleByModule(moduleDefinition, overrides); + if (overrideModule !== void 0) { + return this.overrideModule(moduleDefinition, overrideModule.newModule, scope); + } + return this.insertModule(moduleDefinition, scope); + } + getOverrideModuleByModule(module, overrides) { + if (this.isForwardReference(module)) { + return overrides.find((moduleToOverride) => { + return moduleToOverride.moduleToReplace === module.forwardRef() || moduleToOverride.moduleToReplace.forwardRef?.() === module.forwardRef(); + }); + } + return overrides.find((moduleToOverride) => moduleToOverride.moduleToReplace === module); + } + async overrideModule(moduleToOverride, newModule, scope) { + return this.container.replaceModule(this.isForwardReference(moduleToOverride) ? moduleToOverride.forwardRef() : moduleToOverride, this.isForwardReference(newModule) ? newModule.forwardRef() : newModule, scope); + } + reflectMetadata(metadataKey, metatype) { + return Reflect.getMetadata(metadataKey, metatype) || []; + } + async registerCoreModule(overrides) { + const moduleDefinition = InternalCoreModuleFactory.create(this.container, this, this.container.getModuleCompiler(), this.container.getHttpAdapterHostRef(), this.graphInspector, overrides); + const [instance] = await this.scanForModules({ + moduleDefinition, + overrides + }); + this.container.registerCoreModuleRef(instance); + } + /** + * Add either request or transient globally scoped enhancers + * to all controllers metadata storage + */ + addScopedEnhancersMetadata() { + (0, import_iterare18.iterate)(this.applicationProvidersApplyMap).filter((wrapper) => this.isRequestOrTransient(wrapper.scope)).forEach(({ moduleKey, providerKey }) => { + const modulesContainer = this.container.getModules(); + const { injectables } = modulesContainer.get(moduleKey); + const instanceWrapper = injectables.get(providerKey); + const iterableIterator = modulesContainer.values(); + (0, import_iterare18.iterate)(iterableIterator).map((moduleRef) => Array.from(moduleRef.controllers.values()).concat(moduleRef.entryProviders)).flatten().forEach((controllerOrEntryProvider) => controllerOrEntryProvider.addEnhancerMetadata(instanceWrapper)); + }); + } + applyApplicationProviders() { + const applyProvidersMap = this.getApplyProvidersMap(); + const applyRequestProvidersMap = this.getApplyRequestProvidersMap(); + const getInstanceWrapper = /* @__PURE__ */ __name((moduleKey, providerKey, collectionKey) => { + const modules = this.container.getModules(); + const collection = modules.get(moduleKey)[collectionKey]; + return collection.get(providerKey); + }, "getInstanceWrapper"); + this.applicationProvidersApplyMap.forEach(({ moduleKey, providerKey, type, scope }) => { + let instanceWrapper; + if (this.isRequestOrTransient(scope)) { + instanceWrapper = getInstanceWrapper(moduleKey, providerKey, "injectables"); + this.graphInspector.insertAttachedEnhancer(instanceWrapper); + return applyRequestProvidersMap[type](instanceWrapper); + } + instanceWrapper = getInstanceWrapper(moduleKey, providerKey, "providers"); + this.graphInspector.insertAttachedEnhancer(instanceWrapper); + if (!instanceWrapper.isDependencyTreeStatic()) { + const [kind, provider] = this.describeEnhancerProvider(instanceWrapper); + throw new RequestScopedGlobalEnhancerException(type, provider, kind); + } + if (!instanceWrapper.getInstanceByContextId(STATIC_CONTEXT).isResolved) { + const [, provider] = this.describeEnhancerProvider(instanceWrapper); + throw new UninstantiatedGlobalEnhancerException(type, provider); + } + applyProvidersMap[type](instanceWrapper.instance); + }); + } + describeEnhancerProvider(wrapper) { + if (wrapper.isAlias) { + const [target] = wrapper.inject ?? []; + const name = isFunction(target) ? target.name : String(target); + return ["useExisting", `useExisting: ${name}`]; + } + if (isNil(wrapper.inject)) { + return ["useClass", `useClass: ${wrapper.metatype.name}`]; + } + return ["useFactory", "useFactory"]; + } + getApplyProvidersMap() { + return { + [APP_INTERCEPTOR]: (interceptor) => this.applicationConfig.addGlobalInterceptor(interceptor), + [APP_PIPE]: (pipe) => this.applicationConfig.addGlobalPipe(pipe), + [APP_GUARD]: (guard) => this.applicationConfig.addGlobalGuard(guard), + [APP_FILTER]: (filter) => this.applicationConfig.addGlobalFilter(filter) + }; + } + getApplyRequestProvidersMap() { + return { + [APP_INTERCEPTOR]: (interceptor) => this.applicationConfig.addGlobalRequestInterceptor(interceptor), + [APP_PIPE]: (pipe) => this.applicationConfig.addGlobalRequestPipe(pipe), + [APP_GUARD]: (guard) => this.applicationConfig.addGlobalRequestGuard(guard), + [APP_FILTER]: (filter) => this.applicationConfig.addGlobalRequestFilter(filter) + }; + } + isDynamicModule(module) { + return module && !!module.module; + } + /** + * @param metatype + * @returns `true` if `metatype` is annotated with the `@Injectable()` decorator. + */ + isInjectable(metatype) { + return !!Reflect.getMetadata(INJECTABLE_WATERMARK, metatype); + } + /** + * @param metatype + * @returns `true` if `metatype` is annotated with the `@Controller()` decorator. + */ + isController(metatype) { + return !!Reflect.getMetadata(CONTROLLER_WATERMARK, metatype); + } + /** + * @param metatype + * @returns `true` if `metatype` is annotated with the `@Catch()` decorator. + */ + isExceptionFilter(metatype) { + return !!Reflect.getMetadata(CATCH_WATERMARK, metatype); + } + isForwardReference(module) { + return module && !!module.forwardRef; + } + isRequestOrTransient(scope) { + return scope === Scope.REQUEST || scope === Scope.TRANSIENT; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-factory.js +var NestFactoryStatic, NestFactory; +var init_nest_factory = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/nest-factory.js"() { + init_application_config(); + init_constants2(); + init_exceptions_zone(); + init_load_adapter(); + init_rethrow(); + init_container(); + init_injector(); + init_instance_loader(); + init_graph_inspector(); + init_noop_graph_inspector(); + init_uuid_factory(); + init_metadata_scanner(); + init_nest_application_context(); + init_nest_application(); + init_scanner(); + init_internal(); + init_common(); + NestFactoryStatic = class { + static { + __name(this, "NestFactoryStatic"); + } + logger = new Logger("NestFactory", { + timestamp: true + }); + abortOnError = true; + autoFlushLogs = false; + async create(moduleCls, serverOrOptions, options) { + const [httpServer, appOptions] = this.isHttpServer(serverOrOptions) ? [serverOrOptions, options] : [await this.createHttpAdapter(), serverOrOptions]; + const applicationConfig = new ApplicationConfig(); + const container = new NestContainer(applicationConfig, appOptions); + const graphInspector = this.createGraphInspector(appOptions, container); + this.setAbortOnError(serverOrOptions, options); + this.registerLoggerConfiguration(appOptions); + await this.initialize(moduleCls, container, graphInspector, applicationConfig, appOptions, httpServer); + const instance = new NestApplication(container, httpServer, applicationConfig, graphInspector, appOptions); + await instance.preloadLazyPackages(); + const target = this.createNestInstance(instance); + return this.createAdapterProxy(target, httpServer); + } + /** + * Creates an instance of NestMicroservice. + * + * @param moduleCls Entry (root) application module class + * @param options Optional microservice configuration + * + * @returns A promise that, when resolved, + * contains a reference to the NestMicroservice instance. + */ + async createMicroservice(moduleCls, options) { + const { NestMicroservice } = await loadPackage("@nestjs/microservices", "NestFactory", () => import("@nestjs/microservices")); + const applicationConfig = new ApplicationConfig(); + const container = new NestContainer(applicationConfig, options); + const graphInspector = this.createGraphInspector(options, container); + this.setAbortOnError(options); + this.registerLoggerConfiguration(options); + await this.initialize(moduleCls, container, graphInspector, applicationConfig, options); + return this.createNestInstance(new NestMicroservice(container, options, graphInspector, applicationConfig)); + } + /** + * Creates an instance of NestApplicationContext. + * + * @param moduleCls Entry (root) application module class + * @param options Optional Nest application configuration + * + * @returns A promise that, when resolved, + * contains a reference to the NestApplicationContext instance. + */ + async createApplicationContext(moduleCls, options) { + const applicationConfig = new ApplicationConfig(); + const container = new NestContainer(applicationConfig, options); + const graphInspector = this.createGraphInspector(options, container); + this.setAbortOnError(options); + this.registerLoggerConfiguration(options); + await this.initialize(moduleCls, container, graphInspector, applicationConfig, options); + const modules = container.getModules().values(); + const root = modules.next().value; + const context = this.createNestInstance(new NestApplicationContext(container, options, root)); + if (this.autoFlushLogs) { + context.flushLogsOnOverride(); + } + return context.init(); + } + createNestInstance(instance) { + return this.createProxy(instance); + } + async initialize(module, container, graphInspector, config = new ApplicationConfig(), options = {}, httpServer = null) { + UuidFactory.mode = options.snapshot ? UuidFactoryMode.Deterministic : UuidFactoryMode.Random; + const injector = new Injector({ + preview: options.preview, + snapshot: options.snapshot, + instanceDecorator: options.instrument?.instanceDecorator + }); + const instanceLoader = new InstanceLoader(container, injector, graphInspector); + const metadataScanner = new MetadataScanner(); + const dependenciesScanner = new DependenciesScanner(container, metadataScanner, graphInspector, config); + container.setHttpAdapter(httpServer); + const teardown = this.abortOnError === false ? rethrow : void 0; + await httpServer?.init?.(); + try { + this.logger.log(MESSAGES.APPLICATION_START); + await ExceptionsZone.asyncRun(async () => { + await dependenciesScanner.scan(module); + await instanceLoader.createInstancesOfDependencies(); + dependenciesScanner.applyApplicationProviders(); + }, teardown, this.autoFlushLogs); + } catch (e) { + this.handleInitializationError(e); + } + } + handleInitializationError(err) { + if (this.abortOnError) { + process.abort(); + } + rethrow(err); + } + createProxy(target) { + const proxy = this.createExceptionProxy(); + return new Proxy(target, { + get: proxy, + set: proxy + }); + } + createExceptionProxy() { + return (receiver, prop) => { + if (!(prop in receiver)) { + return; + } + if (isFunction(receiver[prop])) { + return this.createExceptionZone(receiver, prop); + } + return receiver[prop]; + }; + } + createExceptionZone(receiver, prop) { + const teardown = this.abortOnError === false ? rethrow : void 0; + return (...args) => { + let result; + ExceptionsZone.run(() => { + result = receiver[prop](...args); + }, teardown, this.autoFlushLogs); + return result; + }; + } + registerLoggerConfiguration(options) { + if (!options) { + return; + } + const { logger: logger3, bufferLogs, autoFlushLogs, forceConsole } = options; + if (logger3 !== true && !isNil(logger3)) { + Logger.overrideLogger(logger3); + } else if (forceConsole) { + const consoleLogger = new ConsoleLogger({ forceConsole: true }); + Logger.overrideLogger(consoleLogger); + } + if (bufferLogs) { + Logger.attachBuffer(); + } + this.autoFlushLogs = autoFlushLogs ?? true; + } + async createHttpAdapter(httpServer) { + const { ExpressAdapter: ExpressAdapter2 } = await loadAdapter("@nestjs/platform-express", "HTTP", () => import("./platform-express-MGQH3ALM.js")); + return new ExpressAdapter2(httpServer); + } + isHttpServer(serverOrOptions) { + return !!(serverOrOptions && serverOrOptions.patch); + } + setAbortOnError(serverOrOptions, options) { + this.abortOnError = this.isHttpServer(serverOrOptions) ? !(options && options.abortOnError === false) : !(serverOrOptions && serverOrOptions.abortOnError === false); + } + createAdapterProxy(app, adapter) { + const proxy = new Proxy(app, { + get: /* @__PURE__ */ __name((receiver, prop) => { + const mapToProxy = /* @__PURE__ */ __name((result) => { + return result instanceof Promise ? result.then(mapToProxy) : result instanceof NestApplication ? proxy : result; + }, "mapToProxy"); + if (!(prop in receiver) && prop in adapter) { + return (...args) => { + const result = this.createExceptionZone(adapter, prop)(...args); + return mapToProxy(result); + }; + } + if (isFunction(receiver[prop])) { + return (...args) => { + const result = receiver[prop](...args); + return mapToProxy(result); + }; + } + return receiver[prop]; + }, "get") + }); + return proxy; + } + createGraphInspector(appOptions, container) { + return appOptions?.snapshot ? new GraphInspector(container) : NoopGraphInspector; + } + }; + NestFactory = new NestFactoryStatic(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/assign-to-object.util.js +function assignToObject(target, source) { + Object.defineProperties(target, Object.keys(source).reduce((descriptors, key) => { + descriptors[key] = Object.getOwnPropertyDescriptor(source, key); + return descriptors; + }, /* @__PURE__ */ Object.create(null))); + return target; +} +var init_assign_to_object_util = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/assign-to-object.util.js"() { + __name(assignToObject, "assignToObject"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/constants.js +var REPL_INITIALIZED_MESSAGE; +var init_constants5 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/constants.js"() { + REPL_INITIALIZED_MESSAGE = "REPL initialized"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-function.js +var ReplFunction; +var init_repl_function = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-function.js"() { + init_internal(); + ReplFunction = class { + static { + __name(this, "ReplFunction"); + } + ctx; + logger; + constructor(ctx) { + this.ctx = ctx; + this.logger = ctx.logger; + } + /** + * @returns A message displayed by calling `.help` + */ + makeHelpMessage() { + const { description, name, signature } = this.fnDefinition; + const fnSignatureWithName = `${name}${signature}`; + return `${clc.yellow(description)} +${clc.magentaBright("Interface:")} ${clc.bold(fnSignatureWithName)} +`; + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/help-repl-fn.js +var import_iterare19, HelpReplFn; +var init_help_repl_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/help-repl-fn.js"() { + import_iterare19 = __toESM(require_lib(), 1); + init_repl_function(); + init_internal(); + HelpReplFn = class _HelpReplFn extends ReplFunction { + static { + __name(this, "HelpReplFn"); + } + fnDefinition = { + name: "help", + signature: "() => void", + description: "Display all available REPL native functions." + }; + static buildHelpMessage = /* @__PURE__ */ __name(({ name, description }) => clc.cyanBright(name) + (description ? ` ${clc.bold("-")} ${description}` : ""), "buildHelpMessage"); + action() { + const sortedNativeFunctions = (0, import_iterare19.iterate)(this.ctx.nativeFunctions).map(([, nativeFunction]) => nativeFunction.fnDefinition).toArray().sort((a, b) => a.name < b.name ? -1 : 1); + this.ctx.writeToStdout(`You can call ${clc.bold(".help")} on any function listed below (e.g.: ${clc.bold("help.help")}): + +` + sortedNativeFunctions.map(_HelpReplFn.buildHelpMessage).join("\n") + // Without the following LF the last item won't be displayed + "\n"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/get-repl-fn.js +var GetReplFn; +var init_get_repl_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/get-repl-fn.js"() { + init_repl_function(); + GetReplFn = class extends ReplFunction { + static { + __name(this, "GetReplFn"); + } + fnDefinition = { + name: "get", + signature: "(token: InjectionToken) => any", + description: "Retrieves an instance of either injectable or controller, otherwise, throws exception.", + aliases: ["$"] + }; + action(token) { + return this.ctx.app.get(token); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/resolve-repl-fn.js +var ResolveReplFn; +var init_resolve_repl_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/resolve-repl-fn.js"() { + init_repl_function(); + ResolveReplFn = class extends ReplFunction { + static { + __name(this, "ResolveReplFn"); + } + fnDefinition = { + name: "resolve", + description: "Resolves transient or request-scoped instance of either injectable or controller, otherwise, throws exception.", + signature: "(token: InjectionToken, contextId: any) => Promise" + }; + action(token, contextId) { + return this.ctx.app.resolve(token, contextId); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/select-relp-fn.js +var SelectReplFn; +var init_select_relp_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/select-relp-fn.js"() { + init_repl_function(); + SelectReplFn = class extends ReplFunction { + static { + __name(this, "SelectReplFn"); + } + fnDefinition = { + name: "select", + description: "Allows navigating through the modules tree, for example, to pull out a specific instance from the selected module.", + signature: "(token: DynamicModule | ClassRef) => INestApplicationContext" + }; + action(token) { + return this.ctx.app.select(token); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/debug-repl-fn.js +var DebugReplFn; +var init_debug_repl_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/debug-repl-fn.js"() { + init_repl_function(); + init_internal(); + DebugReplFn = class extends ReplFunction { + static { + __name(this, "DebugReplFn"); + } + fnDefinition = { + name: "debug", + description: 'Print all registered modules as a list together with their controllers and providers.\nIf the argument is passed in, for example, "debug(MyModule)" then it will only print components of this specific module.', + signature: "(moduleCls?: ClassRef | string) => void" + }; + action(moduleCls) { + this.ctx.writeToStdout("\n"); + if (moduleCls) { + const token = typeof moduleCls === "function" ? moduleCls.name : moduleCls; + const moduleEntry = this.ctx.debugRegistry[token]; + if (!moduleEntry) { + return this.logger.error(`"${token}" has not been found in the modules registry`); + } + this.printCtrlsAndProviders(token, moduleEntry); + } else { + for (const [moduleKey, entry] of Object.entries(this.ctx.debugRegistry)) { + this.printCtrlsAndProviders(moduleKey, entry); + } + } + this.ctx.writeToStdout("\n"); + } + printCtrlsAndProviders(moduleName, moduleDebugEntry) { + this.ctx.writeToStdout(`${clc.green(moduleName)}: +`); + this.printCollection("controllers", moduleDebugEntry["controllers"]); + this.printCollection("providers", moduleDebugEntry["providers"]); + } + printCollection(title, collectionValue) { + const collectionEntries = Object.keys(collectionValue); + if (collectionEntries.length <= 0) { + return; + } + this.ctx.writeToStdout(` ${clc.yellow(`- ${title}`)}: +`); + collectionEntries.forEach((provider) => this.ctx.writeToStdout(` ${clc.green("\u25FB")} ${provider} +`)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/methods-repl-fn.js +var MethodsReplFn; +var init_methods_repl_fn = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/methods-repl-fn.js"() { + init_metadata_scanner(); + init_repl_function(); + init_internal(); + MethodsReplFn = class extends ReplFunction { + static { + __name(this, "MethodsReplFn"); + } + fnDefinition = { + name: "methods", + description: "Display all public methods available on a given provider or controller.", + signature: "(token: ClassRef | string) => void" + }; + metadataScanner = new MetadataScanner(); + action(token) { + const proto = typeof token !== "function" ? Object.getPrototypeOf(this.ctx.app.get(token)) : token?.prototype; + const methods = this.metadataScanner.getAllMethodNames(proto); + this.ctx.writeToStdout("\n"); + this.ctx.writeToStdout(`${clc.green("Methods")}: +`); + methods.forEach((methodName) => this.ctx.writeToStdout(` ${clc.yellow("\u25FB")} ${methodName} +`)); + this.ctx.writeToStdout("\n"); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/index.js +var init_native_functions = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/native-functions/index.js"() { + init_help_repl_fn(); + init_get_repl_fn(); + init_resolve_repl_fn(); + init_select_relp_fn(); + init_debug_repl_fn(); + init_methods_repl_fn(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-context.js +var ReplContext; +var init_repl_context = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-context.js"() { + init_common(); + init_application_config(); + init_injector2(); + init_internal_core_module(); + init_native_functions(); + ReplContext = class _ReplContext { + static { + __name(this, "ReplContext"); + } + app; + logger = new Logger(_ReplContext.name); + debugRegistry = {}; + globalScope = /* @__PURE__ */ Object.create(null); + nativeFunctions = /* @__PURE__ */ new Map(); + container; + constructor(app, nativeFunctionsClassRefs) { + this.app = app; + this.container = app.container; + this.initializeContext(); + this.initializeNativeFunctions(nativeFunctionsClassRefs || []); + } + writeToStdout(text) { + process.stdout.write(text); + } + initializeContext() { + const modules = this.container.getModules(); + modules.forEach((moduleRef) => { + let moduleName = moduleRef.metatype.name; + if (moduleName === InternalCoreModule.name) { + return; + } + if (this.globalScope[moduleName]) { + moduleName += ` (${moduleRef.token})`; + } + this.introspectCollection(moduleRef, moduleName, "providers"); + this.introspectCollection(moduleRef, moduleName, "controllers"); + Object.defineProperty(this.globalScope, moduleName, { + value: moduleRef.metatype, + configurable: false, + enumerable: true + }); + }); + } + introspectCollection(moduleRef, moduleKey, collection) { + const moduleDebugEntry = {}; + moduleRef[collection].forEach(({ token }) => { + const stringifiedToken = this.stringifyToken(token); + if (stringifiedToken === ApplicationConfig.name || stringifiedToken === moduleRef.metatype.name) { + return; + } + if (!this.globalScope[stringifiedToken]) { + Object.defineProperty(this.globalScope, stringifiedToken, { + value: token, + configurable: false, + enumerable: true + }); + } + if (stringifiedToken === ModuleRef.name) { + return; + } + moduleDebugEntry[stringifiedToken] = token; + }); + this.debugRegistry[moduleKey] = { + ...this.debugRegistry?.[moduleKey], + [collection]: moduleDebugEntry + }; + } + stringifyToken(token) { + return typeof token !== "string" ? typeof token === "function" ? token.name : token?.toString() : `"${token}"`; + } + addNativeFunction(NativeFunctionRef) { + const nativeFunction = new NativeFunctionRef(this); + const nativeFunctions = [nativeFunction]; + this.nativeFunctions.set(nativeFunction.fnDefinition.name, nativeFunction); + nativeFunction.fnDefinition.aliases?.forEach((aliasName) => { + const aliasNativeFunction = Object.create(nativeFunction); + aliasNativeFunction.fnDefinition = { + name: aliasName, + description: aliasNativeFunction.fnDefinition.description, + signature: aliasNativeFunction.fnDefinition.signature + }; + this.nativeFunctions.set(aliasName, aliasNativeFunction); + nativeFunctions.push(aliasNativeFunction); + }); + return nativeFunctions; + } + registerFunctionIntoGlobalScope(nativeFunction) { + this.globalScope[nativeFunction.fnDefinition.name] = nativeFunction.action.bind(nativeFunction); + const functionBoundRef = this.globalScope[nativeFunction.fnDefinition.name]; + Object.defineProperty(functionBoundRef, "help", { + enumerable: false, + configurable: false, + get: /* @__PURE__ */ __name(() => ( + // Dynamically builds the help message as will unlikely to be called + // several times. + this.writeToStdout(nativeFunction.makeHelpMessage()) + ), "get") + }); + } + initializeNativeFunctions(nativeFunctionsClassRefs) { + const builtInFunctionsClassRefs = [ + HelpReplFn, + GetReplFn, + ResolveReplFn, + SelectReplFn, + DebugReplFn, + MethodsReplFn + ]; + builtInFunctionsClassRefs.concat(nativeFunctionsClassRefs).forEach((NativeFunction) => { + const nativeFunctions = this.addNativeFunction(NativeFunction); + nativeFunctions.forEach((nativeFunction) => { + this.registerFunctionIntoGlobalScope(nativeFunction); + }); + }); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-logger.js +var ReplLogger; +var init_repl_logger = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-logger.js"() { + init_common(); + init_nest_application(); + init_router_explorer(); + init_routes_resolver(); + ReplLogger = class _ReplLogger extends ConsoleLogger { + static { + __name(this, "ReplLogger"); + } + static ignoredContexts = [ + RoutesResolver.name, + RouterExplorer.name, + NestApplication.name + ]; + log(_message, context) { + if (_ReplLogger.ignoredContexts.includes(context)) { + return; + } + return super.log.apply(this, Array.from(arguments)); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-native-commands.js +function listAllCommands(replServer) { + Object.keys(replServer.commands).sort().forEach((name) => { + const cmd = replServer.commands[name]; + if (cmd) { + replServer.output.write(`${name} ${cmd.help || ""} +`); + } + }); +} +function defineDefaultCommandsOnRepl(replServer) { + replServer.defineCommand("help", { + help: "Show REPL options", + action(name) { + this.clearBufferedCommand(); + if (name) { + const nativeCommandOrFunction = this.commands[name] || this.context[name]; + const helpMessage = nativeCommandOrFunction?.help; + if (helpMessage) { + this.output.write(`${helpMessage} +`); + } + } else { + listAllCommands(this); + this.output.write("\n\n"); + this.context.help(); + this.output.write("\nPress Ctrl+C to abort current expression, Ctrl+D to exit the REPL\n"); + } + this.displayPrompt(); + } + }); +} +var init_repl_native_commands = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl-native-commands.js"() { + __name(listAllCommands, "listAllCommands"); + __name(defineDefaultCommandsOnRepl, "defineDefaultCommandsOnRepl"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl.js +async function repl(module, replOptions = {}) { + const app = await NestFactory.createApplicationContext(module, { + abortOnError: false, + logger: new ReplLogger() + }); + await app.init(); + const replContext = new ReplContext(app); + Logger.log(REPL_INITIALIZED_MESSAGE); + const _repl = await import("repl"); + const replServer = _repl.start({ + prompt: clc.green("> "), + ignoreUndefined: true, + ...replOptions + }); + assignToObject(replServer.context, replContext.globalScope); + defineDefaultCommandsOnRepl(replServer); + replServer.on("exit", async () => { + await app.close(); + }); + return replServer; +} +var init_repl = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/repl.js"() { + init_common(); + init_nest_factory(); + init_assign_to_object_util(); + init_constants5(); + init_repl_context(); + init_repl_logger(); + init_repl_native_commands(); + init_internal(); + __name(repl, "repl"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/index.js +var init_repl2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/repl/index.js"() { + init_repl(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/resolved-route.interface.js +var init_resolved_route_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/resolved-route.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-conflict.interface.js +var init_route_conflict_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-conflict.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-resolution-options.interface.js +var init_route_resolution_options_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/route-resolution-options.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/routes.interface.js +var init_routes_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/routes.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/index.js +var init_interfaces = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/interfaces/index.js"() { + init_resolved_route_interface(); + init_route_conflict_interface(); + init_route_resolution_options_interface(); + init_routes_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/index.js +var init_request = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/request/index.js"() { + init_request_constants(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-module.js +var RouterModule_1, ROUTES, targetModulesByContainer, RouterModule; +var init_router_module = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/router-module.js"() { + init_tslib_es6(); + init_common(); + init_modules_container(); + init_utils(); + init_internal(); + ROUTES = /* @__PURE__ */ Symbol("ROUTES"); + targetModulesByContainer = /* @__PURE__ */ new WeakMap(); + RouterModule = RouterModule_1 = class RouterModule2 { + static { + __name(this, "RouterModule"); + } + modulesContainer; + routes; + constructor(modulesContainer, routes) { + this.modulesContainer = modulesContainer; + this.routes = routes; + this.routes = this.deepCloneRoutes(routes); + this.initialize(); + } + static register(routes) { + return { + module: RouterModule_1, + providers: [ + { + provide: ROUTES, + useValue: routes + } + ] + }; + } + deepCloneRoutes(routes) { + return routes.map((routeOrType) => { + if (typeof routeOrType === "function") { + return routeOrType; + } + if (routeOrType.children) { + return { + ...routeOrType, + children: this.deepCloneRoutes(routeOrType.children) + }; + } + return { ...routeOrType }; + }); + } + initialize() { + const flattenedRoutes = flattenRoutePaths(this.routes); + flattenedRoutes.forEach((route) => { + const modulePath = normalizePath(route.path); + this.registerModulePathMetadata(route.module, modulePath); + this.updateTargetModulesCache(route.module); + }); + } + registerModulePathMetadata(moduleCtor, modulePath) { + Reflect.defineMetadata(MODULE_PATH + this.modulesContainer.applicationId, modulePath, moduleCtor); + } + updateTargetModulesCache(moduleCtor) { + let moduleClassSet; + if (targetModulesByContainer.has(this.modulesContainer)) { + moduleClassSet = targetModulesByContainer.get(this.modulesContainer); + } else { + moduleClassSet = /* @__PURE__ */ new WeakSet(); + targetModulesByContainer.set(this.modulesContainer, moduleClassSet); + } + const moduleRef = Array.from(this.modulesContainer.values()).find((item) => item?.metatype === moduleCtor); + if (!moduleRef) { + return; + } + moduleClassSet.add(moduleRef); + } + }; + RouterModule = RouterModule_1 = __decorate([ + Module({}), + __param(1, Inject(ROUTES)), + __metadata("design:paramtypes", [ModulesContainer, Array]) + ], RouterModule); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/index.js +var init_router = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/router/index.js"() { + init_interfaces(); + init_request(); + init_router_module(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/index.js +var core_exports = {}; +__export(core_exports, { + APP_FILTER: () => APP_FILTER, + APP_GUARD: () => APP_GUARD, + APP_INTERCEPTOR: () => APP_INTERCEPTOR, + APP_PIPE: () => APP_PIPE, + AbstractHttpAdapter: () => AbstractHttpAdapter, + ApplicationConfig: () => ApplicationConfig, + BaseExceptionFilter: () => BaseExceptionFilter, + ContextIdFactory: () => ContextIdFactory, + DiscoveryModule: () => DiscoveryModule, + DiscoveryService: () => DiscoveryService, + ExternalContextCreator: () => ExternalContextCreator, + GraphInspector: () => GraphInspector, + HttpAdapterHost: () => HttpAdapterHost, + INQUIRER: () => INQUIRER, + InitializeOnPreviewAllowlist: () => InitializeOnPreviewAllowlist, + LazyModuleLoader: () => LazyModuleLoader, + MetadataScanner: () => MetadataScanner, + MiddlewareBuilder: () => MiddlewareBuilder, + ModuleRef: () => ModuleRef, + ModulesContainer: () => ModulesContainer, + NestApplication: () => NestApplication, + NestApplicationContext: () => NestApplicationContext, + NestContainer: () => NestContainer, + NestFactory: () => NestFactory, + PartialGraphHost: () => PartialGraphHost, + REQUEST: () => REQUEST, + Reflector: () => Reflector, + RouterModule: () => RouterModule, + SerializedGraph: () => SerializedGraph, + createContextId: () => createContextId, + repl: () => repl +}); +var import_reflect_metadata; +var init_core = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/index.js"() { + import_reflect_metadata = __toESM(require_Reflect(), 1); + init_adapters(); + init_application_config(); + init_constants2(); + init_discovery(); + init_exceptions(); + init_helpers(); + init_injector2(); + init_inspector(); + init_metadata_scanner(); + init_middleware(); + init_nest_application(); + init_nest_application_context(); + init_nest_factory(); + init_repl2(); + init_router(); + init_services(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/index.js +var init_internal_core_module2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/injector/internal-core-module/index.js"() { + init_internal_core_module(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/internal.js +var init_internal2 = __esm({ + "../../node_modules/.pnpm/@nestjs+core@12.2.0_@nestjs_74b3aa22af8a41de6299655ec5713214/node_modules/@nestjs/core/internal.js"() { + init_exceptions2(); + init_invalid_exception_filter_exception(); + init_runtime_exception(); + init_constants2(); + init_scanner(); + init_constants3(); + init_injector(); + init_instance_loader(); + init_instance_wrapper(); + init_internal_core_module2(); + init_module(); + init_inspector(); + init_context_utils(); + init_execution_context_host(); + init_handler_metadata_storage(); + init_load_adapter(); + init_optional_require(); + init_router_method_factory(); + init_safe_instance_decorator(); + init_constants4(); + init_guards_consumer(); + init_guards_context_creator(); + init_params_token_factory(); + init_pipes_consumer(); + init_pipes_context_creator(); + init_interceptors_consumer(); + init_interceptors_context_creator(); + init_base_exception_filter_context(); + init_legacy_route_converter(); + init_rejected_by_pipes(); + init_request_constants(); + init_noop_graph_inspector(); + init_uuid_factory(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/express-adapter.js +import * as http from "http"; +import * as https from "https"; +import { finished } from "stream"; +function isJsonContentType(contentType) { + const mediaType = contentType.split(";")[0].trim().toLowerCase(); + return mediaType.startsWith("application/json") || mediaType.endsWith("+json"); +} +var import_cors, import_express, import_path_to_regexp6, ExpressAdapter; +var init_express_adapter = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/express-adapter.js"() { + init_common(); + import_cors = __toESM(require_lib2(), 1); + import_express = __toESM(require_express2(), 1); + import_path_to_regexp6 = __toESM(require_dist2(), 1); + init_get_body_parser_options_util(); + init_get_media_type_version_util(); + init_internal(); + init_core(); + init_internal2(); + __name(isJsonContentType, "isJsonContentType"); + ExpressAdapter = class _ExpressAdapter extends AbstractHttpAdapter { + static { + __name(this, "ExpressAdapter"); + } + routerMethodFactory = new RouterMethodFactory(); + logger = new Logger(_ExpressAdapter.name); + openConnections = /* @__PURE__ */ new Set(); + registeredPrefixes = /* @__PURE__ */ new Set(); + isShuttingDown = false; + onRequestHook; + onResponseHook; + constructor(instance) { + super(instance || (0, import_express.default)()); + this.instance.use((req, res, next) => { + if (this.onResponseHook) { + res.on("finish", async () => { + try { + await this.onResponseHook.apply(this, [req, res]); + } catch (err) { + this.logger.error(err); + } + }); + } + if (this.onRequestHook) { + this.runRequestHook(req, res, next); + } else { + next(); + } + }); + } + runRequestHook(req, res, next) { + let completed = false; + const doneOnce = /* @__PURE__ */ __name((err) => { + if (completed) { + if (err) { + this.logger.error(err); + } + return; + } + completed = true; + next(err); + }, "doneOnce"); + try { + const result = this.onRequestHook.call(this, req, res, doneOnce); + if (result && typeof result.then === "function") { + result.then(void 0, (err) => doneOnce(err || new Error("Request hook failed"))); + } + } catch (err) { + doneOnce(err || new Error("Request hook failed")); + } + } + /** + * Registers a request hook. Call `done()` to continue processing the request; + * resolving the returned promise does not continue it. Only the first + * completion is forwarded to Express. Errors after `done()` are logged + * without advancing the request again. + */ + setOnRequestHook(onRequestHook) { + this.onRequestHook = onRequestHook; + } + /** + * Registers a hook to run after the response has been sent. + * Thrown errors and rejected promises are logged. + */ + setOnResponseHook(onResponseHook) { + this.onResponseHook = onResponseHook; + } + reply(response, body, statusCode) { + if (!isNil(statusCode)) { + response.status(statusCode); + } + if (isNil(body)) { + return response.send(); + } + if (body instanceof StreamableFile) { + const { errored } = body.getStream(); + if (errored) { + return body.errorHandler(errored, response); + } + this.applyStreamHeaders(response, body); + const stream = body.getStream(); + stream.once("error", (err) => { + body.errorHandler(err, response); + }); + finished(response, () => { + if (!stream.readableEnded) { + stream.destroy(); + } + }); + if (response.req?.method === "HEAD") { + stream.once("readable", () => response.end()); + return response.on("error", (err) => body.errorLogger(err)); + } + return stream.pipe(response).on("error", (err) => body.errorLogger(err)); + } + const responseContentType = response.getHeader("Content-Type"); + if (typeof responseContentType === "string" && !isJsonContentType(responseContentType) && (body?.statusCode >= HttpStatus.BAD_REQUEST || // A custom error body (e.g. "new HttpException({ ... }, 404)") need + // not have a "statusCode" of its own + isObject(body) && !isNil(statusCode) && statusCode >= HttpStatus.BAD_REQUEST)) { + this.logger.warn("Content-Type doesn't match Reply body, you might need a custom ExceptionFilter for non-JSON responses"); + response.setHeader("Content-Type", "application/json"); + } + return isObject(body) ? response.json(body) : response.send(String(body)); + } + status(response, statusCode) { + return response.status(statusCode); + } + end(response, message) { + return response.end(message); + } + render(response, view, options) { + return response.render(view, options); + } + redirect(response, statusCode, url) { + return response.redirect(statusCode, url); + } + setErrorHandler(handler, prefix) { + const normalizedPrefix = this.normalizePrefix(prefix); + if (normalizedPrefix) { + const router = import_express.default.Router(); + router.use(handler); + this.use(normalizedPrefix, router); + } + return this.use(handler); + } + setNotFoundHandler(handler, prefix, excludedRoutes) { + const normalizedPrefix = this.normalizePrefix(prefix); + if (normalizedPrefix) { + this.registeredPrefixes.add(normalizedPrefix); + const router = import_express.default.Router(); + router.all("*path", handler); + this.use(normalizedPrefix, router); + for (const route of excludedRoutes ?? []) { + this.instance.all(addLeadingSlash(route.path), handler); + } + return; + } + return this.use((req, res, next) => { + const path = req.originalUrl.split(/[?#]/)[0]; + for (const registeredPrefix of this.registeredPrefixes) { + if (path === registeredPrefix || path.startsWith(`${registeredPrefix}/`)) { + return next(); + } + } + return handler(req, res, next); + }); + } + isHeadersSent(response) { + return response.headersSent; + } + getHeader(response, name) { + return response.get(name); + } + setHeader(response, name, value) { + return response.set(name, value); + } + appendHeader(response, name, value) { + return response.append(name, value); + } + normalizePath(path) { + try { + const convertedPath = LegacyRouteConverter.tryConvert(path); + (0, import_path_to_regexp6.pathToRegexp)(convertedPath); + return convertedPath; + } catch (e) { + if (e instanceof TypeError) { + LegacyRouteConverter.printError(path); + } + throw e; + } + } + listen(port, ...args) { + return this.httpServer.listen(port, ...args); + } + beforeClose() { + this.isShuttingDown = true; + } + close() { + this.isShuttingDown = true; + this.closeOpenConnections(); + if (!this.httpServer) { + return void 0; + } + return new Promise((resolve) => this.httpServer.close(resolve)); + } + set(...args) { + return this.instance.set(...args); + } + enable(...args) { + return this.instance.enable(...args); + } + disable(...args) { + return this.instance.disable(...args); + } + engine(...args) { + return this.instance.engine(...args); + } + useStaticAssets(path, options) { + if (options && options.prefix) { + return this.use(options.prefix, import_express.default.static(path, options)); + } + return this.use(import_express.default.static(path, options)); + } + setBaseViewsDir(path) { + return this.set("views", path); + } + setViewEngine(engine) { + return this.set("view engine", engine); + } + getRequestHostname(request) { + return request.hostname; + } + getRequestMethod(request) { + return request.method; + } + getRequestUrl(request) { + return request.originalUrl; + } + enableCors(options) { + return this.use((0, import_cors.default)(options)); + } + createMiddlewareFactory(requestMethod) { + return (path, callback) => { + try { + const isExactPath = path.endsWith("$"); + const convertedPath = LegacyRouteConverter.tryConvert(isExactPath ? path.slice(0, -1) : path); + let router = this.routerMethodFactory.get(this.instance, requestMethod); + if (isExactPath && router === this.instance.use) { + router = this.instance.all; + } + return router.call(this.instance, convertedPath, callback); + } catch (e) { + if (e instanceof TypeError) { + LegacyRouteConverter.printError(path); + } + throw e; + } + }; + } + initHttpServer(options) { + const isHttpsEnabled = options && options.httpsOptions; + if (isHttpsEnabled) { + this.httpServer = https.createServer(options.httpsOptions, this.getInstance()); + } else { + this.httpServer = http.createServer(this.getInstance()); + } + if (options?.return503OnClosing) { + this.instance.use((req, res, next) => { + if (this.isShuttingDown) { + res.set("Connection", "close"); + res.status(503).send("Service Unavailable"); + } else { + next(); + } + }); + } + if (options?.forceCloseConnections) { + this.trackOpenConnections(); + } + } + registerParserMiddleware(prefix, rawBody) { + const bodyParserJsonOptions = getBodyParserOptions("json", rawBody); + const bodyParserUrlencodedOptions = getBodyParserOptions("urlencoded", rawBody, { extended: true }); + const parserMiddleware = { + jsonParser: import_express.default.json(bodyParserJsonOptions), + urlencodedParser: import_express.default.urlencoded(bodyParserUrlencodedOptions) + }; + Object.keys(parserMiddleware).filter((parser) => !this.isMiddlewareApplied(parser)).forEach((parserKey) => this.use(parserMiddleware[parserKey])); + } + useBodyParser(type, rawBody, options) { + const parserOptions = getBodyParserOptions(type, rawBody, options); + const parser = import_express.default[type](parserOptions); + this.use(parser); + return this; + } + setLocal(key, value) { + this.instance.locals[key] = value; + return this; + } + getType() { + return "express"; + } + isRouteOrderSensitive() { + return true; + } + // The return type is spelled out (rather than "RouteMatchingOptions") so + // that the declarations still compile against an older "@nestjs/common" + getRouteMatchingOptions() { + const router = this.getInstance().router; + return { + caseSensitive: !!router?.caseSensitive, + ignoreTrailingSlash: !router?.strict + }; + } + applyVersionFilter(handler, version, versioningOptions) { + const callNextHandler = /* @__PURE__ */ __name((req, res, next) => { + if (!next) { + throw new InternalServerErrorException("HTTP adapter does not support filtering on version"); + } + return next(); + }, "callNextHandler"); + if (version === VERSION_NEUTRAL || // URL Versioning is done via the path, so the filter continues forward + versioningOptions.type === VersioningType.URI) { + const handlerForNoVersioning = /* @__PURE__ */ __name((req, res, next) => handler(req, res, next), "handlerForNoVersioning"); + return handlerForNoVersioning; + } + if (versioningOptions.type === VersioningType.CUSTOM) { + const handlerForCustomVersioning = /* @__PURE__ */ __name((req, res, next) => { + const extractedVersion = versioningOptions.extractor(req); + if (Array.isArray(version)) { + if (Array.isArray(extractedVersion) && version.filter((v) => extractedVersion.includes(v)).length) { + return handler(req, res, next); + } + if (isString(extractedVersion) && version.includes(extractedVersion)) { + return handler(req, res, next); + } + } else if (isString(version)) { + if (Array.isArray(extractedVersion) && extractedVersion.includes(version)) { + return handler(req, res, next); + } + if (isString(extractedVersion) && version === extractedVersion) { + return handler(req, res, next); + } + } + return callNextHandler(req, res, next); + }, "handlerForCustomVersioning"); + return handlerForCustomVersioning; + } + if (versioningOptions.type === VersioningType.MEDIA_TYPE) { + const handlerForMediaTypeVersioning = /* @__PURE__ */ __name((req, res, next) => { + const MEDIA_TYPE_HEADER = "Accept"; + const acceptHeaderValue = req.headers?.[MEDIA_TYPE_HEADER] || req.headers?.[MEDIA_TYPE_HEADER.toLowerCase()]; + const headerVersion = getMediaTypeVersion(acceptHeaderValue, versioningOptions.key); + if (isUndefined(headerVersion)) { + if (Array.isArray(version)) { + if (version.includes(VERSION_NEUTRAL)) { + return handler(req, res, next); + } + } + } else { + if (Array.isArray(version)) { + if (version.includes(headerVersion)) { + return handler(req, res, next); + } + } else if (isString(version)) { + if (version === headerVersion) { + return handler(req, res, next); + } + } + } + return callNextHandler(req, res, next); + }, "handlerForMediaTypeVersioning"); + return handlerForMediaTypeVersioning; + } + if (versioningOptions.type === VersioningType.HEADER) { + const handlerForHeaderVersioning = /* @__PURE__ */ __name((req, res, next) => { + const customHeaderVersionParameter = req.headers?.[versioningOptions.header] || req.headers?.[versioningOptions.header.toLowerCase()]; + if (isUndefined(customHeaderVersionParameter)) { + if (Array.isArray(version)) { + if (version.includes(VERSION_NEUTRAL)) { + return handler(req, res, next); + } + } + } else { + if (Array.isArray(version)) { + if (version.includes(customHeaderVersionParameter)) { + return handler(req, res, next); + } + } else if (isString(version)) { + if (version === customHeaderVersionParameter) { + return handler(req, res, next); + } + } + } + return callNextHandler(req, res, next); + }, "handlerForHeaderVersioning"); + return handlerForHeaderVersioning; + } + throw new Error("Unsupported versioning options"); + } + mapException(error) { + switch (true) { + // SyntaxError is thrown by Express body-parser when given invalid JSON (#422, #430) + // URIError is thrown by Express when given a path parameter with an invalid percentage + // encoding, e.g. '%FF' (#8915) + case (error instanceof SyntaxError || error instanceof URIError): + return new BadRequestException(error.message); + default: + return error; + } + } + normalizePrefix(prefix) { + return stripEndSlash(addLeadingSlash(prefix)); + } + trackOpenConnections() { + this.httpServer.on("connection", (socket) => { + this.openConnections.add(socket); + socket.on("close", () => this.openConnections.delete(socket)); + }); + } + closeOpenConnections() { + for (const socket of this.openConnections) { + socket.destroy(); + this.openConnections.delete(socket); + } + } + isMiddlewareApplied(name) { + const app = this.getInstance(); + return !!app.router && !!app.router.stack && isFunction(app.router.stack.filter) && app.router.stack.some((layer) => layer && layer.handle && layer.handle.name === name); + } + setHeaderIfNotExists(response, name, value) { + if (value !== void 0 && response.getHeader(name) === void 0) { + const headerValue = Array.isArray(value) ? value.join(",") : value; + response.setHeader(name, headerValue); + } + } + applyStreamHeaders(response, streamable) { + const headers = streamable.getHeaders(); + this.setHeaderIfNotExists(response, "Content-Type", headers.type); + this.setHeaderIfNotExists(response, "Content-Disposition", headers.disposition); + this.setHeaderIfNotExists(response, "Content-Length", headers.length); + } + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/index.js +var init_adapters2 = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/adapters/index.js"() { + init_express_adapter(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.js +var init_nest_express_application_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.js +var init_nest_express_body_parser_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/index.js +var init_interfaces2 = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/interfaces/index.js"() { + init_nest_express_application_interface(); + init_nest_express_body_parser_interface(); + } +}); + +// ../../node_modules/.pnpm/media-typer@0.3.0/node_modules/media-typer/index.js +var require_media_typer2 = __commonJS({ + "../../node_modules/.pnpm/media-typer@0.3.0/node_modules/media-typer/index.js"(exports) { + var paramRegExp = /; *([!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) *= *("(?:[ !\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u0020-\u007e])*"|[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+) */g; + var textRegExp = /^[\u0020-\u007e\u0080-\u00ff]+$/; + var tokenRegExp = /^[!#$%&'\*\+\-\.0-9A-Z\^_`a-z\|~]+$/; + var qescRegExp = /\\([\u0000-\u007f])/g; + var quoteRegExp = /([\\"])/g; + var subtypeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/; + var typeNameRegExp = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/; + var typeRegExp = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/; + exports.format = format; + exports.parse = parse; + function format(obj) { + if (!obj || typeof obj !== "object") { + throw new TypeError("argument obj is required"); + } + var parameters = obj.parameters; + var subtype = obj.subtype; + var suffix = obj.suffix; + var type = obj.type; + if (!type || !typeNameRegExp.test(type)) { + throw new TypeError("invalid type"); + } + if (!subtype || !subtypeNameRegExp.test(subtype)) { + throw new TypeError("invalid subtype"); + } + var string = type + "/" + subtype; + if (suffix) { + if (!typeNameRegExp.test(suffix)) { + throw new TypeError("invalid suffix"); + } + string += "+" + suffix; + } + if (parameters && typeof parameters === "object") { + var param; + var params = Object.keys(parameters).sort(); + for (var i = 0; i < params.length; i++) { + param = params[i]; + if (!tokenRegExp.test(param)) { + throw new TypeError("invalid parameter name"); + } + string += "; " + param + "=" + qstring(parameters[param]); + } + } + return string; + } + __name(format, "format"); + function parse(string) { + if (!string) { + throw new TypeError("argument string is required"); + } + if (typeof string === "object") { + string = getcontenttype(string); + } + if (typeof string !== "string") { + throw new TypeError("argument string is required to be a string"); + } + var index = string.indexOf(";"); + var type = index !== -1 ? string.substr(0, index) : string; + var key; + var match; + var obj = splitType(type); + var params = {}; + var value; + paramRegExp.lastIndex = index; + while (match = paramRegExp.exec(string)) { + if (match.index !== index) { + throw new TypeError("invalid parameter format"); + } + index += match[0].length; + key = match[1].toLowerCase(); + value = match[2]; + if (value[0] === '"') { + value = value.substr(1, value.length - 2).replace(qescRegExp, "$1"); + } + params[key] = value; + } + if (index !== -1 && index !== string.length) { + throw new TypeError("invalid parameter format"); + } + obj.parameters = params; + return obj; + } + __name(parse, "parse"); + function getcontenttype(obj) { + if (typeof obj.getHeader === "function") { + return obj.getHeader("content-type"); + } + if (typeof obj.headers === "object") { + return obj.headers && obj.headers["content-type"]; + } + } + __name(getcontenttype, "getcontenttype"); + function qstring(val) { + var str = String(val); + if (tokenRegExp.test(str)) { + return str; + } + if (str.length > 0 && !textRegExp.test(str)) { + throw new TypeError("invalid parameter value"); + } + return '"' + str.replace(quoteRegExp, "\\$1") + '"'; + } + __name(qstring, "qstring"); + function splitType(string) { + var match = typeRegExp.exec(string.toLowerCase()); + if (!match) { + throw new TypeError("invalid media type"); + } + var type = match[1]; + var subtype = match[2]; + var suffix; + var index = subtype.lastIndexOf("+"); + if (index !== -1) { + suffix = subtype.substr(index + 1); + subtype = subtype.substr(0, index); + } + var obj = { + type, + subtype, + suffix + }; + return obj; + } + __name(splitType, "splitType"); + } +}); + +// ../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json +var require_db2 = __commonJS({ + "../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json"(exports, module) { + module.exports = { + "application/1d-interleaved-parityfec": { + source: "iana" + }, + "application/3gpdash-qoe-report+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/3gpp-ims+xml": { + source: "iana", + compressible: true + }, + "application/3gpphal+json": { + source: "iana", + compressible: true + }, + "application/3gpphalforms+json": { + source: "iana", + compressible: true + }, + "application/a2l": { + source: "iana" + }, + "application/ace+cbor": { + source: "iana" + }, + "application/activemessage": { + source: "iana" + }, + "application/activity+json": { + source: "iana", + compressible: true + }, + "application/alto-costmap+json": { + source: "iana", + compressible: true + }, + "application/alto-costmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-directory+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcost+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointcostparams+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointprop+json": { + source: "iana", + compressible: true + }, + "application/alto-endpointpropparams+json": { + source: "iana", + compressible: true + }, + "application/alto-error+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmap+json": { + source: "iana", + compressible: true + }, + "application/alto-networkmapfilter+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamcontrol+json": { + source: "iana", + compressible: true + }, + "application/alto-updatestreamparams+json": { + source: "iana", + compressible: true + }, + "application/aml": { + source: "iana" + }, + "application/andrew-inset": { + source: "iana", + extensions: ["ez"] + }, + "application/applefile": { + source: "iana" + }, + "application/applixware": { + source: "apache", + extensions: ["aw"] + }, + "application/at+jwt": { + source: "iana" + }, + "application/atf": { + source: "iana" + }, + "application/atfx": { + source: "iana" + }, + "application/atom+xml": { + source: "iana", + compressible: true, + extensions: ["atom"] + }, + "application/atomcat+xml": { + source: "iana", + compressible: true, + extensions: ["atomcat"] + }, + "application/atomdeleted+xml": { + source: "iana", + compressible: true, + extensions: ["atomdeleted"] + }, + "application/atomicmail": { + source: "iana" + }, + "application/atomsvc+xml": { + source: "iana", + compressible: true, + extensions: ["atomsvc"] + }, + "application/atsc-dwd+xml": { + source: "iana", + compressible: true, + extensions: ["dwd"] + }, + "application/atsc-dynamic-event-message": { + source: "iana" + }, + "application/atsc-held+xml": { + source: "iana", + compressible: true, + extensions: ["held"] + }, + "application/atsc-rdt+json": { + source: "iana", + compressible: true + }, + "application/atsc-rsat+xml": { + source: "iana", + compressible: true, + extensions: ["rsat"] + }, + "application/atxml": { + source: "iana" + }, + "application/auth-policy+xml": { + source: "iana", + compressible: true + }, + "application/bacnet-xdd+zip": { + source: "iana", + compressible: false + }, + "application/batch-smtp": { + source: "iana" + }, + "application/bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/beep+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/calendar+json": { + source: "iana", + compressible: true + }, + "application/calendar+xml": { + source: "iana", + compressible: true, + extensions: ["xcs"] + }, + "application/call-completion": { + source: "iana" + }, + "application/cals-1840": { + source: "iana" + }, + "application/captive+json": { + source: "iana", + compressible: true + }, + "application/cbor": { + source: "iana" + }, + "application/cbor-seq": { + source: "iana" + }, + "application/cccex": { + source: "iana" + }, + "application/ccmp+xml": { + source: "iana", + compressible: true + }, + "application/ccxml+xml": { + source: "iana", + compressible: true, + extensions: ["ccxml"] + }, + "application/cdfx+xml": { + source: "iana", + compressible: true, + extensions: ["cdfx"] + }, + "application/cdmi-capability": { + source: "iana", + extensions: ["cdmia"] + }, + "application/cdmi-container": { + source: "iana", + extensions: ["cdmic"] + }, + "application/cdmi-domain": { + source: "iana", + extensions: ["cdmid"] + }, + "application/cdmi-object": { + source: "iana", + extensions: ["cdmio"] + }, + "application/cdmi-queue": { + source: "iana", + extensions: ["cdmiq"] + }, + "application/cdni": { + source: "iana" + }, + "application/cea": { + source: "iana" + }, + "application/cea-2018+xml": { + source: "iana", + compressible: true + }, + "application/cellml+xml": { + source: "iana", + compressible: true + }, + "application/cfw": { + source: "iana" + }, + "application/city+json": { + source: "iana", + compressible: true + }, + "application/clr": { + source: "iana" + }, + "application/clue+xml": { + source: "iana", + compressible: true + }, + "application/clue_info+xml": { + source: "iana", + compressible: true + }, + "application/cms": { + source: "iana" + }, + "application/cnrp+xml": { + source: "iana", + compressible: true + }, + "application/coap-group+json": { + source: "iana", + compressible: true + }, + "application/coap-payload": { + source: "iana" + }, + "application/commonground": { + source: "iana" + }, + "application/conference-info+xml": { + source: "iana", + compressible: true + }, + "application/cose": { + source: "iana" + }, + "application/cose-key": { + source: "iana" + }, + "application/cose-key-set": { + source: "iana" + }, + "application/cpl+xml": { + source: "iana", + compressible: true, + extensions: ["cpl"] + }, + "application/csrattrs": { + source: "iana" + }, + "application/csta+xml": { + source: "iana", + compressible: true + }, + "application/cstadata+xml": { + source: "iana", + compressible: true + }, + "application/csvm+json": { + source: "iana", + compressible: true + }, + "application/cu-seeme": { + source: "apache", + extensions: ["cu"] + }, + "application/cwt": { + source: "iana" + }, + "application/cybercash": { + source: "iana" + }, + "application/dart": { + compressible: true + }, + "application/dash+xml": { + source: "iana", + compressible: true, + extensions: ["mpd"] + }, + "application/dash-patch+xml": { + source: "iana", + compressible: true, + extensions: ["mpp"] + }, + "application/dashdelta": { + source: "iana" + }, + "application/davmount+xml": { + source: "iana", + compressible: true, + extensions: ["davmount"] + }, + "application/dca-rft": { + source: "iana" + }, + "application/dcd": { + source: "iana" + }, + "application/dec-dx": { + source: "iana" + }, + "application/dialog-info+xml": { + source: "iana", + compressible: true + }, + "application/dicom": { + source: "iana" + }, + "application/dicom+json": { + source: "iana", + compressible: true + }, + "application/dicom+xml": { + source: "iana", + compressible: true + }, + "application/dii": { + source: "iana" + }, + "application/dit": { + source: "iana" + }, + "application/dns": { + source: "iana" + }, + "application/dns+json": { + source: "iana", + compressible: true + }, + "application/dns-message": { + source: "iana" + }, + "application/docbook+xml": { + source: "apache", + compressible: true, + extensions: ["dbk"] + }, + "application/dots+cbor": { + source: "iana" + }, + "application/dskpp+xml": { + source: "iana", + compressible: true + }, + "application/dssc+der": { + source: "iana", + extensions: ["dssc"] + }, + "application/dssc+xml": { + source: "iana", + compressible: true, + extensions: ["xdssc"] + }, + "application/dvcs": { + source: "iana" + }, + "application/ecmascript": { + source: "iana", + compressible: true, + extensions: ["es", "ecma"] + }, + "application/edi-consent": { + source: "iana" + }, + "application/edi-x12": { + source: "iana", + compressible: false + }, + "application/edifact": { + source: "iana", + compressible: false + }, + "application/efi": { + source: "iana" + }, + "application/elm+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/elm+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.cap+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/emergencycalldata.comment+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.control+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.deviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.ecall.msd": { + source: "iana" + }, + "application/emergencycalldata.providerinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.serviceinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.subscriberinfo+xml": { + source: "iana", + compressible: true + }, + "application/emergencycalldata.veds+xml": { + source: "iana", + compressible: true + }, + "application/emma+xml": { + source: "iana", + compressible: true, + extensions: ["emma"] + }, + "application/emotionml+xml": { + source: "iana", + compressible: true, + extensions: ["emotionml"] + }, + "application/encaprtp": { + source: "iana" + }, + "application/epp+xml": { + source: "iana", + compressible: true + }, + "application/epub+zip": { + source: "iana", + compressible: false, + extensions: ["epub"] + }, + "application/eshop": { + source: "iana" + }, + "application/exi": { + source: "iana", + extensions: ["exi"] + }, + "application/expect-ct-report+json": { + source: "iana", + compressible: true + }, + "application/express": { + source: "iana", + extensions: ["exp"] + }, + "application/fastinfoset": { + source: "iana" + }, + "application/fastsoap": { + source: "iana" + }, + "application/fdt+xml": { + source: "iana", + compressible: true, + extensions: ["fdt"] + }, + "application/fhir+json": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fhir+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/fido.trusted-apps+json": { + compressible: true + }, + "application/fits": { + source: "iana" + }, + "application/flexfec": { + source: "iana" + }, + "application/font-sfnt": { + source: "iana" + }, + "application/font-tdpfr": { + source: "iana", + extensions: ["pfr"] + }, + "application/font-woff": { + source: "iana", + compressible: false + }, + "application/framework-attributes+xml": { + source: "iana", + compressible: true + }, + "application/geo+json": { + source: "iana", + compressible: true, + extensions: ["geojson"] + }, + "application/geo+json-seq": { + source: "iana" + }, + "application/geopackage+sqlite3": { + source: "iana" + }, + "application/geoxacml+xml": { + source: "iana", + compressible: true + }, + "application/gltf-buffer": { + source: "iana" + }, + "application/gml+xml": { + source: "iana", + compressible: true, + extensions: ["gml"] + }, + "application/gpx+xml": { + source: "apache", + compressible: true, + extensions: ["gpx"] + }, + "application/gxf": { + source: "apache", + extensions: ["gxf"] + }, + "application/gzip": { + source: "iana", + compressible: false, + extensions: ["gz"] + }, + "application/h224": { + source: "iana" + }, + "application/held+xml": { + source: "iana", + compressible: true + }, + "application/hjson": { + extensions: ["hjson"] + }, + "application/http": { + source: "iana" + }, + "application/hyperstudio": { + source: "iana", + extensions: ["stk"] + }, + "application/ibe-key-request+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pkg-reply+xml": { + source: "iana", + compressible: true + }, + "application/ibe-pp-data": { + source: "iana" + }, + "application/iges": { + source: "iana" + }, + "application/im-iscomposing+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/index": { + source: "iana" + }, + "application/index.cmd": { + source: "iana" + }, + "application/index.obj": { + source: "iana" + }, + "application/index.response": { + source: "iana" + }, + "application/index.vnd": { + source: "iana" + }, + "application/inkml+xml": { + source: "iana", + compressible: true, + extensions: ["ink", "inkml"] + }, + "application/iotp": { + source: "iana" + }, + "application/ipfix": { + source: "iana", + extensions: ["ipfix"] + }, + "application/ipp": { + source: "iana" + }, + "application/isup": { + source: "iana" + }, + "application/its+xml": { + source: "iana", + compressible: true, + extensions: ["its"] + }, + "application/java-archive": { + source: "apache", + compressible: false, + extensions: ["jar", "war", "ear"] + }, + "application/java-serialized-object": { + source: "apache", + compressible: false, + extensions: ["ser"] + }, + "application/java-vm": { + source: "apache", + compressible: false, + extensions: ["class"] + }, + "application/javascript": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["js", "mjs"] + }, + "application/jf2feed+json": { + source: "iana", + compressible: true + }, + "application/jose": { + source: "iana" + }, + "application/jose+json": { + source: "iana", + compressible: true + }, + "application/jrd+json": { + source: "iana", + compressible: true + }, + "application/jscalendar+json": { + source: "iana", + compressible: true + }, + "application/json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["json", "map"] + }, + "application/json-patch+json": { + source: "iana", + compressible: true + }, + "application/json-seq": { + source: "iana" + }, + "application/json5": { + extensions: ["json5"] + }, + "application/jsonml+json": { + source: "apache", + compressible: true, + extensions: ["jsonml"] + }, + "application/jwk+json": { + source: "iana", + compressible: true + }, + "application/jwk-set+json": { + source: "iana", + compressible: true + }, + "application/jwt": { + source: "iana" + }, + "application/kpml-request+xml": { + source: "iana", + compressible: true + }, + "application/kpml-response+xml": { + source: "iana", + compressible: true + }, + "application/ld+json": { + source: "iana", + compressible: true, + extensions: ["jsonld"] + }, + "application/lgr+xml": { + source: "iana", + compressible: true, + extensions: ["lgr"] + }, + "application/link-format": { + source: "iana" + }, + "application/load-control+xml": { + source: "iana", + compressible: true + }, + "application/lost+xml": { + source: "iana", + compressible: true, + extensions: ["lostxml"] + }, + "application/lostsync+xml": { + source: "iana", + compressible: true + }, + "application/lpf+zip": { + source: "iana", + compressible: false + }, + "application/lxf": { + source: "iana" + }, + "application/mac-binhex40": { + source: "iana", + extensions: ["hqx"] + }, + "application/mac-compactpro": { + source: "apache", + extensions: ["cpt"] + }, + "application/macwriteii": { + source: "iana" + }, + "application/mads+xml": { + source: "iana", + compressible: true, + extensions: ["mads"] + }, + "application/manifest+json": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["webmanifest"] + }, + "application/marc": { + source: "iana", + extensions: ["mrc"] + }, + "application/marcxml+xml": { + source: "iana", + compressible: true, + extensions: ["mrcx"] + }, + "application/mathematica": { + source: "iana", + extensions: ["ma", "nb", "mb"] + }, + "application/mathml+xml": { + source: "iana", + compressible: true, + extensions: ["mathml"] + }, + "application/mathml-content+xml": { + source: "iana", + compressible: true + }, + "application/mathml-presentation+xml": { + source: "iana", + compressible: true + }, + "application/mbms-associated-procedure-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-deregister+xml": { + source: "iana", + compressible: true + }, + "application/mbms-envelope+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk+xml": { + source: "iana", + compressible: true + }, + "application/mbms-msk-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-protection-description+xml": { + source: "iana", + compressible: true + }, + "application/mbms-reception-report+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register+xml": { + source: "iana", + compressible: true + }, + "application/mbms-register-response+xml": { + source: "iana", + compressible: true + }, + "application/mbms-schedule+xml": { + source: "iana", + compressible: true + }, + "application/mbms-user-service-description+xml": { + source: "iana", + compressible: true + }, + "application/mbox": { + source: "iana", + extensions: ["mbox"] + }, + "application/media-policy-dataset+xml": { + source: "iana", + compressible: true, + extensions: ["mpf"] + }, + "application/media_control+xml": { + source: "iana", + compressible: true + }, + "application/mediaservercontrol+xml": { + source: "iana", + compressible: true, + extensions: ["mscml"] + }, + "application/merge-patch+json": { + source: "iana", + compressible: true + }, + "application/metalink+xml": { + source: "apache", + compressible: true, + extensions: ["metalink"] + }, + "application/metalink4+xml": { + source: "iana", + compressible: true, + extensions: ["meta4"] + }, + "application/mets+xml": { + source: "iana", + compressible: true, + extensions: ["mets"] + }, + "application/mf4": { + source: "iana" + }, + "application/mikey": { + source: "iana" + }, + "application/mipc": { + source: "iana" + }, + "application/missing-blocks+cbor-seq": { + source: "iana" + }, + "application/mmt-aei+xml": { + source: "iana", + compressible: true, + extensions: ["maei"] + }, + "application/mmt-usd+xml": { + source: "iana", + compressible: true, + extensions: ["musd"] + }, + "application/mods+xml": { + source: "iana", + compressible: true, + extensions: ["mods"] + }, + "application/moss-keys": { + source: "iana" + }, + "application/moss-signature": { + source: "iana" + }, + "application/mosskey-data": { + source: "iana" + }, + "application/mosskey-request": { + source: "iana" + }, + "application/mp21": { + source: "iana", + extensions: ["m21", "mp21"] + }, + "application/mp4": { + source: "iana", + extensions: ["mp4s", "m4p"] + }, + "application/mpeg4-generic": { + source: "iana" + }, + "application/mpeg4-iod": { + source: "iana" + }, + "application/mpeg4-iod-xmt": { + source: "iana" + }, + "application/mrb-consumer+xml": { + source: "iana", + compressible: true + }, + "application/mrb-publish+xml": { + source: "iana", + compressible: true + }, + "application/msc-ivr+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msc-mixer+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/msword": { + source: "iana", + compressible: false, + extensions: ["doc", "dot"] + }, + "application/mud+json": { + source: "iana", + compressible: true + }, + "application/multipart-core": { + source: "iana" + }, + "application/mxf": { + source: "iana", + extensions: ["mxf"] + }, + "application/n-quads": { + source: "iana", + extensions: ["nq"] + }, + "application/n-triples": { + source: "iana", + extensions: ["nt"] + }, + "application/nasdata": { + source: "iana" + }, + "application/news-checkgroups": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-groupinfo": { + source: "iana", + charset: "US-ASCII" + }, + "application/news-transmission": { + source: "iana" + }, + "application/nlsml+xml": { + source: "iana", + compressible: true + }, + "application/node": { + source: "iana", + extensions: ["cjs"] + }, + "application/nss": { + source: "iana" + }, + "application/oauth-authz-req+jwt": { + source: "iana" + }, + "application/oblivious-dns-message": { + source: "iana" + }, + "application/ocsp-request": { + source: "iana" + }, + "application/ocsp-response": { + source: "iana" + }, + "application/octet-stream": { + source: "iana", + compressible: false, + extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"] + }, + "application/oda": { + source: "iana", + extensions: ["oda"] + }, + "application/odm+xml": { + source: "iana", + compressible: true + }, + "application/odx": { + source: "iana" + }, + "application/oebps-package+xml": { + source: "iana", + compressible: true, + extensions: ["opf"] + }, + "application/ogg": { + source: "iana", + compressible: false, + extensions: ["ogx"] + }, + "application/omdoc+xml": { + source: "apache", + compressible: true, + extensions: ["omdoc"] + }, + "application/onenote": { + source: "apache", + extensions: ["onetoc", "onetoc2", "onetmp", "onepkg"] + }, + "application/opc-nodeset+xml": { + source: "iana", + compressible: true + }, + "application/oscore": { + source: "iana" + }, + "application/oxps": { + source: "iana", + extensions: ["oxps"] + }, + "application/p21": { + source: "iana" + }, + "application/p21+zip": { + source: "iana", + compressible: false + }, + "application/p2p-overlay+xml": { + source: "iana", + compressible: true, + extensions: ["relo"] + }, + "application/parityfec": { + source: "iana" + }, + "application/passport": { + source: "iana" + }, + "application/patch-ops-error+xml": { + source: "iana", + compressible: true, + extensions: ["xer"] + }, + "application/pdf": { + source: "iana", + compressible: false, + extensions: ["pdf"] + }, + "application/pdx": { + source: "iana" + }, + "application/pem-certificate-chain": { + source: "iana" + }, + "application/pgp-encrypted": { + source: "iana", + compressible: false, + extensions: ["pgp"] + }, + "application/pgp-keys": { + source: "iana", + extensions: ["asc"] + }, + "application/pgp-signature": { + source: "iana", + extensions: ["asc", "sig"] + }, + "application/pics-rules": { + source: "apache", + extensions: ["prf"] + }, + "application/pidf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pidf-diff+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/pkcs10": { + source: "iana", + extensions: ["p10"] + }, + "application/pkcs12": { + source: "iana" + }, + "application/pkcs7-mime": { + source: "iana", + extensions: ["p7m", "p7c"] + }, + "application/pkcs7-signature": { + source: "iana", + extensions: ["p7s"] + }, + "application/pkcs8": { + source: "iana", + extensions: ["p8"] + }, + "application/pkcs8-encrypted": { + source: "iana" + }, + "application/pkix-attr-cert": { + source: "iana", + extensions: ["ac"] + }, + "application/pkix-cert": { + source: "iana", + extensions: ["cer"] + }, + "application/pkix-crl": { + source: "iana", + extensions: ["crl"] + }, + "application/pkix-pkipath": { + source: "iana", + extensions: ["pkipath"] + }, + "application/pkixcmp": { + source: "iana", + extensions: ["pki"] + }, + "application/pls+xml": { + source: "iana", + compressible: true, + extensions: ["pls"] + }, + "application/poc-settings+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/postscript": { + source: "iana", + compressible: true, + extensions: ["ai", "eps", "ps"] + }, + "application/ppsp-tracker+json": { + source: "iana", + compressible: true + }, + "application/problem+json": { + source: "iana", + compressible: true + }, + "application/problem+xml": { + source: "iana", + compressible: true + }, + "application/provenance+xml": { + source: "iana", + compressible: true, + extensions: ["provx"] + }, + "application/prs.alvestrand.titrax-sheet": { + source: "iana" + }, + "application/prs.cww": { + source: "iana", + extensions: ["cww"] + }, + "application/prs.cyn": { + source: "iana", + charset: "7-BIT" + }, + "application/prs.hpub+zip": { + source: "iana", + compressible: false + }, + "application/prs.nprend": { + source: "iana" + }, + "application/prs.plucker": { + source: "iana" + }, + "application/prs.rdf-xml-crypt": { + source: "iana" + }, + "application/prs.xsf+xml": { + source: "iana", + compressible: true + }, + "application/pskc+xml": { + source: "iana", + compressible: true, + extensions: ["pskcxml"] + }, + "application/pvd+json": { + source: "iana", + compressible: true + }, + "application/qsig": { + source: "iana" + }, + "application/raml+yaml": { + compressible: true, + extensions: ["raml"] + }, + "application/raptorfec": { + source: "iana" + }, + "application/rdap+json": { + source: "iana", + compressible: true + }, + "application/rdf+xml": { + source: "iana", + compressible: true, + extensions: ["rdf", "owl"] + }, + "application/reginfo+xml": { + source: "iana", + compressible: true, + extensions: ["rif"] + }, + "application/relax-ng-compact-syntax": { + source: "iana", + extensions: ["rnc"] + }, + "application/remote-printing": { + source: "iana" + }, + "application/reputon+json": { + source: "iana", + compressible: true + }, + "application/resource-lists+xml": { + source: "iana", + compressible: true, + extensions: ["rl"] + }, + "application/resource-lists-diff+xml": { + source: "iana", + compressible: true, + extensions: ["rld"] + }, + "application/rfc+xml": { + source: "iana", + compressible: true + }, + "application/riscos": { + source: "iana" + }, + "application/rlmi+xml": { + source: "iana", + compressible: true + }, + "application/rls-services+xml": { + source: "iana", + compressible: true, + extensions: ["rs"] + }, + "application/route-apd+xml": { + source: "iana", + compressible: true, + extensions: ["rapd"] + }, + "application/route-s-tsid+xml": { + source: "iana", + compressible: true, + extensions: ["sls"] + }, + "application/route-usd+xml": { + source: "iana", + compressible: true, + extensions: ["rusd"] + }, + "application/rpki-ghostbusters": { + source: "iana", + extensions: ["gbr"] + }, + "application/rpki-manifest": { + source: "iana", + extensions: ["mft"] + }, + "application/rpki-publication": { + source: "iana" + }, + "application/rpki-roa": { + source: "iana", + extensions: ["roa"] + }, + "application/rpki-updown": { + source: "iana" + }, + "application/rsd+xml": { + source: "apache", + compressible: true, + extensions: ["rsd"] + }, + "application/rss+xml": { + source: "apache", + compressible: true, + extensions: ["rss"] + }, + "application/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "application/rtploopback": { + source: "iana" + }, + "application/rtx": { + source: "iana" + }, + "application/samlassertion+xml": { + source: "iana", + compressible: true + }, + "application/samlmetadata+xml": { + source: "iana", + compressible: true + }, + "application/sarif+json": { + source: "iana", + compressible: true + }, + "application/sarif-external-properties+json": { + source: "iana", + compressible: true + }, + "application/sbe": { + source: "iana" + }, + "application/sbml+xml": { + source: "iana", + compressible: true, + extensions: ["sbml"] + }, + "application/scaip+xml": { + source: "iana", + compressible: true + }, + "application/scim+json": { + source: "iana", + compressible: true + }, + "application/scvp-cv-request": { + source: "iana", + extensions: ["scq"] + }, + "application/scvp-cv-response": { + source: "iana", + extensions: ["scs"] + }, + "application/scvp-vp-request": { + source: "iana", + extensions: ["spq"] + }, + "application/scvp-vp-response": { + source: "iana", + extensions: ["spp"] + }, + "application/sdp": { + source: "iana", + extensions: ["sdp"] + }, + "application/secevent+jwt": { + source: "iana" + }, + "application/senml+cbor": { + source: "iana" + }, + "application/senml+json": { + source: "iana", + compressible: true + }, + "application/senml+xml": { + source: "iana", + compressible: true, + extensions: ["senmlx"] + }, + "application/senml-etch+cbor": { + source: "iana" + }, + "application/senml-etch+json": { + source: "iana", + compressible: true + }, + "application/senml-exi": { + source: "iana" + }, + "application/sensml+cbor": { + source: "iana" + }, + "application/sensml+json": { + source: "iana", + compressible: true + }, + "application/sensml+xml": { + source: "iana", + compressible: true, + extensions: ["sensmlx"] + }, + "application/sensml-exi": { + source: "iana" + }, + "application/sep+xml": { + source: "iana", + compressible: true + }, + "application/sep-exi": { + source: "iana" + }, + "application/session-info": { + source: "iana" + }, + "application/set-payment": { + source: "iana" + }, + "application/set-payment-initiation": { + source: "iana", + extensions: ["setpay"] + }, + "application/set-registration": { + source: "iana" + }, + "application/set-registration-initiation": { + source: "iana", + extensions: ["setreg"] + }, + "application/sgml": { + source: "iana" + }, + "application/sgml-open-catalog": { + source: "iana" + }, + "application/shf+xml": { + source: "iana", + compressible: true, + extensions: ["shf"] + }, + "application/sieve": { + source: "iana", + extensions: ["siv", "sieve"] + }, + "application/simple-filter+xml": { + source: "iana", + compressible: true + }, + "application/simple-message-summary": { + source: "iana" + }, + "application/simplesymbolcontainer": { + source: "iana" + }, + "application/sipc": { + source: "iana" + }, + "application/slate": { + source: "iana" + }, + "application/smil": { + source: "iana" + }, + "application/smil+xml": { + source: "iana", + compressible: true, + extensions: ["smi", "smil"] + }, + "application/smpte336m": { + source: "iana" + }, + "application/soap+fastinfoset": { + source: "iana" + }, + "application/soap+xml": { + source: "iana", + compressible: true + }, + "application/sparql-query": { + source: "iana", + extensions: ["rq"] + }, + "application/sparql-results+xml": { + source: "iana", + compressible: true, + extensions: ["srx"] + }, + "application/spdx+json": { + source: "iana", + compressible: true + }, + "application/spirits-event+xml": { + source: "iana", + compressible: true + }, + "application/sql": { + source: "iana" + }, + "application/srgs": { + source: "iana", + extensions: ["gram"] + }, + "application/srgs+xml": { + source: "iana", + compressible: true, + extensions: ["grxml"] + }, + "application/sru+xml": { + source: "iana", + compressible: true, + extensions: ["sru"] + }, + "application/ssdl+xml": { + source: "apache", + compressible: true, + extensions: ["ssdl"] + }, + "application/ssml+xml": { + source: "iana", + compressible: true, + extensions: ["ssml"] + }, + "application/stix+json": { + source: "iana", + compressible: true + }, + "application/swid+xml": { + source: "iana", + compressible: true, + extensions: ["swidtag"] + }, + "application/tamp-apex-update": { + source: "iana" + }, + "application/tamp-apex-update-confirm": { + source: "iana" + }, + "application/tamp-community-update": { + source: "iana" + }, + "application/tamp-community-update-confirm": { + source: "iana" + }, + "application/tamp-error": { + source: "iana" + }, + "application/tamp-sequence-adjust": { + source: "iana" + }, + "application/tamp-sequence-adjust-confirm": { + source: "iana" + }, + "application/tamp-status-query": { + source: "iana" + }, + "application/tamp-status-response": { + source: "iana" + }, + "application/tamp-update": { + source: "iana" + }, + "application/tamp-update-confirm": { + source: "iana" + }, + "application/tar": { + compressible: true + }, + "application/taxii+json": { + source: "iana", + compressible: true + }, + "application/td+json": { + source: "iana", + compressible: true + }, + "application/tei+xml": { + source: "iana", + compressible: true, + extensions: ["tei", "teicorpus"] + }, + "application/tetra_isi": { + source: "iana" + }, + "application/thraud+xml": { + source: "iana", + compressible: true, + extensions: ["tfi"] + }, + "application/timestamp-query": { + source: "iana" + }, + "application/timestamp-reply": { + source: "iana" + }, + "application/timestamped-data": { + source: "iana", + extensions: ["tsd"] + }, + "application/tlsrpt+gzip": { + source: "iana" + }, + "application/tlsrpt+json": { + source: "iana", + compressible: true + }, + "application/tnauthlist": { + source: "iana" + }, + "application/token-introspection+jwt": { + source: "iana" + }, + "application/toml": { + compressible: true, + extensions: ["toml"] + }, + "application/trickle-ice-sdpfrag": { + source: "iana" + }, + "application/trig": { + source: "iana", + extensions: ["trig"] + }, + "application/ttml+xml": { + source: "iana", + compressible: true, + extensions: ["ttml"] + }, + "application/tve-trigger": { + source: "iana" + }, + "application/tzif": { + source: "iana" + }, + "application/tzif-leap": { + source: "iana" + }, + "application/ubjson": { + compressible: false, + extensions: ["ubj"] + }, + "application/ulpfec": { + source: "iana" + }, + "application/urc-grpsheet+xml": { + source: "iana", + compressible: true + }, + "application/urc-ressheet+xml": { + source: "iana", + compressible: true, + extensions: ["rsheet"] + }, + "application/urc-targetdesc+xml": { + source: "iana", + compressible: true, + extensions: ["td"] + }, + "application/urc-uisocketdesc+xml": { + source: "iana", + compressible: true + }, + "application/vcard+json": { + source: "iana", + compressible: true + }, + "application/vcard+xml": { + source: "iana", + compressible: true + }, + "application/vemmi": { + source: "iana" + }, + "application/vividence.scriptfile": { + source: "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + source: "iana", + compressible: true, + extensions: ["1km"] + }, + "application/vnd.3gpp-prose+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp-v2x-local-service-information": { + source: "iana" + }, + "application/vnd.3gpp.5gnas": { + source: "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.bsf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gmop+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.gtpc": { + source: "iana" + }, + "application/vnd.3gpp.interworking-data": { + source: "iana" + }, + "application/vnd.3gpp.lpp": { + source: "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-payload": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-signalling": { + source: "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-affiliation-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.mid-call+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ngap": { + source: "iana" + }, + "application/vnd.3gpp.pfcp": { + source: "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + source: "iana", + extensions: ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + source: "iana", + extensions: ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + source: "iana", + extensions: ["pvb"] + }, + "application/vnd.3gpp.s1ap": { + source: "iana" + }, + "application/vnd.3gpp.sms": { + source: "iana" + }, + "application/vnd.3gpp.sms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.srvcc-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp.ussd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.3gpp2.sms": { + source: "iana" + }, + "application/vnd.3gpp2.tcap": { + source: "iana", + extensions: ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + source: "iana" + }, + "application/vnd.3m.post-it-notes": { + source: "iana", + extensions: ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + source: "iana", + extensions: ["aso"] + }, + "application/vnd.accpac.simply.imp": { + source: "iana", + extensions: ["imp"] + }, + "application/vnd.acucobol": { + source: "iana", + extensions: ["acu"] + }, + "application/vnd.acucorp": { + source: "iana", + extensions: ["atc", "acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + source: "apache", + compressible: false, + extensions: ["air"] + }, + "application/vnd.adobe.flash.movie": { + source: "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + source: "iana", + extensions: ["fcdt"] + }, + "application/vnd.adobe.fxp": { + source: "iana", + extensions: ["fxp", "fxpl"] + }, + "application/vnd.adobe.partial-upload": { + source: "iana" + }, + "application/vnd.adobe.xdp+xml": { + source: "iana", + compressible: true, + extensions: ["xdp"] + }, + "application/vnd.adobe.xfdf": { + source: "iana", + extensions: ["xfdf"] + }, + "application/vnd.aether.imp": { + source: "iana" + }, + "application/vnd.afpc.afplinedata": { + source: "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + source: "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + source: "iana" + }, + "application/vnd.afpc.foca-charset": { + source: "iana" + }, + "application/vnd.afpc.foca-codedfont": { + source: "iana" + }, + "application/vnd.afpc.foca-codepage": { + source: "iana" + }, + "application/vnd.afpc.modca": { + source: "iana" + }, + "application/vnd.afpc.modca-cmtable": { + source: "iana" + }, + "application/vnd.afpc.modca-formdef": { + source: "iana" + }, + "application/vnd.afpc.modca-mediummap": { + source: "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + source: "iana" + }, + "application/vnd.afpc.modca-overlay": { + source: "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + source: "iana" + }, + "application/vnd.age": { + source: "iana", + extensions: ["age"] + }, + "application/vnd.ah-barcode": { + source: "iana" + }, + "application/vnd.ahead.space": { + source: "iana", + extensions: ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + source: "iana", + extensions: ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + source: "iana", + extensions: ["azs"] + }, + "application/vnd.amadeus+json": { + source: "iana", + compressible: true + }, + "application/vnd.amazon.ebook": { + source: "apache", + extensions: ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + source: "iana" + }, + "application/vnd.americandynamics.acc": { + source: "iana", + extensions: ["acc"] + }, + "application/vnd.amiga.ami": { + source: "iana", + extensions: ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + source: "iana", + compressible: true + }, + "application/vnd.android.ota": { + source: "iana" + }, + "application/vnd.android.package-archive": { + source: "apache", + compressible: false, + extensions: ["apk"] + }, + "application/vnd.anki": { + source: "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + source: "iana", + extensions: ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + source: "apache", + extensions: ["fti"] + }, + "application/vnd.antix.game-component": { + source: "iana", + extensions: ["atx"] + }, + "application/vnd.apache.arrow.file": { + source: "iana" + }, + "application/vnd.apache.arrow.stream": { + source: "iana" + }, + "application/vnd.apache.thrift.binary": { + source: "iana" + }, + "application/vnd.apache.thrift.compact": { + source: "iana" + }, + "application/vnd.apache.thrift.json": { + source: "iana" + }, + "application/vnd.api+json": { + source: "iana", + compressible: true + }, + "application/vnd.aplextor.warrp+json": { + source: "iana", + compressible: true + }, + "application/vnd.apothekende.reservation+json": { + source: "iana", + compressible: true + }, + "application/vnd.apple.installer+xml": { + source: "iana", + compressible: true, + extensions: ["mpkg"] + }, + "application/vnd.apple.keynote": { + source: "iana", + extensions: ["key"] + }, + "application/vnd.apple.mpegurl": { + source: "iana", + extensions: ["m3u8"] + }, + "application/vnd.apple.numbers": { + source: "iana", + extensions: ["numbers"] + }, + "application/vnd.apple.pages": { + source: "iana", + extensions: ["pages"] + }, + "application/vnd.apple.pkpass": { + compressible: false, + extensions: ["pkpass"] + }, + "application/vnd.arastra.swi": { + source: "iana" + }, + "application/vnd.aristanetworks.swi": { + source: "iana", + extensions: ["swi"] + }, + "application/vnd.artisan+json": { + source: "iana", + compressible: true + }, + "application/vnd.artsquare": { + source: "iana" + }, + "application/vnd.astraea-software.iota": { + source: "iana", + extensions: ["iota"] + }, + "application/vnd.audiograph": { + source: "iana", + extensions: ["aep"] + }, + "application/vnd.autopackage": { + source: "iana" + }, + "application/vnd.avalon+json": { + source: "iana", + compressible: true + }, + "application/vnd.avistar+xml": { + source: "iana", + compressible: true + }, + "application/vnd.balsamiq.bmml+xml": { + source: "iana", + compressible: true, + extensions: ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + source: "iana" + }, + "application/vnd.banana-accounting": { + source: "iana" + }, + "application/vnd.bbf.usp.error": { + source: "iana" + }, + "application/vnd.bbf.usp.msg": { + source: "iana" + }, + "application/vnd.bbf.usp.msg+json": { + source: "iana", + compressible: true + }, + "application/vnd.bekitzur-stech+json": { + source: "iana", + compressible: true + }, + "application/vnd.bint.med-content": { + source: "iana" + }, + "application/vnd.biopax.rdf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.blink-idb-value-wrapper": { + source: "iana" + }, + "application/vnd.blueice.multipass": { + source: "iana", + extensions: ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + source: "iana" + }, + "application/vnd.bluetooth.le.oob": { + source: "iana" + }, + "application/vnd.bmi": { + source: "iana", + extensions: ["bmi"] + }, + "application/vnd.bpf": { + source: "iana" + }, + "application/vnd.bpf3": { + source: "iana" + }, + "application/vnd.businessobjects": { + source: "iana", + extensions: ["rep"] + }, + "application/vnd.byu.uapi+json": { + source: "iana", + compressible: true + }, + "application/vnd.cab-jscript": { + source: "iana" + }, + "application/vnd.canon-cpdl": { + source: "iana" + }, + "application/vnd.canon-lips": { + source: "iana" + }, + "application/vnd.capasystems-pg+json": { + source: "iana", + compressible: true + }, + "application/vnd.cendio.thinlinc.clientconf": { + source: "iana" + }, + "application/vnd.century-systems.tcp_stream": { + source: "iana" + }, + "application/vnd.chemdraw+xml": { + source: "iana", + compressible: true, + extensions: ["cdxml"] + }, + "application/vnd.chess-pgn": { + source: "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + source: "iana", + extensions: ["mmd"] + }, + "application/vnd.ciedi": { + source: "iana" + }, + "application/vnd.cinderella": { + source: "iana", + extensions: ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + source: "iana" + }, + "application/vnd.citationstyles.style+xml": { + source: "iana", + compressible: true, + extensions: ["csl"] + }, + "application/vnd.claymore": { + source: "iana", + extensions: ["cla"] + }, + "application/vnd.cloanto.rp9": { + source: "iana", + extensions: ["rp9"] + }, + "application/vnd.clonk.c4group": { + source: "iana", + extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + source: "iana", + extensions: ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + source: "iana", + extensions: ["c11amz"] + }, + "application/vnd.coffeescript": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + source: "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + source: "iana" + }, + "application/vnd.collection+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.doc+json": { + source: "iana", + compressible: true + }, + "application/vnd.collection.next+json": { + source: "iana", + compressible: true + }, + "application/vnd.comicbook+zip": { + source: "iana", + compressible: false + }, + "application/vnd.comicbook-rar": { + source: "iana" + }, + "application/vnd.commerce-battelle": { + source: "iana" + }, + "application/vnd.commonspace": { + source: "iana", + extensions: ["csp"] + }, + "application/vnd.contact.cmsg": { + source: "iana", + extensions: ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + source: "iana", + compressible: true + }, + "application/vnd.cosmocaller": { + source: "iana", + extensions: ["cmc"] + }, + "application/vnd.crick.clicker": { + source: "iana", + extensions: ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + source: "iana", + extensions: ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + source: "iana", + extensions: ["clkp"] + }, + "application/vnd.crick.clicker.template": { + source: "iana", + extensions: ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + source: "iana", + extensions: ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + source: "iana", + compressible: true, + extensions: ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + source: "iana", + compressible: true + }, + "application/vnd.crypto-shade-file": { + source: "iana" + }, + "application/vnd.cryptomator.encrypted": { + source: "iana" + }, + "application/vnd.cryptomator.vault": { + source: "iana" + }, + "application/vnd.ctc-posml": { + source: "iana", + extensions: ["pml"] + }, + "application/vnd.ctct.ws+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cups-pdf": { + source: "iana" + }, + "application/vnd.cups-postscript": { + source: "iana" + }, + "application/vnd.cups-ppd": { + source: "iana", + extensions: ["ppd"] + }, + "application/vnd.cups-raster": { + source: "iana" + }, + "application/vnd.cups-raw": { + source: "iana" + }, + "application/vnd.curl": { + source: "iana" + }, + "application/vnd.curl.car": { + source: "apache", + extensions: ["car"] + }, + "application/vnd.curl.pcurl": { + source: "apache", + extensions: ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.cybank": { + source: "iana" + }, + "application/vnd.cyclonedx+json": { + source: "iana", + compressible: true + }, + "application/vnd.cyclonedx+xml": { + source: "iana", + compressible: true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + source: "iana", + compressible: false + }, + "application/vnd.d3m-dataset": { + source: "iana" + }, + "application/vnd.d3m-problem": { + source: "iana" + }, + "application/vnd.dart": { + source: "iana", + compressible: true, + extensions: ["dart"] + }, + "application/vnd.data-vision.rdz": { + source: "iana", + extensions: ["rdz"] + }, + "application/vnd.datapackage+json": { + source: "iana", + compressible: true + }, + "application/vnd.dataresource+json": { + source: "iana", + compressible: true + }, + "application/vnd.dbf": { + source: "iana", + extensions: ["dbf"] + }, + "application/vnd.debian.binary-package": { + source: "iana" + }, + "application/vnd.dece.data": { + source: "iana", + extensions: ["uvf", "uvvf", "uvd", "uvvd"] + }, + "application/vnd.dece.ttml+xml": { + source: "iana", + compressible: true, + extensions: ["uvt", "uvvt"] + }, + "application/vnd.dece.unspecified": { + source: "iana", + extensions: ["uvx", "uvvx"] + }, + "application/vnd.dece.zip": { + source: "iana", + extensions: ["uvz", "uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + source: "iana", + extensions: ["fe_launch"] + }, + "application/vnd.desmume.movie": { + source: "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + source: "iana" + }, + "application/vnd.dm.delegation+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dna": { + source: "iana", + extensions: ["dna"] + }, + "application/vnd.document+json": { + source: "iana", + compressible: true + }, + "application/vnd.dolby.mlp": { + source: "apache", + extensions: ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + source: "iana" + }, + "application/vnd.dolby.mobile.2": { + source: "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + source: "iana" + }, + "application/vnd.dpgraph": { + source: "iana", + extensions: ["dpg"] + }, + "application/vnd.dreamfactory": { + source: "iana", + extensions: ["dfac"] + }, + "application/vnd.drive+json": { + source: "iana", + compressible: true + }, + "application/vnd.ds-keypoint": { + source: "apache", + extensions: ["kpxx"] + }, + "application/vnd.dtg.local": { + source: "iana" + }, + "application/vnd.dtg.local.flash": { + source: "iana" + }, + "application/vnd.dtg.local.html": { + source: "iana" + }, + "application/vnd.dvb.ait": { + source: "iana", + extensions: ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.dvbj": { + source: "iana" + }, + "application/vnd.dvb.esgcontainer": { + source: "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + source: "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + source: "iana" + }, + "application/vnd.dvb.ipdcroaming": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + source: "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + source: "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-container+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-generic+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.notif-init+xml": { + source: "iana", + compressible: true + }, + "application/vnd.dvb.pfr": { + source: "iana" + }, + "application/vnd.dvb.service": { + source: "iana", + extensions: ["svc"] + }, + "application/vnd.dxr": { + source: "iana" + }, + "application/vnd.dynageo": { + source: "iana", + extensions: ["geo"] + }, + "application/vnd.dzr": { + source: "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + source: "iana" + }, + "application/vnd.ecdis-update": { + source: "iana" + }, + "application/vnd.ecip.rlp": { + source: "iana" + }, + "application/vnd.eclipse.ditto+json": { + source: "iana", + compressible: true + }, + "application/vnd.ecowin.chart": { + source: "iana", + extensions: ["mag"] + }, + "application/vnd.ecowin.filerequest": { + source: "iana" + }, + "application/vnd.ecowin.fileupdate": { + source: "iana" + }, + "application/vnd.ecowin.series": { + source: "iana" + }, + "application/vnd.ecowin.seriesrequest": { + source: "iana" + }, + "application/vnd.ecowin.seriesupdate": { + source: "iana" + }, + "application/vnd.efi.img": { + source: "iana" + }, + "application/vnd.efi.iso": { + source: "iana" + }, + "application/vnd.emclient.accessrequest+xml": { + source: "iana", + compressible: true + }, + "application/vnd.enliven": { + source: "iana", + extensions: ["nml"] + }, + "application/vnd.enphase.envoy": { + source: "iana" + }, + "application/vnd.eprints.data+xml": { + source: "iana", + compressible: true + }, + "application/vnd.epson.esf": { + source: "iana", + extensions: ["esf"] + }, + "application/vnd.epson.msf": { + source: "iana", + extensions: ["msf"] + }, + "application/vnd.epson.quickanime": { + source: "iana", + extensions: ["qam"] + }, + "application/vnd.epson.salt": { + source: "iana", + extensions: ["slt"] + }, + "application/vnd.epson.ssf": { + source: "iana", + extensions: ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + source: "iana" + }, + "application/vnd.espass-espass+zip": { + source: "iana", + compressible: false + }, + "application/vnd.eszigno3+xml": { + source: "iana", + compressible: true, + extensions: ["es3", "et3"] + }, + "application/vnd.etsi.aoc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.asic-e+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.asic-s+zip": { + source: "iana", + compressible: false + }, + "application/vnd.etsi.cug+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvcommand+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvservice+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvsync+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.iptvueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mcid+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.mheg5": { + source: "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.pstn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.sci+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.simservs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.timestamp-token": { + source: "iana" + }, + "application/vnd.etsi.tsl+xml": { + source: "iana", + compressible: true + }, + "application/vnd.etsi.tsl.der": { + source: "iana" + }, + "application/vnd.eu.kasparian.car+json": { + source: "iana", + compressible: true + }, + "application/vnd.eudora.data": { + source: "iana" + }, + "application/vnd.evolv.ecig.profile": { + source: "iana" + }, + "application/vnd.evolv.ecig.settings": { + source: "iana" + }, + "application/vnd.evolv.ecig.theme": { + source: "iana" + }, + "application/vnd.exstream-empower+zip": { + source: "iana", + compressible: false + }, + "application/vnd.exstream-package": { + source: "iana" + }, + "application/vnd.ezpix-album": { + source: "iana", + extensions: ["ez2"] + }, + "application/vnd.ezpix-package": { + source: "iana", + extensions: ["ez3"] + }, + "application/vnd.f-secure.mobile": { + source: "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + source: "iana", + compressible: false + }, + "application/vnd.fastcopy-disk-image": { + source: "iana" + }, + "application/vnd.fdf": { + source: "iana", + extensions: ["fdf"] + }, + "application/vnd.fdsn.mseed": { + source: "iana", + extensions: ["mseed"] + }, + "application/vnd.fdsn.seed": { + source: "iana", + extensions: ["seed", "dataless"] + }, + "application/vnd.ffsns": { + source: "iana" + }, + "application/vnd.ficlab.flb+zip": { + source: "iana", + compressible: false + }, + "application/vnd.filmit.zfc": { + source: "iana" + }, + "application/vnd.fints": { + source: "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + source: "iana" + }, + "application/vnd.flographit": { + source: "iana", + extensions: ["gph"] + }, + "application/vnd.fluxtime.clip": { + source: "iana", + extensions: ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + source: "iana" + }, + "application/vnd.framemaker": { + source: "iana", + extensions: ["fm", "frame", "maker", "book"] + }, + "application/vnd.frogans.fnc": { + source: "iana", + extensions: ["fnc"] + }, + "application/vnd.frogans.ltf": { + source: "iana", + extensions: ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + source: "iana", + extensions: ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + source: "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + source: "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.fujitsu.oasys": { + source: "iana", + extensions: ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + source: "iana", + extensions: ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + source: "iana", + extensions: ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + source: "iana", + extensions: ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + source: "iana", + extensions: ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + source: "iana" + }, + "application/vnd.fujixerox.art4": { + source: "iana" + }, + "application/vnd.fujixerox.ddd": { + source: "iana", + extensions: ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + source: "iana", + extensions: ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + source: "iana", + extensions: ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + source: "iana" + }, + "application/vnd.fujixerox.hbpl": { + source: "iana" + }, + "application/vnd.fut-misnet": { + source: "iana" + }, + "application/vnd.futoin+cbor": { + source: "iana" + }, + "application/vnd.futoin+json": { + source: "iana", + compressible: true + }, + "application/vnd.fuzzysheet": { + source: "iana", + extensions: ["fzs"] + }, + "application/vnd.genomatix.tuxedo": { + source: "iana", + extensions: ["txd"] + }, + "application/vnd.gentics.grd+json": { + source: "iana", + compressible: true + }, + "application/vnd.geo+json": { + source: "iana", + compressible: true + }, + "application/vnd.geocube+xml": { + source: "iana", + compressible: true + }, + "application/vnd.geogebra.file": { + source: "iana", + extensions: ["ggb"] + }, + "application/vnd.geogebra.slides": { + source: "iana" + }, + "application/vnd.geogebra.tool": { + source: "iana", + extensions: ["ggt"] + }, + "application/vnd.geometry-explorer": { + source: "iana", + extensions: ["gex", "gre"] + }, + "application/vnd.geonext": { + source: "iana", + extensions: ["gxt"] + }, + "application/vnd.geoplan": { + source: "iana", + extensions: ["g2w"] + }, + "application/vnd.geospace": { + source: "iana", + extensions: ["g3w"] + }, + "application/vnd.gerber": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + source: "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + source: "iana" + }, + "application/vnd.gmx": { + source: "iana", + extensions: ["gmx"] + }, + "application/vnd.google-apps.document": { + compressible: false, + extensions: ["gdoc"] + }, + "application/vnd.google-apps.presentation": { + compressible: false, + extensions: ["gslides"] + }, + "application/vnd.google-apps.spreadsheet": { + compressible: false, + extensions: ["gsheet"] + }, + "application/vnd.google-earth.kml+xml": { + source: "iana", + compressible: true, + extensions: ["kml"] + }, + "application/vnd.google-earth.kmz": { + source: "iana", + compressible: false, + extensions: ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + source: "iana", + compressible: true + }, + "application/vnd.gov.sk.e-form+zip": { + source: "iana", + compressible: false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.grafeq": { + source: "iana", + extensions: ["gqf", "gqs"] + }, + "application/vnd.gridmp": { + source: "iana" + }, + "application/vnd.groove-account": { + source: "iana", + extensions: ["gac"] + }, + "application/vnd.groove-help": { + source: "iana", + extensions: ["ghf"] + }, + "application/vnd.groove-identity-message": { + source: "iana", + extensions: ["gim"] + }, + "application/vnd.groove-injector": { + source: "iana", + extensions: ["grv"] + }, + "application/vnd.groove-tool-message": { + source: "iana", + extensions: ["gtm"] + }, + "application/vnd.groove-tool-template": { + source: "iana", + extensions: ["tpl"] + }, + "application/vnd.groove-vcard": { + source: "iana", + extensions: ["vcg"] + }, + "application/vnd.hal+json": { + source: "iana", + compressible: true + }, + "application/vnd.hal+xml": { + source: "iana", + compressible: true, + extensions: ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + source: "iana", + compressible: true, + extensions: ["zmm"] + }, + "application/vnd.hbci": { + source: "iana", + extensions: ["hbci"] + }, + "application/vnd.hc+json": { + source: "iana", + compressible: true + }, + "application/vnd.hcl-bireports": { + source: "iana" + }, + "application/vnd.hdt": { + source: "iana" + }, + "application/vnd.heroku+json": { + source: "iana", + compressible: true + }, + "application/vnd.hhe.lesson-player": { + source: "iana", + extensions: ["les"] + }, + "application/vnd.hl7cda+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.hl7v2+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.hp-hpgl": { + source: "iana", + extensions: ["hpgl"] + }, + "application/vnd.hp-hpid": { + source: "iana", + extensions: ["hpid"] + }, + "application/vnd.hp-hps": { + source: "iana", + extensions: ["hps"] + }, + "application/vnd.hp-jlyt": { + source: "iana", + extensions: ["jlt"] + }, + "application/vnd.hp-pcl": { + source: "iana", + extensions: ["pcl"] + }, + "application/vnd.hp-pclxl": { + source: "iana", + extensions: ["pclxl"] + }, + "application/vnd.httphone": { + source: "iana" + }, + "application/vnd.hydrostatix.sof-data": { + source: "iana", + extensions: ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyper-item+json": { + source: "iana", + compressible: true + }, + "application/vnd.hyperdrive+json": { + source: "iana", + compressible: true + }, + "application/vnd.hzn-3d-crossword": { + source: "iana" + }, + "application/vnd.ibm.afplinedata": { + source: "iana" + }, + "application/vnd.ibm.electronic-media": { + source: "iana" + }, + "application/vnd.ibm.minipay": { + source: "iana", + extensions: ["mpy"] + }, + "application/vnd.ibm.modcap": { + source: "iana", + extensions: ["afp", "listafp", "list3820"] + }, + "application/vnd.ibm.rights-management": { + source: "iana", + extensions: ["irm"] + }, + "application/vnd.ibm.secure-container": { + source: "iana", + extensions: ["sc"] + }, + "application/vnd.iccprofile": { + source: "iana", + extensions: ["icc", "icm"] + }, + "application/vnd.ieee.1905": { + source: "iana" + }, + "application/vnd.igloader": { + source: "iana", + extensions: ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + source: "iana", + compressible: false + }, + "application/vnd.imagemeter.image+zip": { + source: "iana", + compressible: false + }, + "application/vnd.immervision-ivp": { + source: "iana", + extensions: ["ivp"] + }, + "application/vnd.immervision-ivu": { + source: "iana", + extensions: ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + source: "iana" + }, + "application/vnd.ims.imsccv1p2": { + source: "iana" + }, + "application/vnd.ims.imsccv1p3": { + source: "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + source: "iana", + compressible: true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + source: "iana", + compressible: true + }, + "application/vnd.informedcontrol.rms+xml": { + source: "iana", + compressible: true + }, + "application/vnd.informix-visionary": { + source: "iana" + }, + "application/vnd.infotech.project": { + source: "iana" + }, + "application/vnd.infotech.project+xml": { + source: "iana", + compressible: true + }, + "application/vnd.innopath.wamp.notification": { + source: "iana" + }, + "application/vnd.insors.igm": { + source: "iana", + extensions: ["igm"] + }, + "application/vnd.intercon.formnet": { + source: "iana", + extensions: ["xpw", "xpx"] + }, + "application/vnd.intergeo": { + source: "iana", + extensions: ["i2g"] + }, + "application/vnd.intertrust.digibox": { + source: "iana" + }, + "application/vnd.intertrust.nncp": { + source: "iana" + }, + "application/vnd.intu.qbo": { + source: "iana", + extensions: ["qbo"] + }, + "application/vnd.intu.qfx": { + source: "iana", + extensions: ["qfx"] + }, + "application/vnd.iptc.g2.catalogitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.packageitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.iptc.g2.planningitem+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ipunplugged.rcprofile": { + source: "iana", + extensions: ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + source: "iana", + compressible: true, + extensions: ["irp"] + }, + "application/vnd.is-xpr": { + source: "iana", + extensions: ["xpr"] + }, + "application/vnd.isac.fcs": { + source: "iana", + extensions: ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + source: "iana", + compressible: false + }, + "application/vnd.jam": { + source: "iana", + extensions: ["jam"] + }, + "application/vnd.japannet-directory-service": { + source: "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-payment-wakeup": { + source: "iana" + }, + "application/vnd.japannet-registration": { + source: "iana" + }, + "application/vnd.japannet-registration-wakeup": { + source: "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + source: "iana" + }, + "application/vnd.japannet-verification": { + source: "iana" + }, + "application/vnd.japannet-verification-wakeup": { + source: "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + source: "iana", + extensions: ["rms"] + }, + "application/vnd.jisp": { + source: "iana", + extensions: ["jisp"] + }, + "application/vnd.joost.joda-archive": { + source: "iana", + extensions: ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + source: "iana" + }, + "application/vnd.kahootz": { + source: "iana", + extensions: ["ktz", "ktr"] + }, + "application/vnd.kde.karbon": { + source: "iana", + extensions: ["karbon"] + }, + "application/vnd.kde.kchart": { + source: "iana", + extensions: ["chrt"] + }, + "application/vnd.kde.kformula": { + source: "iana", + extensions: ["kfo"] + }, + "application/vnd.kde.kivio": { + source: "iana", + extensions: ["flw"] + }, + "application/vnd.kde.kontour": { + source: "iana", + extensions: ["kon"] + }, + "application/vnd.kde.kpresenter": { + source: "iana", + extensions: ["kpr", "kpt"] + }, + "application/vnd.kde.kspread": { + source: "iana", + extensions: ["ksp"] + }, + "application/vnd.kde.kword": { + source: "iana", + extensions: ["kwd", "kwt"] + }, + "application/vnd.kenameaapp": { + source: "iana", + extensions: ["htke"] + }, + "application/vnd.kidspiration": { + source: "iana", + extensions: ["kia"] + }, + "application/vnd.kinar": { + source: "iana", + extensions: ["kne", "knp"] + }, + "application/vnd.koan": { + source: "iana", + extensions: ["skp", "skd", "skt", "skm"] + }, + "application/vnd.kodak-descriptor": { + source: "iana", + extensions: ["sse"] + }, + "application/vnd.las": { + source: "iana" + }, + "application/vnd.las.las+json": { + source: "iana", + compressible: true + }, + "application/vnd.las.las+xml": { + source: "iana", + compressible: true, + extensions: ["lasxml"] + }, + "application/vnd.laszip": { + source: "iana" + }, + "application/vnd.leap+json": { + source: "iana", + compressible: true + }, + "application/vnd.liberty-request+xml": { + source: "iana", + compressible: true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + source: "iana", + extensions: ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + source: "iana", + compressible: true, + extensions: ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + source: "iana", + compressible: false + }, + "application/vnd.loom": { + source: "iana" + }, + "application/vnd.lotus-1-2-3": { + source: "iana", + extensions: ["123"] + }, + "application/vnd.lotus-approach": { + source: "iana", + extensions: ["apr"] + }, + "application/vnd.lotus-freelance": { + source: "iana", + extensions: ["pre"] + }, + "application/vnd.lotus-notes": { + source: "iana", + extensions: ["nsf"] + }, + "application/vnd.lotus-organizer": { + source: "iana", + extensions: ["org"] + }, + "application/vnd.lotus-screencam": { + source: "iana", + extensions: ["scm"] + }, + "application/vnd.lotus-wordpro": { + source: "iana", + extensions: ["lwp"] + }, + "application/vnd.macports.portpkg": { + source: "iana", + extensions: ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + source: "iana", + extensions: ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.conftoken+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.license+xml": { + source: "iana", + compressible: true + }, + "application/vnd.marlin.drm.mdcf": { + source: "iana" + }, + "application/vnd.mason+json": { + source: "iana", + compressible: true + }, + "application/vnd.maxar.archive.3tz+zip": { + source: "iana", + compressible: false + }, + "application/vnd.maxmind.maxmind-db": { + source: "iana" + }, + "application/vnd.mcd": { + source: "iana", + extensions: ["mcd"] + }, + "application/vnd.medcalcdata": { + source: "iana", + extensions: ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + source: "iana", + extensions: ["cdkey"] + }, + "application/vnd.meridian-slingshot": { + source: "iana" + }, + "application/vnd.mfer": { + source: "iana", + extensions: ["mwf"] + }, + "application/vnd.mfmp": { + source: "iana", + extensions: ["mfm"] + }, + "application/vnd.micro+json": { + source: "iana", + compressible: true + }, + "application/vnd.micrografx.flo": { + source: "iana", + extensions: ["flo"] + }, + "application/vnd.micrografx.igx": { + source: "iana", + extensions: ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + source: "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + source: "iana" + }, + "application/vnd.miele+json": { + source: "iana", + compressible: true + }, + "application/vnd.mif": { + source: "iana", + extensions: ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + source: "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + source: "iana" + }, + "application/vnd.mobius.daf": { + source: "iana", + extensions: ["daf"] + }, + "application/vnd.mobius.dis": { + source: "iana", + extensions: ["dis"] + }, + "application/vnd.mobius.mbk": { + source: "iana", + extensions: ["mbk"] + }, + "application/vnd.mobius.mqy": { + source: "iana", + extensions: ["mqy"] + }, + "application/vnd.mobius.msl": { + source: "iana", + extensions: ["msl"] + }, + "application/vnd.mobius.plc": { + source: "iana", + extensions: ["plc"] + }, + "application/vnd.mobius.txf": { + source: "iana", + extensions: ["txf"] + }, + "application/vnd.mophun.application": { + source: "iana", + extensions: ["mpn"] + }, + "application/vnd.mophun.certificate": { + source: "iana", + extensions: ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + source: "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + source: "iana" + }, + "application/vnd.motorola.iprm": { + source: "iana" + }, + "application/vnd.mozilla.xul+xml": { + source: "iana", + compressible: true, + extensions: ["xul"] + }, + "application/vnd.ms-3mfdocument": { + source: "iana" + }, + "application/vnd.ms-artgalry": { + source: "iana", + extensions: ["cil"] + }, + "application/vnd.ms-asf": { + source: "iana" + }, + "application/vnd.ms-cab-compressed": { + source: "iana", + extensions: ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + source: "apache" + }, + "application/vnd.ms-excel": { + source: "iana", + compressible: false, + extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + source: "iana", + extensions: ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + source: "iana", + extensions: ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + source: "iana", + extensions: ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + source: "iana", + extensions: ["xltm"] + }, + "application/vnd.ms-fontobject": { + source: "iana", + compressible: true, + extensions: ["eot"] + }, + "application/vnd.ms-htmlhelp": { + source: "iana", + extensions: ["chm"] + }, + "application/vnd.ms-ims": { + source: "iana", + extensions: ["ims"] + }, + "application/vnd.ms-lrm": { + source: "iana", + extensions: ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-officetheme": { + source: "iana", + extensions: ["thmx"] + }, + "application/vnd.ms-opentype": { + source: "apache", + compressible: true + }, + "application/vnd.ms-outlook": { + compressible: false, + extensions: ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + source: "apache" + }, + "application/vnd.ms-pki.seccat": { + source: "apache", + extensions: ["cat"] + }, + "application/vnd.ms-pki.stl": { + source: "apache", + extensions: ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-powerpoint": { + source: "iana", + compressible: false, + extensions: ["ppt", "pps", "pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + source: "iana", + extensions: ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + source: "iana", + extensions: ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + source: "iana", + extensions: ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + source: "iana", + extensions: ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + source: "iana", + extensions: ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-printing.printticket+xml": { + source: "apache", + compressible: true + }, + "application/vnd.ms-printschematicket+xml": { + source: "iana", + compressible: true + }, + "application/vnd.ms-project": { + source: "iana", + extensions: ["mpp", "mpt"] + }, + "application/vnd.ms-tnef": { + source: "iana" + }, + "application/vnd.ms-windows.devicepairing": { + source: "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + source: "iana" + }, + "application/vnd.ms-windows.printerpairing": { + source: "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + source: "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + source: "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + source: "iana", + extensions: ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + source: "iana", + extensions: ["dotm"] + }, + "application/vnd.ms-works": { + source: "iana", + extensions: ["wps", "wks", "wcm", "wdb"] + }, + "application/vnd.ms-wpl": { + source: "iana", + extensions: ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + source: "iana", + compressible: false, + extensions: ["xps"] + }, + "application/vnd.msa-disk-image": { + source: "iana" + }, + "application/vnd.mseq": { + source: "iana", + extensions: ["mseq"] + }, + "application/vnd.msign": { + source: "iana" + }, + "application/vnd.multiad.creator": { + source: "iana" + }, + "application/vnd.multiad.creator.cif": { + source: "iana" + }, + "application/vnd.music-niff": { + source: "iana" + }, + "application/vnd.musician": { + source: "iana", + extensions: ["mus"] + }, + "application/vnd.muvee.style": { + source: "iana", + extensions: ["msty"] + }, + "application/vnd.mynfc": { + source: "iana", + extensions: ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + source: "iana", + compressible: true + }, + "application/vnd.ncd.control": { + source: "iana" + }, + "application/vnd.ncd.reference": { + source: "iana" + }, + "application/vnd.nearst.inv+json": { + source: "iana", + compressible: true + }, + "application/vnd.nebumind.line": { + source: "iana" + }, + "application/vnd.nervana": { + source: "iana" + }, + "application/vnd.netfpx": { + source: "iana" + }, + "application/vnd.neurolanguage.nlu": { + source: "iana", + extensions: ["nlu"] + }, + "application/vnd.nimn": { + source: "iana" + }, + "application/vnd.nintendo.nitro.rom": { + source: "iana" + }, + "application/vnd.nintendo.snes.rom": { + source: "iana" + }, + "application/vnd.nitf": { + source: "iana", + extensions: ["ntf", "nitf"] + }, + "application/vnd.noblenet-directory": { + source: "iana", + extensions: ["nnd"] + }, + "application/vnd.noblenet-sealer": { + source: "iana", + extensions: ["nns"] + }, + "application/vnd.noblenet-web": { + source: "iana", + extensions: ["nnw"] + }, + "application/vnd.nokia.catalogs": { + source: "iana" + }, + "application/vnd.nokia.conml+wbxml": { + source: "iana" + }, + "application/vnd.nokia.conml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.iptv.config+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.isds-radio-presets": { + source: "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + source: "iana" + }, + "application/vnd.nokia.landmark+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.landmarkcollection+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.n-gage.ac+xml": { + source: "iana", + compressible: true, + extensions: ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + source: "iana", + extensions: ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + source: "iana", + extensions: ["n-gage"] + }, + "application/vnd.nokia.ncd": { + source: "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + source: "iana" + }, + "application/vnd.nokia.pcd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.nokia.radio-preset": { + source: "iana", + extensions: ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + source: "iana", + extensions: ["rpss"] + }, + "application/vnd.novadigm.edm": { + source: "iana", + extensions: ["edm"] + }, + "application/vnd.novadigm.edx": { + source: "iana", + extensions: ["edx"] + }, + "application/vnd.novadigm.ext": { + source: "iana", + extensions: ["ext"] + }, + "application/vnd.ntt-local.content-share": { + source: "iana" + }, + "application/vnd.ntt-local.file-transfer": { + source: "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + source: "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + source: "iana" + }, + "application/vnd.oasis.opendocument.chart": { + source: "iana", + extensions: ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + source: "iana", + extensions: ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + source: "iana", + extensions: ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + source: "iana", + extensions: ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + source: "iana", + extensions: ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + source: "iana", + compressible: false, + extensions: ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + source: "iana", + extensions: ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + source: "iana", + extensions: ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + source: "iana", + extensions: ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + source: "iana", + compressible: false, + extensions: ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + source: "iana", + extensions: ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + source: "iana", + compressible: false, + extensions: ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + source: "iana", + extensions: ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + source: "iana", + compressible: false, + extensions: ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + source: "iana", + extensions: ["odm"] + }, + "application/vnd.oasis.opendocument.text-template": { + source: "iana", + extensions: ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + source: "iana", + extensions: ["oth"] + }, + "application/vnd.obn": { + source: "iana" + }, + "application/vnd.ocf+cbor": { + source: "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + source: "iana", + compressible: true + }, + "application/vnd.oftn.l10n+json": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.cspg-hexbinary": { + source: "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.dae.xhtml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.pae.gem": { + source: "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.spdlist+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.ueprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oipf.userprofile+xml": { + source: "iana", + compressible: true + }, + "application/vnd.olpc-sugar": { + source: "iana", + extensions: ["xo"] + }, + "application/vnd.oma-scws-config": { + source: "iana" + }, + "application/vnd.oma-scws-http-request": { + source: "iana" + }, + "application/vnd.oma-scws-http-response": { + source: "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.imd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.ltkm": { + source: "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + source: "iana" + }, + "application/vnd.oma.bcast.sgboot": { + source: "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sgdu": { + source: "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + source: "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.sprov+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.bcast.stkm": { + source: "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-feature-handler+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-pcc+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-subs-invite+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.cab-user-prefs+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.dcd": { + source: "iana" + }, + "application/vnd.oma.dcdc": { + source: "iana" + }, + "application/vnd.oma.dd2+xml": { + source: "iana", + compressible: true, + extensions: ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.group-usage-list+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+cbor": { + source: "iana" + }, + "application/vnd.oma.lwm2m+json": { + source: "iana", + compressible: true + }, + "application/vnd.oma.lwm2m+tlv": { + source: "iana" + }, + "application/vnd.oma.pal+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.final-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.groups+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.push": { + source: "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oma.xcap-directory+xml": { + source: "iana", + compressible: true + }, + "application/vnd.omads-email+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-file+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omads-folder+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.omaloc-supl-init": { + source: "iana" + }, + "application/vnd.onepager": { + source: "iana" + }, + "application/vnd.onepagertamp": { + source: "iana" + }, + "application/vnd.onepagertamx": { + source: "iana" + }, + "application/vnd.onepagertat": { + source: "iana" + }, + "application/vnd.onepagertatp": { + source: "iana" + }, + "application/vnd.onepagertatx": { + source: "iana" + }, + "application/vnd.openblox.game+xml": { + source: "iana", + compressible: true, + extensions: ["obgx"] + }, + "application/vnd.openblox.game-binary": { + source: "iana" + }, + "application/vnd.openeye.oeb": { + source: "iana" + }, + "application/vnd.openofficeorg.extension": { + source: "apache", + extensions: ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + source: "iana", + compressible: true, + extensions: ["osm"] + }, + "application/vnd.opentimestamps.ots": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + source: "iana", + compressible: false, + extensions: ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + source: "iana", + extensions: ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + source: "iana", + extensions: ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + source: "iana", + extensions: ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + source: "iana", + compressible: false, + extensions: ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + source: "iana", + extensions: ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + source: "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + source: "iana", + compressible: false, + extensions: ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + source: "iana", + extensions: ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + source: "iana", + compressible: true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oracle.resource+json": { + source: "iana", + compressible: true + }, + "application/vnd.orange.indata": { + source: "iana" + }, + "application/vnd.osa.netdeploy": { + source: "iana" + }, + "application/vnd.osgeo.mapguide.package": { + source: "iana", + extensions: ["mgp"] + }, + "application/vnd.osgi.bundle": { + source: "iana" + }, + "application/vnd.osgi.dp": { + source: "iana", + extensions: ["dp"] + }, + "application/vnd.osgi.subsystem": { + source: "iana", + extensions: ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + source: "iana", + compressible: true + }, + "application/vnd.oxli.countgraph": { + source: "iana" + }, + "application/vnd.pagerduty+json": { + source: "iana", + compressible: true + }, + "application/vnd.palm": { + source: "iana", + extensions: ["pdb", "pqa", "oprc"] + }, + "application/vnd.panoply": { + source: "iana" + }, + "application/vnd.paos.xml": { + source: "iana" + }, + "application/vnd.patentdive": { + source: "iana" + }, + "application/vnd.patientecommsdoc": { + source: "iana" + }, + "application/vnd.pawaafile": { + source: "iana", + extensions: ["paw"] + }, + "application/vnd.pcos": { + source: "iana" + }, + "application/vnd.pg.format": { + source: "iana", + extensions: ["str"] + }, + "application/vnd.pg.osasli": { + source: "iana", + extensions: ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + source: "iana" + }, + "application/vnd.picsel": { + source: "iana", + extensions: ["efif"] + }, + "application/vnd.pmi.widget": { + source: "iana", + extensions: ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + source: "iana", + compressible: true + }, + "application/vnd.pocketlearn": { + source: "iana", + extensions: ["plf"] + }, + "application/vnd.powerbuilder6": { + source: "iana", + extensions: ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + source: "iana" + }, + "application/vnd.powerbuilder7": { + source: "iana" + }, + "application/vnd.powerbuilder7-s": { + source: "iana" + }, + "application/vnd.powerbuilder75": { + source: "iana" + }, + "application/vnd.powerbuilder75-s": { + source: "iana" + }, + "application/vnd.preminet": { + source: "iana" + }, + "application/vnd.previewsystems.box": { + source: "iana", + extensions: ["box"] + }, + "application/vnd.proteus.magazine": { + source: "iana", + extensions: ["mgz"] + }, + "application/vnd.psfs": { + source: "iana" + }, + "application/vnd.publishare-delta-tree": { + source: "iana", + extensions: ["qps"] + }, + "application/vnd.pvi.ptid1": { + source: "iana", + extensions: ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + source: "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + source: "iana", + compressible: true + }, + "application/vnd.qualcomm.brew-app-res": { + source: "iana" + }, + "application/vnd.quarantainenet": { + source: "iana" + }, + "application/vnd.quark.quarkxpress": { + source: "iana", + extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"] + }, + "application/vnd.quobject-quoxdocument": { + source: "iana" + }, + "application/vnd.radisys.moml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-conf+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + source: "iana", + compressible: true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + source: "iana", + compressible: true + }, + "application/vnd.rainstor.data": { + source: "iana" + }, + "application/vnd.rapid": { + source: "iana" + }, + "application/vnd.rar": { + source: "iana", + extensions: ["rar"] + }, + "application/vnd.realvnc.bed": { + source: "iana", + extensions: ["bed"] + }, + "application/vnd.recordare.musicxml": { + source: "iana", + extensions: ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + source: "iana", + compressible: true, + extensions: ["musicxml"] + }, + "application/vnd.renlearn.rlprint": { + source: "iana" + }, + "application/vnd.resilient.logic": { + source: "iana" + }, + "application/vnd.restful+json": { + source: "iana", + compressible: true + }, + "application/vnd.rig.cryptonote": { + source: "iana", + extensions: ["cryptonote"] + }, + "application/vnd.rim.cod": { + source: "apache", + extensions: ["cod"] + }, + "application/vnd.rn-realmedia": { + source: "apache", + extensions: ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + source: "apache", + extensions: ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + source: "iana", + compressible: true, + extensions: ["link66"] + }, + "application/vnd.rs-274x": { + source: "iana" + }, + "application/vnd.ruckus.download": { + source: "iana" + }, + "application/vnd.s3sms": { + source: "iana" + }, + "application/vnd.sailingtracker.track": { + source: "iana", + extensions: ["st"] + }, + "application/vnd.sar": { + source: "iana" + }, + "application/vnd.sbm.cid": { + source: "iana" + }, + "application/vnd.sbm.mid2": { + source: "iana" + }, + "application/vnd.scribus": { + source: "iana" + }, + "application/vnd.sealed.3df": { + source: "iana" + }, + "application/vnd.sealed.csf": { + source: "iana" + }, + "application/vnd.sealed.doc": { + source: "iana" + }, + "application/vnd.sealed.eml": { + source: "iana" + }, + "application/vnd.sealed.mht": { + source: "iana" + }, + "application/vnd.sealed.net": { + source: "iana" + }, + "application/vnd.sealed.ppt": { + source: "iana" + }, + "application/vnd.sealed.tiff": { + source: "iana" + }, + "application/vnd.sealed.xls": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + source: "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + source: "iana" + }, + "application/vnd.seemail": { + source: "iana", + extensions: ["see"] + }, + "application/vnd.seis+json": { + source: "iana", + compressible: true + }, + "application/vnd.sema": { + source: "iana", + extensions: ["sema"] + }, + "application/vnd.semd": { + source: "iana", + extensions: ["semd"] + }, + "application/vnd.semf": { + source: "iana", + extensions: ["semf"] + }, + "application/vnd.shade-save-file": { + source: "iana" + }, + "application/vnd.shana.informed.formdata": { + source: "iana", + extensions: ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + source: "iana", + extensions: ["itp"] + }, + "application/vnd.shana.informed.interchange": { + source: "iana", + extensions: ["iif"] + }, + "application/vnd.shana.informed.package": { + source: "iana", + extensions: ["ipk"] + }, + "application/vnd.shootproof+json": { + source: "iana", + compressible: true + }, + "application/vnd.shopkick+json": { + source: "iana", + compressible: true + }, + "application/vnd.shp": { + source: "iana" + }, + "application/vnd.shx": { + source: "iana" + }, + "application/vnd.sigrok.session": { + source: "iana" + }, + "application/vnd.simtech-mindmapper": { + source: "iana", + extensions: ["twd", "twds"] + }, + "application/vnd.siren+json": { + source: "iana", + compressible: true + }, + "application/vnd.smaf": { + source: "iana", + extensions: ["mmf"] + }, + "application/vnd.smart.notebook": { + source: "iana" + }, + "application/vnd.smart.teacher": { + source: "iana", + extensions: ["teacher"] + }, + "application/vnd.snesdev-page-table": { + source: "iana" + }, + "application/vnd.software602.filler.form+xml": { + source: "iana", + compressible: true, + extensions: ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + source: "iana" + }, + "application/vnd.solent.sdkm+xml": { + source: "iana", + compressible: true, + extensions: ["sdkm", "sdkd"] + }, + "application/vnd.spotfire.dxp": { + source: "iana", + extensions: ["dxp"] + }, + "application/vnd.spotfire.sfs": { + source: "iana", + extensions: ["sfs"] + }, + "application/vnd.sqlite3": { + source: "iana" + }, + "application/vnd.sss-cod": { + source: "iana" + }, + "application/vnd.sss-dtf": { + source: "iana" + }, + "application/vnd.sss-ntf": { + source: "iana" + }, + "application/vnd.stardivision.calc": { + source: "apache", + extensions: ["sdc"] + }, + "application/vnd.stardivision.draw": { + source: "apache", + extensions: ["sda"] + }, + "application/vnd.stardivision.impress": { + source: "apache", + extensions: ["sdd"] + }, + "application/vnd.stardivision.math": { + source: "apache", + extensions: ["smf"] + }, + "application/vnd.stardivision.writer": { + source: "apache", + extensions: ["sdw", "vor"] + }, + "application/vnd.stardivision.writer-global": { + source: "apache", + extensions: ["sgl"] + }, + "application/vnd.stepmania.package": { + source: "iana", + extensions: ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + source: "iana", + extensions: ["sm"] + }, + "application/vnd.street-stream": { + source: "iana" + }, + "application/vnd.sun.wadl+xml": { + source: "iana", + compressible: true, + extensions: ["wadl"] + }, + "application/vnd.sun.xml.calc": { + source: "apache", + extensions: ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + source: "apache", + extensions: ["stc"] + }, + "application/vnd.sun.xml.draw": { + source: "apache", + extensions: ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + source: "apache", + extensions: ["std"] + }, + "application/vnd.sun.xml.impress": { + source: "apache", + extensions: ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + source: "apache", + extensions: ["sti"] + }, + "application/vnd.sun.xml.math": { + source: "apache", + extensions: ["sxm"] + }, + "application/vnd.sun.xml.writer": { + source: "apache", + extensions: ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + source: "apache", + extensions: ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + source: "apache", + extensions: ["stw"] + }, + "application/vnd.sus-calendar": { + source: "iana", + extensions: ["sus", "susp"] + }, + "application/vnd.svd": { + source: "iana", + extensions: ["svd"] + }, + "application/vnd.swiftview-ics": { + source: "iana" + }, + "application/vnd.sycle+xml": { + source: "iana", + compressible: true + }, + "application/vnd.syft+json": { + source: "iana", + compressible: true + }, + "application/vnd.symbian.install": { + source: "apache", + extensions: ["sis", "sisx"] + }, + "application/vnd.syncml+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + source: "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmddf+xml": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + source: "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + source: "iana", + charset: "UTF-8", + compressible: true + }, + "application/vnd.syncml.ds.notification": { + source: "iana" + }, + "application/vnd.tableschema+json": { + source: "iana", + compressible: true + }, + "application/vnd.tao.intent-module-archive": { + source: "iana", + extensions: ["tao"] + }, + "application/vnd.tcpdump.pcap": { + source: "iana", + extensions: ["pcap", "cap", "dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + source: "iana", + compressible: true + }, + "application/vnd.tmd.mediaflex.api+xml": { + source: "iana", + compressible: true + }, + "application/vnd.tml": { + source: "iana" + }, + "application/vnd.tmobile-livetv": { + source: "iana", + extensions: ["tmo"] + }, + "application/vnd.tri.onesource": { + source: "iana" + }, + "application/vnd.trid.tpt": { + source: "iana", + extensions: ["tpt"] + }, + "application/vnd.triscape.mxs": { + source: "iana", + extensions: ["mxs"] + }, + "application/vnd.trueapp": { + source: "iana", + extensions: ["tra"] + }, + "application/vnd.truedoc": { + source: "iana" + }, + "application/vnd.ubisoft.webplayer": { + source: "iana" + }, + "application/vnd.ufdl": { + source: "iana", + extensions: ["ufd", "ufdl"] + }, + "application/vnd.uiq.theme": { + source: "iana", + extensions: ["utz"] + }, + "application/vnd.umajin": { + source: "iana", + extensions: ["umj"] + }, + "application/vnd.unity": { + source: "iana", + extensions: ["unityweb"] + }, + "application/vnd.uoml+xml": { + source: "iana", + compressible: true, + extensions: ["uoml"] + }, + "application/vnd.uplanet.alert": { + source: "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice": { + source: "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.cacheop": { + source: "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.channel": { + source: "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.list": { + source: "iana" + }, + "application/vnd.uplanet.list-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.listcmd": { + source: "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + source: "iana" + }, + "application/vnd.uplanet.signal": { + source: "iana" + }, + "application/vnd.uri-map": { + source: "iana" + }, + "application/vnd.valve.source.material": { + source: "iana" + }, + "application/vnd.vcx": { + source: "iana", + extensions: ["vcx"] + }, + "application/vnd.vd-study": { + source: "iana" + }, + "application/vnd.vectorworks": { + source: "iana" + }, + "application/vnd.vel+json": { + source: "iana", + compressible: true + }, + "application/vnd.verimatrix.vcas": { + source: "iana" + }, + "application/vnd.veritone.aion+json": { + source: "iana", + compressible: true + }, + "application/vnd.veryant.thin": { + source: "iana" + }, + "application/vnd.ves.encrypted": { + source: "iana" + }, + "application/vnd.vidsoft.vidconference": { + source: "iana" + }, + "application/vnd.visio": { + source: "iana", + extensions: ["vsd", "vst", "vss", "vsw"] + }, + "application/vnd.visionary": { + source: "iana", + extensions: ["vis"] + }, + "application/vnd.vividence.scriptfile": { + source: "iana" + }, + "application/vnd.vsf": { + source: "iana", + extensions: ["vsf"] + }, + "application/vnd.wap.sic": { + source: "iana" + }, + "application/vnd.wap.slc": { + source: "iana" + }, + "application/vnd.wap.wbxml": { + source: "iana", + charset: "UTF-8", + extensions: ["wbxml"] + }, + "application/vnd.wap.wmlc": { + source: "iana", + extensions: ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + source: "iana", + extensions: ["wmlsc"] + }, + "application/vnd.webturbo": { + source: "iana", + extensions: ["wtb"] + }, + "application/vnd.wfa.dpp": { + source: "iana" + }, + "application/vnd.wfa.p2p": { + source: "iana" + }, + "application/vnd.wfa.wsc": { + source: "iana" + }, + "application/vnd.windows.devicepairing": { + source: "iana" + }, + "application/vnd.wmc": { + source: "iana" + }, + "application/vnd.wmf.bootstrap": { + source: "iana" + }, + "application/vnd.wolfram.mathematica": { + source: "iana" + }, + "application/vnd.wolfram.mathematica.package": { + source: "iana" + }, + "application/vnd.wolfram.player": { + source: "iana", + extensions: ["nbp"] + }, + "application/vnd.wordperfect": { + source: "iana", + extensions: ["wpd"] + }, + "application/vnd.wqd": { + source: "iana", + extensions: ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + source: "iana" + }, + "application/vnd.wt.stf": { + source: "iana", + extensions: ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + source: "iana" + }, + "application/vnd.wv.csp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.wv.ssp+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xacml+json": { + source: "iana", + compressible: true + }, + "application/vnd.xara": { + source: "iana", + extensions: ["xar"] + }, + "application/vnd.xfdl": { + source: "iana", + extensions: ["xfdl"] + }, + "application/vnd.xfdl.webform": { + source: "iana" + }, + "application/vnd.xmi+xml": { + source: "iana", + compressible: true + }, + "application/vnd.xmpie.cpkg": { + source: "iana" + }, + "application/vnd.xmpie.dpkg": { + source: "iana" + }, + "application/vnd.xmpie.plan": { + source: "iana" + }, + "application/vnd.xmpie.ppkg": { + source: "iana" + }, + "application/vnd.xmpie.xlim": { + source: "iana" + }, + "application/vnd.yamaha.hv-dic": { + source: "iana", + extensions: ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + source: "iana", + extensions: ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + source: "iana", + extensions: ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + source: "iana", + extensions: ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + source: "iana", + compressible: true, + extensions: ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + source: "iana" + }, + "application/vnd.yamaha.smaf-audio": { + source: "iana", + extensions: ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + source: "iana", + extensions: ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + source: "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + source: "iana" + }, + "application/vnd.yaoweme": { + source: "iana" + }, + "application/vnd.yellowriver-custom-menu": { + source: "iana", + extensions: ["cmp"] + }, + "application/vnd.youtube.yt": { + source: "iana" + }, + "application/vnd.zul": { + source: "iana", + extensions: ["zir", "zirz"] + }, + "application/vnd.zzazz.deck+xml": { + source: "iana", + compressible: true, + extensions: ["zaz"] + }, + "application/voicexml+xml": { + source: "iana", + compressible: true, + extensions: ["vxml"] + }, + "application/voucher-cms+json": { + source: "iana", + compressible: true + }, + "application/vq-rtcpxr": { + source: "iana" + }, + "application/wasm": { + source: "iana", + compressible: true, + extensions: ["wasm"] + }, + "application/watcherinfo+xml": { + source: "iana", + compressible: true, + extensions: ["wif"] + }, + "application/webpush-options+json": { + source: "iana", + compressible: true + }, + "application/whoispp-query": { + source: "iana" + }, + "application/whoispp-response": { + source: "iana" + }, + "application/widget": { + source: "iana", + extensions: ["wgt"] + }, + "application/winhlp": { + source: "apache", + extensions: ["hlp"] + }, + "application/wita": { + source: "iana" + }, + "application/wordperfect5.1": { + source: "iana" + }, + "application/wsdl+xml": { + source: "iana", + compressible: true, + extensions: ["wsdl"] + }, + "application/wspolicy+xml": { + source: "iana", + compressible: true, + extensions: ["wspolicy"] + }, + "application/x-7z-compressed": { + source: "apache", + compressible: false, + extensions: ["7z"] + }, + "application/x-abiword": { + source: "apache", + extensions: ["abw"] + }, + "application/x-ace-compressed": { + source: "apache", + extensions: ["ace"] + }, + "application/x-amf": { + source: "apache" + }, + "application/x-apple-diskimage": { + source: "apache", + extensions: ["dmg"] + }, + "application/x-arj": { + compressible: false, + extensions: ["arj"] + }, + "application/x-authorware-bin": { + source: "apache", + extensions: ["aab", "x32", "u32", "vox"] + }, + "application/x-authorware-map": { + source: "apache", + extensions: ["aam"] + }, + "application/x-authorware-seg": { + source: "apache", + extensions: ["aas"] + }, + "application/x-bcpio": { + source: "apache", + extensions: ["bcpio"] + }, + "application/x-bdoc": { + compressible: false, + extensions: ["bdoc"] + }, + "application/x-bittorrent": { + source: "apache", + extensions: ["torrent"] + }, + "application/x-blorb": { + source: "apache", + extensions: ["blb", "blorb"] + }, + "application/x-bzip": { + source: "apache", + compressible: false, + extensions: ["bz"] + }, + "application/x-bzip2": { + source: "apache", + compressible: false, + extensions: ["bz2", "boz"] + }, + "application/x-cbr": { + source: "apache", + extensions: ["cbr", "cba", "cbt", "cbz", "cb7"] + }, + "application/x-cdlink": { + source: "apache", + extensions: ["vcd"] + }, + "application/x-cfs-compressed": { + source: "apache", + extensions: ["cfs"] + }, + "application/x-chat": { + source: "apache", + extensions: ["chat"] + }, + "application/x-chess-pgn": { + source: "apache", + extensions: ["pgn"] + }, + "application/x-chrome-extension": { + extensions: ["crx"] + }, + "application/x-cocoa": { + source: "nginx", + extensions: ["cco"] + }, + "application/x-compress": { + source: "apache" + }, + "application/x-conference": { + source: "apache", + extensions: ["nsc"] + }, + "application/x-cpio": { + source: "apache", + extensions: ["cpio"] + }, + "application/x-csh": { + source: "apache", + extensions: ["csh"] + }, + "application/x-deb": { + compressible: false + }, + "application/x-debian-package": { + source: "apache", + extensions: ["deb", "udeb"] + }, + "application/x-dgc-compressed": { + source: "apache", + extensions: ["dgc"] + }, + "application/x-director": { + source: "apache", + extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"] + }, + "application/x-doom": { + source: "apache", + extensions: ["wad"] + }, + "application/x-dtbncx+xml": { + source: "apache", + compressible: true, + extensions: ["ncx"] + }, + "application/x-dtbook+xml": { + source: "apache", + compressible: true, + extensions: ["dtb"] + }, + "application/x-dtbresource+xml": { + source: "apache", + compressible: true, + extensions: ["res"] + }, + "application/x-dvi": { + source: "apache", + compressible: false, + extensions: ["dvi"] + }, + "application/x-envoy": { + source: "apache", + extensions: ["evy"] + }, + "application/x-eva": { + source: "apache", + extensions: ["eva"] + }, + "application/x-font-bdf": { + source: "apache", + extensions: ["bdf"] + }, + "application/x-font-dos": { + source: "apache" + }, + "application/x-font-framemaker": { + source: "apache" + }, + "application/x-font-ghostscript": { + source: "apache", + extensions: ["gsf"] + }, + "application/x-font-libgrx": { + source: "apache" + }, + "application/x-font-linux-psf": { + source: "apache", + extensions: ["psf"] + }, + "application/x-font-pcf": { + source: "apache", + extensions: ["pcf"] + }, + "application/x-font-snf": { + source: "apache", + extensions: ["snf"] + }, + "application/x-font-speedo": { + source: "apache" + }, + "application/x-font-sunos-news": { + source: "apache" + }, + "application/x-font-type1": { + source: "apache", + extensions: ["pfa", "pfb", "pfm", "afm"] + }, + "application/x-font-vfont": { + source: "apache" + }, + "application/x-freearc": { + source: "apache", + extensions: ["arc"] + }, + "application/x-futuresplash": { + source: "apache", + extensions: ["spl"] + }, + "application/x-gca-compressed": { + source: "apache", + extensions: ["gca"] + }, + "application/x-glulx": { + source: "apache", + extensions: ["ulx"] + }, + "application/x-gnumeric": { + source: "apache", + extensions: ["gnumeric"] + }, + "application/x-gramps-xml": { + source: "apache", + extensions: ["gramps"] + }, + "application/x-gtar": { + source: "apache", + extensions: ["gtar"] + }, + "application/x-gzip": { + source: "apache" + }, + "application/x-hdf": { + source: "apache", + extensions: ["hdf"] + }, + "application/x-httpd-php": { + compressible: true, + extensions: ["php"] + }, + "application/x-install-instructions": { + source: "apache", + extensions: ["install"] + }, + "application/x-iso9660-image": { + source: "apache", + extensions: ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + extensions: ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + extensions: ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + extensions: ["pages"] + }, + "application/x-java-archive-diff": { + source: "nginx", + extensions: ["jardiff"] + }, + "application/x-java-jnlp-file": { + source: "apache", + compressible: false, + extensions: ["jnlp"] + }, + "application/x-javascript": { + compressible: true + }, + "application/x-keepass2": { + extensions: ["kdbx"] + }, + "application/x-latex": { + source: "apache", + compressible: false, + extensions: ["latex"] + }, + "application/x-lua-bytecode": { + extensions: ["luac"] + }, + "application/x-lzh-compressed": { + source: "apache", + extensions: ["lzh", "lha"] + }, + "application/x-makeself": { + source: "nginx", + extensions: ["run"] + }, + "application/x-mie": { + source: "apache", + extensions: ["mie"] + }, + "application/x-mobipocket-ebook": { + source: "apache", + extensions: ["prc", "mobi"] + }, + "application/x-mpegurl": { + compressible: false + }, + "application/x-ms-application": { + source: "apache", + extensions: ["application"] + }, + "application/x-ms-shortcut": { + source: "apache", + extensions: ["lnk"] + }, + "application/x-ms-wmd": { + source: "apache", + extensions: ["wmd"] + }, + "application/x-ms-wmz": { + source: "apache", + extensions: ["wmz"] + }, + "application/x-ms-xbap": { + source: "apache", + extensions: ["xbap"] + }, + "application/x-msaccess": { + source: "apache", + extensions: ["mdb"] + }, + "application/x-msbinder": { + source: "apache", + extensions: ["obd"] + }, + "application/x-mscardfile": { + source: "apache", + extensions: ["crd"] + }, + "application/x-msclip": { + source: "apache", + extensions: ["clp"] + }, + "application/x-msdos-program": { + extensions: ["exe"] + }, + "application/x-msdownload": { + source: "apache", + extensions: ["exe", "dll", "com", "bat", "msi"] + }, + "application/x-msmediaview": { + source: "apache", + extensions: ["mvb", "m13", "m14"] + }, + "application/x-msmetafile": { + source: "apache", + extensions: ["wmf", "wmz", "emf", "emz"] + }, + "application/x-msmoney": { + source: "apache", + extensions: ["mny"] + }, + "application/x-mspublisher": { + source: "apache", + extensions: ["pub"] + }, + "application/x-msschedule": { + source: "apache", + extensions: ["scd"] + }, + "application/x-msterminal": { + source: "apache", + extensions: ["trm"] + }, + "application/x-mswrite": { + source: "apache", + extensions: ["wri"] + }, + "application/x-netcdf": { + source: "apache", + extensions: ["nc", "cdf"] + }, + "application/x-ns-proxy-autoconfig": { + compressible: true, + extensions: ["pac"] + }, + "application/x-nzb": { + source: "apache", + extensions: ["nzb"] + }, + "application/x-perl": { + source: "nginx", + extensions: ["pl", "pm"] + }, + "application/x-pilot": { + source: "nginx", + extensions: ["prc", "pdb"] + }, + "application/x-pkcs12": { + source: "apache", + compressible: false, + extensions: ["p12", "pfx"] + }, + "application/x-pkcs7-certificates": { + source: "apache", + extensions: ["p7b", "spc"] + }, + "application/x-pkcs7-certreqresp": { + source: "apache", + extensions: ["p7r"] + }, + "application/x-pki-message": { + source: "iana" + }, + "application/x-rar-compressed": { + source: "apache", + compressible: false, + extensions: ["rar"] + }, + "application/x-redhat-package-manager": { + source: "nginx", + extensions: ["rpm"] + }, + "application/x-research-info-systems": { + source: "apache", + extensions: ["ris"] + }, + "application/x-sea": { + source: "nginx", + extensions: ["sea"] + }, + "application/x-sh": { + source: "apache", + compressible: true, + extensions: ["sh"] + }, + "application/x-shar": { + source: "apache", + extensions: ["shar"] + }, + "application/x-shockwave-flash": { + source: "apache", + compressible: false, + extensions: ["swf"] + }, + "application/x-silverlight-app": { + source: "apache", + extensions: ["xap"] + }, + "application/x-sql": { + source: "apache", + extensions: ["sql"] + }, + "application/x-stuffit": { + source: "apache", + compressible: false, + extensions: ["sit"] + }, + "application/x-stuffitx": { + source: "apache", + extensions: ["sitx"] + }, + "application/x-subrip": { + source: "apache", + extensions: ["srt"] + }, + "application/x-sv4cpio": { + source: "apache", + extensions: ["sv4cpio"] + }, + "application/x-sv4crc": { + source: "apache", + extensions: ["sv4crc"] + }, + "application/x-t3vm-image": { + source: "apache", + extensions: ["t3"] + }, + "application/x-tads": { + source: "apache", + extensions: ["gam"] + }, + "application/x-tar": { + source: "apache", + compressible: true, + extensions: ["tar"] + }, + "application/x-tcl": { + source: "apache", + extensions: ["tcl", "tk"] + }, + "application/x-tex": { + source: "apache", + extensions: ["tex"] + }, + "application/x-tex-tfm": { + source: "apache", + extensions: ["tfm"] + }, + "application/x-texinfo": { + source: "apache", + extensions: ["texinfo", "texi"] + }, + "application/x-tgif": { + source: "apache", + extensions: ["obj"] + }, + "application/x-ustar": { + source: "apache", + extensions: ["ustar"] + }, + "application/x-virtualbox-hdd": { + compressible: true, + extensions: ["hdd"] + }, + "application/x-virtualbox-ova": { + compressible: true, + extensions: ["ova"] + }, + "application/x-virtualbox-ovf": { + compressible: true, + extensions: ["ovf"] + }, + "application/x-virtualbox-vbox": { + compressible: true, + extensions: ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + compressible: false, + extensions: ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + compressible: true, + extensions: ["vdi"] + }, + "application/x-virtualbox-vhd": { + compressible: true, + extensions: ["vhd"] + }, + "application/x-virtualbox-vmdk": { + compressible: true, + extensions: ["vmdk"] + }, + "application/x-wais-source": { + source: "apache", + extensions: ["src"] + }, + "application/x-web-app-manifest+json": { + compressible: true, + extensions: ["webapp"] + }, + "application/x-www-form-urlencoded": { + source: "iana", + compressible: true + }, + "application/x-x509-ca-cert": { + source: "iana", + extensions: ["der", "crt", "pem"] + }, + "application/x-x509-ca-ra-cert": { + source: "iana" + }, + "application/x-x509-next-ca-cert": { + source: "iana" + }, + "application/x-xfig": { + source: "apache", + extensions: ["fig"] + }, + "application/x-xliff+xml": { + source: "apache", + compressible: true, + extensions: ["xlf"] + }, + "application/x-xpinstall": { + source: "apache", + compressible: false, + extensions: ["xpi"] + }, + "application/x-xz": { + source: "apache", + extensions: ["xz"] + }, + "application/x-zmachine": { + source: "apache", + extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"] + }, + "application/x400-bp": { + source: "iana" + }, + "application/xacml+xml": { + source: "iana", + compressible: true + }, + "application/xaml+xml": { + source: "apache", + compressible: true, + extensions: ["xaml"] + }, + "application/xcap-att+xml": { + source: "iana", + compressible: true, + extensions: ["xav"] + }, + "application/xcap-caps+xml": { + source: "iana", + compressible: true, + extensions: ["xca"] + }, + "application/xcap-diff+xml": { + source: "iana", + compressible: true, + extensions: ["xdf"] + }, + "application/xcap-el+xml": { + source: "iana", + compressible: true, + extensions: ["xel"] + }, + "application/xcap-error+xml": { + source: "iana", + compressible: true + }, + "application/xcap-ns+xml": { + source: "iana", + compressible: true, + extensions: ["xns"] + }, + "application/xcon-conference-info+xml": { + source: "iana", + compressible: true + }, + "application/xcon-conference-info-diff+xml": { + source: "iana", + compressible: true + }, + "application/xenc+xml": { + source: "iana", + compressible: true, + extensions: ["xenc"] + }, + "application/xhtml+xml": { + source: "iana", + compressible: true, + extensions: ["xhtml", "xht"] + }, + "application/xhtml-voice+xml": { + source: "apache", + compressible: true + }, + "application/xliff+xml": { + source: "iana", + compressible: true, + extensions: ["xlf"] + }, + "application/xml": { + source: "iana", + compressible: true, + extensions: ["xml", "xsl", "xsd", "rng"] + }, + "application/xml-dtd": { + source: "iana", + compressible: true, + extensions: ["dtd"] + }, + "application/xml-external-parsed-entity": { + source: "iana" + }, + "application/xml-patch+xml": { + source: "iana", + compressible: true + }, + "application/xmpp+xml": { + source: "iana", + compressible: true + }, + "application/xop+xml": { + source: "iana", + compressible: true, + extensions: ["xop"] + }, + "application/xproc+xml": { + source: "apache", + compressible: true, + extensions: ["xpl"] + }, + "application/xslt+xml": { + source: "iana", + compressible: true, + extensions: ["xsl", "xslt"] + }, + "application/xspf+xml": { + source: "apache", + compressible: true, + extensions: ["xspf"] + }, + "application/xv+xml": { + source: "iana", + compressible: true, + extensions: ["mxml", "xhvml", "xvml", "xvm"] + }, + "application/yang": { + source: "iana", + extensions: ["yang"] + }, + "application/yang-data+json": { + source: "iana", + compressible: true + }, + "application/yang-data+xml": { + source: "iana", + compressible: true + }, + "application/yang-patch+json": { + source: "iana", + compressible: true + }, + "application/yang-patch+xml": { + source: "iana", + compressible: true + }, + "application/yin+xml": { + source: "iana", + compressible: true, + extensions: ["yin"] + }, + "application/zip": { + source: "iana", + compressible: false, + extensions: ["zip"] + }, + "application/zlib": { + source: "iana" + }, + "application/zstd": { + source: "iana" + }, + "audio/1d-interleaved-parityfec": { + source: "iana" + }, + "audio/32kadpcm": { + source: "iana" + }, + "audio/3gpp": { + source: "iana", + compressible: false, + extensions: ["3gpp"] + }, + "audio/3gpp2": { + source: "iana" + }, + "audio/aac": { + source: "iana" + }, + "audio/ac3": { + source: "iana" + }, + "audio/adpcm": { + source: "apache", + extensions: ["adp"] + }, + "audio/amr": { + source: "iana", + extensions: ["amr"] + }, + "audio/amr-wb": { + source: "iana" + }, + "audio/amr-wb+": { + source: "iana" + }, + "audio/aptx": { + source: "iana" + }, + "audio/asc": { + source: "iana" + }, + "audio/atrac-advanced-lossless": { + source: "iana" + }, + "audio/atrac-x": { + source: "iana" + }, + "audio/atrac3": { + source: "iana" + }, + "audio/basic": { + source: "iana", + compressible: false, + extensions: ["au", "snd"] + }, + "audio/bv16": { + source: "iana" + }, + "audio/bv32": { + source: "iana" + }, + "audio/clearmode": { + source: "iana" + }, + "audio/cn": { + source: "iana" + }, + "audio/dat12": { + source: "iana" + }, + "audio/dls": { + source: "iana" + }, + "audio/dsr-es201108": { + source: "iana" + }, + "audio/dsr-es202050": { + source: "iana" + }, + "audio/dsr-es202211": { + source: "iana" + }, + "audio/dsr-es202212": { + source: "iana" + }, + "audio/dv": { + source: "iana" + }, + "audio/dvi4": { + source: "iana" + }, + "audio/eac3": { + source: "iana" + }, + "audio/encaprtp": { + source: "iana" + }, + "audio/evrc": { + source: "iana" + }, + "audio/evrc-qcp": { + source: "iana" + }, + "audio/evrc0": { + source: "iana" + }, + "audio/evrc1": { + source: "iana" + }, + "audio/evrcb": { + source: "iana" + }, + "audio/evrcb0": { + source: "iana" + }, + "audio/evrcb1": { + source: "iana" + }, + "audio/evrcnw": { + source: "iana" + }, + "audio/evrcnw0": { + source: "iana" + }, + "audio/evrcnw1": { + source: "iana" + }, + "audio/evrcwb": { + source: "iana" + }, + "audio/evrcwb0": { + source: "iana" + }, + "audio/evrcwb1": { + source: "iana" + }, + "audio/evs": { + source: "iana" + }, + "audio/flexfec": { + source: "iana" + }, + "audio/fwdred": { + source: "iana" + }, + "audio/g711-0": { + source: "iana" + }, + "audio/g719": { + source: "iana" + }, + "audio/g722": { + source: "iana" + }, + "audio/g7221": { + source: "iana" + }, + "audio/g723": { + source: "iana" + }, + "audio/g726-16": { + source: "iana" + }, + "audio/g726-24": { + source: "iana" + }, + "audio/g726-32": { + source: "iana" + }, + "audio/g726-40": { + source: "iana" + }, + "audio/g728": { + source: "iana" + }, + "audio/g729": { + source: "iana" + }, + "audio/g7291": { + source: "iana" + }, + "audio/g729d": { + source: "iana" + }, + "audio/g729e": { + source: "iana" + }, + "audio/gsm": { + source: "iana" + }, + "audio/gsm-efr": { + source: "iana" + }, + "audio/gsm-hr-08": { + source: "iana" + }, + "audio/ilbc": { + source: "iana" + }, + "audio/ip-mr_v2.5": { + source: "iana" + }, + "audio/isac": { + source: "apache" + }, + "audio/l16": { + source: "iana" + }, + "audio/l20": { + source: "iana" + }, + "audio/l24": { + source: "iana", + compressible: false + }, + "audio/l8": { + source: "iana" + }, + "audio/lpc": { + source: "iana" + }, + "audio/melp": { + source: "iana" + }, + "audio/melp1200": { + source: "iana" + }, + "audio/melp2400": { + source: "iana" + }, + "audio/melp600": { + source: "iana" + }, + "audio/mhas": { + source: "iana" + }, + "audio/midi": { + source: "apache", + extensions: ["mid", "midi", "kar", "rmi"] + }, + "audio/mobile-xmf": { + source: "iana", + extensions: ["mxmf"] + }, + "audio/mp3": { + compressible: false, + extensions: ["mp3"] + }, + "audio/mp4": { + source: "iana", + compressible: false, + extensions: ["m4a", "mp4a"] + }, + "audio/mp4a-latm": { + source: "iana" + }, + "audio/mpa": { + source: "iana" + }, + "audio/mpa-robust": { + source: "iana" + }, + "audio/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"] + }, + "audio/mpeg4-generic": { + source: "iana" + }, + "audio/musepack": { + source: "apache" + }, + "audio/ogg": { + source: "iana", + compressible: false, + extensions: ["oga", "ogg", "spx", "opus"] + }, + "audio/opus": { + source: "iana" + }, + "audio/parityfec": { + source: "iana" + }, + "audio/pcma": { + source: "iana" + }, + "audio/pcma-wb": { + source: "iana" + }, + "audio/pcmu": { + source: "iana" + }, + "audio/pcmu-wb": { + source: "iana" + }, + "audio/prs.sid": { + source: "iana" + }, + "audio/qcelp": { + source: "iana" + }, + "audio/raptorfec": { + source: "iana" + }, + "audio/red": { + source: "iana" + }, + "audio/rtp-enc-aescm128": { + source: "iana" + }, + "audio/rtp-midi": { + source: "iana" + }, + "audio/rtploopback": { + source: "iana" + }, + "audio/rtx": { + source: "iana" + }, + "audio/s3m": { + source: "apache", + extensions: ["s3m"] + }, + "audio/scip": { + source: "iana" + }, + "audio/silk": { + source: "apache", + extensions: ["sil"] + }, + "audio/smv": { + source: "iana" + }, + "audio/smv-qcp": { + source: "iana" + }, + "audio/smv0": { + source: "iana" + }, + "audio/sofa": { + source: "iana" + }, + "audio/sp-midi": { + source: "iana" + }, + "audio/speex": { + source: "iana" + }, + "audio/t140c": { + source: "iana" + }, + "audio/t38": { + source: "iana" + }, + "audio/telephone-event": { + source: "iana" + }, + "audio/tetra_acelp": { + source: "iana" + }, + "audio/tetra_acelp_bb": { + source: "iana" + }, + "audio/tone": { + source: "iana" + }, + "audio/tsvcis": { + source: "iana" + }, + "audio/uemclip": { + source: "iana" + }, + "audio/ulpfec": { + source: "iana" + }, + "audio/usac": { + source: "iana" + }, + "audio/vdvi": { + source: "iana" + }, + "audio/vmr-wb": { + source: "iana" + }, + "audio/vnd.3gpp.iufp": { + source: "iana" + }, + "audio/vnd.4sb": { + source: "iana" + }, + "audio/vnd.audiokoz": { + source: "iana" + }, + "audio/vnd.celp": { + source: "iana" + }, + "audio/vnd.cisco.nse": { + source: "iana" + }, + "audio/vnd.cmles.radio-events": { + source: "iana" + }, + "audio/vnd.cns.anp1": { + source: "iana" + }, + "audio/vnd.cns.inf1": { + source: "iana" + }, + "audio/vnd.dece.audio": { + source: "iana", + extensions: ["uva", "uvva"] + }, + "audio/vnd.digital-winds": { + source: "iana", + extensions: ["eol"] + }, + "audio/vnd.dlna.adts": { + source: "iana" + }, + "audio/vnd.dolby.heaac.1": { + source: "iana" + }, + "audio/vnd.dolby.heaac.2": { + source: "iana" + }, + "audio/vnd.dolby.mlp": { + source: "iana" + }, + "audio/vnd.dolby.mps": { + source: "iana" + }, + "audio/vnd.dolby.pl2": { + source: "iana" + }, + "audio/vnd.dolby.pl2x": { + source: "iana" + }, + "audio/vnd.dolby.pl2z": { + source: "iana" + }, + "audio/vnd.dolby.pulse.1": { + source: "iana" + }, + "audio/vnd.dra": { + source: "iana", + extensions: ["dra"] + }, + "audio/vnd.dts": { + source: "iana", + extensions: ["dts"] + }, + "audio/vnd.dts.hd": { + source: "iana", + extensions: ["dtshd"] + }, + "audio/vnd.dts.uhd": { + source: "iana" + }, + "audio/vnd.dvb.file": { + source: "iana" + }, + "audio/vnd.everad.plj": { + source: "iana" + }, + "audio/vnd.hns.audio": { + source: "iana" + }, + "audio/vnd.lucent.voice": { + source: "iana", + extensions: ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + source: "iana", + extensions: ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + source: "iana" + }, + "audio/vnd.nortel.vbk": { + source: "iana" + }, + "audio/vnd.nuera.ecelp4800": { + source: "iana", + extensions: ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + source: "iana", + extensions: ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + source: "iana", + extensions: ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + source: "iana" + }, + "audio/vnd.presonus.multitrack": { + source: "iana" + }, + "audio/vnd.qcelp": { + source: "iana" + }, + "audio/vnd.rhetorex.32kadpcm": { + source: "iana" + }, + "audio/vnd.rip": { + source: "iana", + extensions: ["rip"] + }, + "audio/vnd.rn-realaudio": { + compressible: false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + source: "iana" + }, + "audio/vnd.vmx.cvsd": { + source: "iana" + }, + "audio/vnd.wave": { + compressible: false + }, + "audio/vorbis": { + source: "iana", + compressible: false + }, + "audio/vorbis-config": { + source: "iana" + }, + "audio/wav": { + compressible: false, + extensions: ["wav"] + }, + "audio/wave": { + compressible: false, + extensions: ["wav"] + }, + "audio/webm": { + source: "apache", + compressible: false, + extensions: ["weba"] + }, + "audio/x-aac": { + source: "apache", + compressible: false, + extensions: ["aac"] + }, + "audio/x-aiff": { + source: "apache", + extensions: ["aif", "aiff", "aifc"] + }, + "audio/x-caf": { + source: "apache", + compressible: false, + extensions: ["caf"] + }, + "audio/x-flac": { + source: "apache", + extensions: ["flac"] + }, + "audio/x-m4a": { + source: "nginx", + extensions: ["m4a"] + }, + "audio/x-matroska": { + source: "apache", + extensions: ["mka"] + }, + "audio/x-mpegurl": { + source: "apache", + extensions: ["m3u"] + }, + "audio/x-ms-wax": { + source: "apache", + extensions: ["wax"] + }, + "audio/x-ms-wma": { + source: "apache", + extensions: ["wma"] + }, + "audio/x-pn-realaudio": { + source: "apache", + extensions: ["ram", "ra"] + }, + "audio/x-pn-realaudio-plugin": { + source: "apache", + extensions: ["rmp"] + }, + "audio/x-realaudio": { + source: "nginx", + extensions: ["ra"] + }, + "audio/x-tta": { + source: "apache" + }, + "audio/x-wav": { + source: "apache", + extensions: ["wav"] + }, + "audio/xm": { + source: "apache", + extensions: ["xm"] + }, + "chemical/x-cdx": { + source: "apache", + extensions: ["cdx"] + }, + "chemical/x-cif": { + source: "apache", + extensions: ["cif"] + }, + "chemical/x-cmdf": { + source: "apache", + extensions: ["cmdf"] + }, + "chemical/x-cml": { + source: "apache", + extensions: ["cml"] + }, + "chemical/x-csml": { + source: "apache", + extensions: ["csml"] + }, + "chemical/x-pdb": { + source: "apache" + }, + "chemical/x-xyz": { + source: "apache", + extensions: ["xyz"] + }, + "font/collection": { + source: "iana", + extensions: ["ttc"] + }, + "font/otf": { + source: "iana", + compressible: true, + extensions: ["otf"] + }, + "font/sfnt": { + source: "iana" + }, + "font/ttf": { + source: "iana", + compressible: true, + extensions: ["ttf"] + }, + "font/woff": { + source: "iana", + extensions: ["woff"] + }, + "font/woff2": { + source: "iana", + extensions: ["woff2"] + }, + "image/aces": { + source: "iana", + extensions: ["exr"] + }, + "image/apng": { + compressible: false, + extensions: ["apng"] + }, + "image/avci": { + source: "iana", + extensions: ["avci"] + }, + "image/avcs": { + source: "iana", + extensions: ["avcs"] + }, + "image/avif": { + source: "iana", + compressible: false, + extensions: ["avif"] + }, + "image/bmp": { + source: "iana", + compressible: true, + extensions: ["bmp"] + }, + "image/cgm": { + source: "iana", + extensions: ["cgm"] + }, + "image/dicom-rle": { + source: "iana", + extensions: ["drle"] + }, + "image/emf": { + source: "iana", + extensions: ["emf"] + }, + "image/fits": { + source: "iana", + extensions: ["fits"] + }, + "image/g3fax": { + source: "iana", + extensions: ["g3"] + }, + "image/gif": { + source: "iana", + compressible: false, + extensions: ["gif"] + }, + "image/heic": { + source: "iana", + extensions: ["heic"] + }, + "image/heic-sequence": { + source: "iana", + extensions: ["heics"] + }, + "image/heif": { + source: "iana", + extensions: ["heif"] + }, + "image/heif-sequence": { + source: "iana", + extensions: ["heifs"] + }, + "image/hej2k": { + source: "iana", + extensions: ["hej2"] + }, + "image/hsj2": { + source: "iana", + extensions: ["hsj2"] + }, + "image/ief": { + source: "iana", + extensions: ["ief"] + }, + "image/jls": { + source: "iana", + extensions: ["jls"] + }, + "image/jp2": { + source: "iana", + compressible: false, + extensions: ["jp2", "jpg2"] + }, + "image/jpeg": { + source: "iana", + compressible: false, + extensions: ["jpeg", "jpg", "jpe"] + }, + "image/jph": { + source: "iana", + extensions: ["jph"] + }, + "image/jphc": { + source: "iana", + extensions: ["jhc"] + }, + "image/jpm": { + source: "iana", + compressible: false, + extensions: ["jpm"] + }, + "image/jpx": { + source: "iana", + compressible: false, + extensions: ["jpx", "jpf"] + }, + "image/jxr": { + source: "iana", + extensions: ["jxr"] + }, + "image/jxra": { + source: "iana", + extensions: ["jxra"] + }, + "image/jxrs": { + source: "iana", + extensions: ["jxrs"] + }, + "image/jxs": { + source: "iana", + extensions: ["jxs"] + }, + "image/jxsc": { + source: "iana", + extensions: ["jxsc"] + }, + "image/jxsi": { + source: "iana", + extensions: ["jxsi"] + }, + "image/jxss": { + source: "iana", + extensions: ["jxss"] + }, + "image/ktx": { + source: "iana", + extensions: ["ktx"] + }, + "image/ktx2": { + source: "iana", + extensions: ["ktx2"] + }, + "image/naplps": { + source: "iana" + }, + "image/pjpeg": { + compressible: false + }, + "image/png": { + source: "iana", + compressible: false, + extensions: ["png"] + }, + "image/prs.btif": { + source: "iana", + extensions: ["btif"] + }, + "image/prs.pti": { + source: "iana", + extensions: ["pti"] + }, + "image/pwg-raster": { + source: "iana" + }, + "image/sgi": { + source: "apache", + extensions: ["sgi"] + }, + "image/svg+xml": { + source: "iana", + compressible: true, + extensions: ["svg", "svgz"] + }, + "image/t38": { + source: "iana", + extensions: ["t38"] + }, + "image/tiff": { + source: "iana", + compressible: false, + extensions: ["tif", "tiff"] + }, + "image/tiff-fx": { + source: "iana", + extensions: ["tfx"] + }, + "image/vnd.adobe.photoshop": { + source: "iana", + compressible: true, + extensions: ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + source: "iana", + extensions: ["azv"] + }, + "image/vnd.cns.inf2": { + source: "iana" + }, + "image/vnd.dece.graphic": { + source: "iana", + extensions: ["uvi", "uvvi", "uvg", "uvvg"] + }, + "image/vnd.djvu": { + source: "iana", + extensions: ["djvu", "djv"] + }, + "image/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "image/vnd.dwg": { + source: "iana", + extensions: ["dwg"] + }, + "image/vnd.dxf": { + source: "iana", + extensions: ["dxf"] + }, + "image/vnd.fastbidsheet": { + source: "iana", + extensions: ["fbs"] + }, + "image/vnd.fpx": { + source: "iana", + extensions: ["fpx"] + }, + "image/vnd.fst": { + source: "iana", + extensions: ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + source: "iana", + extensions: ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + source: "iana", + extensions: ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + source: "iana" + }, + "image/vnd.microsoft.icon": { + source: "iana", + compressible: true, + extensions: ["ico"] + }, + "image/vnd.mix": { + source: "iana" + }, + "image/vnd.mozilla.apng": { + source: "iana" + }, + "image/vnd.ms-dds": { + compressible: true, + extensions: ["dds"] + }, + "image/vnd.ms-modi": { + source: "iana", + extensions: ["mdi"] + }, + "image/vnd.ms-photo": { + source: "apache", + extensions: ["wdp"] + }, + "image/vnd.net-fpx": { + source: "iana", + extensions: ["npx"] + }, + "image/vnd.pco.b16": { + source: "iana", + extensions: ["b16"] + }, + "image/vnd.radiance": { + source: "iana" + }, + "image/vnd.sealed.png": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + source: "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + source: "iana" + }, + "image/vnd.svf": { + source: "iana" + }, + "image/vnd.tencent.tap": { + source: "iana", + extensions: ["tap"] + }, + "image/vnd.valve.source.texture": { + source: "iana", + extensions: ["vtf"] + }, + "image/vnd.wap.wbmp": { + source: "iana", + extensions: ["wbmp"] + }, + "image/vnd.xiff": { + source: "iana", + extensions: ["xif"] + }, + "image/vnd.zbrush.pcx": { + source: "iana", + extensions: ["pcx"] + }, + "image/webp": { + source: "apache", + extensions: ["webp"] + }, + "image/wmf": { + source: "iana", + extensions: ["wmf"] + }, + "image/x-3ds": { + source: "apache", + extensions: ["3ds"] + }, + "image/x-cmu-raster": { + source: "apache", + extensions: ["ras"] + }, + "image/x-cmx": { + source: "apache", + extensions: ["cmx"] + }, + "image/x-freehand": { + source: "apache", + extensions: ["fh", "fhc", "fh4", "fh5", "fh7"] + }, + "image/x-icon": { + source: "apache", + compressible: true, + extensions: ["ico"] + }, + "image/x-jng": { + source: "nginx", + extensions: ["jng"] + }, + "image/x-mrsid-image": { + source: "apache", + extensions: ["sid"] + }, + "image/x-ms-bmp": { + source: "nginx", + compressible: true, + extensions: ["bmp"] + }, + "image/x-pcx": { + source: "apache", + extensions: ["pcx"] + }, + "image/x-pict": { + source: "apache", + extensions: ["pic", "pct"] + }, + "image/x-portable-anymap": { + source: "apache", + extensions: ["pnm"] + }, + "image/x-portable-bitmap": { + source: "apache", + extensions: ["pbm"] + }, + "image/x-portable-graymap": { + source: "apache", + extensions: ["pgm"] + }, + "image/x-portable-pixmap": { + source: "apache", + extensions: ["ppm"] + }, + "image/x-rgb": { + source: "apache", + extensions: ["rgb"] + }, + "image/x-tga": { + source: "apache", + extensions: ["tga"] + }, + "image/x-xbitmap": { + source: "apache", + extensions: ["xbm"] + }, + "image/x-xcf": { + compressible: false + }, + "image/x-xpixmap": { + source: "apache", + extensions: ["xpm"] + }, + "image/x-xwindowdump": { + source: "apache", + extensions: ["xwd"] + }, + "message/cpim": { + source: "iana" + }, + "message/delivery-status": { + source: "iana" + }, + "message/disposition-notification": { + source: "iana", + extensions: [ + "disposition-notification" + ] + }, + "message/external-body": { + source: "iana" + }, + "message/feedback-report": { + source: "iana" + }, + "message/global": { + source: "iana", + extensions: ["u8msg"] + }, + "message/global-delivery-status": { + source: "iana", + extensions: ["u8dsn"] + }, + "message/global-disposition-notification": { + source: "iana", + extensions: ["u8mdn"] + }, + "message/global-headers": { + source: "iana", + extensions: ["u8hdr"] + }, + "message/http": { + source: "iana", + compressible: false + }, + "message/imdn+xml": { + source: "iana", + compressible: true + }, + "message/news": { + source: "iana" + }, + "message/partial": { + source: "iana", + compressible: false + }, + "message/rfc822": { + source: "iana", + compressible: true, + extensions: ["eml", "mime"] + }, + "message/s-http": { + source: "iana" + }, + "message/sip": { + source: "iana" + }, + "message/sipfrag": { + source: "iana" + }, + "message/tracking-status": { + source: "iana" + }, + "message/vnd.si.simp": { + source: "iana" + }, + "message/vnd.wfa.wsc": { + source: "iana", + extensions: ["wsc"] + }, + "model/3mf": { + source: "iana", + extensions: ["3mf"] + }, + "model/e57": { + source: "iana" + }, + "model/gltf+json": { + source: "iana", + compressible: true, + extensions: ["gltf"] + }, + "model/gltf-binary": { + source: "iana", + compressible: true, + extensions: ["glb"] + }, + "model/iges": { + source: "iana", + compressible: false, + extensions: ["igs", "iges"] + }, + "model/mesh": { + source: "iana", + compressible: false, + extensions: ["msh", "mesh", "silo"] + }, + "model/mtl": { + source: "iana", + extensions: ["mtl"] + }, + "model/obj": { + source: "iana", + extensions: ["obj"] + }, + "model/step": { + source: "iana" + }, + "model/step+xml": { + source: "iana", + compressible: true, + extensions: ["stpx"] + }, + "model/step+zip": { + source: "iana", + compressible: false, + extensions: ["stpz"] + }, + "model/step-xml+zip": { + source: "iana", + compressible: false, + extensions: ["stpxz"] + }, + "model/stl": { + source: "iana", + extensions: ["stl"] + }, + "model/vnd.collada+xml": { + source: "iana", + compressible: true, + extensions: ["dae"] + }, + "model/vnd.dwf": { + source: "iana", + extensions: ["dwf"] + }, + "model/vnd.flatland.3dml": { + source: "iana" + }, + "model/vnd.gdl": { + source: "iana", + extensions: ["gdl"] + }, + "model/vnd.gs-gdl": { + source: "apache" + }, + "model/vnd.gs.gdl": { + source: "iana" + }, + "model/vnd.gtw": { + source: "iana", + extensions: ["gtw"] + }, + "model/vnd.moml+xml": { + source: "iana", + compressible: true + }, + "model/vnd.mts": { + source: "iana", + extensions: ["mts"] + }, + "model/vnd.opengex": { + source: "iana", + extensions: ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + source: "iana", + extensions: ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + source: "iana", + extensions: ["x_t"] + }, + "model/vnd.pytha.pyox": { + source: "iana" + }, + "model/vnd.rosette.annotated-data-model": { + source: "iana" + }, + "model/vnd.sap.vds": { + source: "iana", + extensions: ["vds"] + }, + "model/vnd.usdz+zip": { + source: "iana", + compressible: false, + extensions: ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + source: "iana", + extensions: ["bsp"] + }, + "model/vnd.vtu": { + source: "iana", + extensions: ["vtu"] + }, + "model/vrml": { + source: "iana", + compressible: false, + extensions: ["wrl", "vrml"] + }, + "model/x3d+binary": { + source: "apache", + compressible: false, + extensions: ["x3db", "x3dbz"] + }, + "model/x3d+fastinfoset": { + source: "iana", + extensions: ["x3db"] + }, + "model/x3d+vrml": { + source: "apache", + compressible: false, + extensions: ["x3dv", "x3dvz"] + }, + "model/x3d+xml": { + source: "iana", + compressible: true, + extensions: ["x3d", "x3dz"] + }, + "model/x3d-vrml": { + source: "iana", + extensions: ["x3dv"] + }, + "multipart/alternative": { + source: "iana", + compressible: false + }, + "multipart/appledouble": { + source: "iana" + }, + "multipart/byteranges": { + source: "iana" + }, + "multipart/digest": { + source: "iana" + }, + "multipart/encrypted": { + source: "iana", + compressible: false + }, + "multipart/form-data": { + source: "iana", + compressible: false + }, + "multipart/header-set": { + source: "iana" + }, + "multipart/mixed": { + source: "iana" + }, + "multipart/multilingual": { + source: "iana" + }, + "multipart/parallel": { + source: "iana" + }, + "multipart/related": { + source: "iana", + compressible: false + }, + "multipart/report": { + source: "iana" + }, + "multipart/signed": { + source: "iana", + compressible: false + }, + "multipart/vnd.bint.med-plus": { + source: "iana" + }, + "multipart/voice-message": { + source: "iana" + }, + "multipart/x-mixed-replace": { + source: "iana" + }, + "text/1d-interleaved-parityfec": { + source: "iana" + }, + "text/cache-manifest": { + source: "iana", + compressible: true, + extensions: ["appcache", "manifest"] + }, + "text/calendar": { + source: "iana", + extensions: ["ics", "ifb"] + }, + "text/calender": { + compressible: true + }, + "text/cmd": { + compressible: true + }, + "text/coffeescript": { + extensions: ["coffee", "litcoffee"] + }, + "text/cql": { + source: "iana" + }, + "text/cql-expression": { + source: "iana" + }, + "text/cql-identifier": { + source: "iana" + }, + "text/css": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["css"] + }, + "text/csv": { + source: "iana", + compressible: true, + extensions: ["csv"] + }, + "text/csv-schema": { + source: "iana" + }, + "text/directory": { + source: "iana" + }, + "text/dns": { + source: "iana" + }, + "text/ecmascript": { + source: "iana" + }, + "text/encaprtp": { + source: "iana" + }, + "text/enriched": { + source: "iana" + }, + "text/fhirpath": { + source: "iana" + }, + "text/flexfec": { + source: "iana" + }, + "text/fwdred": { + source: "iana" + }, + "text/gff3": { + source: "iana" + }, + "text/grammar-ref-list": { + source: "iana" + }, + "text/html": { + source: "iana", + compressible: true, + extensions: ["html", "htm", "shtml"] + }, + "text/jade": { + extensions: ["jade"] + }, + "text/javascript": { + source: "iana", + compressible: true + }, + "text/jcr-cnd": { + source: "iana" + }, + "text/jsx": { + compressible: true, + extensions: ["jsx"] + }, + "text/less": { + compressible: true, + extensions: ["less"] + }, + "text/markdown": { + source: "iana", + compressible: true, + extensions: ["markdown", "md"] + }, + "text/mathml": { + source: "nginx", + extensions: ["mml"] + }, + "text/mdx": { + compressible: true, + extensions: ["mdx"] + }, + "text/mizar": { + source: "iana" + }, + "text/n3": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["n3"] + }, + "text/parameters": { + source: "iana", + charset: "UTF-8" + }, + "text/parityfec": { + source: "iana" + }, + "text/plain": { + source: "iana", + compressible: true, + extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"] + }, + "text/provenance-notation": { + source: "iana", + charset: "UTF-8" + }, + "text/prs.fallenstein.rst": { + source: "iana" + }, + "text/prs.lines.tag": { + source: "iana", + extensions: ["dsc"] + }, + "text/prs.prop.logic": { + source: "iana" + }, + "text/raptorfec": { + source: "iana" + }, + "text/red": { + source: "iana" + }, + "text/rfc822-headers": { + source: "iana" + }, + "text/richtext": { + source: "iana", + compressible: true, + extensions: ["rtx"] + }, + "text/rtf": { + source: "iana", + compressible: true, + extensions: ["rtf"] + }, + "text/rtp-enc-aescm128": { + source: "iana" + }, + "text/rtploopback": { + source: "iana" + }, + "text/rtx": { + source: "iana" + }, + "text/sgml": { + source: "iana", + extensions: ["sgml", "sgm"] + }, + "text/shaclc": { + source: "iana" + }, + "text/shex": { + source: "iana", + extensions: ["shex"] + }, + "text/slim": { + extensions: ["slim", "slm"] + }, + "text/spdx": { + source: "iana", + extensions: ["spdx"] + }, + "text/strings": { + source: "iana" + }, + "text/stylus": { + extensions: ["stylus", "styl"] + }, + "text/t140": { + source: "iana" + }, + "text/tab-separated-values": { + source: "iana", + compressible: true, + extensions: ["tsv"] + }, + "text/troff": { + source: "iana", + extensions: ["t", "tr", "roff", "man", "me", "ms"] + }, + "text/turtle": { + source: "iana", + charset: "UTF-8", + extensions: ["ttl"] + }, + "text/ulpfec": { + source: "iana" + }, + "text/uri-list": { + source: "iana", + compressible: true, + extensions: ["uri", "uris", "urls"] + }, + "text/vcard": { + source: "iana", + compressible: true, + extensions: ["vcard"] + }, + "text/vnd.a": { + source: "iana" + }, + "text/vnd.abc": { + source: "iana" + }, + "text/vnd.ascii-art": { + source: "iana" + }, + "text/vnd.curl": { + source: "iana", + extensions: ["curl"] + }, + "text/vnd.curl.dcurl": { + source: "apache", + extensions: ["dcurl"] + }, + "text/vnd.curl.mcurl": { + source: "apache", + extensions: ["mcurl"] + }, + "text/vnd.curl.scurl": { + source: "apache", + extensions: ["scurl"] + }, + "text/vnd.debian.copyright": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.dmclientscript": { + source: "iana" + }, + "text/vnd.dvb.subtitle": { + source: "iana", + extensions: ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.familysearch.gedcom": { + source: "iana", + extensions: ["ged"] + }, + "text/vnd.ficlab.flt": { + source: "iana" + }, + "text/vnd.fly": { + source: "iana", + extensions: ["fly"] + }, + "text/vnd.fmi.flexstor": { + source: "iana", + extensions: ["flx"] + }, + "text/vnd.gml": { + source: "iana" + }, + "text/vnd.graphviz": { + source: "iana", + extensions: ["gv"] + }, + "text/vnd.hans": { + source: "iana" + }, + "text/vnd.hgl": { + source: "iana" + }, + "text/vnd.in3d.3dml": { + source: "iana", + extensions: ["3dml"] + }, + "text/vnd.in3d.spot": { + source: "iana", + extensions: ["spot"] + }, + "text/vnd.iptc.newsml": { + source: "iana" + }, + "text/vnd.iptc.nitf": { + source: "iana" + }, + "text/vnd.latex-z": { + source: "iana" + }, + "text/vnd.motorola.reflex": { + source: "iana" + }, + "text/vnd.ms-mediapackage": { + source: "iana" + }, + "text/vnd.net2phone.commcenter.command": { + source: "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + source: "iana" + }, + "text/vnd.senx.warpscript": { + source: "iana" + }, + "text/vnd.si.uricatalogue": { + source: "iana" + }, + "text/vnd.sosi": { + source: "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + source: "iana", + charset: "UTF-8", + extensions: ["jad"] + }, + "text/vnd.trolltech.linguist": { + source: "iana", + charset: "UTF-8" + }, + "text/vnd.wap.si": { + source: "iana" + }, + "text/vnd.wap.sl": { + source: "iana" + }, + "text/vnd.wap.wml": { + source: "iana", + extensions: ["wml"] + }, + "text/vnd.wap.wmlscript": { + source: "iana", + extensions: ["wmls"] + }, + "text/vtt": { + source: "iana", + charset: "UTF-8", + compressible: true, + extensions: ["vtt"] + }, + "text/x-asm": { + source: "apache", + extensions: ["s", "asm"] + }, + "text/x-c": { + source: "apache", + extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"] + }, + "text/x-component": { + source: "nginx", + extensions: ["htc"] + }, + "text/x-fortran": { + source: "apache", + extensions: ["f", "for", "f77", "f90"] + }, + "text/x-gwt-rpc": { + compressible: true + }, + "text/x-handlebars-template": { + extensions: ["hbs"] + }, + "text/x-java-source": { + source: "apache", + extensions: ["java"] + }, + "text/x-jquery-tmpl": { + compressible: true + }, + "text/x-lua": { + extensions: ["lua"] + }, + "text/x-markdown": { + compressible: true, + extensions: ["mkd"] + }, + "text/x-nfo": { + source: "apache", + extensions: ["nfo"] + }, + "text/x-opml": { + source: "apache", + extensions: ["opml"] + }, + "text/x-org": { + compressible: true, + extensions: ["org"] + }, + "text/x-pascal": { + source: "apache", + extensions: ["p", "pas"] + }, + "text/x-processing": { + compressible: true, + extensions: ["pde"] + }, + "text/x-sass": { + extensions: ["sass"] + }, + "text/x-scss": { + extensions: ["scss"] + }, + "text/x-setext": { + source: "apache", + extensions: ["etx"] + }, + "text/x-sfv": { + source: "apache", + extensions: ["sfv"] + }, + "text/x-suse-ymp": { + compressible: true, + extensions: ["ymp"] + }, + "text/x-uuencode": { + source: "apache", + extensions: ["uu"] + }, + "text/x-vcalendar": { + source: "apache", + extensions: ["vcs"] + }, + "text/x-vcard": { + source: "apache", + extensions: ["vcf"] + }, + "text/xml": { + source: "iana", + compressible: true, + extensions: ["xml"] + }, + "text/xml-external-parsed-entity": { + source: "iana" + }, + "text/yaml": { + compressible: true, + extensions: ["yaml", "yml"] + }, + "video/1d-interleaved-parityfec": { + source: "iana" + }, + "video/3gpp": { + source: "iana", + extensions: ["3gp", "3gpp"] + }, + "video/3gpp-tt": { + source: "iana" + }, + "video/3gpp2": { + source: "iana", + extensions: ["3g2"] + }, + "video/av1": { + source: "iana" + }, + "video/bmpeg": { + source: "iana" + }, + "video/bt656": { + source: "iana" + }, + "video/celb": { + source: "iana" + }, + "video/dv": { + source: "iana" + }, + "video/encaprtp": { + source: "iana" + }, + "video/ffv1": { + source: "iana" + }, + "video/flexfec": { + source: "iana" + }, + "video/h261": { + source: "iana", + extensions: ["h261"] + }, + "video/h263": { + source: "iana", + extensions: ["h263"] + }, + "video/h263-1998": { + source: "iana" + }, + "video/h263-2000": { + source: "iana" + }, + "video/h264": { + source: "iana", + extensions: ["h264"] + }, + "video/h264-rcdo": { + source: "iana" + }, + "video/h264-svc": { + source: "iana" + }, + "video/h265": { + source: "iana" + }, + "video/iso.segment": { + source: "iana", + extensions: ["m4s"] + }, + "video/jpeg": { + source: "iana", + extensions: ["jpgv"] + }, + "video/jpeg2000": { + source: "iana" + }, + "video/jpm": { + source: "apache", + extensions: ["jpm", "jpgm"] + }, + "video/jxsv": { + source: "iana" + }, + "video/mj2": { + source: "iana", + extensions: ["mj2", "mjp2"] + }, + "video/mp1s": { + source: "iana" + }, + "video/mp2p": { + source: "iana" + }, + "video/mp2t": { + source: "iana", + extensions: ["ts"] + }, + "video/mp4": { + source: "iana", + compressible: false, + extensions: ["mp4", "mp4v", "mpg4"] + }, + "video/mp4v-es": { + source: "iana" + }, + "video/mpeg": { + source: "iana", + compressible: false, + extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"] + }, + "video/mpeg4-generic": { + source: "iana" + }, + "video/mpv": { + source: "iana" + }, + "video/nv": { + source: "iana" + }, + "video/ogg": { + source: "iana", + compressible: false, + extensions: ["ogv"] + }, + "video/parityfec": { + source: "iana" + }, + "video/pointer": { + source: "iana" + }, + "video/quicktime": { + source: "iana", + compressible: false, + extensions: ["qt", "mov"] + }, + "video/raptorfec": { + source: "iana" + }, + "video/raw": { + source: "iana" + }, + "video/rtp-enc-aescm128": { + source: "iana" + }, + "video/rtploopback": { + source: "iana" + }, + "video/rtx": { + source: "iana" + }, + "video/scip": { + source: "iana" + }, + "video/smpte291": { + source: "iana" + }, + "video/smpte292m": { + source: "iana" + }, + "video/ulpfec": { + source: "iana" + }, + "video/vc1": { + source: "iana" + }, + "video/vc2": { + source: "iana" + }, + "video/vnd.cctv": { + source: "iana" + }, + "video/vnd.dece.hd": { + source: "iana", + extensions: ["uvh", "uvvh"] + }, + "video/vnd.dece.mobile": { + source: "iana", + extensions: ["uvm", "uvvm"] + }, + "video/vnd.dece.mp4": { + source: "iana" + }, + "video/vnd.dece.pd": { + source: "iana", + extensions: ["uvp", "uvvp"] + }, + "video/vnd.dece.sd": { + source: "iana", + extensions: ["uvs", "uvvs"] + }, + "video/vnd.dece.video": { + source: "iana", + extensions: ["uvv", "uvvv"] + }, + "video/vnd.directv.mpeg": { + source: "iana" + }, + "video/vnd.directv.mpeg-tts": { + source: "iana" + }, + "video/vnd.dlna.mpeg-tts": { + source: "iana" + }, + "video/vnd.dvb.file": { + source: "iana", + extensions: ["dvb"] + }, + "video/vnd.fvt": { + source: "iana", + extensions: ["fvt"] + }, + "video/vnd.hns.video": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + source: "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + source: "iana" + }, + "video/vnd.iptvforum.ttsavc": { + source: "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + source: "iana" + }, + "video/vnd.motorola.video": { + source: "iana" + }, + "video/vnd.motorola.videop": { + source: "iana" + }, + "video/vnd.mpegurl": { + source: "iana", + extensions: ["mxu", "m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + source: "iana", + extensions: ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + source: "iana" + }, + "video/vnd.nokia.mp4vr": { + source: "iana" + }, + "video/vnd.nokia.videovoip": { + source: "iana" + }, + "video/vnd.objectvideo": { + source: "iana" + }, + "video/vnd.radgamettools.bink": { + source: "iana" + }, + "video/vnd.radgamettools.smacker": { + source: "iana" + }, + "video/vnd.sealed.mpeg1": { + source: "iana" + }, + "video/vnd.sealed.mpeg4": { + source: "iana" + }, + "video/vnd.sealed.swf": { + source: "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + source: "iana" + }, + "video/vnd.uvvu.mp4": { + source: "iana", + extensions: ["uvu", "uvvu"] + }, + "video/vnd.vivo": { + source: "iana", + extensions: ["viv"] + }, + "video/vnd.youtube.yt": { + source: "iana" + }, + "video/vp8": { + source: "iana" + }, + "video/vp9": { + source: "iana" + }, + "video/webm": { + source: "apache", + compressible: false, + extensions: ["webm"] + }, + "video/x-f4v": { + source: "apache", + extensions: ["f4v"] + }, + "video/x-fli": { + source: "apache", + extensions: ["fli"] + }, + "video/x-flv": { + source: "apache", + compressible: false, + extensions: ["flv"] + }, + "video/x-m4v": { + source: "apache", + extensions: ["m4v"] + }, + "video/x-matroska": { + source: "apache", + compressible: false, + extensions: ["mkv", "mk3d", "mks"] + }, + "video/x-mng": { + source: "apache", + extensions: ["mng"] + }, + "video/x-ms-asf": { + source: "apache", + extensions: ["asf", "asx"] + }, + "video/x-ms-vob": { + source: "apache", + extensions: ["vob"] + }, + "video/x-ms-wm": { + source: "apache", + extensions: ["wm"] + }, + "video/x-ms-wmv": { + source: "apache", + compressible: false, + extensions: ["wmv"] + }, + "video/x-ms-wmx": { + source: "apache", + extensions: ["wmx"] + }, + "video/x-ms-wvx": { + source: "apache", + extensions: ["wvx"] + }, + "video/x-msvideo": { + source: "apache", + extensions: ["avi"] + }, + "video/x-sgi-movie": { + source: "apache", + extensions: ["movie"] + }, + "video/x-smv": { + source: "apache", + extensions: ["smv"] + }, + "x-conference/x-cooltalk": { + source: "apache", + extensions: ["ice"] + }, + "x-shader/x-fragment": { + compressible: true + }, + "x-shader/x-vertex": { + compressible: true + } + }; + } +}); + +// ../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js +var require_mime_db2 = __commonJS({ + "../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js"(exports, module) { + module.exports = require_db2(); + } +}); + +// ../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js +var require_mime_types2 = __commonJS({ + "../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js"(exports) { + "use strict"; + var db = require_mime_db2(); + var extname = __require("path").extname; + var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/; + var TEXT_TYPE_REGEXP = /^text\//i; + exports.charset = charset; + exports.charsets = { lookup: charset }; + exports.contentType = contentType; + exports.extension = extension; + exports.extensions = /* @__PURE__ */ Object.create(null); + exports.lookup = lookup; + exports.types = /* @__PURE__ */ Object.create(null); + populateMaps(exports.extensions, exports.types); + function charset(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var mime = match && db[match[1].toLowerCase()]; + if (mime && mime.charset) { + return mime.charset; + } + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return "UTF-8"; + } + return false; + } + __name(charset, "charset"); + function contentType(str) { + if (!str || typeof str !== "string") { + return false; + } + var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str; + if (!mime) { + return false; + } + if (mime.indexOf("charset") === -1) { + var charset2 = exports.charset(mime); + if (charset2) mime += "; charset=" + charset2.toLowerCase(); + } + return mime; + } + __name(contentType, "contentType"); + function extension(type) { + if (!type || typeof type !== "string") { + return false; + } + var match = EXTRACT_TYPE_REGEXP.exec(type); + var exts = match && exports.extensions[match[1].toLowerCase()]; + if (!exts || !exts.length) { + return false; + } + return exts[0]; + } + __name(extension, "extension"); + function lookup(path) { + if (!path || typeof path !== "string") { + return false; + } + var extension2 = extname("x." + path).toLowerCase().substr(1); + if (!extension2) { + return false; + } + return exports.types[extension2] || false; + } + __name(lookup, "lookup"); + function populateMaps(extensions, types) { + var preference = ["nginx", "apache", void 0, "iana"]; + Object.keys(db).forEach(/* @__PURE__ */ __name(function forEachMimeType(type) { + var mime = db[type]; + var exts = mime.extensions; + if (!exts || !exts.length) { + return; + } + extensions[type] = exts; + for (var i = 0; i < exts.length; i++) { + var extension2 = exts[i]; + if (types[extension2]) { + var from2 = preference.indexOf(db[types[extension2]].source); + var to = preference.indexOf(mime.source); + if (types[extension2] !== "application/octet-stream" && (from2 > to || from2 === to && types[extension2].substr(0, 12) === "application/")) { + continue; + } + } + types[extension2] = type; + } + }, "forEachMimeType")); + } + __name(populateMaps, "populateMaps"); + } +}); + +// ../../node_modules/.pnpm/type-is@1.6.18/node_modules/type-is/index.js +var require_type_is2 = __commonJS({ + "../../node_modules/.pnpm/type-is@1.6.18/node_modules/type-is/index.js"(exports, module) { + "use strict"; + var typer = require_media_typer2(); + var mime = require_mime_types2(); + module.exports = typeofrequest; + module.exports.is = typeis; + module.exports.hasBody = hasbody; + module.exports.normalize = normalize; + module.exports.match = mimeMatch; + function typeis(value, types_) { + var i; + var types = types_; + var val = tryNormalizeType(value); + if (!val) { + return false; + } + if (types && !Array.isArray(types)) { + types = new Array(arguments.length - 1); + for (i = 0; i < types.length; i++) { + types[i] = arguments[i + 1]; + } + } + if (!types || !types.length) { + return val; + } + var type; + for (i = 0; i < types.length; i++) { + if (mimeMatch(normalize(type = types[i]), val)) { + return type[0] === "+" || type.indexOf("*") !== -1 ? val : type; + } + } + return false; + } + __name(typeis, "typeis"); + function hasbody(req) { + return req.headers["transfer-encoding"] !== void 0 || !isNaN(req.headers["content-length"]); + } + __name(hasbody, "hasbody"); + function typeofrequest(req, types_) { + var types = types_; + if (!hasbody(req)) { + return null; + } + if (arguments.length > 2) { + types = new Array(arguments.length - 1); + for (var i = 0; i < types.length; i++) { + types[i] = arguments[i + 1]; + } + } + var value = req.headers["content-type"]; + return typeis(value, types); + } + __name(typeofrequest, "typeofrequest"); + function normalize(type) { + if (typeof type !== "string") { + return false; + } + switch (type) { + case "urlencoded": + return "application/x-www-form-urlencoded"; + case "multipart": + return "multipart/*"; + } + if (type[0] === "+") { + return "*/*" + type; + } + return type.indexOf("/") === -1 ? mime.lookup(type) : type; + } + __name(normalize, "normalize"); + function mimeMatch(expected, actual) { + if (expected === false) { + return false; + } + var actualParts = actual.split("/"); + var expectedParts = expected.split("/"); + if (actualParts.length !== 2 || expectedParts.length !== 2) { + return false; + } + if (expectedParts[0] !== "*" && expectedParts[0] !== actualParts[0]) { + return false; + } + if (expectedParts[1].substr(0, 2) === "*+") { + return expectedParts[1].length <= actualParts[1].length + 1 && expectedParts[1].substr(1) === actualParts[1].substr(1 - expectedParts[1].length); + } + if (expectedParts[1] !== "*" && expectedParts[1] !== actualParts[1]) { + return false; + } + return true; + } + __name(mimeMatch, "mimeMatch"); + function normalizeType(value) { + var type = typer.parse(value); + type.parameters = void 0; + return typer.format(type); + } + __name(normalizeType, "normalizeType"); + function tryNormalizeType(value) { + if (!value) { + return null; + } + try { + return normalizeType(value); + } catch (err) { + return null; + } + } + __name(tryNormalizeType, "tryNormalizeType"); + } +}); + +// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js +var require_utils4 = __commonJS({ + "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js"(exports, module) { + "use strict"; + function parseContentType(str) { + if (str.length === 0) + return; + const params = /* @__PURE__ */ Object.create(null); + let i = 0; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (code !== 47 || i === 0) + return; + break; + } + } + if (i === str.length) + return; + const type = str.slice(0, i).toLowerCase(); + const subtypeStart = ++i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (i === subtypeStart) + return; + if (parseContentTypeParams(str, i, params) === void 0) + return; + break; + } + } + if (i === subtypeStart) + return; + const subtype = str.slice(subtypeStart, i).toLowerCase(); + return { type, subtype, params }; + } + __name(parseContentType, "parseContentType"); + function parseContentTypeParams(str, i, params) { + while (i < str.length) { + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code !== 32 && code !== 9) + break; + } + if (i === str.length) + break; + if (str.charCodeAt(i++) !== 59) + return; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code !== 32 && code !== 9) + break; + } + if (i === str.length) + return; + let name; + const nameStart = i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (code !== 61) + return; + break; + } + } + if (i === str.length) + return; + name = str.slice(nameStart, i); + ++i; + if (i === str.length) + return; + let value = ""; + let valueStart; + if (str.charCodeAt(i) === 34) { + valueStart = ++i; + let escaping = false; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code === 92) { + if (escaping) { + valueStart = i; + escaping = false; + } else { + value += str.slice(valueStart, i); + escaping = true; + } + continue; + } + if (code === 34) { + if (escaping) { + valueStart = i; + escaping = false; + continue; + } + value += str.slice(valueStart, i); + break; + } + if (escaping) { + valueStart = i - 1; + escaping = false; + } + if (QDTEXT[code] !== 1) + return; + } + if (i === str.length) + return; + ++i; + } else { + valueStart = i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (i === valueStart) + return; + break; + } + } + value = str.slice(valueStart, i); + } + name = name.toLowerCase(); + if (params[name] === void 0) + params[name] = value; + } + return params; + } + __name(parseContentTypeParams, "parseContentTypeParams"); + function parseDisposition(str, defDecoder) { + if (str.length === 0) + return; + const params = /* @__PURE__ */ Object.create(null); + let i = 0; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (parseDispositionParams(str, i, params, defDecoder) === void 0) + return; + break; + } + } + const type = str.slice(0, i).toLowerCase(); + return { type, params }; + } + __name(parseDisposition, "parseDisposition"); + function parseDispositionParams(str, i, params, defDecoder) { + while (i < str.length) { + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code !== 32 && code !== 9) + break; + } + if (i === str.length) + break; + if (str.charCodeAt(i++) !== 59) + return; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code !== 32 && code !== 9) + break; + } + if (i === str.length) + return; + let name; + const nameStart = i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (code === 61) + break; + return; + } + } + if (i === str.length) + return; + let value = ""; + let valueStart; + let charset; + name = str.slice(nameStart, i); + if (name.charCodeAt(name.length - 1) === 42) { + const charsetStart = ++i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (CHARSET[code] !== 1) { + if (code !== 39) + return; + break; + } + } + if (i === str.length) + return; + charset = str.slice(charsetStart, i); + ++i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code === 39) + break; + } + if (i === str.length) + return; + ++i; + if (i === str.length) + return; + valueStart = i; + let encode = 0; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (EXTENDED_VALUE[code] !== 1) { + if (code === 37) { + let hexUpper; + let hexLower; + if (i + 2 < str.length && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1 && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) { + const byteVal = (hexUpper << 4) + hexLower; + value += str.slice(valueStart, i); + value += String.fromCharCode(byteVal); + i += 2; + valueStart = i + 1; + if (byteVal >= 128) + encode = 2; + else if (encode === 0) + encode = 1; + continue; + } + return; + } + break; + } + } + value += str.slice(valueStart, i); + value = convertToUTF8(value, charset, encode); + if (value === void 0) + return; + } else { + ++i; + if (i === str.length) + return; + if (str.charCodeAt(i) === 34) { + valueStart = ++i; + let escaping = false; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (code === 92) { + if (escaping) { + valueStart = i; + escaping = false; + } else { + value += str.slice(valueStart, i); + escaping = true; + } + continue; + } + if (code === 34) { + if (escaping) { + valueStart = i; + escaping = false; + continue; + } + value += str.slice(valueStart, i); + break; + } + if (escaping) { + valueStart = i - 1; + escaping = false; + } + if (QDTEXT[code] !== 1) + return; + } + if (i === str.length) + return; + ++i; + } else { + valueStart = i; + for (; i < str.length; ++i) { + const code = str.charCodeAt(i); + if (TOKEN[code] !== 1) { + if (i === valueStart) + return; + break; + } + } + value = str.slice(valueStart, i); + } + value = defDecoder(value, 2); + if (value === void 0) + return; + } + name = name.toLowerCase(); + if (params[name] === void 0) + params[name] = value; + } + return params; + } + __name(parseDispositionParams, "parseDispositionParams"); + function getDecoder(charset) { + let lc; + while (true) { + switch (charset) { + case "utf-8": + case "utf8": + return decoders.utf8; + case "latin1": + case "ascii": + // TODO: Make these a separate, strict decoder? + case "us-ascii": + case "iso-8859-1": + case "iso8859-1": + case "iso88591": + case "iso_8859-1": + case "windows-1252": + case "iso_8859-1:1987": + case "cp1252": + case "x-cp1252": + return decoders.latin1; + case "utf16le": + case "utf-16le": + case "ucs2": + case "ucs-2": + return decoders.utf16le; + case "base64": + return decoders.base64; + default: + if (lc === void 0) { + lc = true; + charset = charset.toLowerCase(); + continue; + } + return decoders.other.bind(charset); + } + } + } + __name(getDecoder, "getDecoder"); + var decoders = { + utf8: /* @__PURE__ */ __name((data, hint) => { + if (data.length === 0) + return ""; + if (typeof data === "string") { + if (hint < 2) + return data; + data = Buffer.from(data, "latin1"); + } + return data.utf8Slice(0, data.length); + }, "utf8"), + latin1: /* @__PURE__ */ __name((data, hint) => { + if (data.length === 0) + return ""; + if (typeof data === "string") + return data; + return data.latin1Slice(0, data.length); + }, "latin1"), + utf16le: /* @__PURE__ */ __name((data, hint) => { + if (data.length === 0) + return ""; + if (typeof data === "string") + data = Buffer.from(data, "latin1"); + return data.ucs2Slice(0, data.length); + }, "utf16le"), + base64: /* @__PURE__ */ __name((data, hint) => { + if (data.length === 0) + return ""; + if (typeof data === "string") + data = Buffer.from(data, "latin1"); + return data.base64Slice(0, data.length); + }, "base64"), + other: /* @__PURE__ */ __name((data, hint) => { + if (data.length === 0) + return ""; + if (typeof data === "string") + data = Buffer.from(data, "latin1"); + try { + const decoder = new TextDecoder(exports); + return decoder.decode(data); + } catch { + } + }, "other") + }; + function convertToUTF8(data, charset, hint) { + const decode = getDecoder(charset); + if (decode) + return decode(data, hint); + } + __name(convertToUTF8, "convertToUTF8"); + function basename(path) { + if (typeof path !== "string") + return ""; + for (let i = path.length - 1; i >= 0; --i) { + switch (path.charCodeAt(i)) { + case 47: + // '/' + case 92: + path = path.slice(i + 1); + return path === ".." || path === "." ? "" : path; + } + } + return path === ".." || path === "." ? "" : path; + } + __name(basename, "basename"); + var TOKEN = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + var QDTEXT = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ]; + var CHARSET = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + var EXTENDED_VALUE = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + var HEX_VALUES = [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 10, + 11, + 12, + 13, + 14, + 15, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 10, + 11, + 12, + 13, + 14, + 15, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ]; + module.exports = { + basename, + convertToUTF8, + getDecoder, + parseContentType, + parseDisposition + }; + } +}); + +// ../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js +var require_sbmh = __commonJS({ + "../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js"(exports, module) { + "use strict"; + function memcmp(buf1, pos1, buf2, pos2, num) { + for (let i = 0; i < num; ++i) { + if (buf1[pos1 + i] !== buf2[pos2 + i]) + return false; + } + return true; + } + __name(memcmp, "memcmp"); + var SBMH = class { + static { + __name(this, "SBMH"); + } + constructor(needle, cb) { + if (typeof cb !== "function") + throw new Error("Missing match callback"); + if (typeof needle === "string") + needle = Buffer.from(needle); + else if (!Buffer.isBuffer(needle)) + throw new Error(`Expected Buffer for needle, got ${typeof needle}`); + const needleLen = needle.length; + this.maxMatches = Infinity; + this.matches = 0; + this._cb = cb; + this._lookbehindSize = 0; + this._needle = needle; + this._bufPos = 0; + this._lookbehind = Buffer.allocUnsafe(needleLen); + this._occ = [ + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen, + needleLen + ]; + if (needleLen > 1) { + for (let i = 0; i < needleLen - 1; ++i) + this._occ[needle[i]] = needleLen - 1 - i; + } + } + reset() { + this.matches = 0; + this._lookbehindSize = 0; + this._bufPos = 0; + } + push(chunk, pos) { + let result; + if (!Buffer.isBuffer(chunk)) + chunk = Buffer.from(chunk, "latin1"); + const chunkLen = chunk.length; + this._bufPos = pos || 0; + while (result !== chunkLen && this.matches < this.maxMatches) + result = feed(this, chunk); + return result; + } + destroy() { + const lbSize = this._lookbehindSize; + if (lbSize) + this._cb(false, this._lookbehind, 0, lbSize, false); + this.reset(); + } + }; + function feed(self, data) { + const len = data.length; + const needle = self._needle; + const needleLen = needle.length; + let pos = -self._lookbehindSize; + const lastNeedleCharPos = needleLen - 1; + const lastNeedleChar = needle[lastNeedleCharPos]; + const end = len - needleLen; + const occ = self._occ; + const lookbehind = self._lookbehind; + if (pos < 0) { + while (pos < 0 && pos <= end) { + const nextPos = pos + lastNeedleCharPos; + const ch = nextPos < 0 ? lookbehind[self._lookbehindSize + nextPos] : data[nextPos]; + if (ch === lastNeedleChar && matchNeedle(self, data, pos, lastNeedleCharPos)) { + self._lookbehindSize = 0; + ++self.matches; + if (pos > -self._lookbehindSize) + self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false); + else + self._cb(true, void 0, 0, 0, true); + return self._bufPos = pos + needleLen; + } + pos += occ[ch]; + } + while (pos < 0 && !matchNeedle(self, data, pos, len - pos)) + ++pos; + if (pos < 0) { + const bytesToCutOff = self._lookbehindSize + pos; + if (bytesToCutOff > 0) { + self._cb(false, lookbehind, 0, bytesToCutOff, false); + } + self._lookbehindSize -= bytesToCutOff; + lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize); + lookbehind.set(data, self._lookbehindSize); + self._lookbehindSize += len; + self._bufPos = len; + return len; + } + self._cb(false, lookbehind, 0, self._lookbehindSize, false); + self._lookbehindSize = 0; + } + pos += self._bufPos; + const firstNeedleChar = needle[0]; + while (pos <= end) { + const ch = data[pos + lastNeedleCharPos]; + if (ch === lastNeedleChar && data[pos] === firstNeedleChar && memcmp(needle, 0, data, pos, lastNeedleCharPos)) { + ++self.matches; + if (pos > 0) + self._cb(true, data, self._bufPos, pos, true); + else + self._cb(true, void 0, 0, 0, true); + return self._bufPos = pos + needleLen; + } + pos += occ[ch]; + } + while (pos < len) { + if (data[pos] !== firstNeedleChar || !memcmp(data, pos, needle, 0, len - pos)) { + ++pos; + continue; + } + data.copy(lookbehind, 0, pos, len); + self._lookbehindSize = len - pos; + break; + } + if (pos > 0) + self._cb(false, data, self._bufPos, pos < len ? pos : len, true); + self._bufPos = len; + return len; + } + __name(feed, "feed"); + function matchNeedle(self, data, pos, len) { + const lb = self._lookbehind; + const lbSize = self._lookbehindSize; + const needle = self._needle; + for (let i = 0; i < len; ++i, ++pos) { + const ch = pos < 0 ? lb[lbSize + pos] : data[pos]; + if (ch !== needle[i]) + return false; + } + return true; + } + __name(matchNeedle, "matchNeedle"); + module.exports = SBMH; + } +}); + +// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js +var require_multipart = __commonJS({ + "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js"(exports, module) { + "use strict"; + var { Readable, Writable } = __require("stream"); + var StreamSearch = require_sbmh(); + var { + basename, + convertToUTF8, + getDecoder, + parseContentType, + parseDisposition + } = require_utils4(); + var BUF_CRLF = Buffer.from("\r\n"); + var BUF_CR = Buffer.from("\r"); + var BUF_DASH = Buffer.from("-"); + function noop5() { + } + __name(noop5, "noop"); + var MAX_HEADER_PAIRS = 2e3; + var MAX_HEADER_SIZE = 16 * 1024; + var HPARSER_NAME = 0; + var HPARSER_PRE_OWS = 1; + var HPARSER_VALUE = 2; + var HeaderParser = class { + static { + __name(this, "HeaderParser"); + } + constructor(cb) { + this.header = /* @__PURE__ */ Object.create(null); + this.pairCount = 0; + this.byteCount = 0; + this.state = HPARSER_NAME; + this.name = ""; + this.value = ""; + this.crlf = 0; + this.cb = cb; + } + reset() { + this.header = /* @__PURE__ */ Object.create(null); + this.pairCount = 0; + this.byteCount = 0; + this.state = HPARSER_NAME; + this.name = ""; + this.value = ""; + this.crlf = 0; + } + push(chunk, pos, end) { + let start = pos; + while (pos < end) { + switch (this.state) { + case HPARSER_NAME: { + let done = false; + for (; pos < end; ++pos) { + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + const code = chunk[pos]; + if (TOKEN[code] !== 1) { + if (code !== 58) + return -1; + this.name += chunk.latin1Slice(start, pos); + if (this.name.length === 0) + return -1; + ++pos; + done = true; + this.state = HPARSER_PRE_OWS; + break; + } + } + if (!done) { + this.name += chunk.latin1Slice(start, pos); + break; + } + } + case HPARSER_PRE_OWS: { + let done = false; + for (; pos < end; ++pos) { + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + const code = chunk[pos]; + if (code !== 32 && code !== 9) { + start = pos; + done = true; + this.state = HPARSER_VALUE; + break; + } + } + if (!done) + break; + } + case HPARSER_VALUE: + switch (this.crlf) { + case 0: + for (; pos < end; ++pos) { + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + const code = chunk[pos]; + if (FIELD_VCHAR[code] !== 1) { + if (code !== 13) + return -1; + ++this.crlf; + break; + } + } + this.value += chunk.latin1Slice(start, pos++); + break; + case 1: + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + if (chunk[pos++] !== 10) + return -1; + ++this.crlf; + break; + case 2: { + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + const code = chunk[pos]; + if (code === 32 || code === 9) { + start = pos; + this.crlf = 0; + } else { + if (++this.pairCount < MAX_HEADER_PAIRS) { + this.name = this.name.toLowerCase(); + if (this.header[this.name] === void 0) + this.header[this.name] = [this.value]; + else + this.header[this.name].push(this.value); + } + if (code === 13) { + ++this.crlf; + ++pos; + } else { + start = pos; + this.crlf = 0; + this.state = HPARSER_NAME; + this.name = ""; + this.value = ""; + } + } + break; + } + case 3: { + if (this.byteCount === MAX_HEADER_SIZE) + return -1; + ++this.byteCount; + if (chunk[pos++] !== 10) + return -1; + const header = this.header; + this.reset(); + this.cb(header); + return pos; + } + } + break; + } + } + return pos; + } + }; + var FileStream = class extends Readable { + static { + __name(this, "FileStream"); + } + constructor(opts, owner) { + super(opts); + this.truncated = false; + this._readcb = null; + this.once("end", () => { + this._read(); + if (--owner._fileEndsLeft === 0 && owner._finalcb) { + const cb = owner._finalcb; + owner._finalcb = null; + process.nextTick(cb); + } + }); + } + _read(n) { + const cb = this._readcb; + if (cb) { + this._readcb = null; + cb(); + } + } + }; + var ignoreData = { + push: /* @__PURE__ */ __name((chunk, pos) => { + }, "push"), + destroy: /* @__PURE__ */ __name(() => { + }, "destroy") + }; + function callAndUnsetCb(self, err) { + const cb = self._writecb; + self._writecb = null; + if (err) + self.destroy(err); + else if (cb) + cb(); + } + __name(callAndUnsetCb, "callAndUnsetCb"); + function nullDecoder(val, hint) { + return val; + } + __name(nullDecoder, "nullDecoder"); + var Multipart = class extends Writable { + static { + __name(this, "Multipart"); + } + constructor(cfg) { + const streamOpts = { + autoDestroy: true, + emitClose: true, + highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0 + }; + super(streamOpts); + if (!cfg.conType.params || typeof cfg.conType.params.boundary !== "string") + throw new Error("Multipart: Boundary not found"); + const boundary = cfg.conType.params.boundary; + const paramDecoder = typeof cfg.defParamCharset === "string" && cfg.defParamCharset ? getDecoder(cfg.defParamCharset) : nullDecoder; + const defCharset = cfg.defCharset || "utf8"; + const preservePath = cfg.preservePath; + const fileOpts = { + autoDestroy: true, + emitClose: true, + highWaterMark: typeof cfg.fileHwm === "number" ? cfg.fileHwm : void 0 + }; + const limits = cfg.limits; + const fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024; + const fileSizeLimit = limits && typeof limits.fileSize === "number" ? limits.fileSize : Infinity; + const filesLimit = limits && typeof limits.files === "number" ? limits.files : Infinity; + const fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity; + const partsLimit = limits && typeof limits.parts === "number" ? limits.parts : Infinity; + let parts = -1; + let fields = 0; + let files = 0; + let skipPart = false; + this._fileEndsLeft = 0; + this._fileStream = void 0; + this._complete = false; + let fileSize = 0; + let field; + let fieldSize = 0; + let partCharset; + let partEncoding; + let partType; + let partName; + let partTruncated = false; + let hitFilesLimit = false; + let hitFieldsLimit = false; + this._hparser = null; + const hparser = new HeaderParser((header) => { + this._hparser = null; + skipPart = false; + partType = "text/plain"; + partCharset = defCharset; + partEncoding = "7bit"; + partName = void 0; + partTruncated = false; + let filename; + if (!header["content-disposition"]) { + skipPart = true; + return; + } + const disp = parseDisposition( + header["content-disposition"][0], + paramDecoder + ); + if (!disp || disp.type !== "form-data") { + skipPart = true; + return; + } + if (disp.params) { + if (disp.params.name) + partName = disp.params.name; + if (disp.params["filename*"]) + filename = disp.params["filename*"]; + else if (disp.params.filename) + filename = disp.params.filename; + if (filename !== void 0 && !preservePath) + filename = basename(filename); + } + if (header["content-type"]) { + const conType = parseContentType(header["content-type"][0]); + if (conType) { + partType = `${conType.type}/${conType.subtype}`; + if (conType.params && typeof conType.params.charset === "string") + partCharset = conType.params.charset.toLowerCase(); + } + } + if (header["content-transfer-encoding"]) + partEncoding = header["content-transfer-encoding"][0].toLowerCase(); + if (partType === "application/octet-stream" || filename !== void 0) { + if (files === filesLimit) { + if (!hitFilesLimit) { + hitFilesLimit = true; + this.emit("filesLimit"); + } + skipPart = true; + return; + } + ++files; + if (this.listenerCount("file") === 0) { + skipPart = true; + return; + } + fileSize = 0; + this._fileStream = new FileStream(fileOpts, this); + ++this._fileEndsLeft; + this.emit( + "file", + partName, + this._fileStream, + { + filename, + encoding: partEncoding, + mimeType: partType + } + ); + } else { + if (fields === fieldsLimit) { + if (!hitFieldsLimit) { + hitFieldsLimit = true; + this.emit("fieldsLimit"); + } + skipPart = true; + return; + } + ++fields; + if (this.listenerCount("field") === 0) { + skipPart = true; + return; + } + field = []; + fieldSize = 0; + } + }); + let matchPostBoundary = 0; + const ssCb = /* @__PURE__ */ __name((isMatch, data, start, end, isDataSafe) => { + retrydata: + while (data) { + if (this._hparser !== null) { + const ret = this._hparser.push(data, start, end); + if (ret === -1) { + this._hparser = null; + hparser.reset(); + this.emit("error", new Error("Malformed part header")); + break; + } + start = ret; + } + if (start === end) + break; + if (matchPostBoundary !== 0) { + if (matchPostBoundary === 1) { + switch (data[start]) { + case 45: + matchPostBoundary = 2; + ++start; + break; + case 13: + matchPostBoundary = 3; + ++start; + break; + default: + matchPostBoundary = 0; + } + if (start === end) + return; + } + if (matchPostBoundary === 2) { + matchPostBoundary = 0; + if (data[start] === 45) { + this._complete = true; + this._bparser = ignoreData; + return; + } + const writecb = this._writecb; + this._writecb = noop5; + ssCb(false, BUF_DASH, 0, 1, false); + this._writecb = writecb; + } else if (matchPostBoundary === 3) { + matchPostBoundary = 0; + if (data[start] === 10) { + ++start; + if (parts >= partsLimit) + break; + this._hparser = hparser; + if (start === end) + break; + continue retrydata; + } else { + const writecb = this._writecb; + this._writecb = noop5; + ssCb(false, BUF_CR, 0, 1, false); + this._writecb = writecb; + } + } + } + if (!skipPart) { + if (this._fileStream) { + let chunk; + const actualLen = Math.min(end - start, fileSizeLimit - fileSize); + if (!isDataSafe) { + chunk = Buffer.allocUnsafe(actualLen); + data.copy(chunk, 0, start, start + actualLen); + } else { + chunk = data.slice(start, start + actualLen); + } + fileSize += chunk.length; + if (fileSize === fileSizeLimit) { + if (chunk.length > 0) + this._fileStream.push(chunk); + this._fileStream.emit("limit"); + this._fileStream.truncated = true; + skipPart = true; + } else if (!this._fileStream.push(chunk)) { + if (this._writecb) + this._fileStream._readcb = this._writecb; + this._writecb = null; + } + } else if (field !== void 0) { + let chunk; + const actualLen = Math.min( + end - start, + fieldSizeLimit - fieldSize + ); + if (!isDataSafe) { + chunk = Buffer.allocUnsafe(actualLen); + data.copy(chunk, 0, start, start + actualLen); + } else { + chunk = data.slice(start, start + actualLen); + } + fieldSize += actualLen; + field.push(chunk); + if (fieldSize === fieldSizeLimit) { + skipPart = true; + partTruncated = true; + } + } + } + break; + } + if (isMatch) { + matchPostBoundary = 1; + if (this._fileStream) { + this._fileStream.push(null); + this._fileStream = null; + } else if (field !== void 0) { + let data2; + switch (field.length) { + case 0: + data2 = ""; + break; + case 1: + data2 = convertToUTF8(field[0], partCharset, 0); + break; + default: + data2 = convertToUTF8( + Buffer.concat(field, fieldSize), + partCharset, + 0 + ); + } + field = void 0; + fieldSize = 0; + this.emit( + "field", + partName, + data2, + { + nameTruncated: false, + valueTruncated: partTruncated, + encoding: partEncoding, + mimeType: partType + } + ); + } + if (++parts === partsLimit) + this.emit("partsLimit"); + } + }, "ssCb"); + this._bparser = new StreamSearch(`\r +--${boundary}`, ssCb); + this._writecb = null; + this._finalcb = null; + this.write(BUF_CRLF); + } + static detect(conType) { + return conType.type === "multipart" && conType.subtype === "form-data"; + } + _write(chunk, enc, cb) { + this._writecb = cb; + this._bparser.push(chunk, 0); + if (this._writecb) + callAndUnsetCb(this); + } + _destroy(err, cb) { + this._hparser = null; + this._bparser = ignoreData; + if (!err) + err = checkEndState(this); + const fileStream = this._fileStream; + if (fileStream) { + this._fileStream = null; + fileStream.destroy(err); + } + cb(err); + } + _final(cb) { + this._bparser.destroy(); + if (!this._complete) + return cb(new Error("Unexpected end of form")); + if (this._fileEndsLeft) + this._finalcb = finalcb.bind(null, this, cb); + else + finalcb(this, cb); + } + }; + function finalcb(self, cb, err) { + if (err) + return cb(err); + err = checkEndState(self); + cb(err); + } + __name(finalcb, "finalcb"); + function checkEndState(self) { + if (self._hparser) + return new Error("Malformed part header"); + const fileStream = self._fileStream; + if (fileStream) { + self._fileStream = null; + fileStream.destroy(new Error("Unexpected end of file")); + } + if (!self._complete) + return new Error("Unexpected end of form"); + } + __name(checkEndState, "checkEndState"); + var TOKEN = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + var FIELD_VCHAR = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ]; + module.exports = Multipart; + } +}); + +// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js +var require_urlencoded2 = __commonJS({ + "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js"(exports, module) { + "use strict"; + var { Writable } = __require("stream"); + var { getDecoder } = require_utils4(); + var URLEncoded = class extends Writable { + static { + __name(this, "URLEncoded"); + } + constructor(cfg) { + const streamOpts = { + autoDestroy: true, + emitClose: true, + highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0 + }; + super(streamOpts); + let charset = cfg.defCharset || "utf8"; + if (cfg.conType.params && typeof cfg.conType.params.charset === "string") + charset = cfg.conType.params.charset; + this.charset = charset; + const limits = cfg.limits; + this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024; + this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity; + this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100; + this._inKey = true; + this._keyTrunc = false; + this._valTrunc = false; + this._bytesKey = 0; + this._bytesVal = 0; + this._fields = 0; + this._key = ""; + this._val = ""; + this._byte = -2; + this._lastPos = 0; + this._encode = 0; + this._decoder = getDecoder(charset); + } + static detect(conType) { + return conType.type === "application" && conType.subtype === "x-www-form-urlencoded"; + } + _write(chunk, enc, cb) { + if (this._fields >= this.fieldsLimit) + return cb(); + let i = 0; + const len = chunk.length; + this._lastPos = 0; + if (this._byte !== -2) { + i = readPctEnc(this, chunk, i, len); + if (i === -1) + return cb(new Error("Malformed urlencoded form")); + if (i >= len) + return cb(); + if (this._inKey) + ++this._bytesKey; + else + ++this._bytesVal; + } + main: + while (i < len) { + if (this._inKey) { + i = skipKeyBytes(this, chunk, i, len); + while (i < len) { + switch (chunk[i]) { + case 61: + if (this._lastPos < i) + this._key += chunk.latin1Slice(this._lastPos, i); + this._lastPos = ++i; + this._key = this._decoder(this._key, this._encode); + this._encode = 0; + this._inKey = false; + continue main; + case 38: + if (this._lastPos < i) + this._key += chunk.latin1Slice(this._lastPos, i); + this._lastPos = ++i; + this._key = this._decoder(this._key, this._encode); + this._encode = 0; + if (this._bytesKey > 0) { + this.emit( + "field", + this._key, + "", + { + nameTruncated: this._keyTrunc, + valueTruncated: false, + encoding: this.charset, + mimeType: "text/plain" + } + ); + } + this._key = ""; + this._val = ""; + this._keyTrunc = false; + this._valTrunc = false; + this._bytesKey = 0; + this._bytesVal = 0; + if (++this._fields >= this.fieldsLimit) { + this.emit("fieldsLimit"); + return cb(); + } + continue; + case 43: + if (this._lastPos < i) + this._key += chunk.latin1Slice(this._lastPos, i); + this._key += " "; + this._lastPos = i + 1; + break; + case 37: + if (this._encode === 0) + this._encode = 1; + if (this._lastPos < i) + this._key += chunk.latin1Slice(this._lastPos, i); + this._lastPos = i + 1; + this._byte = -1; + i = readPctEnc(this, chunk, i + 1, len); + if (i === -1) + return cb(new Error("Malformed urlencoded form")); + if (i >= len) + return cb(); + ++this._bytesKey; + i = skipKeyBytes(this, chunk, i, len); + continue; + } + ++i; + ++this._bytesKey; + i = skipKeyBytes(this, chunk, i, len); + } + if (this._lastPos < i) + this._key += chunk.latin1Slice(this._lastPos, i); + } else { + i = skipValBytes(this, chunk, i, len); + while (i < len) { + switch (chunk[i]) { + case 38: + if (this._lastPos < i) + this._val += chunk.latin1Slice(this._lastPos, i); + this._lastPos = ++i; + this._inKey = true; + this._val = this._decoder(this._val, this._encode); + this._encode = 0; + if (this._bytesKey > 0 || this._bytesVal > 0) { + this.emit( + "field", + this._key, + this._val, + { + nameTruncated: this._keyTrunc, + valueTruncated: this._valTrunc, + encoding: this.charset, + mimeType: "text/plain" + } + ); + } + this._key = ""; + this._val = ""; + this._keyTrunc = false; + this._valTrunc = false; + this._bytesKey = 0; + this._bytesVal = 0; + if (++this._fields >= this.fieldsLimit) { + this.emit("fieldsLimit"); + return cb(); + } + continue main; + case 43: + if (this._lastPos < i) + this._val += chunk.latin1Slice(this._lastPos, i); + this._val += " "; + this._lastPos = i + 1; + break; + case 37: + if (this._encode === 0) + this._encode = 1; + if (this._lastPos < i) + this._val += chunk.latin1Slice(this._lastPos, i); + this._lastPos = i + 1; + this._byte = -1; + i = readPctEnc(this, chunk, i + 1, len); + if (i === -1) + return cb(new Error("Malformed urlencoded form")); + if (i >= len) + return cb(); + ++this._bytesVal; + i = skipValBytes(this, chunk, i, len); + continue; + } + ++i; + ++this._bytesVal; + i = skipValBytes(this, chunk, i, len); + } + if (this._lastPos < i) + this._val += chunk.latin1Slice(this._lastPos, i); + } + } + cb(); + } + _final(cb) { + if (this._byte !== -2) + return cb(new Error("Malformed urlencoded form")); + if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) { + if (this._inKey) + this._key = this._decoder(this._key, this._encode); + else + this._val = this._decoder(this._val, this._encode); + this.emit( + "field", + this._key, + this._val, + { + nameTruncated: this._keyTrunc, + valueTruncated: this._valTrunc, + encoding: this.charset, + mimeType: "text/plain" + } + ); + } + cb(); + } + }; + function readPctEnc(self, chunk, pos, len) { + if (pos >= len) + return len; + if (self._byte === -1) { + const hexUpper = HEX_VALUES[chunk[pos++]]; + if (hexUpper === -1) + return -1; + if (hexUpper >= 8) + self._encode = 2; + if (pos < len) { + const hexLower = HEX_VALUES[chunk[pos++]]; + if (hexLower === -1) + return -1; + if (self._inKey) + self._key += String.fromCharCode((hexUpper << 4) + hexLower); + else + self._val += String.fromCharCode((hexUpper << 4) + hexLower); + self._byte = -2; + self._lastPos = pos; + } else { + self._byte = hexUpper; + } + } else { + const hexLower = HEX_VALUES[chunk[pos++]]; + if (hexLower === -1) + return -1; + if (self._inKey) + self._key += String.fromCharCode((self._byte << 4) + hexLower); + else + self._val += String.fromCharCode((self._byte << 4) + hexLower); + self._byte = -2; + self._lastPos = pos; + } + return pos; + } + __name(readPctEnc, "readPctEnc"); + function skipKeyBytes(self, chunk, pos, len) { + if (self._bytesKey > self.fieldNameSizeLimit) { + if (!self._keyTrunc) { + if (self._lastPos < pos) + self._key += chunk.latin1Slice(self._lastPos, pos - 1); + } + self._keyTrunc = true; + for (; pos < len; ++pos) { + const code = chunk[pos]; + if (code === 61 || code === 38) + break; + ++self._bytesKey; + } + self._lastPos = pos; + } + return pos; + } + __name(skipKeyBytes, "skipKeyBytes"); + function skipValBytes(self, chunk, pos, len) { + if (self._bytesVal > self.fieldSizeLimit) { + if (!self._valTrunc) { + if (self._lastPos < pos) + self._val += chunk.latin1Slice(self._lastPos, pos - 1); + } + self._valTrunc = true; + for (; pos < len; ++pos) { + if (chunk[pos] === 38) + break; + ++self._bytesVal; + } + self._lastPos = pos; + } + return pos; + } + __name(skipValBytes, "skipValBytes"); + var HEX_VALUES = [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 10, + 11, + 12, + 13, + 14, + 15, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 10, + 11, + 12, + 13, + 14, + 15, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1 + ]; + module.exports = URLEncoded; + } +}); + +// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js +var require_lib5 = __commonJS({ + "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js"(exports, module) { + "use strict"; + var { parseContentType } = require_utils4(); + function getInstance(cfg) { + const headers = cfg.headers; + const conType = parseContentType(headers["content-type"]); + if (!conType) + throw new Error("Malformed content type"); + for (const type of TYPES) { + const matched = type.detect(conType); + if (!matched) + continue; + const instanceCfg = { + limits: cfg.limits, + headers, + conType, + highWaterMark: void 0, + fileHwm: void 0, + defCharset: void 0, + defParamCharset: void 0, + preservePath: false + }; + if (cfg.highWaterMark) + instanceCfg.highWaterMark = cfg.highWaterMark; + if (cfg.fileHwm) + instanceCfg.fileHwm = cfg.fileHwm; + instanceCfg.defCharset = cfg.defCharset; + instanceCfg.defParamCharset = cfg.defParamCharset; + instanceCfg.preservePath = cfg.preservePath; + return new type(instanceCfg); + } + throw new Error(`Unsupported content type: ${headers["content-type"]}`); + } + __name(getInstance, "getInstance"); + var TYPES = [ + require_multipart(), + require_urlencoded2() + ].filter(function(typemod) { + return typeof typemod.detect === "function"; + }); + module.exports = (cfg) => { + if (typeof cfg !== "object" || cfg === null) + cfg = {}; + if (typeof cfg.headers !== "object" || cfg.headers === null || typeof cfg.headers["content-type"] !== "string") { + throw new Error("Missing Content-Type"); + } + return getInstance(cfg); + }; + } +}); + +// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/parse-path.js +var require_parse_path = __commonJS({ + "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/parse-path.js"(exports, module) { + var reFirstKey = /^[^\[]*/; + var reDigitPath = /^\[(\d+)\]/; + var reNormalPath = /^\[([^\]]+)\]/; + function parsePath(key) { + function failure() { + return [{ type: "object", key, last: true }]; + } + __name(failure, "failure"); + var firstKey = reFirstKey.exec(key)[0]; + if (!firstKey) return failure(); + var len = key.length; + var pos = firstKey.length; + var tail = { type: "object", key: firstKey }; + var steps = [tail]; + while (pos < len) { + var m; + if (key[pos] === "[" && key[pos + 1] === "]") { + pos += 2; + tail.append = true; + if (pos !== len) return failure(); + continue; + } + m = reDigitPath.exec(key.substring(pos)); + if (m !== null) { + pos += m[0].length; + tail.nextType = "array"; + tail = { type: "array", key: parseInt(m[1], 10) }; + steps.push(tail); + continue; + } + m = reNormalPath.exec(key.substring(pos)); + if (m !== null) { + pos += m[0].length; + tail.nextType = "object"; + tail = { type: "object", key: m[1] }; + steps.push(tail); + continue; + } + return failure(); + } + tail.last = true; + return steps; + } + __name(parsePath, "parsePath"); + module.exports = parsePath; + } +}); + +// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/set-value.js +var require_set_value = __commonJS({ + "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/lib/set-value.js"(exports, module) { + function valueType(value) { + if (value === void 0) return "undefined"; + if (Array.isArray(value)) return "array"; + if (typeof value === "object") return "object"; + return "scalar"; + } + __name(valueType, "valueType"); + function setLastValue(context, step, currentValue, entryValue) { + switch (valueType(currentValue)) { + case "undefined": + if (step.append) { + context[step.key] = [entryValue]; + } else { + context[step.key] = entryValue; + } + break; + case "array": + context[step.key].push(entryValue); + break; + case "object": + return setLastValue(currentValue, { type: "object", key: "", last: true }, currentValue[""], entryValue); + case "scalar": + context[step.key] = [context[step.key], entryValue]; + break; + } + return context; + } + __name(setLastValue, "setLastValue"); + function setValue(context, step, currentValue, entryValue) { + if (step.last) return setLastValue(context, step, currentValue, entryValue); + var obj; + switch (valueType(currentValue)) { + case "undefined": + if (step.nextType === "array") { + context[step.key] = []; + } else { + context[step.key] = /* @__PURE__ */ Object.create(null); + } + return context[step.key]; + case "object": + return context[step.key]; + case "array": + if (step.nextType === "array") { + return currentValue; + } + obj = /* @__PURE__ */ Object.create(null); + context[step.key] = obj; + currentValue.forEach(function(item, i) { + if (item !== void 0) obj["" + i] = item; + }); + return obj; + case "scalar": + obj = /* @__PURE__ */ Object.create(null); + obj[""] = currentValue; + context[step.key] = obj; + return obj; + } + } + __name(setValue, "setValue"); + module.exports = setValue; + } +}); + +// ../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/index.js +var require_append_field = __commonJS({ + "../../node_modules/.pnpm/append-field@1.0.0/node_modules/append-field/index.js"(exports, module) { + var parsePath = require_parse_path(); + var setValue = require_set_value(); + function appendField(store, key, value) { + var steps = parsePath(key); + steps.reduce(function(context, step) { + return setValue(context, step, context[step.key], value); + }, store); + } + __name(appendField, "appendField"); + module.exports = appendField; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/counter.js +var require_counter = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/counter.js"(exports, module) { + var EventEmitter = __require("events").EventEmitter; + function Counter() { + EventEmitter.call(this); + this.value = 0; + } + __name(Counter, "Counter"); + Counter.prototype = Object.create(EventEmitter.prototype); + Counter.prototype.increment = /* @__PURE__ */ __name(function increment() { + this.value++; + }, "increment"); + Counter.prototype.decrement = /* @__PURE__ */ __name(function decrement() { + if (--this.value === 0) this.emit("zero"); + }, "decrement"); + Counter.prototype.isZero = /* @__PURE__ */ __name(function isZero() { + return this.value === 0; + }, "isZero"); + Counter.prototype.onceZero = /* @__PURE__ */ __name(function onceZero(fn) { + if (this.isZero()) return fn(); + this.once("zero", fn); + }, "onceZero"); + module.exports = Counter; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/multer-error.js +var require_multer_error = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/multer-error.js"(exports, module) { + var util = __require("util"); + var errorMessages = { + LIMIT_PART_COUNT: "Too many parts", + LIMIT_FILE_SIZE: "File too large", + LIMIT_FILE_COUNT: "Too many files", + LIMIT_FIELD_KEY: "Field name too long", + LIMIT_FIELD_VALUE: "Field value too long", + LIMIT_FIELD_COUNT: "Too many fields", + LIMIT_UNEXPECTED_FILE: "Unexpected file field", + MISSING_FIELD_NAME: "Field name missing", + LIMIT_FIELD_NESTING: "Field name nesting too deep", + LIMIT_FIELD_ARRAY_INDEX: "Field name array index too large", + STREAM_DESTROYED: "File stream was destroyed", + INVALID_FIELD_NAME: "Invalid field name" + }; + function MulterError(code, field, filename) { + Error.captureStackTrace(this, this.constructor); + this.name = this.constructor.name; + this.message = errorMessages[code] || `Unknown error: ${code}`; + this.code = code; + if (field) this.field = field; + if (filename) this.filename = filename; + } + __name(MulterError, "MulterError"); + util.inherits(MulterError, Error); + module.exports = MulterError; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/file-appender.js +var require_file_appender = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/file-appender.js"(exports, module) { + function arrayRemove(arr, item) { + var idx = arr.indexOf(item); + if (~idx) arr.splice(idx, 1); + } + __name(arrayRemove, "arrayRemove"); + function FileAppender(strategy, req) { + this.strategy = strategy; + this.req = req; + switch (strategy) { + case "NONE": + break; + case "VALUE": + break; + case "ARRAY": + req.files = []; + break; + case "OBJECT": + req.files = /* @__PURE__ */ Object.create(null); + break; + default: + throw new Error("Unknown file strategy: " + strategy); + } + } + __name(FileAppender, "FileAppender"); + FileAppender.prototype.insertPlaceholder = function(file) { + var placeholder = { + fieldname: file.fieldname + }; + switch (this.strategy) { + case "NONE": + break; + case "VALUE": + break; + case "ARRAY": + this.req.files.push(placeholder); + break; + case "OBJECT": + if (this.req.files[file.fieldname]) { + this.req.files[file.fieldname].push(placeholder); + } else { + this.req.files[file.fieldname] = [placeholder]; + } + break; + } + return placeholder; + }; + FileAppender.prototype.removePlaceholder = function(placeholder) { + switch (this.strategy) { + case "NONE": + break; + case "VALUE": + break; + case "ARRAY": + arrayRemove(this.req.files, placeholder); + break; + case "OBJECT": { + var files = this.req.files[placeholder.fieldname]; + if (!files) break; + arrayRemove(files, placeholder); + if (files.length === 0) delete this.req.files[placeholder.fieldname]; + break; + } + } + }; + FileAppender.prototype.replacePlaceholder = function(placeholder, file) { + if (this.strategy === "VALUE") { + this.req.file = file; + return; + } + delete placeholder.fieldname; + Object.assign(placeholder, file); + }; + module.exports = FileAppender; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/remove-uploaded-files.js +var require_remove_uploaded_files = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/remove-uploaded-files.js"(exports, module) { + function removeUploadedFiles(uploadedFiles, remove, cb) { + var length = uploadedFiles.length; + var errors = []; + if (length === 0) return cb(null, errors); + function handleFile(idx) { + var file = uploadedFiles[idx]; + remove(file, function(err) { + if (err) { + err.file = file; + err.field = file.fieldname; + errors.push(err); + } + if (idx < length - 1) { + setImmediate(function() { + handleFile(idx + 1); + }); + } else { + cb(null, errors); + } + }); + } + __name(handleFile, "handleFile"); + handleFile(0); + } + __name(removeUploadedFiles, "removeUploadedFiles"); + module.exports = removeUploadedFiles; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/validate-limits.js +var require_validate_limits = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/validate-limits.js"(exports, module) { + function validateLimits(limits) { + Object.keys(limits).forEach(function(key) { + var value = limits[key]; + if (value == null) return; + if (Number.isInteger(value) && value >= 0 || value === Infinity) return; + throw new TypeError("Expected limits." + key + " to be a non-negative integer or Infinity"); + }); + } + __name(validateLimits, "validateLimits"); + module.exports = validateLimits; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/make-middleware.js +var require_make_middleware = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/lib/make-middleware.js"(exports, module) { + var is = require_type_is2(); + var AsyncResource2 = __require("async_hooks").AsyncResource; + var Busboy = require_lib5(); + var appendField = require_append_field(); + var Counter = require_counter(); + var MulterError = require_multer_error(); + var FileAppender = require_file_appender(); + var removeUploadedFiles = require_remove_uploaded_files(); + var validateLimits = require_validate_limits(); + function exceedsArrayIndexLimit(fieldname, limit) { + if (!/^[^[]+(?:\[[^\]]+\])*(?:\[\])?$/.test(fieldname)) return false; + var pattern = /\[(\d+)\]/g; + var match; + while ((match = pattern.exec(fieldname)) !== null) { + if (Number(match[1]) > limit) return true; + } + return false; + } + __name(exceedsArrayIndexLimit, "exceedsArrayIndexLimit"); + function drainStream(stream) { + stream.on("readable", () => { + while (stream.read() !== null) { + } + }); + } + __name(drainStream, "drainStream"); + function decodeFormDataName(str) { + return str.replace(/%0A|%0D|%22/gi, function(match) { + switch (match.toUpperCase()) { + case "%0A": + return "\n"; + case "%0D": + return "\r"; + default: + return '"'; + } + }); + } + __name(decodeFormDataName, "decodeFormDataName"); + function defaultStreamHandler(req, busboy) { + req.pipe(busboy); + } + __name(defaultStreamHandler, "defaultStreamHandler"); + function makeMiddleware(setup) { + return /* @__PURE__ */ __name(function multerMiddleware(req, res, next) { + var resource = new AsyncResource2("multer"); + var originalNext = next; + next = /* @__PURE__ */ __name(function(err) { + resource.runInAsyncScope(originalNext, null, err); + }, "next"); + if (!is(req, ["multipart"])) return next(); + var options = setup(); + var limits = options.limits; + if (typeof limits === "function") { + try { + limits = limits(req); + if (limits) validateLimits(limits); + } catch (err) { + return next(err); + } + } + var busboyLimits = limits; + if (limits && (Object.prototype.hasOwnProperty.call(limits, "fileSize") || Object.prototype.hasOwnProperty.call(limits, "parts"))) { + busboyLimits = {}; + var key; + for (key in limits) { + busboyLimits[key] = limits[key]; + } + if (typeof limits.fileSize === "number" && isFinite(limits.fileSize)) { + busboyLimits.fileSize = limits.fileSize + 1; + } + if (typeof limits.parts === "number" && isFinite(limits.parts)) { + busboyLimits.parts = limits.parts + 1; + } + } + var storage = options.storage; + var fileFilter = options.fileFilter; + var fileStrategy = options.fileStrategy; + var preservePath = options.preservePath; + var defParamCharset = options.defParamCharset; + var defCharset = options.defCharset; + var highWaterMark = options.highWaterMark; + var fileHwm = options.fileHwm; + var streamHandler = options.streamHandler || defaultStreamHandler; + req.body = /* @__PURE__ */ Object.create(null); + var busboy; + var appender = null; + var isDone = false; + var readFinished = false; + var errorOccured = false; + var abortCleanupDone = false; + var abortRemovedFiles = /* @__PURE__ */ new Set(); + var pendingWrites = new Counter(); + var uploadedFiles = []; + var pendingFiles = []; + function done(err) { + var called = false; + function onFinished() { + if (called) return; + called = true; + next(err); + } + __name(onFinished, "onFinished"); + if (isDone) return; + isDone = true; + if (busboy) { + req.unpipe(busboy); + setImmediate(() => { + busboy.removeAllListeners(); + }); + } + drainStream(req); + req.resume(); + if (err && req.readable && !req.destroyed) { + req.once("end", onFinished); + req.once("error", onFinished); + req.once("close", onFinished); + return; + } + next(err); + } + __name(done, "done"); + function indicateDone() { + if (readFinished && pendingWrites.isZero() && !errorOccured) done(); + } + __name(indicateDone, "indicateDone"); + function abortWithError(uploadError, skipPendingWait) { + if (errorOccured) return; + errorOccured = true; + function finishAbort() { + abortCleanupDone = true; + function remove(file, cb) { + storage._removeFile(req, file, cb); + } + __name(remove, "remove"); + var pendingToRemove = pendingFiles.filter(function(f) { + return f.path; + }); + pendingToRemove.forEach(function(f) { + abortRemovedFiles.add(f); + }); + var filesToRemove = uploadedFiles.concat(pendingToRemove); + pendingFiles = []; + removeUploadedFiles(filesToRemove, remove, function(err, storageErrors) { + if (err) return done(err); + uploadError.storageErrors = storageErrors; + done(uploadError); + }); + } + __name(finishAbort, "finishAbort"); + if (skipPendingWait) { + finishAbort(); + } else { + pendingWrites.onceZero(finishAbort); + } + } + __name(abortWithError, "abortWithError"); + function abortWithCode(code, optionalField, optionalFilename) { + abortWithError(new MulterError(code, optionalField, optionalFilename)); + } + __name(abortWithCode, "abortWithCode"); + function handleRequestFailure(err) { + if (isDone) return; + if (busboy) { + req.unpipe(busboy); + busboy.destroy(err); + } + abortWithError(err, true); + } + __name(handleRequestFailure, "handleRequestFailure"); + req.on("error", function(err) { + handleRequestFailure(err || new Error("Request error")); + }); + req.on("aborted", function() { + handleRequestFailure(new Error("Request aborted")); + }); + req.on("close", function() { + if (req.readableEnded) return; + handleRequestFailure(new Error("Request closed")); + }); + try { + busboy = Busboy({ + headers: req.headers, + limits: busboyLimits, + preservePath, + defParamCharset, + defCharset, + highWaterMark, + fileHwm + }); + } catch (err) { + return next(err); + } + appender = new FileAppender(fileStrategy, req); + busboy.on("field", function(fieldname, value, { nameTruncated, valueTruncated }) { + if (fieldname == null) return abortWithCode("MISSING_FIELD_NAME"); + var rawFieldname = fieldname; + fieldname = decodeFormDataName(fieldname); + if (nameTruncated) return abortWithCode("LIMIT_FIELD_KEY"); + if (valueTruncated) return abortWithCode("LIMIT_FIELD_VALUE", fieldname); + if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) { + if (rawFieldname.length > limits.fieldNameSize) return abortWithCode("LIMIT_FIELD_KEY"); + } + if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNestingDepth")) { + if (fieldname.split("[").length - 1 > limits.fieldNestingDepth) return abortWithCode("LIMIT_FIELD_NESTING", fieldname); + } + if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldArrayIndexLimit")) { + if (exceedsArrayIndexLimit(fieldname, limits.fieldArrayIndexLimit)) { + return abortWithCode("LIMIT_FIELD_ARRAY_INDEX", fieldname); + } + } + try { + appendField(req.body, fieldname, value); + } catch { + return abortWithCode("INVALID_FIELD_NAME", fieldname); + } + }); + busboy.on("file", function(fieldname, fileStream, { filename, encoding, mimeType }) { + var pendingWritesIncremented = false; + var aborting = false; + var accepted = false; + var fileSizeLimitReached = false; + var originalname = filename && decodeFormDataName(filename); + function decrementPendingWrites() { + if (!pendingWritesIncremented) return; + pendingWritesIncremented = false; + pendingWrites.decrement(); + } + __name(decrementPendingWrites, "decrementPendingWrites"); + fileStream.on("error", function(err) { + decrementPendingWrites(); + abortWithError(err); + }); + fileStream.on("limit", function() { + fileSizeLimitReached = true; + if (accepted) { + aborting = true; + abortWithCode("LIMIT_FILE_SIZE", fieldname, originalname); + } + }); + if (fieldname == null) return abortWithCode("MISSING_FIELD_NAME"); + var rawFieldname = fieldname; + fieldname = decodeFormDataName(fieldname); + if (!filename) return fileStream.resume(); + if (limits && Object.prototype.hasOwnProperty.call(limits, "fieldNameSize")) { + if (rawFieldname.length > limits.fieldNameSize) return abortWithCode("LIMIT_FIELD_KEY"); + } + var file = { + fieldname, + originalname, + encoding, + mimetype: mimeType + }; + var placeholder = appender.insertPlaceholder(file); + fileFilter(req, file, function(err, includeFile) { + if (errorOccured) { + appender.removePlaceholder(placeholder); + return fileStream.resume(); + } + if (err) { + appender.removePlaceholder(placeholder); + return abortWithError(err); + } + if (!includeFile) { + appender.removePlaceholder(placeholder); + return fileStream.resume(); + } + if (fileSizeLimitReached) { + appender.removePlaceholder(placeholder); + return abortWithCode("LIMIT_FILE_SIZE", fieldname, originalname); + } + accepted = true; + pendingWritesIncremented = true; + pendingWrites.increment(); + Object.defineProperty(file, "stream", { + configurable: true, + enumerable: false, + value: fileStream + }); + pendingFiles.push(file); + storage._handleFile(req, file, function(err2, info) { + var idx = pendingFiles.indexOf(file); + if (idx !== -1) pendingFiles.splice(idx, 1); + if (aborting) { + appender.removePlaceholder(placeholder); + uploadedFiles.push({ ...file, ...info }); + return decrementPendingWrites(); + } + if (err2) { + appender.removePlaceholder(placeholder); + decrementPendingWrites(); + return abortWithError(err2); + } + var fileInfo = { ...file, ...info }; + if (abortCleanupDone) { + if (abortRemovedFiles.has(file)) { + appender.removePlaceholder(placeholder); + decrementPendingWrites(); + return; + } + return storage._removeFile(req, fileInfo, function() { + appender.removePlaceholder(placeholder); + decrementPendingWrites(); + }); + } + appender.replacePlaceholder(placeholder, fileInfo); + uploadedFiles.push(fileInfo); + decrementPendingWrites(); + indicateDone(); + }); + }); + }); + busboy.on("error", function(err) { + abortWithError(err); + }); + busboy.on("partsLimit", function() { + abortWithCode("LIMIT_PART_COUNT"); + }); + busboy.on("filesLimit", function() { + abortWithCode("LIMIT_FILE_COUNT"); + }); + busboy.on("fieldsLimit", function() { + abortWithCode("LIMIT_FIELD_COUNT"); + }); + busboy.on("close", function() { + readFinished = true; + indicateDone(); + }); + streamHandler(req, busboy); + }, "multerMiddleware"); + } + __name(makeMiddleware, "makeMiddleware"); + module.exports = makeMiddleware; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/disk.js +var require_disk = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/disk.js"(exports, module) { + var fs = __require("fs"); + var os = __require("os"); + var path = __require("path"); + var crypto = __require("crypto"); + var pipeline = __require("stream").pipeline; + var MulterError = require_multer_error(); + var openStreams = /* @__PURE__ */ new WeakMap(); + var flushingFiles = /* @__PURE__ */ new WeakMap(); + function endFlush(file) { + var flush = flushingFiles.get(file); + if (!flush) return; + flushingFiles.delete(file); + if (flush.onClosed) flush.onClosed(); + } + __name(endFlush, "endFlush"); + function getFilename(req, file, cb) { + crypto.randomBytes(16, function(err, raw) { + cb(err, err ? void 0 : raw.toString("hex")); + }); + } + __name(getFilename, "getFilename"); + function getDestination(req, file, cb) { + cb(null, os.tmpdir()); + } + __name(getDestination, "getDestination"); + function DiskStorage(opts) { + opts = opts || {}; + this.getFilename = opts.filename || getFilename; + this.flush = opts.flush; + if (typeof opts.destination === "string") { + fs.mkdirSync(opts.destination, { recursive: true }); + this.getDestination = function($0, $1, cb) { + cb(null, opts.destination); + }; + } else { + this.getDestination = opts.destination || getDestination; + } + } + __name(DiskStorage, "DiskStorage"); + DiskStorage.prototype._handleFile = /* @__PURE__ */ __name(function _handleFile(req, file, cb) { + var that = this; + that.getDestination(req, file, function(err, destination) { + if (err) return cb(err); + that.getFilename(req, file, function(err2, filename) { + if (err2) return cb(err2); + var finalPath = path.join(destination, filename); + if (file.stream.destroyed) return cb(new MulterError("STREAM_DESTROYED")); + var outStream = fs.createWriteStream(finalPath); + file.path = finalPath; + openStreams.set(file, outStream); + outStream.once("close", function() { + openStreams.delete(file); + }); + if (that.flush) flushingFiles.set(file, {}); + pipeline(file.stream, outStream, function(err3) { + if (err3) { + endFlush(file); + return cb(err3); + } + var done = /* @__PURE__ */ __name(function(err4) { + if (err4) return cb(err4); + cb(null, { + destination, + filename, + path: finalPath, + size: outStream.bytesWritten + }); + }, "done"); + if (!that.flush) return done(); + fs.open(finalPath, "r+", function(err4, fd) { + if (err4) { + endFlush(file); + return done(err4); + } + fs.fsync(fd, function(syncErr) { + fs.close(fd, function(closeErr) { + endFlush(file); + done(syncErr || closeErr); + }); + }); + }); + }); + }); + }); + }, "_handleFile"); + DiskStorage.prototype._removeFile = /* @__PURE__ */ __name(function _removeFile(req, file, cb) { + var path2 = file.path; + delete file.destination; + delete file.filename; + delete file.path; + function unlink() { + var flush = flushingFiles.get(file); + if (!flush) return fs.unlink(path2, cb); + flush.onClosed = function() { + fs.unlink(path2, cb); + }; + } + __name(unlink, "unlink"); + var outStream = openStreams.get(file); + if (!outStream) return unlink(); + if (outStream.closed) return unlink(); + function onReleased() { + outStream.removeListener("close", onReleased); + outStream.removeListener("error", onReleased); + unlink(); + } + __name(onReleased, "onReleased"); + outStream.once("close", onReleased); + outStream.once("error", onReleased); + outStream.destroy(); + }, "_removeFile"); + module.exports = function(opts) { + return new DiskStorage(opts); + }; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/memory.js +var require_memory = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/storage/memory.js"(exports, module) { + function MemoryStorage(opts) { + } + __name(MemoryStorage, "MemoryStorage"); + MemoryStorage.prototype._handleFile = /* @__PURE__ */ __name(function _handleFile(req, file, cb) { + var chunks = []; + file.stream.on("data", function(chunk) { + chunks.push(chunk); + }); + file.stream.on("end", function() { + var buffer = Buffer.concat(chunks); + cb(null, { + buffer, + size: buffer.length + }); + }); + }, "_handleFile"); + MemoryStorage.prototype._removeFile = /* @__PURE__ */ __name(function _removeFile(req, file, cb) { + delete file.buffer; + cb(null); + }, "_removeFile"); + module.exports = function(opts) { + return new MemoryStorage(opts); + }; + } +}); + +// ../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/index.js +var require_multer = __commonJS({ + "../../node_modules/.pnpm/multer@2.4.0/node_modules/multer/index.js"(exports, module) { + var makeMiddleware = require_make_middleware(); + var diskStorage = require_disk(); + var memoryStorage = require_memory(); + var MulterError = require_multer_error(); + var validateLimits = require_validate_limits(); + function allowAll(req, file, cb) { + cb(null, true); + } + __name(allowAll, "allowAll"); + function Multer(options) { + if (options.storage) { + this.storage = options.storage; + } else if (options.dest) { + this.storage = diskStorage({ destination: options.dest }); + } else { + this.storage = memoryStorage(); + } + if (options.limits && typeof options.limits !== "function") validateLimits(options.limits); + this.limits = options.limits; + this.preservePath = options.preservePath; + this.defParamCharset = options.defParamCharset || "latin1"; + this.defCharset = options.defCharset; + this.highWaterMark = options.highWaterMark; + this.fileHwm = options.fileHwm; + this.fileFilter = options.fileFilter || allowAll; + if (options.streamHandler !== void 0 && typeof options.streamHandler !== "function") { + throw new TypeError("Expected streamHandler to be a function"); + } + this.streamHandler = options.streamHandler; + } + __name(Multer, "Multer"); + Multer.prototype._makeMiddleware = function(fields, fileStrategy) { + function setup() { + var fileFilter = this.fileFilter; + var filesLeft = /* @__PURE__ */ Object.create(null); + fields.forEach(function(field) { + if (typeof field.maxCount === "number") { + filesLeft[field.name] = field.maxCount; + } else { + filesLeft[field.name] = Infinity; + } + }); + function wrappedFileFilter(req, file, cb) { + if ((filesLeft[file.fieldname] || 0) <= 0) { + return cb(new MulterError("LIMIT_UNEXPECTED_FILE", file.fieldname, file.originalname)); + } + filesLeft[file.fieldname] -= 1; + var settled = false; + fileFilter(req, file, function(err, includeFile) { + if (!settled) { + settled = true; + if (err || !includeFile) filesLeft[file.fieldname] += 1; + } + cb(err, includeFile); + }); + } + __name(wrappedFileFilter, "wrappedFileFilter"); + return { + limits: this.limits, + preservePath: this.preservePath, + defParamCharset: this.defParamCharset, + defCharset: this.defCharset, + highWaterMark: this.highWaterMark, + fileHwm: this.fileHwm, + streamHandler: this.streamHandler, + storage: this.storage, + fileFilter: wrappedFileFilter, + fileStrategy + }; + } + __name(setup, "setup"); + return makeMiddleware(setup.bind(this)); + }; + Multer.prototype.single = function(name) { + return this._makeMiddleware([{ name, maxCount: 1 }], "VALUE"); + }; + Multer.prototype.array = function(name, maxCount) { + return this._makeMiddleware([{ name, maxCount }], "ARRAY"); + }; + Multer.prototype.fields = function(fields) { + return this._makeMiddleware(fields, "OBJECT"); + }; + Multer.prototype.none = function() { + return this._makeMiddleware([], "NONE"); + }; + Multer.prototype.any = function() { + function setup() { + return { + limits: this.limits, + preservePath: this.preservePath, + defParamCharset: this.defParamCharset, + defCharset: this.defCharset, + highWaterMark: this.highWaterMark, + fileHwm: this.fileHwm, + streamHandler: this.streamHandler, + storage: this.storage, + fileFilter: this.fileFilter, + fileStrategy: "ARRAY" + }; + } + __name(setup, "setup"); + return makeMiddleware(setup.bind(this)); + }; + function multer6(options) { + if (options === void 0) { + return new Multer({}); + } + if (typeof options === "object" && options !== null) { + return new Multer(options); + } + throw new TypeError("Expected object for argument options"); + } + __name(multer6, "multer"); + module.exports = multer6; + module.exports.diskStorage = diskStorage; + module.exports.memoryStorage = memoryStorage; + module.exports.MulterError = MulterError; + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/files.constants.js +var MULTER_MODULE_OPTIONS; +var init_files_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/files.constants.js"() { + MULTER_MODULE_OPTIONS = "MULTER_MODULE_OPTIONS"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.constants.js +var multerExceptions, DEFAULT_FIELD_NAME_LIMITS, busboyExceptions; +var init_multer_constants = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.constants.js"() { + multerExceptions = { + // from https://github.com/expressjs/multer/blob/master/lib/multer-error.js + LIMIT_PART_COUNT: "Too many parts", + LIMIT_FILE_SIZE: "File too large", + LIMIT_FILE_COUNT: "Too many files", + LIMIT_FIELD_KEY: "Field name too long", + LIMIT_FIELD_VALUE: "Field value too long", + LIMIT_FIELD_COUNT: "Too many fields", + LIMIT_UNEXPECTED_FILE: "Unexpected file field", + MISSING_FIELD_NAME: "Field name missing", + LIMIT_FIELD_NESTING: "Field name nesting too deep", + LIMIT_FIELD_ARRAY_INDEX: "Field name array index too large", + INVALID_FIELD_NAME: "Invalid field name" + // STREAM_DESTROYED is left out on purpose: it is raised by the storage + // engine after the file stream was destroyed, not by the request, so it + // stays a 500. + }; + DEFAULT_FIELD_NAME_LIMITS = { + fieldNestingDepth: 32, + fieldArrayIndexLimit: 1e3 + }; + busboyExceptions = { + // from https://github.com/mscdex/busboy/blob/master/lib/types/multipart.js + MULTIPART_BOUNDARY_NOT_FOUND: "Multipart: Boundary not found", + MULTIPART_MALFORMED_PART_HEADER: "Malformed part header", + MULTIPART_UNEXPECTED_END_OF_FORM: "Unexpected end of form", + MULTIPART_UNEXPECTED_END_OF_FILE: "Unexpected end of file" + }; + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.utils.js +import { finished as finished2 } from "stream"; +function mergeMulterOptions(options = {}, localOptions = {}) { + const merged = { ...options, ...localOptions }; + if (isPlainObject(options.limits) && isPlainObject(localOptions.limits)) { + merged.limits = { ...options.limits, ...localOptions.limits }; + } + if (localOptions.dest && !localOptions.storage) { + delete merged.storage; + } + return merged; +} +function applyDefaultLimits(options) { + const { limits } = options; + return { + ...options, + limits: typeof limits === "function" ? (req) => withDefaultLimits(limits(req)) : withDefaultLimits(limits) + }; +} +function withDefaultLimits(limits) { + return { + ...limits, + fieldNestingDepth: limits?.fieldNestingDepth ?? DEFAULT_FIELD_NAME_LIMITS.fieldNestingDepth, + fieldArrayIndexLimit: limits?.fieldArrayIndexLimit ?? DEFAULT_FIELD_NAME_LIMITS.fieldArrayIndexLimit + }; +} +function removeFilesOnPipeRejection(storage, req, res) { + return (0, import_rxjs9.catchError)((err) => { + if (isRejectedByPipes(req)) { + finished2(res, () => { + for (const file of storedFiles(req)) { + try { + storage._removeFile(req, file, () => void 0); + } catch { + } + } + }); + } + return (0, import_rxjs9.throwError)(() => err); + }); +} +function storedFiles(req) { + const { file, files } = req; + if (file) { + return [file]; + } + return Array.isArray(files) ? files : Object.values(files ?? {}).flat(); +} +function transformException(error) { + if (!error || error instanceof HttpException) { + return error; + } + const exception = isMulterExceptionCode(error.code) ? multerExceptions[error.code] : error.message; + switch (exception) { + case multerExceptions.LIMIT_FILE_SIZE: + return new PayloadTooLargeException(error.message); + case multerExceptions.LIMIT_FILE_COUNT: + case multerExceptions.LIMIT_FIELD_KEY: + case multerExceptions.LIMIT_FIELD_VALUE: + case multerExceptions.LIMIT_FIELD_COUNT: + case multerExceptions.LIMIT_FIELD_NESTING: + case multerExceptions.LIMIT_FIELD_ARRAY_INDEX: + case multerExceptions.INVALID_FIELD_NAME: + case multerExceptions.LIMIT_UNEXPECTED_FILE: + case multerExceptions.LIMIT_PART_COUNT: + case multerExceptions.MISSING_FIELD_NAME: + if (error.field) { + return new BadRequestException(`${error.message} - ${error.field}`); + } + return new BadRequestException(error.message); + case busboyExceptions.MULTIPART_BOUNDARY_NOT_FOUND: + return new BadRequestException(error.message); + case busboyExceptions.MULTIPART_MALFORMED_PART_HEADER: + case busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FORM: + case busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FILE: + return new BadRequestException(`Multipart: ${error.message}`); + } + return error; +} +function isMulterExceptionCode(code) { + return typeof code === "string" && Object.hasOwn(multerExceptions, code); +} +var import_rxjs9; +var init_multer_utils = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer/multer.utils.js"() { + init_common(); + init_internal(); + init_internal2(); + import_rxjs9 = __toESM(require_cjs(), 1); + init_multer_constants(); + __name(mergeMulterOptions, "mergeMulterOptions"); + __name(applyDefaultLimits, "applyDefaultLimits"); + __name(withDefaultLimits, "withDefaultLimits"); + __name(removeFilesOnPipeRejection, "removeFilesOnPipeRejection"); + __name(storedFiles, "storedFiles"); + __name(transformException, "transformException"); + __name(isMulterExceptionCode, "isMulterExceptionCode"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.js +function AnyFilesInterceptor(localOptions) { + let MixinInterceptor = class MixinInterceptor { + static { + __name(this, "MixinInterceptor"); + } + multer; + constructor(options = {}) { + this.multer = (0, import_multer.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions))); + } + async intercept(context, next) { + const ctx = context.switchToHttp(); + await new Promise((resolve, reject) => this.multer.any()(ctx.getRequest(), ctx.getResponse(), (err) => { + if (err) { + const error = transformException(err); + return reject(error); + } + resolve(); + })); + return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse())); + } + }; + MixinInterceptor = __decorate([ + __param(0, Optional()), + __param(0, Inject(MULTER_MODULE_OPTIONS)), + __metadata("design:paramtypes", [Object]) + ], MixinInterceptor); + const Interceptor = mixin(MixinInterceptor); + return Interceptor; +} +var import_multer; +var init_any_files_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.js"() { + init_tslib_es6(); + init_common(); + import_multer = __toESM(require_multer(), 1); + init_files_constants(); + init_multer_utils(); + __name(AnyFilesInterceptor, "AnyFilesInterceptor"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.js +function FileFieldsInterceptor(uploadFields, localOptions) { + let MixinInterceptor = class MixinInterceptor { + static { + __name(this, "MixinInterceptor"); + } + multer; + constructor(options = {}) { + this.multer = (0, import_multer2.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions))); + } + async intercept(context, next) { + const ctx = context.switchToHttp(); + await new Promise((resolve, reject) => this.multer.fields(uploadFields)(ctx.getRequest(), ctx.getResponse(), (err) => { + if (err) { + const error = transformException(err); + return reject(error); + } + resolve(); + })); + return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse())); + } + }; + MixinInterceptor = __decorate([ + __param(0, Optional()), + __param(0, Inject(MULTER_MODULE_OPTIONS)), + __metadata("design:paramtypes", [Object]) + ], MixinInterceptor); + const Interceptor = mixin(MixinInterceptor); + return Interceptor; +} +var import_multer2; +var init_file_fields_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.js"() { + init_tslib_es6(); + init_common(); + import_multer2 = __toESM(require_multer(), 1); + init_files_constants(); + init_multer_utils(); + __name(FileFieldsInterceptor, "FileFieldsInterceptor"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.js +function FileInterceptor(fieldName, localOptions) { + let MixinInterceptor = class MixinInterceptor { + static { + __name(this, "MixinInterceptor"); + } + multer; + constructor(options = {}) { + this.multer = (0, import_multer3.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions))); + } + async intercept(context, next) { + const ctx = context.switchToHttp(); + await new Promise((resolve, reject) => this.multer.single(fieldName)(ctx.getRequest(), ctx.getResponse(), (err) => { + if (err) { + const error = transformException(err); + return reject(error); + } + resolve(); + })); + return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse())); + } + }; + MixinInterceptor = __decorate([ + __param(0, Optional()), + __param(0, Inject(MULTER_MODULE_OPTIONS)), + __metadata("design:paramtypes", [Object]) + ], MixinInterceptor); + const Interceptor = mixin(MixinInterceptor); + return Interceptor; +} +var import_multer3; +var init_file_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.js"() { + init_tslib_es6(); + init_common(); + import_multer3 = __toESM(require_multer(), 1); + init_files_constants(); + init_multer_utils(); + __name(FileInterceptor, "FileInterceptor"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.js +function FilesInterceptor(fieldName, maxCount, localOptions) { + let MixinInterceptor = class MixinInterceptor { + static { + __name(this, "MixinInterceptor"); + } + multer; + constructor(options = {}) { + this.multer = (0, import_multer4.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions))); + } + async intercept(context, next) { + const ctx = context.switchToHttp(); + await new Promise((resolve, reject) => this.multer.array(fieldName, maxCount)(ctx.getRequest(), ctx.getResponse(), (err) => { + if (err) { + const error = transformException(err); + return reject(error); + } + resolve(); + })); + return next.handle().pipe(removeFilesOnPipeRejection(this.multer.storage, ctx.getRequest(), ctx.getResponse())); + } + }; + MixinInterceptor = __decorate([ + __param(0, Optional()), + __param(0, Inject(MULTER_MODULE_OPTIONS)), + __metadata("design:paramtypes", [Object]) + ], MixinInterceptor); + const Interceptor = mixin(MixinInterceptor); + return Interceptor; +} +var import_multer4; +var init_files_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.js"() { + init_tslib_es6(); + init_common(); + import_multer4 = __toESM(require_multer(), 1); + init_files_constants(); + init_multer_utils(); + __name(FilesInterceptor, "FilesInterceptor"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.js +function NoFilesInterceptor(localOptions) { + let MixinInterceptor = class MixinInterceptor { + static { + __name(this, "MixinInterceptor"); + } + multer; + constructor(options = {}) { + this.multer = (0, import_multer5.default)(applyDefaultLimits(mergeMulterOptions(options, localOptions))); + } + async intercept(context, next) { + const ctx = context.switchToHttp(); + await new Promise((resolve, reject) => this.multer.none()(ctx.getRequest(), ctx.getResponse(), (err) => { + if (err) { + const error = transformException(err); + return reject(error); + } + resolve(); + })); + return next.handle(); + } + }; + MixinInterceptor = __decorate([ + __param(0, Optional()), + __param(0, Inject(MULTER_MODULE_OPTIONS)), + __metadata("design:paramtypes", [Object]) + ], MixinInterceptor); + const Interceptor = mixin(MixinInterceptor); + return Interceptor; +} +var import_multer5; +var init_no_files_interceptor = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.js"() { + init_tslib_es6(); + init_common(); + import_multer5 = __toESM(require_multer(), 1); + init_files_constants(); + init_multer_utils(); + __name(NoFilesInterceptor, "NoFilesInterceptor"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/index.js +var init_interceptors2 = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interceptors/index.js"() { + init_any_files_interceptor(); + init_file_fields_interceptor(); + init_file_interceptor(); + init_files_interceptor(); + init_no_files_interceptor(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.js +var init_files_upload_module_interface = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.js"() { + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/index.js +var init_interfaces3 = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/interfaces/index.js"() { + init_files_upload_module_interface(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.constants.js +var MULTER_MODULE_ID; +var init_multer_constants2 = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.constants.js"() { + MULTER_MODULE_ID = "MULTER_MODULE_ID"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.module.js +var MulterModule_1, MulterModule; +var init_multer_module = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/multer.module.js"() { + init_tslib_es6(); + init_common(); + init_files_constants(); + init_multer_constants2(); + init_internal(); + MulterModule = MulterModule_1 = class MulterModule2 { + static { + __name(this, "MulterModule"); + } + static register(options = {}) { + return { + module: MulterModule_1, + providers: [ + { provide: MULTER_MODULE_OPTIONS, useFactory: /* @__PURE__ */ __name(() => options, "useFactory") }, + { + provide: MULTER_MODULE_ID, + useValue: randomStringGenerator() + } + ], + exports: [MULTER_MODULE_OPTIONS] + }; + } + static registerAsync(options) { + return { + module: MulterModule_1, + imports: options.imports, + providers: [ + ...this.createAsyncProviders(options), + { + provide: MULTER_MODULE_ID, + useValue: randomStringGenerator() + } + ], + exports: [MULTER_MODULE_OPTIONS] + }; + } + static createAsyncProviders(options) { + if (options.useExisting || options.useFactory) { + return [this.createAsyncOptionsProvider(options)]; + } + return [ + this.createAsyncOptionsProvider(options), + { + provide: options.useClass, + useClass: options.useClass + } + ]; + } + static createAsyncOptionsProvider(options) { + if (options.useFactory) { + return { + provide: MULTER_MODULE_OPTIONS, + useFactory: options.useFactory, + inject: options.inject || [] + }; + } + return { + provide: MULTER_MODULE_OPTIONS, + useFactory: /* @__PURE__ */ __name(async (optionsFactory) => optionsFactory.createMulterOptions(), "useFactory"), + inject: [options.useExisting || options.useClass] + }; + } + }; + MulterModule = MulterModule_1 = __decorate([ + Module({}) + ], MulterModule); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/index.js +var init_multer = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/multer/index.js"() { + init_interceptors2(); + init_interfaces3(); + init_multer_module(); + } +}); + +// ../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/index.js +var init_platform_express = __esm({ + "../../node_modules/.pnpm/@nestjs+platform-express@12_3e713911c21b6500374058e65a37060a/node_modules/@nestjs/platform-express/index.js"() { + init_adapters2(); + init_interfaces2(); + init_multer(); + } +}); + +export { + APP_GUARD, + APP_FILTER, + Reflector, + require_cookie, + ExpressAdapter, + AnyFilesInterceptor, + FileFieldsInterceptor, + FileInterceptor, + FilesInterceptor, + NoFilesInterceptor, + MulterModule, + init_platform_express, + NestFactory, + core_exports, + init_core +}; diff --git a/apps/api/.output/dist/chunks/es5-NIUGVEY6.js b/apps/api/.output/dist/chunks/es5-NIUGVEY6.js new file mode 100644 index 0000000..86339a3 --- /dev/null +++ b/apps/api/.output/dist/chunks/es5-NIUGVEY6.js @@ -0,0 +1,828 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __commonJS, + __name +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/bowser@2.14.1/node_modules/bowser/es5.js +var require_es5 = __commonJS({ + "../../node_modules/.pnpm/bowser@2.14.1/node_modules/bowser/es5.js"(exports, module) { + !(function(e, t) { + "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.bowser = t() : e.bowser = t(); + })(exports, (function() { + return (function(e) { + var t = {}; + function r(i) { + if (t[i]) return t[i].exports; + var n = t[i] = { i, l: false, exports: {} }; + return e[i].call(n.exports, n, n.exports, r), n.l = true, n.exports; + } + __name(r, "r"); + return r.m = e, r.c = t, r.d = function(e2, t2, i) { + r.o(e2, t2) || Object.defineProperty(e2, t2, { enumerable: true, get: i }); + }, r.r = function(e2) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e2, "__esModule", { value: true }); + }, r.t = function(e2, t2) { + if (1 & t2 && (e2 = r(e2)), 8 & t2) return e2; + if (4 & t2 && "object" == typeof e2 && e2 && e2.__esModule) return e2; + var i = /* @__PURE__ */ Object.create(null); + if (r.r(i), Object.defineProperty(i, "default", { enumerable: true, value: e2 }), 2 & t2 && "string" != typeof e2) for (var n in e2) r.d(i, n, function(t3) { + return e2[t3]; + }.bind(null, n)); + return i; + }, r.n = function(e2) { + var t2 = e2 && e2.__esModule ? function() { + return e2.default; + } : function() { + return e2; + }; + return r.d(t2, "a", t2), t2; + }, r.o = function(e2, t2) { + return Object.prototype.hasOwnProperty.call(e2, t2); + }, r.p = "", r(r.s = 90); + })({ 17: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i = r(18), n = (function() { + function e2() { + } + __name(e2, "e"); + return e2.getFirstMatch = function(e3, t2) { + var r2 = t2.match(e3); + return r2 && r2.length > 0 && r2[1] || ""; + }, e2.getSecondMatch = function(e3, t2) { + var r2 = t2.match(e3); + return r2 && r2.length > 1 && r2[2] || ""; + }, e2.matchAndReturnConst = function(e3, t2, r2) { + if (e3.test(t2)) return r2; + }, e2.getWindowsVersionName = function(e3) { + switch (e3) { + case "NT": + return "NT"; + case "XP": + return "XP"; + case "NT 5.0": + return "2000"; + case "NT 5.1": + return "XP"; + case "NT 5.2": + return "2003"; + case "NT 6.0": + return "Vista"; + case "NT 6.1": + return "7"; + case "NT 6.2": + return "8"; + case "NT 6.3": + return "8.1"; + case "NT 10.0": + return "10"; + default: + return; + } + }, e2.getMacOSVersionName = function(e3) { + var t2 = e3.split(".").splice(0, 2).map((function(e4) { + return parseInt(e4, 10) || 0; + })); + t2.push(0); + var r2 = t2[0], i2 = t2[1]; + if (10 === r2) switch (i2) { + case 5: + return "Leopard"; + case 6: + return "Snow Leopard"; + case 7: + return "Lion"; + case 8: + return "Mountain Lion"; + case 9: + return "Mavericks"; + case 10: + return "Yosemite"; + case 11: + return "El Capitan"; + case 12: + return "Sierra"; + case 13: + return "High Sierra"; + case 14: + return "Mojave"; + case 15: + return "Catalina"; + default: + return; + } + switch (r2) { + case 11: + return "Big Sur"; + case 12: + return "Monterey"; + case 13: + return "Ventura"; + case 14: + return "Sonoma"; + case 15: + return "Sequoia"; + default: + return; + } + }, e2.getAndroidVersionName = function(e3) { + var t2 = e3.split(".").splice(0, 2).map((function(e4) { + return parseInt(e4, 10) || 0; + })); + if (t2.push(0), !(1 === t2[0] && t2[1] < 5)) return 1 === t2[0] && t2[1] < 6 ? "Cupcake" : 1 === t2[0] && t2[1] >= 6 ? "Donut" : 2 === t2[0] && t2[1] < 2 ? "Eclair" : 2 === t2[0] && 2 === t2[1] ? "Froyo" : 2 === t2[0] && t2[1] > 2 ? "Gingerbread" : 3 === t2[0] ? "Honeycomb" : 4 === t2[0] && t2[1] < 1 ? "Ice Cream Sandwich" : 4 === t2[0] && t2[1] < 4 ? "Jelly Bean" : 4 === t2[0] && t2[1] >= 4 ? "KitKat" : 5 === t2[0] ? "Lollipop" : 6 === t2[0] ? "Marshmallow" : 7 === t2[0] ? "Nougat" : 8 === t2[0] ? "Oreo" : 9 === t2[0] ? "Pie" : void 0; + }, e2.getVersionPrecision = function(e3) { + return e3.split(".").length; + }, e2.compareVersions = function(t2, r2, i2) { + void 0 === i2 && (i2 = false); + var n2 = e2.getVersionPrecision(t2), a = e2.getVersionPrecision(r2), o = Math.max(n2, a), s = 0, u = e2.map([t2, r2], (function(t3) { + var r3 = o - e2.getVersionPrecision(t3), i3 = t3 + new Array(r3 + 1).join(".0"); + return e2.map(i3.split("."), (function(e3) { + return new Array(20 - e3.length).join("0") + e3; + })).reverse(); + })); + for (i2 && (s = o - Math.min(n2, a)), o -= 1; o >= s; ) { + if (u[0][o] > u[1][o]) return 1; + if (u[0][o] === u[1][o]) { + if (o === s) return 0; + o -= 1; + } else if (u[0][o] < u[1][o]) return -1; + } + }, e2.map = function(e3, t2) { + var r2, i2 = []; + if (Array.prototype.map) return Array.prototype.map.call(e3, t2); + for (r2 = 0; r2 < e3.length; r2 += 1) i2.push(t2(e3[r2])); + return i2; + }, e2.find = function(e3, t2) { + var r2, i2; + if (Array.prototype.find) return Array.prototype.find.call(e3, t2); + for (r2 = 0, i2 = e3.length; r2 < i2; r2 += 1) { + var n2 = e3[r2]; + if (t2(n2, r2)) return n2; + } + }, e2.assign = function(e3) { + for (var t2, r2, i2 = e3, n2 = arguments.length, a = new Array(n2 > 1 ? n2 - 1 : 0), o = 1; o < n2; o++) a[o - 1] = arguments[o]; + if (Object.assign) return Object.assign.apply(Object, [e3].concat(a)); + var s = /* @__PURE__ */ __name(function() { + var e4 = a[t2]; + "object" == typeof e4 && null !== e4 && Object.keys(e4).forEach((function(t3) { + i2[t3] = e4[t3]; + })); + }, "s"); + for (t2 = 0, r2 = a.length; t2 < r2; t2 += 1) s(); + return e3; + }, e2.getBrowserAlias = function(e3) { + return i.BROWSER_ALIASES_MAP[e3]; + }, e2.getBrowserTypeByAlias = function(e3) { + return i.BROWSER_MAP[e3] || ""; + }, e2; + })(); + t.default = n, e.exports = t.default; + }, 18: function(e, t, r) { + "use strict"; + t.__esModule = true, t.ENGINE_MAP = t.OS_MAP = t.PLATFORMS_MAP = t.BROWSER_MAP = t.BROWSER_ALIASES_MAP = void 0; + t.BROWSER_ALIASES_MAP = { AmazonBot: "amazonbot", "Amazon Silk": "amazon_silk", "Android Browser": "android", BaiduSpider: "baiduspider", Bada: "bada", BingCrawler: "bingcrawler", Brave: "brave", BlackBerry: "blackberry", "ChatGPT-User": "chatgpt_user", Chrome: "chrome", ClaudeBot: "claudebot", Chromium: "chromium", Diffbot: "diffbot", DuckDuckBot: "duckduckbot", DuckDuckGo: "duckduckgo", Electron: "electron", Epiphany: "epiphany", FacebookExternalHit: "facebookexternalhit", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", GPTBot: "gptbot", "Internet Explorer": "ie", InternetArchiveCrawler: "internetarchivecrawler", "K-Meleon": "k_meleon", LibreWolf: "librewolf", Linespider: "linespider", Maxthon: "maxthon", "Meta-ExternalAds": "meta_externalads", "Meta-ExternalAgent": "meta_externalagent", "Meta-ExternalFetcher": "meta_externalfetcher", "Meta-WebIndexer": "meta_webindexer", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", "OAI-SearchBot": "oai_searchbot", Omgilibot: "omgilibot", Opera: "opera", "Opera Coast": "opera_coast", "Pale Moon": "pale_moon", PerplexityBot: "perplexitybot", "Perplexity-User": "perplexity_user", PhantomJS: "phantomjs", PingdomBot: "pingdombot", Puffin: "puffin", QQ: "qq", QQLite: "qqlite", QupZilla: "qupzilla", Roku: "roku", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SlackBot: "slackbot", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", "Sogou Browser": "sogou", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", YahooSlurp: "yahooslurp", "Yandex Browser": "yandex", YandexBot: "yandexbot", YouBot: "youbot" }; + t.BROWSER_MAP = { amazonbot: "AmazonBot", amazon_silk: "Amazon Silk", android: "Android Browser", baiduspider: "BaiduSpider", bada: "Bada", bingcrawler: "BingCrawler", blackberry: "BlackBerry", brave: "Brave", chatgpt_user: "ChatGPT-User", chrome: "Chrome", claudebot: "ClaudeBot", chromium: "Chromium", diffbot: "Diffbot", duckduckbot: "DuckDuckBot", duckduckgo: "DuckDuckGo", edge: "Microsoft Edge", electron: "Electron", epiphany: "Epiphany", facebookexternalhit: "FacebookExternalHit", firefox: "Firefox", focus: "Focus", generic: "Generic", google_search: "Google Search", googlebot: "Googlebot", gptbot: "GPTBot", ie: "Internet Explorer", internetarchivecrawler: "InternetArchiveCrawler", k_meleon: "K-Meleon", librewolf: "LibreWolf", linespider: "Linespider", maxthon: "Maxthon", meta_externalads: "Meta-ExternalAds", meta_externalagent: "Meta-ExternalAgent", meta_externalfetcher: "Meta-ExternalFetcher", meta_webindexer: "Meta-WebIndexer", mz: "MZ Browser", naver: "NAVER Whale Browser", oai_searchbot: "OAI-SearchBot", omgilibot: "Omgilibot", opera: "Opera", opera_coast: "Opera Coast", pale_moon: "Pale Moon", perplexitybot: "PerplexityBot", perplexity_user: "Perplexity-User", phantomjs: "PhantomJS", pingdombot: "PingdomBot", puffin: "Puffin", qq: "QQ Browser", qqlite: "QQ Browser Lite", qupzilla: "QupZilla", roku: "Roku", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", slackbot: "SlackBot", sleipnir: "Sleipnir", sogou: "Sogou Browser", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yahooslurp: "YahooSlurp", yandex: "Yandex Browser", yandexbot: "YandexBot", youbot: "YouBot" }; + t.PLATFORMS_MAP = { bot: "bot", desktop: "desktop", mobile: "mobile", tablet: "tablet", tv: "tv" }; + t.OS_MAP = { Android: "Android", Bada: "Bada", BlackBerry: "BlackBerry", ChromeOS: "Chrome OS", HarmonyOS: "HarmonyOS", iOS: "iOS", Linux: "Linux", MacOS: "macOS", PlayStation4: "PlayStation 4", Roku: "Roku", Tizen: "Tizen", WebOS: "WebOS", Windows: "Windows", WindowsPhone: "Windows Phone" }; + t.ENGINE_MAP = { Blink: "Blink", EdgeHTML: "EdgeHTML", Gecko: "Gecko", Presto: "Presto", Trident: "Trident", WebKit: "WebKit" }; + }, 90: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i, n = (i = r(91)) && i.__esModule ? i : { default: i }, a = r(18); + function o(e2, t2) { + for (var r2 = 0; r2 < t2.length; r2++) { + var i2 = t2[r2]; + i2.enumerable = i2.enumerable || false, i2.configurable = true, "value" in i2 && (i2.writable = true), Object.defineProperty(e2, i2.key, i2); + } + } + __name(o, "o"); + var s = (function() { + function e2() { + } + __name(e2, "e"); + var t2, r2, i2; + return e2.getParser = function(e3, t3, r3) { + if (void 0 === t3 && (t3 = false), void 0 === r3 && (r3 = null), "string" != typeof e3) throw new Error("UserAgent should be a string"); + return new n.default(e3, t3, r3); + }, e2.parse = function(e3, t3) { + return void 0 === t3 && (t3 = null), new n.default(e3, t3).getResult(); + }, t2 = e2, i2 = [{ key: "BROWSER_MAP", get: /* @__PURE__ */ __name(function() { + return a.BROWSER_MAP; + }, "get") }, { key: "ENGINE_MAP", get: /* @__PURE__ */ __name(function() { + return a.ENGINE_MAP; + }, "get") }, { key: "OS_MAP", get: /* @__PURE__ */ __name(function() { + return a.OS_MAP; + }, "get") }, { key: "PLATFORMS_MAP", get: /* @__PURE__ */ __name(function() { + return a.PLATFORMS_MAP; + }, "get") }], (r2 = null) && o(t2.prototype, r2), i2 && o(t2, i2), e2; + })(); + t.default = s, e.exports = t.default; + }, 91: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i = u(r(92)), n = u(r(93)), a = u(r(94)), o = u(r(95)), s = u(r(17)); + function u(e2) { + return e2 && e2.__esModule ? e2 : { default: e2 }; + } + __name(u, "u"); + var d = (function() { + function e2(e3, t3, r2) { + if (void 0 === t3 && (t3 = false), void 0 === r2 && (r2 = null), null == e3 || "" === e3) throw new Error("UserAgent parameter can't be empty"); + this._ua = e3; + var i2 = false; + "boolean" == typeof t3 ? (i2 = t3, this._hints = r2) : this._hints = null != t3 && "object" == typeof t3 ? t3 : null, this.parsedResult = {}, true !== i2 && this.parse(); + } + __name(e2, "e"); + var t2 = e2.prototype; + return t2.getHints = function() { + return this._hints; + }, t2.hasBrand = function(e3) { + if (!this._hints || !Array.isArray(this._hints.brands)) return false; + var t3 = e3.toLowerCase(); + return this._hints.brands.some((function(e4) { + return e4.brand && e4.brand.toLowerCase() === t3; + })); + }, t2.getBrandVersion = function(e3) { + if (this._hints && Array.isArray(this._hints.brands)) { + var t3 = e3.toLowerCase(), r2 = this._hints.brands.find((function(e4) { + return e4.brand && e4.brand.toLowerCase() === t3; + })); + return r2 ? r2.version : void 0; + } + }, t2.getUA = function() { + return this._ua; + }, t2.test = function(e3) { + return e3.test(this._ua); + }, t2.parseBrowser = function() { + var e3 = this; + this.parsedResult.browser = {}; + var t3 = s.default.find(i.default, (function(t4) { + if ("function" == typeof t4.test) return t4.test(e3); + if (Array.isArray(t4.test)) return t4.test.some((function(t5) { + return e3.test(t5); + })); + throw new Error("Browser's test function is not valid"); + })); + return t3 && (this.parsedResult.browser = t3.describe(this.getUA(), this)), this.parsedResult.browser; + }, t2.getBrowser = function() { + return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser(); + }, t2.getBrowserName = function(e3) { + return e3 ? String(this.getBrowser().name).toLowerCase() || "" : this.getBrowser().name || ""; + }, t2.getBrowserVersion = function() { + return this.getBrowser().version; + }, t2.getOS = function() { + return this.parsedResult.os ? this.parsedResult.os : this.parseOS(); + }, t2.parseOS = function() { + var e3 = this; + this.parsedResult.os = {}; + var t3 = s.default.find(n.default, (function(t4) { + if ("function" == typeof t4.test) return t4.test(e3); + if (Array.isArray(t4.test)) return t4.test.some((function(t5) { + return e3.test(t5); + })); + throw new Error("Browser's test function is not valid"); + })); + return t3 && (this.parsedResult.os = t3.describe(this.getUA())), this.parsedResult.os; + }, t2.getOSName = function(e3) { + var t3 = this.getOS().name; + return e3 ? String(t3).toLowerCase() || "" : t3 || ""; + }, t2.getOSVersion = function() { + return this.getOS().version; + }, t2.getPlatform = function() { + return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform(); + }, t2.getPlatformType = function(e3) { + void 0 === e3 && (e3 = false); + var t3 = this.getPlatform().type; + return e3 ? String(t3).toLowerCase() || "" : t3 || ""; + }, t2.parsePlatform = function() { + var e3 = this; + this.parsedResult.platform = {}; + var t3 = s.default.find(a.default, (function(t4) { + if ("function" == typeof t4.test) return t4.test(e3); + if (Array.isArray(t4.test)) return t4.test.some((function(t5) { + return e3.test(t5); + })); + throw new Error("Browser's test function is not valid"); + })); + return t3 && (this.parsedResult.platform = t3.describe(this.getUA())), this.parsedResult.platform; + }, t2.getEngine = function() { + return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine(); + }, t2.getEngineName = function(e3) { + return e3 ? String(this.getEngine().name).toLowerCase() || "" : this.getEngine().name || ""; + }, t2.parseEngine = function() { + var e3 = this; + this.parsedResult.engine = {}; + var t3 = s.default.find(o.default, (function(t4) { + if ("function" == typeof t4.test) return t4.test(e3); + if (Array.isArray(t4.test)) return t4.test.some((function(t5) { + return e3.test(t5); + })); + throw new Error("Browser's test function is not valid"); + })); + return t3 && (this.parsedResult.engine = t3.describe(this.getUA())), this.parsedResult.engine; + }, t2.parse = function() { + return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this; + }, t2.getResult = function() { + return s.default.assign({}, this.parsedResult); + }, t2.satisfies = function(e3) { + var t3 = this, r2 = {}, i2 = 0, n2 = {}, a2 = 0; + if (Object.keys(e3).forEach((function(t4) { + var o3 = e3[t4]; + "string" == typeof o3 ? (n2[t4] = o3, a2 += 1) : "object" == typeof o3 && (r2[t4] = o3, i2 += 1); + })), i2 > 0) { + var o2 = Object.keys(r2), u2 = s.default.find(o2, (function(e4) { + return t3.isOS(e4); + })); + if (u2) { + var d2 = this.satisfies(r2[u2]); + if (void 0 !== d2) return d2; + } + var c = s.default.find(o2, (function(e4) { + return t3.isPlatform(e4); + })); + if (c) { + var f = this.satisfies(r2[c]); + if (void 0 !== f) return f; + } + } + if (a2 > 0) { + var l = Object.keys(n2), b = s.default.find(l, (function(e4) { + return t3.isBrowser(e4, true); + })); + if (void 0 !== b) return this.compareVersion(n2[b]); + } + }, t2.isBrowser = function(e3, t3) { + void 0 === t3 && (t3 = false); + var r2 = this.getBrowserName().toLowerCase(), i2 = e3.toLowerCase(), n2 = s.default.getBrowserTypeByAlias(i2); + return t3 && n2 && (i2 = n2.toLowerCase()), i2 === r2; + }, t2.compareVersion = function(e3) { + var t3 = [0], r2 = e3, i2 = false, n2 = this.getBrowserVersion(); + if ("string" == typeof n2) return ">" === e3[0] || "<" === e3[0] ? (r2 = e3.substr(1), "=" === e3[1] ? (i2 = true, r2 = e3.substr(2)) : t3 = [], ">" === e3[0] ? t3.push(1) : t3.push(-1)) : "=" === e3[0] ? r2 = e3.substr(1) : "~" === e3[0] && (i2 = true, r2 = e3.substr(1)), t3.indexOf(s.default.compareVersions(n2, r2, i2)) > -1; + }, t2.isOS = function(e3) { + return this.getOSName(true) === String(e3).toLowerCase(); + }, t2.isPlatform = function(e3) { + return this.getPlatformType(true) === String(e3).toLowerCase(); + }, t2.isEngine = function(e3) { + return this.getEngineName(true) === String(e3).toLowerCase(); + }, t2.is = function(e3, t3) { + return void 0 === t3 && (t3 = false), this.isBrowser(e3, t3) || this.isOS(e3) || this.isPlatform(e3); + }, t2.some = function(e3) { + var t3 = this; + return void 0 === e3 && (e3 = []), e3.some((function(e4) { + return t3.is(e4); + })); + }, e2; + })(); + t.default = d, e.exports = t.default; + }, 92: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i, n = (i = r(17)) && i.__esModule ? i : { default: i }; + var a = /version\/(\d+(\.?_?\d+)+)/i, o = [{ test: [/gptbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "GPTBot" }, r2 = n.default.getFirstMatch(/gptbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/chatgpt-user/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "ChatGPT-User" }, r2 = n.default.getFirstMatch(/chatgpt-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/oai-searchbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "OAI-SearchBot" }, r2 = n.default.getFirstMatch(/oai-searchbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "ClaudeBot" }, r2 = n.default.getFirstMatch(/(?:claudebot|claude-web|claude-user|claude-searchbot)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/omgilibot/i, /webzio-extended/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Omgilibot" }, r2 = n.default.getFirstMatch(/(?:omgilibot|webzio-extended)\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/diffbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Diffbot" }, r2 = n.default.getFirstMatch(/diffbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/perplexitybot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "PerplexityBot" }, r2 = n.default.getFirstMatch(/perplexitybot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/perplexity-user/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Perplexity-User" }, r2 = n.default.getFirstMatch(/perplexity-user\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/youbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "YouBot" }, r2 = n.default.getFirstMatch(/youbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/meta-webindexer/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Meta-WebIndexer" }, r2 = n.default.getFirstMatch(/meta-webindexer\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/meta-externalads/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Meta-ExternalAds" }, r2 = n.default.getFirstMatch(/meta-externalads\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/meta-externalagent/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Meta-ExternalAgent" }, r2 = n.default.getFirstMatch(/meta-externalagent\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/meta-externalfetcher/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Meta-ExternalFetcher" }, r2 = n.default.getFirstMatch(/meta-externalfetcher\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/googlebot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Googlebot" }, r2 = n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/linespider/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Linespider" }, r2 = n.default.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/amazonbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "AmazonBot" }, r2 = n.default.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/bingbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "BingCrawler" }, r2 = n.default.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/baiduspider/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "BaiduSpider" }, r2 = n.default.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/duckduckbot/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "DuckDuckBot" }, r2 = n.default.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/ia_archiver/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "InternetArchiveCrawler" }, r2 = n.default.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: /* @__PURE__ */ __name(function() { + return { name: "FacebookExternalHit" }; + }, "describe") }, { test: [/slackbot/i, /slack-imgProxy/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "SlackBot" }, r2 = n.default.getFirstMatch(/(?:slackbot|slack-imgproxy)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/yahoo!?[\s/]*slurp/i], describe: /* @__PURE__ */ __name(function() { + return { name: "YahooSlurp" }; + }, "describe") }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: /* @__PURE__ */ __name(function() { + return { name: "YandexBot" }; + }, "describe") }, { test: [/pingdom/i], describe: /* @__PURE__ */ __name(function() { + return { name: "PingdomBot" }; + }, "describe") }, { test: [/opera/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/opr\/|opios/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Opera" }, r2 = n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/SamsungBrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Samsung Internet for Android" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/Whale/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "NAVER Whale Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/PaleMoon/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Pale Moon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/MZBrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "MZ Browser" }, r2 = n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/focus/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Focus" }, r2 = n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/swing/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Swing" }, r2 = n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/coast/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Opera Coast" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Opera Touch" }, r2 = n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/yabrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Yandex Browser" }, r2 = n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/ucbrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "UC Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/Maxthon|mxios/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Maxthon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/epiphany/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Epiphany" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/puffin/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Puffin" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/sleipnir/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Sleipnir" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/k-meleon/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "K-Meleon" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/micromessenger/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "WeChat" }, r2 = n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/qqbrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: /qqbrowserlite/i.test(e2) ? "QQ Browser Lite" : "QQ Browser" }, r2 = n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/msie|trident/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Internet Explorer" }, r2 = n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/\sedg\//i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Microsoft Edge" }, r2 = n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/edg([ea]|ios)/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Microsoft Edge" }, r2 = n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/vivaldi/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Vivaldi" }, r2 = n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/seamonkey/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "SeaMonkey" }, r2 = n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/sailfish/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Sailfish" }, r2 = n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/silk/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Amazon Silk" }, r2 = n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/phantom/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "PhantomJS" }, r2 = n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/slimerjs/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "SlimerJS" }, r2 = n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "BlackBerry" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/(web|hpw)[o0]s/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "WebOS Browser" }, r2 = n.default.getFirstMatch(a, e2) || n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/bada/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Bada" }, r2 = n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/tizen/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Tizen" }, r2 = n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/qupzilla/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "QupZilla" }, r2 = n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/librewolf/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "LibreWolf" }, r2 = n.default.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/firefox|iceweasel|fxios/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Firefox" }, r2 = n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/electron/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Electron" }, r2 = n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/sogoumobilebrowser/i, /metasr/i, /se 2\.[x]/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Sogou Browser" }, r2 = n.default.getFirstMatch(/(?:sogoumobilebrowser)[\s/](\d+(\.?_?\d+)+)/i, e2), i2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2), a2 = n.default.getFirstMatch(/se ([\d.]+)x/i, e2), o2 = r2 || i2 || a2; + return o2 && (t2.version = o2), t2; + }, "describe") }, { test: [/MiuiBrowser/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Miui" }, r2 = n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return !!e2.hasBrand("DuckDuckGo") || e2.test(/\sDdg\/[\d.]+$/i); + }, "test"), describe: /* @__PURE__ */ __name(function(e2, t2) { + var r2 = { name: "DuckDuckGo" }; + if (t2) { + var i2 = t2.getBrandVersion("DuckDuckGo"); + if (i2) return r2.version = i2, r2; + } + var a2 = n.default.getFirstMatch(/\sDdg\/([\d.]+)$/i, e2); + return a2 && (r2.version = a2), r2; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return e2.hasBrand("Brave"); + }, "test"), describe: /* @__PURE__ */ __name(function(e2, t2) { + var r2 = { name: "Brave" }; + if (t2) { + var i2 = t2.getBrandVersion("Brave"); + if (i2) return r2.version = i2, r2; + } + return r2; + }, "describe") }, { test: [/chromium/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Chromium" }, r2 = n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, e2) || n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/chrome|crios|crmo/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Chrome" }, r2 = n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/GSA/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Google Search" }, r2 = n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i); + return t2 && r2; + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Android Browser" }, r2 = n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/playstation 4/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "PlayStation 4" }, r2 = n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/safari|applewebkit/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: "Safari" }, r2 = n.default.getFirstMatch(a, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/.*/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = -1 !== e2.search("\\(") ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /; + return { name: n.default.getFirstMatch(t2, e2), version: n.default.getSecondMatch(t2, e2) }; + }, "describe") }]; + t.default = o, e.exports = t.default; + }, 93: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18); + var o = [{ test: [/Roku\/DVP/], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, e2); + return { name: a.OS_MAP.Roku, version: t2 }; + }, "describe") }, { test: [/windows phone/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, e2); + return { name: a.OS_MAP.WindowsPhone, version: t2 }; + }, "describe") }, { test: [/windows /i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, e2), r2 = n.default.getWindowsVersionName(t2); + return { name: a.OS_MAP.Windows, version: t2, versionName: r2 }; + }, "describe") }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: a.OS_MAP.iOS }, r2 = n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/macintosh/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, e2).replace(/[_\s]/g, "."), r2 = n.default.getMacOSVersionName(t2), i2 = { name: a.OS_MAP.MacOS, version: t2 }; + return r2 && (i2.versionName = r2), i2; + }, "describe") }, { test: [/(ipod|iphone|ipad)/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, e2).replace(/[_\s]/g, "."); + return { name: a.OS_MAP.iOS, version: t2 }; + }, "describe") }, { test: [/OpenHarmony/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/OpenHarmony\s+(\d+(\.\d+)*)/i, e2); + return { name: a.OS_MAP.HarmonyOS, version: t2 }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + var t2 = !e2.test(/like android/i), r2 = e2.test(/android/i); + return t2 && r2; + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, e2), r2 = n.default.getAndroidVersionName(t2), i2 = { name: a.OS_MAP.Android, version: t2 }; + return r2 && (i2.versionName = r2), i2; + }, "describe") }, { test: [/(web|hpw)[o0]s/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, e2), r2 = { name: a.OS_MAP.WebOS }; + return t2 && t2.length && (r2.version = t2), r2; + }, "describe") }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, e2) || n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, e2) || n.default.getFirstMatch(/\bbb(\d+)/i, e2); + return { name: a.OS_MAP.BlackBerry, version: t2 }; + }, "describe") }, { test: [/bada/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, e2); + return { name: a.OS_MAP.Bada, version: t2 }; + }, "describe") }, { test: [/tizen/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, e2); + return { name: a.OS_MAP.Tizen, version: t2 }; + }, "describe") }, { test: [/linux/i], describe: /* @__PURE__ */ __name(function() { + return { name: a.OS_MAP.Linux }; + }, "describe") }, { test: [/CrOS/], describe: /* @__PURE__ */ __name(function() { + return { name: a.OS_MAP.ChromeOS }; + }, "describe") }, { test: [/PlayStation 4/], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, e2); + return { name: a.OS_MAP.PlayStation4, version: t2 }; + }, "describe") }]; + t.default = o, e.exports = t.default; + }, 94: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18); + var o = [{ test: [/googlebot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Google" }; + }, "describe") }, { test: [/linespider/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Line" }; + }, "describe") }, { test: [/amazonbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Amazon" }; + }, "describe") }, { test: [/gptbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" }; + }, "describe") }, { test: [/chatgpt-user/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" }; + }, "describe") }, { test: [/oai-searchbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "OpenAI" }; + }, "describe") }, { test: [/baiduspider/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Baidu" }; + }, "describe") }, { test: [/bingbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Bing" }; + }, "describe") }, { test: [/duckduckbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "DuckDuckGo" }; + }, "describe") }, { test: [/claudebot/i, /claude-web/i, /claude-user/i, /claude-searchbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Anthropic" }; + }, "describe") }, { test: [/omgilibot/i, /webzio-extended/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Webz.io" }; + }, "describe") }, { test: [/diffbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Diffbot" }; + }, "describe") }, { test: [/perplexitybot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" }; + }, "describe") }, { test: [/perplexity-user/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Perplexity AI" }; + }, "describe") }, { test: [/youbot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "You.com" }; + }, "describe") }, { test: [/ia_archiver/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Internet Archive" }; + }, "describe") }, { test: [/meta-webindexer/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" }; + }, "describe") }, { test: [/meta-externalads/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" }; + }, "describe") }, { test: [/meta-externalagent/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" }; + }, "describe") }, { test: [/meta-externalfetcher/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" }; + }, "describe") }, { test: [/facebookexternalhit/i, /facebookcatalog/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Meta" }; + }, "describe") }, { test: [/slackbot/i, /slack-imgProxy/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Slack" }; + }, "describe") }, { test: [/yahoo/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Yahoo" }; + }, "describe") }, { test: [/yandexbot/i, /yandexmobilebot/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Yandex" }; + }, "describe") }, { test: [/pingdom/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.bot, vendor: "Pingdom" }; + }, "describe") }, { test: [/huawei/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/(can-l01)/i, e2) && "Nova", r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Huawei" }; + return t2 && (r2.model = t2), r2; + }, "describe") }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet, vendor: "Nexus" }; + }, "describe") }, { test: [/ipad/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" }; + }, "describe") }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" }; + }, "describe") }, { test: [/kftt build/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" }; + }, "describe") }, { test: [/silk/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet, vendor: "Amazon" }; + }, "describe") }, { test: [/tablet(?! pc)/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + var t2 = e2.test(/ipod|iphone/i), r2 = e2.test(/like (ipod|iphone)/i); + return t2 && !r2; + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/(ipod|iphone)/i, e2); + return { type: a.PLATFORMS_MAP.mobile, vendor: "Apple", model: t2 }; + }, "describe") }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile, vendor: "Nexus" }; + }, "describe") }, { test: [/Nokia/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = n.default.getFirstMatch(/Nokia\s+([0-9]+(\.[0-9]+)?)/i, e2), r2 = { type: a.PLATFORMS_MAP.mobile, vendor: "Nokia" }; + return t2 && (r2.model = t2), r2; + }, "describe") }, { test: [/[^-]mobi/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "blackberry" === e2.getBrowserName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile, vendor: "BlackBerry" }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "bada" === e2.getBrowserName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "windows phone" === e2.getBrowserName(); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile, vendor: "Microsoft" }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + var t2 = Number(String(e2.getOSVersion()).split(".")[0]); + return "android" === e2.getOSName(true) && t2 >= 3; + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tablet }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "android" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.mobile }; + }, "describe") }, { test: [/smart-?tv|smarttv/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tv }; + }, "describe") }, { test: [/netcast/i], describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tv }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "macos" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.desktop, vendor: "Apple" }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "windows" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.desktop }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "linux" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.desktop }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "playstation 4" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tv }; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return "roku" === e2.getOSName(true); + }, "test"), describe: /* @__PURE__ */ __name(function() { + return { type: a.PLATFORMS_MAP.tv }; + }, "describe") }]; + t.default = o, e.exports = t.default; + }, 95: function(e, t, r) { + "use strict"; + t.__esModule = true, t.default = void 0; + var i, n = (i = r(17)) && i.__esModule ? i : { default: i }, a = r(18); + var o = [{ test: /* @__PURE__ */ __name(function(e2) { + return "microsoft edge" === e2.getBrowserName(true); + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + if (/\sedg\//i.test(e2)) return { name: a.ENGINE_MAP.Blink }; + var t2 = n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, e2); + return { name: a.ENGINE_MAP.EdgeHTML, version: t2 }; + }, "describe") }, { test: [/trident/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: a.ENGINE_MAP.Trident }, r2 = n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + return e2.test(/presto/i); + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: a.ENGINE_MAP.Presto }, r2 = n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: /* @__PURE__ */ __name(function(e2) { + var t2 = e2.test(/gecko/i), r2 = e2.test(/like gecko/i); + return t2 && !r2; + }, "test"), describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: a.ENGINE_MAP.Gecko }, r2 = n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }, { test: [/(apple)?webkit\/537\.36/i], describe: /* @__PURE__ */ __name(function() { + return { name: a.ENGINE_MAP.Blink }; + }, "describe") }, { test: [/(apple)?webkit/i], describe: /* @__PURE__ */ __name(function(e2) { + var t2 = { name: a.ENGINE_MAP.WebKit }, r2 = n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, e2); + return r2 && (t2.version = r2), t2; + }, "describe") }]; + t.default = o, e.exports = t.default; + } }); + })); + } +}); +export default require_es5(); diff --git a/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js b/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js new file mode 100644 index 0000000..9f9d6ba --- /dev/null +++ b/apps/api/.output/dist/chunks/event-streams-IPK6VS6T.js @@ -0,0 +1,44 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + EventStreamCodec, + EventStreamMarshaller, + EventStreamMarshaller2, + EventStreamSerde, + HeaderMarshaller, + Int64, + MessageDecoderStream, + MessageEncoderStream, + SmithyMessageDecoderStream, + SmithyMessageEncoderStream, + eventStreamSerdeProvider, + eventStreamSerdeProvider2, + getChunkedStream, + getMessageUnmarshaller, + getUnmarshalledStream, + init_event_streams, + iterableToReadableStream, + readableStreamToIterable, + resolveEventStreamSerdeConfig +} from "./chunk-6UPY3HEI.js"; +import "./chunk-T6GW54FI.js"; +init_event_streams(); +export { + EventStreamCodec, + EventStreamMarshaller2 as EventStreamMarshaller, + EventStreamSerde, + HeaderMarshaller, + Int64, + MessageDecoderStream, + MessageEncoderStream, + SmithyMessageDecoderStream, + SmithyMessageEncoderStream, + EventStreamMarshaller as UniversalEventStreamMarshaller, + eventStreamSerdeProvider2 as eventStreamSerdeProvider, + getChunkedStream, + getMessageUnmarshaller, + getUnmarshalledStream, + iterableToReadableStream, + readableStreamToIterable, + resolveEventStreamSerdeConfig, + eventStreamSerdeProvider as universalEventStreamSerdeProvider +}; diff --git a/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js b/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js new file mode 100644 index 0000000..18f9d42 --- /dev/null +++ b/apps/api/.output/dist/chunks/platform-express-MGQH3ALM.js @@ -0,0 +1,25 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + AnyFilesInterceptor, + ExpressAdapter, + FileFieldsInterceptor, + FileInterceptor, + FilesInterceptor, + MulterModule, + NoFilesInterceptor, + init_platform_express +} from "./chunk-XSOBN2CI.js"; +import "./chunk-BX2ML7LW.js"; +import "./chunk-C4DYPKAN.js"; +import "./chunk-A34KYKJP.js"; +import "./chunk-T6GW54FI.js"; +init_platform_express(); +export { + AnyFilesInterceptor, + ExpressAdapter, + FileFieldsInterceptor, + FileInterceptor, + FilesInterceptor, + MulterModule, + NoFilesInterceptor +}; diff --git a/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js new file mode 100644 index 0000000..c03be5b --- /dev/null +++ b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql-RWS5SSGB.js @@ -0,0 +1,349 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + __name +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs +var h = /* @__PURE__ */ __name(() => { +}, "h"); +h.prototype = h; +var o; +function D(e) { + o = e; +} +__name(D, "D"); +var p = null; +function a() { + return (p === null || p.byteLength === 0) && (p = new Uint8Array(o.memory.buffer)), p; +} +__name(a, "a"); +var y = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }); +y.decode(); +var E = 2146435072; +var A = 0; +function T(e, t) { + return A += t, A >= E && (y = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }), y.decode(), A = t), y.decode(a().subarray(e, e + t)); +} +__name(T, "T"); +function m(e, t) { + return e = e >>> 0, T(e, t); +} +__name(m, "m"); +var f = 0; +var g = new TextEncoder(); +"encodeInto" in g || (g.encodeInto = function(e, t) { + const n = g.encode(e); + return t.set(n), { read: e.length, written: n.length }; +}); +function l(e, t, n) { + if (n === void 0) { + const i = g.encode(e), d = t(i.length, 1) >>> 0; + return a().subarray(d, d + i.length).set(i), f = i.length, d; + } + let _ = e.length, r = t(_, 1) >>> 0; + const s = a(); + let c = 0; + for (; c < _; c++) { + const i = e.charCodeAt(c); + if (i > 127) break; + s[r + c] = i; + } + if (c !== _) { + c !== 0 && (e = e.slice(c)), r = n(r, _, _ = c + e.length * 3, 1) >>> 0; + const i = a().subarray(r + c, r + _), d = g.encodeInto(e, i); + c += d.written, r = n(r, _, c, 1) >>> 0; + } + return f = c, r; +} +__name(l, "l"); +var b = null; +function u() { + return (b === null || b.buffer.detached === true || b.buffer.detached === void 0 && b.buffer !== o.memory.buffer) && (b = new DataView(o.memory.buffer)), b; +} +__name(u, "u"); +function x(e) { + return e == null; +} +__name(x, "x"); +function S(e) { + const t = typeof e; + if (t == "number" || t == "boolean" || e == null) return `${e}`; + if (t == "string") return `"${e}"`; + if (t == "symbol") { + const r = e.description; + return r == null ? "Symbol" : `Symbol(${r})`; + } + if (t == "function") { + const r = e.name; + return typeof r == "string" && r.length > 0 ? `Function(${r})` : "Function"; + } + if (Array.isArray(e)) { + const r = e.length; + let s = "["; + r > 0 && (s += S(e[0])); + for (let c = 1; c < r; c++) s += ", " + S(e[c]); + return s += "]", s; + } + const n = /\[object ([^\]]+)\]/.exec(toString.call(e)); + let _; + if (n && n.length > 1) _ = n[1]; + else return toString.call(e); + if (_ == "Object") try { + return "Object(" + JSON.stringify(e) + ")"; + } catch { + return "Object"; + } + return e instanceof Error ? `${e.name}: ${e.message} +${e.stack}` : _; +} +__name(S, "S"); +function M(e, t) { + return e = e >>> 0, a().subarray(e / 1, e / 1 + t); +} +__name(M, "M"); +function w(e) { + const t = o.__wbindgen_externrefs.get(e); + return o.__externref_table_dealloc(e), t; +} +__name(w, "w"); +var I = typeof FinalizationRegistry > "u" ? { register: /* @__PURE__ */ __name(() => { +}, "register"), unregister: /* @__PURE__ */ __name(() => { +}, "unregister") } : new FinalizationRegistry((e) => o.__wbg_querycompiler_free(e >>> 0, 1)); +var F = class { + static { + __name(this, "F"); + } + __destroy_into_raw() { + const t = this.__wbg_ptr; + return this.__wbg_ptr = 0, I.unregister(this), t; + } + free() { + const t = this.__destroy_into_raw(); + o.__wbg_querycompiler_free(t, 0); + } + compileBatch(t) { + const n = l(t, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = f, r = o.querycompiler_compileBatch(this.__wbg_ptr, n, _); + if (r[2]) throw w(r[1]); + return w(r[0]); + } + constructor(t) { + const n = o.querycompiler_new(t); + if (n[2]) throw w(n[1]); + return this.__wbg_ptr = n[0] >>> 0, I.register(this, this.__wbg_ptr, this), this; + } + compile(t) { + const n = l(t, o.__wbindgen_malloc, o.__wbindgen_realloc), _ = f, r = o.querycompiler_compile(this.__wbg_ptr, n, _); + if (r[2]) throw w(r[1]); + return w(r[0]); + } +}; +Symbol.dispose && (F.prototype[Symbol.dispose] = F.prototype.free); +function O(e, t) { + return Error(m(e, t)); +} +__name(O, "O"); +function B(e) { + return Number(e); +} +__name(B, "B"); +function N(e, t) { + const n = String(t), _ = l(n, o.__wbindgen_malloc, o.__wbindgen_realloc), r = f; + u().setInt32(e + 4 * 1, r, true), u().setInt32(e + 4 * 0, _, true); +} +__name(N, "N"); +function U(e) { + const t = e, n = typeof t == "boolean" ? t : void 0; + return x(n) ? 16777215 : n ? 1 : 0; +} +__name(U, "U"); +function R(e, t) { + const n = S(t), _ = l(n, o.__wbindgen_malloc, o.__wbindgen_realloc), r = f; + u().setInt32(e + 4 * 1, r, true), u().setInt32(e + 4 * 0, _, true); +} +__name(R, "R"); +function $(e, t) { + return e in t; +} +__name($, "$"); +function q(e) { + const t = e; + return typeof t == "object" && t !== null; +} +__name(q, "q"); +function C(e) { + return typeof e == "string"; +} +__name(C, "C"); +function k(e) { + return e === void 0; +} +__name(k, "k"); +function W(e, t) { + return e == t; +} +__name(W, "W"); +function V(e, t) { + const n = t, _ = typeof n == "number" ? n : void 0; + u().setFloat64(e + 8 * 1, x(_) ? 0 : _, true), u().setInt32(e + 4 * 0, !x(_), true); +} +__name(V, "V"); +function z(e, t) { + const n = t, _ = typeof n == "string" ? n : void 0; + var r = x(_) ? 0 : l(_, o.__wbindgen_malloc, o.__wbindgen_realloc), s = f; + u().setInt32(e + 4 * 1, s, true), u().setInt32(e + 4 * 0, r, true); +} +__name(z, "z"); +function L(e, t) { + throw new Error(m(e, t)); +} +__name(L, "L"); +function P(e) { + return Object.entries(e); +} +__name(P, "P"); +function Q(e) { + return e.getTime(); +} +__name(Q, "Q"); +function Y(e, t) { + return e[t >>> 0]; +} +__name(Y, "Y"); +function G(e, t) { + return e[t]; +} +__name(G, "G"); +function J(e) { + let t; + try { + t = e instanceof ArrayBuffer; + } catch { + t = false; + } + return t; +} +__name(J, "J"); +function X(e) { + let t; + try { + t = e instanceof Uint8Array; + } catch { + t = false; + } + return t; +} +__name(X, "X"); +function H(e) { + return Number.isSafeInteger(e); +} +__name(H, "H"); +function K(e) { + return e.length; +} +__name(K, "K"); +function Z(e) { + return e.length; +} +__name(Z, "Z"); +function v() { + return /* @__PURE__ */ new Date(); +} +__name(v, "v"); +function ee() { + return new Object(); +} +__name(ee, "ee"); +function te(e) { + return new Uint8Array(e); +} +__name(te, "te"); +function ne() { + return /* @__PURE__ */ new Map(); +} +__name(ne, "ne"); +function re() { + return new Array(); +} +__name(re, "re"); +function _e(e, t, n) { + Uint8Array.prototype.set.call(M(e, t), n); +} +__name(_e, "_e"); +function oe(e, t, n) { + e[t] = n; +} +__name(oe, "oe"); +function ce(e, t, n) { + return e.set(t, n); +} +__name(ce, "ce"); +function ie(e, t, n) { + e[t >>> 0] = n; +} +__name(ie, "ie"); +function se(e, t) { + global.PRISMA_WASM_PANIC_REGISTRY.set_message(m(e, t)); +} +__name(se, "se"); +function ue(e, t) { + return m(e, t); +} +__name(ue, "ue"); +function fe(e) { + return BigInt.asUintN(64, e); +} +__name(fe, "fe"); +function be(e) { + return e; +} +__name(be, "be"); +function de(e) { + return e; +} +__name(de, "de"); +function ae() { + const e = o.__wbindgen_externrefs, t = e.grow(4); + e.set(0, void 0), e.set(t + 0, void 0), e.set(t + 1, null), e.set(t + 2, true), e.set(t + 3, false); +} +__name(ae, "ae"); +export { + F as QueryCompiler, + O as __wbg_Error_e83987f665cf5504, + B as __wbg_Number_bb48ca12f395cd08, + N as __wbg_String_8f0eb39a4a4c2f66, + U as __wbg___wbindgen_boolean_get_6d5a1ee65bab5f68, + R as __wbg___wbindgen_debug_string_df47ffb5e35e6763, + $ as __wbg___wbindgen_in_bb933bd9e1b3bc0f, + q as __wbg___wbindgen_is_object_c818261d21f283a4, + C as __wbg___wbindgen_is_string_fbb76cb2940daafd, + k as __wbg___wbindgen_is_undefined_2d472862bd29a478, + W as __wbg___wbindgen_jsval_loose_eq_b664b38a2f582147, + V as __wbg___wbindgen_number_get_a20bf9b85341449d, + z as __wbg___wbindgen_string_get_e4f06c90489ad01b, + L as __wbg___wbindgen_throw_b855445ff6a94295, + P as __wbg_entries_e171b586f8f6bdbf, + Q as __wbg_getTime_14776bfb48a1bff9, + Y as __wbg_get_7bed016f185add81, + G as __wbg_get_with_ref_key_1dc361bd10053bfe, + J as __wbg_instanceof_ArrayBuffer_70beb1189ca63b38, + X as __wbg_instanceof_Uint8Array_20c8e73002f7af98, + H as __wbg_isSafeInteger_d216eda7911dde36, + K as __wbg_length_69bca3cb64fc8748, + Z as __wbg_length_cdd215e10d9dd507, + v as __wbg_new_0_f9740686d739025c, + ee as __wbg_new_1acc0b6eea89d040, + te as __wbg_new_5a79be3ab53b8aa5, + ne as __wbg_new_68651c719dcda04e, + re as __wbg_new_e17d9f43105b08be, + _e as __wbg_prototypesetcall_2a6620b6922694b2, + oe as __wbg_set_3f1d0b984ed272ed, + ce as __wbg_set_907fb406c34a251d, + ie as __wbg_set_c213c871859d6500, + se as __wbg_set_message_82ae475bb413aa5c, + D as __wbg_set_wasm, + ue as __wbindgen_cast_2241b6af4c4b2941, + fe as __wbindgen_cast_4625c577ab2ec9ee, + be as __wbindgen_cast_9ae0607507abb057, + de as __wbindgen_cast_d6cd19b81560fd6e, + ae as __wbindgen_init_externref_table +}; diff --git a/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js new file mode 100644 index 0000000..5e7e9b5 --- /dev/null +++ b/apps/api/.output/dist/chunks/query_compiler_fast_bg.postgresql.wasm-base64-5YP3ZLAU.js @@ -0,0 +1,8 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/@prisma+client@7.10.1_prism_1fac53bcaa5c7503395b340f2e6f2cd9/node_modules/@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs +var wasm = "AGFzbQEAAAABtgRLYAN/f38Bf2ACf38Bf2ACf38AYAF/AGADf39/AGAEf39/fwBgBX9/f39/AGABfwF/YAZ/f39/f38AYAR/f39/AX9gAn9+AX9gB39/f39/f38AYAh/f39/f39/fwBgA35+fwF+YAF/AX5gAW8Bf2AFf39/f38Bf2AAAGACf34AYAABf2AJf39/f39/f39/AGAAA39/f2AAAW9gAn9vAGAFf39/fn8AYAR/f39+AGAHf39/f39/fwF/YAR+fn9/AX5gAX4Bf2ACf38Bb2ACb28Bf2ABbwFvYAFvAXxgAX4Bb2AEf3x/fwF/YAR/fX9/AX9gCX9/f39/f39/fwF/YAZ/f39/f38Bf2ADfn5/AX9gA39/fwN/f39gA29/bwBgA29vbwBgA29vbwFvYAJvbwFvYAJvfwFvYAN/f28AYAF8AW9gC39/f39/f39/f39/AGAKf39/f39/f39/fwBgDH9/f39/f39/f39/fgBgAn5/AXxgAn5/AX1gDH9/f39/f39/f39/fwBgAnx/AX9gBH9/f34Bf2AHf39/f39/fgBgBH9+f38AYAZ/fn9/f38AYAN/fH8Bf2ADf31/AX9gA39/fgBgBH5+f38Bf2ADf35+AGACfn8AYAl/f39/f39+fn4AYAJ/fwF+YBN/f39/f39/f39/f39/f39/f39/AX9gBX9+fn5+AGACf3wAYAR/fn5/AGABbwN/f39gBX9/fn9/AGAFf399f38AYAV/f3x/fwBgAXwBfwLyEiUbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld19lMTdkOWY0MzEwNWIwOGJlABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX3NldF9jMjEzYzg3MTg1OWQ2NTAwACgbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld182ODY1MWM3MTlkY2RhMDRlABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld18xYWNjMGI2ZWVhODlkMDQwABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX3NldF8zZjFkMGI5ODRlZDI3MmVkACkbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzK19fd2JnX19fd2JpbmRnZW5faXNfc3RyaW5nX2ZiYjc2Y2IyOTQwZGFhZmQADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMaX193Ymdfc2V0XzkwN2ZiNDA2YzM0YTI1MWQAKhsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMcX193YmdfRXJyb3JfZTgzOTg3ZjY2NWNmNTUwNAAdGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcyxfX3diZ19fX3diaW5kZ2VuX3N0cmluZ19nZXRfZTRmMDZjOTA0ODlhZDAxYgAXGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qczBfX3diZ19fX3diaW5kZ2VuX2pzdmFsX2xvb3NlX2VxX2I2NjRiMzhhMmY1ODIxNDcAHhsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMiX193Ymdfc2V0X21lc3NhZ2VfODJhZTQ3NWJiNDEzYWE1YwACGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX29iamVjdF9jODE4MjYxZDIxZjI4M2E0AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJ19fd2JnX2dldF93aXRoX3JlZl9rZXlfMWRjMzYxYmQxMDA1M2JmZQArGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2lzX3VuZGVmaW5lZF8yZDQ3Mjg2MmJkMjlhNDc4AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJF9fd2JnX19fd2JpbmRnZW5faW5fYmI5MzNiZDllMWIzYmMwZgAeGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcx5fX3diZ19lbnRyaWVzX2UxNzFiNTg2ZjhmNmJkYmYAHxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMdX193YmdfbGVuZ3RoX2NkZDIxNWUxMGQ5ZGQ1MDcADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMaX193YmdfZ2V0XzdiZWQwMTZmMTg1YWRkODEALBsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMkX193YmdfaXNTYWZlSW50ZWdlcl9kMjE2ZWRhNzkxMWRkZTM2AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHV9fd2JnX051bWJlcl9iYjQ4Y2ExMmYzOTVjZDA4ACAbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzLV9fd2JnX19fd2JpbmRnZW5fYm9vbGVhbl9nZXRfNmQ1YTFlZTY1YmFiNWY2OAAPGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcxxfX3diZ19uZXdfMF9mOTc0MDY4NmQ3MzkwMjVjABYbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHl9fd2JnX2dldFRpbWVfMTQ3NzZiZmI0OGExYmZmOQAgGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcx1fX3diZ19sZW5ndGhfNjliY2EzY2I2NGZjODc0OAAPGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcydfX3diZ19wcm90b3R5cGVzZXRjYWxsXzJhNjYyMGI2OTIyNjk0YjIALRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMsX193YmdfX193YmluZGdlbl9udW1iZXJfZ2V0X2EyMGJmOWI4NTM0MTQ0OWQAFxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMsX193YmdfaW5zdGFuY2VvZl9VaW50OEFycmF5XzIwYzhlNzMwMDJmN2FmOTgADxsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMtX193YmdfaW5zdGFuY2VvZl9BcnJheUJ1ZmZlcl83MGJlYjExODljYTYzYjM4AA8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzGl9fd2JnX25ld181YTc5YmUzYWI1M2I4YWE1AB8bLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzHV9fd2JnX1N0cmluZ184ZjBlYjM5YTRhNGMyZjY2ABcbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfYjg1NTQ0NWZmNmE5NDI5NQACGy4vcXVlcnlfY29tcGlsZXJfZmFzdF9iZy5qcy5fX3diZ19fX3diaW5kZ2VuX2RlYnVnX3N0cmluZ19kZjQ3ZmZiNWUzNWU2NzYzABcbLi9xdWVyeV9jb21waWxlcl9mYXN0X2JnLmpzH19fd2JpbmRnZW5faW5pdF9leHRlcm5yZWZfdGFibGUAERsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzIyNDFiNmFmNGM0YjI5NDEAHRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzlhZTA2MDc1MDdhYmIwNTcAIRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0XzQ2MjVjNTc3YWIyZWM5ZWUAIRsuL3F1ZXJ5X2NvbXBpbGVyX2Zhc3RfYmcuanMgX193YmluZGdlbl9jYXN0X2Q2Y2QxOWI4MTU2MGZkNmUALgPeFdwVCxQCBQUIBAIFBC8DBggEBBgCBggCBAQwBAEUAgQCBQgDCAQLBgAGBAEMMQYBBjIzAgIIARQEBgUCBQIIAwICAgIFBQICBQEIAQYFCAICBQILBAQDAwUMCwgCAggECAQCDAIECwEEBgYIAgYHBAYGBAUMCAQDAwIEDAgEBAUIAgUDDAgEBAECBQMFCAELBwgFBAgIAgYFAgYDAQEBAQQBCQIGBQQEAwQEAwYINAEIAgMBAQEBAwIIBAUCAwgGAgICBQQIAgIIBQIIBQICCAQFBgQ1AQECAQQFAgIGAQICCwISAhISBQICEgICBAMCBAgEAgYIBgQLAQICBAIEBAMEAwYUAgICAQQCAgYCCAgCAgQBBQEEAgICAQsEAQICAwMCAQgFAQMCAQEBAQEBAQQEAgECAgYCAgICAgYCBAMDAQQEAgICAgYDAwYGAgMEBgQEBAcCAgQEAQEEAgMEAgICAQIEAgkBAgIDAwQEAgUBBQQEAgIEAgYEAQUCAwQEAgIBCAIEAwQGAQgBAgUEAQIEBQUGBAQEBAIBAQQBAQIGAQMCAwUFBQUEAwQEBAICBQECAgUEAggDAAEGAQgCBggHBwIEAgICAQUIAgUGAQQEAgQCBAQEBAIEBAEABQYCAgUCAQMDAwYCAgICBQMDNgEBAQICAwMDAwIEAAEBAQUCNwEDAgICBQUCAwMDAwMEBAIEAggDBgEBAwIBAggCBAMDAwEEAgICAwMCAgIBAggCAgILAgEDAwMCBQMDAgMDAwMCAgIGAwMDAgICOAICBAIEAwEBBAICAgIFAggBBQMDAwEBBQEIAQIDAQEBBQIBAQQDAgIGAgMEAQQCAQUCAgICAQQCAQEBAgYEBAEBBAQCAgEEAQEEAgIEAwQCAgQDAwIDAQMGAgICAgMBAgYBAQEBBgMHAwIEAgECBAULBAQCAgICAgMEAgQCAwQCAwMEAgMDAwIDAwQEAgQEAgQCAgQEAggCAwICBQMCAgIBAQIBAgICAgECAgQBBAMDAwQEAgMCAgMIAQICAgMJAwEBAgEBBAQFBQICAgEiBAIJAAsIBCMFAggCAwECBQQCAAQDBQEEAgUCAQIBAQMFAgQCAgEFCAICBgUIAgYCAgQFBAQCAQIEJDkDAgEDGAICAToAAAcBAQU7AAMEAgUCAgQCAgMFAQEEBAUCAwEMAQQCAgQBBDwCAwMEAwMDBAIDAgQDBQMCBgQEAwEBAQMEAgUDAwIBBAIFBAIDBgECAQEEBAIYAg0CAwQDAQQCAgQFAwIGBgACIgQCAgEEAgEGIwEaBQUEAgMBAQIZAgIFAgEGAgEBBgYDFAQDCQEBAxkCAgIECAIEAgQEAwMDBAIDAgMGAgECAgQEAQICCAYCBAMBAgEEDAMEAwUIBAIBAgICAQYCAgQEAQMGAQIEAQMBAQQCAwMDAwMDAQIDBAEDAwMBAwIDAwMHAwQEAgQDBAEBBQEEAgQEBAQEAgUECAIAAgICAhkFAQMFAgICAwMGAQYDBwMDAQMDAgMZAwMBAQICAQIBAgIABAIEBQIFAQMCDQsCCQICBAQEBAIEAwICAwQEBAQEBAMBAQABJQICAQMmAgIEBgICBAkEBAECAgQDAgIbBAEDAwQHAQMEAg0DAwsFBgECAxgBBQECAwMDAwMDAwMDAgEDAgMkDQEBAQECBAECBAECAgISAAILBwIDBAACAQ0EBAQEBAEBAgIBBwUGBwQBAwEbAQECBwEBBwICCAABAwEBBQIBAgECAgsEAwQAAQIHBAICBQICAgICAgQEPQQmAxsGAwYEBAICAQIFBAMFAgEBAQEBAQEBCQECDQEDAQMBAwQCAQEBAQIBAQEBAgEBBAIBPgMBAQEBAQEBAQEBAQEBBQEBAwUCBAUBAQICAwMBAQMFAQ0NBw0HDQ0EAQQHAQMAAAAAAwIEBAMEAQQHAwEEEgQBAgMAAwEBAQIEAwYGAgMEBQUFAQEBAgIBAwMBAwEEARABAQEBBgYBAgMBAQEIBQMDAwQDAwEBAwMQBQIQAAMHAQEBBgMBAAIEAgMDAgIEAQIDBAMBAAIBPwECAQEBBQICAAQDAgcDBwIEAgECBwIAAwUDAAcCAQEBBQUBBAIBAgQSQAMDBAIBAQIBAwUQAQEBCEECAgIEAgMIBQQaAgQBAgAEBAACCQECAQcHAgQBBAQEAgICAgIDAgcEBAEICAMCBAQFBAUCBAkCBwQGBQUCBAMJAwEDBAIEBAEEBQgBBQQFAQgCBAQCBAQECwMBAQEEAwQBAgcCAgEGAgIFAQEEAQMDAgMEAAEEBAECBAQDAwMCAgIBAgIEBAEEBAMGAQEBAwICAwECAgMBAgECAgIBEwUBEAQDAgEBAQEEBAACAgEBAgQDAgACAwQBAQQDAwILBAQCBQIEAgICAgQBAgEGAwIEAQEBAgMBAQQDAQMCCAEBBgIBAgIOBAEDAQMBCQkJCQkDCQQBAQIBAgIBAQADAQEBAwQIAwMEAQIEAQEBAQICAQEBAgkBAQEBAQEBAQEAAQQBAQIDAQECAgsBAQEBAgEBAQMBAQEBAQEBAQEBAQEBAQEBAQEBAgEIAQECBQUFBQIGAQEBBAIHAgECAQEFAQQCAQEBAQEBAQEBAQEFAQEBAQEBAQEGAQMEBAIBAAcEAQEFAQEBAQEDAQEEAgMCAwMBAQEEAgECAgEDCBABAQMDAgICAwEBAgEBAQECAQIBAgUGBQYBCQEHBAIDAQEBAQEBBAEBBgcHAgEDAwMCBwIGBwABQgQHBwEDBwEDAgEBAQEBAQMEBAcEBAQBAQEBAQEBAQMBAQEBAwEBAQEBAQEBAQIECQEDBAMCAQACAAEBAQEBBAMBAQYBAQIBAgEDAQEBAQEDAwMDAQIEGgEBBAMDAgMDBwIEAwcFAQMBAggBDAMDAAUDAwMDAwMEBgEBAQYCAQEDAQEEAwEBAgEEAQMIAgQECQkJBAEKBAMDAAEHAQQBBwMBBQIDAwcBAgYBAwEDAwMEBANDAgEBAwMDAwQEBAQEAgIHAwMFAwkBAQEFAgIDAQEBAwQBAQECAAMDAwYDAwMDAwMDAwMDAwMAAwMDAwMDAwMDAwMDAwACAwMDAwMEAwgDAwMDAwMAAEQBAgEEBAQCAgQBAQIAAQMEAQEFAgIGBAEBAQYCAgEBAgMDAQEBAQACAAICAAQDAwIBAwMBAQEBAQEBRQAK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AARAQcjwyQApAwAhcUHA8MkAKQMADAELIApBuAFqELsRQdDwyQBBAToAAEHI8MkAIAopA8ABInE3AwAgCikDuAELIm03AxhBwPDJACBtQgF8NwMAIApBADYCMCAKQoCAgICAATcDKCAKIHE3AyAgCkGQqckAKQMANwI0IApBmKnJACkDADcCPEEJEJABIhBFDTwgEEHcsskALQAAOgAIIBBB1LLJACkAADcAACAKQQk2AoQBIAogEDYCgAEgCkEJNgJ8IApBuAFqIhAgEhD1AwJAAkAgCigCyAFBf0YNACAKIAopA+ABNwOwASAKIAopA9gBNwOoASAKIAopA9ABNwOgASAKIAopA8gBNwOYASAKIAopA8ABNwOQASAKIAopA7gBNwOIASAQIApBGGogCkH8AGogCkGIAWoQ0gMgCiAKKQPoATcDcCAKIAopA+ABNwNoIAogCikD2AE3A2AgCiAKKQPQASJtNwNYIAogCikDyAE3A1AgCiAKKQPAATcDSCBtp0F/RwRAIApByABqEP4JC0EMEJABIhBFDT4gEEH6sckAKAAANgAIIBBB8rHJACkAADcAACAKQQw2AoQBIAogEDYCgAEgCkEMNgJ8IApBuAFqIhAgEyBHEN8NIAooAsgBQX9GDQAgCiAKKQPgATcDsAEgCiAKKQPYATcDqAEgCiAKKQPQATcDoAEgCiAKKQPIATcDmAEgCiAKKQPAATcDkAEgCiAKKQO4ATcDiAEgECAKQRhqIApB/ABqIApBiAFqENIDIAogCikD6AE3A3AgCiAKKQPgATcDaCAKIAopA9gBNwNgIAogCikD0AEibTcDWCAKIAopA8gBNwNQIAogCikDwAE3A0ggbadBf0cEQCAKQcgAahD+CQtBDRCQASIQBEAgEEGOsckAKQAANwAFIBBBibHJACkAADcAACAKQQ02AoQBIAogEDYCgAEgCkENNgJ8IApBuAFqIhAgDiBGEN8NIAooAsgBQX9GDQEgCiAKKQPgATcDsAEgCiAKKQPYATcDqAEgCiAKKQPQATcDoAEgCiAKKQPIATcDmAEgCiAKKQPAATcDkAEgCiAKKQO4ATcDiAEgECAKQRhqIApB/ABqIApBiAFqENIDIAogCikD6AE3A3AgCiAKKQPgATcDaCAKIAopA9gBNwNgIAogCikD0AEibTcDWCAKIAopA8gB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EyADKQPACiFoIAMoArgKIQggAyADKAKoDDYC8AIgAyADKACrDDYA8wIgAyADKAKIBTYC6AIgAyADKACLBTYA6wIgCEEIdiEBIGhCIIinIREgaKchDQwWCyAQIC4pAzg3AzggECAuKQMwNwMwIBAgLikDKDcDKCAQIC4pAyA3AyAgECAuKQMYNwMYIBAgLikDEDcDECAQIC4pAwg3AwggECAuKQMANwMAIAMoArgKDAELIANB8AFqEK4HQX4LIQEgAyBJKAAANgKoDCADIEkoAAM2AKsMIAMgSCgAADYCiAUgAyBIKAADNgCLBSADLQDQCiEFIAMpA8gKIWYgAykDwAohZyADKAK8CiEEIAMoAtgKIQYgAygC3AohByADKQPgCiFrIAMoAugKIQogAygC7AohEyADLQDwCiEIIAMgAygCqAw2AoAFIAMgAygAqww2AIMFIAMgAygCiAU2AvgEIAMgAygAiwU2APsEIAFBfkcEQCBYIAMoAoAFNgAAIFggAygAgwU2AAMgVyADKAL4BDYAACBXIAMoAPsENgADIAMgBToAoAUgAyBmNwOYBSADIGc3A5AFIAMgBDYCjAUgAyABNgKIBSADIAg6AMAFIAMgEzYCvAUgAyAKNgK4BSADIGs3A7AFIAMgBzYCrAUgAyAGNgKoBSAvIC8oAgAiAUEBajYCACABQQBIDRcgAyBNNgKECiADIEw2AoAKIAMgLzYC/AkgA0EANgL4CSADQbAKaiADQYgFaiADQfgJakEAELYCAkACQCADLQCwCiIBQf8BRgRAIBsgECkAODcAOCAbIBApADA3ADAgGyAQKQAoNwAoIBsgECkAIDcAICAbIBApABg3ABggGyAQKQAQNwAQIBsgECkACDcACCAbIBApAAA3AAAgFSAbKQA4NwA4IBUgGykAMDcAMCAVIBspACg3ACggFSAbKQAgNwAgIBUgGykAGDcAGCAVIBspABA3ABAgFSAbKQAINwAIIBUgGykAADcAACADQf8BOgDIBSAvIC8oAgAiAUEBazYCACABQQFGDQEMAgsgA0GoDGoiBSBdQccA/AoAACADIAE6APgHIAMpA/gKIWYgXCAFQccA/AoAACADIGY3A8AIIANByAVqIANB+AdqEIYGIC8gLygCACIBQQFrNgIAIAFBAUcNAQsgLxAwCyADLQDIBSIWQf8BRgRAIAMgMygAADYC0AcgAyAzKAADNgDTByADIDIoAAA2ApAHIAMgMigAAzYAkwcgAy0A6AUhFiADKQPgBSFnIAMoAtQFIQwgAygC8AUhBSADKAL0BSEHIAMpA/gFIWYgAygCgAYhDiADKAKEBiEKIAMtAIgGIRMgAykD2AUhaCADKALQBSEIIAMgAygA0wc2APMCIAMgAygC0Ac2AvACIAMgAygAkwc2AOsCIAMgAygCkAc2AugCIAhBCHYhASBoQiCIpyERIGinIQ0MFQsgAyBWKAADNgDzAiADIFYoAAA2AvACIAMgMygAADYC0AcgAyAzKAADNgDTByADKALQBSEsIAMoAtQFISsgAykD2AUhayADLQDoBSEpIAMoAvAFITkgAygC9AUhOCADKQP4BSFsIAMoAoAGITcgAygChAYhNiADLQCIBiE1IAMpA+AFIWYgAyAyKAADNgCTByADIDIoAAA2ApAHIAMgAygA0wc2AOsCIAMgAygC0Ac2AugCIAMgAygAkwc2AOMCIAMgAygCkAc2AuACIGZCIIinISogAykDkAYhaSADLQCYBCE6IAMtAJkEISUgAy0AmgQhIyADKAKIAyEfIAMoAogEIQkgAygChAQhCyADKAKABCEhIAMoAvADIQ0gAygC7AMhDyADKALoAyEIIAMoAoQDISggAygCgAMhBiADKQP4AiFqIAMpA5ADIWcgAygC/AMhJiADKAL4AyEMIAMoAvQDIRIgAygClAQhFyADKAKQBCEkIAMoAowEIRggZqchDkEAIRFBACEFQQAhAUEBDAsLIAMgHigAADYC8AIgAyAeKAADNgDzAiADIB0oAAM2AOsCIAMgHSgAADYC6AIgAy0AmAMhFiADKQOQAyFnIAMoAoQDISggAygCgAMhBiADKQP4AiFqIAMoAqADISwgAygCpAMhKyADKQOoAyFrIAMoArADIQ4gAygCtAMhKiADLQC4AyEpIAMpA4gDIWYgAyAcKAADNgDjAiADIBwoAAA2AuACIAMtANgDITUgAygC1AMhNiADKALQAyE3IAMpA8gDIWwgAygCxAMhOCADKALAAyE5IAMtAJgEITogAy0AmQQhJSADLQCaBCEjIAMoApQEIRcgAygCkAQhJCADKAKMBCEYIAMoAogEIQkgAygChAQhCyADKAKABCEhIAMoAvwDISYgAygC+AMh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AyAcKAAANgLgAiADLQCaBCEjIAMtAJkEISUgAy0AmAQhOiADKAKIBCEJIAMoAoQEIQsgAygCgAQhISADKQPgAyFpICAgICgCACIBQQFrNgIAIAFBAUYEQCAgEDALQQAhESAKIS0gEyEUIAUhMCAHISIgZiFoQQAhBUEBDAoLIAMgAygAuwY2APMCIAMgAygCuAY2AvACIAMgAygCnAY2AugCIAMgAygAnwY2AOsCICAgICgCACICQQFrNgIAIAhBCHYhASACQQFHDRMgIBAwDBMLQQgQpxQACwwZCyABKAAAQfTCrasGRgRAIANB+AdqIANB8AFqEPsMIAMoAqgIIg5Bf0YNAyADIAMoAJEINgLwAiADIAMoAJQINgDzAiADIAMoALEINgLoAiADIAMoALQINgDrAiADKAL4ByIIQQh2IQEgAykDgAgiaEIgiKchESADLQCQCCEWIAMpA4gIIWcgAygC/AchDCADKAKYCCEFIAMoApwIIQcgAykDoAghZiADKAKsCCEKIAMtALAIIRMgaKchDQwRCyABKAAAQfPWpYMHRw0AIANB+AdqIANB8AFqEPsMIAMpA4AIIWkgAykD+AchaiADKAKoCCIOQX9HBEAgRSBGKQMYNwMYIEUgRikDEDcDECBFIEYpAwg3AwggRSBGKQMANwMAIFMgPSkCADcCACBTID0oAgg2AgggAyBqNwOwCiBqQiCIpyEMIGqnIQgMCQsgakIBUg0BIGlCAFkNASADIGk3A8gFIAMgcTcD+AcgA0GwCmpBi6XAACADQfgHahC4DEGFgICAeCEOIAMpA7gKIWkgAygCtAohDCADKAKwCiEIDAgLIAMgAygAQzYA8wIgAyADKABANgLwAiADIAMoADg2AugCIAMgAygAOzYA6wIgAyADKAAwNgLgAiADIAMoADM2AOMCIAMgAygAKDYC2AIgAyADLQAsOgDcAiADKALoBCIFBEAgAUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyAFakkNFiAHQQBHIAQgBUEnaktxDRcgARC8BQsgZkIgiKchESBZEK4HDAsLIAMgHigAADYC8AIgAyAeKAADNgDzAiADKAKMBCEYIAMoApAEISQgAygClAQhFyADKAL0AyESIAMoAvgDIQwgAygC/AMhJiADKQOQAyFnIAMtAJgDIRYgAygCiAMhHyADKAKgAyEsIAMoAqQDISsgAykDqAMhayADKAKwAyEOIAMoArQDISogAy0AuAMhKSADIB0oAAM2AOsCIAMgHSgAADYC6AIgAyAcKAADNgDjAiADIBwoAAA2AuACIGlCIIinISggaachBkEAIREgAy0AmgQhIwwBCyADKQOACCFnIAMoAvgHIQEgAyAeKAAANgLwAiADIB4oAAM2APMCIAMoAowEIRggAygCkAQhJCADKAKUBCEXIAMoAvQDIRIgAygC+AMhDCADKAL8AyEmIAMpA/gCIWogAygCgAMhBiADKAKEAyEoIAMtAJgDIRYgAy0AuAMhKSADKAK0AyEqIAMoArADIQ4gAykDqAMhayADKAKkAyErIAMoAqADISwgAyAdKAADNgDrAiADIB0oAAA2AugCIAMtANgDITUgAygC1AMhNiADKALQAyE3IAMpA8gDIWwgAygCxAMhOCADKALAAyE5IAMgHCgAAzYA4wIgAyAcKAAANgLgAkEAIRFBA0EAIAEbIR8gAy0AmgQhIyADLQCZBCElIAMtAJgEITogAygCiAQhCSADKAKEBCELIAMoAoAEISEgAygC8AMhDSADKALsAyEPIAMoAugDIQggAykD4AMhaQwBCyADLQCZBCElIAMtAJgEITogAygCiAQhCSADKAKEBCELIAMoAoAEISEgAygC8AMhDSADKALsAyEPIAMoAugDIQggAykD4AMhaSADLQDYAyE1IAMoAtQDITYgAygC0AMhNyADKQPIAyFsIAMoAsQDITggAygCwAMhOQtBAAshBUEACyEBQQALIQQCQAJAAkAgAygC6AQiBwRAIAMoAuwEIhNBBGsoAgAiTkF4cSEKIApBBEEIIE5BA3EiThsgB2pJDQEgTkEARyAKIAdBJ2pLcQ0TIBMQvAULAkAgBEUEQCABRQ0BDAMLIAMtAJgDQf8BRwRAIGEQrwQLIAENAgsMAgtB0JzJAEEuQYCdyQAQrxQACyADKALsAyEHIAMoAvADIgQEQCAHIQEDQCABEIsFIAFBQGshASAEQQFrIgQNAAsLIAMoAugDIgQEQCAHQQRrKAIAIgpBeHEhASABIARBBnQiBEEEQQggCkEDcSIKG3JJDRAgCkEARyABIARBJ3JLcQ0RIAcQvAULCwJAAkAgBUUNACADKAKABCIBQX9GDQAgYBClBCABRQ0A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ARDAEiACQbgLahDAEiACIAQ2AhAgAiAFNgIMIAIgCTYCCCACQeARaiIDIAggAkGICWogARDWCiAAIANB8AD8CgAAIAJBgBFqEPMRAkAgAikDyAYiF0IFUw0AIBdC/////w+DQgZSDQAgAigC0AYNGiAHENIRDBoLIAJByAZqEOsCDBkLQeDbxQBB4wBBlNzFABC/EwALIAJBgBFqEPMRAkAgAikDyAYiF0IFUw0AIBdC/////w+DQgZSDQAgAigC0AYNASAHENIRDAELIAJByAZqEOsCCyAEBEAgBSEDA0AgAxClASADQfAAaiEDIARBAWsiBA0ACwsgCUUNFiAFIAlB8ABsENkSDBYLIAMoAghBf0cEQCACQeARaiAGIAgQgAMgAigC5BEhBSACKALgESENAkAgAigC6BEiA0UNACAFIANBA3RqIRAgAkHkEWohDCAGQRRqIREgBkEQaiESIAUhBAJAAkACQANAIAQoAgAiAyARKAIATw0BAkACQCASKAIAIANByABsaiIKKAIAIg5Bf0YNACAEQQRqKAIAIQMCQAJAQQIgDkEDayAOQQJNG0EDaw4CAAECCyAPRQRAIApBfzYCACAMIAopAgQ3AgAgDCAKKQIMNwIIIAwgCikCFDcCECAMIAopAhw3AhggDCAKKQIkNwIgIAwgCikCLDcCKCAMIAooAjQ2AjAgAiAONgLgESACQeARahCnB0EBIQ8gAyEJDAILQSIQkAEiA0UNBiADQbzZxQAvAAA7ACAgA0G02cUAKQAANwAYIANBrNnFACkAADcAECADQaTZxQApAAA3AAggA0Gc2cUAKQAANwAADAULIAsNASAKQX82AgAgDCAKKQIENwIAIAwgCikCDDcCCCAMIAopAhQ3AhAgDCAKKQIcNwIYIAwgCikCJDcCICAMIAopAiw3AiggDCAKKAI0NgIwIAIgDjYC4BEgAkHgEWoQpwdBASELIAMhBwsgECAEQQhqIgRGDQUMAQsLQSIQkAEiA0UNHyADQd7ZxQAvAAA7ACAgA0HW2cUAKQAANwAYIANBztnFACkAADcAECADQcbZxQApAAA3AAggA0G+2cUAKQAANwAADAELQbygxgAQnRUACyAAQYmAgIB4NgI4IABBIjYCFCAAIAM2AhAgAEL/////rwQ3AwggAEJ/NwMAIA1FDRggBSANQQN0ENkS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QAJAAkACQCADKALwDkECaw4CAQADCyAELwAAQeHcAXMgBEECaiIILQAAQeQAc3INASADQQA6AFAMBAsgBC8AAEHv5AFHDQEgA0EBOgBQDAMLIAQvAABB7t4BcyAILQAAQfQAc3JFDQELIAMgA0GIC2qtQoCAgIDQAYQ3A8APIANB0ABqQY++wQAgA0HAD2oQuAxBgYCAgHgMAgsgA0ECOgBQC0EBIQdBfws2AoABAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACfyADKALoDiIIBEAgBEEEaygCACIJQXhxIQogCkEEQQggCUEDcSIJGyAIakkNGCAJQQBHIAogCEEnaktxDRkgBBC8BQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAHRQRAIANB6A5qIAEoAgAgDyAGEJEDIAMoAugOIgZBf0YNASADIAMpAvQONwPYAiADIAMoAvwONgLgAiADKALwDiEEIAMoAuwOIQEgBkEBaw4CAwQCCyADLQBQIRACQAJAAkAgAygCCEEDaw4CAQIAC0Ggq8kAQShB3JXGABCvFAALIAEoAgQhCSABKAIAIRMgAygCDCENIAMoAhAhByADKAIUIQEgA0F/NgLABSAHIAFByABsaiEGIAchBCABRQ0bIANB6A5qQQFyIQUgA0GQC2ohASAEIQIDQCACKAIAIQggA0HQB2oiCiACQQRqQcQA/AoAACACQcgAaiEEAkACQCAIQQRHBEAgAyAINgLADyADQcAPaiICQQRyIApBxAD8CgAAIAMgAq1CgICAgPAghDcDoAggA0HAC2pBoe/BACADQaAIahC4DCADQQA6AMwLIANBfzYCoAsgAhCuByADIAEpAwA3A/AOIAMgASkDCDcD+A4gAyABKQMQNwOADyADIAEpAxg3A4gPIAMgASkDIDcDkA8gAyABKQMoNwOYDyADIAEpAzA3A6APIAMgASkDODcDqA8gA0G4CmogBUHHAPwKAAAMAQsgAyACQQhqKQIANwPABiADIAJBEGopAgA3A8gGIAMgAkEYaikCADcD0AYgAyACQSBqKQIANwPYBiADIAJBKGopAgA3A+AGIAMgAkEwaikCADcD6AYgAyACQThqKQIANwPwBiADIAJBQGsp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ACADQcAPahC4DCADQYGAgIB4NgLIAiABEK4HDAILQdAAEJABIgFFDS4gAygCuAkiBCgCACEFIAQgBUEBajYCACAFQQBIDQMgAykCsAkhFyADKQKoCSEYIAFBAzoAACABQQA6AAggASACQRhqIgIpABgiGTcAKCADIAIpAAA3AO8OIAEgAykA6A43AAkgAyACKQAINwD3DiABIAMpAPAONwARIAMgAikAEDcA/w4gASADKQD4DjcAGSADIBk3AIcPIAEgAykAgA83ACEgAyAYNwPIDyADIBc3A9APIAEgBDYCSCABQQA6AEwgASADKQPQDzcDQCABIAMpA8gPNwM4IAEgAykDwA83AzAgA0EBNgKYAiADIAE2ApwCIANBATYCoAIgA0F/NgLIAgwBCyADIAIpA1A3A8ALIAMgAikDSDcDuAsgAyACKQNANwOwCyADIAIpAzg3A6gLIAMgAikDMDcDoAsgAyACKQMoNwOYCyADIAIpAyA3A5ALIAMgAikDGDcDiAsgA0HIA2oiASADQZgLakG2k8kAQQQQqQRBACEFAkACQCADKALIA0F/Rg0AIANB6A5qIgIgARDaASACQQFyIQEgAy0A6A4hAiADKAKYDyIEQX9HDQEgAyABKQAXNwDXDyADIAEpABA3A9APIAMgAjoAuAogAyABKQAANwC5CiADIAEpAAg3AMEKIAMgAykD0A83AMkKIAMgAykA1w83ANAKAkACQEEOIAMoArgKIgFBDWsgAUEMTRsiBA4DAQABAAtBoKvJAEEoQaynxgAQrxQACyADKALACiEBIAMoArwKIQICfwJAAkAgAygCxApBB2sOBQAPDw8BDwsgASgAAEHkypmLBnMgAUEDaigAAEHh6rGjB3NyDQ5BAAwBCyABKQAAQunczavm7dy09ACFIAFBA2opAABC5dzNy8aumrvlAIWEQgBSDQ1BAQshBSACBEAgASACENkSCwJAIAQOAwEAAQALIANBuApqEIgECyADQQA7AbwKIAMgA0GoCWo2ArgKIAMgAykDwAs3A6APIAMgAykDuAs3A5gPIAMgAykDsAs3A5APIAMgAykDqAs3A4gPIAMgAykDoAs3A4APIAMgAykDmAs3A/gOIAMgAykDkAs3A/AOIAMgAykDiAs3A+gOIANBwA9qIANBuApqIANB6A5qEMIBIAMoAsgPIQcgAygCxA8hASADKALADyEGAkAgAygC8A8iAkF/RwRAIAMgAygC7A82AsQCIAMgAykC5A83ArwCIAMgAykC3A83ArQCIAMgAykC1A83AqwCIAMgAykCzA83AqQCIAMgAykC9A83AswCIAMgAygC/A82AtQCIAMgAjYCyAIMAQsgBwRAIAdB0ABsIQQgASECA0AgAiAFEIERIAJB0ABqIQIgBEHQAGsiBA0ACwsgA0F/NgLIAgsgAyAHNgKgAiADIAE2ApwCIAMgBjYCmAIMAQsgAyABKQAnNwDnDyADIAEpACA3A+APIAMgAykCnA83AswCIAMgAygCpA82AtQCIAMgASkAGCIXNwPYDyADIAEpABAiGDcD0A8gAyABKQAIIhk3A8gPIAMgFzcAsQIgAyAYNwCpAiADIBk3AKECIAMgASkAADcAmQIgAyADKQDnDzcAwAIgAyADKQPgDzcAuQIgAyAENgLIAiADIAI6AJgCIANBiAtqEOMJCyADKAK4CSICKAIAIQEgAiABQQFrNgIAIAFBAUcNFSADKAK4CRAwDBULIAMgBDYC6AIgAyABNgLkAiADIAMpA9gCNwLsAiADIAMoAuACNgL0AgJAAkAgAygCCA4FAQAABAUACyADQegOaiIBIAVByAD8CgAAIAMgAa1CgICAgPAghDcDiAsgA0HAD2pB5ZDAACADQYgLahC4DCADQYGAgIB4NgLIAiADIAMpA8APNwOYAiADIAMpA8gPNwOgAiADIAMpA9APNwOoAiADIAMpA9gPNwOwAiADIAMpA+APNwO4AiADIAMpA+gPNwPAAiABEK4HDBELQdAAEJABIgFFDSsgAygC9AIiBCgCACEFIAQgBUEBajYCACAFQQBIDQAgAyACQRhqIgIpABg3AIcPIAMgAikAEDcA/w4gAyACKQAINwD3DiADIAIpAAA3AO8OQdgAEJABIgINAUG48MkAQQE6AAAACwALIAJBBDoAACACIAMpAOgONwABIAIgAykA8A43AAkgAiADKQD4DjcAESACIAMpAIAPNwAZIAIgAykAhw83ACAgAUEHOgAAIAMgAykC5AI3AOsOIAEgAykA6A43AAEgAyADKQLsAjcA8w4gASADKQDwDjcACSABIAI2AhggASAENgIUIAEgAygA9w42ABAgA0F/NgLIAiADQQE2AqACIAMgATYCnAIg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DyADIAMpA+gLNwLUDyADIAMpA/ALNwLcDyADIAMpA/gLNwLkDyADIAMpA4AMNwLsDyADIAMoAogMNgL0DyADKQOwDyEXIAMgBDYC+A8gAyADKALgCzYChBAgAyADKQPYCzcC/A8gAyAXNwOIECADQYgLaiECIANBwA9qIQkjAEHgAGsiBSQAIANB5AJqIgcoAhAiBigCACEEIAYgBEEBajYCAAJAIARBAE4EQCAFQQlqIghBB2ogCUHQAPwKAABB2AAQkAEiBEUNMiAEQQY6AAAgBEEBaiAIQdcA/AoAACACIAQ2AhggAiAGNgIUIAJBBzoAACACIAcpAgg3AgwgAiAHKQIANwIEIAVB4ABqJAAMAQsACwwQCyADQRU2AogLIANB6A5qIANB5AJqIANBiAtqEPoQIAMgAy8A6Q47AfwEIAMgAy0A6w46AP4EIAMgAykC/A43A9gEIAMgAykChA83A+AEIAMgAykCjA83A+gEIAMgAykClA83A/AEIAMgAygCnA82AvgEIAMtAOgOIQIgAygC7A4hCSADKALwDiEEIAMoAvQOIQYgAygC+A4hBSADIAMoAqwPNgLQBCADIAMpAqQPNwPIBCADKAKgDyEHIAMpA7APIRcgCBCuBwwQCyADIAU2AoAKIAMgBjYC/AkgAyAENgL4CSADIAMpA6AINwKECiADIAMpA6gINwKMCiADIAMpA7AINwKUCiADIAMpA7gINwKcCiADIAMoAsAINgKkCiADIAc2AqgKIAMgAykDkAw3AqwKIAMgAygCmAw2ArQKIANB2A1qIgIgA0HkAmoQ8QogA0HoDmogA0H4CWogAhCsDSADLQDoDiICQf8BRgRAIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMgAykCpA83A9gLIAMgAygCrA82AuALIAMoAvgOIQUgAygC9A4hBiADKALwDiEEIAMoAqAPIQcgAyADKAKIDDYC+AQgAyADKQOADDcD8AQgAyADKQP4CzcD6AQgAyADKQPwCzcD4AQgAyADKQPoCzcD2AQgAyADKALgCzYC0AQgAyADKQPYCzcDyAQMEgsgAyADKADsDjYAvAogAyADKADpDjYAuQogAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAygCoA8hBCADKAL4DiEFIAMpA/AOIRcgAyADKAKsDzYC4AsgAyADKQKkDzcD2AsgAyAXNwPACiADIAI6ALgKIAMgBTYCyAogAyADKQPoCzcCzAogAyADKQPwCzcC1AogAyADKQP4CzcC3AogAyADKQOADDcC5AogAyADKAKIDDYC7AogAykDsA8hFyADIAQ2AvAKIAMgAygC4As2AvwKIAMgAykD2As3AvQKIAMgFzcDgAsgA0GIC2ohAiADQbgKaiEJIwBB4ABrIgUkACADQeQCaiIHKAIQIgYoAgAhBCAGIARBAWo2AgACQCAEQQBOBEAgBUEJaiIIQQdqIAlB0AD8CgAAQdgAEJABIgRFDTAgBEEFOgAAIARBAWogCEHXAPwKAAAgAiAENgIYIAIgBjYCFCACQQc6AAAgAiAHKQIINwIMIAIgBykCADcCBCAFQeAAaiQADAELAAsMDgsgA0HoDmohAiADLQCICyEGIANB5AJqIgUoAhAiBygCACEEIAcgBEEBajYCAAJAIARBAE4EQEHYABCQASIERQ0vIAQgBjoAASAEQQM6AAAgAiAENgIYIAIgBzYCFCACQQc6AAAgAiAFKQIANwIEIAIgBSkCCDcCDAwBCwALDAwLIAMgAykCmA03A+gIIAMgAykCoA0+AvAIIAMgAykCpA03AvQIIAMgAykCrA03AvwIIAMgAykCtA03AoQJIAMgAykCvA03AowJIAMgAygCxA02ApQJIAMgAykCyA0+ApgJIAMgAygC1A02AqQJIAMgAykCzA03ApwJIANB2A1qIgIgA0HkAmoQ8QogA0HoDmogA0HoCGogAhCsDSADLQDoDiICQf8BRgRAIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMgAykCpA83A5AMIAMgAygCrA82ApgMIAMoAvgOIQUgAygC9A4hBiADKALwDiEEIAMoAqAPIQcgAyADKAKIDDYC+AQgAyADKQOADDcD8AQgAyADKQP4CzcD6AQgAyADKQPwCzcD4AQgAyADKQPoCzcD2AQgAyADKAKYDDYC0AQgAyADKQOQDDcDyAQMEAsgAyADKADsDjYArAkgAyADKADpDjYAqQkgAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAygCoA8hBCADKAL4DiEFIAMpA/AOIRcgAyADKAKsDzYCmAwgAyADKQKkDzcDkAwgAyAXNwOwCSADIAI6AKgJIAMgBTYCuAkgAyADKQPoCzcCvAkgAyADKQPwCzcCxAkgAyADKQP4CzcCzAkgAyADKQOADDcC1AkgAyADKAKIDDYC3AkgAykDsA8hFyADIAQ2AuAJIAMgAygCmAw2AuwJIAMgAykDkAw3AuQJIAMgFzcD8AkgA0GIC2ohAiADQagJaiEJIwBB4ABrIgUkACADQeQCaiIHKAIQIgYoAgAhBCAGIARBAWo2AgACQCAEQQBOBEAgBUEJaiIIQQdqIAlB0AD8CgAAQdgAEJABIgRFDS4gBEECOgAAIARBAWogCEHXAPwKAAAgAiAENgIYIAIgBjYCFCACQQc6AAAgAiAHKQIINwIMIAIgBykCADcCBCAFQeAAaiQADAELAAsMDAsgAyADKQKYDTcDkAcgAyADKQKgDT4CmAcgAyADKQKkDTcCnAcgAyADKQKsDTcCpAcgAyADKQK0DTcCrAcgAyADKQK8DTcCtAcgAyADKALEDTYCvAcgAyADKQLIDT4CwAcgAyADKALUDTYCzAcgAyADKQLMDTcCxAcgA0HYDWoiAiADQeQCahDxCiADQegOaiADQZAHaiACEKwNIAMtAOgOIgJB/wFGBEAgAyADKQL8DjcD6AsgAyADKQKEDzcD8AsgAyADKQKMDzcD+AsgAyADKQKUDzcDgAwgAyADKAKcDzYCiAwgAyADKQKkDzcDkAwgAyADKAKsDzYCmAwgAygC+A4hBSADKAL0DiEGIAMoAvAOIQQgAygCoA8hByADIAMoAogMNgL4BCADIAMpA4AMNwPwBCADIAMpA/gLNwPoBCADIAMpA/ALNwPgBCADIAMpA+gLNwPYBCADIAMoApgMNgLQBCADIAMpA5AMNwPIBAwPCyADIAMoAOwONgDUByADIAMoAOkONgDRByADIAMpAvwONwPoCyADIAMpAoQPNwPwCyADIAMpAowPNwP4CyADIAMpApQPNwOADCADIAMoApwPNgKIDCADKAKgDyEEIAMoAvgOIQUgAykD8A4hFyADIAMoAqwPNgKYDCADIAMpAqQPNwOQDCADIBc3A9gHIAMgAjoA0AcgAyAFNgLgByADIAMpA+gLNwLkByADIAMpA/ALNwLsByADIAMpA/gLNwL0ByADIAMpA4AMNwL8ByADIAMoAogMNgKECCADKQOwDyEXIAMgBDYCiAggAyADKAKYDDYClAggAyADKQOQDDcCjAggAyAXNwOYCCADQYgLaiECIANB0AdqIQkjAEHgAGsiBSQAIANB5AJqIgcoAhAiBigCACEEIAYgBEEBajYCAAJAIARBAE4EQCAFQQlqIghBB2ogCUHQAPwKAABB2AAQkAEiBEUNLSAEQQE6AAAgBEEBaiAIQdcA/AoAACACIAQ2AhggAiAGNgIUIAJBBzoAACACIAcpAgg3AgwgAiAHKQIANwIEIAVB4ABqJAAMAQsACwwLCyADIAMpApgNNwOABiADIAMpAqANPgKIBiADIAMpAqQNNwKMBiADIAMpAqwNNwKUBiADIAMpArQNNwKcBiADIAMpArwNNwKkBiADIAMoAsQNNgKsBiADIAMpAsgNPgKwBiADIAMoAtQNNgK8BiADIAMpAswNNwK0BiADQdgNaiICIANB5AJqEPEKIANB6A5qIANBgAZqIAIQrA0gAy0A6A4iAkH/AUYEQCADIAMpAvwONwPoCyADIAMpAoQPNwPwCyADIAMpAowPNwP4CyADIAMpApQPNwOADCADIAMoApwPNgKIDCADIAMpAqQPNwOQDCADIAMoAqwPNgKYDCADKAL4DiEFIAMoAvQOIQYgAygC8A4hBCADKAKgDyEHIAMgAygCiAw2AvgEIAMgAykDgAw3A/AEIAMgAykD+As3A+gEIAMgAykD8As3A+AEIAMgAykD6As3A9gEIAMgAygCmAw2AtAEIAMgAykDkAw3A8gEDA4LIAMgAygA7A42AMQGIAMgAygA6Q42AMEGIAMgAykC/A43A+gLIAMgAykChA83A/ALIAMgAykCjA83A/gLIAMgAykClA83A4AMIAMgAygCnA82AogMIAMoAqAPIQQgAygC+A4hBSADKQPwDiEXIAMgAygCrA82ApgMIAMgAykCpA83A5AMIAMgFzcDyAYgAyACOgDABiADIAU2AtAGIAMgAykD6As3AtQGIAMgAykD8As3AtwGIAMgAykD+As3AuQGIAMgAykDgAw3AuwGIAMg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S3FFBEAgAhC8BQwBCwwDCyAGQeACaiQADwtBxLDJAEETQdykxAAQvxMAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBiKHEAEHJAEGsocQAEL8TAAtBBBCnFAAL/F4BGH8jAEGABWsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEOIAIoAgAiBkGAgICAeHMiBCAEQRZPG0EBaw4VAQIDBAUGBwgJIyQlJicKCwwNDg8QAAsgAigCCCEEIANBkAJqIgUgAigCBCICQeAA/AoAACADQfACaiIGIARB4AD8CgAAIAAgASAFIAYQxwwgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYiABQQBHIABBiAFPcQ1hIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYiABQQBHIABBiAFPcQ1hIAIQvAUMXwsgAigCCCEEIANBkAJqIgUgAigCBCICQeAA/AoAACADQfACaiIGIARB4AD8CgAAIAAgASAFIAYQ4gwgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYSABQQBHIABBiAFPcQ1gIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNYSABQQBHIABBiAFPcQ1gIAIQvAUMXgsgAigCCCEEIANBkAJqIgYgAigCBCIFQeAA/AoAACADQfACaiIHIARB4AD8CgAAIANBgAFqIgggASAGEMgBAkAgAygCgAFBfkYEQEEDEJABIgJFDWAgAkHFhcYALQAAOgACIAJBw4XGAC8AADsAACADQQM2AogBIAMgAjYChAEgA0EDNgKAASABIAgQ/A0gACABIAcQyAEMAQsgACADKQKoATcCKCAAIAMpAqABNwIgIAAgAykCmAE3AhggACADKQKQATcCECAAIAMpAogB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IANB8AJqIgYgBEHgAPwKAAAgACABIAUgBkEAEIwJIARBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVcgAUEARyAAQYgBT3ENViAEELwFIAJBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDVcgAUEARyAAQYgBT3ENViACELwFDFQLIAIoAgghBCADQZACaiIFIAIoAgQiAkHgAPwKAAAgA0HwAmoiBiAEQeAA/AoAACAAIAEgBSAGQQEQjAkgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNViABQQBHIABBiAFPcQ1VIAQQvAUgAkEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNViABQQBHIABBiAFPcQ1VIAIQvAUMUwsgAigCBCECQQMQkAEiBA0eDFMLIAIoAgQhAkEDEJABIgQNHgxSCyACKAIEIQRBBhCQASICDR5BARCnFAALIAIoAgQhBEEKEJABIgINHkEBEKcUAAsgAygC8AJBBEYNBAxKCyADQZACaiICIANB8AJqQeAA/AoAACADQYABaiADQdgDakHIAPwKAAAgA0HgAWogASACEMgBAkAgAygC4AFBfkcEQAwBCyADQeABaiABQbCCxgBBAxDXEiADKALgAUF+Rg0HCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQxECwJAAkACQCADKALwAkEERgRAIAMoAvwCQQFGDQELIANBkAJqIgIgA0HwAmpB4AD8CgAAIANBgAFqIANB2ANqQcgA/AoAACADQeABaiABIAIQyAEgAygC4AFBfkYNAQwCCyADIAMoAvwCIgI2AugBIAMgAykC9AI3A+ABIAJFDSAgAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgRBf0YNICADQZACaiIHIAJBBGpB3AD8CgAAQeAAEKwUIgIgBDYCACACQQRqIAdB3AD8CgAAQeAAEKwUIgQgBkHgAPwKAAAgAyAENgKIASADIAI2AoQBIANBhoCAgHg2AoABIAAgASADQYABahAzIANB4AFqEKMOQQAhAgxGCyADQeABaiABQcyCxgBBBBDXEiADKALgAUF+Rg0gCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQxDCyADKALcAw1HIAAgAUHQgsYAQQMQ1xJBASECQQEhASADKALwAkEERg0CDEQLIANBGGogAygC1AMiAhDkEiADKAIcQQFHDUYgAygCGCgCAEEBRw1GIANBkAJqIgQgA0HwAmpB4AD8CgAAIANBgAFqIAEgBBDIASADKAKAAUF+RwRAIAAgAykCqAE3AiggACADKQKgATcCICAAIAMpApgBNwIYIAAgAykCkAE3AhAgACADKQKIATcCCCAAIAMpAoABNwIAIAIQshAMQgsgA0GAAWogAUHMgsYAQQQQ1xIgAygCgAFBfkcEQCAAIAMpAqgBNwIoIAAgAykCoAE3AiAgACADKQKYATcCGCAAIAMpApABNwIQIAAgAykCiAE3AgggACADKQKAATcCACACELIQDEILIANBEGogAhDkEiADKAIURQ0eIAMoAhAiBCgCAEEBRw0eIANBCGogAigCABCIEiADIAMoAgw2AlQgAyADKAIIIgc2AlAgBwRAIAMgA0HQAGo2AnAgA0GAAWoiByAEQQhqEIsCIAMgA0HwAGqtQoCAgICgAoQ3A+ABIANBxABqIgQgA0HgAWoQzBIgACABIAcgBBCrESACELIQDEALQdOCxgBB9wBBkIPGABC/EwALIAMoAtQDIgRBCGooAgAEQCAEQQRqKAIAKAIIIgkNAgsgACABQdCCxgBBAxDXEgsgA0HwAmpBBHIQow5BASECQQEhAQxCC0EBIQIgA0HwAmpBBHIhBwJAIAlBAUcNACADKAL8AkEBRw0AIAMgBygCCCICNgJYIAMgBykCADcDUCACRQ0dIAMgAkEBayICNgJYIAMoAlQgAkHgAGxqIgIoAgAiB0F/Rg0dIAMgBzYCkAIgA0GQAmoiB0EEciACQQRqQdwA/AoAACADIAQoAgg2AogBIAMgBCkCADcDgAEgA0HgAWogA0GAAWoiAhDlBSADKALgAUF/Rg0eIAMgAygC6AE2AkAgAyADKQLgATcDOCACIAEgBxDIAQJAIAMoAoABQX5HBEAMAQsgA0GAAWogAUHMgsYAQQQQ1xIgAygCgAFBfkYNIAsgACADKQKoATcCKCAAIAMpAqABNwIgIAAgAykCmAE3AhggACADKQKQATcCECAAIAMpAogBNwIIIAAgAykCgAE3AgAgA0E4ahCjDiAEQQwQ2RIgA0HQAGoQow4gAygC8AJBBEYNPiADQfACahDNAQw+CyADIAcoAgg2AogBIAMgBykCADcDgAEgAyAEKAIINgKYAiADIAQpAgA3A5ACIAAgASADQYABaiADQZACakEAEJsQIARBDBDZEgw/CyAAIAEgA0GAAWoQzgoMOwsgAygC8AJBBEYNBAw2CyADQZACaiICIANB8AJqQeAA/AoAACADQYABaiADQdgDakHIAPwKAAAgA0HgAWogASACEMgBAkAgAygC4AFBfkcEQAwBCyADQeABaiABQdCDxgBBBBDXEiADKALgAUF+Rg0HCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQwwCwJAAkACQCADKALwAkEERgRAIAMoAvwCQQFGDQELIANBkAJqIgIgA0HwAmpB4AD8CgAAIANBgAFqIANB2ANqQcgA/AoAACADQeABaiABIAIQyAEgAygC4AFBfkYNAQwCCyADIAMoAvwCIgI2AugBIAMgAykC9AI3A+ABIAJFDR0gAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgRBf0YNHSADQZACaiIHIAJBBGpB3AD8CgAAQeAAEKwUIgIgBDYCACACQQRqIAdB3AD8CgAAQeAAEKwUIgQgBkHgAPwKAAAgAyAENgKIASADIAI2AoQBIANBh4CAgHg2AoABIAAgASADQYABahAzIANB4AFqEKMOQQAhAgwyCyADQeABaiABQeSDxgBBCBDXEiADKALgAUF+Rg0dCyAAIAMpAogCNwIoIAAgAykCgAI3AiAgACADKQL4ATcCGCAAIAMpAvABNwIQIAAgAykC6AE3AgggACADKQLgATcCACADQYABahD0EQwvCyADKALcAw0zIAAgAUHsg8YAQQMQ1xJBASECQQEhASADKALwAkEERg0CDDALIANBMGogAygC1AMiAhDkEiADKAI0QQFHDTIgAygCMCgCAEEBRw0yIANBkAJqIgQgA0HwAmpB4AD8CgAAIANBgAFqIAEgBBDIASADKAKAAUF+RwRAIAAgAykCqAE3Aigg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AiggACADKQKQAzcCICAAIAMpAogDNwIYIAAgAykCgAM3AhAgACADKQL4AjcCCCAAIAMpAvACNwIACyADQYABahCiEAsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAUQvAUMGAtBARCnFAALIANB8AJqIgYgAkHgAPwKAAAgACABIAYQyAEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMFgtBASEBDAULIAMoAsADIgBBfkYNACAAQX9GDQAgAEUNACADKALEAyAAENkSCyADKALQAyIAQQlNQQBBASAAdEHDBHEbRQRAIAYQzQELIAMoAqAEIgBBfkYNByAAQX9GDQcgAEUNByADKAKkBCAAENkSDAcLQQAhASADKALwAkEERg0BCyADQfACahDNAQsCQCADKALAAyIAQX5GDQAgAEF/Rg0AIABFDQAgAygCxAMgABDZEgsgAkUNAgsCQAJAAkAgAygC0AMOCgICAQEBAQIBAQABCyABRQ0BIAMoAtQDEOYSDAELIAYQzQELIAMoAqAEIgBBfkYNASAAQX9GDQEgAEUNASADKAKkBCAAENkSDAELIANBgAFqIgIgA0HwAmpB4AD8CgAAIANBkAJqIAZB4AD8CgAAIANB4AFqIAEgAhDIASADKALgAUF+RwRADAILIANB4AFqIAFB5IPGAEEIENcSIAMoAuABQX5HBEAMAgsgACABIANBkAJqEMgBCyAIQeAAENkSIAVB4AAQ2RIMDQsgACADKQKIAjcCKCAAIAMpAoACNwIgIAAgAykC+AE3AhggACADKQLwATcCECAAIAMpAugBNwIIIAAgAykC4AE3AgAgA0GQAmoQ5hELIAhBBGsoAgAiAEEDcSEBAkAgAEF4cUHkAEHoACABG0kNDyABQQBHIABBiAFPcQ0OIAgQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNDyABQQBHIABBiAFPcQ0AIAUQvAUMDAsMDQtBASEBDAULIAMoAsADIgBBfkYNACAAQX9GDQAgAEUNACADKALEAyAAENkSCyADKALQAyIAQQlNQQBBASAAdEHDBHEbRQRAIAYQzQELIAMo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fkYNBwsgACADKQLIAzcCKCAAIAMpAsADNwIgIAAgAykCuAM3AhggACADKQKwAzcCECAAIAMpAqgDNwIIIAAgAykCoAM3AgAgA0FAaxDyEQxECwJAAkACQCADKAKQBUEERgRAIAMoApwFQQFGDQELIANBsARqIgIgA0GQBWpB4AD8CgAAIANBiAFqIANB+AVqQcgA/AoAACADQaADaiABIAIQyQEgAygCoANBfkYNAQwCCyADIAMoApwFIgI2AogEIAMgAykClAU3A4AEIAJFDSAgAyACQQFrIgI2AogEIAMoAoQEIAJB4ABsaiICKAIAIgRBf0YNICADQbAEaiIHIAJBBGpB3AD8CgAAEKsUIgIgBDYCACACQQRqIAdB3AD8CgAAEKsUIgQgBkHgAPwKAAAgAyAENgKoAyADIAI2AqQDIANBhoCAgHg2AqADIAAgASADQaADahA0IANBgARqEMEOQQAhAgxGCyADQaADaiABQcyCxgBBBBDXEiADKAKgA0F+Rg0gCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQYgBahDyEQxDCyADKAL8BQ1HIAAgAUHQgsYAQQMQ1xJBASECQQEhACADKAKQBUEERg0CDEQLIANBEGogAygC9AUiAhDkEiADKAIUQQFHDUYgAygCECgCAEEBRw1GIANBsARqIgQgA0GQBWpB4AD8CgAAIANBoANqIAEgBBDJASADKAKgA0F+RwRAIAAgAykCyAM3AiggACADKQLAAzcCICAAIAMpArgDNwIYIAAgAykCsAM3AhAgACADKQKoAzcCCCAAIAMpAqADNwIAIAIQ8hIMQgsgA0GgA2ogAUHMgsYAQQQQ1xIgAygCoANBfkcEQCAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACACEPISDEILIANBCGogAhDkEiADKAIMRQ0eIAMoAggiBCgCAEEBRw0eIAMgAigCABCIEiADIAMoAgQ2AuQBIAMgAygCACIHNgLgASAHBEAgAyADQeABajYCkAMgA0GgA2oiByAEQQhqEIoCIAMgA0GQA2qtQoCAgICgAoQ3A4AEIANB1AFqIgQgA0GABGoQzBIgACABIAcgBBCrESACEPISDEALQdOCxgBB9wBBkIPGABC/EwALIAMoAvQFIgRBCGooAgAEQCAEQQRqKAIAKAIIIgkNAgsgACABQdCCxgBBAxDXEgsgA0GQBWpBBHIQwQ5BASECQQEhAAxCC0EBIQIgA0GQBWpBBHIhBwJAIAlBAUcNACADKAKcBUEBRw0AIAMgBygCCCICNgLoASADIAcpAgA3A+ABIAJFDR0gAyACQQFrIgI2AugBIAMoAuQBIAJB4ABsaiICKAIAIgdBf0YNHSADIAc2ArAEIANBsARqIgdBBHIgAkEEakHcAPwKAAAgAyAEKAIINgKoAyADIAQpAgA3A6ADIANBgARqIANBoANqIgIQ5QUgAygCgARBf0YNHiADIAMoAogENgI4IAMgAykCgAQ3AzAgAiABIAcQyQECQCADKAKgA0F+RwRADAELIANBoANqIAFBzILGAEEEENcSIAMoAqADQX5GDSALIAAgAykCyAM3AiggACADKQLAAzcCICAAIAMpArgDNwIYIAAgAykCsAM3AhAgACADKQKoAzcCCCAAIAMpAqADNwIAIANBMGoQwQ4gBEEMENkSIANB4AFqEMEOIAMoApAFQQRGDT4gA0GQBWoQrQEMPgsgAyAHKAIINgKoAyADIAcpAgA3A6ADIAMgBCgCCDYCuAQgAyAEKQIANwOwBCAAIAEgA0GgA2ogA0GwBGpBABCZECAEQQwQ2RIMPwsgACABIANBQGsQzgoMOwsgAygCkAVBBEYNBAw2CyADQbAEaiICIANBkAVqQeAA/AoAACADQYACaiADQfgFakHIAPwKAAAgA0GgA2ogASACEMkBAkAgAygCoANBfkcEQAwBCyADQaADaiABQdCDxgBBBBDXEiADKAKgA0F+Rg0HCyAAIAMpAsgDNwIoIAAgAykCwAM3AiAgACADKQK4AzcCGCAAIAMpArADNwIQIAAgAykCqAM3AgggACADKQKgAzcCACADQYACahDyEQwwCwJAAkACQCADKAKQBUEERgRAIAMoApwFQQFGDQELIANBsARqIgIgA0GQBWpB4AD8CgAAIANByAJqIANB+AVqQcgA/AoAACADQaADaiABIAIQyQEgAygCoANBfkYNAQwCCyADIAMoApwFIgI2AogEIAMgAykClAU3A4AEIAJFDR0g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G0kNHyABQQBHIABBiAFPcQ0eIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNHyABQQBHIABBiAFPcQ0eIAUQvAUMHAtBARCnFAALIANBkAVqIgYgAkHgAPwKAAAgACABIAYQyQEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMGgtBCRCQASIGRQ0BIAZBxITGAC0AADoACCAGQbyExgApAAA3AAAgA0EJNgKYBSADIAY2ApQFIANBCTYCkAUgASADQZAFaiIGEPwNIAYgBEHgAPwKAAAgA0GwBGogASAGEMkBAkAgAygCsARBfkcEQCAAIAMpAtgENwIoIAAgAykC0AQ3AiAgACADKQLIBDcCGCAAIAMpAsAENwIQIAAgAykCuAQ3AgggACADKQKwBDcCAAwBCyADQZAFaiABQYfYxQBBBRDXEiADKAKQBUF+Rg0DIAAgAykCuAU3AiggACADKQKwBTcCICAAIAMpAqgFNwIYIAAgAykCoAU3AhAgACADKQKYBTcCCCAAIAMpApAFNwIACyADQaADahDDEAsgBEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAQQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNGyABQQBHIABBiAFPcQ0aIAUQvAUMGAtBARCnFAALIANBkAVqIgYgAkHgAPwKAAAgACABIAYQyQEgAkHgABDZEiAEQeAAENkSIAVB4AAQ2RIMFgtBASEADAULIAMoAuAFIgBBAEwNACADKALkBSAAENkSCyADKALwBSIAQQlNQQBBASAAdEHDBHEbRQRAIAYQrQELIAMoAsAGIgBBAEwNByADKALEBiAAENkSDAcLQQAhACADKAKQBUEERg0BCyADQZAFahCtAQsgAygC4AUiAUEASgRAIAMoAuQFIAEQ2RILIAJFDQILAkACQAJAIAMoAvAFDgoCAgEBAQECAQEAAQsgAEUNASADKAL0BRDlEgwBCyAGEK0BCyADKALABiIAQQBMDQEgAygCxAYgABDZEgwBCyADQaADaiICIANBkAVqQeAA/AoAACADQbAEaiAGQeAA/AoAACADQYAEaiABIAIQyQEgAygCgARBfkcEQAwCCyADQYAEaiABQeSDxgBBCBDXEiADKAKABEF+RwRADAILIAAgASADQbAEahDJAQsgCEHgABDZEiAFQeAAENkSDA0LIAAgAykCqAQ3AiggACADKQKgBDcCICAAIAMpApgENwIYIAAgAykCkAQ3AhAgACADKQKIBDcCCCAAIAMpAoAENwIAIANBsARqEIESCyAIQQRrKAIAIgBBA3EhAQJAIABBeHFB5ABB6AAgARtJDQ8gAUEARyAAQYgBT3ENDiAIELwFIAVBBGsoAgAiAEEDcSEBIABBeHFB5ABB6AAgARtJDQ8gAUEARyAAQYgBT3ENACAFELwFDAwLDA0LQQEhAAwFCyADKALgBSIAQQBMDQAgAygC5AUgABDZEgsgAygC8AUiAEEJTUEAQQEgAHRBwwRxG0UEQCAGEK0BCyADKALABiIAQQBMDQcgAygCxAYgABDZEgwHC0EAIQAgAygCkAVBBEYNAQsgA0GQBWoQrQELIAMoAuAFIgFBAEoEQCADKALkBSABENkSCyACRQ0CCwJAAkACQCADKALwBQ4KAgIBAQEBAgEBAAELIABFDQEgAygC9AUQ5RIMAQsgBhCtAQsgAygCwAYiAEEATA0BIAMoAsQGIAAQ2RIMAQsgA0GgA2oiAiADQZAFakHgAPwKAAAgA0GwBGogBkHgAPwKAAAgA0GABGogASACEMkBIAMoAoAEQX5HBEAMAgsgA0GABGogAUHMgsYAQQQQ1xIgAygCgARBfkcEQAwCCyAAIAEgA0GwBGoQyQELIAhB4AAQ2RIgBUHgABDZEgwCCyAAIAMpAqgENwIoIAAgAykCoAQ3AiAgACADKQKYBDcCGCAAIAMpApAENwIQIAAgAykCiAQ3AgggACADKQKABDcCACADQbAEahCBEgsgCEEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNAyABQQBHIABBiAFPcQ0CIAgQvAUgBUEEaygCACIAQQNxIQEgAEF4cUHkAEHoACABG0kNAyABQQBHIABBiAFPcQ0CIAUQvAULIANBoAdqJAAPC0EBEKcUAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQQEQpxQAC/9cBA5/B34BfAF9IwBBwAFrIgYkAAJAAkACQAJAAkACQAJAAkACQAJAIAEtACRFBEAgA1ANCgJAIANC/////////w9WDQAgBEUEQCADuiEaDAwLIARBFmpBLU8EQCAEQSZPDQEgBkFAayADQgAgBEEDdEHI8sgAaikDAEIAEO4RIAYpA0hCAFINASAGKQNAIhNC/////////w9WDQEgE7pEktVNBs/wgESiIRoMDAsgA7ohGiAEQQBMBEAgGkGIjskAIARBA3RrKwMAoyEaDAwLIARBA3QrA4iOSSAaoiEaDAsLQf////8HIARB3gJqIgUgBCAFShsiCEEKbSEHQQAhBQJAIAhBAEgEQEIAIRMMAQsgB0HBAEsEQEH/DyEJQoCAgICAgICAgH8hEwwBCyAIIAdBCmxrIgVBAEgNAiAGQTBqIANCACAFQQN0IggpA5jzSEIAEO4RAn8gBikDOFAEQEEAQQAgBikDMCITeacgE1AbIgVrIQggEyAFrYYhE0EEDAELIAgpA4jsSCIUQv////8PgyIVIAMgA3kiFoYiF0IgiCIYfiETIBRCIIgiGSAXQv////8PgyIXfiEUIBggGX4gE0IgiHwgFEIgiHwgFEL/////D4MgE0L/////D4N8IBUgF35CIIh8QoCAgIAIfEIgiHwhEyAFQQJ0KALY7EggFqdrQUBrIQhBCQshCiAHQQN0KQOA7UgiFUL/////D4MiFiATQiCIIhd+IRQgFUIgiCIVIBNC/////w+DIhh+IRNBACAVIBd+IBRCIIh8IBNCIIh8IBNC/////w+DIBRC/////w+DfCAWIBh+QiCIfEKAgICACHxCIIh8IhN5pyATUBshBSATIAWthiETIAggB0ECdCgCkPFIaiAFayIHQUBrIQkCQEELQY53IAdrIAlBw3dOGyIHQcEASw0AIAetIRYgCiAFdK0hFSATIRQCQAJAAkAgB0FAag4CAQIACyATQn8gFoZCf4WDIRQLQgEgFkIBfYYiFiAVfSAUWg0BIBQgFSAWfFoNAQwMCyAVIBNCf4VWDQsLQQAgE3mnIBNQGyEFCyATIAWthiETIAkgBWsiBEELaiIFQc53TgRAIBNCC4ghAyATQv8Pg0KACFYNCCATQv8fg0KAGFINCQwICyAEQY13TQ0KIARBjndGBEAgE0KAgICAgICAgIB/WA0LQgAhA0HOdyEFDAgLIBNBzncgBGutIhSIIQMgE0J/IBSGQn+FgyITQgEgFEIBfYYiFFYEQEHOdyEFDAgLQc53IQUgA0IBg1ANCCATIBRRDQcMCAsgA1ANBQJAIANC////B1YNACAERQRAIAO1IRsMBwsgBEEKakEVTwRAIARBEk8NASAGQSBqIANCACAEQQN0QajzyABqKQMAQgAQ7hEgBikDKEIAUg0BIAYpAyAiE0L///8HVg0BIBO1Q/kCFVCUIRsMBwsgA7UhGyAEQQBMBEAgG0GMlskAIARBAnRrKgIAlSEbDAcLIARBAnQqAoyWSSAblCEbDAYLQf////8HIARB3gJqIgUgBCAFShsiCEEKbSEHQQAhBQJAIAhBAEgEQEIAIRMMAQsgB0HBAEsEQEKAgICAgICAgIB/IRNB/w8hCQwBCyAIIAdBCmxrIgVBAEgNAiAGQRBqIANCACAFQQN0IggpA5jzSEIAEO4RAn8gBikDGFAEQEEAQQAgBikDECITeacgE1AbIgVrIQggEyAFrYYhE0EEDAELIAgpA4jsSCIUQv////8PgyIVIAMgA3kiFoYiF0IgiCIYfiETIBRCIIgiGSAXQv////8PgyIXfiEUIBggGX4gE0IgiHwgFEIgiHwgFEL/////D4MgE0L/////D4N8IBUgF35CIIh8QoCAgIAIfEIgiHwhEyAFQQJ0KALY7EggFqdrQUBrIQhBCQshCiAHQQN0KQOA7UgiFUL/////D4MiFiATQiCIIhd+IRQgFUIgiCIVIBNC/////w+DIhh+IRNBACAVIBd+IBRCIIh8IBNCIIh8IBNC/////w+DIBRC/////w+DfCAWIBh+QiCIfEKAgICACHxCIIh8IhN5pyATUBshBSATIAWthiETIAggB0ECdCgCkPFIaiAFayIHQUBrIQkCQEEoQat+IAdrIAlBw35OGyIHQcEASw0AIAetIRYgCiAFdK0hFSATIRQCQAJAAkAgB0FAag4CAQIACyATQn8gFoZCf4WDIRQLQgEgFkIBfYYiFiAVfSAUWg0BIBQgFSAWfFoNAQwHCyAVIBNCf4VWDQYLQQAgE3mnIBNQGyEFCyATIAWthiETIAkgBWsiBEEoaiIFQet+TgRAIBNCKIghAyATQv//////H4NCgICAgIAQVg0DIBNC//////8/g0KAgICAgDBSDQQMAwsgBEGqfk0NBSAEQat+RgRAIBNCgICAgICAgICAf1gNBkIAIQNB634hBQwDCyATQet+IARrrSIUiCEDIBNCfyAUhkJ/hYMiE0IBIBRCAX2GIhRWBEBB634hBQwDC0HrfiEFIANCAYNQDQMgEyAUUQ0CDAMLIAVBCkHo88gAEIUTAAsgBUEKQejzyAAQhRMACyADQgF8IQMLIANCgICABCADQoCAgAiDIhNQGyEDAkACQCAFIBNCGIinaiIEQekAa0EYSQRAQn9CGCAEQegAa60iE32GQoCAgHiFIAODUA0BCyADUA0DIARB635IDQNDAACAfyEbIARB6ABMDQEMAwsgA1ANAiADIBOGIQNB6AAhBAsgA0L///8DgyAEQRd0QYCAgNgEaq0iEyADQiiGQj+HgyATIARB635GG4SnviEbDAELIBNBACATeacgE1AbIgWthiETAkAgCSAFayIFQShqIglB635OBH4gE0IoiAUgBUGqfk0EQAwCC0HrfiEJIBNBKyAFa62IQgAgBUGrfkcbCyITIBNCGIhCAYMiFIghEwJAAkAgCSAUp2oiBUHpAGtBGEkEQEJ/QhggBUHoAGutIhR9hkKAgIB4hSATg1ANAQsgE1ANAiAFQet+SA0CIAVB6ABMDQFDAACAfyEbDAILQegAIQUgEyAUhiITQgBSDQAMAQsgE0L///8DgyAFQRd0QYCAgNgEaq0iFCATQiiGQj+HgyAUIAVB635GG4SnviEbCyAbvCIOQf////8HcUH////7B0sNAEEUIQUgA0KQzgBaBEADQCAGQdgAaiAFaiIHQQRrIAMiEyADQpDOAIAiA0KQzgB+faciCEH//wNxQeQAbiIKQQF0LwCcmEk7AAAgB0ECayAIIApB5ABsa0H//wNxQQF0LwCcmEk7AAAgBUEEayEFIBNC/8HXL1YNAAsLAkAgA0LjAFgEQCADpyEJDAELIAOnIgdB//8DcUHkAG4hCSAFQQJrIgUgBkHYAGpqIAcgCUHkAGxrQf//A3FBAXQvAJyYSTsAAAsCQCAJQQpPBEAgBUECayIKIAZB2ABqaiAJQQF0LwCcmEk7AAAMAQsgBUEBayIKIAZB2ABqaiAJQTByOgAAC0ETIAprIgcgBGoiBUEfdUGAgICAeHMgBSAHQQBIIAQgBUpzG0HyAEEUIAprIg8gD0HyAE8bayIQQQFqIQ0gBkGwAWoQ8xNBACEEAkACQANAAkAgCkEURgRAIA8hCQwBCyAGQdgAaiAKai0AACAEQQhGBEAgBigCtAEhCAJAIAYCfwJAIAYoArgBIgdFDQAgB0EBa0H/////A3EiCUEBaiISQQNxIQVCACEDIAghBAJAIAlBA08EQCASQfz///8HcSEJA0AgBCAENQIAQoDC1y9+IAN8IgM+AgAgBEEEaiISNQIAQoDC1y9+IANCIIh8IQMgEiADPgIAIARBCGoiEjUCAEKAwtcvfiADQiCIfCEDIBIgAz4CACAEQQxqIhI1AgBCgMLXL34gA0IgiHwhAyASIAM+AgAgA0IgiCEDIARBEGohBCAJQQRrIgkNAAsgBUUNAQsDQCAEIAQ1AgBCgMLXL34gA3wiAz4CACAEQQRqIQQgA0IgiCEDIAVBAWsiBQ0ACwsCQCADUA0AIAOnIQQgBigCsAEgB0YEQCAGQbABahC8EiAGKAK0ASIIIAdBAnRqIAQ2AgAgBiAHQQFqIgc2ArgBDAELIAggB0ECdGogBDYCACAGIAdBAWoiBzYCuAEgB0UNAQsgCCAIKAIAIgQgC2oiBTYCAEEAIQsgBCAFTQ0CIAhBBGohBCAHIQUDQCAFQQFrIgVFBEAgBigCsAEgB0YEQCAGQbABahC8EgsgBigCtAEgB0ECdGpBATYCACAHQQFqDAMLIAQgBCgCAEEBaiIINgIAIARBBGohBCAIRQ0ACwwCCyAGKAKwAQR/IAgFIAZBsAFqELwSIAYoArQBCyALNgIAQQELNgK4AUEAIQsLQQAhBAtBMGsiBUEJSw0CIApBAWohCiAEQQFqIQQgC0EKbCAFaiELQfEAIQkgDEEBaiIMQfEARw0BCwsgBEUNASAEQQpJBEAgBigCtAEhBwJAIAYoArgBIgxFDQAgBEECdDUCvOtIIQMgDEEBa0H/////A3EiCEEBaiIKQQNxIQVCACETIAchBAJAIAhBA08EQCAKQfz///8HcSEIA0AgBCAENQIAIAN+IBN8IhM+AgAgBEEEaiIKNQIAIAN+IBNCIIh8IRMgCiATPgIAIARBCGoiCjUCACADfiATQiCIfCETIAogEz4CACAEQQxqIgo1AgAgA34gE0IgiHwhEyAKIBM+AgAgE0IgiCETIARBEGohBCAIQQRrIggNAAsgBUUNAQsDQCAEIAQ1AgAgA34gE3wiEz4CACAEQQRqIQQgE0IgiCETIAVBAWsiBQ0ACwsCQCATUA0AIBOnIQQgBigCsAEgDEYEQCAGQbABahC8EiAGKAK0ASIHIAxBAnRqIAQ2AgAgBiAMQQFqIgw2ArgBDAELIAcgDEECdGogBDYCACAGIAxBAWoiDDYCuAEgDEUNAQsgByAHKAIAIgQgC2oiBTYCACAEIAVNDQMgB0EEaiEEIAwhBQNAIAVBAWsiBUUEQCAGKAKwASAMRgRAIAZBsAFqELwSCyAGKAK0ASAMQQJ0akEBNgIAIAYgDEEBajYCuAEMBQsgBCAEKAIAQQFqIgc2AgAgBEEEaiEEIAdFDQALDAMLIAYoArABBH8gBwUgBkGwAWoQvBIgBigCtAELIAs2AgAgBkEBNgK4AQwCCyAEQQpB9OvIABCFEwALQeTryAAQnRUACwJAIAkgD08NACAGKAK0ASELAkAgBigCuAEiCkUNACAKQQFrQf////8DcSIHQQFqIghBA3EhBUIAIQMgCyEEAkAgB0EDTwRAIAhB/P///wdxIQkDQCAEIAQ1AgBCCn4gA3wiAz4CACAEQQRqIgc1AgBCCn4gA0IgiHwhAyAHIAM+AgAgBEEIaiIHNQIAQgp+IANCIIh8IQMgByADPgIAIARBDGoiBzUCAEIKfiADQiCIfCEDIAcgAz4CACADQiCIIQMgBEEQaiEEIAlBBGsiCQ0ACyAFRQ0BCwNAIAQgBDUCAEIKfiADfCIDPgIAIARBBGohBCADQiCIIQMgBUEBayIFDQALCwJAIANQDQAgA6chBCAGKAKwASAKRgRAIAZBsAFqELwSIAYoArQBIgsgCkECdGogBDYCACAGIApBAWoiCjYCuAEMAQsgCyAKQQJ0aiAENgIAIAYgCkEBaiIKNgK4ASAKRQ0BCyALIAsoAgBBAWoiBDYCACAEDQEgC0EEaiEEIAohBQNAIAVBAWsiBUUEQCAGKAKwASAKRgRAIAZBsAFqELwSCyAGKAK0ASAKQQJ0akEBNgIAIAYgCkEBajYCuAEMAwsgBCAEKAIAQQFqIgc2AgAgBEEEaiEEIAdFDQALDAELIAYoArABBH8gCwUgBkGwAWoQvBIgBigCtAELQQE2AgAgBkEBNgK4AQsgBiAGKAK4ATYCiAEgBiAGKQKwATcDgAEgDUEASARAIAYgBigCiAE2ApgBIAYgBikDgAE3A5ABIA5BF3ZB/wFxQZYBayAOQQF0Qf7//wdxQYGAgAhBASAOQYCAgPwHcSIFG3KtIQMgBkGwAWoiBxDzEyAGKAKwASAGKAK4ASIJa0EBTQRAIAcgCUECQQRBBBCzESAGKAK4ASEJC0HrfiAFGyEHIAYoArQBIgggCUECdGoiBSADNwIAAn8gCUECaiAIIAlBAWoiBEECdGooAgANABoCQANAIAQEQCAEQQFrIQQgBSgCACAFQQRrIQVFDQEMAgsLQQAMAQsgBEEBagshBCAGIAYpArABNwOgASAGIAQ2AqgBIAZBoAFqIBBBf3MQgQQCQAJAAkACQCAHIBBrIgVBAmsiBEEATARAIARBAE4NBEECIAVrIgRBBXYhDyAEQR9xIgdFDQNBICAHayEJIAYoApQBIQUgBigCmAEiDA0BQQAhCAwCCyAEQQV2IQ8CQCAEQR9xIgdFDQBBICAHayEJIAYoAqQBIQUCQCAGKAKoASIMRQRAQQAhCAwBCyAMQQFrQf////8DcSILQQFqIg1BA3EhCkEAIQggBSEEIAtBA08EQCANQfz///8HcSELA0AgBCAEKAIAIg0gB3QgCCAJdnI2AgAgBEEEaiIQKAIAIQggECAIIAd0IA0gCXZyNgIAIARBCGoiECgCACENIBAgDSAHdCAIIAl2cjYCACAEQQxqIhAoAgAhCCAQIAggB3QgDSAJdnI2AgAgBEEQaiEEIAtBBGsiCw0ACyAKRQ0BCwNAIAggCXYhCyAEIAsgBCgCACIIIAd0cjYCACAEQQRqIQQgCkEBayIKDQALCyAIIAl2IgRFDQAgBigCoAEgDEYEfyAGQaABahC8EiAGKAKkAQUgBQsgDEECdGogBDYCACAGIAxBAWo2AqgBCyAPRQ0DIAZBoAFqIA8Q7AYMAwsgDEEBa0H/////A3EiC0EBaiINQQNxIQpBACEIIAUhBCALQQNPBEAgDUH8////B3EhCwNAIAQgBCgCACINIAd0IAggCXZyNgIAIARBBGoiECgCACEIIBAgCCAHdCANIAl2cjYCACAEQQhqIhAoAgAhDSAQIA0gB3QgCCAJdnI2AgAgBEEMaiIQKAIAIQggECAIIAd0IA0gCXZyNgIAIARBEGohBCALQQRrIgsNAAsgCkUNAQsDQCAIIAl2IQsgBCALIAQoAgAiCCAHdHI2AgAgBEEEaiEEIApBAWsiCg0ACwsgCCAJdiIERQ0AIAYoApABIAxGBH8gBkGQAWoQvBIgBigClAEFIAULIAxBAnRqIAQ2AgAgBiAMQQFqNgKYAQsgD0UNACAGQZABaiAPEOwGCyAGKAKkASEHIAYoApQBIQgCQAJAIAYoApgBIgQgBigCqAEiBUsNACAEIAVJDQEgBUECdCEFIAdBBGshCiAEQQJ0IQQgCEEEayEJA0ACQCAERQ0AIAVFDQAgBCAJaigCACILIAUgCmooAgAiDEsNAiAFQQRrIQUgBEEEayEEIAsgDE8NAQwDCwsgDkEBar4gGyAOQQFxGyEbDAELIA5BAWq+IRsLIAYoAqABIgQEQCAHIARBAnQQ2RILIAYoApABIgRFDQEgCCAEQQJ0ENkSDAELIAYgBigCiAE2ArgBIAYgBikDgAE3A7ABIAZBsAFqIA0QgQQgDUEFdiEPAkAgDUEfcSIHRQ0AQSAgB2shCSAGKAK0ASEFAkAgBigCuAEiDEUEQEEAIQgMAQsgDEEBa0H/////A3EiC0EBaiIOQQNxIQpBACEIIAUhBCALQQNPBEAgDkH8////B3EhCwNAIAQgBCgCACIOIAd0IAggCXZyNgIAIARBBGoiDSgCACEIIA0gCCAHdCAOIAl2cjYCACAEQQhqIg0oAgAhDiANIA4gB3QgCCAJdnI2AgAgBEEMaiINKAIAIQggDSAIIAd0IA4gCXZyNgIAIARBEGohBCALQQRrIgsNAAsgCkUNAQsDQCAIIAl2IQsgBCALIAQoAgAiCCAHdHI2AgAgBEEEaiEEIApBAWsiCg0ACwsgCCAJdiIERQ0AIAYoArABIAxGBH8gBkGwAWoQvBIgBigCtAEFIAULIAxBAnRqIAQ2AgAgBiAMQQFqNgK4AQsgDwRAIAZBsAFqIA8Q7AYLQgAhAyAGKAK0ASEHQQAhCAJAAn4CQAJAAkACQCAGKAK4ASIKIgUOAwUBAgALIAcgCkECdCIIaiIEQQxrKQIAIgMgBEEEaygCACIFZyIJQSBzrSIThkIAUg0CIAdBEGshCwNAIAgiBEEMRwRAIARBBGshCCAEIAtqKAIARQ0BCwsgBEEMRyEIIAWtIBOGIANBICAJa62IhCIDIAoNAxpBACEFDAQLIAcoAgAiBK0gBGdBIHOthgwCCyAHKQIAIgMgA3mGDAELQQEhCCAFrSAThiADQSAgCWutiIQLIQMgByAKQQJ0akEEaygCAGchBQsgA0EAIAN5pyADUBsiBK2GIRMCQAJAAkACQAJAAkACQAJAQb9/IApBBXQgBWtBQGogCkH///8/SxsgBGsiBUEoaiIEQet+TgRAIBNCKIghAyATQv//////H4MiFEKAgICAgBBRDQEgFEKAgICAgBBWDQUMBgsgBUGqfk0NBiAFQat+Rw0BIBNCgICAgICAgICAf1YhBUIAIQMgE0KAgICAgICAgIB/Ug0CDAMLIAggE0KAgICAgCCDQiiIp3JFDQQMAwsgE0J/Qet+IAVrrSIDhkJ/hYMiFEIBIANCAX2GIhVWIQUgEyADiCEDIBQgFVENAQtB634hBCAFDQEMAgtB634hBCAIDQAgBSADp3JBAXFFDQELIANCAXwhAwsgA0KAgIAEIANCgICACIMiE1AbIQMCQAJAIAQgE0IYiKdqIgRB6QBrQRhJBEBCf0IYIARB6ABrrSITfYZCgICAeIUgA4NQDQELQwAAAAAhGyADUA0DIARB635IDQMgBEHoAEwNAUMAAIB/IRsMAwsgA1ANASADIBOGIQNB6AAhBAsgA0L///8DgyAEQRd0QYCAgNgEaq0iEyADQiiGQj+HgyATIARB635GG4SnviEbDAELQwAAAAAhGwsgBigCsAEiBEUNACAHIARBAnQQ2RILIBu7IRoMAwsgA0IBfCEDCyADQoCAgICAgIAIIANCgICAgICAgBCDIhNQGyEDAkACQCAFIBNCNYinaiIEQcwHa0E1SQRAQn9CNSAEQcsHa60iE32GQoCAgICAgIBwhSADg1ANAQsgA1ANAyAEQc53SA0DRAAAAAAAAPB/IRogBEHLB0oNAwwBC0HLByEEIAMgE4YiA1ANAgsgA0L/////////B4MgBEGzCGqtQjSGIhMgA0ILhkI/h4MgEyAEQc53RhuEvyEaDAELIBNBACATeacgE1AbIgWthiETAkAgCSAFayIFQQtqIglBzndOBH4gE0ILiAUgBUGNd00EQAwCC0HOdyEJIBNBDiAFa62IQgAgBUGOd0cbCyITIBNCNYhCAYMiFIghEwJAAkAgCSAUp2oiBUHMB2tBNUkEQEJ/QjUgBUHLB2utIhR9hkKAgICAgICAcIUgE4NQDQELIBNQDQIgBUHOd0gNAiAFQcsHTA0BRAAAAAAAAPB/IRoMAgtBywchBSATIBSGIhNCAFINAAwBCyATQv////////8HgyAFQbMIaq1CNIYiFCATQguGQj+HgyAUIAVBzndGG4S/IRoLIBq9IhRC////////////AINC//////////f/AFYNAEEUIQUgA0KQzgBaBEADQCAGQdgAaiAFaiIHQQRrIAMiEyADQpDOAIAiA0KQzgB+faciCEH//wNxQeQAbiIKQQF0LwCcmEk7AAAgB0ECayAIIApB5ABsa0H//wNxQQF0LwCcmEk7AAAgBUEEayEFIBNC/8HXL1YNAAsLAkAgA0LjAFgEQCADpyEJDAELIAOnIgdB//8DcUHkAG4hCSAFQQJrIgUgBkHYAGpqIAcgCUHkAGxrQf//A3FBAXQvAJyYSTsAAAsCQCAJQQpPBEAgBUECayIKIAZB2ABqaiAJQQF0LwCcmEk7AAAMAQsgBUEBayIKIAZB2ABqaiAJQTByOgAAC0ETIAprIgcgBGoiBUEfdUGAgICAeHMgBSAHQQBIIAQgBUpzG0GBBkEUIAprIg8gD0GBBk8bayINQQFqIQ4gBkGwAWoQ8xNBACEEAkACQANAAkAgCkEURgRAIA8hCQwBCyAGQdgAaiAKai0AACAEQQhGBEAgBigCtAEhCAJAIAYCfwJAIAYoArgBIgdFDQAgB0EBa0H/////A3EiCUEBaiIRQQNxIQVCACEDIAghBAJAIAlBA08EQCARQfz///8HcSEJA0AgBCAENQIAQoDC1y9+IAN8IgM+AgAgBEEEaiIRNQIAQoDC1y9+IANCIIh8IQMgESADPgIAIARBCGoiETUCAEKAwtcvfiADQiCIfCEDIBEgAz4CACAEQQxqIhE1AgBCgMLXL34gA0IgiHwhAyARIAM+AgAgA0IgiCEDIARBEGohBCAJQQRrIgkNAAsgBUUNAQsDQCAEIAQ1AgBCgMLXL34gA3wiAz4CACAEQQRqIQQgA0IgiCEDIAVBAWsiBQ0ACwsCQCADUA0AIAOnIQQgBigCsAEgB0YEQCAGQbABahC8EiAGKAK0ASIIIAdBAnRqIAQ2AgAgBiAHQQFqIgc2ArgBDAELIAggB0ECdGogBDYCACAGIAdBAWoiBzYCuAEgB0UNAQsgCCAIKAIAIgQgC2oiBTYCAEEAIQsgBCAFTQ0CIAhBBGohBCAHIQUDQCAFQQFrIgVFBEAgBigCsAEgB0YEQCAGQbABahC8EgsgBigCtAEgB0ECdGpBATYCACAHQQFqDAMLIAQgBCgCAEEBaiIINgIAIARBBGohBCAIRQ0ACwwCCyAGKAKwAQR/IAgFIAZBsAFqELwSIAYoArQBCyALNgIAQQELNgK4AUEAIQsLQQAhBAtBMGsiBUEJSw0CIApBAWohCiAEQQFqIQQgC0EKbCAFaiELQYAGIQkgDEEBaiIMQYAGRw0BCwsgBEUNASAEQQpJBEAgBigCtAEhBwJAIAYoArgBIgxFDQAgBEECdDUCvOtIIQMgDEEBa0H/////A3EiCEEBaiIKQQNxIQVCACETIAchBAJAIAhBA08EQCAKQfz///8HcSEIA0AgBCAENQIAIAN+IBN8IhM+AgAgBEEEaiIKNQIAIAN+IBNCIIh8IRMgCiATPgIAIARBCGoiCjUCACADfiATQiCIfCETIAogEz4CACAEQQxqIgo1AgAgA34gE0IgiHwhEyAKIBM+AgAgE0IgiCETIARBEGohBCAIQQRrIggNAAsgBUUNAQsDQCAEIAQ1AgAgA34gE3wiEz4CACAEQQRqIQQgE0IgiCETIAVBAWsiBQ0ACwsCQCATUA0AIBOnIQQgBigCsAEgDEYEQCAGQbABahC8EiAGKAK0ASIHIAxBAnRqIAQ2AgAgBiAMQQFqIgw2ArgBDAELIAcgDEECdGogBDYCACAGIAxBAWoiDDYCuAEgDEUNAQsgByAHKAIAIgQgC2oiBTYCACAEIAVNDQMgB0EEaiEEIAwhBQNAIAVBAWsiBUUEQCAGKAKwASAMRgRAIAZBsAFqELwSCyAGKAK0ASAMQQJ0akEBNgIAIAYgDEEBajYCuAEMBQsgBCAEKAIAQQFqIgc2AgAgBEEEaiEEIAdFDQALDAMLIAYoArABBH8gBwUgBkGwAWoQvBIgBigCtAELIAs2AgAgBkEBNgK4AQwCCyAEQQpB9OvIABCFEwALQeTryAAQnRUACwJAIAkgD08NACAGKAK0ASELAkAgBigCuAEiCkUNACAKQQFrQf////8DcSIHQQFqIghBA3EhBUIAIQMgCyEEAkAgB0EDTwRAIAhB/P///wdxIQkDQCAEIAQ1AgBCCn4gA3wiAz4CACAEQQRqIgc1AgBCCn4gA0IgiHwhAyAHIAM+AgAgBEEIaiIHNQIAQgp+IANCIIh8IQMgByADPgIAIARBDGoiBzUCAEIKfiADQiCIfCEDIAcgAz4CACADQiCIIQMgBEEQaiEEIAlBBGsiCQ0ACyAFRQ0BCwNAIAQgBDUCAEIKfiADfCIDPgIAIARBBGohBCADQiCIIQMgBUEBayIFDQALCwJAIANQDQAgA6chBCAGKAKwASAKRgRAIAZBsAFqELwSIAYoArQBIgsgCkECdGogBDYCACAGIApBAWoiCjYCuAEMAQsgCyAKQQJ0aiAENgIAIAYgCkEBaiIKNgK4ASAKRQ0BCyALIAsoAgBBAWoiBDYCACAEDQEgC0EEaiEEIAohBQNAIAVBAWsiBUUEQCAGKAKwASAKRgRAIAZBsAFqELwSCyAGKAK0ASAKQQJ0akEBNgIAIAYgCkEBajYCuAEMAwsgBCAEKAIAQQFqIgc2AgAgBEEEaiEEIAdFDQALDAELIAYoArABBH8gCwUgBkGwAWoQvBIgBigCtAELQQE2AgAgBkEBNgK4AQsgBiAGKAK4ATYCiAEgBiAGKQKwATcDgAEgDkEASARAIAYgBigCiAE2ApgBIAYgBikDgAE3A5ABIBRCNIinQf8PcUGzCGshBCAUQgGGQv7///////8Pg0IBQoGAgICAgIAQIBRCgICAgICAgPj/AINQIgUbhCEDIAZBsAFqIgcQ8xMgBigCsAEgBigCuAEiCWtBAU0EQCAHIAlBAkEEQQQQsxEgBigCuAEhCQtBzncgBCAFGyEHIAYoArQBIgggCUECdGoiBSADNwIAAn8gCUECaiAIIAlBAWoiBEECdGooAgANABoCQANAIAQEQCAEQQFrIQQgBSgCACAFQQRrIQVFDQEMAgsLQQAMAQsgBEEBagshBCAGIAYpArABNwOgASAGIAQ2AqgBIAZBoAFqIA1Bf3MQgQQCQAJAAkACQCAHIA1rIgVBAmsiBEEATARAIARBAE4NBEECIAVrIgRBBXYhDyAEQR9xIgdFDQNBICAHayEJIAYoApQBIQUgBigCmAEiDA0BQQAhCAwCCyAEQQV2IQ8CQCAEQR9xIgdFDQBBICAHayEJIAYoAqQBIQUCQCAGKAKoASIMRQRAQQAhCAwBCyAMQQFrQf////8DcSILQQFqIg5BA3EhCkEAIQggBSEEIAtBA08EQCAOQfz///8HcSELA0AgBCAEKAIAIg4gB3QgCCAJdnI2AgAgBEEEaiINKAIAIQggDSAIIAd0IA4gCXZyNgIAIARBCGoiDSgCACEOIA0gDiAHdCAIIAl2cjYCACAEQQxqIg0oAgAhCCANIAggB3QgDiAJdnI2AgAgBEEQaiEEIAtBBGsiCw0ACyAKRQ0BCwNAIAggCXYhCyAEIAsgBCgCACIIIAd0cjYCACAEQQRqIQQgCkEBayIKDQALCyAIIAl2IgRFDQAgBigCoAEgDEYEfyAGQaABahC8EiAGKAKkAQUgBQsgDEECdGogBDYCACAGIAxBAWo2AqgBCyAPRQ0DIAZBoAFqIA8Q7AYMAwsgDEEBa0H/////A3EiC0EBaiIOQQNxIQpBACEIIAUhBCALQQNPBEAgDkH8////B3EhCwNAIAQgBCgCACIOIAd0IAggCXZyNgIAIARBBGoiDSgCACEIIA0gCCAHdCAOIAl2cjYCACAEQQhqIg0oAgAhDiANIA4gB3QgCCAJdnI2AgAgBEEMaiINKAIAIQggDSAIIAd0IA4gCXZyNgIAIARBEGohBCALQQRrIgsNAAsgCkUNAQsDQCAIIAl2IQsgBCALIAQoAgAiCCAHdHI2AgAgBEEEaiEEIApBAWsiCg0ACwsgCCAJdiIERQ0AIAYoApABIAxGBH8gBkGQAWoQvBIgBigClAEFIAULIAxBAnRqIAQ2AgAgBiAMQQFqNgKYAQsgD0UNACAGQZABaiAPEOwGCyAGKAKkASEHIAYoApQBIQgCQAJAIAYoApgBIgQgBigCqAEiBUsNACAEIAVJDQEgBUECdCEFIAdBBGshCiAEQQJ0IQQgCEEEayEJA0ACQCAERQ0AIAVFDQAgBCAJaigCACILIAUgCmooAgAiDEsNAiAFQQRrIQUgBEEEayEEIAsgDE8NAQwDCwsgGiAUQgF8vyAUQgGDUBshGgwBCyAUQgF8vyEaCyAGKAKgASIEBEAgByAEQQJ0ENkSCyAGKAKQASIERQ0BIAggBEECdBDZEgwBCyAGIAYoAogBNgK4ASAGIAYpA4ABNwOwASAGQbABaiAOEIEEIA5BBXYhDwJAIA5BH3EiB0UNAEEgIAdrIQkgBigCtAEhBQJAIAYoArgBIgxFBEBBACEIDAELIAxBAWtB/////wNxIgtBAWoiDkEDcSEKQQAhCCAFIQQgC0EDTwRAIA5B/P///wdxIQsDQCAEIAQoAgAiDiAHdCAIIAl2cjYCACAEQQRqIg0oAgAhCCANIAggB3QgDiAJdnI2AgAgBEEIaiINKAIAIQ4gDSAOIAd0IAggCXZyNgIAIARBDGoiDSgCACEIIA0gCCAHdCAOIAl2cjYCACAEQRBqIQQgC0EEayILDQALIApFDQELA0AgCCAJdiELIAQgCyAEKAIAIgggB3RyNgIAIARBBGohBCAKQQFrIgoNAAsLIAggCXYiBEUNACAGKAKwASAMRgR/IAZBsAFqELwSIAYoArQBBSAFCyAMQQJ0aiAENgIAIAYgDEEBajYCuAELIA8EQCAGQbABaiAPEOwGC0IAIQMgBigCtAEhB0EAIQgCQAJ+AkACQAJAAkAgBigCuAEiCiIFDgMFAQIACyAHIApBAnQiCGoiBEEMaykCACIDIARBBGsoAgAiBWciCUEgc60iE4ZCAFINAiAHQRBrIQsDQCAIIgRBDEcEQCAEQQRrIQggBCALaigCAEUNAQsLIARBDEchCCAFrSAThiADQSAgCWutiIQiAyAKDQMaQQAhBQwECyAHKAIAIgStIARnQSBzrYYMAgsgBykCACIDIAN5hgwBC0EBIQggBa0gE4YgA0EgIAlrrYiECyEDIAcgCkECdGpBBGsoAgBnIQULIANBACADeacgA1AbIgSthiETAkACQAJAAkACQEG/fyAKQQV0IAVrQUBqIApB////P0sbIARrIgVBC2oiBEHOd04EQCATQguIIQMgE0L/D4MiFEKACFENASAUQoAIVg0DDAQLIAVBjXdLDQFEAAAAAAAAAAAhGgwECyAIIBNCgBCDQguIp3JFDQIMAQsCQAJAIAVBjndGBEAgE0KAgICAgICAgIB/ViEFQgAhAyATQoCAgICAgICAgH9SDQEMAgsgE0J/Qc53IAVrrSIDhkJ/hYMiFEIBIANCAX2GIhVWIQUgEyADiCEDIBQgFVENAQtBznchBCAFDQEMAgtBznchBCAIDQAgBSADp3JBAXFFDQELIANCAXwhAwsgA0KAgICAgICACCADQoCAgICAgIAQgyITUBshAwJAAkAgBCATQjWIp2oiBEHMB2tBNUkEQEJ/QjUgBEHLB2utIhN9hkKAgICAgICAcIUgA4NQDQELRAAAAAAAAAAAIRogA1ANAiAEQc53SA0CIARBywdMDQFEAAAAAAAA8H8hGgwCC0HLByEEIAMgE4YiA0IAUg0ARAAAAAAAAAAAIRoMAQsgA0L/////////B4MgBEGzCGqtQjSGIhMgA0ILhkI/h4MgEyAEQc53RhuEvyEaCyAGKAKwASIERQ0AIAcgBEECdBDZEgsgAAJ/IBqZRAAAAAAAAPB/YgRAIAAgGiAamiACGzkDCEEADAELIAZBDjYCWCAGQQhqIAFBDGoQmw4gACAGQdgAaiAGKAIIIAYoAgwQxxM2AgRBAQs2AgAgBkHAAWokAAv5YAEbfyMAQbADayIEJABBASEDAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgASgCjAEiAyABKAKIASITRgRAIAEoAiAhFyABKAIsIRYLIAEoAhQhEAJAIAEtAJABQQJHBEAgECEUDAELIBAhFCABLQCRAUUNACABKAIMIBBGBEAgAUEMahCaEgsgASgCECAQQRRsaiICIBM2AgggAkEANgIEIAJBADoAACABIBBBAWoiFDYCFCABKAKMASEDCyADIBNGBEAgASgCLCABKAIgaiEYCyABKAJ4IRkgASgCXCEaAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITwRAQQEhCQwCCyABIAJBAWo2AgQLIAQgASgCiAE2AogDIAQgASkCgAE3A4ADIARB+AJqIAEQ5wMgBCgC/AIhAQJ/AkAgBCgC+AJBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgM2AgQgAyAFTw0BIAEgAkECajYCBAsgAUEAOgCRASAEQfACaiABEJQKIAQoAvACIAQoAvQCIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCAEQeACaiABEJQKIAQoAuQCIQEgBCgC4AIhAwwBCyABQQA6AJEBIARB6AJqIAEQlAogBCgC6AIhAyAEKALsAiIBIAI6AJEBCyADQQFHDQALCwJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWoiAjYCBCACIAEoAghPDQEgASACQQFqNgIEC0EAIQUgASgCjAEiAiABKAKIASIDRgRAIAEoAiwhDiABKAIgIQULIAEoAhQhBwJAIAEtAJABQQJHDQAgAS0AkQFFDQAgASgCDCAHRgRAIAFBDGoQmhILIAEoAhAgB0EUbGoiAiADNgIIIAJBADYCBCACQQA6AAAgASAHQQFqNgIUIAEoAowBIQILIAIgA0YEQCABKAIsIAEoAiBqIQYLAkAgASgCiAEiAiABKAKEAU8NACABKAKAASACai0AAEE6Rw0AIAEgAkEBajYCiAFBASEJCyABKAJ4IQ8gASgCXCERAkACQCABLQB8QQFGBEBBARCQASISRQ0IIBJBOjoAACAEQQE2AqwDIAQgEjYCqAMgBEKAgICAEDcCoAMgASACIARBoANqIAkQ+QgLIAEtAJABIQICQAJAAkAgCUUEQCACQf8BcUEBRg0GIAEtAJEBRQ0DIAEoAowBIgIgA0cNASAGIAEoAiAiAyABKAIsIgJqIglJIAkgBmtBAUZxDQMgAyAFTwRAIAEgBTYCICAFIQMLIAIgDkkNAiABIA42AiwMAgsgAkH/AXFBAUYEfyABLQCRAUUNBQJAIAMgASgCjAEiAkYEQCAGIAEoAiwiAyABKAIgIgJqIglJIAkgBmtBAUZxDQcgAiAFTwRAIAEgBTYCIAsgAyAOSQ0BIAEgDjYCLCAOIQMMAQsgAiADTw0GIAEgAzYCjAFBACEDIAFBADYCLCABQQA2AiALIAEoAiQgA0YEQCABQSRqEKMSCyABKAIoIANqQTA6AAAgASADQQFqNgIsIAEtAJABBSACC0H/AXFBAkcNBCABLQCRAUUNBCABKAIUIgIgB00NAyABKAIQIAdBFGxqIgUtAAANCyAFIAI2AgQgASgCiAEhAyABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgAzYCECACQQA2AgggAiAHNgIEIAJBgeAAOwEAIAEgBUEBajYCFAwECyACIANPDQEgASADNgKMAUEAIQMgAUEANgIsIAFBADYCIAsgASgCGCADRgRAIAFBGGoQoxILIAEgA0EBajYCICABKAIcIANqQTA6AAALAkAgAS0AfEEBRw0AIAEtAJEBRQ0AIAFB1ABqQTAgEUEAIAEoAnggD00bEJMFCyABLQCQAUECRw0CIAEtAJEBRQ0CIAcgASgCFEsNAiABIAc2AhQMAgsgByACQZyKyAAQhRMACyABLQB8RQ0AIAEtAJEBRQ0AIAFB1ABqQTAgEUEAIAEoAnggD00bEJMFCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgM2AgQgAyAFTw0BIAEgAkECajYCBAsgAUEAOgCRASAEQdgCaiABEJQKIAQoAtgCIAQoAtwCIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCAEQcgCaiABEJQKIAQoAswCIQEgBCgCyAIhAwwBCyABQQA6AJEBIARB0AJqIAEQlAogBCgC0AIhAyAEKALUAiIBIAI6AJEBCyADQQFHDQALCwJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWoiAjYCBCACIAEoAghPDQEgASACQQFqNgIEC0EAIRFBACESIAEoAowBIgMgASgCiAEiFUYEQCABKAIgIRIgASgCLCERCyABKAIUIQ8CQCABLQCQAUECRwRAIA8hAgwBCyAPIQIgAS0AkQFFDQAgASgCDCACRgRAIAFBDGoQmhILIAEoAhAgD0EUbGoiAiAVNgIIIAJBADYCBCACQQA6AAAgASAPQQFqIgI2AhQgASgCjAEhAwtBACEOIAMgFUYEQCABKAIsIAEoAiBqIQ4LIAEoAnghGyABKAJcIRwCfwJAAkACQCABKAIAQQFGBEAgASgCBCIFIAEoAghPDQEgASAFQQFqNgIEC0EAIQdBACEJIAMgASgCiAEiCEYEQCABKAIgIQkgASgCLCEHCwJAIAEtAJABQQJHBEAgAiEFDAELIAIhBSABLQCRAUUNACABKAIMIAJGBEAgAUEMahCaEgsgASgCECACQRRsaiIFIAg2AgggBUEANgIEIAVBADoAACABIAJBAWoiBTYCFCABKAKMASEDCyADIAhGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQEgASADQQFqNgIECyAEIAEoAogBNgKYAyAEIAEpAoABNwOQAyAEQcACaiABEPABIAQoAsQCIQECQCAEKALAAkEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIDIAEoAggiBk8NAiABIANBAWoiCjYCBCAGIApNDQEgASADQQJqNgIECyABQQA6AJEBIARBuAJqIAEQlAogBCgCuAIgBCgCvAIiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIGRQRAIARBqAJqIAEQlAogBCgCrAIhASAEKAKoAiEDDAELIAFBADoAkQEgBEGwAmogARCUCiAEKAKwAiEDIAQoArQCIgEgBjoAkQELIANBAUcNAAsLQQAhBgJAIAEoAogBIgNBfUsNACADQQJqIgogASgChAFLDQAgASgCgAEgA2ovAABB27oBRw0AIAEgCjYCiAFBASEGCyABLQB8QQFGBEBBAhCQASIKRQ0HIApB27oBOwAAIARBAjYCrAMgBCAKNgKoAyAEQoCAgIAgNwKgAyABIAMgBEGgA2ogBhD5CAsgBkUNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAyABKAIIIgZPDQIgASADQQFqIgo2AgQgBiAKTQ0BIAEgA0ECajYCBAsgAUEAOgCRASAEQaACaiABEJQKIAQoAqACIAQoAqQCIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgMgASgCCE8NAiABIANBAWo2AgQLAkAgAS0AkQEiBkUEQCAEQZACaiABEJQKIAQoApQCIQEgBCgCkAIhAwwBCyABQQA6AJEBIARBmAJqIAEQlAogBCgCmAIhAyAEKAKcAiIBIAY6AJEBCyADQQFHDQALC0EAIQMCQCABKAKIASIGIAEoAoQBTw0AIAEoAoABIAZqLQAAQT9HDQAgASAGQQFqNgKIAUEBIQMLIAEtAHxBAUYEQEEBEJABIgpFDRMgCkE/OgAAIARBATYCrAMgBCAKNgKoAyAEQoCAgIAQNwKgAyABIAYgBEGgA2ogAxD5CAsgAw0CCyABIAQoApgDNgKIASABIAQpA5ADNwKAASAFIAEoAhRLDQAgASAFNgIUCyABLQCQAUEBRg0HIAEtAJEBRQ0DIAEoAowBIgUgCEcNASALIAEoAiAiAyABKAIsIgVqIgZJIAYgC2tBAUZxDQMgAyAJTwRAIAEgCTYCICAJIQMLIAUgB0kNAiABIAc2AiwMAgsgAS0AkAEiA0EBRgR/IAEtAJEBRQ0IAkAgCCABKAKMASIFRgRAIAsgASgCLCIDIAEoAiAiBWoiBkkgBiALa0EBRnENCiAFIAlPBEAgASAJNgIgCyADIAdJDQEgASAHNgIsIAchAwwBCyAFIAhPDQkgASAINgKMAUEAIQMgAUEANgIsIAFBADYCIAsgASgCJCADRgRAIAFBJGoQoxILIAEoAiggA2pBCDoAACABIANBAWo2AiwgAS0AkAEFIAMLQf8BcUECRw0HIAEtAJEBRQ0HIAEoAhQiBSACTQ0EIAEoAhAgAkEUbGoiAy0AAA0QIAMgBTYCBCABKAKIASEHIAEoAhQiAyABKAIMRgRAIAFBDGoQmhILIAEoAhAgA0EUbGoiBSAHNgIQIAVBADYCCCAFIAI2AgQgBUGBEDsBACABIANBAWo2AhQMBwsgBSAITw0BIAEgCDYCjAFBACEDIAFBADYCLCABQQA2AiALIAEoAhggA0YEQCABQRhqEKMSCyABIANBAWo2AiAgASgCHCADakEIOgAACyABLQB8QQFHDQIgAS0AkQFFDQIgAUHUAGpBCCANQQAgASgCeCAMTRsQkwUMAgtBARCnFAALIAIgBUGcisgAEIUTAAsgAS0AkAFBAkcNACABLQCRAUUNACACIAEoAhRLDQAgASACNgIUCwJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAtBACEHQQAhCSABKAKMASIGIAEoAogBIgJGBEAgASgCICEJIAEoAiwhBwsgASgCFCEDAkAgAS0AkAFBAkcEQCADIQUMAQsgAyEFIAEtAJEBRQ0AIAEoAgwgA0YEQCABQQxqEJoSCyABKAIQIANBFGxqIgUgAjYCCCAFQQA2AgQgBUEAOgAAIAEgA0EBaiIFNgIUIAEoAowBIQYLQQAhCyACIAZGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgBCABKAKIATYCmAMgBCABKQKAATcDkAMgBEGIAmogARDwASAEKAKMAiEBAkAgBCgCiAJBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBiABKAIIIghPDQIgASAGQQFqIgo2AgQgCCAKTQ0BIAEgBkECajYCBAsgAUEAOgCRASAEQYACaiABEJQKIAQoAoACIAQoAoQCIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NAiABIAZBAWo2AgQLAkAgAS0AkQEiCEUEQCAEQfABaiABEJQKIAQoAvQBIQEgBCgC8AEhBgwBCyABQQA6AJEBIARB+AFqIAEQlAogBCgC+AEhBiAEKAL8ASIBIAg6AJEBCyAGQQFHDQALC0EAIQYCQCABKAKIASIIQX1LDQAgCEECaiIKIAEoAoQBSw0AIAEoAoABIAhqLwAAQdu6AUcNACABIAo2AogBQQEhBgsgAS0AfEEBRgRAQQIQkAEiCkUNByAKQdu6ATsAACAEQQI2AqwDIAQgCjYCqAMgBEKAgICAIDcCoAMgASAIIARBoANqIAYQ+QgLIAYNAgsgASAEKAKYAzYCiAEgASAEKQOQAzcCgAEgBSABKAIUSw0AIAEgBTYCFAsgAS0AkAFBAUYNBiABLQCRAUUNAyABKAKMASIFIAJHDQEgCyABKAIgIgIgASgCLCIFaiIGSSAGIAtrQQFGcQ0DIAIgCU8EQCABIAk2AiAgCSECCyAFIAdJDQIgASAHNgIsDAILIAEtAJABIgZBAUYEfyABLQCRAUUNBwJAIAIgASgCjAEiBUYEQCALIAEoAiwiAiABKAIgIgVqIgZJIAYgC2tBAUZxDQkgBSAJTwRAIAEgCTYCIAsgAiAHSQ0BIAEgBzYCLCAHIQIMAQsgAiAFTQ0IIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQQk6AAAgASACQQFqNgIsIAEtAJABBSAGC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgIgA00NESABKAIQIANBFGxqIgUtAAANECAFIAI2AgQgASgCiAEhByABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgBzYCECACQQA2AgggAiADNgIEIAJBgRI7AQAgASAFQQFqNgIUDAYLIAIgBU0NASABIAI2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBCToAAAsgAS0AfEEBRw0BIAEtAJEBRQ0BIAFB1ABqQQkgDUEAIAEoAnggDE0bEJMFDAELQQEQpxQACyABLQCQAUECRw0AIAEtAJEBRQ0AIAMgASgCFEsNACABIAM2AhQLAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIEC0EAIQdBACEJIAEoAowBIgYgASgCiAEiAkYEQCABKAIgIQkgASgCLCEHCyABKAIUIQMCQCABLQCQAUECRwRAIAMhBQwBCyADIQUgAS0AkQFFDQAgASgCDCADRgRAIAFBDGoQmhILIAEoAhAgA0EUbGoiBSACNgIIIAVBADYCBCAFQQA6AAAgASADQQFqIgU2AhQgASgCjAEhBgtBACELIAIgBkYEQCABKAIsIAEoAiBqIQsLIAEoAnghDCABKAJcIQ0CQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgBCABKAKIATYCmAMgBCABKQKAATcDkAMgBEHoAWogARDwASAEKALsASEBAkAgBCgC6AFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBiABKAIIIghPDQIgASAGQQFqIgo2AgQgCCAKTQ0BIAEgBkECajYCBAsgAUEAOgCRASAEQeABaiABEJQKIAQoAuABIAQoAuQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NAiABIAZBAWo2AgQLAkAgAS0AkQEiCEUEQCAEQdABaiABEJQKIAQoAtQBIQEgBCgC0AEhBgwBCyABQQA6AJEBIARB2AFqIAEQlAogBCgC2AEhBiAEKALcASIBIAg6AJEBCyAGQQFHDQALC0EAIQYCQCABKAKIASIIIAEoAoQBTw0AIAEoAoABIAhqLQAAQT9HDQAgASAIQQFqNgKIAUEBIQYLIAEtAHxBAUYEQEEBEJABIgpFDRMgCkE/OgAAIARBATYCrAMgBCAKNgKoAyAEQoCAgIAQNwKgAyABIAggBEGgA2ogBhD5CAsgBg0CCyABIAQoApgDNgKIASABIAQpA5ADNwKAASAFIAEoAhRLDQAgASAFNgIUCyABLQCQAUEBRg0FIAEtAJEBRQ0DIAEoAowBIgUgAkcNASALIAEoAiAiAiABKAIsIgVqIgZJIAYgC2tBAUZxDQMgAiAJTwRAIAEgCTYCICAJIQILIAUgB0kNAiABIAc2AiwMAgsgAS0AkAEiBkEBRgR/IAEtAJEBRQ0GAkAgAiABKAKMASIFRgRAIAsgASgCLCICIAEoAiAiBWoiBkkgBiALa0EBRnENCCAFIAlPBEAgASAJNgIgCyACIAdJDQEgASAHNgIsIAchAgwBCyACIAVNDQcgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBCjoAACABIAJBAWo2AiwgAS0AkAEFIAYLQf8BcUECRw0FIAEtAJEBRQ0FIAEoAhQiAiADTQ0RIAEoAhAgA0EUbGoiBS0AAA0QIAUgAjYCBCABKAKIASEHIAEoAhQiBSABKAIMRgRAIAFBDGoQmhILIAEoAhAgBUEUbGoiAiAHNgIQIAJBADYCCCACIAM2AgQgAkGBFDsBACABIAVBAWo2AhQMBQsgAiAFTQ0BIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEKOgAACyABLQB8QQFHDQAgAS0AkQFFDQAgAUHUAGpBCiANQQAgASgCeCAMTRsQkwUMAAsgAS0AkAFBAkcNACABLQCRAUUNACADIAEoAhRLDQAgASADNgIUCwJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAtBACEHQQAhCSABKAKMASIGIAEoAogBIgJGBEAgASgCICEJIAEoAiwhBwsgASgCFCEDAkAgAS0AkAFBAkcEQCADIQUMAQsgAyEFIAEtAJEBRQ0AIAEoAgwgA0YEQCABQQxqEJoSCyABKAIQIANBFGxqIgUgAjYCCCAFQQA2AgQgBUEAOgAAIAEgA0EBaiIFNgIUIAEoAowBIQYLQQAhCyACIAZGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NASABIAZBAWo2AgQLIAQgASgCiAE2ApgDIAQgASkCgAE3A5ADIARByAFqIAEQ8AEgBCgCzAEhAQJAIAQoAsgBQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgYgASgCCCIITw0CIAEgBkEBaiIKNgIEIAggCk0NASABIAZBAmo2AgQLIAFBADoAkQEgBEHAAWogARCUCiAEKALAASAEKALEASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIGIAEoAghPDQIgASAGQQFqNgIECwJAIAEtAJEBIghFBEAgBEGwAWogARCUCiAEKAK0ASEBIAQoArABIQYMAQsgAUEAOgCRASAEQbgBaiABEJQKIAQoArgBIQYgBCgCvAEiASAIOgCRAQsgBkEBRw0ACwtBACEGAkAgASgCiAEiCCABKAKEAU8NACABKAKAASAIai0AAEEhRw0AIAEgCEEBajYCiAFBASEGCyABLQB8QQFGBEBBARCQASIKRQ0UIApBIToAACAEQQE2AqwDIAQgCjYCqAMgBEKAgICAEDcCoAMgASAIIARBoANqIAYQ+QgLIAYNAgsgASAEKAKYAzYCiAEgASAEKQOQAzcCgAEgBSABKAIUSw0AIAEgBTYCFAsgAS0AkAFBAUYNBSABLQCRAUUNAyABKAKMASIFIAJHDQEgCyABKAIgIgIgASgCLCIFaiIGSSAGIAtrQQFGcQ0DIAIgCU8EQCABIAk2AiAgCSECCyAFIAdJDQIgASAHNgIsDAILIAEtAJABIgZBAUYEfyABLQCRAUUNBgJAIAIgASgCjAEiBUYEQCALIAEoAiwiAiABKAIgIgVqIgZJIAYgC2tBAUZxDQggBSAJTwRAIAEgCTYCIAsgAiAHSQ0BIAEgBzYCLCAHIQIMAQsgAiAFTQ0HIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQQs6AAAgASACQQFqNgIsIAEtAJABBSAGC0H/AXFBAkcNBSABLQCRAUUNBSABKAIUIgIgA00NEiABKAIQIANBFGxqIgUtAAANESAFIAI2AgQgASgCiAEhByABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgBzYCECACQQA2AgggAiADNgIEIAJBgRY7AQAgASAFQQFqNgIUDAULIAIgBU0NASABIAI2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBCzoAAAsgAS0AfEEBRw0AIAEtAJEBRQ0AIAFB1ABqQQsgDUEAIAEoAnggDE0bEJMFDAALIAEtAJABQQJHDQAgAS0AkQFFDQAgAyABKAIUSw0AIAEgAzYCFAsCQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLQQAhB0EAIQkgASgCjAEiBiABKAKIASICRgRAIAEoAiAhCSABKAIsIQcLIAEoAhQhAwJAIAEtAJABQQJHBEAgAyEFDAELIAMhBSABLQCRAUUNACABKAIMIANGBEAgAUEMahCaEgsgASgCECADQRRsaiIFIAI2AgggBUEANgIEIAVBADoAACABIANBAWoiBTYCFCABKAKMASEGC0EAIQsgAiAGRgRAIAEoAiwgASgCIGohCwsgASgCeCEMIAEoAlwhDQJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIGIAEoAghPDQEgASAGQQFqNgIECyAEIAEoAogBIgg2ApgDIAQgASkCgAE3A5ADQQAhBgJAIAggASgChAFPDQAgAUGAAWooAgAgCGotAABB2wBHDQAgASAIQQFqNgKIAUEBIQYLIAEtAHxBAUYEQEEBEJABIgpFDRQgCkHbADoAACAEQQE2AqwDIAQgCjYCqAMgBEKAgICAEDcCoAMgASAIIARBoANqIAYQ+QgLAkAgBkUNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBiABKAIIIghPDQIgASAGQQFqIgo2AgQgCCAKTQ0BIAEgBkECajYCBAsgAUEAOgCRASAEQagBaiABEJQKIAQoAqgBIAQoAqwBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NAiABIAZBAWo2AgQLAkAgAS0AkQEiCEUEQCAEQZgBaiABEJQKIAQoApwBIQEgBCgCmAEhBgwBCyABQQA6AJEBIARBoAFqIAEQlAogBCgCoAEhBiAEKAKkASIBIAg6AJEBCyAGQQFHDQALCyAEQZABaiABEPABIAQoApQBIQEgBCgCkAFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBiABKAIIIghPDQIgASAGQQFqIgo2AgQgCCAKTQ0BIAEgBkECajYCBAsgAUEAOgCRASAEQYgBaiABEJQKIAQoAogBIAQoAowBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgYgASgCCE8NAiABIAZBAWo2AgQLAkAgAS0AkQEiCEUEQCAEQfgAaiABEJQKIAQoAnwhASAEKAJ4IQYMAQsgAUEAOgCRASAEQYABaiABEJQKIAQoAoABIQYgBCgChAEiASAIOgCRAQsgBkEBRw0ACwtBACEGAkAgASgCiAEiCCABKAKEAU8NACABKAKAASAIai0AAEHdAEcNACABIAhBAWo2AogBQQEhBgsgAS0AfEEBRgRAQQEQkAEiCkUNFSAKQd0AOgAAIARBATYCrAMgBCAKNgKoAyAEQoCAgIAQNwKgAyABIAggBEGgA2ogBhD5CAsgBg0CCyABIAQoApgDNgKIASABIAQpA5ADNwKAASAFIAEoAhRLDQAgASAFNgIUCyABLQCQAUEBRg0FIAEtAJEBRQ0DIAEoAowBIgUgAkcNASALIAEoAiAiAiABKAIsIgVqIgZJIAYgC2tBAUZxDQMgAiAJTwRAIAEgCTYCICAJIQILIAUgB0kNAiABIAc2AiwMAgsgAS0AkAEiBkEBRgR/IAEtAJEBRQ0GAkAgAiABKAKMASIFRgRAIAsgASgCLCICIAEoAiAiBWoiBkkgBiALa0EBRnENCCAFIAlPBEAgASAJNgIgCyACIAdJDQEgASAHNgIsIAchAgwBCyACIAVNDQcgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBDDoAACABIAJBAWo2AiwgAS0AkAEFIAYLQf8BcUECRw0FIAEtAJEBRQ0FIAEoAhQiAiADTQ0TIAEoAhAgA0EUbGoiBS0AAA0SIAUgAjYCBCABKAKIASEHIAEoAhQiBSABKAIMRgRAIAFBDGoQmhILIAEoAhAgBUEUbGoiAiAHNgIQIAJBADYCCCACIAM2AgQgAkGBGDsBACABIAVBAWo2AhQMBQsgAiAFTQ0BIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEMOgAACyABLQB8QQFHDQAgAS0AkQFFDQAgAUHUAGpBDCANQQAgASgCeCAMTRsQkwUMAAsgAS0AkAFBAkcNACABLQCRAUUNACADIAEoAhRLDQAgASADNgIUCyAEQfAAaiABEPABIAQoAnQhASAEKAJwDAYLIAEtAHxFDQQgAS0AkQFFDQQgAUHUAGpBDCANQQAgASgCeCAMTRsQkwUMBAsgAS0AfEUNAyABLQCRAUUNAyABQdQAakELIA1BACABKAJ4IAxNGxCTBQwDCyABLQB8RQ0CIAEtAJEBRQ0CIAFB1ABqQQogDUEAIAEoAnggDE0bEJMFDAILIAEtAHxFDQEgAS0AkQFFDQEgAUHUAGpBCSANQQAgASgCeCAMTRsQkwUMAQsgAS0AfEUNACABLQCRAUUNACABQdQAakEIIA1BACABKAJ4IAxNGxCTBQtBAAshAiABLQCQASEDAkACQAJAAkACQAJAIAJBAUYEQCADQf8BcUEBRg0HIAEtAJEBRQ0DIAEoAowBIgIgFUcNASAOIAEoAiAiAyABKAIsIgJqIgVJIAUgDmtBAUZxDQMgAyASTwRAIAEgEjYCICASIQMLIAIgEUkNAiABIBE2AiwMAgsgA0H/AXFBAUYEfyABLQCRAUUNBgJAIBUgASgCjAEiAkYEQCAOIAEoAiwiAyABKAIgIgJqIgVJIAUgDmtBAUZxDQggAiASTwRAIAEgEjYCIAsgAyARSQ0BIAEgETYCLCARIQMMAQsgAiAVTw0HIAEgFTYCjAFBACEDIAFBADYCLCABQQA2AiALIAEoAiQgA0YEQCABQSRqEKMSCyABKAIoIANqQQU6AAAgASADQQFqNgIsIAEtAJABBSADC0H/AXFBAkcNBSABLQCRAUUNBSABKAIUIgIgD00NAyABKAIQIA9BFGxqIgUtAAANDCAFIAI2AgQgASgCiAEhAyABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgAzYCECACQQA2AgggAiAPNgIEIAJBgQo7AQAgASAFQQFqNgIUDAULIAIgFU8NASABIBU2AowBQQAhAyABQQA2AiwgAUEANgIgCyABKAIYIANGBEAgAUEYahCjEgsgASADQQFqNgIgIAEoAhwgA2pBBToAAAsgAS0AfEEBRw0BIAEtAJEBRQ0BIAFB1ABqQQUgHEEAIAEoAnggG00bEJMFDAELIA8gAkGcisgAEIUTAAsgAS0AkAFBAkcNASABLQCRAUUNASAPIAEoAhRLDQEgASAPNgIUDAELIAEtAHxFDQAgAS0AkQFFDQAgAUHUAGpBBSAcQQAgASgCeCAbTRsQkwULAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiAzYCBCADIAVPDQEgASACQQJqNgIECyABQQA6AJEBIARB6ABqIAEQlAogBCgCaCAEKAJsIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCAEQdgAaiABEJQKIAQoAlwhASAEKAJYIQMMAQsgAUEAOgCRASAEQeAAaiABEJQKIAQoAmAhAyAEKAJkIgEgAjoAkQELIANBAUcNAAsLIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0BIAEgAkEBaiIDNgIEIAMgBU8NASABIAJBAmo2AgQLIARB0ABqIAEQngMgBCgCVCEBAkAgBCgCUEEBcQ0AIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIARByABqIAEQ7QsgBCgCTCEBIAQoAkhBAXENAANAIARBQGsgARDtCyAEKAJEIQEgBCgCQEEBRw0ACwsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIDNgIEIAMgBU8NASABIAJBAmo2AgQLIAFBADoAkQEgBEE4aiABEJQKIAQoAjggBCgCPCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgJFBEAgBEEoaiABEJQKIAQoAiwhASAEKAIoIQMMAQsgAUEAOgCRASAEQTBqIAEQlAogBCgCMCEDIAQoAjQiASACOgCRAQsgA0EBRw0ACwsCQCABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiAzYCBCADIAVPDQEgASACQQJqNgIECyABLQCRASICQQFGBEAgARDWBSEBDAELIAFBAToAkQEgARDWBSIBIAI6AJEBCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgM2AgQgAyAFTw0BIAEgAkECajYCBAsgAUEAOgCRASAEQSBqIAEQlAogBCgCICAEKAIkIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCAEQRBqIAEQlAogBCgCFCEBIAQoAhAhAwwBCyABQQA6AJEBIARBGGogARCUCiAEKAIYIQMgBCgCHCIBIAI6AJEBCyADQQFxRQ0ACwsgBEEIaiABEK4LIAQoAgwhASAEKAIIDAELQQELIglBAUcNACABIAQoAogDNgKIASABIAQpA4ADNwKAASAUIAEoAhRLDQAgASAUNgIUC0EBIQMgAS0AkAEhFAJAAkACQAJAAkACQCAJQQFGBEAgFEH/AXFBAUYNByABLQCRAUUNAyABKAKMASICIBNHDQEgGCABKAIgIgMgASgCLCICaiIFSSAFIBhrQQFGcQ0DIAMgF08EQCABIBc2AiAgFyEDCyACIBZJDQIgASAWNgIsDAILIBRB/wFxQQFGBH8gAS0AkQFFDQYCQCATIAEoAowBIgJGBEAgGCABKAIsIgMgASgCICICaiIFSSAFIBhrQQFGcQ0IIAIgF08EQCABIBc2AiALIAMgFkkNASABIBY2AiwgFiEDDAELIAIgE08NByABIBM2AowBQQAhAyABQQA2AiwgAUEANgIgCyABKAIkIANGBEAgAUEkahCjEgsgASgCKCADakEDOgAAIAEgA0EBajYCLCABLQCQAQUgFAtB/wFxQQJHDQUgAS0AkQFFDQUgASgCFCICIBBNDQMgASgCECAQQRRsaiIFLQAADQggBSACNgIEIAEoAogBIQMgASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAM2AhAgAkEANgIIIAIgEDYCBCACQYEGOwEAIAEgBUEBajYCFAwFCyACIBNPDQEgASATNgKMAUEAIQMgAUEANgIsIAFBADYCIAsgASgCGCADRgRAIAFBGGoQoxILIAEgA0EBajYCICABKAIcIANqQQM6AAALQQEhAyABLQB8QQFHDQEgAS0AkQFFDQEgAUHUAGpBAyAaQQAgASgCeCAZTRsQkwUMAQsgECACQZyKyAAQhRMACyABLQCQAUECRw0BIAEtAJEBRQ0BIBAgASgCFEsNASABIBA2AhQMAQtBACEDIAEtAHxFDQAgAS0AkQFFDQAgAUHUAGpBAyAaQQAgASgCeCAZTRsQkwULIAAgATYCBCAAIAM2AgAgBEGwA2okAA8LQQEQpxQAC0Ggq8kAQShBrIrIABCvFAALIAMgAkGcisgAEIUTAAvxXgISfwJ+IwBBwAFrIgUkAEEAQQYgBC0AECISQQFxIhQbIRYgBUGYAWohFSAEKAIMIQogBCgCCCEOIAQoAgQhBiAEKAIAIQgCQAJAAkACQAJAAkACQAJAAkADQAJAIAMhCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIApFBEAgBgRAIAYgCGohDAJAAkACQAJAAn8gCCwAACIEQQBOBEAgBEH/AXEMAQsgCC0AAUE/cSIJIARBH3EiB0EGdHIgBEFfTQ0AGiAILQACQT9xIAlBBnRyIgkgB0EMdHIgBEFwSQ0AGiAHQRJ0QYCA8ABxIAgtAANBP3EgCUEGdHJyCyIDQSBrDgYHAQEBAQABCyAIQQFqIQkgBkEBRg0CAkACfwJ/AkAgCSwAACIDQUBOBEACQCADQQBIBEAgCC0AAkE/cSEHIANBH3EhBCADQV9LDQEgBEEGdCAHcgwECyADQf8BcSEKQQEMBAsgCC0AA0E/cSAHQQZ0ciEHIANBcE8NASAHIARBDHRyDAILIAggBkEBIAZBpMLCABD9FAALIARBEnRBgIDwAHEgCC0ABEE/cSAHQQZ0cnILIQpBASAKQYABSQ0AGkECIApBgBBJDQAaQQNBBCAKQYCABEkbCyIEIAZBAWsiA08EQCADIARGDQEMgAELIAQgCWosAABBQEgNfwsgBCAJaiEJIAMgBGshB0EBIQxB/wEhAwJAAkAgCkEjaw4OCQoKCgoKCgoKCgEKCgMACyAKQd8ARw0JQQAhDEECIQMMCAtBACEMQQAhAwwHCyADQQlrQQVJDQUCQCADQYUBSQ0AAkACQAJAAkAgA0EIdiIEQRZrDhsABAQEBAQEBAQEAgQEBAQEBAQEBAQEBAQEBAEDCyADQYAtRg0JDAMLIANBgOAARw0CDAgLIANB/wFxLQDypUlBAnENBwwBCyAEDQAgA0H/AXEtAPKlSUEBcQ0GC0EAIQQgCCEKAkADQAJ/IAoiAywAACIHQQBOBEAgB0H/AXEhCSADQQFqDAELIAMtAAFBP3EhCiAHQR9xIQkgB0FfTQRAIAlBBnQgCnIhCSADQQJqDAELIAMtAAJBP3EgCkEGdHIhCiAHQXBJBEAgCiAJQQx0ciEJIANBA2oMAQsgCUESdEGAgPAAcSADLQADQT9xIApBBnRyciEJIANBBGoLIQogCUEJayIHQRdNQQBBASAHdEGfgIAEcRsNAQJAAkAgCUGFAU8EQAJAAkACQCAJQQh2IgdBFmsOGwAFBQUFBQUFBQUCBQUFBQUFBQUFBQUFBQUFAQQLIAlBgC1HDQQMBgsgCUGA4ABHDQMMBQsgCUH/AXEtAPKlSUECcUUNAgwECyAJQSVHDQEMAwsgBw0AIAlB/wFxLQDypUlBAXENAgsgBCADayAKaiEEIAogDEcNAAsgBiEECyAEBEACQCAEIAZPBEAgBCAGRg0BDAcLIAQgCGosAABBv39MDQYLIAQgCGohCSAGIARrIQdBACEKIAghDAwtC0HQxcIAQR5B8MXCABCvFAALQQAhDEEBIQMMBQsgBUEBNgKgASAFIAg2ApwBIAUgFjoAmAFBACEHQQAhCiAWIRAMKQsgBUH/AToAmAEMJwsgCkEBayEKIA5BDGohAwJAAkACQAJAAkACQAJAAkAgDi0AAEEBaw4GAAMBBAU0AgsgDkEIaigCACIERQRAQQAhBEEBIQwMBwsgDigCBCEHIAQQkAEiDARAIARFDQcgDCAHIAT8CgAADAcLQbjwyQBBAToAAAALIA5BCGooAgAiBEUEQEEAIQRBASEMDAULIA4oAgQhByAEEJABIgwEQCAERQ0FIAwgByAE/AoAAAwFC0G48MkAQQE6AAAACyAOKAIIIQQgDigCBCEMIAghCSAGIQcgAyEODC0LIAghCSAGIQcgAyEODC0LIA4oAgghBCAOKAIEIQwgDi0AASENQQQhECAIIQkgBiEHIAMhDgwtCyAOKAIIIQQgDigCBCEMIA4tAAEhDUEFIRAgCCEJIAYhByADIQ4MLQsgCCEJIAYhByADIQ4MbgsgCCEJIAYhByADIQ4MbwsgCCAGQQAgBEGAxsIAEP0UAAtBACEHIAghBAJAA0ACfyAEIgMsAAAiBEEATgRAIARB/wFxIQogA0EBagwBCyADLQABQT9xIQogBEEfcSEJIARBX00EQCAJQQZ0IApyIQogA0ECagwBCyADLQACQT9xIApBBnRyIQogBEFwSQRAIAogCUEMdHIhCiADQQNqDAELIAlBEnRBgIDwAHEgAy0AA0E/cSAKQQZ0cnIhCiADQQRqCyEEAkAgCkEJa0EFSQ0AIApBIEYNACAKQYUBSQ0CAkACQAJAAkAgCkEIdiIJQRZrDhsBBgYGBgYGBgYGAwYGBgYGBgYGBgYGBgYGBgIACyAJDQUgCkH/AXEtAPKlSUEBcQ0DDAULIApBgC1GDQIMBAsgCkGA4ABGDQEMAwsgCkH/AXEtAPKlSUECcUUNAgsgByADayAEaiEHIAQgDEcNAAsgBiEHCwJAIAcEQAJAIAYgB00EQCAGIAdGDQEMAwsgByAIaiwAAEG/f0wNAgsgByAIaiEJIAYgB2shB0EAIQoMKQtB0MXCAEEeQZDGwgAQrxQACyAIIAZBACAHQaDGwgAQ/RQACwJ/AkAgBiAEQQFqRwRAAn8CQCAJLAAAIgRBAEgEQCAJLQABQT9xIQogBEEfcSENIARBX0sNASANQQZ0IApyDAILIARB/wFxIQpBAQwECyAJLQACQT9xIApBBnRyIhAgDUEMdHIgBEFwSQ0AGiANQRJ0QYCA8ABxIAktAANBP3EgEEEGdHJyCyIKQYABTw0BQQEMAgtBBiEQAkAgFEUNAEEAIRAgBiAGIAdrIgRNBEBBACEHDAELIAQgCGosAABBv39MDRULIAUgBDYCoAEgBSAINgKcAQwEC0ECIApBgBBJDQAaQQNBBCAKQYCABEkbCyEEAkAgBCAHTwRAIAQgB0YNAQx3CyAEIAlqLAAAQUBIDXYLIAQgCWohCSAHIARrIQcgDA0BCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAKQSVrDlYpAAAAAAAnAAA3AAAAADgAADkAADooAAAAAAAAAQIDBAAFBgcIAAAACQAACgALDA0ODxAtERIAAAAAAAATFC4VFhcYFAAZGhscHQAeHy8gISIjJDAlJgALIAVBpAFqIBIgCCAGIAcQlxIMSAsgBUGFDjsBpAEMRwsgBUGFCjsBpAEMRgsgBUEBOgCmASAFQYQCOwGkAUEAIQpBAQxGCyAFQQE6AKYBIAVBhA47AaQBQdTCwgAhDkEEIQpBAAxFCyAFQQE6AKYBQQQhCiAFQQQ7AaQBQYTDwgAhDkEADEQLIAVBAToApgEgBUGEBjsBpAFBACEKQQEMQwsgBUEBOgCmASAFQYQeOwGkAUEAIQpBAQxCCyAFQQE6AKYBIAVBhCA7AaQBQQAhCkEBDEELIAVBAToApgEgBUGEIjsBpAFBACEKQQEMQAsgBUGFEDsBpAEMPgsgBUEBOgCmASAFQYQeOwGkAUG0w8IAIQ5BAiEKQQAMPgsgBUEBOgCmASAFQYQkOwGkAUEAIQpBAQw9CyAFQQE6AKYBIAVBhB47AaQBQczDwgAhDkEEIQpBAAw8CyAFQQE6AKYBIAVBhBI7AaQBQQAhCkEBDDsLIAVBAToApgEgBUGEFjsBpAFBACEKQQEMOgsgBUEBOgCmASAFQYQUOwGkAUEAIQpBAQw5CyAFQQE6AKYBIAVBBDsBpAFBACEKQQEMOAsgBUGFHDsBpAEMNgsgBUGFDDsBpAEMNQsgBUGFCDsBpAEMNAsgBUEBOgCmASAFQYQQOwGkAUEAIQpBAQw0CyAFQQI6AKYBIAVBhBA7AaQBDDILIAVBAToApgEgBUGEJjsBpAFBACEKQQEMMgsgBUEBOgCmASAFQYQKOwGkAUEAIQpBAQwxCyAFQQE6AKYBIAVBhBw7AaQBQQAhCkEBDDALIAVBAjoApgEgBUGEHjsBpAEMLgsgBUECOgCmASAFQYQgOwGkAQwtCyAFQQE6AKYBIAVBhA47AaQBQQAhCkEBDC0LIAVBATYCrAEgBUGgssgANgKoASAFQQI6AKQBQQAhCkEBDCwLIAVBhRI7AaQBDCoLQQAhCiAFQQA6AKYBIAVBhAw7AaQBQQEMKgtBACEKIAVBADoApgEgBUGEKDsBpAFBAQwpCyAFQQE2AqwBIAVB/MPCADYCqAEgBUECOgCkAUEAIQpBAQwoC0EAIQogBUEAOgCmASAFQYQaOwGkAUEBDCcLIAVBAjoApgEgBUGEEDsBpAFBgMTCACEOQQQhCkEADCYLQQAhCiAFQQA6AKYBIAVBhBg7AaQBQQEMJQsgBUEBOgCmASAFQYQEOwGkAUEAIQpBAQwkCyAFQYUmOwGkAQwiCyAFQYUsOwGkAQwhCyAHQQNJDQggCS8AACIEQbr0AHMgCUECai0AAEH6AHNyRQ0JIARBuvQBRg0MDBwLIAVBATYCrAEgBUGkiMkANgKoAUEAIQogBUEAOgCkAUEBDCALIApB+gBGDQFBBiEQIBRFDQACQCAGIAYgB2siA00EQCAHRQ0BDHcLIAMgCGosAABBQEgNdgsgBSADNgKgASAFIAg2ApwBQQAhEAsgBSAQOgCYAUEAIQoMIQsgBUEFOwGkAQwcCyAFQaQBakGks8IAEOAOQbCzwgAhDkEEIQpBAAwcCyAFQaQBakHgs8IAEOAOQeyzwgAhDkEMIQpBAAwbCyAFQaQBakGQssIAEOAOQZyywgAhDkEGIQpBAAwaCyAFQaQBakHossIAEOAOQfSywgAhDkEEIQpBAAwZCyAHDgMVAQIBCyAHQQNHBEAgCSwAA0G/f0wNBAsgBUGFIjsBpAEgCUEDaiEJIAdBA2shBwwWCyAJLQAAQfoARg0SDBMLIAkvAABBuvQBRw0QDA8LIAksAAJBv39KDQ4gCSAHQQIgB0HAxMIAEP0UAAsgCSAHQQMgB0HQxMIAEP0UAAsgBSAJNgKwASAFIAcgCWoiDDYCtAEgBUHwAGogBUGwAWoQlxBBASEEIAUoAnBBAXFFDQsCQCAFKAJ0IgpBgAFJDQBBAiEEIApBgBBJDQBBA0EEIApBgIAESRshBAsCQCAEIAdPBEAgBCAHRg0BDAwLIAQgCWosAABBQEgNCwsgBCAJaiEJIAcgBGshBwJAAkACQAJAAkACQCAKQTNrDgcDAQEEAQEFAAsgCkHmAEYNAQsgBUGkAWogEiAIIAYgBxCXEgwVCyAFQYUUOwGkAQwUCyAFIAw2ArwBIAUgCTYCuAEgBUHYAGogBUG4AWoQlxBBASEEIAUoAlhBAXFFDQ0CQCAFKAJcIgpBgAFJDQBBAiEEIApBgBBJDQBBA0EEIApBgIAESRshBAsCQCAEIAdPBEAgBCAHRg0BDA0LIAQgCWosAABBQEgNDAsgByAEayEHAkAgCkHmAEYEQCAFQYUWOwGkAQwBCyAFQaQBaiASIAggBiAHEJcSCyAEIAlqIQkMEwsgBSAMNgK8ASAFIAk2ArgBIAVB4ABqIAVBuAFqEJcQQQEhBCAFKAJgQQFxRQ0MAkAgBSgCZCIKQYABSQ0AQQIhBCAKQYAQSQ0AQQNBBCAKQYCABEkbIQQLAkAgBCAHTwRAIAQgB0YNAQwLCyAEIAlqLAAAQUBIDQoLIAQgCWohCSAHIARrIQcgCkHmAEYEQCAFQYUYOwGkAQwTCyAFQaQBaiASIAggBiAHEJcSDBILIAUgDDYCvAEgBSAJNgK4ASAFQegAaiAFQbgBahCXEEEBIQQgBSgCaEEBcUUNCwJAIAUoAmwiCkGAAUkNAEECIQQgCkGAEEkNAEEDQQQgCkGAgARJGyEECwJAIAQgB08EQCAEIAdGDQEMCQsgBCAJaiwAAEFASA0ICyAEIAlqIQkgByAEayEHIApB5gBGBEAgBUGFGjsBpAEMEgsgBUGkAWogEiAIIAYgBxCXEgwRCyAFIAk2ArgBIAUgByAJajYCvAEgBUH4AGogBUG4AWoQlxBBASEEIAUoAnhBAXFFDQoCQCAFKAJ8IgpBgAFJDQBBAiEEIApBgBBJDQBBA0EEIApBgIAESRshBAsCQCAEIAdPBEAgBCAHRg0BDAcLIAQgCWosAABBQEgNBgsgByAEayEHIApB5gBGBEAgBUGFAjsBpAEgBCAJaiEJDBELIAVBpAFqIBIgCCAGIAcQlxIgBCAJaiEJDBALIAUgCTYCuAEgBSAHIAlqNgK8ASAFQYABaiAFQbgBahCXEEEBIQQgBSgCgAFBAXFFDQkCQCAFKAKEASIKQYABSQ0AQQIhBCAKQYAQSQ0AQQNBBCAKQYCABEkbIQQLAkAgBCAHTwRAIAQgB0YNAQwFCyAEIAlqLAAAQUBIDQQLIAcgBGshByAKQeYARgRAIAVBhQQ7AaQBIAQgCWohCQwQCyAFQaQBaiASIAggBiAHEJcSIAQgCWohCQwPCyAFIAk2ArgBIAUgByAJajYCvAEgBUGIAWogBUG4AWoQlxBBASEEIAUoAogBQQFxRQ0IAkAgBSgCjAEiCkGAAUkNAEECIQQgCkGAEEkNAEEDQQQgCkGAgARJGyEECwJAIAQgB08EQCAEIAdGDQEMAwsgBCAJaiwAAEFASA0CCyAHIARrIQcgCkHmAEYEQCAFQYUGOwGkASAEIAlqIQkMDwsgBUGkAWogEiAIIAYgBxCXEiAEIAlqIQkMDgsgCCAGQQAgBEGwxsIAEP0UAAsgCSAHIAQgB0HAxcIAEP0UAAsgCSAHIAQgB0GwxcIAEP0UAAsgCSAHIAQgB0GgxcIAEP0UAAsgCSAHIAQgB0GQxcIAEP0UAAsgCSAHIAQgB0GAxcIAEP0UAAsgCSAHIAQgB0HwxMIAEP0UAAsgCSAHIAQgB0HgxMIAEP0UAAsgFSASIAggBiAHEJcSQQAhCgwHCyAFQYUgOwGkASAJQQJqIQkgB0ECayEHDAQLIAktAABB+gBHDQEgCSwAAUFASA0CCyAFQYUeOwGkASAJQQFqIQkgB0EBayEHQQAhCkEBDAMLIAVBpAFqIBIgCCAGIAcQlxIMAQsgCSAHQQEgB0GwxMIAEP0UAAtBACEKQQELIQQCQCADQf8BRwRAIAQgBS0ApAEiBEEERnFFDQEgBSADOgCaASAFIAUtAKUBOgCZASAFQQQ6AJgBDAILIBUgBSgCrAE2AgggFSAFKQKkATcCAAwBCwJAIAUgFAR/IAYgB2shAwJAIAYgB0YNACADIAZPBEAgB0UNAQwDCyADIAhqLAAAQUBIDQILIAUgAzYCoAEgBSAINgKcAUEABUEGCzoAmAECQCAEQQFrDgMAAgACCyAFKAKsASIDRQ0BIAUoAqgBIghBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgA2pJDVcgBkEARyAEIANBJ2pLcUUEQCAIELwFDAILDFgLDFULIAUtAJgBIhBB/wFHDQELIAAgCzYCBCAAIAI2AgAMUAsgBSgCoAEhBCAFKAKcASEMIAUtAJkBIQ0gEEEBaw4GRwFFAgMEAAsgBCALSw0EIAwgAiAEEI8TRQ0FIABBADYCACAAQQM6AAQMTgsgBSACIAsQ8QwgBSgCBCEDIAUoAgAhAgxIC0EkIQZBAiEDQSUhCCANQf8BcUEBaw4UGBcVBAUGBwgJCgsMDQ4PEBESExQWC0ETIA1BBGsgDUH/AXEiA0EDTRtB/wFxQQFrDhMxMBwuLh0eHyAhKCgoJygnJCMzMgsgAEEANgIAIABBBjoABAxKCyAAQQA2AgAgAEEEOgAEDEkLAkACQCAERQ0AIAQgC08NACACIARqIgwsAABBQEgNASALIARrIQMgByEGIAkhCCAMIQIMRwsgAiAEaiECIAsgBGshAwxECyACIAsgBCALQYCxwgAQ/RQAC0EmIQYMEwtBJyEGDBILQSghBkEBIQMMEQtBKSEGDBALQSohBgwPC0ErIQYMDgtBLCEGDA0LQS0hBgwMC0EuIQZBASEDDAsLQS8hBkEBIQMMCgtBMCEGQQMhAwwJC0ExIQYMCAtBMiEGDAcLQTMhBgwGC0E0IQYMBQtBNSEGQQkhAwwEC0E2IQZBfyEDDAMLQTchCAsgBUEwaiACIAsQ8QwgBSgCNCIDRQRAQQQhBAwrCyAFKAIwIgYtAAAiAkEraw4DBAMCAwtBOCEGCyAFQThqIAIgCxDxDCAFQZABaiAFKAI4IAUoAjxBASADEJkMIAUoApABIgINCiAAIAUtAJQBOgAEIABBADYCAAwzCyADQQFHDQJBBCECDCYLIAJBMGsiAkH/AXFBCUsEQEEDIQQMJwsgAq1C/wGDIRdBASECIANBAUYNIiAGLQABIgtBMGsiAkH/AXFBCUsEQEEBIQIMIQsgF0IKfiACrUL/AYN8IRdBAiECIANBAkYNIiAGLQACIgtBMGsiAkH/AXFBCUsEQEECIQIMIQsgF0IKfiACrUL/AYN8IRdBAyECIANBA0YNIiAGLQADIgtBMGsiAkH/AXFBCkkNIUEDIQIMIAsgA0EBRgRAQQQhAgwfCyAGLAABQb9/Sg0dIAYgA0EBIANBoLHCABD9FAALIAYsAAFBv39KDRsgBiADQQEgA0GwscIAEP0UAAsgBUGQAWogAiALEPkMIAUtAJgBIgtB/wFGBEAgBS0AkAEhASAAQQA2AgAgACABOgAEDC8LIAUoApABIQICQAJAIAUoApQBIgMgC0EDdCIIKAK0zEIiBkkNACAIQbDMwgBqKAIAIQ1BACEIA0AgBiAIRwRAIAIgCGohDyAIIA1qIREgCEEBaiEIQSBBACAPLQAAIg9BwQBrQf8BcUEaSRsgD3JB/wFxQSBBACARLQAAIg9BwQBrQf8BcUEaSRsgD3JB/wFxRg0BDAILCyADIAZLBEAgAiAGaiwAAEFASA0CCyACIAZqIQIgAyAGayEDCyABLQCoASIIQf8BRyAIIAtHcQ0TIAEgCzoAqAEMIgsgAiADIAYgA0HEx8IAEP0UAAtBACEDIAchBiAJIQggC0UNKiALIQMgAi0AAEEuRw0qIANBAUcEQCACLAABQUBIDRALIAVBkAFqIAJBAWogA0EBaxDZBSAFKAKQASICDQ4gACAFLQCUAToABCAAQQA2AgAMLQtBACEDIAchBiAJIQggC0UNKSALIQMgAi0AAEEuRw0pIANBAUcNDEEEIQQMFwtBACEDIAchBiAJIQggC0UNKCALIQMgAi0AAEEuRw0oQQQhBCADQQFHDQoMFQtBACEDIAchBiAJIQggC0UNJyALIQMgAi0AAEEuRw0nQQQhBCADQQFHDQgMEwsCQCALRQRAQQAhDQwBCyACIAtqIRFBACENIAIhAwNAAn8gAyIGLAAAIgNBAE4EQCADQf8BcSEIIAZBAWoMAQsgBi0AAUE/cSEPIANBH3EhCCADQV9NBEAgCEEGdCAPciEIIAZBAmoMAQsgBi0AAkE/cSAPQQZ0ciEPIANBcEkEQCAPIAhBDHRyIQggBkEDagwBCyAIQRJ0QYCA8ABxIAYtAANBP3EgD0EGdHJyIQggBkEEagshAyAIQQlrIg9BF01BAEEBIA90QZ+AgARxGw0BAkAgCEGFAUkNAAJAAkACQAJAIAhBCHYiD0EWaw4bAAQEBAQEBAQEBAIEBAQEBAQEBAQEBAQEBAQBAwsgCEGALUcNAwwFCyAIQYDgAEcNAgwECyAIQf8BcS0A8qVJQQJxRQ0BDAMLIA8NACAIQf8BcS0A8qVJQQFxDQILIA0gBmsgA2ohDSADIBFHDQALIAshDQsgAiANaiECIAsgDWshAwwcCyAFKQOYASEXIAUoApQBIQMgBiEIDBoLIAVBkAFqIAEgAiALEKgJIAUoApABIgINASAAIAUtAJQBOgAEIABBADYCAAwnCyAFQZABaiABIAIgCxC0AyAFKAKQASICRQ0BCyAFKAKUASEDDCALIAAgBS0AlAE6AAQgAEEANgIADCQLIAVByABqIAIgCxDxDCAFQZABaiAFKAJIIAUoAkxBAUEAELgEIAUoApABIgIEQCAFKAKYASEEIAUoApQBIQMCQCABKAKgAUEBRgRAIAEoAqQBIARHDQELIAEgBDYCpAEgAUEBNgKgAQwgCyAAQQA2AgAgAEEBOgAEDCQLIAAgBS0AlAE6AAQgAEEANgIADCMLIAVBQGsgAiALEPEMIAVBkAFqIAUoAkAgBSgCREEAQQAQuAQgBSgCkAEiAgRAIAUoApgBIQQgBSgClAEhAwJAIAEoAqABQQFGBEAgASgCpAEgBEcNAQsgASAENgKkASABQQE2AqABDB8LIABBADYCACAAQQE6AAQMIwsgACAFLQCUAToABCAAQQA2AgAMIgsCQCACLAABIghBQE4EQCADQQpJDQxBAyEEIAhBMGsiCEH/AXFBCk8NDCACLQACQTBrIgZB/wFxQQlLDQwgAi0AA0Ewa0H/AXEiC0EJSw0MIAItAARBMGtB/wFxIgxBCUsNDCACLQAFQTBrQf8BcSINQQlLDQwgAi0ABkEwa0H/AXEiEEEJSw0MIAItAAdBMGtB/wFxIg9BCUsNDCACLQAIQTBrQf8BcSIRQQlLDQwgAi0ACUEwa0H/AXEiE0EKTw0MIANBAWsiBEEKSQ0BIAIsAApBv39KDQEgAkEBaiAEQQkgBEGQyMIAEP0UAAsgAiADQQEgA0GAssIAEP0UAAsgCEEKbCAGakH/AXFBCmwgC2pBCmwgDGpBCmwgDWpBCmwgEGpBCmwgD2pBCmwgEWpBCmwgE2ohBAJAIAEoApgBQQFHDQAgASgCnAEgBEYNACAAQQA2AgAgAEEBOgAEDCILIAEgBDYCnAEgAUEBNgKYASADQQprIQMgAkEKaiECDBwLAkAgAiwAASIIQUBOBEAgA0EHSQ0MQQMhBCAIQTBrIghB/wFxQQpPDQwgAi0AAkEwayIGQf8BcUEJSw0MIAItAANBMGtB/wFxIgtBCUsNDCACLQAEQTBrQf8BcSIMQQlLDQwgAi0ABUEwa0H/AXEiDUEJSw0MIAItAAZBMGtB/wFxIhBBCk8NDCADQQFrIgRBB0kNASACLAAHQb9/Sg0BIAJBAWogBEEGIARBkMjCABD9FAALIAIgA0EBIANB8LHCABD9FAALIAhBCmwgBmpB/wFxQQpsIAtqQQpsIAxqQQpsIA1qQQpsIBBqQegHbCEEAkAgASgCmAFBAUcNACABKAKcASAERg0AIABBADYCACAAQQE6AAQMIQsgASAENgKcASABQQE2ApgBIANBB2shAyACQQdqIQIMGwsCQCACLAABIghBQE4EQEEEIQQgA0EESQ0MQQMhBCAIQTBrIghB/wFxQQpPDQwgAi0AAkEwayIGQf8BcUEJSw0MIAItAANBMGtB/wFxIgtBCk8NDCADQQFrIgRBBEkNASACLAAEQb9/Sg0BIAJBAWogBEEDIARBkMjCABD9FAALIAIgA0EBIANB4LHCABD9FAALIAhBCmwgBmpB/wFxQQpsIAtqQcCEPWwhBAJAIAEoApgBQQFHDQAgASgCnAEgBEYNACAAQQA2AgAgAEEBOgAEDCALIAEgBDYCnAEgAUEBNgKYASACQQRqIQIgA0EEayEDDBoLAkACQCAFKQOYASIXQv+T69wDVgRAQQAhCAwBCyAFKAKUASEDQQEhCCAXpyEEIAEoApgBQQFHDQEgASgCnAEgBEYNAQsgAEEANgIAIAAgCDoABAwfCyABIAQ2ApwBIAFBATYCmAEMGQsgAiADQQEgA0HQscIAEP0UAAsgC0ECTwRAIAItAAFBIHIhAwJAAn8CQAJAIAItAABBIHJB4QBrDhAAAwMDAwMDAwMDAwMDAwMBAwsgA0HtAEcNAkEADAELIANB7QBHDQFBAQshAwJAIAEoAnhBAUYEQCABKAJ8IANHDQELIAEgAzYCfCABQQE2AngCQCALQQJHBEAgAiwAAkG/f0wNAQsgAkECaiECIAtBAmshAwwbCyACIAtBAiALQcCxwgAQ/RQACyAAQQA2AgAgAEEBOgAEDB4LIABBADYCACAAQQM6AAQMHQsgAEEANgIAIABBBDoABAwcCyAAQQA2AgAgAEEBOgAEDBsLIAVBkAFqIAIgCxD5DCAFLQCYASIEQf8BRwRAIAUoApQBIQMgBSgCkAEhAiABLQCoASIIQf8BRyAEIAhHcUUEQCABIAQ6AKgBDBcLIABBADYCACAAQQE6AAQMGwsgACAFLQCQAToABCAAQQA2AgAMGgsgBUGQAWogAiALEN4NIAUoApABIgIEQAJAAkAgBS0AmAEiBEELSwRAQQAhCAwBCyAFKAKUASEDQQEhCCAEQQFqQf8BcSEEIAEoAkhBAUcNASABKAJMIARGDQELIABBADYCACAAIAg6AAQMGwsgASAENgJMIAFBATYCSAwVCyAAIAUtAJQBOgAEIABBADYCAAwZCyAFQZABaiACIAsQ0wogBSgCkAEiAgRAAkACQCAFLQCYASIEQQtLBEBBACEIDAELIAUoApQBIQNBASEIIARBAWpB/wFxIQQgASgCSEEBRw0BIAEoAkwgBEYNAQsgAEEANgIAIAAgCDoABAwaCyABIAQ2AkwgAUEBNgJIDBQLIAAgBS0AlAE6AAQgAEEANgIADBgLAkACQAJAAkACQCADQQFrDgMBAgMACyAFQdAAaiACIAsQ8QwgBUGQAWogBSgCUCAFKAJUQQFBARC4BCAFKAKQASICRQ0DIAUoApgBIQQgBSgClAEhAwJAIAEoAqABQQFGBEAgASgCpAEgBEcNAQsgASAENgKkASABQQE2AqABDBcLIABBADYCACAAQQE6AAQMGwsCQAJAIAtBA08EQCACLQAAQTBrIgNB/wFxQQpPDQEgAi0AAUEwayIEQf8BcUEJSw0BIAItAAJBMGtB/wFxIghBCk8NASALQQNGDQIgAiwAA0G/f0oNAiACIAtBAyALQZDIwgAQ/RQACyAAQQA2AgAgAEEEOgAEDBwLIABBADYCACAAQQM6AAQMGwsgA0EKbCAEakH/AXFBCmwgCGpBwIQ9bCEDAkAgASgCmAFBAUcNACABKAKcASADRg0AIABBADYCACAAQQE6AAQMGwsgASADNgKcASABQQE2ApgBIAtBA2shAyACQQNqIQIMFQsCQAJAIAtBBk8EQCACLQAAQTBrIgNB/wFxQQpPDQEgAi0AAUEwayIEQf8BcUEJSw0BIAItAAJBMGtB/wFxIghBCUsNASACLQADQTBrQf8BcSIGQQlLDQEgAi0ABEEwa0H/AXEiDEEJSw0BIAItAAVBMGtB/wFxIg1BCk8NASALQQZGDQIgAiwABkG/f0oNAiACIAtBBiALQZDIwgAQ/RQACyAAQQA2AgAgAEEEOgAEDBsLIABBADYCACAAQQM6AAQMGgsgA0EKbCAEakH/AXFBCmwgCGpBCmwgBmpBCmwgDGpBCmwgDWpB6AdsIQMCQCABKAKYAUEBRw0AIAEoApwBIANGDQAgAEEANgIAIABBAToABAwaCyABIAM2ApwBIAFBATYCmAEgC0EGayEDIAJBBmohAgwUCwJAAkAgC0EJTwRAIAItAABBMGsiA0H/AXFBCk8NASACLQABQTBrIgRB/wFxQQlLDQEgAi0AAkEwa0H/AXEiCEEJSw0BIAItAANBMGtB/wFxIgZBCUsNASACLQAEQTBrQf8BcSIMQQlLDQEgAi0ABUEwa0H/AXEiDUEJSw0BIAItAAZBMGtB/wFxIhBBCUsNASACLQAHQTBrQf8BcSIPQQlLDQEgAi0ACEEwa0H/AXEiEUEKTw0BIAtBCUYNAiACLAAJQb9/Sg0CIAIgC0EJIAtBkMjCABD9FAALIABBADYCACAAQQQ6AAQMGgsgAEEANgIAIABBAzoABAwZCyADQQpsIARqQf8BcUEKbCAIakEKbCAGakEKbCAMakEKbCANakEKbCAQakEKbCAPakEKbCARaiEDAkAgASgCmAFBAUcNACABKAKcASADRg0AIABBADYCACAAQQE6AAQMGQsgASADNgKcASABQQE2ApgBIAtBCWshAyACQQlqIQIMEwsgACAFLQCUAToABCAAQQA2AgAMFwsgAEEANgIAIAAgBDoABAwWCyAAQQA2AgAgACAEOgAEDBULIABBADYCACAAIAQ6AAQMFAsgBkEBaiEPIAMgBmohCyADQQFrIQ1BACEDQgAhF0EAIQYCQAJAAkADQCAGIA1GIhEEQCALIQIMAwsgBiAPaiICLQAAQTBrIhNB/wFxQQpPBEAgBg0CQQMhAgwMCyAFQRBqIBcgF0I/h0IKQgAQ7hFBACECIAUpAxggBSkDECIYQj+HUg0LIBggE61C/wGDIBh8IhdVDQsgBkEBaiIGQX9HDQALIAshAgwBCwJAIAYgDU8EQCARDQEMAwsgBiAPaiwAAEFASA0CCyANIAZrIQMLIBdCAFVCACAXfSIXQgBTc0UNBiAAQQA2AgAgAEEAOgAEDBQLDBkLIAZBAWohDyADIAZqIQsgA0EBayENQQAhA0IAIRdBACEGAkADQCAGIA1GIhEEQCALIQIMBwsgBiAPaiICLQAAQTBrIhNB/wFxQQpPBEAgBg0CQQMhAgwDCyAFQSBqIBcgF0I/h0IKQgAQ7hFBACECIAUpAyggBSkDICIYQj+HUg0CIBggE61C/wGDIBh8IhdVDQIgBkEBaiIGQX9HDQALIAshAgwFCwJAAkAgBiANTwRAIBENAQwCCyAGIA9qLAAAQUBIDQELIA0gBmshAwwFCwwYCyAAQQA2AgAgACACOgAEDBELIAIgA0kgC8BBv39KcQ0BIAYgAyACIANBoMjCABD9FAALIBdCCn4gAq1C/wGDfCEXQQQhAiADQQVJDQAgBiwABEG/f0oNACAGIANBBCADQZDIwgAQ/RQACyADIAJrIQMgAiAGaiECCyABIBcgCBEKACIIQf8BcUH/AUYNACAAQQA2AgAgACAIOgAEDA0LIAchBiAJIQggEEEBaw4DBQkDCQsgAEEANgIAIAAgAjoABAwLCyAAQQA2AgAgACAEOgAEDAoLIAVBCGogAiALEPEMIAUoAgwhAyAFKAIIIQILIAchBiAJIQggBEUNBSAMQQRrKAIAIghBeHEiBkEEQQggCEEDcSIIGyAEak8EQCAIRQ0DIAYgBEEnak0NAwwOCwwMCyAEIAtLDQUgDCACIAQQjxMNAwJAIARFDQAgBCALTw0AIAIgBGosAABBQEgNByACRQ0HCyALIARrIQMgAiAEaiECCyAHIQYgCSEIIARFDQMgDEEEaygCACIGQXhxIQggCEEEQQggBkEDcSIGGyAEakkNCiAGRQ0AIAggBEEnaksNCwsgDBC8BQsgByEGIAkhCAwBCwsgAEEANgIAIABBAzoABCAERQ0CIAxBBGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgBGpJDQYgAUEARyAAIARBJ2pLcQ0HIAwQvAUMAgsgAEEANgIAIABBBDoABCAMQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIARqSQ0FIAFBAEcgACAEQSdqS3ENBiAMELwFDAELIAIgCyAEIAtBkLHCABD9FAALIAVBwAFqJAAPCyAJIAcgBCAHQcTCwgAQ/RQACyAJIAMgBCADQbTCwgAQ/RQACyAIIAZBACADQbDGwgAQ/RQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgDyANIAYgDUGgyMIAEP0UAAumWwIafwl+IwBBkBBrIgYkACADELgQIR8CQAJAAkACQAJAAn8CQAJAAkACQAJ/An8CQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQCAFBEAgAUE4aigCAEUNASAfDQEgAy0AIEH/AUYNASADQSBqIgkgAUE8aigCAEECayIFEPEQRQ0BIAMoAnxBf0cNASAGQeAHaiAJQdAA/AoAACADLQCiASEWIAMtAKEBIRkgAy0AoAEhFSADKAKMASETIAMoAnghGiADKAJ0IRsgAykDCCEgIAMpAwAhISADKQMYIScgAykDECEoIAMoApwBIR0gAygCmAEhHiADKAKUASESIAMoApABIREgAygCiAEhGCAGLQDgBw4EAwQCBQILQZACEJABIg1FDRogBCgCCCEJIAQoAgQhAiAGAn5B0PDJAC0AAARAQcjwyQApAwAhIUHA8MkAKQMADAELIAZBQGsQuxFB0PDJAEEBOgAAQcjwyQAgBikDSCIhNwMAIAYpA0ALIiA3A5gEQcDwyQAgIEIBfDcDACAGICE3A6AEIAZBkKnJACkDADcDiAQgBkGYqckAKQMANwOQBCAGQagEaiADQagB/AoAACABIAEoAkQiEUEBajYCRCAGQQA2AtAMIAYgETYC1AwgBkFAayAGQbwFaiABEJwEIAZBADYCgAogBkKAgICAEDcC+AkgBiAGQdQMaiIENgLQBSAGIAZB0AVqrUKAgICA8BCEIiA3A+AHIAZB+AlqQeCSyQBBgoHAACAGQeAHahCxCQ0YIAYgBigCgAo2AugHIAYgBikC+Ak3A+AHIAYoAlwiA0EASgRAIAYoAmAiCEEEaygCACIHQXhxIQUgBUEEQQggB0EDcSIHGyADakkNByAHQQBHIAUgA0EnaktxDRogCBC8BQsgBkHcAGoiAyAGKQPgBzcCACADIAYoAugHNgIIIAYgBikCQDcD0A4gBiAGKQJINwPYDiAGIAYpAlA3A+AOIAYgBikCWDcD6A4gBiAGKQJgNwPwDiAGIAYpAmg3A/gOIAYgBigCcDYCgA9BNBCQASIDRQ0aIAMgBigCgA82AjAgAyAGKQP4DjcCKCADIAYpA/AONwIgIAMgBikD6A43AhggAyAGKQPgDjcCECADIAYpA9gONwIIIAMgBikD0A43AgAgBkF+NgK4AiAGQgg3A4ACIAZCATcD+AEgBiADNgL0ASAGQQE2AvABIAZCCDcDmAIgBkIANwOQAiAGQoCAgICAATcDiAIgBkF/NgJAIAZBfzYCUCAGQX02AmAgBkF9NgKoASAGQX42AsQCIAZCgICAgMAANwOgAiAGQgA3A6gCIAZCBDcDsAIgBkH4CWogBkFAayIDIAZBqARqIBEQ8QcgBkEANgJIIAZCgICAgBA3AkACQCAGKALQDEEBRgRAIAYgBDYC0AUgBiAgNwPgByADQeCSyQBBk4HAACAGQeAHahCxCUUNAQwaCyAGIAQ2AtAFIAYgIDcD4AcgBkFAa0HgkskAQYKBwAAgBkHgB2oQsQkNGQsgBiAGKAJINgLoByAGIAYpAkA3A+AHIAZBQGsgBkH4CWogBkGoBGogBkHgB2oiAyABEOcEIAZByARqIRACQCAGLQDIBEH/AUcEQCADIBAQhwMMAQsgBkH/AToA4AcLIAZB+AlqIgMgBkFAayIEIAZB4AdqIgUgESABEMAIIAQgAyAGQagEakIAEPkHIAEoAgBBAXFFDQ8gBiABKQMoIiA3A/gHIAYgASkDIDcD8AcgBiABKQMYNwPoByAGIAEpAxA3A+AHICCnQQFxBEAgBiAFrUKAgICAkBqENwP4CSAGQdAFakHAlMIAIAMQuAwgBigCxAIiA0EASgRAIAYoAsgCIgVBBGsoAgAiCEF4cSEEIARBBEEIIAhBA3EiCBsgA2pJDRkgCEEARyAEIANBJ2pLcQ0bIAUQvAULIAZBxAJqIgMgBigC2AU2AgggAyAGKQLQBTcCAAsMDwtBqAEQkAEiC0UNGSALIANBqAH8CgAAIAtBqAFqIQ9BASEOQQEhEEGQAgwIC0HQABCQASIIRQ0YIAggCUHQAPwKAAAgCEHQAGohDUGoASEFQQEhDEEBIQcMBQsgBkFAayIJIAZB4AdqQQRyIAUQ4QUgBiAGKQNANwPQDiAGIAYpA0g3A9gOIAYgBikDUDcD4A4gBiAGKQNYNwPoDiAGIAYpA2A3A/AOIAYgBikDaDcD+A4gBiAGKQJ0NwPQDCAGIAYpAnw3A9gMIAYgBigChAE2AuAMIAYoAnAhCCAGKAKQASENIAYoAowBIRAgBigCiAEhFCAGQQA2ApAOIAZCgICAgIABNwKIDgJ/AkAgCEF/RwRAIAYgBikD+A43A/gFIAYgBikD8A43A/AFIAYgBikD6A43A+gFIAYgBikD4A43A+AFIAYgBikD2A43A9gFIAYgBikD0A43A9AFIAYgCDYCgAYgBiAGKQPQDDcChAYgBiAGKQPYDDcCjAYgBiAGKALgDDYClAYgCSAGQdAFaiAFEOQCIAYoAkAhCCAGIAYoAkQiBSAGKAJIIgdByABsIhdqIgk2ArQEIAYgCDYCsAQgBiAFNgKoBCAHDQFBCAwCC0HQABCQASIIRQ0ZIAggDTYCDCAIIBA2AgggCCAUNgIEIAhBADoAAEEBIQxBASEHDAQLIAZBxwBqIQ9BCCELQQAhCEE8IQ4CfwJAA0AgBigCiA4hDCAFIAhqIgdBMGooAgAiHEF/Rg0BIAYgB0HEAGooAgA2AogKIAYgB0E8aikCADcDgAogBiAHQTRqKQIANwP4CSAPIAcpACg3ACggDyAHKQAgNwAgIA8gBykAGDcAGCAPIAcpABA3ABAgDyAHKQAINwAIIA8gBykAADcAACAKIAxGBEAgBkGIDmoQqhIgBigCjA4hCwsgCyAOaiIMQTxrQQM6AAAgDEE7ayIHIAYpAEA3AAAgByAGKQBINwAIIAYpAG8hIiAGKQBoISMgBikAYCEkIAYpAFghJSAGKQBQISYgDEEEayAcNgIAIAcgJjcAECAHICU3ABggDCAGKQP4CTcAACAHICQ3ACAgByAjNwAoIAcgIjcALyAMIAYpA4AKNwAIIAwgBigCiAo2ABAgBiAKQQFqIgo2ApAOIA5B0ABqIQ4gFyAIQcgAaiIIRw0ACyAGKAKIDiEMIAkMAQsgB0HIAGoLIQUgBigCjA4LIQggBiAFNgKsBCAIIApB0ABsaiELIAZBqARqEPILIAgiBSEHIAoEQCANQdAAbCEOIA1BAWohFyAGQasEaiEPA0AgBkH4CWogBSIKQdAA/AoAAEEIIQcCQCANRQ0AIA4QkAEiB0UNG0EAIQUgDSEJA0AgBSAORg0BIAZBQGsiHCAFIBBqEIcDIAUgB2ogHEHQAPwKAAAgBUHQAGohBSAJQQFrIgkNAAsLIAYgDTYCSCAGIAc2AkQgBiANNgJAIAZBQGsQqhIgBigCRCAOaiAGQfgJakHQAPwKAAAgDyAXNgAIIA8gBikCQDcAACAKQQA6AAAgCiAGKQCoBDcAASAKIAYpAK8ENwAIIAsgCkHQAGoiBUcNAAsgCyEHCyALIAVrQdAAbiEJIAUgC0cEQANAIAUQrQQgBUHQAGohBSAJQQFrIgkNAAsLIAcgCGtB0ABuIQcgDQRAIBAhBQNAIAUQrQQgBUHQAGohBSANQQFrIg0NAAsLIBRFDQIgEEEEaygCACIJQXhxIQUgBSAUQdAAbCINQQRBCCAJQQNxIgkbckkNFCAJQQBHIAUgDUEnaktxDRYgEBC8BQwCCyAGQUBrIgkgBkHgB2pBBHIgBRDhBSAGIAYpA0A3A9AOIAYgBikDSDcD2A4gBiAGKQNQNwPgDiAGIAYpA1g3A+gOIAYgBikDYDcD8A4gBiAGKQNoNwP4DiAGIAYpAnQ3A9AMIAYgBikCfDcD2AwgBiAGKAKEATYC4AwgBigCcCEIIAYoApABIQ0gBigCjAEhECAGKAKIASEUIAZBADYCkA4gBkKAgICAgAE3AogOAn8CQCAIQX9HBEAgBiAGKQP4DjcD+AUgBiAGKQPwDjcD8AUgBiAGKQPoDjcD6AUgBiAGKQPgDjcD4AUgBiAGKQPYDjcD2AUgBiAGKQPQDjcD0AUgBiAINgKABiAGIAYpA9AMNwKEBiAGIAYpA9gMNwKMBiAGIAYoAuAMNgKUBiAJIAZB0AVqIAUQ5AIgBigCQCEIIAYgBigCRCIFIAYoAkgiB0HIAGwiF2oiCTYCtAQgBiAINgKwBCAGIAU2AqgEIAcNAUEIDAILQdAAEJABIghFDRggCCANNgIMIAggEDYCCCAIIBQ2AgRBASEMIAhBAToAAEEBIQcMAwsgBkHHAGohD0EIIQtBACEIQTwhDgJ/AkADQCAGKAKIDiEMIAUgCGoiB0EwaigCACIcQX9GDQEgBiAHQcQAaigCADYCiAogBiAHQTxqKQIANwOACiAGIAdBNGopAgA3A/gJIA8gBykAKDcAKCAPIAcpACA3ACAgDyAHKQAYNwAYIA8gBykAEDcAECAPIAcpAAg3AAggDyAHKQAANwAAIAogDEYEQCAGQYgOahCqEiAGKAKMDiELCyALIA5qIgxBPGtBAzoAACAMQTtrIgcgBikAQDcAACAHIAYpAEg3AAggBikAbyEiIAYpAGghIyAGKQBgISQgBikAWCElIAYpAFAhJiAMQQRrIBw2AgAgByAmNwAQIAcgJTcAGCAMIAYpA/gJNwAAIAcgJDcAICAHICM3ACggByAiNwAvIAwgBikDgAo3AAggDCAGKAKICjYAECAGIApBAWoiCjYCkA4gDkHQAGohDiAXIAhByABqIghHDQALIAYoAogOIQwgCQwBCyAHQcgAagshBSAGKAKMDgshCCAGIAU2AqwEIAggCkHQAGxqIQsgBkGoBGoQ8gsgCCIFIQcgCgRAIA1B0ABsIQ4gDUEBaiEXIAZBqwRqIQ8DQCAGQfgJaiAFIgpB0AD8CgAAQQghBwJAIA1FDQAgDhCQASIHRQ0aQQAhBSANIQkDQCAFIA5GDQEgBkFAayIcIAUgEGoQhwMgBSAHaiAcQdAA/AoAACAFQdAAaiEFIAlBAWsiCQ0ACwsgBiANNgJIIAYgBzYCRCAGIA02AkAgBkFAaxCqEiAGKAJEIA5qIAZB+AlqQdAA/AoAACAPIBc2AAggDyAGKQJANwAAIApBAToAACAKIAYpAKgENwABIAogBikArwQ3AAggCyAKQdAAaiIFRw0ACyALIQcLIAsgBWtB0ABuIQkgBSALRwRAA0AgBRCtBCAFQdAAaiEFIAlBAWsiCQ0ACwsgByAIa0HQAG4hByANBEAgECEFA0AgBRCtBCAFQdAAaiEFIA1BAWsiDQ0ACwsgFEUNASAQQQRrKAIAIglBeHEhBSAFIBRB0ABsIg1BBEEIIAlBA3EiCRtySQ0TIAlBAEcgBSANQSdqS3ENFSAQELwFDAELIAZB+AlqIgggA0EoakHIAPwKAAAgBkFAayAIIAUQ5AIgBigCSCIMQZqz5gxPDQ4gBigCQCELIAYoAkQhDQJAIAxFBEBBACEMQQghCAwBCyAMQdAAbBCQASIIRQ0XIAxByABsQcgAayIFQcgAbiEQIAZBxwBqIQogDSEJIAVByABPBEAgEEEBaiIFQQFxIAVB/v//P3EhDiAIIQUDQCAKIAlByAD8CgAAIAVBAzoAACAFQQFqIAZBQGsiD0HPAPwKAAAgCiAJQcgAakHIAPwKAAAgBUHQAGpBAzoAACAFQdEAaiAPQc8A/AoAACAJQZABaiEJIAVBoAFqIQUgDiAHQQJqIgdHDQALRQ0BCyAKIAlByAD8CgAAIAggB0HQAGxqIgVBAzoAACAFQQFqIAZBQGtBzwD8CgAAIAdBAWohBwsgC0UNACANQQRrKAIAIglBeHEhBSAFIAtByABsIgpBBEEIIAlBA3EiCRtqSQ0SIAlBAEcgBSAKQSdqS3ENFCANELwFCyAGLQDgByIFQQJHIAVBA01xRQRAIAZB4AdqEK0ECyAHQbGYjAZPDQ0gCCAHQdAAbGohDSAHQagBbCIFDQFBCCELQQAhEAwCC0HQnMkAQS5BgJ3JABCvFAALIAchECAFEJABIgsNAAwTCwJAIAdFBEBBACEODAELIBhBf0YEQCALIQVBACEOIAghCQNAIAZB+AlqIgogCUHQAPwKAAAgEiASKAIAIgdBAWo2AgAgB0EASA0HIAZB0AVqIBsgGhC+AyAGIAYoAtgFNgLYDiAGIAYpAtAFNwPQDiAFQRhqICc3AwAgBUEQaiAoNwMAIAVBCGogIDcDACAFICE3AwAgBUEgaiAKQdAA/AoAACAFQaIBaiAWOgAAIAVBoQFqIBk6AAAgBUGgAWogFToAACAFQZwBaiAdNgIAIAVBmAFqIB42AgAgBUGUAWogEjYCACAFQYgBakF/NgIAIAVB/ABqQX82AgAgBUH4AGogBigC2A42AgAgBUHwAGogBikD0A43AwAgBUGoAWohBSAOQQFqIQ4gDSAJQdAAaiIJRw0ACwwBCyARQYqujwVLDQQgEUHIAWwhDyARrUIghiEiQQAhDiAIIQoDQCAGQfgJaiAKQdAA/AoAACASIBIoAgAiBUEBajYCACAFQQBIDQYgBkHQBWogGyAaEL4DAkAgD0UEQEEIIQcMAQsgDxCQASIHRQ0VIBFFDQBBACEFIBEhCQNAIAUgD0YNASAGQUBrIhQgBSATahDzAyAFIAdqIBRByAH8CgAAIAVByAFqIQUgCUEBayIJDQALCyAGIAYoAtgFNgLYDiAGIAYpAtAFNwPQDiALIA5BqAFsaiIFICc3AxggBSAoNwMQIAUgIDcDCCAFICE3AwAgBUEgaiAGQfgJakHQAPwKAAAgBSAWOgCiASAFIBk6AKEBIAUgFToAoAEgBSAdNgKcASAFIB42ApgBIAUgEjYClAEgBSAiIAethDcCjAEgBSARNgKIASAFQX82AnwgBSAGKALYDjYCeCAFIAYpA9AONwNwIA5BAWohDiANIApB0ABqIgpHDQALCyAMBEAgCEEEaygCACIJQXhxIQUgBSAMQdAAbCIHQQRBCCAJQQNxIgkbckkNDyAJQQBHIAUgB0EnaktxDREgCBC8BQsCQCAYQX9GDQAgEQRAIBMhBQNAIAUQ9AQgBUHIAWohBSARQQFrIhENAAsLIBhFDQAgE0EEaygCACIIQXhxIQUgBSAYQcgBbCIHQQRBCCAIQQNxIggbakkNDyAIQQBHIAUgB0EnaktxDREgExC8BQsgA0HwAGoQwwQgEiASKAIAIgNBAWs2AgAgA0EBRgRAIBIQMAsgDkH58OEDTw0KIA5FDQEgCyAOQagBbGohDyAOQZACbAsQkAEiDQRAIAQoAgQiGCAEKAIIIh1ByAFsaiEeIAZB/QNqIRogBkHEA2ohCSAGQe0BaiEbIAZBtAFqIQogBkHQAmohE0EAIQwgBkH8AWohFCALIQMCQANAIAZB0AVqIgUgA0GoAfwKAAAgBkHQDGogGCAdEL4JIAZBCGogBigC1AwiEiAGKALYDCIRIAEQ8gcgBigCCCEIQQgQkAEiBEUNASAEQeyNyQA2AgQgBCAINgIAIAZBQGsiCCAFIAIgGCAeIAEQVyAGQeAHaiAIQZAC/AoAACAGKALYAiEWIAYoAtQCIQUgBigC0AIhGQNAIAZBQGsgBCgCACAEKAIEKAIMEQIAIAYoArABIghBfkYEQCAEKAIAIQggBCgCBCIHKAIAIhUEQCAIIBURAwALIAcoAgQiBwRAIAhBBGsoAgAiF0F4cSEVIBVBBEEIIBdBA3EiFxsgB2pJDRMgF0EARyAVIAdBJ2pLcQ0VIAgQvAULIARBBGsoAgAiCEEDcSEHIAhBeHFBDEEQIAcbSQ0SIAdBAEcgCEEwT3ENFCAEELwFIAYgASkDKDcDaCAGIAEpAyA3A2AgBiABKQMYNwNYIAYgASkDEDcDUCAGIAEpAwg3A0ggBiABKQMANwNAIAZB+AlqIAZB4AdqIAZBQGsQsQ4gFgRAIBZB4ABsIQggBSEEA0AgEyAEQeAA/AoAACAGQUBrIAZB+AlqQZAC/AoAACAGKAKEAiIHIAYoAvwBRgRAIBQQpRILIARB4ABqIQQgBigCgAIgB0HgAGxqIBNB4AD8CgAAIAYgB0EBajYChAIgBkH4CWogBkFAa0GQAvwKAAAgCEHgAGsiCA0ACwsgGQRAIAVBBGsoAgAiBEF4cSEHIAcgGUHgAGwiCEEEQQggBEEDcSIEG3JJDRMgBEEARyAHIAhBJ2pLcQ0VIAUQvAULIBEEQCASQRRqIQRBACEHA0AgEiAHQRhsaiEFAkACQAJAAkACQCAEQRRrKAIADgIBAgALIAQoAgAiFigCACEIIBYgCEEBazYCACAIQQFHDQMgBUEUaiEIDAILIARBEGsoAgAiFigCACEIIBYgCEEBazYCACAIQQFHDQIgBUEEaiEIDAELIAQoAgAiCCgCACEFIAggBUEBazYCACAEIQggBUEBRw0BCyAIKAIAEDALIAdBAWohByAEQRhqIQQgEUEBayIRDQALCwJAIAYoAtAMIgUEQCASQQRrKAIAIghBeHEhBCAEIAVBGGwiBUEEQQggCEEDcSIHG2pJDRQgB0EARyAEIAVBJ2pLcQ0BIBIQvAULIA0gDEGQAmxqIAZB+AlqQZAC/AoAACAMQQFqIQwgDyADQagBaiIDRw0DDAcLDBQLIAZB+AlqIgcgBkFAayIVQfAA/AoAACAGIAopAjA3A4APIAYgCikCKDcD+A4gBiAKKQIgNwPwDiAGIAopAhg3A+gOIAYgCikCEDcD4A4gBiAKKQIINwPYDiAGIAopAgA3A9AOIAYgGy8AADsBqAQgBiAbLQACOgCqBCATIAdB8AD8CgAAIAkgBikD0A43AgAgCSAGKQPYDjcCCCAJIAYpA+AONwIQIAkgBikD6A43AhggCSAGKQPwDjcCICAJIAYpA/gONwIoIAkgBikDgA83AjAgGiAGLwGoBDsAACAaIAYtAKoEOgACIAYgCDYCwAMgBkEBOgD8AyAVIAZB4AdqQZAC/AoAAEGwARCQASIIBEAgCCATQbAB/AoAACAGKAKEAiIHIAYoAvwBRgRAIBQQpRILIAYoAoACIAdB4ABsaiIVQX42AlAgFSAINgIEIBVBAzYCACAGIAdBAWo2AoQCIAZB4AdqIAZBQGtBkAL8CgAADAELCwsMEgsMEQsMEQtBACEOQQghDUEAIQwMAAsgEEUNAiALQQRrKAIAIgJBeHEhASABIBBBqAFsIgNBBEEIIAJBA3EiAhtqSQ0LIAJBAEcgASADQSdqS3FFBEAgCxC8BQwDCwwNCyASIBIoAgAiAEEBajYCACAAQQBIDQAgBkHQBWogGyAaEL4DEJ4VAAsACyANIAxBkAJsaiIEIAwNARogDSEFQQAMAgsgBkH4CWoiAyAGQUBrQZAC/AoAACAGQdAFaiADQZAC/AoAACAJQcgBbCIDIAJqIRNBACEFAn8DQEEEIAMgBUYNARogAiAFaiAFQcgBaiEFKQMAQgVSDQALQRAQkAEiB0UNBSAHIAIgBWoiA0HAAWs2AgAgBkEBNgJIIAYgBzYCRCAGQQQ2AkBBASEKA0AgAyATRwRAIAMiBEHIAWohAyAEKQMAQgVSDQEgBigCQCAKRgRAIAZBQGsgCkEBQQRBBBCzESAGKAJEIQcLIAcgCkECdGogBEEIajYCACAGIApBAWoiCjYCSAwBCwsgBigCQCELIAYoAkQLIQQgCQRAIAQgCkECdGohCCACIQUgCSEDA0AgBSkDAEIBWARAIAZBQGsiByAGQdAFaiIKQZAC/AoAACAGIAU2AtACIAogBkGIBGogByAFIAQgCEEAIBEgARBZCyAFQcgBaiEFIANBAWsiAw0ACwsgBkHgB2ogBkHQBWpBkAL8CgAAIAsEQCAEQQRrKAIAIgVBeHEhAyADIAtBAnQiCEEEQQggBUEDcSIFG2pJDQggBUEARyADIAhBJ2pLcQ0KIAQQvAULAkAgCUUEQCAGQfgJaiAGQdAFakGQAvwKAAAMAQsgAiEFIAkhAwNAAkAgBSkDAEIFUg0AIAZBQGsiBCAGQeAHaiIIQZAC/AoAACAGIAVBCGoiBzYC0AIgBkGIBGoiCiAFQdgAaigCACAFQdwAaigCABCcDg0AIAggCiAEIAdBACARIAEQdQsgBUHIAWohBSADQQFrIgMNAAsgBkH4CWogBkHgB2pBkAL8CgAAIAZBiAxqrUKAgICA8BCEISAgBkHQDmoiA0EEaiEOIAZB/Q9qIRIgA0HkAGohGyAGQcQPaiEHIAZBwA9qIQ8gBkGIEGohFCAGQfwBaiEYIAIhBQNAIAZBQGsgBkH4CWpBkAL8CgAAIAYgBTYC0AICQAJAAkACQAJAAkACQAJAAkACQEECIAUpAwAiIadBAmsgIUIBWBsOAwAJAQkLIAZB0A5qIgwgBUEIaiILIAFBABCJAiAGQQA2AoQQIAYgETYCiBAgBkEANgLYDCAGQoCAgIAQNwLQDCAGIBQ2AogMIAYgIDcDiA4gBkHQDGoiA0HgkskAQYKBwAAgBkGIDmoiChCxCQ0TIAYgBigC2Aw2ApAMIAYgBikC0Aw3A4gMIA8Q1wUgByAGKQOIDDcCACAHIAYoApAMNgIIIAZBADYCwA8gBkF+NgLoDyAGQoCAgIBgNwPYDyAGQoCAgIDAADcD0A8gAyAMQdgA/AoAACAGKAKwDyEDIAYoAqwPIQggBigCqA8hBCAKIBtByAD8CgAAIAYgEi0AAjoAhg4gBiASLwAAOwGEDiAGQShqIAsQ8A4gBUEMaiEKIAYoAiwhGiAGKAIoIRYCfyALKAIAQQFGBEAgDiAKKAIINgIIIA4gCikCADcCACAGIAVBGGooAgBBCGo2AtAOIAZBGGogDBDqCSAGKAIcIQogBigCGAwBCyAKKAIAIgwgBUEYaigCACIKKAIQIhlPDQIgCigCDCAMQeQAbGoiGSgCAARAIBkoAgQiDCAKKAJwTw0EIAooAmwgDEEEdGoiDCgCCCEKIAwoAgQMAQsgBkEgaiAKQQhqIAwQ0BAgBigCJCEKIAYoAiALIQwCQCAKIBpHDQAgFiAMIBoQjxMNACAEIQogCCEMDAgLIAZBEGogCxDwDiAGKAIUIgpBAEgNDiAKRQRAQQEhDAwHCyAGKAIQIQMgChCQASIMRQ0EIApFDQYgDCADIAr8CgAADAYLIAZBOGogBUGoAWoiCigCACIEIAVBrAFqIgsoAgAiCBDODgJAIAYoAjgiAyAGKAI8EIgORQRAIAZBiA5qIAQgCBDwDQwBCyAGQYgOaiAEIAgQ8Q0LIAMgAygCACIEQQFrNgIAIARBAUYEQCADEDALIAZCj4CAgHA3ArwPIAZB1OPIADYCuA8gBkF+NgKoDyAGQf8BOgD0DyAGQXw2AuAOIAZBADoA/A8gBkEAOwH6DyAGQX42AtAOIAZBfzYCtA8gDxDXBSAHIAYpAogONwIAIAcgBigCkA42AgggBkEANgLADyAGQX42AugPIAZCgICAgGA3A9gPIAZCgICAgMAANwPQDyAGQTBqIAooAgBBCGogCygCABDRECAGKAI0IgNBAEgNDSADRQRAQQEhCgwFCyAGKAIwIQQgAxCQASIKRQ0CIANFDQQgCiAEIAP8CgAADAQLIAwgGUHk9sgAEIUTAAtBpLjEABCdFQALQQEQpxQAC0EBEKcUAAsgBiADNgKwDyAGIAo2AqwPIAYgAzYCqA8gBkHQDGoiBCAGQdAOakGwAfwKAABBsAEQkAEiAwRAIAMgBEGwAfwKAAAgBigChAIiBCAGKAL8AUYEQCAYEKUSCyAGKAKAAiAEQeAAbGoiCEF+NgJQIAggAzYCBCAIQQM2AgAgBiAEQQFqNgKEAiAGQfgJaiAGQUBrQZAC/AoAAAwDCwwPCwJAIARBAEoEQCAIQQRrKAIAIgtBeHEhAyADQQRBCCALQQNxIgsbIARqSQ0NIAtBAEcgAyAEQSdqS3ENASAIELwFCyAKIQMMAQsMDQsgBkHQDmoiCCAGQdAMakHYAPwKAAAgBkGIDGoiCyAGQYgOakHIAPwKAAAgBiAGLQCGDjoAhhAgBiAGLwGEDjsBhBBBsAEQkAEiBEUNDSAEIAhB2AD8CgAAIAQgAzYCYCAEIAw2AlwgBCAKNgJYIARB5ABqIAtByAD8CgAAIARBAToArAEgBCAGLwGEEDsArQEgBCAGLQCGEDoArwEgBigChAIiAyAGKAL8AUYEQCAYEKUSCyAGKAKAAiADQeAAbGoiCEF+NgJQIAggBDYCBCAIQQM2AgAgBiADQQFqNgKEAiAGQfgJaiAGQUBrQZAC/AoAAAsgBUHIAWohBSAJQQFrIgkNAAsLIAZBQGsiAyAGQYgEaiACIBMQcyAGKAJAIQUgBigCRCEBIAYoAkgiAgRAIAJB8ABsIQQgBkHgAmohCSADQZACaiEHIAZB/AFqIQogASEDA0AgByADQfAA/AoAACAGQUBrIAZB+AlqQZAC/AoAACAGKQO4AyEgIAY1AtgCISEgBigC1AIhCyAGKALQAiEMIAYoArADIgJBAEoEQCAGKAK0AyIRQQRrKAIAIhNBeHEhCCAIQQRBCCATQQNxIhMbIAJqSQ0KIBNBAEcgCCACQSdqS3ENDCARELwFCyAGKAKEAiIIIAYoAvwBRgRAIAoQpRILIANB8ABqIQMgBigCgAIgCEHgAGxqIgIgCUHQAPwKAAAgAiAgQoCAgIBwgyAhhDcDWCACIAs2AlQgAiAMNgJQIAYgCEEBajYChAIgBkH4CWogBkFAa0GQAvwKAAAgBEHwAGsiBA0ACwsgBQRAIAFBBGsoAgAiA0F4cSECIAIgBUHwAGwiBEEEQQggA0EDcSIDG3JJDQggA0EARyACIARBJ2pLcQ0KIAEQvAULIAZBQGsgBkH4CWpBkAL8CgAAIAYoArwFIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAYoArwFEDALAkAgBigCpAUiBUF/Rg0AIAYoAqwFIgMEQCAGKAKoBSEFA0AgBRCCBSAFQcgBahCGBCAFQegBaiEFIANBAWsiAw0ACyAGKAKkBSEFCyAFRQ0AIAYoAqgFIgJBBGsoAgAiA0F4cSEBIAEgBUHoAWwiBEEEQQggA0EDcSIDG2pJDQggA0EARyABIARBJ2pLcQ0KIAIQvAULIAYtAMgEQf8BRwRAIBAQrgQLIAZBmAVqEMQEAkAgBigCsAVBf0YNACAGQbAFahDpBCAGKAKwBSICRQ0AIAYoArQFIgNBBGsoAgAiBEF4cSEBIAEgAkHIAWwiAkEEQQggBEEDcSIEG2pJDQggBEEARyABIAJBJ2pLcQ0KIAMQvAULAkAgBigCjAQiAkUNACAGKAKUBCIEBEAgBigCiAQiBUEIaiEDIAUpAwBCf4VCgIGChIiQoMCAf4MhIANAICBQBEADQCADIgFBCGohAyAFQaABayEFIAEpAwBCgIGChIiQoMCAf4MiIEKAgYKEiJCgwIB/UQ0ACyAgQoCBgoSIkKDAgH+FISALIAUgIHqnQQN2QWxsaiIBQRRrIgkoAgAiBygCACEIIAcgCEEBazYCACAIQQFGBEAgCSgCABAwCyABQQxrKAIAIggEQCABQQhrKAIAIglBBGsoAgAiB0F4cSEBIAFBBEEIIAdBA3EiBxsgCGpJDQsgB0EARyABIAhBJ2pLcQ0NIAkQvAULICBCAX0gIIMhICAEQQFrIgQNAAsLIAIgAkEUbEEbakF4cSICakEJaiIBRQ0AIAYoAogEIAJrIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQggBEEARyACIAFBJ2pLcQ0KIAMQvAULIA0gBkFAa0GQAvwKAABBASEOIA1BkAJqCyEEIAZBhApqIQEgDSEFA0AgBkFAayICIAVBkAL8CgAAIAZB+AlqIAIgHxCxBCAFQZACaiEFIAYoAoAKIQcgBigC/AkiAyAGKAL4CSICQX5GDQEaIAYgASkCIDcDgAggBiABKQIYNwP4ByAGIAEpAhA3A/AHIAYgASkCCDcD6AcgBiABKQIANwPgByACQX1HDQIgBCAFRw0AC0EACyEIIAQgBWtBkAJuIQMgBCAFRwRAA0AgBRC9ASAFQZACaiEFIANBAWsiAw0ACwtBACEDIA4EQCANQQRrKAIAIgJBeHEhASABIA5BkAJsIgRBBEEIIAJBA3EiAhtySQ0GIAJBAEcgASAEQSdqS3ENCCANELwFC0EEIQlBAAwECyAGIAYpA4AINwNgIAYgBikD+Ac3A1ggBiAGKQPwBzcDUCAGIAYpA+gHNwNIIAYgBikD4Ac3A0BB0AEQkAEiCwRAIAsgBzYCCCALIAM2AgQgCyACNgIAIAsgBikDQDcCDCALIAYpA0g3AhQgCyAGKQNQNwIcIAsgBikDWDcCJCALIAYpA2A3AixBASEDIAZBATYC2AUgBiALNgLUBSAGQQQ2AtAFQQAhCCAEIAVGDQMgBkGECmohCQNAIAZBQGsiASAFQZAC/AoAACAGQfgJaiABIB8QsQQgBUGQAmohBSAGKAKACiEHIAYoAvwJIQECQCAGKAL4CSIKQX5HBEAgBiAJKQIgNwOACCAGIAkpAhg3A/gHIAYgCSkCEDcD8AcgBiAJKQIINwPoByAGIAkpAgA3A+AHIApBfUcNASAEIAVHDQIMBgsgASEIDAULIAYgBikDgAg3A2AgBiAGKQP4BzcDWCAGIAYpA/AHNwNQIAYgBikD6Ac3A0ggBiAGKQPgBzcDQCAGKALQBSADRgRAIAZB0AVqIANBAUEEQTQQsxEgBigC1AUhCwsgCyADQTRsaiICIAc2AgggAiABNgIEIAIgCjYCACACIAYpA0A3AgwgAiAGKQNINwIUIAIgBikDUDcCHCACIAYpA1g3AiQgAiAGKQNgNwIsIAYgA0EBaiIDNgLYBSAEIAVHDQALDAMLQQQQpxQACxCeFQALQQQQpxQACyAEIAVrQZACbiEJIAQgBUcEQANAIAUQvQEgBUGQAmohBSAJQQFrIgkNAAsLIA4EQCANQQRrKAIAIgJBeHEhASABIA5BkAJsIgRBBEEIIAJBA3EiAhtySQ0CIAJBAEcgASAEQSdqS3ENBCANELwFCyAGKALUBSEJIAYoAtAFCyEBAkAgCARAIAAgBzYCCCAAIAg2AgQgAEF/NgIAIAMEQCAJIQUDQCAFENoEIAVBNGohBSADQQFrIgMNAAsLIAFFDQEgCUEEaygCACICQXhxIQAgACABQTRsIgFBBEEIIAJBA3EiAhtqSQ0CIAJBAEcgACABQSdqS3ENBCAJELwFDAELIAAgAzYCCCAAIAk2AgQgACABNgIACyAGQZAQaiQADwtB0JzJAEEuQYCdyQAQrxQAC0HwtckAQTcgBkGPEGpB+JLJAEGotskAENoSAAtBkJ3JAEEuQcCdyQAQrxQAC0G48MkAQQE6AAAAC0EIEKcUAAv0XgIUfwF+IwBBoARrIgIkACACQQRqIAEoAhgiB0HQAGooAgAgASABLQAsELQMAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFrDgwBAQEBAgMEAAUBAwYACwJAAkACQAJAAkBBAyACKAIEIgNBAmsiBSADQQFNG0EBaw4DAQIDAAsgAkHoAGogAkEEakHkAPwKAAAMAwsgAkHsAGogAkEIahCgByACQQM2AmgMAgtB5AAQkAEiBkUNECACKAIIIAYQuA8gAkEENgJoIAIgBjYCbAwBCyACQegAaiACQQRqEOQFCyABLQAtIQYgAkGIA2oiBCACQegAahC1DCACQQA7AawDIAJBBjYCqAMgAkGB8ccANgKkAyACQoCAgIBwNwKcAyACQoCAgIDAADcClAMgAkF+NgLoAiAGQQFGBEAgAigCkAMiAyACKAKIA0YEQCAEEJgSIAIvAa4DIQwLIAIoAowDIANB5ABsaiIFQQA6AAQgBUECNgIAIAIgA0EBajYCkAMgAigCBCIDQQJrIQULIAJB2ANqIAJB6AJqQcUA/AoAAAJAAkACQAJAAkACQEEDIAUgA0EBTRtBAWsOAwIABAELQeQAEJABIgNFDRMgAigCCCIFIAMQuA8gAkEENgJoIAIgAzYCbCACQegCaiACQegAaiAGEJILIAJBoAJqIAJB2ANqQcUA/AoAACACIAIpAvACNwOYAiACIAIpAugCNwOQAkHkABCQASIDDQIMEwsgAkHoAmoiCSACQQRqIgUgBhCSCyACQaACaiIDIAJB2ANqIgZBxQD8CgAAIAIgAikC8AI3A5gCIAIgAikC6AI3A5ACIAJB8AFqIAUQnA0gBiADQcUA/AoAACACIAIpA5gCNwOIAiACIAIpA5ACNwOAAiABKAIUIQMgASgCECEEIAkgBUHkAPwKAAAMAwsgAkHoAGoiA0EEaiIEIAJBCGoiBRCgByACQQM2AmggAkHoAmoiCSADIAYQkgsgAkGgAmoiBiACQdgDaiIIQcUA/AoAACACIAIpAvACNwOYAiACIAIpAugCNwOQAiAEIAUQoAcgAkEDNgJoIAJB8AFqIAMQnA0gCCAGQcUA/AoAACACIAIpA5gCNwOIAiACIAIpA5ACNwOAAiABKAIUIQMgASgCECEEIAlBBGogBRCgByACQQM2AugCDAILIAUgAxC4DyACQQQ2AmggAiADNgJsIAJB8AFqIAJB6ABqEJwNIAJB2ANqIAJBoAJqQcUA/AoAACACIAIpA5gCNwOIAiACIAIpA5ACNwOAAiABKAIUIQMgASgCECEEQeQAEJABIgZFDRAgBSAGELgPIAJBBDYC6AIgAiAGNgLsAgwBCyACQegAaiIDIAJBBGoiBRDkBSACQegCaiIJIAMgBhCSCyACQaACaiIGIAJB2ANqIgRBxQD8CgAAIAIgAikC8AI3A5gCIAIgAikC6AI3A5ACIAMgBRDkBSACQfABaiADEJwNIAQgBkHFAPwKAAAgAiACKQOYAjcDiAIgAiACKQOQAjcDgAIgASgCFCEDIAEoAhAhBCAJIAUQ5AULAkACQAJAAkACQEEDIAIoAugCIgVBAmsgBUEBTRtBAWsOAwECAwALIAJB6ABqIAJB6AJqQeQA/AoAAAwDCyACQewAaiACQewCahCgByACQQM2AmgMAgtB5AAQkAEiBUUNECACKALsAiAFELgPIAJBBDYCaCACIAU2AmwMAQsgAkHoAGogAkHoAmoQ5AULIAJBzANqIAJB6ABqELUMAkACQCAHKAJIIgkgBCADIAcoAkwiDSgCSBEAACIGQf8BcUUNACAGQQAgBmtxIgNB/wFxRQ0AIANBAWtB/wFxQQJ0IgMoArTVSSEEIAMoAqTVSSIFEJABIgNFDREgBQRAIAMgBCAF/AoAAAsgAiAFNgKoASACIAM2AqQBIAIgBTYCoAEgAywAAUG/f0wNCSADIAMtAAAiA0EgQQAgA0HBAGtB/wFxQRpJG3I6AAAgAkHoAGoiA0EgaiIKIAIoAtADIg4gAigC1AMiDxCoDiACQYACOwGsASACQQA2ApwBIAJCgICAgMAANwKUASACQaACaiIFIANBBHIiEEHEAPwKAABBASEIQQMgBkEBayAGcSIDQf8BcSIGaSIEIARBA00bQQFqIgRByABsEJABIgtFDQ8gC0F+NgIAIAtBBGogBUHEAPwKAAAgAkEBNgKYAiACIAs2ApQCIAIgBDYCkAIgBkUNAUHMACEGA0AgA0EAIANrcUH/AXEiBUUNAkEIQQogBUEERiIRGyIEEJABIgVFDRIgBARAIAVB85bJAEHclskAIBEbIAT8CgAACyACIAQ2AqgBIAIgBTYCpAEgAiAENgKgASAFLAABQb9/TA0LIANBAWsgA3EhAyAFIAUtAAAiBUEgQQAgBUHBAGtB/wFxQRpJG3I6AAAgCiAOIA8QqA4gAkGAAjsBrAEgAkEANgKcASACQoCAgIDAADcClAEgAkF+NgJoIAJBoAJqIBBBxAD8CgAAIAIoApACIAhGBEAgAkGQAmogCCADQf8BcWlBAWpBCEHIABCzESACKAKUAiELCyAGIAtqIgVBBGtBfjYCACAFIAJBoAJqQcQA/AoAACACIAhBAWoiCDYCmAIgBkHIAGohBiADQf8BcQ0ACwwBC0EAIQggAkEANgKYAiACQoCAgICAATcCkAILAn8CQCAJIA0oAiARDgAiFlANACAHKQNAIBaDIBZRDQAgAigClAIhByACKALQAyEFIAIoApACIQsgAigC1AMiBARAIAUhAwNAIAMQwAcgA0HkAGohAyAEQQFrIgQNAAsLIAIoAswDIgYEQCAFQQRrKAIAIgRBeHEhAyADIAZB5ABsIgZBBEEIIARBA3EiBBtqSQ0OIARBAEcgAyAGQSdqS3ENDyAFELwFCyACQegCahDAByAHIAhByABsagwBCyACQegAaiIFIAJB6AJqQeQA/AoAAEHkABCQASIDRQ0PIAMgBUHkAPwKAAAgAigCkAIiCyAIRgRAIAJBkAJqEKkSIAIoApACIQsLIAIoApQCIgcgCEHIAGxqIgZBgAI7AUQgBkEGNgJAIAZB0PHHADYCPCAGQX82AjggBkIENwMwIAZCATcDKCAGIAM2AiQgBkEBNgIgIAZBfjYCACACKALQAyEFIAIoAtQDIgQEQCAFIQMDQCADEMAHIANB5ABqIQMgBEEBayIEDQALCyACKALMAyIEBEAgBUEEaygCACIJQXhxIQMgAyAEQeQAbCIEQQRBCCAJQQNxIgkbakkNDSAJQQBHIAMgBEEnaktxDQ4gBRC8BQsgBkHIAGoLIQggAkHoAmogAkHYA2pBxQD8CgAAIAIgAikDiAI3A6gCIAIgAikDgAI3A6ACIAIgAikD8AE3A5ACIAIgAikD+AE3A5gCAn8gAS0ALiITBEBBCCEGQQAMAQsgAkHoAGoQhhBBBxCQASIFRQ0QIAVB/PLHACgAADYAAyAFQfnyxwAoAAA2AABB5AAQkAEiA0UNDyADQQM2AgAgAyACKQJoNwIEIAMgAikCcDcCDCADIAIpAng3AhQgAyACKQKAATcCHCADIAIpAogBNwIkIAMgAikCkAE3AiwgAyACKAKYATYCNEHIABCQASIGRQ0PIAZBADsBRCAGQQQ2AkAgBkG2k8kANgI8IAZBfzYCOCAGQgQ3AzAgBkIBNwMoIAYgAzYCJCAGQQE2AiAgBkEHNgIMIAYgBTYCCCAGQo+AgIDwADcDAEEBCyEEIAJB6ABqIgogAkHoAmoiDkHFAPwKAAAgAiAGNgLkASACIAY2AuABIAIgCDYC3AEgAiALNgLYASACIAc2AtQBIAIgBzYC0AEgAiAMOwGuASACQQE6AK0BIAIgAikDqAI3A7gBIAIgAikDoAI3A7ABIAIgAikDkAI3A8ABIAIgAikDmAI3A8gBIAIgBDYC6AEgAiAEQcgAbCIJIAZqIhQ2AuwBIAQhBSAJIQMCQCACKAJoIg1BeUcEQCAOIAoQowkgAigC7AJBAUcNASACKALwAiIDIARqIgUgA0kNASAFQfK4nA5PDQsgBUHIAGwhAwsCQCADRQRAQQghDkEAIQUMAQsgAxCQASIORQ0PCyACQQA2AuADIAIgDjYC3AMgAiAFNgLYAwJAIA1BeUcEQCACQegCaiACQegAahCjCSACKALsAkEBRw0BIAIoAvACIgMgBGoiBCADSQ0BC0EAIQMgBCAFSwRAIAJB2ANqQQAgBEEIQcgAELMRIAIoAtwDIQ4gAigC4AMhAwsCQCANQXlGDQAgAigCzAEhCiACKALIASEMIAIoAsQBIQQgAigCwAEhDwJAAkACQCANQQZqDgICAQALIAIoArwBIRAgAigCuAEhESACKAK0ASEFIAIoArABIRIgDUF+cUF8RwRAIA4gA0HIAGxqIhUgDTYCACAVQQRqIAJB6ABqQQRyQcQA/AoAACADQQFqIQMLIBJFDQAgBSAQRwRAIA4gA0HIAGxqIQ0DQCANIAVByAD8CgAAIA1ByABqIQ0gA0EBaiEDIBAgBUHIAGoiBUcNAAsLIBFFDQAgEiARQcgAbBDZEgsgD0UNACAEIApHBEAgDiADQcgAbGohBQNAIAUgBEHIAPwKAAAgBUHIAGohBSADQQFqIQMgCiAEQcgAaiIERw0ACwsgDEUNACAPIAxByABsENkSCyAHIAhHBEAgDiADQcgAbGohBCAHIQUDQCAEIAVByAD8CgAAIARByABqIQQgA0EBaiEDIAggBUHIAGoiBUcNAAsLIAtFDQAgB0EEaygCACIEQXhxIQUgBSALQcgAbCIIQQRBCCAEQQNxIgQbakkNDiAEQQBHIAUgCEEnaktxDQ8gBxC8BQsCQCATBEAgAyEHDAELAkAgCUHIAGsiCEHIAG4iBUEHcUEHRgRAIAMhByAGIQUMAQsgBUEBakEHcSIFIANqIQdBACAFayEEIA4gA0HIAGxqIQMgBiEFA0AgAyAFQcgA/AoAACADQcgAaiEDIAVByABqIQUgBEEBaiIEDQALCyAIQfgDTwRAIA4gB0HIAGxqIQpBACEIA0AgCCAKaiIEIAUgCGoiA0HIAPwKAAAgBEHIAGogA0HIAGpByAD8CgAAIARBkAFqIANBkAFqQcgA/AoAACAEQdgBaiADQdgBakHIAPwKAAAgBEGgAmogA0GgAmpByAD8CgAAIARB6AJqIANB6AJqQcgA/AoAACAEQbADaiADQbADakHIAPwKAAAgBEH4A2ogA0H4A2pByAD8CgAAIAhBwARqIQggB0EIaiEHIANBwARqIBRHDQALCyAGQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAlqSQ0OIARBAEcgAyAJQSdqS3ENDyAGELwFCyACIAIpAtgDNwOQAiACIAc2ApgCDAwLQezrxwBBI0GA7McAEL8TAAtB7OvHAEEjQcSIyAAQvxMACwJAAkACQAJAAkBBAyACKAIEIgNBAmsiBSADQQFNG0EBaw4DAQIDAAsgAkHoAGogAkEEakHkAPwKAAAMAwsgAkHsAGogAkEIahCgByACQQM2AmgMAgtB5AAQkAEiBkUNDyACKAIIIAYQuA8gAkEENgJoIAIgBjYCbAwBCyACQegAaiACQQRqEOQFCyABLQAtIQQgAkGIA2oiByACQegAahC1DCACQQA7AawDIAJBBjYCqAMgAkGB8ccANgKkAyACQoCAgIBwNwKcAyACQoCAgIDAADcClANBfiEGIAJBfjYC6AIgBEEBRgRAIAIoApADIgMgAigCiANGBEAgBxCYEiACLwGuAyENIAIoAugCIQYLIAIoAowDIANB5ABsaiIFQQA6AAQgBUECNgIAIAIgA0EBajYCkAMgAigCBCIDQQJrIQULIAJB2ANqIAJB6AJqQQRyQcEA/AoAAAJAAkACQAJAAkACQEEDIAUgA0EBTRtBAWsOAwIABAELQeQAEJABIgMNAgwSCyACQaACaiACQQRqIgMgBBCSCyACKAKgAiEJIAIoAqQCIQUgAigCqAIhDiACKAKsAiEHIAJB6AJqIAJB2ANqQcEA/AoAACACQegAaiADQeQA/AoAAAwDCyACQegAaiIDQQRqIgggAkEIaiIKEKAHIAJBAzYCaCACQaACaiADIAQQkgsgAigCoAIhCSACKAKkAiEFIAIoAqgCIQ4gAigCrAIhByACQegCaiACQdgDakHBAPwKAAAgCCAKEKAHIAJBAzYCaAwCCyACKAIIIgggAxC4DyACQQQ2AmggAiADNgJsIAJBoAJqIAJB6ABqIAQQkgsgAigCoAIhCSACKAKkAiEFIAIoAqgCIQ4gAigCrAIhByACQegCaiACQdgDakHBAPwKAABB5AAQkAEiA0UNDyAIIAMQuA8gAkEENgJoIAIgAzYCbAwBCyACQegAaiIDIAJBBGoiCBDkBSACQaACaiADIAQQkgsgAigCoAIhCSACKAKkAiEFIAIoAqgCIQ4gAigCrAIhByACQegCaiACQdgDakHBAPwKAAAgAyAIEOQFCyACQaACaiACQegAahCcDSACQdgDaiACQegCakHBAPwKAAAgAigCqAIhECACKAKgAiEIAkACfwJAIAIoAqwCIg8gAigCpAIiA2tByABuAn8CQAJAAkACQAJAAn8CQAJ/AkAgBkF7RwRAIAhFDQMgBkF8Rg0BIAZBfUciBCAJRQ0CGiAHIAVrQcgAbiAEagwCCyAIRQ0GIA8gA2tByABuDAMLQQAgCUUNABogByAFa0HIAG4LIA8gA2tByABuagwBCyAGQXxHBEAgBkF9RyEKIAlFDQIgByAFa0HIAG4gCmoMAQsgCUUNAiAHIAVrQcgAbgsiCkHyuJwOTw0RCwJAIApFBEBBCCEMQQAhCgwBCyAKQcgAbBCQASIMRQ0VCyACQQA2AvACIAIgDDYC7AIgAiAKNgLoAiACQegAaiACQdgDakHBAPwKAAAgBkF7Rg0CIAhFDQUgBkF8Rg0DIAZBfUciBCAJRQ0EGiAHIAVrQcgAbiAEagwECyACQoCAgICAATcC6AJBACEEDAYLIAJCgICAgIABNwLoAkEAIQQMBQsgCEUEQEEAIQQMBQsgDyADa0HIAG4MAwtBACAJRQ0AGiAHIAVrQcgAbgtqDAELIAZBfEcEQCAGQX1HIgQgCUUNARogByAFa0HIAG4gBGoMAQsgCUUEQEEAIQQMAgsgByAFa0HIAG4LIQtBACEEIAogC0kEQCACQegCakEAIAtBCEHIABCzESACKALsAiEMIAIoAvACIQQLAkAgBkF7Rg0AIAZBfnFBfEcEQCAMIARByABsaiIKIAY2AgAgCkEEaiACQegAakHBAPwKAAAgCiANOwFGIApBAToARSAEQQFqIQQLIAlFDQAgBSAHRwRAIAwgBEHIAGxqIQYDQCAGIAVByAD8CgAAIAZByABqIQYgBEEBaiEEIAcgBUHIAGoiBUcNAAsLIA5FDQAgCUEEaygCACIFQXhxIQYgBiAOQcgAbCIHQQRBCCAFQQNxIgUbakkNDCAFQQBHIAYgB0EnaktxDQ0gCRC8BQsgCEUNACADIA9HBEAgDCAEQcgAbGohBQNAIAUgA0HIAPwKAAAgBUHIAGohBSAEQQFqIQQgDyADQcgAaiIDRw0ACwsgEEUNACAIQQRrKAIAIgNBeHEhBSAFIBBByABsIgZBBEEIIANBA3EiAxtqSQ0LIANBAEcgBSAGQSdqS3ENDCAIELwFCyACIAIpAugCNwOQAiACIAQ2ApgCDAkLAkACQAJAAkACQEEDIAIoAgQiA0ECayADQQFNG0EBaw4DAQIDAAsgAkHoAGogAkEEakHkAPwKAAAMAwsgAkHsAGogAkEIahCgByACQQM2AmgMAgtB5AAQkAEiA0UNDiACKAIIIAMQuA8gAkEENgJoIAIgAzYCbAwBCyACQegAaiACQQRqEOQFCyABLQAtIQMgAkGIA2ogAkHoAGoQtQwgAkEAOwGsAyACQQY2AqgDIAJBgfHHADYCpAMgAkKAgICAcDcCnAMgAkKAgICAwAA3ApQDQX4hBSACQX42AugCIAICfwJAIANFBEAgAkHYA2ogAkHoAmpBBHJBwQD8CgAADAELIAIoApADIgMgAigCiANHBH9BfgUgAkGIA2oQmBIgAi8BrgMhCCACKALoAgshBSACKAKMAyADQeQAbGoiBkEAOgAEIAZBAjYCACACIANBAWo2ApADIAJB2ANqIAJB6AJqQQRyQcEA/AoAAEEIIQNBACAFQX1GDQEaC0HIABCQASIDRQ0MIAMgBTYCACADQQRqIAJB2ANqQcEA/AoAACADIAg7AUYgA0EBOgBFQQELIgY2ApgCIAIgAzYClAIgAiAGNgKQAgwICwJAAkACQAJAAkBBAyACKAIEIgNBAmsiCCADQQFNG0EBaw4DAQIDAAsgAkHoAGogAkEEakHkAPwKAAAMAwsgAkHsAGogAkEIahCgByACQQM2AmgMAgtB5AAQkAEiBUUNDSACKAIIIAUQuA8gAkEENgJoIAIgBTYCbAwBCyACQegAaiACQQRqEOQFCyABLQAtIQUgAkGIA2oiBiACQegAahC1DCACQQA7AawDIAJBBjYCqAMgAkGB8ccANgKkAyACQoCAgIBwNwKcAyACQoCAgIDAADcClANBfiEEIAJBfjYC6AIgBUEBRgRAIAIoApADIgMgAigCiANGBEAgBhCYEiACLwGuAyEKIAIoAugCIQQLIAIoAowDIANB5ABsaiIGQQA6AAQgBkECNgIAIAIgA0EBajYCkAMgAigCBCIDQQJrIQgLIAJB2ANqIAJB6AJqQQRyQcEA/AoAAAJAAkACQAJAAkBBAyAIIANBAU0bQQFrDgMBAgMACyACQegAaiACQQRqQeQA/AoAAAwDCyACQewAaiACQQhqEKAHIAJBAzYCaAwCC0HkABCQASIDRQ0NIAIoAgggAxC4DyACQQQ2AmggAiADNgJsDAELIAJB6ABqIAJBBGoQ5AULIAJBoAJqIAJB6ABqIAUQkgsgAkHoAmogAkHYA2pBwQD8CgAAIAIoAqwCIQggAigCqAIhCyACKAKkAiEDIAIoAqACIQcCQAJAAn8gBEF8RwRAIARBfUchBiAHRQ0CIAggA2tByABuIAZqDAELIAdFBEAgAkKAgICAgAE3AtgDQQAhBQwDCyAIIANrQcgAbgsiBkHyuJwOTw0ICwJAIAZFBEBBCCEJQQAhBgwBCyAGQcgAbBCQASIJRQ0MCyACQQA2AuADIAIgCTYC3AMgAiAGNgLYAyACQegAaiACQegCakHBAPwKAAACfyAEQXxHBEAgBEF9RyIFIAdFDQEaIAggA2tByABuIAVqDAELIAdFBEBBACEFDAILIAggA2tByABuCyENQQAhBSAGIA1JBEAgAkHYA2pBACANQQhByAAQsxEgAigC3AMhCSACKALgAyEFCyAEQX5xQXxHBEAgCSAFQcgAbGoiBiAENgIAIAZBBGogAkHoAGpBwQD8CgAAIAYgCjsBRiAGQQE6AEUgBUEBaiEFCyAHRQ0AIAMgCEcEQCAJIAVByABsaiEEA0AgBCADQcgA/AoAACAEQcgAaiEEIAVBAWohBSAIIANByABqIgNHDQALCyALRQ0AIAdBBGsoAgAiBkF4cSEDIAMgC0HIAGwiBEEEQQggBkEDcSIGG2pJDQkgBkEARyADIARBJ2pLcQ0KIAcQvAULIAIgAikC2AM3A5ACIAIgBTYCmAIMBwtBzIvJAEGnAUG08McAEL8TAAsCQAJAAkACQAJAQQMgAigCBCIDQQJrIANBAU0bQQFrDgMBAgMACyACQegAaiACQQRqQeQA/AoAAAwDCyACQewAaiACQQhqEKAHIAJBAzYCaAwCC0HkABCQASIDRQ0LIAIoAgggAxC4DyACQQQ2AmggAiADNgJsDAELIAJB6ABqIAJBBGoQ5AULIAJB6AJqENIOIAJBoAJqIgMgAkHoAGoQtQwgAigCqAIiBiACKAKgAkYEQCADEJgSCyACKAKkAiAGQeQAbGoiA0EDNgIAIAMgAikC6AI3AgQgAyACKQLwAjcCDCADIAIpAvgCNwIUIAMgAikCgAM3AhwgAyACKQKIAzcCJCADIAIpApADNwIsIAMgAigCmAM2AjRBASEFIAIgBkEBaiIDNgKoAiACIAM2AvwDIAIgAikDoAI3AvQDQcgAEJABIgMNAQwIC0GwjMkAQasBQcTwxwAQvxMACyADQX42AgAgAyACKQLYAzcCBCADIAIpAuADNwIMIAMgAikC6AM3AhQgAyACKQLwAzcCHCADIAIpAvgDNwIkIANBgAI7AUQgA0EGNgJAIANBgfHHADYCPCADQoCAgIBwNwI0IANCgICAgMAANwIsIAJBATYCoAIgAiADNgKkAiACQQE2AqgCIAJB6ABqIQgjAEHwAmsiByQAAkBB5AAQkAEiBgRAIAZBAToABCAGQQI2AgAgB0ECNgIwIAdBAToANCAHQQxqIAdBMGoiBBC1DCAHQQI2AjAgB0EIOgA0IAdBGGogBBC1DCAHQTRqEIYQIAdBAzYCMCAHQSRqIAQQtQxB+AMQkAEiBEUNCUHkABCQASIKRQ0JIAogBjYCBCAKQQQ2AgBBBxCQASILRQ0KIAtB/PLHACgAADYAAyALQfnyxwAoAAA2AAAgByAHKQIkNwOgASAHIAcoAiw2AqgBIAdBsAFqIAcoAhAiBiAHKAIUIg8QqA4gB0HAAWogBiAPEKgOIAcgBygCFDYC2AEgByAHKQIMNwPQASAHQdAAaiIGIAcoAhwiECAHKAIgIhEQqA4gB0EAOwF0IAdBETYCcCAHQd37xwA2AmwgB0KAgICAcDcCZCAHQoCAgIDAADcCXCAHQX42AjAgBygCWCIPIAcoAlBGBEAgBhCYEiAHLwF2IQwLIAcoAlQgD0HkAGxqIhJBADoABCASQQI2AgAgByAPQQFqNgJYIAdB4AFqIAdBMGpBxQD8CgAAIAYgECAREKgOIAdBADsBdCAHQQ82AnAgB0Hu+8cANgJsIAdCgICAgHA3AmQgB0KAgICAwAA3AlwgB0F+NgIwIAcoAlgiDyAHKAJQRgRAIAdB0ABqEJgSIAcvAXYhBgsgBygCVCAPQeQAbGoiEEEAOgAEIBBBAjYCACAHIA9BAWo2AlggB0GoAmoiDyAHQTBqQcUA/AoAACAEQQc2AlQgBCALNgJQIARCj4CAgPAANwNIIARBADsBRCAEQQQ2AkAgBEH/kMkANgI8IARBfzYCOCAEQgQ3AzAgBEIBNwMoIAQgCjYCJCAEQQE2AiAgBEF+NgIAIAQgBykDoAE3A2ggBCAHKAKoATYCcCAEQQA7AYwBIARCgICAgHA3AnwgBEKAgICAwAA3AnQgBEF+NgKQASAEQQQ2AogBIARBtpPJADYChAEgBEGs+8cANgLMASAEQQ82AtABIARBfjYC2AEgBEKAgICAwAA3ArwBIARCgICAgHA3AsQBIARBgAI7AdQBIARBu/vHADYClAIgBEESNgKYAiAEQX42AqACIARCgICAgMAANwKEAiAEQoCAgIBwNwKMAiAEQYACOwGcAiAEIAcoArgBNgK4ASAEIAcpA7ABNwOwASAEIAcpA8ABNwP4ASAEIAcoAsgBNgKAAiAEQoCAgIBwNwLUAiAEQoCAgIDAADcCzAIgBEGAAjsB5AIgBEEQNgLgAiAEQc37xwA2AtwCIAQgBygC2AE2AsgCIAQgBykD0AE3A8ACIARB6AJqIAdB4AFqQcUA/AoAACAEIAw7Aa4DIARBAToArQMgBEGwA2ogD0HFAPwKAAAgBCAGOwH2AyAEQQE6APUDIAdBBzYCnAEgByAENgKYASAHQQc2ApQBIAdB0ABqIgsgBygCHCIEIAcoAiAiChCoDiAHQQA7AXQgB0EONgJwIAdB/fvHADYCbCAHQoCAgIBwNwJkIAdCgICAgMAANwJcIAdBfjYCMCAHKAJYIgYgBygCUEcNASALEJgSDAELDAgLIAcoAlQgBkHkAGxqIgtBADoABCALQQI2AgAgByAGQQFqNgJYIAdBqAJqIgsgB0EwakHFAPwKAAAgBy8BdiEMIAdBlAFqEKkSIAcoApgBIgZB+ANqIAtBxQD8CgAAIAYgDDsBvgQgBkEBOgC9BCAIIAcoApQBNgIIIAggBjYCACAIIAZBwARqNgIMIAggBjYCBCAKBEAgBCEGA0AgBhDAByAGQeQAaiEGIApBAWsiCg0ACwsCQAJAAkAgBygCGCIIBEAgBEEEaygCACIKQXhxIQYgBiAIQeQAbCIIQQRBCCAKQQNxIgobakkNASAKQQBHIAYgCEEnaktxDQIgBBC8BQsgB0HwAmokAAwCC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAigCdCIIIAIoAmwiBmsiBEHIAG4hBwJAIAYgCEYNACACQaACakEBIAdBCEHIABCzESACKAKoAiEFIAIoAqQCIQMgBEUNACADIAVByABsaiAGIAT8CgAACyACIAUgB2oiBDYCqAIgAigCcCIGBEAgAigCaCIHQQRrKAIAIghBeHEhBSAFIAZByABsIgZBBEEIIAhBA3EiCBtqSQ0FIAhBAEcgBSAGQSdqS3ENBiAHELwFCwJAAkACQAJAAkBBAyACKAIEIgVBAmsgBUEBTRtBAWsOAwECAwALIAJB6ABqIAJBBGpB5AD8CgAADAMLIAJB7ABqIAJBCGoQoAcgAkEDNgJoDAILQeQAEJABIgVFDQkgAigCCCAFELgPIAJBBDYCaCACIAU2AmwMAQsgAkHoAGogAkEEahDkBQsgAkHoAmogAkHoAGoQnA0CQAJAIAIoAvQCIgggAigC7AIiBWsiBkHIAG4iByACKAKgAiAEa0sEQCACQaACaiAEIAdBCEHIABCzESACKAKkAiEDIAIoAqgCIQQMAQsgBSAIRg0BCyAGRQ0AIAMgBEHIAGxqIAUgBvwKAAALIAIgBCAHajYCqAIgAigC8AIiBgRAIAIoAugCIgVBBGsoAgAiBEF4cSEDIAMgBkHIAGwiBkEEQQggBEEDcSIEG2pJDQUgBEEARyADIAZBJ2pLcQ0GIAUQvAULIAIgAikCoAI3A5ACIAIgAigCqAI2ApgCDAMLIAMgBUEAQQFBxKXFABD9FAALIAUgBEEAQQFBxKXFABD9FAALEJ4VAAsgASgCACEGIAEoAhghBAJAIAEoAhwiA0UEQEEAIQgMAQsgASgCICEFIAMgAygCACIHQQFqNgIAIAdBAE4EQCABKAIoIQkgASgCJCENIAMhCAwBCwALIAEtACwhByABLQAvIQogAS0ALSELIAJB6AJqIAJBBGoiDEHkAPwKAAACQCAGQQlHBEAgAiAJNgLkAyACIA02AuADIAIgBTYC3AMgAiAINgLYAyACQegAaiIFIAQgASACQdgDaiAHQQFxIAtBAXEiBEEBIApBAXEQnAdByAEQkAEiA0UNBSADIAxB5AD8CgAAIANB5ABqIAVB5AD8CgAAQQAhCCACQQA7AZwEQQMhBiACQQM2ApgEQYv8xwAhByACQYv8xwA2ApQEQX8hCiACQX82ApAEIAJCBDcDiAQgAkICNwOABCACIAM2AvwDIAJBAjYC+ANBfiELIAJBfjYC2AMCfyAERQRAQQQhCUEAIQ1BAAwBCyACQfgDahCYEiACKAL8AyIDQQA6AMwBIANBAjYCyAEgAkEDNgKABCACLQCcBCEIIAIoApgEIQYgAigClAQhByACKAKQBCEKIAIoAowEIQ0gAigCiAQhCSACKALYAyELIAIvAZ4EIQ4gAigChAQLIQQgAiACKQL8AzcDwAIgAiACKQL0AzcDuAIgAiACKQLsAzcDsAIgAiACKQLkAzcDqAIgAiACKQLcAzcDoAIMAQsgAkHoAGoQ0g4gAkHYA2oiBiACQegCahC1DCACKALgAyIHIAIoAtgDRgRAIAYQmBILQQMhBiACKALcAyAHQeQAbGoiBEEDNgIAIAQgAikCaDcCBCAEIAIpAnA3AgwgBCACKQJ4NwIUIAQgAikCgAE3AhwgBCACKQKIATcCJCAEIAIpApABNwIsIAQgAigCmAE2AjQgAiAHQQFqIgQ2AuADIAIgBDYCxAIgAiACKQPYAzcCvAJBi/zHACEHQQQhCUF+IQsCQCADRQRAQX8hCgwBC0F/IQogAyADKAIAIgNBAWs2AgAgA0EBRw0AIAggBRC2EAtBACEEQQAhDUEAIQgLIAIoApgCIgwgAigCkAJGBEAgAkGQAmoQqRILIAIoApQCIgUgDEHIAGxqIgMgCzYCACADIAIpA6ACNwIEIAMgAikDqAI3AgwgAyACKQOwAjcCFCADIAIpA7gCNwIcIAMgAikDwAI3AiQgAyAOOwFGIANBAToARSADIAg6AEQgAyAGNgJAIAMgBzYCPCADIAo2AjggAyANNgI0IAMgCTYCMCADIAQ2AiwgAiAMQQFqIgM2ApgCAkAgAS0AL0EBRw0AIAEoAhghBiACQQE2AtgDIAEtAC0hBCABLQAsIQcgAkEANgLoAiACQegAaiIIIAYgAkHYA2ogAkHoAmogByAEQQFBABCcB0HkABCQASIJRQ0EIAkgCEHkAPwKAAAgAigCkAIgA0YEQCACQZACahCpEiACKAKUAiEFCyAFIANByABsaiIDQQA7AUQgA0EGNgJAIANBzPbIADYCPCADQX82AjggA0IENwMwIANCATcDKCADIAk2AiQgA0EBNgIgIANBfjYCACACIAxBAmoiAzYCmAIgASgCAEEBayIJQQNNBEAgAiAJQQNGBH8gAiABKQIENwLcA0EEBUEDCzYC2AMgAkEANgLoAiACQegAaiIIIAYgAkHYA2ogAkHoAmogByAEQQFBABCcB0HkABCQASIJRQ0FIAkgCEHkAPwKAAAgAigCkAIgA0YEfyACQZACahCpEiACKAKUAgUgBQsgA0HIAGxqIgNBADsBRCADQQQ2AkAgA0HS9sgANgI8IANBfzYCOCADQgQ3AzAgA0IBNwMoIAMgCTYCJCADQQE2AiAgA0F+NgIAIAIgDEEDaiIDNgKYAiACQQA2AugCIAJB6ABqIgUgBiABIAJB6AJqIAcgBEEBQQAQnAdB5AAQkAEiCUUNBSAJIAVB5AD8CgAAIAIoApACIANGBEAgAkGQAmoQqRILIAIoApQCIgUgA0HIAGxqIgNBADsBRCADQQQ2AkAgA0HW9sgANgI8IANBfzYCOCADQgQ3AzAgA0IBNwMoIAMgCTYCJCADQQE2AiAgA0F+NgIAIAIgDEEEaiIDNgKYAgsgBw0AIAJBADYC6AIgAkHoAGoiByAGIAEgAkHoAmpBACAEQQFBABCcB0HkABCQASIGRQ0EIAYgB0HkAPwKAAAgAigCkAIgA0YEfyACQZACahCpEiACKAKUAgUgBQsgA0HIAGxqIgVBADsBRCAFQQQ2AkAgBUHa9sgANgI8IAVBfzYCOCAFQgQ3AzAgBUIBNwMoIAUgBjYCJCAFQQE2AiAgBUF+NgIAIAIgA0EBaiIFNgKYAiABKAIYIQYgAS0ALCEEIAEtAC0hByACQQA2AugCIAJB6ABqIgkgBiABIAJB6AJqIAQgB0EBQQAQnAdB5AAQkAEiBkUNBCAGIAlB5AD8CgAAIAIoApACIAVGBEAgAkGQAmoQqRILIAIoApQCIAVByABsaiIFQQA7AUQgBUEENgJAIAVB3vbIADYCPCAFQX82AjggBUIENwMwIAVCATcDKCAFIAY2AiQgBUEBNgIgIAVBfjYCACACIANBAmo2ApgCCyAAIAIoApgCNgIIIAAgAikDkAI3AgACQAJAIAEoAgwiAEF/Rg0AIABFDQAgASgCECIFQQRrKAIAIgZBeHEhAyADQQRBCCAGQQNxIgYbIABqSQ0CIAZBAEcgAyAAQSdqS3ENASAFELwFCwJAIAEoAhwiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgASgCHCABQSBqKAIAELYQCyACQaAEaiQADwsMAQtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQgQpxQAC0G48MkAQQE6AAAAC0EBEKcUAAvzUAIefwN+IwBB4AZrIgMkACADQcwAaiILIAEoAggiDCgCACACKAIEIgogAigCCCIEIAwoAgQoAhQRBQACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAMoAkxBf0cEQCADQawBaiALQeAA/AoAACAMKAIMKAIAIhgoAgBBAWohBCAYIAQ2AgAgBEUNAiAMKAIIIR0gDCgCECgCACIWKAIAQQFqIQQgFiAENgIAIARFDQIgDCgCFCEeIAMgGDYCmAIgAygCxAEhBCADKALAASELAkACQCADKAK8AUF/RwRAIARFBEBBASEFDAILIAQQkAEiBUUNAiAEBEAgBSALIAT8CgAACyAEQX9HDQFBABCnFAALAkAgBEEATgR/IARFBEBBASEFDAMLIAQQkAEiBQ0BQQEFQQALEKcUAAsgBEUNACAFIAsgBPwKAAALIBggGCgCAEEBaiILNgIAIAtFDQNBGBCQASIUBEAgFCAYNgIUIBQgBDYCECAUIAU2AgwgFCAENgIIIBRBATYCBCAUQQI2AgAgFiAWKAIAQQFqIgQ2AgAgBEUNBCACKAIQIQogAigCFCEJIAMgFjYCkAUgAyAUNgL0BQJAAkACQCAJBEAgCiAJQcgAbGohBiAKIQcDQAJAAkAgAygChAIiBEUNACAELQAUQQNHBEAgAyAEQQhqNgLAAyAEQRRqIANBwANqEI8PCyAEKAIQIgtFDQAgC0HIAGwhBSAEKAIMQTxqIQQgBygCBCEIIAcoAgghCwNAIAsgBEEEaigCAEYEQCAEKAIAIAggCxCPE0UNAwsgBEHIAGohBCAFQcgAayIFDQALC0EBIQUCQCAHQQhqKAIAIgRFIgsNACAHQQRqKAIAIQYgBBCQASIFRQ0aIAsNACAFIAYgBPwKAAALIBYgFigCAEEBaiILNgIAIAtFDQpBGBCQASIVRQ0VIBUgFjYCFCAVIAQ2AhAgFSAFNgIMIBUgBDYCCCAVQoGAgIAQNwIAIAMgFTYCwAUgA0EANgLIAyADQoCAgIDAADcCwANBBCESQQAhC0EEIRcCQCAUKAIIQX9GDQBBACEFQQQhCSAUIQQDQCAEKAIQIQYgBCgCDCEIIAMoAsADIAtGBEAgA0HAA2oQlhIgAygCxAMhCQsgBSAJaiIHIAg2AgAgB0EEaiAGNgIAIAMgC0EBaiILNgLIAyAFQQhqIQUgBCgCFCIEKAIIQX9HDQALIAMoAsQDIRcgC0EBdiIGRQ0AIBcgC0EDdGohDEEAIQQgBkEBRwRAIAZBAXEgBkH+////B3EhCkEAIQYDQCAFIBdqQQhrIgcpAgAhISAHIAYgF2oiBykCADcCACAHICE3AgAgB0EIaiIIKQIAISEgCCAMIARB/v///wFzQQN0aiIHKQIANwIAIAcgITcCACAFQRBrIQUgBkEQaiEGIAogBEECaiIERw0AC0UNAQsgFyAEQQN0aiIGKQIAISEgBiAMIARBf3NBA3RqIgQpAgA3AgAgBCAhNwIACyADKALAAyEfIANBADYCyAMgA0KAgICAwAA3AsADAkAgFSgCCEF/Rg0AQQAhBUEEIQkgFSEEA0AgBCgCECEGIAQoAgwhCCADKALAAyAQRgRAIANBwANqEJYSIAMoAsQDIQkLIAUgCWoiByAINgIAIAdBBGogBjYCACADIBBBAWoiEDYCyAMgBUEIaiEFIAQoAhQiBCgCCEF/Rw0ACyADKALEAyESIBBBAXYiBkUNACASIBBBA3RqIQxBACEEIAZBAUcEQCAGQQFxIAZB/v///wdxIQpBACEGA0AgBSASakEIayIHKQIAISEgByAGIBJqIgcpAgA3AgAgByAhNwIAIAdBCGoiCCkCACEhIAggDCAEQf7///8Bc0EDdGoiBykCADcCACAHICE3AgAgBUEQayEFIAZBEGohBiAKIARBAmoiBEcNAAtFDQELIBIgBEEDdGoiBikCACEhIAYgDCAEQX9zQQN0aiIEKQIANwIAIAQgITcCAAsgAygCwAMhIEEEIRtBACENAkACQAJAAkACQCADKAKEAiIERQ0AIAQtABRBA0cEQCADIARBCGo2AsADIARBFGogA0HAA2oQjw8LIAQoAhAiGUUNACAEKAIMIREgGUEYbBCQASIbRQ0BIANB+ANqIQ0DQCADQcADaiARIBNByABsahD0ByADKALkAyEKQQQhDCADKALoAyIOBEAgCiEFIA4iBkEMbCIIEJABIgwiBEUNBANAIANByAJqIAUQ6QogBCADKALQAjYCCCAEIAMpAsgCNwIAIARBDGohBCAFQeQAaiEFIAZBAWsiBg0ACwsCQCADKALAAyIEQX5GDQAgBEF/RwRAIANBwANqEIgEDAELIAMoAsQDIgQEQCADKALIAyIGQQRrKAIAIgVBeHEhCCAIQQRBCCAFQQNxIgUbIARqSQ0eIAVBAEcgCCAEQSdqS3ENHyAGELwFCyADKALUAyEGIAMoAtgDIgUEQCAGIQQDQCAEEIgEIARBIGohBCAFQQFrIgUNAAsLIAMoAtADIgRFDQAgBkEEaygCACIFQXhxIQggCCAEQQV0IgRBBEEIIAVBA3EiBRtySQ0dIAVBAEcgCCAEQSdqS3ENHiAGELwFCyAOBEBBACEIA0ACQAJAAkACQEEDIAogCEHkAGxqIgcoAgAiBEECayAEQQFNGw4DAwECAAsgBxDoCQwCCyAHKAIEIQQgB0EUahDDAgJAAkACQCAEDgIBAgALIAcoAgwhBiAHKAIQIgUEQCAGIQQDQCAEKAIAIgkEQCAEQQRqKAIAIhxBBGsoAgAiGkF4cSEPIA9BBEEIIBpBA3EiGhsgCWpJDSUgGkEARyAPIAlBJ2pLcQ0mIBwQvAULIARBHGoiDygCACIcKAIAIQkgHCAJQQFrNgIAIAlBAUYEQCAPKAIAEDALIARBIGohBCAFQQFrIgUNAAsLIAcoAggiBUUNAyAGQQRrKAIAIglBeHEhBCAEIAVBBXQiBUEEQQggCUEDcSIJG3JJDSIgCUEARyAEIAVBJ2pLcQ0jIAYQvAUMAwsgBygCDCEGIAcoAhAiBQRAIAYhBANAIAQoAgAiCQRAIARBBGooAgAiHEEEaygCACIaQXhxIQ8gD0EEQQggGkEDcSIaGyAJakkNJCAaQQBHIA8gCUEnaktxDSUgHBC8BQsgBEEMaiEEIAVBAWsiBQ0ACwsgBygCCCIFRQ0CIAZBBGsoAgAiCUF4cSEEIAQgBUEMbCIFQQRBCCAJQQNxIgkbakkNISAJQQBHIAQgBUEnaktxDSIgBhC8BQwCCyAHKAIIIgYoAgAhBCAGIARBAWs2AgAgBEEBRw0BIAcoAggQMAwBCyAHQQRqEMYRCyAOIAhBAWoiCEcNAAsLIAMoAuADIgYEQCAKQQRrKAIAIgVBeHEhBCAEIAZB5ABsIgZBBEEIIAVBA3EiBRtqSQ0dIAVBAEcgBCAGQSdqS3ENHiAKELwFCyADKALwAyEKIAMoAvQDIgYEQCAKIQQDQAJAIAQoAgAiBUF/Rg0AIAVFDQAgBEEEaigCACIHQQRrKAIAIghBeHEhCSAJQQRBCCAIQQNxIggbIAVqSQ0fIAhBAEcgCSAFQSdqS3ENICAHELwFCyAEQQxqIQQgBkEBayIGDQALCyADKALsAyIGBEAgCkEEaygCACIFQXhxIQQgBCAGQQxsIgZBBEEIIAVBA3EiBRtqSQ0dIAVBAEcgBCAGQSdqS3ENHiAKELwFCyAbIBNBGGxqIgQgDjYCCCAEIAw2AgQgBCAONgIAIAQgDSkCADcCDCAEIA0oAgg2AhQgGSATQQFqIhNHDQALIBkhDQtBKRCQASIRRQ0dIBFBuLLJAC0AADoAKCARQbCyyQApAAA3ACAgEUGosskAKQAANwAYIBFBoLLJACkAADcAECARQZiyyQApAAA3AAggEUGQsskAKQAANwAAIAMCfkHQ8MkALQAABEBByPDJACkDACEhQcDwyQApAwAMAQsgA0HAA2oQuxFB0PDJAEEBOgAAQcjwyQAgAykDyAMiITcDACADKQPAAwsiIjcDsAZBwPDJACAiQgF8NwMAIANBADYCyAYgA0KAgICAgAE3A8AGIAMgITcDuAYgA0GQqckAKQMANwLMBiADQZipyQApAwA3AtQGQQwQkAEiBEUNHSAEQfqxyQAoAAA2AAggBEHysckAKQAANwAAIANBDDYCiAYgAyAENgKEBiADQQw2AoAGIANBwANqIgQgEiAQEN8NIAMoAtADQX9GDRwgAyADKQPoAzcD8AIgAyADKQPgAzcD6AIgAyADKQPYAzcD4AIgAyADKQPQAzcD2AIgAyADKQPIAzcD0AIgAyADKQPAAzcDyAIgBCADQbAGaiADQYAGaiADQcgCahDSAyADIAMpA/ADNwPoBCADIAMpA+gDNwPgBCADIAMpA+ADNwPYBCADIAMpA9gDIiI3A9AEIAMgAykD0AM3A8gEIAMgAykDyAM3A8AEICKnQX9HBEAgA0HABGoQ/gkLQQkQkAEiBEUNHUEAIQYgBEHBsskALQAAOgAIIARBubLJACkAADcAACADQQk2AogGIAMgBDYChAYgA0EJNgKABiANQavVqhVPDRECQCANQTBsIgRFBEBBCCEJDAELIAQQkAEiCUUNAyANIQYLIA1BGGwhGUEAIQUgA0EANgLIBCADIAk2AsQEIAMgBjYCwAQCQCANBEAgGSEHQQAhCCAbIQYDQCADQcADaiAGELMEIAMoAtADQX9GDQIgBkEYaiEGIAMoAsAEIAhGBEAgA0HABGoQlBIgAygCxAQhCQsgBSAJaiIEIAMpA8ADNwMAIAQgAykD6AM3AyggBCADKQPgAzcDICAEIAMpA9gDNwMYIAQgAykD0AM3AxAgBCADKQPIAzcDCCADIAhBAWoiCDYCyAQgBUEwaiEFIAdBGGsiBw0ACyADKALABCEGCyADQYSAgIB4NgLYAiADIAMpAsQENwLMAiADIAY2AsgCIANBwANqIANBsAZqIANBgAZqIANByAJqENIDIAMgAykD8AM3A+gEIAMgAykD6AM3A+AEIAMgAykD4AM3A9gEIAMgAykD2AMiIjcD0AQgAyADKQPQAzcDyAQgAyADKQPIAzcDwAQgIqdBf0cEQCADQcAEahD+CQtBDRCQASIERQ0eIARBjrHJACkAADcABSAEQYmxyQApAAA3AAAgA0ENNgKIBiADIAQ2AoQGIANBDTYCgAYgA0HAA2oiBCAXIAsQ3w0gAygC0ANBf0YNHSADIAMpA+gDNwPwAiADIAMpA+ADNwPoAiADIAMpA9gDNwPgAiADIAMpA9ADNwPYAiADIAMpA8gDNwPQAiADIAMpA8ADNwPIAiAEIANBsAZqIANBgAZqIANByAJqENIDIAMgAykD8AM3A+gEIAMgAykD6AM3A+AEIAMgAykD4AM3A9gEIAMgAykD2AMiIjcD0AQgAyADKQPQAzcDyAQgAyADKQPIAzcDwAQgIqdBf0cEQCADQcAEahD+CQsgAyADKQK8BjcDoAIgAyADKQLEBjcDqAIgAyADKQLMBjcDsAIgAyADKQLUBjcDuAIgAyADKALcBjYCwAIgAygCsAYhCyADKAK0BiEMIAMoArgGIRAgDQRAQQAhDwNAIBsgD0EYbGoiCigCDCIEQQBKBEAgCigCECIGQQRrKAIAIg5BeHEhCCAIQQRBCCAOQQNxIg4bIARqSQ0eIA5BAEcgCCAEQSdqS3ENHyAGELwFCyAKKAIEIQ4gCigCCCIFBEAgDiEEA0AgBCgCACIGQQBKBEAgBEEEaigCACIHQQRrKAIAIghBeHEhCSAJQQRBCCAIQQNxIggbIAZqSQ0gIAhBAEcgCSAGQSdqS3ENISAHELwFCyAEQQxqIQQgBUEBayIFDQALCyAKKAIAIgYEQCAOQQRrKAIAIgVBeHEhBCAEIAZBDGwiBkEEQQggBUEDcSIFG2pJDR4gBUEARyAEIAZBJ2pLcQ0fIA4QvAULIA9BAWoiDyANRw0ACyAbQQRrKAIAIgZBeHEhBCAEQQRBCCAGQQNxIgYbIBlqSQ0cIAZBAEcgBCAZQSdqS3ENHSAbELwFCyAgBEAgEkEEaygCACIGQXhxIQQgBCAgQQN0IgVBBEEIIAZBA3EiBhtqSQ0cIAZBAEcgBCAFQSdqS3ENHSASELwFCyAfBEAgF0EEaygCACIGQXhxIQQgBCAfQQN0IgVBBEEIIAZBA3EiBhtqSQ0cIAZBAEcgBCAFQSdqS3ENBSAXELwFCyAVIBUoAgBBAWsiBDYCACAERQRAIANBwAVqEO0OCyADKAKQBSIGKAIAQQFrIQQgBiAENgIAIARFBEAgA0GQBWoQ7Q4LIAMoAvQFIgYoAgBBAWshBCAGIAQ2AgBBKSENQQkhE0EpIQ8MCAsgAygCwAMhACADQcAEahCXCSADKALABCIBBEAgCSABQTBsENkSCyADIAA2AsADQYiwyQBBKyADQcADakGYsckAQcSyyQAQ2hIAC0EEEKcUAAtBBBCnFAALQQgQpxQACwwXCyAGIAdByABqIgdHDQALCwJ/IAMoAoQCIgRFBEBBACEFQQgMAQsgBC0AFEEDRwRAIAMgBEEIajYCwAMgBEEUaiADQcADahCPDwsgBCgCECEFIAQoAgwLIQQgA0F/NgLwBCADIB42AqAGIAMgHTYCnAYgAyAJNgKMBiADIAo2AogGIAMgBDYCgAYgAyAEIAVByABsajYChAYgAyADQcAEajYCpAYgAyADQfQFajYCmAYgAyADQawBajYClAYgAyADQZAFajYCkAYgA0HIAmoiBCADQYAGahBlAkACQCADKALIAkF/RwRAQeACEJABIghFDQQgCCAEQdgA/AoAACADQQE2AsgFIAMgCDYCxAUgA0EENgLABSADIAMpAqAGNwPQBiADIAMpApgGNwPIBiADIAMpApAGNwPABiADIAMpAogGNwO4BiADIAMpAoAGNwOwBkHYACEFQQEhBANAIANBwANqIANBsAZqEGUgAygCwANBf0cEQCADKALABSAERgRAIANBwAVqIARBAUEIQdgAELMRIAMoAsQFIQgLIAUgCGogA0HAA2pB2AD8CgAAIAMgBEEBaiIENgLIBSAFQdgAaiEFDAELCyADKALABSEOIAMoAvAEIg9Bf0cNASAOIQsgCCEMIAQhEEF/IQ8MAgsgAygC8AQiD0F/RgRAQQghDEEAIQtBfyEPDAILIAMgAykCzAQ3A6ACIAMgAykC1AQ3A6gCIAMgAykC3AQ3A7ACIAMgAykC5AQ3A7gCIAMgAygC7AQ2AsACIAMgAy8A/QQ7AZwCIAMgAy0A/wQ6AJ4CIAMtAPwEIRMgAygC+AQhDSADKAL0BCERIAMoAsgEIRAgAygCxAQhDCADKALABCELDAELIAMgAykCzAQ3A6ACIAMgAykC1AQ3A6gCIAMgAykC3AQ3A7ACIAMgAykC5AQ3A7gCIAMgAygC7AQ2AsACIAMgAy8A/QQ7AZwCIAMgAy0A/wQ6AJ4CIAMtAPwEIRMgAygC+AQhDSADKAL0BCERIAMoAsgEIRAgAygCxAQhDCADKALABCELIAghBQNAIAVByABqKAIAIgYEQCAFQcwAaigCACIJQQRrKAIAIgdBeHEhCiAKQQRBCCAHQQNxIgcbIAZqSQ0WIAdBAEcgCiAGQSdqS3ENFyAJELwFCyAFEK4HIAVB2ABqIQUgBEEBayIEDQALIA5FDQAgCEEEaygCACIGQXhxIQQgBCAOQdgAbCIFQQRBCCAGQQNxIgYbakkNFCAGQQBHIAQgBUEnaktxDQMgCBC8BQsgAygCkAUiBigCAEEBayEEIAYgBDYCACAERQRAIANBkAVqEO0OCyADKAL0BSIGKAIAQQFrIQQgBiAENgIACyAEDQUgA0H0BWoQ7Q4MBQtBCBCnFAALDBELDA4LDBELIARBAEgNBCAMKAIMQQEhBgJAIARFIgkNACAEEJABIgZFDREgCQ0AIAYgCiAE/AoAAAsoAgAiCygCAEEBaiECIAsgAjYCACACRQ0BQRgQkAEiAgRAIAIgCzYCFCACIAQ2AhAgAiAGNgIMIAIgBDYCCCACQoGAgIAQNwIAIAMgAjYCrAFBACEGIANBADYClAIgA0KAgICAwAA3AowCQQQhCiACIQQDQCAEKAIQIQsgBCgCDCEHIAMoAowCIAVGBEAgA0GMAmoQlhIgAygCkAIhCgsgBiAKaiIOIAc2AgAgDkEEaiALNgIAIAMgBUEBaiIFNgKUAiAGQQhqIQYgBCgCFCIEKAIIQX9HDQALAkAgBUEBdiIERQ0AIAMoApACIgsgBUEDdGohByAEQQFHBEAgBEEBcSAEQf7///8HcSEOIAYgC2pBCGshBSALIQQDQCAFKQIAISEgBSAEKQIANwIAIAQgITcCACAEQQhqIgYpAgAhISAGIAcgCEH+////AXNBA3RqIgYpAgA3AgAgBiAhNwIAIAVBEGshBSAEQRBqIQQgDiAIQQJqIghHDQALRQ0BCyALIAhBA3RqIgQpAgAhISAEIAcgCEF/c0EDdGoiBCkCADcCACAEICE3AgALIANByAJqIgQgDCgCGBCtCSADQcADaiADQYwCaiAEEJoGIAMgAykCzAM3AyggAyADKQLUAzcDMCADIAMpAtwDNwM4IAMgAykC5AM3A0AgAyADKALsAzYCSCADIAMtAP8DOgAmIAMgAy8A/QM7ASQgAygCwAMhCyADKQLEAyEiIAMoAvADIQ8gAygC9AMhESADKAL4AyENIAMtAPwDIRMgAiACKAIAQQFrIgI2AgAgAg0KIANBrAFqEO0ODAoLDAwLIAMgAjYCqAMgA0HIAmoiAiADQawBakHgAPwKAAAgAyAeNgK4AyADIBY2ArQDIAMgHTYCsAMgAyAUNgKsAyAPQX9HBEAgAyADKALAAjYCSCADIAMpA7gCNwNAIAMgAykDsAI3AzggAyADKQOoAjcDMCADIAMpA6ACNwMoIAMgAy8BnAI7ASQgAyADLQCeAjoAJiACEPcPIAMoAqwDIgQoAgBBAWshAiAEIAI2AgAgEK1CIIYhIiAMrSEhIAJFBEAgA0GsA2oQ7Q4LICEgIoQhIkF/IQQgAygCtAMiAigCAEEBayEFIAIgBTYCACAFDQggA0G0A2oQ7Q4MCAsgA0HAA2ogA0HIAmpB9AD8CgAAAkACQCADLQDcAyICQQJGIAMoAqAEIgRBIGooAgBBAEdxRQRAIAJBAUYNAUF/IQcMAgsgBEEIaigCACICQQBIDQUgAkUEQEEBIQQMBQsgBEEEaigCACEKIAIQkAEiBEUEQAwSCyACRQ0EIAQgCiAC/AoAAAwECyADKAKwBCEIIAMoAqgEIQYgAygCpAQiAigCAEEBaiEHIAIgBzYCACAHRQ0BIAMoAqwEIgcoAgBBAWohCSAHIAk2AgAgCUUNASADQcAEaiAGIAIgByAEQRxqKAIAIARBIGooAgAgBCgCNEEAIAQoAjBBf0cbIAQoAjggA0HgA2pBACADIAgQ0AEgAykCxAQhIiADKALABCEHIAMgAygC7AQ2AtAGIAMgAykC5AQ3A8gGIAMgAykC3AQ3A8AGIAMgAykC1AQ3A7gGIAMgAykCzAQ3A7AGIAMoAvAEIQ8gAygC9AQhESADKAL4BCENIAMtAPwEIRMgAyADLwD9BDsBgAYgAyADLQD/BDoAggYgD0F/RwRAIAMgAygC0AY2AkggAyADKQPIBjcDQCADIAMpA8AGNwM4IAMgAykDuAY3AzAgAyADKQOwBjcDKCADIAMvAYAGOwEkIAMgAy0AggY6ACYgEARAIAwhBANAIARByABqKAIAIgIEQCAEQcwAaigCACIIQQRrKAIAIgZBeHEhCSAJQQRBCCAGQQNxIgYbIAJqSQ0RIAZBAEcgCSACQSdqS3ENEiAIELwFCyAEEK4HIARB2ABqIQQgEEEBayIQDQALCyALBEAgDCALQdgAbBDZEgsgA0HAA2oQ9w9BfyEEIAMoAqQEIgsoAgBBAWshAiALIAI2AgAgAkUEQCADQaQEahDtDgsgAygCrAQiAigCAEEBayEFIAIgBTYCACAFBEAgByELDAoLIANBrARqIQYgBwwICyADKAKgBCEEICIhIQsgBEEIaigCACIFQQBIDQMgBUUEQEEBIQkMAgsgBEEEaigCACECIAUQkAEiCUUNDyAFBEAgCSACIAX8CgAACyADKAKgBCEEDAELAAtBfyEIAkAgBCgCJEF/RwRAIARBLGooAgAiCAR+IARBKGooAgAhBCAIEJABIgJFDQIgCARAIAIgBCAI/AoAAAsgAq0FQgELIAitQiCGhCEjCyADIAMpAtQDNwMoIAMgAykC3AM3AzAgAyADKQLkAzcDOCADIAMpAuwDNwNAIAMgAygC9AM2AkggAykCzAMhIiADKALIAyESIAMoAsQDIQ4gAygCwAMhBCADKAL4AyEPIAMoAvwDIREgAygCgAQhDSADLQCEBCETIAMgAy0AhwQ6ACYgAyADLwCFBDsBJCADIAMpApgENwMYIAMgAykCkAQ3AxAgAyADKQKIBDcDCAwECwwNCyADIAI2ArwEIAMgBDYCuAQgAyACNgK0BCADQQA2AsgEIANCgICAgMAANwLABAJAIAMoAqQEIgQoAghBf0YEQEEEIQlBACEGDAELQQAhBUEEIQpBACEGA0AgBCgCECECIAQoAgwhByADKALABCAGRgRAIANBwARqEJYSIAMoAsQEIQoLIAUgCmoiCCAHNgIAIAhBBGogAjYCACADIAZBAWoiBjYCyAQgBUEIaiEFIAQoAhQiBCgCCEF/Rw0ACyADKALEBCEJIAZBAXYiAkUNACAJIAZBA3RqIQpBACEEIAJBAUcEQCACQQFxIAJB/v///wdxIQ5BACEIA0AgBSAJakEIayICKQIAISEgAiAIIAlqIgIpAgA3AgAgAiAhNwIAIAJBCGoiBykCACEhIAcgCiAEQf7///8Bc0EDdGoiAikCADcCACACICE3AgAgBUEQayEFIAhBEGohCCAOIARBAmoiBEcNAAtFDQELIAkgBEEDdGoiAikCACEhIAIgCiAEQX9zQQN0aiICKQIANwIAIAIgITcCAAsgAygCwAQhBSADIANBtARqrUKAgICAwAKENwPABCADQYQFakH/lMIAIANBwARqELgMIAMCfkHQ8MkALQAABEBByPDJACkDACEhQcDwyQApAwAMAQsgA0HABGoQuxFB0PDJAEEBOgAAQcjwyQAgAykDyAQiITcDACADKQPABAsiIjcDkAVBwPDJACAiQgF8NwMAIANBADYCqAUgA0KAgICAgAE3A6AFIAMgITcDmAUgA0GQqckAKQMANwKsBSADQZipyQApAwA3ArQFQQkQkAEiAkUNDCACQbC0yQAtAAA6AAggAkGotMkAKQAANwAAIANBCTYCyAUgAyACNgLEBSADQQk2AsAFIAMoArwEIgJBAEgNACACRQRAQQEhCAwCCyADKAK4BCEHIAIQkAEiCEUNDCACRQ0BIAggByAC/AoAAAwBCxCeFQALIANBg4CAgHg2AsAGIAMgAjYCuAYgAyAINgK0BiADIAI2ArAGIANBwARqIANBkAVqIANBwAVqIANBsAZqENIDIAMgAykD8AQ3A6gGIAMgAykD6AQ3A6AGIAMgAykD4AQ3A5gGIAMgAykD2AQiIjcDkAYgAyADKQPQBDcDiAYgAyADKQPIBDcDgAYgIqdBf0cEQCADQYAGahD+CQtBDRCQASICRQRADAsLIAJBjrHJACkAADcABSACQYmxyQApAAA3AAAgA0ENNgL8BSADIAI2AvgFIANBDTYC9AUgA0HABGoiAiAJIAYQ3w0gAygC0ARBf0YNBCADIAMpA+gENwOoBiADIAMpA+AENwOgBiADIAMpA9gENwOYBiADIAMpA9AENwOQBiADIAMpA8gENwOIBiADIAMpA8AENwOABiACIANBkAVqIANB9AVqIANBgAZqENIDIAMgAykD8AQ3A+gFIAMgAykD6AQ3A+AFIAMgAykD4AQ3A9gFIAMgAykD2AQi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IAopApQTITEgCigCkBMhHSAKKAKMEyEuIAooAogTISUgCigChBMhLyAKKAL4EiESIAooAvQSITAgCigC8BIhJCAKKALsEiEeIAooAugSIR8gCigC5BIhCCAKKALgEiEQIAooAtwSISMgCigC2BIhDyAKKALUEiEiIAooAtASIRkgCigCzBIhEyAKKAKAEiEcIAooArgRIRsgCigCqBEhFyAKKAKYESEVIAooAvwSIREgCigCyBIhBQsgAiARaiAtQcwA/AoAACAKIAZBAWoiBjYCgBMgCiAoKQIANwOgBiAKICgoAgg2AqgGIAogJykCADcDkAYgCiAnKAIINgKYBiAKQcwFaiAsQcQA/AoAACAKQYgFaiArQcQA/AoAACAKKAL0EyIgBEAgCigC+BMiFEEEaygCACIaQXhxISEgIUEEQQggGkEDcSIaGyAgakkNECAaQQBHICEgIEEnaktxDREgFBC8BQsgC0HYAGohCyACQcwAaiECIA1B2ABrIg0NAAsLIAcEQCAWQQRrKAIAIgJBeHEhDSANQQRBCCACQQNxIgsbIAdB2ABsIgJqSQ0OIAtBAEcgDSACQSdqS3ENDyAWELwFCyAKIBU2ArAGIAogCikDoAY3ArQGIAogCigCqAY2ArwGIAogFzYCwAYgCiAKKQOQBjcCxAYgCiAKKAKYBjYCzAYgCiAbNgLQBiAKQdQGaiAKQcwFakHEAPwKAAAgCiAcNgKYByAKQZwHaiAKQYgFakHEAPwKAAAgCiAyNwO4CCAKICY2ArQIIAogMTcCrAggCiAdNgKoCCAKIC42AqQIIAogJTYCoAggCiAvNgKcCCAKIAY2ApgIIAogETYClAggCiASNgKQCCAKIDA2AowIIAogJDYCiAggCiAeNgKECCAKIB82AoAIIAogCDYC/AcgCiAQNgL4ByAKICM2AvQHIAogDzYC8AcgCiAiNgLsByAKIBk2AugHIAogEzYC5AcgCiAFNgLgBwwBCyAKIBU2ArAGIAogCikDiBE3ArQGIAogCigCkBE2ArwGIApBfjYCtAggCkKAgICAYDcCpAggCkKAgICAwAA3ApwIIApCBDcClAggCkIANwKMCCAKQoCAgICAATcChAggCkIINwL8ByAKQgE3AvQHIAogDzYC8AcgCkKBgICAEDcD6AcgCiATNgLkByAKQQE2AuAHIApB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AWoiBTYCFCABKAKMASEHC0EAIQogByANRgRAIAEoAiwgASgCIGohCgsgASgCeCEOIAEoAlwhEQJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiCDYCuAIgAyABKQKAATcDsAJBACEGAkAgCCABKAKEAU8NACABQYABaigCACAIai0AAEHbAEcNACABIAhBAWo2AogBQQEhBgsCQAJAAkACQAJAIAEtAHxBAUYEQEEBEJABIgJFDRQgAkHbADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAIIANB4AJqIAYQ+QgLIAZFDQQCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgggASgCCCIGTw0GIAEgCEEBaiICNgIEIAIgBk8NASABIAhBAmo2AgQLIAFBADoAkQEgA0GAAmogARCUCiADKAKAAiADKAKEAiIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgJFBEAgA0HwAWogARCUCiADKAL0ASEBIAMoAvABIQcMAQsgAUEAOgCRASADQfgBaiABEJQKIAMoAvgBIQcgAygC/AEiASACOgCRAQsgB0EBRw0ACwsgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQUgASAIQQFqIgI2AgQgAiAGTw0EIAEgCEECajYCBAsgASgCFCELIAMgASgCiAE2AsgCIAMgASkCgAE3A8ACIANB6AFqIAEQQCADKALsASEBAkAgAygC6AFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQIgASAIQQFqIgI2AgQgAiAGTw0BIAEgCEECajYCBAsgAUEAOgCRASADQeABaiABEJQKIAMoAuABIAMoAuQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCADQdABaiABEJQKIAMoAtQBIQEgAygC0AEhBwwBCyABQQA6AJEBIANB2AFqIAEQlAogAygC2AEhByADKALcASIBIAI6AJEBCyAHQQFHDQALCyABKAIAQQFHDQEgASgCBCICIAEoAghPDQAgASACQQFqIgg2AgQgASgCCCIGIAhNDQAgASgCFCELIAEgCEEBaiICNgIEIAIgBk8EQEEBIQcMBAsgASAIQQJqNgIEDAILIAEgAygCyAI2AogBIAEgAykDwAI3AoABIAsgASgCFEsNAyABIAs2AhQMAwsgASgCFCELCyADIAFBgAFqIgcoAgg2AtgCIAMgBykCADcD0AJBACEHAkAgASgCiAEiBiABKAKEAU8NACABKAKAASAGai0AAEEsRw0AIAEgBkEBajYCiAFBASEHCyABLQB8QQFGBEBBARCQASICRQ0SIAJBLDoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAGIANB4AJqIAcQ+QgLAn8CQCAHBEAgA0HIAWogARC8DiADKALMASEBIAMoAsgBQQFHDQELQQEMAQsgA0HAAWogARBAIAMoAsQBIQEgAygCwAELIgdBAUcNACABIAMoAtgCNgKIASABIAMpA9ACNwKAASALIAEoAhRLDQAgASALNgIUCyAHQQFxDQAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgA0G4AWogARCTBiADKAK8ASEBIAMoArgBQQFxDQADQCADQbABaiABEJMGIAMoArQBIQEgAygCsAFBAUcNAAsLAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIIIAEoAggiBk8NAiABIAhBAWoiAjYCBCACIAZPDQEgASAIQQJqNgIECyABQQA6AJEBIANBqAFqIAEQlAogAygCqAEgAygCrAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASICRQRAIANBmAFqIAEQlAogAygCnAEhASADKAKYASEHDAELIAFBADoAkQEgA0GgAWogARCUCiADKAKgASEHIAMoAqQBIgEgAjoAkQELIAdBAUcNAAsLQQAhBwJAIAEoAogBIgYgASgChAFPDQAgASgCgAEgBmotAABB3QBHDQAgASAGQQFqNgKIAUEBIQcLIAEtAHxBAUYEQEEBEJABIgJFDRAgAkHdADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAGIANB4AJqIAcQ+QgLIAcNAgsgASADKAK4AjYCiAEgASADKQOwAjcCgAEgBSABKAIUSw0AIAEgBTYCFAsgAS0AkAFBAUYNBiABLQCRAUUNAyABKAKMASICIA1HDQEgCiABKAIgIgIgASgCLCIGaiIFSSAFIAprQQFGcQ0DIAIgDE8EQCABIAw2AiAgDCECCyAGIAlJDQIgASAJNgIsDAILIAEtAJABIgdBAUYEfyABLQCRAUUNBwJAIA0gASgCjAEiAkYEQCAKIAEoAiwiAiABKAIgIgZqIgVJIAUgCmtBAUZxDQkgBiAMTwRAIAEgDDYCIAsgAiAJSQ0BIAEgCTYCLCAJIQIMAQsgAiANTw0IIAEgDTYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQTQ6AAAgASACQQFqNgIsIAEtAJABBSAHC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgUgBE0NAyABKAIQIARBFGxqIgItAAANCyACIAU2AgQgASgCiAEhAiABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgkgAjYCECAJQQA2AgggCSAENgIEIAlBgegAOwEAIAEgBUEBajYCFAwGCyACIA1PDQEgASANNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQTQ6AAALIAEtAHxBAUcNASABLQCRAUUNASABQdQAakE0IBFBACABKAJ4IA5NGxCTBQwBCyAEIAVBnIrIABCFEwALIAEtAJABQQJHDQAgAS0AkQFFDQAgBCABKAIUSw0AIAEgBDYCFAsCQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLQQAhCUEAIQwgASgCjAEiByABKAKIASINRgRAIAEoAiAhDCABKAIsIQkLIAEoAhQhBAJAIAEtAJABQQJHBEAgBCEFDAELIAQhBSABLQCRAUUNACABKAIMIARGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIA02AgggAkEANgIEIAJBADoAACABIARBAWoiBTYCFCABKAKMASEHC0EAIQogByANRgRAIAEoAiwgASgCIGohCgsgASgCeCEOIAEoAlwhEQJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiCDYCuAIgAyABKQKAATcDsAJBACEGAkAgCCABKAKEAU8NACABQYABaigCACAIai0AAEH7AEcNACABIAhBAWo2AogBQQEhBgsCQAJAAkACQAJAIAEtAHxBAUYEQEEBEJABIgJFDRUgAkH7ADoAACADQQE2AuwCIAMgAjYC6AIgA0KAgICAEDcC4AIgASAIIANB4AJqIAYQ+QgLIAZFDQQCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgggASgCCCIGTw0GIAEgCEEBaiICNgIEIAIgBk8NASABIAhBAmo2AgQLIAFBADoAkQEgA0GQAWogARCUCiADKAKQASADKAKUASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgJFBEAgA0GAAWogARCUCiADKAKEASEBIAMoAoABIQcMAQsgAUEAOgCRASADQYgBaiABEJQKIAMoAogBIQcgAygCjAEiASACOgCRAQsgB0EBRw0ACwsgASgCAEEBRgRAIAEoAgQiCCABKAIIIgZPDQUgASAIQQFqIgI2AgQgAiAGTw0EIAEgCEECajYCBAsgASgCFCELIAMgASgCiAE2AsgCIAMgASkCgAE3A8ACIANB+ABqIAEQlwMgAygCfCEBAkAgAygCeEEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIIIAEoAggiBk8NAiABIAhBAWoiAjYCBCACIAZPDQEgASAIQQJqNgIECyABQQA6AJEBIANB8ABqIAEQlAogAygCcCADKAJ0IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiAkUEQCADQeAAaiABEJQKIAMoAmQhASADKAJgIQcMAQsgAUEAOgCRASADQegAaiABEJQKIAMoAmghByADKAJsIgEgAjoAkQELIAdBAUcNAAsLIAEoAgBBAUcNASABKAIEIgIgASgCCE8NACABIAJBAWoiCDYCBCABKAIIIgYgCE0NACABKAIUIQsgASAIQQFqIgI2AgQgAiAGTwRAQQEhBwwECyABIAhBAmo2AgQMAgsgASADKALIAjYCiAEg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QCADLQDRASIMQQJHBEAgDEEBaw0GDAELIAMoApgBIQwgA0F/NgKYASAMQX9GDQIgCyAHKAIINgIIIAsgBykCADcCACADIAw2AmggA0HoAGoQiAggBCAFRg0LDAELC0Hj48gAQQUQshMMBAtB1IrHAEEQEOISCyEBIANByAFqEMASDAYLIAMgBTYCqAEMBgtB/ZrJAEEEELITCyEBIANByAFqEMASQX8hCQwECyADIAQ2AqgBIAMoApgBIQEgA0F/NgKYASABQX9HDQELQdSKxwBBEBDiEiEBDAULIAMgAykDoAE3A8ABIAMgAygCnAE2ArwBIAMgATYCuAECfwJAAn8CQAJAAkAgBCAFRg0AIANB6ABqQQRyIQEgA0H4AGohCwNAIANB6ABqIAQQyA8gBEEgaiEEIAMoAmhBf0cEQCADIAQ2AqgBIAMoApgBQX9HBEAgA0GYAWoQiAgLIAMgCykDCDcDoAEgAyALKQMANwOYASADQQU2AuQBIANB4+PIADYC4AEgA0EENgLcASADQf2ayQA2AtgBIANB0AFqIANB2AFqIANB6ABqEMcHIAMtANABBEAgAygC1AEMCAsCQAJAIAMtANEBQQFrDgIGAAELIAMoApgBIQogA0F/NgKYASAKQX9GDQcgASAHKAIINgIIIAEgBykCADcCACADIAo2AmggA0HoAGoQiAggBCAFRw0CDAMLIAMoApgBIQEgA0F/NgKYASABQX9GBEBB1IrHAEEQEOISDAgLIAMgATYCaCADIAcoAgg2AnQgAyAHKQIANwJsIANB2AFqIANB6ABqEPoHIAMtANgBQQFHDQMgAygC3AEMBwsgBCAFRw0ACyADIAU2AqgBC0H9mskAQQQQsxMMAgsgA0HoAGoiCiADLQDZASADQbgBahCHASADKAJsIQEgAygCaCIJQX9GDQQgAyABNgLMASADIAk2AsgBIAQgBUYNBSADQfgAaiELIApBBHIhCgJ/AkADQCADQegAaiAEEMgPIARBIGohBCADKAJoQX9HBEAgAyAENgKoASADKAKYAUF/RwRAIANBmAFqEIgICyADIAspAwg3A6ABIAMgCykDADcDmAEgA0EFNgLkASADQePjyAA2AuABIANBBDYC3AEgA0H9mskANgLYASADQdABaiADQdgBaiADQegAahDHBwJAAkACfyADLQDQAQRA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AgA3AgAgASABKAJgNgLoASABIAEpAlg3A+ABIAEgASkCUDcD2AEgASABKQJINwPQASABIAEpAkA3A8gBIAEgASkCODcDwAEgASABKQIwNwO4ASABIAwpAig3A6gBIAEgDCkCIDcDoAEgASAMKQIYNwOYASABIAwpAhA3A5ABIAEgDCkCCDcDiAEgASAMKQIANwOAASABQfgBaiABQYABahBCICKnIQUCQCABKQP4AUIBUQRAIAEpA7gCIiJCIIinIRQgASkDsAIiJEIgiKchEyABKAKsAiEJIAEoAqgCIRogASgCpAIhDiABKAKgAiELIAEoApwCIRsgASgCmAIhHCABKAKUAiEdIAEoApACIRggASgCjAIhHiABKAKIAiEZIAEoAoQCIQMgASgCgAIhBCAipyEVICSnIRBCASEiIAZFDQEgBUEEaygCACIhQXhxIR8gH0EEQQggIUEDcSIhGyAGakkNGyAhQQBHIB8gBkEnaktxDRwgBRC8BQwBCyAiQiCIpyEZIAEpA7ACISMgASgCrAIhFCABKAKoAiEVIAEoAqQCIRMgASgCoAIhECABKAKcAiEJIAEoApgCIRogASgClAIhDiABKAKQAiELIAEoAowCIRsgASgCiAIhHCABKAKEAiEdIAEoAoACIRhCACEiIAYhBCAFIQMLIAdBQGshBiABICM3A3ggASAUNgJ0IAEgFTYCcCABIBM2AmwgASAQNgJoIAEgCTYCZCABIBo2AmAgASAONgJcIAEgCzYCWCABIBs2AlQgASAcNgJQIAEgHTYCTCABIBg2AkggASAeNgJEIAEgGTYCQCABIAM2AjwgASAENgI4IAEgIjcDMCAipw0DIAFB+AFqIA1ByAD8CgAAIAFBuAFqIAEgDSAgEJMDIAEgCikDMDcDsAEgASAKKQMoNwOoASABIAopAyA3A6ABIAEgCikDGDcDmAEgASAKKQMQNwOQASABIAopAwg3A4gBIAEgCikDACIiNwOAASAip0F/RwRAIAFBgAFqEPMFCyAGIBFHDQELCyAHQUBrIQYLQX8hEAwBCyABIA0pAyg3A6ACIAEgDSkDIDcDmAIgASANKQMYNwOQAiABIA0pAxA3A4gCIAEgDSkDCDcDgAIgASANKQMANwP4ASABIBcpAgA3A7gBIAEgFygCCDYCwAELIAYgEUcEQCARIAZrQQZ2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gAFGDQEgB0HAAUcNAiADQdCrwgA2AmwgA0KggICABjcCcCADQdgAaiAIQQN0aigCBCECIAMgA0HIAGo2AmggCiADQegAaiACEQEADRcgCEEBaiEIIAUhBAwDCyACQf8BcSICIAMoAkggAygCUCIGa0sEQCADQcgAaiAGIAIQzhEgAygCUCEGCyACBEAgAygCTCAGaiAFIAL8CgAACyACIAVqIQQgAyACIAZqNgJQDAILIARBA2ohBwJAAkAgBC8AASICIAMoAkggAygCUCIFa0sEQCADQcgAaiAFIAIQzhEgAygCUCEFDAELIAJFDQELIAJFDQAgAygCTCAFaiAHIAL8CgAACyACIAdqIQQgAyACIAVqNgJQDAELQaCAgIAGIQYgAkEBcQRAIAQoAAEhBiAEQQVqIQULQQAhBwJ/IAJBAnFFBEBBACENIAUMAQsgBS8AACENIAVBAmoLIQQgAkEEcQR/IAQvAAAhByAEQQJqBSAECyEFIAJBCHEEfyAFLwAAIQggBUECagUgBQshBCADIAc7AXYgAyANOwF0IAMgBjYCcCADQdCrwgA2AmwgA0HYAGogCEEDdGooAgQhAiADIANByABqNgJoIAogA0HoAGogAhEBAA0UIAhBAWohCAsgBC0AACICDQALIAMoAlAhIiADKAJMIRsgAygCSCEcIAMgGDYCFCADIBk2AhAgAyAjNwNYQQAhBUECIQJBkoLAACEEQQAhBgNAIARBAWohBAJAIALAQQBIBEAgAkH/AXFBgAFGBEAgBC8AACICIAVqIQUgAiAEakECaiEEDAILIAQgAkEDcUEIeCIHQQV0QYCAgIAEcSAHQQd0ckEddmogAkEBdkECcWogAkECdkECcWohBCAFRSAGciEGDAELIAJB/wFxIgIgBGohBCACIAVqIQULIAQtAAAiAg0ACyAGIAVBEElxDQAgBUEBdCICQQBIDQ0gAkUNACACEJABIgQNAQwRC0EBIQRBACECC0EAIQggA0EANgJQIAMgBDYCTCADIAI2AkhBkoLAACEEQQIhAgJAAkADQCAEQQFqIQUCQAJAAkAgAsBBAEgEQCACQf8BcSIHQYABRg0BIAdBwAFHDQIgA0HQq8IANgJsIANCoICAgAY3AnAgA0HYAGogCEEDdGooAgQhAiADIANByABqNgJoIANBEGogA0HoAGogAhEB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9QUgBSgCvAIiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgCvAIQMAsgBSgCMCIBKAIAIQAgASAAQQFrNgIAIABBAUcNACAFKAIwEDALIAVBoBFqJAAPC0EBEKcUAAsgBiAHQeT+yAAQhRMACxCeFQALQQgQpxQACwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HwtckAQTcgBUGfEWpBuPHFAEGotskAENoSAAtBuPDJAEEBOgAAAAvCLwMNfwd+AXwjAEGQAWsiAiQAAkACQAJAIABQDQACQAJAAkACQAJAAkACQAJAAkAgAEL/////////D1YNACABRQRAIAC6IRYMCgsgAUEWakEtTwRAIAFBJk8NASACQRBqIABCACABQQN0QcjyyABqKQMAQgAQ7hEgAikDGEIAUg0BIAIpAxAiD0L/////////D1YNASAPukSS1U0Gz/CARKIhFgwKCyAAuiEWIAFBAEoNASAWQYiOyQAgAUEDdGsrAwCjIRYMCQtB/////wcgAUHeAmoiBCABIARKGyIGQQptIQQgBkEASARAQgAhDwwECyAEQcEASwRAQf8PIQdCgICAgICAgICAfyEPDAQLIAYgBEEKbGsiBkEASA0EIAIgAEIAIAZBA3QiAykDmPNIQgAQ7hECfiACKQMIUARAQQBBACACKQMAIg95pyAPUBsiBmshA0EEIQogDyAGrYYMAQsgAykDiOxIIhBC/////w+DIhIgACAAeSIRhiITQiCIIhR+IQ8gEEIgiCIVIBNC/////w+DIhN+IRAgBkECdCgC2OxIIBGna0FAayEDQQkhCiAUIBV+IA9CIIh8IBBCIIh8IBBC/////w+DIA9C/////w+DfCASIBN+QiCIfEKAgICACHxCIIh8CyIPQiCIIhIgBEEDdCkDgO1IIhFC/////w+DIhN+IRAgEUIgiCIRIA9C/////w+DIhR+IQ9BACARIBJ+IBBCIIh8IA9CIIh8IA9C/////w+DIBBC/////w+DfCATIBR+QiCIfEKAgICACHxCIIh8Ig95pyAPUBshBiAPIAathiEPIARBAnQoApDxSCADaiAGayIEQUBrIQdBC0GOdyAEayAHQcN3ThsiBEHBAEsNAiAErSERIAogBnStIRIgDyEQAkACQCAEQUBqDgIBAwALIA9CfyAR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AkACQAJAIABQDQACQAJAAkACQAJAAkACQAJAAkAgAEL///8HVg0AIAFFBEAgALUhFwwKCyABQQpqQRVPBEAgAUESTw0BIAJBEGogAEIAIAFBA3RBqPPIAGopAwBCABDuESACKQMYQgBSDQEgAikDECIQQv///wdWDQEgELVD+QIVUJQhFwwKCyAAtSEXIAFBAEoNASAXQYyWyQAgAUECdGsqAgCVIRcMCQtB/////wcgAUHeAmoiBCABIARKGyIGQQptIQQgBkEASARAQgAhEAwECyAEQcEASwRAQf8PIQdCgICAgICAgICAfyEQDAQLIAYgBEEKbGsiBkEASA0EIAIgAEIAIAZBA3QiAykDmPNIQgAQ7hECfiACKQMIUARAQQBBACACKQMAIhB5pyAQUBsiBmshA0EEIQogECAGrYYMAQsgAykDiOxIIhFC/////w+DIhMgACAAeSIShiIUQiCIIhV+IRAgEUIgiCIWIBRC/////w+DIhR+IREgBkECdCgC2OxIIBKna0FAayEDQQkhCiAVIBZ+IBBCIIh8IBFCIIh8IBFC/////w+DIBBC/////w+DfCATIBR+QiCIfEKAgICACHxCIIh8CyIQQiCIIhMgBEEDdCkDgO1IIhJC/////w+DIhR+IREgEkIgiCISIBBC/////w+DIhV+IRBBACASIBN+IBFCIIh8IBBCIIh8IBBC/////w+DIBFC/////w+DfCAUIBV+QiCIfEKAgICACHxCIIh8IhB5pyAQUBshBiAQIAathiEQIARBAnQoApDxSCADaiAGayIEQUBrIQdBKEGrfiAEayAHQcN+ThsiBEHBAEsNAiAErSESIAogBnStIRMgECERAkACQCAEQUBqDgIBAwALIBBCfyAShkJ/hYMhEQtCASASQgF9hiISIBN9IBFaDQIgESASIBN8Wg0CDAcLIAFBAnQqAoyWSSAXlCEXDAcLIBMgEEJ/hVYNBQtBACAQeacgEFAbIQULIBAgBa2GIRAgByAFayIBQShqIgVB635OBEAgEEIoiCEAIBBC//////8fg0KAgICAgBBWDQIgEEL//////z+DQoCAgICAMFINAwwCCyABQap+TQ0EIAFBq35GBEAgEEKAgICAgICAgIB/WA0FQgAhAEHrfiEFDAILIBBB634gAWutIhGIIQAgEEJ/IBGGQn+FgyIQ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aiEMIAJB8AVqIQ0gAkGwBWohA0GIASEEA0AgAkGoBWogASAIKAIAIhAQmAEgAiADKQMANwOABCACIAMpAwg3A4gEIAIgAykDEDcDkAQgAiADKQMYNwOYBCACIAMpAyA3A6AEIAIgAykDKDcDqAQgAiADKQMwNwOwBCACIAMpAzg3A7gEIAIpA6gFIhZCf1EEQCACIAIpA4AENwPoBCACIAIpA4gENwPwBCACIAIpA5AENwP4BCACIAIpA5gENwOABSACIAIpA6AENwOIBSACIAIpA6gENwOQBSACIAIpA7AENwOYBSACIAIpA7gENwOgBSACQcABahD0BSACIAIpA6AFNwP4ASACIAIpA5gFNwPwASACIAIpA5AFNwPoASACIAIpA4gFNwPgASACIAIpA4AFNwPYASACIAIpA/gENwPQASACIAIpA/AENwPIASACIAIpA+gENwPAAQwCCyACIA0pAyA3A7gGIAIgDSkDGDcDsAYgAiANKQMQNwOoBiACIA0pAwg3A6AGIAIgDSkDADcDmAYgAiACKQOABDcD6AQgAiACKQOIBDcD8AQgAiACKQOQBDcD+AQgAiACKQOYBDcDgAUgAiACKQOgBDcDiAUgAiACKQOoBDcDkAUgAiACKQOwBDcDmAUgAiACKQO4BDcDoAUgEiAQEIINIAIgAikDuAYiFzcD4AYgAiACKQOwBiIYNwPYBiACIAIpA6gGIhk3A9AGIAIgAikDoAYiGjcDyAYgAiACKQOYBiIbNwPABiAMIAIpA/AGNwMwIAwgAikD6AY3AyggDCAXNwMgIAwgGDcDGCAMIBk3AxAgDCAaNwMIIAwgGzcDACACIAIpA6AFNwOwByACIAIpA5gFNwOoByACIAIpA5AFNwOgByACIAIpA4gFNwOYByACIAIpA4AFNwOQByACIAIpA/gENwOIByACIAIpA/AENwOAByACIAIpA+gENwP4BiACQYgDaiACQfgGakH4APwKAAAgAigChAIgBUYEQCACQYQCaiAFQQFBCEGAARCzESACKAKIAiEKCyAEIApqIhBBCGsgFjcDACAQIAJBiANqQfgA/AoAACACIAVBAWoiBTYCjAIgBEGAAWohBCAIQQhqIQggCUEIayIJDQALCyAOBEAgC0EEaygCACIDQXhxIQEgASAOQQN0IgRBBEEIIANBA3EiAxtqSQ0MIANBAEcgASAEQSdqS3ENDSALELwFCyACKAKEAiETCyACKALwASIIQX9HBEAgAiACKQPQATcDoAEgAiACKQPYATcDqAEgAiACKQPgATcDsAEgAiACKQPoATcDuAEgAiACKQL0ATcDkAEgAiACKAL8ATYCmAEgAigCzAEhCSACKALIASENIAIoAsQBIQEgAigCwAEhDCAFBEAgCiEDA0ACQCADQfAAaigCACIEQX9GDQAgBEUNACADQfQAaigCACIOQQRrKAIAIg9BeHEhCyALQQRBCCAPQQNxIg8bIARqSQ0OIA9BAEcgCyAEQSdqS3ENDyAOELwFCyADEKUBIANBgAFqIQMgBUEBayIFDQALCyATBEAgCkEEaygCACIGQXhxIQMgAyATQQd0IgRBBEEIIAZBA3EiBhtySQ0MIAZBAEcgAyAEQSdyS3ENDSAKELwFIAIoAiwhByACKAIoIQYLIAIgAikDoAE3A0AgAiACKQOoATcDSCACIAIpA7ABNwNQIAIgAikDuAE3A1ggAiACKQOQATcDMCACIAIoApgBNgI4IAcEQCAGIQMDQCADEKUBIANB8ABqIQMgB0EBayIHDQALCyACKAIkIgRFDQkgBkEEaygCACIFQXhxIQMgAyAEQfAAbCIEQQRBCCAFQQNxIgUbckkNCyAFQQBHIAMgBEEnaktxDQwgBhC8BQwJCyARKAIgIhJBAnQhDQJAAkACfwJAIBIEQCARKAIcIQEgDRCQASIQRQ0RIA0EQCAQIAEgDfwKAAALIAUNASASQQFGDQRBBCEBQQAMAgtBBCEQIAUNAEEEIQFBAAwBCyAFQQxsIhQQkAEiAUUNDyAKQfgAaiEDQQAhDCAFIQkDQCADQQRrKAIAIQ4gAygCACELAn8gA0EIaygCAEF/RgRAIA4hBEF/DAELIAtFBEBBASEEQQAMAQsgCxCQASIERQ0GIAsEQCAEIA4gC/wKAAALIAsLIQ4gASAMaiIIIA42AgAgCEEIaiALNgIAIAhBBGogBDYCACADQYABaiEDIAxBDGohDCAJQQFrIgkNAAsgEkEBRg0BIAULIQNB8AAQkAEiCEUNBCAIIAM2AhAgCCABNgIMIAggAzYCCCAIQgc3AwAMBgsgASAUaiIDQQxrKAIAIgRBfkcNBAtB4NrFAEEaQfzaxQAQwBMAC0EIEKcUAAtBARCnFAALQbjwyQBBAToAAAALIANBCGspAgAhFkHwABCQASIIRQ0BIAggFjcCDCAIIAQ2AgggCEIFNwMAIBRBDGtBDG4hDCAFQQFHBEAgASEDA0ACQCADKAIAIgRBf0YNACAERQ0AIANBBGooAgAiC0EEaygCACIOQXhxIQkgCUEEQQggDkEDcSIOGyAEakkNCSAOQQBHIAkgBEEnaktxDQogCxC8BQsgA0EMaiEDIAxBAWsiDA0ACwsgASAUENkSCyASRQ0BIBBBBGsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgDWpJDQUgA0EARyABIA1BJ2pLcQ0GIBAQvAUMAQtBuPDJAEEBOgAAAAsgAiACKQO4ATcDiAEgAiACKQOwATcDgAEgAiACKQOoATcDeCACIAIpA6ABNwNwIAIgAikDkAE3A2AgAiACKAKYATYCaCAHIA9GBEAgAkEkahCnEiACKAIoIQYLIAYgB0HwAGxqIgEgCDYCFCABIAU2AhAgASAKNgIMIAEgEzYCCCABQgY3AwAgASACKQNwNwMYIAIpA4gBIRYgAikDgAEhFyACKQN4IRggAUF/NgI4IAEgGDcDICABIAIpA2A3AjwgASACKAJoNgJEIAEgFzcDKCABIBY3AzAgB0EBaiEHIAIoAiQhDwsgAiAHNgIUIAIgBjYCECACIA82AgwgEUEgaigCAEECdCEDIBFBHGooAgAhBQJAA0AgA0UNASADQQRrIQMgBSgCACAFQQRqIQUgFUcNAAsgAkH4BmogFRCCDSAHIA9GBH8gAkEMahCnEiACKAIQBSAGCyAHQfAAbGoiAUIFNwMAIAEgAikD+AY3AwggASACKAKABzYCECACIAdBAWo2AhQLIAAgAigCFDYCCCAAIAIpAgw3AgAgAEF/NgIwDAELIAAgCTYCDCAAIA02AgggACABNgIEIAAgDDYCACAAIAIpA0A3AxAgACACKQNINwMYIAAgAikDUDcDICAAIAIpA1g3AyggACAINgIwIAAgAikDMDcCNCAAIAIoAjg2AjwLIAJB8AdqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBBBCnFAALyC4CC38DfiMAQfAAayIIJAACQAJAIAQgBUcEQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAABBAWsOBgYFAAECAwQLIAhBCGogAiADEPEMIAgoAgwhAyAIKAIIIQIMQwtBJCEHQQIhCkElIQYgBC0AAUEBaw4UGRgWBQYHCAkKCwwNDg8QERITFBUXC0ETIAQtAAEiBkEEayAGQQNNG0H/AXFBAWsOEzIxHS8vHh8gISIpKSkoKSgnJjQzCyAAQQA2AgAgAEEGOgAEDEMLIAQoAggiCSADSw0jIAQoAgQgAiAJEI8TBEAgAEEANgIAIABBAzoABAxDCwJAAkAgCUUNACADIAlNDQAgAiAJaiIGLAAAQUBIDQEgAyAJayEDIAYhAgxBCyACIAlqIQIgAyAJayEDDEALIAIgAyAJIANBgLHCABD9FAALIAggAiADEPEMIAgoAgQhAyAIKAIAIQIMPgsgBCgCCCIJIANLDSAgBCgCBCACIAkQjxMEQCAAQQA2AgAgAEEDOgAEDEELAkACQCAJRQ0AIAMgCU0NACACIAlqIgYsAABBQEgNASADIAlrIQMgBiECDD8LIAIgCWohAiADIAlrIQMMPgsgAiADIAkgA0GQscIAEP0UAAtBJiEHDBMLQSchBwwSC0EoIQdBASEKDBELQSkhBwwQC0EqIQcMDwtBKyEHDA4LQSwhBwwNC0EtIQcMDAtBLiEHQQEhCgwLC0EvIQdBASEKDAoLQTAhB0EDIQoMCQtBMSEHDAgLQTIhBwwHC0EzIQcMBgtBNCEHDAULQTUhB0EJIQoMBAtBNiEHQX8hCgwDC0E3IQYLIAhBOGogAiADEPEMIAgoAjwiAkUEQEEEIQQMKgsgCCgCOCIJLQAAIgNBK2sOAwQDAgMLQTghBwsgCEFAayACIAMQ8QwgCEHgAGogCCgCQCAIKAJEQQEgChCZDCAIKAJgIgINCiAAIAgtAGQ6AAQgAEEANgIADCsLIAJBAUcNAkEEIQIMJQsgA0EwayIDQf8BcUEJSwRAQQMhBAwmCyADrUL/AYMhEUEBIQcgAkEBRg0iIAktAAEiCkEwayIDQf8BcUEJSwRADCELIBFCCn4gA61C/wGDfCERQQIhByACQQJGDSIgCS0AAiIKQTBrIgNB/wFxQQlLBEAMIQsgEUIKfiADrUL/AYN8IRFBAyEHIAJBA0YNIiAJLQADIgpBMGsiA0H/AXFBCkkNIQwgCyACQQFGBEBBBCECDB8LIAksAAFBv39KDR0gCSACQQEgAkGgscIAEP0UAAsgCSwAAUG/f0oNGyAJIAJBASACQbCxwgAQ/RQACyAIQeAAaiACIAMQ+QwgCC0AaCIHQf8BRgRAIAgtAGAhASAAQQA2AgAgACABOgAEDCcLIAgoAmAhAgJAAkAgCCgCZCIDIAdBA3QiBigCtMxCIglJDQAgBkGwzMIAaigCACEKQQAhBgNAIAYgCUcEQCACIAZqIAYgCmohDCAGQQFqIQYtAAAiC0EgQQAgC0HBAGtB/wFxQRpJG3JB/wFxIAwtAAAiC0EgQQAgC0HBAGtB/wFxQRpJG3JB/wFxRg0BDAILCyADIAlLBEAgAiAJaiwAAEFASA0CCyACIAlqIQIgAyAJayEDCyABLQCoASIGQf8BRyAGIAdHcQ0TIAEgBzoAqAEMJAsgAiADIAkgA0HEx8IAEP0UAAsgA0UEQEEAIQMMIwsgAi0AAEEuRw0iIANBAUcEQCACLAABQUBIDRALIAhB4ABqIAJBAWogA0EBaxDZBSAIKAJgIgINDiAAIAgtAGQ6AAQgAEEANgIADCULIANFBEBBACEDDCILIAItAABBLkcNISADQQFHDQxBBCEGDBcLIANFBEBBACEDDCELIAItAABBLkcNIEEEIQYgA0EBRw0KDBULIANFBEBBACEDDCALIAItAABBLkcNH0EEIQYgA0EBRw0IDBMLAkAgA0UEQEEAIQoMAQsgAiADaiEMQQAhCiACIQYDQAJ/IAYiCSwAACIHQQBOBEAgB0H/AXEhByAGQQFqDAELIAktAAFBP3EhCyAHQR9xIQYgB0FfTQRAIAZBBnQgC3IhByAJQQJqDAELIAktAAJBP3EgC0EGdHIhCyAHQXBJBEAgCyAGQQx0ciEHIAlBA2oMAQsgBkESdEGAgPAAcSAJLQADQT9xIAtBBnRyciEHIAlBBGoLIQYgB0EJayILQRdNQQBBASALdEGfgIAEcRsNAQJAIAdBhQFJDQACQAJAAkACQCAHQQh2IgtBFmsOGwAEBAQEBAQEBAQCBAQEBAQEBAQEBAQEBAQEAQMLIAdBgC1HDQMMBQsgB0GA4ABHDQIMBAsgB0H/AXEtAPKlSUECcUUNAQwDCyALDQAgB0H/AXEtAPKlSUEBcQ0CCyAKIAlrIAZqIQogBiAMRw0ACyADIQoLIAIgCmohAiADIAprIQMMHgsgCCkDaCERIAgoAmQhAyAHIQYMGgsgAEEANgIAIABBBDoABAwfCyAAQQA2AgAgAEEEOgAEDB4LIAhB4ABqIAEgAiADEKgJIAgoAmAiAgRAIAgoAmQhAwwbCyAAIAgtAGQ6AAQgAEEANgIADB0LIAhB4ABqIAEgAiADELQDIAgoAmAiAgRAIAgoAmQhAwwaCyAAIAgtAGQ6AAQgAEEANgIADBwLIAhB0ABqIAIgAxDxDCAIQeAAaiAIKAJQIAgoAlRBAUEAELgEIAgoAmAiAgRAIAgoAmghBiAIKAJkIQMCQCABKAKgAUEBRgRAIAEoAqQBIAZHDQELIAEgBjYCpAEgAUEBNgKgAQwaCyAAQQA2AgAgAEEBOgAEDBwLIAAgCC0AZDoABCAAQQA2AgAMGwsgCEHIAGogAiADEPEMIAhB4ABqIAgoAkggCCgCTEEAQQAQuAQgCCgCYCICBEAgCCgCaCEGIAgoAmQhAwJAIAEoAqABQQFGBEAgASgCpAEgBkcNAQsgASAGNgKkASABQQE2AqABDBkLIABBADYCACAAQQE6AAQMGwsgACAILQBkOgAEIABBADYCAAwaCwJAIAIsAAEiCUFATgRAIANBCkkNDEEDIQYgCUEwayIJQf8BcUEKTw0MIAItAAJBMGsiB0H/AXFBCUsNDCACLQADQTBrQf8BcSIKQQlLDQwgAi0ABEEwa0H/AXEiC0EJSw0MIAItAAVBMGtB/wFxIgxBCUsNDCACLQAGQTBrQf8BcSINQQlLDQwgAi0AB0Ewa0H/AXEiDkEJSw0MIAItAAhBMGtB/wFxIg9BCUsNDCACLQAJQTBrQf8BcSIQQQpPDQwgA0EBayIGQQpJDQEgAiwACkG/f0oNASACQQFqIAZBCSAGQZDIwgAQ/RQACyACIANBASADQYCywgAQ/RQACyAJQQpsIAdqQf8BcUEKbCAKakEKbCALakEKbCAMakEKbCANakEKbCAOakEKbCAPakEKbCAQaiEGAkAgASgCmAFBAUcNACABKAKcASAGRg0AIABBADYCACAAQQE6AAQMGgsgASAGNgKcASABQQE2ApgBIANBCmshAyACQQpqIQIMFgsCQCACLAABIglBQE4EQCADQQdJDQxBAyEGIAlBMGsiCUH/AXFBCk8NDCACLQACQTBrIgdB/wFxQQlLDQwgAi0AA0Ewa0H/AXEiCkEJSw0MIAItAARBMGtB/wFxIgtBCUsNDCACLQAFQTBrQf8BcSIMQQlLDQwgAi0ABkEwa0H/AXEiDUEKTw0MIANBAWsiBkEHSQ0BIAIsAAdBv39KDQEgAkEBaiAGQQYgBkGQyMIAEP0UAAsgAiADQQEgA0HwscIAEP0UAAsgCUEKbCAHakH/AXFBCmwgCmpBCmwgC2pBCmwgDGpBCmwgDWpB6AdsIQYCQCABKAKYAUEBRw0AIAEoApwBIAZGDQAgAEEANgIAIABBAToABAwZCyABIAY2ApwBIAFBATYCmAEgAkEHaiECIANBB2shAwwVCwJAIAIsAAEiCUFATgRAQQQhBiADQQRJDQxBAyEGIAlBMGsiCUH/AXFBCk8NDCACLQACQTBrIgdB/wFxQQlLDQwgAi0AA0Ewa0H/AXEiCkEKTw0MIANBAWsiBkEESQ0BIAIsAARBv39KDQEgAkEBaiAGQQMgBkGQyMIAEP0UAAsgAiADQQEgA0HgscIAEP0UAAsgCUEKbCAHakH/AXFBCmwgCmpBwIQ9bCEGAkAgASgCmAFBAUcNACABKAKcASAGRg0AIABBADYCACAAQQE6AAQMGAsgASAGNgKcASABQQE2ApgBIAJBBGohAiADQQRrIQMMFAsCQAJAIAgpA2giEUL/k+vcA1YEQEEAIQcMAQsgCCgCZCEDQQEhByARpyEGIAEoApgBQQFHDQEgASgCnAEgBkYNAQsgAEEANgIAIAAgBzoABAwXCyABIAY2ApwBIAFBATYCmAEMEwsgAiADQQEgA0HQscIAEP0UAAsgA0ECTwRAIAItAAFBIHIhBgJAAn8CQAJAIAItAABBIHJB4QBrDhAAAwMDAwMDAwMDAwMDAwMBAwsgBkHtAEcNAkEADAELIAZB7QBHDQFBAQshBgJAIAEoAnhBAUYEQCABKAJ8IAZHDQELIAEgBjYCfCABQQE2AngCQCADQQJHBEAgAiwAAkG/f0wNAQsgAkECaiECIANBAmshAwwVCyACIANBAiADQcCxwgAQ/RQACyAAQQA2AgAgAEEBOgAEDBYLIABBADYCACAAQQM6AAQMFQsgAEEANgIAIABBBDoABAwUCyAAQQA2AgAgAEEBOgAEDBMLIAhB4ABqIAIgAxD5DCAILQBoIgZB/wFHBEAgCCgCZCEDIAgoAmAhAiABLQCoASIJQf8BRyAGIAlHcUUEQCABIAY6AKgBDBELIABBADYCACAAQQE6AAQMEwsgACAILQBgOgAEIABBADYCAAwSCyAIQeAAaiACIAMQ3g0gCCgCYCICBEACQAJAIAgtAGgiBkELSwRAQQAhBwwBCyAIKAJkIQNBASEHIAZBAWpB/wFxIQYgASgCSEEBRw0BIAEoAkwgBkYNAQsgAEEANgIAIAAgBzoABAwTCyABIAY2AkwgAUEBNgJIDA8LIAAgCC0AZDoABCAAQQA2AgAMEQsgCEHgAGogAiADENMKIAgoAmAiAgRAAkACQCAILQBoIgZBC0sEQEEAIQcMAQsgCCgCZCEDQQEhByAGQQFqQf8BcSEGIAEoAkhBAUcNASABKAJMIAZGDQELIABBADYCACAAIAc6AAQMEgsgASAGNgJMIAFBATYCSAwOCyAAIAgtAGQ6AAQgAEEANgIADBALAkACQAJAAkACQCAGQQFrDgMBAgMACyAIQdgAaiACIAMQ8QwgCEHgAGogCCgCWCAIKAJcQQFBARC4BCAIKAJgIgJFDQMgCCgCaCEGIAgoAmQhAwJAIAEoAqABQQFGBEAgASgCpAEgBkcNAQsgASAGNgKkASABQQE2AqABDBELIABBADYCACAAQQE6AAQMEwsCQAJAIANBA08EQCACLQAAQTBrIgZB/wFxQQpPDQEgAi0AAUEwayIJQf8BcUEJSw0BIAItAAJBMGtB/wFxIgdBCk8NASADQQNGDQIgAiwAA0G/f0oNAiACIANBAyADQZDIwgAQ/RQACyAAQQA2AgAgAEEEOgAEDBQLIABBADYCACAAQQM6AAQMEwsgBkEKbCAJakH/AXFBCmwgB2pBwIQ9bCEGAkAgASgCmAFBAUcNACABKAKcASAGRg0AIABBADYCACAAQQE6AAQMEwsgASAGNgKcASABQQE2ApgBIANBA2shAyACQQNqIQIMDwsCQAJAIANBBk8EQCACLQAAQTBrIgZB/wFxQQpPDQEgAi0AAUEwayIJQf8BcUEJSw0BIAItAAJBMGtB/wFxIgdBCUsNASACLQADQTBrQf8BcSIKQQlLDQEgAi0ABEEwa0H/AXEiC0EJSw0BIAItAAVBMGtB/wFxIgxBCk8NASADQQZGDQIgAiwABkG/f0oNAiACIANBBiADQZDIwgAQ/RQACyAAQQA2AgAgAEEEOgAEDBMLIABBADYCACAAQQM6AAQMEgsgBkEKbCAJakH/AXFBCmwgB2pBCmwgCmpBCmwgC2pBCmwgDGpB6AdsIQYCQCABKAKYAUEBRw0AIAEoApwBIAZGDQAgAEEANgIAIABBAToABAwSCyABIAY2ApwBIAFBATYCmAEgA0EGayEDIAJBBmohAgwOCwJAAkAgA0EJTwRAIAItAABBMGsiBkH/AXFBCk8NASACLQABQTBrIglB/wFxQQlLDQEgAi0AAkEwa0H/AXEiB0EJSw0BIAItAANBMGtB/wFxIgpBCUsNASACLQAEQTBrQf8BcSILQQlLDQEgAi0ABUEwa0H/AXEiDEEJSw0BIAItAAZBMGtB/wFxIg1BCUsNASACLQAHQTBrQf8BcSIOQQlLDQEgAi0ACEEwa0H/AXEiD0EKTw0BIANBCUYNAiACLAAJQb9/Sg0CIAIgA0EJIANBkMjCABD9FAALIABBADYCACAAQQQ6AAQMEgsgAEEANgIAIABBAzoABAwRCyAGQQpsIAlqQf8BcUEKbCAHakEKbCAKakEKbCALakEKbCAMakEKbCANakEKbCAOakEKbCAPaiEGAkAgASgCmAFBAUcNACABKAKcASAGRg0AIABBADYCACAAQQE6AAQMEQsgASAGNgKcASABQQE2ApgBIANBCWshAyACQQlqIQIMDQsgACAILQBkOgAEIABBADYCAAwPCyAAQQA2AgAgACAGOgAEDA4LIABBADYCACAAIAY6AAQMDQsgAEEANgIAIAAgBjoABAwMCyAJQQFqIQsgAiAJaiEJIAJBAWshCkEAIQNCACERQQAhBwJAAkACQANAIAcgCkYiDARAIAkhAgwDCyAHIAtqIgItAABBMGsiDUH/AXFBCk8EQCAHDQJBAyECDAsLIAhBEGogESARQj+HQgpCABDuEUEAIQIgCCkDGCAIKQMQIhJCP4dSDQogDa1C/wGDIhMgEnwiESASUw0KIAdBAWoiB0F/Rw0ACyAJIQIMAQsCQCAHIApPBEAgDA0BDAMLIAcgC2osAABBQEgNAgsgCiAHayEDCyARQgBVQgAgEX0iEUIAU3NFDQYgAEEANgIAIABBADoABAwMCwwMCyAJQQFqIQsgAiAJaiEJIAJBAWshCkEAIQNCACERQQAhBwJAA0AgByAKRiIMBEAgCSECDAcLIAcgC2oiAi0AAEEwayINQf8BcUEKTwRAIAcNAkEDIQIMAwsgCEEgaiARIBFCP4dCCkIAEO4RQQAhAiAIKQMoIAgpAyAiEkI/h1INAiANrUL/AYMiEyASfCIRIBJTDQIgB0EBaiIHQX9HDQALIAkhAgwFCwJAAkAgByAKTwRAIAwNAQwCCyAHIAtqLAAAQUBIDQELIAogB2shAwwFCwwLCyAAQQA2AgAgACACOgAEDAkLIArAQb9/SiACIAdLcQ0BIAkgAiAHIAJBoMjCABD9FAALIBFCCn4gA61C/wGDfCERQQQhByACQQVJDQAgCSwABEG/f0oNACAJIAJBBCACQZDIwgAQ/RQACyACIAdrIQMgByAJaiECCyABIBEgBhEKACIGQf8BcUH/AUYNAiAAQQA2AgAgACAGOgAEDAULIABBADYCACAAIAI6AAQMBAsgAEEANgIAIAAgBDoABAwDCyAFIARBDGoiBEcNAAsLIAAgAzYCBCAAIAI2AgALIAhB8ABqJAAPCyALIAogByAKQaDIwgAQ/RQAC4ojAQ5/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAOFwECAwQFBgcICQoLDA0ODxAREhMUFRUVAAsgACgCBCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDRYgBUEARyADIAJBJ2pLcQ0XIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDRUgA0EARyACQYgBT3ENFiABELwFDBQLIABBBGoQeCAAKAIgIgFBAEoEQCAAKAIkIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDRUgBEEARyACIAFBJ2pLcQ0WIAMQvAULIAAoAiwiAUEASgRAIAAoAjAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNFSAEQQBHIAIgAUEnaktxDRYgAxC8BQsgACgCGCECIAAoAhwiAwRAIAIhAQNAIAEQ3wcgAUEMaiEBIANBAWsiAw0ACwsgACgCFCIDRQ0TIAJBBGsoAgAiBEF4cSEBIAEgA0EMbCIDQQRBCCAEQQNxIgQbakkNFCAEQQBHIAEgA0EnaktxDRUgAhC8BQwTCyAAKAIIIQIgACgCDCIDBEAgAiEBA0AgARCtASABQdAAaigCACIEQQBKBEAgAUHUAGooAgAiBkEEaygCACIHQXhxIQUgBUEEQQggB0EDcSIHGyAEakkNFiAHQQBHIAUgBEEnaktxDRcgBhC8BQsgAUHoAGohASADQQFrIgMNAAsLIAAoAgQiAwRAIAJBBGsoAgAiBEF4cSEBIAEgA0HoAGwiA0EEQQggBEEDcSIEG2pJDRQgBEEARyABIANBJ2pLcQ0VIAIQvAULIAAoAhQhAiAAKAIYIgMEQCACIQEDQCABEMEKIAFBsAFqIQEgA0EBayIDDQALCyAAKAIQIgNFDRIgAkEEaygCACIEQXhxIQEgASADQbABbCIDQQRBCCAEQQNxIgQbckkNEyAEQQBHIAEgA0EnaktxDRQgAhC8BQwSCyAAKAIMIgMEQCAAKAIIIQEDQCABEK0BIAFB0ABqKAIAIgJBAEoEQCABQdQAaigCACIFQQRrKAIAIgZBeHEhBCAEQQRBCCAGQQNxIgYbIAJqSQ0VIAZBAEcgBCACQSdqS3ENFiAFELwFCyABQeAAaiEBIANBAWsiAw0ACwsgACgCBCICRQ0RIAAoAggiA0EEaygCACIEQXhxIQEgASACQeAAbCICQQRBCCAEQQNxIgQbckkNEiAEQQBHIAEgAkEnaktxDRMgAxC8BQwRCyAAKAIEIgEQrQEgASgCUCICQQBKBEAgAUHUAGooAgAiBEEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyACakkNEiAFQQBHIAMgAkEnaktxDRMgBBC8BQsgAUEEaygCACICQQNxIQMgAkF4cUHkAEHoACADG0kNESADQQBHIAJBiAFPcQ0SIAEQvAUMEAsCQCAAKAJsIgFBf0YNACABRQ0AIAAoAnAgARDZEgsgAEH4AGoQxgwgACgCYCIBQQBKBEAgACgCZCIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0RIARBAEcgAiABQSdqS3ENEiADELwFCwJAIAAoAhgiAUF8Rg0AIAFBfUYNACAAQShqEP8CIAFBAEwNACAAKAIcIAEQ2RILIAAoAggiAUEATA0PIAAoAgwiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNECAEQQBHIAIgAUEnaktxDREgAxC8BQwPCyAAKAIEIgEQrQEgASgCUCICQQBKBEAgAUHUAGooAgAiBEEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyACakkNECAFQQBHIAMgAkEnaktxDREgBBC8BQsgAUEEaygCACICQQNxIQMgAkF4cUHkAEHoACADG0kNDyADQQBHIAJBiAFPcQ0QIAEQvAUMDgsgACgCBCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDQ8gBUEARyADIAJBJ2pLcQ0QIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDQ4gA0EARyACQYgBT3ENDyABELwFDA0LIAAoAgQiARCtASABKAJQIgJBAEoEQCABQdQAaigCACIEQQRrKAIAIgVBeHEhAyADQQRBCCAFQQNxIgUbIAJqSQ0OIAVBAEcgAyACQSdqS3ENDyAEELwFCyABQQRrKAIAIgJBA3EhAyACQXhxQeQAQegAIAMbSQ0NIANBAEcgAkGIAU9xDQ4gARC8BQwMCwJAIAAoAmwiAUF/Rg0AIAFFDQAgACgCcCABENkSCyAAQfgAahDGDCAAKAJgIgFBAEoEQCAAKAJkIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQ0gBEEARyACIAFBJ2pLcQ0OIAMQvAULAkAgACgCGCIBQXxGDQAgAUF9Rg0AIABBKGoQ/wIgAUEATA0AIAAoAhwgARDZEgsgACgCCCIBQQBMDQsgACgCDCIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0MIARBAEcgAiABQSdqS3ENDSADELwFDAsLAkAgACgCbCIBQX9GDQAgAUUNACAAKAJwIAEQ2RILIABB+ABqEMYMIAAoAmAiAUEASgRAIAAoAmQiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNDCAEQQBHIAIgAUEnaktxDQ0gAxC8BQsCQCAAKAIYIgFBfEYNACABQX1GDQAgAEEoahD/AiABQQBMDQAgACgCHCABENkSCyAAKAIIIgFBAEwNCiAAKAIMIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQsgBEEARyACIAFBJ2pLcQ0MIAMQvAUMCgsgACgCDCIDBEAgACgCCCEBA0AgARCtASABQdAAaigCACICQQBKBEAgAUHUAGooAgAiBUEEaygCACIGQXhxIQQgBEEEQQggBkEDcSIGGyACakkNDSAGQQBHIAQgAkEnaktxDQ4gBRC8BQsgAUHgAGohASADQQFrIgMNAAsLIAAoAgQiAkUNCSAAKAIIIgNBBGsoAgAiBEF4cSEBIAEgAkHgAGwiAkEEQQggBEEDcSIEG3JJDQogBEEARyABIAJBJ2pLcQ0LIAMQvAUMCQsgACgCDCIDBEAgACgCCCEBA0AgARCtASABQdAAaigCACICQQBKBEAgAUHUAGooAgAiBUEEaygCACIGQXhxIQQgBEEEQQggBkEDcSIGGyACakkNDCAGQQBHIAQgAkEnaktxDQ0gBRC8BQsgAUHgAGohASADQQFrIgMNAAsLIAAoAgQiAkUNCCAAKAIIIgNBBGsoAgAiBEF4cSEBIAEgAkHgAGwiAkEEQQggBEEDcSIEG3JJDQkgBEEARyABIAJBJ2pLcQ0KIAMQvAUMCAsgACgCFCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDQkgBUEARyADIAJBJ2pLcQ0KIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDQggA0EARyACQYgBT3ENCSABELwFIAAoAgRFBEAgACgCCCIBQX9GDQggAUUNCCAAKAIMIAEQ2RIMCAsgACgCDCECIAAoAhAiAwRAIAIhAQNAAkAgASgCACIEQX9GDQAgBEUNACABQQRqKAIAIgZBBGsoAgAiB0F4cSEFIAVBBEEIIAdBA3EiBxsgBGpJDQsgB0EARyAFIARBJ2pLcQ0MIAYQvAULIAFBDGohASADQQFrIgMNAAsLIAAoAggiAUUNByACIAFBDGwQ2RIMBwsgACgCBCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDQggBUEARyADIAJBJ2pLcQ0JIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDQcgA0EARyACQYgBT3ENCCABELwFDAYLIAAoAgQiARCtASABKAJQIgJBAEoEQCABQdQAaigCACIEQQRrKAIAIgVBeHEhAyADQQRBCCAFQQNxIgUbIAJqSQ0HIAVBAEcgAyACQSdqS3ENCCAEELwFCyABQQRrKAIAIgJBA3EhAyACQXhxQeQAQegAIAMbSQ0GIANBAEcgAkGIAU9xDQcgARC8BQwFCyAAKAIEIgEQrQEgASgCUCICQQBKBEAgAUHUAGooAgAiBEEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyACakkNBiAFQQBHIAMgAkEnaktxDQcgBBC8BQsgAUEEaygCACICQQNxIQMgAkF4cUHkAEHoACADG0kNBSADQQBHIAJBiAFPcQ0GIAEQvAUMBAsgACgCBCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDQUgBUEARyADIAJBJ2pLcQ0GIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDQQgA0EARyACQYgBT3ENBSABELwFDAMLIAAoAgwiAwRAIAAoAgghAQNAAkAgASgCACICQX9GDQAgAkUNACABQQRqKAIAIgVBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQYgBkEARyAEIAJBJ2pLcQ0HIAUQvAULIAFBEGoQrQEgAUHgAGooAgAiAkEASgRAIAFB5ABqKAIAIgVBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQYgBkEARyAEIAJBJ2pLcQ0HIAUQvAULIAFB8ABqIQEgA0EBayIDDQALCyAAKAIEIgJFDQIgACgCCCIDQQRrKAIAIgRBeHEhASABIAJB8ABsIgJBBEEIIARBA3EiBBtySQ0DIARBAEcgASACQSdqS3ENBCADELwFDAILIAAoAgwiAwRAIAAoAgghAQNAIAEQrQEgAUHQAGooAgAiAkEASgRAIAFB1ABqKAIAIgVBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQUgBkEARyAEIAJBJ2pLcQ0GIAUQvAULIAFB4ABqIQEgA0EBayIDDQALCyAAKAIEIgJFDQEgACgCCCIDQQRrKAIAIgRBeHEhASABIAJB4ABsIgJBBEEIIARBA3EiBBtySQ0CIARBAEcgASACQSdqS3ENAyADELwFDAELIAAoAnAiAwRAIAAoAmwhAQNAIAEQrQEgAUHQAGooAgAiAkEASgRAIAFB1ABqKAIAIgVBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQQgBkEARyAEIAJBJ2pLcQ0FIAUQvAULIAFB4ABqIQEgA0EBayIDDQALCyAAKAJoIgIEQCAAKAJsIgNBBGsoAgAiBEF4cSEBIAEgAkHgAGwiAkEEQQggBEEDcSIEG3JJDQIgBEEARyABIAJBJ2pLcQ0DIAMQvAULIABBCGoQrQEgACgCWCIBQQBMDQAgACgCXCIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0BIARBAEcgAiABQSdqS3ENAiADELwFCyAAKAK4ASIBQQBKBEAgACgCvAEiAkEEaygCACIDQXhxIQAgAEEEQQggA0EDcSIDGyABakkNASADQQBHIAAgAUEnaktxDQIgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvhLgEUfyMAQYACayIDJABBASECAkACQCABKAIAQQFGBEAgASgCBCIFIAEoAghPDQEgASAFQQFqNgIECyABKAKMASICIAEoAogBIg5GBEAgASgCICERIAEoAiwhEAsgASgCFCENAkAgAS0AkAFBAkcEQCANIQkMAQsgDSEJIAEtAJEBRQ0AIAEoAgwgCUYEQCABQQxqEJoSCyABKAIQIA1BFGxqIgIgDjYCCCACQQA2AgQgAkEAOgAAIAEgDUEBaiIJNgIUIAEoAowBIQILIAIgDkYEQCABKAIsIAEoAiBqIRILIAEoAnghFCABKAJcIRUCQAJ/AkACQAJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgUgASgCCEkNAUEBIQQMCwsgAyABKAKIATYC6AEgAyABKQKAATcD4AEMAQsgASAFQQFqNgIEIAMgASgCiAE2AugBIAMgASkCgAE3A+ABIAEoAgQiBSABKAIITw0BIAEgBUEBajYCBAsgAUGAAWohB0EAIQUgAiABKAKIASIERgRAIAEoAiAhBiABKAIsIQULAkAgAS0AkAFBAkcNACABLQCRAUUNACABKAIMIAlGBEAgAUEMahCaEgsgASgCECAJQRRsaiICIAQ2AgggAkEANgIEIAJBADoAACABIAlBAWo2AhQgASgCjAEhAgsgAiAERgRAIAEoAiwgASgCIGohCAsCQCABKAKIASICQXpLDQAgAkEFaiIMIAEoAoQBSw0AIAcoAgAgAmoiBygAAEHt3pGrBnMgB0EEai0AAEHsAHNyDQAgASAMNgKIAUEBIQsLIAEoAnghDCABKAJcIQogAS0AfEEBRgRAQQUQkAEiB0UNAiAHQZaLyAAtAAA6AAQgB0GSi8gAKAAANgAAIANBBTYC/AEgAyAHNgL4ASADQoCAgIDQADcC8AEgASACIANB8AFqIAsQ+QgLIAEtAJABIQICQAJAAkAgC0UEQCACQf8BcUEBRg0EIAEtAJEBRQ0DIAEoAowBIgIgBEcNASAIIAEoAiAiAiABKAIsIgRqIgdJIAcgCGtBAUZxDQMgAiAGTwRAIAEgBjYCICAGIQILIAQgBUkNAiABIAU2AiwMAgsgAkH/AXFBAUYEfyABLQCRAUUNCAJAIAQgASgCjAEiAkYEQCAIIAEoAiwiAiABKAIgIgRqIgdJIAcgCGtBAUZxDQogBCAGTwRAIAEgBjYCIAsgAiAFSQ0BIAEgBTYCLCAFIQIMAQsgAiAETw0JIAEgBDYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQSs6AAAgASACQQFqNgIsIAEtAJABBSACC0H/AXFBAkcNByABLQCRAUUNByABKAIUIgIgCU0NBSABKAIQIAlBFGxqIgUtAAANDSAFIAI2AgQgASgCiAEhBiABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgBjYCECACQQA2AgggAiAJNgIEIAJBgdYAOwEAIAEgBUEBajYCFAwHCyACIARPDQEgASAENgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQSs6AAALAkAgAS0AfEEBRw0AIAEtAJEBRQ0AIAFB1ABqQSsgCkEAIAEoAnggDE0bEJMFCyABLQCQAUECRw0AIAEtAJEBRQ0AIAkgASgCFEsNACABIAk2AhQLIANB2AFqIAEQqgUgAygC3AEhASADKALYAUEBRw0EIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NBiABIAJBAWo2AgQLQQAhBUEAIQYgASgCjAEiBCABKAKIASICRgRAIAEoAiAhBiABKAIsIQULIAEoAhQhByABLQCQAUECRw0CIAEtAJEBRQ0CIAEoAgwgB0YEQCABQQxqEJoSCyABKAIQIAdBFGxqIgggAjYCCCAIQQA2AgQgCEEAOgAAIAEgB0EBajYCFCABKAKMASEEDAILQQEQpxQACyAJIAJBnIrIABCFEwALQQAhC0EAIQggAiAERgRAIAEoAiwgASgCIGohCAsCQCABKAKIASIEQXtLDQAgBEEEaiIMIAEoAoQBSw0AIAEoAoABIARqKAAAQfbSlbsHRw0AIAEgDDYCiAFBASELCyABKAJ4IQwgASgCXCEKAkACQAJAAkAgAS0AfEEBRgRAQQQQkAEiD0UNASAPQfbSlbsHNgAAIANBBDYC/AEgAyAPNgL4ASADQoCAgIDAADcC8AEgASAEIANB8AFqIAsQ+QgLIAEtAJABIQQCQAJAAkAgC0UEQCAEQf8BcUEBRg0KIAEtAJEBRQ0DIAEoAowBIgQgAkcNASAIIAEoAiAiAiABKAIsIgRqIgtJIAsgCGtBAUZxDQMgAiAGTwRAIAEgBjYCICAGIQILIAQgBUkNAiABIAU2AiwMAgsgBEH/AXFBAUYEfyABLQCRAUUNBwJAIAIgASgCjAEiBEYEQCAIIAEoAiwiAiABKAIgIgRqIgtJIAsgCGtBAUZxDQkgBCAGTwRAIAEgBjYCIAsgAiAFSQ0BIAEgBTYCLCAFIQIMAQsgAiAETQ0IIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQS06AAAgASACQQFqNgIsIAEtAJABBSAEC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgIgB00NBCABKAIQIAdBFGxqIgUtAAANDSAFIAI2AgQgASgCiAEhBiABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgBjYCECACQQA2AgggAiAHNgIEIAJBgdoAOwEAIAEgBUEBajYCFAwGCyACIARNDQEgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQS06AAALIAEtAHxBAUcNAiABLQCRAUUNAiABQdQAakEtIApBACABKAJ4IAxNGxCTBQwCC0EBEKcUAAsgByACQZyKyAAQhRMACyABLQCQAUECRw0DIAEtAJEBRQ0DIAcgASgCFEsNAyABIAc2AhQMAwsgAS0AfEUNASABLQCRAUUNASABQdQAakEtIApBACABKAJ4IAxNGxCTBQwBCyABLQB8RQ0AIAEtAJEBRQ0AIAFB1ABqQSsgCkEAIAEoAnggDE0bEJMFCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgY2AgQgBSAGTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQdABaiABEJQKIAMoAtABIAMoAtQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBUUEQCADQcABaiABEJQKIAMoAsQBIQEgAygCwAEhAgwBCyABQQA6AJEBIANByAFqIAEQlAogAygCyAEhAiADKALMASIBIAU6AJEBCyACQQFHDQALCyADQbgBaiABEOcDIAMoArwBIQEgAygCuAFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgY2AgQgBSAGTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQbABaiABEJQKIAMoArABIAMoArQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBUUEQCADQaABaiABEJQKIAMoAqQBIQEgAygCoAEhAgwBCyABQQA6AJEBIANBqAFqIAEQlAogAygCqAEhAiADKAKsASIBIAU6AJEBCyACQQFHDQALCyADQZgBaiABEIECIAMoApwBIQEgAygCmAFBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgY2AgQgBSAGTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQZABaiABEJQKIAMoApABIAMoApQBIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBUUEQCADQYABaiABEJQKIAMoAoQBIQEgAygCgAEhAgwBCyABQQA6AJEBIANBiAFqIAEQlAogAygCiAEhAiADKAKMASIBIAU6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIEC0EAIQhBACEFIAEoAowBIgQgASgCiAEiAkYEQCABKAIsIQggASgCICEFCyABKAIUIQYCQCABLQCQAUECRw0AIAEtAJEBRQ0AIAEoAgwgBkYEQCABQQxqEJoSCyABKAIQIAZBFGxqIgQgAjYCCCAEQQA2AgQgBEEAOgAAIAEgBkEBajYCFCABKAKMASEEC0EAIQcgAiAERgRAIAEoAiwgASgCIGohBwsgASgCeCELIAEoAlwhDAJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgogASgCCCIPTw0BIAEgCkEBaiITNgIEIA8gE00NASABIApBAmo2AgQLIANB+ABqIAEQNiADKAJ8IQEgAygCeEEBRw0FIAEoAgBBAUYEQCABKAIEIgQgASgCCE8EQEEBIQQMBgsgASAEQQFqNgIECyABKAIUIQogAyABKAKIATYC+AEgAyABKQKAATcD8AEgA0HwAGogARDbAiADKAJ0IQEgAygCcEEBcQ0BAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIEIAEoAggiD08NAyABIARBAWoiEzYCBCAPIBNNDQEgASAEQQJqNgIECyABQQA6AJEBIANB6ABqIAEQlAogAygCaCADKAJsIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgQgASgCCE8NAiABIARBAWo2AgQLAkAgAS0AkQEiD0UEQCADQdgAaiABEJQKIAMoAlwhASADKAJYIQQMAQsgAUEAOgCRASADQeAAaiABEJQKIAMoAmAhBCADKAJkIgEgDzoAkQELIARBAXFFDQALCyADQdAAaiABEK4LIAMoAlQhASADKAJQIQQMAwsgAS0AkAFBAUYNBgJAIAEtAJEBRQ0AAkAgAiAERgRAIAcgASgCICICIAEoAiwiBGoiCkkgCiAHa0EBRnENAiACIAVPBEAgASAFNgIgIAUhAgsgBCAISQ0BIAEgCDYCLAwBCyACIARNDQEgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCGCACRgRAIAFBGGoQoxILIAEgAkEBajYCICABKAIcIAJqQQQ6AAALIAEtAHxBAUcNASABLQCRAUUNASABQdQAakEEIAxBACABKAJ4IAtNGxCTBQwBC0EBIQQMAQsgAS0AkAFBAkcNBCABLQCRAUUNBCAGIAEoAhRLDQQgASAGNgIUQQEMBQsgBEEBRw0AIAEgAygC+AE2AogBIAEgAykD8AE3AoABIAogASgCFEsNACABIAo2AhQLIARBAUcNAAJAIAEoAgBBAUYEQCABKAIEIgQgASgCCE8NASABIARBAWo2AgQLAkAgAS0AkQEiCkEBRgRAIANBQGsgARCBAyADKAJEIQEgAygCQCEEDAELIAFBAToAkQEgA0HIAGogARCBAyADKAJIIQQgAygCTCIBIAo6AJEBCyAEQQFxRQ0BCyADQThqIAEQugUgAygCPCEBIAMoAjhBAUcNACADQTBqIAEQ0QMgAygCNCEBIAMoAjBBAXENAQsgASgCAEEBRgRAIAEoAgQiBCABKAIITw0BIAEgBEEBajYCBAsgA0EoaiABEMgFIAMoAiwhASADKAIoQQFxDQADQCADQSBqIAEQyAUgAygCJCEBIAMoAiBBAXFFDQALCwJAIAEtAJABIgRBAUYEfyABLQCRAUUNAQJAIAIgASgCjAEiBEYEQCAHIAEoAiwiAiABKAIgIgRqIgpJIAogB2tBAUZxDQMgBCAFTwRAIAEgBTYCIAsgAiAISQ0BIAEgCDYCLCAIIQIMAQsgAiAETQ0CIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQQQ6AAAgASACQQFqNgIsIAEtAJABBSAEC0H/AXFBAkcNACABLQCRAUUNAAJAIAYgASgCFCICSQRAIAEoAhAgBkEUbGoiBS0AAA0BIAUgAjYCBCABKAKIASEIIAEoAhQiBSABKAIMRgRAIAFBDGoQmhILIAEoAhAgBUEUbGoiAiAINgIQIAJBADYCCCACIAY2AgQgAkGBCDsBACABIAVBAWo2AhQMAgsgBiACQZyKyAAQhRMACwwFCwJAIAEtAHxFDQAgAS0AkQFFDQAgAUHUAGpBBCAMQQAgASgCeCALTRsQkwULAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBjYCBCAFIAZNDQEgASACQQJqNgIECyABQQA6AJEBIANBGGogARCUCiADKAIYIAMoAhwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBCGogARCUCiADKAIMIQEgAygCCCECDAELIAFBADoAkQEgA0EQaiABEJQKIAMoAhAhAiADKAIUIgEgBToAkQELIAJBAXFFDQALCyADIAEQsgUgAygCBCEBIAMoAgAMAQtBAQsiBEEBRw0AIAEgAygC6AE2AogBIAEgAykD4AE3AoABIAkgASgCFEsNACABIAk2AhQLQQEhAiABLQCQASEJAkACQAJAAkACQAJAIARBAUYEQCAJQf8BcUEBRg0HIAEtAJEBRQ0DIAEoAowBIgIgDkcNASASIAEoAiAiAiABKAIsIgVqIglJIAkgEmtBAUZxDQMgAiARTwRAIAEgETYCICARIQILIAUgEEkNAiABIBA2AiwMAgsgCUH/AXFBAUYEfyABLQCRAUUNBgJAIA4gASgCjAEiAkYEQCASIAEoAiwiAiABKAIgIgVqIglJIAkgEmtBAUZxDQggBSARTwRAIAEgETYCIAsgAiAQSQ0BIAEgEDYCLCAQIQIMAQsgAiAOTw0HIAEgDjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQQI6AAAgASACQQFqNgIsIAEtAJABBSAJC0H/AXFBAkcNBSABLQCRAUUNBSABKAIUIgIgDU0NAyABKAIQIA1BFGxqIgUtAAANByAFIAI2AgQgASgCiAEhCSABKAIUIgUgASgCDEYEQCABQQxqEJoSCyABKAIQIAVBFGxqIgIgCTYCECACQQA2AgggAiANNgIEIAJBgQQ7AQAgASAFQQFqNgIUDAULIAIgDk8NASABIA42AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBAjoAAAtBASECIAEtAHxBAUcNASABLQCRAUUNASABQdQAakECIBVBACABKAJ4IBRNGxCTBQwBCyANIAJBnIrIABCFEwALIAEtAJABQQJHDQEgAS0AkQFFDQEgDSABKAIUSw0BIAEgDTYCFAwBC0EAIQIgAS0AfEUNACABLQCRAUUNACABQdQAakECIBVBACABKAJ4IBRNGxCTBQsgACABNgIEIAAgAjYCACADQYACaiQADwtBoKvJAEEoQayKyAAQrxQAC9QuARV/IwBB8AFrIgMkAEEBIQICQAJAIAEoAgBBAUYEQCABKAIEIgUgASgCCE8NASABIAVBAWo2AgQLIAEoAowBIgIgASgCiAEiDkYEQCABKAIgIREgASgCLCEQCyABKAIUIQ0CQCABLQCQAUECRwRAIA0hCwwBCyANIQsgAS0AkQFFDQAgASgCDCALRgRAIAFBDGoQmhILIAEoAhAgDUEUbGoiAiAONgIIIAJBADYCBCACQQA6AAAgASANQQFqIgs2AhQgASgCjAEhAgsgAiAORgRAIAEoAiwgASgCIGohEgsgASgCeCEUIAEoAlwhFQJAAn8CQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBSABKAIISQ0BQQEhBAwICyADIAEoAogBNgLYASADIAEpAoABNwPQASABQYABaiEHDAELIAEgBUEBajYCBCADIAEoAogBNgLYASADIAEpAoABNwPQASABQYABaiEHIAEoAgQiBSABKAIITw0BIAEgBUEBajYCBAtBACEFIAIgASgCiAEiBEYEQCABKAIgIQggASgCLCEFCwJAIAEtAJABQQJHDQAgAS0AkQFFDQAgASgCDCALRgRAIAFBDGoQmhILIAEoAhAgC0EUbGoiAiAENgIIIAJBADYCBCACQQA6AAAgASALQQFqNgIUIAEoAowBIQILIAIgBEYEQCABKAIsIAEoAiBqIQoLAkAgASgCiAEiAkF1Sw0AIAJBCmoiCSABKAKEAUsNACAHKAIAIAJqIgwpAABC5MLRi7bu27ryAIUgDEEIajMAAELjygGFhEIAUg0AIAEgCTYCiAFBASEGCyABKAJ4IQwgASgCXCEPAkACQAJAIAEtAHxBAUYEQEEKEJABIglFDQEgCUGoi8gALwAAOwAIIAlBoIvIACkAADcAACADQQo2AuwBIAMgCTYC6AEgA0KAgICAoAE3AuABIAEgAiADQeAB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AiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANByAFqIAEQlAogAygCyAEgAygCzAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBuAFqIAEQlAogAygCvAEhASADKAK4ASECDAELIAFBADoAkQEgA0HAAWogARCUCiADKALAASECIAMoAsQBIgEgBToAkQELIAJBAUcNAAsLIANBsAFqIAEQ5wMgAygCtAEhASADKAKwAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBqAFqIAEQlAogAygCqAEgAygCrAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBmAFqIAEQlAogAygCnAEhASADKAKYASECDAELIAFBADoAkQEgA0GgAWogARCUCiADKAKgASECIAMoAqQBIgEgBToAkQELIAJBAUcNAAsLIANBkAFqIAEQgQIgAygClAEhASADKAKQAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBiAFqIAEQlAogAygCiAEgAygCjAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANB+ABqIAEQlAogAygCfCEBIAMoAnghAgwBCyABQQA6AJEBIANBgAFqIAEQlAogAygCgAEhAiADKAKEASIBIAU6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIEC0EAIQpBACEFIAEoAowBIgYgASgCiAEiBEYEQCABKAIsIQogASgCICEFCyABKAIUIQICQCABLQCQAUECRwRAIAIhBwwBCyACIQcgAS0AkQFFDQAgASgCDCACRgRAIAFBDGoQmhILIAEoAhAg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BEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AvgBIAMgASkCgAE3A/ABQQAhBAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABBKEcNACABIAJBAWo2AogBQQEhBAsCQAJAAkACQAJAAkAgAS0AfEEBRgRAQQEQkAEiBUUNASAFQSg6AAAgA0EBNgKsAiADIAU2AqgCIANCgICAgBA3AqACIAEgAiADQaACaiAEEPkICyAERQ0FAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NByABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANB6AFqIAEQlAogAygC6AEgAygC7AEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANB2AFqIAEQlAogAygC3AEhASADKALYASECDAELIAFBADoAkQEgA0HgAWogARCUCiADKALgASECIAMoAuQBIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0GIAEgAkEBaiIFNgIEIAQgBU0NBSABIAJBAmo2AgQLIAEoAhQhBSADIAEoAogBNgKIAiADIAEpAoABNwOAAiADQdABaiABEJYDIAMoAtQBIQECQAJ/AkAgAygC0AFBAUcNACADQcgBaiABEPoDIAMoAswBIQEgAygCyAFBAUcNACADQcABaiABEEAgAygCxAEhASADKALAAQwBC0EAC0EBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBjYCBCAEIAZNDQEgASACQQJqNgIECyABQQA6AJEBIANBuAFqIAEQlAogAygCuAEgAygCvAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBqAFqIAEQlAogAygCrAEhASADKAKoASECDAELIAFBADoAkQEgA0GwAWogARCUCiADKAKwASECIAMoArQBIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUcNAiABKAIEIgIgASgCCE8NACABIAJBAWoiBDYCBCABKAIIIgIgBE0NACABKAIUIQYgASAEQQFqIgU2AgQgAiAFTQRAQQEhAgwFCyABIARBAmo2AgQMAwsgASADKAKIAjYCiAEgASADKQOAAjcCgAEgBSABKAIUSw0EIAEgBTYCFAwEC0EBEKcUAAsgASgCFCEGCyADIAFBgAFqIgIoAgg2ApgCIAMgAikCADcDkAJBACECAkAgASgCiAEiBCABKAKEAU8NACABKAKAASAEai0AAEEsRw0AIAEgBEEBajYCiAFBASECCwJ/AkAgAS0AfEEBRgRAQQEQkAEiBUUNECAFQSw6AAAgA0EBNgKsAiADIAU2AqgCIANCgICAgBA3AqACIAEgBCADQaACaiACEPkICyACRQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANBoAFqIAEQlAogAygCoAEgAygCpAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBkAFqIAEQlAogAygClAEhASADKAKQASECDAELIAFBADoAkQEgA0GYAWogARCUCiADKAKYASECIAMoApwBIgEgBDoAkQELIAJBAXFFDQALCyADQYgBaiABEJYDIAMoAowBIQECQCADKAKIAUEBRw0AIANBgAFqIAEQ+gMgAygChAEhASADKAKAAUEBRw0AIANB+ABqIAEQQCADKAJ8IQEgAygCeAwCC0EADAELQQELIgJBAUcNACABIAMoApgCNgKIASABIAMpA5ACNwKAASAGIAEoAhRLDQAgASAGNgIUCyACQQFxDQACQAJAAkACQCABKAIAQQFGBEAgASgCBCIEIAEoAggiBU8NBUEBIQIgASAEQQFqIgY2AgQgBSAGTQ0EIAEgBEECaiICNgIEIAEoAhQhBiADIAEoAogBNgKoAiADIAEpAoABNwOgAiABLQCRAUECRw0CIAIgBUkEQCABIARBA2oiAjYCBCACIAVPDQMgASAEQQRqNgIEDAILIAEgAygCqAI2AogBIAEgAykDoAI3AoABQQEhAgwDCyABKAIUIQYgAyABKAKIATYCqAIgAyABKQKA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C0EUIQRBFBCQASIDRQ0PIANBkq7JACgAADYAECADQYquyQApAAA3AAggA0GCrskAKQAANwAADAYLQRchBEEXEJABIgNFDQ8gA0GlrskAKQAANwAPIANBnq7JACkAADcACCADQZauyQApAAA3AAAMBQtBBSEEQQUQkAEiA0UNICADQbGuyQAtAAA6AAQgA0GtrskAKAAANgAADAQLQQ8hBEEPEJABIgNFDQ4gA0G5rskAKQAANwAHIANBsq7JACkAADcAAAwDC0ERIQRBERCQASIDRQ0OIANB0a7JAC0AADoAECADQcmuyQApAAA3AAggA0HBrskAKQAANwAADAILQRUhBEEVEJABIgNFDQ4gA0HfrskAKQAANwANIANB2q7JACkAADcACCADQdKuyQApAAA3AAAMAQtBDSEEQQ0QkAEiA0UNDiADQeyuyQApAAA3AAUgA0HnrskAKQAANwAACyACQYOAgIB4NgLQAyACIAQ2AsgDIAIgAzYCxAMgAiAENgLAAyACQfADaiACQdACaiACQbADaiACQcADahDSAyACIAIpA6AENwOoAyACIAIpA5gENwOgAyACIAIpA5AENwOYAyACIAIpA4gEIgs3A5ADIAIgAikDgAQ3A4gDIAIgAikD+AM3A4ADIAunQX9HBEAgAkGAA2oQ+wkLAkAgAigCUCIDQX9GDQACQAJAAkACQAJAAkBBBSADQYCAgIB4cyADQQBOG0EBaw4FAAECAwQGCyACQQA6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMBAsCQAJAAkAgAigCQEEBaw4CAQIACyACQQE6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMBQsgAkEBOgDAAyACIAJBwANqrUKAgICA0AKENwPwAyACQfADahDaESEFDAQLIAJBAjoAwAMgAiACQcADaq1CgICAgNAChDcD8AMgAkHwA2oQ2hEhBQwDCyACQQQ6AMADIAIgAkHAA2qtQoCAgIDQAoQ3A/ADIAJB8ANqENoRIQUMAgsgAkEHOgDAAyACIAJBwANqrUKAgICA0AKENwPwAyACQfADahDaESEFDAELIAIoAlhBBnQhBCACKAJUIQMDQCAERQ0CIARBQGohBCACQcACaiADQTRqIAMQ5A8hBSADQUBrIQMgBUUN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IAZBFGxqIgIgBDYCCCACQQA2AgQgAkEAOgAAIAEgBkEBajYCFCABKAKMASECCyACIARGBEAgASgCLCABKAIgaiEKCwJAIAEoAogBIgJBe0sNACACQQRqIg8gASgChAFLDQAgDigCACACaigAAEHl3NXrBkcNACABIA82AogBQQEhCAsgASgCeCEOIAEoAlwhDwJAAkACQAJAIAEtAHxBAUYEQEEEEJABIglFDQEgCUHl3NXrBjYAACADQQQ2AvwBIAMgCTYC+AEgA0KAgICAwAA3AvABIAEgAiADQfABaiAIEPkICyABLQCQASECAkACQAJAIAhFBEAgAkH/AXFBAUYNCCABLQCRAUUNAyABKAKMASICIARHDQEgCiABKAIgIgIgASgCLCIEaiIISSAIIAprQQFGcQ0DIAIgB08EQCABIAc2AiAgByECCyAEIAVJDQIgASAFNgIsDAILIAJB/wFxQQFGBH8gAS0AkQFFDQcCQCAEIAEoAowBIgJGBEAgCiABKAIsIgIgASgCICIEaiIISSAIIAprQQFGcQ0JIAQgB08EQCABIAc2AiALIAIgBUkNASABIAU2AiwgBSECDAELIAIgBE8NCCABIAQ2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIkIAJGBEAgAUEkahCjEgsgASgCKCACakEqOgAAIAEgAkEBajYCLCABLQCQAQUgAgtB/wFxQQJHDQYgAS0AkQFFDQYgASgCFCICIAZNDQQgASgCECAGQRRsaiIFLQAADQsgBSACNgIEIAEoAogBIQcgASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAc2AhAgAkEANgIIIAIgBjYCBCACQYHUADsBACABIAVBAWo2AhQMBgsgAiAETw0BIAEgBDYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEqOgAACyABLQB8QQFHDQIgAS0AkQFFDQIgAUHUAGpBKiAPQQAgASgCeCAOTRsQkwUMAgtBARCnFAALIAYgAkGcisgAEIUTAAsgAS0AkAFBAkcNASABLQCRAUUNASAGIAEoAhRLDQEgASAGNgIUDAELAkAgAS0AfEUNACABLQCRAUUNACABQdQAakEqIA9BACABKAJ4IA5NGxCTBQsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0HYAWogARCUCiADKALYASADKALcASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0HIAWogARCUCiADKALMASEBIAMoAsgBIQIMAQsgAUEAOgCRASADQdABaiABEJQKIAMoAtABIQIgAygC1AEiASAFOgCRAQsgAkEBRw0ACwsgA0HAAWogARDnAyADKALEASEBIAMoAsABQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0G4AWogARCUCiADKAK4ASADKAK8ASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0GoAWogARCUCiADKAKsASEBIAMoAqgBIQIMAQsgAUEAOgCRASADQbABaiABEJQKIAMoArABIQIgAygCtAEiASAFOgCRAQsgAkEBRw0ACwsgA0GgAWogARCBAiADKAKkASEBIAMoAqABQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0GYAWogARCUCiADKAKYASADKAKcASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0GIAWogARCUCiADKAKMASEBIAMoAogBIQIMAQsgAUEAOgCRASADQZABaiABEJQKIAMoApABIQIgAygClAEiASAFOgCRAQsgAkEBRw0ACwsgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAtBACEFQQAhByABKAKMASIEIAEoAogBIgJGBEAgASgCICEHIAEoAiwhBQsgASgCFCEIAkAgAS0AkAFBAkcNACABLQCRAUUNACABKAIMIAhGBEAgAUEMahCaEgsgASgCECAIQRRsaiIEIAI2AgggBEEANgIEIARBADoAACABIAhBAWo2AhQgASgCjAEhBAtBACEKIAIgBEYEQCABKAIsIAEoAiBqIQoLIAEoAnghDiABKAJcIQ8CQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIJIAEoAggiEk8NASABIAlBAWoiEzYCBCASIBNNDQEgASAJQQJqNgIECyADQYABaiABENYCIAMoAoQBIQEgAygCgAFBAUcNBSABKAIAQQFGBEAgASgCBCIEIAEoAghPBEBBASEEDAYLIAEgBEEBajYCBAsgASgCFCEJIAMgASgCiAE2AvgBIAMgASkCgAE3A/ABIANB+ABqIAEQ2wIgAygCfCEBIAMoAnhBAXENAQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiBCABKAIIIhJPDQMgASAEQQFqIhM2AgQgEiATTQ0BIAEgBEECajYCBAsgAUEAOgCRASADQfAAaiABEJQKIAMoAnAgAygCdCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIEIAEoAghPDQIgASAEQQFqNgIECwJAIAEtAJEBIhJFBEAgA0HgAGogARCUCiADKAJkIQEgAygCYCEEDAELIAFBADoAkQEgA0HoAGogARCUCiADKAJoIQQgAygCbCIBIBI6AJEBCyAEQQFxRQ0ACwsgA0HYAGogARCuCyADKAJcIQEgAygCWCEEDAMLIAEtAJABQQFGDQYCQCABLQCRAUUNAAJAIAIgBEYEQCAKIAEoAiAiAiABKAIsIgRqIglJIAkgCmtBAUZxDQIgAiAHTwRAIAEgBzYCICAHIQILIAQgBUkNASABIAU2AiwMAQsgAiAETQ0BIAEgAjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEUOgAACyABLQB8QQFHDQEgAS0AkQFFDQEgAUHUAGpBFCAPQQAgASgCeCAOTRsQkwUMAQtBASEEDAELIAEtAJABQQJHDQQgAS0AkQFFDQQgCCABKAIUSw0EIAEgCDYCFEEBDAULIARBAUcNACABIAMoAvgBNgKIASABIAMpA/ABNwKAASAJIAEoAhRLDQAgASAJNgIUCyAEQQFHDQACQCABKAIAQQFGBEAgASgCBCIEIAEoAghPDQEgASAEQQFqNgIECwJAIAEtAJEBIglBAUYEQCADQcgAaiABEIEDIAMoAkwhASADKAJIIQQMAQsgAUEBOgCRASADQdAAaiABEIEDIAMoAlAhBCADKAJUIgEgCToAkQELIARBAXFFDQELIANBQGsgARC6BSADKAJEIQEgAygCQEEBRw0AIANBOGogARDRAyADKAI8IQEgAygCOEEBcQ0BCyABKAIAQQFGBEAgASgCBCIEIAEoAghPDQEgASAEQQFqNgIECyADQTBqIAEQyQUgAygCNCEBIAMoAjBBAXENAANAIANBKGogARDJBSADKAIsIQEgAygCKEEBcUUNAAsLAkAgAS0AkAEiBEEBRgR/IAEtAJEBRQ0BAkAgAiABKAKMASIERgRAIAogASgCLCICIAEoAiAiBGoiCUkgCSAKa0EBRnENAyAEIAdPBEAgASAHNgIgCyACIAVJDQEgASAFNgIsIAUhAgwBCyACIARNDQIgASACNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBFDoAACABIAJBAWo2AiwgAS0AkAEFIAQLQf8BcUECRw0AIAEtAJEBRQ0AAkAgCCABKAIUIgJJBEAgASgCECAIQRRsaiIFLQAADQEgBSACNgIEIAEoAogBIQcgASgCFCIFIAEoAgxGBEAgAUEMahCaEgsgASgCECAFQRRsaiICIAc2AhAgAkEANgIIIAIgCDYCBCACQYEoOwEAIAEgBUEBajYCFAwCCyAIIAJBnIrIABCFEwALDAULAkAgAS0AfEUNACABLQCRAUUNACABQdQAakEUIA9BACABKAJ4IA5NGxCTBQsCQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiIHNgIEIAUgB00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EgaiABEJQKIAMoAiAgAygCJCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EQaiABEJQKIAMoAhQhASADKAIQIQIMAQsgAUEAOgCRASADQRhqIAEQlAog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A8AGIAMgAykCrAE3A8gGIAMgAykCtAE3A9AGIAMgAygCvAE2AtgGIAMoAqABIgdBfUsNASADIAMoAtgGNgK8ASADIAMpA9AGNwK0ASADIAMpA8gGNwKsASADIAMpA8AGNwKkAQwCCxDTEwALIANBoAFqQQRyEJYRIANBADYCsAFBFiEHCyADIAc2AqABQcDwyQACfkHQ8MkALQAABEBByPDJACkDACEmQcDwyQApAwAMAQsgA0HABmoQuxFB0PDJAEEBOgAAQcjwyQAgAykDyAYiJjcDACADKQPABgsiJ0IBfDcDACADIAMpAqQBNwMgIAMgAykCrAE3AyggAyADKQK0ATcDMCADIAMoArwBNgI4IANBkKnJACkDADcDECADQZipyQAoAgA2AhgCQAJAAkACQCADKAIEIgIgAygCDCIMRgRAQQghCUEIIQ4MAQsgA0G4A2oiBUE8aiEcIANBwAZqIgRBPGohDyADQZAEaiIGQTxqIR0gA0GQBWoiCUE8aiEeIANBoAFqIgpBPGohFCAKQQRyIQggA0GYAmohCyAEQQhqIRogBUEBciEVIAVByABqIR8gBEHIAGohECAEQQFyIQQgBkEBciEWIAZByABqISAgA0HAAWohFyAJQQFyIRggCUHIAGohISADQaQDaiENIANB7AVqIRsgA0GUAmohIiADQZACaiEZIANBgAJqISMgA0HwAWohJUEAIQZBCCEJQQAhCkEAIQVBCCEOA0ACQCADIAJB2ABqNgIEAkACQAJAAkACQAJAIAIoAgAiEUF/RwRAICMgAigCUDYCCCAjIAIpAkg3AgAgIiACQQRqQcQA/AoAACAIIAMpAyA3AgAgCCADKQMoNwIIIAggAykDMDcCECAIIAMoAjg2AhggFCADKQMQNwIAIBQgAygCGDYCCCADIAc2AqABIAMgBjYC2AEgAyAJNgLUASADIAo2AtABIAMgJjcDyAEgAyAnNwPAASADIBE2ApACIAMgJDYC/AEgAyAFNgL4ASADIA42AvQBIAMgEzYC8AEgAyAoNwPoASADKAKAAiEMIAMoAoQCIREgAygCiAIhAiADQdgCaiAZQcgA/AoAACADQegFaiABIBEgAhDcBCADKALoBUF/Rw0BIAMgGykCEDcDsAMgAyAbKQIINwOoAyADIBspAgAiKTcDoAMCQAJAAkAgKadBAWsOAgECAAsCQAJAAkAgAygC2AIiAkUEQCADKALgAkEVRg0BCyADKAKkAyIHKAIAIQYgByAGQQFqNgIAIAZBAEgNASACQQRGDQIgAyACNgLABiADQcAGaiIBQQRyICJBxAD8CgAAIAMgAa1CgICAgPAghDcDgAUgA0GgBmpBoe/BACADQYAFahC4DCADQQA6AKwGIANBfzYCgAYgARCuByADIAMpA4AGIig3A/gEIAMgAykD+AUiKTcD8AQgAyADKQPwBSIqNwPoBCADIAMpAqQGNwNwIAMgAygCrAY2AnggAykDiAYhJyADKQOQBiEmIAMoApgGIQogAygCnAYhCSADKAKgBiEGIAcgBygCACIBQQFrNgIAIAMgKjcChAEgAyApNwKMASADICg3ApQBIAFBAUcNCSAHEDAMCQsgAygCpAMiEigCACECIBIgAkEBazYCACADIAMoAjg2ApgBIAMgAykDMDcDkAEgAyADKQMoNwOIASADIAMpAyA3A4ABIAMgAykDEDcDcCADIAMoAhg2AnggAkEBRgRAIAMoAqQDEDALIANB2AJqEK4HDAoLAAsgAygCqAMhBiAFIBNGBH8gJRCpEiADKAL0AQUgDgsgBUHIAGxqIgIgBjYCBCACIAc2AgAgAiALKQMANwMIIAIgCykDCDcDECACIAspAxA3AxggAiALKQMYNwMgIAIgCykDIDcDKCACIAspAyg3AzAgAiALKQMwNwM4IAIgCykDODcDQCADIAVBAWo2AvgBDAcLIA0QrRAgAygCtAMhAkUEQCADQcAGaiANIBkQqQMgAy0AwAYiBUH+AUYEQCADIAMpA9gGIic3AP8FIAMgAykD0AYiJjcA9wUgAyADKQPIBiIoNwDvBSADIAMpAvwGNwPoBCADIAMoAoQHNgLwBCADICg3AoQBIAMgJjcCjAEgAyAnNwKUASADKQPgBiEnIAMpA+gGISYgAygC8AYhCiADKAL0BiEJIAMoAvgGIQYgAyADKALwBDYCeCADIAMpA+gENwNwIAIgAigCACIBQQFrNgIAIAFBAUcNByACEDAMBwsgICAQKQMINwMIICAgECkDADcDACADIAQpABc3AP8FIAMgBCkAEDcD+AUgAyAEKQAINwPwBSADIAQpAAA3A+gFIAMgDykAADcD6AQgAyAPKAAINgLwBCADKQPgBiEnIAMpA+gG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QeACaiAGEH8gAigC8AJBf0YNAiAGQSBqIQYgAigCgAEgAUYEQCACQYABahCUEiACKAKEASEECyADIARqIgUgAikD4AI3AwAgBSACKQOIAzcDKCAFIAIpA4ADNwMgIAUgAikD+AI3AxggBSACKQPwAjcDECAFIAIpA+gCNwMIIAIgAUEBaiIBNgKIASADQTBqIQMgB0EgayIHDQALCyAAIAIoAogBNgIIIAAgAikCgAE3AgAgAEGEgICAeDYCEAwSCyAAQX82AhAgACACKALgAjYCACACQYABahCPCSACKAKAASIARQ0RIAQgAEEwbBDZEgwRCwJAIAEoAgwiA0UEQEEBIQEMAQsgASgCCCEEIAMQkAEiAUUNEiADRQ0AIAEgBCAD/AoAAAsgAEGDgICAeDYCECAAIAM2AgggACABNgIEIAAgAzYCAAwQCyABKAIMIQMgASgCCCACAn5B0PDJAC0AAARAQcjwyQApAwAhDUHA8MkAKQMADAELIAJB8ANqELsRQdDwyQBBAToAAEHI8MkAIAIpA/gDIg03AwAgAikD8AMLIgw3A5ABQcDwyQAgDEIBfDcDACACQQA2AqgBIAJCgICAgIABNwOgASACIA03A5gBIAJCgICAgHA3A4ABIAJBkKnJACkDADcCrAEgAkGYqckAKQMANwK0ASADRQRAIAAgAikDuAE3AyggACACKQOwATcDICAAIAIpA6gBNwMYIAAgAikDoAE3AxAgACACKQOYATcDCCAAIAIpA5ABNwMADBALIANBMGwhByACQZABaiEKQQhqIQMgAkH4A2ohBQNAIAIoAoABQQFGDQsCQAJAAkAgAygCACIERQRAQQEhAQwBCyADQQRrKAIAIQYgBBCQASIBRQ0VIAQEQCABIAYgBPwKAAALIARBf0YNAQsgAigChAEiBkEASgRAIAIoAogBIgtBBGsoAgAiCEF4cSEJIAlBBEEIIAhBA3EiCBsgBmpJDRYgCEEARyAJIAZBJ2pLcQ0XIAsQvAULIAIgBDYCjAEgAiABNgKIASACQX82AoQBIAIgAikDiAEiDDcCtAIgAiAENgKwAiACQcADaiADQQhqEH8gAigC0ANBf0cNASACKALAAyEBIARFDQAgDKcgBBDZEgsgAEF/NgIQIAAgATYCACACQYABahDDCwwRCyACQfADaiAKIAJBsAJqIAJB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AAsLIAYgETYCBCAGIBI2AgAgBiAVNgIMIAYgFDYCCCAGIA8pAwA3AhAgBiAPKQMINwIYCyADQSBrIQMgBEEgaiEEIBYgBUEBaiIFRw0ACwsgCUEgayEGIApBBXRBIGsiASACaiELIAAgAWohBwNAAkAgCSgCACIBIAIoAgAiA0cEQCABIANrIQwMAQtBBCEMIAEEQCAJKAIIIgEgAigCCCIDSyABIANJayAJKAIEIgEgAigCBCIDSyABIANJayABIANGGyIMQf8BcQ0BQQwhDAsgCSAMaigCACIBIAIgDGooAgAiA0sgASADSWshDAsgACAJIAIgDEF/RiIDGyIBKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACABKQIANwIAIAxBf0dBBXQhBCADQQV0AkAgCygCACIBIAYoAgAiA0cEQCABIANrIQwMAQtBBCENIAEEQCALKAIIIgEgBigCCCIDSyABIANJayALKAIEIgEgBigCBCIDSyABIANJayABIANGGyIMQf8BcQ0BQQwhDQsgCyANaigCACIBIAYgDWooAgAiA0sgASADSWshDAsgAEEgaiEAIAIgBGohAiAJaiEJIAcgBiALIAxBf0YiAxsiASkCGDcCGCAHIAEpAhA3AhAgByABKQIINwIIIAcgASkCADcCACAHQSBrIQcgBkFgQQAgAxtqIQYgC0FgQQAgDEF/RxtqIQsgE0EBayITDQALIAZBIGohASAKQQFxBH8gACACIAkgASACSyIEGyIDKQIYNwIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIAIAkgASACTUEFdGohCSACIARBBXRqBSACCyABRiAJIAtBIGpGcQ0AEKQVAAsgD0EgaiQAC40kAh1/Bn4jAEHgA2siAyQAAkACQAJAAkAgASgCCCIIBEAgASgCBCIWIAhBAnRqIRsgAkEIaiEXIANBwANqIQUgA0HMAWohGCABKAIAIgFBFGohGSABQRBqIRoDQAJAAkACQAJAIBYoAgAiASAZKAIASQRAIBooAgAgAUHIAGxqIgEpAgAhICABQX82AgAgAyAgNwMIIAMgASkCCDcDECADIAEpAhA3AxggAyABKQIYNwMgIAMgASkCIDcDKCADIAEpAig3AzAgAyABKQIwNwM4ICCnIglBf0YNBAJAAkBBAiAJQQNrIAlB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BCAFSWsgASADSSABIANLayABIANGGyIBQf8BcQ0DIAgoAgwiASACKAIMIgNLIAEgA0lrIQEMAwsgBEEBRw0BCyAFIARrIQEMAQsgASADSSABIANLayEBCyAAIAIgCCABwEEATiIEGyIDKAIQNgIQIAAgAykCCDcCCCAAIAMpAgA3AgAgBEEUbCEFIAFBgAFxQQd2QRRsIQ4gBigCBCEBIAYoAgAhBCAJKAIEIQMCQAJAAkAgCSgCACILQQFGBEAgBEEBcUUNASAJKAIIIgQgBigCCCILSyAEIAtJayABIANJIAEgA0trIAEgA0YbIgFB/wFxDQMgCSgCDCIBIAYoAgwiA0sgASADSWshAQwDCyAEQQFHDQELIAsgBGshAQwBCyABIANJIAEgA0trIQELIABBFGohACACIAVqIQIgCCAOaiEIIAcgCSAGIAHAIgNBAE4bIgEoAhA2AhAgByABKQIINwIIIAcgASkCADcCACAHQRRrIQcgBiADQQd1IgFBFGxqIQYgCSABQX9zQRRsaiEJIA1BAWsiDQ0ACyAGQRRqIQEgCkEBcQR/IAAgAiAIIAEgAksiBBsiAygCEDYCECAAIAMpAgg3AgggACADKQIANwIAIAggASACTUEUbGohCCACIARBFGxqBSACCyABRiAIIAlBFGpGcQ0AEKQVAAsgFUEgaiQAC54jAhd/An4jAEEgayIJJAACQAJAIAJBAE4EQAJAAkACQAJAIAJFBEBBASEGDAELIAIQkAEiBkUNAyAGIQQgASEDAkAgAiIFQRBJDQAgBUHw////B3EhDwNAIAYgB2ohBCABIAdqIgNBAWosAAAiDEF/c0GAAXFBB3YgAywAACINQX9zQYABcUEHdmogA0ECaiwAACIKQX9zQYABcUEHdmogA0EDaiwAACIIQX9zQYABcUEHdmogA0EEaiwAACILQX9zQYABcUEHdmogA0EFaiwAACIOQX9zQYABcUEHdmogA0EGaiwAACIQQX9zQYABcUEHdmogA0EHaiwAACIRQX9zQYABcUEHdmogA0EIaiwAACISQX9zQYABcUEHdmogA0EJaiwAACITQX9zQYABcUEHdmogA0EKaiwAACIUQX9zQYABcUEHdmogA0ELaiwAACIVQX9zQYABcUEHdmogA0EMaiwAACIWQX9zQYABcUEHdmogA0ENaiwAACIX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IAcgETYCCCAHIAs2AgQgByAPNgIAQRgQkAEiA0UNBSADQQA6ABQgA0H05scANgIMIAMgBzYCCCADQoGAgIAQNwIAQeQAEJABIgRFDQUgBCADNgJgIARBADoAXCAEIBA2AkwgBCARNgJIIAQgCzYCRCAEIAg2AkAgBEEaOgA8IARBfzYCLCAEIBA2AiggBCARNgIkIAQgCzYCICAEIAg2AhwgBEF/NgIQIARBADYCCCAEQQA2AgAgAigCCCIGIAIoAgBGBEAgAiAGQQFBCEHIABCzESACKAIIIQYLIAIoAgQgBkHIAGxqIgNBADsBRCADQQo2AkAgA0H4/McANgI8IANBfzYCOCADQgQ3AzAgA0IBNwMoIAMgBDYCJCADQQE2AiAgA0F+NgIAIAIgBkEBajYCCAwCCyALIAsoAgAiA0EBazYCACADQQFGBEAgCxAwCyACIAIoAgg2AggMAQsACyAAIAIoAgg2AgggACACKQMANwIAAkACQCABKAIARQRAIAEoAgQiACgCACEDIAAgA0EBazYCACADQQFGDQEMAgsgASgCBCIAKAIAIQMgACADQQFrNgIAIANBAUcNAQsgASgCBBAwCyACQeALaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQbjwyQBBAToAAAALkCQCDn8BfiMAQZABayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAiBQJ/AkACQAJAAkACQAJAAkACQAJAAkACQCABQf8BcUEBaw4MAQIODwMEBRMGBwgJAAsgA0EGNgIUIANB1ZDJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQlBAAwKCyADQQc2AhQgA0HkmckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANCiAFQQE2AgAMHwsgA0EENgIUIANB65nJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQogBUECNgIADB4LAkACQEEVIAIoAgAiEEGAgICAeHMgEEEAThtBFGsOAgABDgsgAigCDCIJQQR0IQYgAigCBCEHIAIoAggiCCECAn8CQAJAIAlFDQAgAkEQaiECIAgoAgAiAEF/Rg0AIAMgCCgCDDYCFCAD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EgwhCyADLQBhIgdBAkcEQCAHQQFrDQUMAgsgAygCCCEHIANBfzYCCCAHQX9GDSggDSALKAIINgIIIA0gCykCADcCACADIAc2AnggBkEBaiEGIANB+ABqEIgIIAlBIGsiCQ0ACyAADAILQePjyABBBRCyEwwDCyABQSBqCyEGIAFBIGohAgwbC0H9mskAQQQQshMLIQQgA0HIAGoQwBJBfyEKDBgLIAMgAykDEDcDQCADIAMoAgw2AjwgAyABNgI4An8CQAJAAn8gACAAIAJGDQAaIARBAmohDCAOIA1rQUBrIQcgA0H4AGpBBHIhCUEAIQQCQAJ/AkADQCADIAQgCGoiCkFAayICNgIcIApBIGooAgAiBkF/Rg0DIAMgDDYCKCADIApBLGooAgAiATYCWCADIApBJGopAgAiETcDUCADIApBMGopAgA3AwggAyAKQThqKQIANwMQIANBBTYCdCADQePjyAA2AnAgA0EENgJsIANB/ZrJADYCaCAJIBE3AgAgCSABNgIIIAMgBjYCeCADQeAAaiADQegAaiADQfgAahDHByADLQBgQQFGBEAgAygCZAwDCwJAIAMtAGFBAWsOAgcAAgsgAygCCCEBIANBfzYCCCABQX9GDSkgCSALKAIINgIIIAkgCykCADcCACADIAE2AnggDEEBaiEMIAQgB2ogA0H4AGoQiAggBEEgaiEEDQALIAAMAwsgAygCCCEBIANBfzYCCCABQX9GDScgAyABNgJ4IAMgCygCCDYChAEgAyALKQIANwJ8IANB6ABqIANB+ABqEPoHIAMtAGhFDQMgAygCbAshBCADQThqEIgIDB4LIApBQGsLIQJB/ZrJAEEEELMTDAILIANB+ABqIAMtAGkgA0E4ahCHASADKAJ8IQQgAygCeCIKQX9GDRsgAyAENgJMIAMgCjYCSCAAIAJGBEAgACECDBoLIANB+ABqQQRyIQYCfwJAAkADQCADIAJBIGo2AhwgAigCACIBQX9GDQEgAyADKAIoQQFqNgIoIAMgAigCDDYCWCADIAIpAgQ3A1AgAyACKQIYNwOAASADIAIpAhA3A3ggAygCCEF/RwRAIANBCGoQiAgLIAMgAykDgAE3AxAgAyADKQN4NwMIIANBBTYCdCADQePjyAA2AnAgA0EENgJsIANB/ZrJADYCaCAGIAMpA1A3AgAgBiADKAJYNgIIIAMgATYCeCADQeAAaiADQegAaiADQfgAahDHByADLQBgQQFGBEAgAkEgaiECIAMoAmQhBCADQcgAahDAEgwgCwJAIAMtAGEiAUECRwRAIAFBAWsNBAwBCyMAQRBrIgIkACADQQhqIgEoAgAhACABQX82AgAgAEF/RgRAQbSMxwBBLEHYjccAEMATAAsgAiAANgIAIAIgASgCDDYCDCACIAEpAgQ3AgQgAhCICCACQRBqJAAgAygCJCIAIAMoAhwiAkcNAQweCwtB4+PIAEEFELITDAILIAJBIGohAgwbC0H9mskAQQQQshMLIQQgAkEgaiECIANByABqEMASQX8hCgwZC0Hj48gAQQUQshMLIQQgA0E4ahCICAwZC0H9mskAQQQQshMhBAwYC0EBCyEKQQEhBgwXCyADQQQ2AhQgA0H2mckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANDCAFQQY2AgAMHAsgA0EGNgIUIANB+pnJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQwgBUEHNgIADBsLIANBBTYCFCADQYyayQA2AhAgA0EPNgIMIANB+IXHADYCCCACIANBCGoQxQgiAA0NIAVBCTYCAAwaCyADQQY2AhQgA0HssckANgIQIANBDzYCDCADQfiFxwA2AgggAiADQQhqEMUIIgANDSAFQQo2AgAMGQsgA0EFNgIUIANBkZrJADYCECADQQ82AgwgA0H4hccANgIIIAIgA0EIahDFCCIADQ0gBUELNgIADBgLIANBAzYCFCADQaGayQA2AhAgA0EPNgIMIANB+IXHADYCCCACIANBCGoQxQgiAA0NIAVBDDYCAAwXCyAFIAA2AgRBfws2AgAMFQsgBSAANgIEIAVBfzYCAAwUCyAFIAA2AgQgBUF/NgIADBMLIANBAzYCFCADQe+ZyQA2AhAgA0EPNgIMIANB+IXHADYCCCAFIAIgA0EIahDFCCIABH8gBSAANgIEQX8FQQMLNgIADBILIANBBDYCFCADQfKZyQA2AhAgA0EPNgIMIANB+IXHADYCCCAFIAIgA0EIahDFCCIABH8gBSAANgIEQX8FQQQLNgIADBELIAIgA0GPAWpBtIrHABDoEyEEDAwLIAUgADYCBCAFQX82AgAMDwsgBSAANgIEIAVBfzYCAAwOCyADQQg2AhQgA0GEmskANgIQIANBDzYCDCADQfiFxwA2AgggBSACIANBCGoQxQgiAAR/IAUgADYCBEF/BUEICzYCAAwNCyAFIAA2AgQgBUF/NgIADAwLIAUgADYCBCAFQX82AgAMCwsgBSAANgIEIAVBfzYCAAwKCyAFIAA2AgQgBUF/NgIADAkLIAIhBgsgCkF/RgRAIAYhAgwBCyADKAIIQX9GIQYgAygCKCEMIAMoAiAhECADKAIYIQkgAiEBDAELIAAgAkcEQCAAIAJrQQV2IQEDQCACEIgIIAJBEGoQiAggAkEgaiECIAFBAWsiAQ0ACwsgAygCICIGBEAgAygCGCICQQRrKAIAIgBBeHEhByAHQQRBCCAAQQNxIgEbIAZBBXQiAHJJDQUgAUEARyAHIABBJ2pLcQ0GIAIQvAULIAMoAghBf0YNAiADQQhqEIgIDAILIAMgBDYCNCADIAo2AjAgACABa0EFdiEHIAAgAUYiAEUEQCAHIQIDQCABEIgIIAFBEGoQiAggAUEgaiEBIAJBAWsiAg0ACwsgEARAIAkgEEEFdBDZEgtBACECIABFBEAgAyAMNgJ4IAcgDGogA0H4AGpBlI/HABDREiECCyAGRQRAIANBCGoQiAgLIAJFDQAgA0EwahDAEiACIQQMAQtBCBCQASIADQFBuPDJAEEBOgAAAAsgBUF/NgIAIAUgBDYCBAwDCyAAIAQ2AgQgACAKNgIAIAUgADYCBCAFQQU2AgAMAgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIANBkAFqJAAPC0G0jMcAQSxB2I3HABDAEwALiiMCEH8HfiMAQYACayIIJAACQAJAIAFBIUkEQCABIQ4MAQsgAkFAaiETAkADQCAERQRAIAAgASACIANBASAGELECDAQLIAAgAUEDdiIHQcADbGohCSAAIAdBCHRqIQ4gBEEBayEEIAgCfyABQcAATwRAIAAgDiAJIAcgBhDjDAwBCyAIQbgBaiAGKAIAIgcoAgAgABDaByAIKAK8ASENIAgoArgBIAhBsAFqIAcoAgAgDhDaByAIKAKwASELQQFGBEAgCyANIAgoArQBSXEhCwsgCEGoAWogBygCACAAENoHIAgoAqwBIQ0gCCgCqAEgCEGgAWogBygCACAJENoHIAgoAqABIQxBAUYEQCAMIA0gCCgCpAFJcSEMCyAAIAsgDHNBAXENABogCEGYAWogBygCACAOENoHIAgoApwBIQ0gCCgCmAEhDyAIQZABaiAHKAIAIAkQ2gcgCCgCkAEhByAJIA4gD0EBRgR/IAcgDSAIKAKUAUlxBSAHCyALc0EBcRsLIg0pAjg3A/gBIAggDSkCMDcD8AEgCCANKQIoNwPoASAIIA0pAiA3A+ABIAggDSkCGDcD2AEgCCANKQIQNwPQASAIIA0pAgg3A8gBIAggDSkCADcDwAEgDSAAa0EGdiEPAkACQCAFRQ0AIAhBiAFqIAYoAgAiBygCACAFENoHIAgoAowBIQkgCCgCiAEgCEGAAWogBygCACANENoHIAgoAoABIQdBAUYEQCAHQQFHDQIgCSAIKAKEAUkNAQwCCyAHQQFHDQELIAEgA0sNAiAGKAIAIQxBACEOIAAhByABQQZ0IhUgAmoiEiELIA8hCQNAIAcgACAJQQZ0aiIRSQRAA0AgCEH4AGogDCgCACAHENoHIAgoAnwhECAIKAJ4IRQgCEHwAGogDCgCACANENoHIAgoAnAhCiAOQQZ0IAIgC0FAaiILIBRBAUYEfyAKIBAgCCgCdElxBSAKC0EBcSIQG2oiCiAHKQI4NwI4IAogBykCMDcCMCAKIAcpAig3AiggCiAHKQIgNwIgIAogBykCGDcCGCAKIAcpAhA3AhAgCiAHKQIINwIIIAogBykCADcCACAOIBBqIQ4gESAHQUBrIgdLDQALCyABIAlHBEAgC0FAaiILIA5BBnRqIgkgBykCODcCOCAJIAcpAjA3AjAgCSAHKQIoNwIoIAkgBykCIDcCICAJIAcpAhg3AhggCSAHKQIQNwIQIAkgBykCCDcCCCAJIAcpAgA3AgAgB0FAayEHIAEhCQwBCwsgDkEGdCIRBEAgACACIBH8CgAACyABIA5rIRACQCABIA5GDQAgACARaiEJQQAhDCAOQQFqIAFHBEAgEEEBcSAQQX5xIRYgEyAVaiEKIAkhBwNAIAcgCikCODcCOCAHIAopAjA3AjAgByAKKQIoNwIoIAcgCikCIDcCICAHIAopAhg3AhggByAKKQIQNwIQIAcgCikCCDcCCCAHIAopAgA3AgAgB0FAayASIAxB/v//H3NBBnRqIgspAgA3AgAgB0HIAGogCykCCDcCACAHQdAAaiALKQIQNwIAIAdB2ABqIAspAhg3AgAgB0HgAGogCykCIDcCACAHQegAaiALKQIoNwIAIAdB8ABqIAspAjA3AgAgB0H4AGogC0E4aikCADcCACAKQYABayEKIAdBgAFqIQcgFiAMQQJqIgxHDQALRQ0BCyAJIAxBBnRqIgcgEiAMQX9zQQZ0aiIJKQI4NwI4IAcgCSkCMDcCMCAHIAkpAig3AiggByAJKQIgNwIgIAcgCSkCGDcCGCAHIAkpAhA3AhAgByAJKQIINwIIIAcgCSkCADcCAAsgDkUNACABIA5PBEAgACARaiAQIAIgAyAEIAhBwAFqIAYQiAEgDiIBQSFJDQQMAgtBxLDJAEETQdD1yAAQvxMMAgsgASADSw0BQQAhCyAAIQcgAUEGdCIKIAJqIhEhDANAIAcgACAPQQZ0aiIJSQRAA0AgCEHoAGogBigCACIFKAIAIA0Q2gcgCCgCbCEQIAgoAmggCEHgAGogBSgCACAHENoHIAgoAmAhDkEBRgRAIA4gECAIKAJkSXEhDgsgC0EGdCAMQUBqIgwgAiAOQQFxG2oiBSAHKQI4NwI4IAUgBykCMDcCMCAFIAcpAig3AiggBSAHKQIgNwIgIAUgBykCGDcCGCAFIAcpAhA3AhAgBSAHKQIINwIIIAUgBykCADcCACALIA5Bf3NBAXFqIQsgCSAHQUBrIgdLDQALCyABIA9HBEAgAiALQQZ0aiIFIAcpAjg3AjggBSAHKQIwNwIwIAUgBykCKDcCKCAFIAcpAiA3AiAgBSAHKQIYNwIYIAUgBykCEDcCECAFIAcpAgg3AgggBSAHKQIANwIAIAdBQGshByALQQFqIQsgDEFAaiEMIAEhDwwBCwsgC0EGdCIFBEAgACACIAX8CgAACyABIAtGDQMgASALayEOIAAgBWohAEEAIQkCQCALQQFqIAFHBEAgDkEBcSAOQX5xIQ8gCiATaiEKIAAhBwNAIAcgCikCODcCOCAHIAopAjA3AjAgByAKKQIoNwIoIAcgCikCIDcCICAHIAopAhg3AhggByAKKQIQNwIQIAcgCikCCDcCCCAHIAopAgA3AgAgB0FAayARIAlB/v//H3NBBnRqIgUpAgA3AgAgB0HIAGogBSkCCDcCACAHQdAAaiAFKQIQNwIAIAdB2ABqIAUpAhg3AgAgB0HgAGogBSkCIDcCACAHQegAaiAFKQIoNwIAIAdB8ABqIAUpAjA3AgAgB0H4AGogBUE4aikCADcCACAKQYABayEKIAdBgAFqIQcgDyAJQQJqIglHDQALRQ0BCyAAIAlBBnRqIgUgESAJQX9zQQZ0aiIHKQI4NwI4IAUgBykCMDcCMCAFIAcpAig3AiggBSAHKQIgNwIgIAUgBykCGDcCGCAFIAcpAhA3AhAgBSAHKQIINwIIIAUgBykCADcCAAsgASALTwRAQQAhBSAOIgFBIUkNAwwBCwsgCyABIAFB4PXIABCHDgALAAsgDkECSQ0AIAYoAgAhC0EBIQQgDkEBdiEPAkAgDkEITwRAIAAgAiALEI8HIA9BBnQiASAAaiABIAJqIAsQjwdBBCEEDAELIAIgACkCODcCOCACIAApAjA3AjAgAiAAKQIoNwIoIAIgACkCIDcCICACIAApAhg3AhggAiAAKQIQNwIQIAIgACkCCDcCCCACIAApAgA3AgAgD0EGdCIDIAJqIgEgACADaiIDKQI4NwI4IAEgAykCMDcCMCABIAMpAig3AiggASADKQIgNwIgIAEgAykCGDcCGCABIAMpAhA3AhAgASADKQIINwIIIAEgAykCADcCAAsgDiAPayERIAQgD0kEQCAEQQZ0IQYgBCEBA0AgAUEGdCIFIAJqIgMgACAFaiIFKQI4NwI4IAMgBSkCMDcCMCADIAUpAig3AiggAyAFKQIgNwIgIAMgBSkCGDcCGCADIAUpAhA3AhAgAyAFKQIINwIIIAMgBSkCADcCACAIQdgAaiALKAIAIAMQ2gcgCCgCXCENIAgoAlghCiAIQdAAaiALKAIAIANBQGoiCRDaByAIKAJQIQcCQAJAIApBAUYEQCAHQQFHDQIgDSAIKAJUSQ0BDAILIAdBAUcNAQsgAyAJKQI4NwI4IAMgCSkCMDcCMCADIAkpAig3AiggAyAJKQIgNwIgIAMgCSkCGDcCGCADIAkpAhA3AhAgAyAJKQIINwIIIAMgCSkCADcCAAJAIAFBAUYEQCAJIQcMAQsgBiEKA0AgCEHIAGogCygCACAFENoHIAgoAkwhDCAIKAJIIRAgCEFAayALKAIAIAIgCmoiB0GAAWsiAxDaByAHQUBqIQcgCCgCQCENAkAgEEEBRgRAIA1BAUcEQCAJIQcMBAsgDCAIKAJESQ0BIAkhBwwDCyANQQFHDQILIAlBQGohCSAHIAMpAjg3AjggByADKQIwNwIwIAcgAykCKDcCKCAHIAMpAiA3AiAgByADKQIYNwIYIAcgAykCEDcCECAHIAMpAgg3AgggByADKQIANwIAIApBQGoiCkHAAEcNAAsgAiEHCyAFKQIAIRcgBSkCCCEYIAUpAhAhGSAFKQIYIRogBSkCICEbIAUpAighHCAFKQIwIR0gByAFKQI4NwI4IAcgHTcCMCAHIBw3AiggByAbNwIgIAcgGjcCGCAHIBk3AhAgByAYNwIIIAcgFzcCAAsgBkFAayEGIA8gAUEBaiIBRw0ACwsgD0EGdCIBIAJqIQ0gBCARSQRAIAAgAWohEiAEQQZ0IRBBwAAhAyANIQUDQCAEQQZ0IgYgDWoiASAGIBJqIgYpAjg3AjggASAGKQIwNwIwIAEgBikCKDcCKCABIAYpAiA3AiAgASAGKQIYNwIYIAEgBikCEDcCECABIAYpAgg3AgggASAGKQIANwIAIAhBOGogCygCACABENoHIAgoAjwhCiAIKAI4IQwgCEEwaiALKAIAIAFBQGoiCRDaByAIKAIwIQcCQAJAIAxBAXFFBEAgB0EBcQ0BDAILIAdBAUcNASAKIAgoAjRPDQELIAEgCSkCODcCOCABIAkpAjA3AjAgASAJKQIoNwIoIAEgCSkCIDcCICABIAkpAhg3AhggASAJKQIQNwIQIAEgCSkCCDcCCCABIAkpAgA3AgACQAJAIARBAUYNACADIQEgBSEKA0AgCEEoaiALKAIAIAYQ2gcgCCgCLCEVIAgoAighFCAIQSBqIAsoAgAgCiAQaiIHQYABayIMENoHIAdBQGohByAIKAIgIRMCQCAUQQFxRQRAIBNBAXFFDQQMAQsgE0EBRw0CIBUgCCgCJE8NAgsgCUFAaiEJIAcgDCkCODcCOCAHIAwpAjA3AjAgByAMKQIoNwIoIAcgDCkCIDcCICAHIAwpAhg3AhggByAMKQIQNwIQIAcgDCkCCDcCCCAHIAwpAgA3AgAgCkFAaiEKIBAgAUFAayIBRw0ACyANIQcMAQsgCSEHCyAGKQIAIRcgBikCCCEYIAYpAhAhGSAGKQIYIRogBikCICEbIAYpAighHCAGKQIwIR0gByAGKQI4NwI4IAcgHTcCMCAHIBw3AiggByAbNwIgIAcgGjcCGCAHIBk3AhAgByAYNwIIIAcgFzcCAAsgA0FAaiEDIAVBQGshBSARIARBAWoiBEcNAAsLIA1BQGohDCAOQQZ0QUBqIgEgAGohByABIAJqIQkDQCAIQRhqIAsoAgAgDRDaByAIKAIcIQEgCCgCGCAIQRBqIAsoAgAgAhDaByAIKAIQIQpBAUYEQCAKIAEgCCgCFElxIQoLIAAgDSACIApBAXEiAxsiASkCODcCOCAAIAEpAjA3AjAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgCEEIaiALKAIAIAkQ2gcgCCgCDCEBIAgoAgghBCAIIAsoAgAgDBDaByAKQX9zQQFxQQZ0IQUgCCgCACEKIABBQGshACADQQZ0IA1qIQ0gAiAFaiECIAcgDCAJIARBAUYEfyAKIAEgCCgCBElxBSAKC0EBcSIDGyIBKQI4NwI4IAcgASkCMDcCMCAHIAEpAig3AiggByABKQIgNwIgIAcgASkCGDcCGCAHIAEpAhA3AhAgByABKQIINwIIIAcgASkCADcCACAHQUBqIQcgDCADQQZ0IgFrIQwgASAJakFAaiEJIA9BAWsiDw0ACyAMQUBrIQMgDkEBcQR/IAAgAiANIAIgA0kiBBsiASkCODcCOCAAIAEpAjA3AjAgACABKQIoNwIoIAAgASkCIDcCICAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAEpAgA3AgAgDSACIANPQQZ0aiENIAIgBEEGdGoFIAILIANGIA0gCUFAa0ZxDQAQpBUACyAIQYACaiQAC5QlAgZ/An4jAEHQAGsiAiQAIABBBGohBAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4DAQIDAAtBASEDIAEoAgAiBUHA7sUAQQUgASgCBCIHKAIMIgYRAAANBgJAAkAgAS0ACkGAAXFFBEAgBUG0z8UAQQEgBhEAAA0JIAIgAEHIAGo2AgQgASgCAEHJ6sUAQQggASgCBCgCDBEAACEDIAIgATYCMCAAQThqIQVBASEAAkAgAw0AIAEtAApBgAFxRQRAIAEoAgBBl+PCAEEDIAEoAgQoAgwRAAANASABKAIAQaboxQBBBSABKAIEKAIMEQAADQEgASgCAEGmssgAQQIgASgCBCgCDBEAAA0BIAQgARDnEiEADAELIAEoAgBBmuPCAEEDIAEoAgQoAgwRAAANACACQQE6ACggAkGg68IANgJEIAIgASkCADcCFCACIAEpAgg3AkggAiACQShqNgIcIAIgAkEUaiIDNgJAIANBpujFAEEFEP0IDQAgA0GmssgAQQIQ/QgNACAEIAJBQGsQ5xIEQAwBCyACKAJAQaSyyABBAiACKAJEKAIMEQAAIQALIAIgADoANCACQQE6ADUgAkEwakGr6MUAQQogBUGBAhCJDkHR6sUAQQcgAkEEakHMARCJDiEDIAItADQhAAJAIAItADUiBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQIgACgCAEHt6sIAQQIgACgCBCgCDBEAAEUNA0EBIQMMCgtBASEDIAQNCSAAQQFxRQ0CDAkLIAVBnePCAEECIAYRAAANCCACQQE6ABMgAiAHNgIIIAIgBTYCBCACQaDrwgA2AhggAiABKQIIIgg3AhwgAiACQRNqNgIMIAIgAkEEaiIDNgIUIAIgAEHIAGo2AiQgAEE4aiEFIANByerFAEEIEP0IIQYgAiACQRRqIgc2AihBASEAAkAgBg0AIAhCgICABINQBEAgA0GX48IAQQMQ/QgNASACKAIUQaboxQBBBSACKAIYKAIMEQAADQEgAigCFEGmssgAQQIgAigCGCgCDBEAAA0BIAQgBxDnEiEADAELIAJBBGpBmuPCAEEDEP0IDQAgAikCHCEIIAIpAhQhCSACQQE6AD8gAiAJNwIwIAIgCDcCSCACQaDrwgA2AkQgAiACQT9qNgI4IAIgAkEwaiIDNgJAIANBpujFAEEFEP0IDQAgA0GmssgAQQIQ/QgNACAEIAJBQGsQ5xIEQAwBCyACKAJAQaSyyABBAiACKAJEKAIMEQAAIQALIAIgADoALCACQQE6AC0gAkEoakGr6MUAQQogBUGBAhCJDkHR6sUAQQcgAkEkakHMARCJDiEDIAItACwhAAJAAkACQCACLQAtIgRBAUcNACAAQQFxDQAgAygCACIALQAKQYABcQ0BIAAoAgBB7erCAEECIAAoAgQoAgwRAAANCgwCCyAEDQkgAEEBcUUNAQwJCyAAKAIAQaGyyABBASAAKAIEKAIMEQAADQgLIAIoAhRBpLLIAEECIAIoAhgoAgwRAABFDQFBASEDDAgLQQEhAyAAKAIAQaGyyABBASAAKAIEKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIFQcXuxQBBBCABKAIEIgcoAgwiBhEAAA0FAkACQCABLQAKQYABcUUEQCAFQbTPxQBBASAGEQAADQggAiAAQcgAajYCBCABKAIAQcnqxQBBCCABKAIEKAIMEQAAIQMgAiABNgIwIABBOGohBUEBIQACQCADDQAgAS0ACkGAAXFFBEAgASgCAEGX48IAQQMgASgCBCgCDBEAAA0BIAEoAgBBpujFAEEFIAEoAgQoAgwRAAANASABKAIAQaayyABBAiABKAIEKAIMEQAADQEgBCABEOcSIQAMAQsgASgCAEGa48IAQQMgASgCBCgCDBEAAA0AIAJBAToAKCACQaDrwgA2AkQgAiABKQIANwIUIAIgASkCCDcCSCACIAJBKGo2AhwgAiACQRRqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgA0IAJBAToANSACQTBqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQQRqQcwBEIkOIQMgAi0ANCEAAkAgAi0ANSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENAiAAKAIAQe3qwgBBAiAAKAIEKAIMEQAARQ0DQQEhAwwJC0EBIQMgBA0IIABBAXFFDQIMCAsgBUGd48IAQQIgBhEAAA0HIAJBAToAEyACIAc2AgggAiAFNgIEIAJBoOvCADYCGCACIAEpAggiCDcCHCACIAJBE2o2AgwgAiACQQRqIgM2AhQgAiAAQcgAajYCJCAAQThqIQUgA0HJ6sUAQQgQ/QghBiACIAJBFGoiBzYCKEEBIQACQCAGDQAgCEKAgIAEg1AEQCADQZfjwgBBAxD9CA0BIAIoAhRBpujFAEEFIAIoAhgoAgwRAAANASACKAIUQaayyABBAiACKAIYKAIMEQAADQEgBCAHEOcSIQAMAQsgAkEEakGa48IAQQMQ/QgNACACKQIcIQggAikCFCEJIAJBAToAPyACIAk3AjAgAiAINwJIIAJBoOvCADYCRCACIAJBP2o2AjggAiACQTBqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgAsIAJBAToALSACQShqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQSRqQcwBEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0IDAILIAQNByAAQQFxRQ0BDAcLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBgsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQMMBwtBASEDIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAULQQEhAyABKAIAIgVBye7FAEEFIAEoAgQiBygCDCIGEQAADQQCQAJAIAEtAApBgAFxRQRAIAVBtM/FAEEBIAYRAAANByACIABByABqNgIEIAEoAgBByerFAEEIIAEoAgQoAgwRAAAhAyACIAE2AjAgAEE4aiEFQQEhAAJAIAMNACABLQAKQYABcUUEQCABKAIAQZfjwgBBAyABKAIEKAIMEQAADQEgASgCAEGm6MUAQQUgASgCBCgCDBEAAA0BIAEoAgBBprLIAEECIAEoAgQoAgwRAAANASAEIAEQ5xIhAAwBCyABKAIAQZrjwgBBAyABKAIEKAIMEQAADQAgAkEBOgAoIAJBoOvCADYCRCACIAEpAgA3AhQgAiABKQIINwJIIAIgAkEoajYCHCACIAJBFGoiAzYCQCADQaboxQBBBRD9CA0AIANBprLIAEECEP0IDQAgBCACQUBrEOcSBEAMAQsgAigCQEGkssgAQQIgAigCRCgCDBEAACEACyACIAA6ADQgAkEBOgA1IAJBMGpBq+jFAEEKIAVBgQIQiQ5B0erFAEEHIAJBBGpBzAEQiQ4hAyACLQA0IQACQCACLQA1IgRBAUcNACAAQQFxDQAgAygCACIALQAKQYABcQ0CIAAoAgBB7erCAEECIAAoAgQoAgwRAABFDQNBASEDDAgLQQEhAyAEDQcgAEEBcUUNAgwHCyAFQZ3jwgBBAiAGEQAADQYgAkEBOgATIAIgBzYCCCACIAU2AgQgAkGg68IANgIYIAIgASkCCCIINwIcIAIgAkETajYCDCACIAJBBGoiAzYCFCACIABByABqNgIkIABBOGohBSADQcnqxQBBCBD9CCEGIAIgAkEUaiIHNgIoQQEhAAJAIAYNACAIQoCAgASDUARAIANBl+PCAEEDEP0IDQEgAigCFEGm6MUAQQUgAigCGCgCDBEAAA0BIAIoAhRBprLIAEECIAIoAhgoAgwRAAANASAEIAcQ5xIhAAwBCyACQQRqQZrjwgBBAxD9CA0AIAIpAhwhCCACKQIUIQkgAkEBOgA/IAIgCTcCMCACIAg3AkggAkGg68IANgJEIAIgAkE/ajYCOCACIAJBMGoiAzYCQCADQaboxQBBBRD9CA0AIANBprLIAEECEP0IDQAgBCACQUBrEOcSBEAMAQsgAigCQEGkssgAQQIgAigCRCgCDBEAACEACyACIAA6ACwgAkEBOgAtIAJBKGpBq+jFAEEKIAVBgQIQiQ5B0erFAEEHIAJBJGpBzAEQiQ4hAyACLQAsIQACQAJAAkAgAi0ALSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENASAAKAIAQe3qwgBBAiAAKAIEKAIMEQAADQYMAgsgBA0FIABBAXFFDQEMBQsgACgCAEGhssgAQQEgACgCBCgCDBEAAA0ECyACKAIUQaSyyABBAiACKAIYKAIMEQAARQ0BQQEhAwwGC0EBIQMgACgCAEGhssgAQQEgACgCBCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAtBASEDIAEoAgAiBUHO7sUAQQQgASgCBCIHKAIMIgYRAAANAwJAAkACQCABLQAKQYABcUUEQCAFQbTPxQBBASAGEQAADQcgAiAAQcgAajYCBCABKAIAQcnqxQBBCCABKAIEKAIMEQAAIQMgAiABNgIwIABBOGohBUEBIQACQCADDQAgAS0ACkGAAXFFBEAgASgCAEGX48IAQQMgASgCBCgCDBEAAA0BIAEoAgBBpujFAEEFIAEoAgQoAgwRAAANASABKAIAQaayyABBAiABKAIEKAIMEQAADQEgBCABEOcSIQAMAQsgASgCAEGa48IAQQMgASgCBCgCDBEAAA0AIAJBAToAKCACQaDrwgA2AkQgAiABKQIANwIUIAIgASkCCDcCSCACIAJBKGo2AhwgAiACQRRqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgA0IAJBAToANSACQTBqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQQRqQcwBEIkOIQMgAi0ANCEAAkAgAi0ANSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENAiAAKAIAQe3qwgBBAiAAKAIEKAIMEQAARQ0DQQEhAwwIC0EBIQMgBA0HIABBAXFFDQIMBwsgBUGd48IAQQIgBhEAAA0GIAJBAToAEyACIAc2AgggAiAFNgIEIAJBoOvCADYCGCACIAEpAggiCDcCHCACIAJBE2o2AgwgAiACQQRqIgM2AhQgAiAAQcgAajYCJCAAQThqIQUgA0HJ6sUAQQgQ/QghBiACIAJBFGoiBzYCKEEBIQACQCAGDQAgCEKAgIAEg1AEQCADQZfjwgBBAxD9CA0BIAIoAhRBpujFAEEFIAIoAhgoAgwRAAANASACKAIUQaayyABBAiACKAIYKAIMEQAADQEgBCAHEOcSIQAMAQsgAkEEakGa48IAQQMQ/QgNACACKQIcIQggAikCFCEJIAJBAToAPyACIAk3AjAgAiAINwJIIAJBoOvCADYCRCACIAJBP2o2AjggAiACQTBqIgM2AkAgA0Gm6MUAQQUQ/QgNACADQaayyABBAhD9CA0AIAQgAkFAaxDnEgRADAELIAIoAkBBpLLIAEECIAIoAkQoAgwRAAAhAAsgAiAAOgAsIAJBAToALSACQShqQavoxQBBCiAFQYECEIkOQdHqxQBBByACQSRqQcwBEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0FDAILIAQNBCAAQQFxRQ0BDAQLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANAwsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQMMBgtBASEDIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAQLQQEhAwwDC0EBIQMMAgtBASEDDAELQQEhAwsgAkHQAGokACADC6COAQIwfwN+IwBB4AZrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAgAiBUGAgICAeHMOBgABAgYFBAMLIAQgAigCBCICQZAC/AoAACAAIAEgBBA7IAJBBGsoAgAiAEEDcSEBIABBeHFBlAJBmAIgARtJDRAgAUEARyAAQbgCT3ENESACELwFDA4LIAQgAigCBCInQbgC/AoAACAAIQkgASEMIwBBsAZrIgMkAAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/An8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHEJABIgAEQCAAQcTPxQAoAAA2AAMgAEHBz8UAKAAANgAAIANBBzYCiAUgAyAANgKEBSADQQc2AoAFIAEgA0GABWoiARD8DSAEQYQCaiEYAkACQAJAAkACQCAEKAKEAkF/RwRAIANBBGoiAiAYEOgCQQUQkAEiAEUNJiAAQczPxQAtAAA6AAQgAEHIz8UAKAAANgAAIANBBTYCiAUgAyAANgKEBSADQQU2AoAFIAwgARD8DSABIAwgAkEBEMcBIAMoAoAFQX5HDQELIARBgAFqISMCQAJAAkACQCAEKAKAAQ4KAQAAAAUAAAAAAgALIANBgAVqIgEgI0HgAPwKAABBARCQASIARQ0oIABBKDoAACADQQE2AqgDIAMgADYCpAMgA0EBNgKgAyAMIANBoANqIgAQ/A0gACAMIAEQyQEgAygCoAMiAEF+Rw0GQQEhB0EBEJABIgANBwwoCyADQThqIARBiAFqQcgA/AoAACAEKAKAAiEFQQIQkAEiAA0BDCcLIAQoAoACIQUgBCgChAEhDkECEJABIgANAwwmCyAAQaDQADsAACADQQI2AogFIAMgADYChAUgA0ECNgKABSAMIANBgAVqIgcQ/A0gBCgCgAIhASAEKAL8ASECIAMgBCgC+AEiDjYCiAIgAyACNgKAAiADIAIgAUGwAWwiDWoiDzYCjAIgAiEAIAFFDREgBUEBayEWIANBwANqIRIgA0GwA2ogA0GgA2oiAUH0AGohCyABQfAAaiEQIANBsAJqIRMgB0EEaiEXA0ACQAJAIABB8ABqKAIAIgFBfkcEQCALIABBrAFqKAIANgI4IAsgAEGkAWopAgA3AjAgCyAAQZwBaikCADcCKCALIABBlAFqKQIANwIgIAsgAEGMAWopAgA3AhggCyAAQYQBaikCADcCECALIABB/ABqKQIANwIIIAsgAEH0AGopAgA3AgAgFyAAQfAA/AoAACADQawCaiADQYAFakH0APwKAAAgA0GgA2ogE0HwAPwKAAAgAyABNgKQBCADKAKMBCEBIAMoAogEIQUgAygChAQiCEF/Rg0BIAUhBwwCCyAAQbABaiEADBQLIAFBAEgNFyABRQRAQQEhB0EAIQFBACEIDAELIAEQkAEiB0UNJyABBEAgByAFIAH8CgAACyABIQgLIABBsAFqIQAgCkEBaiEFIANBfzYC8AUgAyABNgLsBSADIAc2AugFIAMgCDYC5AUgA0F+NgLYBSADQf8BOgCkBiADQXw2ApAFIANBADoArAYgA0EAOwGqBiADQX42AoAFIANB0ARqIAwgA0GABWoiBxD6AiADKALQBEF+RgRAIAogFkkEQEEBEJABIgFFDSggAUEsOgAAIANBATYCiAUgAyABNgKEBSADQQE2AoAFIAwgBxD8DQsgEBDGDCADKAL4AyIBQQBKBEAgAygC/AMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNOSAKQQBHIAcgAUEnaktxDTogCBC8BQsCQCADKAKwAyIBQXxGDQAgAUF9Rg0AIBIQ/wIgAUEATA0AIAMoArQDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTkgCkEARyAHIAFBJ2pLcQ06IAgQvAULIAMoAqADIgFBAEoEQCADKAKkAyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ05IApBAEcgByABQSdqS3ENOiAIELwFCyAFIQogDUGwAWsiDQ0BDBQLCyAJIAMpAtAENwIAIAkgAykC2AQ3AgggCSADKQLgBDcCECAJIAMpAugENwIYIAkgAykC8AQ3AiAgCSADKQL4BDcCKCADIAU2ApACIAMgADYChAIgEBDGDCADKAL4AyIAQQBKBEAgAygC/AMgABDZEgsQ2xEgAygCoAMiAEEATA0PIAMoAqQDIAAQ2RIMDwsgCSADKQKoBTcCKCAJIAMpAqAFNwIgIAkgAykCmAU3AhggCSADKQKQBTcCECAJIAMpAogFNwIIIAkgAykCgAU3AgAgGBDGDCAEKAL8ASEBIAQoAoACIgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALC0EBIQUgBCgC+AEiAkUNDSABQQRrKAIAIgdBeHEhACAAIAJBsAFsIgJBBEEIIAdBA3EiBxtySQ01IAdBAEcgACACQSdqS3ENNiABELwFDA0LIAMgBCgCjAEiADYCiAEgAyAEKQKEATcDgAEgAEUNCyAEKAKAAkECEJABIgBFDSMgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCADQYAFaiIHEPwNIAQoAoACIQEgBCgC/AEhAiADIAQoAvgBIg42AogCIAMgAjYCgAIgAyACIAFBsAFsIg1qIg82AowCIAIhACABRQ0HQQFrIRYgA0HAA2ohEiADQbADaiADQaADaiIBQfQAaiELIAFB8ABqIRAgA0GwAmohEyAHQQRqIRcDQAJAAkAgAEHwAGooAgAiAUF+RwRAIAsgAEGsAWooAgA2AjggCyAAQaQBaikCADcCMCALIABBnAFqKQIANwIoIAsgAEGUAWopAgA3AiAgCyAAQYwBaikCADcCGCALIABBhAFqKQIANwIQIAsgAEH8AGopAgA3AgggCyAAQfQAaikCADcCACAXIABB8AD8CgAAIANBrAJqIANBgAVqQfQA/AoAACADQaADaiATQfAA/AoAACADIAE2ApAEIAMoAowEIQEgAygCiAQhBSADKAKEBCIIQX9GDQEgBSEHDAILIABBsAFqIQAMCgsgAUEASA0VIAFFBEBBASEHQQAhAUEAIQgMAQsgARCQASIHRQ0lIAEEQCAHIAUgAfwKAAALIAEhCAsgAEGwAWohACAKQQFqIQUgA0F/NgLwBSADIAE2AuwFIAMgBzYC6AUgAyAINgLkBSADQX42AtgFIANB/wE6AKQGIANBfDYCkAUgA0EAOgCsBiADQQA7AaoGIANBfjYCgAUgA0HQBGogDCADQYAFaiIHEPoCIAMoAtAEQX5GBEAgCiAWSQRAQQEQkAEiAUUNJiABQSw6AAAgA0EBNgKIBSADIAE2AoQFIANBATYCgAUgDCAHEPwNCyAQEMYMIAMoAvgDIgFBAEoEQCADKAL8AyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ03IApBAEcgByABQSdqS3ENOCAIELwFCwJAIAMoArADIgFBfEYNACABQX1GDQAgEhD/AiABQQBMDQAgAygCtAMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNNyAKQQBHIAcgAUEnaktxDTggCBC8BQsgAygCoAMiAUEASgRAIAMoAqQDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTcgCkEARyAHIAFBJ2pLcQ04IAgQvAULIAUhCiANQbABayINDQEMCgsLIAkgAykC0AQ3AgAgCSADKQLYBDcCCCAJIAMpAuAENwIQIAkgAykC6AQ3AhggCSADKQLwBDcCICAJIAMpAvgENwIoIAMgBTYCkAIgAyAANgKEAiAQEMYMIAMoAvgDIgBBAEoEQCADKAL8AyAAENkSCxDbESADKAKgAyIAQQBKBEAgAygCpAMgABDZEgsgA0GAAmoQlxEgA0GAAWoQwQ4MCQsgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCADQYAFaiIHEPwNIAQoAoACIQEgBCgC/AEhAiADIAQoAvgBIg82AogCIAMgAjYCgAIgAyACIAFBsAFsIg1qIhA2AowCIAIhACABRQ0DIAVBAWshEiADQcADaiEUIANBsANqIANBoANqIgFB9ABqIQsgAUHwAGohFiADQbACaiEXIAdBBGohGQNAAkACQCAAQfAAaigCACIBQX5HBEAgCyAAQawBaigCADYCOCALIABBpAFqKQIANwIwIAsgAEGcAWopAgA3AiggCyAAQZQBaikCADcCICALIABBjAFqKQIANwIYIAsgAEGEAWopAgA3AhAgCyAAQfwAaikCADcCCCALIABB9ABqKQIANwIAIBkgAEHwAPwKAAAgA0GsAmogA0GABWpB9AD8CgAAIANBoANqIBdB8AD8CgAAIAMgATYCkAQgAygCjAQhASADKAKIBCEFIAMoAoQEIghBf0YNASAFIQcMAgsgAEGwAWohAAwGCyABQQBIDRQgAUUEQEEBIQdBACEBQQAhCAwBCyABEJABIgdFDSQgAQRAIAcgBSAB/AoAAAsgASEICyAAQbABaiEAIApBAWohBSADQX82AvAFIAMgATYC7AUgAyAHNgLoBSADIAg2AuQFIANBfjYC2AUgA0H/AToApAYgA0F8NgKQBSADQQA6AKwGIANBADsBqgYgA0F+NgKABSADQdAEaiAMIANBgAVqIgcQ+gIgAygC0ARBfkYEQCAKIBJJBEBBARCQASIBRQ0lIAFBLDoAACADQQE2AogFIAMgATYChAUgA0EBNgKABSAMIAcQ/A0LIBYQxgwgAygC+AMiAUEASgRAIAMoAvwDIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgAWpJDTYgCkEARyAHIAFBJ2pLcQ03IAgQvAULAkAgAygCsAMiAUF8Rg0AIAFBfUYNACAUEP8CIAFBAEwNACADKAK0AyIIQQRrKAIAIgpBeHEhByAHQQRBCCAKQQNxIgobIAFqSQ02IApBAEcgByABQSdqS3ENNyAIELwFCyADKAKgAyIBQQBKBEAgAygCpAMiCEEEaygCACIKQXhxIQcgB0EEQQggCkEDcSIKGyABakkNNiAKQQBHIAcgAUEnaktxDTcgCBC8BQsgBSEKIA1BsAFrIg0NAQwGCwsgCSADKQLQBDcCACAJIAMpAtgENwIIIAkgAykC4AQ3AhAgCSADKQLoBDcCGCAJIAMpAvAENwIgIAkgAykC+AQ3AiggAyAFNgKQAiADIAA2AoQCIBYQxgwgAygC+AMiAEEASgRAIAMoAvwDIAAQ2RILENsRIAMoAqADIgBBAEoEQCADKAKkAyAAENkSCyADQYACahCXESAOENELDAULIAkgAygCzAM2AiwgCSADKQLEAzcCJCAJIAMpArwDNwIcIAkgAykCtAM3AhQgCSADKQKsAzcCDCAJIAMpAqQDNwIEIAkgADYCACAYEMYMIAQoAvwBIQcgBCgCgAIiAARAIAchAgNAIAIQwQogAkGwAWohAiAAQQFrIgANAAsLIAQoAvgBIgFFBEBBASEBQQEhDUEBIQUMHwsgB0EEaygCACICQXhxIQAgACABQbABbCIIQQRBCCACQQNxIgIbckkNMkEBIQEgAkUEQEEBIQ1BASEFDB4LQQEhDUEBIQUgACAIQSdqTQ0dDDMLIABBKToAACADQQE2AqgDIAMgADYCpAMgA0EBNgKgAyAMIANBoANqEPwNQQAMDwsMHwsgECAAa0GwAW4hASAAIBBGDQADQCAAEMEKIABBsAFqIQAgAUEBayIBDQALCwJAIA8EQCACQQRrKAIAIgFBeHEhACAAIA9BsAFsIgVBBEEIIAFBA3EiARtySQ0BIAFBAEcgACAFQSdqS3ENMSACELwFC0EBEJABIgAEQCAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIBEPwNQQgQkAEiAARAIABCoKyF4tSq0akgNwAAIANBCDYCiAUgAyAANgKEBSADQQg2AoAFIAwgARD8DSAOQQhqKAIAIQEgDigCBCEAIAMgDigCADYCqAMgAyAANgKgAyADIAAgAUEMbGoiBTYCrANBACEHAkAgAUUEQEEAIQEgACEFDAELIAFBAWsiCkH/////A3FBAWpBACEBA0ACQAJAAkAgACgCACINQX9HBEAgAEEMaiECIAMgAEEEaikCADcCsAIgAyANNgKsAiADQYAFaiAMIANBrAJqEL0FIAFBAWohACADKAKABUF+Rw0CIAEgCkkNAQwDCyAAQQxqIQUMBAtBAhCQASIBRQ0kIAFBrMAAOwAAIANBAjYCiAUgAyABNgKEBSADQQI2AoAFIAwgA0GABWoQ/A0MAQsgCSADKQKABTcCACAJIAMpAogFNwIIIAkgAykCkAU3AhAgCSADKQKYBTcCGCAJIAMpAqAFNwIgIAkgAykCqAU3AiggAyAANgKwAyADIAI2AqQDIANBoANqEJYLDAYLIAAhASAFIAIiAEcNAAshAQsgAyABNgKwAyADIAU2AqQDIANBoANqEJYLIA5BDBDZEkEBIR1BASEKQQEhCEEADA8LDB8LDB4LDC4LIA5BBGsoAgAiAUF4cSEAIABBEEEUIAFBA3EiARtJDS0gAUEARyAAQTRPcUUEQCAOELwFIBgQxgxBACEWQQEhBUEBIQ1BASEBQQEhCkEBIQgMGAsMLgsgDyAAa0GwAW4hASAAIA9GDQADQCAAEMEKIABBsAFqIQAgAUEBayIBDQALCyAOBEAgAkEEaygCACIBQXhxIQAgACAOQbABbCIFQQRBCCABQQNxIgEbckkNLCABQQBHIAAgBUEnaktxDS0gAhC8BQtBARCQASIARQ0aIABBKToAACADQQE2AogFIAMgADYChAUgA0EBNgKABSAMIANBgAVqIgAQ/A1BCBCQASIBRQ0aIAFCoKyF4tSq0akgNwAAIANBCDYCiAUgAyABNgKEBSADQQg2AoAFIAwgABD8DSAAIAwgA0GAAWoQvQUgAygCgAVBfkYNASAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCAAtBACEIQQEhCgwEC0EBIR1BASEKQQAhCEEADAYLQQ8QkAEiAEUNFyAAQdTPxQApAAA3AAcgAEHNz8UAKQAANwAAIANBDzYCiAUgAyAANgKEBSADQQ82AoAFIAwgA0GABWoQ/A0gA0GAAWoQwQ5BASEdQQEhCkEBDAULQQEhDUEBIQFBASEKQQEhCEEBIRYMEQsgA0GAAmoQlxEgA0HIAGoQ/wJBASEIQQAhCiADKAI4IgBBAEwNACADKAI8IgJBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgAGpJDSYgBUEARyABIABBJ2pLcQ0nIAIQvAULIBgQxgxBASEFQQEhDUEBIQFBASEWDA8LIA8gAGtBsAFuIQEgACAPRg0AA0AgABDBCiAAQbABaiEAIAFBAWsiAQ0ACwsgDgRAIAJBBGsoAgAiAUF4cSEAIAAgDkGwAWwiBUEEQQggAUEDcSIBG3JJDSQgAUEARyAAIAVBJ2pLcQ0lIAIQvAULQQEQkAEiAEUNEiAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIBEPwNQQgQkAEiAEUNEiAAQqCsheLUqtGpIDcAACADQQg2AogFIAMgADYChAUgA0EINgKABSAMIAEQ/A0gDCgCCCIAIAwoAgBGBEAgDBCoEgtBASEdIAwgAEEBajYCCCAMKAIEIABBMGxqIgBBATYCLCAAQcWyyAA2AiggAEKBgICAcDcCICAAQYiQyQA2AhwgAEKBgICAcDcCFCAAQcWyyAA2AhAgAEKBgICAcDcCCCAAQbTPxQA2AgQgAEF/NgIAIAwoAhQiACAMKAIMRgRAIAxBDGoQqRILIAwoAhAgAEHIAGxqIANBOGpByAD8CgAAIAwgAEEBajYCFEEAIQpBASEIQQALIQdBAQshFkEBIQECQAJAAkAgBCgCAEECag4CCgEACyADQYwBaiAEQfQA/AoAACAEKAJ8IQEgBCgCeCELIAQoAnQhEkEMEJABIgANAQwSC0EXEJABIgBFDREgAEHrz8UAKQAANwAPIABB5M/FACkAADcACCAAQdzPxQApAAA3AAAgA0EXNgKIBSADIAA2AoQFIANBFzYCgAUgDCADQYAFahD8DQwICyAAQfvPxQAoAAA2AAggAEHzz8UAKQAANwAAIANBDDYCiAUgAyAANgKEBSADQQw2AoAFIAwgA0GABWoiAhD8DUECEJABIgBFDRAgAEGg0AA7AAAgA0ECNgKIBSADIAA2AoQFIANBAjYCgAUgDCACEPwNIAFBsAFsIhMgC2ohFCALIQAgAUUNASABQQFrIQYgA0HAA2ohFyADQaADaiIAQfQAaiEQIABB8ABqIRkgA0GwAmohESACQQRqIRVBACEBQQAhDwNAAkACQCABIAtqIg5B8ABqKAIAIgBBfkcEQCAQIA5BrAFqKAIANgI4IBAgDkGkAWopAgA3AjAgECAOQZwBaikCADcCKCAQIA5BlAFqKQIANwIgIBAgDkGMAWopAgA3AhggECAOQYQBaikCADcCECAQIA5B/ABqKQIANwIIIBAgDkH0AGopAgA3AgAgFSAOQfAA/AoAACADQawCaiADQYAFakH0APwKAAAgA0GgA2ogEUHwAPwKAAAgAyAANgKQBCADKAKMBCEFIAMoAogEIQIgAygChAQiDUF/Rg0BIAIhAAwCCyAOQbABaiEADAQLIAVBAEgNAiAFRQRAQQAhDUEBIQBBACEFDAELIAUQkAEiAEUNEiAFBEAgACACIAX8CgAACyAFIQ0LIANBfzYC8AUgAyAFNgLsBSADIAA2AugFIAMgDTYC5AUgA0F+NgLYBSADQf8BOgCkBiADQXw2ApAFIANBADoArAYgA0EAOwGqBiADQX42AoAFIANB0ARqIAwgA0GABWoiAhD6AiADKALQBCIFQX5GBEAgBiAPSwRAQQEQkAEiAEUNEyAAQSw6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCACEPwNCyAZEMYMIAMoAvgDIgBBAEoEQCADKAL8AyIFQQRrKAIAIg1BeHEhAiACQQRBCCANQQNxIg0bIABqSQ0kIA1BAEcgAiAAQSdqS3ENJSAFELwFCwJAIAMoArADIgBBfEYNACAAQX1GDQAgFxD/AiAAQQBMDQAgAygCtAMiBUEEaygCACINQXhxIQIgAkEEQQggDUEDcSINGyAAakkNJCANQQBHIAIgAEEnaktxDSUgBRC8BQsgAygCoAMiAEEASgRAIAMoAqQDIgVBBGsoAgAiDUF4cSECIAJBBEEIIA1BA3EiDRsgAGpJDSQgDUEARyACIABBJ2pLcQ0lIAUQvAULIA9BAWohDyATIAFBsAFqIgFHDQEMBAsLIAMgAygC/AQ2AqgCIAMgAykC9AQ3A6ACIAMgAykC7AQ3A5gCIAMgAykC5AQ3A5ACIAMgAykC3AQ3A4gCIAMgAykC1AQ3A4ACIBkQxgwgAygC+AMiAEEASgRAIAMoAvwDIg1BBGsoAgAiDEF4cSECIAJBBEEIIAxBA3EiDBsgAGpJDSIgDEEARyACIABBJ2pLcQ0jIA0QvAULAkAgAygCsAMiAEF8Rg0AIABBfUYNACAXEP8CIABBAEwNACADKAK0AyAAENkSCyADKAKgAyIAQQBKBEAgAygCpAMiDUEEaygCACIMQXhxIQIgAkEEQQggDEEDcSIMGyAAakkNIiAMQQBHIAIgAEEnaktxDSMgDRC8BQsgFCAOQbABaiICRwRAIBMgAWtBsAFrQbABbiEAA0AgAhDBCiACQbABaiECIABBAWsiAA0ACwsgEgRAIAtBBGsoAgAiAUF4cSEAIAAgEkGwAWwiAkEEQQggAUEDcSIBG3JJDSIgAUEARyAAIAJBJ2pLcQ0jIAsQvAULIAkgBTYCACAJIAMpA4ACNwIEIAkgAykDiAI3AgwgCSADKQOQAjcCFCAJIAMpA5gCNwIcIAkgAykDoAI3AiQgCSADKAKoAjYCLAwDCxCeFQALIBQgAGtBsAFuIQEgACAURg0AA0AgABDBCiAAQbABaiEAIAFBAWsiAQ0ACwsgEgRAIAtBBGsoAgAiAUF4cSEAIAAgEkGwAWwiAkEEQQggAUEDcSIBG3JJDR8gAUEARyAAIAJBJ2pLcQ0gIAsQvAULQQEQkAEiAEUNDSAAQSk6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIAEPwNIAAgDEH/z8UAQQQQ1xIgAygCgAVBfkYNASAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCAAsgA0GMAWoQ1gcMAQsgA0GABWohFSADQYwBaiERIwBBkAZrIgYkAAJAAkACQAJAAkACQEEHEJABIgAEQCAAQZyCxgAoAAA2AAMgAEGZgsYAKAAANgAAIAZBBzYC6AQgBiAANgLkBCAGQQc2AuAEIAwgBkHgBGoiARD8DUEEEJABIgAEQCAAQdOK0YICNgAAIAZBBDYC6AQgBiAANgLkBCAGQQQ2AuAEIAwgARD8DSAGQdACaiAREOgCAkAgESgCTCIAQYzd6AVPDQAgESgCSCENAkACQCAAQbABbCIgRQRAQQghEAwBCyAgEJABIhBFDQEgAEUNAEEAIQEgACECA0AgASAgRg0BIAZB4ARqIgUgASANahCDAyABIBBqIAVBsAH8CgAAIAFBsAFqIQEgAkEBayICDQALCyAGQYAEaiARQdAAaiIkEOkMIBFBNGohJUF/IR8gESgCNCIoQX9HBEAgBkHgBGogJRDVCiAGIAYpAuQENwPYASAGIAYoAuwENgLgASAGKALgBCEfC0F+IQ8CQCARKAJoIhxBfkcEQEF/IQ8gESgCcCEBIBEoAmwhBQJAIBxBf0YEQCAFIQIMAQsgAUUEQEEBIQJBACEPDAELIAEQkAEiAkUNAiABBEAgAiAFIAH8CgAACyABIQ8LIAKtIAGtQiCGhCE0C0F/IQ4CQCARKAJcIh5Bf0cEQCARKAJkIg5BjN3oBU8NBAJAIA5BsAFsIgtFBEBBCCEFDAELIBEoAmAhEiALEJABIgVFDQIgDkUNAEEAIQEgDiECA0AgASALRg0BIAZB4ARqIhQgASASahCDAyABIAVqIBRBsAH8CgAAIAFBsAFqIQEgAkEBayICDQALCyAFrSAOrUIghoQhMwsgBiAGKAKAAzYCaCAGIAYpAvgCNwNgIAYgBikC8AI3A1ggBiAGKQLoAjcDUCAGIAYpAuACNwNIIAYgBikC2AI3A0AgBiAGKQLQAjcDOCAGIAA2AoQBIAYgEDYCgAEgBiAANgJ8IAYgBikCgAQ3A4gBIAYgBigCiAQ2ApABIAYgHzYCbCAGIA82AqABIAYgDjYClAEgBiAGKQPYATcDcCAGIAYoAuABNgJ4IAYgNDcCpAEgBiAzNwOYASAGKAKIASECIAYoAowBIQEgBigCkAEhEiAGQgA3AswBIAYgEkHgAGwiJiABaiIpNgLIASAGIAI2AsQBIAYgATYCvAEgBiAQICBqIhc2ArgBIAYgADYCtAEgBiAQNgKsASAzQiCIIjWnISEgBkHsAGohKiAzpyELIDSnISIgAEUEQEEAIQUMBwsgAEEBa0H/////AHFBAWohGSASIAAgACASSxtBAWshLiAGQYAEakEEciEvIAZBxANqIRogBkHcAWohMCAGQeAEaiICQQRqITEgAkH0AGohG0EAIQUCQANAAkACQAJAAkACQCAQICtqIgJB8ABqKAIAIixBfkcEQCAGQeAEaiACQfAA/AoAACAbIAJBrAFqKAIANgI4IBsgAkGkAWopAgA3AjAgGyACQZwBaikCADcCKCAbIAJBlAFqKQIANwIgIBsgAkGMAWopAgA3AhggGyACQYQBaikCADcCECAbIAJB/ABqKQIANwIIIBsgAkH0AGoiEykCADcCACAGICw2AtAFICZFDQIgASgCACIyQX9HDQEgAUHgAGohKSACQbABaiEBIAUhEgwPCyACQbABaiEQDA0LIAJBsAFqIS0gAUHgAGohFCAvIAFBBGpB3AD8CgAAIBogEygCODYCOCAaIBMpAjA3AjAgGiATKQIoNwIoIBogEykCIDcCICAaIBMpAhg3AhggGiATKQIQNwIQIBogEykCCDcCCCAaIBMpAgA3AgAgMSACQfAA/AoAACAGQdgBaiAGQeAEaiIBQfQA/AoAACAGQdACaiICIDBB8AD8CgAAIAYgMjYCgAQgBiAsNgLAAyABIAwgAhD6AiAFQQFqIRMgBigC4AQiAkF+Rg0BIAYgEzYC1AEgBiAUNgLAASAGIC02ArABIAYgBikC5AQ3AwggBiAGKQLsBDcDECAGIAYpAvQENwMYIAYgBikC/AQ3AyAgBiAGKQKEBTcDKCAGIAYoAowFNgIwIAZBgARqEK0BIAYoAtAEIgFBAEwNAiAGKALUBCIQQQRrKAIAIhJBeHEhBSAFQQRBCCASQQNxIhIbIAFqSQ0uIBJBAEcgBSABQSdqS3ENLyAQELwFDAILIAJBsAFqIQEMDAtBAxCQASIBRQ0bIAFBsoLGAC0AADoAAiABQbCCxgAvAAA7AAAgBkEDNgLoBCAGIAE2AuQEIAZBAzYC4AQgDCAGQeAEaiIBEPwNIAEgDCAGQYAEahDJASAGKALgBCICQX5GDQEgBiATNgLUASAGIBQ2AsABIAYgLTYCsAEgBiAGKQLkBDcDCCAGIAYpAuwENwMQIAYgBikC9AQ3AxggBiAGKQL8BDcDICAGIAYpAoQFNwMoIAYgBigCjAU2AjALIAZBrAFqEIELIAZBOGoQ4QIgH0F/RwRAICoQnQYLIA9BAEoEQCAiQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIA9qSQ0sIAVBAEcgASAPQSdqS3ENLSAiELwFCwJAIA5Bf0YNACA1QgBSBEAgCyEBA0AgARDBCiABQbABaiEBICFBAWsiIQ0ACwsgDkUNACALQQRrKAIAIgVBeHEhASABIA5BsAFsIg5BBEEIIAVBA3EiBRtySQ0sIAVBAEcgASAOQSdqS3ENLSALELwFCyAVIAI2AgAgFSAGKQMINwIEIBUgBikDEDcCDCAVIAYpAxg3AhQgFSAGKQMgNwIcIBUgBikDKDcCJCAVIAYoAjA2AiwgERDhAiANIQEDQCABEMEKIAFBsAFqIQEgAEEBayIADQALIBEoAkQiAQRAIA1BBGsoAgAiAkF4cSEAIAAgAUGwAWwiAUEEQQggAkEDcSICG3JJDSwgAkEARyAAIAFBJ2pLcQ0tIA0QvAULIBEoAlQhAiARKAJYIgEEQCACIQADQCAAEK0BIABB0ABqKAIAIgVBAEoEQCAAQdQAaigCACILQQRrKAIAIg5BeHEhDSANQQRBCCAOQQNxIg4bIAVqSQ0uIA5BAEcgDSAFQSdqS3ENLyALELwFCyAAQeAAaiEAIAFBAWsiAQ0ACwsgJCgCACIBBEAgAkEEaygCACIFQXhxIQAgACABQeAAbCIBQQRBCCAFQQNxIgUbckkNLCAFQQBHIAAgAUEnaktxDS0gAhC8BQsgKEF/Rg0MICUQnQYMDAsgBSAuSQRAQQIQkAEiAUUNAiABQazAADsAACAGQQI2AugEIAYgATYC5AQgBkECNgLgBCAMIAZB4ARqEPwNCyAmQeAAayEmIBQhASATIQUgK0GwAWoiKyAgRw0ACyAZIQUgFyEQDAcLDBcLQQgQpxQACwwVC0EIEKcUAAsQnhUACwwSCwwRCyAGIAU2AtQBIAYgATYCwAEgBiAQNgKwAQwBCyAGIBI2AtQBIAYgKTYCwAEgBiABNgKwASAGQeAEahDBCgsgBkGsAWoQgQsgBkE4ahDhAiAfQX9HBEAgKhCdBgsgD0EASgRAICJBBGsoAgAiAkF4cSEBIAFBBEEIIAJBA3EiAhsgD2pJDSAgAkEARyABIA9BJ2pLcQ0hICIQvAULAkAgDkF/Rg0AIDVCAFIEQCALIQEDQCABEMEKIAFBsAFqIQEgIUEBayIhDQALCyAORQ0AIAtBBGsoAgAiAkF4cSEBIAEgDkGwAWwiBUEEQQggAkEDcSICG3JJDSAgAkEARyABIAVBJ2pLcQ0hIAsQvAULIChBf0YNAUEHEJABIgFFDQ4gAUGBgsYAKAAANgADIAFB/oHGACgAADYAACAGQQc2AugEIAYgATYC5AQgBkEHNgLgBCAMIAZB4ARqIgEQ/A0gASAMICUQ+wEgBigC4ARBfkYNASAVIAYpAogFNwIoIBUgBikCgAU3AiAgFSAGKQL4BDcCGCAVIAYpAvAENwIQIBUgBikC6AQ3AgggFSAGKQLgBDcCACAREOECIAAEQCANIQEDQCABEMEKIAFBsAFqIQEgAEEBayIADQALCyARKAJEIgEEQCANQQRrKAIAIgJBeHEhACAAIAFBsAFsIgFBBEEIIAJBA3EiAhtySQ0gIAJBAEcgACABQSdqS3ENISANELwFCyARKAJUIQIgESgCWCIBBEAgAiEAA0AgABCtASAAQdAAaigCACIFQQBKBEAgAEHUAGooAgAiC0EEaygCACIOQXhxIQ0gDUEEQQggDkEDcSIOGyAFakkNIiAOQQBHIA0gBUEnaktxDSMgCxC8BQsgAEHgAGohACABQQFrIgENAAsLICQoAgAiAUUNACACQQRrKAIAIgVBeHEhACAAIAFB4ABsIgFBBEEIIAVBA3EiBRtySQ0fIAVBAEcgACABQSdqS3ENICACELwFCyAcQQBKBEAgESgCbCIBQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIBxqSQ0fIAJBAEcgACAcQSdqS3ENICABELwFCyAeQX9GDQEgESgCYCECIBEoAmQiAQRAIAIhAANAIAAQwQogAEGwAWohACABQQFrIgENAAsLIB5FDQEgAkEEaygCACIBQXhxIQAgACAeQbABbCIFQQRBCCABQQNxIgEbckkNHiABQQBHIAAgBUEnaktxDR8gAhC8BQwBCyAVQX42AgAgERDhAiAABEAgDSEBA0AgARDBCiABQbABaiEBIABBAWsiAA0ACwsgESgCRCIBBEAgDUEEaygCACICQXhxIQAgACABQbABbCIBQQRBCCACQQNxIgIbckkNHiACQQBHIAAgAUEnaktxDR8gDRC8BQsgESgCVCECIBEoAlgiAQRAIAIhAANAIAAQrQEgAEHQAGooAgAiBUEASgRAIABB1ABqKAIAIgtBBGsoAgAiDkF4cSENIA1BBEEIIA5BA3EiDhsgBWpJDSAgDkEARyANIAVBJ2pLcQ0hIAsQvAULIABB4ABqIQAgAUEBayIBDQALCyAkKAIAIgEEQCACQQRrKAIAIgVBeHEhACAAIAFB4ABsIgFBBEEIIAVBA3EiBRtySQ0eIAVBAEcgACABQSdqS3ENHyACELwFCyAcQQBKBEAgESgCbCIBQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIBxqSQ0eIAJBAEcgACAcQSdqS3ENHyABELwFCyAeQX9GDQAgESgCYCECIBEoAmQiAQRAIAIhAANAIAAQwQogAEGwAWohACABQQFrIgENAAsLIB5FDQAgAkEEaygCACIBQXhxIQAgACAeQbABbCIFQQRBCCABQQNxIgEbckkNHSABQQBHIAAgBUEnaktxDR4gAhC8BQsgBkGQBmokACADKAKABUF+Rg0BIAkgAykCqAU3AiggCSADKQKgBTcCICAJIAMpApgFNwIYIAkgAykCkAU3AhAgCSADKQKIBTcCCCAJIAMpAoAFNwIACyAYEMYMQQAhAUEBIQVBASENIAcNAgwDC0EAIQELIAMgBCgC9AE2AqgDIAMgBCkC7AE3A6ADIANBgAVqIAwgA0GgA2oQwwggAygCgAVBfkcEQCAJIAMpAqgFNwIoIAkgAykCoAU3AiAgCSADKQKYBTcCGCAJIAMpApAFNwIQIAkgAykCiAU3AgggCSADKQKABTcCACAYEMYMQQAhDUEBIQUgB0UNAgwBCwJAAkACQCAEKALgASICQX5HBEAgBCgC6AEhBSAEKALkASENQQEQkAEiAEUNDCAAQSA6AAAgA0EBNgKIBSADIAA2AoQFIANBATYCgAUgDCADQYAFaiIAEPwNIAMgBTYCqAMgAyANNgKkAyADIAI2AqADIAAgDCADQaADahCYDSADKAKABUF+Rw0BCyAJQX42AgAgGBDGDCAHDQEMAgsgCSADKQKoBTcCKCAJIAMpAqAFNwIgIAkgAykCmAU3AhggCSADKQKQBTcCECAJIAMpAogFNwIIIAkgAykCgAU3AgAgGBDGDEEAIQVBACENIAcNAgwDCyAEQfgBaiICKAIEIQEgAigCCCIABEAgASEHA0AgBxDBCiAHQbABaiEHIABBAWsiAA0ACwsgAigCACICBEAgAUEEaygCACIFQXhxIQAgACACQbABbCICQQRBCCAFQQNxIgUbckkNGyAFQQBHIAAgAkEnaktxDRwgARC8BQsLIB1FDQcgIygCACIAQQlNQQBBASAAdEGRBHEbRQRAICMQrQELIAQoAtABIgJBAEwNB0HUAQwGCyAEKAL8ASEHIAQoAoACIgAEQCAHIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAEKAL4ASICDQELIB1FDQMMAQsgB0EEaygCACILQXhxIQAgACACQbABbCICQQRBCCALQQNxIgsbckkNFiALQQBHIAAgAkEnaktxDRcgBxC8BSAdRQ0CCwJAAkACQAJAAkAgBCgCgAEOCgADAwMBAwMDAwIDCyAKRQ0DIARBmAFqEP8CIAQoAogBIgBBAEwNAyAEKAKMASIHQQRrKAIAIghBeHEhAiACQQRBCCAIQQNxIggbIABqSQ0ZIAhBAEcgAiAAQSdqS3ENGiAHELwFDAMLIAhFDQIgBCgCiAEhByAEKAKMASIABEAgByECA0AgAhCtASACQdAAaigCACIIQQBKBEAgAkHUAGooAgAiC0EEaygCACIJQXhxIQogCkEEQQggCUEDcSIJGyAIakkNGyAJQQBHIAogCEEnaktxDRwgCxC8BQsgAkHgAGohAiAAQQFrIgANAAsLIAQoAoQBIgJFDQIgB0EEaygCACIIQXhxIQAgACACQeAAbCICQQRBCCAIQQNxIggbckkNGCAIQQBHIAAgAkEnaktxDRkgBxC8BQwCCyAWRQ0BIAQoAoQBIgAQ0QsgAEEEaygCACIHQXhxIQIgAkEQQRQgB0EDcSIHG0kNFyAHQQBHIAJBNE9xDRggABC8BQwBCyAEQYABahCtAQsgBCgC0AEiAEEATA0BIAQoAtQBIgdBBGsoAgAiCEF4cSECIAJBBEEIIAhBA3EiCBsgAGpJDRUgCEUNACACIABBJ2pNDQAMFgsgBxC8BQsCQCABRQ0AIAQoAgBBfk8NACAEENYHIAQoAnghASAEKAJ8IgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAEKAJ0IgJFDQAgAUEEaygCACIHQXhxIQAgACACQbABbCICQQRBCCAHQQNxIgcbckkNFCAHQQBHIAAgAkEnaktxRQRAIAEQvAUMAQsMFQsCQCANRQ0AIAQoAuwBIgdBf0YNACAEKALwASEBIAQoAvQBIgAEQCABIQIDQCACEMEKIAJBsAFqIQIgAEEBayIADQALCyAHRQ0AIAFBBGsoAgAiAkF4cSEAIAAgB0GwAWwiB0EEQQggAkEDcSICG3JJDRQgAkEARyAAIAdBJ2pLcUUEQCABELwFDAELDBULIAUgBCgC4AEiAkEBa0F9SXFFDQFB5AELIARqKAIAIgFBBGsoAgAiBUF4cSEAIABBBEEIIAVBA3EiBRsgAmpJDRIgBUEARyAAIAJBJ2pLcQ0TIAEQvAULIANBsAZqJAAMAQtBARCnFAALICdBBGsoAgAiAEEDcSEBIABBeHFBvAJBwAIgARtJDQ8gAUEARyAAQeACT3ENECAnELwFDA0LIARBvAJqIgUgAigCBCISQfQA/AoAAEEHEJABIgIEQCACQZyCxgAoAAA2AAMgAkGZgsYAKAAANgAAIARBBzYCCCAEIAI2AgQgBEEHNgIAIAEgBBD8DSAEIAEgBUEBEJUBIAQoAgBBfkcNBUEFEJABIgIEQEEAIQUgAkGkgsYALQAAOgAEIAJBoILGACgAADYAACAEQQU2AgggBCACNgIEIARBBTYCACABIAQQ/A0gBCgCiAMhDSAEKAKUAyEHIAQoAoQDIQogBCgCgAMhCCAEKAKQAyECIAQoAowDIQsgBEIANwLQAyAEIAs2AsgDIAQgAjYCwAMgBCAINgK4AyAEIAo2ArADIAQgB0HgAGwiECACaiIWNgLMAyAEIA1BsAFsIhkgCmoiCDYCvAMgDUUEQCAKIQgMCQsgDUEBa0H/////AHFBAWohCSAHIA0gByANSRtBAWshAyAEQYAGakEEciEGIARBxAVqIQwgBEHgA2ohESAEQQRqIRUgBEH0AGohDgJAAkADQAJAAkACQCAKIBRqIgtB8ABqKAIAIhNBfkcEQCAEIAtB8AD8CgAAIA4gC0GsAWooAgA2AjggDiALQaQBaikCADcCMCAOIAtBnAFqKQIANwIoIA4gC0GUAWopAgA3AiAgDiALQYwBaikCADcCGCAOIAtBhAFqKQIANwIQIA4gC0H8AGopAgA3AgggDiALQfQAaiIPKQIANwIAIAQgEzYCcCAQRQ0CIAIoAgAiGEF/Rw0BIAJB4ABqIRYgC0GwAWohAiAFIQcMEAsgC0GwAWohCAwOCyALQbABaiEXIAJB4ABqIQ0gBiACQQRqQdwA/AoAACAMIA8oAjg2AjggDCAPKQIwNwIwIAwgDykCKDcCKCAMIA8pAiA3AiAgDCAPKQIYNwIYIAwgDykCEDcCECAMIA8pAgg3AgggDCAPKQIANwIAIBUgC0HwAPwKAAAgBEHcA2ogBEH0APwKAAAgBEHQBGoiAiARQfAA/AoAACAEIBg2AoAGIAQgEzYCwAUgBCABIAIQ+gIgBUEBaiELIAQoAgBBfkYNASAAIAQpAgA3AgAgACAEKQIINwIIIAAgBCkCEDcCECAAIAQpAhg3AhggACAEKQIgNwIgIAAgBCkCKDcCKCAEIAs2AtgDIAQgDTYCxAMgBCAXNgK0AyAEQYAGahDNASAEKALQBiIAQX5GDQMgAEF/Rg0DIABFDQMgBCgC1AYgABDZEgwDCyALQbABaiECDA0LQQMQkAEiAkUNEiACQbKCxgAtAAA6AAIgAkGwgsYALwAAOwAAIARBAzYCCCAEIAI2AgQgBEEDNgIAIAEgBBD8DSAEIAEgBEGABmoQyAEgBCgCAEF+RwRAIAAgBCkCADcCACAAIAQpAgg3AgggACAEKQIQNwIQIAAgBCkCGDcCGCAAIAQpAiA3AiAgACAEKQIoNwIoIAQgCzYC2AMgBCANNgLEAyAEIBc2ArQDDAILIAMgBUsEQEECEJABIgJFDQMgAkGswAA7AAAgBEECNgIIIAQgAjYCBCAEQQI2AgAgASAEEPwNCyAQQeAAayEQIA0hAiALIQUgGSAUQbABaiIURw0ACyAJIQUMCgsgBEGwA2oQ5QpBASEFDAgLDA8LDA4LDA0LIAIoAgQhB0EBIQoCQCACKAIIIgJFIggNACACEJABIgpFDQ0gCA0AIAogByAC/AoAAAsgBCACNgIIIAQgCjYCBCAEIAI2AgAgASAEEPwNIABBfjYCACAFQQBMDQsgB0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyAFakkNDSABQQBHIAAgBUEnaktxRQRAIAcQvAUMDAsMDgtB8oDGAEGFAUG0gcYAEL8TAAsgBCACKAIEIgIoAiA2AiAgBCACKQIYNwMYIAQgAikCEDcDECAEIAIpAgg3AwggBCACKQIANwMAIAAgASAEENMCIAJBBGsoAgAiAUF4cSEAIABBKEEsIAFBA3EiARtJDQsgAUEARyAAQcwAT3FFBEAgAhC8BQwKCwwMCyAEIAIoAgQiB0HcAPwKAAACQEEMEJABIgIEQCACQb3PxQAoAAA2AAggAkG1z8UAKQAANwAAIARBDDYC2AQgBCACNgLUBCAEQQw2AtAEIAEgBEHQBGoiAhD8DSACIAEgBEEBEMcBAkACQAJAAkAgBCgC0ARBfkYEQCAEKAI0QX9HBEBBBxCQASIFRQ0RIAVBgYLGACgAADYAAyAFQf6BxgAoAAA2AAAgBEEHNgLYBCAEIAU2AtQEIARBBzYC0AQgASACEPwNIAIgASAEQTRqEPsBIAQoAtAEQX5HDQILIARB0ARqIAEgBEHEAGoQwwggBCgC0ARBfkcEQCAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAwECwJAIAQoAlAiBUF+RwRAIAQoAlghCCAEKAJUIQpBARCQASICRQ0IIAJBIDoAACAEQQE2AtgEIAQgAjYC1AQgBEEBNgLQBCABIARB0ARqIgIQ/A0gBCAINgLkAyAEIAo2AuADIAQgBTYC3AMgAiABIARB3ANqEJgNIAQoAtAEQX5HDQELIABBfjYCAAwFCyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAwECyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCACAEKAI0QX9GDQEgBEE0ahCdBgwBCyAAIAQpAvgENwIoIAAgBCkC8AQ3AiAgACAEKQLoBDcCGCAAIAQpAuAENwIQIAAgBCkC2AQ3AgggACAEKQLQBDcCAAsgBCgCRCIFQX9GDQAgBCgCSCEAIAQoAkwiAgRAIAAhAQNAIAEQwQogAUGwAWohASACQQFrIgINAAsLIAVFDQAgAEEEaygCACICQXhxIQEgASAFQbABbCIFQQRBCCACQQNxIgIbckkNDiACQQBHIAEgBUEnaktxDQ8gABC8BQsgBCgCUCIAQX5GDQAgAEF/Rg0AIABFDQAgBCgCVCICQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIABqSQ0NIAVBAEcgASAAQSdqS3ENDiACELwFCyAHQQRrKAIAIgFBeHEhACAAQeAAQeQAIAFBA3EiARtJDQwgAUEARyAAQYQBT3ENDSAHELwFDAoLDAoLDAkLIAAgBCkCKDcCKCAAIAQpAiA3AiAgACAEKQIYNwIYIAAgBCkCEDcCECAAIAQpAgg3AgggACAEKQIANwIAIAQoAoQDIQAgBCgCiAMiAgRAIAAhAQNAIAEQsgogAUGwAWohASACQQFrIgINAAsLIAQoAoADIgIEQCAAQQRrKAIAIgVBeHEhASABIAJBsAFsIgJBBEEIIAVBA3EiBRtySQ0KIAVBAEcgASACQSdqS3ENCyAAELwFCyAEKAKQAyECIAQoApQDIgAEQCACIQEDQCABEM0BAkAgAUHQAGooAgAiBUF+Rg0AIAVBf0YNACAFRQ0AIAFB1ABqKAIAIghBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgBWpJDQwgCkEARyAHIAVBJ2pLcQ0NIAgQvAULIAFB4ABqIQEgAEEBayIADQALC0EBIQUgBCgCjAMiAUUNACACQQRrKAIAIgdBeHEhACAAIAFB4ABsIgFBBEEIIAdBA3EiBxtySQ0JIAdBAEcgACABQSdqS3FFBEAgAhC8BQwBCwwKC0EBIQJBASEBDAMLIAQgBTYC2AMgBCACNgLEAyAEIAg2ArQDDAELIAQgBzYC2AMgBCAWNgLEAyAEIAI2ArQDIAQQsgoLIARBsANqEOUKAkACQCAEKALwAkF/RiIFRQRAQQcQkAEiAkUNByACQYGCxgAoAAA2AAMgAkH+gcYAKAAANgAAIARBBzYCCCAEIAI2AgQgBEEHNgIAIAEgBBD8DSAEIAEgBEHwAmoQ9QEgBCgCAEF+Rw0BCyAEKAKYAyIIQX9GIgINASAEKAKgAyIKRQRAIARBmANqEK4RDAILIAQoApwDIQcgBCAINgIIIAQgBzYCBCAEIAc2AgAgBCAHIApBsAFsajYCDCAEQdwDaiELIwBBsAFrIgkkACAEKAIIIhBBsAFsIg1B4ABuIQ8gBCgCACEHAkACQAJAAkAgBCgCBCIIIAQoAgwiDEYEQCAHIQoMAQsgByEKA0AgCSAIQbAB/AoAAEGwARCQASIORQ0CIA4gCUGwAfwKAAAgCkHQAGpBfjYCACAKQQRqIA42AgAgCkEDNgIAIApB4ABqIQogDCAIQbABaiIIRw0ACwsgDCAIa0GwAW4hDiAIIAxHBEADQCAIELIKIAhBsAFqIQggDkEBayIODQALCyAHIQgCQCAQRQ0AIA9B4ABsIgwgDUYNACANQd8ATQRAIA1FBEBBCCEIDAILIAdBBGsoAgAiDEF4cSEIIAhBBEEIIAxBA3EiDBsgDXJJDQwgDEEARyAIIA1BJ2pLcQ0NIAcQvAVBCCEIDAELIAcgDUEIIAwQrQYiCEUNAgsgCyAINgIEIAsgDzYCACALIAogB2tB4ABuNgIIIAlBsAFqJAAMAgtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAsgBCABQaWCxgBBCxDXEgJAIAQoAgBBfkcEQCAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCACALEKMODAELIAQgASAEQdwDahC9BiAEKAIAQX5GDQIgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgALQQEhAUEAIQIMAgsgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgBBASEBQQEhAgwCCwJAIAQoAqQDIgdBfkYNACAEKAKsAyEKIAQoAqgDIQggBCABQfzUxQBBARDXEiAEKAIAQX5HBEAgACAEKQIoNwIoIAAgBCkCIDcCICAAIAQpAhg3AhggACAEKQIQNwIQIAAgBCkCCDcCCCAAIAQpAgA3AgBBACEBIAdBAEwNAiAIIAcQ2RIMAgsgBCAKNgLYBCAEIAg2AtQEIAQgBzYC0AQgBCABIARB0ARqEJgNIAQoAgBBfkYNACAAIAQpAig3AiggACAEKQIgNwIgIAAgBCkCGDcCGCAAIAQpAhA3AhAgACAEKQIINwIIIAAgBCkCADcCAEEAIQEMAQsgAEF+NgIADAILIAVFDQAgBCgC8AJBf0YNACAEQfACahD1BQsCQCABRQ0AIAQoAqQDIgBBfkYNACAAQX9GDQAgAEUNACAEKAKoAyIFQQRrKAIAIgdBeHEhASABQQRBCCAHQQNxIgcbIABqSQ0EIAdBAEcgASAAQSdqS3FFBEAgBRC8BQwBCwwFCyACIAQoApgDIgVBf0dxRQ0AIAQoApwDIQAgBCgCoAMiAgRAIAAhAQNAIAEQsgogAUGwAWohASACQQFrIgINAAsLIAVFDQAgAEEEaygCACICQXhxIQEgASAFQbABbCIFQQRBCCACQQNxIgIbckkNAyACQQBHIAEgBUEnaktxDQQgABC8BQsgEkEEaygCACIBQXhxIQAgAEH4AEH8ACABQQNxIgEbSQ0CIAFBAEcgAEGcAU9xDQMgEhC8BQsgBEHgBmokAA8LQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuqJQIRfwV+IwBB4ANrIgUkACAFIAI6AAcCQAJAAkAgASgCEEECaw4CAAECC0EBIRUMAQsgASkDGEI/iKchFQsgASACEOsKBH4gBUFAayABEK4DIAUgBSkDSDcDuAIgBSAFKQNQNwPAAiAFIAUpA1g3A8gCIAUgBSkDYDcD0AIgBSAFKQNoNwPYAiAFIAUpA3A3A+ACIAUgBSkDeDcD6AIgBS0AByECIAUpA0AFQgILIRkgBSAFKQPoAjcDcCAFIAUpA+ACNwNoIAUgBSkD2AI3A2AgBSAFKQPQAjcDWCAFIAUpA8gCNwNQIAUgBSkDwAI3A0ggBSAFKQO4AjcDQAJAAkACQAJAAkACQAJAAkACQCABIAJBAXEiBhD2BwR/IAEoAogBIQ4gAUF/NgKIASAOQX9GDQQgASkCjAEhFyAFIA42AsgBIAUgFzcCzAEgF0IgiCIWpyEIIBenIQoCQCAGBEAgBUG4AmogCiAKIAhByAFsahCiDgwBCwJAIBZQBEBBACEIQQQhDAwBCyAIQQxsEJABIgxFDQUgCiEHIAwhASAIIRIDQCAFQbgCaiAHELwIIAUoAsACIQIgBSgCvAIhBgJAIAUoArgCIglBf0cEQCAGIQ0MAQsgAkEASA0GIAJFBEBBASENQQAhAkEAIQkMAQsgAhCQASINRQ0FIAIEQCANIAYgAvwKAAALIAIhCQsgASAJNgIAIAFBCGogAjYCACABQQRqIA02AgAgB0HIAWohByABQQxqIQEgEkEBayISDQALCyAFIAg2AsACIAUgDDYCvAIgBSAINgK4AgsgBUHIAWoQ6AQgDgRAIApBBGsoAgAiAUF4cSEGIAYgDkHIAWwiAkEEQQggAUEDcSIBG2pJDQkgAUEARyAGIAJBJ2pLcQ0IIAoQvAULIAUpArwCIRogBS0AByECIAUoArgCBUF/CyESIAUgBSkDcDcDOCAFIAUpA2g3AzAgBSAFKQNgNwMoIAUgBSkDWDcDICAFIAUpA1A3AxggBSAFKQNINwMQIAUgBSkDQDcDCCACQf8BcQ0EIAUgAyAEQcACbCIBajYC2AMgBSAFQQdqNgLcAyAERQ0EIAVB3ANqIQQDQAJAIAUgA0HAAmoiAjYC1AMgAykDAEIEUQRAIAVBQGsgBCADQQhqEIoOIAUpA1AiFkJ/Ug0BCyACIQMgAUHAAmsiAQ0BDAYLCyAFIAUpA0g3A9ABIAUgBSkDQDcDyAEgBUG4AmoiASAFQdgAakHgAPwKAABB4AMQkAEiBgRAIAYgBSkD0AE3AwggBiAFKQPIATcDACAGIBY3AxAgBkEYaiABQeAA/AoAACAFQQE2ArACIAUgBjYCrAJBBCEBIAVBBDYCqAIgBSAFKQLUAyIWNwOwAyAFIAUoAtwDNgK4AwJAIAUoArQDIgIgFqciA0YEQEEBIQMMAQsgBUG4A2ohCCAFQdgAaiEEQQEhBwJ/A0AgA0HAAmohAQJAIAMpAwBCBFEEQCAFQUBrIAggA0EIahCKDiAFKQNQIhZCf1INAQsgASIDIAJHDQFBASEDIAUoAqwCIQYgBSgCqAIiASAHQQFHDQIaDAMLIAUgATYCsAMgBSAFKQNINwPQASAFIAUpA0A3A8gBIAVBuAJqIARB4AD8CgAAIAUoAqgCIAdGBEAgBUGoAmogB0EBQQhB+AAQsxEgBSgCrAIhBgsgBiAHQfgAbGoiASAFKQPQATcDCCABIAUpA8gBNwMAIAEgFjcDECABQRhqIAVBuAJqQeAA/AoAACAFIAdBAWoiBzYCsAIgBSgCtAMiAiAFKAKwAyIDRw0ACyAFKAKsAiEGIAUoAqgCCyEBAkAgB0EVTwRAAkACQAJAIAcgB0EBdmsiA0GSosQISQRAQTBB6ogEIAcgB0HqiARPGyICIAMgAiADSxsiAiACQTBNGyICQfgAbCIEEJABIghFDQEgBiAHIAggAiAHQcEASRCWAiAIQQRrKAIAIgJBeHEhAyADQQRBCCACQQNxIgIbIARqSQ0CIAJBAEcgAyAEQSdqS3ENAyAIELwFDAULEJ4VAAtBCBCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EAIQQjAEHwAGsiDyQAIAZB+ABqIQMgBiAHQfgAbGohCSAGIQIDQCACQfwAaigCACINIAJBBGooAgAgAkGAAWooAgAiCyACQQhqKAIAIgwgCyAMSRsQjxMiCCALIAxrIAgbQQBIBEAgAigCeCEMIA9BBGogAkGEAWpB7AD8CgAAIAQhAgJ/AkADQCACIAZqIghB+ABqIg4gCEH4APwKAAAgAkUNASACQfgAayECIA0gCEH0AGsoAgAgCyAIQfAAaygCACIKIAogC0sbEI8TIgggCyAKayAIG0EASA0ACyACIAZqQfgAagwBCyAGCyAMNgIAIA5B8ABrIAs2AgAgDkH0AGsgDTYCACAOQewAayAPQQRqQewA/AoAAAsgBEH4AGohBCAJIAMiAkH4AGoiA0cNAAsgD0HwAGokAAsgByEDC0GIChCQASIIBEAgCEEAOwGCCiAIQQA2AvgIIAUgBiADQfgAbGoiDTYCxAEgBSABNgLAASAFIAY2ArwBIAUgBjYCuAEgBUJ+NwNQIAVB6AJqIQ4gBUHQAmohESAFQdgAaiEKQn4hFkEAIQwgCCEJA0ACQAJAAkACQAJAAn8gFkJ+UgRAIAUgBSkDSDcDuAMgBSAFKQNANwOwAyAGIQMgFiEYIAoMAQsgBiANRg0BIAUgBkH4AGoiAzYCvAEgBSAGKQMANwOwAyAFIAYpAwg3A7gDIAYpAxAhGCAGQRhqCyEBIBhCf1INASADIQYLIAVCfjcDUCANIAZrQfgAbiEDIAYgDUcEQANAIAYoAgAiBwRAIAZBBGooAgAiAkEEaygCACIBQXhxIQQgBEEEQQggAUEDcSIBGyAHakkNESABQQBHIAQgB0EnaktxDRAgAhC8BQsgBkEQahCFCCAGQfgAaiEGIANBAWsiAw0ACwsgBSgCwAEiAgRAIAUoArgBIgNBBGsoAgAiAUF4cSEEIAQgAkH4AGwiAkEEQQggAUEDcSIBG2pJDQ8gAUEARyAEIAJBJ2pLcQ0OIAMQvAULIAwNAUEAIQwMDAsgBSAFKQO4AzcDwAIgBSAFKQOwAzcDuAIgESABQeAA/AoAACAFIBg3A8gCIAMgDUYEQEJ/IRcMAwsgBSADQfgAaiIGNgK8ASADKQMIIRYgBSADKQMANwNAIAUgFjcDSCADKQMQIRYgCiADQRhqQeAA/AoAAEJ/IRcgFkJ/UQRAIAYhAwwDCyAFKALAAiIBIAUoAkhHDQEgBSgCvAIiBCAFKAJEIAEQjxMNASAFKAK4AiIDBEAgBEEEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyADakkNDiABQQBHIAIgA0EnaktxDQ0gBBC8BQsCQCAYQgJRDQAgBSgC6AJFDQAgDhCgDAsCQCAFKAKIAyIQQX9GDQAgBSgCjAMhAiAFKAKQAyIBBEAgAiEDA0AgAygCACILBEAgA0EEaigCACIHQQRrKAIAIgRBeHEhDyAPQQRBCCAEQQNxIgQbIAtqSQ0RIARBAEcgDyALQSdqS3ENECAHELwFCyADQQxqIQMgAUEBayIBDQALCyAQRQ0AIAJBBGsoAgAiAUF4cSEEIAQgEEEMbCIDQQRBCCABQQNxIgEbakkNDiABQQBHIAQgA0EnaktxDQ0gAhC8BQsgBQJ/IAUoAqADIgJFBEBBACEDQQAMAQsgBSAFKAKkAyIBNgLMAyAFIAI2AsgDIAVBADYCxAMgBSABNgK8AyAFIAI2ArgDIAVBADYCtANBASEDIAUoAqgDCzYC0AMgBSADNgLAAyAFIAM2ArADIAVBsANqEJkFIAUoApQDIhBBf0YNAyAFKAKYAyECIAUoApwDIgEEQCACIQMDQCADKAIAIgsEQCADQQRqKAIAIgdBBGsoAgAiBEF4cSEPIA9BBEEIIARBA3EiBBsgC2pJDRAgBEEARyAPIAtBJ2pLcQ0PIAcQvAULIANBDGohAyABQQFrIgENAAsLIBBFDQMgAkEEaygCACIBQXhxIQQgBCAQQQxsIgNBBEEIIAFBA3EiARtqSQ0NIAFBAEcgBCADQSdqS3ENDCACELwFDAMLIAghASAMIQYDQAJAAkAgAS8BggoiAgRAIAEgAkEBayIOQQJ0aiIDKAKMCiICLwGCCiITQQVPDQJBBSATa0H//wNxIhEgAygCiAoiEC8BggoiBEsNASAQIAQgEWsiCTsBggogAkEFOwGCCiACQfwIaiELIBNBDGwiAwRAIAsgEUEMbGogCyAD/AoAAAsgE0HoAGwiAwRAIAIgEUHoAGxqIAIgA/wKAAALIBAgCUEMbGohDyAEIAlBAWoiB2siA0EMbCINBEAgCyAPQYgJaiAN/AoAAAsgECAJQegAbGohCiADQegAbCIJBEAgAiAKQegAaiAJ/AoAAAsgBUG4AmoiBCAKQegA/AoAACAFIAEgDkEMbGoiCigChAk2AtABIAUgCikC/Ag3A8gBIA9BhAlqKAIAIQMgCiAPQfwIaikCADcC/AggCiADNgKECSAFQUBrIgMgASAOQegAbGoiAUHoAPwKAAAgASAEQegA/AoAACALIA1qIgEgBSgC0AE2AgggASAFKQPIATcCACACIAlqIANB6AD8CgAAIAZBAUYNDiARQQJ0IQQgAkGICmohAyATQQJ0QQRqIgEEQCADIARqIAMgAfwKAAALIAQEQCADIBAgB0ECdGpBiApqIAT8CgAACyACKAKICiIBQQA7AYAKIAEgAjYC+AggAigCjAoiAUEBOwGACiABIAI2AvgIIAIoApAKIgFBAjsBgAogASACNgL4CCACKAKUCiIBQQM7AYAKIAEgAjYC+AggAigCmAoiAUEEOwGACiABIAI2AvgIIAIoApwKIgFBBTsBgAogASACNgL4CAwCC0H888YAQRlBmPTGABCvFAALQaj0xgBBJ0HQ9MYAEK8UAAsgAiEBIAZBAWsiBg0ACwwKCyAGIQMgFiEXCyAFIBc3A1AgBSAFKQO4AjcDqAIgBSAFKQPAAjcDsAIgBUHIAWoiASARQeAA/AoAACAFQbgCaiABQeAA/AoAAAJAAkAgCS8BggoiAkELTwRAQQAhBwJAA0AgCSgC+AgiCUUEQEG4ChCQASIERQ0RIAQgCDYCiAogBEEAOwGCCiAEQQA2AvgIIAxBAWoiDEUNBCAIQQA7AYAKIAggBDYC+AggBCEJIAwhBwwCCyAHQQFqIQcgCS8BggpBCksNAAsgCCEEC0GIChCQASICRQ0OIAJBADsBggogAkEANgL4CCAHQQFrIgZFDQIDQEG4ChCQASIBRQ0PIAEgAjYCiAogAUEAOwGCCiABQQA2AvgIIAJBADsBgAogAiABNgL4CCABIQIgBkEBayIGDQALDAILIAkgAkEBajsBggogBSkDqAIhFiAJIAJBDGxqIgEgBSgCsAI2AoQJIAEgFjcC/AggCSACQegAbGoiASAYNwMAIAFBCGogBUG4AmpB4AD8CgAAIAUoArwBIQYgBSgCxAEhDSAFKQNQIRYgFEEBaiEUDAILQZDkyAAQnRUACwJAIAkvAYIKIghBC0kEQCAJIAhBAWoiBjsBggogCSAIQQxsaiIBIAUoArACNgKECSABIAUpA6gCNwL8CCAJIAhB6ABsaiIBIBg3AwAgAUEIaiAFQcgBakHgAPwKAAAgCSAGQQJ0aiACNgKICiACIAY7AYAKIAIgCTYC+AggB0UNAQJAIAdBA3EiAkUEQCAHIQEMAQsgByEBA0AgAUEBayEBIAkgCS8BggpBAnRqKAKICiEJIAJBAWsiAg0ACwsgB0EESQ0BA0AgCSAJLwGCCkECdGooAogKIgIvAYIKQQJ0IAJqKAKICiICLwGCCkECdCACaigCiAoiAi8BggpBAnQgAmooAogKIQkgAUEEayIBDQALDAELQcD2xgBBIEHg9sYAEK8UAAsgAyEGIBchFiAEIQggFEEBaiEUDAALAAsMCQtBCBCnFAALQQEQpxQACxCeFQALQQQQpxQAC0HA5MUAEJ0VAAtBACEICyAAIAUpAzg3AzggACAFKQMwNwMwIAAgBSkDKDcDKCAAIAUpAyA3AyAgACAFKQMYNwMYIAAgBSkDEDcDECAAIAUpAwg3AwggACAVOgBkIAAgGjcCRCAAIBI2AkAgACAZNwMAIAAgFDYCYCAAIAw2AlwgACAINgJYIABBfzYCTCAFQeADaiQADwtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQbjwyQBBAToAAAALgyIBF38jAEGQAmsiBSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIAQQFGBEAgAigCCCINIAIoAgQiDkGgAmooAgAiBk8NAiACKAIMIhAgDkGcAmooAgAgDUEkbGoiAkEgaigCACIGTw0DIAJBHGooAgAgEEHUAGxqIgIoAgBBgICAgHhHDQQgAigCDCIJQQBIDQggCUUEQEEBIQoMCAsgAigCCCECIAkQkAEiCg0BDBELIAIoAgQiCEEMaigCACEGIAIoAgwhDSACKAIIIQ8CQCAIQRBqKAIAIgkiBw4CBgUACyAJIQIDQAJ/IAYgAkEBdiIKIAtqIgxB5ABsaiIHQdQAaigCACIOIA9HBEAgDiAPSQwBCyAHQdgAaigCACANSQshByAMIAsgBxshCyACIAprIgJBAUsNAAsMBAsgCUUNBSAKIAIgCfwKAAAMBQsgDSAGQfS4xAAQhRMACyAQIAZB9LjEABCFEwALQfS4xAAQnRUACwJ/IAYgC0HkAGxqIgJB1ABqKAIAIgcgD0cEQCAHIA9JDAELIAJB2ABqKAIAIA1JCyALaiEHCyAHIAlGDQYgCUHkAGwiCiAGaiEOIAdB5ABsIQwgCSAHayEQQQAhAgJAA0AgBiAMaiILQdQAaigCACAPRw0IIAtB2ABqKAIAIA1HDQggAiAQRg0BAkAgC0HIAGotAABFBEAgC0HgAGotAABBAUcNAQsgBkHkAGohBiACQQFqIQIgDCAKQeQAayIKRw0BDAkLCyAIIAgoAgAiBkEBajYCACAGQQBIDQRB0AAQkAEiDARAIAwgCDYCECAMIAIgB2o2AgQgDEEANgIAIAVBATYCyAEgBSAMNgLEASAFQQQ2AsABQQEhEQJAAkAgDiALQeQAaiILRg0AIAhBEGohECAIQQxqIRIDQCACIAdqQeQAbCEUQQAhBiACQQFqIQIDQCAGIAtqIglB1ABqKAIAIA9HDQIgCUHYAGooAgAgDUcNAiACIAdqIgogECgCACITTw0DAkAgEigCACAUaiAGaiITQawBai0AAEUEQCATQcQBai0AAEEBRw0BCyACQQFqIQIgCyAGQeQAaiIGaiAORw0BDAMLCyAIIAgoAgAiBkEBajYCACAGQQBIDQggBSgCwAEgEUYEQCAFQcABaiARQQFBBEEUELMRIAUoAsQBIQwLIAwgEUEUbGoiBiAINgIQIAYgCjYCBCAGQQA2AgAgBSARQQFqIhE2AsgBIA4gCUHkAGoiC0cNAAsLIAUoAsQBIgdBJGohCCARQRRsIgJBFGshDyACIAdqIQ0gBSgCwAEhCiADKAIwIgxBCGohECAFQYQCaiERIAVB8ABqIQ4gByEGA0ACQCAGQRRqIQMCQAJAIAYoAgAiAkECRwRAIA4gBikCBDcCACAOIAYpAgw3AgggBSACNgJsIAVBKGogBUHsAGoQ8A4gBSgCLCECIAUoAighCSAMLQAUQQNHBEAgBSAQNgLAASAMQRRqIAVBwAFqEI8PCyAMKAIQIgZFDQIgBkHgAGwhCyAMKAIMIQYDQCACIAZBGGooAgBGBEAgBkEUaigCACAJIAIQjxNFDQMLIAZB4ABqIQYgC0HgAGsiCw0ACwwCCyADIA1GDQIgD0EUbiEGA0AgCCgCACICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAIKAIAEDALIAhBFGohCCAGQQFrIgYNAAsMAgsgBUEgaiAFQewAahDwDgJAAkACQCAFKAIkIglFBEBBASECDAELIAUoAiAhCyAJEJABIgJFDRMgCUUNACACIAsgCfwKAAALIAVBfzYCVCAFIAk2AjggBSACNgI0IAUgCTYCMCAFQX82AmAgBUIENwJMIAVCADcCRCAFQoCAgICAATcCPCARIAVB7ABqEPEKIAVBATYCgAIgBi0AHEEBRw0AIAVBwAFqIAVBMGogBUGAAmogBkEgaiAEEIwBIAUoAvABQX9HBEAgACAFKQP4ATcDOCAAIAUpA/ABNwMwIAAgBSkD6AE3AyggACAFKQPgATcDICAAIAUpA9gBNwMYIAAgBSkD0AE3AxAgACAFKQPIATcDCCAAIAUpA8ABNwMAIAUoAoQCIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIAUoAoQCEDALIAVBMGoQrgYgBSgCfCIBKAIAIQAgASAAQQFrNgIAIABBAUYEQCAFKAJ8EDALIAMgDUcEQCAPQRRuIQYDQCAIKAIAIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIAgoAgAQMAsgCEEUaiEIIAZBAWsiBg0ACwsgCkUNECAHQQRrKAIAIgFBeHEhACAAIApBFGwiAkEEQQggAUEDcSIBG2pJDREgAUEARyAAIAJBJ2pLcQ0CIAcQvAUMEAsgBSgChAIiBigCACECIAYgAkEBazYCACACQQFGBEAgBSgChAIQMAsgASAFQTBqELcKDAILQaSOxwAQnRUACwwPCyAFKAJ8IgYoAgAhAiAGIAJBAWs2AgAgAkEBRgRAIAUoAnwQMAsgCEEUaiEIIA9BFGshDyANIAMiBkcNAQsLIApFDQkgB0EEaygCACICQXhxIQEgASAKQRRsIgNBBEEIIAJBA3EiAhtqSQ0LIAJFDQggA0EnaiABTwRADAkLDAwLIAogE0Hk9sgAEIUTAAtBBBCnFAALIAkgCUHk9sgAEIUTAAsgBCgCBCEHIAQoAggiCwRAIAtBDGwhAiAHQQRqIQYDQCAJIAZBBGooAgBGBEAgBigCACAKIAkQjxNFDQQLIAZBDGohBiACQQxrIgINAAsLIAQoAgAgC0YEQCAEEJ8SIAQoAgQhBwsgByALQQxsaiICIAk2AgggAiAKNgIEIAIgCTYCACAEIAtBAWo2AgggDkGgAmoiFSgCACICIA1LBEAgDUEkbCIXIA5BnAJqIhYoAgBqIgJBIGooAgAiBiAQSwRAIBBB1ABsIhggAkEcaigCAGoiAigCAEGAgICAeEYEQCACKAIkIgZFDQYgAigCICISIAZB3ABsaiETIAMoAjAiCUEIaiEZIAVBhAJqIRogBUHwAGohFCAOQdAAaiEbQQAhAwNAIANB3ABsIQggFSgCACEGIAMhAgJAAkACQAJAAkACQAJAAkACQANAIAYgDU0NASAWKAIAIBdqIgNBIGooAgAiByAQTQ0CIANBHGooAgAgGGoiBygCAEGAgICAeEcNAyAHKAIkIgMgAk0NBCASQdwAaiESIAJBAWohAyAHKAIgIAhqKAIABEAgCEHcAGohCCADIQIgEiATRw0BDBILCyAOIA4oAgAiBkEBajYCACAGQQBIDQ8CQAJAIA4oAkwiDEUNACAbKAIAIREDQCAMQQxqIQ8gDEEEaiEGIAwvAaYIIgtBDGwhCEF/IQcCQANAIAhFBEAgCyEHDAILIAYoAgQiCiAQSSAKIBBLayAGKAIAIgogDUkgCiANS2sgCiANRhsiCkH/AXFFBEAgDygCACIKIAJJIAIgCklrIQoLIAZBDGohBiAIQQxrIQggD0EMaiEPIAdBAWohByAKQQFGDQALIApB/wFxRQ0DCyARRQ0BIBFBAWshESAMIAdBAnRqKAKoCCEMDAALAAtB1LnEAEEWQYS+xAAQwBMACyAMIAdB1ABsai0A0AEhDCAFIA42AoABIAUgAjYCfCAFIBA2AnggBSANNgJ0IAVBATYCcCAFQQFBAiAMGzYCbCAFQRhqIAVB7ABqEPIJIAUoAhwiC0EASA0NAkAgCwRAIAUoAhghAiALEJABIgpFBEBBARCnFAwSCyALBEAgCiACIAv8CgAACyAJLQAUQQNHBEAgBSAZNgLAASAJQRRqIAVBwAFqEI8PCyAJKAIQIgIEQCACQeAAbCEIIAkoAgwhBgNAIAsgBkEYaigCAEYEQCAGQRRqKAIAIAogCxCPE0UNBAsgBkHgAGohBiAIQeAAayIIDQALCyAKIAsQ2RIMCQtBASEKQQAhBiMAQRBrIgckACAJLQAUQQNHBEAgByAJQQhqNgIMIAlBFGogB0EMahCPDwsCQCAJKAIQIgJFDQAgAkHgAGwhCCAJKAIMIQIDQAJAIAJBGGooAgANACACQRRqKAIAQQFBABCPEw0AIAIhBgwCCyACQeAAaiECIAhB4ABrIggNAAsLIAdBEGokACAGRQ0ICyAFKAKAASECAkACQAJAIAwEQCAFQRBqIBQQ8A4gBSgCFCIGQQBIDREgBkUEQEEBIQ8MCgsgBSgCECEHIAYQkAEiDw0BDBoLIAVBCGogFBDwDiAFKAIMIghBAEgNECAIRQRAQQEhBwwDCyAFKAIIIQwgCBCQASIHDQEMGQsgBkUNByAPIAcgBvwKAAAMBwsgCEUNACAHIAwgCPwKAAALIAVBfzYCqAEgBSAINgKMASAFIAc2AogBIAUgCDYChAEgBUF/NgK0ASAFQgQ3AqABIAVCADcCmAEgBUKAgICAgAE3ApABIBogFBDxCiAFQQE2AoACIAYtABxBAUcNBCAFQcABaiAFQYQBaiAFQYACaiAGQSBqIAQQjAEgBSgC8AFBf0cEQCAAIAUpA/gBNwM4IAAgBSkD8AE3AzAgACAFKQPoATcDKCAAIAUpA+ABNwMgIAAgBSkD2AE3AxggACAFKQPQATcDECAAIAUpA8gBNwMIIAAgBSkDwAE3AwAgBSgChAIiASgCACEAIAEgAEEBazYCACAAQQFGBEAgBSgChAIQMAsgBUGEAWoQrgYgAiACKAIAIgBBAWs2AgAgAEEBRgRAIAIQMAsgC0UNFCAKIAsQ2RIMFAsgBSgChAIiBygCACEGIAcgBkEBazYCACAGQQFGBEAgBSgChAIQMAsgASAFQYQBahC3CiACIAIoAgAiBkEBazYCACAGQQFGBEAgAhAwCyALDQYMCAsgDSAGQZS+xAAQhRMACyAQIAdBlL7EABCFEwALQZS+xAAQnRUACyACIANBpL7EABCFEwALQbSOxwAQnRUACyAFQX82AuQBIAUgBjYCyAEgBSAPNgLEASAFIAY2AsABIAVBfzYC8AEgBUIENwLcASAFQgA3AtQBIAVCgICAgIABNwLMASABIAVBwAFqELcKIAIgAigCACIGQQFrNgIAIAZBAUYEQCACEDALIAtFDQILIAogCxDZEgwBCyAOIA4oAgAiAkEBazYCACACQQFHDQAgBSgCgAEQMAsgEiATRw0ACwwGC0H0uMQAEJ0VAAsgECAGQfS4xAAQhRMACyANIAJB9LjEABCFEwALEJ4VAAtBPRCQASIBBEAgAEGMgICAeDYCMCAAQT02AgggACABNgIEIABBPTYCACABQfmOxwApAAA3ADUgAUH0jscAKQAANwAwIAFB7I7HACkAADcAKCABQeSOxwApAAA3ACAgAUHcjscAKQAANwAYIAFB1I7HACkAADcAECABQcyOxwApAAA3AAggAUHEjscAKQAANwAAIAlFDQUgCkEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyAJakkNBiABQQBHIAAgCUEnaktxRQRAIAoQvAUMBgsMBwsMBwsACyAEKAIIIgFFDQEgBCABQQFrIgE2AgggBCgCBCABQQxsaiICKAIAIgFBAWtBfUsNASACKAIEIgdBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQMgA0UNACACIAFBJ2pNDQAMBAsgBxC8BQsgAEF/NgIwCyAFQZACaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQAC9ogARF/IwBB0AFrIggkAAJAAkACQCABQSFJBEAgASEKDAELIAJBFGshFAJAAkADQCAERQRAIAAgASACIANBARDOAQwFCyAAIAFBA3YiCkGMAWxqIQYgACAKQdAAbGohDCAEQQFrIQQgCAJ/IAFBwABPBEAgACAMIAYgChCoDQwBCyAIQbABaiAAEPAOIAgoArABIAgoArQBIQogCEGoAWogDBDwDiAIKAKoASAKIAgoAqwBIgcgByAKSxsQjxMhCSAIQaABaiAAEPAOIAgoAqABIQ4gCCgCpAEhDyAIQZgBaiAGEPAOIAAgCSAKIAdrIAkbIgcgDiAIKAKYASAPIAgoApwBIgogCiAPSxsQjxMiCSAPIAprIAkbc0EASA0AGiAIQZABaiAMEPAOIAgoApABIQ8gCCgClAEhCiAIQYgBaiAGEPAOIAYgDCAPIAgoAogBIAogCCgCjAEiBiAGIApLGxCPEyIMIAogBmsgDBsgB3NBAEgbCyILKAIQNgLIASAIIAspAgg3A8ABIAggCykCADcDuAEgCyAAa0EUbiEPAkAgBQRAIAhBgAFqIAUQ8A4gCCgCgAEgCCgChAEhBiAIQfgAaiALEPAOIAgoAnggBiAIKAJ8IgwgBiAMSRsQjxMiCiAGIAxrIAobQQBODQELIAEgA0sNA0EAIQogACEGIAFBFGwiFSACaiISIQ4gDyEMA0ACQCAAIAxBFGxqIhMgBk0NAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0ACQCAGQQRqKAIAIQcCQCAGKAIAQQFGBEAgBkEQaigCACINQaACaigCACIJIAdNDQIgBkEIaigCACIJIA1BnAJqKAIAIAdBJGxqIgdBIGooAgAiDU8NBCAHQRxqKAIAIAlB1ABsaiIHKAIAQYCAgIB4Rw0ZIAZBDGooAgAiCSAHKAIkIg1JDQEgCSANQaS+xAAQhRMACyAGQRBqKAIAIgkoAhAiDSAHTQ0HIAkoAgwgB0HkAGxqIg0oAlQiByAJKAKgAiIQTw0EIA0oAlgiECAJKAKcAiAHQSRsaiIHQSBqKAIAIglPDQUgB0EcaigCACAQQdQAbGoiBygCAEGCgICAeEcNBiANKAJcIgkgBygCJCINTw0ICyAHKAIgIAlB3ABsaiIHKAIgIRYgBygCJCEQIAsoAgQhBwJAIAsoAgBBAUYEQCALKAIQIg1BoAJqKAIAIgkgB00NCiALKAIIIgkgDUGcAmooAgAgB0EkbGoiB0EgaigCACINTw0LIAdBHGooAgAgCUHUAGxqIgkoAgBBgICAgHhHDRkgCygCDCINIAkoAiQiB0kNASANIAdBpL7EABCFEwALIAsoAhAiCSgCECINIAdNDQ4gCSgCDCAHQeQAbGoiBygCVCINIAkoAqACIhFPDQsgBygCWCIRIAkoApwCIA1BJGxqIglBIGooAgAiDU8NDCAJQRxqKAIAIBFB1ABsaiIJKAIAQYKAgIB4Rw0NIAcoAlwiDSAJKAIkIgdPDQ8LIAkoAiAgDUHcAGxqIgkoAiQhByAKQRRsIAIgDkEUayIOIBYgCSgCICAQIAcgByAQSxsQjxMiCSAQIAdrIAkbIglBAEgbaiIHIAYoAhA2AhAgByAGKQIINwIIIAcgBikCADcCACAJQR92IApqIQogBkEUaiIGIBNJDQEMDwsLIAcgCUGUvsQAEIUTAAsgCSANQZS+xAAQhRMACyAHIBBB1LjEABCFEwALIBAgCUHUuMQAEIUTAAtB1LjEABCdFQALIAcgDUHk9sgAEIUTAAsgCSANQeS4xAAQhRMACyAHIAlBlL7EABCFEwALIAkgDUGUvsQAEIUTAAsgDSARQdS4xAAQhRMACyARIA1B1LjEABCFEwALQdS4xAAQnRUACyAHIA1B5PbIABCFEwALIA0gB0HkuMQAEIUTAAsgASAMRwRAIA5BFGsiDiAKQRRsaiIMIAYoAhA2AhAgDCAGKQIINwIIIAwgBikCADcCACAGQRRqIQYgASEMDAELCyAKQRRsIg4EQCAAIAIgDvwKAAALIAEgCmshDQJAIAEgCkYNACAAIA5qIQxBACEJIApBAWogAUcEQCANQQFxIA1BfnEhEyAUIBVqIQcgDCEGA0AgBiAHKAIQNgIQIAYgBykCCDcCCCAGIAcpAgA3AgAgBkEUaiASIAlB/v///wNzQRRsaiIQKQIANwIAIAZBHGogECkCCDcCACAGQSRqIBBBEGooAgA2AgAgB0EoayEHIAZBKGohBiATIAlBAmoiCUcNAAtFDQELIAwgCUEUbGoiBiASIAlBf3NBFGxqIgwoAhA2AhAgBiAMKQIINwIIIAYgDCkCADcCAAsgCkUNACABIApJDQIgACAOaiANIAIgAyAEIAhBuAFqEI0BIAohASAKQSFJDQQMAQsgASADSw0CQQAhCSAAIQYgAUEUbCIQIAJqIgwhDgNAAkAgACAPQRRsaiISIAZNDQACQAJAAkACQAJAA0ACQCALKAIEIQUCfyALKAIAQQFGBEAgCygCECIHQaACaigCACIKIAVNDQIgCygCCCIKIAdBnAJqKAIAIAVBJGxqIgVBIGooAgAiB08NBCAFQRxqKAIAIApB1ABsaiIFKAIAQYCAgIB4Rw0QIAsoAgwiCiAFKAIkIgdPDQUgBSgCICAKQdwAbGoiBSgCJCEHIAUoAiAMAQsgCEHwAGogCygCEEEIaiAFENAQIAgoAnQhByAIKAJwCyENIAZBBGooAgAhBQJ/IAYoAgBBAUYEQCAGQRBqKAIAIhFBoAJqKAIAIgogBU0NBiAGQQhqKAIAIgogEUGcAmooAgAgBUEkbGoiBUEgaigCACIRTw0HIAVBHGooAgAgCkHUAGxqIgUoAgBBgICAgHhHDRAgBkEMaigCACIKIAUoAiQiEU8NCCAFKAIgIApB3ABsaiIFKAIkIQogBSgCIAwBCyAIQegAaiAGQRBqKAIAQQhqIAUQ0BAgCCgCbCEKIAgoAmgLIQUgCUEUbCACIA5BFGsiDiANIAUgByAKIAcgCkkbEI8TIgUgByAKayAFG0EATiIKG2oiBSAGKAIQNgIQIAUgBikCCDcCCCAFIAYpAgA3AgAgCSAKaiEJIAZBFGoiBiASSQ0BDAcLCyAFIApBlL7EABCFEwALIAogB0GUvsQAEIUTAAsgCiAHQaS+xAAQhRMACyAFIApBlL7EABCFEwALIAogEUGUvsQAEIUTAAsgCiARQaS+xAAQhRMACyABIA9HBEAgAiAJQRRsaiIFIAYoAhA2AhAgBSAGKQIINwIIIAUgBikCADcCACAGQRRqIQYgCUEBaiEJIA5BFGshDiABIQ8MAQsLIAlBFGwiBQRAIAAgAiAF/AoAAAsgASAJRg0EIAEgCWshCiAAIAVqIQBBACEHAkAgCUEBaiABRwRAIApBAXEgCkF+cSEOIBAgFGohCyAAIQYDQCAGIAsoAhA2AhAgBiALKQIINwIIIAYgCykCADcCACAGQRRqIAwgB0H+////A3NBFGxqIgUpAgA3AgAgBkEcaiAFKQIINwIAIAZBJGogBUEQaigCADYCACALQShrIQsgBkEoaiEGIA4gB0ECaiIHRw0AC0UNAQsgACAHQRRsaiIFIAwgB0F/c0EUbGoiBigCEDYCECAFIAYpAgg3AgggBSAGKQIANwIACyABIAlPBEBBACEFIAohASAKQSFJDQQMAQsLIAkgASABQeD1yAAQhw4AC0HEsMkAQRNB0PXIABC/EwsACyAKQQJJDQBBASEBIApBAXYiBEEUbCIDIAJqIQUgACADaiEPAkAgCkEITwRAIAAgAhDpCCAPIAUQ6QhBBCEBDAELIAIgACgCEDYCECACIAApAgg3AgggAiAAKQIANwIAIAUgDygCEDYCECAFIA8pAgg3AgggBSAPKQIANwIACyAKIARrIRAgASAESQRAIAFBFGwhDSABIQ4DQCAOQRRsIgMgAmoiBiAAIANqIgMoAhA2AhAgBiADKQIINwIIIAYgAykCADcCACAIQeAAaiAGEPAOIAgoAmAgCCgCZCEMIAhB2ABqIAZBFGsQ8A4gCCgCWCAMIAgoAlwiBiAGIAxLGxCPEyILIAwgBmsgCxtBAEgEQCAIIAMoAhA2AsgBIAggAykCCDcDwAEgCCADKQIANwO4ASANIQsCfwNAIAIgC2oiA0EUayEGIAMgBigCEDYCECADIAYpAgg3AgggAyAGKQIANwIAIAIgC0EURg0BGiAIQdAAaiAIQbgBahDwDiAIKAJQIAgoAlQhBiAIQcgAaiADQShrEPAOIAtBFGshCyAIKAJIIAYgCCgCTCIDIAMgBksbEI8TIgwgBiADayAMG0EASA0ACyACIAtqCyIGIAgoAsgBNgIQIAYgCCkDwAE3AgggBiAIKQO4ATcCAAsgDUEUaiENIAQgDkEBaiIORw0ACwsgASAQSQRAIAFBFGwhDkEUIQMgBSEMA0AgAUEUbCIGIAVqIgsgBiAPaiIGKAIQNgIQIAsgBikCCDcCCCALIAYpAgA3AgAgCEFAayALEPAOIAgoAkAgCCgCRCEHIAhBOGogC0EUaxDwDiAIKAI4IAcgCCgCPCILIAcgC0kbEI8TIgkgByALayAJG0EASARAIAggBigCEDYCyAEgCCAGKQIINwPAASAIIAYpAgA3A7gBIAMhCSAMIQcCfwNAIAcgDmoiBkEUayELIAYgCygCEDYCECAGIAspAgg3AgggBiALKQIANwIAIAUgCSAORg0BGiAIQTBqIAhBuAFqEPAOIAgoAjAgCCgCNCELIAhBKGogBkEoaxDwDiAJQRRqIQkgB0EUayEHIAgoAiggCyAIKAIsIgYgBiALSxsQjxMiDSALIAZrIA0bQQBIDQALIAcgDmoLIgYgCCgCyAE2AhAgBiAIKQPAATcCCCAGIAgpA7gBNwIACyADQRRrIQMgDEEUaiEMIBAgAUEBaiIBRw0ACwsgBUEUayELIApBFGxBFGsiASACaiEHIAAgAWohBgNAIAhBIGogBRDwDiAIKAIgIQMgCCgCJCEBIAhBGGogAhDwDiAAIAIgBSADIAgoAhggASAIKAIcIgMgASADSRsQjxMiDCABIANrIAwbIgxBAE4iDxsiASgCEDYCECAAIAEpAgg3AgggACABKQIANwIAIAhBEGogBxDwDiAIKAIQIQMgCCgCFCEBIAhBCGogCxDwDiAGIAcgCyADIAgoAgggASAIKAIMIgMgASADSRsQjxMiCSABIANrIAkbIgNBAE4bIgEoAhA2AhAgBiABKQIINwIIIAYgASkCADcCACACIA9BFGxqIQIgBSAMQR92QRRsaiEFIAsgA0EfdSIBQRRsaiELIAcgAUF/c0EUbGohByAGQRRrIQYgAEEUaiEAIARBAWsiBA0ACyALQRRqIQEgCkEBcQR/IAAgAiAFIAEgAksiBBsiAygCEDYCECAAIAMpAgg3AgggACADKQIANwIAIAUgASACTUEUbGohBSACIARBFGxqBSACCyABRiAFIAdBFGpGcQ0AEKQVAAsgCEHQAWokAA8LQZS+xAAQnRUAC9IjAwd/An4BfCMAQfABayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBDiAAKAIAIgNBDWsgA0EMTRtBAWsODgECAwQFBgcICQoLDA0OAAsgASgCACAAKAIIIAAoAgwQngcMFgsgASgCACEBIAAtAARFBEAgASgCACABKAIIIgBrQQRNBEAgASAAQQVBAUEBELMRIAEoAgghAAsgASgCBCAAaiIDQaqyyAAoAAA2AAAgA0GussgALQAAOgAEIAEgAEEFajYCCAwWCyABKAIAIAEoAggiAGtBA00EQCABIABBBEEBQQEQsxEgASgCCCEACyABKAIEIABqQfTk1asGNgAAIAEgAEEEajYCCAwVCyABKAIAIAAoAgggACgCDBCeBwwUCyABKAIAIAApAwgQ1AsMEwsgAkEAOgDcASACQgA3ANQBIABBBGogAkGwAWoQsQohACABKAIAIABBJBCeBwwSCyAAKAIMIQMgACgCCCEGIAEoAgAiACgCCCIFIAAoAgBGBEAgACAFQQFBAUEBELMRIAAoAgghBQsgACAFQQFqIgQ2AgggACgCBCAFakHbADoAACADBEAgBiABEI4BIANBAUcEQCAGQSBqIQUgA0EFdEEgayEEA0AgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAUgARCOASAFQSBqIQUgBEEgayIEDQALCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQd0AOgAADBILIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakHdADoAAAwRCyABKAIAIAAoAgggACgCDBCeBwwQCyAAKAIMIQYgACgCCCEFIAEoAgAiACgCCCIDIAAoAgBGBEAgACADQQFBAUEBELMRIAAoAgghAwsgACADQQFqIgQ2AgggACgCBCADakH7ADoAACAGRQRAIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakH9ADoAAAwQCyAGQTBsIAEoAgAgBUEEaigCACAFQQhqKAIAEJ4HIAEoAgAiAygCCCIEIAMoAgBGBEAgAyAEQQFBAUEBELMRIAMoAgghBAsgBWohBiAFQRBqIQAgAyAEQQFqNgIIIAMoAgQgBGpBOjoAAANAIAAgARCOASAAQSBqIgQgBkZFBEAgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAEoAgAgBEEEaigCACAEQQhqKAIAEJ4HIAEoAgAiACgCCCIDIAAoAgBGBEAgACADQQFBAUEBELMRIAAoAgghAwsgACADQQFqNgIIIAAoAgQgA2pBOjoAACAEQRBqIQAMAQsLIAEoAgAiASgCCCIAIAEoAgBGBEAgASAAQQFBAUEBELMRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB/QA6AAAMDwsgASgCACIBKAIIIQAgASgCACAAa0EDTQRAIAEgAEEEQQFBARCzESABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQe7qseMGNgAADA4LIAEoAgAgAkGwAWogAEEEahCtAiACKAK0ASIAIAIoArgBEJ4HIAIoArABIgFFDQ0gAEEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNDyAEQQBHIAMgAUEnaktxDRAgABC8BQwNCyABKAIAIQECQCAAQQhqIgAQ5ANFDQAgAkGwAWogABCODSACKQOwAUIBUg0AIAIpA7gBIglC/////////w9WDQAgASAJENcMDA0LIAJBADYCiAEgAkKAgICAEDcCgAEgAkHclsYANgK0ASACQqCAgIAGNwK4ASACIAJBgAFqNgKwASAAIAJBsAFqIgAQ9wENECACKAKAASEFIAAgAigChAEiBiACKAKIARCcASACLQCwAUEBRg0EAkAgAisDuAEiC71C////////////AINCgICAgICAgPj/AFoEQCABKAIAIAEoAggiA2tBA00EQCABIANBBEEBQQEQsxEgASgCCCEDCyABIANBBGo2AgggASgCBCADakHu6rHjBjYAAAwBCyALIAJBsAFqEPYBIQACQAJAIAEoAgAgASgCCCIEayAASQRAIAEgBCAAQQFBARCzESABKAIIIQQMAQsg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IAJB/wFxIgBB/wFGDRIgAEEDRw0WIAEoAgghACABKAIMQQRrDgITFBcLIAEoAiwhBSABKAIwQQNrDgsdGDUcNRo1NRc1GTULAn8gASgCDCIGRQRAQQghAEEADAELIAEoAgghBSAGQQV0EJABIgBFDSQgACEBIAYhBwNAIANB6ABqIAUgAhCRASADKAJoQX9GDSYgAyADKQOAASIRNwNgIAMgAykDeCISNwNYIAMgAykDcCIQNwNQIAMgAykDaCIPNwNIIAEgETcDGCABIBI3AxAgASAQNwMIIAEgDzcDACAFQUBrIQUgAUEgaiEBIAdBAWsiBw0ACyAGCyEBIAQgBjYCDCAEIAA2AgggBCABNgIEIARBEjYCAAwyCyADIAI6AEggAyADQcgAaq1CgICAgNAphDcDaEHxo8AAIANB6ABqQdD3xgAQvxMACyADQegAaiABKAIIIAEoAgwQ8wggAy0AaA0xIAQgAykDcDcDCCAEQRA2AgAMMAsgA0HoAGogASgCCCABKAIMEPMIIAMtAGgNLiAEIAMpA3A3AwggBEEYNgIADC8LIANByABqIAEoAgggASgCDBDxAiADKAJIQX9GDSwgAyADKQNYIhA3A0AgAyADKQNQIg83AzggAyADKQNINwJsIAMgEDcCfCADIA83AnQgBEEXNgIAIAQgAykCaDcCBCAEIAMpAnA3AgwgBCADKQJ4NwIUIAQgAygCgAE2AhwMLgsgA0HIAGogASgCCCABKAIMEPECIAMoAkhBf0YNKiADIAMpA1giEDcDQCADIAMpA1AiDzcDOCADIAMpA0g3AmwgAyAQNwJ8IAMgDzcCdCAEQRc2AgAgBCADKQJoNwIEIAQgAykCcDcCDCAEIAMpAng3AhQgBCADKAKAATYCHAwtCyADIAI6AEggAyADQcgAaq1CgICAgNAphDcDaEHxo8AAIANB6ABqQbD4xgAQvxMACyABKAIMIgJBAEgNHiACRQRAQQEhAQwFCyABKAIIIQAgAhCQASIBDQMMLgsgASgCDCECIAEoAgghACADQf8BOgCQAiADQQA2AsgBIANBADYCwAEgA0EANgK4ASADQQA2ArABIANBADYCqAEgA0EANgKgASADQQA2ApgBIANBADYCkAEgA0EANgKIASADQQA2AoABIANBADYCeCADQQA2AoACIANBADYC+AEgA0EANgLwASADQQA2AugBIANBADYC4AEgA0EANgLYASADQQA2AtABIANBADYCiAIgA0IANwNoIANByABqIANB6ABqIAAgAhCoCSADKAJIIgBFBEAgAy0ATAwnCyADQQhqIAAgAygCTBDxDEEFIAMoAgwNJhogAygCiAJBAUYEQCADKAKMAiEBDCYLQQAhASADKQNoQgFRDSVBAgwmCyABKAIMIgJBAEgNHCACRQRAQQEhAQwFCyABKAIIIQAgAhCQASIBDQMMLAsgASgCDCIGQQNqQQJ2IgJBA2whBSABKAIIIQACQCACRQRAQQEhAQwBCyAFEJABIgFFDSwgAUEEay0AAEEDcUUNACAFRQ0AIAFBACAF/AsACyADQegAaiAAIAYgASAFIAZBA3EQlwEgAygCaEECRw0EIAMtAGxB/wFGDRwgAgRAIAEgBRDZEgsgA0ESNgJ8IANB0oTHADYCeCADQpSAgIBwNwJwIANBvoTHADYCbCADQX82AmhBiLDJAEErIANB6ABqQYD4xgBBkPjGABDaEgALIAJFDQAgASAAIAL8CgAACyAEIAI2AgwgBCABNgIIIAQgAjYCBCAEQQ02AgAMJgsgAkUNACABIAAgAvwKAAALIAQgAjYCDCAEIAE2AgggBCACNgIEIARBEzYCAAwkCyADKAJwIQAgBCABNgIIIAQgBTYCBCAEQRk2AgAgBCAFIAAgACAFSxs2AgwMIwsgA0HIAGogASgCCCABKAIMEPECIAMoAkhBf0YNHCADIAMpA1giEDcDQCADIAMpA1AiDzcDOCADIAMpA0g3AmwgAyAQNwJ8IAMgDzcCdCAEQRc2AgAgBCADKQJoNwIEIAQgAykCcDcCDCAEIAMpAng3AhQgBCADKAKAATYCHAwiCwJAIAEoAgwiAkUEQEEBIQEMAQsgASgCCCEAIAIQkAEiAUUNJSACRQ0AIAEgACAC/AoAAAsgBCACNgIMIAQgATYCCCAEIAI2AgQgBEEPNgIADCELIAAoAABB9OTVqwZHDQNBAQwBCyAAKAAAQebCsZsHcyAAQQRqLQAAQeUAc3INAkEACyEAIAYgADoABCAEQQ42AgAMHgsgAyACOgBIIAMgA0HIAGqtQoCAgIDQKYQ3A2hB8aPAACADQegAakHg+MYAEL8TAAtBiLDJAEErIANBnwJqQcD4xgBB0PjGABDaEgALIAUpAABC5MSdq+atmbnhAIUgBUEDaikAAELl3JWTl4zdsuQAhYRCAFINHSABKAIYBEAgASgCFCIBKAIAQQNGDQsLIANBADYCLCADQoCAgIAQNwIkDAsLIAUoAABB4erR+wZHDQIgBEEEaiEBIwBBQGoiAiQAAkACQEEEEJABIgAEQCAAQeHq0fsGNgAAIAJBBDYCLCACIAA2AiggAkEENgIkIAJBADYCOCACQoCAgICAATcCMCACQQhqIAJBJGogAkEwahDwBiACKAIIQX9GDQEgASACKAIgNgIYIAEgAikCGDcCECABIAIpAhA3AgggASACKQIINwIAIAJBQGskAAwCCwwfCyACIAIoAhQ2AjggAiACKQIMNwMwQYiwyQBBKyACQTBqQfzxxgBBgPPGABDaEgALIARBfzYCAAwaCyAFKQAAQuHq0fuWzdux8gCFIAVBBWopAABC7sbJq9atmbf0AIWEQgBSDRtBDRCQASIARQ0cIABB2fDGACkAADcABSAAQdTwxgApAAA3AAAgA0ENNgI4IAMgADYCNCADQQ02AjAgA0EANgJQIANCgICAgIABNwJIIANB6ABqIANBMGogA0HIAGoQ8AYgAygCaEF/Rg0OIARBBGoiACADKAKAATYCGCAAIAMpAng3AhAgACADKQJwNwIIIAAgAykCaDcCACAEQX82AgAMGQsgBSkAAELzysWr18zbseUAUg0aIANBADYCOCADQoCAgICAATcCMEEIEJABIgBFDRsgAELzysWr18zbseUANwAAIANBCDYCUCADIAA2AkwgA0EINgJIIANB6ABqIANByABqIANBMGoQ8AYgAygCaEF/Rg0OIAQgAygCgAE2AhwgBCADKQJ4NwIUIAQgAykCcDcCDCAEIAMpAmg3AgQgBEF/NgIADBgLIAUoAABB9eqlowZGBEBBBCEFIAEoAhhFDQYgASgCFCIAKAIAQQJHDQYgA0EQaiAAKAIIIAAoAgwQyA0gAy0AESEFIAMtABBFDQYgAyAFOgBoQYiwyQBBKyADQegAakHw9sYAQZD5xgAQ2hIACyAFKAAAQePqpaMGRgRAQQEhBSABKAIYRQ0FIAEoAhQiACgCAEECRw0FIANBGGogACgCCCAAKAIMEMgNIAMtABkhBSADLQAYRQ0FIAMgBToAaEGIsMkAQSsgA0HoAGpB8PbGAEGA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IAEoAgAiA0GAgICAeHMgA0EAThtBAWsOFQECAwQFBgcICQoLDA0ODxAREhQVFgALIAEtAAQhASAAQYGAgIB4NgIQIAAgAToAAAweCyABMQAEIQ4gAEGCgICAeDYCECAAIA43AwggAEIANwMADB0LIAEzAQQhDiAAQYKAgIB4NgIQIAAgDjcDCCAAQgA3AwAMHAsgATUCBCEOIABBgoCAgHg2AhAgACAONwMIIABCADcDAAwbCyABKQMIIQ4gAEGCgICAeDYCECAAIA43AwggAEIANwMADBoLIAEwAAQhDiAAQYKAgIB4NgIQIAAgDjcDCCAAIA5CP4g3AwAMGQsgATIBBCEOIABBgoCAgHg2AhAgACAONwMIIAAgDkI/iDcDAAwYCyABNAIEIQ4gAEGCgICAeDYCECAAIA43AwggACAOQj+INwMADBcLIAEpAwghDiAAQYKAgIB4NgIQIAAgDjcDCCAAIA5CP4g3AwAMFgsgACABKgIEuyIUvUL///////////8Ag0L/////////9/8AWAR/IAJBgICAgHg2AuABIAJB0AFqEP8JQYKAgIB4BUGAgICAeAs2AhAgACAUOQMIIABCAjcDAAwVCyAAIAErAwgiFL1C////////////AINC//////////f/AFgEfyACQYCAgIB4NgLgASACQdABahD/CUGCgICAeAVBgICAgHgLNgIQIAAgFDkDCCAAQgI3AwAMFAsgASgCBCEBIAJBADYC0AEgAUGAAUkNCyABQT9xQYB/ciEDIAFBBnYhBCABQYAQSQRAIAIgAzoA0QEgAiAEQcABcjoA0AFBAiEBDBMLIAFBDHYhBSAEQT9xQYB/ciEEIAFB//8DTQRAIAIgAzoA0gEgAiAEOgDRASACIAVB4AFyOgDQAUEDIQEMEwsgAiADOgDTASACIAQ6ANIBIAIgBUE/cUGAf3I6ANEBIAIgAUESdkFwcjoA0AFBBCEBDBILIAEoAgwiA0EASA0LAkAgA0UEQEEBIQEMAQsgASgCCCEEIAMQkAEiAUUNFCADRQ0AIAEgBCAD/AoAAAsgAEGDgICAeDYCECAAIAM2AgggACABNgIEIAAgAzYCAAwSCyABKAIIIgNBAEgNCgJAIANFBEBBASEBDAELIAEoAgQhBCADEJABIgFFDRMgA0UNACABIAQgA/wKAAALIABBg4CA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AgwXCyABKAIMIQMgASgCCCEEIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDRQgACADNgIMIAAgBDYCCCAAIAE2AgRBEiECDBYLIAEoAgwhAyABKAIIIQQgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNEyAAIAM2AgwgACAENgIIIAAgATYCBEEUIQIMFQsgASgCCCEDIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDRIgACADNgIIIAAgATYCBEEVIQIMFAsgASgCCCEDIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDREgACADNgIIIAAgATYCBEEWIQIMEwsgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDRAgASgCECEGIAEoAgwiAygCACEEIAMgBEEBajYCACAEQQBIDRAgACAGNgIQIAAgAzYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUEcIQIMEgsgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDQ8gASgCECEGIAEoAgwiAygCACEEIAMgBEEBajYCACAEQQBIDQ8gACAGNgIQIAAgAzYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUEeIQIMEQsgASgCDCEDIAEoAgghBCABKAIEIgEoAgAhAiABIAJBAWo2AgAgAkEASA0OIAAgAzYCDCAAIAQ2AgggACABNgIEQR8hAgwQCyABKAIMIQQgASgCCCEFIAEoAgQiAigCACEDIAIgA0EBajYCACADQQBIDQ0gACAENgIMIAAgBTYCCCAAIAI2AgQgACABLQABOgABQSAhAgwPCyABKQIEIQkgASgCDCEEIAEoAhAiAigCACEDIAIgA0EBajYCACAHIAQ2AgggByAJNwMAIANBAEgNDCAAIAcoAgg2AgwgACAHKQMANwIEIAAgAjYCECAAIAEtAAE6AAFBISECDA4LIAEpAgQhCSABKQIMIQogASgCFCIBKAIAIQIgASACQQFqNgIAIAcgCjcDCCAHIAk3AwAgAkEASA0LIAAgBykDCDcCDCAAIAcpAwA3AgQgACABNgIUQSIhAgwNCyABKAIMIQMgASgCCCEEIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDQogACADNgIMIAAgBDYCCCAAIAE2AgRBIyECDAwLIAEoAgwhAyABKAIIIQQgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNCSAAIAM2AgwgACAENgIIIAAgATYCBEEkIQIMCwsgASgCDCEEIAEoAgghBSABKAIEIgIoAgAhAyACIANBAWo2AgAgA0EASA0IIAAgBDYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUElIQIMCgsgASgCDCEEIAEoAgghBSABKAIEIgIoAgAhAyACIANBAWo2AgAgA0EASA0HIAAgBDYCDCAAIAU2AgggACACNgIEIAAgAS0AAToAAUEmIQIMCQsgASgCFCEEIAEoAhAhBSABKAIMIgMoAgAhAiADIAJBAWo2AgAgAkEASA0GIAEoAgQiAgRAIAEoAgghASACIAIoAgAiBkEBajYCACAGQQBIDQcLIAAgBDYCFCAAIAU2AhAgACADNgIMIAAgATYCCCAAIAI2AgRBKCECDAgLIAEoAhQhBCABKAIQIQUgASgCDCIDKAIAIQIgAyACQQFqNgIAIAJBAEgNBSABKAIEIgIEQCABKAIIIQEgAiACKAIAIgZBAWo2AgAgBkEASA0GCyAAIAQ2AhQgACAFNgIQIAAgAzYCDCAAIAE2AgggACACNgIEQSkhAgwHCyABKAIIIQMgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNBCAAIAM2AgggACABNgIEQSohAgwGCyABKAIIIQMgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNAyAAIAM2AgggACABNgIEQSshAgwFCyABKAIIIQMgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNAiAAIAM2AgggACABNgIEQSwhAgwECyABKAIMIQMgASgCCCEEIAEoAgQiASgCACECIAEgAkEBajYCACACQQBIDQEgACADNgIMIAAgBDYCCCAAIAE2AgRBLSECDAMLIAEoAgwhAyABKAIIIQQgASgCBCIBKAIAIQIgASACQQFqNgIAIAJBAEgNACAAIAM2AgwgACAENgIIIAAgATYCBEEvIQIMAgsACwJAIAEoAgwiAkUEQEEBIQEMAQsgASgCCCEIIAIQkAEiAUUNAiACRQ0AIAEgCCAC/AoAAAsgACAFNgIcIAAgBjYCGCAAIAQ2AhQgACADNgIQIAAgAjYCDCAAIAE2AgggACACNgIEQRchAgsgACACOgAAIAdBEGokAA8LQQEQpxQAC68lAhB/A34jAEHwA2siBCQAAkACQAJAAkACQAJAAkBBAyABKQMAIhSnQQJrIBRCAVgbQQFrDgMBAgMACyAAIAFB/ABqIAEoApgBIAEoApwBIAEoAowBIAEoApABIAEtAKEBQX9zQQFxQQBBACACIAMoAgAgAykCBBBPDAMLIAAgAUG8AWogASgC2AEgASgC3AEgASgCzAEgASgC0AEgAS0A+AFBf3NBAXFBAEEAIAIgAygCACADKQIEEE8MAgsgACABQcQBaiABKALgASABKALkASABKALUASABKALYAUEAQQBBACACIAMoAgAgAykCBBBPDAELIAMpAgQhFiADKAIAIQwgASgCjAIhAyABKAKIAiEFIAEoApgCIQYgASgClAIhCSAEIgECfkHQ8MkALQAABEBByPDJACkDACEVQcDwyQApAwAMAQsgAUGYAmoQuxFB0PDJAEEBOgAAQcjwyQAgASkDoAIiFTcDACABKQOYAgsiFDcDAEHA8MkAIBRCAXw3AwAgAUEANgIYIAFCgICAgMAANwMQIAEgFTcDCCABQZCpyQApAwA3AhwgAUGYqckAKQMANwIkIAQCfgJAIAMEQCAFIANBGGxqIQgDQAJAIAUoAgxBf0cEQCAFKAIUIgFFDQEgAUEMbCEDIAUoAhBBCGohASAFKAIIIQcgBSgCBCEKA0AgBCAHNgKcAiAEIAo2ApgCIAQgAUEEaykCADcCoAIgAUEMaiEBIAQgBEGYAmoQmAUgA0EMayIDDQALDAELIARBADYCmAIgBCAFKQIENwKgAiAEIARBmAJqEJgFCyAIIAVBGGoiBUcNAAtB0PDJAC0AAEUNAQtByPDJACkDACEVQcDwyQApAwAMAQsgBEGYAmoQuxFB0PDJAEEBOgAAQcjwyQAgBCkDoAIiFTcDACAEKQOYAgsiFDcDMEHA8MkAIBRCAXw3AwAgBEEANgJIIARCgICAgIABNwNAIAQgFTcDOCAEQQA6AGwgBCAWNwJkIAQgDDYCYCAEQZCpyQApAwA3AkwgBEGYqckAKQMANwJUIARBAjYCnAEgBEECNgJ0IAQgCTYCxAEgBCAJIAZBFGxqNgLIASAEQZwBaiEJAkADQCAEQZgCaiAEQfQAahCIBiAEKAK0AkF/RwRAIAQgBCkC0AI3A5ACIAQgBCkCyAI3A4gCIAQgBCkCwAI3A4ACIAQgBCkCuAI3A/gBIAQgBCkCsAI3A/ABIAQgBCkCqAI3A+gBIAQgBCkCoAI3A+ABIAQgBCkCmAI3A9gBDAILAkAgBCgCxAEiAUUNACABIAQoAsgBRg0AIAQgAUEUaiIDNgLEAUEAIQhBjwEhDkGQASEHAkACfwJAAkACQAJAAkAgASIFKAIAIgogCkEAR2siCkEBaw4FAAECAwQGCyABQRBqQQAgASgCEBshBiABKAIIIgUgASgCDEEUbGohA0EBIQpBkQEhDkGSASEHQcz2yAAhCEEGIQwgASENDAULQQAhCkGTASEOQZIBIQdB0vbIAAwDC0EAIQpBkgEhB0HW9sgADAILQQAhCkGSASEHQdr2yAAMAQtBACEKQZIBIQdB3vbIAAshCCABKAIIIgUgASgCDEEUbGohA0EEIQwLIAQgATYCmAEgBCAGNgKUASAEIA02ApABIAQgDDYCjAEgBCAINgKIASAEIAc2AoQBIAQgDjYCgAEgBCADNgJ8IAQgBTYCeCAEIAo2AnQMAQsLIARB2AFqIAkQiAYLAkAgBCgC9AFBf0YNAEEAIQMCf0EAIAQoAnQiBUECRg0AGiAEKAJ4IQEgBUEBRgRAIAQoApABIQUgAQRAIAQoAnwgAWtBFG4iASAFRQ0CGiABIAQoApQBQQBHagwCC0EAIAVFDQEaIAQoApQBQQBHDAELIAQoAnwgAWtBFG4LIQECQCAEKAKcASIJQQJGDQAgBCgCoAEhBSAJQQFGBEAgBCgCuAEhCSAFBEAgBCgCpAEgBWtBFG4hAyAJRQ0CIAMgBCgCvAFBAEdqIQMMAgsgCUUNASAEKAK8AUEARyEDDAELIAQoAqQBIAVrQRRuIQMLAkACQCABIANqIgFB/v//H0sNAEEDIAEgAUEDTRtBAWoiAUEGdCIFQf3///8HTw0AQQAhA0EEIQkCQCAFBEAgASEDIAUQkAEiCUUNAQsgCSAEKQOQAjcCOCAJIAQpA4gCNwIwIAkgBCkDgAI3AiggCSAEKQP4ATcCICAJIAQpA/ABNwIYIAkgBCkD6AE3AhAgCSAEKQPgATcCCCAJIAQpA9gBNwIAIARBATYC1AEgBCAJNgLQASAEIAM2AswBIARBmAJqIARB9ABqQdgA/AoAACAEQcACaiEPQQEhCwNAIARBsANqIARBmAJqEIgGAkAgBCgCzANBf0cEQCAEIAQpAugDNwOoAyAEIAQpAuADNwOgAyAEIAQpAtgDNwOYAyAEIAQpAtADNwOQAyAEIAQpAsgDNwOIAyAEIAQpAsADNwOAAyAEIAQpArgDNwP4AiAEIAQpArADNwPwAgwBCwJAIAQoAugCIgFFDQAgASAEKALsAkYNACAEIAFBFGoiAzYC6AJBACEIQZABIQdBjwEhDgJAAkACfwJAAkACQAJAAkAgASIFKAIAIgogCkEAR2siCkEBaw4FAAECAwQHCyABQRBqQQAgASgCEBshDSABKAIIIgUgASgCDEEUbGohA0EGIQxBzPbIACEIQZIBIQdBkQEhDkEBIQogASEGDAYLQQQhDEHS9sgAIQhBkwEhDgwEC0EEIQxB1vbIAAwCC0EEIQxB2vbIAAwBC0EEIQxB3vbIAAshCAsgASgCCCIFIAEoAgxBFGxqIQNBkgEhB0EAIQoLIAQgATYCvAIgBCANNgK4AiAEIAY2ArQCIAQgDDYCsAIgBCAINgKsAiAEIAc2AqgCIAQgDjYCpAIgBCADNgKgAiAEIAU2ApwCIAQgCjYCmAIMAgsgBEHwAmogDxCIBgsgBCgCjANBf0cEQCAEKALMASALRgRAQQAhAwJ/QQAgBCgCmAIiBUECRg0AGiAEKAKcAiEBIAVBAUYEQCAEKAK0AiEFIAEEQCAEKAKgAiABa0EUbiIBIAVFDQIaIAEgBCgCuAJBAEdqDAILQQAgBUUNARogBCgCuAJBAEcMAQsgBCgCoAIgAWtBFG4LIQECQCAEKALAAiIJQQJGDQAgBCgCxAIhBSAJQQFGBEAgBCgC3AIhCSAFBEAgBCgCyAIgBWtBFG4hAyAJRQ0CIAMgBCgC4AJBAEdqIQMMAgsgCUUNASAEKALgAkEARyEDDAELIAQoAsgCIAVrQRRuIQMLIARBzAFqIAsgASADakEBakEEQcAAELMRIAQoAtABIQkLIAkgC0EGdGoiASAEKQOoAzcCOCABIAQpA6ADNwIwIAEgBCkDmAM3AiggASAEKQOQAzcCICABIAQpA4gDNwIYIAEgBCkDgAM3AhAgASAEKQP4AjcCCCABIAQpA/ACNwIAIAQgC0EBaiILNgLUASAQQUBrIRAMAQsLIAQoAswBIQ4gBCAENgKwAyAEIARBsANqNgKYAgJAIAtBAkkNACALQRVPBEAgBEGYAmohBSMAQYAgayIIJAACQAJAAkACQAJAQcjQByALIAtByNAHTxsiAyALIAtBAXZrIgEgASADSRsiB0HBAE8EQCABQf///x9LDQIgB0EGdCIBQf3///8HTw0CIAEQkAEiA0UNAyAJIAsgAyAHIAtBwQBJIAUQsQIgA0EEaygCACIHQXhxIQUgBUEEQQggB0EDcSIHGyABckkNBCAHQQBHIAUgAUEncktxDQUgAxC8BQwBCyAJIAsgCEHAACALQcEASSAFELECCyAIQYAgaiQADAULEJ4VAAtBBBCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAEQbADaiEMQQAhByMAQeAAayIGJAAgCSIDQUBrIQEgAyALQQZ0aiERIAMhBQNAIAUhCCAGQRhqIAwoAgAgASIFENoHIAYoAhwhCiAGKAIYIQ0gBkEQaiAMKAIAIAgQ2gcgBigCECEBAkACQCANQQFGBEAgAUEBRw0CIAogBigCFEkNAQwCCyABQQFHDQELIAYgBSkCODcDWCAGIAUpAjA3A1AgBiAFKQIoNwNIIAYgBSkCIDcDQCAGIAUpAhg3AzggBiAFKQIQNwMwIAYgBSkCCDcDKCAGIAUpAgA3AyAgBSAIKQIANwIAIAUgCCkCCDcCCCAFIAgpAhA3AhAgBSAIKQIYNwIYIAUgCCkCIDcCICAFIAgpAig3AiggBSAIKQIwNwIwIAUgCCkCODcCOAJAIAggAyIBRg0AIAchCgNAIAZBCGogDCgCACAGQSBqENoHIAYoAgwhEiAGKAIIIRMgBiAMKAIAIAMgCmoiAUFAaiINENoHIAYoAgAhDwJAIBNBAUYEQCAPQQFHDQMgEiAGKAIETw0DDAELIA9BAUYNACAIIQEMAgsgCEFAaiEIIAEgDSkCODcCOCABIA0pAjA3AjAgASANKQIoNwIoIAEgDSkCIDcCICABIA0pAhg3AhggASANKQIQNwIQIAEgDSkCCDcCCCABIA0pAgA3AgAgCkFAaiIKDQALIAMhAQsgASAGKQNYNwI4IAEgBikDUDcCMCABIAYpA0g3AiggASAGKQNANwIgIAEgBikDODcCGCABIAYpAzA3AhAgASAGKQMoNwIIIAEgBikDIDcCAAsgB0FAayEHIBEgBUFAayIBRw0ACyAGQeAAaiQACyAQQUBrIQwgCSALQQZ0aiEPIARB+ABqIQYgAigCACERQQAhCANAIAkgCCICaiILKAIAIQUgC0EYaigCACESIAtBFGooAgAhCCALQRBqKAIAIQMgC0EMaigCACENIAtBCGooAgAhCiALQQRqKAIAIQEgC0EcaigCACEHIAQgC0E4aikCADcDyAMgBCALQTBqKQIANwPAAyAEIAtBKGopAgA3A7gDIAQgC0EgaikCADcDsAMCQAJAAkACQCAHQX9HBEAgBiAEKQOwAzcCACAGIAQpA7gDNwIIIAYgBCkDwAM3AhAgBiAEKQPIAzcCGCAEIAc2AnQgBUF/Rg0BIAEhBwwCCwwHCyAKQQBIDQUgCkUEQEEBIQdBACEFQQAhCgwBCyAKEJABIgdFDQEgCgRAIAcgASAK/AoAAAsgCiEFCyAEIAo2AvgCIAQgBzYC9AIgBCAFNgLwAiAEQZgCaiARIARB8AJqIgEgBEH0AGoQXgJAAkACQAJAIAgEQCAEIBI2AvgCIAQgCDYC9AIgBEF/NgLwAiAEQTBqIAFBfiAUEJEEIQEgA0EASA0JIANFBEBBASEFDAMLIAMQkAEiBQ0BQQEQpxQACyADQQBIDQggA0UEQEEBIQcMBAsgAxCQASIHDQJBARCnFAALIANFDQAgBSANIAP8CgAACyAEIAM2AvgCIAQgBTYC9AIgBCADNgLwAiABIARB8AJqIARBmAJqELAFDAMLIANFDQAgByANIAP8CgAACyAEIAM2AvgCIAQgBzYC9AIgBCADNgLwAiAEQTBqIARB8AJqIARBmAJqELAFDAELQQEQpxQACyAMIAJBQGsiCEcNAAsMAgtBBBCnFAALEJ4VAAsgC0FAayAPRwRAIAtB8ABqIQEgECACa0EGdiEIA0ACQCABQTBrKAIAIgJBf0YNACACRQ0AIAFBLGsoAgAiBUEEaygCACIHQXhxIQMgA0EEQQggB0EDcSIHGyACakkNBSAHQQBHIAMgAkEnaktxDQYgBRC8BQsgAUEIayIDKAIAIgUoAgAhAiAFIAJBAWs2AgAgAkEBRgRAIAMoAgAQMAsCQCABQQRrIgMoAgAiAkUNACACIAIoAgAiAkEBazYCACACQQFHDQAgAygCACABKAIAELYQCyABQUBrIQEgCEEBayIIDQALCyAORQ0AIAkgDkEGdBDZEgsgACAEKQNoNwM4IAAgBCkDYDcDMCAAIAQpA1g3AyggACAEKQNQNwMgIAAgBCkDSDcDGCAAIAQpA0A3AxAgACAEKQM4NwMIIAAgBCkDMDcDAAJAIAQoAiAiAEUNACAAQQJ0QQtqQXhxIgEgAGpBCWoiAEUNACAEKAIcIAFrIgJBBGsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgAGpJDQIgA0EARyABIABBJ2pLcQ0DIAIQvAULIAQoAhAiAUUNACAEKAIUIgJBBGsoAgAiA0F4cSEAIAAgAUEUbCIBQQRBCCADQQNxIgMbakkNASADQQBHIAAgAUEnaktxRQRAIAIQvAUMAQsMAgsgBEHwA2okAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC8cVAgx/AX4CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQRUgACkDACINp0EDayANQgJYGw4VAQIDBAUGBwgJCgsMDQ4PEBEVEhMUAAsgACgCaCIBEKUBIAFBBGsoAgAiAkEDcSEDIAJBeHFB9ABB+AAgAxtJDRUgA0EARyACQZgBT3ENFiABELwFIAAQhQgPCyAAQQhqEIcEDwsgACgCDCECIAAoAhAiAwRAIAIhAQNAIAEQpQEgAUHwAGohASADQQFrIgMNAAsLIAAoAggiAUUNEiACQQRrKAIAIgNBeHEhACAAIAFB8ABsIgFBBEEIIANBA3EiAxtySQ0TIANBAEcgACABQSdqS3ENFAwVCyAAKAIIIgFBf0YNESABRQ0RIAAoAgwgARDZEg8LIAAoAgwhAiAAKAIQIgMEQCACIQEDQAJAIAFB8ABqKAIAIgRBf0YNACAERQ0AIAFB9ABqKAIAIgdBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDRQgBUEARyAGIARBJ2pLcQ0VIAcQvAULIAEQpQEgAUGAAWohASADQQFrIgMNAAsLIAAoAggiAwRAIAJBBGsoAgAiBEF4cSEBIAEgA0EHdCIDQQRBCCAEQQNxIgQbckkNEiAEQQBHIAEgA0EncktxDRMgAhC8BQsgACgCFCIAEKUBIABBBGsoAgAiAUEDcSECIAFBeHFB9ABB+AAgAhtJDREgAkEARyABQZgBT3ENEgwUCyAAKAIMIQIgACgCECIDBEAgAiEBA0ACQCABKAIAIgRBf0YNACAERQ0AIAFBBGooAgAiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyAEakkNEyAFQQBHIAYgBEEnaktxDRQgBxC8BQsgAUEMaiEBIANBAWsiAw0ACwsgACgCCCIBRQ0PIAJBBGsoAgAiA0F4cSEAIAAgAUEMbCIBQQRBCCADQQNxIgMbakkNECADQQBHIAAgAUEnaktxDREMEgsgAEEIahDaBA8LIABBCGoQ2gQPCyAAKAIMIQIgACgCECIDBEAgAiEBA0AgARClASABQfAAaiEBIANBAWsiAw0ACwsgACgCCCIBRQ0MIAJBBGsoAgAiA0F4cSEAIAAgAUHwAGwiAUEEQQggA0EDcSIDG3JJDQ0gA0EARyAAIAFBJ2pLcQ0ODA8LIAAoAgwhAiAAKAIQIgMEQCACIQEDQCABEKUBIAFB8ABqIQEgA0EBayIDDQALCyAAKAIIIgFFDQsgAkEEaygCACIDQXhxIQAgACABQfAAbCIBQQRBCCADQQNxIgMbckkNDCADQQBHIAAgAUEnaktxDQ0MDgsgACgCCCIAEKUBIABBBGsoAgAiAUEDcSECIAFBeHFB9ABB+AAgAhtJDQsgAkEARyABQZgBT3ENDAwOCyAAKAIIIgAQpQEgAEEEaygCACIBQQNxIQIgAUF4cUH0AEH4ACACG0kNCiACQQBHIAFBmAFPcQ0LDA0LIAAoAhQiARClASABQQRrKAIAIgJBA3EhAyACQXhxQfQAQfgAIAMbSQ0JIANBAEcgAkGYAU9xDQogARC8BSAAKAIMIQYgACgCECILBEADQCAGIAdBkAFsaiIEEKUBIAQoAnQhAiAEKAJ4IgMEQCACIQEDQCABKAIAIgUEQCABQQRqKAIAIgpBBGsoAgAiCEF4cSEJIAlBBEEIIAhBA3EiCBsgBWpJDQ4gCEEARyAJIAVBJ2pLcQ0PIAoQvAULIAFBDGooAgAiBQRAIAFBEGooAgAiCkEEaygCACIIQXhxIQkgCUEEQQggCEEDcSIIGyAFakkNDiAIQQBHIAkgBUEnaktxDQ8gChC8BQsgAUEYaiEBIANBAWsiAw0ACwsgBCgCcCIDBEAgAkEEaygCACIFQXhxIQEgASADQRhsIgNBBEEIIAVBA3EiBRtqSQ0MIAVBAEcgASADQSdqS3ENDSACELwFCyAEKAJ8IgEEQCAEKAKAASIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0MIARBAEcgAiABQSdqS3ENDSADELwFCyAHQQFqIgcgC0cNAAsLIAAoAggiAUUNCCAGQQRrKAIAIgJBeHEhACAAIAFBkAFsIgFBBEEIIAJBA3EiAhtySQ0JIAJBAEcgACABQSdqS3ENCiAGELwFDwsgACgCCCIBBEAgACgCDCIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0JIARBAEcgAiABQSdqS3ENCiADELwFCyAAKAIUIgAQpQEgAEEEaygCACIBQQNxIQIgAUF4cUH0AEH4ACACG0kNCCACQQBHIAFBmAFPcQ0JDAsLIAAoAggiABClASAAQQRrKAIAIgFBA3EhAiABQXhxQfQAQfgAIAIbSQ0HIAJBAEcgAUGYAU9xDQgMCgsgACgCSCIBEKUBIAFBBGsoAgAiAkEDcSEDIAJBeHFB9ABB+AAgAxtJDQYgA0EARyACQZgBT3ENByABELwFIABBCGoQmgcgAEHMAGoQ1QUPCyAAKAJAIgEQpQEgAUEEaygCACICQQNxIQMgAkF4cUH0AEH4ACADG0kNBSADQQBHIAJBmAFPcQ0GIAEQvAUgACgCRCICBEAgACgCSCIDQQRrKAIAIgRBeHEhASABIAJBA3QiAkEEQQggBEEDcSIEG2pJDQYgBEEARyABIAJBJ2pLcQ0HIAMQvAULIABBCGoQ/AkPCyAAKAIQIgEQpQEgAUEEaygCACICQQNxIQMgAkF4cUH0AEH4ACADG0kNBCADQQBHIAJBmAFPcQ0FIAEQvAUgACgCFCIBEKUBIAFBBGsoAgAiAkEDcSEDIAJBeHFB9ABB+AAgAxtJDQQgA0EARyACQZgBT3ENBSABELwFIAAoAhgiABClASAAQQRrKAIAIgFBA3EhAiABQXhxQfQAQfgAIAIbSQ0EIAJBAEcgAUGYAU9xDQUMBwsgACgCFCIBEKUBIAFBBGsoAgAiAkEDcSEDIAJBeHFB9ABB+AAgAxtJDQMgA0EARyACQZgBT3ENBCABELwFIAAoAhgiARClASABQQRrKAIAIgJBA3EhAyACQXhxQfQAQfgAIAMbSQ0DIANBAEcgAkGYAU9xDQQgARC8BSAAKAIMIQIgACgCECIDBEAgAiEBA0AgASgCACIEBEAgAUEEaigCACIHQQRrKAIAIgVBeHEhBiAGQQRBCCAFQQNxIgUbIARqSQ0GIAVBAEcgBiAEQSdqS3ENByAHELwFCyABQQxqIQEgA0EBayIDDQALCyAAKAIIIgFFDQIgAkEEaygCACIDQXhxIQAgACABQQxsIgFBBEEIIANBA3EiAxtqSQ0DIANBAEcgACABQSdqS3ENBAwFCyAAKAIIIgEQpQEgAUEEaygCACICQQNxIQMgAkF4cUH0AEH4ACADG0kNAiADQQBHIAJBmAFPcQ0DIAEQvAUgAEEMahDGBQ8LIAAoAggiARClASABQQRrKAIAIgJBA3EhAyACQXhxQfQAQfgAIAMbSQ0BIANBAEcgAkGYAU9xDQIgARC8BSAAQQxqEMwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyACELwFDwsgABC8BQvWHAIOfwJ+IwBBkAxrIggkAAJAAkACQAJAAkACQAJAIAYoAggiDUUEQCAEIAVBFGxqIQogCAJ+QdDwyQAtAAAEQEHI8MkAKQMAIRdBwPDJACkDAAwBCyAIQaAEahC7EUHQ8MkAQQE6AABByPDJACAIKQOoBCIXNwMAIAgpA6AECyIWNwP4B0HA8MkAIBZCAXw3AwAgCCACNgKwCCAIIAo2AqwIIAggBDYCqAggCEEANgKYCCAIQQA2AogIIAggFzcDgAggCEGQqckAKQMANwPoByAIQZipyQApAwA3A/AHIAhBmAJqIAhB6AdqIg0QrAICfyAIKAKYAkECRwRAQdAAEJABIgpFDQMgCiAIKAKoAjYCECAKIAgpAqACNwIIIAogCCkCmAI3AgAgCEEBNgKIDCAIIAo2AoQMIAhBBDYCgAwgCEGgBGogDUHQAPwKAABBFCELQQEhCQNAIAhB+AlqIAhBoARqEKwCIAgoAvgJQQJHBEAgCCgCgAwgCUYEQEEAIQogCCgCwAQEQCAIKALMBCAIKALEBGtBFG4hCgsgCEGADGpBAUECIAgoAqwEGyEMIAgoAtAEBEAgCCgC3AQgCCgC1ARrQRRuIApyIQoLIAkgDEEBIAobQQRBFBCzESAIKAKEDCEKCyAKIAtqIg0gCCgCiAo2AhAgDSAIKQKACjcCCCANIAgpAvgJNwIAIAggCUEBaiIJNgKIDCALQRRqIQsMAQsLIAhBoARqEMwLIAgoAoAMDAELIAhB6AdqEMwLQQQhCkEACyENIAggCiAJIAEQmhAgCEGADGogCCgCABDbBCAJBEAgCkEQaiELA0AgCygCACIOKAIAIQwgDiAMQQFrNgIAIAxBAUYEQCALKAIAEDALIAtBFGohCyAJQQFrIgkNAAsLIA0EQCAKQQRrKAIAIgtBeHEhCSAJIA1BFGwiDUEEQQggC0EDcSILG2pJDQYgC0EARyAJIA1BJ2pLcQ0HIAoQvAULIAgoAoQMIQogCCgCgAwhDCAIKAKIDCEJIAhBoARqIg0gAyACIAEQeiAIQfgJaiANQYQC/AoAACAIKAK4BiEOIAgoArQGIQ0gCCgCsAYhECAIKAKsBiELIAgoAqgGIQMgCCgCpAYhAiAJBEAgCUGwAWwhDyAIQbAGaiERIAhB3AVqIRUgCiEJA0AgESAJQbAB/AoAACAIQaAEaiAIQfgJakGEAvwKAAAgCCALNgKsBiAIIAM2AqgGIAggAjYCpAZBsAEQkAEiEkUNCSASIBFBsAH8CgAAIAgoAuQFIhMgCCgC3AVGBEAgFRClEiAIKAKsBiELIAgoAqgGIQMgCCgCpAYhAgsgCUGwAWohCSAIKALgBSATQeAAbGoiFEF+NgJQIBQgEjYCBCAUQQM2AgAgCCATQQFqNgLkBSAIQfgJaiAIQaAEakGEAvwKAAAgD0GwAWsiDw0ACwsgDARAIApBBGsoAgAiD0F4cSEJIAkgDEGwAWwiDEEEQQggD0EDcSIPG3JJDQYgD0EARyAJIAxBJ2pLcQ0HIAoQvAULIAEoAgBBAXFFDQMgCCABKQMoIhY3A7gEIAggASkDIDcDsAQgCCABKQMYNwOoBCAIIAEpAxA3A6AEIBanQQFxBEAgCCAIQaAEaq1CgICAgJAahDcD6AcgCEGYAmpBwJTCACAIQegHahC4DCACQQBKBEAgA0EEaygCACIKQXhxIQkgCUEEQQggCkEDcSIKGyACakkNByAKQQBHIAkgAkEnaktxDQggAxC8BQsgCCgCoAIhCyAIKAKcAiEDIAgoApgCIQILDAMLIAhBoARqIgkgAyACIAEQeiAIQegHaiAJQZAC/AoAACAIKAK0BiECIAgoArgGIgsEQCACIQkDQCAJENQBIAlB0ABqKAIAIgNBAEoEQCAJQdQAaigCACIMQQRrKAIAIg5BeHEhCiAKQQRBCCAOQQNxIg4bIANqSQ0HIA5BAEcgCiADQSdqS3ENCCAMELwFCyAJQeAAaiEJIAtBAWsiCw0ACwsgCCgCsAYiCQRAIAJBBGsoAgAiCkF4cSEDIAMgCUHgAGwiCUEEQQggCkEDcSIKG3JJDQUgCkEARyADIAlBJ2pLcQ0GIAIQvAULIAUEQANAIAhBoARqIgIgCEHoB2oiA0GQAvwKAAAgCCAENgKwBiADIAIgBCABQQAQ4QMgBEEUaiEEIAVBAWsiBQ0ACwsgCCgC9AkhCyAIKALwCSEDIAgoAuwJIQIgBigCACEKIAYoAgQhBSABKAIAQQFxRQ0BIAggASkDKCIWNwO4BCAIIAEpAyA3A7AEIAggASkDGDcDqAQgCCABKQMQNwOgBCAWp0EBcQRAIAggCEGgBGqtQoCAgICQGoQ3A/gJIAhBmAJqQcCUwgAgCEH4CWoQuAwgAkEASgRAIANBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQYgBkEARyAEIAJBJ2pLcQ0HIAMQvAULIAgoAqACIQsgCCgCnAIhAyAIKAKYAiECCwwBC0EEEKcUAAsgCEH4CWogCEHoB2pBhAL8CgAAIA1BFGwhECAIQcwLaiEGIAhB9AVqIQ0gCEGwBmohBEEAIQkCQANAIAQgBSAJaiIMKAIQNgIQIAQgDCkCCDcCCCAEIAwpAgA3AgAgCEGgBGogCEH4CWpBhAL8CgAAIAggCzYCrAYgCCADNgKoBiAIIAI2AqQGIAhBmAJqIg4gBCABQQAQiQIgCCAGKAIINgKIDCAIIAYpAgA3A4AMQbABEJABIgxFDQYgDCAOQbAB/AoAACAIKAKIDCIOIAgoAoAMRgRAIAhBgAxqEKUSCyANIAgpA4AMNwIAIA0gDkEBajYCCCAIKAKEDCAOQeAAbGoiDkF+NgJQIA4gDDYCBCAOQQM2AgAgCEH4CWogCEGgBGpBhAL8CgAAIAgoAsAGIg4oAgAhDCAOIAxBAWs2AgAgDEEBRgRAIAgoAsAGEDALIBAgCUEUaiIJRw0ACyAKBEAgBUEEaygCACIGQXhxIQQgBCAKQRRsIglBBEEIIAZBA3EiBhtqSQ0EIAZBAEcgBCAJQSdqS3ENASAFELwFCyAIQaAEaiAIQfgJaiIEQYQC/AoAACAIIAs2AqwGIAggAzYCqAYgCCACNgKkBiAHLQAAQf8BRwRAIAQgB0HQAPwKAAAgCEGYAmogBCABEIMNIAhBsARqIQEgCCgCsARBf0cEQCABEJ4GCyABIAgpAqACNwIIIAEgCCkCmAI3AgALIAhBCGoiASAIQaAEakGQAvwKAAAgACABQQEQsQQMAgsMAwsgCEHoB2ogCEH4CWpBhAL8CgAAIA4EQCAOQeAAbCEKIAhBsAZqIQwgCEHcBWohDyANIQkDQCAMIAlB4AD8CgAAIAhBoARqIAhB6AdqQYQC/AoAACAIIAs2AqwGIAggAzYCqAYgCCACNgKkBiAIKALkBSIOIAgoAtwFRgRAIA8QpRIgCCgCrAYhCyAIKAKoBiEDIAgoAqQGIQILIAlB4ABqIQkgCCgC4AUgDkHgAGxqIAxB4AD8CgAAIAggDkEBajYC5AUgCEHoB2ogCEGgBGpBhAL8CgAAIApB4ABrIgoNAAsLIBAEQCANQQRrKAIAIgpBeHEhCSAJIBBB4ABsIgxBBEEIIApBA3EiChtySQ0CIApBAEcgCSAMQSdqS3ENAyANELwFCyAIQZgCaiIKIAhB6AdqQYQC/AoAAAJAAkBBkAIQkAEiCUUNBSAJIApBhAL8CgAAIAkgCzYCjAIgCSADNgKIAiAJIAI2AoQCQTQQkAEiAkUNBSACQoOAgIBgNwIkIAJBmIPJADYCICACQoCAgIBwNwIYIAJCgICAgMAANwIQIAIgCTYCBCACQQI2AgAgASgCAEEBcUUNACAIIAEpAygiFjcDuAQgCCABKQMgNwOwBCAIIAEpAxg3A6gEIAggASkDEDcDoAQgCAJ/IBanQQFxBEAgCCAIQaAEaq1CgICAgJAahDcD4AcgCEH4CWpBwJTCACAIQeAHahC4DCAIQQA2AsgJIAhCCDcDwAkgCEIANwO4CSAIQoCAgICAATcDsAkgCEIINwOoCSAIQgE3A6AJIAggAjYCnAkgCEEBNgKYCSAIQX02AtAIIAhBfTYCiAggCEF/NgL4ByAIQX82AugHIAggCCkC/Ak3A/AJIAgoAvgJDAELIAhBADYCyAkgCEIINwPACSAIQgA3A7gJIAhCgICAgIABNwOwCSAIQgg3A6gJIAhCATcDoAkgCCACNgKcCSAIQQE2ApgJIAhBfTYC0AggCEF9NgKICCAIQX82AvgHIAhBfzYC6AdBfgs2AuwJIAhCgICAgGA3AtwJIAhCgICAgMAANwLUCSAIQgQ3AswJDAELIAhBfjYC7AkgCEF+NgLgCSAIQgQ3A9gJIAhCADcD0AkgCEKAgICAwAA3A8gJIAhCCDcDwAkgCEIANwO4CSAIQoCAgICAATcDsAkgCEIINwOoCSAIQgE3A6AJIAggAjYCnAkgCEEBNgKYCSAIQX02AtAIIAhBfTYCiAggCEF/NgL4ByAIQX82AugHCyAFBEADQCAIQaAEaiICIAhB6AdqIgNBkAL8CgAAIAggBDYCsAYgAyACIAQgAUEBEOEDIARBFGohBCAFQQFrIgUNAAsLIAhBCGoiASAIQegHakGQAvwKAAAgACABQQEQsQQgBy0AAEH/AUcEQCAHEKwECyAGKAIAIgFFDQAgBigCBCICQQRrKAIAIgNBeHEhACAAIAFBFGwiAUEEQQggA0EDcSIDG2pJDQEgA0EARyAAIAFBJ2pLcQ0CIAIQvAULIAhBkAxqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBuPDJAEEBOgAAAAu7HAIPfwF+IwBBQGoiFCQAAkACQCABQSFJBEAgASENDAELIAJBOGshEQJAAkADQCAERQRAIAAgASACIANBARDeAgwFCyAAIAFBA3YiBkGIA2xqIQsgACAGQeABbGohCCAEQQFrIQQgFAJ/IAFBwABPBEAgACAIIAsgBhDXDgwBCyAAIABBBGooAgAiCSAIQQRqKAIAIgcgAEEIaigCACIOIAhBCGooAgAiDyAOIA9JGxCPEyIGIA4gD2sgBhsiDSAJIAtBBGooAgAiCSAOIAtBCGooAgAiECAOIBBJGxCPEyIGIA4gEGsgBhtzQQBIDQAaIAsgCCAHIAkgDyAQIA8gEEkbEI8TIgYgDyAQayAGGyANc0EASBsLIgopAzA3AzggFCAKKQMoNwMwIBQgCikDIDcDKCAUIAopAxg3AyAgFCAKKQMQNwMYIBQgCikDCDcDECAUIAopAwA3AwggCiAAa0E4biEJAkAgBQRAIAVBBGooAgAgCkEEaigCACAFQQhqKAIAIgcgCkEIaigCACINIAcgDUkbEI8TIgYgByANayAGG0EATg0BCyABIANLDQNBACENIAAhBiABQThsIg4gAmoiEyELIAkhBwNAIAYgACAHQThsaiIPSQRAA0AgDUE4bCACIAtBOGsiCyAGQQRqKAIAIApBBGooAgAgBkEIaiIQKAIAIhIgCkEIaigCACIMIAwgEksbEI8TIgggEiAMayAIGyIIQQBIG2oiDCAGKQMwNwMwIAwgBikDKDcDKCAMIAYpAyA3AyAgDCAGKQMYNwMYIAwgBikDEDcDECAMIBApAwA3AwggDCAGKQMANwMAIAhBH3YgDWohDSAPIAZBOGoiBksNAAsLIAEgB0cEQCALQThrIgsgDUE4bGoiByAGKQMwNwMwIAcgBikDKDcDKCAHIAYpAyA3AyAgByAGKQMYNwMYIAcgBikDEDcDECAHIAYpAwg3AwggByAGKQMANwMAIAZBOGohBiABIQcMAQsLIA1BOGwiEgRAIAAgAiAS/AoAAAsgASANayEMAkAgASANRg0AIAAgEmohCEEAIQsgDUEBaiABRwRAIAxBAXEgDEF+cSEQIA4gEWohByAIIQYDQCAGIAcpAzA3AzAgBiAHKQMoNwMoIAYgBykDIDcDICAGIAcpAxg3AxggBiAHKQMQNwMQIAYgBykDCDcDCCAGIAcpAwA3AwAgBkE4aiATIAtB/v///wFzQThsaiIOKQMANwMAIAZBQGsgDikDCDcDACAGQcgAaiAOKQMQNwMAIAZB0ABqIA4pAxg3AwAgBkHYAGogDikDIDcDACAGQeAAaiAOKQMoNwMAIAZB6ABqIA5BMGopAwA3AwAgB0HwAGshByAGQfAAaiEGIBAgC0ECaiILRw0AC0UNAQsgCCALQThsaiIHIBMgC0F/c0E4bGoiBikDMDcDMCAHIAYpAyg3AyggByAGKQMgNwMgIAcgBikDGDcDGCAHIAYpAxA3AxAgByAGKQMINwMIIAcgBikDADcDAAsgDUUNACABIA1JDQIgACASaiAMIAIgAyAEIBRBCGoQpwEgDSIBQSFJDQQMAQsgASADSw0CQQAhBSAAIQYgAUE4bCIQIAJqIgwhCwNAIAYgACAJQThsaiIISQRAA0AgBUE4bCACIAtBOGsiCyAKQQRqKAIAIAZBBGooAgAgCkEIaigCACIOIAZBCGoiBygCACIPIA4gD0kbEI8TIg0gDiAPayANG0EATiING2oiDyAGKQMwNwMwIA8gBikDKDcDKCAPIAYpAyA3AyAgDyAGKQMYNwMYIA8gBikDEDcDECAPIAcpAwA3AwggDyAGKQMANwMAIAUgDWohBSAIIAZBOGoiBksNAAsLIAEgCUcEQCACIAVBOGxqIgkgBikDMDcDMCAJIAYpAyg3AyggCSAGKQMgNwMgIAkgBikDGDcDGCAJIAYpAxA3AxAgCSAGKQMINwMIIAkgBikDADcDACAGQThqIQYgBUEBaiEFIAtBOGshCyABIQkMAQsLIAVBOGwiBgRAIAAgAiAG/AoAAAsgASAFRg0EIAEgBWshDSAAIAZqIQBBACELAkAgBUEBaiABRwRAIA1BAXEgDUF+cSEJIBAgEWohByAAIQYDQCAGIAcpAzA3AzAgBiAHKQMoNwMoIAYgBykDIDcDICAGIAcpAxg3AxggBiAHKQMQNwMQIAYgBykDCDcDCCAGIAcpAwA3AwAgBkE4aiAMIAtB/v///wFzQThsaiIIKQMANwMAIAZBQGsgCCkDCDcDACAGQcgAaiAIKQMQNwMAIAZB0ABqIAgpAxg3AwAgBkHYAGogCCkDIDcDACAGQeAAaiAIKQMoNwMAIAZB6ABqIAhBMGopAwA3AwAgB0HwAGshByAGQfAAaiEGIAkgC0ECaiILRw0AC0UNAQsgACALQThsaiIJIAwgC0F/c0E4bGoiBikDMDcDMCAJIAYpAyg3AyggCSAGKQMgNwMgIAkgBikDGDcDGCAJIAYpAxA3AxAgCSAGKQMINwMIIAkgBikDADcDAAsgASAFTwRAQQAhBSANIgFBIUkNBAwBCwsgBSABIAFB4PXIABCHDgALQcSwyQBBE0HQ9cgAEL8TCwALIA1BAkkNAEEBIQYgDUEBdiIBQThsIgQgAmohAyAAIARqIRMCQCANQQhPBEAgACACEJMIIBMgAxCTCEEEIQYMAQsgAiAAKQMwNwMwIAIgACkDKDcDKCACIAApAyA3AyAgAiAAKQMYNwMYIAIgACkDEDcDECACIAApAwg3AwggAiAAKQMANwMAIAMgEykDMDcDMCADIBMpAyg3AyggAyATKQMgNwMgIAMgEykDGDcDGCADIBMpAxA3AxAgAyATKQMINwMIIAMgEykDADcDAAsgDSABayEPIAEgBksEQCAGQThsIQkgBiEEA0AgBEE4bCIFIAJqIgggACAFaiIKKQMANwMAIAggCikDMDcDMCAIIAopAyg3AyggCCAKKQMgNwMgIAggCikDGDcDGCAIIAopAxA3AxAgCEEIaiAKKQMIIhU3AwAgCEEEaigCACILIAhBNGsoAgAgFaciDiAIQTBrKAIAIgcgByAOSxsQjxMiBSAOIAdrIAUbQQBIBEAgCkEMaiEQIAgoAgAhCiAJIQUCfwJAA0AgAiAFaiIMQThrIQcgDCAHKQMwNwMwIAwgBykDKDcDKCAMIAcpAyA3AyAgDCAHKQMYNwMYIAwgBykDEDcDECAMIAcpAwg3AwggDCAHKQMANwMAIAVBOEYNASAFQThrIQUgCyAMQewAaygCACAOIAxB6ABrKAIAIgggCCAOSxsQjxMiByAOIAhrIAcbQQBIDQALIAIgBWoMAQsgAgsgCjYCACAMQTBrIA42AgAgDEE0ayALNgIAIAxBLGsiBSAQKQIANwIAIAUgECkCCDcCCCAFIBApAhA3AhAgBSAQKQIYNwIYIAUgECkCIDcCICAFIBAoAig2AigLIAlBOGohCSAEQQFqIgQgAUcNAAsLIAYgD0kEQCAGQThsIQ5BOCEEIAMhBQNAIAZBOGwiCSADaiIIIAkgE2oiCikDADcDACAIIAopAzA3AzAgCCAKKQMoNwMoIAggCikDIDcDICAIIAopAxg3AxggCCAKKQMQNwMQIAhBCGogCikDCCIVNwMAIAhBBGooAgAiECAIQTRrKAIAIBWnIhIgCEEwaygCACIHIAcgEksbEI8TIgkgEiAHayAJG0EASARAIApBDGohDCAIKAIAIQggBCELIAUhCgJ/AkADQCAKIA5qIhFBOGshCSARIAkpAzA3AzAgESAJKQMoNwMoIBEgCSkDIDcDICARIAkpAxg3AxggESAJKQMQNwMQIBEgCSkDCDcDCCARIAkpAwA3AwAgCyAORg0BIAtBOGohCyAKQThrIQogECARQewAaygCACASIBFB6ABrKAIAIgcgByASSxsQjxMiCSASIAdrIAkbQQBIDQALIAogDmoMAQsgAwsgCDYCACARQTBrIBI2AgAgEUE0ayAQNgIAIBFBLGsiCSAMKQIANwIAIAkgDCkCCDcCCCAJIAwpAhA3AhAgCSAMKQIYNwIYIAkgDCkCIDcCICAJIAwoAig2AigLIARBOGshBCAFQThqIQUgDyAGQQFqIgZHDQALCyADQThrIQUgDUE4bEE4ayIEIAJqIQogACAEaiEGA0AgACACIAMgA0EEaigCACACQQRqKAIAIANBCGooAgAiByACQQhqKAIAIgkgByAJSRsQjxMiBCAHIAlrIAQbIgdBAE4iCRsiBCkDMDcDMCAAIAQpAyg3AyggACAEKQMgNwMgIAAgBCkDGDcDGCAAIAQpAxA3AxAgACAEKQMINwMIIAAgBCkDADcDACAGIAogBSAKQQRqKAIAIAVBBGooAgAgCkEIaigCACILIAVBCGooAgAiCCAIIAtLGxCPEyIEIAsgCGsgBBsiBEEAThsiCCkDMDcDMCAGIAgpAyg3AyggBiAIKQMgNwMgIAYgCCkDGDcDGCAGIAgpAxA3AxAgBiAIKQMINwMIIAYgCCkDADcDACACIAlBOGxqIQIgAyAHQR92QThsaiEDIAUgBEEfdSIEQThsaiEFIAogBEF/c0E4bGohCiAGQThrIQYgAEE4aiEAIAFBAWsiAQ0ACyAFQThqIQQgDUEBcQR/IAAgAiADIAIgBEkiARsiBSkDMDcDMCAAIAUpAyg3AyggACAFKQMgNwMgIAAgBSkDGDcDGCAAIAUpAxA3AxAgACAFKQMINwMIIAAgBSkDADcDACADIAIgBE9BOGxqIQMgAiABQThsagUgAgsgBEYgAyAKQThqRnENABCkFQALIBRBQGskAAufIAIHfwJ+IwBBsAJrIgMkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBDiABKAIAIgRBDWsgBEEMTRtBAWsODgECAwQFBgcICQoLDA0OAAtBACECIAEoAgggASgCDBC5FCEBDBYLQYIBQYMBIAEtAAQbIQFBACECDBULQQAhAiABKAIIIAEoAgwQuRQhAQwUCyACLQACIAMgASkDCCIKNwPAAQ0LIApC/////////w98Qv////////8fWgRAIAMgA0HAAWqtQoCAgIAghDcD8AFB9bzBACADQfABahDKDyEBQQEhAgwUC0EAIQIgCrkQ+xQhAQwTC0EAIQIgA0EAOgCcAiADQgA3AJQCIAFBBGogA0HwAWoQsQpBJBC5FCEBDBILIAEoAgwhBCABKAIIIQUQgxUhASAERQRAQQAhAgwSCyAEQQV0IQcCQANAIAMgBSACEKgBIAMoAgQhBCADKAIAQQFxDQEgASAGIAQQ+BQgBkEBaiEGIAVBIGohBSAHQSBrIgcNAAtBACECDBILQQEhAiABQYQBTwRAIAEQ0xILIAQhAQwRC0EAIQIgASgCCCABKAIMELkUIQEMEAsgASgCDCABKAIIIQECfyACLQABRQRAEIQVDAELQQEhBhCFFQshBCADIAI2AoACIANBADYC+AEgAyAENgL0ASADIAY2AvABQTBsIQICQAJAA0AgAkUNASADIAFBEGo2AsABIAFBBGooAgAgAUEIaigCABC5FCEEAkAgAygC+AFFDQAgAygC/AEiBUGEAUkNACAFENMSCyABQTBqIQEgAyAENgL8ASACQTBrIQIgA0EBNgL4ASADQQhqIANB8AFqIANBwAFqEMsLIAMoAghBAUcNAAsgAygCDCEBIAMoAvQBIgJBhAFPBEAgAhDTEgtBASECIAMoAvgBRQ0RIAMoAvwBIgVBgwFLDQEMEQtBACECIAMoAvQBIQEgAygC+AFFDRAgAygC/AEiBUGEAUkNEAsgBRDTEgwPC0GBAUGAASACLQAAGyEBQQAhAgwOCyADQfABaiABQQRqEK0CIAMoAvQBIgIgAygC+AEQuRQhASADKALwASIEBEAgAkEEaygCACIGQXhxIQUgBUEEQQggBkEDcSIGGyAEakkNDyAGQQBHIAUgBEEnaktxDRAgAhC8BQtBACECDA0LAkAgAUEIaiIBEOMDRQ0AIANB8AFqIAEQjg0gAykD8AFCAVINACADKQP4ASIKQv////////8PVg0AIAItAAIhAiMAQRBrIgEkACABIAo3AwAgA0EQaiEFAn8gAkEBcUUEQCAKQoCAgICAgIAQWgRAIAEgAa1CgICAgBCENwMIQfW8wQAgAUEIahDKDyEEQQEMAgsgCroQ+xQhBEEADAELIAoQ+hQhBEEACyECIAUgBDYCBCAFIAI2AgAgAUEQaiQAIAMoAhQhASADKAIQIQIMDQsgA0EANgLIASADQoCAgIAQNwLAASADQbiqwgA2AvQBIANCoICAgAY3AvgBIAMgA0HAAWo2AvABIAEgA0HwAWoiARD3AQ0PIAMoAsABIQQgASADKALEASIFIAMoAsgBEJwBIAMtAPABQQFGDQVBACECIAMrA/gBEPsUIQEgBEUNDCAFQQRrKAIAIgdBeHEhBiAGQQRBCCAHQQNxIgcbIARqSQ0NIAdBAEcgBiAEQSdqS3ENDiAFELwFDAwLIANB8AFqIAEpAwgQlgogAygC9AEiAiADKAL4ARC5FCEBIAMoAvABIgQEQCACQQRrKAIAIgZBeHEhBSAFQQRBCCAGQQNxIgYbIARqSQ0NIAZBAEcgBSAEQSdqS3ENDiACELwFC0EAIQIMCwsgA0HwAWogASgCCCABKAIMENsMIAMoAvQBIgIgAygC+AEQuRQhASADKALwASIEBEAgAkEEaygCACIGQXhxIQUgBUEEQQggBkEDcSIGGyAEakkNDCAGQQBHIAUgBEEnaktxDQ0gAhC8BQtBACECDAoLAn8gAi0AAUUEQBCEFSEGQQAMAQsQhRUhBkEBCyEEIAMgAjYCTCADQQA2AkQgAyAGNgJAIAMgBDYCPCADQSBqIANBPGpBiIbGAEEMQZSGxgBBBRDvDCADKAIgQQFxBEAgAygCJCEBDAgLIAMCfkHQ8MkALQAABEBByPDJACkDACEKQcDwyQApAwAMAQsgA0HwAWoQuxFB0PDJAEEBOgAAQcjwyQAgAykD+AEiCjcDACADKQPwAQsiCzcDUEHA8MkAIAtCAXw3AwAgA0EANgJoIANCgICAgIABNwNgIAMgCjcDWCADQZCpyQApAwA3AmwgA0GYqckAKQMANwJ0QQQQkAEiAkUNDiACQe7CtasGNgAAIANBBDYCvAEgAyACNgK4ASADQQQ2ArQBAkAgASgCFCICRQRAQQEhBQwBCyABKAIQIQQgAhCQASIFRQ0PIAJFDQAgBSAEIAL8CgAACyADQYOAgIB4NgLQASADIAI2AsgBIAMgBTYCxAEgAyACNgLAASADQfABaiADQdAAaiADQbQBaiADQcABahDSAyADIAMpA6ACNwOoASADIAMpA5gCNwOgASADIAMpA5ACNwOYASADIAMpA4gCIgo3A5ABIAMgAykDgAI3A4gBIAMgAykD+AE3A4ABIAqnQX9HBEAgA0GAAWoQ+wkLQQQQkAEiAkUNDiACQfTywasGNgAAIANBBDYCvAEgAyACNgK4ASADQQQ2ArQBIANBADYCyAEgA0KAgICAEDcCwAEgA0G4qsIANgL0ASADQqCAgIAGNwL4ASADIANBwAFqNgLwASABQQRqIANB8AFqEO8ODQwgAygCyAEiAUEASA0DIAMoAsQBIQIgAygCwAEhBCABRQRAQQEhBQwHCyABEJABIgVFDQ4gAUUNBiAFIAIgAfwKAAAMBgsgASgCECEHIAEoAgwhCCABKAIcIQQgASgCGCEJAn8gAi0AAUUEQBCEFQwBC0EBIQYQhRULIQUgAyACNgJMIANBADYCRCADIAU2AkAgAyAGNgI8IANBMGogA0E8akGIhsYAQQxBuIbGAEENEO8MIAMoAjBBAXEEQCADKAI0IQEMBAsgAwJ+QdDwyQAtAAAEQEHI8MkAKQMAIQpBwPDJACkDAAwBCyADQfABahC7EUHQ8MkAQQE6AABByPDJACADKQP4ASIKNwMAIAMpA/ABCyILNwNQQcDwyQAgC0IBfDcDACADQQA2AmggA0KAgICAgAE3A2AgAyAKNwNYIANBkKnJACkDADcCbCADQZipyQApAwA3AnRBBBCQASICRQ0NIAJB7sK1qwY2AAAgA0EENgK8ASADIAI2ArgBIANBBDYCtAECQCAERQRAQQEhAgwBCyAEEJABIgJFDQ4gBEUNACACIAkgBPwKAAALIANBg4CAgHg2AtABIAMgBDYCyAEgAyACNgLEASADIAQ2AsABIANB8AFqIANB0ABqIANBtAFqIANBwAFqENIDIAMgAykDoAI3A6gBIAMgAykDmAI3A6ABIAMgAykDkAI3A5gBIAMgAykDiAIiCjcDkAEgAyADKQOAAjcDiAEgAyADKQP4ATcDgAEgCqdBf0cEQCADQYABahD7CQtBBBCQASICRQ0NIAJB4eSdmwc2AAAgA0EENgK8ASADIAI2ArgBIANBBDYCtAEgA0HwAWoiAiAIIAcQ3wsgAygCgAJBf0YNDCADIAMpA5gCNwPoASADIAMpA5ACNwPgASADIAMpA4gCNwPYASADIAMpA4ACNwPQASADIAMpA/gBNwPIASADIAMpA/ABNwPAASACIANB0ABqIANBtAFqIANBwAFqENIDIAMgAykDoAI3A6gBIAMgAykDmAI3A6ABIAMgAykDkAI3A5gBIAMgAykDiAIiCjcDkAEgAyADKQOAAjcDiAEgAyADKQP4ATcDgAEgCqdBf0cEQCADQYABahD7CQtBChCQASICRQ0NIAJBzYbGAC8AADsACCACQcWGxgApAAA3AAAgA0EKNgK8ASADIAI2ArgBIANBCjYCtAEgA0HwAWoiAiABEKcCIAMoAoACQX9GDQwgAyADKQOYAjcD6AEgAyADKQOQAjcD4AEgAyADKQOIAjcD2AEgAyADKQOAAjcD0AEgAyADKQP4ATcDyAEgAyADKQPwATcDwAEgAiADQdAAaiADQbQBaiADQcABahDSAyADIAMpA6ACNwOoASADIAMpA5gCNwOgASADIAMpA5ACNwOYASADIAMpA4gCIgo3A5ABIAMgAykDgAI3A4gBIAMgAykD+AE3A4ABIAqnQX9HBEAgA0GAAWoQ+wkLIAMgAykDUDcD8AEgAyADKQNYNwP4ASADIAMpA2A3A4ACIAMgAykDaDcDiAIgAyADKQNwNwOQAiADIAMpA3g3A5gCQZmGxgBBDRC5FCEBAkAgAygCREUNACADKAJIIgJBhAFJDQAgAhDTEgsgAyABNgJIIANBATYCRCADQShqIANBPGogA0HwAWoiAhDPCyADKAIoIAMoAiwhASACEPsJQQFxDQNBACECIAMoAkAhASADKAJERQ0IIAMoAkgiBUGDAU0NCAwEC0EAIQIgChD5FCEBDAcLIAMgAy0A8QE6AMABQYiwyQBBKyADQcABakGAgMAAQfiFxgAQ2hIACxCeFQALIAMoAkAiAkGEAU8EQCACENMSC0EBIQIgAygCREUNBCADKAJIIgVBhAFJDQQLIAUQ0xIMAwsgA0GDgICAeDYC0AEgAyABNgLIASADIAU2AsQBIAMgATYCwAEgA0HwAWogA0HQAGogA0G0AWogA0HAAWoQ0gMgAyADKQOgAjcDqAEgAyADKQOYAjcDoAEgAyADKQOQAjcDmAEgAyADKQOIAiIKNwOQASADIAMpA4ACNwOIASADIAMpA/gBNwOAASAKp0F/RwRAIANBgAFqEPsJCyAEBEAgAiAEENkSCyADIAMpA1A3A/ABIAMgAykDWDcD+AEgAyADKQNgNwOAAiADIAMpA2g3A4gCIAMgAykDcDcDkAIgAyADKQN4NwOYAkGZhsYAQQ0QuRQhAQJAIAMoAkRFDQAgAygCSCICQYQBSQ0AIAIQ0xILIAMgATYCSCADQQE2AkQgA0EYaiADQTxqIANB8AFqIgIQzwsgAygCGCADKAIcIQEgAhD7CUEBcQ0AQQAhAiADKAJAIQEgAygCREUNAiADKAJIIgVBgwFNDQIMAQsgAygCQCICQYQBTwRAIAIQ0xILQQEhAiADKAJERQ0BIAMoAkgiBUGEAUkNAQsgBRDTEgsgACACNgIAIAAgATYCBCADQbACaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfC1yQBBNyADQa8CakHQqsIAQai2yQAQ2hIACyADIAMoAvABNgLAAUGIsMkAQSsgA0HAAWpBkIDAAEHQhsYAENoSAAtBARCnFAAL2h0CFX8IfiMAQfAFayIDJABBfyEKQQEhDQJAAkACQAJAAkACQCABKAIAIgxBf0YNAEECIQoCQAJAAkACQEEDIAxBAmsgDEEBTRtBAWsOBAABAgMEC0EDIQoMAwtB5AAQkAEiBkUNByAGIAEoAgQQ4QZBBCEKDAILQQEhCiABKAIEIgYoAgAhBSAGIAVBAWo2AgAgASgCDCETIAEoAgghFCAMQQFGBEBBACENIAVBAEgNBAwCC0EAIQ1BACEKIAVBAE4NAQwDC0EGIQoLIANByARqIAEQ+Q0gAwJ+QdDwyQAtAAAEQEHI8MkAKQMAIRlBwPDJACkDAAwBCyADELsRQdDwyQBBAToAAEHI8MkAIAMpAwgiGTcDACADKQMACyIYNwOwAkHA8MkAIBhCAnw3AwAgA0EANgLIAiADQoCAgICAATcDwAIgAyAZNwO4AiADQQA2AvAEIANCgICAgIABNwPoBCADIBk3A+AEIANBkKnJACkDACIaNwLMAiADQZipyQApAwAiGTcC1AIgAyAaNwL0BCADIBk3AvwEIAMgGEIBfDcD2AQCQCADKALMBCIBIAMoAtQEIgRGDQAgAyABQdgAajYCzAQgASgCACIVQX9HBEAgA0HoBGohFiADQcACaiEXIANBEGohDiADQRRqIQggA0GoBWohCQNAIAEoAkghByABKAJQIQ8gASgCTCEQIANB4AFqIAFBBGpBxAD8CgAAIAMgAiAQIA8Q7wYCQCADKAIAQX9GBEBBACEEIAMoAhQhBSADKAIEQQFxRQRAIAVBCGogAygCCBCECSEECyAFIAUoAgAiAUEBazYCACABQQFHDQEgBRAwDAELIANBoAVqIBAgDyACEPwEAkAgAygCoAUiEUF/Rg0AIAMoAqQFIRIgAygCqAUiBARAIBJBEGohAQNAIAEoAgAiBSgCACELIAUgC0EBazYCACALQQFGBEAgASgCABAwCyABQRRqIQEgBEEBayIEDQALCyARRQ0AIBJBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiBRsgEUEUbCIBakkNByAFQQBHIAQgAUEnaktxDQggEhC8BQsgEUF/RyEECyADKAIAQX9HBEAgAxDBBwsgA0GwAmoiBSADQdgEaiIBIAQbIgsoAiRFBEAgBSABIARBAXEbIgFBHGpBASABKAIUIAsoAhgQxwMLIAsoAhAgCygCGEYEQCAXIBYgBBsgCygCJCALKAIoahC0EAsgAyAPNgIIIAMgEDYCBCADIAc2AgAgCCADQeABakHEAPwKAAAgAyAVNgIQIANBoAVqIAsgAyAOEN0GIANB+AJqIgEgCUHIAPwKAAAgAygC+AJBf0cEQCABEK4HCyADKALMBCIBIAMoAtQEIgRGDQIgAyABQdgAajYCzAQgASgCACIVQX9HDQALCyABQdgAaiEBCyAEIAFrQdgAbiEIIAEgBEcEQANAAkAgAUHIAGooAgAiCUF/Rg0AIAlFDQAgAUHMAGooAgAiBEEEaygCACIFQXhxIQcgB0EEQQggBUEDcSIFGyAJakkNBSAFQQBHIAcgCUEnaktxDQYgBBC8BQsgARCuByABQdgAaiEBIAhBAWsiCA0ACwsgAygC0AQiAQRAIAMoAsgEIgRBBGsoAgAiBUF4cSEHIAcgAUHYAGwiAUEEQQggBUEDcSIFG2pJDQMgBUEARyAHIAFBJ2pLcQ0EIAQQvAULIAMgAykD2AI3AyggAyADKQPQAjcDICADIAMpA8gCNwMYIAMgAykDwAI3AxAgAyADKQO4AjcDCCADIAMpA7ACNwMAIAMgAykD2AQ3AzAgAyADKQPgBDcDOCADIAMpA+gENwNAIAMgAykD8AQ3A0ggAyADKQP4BDcDUCADIAMpA4AFNwNYIAMgAykDADcDcCADIAMpAwg3A3ggAyADKQMQNwOAASADIAMpAxg3A4gBIAMgAykDIDcDkAEgAyADKQMoNwOYASADIAMpAzA3A7ABIAMgAykDODcDuAEgAyADKQNANwPAASADIAMpA0g3A8gBIAMgAykDUDcD0AEgAyADKQNYNwPYASADQX82AmAgA0F/NgKgAQJAIAxBf0YEQEF/IQQMAQtBBiEEAkACQAJAAkAgCkECa0EDIA0bQQFrDgQAAQIEAwtBAyEEDAMLQeQAEJABIgFFDQcgASAGEOEGQQQhBAwCC0EBIQQgBiAGKAIAIgVBAWo2AgAgCkEBRgRAIAYhASAFQQBIDQQMAgsgBUEASA0DQQAhBCAGIQEMAQtBAiEECyADIBM2AmwgAyAUNgJoIAMgATYCZCADIAQ2AmAgAyATNgKsASADIBQ2AqgBIAMgBjYCpAEgAyAKNgKgASADQbACaiIGIANB4ABqEPkNIAMgAjYCwAIgA0F/NgKoAyADIANB+AJqNgLEAiADQaAFaiIBIAYQhAICfyADLQCgBUH/AUcEQEHAAhCQASIGRQ0CIAYgAUHQAPwKAAAgA0EBNgLQBCADIAY2AswEIANBBDYCyAQgAyADKQLAAjcD6AQgAyADKQK4AjcD4AQgAyADKQKwAjcD2ARB0AAhBEEBIQEDQCADIANB2ARqEIQCIAMtAABB/wFHBEAgAygCyAQgAUYEQCADQcgEaiABQQFBCEHQABCzESADKALMBCEGCyAEIAZqIANB0AD8CgAAIAMgAUEBaiIBNgLQBCAEQdAAaiEEDAELCyADKALkBCIFIAMoAtwEIgRrQdgAbiEKIAQgBUcEQANAAkAgBEHIAGooAgAiCEF/Rg0AIAhFDQAgBEHMAGooAgAiB0EEaygCACIFQXhxIQkgCUEEQQggBUEDcSIFGyAIakkNByAFQQBHIAkgCEEnaktxDQggBxC8BQsgBBCuByAEQdgAaiEEIApBAWsiCg0ACwsgAygC4AQiCQRAIAMoAtgEIgdBBGsoAgAiBUF4cSEIIAhBBEEIIAVBA3EiBBsgCUHYAGwiBWpJDQUgBEEARyAIIAVBJ2pLcQ0GIAcQvAULIAMoAsgEDAELIAMoArwCIgYgAygCtAIiAWtB2ABuIQggASAGRwRAA0ACQCABQcgAaigCACIHQX9GDQAgB0UNACABQcwAaigCACIFQQRrKAIAIgZBeHEhBCAEQQRBCCAGQQNxIgYbIAdqSQ0GIAZBAEcgBCAHQSdqS3ENByAFELwFCyABEK4HIAFB2ABqIQEgCEEBayIIDQALC0EAIQEgAygCuAIiBwRAIAMoArACIgRBBGsoAgAiBkF4cSEJIAlBBEEIIAZBA3EiBRsgB0HYAGwiBmpJDQQgBUEARyAJIAZBJ2pLcQ0FIAQQvAULQQghBkEACyEFAkAgAygCqAMiDkF/RwRAIAMgAykChAM3A6AEIAMgAykCjAM3A6gEIAMgAykClAM3A7AEIAMgAykCnAM3A7gEIAMgAygCpAM2AsAEIAMgAykCrAM3A5AEIAMgAygCtAM2ApgEIAMoAoADIQggAygC/AIhCSADKAL4AiEHIAEEQCAGIQQDQCAEEK8EIARB0ABqIQQgAUEBayIBDQALCyAFBEAgBkEEaygCACIBQXhxIQQgBEEEQQggAUEDcSICGyAFQdAAbCIBckkNBSACQQBHIAQgAUEnaktxDQYgBhC8BQsgACAINgIQIAAgCTYCDCAAIAc2AgggACADKQOgBDcCFCAAIAMpA6gENwIcIAAgAykDsAQ3AiQgACADKQO4BDcCLCAAIAMoAsAENgI0IAAgDjYCOCAAIAMpA5AENwI8IAAgAygCmAQ2AkQgAEH/AToAACADQaABahDjCQwBCyADIAMpA6AENwL0ASADIAMpA6gENwL8ASADIAMpA7AENwKEAiADIAMpA7gENwKMAiADIAMoAsAENgKUAiADIAMpA5AENwKcAiADIAMoApgENgKkAiADIAE2AuwBIAMgBjYC6AEgAyAFNgLkASADQQA6AOABIANBfzYCmAIgAigCCCEGIAIoAgQhASACKAIAIgUoAgAhAiAFIAJBAWo2AgAgAkEASA0CIAMgBjYC1AQgAyABNgLQBCADIAU2AswEIANBADYCyAQgA0GgBWogA0GgAWogA0HIBGpBABC2AgJAAkAgAy0AoAUiAkH/AUYEQCADIAMpA+AFIhs3AJcFIAMgAykD2AUiHDcAjwUgAyADKQPQBSIdNwCHBSADIAMpA8gFIh43AP8EIAMgAykDwAUiHzcA9wQgAyADKQO4BSIaNwDvBCADIAMpA7AFIhk3AOcEIAMgAykDqAUiGDcA3wQgAyAYNwOAAyADIBk3A4gDIAMgGjcDkAMgAyAfNwOYAyADIB43A6ADIAMgHTcDqAMgAyAcNwOwAyADIBs3A7gDIANB/wE6APgCIAUgBSgCACIBQQFrNgIAIAFBAUYNAQwCCyADQdgEaiIBIANBoAVqQQFyQccA/AoAACADIAI6AAAgAykD6AUhGCADQQFyIAFBxwD8CgAAIAMgGDcDSCADQfgCaiADEIYGIAUgBSgCACIBQQFrNgIAIAFBAUcNAQsgBRAwCyADLQD4AiIGQf8BRgRAIAMgAykDuAMiGzcA7wIgAyADKQOwAyIcNwDnAiADIAMpA6gDIh03AN8CIAMgAykDoAMiHjcA1wIgAyADKQOYAyIfNwDPAiADIAMpA5ADIho3AMcCIAMgAykDiAMiGTcAvwIgAyADKQOAAyIYNwC3AiAAIBs3AEAgACAcNwA4IAAgHTcAMCAAIB43ACggACAfNwAgIAAgGjcAGCAAIBk3ABAgACAYNwAIIABB/wE6AAAgA0HgAWoQrwQMAQsgA0GwAmoiAiADQfgCakEBckHHAPwKAAAgAykDwAMhGCADQckDaiIBIAJBxwD8CgAAQaABEJABIgJFDQUgAiADQeABakHQAPwKAAAgAiAGOgBQIAJB0QBqIAFBxwD8CgAAIABBAjYCDCAAIAI2AgggAEECNgIEIABBADoAACACIBg3A5gBCyADQfAFaiQADwtBCBCnFAALAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQbjwyQBBAToAAAALqiABBX8jAEEwayICJAAgACgCACIDQegAaiEAIANBCGohBAJAAkACQAJAAkACQAJAAkACQAJAIAMoAgBBAWsOBAECAwQACyACIAA2AgAgASgCACIFQbGayQBBAyABKAIEKAIMIgYRAAAEQEEBIQAMCQsCQAJAIAEtAApBgAFxRQRAQQEhACAFQbTPxQBBASAGEQAADQsgAiADQdgAajYCCCABKAIAQfDwxQBBCiABKAIEKAIMEQAAIQAgAkEAOgAZIAIgADoAGCACIAE2AhRBASEAIAJBFGpByqPJAEEEIARB9QEQiQ5BkMTGAEEFIAJBCGpB4AEQiQ4hBCACLQAYIQMCQCACLQAZIgVBAUcNACADQQFxDQAgBCgCACIDLQAKQYABcQ0CIAMoAgBB7erCAEECIAMoAgQoAgwRAABFDQMMDAsgBQ0LIANBAXFFDQIMCwsgBUGd48IAQQIgBhEAAARAQQEhAAwLCyACQQE6AAcgAkGg68IANgIYIAIgASkCADcCCCACIAEpAgg3AhwgAiACQQdqNgIQIAIgAkEIaiIANgIUIAIgA0HYAGo2AiQgAEHw8MUAQQoQ/QghACACQQA6AC0gAiAAOgAsIAIgAkEUajYCKCACQShqQcqjyQBBBCAEQfUBEIkOQZDExgBBBSACQSRqQeABEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0MDAILIAQNCyAAQQFxRQ0BDAsLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANCgsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQAMCgsgAygCAEGhssgAQQEgAygCBCgCDBEAAA0JCwJAIAEtAApBgAFxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQAMCwtBASEAIAIgARDGEEUNAQwKC0EBIQAgAkEBOgAoIAJBoOvCADYCGCACIAEpAgA3AgggAiABKQIINwIcIAIgAkEoajYCECACIAJBCGo2AhQgAiACQRRqEMYQDQkgAigCFEGkssgAQQIgAigCGCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMCAsgAiAANgIAIAEoAgAiBUGU68UAQQMgASgCBCgCDCIGEQAABEBBASEADAgLAkACQCABLQAKQYABcUUEQEEBIQAgBUG0z8UAQQEgBhEAAA0KIAIgA0HYAGo2AgggASgCAEHw8MUAQQogASgCBCgCDBEAACEAIAJBADoAGSACIAA6ABggAiABNgIUQQEhACACQRRqQcqjyQBBBCAEQfUBEIkOQZDExgBBBSACQQhqQeABEIkOIQQgAi0AGCEDAkAgAi0AGSIFQQFHDQAgA0EBcQ0AIAQoAgAiAy0ACkGAAXENAiADKAIAQe3qwgBBAiADKAIEKAIMEQAARQ0DDAsLIAUNCiADQQFxRQ0CDAoLIAVBnePCAEECIAYRAAAEQEEBIQAMCgsgAkEBOgAHIAJBoOvCADYCGCACIAEpAgA3AgggAiABKQIINwIcIAIgAkEHajYCECACIAJBCGoiADYCFCACIANB2ABqNgIkIABB8PDFAEEKEP0IIQAgAkEAOgAtIAIgADoALCACIAJBFGo2AiggAkEoakHKo8kAQQQgBEH1ARCJDkGQxMYAQQUgAkEkakHgARCJDiEDIAItACwhAAJAAkACQCACLQAtIgRBAUcNACAAQQFxDQAgAygCACIALQAKQYABcQ0BIAAoAgBB7erCAEECIAAoAgQoAgwRAAANCgwCCyAEDQkgAEEBcUUNAQwJCyAAKAIAQaGyyABBASAAKAIEKAIMEQAADQgLIAIoAhRBpLLIAEECIAIoAhgoAgwRAABFDQFBASEADAkLIAMoAgBBobLIAEEBIAMoAgQoAgwRAAANCAsCQCABLQAKQYABcUUEQCABKAIAQYizyQBBAiABKAIEKAIMEQAABEBBASEADAoLQQEhACACIAEQxhBFDQEMCQtBASEAIAJBAToAKCACQaDrwgA2AhggAiABKQIANwIIIAIgASkCCDcCHCACIAJBKGo2AhAgAiACQQhqNgIUIAIgAkEUahDGEA0IIAIoAhRBpLLIAEECIAIoAhgoAgwRAAANCAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAcLIAIgADYCACABKAIAIgVBl+vFAEEDIAEoAgQoAgwiBhEAAARAQQEhAAwHCwJAAkAgAS0ACkGAAXFFBEBBASEAIAVBtM/FAEEBIAYRAAANCSACIANB2ABqNgIIIAEoAgBB8PDFAEEKIAEoAgQoAgwRAAAhACACQQA6ABkgAiAAOgAYIAIgATYCFEEBIQAgAkEUakHKo8kAQQQgBEH1ARCJDkGQxMYAQQUgAkEIakHgARCJDiEEIAItABghAwJAIAItABkiBUEBRw0AIANBAXENACAEKAIAIgMtAApBgAFxDQIgAygCAEHt6sIAQQIgAygCBCgCDBEAAEUNAwwKCyAFDQkgA0EBcUUNAgwJCyAFQZ3jwgBBAiAGEQAABEBBASEADAkLIAJBAToAByACQaDrwgA2AhggAiABKQIANwIIIAIgASkCCDcCHCACIAJBB2o2AhAgAiACQQhqIgA2AhQgAiADQdgAajYCJCAAQfDwxQBBChD9CCEAIAJBADoALSACIAA6ACwgAiACQRRqNgIoIAJBKGpByqPJAEEEIARB9QEQiQ5BkMTGAEEFIAJBJGpB4AEQiQ4hAyACLQAsIQACQAJAAkAgAi0ALSIEQQFHDQAgAEEBcQ0AIAMoAgAiAC0ACkGAAXENASAAKAIAQe3qwgBBAiAAKAIEKAIMEQAADQgMAgsgBA0HIABBAXFFDQEMBwsgACgCAEGhssgAQQEgACgCBCgCDBEAAA0GCyACKAIUQaSyyABBAiACKAIYKAIMEQAARQ0BQQEhAAwICyADKAIAQaGyyABBASADKAIEKAIMEQAADQcLAkAgAS0ACkGAAXFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARAQQEhAAwJC0EBIQAgAiABEMYQRQ0BDAgLQQEhACACQQE6ACggAkGg68IANgIYIAIgASkCADcCCCACIAEpAgg3AhwgAiACQShqNgIQIAIgAkEIajYCFCACIAJBFGoQxhANByACKAIUQaSyyABBAiACKAIYKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwGCyACIAA2AgAgASgCACIFQZrrxQBBAyABKAIEKAIMIgYRAAAEQEEBIQAMBgsCQAJAIAEtAApBgAFxRQRAQQEhACAFQbTPxQBBASAGEQAADQggAiADQdgAajYCCCABKAIAQfDwxQBBCiABKAIEKAIMEQAAIQAgAkEAOgAZIAIgADoAGCACIAE2AhRBASEAIAJBFGpByqPJAEEEIARB9QEQiQ5BkMTGAEEFIAJBCGpB4AEQiQ4hBCACLQAYIQMCQCACLQAZIgVBAUcNACADQQFxDQAgBCgCACIDLQAKQYABcQ0CIAMoAgBB7erCAEECIAMoAgQoAgwRAABFDQMMCQsgBQ0IIANBAXFFDQIMCAsgBUGd48IAQQIgBhEAAARAQQEhAAwICyACQQE6AAcgAkGg68IANgIYIAIgASkCADcCCCACIAEpAgg3AhwgAiACQQdqNgIQIAIgAkEIaiIANgIUIAIgA0HYAGo2AiQgAEHw8MUAQQoQ/QghACACQQA6AC0gAiAAOgAsIAIgAkEUajYCKCACQShqQcqjyQBBBCAEQfUBEIkOQZDExgBBBSACQSRqQeABEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0GDAILIAQNBSAAQQFxRQ0BDAULIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANBAsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQAMBwsgAygCAEGhssgAQQEgAygCBCgCDBEAAA0GCwJAIAEtAApBgAFxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQAMCAtBASEAIAIgARDGEEUNAQwHC0EBIQAgAkEBOgAoIAJBoOvCADYCGCACIAEpAgA3AgggAiABKQIINwIcIAIgAkEoajYCECACIAJBCGo2AhQgAiACQRRqEMYQDQYgAigCFEGkssgAQQIgAigCGCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMBQsgAiAANgIAIAEoAgAiBUGd68UAQQMgASgCBCgCDCIGEQAABEBBASEADAULAkACQAJAIAEtAApBgAFxRQRAQQEhACAFQbTPxQBBASAGEQAADQggAiADQdgAajYCCCABKAIAQfDwxQBBCiABKAIEKAIMEQAAIQAgAkEAOgAZIAIgADoAGCACIAE2AhRBASEAIAJBFGpByqPJAEEEIARB9QEQiQ5BkMTGAEEFIAJBCGpB4AEQiQ4hBCACLQAYIQMCQCACLQAZIgVBAUcNACADQQFxDQAgBCgCACIDLQAKQYABcQ0CIAMoAgBB7erCAEECIAMoAgQoAgwRAABFDQMMCQsgBQ0IIANBAXFFDQIMCAsgBUGd48IAQQIgBhEAAARAQQEhAAwICyACQQE6AAcgAkGg68IANgIYIAIgASkCADcCCCACIAEpAgg3AhwgAiACQQdqNgIQIAIgAkEIaiIANgIUIAIgA0HYAGo2AiQgAEHw8MUAQQoQ/QghACACQQA6AC0gAiAAOgAsIAIgAkEUajYCKCACQShqQcqjyQBBBCAEQfUBEIkOQZDExgBBBSACQSRqQeABEIkOIQMgAi0ALCEAAkACQAJAIAItAC0iBEEBRw0AIABBAXENACADKAIAIgAtAApBgAFxDQEgACgCAEHt6sIAQQIgACgCBCgCDBEAAA0FDAILIAQNBCAAQQFxRQ0BDAQLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAANAwsgAigCFEGkssgAQQIgAigCGCgCDBEAAEUNAUEBIQAMBwsgAygCAEGhssgAQQEgAygCBCgCDBEAAA0GCwJAIAEtAApBgAFxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQAMCAtBASEAIAIgARDGEEUNAQwHC0EBIQAgAkEBOgAoIAJBoOvCADYCGCACIAEpAgA3AgggAiABKQIINwIcIAIgAkEoajYCECACIAJBCGo2AhQgAiACQRRqEMYQDQYgAigCFEGkssgAQQIgAigCGCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMBQtBASEADAQLQQEhAAwDC0EBIQAMAgtBASEADAELQQEhAAsgAkEwaiQAIAALvR8BC38jAEGgAWsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAIgMCfwJAAkACQAJAAkACQAJAIAEtAABBAWsOEgIDBAUVAAgJCgsMDQ4PEBESEwELIAEoAhwiBkF/Rw0FQRUMBgsgASgCBA0SIANBFTYCAAwkCyABKAIIDSIgA0EVNgIADCMLIAEoAgQNICADQRU2AgAMIgsgASgCCA0eIANBFTYCAAwhCwJAAkAgASgCBCIAQX5HBEAgASgCDCEEIAEoAgghASAAQX9GDQEgASEFDAILIANBFTYCAAwiC0EAIQACQCAEQQBOBH8gBEUEQEEBIQVBACEEDAMLIAQQkAEiBQ0BQQEFQQALEKcUAAsgBARAIAUgASAE/AoAAAsgBCEACyADIAQ2AgwgAyAFNgIIIAMgADYCBCADQQ02AgAMIAsgASgCJCIFQf///z9LDRsgBUEFdCIHQfn///8HTw0bIAEoAiAhCUEIIQAgBwRAIAUhBCAHEJABIgBFDRALIAJBADYCPCACIAA2AjggAiAENgI0IAIgCSAFQQxsajYCbCACIAY2AmggAiAJNgJkIAIgCTYCYCACQQA2AhQgAiACQTxqNgIQIAIgADYCGCMAQeAAayIIJAAgAkEQaiIEKAIEIQUgBCgCACACQeAAaiIAKAIIIQogACgCACELIAAoAgQiDCAAKAIMIgBHBEAgBCgCCCAFQQV0aiEEIAhBKGpBAXIhCSAIQQtqIQcDQCAHIAwoAAg2AAggByAMKQAANwAAIAkgCCkADzcAByAJIAgpAAg3AAAgCEEEOgAoIAhBCGogCEEoahCrASAEIAgpAyA3AxggBCAIKQMYNwMQIAQgCCkDEDcDCCAEIAgpAwg3AwAgBEEgaiEEIAVBAWohBSAAIAxBDGoiDEcNAAsLIAoEQCALQQRrKAIAIgBBeHEhByAHQQRBCCAAQQNxIgQbIApBDGwiAGpJDSIgBEEARyAHIABBJ2pLcQ0jIAsQvAULIAU2AgAgCEHgAGokACADIAIoAjw2AgwgAyACKQI0NwIEQRILNgIAIAEoAgQiAEF+Rg0eAkAgAEF/Rg0AIABFDQAgASgCCCAAENkSCyABKAIQIgBBAEwNHiABKAIUIAAQ2RIMHgsCQAJAIAEoAgQiAEF+RwRAIAEoAgwhBCABKAIIIQEgAEF/Rg0BIAEhBQwCCyADQRU2AgAMHwtBACEAAkAgBEEATgR/IARFBEBBASEFQQAhBAwDCyAEEJABIgUNAUEBBUEACxCnFAALIAQEQCAFIAEgBPwKAAALIAQhAAsgAyAENgIMIAMgBTYCCCADIAA2AgQgA0EZNgIADB0LIAEtAAEiAEECRwRAIANBDjYCACADIAA6AAQMHQsgA0EVNgIADBwLIAEoAgQiBUF/Rg0NIAJBADYCYCAFQYABSQ0MIAVBP3FBgH9yIQQgBUEGdiEAIAVBgBBJBEAgAiAEOgBhIAIgAEHAAXI6AGBBAiEBDBULIAVBDHYhASAAQT9xQYB/ciEAIAVB//8DTQRAIAIgBDoAYiACIAA6AGEgAiABQeABcjoAYEEDIQEMFQsgAiAEOgBjIAIgADoAYiACIAFBP3FBgH9yOgBhIAIgBUESdkFwcjoAYEEEIQEMFAsgASgCBCIHQX9HBEAgASgCCCIFIQAgASgCDCIBBEAgACABQcgAbGohBiAAIQEDQCABQQRqKAIAIQsgASgCACEKIAIgAUFAaykDADcDkAEgAiABQThqKQMANwOIASACIAFBMGopAwA3A4ABIAIgAUEoaikDADcDeCACIAFBIGopAwA3A3AgAiABQRhqKQMANwNoIAIgAUEQaikDADcDYCACQUBrIAJB4ABqEKsBIApBAWtBfE0EQCALQQRrKAIAIgRBeHEhCSAJQQRBCCAEQQNxIgQbIApqSQ0gIARBAEcgCSAKQSdqS3ENISALELwFCyAAIAIpA1g3AxggACACKQNQNwMQIAAgAikDSDcDCCAAIAIpA0A3AwAgAEEgaiEAIAYgAUHIAGoiAUcNAAsLIAUhBCAHQcgAbCIGQRhxRQ0TIAZBYHEiAUUEQEEIIQQgBSAGENkSDBQLIAUgBkEIIAEQrQYiBA0TQbjwyQBBAToAAAALIANBFTYCAAwaCyABKAIIIgZBf0cEQCABKAIMIQUgAkEANgIYIAJCgICAgBA3AhAgAkHgkskANgJkIAJCoICAgAY3AmggAiACQRBqNgJgIAFBCGogAkHgAGoQ9wENGyADIAIoAhg2AgwgAyACKQIQNwIEIANBDTYCACAGRQ0aIAVBBGsoAgAiAEF4cSEEIARBBEEIIABBA3EiARsgBkECdCIAakkNHCABQQBHIAQgAEEnaktxDR0gBRC8BQwaCyADQRU2AgAMGQsgASgCGEF/RwRAIAJBADYCGCACQoCAgIAQNwIQIAJB4JLJADYCZCACQqCAgIAGNwJoIAIgAkEQajYCYCACIAJB4ABqNgIoIAIgAkEoajYCNCABQQhqIgEgAkE0ahCtAyIADQwgAyACKAIYNgIMIAMgAikCEDcCBCADQRM2AgAgARCBCgwZCyADQRU2AgAMGAsCQAJAIAEoAgQiAEF+RwRAIAEoAgwhBCABKAIIIQEgAEF/Rg0BIAEhBQwCCyADQRU2AgAMGQtBACEAAkAgBEEATgR/IARFBEBBASEFQQAhBAwDCyAEEJABIgUNAUEBBUEACxCnFAALIAQEQCAFIAEgBPwKAAALIAQhAAsgAyAENgIMIAMgBTYCCCADIAA2AgQgA0ENNgIADBcLIAEtAAENDSADQRU2AgAMFgsgASgCBARAIANBADYCECADQRY2AgAgAyABQQRqIgAoAgg2AgwgAyAAKQIANwIEDBYLIANBFTYCAAwVCyABKAIEIgAEQCADQQA2AhAgA0IANwMIIAMgADYCBCADQRY2AgAMFQsgA0EVNgIADBQLIAEoAgRFBEAgA0EVNgIADBQLIAEoAgwhBCABKAIIIQEgAkHgAGpBuIXJAEEAEL8NIAIoAmAiAARAIANBADYCECADIAQ2AgwgAyABNgIIIAMgADYCBCADQRY2AgAMFAtBxIXJAEErQfCFyQAQwBMACyACIAEpAgw3AxggAiABKAIUIgA2AiAgAiABKQIENwMQQX8hBSACQeAAaiIGIAIoAhwiCyAAKAIIQQFrQXhxaiIHQQhqIgQgACgCDCIAEQIAIAFBBGohCSACKQNgQv2Jvr+ErpGku3+FIAIpA2hClMP08oy806NxhYRQDQcgBiAEIAARAgACQCACKQNgQovctKvOvLbl5QCFIAIpA2hCooee0Zamop9yhYRQBEAgBygCECIIQQBIDRAgCEUEQEEBIQwMCQsgBygCDCEAIAgQkAEiDA0BDBgLQYCGyQBByQBBpIbJABC/EwALIAhFDQYgDCAAIAj8CgAADAYLIANBEDYCACADIAE0Agg3AwgMEQtBFSEAIAEoAgQiBEF+Rw0KDAsLQQgQpxQACyACIAU6AGBBASEBDAcLIANBFTYCAAwNCyAAEO8LDA0LAkACQCAHKAIcIgBFBEBBCCEFDAELIAcoAhghByAAQQV0IgYQkAEiBUUNAUEAIQEgACEEA0AgASAGRg0BIAJB4ABqIAEgB2oQkAMgASAFaiIKIAIpA3g3AxggCiACKQNwNwMQIAogAikDaDcDCCAKIAIpA2A3AwAgAUEgaiEBIARBAWsiBA0ACwsgAkEIaiAJEIoQIAIoAgghBCACKAIMIQEgAyAINgIcIAMgDDYCGCADIAg2AhQgAyAANgIQIAMgBTYCDCADIAA2AgggAyABNgIEIAMgBDYCAAwCC0EIEKcUAAsgBygCECEEIAcoAgwhAQJAIAcoAghBf0YEQCABIQAMAQsgBEUEQEEBIQBBACEFDAELIAQQkAEiAEUNDyAEBEAgACABIAT8CgAACyAEIQULIAIgCRCKECACKAIAIQYgAigCBCEBIAMgBDYCFCADIAA2AhAgAyAFNgIMIAMgATYCCCADIAY2AgQgA0EaNgIACyALIAsoAgAiAEEBazYCACAAQQFGBEAgAigCHCACKAIgELYQCyACQRBqELkMDAkLIANBETYCACADIAEpAQo3AQwgAyABKQECNwEEDAgLIAMgACAFa0EFdjYCDCADIAQ2AgggAyAGQQV2NgIEIANBEjYCAAwHCyABEJABIgAEQCABBEAgACACQeAAaiAB/AoAAAsgAyABNgIMIAMgADYCCCADIAE2AgQgA0ENNgIADAcLDAoLIAEoAgwhBiABKAIIIQUCQCAEQX9HBEAgBSEADAELIAZBAEgNAiAGRQRAQQEhAEEAIQQMAQsgBhCQASIARQ0KIAYEQCAAIAUgBvwKAAALIAYhBAsgAyAGNgIMIAMgADYCCCADIAQ2AgRBDyEACyADIAA2AgAgASgCECIAQX5GDQQCQCAAQX9GDQAgAEUNACABKAIUIAAQ2RILIAEoAhwiAEEATA0EIAEoAiAgABDZEgwECxCeFQALIAIgASsDEDkDKCACQoCAgIDwATcDGCACIAJBKGqtQoCAgIDgDYQ3AxAgAkE0akGAkMkAIAJBEGoQuAwgAigCNCEBIAJB4ABqIAIoAjgiACACKAI8EKMCIAEEQCAAIAEQ2RILIAIoAmBBf0cEQCACIAIpA3A3AyAgAiACKQNoNwMYIAIgAikDYDcDECACQeAAaiACQRBqEMcEIANBFzYCACADIAIpA3A3AxggAyACKQNoNwMQIAMgAikDYDcDCCACKAIQIgBFDQMgAigCFCAAQQJ0ENkSDAMLIAJB4ABqEIsQQfyEyQBBK0GohckAEMATAAsgAiABKgIIOAIoIAJCgICAgOAANwMYIAIgAkEoaq1CgICAgNAahDcDECACQTRqQYCQyQAgAkEQahC4DCACKAI0IQEgAkHgAGogAigCOCIAIAIoAjwQowIgAQRAIAAgARDZEgsgAigCYEF/RwRAIAIgAikDcDcDICACIAIpA2g3AxggAiACKQNgNwMQIAJB4ABqIAJBEGoQxwQgA0EXNgIAIAMgAikDcDcDGCADIAIpA2g3AxAgAyACKQNgNwMIIAIoAhAiAEUNAiACKAIUIABBAnQQ2RIMAgsgAkHgAGoQixBBwITJAEEqQeyEyQAQwBMACyADQRg2AgAgAyABKQMQNwMICyACQaABaiQADwtB8LXJAEE3IAJBnwFqQfiSyQBBqLbJABDaEgALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAuJHQEOfyMAQdABayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiCARAIAIoAgghDiACKAIEIQsgASgCBCEMAkADQCAILwHqAyIKQQxsIQZBfyEHIAhB5AJqIhAhBQJAAkADQCAGRQRAIAohBwwCCyAFQQhqIQ0gBUEEaiEJIAZBDGshBiAHQQFqIQcgBUEMaiEFIAsgCSgCACAOIA0oAgAiDSANIA5LGxCPEyIJIA4gDWsgCRsiCUEASiAJQQBIa0H/AXEiCUEBRg0ACyAJRQ0BCyAMRQ0CIAxBAWshDCAIIAdBAnRqKALwAyEIDAELCyACKAIAIgZFDQMgC0EEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyAGakkNBiABQQBHIAIgBkEnaktxDQcgCxC8BQwDCyACKAIAIhFBf0cNAyALIQgMAQsgAigCBCEIIAIoAgAiB0F/Rw0DCyABIQcLIAQgCCAHQQV0aiIBKQMYNwMYIAQgASkDEDcDECAEIAEpAwg3AwggBCABKQMANwMAIAEgAykDADcDACABIAMpAwg3AwggASADKQMQNwMQIAEgAykDGDcDGCAAIAQpAwA3AwAgACAEKQMINwMIIAAgBCkDEDcDECAAIAQpAxg3AxgMCAsCQAJAAkAgCkELTwRAIARBkAFqIQlBBCEFIAdBBUkNAyAHIgVBBWsOAgMCAQsgECAHQQxsaiEMAkAgByAKTwRAIAwgDjYCCCAMIAs2AgQgDCARNgIADAELIAdBAWohBSAKIAdrIgZBDGwiAgRAIBAgBUEMbGogDCAC/AoAAAsgDCAONgIIIAwgCzYCBCAMIBE2AgAgBkEFdCICRQ0AIAggBUEFdGogCCAHQQV0aiAC/AoAAAsgCCAHQQV0aiICIAMpAxg3AxggAiADKQMQNwMQIAIgAykDCDcDCCACIAMpAwA3AwAgCCAKQQFqOwHqAwwJCyAHQQdrIQcgBEFAayEJQQYhBQwBC0EAIQcgBEFAayEJQQUhBQtB8AMQkAEiCkUNCSAKQQA2AuACIAogCC8B6gMgBUF/c2oiDzsB6gMgD0EMTw0KIAggBUEFdGoiDSgCACEMIBAgBUEMbGohBiAPQQxsIgIEQCAKQeQCaiAGQQxqIAL8CgAACyAPQQV0IgIEQCAKIAVBBXQgCGpBIGogAvwKAAALIAggBTsB6gMgBCAINgKQASAEIAo2AkAgBCAGKQIANwMgIAQgBigCCDYCKCAEIA0pAgQ3AwAgBCANKQIMNwMIIAQgDSkCFDcDECAEIA0oAhw2AhggCSgCACIQQeQCaiIFIAdBDGxqIQ8CQCAQLwHqAyINIAdNBEAgDyAONgIIIA8gCzYCBCAPIBE2AgAMAQsgB0EBaiEJIA0gB2siBkEMbCICBEAgBSAJQQxsaiAPIAL8CgAACyAPIA42AgggDyALNgIEIA8gETYCACAGQQV0IgJFDQAgECAJQQV0aiAQIAdBBXRqIAL8CgAACyAQIAdBBXRqIgIgAykDGDcDGCACIAMpAxA3AxAgAiADKQMINwMIIAIgAykDADcDACAQIA1BAWo7AeoDIAQgBCkDIDcDwAEgBCAEKQMoNwPIASAEIAQpAwA3A6ABIAQgBCkDCDcDqAEgBCAEKQMQNwOwASAEIAQoAhg2ArgBIAxBfkYNBiAEIAQpA8gBNwN4IAQgBCkDwAE3A3AgBCAEKQOgATcDUCAEIAQpA6gBNwNYIAQgBCkDsAE3A2AgBCAEKAK4ATYCaCAIKALgAiIGRQRAQQAhAwwGCyAKIQJBACEDIAwhBwNAIAgvAegDIQUCQAJAIAYiCy8B6gMiEUELTwRAIARBiAFqIQggBUEFTw0BIAUhBkEEIQUMAgsgC0HkAmoiCiAFQQxsaiEJIAVBAWohBiARQQFqIQwCQCAFIBFPBEAgCSAEKAJ4NgIIIAkgBCkDcDcCACALIAVBBXRqIgMgBzYCACADIAQpA1A3AgQgAyAEKQNYNwIMIAMgBCkDYDcCFCADIAQoAmg2AhwMAQsgESAFayIIQQxsIgMEQCAKIAZBDGxqIAkgA/wKAAALIAkgBCgCeDYCCCAJIAQpA3A3AgAgCyAFQQV0aiEKIAhBBXQiAwRAIAsgBkEFdGogCiAD/AoAAAsgCiAHNgIAIAogBCkDUDcCBCAKIAQpA1g3AgwgCiAEKQNgNwIUIAogBCgCaDYCHCAIQQJ0IgdFDQAgC0HwA2oiAyAFQQJ0akEIaiADIAZBAnRqIAf8CgAACyALIAw7AeoDIAsgBkECdGogAjYC8AMgEUECaiIMIAZNDQkgESAFayIHQQFqQQNxIgIEQCALIAVBAnRqQfQDaiEFA0AgBSgCACIDIAY7AegDIAMgCzYC4AIgBUEEaiEFIAZBAWohBiACQQFrIgINAAsLIAdBA0kNCSAGQQJ0IAtqQfwDaiEFA0AgBUEMaygCACICIAY7AegDIAIgCzYC4AIgBUEIaygCACICIAZBAWo7AegDIAIgCzYC4AIgBUEEaygCACICIAZBAmo7AegDIAIgCzYC4AIgBSgCACICIAZBA2o7AegDIAIgCzYC4AIgBUEQaiEFIAwgBkEEaiIGRw0ACwwJCyAFIQYCQAJAIAVBBWsOAgIBAAsgBUEHayEGIARBgAFqIQhBBiEFDAELQQAhBiAEQYABaiEIQQUhBQtBoAQQkAEiCkUNCiAKQQA2AuACIAogCy8B6gMgBUF/c2oiDzsB6gMgBCALQeQCaiINIAVBDGxqIgwoAgg2ApgBIAQgDCkCADcDkAEgBCALIAVBBXRqIgwpAgQ3AwAgBCAMKQIMNwMIIAQgDCkCFDcDECAEIAwoAhw2AhggD0EMTw0LIAwoAgAhDCAFQQFqIRAgD0EMbCIJBEAgCkHkAmogDSAQQQxsaiAJ/AoAAAsgD0EFdCIJBEAgCiALIBBBBXRqIAn8CgAACyALIAU7AeoDIAQgBCkDkAE3A8ABIAQgBCgCmAE2AsgBIAQgBCkDADcDoAEgBCAEKQMINwOoASAEIAQpAxA3A7ABIAQgBCgCGDYCuAEgCi8B6gMiEEEBaiEJIBBBC0sNBSARIAVrIAlHDQQgCkHwA2ohDSAJQQJ0IgkEQCANIAsgBUECdGpB9ANqIAn8CgAACyADQQFqIQNBACEFA0ACQCANIAVBAnRqKAIAIgkgBTsB6AMgCSAKNgLgAiAFIBBPDQAgECAFIAUgEElqIgVPDQELCyAEIAs2AogBIAQgBCkDwAE3A5ABIAQgBCkDyAE3A5gBIAQgBCkDoAE3AwAgBCAEKQOoATcDCCAEIAQpA7ABNwMQIAQgBCgCuAE2AhggBCAKNgKAASAIKAIAIg5B5AJqIg0gBkEMbGohESAGQQFqIQUgDi8B6gMiD0EBaiEJAkAgBiAPTwRAIBEgBCgCeDYCCCARIAQpA3A3AgAgDiAGQQV0aiIIIAc2AgAgCCAEKQNQNwIEIAggBCkDWDcCDCAIIAQpA2A3AhQgCCAEKAJoNgIcDAELIA8gBmsiEEEMbCIIBEAgDSAFQQxsaiARIAj8CgAACyARIAQoAng2AgggESAEKQNwNwIAIA4gBkEFdGohDSAQQQV0IggEQCAOIAVBBXRqIA0gCPwKAAALIA0gBzYCACANIAQpA1A3AgQgDSAEKQNYNwIMIA0gBCkDYDcCFCANIAQoAmg2AhwgEEECdCIIRQ0AIA5B8ANqIgcgBkECdGpBCGogByAFQQJ0aiAI/AoAAAsgDiAJOwHqAyAOIAVBAnRqIAI2AvADAkAgD0ECaiIJIAVNDQAgDyAGayIIQQFqQQNxIgcEQCAOIAZBAnRqQfQDaiEGA0AgBigCACICIAU7AegDIAIgDjYC4AIgBkEEaiEGIAVBAWohBSAHQQFrIgcNAAsLIAhBA0kNACAOIAVBAnRqQfwDaiEGA0AgBkEMaygCACICIAU7AegDIAIgDjYC4AIgBkEIaygCACICIAVBAWo7AegDIAIgDjYC4AIgBkEEaygCACICIAVBAmo7AegDIAIgDjYC4AIgBigCACICIAVBA2o7AegDIAIgDjYC4AIgBkEQaiEGIAkgBUEEaiIFRw0ACwsgBCAEKQOYATcDSCAEIAQpA5ABNwNAIAQgBCkDADcDICAEIAQpAwg3AyggBCAEKQMQNwMwIAQgBCgCGDYCOCAMQX5GDQcgBCAEKQNINwN4IAQgBCkDQDcDcCAEIAQpAyA3A1AgBCAEKQMoNwNYIAQgBCkDMDcDYCAEIAQoAjg2AmggCiECIAwhByALIggoAuACIgYNAAsMBQsgAigCCCECQfADEJABIgZFDQggBkEANgLgAiABQQA2AgQgASAGNgIAIAYgAjYC7AIgBiAINgLoAiAGIAc2AuQCIAZBATsB6gMgBiADKQMANwMAIAYgAykDCDcDCCAGIAMpAxA3AxAgBiADKQMYNwMYDAULQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0GY9cgAQShBwPXIABCvFAALQQAgCUEMQejkyAAQhw4ACwJAIAEoAgAiBgRAIAEoAgQhB0GgBBCQASIFRQ0FIAUgBjYC8AMgBUEAOwHqAyAFQQA2AuACIAdBAWoiAkUNBCAGQQA7AegDIAYgBTYC4AIgASACNgIEIAEgBTYCACADIAdGDQFB/IDJAEEwQayByQAQrxQAC0GY98gAEJ0VAAsgBSAEKQNwNwLkAiAFQQE7AeoDIAUgBCgCeDYC7AIgBSAMNgIAIAUgBCkDUDcCBCAFIAQpA1g3AgwgBSAEKQNgNwIUIAUgBCgCaDYCHCAFIAo2AvQDIAogBTYC4AIgCkEBOwHoAwsgAEF+NgIAIAEgASgCCEEBajYCCAsgBEHQAWokAA8LQZDkyAAQnRUAC0G48MkAQQE6AAAAC0EAIA9BC0HA/8gAEIcOAAvkIAILfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADg0AAQIDBAUGBwgJCgsMDQsgAEEYahD/AiAAKAIIIgFBAEwNDCAAKAIMIgJBBGsoAgAiA0F4cSEAIABBBEEIIANBA3EiAxsgAWpJDQ0gA0EARyAAIAFBJ2pLcQ0ODA8LIABBGGoQ/wIgACgCCCIBQQBMDQsgACgCDCICQQRrKAIAIgNBeHEhACAAQQRBCCADQQNxIgMbIAFqSQ0MIANBAEcgACABQSdqS3ENDQwOCyAAQRhqEP8CIAAoAggiAUEATA0KIAAoAgwiAkEEaygCACIDQXhxIQAgAEEEQQggA0EDcSIDGyABakkNCyADQQBHIAAgAUEnaktxDQwMDQsgACgCBCIAEMEKIABBBGsoAgAiAUEDcSECIAFBeHFBtAFBuAEgAhtJDQogAkEARyABQdgBT3ENCyAAELwFDwsgACgCCCECIAAoAgwiAwRAIAIhAQNAIAEQrQEgAUHQAGooAgAiBEEASgRAIAFB1ABqKAIAIgdBBGsoAgAiBkF4cSEFIAVBBEEIIAZBA3EiBhsgBGpJDQwgBkEARyAFIARBJ2pLcQ0NIAcQvAULIAFB4ABqIQEgA0EBayIDDQALCyAAKAIEIgFFDQggAkEEaygCACIDQXhxIQAgACABQeAAbCIBQQRBCCADQQNxIgMbckkNCSADQQBHIAAgAUEnaktxDQoMCwsgACgCBEUEQCAAKAIIIgAQygEgAEEEaygCACIBQQNxIQIgAUF4cUGUAkGYAiACG0kNCSACQQBHIAFBuAJPcQ0KIAAQvAUPCyAAKAIIIgMoAgQhAiADKAIIIgAEQCACIQEDQCABEMoBIAFBkAJqIQEgAEEBayIADQALCyADKAIAIgEEQCACQQRrKAIAIgRBeHEhACAAIAFBkAJsIgFBBEEIIARBA3EiBBtySQ0JIARBAEcgACABQSdqS3ENCiACELwFCyADKAIMIgAEQCADKAIQIgJBBGsoAgAiBEF4cSEBIAFBBEEIIARBA3EiBBsgAGpJDQkgBEEARyABIABBJ2pLcQ0KIAIQvAULIAMoAhwhAiADKAIgIgAEQCACIQEDQCABEPcFIAFBIGohASAAQQFrIgANAAsLIAMoAhgiAQRAIAJBBGsoAgAiBEF4cSEAIAAgAUEFdCIBQQRBCCAEQQNxIgQbckkNCSAEQQBHIAAgAUEnaktxDQogAhC8BQsgA0EEaygCACIBQXhxIQAgAEEoQSwgAUEDcSIBG0kNCCABQQBHIABBzABPcQ0JIAMQvAUPCyAAKAIEIgAQYSAAQQRrKAIAIgFBA3EhAiABQXhxQcwBQdABIAIbSQ0HIAJBAEcgAUHwAU9xDQggABC8BQ8LIAAoAgQiA0UNBSADEHggAygCHCIAQQBKBEAgA0EgaigCACICQQRrKAIAIgRBeHEhASABQQRBCCAEQQNxIgQbIABqSQ0HIARBAEcgASAAQSdqS3ENCCACELwFCyADKAIoIgBBAEoEQCADQSxqKAIAIgJBBGsoAgAiBEF4cSEBIAFBBEEIIARBA3EiBBsgAGpJDQcgBEEARyABIABBJ2pLcQ0IIAIQvAULIAMoAhQhAiADKAIYIgAEQCACIQEDQCABEN8HIAFBDGohASAAQQFrIgANAAsLIAMoAhAiAQRAIAJBBGsoAgAiBEF4cSEAIAAgAUEMbCIBQQRBCCAEQQNxIgQbakkNByAEQQBHIAAgAUEnaktxDQggAhC8BQsgA0EEaygCACIBQXhxIQAgAEE4QTwgAUEDcSIBG0kNBiABQQBHIABB3ABPcQ0HIAMQvAUPCyAAKAIEIgEpAwAhDCABQQhqEK0BIAEoAlghAAJAAkACQAJAAkACQCAMQgNYBEAgDKdBAWsOAwIDBAELIABBAEoEQCABQdwAaigCACAAENkSCyABQegAahCtASABKAK4ASIAQQBKDQQMBQsgAEEASgRAIAFB3ABqKAIAIAAQ2RILIAFB6ABqEK0BIAEoArgBIgBBAEoNAwwECyAAQQBKBEAgAUHcAGooAgAgABDZEgsgAUHoAGoQrQEgASgCuAEiAEEASg0CDAMLIABBAEoEQCABQdwAaigCACAAENkSCyABQegAahCtASABKAK4ASIAQQBKDQEMAgsgAEEASgRAIAFB3ABqKAIAIAAQ2RILIAFB6ABqEK0BIAEoArgBIgBBAEwNAQsgAUG8AWooAgAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyAAakkNBiAEQQBHIAIgAEEnaktxDQcgAxC8BQsgAUEEaygCACIAQQNxIQIgAEF4cUHMAUHQASACG0kNBSACQQBHIABB8AFPcQ0GIAEQvAUPCyAAKAIEIgMoAggiCQRAIAMoAgQhCgNAIAogBEEMbGoiBSgCBCECIAUoAggiAARAIAIhAQNAIAEQrQEgAUHQAGooAgAiB0EASgRAIAFB1ABqKAIAIgtBBGsoAgAiCEF4cSEGIAZBBEEIIAhBA3EiCBsgB2pJDQkgCEEARyAGIAdBJ2pLcQ0KIAsQvAULIAFB4ABqIQEgAEEBayIADQALCyAFKAIAIgEEQCACQQRrKAIAIgVBeHEhACAAIAFB4ABsIgFBBEEIIAVBA3EiBRtySQ0HIAVBAEcgACABQSdqS3ENCCACELwFCyAJIARBAWoiBEcNAAsLIAMoAgAiAQRAIAMoAgQiAkEEaygCACIEQXhxIQAgACABQQxsIgFBBEEIIARBA3EiBBtqSQ0FIARBAEcgACABQSdqS3ENBiACELwFCyADQQRrKAIAIgFBeHEhACAAQRBBFCABQQNxIgEbSQ0EIAFBAEcgAEE0T3ENBSADELwFDwsCQAJAAkAgACgCBA4EAAEJAgULIABBCGoQwQ4PCyAAQQhqEMEODwsMBgsCQAJAAkACQEEOIAAoAgQiAUGAgICAeHMiAiACQRZPGw4VCgoKCgoKCgoKCgkJCwsBAgoKCQkDAAsgAEEIahCYCA8LIABBEGoQwxACQCABQX9GDQAgAUUNACAAKAIIIAEQ2RILIABBFGoQwxAPCwJAAkACQAJAAkACQAJAAkAgAEEIaiIAKAIAQQFrDgMCAwABCyAAKAIEIgEQrQEgASgCUCICQQBKBEAgAUHUAGooAgAiBEEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyACakkNBiAFQQBHIAMgAkEnaktxDQUgBBC8BQsgAUEEaygCACICQQNxIQMgAkF4cUHkAEHoACADG0kNBSADQQBHIAJBiAFPcQ0EIAEQvAUgACgCCEEGSQ0GAkAgACgCDCIAKAJkIgFBf0YNACABRQ0AIAAoAmgiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNBiAEQQBHIAIgAUEnaktxDQUgAxC8BQsgAEHwAGoQxgwgACgCWCIBQQBKBEAgAEHcAGooAgAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNBiAEQQBHIAIgAUEnaktxDQUgAxC8BQsCQCAAKAIQIgFBfEYNACABQX1GDQAgAEEgahD/AiABQQBMDQAgACgCFCABENkSCyAAKAIAIgFBAEoEQCAAQQRqKAIAIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQYgBEEARyACIAFBJ2pLcQ0FIAMQvAULIABBBGsoAgAiAUEDcSECIAFBeHFBtAFBuAEgAhtJDQUgAkUNAyABQdgBSQ0DDAQLIAAoAgQiARCtASABKAJQIgJBAEoEQCABQdQAaigCACIEQQRrKAIAIgVBeHEhAyADQQRBCCAFQQNxIgUbIAJqSQ0FIAVBAEcgAyACQSdqS3ENBCAEELwFCyABQQRrKAIAIgJBA3EhAyACQXhxQeQAQegAIAMbSQ0EIANBAEcgAkGIAU9xDQMgARC8BSAAKAIIIgAQrQEgACgCUCIBQQBKBEAgAEHUAGooAgAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNBSAEQQBHIAIgAUEnaktxDQQgAxC8BQsgAEEEaygCACIBQQNxIQIgAUF4cUHkAEHoACACG0kNBCACRQ0CIAFBiAFJDQIMAwsgACgCBCIBEK0BIAEoAlAiAkEASgRAIAFB1ABqKAIAIgRBBGsoAgAiBUF4cSEDIANBBEEIIAVBA3EiBRsgAmpJDQQgBUEARyADIAJBJ2pLcQ0DIAQQvAULIAFBBGsoAgAiAkEDcSEDIAJBeHFB5ABB6AAgAxtJDQMgA0EARyACQYgBT3ENAiABELwFIAAoAggiABCtASAAKAJQIgFBAEoEQCAAQdQAaigCACIDQQRrKAIAIgRBeHEhAiACQQRBCCAEQQNxIgQbIAFqSQ0EIARBAEcgAiABQSdqS3ENAyADELwFCyAAQQRrKAIAIgFBA3EhAiABQXhxQeQAQegAIAIbSQ0DIAJFDQEgAUGIAUkNAQwCCyAAKAIEIgEQrQEgASgCUCICQQBKBEAgAUHUAGooAgAiBEEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyACakkNAyAFQQBHIAMgAkEnaktxDQIgBBC8BQsgAUEEaygCACICQQNxIQMgAkF4cUHkAEHoACADG0kNAiADQQBHIAJBiAFPcQ0BIAEQvAUgACgCCEEGSQ0DAkAgACgCDCIAKAJkIgFBf0YNACABRQ0AIAAoAmgiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNAyAEQQBHIAIgAUEnaktxDQIgAxC8BQsgAEHwAGoQxgwgACgCWCIBQQBKBEAgAEHcAGooAgAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNAyAEQQBHIAIgAUEnaktxDQIgAxC8BQsCQCAAKAIQIgFBfEYNACABQX1GDQAgAEEgahD/AiABQQBMDQAgACgCFCABENkSCyAAKAIAIgFBAEoEQCAAQQRqKAIAIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQMgBEEARyACIAFBJ2pLcQ0CIAMQvAULIABBBGsoAgAiAUEDcSECIAFBeHFBtAFBuAEgAhtJDQIgAkUNACABQdgBTw0BCyAAELwFDAILQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQACw8LIABBCGoQmAgPCyAAKAIEIgAQrQEgACgCUCIBQQBKBEAgAEHUAGooAgAiA0EEaygCACIEQXhxIQIgAkEEQQggBEEDcSIEGyABakkNAiAEQQBHIAIgAUEnaktxDQMgAxC8BQsgAEEEaygCACIBQQNxIQIgAUF4cUHkAEHoACACG0kNASACQQBHIAFBiAFPcQ0CIAAQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAIQvAUPCyAAQQhqEMMQDwsgAEEIahDDECAAQQxqEMMQDwsgAEEIahDDECAAQQxqEMMQIABBEGoQwxALshwCEH8BfiMAQaABayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABBEAgA0H/AXFB/wFHDQEgBCACNgJUIAQgATYCUCAANQIMIRQgBCAEQdAAaq1CgICAgNABhDcDYCAEIBRCgICAgNAOhDcDWCAEQZABakGe1MEAIARB2ABqELgMQeekxQAhBkEKIQEgACgCCCICKAIUIgMtADRBAWsOAgIMAwsCfwJAAkAgA0H/AXFB/wFHBEAgBCADOgBEIAAoAgAiASgCDCIDIAEoAgQiAk8NCSABKAIIIQICfyABKAIAIANBJGxqIgEoAhAiA0UEQCAEIAEoAhQ2AmBBACEDIAIMAQsgBCABKAIMIANBDGxqIgFBCGspAgA3AmAgAiEDIAFBDGsoAgALIQEgBCADNgJYIAQgATYCXCAEQSBqIARB2ABqIgEQlg8gBCAEKQMgNwJQIAQgBEHQAGqtQoCAgIDQAYQ3A2AgBCAEQcQAaq1CgICAgMAOhDcDWCAEQZABakHG5cEAIAEQuAxBCiEGQeekxQAhASAAKAIIIgIoAhQiAy0ANEEBaw4CARELCyAAKAIAIgUoAgwiCCAFKAIEIgtPDQkgACgCDCISLQAAIRMgBSgCCCECAn8CQCAFKAIAIg8gCEEkbGoiASgCECIDBEAgBCABKAIMIANBDGxqIgFBCGspAgAiFDcCYCAEIAFBDGsoAgAiDDYCXCAEIAI2AlgCQCACKAJEIglFDQAgFKchECAUQiCIpyERIAJByABqKAIAIQ0DQCAJQQxqIQ4gCUEEaiEDIAkvAaYIIgdBDGwhAUF/IQYCQANAIAFFBEAgByEGDAILIAMoAgQiCiAQSSAKIBBLayADKAIAIgogDEkgCiAMS2sgCiAMRhsiCkH/AXFFBEAgDigCACIKIBFJIAogEUtrIQoLIANBDGohAyABQQxrIQEgDkEMaiEOIAZBAWohBiAKQQFGDQALIApB/wFxRQ0ECyANRQ0BIA1BAWshDSAJIAZBAnRqKAKoCCEJDAALAAtB1LnEAEEWQYS+xAAQwBMACyAEQQA2AlggBCABKAIUIgE2AmAgBCACNgJcIAEgAigCCCIDSQRAIAIoAgQgAUHkAGxqQcgAagwCCyABIANB5PbIABCFEwALIAkgBkHUAGxqQdABagsiAy0AACIGQQRGDREgAy0AASEBAkACQAJAAkACQCATaEECaw4EAAECAxYLIAZBA0cNAyABQQRHDQMMFQsgBkEDRiABQQZGcQ0UIARB2ABqEI8NLQBYQQJGDRQgBSgCDCEIIAUoAgghAiAFKAIEIQsgBSgCACEPDAILIAZBA0cNASABQQRHDQEMEwsgBkEDRw0AAkAgAUEBaw4IEwAAEwAAABMACyABQQ1xIgFBBUYNEiABRQ0SCyAIIAtPDQsgDyAIQSRsaiIBKAIQIgMNASAEIAEoAhQ2AmBBACEDIAIMAgtBB0EIIAMoAgAiARshBkHYpMUAQd+kxQAgARshAQwPCyAEIAEoAgwgA0EMbGoiAUEIaykCADcCYCACIQMgAUEMaygCAAshASAEIAM2AlggBCABNgJcIARBEGogBEHYAGoiARCWDyAEIAQpAxA3AlAgBCAEQdAAaq1CgICAgNABhDcDYCAEIBKtQoCAgIDQDoQ3A1ggBEGQAWpBi/nBACABELgMQQohBkHnpMUAIQECQAJAIAAoAggiAigCFCIDLQA0QQFrDgIADgELQQdBCCADKAIAIgEbIQZB2KTFAEHfpMUAIAEbIQEMDQtBByEGQfGkxQAhAQwMCyAEIAI2AkggBCABNgJEIAQgAzoATyAAKAIAIgEoAgwiAyABKAIEIgJPDQggASgCCCECAn8gASgCACADQSRsaiIBKAIQIgNFBEAgBCABKAIUNgJgQQAhAyACDAELIAQgASgCDCADQQxsaiIBQQhrKQIANwJgIAIhAyABQQxrKAIACyEBIAQgAzYCWCAEIAE2AlwgBEE4aiAEQdgAaiIBEJYPIAQgBCkDODcCUCAEIARB0ABqrUKAgICA0AGENwNoIAQgBEHEAGqtQoCAgIDQAYQ3A2AgBCAEQc8Aaq1CgICAgMAOhDcDWCAEQZABakG7+MEAIAEQuAxB56TFACEGQQohASAAKAIIIgIoAhQiAy0ANEEBaw4CAgkDC0HYpMUAQd+kxQAgAygCACIBGyEGQQdBCCABGyEBDAkLQfGkxQAhBkEHIQEMCAtB2KTFAEHfpMUAIAMoAgAiARshBkEHQQggARshAQwGC0HxpMUAIQZBByEBDAULIAMgAkH4pMUAEIUTAAsgCCALQfikxQAQhRMAC0EHIQZB8aTFACEBDAULIAggC0H4pMUAEIUTAAsgAyACQfikxQAQhRMACyAEKAKQASEDIAQoApQBIQcgBCgCmAEhCCAAKAIEIQAgBCACKQIINwJkIAQgAikCADcCXCAEIAIoAhgiBTYCWAJAIAUgAigCECICQZgCaigCACIJSQRAIARBMGogAkGUAmooAgAgBUEkbGoiAkEcaigCACACQSBqKAIAIARB3ABqQay6xAAQ4QsgBCgCaCICIAQoAjQiBU8NByAEIAQoAjAgAkHMAGxqIgIpAkA3A3AgBCACKAJINgJ4IAQgATYCjAEgBCAGNgKIASAEIAg2AoQBIAQgBzYCgAEgBCAEQYABaq1CgICAgNABhDcDmAEgBCAEQYgBaq1CgICAgNABhDcDkAEgBEHYAGpBqanAACAEQZABahC4DCAEIAQpA3A3AmQgBCAEKAJ4NgJsIAAoAggiASAAKAIARgRAIAAQvRILIAAgAUEBajYCCCAAKAIEIAFBGGxqIgAgBCkCWDcCACAAIAQpAmA3AgggACAEKQJoNwIQIANFDQUgB0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNCCABQQBHIAAgA0EnaktxDQEgBxC8BQwFCwwFCwwHCyAEKAKQASEDIAQoApQBIQcgBCgCmAEhCCAAKAIEIQAgBCACKQIINwJkIAQgAikCADcCXCAEIAIoAhgiBTYCWAJAIAUgAigCECICQZgCaigCACIJSQRAIARBKGogAkGUAmooAgAgBUEkbGoiAkEcaigCACACQSBqKAIAIARB3ABqQay6xAAQ4QsgBCgCaCICIAQoAiwiBU8NBiAEIAQoAiggAkHMAGxqIgIpAkA3A3AgBCACKAJINgJ4IAQgATYCjAEgBCAGNgKIASAEIAg2AoQBIAQgBzYCgAEgBCAEQYABaq1CgICAgNABhDcDmAEgBCAEQYgBaq1CgICAgNABhDcDkAEgBEHYAGpBqanAACAEQZABahC4DCAEIAQpA3A3AmQgBCAEKAJ4NgJsIAAoAggiASAAKAIARgRAIAAQvRILIAAgAUEBajYCCCAAKAIEIAFBGGxqIgAgBCkCWDcCACAAIAQpAmA3AgggACAEKQJoNwIQIANFDQQgB0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNByABQQBHIAAgA0EnaktxDQEgBxC8BQwECwwECwwGCyAEKAKQASEDIAQoApQBIQcgBCgCmAEhCCAAKAIEIQAgBCACKQIINwJkIAQgAikCADcCXCAEIAIoAhgiBTYCWAJAIAUgAigCECICQZgCaigCACIJSQRAIARBCGogAkGUAmooAgAgBUEkbGoiAkEcaigCACACQSBqKAIAIARB3ABqQay6xAAQ4QsgBCgCaCICIAQoAgwiBU8NBSAEIAQoAgggAkHMAGxqIgIpAkA3A3AgBCACKAJINgJ4IAQgBjYCjAEgBCABNgKIASAEIAg2AoQBIAQgBzYCgAEgBCAEQYABaq1CgICAgNABhDcDmAEgBCAEQYgBaq1CgICAgNABhDcDkAEgBEHYAGpBqanAACAEQZABahC4DCAEIAQpA3A3AmQgBCAEKAJ4NgJsIAAoAggiASAAKAIARgRAIAAQvRILIAAgAUEBajYCCCAAKAIEIAFBGGxqIgAgBCkCWDcCACAAIAQpAmA3AgggACAEKQJoNwIQIANFDQMgB0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyADakkNBiABQQBHIAAgA0EnaktxDQEgBxC8BQwDCwwDCwwFCyAEKAKQASEDIAQoApQBIQcgBCgCmAEhCCAAKAIEIQAgBCACKQIINwJkIAQgAikCADcCXCAEIAIoAhgiBTYCWCACKAIQIgJBmAJqKAIAIgkgBU0NASAEQRhqIAJBlAJqKAIAIAVBJGxqIgJBHGooAgAgAkEgaigCACAEQdwAakGsusQAEOELIAQoAmgiAiAEKAIcIgVPDQIgBCAEKAIYIAJBzABsaiICKQJANwNwIAQgAigCSDYCeCAEIAY2AowBIAQgATYCiAEgBCAINgKEASAEIAc2AoABIAQgBEGAAWqtQoCAgIDQAYQ3A5gBIAQgBEGIAWqtQoCAgIDQAYQ3A5ABIARB2ABqQampwAAgBEGQAWoQuAwgBCAEKQNwNwJkIAQgBCgCeDYCbCAAKAIIIgEgACgCAEYEQCAAEL0SCyAAIAFBAWo2AgggACgCBCABQRhsaiIAIAQpAlg3AgAgACAEKQJgNwIIIAAgBCkCaDcCECADRQ0AIAdBBGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgA2pJDQMgAUEARyAAIANBJ2pLcQ0EIAcQvAULIARBoAFqJAAPCyAFIAlBrLrEABCFEwALIAIgBUGsusQAEIUTAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL46oDAiJ/CX4jAEGQBWsiCyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEYEJABIgcEQCAHQX82AgggB0KBgICAEDcCAEEYEJABIglFDQ4gCUF/NgIIIAlCgYCAgBA3AgAgC0HgAmogC0GPBWogByAJIAJBAUEAIAsgAyAEIAUgARDQASALKALoAiEEIAsoAuQCISEgCygC4AIhIyALKAKQAyIFQX9HBEAgACALKAKMAzYCNCAAIAspAoQDNwIsIAAgCykC/AI3AiQgACALKQL0AjcCHCAAIAspAuwCNwIUIAAgCykClAM3AjwgACALKAKcAzYCRCAAIAU2AjggACAENgIQIAAgITYCDCAAICM2AgggAEEBNgIADAkLIARFDQEgCyAhIARBAWsiIkGQAWxqIgRBkAH8CgAAAkAgCygCAEECRwRAIAtB4AJqIiAgBEGQAfwKAAAgC0GYAmohGyABIRZBACEEQQAhByMAQbAZayIGJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAgKAIAIgFBAkcEQCAGICApAogBNwNAIAYgICkCgAE3AzggBiAgKQJ4NwMwIAYgICkCcDcDKCAGICApAmg3AyAgBiAgKQJgNwMYIAFBAXENAQwCC0HEncYAEJ0VAAsgICkCBCEoIBZB0ABqKAIAIgwoAgAhASAMIAFBAWo2AgAgAUEASA0BCyAgQeAAaiEBAkACfwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn4CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAICAtAAxBAWsOFAYHCAkKCwwNDg8REhMUFQABAgMEBQsgBkEAOwHcDiAGQgQ3AsgOIAZCADcCwA4gBkKAgICAwAA3ArgOIAZCBDcCsA4gBkIANwKoDiAGQoCAgICAATcCoA4gBkEANgLYDiAGQoCAgIDAADcC0A4gBkEANgLgECAGQX82AtgFIAZBmBRqIAZB4BBqIAZB2AVqIAEQ/AEgBigC1BQhCSAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEFAn8gBigCmBRFBEAgBkGgDmoQrxIgBigCpA4iAUJ/NwPAAiABIAk2AkQgASAENgJAIAEgDjYCPCABIA02AjggASAHNgI0IAEgDzYCMCABICk3AyggASAoNwMgIAEgKjcDGCABIAo2AhQgASAFNgIQIAFBIzYCCCABQn83AwAgBigC1A4hCiAGKALQDiEIIAYoAswOIQ4gBigCyA4hDyAGKALEDiERIAYoAqAOIQ1BAQwBCyAEQX9HDRZBCCEBQQQhCkEAIQ5BBCEPQQAhDUEACyEFIAYgBikC2A4iKDcDSCAGKQK8DiEpIAYpArQOISogBikCrA4hK0EBIQRBASEHDGkLIAYgKDcCjAYgBiAMNgKIBiAGIAEpAgA3A9gFIAYgASkCCDcD4AUgBiABKQIQNwPoBSAGIAEpAhg3A/AFIAYgASkCIDcD+AUgBiABKQIoNwOABiAGQQA7AdwOIAZCBDcCyA4gBkIANwLADiAGQoCAgIDAADcCuA4gBkIENwKwDiAGQgA3AqgOIAZCgICAgIABNwKgDiAGQQA2AtgOIAZCgICAgMAANwLQDiAGICg3AqQTIAYgDDYCoBMgBkF/NgLgECAGQZgUaiAGQaATaiAGQeAQaiAGQdgFahD8ASAGKALUFCEJIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBikDqBQhKiAGKAKkFCEKIAYoAqAUIQUgBigCmBRFBEAgBkGgDmoQrxIgBigCpA4iAUJ/NwPAAiABIAk2AkQgASAENgJAIAEgDjYCPCABIA02AjggASAHNgI0IAEgDzYCMCABICk3AyggASAoNwMgIAEgKjcDGCABIAo2AhQgASAFNgIQIAFBJDYCCCABQn83AwBBASEFDGcLIARBf0YEQEEIIQFBBCEKDGYLIAYgBikD2BQ3AkwgBiAJNgJIDGMLIAYgKDcCjAYgBiAMNgKIBiAGIAEpAgA3A9gFIAYgASkCCDcD4AUgBiABKQIQNwPoBSAGIAEpAhg3A/AFIAYgASkCIDcD+AUgBiABKQIoNwOABiAGQQA7AdwOIAZCBDcCyA4gBkIANwLADiAGQoCAgIDAADcCuA4gBkIENwKwDiAGQgA3AqgOIAZCgICAgIABNwKgDiAGQQA2AtgOIAZCgICAgMAANwLQDiAGICg3AqQTIAYgDDYCoBMgBkEANgKgFCAGQoCAgIAQNwKYFCAGQZgUaiIBQZb4xwBBDRDwEhpBAA1qIAYgBigCoBQ2AugQIAYgBikCmBQ3A+AQIAEgBkGgE2ogBkHgEGogBkHYBWoQ/AEgBigC1BQhCCAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEFIAYoApgURQ1hIARBf0cNFAxgCyAGICg3AowGIAYgDDYCiAYgBiABKQIANwPYBSAGIAEpAgg3A+AFIAYgASkCEDcD6AUgBiABKQIYNwPwBSAGIAEpAiA3A/gFIAYgASkCKDcDgAYgBkEAOwHcDiAGQgQ3AsgOIAZCADcCwA4gBkKAgICAwAA3ArgOIAZCBDcCsA4gBkIANwKoDiAGQoCAgICAATcCoA4gBkEANgLYDiAGQoCAgIDAADcC0A4gBiAoNwKkEyAGIAw2AqATIAZBADYCoBQgBkKAgICAEDcCmBQgBkGYFGoiAUHG/8cAQQcQ8BIaQQANaSAGIAYoAqAUNgLoECAGIAYpApgUNwPgECABIAZBoBNqIAZB4BBqIAZB2AVqEPwBIAYoAtQUIQggBigC0BQhBCAGKALMFCEOIAYoAsgUIQ0gBigCxBQhByAGKALAFCEPIAYpA7gUISkgBikDsBQhKCAGKQOoFCEqIAYoAqQUIQogBigCoBQhBSAGKAKYFEUNYCAEQX9GDV8gBiAGKQPYFDcCTCAGIAg2AkgMYQsgBiAoNwKMBiAGIAw2AogGIAYgASkCADcD2AUgBiABKQIINwPgBSAGIAEpAhA3A+gFIAYgASkCGDcD8AUgBiABKQIgNwP4BSAGIAEpAig3A4AGIAZBADsB3A4gBkIENwLIDiAGQgA3AsAOIAZCgICAgMAANwK4DiAGQgQ3ArAOIAZCADcCqA4gBkKAgICAgAE3AqAOIAZBADYC2A4gBkKAgICAwAA3AtAOIAYgKDcCpBMgBiAMNgKgEyAGQQA2AqAUIAZCgICAgBA3ApgUIAZBmBRqIgFBzf/HAEEMEPASGkEADWggBiAGKAKgFDYC6BAgBiAGKQKYFDcD4BAgASAGQaATaiAGQeAQaiAGQdgFahD8ASAGKALUFCEIIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBikDqBQhKiAGKAKkFCEKIAYoAqAUIQUgBigCmBRFDV8gBEF/Rg1eIAYgBikD2BQ3AkwgBiAINgJIDGALIAxFDVwgBiAoNwKkDiAGIAw2AqAOIAZB2ABqIgEgBkEYaiAGQaAOakEAIBYQjwEgBikDWEJ/UQ1aIAZBmBRqIAEQnBEgBikC0BQhKAxYCyAMRQ1bIAYgKDcCpA4gBiAMNgKgDkEBIQQgBkGYA2ogBkEYaiAGQaAOakEBIBYQjwEgBikDmANCf1EEQCAGIAYpAtQDNwNIIAYgBigC3AM2AlAgBikDqAMiKkIgiKchESAGKALQAyEEIAYoAswDIQ4gBigCyAMhDSAGKALEAyEHIAYoAsADIQ8gBikDuAMhKSAGKQOwAyEoIAYoAqQDIQogBigCoAMhBSAqpyETDFsLIAZBmBRqIAZBmANqEJwRIAYpAtAUISggBigCzBQhCiAGKALIFCEIIAYoAsQUIQ4gBigCwBQhDyAGKAK8FCERIAYpArQUISkgBikCrBQhKiAGKQKkFCErIAYoAqAUIQUgBigCnBQhASAGKAKYFCENDGMLIAxFDVogBiAoNwKkEyAGIAw2AqATIAZBoA5qIAEgBkGgE2pBACAWEMYBIAYoAqwOIQogBigCqA4hBQJAAkACfyAGKQOgDiIpQn9RBEAgBiAGKQLcDjcD2AUgBiAGKALkDjYC4AUgBigC1A4hDiAGKALQDiENIAYoAswOIQcgBigCyA4hDyAGKQPADiEpIAYpA7gOISggBikDsA4hKiAGKALYDgwBCyAGIAYpAtwONwPgECAGIAYoAuQONgLoECAGKAKwDiEBIAYoArQOIQQgBikDuA4hKCAGKQPADiEqIAYoAsgOIQcgBigCzA4hCSAGKALQDiEOIAYoAtQOIQ8gBigC2A4hCCAGQeAUaiAGQegOakH4AfwKAAAgBiAINgLQFCAGIA82AswUIAYgDjYCyBQgBiAJNgLEFCAGIAc2AsAUIAYgKjcDuBQgBiAoNwOwFCAGIAQ2AqwUIAYgATYCqBQgBiAKNgKkFCAGIAU2AqAUIAYgBikD4BA3AtQUIAYgBigC6BA2AtwUIAYgKTcDmBQgKUIDUg0CAkAgKEIDVg0AICinIQ1CASEoAkAgDUEBaw4DAQEABAsgKkIBfCIrQgJWDQAgKiEoICunQQFrDgIAAwILQdIAIQVB0gAQkAEiCkUNbiAKQcCoxgBB0gD8CgAAIAZBmBRqEN8BQtIAISpBgYCAgHgLIQQgBiAGKQPYBTcDSCAGIAYoAuAFNgJQICpCIIinIREgKqchEwxbC0ICISgLIAZB2AVqIg0gBkHUFGoiEEGEAvwKAAAgBiAINgLQFCAGIA82AswUIAYgDjYCyBQgBiAJNgLEFCAGIAc2AsAUIAYgKjcDuBQgBiAoNwOwFCAGIAQ2AqwUIAYgATYCqBQgBiAKNgKkFCAGIAU2AqAUIAYgKTcDmBQgECANQYQC/AoAACAGQaAOaiAGQZgUahCcESAGKQLYDiEoDB0LIAxFDVkgBiAoNwKkEyAGIAw2AqATIAZBoA5qIAEgBkGgE2pBASAWEMYBIAYoAqwOIQogBigCqA4hBQJAAkACfyAGKQOgDiIpQn9RBEAgBiAGKQLcDjcD2AUgBiAGKALkDjYC4AUgBigC1A4hDiAGKALQDiENIAYoAswOIQcgBigCyA4hDyAGKQPADiEpIAYpA7gOISggBikDsA4hKiAGKALYDgwBCyAGIAYpAtwONwPgECAGIAYoAuQONgLoECAGKAKwDiEBIAYoArQOIQQgBikDuA4hKCAGKQPADiEqIAYoAsgOIQcgBigCzA4hCSAGKALQDiEOIAYoAtQOIQ8gBigC2A4hCCAGQeAUaiAGQegOakH4AfwKAAAgBiAINgLQFCAGIA82AswUIAYgDjYCyBQgBiAJNgLEFCAGIAc2AsAUIAYgKjcDuBQgBiAoNwOwFCAGIAQ2AqwUIAYgATYCqBQgBiAKNgKkFCAGIAU2AqAUIAYgBikD4BA3AtQUIAYgBigC6BA2AtwUIAYgKTcDmBQgKUIDUg0CAkAgKEIDVg0AICinIQ1CASEoAkAgDUEBaw4DAQEABAsgKkIBfCIrQgJWDQAgKiEoICunQQFrDgIAAwILQdIAIQVB0gAQkAEiCkUNbSAKQcCoxgBB0gD8CgAAIAZBmBRqEN8BQtIAISpBgYCAgHgLIQQgBiAGKQPYBTcDSCAGIAYoAuAFNgJQICpCIIinIREgKqchEwxaC0ICISgLIAZB2AVqIg0gBkHUFGoiEEGEAvwKAAAgBiAINgLQFCAGIA82AswUIAYgDjYCyBQgBiAJNgLEFCAGIAc2AsAUIAYgKjcDuBQgBiAoNwOwFCAGIAQ2AqwUIAYgATYCqBQgBiAKNgKkFCAGIAU2AqAUIAYgKTcDmBQgECANQYQC/AoAACAGQaAOaiAGQZgUahCcESAGKQLYDiEoDBwLIAxFDVggBiAoNwKkDiAGIAw2AqAOIAZB4AdqIAEgBkGgDmpBACAWEMYBIAYpA+AHQn9RBEAgBiAGKQKcCDcDSCAGIAYoAqQINgJQIAYpA/AHIipCIIinIREgBigCmAghBCAGKAKUCCEOIAYoApAIIQ0gBigCjAghByAGKAKICCEPIAYpA4AIISkgBikD+AchKCAGKALsByEKIAYoAugHIQUgKqchEwxYCyAGQZgUaiAGQeAHahCcESAGIAYpAtAUIig3A0gMVAsgDEUNVyAGIAw2AuAKIAYgKDcC5AogBiABKQIoNwPQFyAGIAEpAiA3A8gXIAYgASkCGDcDwBcgBiABKQIQNwO4FyAGIAEpAgg3A7AXIAYgASkCADcDqBcgBkEAOwGMDiAGQgQ3AvgNIAZCADcC8A0gBkKAgICAwAA3AugNIAZCBDcC4A0gBkIANwLYDSAGQoCAgICAATcC0A0gBkEANgKIDiAGQoCAgIDAADcCgA4gBigCuBchFQJAQcDwyQACfgJAAkAgBigCvBciCARAIAhB2ABsIQcgFUHMAGohAQNAIAFBBGooAgBBBEYEQCABKAIAKAAAQeTC0YsGRg0DCyABQdgAaiEBIARBAWohBCAHQdgAayIHDQALC0HQ8MkALQAARQ0BQcjwyQApAwAhLEHA8MkAKQMADAILIBUgBEHYAGxqIgEoAgAhBSAGQZgUaiABQQRqQcQA/AoAACABKAJMIRAgASgCSCEJIAggBEF/c2pB2ABsIgcEQCABIAFB2ABqIAf8CgAACyAGIAhBAWsiCDYCvBcgBUF/Rg0QIAZB2AVqIgQgBkGYFGoiAUHEAPwKAAAgBUEERg0CIAYgBTYCmBQgAUEEciAEQcQA/AoAACAGIAGtQoCAgIDwIIQ3A+AQIAZB2A5qQaHvwQAgBkHgEGoQuAwgBkEAOgDkDiAGQX82ArgOIAEQrgcgBigCqA4hBSAGKAKsDiEKIAYpA7AOISogBikDuA4hKCAGKQPADiEpIAYoAsgOIQ8gBigCzA4hByAGKALQDiENIAYoAtQOIQ4gBigC2A4hBCAGKQLcDiErIAYoAuQOIRIgCQRAIBAgCRDZEgsgDAxNCyAGQZgUahC7EUHQ8MkAQQE6AABByPDJACAGKQOgFCIsNwMAIAYpA5gUCyIpQgF8NwMAQQghBUF/IQ9BiKnJACENDEkLIAYgBikClAY3A+AOIAYgBikCjAYiLTcD2A4gBiAGKQKEBiIuNwPQDiAGIAYpAvwFIi83A8gOIAYgBikC3AUiMDcDqA4gBikC9AUhLCAGKQLsBSEpIAYpAuQFISsgBigCrA4hEyAGKALMDiEFIAYoAtQOIQ0gBikC3A4hKiAGKALkDiESIC6nIQogCUUNRyAQIAkQ2RIMRwsgDEUNViAGICg3AuQQIAYgDDYC4BAgBiABKQIoNwOABiAGIAEpAiA3A/gFIAYgASkCGDcD8AUgBiABKQIQNwPoBSAGIAEpAgg3A+AFIAYgASkCADcD2AUgBkEAOwHcDiAGQgQ3AsgOIAZCADcCwA4gBkKAgICAwAA3ArgOIAZCBDcCsA4gBkIANwKoDiAGQoCAgICAATcCoA4gBkEANgLYDiAGQoCAgIDAADcC0A4gBkGYFGogBkGgDmoiASAWIAZB4BBqQQAgBkHYBWoQcCAGKALIFCIEQX9GDQQgBiAGKQLMFDcDSCAGIAYoAtQUNgJQIAYpA6AUIipCIIinIREgBigCxBQhDiAGKALAFCENIAYoArwUIQcgBigCuBQhDyAGKQOwFCEpIAYpA6gUISggBigCnBQhCiAGKAKYFCEFIAEQmgggKqchE0EBIQEMWgsgDEUNVSAGICg3AuQQIAYgDDYC4BAgBiABKQIoNwOABiAGIAEpAiA3A/gFIAYgASkCGDcD8AUgBiABKQIQNwPoBSAGIAEpAgg3A+AFIAYgASkCADcD2AUgBkEAOwHcDiAGQgQ3AsgOIAZCADcCwA4gBkKAgICAwAA3ArgOIAZCBDcCsA4gBkIANwKoDiAGQoCAgICAATcCoA4gBkEANgLYDiAGQoCAgIDAADcC0A5BASEBIAZBmBRqIAZBoA5qIgkgFiAGQeAQakEBIAZB2AVqEHAgBigCyBQiBEF/Rg0DIAYgBikCzBQ3A0ggBiAGKALUFDYCUCAGKQOgFCIqQiCIpyERIAYoAsQUIQ4gBigCwBQhDSAGKAK8FCEHIAYoArgUIQ8gBikDsBQhKSAGKQOoFCEoIAYoApwUIQogBigCmBQhBSAJEJoIICqnIRMMWQsgDEUNVCAGICg3AtwWIAYgDDYC2BYgBiABKQIoNwOQFyAGIAEpAiA3A4gXIAYgASkCGDcDgBcgBiABKQIQNwP4FiAGIAEpAgg3A/AWIAYgASkCADcD6BYgBkEAOwHkFyAGQgQ3AtAXIAZCADcCyBcgBkKAgICAwAA3AsAXIAZCBDcCuBcgBkIANwKwFyAGQoCAgICAATcCqBcgBkEANgLgFyAGQoCAgIDAADcC2BcCQCAGKAL8FiIFBEAgBUHYAGwhByAGKAL4FiIIQcwAaiEBA0AgAUEEaigCAEEFRgRAIAEoAgAiCSgAAEH30JWTB3MgCUEEai0AAEHlAHNyRQ0DCyABQdgAaiEBIARBAWohBCAHQdgAayIHDQALC0H0tMYAEJ0VAAsgCCAEQdgAbGoiASgCACEHIAZBmBRqIAFBBGpBxAD8CgAAIAEoAkwhECABKAJIIQkgBSAEQX9zakHYAGwiCgRAIAEgAUHYAGogCvwKAAALIAYgBUEBayIKNgL8FiAHQX9GDWAgBkHYBWoiBCAGQZgUaiIBQcQA/AoAACAHQQRHBEAgBiAHNgKYFCABQQRyIARBxAD8CgAAIAYgAa1CgICAgPAghDcDoAogBkHYDmpBoe/BACAGQaAKahC4DCAGQQA6AOQOIAZBfzYCuA4gARCuByAGIAYoAuQOIgE2AugQIAYgBikC3A4iKDcD4BAgBiAoNwOAFCAGIAE2AogUIAYoAqgOIQUgBigCrA4hCiAGKQOwDiEqIAYpA7gOISggBikDwA4hKSAGKALIDiEPIAYoAswOIQcgBigC0A4hDSAGKALUDiEOIAYoAtgOIQQgCUUNQCAQIAkQ2RIMQAsgBiAGKQKUBjcD4A4gBiAGKQKMBiIoNwPYDiAGIAYpAoQGIik3A9AOIAYgBikC/AUiKjcDyA4gBiAGKQL0BSIrNwPADiAGIAYpAtwONwPgECAGIAYoAuQONgLoECAGKQLcBSEsIAYpAuQFIS0gBikC7AUhLiAGICg+AoAOIAYgKTcD+A0gBiAqNwPwDSAGICs3A+gNIAYgLjcD4A0gBiAtNwPYDSAGICw3A9ANIAYgBigC6BA2AowOIAYgBikD4BA3AoQOIAkEQCAQIAkQ2RILIAZBmBRqIAZB0A1qIAZB2BZqEKkBIAYtAJgUIgFB/wFGBEAgBiAGKQLUFDcDgBQgBiAGKALcFDYCiBQgBigC0BQhBCAGKALMFCEOIAYoAsgUIQ0gBigCxBQhByAGKALAFCEPIAYpA7gUISkgBikDsBQhKCAGKQOoFCEqIAYoAqQUIQogBigCoBQhBQxACyAGIAYoAJwUNgDcBSAGIAYoAJkUNgDZBSAGIAYpAtQUNwOgDiAGIAYoAtwUNgKoDiAGIAYoAtAUNgKQBiAGIAYpA8gUNwOIBiAGIAYpA8AUNwOABiAGIAYpA7gUNwP4BSAGIAYpA7AUNwPwBSAGIAYpA6AUNwPgBSAGIAYpA6gUNwPoBSAGKQPgFCEoIAYgBigCqA42ApwGIAYgBikDoA43ApQGIAYgKDcDoAYgBiABOgDYBQJAIAoEQCAKQdgAbCEHIAhBzABqIQFBACEEA0AgAUEEaigCAEEERgRAIAEoAgAoAABB5MLRiwZGDQMLIAFB2ABqIQEgBEEBaiEEIAdB2ABrIgcNAAsLQYS1xgAQnRUACyAIIARB2ABsaiIBKAIAIQcgBkGYFGogAUEEakHEAPwKAAAgASgCTCEIIAEoAkghCSAKIARBf3NqQdgAbCIKBEAgASABQdgAaiAK/AoAAAsgBiAFQQJrIgE2AvwWIAdBf0YNCyAGQeAQaiIEIAZBmBRqIgFBxAD8CgAAIAdBBEcEQCAGIAc2ApgUIAFBBHIgBEHEAPwKAAAgBiABrUKAgICA8CCENwP4CiAGQdgOakGh78EAIAZB+ApqELgMIAZBADoA5A4gBkF/NgK4DiABEK4HIAYgBigC5A4iATYCqAogBiAGKQLcDjcDgBQgBiABNgKIFCAGKAKoDiEFIAYoAqwOIQogBikDsA4hKiAGKQO4DiEoIAYpA8AOISkgBigCyA4hDyAGKALMDiEHIAYoAtAOIQ0gBigC1A4hDiAGKALYDiEEDD8LIAYgBikCnBE3A+AOIAYgBikClBE3A9gOIAYgBikCjBEiKDcD0A4gBiAGKQKEESIpNwPIDiAGIAYpAvwQIio3A8AOIAYgBikC9BAiKzcDuA4gBiAGKQLsECIsNwOwDiAGIAYpAuQQIi03A6gOIAYoAswOIQUgBikC1A4hLiAGIAYoAuQONgKoCiAGIAYpAtwONwOgCiAGIC43AswTIAYgKKciCjYCyBMgBiAFNgLEEyAGICk+AsATIAYgKjcDuBMgBiArNwOwEyAGICw3A6gTIAYgLTcDoBMgBiAGKAKoCjYC3BMgBiAGKQOgCjcC1BMCQCAGKAKMF0F/Rg0AIAYoApQXQZABbCEBIAYoApAXIQQDQCABRQ0BIAFBkAFrIQEgBEGEAWogBEGQAWohBCgCAEF/Rg0ACww9C0EBIQ4gCkUNPSAKQdgAbCEEIAVB0ABqIQEDQCAGQZgUaiAGQdgWaiABQQRrKAIAIAEoAgAQ3gUgBigCmBRBf0YEQCAGKAKcFCIEKAIAIQEgBCABQQFrNgIAIAFBAUcNPiAGKAKcFBAwDD4LIAFB2ABqIQEgBkGYFGoQwQcgBEHYAGsiBA0ACww9CyAMRQ1TIAYgKDcC5BAgBiAMNgLgECAGIAEpAig3A4AGIAYgASkCIDcD+AUgBiABKQIYNwPwBSAGIAEpAhA3A+gFIAYgASkCCDcD4AUgBiABKQIANwPYBSAGQQA7AdwOIAZCBDcCyA4gBkIANwLADiAGQoCAgIDAADcCuA4gBkIENwKwDiAGQgA3AqgOIAZCgICAgIABNwKgDiAGQQA2AtgOIAZCgICAgMAANwLQDiAGQZgUaiAGQaAOaiIBIBYgBkHgEGpBACAGQdgFahBsIAYoAsgUIgRBf0YNASAGIAYpAswUNwNIIAYgBigC1BQ2AlAgBikDoBQiKkIgiKchESAGKALEFCEOIAYoAsAUIQ0gBigCvBQhByAGKAK4FCEPIAYpA7AUISkgBikDqBQhKCAGKAKcFCEKIAYoApgUIQUgARCaCCAqpyETQQEhAQxXCyAMRQ1SIAYgKDcC5BAgBiAMNgLgECAGIAEpAig3A4AGIAYgASkCIDcD+AUgBiABKQIYNwPwBSAGIAEpAhA3A+gFIAYgASkCCDcD4AUgBiABKQIANwPYBSAGQQA7AdwOIAZCBDcCyA4gBkIANwLADiAGQoCAgIDAADcCuA4gBkIENwKwDiAGQgA3AqgOIAZCgICAgIABNwKgDiAGQQA2AtgOIAZCgICAgMAANwLQDkEBIQEgBkGYFGogBkGgDmoiCSAWIAZB4BBqQQEgBkHYBWoQbCAGKALIFCIEQX9GDQAgBiAGKQLMFDcDSCAGIAYoAtQUNgJQIAYpA6AUIipCIIinIREgBigCxBQhDiAGKALAFCENIAYoArwUIQcgBigCuBQhDyAGKQOwFCEpIAYpA6gUISggBigCnBQhCiAGKAKYFCEFIAkQmgggKqchEwxWCyAGIAYpAtgOIig3A0ggBigCoA4hDSAGKAKoDiEFIAYpAqwOISsgBikCtA4hKiAGKQK8DiEpIAYoAsQOIREgBigCyA4hDyAGKALMDiEOIAYoAtAOIQggBigC1A4hCiAGKAKkDgxKCyAMRQ1QIAYgDDYCqAsgBiAoNwKsCyAGKAIYIR0gBigCHCEeIAYoAiAhESAGKAIkIRogBigCKCESIAYoAjAhGCAGKAI0IR8gBigCOCEKIAYoAjwhGSAGKAJAIQggBigCRCEQIAYoAiwhBUEAIQEgBkEAOwGkFyAGQgQ3ApAXIAZCADcCiBcgBkKAgICAwAA3AoAXIAZCBDcC+BYgBkIANwLwFiAGQoCAgICAATcC6BYgBkEANgKgFyAGQoCAgIDAADcCmBcCQCAFBEAgBUHYAGwhByAoQiCIpyEOIAZBqA5qIQkgBkHIDmohFSAopyEPA0AgASASaiINQdAAaigCAEEFRgRAIA1BzABqKAIAIg0oAABB99CVkwdzIA1BBGotAABB5QBzckUNAwsgBEEBaiEEIAcgAUHYAGoiAUcNAAsLQcS0xgAQnRUACyASIARB2ABsaiIBKAIAIQcgBkGYFGogAUEEakHEAPwKAAAgASgCTCEcIAEoAkghFyAFIARBf3NqQdgAbCINBEAgASABQdgAaiAN/AoAAAsgBUEBayEUIAdBf0YNCCAGQdANaiIEIAZBmBRqQcQA/AoAACAHQQRHBEAgBiAHNgKgDiAGQaAOaiIBQQRyIARBxAD8CgAAIAYgAa1CgICAgPAghDcDgBQgBkHYE2pBoe/BACAGQYAUahC4DCAGQQA6AOQTIAZBfzYCuBMgARCuByAGIAYpA9gTIio3A9gXIAYgBikD0BMiKzcD0BcgBiAGKQPIEyIsNwPIFyAGIAYpA8ATIik3A8AXIAYgBikDuBMiKDcDuBcgBiAGKQOwEyItNwOwFyAGIAYpA6gTIi43A6gXIAYgBikD4BM3A+AXIAYgBikC3Bc3A9gWIAYgBigC5Bc2AuAWIAYoAtQXIQ4gBigCzBchByAGKAK0FyERIAYoAqwXIQogKqchBCArpyENICynIQ8gLachEyAupyEFDDQLIAYgBikCjA4iKDcD4BMgBiAGKQKEDiIpNwPYEyAGIAYpAvwNIio3A9ATIAYgBikC9A0iKzcDyBMgBiAGKQLUDTcDqBcgBiAGKQLcDTcDsBcgBiAGKQLkDTcDuBcgBiAGKQLsDTcDwBcgBiArNwPIFyAGICo3A9AXIAYgKTcD2BcgBiAoNwPgFyAGQZgUaiAGQagXaiAGQagLahCpASAGLQCYFCIBQf8BRgRAIAYgBikC1BQiKDcDoAogBiAGKALcFCIBNgKoCiAGICg3A9gWIAYgATYC4BYgBigC0BQhBCAGKALMFCEOIAYoAsgUIQ0gBigCxBQhByAGKALAFCEPIAYpA7gUISkgBikDsBQhKCAGKAKsFCERIAYoAqgUIRMgBigCpBQhCiAGKAKgFCEFDDQLIAYgBigAnBQ2AOQQIAYgBigAmRQ2AOEQIAYgBikC1BQ3A6AKIAYgBigC3BQ2AqgKIAYgBigC0BQ2ApgRIAYgBikDyBQ3A5ARIAYgBikDwBQ3A4gRIAYgBikDuBQ3A4ARIAYgBikDqBQ3A/AQIAYgBikDoBQ3A+gQIAYgBikDsBQ3A/gQIAYpA+AUISggBiAGKAKoCjYCpBEgBiAGKQOgCjcCnBEgBiAoNwOoESAGIAE6AOAQIBlBf0YNCSAQQZABbCEBIAghBAJAA0AgAUUNASABQZABayEBIARBhAFqIQcgBEGQAWohBCAHKAIAQX9GDQALIAZBAToApRcgBiAQNgLMEyAGIAg2AsgTIAYgGTYCxBMgBiAKNgLAEyAGIB82ArwTIAYgGDYCuBMgBiAUNgK0EyAGIBI2ArATIAYgGjYCrBMgBiARNgKoEyAGIB42AqQTIAYgHTYCoBMgDCAMKAIAIgFBAWo2AgAgAUEASA1MIAYgDjYC2A0gBiAPNgLUDSAGIAw2AtANIAZBmBRqIAZBoBNqIAZB0A1qQQAgFhCPASAGIAYpAtQUNwOgCiAGIAYoAtwUNgKoCiAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYoAqwUIREgBigCqBQhEyAGKAKkFCEKIAYoAqAUIQUgBikDmBQiKkJ/UQRAIAYgBikDoAo3A9gWIAYgBigCqAo2AuAWIAZB4BBqEK8EDDQLIAZB6A5qIAZBmBRqIgFByABqQfgB/AoAACAGIAQ2AtgOIAYgDjYC1A4gBiANNgLQDiAGIAc2AswOIAYgDzYCyA4gBiApNwPADiAGICg3A7gOIAYgETYCtA4gBiATNgKwDiAGIAo2AqwOIAYgBTYCqA4gBiAqNwOgDiAGIAYpA6AKNwLcDiAGIAYoAqgKNgLkDiABIAZB4BBqEIcDIAYoAqQUIQUgBigCoBQhCiAGKAKcFCEOIAYtAJgUIQ8gCSEEAkACQAJAQQMgBikDoA4iKKdBAmsiESAoQgFYGw4CAgEAC0GI+8gAQQ9B5NbGABCvFAALIBUhBAsgBkGoFGohByAGQZgUakEBciEIAkACQAJAAkACQAJAIAQtAAAiAQ4LAwQFAQEBAQEBAQIACyABQf8BRw0AIAYgCC0AAjoA0g0gBiAILwAAOwHQDSAGIAcpAwA3A6ATIAYgBykDCDcDqBMgBiAHKQMQNwOwEyAGIAcpAxg3A7gTIAYgBykDIDcDwBMgBiAHKQMoNwPIEyAGIAcpAzA3A9ATIAYgBykDODcD2BMMMwtBoAEQkAEiAUUNeiABIAQQhwMgASAPOgBQIAEgBTYCXCABIAo2AlggASAONgJUIAEgCC8AADsAUSABIAgtAAI6AFMgASAHKQMANwNgIAEgBykDCDcDaCABIAcpAxA3A3AgASAHKQMYNwN4IAEgBykDIDcDgAEgASAHKQMoNwOIASABIAcpAzA3A5ABIAEgBykDODcDmAEgBikDoA4iKKdBAmshEUEBIQ9BAiEOIAEhCkECIQUMMgsgBiAILQACOgDSDSAGIAgvAAA7AdANIAYgBykDADcDoBMgBiAHKQMINwOoEyAGIAcpAxA3A7ATIAYgBykDGDcDuBMgBiAHKQMgNwPAEyAGIAcpAyg3A8gTIAYgBykDMDcD0BMgBiAHKQM4NwPYEwwxCyAEKAIMIhEgBCgCBEYEQCAEQQRqEKoSCyAEKAIIIBFB0ABsaiIBIAgvAAA7AAEgASAPOgAAIAEgCC0AAjoAAyABIAU2AgwgASAKNgIIIAEgDjYCBCABIAcpAAA3ABAgASAHKQAINwAYIAEgBykAEDcAICABIAcpABg3ACggASAHKQAgNwAwIAEgBykAKDcAOCABIAcpADA3AEAgASAHKQA4NwBIIAQgEUEBajYCDAwxCyAEKAIMIhEgBCgCBEYEQCAEQQRqEKoSCyAEKAIIIBFB0ABsaiIBIAgvAAA7AAEgASAPOgAAIAEgCC0AAjoAAyABIAU2AgwgASAKNgIIIAEgDjYCBCABIAcpAAA3ABAgASAHKQAINwAYIAEgBykAEDcAICABIAcpABg3ACggASAHKQAgNwAwIAEgBykAKDcAOCABIAcpADA3AEAgASAHKQA4NwBIIAQgEUEBajYCDAwwCyAEKAIMIhEgBCgCBEYEQCAEQQRqEKoSCyAEKAIIIBFB0ABsaiIBIAgvAAA7AAEgASAPOgAAIAEgCC0AAjoAAyABIAU2AgwgASAKNgIIIAEgDjYCBCABIAcpAAA3ABAgASAHKQAINwAYIAEgBykAEDcAICABIAcpABg3ACggASAHKQAgNwAwIAEgBykAKDcAOCABIAcpADA3AEAgASAHKQA4NwBIIAQgEUEBajYCDAwvCyAGQeAQahD9ERogBkH4CmogCCAQIAZBqAtqEOMGQQQhDSAQBEAgEEEMbBCQASINRQ1kIAhB+ABqIQEgDSEEIBAhCgNAAkAgAUEYayABIAEoAgBBf0YbIgVBCGooAgAiB0UEQEEBIQUMAQsgBUEEaigCACEJIAcQkAEiBUUNZCAHRQ0AIAUgCSAH/AoAAAsgBCAHNgIAIARBCGogBzYCACAEQQRqIAU2AgAgAUGQAWohASAEQQxqIQQgCkEBayIKDQALIAYoAqwLIQ8gBigCsAshDgsgDCAMKAIAIgFBAWo2AgAgAUEASA1LIAZBnBRqIAZB4BBqQdAA/AoAACAGQaAOaiIEIAZBmBRqIgVB1AD8CgAAIAYgBigCgAs2AuQNIAYgBikD+Ao3AtwNIAZB6BZqIgkQrxIgBigC7BYiAUEeNgIIIAFCfzcDACABQQxqIARB1AD8CgAAIAFBfzYCYCABQn83A8ACIAEgETYCnAEgASAeNgKYASABIB02ApQBIAEgDjYCkAEgASAPNgKMASABIAw2AogBIAEgEDYChAEgASANNgKAASABIBA2AnwgASAGKQLQDTcCZCABIAYpAtgNNwJsIAEgBikC4A03AnQgBkEBNgLwFiAFIAkgFiAGQagLakEAEJMBIAYoAqAUIRMgBigCnBQhCiAGKAKYFCEFIAYoAsgUIgRBf0cEQCAGIAYpAswUNwPYFiAGIAYoAtQUNgLgFiAGKALEFCEOIAYoAsAUIQ0gBigCvBQhByAGKAK4FCEPIAYpA7AUISkgBikDqBQhKCAGKAKkFCERDC0LIBMEQCAGQQE6AKUXCyAGKAKIFyIBIAYoAoAXRgRAIAZBgBdqEJsSCyAGKAKEFyABQQJ0akEANgIAIAYgAUEBajYCiBcgBigC8BYiASAGKALoFkYEQCAGQegWahCvEgsgBigC7BYgAUHIAmxqIgRCfzcDwAIgBEIHNwMAIAYgAUEBajYC8BYgBkGgCmogBkGoC2oQ1wJBARCQASIERQ11IARBAzoAACAGIAYpAqAKNwKwFCAGIAYoAqgKNgK4FCAGQYeAgIB4NgK8FCAGQYSHxgA2AqwUIAYgBDYCqBQgBkKAgICAEDcCoBQgBkKAgICAEDcCmBQgBkGgE2ogBkHoFmpBACABIAZBmBRqEKINIAYoAqATIgFBfkcEQCAGKQKwEyEoIAYoAqwTIREgBigCqBMhEyAGKAKkEyEJQYmAgIB4IQQgBUUNLCAKIAVBAnQQ2RIMLAsgBQRAIAogBUECdBDZEgsgEARAIAghAQNAIAEQrgggAUGQAWohASAQQQFrIhANAAsLIBkEQCAIIBlBkAFsENkSCyAXBEAgHCAXENkSCyAYQQFrQX1NBEAgHyAYENkSCyAUBEAgEiEBA0AgAUHIAGooAgAiBARAIAFBzABqKAIAIAQQ2RILIAEQrgcgAUHYAGohASAUQQFrIhQNAAsLIBpFDS8gEiAaQdgAbBDZEgwvCyAMRQ1PIAYgKDcD2AogBiAMNgLUCiAGIBY2AtAKIAYgASkCADcDoAogBiABKQIINwOoCiAGIAEpAhA3A7AKIAYgASkCGDcDuAogBiABKQIgNwPACiAGIAEpAig3A8gKIAZBADsBpBcgBkIENwKQFyAGQgA3AogXIAZCgICAgMAANwKAFyAGQgQ3AvgWIAZCADcC8BYgBkKAgICAgAE3AugWIAZBADYCoBcgBkKAgICAwAA3ApgXIAYgKDcC9AwgBiAMNgLwDCAGIAEpAhAiKTcDiAsgBiABKQIoNwOgCyAGIAEpAiA3A5gLIAYgASkCGDcDkAsgBiABKQIINwOACyAGIAEpAgA3A/gKIAYoAowLIgpB2ABsIQggKachDgJAIAoEQCAGQdQKaiEPIA5BzABqIQEgCCEHA0AgAUEEaigCAEEFRgRAIAEoAgAiBSgAAEH30JWTB3MgBUEEai0AAEHlAHNyRQ0DCyABQdgAaiEBIARBAWohBCAHQdgAayIHDQALCyAGQQo6AOAQDCcLIA4gBEHYAGxqIgEoAgAhByAGQZgUaiABQQRqQcQA/AoAACABKAJMIQggASgCSCEJIAogBEF/c2pB2ABsIgUEQCABIAFB2ABqIAX8CgAACyAGIApBAWsiCjYCjAsgB0F/Rg1bIAZB0A1qIgQgBkGYFGpBxAD8CgAAIAdBBEcEQCAGIAc2AqAOIAZBoA5qIgFBBHIgBEHEAPwKAAAgBiABrUKAgICA8CCENwPADSAGQdgTakGh78EAIAZBwA1qELgMIAZBADoA5BMgBkF/NgK4EyABEK4HIAYgBikC3BMiKDcD2BYgBiAGKALkEyIBNgLgFiAGICg3A6AMIAYgATYCqAwgBigCqBMhBSAGKAKsEyEKIAYoArATIRMgBigCtBMhESAGKQO4EyEoIAYpA8ATISkgBigCyBMhDyAGKALMEyEHIAYoAtATIQ0gBigC1BMhDiAGKALYEyEEDCYLIAYgBikCjA43A+ATIAYgBikChA4iKTcD2BMgBiAGKQL8DSIqNwPQEyAGIAYpAvQNIis3A8gTIAYgBikC7A0iLDcDwBMgBiAGKQLcEzcD2BYgBiAGKALkEzYC4BYgBikC1A0hLSAGKQLcDSEuIAYpAuQNIS8gBiApPgLYFyAGICo3A9AXIAYgKzcDyBcgBiAsNwPAFyAGIC83A7gXIAYgLjcDsBcgBiAtNwOoFyAGIAYoAuAWNgLkFyAGIAYpA9gWNwLcFyAGQZgUaiAGQagXaiAPENYMIAYtAJgUIgFB/wFGBEAgBiAGKQLUFCIoNwOAFCAGIAYoAtwUIgE2AogUIAYgKDcDoAwgBiABNgKoDCAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYoAqwUIREgBigCqBQhEyAGKAKkFCEKIAYoAqAUIQUMJgsgBiAGKACcFDYA5BAgBiAGKACZFDYA4RAgBiAGKQLUFDcDgBQgBiAGKALcFDYCiBQgBiAGKALQFDYCmBEgBiAGKQPIFDcDkBEgBiAGKQPAFDcDiBEgBiAGKQO4FDcDgBEgBiAGKQOoFDcD8BAgBiAGKQOgFDcD6BAgBiAGKQOwFDcD+BAgBikD4BQhKSAGIAYoAogUNgKkESAGIAYpA4AUNwKcESAGICk3A6gRIAYgAToA4BAgCQRAIAggCRDZEgsgCkHYAGwhCAwmCyAMRQ1OIAYgKDcC1AsgBiAMNgLQCyAGIAEpAig3A8gKIAYgASkCIDcDwAogBiABKQIYNwO4CiAGIAEpAhA3A7AKIAYgASkCCDcDqAogBiABKQIANwOgCiAGQQA7AaQXIAZCBDcCkBcgBkIANwKIFyAGQoCAgIDAADcCgBcgBkIENwL4FiAGQgA3AvAWIAZCgICAgIABNwLoFiAGQQA2AqAXIAZCgICAgMAANwKYFyAGQZgUaiAGQaAKakG88ccAQQUQjAcgBiAGKQLUFDcDoAwgBiAGKALcFDYCqAwgBigC0BQhBCAGKALMFCEOIAYoAsgUIQ0gBigCxBQhByAGKALAFCEPIAYpA7gUISkgBikDsBQhKCAGKQOoFCEqIAYoAqQUIQogBigCoBQhBSAGKQOYFEIBUQRAIAYgBigCqAw2AsgLIAYgBikDoAw3A8ALDCQLIAVBfkYNCCAGIAQ2ApAMIAYgDjYCjAwgBiANNgKIDCAGIAc2AoQMIAYgDzYCgAwgBiApNwP4CyAGICg3A/ALIAYgKjcD6AsgBiAKNgLkCyAGIAU2AuALIAYgBikDoAw3ApQMIAYgBigCqAw2ApwMIAZBmBRqIAZBoApqQcHxxwBBBhCMByAGIAYpAtQUNwPwDCAGIAYoAtwUNgL4DCAGKALQFCEEIAYoAswUIQ4gBigCyBQhCCAGKALEFCEQIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEFIAYoApgUBEAgBiAGKAL4DDYCyAsgBiAGKQPwDDcDwAsgBkHgC2oQ4wkgECEHIAghDQwkCyAFQX5GDQkgBiAENgLgDCAGIA42AtwMIAYgCDYC2AwgBiAQNgLUDCAGIA82AtAMIAYgKTcDyAwgBiAoNwPADCAGICo3A7gMIAYgCjYCtAwgBiAFNgKwDCAGIAYpA/AMNwLkDCAGIAYoAvgMNgLsDCAGQZgUaiAGQaAKakHdmskAQQYQjAcgBiAGKQLUFDcDwA0gBiAGKALcFDYCyA0gBigC0BQhBCAGKALMFCEOIAYoAsgUIQkgBigCxBQhEiAGKALAFCEPIAYpA7gUISkgBikDsBQhKCAGKQOoFCEqIAYoAqQUIQogBigCoBQhBSAGKAKYFARAIAYgBigCyA02AsgLIAYgBikDwA03A8ALIAZBsAxqEOMJIAZB4AtqEOMJIBIhByAJIQ0MJAsgBUF+Rg0KIAYgBDYCsA0gBiAONgKsDSAGIAk2AqgNIAYgEjYCpA0gBiAPNgKgDSAGICk3A5gNIAYgKDcDkA0gBiAqNwOIDSAGIAo2AoQNIAYgBTYCgA0gBiAGKQPADTcCtA0gBiAGKALIDTYCvA1BACEOAn9BACAGKALECkF/Rg0AGiAGKALMCkGQAWwhASAGKALICiEEA0BBACABRQ0BGiABQZABayEBIARBhAFqIARBkAFqIQQoAgBBf0YNAAtBAQshFAJAIAhFDQAgCEHYAGwhBCAQQdAAaiEBA0AgBkGYFGogBkHQC2ogAUEEaygCACABKAIAEN4FIAYoApgUQX9GBEAgBigCnBQiBCgCACEBIAQgAUEBazYCAEEBIQ4gAUEBRw0CIAYoApwUEDAMAgsgAUHYAGohASAGQZgUahDBByAEQdgAayIEDQALCwJAIAlFDQAgCUHYAGwhBCASQdAAaiEBA0AgBkGYFGogBkHQC2ogAUEEaygCACABKAIAEN4FIAYoApgUQX9GBEAgBigCnBQiBCgCACEBIAQgAUEBazYCAEEBIRMgAUEBRw0CIAYoApwUEDAMAgsgAUHYAGohASAGQZgUahDBByAEQdgAayIEDQALCyANQdgAbCEPIA0EfyAHIA9qIRJBACEKIAchBQNAIAZBmBRqIAZB0AtqIgEgBUHMAGooAgAiBCAFQdAAaigCACIIEO8GAkAgBigCmBRBf0cEQCAGQaAOaiAEIAggARD8BAJAIAYoAqAOIghBf0YNACAGKAKkDiENIAYoAqgOIgQEQCANQRBqIQEDQCABKAIAIhUoAgAhECAVIBBBAWs2AgAgEEEBRgRAIAEoAgAQMAsgAUEUaiEBIARBAWsiBA0ACwsgCEUNACANQQRrKAIAIgRBeHEhASABIAhBFGwiEEEEQQggBEEDcSIEG2pJDWIgBEEARyABIBBBJ2pLcQ1jIA0QvAULIAhBf0chAQwBC0EAIQEgBigCrBQhBCAGKAKcFEEBcUUEQCAEQQhqIAYoAqAUEIQJIQELIAQgBCgCACIIQQFrNgIAIAhBAUcNACAEEDALIAYoApgUQX9HBEAgBkGYFGoQwQcLIAEgCmohCiASIAVB2ABqIgVHDQALIApBAUcFQQELIQEDQCAPIgQEQCAEQdgAayEPIAdBzABqKAIAIAdB0ABqKAIAIAcgBkGwDGoQghIgB0HYAGohBw0BCwsgFkHIAGooAgAgFkHMAGooAgAoAhwRDgAhKEEAIQgCQCAEDQAgCUUNACAUIA4gEyABIChCgICAgICAgMAAg1BycnJyDQAgFi0AbkECRyEICyAGQZgUaiAGQeALaiAGQdALahCpAQJAAkAgBi0AmBQiAUH/AUYEQCAGIAYpAtQUNwPACyAGIAYoAtwUNgLICyAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEFDAELIAYgBigAnBQ2ANQNIAYgBigAmRQ2ANENIAYgBikC1BQ3A6AOIAYgBigC3BQ2AqgOIAYgBigC0BQ2AogOIAYgBikDyBQ3A4AOIAYgBikDwBQ3A/gNIAYgBikDuBQ3A/ANIAYgBikDsBQ3A+gNIAYgBikDoBQ3A9gNIAYgBikDqBQ3A+ANIAYpA+AUISggBiAGKAKoDjYClA4gBiAGKQOgDjcCjA4gBiAoNwOYDiAGIAE6ANANIAZB2AVqIgEgBkGgCmoQjwggBigC1AshBCAGKALYCyEFIAwgDCgCACIHQQFqNgIAIAdBAEgNSyAGIAU2AugQIAYgBDYC5BAgBiAMNgLgECAGQZgUaiIJIAEgBkHgEGpBACAWEI8BIAYgBikC1BQ3A6ATIAYgBigC3BQ2AqgTIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBikDqBQhKiAGKAKkFCEKIAYoAqAUIQUgBikDmBQiK0J/UgRAIAZB6A5qIAlByABqQfgB/AoAACAGIAQ2AtgOIAYgDjYC1A4gBiANNgLQDiAGIAc2AswOIAYgDzYCyA4gBiApNwPADiAGICg3A7gOIAYgKjcDsA4gBiAKNgKsDiAGIAU2AqgOIAYgBikDoBM3AtwOIAYgBigCqBM2AuQOIAYgKzcDoA4gBkGoDmohCQJAAkAgCCArQgJRcUUEQCAGQQE6AKUXIAZBgBRqIAZB0AtqENcCIAYoAtQLIQogBigC2AshCCAMIAwoAgAiAUEBajYCACABQQBIDU8gBiAINgKwCyAGIAo2AqwLIAYgDDYCqAsgBigCiBQiBUGLro8FTw1eIAVByAFsIg0NAUEIIQcMAgsgBkHgEGogCUGgAfwKAAAgBkGYFGogBkHQC2ogBkGwDGoQdwJAAkAgBigCmBQiAUF/RgRAIAYgBikC1BQ3A8ALIAYgBigC3BQ2AsgLIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBikDqBQhKiAGKAKkFCEKIAYoAqAUIQUMAQsgBiAGKQLUFDcDoBMgBiAGKALcFDYCqBMgBiAGKQPgFDcDoAYgBiAGKQPoFDcDqAYgBiAGKQPwFDcDsAYgBikDyBQhKCAGKQPAFCEpIAYpApwUISogBigC0BQhBCAGKQO4FCErIAYpA7AUISwgBikDqBQhLSAGIAYoAqQUNgLkBSAGIC03A+gFIAYgLDcD8AUgBiArNwP4BSAGIAQ2ApAGIAYgKjcC3AUgBiApNwOABiAGICg3A4gGIAYgATYC2AUgBiAGKQOgEzcClAYgBiAGKAKoEzYCnAYgBkGAEmoiCSAGQdgFaiIEQdAA/AoAACAEQdAAaiIHENoQIAZBmBRqIAZB0AtqIAZBgA1qEHcgBigCmBQiBEF/Rw0BIAYgBikC1BQ3A8ALIAYgBigC3BQ2AsgLIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBikDqBQhKiAGKAKkFCEKIAYoAqAUIQUgCRCIBCAGQaASahCKDAsgBkHgEGoQiQcgBikDoA5CAlENBSAGQaAOahDfASAGQdANahCvBCABQX9GDSYMKQsgBiAGKQLUFDcDoBMgBiAGKALcFDYCqBMgBiAGKQPgFDcDoAYgBiAGKQPoFDcDqAYgBiAGKQPwFDcDsAYgBikDyBQhKCAGKQPAFCEpIAYpApwUISogBigC0BQhASAGKQO4FCErIAYpA7AUISwgBikDqBQhLSAGIAYoAqQUNgLkBSAGIC03A+gFIAYgLDcD8AUgBiArNwP4BSAGIAE2ApAGIAYgKjcC3AUgBiApNwOABiAGICg3A4gGIAYgBDYC2AUgBiAGKQOgEzcClAYgBiAGKAKoEzYCnAYgBkHQEmoiBCAGQdgFaiIFQdAA/AoAACAHENoQIAZBgBJqIgkgBkHQC2oiARCKBSAEIAEQigUgBkGgE2oiCiAGQdANakHQAPwKAAAgBkF/NgLwEyAFIAZB4BBqQaAB/AoAACMAQbACayIHJAAgByAFKAJ8NgKUAiAHIAUpAnQ3AowCIAcgBSkCjAE3A5gCIAcgBSgClAE2AqACIAcgBkGgCmoiCCkCADcDgAIgByAIKAIINgKIAiAHIAEpAgA3AqQCIAcgASgCCDYCrAIgB0GgAWogCkHgAPwKAAAgByAJQdAA/AoAACAHQdAAaiAEQdAA/AoAACAGQZgUaiIKQQhqIAdBsAL8CgAAIApCfzcDACAFKAJoIgEEQCAFKAJsIglBBGsoAgAiCEF4cSEEIARBBEEIIAhBA3EiCBsgAWpJDWMgCEEARyAEIAFBJ2pLcQ1kIAkQvAULAkAgBSgCXCIBQX9GDQAgAUUNACAFKAJgIglBBGsoAgAiCEF4cSEEIARBBEEIIAhBA3EiCBsgAWpJDWMgCEEARyAEIAFBJ2pLcQ1kIAkQvAULIAUoAlAiBCgCACEBIAQgAUEBazYCACABQQFGBEAgBSgCUBAwCyAFLQAAQf8BRwRAIAUQrwQLIAUoAoQBIQQgBSgCiAEiCQRAIAQhAQNAIAEQ3wEgAUHAAmohASAJQQFrIgkNAAsLIAUoAoABIgUEQCAEQQRrKAIAIglBeHEhASABIAVBwAJsIgVBBEEIIAlBA3EiCRtySQ1jIAlBAEcgASAFQSdyS3ENZCAEELwFCyAHQbACaiQAIAZB6BZqIAoQuhMaIAYpA6AOQgJSBEAgBkGgDmoQ3wELAkAgBigCuAoiAUF/Rg0AIAFFDQAgBigCvAogARDZEgsgBigCsAohBSAGKAK0CiIEBEAgBSEBA0AgAUHIAGooAgAiBwRAIAFBzABqKAIAIAcQ2RILIAEQrgcgAUHYAGohASAEQQFrIgQNAAsLIAYoAqwKIgEEQCAFIAFB2ABsENkSCyAGKALECiIHQX9GDTogBigCyAohBSAGKALMCiIEBEAgBSEBA0AgARCuCCABQZABaiEBIARBAWsiBA0ACwsgB0UNOiAFIAdBkAFsENkSDDoLIAYoAoQUIRAgDRCQASIHRQ1kIAVFDQBBACEBIAUhBANAIAEgDUYNASAGQZgUaiISIAEgEGoQjAYgASAHaiASQcgB/AoAACABQcgBaiEBIARBAWsiBA0ACwsgBiAFNgKwFyAGIAc2AqwXIAYgBTYCqBcgBkGYFGoiASAGQdANahCHAyAGQaATaiAGQagLaiAGQagXahDqDiAGLQCYFCEFQRMQkAEiBEUNYiAEQfuJxgAoAAA2AA8gBEH0icYAKQAANwAIIARB7InGACkAADcAACAMIAwoAgAiB0EBajYCACAHQQBIDUwgBkHgEGogAUEBckHPAPwKAAAgBiAGKQKgEzcD2BYgBiAGKAKoEzYC4BYgBiAGKQLYBTcD+AogBiAGKQKoCzcDgAsgBiAGKAKwCzYCiAsgBigC8BYiByAGKALoFkYEQCAGQegWahCvEgsgBigC7BYgB0HIAmxqIgEgBToAKCABQgA3AxggAUIANwMIIAFCAzcDACABQSlqIAZB4BBqQc8A/AoAACABQX82ApABIAFCgICAgHA3A4ABIAFCgICAgIABNwN4IAFBEzYCuAEgASAENgK0ASABQRM2ArABIAFBAjoAqgEgAUEAOwGoASABIAYpA/gKNwKUASABIAYpA4ALNwKcASABIAYoAogLNgKkASABIAYpA9gWNwK8ASABIAYoAuAWNgLEASABQn83A8ACIAFBATsB+AEgASAINgL0ASABIAo2AvABIAEgDDYC7AEgAUF/NgLgASABQgQ3A9gBIAFCADcD0AEgAUKAgICAgAE3A8gBIAYgB0EBajYC8BYgBigC1AshASAGKALYCyEEIAwgDCgCACIFQQFqNgIAIAVBAEgNTCAGIAQ2ApQUIAYgATYCkBQgBiAMNgKMFCAGQZgUaiAGQYwUaiAGQbAMahB3AkAgBigCmBQiBEF/RgRAIAYgBikD2BQiKDcC3BMgBiAGKQPQFCIpNwLUEyAGIAYpA8gUIio3AswTIAYgBikDwBQiKzcCxBMgBiAGKQOgFDcDqBcgBiAGKQOoFDcDsBcgBiAGKQOwFDcDuBcgBiAGKQO4FDcDwBcgBiArNwPIFyAGICo3A9AXIAYgKTcD2BcgBiAoNwPgFyAMIAwoAgAiAUEBazYCACABQQFHDQEgDBAwDAELIAZBoBNqIgUgBkGYFGpBBHJBxAD8CgAAIAYgBikD8BQ3A7AGIAYgBikD6BQ3A6gGIAYgBikD4BQ3A6AGIAZB2AVqIgFBBHIgBUHEAPwKAAAgBiAENgLYBSABIAZBjBRqIgQQigUgBkGoF2ogBkHoFmogFiAEIAEgBkGoBmoQhQYLIAYoAqgXIQggBigC2BciBUF/RwRAIAYgBikC3Bc3A8ALIAYgBigC5Bc2AsgLIAYoAtQXIQ4gBigC0BchDSAGKALMFyEHIAYoAsgXIQ8gBikDwBchKSAGKQO4FyEoIAYpA7AXISogBigCrBchCiAFIQQMIwsgBkGYFGoiASAGQdANakHQAPwKAAAgBigC1AshBCAGKALYCyEKIAwgDCgCACINQQFqNgIAIA1BAEgNTCAGIAo2AqgTIAYgBDYCpBMgBiAMNgKgEyAGQdgFaiAGQegWaiAWIAEgBkGgE2ogBkGADWogBkGgCmoQmgIgBigC2AUhASAGKAKIBiIEQX9HBEAgBiAGKQKMBjcDwAsgBiAGKAKUBjYCyAsgBigChAYhDiAGKAKABiENIAYoAvwFIQcgBigC+AUhDyAGKQPwBSEpIAYpA+gFISggBikD4AUhKiAGKALcBSEKIAEhCAwjCyAGQZgUaiIEIAZBoA5qIgUQciAGQegWaiIJIAQQuhMhDyAEIAVBwAL8CgAAIAkgBBC6EyEOIAYoAogXIgQgBigCgBdGBEAgBkGAF2oQmxILIAYoAoQXIARBAnRqIA82AgAgBiAEQQFqIgU2AogXIAYoAoAXIAVGBEAgBkGAF2oQmxILIAYoAoQXIAVBAnRqIA42AgAgBiAEQQJqNgKIFyAGQQA2AqgUIAZCgICAgMAANwKgFCAGQgE3ApgUIAZB6BZqIgQgBkGYFGoiChD4EiEJIAZBsBRqIAYoAoQUIhIgBigCiBQiDRCdESAGQdizxgA2AsQUIAZCgYCAgBg3ArwUIAZBAjYCmBQgBkHYBWogBCAHIAkgChCiDSAGKALYBSIFQX5HDSAgCiAEIBYgBkHQC2ogByABEMcGIAYoApwUIQogBigCmBQhBSAGKALIFCIEQX9HBEAgBiAGKQLMFDcDwAsgBiAGKALUFDYCyAsgBigCxBQhDiAGKALAFCENIAYoArwUIQcgBigCuBQhDyAGKQOwFCEpIAYpA6AUISogBikDqBQMIgsgBUEBRw0PIAZBBjYCmBQgBkHYBWoiBCAGQegWaiIQIAkgCiAGQZgUaiIUEKINIAYoAtgFIgVBfkcNICAGQQM2ApgUIAQgECAKIAEgFBCiDQwfCyAGIAYpA6ATNwPACyAGIAYoAqgTNgLICyAGQdANahCvBAsgBkGADWoQ4wkgBkGwDGoQ4wkMJAsgBkHQDWoQrwQgAUF/Rg0gDCMLIAxFDU0gBiAoNwLsFiAGIAw2AugWIAYoAjwiFUF/Rg0KIAYoAjghHSAGKAI0IRogBigCMCEXIAYoAiAhHiAGKAIcIRggBigCGCEZIAZBqBdqIAYoAkAiCSAGKAJEIggQ9AsgBkGYFGogBkEkaiAGQegWahArIAYgBikC1BQ3A+AQIAYgBigC3BQ2AugQIAYoAtAUIQQgBigCzBQhDiAGKALIFCENIAYoAsQUIQcgBigCwBQhDyAGKQO4FCEpIAYpA7AUISggBigCrBQhESAGKAKoFCETIAYoAqQUIQogBigCoBQhBQJAIAYpA5gUIipCAlEEQCAGIAYpA+AQNwOgCiAGIAYoAugQNgKoCgwBCyAGQaAOaiIBQcgAaiIfIAZB4BRqQeAA/AoAACAGIAQ2AtgOIAYgDjYC1A4gBiANNgLQDiAGIAc2AswOIAYgDzYCyA4gBiApNwPADiAGICg3A7gOIAYgETYCtA4gBiATNgKwDiAGIAo2AqwOIAYgBTYCqA4gBiAqNwOgDiAGIAYpA+AQNwLcDiAGIAYoAugQNgLkDiABELIBRQRAIBVBkAFsIhJBFG4hHCAIQZABbCEQAkACQCAIRQRAQX8hBCAJIgEhCAwBCyAQIQcgCSIIIQECQANAIAZBmBRqIgQgAUGQAfwKAAAgBkHgEGogBCAGQegWakEBEOgGIAFBkAFqIQEgBigCkBEiBEF/Rw0BIAggBigC8BA2AhAgCCAGKQPoEDcCCCAIIAYpA+AQNwIAIAhBFGohCCAHQZABayIHDQALQX8hBAwCCyAGIAYpApQRNwPQDSAGIAYoApwRNgLYDSAGKAKMESEOIAYoAogRIQ0gBigChBEhByAGKAKAESEPIAYpA/gQISkgBikD8BAhKCAGKALsECERIAYoAugQIRMgBigC5BAhCiAGKALgECEFCyAJIBBqIhAgAWtBkAFuIRQgASAQRg0AA0AgARCuCCABQZABaiEBIBRBAWsiFA0ACwsgFUUEQCAJIQEMGQsgCSEBIBxBFGwiECASRg0YIBJBE00EQEEEIQEgEkUNGSAJIBIQ2RIMGQsgCSASQQQgEBCtBiIBDRgMdAtBzgEhE0HOARCQASIKRQ1fIApByLrGAEHOAfwKAAAgBkGgDmoQhApBgYCAgHghBEHOASEFCyAGQagXahDsCSAIBEAgCSEBA0AgARCuCCABQZABaiEBIAhBAWsiCA0ACwsgFUUNFyAJQQRrKAIAIghBeHEhASABIBVBkAFsIhBBBEEIIAhBA3EiCBtySQ1cIAhBAEcgASAQQSdqS3ENXSAJELwFDBcLIAxFDUwgBiAoNwLcFiAGIAw2AtgWAkAgBigCLCIFBEAgBUHYAGwhByAGKAIYIRcgBigCHCEcIAYoAiAhJCAGKAIwIRogBigCNCEdIAYoAjghJSAGQSRqIRUgBigCKCEIQQAhAQNAIAEgCGoiCUHQAGooAgBBAkYEQCAJQcwAaigCAC8AAEHi8gFGDQMLIARBAWohBCAHIAFB2ABqIgFHDQALC0GYusYAEJ0VAAsgCCAEQdgAbGoiASgCACEHIAZBmBRqIAFBBGpBxAD8CgAAIAEoAkwhDiABKAJIIQkgBSAEQX9zakHYAGwiDwRAIAEgAUHYAGogD/wKAAALIAYgBUEBayIKNgIsIAdBf0YNWCAGQaATakEEciIBIAZBmBRqQcQA/AoAACAGIAc2AqATIAkEQCAOQQRrKAIAIgRBeHEhDyAPQQRBCCAEQQNxIgQbIAlqSQ1cIARBAEcgDyAJQSdqS3ENXSAOELwFCwJAAkACQAJAAkACQCAHQQJrDgIAAgELQRQQkAEiEEUNdiAQIAEoAhA2AhAgECABKQIINwIIIBAgASkCADcCAEEBIRRBASEJDBMLQegAIRRB6AAQkAEiEEUNAyAQQYa4xgBB6AD8CgAAIAZBoBNqEK4HQYGAgIB4IQRB6AAhCQwBCyAGKAKsEyIERQ0BIAYoAqQTIQUgBigCqBMhASAGQX82AsgUIAYgASAEQcgAbGo2AtwNIAYgBTYC2A0gBiABNgLUDSAGIAE2AtANIAYgBkGYFGo2AuANIAZB4BBqIAZB0A1qEMkIAn8gBigC4BBBAkcEQEHQABCQASIKRQ1kIAogBigC8BA2AhAgCiAGKQLoEDcCCCAKIAYpAuAQNwIAIAZBATYCqAogBiAKNgKkCiAGQQQ2AqAKIAYgBigC4A02AugFIAYgBikC2A03A+AFIAYgBikC0A03A9gFQRQhBEEBIQEDQCAGQaAOaiAGQdgFahDJCCAGKAKgDkECRwRAIAYoAqAKIAFGBEAgBkGgCmogAUEBQQRBFBCzESAGKAKkCiEKCyAEIApqIgUgBigCsA42AhAgBSAGKQKoDjcCCCAFIAYpAqAONwIAIAYgAUEBaiIBNgKoCiAEQRRqIQQMAQsLIAYoAuQFIgUgBigC3AUiBGtByABuIQcgBCAFRwRAA0AgBBCuByAEQcgAaiEEIAdBAWsiBw0ACwsgBigC4AUiBARAIAYoAtgFIARByABsENkSCyAGKAKgCgwBCyAGKALcDSIFIAYoAtQNIgFrQcgAbiEEIAEgBUcEQANAIAEQrgcgAUHIAGohASAEQQFrIgQNAAsLQQQhCkEAIQEgBigC2A0iBARAIAYoAtANIARByABsENkSC0EACyEFIAYoAsgUIgRBf0YEQCABIRQgCiEQIAUhCQwRCyAGIAYpAswUNwP4CiAGIAYoAtQUNgKACyAGKALEFCEOIAYoAsAUIQ0gBigCvBQhByAGKAK4FCEPIAYpA7AUISkgBikDqBQhKCAGKAKkFCERIAYoAqAUIRQgBigCnBQhECAGKAKYFCEJIAEEQCAKQRBqIQgDQCAIKAIAIhMoAgAhEiATIBJBAWs2AgAgEkEBRgRAIAgoAgAQMAsgCEEUaiEIIAFBAWsiAQ0ACwsgBQRAIAogBUEUbBDZEgsgBEF/Rg0QCyAGKALYFgwOCyAGKAKoEyEHIAYoAqQTIQFBOSEUQTkQkAEiEEUNXiAQQYW4xgAtAAA6ADggEEH9t8YAKQAANwAwIBBB9bfGACkAADcAKCAQQe23xgApAAA3ACAgEEHlt8YAKQAANwAYIBBB3bfGACkAADcAECAQQdW3xgApAAA3AAggEEHNt8YAKQAANwAAQYGAgIB4IQQgAUUNDCAHIAFByABsENkSDAwLDF0LIAYgBikD2BQ3AkwgBiAJNgJIICpCIIinIREgBkGgDmoQmgggKqchE0EBIQFBASEIDE8LIAYgBikD2BQ3AkwgBiAINgJIDE0LIAQgCEH8zcYAEIcTAAsgBCABQfzNxgAQhxMACyAEIBRB/M3GABCHEwALIAZB4BBqEP0RGkHUtMYAEJ0VAAtBuLXGABCdFQALQci1xgAQnRUAC0HYtcYAEJ0VAAtBuLrGABCdFQALIAZBBjYCmBQgBkHYBWogBkHoFmogCSABIAZBmBRqEKINDA8LQTkhCSAMCyEBIAYgBigCgAs2AogUIAYgBikD+Ao3A4AUIAEgASgCACIBQQFrNgIAIAFBAUYEQCAGKALYFhAwCyAaQQFrQX1NBEAgHSAaENkSCyAXBEAgHCAXENkSC0EBIRkgFCETIBAhCiAJIQUMBQsgBigCLCEKIAYoAighCAsCQAJAAkACQAJAAkACQCAKBEAgCkHYAGwhByAIQcwAaiEBQQAhBANAIAFBBGooAgBBBkYEQCABKAIAIgUoAABB6MLZywZzIAVBBGovAABB7s4Bc3JFDQMLIAFB2ABqIQEgBEEBaiEEIAdB2ABrIgcNAAsLIAZB/wE6ANgFDAELIAggBEHYAGxqIgEoAgAhBSAGQZgUaiABQQRqQcQA/AoAACABKAJMIRIgASgCSCEIIAogBEF/c2pB2ABsIgcEQCABIAFB2ABqIAf8CgAACyAGIApBAWsiATYCLCAFQX9GDQEgBkHQDWoiBCAGQZgUakHEAPwKAAAgBUEERwRAIAYgBTYCoA4gBkGgDmoiAUEEciAEQcQA/AoAACAGIAGtQoCAgIDwIIQ3A6gLIAZBmBFqQaHvwQAgBkGoC2oQuAwgBkEAOgCkESAGQX82AvgQIAEQrgcgBiAGKQKcESIoNwOgCiAGIAYoAqQRIgE2AqgKIAYgKDcDgBQgBiABNgKIFCAGKALoECEFIAYoAuwQIQogBigC8BAhEyAGKAL0ECERIAYpA/gQISggBikDgBEhKSAGKAKIESEPIAYoAowRIQcgBigCkBEhDSAGKAKUESEOIAYoApgRIQQMCAsgBiAGKQKMDjcDoBEgBiAGKQKEDiIoNwOYESAGIAYpAvwNIik3A5ARIAYgBikC9A0iKjcDiBEgBiAGKQLsDSIrNwOAESAGIAYpApwRNwOgCiAGIAYoAqQRNgKoCiAGKQLUDSEsIAYpAtwNIS0gBikC5A0hLiAGICg+ApgXIAYgKTcDkBcgBiAqNwOIFyAGICs3A4AXIAYgLjcD+BYgBiAtNwPwFiAGICw3A+gWIAYgBigCqAo2AqQXIAYgBikDoAo3ApwXIAZBmBRqIAZB6BZqIAZB2BZqENYMIAYtAJgUIgFB/wFGBEAgBiAGKQLUFCIoNwP4CiAGIAYoAtwUIgE2AoALIAYgKDcDgBQgBiABNgKIFCAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYoAqwUIREgBigCqBQhEyAGKAKkFCEKIAYoAqAUIQUMCAsgBiAGKACcFDYA3AUgBiAGKACZFDYA2QUgBiAGKQLUFDcD+AogBiAGKALcFDYCgAsgBiAGKALQFDYCkAYgBiAGKQPIFDcDiAYgBiAGKQPAFDcDgAYgBiAGKQO4FDcD+AUgBiAGKQOoFDcD6AUgBiAGKQOgFDcD4AUgBiAGKQOwFDcD8AUgBikD4BQhKCAGIAYoAoALNgKcBiAGIAYpA/gKNwKUBiAGICg3A6AGIAYgAToA2AUgCEUNACASIAgQ2RILIAZBmBRqIBUgBkHYFmoQKyAGIAYpAtQUNwPgECAGIAYoAtwUNgLoECAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYoAqwUIREgBigCqBQhEyAGKAKkFCEKIAYoAqAUIQUgBikDmBQiKkICUSIZBEAgBiAGKQPgEDcDgBQgBiAGKALoEDYCiBQMBAsgBkHoDmoiJiAGQeAUakHgAPwKAAAgBiAENgLYDiAGIA42AtQOIAYgDTYC0A4gBiAHNgLMDiAGIA82AsgOIAYgKTcDwA4gBiAoNwO4DiAGIBE2ArQOIAYgEzYCsA4gBiAKNgKsDiAGIAU2AqgOIAYgKjcDoA4gBiAGKQPgEDcC3A4gBiAGKALoEDYC5A5BfyEEIAYoAjwiH0F/Rg0BIAZBqAtqIAYoAkAiFSAGKAJEIgEQ9AsgH0GQAWwiGEEUbiEeIAFBkAFsIRICQAJAIAFFBEAgFSIBIQgMAQsgEiEHIBUiCCEBAkADQCAGQZgUaiIEIAFBkAH8CgAAIAZB4BBqIAQgBkHYFmpBABDoBiABQZABaiEBIAYoApARIgRBf0cNASAIIAYoAvAQNgIQIAggBikD6BA3AgggCCAGKQPgEDcCACAIQRRqIQggB0GQAWsiBw0AC0F/IQQMAgsgBiAGKQKUETcDoAogBiAGKAKcETYCqAogBigCjBEhDiAGKAKIESENIAYoAoQRIQcgBigCgBEhDyAGKQP4ECEpIAYpA/AQISggBigC7BAhESAGKALoECETIAYoAuQQIQogBigC4BAhBQsgEiAVaiInIAFrQZABbiESIAEgJ0YNAANAIAEQrgggAUGQAWohASASQQFrIhINAAsLIBUhEiAfRQ0CIB5BFGwiASAYRg0CIBhBE00EQEEEIRIgGEUNAyAVIBgQ2RIMAwsgFSAYQQQgARCtBiISDQIMZwsgBCABQfzNxgAQhxMAC0GousYAEJ0VAAsgBiASNgLUDSAGIB42AtANIAYgCCAVayIBQRRuIhg2AtgNAkAgBEF/RwRAIAYgBigCqAo2AogUIAYgBikDoAo3A4AUIAZB0A1qENgEDAELIAYgGDYCgAsgBiAeNgL4CiAGIBI2AvwKIAZBADYCqAogBkKAgICAwAA3AqAKAn8CQCAIIBVGBEBBBCEHDAELAkACQCAUBEAgASASaiENIBRBFGwhBUEAIQpBBCETIBIhCANAAkAgCCgCACIOQQJPDQAgCCgCBCEHIAUhBCAQIQECQCAOQQFxBEAgCCgCCCEOIAgoAgwhFQNAAkAgASgCAEUNACABQQRqKAIAIAdHDQAgAUEIaigCACAORw0AIAFBDGooAgAgFUYNBAsgAUEUaiEBIARBFGsiBA0ACwwBCwNAIAEoAgBFBEAgAUEEaigCACAHRg0DCyABQRRqIQEgBEEUayIEDQALCyAGQRBqIAgQ8A5BACEHIAYoAhQiAUEASA0EAkAgAUUEQEEBIQ8MAQsgBigCECEEIAEQkAEiD0UEQEEBIQcMBgsgAUUNACAPIAQgAfwKAAALIAYoAqAKIApGBEAgBkGgCmoQnxIgBigCpAohEwsgEyAKQQxsaiIEIAE2AgggBCAPNgIEIAQgATYCACAGIApBAWoiCjYCqAoLIA0gCEEUaiIIRw0ACwwBC0EAIQpBBCEFIBIhBANAIAQoAgBBAU0EQCAGQQhqIAQQ8A5BACEHIAYoAgwiCEEASA0DAkAgCEUEQEEBIQ8MAQsgBigCCCEHIAgQkAEiD0UNWCAIRQ0AIA8gByAI/AoAAAsgBigCoAogCkYEQCAGQaAKahCfEiAGKAKkCiEFCyAFIApBDGxqIgcgCDYCCCAHIA82AgQgByAINgIAIAYgCkEBaiIKNgKoCgsgBEEUaiEEIAFBFGsiAQ0ACwsgBigCpAohByAKRQ0BIAZB4BBqIgEgByAKEPMHIAYgAa1CgICAgMAChDcD0AsgBkHQDWpB7rjGACAGQdALahC4DCAGKALgECIBBEAgBigC5BAgARDZEgsgBiAGKQLQDTcDqBcgBiAGKALYDTYCsBcgBkGBgICAeDYC2BcgByEBA0AgASgCACIEBEAgAUEEaigCACAEENkSCyABQQxqIQEgCkEBayIKDQALQYGAgIB4DAILIAcQpxQACyAGQX82AtgXQX8LIQEgBigCoAoiBARAIAcgBEEMbBDZEiAGKALYFyEBCwJAAkAgAUF/RgRAIAZBqBdqIQ0gBigClA8hByAGKAKYDyEBQQAhDyMAQUBqIggkACAIQQA2AhwgCEKAgICAwAA3AhQCQAJAIAFFBEBBBCEHDAELIAFBBnQhAQJAAkACQCAUBEAgASAHaiEVIBRBFGwhBUEEIQ4DQAJAIAcoAgBBG0cNACAHKAIIIQogBSEEIBAhAQJAIAcoAgQEQCAHKAIMIREgBygCECETA0ACQCABKAIARQ0AIAFBBGooAgAgCkcNACABQQhqKAIAIBFHDQAgAUEMaigCACATRg0ECyABQRRqIQEgBEEUayIEDQALDAELA0AgASgCAEUEQCABQQRqKAIAIApGDQMLIAFBFGohASAEQRRrIgQNAAsLIAhBCGogB0EEahDwDkEAIQQgCCgCDCIBQQBIDQQCQCABRQRAQQEhBAwBCyAIKAIIIQogARCQASIERQRAQQEhBAwGCyABRQ0AIAQgCiAB/AoAAAsgCCgCFCAPRgRAIAhBFGoQnxIgCCgCGCEOCyAOIA9BDGxqIgogATYCCCAKIAQ2AgQgCiABNgIAIAggD0EBaiIPNgIcCyAVIAdBQGsiB0cNAAsMAQtBBCEKA0AgBygCAEEbRgRAIAggB0EEahDwDkEAIQQgCCgCBCIFQQBIDQMCQCAFRQRAQQEhBAwBCyAIKAIAIQ4gBRCQASIERQ1cIAVFDQAgBCAOIAX8CgAACyAIKAIUIA9GBEAgCEEUahCfEiAIKAIYIQoLIAogD0EMbGoiDiAFNgIIIA4gBDYCBCAOIAU2AgAgCCAPQQFqIg82AhwLIAdBQGshByABQUBqIgENAAsLIAgoAhghByAPRQ0CIAhBLGoiASAHIA8Q8wcgCCABrUKAgICAwAKENwM4IAhBIGpB4ZXAACAIQThqELgMIAgoAiwiAQRAIAgoAjAiBUEEaygCACIKQXhxIQQgBEEEQQggCkEDcSIKGyABakkNVyAKQQBHIAQgAUEnaktxDVggBRC8BQsgDSAIKAIoNgIIIA0gCCkCIDcCACANQYGAgIB4NgIwIAchAQNAIAEoAgAiBARAIAFBBGooAgAiCkEEaygCACINQXhxIQUgBUEEQQggDUEDcSINGyAEakkNWCANQQBHIAUgBEEnaktxDQMgChC8BQsgAUEMaiEBIA9BAWsiDw0ACwwDCyAEEKcUAAsMVQsgDUF/NgIwCyAIKAIUIgQEQCAHQQRrKAIAIgVBeHEhASABIARBDGwiBEEEQQggBUEDcSIFG2pJDVMgBUEARyABIARBJ2pLcQ1UIAcQvAULIAhBQGskACAGKALYF0F/Rg0BCyAGIAYpA+AXNwPQFCAGIAYpA9gXIig3A8gUIAYgBikD0Bc3A8AUIAYgBikDyBc3A7gUIAYgBikDwBc3A7AUIAYgBikDuBc3A6gUIAYgBikDsBc3A6AUIAYgBikDqBc3A5gUICinIQQMAQsgBkGYFGohCiMAQfAAayIEJAACQCAGQdgFaiIBLQAAQf8BRwRAIARBBGogARDUAiASIBhBFGwiBWohCAJAAkADQCASIQEgBUUNASAFQRRrIQUgAUEUaiESIAEoAgBBAUsNAAtBEBCQASIFRQ1YIAUgATYCACAEQQE2AlAgBCAFNgJMIARBBDYCSEEBIQcDQCAIIBJHBEAgEiIBQRRqIRIgASgCAEEBSw0BIAQoAkggB0YEQCAEQcgAaiAHQQFBBEEEELMRIAQoAkwhBQsgBSAHQQJ0aiABNgIAIAQgB0EBaiIHNgJQDAELCyAEIAQoAlA2AhggBCAEKQJINwMQDAELIARBADYCGCAEQoCAgIDAADcDEAsgBCAEKAIENgIkIAQgBCgCCCIBNgIgIAQgATYCHCAEIAEgBCgCDEECdGo2AiggBCAEQRBqNgIsIARBPGogBEEcahCdDAJAAkAgBCgCPEF/RwRAQTAQkAEiB0UNWSAHIAQoAkQ2AgggByAEKQI8NwIAIARBATYCOCAEIAc2AjQgBEEENgIwIAQgBCgCLDYCWCAEIAQpAiQ3A1AgBCAEKQIcNwNIQQwhBUEBIRIDQCAEQeAAaiAEQcgAahCdDCAEKAJgQX9HBEAgBCgCMCASRgRAIARBMGogEkEBQQRBDBCzESAEKAI0IQcLIAUgB2oiASAEKAJoNgIIIAEgBCkCYDcCACAEIBJBAWoiEjYCOCAFQQxqIQUMAQsLIAQoAlAiBQRAIAQoAkgiB0EEaygCACIIQXhxIQEgASAFQQJ0IgVBBEEIIAhBA3EiCBtqSQ1WIAhBAEcgASAFQSdqS3ENVyAHELwFCyAEKAIwIQcgBEHIAGoiBSAEKAI0IgEgEhDzByAEIAWtQoCAgIDAAoQ3A2AgBEEcakHAtsYAIARB4ABqELgMIAQoAkgiBQRAIAQoAkwiDUEEaygCACIOQXhxIQggCEEEQQggDkEDcSIOGyAFakkNViAOQQBHIAggBUEnaktxDVcgDRC8BQsgCiAEKAIkNgIIIAogBCkCHDcCACAKQYGAgIB4NgIwIAEhBQNAIAUoAgAiCgRAIAVBBGooAgAiDUEEaygCACIOQXhxIQggCEEEQQggDkEDcSIOGyAKakkNVyAOQQBHIAggCkEnaktxDVggDRC8BQsgBUEMaiEFIBJBAWsiEg0ACyAHRQ0BIAFBBGsoAgAiCkF4cSEFIAUgB0EMbCIHQQRBCCAKQQNxIgobakkNVSAKQQBHIAUgB0EnaktxDVYgARC8BQwBCyAEKAIkIgUEQCAEKAIcIgdBBGsoAgAiCEF4cSEBIAEgBUECdCIFQQRBCCAIQQNxIggbakkNVSAIQQBHIAEgBUEnaktxDQIgBxC8BQsgCkF/NgIwCyAEKAIQIgVFDQIgBCgCFCIHQQRrKAIAIgpBeHEhASABIAVBAnQiBUEEQQggCkEDcSIKG2pJDVMgCkEARyABIAVBJ2pLcQ1UIAcQvAUMAgsMUwsgCkF/NgIwCyAEQfAAaiQAIAYoAsgUIgRBf0YNAwsgBiAGKQLMFDcDgBQgBiAGKALUFDYCiBQgBigCxBQhDiAGKALAFCENIAYoArwUIQcgBigCuBQhDyAGKQOwFCEpIAYpA6gUISggBigCpBQhESAGKAKgFCETIAYoApwUIQogBigCmBQhBSAGQfgKahDYBAsgBkGoC2oQ7AkgBkGgDmoQhAoLQQAhCCAGLQDYBUH/AUYNAyAGQdgFahCvBAwDCyAGIAYpAtgWNwOgDCAGIAYoAuAWNgKoDCAGIAYpAqgLNwPADSAGIAYoArALNgLIDSAGKAKoDiEFIAYoAqwOIQogBigCsA4hEyAGKAK0DiERIAYpA7gOISggBikDwA4hKSAGKALIDiEPIAYoAswOIQcgBigC0A4hDSAGKALUDiEOIAYoAtgOIQQgBikDoA4hKiAGIAZB3A5qIgEoAgg2AogUIAYgASkCADcDgBQgBkHoF2oiASAmQeAA/AoAACAGIAYoAoALNgL4DCAGIAYpAvgKNwPwDCABQeAAaiAGQdgFakHQAPwKAAAgKkJ/UQ0FIAYgBDYC0BQgBiAONgLMFCAGIA02AsgUIAYgBzYCxBQgBiAPNgLAFCAGICk3A7gUIAYgKDcDsBQgBiARNgKsFCAGIBM2AqgUIAYgCjYCpBQgBiAFNgKgFCAGICo3A5gUIAYgBikDgBQ3AtQUIAYgBigCiBQ2AtwUIAZB4BRqIAFBsAH8CgAAIAYgJDYCmBYgBiAcNgKUFiAGIBc2ApAWIAYgJTYCyBYgBiAdNgLEFiAGIBo2AsAWIAYgFDYCvBYgBiAQNgK4FiAGIAk2ArQWIAYgBikDwA03ApwWIAYgBigCyA02AqQWIAYgBikD8Aw3A6gWIAYgBigC+Aw2ArAWIAYgBikDoAw3AswWIAYgBigCqAw2AtQWIAZBoA5qIAZBmBRqEJwRIAYgBikC2A4iKDcDSAsgBigC1A4hCiAGKALQDiEIIAYoAswOIQ4gBigCyA4hDyAGKALEDiERIAYpArwOISkgBikCtA4hKiAGKQKsDiErIAYoAqgOIQUgBigCoA4hDSAGKAKkDgw1CyAIRQRAQQEhGUEBIQgMAQtBASEZIBIgCBDZEkEBIQgLIBQEQCAQQRBqIQEDQCABKAIAIhUoAgAhEiAVIBJBAWs2AgAgEkEBRgRAIAEoAgAQMAsgAUEUaiEBIBRBAWsiFA0ACwsgCQRAIBAgCUEUbBDZEgsgBigC2BYiCSgCACEBIAkgAUEBazYCACABQQFGBEAgBigC2BYQMAsgGkEBa0F9TQRAIB0gGhDZEgsgFwRAIBwgFxDZEgsgCA0ADAELIAYoAighCSAGKAIsIggEQCAJIQEDQCABQcgAaigCACIQBEAgAUHMAGooAgAiFEEEaygCACIVQXhxIRIgEkEEQQggFUEDcSIVGyAQakkNSyAVQQBHIBIgEEEnaktxDUwgFBC8BQsgARCuByABQdgAaiEBIAhBAWsiCA0ACwsgBigCJCIIBEAgCUEEaygCACIQQXhxIQEgASAIQdgAbCIIQQRBCCAQQQNxIhAbakkNSSAQQQBHIAEgCEEnaktxDUogCRC8BQsLIBlFDQAgBigCPCIQQX9GDQAgBigCQCEJIAYoAkQiCARAIAkhAQNAIAEQrgggAUGQAWohASAIQQFrIggNAAsLIBBFDQAgCSAQQZABbBDZEgsgBiAGKAKIFDYCUCAGIAYpA4AUNwNIDDYLIAYgATYCpBMgBiAcNgKgEyAGIAggCWtBFG4iCTYCqBMgBEF/Rg0BIAYgBigC2A02AqgKIAYgBikD0A03A6AKIAZBoBNqENgEIAZBoA5qEIQKIAZBqBdqEOwJCyAGKALoFiIJKAIAIQEgCSABQQFrNgIAIAFBAUYEQCAGKALoFhAwCyAXQQFrQX1NBEAgGkEEaygCACIJQXhxIQEgAUEEQQggCUEDcSIJGyAXakkNRSAJQQBHIAEgF0EnaktxDUYgGhC8BQsgGUUNASAYQQRrKAIAIglBeHEhASABQQRBCCAJQQNxIgkbIBlqSQ1EIAlBAEcgASAZQSdqS3ENRSAYELwFDAELIAYgBikC6BY3A6gLIAYgBigC8BY2ArALIAYgBikCqBc3A/gKIAYgBigCsBc2AoALIAYoAqgOIQUgBigCrA4hCiAGKAKwDiETIAYoArQOIREgBikDuA4hKCAGKQPADiEpIAYoAsgOIQ8gBigCzA4hByAGKALQDiENIAYoAtQOIQ4gBigC2A4hBCAGKQOgDiEqIAYgBkHcDmoiCCgCCDYCqAogBiAIKQIANwOgCiAGQdgFaiAfQeAA/AoAACAqQn9SDQELIAYgBigCqAo2AlAgBiAGKQOgCjcDSAwyCyAGIAQ2AtAUIAYgDjYCzBQgBiANNgLIFCAGIAc2AsQUIAYgDzYCwBQgBiApNwO4FCAGICg3A7AUIAYgETYCrBQgBiATNgKoFCAGIAo2AqQUIAYgBTYCoBQgBiAqNwOYFCAGIAYpA6AKNwLUFCAGIAYoAqgKNgLcFCAGQeAUaiAGQdgFakHgAPwKAAAgBiAeNgKYFiAGIBg2ApQWIAYgGTYCkBYgBkH/AToAwBUgBiAdNgLIFiAGIBo2AsQWIAYgFzYCwBZBACEHIAZBADYCvBYgBkKAgICAwAA3ArQWIAYgCTYCsBYgBiABNgKsFiAGIBw2AqgWIAYgBikD+Ao3ApwWIAYgBigCgAs2AqQWIAYgBikDqAs3AswWIAYgBigCsAs2AtQWIAZBoA5qIAZBmBRqEJwRIAYgBikC2A4iKDcDSCAGKALUDiEKIAYoAtAOIQggBigCzA4hDiAGKALIDiEPIAYoAsQOIREgBikCvA4hKSAGKQK0DiEqIAYpAqwOISsgBigCqA4hBSAGKAKkDiEBIAYoAqAOIQ0MLwsgBigC2AUiBUF+Rw0AIAZBBzYCmBQgBkHYBWoiCiAGQegWaiIQIAkgCCAGQZgUaiIEEKINIAYoAtgFIgVBfkcNACAGQbAUaiIJIBIgDRCdESAGQZS1xgA2AsQUIAZCg4CAgBg3ArwUIAZBAjYCmBQgCiAQIAcgASAEEKINIAYoAtgFIgVBfkcNACAJIBIgDRCdESAEQQIQyRMgBkGQtMYANgLEFCAGQoWAgIAYNwK8FCAKIBAgASAOIAQQog0gBigC2AUiBUF+Rw0AIAYgBigCiBQ2ArgUIAYgBikCgBQ3ArAUIARBAhDJEyAGQZC0xgA2AsQUIAZChYCAgBg3ArwUIAogECAIIA8gBBCiDSAGKALYBSIFQX5HBEAgBikC6AUhKCAGKQLgBSEqIAYoAtwFIQpBiYCAgHghBAwHCyAGQaAKahC0CCAMIAwoAgAiAUEBazYCACABQQFHDRggDBAwDBgLIAYpAuAFISogBigC3AUhCkGJgICAeCEEIAYpAugFCyEoIAZBgBRqEPURDAQLIAZBgBRqEKUEIAYoAoAUIgEEQCAGKAKEFCABQcgBbBDZEgsgBikDoA5CAlEEQCAJEIkHIAVBf0cNAgwDCyAGQaAOahDfASAFQX9GDQIgBkHQDWoQrwQgCCEFCyAGQYANahDjCQwCCyAGQdANahCvBCAGQYANahDjCSAIIQUMAQsgCCEFCyAGKAKgCiIBBEAgBigCpAoiCEEEaygCACIQQXhxIQkgCUEEQQggEEEDcSIQGyABakkNOiAQQQBHIAkgAUEnaktxDTsgCBC8BQsCQCAGKAK4CiIBQX9GDQAgAUUNACAGKAK8CiABENkSCyAGKAKwCiEJIAYoArQKIggEQCAJIQEDQCABQcgAaigCACIQBEAgAUHMAGooAgAiFEEEaygCACIVQXhxIRIgEkEEQQggFUEDcSIVGyAQakkNPCAVQQBHIBIgEEEnaktxDT0gFBC8BQsgARCuByABQdgAaiEBIAhBAWsiCA0ACwsCQCAGKAKsCiIIBEAgCUEEaygCACIQQXhxIQEgASAIQdgAbCIIQQRBCCAQQQNxIhAbakkNOyAQQQBHIAEgCEEnaktxDQEgCRC8BQsCQCAGKALECiIQQX9GDQAgBigCyAohCSAGKALMCiIIBEAgCSEBA0AgARCuCCABQZABaiEBIAhBAWsiCA0ACwsgEEUNACAJIBBBkAFsENkSCyAMIAwoAgAiAUEBazYCACABQQFGBEAgDBAwCyAEQX9GDRIgBiAGKALICzYCUCAGIAYpA8ALNwNIICpCIIinIREgBkHoFmoQmgggKqchEwwqCww6CyAJRQ0BIAggCRDZEgwBC0F/IQECQAJAAkACQAJAIApFDQAgDkHMAGohAUEAIQQCQANAIAFBBGooAgBBBUYEQCABKAIAIgcoAABB7NK1ywZzIAdBBGotAABB9ABzckUNAgsgAUHYAGohASAEQQFqIQQgCEHYAGsiCA0AC0F/IQEMAQsgDiAEQdgAbGoiBSgCACEBIAZBoA5qIAVBBGpB1AD8CgAAIAogBEF/c2pB2ABsIgcEQCAFIAVB2ABqIAf8CgAACyAGIApBAWsiBzYCjAsgAUF/Rg0BIAZBmBRqQQRyIAZBoA5qQdQA/AoAAAsgBiABNgKYFCAGQaATaiAGQZgUahCPCyAGKAKkEyEKIAYoAqATIQUgBigC0BMiBEF/RwRAIAYgBikC1BM3A6AMIAYgBigC3BM2AqgMIAYoAswTIQ4gBigCyBMhDSAGKALEEyEHIAYoAsATIQ8gBikDuBMhKSAGKQOwEyEoIAYoAqwTIREgBigCqBMhEyAGQeAQahCvBAwFCyAGQcANaiAGQfAMahDXAiAGQdgFaiIEIAZB4BBqEIcDIAwgDCgCACIBQQFqNgIAIAFBAEgNJyAGQegWahCvEiAGKALsFiIBIAo2AhQgASAFNgIQIAFBIDYCCCABQn83AwAgAUEYaiAEQdAA/AoAACABQn83A8ACIAEgKEIgiD4CgAEgASAoPgJ8IAEgDDYCeCABQX82AmggBkEBNgLwFgJAAkAgFi0AbkECRgRAIAZBAToApRcgBigC9AwhDiAGKAL4DCEPIAwgDCgCACIEQQFqNgIAIARBAEgNKiAGIA82AuAWIAYgDjYC3BYgBiAMNgLYFiAGKALIDSIFQYuujwVJDQEMOQsgBigCiBciASAGKAKAF0YEQCAGQYAXahCbEgsgBigChBcgAUECdGpBADYCACAGIAFBAWo2AogXIAZBwA1qEKUEIAYoAsANIgEEQCAGKALEDSABQcgBbBDZEgsgBkHgEGoQrwQMAQsgBigCxA0hEAJAIAVByAFsIglFBEBBCCEIDAELIAkQkAEiCEUNQCAFRQ0AQQAhBCAFIQcDQCAEIAlGDQEgBkGYFGoiCiAEIBBqEIwGIAQgCGogCkHIAfwKAAAgBEHIAWohBCAHQQFrIgcNAAsLIAYgBTYC2A0gBiAINgLUDSAGIAU2AtANIAYtAOAQIQcgBkGYFGoiBSAGQeAQakEBckHPAPwKAAAgBkGgE2ogBkHYFmogBkHQDWoQ6g5BExCQASIERQ0+IARB+4nGACgAADYADyAEQfSJxgApAAA3AAggBEHsicYAKQAANwAAIAwgDCgCACIJQQFqNgIAIAlBAEgNKCAGQaAOaiAFQc8A/AoAACAGIAYoAuAWNgK4CyAGIAYpAtgWNwKwCyAGIAYpAqATNwOAFCAGIAYoAqgTNgKIFCAGKALoFkEBRgRAIAZB6BZqEK8SIAYoAuwWIQELIAEgBzoA8AIgAUIANwPgAiABQgA3A9ACIAFCAzcDyAIgAUHxAmogBkGgDmpBzwD8CgAAIAFBfzYC2AMgAUKAgICAcDcDyAMgAUKAgICAgAE3A8ADIAFBEzYCgAQgASAENgL8AyABQRM2AvgDIAFBAjoA8gMgAUEAOwHwAyABIAYpAqgLNwLcAyABIAYpArALNwLkAyABIAYoArgLNgLsAyABIAYpA4AUNwKEBCABIAYoAogUNgKMBCABQn83A4gFIAFBATsBwAQgASAPNgK8BCABIA42ArgEIAEgDDYCtAQgAUF/NgKoBCABQgQ3A6AEIAFCADcDmAQgAUKAgICAgAE3A5AEIAZBAjYC8BYgBkGYFGogBkHoFmogFiAGQfAMakEBEJMBIAYoAqAUIRMgBigCnBQhCiAGKAKYFCEFIAYoAsgUIgRBf0cEQCAGIAYpAswUNwOgDCAGIAYoAtQUNgKoDCAGKALEFCEOIAYoAsAUIQ0gBigCvBQhByAGKAK4FCEPIAYpA7AUISkgBikDqBQhKCAGKAKkFCERDAULIBMEQCATQQJ0IQdBACEBA0AgASAKaigCACEEIAZBAzYCmBQgBkGgE2ogBkHoFmogBEEAIAZBmBRqEKINIAYoAqATIglBfkcEQCAGKQKwEyEoIAYoAqwTIREgBigCqBMhEyAGKAKkEyEBQYmAgIB4IQQgBQ0FDAYLIAcgAUEEaiIBRw0ACwsgBQRAIAogBUECdBDZEgsgBiAGKALIDTYCuBQgBiAGKQLADTcCsBQgBkGYssYANgLEFCAGQoGAgIAYNwK8FCAGQQI2ApgUIAZBoBNqIAZB6BZqQQFBACAGQZgUahCiDSAGKAKgEyIFQX5HBEAgBikCsBMhKCAGKAKsEyERIAYoAqgTIRMgBigCpBMhCkGJgICAeCEEDAYLIAYoAogXIgEgBigCgBdGBEAgBkGAF2oQmxILIAYoAoQXIAFBAnRqQQA2AgAgBiABQQFqNgKIFwsgBkH4CmoQtAhBfyEEIAwgDCgCACIBQQFrNgIAIAFBAUcNEwwFCyAEIAdB/M3GABCHEwALIAogBUECdBDZEgsgASEKIAkhBQsgBkHADWoQpQQgBigCwA0iAUUNACAQIAFByAFsENkSCyAGQfgKahC0CCAMIAwoAgAiAUEBazYCACABQQFHDQELIAwQMAsgBEF/Rg0MIAYgBigCqAw2AlAgBiAGKQOgDDcDSCAGQegWahCaCAwkCyAJIQogASEFCyAQBEAgCCEBA0AgARCuCCABQZABaiEBIBBBAWsiEA0ACwsgGQRAIAggGUGQAWwQ2RILIBcEQCAcIBcQ2RILIBhBAWtBfU0EQCAfIBgQ2RILIBQEQCASIQEDQCABQcgAaigCACIJBEAgAUHMAGooAgAgCRDZEgsgARCuByABQdgAaiEBIBRBAWsiFA0ACwsgGkUNByASIBpB2ABsENkSDAcLAkACQAJAAkACQEEDIBEgKEIBWBsOAgECAAtBiPvIAEEPQfTWxgAQrxQACyAGLQCoDkH/AUcNAQwCCyAVIQkgBi0AyA5B/wFGDQELIAkQrwQLIAkgDzoAACAJIA42AgQgCSAGLQDSDToAAyAJIAYvAdANOwABIAkgBTYCDCAJIAo2AgggCSAGKQOgEzcDECAJIAYpA6gTNwMYIAkgBikDsBM3AyAgCSAGKQO4EzcDKCAJIAYpA8ATNwMwIAkgBikDyBM3AzggCSAGKQPQEzcDQCAJIAYpA9gTNwNICyAGQZgUaiIEIAZBoA5qQcAC/AoAACAGQegWaiIFEK8SIAYoAuwWIgEgBEHAAvwKAAAgAUJ/NwPAAiAGQQE2AvAWIAYoAqwLIQcgBigCsAshBCAMIAwoAgAiCUEBajYCACAJQQBIDRwgBkHcBWogBkHgEGpB0AD8CgAAIAYoAugWQQFGBEAgBRCvEiAGKALsFiEBCyABQR42AtACIAFCfzcDyAIgAUHUAmogBkHYBWpB1AD8CgAAIAFCfzcDiAUgAUEANgLkAyABQoCAgIAQNwLcAyABIAQ2AtgDIAEgBzYC1AMgASAMNgLQAyABQX82ArgDIAFBfzYCqAMgBkECNgLwFiAGQZgUaiAGQegWaiAWIAZBqAtqQQAQkwEgBigCoBQhEyAGKAKcFCEKIAYoApgUIQUgBigCyBQiBEF/RwRAIAYgBikCzBQ3A9gWIAYgBigC1BQ2AuAWIAYoAsQUIQ4gBigCwBQhDSAGKAK8FCEHIAYoArgUIQ8gBikDsBQhKSAGKQOoFCEoIAYoAqQUIREMBAsgEwRAIBNBAnQhB0EAIQEDQCABIApqKAIAIQQgBkEDNgKYFCAGQaATaiAGQegWaiAEQQEgBkGYFGoQog0gBigCoBMiCUF+RwRAIAYpArATISggBigCrBMhESAGKAKoEyETIAYoAqQTIQFBiYCAgHghBCAFDQQMBQsgByABQQRqIgFHDQALCyAFBEAgCiAFQQJ0ENkSCyAGQbAUaiAGQagLahDXAkEBEJABIgFFDUYgAUEDOgAAIAZBh4CAgHg2ArwUIAZBhIfGADYCrBQgBiABNgKoFCAGQoCAgIAQNwKgFCAGQoCAgIAQNwKYFCAGQaATaiAGQegWakEAQQEgBkGYFGoQog0gBigCoBMiBUF+RwRAIAYpArATISggBigCrBMhESAGKAKoEyETIAYoAqQTIQpBiYCAgHghBAwECyAGKAKIFyIBIAYoAoAXRgRAIAZBgBdqEJsSCyAGKAKEFyABQQJ0akEANgIAIAYgAUEBajYCiBcgF0UNACAcIBcQ2RILQX8hBCAMIAwoAgAiAUEBazYCACABQQFHDQcMBQsgCiAFQQJ0ENkSCyABIQogCSEFCyAXRQ0BIBwgFxDZEgwBCyAXBEAgHEEEaygCACIJQXhxIQEgAUEEQQggCUEDcSIJGyAXakkNLCAJQQBHIAEgF0EnaktxDS0gHBC8BQsgHQRAIB5BBGsoAgAiCUF4cSEBIAFBBEEIIAlBA3EiCRsgHWpJDSwgCUEARyABIB1BJ2pLcQ0tIB4QvAULIBhBAWtBfU0EQCAfIBgQ2RILIBQEQCASIQEDQCABQcgAaigCACIJBEAgAUHMAGooAgAiF0EEaygCACIYQXhxIRUgFUEEQQggGEEDcSIYGyAJakkNLiAYQQBHIBUgCUEnaktxDS8gFxC8BQsgARCuByABQdgAaiEBIBRBAWsiFA0ACwsgGgRAIBJBBGsoAgAiCUF4cSEBIAEgGkHYAGwiFEEEQQggCUEDcSIJG2pJDSwgCUEARyABIBRBJ2pLcQ0tIBIQvAULIBlBf0YNACAQBEAgCCEBA0AgARCuCCABQZABaiEBIBBBAWsiEA0ACwsgGUUNACAIIBlBkAFsENkSCyAMIAwoAgAiAUEBazYCACABQQFHDQELIAwQMAsgBEF/Rg0AIAYgBigC4BY2AlAgBiAGKQPYFjcDSCAGQegWahCaCAwYCyAGIAYpAqAXIig3A0ggBigC6BYhDSAGKALwFiEFIAYpAvQWISsgBikC/BYhKiAGKQKEFyEpIAYoAowXIREgBigCkBchDyAGKAKUFyEOIAYoApgXIQggBigCnBchCiAGKALsFgwRC0EAIQ4LIAZBmBRqIgEgBkHYBWoQhwMgBigC3BYhBCAGKALgFiEHIAwgDCgCACIFQQFqNgIAIAVBAEgNESAGIAc2AugQIAYgBDYC5BAgBiAMNgLgECAGQaAOaiAGQagXaiAWIAEgBkHgEGogBkGgE2ogBkHoFmoQmgIgBigCoA4hBSAGKALQDiIEQX9HBEAgBiAGKQLUDjcDgBQgBiAGKALcDjYCiBQgBigCzA4hDiAGKALIDiENIAYoAsQOIQcgBigCwA4hDyAGKQO4DiEpIAYpA7AOISggBikDqA4hKiAGKAKkDiEKDAELAkAgFi0AbkECRw0AIAYoAtwWIQogBigC4BYhDyAMIAwoAgAiAUEBajYCACABQQBIDRIgBiAPNgKACyAGIAo2AvwKIAYgDDYC+AogBkGgCmoiASAGQdgWahDXAiAGQZgUaiIHIAZB2AVqEIcDIAZB4BBqIAZB+ApqIAEQ6g5BExCQASIERQ0oIARB+4nGACgAADYADyAEQfSJxgApAAA3AAggBEHsicYAKQAANwAAIAwgDCgCACIBQQFqNgIAIAFBAEgNEiAGIAYoAugQNgKwCyAGIAYpAuAQNwOoCyAGQaAOaiAHQdAA/AoAACAMIAwoAgAiAUEBazYCACABQQFGBEAgDBAwCyAGKAKwFyIHIAYoAqgXRgRAIAZBqBdqEK8SCyAGKAKsFyAHQcgCbGoiAUICNwMAIAFBCGogBkGgDmpB0AD8CgAAIAFBEzYCeCABIAQ2AnQgAUETNgJwIAFBfzYCZCABIA82AmAgASAKNgJcIAEgDDYCWCABQn83A8ACIAFBgAI7AaABIAFCBDcDmAEgAUIANwOQASABQoCAgICAATcDiAEgASAGKQOoCzcCfCABIAYoArALNgKEASAGIAdBAWo2ArAXIAZBmBRqIAZBqBdqIBYgBkHYFmogByAFELgIIAYoAsgUIgRBf0cEQCAGIAYpAswUNwOAFCAGIAYoAtQUNgKIFCAGKALEFCEOIAYoAsAUIQ0gBigCvBQhByAGKAK4FCEPIAYpA7AUISkgBikDqBQhKCAGKQOgFCEqIAYoApwUIQogBigCmBQhBQwCCyAGQeAQaiAGQdgWahDXAkEBEJABIgFFDTwgAUEBOgAAIAYgBikC4BA3ArAUIAYgBigC6BA2ArgUIAZBlLXGADYCxBQgBkKBgICAGDcCvBQgBkGEh8YANgKsFCAGIAE2AqgUIAZCgICAgBA3AqAUIAZCgICAgBA3ApgUIAZBoA5qIAZBqBdqIAcgBSAGQZgUahCiDSAGKAKgDiIBQX5GDQAgBikCsA4hKCAGKQKoDiEqIAYoAqQOIQpBiYCAgHghBCABIQUMAQsCQAJAAkACQAJAIA5FBEAgBkEBOgDlFyAGIAYpA5AXNwPAFCAGIAYpA4gXNwO4FCAGIAYpA4AXNwOwFCAGIAYpA/gWNwOoFCAGIAYpA/AWNwOgFCAGIAYpA+gWNwOYFCAGKALcFiEBIAYoAuAWIQQgDCAMKAIAIgdBAWo2AgAgB0EASA0XIAYgBDYC6BAgBiABNgLkECAGIAw2AuAQIAZBoA5qIAZBmBRqIAZB4BBqQQAgFhCPASAGIAYpAtwONwOgCiAGIAYoAuQONgKoCiAGKALYDiEEIAYoAtQOIQ4gBigC0A4hDSAGKALMDiEHIAYoAsgOIQ8gBikDwA4hKSAGKQO4DiEoIAYpA7AOISogBigCrA4hCiAGKAKoDiEBIAYpA6AOIitCf1INASAGIAYpA6AKNwOAFCAGIAYoAqgKNgKIFCABIQUMAgsgBigCyBciASAGKALAF0YEQCAGQcAXahCbEgsgBigCxBcgAUECdGogBTYCACAGIAFBAWo2AsgXIAZCBzcDmBQgBkGoF2oiBCAGQZgUaiIBELoTIRAgBkGwFGogBkHYFmoQ1wIgAUEBEMkTIAZBh4CAgHg2ArwUIAZBoA5qIAQgBSAQIAEQog0gBigCoA4iBUF+Rg0DIAYpArAOISggBikCqA4hKiAGKAKkDiEKQYmAgIB4IQQMBQsgBkGYFGoiEEHIAGogBkHoDmpB+AH8CgAAIAYgBDYC0BQgBiAONgLMFCAGIA02AsgUIAYgBzYCxBQgBiAPNgLAFCAGICk3A7gUIAYgKDcDsBQgBiAqNwOoFCAGIAo2AqQUIAYgATYCoBQgBiAGKQOgCjcC1BQgBiAGKAKoCjYC3BQgBiArNwOYFCAGQagXaiAQELoTIQEgBigCyBciBCAGKALAF0YEQCAGQcAXahCbEgsgBigCxBcgBEECdGogATYCACAGIARBAWo2AsgXIAZBsBRqIAZB2BZqENcCIAZBmBRqIgRBARDJEyAGQZC0xgA2AsQUIAZChYCAgBg3ArwUIAZBoA5qIAZBqBdqIAUgASAEEKINIAYoAqAOIgVBfkYNASAGKQKwDiEoIAYpAqgOISogBigCpA4hCkGJgICAeCEECyAJBEAgCCAJENkSCyAGQdgFahCvBAwFCyAJBEAgCCAJENkSCyAGQdgFahCvBAwBCyAJBEAgCCAJENkSCyAGQdgFahCvBCAGQegWahC0CAtBfyEEIAwgDCgCACIBQQFrNgIAIAFBAUcNBQwDCyAJBEAgCCAJENkSCyAGQdgFahCvBAsgBkHoFmoQtAgLIAwgDCgCACIBQQFrNgIAIAFBAUcNAQsgDBAwCyAEQX9GDQAgBiAGKAKIFDYCUCAGIAYpA4AUNwNIICpCIIinIREgBkGoF2oQmgggKqchEwwQCyAGIAYpAuAXIig3A0ggBigCqBchDSAGKAKwFyEFIAYpArQXISsgBikCvBchKiAGKQLEFyEpIAYoAswXIREgBigC0BchDyAGKALUFyEOIAYoAtgXIQggBigC3BchCiAGKAKsFwwJCyAtpyEOIC+nIRQgMKchDyAKRQRAQQAhCgwBCyAKQdgAbCEEQQAhAQNAIAZBmBRqIAZB4ApqIAEgBWoiB0HMAGooAgAgB0HQAGooAgAQ3gUgBigCmBRBf0YEQCAGKAKcFCIEKAIAIQEgBCABQQFrNgIAIAFBAUYEQCAGKAKcFBAwCyAGKALgCiEBIAYoAugKIRAgBigC5AohGQwDCyAGQZgUahDBByAEIAFB2ABqIgFHDQALCyAGKALUFyERAkAgBigCzBciF0F/RgRAIAYoAtAXIQkMAQsgKEIgiKchECAopyEZIBFBkAFsIQEgBigC0BciCSEEA0AgAUUNASABQZABayEBIARBhAFqIARBkAFqIQQoAgBBf0YNAAsgDCEBDAELIAYoAuAKIRAgBiASNgLcEyAGICo3AtQTIAYgDjYC0BMgBiANNgLMEyAGIAo2AsgTIAYgBTYCxBMgBiAUNgLAEyAGICw3A7gTIAYgKTcDsBMgBiArNwOoEyAGIBM2AqQTIAYgDzYCoBMgBigCqBchFCAGKAKsFyEYIAYoArAXIQ4gBigCtBchGSAGKALAFyEaIAYoAsQXIR0gBkGYFGogBkHgCmogBkGgE2oQdwJAAkAgBigCmBQiAUF/RgRAIAYoAtwUIRIgBikC1BQhKyAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEFIBQEQCAYIBQQ2RILIBpBAWtBfU0EQCAdIBoQ2RILIAgEQCAVIQEDQCABQcgAaigCACIUBEAgAUHMAGooAgAiGkEEaygCACIYQXhxIRMgE0EEQQggGEEDcSIYGyAUakkNIyAYQQBHIBMgFEEnaktxDSQgGhC8BQsgARCuByABQdgAaiEBIAhBAWsiCA0ACwsgGQRAIBUgGUHYAGwQ2RILAkAgF0F/Rg0AIBEEQCAJIQEDQCABEK4IIAFBkAFqIQEgEUEBayIRDQALCyAXRQ0AIAkgF0GQAWwQ2RILIBAgECgCACIBQQFrNgIAIAFBAUcNASAQEDAMAQsgBigC8BQhEiAGKALsFCEQIAYoAugUIRwgBikD4BQhKCAGKQKcFCEpIAYoAqQUIQQgBikDqBQhKiAGKQOwFCErIAYpA7gUISwgBikDwBQhLSAGKQPIFCEuIAYoAtAUIQUgBikC1BQhLyAGIAYoAtwUNgKkESAGIC83ApwRIAYgBTYCmBEgBiAuNwOQESAGIC03A4gRIAYgLDcDgBEgBiArNwP4ECAGICo3A/AQIAYgBDYC7BAgBiApNwLkECAGICg3A6gRIAYgATYC4BACQAJAIBdBf0cEQCAGQegWaiAJAn8gEUUEQEEEIQ1BAAwBCyARQQxsEJABIg1FDScgCUH4AGohASANIQQgESEKA0ACQCABQRhrIAEgASgCAEF/RhsiBUEIaigCACIHRQRAQQEhBQwBCyAFQQRqKAIAIRMgBxCQASIFRQ0nIAdFDQAgBSATIAf8CgAACyAEIAc2AgAgBEEIaiAHNgIAIARBBGogBTYCACABQZABaiEBIARBDGohBCAKQQFrIgoNAAsgEQsgBkHgCmoiARDjBiAGQeAQaiIEIAEQigUgBkHYBWoiAUHQAGogGCAOEJQTIAEgBEHQAPwKAAAgBiAGKALwFjYCvAYgBiAGKQLoFjcCtAYgBkGcFGogAUHoAPwKAAAgBkGgDmogBkGYFGpB7AD8CgAAIAYoAtgNIgUgBigC0A1GBEAgBkHQDWoQrxILIAYoAtQNIAVByAJsaiIBQRs2AgggAUJ/NwMAIAFBDGogBkGgDmoiBEHsAPwKAAAgASAGKQLgCjcChAEgASAGKALoCjYCjAEgASARNgKAASABIA02AnwgASARNgJ4IAFCfzcDwAIgBiAFQQFqNgLYDSASQcgAbCIfIBBqIR4gECEBIBJFDQEgBEEEciEHQQAhEwNAAkAgECATaiIBQQhqKAIAIgRBfkcEQCABQQRqKAIAIQogASgCACENIAcgAUEMaikCADcCACAHIAFBFGopAgA3AgggByABQRxqKQIANwIQIAcgAUEkaikCADcCGCAHIAFBLGopAgA3AiAgByABQTRqKQIANwIoIAcgAUE8aikCADcCMCAHIAFBxABqKAIANgI4IAYgBDYCoA4gBkGYFGogBkHQDWogFiAFIA0gCiAGQaAOahAlIAYoAsgUIgRBf0YNASAGKALUFCESIAYpAswUISsgBigCxBQhDiAGKALAFCENIAYoArwUIQcgBigCuBQhDyAGKQOwFCEpIAYpA6gUISggBikDoBQhKiAGKAKcFCEKIAYoApgUIQUgHiABQcgAaiIBRwRAIB8gE2tByABrQcgAbiETA0AgASgCACIfKAIAIR4gHyAeQQFrNgIAIB5BAUYEQCABKAIAEDALIAFBCGoQ4wkgAUHIAGohASATQQFrIhMNAAsLIBwEQCAQIBxByABsENkSCyARBEAgCSEBA0AgARCuCCABQZABaiEBIBFBAWsiEQ0ACwsgFwRAIAkgF0GQAWwQ2RILIBQEQCAYIBQQ2RILIBpBAWtBfU0EQCAdIBoQ2RILIAgEQCAVIQEDQCABQcgAaigCACIJBEAgAUHMAGooAgAiFEEEaygCACIRQXhxIRAgEEEEQQggEUEDcSIRGyAJakkNKCARQQBHIBAgCUEnaktxDSkgFBC8BQsgARCuByABQdgAaiEBIAhBAWsiCA0ACwsgGUUNBiAVIBlB2ABsENkSDAYLIAFByABqIQEMAwsgHyATQcgAaiITRw0ACwwCC0G0tMYAEJ0VAAsgHiABa0HIAG4hBCABIB5GDQADQCABKAIAIgooAgAhByAKIAdBAWs2AgAgB0EBRgRAIAEoAgAQMAsgAUEIahDjCSABQcgAaiEBIARBAWsiBA0ACwsgHARAIBAgHEHIAGwQ2RILIBEEQCAJIQEDQCABEK4IIAFBkAFqIQEgEUEBayIRDQALCyAXBEAgCSAXQZABbBDZEgsgFARAIBggFBDZEgsgGkEBa0F9TQRAIB0gGhDZEgsCQCAIBEAgFSEBA0AgAUHIAGooAgAiBARAIAFBzABqKAIAIglBBGsoAgAiCkF4cSEHIAdBBEEIIApBA3EiChsgBGpJDSMgCkEARyAHIARBJ2pLcQ0DIAkQvAULIAEQrgcgAUHYAGohASAIQQFrIggNAAsLIBlFDQIgFSAZQdgAbBDZEgwCCwwgCyAEQX9HDQULIAYoAvANIgEgBigC6A1GBEAgBkHoDWoQmxILIAYoAuwNIAFBAnRqIAU2AgAgBiABQQFqNgLwDQwGCyAGQQE6AI0OIAEgASgCACIBQQFqNgIAIAFBAEgNCCAGIBA2AvQKIAYgGTYC8AogBiAGKALgCiIBNgLsCiAGIBI2ApwRIAYgKjcClBEgBiAONgKQESAGIA02AowRIAYgCjYCiBEgBiAFNgKEESAGIBQ2AoARIAYgLDcD+BAgBiApNwPwECAGICs3A+gQIAYgEzYC5BAgBiAPNgLgECAGQZgUaiAGQewKaiAGQeAQahB3AkAgBigCmBQiBEF/RgRAIAYgBikD2BQiKDcClAYgBiAGKQPQFCIpNwKMBiAGIAYpA8gUIio3AoQGIAYgBikDwBQiKzcC/AUgBiAGKQOgFDcDoBMgBiAGKQOoFDcDqBMgBiAGKQOwFDcDsBMgBiAGKQO4FDcDuBMgBiArNwPAEyAGICo3A8gTIAYgKTcD0BMgBiAoNwPYEyABIAEoAgAiBEEBazYCACAEQQFHDQEgARAwDAELIAZB2AVqIgUgBkGYFGpBBHJBxAD8CgAAIAYgBikD8BQ3A/gOIAYgBikD6BQ3A/AOIAYgBikD4BQ3A+gOIAZBoA5qIgFBBHIgBUHEAPwKAAAgBiAENgKgDiABIAZB7ApqIgQQigUgBkGgE2ogBkHQDWogFiAEIAEgBkHwDmoQhQYLIAYoAqATIQUgBigC0BMiBEF/Rg0BIAYoAtwTIRIgBikC1BMhKyAGKALMEyEOIAYoAsgTIQ0gBigCxBMhByAGKALAEyEPIAYpA7gTISkgBikDsBMhKCAGKQOoEyEqIAYoAqQTIQogBigC4AoLIQEgBkGoF2oQtAgMAQsgBiAGKQPQFzcDyA4gBiAGKQPIFzcDwA4gBiAGKQPAFzcDuA4gBiAGKQO4FzcDsA4gBiAGKQOwFzcDqA4gBiAGKQOoFzcDoA4gBigC4AoiASgCACEEIAEgBEEBajYCACAEQQBIDQYgBigC5AohBCAGIAYoAugKNgLgBSAGIAQ2AtwFIAYgATYC2AUgBkGYFGogBkGgDmogBkHYBWpBACAWEI8BIAYoAtwUIRIgBikC1BQhKyAGKALQFCEEIAYoAswUIQ4gBigCyBQhDSAGKALEFCEHIAYoAsAUIQ8gBikDuBQhKSAGKQOwFCEoIAYpA6gUISogBigCpBQhCiAGKAKgFCEJIAYpA5gUIixCf1EEQCAJIQUMAQsgBkGgDmogBkHgFGpB+AH8CgAAIAYoAtgNIhAgBigC0A1GBEAgBkHQDWoQrxILIAYoAtQNIBBByAJsaiIIIBI2AkQgCCArNwI8IAggBDYCOCAIIA42AjQgCCANNgIwIAggBzYCLCAIIA82AiggCCApNwMgIAggKDcDGCAIICo3AxAgCCAKNgIMIAggCTYCCCAIICw3AwAgCEHIAGogBkGgDmpB+AH8CgAAIAhCfzcDwAIgBiAQQQFqNgLYDSAGKALwDSIEIAYoAugNRgRAIAZB6A1qEJsSCyAGKALsDSAEQQJ0aiAQNgIAIAYgBEEBajYC8A0gBkHYBWogBkHgCmoQ1wJBARCQASIERQ0FIARBADoAACAGIAYpAtgFNwKwFCAGIAYoAuAFNgK4FCAGQZC0xgA2AsQUIAZChYCAgBg3ArwUIAZBhIfGADYCrBQgBiAENgKoFCAGQoCAgIAQNwKgFCAGQoCAgIAQNwKYFCAGQaAOaiAGQdANaiAFIBAgBkGYFGoQog0gBigCoA4iBUF+Rg0CIAYpArAOISggBikCqA4hKiAGKAKkDiEKQYmAgIB4IQQLIAEgASgCACIBQQFrNgIAIAFBAUYEQCAGKALgChAwCyAEQX9GDQILIAYgEjYCUCAGICs3A0ggKkIgiKchESAGQdANahCaCCAqpyETDAgLIAEgASgCACIBQQFrNgIAIAFBAUcNACAGKALgChAwCyAGIAYpAogOIig3A0ggBigChA4hCiAGKAKADiEIIAYoAvwNIQ4gBigC+A0hDyAGKAL0DSERIAYpAuwNISkgBikC5A0hKiAGKQLcDSErIAYoAtgNIQUgBigC0A0hDSAGKALUDQshAUEAIQcMAwsMKgsACyAGKALMFCEKIAYoAsgUIQggBigCxBQhDiAGKALAFCEPIAYoArwUIREgBikCtBQhKSAGKQKsFCEqIAYpAqQUISsgBigCoBQhBSAGKAKcFCEBIAYoApgUIQ0LQQEhBAwKCyAGIAYpApQBNwNIIAYgBigCnAE2AlAgBikDaCIqQiCIpyERIAYoApABIQQgBigCjAEhDiAGKAKIASENIAYoAoQBIQcgBigCgAEhDyAGKQN4ISkgBikDcCEoIAYoAmQhCiAGKAJgIQUgKqchEwtBACEIQQEhAQwEC0HUncYAQZcBQaCexgAQvxMAC0EIIQFBBCEKQQAhCAwDCyAGQaAOahCvEiAGKAKkDiIBQn83A8ACIAEgCDYCRCABIAQ2AkAgASAONgI8IAEgDTYCOCABIAc2AjQgASAPNgIwIAEgKTcDKCABICg3AyAgASAqNwMYIAEgCjYCFCABIAU2AhAgAUEkNgIIIAFCfzcDAEEBIQUgBkEBNgKoDgwDCyAqQiCIpyERIAZBoA5qEJoIICqnIRNBACEBQQAhCAsgBikDSCEqIBsgBigCUDYCRCAbICo3AjwgGyAENgI4IBsgDjYCNCAbIA02AjAgGyAHNgIsIBsgDzYCKCAbICk3AyAgGyAoNwMYIBsgCjYCDCAbIAU2AgggG0EBNgIAIBsgE60gEa1CIIaENwMQIAFFDQQgCEUNBCAMRQ0EIAwgDCgCACIBQQFrNgIAIAFBAUcNBCAMEDAMBAtBACEOQQQhD0EAIQVBAAwBCyAGKALUDiEKIAYoAtAOIQggBigCzA4hDiAGKALIDiEPIAYoAsQOIREgBigCoA4LIQ0gBiAGKQLYDiIoNwNIIAYpArwOISkgBikCtA4hKiAGKQKsDiErQQAhBEEAIQcLIAYgKDcC2A4gBiAKNgLUDiAGIAg2AtAOIAYgDjYCzA4gBiAPNgLIDiAGIBE2AsQOIAYgKTcCvA4gBiAqNwK0DiAGICs3AqwOIAYgBTYCqA4gBiABNgKkDiAGIA02AqAOAkAgBEUNACAHRQ0AIAxFDQAgDCAMKAIAIgFBAWs2AgAgAUEBRw0AIAwQMAsgFkHIAGooAgAgFkHMAGooAgAoAhwRDgAhKAJAAkAgBi0A3A5FBEAgBigCzA4hBEEAIQEgBkEANgLMDiAGKALEDiEKIAYoAsgOIQUgBkKAgICAwAA3AsQOIAUgBEEDdGohCAJAIARBAXYiB0UNACAHQQFHBEAgB0EBcSAHQf7//z9xIQwDQCAIIAFBf3NBA3RqIgcpAgAhKSAHIAUgAUEDdGoiBykCADcCACAHICk3AgAgBykCCCEpIAcgCCABQf7///8Bc0EDdGoiBykCADcCCCAHICk3AgAgDCABQQJqIgFHDQALRQ0BCyAFIAFBA3RqIgcpAgAhKSAHIAggAUF/c0EDdGoiASkCADcCACABICk3AgALAkAgBEUNACAGQdwFaiEJIAUhDwJAA0ACQCAPKAIEIQ0gBkHgEGogBkGgDmogDygCACISQQEQ1gYgBigC4BAhECAGKALkECEHAkACQAJAIAYoAugQIgEEQCABQQJ0IQwgByEBA0ACQAJAAkAgASgCACIOIAYoArQOSQRAIAYoArAOIA5ByABsaiIUKAJAIgQgBigCqA5PDRQCQAJAIAYoAqQOIARByAJsaiIVKQMAIilCflIEQCApQgVTDQIgKUL/////D4NCBVINAiAVKAIIQX9GDQIgFCgCACIUQX9GDQYgFEEDSQ0GIBRBBnFBBkYNAQwGC0HAn8YAQSZB6J/GABDAEwALIAZBmBRqIhQgBkGgDmoiFSAOENoIIAYoApgUQX9GDQIgBiAGKQLIFDcDiAYgBiAGKQLAFDcDgAYgBiAGKQK4FDcD+AUgBiAGKQKwFDcD8AUgBiAGKQKoFDcD6AUgBiAGKQKgFDcD4AUgBiAGKQKYFDcD2AUgFCAVIAQgDSAGQdgFahCiDSAGKAKYFCIEQX5GDQQgBiAGKQKgFDcD0A0gBiAGKQKoFDcD2A0gBigCnBQhCAwDCyAGQQM2ApgUIAZB2AVqIAZBoA5qIAQgDSAGQZgUahCiDSAGKALYBSIEQX5GDQMgBiAGKQLgBTcD0A0gBiAGKQLoBTcD2A0gBigC3AUhCAwCC0GQn8YAEJ0VAAtB+J/GAEE0QaygxgAQwBMACyAQRQ0DIAdBBGsoAgAiCUF4cSEBIAEgEEECdCIMQQRBCCAJQQNxIgkbakkNEyAJQQBHIAEgDEEnaktxRQRAIAcQvAUMBAsMFAsgAUEEaiEBIAxBBGsiDA0ACwsgEARAIAdBBGsoAgAiBEF4cSEBIAEgEEECdCIMQQRBCCAEQQNxIgQbakkNESAEQQBHIAEgDEEnaktxDRIgBxC8BQsgEiAGKAKoDk8NAiAGKAKkDiASQcgCbGooAsACIgcgBigCtA4iBE8NAiAGKAKwDiEMA0AgDSAMIAdByABsaiIBKAJERwRAIAQgASgCOCIHSw0BDAQLCwJAIAQgB0sEQCABKAIAIQQgAUF/NgIAIARBf0cNAUGEl8YAQeUAQbiXxgAQvxMAC0HgnsYAEJ0VAAsgCSABKQIENwIAIAkgASkCDDcCCCAJIAEpAhQ3AhAgCSABKQIcNwIYIAkgASkCJDcCICAJIAEpAiw3AiggCSABKAI0NgIwIAYgBDYC2AUgBkGYFGogBkGgDmogDSASIAZB2AVqEKINIAYoApgUIgRBfkYNASAGIAYpAqAUNwPQDSAGIAYpAqgUNwPYDSAGKAKcFCEICyAKDQIMBAsgBkGYFGoiASAGQaAOaiAHENoIIAYoApgUQX9GDQAgARCqBwsgCCAPQQhqIg9HDQEMAwsLIAVBBGsoAgAiB0F4cSEBIAEgCkEDdCIJQQRBCCAHQQNxIgcbakkNCyAHQQBHIAEgCUEnaktxDQwgBRC8BQsgBiAGKQPYDTcDoBkgBiAGKQPQDTcDmBkMAwsgCgRAIAVBBGsoAgAiBEF4cSEBIAEgCkEDdCIHQQRBCCAEQQNxIgQbakkNCiAEQQBHIAEgB0EnaktxDQsgBRC8BQsCQCAGKAKoDiIHRQ0AQQAhASAGKAKkDiIJIQQCQAJAAkACQAJAA0AgASEFIAQpAwAiKUJ+UQ0BIAFBAWohAQJAAkAgKUIFUw0AIClC/////w+DQgVSDQAgBEEIaigCAEF/Rg0BCyAEQcgCaiEEIAEgB0cNAQwHCwtBEBCQASIKRQ0TIAogBTYCACAGQQE2AqAUIAYgCjYCnBQgBkEENgKYFEEBIQgCQCABIAdPDQADQCAHIAEgASAHSRshDCAJIAFByAJsaiEEA0AgDCABIgVGDRAgBCkDACIpQn5RDQQgAUEBaiEBAkACQCApQgVTDQAgKUL/////D4NCBVINACAEQQhqKAIAQX9GDQELIARByAJqIQQgASAHRw0BDAMLCyAGKAKYFCAIRgRAIAZBmBRqIAhBAUEEQQQQsxEgBigCnBQhCgsgCiAIQQJ0aiAFNgIAIAYgCEEBaiIINgKgFCABIAdJDQALCyAGKAKcFCIHIAhBAnRqIRYgBigCmBQhCiAGQZgUaiIBQSRqIRAgAUEYaiEXIAZB2AVqIgFBJGohEiABQRhqIRkgByEOA0AgBkH4CmogBkGgDmogDigCACIaQQAQ1gYgDkEEaiEOIAYoAvwKIgkgBigCgAtBAnQiBGohGCAGKAL4CiENIAYoArAOIRUgBigCtA4hD0EAIQECQAJAA0AgASAERg0BIAEgCWooAgAiBSAPTw0SIBUgBUHIAGxqIgUoAgAiDEF/Rg0GIAFBBGohASAMQQNPDQALIAVBIGooAgAiBEGLro8FTw0NAkAgBEHIAWwiFEUEQEEIIQgMAQsgBUEcaigCACERIBQQkAEiCEUNFiAERQ0AQQAhDCAEIQUDQCAMIBRGDQEgBkGYFGoiEyAMIBFqEIwGIAggDGogE0HIAfwKAAAgDEHIAWohDCAFQQFrIgUNAAsLQTAQkAEiEUUNFiABIAlqIQEgESAENgIAIBEgCK0gBK1CIIaENwIEQQEhFCAGQQE2AuAFIAYgETYC3AUgBkEENgLYBQNAIAEgGEcEQCABKAIAIgQgD08NEyAVIARByABsaiIFKAIAIgRBf0YNCCABQQRqIQEgBEEDTw0BIAVBIGooAgAiBEGLro8FTw0PAkAgBEHIAWwiE0UEQEEIIQgMAQsgBUEcaigCACEcIBMQkAEiCEUNGCAERQ0AQQAhDCAEIQUDQCAMIBNGDQEgBkGYFGoiHSAMIBxqEIwGIAggDGogHUHIAfwKAAAgDEHIAWohDCAFQQFrIgUNAAsLIAitIAStQiCGhCEpIAYoAtgFIBRGBEAgBkHYBWogFEEBQQRBDBCzESAGKALcBSERCyARIBRBDGxqIgUgKTcCBCAFIAQ2AgAgBiAUQQFqIhQ2AuAFDAELCyANBEAgCSANQQJ0ENkSCyAGIAYoAuAFNgKoCiAGIAYpAtgFNwOgCgwBCyAGQQA2AqgKIAZCgICAgMAANwOgCiANRQ0AIAlBBGsoAgAiBEF4cSEBIAEgDUECdCIFQQRBCCAEQQNxIgQbakkNESAEQQBHIAEgBUEnaktxDRIgCRC8BQsgBkHoFmogBkGgCmoQ6AcgBkGoF2ogBkGgDmogGkEBENYGIAYoArAXQQJ0IQhBACEBIAYoAqgXIQUgBigCrBchBAJAAkACQAJAAkACQANAIAEgCEYNASABIARqKAIAIgkgD08NFiABQQRqIQEgFSAJQcgAbGoiDCgCAEEDTw0ACyAFBEAgBEEEaygCACIIQXhxIQEgASAFQQJ0IgVBBEEIIAhBA3EiCBtqSQ0XIAhBAEcgASAFQSdqS3ENGCAEELwFCyAMKAJEIQEgDCgCQCEEIAZBmBRqIAZBoA5qIAkQ2gggBigCmBRBf0YNAiAGIAYpAsgUNwOIBiAGIAYpAsAUNwOABiAGIAYpArgUNwP4BSAGIAYpArAUNwPwBSAGIAYpAqgUNwPoBSAGIAYpAqAUNwPgBSAGIAYpApgUIik3A9gFICmnQQNJDQMgBkHYBWoQqgcMAQsgBUUNACAEQQRrKAIAIglBeHEhASABIAVBAnQiBUEEQQggCUEDcSIJG2pJDRUgCUEARyABIAVBJ2pLcQ0WIAQQvAULIAZB6BZqEKUEIAYoAugWIgRFDQIgBigC7BYiBUEEaygCACIJQXhxIQEgASAEQcgBbCIEQQRBCCAJQQNxIgkbakkNFCAJQQBHIAEgBEEnaktxDRUgBRC8BQwCC0H4n8YAQTRB2KHGABDAEwALIBcgBkHoFmogGRDKCCAQIBIoAhA2AhAgECASKQIINwIIIBAgEikCADcCACAGIAYpA9gFNwOYFCAGIAYpA+AFNwOgFCAGIAYpA+gFNwOoFCAGQeAQaiAGQaAOaiAEIAEgBkGYFGoQog0gBigC4BAiBEF+Rw0BCyAOIBZGDQYMAQsLIAYgBikC6BA3A5gZIAYgBikC8BA3A6AZIAYoAuQQIQggCkUNCCAHIApBAnQQ2RIMCAtBhJLGABCdFQALQYSSxgAQnRUAC0GUksYAEJ0VAAtBlJLGABCdFQALIApFDQAgByAKQQJ0ENkSCyAGQagXaiAGQaAOahCdDiAGKAKsFyIFIAYoArAXIgRBBHRqIQogBigCqBchDCAFIQECQAJAIARFDQAgKEKAgICAgICAgBGDISkgKEKAgICAgICAgAKDISoDQAJAAkACQAJAAkAgAUEEaigCACIHQX9HBEAgASgCACEEIAYgBzYC4BAgBiABQQhqKQIAIis3AuQQIAQgBigCqA5PDQIgBigCpA4gBEHIAmxqIgQpAwAiKEJ+UgRAIChCBVMNAiAoQv////8Pg0IEUQ0CC0HIocYAEJ0VAAsgAUEQaiEBDAYLICunIQkgKEJ/UQRAAkAgKlAgBCgCCCIIQR1GcUUEQCAIQRtHIClCgICAgICAgIARUXINAQsgBkHgEGoQpQQgB0UNBSAJQQRrKAIAIghBeHEhBCAEIAdByAFsIgdBBEEIIAhBA3EiCBtqSQ0SIAhFDQQgBCAHQSdqSw0TDAQLAkACQAJAAkACQEEKIAQoAggiCEEbayAIQRpNG0EBaw4KAgMBBwcHBwcHBwALIAYgBCgCdDYC4AUgBiAEKQJsNwPYBSAGQZgUaiAGQdgFaiAGQeAQahDKCCAEIAYoAqAUNgJ0IAQgBikCmBQ3AmwMCAsgBCgCcEF/Rw0CDAULIAQoAiRBf0YNBCAGIARBJGoiBCgCCDYC4AUgBiAEKQIANwPYBSAGQZgUaiAGQdgFaiAGQeAQahDKCCAEIAYoAqAUNgIIIAQgBikCmBQ3AgAMBgsgBCgCEEF/Rg0DIAYgBCgC1AE2AuAFIAYgBCkCzAE3A9gFIAZBmBRqIAZB2AVqIAZB4BBqEMoIIAQgBigCoBQ2AtQBIAQgBikCmBQ3AswBDAULIAYgBEHwAGoiBCgCCDYC4AUgBiAEKQIANwPYBSAGQZgUaiAGQdgFaiAGQeAQahDKCCAEIAYoAqAUNgIIIAQgBikCmBQ3AgAMBAsCQAJAAkACQEEDICinQQJrIChCAVgbQQFrDgMBAgMACyAGIAQoAoQBNgLgBSAGIAQpAnw3A9gFIAZBmBRqIAZB2AVqIAZB4BBqEMoIIAQgBigCoBQ2AoQBIAQgBikCmBQ3AnwMBgsgBiAEKALEATYC4AUgBiAEKQK8ATcD2AUgBkGYFGogBkHYBWogBkHgEGoQygggBCAGKAKgFDYCxAEgBCAGKQKYFDcCvAEMBQsgBiAEKALMATYC4AUgBiAEKQLEATcD2AUgBkGYFGogBkHYBWogBkHgEGoQygggBCAGKAKgFDYCzAEgBCAGKQKYFDcCxAEMBAsgBkHgEGoQpQQgB0UNAyAJQQRrKAIAIghBeHEhBCAEIAdByAFsIgdBBEEIIAhBA3EiCBtqSQ0QIAhFDQIgBCAHQSdqTQ0CDBELQZihxgAQnRUACyAGQeAQahClBCAHRQ0BIAlBBGsoAgAiCEF4cSEEIAQgB0HIAWwiB0EEQQggCEEDcSIIG2pPBEAgCEUNASAEIAdBJ2pNDQEMEAsMDgsgCRC8BQsgCiABQRBqIgFHDQALDAELIAEgCkYNACAKIAFrQQR2IQQgAUEEaiEBA0AgARClBCABKAIAIgkEQCABQQRqKAIAIgpBBGsoAgAiCEF4cSEHIAcgCUHIAWwiCUEEQQggCEEDcSIIG2pJDQwgCEEARyAHIAlBJ2pLcQ0NIAoQvAULIAFBEGohASAEQQFrIgQNAAsLIAwEQCAFQQRrKAIAIgRBeHEhASABIAxBBHQiB0EEQQggBEEDcSIEG3JJDQogBEEARyABIAdBJ2pLcQ0LIAUQvAULIAZBqAtqIAZBoA5qEJ0OIAYoAqwLIgogBigCsAsiAUEEdGohDSAGKAKoCyEQIAohBQJAAkAgAUUNACAGQbAUaiEOIAZB6BBqIRQgBSEBAkACQAJAAkACQANAIAFBEGohBSABKAIEIgRBf0YNBiABKAIAIQwgBiABKQIINwL8CiAGIAQ2AvgKIAwgBigCqA5PDQ8gBigCpA4gDEHIAmxqIgEpAwAiKEJ+UQ0EIChC/////w+DQgRSIChCBVlxDQQCQCAoQn9RBEAgBkGgCmogAUEIahC7CQwBCyAGQaAKaiABEPMMCyAGQegWaiAGQaAKahDXAkEGEJABIghFDRMgCEHgoMYALwAAOwAEIAhB3KDGACgAADYAACAGKAKgCiISKAIAIQEgEiABQQFqNgIAIAFBAEgNAiAGKALwFiIJQYuujwVPDQkgBigCqAohDyAGKAKkCiERAkAgCUHIAWwiFUUEQEEIIQcMAQsgBigC7BYhEyAVEJABIgdFDQIgCUUNAEEAIQEgCSEEA0AgASAVRg0BIAZBmBRqIhYgASATahCMBiABIAdqIBZByAH8CgAAIAFByAFqIQEgBEEBayIEDQALCyAGIAk2AqAUIAYgBzYCnBQgBiAJNgKYFCAGQagXaiAGQfgKaiAGQZgUahDKCCAUIAYoAqgKNgIIIBQgBikCoAo3AgAgBigCqA4iCSAGKAKgDkYEQCAGQaAOahCvEgsgBigCpA4gCUHIAmxqIgFBfzYCkAEgAUKAgICAcDcDgAEgAUKAgICAgAE3A3ggAUH/AToAKCABQgA3AxggAUIANwMIIAFCAzcDACABIAYpAuAQNwKUASABIAYpAugQNwKcASABIAYoAvAQNgKkASABQQY2ArgBIAEgCDYCtAEgAUEGNgKwASABQQI6AKoBIAFBADsBqAEgAUF/NgLgASABIBI2AuwBIAEgETYC8AEgASAPNgL0ASABQoCAgICAATcDyAEgAUIANwPQASABQgQ3A9gBIAFCfzcDwAIgAUEBOwH4ASABIAYoArAXNgLEASABIAYpAqgXNwK8ASAGIAlBAWo2AqgOIA4gBigC8BY2AgggDiAGKQLoFjcCACAGQeSgxgA2AsQUIAZChICAgBg3ArwUIAZBAjYCmBQgBkHYBWogBkGgDmogDCAJIAZBmBRqEKINIAYoAtgFIgRBfkcEQCAGIAYpAuAFNwOgEyAGIAYpAugFNwOoEyAGKALcBSEIDAYLIAZBmBRqIAZBoA5qIAxBABDWBiAGKAKYFCESIAYoApwUIQECQCAGKAKgFCIEBEAgBEECdCEMIAEhBwNAIAcoAgAiBCAGKAK0Dk8NBiAGKAKwDiAEQcgAbGooAkQhCCAGQZgUaiIVIAZBoA5qIg8gBBDaCCAGKAKYFEF/Rg0CIAYgBikCyBQ3A4gGIAYgBikCwBQ3A4AGIAYgBikCuBQ3A/gFIAYgBikCsBQ3A/AFIAYgBikCqBQ3A+gFIAYgBikCoBQ3A+AFIAYgBikCmBQ3A9gFIBUgDyAJIAggBkHYBWoQog0gBigCmBQiBEF+RwRAIAYgBikCoBQ3A6ATIAYgBikCqBQ3A6gTIAYoApwUIQggEkUNCSABIBJBAnQQ2RIMCQsgB0EEaiEHIAxBBGsiDA0ACwsgEgRAIAFBBGsoAgAiB0F4cSEEIAQgEkECdCIJQQRBCCAHQQNxIgcbakkNEyAHQQBHIAQgCUEnaktxDRQgARC8BQsgDSAFIgFHDQEMCAsLQfigxgAQnRUAC0EIEKcUCwALQaCfxgAQnRUAC0GIocYAEJ0VAAsCQCAFIA1HBEAgDSAFa0EEdiEHIAVBBGohAQNAIAEQpQQgASgCACIJBEAgAUEEaigCACIMQQRrKAIAIg1BeHEhBSAFIAlByAFsIglBBEEIIA1BA3EiDRtqSQ0PIA1BAEcgBSAJQSdqS3ENAyAMELwFCyABQRBqIQEgB0EBayIHDQALCyAQBEAgCiAQQQR0ENkSCyAGIAYpA6ATNwOYGSAGIAYpA6gTNwOgGQwFCwwMCyAFIA1GDQAgDSAFa0EEdiEEIAVBBGohAQNAIAEQpQQgASgCACIHBEAgAUEEaigCACIJQQRrKAIAIgxBeHEhBSAFIAdByAFsIgdBBEEIIAxBA3EiDBtqSQ0MIAxBAEcgBSAHQSdqS3ENDSAJELwFCyABQRBqIQEgBEEBayIEDQALCyAQBEAgCkEEaygCACIEQXhxIQEgASAQQQR0IgVBBEEIIARBA3EiBBtySQ0KIARBAEcgASAFQSdqS3ENCyAKELwFCyAGKAKoDiIaBEBBACETA0ACQAJAIAYoAqgOIBNLBEAgE0HIAmwiGCAGKAKkDmoiASkDACIoQn5SBEAgKEIFUw0DIChC/////w+DQgVSDQMgASgCCEF/Rg0DIAZB4BBqIAZBoA5qIBNBARDWBiAGKALkECEFIAYoAuAQIRcgBigC6BAiAUUNAiAFIAFBAnRqIRwgBSEKAkACQANAIAooAgAiASAGKAK0Dk8NAiAGQZgUaiAGQaAOaiAGKAKwDiABQcgAbGooAkBBABDWBiAGKAKgFCIPQYCAgIABTw0KIAYoApgUIQ0gBigCnBQhBwJAIA9FBEBBACEPQQQhCUEAIQwMAQsgD0EDdBCQASIJRQ0XIA9BAnQhCEEAIQwgBigCsA4hEiAGKAK0DiEOIAkhASAHIQQDQCAEKAIAIhAgDk8NAyABQQRqIBIgEEHIAGxqKAJENgIAIAEgEDYCACABQQhqIQEgDEEBaiEMIARBBGohBCAIQQRrIggNAAsLIA0EQCAHQQRrKAIAIgRBeHEhASABIA1BAnQiCEEEQQggBEEDcSIEG2pJDRMgBEEARyABIAhBJ2pLcQ0UIAcQvAULIAwEQCAJIAxBA3RqIR0gCSEUA0AgFCgCBCEVQQAhECAGKAK0DiEWIAYoArAOIRkCQCAGKAKoDiIEIBNNDQAgFiAGKAKkDiAYaigCwAIiAU0NAANAIBUgGSABQcgAbGoiASgCREcEQCAWIAEoAjgiAUsNAQwCCwtBASEQCwJAAkAgBCAVSyIeRQ0AIAYoAqQOIBVByAJsaigCxAIiByAWTw0AIBkgB0HIAGxqKAI8IQECQEEQEJABIgQEQCAEIAc2AgAgBkEBNgKgFCAGIAQ2ApwUIAZBBDYCmBQgASAWTw0BQQAhB0EEIQwDQCAZIAFByABsaigCPCENIAdBAWoiCCAGKAKYFEYEQCAGQZgUaiAIQQFBBEEEELMRIAYoApwUIQQLIAQgDGogATYCACAGIAdBAmoiETYCoBQgDEEEaiEMIAghByAWIA0iAUsNAAsgBigCnBQhBCAGKAKYFCESIAdBFE8EQCAEIBEQwg8MBAsgBEEEaiEBAkAgCEEBcUUEQCABIQ4gBCEBDAELIAQoAgAiDCAEKAIEIg1LBEBBACEHAn8DQCAEIAdqQQRqIAw2AgAgBCAHRQ0BGiANIAdBBGsiByAEaiIOKAIAIgxJDQALIA5BBGoLIA02AgALIARBCGohDgsgCEEBRg0DIAQgEUECdGohHyAOQQRqIQ0DQCABKAIAIgcgDigCACIISwRAIA4hDAJ/A0AgDCAHNgIAIAQgASAERg0BGiAIIAEiDEEEayIBKAIAIgdJDQALIAFBBGoLIAg2AgALIA4oAgAiByAOKAIEIghLBEAgDSEBA0ACQCABIAc2AgAgAUEEayIMIARGBEAgBCEMDAELIAFBCGshByAMIQEgCCAHKAIAIgdJDQELCyAMIAg2AgALIA5BBGohASANQQhqIQ0gHyAOQQhqIg5HDQALDAMLDBsLQQEhEUEEIRIMAQtBBCEEQQAhEkEAIRELIBRBCGohFCARQQJ0IQdBACEMAkACQAJAA0AgByAMIgFHBEAgASAEaigCACIMIBZPDRggGSAMQcgAbGooAgAiCEF/Rg0CIAFBBGohDCAIQQNJDQEgCEEGcUEGRw0BCwsgEgRAIARBBGsoAgAiCEF4cSEMIAwgEkECdCINQQRBCCAIQQNxIggbakkNGCAIQQBHIAwgDUEnaktxDRkgBBC8BQsgEyAVRiAQcg0CIAEgB0cNAiAeRQ0VIAYoAqQOIBVByAJsaikDACIoQn5RDQEgKEL/////D4NCBVEgKEIFWXENAiAGQQM2ApgUIAZB2AVqIAZBoA5qIBMgFSAGQZgUahCiDSAGKALYBSIEQX5GDQIgBiAGKQLgBTcDmBkgBiAGKQLoBTcDoBkgBigC3AUhCCAPBEAgCSAPQQN0ENkSCyAXRQ0QIAUgF0ECdBDZEgwQC0HkkcYAEJ0VAAtBuKHGABCdFQALIBQgHUcNAAsLAkAgDwRAIAlBBGsoAgAiBEF4cSEBIAEgD0EDdCIHQQRBCCAEQQNxIgQbakkNASAEQQBHIAEgB0EnaktxDRUgCRC8BQsgHCAKQQRqIgpHDQEMBgsLDBELQaCfxgAQnRUAC0GQn8YAEJ0VAAtBqKHGABCdFQALDAsLIBdFDQAgBSAXQQJ0ENkSCyAaIBNBAWoiE0cNAAsLIAZBAToA3A4LIBsgBikC2A43AjwgGyAGKQLQDjcCNCAbIAYpAsgONwIsIBsgBikCwA43AiQgGyAGKQK4DjcCHCAbIAYpArAONwIUIBsgBikCqA43AgwgGyAGKQKgDjcCBCAbQQA2AgAMAgsQnhUACyAbIAg2AgwgGyAENgIIIBsgBikDmBk3AhAgGyAGKQOgGTcCGCAbQYmAgIB4NgI4IBtBATYCACAGQaAOahCaCAsgIBD3DyAGQbAZaiQADAoLEJ4VAAtB8LXJAEE3IAZBrxlqQfSWxgBBqLbJABDaEgALIAQgCkH8zcYAEIcTAAtBzKDGABCdFQALQbygxgAQnRUAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALQQgQpxQAC0EEEKcUAAsgCygCmAJFDQEgCyALKQPYAiIoNwKMAiALIAspA9ACIik3AoQCIAsgCykDyAIiKjcC/AEgCyALKQPAAiIrNwL0ASALIAspA7gCIiw3AuwBIAsgCykDsAIiLTcC5AEgCyALKQOoAiIuNwLcASALIAspA6ACIi83AtQBIAAgKDcCQCAAICk3AjggACAqNwIwIAAgKzcCKCAAICw3AiAgACAtNwIYIAAgLjcCECAAIC83AgggAEEBNgIAICIEQCAhIQADQCAAEK4IIABBkAFqIQAgIkEBayIiDQALCyAhQQRrKAIAIgFBeHEhACAAICNBkAFsIgRBBEEIIAFBA3EiARtySQ0NIAFBAEcgACAEQSdqS3ENDiAhELwFDAoLIAtBADYCoAIgC0KAgICAEDcCmAIgC0Hwh8gANgLkAiALQqCAgIAGNwLoAiALIAtBmAJqNgLgAiADQQxqIAtB4AJqIgEQPg0LIAsgCygCoAI2AtgBIAsgCykCmAI3A9ABIAsgC0HgAGqtQoCAgIDAAoQ3A+gCIAsgC0HQAWqtQoCAgIDAAoQ3A+ACIAtBxARqQfv6wQAgARC4DCALKALQASIBBEAgCygC1AEiBUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyABakkNDSAHQQBHIAQgAUEnaktxDQ4gBRC8BQsgACALKALMBDYCECAAIAspAsQENwIIIABBgICAgHg2AjggAEEBNgIAIAsQrggMCAsgCyALKQLUAiIoNwOIAiALIAspAswCIik3A4ACIAsgCykCxAIiKjcD+AEgCyALKQK8AiIrNwPwASALIAspArQCIiw3A+gBIAsgCykCrAIiLTcD4AEgCyALKQKkAiIuNwPYASALIAspApwCIi83A9ABIAsgLzcD8AMgCyAuNwP4AyALIC03A4AEIAsgLDcDiAQgCyArNwOQBCALICo3A5gEIAsgKTcDoAQgCyAoNwOoBCALIAspA4gCNwPIASALIAspA4ACNwPAASALIAspA/gBNwO4ASALIAspA/ABNwOwASALIAspA+gBNwOoASALIAspA+ABNwOgASALIAspA9gBNwOYASALIAspA9ABNwOQAUG07MkALQAAQQNHBEAgC0Go7MkANgLgAiALQeACaiEFIwBBEGsiASQAAkACQAJAQbTsyQAtAAAiB0ECTwRAIAdBA2sNAQwDC0G07MkAQQI6AAAgBSgCACEEIAVBADYCACAEBEAgB0EBRw0CEKkVAAtBgO/HABCdFQALQbTrxwBB8QBBkO/HABC/EwALIAFBBGogBCgCABEDACAEIAEoAgw2AgggBCABKQIENwIAQbTsyQBBAzoAAAsgAUEQaiQAC0Go7MkAKAIAQX9HBEBBuOzJAEG47MkAKAIAIgFBAWo2AgAgC0Go7MkANgKwBCALIAE2ArQEIAtBADYCoAIgC0KAgICAEDcCmAIgC0Hwh8gANgLkAiALQqCAgIAGNwLoAiALIAtBmAJqNgLgAiADQQxqIAtB4AJqIgEQPg0LIAsgCygCoAI2AtgBIAsgCykCmAI3A9ABIAsgC0HQAWqtQoCAgIDAAoQiKDcD8AIgCyALQbQEaq1CgICAgIABhDcD6AIgCyALQbAEaq1CgICAgJAChDcD4AIgC0G4BGpBl67AACABELgMIAsoAtABIgEEQCALKALUASIFQQRrKAIAIgdBeHEhBCAEQQRBCCAHQQNxIgcbIAFqSQ0NIAdBAEcgBCABQSdqS3ENDiAFELwFCwJAAkAgCygCmAEiB0UNACALKAKUASIBKQMAQn5RDQUgC0HwBGogC0GQAWpBACABEPwHIAsoAvAEQX9GDQAgCyALKAL4BDYC2AEgCyALKQLwBDcD0AEgB0EBayEEQQEhBSAHQQFHBEAgBBCQASIFRQ0HCyALQQA2AqACIAsgBTYCnAIgCyAENgKYAiALICg3A+ACIAtBmAJqQdyWxgBBz63AACALQeACaiIEELEJRQRAIAdBAUcEQCABQcgCaiEBIAStQoCAgIDAAoQhKEEBIQQDQCABKQMAQn5RDQogC0HgAmogC0GQAWogBCABEPwHIAsoAqACIgUgCygCmAJGBEAgC0GYAmogBUEBQQFBARCzESALKAKgAiEFCyALKAKcAiAFakEKOgAAIAsgBUEBajYCoAIgCyAoNwPgBCALQZgCakHclsYAQc+twAAgC0HgBGoQsQkNEyALKALgAiIFBEAgCygC5AIiCkEEaygCACIMQXhxIQkgCUEEQQggDEEDcSIMGyAFakkNEiAMQQBHIAkgBUEnaktxDRMgChC8BQsgAUHIAmohASAHIARBAWoiBEcNAAsLIAsgCygCoAI2AtgEIAsgCykCmAI3A9AEIAsoAtABIgFFDQIgCygC1AEiBUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyABakkNDyAHQQBHIAQgAUEnaktxDRAgBRC8BQwCCwwMCyALQQA2AtgEIAtCgICAgBA3A9AECwJAAkAgCygCpAEiB0UNACALIAsoAqABIgkpAkA3AugCIAtBADYC5AIgCyAJNgLgAiALQeAEaiAJIAcgC0HgAmoQ8AogCygC4ARBf0YNACALIAsoAugENgL4BCALIAspAuAENwPwBCAHQcgAbCIFQcgAa0HIAG4hAUEBIQQgB0EBRwRAIAEQkAEiBEUNCQsgC0EANgLYASALIAQ2AtQBIAsgATYC0AEgCyALQfAEaq1CgICAgMAChDcD4AIgC0HQAWpB3JbGAEHPrcAAIAtB4AJqELEJRQRAIAdBAUcEQCAFQcgAayEMIAtBmAJqrUKAgICAwAKEIShBACEBQQEhBANAIAsgASAJaiIFQYgBaikCADcC6AIgCyAENgLkAiALIAVByABqNgLgAiALQZgCaiAJIAcgC0HgAmoQ8AogCygC2AEiBSALKALQAUYEQCALQdABaiAFQQFBAUEBELMRIAsoAtgBIQULIAsoAtQBIAVqQQo6AAAgCyAFQQFqNgLYASALICg3A4AFIAtB0AFqQdyWxgBBz63AACALQYAFahCxCQ0TIAsoApgCIgUEQCALKAKcAiIIQQRrKAIAIg1BeHEhCiAKQQRBCCANQQNxIg0bIAVqSQ0SIA1BAEcgCiAFQSdqS3ENEyAIELwFCyAEQQFqIQQgDCABQcgAaiIBRw0ACwsgCyALKALYATYCoAIgCyALKQLQATcDmAIgCygC8AQiAUUNAiALKAL0BCIFQQRrKAIAIgdBeHEhBCAEQQRBCCAHQQNxIgcbIAFqSQ0PIAdBAEcgBCABQSdqS3ENECAFELwFDAILDAwLIAtBADYCoAIgC0KAgICAEDcDmAILIAsgC0GYAmqtQoCAgIDAAoQ3A+gCIAsgC0HQBGqtQoCAgIDAAoQ3A+ACIAtB0AFqQYSuwAAgC0HgAmoQuAwgCygCmAIiAQRAIAsoApwCIgVBBGsoAgAiB0F4cSEEIARBBEEIIAdBA3EiBxsgAWpJDQ0gB0EARyAEIAFBJ2pLcQ0OIAUQvAULIAsoAtAEIgEEQCALKALUBCIFQQRrKAIAIgdBeHEhBCAEQQRBCCAHQQNxIgcbIAFqSQ0NIAdBAEcgBCABQSdqS3ENDiAFELwFCyALKAK8BCEBIAsoAtABIgQEQCALKALUASIHQQRrKAIAIglBeHEhBSAFQQRBCCAJQQNxIgkbIARqSQ0NIAlBAEcgBSAEQSdqS3ENDiAHELwFCyALKAK4BCIEBEAgAUEEaygCACIHQXhxIQUgBUEEQQggB0EDcSIHGyAEakkNDSAHQQBHIAUgBEEnaktxDQ4gARC8BQtB0IjGACkDACIoQv8Bg0L/AVINBwsgACALKQOoBDcCPCAAIAspA6AENwI0IAAgCykDmAQ3AiwgACALKQOQBDcCJCAAIAspA4gENwIcIAAgCykDgAQ3AhQgACALKQP4AzcCDCAAIAspA/ADNwIEIABBADYCAAwHCwwNC0GkncYAEJ0VAAtBzJbGABCdFQALQQEQpxQAC0HMlsYAEJ0VAAtBARCnFAALIAsgKDcD4AJBiLDJAEErIAtB4AJqQdySxgBBtJ3GABDaEgALICIEQCAhIQADQCAAEK4IIABBkAFqIQAgIkEBayIiDQALCyAhQQRrKAIAIgFBeHEhACAAICNBkAFsIgRBBEEIIAFBA3EiARtySQ0DIAFBAEcgACAEQSdqS3FFBEAgIRC8BQwBCwwECyADQQxqEMMCIAMoAjAiASgCACEAIAEgAEEBazYCACAAQQFGBEAgA0EwahC2CAsgAhCmBiALQZAFaiQADwtBiLDJAEErIAtBjwVqQfSWxgBBwLbJABDaEgALQfC1yQBBNyALQY8FakGIiMgAQai2yQAQ2hIAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBiLDJAEErIAtBjwVqQfSWxgBBtLDJABDaEgALQbjwyQBBAToAAAALlR8BBX8jAEEwayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEgECAwQFBgcICQoLDA0ODxAREgALQQEhBCABKAIAIgNByPHFAEEFIAEoAgQiBigCDCIFEQAADRIgAEEEaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0UIAAgARD0DkUNAQwUCyADQZ3jwgBBAiAFEQAADRMgAkEBOgAMIAIgBjYCGCACIAM2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahD0Dg0TIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEEDBILQQEhBCABKAIAIgNBzfHFAEEFIAEoAgQiBigCDCIFEQAADREgAEEIaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0TIAAgARD1DkUNAQwTCyADQZ3jwgBBAiAFEQAADRIgAkEBOgAMIAIgBjYCGCACIAM2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahD1Dg0SIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEEDBELQQEhBCABKAIAIgNBjJrJAEEFIAEoAgQiBigCDCIFEQAADRAgAEEEaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0SIAAgARCnCkUNAQwSCyADQZ3jwgBBAiAFEQAADREgAkEBOgAMIAIgBjYCGCACIAM2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCnCg0RIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEEDBALQQEhBCABKAIAIgNB0vHFAEEGIAEoAgQiBigCDCIFEQAADQ8gAEEIaiEAAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0RIAAgARCoCkUNAQwRCyADQZ3jwgBBAiAFEQAADRAgAkEBOgAMIAIgBjYCGCACIAM2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCoCg0QIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEEDA8LIAIgAEEEajYCDEEBIQQgASgCACIAQdjxxQBBBCABKAIEIgUoAgwiAxEAAA0OAkAgAS0ACkGAAXFFBEAgAEG0z8UAQQEgAxEAAA0QIAJBDGogARD6D0UNAQwQCyAAQZ3jwgBBAiADEQAADQ8gAkEBOgATIAIgBTYCGCACIAA2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBE2o2AhwgAiACQRRqIgA2AiAgAkEMaiACQSBqEPoPDQ8gAEGkssgAQQIQ/QgNDwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEEDA4LIAIgAEEQajYCICABQeuZyQBBBCAAQQRqQe8BIAJBIGpB8AEQ8gwhBAwNCyACIABBBGo2AiAgAUHc8cUAQQkgAEEcakHxASACQSBqQfABEPIMIQQMDAtBASEEIAEoAgAiA0GRmskAQQUgASgCBCIGKAIMIgURAAANCyAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQ0gACABEKEPRQ0BDA0LIANBnePCAEECIAURAAANDCACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEKEPDQwgAigCIEGkssgAQQIgAigCJCgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCwtBASEEIAEoAgAiA0HkmckAQQcgASgCBCIGKAIMIgURAAANCiAAQQFqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQwgACABEIUORQ0BDAwLIANBnePCAEECIAURAAANCyACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQhQ4NCyADQaSyyABBAhD9CA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCgtBASEEIAEoAgAiA0G80MYAQQQgASgCBCIGKAIMIgURAAANCSAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQsgACABENQMRQ0BDAsLIANBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQ1AwNCiADQaSyyABBAhD9CA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCQtBASEEIAEoAgAiA0HbkMkAQQUgASgCBCIGKAIMIgURAAANCCAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQogACABEJIFRQ0BDAoLIANBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEJIFDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMCAtBASEEIAEoAgAiA0Hl8cUAQQcgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQkgACABEL8ORQ0BDAkLIANBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQvw4NCCADQaSyyABBAhD9CA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBwtBASEEIAEoAgAiA0H2mckAQQQgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQggACABEKIPRQ0BDAgLIANBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEKIPDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBgsgAiAAQQRqNgIMQQEhBCABKAIAIgBB7PHFAEEDIAEoAgQiBSgCDCIDEQAADQUCQCABLQAKQYABcUUEQCAAQbTPxQBBASADEQAADQcgAkEMaiABEPoPRQ0BDAcLIABBnePCAEECIAMRAAANBiACQQE6ABMgAiAFNgIYIAIgADYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGoiADYCICACQQxqIAJBIGoQ+g8NBiAAQaSyyABBAhD9CA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBQtBASEEIAEoAgAiA0HymckAQQQgASgCBCIGKAIMIgURAAANBCAAQQFqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQYgACABEPoORQ0BDAYLIANBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQ+g4NBSADQaSyyABBAhD9CA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMBAtBASEEIAEoAgAiA0GEmskAQQggASgCBCIGKAIMIgURAAANAyAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgACABEKoNRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQqg0NBCADQaSyyABBAhD9CA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMAwtBASEEIAEoAgAiA0Hv8cUAQQQgASgCBCIGKAIMIgURAAANAiAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgACABEKQQRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAAIAJBIGoQpBANAyADQaSyyABBAhD9CA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQQMAgtBASEEIAEoAgAiA0Hz8cUAQQQgASgCBCIGKAIMIgURAAANASAAQQRqIQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgACAB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AWo2AgQLIAEoAowBIgIgASgCiAEiDEYEQCABKAIgIQsgASgCLCEJCyABKAIUIQgCQCABLQCQAUECRwRAIAghBQwBCyAIIQUgAS0AkQFFDQAgASgCDCAFRgRAIAFBDGoQmhILIAEoAhAgCEEUbGoiBSAMNgIIIAVBADYCBCAFQQA6AAAgASAIQQFqIgU2AhQgASgCjAEhAgsgAiAMRgRAIAEoAiwgASgCIGohDQsgASgCeCEPIAEoAlwhEAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBCABKAIIIgZPDQUgASAEQQFqIgI2AgQgAyABKAKIATYCmAEgAyABKQKAATcDkAEgAiAGTw0EIAEgBEECaiIHNgIEIAMgAUGAAWoiAigCCDYCqAEgAyACKQIANwOgASAGIAdNDQMgASAEQQNqIgc2AgQgAyACKAIINgK4ASADIAIpAgA3A7ABIAYgB00NAiABIARBBGo2AgQMAQsgAyABKAKIATYCmAEgAyABKQKAATcDkAEgAyABKAKIATYCqAEgAyABKQKAATcDoAEgAyABKAKIATYCuAEgAyABKQKAATcDsAEgAUGAAWohAgsgASABLQCQASIGQQFHOgCQASADIAIoAgg2AsgBIAMgAikCADcDwAEgASgCOCECIAEoAlAiBCABKAJIRgRAIAFByABqEJYSCyABIARBAWo2AlAgASgCTCAEQQN0aiIEIAI2AgQgBCACNgIAIANBiAFqIAEQrgsgAygCiAEgAygCjAEiASADKALIATYCiAEgASADKQPAATcCgAEgASAGOgCQASABQTBqEIYKQQFHDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIGNgIEIAQgBk0NASABIAJBAmo2AgQLIAFBADoAkQEgA0GAAWogARCUCiADKAKAASADKAKEASIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HwAGogARCUCiADKAJ0IQEgAygCcCECDAELIAFBADoAkQEgA0H4AGogARCUCiADKAJ4IQIgAygCfCIBIAQ6AJEBCyACQQFHDQALCyABKAKEASECIAEoAoABIQQCQCABKAKIASIGRQ0AIAIgBk0EQCACIAZGDQEMBwsgBCAGaiwAAEFASA0GCyACIAZGDQBBASECAkAgBCAGaiIELAAAIgdBAE4NACAELQABQT9xIQ4gB0EfcSEKAn8gCkEGdCAOciAHQWBJDQAaIAQtAAJBP3EgDkEGdHIhDiAOIApBDHRyIAdBcEkNABogCkESdEGAgPAAcSAELQADQT9xIA5BBnRycgsiBEGAAUkNAEECIQIgBEGAEEkNAEEDQQQgBEGAgARJGyECCyABIAIgBmo2AogBAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAyABIAJBAWoiBjYCBCAEIAZNDQEgASACQQJqNgIECyABQQA6AJEBIANB6ABqIAEQlAogAygCaCADKAJsIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQdgAaiABEJQKIAMoAlwhASADKAJYIQIMAQsgAUEAOgCRASADQeAAaiABEJQKIAMoAmAhAiADKAJkIgEgBDoAkQELIAJBAUcNAAsLAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBiABKAIIIgdPDQYgASAGQQFqIgI2AgQgAiAHTw0GIAEoAhQhBCABIAZBAmoiAjYCBCACIAdPDQMgASAGQQNqIgo2AgQgAyABQYABaiICKAIINgK4ASADIAIpAgA3A7ABIAcgCk0NAiABIAZBBGo2AgQMAQsgASgCFCEEIAMgASgCiAE2ArgBIAMgASkCgAE3A7ABIAFBgAFqIQILIAEgAS0AkAEiB0EBRzoAkAEgAyACKAIINgLIASADIAIpAgA3A8ABIAEoAjghAiABKAJQIgYgASgCSEYEQCABQcgAahCWEgsgASAGQQFqNgJQIAEoAkwgBkEDdGoiBiACNgIEIAYgAjYCACADQdAAaiABEK4LIAMoAlAgAygCVCIBIAMoAsgBNgKIASABIAMpA8ABNwKAASABIAc6AJABIAFBMGoQhgpBAUcNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgZPDQIgASACQQFqIgc2AgQgBiAHTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQcgAaiABEJQKIAMoAkggAygCTCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgZFBEAgA0E4aiABEJQKIAMoAjwhASADKAI4IQIMAQsgAUEAOgCRASADQUBrIAEQlAogAygCQCECIAMoAkQiASAGOgCRAQsgAkEBRw0ACwsgASgChAEhAiABKAKAASEHAkAgASgCiAEiBkUNACACIAZNBEAgAiAGRg0BDAQLIAYgB2osAABBQEgNAwsgAiAGRg0AIAECf0EBIAYgB2oiBCwAACIHQQBODQAaIAQtAAFBP3EhCiAHQR9xIQICfyACQQZ0IApyIAdBYEkNABogBC0AAkE/cSAKQQZ0ciEKIAogAkEMdHIgB0FwSQ0AGiACQRJ0QYCA8ABxIAQtAANBP3EgCkEGdHJyCyEEQQEgBEGAAUkNABpBAiAEQYAQSQ0AGkEDQQQgBEGAgARJGwsgBmo2AogBIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLIANBMGogARDQBCADKAI0IQEgAygCMEEBcQ0BA0AgA0EoaiABENAEIAMoAiwhASADKAIoQQFxRQ0ACwwBCyABIAMoArgBNgKIASABIAMpA7ABNwKAASAEIAEoAhRLDQAgASAENgIUCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQUgASACQQFqIgY2AgQgBCAGTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQSBqIAEQlAogAygCICADKAIkIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQRBqIAEQlAogAygCFCEBIAMoAhAhAgwBCyABQQA6AJEBIANBGGogARCUCiADKAIYIQIgAygCHCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQQgASACQQFqNgIECyADQQhqIAEQrgsCQCADKAIMIgEtAJABIgVBAUYEfyABLQCRAUUNAQJAIAwgASgCjAEiBUYEQCANIAEoAiwiBSABKAIgIgJqIgRJIAQgDWtBAUZxDQMgAiALTwRAIAEgCzYCIAsgBSAJSQ0BIAEgCTYCLCAJIQUMAQsgBSAMTw0CIAEgDDYCjAFBACEFIAFBADYCLCABQQA2AiALIAEoAiQgBUYEQCABQSRqEKMSCyABKAIoIAVqQTE6AAAgASAFQQFqNgIsIAEtAJABBSAFC0H/AXFBAkcNACABLQCRAUUNAAJAIAggASgCFCIFSQRAIAEoAhAgCEEUbGoiCS0AAA0BIAkgBTYCBCABKAKIASELIAEoAhQiCSABKAIMRgRAIAFBDGoQmhILIAEoAhAgCUEUbGoiBSALNgIQIAVBADYCCCAFIAg2AgQgBUGB4gA7AQAgASAJQQFqNgIUDAILIAggBUGcisgAEIUTAAtBoKvJAEEoQayKyAAQrxQAC0EAIQUgAS0AfEUNBSABLQCRAUUNBSABQdQAakExIBBBACABKAJ4IA9NGxCTBQwFCyAHIAIgBiACQcyLyAAQ/RQACyABIAMoArgBNgKIASABIAMpA7ABNwKAASAFIAEoAhRLDQAgASAFNgIUCyABIAMoAqgBNgKIASABIAMpA6ABNwKAASAFIAEoAhRLDQAgASAFNgIUCyABIAMoApgBNgKIASABIAMpA5ABNwKAASAFIAEoAhRLDQAgASAFNgIUC0EBIQUgAS0AkAFBAUYNAAJAIAEtAJEBRQ0AAkAgDCABKAKMASIFRgRAIA0gASgCICIFIAEoAiwiAmoiBEkgBCANa0EBRnENAiAFIAtPBEAgASALNgIgIAshBQsgAiAJSQ0BIAEgCTYCLAwBCyAFIAxPDQEgASAMNgKMAUEAIQUgAUEANgIsIAFBADYCIAsgASgCGCAFRgRAIAFBGGoQoxILIAEgBUEBajYCICABKAIcIAVqQTE6AAALQQEhBQJAIAEtAHxBAUcNACABLQCRAUUNACABQdQAakExIBBBACABKAJ4IA9NGxCTBQsgAS0AkAFBAkcNACABLQCRAUUNACAIIAEoAhRLDQAgASAINgIUCyAAIAE2AgQgACAFNgIAIANB0AFqJAAPCyAEIAIgBiACQcyLyAAQ/RQAC9cYAiR/CH4jAEHgAmsiBSQAIAVBADYCFCAFQoCAgICAATcCDCAFQRhqIAIQ+Q0gBSgCICEXIAUoAhghGAJAAkACQAJAAkAgBSgCHCICIAUoAiQiFEYEQCACIQsMAQsgAkHYAGohDyAUIAJrQdgAayEaIARBDGwiFUEnaiEhIAVBsAJqIR4gBUHoAWpBAXIhIiAFQYABaiERIAVBKGpBBHIhIwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkADQCACQdgAaiELIAIoAgAiBkF/Rg0PIAIoAkwhFiACKAJIIRIgAigCUCEfICMgAkEEakHEAPwKAAAgBSAGNgIoIAVB8ABqIAEQ8QogBSgCdCIIIAUoAnAiG0GgAmoiJCgCACICSQRAIAUoAngiCSAIQSRsIhwgG0GcAmoiJSgCAGoiAkEgaigCACIGTw0CIAlB1ABsIhkgAkEcaigCAGoiAigCAEGAgICAeEcNAwJAIAIoAiQiBgRAIAIoAiAiICAGQdwAbGohJkEAIQwgG0HQAGohJwNAICQoAgAiAiAITQ0VICUoAgAgHGoiAkEgaigCACIGIAlNDQcgAkEcaigCACAZaiICKAIAQYCAgIB4Rw0IIAIoAiQiBiAMTQ0JAkAgDEHcAGwiKCACKAIgaigCAA0AIAUoAnAiCigCACECIAogAkEBajYCACACQQBIDQsCQAJAIBsoAkwiE0UNACAnKAIAIR0DQCATQQxqIRAgE0EEaiECIBMvAaYIIg1BDGwhBkF/IQcCQANAIAZFBEAgDSEHDAILIAIoAgQiDiAJSSAJIA5JayACKAIAIg4gCEkgCCAOSWsgCCAORhsiDkH/AXFFBEAgECgCACIOIAxJIAwgDklrIQ4LIAJBDGohAiAGQQxrIQYgEEEMaiEQIAdBAWohByAOQQFGDQALIA5B/wFxRQ0DCyAdRQ0BIB1BAWshHSATIAdBAnRqKAKoCCETDAALAAtB1LnEAEEWQYS+xAAQwBMACyAKQaACaigCACECAkAgEyAHQdQAbGotANABIgYEQCACIAhNDRggCkGcAmooAgAgHGoiAkEgaigCACIHIAlNDQ4gGSACQRxqKAIAIgJqIgcoAgBBgICAgHhHDQ8gBygCJCIHIAxLDQEgDCAHQaS+xAAQhRMACyACIAhNDRcgCkGcAmooAgAgHGoiAkEgaigCACIHIAlNDQ8gGSACQRxqKAIAIgJqIgcoAgBBgICAgHhHDRAgBygCJCIHIAxNDRELIB8gAiAZaigCICAoaiICKAIkRgRAIAIoAiAgFiAfEI8TRQ0ECyAKIAooAgAiAkEBazYCACACQQFHDQAgChAwCyAMQQFqIQwgJiAgQdwAaiIgRw0ACwtBhLDGABCdFQALIAUgCjYCkAEgBSAMNgKMASAFIAk2AogBIAUgCDYChAEgBUEBNgKAASAFQQFBAiAGGzYCfAJAAkACQCAGBEAgBUGUAWogERCADiAREK0QDQEgBUHoAWogESAFQShqEKkDIAogCigCACICQQFrNgIAIAJBAUYNAgwDCyAFQZQBaiAREIAOAkAgBARAIBUQkAEiB0UNEkEAIQYgAyECA0AgBiAVRwRAAkAgAkEIaigCACINRQRAQQEhEAwBCyACQQRqKAIAIQggDRCQASIQRQ0WIA1FDQAgECAIIA38CgAACyACQQxqIQIgBiAHaiIIIA02AgAgCEEIaiANNgIAIAhBBGogEDYCACAGQQxqIgYgFUcNAQsLIAUgBDYCyAIgBSAHNgLEAiAFIAQ2AsACIAVB6AFqIBEgBUEoaiAFQcACahBmIAchAiAEIQYDQCACKAIAIg0EQCACQQRqKAIAIgxBBGsoAgAiCUF4cSEIIAhBBEEIIAlBA3EiCRsgDWpJDRogCUEARyAIIA1BJ2pLcQ0bIAwQvAULIAJBDGohAiAGQQFrIgYNAAsgB0EEaygCACIGQXhxIQIgAkEEQQggBkEDcSIGGyAVakkNGCAGQQBHIAIgIUtxDRkgBxC8BQwBCyAFQQA2AsgCIAVCgICAgMAANwLAAiAFQegBaiARIAVBKGogBUHAAmoQZgsgCiAKKAIAIgJBAWs2AgAgAkEBRg0BDAILIAVB6AFqIAVBKGoQ0wQgCiAKKAIAIgJBAWs2AgAgAkEBRw0BCyAKEDALIAUtAOgBIgdB/gFGBEAgBSAFKQOoAiIpNwDgASAFIAUpA6ACIio3ANgBIAUgBSkDmAIiKzcA0AEgBSAFKQOQAiIsNwDIASAFIAUpA4gCIi03AMABIAUgBSkDgAIiLjcAuAEgBSAFKQP4ASIvNwCwASAFIAUpA/ABIjA3AKgBIAAgKTcAQCAAICo3ADggACArNwAwIAAgLDcAKCAAIC03ACAgACAuNwAYIAAgLzcAECAAIDA3AAggAEH+AToAACAFKAKUASIABEAgBSgCmAEiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNFSADQQBHIAEgAEEnaktxDRYgAhC8BQsgBSgCcCIBKAIAIQAgASAAQQFrNgIAIABBAUYEQCAFKAJwEDALIBJBAWtBfU0EQCAWQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIBJqSQ0VIAFBAEcgACASQSdqS3ENFiAWELwFCyALIBRHBEAgGkHYAG4hBgNAAkAgD0HIAGooAgAiAEF/Rg0AIABFDQAgD0HMAGooAgAiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNFyADQQBHIAEgAEEnaktxDRggAhC8BQsgDxCuByAPQdgAaiEPIAZBAWsiBg0ACwsgFwRAIBhBBGsoAgAiAUF4cSEAIAAgF0HYAGwiAkEEQQggAUEDcSIBG2pJDRUgAUEARyAAIAJBJ2pLcQ0WIBgQvAULIAUoAhAhACAFKAIUIgYEQCAAIQIDQCACKAIAIgEEQCACQQRqKAIAIgRBBGsoAgAiC0F4cSEDIANBBEEIIAtBA3EiCxsgAWpJDRcgC0EARyADIAFBJ2pLcQ0YIAQQvAULIAJBEGoQ3xAgAkHoAGohAiAGQQFrIgYNAAsLIAUoAgwiAkUNEiAAQQRrKAIAIgNBeHEhASABIAJB6ABsIgJBBEEIIANBA3EiAxtqSQ0UIANBAEcgASACQSdqS3ENECAAELwFDBILIAVBoQFqIgIgIkHHAPwKAAAgBSAeKQMINwPIAiAFIB4pAwA3A8ACIAVB6AFqIAJBxwD8CgAAIAUoAhQiBiAFKAIMRgRAIAVBDGoQphILIAUoAhAgBkHoAGxqIgIgBSkClAE3AgAgAiAFKAKcATYCCCACIAc6ABAgAkERaiAFQegBakHHAPwKAAAgAiAFKQPIAjcDYCACIAUpA8ACNwNYIAUgBkEBajYCFCAFKAJwIgYoAgAhAiAGIAJBAWs2AgAgAkEBRgRAIAUoAnAQMAsgEkEBa0F9TQRAIBZBBGsoAgAiBkF4cSECIAJBBEEIIAZBA3EiBhsgEmpJDRQgBkEARyACIBJBJ2pLcQ0VIBYQvAULIA9B2ABqIQ8gGkHYAGshGiAUIAsiAkYNEAwBCwsgCCACQfS4xAAQhRMACyAJIAZB9LjEABCFEwALQfS4xAAQnRUACyAJIAZBlL7EABCFEwALQZS+xAAQnRUACyAMIAZBpL7EABCFEwsACyAJIAdBlL7EABCFEwALQZS+xAAQnRUACyAJIAdBlL7EABCFEwALQZS+xAAQnRUACyAMIAdBpL7EABCFEwALQQQQpxQAC0EBEKcUAAsMBAsgFCALa0HYAG4hBiALIBRHBEADQAJAIAtByABqKAIAIgFBf0YNACABRQ0AIAtBzABqKAIAIgNBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQUgBEEARyACIAFBJ2pLcQ0GIAMQvAULIAsQrgcgC0HYAGohCyAGQQFrIgYNAAsLIBcEQCAYQQRrKAIAIgJBeHEhASABIBdB2ABsIgNBBEEIIAJBA3EiAhtqSQ0DIAJBAEcgASADQSdqS3ENBCAYELwFCyAAQQM6AAAgBSAFKQIMNwDUAiAAIAUpANECNwABIAUgBSgCFDYA3AIgACAFKQDYAjcACAsgBUHgAmokAA8LIAggAkGUvsQAEIUTAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALwRQBC38CQAJAAkAgACgC+AEiBUF+Rg0AIAVBf0YNACAAKAL8ASEEIAAoAoACIgIEQCAEIQEDQCABEM0BAkAgAUHQAGooAgAiA0F+Rg0AIANBf0YNACADRQ0AIAFB1ABqKAIAIgZBBGsoAgAiCEF4cSEHIAdBBEEIIAhBA3EiCBsgA2pJDQUgCEEARyAHIANBJ2pLcQ0EIAYQvAULIAFB4ABqIQEgAkEBayICDQALCyAFRQ0AIARBBGsoAgAiAkF4cSEBIAEgBUHgAGwiA0EEQQggAkEDcSICG3JJDQIgAkEARyABIANBJ2pLcQ0BIAQQvAULIAAoArQBIQQgACgCuAEiAgRAIAQhAQNAIAEQyQIgAUE0aiEBIAJBAWsiAg0ACwsgACgCsAEiAgRAIARBBGsoAgAiA0F4cSEBIAEgAkE0bCICQQRBCCADQQNxIgMbakkNAiADQQBHIAEgAkEnaktxDQEgBBC8BQsgACgCwAEhBCAAKALEASICBEAgBCEBA0AgARDNAQJAIAFB0ABqKAIAIgNBfkYNACADQX9GDQAgA0UNACABQdQAaigCACIHQQRrKAIAIgZBeHEhBSAFQQRBCCAGQQNxIgYbIANqSQ0EIAZBAEcgBSADQSdqS3ENAyAHELwFCyABQeAAaiEBIAJBAWsiAg0ACwsgACgCvAEiAgRAIARBBGsoAgAiA0F4cSEBIAEgAkHgAGwiAkEEQQggA0EDcSIDG3JJDQIgA0EARyABIAJBJ2pLcQ0BIAQQvAULIAAoAgBBf0cEQCAAEPUFCyAAKALMASEEIAAoAtABIgIEQCAEIQEDQCABEM0BAkAgAUHQAGooAgAiA0F+Rg0AIANBf0YNACADRQ0AIAFB1ABqKAIAIgdBBGsoAgAiBkF4cSEFIAVBBEEIIAZBA3EiBhsgA2pJDQQgBkEARyAFIANBJ2pLcQ0DIAcQvAULIAFB6ABqIQEgAkEBayICDQALCyAAKALIASICBEAgBEEEaygCACIDQXhxIQEgASACQegAbCICQQRBCCADQQNxIgMbakkNAiADQQBHIAEgAkEnaktxDQEgBBC8BQsgACgC2AEhBCAAKALcASICBEAgBCEBA0AgARDNAQJAIAFB0ABqKAIAIgNBfkYNACADQX9GDQAgA0UNACABQdQAaigCACIHQQRrKAIAIgZBeHEhBSAFQQRBCCAGQQNxIgYbIANqSQ0EIAZBAEcgBSADQSdqS3ENAyAHELwFCyABQeAAaiEBIAJBAWsiAg0ACwsgACgC1AEiAgRAIARBBGsoAgAiA0F4cSEBIAEgAkHgAGwiAkEEQQggA0EDcSIDG3JJDQIgA0EARyABIAJBJ2pLcQ0BIAQQvAULIAAoAhBBf0cEQCAAQRBqEPUFCwJAIAAoAiAiAUF9Rg0AIABBMGoQ2QQgAUEATA0AIAAoAiQiAkEEaygCACIDQXhxIQQgBEEEQQggA0EDcSIDGyABakkNAiADQQBHIAQgAUEnaktxDQEgAhC8BQsCQCAAKAJoIgFBfUYNACAAQfgAahDZBCABQQBMDQAgACgCbCICQQRrKAIAIgNBeHEhBCAEQQRBCCADQQNxIgMbIAFqSQ0CIANBAEcgBCABQSdqS3ENASACELwFCyAAKALkASEHIAAoAugBIgsEQEEAIQYDQCAHIAZBzABsaiIDQQRqEMkCAkACQAJAAkACQAJAIAMoAjgOBAABAgMFCyADKAJAIQQgAygCRCICBEAgBCEBA0AgARDNAQJAIAFB0ABqKAIAIgVBfkYNACAFQX9GDQAgBUUNACABQdQAaigCACIKQQRrKAIAIglBeHEhCCAIQQRBCCAJQQNxIgkbIAVqSQ0LIAlBAEcgCCAFQSdqS3ENCiAKELwFCyABQeAAaiEBIAJBAWsiAg0ACwsgAygCPCICRQ0EIARBBGsoAgAiA0F4cSEBIAEgAkHgAGwiAkEEQQggA0EDcSIDG3JJDQggA0UNAyABIAJBJ2pNDQMMBwsgAygCQCEEIAMoAkQiAgRAIAQhAQNAIAEQzQECQCABQdAAaigCACIFQX5GDQAgBUF/Rg0AIAVFDQAgAUHUAGooAgAiCkEEaygCACIJQXhxIQggCEEEQQggCUEDcSIJGyAFakkNCiAJQQBHIAggBUEnaktxDQkgChC8BQsgAUHgAGohASACQQFrIgINAAsLIAMoAjwiAkUNAyAEQQRrKAIAIgNBeHEhASABIAJB4ABsIgJBBEEIIANBA3EiAxtySQ0HIANFDQIgASACQSdqTQ0CDAYLIAMoAjwiBBDNAQJAIAQoAlAiAUF+Rg0AIAFBf0YNACABRQ0AIAQoAlQiA0EEaygCACIFQXhxIQIgAkEEQQggBUEDcSIFGyABakkNByAFQQBHIAIgAUEnaktxDQYgAxC8BQsgBEEEaygCACIBQQNxIQIgAUF4cUHkAEHoACACG0kNBiACRQ0BIAFBiAFJDQEMBQsgAygCPCIEEM0BAkAgBCgCUCIBQX5GDQAgAUF/Rg0AIAFFDQAgBCgCVCIDQQRrKAIAIgVBeHEhAiACQQRBCCAFQQNxIgUbIAFqSQ0GIAVBAEcgAiABQSdqS3ENBSADELwFCyAEQQRrKAIAIgFBA3EhAiABQXhxQeQAQegAIAIbSQ0FIAJFDQAgAUGIAU8NBAsgBBC8BQsgCyAGQQFqIgZHDQALCyAAKALgASIEBEAgB0EEaygCACICQXhxIQEgASAEQcwAbCIEQQRBCCACQQNxIgIbakkNAiACQQBHIAEgBEEnaktxDQEgBxC8BQsgACgC8AEhBSAAKAL0ASILBEBBACEHA0ACQCAFIAdBBXRqIgMoAhQiAUF/Rg0AIAFFDQAgAygCGCICQQRrKAIAIgZBeHEhBCAEQQRBCCAGQQNxIgYbIAFqSQ0EIAZBAEcgBCABQSdqS3ENAyACELwFCyADKAIMIQQgAygCECICBEAgBCEBA0ACQCABKAIAIgZBf0YNACAGRQ0AIAFBBGooAgAiCkEEaygCACIJQXhxIQggCEEEQQggCUEDcSIJGyAGakkNBiAJQQBHIAggBkEnaktxDQUgChC8BQsgAUEMaiEBIAJBAWsiAg0ACwsgAygCCCICBEAgBEEEaygCACIGQXhxIQEgASACQQxsIgJBBEEIIAZBA3EiBhtqSQ0EIAZBAEcgASACQSdqS3ENAyAEELwFCyADEOcFIAsgB0EBaiIHRw0ACwsgACgC7AEiBARAIAVBBGsoAgAiAkF4cSEBIAEgBEEFdCIEQQRBCCACQQNxIgIbckkNAiACQQBHIAEgBEEnaktxDQEgBRC8BQsCQCAAKAKEAiIBQX5GDQAgAUF/Rg0AIAFFDQAgACgCiAIiBEEEaygCACICQXhxIQAgAEEEQQggAkEDcSICGyABakkNAiACQQBHIAAgAUEnaktxDQEgBBC8BQsPC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAv2HQEFfyMAQTBrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAtBASEDIAEoAgAiBEHvkckAQQYgASgCBCIGKAIMIgURAAANESAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRMgACABELILRQ0BDBMLIARBnePCAEECIAURAAANEiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDRIgAigCIEGkssgAQQIgAigCJCgCDBEAAA0SCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEQtBASEDIAEoAgAiBEHIlskAQQkgASgCBCIGKAIMIgURAAANECAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRIgACABELILRQ0BDBILIARBnePCAEECIAURAAANESACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDREgAigCIEGkssgAQQIgAigCJCgCDBEAAA0RCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEAtBASEDIAEoAgAiBEGhkskAQQggASgCBCIGKAIMIgURAAANDyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADREgACABELILRQ0BDBELIARBnePCAEECIAURAAANECACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDRAgAigCIEGkssgAQQIgAigCJCgCDBEAAA0QCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDwtBASEDIAEoAgAiBEHRlskAQQsgASgCBCIGKAIMIgURAAANDiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRAgACABELILRQ0BDBALIARBnePCAEECIAURAAANDyACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ8gAigCIEGkssgAQQIgAigCJCgCDBEAAA0PCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDgtBASEDIAEoAgAiBEHclskAQQogASgCBCIGKAIMIgURAAANDSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ8gACABELILRQ0BDA8LIARBnePCAEECIAURAAANDiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ4gAigCIEGkssgAQQIgAigCJCgCDBEAAA0OCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDQtBASEDIAEoAgAiBEHmlskAQQ0gASgCBCIGKAIMIgURAAANDCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABELILRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQ0gAigCIEGkssgAQQIgAigCJCgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHzlskAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABELILRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQwgAigCIEGkssgAQQIgAigCJCgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEH7lskAQQsgASgCBCIGKAIMIgURAAANCiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELILRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQsgAigCIEGkssgAQQIgAigCJCgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGGl8kAQQggASgCBCIGKAIMIgURAAANCSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABELILRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQogAigCIEGkssgAQQIgAigCJCgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQtBASEDIAEoAgAiBEGOl8kAQRAgASgCBCIGKAIMIgURAAANCCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQogACABELILRQ0BDAoLIARBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGel8kAQQsgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABELILRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEGpl8kAQRMgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABELILRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqELILDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEG8l8kAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEMgIRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqEMgIDQYgAigCIEGkssgAQQIgAigCJCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEG+l8kAQQUgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgACABEMgIRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIUIAIgBDYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCGCACIAJBEGo2AiAgACACQSBqEMgIDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgAiAAQQRqNgIMQQEhAyABKAIAIgBBw5fJAEELIAEoAgQiBSgCDCIEEQAADQMCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQUgAkEMaiABEI4LRQ0BDAULIABBnePCAEECIAQRAAANBCACQQE6AB8gAiAFNgIUIAIgADYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqEI4LDQQgAigCIEGkssgAQQIgAigCJCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAwsgAiAAQQRqNgIgIAFBzpfJAEEGIABBEGpBtgEgAkEgakG3ARDyDCEDDAILIAIgAEEEajYCICABQdSXyQBBCSAAQRBqQbYBIAJBIGpBtwEQ8gwhAwwBC0EBIQMgAiAAQQFqNgIMIAEoAgAiAEH8kckAQQUgASgCBCIFKAIMIgQRAAANAAJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANAiACQQxqIAEQkxRFDQEMAgsgAEGd48IAQQIgBBEAAA0BIAJBAToAHyACIAU2AhQgAiAANgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQaiIANgIgIAJBDGogAkEgahCTFA0BIABBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwsgAkEwaiQAIAML7R0BBX8jAEEwayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAAQQFrDhEBAgMEBQYHCAkKCwwNDg8QEQALQQEhAyABKAIAIgRB75HJAEEGIAEoAgQiBigCDCIFEQAADREgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0TIAAgARCBDEUNAQwTCyAEQZ3jwgBBAiAFEQAADRIgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0SIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDBELQQEhAyABKAIAIgRByJbJAEEJIAEoAgQiBigCDCIFEQAADRAgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0SIAAgARCBDEUNAQwSCyAEQZ3jwgBBAiAFEQAADREgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0RIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDBALQQEhAyABKAIAIgRBoZLJAEEIIAEoAgQiBigCDCIFEQAADQ8gAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0RIAAgARCBDEUNAQwRCyAEQZ3jwgBBAiAFEQAADRAgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0QIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANEAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDA8LQQEhAyABKAIAIgRB0ZbJAEELIAEoAgQiBigCDCIFEQAADQ4gAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0QIAAgARCBDEUNAQwQCyAEQZ3jwgBBAiAFEQAADQ8gAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0PIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANDwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDA4LQQEhAyABKAIAIgRB3JbJAEEKIAEoAgQiBigCDCIFEQAADQ0gAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0PIAAgARCBDEUNAQwPCyAEQZ3jwgBBAiAFEQAADQ4gAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0OIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANDgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDA0LQQEhAyABKAIAIgRB5pbJAEENIAEoAgQiBigCDCIFEQAADQwgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0OIAAgARCBDEUNAQwOCyAEQZ3jwgBBAiAFEQAADQ0gAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0NIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANDQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAwLQQEhAyABKAIAIgRB85bJAEEIIAEoAgQiBigCDCIFEQAADQsgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0NIAAgARCBDEUNAQwNCyAEQZ3jwgBBAiAFEQAADQwgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0MIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANDAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAsLQQEhAyABKAIAIgRB+5bJAEELIAEoAgQiBigCDCIFEQAADQogAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0MIAAgARCBDEUNAQwMCyAEQZ3jwgBBAiAFEQAADQsgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0LIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANCwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAoLQQEhAyABKAIAIgRBhpfJAEEIIAEoAgQiBigCDCIFEQAADQkgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0LIAAgARCBDEUNAQwLCyAEQZ3jwgBBAiAFEQAADQogAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0KIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANCgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAkLQQEhAyABKAIAIgRBjpfJAEEQIAEoAgQiBigCDCIFEQAADQggAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0KIAAgARCBDEUNAQwKCyAEQZ3jwgBBAiAFEQAADQkgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0JIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANCQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAgLQQEhAyABKAIAIgRBnpfJAEELIAEoAgQiBigCDCIFEQAADQcgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0JIAAgARCBDEUNAQwJCyAEQZ3jwgBBAiAFEQAADQggAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0IIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANCAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAcLQQEhAyABKAIAIgRBqZfJAEETIAEoAgQiBigCDCIFEQAADQYgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0IIAAgARCBDEUNAQwICyAEQZ3jwgBBAiAFEQAADQcgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahCBDA0HIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANBwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAYLQQEhAyABKAIAIgRBvJfJAEECIAEoAgQiBigCDCIFEQAADQUgAEEEaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0HIAAgARDLCEUNAQwHCyAEQZ3jwgBBAiAFEQAADQYgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahDLCA0GIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANBgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAULQQEhAyABKAIAIgRBvpfJAEEFIAEoAgQiBigCDCIFEQAADQQgAEEEaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0GIAAgARDLCEUNAQwGCyAEQZ3jwgBBAiAFEQAADQUgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqNgIgIAAgAkEgahDLCA0FIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANBQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAQLIAIgAEEEajYCDEEBIQMgASgCACIAQcOXyQBBCyABKAIEIgUoAgwiBBEAAA0DAkAgAS0ACkGAAXFFBEAgAEG0z8UAQQEgBBEAAA0FIAJBDGogARCQC0UNAQwFCyAAQZ3jwgBBAiAEEQAADQQgAkEBOgATIAIgBTYCGCACIAA2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBE2o2AhwgAiACQRRqNgIgIAJBDGogAkEgahCQCw0EIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANBAsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDDAMLIAIgAEEEajYCICABQc6XyQBBBiAAQRBqQZoCIAJBIGpBtwEQ8gwhAwwCCyACIABBBGo2AiAgAUHUl8kAQQkgAEEQakGaAiACQSBqQbcBEPIMIQMMAQtBASEDIAEoAgAiBEH8kckAQQUgASgCBCIGKAIMIgURAAANACAAQQFqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQIgACABEJgURQ0BDAILIARBnePCAEECIAURAAANASACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiBDYCICAAIAJBIGoQmBQNASAEQaSyyABBAhD9CA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBMGokACADC+0dAQV/IwBBMGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4RAQIDBAUGBwgJCgsMDQ4PEBEAC0EBIQMgASgCACIEQe+RyQBBBiABKAIEIgYoAgwiBREAAA0RIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANEyAAIAEQggxFDQEMEwsgBEGd48IAQQIgBREAAA0SIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNEiACKAIgQaSyyABBAiACKAIkKAIMEQAADRILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwRC0EBIQMgASgCACIEQciWyQBBCSABKAIEIgYoAgwiBREAAA0QIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANEiAAIAEQggxFDQEMEgsgBEGd48IAQQIgBREAAA0RIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNESACKAIgQaSyyABBAiACKAIkKAIMEQAADRELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwQC0EBIQMgASgCACIEQaGSyQBBCCABKAIEIgYoAgwiBREAAA0PIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANESAAIAEQggxFDQEMEQsgBEGd48IAQQIgBREAAA0QIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNECACKAIgQaSyyABBAiACKAIkKAIMEQAADRALIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwPC0EBIQMgASgCACIEQdGWyQBBCyABKAIEIgYoAgwiBREAAA0OIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANECAAIAEQggxFDQEMEAsgBEGd48IAQQIgBREAAA0PIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDyACKAIgQaSyyABBAiACKAIkKAIMEQAADQ8LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwOC0EBIQMgASgCACIEQdyWyQBBCiABKAIEIgYoAgwiBREAAA0NIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDyAAIAEQggxFDQEMDwsgBEGd48IAQQIgBREAAA0OIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDiACKAIgQaSyyABBAiACKAIkKAIMEQAADQ4LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwNC0EBIQMgASgCACIEQeaWyQBBDSABKAIEIgYoAgwiBREAAA0MIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDiAAIAEQggxFDQEMDgsgBEGd48IAQQIgBREAAA0NIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDSACKAIgQaSyyABBAiACKAIkKAIMEQAADQ0LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwMC0EBIQMgASgCACIEQfOWyQBBCCABKAIEIgYoAgwiBREAAA0LIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDSAAIAEQggxFDQEMDQsgBEGd48IAQQIgBREAAA0MIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNDCACKAIgQaSyyABBAiACKAIkKAIMEQAADQwLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwLC0EBIQMgASgCACIEQfuWyQBBCyABKAIEIgYoAgwiBREAAA0KIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANDCAAIAEQggxFDQEMDAsgBEGd48IAQQIgBREAAA0LIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCyACKAIgQaSyyABBAiACKAIkKAIMEQAADQsLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwKC0EBIQMgASgCACIEQYaXyQBBCCABKAIEIgYoAgwiBREAAA0JIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCyAAIAEQggxFDQEMCwsgBEGd48IAQQIgBREAAA0KIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCiACKAIgQaSyyABBAiACKAIkKAIMEQAADQoLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwJC0EBIQMgASgCACIEQY6XyQBBECABKAIEIgYoAgwiBREAAA0IIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCiAAIAEQggxFDQEMCgsgBEGd48IAQQIgBREAAA0JIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCSACKAIgQaSyyABBAiACKAIkKAIMEQAADQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwIC0EBIQMgASgCACIEQZ6XyQBBCyABKAIEIgYoAgwiBREAAA0HIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCSAAIAEQggxFDQEMCQsgBEGd48IAQQIgBREAAA0IIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNCCACKAIgQaSyyABBAiACKAIkKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwHC0EBIQMgASgCACIEQamXyQBBEyABKAIEIgYoAgwiBREAAA0GIABBCGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANCCAAIAEQggxFDQEMCAsgBEGd48IAQQIgBREAAA0HIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQggwNByACKAIgQaSyyABBAiACKAIkKAIMEQAADQcLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwGC0EBIQMgASgCACIEQbyXyQBBAiABKAIEIgYoAgwiBREAAA0FIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANByAAIAEQzQhFDQEMBwsgBEGd48IAQQIgBREAAA0GIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQzQgNBiACKAIgQaSyyABBAiACKAIkKAIMEQAADQYLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwFC0EBIQMgASgCACIEQb6XyQBBBSABKAIEIgYoAgwiBREAAA0EIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANBiAAIAEQzQhFDQEMBgsgBEGd48IAQQIgBREAAA0FIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAAIAJBIGoQzQgNBSACKAIgQaSyyABBAiACKAIkKAIMEQAADQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwECyACIABBBGo2AgxBASEDIAEoAgAiAEHDl8kAQQsgASgCBCIFKAIMIgQRAAANAwJAIAEtAApBgAFxRQRAIABBtM/FAEEBIAQRAAANBSACQQxqIAEQkQtFDQEMBQsgAEGd48IAQQIgBBEAAA0EIAJBAToAEyACIAU2AhggAiAANgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQRNqNgIcIAIgAkEUajYCICACQQxqIAJBIGoQkQsNBCACKAIgQaSyyABBAiACKAIkKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwwDCyACIABBBGo2AiAgAUHOl8kAQQYgAEEQakHeAiACQSBqQbcBEPIMIQMMAgsgAiAAQQRqNgIgIAFB1JfJAEEJIABBEGpB3gIgAkEgakG3ARDyDCEDDAELQQEhAyABKAIAIgRB/JHJAEEFIAEoAgQiBigCDCIFEQAADQAgAEEBaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0CIAAgARCYFEUNAQwCCyAEQZ3jwgBBAiAFEQAADQEgAkEBOgAMIAIgBjYCGCACIAQ2AhQgAkGg68IANgIkIAIgASkCCDcCKCACIAJBDGo2AhwgAiACQRRqIgQ2AiAgACACQSBqEJgUDQEgBEGkssgAQQIQ/QgNAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEDCyACQTBqJAAgAwvtHQEFfyMAQTBrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAABBAWsOEQECAwQFBgcICQoLDA0ODxARAAtBASEDIAEoAgAiBEHvkckAQQYgASgCBCIGKAIMIgURAAANESAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRMgACABELYLRQ0BDBMLIARBnePCAEECIAURAAANEiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDRIgAigCIEGkssgAQQIgAigCJCgCDBEAAA0SCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEQtBASEDIAEoAgAiBEHIlskAQQkgASgCBCIGKAIMIgURAAANECAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRIgACABELYLRQ0BDBILIARBnePCAEECIAURAAANESACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDREgAigCIEGkssgAQQIgAigCJCgCDBEAAA0RCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMEAtBASEDIAEoAgAiBEGhkskAQQggASgCBCIGKAIMIgURAAANDyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADREgACABELYLRQ0BDBELIARBnePCAEECIAURAAANECACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDRAgAigCIEGkssgAQQIgAigCJCgCDBEAAA0QCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDwtBASEDIAEoAgAiBEHRlskAQQsgASgCBCIGKAIMIgURAAANDiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADRAgACABELYLRQ0BDBALIARBnePCAEECIAURAAANDyACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ8gAigCIEGkssgAQQIgAigCJCgCDBEAAA0PCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDgtBASEDIAEoAgAiBEHclskAQQogASgCBCIGKAIMIgURAAANDSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ8gACABELYLRQ0BDA8LIARBnePCAEECIAURAAANDiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ4gAigCIEGkssgAQQIgAigCJCgCDBEAAA0OCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDQtBASEDIAEoAgAiBEHmlskAQQ0gASgCBCIGKAIMIgURAAANDCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABELYLRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQ0gAigCIEGkssgAQQIgAigCJCgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHzlskAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABELYLRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQwgAigCIEGkssgAQQIgAigCJCgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEH7lskAQQsgASgCBCIGKAIMIgURAAANCiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELYLRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQsgAigCIEGkssgAQQIgAigCJCgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGGl8kAQQggASgCBCIGKAIMIgURAAANCSAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABELYLRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQogAigCIEGkssgAQQIgAigCJCgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQtBASEDIAEoAgAiBEGOl8kAQRAgASgCBCIGKAIMIgURAAANCCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQogACABELYLRQ0BDAoLIARBnePCAEECIAURAAANCSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQkgAigCIEGkssgAQQIgAigCJCgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGel8kAQQsgASgCBCIGKAIMIgURAAANByAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABELYLRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEGpl8kAQRMgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABELYLRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqELYLDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEG8l8kAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEM4IRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEM4IDQYgAigCIEGkssgAQQIgAigCJCgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEG+l8kAQQUgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgACABEM4IRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AAwgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgACACQSBqEM4IDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgAiAAQQRqNgIMQQEhAyABKAIAIgBBw5fJAEELIAEoAgQiBSgCDCIEEQAADQMCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQUgAkEMaiABEJQLRQ0BDAULIABBnePCAEECIAQRAAANBCACQQE6ABMgAiAFNgIYIAIgADYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGo2AiAgAkEMaiACQSBqEJQLDQQgAigCIEGkssgAQQIgAigCJCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMAwsgAiAAQQRqNgIgIAFBzpfJAEEGIABBEGpBgAMgAkEgakG3ARDyDCEDDAILIAIgAEEEajYCICABQdSXyQBBCSAAQRBqQYADIAJBIGpBtwEQ8gwhAwwBC0EBIQMgASgCACIEQfyRyQBBBSABKAIEIgYoAgwiBREAAA0AIABBAWohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAiAAIAEQmBRFDQEMAgsgBEGd48IAQQIgBREAAA0BIAJBAToADCACIAY2AhggAiAENgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUaiIENgIgIAAgAkEgahCYFA0BIARBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwsgAkEwaiQAIAMLphkCDH8BfiMAQcADayIDJAAgA0EQaiIEIAJBEGpB/5DJAEEEEKkEAkACQAJAAkACQAJAAkACQAJAIAMoAhBBf0cEQCADQcACaiAEENoBIAMoAswCIQcgAygCyAIhCSADKALEAiEKIAMoAsACIQQgAygC8AIiBUF/Rw0BIAchBgJAAkBBDiAEQQ1rIARBDE0bIgQOBgYAAAAAAQALQaCryQBBKEGgtsYAEK8UAAsCQCAHRQRAQQAhBkEEIQsMAQsgB0EMbCIEEJABIgtFDQMgB0EFdCEIQQAhBiALIQUgCSEEA0AgAyAEKQMYNwPYAiADIAQpAxA3A9ACIAMgBCkDCDcDyAIgAyAEKQMAIg83A8ACAkACQEEOIA+nIgxBDWsgDEEMTRsOAwEAAQALIANBwAJqEIYEDAoLIAMoAsQCIgxBf0YNCSAFQQRqIAMpA8gCNwIAIAUgDDYCACAFQQxqIQUgBkEBaiEGIARBIGohBCAIQSBrIggNAAsLQQEhBCAKRQ0DIAlBBGsoAgAiCEF4cSEFIAUgCkEFdCIKQQRBCCAIQQNxIggbckkNCCAIQQBHIAUgCkEnaktxDQkgCRC8BQwDCyADQQI2AgAMBAsgACADKQPoAjcDKCAAIAMpA+ACNwMgIAAgAykD2AI3AxggACADKQPQAjcDECAAIAMpAvQCNwI0IAAgAygC/AI2AjwgACAFNgIwIAAgBzYCDCAAIAk2AgggACAKNgIEIAAgBDYCACACEOMJDAQLQQQQpxQACyALIQkgByEKCyADIAY2AgwgAyAJNgIIIAMgCjYCBCADIAQ2AgALIANBkAJqIgQgAhD5DSADIAE2AqACIAMgA0HAAmo2AqgCIAMgAzYCpAIgA0F/NgLwAiADQagDaiAEECcCQAJAAkACQAJAAn8gAygCqANBf0cEQEEwEJABIghFDQIgCCADKAKwAzYCCCAIIAMpAqgDNwIAIANBATYCpAMgAyAINgKgAyADQQQ2ApwDIAMgAygCqAI2AtgBIAMgAykCoAI3A9ABIAMgAykCmAI3A8gBIAMgAykCkAI3A8ABQQwhBEEBIQYDQCADQbQDaiADQcABahAnIAMoArQDQX9GRQRAIAMoApwDIAZGBEAgA0GcA2ogBkEBQQRBDBCzESADKAKgAyEICyADKQK0AyEPIAQgCGoiASADKAK8AzYCCCABIA83AgAgAyAGQQFqIgY2AqQDIARBDGohBAwBCwsgAygCzAEiASADKALEASIEa0HYAG4hCCABIARHBEADQAJAIARByABqKAIAIgFBf0YNACABRQ0AIARBzABqKAIAIgVBBGsoAgAiB0F4cSECIAJBBEEIIAdBA3EiBxsgAWpJDQwgB0EARyACIAFBJ2pLcQ0NIAUQvAULIAQQrgcgBEHYAGohBCAIQQFrIggNAAsLIAMoAsgBIgIEQCADKALAASIEQQRrKAIAIgVBeHEhASABIAJB2ABsIgJBBEEIIAVBA3EiBRtqSQ0KIAVBAEcgASACQSdqS3ENCyAEELwFCyADKAKcAyEBIAMoAqADDAELIAMoApwCIgEgAygClAIiBGtB2ABuIQYgASAERwRAA0ACQCAEQcgAaigCACIBQX9GDQAgAUUNACAEQcwAaigCACIFQQRrKAIAIgdBeHEhAiACQQRBCCAHQQNxIgcbIAFqSQ0LIAdBAEcgAiABQSdqS3ENDCAFELwFCyAEEK4HIARB2ABqIQQgBkEBayIGDQALC0EAIQEgAygCmAIiBARAIAMoApACIgVBBGsoAgAiB0F4cSECIAIgBEHYAGwiBEEEQQggB0EDcSIHG2pJDQkgB0EARyACIARBJ2pLcQ0KIAUQvAULQQAhBkEECyEHAkACQCADKALwAiILQX9HBEAgAyADKQLMAjcDmAEgAyADKQLUAjcDoAEgAyADKQLcAjcDqAEgAyADKQLkAjcDsAEgAyADKALsAjYCuAEgAyADKQL0AjcDiAEgAyADKAL8AjYCkAEgAygCyAIhCiADKALEAiEMIAMoAsACIQ0gBgRAQQAhCANAIAcgCEEMbGoiCSgCBCECIAkoAggiBQRAIAIhBANAIAQQrwQgBEHQAGohBCAFQQFrIgUNAAsLIAkoAgAiBQRAIAJBBGsoAgAiCUF4cSEEIAQgBUHQAGwiBUEEQQggCUEDcSIJG3JJDQ0gCUEARyAEIAVBJ2pLcQ0OIAIQvAULIAhBAWoiCCAGRw0ACwsgAQRAIAdBBGsoAgAiBEF4cSECIAIgAUEMbCIBQQRBCCAEQQNxIgQbakkNCyAEQQBHIAIgAUEnaktxDQwgBxC8BQsgACAKNgIIIAAgDDYCBCAAIA02AgAgACADKQOYATcCDCAAIAMpA6ABNwIUIAAgAykDqAE3AhwgACADKQOwATcCJCAAIAMoArgBNgIsIAAgCzYCMCAAIAMpA4gBNwI0IAAgAygCkAE2AjwMAQtBACEEIANBADYCeCADQQA2AmggAyABNgJgIAMgBzYCXCADIAc2AlggAyAHIAZBDGxqNgJkIANBwAFqIANB2ABqEPIGIAMtAMABQf8BRwRAIAMoAmgEfyADKAJ0IAMoAmxrQdAAbgVBAAsgAygCeAR/IAMoAoQBIAMoAnxrQdAAbgVBAAtqIQECfwJAIAMoAlhFDQAgAygCZCADKAJcRg0AIANBwAJqIQZBAAwBCyADQZACaiEGIAELIQUgBiAFNgIAIAFBmbPmDE8NBAJAQQMgASABQQNNG0EBaiIEQdAAbCIBRQRAQQAhBEEIIQYMAQsgARCQASIGRQ0GCyAGIANBwAFqQdAA/AoAACADQQE2AqQDIAMgBjYCoAMgAyAENgKcAyADIAMpAoABNwO4AiADIAMpAng3A7ACIAMgAykCcDcDqAIgAyADKQJoNwOgAiADIAMpAmA3A5gCIAMgAykCWDcDkAJB0AAhBUEBIQQDQCADQcACaiADQZACahDyBiADLQDAAkH/AUYNAyADKAKcAyAERgRAQQAhBkEAIQggAygCoAIEQCADKAKsAiADKAKkAmtB0ABuIQgLIAMoArACBH8gAygCvAIgAygCtAJrQdAAbgVBAAsgCGohAQJ/AkAgAygCkAJFDQAgAygCnAIgAygClAJGDQBBACEIIANBmANqDAELIAEhCCADQZQDagsgCDYCACADQZwDaiAEIAFBAWpBCEHQABCzESADKAKgAyEGCyAFIAZqIANBwAJqQdAA/AoAACADIARBAWoiBDYCpAMgBUHQAGohBQwACwALIANB2ABqEIwIIAMoAgBBAkYEQEEIIQZBACEFDAcLQTIQkAEiAUUNBSAAQYGAgIB4NgIwIABBMjYCCCAAIAE2AgQgAEEyNgIAIAFBgJvGAC8AADsAMCABQfiaxgApAAA3ACggAUHwmsYAKQAANwAgIAFB6JrGACkAADcAGCABQeCaxgApAAA3ABAgAUHYmsYAKQAANwAIIAFB0JrGACkAADcAAAsgAygCACIAQQJGDQYCQCAARQRAIAMoAgQiAUUNCCADKAIIIgBBBGsoAgAiBEF4cSECIAJBBEEIIARBA3EiBBsgAWpJDQogBEUNASACIAFBJ2pNDQEMCwsgAygCCCEAIAMoAgwiBQRAIAAhBANAIAQoAgAiAQRAIARBBGooAgAiB0EEaygCACIJQXhxIQIgAkEEQQggCUEDcSIJGyABakkNDCAJQQBHIAIgAUEnaktxDQ0gBxC8BQsgBEEMaiEEIAVBAWsiBQ0ACwsgAygCBCICRQ0HIABBBGsoAgAiBEF4cSEBIAEgAkEMbCICQQRBCCAEQQNxIgQbakkNCSAERQ0AIAEgAkEnaksNCgsgABC8BQwGCyADQZACahCMCCADKAKcAyEFIAMoAgAiAUECRg0EIABBfzYCMCAAIAQ2AgggACAGNgIEIAAgBTYCACABRQRAIAMoAgQiAEUNBiADKAIIIAAQ2RIMBgsgAygCCCEAIAMoAgwiBQRAIAAhBANAIAQoAgAiAQRAIARBBGooAgAiB0EEaygCACIJQXhxIQIgAkEEQQggCUEDcSIJGyABakkNCiAJQQBHIAIgAUEnaktxDQsgBxC8BQsgBEEMaiEEIAVBAWsiBQ0ACwsgAygCBCIBRQ0FIAAgAUEMbBDZEgwFC0EEEKcUAAsQnhUAC0EIEKcUAAtBARCnFAALIABBfzYCMCAAIAQ2AgggACAGNgIEIAAgBTYCAAsgA0HAA2okAA8LQfyUxgBBPUG8lcYAEMATAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALgB0BBX8jAEFAaiICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEOIAAoAgAiBCgCACIAQQ1rIABBDE0bQQFrDg4BAgMEBQYHCAkKCwwNDgALQQEhACABKAIAIgNB1ZDJAEEGIAEoAgQiBigCDCIFEQAADQ4CQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADRAgBEEIaigCACAEQQxqKAIAIAEoAgAgASgCBBC/BkUNAQwQCyADQZ3jwgBBAiAFEQAADQ8gAiAGNgIQIAIgAzYCDCACQQE6ADAgAiACQTBqNgIUIARBCGooAgAgBEEMaigCACACQQxqIgRBoOvCABC/Bg0PIARBpLLIAEECEP0IDQ8LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwOC0EBIQAgASgCACIDQeSZyQBBByABKAIEIgYoAgwiBREAAA0NIARBBGohBAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANDyAEIAEQmBRFDQEMDwsgA0Gd48IAQQIgBREAAA0OIAJBAToABCACIAY2AjQgAiADNgIwIAJBoOvCADYCECACIAEpAgg3AhQgAiACQQRqNgI4IAIgAkEwaiIDNgIMIAQgAkEMahCYFA0OIANBpLLIAEECEP0IDQ4LIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwNC0EBIQAgASgCACIDQeuZyQBBBCABKAIEIgYoAgwiBREAAA0MAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0OIARBCGooAgAgBEEMaigCACABKAIAIAEoAgQQvwZFDQEMDgsgA0Gd48IAQQIgBREAAA0NIAIgBjYCECACIAM2AgwgAkEBOgAwIAIgAkEwajYCFCAEQQhqKAIAIARBDGooAgAgAkEMaiIEQaDrwgAQvwYNDSAEQaSyyABBAhD9CA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMDAtBASEAIAEoAgAiA0HvmckAQQMgASgCBCIGKAIMIgURAAANCyAEQQhqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQ0gBCABENwPRQ0BDA0LIANBnePCAEECIAURAAANDCACQQE6AAQgAiAGNgI0IAIgAzYCMCACQaDrwgA2AhAgAiABKQIINwIUIAIgAkEEajYCOCACIAJBMGo2AgwgBCACQQxqENwPDQwgAigCDEGkssgAQQIgAigCECgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMCwtBASEAIAEoAgAiA0HymckAQQQgASgCBCIGKAIMIgURAAANCiAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQwgASgCACABKAIEIQUgAkEMaiIGIAQQ+AkgBkEkIAUoAgwRAABFDQEMDAsgA0Gd48IAQQIgBREAAA0LIAIgBjYCNCACIAM2AjAgAkEBOgAEIAIgAkEEajYCOCACQQxqIgMgBBD4CSACQTBqIgQgA0EkEP0IDQsgBEGkssgAQQIQ/QgNCwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAoLIAIgBEEEajYCBEEBIQAgASgCACIEQfCXyQBBBCABKAIEIgUoAgwiAxEAAA0JAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgAxEAAA0LIAJBBGogARC1CkUNAQwLCyAEQZ3jwgBBAiADEQAADQogAkEBOgA/IAIgBTYCNCACIAQ2AjAgAkGg68IANgIQIAIgASkCCDcCFCACIAJBP2o2AjggAiACQTBqNgIMIAJBBGogAkEMahC1Cg0KIAIoAgxBpLLIAEECIAIoAhAoAgwRAAANCgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAkLQQEhACABKAIAIgNB9pnJAEEEIAEoAgQiBigCDCIFEQAADQgCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQogBEEIaigCACAEQQxqKAIAIAEoAgAgASgCBBC/BkUNAQwKCyADQZ3jwgBBAiAFEQAADQkgAiAGNgIQIAIgAzYCDCACQQE6ADAgAiACQTBqNgIUIARBCGooAgAgBEEMaigCACACQQxqIgRBoOvCABC/Bg0JIARBpLLIAEECEP0IDQkLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwICyACIARBBGo2AgRBASEAIAEoAgAiBEH6mckAQQYgASgCBCIFKAIMIgMRAAANBwJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAMRAAANCSACQQRqIAEQjAVFDQEMCQsgBEGd48IAQQIgAxEAAA0IIAJBAToAPyACIAU2AjQgAiAENgIwIAJBoOvCADYCECACIAEpAgg3AhQgAiACQT9qNgI4IAIgAkEwajYCDCACQQRqIAJBDGoQjAUNCCACKAIMQaSyyABBAiACKAIQKAIMEQAADQgLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwHCyABKAIAQYCayQBBBCABKAIEKAIMEQAAIQAMBgtBASEAIAEoAgAiA0GEmskAQQggASgCBCIGKAIMIgURAAANBSAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQcgBCABKAIAIAEoAgQQkxJFDQEMBwsgA0Gd48IAQQIgBREAAA0GIAIgBjYCECACIAM2AgwgAkEBOgAwIAIgAkEwajYCFCAEIAJBDGoiBEGg68IAEJMSDQYgBEGkssgAQQIQ/QgNBgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAULQQEhACABKAIAIgNBjJrJAEEFIAEoAgQiBigCDCIFEQAADQQgBEEIaiEEAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0GIAQgASgCACABKAIEEKsTRQ0BDAYLIANBnePCAEECIAURAAANBSACIAY2AhAgAiADNgIMIAJBAToAMCACIAJBMGo2AhQgBCACQQxqIgRBoOvCABCrEw0FIARBpLLIAEECEP0IDQULIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwEC0EBIQAgASgCACIDQeyxyQBBBiABKAIEIgYoAgwiBREAAA0DIARBCGohBAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANBSAEIAEQ3A9FDQEMBQsgA0Gd48IAQQIgBREAAA0EIAJBAToABCACIAY2AjQgAiADNgIwIAJBoOvCADYCECACIAEpAgg3AhQgAiACQQRqNgI4IAIgAkEwajYCDCAEIAJBDGoQ3A8NBCACKAIMQaSyyABBAiACKAIQKAIMEQAADQQLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwDC0EBIQAgASgCACIDQZGayQBBBSABKAIEIgYoAgwiBREAAA0CIARBBGohBAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANBCAEIAEQpgtFDQEMBAsgA0Gd48IAQQIgBREAAA0DIAJBAToABCACIAY2AjQgAiADNgIwIAJBoOvCADYCECACIAEpAgg3AhQgAiACQQRqNgI4IAIgAkEwajYCDCAEIAJBDGoQpgsNAyACKAIMQaSyyABBAiACKAIQKAIMEQAADQMLIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwCC0EBIQAgASgCACIDQaeQyQBBCyABKAIEIgYoAgwiBREAAA0BIARBBGohBAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAyAEIAEQjQtFDQEMAwsgA0Gd48IAQQIgBREAAA0CIAJBAToABCACIAY2AjQgAiADNgIwIAJBoOvCADYCECACIAEpAgg3AhQgAiACQQRqNgI4IAIgAkEwaiIDNgIMIAQgAkEMahCNCw0CIANBpLLIAEECEP0IDQILIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAwBCyABKAIAQcSQyQBBDSABKAIEKAIMEQAAIQUgAiABNgIEIARBCGohBkEBIQBBASEDAkAgBQ0AIAEtAApBgAFxRQRAIAEoAgBBl+PCAEEDIAEoAgQoAgwRAAANASABKAIAQaCsyQBBBCABKAIEKAIMEQAADQEgASgCAEGmssgAQQIgASgCBCgCDBEAAA0BIAQoAhggBCgCHCABKAIAIAEoAgQQvwYhAwwBCyABKAIAQZrjwgBBAyABKAIEKAIMEQAADQAgAkEBOgAwIAIgASkCADcCDCACIAJBMGo2AhQgAkEMaiIBQaCsyQBBBBD9CA0AIAFBprLIAEECEP0IDQAgBCgCGCAEKAIcIAFBoOvCABC/BgRADAELIAJBDGpBpLLIAEECEP0IIQMLIAJBAToACSACIAM6AAggAkEEakHRkMkAQQQgBkHyABCJDiEBIAItAAgNACACLQAJIQMCQCABKAIAIgEtAApBgAFxRQRAIAEoAgBBiLPJAEGX48IAIANBAXEiAxtBAkEDIAMbIAEoAgQoAgwRAAANAiABKAIAQZaayQBBCyABKAIEKAIMEQAADQIgASgCAEGmssgAQQIgASgCBCgCDBEAAA0CIAQgARDICkUNAQwCCyADQQFxRQRAIAEoAgBBmuPCAEEDIAEoAgQoAgwRAAANAgsgAkEBOgA/IAJBoOvCADYCECACIAEpAgA3AjAgAiABKQIINwIUIAIgAkE/ajYCOCACIAJBMGoiAzYCDCADQZaayQBBCxD9CA0BIANBprLIAEECEP0IDQEgBCACQQxqEMgKDQEgA0GkssgAQQIQ/QgNAQsgAS0ACkGAAXFFBEAgASgCAEHt6sIAQQIgASgCBCgCDBEAACEADAELIAEoAgBBobLIAEEBIAEoAgQoAgwRAAAhAAsgAkFAayQAIAAL8BcCC38DfiMAQbABayIFJAACQAJAAkACQAJAAkACQCADRQRAQQEhCQwBCyACIANByAFsaiEOIAFByAFsIQwgBUGoAWqtQoCAgIDQAYQhECAFQaABaq1CgICAgNABhCERA0ACQAJAAkACQAJAAkACQAJAAkACQEECIAIpAwAiD6dBAmsgD0IBWBtBAWsOAwEJAgALIAIoAgwhAQJ/IAIoAghBAUYEQCACKAIYIgRBoAJqKAIAIgMgAU0NBCACKAIQIgMgBEGcAmooAgAgAUEkbGoiAUEgaigCACIETw0FIAFBHGooAgAgA0HUAGxqIgEoAgBBgICAgHhHDQ0gAigCFCIDIAEoAiQiBE8NBiABKAIgIANB3ABsaiIBKAIkIQggASgCIAwBCyAFQShqIAIoAhhBCGogARDQECAFKAIsIQggBSgCKAshC0EAIQlBACEDA0AgAyAMRg0LAn8CQAJAAkACQEECIAAgA2oiASkDACIPp0ECayAPQgFYG0EBaw4DAQIDAAsgAUEMaigCACEEIAFBCGooAgBBAUYEQCABQRhqKAIAIgdBoAJqKAIAIgYgBE0NEiABQRBqKAIAIgYgB0GcAmooAgAgBEEkbGoiBEEgaigCACIHTw0TIARBHGooAgAgBkHUAGxqIgQoAgBBgICAgHhHDREgAUEUaigCACIBIAQoAiQiBk8NFCAEKAIgIAFB3ABsaiIBKAIkIQYgASgCICEEQX8MBAsgBUEIaiABQRhqKAIAQQhqIAQQ0BAgBSgCDCEGIAUoAgghBEF/DAMLIAFBDGooAgAhBCABQQhqKAIAQQFGBEAgAUEYaigCACIHQaACaigCACIGIARNDREgAUEQaigCACIGIAdBnAJqKAIAIARBJGxqIgRBIGooAgAiB08NEiAEQRxqKAIAIAZB1ABsaiIEKAIAQYCAgIB4Rw0QIAFBFGooAgAiASAEKAIkIgZPDRMgBCgCICABQdwAbGoiASgCJCEGIAEoAiAhBEF/DAMLIAVBEGogAUEYaigCAEEIaiAEENAQIAUoAhQhBiAFKAIQIQRBfwwCCyAFQRhqIAFBqAFqKAIAQQhqIAFBrAFqKAIAENEQIAUoAhwhBiAFKAIYIQRBfwwBCyAFQSBqIAFB2ABqKAIAQQhqIAFB3ABqKAIAENEQIAUgBSkDIDcCqAEgBSAQNwOAASAFQZABakHsgcAAIAVBgAFqELgMIAUoApgBIQYgBSgClAEhBCAFKAKQAQshAUEAIQcgBiAIRgRAIAQgCyAIEI8TRSEHCyABQQBKBEAgBEEEaygCACIKQXhxIQYgBkEEQQggCkEDcSIKGyABakkNESAKQQBHIAYgAUEnaktxDRIgBBC8BQsgA0HIAWohAyAHRQ0ACwwICyACKAIMIQECfyACKAIIQQFGBEAgAigCGCIEQaACaigCACIDIAFNDQYgAigCECIDIARBnAJqKAIAIAFBJGxqIgFBIGooAgAiBE8NByABQRxqKAIAIANB1ABsaiIBKAIAQYCAgIB4Rw0MIAIoAhQiAyABKAIkIgRPDQggASgCICADQdwAbGoiASgCJCEIIAEoAiAMAQsgBUHQAGogAigCGEEIaiABENAQIAUoAlQhCCAFKAJQCyELIAJBCGohCkEAIQlBACEDA0AgAyAMRg0KAn8CQAJAAkACQEECIAAgA2oiASkDACIPp0ECayAPQgFYG0EBaw4DAQIDAAsgAUEMaigCACEEIAFBCGooAgBBAUYEQCABQRhqKAIAIgdBoAJqKAIAIgYgBE0NESABQRBqKAIAIgYgB0GcAmooAgAgBEEkbGoiBEEgaigCACIHTw0SIARBHGooAgAgBkHUAGxqIgQoAgBBgICAgHhHDRAgAUEUaigCACIBIAQoAiQiBk8NEyAEKAIgIAFB3ABsaiIBKAIkIQYgASgCICEEQX8MBAsgBUEwaiABQRhqKAIAQQhqIAQQ0BAgBSgCNCEGIAUoAjAhBEF/DAMLIAFBDGooAgAhBCABQQhqKAIAQQFGBEAgAUEYaigCACIHQaACaigCACIGIARNDRAgAUEQaigCACIGIAdBnAJqKAIAIARBJGxqIgRBIGooAgAiB08NESAEQRxqKAIAIAZB1ABsaiIEKAIAQYCAgIB4Rw0PIAFBFGooAgAiASAEKAIkIgZPDRIgBCgCICABQdwAbGoiASgCJCEGIAEoAiAhBEF/DAMLIAVBOGogAUEYaigCAEEIaiAEENAQIAUoAjwhBiAFKAI4IQRBfwwCCyAFQUBrIAFBqAFqKAIAQQhqIAFBrAFqKAIAENEQIAUoAkQhBiAFKAJAIQRBfwwBCyAFQcgAaiABQdgAaigCAEEIaiABQdwAaigCABDRECAFIAUpA0g3AqgBIAUgEDcDgAEgBUGQAWpB7IHAACAFQYABahC4DCAFKAKYASEGIAUoApQBIQQgBSgCkAELIQFBACEHIAYgCEYEQCAEIAsgCBCPE0UhBwsgAUEASgRAIARBBGsoAgAiDUF4cSEGIAZBBEEIIA1BA3EiDRsgAWpJDRAgDUEARyAGIAFBJ2pLcQ0RIAQQvAULIANByAFqIQMgB0UNAAsgACADakHIAWsiASkDAEIDUg0JIAFBCGogChDDAw0HDAkLIAVB+ABqIAIoAlhBCGogAigCXBDRECAFIAUpA3g3AqgBIAUgEDcDkAEgBUGAAWpB7IHAACAFQZABahC4DEEAIQMgBSgCiAEhCSAFKAKEASEIA0AgAyAMRiILRQRAAn8CQAJAAkACQEECIAAgA2oiASkDACIPp0ECayAPQgFYG0EBaw4DAQIDAAsgAUEMaigCACEEIAFBCGooAgBBAUYEQCABQRhqKAIAIgdBoAJqKAIAIgYgBE0NESABQRBqKAIAIgYgB0GcAmooAgAgBEEkbGoiBEEgaigCACIHTw0SIARBHGooAgAgBkHUAGxqIgQoAgBBgICAgHhHDRAgAUEUaigCACIBIAQoAiQiBk8NEyAEKAIgIAFB3ABsaiIBKAIkIQYgASgCICEEQX8MBAsgBUHYAGogAUEYaigCAEEIaiAEENAQIAUoAlwhBiAFKAJYIQRBfwwDCyABQQxqKAIAIQQgAUEIaigCAEEBRgRAIAFBGGooAgAiB0GgAmooAgAiBiAETQ0QIAFBEGooAgAiBiAHQZwCaigCACAEQSRsaiIEQSBqKAIAIgdPDREgBEEcaigCACAGQdQAbGoiBCgCAEGAgICAeEcNDyABQRRqKAIAIgEgBCgCJCIGTw0SIAQoAiAgAUHcAGxqIgEoAiQhBiABKAIgIQRBfwwDCyAFQeAAaiABQRhqKAIAQQhqIAQQ0BAgBSgCZCEGIAUoAmAhBEF/DAILIAVB6ABqIAFBqAFqKAIAQQhqIAFBrAFqKAIAENEQIAUoAmwhBiAFKAJoIQRBfwwBCyAFQfAAaiABQdgAaigCAEEIaiABQdwAaigCABDRECAFIAUpA3A3AqABIAUgETcDqAEgBUGQAWpB7IHAACAFQagBahC4DCAFKAKYASEGIAUoApQBIQQgBSgCkAELIQFBACEHIAYgCUYEQCAEIAggCRCPE0UhBwsgAUEASgRAIARBBGsoAgAiCkF4cSEGIAZBBEEIIApBA3EiChsgAWpJDRAgCkEARyAGIAFBJ2pLcQ0RIAQQvAULIANByAFqIQMgB0UNAQsLIAUoAoABIgEEQCAIQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0OIARBAEcgAyABQSdqS3ENDyAIELwFCyALRQ0GQQAhCQwICyABIANBlL7EABCFEwALIAMgBEGUvsQAEIUTAAsgAyAEQaS+xAAQhRMACyABIANBlL7EABCFEwALIAMgBEGUvsQAEIUTAAsgAyAEQaS+xAAQhRMACyAOIAJByAFqIgJHDQALQQEhCQsgBUGwAWokACAJDwtBlL7EABCdFQALIAQgBkGUvsQAEIUTAAsgBiAHQZS+xAAQhRMACyABIAZBpL7EABCFEwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC/IaAQ9/IwBB0AFrIgMkAEEBIQICQAJAAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIKRgRAIAEoAiAhDCABKAIsIQkLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEHDAELIAYhByABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAo2AgggAkEANgIEIAJBADoAACABIAZBAWoiBzYCFCABKAKMASECCyACIApGBEAgASgCLCABKAIgaiENCyABKAJ4IQ4gASgCXCEPAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0EIAEgAkEBaiIFNgIEIAMgASgCiAE2ApgBIAMgASkCgAE3A5ABIAQgBU0NAyABIAJBAmoiBTYCBCAEIAVNDQMgASACQQNqIgU2AgQgBCAFTQ0CIAEgAkEEajYCBAwBCyADIAEoAogBNgKYASADIAEpAoABNwOQAQsCQCABLQCRASIERQRAIANBgAFqIAEQlAogAygChAEhASADKAKAASECDAELIAFBADoAkQEgA0GIAWogARCUCiADKAKIASECIAMoAowBIgEgBDoAkQELIAJBAXENACABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADQfgAaiABEJUKIAMoAnwhASADKAJ4QQFxDQADQCADQfAAaiABEJUKIAMoAnQhASADKAJwQQFHDQALCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQegAaiABEJQKIAMoAmggAygCbCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HYAGogARCUCiADKAJcIQEgAygCWCECDAELIAFBADoAkQEgA0HgAGogARCUCiADKAJgIQIgAygCZCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEQX1LDQAgBEECaiIFIAEoAoQBSw0AIAEoAoABIARqLwAAQa/UAEcNACABIAU2AogBQQEhAgsCQAJAAkACQCABLQB8QQFGBEBBAhCQASIFRQ0RIAVBr9QAOwAAIANBAjYCzAEgAyAFNgLIASADQoCAgIAgNwLAASABIAQgA0HAAWogAhD5CAsgAkUNBAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQYgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQdAAaiABEJQKIAMoAlAgAygCVCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0FAayABEJQKIAMoAkQhASADKAJAIQIMAQsgAUEAOgCRASADQcgAaiABEJQKIAMoAkghAiADKAJMIgEgBDoAkQELIAJBAUcNAAsLIAEoAgBBAUcNACABKAIEIgQgASgCCCIFTw0EIAEgBEEBaiICNgIEIAIgBU8NBCABKAIUIQsgASAEQQJqIgI2AgQgAiAFTw0DIAEgBEEDaiIINgIEIAMgAUGAAWoiAigCCDYCqAEgAyACKQIANwOgASAFIAhNDQIgASAEQQRqNgIEDAELIAEoAhQhCyADIAEoAogBNgKoASADIAEpAoABNwOgASABQYABaiECCyABIAEtAJABIhBBAUc6AJABIAMgAigCCDYCuAEgAyACKQIANwOwASABKAI4IQQgASgCUCIFIAEoAkhGBEAgAUHIAGoQlhILIAEgBUEBajYCUCABKAJMIAVBA3RqIgUgBDYCBCAFIAQ2AgBBACEEAkAgASgCiAEiBUF9Sw0AIAVBAmoiCCABKAKEAUsNACACKAIAIAVqLwAAQareAEcNACABIAg2AogBQQEhBAsgAS0AfEEBRgRAQQIQkAEiCEUNDyAIQareADsAACADQQI2AswBIAMgCDYCyAEgA0KAgICAIDcCwAEgASAFIANBwAFqIAQQ+QgLIAIgAygCuAE2AgggAiADKQOwATcCACABIBA6AJABIAFBMGoQhgogBA0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiBTYCBCAEIAVNDQEgASACQQJqNgIECyABQQA6AJEBIANBOGogARCUCiADKAI4IAMoAjwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBKGogARCUCiADKAIsIQEgAygCKCECDAELIAFBADoAkQEgA0EwaiABEJQKIAMoAjAhAiADKAI0IgEgBDoAkQELIAJBAUcNAAsLIAEoAoQBIQIgASgCgAEhBAJAIAEoAogBIgVFDQAgAiAFTQRAIAIgBUYNAQwPCyAEIAVqLAAAQUBIDQ4LIAIgBUYNACABAn9BASAEIAVqIgQsAAAiC0EATg0AGiAELQABQT9xIQggC0EfcSECAn8gAkEGdCAIciALQWBJDQAaIAQtAAJBP3EgCEEGdHIhCCAIIAJBDHRyIAtBcEkNABogAkESdEGAgPAAcSAELQADQT9xIAhBBnRycgshBEEBIARBgAFJDQAaQQIgBEGAEEkNABpBA0EEIARBgIAESRsLIAVqNgKIASABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECyADQSBqIAEQogQgAygCJCEBIAMoAiBBAXENAQNAIANBGGogARCiBCADKAIcIQEgAygCGEEBRw0ACwwBCyABIAMoAqgBNgKIASABIAMpA6ABNwKAASALIAEoAhRLDQAgASALNgIUCwJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRBqIAEQlAogAygCECADKAIUIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADIAEQlAogAygCBCEBIAMoAgAhAgwBCyABQQA6AJEBIANBCGogARCUCiADKAIIIQIgAygCDCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEQX1LDQAgBEECaiIFIAEoAoQBSw0AIAEoAoABIARqLwAAQareAEcNACABIAU2AogBQQEhAgsgAS0AfEEBRgRAQQIQkAEiBUUNDSAFQareADsAACADQQI2AswBIAMgBTYCyAEgA0KAgICAIDcCwAEgASAEIANBwAFqIAIQ+QgLIAINAgsgASADKAKYATYCiAEgASADKQOQATcCgAEgByABKAIUSw0AIAEgBzYCFAtBASECIAEtAJABQQFGDQggAS0AkQFFDQMgASgCjAEiAiAKRw0BIA0gASgCICICIAEoAiwiB2oiBEkgBCANa0EBRnENAyACIAxPBEAgASAMNgIgIAwhAgsgByAJSQ0CIAEgCTYCLAwCCyABLQCQASICQQFGBH8gAS0AkQFFDQcCQCAKIAEoAowBIgJGBEAgDSABKAIsIgIgASgCICIHaiIESSAEIA1rQQFGcQ0JIAcgDE8EQCABIAw2AiALIAIgCUkNASABIAk2AiwgCSECDAELIAIgCk8NCCABIAo2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIkIAJGBEAgAUEkahCjEgsgASgCKCACakEhOgAAIAEgAkEBajYCLCABLQCQAQUgAgtB/wFxQQJHDQYgAS0AkQFFDQYgASgCFCICIAZNDQMgASgCECAGQRRsaiIHLQAADQQgByACNgIEIAEoAogBIQkgASgCFCIHIAEoAgxGBEAgAUEMahCaEgsgASgCECAHQRRsaiICIAk2AhAgAkEANgIIIAIgBjYCBCACQYHCADsBACABIAdBAWo2AhQMBgsgAiAKTw0BIAEgCjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAhggAkYEQCABQRhqEKMSCyABIAJBAWo2AiAgASgCHCACakEhOgAAC0EBIQIgAS0AfEEBRw0CIAEt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DCABIANBBBCWCAwMCyACIAU2AgwgASACQQxqQQQQlggMCwsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwLCyACIAU2AgwgASACQQxqQQQQlggMCgsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwKCyACIAU2AgwgASACQQxqQQQQlggMCQsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwJCyACIAU2AgwgASACQQxqQQQQlggMCAsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwICyACIAU2AgwgASACQQxqQQQQlggMBwsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwHCyACIAU2AgwgASACQQxqQQQQlggMBgsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwGCyACIAU2AgwgASACQQxqQQQQlggMBQsgAiAAKAIMIgQ2AgwgASACQQxqIgNBBBCWCCAAKAIQIQUgBEEBRgRAIAAoAhQhBCACIAU2AgwgASADQQQQlgggAiAENgIMIAEgA0EEEJYIIAIgACgCGDYCDCABIANBBBCWCAwFCyACIAU2AgwgASACQQxqQQQQlggMBAsgAiAA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AiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAiA2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyAAKAIIIQMgAiAAKAIMIgA2AgwgASACQQxqQQQQlgggAEUNDCAAQRRsIQADQCADIAEQkxAgA0EUaiEDIABBFGsiAA0ACwwMCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAwLIAIgBTYCDCABIAJBDGpBBBCWCAwLCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAsLIAIgBTYCDCABIAJBDGpBBBCWCAwKCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAoLIAIgBTYCDCABIAJBDGpBBBCWCAwJCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAkLIAIgBTYCDCABIAJBDGpBBBCWCAwICyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAgLIAIgBTYCDCABIAJBDGpBBBCWCAwHCyACIAAoAgwiBDYCDCABIAJBDGoiA0EEEJYIIAAoAhAhBSAEQQFGBEAgACgCFCEEIAIgBTYCDCABIANBBBCWCCACIAQ2AgwgASADQQQQlgggAiAAKAIYNgIMIAEgA0EEEJYIDAcLIAIgBTYCDCABIAJBDGpBBBCWCAwGCyACIAAoAgwiBDYCDCABIAJB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ECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMCAsgAiAFNgIMIAEgAkEMakEEEJYIDAcLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBwsgAiAFNgIMIAEgAkEMakEEEJYIDAYLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBgsgAiAFNgIMIAEgAkEMakEEEJYIDAULIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBQsgAiAFNgIMIAEgAkEMakEEEJYIDAQLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMBAsgAiAFNgIMIAEgAkEMakEEEJYIDAMLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAwsgAiAFNgIMIAEgAkEMakEEEJYIDAILIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAgsgAiAFNgIMIAEgAkEMakEEEJYIDAELIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYC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QQA2AgQgAkEAOgAAIAEgCEEBaiIGNgIUIAEoAowBIQILIAIgCkYEQCABKAIsIAEoAiBqIQwLIAEoAnghDyABKAJcIRACQCABKAIAQQFGBEAgASgCBCICIAEoAghPBEBBASEEDAILIAEgAkEBajYCBAsgAyABKAKIATYCqAEgAyABKQKAATcDoAEgA0GYAWogARDnAyADKAKcASEBAn8CQCADKAKYAUEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBU8NAiABIAJBAWoiBDYCBCAEIAVPDQEgASACQQJqNgIECyABQQA6AJEBIANBkAFqIAEQlAogAygCkAEgAygClAEiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIFRQRAIANBgAFqIAEQlAogAygChAEhASADKAKAASECDAELIAFBADoAkQEgA0GIAWogARCUCiADKAKIASECIAMoAowBIgEgBToAkQELIAJBAUcNAAsLIANB+ABqIAEQgQIgAygCfCEBIAMoAnhBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQIgASACQQFqIgQ2AgQgBCAFTw0BIAEgAkECajYCBAsgAUEAOgCRASADQfAAaiABEJQKIAMoAnAgAygCdCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0HgAGogARCUCiADKAJkIQEgAygCYCECDAELIAFBADoAkQEgA0HoAGogARCUCiADKAJoIQIgAygCbCIBIAU6AJEBCyACQQFHDQALCwJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiBCABKAIIIgdPDQYgASAEQQFqIgI2AgQgAiAHTw0GIAEoAhQhBSABIARBAmoiAjYCBCACIAdPDQMgASAEQQNqIg02AgQgAyABQYABaiICKAIINgK4ASADIAIpAgA3A7ABIAcgDU0NAiABIARBBGo2AgQMAQsgASgCFCEFIAMgASgCiAE2ArgBIAMgASkCgAE3A7ABIAFBgAFqIQILIAEgAS0AkAEiB0EBRzoAkAEgAyACKAIINgLIASADIAIp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DCAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ4gACABENYQRQ0BDA4LIARBnePCAEECIAURAAANDSACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqENYQDQ0gAigCHEGkssgAQQIgAigCICgCDBEAAA0NCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMDAtBASEDIAEoAgAiBEHO9sUAQQggASgCBCIGKAIMIgURAAANCyAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQ0gACABEI0QRQ0BDA0LIARBnePCAEECIAURAAANDCACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEI0QDQwgAigCHEGkssgAQQIgAigCICgCDBEAAA0MCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCwtBASEDIAEoAgAiBEHW9sUAQQYgASgCBCIGKAIMIgURAAANCiAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQwgACABELoQRQ0BDAwLIARBnePCAEECIAURAAANCyACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqELoQDQsgAigCHEGkssgAQQIgAigCICgCDBEAAA0LCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCgtBASEDIAEoAgAiBEGc8MUAQQMgASgCBCIGKAIMIgURAAANCSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQsgACABEIQRRQ0BDAsLIARBnePCAEECIAURAAANCiACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEIQRDQogAigCHEGkssgAQQIgAigCICgCDBEAAA0KCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCQsgAiAAQQRqNgIsQQEhAyABKAIAIgBB3PbFAEEJIAEoAgQiBSgCDCIEEQAADQgCQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQogAkEsaiABEMUERQ0BDAoLIABBnePCAEECIAQRAAANCSACQQE6ABsgAiAFNgIQIAIgADYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEbajYCFCACIAJBDGo2AhwgAkEsaiACQRxqEMUEDQkgAigCHEGkssgAQQIgAigCICgCDBEAAA0JCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMCAtBASEDIAEoAgAiBEGD/cYAQQggASgCBCIGKAIMIgURAAANByAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQkgACABEMcQRQ0BDAkLIARBnePCAEECIAURAAANCCACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEMcQDQggAigCHEGkssgAQQIgAigCICgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEHl9sUAQQggASgCBCIGKAIMIgURAAANBiAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABEN0MRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEN0MDQcgAigCHEGkssgAQQIgAigCICgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEHt9sUAQQIgASgCBCIGKAIMIgURAAANBSAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEKoBRQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6ACwgAiAGNgIQIAIgBDYCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEsajYCFCACIAJBDGo2AhwgACACQRxqEKoBDQYgAigCHEGkssgAQQIgAigCICgCDBEAAA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtB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IAQoAnQhAyAEKAJwIRACQCAEKAKAASICRQ0AIAIgAkECdEELakF4cSICakEJaiIGRQ0AIAQoAnwgAmsiBUEEaygCACICQXhxIQcgB0EEQQggAkEDcSICGyAGakkNDyACQQBHIAcgBkEnaktxDRAgBRC8BQsgAyEFAkAgC0UNACALQcgAbCEFIAMhAiALQQFxBEAgCCADKQMANwMAIAggAykDCDcDCCAIIAMpAxA3AxAgCCADKQMYNwMYIAggAykDIDcDICAIIAMpAyg3AyggCCADKQMwNwMwIAQgAygCQDYC0AEgBCADKQM4NwPIASADIARByAFqQcgA/AoAACADQcgAaiECCyADIAVqIQUgC0EBRg0AA0AgCCACKQMANwMAIAggAikDCDcDCCAIIAIpAxA3AxAgCCACKQMYNwMYIAggAikDIDcDICAIIAIpAyg3AyggCCACKQMwNwMwIAQgAkFAaygCADYC0AEgBCACQThqKQMANwPIASACIARByAFqIgZByAD8CgAAIAggAkHIAGoiBykDADcDACAIIAJB0ABqKQMANwMIIAggAkHYAGopAwA3AxAgCCACQeAAaikDADcDGCAIIAJB6ABqKQMANwMgIAggAkHwAGopAwA3AyggCCACQfgAaikDADcDMCAEIAJBiAFqKAIANgLQASAEIAJBgAFqKQMANwPIASAHIAZByAD8CgAAIAUgAkGQAWoiAkcNAAsLIAQoAlhBAUcNAgwJC0HIABCQASIDRQ0FIAkgCikCMDcCMCAJIAopAig3AiggCSAKKQIgNwIgIAkgCikCGDcCGCAJIAopAhA3AhAgCSAKKQIINwIIIAkgCikCADcCACADIAY2AgggAyAONgIEIAMgDTYCACADIAQpAsgBNwIMIAMgBCkC0AE3AhQgAyAEKQLYATcCHCADIAQpAuABNwIkIAMgBCkC6AE3AiwgAyAEKQLwATcCNCADIAQpAvgBNwI8IAMgBCgCgAI2AkQMAwsgBCgCPCECIAQoAkAhAyAEQQhqIBEQogYgBCgCCEEBRw0GIAQoAgwiBSADSQ0BIAUgA0HkhMcAEIUTAAsgBEHYAGoQ8AUMBgtByAAQkAEiA0UNAyAEQZABaiACIAVByABsahCOByAJIAQpA8ABNwIwIAkgBCkDuAE3AiggCSAEKQOwATcCICAJIAQpA6gBNwIY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DAQLIAAoAgwiACABKAIMIgFLIAAgAUlrIQIMAwtBf0EBIAsgDFYbIQILIAJBAEogAkEASGshAgwBCyACIAZIIAIgBkprIQILIARBMGokACACC5EVAQ5/IwBBoAFrIgMkAEEBIQICQAJAIAEoAgBBAUYEQCABKAIEIgggASgCCE8NASABIAhBAWo2AgQLIAEoAowBIgIgASgCiAEiCkYEQCABKAIgIQwgASgCLCEJCyABKAIUIQgCQCABLQCQAUECRwRAIAghBgwBCyAIIQYgAS0AkQFFDQAgASgCDCAIRgRAIAFBDGoQmhILIAEoAhAgCEEUbGoiAiAKNgIIIAJBADYCBCACQQA6AAAgASAIQQFqIgY2AhQgASgCjAEhAgsgAiAKRgRAIAEoAiwgASgCIGohDQsgASgCeCEOIAEoAlwhDwJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8EQEEBIQQMAgsgASACQQFqNgIECyADIAEoAogBIgI2AnggAyABKQKAATcDcAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABB+wBHDQAgASACQQFqNgKIAUEBIQQLAn8CQAJAAkACQAJAAkAgAS0AfEEBRgRAQQEQkAEiBUUNASAFQfsAOgAAIANBATYCjAEgAyAFNgKIASADQoCAgIAQNwKAASABIAIgA0GAAWogBBD5CAsgBEUNBQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQcgASACQQFqIgU2AgQgBCAFTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQegAaiABEJQKIAMoAmggAygCbCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0HYAGogARCUCiADKAJcIQEgAygCWCECDAELIAFBADoAkQEgA0HgAGogARCUCiADKAJgIQIgAygCZCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFHDQEgASgCBCIEIAEoAggiB08NBSABIARBAWoiAjYCBCACIAdPDQUgASgCFCEFIAEgBEECaiICNgIEIAIgB08NBCABIARBA2oiCzYCBCADIAFBgAFqIgIoAgg2ApgBIAMgAikCADcDkAEgByALTQ0DIAEgBEEEajYC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EJABIgdFDQkgB0EAOgAUIAdBxObHADYCDCAHIAE2AgggB0KBgICAEDcCACACIAIoAgAiAUEBazYCACABQQFGBEAgAhAwCyADQRBqIAYQ8A4gAygCFCICQQBIDQMgAg0BQQEhBAwGCyADQawBaiAGEPEKIANBATYCqAEgAygCrAEiAigCACEBIAIgAUEBajYCACABQQBIDQQgAygCtAEhByADKAKwASEIIAIgAigCACIBQQFqNgIAIAFBAEgNBEEYEJABIgVFDQggBUEAOgAUIAVBhOfHADYCDCAFQQE2AgggBUKBgICAEDcCACACIAIoAgAiAUEBazYCACABQQFGBEAgAygCrAEQMAsgA0EIaiAGEPAOIAMoAgwiBEEASA0CIARFBEBBASEGDAQLIAMoAgghASAEEJABIgYNAQwJCyADKAIQIQEgAhCQASIERQRADAkLIAJFDQQgBCABIAL8CgAADAQLIARFDQEgBiABIAT8CgAADAELEJ4VAAtB5AAQkAEiAQRAIAEgBTYCYCABQQA6AFwgASAHNgJMIAEgCDYCSCABIAI2AkQgAUEBNgJAIAFBGzoAPCABQX82AiwgASAHNgIoIAEgCDYCJCABIAI2AiAgAUEBNgIcIAFBfzYCECABQoGAgIAQNwIIIAFCgYCAgBA3AgAgAEEAOwFEIAAgBDYCQCAAIAY2AjwgACAENgI4IABCBDcDMCAAQgE3AyggACABNgIkIABBATYCICAAQX42AgAMAwsMAwsAC0HkABCQASIBRQ0BIAEgBzYCYCABQQA6AFwgASAINgJYIAEgCTYCVCABIAU2AlAgAUKAgICAEDcCSCABQoCAgIAQNwJAIAFBGDoAPCABQX82AiwgASAINgIoIAEgCTYCJCABIAU2AiAgAUEBNgIcIAFBfzYCECABQoGAgIAQNwIIIAFCATcCACAAQgQ3AzAgAEIBNwMoIABBADsBRCAAIAI2AkAgACAENgI8IAAgAjYCOCAAIAE2AiQgAEEBNgIgIABBfjYCAAsgA0HQAWokAA8LQbjwyQBBAToAAAALQbjwyQBBAToAAAALQQEQpxQAC/cWARZ/IwBBsAdrIgMkACACKAIIIQYgA0IANwOoASADQoCAgICgBjcDoAEgA0KAgICAwAA3A5gBQX8hCSADQX82AiggA0EANgIQIANCADcDsAEgA0EAOgDAASADQoCAgIBwNwO4ASADIAIoAgA2ApABIAMgAigCBCICNgKMASADIAI2AogBIAMgAiAGQfAAbGo2ApQBIANBATYCyAEgBkEybiICIAYgAkEybEZrIRUgA0GoBGohCiADQcAGaiICQRRqIQ8gAkEIaiELIANB0QZqIRAgA0HjBWohESADQaQEaiESIANBoARqIRYgA0H0AmohFyADQeACaiEMIANB/AFqIQ0gA0HUAWohEyACQQRqIRQgA0EQaiEOQQAhAkEAIQYCQAJAAkADQCADQX82AggCQAJAIAIgAygCtAFJDQACQAJAIAMoArABIgcgAksNACACIAdGBEAgAygCoAEgAiADKAK4AWtLDQEgAy0AwAENAyADQcAGaiAOEKkJDAILIAMtAMABDQIgA0HABmogDhDpAQwBCyADQcAGaiAOIAIQkQoLIAMoAgghByADKALQBiIEQX9HDQEgByEJCyADIAlBAWo2AgggA0EIahCaDCAAQX42AgAMBAsgAyADKQPIBjcD2AMgAyADKQPABjcD0AMgDSAPQdwA/AoAACADIAdBAWo2AgggFCADKQPYAzcCCCAUIAMpA9ADNwIAIAMgAykCwAY3A9ABIAMgAykCyAY3A9gBIAMgAygC0AY2AuABIAMgEykCADcD6AEgAyATKQIINwPwASADQX42AvACIAMgAjYC3AIgAyAENgL4ASADIANBCGo2AtgCQRIQkAEiAkUNASACQd3RxQAvAAA7ABAgAkHV0cUAKQAANwAIIAJBzdHFACkAADcAACADQRI2AsgGIAMgAjYCxAYgA0ESNgLABiABIANBwAZqIgQQ/A1BARCQASICRQ0CIAZBAWohByACQSg6AAAgA0EBNgLIBiADIAI2AsQGIANBATYCwAYgASAEEPwNIAMoAvACIQIgAygC+AEhBANAIANBfjYC8AICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkF+RwRAIAMgAjYCoAQgAyAMKQMINwOYBCADIAwpAwA3A5AEIBIgF0HcAPwKAAAMAQsgAygC+AEhAiADQX82AvgBIAJBf0cEQCADIAMpA/ABNwOYBCADIAMpA+gBNwOQBCADIAI2AqAEIBIgDUHcAPwKAABBfyEEDAILAkACQCADKALYAiICKAIARQRAIAMoAtwCIQQgAkF/NgIA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ACADQdQAbGoiASgCAEGCgICAeEcNBiACIAEpAgg3AgggAiAAQeAAajYCECACIABBEGo2AhQgAkF/NgIYCyACIAJBGGqtQoCAgIDwGoQ3A2AgAiACQRRqrUKAgICA4CaENwNYIAIgAkEQaq1CgICAgPAmhDcDUCACIAJBCGqtQoCAgIDQAYQ3A0ggBSAGQcyQwgAgAkHIAGoQsQkhASACKAIYIgBBf0YNACAARQ0AIAIoAhwiBkEEaygCACIFQXhxIQMgA0EEQQggBUEDcSIFGyAAakkNASAFQQBHIAMgAEEnaktxDQIgBhC8BQsgAkGgAmokACABDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAEgA0HMu8QAEIUTAAsgAyAEQcy7xAAQhRMAC0HMu8QAEJ0VAAtB8LXJAEE3IAJBnwJqQfSWxgBBqLbJABDaEgALsBMBFX8jAEFAaiIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIMRgRAIAEoAiAhDiABKAIsIQoLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEHDAELIAYhByABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAw2AgggAkEANgIEIAJBADoAACABIAZBAWoiBzYCFCABKAKMASECCyACIAxGBEAgASgCLCABKAIgaiEPCyABKAJ4IREgASgCXCESAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIAMgASgCiAEiAjYCKCADIAEpAoABNwMgAkAgAiABKAKEAU8NACABQYABaigCACACai0AAEEiRw0AIAEgAkEBajYCiAFBASEECwJAAkACQCABLQB8QQFGBEBBARCQASIFRQ0BIAVBIjoAACADQQE2AjwgAyAFNgI4IANCgICAgBA3AjAgASACIANBMGogBBD5CAsgBEUNAiABKAIAQQFGBEAgASgCBCICIAEoAghPDQMgASACQQFqNgIEC0EAIQRBACEFIAEoAowBIgggASgCiAEiAkYEQCABKAIgIQUgASgCLCEECyABKAIUIQkgAS0AkAFBAkcNASABLQCRAUUN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DSEEDBgLIAMpAxAiC0IgiKchBiALpyEJQQ0hBCADKAIMIQcMFwsgAyADKQMQNwOoASADIANBqAFqrUKAgICAIIQ3A4ABIANBOGogA0GAAWoQ0BIgAykCPCILQiCIpyEGIAMoAjghByALpyEJQQ0hBAwWCyADKQMQIgtCIIinIQYgC6chCUEYIQQMFQsgA0EANgKwASADQoCAgIAQNwKoASADQYABaiICIAFBBGoQ+AkgA0GoAWogAkEkEPASGkEADQkgAykCrAEiC0IgiKchBiADKAKoASEHIAunIQlBDSEEDBQLIAhBCUcNCgwRCyAIQQpHDQkMEAsgASgCDCABKAIIIQUgA0GAAWohBCMAQSBrIgIkACACQQA2AgggAkKAgICAEDcCACACQeTtxgA2AhAgAkKggICABjcCFCACIAI2AgwgAUEIaiACQQxqEPcBBEBB8LXJAEE3IAJBH2pB/O3GAEGotskAENoSAAsgBCACKAIINgIIIAQgAikCADcCACACQSBqJAAgAykChAEiC0IgiKchBiADKAKAASEHIAunIQlBDSEEIAVFDREgBUECdBDZEgwRCyADIAEpAxg3A5ABIAMgASkDEDcDiAEgAyABKQMINwOAASADQagBaiADQYABahDKCSADKAKoAQ0KQdD5xgAQnRUACyADKQMQIgtCIIinIQYgC6cMCgsgCEELRw0FDAwLIAMgCEECdEGk0MkAaigCACIBNgKAASADKAIMIQIgA0GAAWoQwBIgASACRw0DDAULQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HwtckAQTcgA0HPAWpB/O3GAEGotskAENoSAAsgAygCDCIBQQVGBEAgAygCECADIAhBAnRB2NDJAGooAgAiAjYCgAEoAgAgA0GAAWoQwBIgAkYNAiADKAIMIQELIAFBDEYNAgsgAyADKQMgNwOYASADIAMpAxg3A5ABIAMgAykDEDcDiAEgAyADKQMINwOAASADIANBKGoiASgCCDYCsAEgAyABKQIANwOoASADIANBgAFqIgGtQoCAgICQKYQ3A2ggAEEIakHPrcAAIANB6ABqIgIQuAwgAyADQagBaq1CgICAgKAphDcDaCAAQRRqQc+twAAgAhC4DCAAQoGAgIDgADcDACABEIgEDAwLQRohBSADKAIQIQkgAygC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gAEgAkGQqckAKQMANwKsASACQZipyQApAwA3ArQBIAJBgAFqIgNB65nJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBgLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AFBwPDJACALQgF8NwMAIAJBADYC6AEgAkKAgICAgAE3A+ABIAIgCjcD2AEgAkKAgICAcDcDwAEgAkGQqckAKQMANwLsASACQZipyQApAwA3AvQBIAJBwAFqIgNB75nJAEEDELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBcLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkAJBwPDJACALQgF8NwMAIAJBADYCqAIgAkKAgICAgAE3A6ACIAIgCjcDmAIgAkKAgICAcDcDgAIgAkGQqckAKQMANwKsAiACQZipyQApAwA3ArQCIAJBgAJqIgNB8pnJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBYLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AJBwPDJACALQgF8NwMAIAJBADYC6AIgAkKAgICAgAE3A+ACIAIgCjcD2AIgAkKAgICAcDcDwAIgAkGQqckAKQMANwLsAiACQZipyQApAwA3AvQCIAJBwAJqQfCXyQBBBBC3DCIDRQ0MDBQLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkANBwPDJACALQgF8NwMAIAJBADYCqAMgAkKAgICAgAE3A6ADIAIgCjcDmAMgAkKAgICAcDcDgAMgAkGQqckAKQMANwKsAyACQZipyQApAwA3ArQDIAJBgANqIgNB9pnJAEEEELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBQLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0ANBwPDJACALQgF8NwMAIAJBADYC6AMgAkKAgICAgAE3A+ADIAIgCjcD2AMgAkKAgICAcDcDwAMgAkGQqckAKQMANwLsAyACQZipyQApAwA3AvQDIAJBwANqIgNB+pnJAEEGELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBMLIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkARBwPDJACALQgF8NwMAIAJBADYCqAQgAkKAgICAgAE3A6AEIAIgCjcDmAQgAkKAgICAcDcDgAQgAkGQqckAKQMANwKsBCACQZipyQApAwA3ArQEIAJBgARqIgNBhJrJAEEIELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBILIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0ARBwPDJACALQgF8NwMAIAJBADYC6AQgAkKAgICAgAE3A+AEIAIgCjcD2AQgAkKAgICAcDcDwAQgAkGQqckAKQMANwLsBCACQZipyQApAwA3AvQEIAJBwARqIgNBjJrJAEEFELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBELIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcDkAVBwPDJACALQgF8NwMAIAJBADYCqAUgAkKAgICAgAE3A6AFIAIgCjcDmAUgAkKAgICAcDcDgAUgAkGQqckAKQMANwKsBSACQZipyQApAwA3ArQFIAJBgAVqIgNB7LHJAEEGELcMIgFFDQwgAEF/NgIQIAAgATYCACADEMMLDBALIAICfiADQQFxBEBByPDJACkDACEKQcDwyQApAwAMAQsgAkHABmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDyAYiCjcDACACKQPABgsiCzcD0AVBwPDJACALQgF8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AQsgAUEAOgCRASADQdgAaiABEJQKIAMoAlghAiADKAJcIgEgBDoAkQELIAJBAUcNAAsLQQAhAgJAIAEoAogBIgQgASgChAFPDQAgASgCgAEgBGotAABBPUcNACABIARBAWo2AogBQQEhAgsgAS0AfEEBRgRAQQEQkAEiCEUNCSAIQT06AAAgA0EBNgKsASADIAg2AqgBIANCgICAgBA3AqABIAEgBCADQaABaiACEPkICyACRQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyABQQA6AJEBIANByABqIAEQlAogAygCSCADKAJMIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQThqIAEQlAogAygCPCEBIAMoAjghAgwBCyABQQA6AJEBIANBQGsgARCUCiADKAJAIQIgAygCRCIBIAQ6AJEBCyACQQFHDQALCyADQTBqIAEQ8AEgAygCNCEBIAMoAjBBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgg2AgQgBCAITQ0BIAEgAkECajYCBAsgAUEAOgCRASADQShqIAEQlAogAygCKCADKAIsIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQRhqIAEQlAogAygCHCEBIAMoAhghAgwBCyABQQA6AJEBIANBIGogARCUCiADKAIgIQIgAygCJCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NASABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyADQRBqIAEQngMgAygCFCEBAkAgAygCEEEBcQ0AIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NASABIAJBAWo2AgQLIANBCGogARDtCyADKAIMIQEgAygCCEEBcQ0AA0AgAyABEO0LIAMoAgQhASADKAIAQQFxRQ0ACwsgAS0AkAEiAkEBRw0EIAEtAJEBRQ0MIAEoAowBIgIgB0cNAiAL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BDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGo2AiAgACACQSBqENcBDQggAigCIEGkssgAQQIgAigCJCgCDBEAAA0ICyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBwtBASEDIAEoAgAiBEHKmskAQQQgASgCBCIGKAIMIgURAAANBiAAQQhqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQggACABENcBRQ0BDAgLIARBnePCAEECIAURAAANByACQQE6AAggAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGo2AiAgACACQSBqENcBDQcgAigCIEGkssgAQQIgAigCJCgCDBEAAA0HCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBgtBASEDIAEoAgAiBEGsmskAQQUgASgCBCIGKAIMIgURAAANBSAAQQFqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQcgACABEJgURQ0BDAcLIARBnePCAEECIAURAAANBiACQQE6AAggAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGoiBDYCICAAIAJBIGoQmBQNBiAEQaSyyABBAhD9CA0GCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBQtBASEDIAEoAgAiBEHOmskAQQYgASgCBCIGKAIMIgURAAANBCAAQQRqIQACQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQYgAiAANgIgIAFBgZvJAEELQYybyQBBBiACQSBqQa0CEJIRRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6ABMgAiAGNgIYIAIgBDYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkETajYCHCACIAJBFGo2AiAgAiAANgIIIAJBIGpBgZvJAEELQYybyQBBBiACQQhqQa0CEJIRDQUgAigCIEGkssgAQQIgAigCJCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMMBAsgASgCAEHUmskAQQYgASgCBCgCDBEAAARAQQEhAwwECwJAIAEtAApBgAFxRQRAIAEoAgBBl+PCAEEDIAEoAgQoAgwRAAAEQEEBIQMMBgsgASgCAEHamskAQQMgASgCBCgCDBEAAARAQQEhAwwGCyABKAIAQaayyABBAiABKAIEKAIMEQAABEBBASEDDAYLIAAoAgQgARC/AkUNAUEBIQMMBQsgASgCAEGa48IAQQMgASgCBCgCDBEAAARAQQEhAwwFC0EBIQMgAkEBOgAIIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGoiBDYCICAEQdqayQBBAxD9CA0EIARBprLIAEECEP0IDQQgACgCBCACQSBqEL8CDQQgAigCIEGkssgAQQIgAigCJCgCDBEAAEUNAAwECwJAAkAgAS0ACkGAAXFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARAQQEhAwwHCyABKAIAQd2ayQBBBiABKAIEKAIMEQAABEBBASEDDAcLIAEoAgBBprLIAEECIAEoAgQoAgwRAABFDQFBASEDDAYLIAEpAgghByABKQIAIQhBASEDIAJBAToACCACIAg3AhQgAiAHNwIoIAJBoOvCADYCJCACIAJBCGo2AhwgAiACQRRqIgQ2AiAgBEHdmskAQQYQ/QgNBSAEQaayyABBAhD9CA0FIAAoAgggAkEgahC/AgRADAYLIAIoAiBBpLLIAEECIAIoAiQoAgwRAABFDQEMBQtBASEDIAAoAgggARC/Ag0ECyABLQAKQYABcUUEQCABKAIAQe3qwgBBAiABKAIEKAIMEQAAIQMMBAsgASgCAEGhssgAQQEgASgCBCgCDBEAACEDDAMLIAEoAgBB45rJAEEKIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQe2ayQBBBiAAQQhqQZ4CEIkOIAItAAwEQEEBIQMMAwsgAi0ADSEEKAIAIgEtAApBgAFxRQRAQQEhAyABKAIAQYizyQBBl+PCACAEQQFxIgQbQQJBAyAEGyABKAIEKAIMEQAADQMgASgCAEHdmskAQQYgASgCBCgCDBEAAA0DIAEoAgBBprLIAEECIAEoAgQoAgwRAAANAyAAKAIEIAEQvwINAwwCC0EBIQMgBEEBcUUEQCABKAIAQZrjwgBBAyABKAIEKAIMEQAADQMLIAJBAToAEyACQaDrwgA2AiQgAiABKQIANwIUIAIgASkCCDcCKCACIAJBE2o2AhwgAiACQRRqIgQ2AiAgBEHdmskAQQYQ/QgNAiAEQaayyABBAhD9CA0CIAAoAgQgAkEgahC/Ag0CIAIoAiBBpLLIAEECIAIoAiQoAgwRAABFDQEMAgtBASEDIAEoAgBB85rJAEEKIAEoAgQoAgwRAAANASAAQQhqIQACQCABLQAKQYABcUUEQCABKAIAQZfjwgBBAyABKAIEKAIMEQAADQMgASgCAEHtmskAQQYgASgCBCgCDBEAAA0DIAEoAgBBprLIAEECIAEoAgQoAgwRAAANAyAAIAEQzwINAwwBCyABKAIAQZrjwgBBAyABKAIEKAIMEQAADQIgAkEBOgAIIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEIajYCHCACIAJBFGoiBDYCICAEQe2ayQBBBhD9CA0CIARBprLIAEECEP0IDQIgACACQSBqEM8CDQIgAigCIEGkssgAQQIgAigCJCgCDBEAAEUNAAwCCyABLQAKQYABcUUEQCABKAIAQe3qwgBBAiABKAIEKAIMEQAAIQMMAgsgASgCAEGhssgAQQEgASgCBCgCDBEAACEDDAELIAEtAApBgAFxRQRAIAEoAgBB7erCAEECIAEoAgQoAgwRAAAhAwwBCyABKAIAQaGyyABBASABKAIEKAIMEQAAIQMLIAJBMGokACADC98RAhF/A34jAEGgA2siAiQAIAEoAgAhAyACQRhqIgRBBGogAUEEaiIPEPwIIAIgAzYCGCACQYABaiIJIAQQ6gYCQAJAAkACQAJAIAIoAoABQX9HBEBBgAMQkAEiA0UNAiADIAlB4AD8CgAAIAJBATYCfCACIAM2AnggAkEENgJ0IAJB5AFqIARB3AD8CgAAQeAAIQhBASEEA0AgAkHAAmogAkHkAWoQ6gYgAigCwAJBf0cEQCACKAJ0IARGBEAgAkH0AGogBEEBQQRB4AAQsxEgAigCeCEDCyADIAhqIAJBwAJqQeAA/AoAACACIARBAWoiBDYCfCAIQeAAaiEIDAELCyACIAIpAnQ3AwggAiACKAJ8NgIQDAELIAJBADYCECACQoCAgIDAADcDCAsgASgCBCIMQRhqKAIAIQMgASgCDCEQIAEoAgghDUEAIQQCQCAMQRxqKAIAIgUiCA4CAwIACwNAAn8gAyAIQQF2IgkgBGoiEUHwAGxqIgZB2ABqKAIAIgogDUcEQCAKIA1JDAELIAZB3ABqKAIAIBBJCyEGIBEgBCAGGyEEIAggCWsiCEEBSw0ACwwBC0EEEKcUDAILAn8gAyAEQfAAbGoiCUHYAGooAgAiCCANRwRAIAggDUkMAQsgCUHcAGooAgAgEEkLIARqIQgLIAxBCGohESADIAVB8ABsaiEJIAMgCEHwAGxqIQQCQCAFIAhGBEBBACEDDAELQQEhBwJAAkADQCAEIgNB8ABqIQQgAygCWCANRw0CIAMoAlwgEEcNAgJAAkAgDCgCvAJFDQAgDCgCtAIiCiAIIAtqIgZB3cvdnnlsQQ93IgVxIQMgBUEZdq1CgYKEiJCgwIABfiEVIAwoArACIQ5BACEFA0AgAyAOaikAACIUIBWFIhNCgYKEiJCgwIABfSATQn+Fg0KAgYKEiJCgwIB/gyITQgBSBEADQCAGIA4gE3qnQQN2IANqIApxQQN0ayISQQhrKAIARg0EIBNCAX0gE4MiE0IAUg0ACwsgFCAUQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAVBCGoiBSADaiAKcSEDDAALAAtB1LnEAEEWQZS5xAAQwBMACwJAIBEgEkEEaygCABDaBg0AIA8oAgAiAygCACEFIAMgBUEBajYCACAFQQBIDQUgA0EIaiAGEPcQLQBYQQJGDQIgAyADKAIAIgZBAWs2AgAgBkEBRw0AIAMQMAsgC0EBaiELIAQgCUcNAAtBACEHIAkhBEEAIQMMAgsgC0EBaiELQQAhBwwBC0EAIQMLAkACQAJAAkACQAJAAkACQAJ/AkACQCADRQ0AQSAQkAEiBUUNCiAFIAM2AgAgBSAGNgIEIAJBATYCyAIgAiAFNgLEAiACQQQ2AsACA0BBACEDAn8CQCAHQQFxDQBBACAEIAlGDQEaAkADQCAEIgZB8ABqIQQgBigCWCANRw0CIAYoAlwgEEcNAgJAAkAgDCgCvAJFDQAgDCgCtAIiCiAIIAtqIgZB3cvdnnlsQQ93IgVxIQcgBUEZdq1CgYKEiJCgwIABfiEVIAwoArACIQ5BACEFA0AgByAOaikAACIUIBWFIhNCgYKEiJCgwIABfSATQn+Fg0KAgYKEiJCgwIB/gyITQgBSBEADQCAGIA4gE3qnQQN2IAdqIApxQQN0ayISQQhrKAIARg0EIBNCAX0gE4MiE0IAUg0ACwsgFCAUQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAVBCGoiBSAHaiAKcSEHDAALAAtB1LnEAEEWQZS5xAAQwBMACwJAIBEgEkEEaygCABDaBg0AIA8oAgAiBygCACEFIAcgBUEBajYCACAFQQBIDREgB0EIaiAGEPcQLQBYQQJGDQIgByAHKAIAIgZBAWs2AgAgBkEBRw0AIAcQMAsgC0EBaiELIAQgCUcNAAtBAAwCCyALQQFqIQsgByEDQQAMAQtBAQshByADBEAgAigCyAIiBSACKALAAkYEQCACQcACaiAFQQFBBEEIELMRCyACKALEAiAFQQN0aiIKIAY2AgQgCiADNgIAIAIgBUEBajYCyAIMAQsLIAIoAsQCIQQgAigCwAIhBiACKALIAiIJDQEgBkUNACAEQQRrKAIAIgNBeHEhASABIAZBA3QiBkEEQQggA0EDcSIDG2pJDQMgA0EARyABIAZBJ2pLcQ0EIAQQvAULIAIoAhAMAQsgASgCCCIDIAEoAgQiCEGgAmooAgAiB08NAyABKAIMIgcgCEGcAmooAgAgA0EkbGoiA0EgaigCACIITw0EIANBHGooAgAgB0HUAGxqIgMoAgBBgoCAgHhHDQUgASgCACEHIAIgAykCCDcCGCACIAJBGGqtQoCAgICAIYQ3A4ABIAJB5AFqQfO/wQAgAkGAAWoQuAwgAiACKQLkATcAwwIgAiACKALsATYAywJBEBCQASIBRQ0GIAEgBzYCDCABIAk2AgggASAENgIEIAEgBjYCAEEYEJABIgRFDQcgBEEAOgAUIARBlOrHADYCDCAEIAE2AgggBEKBgICAEDcCACACIAIpAMACNwOAASACIAIpAMcCNwCHASACKAIQIgMgAigCCEYEQCACQQhqIANBAUEEQeAAELMRIAIoAhAhAwsgAigCDCADQeAAbGoiAUEwOgAsIAFBADYCICABQQE6ABwgAUEGNgIYIAFBzPbIADYCFCABQX82AhAgAUECNgIAIAEgAikDgAE3AC0gASACKQCHATcANCABQQA6AFwgAUEANgJYIAFBADoAVCABIAQ2AlAgAUEAOgBMIANBAWoLIQEgACACKQMINwIAIAAgATYCCCAPKAIAIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIA8oAgAQMAsgAkGgA2okAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyADIAdBzLvEABCFEwALIAcgCEHMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAALQbjwyQBBAToAAAALQQQQpxQACwAL1g8CCX8BfiMAQSBrIgMkAAJAAkACQAJAAkACQAJAA0ACQAJAAkACQAJAAkAgAS0AAA4KAQIDBwAAAAAABAALQaCryQBBKEGIusYAEK8UAAsgASgCDEHQAGwiBCABKAIIIgdqIQpBACEBAkADQAJAAkAgAUUNACABIAVHDQEgCEUNACABQQRrKAIAIgVBeHEhAiACIAhBAnQiCEEEQQggBUEDcSIFG2pJDQ0gBUEARyACIAhBJ2pLcQ0OIAEQvAULIARFDQIgA0EUaiAHEMECIAMoAhQiCEF/Rg0CIARB0ABrIQQgB0HQAGohByADKQIYIgunIQEgASALQiCIp0ECdGohBQwBCwsgBSABQQRqIgRrIgJBfEYNB0EDIAJBAnYiAiACQQNNG0EBaiICQQJ0IgZB/f///wdPDQcgASgCACEJAkAgBkUEQEEAIQJBBCEGDAELIAYQkAEiBkUNDQsgBiAJNgIAIANBATYCECADIAY2AgwgAyACNgIIQQEhCQNAAkACQCABRQ0AIAQgBUcNASAIRQ0AIAFBBGsoAgAiAkF4cSEEIAQgCEECdCIFQQRBCCACQQNxIgIbakkNDSACQQBHIAQgBUEnaktxDQ4gARC8BQsgByAKRg0GIANBFGogBxDBAiADKAIUIghBf0YNBiAHQdAAaiEHIAMpAhgiC6chASABIAtCIIinQQJ0aiEFIAEhBAwBCyAEQQRqIQIgBCgCACEEIAMoAgggCUYEQCADQQhqIAkgBSACa0ECdkEBakEEQQQQsxEgAygCDCEGCyAGIAlBAnRqIAQ2AgAgAyAJQQFqIgk2AhAgAiEEDAALAAsgAEEANgIIIABCgICAgMAANwIADAgLIAEoAgxB0ABsIgQgASgCCCIHaiEKQQAhAQJAA0ACQAJAIAFFDQAgASAFRw0BIAhFDQAgAUEEaygCACIFQXhxIQIgAiAIQQJ0IghBBEEIIAVBA3EiBRtqSQ0MIAVBAEcgAiAIQSdqS3ENDSABELwFCyAERQ0CIANBFGogBxDBAiADKAIUIghBf0YNAiAEQdAAayEEIAdB0ABqIQcgAykCGCILpyEBIAEgC0IgiKdBAnRqIQUMAQsLIAUgAUEEaiIEayICQXxGDQZBAyACQQJ2IgIgAkEDTRtBAWoiAkECdCIGQf3///8HTw0GIAEoAgAhCQJAIAZFBEBBACECQQQhBgwBCyAGEJABIgZFDQwLIAYgCTYCACADQQE2AhAgAyAGNgIMIAMgAjYCCEEBIQkDQAJAAkACQCABRQ0AIAQgBUcNASAIRQ0AIAFBBGsoAgAiAkF4cSEEIAQgCEECdCIFQQRBCCACQQNxIgIbakkNDSACQQBHIAQgBUEnaktxDQ4gARC8BQsgByAKRg0BIANBFGogBxDBAiADKAIUIghBf0YNASAHQdAAaiEHIAMpAhgiC6chASABIAtCIIinQQJ0aiEFIAEhBAwCCyAEQQRqIQIgBCgCACEEIAMoAgggCUYEQCADQQhqIAkgBSACa0ECdkEBakEEQQQQsxEgAygCDCEGCyAGIAlBAnRqIAQ2AgAgAyAJQQFqIgk2AhAgAiEEDAELCyAAIAMoAhA2AgggACADKQIINwIADAgLIABBADYCCCAAQoCAgIDAADcCAAwHCyABKAIMQdAAbCIEIAEoAggiB2ohCkEAIQECQANAAkACQCABRQ0AIAEgBUcNASAIRQ0AIAFBBGsoAgAiBUF4cSECIAIgCEECdCIIQQRBCCAFQQNxIgUbakkNCyAFQQBHIAIgCEEnaktxDQwgARC8BQsgBEUNAiADQRRqIAcQwQIgAygCFCIIQX9GDQIgBEHQAGshBCAHQdAAaiEHIAMpAhgiC6chASABIAtCIIinQQJ0aiEFDAELCyAFIAFBBGoiBGsiAkF8Rg0FQQMgAkECdiICIAJBA00bQQFqIgJBAnQiBkH9////B08NBSABKAIAIQkCQCAGRQRAQQAhAkEEIQYMAQsgBhCQASIGRQ0LCyAGIAk2AgAgA0EBNgIQIAMgBjYCDCADIAI2AghBASEJA0ACQAJAAkAgAUUNACAEIAVHDQEgCEUNACABQQRrKAIAIgJBeHEhBCAEIAhBAnQiBUEEQQggAkEDcSICG2pJDQwgAkEARyAEIAVBJ2pLcQ0NIAEQvAULIAcgCkYNASADQRRqIAcQwQIgAygCFCIIQX9GDQEgB0HQAGohByADKQIYIgunIQEgASALQiCIp0ECdGohBSABIQQMAgsgBEEEaiECIAQoAgAhBCADKAIIIAlGBEAgA0EIaiAJIAUgAmtBAnZBAWpBBEEEELMRIAMoAgwhBgsgBiAJQQJ0aiAENgIAIAMgCUEBaiIJNgIQIAIhBAwBCwsgACADKAIQNgIIIAAgAykCCDcCAAwHCyAAQQA2AgggAEKAgICAwAA3AgAMBgsgASgCCCEBDAELCyAAIAMoAhA2AgggACADKQIINwIADAMLIAFBCGoQygwiBARAQQQQkAEiAUUNAiAAQQE2AgggACABNgIEIABBATYCACABIAQ2AgAMAwsgAEEANgIIIABCgICAgMAANwIADAILEJ4VAAtBuPDJAEEBOgAAAAsgA0EgaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQQQpxQAC/APAQR/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAADjArKysrAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGSsaGxwdHh8gISIrIyQlJicoKSoACyAAKAIEIgFFDSogACgCCCABENkSDCoLIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDSkgASABKAIAIgFBAWs2AgAgAUEBRw0pDCoLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDSgMKQsgACgCDCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIMEDALIAAoAgQiAUUNJyABIAEoAgAiAUEBazYCACABQQFHDScMKAsgACgCDCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIMEDALIAAoAgQiAUUNJiABIAEoAgAiAUEBazYCACABQQFHDSYMJwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNJQwmCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0kDCULIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDSMMJAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNIgwjCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0hDCILIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDSAMIQsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNHwwgCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAgwQMAsgACgCBCIBRQ0eIAEgASgCACIBQQFrNgIAIAFBAUcNHgwfCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0dDB4LIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFHDRwgACgCFBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNGwwcCyAAKAIEIgFFDRoMHAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNGQwaCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0YDBkLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDRcMGAsCQAJAIAAoAhBFBEAgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUYNAQwCCyAAKAIUIgIoAgAhASACIAFBAWs2AgAgAUEBRw0BCyAAKAIUEDALIAAoAgQiAUUNFgwYCwJAAkAgACgCEEUEQCAAKAIUIgIoAgAhASACIAFBAWs2AgAgAUEBRg0BDAILIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFHDQELIAAoAhQQMAsgACgCBCIBRQ0VDBcLIAAoAgQaIAAoAggiAigCACEBIAIgAUEBazYCACABQQFHDRQMFwsgACgCBBogACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNEwwWCyAAKAIEGiAAKAIIIgIoAgAhASACIAFBAWs2AgAgAUEBRw0SDBULIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCBBAwCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRw0RIAAoAgwQMA8LIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCBBAwCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRw0QIAAoAgwQMA8LIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQ8MEAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNDgwPCyAAKAIQIgIoAgAhASACIAFBAWs2AgAgAUEBRw0NIAAoAhAQMA8LIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFHDQwgACgCFBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNCwwMCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0KDAsLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQkMCgsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNCAwJCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAgwQMAsgACgCBCIBRQ0HIAEgASgCACIBQQFrNgIAIAFBAUcNBwwICyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAgwQMAsgACgCBCIBRQ0GIAEgASgCACIBQQFrNgIAIAFBAUcNBgwHCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0FDAYLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQQMBQsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNAwwECyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0CDAMLIAAoAgQaIAAoAggiAigCACEBIAIgAUEBazYCACABQQFHDQEMBAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNACAAKAIEEDALDwsgACgCBBAwDwsgACgCCCABENkSDwsgACgCCBAwC/oQAQN/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAADjArKysrAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGSsaGxwdHh8gISIrIyQlJicoKSoACyAAKAIEIgFFDSoMKwsgACgCDCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIMEDALIAAoAgQiAUUNKSABIAEoAgAiAUEBazYCACABQQFHDSkMKwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNKAwqCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAgwQMAsgACgCBCIBRQ0nIAEgASgCACIBQQFrNgIAIAFBAUcNJwwpCyAAKAIMIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAgwQMAsgACgCBCIBRQ0mIAEgASgCACIBQQFrNgIAIAFBAUcNJgwoCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0lDCcLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDSQMJgsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNIwwlCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0iDCQLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDSEMIwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNIAwiCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0fDCELIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDR4gASABKAIAIgFBAWs2AgAgAUEBRw0eDCALIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDR0MHwsgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUcNHCAAKAIUEDAPCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0bDB0LIAAoAgQiAUUNGgwbCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0ZDBsLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDRgMGgsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNFwwZCwJAAkAgACgCEEUEQCAAKAIUIgIoAgAhASACIAFBAWs2AgAgAUEBRg0BDAILIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFHDQELIAAoAhQQMAsgACgCBCIBRQ0WDBcLAkACQCAAKAIQRQRAIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFGDQEMAgsgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUcNAQsgACgCFBAwCyAAKAIEIgFFDRUMFgsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMFgsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNFQsMFwsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMFQsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNFAsMFgsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMFAsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNEwsMFQsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIEEDALIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFHDREgACgCDBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAIEEDALIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFHDRAgACgCDBAwDwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNDwwRCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0ODBALIAAoAhAiAigCACEBIAIgAUEBazYCACABQQFHDQ0gACgCEBAwDwsgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUcNDCAAKAIUEDAPCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0LDA0LIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQoMDAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNCQwLCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0IDAoLIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDQcgASABKAIAIgFBAWs2AgAgAUEBRw0HDAkLIAAoAgwiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgCDBAwCyAAKAIEIgFFDQYgASABKAIAIgFBAWs2AgAgAUEBRw0GDAgLIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQUMBwsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNBAwGCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0DDAULIAAoAgQiAigCACEBIAIgAUEBazYCACABQQFHDQIMBAsCQCAAKAIERQRAIAAoAggiAigCACEBIAIgAUEBazYCACABQQFGDQEMAwsgACgCCCICKAIAIQEgAiABQQFrNgIAIAFBAUcNAgsMBAsgACgCBCICKAIAIQEgAiABQQFrNgIAIAFBAUcNACAAKAIEEDALDwsgACgCCCABENkS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AkBBFCABayIAIAIoAgAgAigCCCIDa0sEQCACIAMgABDEESACKAIIIQMMAQsgAUEURg0BCyAARQ0AIAIoAgQgA2ogBUEIaiABaiAA/AoAAAsgAiAAIANqNgIIDAgLQRQhASAAKQMIIgtCP4chCSAJIAuFIAl9IglCkM4AWgRAA0AgBUEIaiABaiIAQQRrIAkiCiAJQpDOAIAiCUKQzgB+faciA0H//wNxQeQAbiIEQQF0LwCcmEk7AAAgAEECayADIARB5ABsa0H//wNxQQF0LwCcmEk7AAAgAUEEayEBIApC/8HXL1YNAAsLAkAgCULjAFgEQCAJpyEADAELIAmnIgNB//8DcUHkAG4hACABQQJrIgEgBUEIamogAyAAQeQAbGtB//8DcUEBdC8AnJhJOwAACwJAIABBCk8EQCABQQJrIgEgBUEIamogAEEBdC8AnJhJOwAADAELIAFBAWsiASAFQQhqaiAAQTByOgAACyALQgBTBEAgAUEBayIBIAVBCGpqQS06AAALAkACQEEUIAFrIgAgAigCACACKAIIIgNrSwRAIAIgAyAAEMQRIAIoAgghAwwBCyABQRRGDQELIABFDQAgAigCBCADaiAFQQhqIAFqIAD8CgAACyACIAAgA2o2AggMBwsgACsDCCIMvUL///////////8Ag0KAgICAgICA+P8AWgRAIAIoAgAgAigCCCIBa0EDTQRAIAIgAUEEEMQRIAIoAgghAQsgAiABQQRqNgIIIAIoAgQgAWpB7uqx4wY2AAAMBwsgDCAFQQhqEPYBIQECQAJAIAIoAgAgAigCCCIAayABSQRAIAIgACABEMQRIAIoAgghAAwBCyABRQ0BCyABRQ0AIAIoAgQgAGogBUEIaiAB/AoAAAsgAiAAIAFqNgIIDAYLIAAoAgghAiAAKAIEIQYgASgCACIAKAIIIgMgACgCAEYEQCAAIANBARDEESAAKAIIIQMLIAAgA0EBaiIENgIIIAAoAgQgA2pB2wA6AAAgAgRAIAYgARDKAiACQQFHBEAgBkEwaiEDIAJBMGxBMGshBANAIAEoAgAiACgCCCICIAAoAgBGBEAgACACQQEQxBEgACgCCCECCyAAIAJBAWo2AgggACgCBCACakEsOgAAIAMgARDKAiADQTBqIQMgBEEwayIEDQALCyABKAIAIgEoAggiACABKAIA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BUEBRgRAIAAoAhAhBSACIAQ2AgggASADQQQQlgggAiAFNgIIIAEgA0EEEJYIIAIgACgCFDYCCCABIANBBBCWCAwECyACIAQ2AgggASACQQhqQQQQlggMAwsgAiAAKAIIIgU2AgggASACQQhqIgNBBBCWCCAAKAIMIQQCQCAFQQFGBEAgACgCECEFIAIgBDYCCCABIANBBBCWCCACIAU2AgggASADQQQQlgggAiAAKAIUNgIIIAEgA0EEEJYIDAELIAIgBDYCCCABIAJBCGpBBBCWCAsgACgCICEDIAIgACgCJCIANgIIIAEgAkEIakEEEJYIIABFDQIgAEHIAWwhBANAIAMgARDaAiADQcgBaiEDIARByAFrIgQNAAsMAgsgAiAAKAKsATYCCCABIAJBCGoiBEEEEJYIIAIgACgCmAE2AgggASAEQQQQlgggAiAAKAKcATYCCCABIARBBBCWCCACIAAoAnwiA0F/RzYCCCABIARBBBCWCAJAIANBf0YNACAAKAKAASEDIAIgACgChAEiBTYCCCABIARBBBCWCCAFRQ0AIAMgBUHoAWxqIQQDQCADIAEQ2gIgA0HIAWogARC7AiAEIANB6AFqIgNHDQALCyACIAApAxAiCz4CCCABIAJBCGoiA0EEEJYIIAtCA1EEQCACIAApAxg3AwggASADQQgQlggLIAIgBjYCCCABIAJBCGoiA0EEEJYIIApCAVEEQCACIAApAwg3AwggASADQQgQlggLIAIgAC0AICIDQf8BRzYCCCABIAJBCGpBBBCWCCADQf8BRwRAIABBIGogARCiBQsgACgCdCEEIAIgACgCeCIDNgIIIAEgAkEIakEEEJYIIAMEQCAEIANBBnRqIQgDQCACQQMgBCgCACIDQRtrIANBGk0bIgM2AgggASACQQhqQQQQlggCQAJAAkACQAJAIANBAWsOAwECAwALIAIgBCgCBCIGNgIIIAEgAkEIaiIDQQQQlgggBCgCCCEFAkAgBkEBRgRAIAQoAgwhBiACIAU2AgggASADQQQQlgggAiAGNgIIIAEgA0EEEJYIIAIgBCgCEDYCCCABIANBBBCWCAwBCyACIAU2AgggASACQQhqQQQQlggLIAQoAhwgAiAEKAIgIgY2AgggASACQQhqIgNBBBCWCCAGIAEQiA8gAiAELQAkNgIIIAEgA0EEEJYIIAIgBC0AJSIFQQJHNgIIIAEgA0EEEJYIIAVBAkYNAyACIAU2AgggASADQQQQlggMAwsgAiAEKAIEIgY2AgggASACQQhqIgNBBBCWCCAEKAIIIQUCQCAGQQFGBEAgBCgCDCEGIAIgBTYCCCABIANBBBCWCCACIAY2AgggASADQQQQlgggAiAEKAIQNgIIIAEgA0EEEJYIDAELIAIgBTYCCCABIAJBCGpBBBCWCAsgAiAELQAYNgIIIAEgAkEIaiIDQQQQlgggAiAELQAZNgIIIAEgA0EEEJYIDAILIAQoAgggAiAEKAIMIgY2AgggASACQQhqIgNBBBCWCCAGIAEQiA8gAiAELQAQNgIIIAEgA0EEEJYIIAIgBC0AETYCCCABIANBBBCWCAwBCyAEKAIkIQMgAiAEKAIoIgU2AgggASACQQhqQQQQlgggBQRAIAMgBUEUbGohCQNAIAIgAygCACIHNgIIIAEgAkEIaiIFQQQQlgggA0EEaigCACEGAkAgB0EBRgRAIANBCGooAgAhByACIAY2AgggASAFQQQQlgggAiAHNgIIIAEgBUEEEJYIIAIgA0EMaigCADYCCCABIAVBBBCWCAwBCyACIAY2AgggASACQQhqQQQQlggLIAkgA0EUaiIDRw0ACwsgAiAELQA4NgIIIAEgAkEIaiIDQQQQlgggBCABELsCIAQoAjAgAiAEKAI0IgY2AgggASADQQQQlgggBiABEIgPCyAIIARBQGsiBEcNAAsLIAIgACgCiAEiA0F/RzYCCCABIAJBCGoiBUEEEJYIAkAgA0F/Rg0AIAAoAowBIQMgAiAAKAKQASIENgIIIAEgBUEEEJYIIARFDQAgBEHIAWwhBANAIAMgARDaAiADQcgBaiEDIARByAFrIgQNAAsLIAIgAC0AoAE6AAggASACQQhqIgNBARCWCCACIAAtAKEBOgAIIAEgA0EBEJYIIAIgAC0AogEiBEECRzYCCCABIANBBBCWCCAEQQJHBEAgAiAENgIIIAEgA0EEEJYICyAAKAK0ASEFIAIgACgCuAEiAzYCCCABIAJBCGpBBBCWCCADBEAgA0EMbCEEIAVBCGohAwNAIAEgA0EEaygCACADKAIAEJYIIAJB/wE6AAggASACQQhqQQEQlgggA0EMaiEDIARBDGsiBA0ACwsgACgCwAEhAyACIAAoAsQBIgA2AgggASACQQhqQQQQlgggAEUNASAAQcgBbCEEA0AgAyABENoCIANByAFqIQMgBEHIAWsiBA0ACwwBCyACIAAoAlw2AgggASACQQhqIgNBBBCWCCACIAAtAAhB/wFHIgQ2AgggASADQQQQlgggBEUNACAAQQhqIAEQogULIAJBEGokAAuwEAEMfyMAQYABayIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBiABKAIITw0BIAEgBkEBajYCBAsgASgCjAEiAiABKAKIASIHRgRAIAEoAiAhCiABKAIsIQkLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEFDAELIAYhBSABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAc2AgggAkEANgIEIAJBADoAACABIAZBAWoiBTYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AmggAyABKQKAATcDYAJAIAJBfUsNACACQQJqIgggASgChAFLDQAgAUGAAWooAgAgAmovAABBwIABRw0AIAEgCDYCiAFBASEECyABLQB8QQFGBEBBAhCQASIIRQ0HIAhBwIABOwAAIANBAjYCfCADIAg2AnggA0KAgICAIDcCcCABIAIgA0HwAGogBBD5CAsCQCAERQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCDYCBCAEIAhNDQEgASACQQJqNgIECyABQQA6AJEBIANB2ABqIAEQlAogAygCWCADKAJcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQcgAaiABEJQKIAMoAkwhASADKAJIIQIMAQsgAUEAOgCRASADQdAAaiABEJQKIAMoAlAhAiADKAJUIgEgBDoAkQELIAJBAUcNAAsLIANBQGsgARDpAyADKAJEIQEgAygCQEEBcQ0AAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiAB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IAZBAWoiBTYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiELCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBNgJoIAMgASkCgAE3A2AgA0HYAGogARDnAyADKAJcIQECQCADKAJYQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIETw0CIAEgAkEBaiIJNgIEIAQgCU0NASABIAJBAmo2AgQLIAFBADoAkQEgA0HQAGogARCUCiADKAJQIAMoAlQiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0CIAEgAkEBajYCBAsCQCABLQCRASIERQRAIANBQGsgARCUCiADKAJEIQEgAygCQCECDAELIAFBADoAkQEgA0HIAGogARCUCiADKAJIIQIgAygCTCIBIAQ6AJEBCyACQQFHDQALC0EAIQICQCABKAKIASIEIAEoAoQBTw0AIAEoAoABIARqLQAAQT1HDQAgASAEQQFqNgKIAUEBIQILIAEtAHxBAUYEQEEBEJABIglFDQggCUE9OgAAIANBATYCfCADIAk2AnggA0KAgICAEDcCcCABIAQgA0HwAGogAhD5CAsgAkUNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgRPDQIgASACQQFqIgk2AgQgBCAJTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQThqIAEQlAogAygCOCADKAI8IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBEUEQCADQShqIAEQlAogAygCLCEBIAMoAighAgwBCyABQQA6AJEBIANBMGogARCUCiADKAIwIQIgAygCNCIBIAQ6AJEBCyACQQFHDQALCyABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADQSBqIAEQQAJAIAMoAiQiAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCICIAEoAggiBE8NAiABIAJBAWoiCTYCBCAEIAlNDQEgASACQQJqNgIECyABQQA6AJEBIANB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lgggAiAAKAKcATYCCCABIAVBBBCWCCACIAAoAnwiA0F/RzYCCCABIAVBBBCWCAJAIANBf0YNACAAKAKAASEDIAIgACgChAEiBDYCCCABIAVBBBCWCCAERQ0AIAMgBEHoAWxqIQUDQCADIAEQ5wIgA0HIAWogARC6AiAFIANB6AFqIgNHDQALCyACIAApAxAiCz4CCCABIAJBCGoiA0EEEJYIIAtCA1EEQCACIAApAxg3AwggASADQQgQlggLIAIgBjYCCCABIAJBCGoiA0EEEJYIIApCAVEEQCACIAApAwg3AwggASADQQgQlggLIAIgAC0AICIDQf8BRzYCCCABIAJBCGpBBBCWCCADQf8BRwRAIABBIGogARChBQsgACgCdCEIIAIgACgCeCIDNgIIIAEgAkEIakEEEJYIIAMEQCADQQZ0IQlBACEFA0AgAkEDIAUgCGoiAygCACIEQRtrIARBGk0bIgQ2AgggASACQQhqQQQQlggCQAJAAkACQAJAIARBAWsOAwECAwALIAIgA0EEaigCACIHNgIIIAEgAkEIaiIEQQQQlgggA0EIaigCACEGAkAgB0EBRgRAIANBDGooAgAhByACIAY2AgggASAEQQQQlgggAiAHNgIIIAEgBEEEEJYIIAIgA0EQaigCADYCCCABIARBBBCWCAwBCyACIAY2AgggASACQQhqQQQQlggLIANBHGooAgAgAiADQSBqKAIAIgc2AgggASACQQhqIgRBBBCWCCAHIAEQiA8gAiADQSRqLQAANgIIIAEgBEEEEJYIIAIgA0Elai0AACIDQQJHNgIIIAEgBEEEEJYIIANBAkYNAyACIAM2AgggASAEQQQQlggMAwsgAiADQQRqKAIAIgc2AgggASACQQhqIgRBBBCWCCADQQhqKAIAIQYCQCAHQQFGBEAgA0EMaigCACEHIAIgBjYCCCABIARBBBCWCCACIAc2AgggASAEQQQQlgggAiADQRBqKAIANgIIIAEgBEEEEJYIDAELIAIgBjYCCCABIAJBCGpBBBCWCAsgAiADQRhqLQAANgIIIAEgAkEIaiIEQQQQlgggAiADQRlqLQAANgIIIAEgBEEEEJYIDAILIANBCGooAgAgAiADQQxqKAIAIgc2AgggASACQQhqIgRBBBCWCCAHIAEQiA8gAiADQRBqLQAANgIIIAEgBEEE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AWohBSAGQRRrIgYNAAsMCAsgBkEUayICQRRuQQFqIgNBA3EhBkEAIQUgCSEBIAJBPE8EQCADQfz///8BcSEDQQAhBANAIAEpAgAhDiABKQIIIQ8gBCAIaiICIAEoAhA2AhAgAiAPNwIIIAIgDjcCACACQRRqQX82AgAgAUEUaikCACEOIAFBHGopAgAhDyACQTBqIAFBJGooAgA2AgAgAkEoaiAPNwIAIAJBIGogDjcCACACQTRqQX82AgAgAUEoaikCACEOIAFBMGopAgAhDyACQdAAaiABQThqKAIANgIAIAJByABqIA83AgAgAkFAayAONwIAIAJB1ABqQX82AgAgAUE8aikCACEOIAFBxABqKQIAIQ8gAkHwAGogAUHMAGooAgA2AgAgAkHoAGogDzcCACACQeAAaiAONwIAIAJB9ABqQX82AgAgAUHQAGohASAEQYABaiEEIAMgBUEEaiIFRw0ACyAGRQ0ICyAFIAZqIAZBBXQhBCAIIAVBBXRqIQIDQCABKQIAIQ4gASkCCCEPIAIgASgCEDYCECACIA83AgggAiAONwIAIAJBFGpBfzYCACACQSBqIQIgAUEUaiEBIARBIGsiBA0ACyEFDAcLIAUNACAGQRRrIgJBFG5BAWoiA0EDcSEGQQAhBSAJIQEgAkE8TwRAIANB/P///wFxIQNBACEEA0AgASkCACEOIAEpAgghDyAEIAhqIgIgASgCEDYCECACIA83AgggAiAONwIAIAJBFGpBfzYCACABQRRqKQIAIQ4gAUEcaikCACEPIAJBMGogAUEkaigCADYCACACQShqIA83AgAgAkEgaiAONwIAIAJBNGpBfzYCACABQShqKQIAIQ4gAUEwaikCACEPIAJB0ABqIAFBOGooAgA2AgAgAkHIAGogDzcCACACQUBrIA43AgAgAkHUAGpBfzYCACABQTxqKQIAIQ4gAUHEAGopAgAhDyACQfAAaiABQcwAaigCADYCACACQegAaiAPNwIAIAJB4ABqIA43AgAgAkH0AGpBfzYCACABQdAAaiEBIARBgAFqIQQgAyAFQQRqIgVHDQALIAZFDQcLIAUgBmogBkEFdCEEIAggBUEFdGohAgNAIAEpAgAhDiABKQIIIQ8gAiABKAIQNgIQIAIgDzcCCCACIA43AgAgAkEUakF/NgIAIAJBIGohAiABQRRqIQEgBEEgayIEDQALIQUMBgtBgPbIAEE6Qbz2yAAQwBMACyAAQX82AgAMBQtBqPfIAEGtAUGA+MgAEL8TAAsQnhUAC0EEEKcUAAtBARCnFAALIAsEQCAJQQRrKAIAIgJBeHEhASABIAtBFGwiA0EEQQggAkEDcSICG2pJDQIgAkEARyABIANBJ2pLcQ0DIAkQvAULIAAgBTYCCCAAIAg2AgQgACAKNgIACyAHQSBqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAu/DgIQfwF+AkACQAJAAkACQAJAAkACQCAAKQMAIhGnQQRrQQAgEUIEVRsOAwABAgMLIBFCf1IEQCAAEJoBDwsCQAJAAkACQAJAAkACQAJAAkACQAJAQQogACgCCCIBQRtrIAFBGk0bDgoBAgMEBQYHCAkKAAsgAEEIahC6CQ8LIAAoAmAiAQRAIAAoAmQgARDZEgsgAEEQaiAAKAKEASIDKAIAIQEgAyABQQFrNgIAIAFBAUYEQCAAKAKEARAwCxCwCyAAQewAahDoBCAAKAJsIgEEQCAAKAJwIAFByAFsENkSCyAAKAJ8IQIgACgCgAEiAwRAIAIhAQNAIAEoAgAiBARAIAFBBGooAgAiB0EEaygCACIGQXhxIQUgBUEEQQggBkEDcSIGGyAEakkNDyAGQQBHIAUgBEEnaktxDRAgBxC8BQsgAUEMaiEBIANBAWsiAw0ACwsgACgCeCIARQ0LDA4LIAAoAgwiAQRAIAAoAhAgARDZEgsgACgCSCICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAJIEDALIAAoAhwhAiAAKAIgIgMEQCACIQEDQCABELALIAFB0ABqIQEgA0EBayIDDQALCyAAKAIYIgEEQCACIAFB0ABsENkSCyAAKAIkIgFBf0YNCiAAQSRqEOgEIAEEQCAAKAIoIAFByAFsENkSCyAAKAI0IQIgACgCOCIDBEAgAiEBA0AgASgCACIEBEAgAUEEaigCACIHQQRrKAIAIgZBeHEhBSAFQQRBCCAGQQNxIgYbIARqSQ0OIAZBAEcgBSAEQSdqS3ENDyAHELwFCyABQQxqIQEgA0EBayIDDQALCyAAKAIwIgEEQCACIAFBDGwQ2RILIAAoAkAhAiAAKAJEIgMEQCACIQEDQCABEJoBIAFBwAJqIQEgA0EBayIDDQALCyAAKAI8IgBFDQogAiAAQcACbBDZEg8LIAAoAhBBf0cEQCAAKALAASIBBEAgACgCxAEgARDZEgsgACgC5AEiAigCACEBIAIgAUEBazYCACABQQFGBEAgACgC5AEQMAsgAEEQaiAAQeAAahCsBCAAKAKwAUF/RwRAIABBsAFqEOUNCxCwCyAAQcwBahDoBCAAKALMASIBBEAgACgC0AEgAUHIAWwQ2RILIAAoAtwBIQIgACgC4AEiAwRAIAIhAQNAIAEoAgAiBARAIAFBBGooAgAiB0EEaygCACIGQXhxIQUgBUEEQQggBkEDcSIGGyAEakkNDiAGQQBHIAUgBEEnaktxDQ8gBxC8BQsgAUEMaiEBIANBAWsiAw0ACwsgACgC2AEiAEUNCgwNCyAAKALIASICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKALIARAwCyAAQRhqIABB6ABqEKwEIAAoArgBQX9HBEAgAEG4AWoQ5Q0LELALDwsgACgClAEiAQRAIAAoApgBIAEQ2RILIABBEGogACgCiAEiAygCACEBIAMgAUEBazYCACABQQFGBEAgACgCiAEQMAsQrAQgACgCYEF/RwRAIABB4ABqEOUNCyAAQfAAahDIDA8LIAAoAsgBIgEEQCAAKALMASABENkSCyAAKAL4ASICKAIAIQEgAiABQQFrNgIAIAFBAUYEQCAAKAL4ARAwCyAAQegAahCsBCAAKAK4AUF/RwRAIABBuAFqEOUNCyAAQRhqELALIAAoAtQBQX9GDQcgAEHUAWoQ7QkPCyAAKAJ4IgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAngQMAsgAEEYahCsBCAAKAJoQX9GDQYgAEHoAGoQ5Q0PCyAAQQxqAkAgACgCGCIEQX9GDQAgACgCHCECIAAoAiAiAwRAIAIhAQNAIAEQgQUgAUHIAWoQhwQgAUHoAWohASADQQFrIgMNAAsLIARFDQAgAiAEQegBbBDZEgsQ5Q0gACgCJCICKAIAIQEgAiABQQFrNgIAIAFBAUcNBSAAKAIkEDAPCyAAQQxqAkAgACgCGCIEQX9GDQAgACgCHCECIAAoAiAiAwRAIAIhAQNAIAEQgQUgAUHIAWoQhwQgAUHoAWohASADQQFrIgMNAAsLIARFDQAgAiAEQegBbBDZEgsQ5Q0gACgCJCICKAIAIQEgAiABQQFrNgIAIAFBAUcNBCAAKAIkEDAPCyAAQRBqAkAgACgCMCIBRQ0AIAEgASgCACIBQQFrNgIAIAFBAUcNACAAKAIwEDALEKAMIAAoAjwiAUF/Rg0DIAFFDQMMBwsgAEEQagJAIAAoAjAiAUUNACABIAEoAgAiAUEBazYCACABQQFHDQAgACgCMBAwCxCgDCAAKAI8IgFBf0YNAiABRQ0CDAYLIABBCGpBBEEIIAAoAghBf0YbahDlDQ8LIABBCGoQ0hELDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAIgAEEMbBDZEg8LIAAoAkAgARDZEgucDQIKfwF+AkACQAJAAkACQAJAIAApAwBCAlENACAAKAIgIgNFDQAgACgCJCIERQ0AIAAoAiwiBgRAIANBCGohAiADKQMAQn+FQoCBgoSIkKDAgH+DIQsgAyEBA0AgC1AEQANAIAIiBUEIaiECIAFBgANrIQEgBSkDAEKAgYKEiJCgwIB/gyILQoCBgoSIkKDAgH9RDQALIAtCgIGChIiQoMCAf4UhCwsgASALeqdBA3ZBUGxqIgVBMGsoAgAiBwRAIAVBLGsoAgAiCUEEaygCACIKQXhxIQggCEEEQQggCkEDcSIKGyAHakkNByAKQQBHIAggB0EnaktxDQggCRC8BQsgC0IBfSALgyELIAVBIGsQjwQgBkEBayIGDQALCyAEQTBsIgIgBGpBOWoiAUUNACADIAJrIgNBNGsoAgAiBUF4cSECIAJBBEEIIAVBA3EiBRsgAWpJDQQgBUEARyACIAFBJ2pLcQ0FIANBMGsQvAULAkACQCAAKAJAIgVBf0YNACAAKAJEIQMgACgCSCICBEAgAyEBA0AgASgCACIEBEAgAUEEaigCACIHQQRrKAIAIghBeHEhBiAGQQRBCCAIQQNxIggbIARqSQ0EIAhBAEcgBiAEQSdqS3ENCSAHELwFCyABQQxqIQEgAkEBayICDQALCyAFRQ0AIANBBGsoAgAiAkF4cSEBIAEgBUEMbCIFQQRBCCACQQNxIgIbakkNBSACQQBHIAEgBUEnaktxDQYgAxC8BQsgACgCXCEEIAAoAlgiAUUNASAAKAJgIghFDQFBACEDAkADQAJAIAMEQCAEIQcgASECIAMhAQwBC0EAIQcCQCAERQ0AIAQiAkEHcSIFBEADQCACQQFrIQIgASgCiAohASAFQQFrIgUNAAsLIARBCEkNAANAIAEoAogKKAKICigCiAooAogKKAKICigCiAooAogKKAKICiEBIAJBCGsiAg0ACwtBACECCwJAIAEvAYIKIAdLBEAgASEFDAELAkADQCABKAL4CCIFBEAgAUEEaygCACIEQXhxIQMgA0G4CkGICiACGyIGQQRBCCAEQQNxIgQbakkNCiABLwGACiEHIARBAEcgAyAGQSdqS3ENAiABELwFIAJBAWohAiAFIgEvAYIKIAdNDQEMAwsLIAFBuApBiAogAhsQ2RJBrOrIABCdFQALDAgLAkAgAkUEQCAHQQFqIQQgBSEDDAELIAUgB0ECdGpBjApqIQECQCACQQdxIgRFBEAgAiEGDAELIAIhBgNAIAZBAWshBiABKAIAIgNBiApqIQEgBEEBayIEDQALC0EAIQQgAkEISQ0AA0AgASgCACgCiAooAogKKAKICigCiAooAogKKAKICigCiAoiA0GICmohASAGQQhrIgYNAAsLAkAgBSAHQQxsaiICKAL8CCIBBEAgAkH8CGooAgQiBkEEaygCACIJQXhxIQIgAkEEQQggCUEDcSIJGyABakkNASAJQQBHIAIgAUEnaktxDQMgBhC8BQsgBSAHQegAbGoQ7AJBACEBIAhBAWsiCA0BDAULCwwFCwwFCwwDCyABRQ0BIARFBEAgASEDDAELIARBAWsgASEDIARBB3EiAQRAA0AgBEEBayEEIAMoAogKIQMgAUEBayIBDQALC0EHSQ0AA0AgAygCiAooAogKKAKICigCiAooAogKKAKICigCiAooAogKIQMgBEEIayIEDQALCyADKAL4CCIFBH9BACEBA0AgA0EEaygCACIEQXhxIQIgAkG4CkGICiABGyIGQQRBCCAEQQNxIgQbakkNAyAEQQBHIAIgBkEnaktxDQQgAxC8BSABQQFqIQEgBSIDKAL4CCIFDQALQbgKQYgKIAEbBUGICgshASADQQRrKAIAIgVBeHEhAiACQQRBCCAFQQNxIgUbIAFqSQ0BIAVBAEcgAiABQSdqS3ENAiADELwFCwJAIAAoAkwiBUF/Rg0AIAAoAlAhAyAAKAJUIgIEQCADIQEDQCABKAIAIgAEQCABQQRqKAIAIgZBBGsoAgAiB0F4cSEE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QQJqNgIECyABKAIUIQIgAyABKAKIATYCeCADIAEpAoABNwNwIANBOGogARDmAiADKAI8IQECQAJAAkAgAygCOEEBRw0AIANBMGogARCRAiADKAI0IQEgAygCMEEBRw0AIANBKGogARDFASADKAIsIQEgAygCKEEBcQ0BCyABKAIAQQFGBEAgASgCBCIHIAEoAghPDQEgASAHQQFqNgIECyADQSBqIAEQrgsgAygCJCEBA0AgASgCAEEBRgRAIAEoAgQiAiABKAIITw0EIAEgAkEBajYCBAsgASgCFCECIAMgASgCiAE2AnggAyABKQKAATcDcCADQRhqIAEQ5gIgAygCHCEBAkAgAygCGEEBRw0AIANBEGogARCRAiADKAIUIQEgAygCEEEBRw0AIANBCGogARDFASADKAIMIQEgAygCCEEBcQ0DCyABKAIAQQFGBEAgASgCBCIHIAEoAghPDQMgASAHQQFqNgIECyADIAEQrgsgAygCBCEBDAALAAsgASADKAJ4NgKIASABIAMpA3A3AoABIAIgASgCFEsNASABIAI2AhQMAQsgASADKAJ4NgKIASABIAMpA3A3AoABIAIgASgCFEsNACABIAI2AhQLQQAhAgsgAkEBRw0BIAEgAygCaDYCiAEgASADKQNgNwKAASAEIAEoAhRLDQAgASAENgIUC0EBIQIgAS0AkAFBAUYNCCABLQCRAUUNAyABKAKMASICIAZHDQEgCiABKAIgIgIgASgCLCIEaiIGSSAGIAprQQFGcQ0DIAIgCU8EQCABIAk2AiAgCSECCyAEIAhJDQIgASAINgIsDAILIAEtAJABIgJBAUYEfyABLQCRAUUNBwJAIAYgASgCjAEiAkYEQCAKIAEoAiwiAiABKAIgIgRqIgZJIAYgCmtBAUZxDQkgBCAJTwRAIAEgCTYCIAsgAiAISQ0BIAEgCDYCLCAIIQIMAQsgAiAGTw0IIAEgBjYCjAFBACECIAFBADYCLCABQQA2AiALIAEoAiQgAkYEQCABQSRqEKMSCyABKAIoIAJqQRw6AAAgASACQQFqNgIsIAEtAJABBSACC0H/AXFBAkcNBiABLQCRAUUNBiABKAIUIgIgBU0NAyABKAIQIAVBFGxqIgQtAAANBCAEIAI2AgQgASgCiAEhCCABKAIUIgQgASgCDEYEQCABQQxqEJoSCyABKAIQIARBFGxqIgIgCDYCECACQQA2AgggAiAFNgIEIAJBgTg7AQAgASAEQQFqNgIUDAYLIAIgBk8NASABIAY2AowBQQAhAiABQQA2AiwgAUEANgIgCyABKAIYIAJGBEAgAUEYahCjEgsgASACQQFqNgIgIAEoAhwgAmpBHDoAAAtBASECIAEtAHxBAUcNAiABLQCRAUUNAiABQdQAakEcIA1BACABKAJ4IAxNGxCTBQwCCyAFIAJBnIrIABCFEwALQaCryQBBKEGsisgAEK8UAAsgAS0AkAFBAkcNASABLQCRAUUNASAFIAEoAhRLDQEgASAFNgIUDAELQQAhAiABLQB8RQ0AIAEtAJEBRQ0AIAFB1ABqQRwgDUEAIAEoAnggDE0bEJMFCyAAIAE2AgQgACACNgIAIANBgAFqJAALvg8CEH8CfiMAQfABayICJAAgAgJ+QdDwyQAtAAAEQEHI8MkAKQMAIRNBwPDJACkDAAwBCyACQbABahC7EUHQ8MkAQQE6AABByPDJACACKQO4ASITNwMAIAIpA7ABCyISNwMQQcDwyQAgEkIBfDcDACACQQA2AiggAkKAgICAgAE3AyAgAiATNwMYIAJCgICAgHA3AwAgAkGQqckAKQMANwIsIAJBmKnJACkDADcCNAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkGSi8gAQQUgASgCFCABKAIYEPYLIgMNACACQYmOyABBCCABKAIgIAEoAiQQ9gsiAw0AIAIgAS0AKBDsByIDDQAgAiABLQApEN8IIgMNACACKAIARQRAQQkQkAEiA0UNBCADQdaLxgAtAAA6AAggA0HOi8YAKQAANwAAAkAgAigCBCIEQX9GDQAgBEUNACACKAIIIghBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgBGpJDQsgBUEARyAGIARBJ2pLcQ0MIAgQvAULIAJBCTYCDCACIAM2AgggAkF/NgIEIAIgAikDCDcCeCACQQk2AnQCQCABKAIAIgNBf0YEQEGAgICAeCEEDAELIANBAk8EQAJAIAEoAgwiBEUEQEEBIQEMAQsgASgCCCEGIAQQkAEiAUUNCCAERQ0AIAEgBiAE/AoAAAsgAiAENgK8ASACIAE2ArgBIAIgBDYCtAELIAIgAzYCsAEgAkEANgKIASACQoCAgIAQNwKAAQJAAkACQAJAAkACQAJAAkACQCADQQFrDgYEBgABAgUDCyACIAJBtAFqNgLoASACIAJB6AFqrUKAgICAkAKENwNAIAJBgAFqQdyWxgBB+IvCACACQUBrELEJDRIMBgsgAiACQbQBajYC6AEgAiACQegBaq1CgICAgJAChDcDQCACQYABakHclsYAQcyLwgAgAkFAaxCxCQ0RDAULIAIgAkG0AWo2AugBIAIgAkHoAWqtQoCAgICQAoQ3A0AgAkGAAWpB3JbGAEGgi8IAIAJBQGsQsQkNEAwECyACQYABakEAQRdBAUEBELMRIAIoAogBIgMgAigChAFqIgFBkt7GACkAADcAACABQZrexgApAAA3AAggAUGh3sYAKQAANwAPIAIgA0EXaiIBNgKIAQwECyACQYABakEAQSFBAUEBELMRIAIoAogBIgMgAigChAFqIgFBqd7GACkAADcAACABQbHexgApAAA3AAggAUG53sYAKQAANwAQIAFBwd7GACkAADcAGCABQcnexgAtAAA6ACAgAiADQSFqIgE2AogBDAMLIAIgAkG0AWo2AugBIAIgAkHoAWqtQoCAgICQAoQ3A0AgAkGAAWpB3JbGAEHpisIAIAJBQGsQsQlFDQEMDQsgAiACQbQBajYC6AEgAiACQegBaq1CgICAgJAChDcDQCACQYABakHclsYAQZ+MwgAgAkFAaxCxCQ0MCyACKAKIASEBCyACKAKEASEGIAIoAoABIQgCQAJAIAIoArABDgIBAQALIAIoArQBIgNFDQAgAigCuAEiBUEEaygCACIHQXhxIQQgBEEEQQggB0EDcSIHGyADakkNDCAHQQBHIAQgA0EnaktxDQ0gBRC8BQsCQCABRQRAQQEhAwwBCyABEJABIgNFDQggAUUNACADIAYgAfwKAAALQYOAgIB4IQQgCEUNACAGQQRrKAIAIgdBeHEhBSAFQQRBCCAHQQNxIgcbIAhqSQ0LIAdBAEcgBSAIQSdqS3ENDCAGELwFCyACIAQ2ApABIAIgATYCiAEgAiADNgKEASACIAE2AoABIAJBsAFqIAJBEGogAkH0AGogAkGAAWoQnwUgAiACKQPgATcDaCACIAIpA9gBNwNgIAIgAikD0AE3A1ggAiACKQPIASISNwNQIAIgAikDwAE3A0ggAiACKQO4ATcDQCASp0F/RwRAIAJBQGsQ/QkL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AkKAgICAcDcDACACQZCpyQApAwA3AiwgAkGYqckAKQMANwI0AkACQAJAAkACQAJAAkACQAJAIAJBoKzJAEEEIAEoAgQgASgCCBCSDCIEDQAgAigCAEUEQCABKAIUIQQgASgCECEIQQYQkAEiAUUNAiABQaisyQAvAAA7AAQgAUGkrMkAKAAANgAAIAIoAgQiA0EASgRAIAIoAggiB0EEaygCACIJQXhxIQYgBkEEQQggCUEDcSIJGyADakkNCSAJQQBHIAYgA0EnaktxDQogBxC8BQsgAkEGNgIMIAIgATYCCCACQX82AgQgAiACKQMIIhk3AnggAkEGNgJ0IARBq9WqFU8NA0EAIQFBCCEOIARBMGwiAwRAIAMQkAEiDkUNBSAEIQELIAJBDGohEiACQQA2ArwBIAIgDjYCuAEgAiABNgK0ASAEQRxsIRAgAkHsAWohEyAZpyEUAkADQCAQRQ0BIAICfkHQ8MkALQAABEBByPDJACkDACEaQcDwyQApAwAMAQsgAkGAAmoQuxFB0PDJAEEBOgAAQcjwyQAgAikDiAIiGjcDACACKQOAAgsiGTcD0AFBwPDJACAZQgF8NwMAIBNBkKnJACkDADcCACATQZipyQApAwA3AgggAkEANgLoASACQoCAgICAATcD4AEgAiAaNwPYASACQoCAgIBwNwPAAQJAAkACQCACQcABaiIBQaCsyQBBBCAIKAIEIAgoAggQkgwiBA0AIAFBqqzJAEEIIAgoAhAgCCgCFBCSDCIEDQAgAUGyrMkAQQogCC0AGBCeDSIERQ0BCyACQcABahDICwwBCyACKAL0ASEFIAIoAvABIRUgAigC7AEhBiACKALoASEHIAIoAuQBIQkgAigC4AEhASACKALcASERIAIoAtgBIQMgAigC1AEhFiACKALQASEEIAIoAsgBIQoCQAJAIAIoAsABQQFGBEAgA0F/Rg0LIAIoAswBIQsgBCAKIQQgAyEKIBEhDSAVIRcgBSEYIQMgFiERDAELIAIoAvwBIRggAigC+AEhFyACKALEASINQQBKBEAgCkEEaygCACILQXhxIQwgDEEEQQggC0EDcSILGyANakkNDiALQQBHIAwgDUEnaktxDQ8gChC8BQsgAUF/RiABIQogCSENIAchASAGIQkgFSEHIAUhBiAWIQsNAQsgAigCtAEgD0YEQCAC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DBMLQcyLyQBBpwFB6IjIABC/EwALQbCMyQBBqwFB+IjIABC/EwALIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBODQ8MDgsgASgCUCEEIANBoAFqIgUgAhCfCiADQRxqIAQgBSACEK0QELQMDA8LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQwgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQe+ZyQBBAyADQaABakEBEIMMDA4LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQsgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQeyxyQBBBiADQaABakEBEIMMDA0LIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQogAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQYyayQBBBSADQaABakEBEIMMDAwLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQkgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQbiAyABBByADQaABakEBEIMMDAsLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQggAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQeSIyABBBCADQaABakEAEIMMDAoLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQcgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQfKZyQBBBCADQaABakEAEIMMDAkLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQYgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQYSayQBBCCADQaABakEAEIMMDAgLIAIoAhAiBCgCACEFIAQgBUEBajYCACAFQQBIDQUgAyAENgKwASADIAIpAgg3A6gBIAMgAikCADcDoAEgA0EcaiABQZGayQBBBSADQaABakEAEIMMDAcLIAQgBUGcusQAEIUTAAsgBSAGQZy6xAAQhRMAC0GcusQAEJ0VAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALAAsgAyAENgKwASADIAIpAgg3A6gB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BAsgASgCjAEiAiABKAKIASIHRgRAIAEoAiAhCSABKAIsIQgLIAEoAhQhBgJAIAEtAJABQQJHBEAgBiEEDAELIAYhBCABLQCRAUUNACABKAIMIAZGBEAgAUEMahCaEgsgASgCECAGQRRsaiICIAc2AgggAkEANgIEIAJBADoAACABIAZBAWoiBDYCFCABKAKMASECCyACIAdGBEAgASgCLCABKAIgaiEKCyABKAJ4IQwgASgCXCENAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITwRAQQEhBQwCCyABIAJBAWo2AgQLIAMgASgCiAE2AkggAyABKQKAATcDQCADQThqIAEQ5wMgAygCPCEBAn8CQCADKAI4QQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiILNgIEIAUgC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EwaiABEJQKIAMoAjAgAygCNCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EgaiABEJQKIAMoAiQhASADKAIgIQIMAQsgAUEAOgCRASADQShqIAEQlAogAygCKCECIAMoAiwiASAFOgCRAQsgAkEBRw0ACwtBACECAkAgASgCiAEiBSABKAKEAU8NACABKAKAASAFai0AAEE6Rw0AIAEgBUEBajYCiAFBASECCwJAIAEtAHxBAUYEQEEBEJABIgtFDQEgC0E6OgAAIANBATYCXCADIAs2AlggA0KAgICAEDcCUCABIAUgA0HQAGogAhD5CAsgAkUNAQJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgVPDQMgASACQQFqIgs2AgQgBSALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRhqIAEQlAogAygCGCADKAIcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiBUUEQCADQQhqIAEQlAogAygCDCEBIAMoAgghAgwBCyABQQA6AJEBIANBEGogARCUCiADKAIQIQIgAygCFCIBIAU6AJEBCyACQQFxRQ0ACwsgAyABEEAgAygCBCEB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AgBBAUYEQCABKAIEIgQgASgCCE8NASABIARBAWo2AgQLIAEoAowBIgIgASgCiAEiBkYEQCABKAIgIQkgASgCLCEICyABKAIUIQQCQCABLQCQAUECRwRAIAQhBQwBCyAEIQUgAS0AkQFFDQAgASgCDCAERgRAIAFBDGoQmhILIAEoAhAgBEEUbGoiAiAGNgIIIAJBADYCBCACQQA6AAAgASAEQQFqIgU2AhQgASgCjAEhAgsgAiAGRgRAIAEoAiwgASgCIGohCgsgASgCeCEMIAEoAlwhDQJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQEgASACQQFqNgIECyADIAEoAogBIgI2AkggAyABKQKAATcDQAJAIAIgASgChAFPDQAgAUGAAWooAgAgAmotAABBwABHDQAgASACQQFqNgKIAUEBIQcLIAEtAHxBAUYEQEEBEJABIgtFDQggC0HAADoAACADQQE2AlwgAyALNgJYIANCgICAgBA3AlAgASACIANB0ABqIAcQ+QgLAkAgB0UNAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgdPDQIgASACQQFqIgs2AgQgByALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQThqIAEQlAogAygCOCADKAI8IgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiB0UEQCADQShqIAEQlAogAygCLCEBIAMoAighAgwBCyABQQA6AJEBIANBMGogARCUCiADKAIwIQIgAygCNCIBIAc6AJEBCyACQQFHDQALCyADQSBqIAEQ6QMgAygCJCEBIAMoAiBBAXENAAJAIAEtAJEBQQJHDQAgASgCAEEBRgRAIAEoAgQiAiABKAIIIgdPDQIgASACQQFqIgs2AgQgByALTQ0BIAEgAkECajYCBAsgAUEAOgCRASADQRhqIAEQlAogAygCGCADKAIcIgFBAjoAkQFBAXENAANAIAEoAgBBAUYEQCABKAIEIgIgASgCCE8NAiABIAJBAWo2AgQLAkAgAS0AkQEiB0UEQCADQQhqIAEQlAogAygCDCEBIAMoAgghAgwBCyABQQA6AJEBIANBEGogARCUCiADKAIQ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SQRAIANBAWoiASAEIAEgBEsbIgFBD0kNAiABQf////8BTQRAQX8gAUEDdEEHbkEBa2d2IgFB/v///wBLDQggAUEBagwECwwHCyAAIAEEfyAAKAIAIQMCQCACIAFBB3FBAEdqIgBBAUcEQCAAQQFxIABB/v///wNxIQIDQCADIAhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDACAAQQhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDACAIQRBqIQggAkECayICDQALRQ0BCyADIAhqIgApAwAhDiAAIA5Cf4VCB4hCgYKEiJCgwIABgyAOQv/+/fv379+//wCEfDcDAAsCQCABQQhPBEAgASADaiADKQAANwAADAELIAFFDQAgA0EIaiADIAH8CgAAC0EAIQEDQAJAIAMgASIAaiIILQAAQYABRw0AIAMgAUEEdGsiAUEMayELIAFBCGshDCABQRBrIQ0gAyAAQX9zQQR0aiEFA0AgAyAMKAIAIAsoAgAgDSgCAEHdy92eeWxqQd3L3Z55bGpB3cvdnnlsQQ93IgQgBnEiByIBaikAAEKAgYKEiJCgwIB/gyIOUARAQQghAgNAIAEgAmohASACQQhqIQIgAyABIAZxIgFqKQAAQoCBgoSIkKDAgH+DIg5QDQALCyADIA56p0EDdiABaiAGcSIBaiwAAEEATgRAIAMpAwBCgIGChIiQoMCAf4N6p0EDdiEBCyAErSEOIAEgB2sgACAHa3MgBnFBCE8EQCABIANqIgItAAAgAiAOQhmIpyICOgAAIAMgAUEIayAGcWpBCGogAjoAACADIAFBf3NBBHRqIQFB/wFGBEAgCEH/AToAACADIAYgAEEIa3FqQQhqQf8BOgAAIAEgBSkACDcACCABIAUpAAA3AAAMAwsgBSkAACEOIAUgASkAADcAACABIA43AAAgBSkACCEOIAUgASkACDcACCABIA43AAgMAQsLIAggDkIZiKciAToAACADIAYgAEEIa3FqQQhqIAE6AAALIABBAWohASAAIAZHDQALIAYgCSAGQQhJGwVBAAsgCms2AggMAwsMBQtBBCABQQhxQQhqIAFBBEkbCyIBQQhqIgQgAUEEdCICIARqIgNLDQMgA0H4////B0sN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QQFGBEAgASgCBCIFIAEoAggiAkkNAUEBIQUMBQsgAyABKAKIATYCOCADIAEpAoABNwMwDAELIAEgBUEBaiILNgIEIAMgASgCiAE2AjggAyABKQKAATcDMCACIAtNDQEgASAFQQJqNgIECyABQYABaiECIAEgAS0AkAEiC0EBRzoAkAEgAyACKAIINgJIIAMgAikCADcDQCABKAI4IQIgASgCUCIFIAEoAkhGBEAgAUHIAGoQlhILIAEgBUEBajYCUCABKAJMIAVBA3RqIgUgAjYCBCAFIAI2AgAgA0EoaiABELIFIAMoAiggAygCLCIBIAMoAkg2AogBIAEgAykDQDcCgAEgASALOgCQASABQTBqEIYKQQFHDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIFTw0CIAEgAkEBaiILNgIEIAUgC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EgaiABEJQKIAMoAiAgAygCJCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgVFBEAgA0EQaiABEJQKIAMoAhQhASADKAIQIQIMAQsgAUEAOgCRASADQRhqIAEQlAogAygCGCECIAMoAhwiASAFOgCRAQsgAkEBcUUNAAsLIANBCGogARC7ASADKAIMIQEgAygCCAwBC0EBCyIFQQFHDQAgASADKAI4NgKIASABIAMpAzA3AoABIAQgASgCFEsNACABIAQ2AhQLQQEhAiABLQCQASEEAkACQAJAAkACQAJAAkAgBUEBRgRAIARB/wFxQQFGDQggAS0AkQFFDQMgASgCjAEiAiAHRw0BIAogASgCICICIAEoAiwiBGoiB0kgByAKa0EBRnENAyACIAlPBEAgASAJNgIgIAkhAgsgBCAISQ0CIAEgCDYCLAwCCyAEQf8BcUEBRgR/IAEtAJEBRQ0HAkAgByABKAKMASICRgRAIAogASgCLCICIAEoAiAiBGoiB0kgByAKa0EBRnENCSAEIAlPBEAgASAJNgIgCyACIAhJDQEgASAINgIsIAghAgwBCyACIAdPDQggASAHNgKMAUEAIQIgAUEANgIsIAFBADYCIAsgASgCJCACRgRAIAFBJGoQoxILIAEoAiggAmpBMjoAACABIAJB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AkEBaiIMQQhBwAAQpREgCigCCEEBRg0CIAooAgwhCyABIAw2AhAgASALNgIUCyABIAJBAWo2AhggASgCFCACQQZ0aiIBIAMpAwA3AwAgASADKQMINwMIIAEgAykDEDcDECABIAMpAxg3AxggASADKQMgNwMgIAEgAykDKDcDKCABIBA2AjwgASAONgI4IAEgETYCNCABIBM2AjAgAEF/NgIYIAAgAjYCAAsgCkHQAGokAA8LIAooAgwgCigCECEaEKcUAAuHDQEFfyMAQTBrIgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkBBBSAAKAIQIgRBgICAgHhzIARBAE4bQQFrDgUBAgMEBQALIAEoAgBBgJrJAEEEIAEoAgQoAgwRAAAMCQsgAiAANgIUIAIgAkEUaq1CgICAgMAZhDcDICABKAIAIAEoAgRBqI7CACACQSBqELEJDAgLIAIgADYCFCACIAJBFGqtQoCAgICgHoQ3AyAgASgCACABKAIEQZyOwgAgAkEgahCxCQwHCyACIAA2AhQgAiACQRRqrUKAgICA8BmENwMgIAEoAgAgASgCBEGyjsIAIAJBIGoQsQkMBgsgASgCAEHN28gAQQYgASgCBCgCDBEAAA0EIAAoAgghAyAAKAIEIQVBASEEIAEoAgBBorLIAEEBIAEoAgQoAgwRAAAhACADDQEgACEEDAILIAEoAgBB09vIAEEHIAEoAgQoAgwRAABFDQIMAwsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgAkEBOgAMIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiAgBSACQSBqENMDDQEgAigCIEGkssgAQQIgAigCJCgCDBEAACEEDAELIAUgARDTAyEECyADQQFGDQAgBUEwaiEAIANBMGxBMGshAwNAAn9BASAEQQFxDQAaIAEtAApBgAFxBEAgAkEBOgAMIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGo2AiBBASAAIAJBIGoQ0wMNARogAigCIEGkssgAQQIgAigCJCgCDBEAAAwBC0EBIAEoAgBBiLPJAEECIAEoAgQoAgwRAAANABogACABENMDCyEEIABBMGohACADQTBrIgMNAAsLIAQNASABKAIAQaiyyABBASABKAIEKAIMEQAADAILIAAoAhQhAyAAKAIYIQZBASEAIAEoAgBBo7LIAEEBIAEoAgQoAgwRAAAhBCACQQE6ABMgAkEAOwARIAIgBDoAECACIAE2AgwCQAJAIAZFBEAgBCEADAELIAJBE2ohBQJAIAQNACACLQASDQICQCACKAIMIgEtAApBgAFxBEAgASgCAEGgssgAQQEgASgCBCgCDBEAAA0CIAJBAToAEyACIAU2AiggAiABKQIANwIgIAMoAjggAygCPCACQSBqIgFBoOvCABC/Bg0CIAFBprLIAEECEP0IRQ0BDAILIAMoAjggAygCPCABKAIAIAEoAgQQvwYNASABKAIAQaayyABBAiABKAIEKAIMEQAADQELIAJBADoAECACQQE6ABICQCACKAIMIgEtAApBgAFxBEAgAiAFNgIcIAJBoOvCADYCJCACIAEpAgA3AhQgAiABKQIINwIoIAIgAkEUajYCICADIAJBIGoQ0wNFBEAgAigCIEGkssgAQQIgAigCJCgCDBEAAEUNAgsMAgsgAyABENMDDQELQQAhACACQQA6ABILIAIgADoAECACQQE6ABEgBkEBRg0AIAZBBnRBQGohBCADQfwAaiEBA0ACfwJAAkAgAEEBcQ0AIAItABINBQJAIAIoAgwiAC0ACkGAAXFFBEAgACgCAEGIs8kAQQIgACgCBCgCDBEAAA0CIAFBBGsoAgAgASgCACAAKAIAIAAoAgQQvwYNAiAAKAIAQaayyABBAiAAKAIEKAIMEQAARQ0BDAILIAJBAToAEyACIAU2AiggAiAAKQIANwIgIAFBBGsoAgAgASgCACACQSBqIgBBoOvCABC/Bg0BIABBprLIAEECEP0IDQELIAFBPGshBiACQQA6ABAgAkEBOgASIAIoAgwiAy0ACkGAAXFFBEBBASAGIAMQ0wMNAxoMAgsgAiAFNgIcIAJBoOvCADYCJCACIAMpAgA3AhQgAiADKQIINwIoIAIgAkEUajYCICAGIAJBIGoQ0wMNACACKAIgQaSyyABBAiACKAIkKAIMEQAARQ0BC0EBDAELIAJBADoAEkEACyEAIAJBAToAESACIAA6ABAgAUFAayEBIARBQGoiBA0ACwtBASAADQIaIAItABJBAUcEQCACKAIMIgAoAgBB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rUKAgICA0AGENwMYIAYgBq1CgICAgNABhDcDECAAQbWtwAAgBkEQahC4DCAGKAJAIgAEQCAGKAJEIgJBBGsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgAGpJDQMgA0EARyABIABBJ2pLcQ0EIAIQvAULIAZB4ABqJAAPCxCeFQALQQQQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAueDAIHfwF8IwBBIGsiBiQAAkACQAJAAkACQAJAAkACQAJAAkACQEEFIAAoAhAiA0GAgICAeHMgA0EAThtBAWsOBQECAwQFAAsgASgCACIBKAIIIQAgASgCACAAa0EDTQRAIAEgAEEEQQFBARCzESABKAIIIQALIAEgAEEEajYCCCABKAIEIABqQe7qseMGNgAADAkLIAEoAgAhASAALQAARQRAIAEoAgAgASgCCCIAa0EETQRAIAEgAEEFQQFBARCzESABKAIIIQALIAEoAgQgAGoiA0GqssgAKAAANgAAIANBrrLIAC0AADoABCABIABBBWo2AggMCQsgASgCACABKAIIIgBrQQNNBEAgASAAQQRBAUEBELMRIAEoAgghAAsgASgCBCAAakH05NWrBjYAACABIABBBGo2AggMCAsgASgCACEBAkACQCAAKAIAQQFrDgIAAQULIAEgACkDCBDUCwwICyAAKwMIIgm9Qv///////////wCDQoCAgICAgID4/wBaBEAgASgCACABKAIIIgBrQQNNBEAgASAAQQRBAUEBELMRIAEoAgghAAsgASAAQQRqNgIIIAEoAgQgAGpB7uqx4wY2AAAMCAsgCSAGQQhqEPYBIQACQAJAIAEoAgAgASgCCCICayAASQRAIAEgAiAAQQFBARCzESABKAIIIQIMAQsgAEUNAQsgAEUNACABKAIEIAJqIAZBCGogAPwKAAALIAEgACACajYCCAwHCyABKAIAIAAoAgQgACgCCBCeBwwGCyAAKAIIIQMgACgCBCEFIAEoAgAiACgCCCICIAAoAgBGBEAgACACQQFBAUEBELMRIAAoAgghAgsgACACQQFqIgQ2AgggACgCBCACakHbADoAACADBEAgBSABEO0DIANBAUcEQCAFQTBqIQIgA0EwbEEwayEEA0AgASgCACIAKAIIIgMgACgCAEYEQCAAIANBAUEBQQEQsxEgACgCCCEDCyAAIANBAWo2AgggACgCBCADakEsOgAAIAIgARDtAyACQTBqIQIgBEEwayIEDQALCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQd0AOgAADAYLIAQgACgCAEYEQCAAIARBAUEBQQEQsxEgACgCCCEECyAAIARBAWo2AgggACgCBCAEakHdADoAAAwFCyAAKAIoIQUgASgCACICKAIIIgMgAigCAEYEQCACIANBAUEBQQEQsxEgAigCCCEDCyACIANBAWoiBDYCCCACKAIEIANqQfsAOgAAQYACIQMgBUUEQCAEIAIoAgBGBEAgAiAEQQFBAUEBELMRIAIoAgghBAsgAiAEQQFqNgIIIAIoAgQgBGpB/QA6AABBACEDCyAAKAIYIgdFDQEgACgCFCIAQTxqKAIAIQMgAEE4aigCACEIIAEoAgAhAiAFRQRAIAIoAggiBCACKAIARgRAIAIgBEEBQQFBARCzESACKAIIIQQLIAIgBEEBajYCCCACKAIEIARqQSw6AAAgASgCACECCyAHQQZ0IQQgAiAIIAMQngcgASgCACICKAIIIgMgAigCAEYEQCACIANBAUEBQQEQsxEgAigCCCEDCyAAIARqIQQgAiADQQFqNgIIIAIoAgQgA2pBOjoAAANAIAAgARDtAyAEIABBQGsiAEYNAyAAQTxqKAIAIQUgAEE4aigCACEHIAEoAgAiAigCCCIDIAIoAgBGBEAgAiADQQFBAUEBELMRIAIoAgghAwsgAiADQQFqNgIIIAIoAgQgA2pBLDoAACABKAIAIAcgBRCeByABKAIAIgIoAggiAyACKAIARgRAIAIgA0EBQQFBARCzESACKAIIIQMLIAIgA0EBajYCCCACKAIEIANqQTo6AAAMAAsACyABIAApAwgQ1wwMAwsgA0EBcQ0BIANBgAJxRQ0CCyABKAIAIgEoAggiACABKAIARgRAIAEgAEEBQQFBARCzESABKAIIIQALIAEgAEEBajYCCCABKAIEIABqQf0AOgAADAELQaCryQBBKEHM4MgAEK8UAAsgBkEgaiQAC58MAhR/AX4jAEGQBmsiBCQAAkACQAJAAkACQAJAAkAgAiADKAIIIgZGBEAgAygCBCIHIAJB6AFsIhNqIQog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CiAKQj+HQgpCABDuESADKQMIIAMpAwAiC0I/h1INAyAELQAAQTBrIgZBCUsNAyAGrSIMIAt8IgogC1MNAyAEQQFqIQQgBUEBayIFDQALDAELIAVFDQADQCAELQAAQTBrIgZBCUsNAiAEQQFqIQQgBq0gCkIKfnwhCiAFQQFrIgUNAAsLIAAgCjcDCEIBIQoMAQsgAEIANwMAAn8CfwJ/AkACQAJAAkACQAJAQQMgB0ECayAHQQFNG0EBaw4FAQIDBAUACyADQQA2AiggA0KAgICAEDcCICADQczsxAA2AlQgA0KggICABjcCWCADIANBIGo2AlAgASADQdAAahDIAg0LIAMoAighByADKAIkIQQgAygCICEFQdXOxQAhBkEHDAYLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQogAygCKCEHIAMoAiAhBUGz0cUAIQYgAygCJAwECyADQQA2AiggA0KAgICAEDcCICADQczsxAA2AlQgA0KggICABjcCWCADIANBIGo2AlAgASADQdAAahDIAg0JIAMoAighByADKAIkIQQgAygCICEFQbClxQAhBkEHDAQLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQggAygCKCEHIAMoAiQhBCADKAIgIQVBt6XFACEGQQohCEE0DAQLIANBADYCKCADQoCAgIAQNwIgIANBzOzEADYCVCADQqCAgIAGNwJYIAMgA0EgajYCUCABIANB0ABqEMgCDQcgAygCKCEHIAMoAiQhBCADKAIgIQVBvJzIACEGQQUMAgsgA0EANgIoIANCgICAgBA3AiAgA0HM7MQANgJUIANCoICAgAY3AlggAyADQSBqNgJQIAEgA0HQAGoQyAINBiADKAIoIQcgAygCICEFQbysyQAhBiADKAIkCyEEQQYLIQhBEAshCSADIAc2AkwgAyAENgJIIAMgCDYCRCADIAY2AkAgA0EHNgI8IANB1c7FADYCOCADIANByABqrUKAgICA0AGENwNgIAMgA0FAa61CgICAgNABhDcDWCADIANBOGqtQoCAgIDQAYQ3A1AgA0EgakH+9sEAIANB0ABqELgMIAMgASAJ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jPvCABCdFQALIAUgA2siBUEASA0BIAdBAXMhByACQaQCRw0ACwsgB0EBcUUNAQsgBiABNgIAQYABIQJBgQEMAgsgBEEAOgAYIARBADsBFiAEIAFBFHYtAOS2SToAGSAEIAFBBHZBD3EtAOS2SToAHSAEIAFBCHZBD3EtAOS2SToAHCAEIAFBDHZBD3EtAOS2SToAGyAEIAFBEHZBD3EtAOS2SToAGiABQQFyZ0ECdiICIARBFmoiBWoiAEH7ADoAACAAQQFrQfUAOgAAIAUgAkECayICakHcADoAACAGIAQpARY3AAAgBEH9ADoAHyAEIAFBD3EtAOS2SToAHiAGIAQvAR47AAgLQQoLOgANIAYgAjoADCAEQSBqJAALqwsBDH8jAEFAaiIDJABBASECAkAgASgCAEEBRgRAIAEoAgQiBCABKAIITw0BIAEgBEEBajYCBAsgASgCjAEiAiABKAKIASIGRgRAIAEoAiAhCSABKAIsIQcLIAEoAhQhBAJAIAEtAJABQQJHBEAgBCEFDAELIAQhBSABLQCRAUUNACABKAIMIARGBEAgAUEMahCaEgsgASgCECAEQRRsaiICIAY2AgggAkEANgIEIAJBADoAACABIARBAWoiBTYCFCABKAKMASECCyACIAZGBEAgASgCLCABKAIgaiEKCyABKAJ4IQwgASgCXCENAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAiABKAIITw0BIAEgAkEBajYCBAsgAyABKAKIATYCKCADIAEpAoABNwMgIANBGGogARDnAyADKAIcIQECQCADKAIYQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIEIgIgASgCCCIITw0CIAEgAkEBaiILNgIEIAggC00NASABIAJBAmo2AgQLIAFBADoAkQEgA0EQaiABEJQKIAMoAhAgAygCFCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIghFBEAgAyABEJQKIAMoAgQhASADKAIAIQIMAQsgAUEAOgCRASADQQhqIAEQlAogAygCCCECIAMoAgwiASAIOgCRAQsgAkEBRw0ACwtBACECAkAgASgCiAEiCCABKAKEAU8NACABKAKAASAIai0AAEE6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XCEFCyABQcgAbCEMIAMoAkwgAygCUCIKQQR0aiEJIAMoAlggBUEFdGohBCADQbgBaiEIIANB8ABqIQ8gBiEBA0AgA0HgAGogAUHIAPwKAAAgA0HYAWoiByABQcgA/AoAACADQagBaiAHEMoKIAggDxCrASADKALYASIHQQBKBEAgAygC3AEiEEEEaygCACINQXhxIQ4gDkEEQQggDUEDcSINGyAHakkNBiANQQBHIA4gB0EnaktxDQcgEBC8BQsgAUHIAGohASAJIAMpA7ABNwIIIAkgAykDqAE3AgAgBCAIKQMANwMAIAQgCCkDCDcDCCAEIAgpAxA3AxAgBCAIKQMYNwMYIAlBEGohCSAEQSBqIQQgBUEBaiEFIApBAWohCiAMQcgAayIMDQALIAMgBTYCXCADIAo2AlALIAsEQCAGQQRrKAIAIgRBeHEhASABIAtByABsIgVBBEEIIARBA3EiBBtqSQ0EIARBAEcgASAFQSdqS3ENBSAGELwFCyADIAMpAwg3AvwBIAMgAygCUDYC+AEgAyADKQJIIhE3A/ABIAMgAygCIDYC4AEgAyADKQMYIhI3A9gBIAMgA0HUAGoiASgCCDYC7AEgAyABKQIANwLkASADIAMoAhA2AoQCIAAgAykD+AE3AiAgACARNwIYIAAgEjcCACAAIAMpA4ACNwIoIAAgAykD6AE3AhAgACADKQPgATcCCCAAIAI6ADALIANBoAJqJAAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvFCgIOfwJ+IwBBoAJrIgMkACADQQE6AIABIANBATYCfCADQbjsxgA2AnggA0IINwJwIANCADcCaCADQoCAgIDAADcCYAJAAkACQEG4AhCQASIEBEAgBCABQbgC/AoAACADQYGAgIB4NgKoASADIAQ2AqwBIANB2AFqIANB4ABqIgEgA0GoAWoQigECQCADKALYASIIQX5HBEAgAyADKALkATYCQCADIAMpAtwBNwM4IAMgAykC9AE3AyggAyADKAL8ATYCMCADKALoASEJIAMoAuwBIQogAygC8AEhCyADKQKAAiERIAEQiwYgAygCcCECIAMoAnQiAQRAIAIhBANAIARBEGoQ2QQgBCgCACIGQQBKBEAgBEEEaigCACIM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0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAAQQhqEIgEDwsgACgCHBAwC8oIAQh/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAtAAAOEQABAgMEBQYHCAkKCwwNDg8QEQsgACgCCEF/RwRADBYLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDRAMFgsgACgCCEF/RwRADBULIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ8MFQsgACgCCEF/RwRADBQLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ4MFAsgACgCCEF/RwRADBMLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQ0MEwsgACgCCEF/RwRADBILIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQwMEgsgACgCCEF/RwRADBELIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQsMEQsgACgCCEF/RwRADBALIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQoMEAsgACgCCEF/RwRADA8LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQkMDwsgACgCCEF/RwRADA4LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQgMDgsgACgCCEF/RwRADA0LIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQcMDQsgACgCCEF/RwRADAwLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQYMDAsgACgCCEF/RwRADAsLIAAoAhwiAigCACEBIAIgAUEBazYCACABQQFHDQUMCwsgAEEEahDaDQ8LIABBBGoQ2g0PCyAAKAIUIgMQ4gQgA0EEaygCACIBQQNxIQIgAUF4cUE0QTggAhtJDQMgAkEARyABQdgAT3ENBCADELwFIAAoAgQiAkECRg0CIAJFBEAgACgCCCICRQ0DIAAoAgwgAhDZEg8LIAAoAgwhAiAAKAIQIgQEQCACIQEDQCABKAIAIgUEQCABQQRqKAIAIgdBBGsoAgAiA0F4cSEGIAZBBEEIIANBA3EiAxsgBWpJDQggA0EA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IAJBMGokACADC78JAQd/IwBB4ABrIgMkAEEBIQUCQAJAAn8CQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAQQMgASgCACIEQQJrIARBAU0bIgRBAWsOAwEAAgALIARBAWsOBQIEAgUGAwsCQCABKAIMIgJFIgQNACABKAIIIQEgAhCQASIFRQ0IIAQNACAFIAEgAvwKAAALIAAgAjYCFCAAIAU2AhAgACACNgIMIABBfzYCAAwNCyABKAIwQQNHDQogASgCLCIFLwAAQeXcAXMgBUECai0AAEH2AHNyDQogA0FAayABIAIQpQUgAygCQCICQX9HBEAgAygCSCIBQQBIDQggAygCRCEFIAFFBEBBASEEDAsLIAEQkAEiBEUNCSABRQ0KIAQgBSAB/AoAAAwKCyAAQX42AgAMDAsACyADQQA2AiwgA0KAgICAEDcCJCADQYilxQA2AkQgA0KggICABjcCSCADIANBJGo2AkAgASADQUBrEMgCDQsgAygCLCEGIAMoAighBEHVzsUAIQdBByEIIAMoAiQMAwsgA0EANgIsIANCgICAgBA3AiQgA0GIpcUANgJEIANCoICAgAY3AkggAyADQSRqNgJAIAEgA0FAaxDIAg0KIAMoAiwhBiADKAIoIQRBsKXFACEHQQchCCADKAIkDAILIANBADYCLCADQoCAgIAQNwIkIANBiKXFADYCRCADQqCAgIAGNwJIIAMgA0EkajYCQCABIANBQGsQyAINCSADKAIsIQYgAygCKCEEQbycyAAhB0EFIQggAygCJAwBCyADQQA2AiwgA0KAgICAEDcCJCADQYilxQA2AkQgA0KggICABjcCSCADIANBJGo2AkAgASADQUBrEMgCDQggAygCLCEGIAMoAighBEG8rMkAIQdBBiEIIAMoAiQLIQVBEAwFC0EBEKcUAAsQnhUAC0EBEKcUAAsgAgRAIAUgAhDZEgsgAEF/NgIMIAAgATYCCCAAIAQ2AgQgACABNgIADAILIANBADYCLCADQoCAgIAQNwIkIANBiKXFADYCRCADQqCAgIAGNwJIIAMgA0EkajYCQCABIANBQGsQyAIEQAwDCyADKAIsIQYgAygCKCEEIAMoAiQhBUG3pcUAIQdBCiEIQTQLIQkgAyAGNgIoIAMgBDYCJCADIAg2AjwgAyAHNgI4IANBBjYCNCAD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A0EBIQACQCADDQAgASgCBCEDIAEoAgAhBgJAAkACQAJAAkACQCABLQAKQYABcUUEQCAEQQFxDQEMBgsgBEEBcUUEQCAGQaCyyABBASADKAIMEQAADQcgASgCACEGIAEoAgQhAwsgAkEBOgAbIAIgAzYCECACIAY2AgwgAkGg68IANgIgIAIgASkCCDcCJCACIAJBG2o2AhQgAiACQQxqIgA2AhwgAEEBQQAQ/QggAiAFNgIsDQMgAi0AJkGAAXENASACKAIcQbTPxQBBASACKAIgKAIMEQAADQMgAkEsaiACQRxqEMYQRQ0CDAMLIAZBiLPJAEECIAMoAgwRAAANBSABKAIEIQMgASgCACEGDAQLIAIoAhxBnePCAEECIAIoAiAoAgwRAAANASACQQE6AD8gAiACKQIcNwIwIAIgAikCJDcCSCACQaDrwgA2AkQgAiACQT9qNgI4IAIgAkEwajYCQCACQSxqIAJBQGsQxhANASACKAJAQaSyyABBAiACKAJEKAIMEQAADQELIAVB4ABqIQACQCACLQAmQYABcUUEQCACKAIcQYizyQBBAiACKAIgKAIMEQAADQIgACACQRxqELsPRQ0BDAILIAIpAiQhCiACKQIcIQsgAkEBOgA/IAIgCzcCMCACIAo3AkggAkGg68IANgJEIAIgAkE/ajYCOCACIAJBMGoiBDYCQCAAIAJBQGsQuw8NASAEQaSyyABBAhD9CA0BCyACKAIcQYiQyQBBASACKAIgKAIMEQAARQ0BC0EBIQAMAgsgAigCHEGkssgAQQIgAigCICgCDBEAACEADAELIAZBAUEAIAMoAgwRAAAgAiAFNgIwBEBBASEADAELAkAgAS0ACkGAAXFFBEBBASEAIAEoAgBBtM/FAEEBIAEoAgQoAgwRAAANAiACQTBqIAEQxhANAgwBCyABKAIAQZ3jwgBBAiABKAIEKAIMEQAABEBBASEADAILIAJBAToADCACQaDrwgA2AkQgAiABKQIANwIcIAIgASkCCDcCSCACIAJBDGo2AiQgAiACQRxqNgJAIAJBMGogAkFAaxDGEARAQQEhAAwCCyACKAJAQaSyyABBAiACKAJEKAIMEQAARQ0AQQEhAAwBCyAFQeAAaiEEAkACQCABLQAKQYABcUUEQCABKAIAQYizyQBBAiABKAIEKAIMEQAABEBBASEADAQLQQEhACAEIAEQuw9FDQEMAwsgASkCCCEKIAEpAgAhCyACQQE6AAwgAiALNwIcIAIgCjcCSCACQaDrwgA2AkQgAiACQQxqNgIkIAIgAkEcaiIDNgJAIAQgAkFAaxC7Dw0BQQEhACADQaSyyABBAhD9CA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEACyAFQegAaiEFIAlB6ABrIgkNAAsLIABFBEAgASgCAEGossgAQQEgASgCBCgCDBEAACEICyACQdAAaiQAIAgL9wgCA34RfyMAQRBrIgkkACABKQMAIAEpAwggAigCBCIMIAIoAggiDxDfCiEQIAEoAhghESABKAIUIRIgAigCACENIAEoAiRFBEAgAUEcaiASIBEQywMLIAEoAiAiDiAQcSEKIBBBGXYiE61CgYKEiJCgwIABfiEGIAEoAhwhBwJAAkADQAJAAkACQAJAAkACQAJAIAcgCmopAAAiBSAGhSIEQoGChIiQoMCAAX0gBEJ/hYNCgIGChIiQoMCAf4MiBEIAUgRAA0AgByAEeqdBA3YgCmogDnFBAnRrQQRrKAIAIgIgEU8NAyASIAJBBnRqIhVBPGooAgAgD0YEQCAMIBVBOGooAgAgDxCPE0UNAwsgBEIBfSAEgyIEQgBSDQALCyAFQoCBgoSIkKDAgH+DIQRBASECIAhBAUYNBiAEQgBSDQJBACECDAYLIAEoAhgiCCACTQ0EIAEoAhQgAkEGdGoiASkDACEEIAEgAykDADcDACAAIAQ3AwggASkDCCEEIAEgAykDCDcDCCAAIAQ3AxAgASkDECEEIAEgAykDEDcDECAAIAQ3AxggASkDGCEEIAEgAykDGDcDGCAAIAQ3AyAgASkDICEEIAEgAykDIDcDICAAIAQ3AyggASkDKCEEIAEgAykDKDcDKCAAIAQ3AzAgACACNgIAIA1FDQcgDEEEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyANakkNAiABQQBHIAAgDUEnaktxDQMgDBC8BQwHCyACIBFB0K/JABCFEwALIAR6p0EDdiAKaiAOcSELDAMLQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyACIAhB4LXJABCFEwALIAQgBUIBhoNQBEAgFEEIaiIUIApqIA5xIQogAiEIDAELCyAHIAtqLAAAIgJBAE4EQCAHKQMAQoCBgoSIkKDAgH+DeqdBA3YiCyAHai0AACECCyAHIAtqIBM6AAAgByALQQhrIA5xakEIaiATOgAAIAEgASgCJCACQQFxayIINgIkIAEgASgCKEEBaiIKNgIoIAcgC0ECdGtBBGsgASgCGCICNgIAAkAgAiABKAIQRw0AAkBB////DyAIIApqIgcgB0H///8PTxsiCCACa0EBTQ0AIAIgB0sNACAJQQRqIAIgASgCFCAIQQhBwAAQpREgCSgCBEEBRg0AIAkoAgghByABIAg2AhAgASAHNgIUIAIgCEcNASABQRBqEJUSDAELIAlBBGogAiABKAIUIAJBAWoiCEEIQcAAEKURIAkoAgRBAUYNAiAJKAIIIQcgASAINgIQIAEgBzYCFAsgASACQQFqNgIYIAEoAhQgAkEGdGoiASADKQMANwMAIAEgAykDCDcDCCABIAMpAxA3AxAgASADKQMYNwMYIAEgAykDIDcDICABIAMpAyg3AyggASAPNgI8IAEgDDYCOCABIA02AjQgASAQNgIwIABBfzYCGCAAIAI2AgALIAlBEGokAA8LIAkoAgggCSgCDCEXEKcUAAuCCQEFfyMAQRBrIgIkAAJAA0ACQCACIAAtAAAiAzYCDCABIAJBDGpBBBCWCAJAAkACQAJAAkACQAJAAkACQAJAIANBAWsOCgECAwQFBgcICQwACyAAKAIIIQMgAiAAKAIMIgA2AgwgASACQQxqQQQQlgggAEUNCyAAQdAAbCEAA0AgAyABEKAFIANB0ABqIQMgAEHQAGsiAA0ACwwLCyAAKAIIIQMgAiAAKAIMIgA2AgwgASACQQxqQQQQlgggAEUNCiAAQdAAbCEAA0AgAyABEKAFIANB0ABqIQMgAEHQAGsiAA0ACwwKCyAAKAIIIQMgAiAAKAIMIgA2AgwgASACQQxqQQQQlgggAEUNCSAAQdAAbCEAA0AgAyABEKAFIANB0ABqIQMgAEHQAGsiAA0ACwwJCyAAQThqIAEQ1QwgAEEIaiABEOIBIAIgAC0ATDYCDCABIAJBDGpBBBCWCAwICyACIAAoAigiBjYCDCABIAJBDGoiA0EEEJYIIABBCGohBSAAKAIsIQQCQCAGQQFGBEAgACgCMCEGIAIgBDYCDCABIANBBBCWCCACIAY2AgwgASADQQQQlgggAiAAKAI0NgIMIAEgA0EEEJYIDAELIAIgBDYCDCABIAJBDGpBBBCWCAsgAkEaIAUoAgAiAyADQRpMG0EaayIENgIMIAEgAkEMakEEEJYIAkACQAJAAkAgBEEBaw4DAAECAwsgAEEMaiABEIoNDAoLIABBDGogARCKDQwJCyACIAAtAAw6AAwgASACQQxqQQEQlggMCAsgAiADQX9GIgM2AgwgASACQQxqQQQQlgggAw0FIAUgARC5AgwHCyACIAAoAgg2AgwgASACQQxqQQQQlggMBgsgAiAAKAIINgIMIAEgAkEMaiIDQQQQlgggACgCDCABEKAFIAIgAC0AEDYCDCABIANBBBCWCAwFCyACIAAoAgQiBDYCDCABIAJBDGoiA0EEEJYIIAAoAgghBQJAIARBAUYEQCAAKAIMIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyACIAAoAhgiAC0AACIDNgIMIAEgAkEMakEEEJYIAkACQAJAAkACQCADQQNrDgUBAgMDBAALIABBCGohAAwHCyACIAAtAAE6AAwgASACQQxqQQEQlggMBwsgAEEIaiABELkCDAYLIABBCGohAAwECyACIAAtAAE6AAwgASACQQxqQQEQlggMBAsgAiAALQABOgAMIAEgAkEMakEBEJYIDAMLIAIgACgCBDYCDCABIAJBDGpBBBCWCCAAKAIIIQAMAQsLIAIgACgCDCIENgIMIAEgAkEMaiIDQQQQlgggACgCECEFIARBAUYEQCAAKAIUIQQgAiAFNgIMIAEgA0EEEJYIIAIgBDYCDCABIANBBBCWCCACIAAoAhg2AgwgASADQQQQlggMAQsgAiAFNgIMIAEgAkEMakEEEJYICyACQRBqJAALggkBBX8jAEEQayICJAACQANAAkAgAiAALQAAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQAJAAkACQAJAAkACQCADQQFrDgoBAgMEBQYHCAkMAAsgACgCCCEDIAIgACgCDCIANgIMIAEgAkEMakEEEJYIIABFDQsgAEHQAGwhAANAIAMgARChBSADQdAAaiEDIABB0ABrIgANAAsMCwsgACgCCCEDIAIgACgCDCIANgIMIAEgAkEMakEE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KAIUKAIMEQAADQMgA0EMaygCACADQQhrKAIAIAIoAhAgAigCFBC/BkUNAgwDCyAFQYizyQBBAiAEKAIMEQAADQUgASgCBCEEIAEoAgAhBQwECyACKAIQQZ3jwgBBAiACKAIUKAIMEQAADQEgAiACKQIQNwIwIAJBAToAICACIAJBIGo2AjggA0EMaygCACADQQhrKAIAIAJBMGoiAEGg68IAEL8GDQEgAEGkssgAQQIQ/QgNAQsCQCACLQAaQYABcUUEQCACKAIQQYizyQBBAiACKAIUKAIMEQAADQIgAyACQRBqENgBRQ0BDAILIAIpAhghCiACKQIQIQsgAkEBOgAvIAIgCzcCICACIAo3AjggAkGg68IANgI0IAIgAkEvajYCKCACIAJBIGo2AjAgAyACQTBqENgBDQEgAigCMEGkssgAQQIgAigCNCgCDBEAAA0BCyACKAIQQYiQyQBBASACKAIUKAIMEQAARQ0BC0EBIQAMAgsgAigCEEGkssgAQQIgAigCFCgCDBEAACEADAELIAVBAUEAIAQoAgwRAAAEQAwBCwJAIAEtAApBgAFxRQRAIAEoAgBBtM/FAEEBIAEoAgQoAgwRAAANAiADQQxrKAIAIANBCGsoAgAgASgCACABKAIEEL8GDQIMAQsgASgCAEGd48IAQQIgASgCBCgCDBEAAARADAILIAIgASkCADcCMCACQQE6ABAgAiACQRBqNgI4IANBDGsoAgAgA0EIaygCACACQTBqQaDrwgAQvwYEQAwCCyACQTBqQaSyyABBAhD9CEUNAAwBCwJAAkAgAS0ACkGAAXFFBEAgASgCAEGIs8kAQQIgASgCBCgCDBEAAARADAQLIAMgARDYAUUNAQwDCyABKQIIIQogASkCACELIAJBAToAICACIAs3AhAgAiAKNwI4IAJBoOvCADYCNCACIAJBIGo2AhggAiACQRBqNgIwIAMgAkEwahDYAQ0BIAIoAjBBpLLIAEECIAIoAjQoAgwRAAANAgsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAELCyADQTBqIQMgCUEwayIJDQALCyAARQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhCAsgAkFAayQAIAgL6wgCEH8DfiMAQYABayIDJAAgASgCACEIIAApAwAgACkDCCABKAIEIgkgASgCCCIL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IAIoAmAhAyACKAJkIgEgBDoAkQELIANBAUcNAAsLIAJB0ABqIAEQNiACKAJUIQECfwJAAkAgAigCUEEBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITwRAQQEhAwwCCyABIANBAWo2AgQLIAEoAhQhBCACIAEoAogBNgKIASACIAEpAoABNwOAASACQcgAaiABENsCQQEhAyACKAJMIQECQCACKAJIQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIIIgcgASgCBCIFTQ0CIAEgBUEBaiIDNgIEIAMgB08NASABIAVBAmo2AgQLIAFBADoAkQEgAkFAayABEJQKIAIoAkAgAigCRCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQIgASADQQFqNgIECwJAIAEtAJEBIgVFBEAgAkEwaiABEJQKIAIoAjQhASACKAIwIQMMAQsgAUEAOgCRASACQThqIAEQlAogAigCOCEDIAIoAjwiASAFOgCRAQsgA0EBcUUNAAsLIAJBKGogARCuCyACKAIsIQEgAigCKCEDCyADQQFHDQAgASACKAKIATYCiAEgASACKQOAATcCgAEgBCABKAIUSw0AIAEgBDYCFAsgA0EBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITw0BIAEgA0EBajYCBAsCQCABLQCRASIEQQFGBEAgAkEYaiABEIEDIAIoAhwhASACKAIYIQMMAQsgAUEBOgCRASACQSBqIAEQgQMgAigCICEDIAIoAiQiASAEOgCRAQsgA0EBcUUNAQsgAkEQaiABELoFIAIoAhQhASACKAIQQQFxDQELQQAMAQsgAkEIaiABENEDIAIoAgwhASACKAIICyIDQQFHDQEgASACKQNwNwKAASABIAIoAng2AogBIAYgASgCFEsNAQsgASAGNgIUCyAAIAM2AgAgACABNgIEIAJBkAFqJAALvAgBBn8jAEGQAWsiAiQAAkACQAJAAkACQCABKAIAQQFGBEAgASgCBCIDIAEoAggiBEkNAUEBIQMMBQsgASgCFCEGIAIgASgCiAE2AnggAiABKQKAATcDcCABLQCRAUECRg0BDAILIAEgA0EBaiIFNgIEIAEoAhQhBiACIAEoAogBNgJ4IAIgASkCgAE3A3AgAS0AkQFBAkcNASAEIAVNBEBBASEDDAMLIAEgA0ECaiIFNgIEIAQgBU0NASABIANBA2o2AgQLIAFBADoAkQEgAkHoAGogARCUCiACKAJoIAIoAmwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIERQRAIAJB2ABqIAEQlAogAigCXCEBIAIoAlghAwwBCyABQQA6AJEBIAJB4ABqIAEQlAogAigCYCEDIAIoAmQiASAEOgCRAQsgA0EBRw0ACwsgAkHQAGogARDWAiACKAJUIQECfwJAAkAgAigCUEEBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITwRAQQEhAwwCCyABIANBAWo2AgQLIAEoAhQhBCACIAEoAogBNgKIASACIAEpAoABNwOAASACQcgAaiABENsCQQEhAyACKAJMIQECQCACKAJIQQFxDQACQCABLQCRAUECRw0AIAEoAgBBAUYEQCABKAIIIgcgASgCBCIFTQ0CIAEgBUEBaiIDNgIEIAMgB08NASABIAVBAmo2AgQLIAFBADoAkQEgAkFAayABEJQKIAIoAkAgAigCRCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQIgASADQQFqNgIECwJAIAEtAJEBIgVFBEAgAkEwaiABEJQKIAIoAjQhASACKAIwIQMMAQsgAUEAOgCRASACQThqIAEQlAogAigCOCEDIAIoAjwiASAFOgCRAQsgA0EBcUUNAAsLIAJBKGogARCuCyACKAIsIQEgAigCKCEDCyADQQFHDQAgASACKAKIATYCiAEgASACKQOAATcCgAEgBCABKAIUSw0AIAEgBDYCFAsgA0EBRw0AAkAgASgCAEEBRgRAIAEoAgQiAyABKAIITw0BIAEgA0EBajYCBAsCQCABLQCRASIEQQFGBEAgAkEYaiABEIEDIAIoAhwhASACKAIYIQMMAQsgAUEBOgCRASACQSBqIAEQgQMgAigCICEDIAIoAiQiASAEOgCRAQsgA0EBcUUNAQsgAkEQaiABELoFIAIoAhQhASACKAIQQQFxDQELQQAMAQsgAkEIaiABENEDIAIoAgwhASACKAIICyIDQQFHDQEgASACKQNwNwKAASABIAIoAng2AogBIAYgASgCFEsN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IAQgByACQX9GIgkbIANBf0YiChsiAigCACIIIAAgByAEIAobIAkbIgMoAgAiBUcEQCAIIAVrIQUMAQtBBCEFIAgEQCACKAIIIgUgAygCCCIISyAFIAhJayACKAIEIgUgAygCBCIISyAFIAhJayAFIAhGGyIFQf8BcQ0BQQwhBQsgAiAFaigCACIIIAMgBWooAgAiBUsgBSAIS2shBQsgASAHIAAgCRsiACkCGDcCGCABIAApAhA3AhAgASAAKQIINwIIIAEgACkCADcCACABIAIgAyAFQX9GIgcbIgApAhg3AjggASAAKQIQNwIwIAEgACkCCDcCKCABIAApAgA3AiAgASADIAIgBxsiACkCGDcCWCABIAApAhA3AlAgASAAKQIINwJIIAEgACkCADcCQCABIAQgBiAKGyIAKQIANwJgIAEgACkCCDcCaCABIAApAhA3AnAgASAAKQIYNwJ4C7IHAQh/AkACQCAAKAIAIgEEQCAAKAIEIQICQCAAKAIIIggEQAJAA0ACQCADBEAgASEAIAMhAQwBC0EAIQACQCACRQ0AIAIhBCACQQdxIgUEQANAIARBAWshBCABKALIBCEBIAVBAWsiBQ0ACwsgAkEISQ0AA0AgASgCyAQoAsgEKALIBCgCyAQoAsgEKALIBCgCyAQoAsgEIQEgBEEIayIEDQALC0EAIQILAkAgAS8BwgQgAksEQCACIQYgASEEDAELAkADQCABKAK4AyIEBEAgAUEEaygCACICQXhxIQMgA0H4BEHIBCAAGyIFQQRBCCACQQNxIgIbakkNCSABLwHABCEGIAJBAEcgAyAFQSdqS3ENAiABELwFIABBAWohACAEIgEvAcIEIAZNDQEMAwsLIAFB+ARByAQgABsQ2RJBrOrIABCdFQALDAcLAkAgAEUEQCAGQQFqIQIgBCEDDAELIAQgBkECdGpBzARqIQECQCAAQQdxIgJFBEAgACEFDAELIAAhBQNAIAVBAWshBSABKAIAIgNByARqIQEgAkEBayICDQALC0EAIQIgAEEISQ0AA0AgASgCACgCyAQoAsgEKALIBCgCyAQoAsgEKALIBCgCyAQiA0HIBGohASAFQQhrIgUNAAsLAkAgBCAGQQxsaiIBKAK8AyIABEAgAUG8A2ooAgQiBUEEaygCACIHQXhxIQEgAUEEQQggB0EDcSIHGyAA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IAEpAwg3AwggACABKQMANwMADA0LIAAgASkDCDcDCCAAIAEpAwA3AwAMDAsgACABKQMINwMIIAAgASkDADcDAAwLCyAAIAEpAwg3AwggACABKQMANwMADAoLAkAgASgCDCICRQRAQQEhAQwBCyABKAIIIQQgAhCQASIBRQ0LIAJFDQAgASAEIAL8CgAACyAAIAI2AgwgACABNgIIIAAgAjYCBCAAQYyAgIB4NgIADAkLIAAgASkDCDcDCCAAIAEpAwA3AwAMCAsCQCABKAIMIgJFBEBBASEBDAELIAEoAgghBCACEJABIgFFDQogAkUNACABIAQgAvwKAAALIAAgAjYCDCAAIAE2AgggACACNgIEIABBjoCAgHg2AgAMBwsgACABKQMINwMIIAAgASkDADcDAAwGCyAAQZCAgIB4NgIADAULIAMgASgCBBDOBUEQEJABIgFFDQcgASADKQMINwMIIAEgAykDADcDACAAQZGAgIB4NgIAIAAgATYCBAwECyAAQZKAgIB4NgIADAMLIAMgASgCBBDOBUEQEJABIgFFDQYgASADKQMINwMIIAEgAykDADcDACAAQZOAgIB4NgIAIAAgATYCBAwCCyABKAIMIgJBgICAwABPDQYCfyACRQRAQQghBUEADAELIAEoAgghBiACQQR0EJABIgVFDQhBACEBIAIhBANAIAMgASAGahDOBSABIAVqIgcgAykDCDcDCCAHIAMpAwA3AwAgAUEQaiEBIARBAWsiBA0ACyACCyEBIAAgAjYCDCAAIAU2AgggACABNgIEIABBlICAgHg2AgAMAQsgASgCCCICQYCAgCBPDQUCfyACRQRAQQghBUEADAELIAEoAgQhByACQQV0EJABIgVFDQggA0EgaiEIQQAhASACIQQDQCADQRBqIAEgB2oiBhDOBSAIIAZBEGoQzgUgASAFaiIGIAMpAyg3AxggBiADKQMgNwMQIAYgAykDGDcDCCAGIAMpAxA3AwAgAUEgaiEBIARBAWsiBA0ACyACCyEBIAAgAjYCCCAAIAU2AgQgACABNgIACyADQTBqJAAPC0EBEKcUAAtBARCnFAALQbjwyQBBAToAAAALQbjwyQBBAToAAAALEJ4VAAtBCBCnFAALQQgQpxQAC/IHAgl/AX4jAEHgAGsiBSQAIAUgBDYCRCAFIAM2AkAgBUIANwI4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IQZBBwwGCyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQogAigCCCEFIAIoAgAhA0Gz0cUAIQYgAigCBAwECyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQkgAigCCCEFIAIoAgQhBCACKAIAIQNBsKXFACEGQQcMBAsgAkEANgIIIAJCgICAgBA3AgAgAkHM7MQANgI0IAJCoICAgAY3AjggAiACNgIwIAAgAkEwahDIAg0IIAIoAgghBSACKAIEIQQgAigCACEDQbelxQAhBkEKIQdBNAwECyACQQA2AgggAkKAgICAEDcCACACQczsxAA2AjQgAkKggICABjcCOCACIAI2AjAgACACQTBqEMgCDQcgAigCCCEFIAIoAgQhBCACKAIAIQNBvJzIACEGQQUMAgsgAkEANgIIIAJCgICAgBA3AgAgAkHM7MQANgI0IAJCoICAgAY3AjggAiACNgIwIAAgAkEwahDIAg0GIAIoAgghBSACKAIAIQNBvKzJACEGIAIoAgQLIQRBBgshB0EQCyEIIAIgBTYCLCACIAQ2AiggAiAHNgIkIAIgBjYCICACQQc2AhwgAkG/0cUANgIYIAIgAkEoaq1CgICAgNABhDcDQCACIAJBIGqtQoCAgIDQAYQ3AzggAiACQRhqrUKAgICA0AGENwMwIAJB/vbBACACQTBqELgMIAIgACAIaiIAKQIANwIMIAIgACgCCDYCFCABKAIIIgAgASgCAEYEQCABEL0SCyABIABBAWo2AgggASgCBCAAQRhsaiIAIAIpAgA3AgAgACACKQIINwIIIAAgAikCEDcCEEECIQAgA0UNACAEQQRrKAIAIgVBeHEhASABQQRBCCAFQQNxIgUbIANqSQ0BIAVBAEcgASADQSdqS3ENAiAEELwFCyACQdAAaiQAIAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB8LXJAEE3IAJBzwBqQeTsxABBqLbJABDaEgALmAgCB38BfiMAQfAGayICJAAgAiABKAIYIgM2AiAgAiABKQIQNwMYIAIgASkCCDcDECACIAEpAgA3AwggAiADNgI4IAIgAkEYajYCMCAC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zOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCiADKAIIIQUgAygCACEGQbPRxQAhByADKAIEDAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCSADKAIIIQUgAygCBCEEIAMoAgAhBkGwpcUAIQdBBwwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQggAygCCCEFIAMoAgQhBCADKAIAIQZBt6XFACEHQQohCEE0DAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINByADKAIIIQUgAygCBCEEIAMoAgAhBkG8nMgAIQdBBQwCCyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQYgAygCCCEFIAMoAgAhBkG8rMkAIQcgAygCBAshBEEGCyEIQRALIQkgAyAFNgIsIAMgBDYCKCADIAg2AiQgAyAHNgIgIANBBjYCHCADQbPRxQA2AhggAyADQShqrUKAgICA0AGENwNAIAMgA0Egaq1CgICAgNABhDcDOCADIANBGGqtQoCAgIDQAYQ3AzAgA0H+9sEAIANBMGoQuAwgAyABIAlqIgEpAgA3AgwgAyABKAIINgIUIAIoAggiASACKAIARgRAIAIQvRILIAIgAUEBajYCCCACKAIEIAFBGGxqIgEgAykCADcCACABIAMpAgg3AgggASADKQIQNwIQQQAhASAGRQ0AIARBBGsoAgAiBUF4cSECIAJBBEEIIAVBA3EiBRsgBmpJDQEgBUEARyACIAZBJ2pLcQ0CIAQQvAULIAAgATYCACADQdAAaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfC1yQBBNyADQc8AakHk7MQAQai2yQAQ2hIAC9gHAgZ/AX4jAEHQAGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBaw4EAgADBAELAkACQCABKAIMIgNFDQAgAkEwaiABKAIIIgYQ8gUgAigCMCIBQX9GDQAg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AiACKQNgNwIwIAIgAikDaDcCOCACIAIpA3A3AkAgAiAHOgBIIAIgBDYCTCACIAItAFY6AEsgAiACLwFUOwBJIAJBDGoiASACQRhqEPsFIAIgAa1CgICAgMAChDcDWCAAQe/KwQAgAkHYAGoQuAwgAigCDCIABEAgAigCECIEQQRrKAIAIgNBeHEhASABQQRBCCADQQNxIgMbIABqSQ0EIANBAEcgASAAQSdqS3ENBSAEELwFCwJAAkAgAi0AGA4CAAEHCyACQRxqEOIIDAYLIAJBKGoQwwIgAigCTCIBKAIAIQAgASAAQQFrNgIAIABBAUcNBSACQcwAahC2CAwFC0HwtckAQTcgAkH/AGpBiIjIAEGotskAENoSAAtB8LXJAEE3IAJB/wBqQYiIyABBqLbJABDaEgsAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAkGAAWokAAvzBwEHfyMAQdAAayIDJAACQAJAAkACQCABKAIAIgRBA0YEQCABKAIMIQIgASgCCCEBDAELAn8CfwJ/AkACQAJAAkACQAJAQQMgBEECayAEQQFNG0EBaw4FAQIDBAUACyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQsgAygCCCEFIAMoAgQhBCADKAIAIQZB1c7FACEHQQcMBgsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0KIAMoAgghBSADKAIAIQZBs9HFACEHIAMoAgQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0JIAMoAgghBSADKAIEIQQgAygCACEGQbClxQAhB0EHDAQLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCCADKAIIIQUgAygCBCEEIAMoAgAhBkG3pcUAIQdBCiEIQTQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0HIAMoAgghBSADKAIEIQQgAygCACEGQbycyAAhB0EFDAILIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINBiADKAIIIQUgAygCACEGQbysyQAhByADKAIECyEEQQYLIQhBEAshCSADIAU2AiwgAyAENgIoIAMgCDYCJCADIAc2AiAgA0EGNgIcIANBs9HFADYCGCADIANBKGqtQoCAgIDQAYQ3A0AgAyADQSBqrUKAgICA0AGENwM4IAMgA0EYaq1CgICAgNABhDcDMCADQf72wQAgA0EwahC4DCADIAEgCWoiASkCADcCDCADIAEoAgg2AhQgAigCCCIBIAIoAgBGBEAgAhC9EgsgAiABQQFqNgIIIAIoAgQgAUEYbGoiASADKQIANwIAIAEgAykCCDcCCCABIAMpAhA3AhBBACEBIAYEQCAEQQRrKAIAIgJBeHEhBSAFQQRBCCACQQNxIgIbIAZqSQ0CIAJBAEcgBSAGQSdqS3ENAyAEELwFCwsgACACNgIEIAAgATYCACADQdAAaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfC1yQBBNyADQc8AakHk7MQAQai2yQAQ2hIAC/MHAQd/IwBB0ABrIgMkAAJAAkACQAJAIAEoAgAiBEEERgRAIAEoAgwhAiABKAIIIQEMAQsCfwJ/An8CQAJAAkACQAJAAkBBAyAEQQJrIARBAU0bQQFrDgUBAgMEBQALIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCyADKAIIIQUgAygCBCEEIAMoAgAhBkHVzsUAIQdBBwwGCyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQogAygCCCEFIAMoAgAhBkGz0cUAIQcgAygCBAwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQkgAygCCCEFIAMoAgQhBCADKAIAIQZBsKXFACEHQQcMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0IIAMoAgghBSADKAIEIQQgAygCACEGQbelxQAhB0EKIQhBNAwECyADQQA2AgggA0KAgICAEDcCACADQczsxAA2AjQgA0KggICABjcCOCADIAM2AjAgASADQTBqEMgCDQcgAygCCCEFIAMoAgQhBCADKAIAIQZBvJzIACEHQQUMAgsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0GIAMoAgghBSADKAIAIQZBvKzJACEHIAMoAgQLIQRBBgshCEEQCyEJIAMgBTYCLCADIAQ2AiggAyAINgIkIAMgBzYCICADQQg2AhwgA0G85MQANgIYIAMgA0Eoaq1CgICAgNABhDcDQCADIANBIGqtQoCAgIDQAYQ3AzggAyADQRhqrUKAgICA0AGENwMwIANB/vbBACADQTBqELgMIAMgASAJaiIBKQIANwIMIAMgASgCCDYCFCACKAIIIgEgAigCAEYEQCACEL0SCyACIAFBAWo2AgggAigCBCABQRhsaiIBIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCEEEAIQEgBgRAIARBBGsoAgAiAkF4cSEFIAVBBEEIIAJBA3EiAhsgBmpJDQIgAkEARyAFIAZBJ2pLcQ0DIAQQvAULCyAAIAI2AgQgACABNgIAIANB0ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB8LXJAEE3IANBzwBqQeTsxABBqLbJABDaEgAL9QgCCX8BfiMAQfACayICJAACQAJAAkACQCABKAIEIgQgASgCDEcEQCABKAIUIQMgASAEQRRqNgIEIAIgBCgCEDYCWCACIAQpAgg3A1AgAiAEKQIANwNIIAEoAhAhASACQQhqIAJByABqEPAOIAJBiAJqIgQgAUEQaiACKAIIIAIoAgwQqQQgAigCiAJBf0YNAyACQcABaiIBIARByAD8CgAAIAJBgAFqIAEQ2gEgAiACKACBATYCeCACIAIoAIQBNgB7IAIgAigAiQE2AnAgAiACKACMATYAcyACIAIoAJEBNgJoIAIgAigAlAE2AGsgAi0AgAEhBCACLQCIASEGIAItAJABIQcgAi0AmAEhCCACKAKwASEBIAIgAigAnAE2AGMgAiACKACZATYCYCABQX9GDQEgAiACKAChATYCICACIAIoAKQBNgAjIAIgAikCtAE3AxAgAiACKAK8ATYCGCACIAIoAng2AkAgAiACKAB7NgBDIAIgAigCcDYCOCACIAIoAHM2ADsgAi0AoAEhCSACKQOoASELIAIgAigAazYAMyACIAIoAmg2AjAgAiACKABjNgArIAIgAigCYDYCKCACKAJYIgooAgAhBSAKIAVBAWs2AgAgBUEBRgRAIAIoAlgQMAsgAygCMEF/RwRAIAMQjQMLIAMgBDoAACADIAIoAkA2AAEgAyACKABDNgAEIAMgBjoACCADIAIoAjg2AAkgAyACKAA7NgAMIAMgBzoAECADIAIoAjA2ABEgAyACKAAzNgAUIAMgCDoAGCADIAIoAig2ABkgAyACKAArNgAcIAMgCToAICADIAE2AjAgAyALNwMoIAMgAigCIDYAISADIAIoACM2ACQgAyACKQMQNwI0IAMgAigCGDYCPAsgAEH/AToAAAwBCyACIAIoAng2AugCIAIgAigAezYA6wIgAiACKAJwNgLgAiACIAIoAHM2AOMCIAIgAigCaDYC2AIgAiACKABrNgDbAiACIAIoAmA2AtACIAIgAigAYzYA0wIgAigCWCIBKAIAIQMgASADQQFqNgIAIANBAEgNAiACIAIoAOsCNgA7IAIgAigC6AI2AjggAiACKALgAjYCMCACIAIoAOMCNgAzIAIgAigC2AI2AiggAiACKADbAjYAKyACIAIoAtACNgIgIAIgAigA0wI2ACMgAigCSCEDIAEgASgCACIFQQFrNgIAIAIgAigCVDYCGCACIAIpAkw3AxAgBUEBRgRAIAIoAlgQMAsgACACKABDNgAMIAAgAigCQDYACSAAIAIoAjg2ABEgACACKAA7NgAUIAAgAigCMDYAGSAAIAIoADM2ABwgACACKAIoNgAhIAAgAigAKzYAJCAAIAIoAiA2ACkgACACKAAjNgAsIAAgAigCGDYCRCAAIAIpAxA3AjwgACABrTcDSCAAIAM2AjggACAIOgAoIAAgBzoAICAAIAY6ABggACAEOgAQIABBADoACCAAQQM6AAALIAJB8AJqJAAPC0Gck8YAEJ0VCwALoggBBn8jAEHgAmsiAyQAIAIoAhAiBSgCACEEIAUgBEEBajYCAAJAAkACQAJAAkAgBEEASA0AIAMgBTYCiAIgAyACKQIINwOAAiADIAIpAgA3A/gBIANBCGogASADQfgBaiIGEOwMIAUgBSgCACIEQQFqNgIAIARBAEgNACADIAU2AuABIAMgAikCCDcD2AEgAyACKQIANwPQASAGIANB0AFqIgQQ8QogBBDOECEHIAMgAygCgAI2AfQBIAMgAykC+AE3AewBIAMgBzoAtQIgA0ELOgC0AiADIAMpAeoBNwG2AiADIAMpAfABNwG8AiADQQA6ANQCIANBfzYCiAIgA0GYAmogBBDxCiADQoGAgIAQNwKAAiADQQE2ApQCIANBAjYCpAIgA0KBgICAEDcC+AECQEEYEJABIgQEQCAEIAMoAuABNgIQIAQgAykD2AE3AgggBCADKQPQATcCACAEIAE2AhRBGBCQASIBRQ0GIAFBADoAFCABQYTpxwA2AgwgASAENgIIIAFCgYCAgBA3AgAgAyABNgLYAiADQewAaiAGQeQA/AoAAEHIARCQASIBRQ0GAkACQAJAAkACQEEDIAMoAggiBEECayAEQQFNG0EBaw4DAQIDAAsgA0H4AWogA0EIakHkAPwKAAAMAwsgA0H8AWogA0EMahCgByADQQM2AvgBDAILQeQAEJABIgRFDQMgAygCDCAEELgPIANBBDYC+AEgAyAENgL8AQwBCyADQfgBaiADQQhqEOQFCyABIANB7ABqQeQA/AoAACABQeQAaiADQfgBaiIEQeQA/AoAACADQQI2AtgBIAMgATYC1AEgA0ECNgLQASACEK0QIgYEQCAEIANBCGpB5AD8CgAAQeQAEJABIgFFDQcgASAEQeQA/AoAACADQdABahCYEiADKALUASIEIAE2AswBIARBBDYCyAEgA0EDNgLYAQsgAyACEPAOIAMoAgQiAUEASA0DQQEhBAJAIAFFIgcNACADKAIAIQggARCQASIERQ0FIAcNACAEIAggAfwKAAALIAMgAygC2AE2AqACIAMgAykC0AE3A5gCIAMgATYCuAIgAyAENgK0AiADIAE2ArACIANBfjYC+AEgA0EBOwG8AiADQQA2AqwCIANCgICAgMAANwKkAgJAIAIQrhBFDQAgAhCtEA0AIAMoAqACIgEgAygCmAJGBEAgA0GYAmoQmBILIAMoApwCIAFB5ABsaiIEQQA6AAQgBEECNgIAIAMgAUEBajYCoAILIAAgA0H4AWpByAD8CgAAIABBADoARCAGDQUgA0EIahDABwwFCwwFCwwECwALEJ4VAAtBARCnFAALIAUgBSgCACIAQQFrNgIAIABBAUYEQCACKAIQEDALIANB4AJqJAAPC0G48MkAQQE6AAAAC4kHAQt/IwBB8ABrIgUkACABKAIIIQggASgCBCECIAEoAgwhBwJAAkACQAJAAkACQCABKAIgBEAgASgCMCEKIAVBEGohCyABKAIsIQwgASgCACEEIAEoAiQhBgJAA0ACQCAEBEACQCACIAdGBEAgAiEDDAELIAEgAkHkAGoiAzYCBCACKAIAIQkgBUEMaiACQQRqQeAA/AoAACAJQX9HDQgLIAcgA2tB5ABuIQIgAyAHRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgCARAIARBBGsoAgAiA0F4cSECIAIgCEHkAGwiB0EEQQggA0EDcSIDG2pJDQIgA0EARyACIAdBJ2pLcQ0EIAQQvAULIAFBADYCAAsgBiAMRg0EIAEgBkHkAGoiAjYCJCAGKAIAIgNBf0YNBCALIAZBBGpB4AD8CgAAIAUgAzYCDCAFIAVBDGogCi0AABCfDiAFKAIAIghBf0YNBSABIAg2AgggASAFKAIEIgQ2AgQgASAENgIAIAEgBCAFKAIIQeQAbGoiBzYCDCACIQYgBCECDAELCwwGCwwGCyABKAIAIgRFDQACQCACIAdGBEAgAiEDDAELIAEgAkHkAGoiAzYCBCACKAIAIQkgBUEMaiACQQRqQeAA/AoAACAJQX9HDQMLIAcgA2tB5ABuIQIgAyAHRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgCARAIARBBGsoAgAiA0F4cSECIAIgCEHkAGwiBkEEQQggA0EDcSIDG2pJDQUgA0EARyACIAZBJ2pLcQ0GIAQQvAULIAFBADYCAAsgBUF/NgIACwJAAkAgASgCECIEBEAgASgCFCICIAEoAhwiBkcNASAAQX82AgAgAiEDDAILIABBfzYCAAwDCyABIAJB5ABqIgM2AhQgACACQeQA/AoAACAAKAIAQX9HDQILIAYgA2tB5ABuIQIgAyAGRwRAA0AgAxDAByADQeQAaiEDIAJBAWsiAg0ACwsgASgCGCICBEAgBEEEaygCACIDQXhxIQAgACACQeQAbCICQQRBCCADQQNxIgMbakkNAyADQQBHIAAgAkEnaktxDQQgBBC8BQsgAUEANgIQDAELIAAgCTYCACAAQQRqIAVBDGpB4AD8CgAADAALIAVB8ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvBBwEMfyMAQYABayIFJAAgBSABQQxqEIgNAkACQAJAAkACQAJAIAAoAhAiAkUNACACQQJ0QQtqQXhxIgQgAmpBCWoiAkUNACAAKAIMIARrIgNBBGsoAgAiBkF4cSEEIARBBEEIIAZBA3EiBhsgAmpJDQEgBkEARyAEIAJBJ2pLcQ0CIAMQvAULIABBDGoiAiAFKQIINwIIIAIgBSkCADcCACABKAIIIgQgACgCAEsEQCAAIAQgACgCCGsgACgCFCAAKAIYahDmDwsgASgCBCELAkAgBCAAKAIIIgJLBEAgACgCBCEJDAELIAAgBDYCCCAAKAIEIQkgAiAERwRAIAkgBEHIAGxqIQEDQCABQThqKAIAIgMEQCABQTxqKAIAIgdBBGsoAgAiCEF4cSEGIAZBBEEIIAhBA3EiCBsgA2pJDQYgCEEARyAGIANBJ2pLcQ0HIAcQvAULIAEQ8AUgAUHIAGohASACQQFrIgIgBEcNAAsLIAQhAgsgAgRAQQAhCCACIQEDQCAIIAlqIgNBxABqIAggC2oiCkHEAGooAgA2AgAgCkE8aigCACENIApBQGsoAgAhByADQUBrIgxBADYCAAJAAkAgA0E4aiIGKAIAIAdJBEAgBkEAIAcQzhEgDCgCACEGDAELQQAhBiAHRQ0BCyAHRQ0AIANBPGooAgAgBmogDSAH/AoAAAsgDCAGIAdqNgIAIAUgChCOByADEPAFIAMgBSkDMDcDMCADIAUpAyg3AyggAyAFKQMgNwMgIAMgBSkDGDcDGCADIAUpAxA3AxAgAyAFKQMINwMIIAMgBSkDADcDACAIQcgAaiEIIAFBAWsiAQ0ACwsgBCACayIGIAAoAgAgAmtLBEAgACACIAZBCEHIABCzESAAKAIEIQkLIAIgBEcEQCALIAJByABsaiEIIAkgACgCCCIBQcgAbGohCUEAIQQDQCAEIAhqIgNBxABqKAIAIQpBASEHAkAgA0FAaygCACICRSILDQAgA0E8aigCACEMIAIQkAEiB0UNByALDQAgByAMIAL8CgAACyAFIAI2AnggBSAHNgJ0IAUgAjYCcCAFQThqIgIgAxCOByAEIAlqIgMgAkHEAPwKAAAgA0HEAGogCjYCACAEQcgAaiEEIAFBAWohASAGQQFrIgYNAAsgACABNgIICyAFQYABaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EBEKcUAAuQCAEPfyMAQfAAayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAhAiBSABKAIAIgYoAhAiB0kEQCAGKAIMIgkgBUEUbGoiBC0AACIIRQRAIAcgBCgCBCIKTQ0CIARBEEEIIAgbaigCACEOQRBBCCAJIApBFGxqIgQtAAAbIARqKAIAIQ8gA0IENwIsIANCADcCJCADQoCAgIDAADcCHCADQQA2AgwgASgCDCEIQX8hBCAKIAVBAWoiBU0NDCAJIAVBFGxqIgQtAAANBCABKAIIIRAgASgCBCERIAQoAgRBAWoiASAKSQRAA0AgASAHTw0FIAkgAUEUbGoiAS0AAA0GIAogASgCBEEBaiIBSw0ACwsgA0HgAGohCUF/IQQDQCAGIAYoAgBBAWoiATYCACABRQ0GIAggCCgCAEEBaiIBNgIAIAFFDQYgBigCECIBIAVNDQcgBigCDCILIAVBFGxqIgctAAANCCADIAU2AkQgAyAINgJAIAMgEDYCPCADIBE2AjggAyAGNgI0IAcoAgQiByABTw0JIAsgB0EUbGoiAS0AAEUNCgJAAkACQAJAIAEtAAFBF2sODgEAAAAAAAAAAAAAAAACAAsgA0E0akGgnMgAQQlBrJzIABC1DSAGIAYoAgBBAWsiATYCACABRQRAIAYQgRALIAggCCgCAEEBayIBNgIAIAENAiAIEPYPDAILIANBNGogA0EMaiACEJICDAELIANB2ABqIANBNGoQzQ0gAyAJKQIANwNIIAMgCSkCCDcDUCADKAJcIAMoAlghBSAEQQFrQX1NBEAgDEEEaygCACINQXhxIQsgC0EEQQggDUEDcSINGyAEakkNDSANQQBHIAsgBEEnaktxDQ4gDBC8BQshDCAFIQQLIAogB0EBaiIFSw0ACwwMC0Ggq8kAQShB1IzIABCvFAALIAUgB0HkjMgAEIUTAAsgCiAHQeSMyAAQhRMACyABIAdB4IrIABCFEwALQaCryQBBKEHwisgAEK8UCwALIAUgAUGkjcgAEIUTAAtBoKvJAEEoQbSNyAAQrxQACyAHIAFBhI3IABCFEwALQaCryQBBKEGUjcgAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIAYgBigCAEEBayIBNgIAIAFFBEAgBhCBEAsgCCAIKAIAQQFrIgE2AgAgAUUEQCAIEPYPCyAEQX9GBEBBkJzIABCdFQALIAAgAykDUDcCOCAAIAMpA0g3AjAgACADKQIMNwIAIAAgAykCFDcCCCAAIAMpAhw3AhAgACADKQIkNwIYIAAgAykCLDcCICAAQQA2AkggACAPNgJEIAAgDjYCQCAAIAw2AiwgACAENgIoIANB8ABqJAAL/QcBB38jAEHQAGsiAyQAAkACQAJAAkACQAJ/IAEoAgAiBEEBTQRAIAAgASkCNDcCECAAIAEoAjw2AhggASgCGCECIAEoAhQhBSABKAIwIQQgASgCLAwBC0EEIQUgBEEERw0BIAAgASkCEDcCECAAIAEoAhg2AhggASgCDCEEQQAhAiABKAIICyEBIAAgAjYCDCAAIAU2AgggACAENgIEDAELIABBADYCAAJ/An8CfwJAAkACQAJAAkACQCAEQQNrDgUCAAMEBQELAAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0KIAMoAgghBiADKAIEIQQgAygCACEFQdXOxQAhB0EHDAULIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCSADKAIIIQYgAygCBCEEQbPRxQAhByADKAIADAMLIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINCCADKAIIIQYgAygCBCEEIAMoAgAhBUG3pcUAIQdBCiEIQTQMBAsgA0EANgIIIANCgICAgBA3AgAgA0HM7MQANgI0IANCoICAgAY3AjggAyADNgIwIAEgA0EwahDIAg0HIAMoAgghBiADKAIEIQQgAygCACEFQbycyAAhB0EFDAILIANBADYCCCADQoCAgIAQNwIAIANBzOzEADYCNCADQqCAgIAGNwI4IAMgAzYCMCABIANBMGoQyAINBiADKAIIIQYgAygCBCEEQbysyQAhByADKAIACyEFQQYLIQhBEAshCSADIAY2AiwgAyAENgIoIAMgCDYCJCADIAc2AiAgA0EUNgIcIANBxOTEADYCGCADIANBKGqtQoCAgIDQAYQ3A0AgAyADQSBqrUKAgICA0AGENwM4IAMgA0EYaq1CgICAgNABhDcDMCADQf72wQAgA0EwahC4DCADIAEgCWoiASkCADcCDCADIAEoAgg2AhQgAigCCCIBIAIoAgBGBEAgAhC9EgsgAiABQQFqNgIIIAIoAgQgAUEYbGoiASADKQIANwIAIAEgAykCCDcCCCABIAMpAhA3AhBBACEBIAVFDQAgBEEEaygCACIGQXhxIQIgAkEEQQggBkEDcSIGGyAFakkNASAGQQBHIAIgBUEnaktxDQIgBBC8BQsgACABNgIAIANB0ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB8LXJAEE3IANBzwBqQeTsxABBqLbJABDaEgAL0wgCBn8BfiMAQaABayICJABBAyEEAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEVIAEpAwAiCKdBA2sgCEICWBtBAWsOFQ0VARUCDg4PEAMEBQYHCBEJCgsLDAALIAJBEGogAUEIahC6DSACQQhqIAIoAhAgAigCFBCgECACKAIMIQMgAigCCCEEDBQLIAJBIGogASgCFBCEBiACKAIkIQMgAigCICEEDBMLQQgQkAEiA0UNEyADQQE2AgBBAiEEDBILIAJBQGsgASgCCBCEBiACKAJEIQMgAigCQCEEDBELIAJByABqIAEoAhQQhAYgAigCTCEDIAIoAkghBAwQCyACQdAAaiABKAIUEIQGIAIoAlQhAyACKAJQIQQMDwsgAkHYAGogASgCCBCEBiACKAJcIQMgAigCWCEEDA4LIAJB4ABqIAEoAkgQhAYgAigCZCEDIAIoAmAhBAwNCyACQegAaiABKAJAEIQGIAIoAmwhAyACKAJoIQQMDAtBBCEEDAsLIAJBgAFqIAEoAhQQhAYgAigChAEhAyACKAKAASEEDAoLQQEhBAwJCyACQYgBaiABKAJoEIQGIAIoAowBIQMgAigCiAEhBAwICyABKAIQIgNFDQAgASgCDCEBIAJBADYCmAEgAkEYaiABIANB8ABsakHwAGsQhAYgAigCHCEDIAIoAhghBCACQZgBahDBEgwHC0EAIQQMBgsCQCABKAIQIgMEQCABKAIMIQEgAkEANgKYASACQShqIAEgA0HwAGxqQfAAaxCEBiACKAIsIQQgAigCKCEBIAJBmAFqEMESDAELQQAhAQtBCBCQASIDRQ0GIAMgBDYCBCADIAE2AgBBAiEEDAULIAJBOGogASgCCCIDEIQGIAIoAjhBAkcEQCACQTBqIAMQhAYgAigCNCEDIAIoAjAhBAwFCyACKAI8IgEoAgAiBEECRgRAIAEoAgQhBiMAQRBrIgUkAEEIEJABIgNFBEAMBwsgBUEIaiAGEOESIAMgBSkDCDcCACAFQRBqJAALIAEQwRIgAUEEaygCACIFQQNxIQYgBUF4cUEMQRAgBhtJDQEgBkEARyAFQTBPcQ0CIAEQvAUMBAsgAkH4AGogASgCFBCEBiACIAIoAnwiAzYClAEgAiACKAJ4IgU2ApABIAJB8ABqIAEoAhgQhAYgAiACKAJ0IgE2ApwBIAIgAigCcCIGNgKYASAFIAZHDQICQCAFQQJHDQAgAygCACIHIAEoAgBHDQMgAyEGA0AgB0ECRw0BIAYoAgQiBigCACIHIAEoAgQiASgCAEYNAAsMAwsgAkGYAWoQwRIgBSEEDAMLQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyACQZgBahDBEiACQZABahDBEgsgACADNgIEIAAgBDYCACACQaABaiQADwtBuPDJAEEBOgAAAAvrBwEJfyMAQeABayIGJAAgBiADENcCIAZBoAFqIAYoAgQiByAHIAYoAghByAFsahCiDiAGQRBqIARB0AD8CgAAIAEoAggiCCABKAIARgRAIAEQrxILIAEoAgQgCEHIAmxqIgRBGzYCCCAEQn83AwAgBEEMaiAGQQxqQdQA/AoAACAEIAYpAgA3AmwgBCAGKAIINgJ0IARBADYCaCAEQoCAgIAQNwNgIARCfzcDwAIgBCAGKQOgATcDeCAEIAYoAqgBNgKAASAEIAMpAgA3AoQBIAQgAygCCDYCjAEgASAIQQFqNgIIIAUoAgQiByAFKAIIIgNByABsIgtqIQogBSgCACEFIAchBAJAAkACQAJAAkAgA0UNACAGQeAAakEEciEEAkADQAJAAkAgByAJaiIDQQhqKAIAIgxBfkcEQCADQQRqKAIAIQ0gAygCACEOIAQgA0EMaikCADcCACAEIANBFGopAgA3AgggBCADQRxqKQIANwIQIAQgA0EkaikCADcCGCAEIANBLGopAgA3AiAgBCADQTRqKQIANwIoIAQgA0E8aikCADcCMCAEIANBxABqKAIANgI4IAYgDDYCYCAGQaABaiABIAIgCCAOIA0gBkHgAGoQJSAGKALQAUF/Rg0BIAAgBikD2AE3AzggACAGKQPQATcDMCAAIAYpA8gBNwMoIAAgBikDwAE3AyAgACAGKQO4ATcDGCAAIAYpA7ABNwMQIAAgBikDqAE3AwggACAGKQOgATcDACADQcgAaiIEIApHBEAgCyAJa0HIAGtByABuIQMDQCAEKAIAIgEoAgAhACABIABBAWs2AgAgAEEBRgRAIAQoAgAQMAsgBEEIahDjCSAEQcgAaiEEIANBAWsiAw0ACwsgBUUNByAHQQRrKAIAIgFBeHEhACAAIAVByABsIgJBBEEIIAFBA3EiARtqSQ0CIAFBAEcgACACQSdqS3ENBCAHELwFDAcLIANByABqIQQMBAsgCyAJQcgAaiIJRw0BDAQLC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgCiAEa0HIAG4hAyAEIApGDQADQCAEKAIAIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAQoAgAQMAsgBEEIahDjCSAEQcgAaiEEIANBAWsiAw0ACwsgBQRAIAdBBGsoAgAiAkF4cSEBIAEgBUHIAGwiA0EEQQggAkEDcSICG2pJDQIgAkEARyABIANBJ2pLcQ0DIAcQvAULIABBfzYCMCAAIAg2AgALIAZB4AFqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvVBgEEfyMAQeAAayICJAACQAJAAkACQAJAAkACQAJAAkAgAS0AAA4DAAEEAgsgAkHUAGogAUEEahCVBSACKAJcIgFBAUcEQCACIAE2AgwgAiACKQJUNwIEIAJBADoAAAwDCyACIAIoAlgiARCHAyABEK8EIAIoAlQiA0UNAiABQQRrKAIAIgVBeHEhBCAEIANB0ABsIgNBBEEIIAVBA3EiBRtySQ0GIAVBAEcgBCADQSdqS3ENByABELwFDAILIAJB1ABqIAFBBGoQlgUgAigCXCIBQQFHBEAgAiABNgIMIAIgAikCVDcCBCACQQE6AAAMAgsgAiACKAJYIgEQhwMgARCvBCACKAJUIgNFDQEgAUEEaygCACIFQXhxIQQgBCADQdAAbCIDQQRBCCAFQQNxIgUbckkNBSAFQQBHIAQgA0EnaktxDQYgARC8BQwBCyACIAFB0AD8CgAACwJAAkACQCACLQAADgMBAgQACyAAIAJB0AD8CgAADAQLIAIoAgQhBSAAQQRqIAIoAggiBCACKAIMIgMQnwEgAEEAOgAAIAMEQCAEIQEDQCABEK8EIAFB0ABqIQEgA0EBayIDDQALCyAFRQ0DIARBBGsoAgAiAUF4cSEAIAAgBUHQAGwiA0EEQQggAUEDcSIBG3JJDQQgAUEARyAAIANBJ2pLcQ0FIAQQvAUMAwsgAigCBCEFIABBBGogAigCCCIEIAIoAgwiAxCfASAAQQE6AAAgAwRAIAQhAQNAIAEQrwQgAUHQAGohASADQQFrIgMNAAsLIAVFDQIgBEEEaygCACIBQXhxIQAgACAFQdAAbCIDQQRBCCABQQNxIgEbckkNAyABQQBHIAAgA0EnaktxDQQgBBC8BQwCCyACQQRyIAFBBGoQnQULIAIoAgQhBSAAQQRqIAIoAggiBCACKAIMIgMQnwEgAEECOgAAIAMEQCAEIQEDQCABEK8EIAFB0ABqIQEgA0EBayIDDQALCyAFRQ0AIARBBGsoAgAiAUF4cSEAIAAgBUHQAGwiA0EEQQggAUEDcSIBG3JJDQEgAUEARyAAIANBJ2pLcQ0CIAQQvAULIAJB4ABqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvbBQEEfwJAAkACQCAAKAIAIgMoAmQiAEF/Rg0AIABFDQAgAygCaCIEQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIABqSQ0BIAFBAEcgAiAAQSdqS3ENAiAEELwFCwJAIAMoAnBBf0YNACADQfAAahB4IAMoAowBIgBBAEoEQCADQZABaigCACIEQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIABqSQ0CIAFBAEcgAiAAQSdqS3ENAyAEELwFCyADKAKYASIAQQBKBEAgA0GcAWooAgAiBEEEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyAAakkNAiABQQBHIAIgAEEnaktxDQMgBBC8BQsgAygChAEhAiADKAKIASIEBEAgAiEAA0AgABDfByAAQQxqIQAgBEEBayIEDQALCyADKAKAASIERQ0AIAJBBGsoAgAiAUF4cSEAIAAgBEEMbCIEQQRBCCABQQNxIgEbakkNASABQQBHIAAgBEEnaktxDQIgAhC8BQsgAygCWCIAQQBKBEAgA0HcAGooAgAiBEEEaygCACIBQXhxIQIgAkEEQQggAUEDcSIBGyAAakkNASABQQBHIAIgAEEnaktxDQIgBBC8BQsCQCADKAIQIgBBfEYNACAAQX1GDQAgA0EgahD/AiAAQQBMDQAgAygCFCIEQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIABqSQ0BIAFBAEcgAiAAQSdqS3ENAiAEELwFCyADKAIAIgBBAEoEQCADQQRqKAIAIgRBBGsoAgAiAUF4cSECIAJBBEEIIAFBA3EiARsgAGpJDQEgAUEARyACIABBJ2pLcQ0CIAQQvAULIANBBGsoAgAiAEEDcSECIABBeHFBtAFBuAEgAhtJDQAgAkEARyAAQdgBT3ENASADELwFDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL7QcCB38BfiMAQUBqIgMkAAJAAkACQAJAAkACQAJAAkACQCABKAIAIgJBAkcEQCACQQFGBEACQCABKAIEIgIEQCABKAIIIAJHBEAgASACQRRqNgIEIAIoAhAiBSgCACEEIAUgBEEBajYCACAEQQBIDQUgASgCGCEEIAEoAhQhCCABKAIMIQYgA0E0aiIHIAIQnwogA0EUaiAHIAYRAgAgASgCECEGIAIQzhBB/wFxIAYRBwAhByADKAIUIgZBf0cNAgsgAUEANgIEC0F/IQYgASgCHCIFRQ0EIAEoAiAhAkEAIQcgAUEANgIgIAJFDQRBASEGIAUoAgAhBCACKAIAIgUoAgAhAiAFIAJBAWo2AgAgAkEASA0DIAQgBEEAR2tBAnQiAigCmMZJIQggAigCgMZJIQRBACECDAQLIAMgAy8AMTsBECADIAMtADM6ABIgAykCGCEJDAMLIAEoAgQiAiABKAIIRg0DIAEgAkEUajYCBCACKAIQIgUoAgAhBCAFIARBAWo2AgAgBEEASA0BIAEoAhghBCABKAIUIQggASgCDCEGIANBNGoiByACEJ8KIANBFGogByAGEQIAIAEoAhAhBiACEM4QQf8BcSAGEQcAIQcgAyADLwAxOwEQIAMgAy0AMzoAEiADKQIYIQkgAygCFCEGDAILIABBfzYCHAwICwALIAZBf0YNACADIAMtABI6ADMgAyADLwEQOwAxIAMgBzoAMCADIAQ2AiwgAyAINgIoIAMgAjYCJCADIAU2AiAgAyAJNwIYIAMgBjYCFCABKAIkIANBNGogA0EUahDYCAJ/IAJFBEBBBCEEQaDvxwAMAQsgAigCBCEFIAIoAgBBAUYEQCACKAIQIghBoAJqKAIAIgQgBU0NBCACKAIIIgQgCEGcAmooAgAgBUEkbGoiBUEgaigCACIITw0FIAVBHGooAgAgBEHUAGxqIgUoAgBBgICAgHhHDQYgAigCDCICIAUoAiQiBE8NByAFKAIgIAJB3ABsaiICKAIkIQQgAigCIAwBCyADQQhqIAIoAhBBCGogBRDQECADKAIMIQQgAygCCAshBSAAIAMpAjQ3AgAgACADKAI8NgIIIAAgAykCFDcCHCAAIAMpAhw3AiQoAgAhAiAAIAc6ADwgAEEANgIsIAAgBDYCECAAIAU2AgwgACACIAJBAEdrQQJ0IgIoAsjGSTYCGCAAIAIoArDGSTYCFCAAKAIcQX9HDQYMAQsgAEF/NgIcCyABQQI2AgAMBAsgBSAEQZS+xAAQhRMACyAEIAhBlL7EABCFEwALQZS+xAAQnRUACyACIARBpL7EABCFEwALIANBQGskAAucBwIOfwF+IwBBMGsiAiQAIAIgASgCCCIKNgIoIAIgASgCBCIINgIkIAIgASgCACILQQhqIg02AiAgAiACQSBqEJYNAkACQAJAAkACQAJAIAIoAgAiBUUNACACKAIEIgNFDQAgA0E0aigCACIMQSRsIQdBACEBIANBMGooAgAiBiEEA0AgASAHRg0CAn8gBCgCECIDBEAgASAGakEMaigCACADQQxsaiIDQQhrKQIAIRAgBSEJIANBDGsoAgAMAQsgASAGakEUajUCACEQQQAhCSAFCyEDIARBJGohBCACIBA3AiggAiADNgIkIAIgCTYCICABQSRqIQEgAkEgahCADUUNAAsLAkAgAigCCCIHRQ0AIAIoAgwiDiAHRg0AIAIoAhwhBQNAIActAERBAUYEQCAHKAJAIgxBJGwhD0EAIQEgBygCPCIGIQQDQCABIA9GDQQCfyAEKAIQIgNFBEAgASAGakEUajUCACEQIAUhCUEADAELIAEgBmpBDGooAgAgA0EMbGoiA0EIaykCACEQIANBDGsoAgAhCSAFCyEDIARBJGohBCACIBA3AiggAiAJNgIkIAIgAzYCICABQSRqIQEgAkEgahCADUUNAAsLIA4gB0HIAGoiB0cNAAsLAkACQCAIIAtBoAJqKAIAIgFJBEAgC0GcAmooAgAgCEEkbGoiAUEgaigCACIFIApNDQEgAUEcaigCACAKQdQAbGoiASgCAEGCgICAeEcNAiABLQBMRQ0EIAtBDGooAgAhA0EAIQECQCALQRBqKAIAIgUiBA4CBwYACwNAAn8gCCADIARBAXYiCSABaiIHQeQAbGoiBkHUAGooAgAiC0cEQCAIIAtLDAELIAZB2ABqKAIAIApJCyEGIAcgASAGGyEBIAQgCWsiBEEBSw0ACwwFCyAIIAFBzLvEABCFEwALIAogBUHMu8QAEIUTAAtBzLvEABCdFQALIABBAjoAJCAAIAU2AgggACAGNgIAIAAgBiAMQSRsajYCBAwDC0GD78YAQdsAQbDvxgAQvxMACwJ/IAggAyABQeQAbGoiCUHUAGooAgAiBEcEQCAEIAhJDAELIAlB2ABqKAIAIApJCyABaiEECyAAQQA6ACQgACAKNgIgIAAgCDYCHCAAQQA2AhAgACAENgIMIAAgCjYCCCAAIAg2AgQgACANNgIAIAAgAyAFQeQAbGo2AhggACADIARB5ABsajYCFAsgAkEwaiQAC+oHAQV/IwBB0ABrIgQkACAEQSBqIAFBMGoiBUEBIAEoAvQBIAIgAxD+AxDeByAEKAIkIQYgBCgCICEHIARBGGogBUEAIAQQ3gcgBCgCGCEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdBAUYEQCAFQQFxRQ0BIAEoAlQiCEF/Rg0FIAEoAvABIQcgASgCUCEFIAQgCDYCLCAEIAEpAlg3AjAgBCABKAJgNgI4IAdBCGooAgAhASAEIAU2AiggASAFSw0GIAUgAUH0t8QAEIUTAAsgBUEBcUUNASAEKAIcIQYLIAEoAlQiBUF/Rg0BIAEoAvABIQMgASgCUCECIAQgBTYCLCAEIAEpAlg3AjAgBCABKAJgNgI4IANBCGooAgAhASAEIAI2AiggASACSw0CIAIgAUH0t8QAEIUTAAsCQCABKAJUIgdBf0cEQCABKALwASEFIAEoAlAhBiAEIAc2AiwgBCABKQJYNwIwIAQgASgCYDYCOCAFQQhqKAIAIQEgBCAGNgIoIAEgBksNASAGIAFBtLXEABCFEwALQbS1xAAQnRUACyAEQRBqIAVBBGooAgAgBkEkbGoiAUEcaigCACABQSBqKAIAIARBLGpBtLXEABDhCyAEKAI4IgEgBCgCFCIGTw0EIAQgBCgCECABQcwAbGoiASkCQDcDKCAEIAEoAkg2AjAgBCADNgJEIAQgAjYCQCAEIARBQGutQoCAgIDQAYQ3A0ggAEGu3MEAIARByABqELgMIAAgBCgCMDYCFCAAIAQpAyg3AgwMCQtB9LfEABCdFQALIARBCGogA0EEaigCACACQSRsaiIBQRxqKAIAIAFBIGooAgAgBEEsakH0t8QAEOELIAQoAjgiASAEKAIMIgJPDQMgBCgCCCABQcwAbGoiASgCGCICIAZNDQQgACAGNgIEIABBfjYCACAAIAEoAhQgBkHkAGxqNgIIDAcLQfS3xAAQnRUACyAEIAdBBGooAgAgBUEkbGoiAUEcaigCACABQSBqKAIAIARBLGpB9LfEABDhCyAEKAI4IgEgBCgCBCIFTw0DIAQoAgAgAUHMAGxqIgEoAhgiBSAGTQ0EIAQgASgCFCAGQeQAbGoiASgCYDYCMCAEIAEpAlg3AyggBCADNgJEIAQgAjYCQCAEIARBQGutQoCAgIDQAYQ3A0ggAEGa08EAIARByABqELgMIAAgBCgCMDYCFCAAIAQpAyg3AgwMBQsgASAGQbS1xAAQhRMACyABIAJB9LfEABCFEwALIAYgAkGEuMQAEIUTAAsgASAFQfS3xAAQhRMACyAGIAVBhLjEABCFEwALIARB0ABqJAAL5QUBB38gACgCBCEGAkACQCAAKAIIIgcEQCAGIQMDQAJAAkACQAJAAkAgAygCACICQYCAgIB4cw4DAQQCAAsCQCACQX9GDQAgAkUNACADQQRqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQcgAUEARyAEIAJBJ2pLcQ0IIAUQvAULAkAgA0EMaigCACICQX9GDQAgAkUNACADQRBqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQcgAUEARyAEIAJBJ2pLcQ0IIAUQvAULAkAgA0EYaigCACICQX9GDQAgAkUNACADQRxqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQcgAUEARyAEIAJBJ2pLcQ0IIAUQvAULIANBJGooAgAiAkEATA0DQSghAQwCCyADQQRqKAIAIgJFDQJBCCEBDAELAkAgA0EEaigCACICQX9GDQAgAkUNACADQQhqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQUgAUEARyAEIAJBJ2pLcQ0GIAUQvAULAkAgA0EQaigCACICQX9GDQAgAkUNACADQRRqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQUgAUEARyAEIAJBJ2pLcQ0GIAUQvAULIANBHGooAgAiAkEATA0BQSAhAQwACyABIANqKAIAIgVBBGsoAgAiAUF4cSEEIARBBEEIIAFBA3EiARsgAmpJDQMgAUEARyAEIAJBJ2pLcQ0EIAUQvAULIANBMGohAyAHQQFrIgcNAAsLIAAoAgAiAwRAIAZBBGsoAgAiAEF4cSEBIAEgA0EwbCIDQQRBCCAAQQNxIgAbckkNASAAQQBHIAEgA0EnaktxDQIgBhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvcBwIMfwJ+IwBBwANrIgUkAAJAAkACQAJAAkACQAJAAkACQAJAAkBBAiABKQMAIg6nQQJrIA5CAVgbQQFrDgMAAQIDCyABKAIYIgYoAgAhAiAGIAJBAWo2AgAgAkEASA0EIAEoAiQiA0GLro8FTw0FQQghBwJAIANByAFsIghFDQAgASgCICEKIAgQkAEiB0UNByADRQ0AIAMhAgNAIAQgCEYNASAFQfgBaiIJIAQgCmoQjAYgBCAHaiAJQcgB/AoAACAEQcgBaiEEIAJBAWsiAg0ACwsgACADNgIkIAAgBzYCICAAIAM2AhwgACAGNgIYIABCAzcDACAAIAFBCGoiASkDADcDCCAAIAEpAwg3AxAMAwsgASgCrAEhDSABKAKoASIMKAIAIQIgDCACQQFqNgIAIAJBAEgNAyAFIAEQgAgCQCABKAK4ASIIRQRAQQQhCgwBCyABKAK0ASEHIAhBDGwiAhCQASIKRQ0HIAIhBEEAIQIgCCEDA0AgAiAERg0BAkAgB0EIaigCACIGRQRAQQEhCQwBCyAHQQRqKAIAIQsgBhCQASIJRQ0KIAZFDQAgCSALIAb8CgAACyAHQQxqIQcgAiAKaiILIAY2AgAgC0EIaiAGNgIAIAtBBGogCTYCACACQQxqIQIgA0EBayIDDQALCyABKALEASIDQYuujwVPDQQCQCADQcgBbCIGRQRAQQghBwwBCyABKALAASEBIAYQkAEiB0UNCSADRQ0AQQAhBCADIQIDQCAEIAZGDQEgBUH4AWoiCSABIARqEIwGIAQgB2ogCUHIAfwKAAAgBEHIAWohBCACQQFrIgINAAsLIAAgAzYCxAEgACAHNgLAASAAIAM2ArwBIAAgBUGoAfwKAAAgACAINgK4ASAAIAo2ArQBIAAgCDYCsAEgACANNgKsASAAIAw2AqgBDAILIAEoAlwhCCABKAJYIgMoAgAhAiADIAJBAWo2AgAgAkEASA0CQf8BIQIgAUEIaiIBLQAAQf8BRwRAIAVB+AFqIgQgARCHAyAFLQD4ASECIAVBqQFqIARBAXJBzwD8CgAACyAAIAI6AAggAEEJaiAFQakBakHPAPwKAAAgACAINgJcIAAgAzYCWCAAQgU3AwAMAQsgASkCCCEOIAEpAhAhDyABKAIYIgEoAgAhAiABIAJBAWo2AgAgBSAPNwOAAiAFIA43A/gBIAJBAEgNASAAIAUpA4ACNwIQIAAgBSkD+AE3AgggAEICNwMAIAAgATYCGAsgBUHAA2okAA8LAAsQnhUAC0EIEKcUAAtBBBCnFAALQQEQpxQAC0EIEKcUAAvFBwIKfwJ+IwBB8AFrIgIkACABKAIYIQMgASgCFCEEIAICfkHQ8MkALQAABEBByPDJACkDACENQcDwyQApAwAMAQsgAkEIahC7EUHQ8MkAQQE6AABByPDJACACKQMQIg03AwAgAikDCAsiDDcDGEHA8MkAIAxCAXw3AwAgAkEANgIwIAJCgICAgIABNwMoIAIgDTcDICACQoCAgIBwNwMIIAJBkKnJACkDADcCNCACQZipyQApAwA3AjwCQAJAAkACQAJAAkAgA0UEQCAAIAIpA0A3AyggACACKQM4NwMgIAAgAikDMDcDGCAAIAIpAyg3AxAgACACKQMgNwMIIAAgAikDGDcDAAwBCyADQcgAbCEIIAJBGGohCiACQcABaiEDA0AgAigCCEEBRg0CAkACQAJAIARBQGsoAgAiAUUEQEEBIQYMAQsgBEE8aigCACEFIAEQkAEiBkUNBiABBEAgBiAFIAH8CgAACyABQX9GDQELAkAgAigCDCIFQX9GDQAgBUUNACACKAIQIgtBBGsoAgAiB0F4cSEJIAlBBEEIIAdBA3EiBxsgBWpJDQggB0EARyAJIAVBJ2pLcQ0JIAsQvAULIAIgATYCFCACIAY2AhAgAkF/NgIMIAIgAikDECIMNwKAASACIAE2AnwgAkGIAWogBBCTCiACKAKYAUF/Rw0BIAIoAogBIQYgAUUNACAMpyIEQQRrKAIAIgVBeHEhAyADQQRBCCAFQQNxIgUbIAFqSQ0HIAVBAEcgAyABQSdqS3ENCCAEELwFCyAAQX82AhAgACAGNgIAIAJBCGoQtAsMAgsgAkG4AWogCiACQfwAaiACQYgBahCfBSACIAMpAyg3A3AgAiADKQMgNwNoIAIgAykDGDcDYCACIAMpAxAiDDcDWCACIAMpAwg3A1AgAiADKQMANwNIIAynQX9HBEAgAkHIAGoQ/QkLIARByABqIQQgCEHIAGsiCA0ACyACKAIIQQFGDQMgAigCECEDIAIoAgwhASAAIAIpA0A3AyggACACKQM4NwMgIAAgAikDMDcDGCAAIAIpAyg3AxAgACACKQMgNwMIIAAgAikDGDcDACABQQBMDQAgA0EEaygCACIEQXhxIQAgAEEEQQggBEEDcSIEGyABakkNBCAEQQBHIAAgAUEnaktxDQUgAxC8BQsgAkHwAWokAA8LQaCryQBBKEH0rskAEK8UAAtBARCnFAALQaCryQBBKEGs4MgAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL3AcCC38DfiMAQeAAayIEJAACQAJAAkACQAJAAkAgASgCACIDLQAwIgJBAkcEQAJAIAJBAXENACADKAIgIgIgAygCJCIHRg0AA0AgAyACQeQAaiIFNgIgIAIoAlQgAygCKEcNASACKAJYIAMoAixHDQECfwJAIAMoAhwiCCADKAIYaiIGIAMoAgwiAigCCCIJSQRAIAIoAgQgBkHkAGxqIgktAGBFDQEgBQwCCyAGIAlB5PbIABCFEwALIAUgAiAGEOwQDQAaIAMoAggoAgAiAigCACEFIAIgBUEBajYCACAFQQBIDQUgCS0ASCEFIAQgAjYCFCAEIAY2AgggBEEANgIEIARBAUECIAUbIgc2AgAgAygCBCAEEMoGDQQgAiACKAIAIgVBAWs2AgAgBUEBRgRAIAIQMAsgAygCHCEIIAMoAiQhByADKAIgCyECIAMgCEEBajYCHCACIAdHDQALCyADQQI6ADALIAMtAFwiAUECRg0EIAFBAXENBCADKAJMIgIgAygCUCIGRg0EA0AgAyACQfAAaiIBNgJMAkAgAigCWCADKAJURgRAIAIoAlwgAygCWEYNAQsgA0EBOgBcDAYLAkACQCADKAI4IgUoArQCRQ0AIAUoAqwCIgggAygCSCIHIAMoAkRqIglB3cvdnnlsQQ93IgpxIQIgCkEZdq1CgYKEiJCgwIABfiEPIAUoAqgCIQpBACELA0AgAiAKaikAACIOIA+FIg1CgYKEiJCgwIABfSANQn+Fg0KAgYKEiJCgwIB/gyINQgBSBEADQCAJIAogDXqnQQN2IAJqIAhxQQN0ayIMQQhrKAIARg0EIA1CAX0gDYMiDUIAUg0ACwsgDiAOQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAtBCGoiCyACaiAIcSECDAALAAtB1LnEAEEWQZS5xAAQwBMACyABIQIgBSAMQQRrKAIAENoGRQRAIAMoAjQoAgAiASgCACECIAEgAkEBajYCACACQQBIDQMgBCAJNgIIIAQgATYCBCAEQQA2AgAgAygCBCAEEMoGGiABIAEoAgAiAkEBazYCACACQQFGBEAgARAwCyADKAJIIQcgAygCUCEGIAMoAkwhAgsgAyAHQQFqNgJIIAIgBkcNAAsMBAsgAyAIQQFqNgIcIAQgAjYCXCAEIAY2AlAgBEEANgJMIAQgBzYCSCAEQcwAaiECIAEoAgghASAFRQ0BIAIQrRBFBEAgBCABIAIQlAMMAwsgBCABIAIQigcMAgsACyAEIAEgAhD/BQsgACAEQcgA/AoAAAwBCyAAQX02AgALIARB4ABqJAAL1gcBCX8jAEHQAGsiAiQAIAEoAgBB9vrGAEELIAEoAgQoAgwRAAAhCEEBIQYgACgCBCEDAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIglBAUYEQCAAKAIQIgUoAgAhBCAFIARBAWo2AgAgBEEASA0DIAAoAgghByADIQQMAQsgACgCECIFKAIQIgQgA00NASAFKAIMIANB5ABsaiIEKAJYIQcgBCgCVCEEIAUgBSgCACIKQQFqNgIAQQAhBiAKQQBIDQILIAIgBzYCNCACIAQ2AjAgAiAFNgIsIAIgBjYCKCACQRxqIAJBKGoQ/gsgAgJ/IAkEQCAFQaACaigCACIEIANNDQQgACgCCCIEIAVBnAJqKAIAIANBJGxqIgNBIGooAgAiBk8NBSADQRxqKAIAIARB1ABsaiIDKAIAQYCAgIB4Rw0GIAAoAgwiACADKAIkIgRPDQcgAygCICAAQdwAbGoiAygCJCEAIAMoAiAMAQsgAkEIaiAFQQhqIAMQ0BAgAigCDCEAIAIoAggLNgI4IAIgADYCPCACIAJBOGqtQoCAgIDQAYQ3A0ggAiACQRxqrUKAgICAwAKENwNAIAJBEGpBnIXAACACQUBrELgMIAIoAhwiAARAIAIoAiAiBEEEaygCACIGQXhxIQMgA0EEQQggBkEDcSIGGyAAakkNByAGQQBHIAMgAEEnaktxDQggBBC8BQsgBSAFKAIAIgBBAWs2AgBBASEDIABBAUYEQCAFEDALIAIoAhAhBCACKAIUIQACQCAIDQAgAigCGCEFAkAgAS0ACkGAAXFFBEAgASgCACIGQbTPxQBBASABKAIEIgcoAgwRAAANAiAAIAUgBiAHEL8GRQ0BDAILIAEoAgAiBkGd48IAQQIgASgCBCIHKAIMEQAADQEgAiAHNgJEIAIgBjYCQCACQQE6ACggAiACQShqNgJIIAAgBSACQUBrIgVBoOvCABC/Bg0BIAVBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwsgBARAIABBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgBGpJDQkgBUEARyABIARBJ2pLcQ0KIAAQvAULIAJB0ABqJAAgAw8LIAMgBEHk9sgAEIUTCwALIAMgBEGUvsQAEIUTAAsgBCAGQZS+xAAQhRMAC0GUvsQAEJ0VAAsgACAEQaS+xAAQhRMAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL1gcBCX8jAEHQAGsiAiQAIAEoAgBBvfrGAEEOIAEoAgQoAgwRAAAhCEEBIQYgACgCBCEDAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIglBAUYEQCAAKAIQIgUoAgAhBCAFIARBAWo2AgAgBEEASA0DIAAoAgghByADIQQMAQsgACgCECIFKAIQIgQgA00NASAFKAIMIANB5ABsaiIEKAJYIQcgBCgCVCEEIAUgBSgCACIKQQFqNgIAQQAhBiAKQQBIDQILIAIgBzYCNCACIAQ2AjAgAiAFNgIsIAIgBjYCKCACQRxqIAJBKGoQ/gsgAgJ/IAkEQCAFQaACaigCACIEIANNDQQgACgCCCIEIAVBnAJqKAIAIANBJGxqIgNBIGooAgAiBk8NBSADQRxqKAIAIARB1ABsaiIDKAIAQYCAgIB4Rw0GIAAoAgwiACADKAIkIgRPDQcgAygCICAAQdwAbGoiAygCJCEAIAMoAiAMAQsgAkEIaiAFQQhqIAMQ0BAgAigCDCEAIAIoAggLNgI4IAIgADYCPCACIAJBOGqtQoCAgIDQAYQ3A0ggAiACQRxqrUKAgICAwAKENwNAIAJBEGpBnIXAACACQUBrELgMIAIoAhwiAARAIAIoAiAiBEEEaygCACIGQXhxIQMgA0EEQQggBkEDcSIGGyAAakkNByAGQQBHIAMgAEEnaktxDQggBBC8BQsgBSAFKAIAIgBBAWs2AgBBASEDIABBAUYEQCAFEDALIAIoAhAhBCACKAIUIQACQCAIDQAgAigCGCEFAkAgAS0ACkGAAXFFBEAgASgCACIGQbTPxQBBASABKAIEIgcoAgwRAAANAiAAIAUgBiAHEL8GRQ0BDAILIAEoAgAiBkGd48IAQQIgASgCBCIHKAIMEQAADQEgAiAHNgJEIAIgBjYCQCACQQE6ACggAiACQShqNgJIIAAgBSACQUBrIgVBoOvCABC/Bg0BIAVBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAwsgBARAIABBBGsoAgAiBUF4cSEBIAFBBEEIIAVBA3EiBRsgBGpJDQkgBUEARyABIARBJ2pLcQ0KIAAQvAULIAJB0ABqJAAgAw8LIAMgBEHk9sgAEIUTCwALIAMgBEGUvsQAEIUTAAsgBCAGQZS+xAAQhRMAC0GUvsQAEJ0VAAsgACAEQaS+xAAQhRMAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALzgcBEX8jAEHwAGsiBCQAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIg1BAWsOBAEEAgMACyAAQQhqIAFBCGoQkAMMCwsgAEEIaiABQQhqEKgEDAoLIAEoAgwiA0HyuJwOTw0DAkAgA0HIAGwiBkUEQEEIIQEMAQsgASgCCCEJIAYQkAEiAUUNBSADRQ0AIAMhBwNAIAIgBkcEQCAEQShqIgogAiAJahCRBiABIAJqIApByAD8CgAAIAJByABqIQIgB0EBayIHDQELCyADIQILIAAgAzYCDCAAIAE2AgggACACNgIEDAkLQX8hCAJAIAEoAggiA0F/Rg0AQQIhCAJAAkACQAJAQQMgA0ECayADQQFNG0EBaw4EAAECAwQLQQMhCAwDC0HkABCQASILRQ0HIAsgASgCDBDhBkEEIQgMAgsgASgCDCILKAIAIQIgCyACQQFqNgIAIAEoAhQhDiABKAIQIQ8gA0EBRgRAIAJBAEgNBEEBIQgMAgsgAkEASA0DQQAhCAwBC0EGIQgLIARCgICAgIABNwIMIARBmKnJACkDADcCICAEQZCpyQApAwA3AhggBEEYaiABQTRqEIgNQQAgASgCMCIDRQ0HGiADQZe60QsgBCgCICAEKAIkaiICIAJBl7rRC08bIgJPDQUgAkHYAGwQkAEiDEUNBQwGCyABKAIUIgMoAgAhAiADIAJBAWo2AgAgAkEASA0AIAAgAzYCFCAAIAEpAgw3AgwgACABKQIENwIEDAcLAAsQnhUAC0EIEKcUAAtBuPDJAEEBOgAAAAsgAyICQdgAbBCQASIMDQBBCBCnFAALIAQgAjYCDCAEIAw2AhAgASgCLCEQIAMhCgNAIAcgEGoiBUHQAGooAgAhAiAFQcwAaigCACEJIAVB1ABqKAIAIRECfyAFQcgAaigCAEF/RgRAIAkhBkF/DAELIAJFBEBBASEGQQAMAQsgAhCQASIGRQ0EIAIEQCAGIAkgAvwKAAALIAILIQkgBEEoaiISIAUQkQYgByAMaiIFIBJByAD8CgAAIAVB1ABqIBE2AgAgBUHQAGogAjYCACAFQcwAaiAGNgIAIAVByABqIAk2AgAgB0HYAGohByAKQQFrIgoNAAsgAwshAiAAIAQpAgw3AiggACAEKQIcNwI4IAAgBCgCJDYCQCAEIAI2AhQgACAEKQIUNwIwIAAgDjYCFCAAIA82AhAgACALNgIMIAAgCDYCCCAAIAEpAyA3AyAgACABKQMYNwMYCyAAIA02AgAgBEHwAGokAA8LQQEQpxQAC68IAQN/IwBBEGsiAiQAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDgYBAgMEBQYACyACIABBBGo2AgQgASgCAEG80MYAQQQgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBwNDGAEEJIABBCGpBOxCJDkH8jcgAQQUgAkEEakHoABCJDiACLQANIgMgAi0ADCIEciEBIANBAUcNBiAEQQFxDQYoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAcLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQwGCyACIABBBGo2AgQgASgCAEHJ0MYAQQwgASgCBCgCDBEAACEAIAJBADoADSACIAA6AAwgAiABNgIIIAJBCGpB1dDGAEEDIAJBBGpB6AAQiQ4gAi0ADSIDIAItAAwiBHIhASADQQFHDQUgBEEBcQ0FKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwGCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQEMBQsgAiAAQQRqNgIEIAEoAgBB2NDGAEEKIAEoAgQoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQdXQxgBBAyACQQRqQegAEIkOIAItAA0iAyACLQAMIgRyIQEgA0EBRw0EIARBAXENBCgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMBQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBDAQLIAIgAEEEajYCBCABKAIAQeLQxgBBCiABKAIEKAIMEQAAIQAgAkEAOgANIAIgADoADCACIAE2AgggAkEIakGP8McAQQUgAkEEakHoABCJDiACLQANIgMgAi0ADCIEciEBIANBAUcNAyAEQQFxDQMoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAQLIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQwDCyACIABBDGo2AgQgASgCAEHs0MYAQQsgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB99DGAEEFIABBBGpB7AAQiQ5B1dDGAEEDIABBCGpB7AAQiQ5B/I3IAEEFIAJBBGpB6AAQiQ4gAi0ADSIDIAItAAwiBHIhASADQQFHDQIgBEEBcQ0CKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwDCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQEMAgsgASgCAEH80MYAQQsgASgCBCgCDBEAACEBDAELIAEoAgBBsqPJAEEFIAEoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL3QcBBn8jAEHwAGsiAiQAAkACQAJAAn8CQAJAAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAyABKAIIIgVJDQFBASEEDAoLIAEoAhQhByACIAEoAogBNgJIIAIgASkCgAE3A0AgAS0AkQFBAkYNAQwCCyABIANBAWoiBDYCBCABKAIUIQcgAiABKAKIATYCSCACIAEpAoABNwNAIAEtAJEBQQJHDQEgBCAFTw0CIAEgA0ECaiIENgIEIAQgBU8NASABIANBA2o2AgQLIAFBADoAkQEgAkE4aiABEJQKIAIoAjggAigCPCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCIDIAEoAghPDQIgASADQQFqNgIECwJAIAEtAJEBIgNFBEAgAkEoaiABEJQKIAIoAiwhASACKAIoIQQMAQsgAUEAOgCRASACQTBqIAEQlAogAigCMCEEIAIoAjQiASADOgCRAQsgBEEBcUUNAAsLIAEoAgBBAUYEQCABKAIEIgMgASgCCE8EQCABKAIUIQNBASEEDAYLIAEgA0EBajYCBAsgASgCFCEFIAIgASgCiAEiBDYCWCACIAEpAoABNwNQQQAhAwJAIAQgASgChAFPDQAgAUGAAWooAgAgBGotAABBLEcNACABIARBAWo2AogBQQEhAwsgAS0AfEEBRgRAQQEQkAEiBkUNAiAGQSw6AAAgAkEBNgJsIAIgBjYCaCACQoCAgIAQNwJgIAEgBCACQeAAaiADEPkICyADRQ0CAkAgAS0AkQFBAkcNACABKAIAQQFGBEAgASgCBCIDIAEoAggiBE8NBCABIANBAWoiBjYCBCAEIAZNDQEgASADQQJqNgIECyABQQA6AJEBIAJBIGogARCUCiACKAIgIAIoAiQiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIDRQRAIAJBEGogARCUCiACKAIUIQEgAigCECEEDAELIAFBADoAkQEgAkEYaiABEJQKIAIoAhghBCACKAIcIgEgAzoAkQELIARBAXFFDQALCyACQQhqIAEQQCACKAIMIQEgAigCCAwDCyABIAIoAkg2AogBIAEgAikDQDcCgAFBASEEDAQLQQEQpxQAC0EBCyIEQQFHDQIgASACKAJYNgKIASABIAIpA1A3AoABIAUgASgCFCIDSw0AIAEgBTYCFCAFIQMLIAEgAigCSDYCiAEgASACKQNANwKAASADIAdJDQELIAEgBzYCFAsgACAENgIAIAAgATYCBCACQfAAaiQAC94HAQZ/IwBB8ABrIgIkAAJAAkACQAJ/AkACQAJAAkACQAJAIAEoAgBBAUYEQCABKAIEIgMgASgCCCIFSQ0BQQEhBAwKCyABKAIUIQcgAiABKAKIATYCSCACIAEpAoABNwNAIAEtAJEBQQJGDQEMAgsgASADQQFqIgQ2AgQgASgCFCEHIAIgASgCiAE2AkggAiABKQKAATcDQCABLQCRAUECRw0BIAQgBU8NAiABIANBAmoiBDYCBCAEIAVPDQEgASADQQNqNgIECyABQQA6AJEBIAJBOGogARCUCiACKAI4IAIoAjwiAUECOgCRAUEBcQ0AA0AgASgCAEEBRgRAIAEoAgQiAyABKAIITw0CIAEgA0EBajYCBAsCQCABLQCRASIDRQRAIAJBKGogARCUCiACKAIsIQEgAigCKCEEDAELIAFBADoAkQEgAkEwaiABEJQKIAIoAjAhBCACKAI0IgEgAzoAkQELIARBAXFFDQALCyABKAIAQQFGBEAgASgCBCIDIAEoAghPBEAgASgCFCEDQQEhBAwGCyABIANBAWo2AgQLIAEoAhQhBSACIAEoAogBIgQ2AlggAiAB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NwNQIAIgBEEUaikCADcDMCACIARBHGopAgA3AzggAiAEQSRqKQIANwNAIAIgBEEsaigCADYCSCADIQUMAwsCQCAEQQhqKAIAIgNFBEBBASEFDAELIARBBGooAgAhBCADEJABIgVFDQcgA0UNACAFIAQgA/wKAAALIAIgAzYCWCACIAU2AlQgAiADNgJQQYOAgIB4IQUMAgsgAkHQAGogBEEEaigCACAEQQhqKAIAEPYIQYSAgIB4IQUMAQsgAkHgAGogBBCZBiACIAIpA2g3A1ggAiACKQNgNwNQIAIgCSkCADcDMCACIAkpAgg3AzggAiAJKQIQNwNAIAIgCSgCGDYCSCACKAJwIQULIAIgAikDWCIPNwMoIAIgAikDUCIQNwMgIAIgAikDMCIRNwNgIAIgAikDOCISNwNoIAIgAikDQCITNwNwIAIgAigCSCIENgJ4IAogDGoiAyAPNwMIIAMgEDcDACADQRBqIAU2AgAgA0EUaiARNwIAIANBHGogEjcCACADQSRqIBM3AgAgA0EsaiAENgIAIANBPGogBzYCACADQThqIAs2AgAgA0E0aiAHNgIAIANBMGogDjYCACAKQUBrIQogBkEBaiEGIAhBAWsiCA0ACwsgACACKQIENwIQIAAgAikCFDcCICAAIAIoAhw2AiggAiAGNgIMIAAgAikCDDcCGCAAIAEpAwg3AwggACABKQMANwMAIAJBkAFqJAAPC0EBEKcUAAtBARCnFAALqggCBH8CfiMAQfABayIDJAACQAJAAkACQAJAIAEoAggiBgRAIAMgASgCBCIFIAZBA3RqQQhrNgKIASADIAKtQoCAgIDAAoQ3A8ABIAMgA0GIAWqtQoCAgICgAoQ3A7gBIANBDGpB0pTCACADQbgBahC4DCADAn5B0PDJAC0AAARAQcjwyQApAwAhCEHA8MkAKQMADAELIANBuAFqELsRQdDwyQBBAToAAEHI8MkAIAMpA8ABIgg3AwAgAykDuAELIgc3AxhBwPDJACAHQgF8NwMAIANBADYCMCADQoCAgICAATcDKCADIAg3AyAgA0GQqckAKQMANwI0IANBmKnJACkDADcCPEEKEJABIgRFDQEgBEGHsckALwAAOwAIIARB/7DJACkAADcAACADQQo2AoQBIAMgBDYCgAEgA0EKNgJ8IANBuAFqIgQgAhCLAyAD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CyAEKAIIIAQoAgwhEhCnFAALgAgBBX8jAEEgayICJAACQAJAAkACQAJAQRogACgCACIEKAIAIgAgAEEaTBtBG2sOAwECAwALQQEhACABKAIAIgNBoZLJAEEIIAEoAgQiBigCDCIFEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgBCABEIIMRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEIIMDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GpkskAQQ0gASgCBCIGKAIMIgURAAANAiAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgBCABEM0IRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM0IDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgtBASEAIAEoAgAiA0G2kskAQQwgASgCBCIGKAIMIgURAAANASAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEM0IRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM0IDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0HCkskAQQcgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAELQAEQQFGBEAgAUGvssgAQQQQnQRFDQIMAwsgAUGqssgAQQUQnQRFDQEMAgsgA0Gd48IAQQIgBREAAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAQtAAQhACACIAI2AhACQAJAIABBAUYEQCACQRBqQa+yyABBBBCdBA0BDAILIAJBEGpBqrLIAEEFEJ0ERQ0BC0EBIQAMAgtBASEAIAJBpLLIAEECEP0IDQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALgAgBBX8jAEEgayICJAACQAJAAkACQAJAQRogACgCACIEKAIAIgAgAEEaTBtBG2sOAwECAwALQQEhACABKAIAIgNBoZLJAEEIIAEoAgQiBigCDCIFEQAADQMCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQUgBCABELYLRQ0BDAULIANBnePCAEECIAURAAANBCACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqELYLDQQgAigCEEGkssgAQQIgAigCFCgCDBEAAA0ECyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAwtBASEAIAEoAgAiA0GpkskAQQ0gASgCBCIGKAIMIgURAAANAiAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQQgBCABEM4IRQ0BDAQLIANBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM4IDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgtBASEAIAEoAgAiA0G2kskAQQwgASgCBCIGKAIMIgURAAANASAEQQRqIQQCQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEM4IRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBCACQRBqEM4IDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0HCkskAQQcgASgCBCIGKAIMIgURAAAN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EKMVAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQaCryQBBKEGUu8UAEK8UAAsgAEEFNgIUIABBj7vFADYCECAAQoOAgIBwNwIIIABBjLvFADYCBCAAQX82AgALAkAgBEUNACAEIAQoAgAiAEEBazYCACAAQQFHDQAgBCAFELYQCyAGQeAAaiQADwsgAiADQQIgA0GYuMUAEP0UAAutBwIOfwF+IwBBkARrIgIkACABKAIEIgcgASgCCCIDQegBbGohCCABKAIAIQogByEBAkACQCADRQ0AIABBIGohDCACQYgCaiENIAJBuANqIQ4gAkHhAmohBSACQbcDaiEEIAJB2AJqQQFyIQYgAkEQaiEPAkADQAJAAkACQCABKQMAIhBCf1IEQCACIBA3AwggDyABQQhqQcAB/AoAACACIAFB4AFqKQMANwPoASACIAFB2AFqKQMANwPgASACIAFB0AFqKQMANwPYASACIAFByAFqKQMANwPQASACQbADaiACQQhqEOEIIAIoArgDIQAgAigCtAMhCyACKAKwAyIJQX9GDQEgCyEDDAILIAFB6AFqIQEMBQsgAEEASA0BIABFBEBBASEDQQAhCUEAIQAMAQsgABCQASIDRQ0DIAAEQCADIAsgAPwKAAALIAAhCQsgAiAANgL8ASACIAM2AvgBIAIgCTYC9AECQAJAAkACQAJAQQIgAikDCCIQp0ECayAQQgFYG0EBaw4DAAECAwsgBCACKQPoATcAGCAEIAIpA+ABNwAQIAQgAikD2AE3AAggBCACKQPQATcAACAGIAIpALADNwAAIAYgAikAuAM3AAggBiACKQDAAzcAECAGIAIpAMgDNwAYIAYgAikAzwM3AB8gAkEAOgDYAgwDC0H09sgAQRNB4P3GABCvFAALQfT2yABBE0Hw/cYAEK8UAAsgBCACKQPoATcAGCAEIAIpA+ABNwAQIAQgAikD2AE3AAggBCACKQPQATcAACAFIAIpALADNwAAIAUgAikAuAM3AAggBSACKQDAAzcAECAFIAIpAMgDNwAYIAUgAikAzwM3AB8gAkEBOgDgAiACQf8BOgDYAgsgAkGwA2ogDCACQfQBaiACQdgCahCOBCACQYACaiAOQdgA/AoAAAJAAkACQCACLQCAAkH+AWsOAgIAAQsgDRCMEQwBCyACQYACahDkCAsgAkEIahD0BCAIIAFB6AFqIgFHDQEMBAsLEJ4VAAtBARCnFAALIAggAWtB6AFuIQAgASAIRg0AA0AgARD0BCABQcgBahCIBCABQegBaiEBIABBAWsiAA0ACwsCQAJAIAoEQCAHQQRrKAIAIgFBeHEhACAAIApB6AFsIgNBBEEIIAFBA3EiARtqSQ0BIAFBAEcgACADQSdqS3ENAiAHELwFCyACQZAEaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL9gYBD38jAEGAAWsiAiQAAkACQAJAAkACQAJAAkACQAJAIAEoAgAiAygCACIFIAMoAgQiC0cEQCADKAIIIgZB3ABsIQQgAygCDCIMQZgCaigCACEIIAMoAhAiCUEkbCENIAxBlAJqIQ4gAygCFCIKQdQAbCEQA0AgBUHcAGohBSAIIAlNDQMgDigCACANaiIHQSBqKAIAIg8gCk0NBCAHQRxqKAIAIBBqIgcoAgBBgICAgHhHDQUgBygCJCIPIAZNDQYgBygCICAEaigCAEUNAiADIAZBAWoiBjYCCCAEQdwAaiEEIAUgC0cNAAsgAyAFNgIACyAAQX02AgAMCAsgAyAFNgIAIAMgBkEBajYCCCADKAIYKAIAIgcoAgAhAyAHIANBAWo2AgAgA0EASA0EAkACQCAMKAJEIghFDQAgDEHIAGooAgAhCwNAIAhBDGohDSAIQQRqIQUgCC8BpggiDEEMbCEOQX8hAwJAA0AgDkUEQCAMIQMMAgsgBSgCBCIEIApJIAQgCktrIAUoAgAiBCAJSSAEIAlLayAEIAlGGyIEQf8BcUUEQCANKAIAIgQgBkkgBCAGS2shBAsgBUEMaiEFIA5BDGshDiANQQxqIQ0gA0EBaiEDIARBAUYNAAsgBEH/AXFFDQMLIAtFDQEgC0EBayELIAggA0ECdGooAqgIIQgMAAsAC0HUucQAQRZBhL7EABDAEwALIAggA0HUAGxqLQDQASEDIAIgBzYCaCACIAY2AmQgAiAKNgJgIAIgCTYCXCACQQE2AlggAkEBQQIgAxs2AlQgASgCCCEBIANFDQUgAkHYAGoQrRBFBEAgAiAHNgJ8IAIgBjYCeCACIAo2AnQgAiAJNgJwIAJBATYCbCACQQhqIAEgAkHsAGoQlAMMBwsgAiAHNgJ8IAIgBjYCeCACIAo2AnQgAiAJNgJwIAJBATYCbCACQQhqIAEgAkHsAGoQigcMBgsgAyAFNgIAIAkgCEGUvsQAEIUTAAsgAyAFNgIAIAogD0GUvsQAEIUTAAsgAyAFNgIAQZS+xAAQnRUACyADIAU2AgAgBiAPQaS+xAAQhRMLAAsgAiAHNgJ8IAIgBjYCeCACIAo2AnQgAiAJNgJwIAJBATYCbCACQQhqIAEgAkHsAGoQ/wULIAAgAkEIakHIAPwKAAALIAJBgAFqJAAL4wYCCH8DfiMAQUBqIgUkACAFIAM2AgQgBSACNgIAIAEpAxAgASkDGCACIAMQ4woiDacgASgCBCIJcSEGIA1CGYhC/wCDQoGChIiQoMCAAX4hDyABKAIAIQcCQAJAAkACQAJAAkADQAJAIAYgB2opAAAiDiAPhSINQoGChIiQoMCAAX0gDUJ/hYNCgIGChIiQoMCAf4MiDUIAUgRAA0AgByANeqdBA3YgBmogCXEiC0FkbGoiCEEYaygCACADRgRAIAIgCEEcayIMKAIAIAMQjxNFDQMLIA1CAX0gDYMiDUIAUg0ACwsgDiAOQgGGg0KAgYKEiJCgwIB/g0IAUg0CIApBCGoiCiAGaiAJcSEGDAELC0GAASEDIAtBHGxBHG0iAiAHaiIGKQAAIg1CAYYgDYNCgIGChIiQoMCAf4N6p0EDdiAHIAJBCGsgCXFqIgIpAAAiDUIBhiANg0KAgYKEiJCgwIB/g3mnQQN2akEHTQRAIAEgASgCCEEBajYCCEH/ASEDCyAGIAM6AAAgAkEIaiADOgAAIAEgASgCDEEBazYCDCAMKAIARQ0AIAhBCGsoAgAiAw0BIAUgCEEUayIBKAIINgIQIAUgASkCADcDCCAFIAWtQoCAgIDQAYQ3AzggBUEYaiIDQfO+wQAgBUE4aiIGELgMIAUoAhghASAFKAIcIQIgBSAFKAIgNgI0IAUgAjYCMCAFIAVBMGqtQoCAgIDQAYQ3AzggA0GanMAAIAYQuAwgBSAFKQMINwIkIAUgBSgCEDYCLCAEKAIIIgMgBCgCAEYEQCAEEL0SCyAEIANBAWo2AgggBCgCBCADQRhsaiIDIAUpAhg3AgAgAyAFKQIgNwIIIAMgBSkCKDcCECABBEAgAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNAyAEQQBHIAMgAUEnaktxDQQgAhC8BQsgAEF/NgIADAULIABBfzYCAAwECyAIQQRrKAIAIgFBAE4EQAJAIAFFBEBBASECDAELIAEQkAEiAkUNBCABRQ0AIAIgAyAB/AoAAAsgACABNgIIIAAgAjYCBCAAIAE2AgAMBAsQnhUAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtBARCnFAALIAVBQGskAAuEBwIEfwJ+IwBB0AFrIgQkACABKAJkIQUCQAJAAkACQAJAAkACQAJAAkAgASgCaCIHQQNrDgQBAwACBAsgA0UNAyAFKAAAQePe1fMGcyAFQQRqLQAAQfQAc3INAyAEQRhqIgMgAUGQAfwKAAAgBCACNgKoASAEIAMgAhDTCwwFCyAFLwAAQeHsAXMgBUECaiIGLQAAQecAc3JFBEAgA0UNAyAEQRhqIgMgAUGQAfwKAAAgBEEEaiACIAMQ9wMgBEEDNgIADAULIAUvAABB8+oBcyAGLQAAQe0Ac3JFBEAgA0UNAyAEQRhqIgMgAUGQAfwKAAAgBEEEaiACIAMQ9wMgBEEENgIADAULIAUvAABB7dIBcyAFQQJqIgYtAABB7gBzckUEQCADRQ0DIARBGGoiAyABQZAB/AoAACAEQQRqIAIgAxD3AyAEQQU2AgAMBQsgA0UNAiAFLwAAQe3CAXMgBi0AAEH4AHNyDQIgBEEYaiIDIAFBkAH8CgAAIARBBGogAiADEPcDIARBBjYCAAwECyAFKAAAQd/GvasHcyAFQQRqLwAAQe7oAXNyDQEgBEEYaiIDIAFBkAH8CgAAIAQgAjYCqAEgBCADIAIQ0wsMAwsgBSgAAEHfwtm7BkYEQCAEQRhqIgMgAUGQAfwKAAAgBEEEaiACIAMQ9wMgBEEDNgIADAMLIAUoAABB3+bV6wZGBEAgBEEYaiIDIAFBkAH8CgAAIARBBGogAiADEPcDIARBBDYCAAwDCyAFKAAAQd/apfMGRgRAIARBGGoiAyABQZAB/AoAACAEQQRqIAIgAxD3AyAEQQU2AgAMAwsgBSgAAEHf2oXDB0YNAQsgBEGsAWogAiAFIAcQ7wYgBCgCrAFBf0YNAiAEIAQoAswBNgI4IAQgBCkCxAE3AzAgBCAEKQK8ATcDKCAEIAQpArQBNwMgIAQgBCkCrAE3AxhBiLDJAEErIARBGGpB0JDGAEGAqMYAENoSAAsgBEEYaiIDIAFBkAH8CgAAIARBBGogAiADEPcDIARBBjYCAAsgACAEKAIQNgIQIAAgBCkCCDcCCCAAIAQpAgA3AgAgAEF/NgIwDAELIAQgBCgCwAEiAjYCECAEIAQpArgBIgg3AwggBCAEKQKwASIJNwMAIAAgAjYCECAAIAg3AgggACAJNwIAIABBfzYCMCABEK4ICyAEQdABaiQAC68HAQd/IwBBkAFrIgckAAJAAkACQAJAAkAgBCADKAIcIgZJBEAgAygCGCAEQfAAbGoiBigCXCEIIAYoAlghBiADIAMoAgAiCUEBajYCACAJQQBIDQEgByAINgJgIAcgBjYCXCAHIAM2AlggB0EQaiAHQdgAahDXAiADIAMoAgAiBkEBazYCACAGQQFGBEAgAxAwCyAHQRxqIgYgAyAEENcJIAdBKGogB0EQaiAGEMoIIAMoAhwiBiAETQ0EIAMoAhggBEHwAGxqIgYoAmghCSAGKAJkIQsgAyADKAIAIghBAWo2AgAgCEEASA0BIAYoAmghCCAGKAJkIQYgAyADKAIAIgpBAWo2AgAgCkEASA0BIAcgCDYCSCAHIAY2AkQgByADNgJAIAdBCGogAyAEEOEJIAdB2ABqIgggBygCCCIGIAcoAgwQ1wkgB0E0aiAHQUBrIAgQ6g4gBiAGKAIAIghBAWs2AgAgCEEBRgRAIAYQMAsgAyADKAIAIgZBAWs2AgAgBkEBRgRAIAMQMAtBFxCQASIIRQ0FIAhBjorGACkAADcADyAIQYeKxgApAAA3AAggCEH/icYAKQAANwAAIAMgAygCACIGQQFqNgIAIAZBAEgNASAFQQFqIQogBS0AACEMIAEoAggiBSABKAIARgRAIAEQrxILIAEoAgQgBUHIAmxqIgYgDDoAKCAGQgA3AxggBkIANwMIIAZCBDcDACAGQSlqIApBzwD8CgAAIAZBFzYCwAEgBiAINgK8ASAGQRc2ArgBIAYgBDYCtAEgBiADNgKwASAGQQI6AKoBIAZBADsBqAEgBiAJNgKkASAGIAs2AqABIAYgAzYCnAFBfyEDIAZBfzYCkAEgBkKAgICAcDcDgAEgBkKAgICAgAE3A3ggBiAHKQI0NwLEASAGIAcoAjw2AswBIAZCfzcDwAIgBkF/NgL0ASAGQX82AugBIAZCBDcD4AEgBkIANwPYASAGQoCAgICAATcD0AEgASAFQQFqNgIIIAcgBygCMDYCeCAHIAcpAig3AnAgB0GYisYANgKEASAHQoGAgIAYNwJ8IAdBAjYCWCAHQUBrIAEgAiAFIAdB2ABqEKINIAcoAkAiAUF+Rg0CIAAgBykCSDcCCCAAIAcpAlA3AhAgACAHKAJENgIEQYmAgIB4IQMMAwsgBCAGQeT+yAAQhRMLAAsgBSEBCyAAIAM2AjAgACABNgIAIAdBkAFqJAAPCyAEIAZB5P7IABCFEwALQQEQpxQAC+YGAg9/A34jAEEgayIIJAACQAJAAn8CQAJAAkACQCABLQAsIgNBAkcEQAJAIANBAXENACABKAIcIgogASgCICIMRg0AIAEoAhgiBiABKAIUIg1qQeQAbEHgAGohDiABKAIoIQ8gASgCJCEQIAEoAggiBUEIaiEJIAVBBGohBANAIAEgAiAKaiIDQeQAajYCHCADQdQAaigCACAQRw0BIANB2ABqKAIAIA9HDQEgBiANaiIHIAkoAgAiA08NAyAEKAIAIA5qIAJqLQAARQRAIAUgBxDsEEUNBQsgASAGQQFqIgY2AhggCiACQeQAaiICaiAMRw0ACwsgAUECOgAsCyABLQBYIgNBAkYNBSADQQFxDQUgASgCNCEFIAEoAkAhDiABKAJEIQsgASgCVCEPIAEoAlAhECABKAJIIQIgASgCTCEJA0AgAiAJRg0GIAEgAkHwAGoiAzYCSAJAIBAgAigCWEYEQCACKAJcIA9GDQELIAFBAToAWAwHCwJAAkAgBSgCtAJFDQAgBSgCrAIiCiALIA5qIgdB3cvdnnlsQQ93IgRxIQIgBEEZdq1CgYKEiJCgwIABfiETIAUoAqgCIQxBACENA0AgAiAMaikAACISIBOFIhFCgYKEiJCgwIABfSARQn+Fg0KAgYKEiJCgwIB/gyIRQgBSBEADQCAHIAwgEXqnQQN2IAJqIApxQQN0ayIEQQhrKAIARg0EIBFCAX0gEYMiEUIAUg0ACwsgEiASQgGGg0KAgYKEiJCgwIB/g0IAUg0BIA1BCGoiDSACaiAKcSECDAALAAtB1LnEAEEWQZS5xAAQwBMACyAFIARBBGsoAgAQ2gYgASALQQFqIgs2AkQgAyECDQALIAEoAjAoAgAiBigCACECIAYgAkEBajYCACACQQBIDQJBAAwECyAHIANB5PbIABCFEwALIAEgBkEBajYCGCAFQQRqKAIAIQMgBUEIaigCACEJIAEoAgQoAgAiAigCACEEIAIgBEEBajYCACAEQQBIDQAgByAJSQ0BIAcgCUHk9sgAEIUTAAsAC0EAIQZBAUECIAMgB0HkAGxqLQBIGwshCyAIIAI2AhwgCCAHNgIQIAggBjYCDCAIIAs2AgggACABKAIAIAhBCGoQtwMMAQsgAEF/NgIACyAIQSBqJAAL3wYBB38jAEFAaiIFJAACQAJAAkACQAJAAkACQAJAAkAgBCgCCEUEQCAAQX82AgAgBCgCACIBRQ0BIAQoAgQiAkEEaygCACIDQXhxIQAgACABQRRsIgFBBEEIIANBA3EiAxtqSQ0CIANBAEcgACABQSdqS3ENAyACELwFDAELIAJBBGohCwNAAkAgBiIKQQRGBEBBBCEKDAELAn8gAiAKaiIGLAAAIgdBAE4EQCAHQf8BcSEHIAZBAWoMAQsgBi0AAUE/cSEIIAdBH3EhCSAHQV9NBEAgCUEGdCAIciEHIAZBAmoMAQsgBi0AAkE/cSAIQQZ0ciEIIAdBcEkEQCAIIAlBDHRyIQcgBkEDagwBCyAJQRJ0QYCA8ABxIAYtAANBP3EgCEEGdHJyIQcgBkEEagsgC2tBBGohBiAHQd8ARg0BCwsgAygCBCIGIAMoAgAiB0GgAmooAgAiCU8NAyADKAIIIgMgB0GcAmooAgAgBkEkbGoiBkEgaigCACIHTw0EIAZBHGooAgAgA0HUAGxqIgMoAgBBgoCAgHhHDQUgBSADKQIINwIQIAVBBCAKazYCHCAFIAIgCmo2AhggBSAFQRhqrUKAgICAgCGENwMoIAUgBUEQaq1CgICAgIAhhDcDICAFQQRqQcfAwQAgBUEgahC4DCAFIAUpAgQ3ADQgBSAFKAIMNgA8QRQQkAEiA0UNBiADQQA6ABAgAyABNgIMIAMgBCgCCDYCCCADIAQpAgA3AgBBGBCQASIBRQ0HIAFBADoAFCABQYTqxwA2AgwgASADNgIIIAFCgYCAgBA3AgAgBSAFKQAxNwMgIAUgBSkAODcAJ0EEEJABIgNFDQggACAFKQMgNwAtIAAgBSkAJzcANCAAQQE6AFwgAEEANgJYIABBADoAVCAAIAE2AlAgAEEAOgBMIABBMDoALCAAQQA2AiAgAEEBOgAcIABBBDYCGCAAIAM2AhQgAEEENgIQIABBAjYCACADIAIoAAA2AAALIAVBQGskAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAGIAlBzLvEABCFEwALIAMgB0HMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAALQbjwyQBBAToAAAALQQEQpxQAC48GAQp/IAAoAggiBwRAIAACfwJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAgB2sgAU8EQCAAQQA2AgggAEEEaiECDAELIAAgByABQQRBBBCzESAAKAIIIQcgAEEANgIIIABBBGohAiAAKAIAIQQgB0UEQCABIARLBEAgAEEAIAFBBEEEELMRIAAoAgghAwsgAUECdCIEBEAgAigCACADQQJ0akEAIAT8CwALIAEgA2oMCwsgASAEIAdrSw0BCyACKAIAIQYgB0ECdCIIBEAgBiABQQJ0aiAGIAj8CgAAC0EAIQIMAQsgACAHIAFBBEEEELMRIAAoAgQhBiAAKAIIIQIgB0ECdCIIBEAgBiABQQJ0aiAGIAj8CgAACyABIQUgASACTQ0BC0EAIQUgAUEBayIDIAJrIgQgAyADIARLG0ECdEEEaiIDBEAgBiACQQJ0akEAIAP8CwALIAJBAWohAwJAA0AgAyICIAFGDQEgAkEBaiEDIAVBAWsiBSABag0ACyAAIAI2AgggASEEDAMLIAAgAjYCCCABIAVqQQFrIgUNACABIQQMAQsgBUECdCIJEJABIgpFDQICQCAKQQRrIgstAABBA3FFDQAgCUUNACAKQQAgCfwLAAsgACgCACABIAdqIgNrIAVJBEAgACADIAVBBEEEELMRIAAoAgQhBiAAKAIIIQILIAEgBWohBCAIBEAgBiAEQQJ0aiAGIAFBAnRqIAj8CgAACwJAIAIgBE8NACAFQQJ0IQEgBiACQQJ0aiEFIAohAwNAIAFFDQEgBSADKAIANgIAIAAgAkEBaiICNgIIIAFBBGshASAFQQRqIQUgA0EEaiEDIAIgBEcNAAsLIAsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgCWpJDQMgA0EARyABIAlBJ2pLcQ0EIAoQvAULIAIgBEYNBAsgCEUNAyAGIAJBAnRqIAYgBEECdGogCPwKAAAMAwtBBBCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyACIAdqCzYCCAsLhgoBFX8jAEHgAGsiAiQAIAFBBGohBCABKAIQIghBCGohFiAIKAL0AiERIAgoAvACIRIgAgJ/AkACQAJAAkACQAJAIAEoAgAiD0EBRgRAIAIgFjYCOCACIAQoAgg2AkQgAiAEKQIANwI8IAJBFGohDAJAAkAgAkE4aiIEKAIAIhMoAkQiDUUNACATQcgAaigCACEGIAQoAgwhDiAEKAIIIQcgBCgCBCEJA0AgDUEMaiEKIA1BBGohECANLwGmCCIEQQxsIQtBfyEFAkADQCALRQRAIAQhBQwCCyAQKAIEIgMgB0kgAyAHS2sgECgCACIDIAlJIAMgCUtrIAMgCUYbIgNB/wFxRQRAIAooAgAiAyAOSSADIA5LayEDCyAQQQxqIRAgC0EMayELIApBDGohCiAFQQFqIQUgA0EBRg0ACyADQf8BcUUNAwsgBkUNASAGQQFrIQYgDSAFQQJ0aigCqAghDQwACwALQdS5xABBFkGEvsQAEMATAAsCQAJAAkAgDSAFQdQAbGoiBCgCsAFBf0cEQCAEQYgBaiIDKAI0IgUgEygCaCIETw0BIAQgAygCOCIETQ0CIAwgAykCPDcCGCAMIAMoAkQ2AiAgDCADKQIsNwIQIAwgBEEEdCATKAJkIgRqKQIENwIIIAwgBCAFQQR0aikCBDcCAAwDCyAMQQA2AgAMAgtB1L3EABCdFQALQeS9xAAQnRUACyACKAIUDQEgASgCBCEGDAYLIAgoAhAiBSAEKAIAIgZNDQIgCCgCDCAGQeQAbGoiBygCKEF/Rg0BIAcoAjQiAyAIKAJwIgRPDQMgBygCOCIFIARPDQQgAiAHKQI8NwIsIAIgBygCRDYCNCACIAcpAiw3AiQgAiAIKAJsIgQgBUEEdGopAgQ3AhwgAiAEIANBBHRqKQIENwIUCyACIAIpAiw3A1AgAiACKAI0NgJYIAIoAhwhByACKAIgIQMgAigCJCEFIAIoAighBCACQgQ3AkggAkIANwJAIAJCgICAgMAANwI4IAJBCGogEiAHIAMgBSAEIAJB0ABqIAJBOGoiBCARKAKAAREMACACKAIMIRQgAigCCCEVIAQQ+QkgASgCBCEGIA8NBCAIKAIQIQULIAUgBksEQCAIKAIMIAZB5ABsakHIAGoMBQsgBiAFQeT2yAAQhRMACyAGIAVB5PbIABCFEwALQbS4xAAQnRUAC0HEuMQAEJ0VAAsCQAJAIAgoAkwiCUUNACABKAIMIQ8gASgCCCEHIAhB0ABqKAIAIQsDQCAJQQxqIQ4gCUEEaiEKIAkvAaYIIgRBDGwhAUF/IQUCQANAIAFFBEAgBCEFDAILIAooAgQiAyAHSSADIAdLayAKKAIAIgMgBkkgAyAGS2sgAyAGRhsiA0H/AXFFBEAgDigCACIDIA9JIAMgD0trIQMLIApBDGohCiABQQxrIQEgDkEMaiEOIAVBAWohBSADQQFGDQALIANB/wFxRQ0DCyALRQ0BIAtBAWshCyAJIAVBAnRqKAKoCCEJDAALAAtB1LnEAEEWQYS+xAAQwBMACyAJIAVB1ABsakHQAWoLIgEoAgg2AkAgAiABKQIANwM4AkACQCAVRQRAIAIgEiACQThqIBYgESgCdBEFACACKAIAIhVFDQEgAigCBCEUCyAAIBE2AgwgACASNgIIIAAgFDYCBCAAIBU2AgAMAQsgAEEANgIACyACQeAAaiQAC/MSAhB/BX4gACkDECAAKQMYIAEQrgkhFSAAKAIIRQRAAkAgAEEQaiEHAkACQAJAIAAoAgwiCEEBaiIEBEAgACgCBCIKQQFqIgNBA3YiBkEHbCELAkAgCiALIApBCEkbIglBAXYgBEkEQAJ/IAlBAWoiAyAEIAMgBEsbIgNBD08EQCADQf////8BSw0HQX8gA0EDdEEHbkEBa2d2QQFqDAELQQQgA0EIcUEIaiADQQRJGwsiA61CGH4iE0IgiKcNBSATpyIGIANBCGoiCWohBCAEIAZJDQUgBEH4////B0sNBSAEEJABIgRFBEBBuPDJAEEBOgAAAAsgBCAGaiELIAkEQCALQf8BIAn8CwALIANBAWsiCSADQQN2QQdsIANBCUkbIQ0gACgCACEEAkAgCEUEQEEAIQgMAQsgBCkDAEJ/hUKAgYKEiJCgwIB/gyETIAcpAwghFiAHKQMAIRcgCCEDIAQhBwNAIBNQBEADQCAFQQhqIQUgB0EIaiIHKQMAQoCBgoSIkKDAgH+DIhNCgIGChIiQoMCAf1ENAAsgE0KAgYKEiJCgwIB/hSETCyALIAkgFyAWIAQgE3qnQQN2IAVqIg5BaGxqQRhrEK4JpyIRcSIGaikAAEKAgYKEiJCgwIB/gyIUUARAQQghDANAIAYgDGohBiAMQQhqIQwgCyAGIAlxIgZqKQAAQoCBgoSIkKDAgH+DIhRQDQALCyATQgF9IBODIRMgCyAUeqdBA3YgBmogCXEiBmosAABBAE4EQCALKQMAQoCBgoSIkKDAgH+DeqdBA3YhBgsgBiALaiARQRl2Igw6AAAgCyAGQQhrIAlxakEIaiAMOgAAIAsgBkF/c0EYbGoiBiAEIA5Bf3NBGGxqIgwpABA3ABAgBiAMKQAINwAIIAYgDCkAADcAACADQQFrIgMNAAsLIAAgCTYCBCAAIAs2AgAgACANIAhrNgIIIApFDQEgCkEYbEEfakF4cSIHIApqQQlqIgNFDQEgBCAHayIIQQRrKAIAIgRBeHEhByAHQQRBCCAEQQNxIgQbIANqSQ0DIARBAEcgByADQSdqS3ENBCAIELwFDAYLIAAgAwR/IAAoAgAhBAJAIAYgA0EHcUEAR2oiBkEBRwRAIAZBAXEgBkH+////A3EhBgNAIAQgBWoiCSkDACETIAkgE0J/hUIHiEKBgoSIkKDAgAGDIBNC//79+/fv37//AIR8NwMAIAlBCGoiCSkDACETIAkgE0J/hUIHiEKBgoSIkKDAgAGDIBNC//79+/fv37//AIR8NwMAIAVBEGohBSAGQQJrIgYNAAtFDQELIAQgBWoiBSkDACETIAUgE0J/hUIHiEKBgoSIkKDAgAGDIBNC//79+/fv37//AIR8NwMACwJAIANBCE8EQCADIARqIAQpAAA3AAAMAQsgA0UNACAEQQhqIAQgA/wKAAALIAcpAwghFCAHKQMAIRZBACEDA0ACQCADIgcgBGoiCS0AAEGAAUcNACAEIANBf3NBGGxqIQMgBCAHQWhsakEYayEOA0AgBCAWIBQgDhCuCaciDCAKcSINIgVqKQAAQoCBgoSIkKDAgH+DIhNQBEBBCCEGA0AgBSAGaiEFIAZBCGohBiAEIAUgCnEiBWopAABCgIGChIiQoMCAf4MiE1ANAAsLIAQgE3qnQQN2IAVqIApxIgVqLAAAQQBOBEAgBCkDAEKAgYKEiJCgwIB/g3qnQQN2IQULIAUgDWsgByANa3MgCnFBCE8EQCAEIAVqIgYtAAAgBiAMQRl2IgY6AAAgBCAFQQhrIApxakEIaiAGOgAAIAQgBUF/c0EYbGohBUH/AUYEQCAJQf8BOgAAIAQgCiAHQQhrcWpBCGpB/wE6AAAgBSADKQAQNwAQIAUgAykACDcACCAFIAMpAAA3AAAMAwsgAykAACETIAMgBSkAADcAACAFIBM3AAAgBSkACCETIAUgAykACDcACCADIBM3AAggAygAECEGIAMgBSgAEDYAECAFKAAUIQwgBSADKAAUNgAUIAMgDDYAFCAFIAY2ABAMAQsLIAkgDEEZdiIDOgAAIAQgCiAHQQhrcWpBCGogAzoAAAsgB0EBaiEDIAcgCkcNAAsgCiALIApBCEkbBUEACyAIazYCCAsMBAsMAgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQfjoyABBOUH4n8QAEL8TAAsLIAAoAgQiBSAVp3EhCCAVQhmIIhZC/wCDQoGChIiQoMCAAX4hFSABLQAQIQYgAS0AACEHIAAoAgAhBAJAAkAgASgCBEEBcUUEQCAHQf8BcSELA0AgBCAIaikAACIUIBWFIhNCgYKEiJCgwIABfSATQn+Fg0KAgYKEiJCgwIB/gyITQgBSBEADQAJAIAsgBEEAIBN6p0EDdiAIaiAFcWsiCkEYbGoiA0EYay0AAEcNACADQRRrKAIADQAgBiADQQhrLQAARg0GCyATQgF9IBODIhNCAFINAAsLIBRCgIGChIiQoMCAf4MhEwJ/AkAgD0UEQCATUA0BIBN6p0EDdiAIaiAFcSEHCyATIBRCAYaDQgBSDQRBAQwBC0EACyEPIBBBCGoiECAIaiAFcSEIDAALAAsgASgCDCEPIAEoAgghCyAHQf8BcSEJA0AgBCAIaikAACIUIBWFIhNCgYKEiJCgwIABfSATQn+Fg0KAgYKEiJCgwIB/gyITQgBSBEADQAJAIAkgBEEAIBN6p0EDdiAIaiAFcWsiCkEYbGoiA0EYay0AAEcNACADQRRrKAIAQQFHDQAgCyADQRBrKAIARw0AIA8gA0EMaygCAEcNACAGIANBCGstAABGDQULIBNCAX0gE4MiE0IAUg0ACwsgFEKAgYKEiJCgwIB/gyETAn8CQCAQRQRAIBNQDQEgE3qnQQN2IAhqIAVxIQcLIBMgFEIBhoNCAFINA0EBDAELQQALIRAgEkEIaiISIAhqIAVxIQgMAAsACyAEIAdqLAAAIghBAE4EQCAEIAQpAwBCgIGChIiQoMCAf4N6p0EDdiIHai0AACEICyAEIAdqIBanQf8AcSIDOgAAIAQgB0EIayAFcWpBCGogAzoAACAAIAAoAgggCEEBcWs2AgggACAAKAIMQQFqNgIMIARBACAHayIKQRhsakEYayIAIAEoAhA2AhAgACABKQIINwIIIAAgASkCADcCAAsgBCAKQRhsakEEayACNgIAC8QGAQx/IwBBEGsiCyQAIAEoAgAiDEEMaigCACENIAEoAgghDiABKAIEIQoCQAJAAkAgDEEQaigCACIFIgQOAgIBAAsDQAJ/IAogDSAEQQF2IgggBmoiD0HkAGxqIglB1ABqKAIAIgdHBEAgByAKSQwBCyAJQdgAaigCACAOSQshByAPIAYgBxshBiAEIAhrIgRBAUsNAAsLAn8gCiANIAZB5ABsaiIHQdQAaigCACIERwRAIAQgCkkMAQsgB0HYAGooAgAgDkkLIAZqIQQLAkACQAJAAkACQAJAAkACQAJAAkAgBCAFRg0AIAVB5ABsIQ8gBEHkAGwhBiAMQRBqIQkgDEEMaiEHA0AgBiANaiIFQdQAaigCACAKRw0BIAVB2ABqKAIAIA5HDQEgCSgCACIFIARNDQMCQCAHKAIAIAZqIgVB4ABqLQAADQAgBUHIAGotAABB+wFxRQ0AIAEoAgAiCCgCACEFIAggBUEBajYCACAFQQBIDQUgC0EIaiAIQQhqIAQQ0BAgAyALKAIMRgRAIAsoAgggAiADEI8TRQ0ECyAIIAgoAgAiBUEBazYCACAFQQFHDQAgCBAwCyAEQQFqIQQgDyAGQeQAaiIGRw0ACwsgA0EASA0FIANFBEBBASEJDAQLIAMQkAEiCUUEQEEBEKcUAAsgA0UNAyAJIAIgA/wKAAAMAwsgACAINgIUIAAgBDYCCCAAQv////8PNwIADAMLIAQgBUHk9sgAEIUTCwALIAEoAgQiByABKAIAIgVBoAJqKAIAIgJPDQIgASgCCCIEIAVBnAJqKAIAIAdBJGxqIgJBIGooAgAiAU8NAyACQRxqKAIAIARB1ABsaiIBKAIAQYKAgIB4Rw0EIAEoAgwiAkEASA0BAkAgAkUEQEEBIQQMAQsgASgCCCEBIAIQkAEiBEUEQEEBEKcUAAsgAkUNACAEIAEgAvwKAAALIAAgAjYCICAAIAQ2AhwgACACNgIYIAAgAzYCFCAAIAk2AhAgACADNgIMIABBBTYCCCAAQZKLyAA2AgQgAEECNgIACyALQRBqJAAPCxCeFQALIAcgAkHMu8QAEIUTAAsgBCABQcy7xAAQhRMAC0HMu8QAEJ0VAAu2BwEFfyMAQTBrIgMkACACKAIIIQUgAigCBCEGIAEoAgQhBCADIAEoAggiBzYCJCADIAQ2AiACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdBA2sOCwIACQEJBAkJBQkDCQsgBCgAAEH12KWjBkYEQCADQQQ6AAwMCwsgBCgAAEHj6qWjBkYEQCAFQQFGBEAgBigCAEEQRg0JC0Ggq8kAQShB8PTGABCvFAALIAQoAABB9eqlowZHDQUgBUEBRgRAIAYoAgBBEEYNBwtBoKvJAEEoQeD0xgAQrxQACyAEKAAAQe7CufsGcyAEQQRqLwAAQenIAXNyDQcgBUEBRgRAIAYoAgBBEEYNCQsgA0EAOgAMDAkLIAQvAABB7t4BcyAEQQJqLQAAQfcAc3INBiADQQY6AAwMCAsgBCkAAELh6tH7ls3bsfIAhSAEQQVqKQAAQu7GyavWrZm39ACFhEIAUg0FIANBBzoADAwHCyAEKQAAQvPKxavXzNux5QBSDQQgA0EHOgAMDAYLIAQpAABC5MSdq+atmbnhAIUgBEEDaikAAELl3JWTl4zdsuQAhYRCAFINAyADQQg6AAwMBQsgBCgAAEHh6tH7BkcNAiADQQk6AAwMBAsgA0ECOgAMIAMgBikDCDwADQwDCyADQQM6AAwgAyAGKQMIPAANDAILIAMgA0Egaq1CgICAgNABhDcDKCADQQhqQfjawQAgA0EoahC4DCADKAIIIgdBf0YNASAAIAMoAQ42AQogACADLwESOwEOIAAgAy8BDDsBCCAAIAc2AgQgAEF/NgIAIAUEQCAGIQADQCAAEIgEIABBIGohACAFQQFrIgUNAAsLIAIoAgAiAgRAIAZBBGsoAgAiBUF4cSEAIAAgAkEFdCICQQRBCCAFQQNxIgUbckkNBCAFQQBHIAAgAkEnaktxDQUgBhC8BQsgASgCACIARQ0CIARBBGsoAgAiAkF4cSEBIAFBBEEIIAJBA3EiAhsgAGpJDQUgAkEARyABIABBJ2pLcQ0GIAQQvAUMAgsgA0EBOgAMIAMgBikDCDwADQsgACADLwEMOwEYIAAgASkCADcCACADIAEoAgg2AhAgAyACKQIANwIUIAAgAykDEDcCCCADIAIoAgg2AhwgACADKQMYNwIQCyADQTBqJAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL8QsBCH8jAEEQayIFJAACQAJAAkACQAJAAkACQAJAIAJBA2sOBgMCBQABBAYLAkACQAJAIAEtAABBwgBrDhICCAgICAgICAgICAgIAQgICAAICyABLQABQfQARw0HIAEtAAJB8gBHDQcgAS0AA0HpAEcNByABLQAEQe4ARw0HIAEtAAVB5wBHDQcgAEEAOwEADAgLIAEtAAFB4gBHDQYgAS0AAkHqAEcNBiABLQADQeUARw0GIAEtAARB4wBHDQYgAS0ABUH0AEcNBiAAQYAOOwEADAcLIAEtAAFB6QBHDQUgAS0AAkHnAEcNBSABLQADQckARw0FIAEtAARB7gBHDQUgAS0ABUH0AEcNBSAAQYAUOwEADAYLIAEtAABBwgBHDQQgAS0AAUHvAEcNBCABLQACQe8ARw0EIAEtAANB7ABHDQQgAS0ABEHlAEcNBCABLQAFQeEARw0EIAEtAAZB7gBHDQQgAEGAAjsBAAwFCwJAAkACQAJAIAEtAABBxQBrDhEABwcHBwMHAgcHBwcHBwcHAQcLIAEtAAFB7gBHDQYgAS0AAkH1AEcNBiABLQADQe0ARw0GIABBgAQ7AQAMBwsgAS0AAUH1AEcNBSABLQACQekARw0FIAEtAANB5ABHDQUgAEGACDsBAAwGCyABLQABQekARw0EIAEtAAJB8wBHDQQgAS0AA0H0AEcNBCAAQYAKOwEADAULIAEtAAFB8wBHDQMgAS0AAkHvAEcNAyABLQADQe4ARw0DIABBgAw7AQAMBAsCQAJAIAEtAABBwQBrDgkBBAQEBAQEBAAECyABLQABQe4ARw0DIAEtAAJB9ABHDQMgAEGABjsBAAwECyABLQABQe4ARw0CIAEtAAJB+QBHDQIgAEGAGDsBAAwDCyABLQAAQcQARw0BIAEtAAFB4QBHDQEgAS0AAkH0AEcNASABLQADQeUARw0BIAEtAARB1ABHDQEgAS0ABUHpAEcNASABLQAGQe0ARw0BIAEtAAdB5QBHDQEgAEGAEDsBAAwCCwJAAkAgAS0AAEHCAGsOBQECAgIAAgsgAS0AAUHsAEcNASABLQACQe8ARw0BIAEtAANB4QBHDQEgAS0ABEH0AEcNASAAQYASOwEADAILIAEtAAFB+QBHDQAgAS0AAkH0AEcNACABLQADQeUARw0AIAEtAARB8wBHDQAgAEGAFjsBAAwBCyMAQTBrIgMkACADIAI2AgggAyABNgIEIANBIGogA0EEahCQCgJAIAVBBGoiCAJ/IAMoAiAiBwRAIAMoAiQiBCADKAIsRQ0BGgJAAkAgAkUEQEEBIQEMAQsgAhCQASIBRQ0BCyADQQA2AhQgAyABNgIQIAMgAjYCDAJAAkAgAiAESQRAIANBDGpBACAEEM4RIAMoAgwhAiADKAIQIQEgAygCFCEGDAELIARFDQELIARFDQAgASAGaiAHIAT8CgAACyADIAQgBmoiBDYCFCACIARrQQJNBEAgA0EMaiAEQQMQzhEgAygCFCEEIAMoAhAhAQsgASAEaiICQeyqwgAtAAAiBjoAAiACQeqqwgAvAAAiBzsAACADIARBA2oiAjYCFCADIAMpAgQ3AhgDQAJAIANBIGogA0EYahCQCiADKAIgIglFDQAgAygCLAJAAkAgAygCJCIEIAMoAgwgAmtLBEAgA0EMaiACIAQQzhEgAygCECEBIAMoAhQhAgwBCyAERQ0BCyAERQ0AIAEgAmogCSAE/AoAAAsgAyACIARqIgI2AhRFDQEgAygCDCACa0ECTQRAIANBDGogAkEDEM4RIAMoAhQhAiADKAIQIQELIAEgAmoiBCAGOgACIAQgBzsAACADIAJBA2oiAjYCFAwBCwsgCCADKAIUNgIIIAggAykCDDcCAAwDC0EBEKcUAAtBASEHQQALNgIIIAggBzYCBCAIQX82AgALIANBMGokACAFKAIEIQEgBSgCCCICIAUoAgwQxxIhAyAAQQE6AAAgACADNgIEIAFBAEwNACACIAEQ2RILIAVBEGokAAuKBgIIfwF+IAEoAhghByABKAIUIQIgASgCHCEGIAEoAhAhBAJAAkACQAJAIAEoAgAEQCABKAIMIQkgASgCBCEFAkADQAJAIAQEQAJAIAIgBkYEQCACIQMMAQsgASACQdAAaiIDNgIUIAItAAAiCEH/AUcNBwsgBiADa0HQAG4hAiADIAZHBEADQCADEK8EIANB0ABqIQMgAkEBayICDQALCyAHBEAgBEEEaygCACIDQXhxIQIgAiAHQdAAbCIGQQRBCCADQQNxIgMbckkNAiADQQBHIAIgBkEnaktxDQQgBBC8BQsgAUEANgIQCyAFIAlGDQQgASAFQQxqIgM2AgQgBSgCACIHQX9GDQQgASAHNgIYIAEgBSkCBCIKpyICNgIUIAEgAjYCECABIAIgCkIgiKdB0ABsaiIGNgIcIAMhBSACIQQMAQsLDAQLDAQLIARFDQACQCACIAZGBEAgAiEDDAELIAEgAkHQAGoiAzYCFCACLQAAIghB/wFHDQILIAYgA2tB0ABuIQIgAyAGRwRAA0AgAxCvBCADQdAAaiEDIAJBAWsiAg0ACwsgBwRAIARBBGsoAgAiA0F4cSECIAIgB0HQAGwiBUEEQQggA0EDcSIDG3JJDQMgA0EARyACIAVBJ2pLcQ0EIAQQvAULIAFBADYCEAsCQAJAAkAgASgCICIEBEAgASgCJCICIAEoAiwiBUcNASAAQf8BOgAAIAIhAwwCCyAAQf8BOgAADwsgASACQdAAaiIDNgIkIAAgAkHQAPwKAAAgAC0AAEH/AUcNAQsgBSADa0HQAG4hAiADIAVHBEADQCADEK8EIANB0ABqIQMgAkEBayICDQALCyABKAIoIgIEQCAEQQRrKAIAIgNBeHEhACAAIAJB0ABsIgJBBEEIIANBA3EiAxtySQ0DIANBAEcgACACQSdqS3ENBCAEELwFCyABQQA2AiALDwsgACAIOgAAIABBAWogAkEBakHPAPwKAAAPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAufCAIDfwF+IwBBEGsiBCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQdrDg0LBAIAEg8QEhIDARIHEgsgACkAAELm0rmj1srbtPEAhSAAQQhqIgMzAABC9coBhYRCAFINBQwSCyAAKQAAQubSuaPWytu08QCFIABBCGopAABC9cq9kseKmrnvAIWEIABBEGoxAABC9wCFhEIAUg0QQQEhAgwRCyAAKQAAQubSuaPmqJq58wCFIABBCGoiAzEAAEL0AIWEQgBSDQJBAiECDBALIAApAABC5tK5o+aomrnzAIUgAEEIaikAAEL0nsmjhc3ct/cAhYRCAFINDkEDIQIMDwsgACkAAELm0rmj1qmYt/kAUg0IQQQhAgwOCyAAKQAAQuPklYvGrtmn7gCFIAMxAABC5QCFhEIAUg0LQQUhAgwNCyAAKQAAQuPklYvGrtmm4QCFIAMzAABC7vIBhYRCAFINAUEGIQIMDAsgACkAAELj5JWLxq7ZpuEAhSAAQQhqIgMpAABC7vKF8sbM1LL0AIWEIABBC2oiAikAAELuyMmqxq6due4AhYRCAFINAUEHIQIMCwsgACkAAEL14JGLxq7ZpuEAhSAAQQhqIgMzAABC7vIBhYRCAFINAUEJIQIMCgsgACkAAEL14JGLxq7ZpuEAhSADKQAAQu7yhfLGzNSy9ACFhCACKQAAQu7IyarGrp257gCFhEIAUg0IQQohAgwJCyAAKQAAQuTKsavGrtmm4QCFIAMzAABC7vIBhYRCAFINAUEMIQIMCAsgACgAAEHn5L2rB3MgAEEDaiIDKAAAQfXgicoHc3INAkEPIQIMBwsgACkAAELl8JWb1o7dstIAhSAAQQhqMwAAQuHuAYWEQgBSDQVBECECDAYLIAApAABC8eqVk5fP1LD3AFINBEERIQIMBQsgACgAAEHm0rmjBnMgAygAAEHkpIW7B3NyDQNBEyECDAQLIAApAABC4c6dk9fs2bD0AIUgAEEIajUAAELlpIW7B4WEQgBSDQJBFCECDAMLIAApAABC8uq5m/St27bhAIUgAEEFaikAAELt2oXzxszUsPcAhYRCAFINAUESIQIMAgtBCCECIAApAAAiBUL14JGLxq7Zp+4AhSAAQQhqIgMxAABC5QCFhFANASAFQuTKsavGrtmn7gCFIAMxAABC5QCFhFAEQEELIQIMAgsgACkAAEL14M2rpo7dp+4AhSADMQAAQuUAhYRQBEBBDSECDAILIAApAABC4c6dk9fs2bD0AIUgAEEIajEAAELlAIWEQgBSDQBBDiECDAELIAQgATYCBCAEIAA2AgAgBCAErUKAgICA0AGENwMIQdWhwAAgBEEIakHc/8cAEL8TAAsgBEEQaiQAIAILvwYBEX8jAEGQAWsiBCQAIAEoAgQhCQJAAkACQAJAAkACQAJAAkAgASgCCCIIRQRAIABBADYCCCAAQoCAgICAATcCAAwBCyAIQRRsIgsQkAEiDEUNBiAJIQMgCCEFA0AgAiALRwRAIAMoAhAiBigCACEHIAYgB0EBajYCACAHQQBIDQkgAiAMaiIHIAMpAgg3AgggByADKQIANwIAIAdBEGogBjYCACACQRRqIQIgA0EUaiEDIAVBAWsiBQ0BCwsgCEHyuJwOTw0FIAEoAgwCQCAIQcgAbCICRQRAQQghB0EAIQMMAQsgCCEDIAIQkAEiB0UNBQtB0ABqIRFBACEFA0AgBCAMIA9qIgIoAhA2AhggBCACKQIINwMQIAQgAikCADcDCCAEIARBCGoQ8A4gBCgCBCIGQQBIDQYCQCAGRQRAQQEhDQwBCyAEKAIAIQIgBhCQASINBEAgBkUNASANIAIgBvwKAAAMAQtBARCnFAALIBEoAgAhAiAEQYQBaiIKIARBCGoiDhCfCiAEQSBqIhIgAiAKIA4QrRAQtAxB5AAQkAEiCkUNAiAKIBJB5AD8CgAAIAQoAhgiDigCACECIA4gAkEBazYCACACQQFGBEAgBCgCGBAwCyAHIBBqIgJBfjYCACACQcQAakGBAjsBACACQUBrIAY2AgAgAkE8aiANNgIAIAJBOGogBjYCACACQTBqQgQ3AwAgAkEoakIBNwMAIAJBJGogCjYCACACQSBqQQE2AgAgEEHIAGohECAFQQFqIQUgD0EUaiIPIAtHDQALIAwgCxDZEiAAIAU2AgggACAHNgIEIAAgAzYCACAJQRBqIQMDQCADKAIAIgUoAgAhACAFIABBAWs2AgAgAEEBRgRAIAMoAgAQMAsgA0EUaiEDIAhBAWsiCA0ACwsgASgCACIBBEAgCUEEaygCACIDQXhxIQAgACABQRRsIgFBBEEIIANBA3EiAxtqSQ0CIANBAEcgACABQSdqS3ENAyAJELwFCyAEQZABaiQADwtBuPDJAEEBOgAAAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQgQpxQACxCeFQALQQQQpxQLAAvaBgIIfwR+IwBBIGsiBSQAIAUgASgCCCIGNgIcIAUgASgCBCIHNgIYIAUgASgCACIEQQhqNgIUIAVBCGogBUEUahClDSAFKAIMIQEgBSgCCCEDAkACQAJAIAIoAkAiAigCCEF/RwRAIAMNASACKAIMIQMgAigCECEBDAELIAMNAEF/IQEMAQsgAUEASA0BIAFFBEBBACEBQgEhDAwBCyABEJABIgJFBEBBARCnFAALIAEEQCACIAMgAfwKAAALIAKtIAGtQiCGhCEMCwJAAkAgBCgCSEUNACAEKAJAIgggB0Hdy92eeWwgBmpB3cvdnnlsQQ93IgJxIQMgAkEZdq1CgYKEiJCgwIABfiEOIAQoAjwhCQNAIAMgCWopAAAiDSAOhSILQoGChIiQoMCAAX0gC0J/hYNCgIGChIiQoMCAf4MiC0IAUgRAA0AgCSALeqdBA3YgA2ogCHFB6H5saiICQZgBaygCACAHRgRAIAYgAkGUAWsoAgBGDQULIAtCAX0gC4MiC0IAUg0ACwsgDSANQgGGg0KAgYKEiJCgwIB/g0IAUg0BIApBCGoiCiADaiAIcSEDDAALAAtB1LnEAEEWQey6xAAQwBMACwJAAkACQAJAAn8gAkGQAWsoAgBBAUYEQCACQYwBaygCACICIAQoAnBPDQIgBCgCbCACQQR0agwBCyAEQaACaigCACICIAdNDQIgBEGcAmooAgAgB0EkbGoiAkEgaigCACIDIAZNDQMgAkEcaigCACAGQdQAbGoiAigCAEGCgICAeEcNBCACQQRqCyIDKAIIIgJBAEgNBAJAIAJFBEBBASEDDAELIAMoAgQhBCACEJABIgNFBEBBARCnFAALIAJFDQAgAyAEIAL8CgAACwJ/IAFBf0cEQCAAIAI2AgwgACADNgIIIAAgAjYCBCAAQQA2AgAgDEIgiKchAiAMpyEDQSwhBkEwDAELIAAgAjYCBCAAQQA2AgBBfiEBQQghBkEMCyEEIAAgBmogAzYCACAAIARqIAI2AgAgACABNgIoIABCgICAgGA3AhggAEKAgICAwAA3AhAgBUEgaiQADwtB/LrEABCdFQALIAcgAkHMu8QAEIUTAAsgBiADQcy7xAAQhRMAC0HMu8QAEJ0VAAsQnhUAC5kGAQF/IwBBQGoiCSQAIAkgATYCBCAJIAA2AgAgCSAHNgIMIAkgBjYCCAJAAkACQAJAAkACQAJAAkACQCACQf8BcSIBQQFrDgMBAAIAC0ERIQRBq7/EACEAIAEOBQIEBAQDBAtBASEBIAQtAABBBEYNBAJAIAVBAUYNACAELQABQQRGDQUgBUECRg0AIAQtAAJBBEYNBSAFQQNGDQAgBC0AA0EERg0FCyAJIAmtQoCAgIDQAYQ3AzAgCUEQakGn3cEAIAlBMGoQuAwgCSgCECEAIAggCSgCFCICIAkoAhgQ1QlBACEBIABFDQQgAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyAAakkNBSAEQQBHIAMgAEEnaktxDQYgAhC8BQwEC0EBIQEgA0H/AXEiACAELQAARg0DAkAgBUEBRg0AIAQtAAEgAEYNBCAFQQJGDQAgBC0AAiAARg0EIAVBA0YNACAELQADIABGDQQLIAkgA0ECdEH8B3EiACgCiL9JNgIsIAkgACgC5L5JNgIoIAkgCUEIaq1CgICAgNABhDcDICAJIAlBKGqtQoCAgIDQAYQ3AxggCSAJrUKAgICA0AGENwMQIAlBMGpB1oTCACAJQRBqELgMIAkoAjAhACAIIAkoAjQiAiAJKAI4ENUJQQAhASAARQ0DIAJBBGsoAgAiBEF4cSEDIANBBEEIIARBA3EiBBsgAGpJDQQgBEEARyADIABBJ2pLcQ0FIAIQvAUMAwtBECEEQYi/xAAhAAwBC0ETIQRBmL/EACEACyAJIAQ2AiwgCSAANgIoIAkgCUEoaq1CgICAgNABhDcDGCAJIAmtQoCAgIDQAYQ3AxAgCUEwakGk9MEAIAlBEGoQuAwgCSgCMCEAIAggCSgCNCIBIAkoAjgQ1QkgAARAIAFBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAGpJDQIgA0EARyACIABBJ2pLcQ0DIAEQvAULQQAhAQwACyAJQUBrJAAgAQ8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5cGAgl/BX4jAEEQayILJAACQAJAAn8CQAJAIAFCAFIEQEGgfyACIAF5Ig+nayIGa8FB0ABsQbCnBWpBzhBtIgJB0ABLDQEgCyACQQR0IgIpA+CCREIAIAEgD4ZCABDuESALKQMIIAspAwBCP4h8IgFBQCAGIAIvAeiCRGprIgmtIg+IpyEGIAIvAeqCRCECIAFCASAPhiIRQgF9IhKDIg9QBEAgBEEKSw0FIARBAnRBuOvIAGooAgAgBksNBQsgCUE/cSEIIAZBkM4ATwRAIAZBwIQ9SQ0DIAZBgMLXL08EQEEIQQkgBkGAlOvcA0kiBxshCkGAwtcvQYCU69wDIAcbDAULQQZBByAGQYCt4gRJIgcbIQpBwIQ9QYCt4gQgBxsMBAsgBkHkAE8EQEECQQMgBkHoB0kiBxshCkHkAEHoByAHGwwEC0EKQQEgBkEJSyIKGwwDC0HwjMQAQRxBjI3EABCvFAALIAJB0QBBnI3EABCFEwALQQRBBSAGQaCNBkkiBxshCkGQzgBBoI0GIAcbCyEHIAitIRACQAJAAkACQCAKIAJrQQFqwSIIIAXBIgJKBEAgCUH//wNxIQ0gCCAFa8EgBCAIIAJrIARJGyIJQQFrIQ5BACECA0AgBiAHbiEMIAIgBEYNAyAGIAcgDGxrIQYgAiADaiAMQTBqOgAAIAIgDkYNBCACIApGDQIgAkEBaiECIAdBCkkgB0EKbiEHRQ0AC0GsjcQAEKMVAAsgACADIARBACAIIAUgAUIKgCAHrSAQhiARENgMDAULIAJBAWohAiANQQFrQT9xrSETQgEhAQNAIAEgE4hCAFIEQCAAQQA2AgAMBgsgAiAETw0DIAIgA2ogD0IKfiIPIBCIp0EwajoAACABQgp+IQEgDyASgyEPIAkgAkEBaiICRw0ACyAAIAMgBCAJIAggBSAPIBEgARDYDAwECyAEIARBvI3EABCFEwALIAAgAyAEIAkgCCAFIAatIBCGIA98IAetIBCGIBEQ2AwMAgsgAiAEQcyNxAAQhRMACyAAQQA2AgALIAtBEGokAAvHBQEHfwJAAkAgACgCECIBQQBKBEAgACgCFCIDQQRrKAIAIgJBeHEhBCAEQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgBCABQSdqS3ENAiADELwFCwJAAkACQCAALQAcDgIAAQILIAAoAiAhASAAQTBqEMMCAkACQAJAIAEOAgECAAsgACgCKCEEIAAoAiwiAwRAIAQhAQNAIAEoAgAiAgRAIAFBBGooAgAiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyACakkNByAFQQBHIAYgAkEnaktxDQggBxC8BQsgAUEcaiIGKAIAIgcoAgAhAiAHIAJBAWs2AgAgAkEBRgRAIAYoAgAQMAsgAUEgaiEBIANBAWsiAw0ACwsgACgCJCIDRQ0DIARBBGsoAgAiAkF4cSEBIAEgA0EFdCIDQQRBCCACQQNxIgIbckkNBCACQQBHIAEgA0EnaktxDQUgBBC8BQwDCyAAKAIoIQQgACgCLCIDBEAgBCEBA0AgASgCACICBEAgAUEEaigCACIHQQRrKAIAIgVBeHEhBiAGQQRBCCAFQQNxIgUbIAJqSQ0GIAVBAEcgBiACQSdqS3ENByAHELwFCyABQQxqIQEgA0EBayIDDQALCyAAKAIkIgNFDQIgBEEEaygCACICQXhxIQEgASADQQxsIgNBBEEIIAJBA3EiAhtqSQ0DIAJBAEcgASADQSdqS3ENBCAEELwFDAILIAAoAiQiBCgCACEBIAQgAUEBazYCACABQQFHDQEgACgCJBAwDAELIABBLGoQwwIgACgCUCIEKAIAIQEgBCABQQFrNgIAIAFBAUcNACAAQdAAahC2CAsCQCAAKAJYIgFFDQAgASABKAIAIgFBAWs2AgAgAUEBRw0AIABB2ABqEMsECw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4sGAgV/AX4gASgCiAMhAwJAAkACQAJAAkACQAJAAkACQAJAAkAgASkDACIHQgJSBEAgB6chBCABKQOgASEHIANBfEYNBiAHQgJRDQEgBEEBcUUNBSABKALAAiEEIAdCAVINAiABKAKsASABKAKoAWshAiAEQXxHDQNBASEFIAIhBAwEC0EBIQIgA0F8Rg0JIANBfUchAQwIC0EBIQUgBEEBcUUNBSABKAIMIAEoAghrIgEhAgwGC0EBIQUgBEF8RgRAQQAhBAwCCyAEQX1HIgIhBAwBCyACIAIgBEF9R2oiBE0hBUF/IAQgAiAESxshAgtBfyABKAIMIAEoAghrIgYgAmoiASABIAJJGyEBIAUgBCAGaiICIARPcSEFDAMLIAEoAsACIQICQCAHQgFRBEAgASgCrAEgASgCqAFrIQEgAkF8Rw0BQQEhBSABIQIMBAtBASEFIAJBfEYNAiACQX1HIgEhAgwDCyABIAJBfUdqIgIgAU8hBUF/IAIgASACSxshAQwCCwJAAkACQAJAIAdCAlIEQCAEQQFxRQ0EIAEoAsACIQIgB0IBUg0BIAEoAqwBIAEoAqgBayEDIAJBfEcNAkEBIQQgAyECDAMLQQEhAiAEQQFxRQ0HIAEoAgwgASgCCGshAQwGC0EBIQQgAkF8RgRAQQAhA0EAIQIMAgsgAkF9RyIDIQIMAQsgAyACQX1HaiICIANPIQRBfyACIAIgA0kbIQMLQX8gASgCDCABKAIIayIFIANqIgEgASADSRshASAEIAIgAiAFaiIDTXEhAgwFCyABKALAAiEDAkAgB0IBUQRAIAEoAqwBIAEoAqgBayEBIANBfEcNAUEBIQIMBAtBASECIANBfEYNBCADQX1HIQEMAwsgASADQX1HaiIDIAFPIQJBfyADIAEgA0sbIQEMBAtBACEBQQAhAgtBfyADQX1HIgMgAWoiBCABIARLGyEBIAUgAiACIANqIgNNcSECDAILIAEhAwwBC0EAIQFBACEDCyAAIAM2AgggACACNgIEIAAgATYCAAvGCAEBfyABKAIAIQIgASgCBCgCDCEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAAQQFrDjcBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3AAsgAkGAqsQAQQcgAREAAA8LIAJBh6rEAEEIIAERAAAPCyACQY+qxABBDCABEQAADwsgAkGbqsQAQQggAREAAA8LIAJBo6rEAEEHIAERAAAPCyACQaqqxABBDCABEQAADwsgAkG2qsQAQQ8gAREAAA8LIAJBxarEAEEOIAERAAAPCyACQdOqxABBDyABEQAADwsgAkHiqsQAQQ0gAREAAA8LIAJB76rEAEEOIAERAAAPCyACQf2qxABBDCABEQAADwsgAkGJq8QAQQ0gAREAAA8LIAJBlqvEAEESIAERAAAPCyACQairxABBDiABEQAADwsgAkG2q8QAQQ8gAREAAA8LIAJBxavEAEEUIAERAAAPCyACQdmrxABBDiABEQAADwsgAkHnq8QAQQ8gAREAAA8LIAJB9qvEAEEUIAERAAAPCyACQYqsxABBECABEQAADwsgAkGarMQAQQwgAREAAA8LIAJBpqzEAEENIAERAAAPCyACQbOsxABBEiABEQAADwsgAkHFrMQAQQwgAREAAA8LIAJB0azEAEENIAERAAAPCyACQd6sxABBEiABEQAADwsgAkHwrMQAQQwgAREAAA8LIAJB/KzEAEENIAERAAAPCyACQYmtxABBEiABEQAADwsgAkGbrcQAQQwgAREAAA8LIAJBp63EAEENIAERAAAPCyACQbStxABBEiABEQAADwsg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CDcCGCAAQQQ2AgAgACABKQMQNwMQIAAgASkDCDcDCAsgAkFAayQADwtBCBCnFAALQQEQpxQAC8YGAQp/IwBB0ABrIgMkACADQcgAaiACKAIAIABBQGsQ2gcgAygCTCEFIAMoAkggA0FAayACKAIAIAAQ2gcgAygCQCEEQQFGBEAgBCAFIAMoAkRJcSEECyADQThqIAIoAgAgAEHAAWoQ2gcgAygCPCEGIAMoAjghCSADQTBqIAIoAgAgAEGAAWoQ2gcgAygCMCEFIANBKGogAigCACAAQcABQYABIAlBAUYEfyAFIAYgAygCNElxBSAFC0EBcSIFG2oiBhDaByADKAIsIQcgAygCKCADQSBqIAIoAgAgACAEQQFxQQZ0aiIKENoHIABBgAFBwAEgBRtqIQkgACAEQX9zQQFxQQZ0aiEFIAMoAiAhBEEBRgRAIAQgByADKAIkSXEhBAsgA0EYaiACKAIAIAkQ2gcgAygCHCEHIAMoAhghCCADQRBqIAIoAgAgBRDaByADKAIQIQAgA0EIaiACKAIAIAkgBSAGIARBAXEiBBsgCEEBRgR/IAAgByADKAIUSXEFIAALQQFxIgcbIggQ2gcgAygCDCEAIAMoAgggAyACKAIAIAogBiAFIAcbIAQbIgsQ2gcgAygCACECQQFGBEAgAiAAIAMoAgRJcSECCyABIAYgCiAEGyIAKQI4NwI4IAEgACkCMDcCMCABIAApAig3AiggASAAKQIgNwIgIAEgACkCGDcCGCABIAApAhA3AhAgASAAKQIINwIIIAEgACkCADcCACABIAggCyACQQFxIgIbIgApAgA3AkAgASAAKQIINwJIIAEgACkCEDcCUCABIAApAhg3AlggASAAKQIgNwJgIAEgACkCKDcCaCABIAApAjA3AnAgASAAKQI4NwJ4IAEgCyAIIAIbIgApAgA3AoABIAEgACkCCDcCiAEgASAAKQIQNwKQASABIAApAhg3ApgBIAEgACkCIDcCoAEgASAAKQIoNwKoASABIAApAjA3ArABIAEgACkCODcCuAEgASAFIAkgBxsiACkCODcC+AEgASAAKQIwNwLwASABIAApAig3AugBIAEgACkCIDcC4AEgASAAKQIYNwLYASABIAApAhA3AtABIAEgACkCCDcCyAEgASAAKQIANwLAASADQdAAaiQAC/oUAhh/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KAIAIQUgCEEEaigCACALQQRqKAIAIAhBCGooAgAiBiAFIAUgBksbEI8TIgIgBiAFayACG0EASCEDIABB+ABBtAEgBBtqIgdBCGooAgAhBCAHIAkgCCADGyAHQQRqKAIAIAlBBGooAgAgBCAJQQhqKAIAIgIgAiAESxsQjxMiACAEIAJrIAAbQQBIIgQbIQogCyAIIAkgBBsgAxsiBUEIaigCACEGIApBBGooAgAgBUEEaigCACAKQQhqKAIAIgIgBiACIAZJGxCPEyEAIAEgCCALIAMbIgMoAjg2AjggASADKQIwNwIwIAEgAykCKDcCKCABIAMpAiA3AiAgASADKQIYNwIYIAEgAykCEDcCECABIAMpAgg3AgggASADKQIANwIAIAEgCiAFIAAgAiAGayAAG0EASCIAGyICKQIANwI8IAEgAikCCDcCRCABIAIpAhA3AkwgASACKQIYNwJUIAEgAikCIDcCXCABIAIpAig3AmQgASACKQIwNwJsIAEgAigCODYCdCABIAUgCiAAGyIAKQIANwJ4IAEgACgCODYCsAEgASAAKQIwNwKoASABIAApAig3AqABIAEgACkCIDcCmAEgASAAKQIYNwKQASABIAApAhA3AogBIAEgACkCCDcCgAEgASAJIAcgBBsiACkCADcCtAEgASAAKQIINwK8ASABIAApAhA3AsQBIAEgACkCGDcCzAEgASAAKQIgNwLUASABIAApAig3AtwBIAEgACgCODYC7AEgASAAKQIwNwLkAQubBgIGfwF+IwBBsAFrIgIkAAJAAkACQAJAAkACQAJAIAAoAgBFBEBBDBCQASIERQ0BIARBwYvGACgAADYACCAEQbmLxgApAAA3AAACQCAAKAIEIgNBf0YNACADRQ0AIAAoAggiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyADakkNAyAFQQBHIAYgA0EnaktxDQQgBxC8BQsgAEEMNgIMIAAgBDYCCCAAQX82AgQgAiAAKQMINwJAIAJBDDYCPCACQQA2AoABIAJCgICAgBA3AngCfwJAAkACQCABQf8BcUEBaw4CAQIACyACQfgAakEAQQpBAUEBELMRIAIoAnwiBCACKAKAASIBaiIDQbzgxgApAAA3AAAgA0HE4MYALwAAOwAIIAFBCmoMAgsgAkH4AGpBAEELQQFBARCzESACKAJ8IgQgAigCgAEiAWoiA0HG4MYAKQAANwAAIANBzeDGACgAADYAByABQQtqDAELIAJB+ABqQQBBDEEBQQEQsxEgAigCfCIEIAIoAoABIgFqIgNB0eDGACkAADcAACADQdngxgAoAAA2AAggAUEMagshASACKAJ4IQMgARCQASIGRQ0EIAEEQCAGIAQgAfwKAAALIAMEQCAEQQRrKAIAIgVBeHEhByAHQQRBCCAFQQNxIgUbIANqSQ0GIAVBAEcgByADQSdqS3ENByAEELwFCyACQYOAgIB4NgJYIAIgATYCUCACIAY2AkwgAiABNgJIIAJB+ABqIABBEGogAkE8aiACQcgAahCfBSACIAIpA6gBNwMwIAIgAikDoAE3AyggAiACKQOYATcDICACIAIpA5ABIgg3AxggAiACKQOIATcDECACIAIpA4ABNwMIIAinQX9HBEAgAkEIahD9CQtBACEADAcLIAJBCjYCeCACQfgAakEAQQAQxxMhAAwGC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQQEQpxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAkGwAWokACAAC50FAQl/AkACQAJAAkACQAJAIAJBAWsOAwECAwALIAEvAeIBIgpBFGwgBEEUbCIGayECIAEgBmoiAUEMaiEGIAFBBGohASADKAIQIQsgAygCDCEMIAMoAgghCCADKAIEIQ0gAygCACEJQX8hBwJAA0AgAkUNAQJAIAEoAgQiBSANSSAFIA1LayABKAIAIgUgCUkgBSAJS2sgBSAJRhsiBUH/AXENACAGQQRqKAIAIgUgDEkgBSAMS2sgBigCACIFIAhJIAUgCEtrIAUgCEYbIgVB/wFxDQAgBkEIaigCACIFIAtJIAUgC0trIQULIAFBFGohASACQRRrIQIgBkEUaiEGIAdBAWohByAFQQFGDQALIAVB/wFxRQ0EIAQgB2ohCgsgACADNgIIIABBADYCBCAAIAo2AgAPCyABLwHiASIKQRRsIARBFGwiBmshAiABIAZqIgFBDGohBiABQQRqIQEgAygCECELIAMoAgwhDCADKAIIIQggAygCBCENIAMoAgAhCUF/IQcCQANAIAJFDQECQCABKAIEIgUgDUkgBSANS2sgASgCACIFIAlJIAUgCUtrIAUgCUYbIgVB/wFxDQAgBkEEaigCACIFIAxJIAUgDEtrIAYoAgAiBSAISSAFIAhLayAFIAhGGyIFQf8BcQ0AIAZBCGooAgAiBSALSSAFIAtLayEFCyABQRRqIQEgAkEUayECIAZBFGohBiAHQQFqIQcgBUEBRg0ACyAFQf8BcUUNBCAEIAdqIQoLIAAgAzYCCCAAQQE2AgQgACAKNgIADwsgAEECNgIEIAAgAS8B4gE2AgAPCyAAQQM2AgQgACAENgIADwsgAEEDNgIEIAAgBCAHakEBajYCAA8LIABBAjYCBCAAIAQgB2o2AgAL1gUCB38DfiMAQYABayIEJAAgAbwiCEH///8DcSIHQYCAgARyIAhBAXRB/v//B3EgCEEXdkH/AXEiCRsiCq0iC0IBgyEMQQIhBQJAAkACQAJAAkAgB0VBBEEDQQIgBxsgCEGAgID8B3EiBxsgB0GAgID8B0YbQQFrDgQAAQIDBAtBAyEFDAMLQQQhBQwCCyAJQZYBayEGIAxQIQVCASENDAELQoCAgBAgC0IBhiAKQYCAgARGIgYbIQtCAkIBIAYbIQ0gDFAhBUHofkHpfiAGGyAJaiEGCyAEIAY7AXggBCANNwNwIARCATcDaCAEIAs3A2AgBCAFOgB6An8CQAJAAkACQAJAIAVB/wFxQQFNBEAgA0H//wNxIQNBgOLCAEEBIAhBAEgiBRshBkGA4sIAQYHiwgAgBRshBSAIQR92IQggBEEgaiAEQeAAaiAEQQ9qELMDIAQoAiBFDQEgBCAEKAIoNgJYIAQgBCkCIDcDUAwCCyAFQQJrQf8BcSIGRQ0CQQEhBUGA4sIAQYHiwgAgCEEASCIHG0GA4sIAQQEgBxsgAhshB0EBIAhBH3YgAhshAiAGQQJHDQMgBEECOwEgIANB//8DcQ0EIARBATYCKCAEQYjiwgA2AiQgBEEgagwFCyAEQdAAaiAEQeAAaiAEQQ9qEFoLIAUgBiACGyEHQQEgCCACGyECIAQgBCgCUCAEKAJUIAQvAVggAyAEQSBqELkNIAQoAgQhBSAEKAIADAMLIARBAzYCKCAEQYLiwgA2AiQgBEECOwEgQQEhB0EAIQJBASEFIARBIGoMAgsgBEEDNgIoIARBheLCADYCJCAEQQI7ASAgBEEgagwBCyAEQQE2AjAgBEEAOwEsQQIhBSAEQQI2AiggBEGJ4sIANgIkIARBIGoLIQYgBCAFNgJcIAQgBjYCWCAEIAI2AlQgBCAHNgJQIAAgBEHQAGoQjQkgBEGAAWokAAusBQIKfwF+IwBBEGsiCCQAAn9BASABKAIAIgVBqbLIAEEBIAEoAgQiCigCDCIGEQAADQAaIAAoAgQiBwRAIAAoAgAiCSAHaiELIAhBB2qtQoCAgIDALoQhDCAJIQEDQAJ/IAEiAywAACIAQQBOBEAgAEH/AXEhACADQQFqDAELIAMtAAFBP3EhAiAAQR9xIQEgAEFfTQRAIAFBBnQgAnIhACADQQJqDAELIAMtAAJBP3EgAkEGdHIhAiAAQXBJBEAgAiABQQx0ciEAIANBA2oMAQsgAUESdEGAgPAAcSADLQADQT9xIAJBBnRyciEAIANBBGoLIQECQAJAAn8CQAJAAkACQAJAAkACQAJAAkAgAEEJaw4aAgMBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQQACyAAQdwARg0FCyAAQSBJDQUgAEH/AEYNBSAAQYABTw0GQQEMBwsgBUHDssgAQQIgBhEAAEUNCEEBDAsLIAVBv7LIAEECIAYRAABFDQdBAQwKCyAFQbeyyABBAiAGEQAARQ0GQQEMCQsgBUHBssgAQQIgBhEAAEUNBUEBDAgLIAVBubLIAEECIAYRAABFDQRBAQwHCyAIIAA6AAcgCCAMNwMIIAUgCkG4pcgAIAhBCGoQsQlFDQNBAQwGC0ECIABBgBBJDQAaQQNBBCAAQYCABEkbCyIAIAAgBGoiAksNAAJAIARFDQAgBCAHTwRAIAQgB0cNAgwBCyAEIAlqLAAAQb9/TA0BCwJAIAJFDQAgAiAHTwRAIAIgB0YNAQwCCyACIAlqLAAAQUBIDQELIAUgBCAJaiAAIAYRAABFDQFBAQwECyAJIAcgBCACQailyAAQ/RQACyAEIANrIAFqIQQgASALRw0ACwsgBUGpssgAQQEgBhEAAAsgCEEQaiQAC4AGAgJ/AX4jAEEgayIHJAAgByAENgIAIAcgBjYCECAEIAZGBEBBASEIAkAgACgCACABIAIgACgCBCgCDBEAAA0AIAMoAgQhASADKAIAIQIgAC0ACkGAAXEEQCAAKAIAQZrjwgBBAyAAKAIEKAIMEQAADQEgACkCACEJIAdBAToADyAHIAk3AgAgB0Gg68IANgIUIAcgACkCCDcCGCAHIAdBD2o2AgggByAHNgIQIAcgAiABEP0IDQEgB0GmssgAQQIQ/QgNASAFKAIAIAdBEGogBSgCBCgCDBEBAEUEQCAHKAIQQaSyyABBAiAHKAIUKAIMEQAAIQgMAgsMAQsgACgCAEGX48IAQQMgACgCBCgCDBEAAA0AIAAoAgAgAiABIAAoAgQoAgwRAAANACAAKAIAQaayyABBAiAAKAIEKAIMEQAADQAgBSgCACAAIAUoAgQoAgwRAQAhCAsgBEEBayECIANBDGohBCAFQQxqIQYDQAJ/AkAgCEEBcQ0AIAZBBGshASAEQQRrKAIAIQMgBCgCACEFIAAtAApBgAFxRQRAIAAoAgBBiLPJAEECIAAoAgQoAgwRAAANASAAKAIAIAMgBSAAKAIEKAIMEQAADQFBASAAKAIAQaayyABBAiAAKAIEKAIMEQAADQIaIAEoAgAgACAGKAIAKAIMEQEADAILIAApAgAhCSAHQQE6AA8gByAJNwIAIAdBoOvCADYCFCAHIAApAgg3AhggByAHQQ9qNgIIIAcgBzYCECAHIAMgBRD9CA0AIAdBprLIAEECEP0IDQAgASgCACAHQRBqIAYoAgAoAgwRAQANACAHKAIQQaSyyABBAiAHKAIUKAIMEQAADAELQQELIQggBEEIaiEEIAZBCGohBiACQQFrIgINAAsCf0EBIAgNABogAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAAAwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAACyAHQSBqJAAPCyAHIAdBEGpBuOzCABDEEwALxQUBD38jAEHwAWsiBCQAIAQgAzYCBCAEQQA2AgACQAJAIAIoAogBQX9GIgwNACACKAJ4IglFDQAgAigCkAEiCEHIAWwhDSACKAJ0IgUgCUEGdCIDaiEOIANBQGpBBnZBAWohDyACKAKMASEQAkADQCAFKAIAQRtHDQEgBSgCIA0BIAhFBEBBACEIQQAhBwwCCyAFKAIIIQogDSEGIBAhAwJAIAUoAgQiC0EBcQRAIAUoAhAhESAFKAIMIRIDQAJAIAMpAwBCAlINACADQQhqKAIAIAtHDQAgA0EMaigCACAKRw0AIANBEGooAgAgEkcNACADQRRqKAIAIBFGDQMLIANByAFqIQMgBkHIAWsiBg0ACwwDCwNAAkAgAykDAEICUg0AIANBCGooAgAgC0cNACADQQxqKAIAIApGDQILIANByAFqIQMgBkHIAWsiBg0ACwwCCyAHQQFqIQcgDiAFQUBrIgVHDQALIA8hBwsgByAJIAggCCAJSxtGDQAgACABQZAC/AoAAAwBCwJAIAxFBEAgBCACKAKMASIDNgIIIAQgAyACKAKQAUHIAWxqNgIMIAQgBDYCECAEQSBqIgMgBEEIahCoCAJAIAQoAiBBf0cEQEGAAxCQASICRQ0DIAIgA0HgAPwKAAAgBEEBNgIcIAQgAjYCGCAEQQQ2AhQgBCAEKAIQNgKIASAEIAQpAgg3A4ABQeAAIQZBASEDA0AgBEGQAWogBEGAAWoQqAggBCgCkAFBf0YNAiAEKAIUIANGBEAgBEEUaiADQQFBCEHgABCzESAEKAIYIQILIAIgBmogBEGQAWpB4AD8CgAAIAQgA0EBaiIDNgIcIAZB4ABqIQYMAAsACyAEQQA2AhwgBEKAgICAgAE3AhQLIAAgASAEQRRqEO0NDAILIAAgAUGQAvwKAAAMAQtBCBCnFAALIARB8AFqJAALigYCBH8CfiMAQYAEayIEJAAgASACQRhsaiEFIAQCfkHQ8MkALQAABEBByPDJACkDACEIQcDwyQApAwAMAQsgBEHIAmoQuxFB0PDJAEEBOgAAQcjwyQAgBCkD0AIiCDcDACAEKQPIAgsiCTcDGEEAIQJBwPDJACAJQgF8NwMAIAQgAzYCQCAEIAU2AjwgBCABNgI4IARBADYCMCAEQQA2AiggBCAINwMgIARBkKnJACkDADcDCCAEQZipyQApAwA3AxAgBEHYAGogBEEIahCVBAJAAkACfyAEKALIAUF+RwRAIAQoAjAhBSAEKAIoIQMCQAJAIAQoAjgiAQRAIARByAJqIQIgAw0CIAUNAiAEKAI8IAFGDQEMAgsgBEHIAmohAiADIAVyDQELIARBiAJqIQILIAJBADYCAEHABRCQASIDRQ0CIAMgBEHYAGpBsAH8CgAAIARBATYCVCAEIAM2AlAgBEEENgJMIAQgBCkDQDcDwAIgBCAEKQM4NwO4AiAEIAQpAzA3A7ACIAQgBCkDKDcDqAIgBCAEKQMgNwOgAiAEIAQpAxg3A5gCIAQgBCkDEDcDkAIgBCAEKQMINwOIAkGwASEBQQEhAgNAIARByAJqIARBiAJqEJUEIAQoArgDQX5HBEAgBCgCTCACRgRAIAQoArACIQYgBCgCqAIhBwJAAkAgBCgCuAIiBQRAIARB/ANqIQMgBw0CIAYNAiAEKAK8AiAFRg0BDAILIARB/ANqIQMgBiAHcg0BCyAEQfgDaiEDCyADQQA2AgAgBEHMAGogAkEBQQhBsAEQsxEgBCgCUCEDCyABIANqIARByAJqQbAB/AoAACAEIAJBAWoiAjYCVCABQbABaiEBDAELCyAEQYgCahCdCCAEKAJMDAELIARBCGoQnQhBCCEDQQALIQFBEBCQASIFRQ0BIAUgATYCCCAFIAM2AgQgBSADNgIAIAUgAyACQbABbGo2AgwgAEHsjckANgIEIAAgBTYCACAEQYAEaiQADwtBCBCnFAALQbjwyQBBAToAAAAL8wMBCH8jAEEQayIHJAACQAJAAkACQAJAIAIEQAJAIAFBCGooAgAiBCACQQxsIghBDGsiA0EMbkEBdGoiBiAETwRAIAFBDGohBSABQQRqKAIAIQoDQCADRQ0CIAVBCGogA0EMayEDIAVBDGohBSgCACIJIAZqIgYgCU8NAAsLQdiryQBBNUGQrMkAEMATAAsgBkEASA0BAkAgBkUEQEEBIQMMAQsgBhCQASIDRQ0DC0EAIQUgB0EANgIMIAcgAzYCCCAHIAY2AgQCQAJAIAQgBksEQCAHQQRqQQAgBEEBQQEQsxEgBygCCCEDIAcoAgwhBQwBCyAERQ0BCyAERQ0AIAMgBWogCiAE/AoAAAsgBiAEIAVqIgRrIQUgAyAEaiEDIAJBAUYNAyAIQQxrIQIgAUEUaiEBAkADQCAFQQJJDQcgAUEEaygCACEIIAEoAgAhBCADQYizyQAvAAA7AAAgBUECayIFIARJDQEgA0ECaiEDIAQEQCADIAggBPwKAAALIAFBDGohASAFIARrIQUgAyAEaiEDIAJBDGsiAg0ACwwECwwFCyAAQQA2AgggAEKAgICAEDcCAAwDCxCeFQALQQEQpxQACyAAIAcpAgQ3AgAgACAGIAVrNgIICyAHQRBqJAAPC0HEsMkAQRNByKvJABC/EwALvwUBDX8jAEGQAWsiAiQAQX8hDiABKAJAIQUgASgCPCEDAkACQAJAAkACQCABKAI4QX9GBEAgAyENDAELIAVFBEBBACEOQQEhDQwBCyAFEJABIg1FDQEgBQRAIA0gAyAF/AoAAAsgBSEOC0F+IQcgASgCACIDQX5HBEACfyADQX9GBEACQCABKAIMIghFBEBBASEHDAELIAEoAgghAyAIEJABIgdFDQUgCEUNACAHIAMgCPwKAAALAkAgASgCGCIGRQRAQQghCwwBCyABKAIUIQkgBkEFdCIDEJABIgtFDQYgBiEKA0AgAyAERg0BIAJBKGogBCAJahCQAyAEIAtqIgwgAikDQDcDGCAMIAIpAzg3AxAgDCACKQMwNwMIIAwgAikDKDcDACAEQSBqIQQgCkEBayIKDQALCyACIAY2AkAgAiALNgI8IAIgBjYCOCACIAg2AjQgAiAHNgIwIAIgCDYCLCACIAEvARw7AURBfwwBCyACQShqIAEQkAMgAigCKAshByACIAIoAkQ2AiAgAiACKQI8NwMYIAIgAikCNDcDECACIAIpAiw3AwgLAkAgASgCKCIJRQRAQQQhCgwBCyABKAIkIQsgCUHkAGwiAxCQASIKRQ0EQQAhBCAJIQYDQCADIARGDQEgAkEoaiIMIAQgC2oQ4QYgBCAKaiAMQeQA/AoAACAEQeQAaiEEIAZBAWsiBg0ACwsgAS0ARCEDIABBLGogASgCMCABKAI0EL0PIAAgBTYCQCAAIA02AjwgACAONgI4IAAgBzYCACAAIAM6AEQgACAJNgIoIAAgCjYCJCAAIAk2AiAgACACKQMINwIEIAAgAikDEDcCDCAAIAIpAxg3AhQgACACKAIgNgIcIAAgAS0ARToARSACQZABaiQADwtBARCnFAALQQEQpxQAC0EIEKcUAAtBBBCnFAALngQBB38CQAJAIAAoAgAiBARAIAAoAgQiAkEEaygCACIDQXhxIQEgASAEQQF0IgRBBEEIIANBA3EiAxtqSQ0BIANBAEcgASAEQSdqS3ENAiACELwFCyAAKAIQIQQCQCAAKAIUIgMEQCAEIQEDQAJAAkAgASgCAA4CAAABCyABQQRqKAIAIgJFDQAgAUEIaigCACIHQQRrKAIAIgVBeHEhBiAGQQRBCCAFQQNxIgUbIAJqSQ0DIAVBAEcgBiACQSdqS3ENBSAHELwFCyABQRBqIQEgA0EBayIDDQALCwJAIAAoAgwiAgRAIARBBGsoAgAiA0F4cSEBIAEgAkEEdCICQQRBCCADQQNxIgMbckkNASADQQBHIAEgAkEnaktxDQQgBBC8BQsgACgCHCEEAkAgACgCICIDBEAgBCEBA0ACQAJAIAEoAgAOAgAAAQsgAUEEaigCACICRQ0AIAFBCGooAgAiB0EEaygCACIFQXhxIQYgBkEEQQggBUEDcSIFGyACakkNBiAFQQBHIAYgAkEnaktxDQcgBxC8BQsgAUEQaiEBIANBAWsiAw0ACwsgACgCGCIBBEAgBEEEaygCACICQXhxIQAgACABQQR0IgFBBEEIIAJBA3EiAhtySQ0EIAJBAEcgACABQSdqS3ENASAEELwFCw8LDAMLDAELDAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC+sEAgx/AX4gACgCiAFBf0YEQEEADwsCfyABBEAgACgCeEUgACgClAEiAUGAA2ooAgAiAAR/IAFB/AJqKAIAIQIgAEEDcSEBAkAgAEEETwRAIABBfHEhBiACIQADQCAAQQhqKQMAQgAgACgCABsgDoQgAEGYAWopAwBCACAAQZABaigCABuEIABBqAJqKQMAQgAgAEGgAmooAgAbhCAAQbgDaikDAEIAIABBsANqKAIAG4QhDiAAQcAEaiEAIAYgBEEEaiIERw0ACyABRQ0BCyACIARBkAFsaiEAA0AgAEEIaikDAEIAIAAoAgAbIA6EIQ4gAEGQAWohACABQQFrIgENAAsLIA5CgICAgAGDQhyIpwVBAAtxDAELQQEgACgCeCIHRQ0AGiAAKAKQASIFQcgBbCEEIAAoAnQiAyAHQQZ0IgFqIQogAUFAakEGdkEBaiELIAAoAowBIQYCQANAIAMoAgBBG0cNASADKAIgDQEgBUUEQEEAIQVBACECDAILIAMoAgghCCAEIQEgBiEAAkAgAygCBCIJQQFxBEAgAygCECEMIAMoAgwhDQNAAkAgACkDAEICUg0AIABBCGooAgAgCUcNACAAQQxqKAIAIAhHDQAgAEEQaigCACANRw0AIABBFGooAgAgDEYNAwsgAEHIAWohACABQcgBayIBDQALDAMLA0ACQCAAKQMAQgJSDQAgAEEIaigCACAJRw0AIABBDGooAgAgCEYNAgsgAEHIAWohACABQcgBayIBDQALDAILIAJBAWohAiAKIANBQGsiA0cNAAsgCyECCyACIAcgBSAFIAdLG0YLQQFzC4YGAgh/AX4jAEEwayICJABBASEHIAEoAgBBo7LIAEEBIAEoAgQoAgwRAAAhAyACQQE6ABMgAkEAOwARIAIgAzoAECACIAE2AgwgACgCDCIIBEAgAkETaiEJIAAoAgAiAUEIaiEAIAEpAwBCf4VCgIGChIiQoMCAf4MhCgNAIAYhBCAKUARAA0AgACIGQQhqIQAgAUGAA2shASAGKQMAQoCBgoSIkKDAgH+DIgpCgIGChIiQoMCAf1ENAAsgCkKAgYKEiJCgwIB/hSEKC0EBIQYgA0EBcSEDAn9BASADDQAaAkACQAJAAkACQCACLQASRQRAIAEgCnqnQQN2QVBsaiEFIAIoAgwiAy0ACkGAAXFFBEAgBEEBcQ0CDAMLIARBAXFFBEBBASADKAIAQaCyyABBASADKAIEKAIMEQAADQcaCyACQQE6ABMgAiAJNgIoIAIgAykCADcCICAFQSxrKAIAIAVBKGsoAgAgAkEgaiIEQaDrwgAQvwYNBCAEQaayyABBAhD9CA0EDAMLQZ/jwgBBjQFB6OPCABC/EwALQQEgAygCAEGIs8kAQQIgAygCBCgCDBEAAA0EGgtBASAFQSxrKAIAIAVBKGsoAgAgAygCACADKAIEEL8GDQMaQQEgAygCAEGmssgAQQIgAygCBCgCDBEAAA0DGgsgBUEgayEDIAJBADoAECACQQE6ABIgAigCDCIELQAKQYABcUUEQEEBIAMgBBDXAQ0DGgwCCyACIAk2AhwgAkGg68IANgIkIAIgBCkCADcCFCACIAQpAgg3AiggAiACQRRqNgIgIAMgAkEgahDXAQ0AIAIoAiBBpLLIAEECIAIoAiQoAgwRAABFDQELQQEMAQsgAkEAOgASQQALIQMgCkIBfSAKgyEKIAJBAToAESACIAM6ABAgCEEBayIIDQALCwJAIANFBEAgAi0AEkEBRg0BIAIoAgwiACgCAEGhssgAQQEgAEEEaigCACgCDBEAACEHCyACQTBqJAAgBw8LQfjjwgBB3QBBqOTCABC/EwALhQYCBX8BfiMAQTBrIgIkACABKAIYIQYgAiABKQIQNwMQIAIgASkCCDcDCCACIAEpAgAiBzcDAAJAAn8CQAJAAkACQAJAAkACQAJAAkACQCAHp0EBaw4CAgABCyACQQRyEK0QDQIgAEEANgIIIABCgICAgIABNwIADAgLAkACQAJAIAIoAgQiAUEIaiIEIAIoAggiAxD3EC0AWEECRwRAIAQgAxD3EC0AWA0BIABBADYCCCAAQoCAgICAATcCAAwGCyABKAIcIgQgA0sEQCABKAIYIANB8ABsaiIDKAJoIQQgAygCZCEDIAEgASgCACIFQQFqNgIAIAVBAEgNCiACIAQ2AiQgAiADNgIgIAIgATYCHCACIAY2AiggAkEBOwEsIAAgAkEcahD3AiABIAEoAgAiAEEBazYCACAAQQFGDQIMAwsgAyAEQeT+yAAQhRMMCQsgASgCHCIEIANNDQUgASgCGCADQfAAbGoiAygCaCEEIAMoAmQhAyABIAEoAgAiBUEBajYCACAFQQBIDQggAiAENgIkIAIgAzYCICACIAE2AhxByAAQkAEiA0UNBiADIAYgAkEcahDyDyAAQQE2AgggACADNgIEIABBATYCACABIAEoAgAiAEEBazYCACAAQQFGBEAgARAwCyABIAEoAgAiAEEBazYCACAAQQFHDQELIAEQMAsgAigCAEEBaw4CBQcJCyAAQQA2AgggAEKAgICAgAE3AgAMBAsgAEEANgIIIABCgICAgIABNwIAIAIoAhQiACgCACEBIAAgAUEBazYCACABQQFGBEAgABAwCwJAIAIoAgBBAWsOAgQIAAsgAigCBCEBCyABIAEoAgAiAEEBazYCACAAQQFHDQYgAkEEcgwFCyADIARB5P7IABCFEwALQbjwyQBBAToAAAALIAIoAhQiASgCACEAIAEgAEEBazYCACAAQQFHDQMgAkEUagwCCwALIAIoAhQiASgCACEAIAEgAEEBazYCACAAQQFHDQEgAkEUagsoAgAQMAsgAkEwaiQAC8AFAgV/A34jAEGQAmsiBCQAQgEhCQJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCEEEBaw4DAQEAAgsgAikDGCIKQj+HIQkgCSAKhSAJfSEJCyACQQAQ6woNACACQQAQ6woNASAJQv////8PgyEKIAI1AgghCyACKQMAIQkMBAsgAkEAEOsKRQRAIAI1AgghCyACKQMAIQlC/////w8hCiADp0EBcQ0EDAULQv///////////wAhCSADp0EBcUUNAQsgAi0AoQFFDQELIAAgAUGQAvwKAAAMAwsCQAJAIAEoAiAiAkF9Rg0AIAFBMGoQ/wIgAkEATA0AIAEoAiQi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SxsQjxMiAiAGIAVrIAIbQQBIIQMgAEHwAEGoASAEG2oiB0EIaigCACEEIAcgCSAIIAMbIAdBBGooAgAgCUEEaigCACAEIAlBCGooAgAiAiACIARLGxCPEyIAIAQgAmsgABtBAEgiBBshCiALIAggCSAEGyADGyIFQQhqKAIAIQYgCkEEaigCACAFQQRqKAIAIApBCGooAgAiAiAGIAIgBkkbEI8TIQAgASAIIAsgAxsiAykDMDcDMCABIAMpAyg3AyggASADKQMgNwMgIAEgAykDGDcDGCABIAMpAxA3AxAgASADKQMINwMIIAEgAykDADcDACABIAogBSAAIAIgBmsgABtBAEgiABsiAikDADcDOCABIAIpAwg3A0AgASACKQMQNwNIIAEgAikDGDcDUCABIAIpAyA3A1ggASACKQMoNwNgIAEgAikDMDcDaCABIAUgCiAAGyIAKQMwNwOgASABIAApAyg3A5gBIAEgACkDIDcDkAEgASAAKQMYNwOIASABIAApAxA3A4ABIAEgACkDCDcDeCABIAApAwA3A3AgASAJIAcgBBsiACkDADcDqAEgASAAKQMINwOwASABIAApAxA3A7gBIAEgACkDGDcDwAEgASAAKQMgNwPIASABIAApAyg3A9ABIAEgACkDMDcD2AEL1wUCBn8CfiMAQUBqIgMkACABQQ1qIQQgAS0ADCEHIAEoAgghCCABKAIEIQYgASgCACEFAkACQAJAAkACQAJAIAEpAxAiCiACKQMQIglVIAkgClVrQf8BcQ4CAQIACyADIAg2AiAgAyAGNgIcIAMgBTYCGCADIAo3AyggAyAELwAAOwAlIAMgBC0AAjoAJyADIAc6ACQCQCAHQQFGBEAgAyAJNwMQIANBAToADCADQQA2AgggA0KAgICAwAA3AwAgBUUNASAGQQRrKAIAIgRBeHEhASABIAVBAnQiBUEEQQggBEEDcSIEG2pJDQUgBEEARyABIAVBJ2pLcQ0GIAYQvAUgACADIAIQlAgMBAsCQAJAAkAgCSAKVSAJIApTa0H/AXEOAgECAAsgA0EwaiIBIAogCX0QiAIgA0EYaiABEIcJIAMgCTcDECADIAMpAxg3AwAgAyADKQMgNwMIIAAgAyACEJQIDAULIAMgAykDKDcDECADIAMpAyA3AwggAyADKQMYNwMAIAAgAyACEJQI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eEcNCCABKAIUIgEgAigCJCIETw0JIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIAMgASgCGEEIaiACENAQIAMoAgQhASADKAIACzYCBCAAQX82AgAgACABNgIIDAMLIAEoAgwhAiAAAn8gASgCCEEBRgRAIAEoAhgiBUGgAmooAgAiBCACTQ0JIAEoAhAiBCAFQZwCaigCACACQSRsaiICQSBqKAIAIgVPDQogAkEcaigCACAEQdQAbGoiAigCAEGAgICAeEcNCyABKAIUIgEgAigCJCIETw0MIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIANBCGogASgCGEEIaiACENAQIAMoAgwhASADKAIICzYCBCAAQX82AgAgACABNgIIDAILIANBEGogASgCqAFBCGogASgCrAEQ0RAgACADKQMQNwIEIABBfzYCAAwBCyADQRhqIAEoAlhBCGogASgCXBDRECADIAMpAxg3AiAgAyADQSBqrUKAgICA0AGENwMoIABB7IHAACADQShqELgMCyADQTBqJAAPCyACIARBlL7EABCFEwALIAQgBUGUvsQAEIUTAAtBlL7EABCdFQALIAEgBEGkvsQAEIUTAAsgAiAEQZS+xAAQhRMACyAEIAVBlL7EABCFEwALQZS+xAAQnRUACyABIARBpL7EABCFEwALyAUBBn8jAEGgAmsiAiQAIAEoAhQhBCABKAIQIgUoAgAhAyAFIANBAWo2AgACQAJAIANBAE4EQCACIAU2AoABIAIgASkCCDcDeCACIAEpAgA3A3AgAiAEIAJB8ABqEOwMAkBB5AAQkAEiAwRAAkACQAJAAkACQEEDIAIoAgAiBEECayAEQQFNG0EBaw4DAQIDAAsgAkHwAGogAkHkAPwKAAAMAwsgAkH0AGogAkEEahCgByACQQM2AnAMAgtB5AAQkAEiBEUNAyACKAIEIAQQuA8gAkEENgJwIAIgBDYCdAwBCyACQfAAaiACEOQFCyADIAJB8ABqIgRB5AD8CgAAIAJBATYCbCACIAM2AmggAkEBNgJkIAEtABgiBkUNAyAEIAJB5AD8CgAAQeQAEJABIgNFDQQgAyAEQeQA/AoAACACQeQAahCYEiACKAJoIgQgAzYCaCAEQQQ2AmQgAkECNgJsDAMLDAMLDAILAAsgAiACKAJsNgKYASACIAIp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AQtByABrIQQgAkGIAWohAQNAIAQEQCAAKAIAIgMoAggiAiADKAIARgRAIAMgAkEBQQFBARCzESADKAIIIQILIAMgAkEBajYCCCADKAIEIAJqQSw6AAAgACgCACABQQRrKAIAIAEoAgAQngcgACgCACIDKAIIIgIgAygCAEYEQCADIAJBAUEBQQEQsxEgAygCCCECCyADIAJBAWo2AgggAygCBCACakE6OgAAAkACQAJAAkACQAJAIAFBQGooAgBBAWsOBAECAwQACyABQThrIAAQjgEMBAsgACABQThrEMEIDAMLIAAgAUE8axCKCwwCCyABQThrIAAQ7QMMAQsgACABQThrEMEICyAEQcgAayEEIAFByABqIQEMAQsLIAAoAgAiASgCCCIAIAEoAgBGBEAgASAAQQFBAUEBELMRIAEoAgghAAsgASAAQQFqNgIIIAEoAgQgAGpB/QA6AAAL/wQBB38jAEEwayIEJABBASECAkACQAJAAkAgASgCAEEBRgRAIAEoAgQiAyABKAIIIgVPDQMgASADQQFqIgI2AgQgASgCFCEGIAQgASgCiAE2AhggBCABKQKAATcDECACIAVPDQIgASADQQJqNgIEDAELIAEoAhQhBiAEIAEoAogBNgIYIAQgASkCgAE3AxALIAFBgAFqIQIgASABLQCQASIFQQFHOgCQASAEIAIoAgg2AiggBCACKQIANwMgIAEoAjghAiABKAJQIgMgASgCSEYEQCABQcgAahCWEgsgASADQQFqNgJQIAEoAkwgA0EDdGoiAyACNgIEIAMgAjYCACAEQQhqIAEQrgsgBCgCCCAEKAIMIgEgBCgCKDYCiAEgASAEKQMgNwKAASABIAU6AJABIAFBMGoQhgpBAUcNACABKAKEASEDIAEoAoABIQUCQCABKAKIASICRQ0AIAIgA08EQCACIANGDQEMBAsgAiAFaiwAAEFASA0DCyACIANGDQBBASEDAkAgAiAFaiIGLAAAIgVBAE4NACAGLQABQT9xIQcgBUEfcSEIAn8gCEEGdCAHciAFQWBJDQAaIAYtAAJBP3EgB0EGdHIhByAHIAhBDHRyIAVBcEkNABogCEESdEGAgPAAcSAGLQADQT9xIAdBBnRycgsiBkGAAUkNAEECIQMgBkGAEEkNAEEDQQQgBkGAgARJGyEDCyABIAIgA2o2AogB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ahC2Cg0DIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAwsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEADAILQQEhACABKAIAIgNBmZLJAEEIIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgBCABEI8GRQ0BDAMLIANBnePCAEECIAURAAANAiACQQE6AAwgAiAGNgIYIAIgAzYCFCACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEMajYCHCACIAJBFGoiAzYCICAEIAJBIGoQjwYNAiADQaSyyABBAhD9CA0CCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0GnkMkAQQsgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAEIAEQ/QtFDQEMAgsgA0Gd48IAQQIgBREAAA0BIAJBAToADCACIAY2AhggAiADNgIUIAJBoOvCADYCJCACIAEpAgg3AiggAiACQQxqNgIcIAIgAkEUajYCICAEIAJBIGoQ/QsNASACKAIgQaSyyABBAiACKAIkKAIMEQAADQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEwaiQAIAALswUCC38BfiMAQfABayICJAACQCABKAIEIgMgASgCDCIKRgRAQQIhAwwBCyABKAIQIQQgAkGgAWoiB61CgICAgPAghCENIAJB4ABqIgVBBHIhCCAFQTBqIQsgB0EYaiEFIAdBBHIhCQJAA0AgASADQcgAaiIHNgIEIANBBGohBgJAIAMoAgAiDEECRgRAIAIgBigCEDYCcCACIAYpAgg3A2ggAiAGKQIANwNgDAELIAIgDDYCoAEgCSAGKQIANwIAIAkgBikCCDcCCCAJIAYoAhA2AhAgBSADQRhqKQMANwMAIAUgA0EgaikDADcDCCAFIANBKGopAwA3AxAgBSADQTBqKQMANwMYIAUgA0E4aikDADcDICAFIANBQGspAwA3AyggAiANNwPoASALQeTxwQAgAkHoAWoQuAwgAkEAOgCcASACQX82AnAgAkGgAWoQrgcgAigCkAEiA0F/Rg0AIAIgAikCdDcDICACIAIpAnw3AyggAiACKQKEATcDMCACIAIoAowBNgI4IAIgAikC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BEGzxcEAIAJBCGoQsQkMDgsgAiAAKAIENgIAIAIgAq1CgICAgNADhDcDCCABKAIAIAEoAgRB1sXBACACQQhqELEJDA0LIAIgACkCBDcCACACIAKtQoCAgIDgA4Q3AwggASgCACABKAIEQaSMwAAgAkEIahCxCQwMCyABKAIAQeasyABBCiABKAIEKAIMEQAADAsLIAEoAgBB8KzIAEEKIAEoAgQoAgwRAAAMCgsgASgCAEH6rMgAQQwgASgCBCgCDBEAAAwJCyABKAIAQYatyABBDiABKAIEKAIMEQAADAgLIAEoAgBBlK3IAEEIIAEoAgQoAgwRAAAMBwsgASgCAEGcrcgAQQMgASgCBCgCDBEAAAwGCyABKAIAQdesyQBBBCABKAIEKAIMEQAADAULIAEoAgBBn63IAEEMIAEoAgQoAgwRAAAMBAsgASgCAEGrrcgAQQ8gASgCBCgCDBEAAAwDCyABKAIAQbqtyABBDSABKAIEKAIMEQAADAILIAEoAgBBx63IAEEOIAEoAgQoAgwRAAAMAQsgASgCACAAKAIEIAAoAgggASgCBCgCDBEAAAsgAkEQaiQAC4AFAQh/IwBB0AFrIgMkACADQf8BOgCoASADQQA2AmAgA0EANgJYIANBADYCUCADQQA2AkggA0EANgJAIANBADYCOCADQQA2AjAgA0EANgIoIANBADYCICADQQA2AhggA0EANgIQIANBADYCmAEgA0EANgKQASADQQA2AogBIANBADYCgAEgA0EANgJ4IANBADYCcCADQQA2AmggA0EANgKgASADQgA3AwAgA0EAOgDEASADQQA2AsABIANCi4CAgMAANwK4ASADQYq4xQA2ArQBIANByAFqIAMgASACIANBtAFqEDcgAygCzAEhASADLQDMASECAkAgAUUgAygCyAEiBEEAR3FFBEAgAEEFQX8gARsgAiAEGzoAAUEBIQIMAQtBASECAkACQAJAAkAgAygCeEEBRgRAIAMoAnwiB0ECTwRAIABBADoAAQwGCyADKAKAAUEBRw0BIAMoAoQBIghBDE8EQCAAQQA6AAEMBgsgAygCiAFBAUcNAiADKAKMASIJQTxPBEAgAEEAOgABDAYLQQAhASADKAKQASIKRQ0EQTshASADKAKUASIEQTtLDQMgBCEBDAQLIABBAjoAAQwECyAAQQI6AAEM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g4CAgHghBgwCCyADQSBqIARBBGooAgAgBEEIaigCABD3CEGEgICAeCEGDAELIANBMGogBBDlBCADIAMpAzg3AyggAyADKQMwNwMgIAMgCCkCADcDACADIAgpAgg3AwggAyAIKQIQNwMQIAMgCCgCGDYCGCADKAJAIQYLIAcgCWoiBSADKQMoNwMIIAUgAykDIDcDACAFQRBqIAY2AgAgBUEUaiADKQMANwIAIAVBHGogAykDCDcCACAFQSRqIAMpAxA3AgAgBUEsaiADKAIYNgIAIAdBMGoiByAKRw0ACwwCC0EIEKcUAAtBARCnFAALIAILIQYgACACNgIIIAAgCTYCBCAAIAY2AgAgA0HgAGokAAuTBQEHfyMAQSBrIgQkAAJAAkACQCABKAIEIgIgASgCACIDKAIcIgVJBEAgAygCGCACQfAAbGoiBigCaCEFIAYoAmQhBiADIAMoAgAiB0EBajYCACAHQQBIDQEgASgCCCEIIAMgAygCACIBQQFqNgIAIAQgBTYCDCAEIAY2AgggBCADNgIEIAFBAEgNASADIAMoAgAiAUEBajYCACABQQBIDQEgAyADKAIAIgFBAWo2AgAgAUEASA0BIAMgAygCACIBQQFqNgIAIAFBAEgNAUEUEJABIgFFDQMgAUEAOgAQIAEgBTYCDCABIAY2AgggASADNgIEIAEgCDYCAEEYEJABIgcNAgwDCyACIAVB5P7IABCFEwsACyAHQQA6ABQgB0GE5scANgIMIAcgATYCCCAHQoGAgIAQNwIAIARBEGogCCAEQQRqIAMgAhCgCEGQARCQASIBRQ0AQeQAEJABIgJFBEAMAQsgAiAHNgJgIAJBADoAXCACIAU2AkggAiAGNgJEIAIgAzYCQCACQSA7ATwgAiAFNgI4IAIgBjYCNCACIAM2AjAgAkEANgIsIAIgBTYCKCACIAY2AiQgAiADNgIgIAJBADYCHCACQX82AhAgAkEANgIIIAJBADYCACABQX42AkggAUEBOwFEIAFBBTYCQCABQbzxxwA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASACNgIkIAFBATYCICABQX42AgAgAUEBOwGMASABQQQ2AogBIAFBlPDHADYChAEgAUKAgICAcDcCfCABQoCAgIDAADcCdCABIAQpAxA3A2ggASAEKAIYNgJwIABBAjYC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AhD9CA0BIAAoAgQgACgCCCACQaDrwgAQvwYNASACQaSyyABBAhD9CARADAILIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQfT6xgBBAhD9CA0BIAJBprLIAEECEP0IDQEgACgCECAAKAIUIAJBoOvCABC/BgRADAILIAJBpLLIAEECEP0IBEAMAgsgA0GhssgAQQEgBBEAACEFDAELQQEhBSABKAIAIgNB08PGAEESIAEoAgQiBigCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgACgCCCAAKAIMIAMgBhC/BkUNAQwCCyADQZ3jwgBBAiAEEQAADQEgAiAGNgIEIAIgAzYCACACQQE6AA8gAiACQQ9qNgIIIAAoAgggACgCDCACQaDrwgAQvwYNASACQaSyyABBAhD9CA0BCyADQYiQyQBBASAEEQAAIQULIAJBEGokACAFC+cEAQZ/IwBBsAJrIgIkACACQQhqIgQgASgCACIDIAFBBGoiBSABQRBqIgZBACABKAIQGxCkCyACQQE6AIcBIAIgAzYCkAEgAiACQYcBajYCjAEgAiAENgKIASACQaABaiIBIAJBiAFqEJUGAkACQAJAAkAgAigCoAFBfUcEQEGgAhCQASIDRQ0CIAMgAUHIAPwKAAAgAkEBNgKcASACIAM2ApgBIAJBBDYClAFByAAhBEEBIQEDQCACQegBaiACQYgBahCVBiACKALoAUF9RkUEQCACKAKUASABRgRAIAJBlAFqIAFBAUEIQcgAELMRIAIoApgBIQMLIAMgBGogAkHoAWpByAD8CgAAIAIgAUEBaiIBNgKcASAEQcgAaiEEDAELCyAAIAIoApwBNgIIIAAgAikClAE3AgAMAQsgAEEANgIIIABCgICAgIABNwIACyACKAIMIQAgAigCECIEBEAgAEEQaiEBA0AgASgCACIHKAIAIQMgByADQQFrNgIAIANBAUYEQCABKAIAEDALIAFBFGohASAEQQFrIgQNAAsLIAIoAggiBARAIABBBGsoAgAiA0F4cSEBIAEgBEEUbCIEQQRBCCADQQNxIgMbakkNAiADQQBHIAEgBEEnaktxDQMgABC8BQsgBSgCACIBKAIAIQAgASAAQQFrNgIAIABBAUYEQCAFKAIAEDALAkAgBigCACIARQ0A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AhggACACNgJYIABBADoAVCAAIAc2AlAgAEEBOgBMIAAgBDYCOCAAIAE2AjQgACAFNgIwIABBFDoALCAAIAQ2AiggACABNgIkIABBATYCICAAQQE6ABwgAEEBOgBcIABBCzoADCAAIAQ2AgggACABNgIEIABBATYCACAGQSBqJAAPCyABIANBzLvEABCFEwALIAQgB0HMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAAL2QQBBX8jAEEgayIGJAAgASgCACIFKAIAIQQgBSAEQQFqNgIAAkACQAJAAkACQAJAIARBAEgNACABKAIIIQQgASgCBCEBIAUgBSgCACIDQQFqNgIAIANBAEgNACAFQaACaigCACIDIAFNDQIgBUGcAmooAgAgAUEkbGoiA0EgaigCACIHIARNDQMgA0EcaigCACAEQdQAbGoiAygCAEGCgICAeEcNBCAGIAMpAgg3AhAgBiAGQRBqrUKAgICA0AGENwMYIAZBBGpBvIHAACAGQRhqELgMIAUgBSgCACIDQQFqNgIAIANBAEgNAEEQEJABIgNFDQUgAyAENgIMIAMgATYCCCADIAU2AgQgAyACNgIAQRgQkAEiBw0BDAULAAsgB0EAOgAUIAdBlOvHADYCDCAHIAM2AgggB0KBgICAEDcCAEEQEJABIgNFDQMgAyAENgIMIAMgATYCCCADIAU2AgQgAyACNgIAQRgQkAEiAkUNAyACQQA6ABQgAkHg7ccANgIMIAIgAzYCCCACQoGAgIAQNwIAIAAgBikCBDcCECAAIAYoAgw2AhggAEEAOgBcIAAgAjYCWCAAQQA6AFQgACAHNgJQIABBAToATCAAIAQ2AjggACABNgI0IAAgBTYCMCAAQRQ6ACwgACAENgIoIAAgATYCJCAAQQE2AiAgAEEBOgAcIABBDToADCAAIAQ2AgggACABNgIEIABBATYCACAGQSBqJAAPCyABIANBzLvEABCFEwALIAQgB0HMu8QAEIUTAAtBzLvEABCdFQALQbjwyQBBAToAAAAL2QQBBX8jAEEgayIGJAAgASgCACIFKAIAIQQgBSAEQQFqNgIAAkACQAJAAkACQAJAIARBAEgNACABKAIIIQQgASgCBCEBIAUgBSgCACIDQQFqNgIAIANBAEgNACAFQaACaigCACIDIAFNDQIgBUGcAmooAgAg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ASgCBBCnDgJAAkAgBSgCCCICBEAgBSgCDCIBQQBIDQYgAUUEQEEBIQMMAwsgARCQASIDDQFBARCnFAALQYnqxQBBGEGk6sUAEMATAAsgAUUNACADIAIgAfwKAAALIAAgATYCDCAAIAM2AgggACABNgIEIABBBzoAAAwFCyACIARBnLrEABCFEwALIAEgBEGcusQAEIUTAAtBnLrEABCdFQALEJ4VAAsgACABNgIMIAAgAjYCCCAAIAE2AgQgAEEGOgAAIAMgAygCACIAQQFrNgIAIABBAUcNACADEDALIAVBEGokAAuSBAEKfyAAQRxqKAIAIABBBGooAgAgAEEgaigCACIHIABBCGooAgAiAyADIAdLGxCPEyEEIABByABBMCAAQcwAaigCACAAQTRqKAIAIABB0ABqKAIAIgIgAEE4aigCACIGIAIgBkkbEI8TIgUgAiAGayAFG0EASCIFG2ohAiAAIAQgByADayAEGyIDQX9zQR92QRhsaiEHIAAgA0EfdkEYbGoiA0EIaigCACEEIAJBBGooAgAgA0EEaigCACACQQhqKAIAIgYgBCAEIAZLGxCPEyIIIAYgBGsgCBtBAEghBCAAQTBByAAgBRtqIgZBCGooAgAhACAGIAcgAiAEGyAGQQRqKAIAIAdBBGooAgAgACAHQQhqKAIAIgUgACAFSRsQjxMiCCAAIAVrIAgbQQBIIgkbIQAgAyACIAcgCRsgBBsiBUEIaigCACEIIABBBGooAgAgBUEEaigCACAAQQhqKAIAIgogCCAIIApLGxCPEyELIAEgAiADIAQbIgIpAhA3AhAgASACKQIINwIIIAEgAikCADcCACABIAAgBSALIAogCGsgCxtBAEgiAxsiAikCEDcCKCABIAIpAgg3AiAgASACKQIANwIYIAEgBSAAIAMbIgApAhA3AkAgASAAKQIINwI4IAEgACkCADcCMCABIAcgBiAJGyIAKQIANwJIIAEgACkCCDcCUCABIAApAhA3AlgLjgQCAn8FfiMAQdAAayIEJAAgBEIANwM4IARCADcDQCAEIAE3AzAgBCABQvPK0cunjNmy9ACFNwMgIAQgAULt3pHzlszct+QAhTcDGCAEIAA3AyggBCAAQuHklfPW7Nm87ACFNwMQIAQgAEL1ys2D16zbt/MAhTcDCCAEIAM2AkwgBEEIaiAEQcwAakEEEJYIIAMEQCADQQxsIQUgAkEIaiEDA0AgBEEIaiICIANBBGsoAgAgAygCABCWCCAEQf8BOgBMIAIgBEHMAGpBARCWCCADQQxqIQMgBUEMayIFDQALCyAEKQMIIQEgBCkDGCEAIAQ1AkAhBiAEKQM4IQcgBCkDICEIIAQpAxAhCSAEQdAAaiQAIAAgAXwiCkIgiSAHIAZCOIaEIgYgCIUiASAJfCIHIAFCEImFIgF8IgggAUIViYUhASABIAcgAEINiSAKhSIHfCIJQiCJQv8BhXwiCiABQhCJhSEAIAAgCSAHQhGJhSIBIAYgCIV8IgZCIIl8IgcgAEIViYUhACAAIAYgAUINiYUiASAKfCIGQiCJfCIIIABCEImFIQAgACAGIAFCEYmFIgEgB3wiBkIgiXwiByAAQhWJhSEAIAAgAUINiSAGhSIBIAh8IgZCIIl8IgggAUIRiSAGhSIBIAd8IAFCDYmFIgF8IgYgAEIQiSAIhUIViSABQhGJhSAGQiCJhYULuAQCBn8DfiMAQRBrIgYkAAJAAkAgASgCvAJFDQAgASgCtAIiBCACQd3L3Z55bEEPdyIFcSEDIAVBGXatQoGChIiQoMCAAX4hCyABKAKwAiEFA0AgAyAFaikAACIKIAuFIglCgYKEiJCgwIABfSAJQn+Fg0KAgYKEiJCgwIB/gyIJQgBSBEADQCACIAUgCXqnQQN2IANqIARxQQN0ayIIQQhrKAIARg0EIAlCAX0gCYMiCUIAUg0ACwsgCiAKQgGGg0KAgYKEiJCgwIB/g0IAUg0BIAdBCGoiByADaiAEcSEDDAALAAtB1LnEAEEWQZS5xAAQwBMACwJAAkACQAJ/An8CQAJAAkAgCEEEaygCACIDIAEoAqwCIgRJBEAgASgCqAIgA0EobGoiA0EMaiEEQQghBQJAAkACQAJAIAMoAghBAmsOAgEABwsgBCgCAEEBaw4CBAIBCyAEKAIADQQLQQAhBCAGQQhqIQUgBkEMaiEHIAMoAhAMBQsMAgsgAyAEQfT+yAAQhRMAC0EBIQQgAygCEAwDCyADQRBqIQRBDCEFCyAGIAQoAgA2AgwgA0EIaiAFaigCACEEIAZBBGohBSAGQQhqIQdBAQshAyAHIAM2AgAgBSAENgIAIAYoAgwiAyACRw0BIAYoAgghBCAGKAIECyEDIARFDQEgAiADRg0BCyABIAEoAgAiAkEBajYCACACQQBODQEAC0Hk8MYAEJ0VAAsgACADNgIEIAAgATYCACAGQRBqJAAL3QQCBX8BfiMAQTBrIgIkACACIABBNGo2AgAgASgCACIEQfDlxQBBCSABKAIEKAIMIgURAAAhBiACIAE2AgRBASEDAkAgBg0AIAEtAApBgAFxRQRAIARBl+PCAEEDIAURAAANASABKAIAQfnlxQBBBCABKAIEKAIMEQAADQEgASgCAEGmssgAQQIgASgCBCgCDBEAAA0BIAIgAEEQajYCHCABQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEcakHpARC7ECEDDAELIARBmuPCAEEDIAURAAANACABKQIAIQcgAkEBOgAbIAIgBzcCDCACQaDrwgA2AiAgAiABKQIINwIkIAIgAkEbajYCFCACIAJBDGoiATYCHCABQfnlxQBBBBD9CA0AIAFBprLIAEECEP0IDQAgAiAAQRBqNgIsIAJBHGpBg/fFAEEFQYjyxQBBAyAAQecBQZDExgBBBSAAQRxqQegBQe73xQBBCCAAQShqQegBQfb3xQBBESACQSxqQekBELsQBEAMAQsgAigCHEGkssgAQQIgAigCICgCDBEAACEDCyACIAM6AAggAkEBOgAJIAJBBGpB/eXFAEEMIAJBzAEQiQ4hACACLQAJIgMgAi0ACCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBMGokACABQQFxC98DAQd/AkAgACgCACIBQX9GDQACQAJAQQMgAUECayABQQFNG0ECaw4CAAECCyAAQQRqEMYRDAELAkAgAUUEQCAAKAIEIgEoAgAhAiABIAJBAWs2AgAgAkEBRg0BDAILIAAoAgQiASgCACECIAEgAkEBazYCACACQQFHDQELIAAoAgQQMAsCQAJAAkAgACgCMCIBRQ0AIAEgAUECdEELakF4cSIBakEJaiIERQ0AIAAoAiwgAWsiAkEEaygCACIBQXhxIQMgA0EEQQggAUEDcSIBGyAEakkNASABQQBHIAMgBEEnaktxDQIg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cUUEQCAEQbTPxQBBASAFEQAADQYgAyABENcPRQ0BDAYLIARBnePCAEECIAURAAANBSACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgAyACQRBqENcPDQUgAigCEEGkssgAQQIgAigCFCgCDBEAAA0FCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMBAsgAiAAQQhqNgIQIAFB9OzEAEEKIANB2QAgAkEQakHaABDyDCEADAMLQQEhACABKAIAIgRB65nJAEEEIAEoAgQiBigCDCIFEQAADQICQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQQgAyABENgPRQ0BDAQLIARBnePCAEECIAURAAANAyACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgAyACQRBqENgPDQMgAigCEEGkssgAQQIgAigCFCgCDBEAAA0DCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQAMAgsgAiAAQQhqNgIQIAFB/uzEAEEJIANB2wAgAkEQakHcABDyDCEADAELIAIgAEEIajYCECABQYftxABBEiADQd0AIAJBEGpB2gAQ8gwhAAsgAkEgaiQAIAALtwQBBH8jAEEgayIEJAACQAJAAkACQAJAAkACQAJAIAACfwJAAkACQCABKAIAQQFrDgIBAgALIARBCGogASgCBEEIaiABKAIIENEQIAQoAgwhASAEKAIIDAILIAEoAgghAiABKAIEQQFGBEAgASgCFCIFQaACaigCACIDIAJNDQMgASgCDCIDIAVBnAJqKAIAIAJBJGxqIgJBIGooAgAiBU8NBCACQRxqKAIAIANB1ABsaiICKAIAQYCAgIB4Rw0FIAEoAhAiASACKAIkIgNPDQYgAigCICABQdwAbGoiAigCJCEBIAIoAiAMAgsgBEEQaiABKAIUQQhqIAIQ0BAgBCgCFCEBIAQoAhAMAQsgASgCCCECIAEoAgRBAUYEQCABKAIUIgVBoAJqKAIAIgMgAk0NBiABKAIMIgMgBUGcAmooAgAgAkEkbGoiAkEgaigCACIFTw0HIAJBHGooAgAgA0HUAGxqIgIoAgBBgICAgHhHDQggASgCECIBIAIo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AjwgACgCKCAAQUBrKAIAIgIgAEEsaigCACIGIAIgBkkbEI8TIgUgAiAGayAFG0EASCIFG2ohAiAAIAQgByADayAEGyIDQX9zQR92QRRsaiEHIAAgA0EfdkEUbGoiA0EEaigCACEEIAIoAgAgAygCACACQQRqKAIAIgYgBCAEIAZLGxCPEyIIIAYgBGsgCBtBAEghBCAAQShBPCAFG2oiBkEEaigCACEAIAYgByACIAQbIAYoAgAgBygCACAAIAdBBGooAgAiBSAAIAVJGxCPEyIIIAAgBWsgCBtBAEgiCRshACADIAIgByAJGyAEGyIFQQRqKAIAIQggACgCACAFKAIAIABBBGooAgAiCiAIIAggCksbEI8TIQsgASACIAMgBBsiAigCEDYCECABIAIpAgg3AgggASACKQIANwIAIAEgACAFIAsgCiAIayALG0EASCIDGyICKAIQNgIkIAEgAikCCDcCHCABIAIpAgA3AhQgASAFIAAgAxsiACgCEDYCOCABIAApAgg3AjAgASAAKQIANwIoIAEgByAGIAkbIgApAgA3AjwgASAAKQIINwJEIAEgACgCEDYCTAuEBAEIfyMAQTBrIgckACABIAIgBhDPBiENIAdBCGogASACEOEJIAdBIGoiASAHKAIIIgsgBygCDBDXCSAHQRBqIAEQpBEgByAHKAIUIgogBygCGCIBIAYQ8gcgBygCACEOIAEEQCAKQRRqIQZBACECA0AgCiACQRhsaiEIAkACQAJAAkACQCAGQRRrKAIADgIBAgALIAYoAgAiDCgCACEJIAwgCUEBazYCACAJQQFHDQMgCEEUaiEIDAILIAZBEGsoAgAiDCgCACEJIAwgCUEBazYCACAJQQFHDQIgCEEEaiEIDAELIAYoAgAiCCgCACEJIAggCUEBazYCACAGIQggCUEBRw0BCyAIKAIAEDALIAJBAWohAiAGQRhqIQYgAUEBayIBDQALCwJAAkAgBygCECICBEAgCkEEaygCACIGQXhxIQEgASACQRhsIgJBBEEIIAZBA3EiBhtqSQ0BIAZBAEcgASACQSdqS3ENAiAKELwFCyALIAsoAgAiAUEBazYCACABQQFGBEAgCxAwCyAHIAQ2AhwgByADNgIYIAdB7I3JADYCFCAHIA02AhAgByAFNgIsIAdBADYCKCAHQeyNyQA2AiQgByAO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AhQgACADKQIwNwIcIAAgAykCODcCJCAAIAMoAkA2AiwgAyAGNgIQIAMgBTYCBCADEJYLDAILIARBDGohBAsgAyACNgIQIAMgBDYCBCADEJYLQQEQkAEiAkUNASACQSk6AAAgA0EBNgIcIAMgAjYCGCADQQE2AhQgASADQRRqEPwNQX4hBAsgACAENgIAIANB0ABqJAAPCwtBARCnFAALhgQBAn8jAEEwayIDJAACQAJAAkBBDxCQASIEBEAgBEHr0cUAKQAANwAHIARB5NHFACkAADcAACADQQ82AgggAyAENgIEIANBDzYCACABIAMQ/A1BARCQASIERQ0DIARBKDoAACADQQE2AgggAyAENgIEIANBATYCACABIAMQ/A1BCRCQASIERQ0BIARB+9HFAC0AADoACCAEQfPRxQApAAA3AAAgA0EJNgIIIAMgBDYCBCADQQk2AgAgASADEPwNQQEQkAEiBEUNAyAEQSg6AAAgA0EBNgIIIAMgBDYCBCADQQE2AgAgASADEPwNIAMgASACEMkBAkAgAygCAEF+RwRAIAAgAykCKDcCKCAAIAMpAiA3AiAgACADKQIYNwIYIAAgAykCEDcCECAAIAMpAgg3AgggACADKQIANwIADAELQQEQkAEiAkUNBCACQSk6AAAgA0EBNgIIIAMgAjYCBCADQQE2AgAgASADEPwNQQMQkAEiAkUNAyACQf7RxQAtAAA6AAIgAkH80cUALwAAOwAAIANBAzYCCCADIAI2AgQgA0EDNgIAIAEgAxD8DUEBEJABIgJFDQQgAkEpOgAAIANBATYCCCADIAI2AgQgA0EBNgIAIAEgAxD8DSAAQX42AgALIANBMGokAA8LQQEQpxQAC0EBEKcUAAtBARCnFAALQQEQpxQAC+4DAQh/IwBB0ABrIgMkAEEBEJABIgQEQAJAIARBKDoAACADQQE2AhwgAyAENgIYIANBATYCFCABIANBFGoQ/A0gAigCCCEFIAIoAgQhBCADIAIoAgA2AgggAyAENgIAIAMgBCAFQQxsaiIHNgIMAkACQCAFRQRAQQAhAgwBCyAFQQFrIghB/////wNxQQFqIQlBACECAkACQANAIAQoAgAiBkF/Rg0CIARBDGohBSADIARBBGopAgA3AkggAyAGNgJEIANBFGoiCiABIANBxABqEK0FIAJBAWohBiAD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f0EBIANBAXENABoCQCABLQAKQYABcQRAIAEpAgAhBiACQQE6AA8gAiAGNwIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQzwJFDQFBAQwCC0EBIAEoAgBBiLPJAEECIAEoAgQoAgwRAAANARogACABEM8CDAELIAIoAhBBpLLIAEECIAIoAhQoAgwRAAALIQMgAEHQAGohACAEQdAAayIEDQALC0EBIQAgA0UEQCABKAIAQaiyyABBASABKAIEKAIMEQAAIQALIAJBIGokACAAC+sDAgR/AX4jAEEgayICJAAgACgCACIAQQhqKAIAIQQgAEEEaigCACEFQQEhAyABKAIAQaKyyABBASABKAIEKAIMEQAAIQACQCAERQRAIAAhAwwBCwJAIAANACABLQAKQYABcQRAIAEoAgBBoLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqENACDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARDQAiEDCyAEQQFGDQAgBUHQAGohACAEQdAAbEHQAGshBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENACRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARDQAgwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABB0ABqIQAgBEHQAGsiBA0ACwtBASEAIANFBEAgASgCAEGossgAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAvrAwIEfwF+IwBBIGsiAiQAIAAoAgAiAEEIaigCACEEIABBBGooAgAhBUEBIQMgASgCAEGissgAQQEgASgCBCgCDBEAACEAAkAgBEUEQCAAIQMMAQsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgASkCACEGIAJBAToADyACIAY3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2Aggg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AkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDYAUUNAUEBDAILQQEgASgCAEGIs8kAQQIgASgCBCgCDBEAAA0BGiAAIAEQ2AEMAQsgAigCEEGkssgAQQIgAigCFCgCDBEAAAshAyAAQSBqIQAgBEEgayIEDQALC0EBIQAgA0UEQCABKAIAQaiyyABBASABKAIEKAIMEQAAIQALIAJBIGokACAAC/MDAgV/AX4jAEEwayICJAACQCABKAIAIgRBAUEAIAEoAgQiBigCDCIFEQAABEBBASEDDAELAn8gAS0ACkGAAXFFBEBBASEDIARBtM/FAEEBIAURAAANAiAAIAEQ1Q8NAiABKAIIDAELIARBnePCAEECIAURAAAEQEEBIQMMAgtBASEDIAJBAToALCACIAY2AhAgAiAENgIMIAJBoOvCADYCICACIAEpAggiBzcCJCACIAJBLGo2AhQgAiACQQxqNgIcIAAgAkEcahDVDw0BIAIoAhxBpLLIAEECIAIoAiAoAgwRAAANASAHpwshAyAAQQRqIQQCQCADQYCAgARxRQRAIAEoAgBBiLPJAEECIAEoAgQoAgwRAAAEQEEBIQMMAwsgAiAAQRBqNgIcQQEhAyABQZntxABBCyAEQekAIAJBHGpB6AAQ8gxFDQEMAgsgASkCACEHQQEhAyACQQE6ABsgAiAHNwIMIAJBoOvCADYCICACIAEpAgg3AiQgAiACQRtqNgIUIAIgAkEMajYCHCACIABBEGo2AiwgAkEcakGZ7cQAQQsgBEHpACACQSxqQegAEPIMDQEgAigCHEGkssgAQQIgAigCICgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQMLIAJBMGokACADC/IDAgZ/AX4jAEEgayICJABBASEFAkAgASgCACIDQaeQyQBBCyABKAIEIgcoAgwiBBEAAA0AAkACQCABKAIIIgZBgICABHFFBEAgA0GX48IAQQMgBBEAAA0DIANBoKzJAEEEIAQRAAANAyADQaayyABBAiAEEQAADQMgACgCDCAAKAIQIAMgBxC/Bg0DIANBiLPJAEECIAQRAAANAyADQf2ayQBBBCAEEQAADQMgA0GmssgAQQIgBBEAAA0DIAAgARDICkUNAQwDCyADQZrjwgBBAyAEEQAADQIg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QaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEIkBRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARCJAQwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBzABqIQAgBEHMAGsiBA0ACwtBASEAIANFBEAgASgCAEGossgAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAv7AwEDfyMAQSBrIgMkACABKAIAQaCTyQBBDCABKAIEKAIMEQAAIQIgA0EAOgANIAMgAjoADCADIAE2AgggA0EIakGsk8kAQQogAEEwakGvARCJDkGekMkAQQkgAEGWAhCJDiEBAkAgAy0ADARAQQEhAQwBCyADLQANIQQCQCABKAIAIgItAApBgAFxRQRAQQEhASACKAIAQYizyQBBl+PCACAEQQFxIgQbQQJBAyAEGyACKAIEKAIMEQAADQIgAigCAEG2k8kAQQQgAigCBCgCDBEAAA0CIAIoAgBBprLIAEECIAIoAgQoAgwRAAANAiACKAIAQeeQyQBB4JDJACAALQBEIgAbQQtBByAAGyACKAIEKAIMEQAADQIMAQtBASEBIARBAXFFBEAgAigCAEGa48IAQQMgAigCBCgCDBEAAA0CCyADQQE6AB8gAyACKQIANwIQIAMgA0EfajYCGCADQRBqIgRBtpPJAEEEEP0IDQEgBEGmssgAQQIQ/QgNASAEQeeQyQBB4JDJACAALQBEIgAbQQtBByAAGxD9CA0BIARBpLLIAEECEP0IRQ0ADAELIAItAApBgAFxRQRAIAIoAgBB7erCAEECIAIoAgQoAgwRAAAhAQwBCyACKAIAQaGyyABBASACKAIEKAIMEQAAIQELIANBIGokACABC9sDAgR/AX4jAEEgayICJAAgACgCCCEEIAAoAgQhBUEBIQMgASgCAEGissgAQQEgASgCBCgCDBEAACEAAkAgBEUEQCAAIQMMAQsCQCAADQAgAS0ACkGAAXEEQCABKAIAQaCyyABBASABKAIEKAIMEQAADQEgASkCACEGIAJBAToADyACIAY3AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDXAQ0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAAh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oLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqENgBDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARDYASEDCyAEQQFGDQAgBUEgaiEAIARBBXRBIGshBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENgBRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARDYAQwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBIGohACAEQSBrIgQNAAsLQQEhACADRQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAAL2wMCBH8BfiMAQSBrIgIkACAAKAIIIQQgACgCBCEFQQEhAyABKAIAQaKyyABBASABKAIEKAIMEQAAIQACQCAERQRAIAAhAwwBCwJAIAANACABLQAKQYABcQRAIAEoAgBBoLLIAEEBIAEoAgQoAgwRAAANASABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqEJwDDQEgAigCEEGkssgAQQIgAigCFCgCDBEAACEDDAELIAUgARCcAyEDCyAEQQFGDQAgBUFAayEAIARBBnRBQGohBANAAn9BASADQQFxDQAaAkAgAS0ACkGAAXEEQCABKQIAIQYgAkEBOgAPIAIgBjcCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEJwDRQ0BQQEMAgtBASABKAIAQYizyQBBAiABKAIEKAIMEQAADQEaIAAgARCcAwwBCyACKAIQQaSyyABBAiACKAIUKAIMEQAACyEDIABBQGshACAEQUBqIgQNAAsLQQEhACADRQRAIAEoAgBBqLLIAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAAL+wMBA38jAEEgayIDJAAgASgCAEGgk8kAQQwgASgCBCgCDBEAACECIANB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/gcNASACQaSyyABBAhD9CCEDDAELIAYgARD+ByEDCyAEQQFGDQAgBkEUaiEAIARBFGxBFGshBANAAn9BASADQQFxDQAaIAkEQCACQQE6AA8gAiAINgIEIAIgBTYCACACIAo3AhggAkGg68IANgIUIAIgAkEPajYCCCACIAI2AhBBASAAIAJBEGoQ/gcNARogAkGkssgAQQIQ/QgMAQtBASAFQYizyQBBAiAHEQAADQAaIAAgARD+BwshAyAAQRRqIQAgBEEUayIEDQALC0EBIQAgA0UEQCAFQaiyyABBASAHEQAAIQALIAJBIGokACAAC6sDAgh/AX4jAEEgayICJAAgACgCCCEEIAAoAgQhBkEBIQMgASgCACIFQaKyyABBASABKAIEIggoAgwiBxEAACEAAkAgBEUEQCAAIQMMAQsgASgCCEGAgIAEcSEJIAEpAgghCgJAIAANACAJBEAgBUGgssgAQQEgBxEAAA0BIAJBAToADyACIAg2AgQgAiAFNgIAIAIgCjcCGCACQaDrwgA2AhQgAiACQQ9qNgIIIAIgAjYCECAGIAJBEGoQjwYNASACQaSyyABBAhD9CCEDDAELIAYgARCPBiEDCyAEQQFGDQAgBkEUaiEAIARBFGxBFGshBANAAn9BASADQQFxDQAaIAkEQCACQQE6AA8gAiAINgIEIAIgBTYCACACIAo3AhggAkGg68IANgIUIAIgAkEPajYCCCACIAI2AhBBASAAIAJBEGoQjwYNARogAkGkssgAQQIQ/QgMAQtBASAFQYizyQBBAiAHEQAADQAaIAAgARCPBgshAyAAQRRqIQAgBEEUayIEDQALC0EBIQAgA0UEQCAFQaiyyABBASAHEQAAIQALIAJBIGokACAAC8wDAgV/AX4jAEEwayICJAAgASgCACIEQQFBACABKAIEIgYoAgwiBREAACEDIAIgADYCDAJAIAMEQEEBIQMMAQsCfyABLQAKQYABcUUEQEEBIQMgBEG0z8UAQQEgBREAAA0CIAJBDGogARCAEA0CIAEoAggMAQsgBEGd48IAQQIgBREAAARAQQEhAwwCC0EBIQMgAkEBOgAfIAIgBjYCFCACIAQ2AhAgAkGg68IANgIkIAIgASkCCCIHNwIoIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqEIAQDQEgAigCIEGk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FCAAQTA6ABAgACAENgIMIAAgATYCCCAAIAQ2AgQgAEEANgIADwtBARCnFAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC5AiADQSBqIQMgAEEgayIADQALDAILIAIgACgCBCIFNgIMIAEgAkEMaiIDQQQQlgggACgCCCEEIAVBAUYEQCAAKAIMIQUgAiAENgIMIAEgA0EEEJYIIAIgBTYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAgsgAiAENgIMIAEgAkEMakEEEJYIDAELIAEgACgCECAAKAIUEJYIIAJB/wE6AAwgASACQQxqIgNBARCWCCACIAAoAgQiBDYCDCABIANBBBCWCCAEQQVHDQAgAEEEaiEDA0AgAiADKAIEIgMoAgAiADYCDCABIAJBDGpBBBCWCCAAQQVGDQALCyACQRBqJAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC6AiADQSBqIQMgAEEgayIADQALDAILIAIgACgCBCIFNgIMIAEgAkEMaiIDQQQQlgggACgCCCEEIAVBAUYEQCAAKAIMIQUgAiAENgIMIAEgA0EEEJYIIAIgBTYCDCABIANBBBCWCCACIAAoAhA2AgwgASADQQQQlggMAgsgAiAENgIMIAEgAkEMakEEEJYIDAELIAEgACgCECAAKAIUEJYIIAJB/wE6AAwgASACQQxqIgNBARCWCCACIAAoAgQiBDYCDCABIANBBBCWCCAEQQVHDQAgAEEEaiEDA0AgAiADKAIEIgMoAgAiADYCDCABIAJBDGpBBBCWCCAAQQVGDQALCyACQRBqJAAL8gIBBH8jAEEQayICJAAgAiAAKAIAIgM2AgwgASACQQxqQQQQlggCQAJAAkACQCADQQFrDgIBAgALIAAoAgghAyACIAAoAgwiADYCDCABIAJBDGpBBBCWCCAARQ0CIABBBXQhAANAIAMgARC7AiAD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KALMASACKALQARCLAQJAAkACQAJAAkACQAJAIAMpAwhCAlINACADKAJIQX9HDQAgAy0AbEEBcUUNAQsgA0HwAGogA0EIakHoAPwKAAAMAQsgAygCaCADIAJBqAFqNgLYASADQfAAaiADQQhqQegA/AoAAEUNAQsgAyACKAKoAUEIaiACKAKsARDRECADKAIEIgJBAEgNAgJAIAJFBEBBASEBDAELIAMoAgAhBCACEJABIgFFDQQgAkUNACABIAQgAvwKAAALIANB6AFqIANB8ABqQegA/AoAACAAIAI2AgggACABNgIEIAAgAjYCACAAQQxqIANB5AFqQewA/AoAAAwBCyAAQn83AxAgA0HwAGoQhQgLIANB0AJqJAAPCxCeFQALQQEQpxQAC7gCAQd/AkACQAJAAkACQCAAKAIAIgJBfkYNACACQX9GDQAgACgCBCEDIAAoAggiBQRAIAMhAANAIAAQzQECQCAAQdAAaigCACIBQX5GDQAgAUF/Rg0AIAFFDQAgAEHUAGooAgAiB0EEaygCACIEQXhxIQYgBkEEQQggBEEDcSIEGyABakkNBCAEQQBHIAYgAUEnaktxDQUgBxC8BQsgAEHgAGohACAFQQFrIgUNAAsLIAJFDQAgA0EEaygCACIBQXhxIQAgACACQeAAbCICQQRBCCABQQNxIgEbckkNAyABQQBHIAAgAkEnaktxDQQgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALtAIBBH8CQAJAAkACfyABQQhPBEAgAUH/////AU0EQEF/IAFBA3RBB25BAWtndiIDQf3///8DSw0DIANBAWoMAgtB+OjIAEE5QZTpyAAQvxMACyABQQRxQQRqCyIDQQJ0QQdqQXhxIgQgA0EIaiIFIARqIgJLDQAgAkH4////B0sNACACEJABIgJFBEBBuPDJAEEBOgAAAAsgAiAEaiEEIAUEQCAEQf8BIAX8CwALIAFB/////wBLDQEgAUEEdCICQf3///8HTw0BIAIQkAEiAkUNAiAAQQA2AhggACAENgIMIABBADYCCCAAIAI2AgQgACABNgIAIAAgA0EBayIBNgIQIAAgASADQQN2QQdsIANBCUkbNgIUDwtB+OjIAEE5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AAAhBQwBCyADQaGyyABBASAEEQAAIQULIAJBIGokACAFC7UCAQR/IwBBMGsiAiQAQQEhAwJAIAAoAgAiACgCAEEBRgRAIAIgAEEEajYCDCABKAIAIgBB55HJAEEEIAEoAgQiBSgCDCIEEQAADQECQCABLQAKQYABcUUEQCAAQbTPxQBBASAEEQAADQMgAkEMaiABEJ4QDQMgASgCACEAIAEoAgQoAgwhBAwBCyAAQZ3jwgBBAiAEEQAADQIgAkEBOgAfIAIgBTYCFCACIAA2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahCeEA0CIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAgsgAEGIkMkAQQEgBBEAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEwaiQAIAMLmgIBBH8jAEEgayIDJAACQCABLQCRAUECRw0AQQEhAgJAIAEoAgBBAUYEQCABKAIIIgUgASgCBCIETQ0CIAEgBEEBaiICNgIEIAIgBU8NASABIARBAmo2AgQLIAFBADoAkQEgA0EYaiABEJQKIAMoAhggAygCHCIBQQI6AJEBQQFxDQADQCABKAIAQQFGBEAgASgCBCICIAEoAghPDQIgASACQQFqNgIECwJAIAEtAJEBIgRFBEAgA0EIaiABEJQKIAMoAgwhASADKAIIIQIMAQsgAUEAOgCRASADQRBqIAEQlAogAygCECECIAMoAhQiASAEOgCRAQsgAkEBRw0ACwtBACECCyAAIAE2AgQgACACNgIAIANBIGokAAu7AgEDf0HAARCQASICBEACQEGwARCQASIBRQ0AIAFBADoArAEgAUEAOwGqASABQf8BOgCkASABQo+AgIBwNwJsIAFB1OPIADYCaCABQX82AmQgAUF+NgJYIAFBfDYCECABQX42AgBB4AAQkAEiA0UNACADQX42AlAgAyABNgIEIANBAzYCAEHIARCQASIBRQ0AIAFBfjYCuAEgASADNgIEIAFBEDYCACACQX42AlAgAiABNgIEIAJBBjYCACAAQQ82AsABIABB1OPIADYCvAEgAEF/NgK4ASAAQQI2AgwgACACNgIIIABCioCAgCA3AwAgAkF+NgKwASACQYSAgIB4NgKQASACQQA2AogBIAJC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ASgCKARAIANBGGogASAFELgFIAMoAhgiBA0BCwJAIAEoAiAiAkUNACABKAIkIQYDQCACIAZGDQEgASACQQxqIgQ2AiAgASACQQRqKAIAIgc2AiggASAHIAJBCGooAgBByABsajYCLCADQRBqIAEgBRC4BSAEIQIgAygCECIERQ0ACyADKAIUIQIMAgtBACEEIAFBADYCKCABQTBqIQICQCABKAIwBEAgA0EIaiABIAIQuAUgAygCCCIBDQELIAJBADYCAAwCCyADKAIMIQIgASEEDAELIAMoAhwhAgsgACACNgIEIAAgBDYCACADQSBqJAALtgIBBX8jAEEQayICJABBASEFAkAgASgCACIDQbb9xgBBECABKAIEIgYoAgwiBBEAAA0AIAEtAApBgAFxRQRAIANBl+PCAEEDIAQRAAANASADQcqjyQBBBCAEEQAADQEgA0GmssgAQQIgBBEAAA0BIANBjf7GAEHdkckAIAAtAAAiABtBDEEFIAAbIAQRAAANASADQe3qwgBBAiAEEQAAIQUMAQsgA0Ga48IAQQMgBBEAAA0AIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQcqjyQBBBBD9CA0AIAJBprLIAEECEP0IDQAgAkGN/sYAQd2RyQAgAC0AACIAG0EMQQUgABsQ/QgNACACQaSyyABBAhD9CA0AIANBobLIAEEBIAQRAAAhBQsgAkEQaiQAIAUL6wEBA38CQAJAAkACQAJAAkAgAS0AAEEBaw4GAAUBBQUCBQtBASECAkAgASgCCCIDRSIEDQAgASgCBCEBIAMQkAEiAkUNAyAEDQAgAiABIAP8CgAACyAAIAM2AgggACACNgIEIABBAToAAA8LAkAgASgCCCICRQRAQQEhAQwBCyABKAIEIQMgAhCQASIBRQ0DIAJFDQAgASADIAL8CgAACyAAIAI2AgggACABNgIEIABBAzoAAA8LIABBBjoAAA8LQbjwyQBBAToAAAALQbjwyQBBAToAAAALIAAgASgCCDYCCCAAIAEpAgA3AgALoAIBBX8jAEEwayICJAAgAkEYaiABQZytyABBAxCKBgJAIAIoAhgiBEF+RwRAIAIoAiAhBSACKAIcIQYgAiACKAIsNgIQIAIgAikCJDcDCCABKAKEAiIBKAIIIQMgASgCACADRgRAIAEQvRILIABBADYCACABIANBAWo2AgggASgCBCADQRhsaiIAIAU2AgggACAGNgIEIAAgBDYCACAAIAIpAwg3AgwgACACKAIQNgIUDAELIAIgAigCICIDIAEoAoQCEPwFIAIoAgAiBARAIAAgASgC9AEgBCACKAIEEP4DNgIEIABBATYCACAAIANBNEEQIAMoAgBBAkkbaiIBKQIANwIIIAAgASgCCDYCEAwBCyAAQQA2AgALIAJBMGokAAupAgEFfyMAQSBrIgIkAEEBIQMCQCAAKAIAIgQoAgBBAUYEQCABKAIAIgBB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgBEEEaiEEAkAgAS0ACkGAAXFFBEAgAEG0z8UAQQEgBREAAA0DIAQgARDWDw0DIAEoAgAhACABKAIEKAIMIQUMAQsgAEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAANgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAEIAJBEGoQ1g8NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIABBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC6kCAQV/IwBBIGsiAiQAQQEhAwJAIAAoAgAiBC0AAEEBRgRAIAEoAgAiAEHnkckAQQQgASgCBCIGKAIMIgURAAANASAEQQFqIQQCQCABLQAKQYABcUUEQCAAQbTPxQBBASAFEQAADQMgBCABEOAMDQMgASgCACEAIAEoAgQoAgwhBQwBCyAAQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAA2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAQgAkEQahDgDA0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgAEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLwwIBAn8gAiEDAkACQAJAA0AgAygCACIEQQxHBEACQAJAAkAgBA4CAAEGC0EBIQQgAy0AGEEMaw4HBAUFBQUFAQULQQEhBCADLQAYQQxrDgcDBAQEBAQABAsFIAMoAgQhAwwBCwsgAygCHEGMgICAeEYhBAsgBEUNACAAQQNHDQBBAiEEIAEtAKsBDQELIAIhAwJAAkADQCADKAIAIgBBDEcEQAJAAkACQCAADgIAAQYLQQAhBCADLQAYQQxrDgcGBQUFBQUBBQtBACEEIAMtABhBDGsOBwUEBAQEBAMECwUgAygCBCEDDAELCyADKAIcQYyAgIB4Rg0CDAELIAMoAhxBjICAgHhGDQELA0AgAigCACIAQQxHBEACQCAAQQJPDQBBAUEDIAItABhBDUYbDwsFIAIoAgQhAgwBCwtBAyEECyAEC4oCAQd/IAAoAgQhAwJAAkACQAJAIAAoAggiBARAIAMhAQNAIAEoAgAiBQRAIAFBBGooAgAiB0EEaygCACICQXhxIQYgBkEEQQggAkEDcSICGyAFakkNAyACQQBHIAYgBUEnaktxDQQgBxC8BQsgAUEMaiEBIARBAWsiBA0ACwsgACgCACIBBEAgA0EEaygCACIAQXhxIQIgAiABQQxsIgFBBEEIIABBA3EiABtqSQ0DIABBAEcgAiABQSdqS3ENBCADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAueAgIDfwF+IwBBEGsiAiQAIAEoAgBBtOrFAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCAJAIAJBCGpBw+rFAEEGAn8gACkDAEICfCIFQgFYBEAgBadBAWsNAiAAQQhqDAELIAJBCGpBmPPHAEEFIABBnAEQiQ4aIABB6AFqC0GcARCJDhoLIAJBCGpB4+PIAEEFIABB0ANqQZ0BEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQueAgIDfwF+IwBBEGsiAiQAIAEoAgBBtOrFAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCAJAIAJBCGpBw+rFAEEGAn8gACkDAEICfCIFQgFYBEAgBadBAWsNAiAAQQhqDAELIAJBCGpBmPPHAEEFIABBnAEQiQ4aIABB6AFqC0GcARCJDhoLIAJBCGpB4+PIAEEFIABB0ANqQb8BEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQupAgEFfyMAQSBrIgIkAEEBIQMCQCAAKAIAIgQvAQBBAUYEQCABKAIAIgBB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgBEECaiEEAkAgAS0ACkGAAXFFBEAgAEG0z8UAQQEgBREAAA0DIAQgARD5Dg0DIAEoAgAhACABKAIEKAIMIQUMAQsgAEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAANgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAEIAJBEGoQ+Q4NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIABBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC4wCAQR/AkACQAJAAkAgACgCACIEBEAgACgCBCIDQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIARqSQ0BIAFBAEcgAiAEQSdqS3ENAiADELwFCyAAKAIQIQMgACgCFCICBEAgAyEBA0AgARCHBCABQSBqIQEgAkEBayICDQALCyAAKAIMIgEEQCADQQRrKAIAIgBBeHEhAiACIAFBBXQiAUEEQQggAEEDcSIAG3JJDQMgAEEARyACIAFBJ2pLcQ0EIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC44CAQR/IwBBEGsiAyQAIANBBGogARDXAgJAAkACQAJAAkAgAigCCCIEIAMoAgxHDQAgAygCCCEFIARFDQEgAigCBCEBIAUhBgNAIAEgBhDZCUUNASABQcgBaiEBIAZByAFqIQYgBEEBayIEDQALDAELIAAgA0EEaiACEMoIDAELIAAgAigCCDYCCCAAIAIpAgA3AgAgA0EEahClBCADKAIEIgFFDQAgBUEEaygCACICQXhxIQAgACABQcgBbCIBQQRBCCACQQNxIgIbakkNASACQQBHIAAgAUEnaktxDQIgBRC8BQsgA0EQaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALkwIBBH8jAEHQAWsiBiQAAkACQCAFIAQoAhwiB0kEQCAEKAIYIAVB8ABsaiIHKAJoIQggBygCZCEHIAQgBCgCACIJQQFqNgIAIAlBAEgNASAGIAg2AnQgBiAHNgJwIAYgBDYCbCAGQQhqIAEgBkHsAGoQ8QMgAxCQASIBRQ0CIAMEQCABIAIgA/wKAAALIARBCGogBRD3EC0AWCECIAZB7ABqIgQgBkEIakHkAPwKAAAgAEEgaiAEIAJBAkYQnw4gACADNgJAIAAgATYCPCAAIAM2AjggAEEANgI0IABCgICAgMAANwIsIABBfjYCACAAQQA7AUQgBkHQAWokAA8LIAUgB0Hk/sgAEIUTCwALQQEQpxQAC4wCAQR/AkACQAJAAkAgACgCACIEBEAgACgCBCIDQQRrKAIAIgFBeHEhAiACQQRBCCABQQNxIgEbIARqSQ0BIAFBAEcgAiAEQSdqS3ENAiADELwFCyAAKAIQIQMgACgCFCICBEAgAyEBA0AgARCGBCABQSBqIQEgAkEBayICDQALCyAAKAIMIgEEQCADQQRrKAIAIgBBeHEhAiACIAFBBXQiAUEEQQggAEEDcSIAG3JJDQMgAEEARyACIAFBJ2pLcQ0EIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5cCAQR/AkACQAJAAkACQCAAKAIAIgAoAggiAUF/Rg0AIAEEQCAAKAIMIgRBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQIgA0EARyACIAFBJ2pLcQ0DIAQQvAULIAAoAhQiAigCAEEBayEBIAIgATYCACABDQAgAEEUahDtDgsCQCAAQX9GDQAgACAAKAIEQQFrIgE2AgQgAQ0AIABBBGsoAgAiAUEDcSECIAFBeHFBHEEgIAIbSQ0DIAJBAEcgAUHAAE9xDQQgABC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALmAIAAn8CQAJAAkACQCACQQVrDgUCAQMDAAMLIAEtAABB7QBHDQIgAS0AAUHvAEcNAiABLQACQeQARw0CIAEtAANB5QBHDQIgAS0ABEHsAEcNAiABLQAFQc4ARw0CIAEtAAZB4QBHDQIgAS0AB0HtAEcNAiABLQAIQeUARw0CQQAMAwsgAS0AAEHhAEcNASABLQABQeMARw0BIAEtAAJB9ABHDQEgAS0AA0HpAEcNASABLQAEQe8ARw0BIAEtAAVB7gBHDQFBAQwCCyABLQAAQfEARw0AIAEtAAFB9QBHDQAgAS0AAkHlAEcNACABLQADQfIARw0AIAEtAARB+QBHDQBBAgwBC0EDCyEBIABBADoAACAAIAE6AAELsQIBAX8jAEEQayICJAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsODAECAwQFBgcICQoLDAALIAFB1ZDJAEEGEJ0EDAwLIAFB5JnJAEEHEJ0EDAsLIAFB65nJAEEEEJ0EDAoLIAFB75nJAEEDEJ0EDAkLIAFB8pnJAEEEEJ0EDAgLIAIgAEEEajYCBCACIAJBBGqtQoCAgICQAYQ3AwggASgCACABKAIEQdLOwQAgAkEIahCxCQwHCyABQfaZyQBBBBCdBAwGCyABQfqZyQBBBhCdBAwFCyABQYSayQBBCBCdBAwECyABQYyayQBBBRCdBAwDCyABQeyxyQBBBhCdBAwCCyABQZGayQBBBRCdBAwBCyABQaGayQBBAxCdBAsgAkEQaiQAC5ACAQR/IwBBEGsiBCQAIAEoAgQhAgJAAkACQAJAIAACfyABKAIAQQFGBEAgASgCECIFQaACaigCACIDIAJNDQIgASgCCCIDIAVBnAJqKAIAIAJBJGxqIgJBIGooAgAiBU8NAyACQRxqKAIAIANB1ABsaiICKAIAQYCAgIB4Rw0EIAEoAgwiASACKAIkIgNPDQUgAigCICABQdwAbGoiAigCJCEBIAIoAiAMAQsgBEEIaiABKAIQQQhqIAIQ0BAgBCgCDCEBIAQoAggLNgIAIAAgATYCBCAEQRBqJAAPCyACIANBlL7EABCFEwALIAMgBUGUvsQAEIUTAAtBlL7EABCdFQALIAEgA0GkvsQAEIUTAAuXAgICfwJ+IwBBIGsiAyQAAkACQAJAAkAgAC0AAA4EAAICAQILIAAoAgwiBEUNASAEQdAAbCEEIAAoAgghAANAIAAgASACEPEOIABB0ABqIQAgBEHQAGsiBA0ACwwBCyAAQQhqIAERBwBFDQAgACgCOEECRg0AIABBOGoiASkCACEFIAEpAgghBiAAKAJIIgAoAgAhASAAIAFBAWo2AgAgAyAGNwMYIAMgBTcDECABQQBIDQEgAyADKQMYNwMIIAMgAykDEDcDACACKAIIIgEgAigCAEYEQCACEJoSCyACIAFBAWo2AgggAigCBCABQRRsaiIBIAMpAwA3AgAgASADKQMINwIIIAEgADYCEAsgA0EgaiQADwsAC6QCAQV/IwBBIGsiAiQAQQEhAwJAIAAvAQBBAUYEQCABKAIAQf3mxQBBByABKAIEKAIMEQAAIQMMAQsgASgCACIEQZ/wxQBBCCABKAIEIgYoAgwiBREAAA0AIABBAmohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAiAAIAEQ+Q4NAiABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANASACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEPkODQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyAEQYiQyQBBASAFEQAAIQMLIAJBIGokACADC6QCAQV/IwBBIGsiAiQAQQEhAwJAIAAtAABBAUYEQCABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgAEEBaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARCxDA0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQsQwNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC6QCAQV/IwBBIGsiAiQAQQEhAwJAIAAoAgBBAUYEQCABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgAEEEaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDSDw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ0g8NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC6QCAQV/IwBBIGsiAiQAAkAgACkDAEIBUQRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgAEEIaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDcDw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ3A8NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC50CAQN/AkACQEGQARCQASIBBEBB5AAQkAEiAkUNAiACQQE6AAQgAkECNgIAQQIQkAEiBEUNASAEQdu6ATsAAEHkABCQASIDRQ0CIANBCToABCADQQI2AgAgAUEAOwGMASABQQo2AogBIAFB/u/HADYChAEgAUF/NgKAASABQgQ3A3ggAUIBNwNwIAEgAzYCbCABQQE2AmggAUECNgJUIAEgBDYCUCABQo2AgIAgNwNIIAFBATsBRCABQQU2AkAgAUH578cANgI8IAFBfzYCOCABQgQ3AzAgAUIBNwMoIAEgAjYCJCABQQE2AiAgAUF+NgIAIABBAjYCCCAAIAE2AgQgAEECNgIADwsMAQtBARCnFAALQbjwyQBBAToAAAALnQIBA38CQAJAQZABEJABIgEEQEHkABCQASICRQ0CIAJBAToABCACQQI2AgBB5AAQkAEiA0UNAiADQQk6AAQgA0ECNgIAQQIQkAEiBEUNASAEQdu6ATsAACABQQA7AYwBIAFBCjYCiAEgAUH+78cANgKEASABQX82AoABIAFCBDcDeCABQgE3A3AgASADNgJsIAFBATYCaCABQQI2AlQgASAENgJQIAFCjYCAgCA3A0ggAUEBOwFEIAFBBTYCQCABQfnvxwA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASACNgIkIAFBATYCICABQX42AgAgAEECNgIIIAAgATYCBCAAQQI2AgAPCwwBC0EBEKcUAAtBuPDJAEEBOgAAAAukAgEFfyMAQSBrIgIkAEEBIQMCQCAAKAIAQQFGBEAgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BIABBBGohAAJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQzQ8NAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEM0PDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwvnAQECfyMAQRBrIgMkAAJ/AkAgASgCCCICQYCAgBBxRQRAIAJBgICAIHENASAALwEAIAEQkg8MAgsgAC8BACECQQUhAANAIAAgA2pBBmogAkEPcUHktskAai0AADoAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEFIABrEMkJDAELIAAvAQAhAkEFIQADQCAAIANqQQpqIAJBD3FBpJbEAGotAAA6AAAgAEEBayEAIAJBBHYiAg0ACyABQQFBopbEAEECIAAgA2pBC2pBBSAAaxDJCQsgA0EQaiQAC44CAQV/IwBBQGoiAiQAQQEhAwJAIAAtAABBAUYEQCABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQEgAEEBaiEAAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAJBHGoiASAAEPgJIAQgAUEkIAURAABFDQEMAwsgBEGd48IAQQIgBREAAA0CIAIgBjYCECACIAQ2AgwgAkEBOgAbIAIgAkEbajYCFCACQRxqIgEgABD4CSACQQxqIgAgAUEkEP0IDQIgAEGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkFAayQAIAMLnwIBAn8CQAJAAkAgASgCAEEBRgRAIAEoAhgiAkF/Rg0BIAAgAjYCECAAIAEpAxA3AwggACABKQMINwMAIAAgASkCHDcCFCAAIAEpAiQ3AhwgACABKQIsNwIkIAAgASgCNDYCLA8LIAAgASkDEDcDACAAIAEpAxg3AwggACABKQMgNwMQIAAgASkDKDcDGCAAIAEpAzA3AyAgACABKQM4NwMoIAEoAgQiAEEASgRAIAEoAggiAkEEaygCACIDQXhxIQEgAUEEQQggA0EDcSIDGyAAakkNAiADQQBHIAEgAEEnaktxDQMgAhC8BQsPC0Hc4MgAQRlB+ODIABDAEwALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC+UBAQZ/IANBCE8EQCAAIANBA3YiA0HQAGwiBSAAaiADQYwBbCIEIABqIAMQ/A4hACABIAEgBWogASAEaiADEPwOIQEgAiACIAVqIAIgBGogAxD8DiECCyAAKAIAIgQgASgCACIHIABBBGooAgAiAyABQQRqKAIAIgUgAyAFSRsQjxMiBiADIAVrIAYbIgYgBCACKAIAIgggAyACQQRqKAIAIgQgAyAESRsQjxMiCSADIARrIAkbc0EATgR/IAIgASAHIAggBSAEIAQgBUsbEI8TIgAgBSAEayAAGyAGc0EASBsFIAALC6MCAQV/IwBBIGsiAiQAAkAgACgCACIFLQAAQf8BRwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSABEM4CDQMgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDOAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgA0GIkMkAQQEgBBEAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALogIBBX8jAEEgayICJAACQCAAKAIAIgUoAgBBfkcEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUgARDXCA0DIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQ1wgNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBIGokACAAC6ICAQV/IwBBIGsiAiQAAkAgACgCACIFKAIAQX9HBEBBASEAIAEoAgAiA0HnkckAQQQgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyAFIAEQvQQNAyABKAIAIQMgASgCBCgCDCEEDAELIANBnePCAEECIAQRAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqEL0EDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQSBqJAAgAAu4AgEBfyMAQfAAayICJAAgACgCACEAIAJBkOjFADYCaCACQaTsxQA2AmAgAiAAQewBajYCXCACQZTsxQA2AlggAiAAQeABajYCVCACQYTsxQA2AlAgAiAAQegAajYCTCACQYTsxQA2AkggAiAAQSBqNgJEIAJB8OfFADYCQCACIABBEGo2AjwgAkH068UANgI4IAIgAEHUAWo2AjQgAkHk68UANgIwIAIgAEHIAWo2AiwgAkHw58UANgIoIAIgADYCJCACQdDoxQA2AiAgAiAAQbwBajYCHCACQdTrxQA2AhggAiAAQbABajYCFCACQcTrxQA2AhAgAiAAQfgBajYCDCACIABBhAJqNgJsIAIgAkHsAGo2AmQgAUG87cUAQQZB3OzFAEEMIAJBDGpBDBDwByACQfAAaiQAC6ICAQV/IwBBIGsiAiQAAkAgACgCACIFLwEAQQJHBEBBASEAIAEoAgAiA0HnkckAQQQgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyAFIAEQ8g4NAyABKAIAIQMgASgCBCgCDCEEDAELIANBnePCAEECIAQRAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSACQRBqEPIODQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQSBqJAAgAAuiAgEFfyMAQSBrIgIkAAJAIAAoAgAiBSgCAEF+RwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSABENUQDQMgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDVEA0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgA0GIkMkAQQEgBBEAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALogIBBX8jAEEgayICJAACQCAAKAIAIgUoAgBBfkcEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUgARDXEA0DIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQ1xANAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBIGokACAAC6MCAQV/IwBBIGsiAiQAAkAgACgCACIFLQAAQf8BRwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSABEM8CDQMgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDPAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgA0GIkMkAQQEgBBEAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALogIBBX8jAEEgayICJAACQCAAKAIAIgUoAgBBf0cEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUgARCdCw0DIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQnQsNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBIGokACAAC/kBAQJ/IwBBEGsiAyQAAn8CQAJAAkACQEEDIAAoAgAiBEECayAEQQFNG0EBaw4DAQIDAAsgAyAAQQRqNgIEIAMgA0EEaq1CgICAgMAnhDcDCCABIAJBz63AACADQQhqELEJDAMLIAMgAEEEajYCBCADIANBBGqtQoCAgIDQJ4Q3AwggASACQc+twAAgA0EIahCxCQwCCyADIABBBGo2AgQgAyADQQRqrUKAgICA4CeENwMIIAEgAkHPrcAAIANBCGoQsQkMAQsgAyAANgIEIAMgA0EEaq1CgICAgPAnhDcDCCABIAJBkI7CACADQQhqELEJCyADQRBqJAALogIBBX8jAEEgayICJAACQCAAKAIAIgUoAhBBf0cEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIAUgARDTAw0DIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQ0wMNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBIGokACAAC+0BAQR/IwBBEGsiAyQAIAEEQCABQRRsIQUDQCADIAAoAgAiBEECRzYCDCACIANBDGoiAUEEEJYIAkAgBEECRwRAIAMgBDYCDCACIAFBBBCWCCAAQQRqKAIAIQYgBEEBRgRAIABBCGooAgAhBCADIAY2AgwgAiABQQQQlgggAyAENgIMIAIgAUEEEJYIIAMgAEEMaigCADYCDCACIAFBBBCWCAwCCyADIAY2AgwgAiADQQxqQQQQlggMAQsgAyAAQQhqKAIANgIMIAIgA0EMakEEEJYICyAAQRRqIQAgBUEUayIFDQALCyADQRBqJAALlgIBBX8jAEEQayICJAACQCAALQAAIgVBAkcEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBBEAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0DIANBuP3HAEHwgMcAIAVBAXEiARtBBUEEIAEbIAQRAABFDQEMAwsgA0Gd48IAQQIgBBEAAA0CIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCACQbj9xwBB8IDHACAFQQFxIgEbQQVBBCABGxD9CA0CIAJBpLLIAEECEP0IDQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBEGokACAAC6MCAQV/IwBBIGsiAiQAAkAgACgCACIFLQAAQf8BRwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSABENACDQMgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDQAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgA0GIkMkAQQEgBBEAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALqQIBAn8CQAJAAkACQCABQf8BcUECRwRAQRgQkAEiAkUNAUEFEJABIgFFDQIgAUH978cALQAAOgAEIAFB+e/HACgAADYAAEEEEJABIgNFDQMgA0Hq3qXzBjYAACACQQQ2AhQgAiADNgIQIAJChYCAgMAANwIIIAIgATYCBCACQQU2AgBB5AAQkAEiAUUNBCABQQA6ADQgAUEdOgAUIAFBAjYCECABIAI2AgwgAUECNgIIIAFCAzcCACAAQQA7AUQgAEEUNgJAIABBu/zHADYCPCAAQX82AjggAEIENwMwIABCATcDKCAAIAE2AiQgAEEBNgIgIABBfjYCAA8LIABBfTYCAA8LQbjwyQBBAToAAAALQQEQpxQAC0EBEKcUAAtBuPDJAEEBOgAAAAuPAgEEfyAAKAIkIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAoAiQQygQLAkACQAJAAkAgACgCFCIBQQBKBEAgACgCGCIEQQRrKAIAIgNBeHEhAiACQQRBCCADQQNxIgMbIAFqSQ0BIANBAEcgAiABQSdqS3ENAiAEELwFCwJAIABBf0YNACAAIAAoAgRBAWsiATYCBCABDQAgAEEEaygCACIBQQNxIQIgAUF4cUEsQTAgAhtJDQMgAkEARyABQdAAT3ENBCAAELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAufAgEFfyMAQSBrIgIkAAJAIAAoAgAiBSgCAARAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgBSABEMEPDQMgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDBDw0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgA0GIkMkAQQEgBBEAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAALlAIBBH8jAEEwayICJAACQCAAKAIAQX9HBEAgAiAANgIMQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBSgCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgAkEMaiABEIwMRQ0BDAMLIANBnePCAEECIAQRAAANAiACQQE6AB8gAiAFNgIUIAIgAzYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEfajYCGCACIAJBEGoiATYCICACQQxqIAJBIGoQjAwNAiABQaSyyABBAhD9CA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQTBqJAAgAAuSAgEFfyMAQRBrIgQkAAJAAkACQAJAAkACQCAALQAAIgJBAk8EQCACQQNrDQQMAQsgAEECOgAAIAEoAgAhAyABQQA2AgAgA0UNAiACQQFGDQEgBEEEaiADKAIAIgEgAygCBCICKAIMEQIAIAIoAgQiAgRAIAFBBGsoAgAiBUF4cSEGIAZBBEEIIAVBA3EiBRsgAmpJDQUgBUEARyAGIAJBJ2pLcQ0GIAEQvAULIAMgBCgCDDYCCCADIAQpAgQ3AgAgAEEDOgAACyAEQRBqJAAPCxCpFQALQYDvxwAQnRUAC0G068cAQfEAQZDvxwAQvxMAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuRAgECfwJAQZABEJABIgEEQEHkABCQASIDRQ0BQeQAEJABIgJFDQEgAkEIOgAEIAJBAjYCACADIAI2AgQgA0EENgIAQeQAEJABIgJFDQEgAkEIOgAEIAJBAjYCACABQQA7AYwBIAFBBzYCiAEgAUHq78cANgKEASABQX82AoABIAFCBDcDeCABQgE3A3AgASACNgJsIAFBATYCaCABQX42AkggAUEAOwFEIAFBCDYCQCABQfHvxwA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASADNgIkIAFBATYCICABQX42AgAgAEECNgIIIAAgATYCBCAAQQI2AgAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC+wBAQF/IwBBQGoiByQAIAcgATYCBCAHIAA2AgAgByADNgIMIAcgAjYCCCAHQQI2AhQgB0HD7cIANgIQIAQEQCAHIAU2AhwgByAENgIYIAcgB0EIaq1CgICAgKABhDcDOCAHIAetQoCAgICgAYQ3AzAgByAHQRhqrUKAgICAkAeENwMoIAcgB0EQaq1CgICAgLABhDcDIEGLksAAIAdBIGogBhC/EwALIAcgB0EIaq1CgICAgKABhDcDMCAHIAetQoCAgICgAYQ3AyggByAHQRBqrUKAgICAsAGENwMgQdSRwAAgB0EgaiAGEL8TAAv3AQEEfyMAQRBrIgMkAAJ/IABB//8DcSICQegHTwRAIAMgACACQZDOAG4iBEGQzgBsayICQf//A3FB5ABuIgVBAXQvAJyYSTsADCADIAIgBUHkAGxrQf//A3FBAXQvAJyYSTsADkEBDAELIAAhBEEFIAJBCkkNABogAyAAIABB//8DcUHkAG4iBEHkAGxrQf//A3FBAXQvAJyYSTsADkEDCyECIARB//8DcUUgAEH//wNxQQBHcUUEQCACQQFrIgIgA0ELamogBEH//wNxQQF0LQCdmEk6AAALIAFBAUEBQQAgA0ELaiACakEFIAJrEMkJIANBEGokAAudAgEFfyMAQSBrIgIkAAJAIAAoAgRBf0cEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARCvDA0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQrwwNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC4ACAgZ/AX4jAEEgayICJAAgACgCCCEDIABBADYCCCADBEACQCADIAAoAgwiB0YNACACIAMoAgApAiA3AgggAiACQQhqrUKAgICA0AGENwMYQQEhBCABKAIAIgUgASgCBCIGQa7IwQAgAkEYahCxCQ0AIANBCGohASACQRBqrUKAgICA0AGEIQgDQCABIAdGBEBBACEEDAILIAIgASgCACkCIDcCECAAKAIEIgMEQCAFIAAoAgAgAyAGKAIMEQAADQILIAIgCDcDGCABQQhqIQEgBSAGQa7IwQAgAkEYahCxCUUNAAsLIAJBIGokACAEDwtBnLzEAEEiQcC8xAAQ6xMAC50CAQV/IwBBIGsiAiQAAkAgACgCBEF/RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABEIwLDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCMCw0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLiAIBBH8jAEEQayIEJAACQAJAAkACQCAAAn8gASgCACICBEAgASgCBCIDIAJBmAJqKAIAIgVPDQIgASgCCCIFIAJBlAJqKAIAIANBJGxqIgJBIGooAgAiA08NAyACQRxqKAIAIAVB1ABsaiICKAIAQYCAgIB4Rw0EIAEoAgwiASACKAIkIgNPDQUgAigCICABQdwAbGoiAigCJCEBIAIoAiAMAQsgBEEIaiABKAIEIAEoAggQ0BAgBCgCDCEBIAQoAggLNgIAIAAgATYCBCAEQRBqJAAPCyADIAVBlL7EABCFEwALIAUgA0GUvsQAEIUTAAtBlL7EABCdFQALIAEgA0GkvsQAEIUTAAubAgEFfyMAQRBrIgIkAAJAIAAoAgAiBS0AAEECRwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIEEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQMgA0HbkMkAQdWQyQAgBS0AACIBG0EFQQYgARsgBBEAAEUNAQwDCyADQZ3jwgBBAiAEEQAADQIgAkEBOgAPIAIgBjYCBCACIAM2AgAgBS0AACEBIAIgAkEPajYCCCACQduQyQBB1ZDJACABG0EFQQYgARsQ/QgNAiACQaSyyABBAhD9CA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQRBqJAAgAAuWAgEDfyMAQRBrIgIkACABKAIAQbTqxQBBDyABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AggCQCACQQhqQcPqxQBBBgJ/AkACQCAAKAIAQQNqDgIDAAELIABBBGoMAQsgAkEIakGY88cAQQUgAEHFARCJDhogAEE0agtBxQEQiQ4aCyACQQhqQePjyABBBSAAQegAakHGARCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELlQIBA38jAEEQayICJAAgASgCAEG06sUAQQ8gASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIAkAgAkEIakHD6sUAQQYCfwJAAkAgACgCAEECag4CAwABCyAAQQRqDAELIAJBCGpBmPPHAEEFIABB0AEQiQ4aIABBDGoLQdABEIkOGgsgAkEIakHj48gAQQUgAEEYakG9ARCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL/gEBBH8CQAJAAkACQAJAAn8gACgCACIBQX9GBEAgACgCBCIBRQ0CQQgMAQsgAQRAIAAoAgQiAkEEaygCACIEQXhxIQMgA0EEQQggBEEDcSIEGyABakkNAyAEQQBHIAMgAUEnaktxDQQgAhC8BQsgACgCDCIBRQ0BQRALIABqKAIAIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQMgAkEARyAAIAFBJ2pLcQ0EIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5UCAQN/IwBBEGsiAiQAIAEoAgBBtOrFAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCAJAIAJBCGpBw+rFAEEGAn8CQAJAIAAoAgBBA2oOAgMAAQsgAEEEagwBCyACQQhqQZjzxwBBBSAAQdsBEIkOGiAAQQxqC0HbARCJDhoLIAJBCGpB4+PIAEEFIABBGGpB3AEQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC50CAQV/IwBBIGsiAiQAAkAgACgCAEF+RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABEP0DDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahD9Aw0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLnQIBBX8jAEEgayICJAACQCAAKAIAQX5HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQ1RANAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENUQDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwueAgEFfyMAQSBrIgIkAAJAIAAtAABB/wFHBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQhAcNAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEIQHDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwudAgEFfyMAQSBrIgIkAAJAIAAoAgBBfEcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARCgDw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQoA8NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC50CAQV/IwBBIGsiAiQAAkAgACgCAEF9RgRAIAEoAgBBl/rFAEEJIAEoAgQoAgwRAAAhAwwBC0EBIQMgASgCACIEQY/6xQBBCCABKAIEIgYoAgwiBREAAA0AAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0CIAAgARDWEA0CIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0BIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ1hANASACKAIQQaSyyABBAiACKAIUKAIMEQAADQELIARBiJDJAEEBIAURAAAhAwsgAkEgaiQAIAMLnQIBBX8jAEEgayICJAACQCAAKAIAQX5HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQ4gYNAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEOIGDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwudAgEFfyMAQSBrIgIkAAJAIAAoAhBBf0cEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDTAw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ0wMNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC50CAQV/IwBBIGsiAiQAAkAgACgCAEF9RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABENYQDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDWEA0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLnQIBBX8jAEEgayICJAACQCAAKAIAQX9HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQsQMNAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqELEDDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwudAgEFfyMAQSBrIgIkAAJAIAAoAgBBfkcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARCnCA0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQpwgNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC5cCAQN/IwBBEGsiAiQAIAEoAgBBtOrFAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCAJAIAJBCGpBw+rFAEEGAn8CQAJAIAAoAgBBAWoOBAMBAQABCyAAQQRqDAELIAJBCGpBmPPHAEEFIABBsQEQiQ4aIABBFGoLQbEBEIkOGgsgAkEIakHj48gAQQUgAEEoakGEAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELmAIBA38jAEEQayICJAAgASgCAEG06sUAQQ8gASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIAkAgAkEIakHD6sUAQQYCfwJAAkAgACgCJEEBag4EAwEBAAELIABBKGoMAQsgAkEIakGY88cAQQUgAEEkakGFAhCJDhogAEHEAGoLQYUCEIkOGgsgAkEIakHj48gAQQUgAEGGAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELnQIBBX8jAEEgayICJAACQCAAKAIAQX9HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQuwcNAyABKAIAIQQgASgCBCgCDCEFDAELIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqELsHDQIgAigCEEGkssgAQQIgAigCFCgCDBEAAA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwudAgEFfyMAQSBrIgIkAAJAIAAoAgBBf0cEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDLBw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQywcNAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC54CAQV/IwBBIGsiAiQAAkAgAC0AAEH/AUcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDPAg0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQzwINAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC5sCAQV/IwBBEGsiAiQAAkAgACgCACIFLQAAQQJHBEBBASEAIAEoAgAiA0HnkckAQQQgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyADQZWAxwBBkIDHACAFLQAAIgEbQQRBBSABGyAEEQAARQ0BDAMLIANBnePCAEECIAQRAAANAiACQQE6AA8gAiAGNgIEIAIgAzYCACAFLQAAIQEgAiACQQ9qNgIIIAJBlYDHAEGQgMcAIAEbQQRBBSABGxD9CA0CIAJBpLLIAEECEP0IDQILIANBiJDJAEEBIAQRAAAhAAwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQALIAJBEGokACAAC50CAQV/IwBBIGsiAiQAAkAgACgCAEF/RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABEL0EDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahC9BA0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLngIBBX8jAEEgayICJAACQCAALQAAQf8BRwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABENACDQMgASgCACEEIAEoAgQoAgwhBQwBCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDQAg0CIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAML8wEBBH8jAEEQayICJAAgAiAAKAIAIgNBAkY2AgwgASACQQxqIgRBBBCWCAJAIANBAkYEQCAAKAIIIQMgAiAAKAIMIgA2AgwgASAEQQQQlgggAEUNASAAQRRsIQADQCADIAEQwhEgA0EUaiEDIABBFGsiAA0ACwwBCyACIAM2AgwgASACQQxqIgRBBBCWCCAAKAIEIQUgA0EBRgRAIAAoAgghAyACIAU2AgwgASAEQQQQlgggAiADNgIMIAEgBEEEEJYIIAIgACgCDDYCDCABIARBBBCWCAwBCyACIAU2AgwgASACQQxqQQQQlggLIAJBEGokAAuKAgIFfwF+IwBBEGsiAiQAIAIgACkCBDcCACACIAKtIgdCgICAgNABhDcDCEEBIQYCQCABKAIAIgMgASgCBCIEQbWUwgAgAkEIaiIBELEJDQACQCAAKAIUIgVFDQAgAiAAKAIQIgA2AgAgAiAHQoCAgICADoQiBzcDCCADIARBz63AACABELEJDQEgBUEBRg0AIABBIGohASAFQQV0QSBrIQAgBCgCDCEFA0AgAiABNgIAIANBiLPJAEECIAURAAANAiACIAc3AwggAyAEQc+twAAgAkEIahCxCQ0CIAFBIGohASAAQSBrIgANAAsLIANBiJDJAEEBIAQoAgwRAAAhBgsgAkEQaiQAIAYL/AEBAX8jAEEQayIGJAACQAJAAkAgAQRAIAZBBGogASADIAQgBSACKAIQEQYAAkAgBigCBCICIAYoAgwiAU0EQCAGKAIIIQUMAQsgAkECdCECIAYoAgghAyABRQRAIANBBGsoAgAiBUF4cSEEIARBBEEIIAVBA3EiBRsgAmpJDQMgBUEARyAEIAJBJ2pLcQ0EIAMQvAVBBCEFDAELIAMgAkEEIAFBAnQiAhCtBiIFRQ0ECyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQYigxABBMhC+FQALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0EEEKcUAAuaAgEFfyMAQSBrIgIkAAJAIAAoAgAEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDBDw0DIAEoAgAhBCABKAIEKAIMIQUMAQsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQwQ8NAiACKAIQQaSyyABBAiACKAIUKAIMEQAADQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC/cBAQd/IwBBIGsiAiQAAkAgAUUEQEEAIQEMAQsgAEEwaiEFIABBKGohBAJAA0ACQCAEKAIABEAgAkEYaiAAIAQQuAUgAigCGA0BCwJAIAAoAiAiA0UNACAAKAIkIQYDQCADIAZGDQEgACADQQxqIgc2AiAgACADQQRqKAIAIgg2AiggACAIIANBCGooAgBByABsajYCLCACQRBqIAAgBBC4BSAHIQMgAigCEEUNAAsMAQsgBEEANgIAIAUoAgBFDQIgAkEIaiAAIAUQuAUgAigCCEUNAgsgAUEBayIBDQALQQAhAQwBCyAFQQA2AgALIAJBIGokACABC5ACAQR/AkACQAJAAn8CQAJAAkACQAJAQQ4gASgCACICQQ1rIAJBDE0bDgMAAQABCyABKAIEIgNBf0YNASABKAIIIQIgASgCDEEDaw4CAgMFCyABEIYEC0G0o8YAEJ0VAAsgAi8AAEHh5gFzIAJBAmotAABB4wBzcg0CQQAMAQsgAigAAEHkys2bBkcNAUEBCyEBIAMEQCACQQRrKAIAIgRBeHEhBSAFQQRBCCAEQQNxIgQbIANqSQ0CIARBAEcgBSADQSdqS3ENAyACELwFCyAAQX82AjAgACABOgAADwtBoKvJAEEoQcSjxgAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQs6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQg6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQk6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAubAgEDfyMAQTBrIgQkACAEIAIpABg3ACggBCACKQAQNwAgIAQgAikACDcAGCAEIAIpAAA3ABACQEEwEJABIgIEQCACQQo6AAAgAiAEKQAJNwABIAIgBCkAETcACSACIAQpABk3ABEgAiAEKQAhNwAZIAIgBCkAKDcAICABKAIQIgUoAgAhBiAFIAZBAWo2AgAgBCADKQAANwAMIAQgAykACDcAFCAGQQBODQEAC0G48MkAQQE6AAAACyAAIAQpAAk3AAkgACAEKQARNwARIAAgBCgAGDYAGCAAIAEpAgg3AkAgACABKQIANwI4IABBADoATCAAIAU2AkggAEECOgAgIAAgAjYCHCAAQQ46AAggAEEDOgAAIARBMGokAAueAgEDfyMAQcABayICJAACQAJAAkACQAJAAkBBAyAAKAIAIgNBAmsgA0EBTRtBAWsOAwECAwALIAAoAgQhBCACIABBCGpB3AD8CgAADAMLIAJB3ABqIABBBGoQoAcgAiACKQJgNwMAIAIgAikCaDcDCCACIAIpAnA3AxAgAiACKQJ4NwMYIAIgAikCgAE3AyAgAiACKQKIATcDKCACKAJcIQRBAyEDDAILQeQAEJABIgRFDQIgACgCBCAEELgPQQQhAwwBCyACQdwAaiAAEOQFIAIoAmAhBCACKAJcIQMgAiACQeQAakHcAPwKAAALIAEgBDYCBCABIAM2AgAgAUEIaiACQdwA/AoAACACQcABaiQADwtBuPDJAEEBOgAAAAvTBwEDfyMAQSBrIgUkAEG88MkAQbzwyQAoAgAiBkEBajYCAAJAAkACQAJAIAZBAEgNAAJAAkBB6OzJAC0AAEUEQEHo7MkAQQE6AABB5OzJAEHk7MkAKAIAQQFqNgIAQezsyQAoAgAiBkEASA0DIAYgBkEBaiIHSg0EQezsyQAgBzYCAEHw7MkAKAIADQFB7OzJACAHQQFrNgIADAILIAUgACABKAIYEQIAAAsgBUEIaiAAIAEoAhQRAgAgBSAEOgAdIAUgAzoAHCAFIAI2AhggBSAFKQMINwIQIwBBEGsiACQAIABBADYCCCAAQoCAgIAQNwIAIAVBEGohAiMAQTBrIgQkACAAKAIAIAAoAggiAWtBC00EQCAAIAFBDEEBQQEQsxEgACgCCCEBCyAAIAFBDGo2AgggACgCBCABaiIBQeSjyQApAAA3AAAgAUHso8kAKAAANgAIIAQgAigCCCIBKQIANwIIIAQgAUEMaq1CgICAgIABhDcDICAEIAFBCGqtQoCAgICAAYQ3AxggBCAEQQhqrUKAgICAsAGENwMQAkAgAEG4qsIAQcKCwAAgBEEQaiIFELEJIgYNACAFIAIoAgAiASACKAIEKAIMIgcRAgAgASECIAQpAxBC3Oyn/8XbgPu5f4UgBCkDGELxg8Pjpr7Y4CSFhEIAUgR/IAUgASAHEQIAIAQpAxBC2o+wzISvmaZThSAEKQMYQsL7vezk8qeTT4WEQgBSDQEgAUEEaiECQQgFQQQLIAFqKAIAIQUgAigCACECIAAoAgAgACgCCCIBa0EBTQRAIAAgAUECQQFBARCzESAAKAIIIQELIAAoAgQgAWpBuhQ7AAAgACABQQJqIgE2AggCQAJAIAAoAgAgAWsgBUkEQCAAIAEgBUEBQQEQsxEgACgCCCEBDAELIAVFDQELIAVFDQAgACgCBCABaiACIAX8CgAACyAAIAEgBWo2AggLIARBMGokAAJAAkACQCAGRQRAIAAoAgAhASAAKAIEIgIgACgCCBAKIAEEQCACQQRrKAIAIgVBeHEhBCAEQQRBCCAFQQNxIgUbIAFqSQ0CIAVBAEcgBCABQSdqS3ENAyACELwFCyAAQRBqJAAMAwtB8LXJAEE3IABBD2pB0KrCAEGotskAENoSAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQezsyQBB7OzJACgCACIAQQFrNgIAIABBAEwNAwtB6OzJAEEAOgAAIAMNAwsAC0HQnckAQRxB7J3JABDAEwALQYCkyQBBzQBBqKTJABC/EwALAAvjAQECfyMAQRBrIgMkACAAKAIAIQACfwJAIAEoAggiAkGAgIAQcUUEQCACQYCAgCBxDQEgACABEJcODAILIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAOS2SToAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJDAELIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAKSWRDoAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJCyADQRBqJAALlwIBBX8jAEEQayICJAACQCAALQAAQf8BRwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgBCAALQAAQQJ0IgAoApTISSAAKAL8x0kgBREAAEUNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAiAGNgIEIAIgBDYCACACQQE6AA8gAC0AAEECdCIAKAKsyEkhASAAKALEyEkhACACIAJBD2o2AgggAiAAIAEQ/QgNAiACQaSyyABBAhD9CA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQRBqJAAgAwuFAgEEfyMAQRBrIgIkACAAKAIAIgNBFGooAgAhACADQRhqKAIAIQRBASEDIAEoAgBBo7LIAEEBIAEoAgQoAgwRAAAhBSACQQE6AAcgAkEAOwAFIAIgBToABCACIAE2AgACQAJAAkAgBARAIARB6ABsIQEDQCACIABB3ABqNgIIIAIgADYCDCACIAJBCGpBogIgAkEMakGjAhDiCyAAQegAaiEAIAFB6ABrIgENAAsgAi0ABEUNAQwCCyAFDQELIAItAAZBAUYNASACKAIAIgAoAgBBobLIAEEBIABBBGooAgAoAgwRAAAhAwsgAkEQaiQAIAMPC0H448IAQd0AQajkwgAQvxMAC+IBAQh/AkACQAJAIAJFBEBBBCEHDAELIAJBDGwiCRCQASIHRQ0BIAIhCgNAIAUgCUYNAUF/IQggASgCCCEDIAEoAgQhBAJAIAEoAgBBf0YEQCAEIQYMAQsgA0UEQEEAIQhBASEGDAELIAMQkAEiBkUNBCADBEAgBiAEIAP8CgAACyADIQgLIAFBDGohASAFIAdqIgQgCDYCACAEQQhqIAM2AgAgBEEEaiAGNgIAIAVBDGohBSAKQQFrIgoNAAsLIAAgAjYCCCAAIAc2AgQgACACNgIADwtBBBCnFAALQQEQpxQAC/8BAQd/IwBBEGsiBCQAQcgAEJABIgYEQAJAIAEoAggiAyABKAIEIgIoAhwiBUkEQCABKAIAIQUgAigCGCADQfAAbGoiAygCaCEHIAMoAmQhAyACIAIoAgAiCEEBajYCACAIQQBIDQEgBCAHNgIMIAQgAzYCCCAEIAI2AgQgBiAFIARBBGoQ8g8gAEEBNgIIIAAgBjYCBCAAQQE2AgAgAiACKAIAIgBBAWs2AgAgAEEBRgRAIAIQMAsgASgCBCICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIEEDALIARBEGokAA8LIAMgBUHk/sgAEIUTCwALQbjwyQBBAToAAAAL7wEBBn8CQAJAIAAgAEHtAmoiAEoNAAJ/IAAgAEGx9QhtIgVBsfUIbGsiAEEfdSEBIAFBsfUIcSAAaiICQe0CbiIALQCcuEIiBiACIABB7QJsayIESwRAIABBAWsiAEGQA00EQCAEIAAtAJy4QmtB7QJqDAILQX9BkQNB1MbCABCFEwALIAJBz/QISw0CIAQgBmsLIgJB7QJLDQAgACABIAVqQZADbGoiAUH//w9rQYKAYEkNACAALQD8tEIgAkEEdCABQQ10akEQanIiAEEAIABB+D9xQeEtSRshAwsgAw8LQZADQZADQYy4wgAQhRMAC4gCAQJ/IwBBEGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkBBCiABKAIAIgNBG2sgA0EaTRtBAWsOCgEFAgMGBgYGBgQACyABQeQAaiEBDAcLIAEoAhxBf0YNBCABQRxqIQEMBgsgASgCaEF/Rg0DIAFB6ABqIQEMBQsgASgCzAFBf0YNAiABQcwBaiEBDAQLIAFBjAJqIQEMAwsgASgCCEF/Rg0BIAFBxAFqIQEMAgsgAEF+NgIADAILIAJBBGoiAyABELsJIAAgAxDXAiACKAIEIgEoAgAhACABIABBAWs2AgAgAEEBRw0BIAIoAgQQMAwBCyAAIAE2AgQgAEF/NgIACyACQRBqJAALjQIBBn8jAEEgayICJAAgAEEMaigCACAAQQRqKAIAIgRrQegBbiEFQQEhAAJAIAEoAgAiA0HA8sUAQQggASgCBCIHKAIMIgYRAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAYRAAANAiAEIAUgARDEC0UNAQwCCyADQZ3jwgBBAiAGEQAADQEgAkEBOgAPIAIgBzYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAQgBSACQRBqEMQLDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQALIAJBIGokACAAC/0BAQR/IwBBgCBrIgQkAAJAAkACQAJAAkBBgIn6ACABIAFBgIn6AE8bIgMgASABQQF2ayICIAIgA0kbIgVBgQhPBEAgAkH/////A0sNAiAFQQJ0IgJB/f///wdPDQIgAhCQASIDRQ0DIAAgASADIAUgAUHBAEkQ3QMgA0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNBCABQQBHIAAgAkEnaktxDQUgAxC8BQwBCyAAIAEgBEGACCABQcEASRDdAwsgBEGAIGokAA8LEJ4VAAtBBBCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5MCAQV/IwBBEGsiAiQAAkAgAC0AACIEQf8BRwRAQQEhACABKAIAIgNB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQMgAyAEQQJ0IgEoArDRSSABKAKM0UkgBREAAEUNAQwDCyADQZ3jwgBBAiAFEQAADQIgAiAGNgIEIAIgAzYCACACQQE6AA8gBEECdCIBKALU0UkhBCABKAL40UkhASACIAJBD2o2AgggAiABIAQQ/QgNAiACQaSyyABBAhD9CA0CCyADQYiQyQBBASAFEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQRBqJAAgAAvtAQIBfgJ/IwBBEGsiAyQAIAAoAgAhAAJ/AkAgASgCCCIEQYCAgBBxRQRAIARBgICAIHENASAAIAEQjg4MAgsgACkDACECQREhAANAIAAgA2pBAmsgAqdBD3EtAOS2SToAACAAQQFrIQAgAkIEiCICQgBSDQALIAFBAUGilsQAQQIgACADakEBa0ERIABrEMkJDAELIAApAwAhAkERIQADQCAAIANqQQJrIAKnQQ9xLQCklkQ6AAAgAEEBayEAIAJCBIgiAkIAUg0ACyABQQFBopbEAEECIAAgA2pBAWtBESAAaxDJCQsgA0EQaiQAC6wCAQJ+AkACQCADQQtJDQAgAikAACIEQvDezaP3zNyy8wCFIgUgAkEDaikAAEL0zsmrts7Oly+FhFANASADQQ1JDQAgBSACQQVqKQAAQvLKzYvHzc6XL4WEUA0BIANBEkkNACAEQvDkpZvXrdiV8ACFIAJBCGopAABC7+bRu6au2bk6hYQgAkEQajMAAEKv3gCFhFANAQtBPhCQASIBBEAgAEE+NgIIIAAgATYCBCAAQT42AgAgAUHyusUAKQAANwA2IAFB7LrFACkAADcAMCABQeS6xQApAAA3ACggAUHcusUAKQAANwAgIAFB1LrFACkAADcAGCABQcy6xQApAAA3ABAgAUHEusUAKQAANwAIIAFBvLrFACkAADcAAA8LQQEQpxQACyAAQX82AgAL+AECAn8BfiMAQSBrIgIkACABMwEMQiCGQgAgASgCCCIDQYCAgMAAcRshBAJ/IANBgICAEHFFBEAgA0GAgIAgcUUEQCACIAA2AgwgAiAENwMYIAIgAkEMaq1CgICAgLAlhDcDECABKAIAIAEoAgRB4s3GACACQRBqELEJDAILIAIgADYCDCACIAQ3AxggAiACQQxqrUKAgICAwCWENwMQIAEoAgAgASgCBEHqzcYAIAJBEGoQsQkMAQsgAiAANgIMIAIgBDcDGCACIAJBDGqtQoCAgIDAJYQ3AxAgASgCACABKAIEQfLNxgAgAkEQahCxCQsgAkEgaiQAC/8BAQN/IwBBEGsiBCQAIAEoAgQhAwJAAkACQAJAIAACfyABKAIAQQFGBEAgAigCmAIiBSADTQ0CIAEoAggiBSACKAKUAiADQSRsaiICQSBqKAIAIgNPDQMgAkEcaigCACAFQdQAbGoiAigCAEGAgICAeEcNBCABKAIMIgEgAigCJCIDTw0FIAIoAiAgAUHcAGxqIgIoAiQhASACKAIgDAELIARBCGogAiADENAQIAQoAgwhASAEKAIICzYCACAAIAE2AgQgBEEQaiQADwsgAyAFQZS+xAAQhRMACyAFIANBlL7EABCFEwALQZS+xAAQnRUACyABIANBpL7EABCFEwALkQIBA38jAEEQayICJAACQCABKAIAIgNBf0YNAAJAAkACQAJ/AkACQAJAAkACQEEVIANBgICAgHhzIANBAE4bQQxrDgQAAQIDCQsgASgCCCEEIAEoAgwMBAsgASgCBCEEIAEoAggMAwsgAkEEaiABKAIIIAEoAgwQlwggAigCBEUNAQwGCyACQQRqIAEoAgQgASgCCBCXCCACKAIEDQULIAIoAgghBCACKAIMCyIDQQRrDgIAAQMLIAQoAABB9PLBqwZGDQEMAgtB4+PIACAEIAMQjxMNAQsgACABKQMYNwMYIAAgASkDEDcDECAAIAEpAwg3AwggACABKQMANwMAIAEhAAsgAEF/NgIAIAJBEGokAAv1AQEEfyMAQSBrIgIkACABKAIEIQMgASgCACEBAn8CQAJAAkAgACgCACIAKAIwIgRB9////wdqIgVBACAEIAVPG0EBaw4CAQIACyACIAA2AgwgAiACQQxqrUKAgICAwCyENwMQIAEgA0G/mMAAIAJBEGoQsQkMAgsgAiAANgIMIAIgAkEMaq1CgICAgNAshDcDECABIANB6afAACACQRBqELEJDAELIAIgADYCCCACIABBDGo2AgwgAiACQQxqrUKAgICAkAKENwMYIAIgAkEIaq1CgICAgJAChDcDECABIANBjpjAACACQRBqELEJCyACQSBqJAAL7wEBBH8jAEEQayICJAACQAJAAkACQAJAIAFBAXEEQCABQQF2IgFFBEBBAUEAELgUIQAMAwsgARCQASIDRQ0DIAEEQCADIAAgAfwKAAALIAMgARC4FCEADAELIAJBBGogACABELgMIAIoAgQhASACKAIIIgMgAigCDBC4FCEAIAFFDQELIANBBGsoAgAiBEF4cSEFIAVBBEEIIARBA3EiBBsgAWpJDQIgBEEARyAFIAFBJ2pLcQ0DIAMQvAULIAJBEGokACAADwtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4oCAQR/IwBBMGsiAiQAIAIgACgCADYCDEEBIQACQCABKAIAIgNBq+zEAEEHIAEoAgQiBSgCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgAkEMaiABELoPDQIgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAfIAIgBTYCFCACIAM2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahC6Dw0BIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAQsgA0GIkMkAQQEgBBEAACEACyACQTBqJAAgAAuKAgEEfyMAQTBrIgIkACACIAAoAgA2AgxBASEAAkAgASgCACIDQcHsxABBCyABKAIEIgUoAgwiBBEAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0CIAJBDGogARC6Dw0CIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0BIAJBAToAHyACIAU2AhQgAiADNgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQug8NASACKAIgQaSyyABBAiACKAIkKAIMEQAADQELIANBiJDJAEEBIAQRAAAhAAsgAkEwaiQAIAAL3AEBAn8jAEEQayIDJAACfwJAIAEoAggiAkGAgIAQcUUEQCACQYCAgCBxDQEgACABEJcODAILIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAOS2SToAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJDAELIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAKSWRDoAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJCyADQRBqJAAL9wECAX8BfiMAQRBrIgIkAAJ/AkACQAJAAkAgACkDACIDp0EEa0EAIANCBFUbQQFrDgMBAgMACyACIAA2AgQgAiACQQRqrUKAgICAwBKENwMIIAEoAgAgASgCBEHPrcAAIAJBCGoQsQkMAwsgAiAAQQhqNgIEIAIgAkEEaq1CgICAgNAShDcDCCABKAIAIAEoAgRBz63AACACQQhqELEJDAILIAIgAEEIajYCBCACIAJBBGqtQoCAgIDgEoQ3AwggASgCACABKAIEQc+twAAgAkEIahCxCQwBCyABKAIAQd2RyQBBBSABKAIEKAIMEQAACyACQRBqJAALigIBB38jAEEgayICJAAgASgCACIDQcDyxQBBCCABKAIEIgcoAgwiBBEAACEIIAAoAgwgACgCBCIFa0EMbiEGQQEhAAJAIAgNAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAiAFIAYgARDFC0UNAQwCCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAPIAIgBzYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgBiACQRBqEMULDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQALIAJBIGokACAAC4oCAQd/IwBBIGsiAiQAIAEoAgAiA0GF6sUAQQQgASgCBCIHKAIMIgQRAAAhCCAAKAIEIAAoAgAiBWtBDG4hBkEBIQACQCAIDQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgBSAGIAEQxQtFDQEMAgsgA0Gd48IAQQIgBBEAAA0BIAJBAToADyACIAc2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAYgAkEQahDFCw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgASgCAEGIkMkAQQEgASgCBCgCDBEAACEACyACQSBqJAAgAAuKAgEHfyMAQSBrIgIkACABKAIAIgNBwPLFAEEIIAEoAgQiBygCDCIEEQAAIQggACgCDCAAKAIEIgVrQTRuIQZBASEAAkAgCA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0CIAUgBiABEMYLRQ0BDAILIANBnePCAEECIAQRAAANASACQQE6AA8gAiAHNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgBSAGIAJBEGoQxgsNASACKAIQQaSyyABBAiACKAIUKAIMEQAADQELIAEoAgBBiJDJAEEBIAEoAgQoAgwRAAAhAAsgAkEgaiQAIAAL3AEBAn8jAEEQayIDJAACfwJAIAEoAggiAkGAgIAQcUUEQCACQYCAgCBxDQEgACABEP8NDAILIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAOS2SToAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJDAELIAAoAgAhAkEJIQADQCAAIANqQQZqIAJBD3EtAKSWRDoAACAAQQFrIQAgAkEEdiICDQALIAFBAUGilsQAQQIgACADakEHakEJIABrEMkJCyADQRBqJAALigIBB38jAEEgayICJAAgASgCACIDQcDyxQBBCCABKAIEIgcoAgwiBBEAACEIIAAoAgwgACgCBCIFa0EMbiEGQQEhAAJAIAgNAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAiAFIAYgARDHC0UNAQwCCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAPIAIgBzYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgBiACQRBqEMcLDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyABKAIAQYiQyQBBASABKAIEKAIMEQAAIQALIAJBIGokACAAC/cBAQF/IwBBMGsiBCQAIAQgATYCCCAEIAA2AgQgBCACQf8BcUECdCIAKALAvkk2AhwgBCAAKAKcvkk2AhggBCAEQRhqrUKAgICA0AGENwMoIAQgBEEEaq1CgICAgNABhDcDICAEQQxqQbD3wQAgBEEgahC4DCAEKAIMIQAgAyAEKAIQIgEgBCgCFBDVCQJAAkAgAARAIAFBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAGpJDQEgA0EARyACIABBJ2pLcQ0CIAEQvAULIARBMGokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4cCAQR/IwBBMGsiAiQAIAIgADYCDEEBIQACQCABKAIAIgNB2frGAEEGIAEoAgQiBSgCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgAkEMaiABELoPDQIgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAfIAIgBTYCFCACIAM2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahC6Dw0BIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAQsgA0GIkMkAQQEgBBEAACEACyACQTBqJAAgAAuHAgEEfyMAQTBrIgIkACACIAA2AgxBASEAAkAgASgCACIDQbnsxABBCCABKAIEIgUoAgwiBBEAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0CIAJBDGogARC6Dw0CIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0BIAJBAToAHyACIAU2AhQgAiADNgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQug8NASACKAIgQaSyyABBAiACKAIkKAIMEQAADQELIANBiJDJAEEBIAQRAAAhAAsgAkEwaiQAIAALhwIBBH8jAEEwayICJAAgAiAANgIMQQEhAAJAIAEoAgAiA0Gy7MQAQQcgASgCBCIFKAIMIgQRAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAiACQQxqIAEQug8NAiABKAIAIQMgASgCBCgCDCEEDAELIANBnePCAEECIAQRAAANASACQQE6AB8gAiAFNgIUIAIgAzYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqELoPDQEgAigCIEGkssgAQQIgAigCJCgCDBEAAA0BCyADQYiQyQBBASAEEQAAIQALIAJBMGokACAAC4cCAQR/IwBBMGsiAiQAIAIgADYCDEEBIQACQCABKAIAIgNB44DHAEEGIAEoAgQiBSgCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgAkEMaiABELoPDQIgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAfIAIgBTYCFCACIAM2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahC6Dw0BIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAQsgA0GIkMkAQQEgBBEAACEACyACQTBqJAAgAAuHAgEEfyMAQTBrIgIkACACIAA2AgxBASEAAkAgASgCACIDQZzsxABBDyABKAIEIgUoAgwiBBEAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBBEAAA0CIAJBDGogARC6Dw0CIAEoAgAhAyABKAIEKAIMIQQMAQsgA0Gd48IAQQIgBBEAAA0BIAJBAToAHyACIAU2AhQgAiADNgIQIAJBoOvCADYCJCACIAEpAgg3AiggAiACQR9qNgIYIAIgAkEQajYCICACQQxqIAJBIGoQug8NASACKAIgQaSyyABBAiACKAIkKAIMEQAADQELIANBiJDJAEEBIAQRAAAhAAsgAkEwaiQAIAALhwIBBH8jAEEwayICJAAgAiAANgIMQQEhAAJAIAEoAgAiA0GB78UAQQggASgCBCIFKAIMIgQRAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAiACQQxqIAEQhQUNAiABKAIAIQMgASgCBCgCDCEEDAELIANBnePCAEECIAQRAAANASACQQE6AB8gAiAFNgIUIAIgAzYCECACQaDrwgA2AiQgAiABKQIINwIoIAIgAkEfajYCGCACIAJBEGo2AiAgAkEMaiACQSBqEIUFDQEgAigCIEGkssgAQQIgAigCJCgCDBEAAA0BCyADQYiQyQBBASAEEQAAIQALIAJBMGokACAAC4cCAQR/IwBBMGsiAiQAIAIgADYCDEEBIQACQCABKAIAIgNBxv3GAEEPIAEoAgQiBSgCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgAkEMaiABELoPDQIgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAfIAIgBTYCFCACIAM2AhAgAkGg68IANgIkIAIgASkCCDcCKCACIAJBH2o2AhggAiACQRBqNgIgIAJBDGogAkEgahC6Dw0BIAIoAiBBpLLIAEECIAIoAiQoAgwRAAANAQsgA0GIkMkAQQEgBBEAACEACyACQTBqJAAgAAvmAQIBfgJ/IwBBEGsiAyQAAn8CQCABKAIIIgRBgICAEHFFBEAgBEGAgIAgcQ0BIAAgARD7DQwCCyAAKQMAIQJBESEAA0AgACADakECayACp0EPcS0A5LZJOgAAIABBAWshACACQgSIIgJCAFINAAsgAUEBQaKWxABBAiAAIANqQQFrQREgAGsQyQkMAQsgACkDACECQREhAANAIAAgA2pBAmsgAqdBD3EtAKSWRDoAACAAQQFrIQAgAkIEiCICQgBSDQALIAFBAUGilsQAQQIgACADakEBa0ERIABrEMkJCyADQRBqJAAL5AEBAX8CQCADRQ0AIARBBEcNACADLQAAIgFBIEEAIAFBwQBrQf8BcUEaSRtyQf8BcUH1AEcNACADLQABIgFBIEEAIAFBwQBrQf8BcUEaSRtyQf8BcUH1AEcNACADLQACIgFBIEEAIAFBwQBrQf8BcUEaSRtyQf8BcUHpAEcNACADLQADIgFBIEEAIAFBwQBrQf8BcUEaSRtyQf8BcUHkAEcNACAAQQQ2AgggAEHymckANgIEIABBfzYCACACKAIAIgAEQCACKAIEIAAQ2RILDwsgACACKAIINgIIIAAgAikCADcCAAuFAgEFfyMAQRBrIgIkAEEBIQMCQCAAKAIAQQFGBEAgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAoAgQgAEEIaigCACAEIAYQ+gpFDQEMAwsgBEGd48IAQQIgBREAAA0CIAIgBjYCBCACIAQ2AgAgAkEBOgAPIABBCGooAgAhASACIAJBD2o2AgggACgCBCABIAJBoOvCABD6Cg0CIAJBpLLIAEECEP0IDQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBEGokACADC/UBAQR/AkACQAJAAkAgAC0AAEEDRgRAIAAoAgQiACgCACECIABBBGooAgAiASgCACIDBEAgAiADEQMACyABKAIEIgEEQCACQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0CIARBAEcgAyABQSdqS3ENAyACELwFCyAAQQRrKAIAIgFBeHEhAiACQRBBFCABQQNxIgEbSQ0DIAFBAEcgAkE0T3ENBCAAELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv+AQECfwJAAkACQAJAAkAgAkUiBEUEQCACEJABIgNFDQEgBEUEQCADIAEgAvwKAAALIAJBAEgNAiACEJABIgFFDQMgBEUEQCABIAMgAvwKAAALIABBjICAgHg2AjAgACACNgIIIAAgATYCBCAAIAI2AgAgA0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNBCABQQBHIAAgAkEnaktxDQUgAxC8BQ8LIABBjICAgHg2AjAgAEEANgIIIABCgICAgBA3AwAPC0EBEKcUAAsQnhUAC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALkQIBA38jAEGAAWsiAyQAIANBHGoiBSACEPEKIAMgAygCJDYAGCADIAMpAhw3ABAgA0EMOgBYIAMgAykADTcAWSADIAMpABQ3AGAgA0EAOgB4IANBfzYCSCADQX82AiwgA0EANgIkIANBPGogAhDxCiADQoGAgIAQNwIcIANBATYCOAJAQRgQkAEiBARAIAQgATYCFCAEIAIoAhA2AhAgBCACKQIINwIIIAQgAikCADcCAEEYEJABIgFFDQEgAUEAOgAUIAFBtOjHADYCDCABIAQ2AgggAUKBgICAEDcCACADIAE2AnwgACAFQeQA/AoAACADQYABaiQADwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAuXAgEDfyMAQYABayIDJAAgA0EMaiICIAEQ5AUgA0HwAGogAkEBEJ8OAkBB5AAQkAEiBARAIARBBjoABCAEQQI2AgBBkAEQkAEiAkUNASACQX42AgAgAiADKQNwNwMgIAIgAygCeDYCKCACQQA7AYwBIAJBDjYCiAEgAkGY8McANgKEASACQX82AoABIAJCBDcDeCACQgE3A3AgAiAENgJsIAJBATYCaCACQX42AkggAkEBOwFEIAJBBDYCQCACQZTwxwA2AjwgAkKAgICAcDcCNCACQoCAgIDAADcCLCAAQQI2AgggACACNgIEIABBAjYCACABEOsIIANBgAFqJAAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC4cCAQV/IwBBIGsiAiQAAkAgACgCACIFKAIAQX9HBEBBASEAIAEoAgAiA0HnkckAQQQgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyAFIAEQgAxFDQEMAwsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQgAwNAiACQaSyyABBAhD9CA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQSBqJAAgAAv2AQEFf0EBIQQCQAJAAkAgACgCAEEBRwRAAkAgASgCCCIDRSIFRQRAIAEoAgQhASADEJABIgRFDQMgBUUEQCAEIAEgA/wKAAALIANBf0YNAQsgACgCBCIBQQBKBEAgACgCCCIHQQRrKAIAIgZBeHEhBSAFQQRBCCAGQQNxIgYbIAFqSQ0EIAZBAEcgBSABQSdqS3ENBSAHELwFCyAAIAM2AgwgACAENgIIIAAgAzYCBCAAIAIQzg0hBAsgBA8LQaCryQBBKEH0rskAEK8UAAtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC+EBAQR/QQJBASAAQYc/SyICGyEBIAIgASAAQQt0IgIgAUECdCgChJlDQQt0SRsiA0ECdCgChJlDQQt0IQEgAyABIAJJaiABIAJGaiIDQQJ0IgFBhJnDAGohBEEVIQIgASgChJlDQRV2IQECfwJAIANBAUsNACAEKAIEQRV2IQIgAw0AQQAMAQsgBEEEaygCAEH///8AcQshAwJAIAIgAUF/c2pFDQAgACADayEDIAJBAWshAkEAIQADQCADIAAgAUHB3sIAai0AAGoiAEkNASACIAFBAWoiAUcNAAsLIAFBAXEL4AEBB38jAEEQayIDJAAgACgCACEFAkACQAJAIAFB8bicDiACIAJB8bicDk8bIgYgACgCCCIEayIHTwRAIAUgBGshBwwBCyAHIAUgBGsiB00NAiACIARJDQAgA0EEaiAFIAAoAgQgBkEIQcgAEKURIAMoAgRBAUYNAAwBCyABIAdNDQEgASAEaiIGIARJBEBBABCnFAALIANBBGogBSAAKAIEIAZBCEHIABClESADKAIEQQFGBEAgAygCCCADKAIMIQkQpxQACwsgACADKAIINgIEIAAgBjYCAAsgA0EQaiQAC5ICAQR/IwBBEGsiACQAQQEhBAJAIAEoAgAiAkGd1sYAQREgASgCBCIFKAIMIgMRAAANACABLQAKQYABcUUEQCACQZfjwgBBAyADEQAADQEgAkHKpcgAQQYgAxEAAA0BIAJBprLIAEECIAMRAAANASACQby4xQBBDyADEQAADQEgAkHt6sIAQQIgAxEAACEEDAELIAJBmuPCAEEDIAMRAAANACAAIAU2AgQgACACNgIAIABBAToADyAAIABBD2o2AgggAEHKpcgAQQYQ/QgNACAAQaayyABBAhD9CA0AIABBvLjFAEEPEP0IDQAgAEGkssgAQQIQ/QgNACACQaGyyABBASADEQAAIQQLIABBEGokACAEC4QCAQV/IwBBIGsiAiQAAkAgACgCACIFKAIABEBBASEAIAEoAgAiA0HnkckAQQQgASgCBCIGKAIMIgQRAAANAQJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAQRAAANAyAFIAEQvwhFDQEMAwsgA0Gd48IAQQIgBBEAAA0CIAJBAToADyACIAY2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAJBEGoQvwgNAiACQaSyyABBAhD9CA0CCyADQYiQyQBBASAEEQAAIQAMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEACyACQSBqJAAgAAuYAgEBfxCFFSIEAn8CQAJAAkACQCABQQFrDgMBAgMAC0HimsIAQQoQxQkhASAEQf2ayQBBBBDFCSABEKUUIAMtAAJFBEAgArgQ+xQhA0HRkMkADAQLIAKtEPoUIQNB0ZDJAAwDC0HsmsIAQQsQxQkhASAEQf2ayQBBBBDFCSABEKUUIAMtAAJFBEAgArgQ+xQhA0HRkMkADAMLIAKtEPoUIQNB0ZDJAAwCC0H3msIAQRIQxQkhASAEQf2ayQBBBBDFCSABEKUUIAMtAAJFBEAgArgQ+xQhA0HRkMkADAILIAKtEPoUIQNB0ZDJAAwBC0GJm8IAQQUQxQkhA0H9mskAC0EEEMUJIAMQpRQgACAENgIEIABBADYCAAuCAgEFfyMAQSBrIgIkAAJAIAAoAgBBAkcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARDNDEUNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDNDA0CIAJBpLLIAEECEP0IDQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC4ICAQV/IwBBIGsiAiQAAkAgACgCAEF+RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABEPkQRQ0BDAMLIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEPkQDQIgAkGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAMLggIBBX8jAEEgayICJAACQCAAKAIAQX9HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAIAEQ3AtFDQEMAwsgBEGd48IAQQIgBREAAA0CIAJBAToADyACIAY2AgQgAiAENgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAAIAJBEGoQ3AsNAiACQaSyyABBAhD9CA0CCyAEQYiQyQBBASAFEQAAIQMMAQsgASgCAEHrkckAQQQgASgCBCgCDBEAACEDCyACQSBqJAAgAwuCAgEFfyMAQSBrIgIkAAJAIAAoAgBBAkcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARCLDEUNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCLDA0CIAJBpLLIAEECEP0IDQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC4ICAQV/IwBBIGsiAiQAAkAgACgCAEF/RwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABEIkLRQ0BDAMLIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEIkLDQIgAkGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAML8wEBBH8CQAJAAkACQAJAIAAoAgAiAUF/Rg0AIAFFDQAgACgCBCICQQRrKAIAIgRBeHEhAyADQQRBCCAEQQNxIgQbIAFqSQ0BIARBAEcgAyABQSdqS3ENAiACELwFCwJAIAAoAgwiAUF/Rg0AIAFFDQAgACgCECIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0DIAJBAEcgACABQSdqS3ENBCADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuCAgEFfyMAQSBrIgIkAAJAIAAoAgBBAkcEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAgARC0BUUNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAkEBOgAPIAIgBjYCBCACIAQ2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahC0BQ0CIAJBpLLIAEECEP0IDQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBIGokACADC4ICAQV/IwBBIGsiAiQAAkAgACgCAEECRwRAQQEhAyABKAIAIgRB55HJAEEEIAEoAgQiBigCDCIFEQAADQECQCABLQAKQYABcUUEQCAEQbTPxQBBASAFEQAADQMgACABENEMRQ0BDAMLIARBnePCAEECIAURAAANAiACQQE6AA8gAiAGNgIEIAIgBDYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqENEMDQIgAkGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEgaiQAIAML/gEBA38jAEGAAWsiAyQAIAIoAgAiBCgCACEFIAQgBUEBajYCAAJAAkAgBUEATgRAIAIoAgQhBSADIAIoAgg2AnwgAyAFNgJ4IAMgBDYCdCADQQA2AnAgA0EMaiIEIAEgA0HwAGoQ+AxBBRCQASIBRQ0BIAFBwPHHAC0AADoABCABQbzxxwAoAAA2AABB5AAQkAEiAkUNAiACIARB5AD8CgAAIABBBTYCQCAAIAE2AjwgAEEFNgI4IABCBDcDMCAAQgE3AyggACACNgIkIABBATYCICAAQX42AgAgAEEAOwFEIANBgAFqJAAPCwALQQEQpxQAC0G48MkAQQE6AAAAC/gBAQR/IwBBgAFrIgMkACABKAIUIQIgA0EMaiIEQQRqIAEQ8QogA0EBNgIMIANBHGoiBSACIAQQ+AwCQEHkABCQASIEBEAgBCAFQeQA/AoAAEHIABCQASICRQ0BIAJBATsBRCACQQU2AkAgAkG88ccANgI8IAJBfzYCOCACQgQ3AzAgAkIBNwMoIAIgBDYCJCACQQE2AiAgAkF+NgIAIABBATYCCCAAIAI2AgQgAEEBNgIAIAEoAhAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCEBAwCyADQYABaiQADwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAvrAQEDfyAAKAIQIgEoAgAhAiABIAJBAWs2AgAgAkEBRgRAIAAoAhAQMAsgACgCHCIBKAIAIQIgASACQQFrNgIAIAJBAUYEQCAAKAIcEDALIAAoAgQhAiAAKAIIIgMEQCACIQEDQCABEMAHIAFB5ABqIQEgA0EBayIDDQALCwJAAkAgACgCACIBBEAgAkEEaygCACIAQXhxIQMgAyABQeQAbCIBQQRBCCAAQQNxIgAbakkNASAAQQBHIAMgAUEnaktxDQIgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvpAQEDfyMAQYAgayIEJAACQAJAAkACQAJAQYCk6AMgASABQYCk6ANPGyICIAEgAUEBdmsiAyACIANLGyICQYEgTwRAIAJBAEgNAiACEJABIgNFDQMgACABIAMgAiABQcEASRCJBCADQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIAJqSQ0EIAFBAEcgACACQSdqS3ENBSADELwFDAELIAAgASAEQYAgIAFBwQBJEIkECyAEQYAgaiQADwsQnhUAC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL7wEBBH8CQAJAAkACQCAAKAIIIgEEQCAAQQxqKAIAIgRBBGsoAgAiA0F4cSECIAIgAUECdCIBQQRBCCADQQNxIgMbakkNASADQQBHIAIgAUEnaktxDQIgBBC8BQsCQCAAQX9GDQAgACAAKAIEQQFrIgI2AgQgAg0AIABBBGsoAgAiAUF4cSECIAJBGEEcIAFBA3EiARtJDQMgAUEARyACQTxPcQ0EIAAQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC/MBAQR/AkACQAJAIAAoAhAiAUF/Rg0AIAFFDQAgACgCFCIEQQRrKAIAIgNBeHEhAiACQQRBCCADQQNxIgMbIAFqSQ0BIANBAEcgAiABQSdqS3ENAiAEELwFCwJAAkACQCAALQAcDgIAAQILIABBIGoQ4ggMAQsgAEEsahDDAiAAKAJQIgIoAgAhASACIAFBAWs2AgAgAUEBRw0AIABB0ABqELYICwJAIAAoAlgiAUUNACABIAEoAgAiAUEBazYCACABQQFHDQAgAEHYAGoQywQLDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALgAIBBX8jAEEQayICJAACQCAAKAIAIgQoAgBBf0YEQCABKAIAQfrpxQBBCyABKAIEKAIMEQAAIQAMAQtBASEAIAEoAgAiA0Hx6cUAQQkgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAEKAIEIAQoAgggAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AgggBCgCBCAEKAIIIAJBoOvCABC/Bg0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhAAsgAkEQaiQAIAALgAIBBX8jAEEQayICJAACQCAAKAIAIgQoAgBBf0cEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0DIAQoAgQgBCgCCCADIAYQvwZFDQEMAwsgA0Gd48IAQQIgBREAAA0CIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAEKAIEIAQoAgggAkGg68IAEL8GDQIgAkGkssgAQQIQ/QgNAgsgA0GIkMkAQQEgBREAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEQaiQAIAALgAIBBX8jAEEQayICJAACQCAAKAIAIgQoAgBBfkcEQEEBIQAgASgCACIDQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0DIAQoAgQgBCgCCCADIAYQvwZFDQEMAwsgA0Gd48IAQQIgBREAAA0CIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAEKAIEIAQoAgggAkGg68IAEL8GDQIgAkGkssgAQQIQ/QgNAgsgA0GIkMkAQQEgBREAACEADAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAAsgAkEQaiQAIAALgwIAAn8CQCACQQlHDQACQAJAAkAgAS0AAEHhAGsOEwEDAwMDAwMDAwMDAwMDAwMDAwADCyABLQABQeUARg0BDAILIAEtAAFB8gBHDQEgAS0AAkHnAEcNASABLQADQfUARw0BIAEtAARB7QBHDQEgAS0ABUHlAEcNASABLQAGQe4ARw0BIAEtAAdB9ABHDQEgAS0ACEHzAEcNAUEADAILIAEtAAJB7ABHDQAgAS0AA0HlAEcNACABLQAEQeMARw0AIAEtAAVB9ABHDQAgAS0ABkHpAEcNACABLQAHQe8ARw0AIAEtAAhB7gBHDQBBAQwBC0ECCyEBIABBADoAACAAIAE6AAELpwoCG38BfiMAQRBrIgUkACAFIAEoAgAiBjYCACAGLQAUQQNHBEAgBSAGQQhqNgIEIAZBFGogBUEEahCPDwsgBUEEaiEKIAZBDGooAgAhCyAGQRBqKAIAIQkjAEHwAGsiAiQAAkACQAJAAkACQCAJRQRAQQQhDwwBCyAJQeAAbCIXEJABIg9FDQEgAkHlAGohFSACQcQAaiEMIAshASAJIRYDQCAHIBdGDQFBfyEQIAEoAhghCCABKAIUIQQCQCABKAIQQX9GBEAgBCENDAELIAhFBEBBACEQQQEhDQwBCyAIEJABIg1FDQQgCARAIA0gBCAI/AoAAAsgCCEQCyABLQBUIRgCfwJAAkACQCABLQAcIhlBAWsOAgECAAsgAkE4aiAHIAtqQSBqEKAHIAIgDCkCADcDECACIAwpAgg3AxggAiAMKQIQNwMgIAIgDCkCGDcDKCACIBUvAAA7AQwgAiAVLQACOgAOIAIoAkAhESACKAI8IRIgAi0AZCETIAIoAmghDiACKAI4DAILIAJBOGogByALaiIEQSxqEKMBIARBzABqLQAAIRMgBEHQAGooAgAiDigCACEDIA4gA0EBajYCACADQQBIDQYgAiACKQI4NwMQIAIgAikCQDcDGCACIAIpAkg3AyAgAiACKQJQNwMoIARBKGooAgAhESAEQSRqKAIAIRIgBEEgaigCAAwBCyACIAcgC2oiBEEfai0AADoANiACIARBHWovAAA7ATQgAiAEQSxqKQIANwMQIAIgBEE0aikCADcDGCACIARBPGopAgA3AyAgAiAEQcQAaikCADcDKCACIARBzQBqLwAAOwEMIAIgBEHPAGotAAA6AA4gBEEkaigAACESIARBKGooAAAhESAEQcwAai0AACETIARB0ABqKAAAIQ4gBEEgaigAAAshBCABKAJYIhQEQCAUIBQoAgAiA0EBajYCACADQQBIDQULIAEtAFwhGiABKAIAIRsgASkCBCEdIAEtAAwhHCACIAItADY6AAogAiACLwE0OwEIIAIgAikDKDcDUCACIAIpAyA3A0ggAiACKQMYNwNAIAIgAikDEDcDOCACIAItAA46AAYgAiACLwEMOwEEIAcgD2oiA0EcaiAZOgAAIANBGGogCDYCACADQRRqIA02AgAgA0EQaiAQNgIAIANBDGogHDoAACADQQRqIB03AgAgAyAbNgIAIANBKGogETYCACADQSRqIBI2AgAgA0EgaiAENgIAIANBHWogAi8BCDsAACADQR9qIAItAAo6AAAgA0EsaiACKQM4NwIAIANBNGogAikDQDcCACADQTxqIAIpA0g3AgAgA0HEAGogAikDUDcCACADQcwAaiATOgAAIANBzwBqIAItAAY6AAAgA0HNAGogAi8BBDsAACADQdwAaiAaOgAAIANB2ABqIBQ2AgAgA0HUAGogGDoAACADQdAAaiAONgIAIAdB4ABqIQcgAUHgAGohASAWQQFrIhYNAAsLIAogCTYCCCAKIA82AgQgCiAJNgIAIAJB8ABqJAAMAwtBBBCnFAALQQEQpxQLAAsgBSgCDCIBIAUoAgRGBEAgChC1EgsgACAFKQIENwIAIAAgAUEBajYCCCAFKAIIIAFB4ABsaiIAQQA6AFwgAEEANgJYIABBADoAVCAAQYIEOwEcIABBBDYCGCAAQaDvxwA2AhQgAEF/NgIQIABBAjYCACAGIAYoAgAiAEEBazYCACAAQQFGBEAgBRC2CAsgBUEQaiQAC/YBAQd/IwBBIGsiAiQAIAEoAgAiA0HA8sUAQQggASgCBCIHKAIMIgQRAAAhCCAAKAIMIAAoAgQiBWtBFG4hBkEBIQACQCAIDQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgBSAGIAEQnAxFDQEMAgsgA0Gd48IAQQIgBBEAAA0BIAJBAToADyACIAc2AgQgAiADNgIAIAJBoOvCADYCFCACIAEpAgg3AhggAiACQQ9qNgIIIAIgAjYCECAFIAYgAkEQahCcDA0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAQRAAAhAAsgAkEgaiQAIAAL8AEBA38CQAJAAkACQCABKAIAIgNBoAJqKAIAIgQgASgCBCICSwRAIAEoAggiASADQZwCaigCACACQSRsaiICQSBqKAIAIgNPDQEgAkEcaigCACABQdQAbGoiAigCAEGCgICAeEcNAiACKAIMIgFBAEgNAwJAIAFFBEBBASECDAELIAIoAgghAyABEJABIgJFDQUgAUUNACACIAMgAfwKAAALIAAgATYCDCAAIAI2AgggACABNgIEIABBAjYCAA8LIAIgBEHMu8QAEIUTAAsgASADQcy7xAAQhRMAC0HMu8QAEJ0VAAsQnhUAC0EBEKcUAAvwAQEDfwJAAkACQAJAIAEoAgAiA0GgAmooAgAiBCABKAIEIgJLBEAgASgCCCIBIANBnAJqKAIAIAJBJGxqIgJBIGooAgAiA08NASACQRxqKAIAIAFB1ABsaiICKAIAQYKAgIB4Rw0CIAIoAgwiAUEASA0DAkAgAUUEQEEBIQIMAQsgAigCCCEDIAEQkAEiAkUNBSABRQ0AIAIgAyAB/AoAAAsgACABNgIMIAAgAjYCCCAAIAE2AgQgAEEENgIADwsgAiAEQcy7xAAQhRMACyABIANBzLvEABCFEwALQcy7xAAQnRUACxCeFQALQQEQpxQAC/4BAQV/IwBBIGsiAiQAIAAoAgAhBUEBIQACQCABKAIAIgNB2frGAEEGIAEoAgQiBigCDCIEEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAEEQAADQIgBSABEM0PDQIgASgCACEDIAEoAgQoAgwhBAwBCyADQZ3jwgBBAiAEEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAUgAkEQahDNDw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBBEAACEACyACQSBqJAAgAAvsAQEEfwJAAkACQAJAIAAoAggiAQRAIAAoAgwiBEEEaygCACIDQXhxIQIgAiABQRRsIgFBBEEIIANBA3EiAxtqSQ0BIANBAEcgAiABQSdqS3ENAiAEELwFCwJAIABBf0YNACAAIAAoAgRBAWsiAjYCBCACDQAgAEEEaygCACIBQXhxIQIgAkEYQRwgAUEDcSIBG0kNAyABQQBHIAJBPE9xDQQgABC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL7AEBBH8QgxUhCCAFBEAgBUEEdCEJA0AQhRUhBgJ/IARBDGotAABBAUYEQEHIrMkAQQQQxQkMAQtBwqzJAEEGEMUJCyEFIAZB6PXFAEEFEMUJIAUQpRQgBEENai0AABDhESEFIAZB1pfCAEEKEMUJIAUQpRQCfyAEKAIAQX9HBEAgBEEEaigCACAEQQhqKAIAELkUDAELQYEBQYABIAEtAAAbCyEFIARBEGohBCAGQeCXwgBBBhDFCSAFEKUUIAggByAGEPgUIAdBAWohByAJQRBrIgkNAAsLIAIgA0EIEMUJIAgQpRQgAEEANgIAC/gBAQN/IwBBIGsiBSQAQQEhBwJAIAAoAgAiBiABIAIgACgCBCICKAIMIgERAAANAAJAIAAtAApBgAFxRQRAIAZBtM/FAEEBIAERAAANAiADIAAgBBEBAA0CIAAoAgAhBiAAKAIEKAIMIQEMAQsgBkGd48IAQQIgAREAAA0BIAVBAToADyAFIAI2AgQgBSAGNgIAIAVBoOvCADYCFCAFIAApAgg3AhggBSAFQQ9qNgIIIAUgBTYCECADIAVBEGogBBEBAA0BIAUoAhBBpLLIAEECIAUoAhQoAgwRAAANAQsgBkGIkMkAQQEgAREAACEHCyAFQSBqJAAgBwv7AQEFfyMAQRBrIgIkAAJAIAAoAgBBf0cEQEEBIQMgASgCACIEQeeRyQBBBCABKAIEIgYoAgwiBREAAA0BAkAgAS0ACkGAAXFFBEAgBEG0z8UAQQEgBREAAA0DIAAoAgQgACgCCCAEIAYQvwZFDQEMAwsgBEGd48IAQQIgBREAAA0CIAIgBjYCBCACIAQ2AgAgAkEBOgAPIAIgAkEPajYCCCAAKAIEIAAoAgggAkGg68IAEL8GDQIgAkGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEQaiQAIAML+wEBBX8jAEEQayICJAACQCAAKAIAQX5HBEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAKAIEIAAoAgggBCAGEL8GRQ0BDAMLIARBnePCAEECIAURAAANAiACIAY2AgQgAiAENgIAIAJBAToADyACIAJBD2o2AgggACgCBCAAKAIIIAJBoOvCABC/Bg0CIAJBpLLIAEECEP0IDQILIARBiJDJAEEBIAURAAAhAwwBCyABKAIAQeuRyQBBBCABKAIEKAIMEQAAIQMLIAJBEGokACADC4gCAQR/AkACQAJAQQkQkAEiAgRAIAJB+PLHAC0AADoACCACQfDyxwApAAA3AABBGBCQASIBRQ0BQQcQkAEiA0UNAiADQfzyxwAoAAA2AAMgA0H58scAKAAANgAAQQsQkAEiBEUNAyAEQYfzxwAoAAA2AAcgBEGA88cAKQAANwAAIABBADoAMCAAQQk2AhwgACACNgIYIABBCTYCFCAAQTA6ABAgAEECNgIMIAAgATYCCCAAQQI2AgQgAUELNgIUIAEgBDYCECABQoeAgICwATcCCCABIAM2AgQgAUEHNgIAIABBADYCAA8LQQEQpxQAC0G48MkAQQE6AAAAC0EBEKcUAAtBARCnFAAL6gEBBH8CQAJAAkACQCAAKAIIIgEEQCAAKAIMIgRBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQEgA0EARyACIAFBJ2pLcQ0CIAQQvAULAkAgAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAQQRrKAIAIgJBeHEhASABQRhBHCACQQNxIgIbSQ0DIAJBAEcgAUE8T3ENBCAAELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvtAQECf0GQARCQASIBBEACQEHkABCQASICRQ0AIAJBAToABCACQQI2AgBB5AAQkAEiA0UNACADQQE6AAQgA0ECNgIAIAFBATsBjAEgAUEKNgKIASABQarwxwA2AoQBIAFBfzYCgAEgAUIENwN4IAFCATcDcCABIAM2AmwgAUEBNgJoIAFBfjYCSCABQQE7AUQgAUEENgJAIAFBpvDHADYCPCABQX82AjggAUIENwMwIAFCATcDKCABIAI2AiQgAUEBNgIgIAFBfjYCACAAQQI2AgggACABNgIEIABBAjYCAA8LC0G48MkAQQE6AAAAC+0BAQJ/QZABEJABIgEEQAJAQeQAEJABIgJFDQAgAkEIOgAEIAJBAjYCAEHkABCQASIDRQ0AIANBCDoABCADQQI2AgAgAUEAOwGMASABQQc2AogBIAFB6u/HADYChAEgAUF/NgKAASABQgQ3A3ggAUIBNwNwIAEgAzYCbCABQQE2AmggAUF+NgJIIAFBADsBRCABQQY2AkAgAUHtmskANgI8IAFBfzYCOCABQgQ3AzAgAUIBNwMoIAEgAjYCJCABQQE2AiAgAUF+NgIAIABBAjYCCCAAIAE2AgQgAEECNgIADwsLQbjwyQBBAToAAAALgwIBBH8jAEEQayIDJABBDCECAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEETIAEoAgAiBUGAgICAeHMgBUEAThtBAWsOEgABAgIDBAUGAwcCCAkDCgsLCwwLQQMhAgwLC0EKIQIMCgtBCSECDAkLQQAhAgwIC0ECIQIMBwtBCyECDAYLQQEhAgwFCyADQQhqIAEoAgQQihAgAygCDCEBIAMoAgghAkEIEJABIgRFDQUgBCACNgIAIAQgATYCBEEFIQIMBAtBBiECDAMLQQchAgwCC0EEIQIMAQtBCCECCyAAIAQ2AgQgACACNgIAIANBEGokAA8LQbjwyQBBAToAAAAL7QEBA38CQAJAAkACQAJAAkACQCAAKAIAIgJBAWoOAgEDAAsgACgCBCIAQQRrKAIAIgFBeHEhAyADIAJBAnQiAkEEQQggAUEDcSIBG2pJDQMgAUUNASADIAJBJ2pNDQFBkJ3JAEEuQcCdyQAQrxQACyAAKAIEIgNBAEwNASAAKAIIIgBBBGsoAgAiAUF4cSECIAJBBEEIIAFBA3EiARsgA2pJDQMgAUUNACACIANBJ2pLDQQLIAAQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNBkvbFAEEfIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABENwDDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDcAw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNByYfIAEEDIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABENYQDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDWEA0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAvNAQEIfyMAQfABayIEJAACQCABKAIIIgNBzPu0BEkEQAJAIANB6AFsIgVFBEBBCCEGDAELIAEoAgQhASAFEJABIgZFDQIgA0UNACAEQdABaiEIIAMhBwNAIAIgBUcEQCAEQQhqIgkgARCMBiAIIAFByAFqEJADIAIgBmogCUHoAfwKAAAgAkHoAWohAiABQegBaiEBIAdBAWsiBw0BCwsgAyECCyAAIAM2AgggACAGNgIEIAAgAjYCACAEQfABaiQADwsQnhUAC0EIEKcUAAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNBlOXGAEEMIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABEJIKDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCSCg0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNB2frGAEEGIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABEM0PDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDNDw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNB44DHAEEGIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABEM0PDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDNDw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNBuLbJAEEFIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABEJIGDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahCSBg0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAvSAQEEfyMAQRBrIgIkACACIAAoAgAiA0ECRjYCDCABIAJBDGoiBEEEEJYIAkAgA0ECRgRAIAAoAgggAiAAKAIMIgA2AgwgASAEQQQQlgggACABEOoQDAELIAIgAzYCDCABIAJBDGoiBEEEEJYIIAAoAgQhBSADQQFGBEAgACgCCCEDIAIgBTYCDCABIARBBBCWCCACIAM2AgwgASAEQQQQlgggAiAAKAIMNgIMIAEgBEEEEJYIDAELIAIgBTYCDCABIAJBDGpBBBCWCAsgAkEQaiQAC/cBAQV/IwBBIGsiAiQAQQEhBAJAIAEoAgAiA0HG/cYAQQ8gASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAIAEQzQ8NAiABKAIAIQMgASgCBCgCDCEFDAELIANBnePCAEECIAURAAANASACQQE6AA8gAiAGNgIEIAIgAzYCACACQaDrwgA2AhQgAiABKQIINwIYIAIgAkEPajYCCCACIAI2AhAgACACQRBqEM0PDQEgAigCEEGkssgAQQIgAigCFCgCDBEAAA0BCyADQYiQyQBBASAFEQAAIQQLIAJBIGokACAEC+MBAQN/IwBBIGsiAiQAIAEoAhAhAyACQRRqIAEQugYgAAJ/AkACQCACLQAUQQFGBEAgAigCGCEEIANBf0YNASABQRBqEIgIDAELIAItABUhBCADQX5HDQELIAAgBDYCBEEBDAELIAIgASkCFDcCBCACIAEoAhw2AgwgAiADNgIAAkAgA0F/RwRAAkACQEEVIANBgICAgHhzIANBAE4bQRJrDgQBAwMAAwsgAigCCA0CCyACEIgICyAAIAQ6AAFBAAwBCyAAIAIgAkEfakGojccAEOgTNgIEQQELOgAAIAJBIGokAAv3AQEFfyMAQSBrIgIkAEEBIQQCQCABKAIAIgNBiJPJAEEYIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgACABEO4LDQIgASgCACEDIAEoAgQoAgwhBQwBCyADQZ3jwgBBAiAFEQAADQEgAkEBOgAPIAIgBjYCBCACIAM2AgAgAkGg68IANgIUIAIgASkCCDcCGCACIAJBD2o2AgggAiACNgIQIAAgAkEQahDuCw0BIAIoAhBBpLLIAEECIAIoAhQoAgwRAAANAQsgA0GIkMkAQQEgBREAACEECyACQSBqJAAgBAvHAQEFfwJAIAEoAgAiAiABKAIERgRADAELQQEhBiABIAJBAWo2AgAgAi0AACIDwEEATg0AIAEgAkECajYCACACLQABQT9xIQQgA0EfcSEFIANB3wFNBEAgBUEGdCAEciEDDAELIAEgAkEDajYCACACLQACQT9xIARBBnRyIQQgA0HwAUkEQCAEIAVBDHRyIQMMAQsgASACQQRqNgIAIAVBEnRBgIDwAHEgAi0AA0E/cSAEQQZ0cnIhAwsgACADNgIEIAAgBjYCAAvYAQEDfyMAQRBrIgQkAEEBIQYCQAJAQQEQkAEiBQRAIAVBIjoAACAEQQE2AgwgBCAFNgIIIARBATYCBCABIARBBGoQ/A0CQCADRSIFDQAgAxCQASIGRQ0CIAUNACAGIAIgA/wKAAALIAQgAzYCDCAEIAY2AgggBCADNgIEIAEgBEEEaiIDEPwNQQEQkAEiAkUNAiACQSI6AAAgBEEBNgIMIAQgAjYCCCAEQQE2AgQgASADEPwNIABBfjYCACAEQRBqJAAPC0EBEKcUAAtBARCnFAALQQEQpxQAC/UBAQF/IwBBMGsiBSQAIAUgASACEL0FAkACQAJAIAUoAgBBfkYEQAJAIARFBEBBBBCQASICRQ0DIAJBoJK5ggI2AAAgBUEENgIIIAUgAjYCBCAFQQQ2AgAMAQtBCBCQASICRQ0DIAJCoJy9ooWkkqcgNwAAIAVBCDYCCCAFIAI2AgQgBUEINgIACyABIAUQ/A0gACABIAMQpAoMAwsgACAFKQIoNwIoIAAgBSkCIDcCICAAIAUpAhg3AhggACAFKQIQNwIQIAAgBSkCCDcCCCAAIAUpAgA3AgAgAxDRCwwCC0EBEKcUAAtBARCnFAALIAVBMGokAAvcAQEFfyMAQbABayIGJAACQAJAIAJBjN3oBUkEQAJAIAJBsAFsIgVFBEBBCCEEDAELIAIhCCAFEJABIgRFDQILIAIEQCAEIQcgAiEFA0AgBiABIANBABCJAiAHIAZBsAH8CgAAIAFBFGohASAHQbABaiEHIAVBAWsiBQ0ACwtBEBCQASIBRQ0CIAEgCDYCCCABIAQ2AgQgASAENgIAIAEgBCACQbABbGo2AgwgAEHsjckANgIEIAAgATYCACAGQbABaiQADwsQnhUAC0EIEKcUAAtBuPDJAEEBOgAAAAv1AQEBfyMAQTBrIgUkACAFIAEgAhCtBQJAAkACQCAFKAIAQX5GBEACQCAERQRAQQQQkAEiAkUNAyACQaCSuYICNgAAIAVBBDYCCCAFIAI2AgQgBUEENgIADAELQQgQkAEiAkUNAyACQqCcvaKFpJKnIDcAACAFQQg2AgggBSACNgIEIAVBCDYCAAsgASAFEPwNIAAgASADEKYKDAMLIAAgBSkCKDcCKCAAIAUpAiA3AiAgACAFKQIYNwIYIAAgBSkCEDcCECAAIAUpAgg3AgggACAFKQIANwIAIAMQpwsMAgtBARCnFAALQQEQpxQACyAFQTBqJAAL+AEBA38jAEEQayICJAAgAiAAKAIAIgBBGGo2AgQgASgCAEGtrskAQQUgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB+vDFAEEHIABB4QEQiQ5BgfHFAEEFIABBDGpB4gEQiQ5B1ezFAEEEIAJBBGpB4wEQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC4QCAQF/IwBBgAFrIgQkACAEIAIoAgg2AiggBCACKQIANwMgIARBMGogA0HQAPwKAAAgACgCCCIDIAAoAgBGBEAgABCvEgsgACgCBCADQcgCbGoiAkEANgIQIAJBHzYCCCACQn83AwAgAkEUaiAEQSxqQdQA/AoAACACQegAaiABQdAA/AoAACACQoCAgIBwNwPQASACQoCAgIAQNwPIASACQX82ArgBIAJCfzcDwAIgACADQQFqNgIIIAIgBCkDADcD2AEgAiAEKQMINwPgASACIAQpAxA3A+gBIAIgBCkDGDcD8AEgAiAEKQMgNwP4ASACIAQoAig2AoACIARBgAFqJAAgAwv4AQEDfyMAQRBrIgIkACACIAAoAgAiAEEIajYCBCABKAIAQd3/xgBBBCABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHh/8YAQQUgAEHsABCJDkHm/8YAQQMgAEEEakHsABCJDkHp/8YAQQcgAkEEakHTAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL7QEBAn8jAEFAaiIBJAAgAUEANgIMIAFCgICAgBA3AgQgAUGwkMcANgIUIAFCoICAgAY3AhggASABQQRqNgIQAkACQCAAKAIMRQRAIAAgAUEQahCoBg0BDAILIAEgAEEQaq1CgICAgIABhDcDMCABIABBDGqtQoCAgICAAYQ3AyggASAArUKAgICAgASENwMgIAFBBGpBsJDHAEGWicAAIAFBIGoQsQlFDQELQfC1yQBBNyABQT9qQciQxwBBqLbJABDaEgALIAEgASgCDDYCKCABIAEpAgQ3AyAgAUEgahD2AiAAEO8LIAFBQGskAAvrAQEDfyMAQRBrIgQkAAJAAkACQAJAAkACQAJAIAFBBWsOCAADAQMDAwMCAwsgBEEIaiACKAIAIAIoAgQQoBAgBCgCDCEBIAQoAgghA0EIEJABIgVFDQMgBSADNgIAIAUgATYCBCACQQRrKAIAIgFBA3EhAyABQXhxQQxBECADG0kNBCADQQBHIAFBME9xDQUgAhC8BUECIQMMAgtBASEDDAELQQMhAwsgACAFNgIEIAAgAzYCACAEQRBqJAAPC0G48MkAQQE6AAAAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuQAgECfyMAQRBrIgMkAAJAAkACQAJAAkBBDiABKAIAIgJBDWsgAkEMTRsODgIAAAAAAAAAAAAAAAABAAtB1obJAEH7AEG8i8kAEL8TAAtBFBCQASICDQFBuPDJAEEBOgAAAAsgAEEEOgAYIABBfjYCCCAAQQA2AgAgAEF+NgJQIAMgASkABDcABCAAIAMpAAE3ABkgAyABKAAMNgAMIAAgAykACDcAIAwBCyACQoGAgIAQNwIAIABBfjYCUCAAQcTpyAA2AiwgACACNgIoIABBhYCAgHg2AhwgAEESOgAYIABBfjYCCCAAQQA2AgAgAiABKQIMNwIIIAIgASgCFDYCECABQQRqEMASCyADQRBqJAAL5gEBBH8gACgCACIAEM0BAkACQAJAAkACQCAAKAJQIgFBfkYNACABQX9GDQAgAUUNACAAKAJUIgRBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQEgA0EARyACIAFBJ2pLcQ0CIAQQvAULIABBBGsoAgAiAUEDcSECIAFBeHFB5ABB6AAgAhtJDQIgAkEARyABQYgBT3ENAyAAELwFDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC/MBAQN/IwBBEGsiAiQAIAIgAEEMajYCBCABKAIAQbi2yQBBBSABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHKo8kAQQQgAEEYakHWARCJDkHy+cUAQQ0gAEHXARCJDkH/+cUAQRAgAkEEakHNARCJDiEBIAItAA0iAyACLQAMIgRyIQACQCADQQFHDQAgBEEBcQ0AIAEoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEADAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAAsgAkEQaiQAIABBAXEL7gEBBX8jAEEQayICJAACQCAAKAIABEBBASEDIAEoAgAiBEHnkckAQQQgASgCBCIGKAIMIgURAAANAQJAIAEtAApBgAFxRQRAIARBtM/FAEEBIAURAAANAyAAKAIAIAQgBhDZC0UNAQwDCyAEQZ3jwgBBAiAFEQAADQIgAiAGNgIEIAIgBDYCACACQQE6AA8gAiACQQ9qNgIIIAAoAgAgAkGg68IAENkLDQIgAkGkssgAQQIQ/QgNAgsgBEGIkMkAQQEgBREAACEDDAELIAEoAgBB65HJAEEEIAEoAgQoAgwRAAAhAwsgAkEQaiQAIAML8wEBA38jAEEQayICJAAgAiAANgIEIAEoAgBBjPXFAEEVIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQampyABBCiAAQRRqQaUBEIkOQYDpxQBBByAAQQhqQaMBEIkOQcWGxwBBCSACQQRqQYICEIkOIQEgAi0ADSIDIAItAAwiBHIhAAJAIANBAUcNACAEQQFxDQAgASgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQAMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEACyACQRBqJAAgAEEBcQvwAQEFfyMAQRBrIgIkAEEBIQQCQCABKAIAIgNBoPvGAEEKIAEoAgQiBigCDCIFEQAADQACQCABLQAKQYABcUUEQCADQbTPxQBBASAFEQAADQIgAyAALQAAQQJ0IgAoAqzMSSAAKAKMzEkgBREAAEUNAQwCCyADQZ3jwgBBAiAFEQAADQEgAiAGNgIEIAIgAzYCACACQQE6AA8gAC0AAEECdCIAKALMzEkhASAAKALszEkhACACIAJBD2o2AgggAiAAIAEQ/QgNASACQaSyyABBAhD9CA0BCyADQYiQyQBBASAFEQAAIQQLIAJBEGokACAEC/ABAQV/IwBBEGsiAiQAQQEhBAJAIAEoAgAiA0Gg+8YAQQogASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiADIAAtAABBAnQiACgCvNJJIAAoApzSSSAFEQAARQ0BDAILIANBnePCAEECIAURAAANASACIAY2AgQgAiADNgIAIAJBAToADyAALQAAQQJ0IgAoAtzSSSEBIAAoAvzSSSEAIAIgAkEPajYCCCACIAAgARD9CA0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhBAsgAkEQaiQAIAQL8wEBA38jAEEQayICJAAgAiAANgIEIAEoAgBBi/3GAEENIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQbmyyQBBCSAAQRBqQdQCEIkOQZj9xgBBDyAAQRxqQdUCEIkOQbuoyABBDiACQQRqQdYCEIkOIQEgAi0ADSIDIAItAAwiBHIhAAJAIANBAUcNACAEQQFxDQAgASgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQAMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEACyACQRBqJAAgAEEBcQvnAQACfwJAAkACQCACQQVrDgcAAgICAgIBAgsgAS0AAEHiAEcNASABLQABQeEARw0BIAEtAAJB9ABHDQEgAS0AA0HjAEcNASABLQAEQegARw0BQQAMAgsgAS0AAEH0AEcNACABLQABQfIARw0AIAEtAAJB4QBHDQAgAS0AA0HuAEcNACABLQAEQfMARw0AIAEtAAVB4QBHDQAgAS0ABkHjAEcNACABLQAHQfQARw0AIAEtAAhB6QBHDQAgAS0ACUHvAEcNACABLQAKQe4ARw0AQQEMAQtBAgshASAAQQA6AAAgACABOgABC/MBAQN/IwBBEGsiAiQAIAIgAEEQajYCBCABKAIAQYiJyABBGiABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGiicgAQQ4gAEHtAhCJDkGwicgAQQ4gAEEIakHtAhCJDkGkrMkAQQYgAkEEakHuAhCJDiEBIAItAA0iAyACLQAMIgRyIQACQCADQQFHDQAgBEEBcQ0AIAEoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEADAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAAsgAkEQaiQAIABBAXEL2gEBA38jAEEQayICJAAgASgCBCEDIAEoAgAhAQJ/AkACQAJAQQIgACgCACIAKAIwIgRB9v///wdqIARBiYCAgHhNG0EBaw4CAQIACyACIAA2AgQgAiACQQRqrUKAgICAkAKENwMIIAEgA0GWtsAAIAJBCGoQsQkMAgsgAiAANgIEIAIgAkEEaq1CgICAgPAChDcDCCABIANBxJbAACACQQhqELEJDAELIAIgADYCBCACIAJBBGqtQoCAgICAA4Q3AwggASADQaOXwAAgAkEIahCxCQsgAkEQaiQAC9YBAQF/IwBBIGsiBSQAIAUgAjYCDCAFIAE2AgggBSADrUKAgICAwAKENwMYIAUgBUEIaq1CgICAgNABhDcDECAAQeuhwAAgBUEQahC4DCAAIAQoAgg2AhQgACAEKQIANwIMAkACQCADKAIAIgAEQCADKAIEIgJBBGsoAgAiA0F4cSEBIAFBBEEIIANBA3EiAxsgAGpJDQEgA0EARyABIABBJ2pLcQ0CIAIQvAULIAVBIGokAA8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC90BAQN/IAAoAgQhAQJAAkACQAJAAn8gACgCAEEBRgRAIAAoAhAiA0GgAmooAgAiAiABTQ0CIAAoAggiAiADQZwCaigCACABQSRsaiIBQSBqKAIAIgNPDQMgAUEcaigCACACQdQAbGoiASgCAEGAgICAeEcNBCAAKAIMIgAgASgCJCICTw0FIAEoAiAgAEHcAGxqDAELIAAoAhBBCGogARD2EAstAFhBAkYPCyABIAJBlL7EABCFEwALIAIgA0GUvsQAEIUTAAtBlL7EABCdFQALIAAgAkGkvsQAEIUTAAvdAQEDfyAAKAIEIQECQAJAAkACQAJ/IAAoAgBBAUYEQCAAKAIQIgNBoAJqKAIAIgIgAU0NAiAAKAIIIgIgA0GcAmooAgAgAUEkbGoiAUEgaigCACIDTw0DIAFBHGooAgAgAkHUAGxqIgEoAgBBgICAgHhHDQQgACgCDCIAIAEoAiQiAk8NBSABKAIgIABB3ABsagwBCyAAKAIQQQhqIAEQ9hALLQBYQQFGDwsgASACQZS+xAAQhRMACyACIANBlL7EABCFEwALQZS+xAAQnRUACyAAIAJBpL7EABCFEwAL8AEBAn8jAEFAaiICJAAgAkEMahC/EQJAQcgAEJABIgEEQEHkABCQASIDRQ0BIAMgAikCDDcCBCADQQM2AgAgAyACKQIUNwIMIAMgAikCHDcCFCADIAIpAiQ3AhwgAyACKQIsNwIkIAMgAikCNDcCLCADIAIoAjw2AjQgAUEAOwFEIAFBBjYCQCABQcz2yAA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASADNgIkIAFBATYCICABQX42AgAgAEEBNgIIIAAgATYCBCAAQQE2AgAgAkFAayQADwtBuPDJAEEBOgAAAAtBuPDJAEEBOgAAAAvaAQEEfyMAQSBrIgIkACACQRhqIgMgACgCACUBEB8gAiACKAIcIgA2AhQgAiACKAIYNgIQIAIgADYCDCACIAJBDGqtQoCAgIDAAoQ3AxggASgCACABKAIEQb6OwgAgAxCxCSEDAkACQCACKAIMIgAEQCACKAIQIgVBBGsoAgAiBEF4cSEBIAFBBEEIIARBA3EiBBsgAGpJDQEgBEEARyABIABBJ2pLcQ0CIAUQvAULIAJBIGokACADDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL1gEBA39BBCEBAkACQAJAIAAoAgBBA2oOAgIBAAsgABDaBEE0IQELIAAgAWoQ2gQLIAAoAnQiAiAAKAJsIgFrQTRuIQMgASACRwRAA0AgARDaBCABQTRqIQEgA0EBayIDDQALCwJAAkAgACgCcCIBBEAgACgCaCIDQQRrKAIAIgJBeHEhACAAIAFBNGwiAUEEQQggAkEDcSICG2pJDQEgAkEARyAAIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL4wEBBH8gABCZAQJAAkACQAJAAkAgACgCuAEiAUF+Rg0AIAFBf0YNACABRQ0AIAAoArwBIgRBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQEgA0EARyACIAFBJ2pLcQ0CIAQQvAULIABBBGsoAgAiAUEDcSECIAFBeHFBzAFB0AEgAhtJDQIgAkEARyABQfABT3ENAyAAELwFDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC9YBAQN/QQQhAQJAAkACQCAAKAIAQQNqDgICAQALIAAQnwNBDCEBCyAAIAFqEJ8DCyAAKAIkIgIgACgCHCIBa0EMbiEDIAEgAkcEQANAIAEQnwMgAUEMaiEBIANBAWsiAw0ACwsCQAJAIAAoAiAiAQRAIAAoAhgiA0EEaygCACICQXhxIQAgACABQQxsIgFBBEEIIAJBA3EiAhtqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC88BAQd/IwBBEGsiAiQAIAAoAgAhAwJAAkACQEGXutELIAEgAUGXutELTxsiBiAAKAIIIgRrIgVBAU0EQCADIARrIQUMAQsgBSADIARrIgVNDQIgASAESQ0AIAJBBGogAyAAKAIEIAZBCEHYABClESACKAIEQQFGDQAMAQsgBQ0BIAJBBGogAyAAKAIEIARBAWoiBkEIQdgAEKURIAIoAgRFBEAMAQsgAigCCCACKAIMIQgQpxQACyAAIAIoAgg2AgQgACAGNgIACyACQRBqJAAL2wEBA38gACgCBCEBAkACQAJAAkACfyAAKAIAQQFGBEAgACgCECIDQaACaigCACICIAFNDQIgACgCCCICIANBnAJqKAIAIAFBJGxqIgFBIGooAgAiA08NAyABQRxqKAIAIAJB1ABsaiIBKAIAQYCAgIB4Rw0EIAAoAgwiACABKAIkIgJPDQUgASgCICAAQdwAbGoMAQsgACgCEEEIaiABEPYQCy0AWEUPCyABIAJBlL7EABCFEwALIAIgA0GUvsQAEIUTAAtBlL7EABCdFQALIAAgAkGkvsQAEIUTAAvHAQECfyABKAIIIQMgASgCACICBEAgACADQQFrQXhxakEIaiACEQMACwJAAkACQCAAQX9GDQAgACAAKAIEIgJBAWs2AgQgAkEBRw0AIAEoAgRBBCADIANBBE0bIgFqQQdqQQAgAWtxIgFFDQAgAEEEaygCACICQXhxIQMgA0EEQQggAkEDcSICGyABakkNASACQQBHIAMgAUEnaktxDQIgABC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvoAQECfyMAQTBrIgEkACABIAIoAgAgAigCBCIFKAIIQQFrQXhxaiICQQhqIgYgBSgCDBECAAJAIAEpAwBCw6iz3snLh/HjAIUgASkDCELhra6h9OfG3lKFhFAEQAJAIAYoAgBBf0cEQCABIAMgAigCDCACKAIQIAIoAhggAigCHCAEKAIQEQgAIAEoAgANASAAQf8BOgAADAMLIABBAzoAACAAQQMgAigCDCIAQQJrIABBAU0bQdS/yQBqLQAAOgABDAILIAAgASgCEDYCBCAAQQI6AAAMAQtBuMHFABCdFQALIAFBMGokAAvMAQECf0EBIQICQCAAKAJ4DQAgACgCfEF/Rw0AQQAhAiAALQAgIgFB/wFGDQACQAJAAkAgAQ4EAAEDAgMLIAAoAixB0ABsIQEgACgCKEHQAGshAANAIAFFDQMgAUHQAGshASAAQdAAaiIAEJ8RDQALQQEPCyAAKAIsQdAAbCEBIAAoAihB0ABrIQADQCABRQ0CIAFB0ABrIQEgAEHQAGoiABCfEQ0AC0EBDwsgAC0AKEEBa0H/AXEiAEEPSw0AQdWgAiAAdiECCyACQQFxC80BAQV/IwBBsAFrIgUkAAJAAkAgAUGM3egFSQRAAkAgAUGwAWwiBEUEQEEIIQMMAQsgASEHIAQQkAEiA0UNAgsgAQRAIAMhBiABIQQDQCAFIAAgAkEAEIkCIAYgBUGwAfwKAAAgAEEUaiEAIAZBsAFqIQYgBEEBayIEDQALC0EQEJABIgBFDQIgACAHNgIIIAAgAzYCBCAAIAM2AgAgACADIAFBsAFsajYCDCAFQbABaiQAIAAPCxCeFQALQQgQpxQAC0G48MkAQQE6AAAAC/oBAQF/IwBB0ABrIgIkACAAKAIAIQAgAkHg5cUANgJIIAJBuPjFADYCQCACIABBqwFqNgI8IAJBuPjFADYCOCACIABBqgFqNgI0IAJBqPjFADYCMCACIAA2AiwgAkGY+MUANgIoIAIgAEGkAWo2AiQgAkGI+MUANgIgIAIgAEEQajYCHCACQeDoxQA2AhggAiAAQdgAajYCFCACQYzvxQA2AhAgAiAAQfAAajYCDCACQezkxQA2AgggAiAAQeQAajYCBCACIABBrAFqNgJMIAIgAkHMAGo2AkQgAUHW9sUAQQZB+PjFAEEJIAJBBGpBCRDwByACQdAAaiQAC98BAQF/IwBBEGsiEyQAIAAoAgAgASACIAAoAgQoAgwRAAAhASATQQA6AA0gEyABOgAMIBMgADYCCCATQQhqIAMgBCAFIAYQiQ4gByAIIAkgChCJDiALIAwgDSAOEIkOIA8gECARIBIQiQ4hASATLQANIgIgEy0ADCIDciEAAkAgAkEBRw0AIANBAXENACABKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAAwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQALIBNBEGokACAAQQFxC8oPAg9/BX4jAEHgAGsiBCQAIARCgIAINwNIIARBCjYCRCAEQdSlxQA2AkAgBEFAayEJIwBBIGsiAyQAIAMCfkHQ8MkALQAABEBByPDJACkDACESQcDwyQApAwAMAQsgAxC7EUHQ8MkAQQE6AABByPDJACADKQMIIhI3AwAgAykDAAsiEzcDEEHA8MkAIBNCAXw3AwAgAyASNwMYIANBkKnJACkDADcDACADQZipyQApAwA3AwggCSkDCCEWIAkoAgAhESAJKAIEIQ8gAyADQRBqIgsQsgMgAygCCCADKQMQIAMpAxggESAPEOMKIRJFBEAgAyALELIDCyADKAIEIhAgEqdxIQcgEkIZiCIUQv8Ag0KBgoSIkKDAgAF+IRMgAygCACEGA0ACQAJ/AkACfyAGIAdqKQAAIhUgE4UiEkKBgoSIkKDAgAF9IBJCf4WDQoCBgoSIkKDAgH+DIhJCAFIEQANAAkAgDyAGIBJ6p0EDdiAHaiAQcSILQQR0ayIIQQxrKAIARw0AIBEgCEEQaygCACAPEI8TDQBBACALawwDCyASQgF9IBKDIhJCAFINAAsLIBVCgIGChIiQoMCAf4MhEiAFRQRAIBJQDQIgEnqnQQN2IAdqIBBxIQoLQQEgEiAVQgGGg1ANAhogBiAKaiwAACIHQQBOBEAgBiAGKQMAQoCBgoSIkKDAgH+DeqdBA3YiCmotAAAhBwsgBiAKaiAUp0H/AHEiBToAACAGIApBCGsgEHFqQQhqIAU6AAAgBiAKQQR0ayIFQRBrIBE2AgAgBUEMayAPNgIAIAMgAygCDEEBajYCDCADIAMoAgggB0EBcWs2AghBACAKawshBSAEIAMpAwA3AwAgBCADKQMINwMIIAQgAykDEDcDECAEIAMpAxg3AxggBiAFQQR0akEIayAWNwMAIANBIGokAAwCC0EACyEFIA1BCGoiDSAHaiAQcSEHDAELCyAEQQw2AlwgBEHepcUANgJYIARCgIAINwNQIARBCjYCTCAEQdSlxQA2AkggBEKAgAQ3A0AgBEEgaiEKQQAhBUEAIQZBACEPIwBB8ABrIgMkACADAn5B0PDJAC0AAARAQcjwyQApAwAhEkHA8MkAKQMADAELIANBKGoQuxFB0PDJAEEBOgAAQcjwyQAgAykDMCISNwMAIAMpAygLIhM3AxhBwPDJACATQgF8NwMAIAMgEjcDICADQZCpyQApAwA3AwggA0GYqckAKQMANwMQIANBCGoiDUEQaiELIA0gCxCZAyADKAIQIAMpAxggAykDICADIAkpAwgiEjcDOCADQQE2AiwgAyAJKQMAIhU3AzAgAyAJKQMQNwNAIAMgCSkDGDcDSCASpyEQIAMoAjwhESADQTBqEOsJIRJFBEAgDSALEJkDCyADKAIMIgcgEqdxIQwgEkIZiCITQv8Ag0KBgoSIkKDAgAF+IRYgAygCCCEOAkACQAJAIBAEQANAIAwgDmopAAAiFCAWhSISQoGChIiQoMCAAX0gEkJ/hYNCgIGChIiQoMCAf4MiEkIAUgRAA0ACQCAVIA4gEnqnQQN2IAxqIAdxIgtBBXRrIg1BIGspAwBSDQAgDUEYaygCACIIRQ0AIBEgDUEUaygCAEcNACAQIAggERCPEw0ADAYLIBJCAX0gEoMiEkIAUg0ACwsgFEKAgYKEiJCgwIB/gyESAn8CQCAFRQRAIBJQDQEgEnqnQQN2IAxqIAdxIQYLIBIgFEIBhoNCAFINBEEBDAELQQALIQUgD0EIaiIPIAxqIAdxIQwMAAsAC0EAIQ0DQAJAIAwgDmopAAAiFCAWhSISQoGChIiQoMCAAX0gEkJ/hYNCgIGChIiQoMCAf4MiElANAANAAkAgDiASeqdBA3YgDGogB3EiC0EFdGsiCEEgaykDACAVUQRAIAhBGGsoAgBFDQELIBJCAX0gEoMiEkIAUg0BDAILCwwDCyAUQoCBgoSIkKDAgH+DIRICfwJAIAVBAUcEQCASUA0BIBJ6p0EDdiAMaiAHcSEGCyASIBRCAYaDQgBSDQNBAQwBC0EACyEFIA1BCGoiDSAMaiAHcSEMDAALAAsgA0HgAGohCyAGIA5qLAAAIgVBAE4EQCAOIA4pAwBCgIGChIiQoMCAf4N6p0EDdiIGai0AACEFCyAGIA5qIBOnQf8AcSIIOgAAIA4gBkEIayAHcWpBCGogCDoAACALIAkpAxA3AwAgCyAJKQMYNwMIIA4gBkEFdGtBIGsiCCAJKQMANwMAIAggCSkDCDcDCCAIIAMpA2A3AxAgCCADKQNoNwMYIAMgAygCFEEBajYCFCADIAMoAhAgBUEBcWs2AhAMAQtBACALayEMIA4gDEEFdGpBEGsiBSAJKQMYNwMIIAUgCSkDEDcDAAsgCiADKQMgNwMYIAogAykDGDcDECAKIAMpAxA3AwggCiADKQMINwMAIANB8ABqJAAgACACNgJkIAAgATYCYCAAIAQpAwA3AwAgACAEKQMINwMIIAAgBCkDEDcDECAAIAQpAxg3AxggACAEKQMgNwMgIAAgBCkDKDcDKCAAIAQpAzA3AzAgACAEKQM4NwM4IABCgICAgIAINwNYIABCADcDUCAAQv//9/++trIBNwNIIABCgICAgMHBzQI3A0AgBEHgAGokAAvMAQIFfwF+IwBB0ABrIgUkAAJAQeAAEJABIgMEQCAFIAAoAgAiARCzAkF+IQQgASgCUCIAQX5HBEBBfyEEIAEoAlghAiABKAJUIQECQCAAQX9GBEAgASEADAELIAJFBEBBASEAQQAhBAwBCyACEJABIgBFDQMgAgRAIAAgASAC/AoAAAsgAiEECyAArSACrUIghoQhBgsgAyAFQdAA/AoAACADIAY3AlQgAyAENgJQIAVB0ABqJAAgAw8LQbjwyQBBAToAAAALQQEQpxQAC8wBAgV/AX4jAEHQAGsiBSQAAkBB4AAQkAEiAwRAIAUgACgCACIBEN4BQX4hBCABKAJQIgBBfkcEQEF/IQQgASgCWCECIAEoAlQhAQJAIABBf0YEQCABIQAMAQsgAkUEQEEBIQBBACEEDAELIAIQkAEiAEUNAyACBEAgACABIAL8CgAACyACIQQLIACtIAKtQiCGhCEGCyADIAVB0AD8CgAAIAMgBjcCVCADIAQ2AlAgBUHQAGokACADDwtBuPDJAEEBOgAAAAtBARCnFAAL6gEBA38jAEEQayICJAAgAiAAKAIAKAIAIgBB0ABqNgIEIAEoAgBB8PDFAEEKIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQcqjyQBBBCAAQfUBEIkOQZDExgBBBSACQQRqQeABEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvxAQECfyMAQUBqIgEkAAJAAkBBgOzJACgCACICQf////8HSQRAQYDsyQAgAkEBajYCAEGI7MkAKAIAQX9GBEBBgOzJACACNgIADAILIAFBIGpBiOzJABCQA0GA7MkAQYDsyQAoAgBBAWs2AgAgASABKQIkNwMAIAEgASkCLDcDCCABIAEpAjQ3AxAgASABKAI8NgIYIAEoAiAiAkF9Sw0BIAAgASgCGDYCHCAAIAEpAxA3AhQgACABKQMINwIMIAAgASkDADcCBAwCCxDTEwALIABBBGoQlhEgAEEANgIQQRYhAgsgACACNgIAIAFBQGskAAvMAQIFfwF+IwBB0ABrIgUkAAJAQeAAEJABIgMEQCAFIAAoAgAiARCGAkF+IQQgASgCUCIAQX5HBEBBfyEEIAEoAlghAiABKAJUIQECQCAAQX9GBEAgASEADAELIAJFBEBBASEAQQAhBAwBCyACEJABIgBFDQMgAgRAIAAgASAC/AoAAAsgAiEECyAArSACrUIghoQhBgsgAyAFQdAA/AoAACADIAY3AlQgAyAENgJQIAVB0ABqJAAgAw8LQbjwyQBBAToAAAALQQEQpxQAC+YBAQN/IwBBEGsiAiQAIAIgACgCACIAQQRqNgIEIAEoAgBB86HFAEEJIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQfyhxQBBCyAAQewAEIkOQYeixQBBCSACQQRqQe0AEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvcAQEEfyAAKAIAIgAQrQECQAJAAkACQCAAKAJQIgFBAEoEQCAAQdQAaigCACIEQQRrKAIAIgNBeHEhAiACQQRBCCADQQNxIgMbIAFqSQ0BIANBAEcgAiABQSdqS3ENAiAEELwFCyAAQQRrKAIAIgFBA3EhAiABQXhxQeQAQegAIAIbSQ0CIAJBAEcgAUGIAU9xDQMgABC8BQ8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvJAQEHfyMAQRBrIgIkACAAKAIAIQQCQAJAAkACQEGZs+YMIAEgAUGZs+YMTxsiBSAAKAIIIgNrIgZBAU0NACAGIAQgA2tNDQIgASADSQ0AIAJBBGogBCAAKAIEIAVBCEHQABClESACKAIEQQFGDQAMAQsgAyAERw0BIAJBBGogAyAAKAIEIANBAWoiBUEIQdAAEKURIAIoAgRBAUYNAgsgACACKAIINgIEIAAgBTYCAAsgAkEQaiQADwsgAigCCCACKAIMIQgQpxQAC+YBAQN/IwBBEGsiAiQAIAIgACgCACIAQQxqNgIEIAEoAgBBzvnFAEEcIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQer5xQBBBCAAQdcBEIkOQe75xQBBBCACQQRqQdoBEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvnAQEDfyMAQRBrIgIkACACIAAoAgAiAEHQAGo2AgQgASgCAEHw8MUAQQogASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpByqPJAEEEIABB9QEQiQ5BkMTGAEEFIAJBBGpB4AEQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+cBAQN/IwBBEGsiAiQAIAIgACgCACIAQbgBajYCBCABKAIAQYP9xgBBCCABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHt6cUAQQQgAEH2ARCJDkGQxMYAQQUgAkEEakHgARCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL5gEBA38jAEEQayICJAAgAiAAKAIAIgBBIGo2AgQgASgCAEGU18YAQQkgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBndfGAEELIABBnAIQiQ5B0ZDJAEEEIAJBBGpBnQIQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+cBAQN/IwBBEGsiAiQAIAIgACgCACIAQdAAajYCBCABKAIAQdDKxgBBDCABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHtmskAQQYgAEGeAhCJDkHcysYAQQkgAkEEakGfAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4AEBBX8CQAJAAkAgACgCAEEBRwRAQQ0QkAEiAkUNASACQZ6GxgApAAA3AAUgAkGZhsYAKQAANwAAAkAgACgCBCIDQX9GDQAgA0UNACAAKAIIIgZBBGsoAgAiBEF4cSEFIAVBBEEIIARBA3EiBBsgA2pJDQMgBEEARyAFIANBJ2pLcQ0EIAYQvAULIABBDTYCDCAAIAI2AgggAEENNgIEIAAgARDUDQ8LQaCryQBBKEH0rskAEK8UAAtBARCnFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC9wBAQR/IAAoAgAiABDUAQJAAkACQAJAIAAoAlAiAUEASgRAIABB1ABqKAIAIgRBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQEgA0EARyACIAFBJ2pLcQ0CIAQQvAULIABBBGsoAgAiAUEDcSECIAFBeHFB5ABB6AAgAhtJDQIgAkEARyABQYgBT3ENAyAAELwFDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC9YBAQR/IAAtAABBAUcEQCABKAIIIQUgASgCBCEGIAAoAgQiBCgCACEBIAAtAAFBAUcEQCABKAIIIgMgASgCAEYEQCABIANBARDOESABKAIIIQMLIAEgA0EBajYCCCABKAIEIANqQSw6AAAgBCgCACEBCyAAQQI6AAEgASAGIAUQtgcgBCgCACIAKAIIIgEgACgCAEYEQCAAIAFBARDOESAAKAIIIQELIAAgAUEBajYCCCAAKAIEIAFqQTo6AAAgAiAEEP4CDwtBoKvJAEEoQZCyyAAQrxQAC9IBAQR/AkACQAJAIAEoAgAiA0F+Rg0AIANBf0YNACABENYHIAEoAnghBSABKAJ8IgQEQCAFIQMDQCADEMEKIANBsAFqIQMgBEEBayIEDQALCyABKAJ0IgRFDQAgBUEEaygCACIDQXhxIQYgBiAEQbABbCIEQQRBCCADQQNxIgMbckkNASADQQBHIAYgBEEnaktxDQIgBRC8BQsgASACQYAB/AoAACAAIAFBuAL8CgAADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL2QEBA38gACgCBCEBAkACQAJAAkAgACgCAEEBRgRAIAAoAhAiA0GgAmooAgAiAiABTQ0BIAAoAggiAiADQZwCaigCACABQSRsaiIBQSBqKAIAIgNPDQIgAUEcaigCACACQdQAbGoiASgCAEGAgICAeEcNAyAAKAIMIgAgASgCJCICTw0EIAEoAiAgAEHcAGxqLQBYDwsgACgCEEEIaiABEPYQLQBYDwsgASACQZS+xAAQhRMACyACIANBlL7EABCFEwALQZS+xAAQnRUACyAAIAJBpL7EABCFEwAL2AEBA38gAC0AAEEBRwRAIAAoAgQiBSgCACEDIAAtAAFBAUcEQCADKAIIIgQgAygCAEYEQCADIARBAUEBQQEQsxEgAygCCCEECyADIARBAWo2AgggAygCBCAEakEsOgAAIAUoAgAhAwsgAEECOgABIANBiIbGAEEMEJ4HIAUoAgAiACgCCCIDIAAoAgBGBEAgACADQQFBAUEBELMRIAAoAgghAwsgACADQQFqNgIIIAAoAgQgA2pBOjoAACAFKAIAIAEgAhCeBw8LQaCryQBBKEGQssgAEK8UAAvZAQECfwJAIAIgASgCCCIDSQRAAkACQCABKAIEIAJB5ABsaiICKAJUIgMgASgCmAIiBEkEQCACKAJYIgQgASgClAIgA0EkbGoiAUEgaigCACIDTw0BIAFBHGooAgAgBEHUAGxqIgEoAgBBgoCAgHhHDQIgAigCXCICIAEoAiQiA08NBCAAIAEoAiAgAkHcAGxqKQIgNwMADwsgAyAEQdS4xAAQhRMACyAEIANB1LjEABCFEwALQdS4xAAQnRUACyACIANB5PbIABCFEwALIAIgA0HkuMQAEIUTAAvZAQECfwJAIAIgASgCFCIDSQRAAkACQCABKAIQIAJB8ABsaiICKAJYIgMgASgCmAIiBEkEQCACKAJcIgQgASgClAIgA0EkbGoiAUEgaigCACIDTw0BIAFBHGooAgAgBEHUAGxqIgEoAgBBgoCAgHhHDQIgAigCYCICIAEoAiQiA08NBCAAIAEoAiAgAkHcAGxqKQIgNwMADwsgAyAEQbS5xAAQhRMACyAEIANBtLnEABCFEwALQbS5xAAQnRUACyACIANBpLnEABCFEwALIAIgA0HEucQAEIUTAAvhAQEDfyMAQRBrIgIkACACIABBDGo2AgQgASgCAEHmocUAQQ0gASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBj7vFAEEFIABB6gAQiQ5B36PJAEEFIAJBBGpB6wAQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+EBAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQYmQyQBBECABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGZkMkAQQUgAEEgakGxARCJDkGekMkAQQkgAkEEakGyARCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4QEBA38jAEEQayICJAAgAiAAQRRqNgIEIAEoAgBBupPJAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQZmQyQBBBSAAQZ8BEIkOQZ6QyQBBCSACQQRqQbQBEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvhAQEDfyMAQRBrIgIkACACIABBDGo2AgQgASgCAEGcgMYAQRAgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBoKzJAEEEIABBpQEQiQ5BrIDGAEEGIAJBBGpB7AEQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+EBAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQZSSyQBBBSABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGG8cUAQQUgAEEQakHtARCJDkGL8cUAQRIgAkEEakHuARCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4QEBA38jAEEQayICJAAgAiAAQQxqNgIEIAEoAgBBzvXFAEEIIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQaCsyQBBBCAAQaUBEIkOQdb1xQBBCyACQQRqQeABEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQviAQEDfyMAQRBrIgIkACACIABB0ABqNgIEIAEoAgBB8PDFAEEKIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQcqjyQBBBCAAQfUBEIkOQZDExgBBBSACQQRqQeABEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQviAQEDfyMAQRBrIgIkACACIAA2AgQgASgCAEHx6sUAQRMgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBr+bFAEEFIABB4ABqQf8BEIkOQfnvxwBBBSACQQRqQYACEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvJAQEFfyAAKAIEIQMgACgCCCIEBEAgAyEBA0AgASgCACICKAIAIQUgAiAFQQFrNgIAIAVBAUYEQCABKAIAEDALIAFBCGoQ4wkgAUHIAGohASAEQQFrIgQNAAsLAkACQCAAKAIAIgEEQCADQQRrKAIAIgBBeHEhAiACIAFByABsIgFBBEEIIABBA3EiABtqSQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC+EBAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQYmQyQBBECABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGZkMkAQQUgAEEgakGxARCJDkGekMkAQQkgAkEEakGXAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4QEBA38jAEEQayICJAAgAiAAQRRqNgIEIAEoAgBBupPJAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQZmQyQBBBSAAQZ8BEIkOQZ6QyQBBCSACQQRqQZgCEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvhAQEDfyMAQRBrIgIkACACIABBIGo2AgQgASgCAEGU18YAQQkgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBndfGAEELIABBnAIQiQ5B0ZDJAEEEIAJBBGpBnQIQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+IBAQN/IwBBEGsiAiQAIAIgAEHQAGo2AgQgASgCAEHQysYAQQwgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB7ZrJAEEGIABBngIQiQ5B3MrGAEEJIAJBBGpBnwIQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC6MBAQN/AkACQAJAAkAgAC0AAEH/AUYEQAJAIAAtAAgOBgAFAgUFBQULIAAoAgwiAkUNASAAKAIQIgNBBGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgAmpJDQIgAUEARyAAIAJBJ2pLcQ0DIAMQvAUPCyAAEIUJCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQACyAAQRBqEIgEC+EBAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQYmQyQBBECABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGZkMkAQQUgAEEgakGxARCJDkGekMkAQQkgAkEEakHcAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4QEBA38jAEEQayICJAAgAiAAQRRqNgIEIAEoAgBBupPJAEEPIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQZmQyQBBBSAAQZ8BEIkOQZ6QyQBBCSACQQRqQd0CEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvhAQEDfyMAQRBrIgIkACACIAA2AgQgASgCAEHMh8gAQQ4gASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBqanIAEEKIABBDGpB5gIQiQ5B2ofIAEEGIAJBBGpB6QIQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+EBAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQb6JyABBECABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGpqcgAQQogAEEMakHmAhCJDkHOicgAQQ0gAkEEakHqAhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL4QEBA38jAEEQayICJAAgAiAANgIEIAEoAgBB24nIAEEQIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQampyABBCiAAQQxqQeYCEIkOQdqHyABBBiACQQRqQesCEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvhAQEDfyMAQRBrIgIkACACIAA2AgQgASgCAEGJkMkAQRAgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpBmZDJAEEFIABBIGpBsQEQiQ5BnpDJAEEJIAJBBGpB/gIQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC+EBAQN/IwBBEGsiAiQAIAIgAEEUajYCBCABKAIAQbqTyQBBDyABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGZkMkAQQUgAEGfARCJDkGekMkAQQkgAkEEakH/AhCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXEL2QEBBX8CQAJAAkAgACgCAEEBRwRAQQ0QkAEiAkUNASACQZ6GxgApAAA3AAUgAkGZhsYAKQAANwAAIAAoAgQiBEEASgRAIAAoAggiBkEEaygCACIDQXhxIQUgBUEEQQggA0EDcSIDGyAEakkNAyADQQBHIAUgBEEnaktxDQQgBhC8BQsgAEENNgIMIAAgAjYCCCAAQQ02AgQgACABEM4NDwtBoKvJAEEoQfSuyQAQrxQAC0EBEKcUAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAAL3AEBBX8jAEEQayICJAAgACgCACEEQQEhAAJAIAEoAgAiA0GJmMkAQRMgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAEKAIEIAQoAgggAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AgggBCgCBCAEKAIIIAJBoOvCABC/Bg0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhAAsgAkEQaiQAIAAL0wEBA38gAC0AAEEBRwRAIAAoAgQiBCgCACECIAAtAAFBAUcEQCACKAIIIgMgAigCAEYEQCACIANBAUEBQQEQsxEgAigCCCEDCyACIANBAWo2AgggAigCBCADakEsOgAAIAQoAgAhAgsgAEECOgABIAJBmYbGAEENEJ4HIAQoAgAiACgCCCICIAAoAgBGBEAgACACQQFBAUEBELMRIAAoAgghAgsgACACQQFqNgIIIAAoAgQgAmpBOjoAACABIAQQ7QMPC0Ggq8kAQShBkLLIABCvFAALtgEBBH8jAEEQayIDJAAgAQRAIAAgAUEUbGohBgNAIAMgACgCACIENgIMIAIgA0EMaiIBQQQQlgggAEEEaigCACEFAkAgBEEBRgRAIABBCGooAgAhBCADIAU2AgwgAiABQQQQlgggAyAENgIMIAIgAUEEEJYIIAMgAEEMaigCADYCDCACIAFBBBCWCAwBCyADIAU2AgwgAiADQQxqQQQQlggLIAYgAEEUaiIARw0ACwsgA0EQaiQAC7EBAQJ/IANBCE8EQCAAIANBA3YiA0EHdCIEIABqIANB4AFsIgUgAGogAxDrECEAIAEgASAEaiABIAVqIAMQ6xAhASACIAIgBGogAiAFaiADEOsQIQILIAAgARCAAiIDQf8BcUH+AUcgA8BBAEhxIQMgACACEIACIgRB/wFxQf4BRyAEwEEASHEgA0YEQCACIAEgAyABIAIQgAIiAEH/AXFB/gFHIADAQQBIcXMbIQALIAAL1AEBAn8CQCABIAAoAggiAkkEQAJAAkAgACgCBCABQeQAbGoiASgCVCICIAAoApgCIgNJBEAgASgCWCIDIAAoApQCIAJBJGxqIgBBIGooAgAiAk8NASAAQRxqKAIAIANB1ABsaiIAKAIAQYKAgIB4Rw0CIAEoAlwiASAAKAIkIgJPDQQgACgCICABQdwAbGooAgAPCyACIANB1LjEABCFEwALIAMgAkHUuMQAEIUTAAtB1LjEABCdFQALIAEgAkHk9sgAEIUTAAsgASACQeS4xAAQhRMAC8IBAQV/IAAoAgQhAyAAKAIIIgIEQCADQRBqIQEDQCABKAIAIgUoAgAhBCAFIARBAWs2AgAgBEEBRgRAIAEoAgAQMAsgAUEUaiEBIAJBAWsiAg0ACwsCQAJAIAAoAgAiAQRAIANBBGsoAgAiAkF4cSEAIAAgAUEUbCIBQQRBCCACQQNxIgIbakkNASACQQBHIAAgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvIAQECfyMAQTBrIgMkACADQQxqIAEgAhCXCAJAAkACQCADKAIMQQFGBEAgAyACNgIgIAMgATYCHCADQQY6ABggA0EYaiADQS9qQeSIxwAQ6xIhASAAQX82AgAgACABNgIEDAELIAMoAhQiAkEASA0BAkAgAkUEQEEBIQEMAQsgAygCECEEIAIQkAEiAUUNAyACRQ0AIAEgBCAC/AoAAAsgACACNgIIIAAgATYCBCAAIAI2AgALIANBMGokAA8LEJ4VAAtBARCnFAALxgEBA38gACgCDCIBKAIAIQIgASACQQFrNgIAIAJBAUYEQCAAKAIMEDALIAAoAgQhAiAAKAIIIgMEQCACIQEDQCABEMAHIAFB5ABqIQEgA0EBayIDDQALCwJAAkAgACgCACIBBEAgAkEEaygCACIAQXhxIQMgAyABQeQAbCIBQQRBCCAAQQNxIgAbakkNASAAQQBHIAMgAUEnaktxDQIgAhC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvmAQICfwF+IwBBIGsiAiQAIAEoAgBBf0YEQCABKAIMIQMgAkEANgIYIAJCgICAgBA3AhAgAkEQakHgm8kAIAMoAgAiAygCACADKAIEELEJGiACIAIoAhgiAzYCCCACIAIpAhAiBDcDACABIAM2AgggASAENwIACyABKAIIIQMgAUEANgIIIAEpAgAhBCABQoCAgIAQNwIAIAIgAzYCGCACIAQ3AxBBDBCQASIBRQRAQbjwyQBBAToAAAALIAEgAigCGDYCCCABIAIpAxA3AgAgAEHwo8kANgIEIAAgATYCACACQSBqJAALzAEBAn8CQAJAAkACQCAALQAADgQAAQMCAwsgACgCDEHQAGwhAiAAKAIIQdAAayEAA0AgAkUNAyACQdAAayECIABB0ABqIgAgARDxEEUNAAtBAQ8LIAAoAgxB0ABsIQIgACgCCEHQAGshAANAIAJFDQIgAkHQAGshAiAAQdAAaiIAIAEQ8RBFDQALQQEPC0EBIQICQAJAAkACQCAALQAIQQxrDgIAAQMLIAAoAgxFDQEMAgsgACgCDA0BCyAAKAIYIQILIAEgAkkhAwsgAwvLAQEDfyMAQRBrIgQkACAEIAEgAigCDBECAEEAIQICQCAEKQMAQovctKvOvLbl5QCFIAQpAwhCooee0Zamop9yhYRCAFINACAAKAIIIgMgASgCCEcNACAAKAIEIAEoAgQgAxCPEw0AIAAoAhQiAyABKAIURw0AIANFBEBBASECDAELIAAoAhAhACABKAIQIQEgA0EBayEDA0AgACABEL8DIgJFDQEgA0EARyAAQSBqIQAgAUEgaiEBIANBAWshAw0ACwsgBEEQaiQAIAIL3QEBBH8jAEGAAmsiAiQAIAJBnAFqIgQgASgCACIFIAFBBGoQ8QMCQEEFEJABIgEEQCABQcDxxwAtAAA6AAQgAUG88ccAKAAANgAAQeQAEJABIgNFDQEgAyAEQeQA/AoAACACQQU2AkggAiABNgJEIAJBATYCMCACIAM2AiwgAkEBNgIoIAJBfjYCCCACQQE7AUwgAkKAgICA0AA3AjwgAkKAgICAwAA3AjQgAkHQAGogBS0AbBCLDyAAIAJBCGoQ7AsgAkGAAmokAA8LQQEQpxQAC0G48MkAQQE6AAAAC8sBAQN/IwBBEGsiBCQAIAQgASACKAIMEQIAQQAhAgJAIAQpAwBCi9y0q868tuXlAIUgBCkDCEKih57Rlqain3KFhEIAUg0AIAAoAggiAyABKAIIRw0AIAAoAgQgASgCBCADEI8TDQAgACgCFCIDIAEoAhRHDQAgA0UEQEEBIQIMAQsgACgCECEAIAEoAhAhASADQQFrIQMDQCAAIAEQwAMiAkUNASADQQBHIABBIGohACABQSBqIQEgA0EBayEDDQALCyAEQRBqJAAgAgvMAQEFfyMAQSBrIgIkACAAKAIAIQMgAEEANgIAAkACQCADBEAgACgCBCEEQQEhACABKAIAIgVBmZDJAEEFIAEoAgQiASgCDCIGEQAADQIgBCADa0EITQ0BIAVByOvEAEEBIAYRAABFDQEMAgtB7OrEAEGZAUG468QAEL8TAAsgAiAENgIUIAIgAzYCECACQQI2AgwgAkGIs8kANgIIIAIgAkEIaq1CgICAgKAMhDcDGCAFIAFBsa3AACACQRhqELEJIQALIAJBIGokACAAC9ABAQJ/AkAgASAAKAIIIgJJBEACQAJAIAAoAgQgAUHkAGxqIgEoAlQiAiAAKAKYAiIDSQRAIAEoAlgiAyAAKAKUAiACQSRsaiIAQSBqKAIAIgJPDQEgAEEcaigCACADQdQAbGoiACgCAEGCgICAeEcNAiABKAJcIgEgACgCJCICSQ0EIAEgAkHkuMQAEIUTAAsgAiADQdS4xAAQhRMACyADIAJB1LjEABCFEwALQdS4xAAQnRUACyABIAJB5PbIABCFEwALIAAoAiAgAUHcAGxqC9ABAQJ/AkAgASAAKAIUIgJJBEACQAJAIAAoAhAgAUHwAGxqIgEoAlgiAiAAKAKYAiIDSQRAIAEoAlwiAyAAKAKUAiACQSRsaiIAQSBqKAIAIgJPDQEgAEEcaigCACADQdQAbGoiACgCAEGCgICAeEcNAiABKAJgIgEgACgCJCICSQ0EIAEgAkHEucQAEIUTAAsgAiADQbS5xAAQhRMACyADIAJBtLnEABCFEwALQbS5xAAQnRUACyABIAJBpLnEABCFEwALIAAoAiAgAUHcAGxqC9UBAQV/IwBBEGsiAiQAQQEhBAJAIAEoAgAiA0GJmMkAQRMgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAKAIEIAAoAgggAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AgggACgCBCAAKAIIIAJBoOvCABC/Bg0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhBAsgAkEQaiQAIAQL1QEBBX8jAEEQayICJABBASEEAkAgASgCACIDQdLuxQBBCyABKAIEIgYoAgwiBREAAA0AAkAgAS0ACkGAAXFFBEAgA0G0z8UAQQEgBREAAA0CIAAoAgQgACgCCCADIAYQvwZFDQEMAgsgA0Gd48IAQQIgBREAAA0BIAIgBjYCBCACIAM2AgAgAkEBOgAPIAIgAkEPajYCCCAAKAIEIAAoAgggAkGg68IAEL8GDQEgAkGkssgAQQIQ/QgNAQsgA0GIkMkAQQEgBREAACEECyACQRBqJAAgBAvXAQEDfyMAQTBrIgMkACABKAIQIgQoAgAhBSAEIAVBAWo2AgACQCAFQQBOBEAgAyACKQAYNwAoIAMgAikAEDcAICADIAIpAAg3ABggAyACKQAANwAQQdgAEJABIgJFDQEgAkEEOgAAIAIgAykACTcAASACIAMpABE3AAkgAiADKQAZNwARIAIgAykAITcAGSACIAMpACg3ACAgACACNgIYIAAgBDYCFCAAQQc6AAAgACABKQIINwIMIAAgASkCADcCBCADQTBqJAAPCwALQbjwyQBBAToAAAALvwEBBX8gACgCBCEDIAAoAggiBARAIAMhAQNAIAEoAgAiAigCACEFIAIgBUEBazYCACAFQQFGBEAgASgCABAwCyABQQhqIQEgBEEBayIEDQALCwJAAkAgACgCACIBBEAgA0EEaygCACIAQXhxIQIgAiABQQN0IgFBBEEIIABBA3EiABtqSQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC9UBAQV/IwBBEGsiAiQAQQEhBAJAIAEoAgAiA0GnkMkAQQsgASgCBCIGKAIMIgURAAANAAJAIAEtAApBgAFxRQRAIANBtM/FAEEBIAURAAANAiAAKAIEIAAoAgggAyAGEL8GRQ0BDAILIANBnePCAEECIAURAAANASACIAY2AgQgAiADNgIAIAJBAToADyACIAJBD2o2AgggACgCBCAAKAIIIAJBoOvCABC/Bg0BIAJBpLLIAEECEP0IDQELIANBiJDJAEEBIAURAAAhBAsgAkEQaiQAIAQLxwEBBX8jAEHwAmsiAiQAAkAgAUUEQEEAIQEMAQsgAkEIaiAAKAIAIgUgACgCBCgCDCIGEQIAIAIoAnhBfkYNACACQbUBaiEAIAJBwAFqIQMgAkHtAmohBANAIAQgAC0AAjoAAiAEIAAvAAA7AAAgAiABNgK4ASADIAJBCGpBrAH8CgAAIAJBAToA7AIgAxCXBCABQQFGBEBBACEBDAILIAJBCGogBSAGEQIAIAFBAWshASACKAJ4QX5HDQALCyACQfACaiQAIAELwAEBBn8jAEEQayIGJAAgBCgCCCEFIAQoAgQhBCABKAIAIQoQgxUhBwJAAkAgBQRAIAVB8ABsIQhBACEFA0AgBkEIaiAEIAoQTCAGKAIMIQkgBigCCEEBcQ0CIAcgBSAJEPgUIAVBAWohBSAEQfAAaiEEIAhB8ABrIggNAAsLIAIgAxDFCSECIAEoAgQgAiAHEKUUQQAhBAwBC0EBIQQgB0GEAUkNACAHENMSCyAAIAk2AgQgACAENgIAIAZBEGokAAvFAQECfwJAIAAtAAAiAEUNACAAQQAgAGtxIgJFDQACQAJAIAEoAgAiA0Gg4MYAQbKjyQAgAkEBRiICG0EMQQUgAhsgASgCBCgCDCICEQAADQAgAEEBayAAcSEBA0BBACEAIAFB/wFxRQ0CIAFBACABa3FB/wFxRQ0CIANBlczGAEEDIAIRAAANASABQQFrIAFxIQEgA0Gyo8kAQQUgAhEAAEUNAAsLQQEhAAsgAA8LIAEoAgBBmMzGAEEHIAEoAgQoAgwRAAAL0gEBA38jAEEQayICJAAgAiAAKAIANgIEIAEoAgBBufLFAEEEIAEoAgQoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQb3yxQBBAyACQQRqQcMBEIkOIQAgAi0ADCIDIAItAA0iBHIhAQJAIARBAUcNACADQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvLAQEBfwJAAkACQAJAAkAgAC0AAA4EAAECAwQLIAAoAgwiAkUNAyACQdAAbCECIAAoAgghAANAIAAgARCBESAAQdAAaiEAIAJB0ABrIgINAAsMAwsgACgCDCICRQ0CIAJB0ABsIQIgACgCCCEAA0AgACABEIERIABB0ABqIQAgAkHQAGsiAg0ACwwCCyAAKAIMIgJFDQEgAkHQAGwhAiAAKAIIIQADQCAAIAEQgREgAEHQAGohACACQdAAayICDQALDAELIAAgAToATAsL0gEBA38jAEEQayICJAAgAiAAKAIANgIEIAEoAgBBz//GAEEOIAEoAgQoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQav+xgBBCiACQQRqQa0BEIkOIQAgAi0ADCIDIAItAA0iBHIhAQJAIARBAUcNACADQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvMAQECfwJAAkAgASgCAEEBRwRAIAAgASkDODcDKCAAIAEpAzA3AyAgACABKQMoNwMYIAAgASkDIDcDECAAIAEpAxg3AwggACABKQMQNwMAIAEoAgQiAEEASgRAIAEoAggiA0EEaygCACICQXhxIQEgAUEEQQggAkEDcSICGyAAakkNAiACQQBHIAEgAEEnaktxDQMgAxC8BQsPC0Ggq8kAQShBrODIABCvFAALQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC88BAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQZzwxQBBAyABKAIEKAIMEQAAIQAgAkEAOgANIAIgADoADCACIAE2AgggAkEIakHah8gAQQYgAkEEakH0ARCJDiEAIAItAAwiAyACLQANIgRyIQECQCAEQQFHDQAgA0EBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELvAEBA38CQAJAAkAgACgCACIBQX5GDQAgAUF/Rg0AIAAQvAcgACgCeCEDIAAoAnwiAgRAIAMhAQNAIAEQsgogAUGwAWohASACQQFrIgINAAsLIAAoAnQiAUUNACADQQRrKAIAIgBBeHEhAiACIAFBsAFsIgFBBEEIIABBA3EiABtySQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC88BAQN/IwBBEGsiAiQAIAIgADYCBCABKAIAQc//xgBBDiABKAIEKAIMEQAAIQAgAkEAOgANIAIgADoADCACIAE2AgggAkEIakGr/sYAQQogAkEEakGUAhCJDiEAIAItAAwiAyACLQANIgRyIQECQCAEQQFHDQAgA0EBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELzwEBA38jAEEQayICJAAgAiAANgIEIAEoAgBBg4DHAEENIAEoAgQoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQcqjyQBBBCACQQRqQccCEIkOIQAgAi0ADCIDIAItAA0iBHIhAQJAIARBAUcNACADQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvPAQEDfyMAQRBrIgIkACACIAA2AgQgASgCAEGDgMcAQQ0gASgCBCgCDBEAACEAIAJBADoADSACIAA6AAwgAiABNgIIIAJBCGpByqPJAEEEIAJBBGpB0gIQiQ4hACACLQAMIgMgAi0ADSIEciEBAkAgBEEBRw0AIANBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC88BAQN/IwBBEGsiAiQAIAAoAgAhACABKAIAQYCfxQBBCCABKAIEKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHuq8gAQQMgAEEIakHsABCJDiEAIAItAA0iAyACLQAMIgRyIQECQCADQQFHDQAgBEEBcQ0AIAAoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEBDAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAQsgAkEQaiQAIAFBAXELrgEBBH8CQCAAKAIAIgUgASgCAEcNACABKAIMIQMgACgCDCECAkAgBQRAIAIgA0cNAiACDQFBAQ8LIAIgA0cNASAAKAIIIAEoAgggAhCPE0UhBAwBCyAAKAIIQQRqIQAgASgCCEEEaiEBA0AgAEEEaigCACIDIAFBBGooAgBHDQEgACgCACABKAIAIAMQjxMNASAAQQxqIQAgAUEMaiEBIAJBAWsiAg0AC0EBDwsgBAudAQEDfwJAAkACQAJAAkACQCAALQAADgYAAQIFBQUFCyAAKAIEIgJFDQEgACgCCCIDQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIAJqSQ0CIAFBAEcgACACQSdqS3ENAyADELwFDwsgAEEIahCHBAsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAEEIahCHBAudAQEDfwJAAkACQAJAAkACQCAALQAADgYAAQIFBQUFCyAAKAIEIgJFDQEgACgCCCIDQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIAJqSQ0CIAFBAEcgACACQSdqS3ENAyADELwFDwsgAEEIahCIBAsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAsgAEEIahCIBAuzAQEDfyAAKAIEIgEgACgCDCICRwRAIAIgAWtBBXYhAgNAIAEQiAggAUEQahCICCABQSBqIQEgAkEBayICDQALCwJAAkAgACgCCCIBBEAgACgCACICQQRrKAIAIgNBeHEhACAAIAFBBXQiAUEEQQggA0EDcSIDG3JJDQEgA0EARyAAIAFBJ2pLcQ0CIAIQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALnQEBA38CQAJAAkACQAJAAkAgAC0AAA4GAAECBQUFBQsgACgCBCICRQ0BIAAoAggiA0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNAiABQQBHIAAgAkEnaktxDQMgAxC8BQ8LIABBCGoQhgQLDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALIABBCGoQhgQLxQEBA38jAEEQayICJAAgAEEIaiEDIABBBGohBAJ/AkACQAJAAkAgACgCAEEBaw4DAQIDAAsgAiADNgIMIAFB6O/FAEENIARB9wEgAkEMakH4ARDyDAwDCyACIAM2AgwgAUH178UAQRAgBEH3ASACQQxqQfgBEPIMDAILIAIgAzYCDCABQYXwxQBBCiAEQfcBIAJBDGpB+QEQ8gwMAQsgAiADNgIMIAFBj/DFAEENIARB9wEgAkEMakH5ARDyDAsgAkEQaiQAC8ABAQF/IwBB0ABrIgIkACAAAn4gASgCAEEERgRAIAAgASkDQDcDQCAAIAEpAzg3AzggACABKQMwNwMwIAAgASkDKDcDKCAAIAEpAyA3AyAgACABKQMYNwMYIAAgASkDEDcDECAAIAEpAwg3AwhCAAwBCyACIAFByAD8CgAAIAIgAq1CgICAgPAghDcDSCAAQThqQaHvwQAgAkHIAGoQuAwgAEEAOgBEIABBfzYCGCACEK4HQgELNwMAIAJB0ABqJAALtQEBAn8jAEEQayIDJAAgAyABrUKAgICAwAKENwMIIABBpqLAACADQQhqELgMIAAgAigCCDYCFCAAIAIpAgA3AgwCQAJAIAEoAgAiAARAIAEoAgQiAkEEaygCACIEQXhxIQEgAUEEQQggBEEDcSIEGyAAakkNASAEQQBHIAEgAEEnaktxDQIgAhC8BQsgA0EQaiQADwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALvgEBAX8jAEEQayIHJAAgACgCACABIAIgACgCBCgCDBEAACEBIAdBADoADSAHIAE6AAwgByAANgIIIAdBCGogAyAEIAUgBhCJDiEBIActAA0iAiAHLQAMIgNyIQACQCACQQFHDQAgA0EBcQ0AIAEoAgAiAC0ACkGAAXFFBEAgACgCAEHt6sIAQQIgACgCBCgCDBEAACEADAELIAAoAgBBobLIAEEBIAAoAgQoAgwRAAAhAAsgB0EQaiQAIABBAXELxQEBA38jAEEQayICJAAgASgCAEG46cUAQQcgASgCBCgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB4+PIAEEFIABBngEQiQ4hACACLQANIgMgAi0ADCIEciEBAkAgA0EBRw0AIARBAXENACAAKAIAIgAtAApBgAFxRQRAIAAoAgBB7erCAEECIAAoAgQoAgwRAAAhAQwBCyAAKAIAQaGyyABBASAAKAIEKAIMEQAAIQELIAJBEGokACABQQFxC8UBAQN/IwBBEGsiAiQAIAEoAgBBuOnFAEEHIAEoAgQoAgwRAAAhAyACQQA6AA0gAiADOgAMIAIgATYCCCACQQhqQePjyABBBSAAQcABEIkOIQAgAi0ADSIDIAItAAwiBHIhAQJAIANBAUcNACAEQQFxDQAgACgCACIALQAKQYABcUUEQCAAKAIAQe3qwgBBAiAAKAIEKAIMEQAAIQEMAQsgACgCAEGhssgAQQEgACgCBCgCDBEAACEBCyACQRBqJAAgAUEBcQvfAQIBfwJ+IwBB0ABrIgMkACADAn5B0PDJAC0AAARAQcjwyQApAwAhBEHA8MkAKQMADAELIAMQuxFB0PDJAEEBOgAAQcjwyQAgAykDCCIENwMAIAMpAwALIgU3AyBBwPDJACAFQgF8NwMAIANBADYCOCADQoCAgICAATcDMCADIAQ3AyggAyACKQMANwMAIAMgAikDCDcDCCADIAIpAxA3AxAgAyACKQMYNwMYIANBkKnJACkDADcCPCADQZipyQApAwA3AkQgAyABEOUGIAAgA0HQAPwKAAAgA0HQAGokAAu/AQMFfgJ/AW8QFSEIEIYOIgYgCCYBAkAgBiUBEBb8BiIBQugHfyICIAEgAkLoB359IgNCP4ciBHwiAUKAowV/IgIgASACQoCjBX59IgVCP4ciAXwiAkLFjdT/B31CgICAgHBUDQAgAqdBu/IrahC/DyIHRQ0AIAAgBzYCACAAIAFCgKMFgyAFfD4CBCAAIARC6AeDIAN8p0HAhD1sNgIIIAZBhAFPBEAgBhDTEgsPC0HAxsIAQSVB+M7CABC/EwALrgEBA38gACgCDCICIAAoAgQiAWtBsAFuIQMgASACRwRAA0AgARDBCiABQbABaiEBIANBAWsiAw0ACwsCQAJAIAAoAggiAQRAIAAoAgAiA0EEaygCACICQXhxIQAgACABQbABbCIBQQRBCCACQQNxIgIbckkNASACQQBHIAAgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuyAQEEfyMAQRBrIgIkACACQQhqIAEoAgAgASgCBBDODiACKAIIIgMgAigCDBCIDiEFIAMgAygCACIEQQFrNgIAAkAgBUUEQCAEQQFGBEAgAxAwCyACIAEoAgAgASgCBBDhCSAAIAIoAgAiACACKAIEEPEEIAAgACgCACIBQQFrNgIAIAFBAUcNASAAEDAMAQsgBEEBRgRAIAMQMAsgACABKAIAIAEoAgQQ8QQLIAJBEGokAAusAQEDfyAAKAIEIQMgACgCCCICBEAgA0E4aiEBA0AgAUE0axDJAiABEPUFIAFBzABqIQEgAkEBayICDQALCwJAAkAgACgCACIBBEAgA0EEaygCACICQXhxIQAgACABQcwAbCIBQQRBCCACQQNxIgIbakkNASACQQBHIAAgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuuAQEDfyAAKAIMIgIgACgCBCIBa0GwAW4hAyABIAJHBEADQCABEJcEIAFBsAFqIQEgA0EBayIDDQALCwJAAkAgACgCCCIBBEAgACgCACIDQQRrKAIAIgJBeHEhACAAIAFBsAFsIgFBBEEIIAJBA3EiAhtySQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC7cBAgJ/AX4CQAJAAkACQEEDIAApAwAiA6dBAmsgA0IBWBtBAWsOAgABAwsgACgChAFBf0cNASAAKALQAUHAAmwhASAAKALMAUHAAmshAANAIAFFDQMgAUHAAmshASAAQcACaiIAEJsRRQ0ACwwBCyAAKAKEAUF/Rw0AIAAoAtgBQcACbCEBIAAoAtQBQcACayEAA0AgAUUNAiABQcACayEBIABBwAJqIgAQmxFFDQALC0EBIQILIAIL1gEBAn8jAEFAaiICJAAgAkEAOwE8IAJCBDcCKCACQgA3AiAgAkKAgICAwAA3AhggAkIENwIQIAJCADcCCCACQoCAgICAATcCACACQQA2AjggAkKAgICAwAA3AjAgAhCvEiACKAIEIgMgAUHAAvwKAAAgA0J/NwPAAiAAIAIpAgA3AgAgACACKQIQNwIQIAAgAikCGDcCGCAAIAIpAiA3AiAgACACKQIoNwIoIAAgAikCMDcCMCAAIAIpAjg3AjggAkEBNgIIIAAgAikCCDcCCCACQUBrJAALpAEBBn8jAEHQAWsiBiQAAkAgAkGLro8FSQRAAkAgAkHIAWwiBEUEQEEIIQUMAQsgBBCQASIFRQ0CIAJFDQAgAiEHA0AgAyAERg0BIAZBCGoiCCABIANqEIwGIAMgBWogCEHIAfwKAAAgA0HIAWohAyAHQQFrIgcNAAsLIAAgAjYCCCAAIAU2AgQgACACNgIAIAZB0AFqJAAPCxCeFQALQQgQpxQAC6sBAQN/IAAoAgQiASAAKAIMIgJHBEAgAiABa0EFdiECA0AgARCGBCABQSBqIQEgAkEBayICDQALCwJAAkAgACgCCCIBBEAgACgCACICQQRrKAIAIgNBeHEhACAAIAFBBXQiAUEEQQggA0EDcSIDG3JJDQEgA0EARyAAIAFBJ2pLcQ0CIAIQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALaAEBf0EBIQECQAJAAkAgAC0AAA4EAgIBAAELQdW+CyAALQAIdiEBCyABQQFxDwsgACgCDEHQAGwhASAAKAIIQdAAayEAA0AgAUUEQEEBDwsgAUHQAGshASAAQdAAaiIAEJ8RDQALQQALpQEBAn8jAEEQayIFJAAgASgCAEEwaigCACIBLQAUQQNHBEAgBSABQQhqNgIMIAFBFGogBUEMahCPDwsCQAJAIAEoAhAiBARAIARB4ABsIQQgASgCDCEBA0AgAyABQRhqKAIARgRAIAFBFGooAgAgAiADEI8TRQ0DCyABQeAAaiEBIARB4ABrIgQNAAsLIABBfzYCAAwBCyAAIAEQsAgLIAVBEGokAAu/AQEBfyMAQRBrIgIkAAJ/IAApAwBC////////////AINCgICAgICAgPj/AFoEQCACIACtQoCAgICQD4Q3AwggASgCACABKAIEQc+twAAgAkEIahCxCQwBCyACQQA6AAQgAiABNgIAIAIgAK1CgICAgJAPhDcDCAJAIAJBlK7IAEHPrcAAIAJBCGoQsQkNACACLQAERQRAIAEoAgBBrK7IAEECIAEoAgQoAgwRAAANAQtBAAwBC0EBCyACQRBqJAALqwEBA38CQAJAAkAgACgCACICQX9GDQAgACgCBCEDIAAoAggiAQRAIAMhAANAIAAQsgogAEGwAWohACABQQFrIgENAAsLIAJFDQAgA0EEaygCACIBQXhxIQAgACACQbABbCICQQRBCCABQQNxIgEbckkNASABQQBHIAAgAkEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAvcAQEBfyABKAIAIQIgASgCBCgCDCEBAkACQAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4JAQIDBAUGBwgJAAsgAkHcrcgAQQkgAREAAA8LIAJBgKzIAEEKIAERAAAPCyACQYqsyABBByABEQAADwsgAkGRrMgAQQYgAREAAA8LIAJB5a3IAEEIIAERAAAPCyACQfSryABBDCABEQAADwsgAkGXrMgAQQsgAREAAA8LIAJBoqzIAEEKIAERAAAPCyACQaysyABBByABEQAADwsgAkGzrMgAQQ4gAREAAAuoAQECfyAAIAEoAgQiAyABKAIIIgIQvgkgAgRAIAMhAANAIAAQ9AQgAEHIAWohACACQQFrIgINAAsLAkACQCABKAIAIgEEQCADQQRrKAIAIgJBeHEhACAAIAFByAFsIgFBBEEIIAJBA3EiAhtqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC50BAgJ/AX5BASEHQQQhBgJAIAWtIAOtfiIIQiCIQgBSBEBBACEDDAELIAinIgNBgICAgHggBGtLBEBBACEDDAELAkACQAJ/IAEEQCACIAEgBWwgBCADEK0GDAELIANFBEAgBCEGDAILIAMQkAELIgYNACAAIAQ2AgQMAQsgACAGNgIEQQAhBwtBCCEGCyAAIAZqIAM2AgAgACAHNgIAC+MBAAJAAkACQAJAAkACQAJAAkAgAC0AAEEBaw4HAgMEBQYHAAELQaCryQBBKEG4zsIAEK8UAAsgASgCAEHozMIAQRUgASgCBCgCDBEAAA8LIAEoAgBB/czCAEEoIAEoAgQoAgwRAAAPCyABKAIAQaXNwgBBLCABKAIEKAIMEQAADwsgASgCAEHRzcIAQSEgASgCBCgCDBEAAA8LIAEoAgBB8s3CAEEWIAEoAgQoAgwRAAAPCyABKAIAQYjOwgBBDiABKAIEKAIMEQAADwsgASgCAEGWzsIAQSAgASgCBCgCDBEAAAuoAQAjAEEwayIBJAAgASADNgIkIAEgAjYCICABIAFBIGqtQoCAgIDQAYQ3AyggAUEIakHWh8IAIAFBKGoQuAwgASAGKQIANwIUIAEgBigCCDYCHCAHKAIIIgIgBygCAEYEQCAHEL0SCyAHIAJBAWo2AgggBygCBCACQRhsaiICIAEpAgg3AgAgAiABKQIQNwIIIAIgASkCGDcCECAAQQA2AgAgAUEwaiQAC6wBAQR/AkACQAJAIAAoAgwiAUF/Rg0AIAFFDQAgACgCECIEQQRrKAIAIgJBeHEhAyADQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgAyABQSdqS3ENAiAEELwFCwJAIAAoAhwiAUUNACABIAEoAgAiAUEBazYCACABQQFHDQAgACgCHCAAKAIgELYQCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6YBAQN/IAAQ6wggACgCaCEDIAAoAmwiAgRAIAMhAQNAIAEQwAcgAUHkAGohASACQQFrIgINAAsLAkACQCAAKAJkIgEEQCADQQRrKAIAIgBBeHEhAiACIAFB5ABsIgFBBEEIIABBA3EiABtqSQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC60BAQN/IwBBEGsiACQAAkAgAUUEQEEBIQMMAQsgACABIAIoAghBAWtBeHFqIgRBCGoiBSACKAIMEQIAAkAgACkDAELDqLPeycuH8eMAhSAAKQMIQuGtrqH058beUoWEUARAQQEhAyAFKAIAQX9HDQEgBCgCDEEJRyEDDAELQcjCxQAQnRUACyABIAEoAgAiBEEBazYCACAEQQFHDQAgASACELYQCyAAQRBqJAAgAwu4AQEBfyABKAIIIgQgASgCAEYEQCABEKgSCyABIARBAWo2AgggASgCBCAEQTBsaiIEQYKAgIB4NgIAIAQgAykCADcCBCAEIAMoAgg2AgwgBEEBNgIkIARBiJDJADYCICAEQoGAgIBwNwIYIARBxbLIADYCFCAEQX82AhAgASgCFCIDIAEoAgxGBEAgAUEMahCpEgsgASgCECADQcgAbGogAkHIAPwKAAAgAEF+NgIAIAEgA0EBajYCFAuhAQEDfyAAKAIEIQMgACgCCCICBEAgAyEBA0AgARClASABQfAAaiEBIAJBAWsiAg0ACwsCQAJAIAAoAgAiAQRAIANBBGsoAgAiAEF4cSECIAIgAUHwAGwiAUEEQQggAEEDcSIAG3JJDQEgAEEARyACIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALoQEBA38gACgCBCEDIAAoAggiAgRAIAMhAQNAIAEQmgEgAUHAAmohASACQQFrIgINAAsLAkACQCAAKAIAIgEEQCADQQRrKAIAIgBBeHEhAiACIAFBwAJsIgFBBEEIIABBA3EiABtySQ0BIABBAEcgAiABQSdyS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC6EBAQN/IAAoAgQhAyAAKAIIIgIEQCADIQEDQCABELIKIAFBsAFqIQEgAkEBayICDQALCwJAAkAgACgCACIBBEAgA0EEaygCACIAQXhxIQIgAiABQbABbCIBQQRBCCAAQQNxIgAbckkNASAAQQBHIAIgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAufAQEDfyAAKAIEIQMgACgCCCICBEAgAyEBA0AgARCaBCABQSBqIQEgAkEBayICDQALCwJAAkAgACgCACIBBEAgA0EEaygCACIAQXhxIQIgAiABQQV0IgFBBEEIIABBA3EiABtySQ0BIABBAEcgAiABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC58BAQN/IAAoAgQhAyAAKAIIIgIEQCADIQEDQCABEMkCIAFBNGohASACQQFrIgINAAsLAkACQCAAKAIAIgEEQCADQQRrKAIAIgBBeHEhAiACIAFBNGwiAUEEQQggAEEDcSIAG2pJDQEgAEEARyACIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALoQEBA38gACgCBCEDIAAoAggiAgRAIAMhAQNAIAEQ3wEgAUHAAmohASACQQFrIgINAAsLAkACQCAAKAIAIgEEQCADQQRrKAIAIgBBeHEhAiACIAFBwAJsIgFBBEEIIABBA3EiABtySQ0BIABBAEcgAiABQSdyS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC5gBAQF/QbABEJABIgMEQAJAIAMgAUGwAfwKAABB4AAQkAEiAUUNACABQX42AlAgASADNgIEIAFBAzYCAEGwARCQASIDRQ0AIAMgAkGwAfwKAABB4AAQkAEiAkUNACACQX42AlAgAiADNgIEIAJBAzYCACAAIAI2AgggACABNgIEIABBgICAgHg2AgAPCwtBuPDJAEEBOgAAAAuWAQEEfyMAQRBrIgUkACACIAEgAmoiAUsEQEEAEKcUAAsgASAAKAIAIgJBAXQiBiABIAZLGyIBQQhBBCAEQQFGGyIGIAEgBksbIQEgBUEEaiACIAAoAgQgASADIAQQpREgBSgCBEEBRgRAIAUoAgggBSgCDCEIEKcUAAsgBSgCCCECIAAgATYCACAAIAI2AgQgBUEQaiQAC5EBAQJ/IAFBBHZB/wNxIgIgAUEHcWpBB3AhASACIAFBB2ogASABQQZJG2tBDGpBB20hAyACIAFrQQZqQf//A3FBB24hAQJAIAAoAmhBAUcNACAAKAJsIAJGDQBBAA8LAkAgACgCUEEBRw0AIAAoAlQgA0H//wNxRg0AQQAPCyAAKAJYRQRAQQEPCyAAKAJcIAFGC7kBAQF/IwBBQGoiAiQAIAAoAgAhACACQZDoxQA2AjggAkGA6MUANgIwIAIgAEHsAWo2AiwgAkGc78UANgIoIAIgADYCJCACQYTrxQA2AiAgAiAAQYABajYCHCACQcDoxQA2AhggAiAAQfgBajYCFCACQYzvxQA2AhAgAiAAQYQCajYCDCACIABB4AFqNgI8IAIgAkE8ajYCNCABQYXuxQBBBkG478UAQQYgAkEMakEGEPAHIAJBQGskAAu4AQEBfyMAQUBqIgIkACAAKAIAIQAgAkHw6MUANgI4IAJB4OjFADYCMCACIABB6ABqNgIsIAJB8OfFADYCKCACIABBNGo2AiQgAkHQ6MUANgIgIAIgAEHQAGo2AhwgAkHA6MUANgIYIAIgAEHEAGo2AhQgAkHQ5cUANgIQIAIgADYCDCACIABB3ABqNgI8IAIgAkE8ajYCNCABQc6ayQBBBkGI6cUAQQYgAkEMakEGEPAHIAJBQGskAAujAQECfyMAQRBrIgUkACAAAn8CQCADQQEgBBsEQCABKAIUIgMgASgCECIETw0BIAEoAgwhBgNAIAMgBmotAABBMGtB/wFxQQpPDQIgASADQQFqIgM2AhQgAyAERw0ACwwBCyAFQQ42AgQgACABIAVBBGoQoA42AgRBAQwBCyAARAAAAAAAAAAARAAAAAAAAACAIAIbOQMIQQALNgIAIAVBEGokAAueAQEFfyMAQRBrIgIkAAJAAkAgARDlFSIDQQBOBEACQCADRQRAQQEhBAwBCyADEJABIgRFDQILIAAgBDYCBCAAIAM2AgAgARDlFSEFIAIgARDlFSIGNgIIIAIgBTYCDCAFIAZHDQIgBCAFIAElARAYIAAgAzYCCCACQRBqJAAPCxCeFQALQQEQpxQACyACQQhqIAJBDGpBvKDEABDEEwALnQEBBH8jAEEQayICJAAgAkEIaiAAKAIAJQEQHSABIAIoAggiASACKAIMIgAQnQQhBQJAAkAgAARAIAFBBGsoAgAiA0F4cSEEIARBBEEIIANBA3EiAxsgAGpJDQEgA0EARyAEIABBJ2pLcQ0CIAEQvAULIAJBEGokACAFDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALjAEBA38jAEEQayIDJABBAyECIAAtAAAiACEEIABBCk8EQCADIAAgAEHkAG4iBEHkAGxrQf8BcUEBdC8AnJhJOwAOQQEhAgsgBEUgAEEAR3FFBEAgAkEBayICIANBDWpqIARBAXQtAJ2YSToAAAsgAUEBQQFBACADQQ1qIAJqQQMgAmsQyQkgA0EQaiQAC5wBAQN/IwBBEGsiASQAIAFBADoADwJAAkBBARCQASICBEAgACABQQ9qrTcDACAAIAKtNwMIIAJBBGsoAgAiA0F4cSEAIABBBUEJIANBA3EiAxtJDQEgA0EARyAAQSlPcQ0CIAIQvAUgAUEQaiQADwtBuPDJAEEBOgAAAAtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALmQECAn4BfyMAQdAAayIAJAACQCABKQMAIgJCf1ENACACQv////8PgyIDQgRSIAJCBFVxDQAgAkICVA0AIANCA1INACAAQQo6AAAgAUEoaiEEAkAgAS0AKEH/AUcEQCAAEK8EDAELIAQgAEHQAPwKAAALIABB0ABqJAAgBA8LIABC1MvGgNABNwMAQc+twAAgAEHcy8YAEL8TAAuZAQICfgF/IwBB0ABrIgAkAAJAIAEpAwAiAkJ/UQ0AIAJC/////w+DIgNCBFIgAkIEVXENACACQgJUDQAgA0ICUg0AIABBCjoAACABQQhqIQQCQCABLQAIQf8BRwRAIAAQrwQMAQsgBCAAQdAA/AoAAAsgAEHQAGokACAEDwsgAEK8xsaA0AE3AwBBz63AACAAQcTGxgAQvxMAC6QBACACKQMAQn9RBEACQAJ/AkACQAJAAkACQEEKIAIoAggiAUEbayABQRpNGw4FAQIDAAQAC0GVxMYAQYkBQdzExgAQvxMACyACQRBqDAMLIAIoAiAhASACKAIcIQIMAwsgAkEYaiACQRBqIAIoAhBBf0YbDAELIAJBGGoLIQJBASEBCyAAIAE2AgQgACACNgIADwtB7MTGAEH9AEGsxcYAEL8TAAu0AQEDfwJAAkBBGBCQASIBBEBBAxCQASICRQ0BIAJBjfPHAC0AADoAAiACQYvzxwAvAAA7AABBBBCQASIDRQ0CIANB5MrNmwY2AAAgAEEAOgAwIABBADoAECAAQQI2AgwgACABNgIIIABCgICAgCA3AgAgAUEENgIUIAEgAzYCECABQoOAgIDAADcCCCABIAI2AgQgAUEDNgIADwtBuPDJAEEBOgAAAAtBARCnFAALQQEQpxQAC3cBAX8jAEEQayICJAACQCAAKAIAIgApAwBCf1EEQCACIABBCGo2AgQgAiACQQRqrUKAgICAsCaENwMIDAELIAIgADYCBCACIAJBBGqtQoCAgIDAJoQ3AwgLIAEoAgAgASgCBEHPrcAAIAJBCGoQsQkgAkEQaiQAC5EBAgJ+AX8jAEEQayIAJAACQCABKQMAIgJCf1ENACACQv////8PgyIDQgRRIAJCBVNyRQ0AIAJCAlQNACADQgRSDQAgAUH0AWogASgC9AFBf0YEQCABQQA2AvwBIAFCgICAgMAANwL0AQsgAEEQaiQADwsgAELY4caA0AE3AwhBz63AACAAQQhqQeDhxgAQvxMAC48BAQR/IwBBEGsiAiQAIAIgACgCACIDNgIMIAEgAkEMaiIEQQQQlgggACgCBCEFAkAgA0EBRgRAIAAoAgghAyACIAU2AgwgASAEQQQQlgggAiADNgIMIAEgBEEEEJYIIAIgACgCDDYCDCABIARBBBCWCAwBCyACIAU2AgwgASACQQxqQQQQlggLIAJBEGokAAuOAQEEfyMAQRBrIgIkAAJ/QQEgASgCACIDQScgASgCBCIFKAIQIgERAQANABogAiAAKAIAQYECEPkDAkAgAi0ADSIAQYEBTwRAIAMgAigCACABEQEARQ0BQQEMAgsgAyACLQAMIgQgAmogACAEayAFKAIMEQAARQ0AQQEMAQsgA0EnIAERAQALIAJBEGokAAuMAQEEfyMAQRBrIgMkACACIAEgAmoiAUsEQEEAEKcUAAtBCCABIAAoAgAiAkEBdCIEIAEgBEsbIgEgAUEITRshASADQQRqIAIgACgCBCABQQFBARClESADKAIEQQFGBEAgAygCCCADKAIMIQYQpxQACyADKAIIIQIgACABNgIAIAAgAjYCBCADQRBqJAALkgEBAn8jAEEgayICJAAgACgCACEAIAEoAgghAyACIAE2AggCfwJAIANBgICABHFFBEAgAiACQQhqNgIMIAAgAkEMahCtAyIADQFBAAwCCyACQQA6ABwgAkICNwIUIAJBsOHIADYCECACIAJBCGo2AgxBACAAIAJBDGoQ1QIiAEUNARoLIAAQ7wtBAQsgAkEgaiQAC6ABAQJ/AkACQAJAAkBBAyAAKAIAIgAoAgAiAUECayABQQFNGw4DAwECAAsgABDoCQwCCyAAQQRqEOIIDAELIABBBGoQxhELIABBBGsoAgAiAkF4cSEBAkBB6ABB7AAgAkEDcSICGyABTQRAIAJBAEcgAUGMAU9xDQEgABC8BQ8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC44BAQJ/AkAgBSgCAEF/RwRAIAUoAgghASAFKAIEEIMVIQYgAUUNASABQQxsIQdBCGohBUEAIQEDQCAGIAEgBUEEaygCACAFKAIAELkUEPgUIAVBDGohBSABQQFqIQEgB0EMayIHDQALDAELQYEBQYABIAEtAAAbIQYLIAIgAyAEEMUJIAYQpRQgAEEANgIAC5ABAQJ/AkACQAJAIABBf0YNACAAIAAoAgQiAkEBazYCBCACQQFHDQAgAUELakF8cSIBRQ0AIABBBGsoAgAiA0F4cSECIAJBBEEIIANBA3EiAxsgAWpJDQEgA0EARyACIAFBJ2pLcQ0CIAAQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALngEBAX8jAEEQayIBJAAgASACKAIAIAIoAgQiAygCCEEBa0F4cWoiAkEIaiADKAIMEQIAIAEpAwBCw6iz3snLh/HjAIUgASkDCELhra6h9OfG3lKFhFAEQAJAIAIoAghBf0cEQCAAQX82AgggACACKQIYNwIMIAAgAikCDDcCAAwBCyAAIAJBDGoQswULIAFBEGokAA8LQfC7xQAQnRUAC6EBAQF/IAEoAggiAyABKAIARgRAIAEQqBILIAEgA0EBajYCCCABKAIEIANBMGxqIgNCATcCICADQoGAgIBwNwIYIANBxbLIADYCFCADQX82AhAgA0IBNwIIIANCgoCAgHg3AgAgASgCFCIDIAEoAgxGBEAgAUEMahCpEgsgASgCECADQcgAbGogAkHIAPwKAAAgAEF+NgIAIAEgA0EBajYCFAuCAQECfyADQQhPBEAgACADQQN2IgNBBHQiBCAAaiADQRxsIgUgAGogAxDLESEAIAEgASAEaiABIAVqIAMQyxEhASACIAIgBGogAiAFaiADEMsRIQILIAAoAgAiBCABKAIAIgVJIQMgACACIAEgAyAFIAIoAgAiAElzGyADIAAgBEtzGwuCAQECfyADQQhPBEAgACADQQN2IgNBBHQiBCAAaiADQRxsIgUgAGogAxDMESEAIAEgASAEaiABIAVqIAMQzBEhASACIAIgBGogAiAFaiADEMwRIQILIAAoAgAiBCABKAIAIgVJIQMgACACIAEgAyAFIAIoAgAiAElzGyADIAAgBEtzGwuCAQECfyADQQhPBEAgACADQQN2IgNBAnQiBCAAaiADQQdsIgUgAGogAxDNESEAIAEgASAEaiABIAVqIAMQzREhASACIAIgBGogAiAFaiADEM0RIQILIAAtAAAiBCABLQAAIgVJIQMgACACIAEgAyAFIAItAAAiAElzGyADIAAgBEtzGwuIAQEEfyMAQRBrIgMkACACIAEgAmoiAUsEQEEAEKcUAAtBCCABIAAoAgAiAkEBdCIEIAEgBEsbIgEgAUEITRshASADQQRqIAIgACgCBCABEIASIAMoAgRBAUYEQCADKAIIIAMoAgwhBhCnFAALIAMoAgghAiAAIAE2AgAgACACNgIEIANBEGokAAuvAQEBfwJAAkACQAJAAkBBBCAAKAIAIgJBgICAgHhzIAJBAE4bQQFrDgQBAgMEAAsgAC0ABEEBRgRAIAFB2JbEAEEVEJ0EDwsgAUG0lsQAQSQQnQQPCyABIAAtAARBAnQiACgCjL1JIAAoAvS8SRCdBA8LIAFBkqbEAEHspcQAIAAtAAQiABtBHUEmIAAbEJ0EDwsgAUGEsMIAQRwQnQQPCyABIAAoAgQgACgCCBCdBAt/AQN/AkACfyABQgxaBEAgAUIYWg0CQQEhAyABp0EMawwBCyABpwshBEEBIQIgACgCeEEBRgRAIAAoAnwgA0cNAQsgACADNgJ8IABBATYCeCAAKAKAAUEBRgRAIAAoAoQBIARHDQELIAAgBDYChAEgAEEBNgKAAUH/ASECCyACC4gBAQR/IwBBEGsiAyQAIAIgASACaiIBSwRAQQAQpxQAC0EEIAEgACgCACICQQF0IgQgASAESxsiASABQQRNGyEBIANBBGogAiAAKAIEIAEQ3REgAygCBEEBRgRAIAMoAgggAygCDCEGEKcUAAsgAygCCCECIAAgATYCACAAIAI2AgQgA0EQaiQAC5ABAQN/IABBBGoQ5Q0gAEEQahDlDSAAQRxqEOgEAkACQCAAKAIcIgEEQCAAKAIgIgNBBGsoAgAiAkF4cSEAIAAgAUHIAWwiAUEEQQggAkEDcSICG2pJDQEgAkEARyAAIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALjQEBA38CQAJAAkAgACgCBCIBRQ0AIAFBA3QiAiABakERaiIBRQ0AIAAoAgAgAmsiAkEMaygCACIDQXhxIQAgAEEEQQggA0EDcSIDGyABakkNASADQQBHIAAgAUEnaktxDQIgAkEIaxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAuCAQEBfyMAQSBrIgMkACADIAI2AgwgAyABNgIIAn8gAC0AAEEHRgRAIAMgA0EIaq1CgICAgJADhDcDEEGrjsAAIANBEGoQ3BEMAQsgAyADQQhqrUKAgICAkAOENwMYIAMgAK1CgICAgKADhDcDEEGrj8AAIANBEGoQ3BELIANBIGokAAt/AQF/IwBBMGsiAiQAIAIgADYCDCACIABBEGo2AhAgAiAAQRhqNgIUIAIgAkEUaq1CgICAgKAahDcDKCACIAJBEGqtQoCAgICwGoQ3AyAgAiACQQxqrUKAgICAwBqENwMYIAEoAgAgASgCBEGhhcAAIAJBGGoQsQkgAkEwaiQAC38BAX9BASEBAkACQAJAAkAgACgCAEEBaw4EAwADAQILIAAoAgxBOGwhASAAKAIIQThrIQADQCABRQRAQQEPCyABQThrIQEgAEE4aiIAENYRDQALC0EADwtBDiAAKAIIIgBBDWsgAEEMTRsiAEEOTw0AQbs/IAB2IQELIAFBAXELiwEBAn8jAEEgayICJAAgASgCCCEDIAIgATYCCAJ/AkAgA0GAgIAEcUUEQCACIAJBCGo2AgwgACACQQxqEK0DIgANAUEADAILIAJBADoAHCACQgI3AhQgAkGw4cgANgIQIAIgAkEIajYCDEEAIAAgAkEMahDVAiIARQ0BGgsgABDvC0EBCyACQSBqJAALhQEBBX8gASACIAEoAgwiByABKAIEIgNrQbABbiIGIAIgBkkbIgRBsAFsIANqIgU2AgQgBARAA0AgAxCXBCADQbABaiEDIARBAWsiBA0ACwsgAiAGSwRAIABBfjYCcA8LIAUgB0cEQCABIAVBsAFqNgIEIAAgBUGwAfwKAAAPCyAAQX42AnALhAECAn4BfyMAQSBrIgQkACAAKAIAIgApAwghAyAAKQMAIQJBISEAA0AgACAEakECayACp0EPcS0A5LZJOgAAIABBAWshACADQjyGIAJCBIiEIQIgAiADQgSIIgOEQgBSDQALIAFBAUGilsQAQQIgACAEakEBa0EhIABrEMkJIARBIGokAAuFAQEDfyMAQRBrIgEkAEEBIQICQAJAIABBAXEEQAJAIABBAXYiAEUiAw0AIAAQkAEiAkUNAyADDQAgAkHSjsIAIAD8CgAACyABIAA2AgwgASACNgIIIAEgADYCBAwBCyABQQRqQdKOwgAgABC4DAsgAUEEahD2AiABQRBqJAAPC0EBEKcUAAuNAQEDfwJAAkACQCAAKAIAIgFBfEYNACABQX1GDQAgAEEQahD/AiABQQBMDQAgACgCBCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC38BA38jAEEQayICJABBASEDAkACQCABQQFxBEACQCABQQF2IgFFIgQNACABEJABIgNFDQMgBA0AIAMgACAB/AoAAAsgAiABNgIMIAIgAzYCCCACIAE2AgQMAQsgAkEEaiAAIAEQuAwLIAJBBGoQ9gIgAkEQaiQADwtBARCnFAALhwEBAn9BASEFQQQhBAJAIANB/////wNLBEBBACEDDAELIANBAnQiA0H8////B0sEQEEAIQMMAQsCQAJ/IAEEQCACIAFBAnRBBCADEK0GDAELIAMQkAELIgRFBEAgAEEENgIEDAELIAAgBDYCBEEAIQULQQghBAsgACAEaiADNgIAIAAgBTYCAAuTAQEDfwJAAkAgASgCACIDQaACaigCACIEIAEoAgQiAksEQCABKAIIIgEgA0GcAmooAgAgAkEkbGoiAkEgaigCACIDTw0BIAJBHGooAgAgAUHUAGxqIgEoAgBBgoCAgHhHDQIgACABKQIINwMADwsgAiAEQcy7xAAQhRMACyABIANBzLvEABCFEwALQcy7xAAQnRUAC4wBAQJ/AkACfwJAAkACQCAAKAIADgIBAgALIAAoAhQiAigCACEBIAIgAUEBazYCACABQQFHDQMgAEEUagwCCyAAKAIEIgIoAgAhASACIAFBAWs2AgAgAUEBRw0CIABBBGoMAQsgACgCFCICKAIAIQEgAiABQQFrNgIAIAFBAUcNASAAQRRqCygCABAwCwuKAQEDfyAAKAIAIQIgACgCBCIAKAIAIgEEQCACIAERAwALAkACQCAAKAIEIgAEQCACQQRrKAIAIgNBeHEhASABQQRBCCADQQNxIgMbIABqSQ0BIANBAEcgASAAQSdqS3ENAiACELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC8ABAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQf8BcUEBaw4LAQIDBAUGBwgJCgsAC0Gz0cUAQQYQxQkPC0H0vsQAQQMQxQkPC0GooMUAQQYQxQkPC0H3vsQAQQUQxQkPC0GuoMUAQQcQxQkPC0G/0cUAQQcQxQkPC0HXrMkAQQQQxQkPC0Gw88YAQQQQxQkPC0GEv8QAQQQQxQkPC0H8vsQAQQgQxQkPC0GPu8UAQQUQxQkPC0Hml8IAQQcQxQkLgQEBAX8jAEEQayIAJAACQCABKQMAQn9SDQAgASgCCEEdRw0AIAFB6ABB4AAgASgCEEF/RhtqIgFB0ABqIAEoAlBBf0YEQCABQQA2AlggAUKAgICAwAA3A1ALIABBEGokAA8LIABCrM3GgNABNwMIQc+twAAgAEEIakG0zcYAEL8TAAuZAQEBfwJAQcgAEJABIgEEQEHkABCQASICRQ0BIAJBCDoABCACQQI2AgAgAEEBNgIIIAAgATYCBCAAQQE2AgAgAUEBOwFEIAFBBzYCQCABQYjwxwA2AjwgAUF/NgI4IAFCBDcDMCABQgE3AyggASACNgIkIAFBATYCICABQX42AgAPC0G48MkAQQE6AAAAC0G48MkAQQE6AAAAC4IBAQF/QeAAEJABIgUEQAJAIAUgAUHgAPwKAABBsAEQkAEiAUUNACABIARBsAH8CgAAQeAAEJABIgRFDQAgBEF+NgJQIAQgATYCBCAEQQM2AgAgACAFNgIMIAAgBDYCECAAIAM2AgggACACNgIEIABBfzYCAA8LC0G48MkAQQE6AAAAC44BAQN/IwBBEGsiAiQAIAJBBGogAEEAENsNAkACQCACKAIEIAEoAgAiACABKAIEIgMQ2QtFBEAgAEEgIAMoAhAiBBEBAEUNAQtBASEBDAELQQEhASACKAIIIAIoAgwgACADEPoKDQAgAEEgIAQRAQANACAAQbDKwgBBAyADKAIMEQAAIQELIAJBEGokACABC4gBAQN/IAAQzQECQAJAAkAgACgCUCIBQX5GDQAgAUF/Rg0AIAFFDQAgACgCVCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC3sBAX8jAEEgayICJAACfyAAKAIAIgAoAgxFBEAgACABEKgGDAELIAIgAEEQaq1CgICAgIABhDcDGCACIABBDGqtQoCAgICAAYQ3AxAgAiAArUKAgICAgASENwMIIAEoAgAgASgCBEGWicAAIAJBCGoQsQkLIAJBIGokAAuGAQEDfwJAAkACQCAAKAIAIgFBfUwNACAAQRBqENkEIAFBAEwNACAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQEgAkEARyAAIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALhgEBA38CQAJAAkAgACgCACIBQX1GDQAgAEEQahDZBCABQQBMDQAgACgCBCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4sBAQN/AkACQAJAIAAoAgAiAUF/Rg0AAkAgAQ4CAQEACyAAKAIEIgFFDQAgACgCCCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC4ABAQF/QeAAEJABIgMEQAJAIAMgAUHgAPwKAABBDBCQASIBRQ0AIAEgAigCCDYCCCABIAIpAgA3AgBB4AAQkAEiAkUNACACQX42AlAgAiABNgIEIAJBCTYCACAAIAI2AgggACADNgIEIABBh4CAgHg2AgAPCwtBuPDJAEEBOgAAAAuAAQEBf0HgABCQASIDBEACQCADIAFB4AD8CgAAQQwQkAEiAUUNACABIAIoAgg2AgggASACKQIANwIAQeAAEJABIgJFDQAgAkF+NgJQIAIgATYCBCACQQk2AgAgACACNgIIIAAgAzYCBCAAQYaAgIB4NgIADwsLQbjwyQBBAToAAAALgwEBA38CQAJAAkAgACgCACIBQX5GDQAgAUF/Rg0AIAFFDQAgACgCBCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC3ABBn4gA0L/////D4MiBSABQv////8PgyIGfiEHIAAgByAGIANCIIgiCX4iBiAFIAFCIIgiCH58IgVCIIZ8Igo3AwAgACAHIApWrSAIIAl+IAUgBlStQiCGIAVCIIiEfHwgASAEfiACIAN+fHw3AwgLjgECAn8BfiMAQSBrIgIkACABKAIAQX9GBEAgASgCDCEDIAJBADYCHCACQoCAgIAQNwIUIAJBFGpB4JvJACADKAIAIgMoAgAgAygCBBCxCRogAiACKAIcIgM2AhAgAiACKQIUIgQ3AwggASADNgIIIAEgBDcCAAsgAEHwo8kANgIEIAAgATYCACACQSBqJAALaQECfyMAQRBrIgIkACAAKAIALQAAIQNBAyEAA0AgACACakEMaiADQQ9xQeS2yQBqLQAAOgAAIABBAWshACADQQR2IgMNAAsgAUEBQaKWxABBAiAAIAJqQQ1qQQMgAGsQyQkgAkEQaiQAC2YBAn8jAEEQayICJAAgAC0AACEDQQMhAANAIAAgAmpBDGogA0EPcUHktskAai0AADoAACAAQQFrIQAgA0EEdiIDDQALIAFBAUGilsQAQQIgACACakENakEDIABrEMkJIAJBEGokAAt9AQN/IABBEGoQ/wICQAJAIAAoAgAiAkEASgRAIAAoAgQiA0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNASABQQBHIAAgAkEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAt9AQN/IAAQ6AQCQAJAIAAoAgAiAQRAIAAoAgQiA0EEaygCACICQXhxIQAgACABQcgBbCIBQQRBCCACQQNxIgIbakkNASACQQBHIAAgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAt9AQN/IABBEGoQ2QQCQAJAIAAoAgAiAkEASgRAIAAoAgQiA0EEaygCACIBQXhxIQAgAEEEQQggAUEDcSIBGyACakkNASABQQBHIAAgAkEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAt9AQN/IAAQpQQCQAJAIAAoAgAiAQRAIAAoAgQiA0EEaygCACICQXhxIQAgACABQcgBbCIBQQRBCCACQQNxIgIbakkNASACQQBHIAAgAUEnaktxDQIgAxC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAt4AQF/QeAAEJABIgMEQAJAIAMgAUHgAPwKAABBkAIQkAEiAUUNACABIAJBkAL8CgAAQeAAEJABIgJFDQAgAkF+NgJQIAIgATYCCCACQgU3AwAgACACNgIIIAAgAzYCBCAAQYCAgIB4NgIADwsLQbjwyQBBAToAAAALeAEBf0HgABCQASIDBEACQCADIAFB4AD8CgAAQZACEJABIgFFDQAgASACQZAC/AoAAEHgABCQASICRQ0AIAJBfjYCUCACIAE2AgggAkIFNwMAIAAgAjYCCCAAIAM2AgQgAEGCgICAeDYCAA8LC0G48MkAQQE6AAAAC3gBAX9B4AAQkAEiAwRAAkAgAyABQeAA/AoAAEGQAhCQASIBRQ0AIAEgAkGQAvwKAABB4AAQkAEiAkUNACACQX42AlAgAiABNgIIIAJCBTcDACAAIAI2AgggACADNgIEIABBhICAgHg2AgAPCwtBuPDJAEEBOgAAAAt4AQF/QeAAEJABIgMEQAJAIAMgAUHgAPwKAABBkAIQkAEiAUUNACABIAJBkAL8CgAAQeAAEJABIgJFDQAgAkF+NgJQIAIgATYCCCACQgU3AwAgACACNgIIIAAgAzYCBCAAQYWAgIB4NgIADwsLQbjwyQBBAToAAAALeAEBf0HgABCQASIDBEACQCADIAFB4AD8CgAAQZACEJABIgFFDQAgASACQZAC/AoAAEHgABCQASICRQ0AIAJBfjYCUCACIAE2AgggAkIFNwMAIAAgAjYCCCAAIAM2AgQgAEGDgICAeDYCAA8LC0G48MkAQQE6AAAAC3oBAn8gASgCCCECIAEoAgQhAwJAIAEoAgBBf0cEQAJAIAJFBEBBASEBDAELIAIQkAEiAUUNAiACRQ0AIAEgAyAC/AoAAAsgACACNgIIIAAgATYCBCAAIAI2AgAPCyAAIAI2AgggACADNgIEIABBfzYCAA8LQQEQpxQAC2YBA38gASgCKCIEBEAgASgCLCAEa0HIAG4hAgsgACABKAIwIgQEfyABKAI0IARrQcgAbgVBAAsgAmoiAzYCCCAAIAEoAiAiAkUgASgCJCACRnI2AgQgACABKAIMRSADQQBHcTYCAAtzAQF/A0AgAC0AACIBQQlHBEACQEEBIAF0IgFBmAtxDQAgAUEHcQRAIAAoAgxB0ABsIQEgACgCCEHQAGshAANAIAFFBEBBAA8LIAFB0ABrIQEgAEHQAGoiABD9EUUNAAsLQQEPCwUgACgCCCEADAELC0EAC3wBA38CQAJAAkAgACgCACIBQX9GDQAgAUUNACAAKAIEIgNBBGsoAgAiAkF4cSEAIABBBEEIIAJBA3EiAhsgAWpJDQEgAkEARyAAIAFBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALgAEBA38CQAJAAkAgACgCACIBQYSAgIB4SA0AIAFFDQAgACgCBCIDQQRrKAIAIgJBeHEhACAAQQRBCCACQQNxIgIbIAFqSQ0BIAJBAEcgACABQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC2UBAX8CfyADQQBIBEBBASEBQQQMAQsCfwJ/IAEEQCACIAFBASADEK0GDAELIAMQkAELIgRFBEAgAEEBNgIEQQEMAQsgACAENgIEQQALIQEgAyEEQQgLIABqIAQ2AgAgACABNgIAC3oBA38gABCtAQJAAkAgACgCUCICQQBKBEAgACgCVCIDQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIAJqSQ0BIAFBAEcgACACQSdqS3ENAiADELwFCw8LQdCcyQBBLkGAnckAEK8UAAtBkJ3JAEEuQcCdyQAQrxQAC3AAAkACQCACKAIAQQRGBEAgAigCMEHYAGwhASACKAIsIQIDQCABRQRAQQEPCyABQdgAayEBIAIoAkwgAigCUCACIAMQghIgAkHYAGohAg0ACwwBCyADQRBqIAAgARD6DCIADQELQQAPCyACIAAQuwgLcgEBfyMAQRBrIgAkAAJAIAEpAwBCf1INACABKAIIQR9HDQAgAUG4AWogASgCuAFBf0YEQCABQQA2AsABIAFCgICAgMAANwO4AQsgAEEQaiQADwsgAEKk0MaA0AE3AwhBz63AACAAQQhqQazQxgAQvxMAC28BAX8jAEEQayIAJAACQCABKQMAQn9SDQAgASgCCEEgRw0AIAFB6ABqIAEoAmhBf0YEQCABQQA2AnAgAUKAgICAwAA3A2gLIABBEGokAA8LIABCxNjGgNABNwMIQc+twAAgAEEIakHM2MYAEL8TAAtvAQF/IwBBEGsiACQAAkAgASkDAEJ/Ug0AIAEoAghBHkcNACABQeAAaiABKAJgQX9GBEAgAUEANgJoIAFCgICAgMAANwNgCyAAQRBqJAAPCyAAQrDSxoDQATcDCEHPrcAAIABBCGpBuNLGABC/EwALeQEBfyMAQSBrIgQkACAEIAI2AgQgBCABNgIAIARBDDYCDCAEQYiyxQA2AgggBCAErUKAgICA0AGENwMYIAQgBEEIaq1CgICAgNABhDcDECAAQdmowAAgBEEQahC4DCAAIAMoAgg2AhQgACADKQIANwIMIARBIGokAAt8AQF/IwBBIGsiAiQAIAJBLDYCBCACQarbxAA2AgAgAkEINgIMIAJB1tvEADYCCCACIAKtQoCAgIDQAYQ3AxggAiACQQhqrUKAgICA0AGENwMQIABBqanAACACQRBqELgMIAAgASgCCDYCFCAAIAEpAgA3AgwgAkEgaiQAC6QBAQN/QbjdxQAhAkELIQMCQAJAAkACQAJAAkACQAJAIAFBAWsOFwABBwcCAwQHBwUHBwcHBwcHBwcHBwcHBgtBw93FACECQQohAwwFC0HN3cUAIQJBBSEDDAQLQdLdxQAhAkEDIQMMAwtB1d3FACECQQUhAwwCC0Ha3cUAIQJBBSEDDAELQd/dxQAhAkEIIQMLIAIhBAsgACADNgIEIAAgBDYCAAt1AQN/AkACQCAAKAIAIgJBAEoEQCAAKAIEIgNBBGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgAmpJDQEgAUEARyAAIAJBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALcQEBfyMAQRBrIgIkAAJ/IAAoAgAiACgCAEF/RwRAIAIgADYCBCACIAJBBGqtQoCAgICQJIQ3AwggASgCACABKAIEQa6MwAAgAkEIahCxCQwBCyABKAIAQc3DxgBBBiABKAIEKAIMEQAACyACQRBqJAALfwACQAJAAkAgAUEEaw4DAQIAAgsgACgAAEHfxr2rB3MgAEEEai8AAEHu6AFzcg0BQQAPCyAAKAAAQd/C2bsGRgRAQQEPCyAAKAAAQd/m1esGRgRAQQIPCyAAKAAAQd/apfMGRgRAQQMPCyAAKAAAQd/ahcMHRw0AQQQPC0H/AQtrAgF/AX4jAEEQayICJAAgACgCACkDACEDQREhAANAIAAgAmpBAmsgA6dBD3EtAOS2SToAACAAQQFrIQAgA0IEiCIDQgBSDQALIAFBAUGilsQAQQIgACACakEBa0ERIABrEMkJIAJBEGokAAtyAQN/AkACQCAAKAIAIgIEQCAAKAIEIgNBBGsoAgAiAUF4cSEAIABBBEEIIAFBA3EiARsgAmpJDQEgAUEARyAAIAJBJ2pLcQ0CIAMQvAULDwtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALbAAgAkUEQCAAQQA2AgAgAEEEOgAEDwsgAS0AAEE6RwRAIABBADYCACAAQQM6AAQPCwJAIAJBAUcEQCABLAABQUBIDQELIAAgAkEBazYCBCAAIAFBAWo2AgAPCyABIAJBASACQdTHwgAQ/RQAC3kCAn0CfyABKAIIIgVBgICAAXEhBCAAKgIAIQIgBUGAgICAAXFFBEACQCACiyIDQ8obDlpgDQAgAkMAAAAAXCADQxe30ThdcQ0AIAEgAiAEQQBHQQEQ7gcPCyABIAIgBEEARxCHBw8LIAEgAiAEQQBHIAEvAQ4QxAYLhQECAnwCfyABKAIIIgVBgICAAXEhBCAAKwMAIQIgBUGAgICAAXFFBEACQCACmSIDRACA4Dd5w0FDZg0AIAJEAAAAAAAAAABiIANELUMc6+I2Gj9jcQ0AIAEgAiAEQQBHQQEQ5QcPCyABIAIgBEEARxCABw8LIAEgAiAEQQBHIAEvAQ4QvAYLkQEBAX8gASgCACECIAEoAgQoAgwhAQJAAkACQAJAAkACQCAALQAAaEEBaw4FAQIDBAUACyACQbzBxABBBSABEQAADwsgAkHBwcQAQQQgAREAAA8LIAJBxcHEAEEEIAERAAAPCyACQcnBxABBAyABEQAADwsgAkHMwcQAQQYgAREAAA8LIAJB0sHEAEEEIAERAAALdgECfwJAAkACQCAAQYSAgIB4SA0AIABFDQAgAUEEaygCACICQXhxIQMgA0EEQQggAkEDcSICGyAAakkNASACQQBHIAMgAEEnaktxDQIgARC8BQsPC0HQnMkAQS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtvAQF/IwBBEGsiAyQAIANBBGogACAAKAIMENsNAn8CQCADKAIEIAEgAhDZC0UEQCABQdQAIAIoAhARAQBFDQELQQEMAQtBASADKAIIIAMoAgwgASACEPoKDQAaIAAoAgwgASACENwNCyADQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQTAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHAABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQQgQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC2kBAX9BBiEFIAAgAUEBcQR/IAMgBGshAQJAIAMgBEYNAAJAIAEgA08EQCAEDQEMAgsgASACaiwAAEG/f0oNAQsgAiADQQAgAUGwxsIAEP0UAAsgACABNgIIIAAgAjYCBEEABUEGCzoAAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRB5AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBBEEQEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRBFBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQQQQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBBEHIABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQRgQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBBEEgEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRBDBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQagCEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRBHBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQTwQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBCCAAKAIAIgNBAXQiAiACQQhNGyECIAFBBGogAyAAKAIEIAJBAUEBEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAttACMAQRBrIgAkACAAIAE2AgAgACACNgIEAkAgAkEGRgRAIAEoAABB0+jJywZzIAFBBGovAABB7s4Bc3JFDQELIAAgAK1CgICAgNABhDcDCEGDx8EAIABBCGpB+MPFABC/EwALIABBEGokAEEHC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHgABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQegAEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhB8AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBBEEwEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhByAAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHQABClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEEQcwAEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRB2AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEE4EKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhB2AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC3ABBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEHIAhClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALcAEFfyMAQRBrIgEkAEEEIAAoAgAiA0EBdCICIAJBBE0bIQIgAUEEaiADIAAoAgQgAkEIQcgBEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtvAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQhBIBClESABKAIEQQFGBEAgASgCCCABKAIMIQUQpxQACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALfQMBfwF+AXwjAEEQayIDJAACQAJAAkACQCAAKAIAQQFrDgIBAgALIAArAwghBSADQQM6AAAgAyAFOQMIDAILIAApAwghBCADQQE6AAAgAyAENwMIDAELIAApAwghBCADQQI6AAAgAyAENwMICyADIAEgAhDUESADQRBqJAALaQEDfyMAQRBrIgIkAAJAIAEoAgAiBCgCAEEBRw0AIAQtAARBA0cNACACQQhqIARBCGooAgAiASgCACABKAIEKAIYEQIAIAIoAgwhASACKAIIIQMLIAAgATYCBCAAIAM2AgAgAkEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiACQQRNGyECIAFBBGogAyAAKAIEIAJBCEEQEKURIAEoAgRBAUYEQCABKAIIIAEoAgwhBRCnFAALIAEoAgghAyAAIAI2AgAgACADNgIEIAFBEGokAAtwAQV/IwBBEGsiASQAQQQgACgCACIDQQF0IgIgAkEETRshAiABQQRqIAMgACgCBCACQQRB4AAQpREgASgCBEEBRgRAIAEoAgggASgCDCEFEKcUAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC28BBX8jAEEQayIBJABBBCAAKAIAIgNBAXQiAiAC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f0EBIQICQCABQQFxBEACQCABQQF2IgFFIgMNACABEJABIgJFDQIgAw0AIAJBtZTCACAB/AoAAAsgACABNgIIIAAgAjYCBCAAIAE2AgAPCyAAQbWUwgAgARC4DA8LQQEQpxQAC2ABAn9BASEDAkAgAkEBcQRAAkAgAkEBdiICRSIEDQAgAhCQASIDRQ0CIAQNACADIAEgAvwKAAALIAAgAjYCCCAAIAM2AgQgACACNgIADwsgACABIAIQuAwPC0EBEKcUAAtiAQF+IwBBEGsiACQAAkACQCABKQMAIgJCBVMNACACQv////8Pg0IFUg0AIAEoAghBf0YNAQsgAEKI4MaA0AE3AwhBz63AACAAQQhqQZDgxgAQvxMACyAAQRBqJAAgAUEMagtiAQF+IwBBEGsiACQAAkACQCABKQMAIgJCBVMNACACQv////8Pg0IFUg0AIAEoAghBf0cNAQsgAEKM38aA0AE3AwhBz63AACAAQQhqQZTfxgAQvxMACyAAQRBqJAAgAUEQagtmAQJ/QQEhAgJAIAFBAXEEQAJAIAFBAXYiAUUiAw0AIAEQkAEiAkUNAiADDQAgAkHPrcAAIAH8CgAACyAAIAE2AgggACACNgIEIAAgATYCAA8LIABBz63AACABELgMDwtBARCnFAALXAEBfyMAQSBrIgMkACADIAI2AgwgAyABNgIIIAMgADYCBCADIANBCGqtQoCAgICQA4Q3AxggAyADQQRqrUKAgICAgAGENwMQQe2OwAAgA0EQahDcESADQSBqJAALXAEDfyAAIAEgACgCDCAAKAIEIgJrQbABbiIEIAEgBEkbIgNBsAFsIAJqNgIEIAMEQCADIQADQCACEJcEIAJBsAFqIQIgAEEBayIADQALCyABIANrQQAgASAESxsLfAEBfwJAAkAgAEGEAU8EQCAA0G8mAUHU8MkAKAIADQJB5PDJACgCACIBIABLDQEgACABayIAQdzwyQAoAgBPDQFBxOzJACgCACAAQQJ0akHg8MkAKAIANgIAQeDwyQAgADYCAEHU8MkAQQA2AgALDwsAC0HkvMkAENITAAtnAQJ/AkAgAiABKAIcIgNJBEAgASgCGCACQfAAbGoiAigCXCEDIAIoAlghAiABIAEoAgAiBEEBajYCACAEQQBODQEACyACIANB5P7IABCFEwALIAAgAzYCCCAA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QS5BgJ3JABCvFAALQZCdyQBBLkHAnckAEK8UAAtjAQF/IwBBEGsiAiQAIAIgAEEQajYCDCABQYP3xQBBBUGI8sUAQQMgAEHnAUGQxMYAQQUgAEEcakHoAUHu98UAQQggAEEoakHoAUH298UAQREgAkEMakHpARC7ECACQRBqJAALZQEBfyMAQRBrIgIkACACIABBNGo2AgwgAUHd7sUAQQVB4u7FAEEKIABB0ABqQdsBQYDpxQBBByAAQcQAakHqAUHs7sUAQQggAEHdAUH07sUAQQ0gAkEMakHrARC7ECACQRBqJAALUwEBfiMAQRBrIgAkACABKQMAIgJCBVkgAkL/////D4NCBlFxRQRAIABC6N3GgNABNwMIQc+twAAgAEEIakHw3cYAEL8TAAsgAEEQaiQAIAFBGGoLUwEBfiMAQRBrIgAkACABKQMAIgJCBVkgAkL/////D4NCBlFxRQRAIABC9NrGgNABNwMIQc+twAAgAEEIakH82sYAEL8TAAsgAEEQaiQAIAFBDGoLUgEBfyMAQSBrIgMkACADIAI2AgwgAyABNgIIIAMgA0EIaq1CgICAgJADhDcDGCADIACtQoCAgICgA4Q3AxBBjI/AACADQRBqENwRIANBIGokAAtqAEHgABCQASIBRQRAQbjwyQBBAToAAAALIAFBADoAXCABQQA2AlggAUEAOgBUIAFBggQ7ARwgAUEFNgIYIAFBj/DHADYCFCABQX82AhAgAUECNgIAIABBATYCCCAAIAE2AgQgAEEBNgIAC1IBAX8jAEEgayIDJAAgAyACNgIMIAMgATYCCCADIANBCGqtQoCAgICQA4Q3AxggAyAArUKAgICAoAOENwMQQauPwAAgA0EQahDKDyADQSBqJAALagEBfyMAQbABayICJAAgAiABKAIAIAEoAgQoAgwRAgACQCACKAJwQX5HBEAgACACQawB/AoAACAAQQE6AKwBIAAgAi0ArwE6AK8BIAAgAi8ArQE7AK0BDAELIABBfjYCcAsgAkGwAWokAAtpAQJ/IwBBEGsiAiQAIAJCADcCCCACQoCAgICAATcCACABKAJIIQMgAhCqEiACKAIEIAFB0AD8CgAAIAAgAikCADcCACACQQE2AgggAiADIAIoAgxqNgIMIAAgAikCCDcCCCACQRBqJAALWQEBfwJAAkAgACgCACAA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ASABQX42ApABIAFBADsBjAEgAUEFNgKIASABIAQ2AoQBIAFBBTYCgAEgAUIENwN4IAFCATcDcCABIAc2AmwgAUEBNgJoIAFBfjYCSCABQQE7AUQgAUEENgJAIAEgCDYCPCABQoCAgIDAADcCNCABQoCAgIDAADcCLCAAQQM2AgggACABNgIEIABBAzYCACAFIAUoAgAiAEEBazYCACAAQQFGBEAgAygCABAwCyACQYABaiQADAQLQQEQpxQACwwDCwALQQEQpxQACyADQRBqJAAPC0G48MkAQQE6AAAACy4AAn8gACkDAEIBUQRAQQEgACkDCCABUg0BGgsgACABNwMIIABCATcDAEH/AQsLOQAgACgCACIAKAIAQX9HBEAgASAAKAIEIAAoAggQnQQPCyABKAIAQZ/PxQBBDyABKAIEKAIMEQAACy8AAkAgA2lBAUcNACABQYCAgIB4IANrSw0AIAAgASADIAIQrQYiAEUNACAADwsACzsBAX9ByAEQkAEiAkUEQEG48MkAQQE6AAAACyACIAFByAH8CgAAIABBfjYCUCAAIAI2AgQgAEEGNgIACzsBAX9BsAEQkAEiAkUEQEG48MkAQQE6AAAACyACIAFBsAH8CgAAIABBfjYCUCAAIAI2AgQgAEEDNgIACy4BAn8CQCAAKAIwIgJBAkYNACACQQFxDQAgACgCQEEIaiAAKAI0EIQJIQELIAELPAEBf0HgABCQASICRQRAQbjwyQBBAToAAAALIAIgAUHgAPwKAAAgAEF+NgK4ASAAIAI2AgQgAEEGNgIACy0BAX8jAEEQayIBJAAgASABQQ9qrUKAgICAkASENwMAQc+twAAgASAAEL8TAAswAQF/IwBBEGsiACQAIAAgAEEPaq1CgICAgMAHhDcDAEHPrcAAIABBlIzGABC/EwALKwBBACEAIAJBBUYEfyABKAAAQeXawaMHcyABQQRqLQAAQfkAc3IFQQELRQsvAQJ/IAFBDGwiAhCQASIDRQRAQQQQpxQACyAAQQA2AgggACADNgIEIAAgATYCAAswACAAIAEgAhCiCiABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQ6gggASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEKMKIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhC/CSABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtAkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMAJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhCqCyABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtQkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMEJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhC2CSABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQtwkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEM8HIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhDQByABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMAAgACABIAIQwgkgASgCACICKAIAIQAgAiAAQQFrNgIAIABBAUYEQCABKAIAEDALCzAAIAAgASACEMMJIAEoAgAiAigCACEAIAIgAEEBazYCACAAQQFGBEAgASgCABAwCwswACAAIAEgAhDsCCABKAIAIgIoAgAhACACIABBAWs2AgAgAEEBRgRAIAEoAgAQMAsLMgEBfyABKAIEIgIgASgCDEcEQCABIAJBsAFqNgIEIAAgAkGwAfwKAAAPCyAAQX42AnALKQAgAQRAA0AgABCBBSAAQcgBahCHBCAAQegBaiEAIAFBAWsiAQ0ACwsLKQEBfyMAQRBrIgMkACADIAAQ6wwgAyABIAIQ1BEgABCICCADQRBqJAALn5sBAjp/CX4jAEEQayI7JAAgASEpIAIhHyMAQbAIayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACIgBEAg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RQ0AIAMoAvgCIAMoAvACRg0AIANBiANqIQlBAAwBCyADQagEaiEJIAELIQAgCSAANgIAIAFB8bicDk8NDQJAQQMgASABQQNNG0EBaiIFQcgAbCIARQRAQQghCUEAIQUMAQsgABCQASIJRQ0mC0HIACEIIAkgA0GQAWpByAD8CgAAQQEhACADQQE2AsAFIAMgCTYCvAUgAyAFNgK4BSADIAMoAvwCNgLYBCADIAMpAvQCNwPQBCADIAMpAuwCNwPIBCADIAMpAuQCNwPABCADIAMpAtwCNwO4BCADIAMpAtQCNwOwBCADIAMpAswCNwOoBANAIANBiANqIANBqARqEPkBIAMoApgDQX9HBEAgAygCuAUgAEYEQCADKAKoBAR/IAMoArQEIAMoAqwEa0HIAG4FQQALIAMoArgEBH8gAygCxAQgAygCvARrQcgAbgVBAAtqIQICfwJAIAMoAsgERQ0AIAMoAtQEIAMoAswERg0AIANBiAVqIQ9BAAwBCyADQegEaiEPIAILIQEgDyABNgIAIANBuAVqIAAgAkEBakEIQcgAELMRIAMoArwFIQkLIAggCWogA0GIA2pByAD8CgAAIAMgAEEBaiIANgLABSAIQcgAaiEIDAELCyADQagEahDcBiADKAK4BQwBCyADQcwCahDcBkEIIQlBACEAQQALIQIgHSANQQxsaiIBIAA2AgggASAJNgIEIAEgAjYCACAaIA1BAWoiDUcNAAsgHSAmaiE5IAMCfkHQ8MkALQAABEBByPDJACkDACE+QcDwyQApAwAMAQsgA0GIA2oQuxFB0PDJAEEBOgAAQcjwyQAgAykDkAMiPjcDACADKQOIAwsiPTcDgAJBACEAQcDwyQAgPUIBfDcDACADIDk2AuwBIAMgHTYC6AEgA0EANgK8ASADQQA2ApABIAMgPjcDiAIgA0GQqckAKQMANwPwASADQZipyQApAwA3A/gBIANBzAJqIANBkAFqENANAn8gAygCzAJBf0cEQEEBIQhBASEJIAMoApABQQFGBEAgAygCtAEiAEUgAygCuAEgAEZyIQkgAygClAEEfyADKAKgASADKAKYAWtBDG4FQQALIAMoAqQBBH8gAygCsAEgAygCqAFrQQxuBUEAC2ohAAtBACENIAMoArwBQQFGBEAgAygCwAEEfyADKALMASADKALEAWtBDG4FQQALIAMoAtABBH8gAygC3AEgAygC1AFrQQxuBUEAC2pBACADKALgASIBRSADKALkASABRnIiCBshDQsCfwJAIAMoAugBIgEEQCADKALsASABRiAIcSAJcQ0BIANBiANqIQhBAAwCCyAIIAlxQQFGDQAgA0GIA2ohCEEADAELIANBqARqIQggACANagshACAIIAA2AgBBMBCQASIJRQ0jIAkgAygC1AI2AgggCSADKQLMAjcCACADQQE2AsAFIAMgCTYCvAUgA0EENgK4BSADQYgDaiADQZABakGAAfwKAABBDCEAQQEhJwNAIANBqARqIANBiANqENANIAMoAqgEQX9HBEAgAygCuAUgJ0YEQEEBIQlBACEFQQAhD0EBIQ1BACEIIAMoAogDQQFGBEAgAygCrAMiAUUgAygCsAMgAUZyIQ0gAygCjAMEfyADKAKYAyADKAKQA2tBDG4FQQALIAMoApwDBH8gAygCqAMgAygCoANrQQxuBUEAC2oiDyEICyADKAK0A0EBRgRAIAMoArgDBH8gAygCxAMgAygCvANrQQxuBUEACyADKALIAwR/IAMoAtQDIAMoAswDa0EMbgVBAAtqIgJBACADKALYAyIBRSADKALcAyABRnIiCRshBSACIAhyIQgLAn8CQCADKALgAyIBBEAgAygC5AMgAUYgCXEgDXENAUEAIQkgA0GIBWoMAgsgCSANcUEBRg0AQQAhCSADQYgFagwBCyAFIA9qIQkgA0HoBGoLIAk2AgAgA0G4BWogJ0EBQQIgAygC9AMbQQEgCBtBBEEMELMRIAMoArwFIQkLIAAgCWoiASADKAKwBDYCCCABIAMpAqgENwIAIAMgJ0EBaiInNgLABSAAQQxqIQAMAQsLIANBiANqEIkMIAMoArwFITogAygCuAUMAQsgA0GQAWoQiQxBBCE6QQALISsgA0GIA2ogECgCBCAQKAIIQeT+xwBBCBDHBSADQRhqIAMoAowDIgYgAygCkAMQtAYCQCADKAIcIgFFBEBBASEIDAELIAMoAhghACABEJABIghFDSQgAUUNACAIIAAgAfwKAAALIANBfzYC8AIgAyABNgLUAiADIAg2AtACIAMgATYCzAIgA0F/NgL8AiADQgQ3AugCIANCADcC4AIgA0KAgICAgAE3AtgCIAMoAogDIgIEQCAGQQRrKAIAIgBB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AnZBAnFqIQYgAUUgEHIhEAwBCyADIAJB/wFxIgNqIQYgASADaiEBCyAGLQAAIgINAAsgECABQRBJcQ0CAkAgAUEBdCICQQBOBEAgAkUNBCACEJABIgZFDQEMBQsQnhUACwwkCyABIANB7LbEABCFEwALIAEgA0HstsQAEIUTAAtBASEGQQAhAgtBACEDIAtBADYCmAEgCyAGNgKUASALIAI2ApABQcn7wQAhBkEXIQIDQCAGQQFqIQECQAJAAkAgAsBBAEgEQCACQf8BcSIQQYABRg0BIBBBwAFHDQIgC0HQq8IANgLUASALQqCAgIAGNwLYASALQYABaiADQQN0aigCBCEGIAsgC0GQAWo2AtABIAtB4ABqIAtB0AFqIAYRAQANCCADQQFqIQMgASEGDAMLIAJB/wFxIgIgCygCkAEgCygCmAEiEGtLBEAgC0GQAWogECACEM4RIAsoApgBIRALIAIEQCALKAKUASAQaiABIAL8CgAACyABIAJqIQYgCyACIBBqNgKYAQwCCyAGQQNqIRACQAJAIAYvAAEiAiALKAKQASALKAKYASIBa0sEQCALQZABaiABIAIQzhEgCygCmAEhAQwBCyACRQ0BCyACRQ0AIAsoApQBIAFqIBAgAvwKAAALIAIgEGohBiALIAEgAmo2ApgBDAELQaCAgIAGIRAgAkEBcQRAIAYoAAEhECAGQQVqIQELQQAhCgJAIAJBAnFFBEBBACEVDAELIAEvAAAhFSABQQJqIQELIAJBBHEEQCABLwAAIQogAUECaiEBCyACQQhxBEAgAS8AACEDIAFBAmohAQsgASEGIAsgCjsB3gEgCyAVOwHcASALIBA2AtgBIAtB0KvCADYC1AEgC0GAAWogA0EDdGooAgQhASALIAtBkAFqNgLQASALQeAAaiALQdABaiABEQEADQUgA0EBaiEDCyAGLQAAIgINAAsgCyALKAKYATYCsAEgCyALKQKQATcDqAEgJSALKAJ4NgIIICUgCykDcDcCACAaKAIIIgEgGigCAEYEQCAaEL0SCyAaIAFBAWo2AgggGigCBCABQRhsaiIBIAspA6gBNwIAIAEgCykDsAE3AgggASALKQO4ATcCECAMDQALIAhBfzYCBCAIIBsEfyAbQQlqIgEEQCASQf8BIAH8CwALIBsgG0EBakEDdkEHbCAbQQhJGwVB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ACADLQARIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQASIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfUARw0AQSBBACADLQATIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe4ARw0AQSBBACADLQAUIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfQARw0AQoCAASFNDBQLQSBBACADLQAAIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQABIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQACIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeQARw0AQSBBACADLQADIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAEIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQAFIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeIARw0AQSBBACADLQAGIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfkARw0AQSBBACADLQAHIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeEARw0AQSBBACADLQAIIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQAJIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQAKIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQALIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAMIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQANIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeEARw0AQSBBACADLQAOIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfQARw0AQSBBACADLQAPIgJBwQBrQf8BcUEaSRsgAnJB/wFxQeUARw0AQSBBACADLQAQIgJBwQBrQf8BcUEaSRsgAnJB/wFxQecARw0AQSBBACADLQARIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfIARw0AQSBBACADLQASIgJBwQBrQf8BcUEaSRsgAnJB/wFxQe8ARw0AQSBBACADLQATIgJBwQBrQf8BcUEaSRsgAnJB/wFxQfUARw0AQSBBACADLQAUIgJBwQBrQf8BcUEaSRsgAnJB/wFx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iCFOIGCnIQ0gEUHYBmohDiARQcwGaiEKIBFBmAZqIQ8gEUEANgLUByARIAU2AtAHIBEgAzYCzAcgBygCoAIhBCAHKAKcAiEDIBFBADYCuAggESADNgKwCCARQQA2AqAIIBFBADYCkAggESAINgKMCCARQQA2AogIIBEgAzYCgAggEUEANgLwByARQQA2AuAHIBEgCDYC3AcgESARQcgGaiIINgLYByARIAMgBEEkbGoiAzYCtAggESADNgKECCARQZAIaiEMIBFB3AdqIRAgASgCwAEhEgJAA0ACQCARQcAIaiAQEPgCIBEoAsAIRQRAIBEoAowIIgFFDQEgEUGoB2ogDCABEPkCIBEoAqgHRQ0BIBEgESgCsAc2AsgIIBEgESkCqAc3A8AICyARKALYBygCACIDKAIAIQEgAyABQQFqNgIAIAFBAEgNESARKALICCEGIBEoAsQIIQIgAyADKAIAIgFBAWo2AgAgESAGNgLIByARIAI2AsQHIBEgAzYCwAcgAUEASA0RQQwQkAEiB0UNAiAHIAY2AgggByACNgIEIAcgAzYCACARKALUByIEIBEoAswHRgRAIBFBzAdqEJYSCyARKALQByIBIARBA3RqIgVBjPTHADYCBCAFIAc2AgAgAyADKAIAIgdBAWo2AgAgESAEQQFqIgU2AtQHIAdBAEgNEUEMEJABIgdFDRMgByAGNgIIIAcgAjYCBCAHIAM2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgVBpPTHADYCBCAFIAc2AgAgAyADKAIAIgdBAWo2AgAgESAEQQJqIgU2AtQHIAdBAEgNEUEMEJABIgdFDRMgByAGNgIIIAcgAjYCBCAHIAM2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBvPTHADYCBCABIAc2AgAgESgCwAciBigCACEBIAYgAUEBajYCACARIARBA2oiBTYC1AcgAUEASA0RIBEoAsgHIQIgESgCxAchA0EMEJABIgdFDRMgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEgsgESgC0AciASAFQQN0aiIFQdT0xwA2AgQgBSAHNgIAIAYgBigCACIHQQFqNgIAIBEgBEEEaiIFNgLUByAHQQBIDRFBDBCQASIHRQ0TIAcgAjYCCCAHIAM2AgQgByAGNgIAIBEoAswHIAVGBEAgEUHMB2oQlhIgESgC0AchAQsgASAFQQN0aiIFQez0xwA2AgQgBSAHNgIAIBEgBEEFaiIFNgLUByARQcAHahDSCgRAIAYgBigCACIHQQFqNgIAIAdBAEgNEkEMEJABIgdFDRQgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBhPXHADYCBCABIAc2AgAgESgCwAciBigCACEBIAYgAUEBajYCACARIARBBmoiBTYC1AcgAUEASA0SIBEoAsgHIQIgESgCxAchA0EMEJABIgdFDRQgByACNgIIIAcgAzYCBCAHIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEgsgESgC0AciASAFQQN0aiIFQZz1xwA2AgQgBSAHNgIAIBEgBEEHaiIFNgLUBwsgFCASEQcARQRAIAYgBigCACIBQQFrNgIAIAFBAUcNAiARKALABxAwDAILIAYgBigCACIEQQFqNgIAIARBAEgNEUEMEJABIgRFDRMgBCACNgIIIAQgAzYCBCAEIAY2AgAgESgCzAcgBUYEQCARQcwHahCWEiARKALQByEBCyABIAVBA3RqIgFBtPXHADYCBCABIAQ2AgAgESAFQQFqIgM2AtQHQQwQkAEiAUUNEyABIBEoAsgHNgIIIAEgESkCwAc3AgAgESgCzAcgA0YEQCARQcwHahCWEgsgESgC0AcgA0EDdGoiA0HM9ccANgIEIAMgATYCACARIAVBAmo2AtQHDAELCyARIBEpAswHNwOoByARIBEoAtQHNgKwByARKALQBiEBAkAgESgC1AYiBQRAIAEhBgNAIAYoAgAhAyAGQQRqKAIAIgQoAgAiAgRAIAMgAhEDAAsgBCgCBCIEBEAgA0EEaygCACIHQXhxIQIgAkEEQQggB0EDcSIHGyAEakkNAyAHQQBHIAIgBEEnaktxDRggAxC8BQsgBkEIaiEGIAVBAWsiBQ0ACwsCQCARKALMBiIEBEAgAUEEaygCACIGQXhxIQMgAyAEQQN0IgRBBEEIIAZBA3EiBhtqSQ0BIAZBAEcgAyAEQSdqS3ENFyABELwFCyAKIBEoArAHNgIIIAogESkDqAc3AgAgESgCyAYiBCgCSCIDQQF0IgFB/////wFLDQ8gA0EEdCIGQf3///8HTw0PQQAhA0EEIQICQCAGBEAgBhCQASICRQ0BIAEhAwsgEUEANgLUByARIAI2AtAHIBEgAzYCzAcgBCgCoAIhAyAEKAKcAiEBIBFBADYCuAggESABNgKwCCARQQA2AqAIIBFBADYCkAggESAEQQhqIgQ2AowIIBFBADYCiAggESABNgKACCARQQA2AvAHIBFBADYC4AcgESAENgLcByARIAg2AtgHIBEgASADQSRsaiIBNgK0CCARIAE2AoQIIBFBkAhqIQggEUHcB2ohDANAIBFBwAhqIAwQ+AICQAJAAkACQAJAAkAgESgCwAhFBEAgESgCjAgiAUUNASARQagHaiAIIAEQ+QIgESgCqAdFDQEgESARKAKwBzYCyAggESARKQKoBzcDwAgLIBEoAtgHKAIAIgMoAgAhASADIAFBAWo2AgAgAUEASA0ZIBEoAsQIIQQgESARKALICCIGNgKwByARIAM2AqgHIANBoAJqKAIAIQEgESAENgKsByABIARNDQEgA0GcAmooAgAgBEEkbGoiAUEgaigCACICIAZNDQIgAUEcaigCACAGQdQAbGoiASgCAEGCgICAeEcNAyABLQBMDQQgEUGoB2oQ5gkEQCADIAMoAgAiAUEBajYCACABQQBIDRpBDBCQASIHRQ0cIAcgBjYCCCAHIAQ2AgQgByADNgIAIBEoAtQHIgIgESgCzAdGBEAgEUHMB2oQlhILIBEoAtAHIgEgAkEDdGoiBUGs9scANgIEIAUgBzYCACADIAMoAgAiB0EBajYCACARIAJBAWoiBTYC1AcgB0EASA0aQQwQkAEiB0UNHCAHIAY2AgggByAENgIEIAcgAzYCACARKALMByAFRgRAIBFBzAdqEJYSIBEoAtAHIQELIAEgBUEDdGoiBUHE9scANgIEIAUgBzYCACADIAMoAgAiB0EBajYCACARIAJBAmoiBTYC1AcgB0EASA0aQQwQkAEiB0UNHCAHIAY2AgggByAENgIEIAcgAzYCACARKALMByAFRgRAIBFBzAdqEJYSIBEoAtAHIQELIAEgBUEDdGoiAUHc9scANgIEIAEgBzYCACADIAMoAgAiAUEBajYCACARIAJBA2oiBzYC1AcgAUEASA0aQQwQkAEiAUUNHCABIAY2Aggg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AkcEQCADIAMtAOQHOgC4ByADIAE2AqwHIANBADoAqAcgAyADKALgBzYCtAcgAyADKALcBzYCsAcgA0HoBmogA0GoB2ogBBDuBgsgAygC8AchBSADKALsByEHAkAgAygC6AciAkF/RwRAIAchAQwBCyAFQQBIDQQgBUUEQEEBIQFBACECQQAhBQwBCyAFEJABIgFFDQIgBQRAIAEgByAF/AoAAAsgBSECCyADIAU2ArQHIAMgATYCsAcgAyACNgKsByADQQA6AKgHIANBiAdqIANBqAdqIAQQzwgCQAJAAkAgAy0A9AcOAgABAgsgEBDgCAwBCyAJEMICIAMoAqgIIgIoAgAhASACIAFBAWs2AgAgAUEBRw0AIBIQtggLAkAgAygCsAgiAUUNACABIAEoAgAiAUEBazYCACABQQFHDQAgDBDLBAsgBEEBaiEEIAggBkEIaiIGRw0ACwwBCwwECwJAIAMoAuAGIgFFDQAgAygC3AYiBiABQQN0aiEIIANBsAhqIQwgA0H4B2ohECADQagIaiESIANBhAhqIQlBACEEA0AgA0HYB2ogBigCACADQfgFaiAGQQRqKAIAKAIUEQQAIAMoAtgHIgFBAkcEQCADIAMtAOQHOgC4ByADIAE2AqwHIANBAToAqAcgAyADKALgBzYCtAcgAyADKALcBzYCsAcgA0HoBmogA0GoB2ogBBDuBgsgAygC8AchBSADKALsByEHAkACQCADKALoByICQX9HBEAgByEBDAELIAVBAEgNBCAFRQRAQQEhAUEAIQJBACEFDAELIAUQkAEiAUUNASAFBEAgASAHIAX8CgAACyAFIQILIAMgBTYCtAcgAyABNgKwByADIAI2AqwHIANBAToAqAcgA0GIB2ogA0GoB2ogBBDPCAJAAkACQCADLQD0Bw4CAAECCyAQEOAIDAELIAkQwgIgAygCqAgiAigCACEBIAIgAUEBazYCACABQQFHDQAgEhC2CAsCQCADKAKwCCIBRQ0AIAEgASgCACIBQQFrNgIAIAFBAUcNACAMEMsECyAEQQFqIQQgCCAGQQhqIgZHDQEMAgsLDAQLAkAgAygC/AUiAUUNACABIAFBGGwiAWpBIWoiBEUNACADKAL4BSABa0EYayAEENkSCyADIAMpA4AHNwOQBiADIAMpA/gGNwOIBiADIAMpA/AGNwOABiAD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QZEBQfiewgAQvxMACyMBAX8gAUUEQEEADwsgACgCACECIABBADYCACABIAJBAEdrCysAIAEoAgBB+f/GAEHw/8YAIAAtAAAiABtBCkEJIAAbIAEoAgQoAgwRAAALJwECfyAAKAIAIgIoAgAhASACIAFBAWs2AgAgAUEBRgRAIAAQtggLCyYAIABBATYCBCAAIAEoAgwgASgCBGtBsAFuIgE2AgggACABNgIACwMAAAspACABKAIAIAAtAABoQQJ0IgAoAsC/SSAAKAKsv0kgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgC2MlJIAAoAsTJSSABKAIEKAIMEQAACysAIAEoAgAgACgCAC0AAEECdCIAKAKkzUkgACgCjM1JIAEoAgQoAgwRAAALKwAgASgCACAAKAIALQAAQQJ0IgAoArTTSSAAKAKc00kgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgCoNRJIAAoAozUSSABKAIEKAIMEQAACysAIAEoAgAgACgCAC0AAEECdCIAKAL01UkgACgCxNVJIAEoAgQoAgwRAAALKwAgASgCACAAKAIALQAAQQJ0IgAoArDWSSAAKAKk1kkgASgCBCgCDBEAAAsrACABKAIAIAAoAgAtAABBAnQiACgCwN1JIAAoAszbSSABKAIEKAIMEQAACwMAAAsjACAARQRAQYigxABBMhC+FQALIAAgAiADIAQgASgCEBEFAAsDAAALAwAACwMAAAsnACAAKAIALQAARQRAIAFBqrLIAEEFEJ0EDwsgAUGvssgAQQQQnQQLHwEBfyAAIAAoAgAiAUEBazYCACABQQFGBEAgABAwCwsoACABKAIAIAAtAABBAnQiACgCkNdJIAAoArzWSSABKAIEKAIMEQAACyQAIABBAXFFBEAgAUGqssgAQQUQnQQPCyABQa+yyABBBBCdBAsoACABKAIAIAAtAABBAnQiACgC2NlJIAAoAuTXSSABKAIEKAIMEQAACyQAIAAtAABFBEAgAUGqssgAQQUQnQQPCyABQa+yyABBBBCdBAshACAARQRAQYigxABBMhC+FQALIAAgAiADIAEoAhARBAALHwAgAEEBNgIEIAAgASgCAEEARyIBNgIIIAAgATYCAAsnACABKAIAQb3WxgBBrtbGACAAKAIAKAIAG0EPIAEoAgQoAgwRAAALHAAgAC0AAEH/AUYEQCAAQQhqEI4RDwsgABDmCAsdACABKAIABEAgAEGgn8kANgIEIAAgATYCAA8LAAsfAQFvIAAlASABJQEgAiUBEAYhAxCGDiIAIAMmASAACx8AIABFBEBBiKDEAEEyEL4VAAsgACACIAEoAhARAQALIQAgASgCACAAKAIAIgAoAgQgACgCCCABKAIEKAIMEQAACyEAIAEoAgAgACgCACIAKAI0IAAoAjggASgCBCgCDBEAAAseAQF/IAAgACgCAEEBayIBNgIAIAFFBEAgABD2DwsLHAAgACgCACIAKAIAIAEgAEEEaigCACgCEBEBAAseACAAKAIAIgAoAgQgACgCCCABKAIAIAEoAgQQvwYLHAEDbyAAJQEgASUBIAEQ0xIgAiUBIAIQ0xIQBAsbAQFvIAAlASABJQEQDCECEIYOIgAgAiYBIAALFgAgAARAQbjwyQBBAToAAAALEJ4VAAsTAEEUQQAgAS0AAEEBRxsgAnFFCx0AIAEgAC0AAEECdCIAKAK8vUkgACgCpL1JEJ0ECxQAIAEtAABBAUYgAkH/AXFBEElyCx0BAX9B4AAQkAEiAEUEQEG48MkAQQE6AAAACyAACxoAIAAQkAEiAEUEQEG48MkAQQE6AAAACyAACxwAIAEoAgAgACgCACAAKAIEIAEoAgQoAgwRAAALGQEBbyAAJQEgARARIQIQhg4iACACJgEgAAsSACAAIAFBAXRBAXIgAhC/EwALFwAgACgCACABIAAoAgRBDGooAgARAQALGQAgACgCBCAAKAIIIAEoAgAgASgCBBC/BgsZACAAKAIAIAAoAgQgASgCACABKAIEEPoKCxkAIAEoAgAgASgCBCAAKAIAIAAoAgQQsQkLFwAgACgCAEEQaiABKAIAIAEoAgQQ2wMLFAAgAEEEQQMgASgCAEEERhs2AgALGQEBfiABKQIAIQIgAUEANgIAIAAgAjcDAAsZACAAKAIAIAAoAgQgASgCACABKAIEEL8GCxcBAW8gACABEAchAhCGDiIAIAImASAACxcBAW8gACABECEhAhCGDiIAIAImASAACxkAIAEoAgBBuLbJAEEFIAEoAgQoAgwRAAALGQAgASgCAEGAocIAQRcgASgCBCgCDBEAAAsZACABKAIAQZehwgBBFCABKAIEKAIMEQAACxkAIAEoAgBBq6HCAEEaIAEoAgQoAgwRAAALGQAgASgCAEHZrcgAQQMgASgCBCgCDBEAAAsZACABKAIAQeCswgBBCyABKAIEKAIMEQAACxwAIABB/OLIACkCADcCCCAAQfTiyAApAgA3AgALFgAgASAAKAIAIgAoAgQgACgCCBCdBAsWACABIAAoAgAiACgCACAAKAIEEJ0ECxwAIABBsKLFACkCADcCCCAAQaiixQApAgA3AgALEgAgACgCAEF/RwRAIAAQ1AgLCxwAIABB9KLFACkCADcCCCAAQeyixQApAgA3AgALFgAgACACKAIINgIIIAAgAikCADcCAAsWACAAIAEoAgg2AgggACABKQIANwIACxwAIABBvIDGACkCADcCCCAAQbSAxgApAgA3AgALEgAgACgCAEF/RwRAIAAQyQILCxIAIAAoAgBBf0cEQCAAEPUFCwsTACAALQAAQf8BRwRAIAAQrwQLCxkAIAEoAgBB+svGAEEbIAEoAgQoAgwRAAALGQAgASgCAEGo0cYAQR8gASgCBCgCDBEAAAsZACABKAIAQcvixgBBHCABKAIEKAIMEQAACxkAIAEoAgBB3eDGAEELIAEoAgQoAgwRAAALGQAgASgCAEHA38YAQQcgASgCBCgCDBEAAAsZACABKAIAQaTZxgBBHyABKAIEKAIMEQAACxkAIAEoAgBBsM7GAEEaIAEoAgQoAgwRAAALGQAgASgCAEGEyMYAQRYgASgCBCgCDBEAAAsZACABKAIAQYDexgBBEiABKAIEKAIMEQAACxkAIAEoAgBBx9zGAEERIAEoAgQoAgwRAAALGQAgASgCAEGs6MYAQRcgASgCBCgCDBEAAAsZACABKAIAQebmxgBBFSABKAIEKAIMEQAACxkAIAEoAgBB8NLGAEEaIAEoAgQoAgwRAAALGQAgASgCAEHM1sYAQRcgASgCBCgCDBEAAAsZACABKAIAQYDlxgBBFCABKAIEKAIMEQAACxkAIAEoAgBB8OPGAEESIAEoAgQoAgwRAAALHAAgAEHw6sYAKQIANwIIIABB6OrGACkCADcCAAscACAAQdDqxgApAgA3AgggAEHI6sYAKQIANwIACxwAIABB4OrGACkCADcCCCAAQdjqxgApAgA3AgALHAAgAEGw6sYAKQIANwIIIABBqOrGACkCADcCAAscACAA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EL8TAAsUACAAKAIAIAEoAgAgASgCBBDZCwsUACAAKAIAIAEgACgCBCgCDBEBAAsPAEEfQQ8gAS0AAEEBRhsLmgQBBn8gASgCACEHIwBBgAFrIgIkACABQQRqIgQoAgAiASgCACEDIAEgA0EBajYCAAJAAkACQAJAIANBAEgNACAEKAIIIQUgBCgCBCEGIAEgASgCACIDQQFqNgIAIANBAEgNAEEYEJABIgNFDQMgAyAHNgIAIANBADYCECADIAQpAgA3AgQgAyAEKAIINgIMQRgQkAEiBA0BDAMLAAsgBEEAOgAUIARBxOTHADYCDCAEIAM2AgggBEKBgICAEDcCACACIAQ2AmwgAkEAOgBoIAIgBTYCXCACIAY2AlggAiABNgJUIAJBADYCTCACQQ86AEggAkF/NgI4IAIgBTYCNCACIAY2AjAgAiABNgIsIAJBADYCKCACQX82AhwgAkEANgIUIAJBADYCDCACQfAAaiACQQxqQQEQnw5B5AAQkAEiA0UNASADQQY6AAQgA0ECNgIAQZABEJABIgFFDQEgAUF+NgIAIAEgAikDcDcDICABIAIoAng2AiggAUEAOwGMASABQQ42AogBIAFBmPDHADYChAEgAUF/NgKAASABQgQ3A3ggAUIBNwNwIAEgAzYCbCABQQE2AmggAUF+NgJIIAFBATsBRCABQQQ2AkAgAUGU8McANgI8IAFCgICAgHA3AjQgAUKAgICAwAA3AiwgAEECNgIIIAAgATYCBCAAQQI2AgAgAkGAAWokAAwACw8LQbjwyQBBAToAAAALFAAgACABKAIAIAEoAgQoAhARAgALFQIBbwF/EAAhABCGDiIBIAAmASABCxUCAW8BfxACIQAQhg4iASAAJgEgAQsVAgFvAX8QAyEAEIYOIgEgACYBIAELEwAgAEEKNgIEIABB1KXFADYCAAsTACAAQQI2AgQgAEHFocIANgIACxMAIABBGjYCBCAAQaCjwgA2AgALEwAgAEEINgIEIABB4KnCADYCAAsRACABIAAoAgAgACgCBBCdBAsRACABIAAoAgQgACgCCBCdBAsTACAAQSg2AgQgAEGM4sgANgIACxMAIABBzOvEADYCBCAAQQE2AgALFAAgAEEANgIIIABCgICAgBA3AgALEwAgAEEFNgIEIABBy7jFADYCAAsUACAAQccANgIEIABBvLnFADYCAAsTACAAQQ42AgQgAEGH0cYANgIACxAAIAAgASgCACACIAMQ7wkLEwAgAEESNgIEIABBjM7GADYCAAsTACAAQRk2AgQgAEH72MYANgIACxMAIABBFTYCBCAAQcPZxgA2AgALEwAgAEEWNgIEIABByNLGADYCAAsTACAAQRg2AgQgAEGo18YANgIACxMAIABBKTYCBCAAQZTKxgA2AgALEwAgAEEeNgIEIABBvMXGADYCAAulBAIDfgZ/AkAgASgCACEBIwBBEGsiByQAAkAgA0EATgRAQQEhCCADRQ0BIAMQkAEiCEUEQEEBEKcUAAsgA0UNASAIIAIgA/wKAAAMAQsQnhUACyAHIAM2AgwgByAINgIIIAcgAzYCBCAHQQE6AAACQAJAAkAgASgCLEUNACABKQMwIAEpAzggBxChCiEEIAEoAiQiCyAEp3EhAiAEQhmIQv8Ag0KBgoSIkKDAgAF+IQYgASgCICEMA0AgAiAMaikAACIFIAaFIgRCgYKEiJCgwIABfSAEQn+Fg0KAgYKEiJCgwIB/gyIEQgBSBEADQAJAIAwgBHqnQQN2IAJqIAtxQWxsaiIJQRRrLQAARQ0AIAMgCUEIaygCAEcNACAIIAlBDGsoAgAgAxCPE0UNBQsgBEIBfSAEgyIEQgBSDQALCyAFIAVCAYaDQoCBgoSIkKDAgH+DQgBSDQEgCkEIaiIKIAJqIAtxIQIMAAsACyAAQX82AgAMAQsgCUEEaygCACICIAEoAmgiCU8EQCACIAlBnPLHABCFEwALIAAgASgCZCACQQN0aiIAKAIAIAEgACgCBCgCFBEEAAsCQAJAIAMEQCAIQQRrKAIAIgFBeHEhACAAQQRBCCABQQNxIgEbIANqSQ0BIAFBAEcgACADQSdqS3ENAiAIELwFCyAHQRBqJAAMAgtB0JzJAEEuQYCdyQAQrxQAC0GQnckAQS5BwJ3JABCvFAALCxMAIABBoJ/JADYCBCAAIAE2AgALEQEBfxCGDiIBIAAlASYBIAELDwBBmO3CAEErIAAQrxQACxIAQezrxwBBI0Gwq8IAEL8TAAsLACABQf8BcUEBRgsQACAAQbiqwgAgASACELEJCxAAIABB0KvCACABIAIQsQkLEAAgAEGg68IAIAEgAhCxCQsPAEHqosYAQTMgABC/EwALEwBBgILEAEGZAUHMgsQAEL8TAAsQACAAQczsxAAgASACELEJCxAAIABBkKLFACABIAIQsQkLDwAgACgCACgCACABEO8OCxAAIABBiKXFACABIAIQsQkLEwBBwJ7JAEHdAEHwnskAEL8TAAsSAEGgq8kAQShBhLrFABCvFAALEwBB0LjFAEG1AUGsucUAEL8TAAsLACABQf8BcUECSQsTAEGIxMUAQeUBQYzFxQAQvxMACxMAQYjExQBB5QFB/MTFABC/EwALDwAgACgCAC8BACABEJIPCxAAIABB/M7FACABIAIQsQkLEAAgAEGg8cUAIAEgAhCxCQsQACAAQdyWxgAgASACELEJCxAAIABB5O3GACABIAIQsQkLEAAgAEGwkMcAIAEgAhCxCQsQACAAQfCHyAAgASACELEJCxAAIABBgJrIACABIAIQsQkLEAAgAEGUrsgAIAEgAhCxCQsQACAAQYjhyAAgASACELEJCxAAIABB4JLJACABIAIQsQkLEAAgAEHgm8kAIAEgAhCxCQsQACAAQeCvyQAgASACELEJCw0AIAAlAUGBASUBEAkLDAAgACUBIAElARAOCwkAIAAgARAeAAsNAEHou8kAQRsQvhUACw4AQYO8yQBBzwAQvhUACwwAIAAoAgAgARD3AQsOACABQbCXxABBGBCdBAsOACABQZCXxABBIBCdBAsMACAAKAIAIAEQyAILDAAgACgCAEEBOgAACwwAIAAoAgAgARDjAgsMACAAKAIAIAEQ7w4LCwAgAEEAIAAQvBALDAAgACgCACABEJMJCwwAIAAoAgAgARCXDgsMACAAKAIAIAEQ/w0LDAAgACgCACABELEDCwwAIAAoAgAgARDRAQsMACAAKAIAIAEQgQgLCwAgACgCACABEG0LDAAgACgCACABEJwDCwwAIAAoAgAgARDbCAsMACAAKAIAIAEQ+wILDAAgACgCACABELIOCwwAIAAgASkCADcDAAsKACAAIAElARAICwkAIABBADYCAAsJACAAQQA2AgALCQAgAEEANgIACwkAIABBADYCAAsJACAAQgE3AwALCQAgAEIENwMACwoAIABBgwg7AQALCQAgAEF/NgIACwkAIABBATYCAAsJACAAQX82AgALCAAgACUBEAULCAAgACUBEAsLCAAgACUBEA0LCAAgACUBEBALCAAgACUBEBQLCAAgACUBEBcLBwAgAhDiCgsHACAAEIsRCwcAIAAQwAcLBwAgABDrCAsNAEK//IP4v//V3/8ACwQAQT8LBABBCwsEAEEBCwYAQoCACAsEAEEECwQAQQELBABBAAsEAEEDCwQAIAELCQBCloSAgIAQCwQAQgALBABBfwsEAEEfCwQAQQ8LBABBAAsEAEEACwQAQQILBAAgAAsEAEECCwIACwIACwIACwu31QmDAgBBhIDAAAu1lgIBAAAAAQAAAIYBAACHAQAABAAAAAQAAACIAQAAUDIwMTlQMjAxNFAyMDEzwMDAAApkZWxldGVNYW55wAAKY3JlYXRlTWFuecAACnVwZGF0ZU1hbnnAAAhmaW5kTWFuecAAB2dyb3VwQnnAAAlmaW5kRmlyc3TAAARMaXN0wAABdMAAwAJUb8AABEVudW3AAAFqwAAKZmluZFVuaXF1ZcAACWFnZ3JlZ2F0ZcAACUFnZ3JlZ2F0ZcAACXVwc2VydE9uZcAACWRlbGV0ZU9uZcAACWNyZWF0ZU9uZcAACXVwZGF0ZU9uZcAADF9hZ2dyX2NvdW50X8AAD2FnZ3Jfc2VsZWN0aW9uX8AAwAFfwAACQEDAAMABQMAADzx1bmtub3duIGhvc3Q+OsAADXVuaXQgdmFyaWFudCDAAjo6wADAATrAATrAAARUaGUgwC9pbmRleCBkZWZpbml0aW9uIHJlZmVycyB0byB0aGUgcmVsYXRpb24gZmllbGRzIMA2LiBJbmRleCBkZWZpbml0aW9ucyBtdXN0IHJlZmVyZW5jZSBvbmx5IHNjYWxhciBmaWVsZHMuwAALVGhlIGZpZWxkIGDAYGAgaXMgYSByZWxhdGlvbiBmaWVsZCBhbmQgY2Fubm90IGJlIG1hcmtlZCB3aXRoIGB1bmlxdWVgLiBPbmx5IHNjYWxhciBmaWVsZHMgY2FuIGJlIG1hZGUgdW5pcXVlLsAAwAEuwAEuwAANTmF0aXZlIHR5cGUgYMAWYCBjYW5ub3QgYmUgdW5pcXVlIGluIMABLsAAN1lvdSBjYW5ub3QgZGVmaW5lIGFuIGluZGV4IG9uIGZpZWxkcyB3aXRoIG5hdGl2ZSB0eXBlIGDABWAgb2YgwAEuwAADMDAtwAEtwAEtwAABJcAABkBsaW5rJMAAASTAABJFeHRlcm5hbCBlcnJvciBpZCPAACdleHBlY3RlZCBvbmx5IG9uZSBTZWxlY3Rpb25SZXN1bHQsIGdvdCDAADFTZWxlY3Rpb25SZXN1bHQgdmFsdWUgbXVzdCBiZSBhIHBsYWNlaG9sZGVyLCBnb3QgwAAJYXJndW1lbnQgwBsgcmVxdWlyZXMgdW5rbm93biBhcmd1bWVudCDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAVYnl0ZSByYW5nZSBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwABfaW52YWxpZCBjaGFyYWN0ZXI6IGV4cGVjdGVkIGFuIG9wdGlvbmFsIHByZWZpeCBvZiBgdXJuOnV1aWQ6YCBmb2xsb3dlZCBieSBbMC05YS1mQS1GLV0sIGZvdW5kIGDABWAgYXQgwAAYRGF0YWJhc2UgYWxyZWFkeSBleGlzdHMgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAwAQgYXMgwADABCBvciDAAB9BdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIgwADACSBhdCBsaW5lIMAIIGNvbHVtbiDAABhVbmFibGUgdG8gcmVzb2x2ZSBmaWVsZCDALSB0byBhIGZpZWxkIG9yIHNldCBvZiBzY2FsYXIgZmllbGRzIG9uIG1vZGVsIMAAGFVuYWJsZSB0byByZXNvbHZlIGZpZWxkIMAoIHRvIGEgZmllbGQgb3IgYSBzZXQgb2YgZmllbGRzIG9uIG1vZGVsIMAAEXN0YXJ0IGJ5dGUgaW5kZXggwCcgaXMgb3V0IG9mIGJvdW5kcyBmb3Igc3RyaW5nIG9mIGxlbmd0aCDAAA9lbmQgYnl0ZSBpbmRleCDAJyBpcyBvdXQgb2YgYm91bmRzIGZvciBzdHJpbmcgb2YgbGVuZ3RoIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAAdzdHJpbmcgwAADSWYgwAAaQWNjZXNzIGRlbmllZCB0byBkYXRhYmFzZSDAAMAJIGluIHR5cGUgwAA8aW52YWxpZCBsZW5ndGg6IGV4cGVjdGVkIGxlbmd0aCAzMiBmb3Igc2ltcGxlIGZvcm1hdCwgZm91bmQgwAApaW52YWxpZCBsZW5ndGg6IGV4cGVjdGVkIDE2IGJ5dGVzLCBmb3VuZCDAACdpbnZhbGlkIGdyb3VwIGNvdW50OiBleHBlY3RlZCA1LCBmb3VuZCDAAB5pbnZhbGlkIGdyb3VwIGxlbmd0aCBpbiBncm91cCDACzogZXhwZWN0ZWQgwAgsIGZvdW5kIMAAHWludmFsaWQgdHlwZTogbnVsbCwgZXhwZWN0ZWQgwAARdW5rbm93biB2YXJpYW50IGDADGAsIGV4cGVjdGVkIMAAD2ludmFsaWQgbGVuZ3RoIMALLCBleHBlY3RlZCDAAA9pbnZhbGlkIHZhbHVlOiDACywgZXhwZWN0ZWQgwAAOaW52YWxpZCB0eXBlOiDACywgZXhwZWN0ZWQgwAAhSW52YWxpZCBpbnB1dCBwcm92aWRlZCB0byBxdWVyeTogwAAXQWdncmVnYXRlUmVjb3Jkc1F1ZXJ5OiDAAApRdWVyeVJhdzogwAAMRXhlY3V0ZVJhdzogwAAdSW52YWxpZCBzY2FsYXIgZmlsdGVyIGlucHV0OiDAAB9JbnZhbGlkIHJlbGF0aW9uIGZpbHRlciBpbnB1dDogwAAgSW52YWxpZCBjb21wb3NpdGUgZmlsdGVyIGlucHV0OiDAABlEYXRhYmFzZSBkb2VzIG5vdCBleGlzdDogwAAtV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cy4gRXhwZWN0ZWQ6IDEsIGdvdDogwAAQYXNzZXJ0aW9uIGBsZWZ0IMAXIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiDACQogcmlnaHQ6IMAAEGFzc2VydGlvbiBgbGVmdCDAECByaWdodGAgZmFpbGVkOiDACQogIGxlZnQ6IMAJCiByaWdodDogwAAYSW52YWxpZCBvcGVyYXRvciBjbGFzczogwAAgSW52YWxpZCByZWxhdGlvbiBtb2RlIHNldHRpbmc6ICLAFSIuIFN1cHBvcnRlZCB2YWx1ZXM6IMAAE0RlbGV0ZU1hbnlSZWNvcmRzOiDAADFFcnJvciBhY2Nlc3NpbmcgcmVzdWx0IHNldCwgaW5kZXggb3V0IG9mIGJvdW5kczogwABrVGhlIGFyZ3VtZW50IGZpZWxkcyBtdXN0IHJlZmVyIG9ubHkgdG8gc2NhbGFyIGZpZWxkcy4gQnV0IGl0IGlzIHJlZmVyZW5jaW5nIHRoZSBmb2xsb3dpbmcgcmVsYXRpb24gZmllbGRzOiDAAFFUaGUgYXJndW1lbnQgYHJlZmVyZW5jZXNgIG11c3QgcmVmZXIgb25seSB0byBzY2FsYXIgZmllbGRzIGluIHRoZSByZWxhdGVkIG1vZGVsIGDAOGAuIEJ1dCBpdCBpcyByZWZlcmVuY2luZyB0aGUgZm9sbG93aW5nIHJlbGF0aW9uIGZpZWxkczogwABgRXZlcnkgZmllbGQgdXNlZCBmb3Igb3JkZXJCeSBtdXN0IGJlIGluY2x1ZGVkIGluIHRoZSBieS1hcmd1bWVudHMgb2YgdGhlIHF1ZXJ5LiBNaXNzaW5nIGZpZWxkczogwAAVcXVlcnkgYnVpbGRlciBlcnJvcjogwAAZSW52YWxpZCBhcmd1bWVudCB2YWx1ZS4gYMASYCBpcyBub3QgYSB2YWxpZCBgwBVgLiBVbmRlcmx5aW5nIGVycm9yOiDAABlxdWVyeSBncmFwaCBidWlsZCBlcnJvcjogwAAVU2VyaWFsaXphdGlvbiBFcnJvcjogwAAMSlNPTiBFcnJvcjogwAAlSW52YWxpZCBKU09OIHZhbHVlIGZvciBMSUtFIHBhdHRlcm46IMAAIkZhaWxlZCB0byBwYXJzZSBkYXRhYmFzZSB2ZXJzaW9uOiDACi4gUmVhc29uOiDAACNFcnJvciBpbiBxdWVyeSBncmFwaCBjb25zdHJ1Y3Rpb246IMAAIEVycm9yIG9wZW5pbmcgYSBUTFMgY29ubmVjdGlvbjogwAAcVW5oYW5kbGVkIG5lc3RlZCBvcGVyYXRpb246IMAAKlVuc3VwcG9ydGVkIHJlZmVyZW50aWFsIGFjdGlvbiBlbXVsYXRpb246IMAAF1RvbyBtYW55IGZpZWxkcyBnaXZlbjogwAAZSW52YWxpZCBpc29sYXRpb24gbGV2ZWw6IMAADlVwc2VydChtb2RlbDogwABpVGhlIGFyZ3VtZW50IGZpZWxkcyBtdXN0IHJlZmVyIG9ubHkgdG8gZXhpc3RpbmcgZmllbGRzLiBUaGUgZm9sbG93aW5nIGZpZWxkcyBkbyBub3QgZXhpc3QgaW4gdGhpcyBtb2RlbDogwABTVGhlIGFyZ3VtZW50IGByZWZlcmVuY2VzYCBtdXN0IHJlZmVyIG9ubHkgdG8gZXhpc3RpbmcgZmllbGRzIGluIHRoZSByZWxhdGVkIG1vZGVsIGDAO2AuIFRoZSBmb2xsb3dpbmcgZmllbGRzIGRvIG5vdCBleGlzdCBpbiB0aGUgcmVsYXRlZCBtb2RlbDogwAASRXJyb3IgdmFsaWRhdGluZzogwABPRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBlbnVtIHZhbHVlIGRlY2xhcmF0aW9uIGR1cmluZyBwYXJzaW5nLCBuYW1lIGlzIG1pc3Npbmc6IMAAGVNvbWUgZmllbGRzIGFyZSBtaXNzaW5nOiDAAFppbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGZ1bmN0aW9uIGR1cmluZyBwYXJzaW5nOiDAAG1pbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIHNvdXJjZSBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBkdXJpbmcgcGFyc2luZzogwABZaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBsaXRlcmFsIGR1cmluZyBwYXJzaW5nOiDAADVFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGF0dHJpYnV0ZSBhcmcgZHVyaW5nIHBhcnNpbmc6IMAAVmludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEVuY291bnRlcmVkIGltcG9zc2libGUgdHlwZSBkdXJpbmcgcGFyc2luZzogwABXaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogRW5jb3VudGVyZWQgaW1wb3NzaWJsZSBmaWVsZCBkdXJpbmcgcGFyc2luZzogwAAhRXJyb3IgcGFyc2luZyBjb25uZWN0aW9uIHN0cmluZzogwAATVW5rbm93biBxdWVyeSB0YWc6IMAAFVRoZSBwcmV2aWV3IGZlYXR1cmUgIsAhIiBpcyBub3Qga25vd24uIEV4cGVjdGVkIG9uZSBvZjogwAAjVW5leHBlY3RlZCB0b2tlbi4gRXhwZWN0ZWQgb25lIG9mOiDAACBFcnJvciByZWFkaW5nIHRoZSBjb2x1bW4gdmFsdWU6IMAADlVwc2VydChtb2RlbDogwAosIGZpbHRlcjogwAosIGNyZWF0ZTogwAosIHVwZGF0ZTogwAAdRXJyb3IgcXVlcnlpbmcgdGhlIGRhdGFiYXNlOiDAAA9ObyBzdWNoIHRhYmxlOiDAABhEYXRhYmFzZSBub3QgcmVhY2hhYmxlOiDAACppbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiDAAC5FcnJvciBhY2Nlc3NpbmcgcmVzdWx0IHNldCwgY29sdW1uIG5vdCBmb3VuZDogwAA5SlNPTiB0YXJnZXQgdHlwZXMgb25seSBhY2NlcHQgc3RyaW5ncyBvciBudW1iZXJzLCBmb3VuZDogwABESW52YWxpZCB2YWx1ZSBmb3Igc2tpcCBhcmd1bWVudDogVmFsdWUgY2FuIG9ubHkgYmUgcG9zaXRpdmUsIGZvdW5kOiDAAElFeHBlY3RlZCBmaWVsZCBgZmllbGRzYCB0byBiZSBvZiB0eXBlIFN0cmluZywgRW51bSBvciBMaXN0PEVudW0+LCBmb3VuZDogwAA1RXJyb3IgYWNjZXNzaW5nIHJlc3VsdCBzZXQsIHR5cGUgbWlzbWF0Y2gsIGV4cGVjdGVkOiDAACBUcmFuc2FjdGlvbiB3YXMgYWxyZWFkeSBjbG9zZWQ6IMAAH0ZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgZmFpbGVkOiDAABhOdWxsIGNvbnN0cmFpbnQgZmFpbGVkOiDAABpVbmlxdWUgY29uc3RyYWludCBmYWlsZWQ6IMAAE0NvbnZlcnNpb24gZmFpbGVkOiDAABdFcnJvciBpbiBkb21haW4gbG9naWM6IMAAF0Vycm9yIHZhbGlkYXRpbmcgZW51bSBgwANgOiDAABhFcnJvciB2YWxpZGF0aW5nIGZpZWxkIGDAFWAgaW4gY29tcG9zaXRlIHR5cGUgYMADYDogwAAdRXJyb3IgdmFsaWRhdGluZyBkYXRhc291cmNlIGDAA2A6IMAAI0Vycm9yIGluIHRoZSB1bmRlcmx5aW5nIGNvbm5lY3RvciAowAMpOiDAABlFcnJvciBwYXJzaW5nIGF0dHJpYnV0ZSAiwAMiOiDAACFFcnJvciB2YWxpZGF0aW5nIGNvbXBvc2l0ZSB0eXBlICLAAyI6IMAAEUVycm9yIHZhbGlkYXRpbmcgwAIgIsADIjogwAABIsADIjogwAAsQXJndW1lbnQgTSBpcyBvdXQgb2YgcmFuZ2UgZm9yIG5hdGl2ZSB0eXBlIGDABWAgb2YgwAI6IMAADUlucHV0IGVycm9yLiDAABpWYWx1ZSBvdXQgb2YgcmFuZ2UgZXJyb3IuIMAAFVVuc3VwcG9ydGVkIGZlYXR1cmU6IMACLiDAABVFcnJvciBjcmVhdGluZyBVVUlELCDAAF1pbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbmNvdW50ZXJlZCBpbXBvc3NpYmxlIGRvYyBjb21tZW50IGR1cmluZyBwYXJzaW5nOiDAAiwgwAAORGVsZXRlUmVjb3JkOiDAAiwgwAAYUHJvamVjdGVkRGF0YURlcGVuZGVuY3kowAIpIMAACV9AcGFyYW1fIMABIMAAQWludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEVuY291bnRlcmVkIGltcG9zc2libGUgwBEgZHVyaW5nIHBhcnNpbmc6IMABIMAACmBgYHByaXNtYQrACQpgYGAKX19fCsACCgrAABpGaWVsZFNlbGVjdGlvbiB7IGZpZWxkczogW8ADXSB9AMADIHsgwAIgfQACeyDAAiB9AApkaWdyYXBoIHsKwAEKwAIKfQDAAS/AAV/ACS5ncmFwaHZpegAJZmluZEZpcnN0wAdPclRocm93AApmaW5kVW5pcXVlwAdPclRocm93AAlhZ2dyZWdhdGXAA1JhdwAEZmluZMADUmF3AMATT2JqZWN0RXF1YWxpdHlJbnB1dADAD0RlbGV0ZU1hbnlJbnB1dADAD0NyZWF0ZU1hbnlJbnB1dADAGFVuY2hlY2tlZFVwZGF0ZU1hbnlJbnB1dADAD1VwZGF0ZU1hbnlJbnB1dADAC1Vwc2VydElucHV0AMDAGkZpZWxkVXBkYXRlT3BlcmF0aW9uc0lucHV0AMAXVXBkYXRlTWFueU11dGF0aW9uSW5wdXQAwA1GaWVsZFJlZklucHV0AMAQV2hlcmVVbmlxdWVJbnB1dADAwBNDb21wb3VuZFVuaXF1ZUlucHV0AMDAFU9yZGVyQnlBZ2dyZWdhdGVJbnB1dADAB09yZGVyQnnADkFnZ3JlZ2F0ZUlucHV0AMAUVW5jaGVja2VkQ3JlYXRlSW5wdXQAwAtDcmVhdGVJbnB1dADAFFVuY2hlY2tlZFVwZGF0ZUlucHV0AMALVXBkYXRlSW5wdXQAwApXaGVyZUlucHV0AMDAE0NyZWF0ZUVudmVsb3BlSW5wdXQAwMATVXBkYXRlRW52ZWxvcGVJbnB1dADAFU9yZGVyQnlSZWxldmFuY2VJbnB1dADAwAZVcGRhdGXAB1dpdGhvdXTAC05lc3RlZElucHV0AMAKQ3JlYXRlTWFuecAFSW5wdXQAwAdPcmRlckJ5wAVJbnB1dADAGlVuY2hlY2tlZFVwZGF0ZU1hbnlXaXRob3V0wAVJbnB1dADADVVwc2VydFdpdGhvdXTABUlucHV0AMAWQ3JlYXRlT3JDb25uZWN0V2l0aG91dMAFSW5wdXQAwBxVcHNlcnRXaXRoV2hlcmVVbmlxdWVXaXRob3V0wAVJbnB1dADAHFVwZGF0ZVdpdGhXaGVyZVVuaXF1ZVdpdGhvdXTABUlucHV0AMAWVW5jaGVja2VkQ3JlYXRlV2l0aG91dMAFSW5wdXQAwA1DcmVhdGVXaXRob3V0wAVJbnB1dADAFlVuY2hlY2tlZFVwZGF0ZVdpdGhvdXTABUlucHV0AMANVXBkYXRlV2l0aG91dMAFSW5wdXQAwBpVcGRhdGVNYW55V2l0aFdoZXJlV2l0aG91dMAFSW5wdXQAwBtVcGRhdGVUb09uZVdpdGhXaGVyZVdpdGhvdXTABUlucHV0AMDABkNyZWF0ZcAHV2l0aG91dMAFSW5wdXQAwAZDcmVhdGXABUlucHV0AMAGVXBkYXRlwAVJbnB1dADAC1NjYWxhcldoZXJlwAVJbnB1dAAFbm9kZSDADyBoYXMgbm8gY29udGVudAABYMAiYDogQSB2YWx1ZSBpcyByZXF1aXJlZCBidXQgbm90IHNldAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9ncm91cGJ5bGF6eS5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbWFwL2VudHJ5LnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2luZGV4bWFwLTIuMTAuMC9zcmMvbWFwL2NvcmUvZW50cnkucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9yZWxhdGlvbi9pbXBsaWNpdF9tYW55X3RvX21hbnkucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9tdXRhdGlvbnMvY3JlYXRlX21hbnkucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9yZWFkL21hbnkucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9tb2RlbC9wcmltYXJ5X2tleS5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy9hdHRyaWJ1dGVzL3NoYXJkX2tleS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL29yZGVyX2J5LnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvZ3JvdXBfYnkucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYmFzZTY0LTAuMjIuMS9zcmMvZW5naW5lL2dlbmVyYWxfcHVycG9zZS9kZWNvZGVfc3VmZml4LnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvaW5kZXgucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaW5kZXgucnMAcXVhaW50L3NyYy9hc3Qvcm93LnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2Vfdmlldy5ycwAvcnVzdC9kZXBzL2hhc2hicm93bi0wLjE3LjEvc3JjL3Jhdy5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L2NvcmUvc3JjL251bS9pbXAvZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9yZXF1ZXN0X2NvbnRleHQucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvY29udGV4dC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3ByaXNtYV92YWx1ZV9leHQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZG9jdW1lbnQvcGFyc2VfYXN0LnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9udW0tYmlnaW50LTAuNC4zL3NyYy9iaWd1aW50L2NvbnZlcnQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlnaW50L2NvbnZlcnQucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL2NvbnZlcnQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS91cHNlcnQucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9hbGxvYy9zcmMvZm10LnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvc2VsZWN0aW9uX3Jlc3VsdC5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy9hdHRyaWJ1dGVzL2RlZmF1bHQucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL2xpbWl0LnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL251bS1iaWdpbnQtMC40LjMvc3JjL2JpZ3VpbnQvc2hpZnQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlnaW50L3NoaWZ0LnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvZGlzY29ubmVjdC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL2Nvbm5lY3QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2RpeV9mbG9hdC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9mb3JtYXQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9pbnB1dHMucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWludGVnZXItMC4xLjQ1L3NyYy9yb290cy5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2V4dHJhY3RvcnMvcXVlcnlfYXJndW1lbnRzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfYXJndW1lbnRzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfY29tbWVudHMucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9pbnB1dF90eXBlcy9vYmplY3RzL2ZpbHRlcl9vYmplY3RzLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvb2JqZWN0cy91cGRhdGVfb25lX29iamVjdHMucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGVzdC0yLjguNC9zcmMvaXRlcmF0b3JzL3BhaXJzLnJzAHBzbC9wc2wtY29yZS9zcmMvZGF0YW1vZGVsX2Nvbm5lY3Rvci9maWx0ZXJzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9mbXQvYnVpbGRlcnMucnMAcHNsL3BzbC1jb3JlL3NyYy9jb25maWd1cmF0aW9uL2Vudl92YXJzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3JlbGF0aW9ucy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wZXN0LTIuOC40L3NyYy9pdGVyYXRvcnMvdG9rZW5zLnJzAHBzbC9wc2wtY29yZS9zcmMvYnVpbHRpbl9jb25uZWN0b3JzL3V0aWxzLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvZXh0cmFjdG9ycy91dGlscy5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL3V0aWxzLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC91dGlscy5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL3V0aWxzLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL25haXZlL2ludGVybmFscy5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3dyaXRlX2FyZ3MucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvY29udGV4dC9hdHRyaWJ1dGVzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL2F0dHJpYnV0ZXMucnMAcHNsL3BzbC1jb3JlL3NyYy9jb21tb24vcHJldmlld19mZWF0dXJlcy5ycwBxdWFpbnQvc3JjL3Zpc2l0b3IvcG9zdGdyZXMucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9pbnB1dF90eXBlcy9maWVsZHMvZmllbGRfZmlsdGVyX3R5cGVzLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL2F0dHJpYnV0ZXMvbmF0aXZlX3R5cGVzLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfdHlwZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvdHlwZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvbmFtZXMucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvdHlwZXMvaW5kZXhfZmllbGRzLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9zdGQvc3JjL3N5cy9zeW5jL29uY2Uvbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3N0ci5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvZmlsdGVyL3Zpc2l0b3IucnMAcXVhaW50L3NyYy92aXNpdG9yLnJzAHBzbC9wc2wtY29yZS9zcmMvZGF0YW1vZGVsX2Nvbm5lY3Rvci9lbXB0eV9jb25uZWN0b3IucnMAcHNsL3BzbC1jb3JlL3NyYy9idWlsdGluX2Nvbm5lY3RvcnMvcG9zdGdyZXNfZGF0YW1vZGVsX2Nvbm5lY3Rvci5ycwBwc2wvcHNsLWNvcmUvc3JjL2RhdGFtb2RlbF9jb25uZWN0b3IucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL3BhcnNlci9wYXJzZV9zb3VyY2VfYW5kX2dlbmVyYXRvci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2Vycm9yLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvZXJyb3IucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvdXVpZC0xLjEwLjAvc3JjL2Vycm9yLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3Blc3QtMi44LjQvc3JjL2l0ZXJhdG9ycy9wYWlyLnJzAHF1ZXJ5LWNvbXBpbGVyL3JlcXVlc3QtaGFuZGxlcnMvc3JjL3Byb3RvY29scy9qc29uL3Byb3RvY29sX2FkYXB0ZXIucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9maWx0ZXIvaW50b19maWx0ZXIucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL3dyaXRlX2FyZ3NfcGFyc2VyLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2RvY3VtZW50L3BhcnNlci5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi91dWlkLTEuMTAuMC9zcmMvcGFyc2VyLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvdmFsdWUvc2VyLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvc2VyLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy9kYXRhX21hcHBlci5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1jb21waWxlci13YXNtL3NyYy9jb21waWxlci5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL2J1aWxkZXIucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9leHRyYWN0b3JzL2ZpbHRlcnMvc2NhbGFyLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGQvc2NhbGFyLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvbnVtL2ltcC9kZWMyZmx0L2RlY2ltYWxfc2VxLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9iaGNvbXAucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvYXR0cmlidXRlcy9tYXAucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaW5kZXhtYXAtMi4xMC4wL3NyYy9tYXAucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9zdHIvcGF0dGVybi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9wZXN0LTIuOC40L3NyYy9wb3NpdGlvbi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvY3Vyc29yX2NvbmRpdGlvbi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9udW0tYmlnaW50LTAuNC4zL3NyYy9iaWd1aW50L2FkZGl0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGRfc2VsZWN0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2RvY3VtZW50L3NlbGVjdGlvbi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL3Byb2plY3Rpb25zL21vZGVsX3Byb2plY3Rpb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9zdWJ0cmFjdGlvbi5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy93YWxrZXJzL3JlbGF0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9tb2RlbF9leHRlbnNpb25zL3JlbGF0aW9uLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmllbGQvcmVsYXRpb24ucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9yZWxhdGlvbi5ycwBsaWJzL3VzZXItZmFjaW5nLWVycm9ycy9zcmMvcXVlcnlfZW5naW5lL3ZhbGlkYXRpb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9tdWx0aXBsaWNhdGlvbi5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX2V4cHJlc3Npb24ucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbnVtLWJpZ2ludC0wLjQuMy9zcmMvYmlndWludC9kaXZpc2lvbi5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L2NvcmUvc3JjL251bS9pbXAvZmx0MmRlYy9zdHJhdGVneS9kcmFnb24ucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL21vZGVsX2V4dGVuc2lvbnMvY29sdW1uLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2Zvcm1hdC9zY2FuLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvbnVtL2ltcC9iaWdudW0ucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL3BhcnNlci9wYXJzZV9lbnVtLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvZW51bS5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX21vZGVsLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvbW9kZWwucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9tb2RlbC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvc2VsZWN0L2xhdGVyYWwucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvdG9raW8tMS40NS4xL3NyYy90YXNrL3Rhc2tfbG9jYWwucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9zdGQvc3JjL3N5bmMvbGF6eV9sb2NrLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9tYXRoLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUvcXVlcnkvcmVhZC9pbl9tZW1vcnlfcHJvY2Vzc2luZy5ycwAvaG9tZS9ydW5uZXIvLnJ1c3R1cC90b29sY2hhaW5zLzEuOTcuMS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3JjL3J1c3QvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9vcmRlcmluZy5ycwAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTA1L3NyYy9leHRlcm5yZWYucnMAcXVlcnktY29tcGlsZXIvcXVlcnktc3RydWN0dXJlL3NyYy9kZWZhdWx0X3ZhbHVlLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfYXR0cmlidXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvZXh0cmFjdG9ycy9maWx0ZXJzL2NvbXBvc2l0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL2ZpZWxkL2NvbXBvc2l0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1jb21waWxlci9zcmMvdHJhbnNsYXRlL3F1ZXJ5L3dyaXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2FzdC93cml0ZS5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvd3JpdGUucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9kZWxldGUucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvcGVzdC0yLjguNC9zcmMvcGFyc2VyX3N0YXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL25hdmlnYXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvYWdncmVnYXRlLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvZmllbGRzL2RhdGFfaW5wdXRfbWFwcGVyL2NyZWF0ZS5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL2NyZWF0ZS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL2J1aWxkL2lucHV0X3R5cGVzL2ZpZWxkcy9kYXRhX2lucHV0X21hcHBlci91cGRhdGUucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS91cGRhdGUucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2RlYzJmbHQvcGFyc2UucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvZm9ybWF0L3BhcnNlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvbGV4aWNhbC9wYXJzZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pbmRleG1hcC0yLjEwLjAvc3JjL21hcC9jb3JlLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvZmllbGRzL2ZpZWxkX3JlZl90eXBlLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfY29tcG9zaXRlX3R5cGUucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvd2Fsa2Vycy9jb21wb3NpdGVfdHlwZS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL2J1aWxkL211dGF0aW9ucy9jcmVhdGVfb25lLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9vbmUucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvZm9ybWF0L3N0cmZ0aW1lLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAcXVhaW50L3NyYy9hc3QvdGFibGUucnMAcXVlcnktY29tcGlsZXIvcXVlcnktYnVpbGRlcnMvc3FsLXF1ZXJ5LWJ1aWxkZXIvc3JjL21vZGVsX2V4dGVuc2lvbnMvdGFibGUucnMAcXVlcnktY29tcGlsZXIvcXVlcnktY29tcGlsZXIvc3JjL3Jlc3VsdF9ub2RlLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9ub2RlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuY29kZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9iYXNlNjQtMC4yMi4xL3NyYy9lbmdpbmUvZ2VuZXJhbF9wdXJwb3NlL2RlY29kZS5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZS0xLjAuMjI4L3NyYy9wcml2YXRlL2RlLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlX2pzb24tMS4wLjEwNC9zcmMvZGUucnMAcHNsL3BzbC1jb3JlL3NyYy9jb25maWd1cmF0aW9uL2RhdGFzb3VyY2UucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGgvZ3VhcmQucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGFzaGJyb3duLTAuMTUuMi9zcmMvcmF3L21vZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9kb2N1bWVudC9tb2QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9mbXQvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9zZWxlY3QvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2Zvcm1hdC9tb2QucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci9leHRyYWN0b3JzL2ZpbHRlcnMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvcmVhZC9hZ2dyZWdhdGlvbnMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3NjaGVtYS9zcmMvYnVpbGQvaW5wdXRfdHlwZXMvbW9kLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LXN0cnVjdHVyZS9zcmMvZmlsdGVyL3NjYWxhci9tb2QucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvc3RkL3NyYy9pby9tb2QucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGgvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL25haXZlL2RhdGUvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9nZW5lcmFsX3B1cnBvc2UvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9tb2QucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvY2hyb25vLTAuNC40Mi9zcmMvbmFpdmUvZGF0ZXRpbWUvbW9kLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Nocm9uby0wLjQuNDIvc3JjL2RhdGV0aW1lL21vZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9jb3JlLTEuMC4yMjgvc3JjL2RlL21vZC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1zdHJ1Y3R1cmUvc3JjL2ZpZWxkL21vZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL25lc3RlZC9tb2QucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ob21lL3J1bm5lci8ucnVzdHVwL3Rvb2xjaGFpbnMvMS45Ny4xLXg4Nl82NC11bmtub3duLWxpbnV4LWdudS9saWIvcnVzdGxpYi9zcmMvcnVzdC9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvbW9kLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy9udW0vaW1wL2ZsdDJkZWMvbW9kLnJzAHBzbC9wYXJzZXItZGF0YWJhc2Uvc3JjL3dhbGtlcnMvc2NhbGFyX2ZpZWxkLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWJ1aWxkZXJzL3NxbC1xdWVyeS1idWlsZGVyL3NyYy9tb2RlbF9leHRlbnNpb25zL3NjYWxhcl9maWVsZC5ycwBwc2wvcGFyc2VyLWRhdGFiYXNlL3NyYy93YWxrZXJzL3JlbGF0aW9uX2ZpZWxkLnJzAHBzbC9zY2hlbWEtYXN0L3NyYy9wYXJzZXIvcGFyc2VfZmllbGQucnMAcXVlcnktY29tcGlsZXIvc2NoZW1hL3NyYy9idWlsZC9vdXRwdXRfdHlwZXMvZmllbGQucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvYXR0cmlidXRlcy9pZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3dyaXRlL25lc3RlZC91cHNlcnRfbmVzdGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvbmVzdGVkL3NldF9uZXN0ZWQucnMAL2hvbWUvcnVubmVyLy5ydXN0dXAvdG9vbGNoYWlucy8xLjk3LjEteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9zcGVjX2Zyb21faXRlcl9uZXN0ZWQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9uZXN0ZWQvY29ubmVjdF9vcl9jcmVhdGVfbmVzdGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL2NvcmUvc3JjL3F1ZXJ5X2dyYXBoX2J1aWxkZXIvd3JpdGUvbmVzdGVkL2NyZWF0ZV9uZXN0ZWQucnMAcXVlcnktY29tcGlsZXIvY29yZS9zcmMvcXVlcnlfZ3JhcGhfYnVpbGRlci93cml0ZS9uZXN0ZWQvdXBkYXRlX25lc3RlZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9ncmFwaF9idWlsZGVyL3JlYWQvcmVsYXRlZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9qc29uLTEuMC4xMDQvc3JjL2xleGljYWwvY2FjaGVkLnJzAHF1ZXJ5LWNvbXBpbGVyL3F1ZXJ5LWNvbXBpbGVyL3NyYy90cmFuc2xhdGUvcXVlcnkvcmVhZC5ycwBxdWVyeS1jb21waWxlci9jb3JlL3NyYy9xdWVyeV9hc3QvcmVhZC5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvcmVhZC5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9qc29uLTEuMC4xMDQvc3JjL3JlYWQucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTMvc3JjL2RsbWFsbG9jLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAcHNsL3NjaGVtYS1hc3Qvc3JjL2xpYi5ycwBxdWVyeS1jb21waWxlci9xdWVyeS1idWlsZGVycy9zcWwtcXVlcnktYnVpbGRlci9zcmMvbGliLnJzAGxpYnMvcHJpc21hLXZhbHVlL3NyYy9saWIucnMAcHNsL3BhcnNlci1kYXRhYmFzZS9zcmMvbGliLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3VjZC10cmllLTAuMS42L3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc2VyZGUtd2FzbS1iaW5kZ2VuLTAuNi41L3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvaGV4LTAuNC4zL3NyYy9saWIucnMAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvanMtc3lzLTAuMy44Mi9zcmMvbGliLnJzAC9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2JpZ2RlY2ltYWwtMC4zLjEvc3JjL2xpYi5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9pdGVydG9vbHMtMC4xNC4wL3NyYy9saWIucnMAL3J1c3RjLzhiYWIyNmY0ZjY4ZTBlMjZmMGJiNzk2MGJlMzM0ZDViNTIwZWE0NTIvbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwBxdWVyeS1jb21waWxlci9zY2hlbWEvc3JjL3F1ZXJ5X3NjaGVtYS5ycwBwc2wvc2NoZW1hLWFzdC9zcmMvcGFyc2VyL3BhcnNlX3NjaGVtYS5ycwAhVW5rbm93biBmdW5jdGlvbiBpbiBAZGVmYXVsdCgpOiBgwGZgIGlzIG5vdCBrbm93bi4gWW91IGNhbiByZWFkIGFib3V0IHRoZSBhdmFpbGFibGUgZnVuY3Rpb25zIGhlcmU6IGh0dHBzOi8vcHJpcy5seS9kL2F0dHJpYnV0ZS1mdW5jdGlvbnMABFRoZSDAByBuYW1lIGDAY2AgaXMgaW52YWxpZC4gSXQgaXMgYSByZXNlcnZlZCBuYW1lLiBQbGVhc2UgY2hhbmdlIGl0LiBSZWFkIG1vcmUgYXQgaHR0cHM6Ly9wcmlzLmx5L2QvbmFtaW5nLW1vZGVscwDAAiwgwBksIG9yIG90aGVyIGlnbm9yZWQgZmllbGRzABRJbnZhbGlkIGZpbHRlciBrZXkgYMAnYCBpbnB1dCBjb21iaW5hdGlvbiBmb3IgcmVsYXRpb24gZmlsdGVyABRJbnZhbGlkIGZpbHRlciBrZXkgYMAoYCBpbnB1dCBjb21iaW5hdGlvbiBmb3IgY29tcG9zaXRlIGZpbHRlcgDAE0NvbXBvc2l0ZUxpc3RGaWx0ZXIAwBJMaXN0UmVsYXRpb25GaWx0ZXIAwMAUU2NhbGFyUmVsYXRpb25GaWx0ZXIAwMAPQ29tcG9zaXRlRmlsdGVyAMDAwMDABkZpbHRlcgDALCBjYW4ndCBiZSByZXByZXNlbnRlZCBhcyBhIEphdmFTY3JpcHQgbnVtYmVyAMAQIGVsZW1lbnRzIGluIG1hcAAKY3JlYXRlTWFuecAJQW5kUmV0dXJuAAp1cGRhdGVNYW55wAlBbmRSZXR1cm4AwCcgaXMgbm90IGEgdmFsaWQgc2NhbGFyIGZpbHRlciBvcGVyYXRpb24AwCkgaXMgbm90IGEgdmFsaWQgZ3JvdXBpbmcgZmlsdGVyIG9wZXJhdGlvbgDAD1NjYWxhckZpZWxkRW51bQDAGU9yZGVyQnlSZWxldmFuY2VGaWVsZEVudW0AwAFfwARfbTJtAAVUaGUgYMAjYCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwAAihuwAMpXG7AAlxsAAlQcm9wZXJ0eSDABCBpbiDAASDAHSBuZWVkcyB0byBiZSBhc3NpZ25lZCBhIHZhbHVlAMARR3JvdXBCeU91dHB1dFR5cGUAwA9Db3VudE91dHB1dFR5cGUACkNyZWF0ZU1hbnnAE0FuZFJldHVybk91dHB1dFR5cGUAClVwZGF0ZU1hbnnAE0FuZFJldHVybk91dHB1dFR5cGUAwMATQWdncmVnYXRlT3V0cHV0VHlwZQDACEVudmVsb3BlAA5UaGUgYXJndW1lbnQgYMAaYCBjYW4gb25seSBiZSBkZWZpbmVkIG9uY2UAwBUgZWxlbWVudHMgaW4gc2VxdWVuY2UABkVudW0gYMALYCBub3QgZm91bmQAD1JlbGF0aW9uRmllbGQgYMAMYCBvbiBtb2RlbCBgwAtgIG5vdCBmb3VuZAAHTW9kZWwgYMALYCBub3QgZm91bmQADVNjYWxhckZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAEENvbXBvc2l0ZUZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAB0ZpZWxkIGDABWAgb24gwAIgYMALYCBub3QgZm91bmQAMWludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEZpZWxkICfAQycgZG9lcyBub3QgZXhpc3Qgb24gZW5jbG9zaW5nIHR5cGUgYW5kIGlzIG5vdCBhIGtub3duIHZpcnR1YWwgZmllbGQAUVVuYWJsZSB0byBmaXQgZmxvYXQgdmFsdWUgKG9yIGxhcmdlIEpTIGludGVnZXIgc2VyaWFsaXplZCBpbiBleHBvbmVudCBub3RhdGlvbikgJ8AqJyBpbnRvIGEgNjQgQml0IHNpZ25lZCBpbnRlZ2VyIGZvciBmaWVsZCAnwEQnLiBJZiB5b3UncmUgdHJ5aW5nIHRvIHN0b3JlIGxhcmdlIGludGVnZXJzLCBjb25zaWRlciB1c2luZyBgQmlnSW50YAAQZmxvYXRpbmcgcG9pbnQgYMABYAABYMAGYCBvciBgwAFgAAtjaGFyYWN0ZXIgYMABYAAJaW50ZWdlciBgwAFgABhDb3VsZCBub3QgY29udmVydCBmcm9tIGDABmAgdG8gYMABYAAJYm9vbGVhbiBgwAFgAA9taXNzaW5nIGZpZWxkIGDAAWAAEWR1cGxpY2F0ZSBmaWVsZCBgwAFgABlJbnZhbGlkIGFyZ3VtZW50IHZhbHVlLiBgwBJgIGlzIG5vdCBhIHZhbGlkIGDAAWAAOVVuZXhwZWN0ZWQgc2NhbGFyIGlucHV0IG9iamVjdCBuYW1lIGZvciBzdHJpbmcgZmlsdGVyczogYMABYAAYSW52YWxpZCBhcmd1bWVudCB0eXBlLiBgwCxgIHNob3VsZCBiZSBvZiBhbnkgb2YgdGhlIGZvbGxvd2luZyB0eXBlczogYMABYAAdSW52YWxpZCByZWZlcmVudGlhbCBhY3Rpb246IGDAAWAAAWDAAWAAJGBjdHgudmlzaXRfYXR0cmlidXRlcygpIGNhbGxlZCB3aXRoIMBBIHdoaWxlIHRoZSBDb250ZXh0IGlzIHN0aWxsIHZhbGlkYXRpbmcgcHJldmlvdXMgYXR0cmlidXRlIHNldCBvbiDAAWAABCAgICDACSBbbGFiZWw9IsBCIiwgZmlsbGNvbG9yPWJsdWUsIHN0eWxlPWZpbGxlZCwgc2hhcGU9cmVjdGFuZ2xlLCBmb250Y29sb3I9d2hpdGVdAAQgICAgwAkgW2xhYmVsPSLAQSIsIGZpbGxjb2xvcj1yZWQsIHN0eWxlPWZpbGxlZCwgc2hhcGU9cmVjdGFuZ2xlLCBmb250Y29sb3I9d2hpdGVdAAQgICAgwAkgW2xhYmVsPSLAEyIsIHNoYXBlPXJlY3RhbmdsZV0AwAJbXQAEICAgIMAEIC0+IMALIFtsYWJlbD0iKGXAAikgwAIiXQBUVW5hYmxlIHRvIG1hdGNoIGlucHV0IHZhbHVlIHRvIGFueSBhbGxvd2VkIGlucHV0IHR5cGUgZm9yIHRoZSBmaWVsZC4gUGFyc2UgZXJyb3JzOiBbwAFdAAFbwAFdAGtZb3UgcHJvdmlkZWQgbXVsdGlwbGUgdW5uYW1lZCBhcmd1bWVudHMuIFRoaXMgaXMgbm90IHBvc3NpYmxlLiBEaWQgeW91IGZvcmdldCB0aGUgYnJhY2tldHM/IERpZCB5b3UgbWVhbiBgW8ADXWA/ACQgRGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYEBAdW5pcXVlKFvABF0pYD8AESBEaWQgeW91IG1lYW4gYEBAwAIoW8AEXSlgPwAcIERpZCB5b3UgbWVhbiB0byBwdXQgaXQgb24gYMACYD8ABlR5cGUgIsBiIiBpcyBuZWl0aGVyIGEgYnVpbHQtaW4gdHlwZSwgbm9yIHJlZmVycyB0byBhbm90aGVyIG1vZGVsLCBjb21wb3NpdGUgdHlwZSwgb3IgZW51bS4gRGlkIHlvdSBtZWFuICLAAiI/AAE8wAwgYnl0ZXMgYmxvYj4ABUxpc3Q8wAE+AAxQbGFjZWhvbGRlcjzAAT4AD0ludmFsaWQgdmFsdWUgJ8BjJyBpbiB3aGVyZSBjbGF1c2UuIEV4cGVjdGVkIHRydWUsIGZhbHNlLCBudWxsLCBhIHN0cmluZywgYSBudW1iZXIsIG9yIGFuIG9iamVjdCBsaWtlIHsgbm90OiBudWxsIH0uAA5UaGUgbmFtZSBvZiBhIMATIG11c3Qgbm90IGJlIGVtcHR5LgALT3BlcmF0aW9uICfADScgZm9yIG1vZGVsICfAGycgZG9lcyBub3QgbWF0Y2ggYW55IHF1ZXJ5LgAST3BhcXVlIHBhcmFtZXRlciAnwB0nIHVzZWQgYXMgcmF3IHZhbHVlIGluIHF1ZXJ5LgA/VGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGBBcnJheU9wc2AgZXhwZWN0cyB0aGUgdHlwZSBvZiBmaWVsZCBgwBFgIHRvIGJlIGFuIGFycmF5LgAhVGhlIHJlZmVyZW5jZWQgc2NhbGFyIGxpc3QgZmllbGQgwAEuwBAgZG9lcyBub3QgZXhpc3QuABxUaGUgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgwAEuwBAgZG9lcyBub3QgZXhpc3QuABhNb2RlbCBvciBjb21wb3NpdGUgdHlwZSDAFCB1c2VkIGZvciBmaWVsZCByZWYgwBAgZG9lcyBub3QgZXhpc3QuAAFgwCAoKWAgdGFrZXMgYSBzaW5nbGUgSW50IGFyZ3VtZW50LgAKQXJndW1lbnQgIsArIiBpcyBhbHJlYWR5IHNwZWNpZmllZCBhcyB1bm5hbWVkIGFyZ3VtZW50LgAEVGhlIMACICLAHiIgY2Fubm90IGJlIGRlZmluZWQgYmVjYXVzZSBhIMAfIHdpdGggdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzLgAEVGhlIMATIGluZGV4IGZpZWxkIHR5cGUgYMAgYCBoYXMgbm8gZGVmYXVsdCBvcGVyYXRvciBjbGFzcy4AR1RoZSBjaGFuZ2UgeW91IGFyZSB0cnlpbmcgdG8gbWFrZSB3b3VsZCB2aW9sYXRlIHRoZSByZXF1aXJlZCByZWxhdGlvbiAnwA8nIGJldHdlZW4gdGhlIGDAB2AgYW5kIGDACWAgbW9kZWxzLgAwVGhlIHVuaXF1ZSBpbmRleCBkZWZpbml0aW9uIHJlZmVycyB0byB0aGUgZmllbGQgwBAgbXVsdGlwbGUgdGltZXMuACRUaGUgY2hhcmFjdGVyIGAtYCBpcyBub3QgYWxsb3dlZCBpbiDAByBuYW1lcy4AMFRoZSBzaGFyZCBrZXkgZGVmaW5pdGlvbiByZWZlcnMgdG8gdGhlIHJlbGF0aW9uIMA6LiBTaGFyZCBrZXkgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSBzY2FsYXIgZmllbGRzLgApVGhlIGlkIGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSByZWxhdGlvbiDAMy4gSUQgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSBzY2FsYXIgZmllbGRzLgAOVGhlIGZ1bmN0aW9uIGDAKSgpYCBpcyBub3Qgc3VwcG9ydGVkIG9uIGNvbXBvc2l0ZSBmaWVsZHMuADBUaGUgc2hhcmQga2V5IGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSBvcHRpb25hbCDAPC4gU2hhcmQga2V5IGRlZmluaXRpb25zIG11c3QgcmVmZXJlbmNlIG9ubHkgcmVxdWlyZWQgZmllbGRzLgApVGhlIGlkIGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSBvcHRpb25hbCDANS4gSUQgZGVmaW5pdGlvbnMgbXVzdCByZWZlcmVuY2Ugb25seSByZXF1aXJlZCBmaWVsZHMuABBQcm92aWRlZCBsaW1pdCAowB0pIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLgAOVGhlIG5hbWUgb2YgYSDAHiBtdXN0IG5vdCBzdGFydCB3aXRoIGEgbnVtYmVyLgANVGhlIGZ1bmN0aW9uIMAZIGlzIG5vdCBhIGtub3duIGZ1bmN0aW9uLgAGVHlwZSAiwFMiIGlzIG5laXRoZXIgYSBidWlsdC1pbiB0eXBlLCBub3IgcmVmZXJzIHRvIGFub3RoZXIgbW9kZWwsIGNvbXBvc2l0ZSB0eXBlLCBvciBlbnVtLgAeVGhlIHZhbHVlIHByb3ZpZGVkIGZvciBjb2x1bW4gwA0gaXMgdG9vIGxvbmcuAApBcmd1bWVudCAiwA0iIGlzIG1pc3NpbmcuAAVUaGUgYMAeYCBhcmd1bWVudCBpcyBtaXNzaW5nIGEgdmFsdWUuACFDb3VsZCBub3QgY29udmVydCBhcmd1bWVudCB2YWx1ZSDAEiB0byBBcmd1bWVudFZhbHVlLgAWVHlwZSBtaXNtYXRjaDogZmllbGQgJ8BAJyBpcyBhbiBFbnVtIGFuZCBvbmx5IGFjY2VwdHMgU3RyaW5nIHZhbHVlcyBpbiB0aGUgd2hlcmUgY2xhdXNlLgAHRmllbGQgJ8BKJyBpcyBhIHJlbGF0aW9uIGZpZWxkLiBPbmx5IHNjYWxhciBmaWVsZHMgY2FuIGJlIHVzZWQgaW4gdGhlIHdoZXJlIGNsYXVzZS4ADUNvbHVtbiB0eXBlICfALicgY291bGQgbm90IGJlIGRlc2VyaWFsaXplZCBmcm9tIHRoZSBkYXRhYmFzZS4AEVByZXZpZXcgZmVhdHVyZSAiwFoiIGlzIGRlcHJlY2F0ZWQuIFRoZSBmdW5jdGlvbmFsaXR5IGNhbiBiZSB1c2VkIHdpdGhvdXQgc3BlY2lmeWluZyBpdCBhcyBhIHByZXZpZXcgZmVhdHVyZS4AGlRoZSBnaXZlbiBvcGVyYXRvciBjbGFzcyBgwB1gIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgYMANYCBpbmRleCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwB1gIHRoYXQgaXMgbm90IG9mIEJpZ0ludCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwBpgIHRoYXQgaXMgbm90IG9mIEludCB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwBxgIHRoYXQgaXMgbm90IG9mIEZsb2F0IHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHGAgdGhhdCBpcyBub3Qgb2YgQnl0ZXMgdHlwZS4AGlRoZSBnaXZlbiBvcGVyYXRvciBjbGFzcyBgwBdgIHBvaW50cyB0byB0aGUgZmllbGQgYMAbYCB0aGF0IGlzIG5vdCBvZiBKc29uIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHmAgdGhhdCBpcyBub3Qgb2YgRGVjaW1hbCB0eXBlLgABYMABLsAqYDogRmllbGQgZG9lcyBub3QgZXhpc3QgaW4gZW5jbG9zaW5nIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAXYCBwb2ludHMgdG8gdGhlIGZpZWxkIGDAHWAgdGhhdCBpcyBub3Qgb2YgU3RyaW5nIHR5cGUuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAVYCBleHBlY3RzIHRoZSBmaWVsZCBgwCBgIHRvIGRlZmluZSBhIHZhbGlkIG5hdGl2ZSB0eXBlLgAaVGhlIGdpdmVuIG9wZXJhdG9yIGNsYXNzIGDAF2AgcG9pbnRzIHRvIHRoZSBmaWVsZCBgwB9gIHRoYXQgaXMgbm90IG9mIERhdGVUaW1lIHR5cGUuAAxBdHRyaWJ1dGUgIkDAGyIgY2FuIG9ubHkgYmUgZGVmaW5lZCBvbmNlLgAoSW52YWxpZCBvcmRlci1ieSByZWZlcmVuY2UgaW5wdXQ6IEZpZWxkIMAdIGlzIG5vdCBhIHZhbGlkIHNjYWxhciBmaWVsZC4AKEV4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgbGlzdCBmaWVsZCDAHCBidXQgZm91bmQgYSByZWxhdGlvbiBmaWVsZC4AI0V4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgwBwgYnV0IGZvdW5kIGEgcmVsYXRpb24gZmllbGQuAChFeHBlY3RlZCBhIHJlZmVyZW5jZWQgc2NhbGFyIGxpc3QgZmllbGQgwB0gYnV0IGZvdW5kIGEgY29tcG9zaXRlIGZpZWxkLgAjRXhwZWN0ZWQgYSByZWZlcmVuY2VkIHNjYWxhciBmaWVsZCDAHSBidXQgZm91bmQgYSBjb21wb3NpdGUgZmllbGQuABtUaGUgZGVmaW5lZCBkZWZhdWx0IHZhbHVlIGDAO2AgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGVudW0gc3BlY2lmaWVkIGZvciB0aGUgZmllbGQuAAtUaGUgZmllbGQgYMBgYCBpcyBhIHJlbGF0aW9uIGZpZWxkIGFuZCBjYW5ub3QgYmUgbWFya2VkIHdpdGggYEBpZGAuIE9ubHkgc2NhbGFyIGZpZWxkcyBjYW4gYmUgZGVjbGFyZWQgYXMgaWQuAAtEZWZpbmluZyBgQMA7YCBhdHRyaWJ1dGUgZm9yIGEgZmllbGQgaW4gYSBjb21wb3NpdGUgdHlwZSBpcyBub3QgYWxsb3dlZC4AwGsgcmVmZXJzIHRvIGEgbW9kZWwsIG1ha2luZyB0aGlzIGEgcmVsYXRpb24gZmllbGQuIFJlbGF0aW9uIGZpZWxkcyBpbnNpZGUgY29tcG9zaXRlIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLgANVW5rbm93biBrZXkgJ8A5JyBpbiBuZXN0ZWQgd2hlcmUgY2xhdXNlIG9iamVjdC4gT25seSAnbm90JyBpcyBzdXBwb3J0ZWQuAAEiwDQiIGlzIGEgcmVzZXJ2ZWQgc2NhbGFyIHR5cGUgbmFtZSBhbmQgY2Fubm90IGJlIHVzZWQuADNBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24tbGlzdCBQYXJzZWRJbnB1dFZhbHVlICjAICkgaW50byBwcmlzbWEgdmFsdWUgbGlzdCBmYWlsZWQuADNBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24taW50IFByaXNtYSB2YWx1ZSB0eXBlICjAEikgaW50byBpbnQgZmFpbGVkLgAyQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2Ygbm9uLW1hcCBQYXJzZWRJbnB1dFZhbHVlICjAEikgaW50byBtYXAgZmFpbGVkLgAyQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2Ygbm9uLW1hcCBQYXJzZWRJbnB1dFZhbHVlICjAGSkgaW50byBPcHRpb24gbWFwIGZhaWxlZC4AN0F0dGVtcHRlZCBjb252ZXJzaW9uIG9mIG5vbi1ib29sZWFuIFByaXNtYSB2YWx1ZSB0eXBlICjAEykgaW50byBib29sIGZhaWxlZC4AKkF0dGVtcHRlZCBjb252ZXJzaW9uIG9mIFBhcnNlZElucHV0VmFsdWUgKMAwKSBpbnRvIHJlbGF0aW9uIGxvYWQgc3RyYXRlZ3kgZW51bSB2YWx1ZSBmYWlsZWQuACxBdHRlbXB0ZWQgY29udmVyc2lvbiBvZiBub24tZmllbGQtcmVmIGVudW0gKMArKSBpbnRvIHNjYWxhciBmaWVsZCByZWZlcmVuY2UgdmFsdWUgZmFpbGVkLgAqQXR0ZW1wdGVkIGNvbnZlcnNpb24gb2YgUGFyc2VkSW5wdXRWYWx1ZSAowBopIGludG8gUHJpc21hVmFsdWUgZmFpbGVkLgARQ29udmVyc2lvbiBmcm9tIGDABmAgdG8gYMAJYCBmYWlsZWQuAApBcmd1bWVudCAiwBciIGlzIGFscmVhZHkgc3BlY2lmaWVkLgABYMA8YDogQSB2YWx1ZSBpcyByZXF1aXJlZCBidXQgbm90IHNldC4gSXQgaXMgcmVxdWlyZWQgYmVjYXVzZSBgwA9gIHdhcyBwcm92aWRlZC4AB0ZpZWxkICfABScgaXMgwE4gYW5kIGNhbm5vdCBiZSB1c2VkIGluIHRoZSBvYmplY3Qgc3ludGF4IG9mIGEgd2hlcmUgY2xhdXNlLiBVc2UgcmF3KCkgaW5zdGVhZC4AEVByZXZpZXcgZmVhdHVyZSAiwEIiIGlzIGRlcHJlY2F0ZWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIFByaXNtYS4AIFRoZSBgbmFtZWAgcHJvcGVydHkgd2l0aGluIHRoZSBgwENgIGF0dHJpYnV0ZSBvbmx5IGFsbG93cyBmb3IgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiBgX2EtekEtWjAtOWAuAB9NaXNzaW5nIHRoZSByZXF1aXJlZCBhcmd1bWVudCBgwA1gIGZvciBmaWVsZCBgwAZgIG9uIGDAAmAuAAtFeHBlY3RlZCBhIMAVIHZhbHVlLCBidXQgcmVjZWl2ZWQgwAggdmFsdWUgYMACYC4ADlRoZSBmdW5jdGlvbiBgwCYoKWAgY2Fubm90IGJlIHVzZWQgb24gZmllbGRzIG9mIHR5cGUgYMACYC4AI0V4cGVjdGVkIGFuIGVudW0gdmFsdWUsIGJ1dCBmb3VuZCBgwAJgLgALRXhwZWN0ZWQgYSDAEyB2YWx1ZSwgYnV0IGZvdW5kIGDAAmAuABpUaGUgZ2l2ZW4gb3BlcmF0b3IgY2xhc3MgYMAgYCBkb2VzIG5vdCBzdXBwb3J0IG5hdGl2ZSB0eXBlIGDADGAgb2YgZmllbGQgYMACYC4ABFRoZSDANCBpbmRleCB0eXBlIGRvZXMgbm90IHN1cHBvcnQgdGhlIHR5cGUgb2YgdGhlIGZpZWxkIGDAAmAuABBQcm92aWRlZCBsaW1pdCAowCgpIGlzIGJleW9uZCBtYXggaW50IHZhbHVlIGZvciBwbGF0Zm9ybSAowAIpLgBAQXR0ZW1wdGVkIHRvIGV4ZWN1dGUgYSBxdWVyeSB0aGF0IGNvbnRhaW5zIGFuIG9wYXF1ZSBwYXJhbWV0ZXIgJ8ACJy4AB0ZpZWxkICfAGycgZG9lcyBub3QgZXhpc3QgaW4gbW9kZWwgJ8ACJy4APEV4cGVjdGVkIHF1ZXJ5IGluZm9ybWF0aW9uIHRvIGJlIGF0dGFjaGVkIG9uIHNjaGVtYSBvYmplY3QgJ8AKJywgZmllbGQgJ8ACJy4AF0F0dHJpYnV0ZSBub3Qga25vd246ICJAwAIiLgAHVmFsdWUgIsAeIiBpcyBhbHJlYWR5IGRlZmluZWQgb24gZW51bSAiwAIiLgAKQXJndW1lbnQgIsAhIiBpcyBtaXNzaW5nIGluIGdlbmVyYXRvciBibG9jayAiwAIiLgAKQXJndW1lbnQgIsAjIiBpcyBtaXNzaW5nIGluIGRhdGEgc291cmNlIGJsb2NrICLAAiIuAAdGaWVsZCAiwCgiIGlzIGFscmVhZHkgZGVmaW5lZCBvbiBjb21wb3NpdGUgdHlwZSAiwAIiLgAVUHJvcGVydHkgbm90IGtub3duOiAiwAIiLgAVQXJndW1lbnQgbm90IGtub3duOiAiwAIiLgAgRGF0YXNvdXJjZSBwcm92aWRlciBub3Qga25vd246ICLAAiIuAAdGaWVsZCAiwBgiIGlzIGFscmVhZHkgZGVmaW5lZCBvbiDAAiAiwAIiLgArRXhwZWN0ZWQgYSByZWZlcmVuY2VkIHNjYWxhciBmaWVsZCBvZiB0eXBlIMDACyBidXQgZm91bmQgwAkgb2YgdHlwZSDAwAEuABBPbiBgcHJvdmlkZXIgPSAiwBUiYCwgcHJldmlldyBmZWF0dXJlICLAFyIgaGFzIGJlZW4gcmVuYW1lZCB0byAiwCMiLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL8ABLgARUHJldmlldyBmZWF0dXJlICLAFyIgaGFzIGJlZW4gcmVuYW1lZCB0byAiwCMiLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL8ABLgAWRXhwZWN0ZWQgYSBtaW5pbXVtIG9mIMANIGFuZCBhdCBtb3N0IMAbIGZpZWxkcyB0byBiZSBwcmVzZW50LCBnb3QgwAEuABFFeHBlY3RlZCBhdCBtb3N0IMAbIGZpZWxkcyB0byBiZSBwcmVzZW50LCBnb3QgwAEuABZFeHBlY3RlZCBhIG1pbmltdW0gb2YgwBsgZmllbGRzIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4ALkV4cGVjdGVkIGV4YWN0bHkgb25lIGZpZWxkIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AFkV4cGVjdGVkIGEgbWluaW11bSBvZiDADSBhbmQgYXQgbW9zdCDADCBmaWVsZHMgb2YgKMAVKSB0byBiZSBwcmVzZW50LCBnb3QgwAEuABFFeHBlY3RlZCBhdCBtb3N0IMAMIGZpZWxkcyBvZiAowBUpIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AFkV4cGVjdGVkIGEgbWluaW11bSBvZiDADCBmaWVsZHMgb2YgKMAVKSB0byBiZSBwcmVzZW50LCBnb3QgwAEuAB9FeHBlY3RlZCBleGFjdGx5IG9uZSBmaWVsZCBvZiAowBUpIHRvIGJlIHByZXNlbnQsIGdvdCDAAS4AJkV4cGVjdGVkIGFueSBzZWxlY3Rpb24gb2YgZmllbGRzLCBnb3QgwAEuABZUeXBlIG1pc21hdGNoOiBmaWVsZCAnwA0nIGlzIG9mIHR5cGUgwBMsIGJ1dCB0aGUgdmFsdWUgaXMgwAEuAAFgwEsoKWAgdGFrZXMgZWl0aGVyIG5vIGFyZ3VtZW50LCBvciBhIHNpbmdsZSBpbnRlZ2VyIGFyZ3VtZW50IHdoaWNoIGlzIGVpdGhlciDAAS4APFRoZSBtdWx0aSBmaWVsZCBzaGFyZCBrZXkgZGVjbGFyYXRpb24gcmVmZXJzIHRvIHRoZSB1bmtub3duIMABLgA1VGhlIG11bHRpIGZpZWxkIGlkIGRlY2xhcmF0aW9uIHJlZmVycyB0byB0aGUgdW5rbm93biDAAS4AOFRoZSBzY2FsZSBtdXN0IG5vdCBiZSBsYXJnZXIgdGhhbiB0aGUgcHJlY2lzaW9uIGZvciB0aGUgwBAgbmF0aXZlIHR5cGUgaW4gwAEuAAVLZXkgIsAYIiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gwAEuABRJbnZhbGlkIE5hdGl2ZSB0eXBlIMABLgAJRXhwZWN0ZWQgwAwsIGJ1dCBmb3VuZCDAAS4ALVRoaXMgbGluZSBpcyBub3QgYSB2YWxpZCBkZWZpbml0aW9uIHdpdGhpbiBhIMABLgA+SW5jb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzIGdpdmVuIHRvIGEgc3RhdGVtZW50LiBFeHBlY3RlZCDABzogZ290OiDAAS4ABFRoZSDAL2luZGV4IGRlZmluaXRpb24gcmVmZXJzIHRvIHRoZSB1bmtub3duIGZpZWxkczogwAEuABRVbmtub3duIGluZGV4IHR5cGU6IMABLgA+VGhlIGBzb3J0YCBhcmd1bWVudCBjYW4gb25seSBiZSBgQXNjYCBvciBgRGVzY2AgeW91IHByb3ZpZGVkOiDAAS4AJkV4cGVjdGVkIGEgcmVmZXJlbmNlZCBzY2FsYXIgZmllbGQgb2YgwAEgwBcsIGJ1dCBmb3VuZCBhIGZpZWxkIG9mIMABIMABLgAoY3JlYXRlIG9yIGNvbm5lY3QgaW5saW5lZCByZWxhdGlvbiBmb3IgJ8ALJyByZWNvcmQocykAHWNyZWF0ZSBpbmxpbmVkIHJlbGF0aW9uIGZvciAnwAsnIHJlY29yZChzKQAddXBkYXRlIGlubGluZWQgcmVsYXRpb24gZm9yICfACycgcmVjb3JkKHMpABhpbmxpbmUgdGhlIHJlbGF0aW9uIG9uICfACycgcmVjb3JkKHMpAAZmaW5kICfACycgcmVjb3JkKHMpABFzdGFydCBieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAsgb2Ygc3RyaW5nKQAPZW5kIGJ5dGUgaW5kZXggwCYgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlIMAIIChieXRlcyDACyBvZiBzdHJpbmcpAAxCaWdEZWNpbWFsKCLAAiIpABkoQ29udmVydGluZyB0eXBlIGZhaWxlZCkgwAIgKMABOsABOsABKQAHT2JqZWN0KMABKQAHTnVtYmVyKMABKQAFQm9vbCjAASkAB1N0cmluZyjAASkACEpzVmFsdWUowAEpAMABKMABKQAnY2FuIG9ubHkgZmxhdHRlbiBzdHJ1Y3RzIGFuZCBtYXBzIChnb3QgwAEpABVgYXRgIHNwbGl0IGluZGV4IChpcyDAFykgc2hvdWxkIGJlIDw9IGxlbiAoaXMgwAEpABJyZW1vdmFsIGluZGV4IChpcyDAFikgc2hvdWxkIGJlIDwgbGVuIChpcyDAASkAFnN3YXBfcmVtb3ZlIGluZGV4IChpcyDAFikgc2hvdWxkIGJlIDwgbGVuIChpcyDAASkAwAsgKG9zIGVycm9yIMABKQAZVXBkYXRlTWFueVJlY29yZHMobW9kZWw6IMAILCBhcmdzOiDAASkAFFVwZGF0ZVJlY29yZChtb2RlbDogwAosIGZpbHRlcjogwAgsIGFyZ3M6IMATLCBzZWxlY3RlZF9maWVsZHM6IMABKQAUQ3JlYXRlUmVjb3JkKG1vZGVsOiDACCwgYXJnczogwBMsIHNlbGVjdGVkX2ZpZWxkczogwAEpABhNYW55UmVjb3Jkc1F1ZXJ5KG5hbWU6ICfACycsIG1vZGVsOiAnwA4nLCBzZWxlY3Rpb246IMABKQATUmVjb3JkUXVlcnkobmFtZTogJ8AOJywgc2VsZWN0aW9uOiDAASkAG1JlbGF0ZWRSZWNvcmRzUXVlcnkobmFtZTogJ8ASJywgcGFyZW50IG1vZGVsOiAnwBsnLCBwYXJlbnQgcmVsYXRpb24gZmllbGQ6ICfADicsIHNlbGVjdGlvbjogwAEpABtSZWxhdGVkUmVjb3Jkc1F1ZXJ5KG5hbWU6ICfAEicsIHBhcmVudCBtb2RlbDogJ8AaJywgcGFyZW50IHJlbGF0aW9uIGZpZWxkOiDADSwgc2VsZWN0aW9uOiDAASkABkVycm9yKMAILCBsaW5lOiDACiwgY29sdW1uOiDAASkAGENyZWF0ZU1hbnlSZWNvcmQobW9kZWw6IMABKQAEdmFyKMACOiDAASkAwAEoAAJFJ8ABJwANdHJhY2VwYXJlbnQ9J8ABJwAHRmllbGQgJ8AfJyBub3QgZm91bmQgaW4gZW5jbG9zaW5nIHR5cGUgJ8ABJwAhQ2Fubm90IHNlbGVjdCBvdmVyIHNjYWxhciBmaWVsZCAnwAEnAAEnwAEnAAElwAElACBJbnZhbGlkIHJlbGF0aW9uIG1vZGUgc2V0dGluZzogIsAsIi4gU3VwcG9ydGVkIHZhbHVlczogInByaXNtYSIsICJmb3JlaWduS2V5cyIAwAIgIsABIgABIsABIgBPbmNlIGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAQcSWwgALBgEAAACJAQBB1JbCAAsGAQAAAIoBAEHklsIACwYBAAAAiwEAQfSWwgALBgEAAACMAQBBhJfCAAsGAQAAAI0BAEGUl8IACwYBAAAAjgEAQaSXwgAL4QcBAAAAjwEAAHJhd1NxbGFyZ1R5cGVzdGVtcGxhdGVTcWxwbGFjZWhvbGRlckZvcm1hdHNjYWxhclR5cGVkYlR5cGV1bmtub3dudHVwbGVzZXFnZXRnZXRGaXJzdE5vbkVtcHR5ZXhlY3V0ZWNvbmNhdG1hcEZpZWxkZGF0YU1hcHZhbGlkYXRlZGlmZmluaXRpYWxpemVSZWNvcmRtYXBSZWNvcmRwcm9jZXNzbGFzdEluc2VydElkYWRkc3VidHJhY3RwYWdpbmF0aW9ucmV2ZXJzZWxpbmtpbmdGaWVsZHNvbnBhcmVudEZpZWxkaXNSZWxhdGlvblVuaXF1ZWV4dGVuc2lvbmVuY29kaW5nYmFzZTY0b3B0aW9uYWxhZmZlY3RlZFJvd3NkYk5hbWVmaWVsZFR5cGVzZXJpYWxpemVkTmFtZXNraXBOdWxsc2hhc051bWJlcmluZ3N0cmluZ0NodW5rcGFyYW1ldGVycGFyYW1ldGVyVHVwbGVpdGVtUHJlZml4aXRlbVNlcGFyYXRvcml0ZW1TdWZmaXhwYXJhbWV0ZXJUdXBsZUxpc3Rncm91cFNlcGFyYXRvcnJvd0NvdW50RXFyb3dDb3VudE5lcWFmZmVjdGVkUm93Q291bnRFcW5ldmVyc2NoZW1hTmFtZW1heEJpbmRWYWx1ZXNzdXBwb3J0c1JlbGF0aW9uSm9pbnMAAI6NEAAKAAAAmI0QAA0AAACljRAAFQAAADRdEQAIAAAAZGF0YW1vZGVsY29ubmVjdGlvbkluZm8A3I0QAAkAAAA4UREACAAAAOWNEAAOAAAAbXVsdGlwbGFuc2NvbXBhY3RlZHBsYW5uZXN0ZWRTZWxlY3Rpb25rZXlzZXhwZWN0Tm9uRW1wdHltb2RlbF9hX25hbWVtb2RlbF9iX25hbWVkZXRhaWxzbmFtZXNjaGlsZHJlbmNhbkFzc3VtZVN0cmljdEVxdWFsaXR5Y2FsbGVkIGBPcHRpb246OnVud3JhcF90aHJvdygpYCBvbiBhIGBOb25lYCB2YWx1ZXJlY29yZHNzdHJ1Y3R1cmVlbnVtc3J1bGVzZXJyb3JJZGVudGlmaWVyY29udGV4dHRoZW5NYXAga2V5IGlzIG5vdCBhIHN0cmluZyBhbmQgY2Fubm90IGJlIGFuIG9iamVjdCBrZXkxH48QAAEAAABvcGVyYXRpb25zYmluZGluZ3MAAERLEABxAAAApgAAADIAAAABAQAAVW5leHBlY3RlZCBiYXRjaCByZXF1ZXN0/T0QAGUAAADLAAAALQAAAB0gEAAqAAAAOAAAABUAQZCfwgALDgEAAACQAQAAkQEAAJIBAEGon8IAC60CAQAAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACkAQAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAsQEAALUBAAC2AQAAtwEAALgBAAC5AQAAugEAALsBAAC8AQAAsQEAAL0BAAC9AQAAvQEAALEBAAA2NBAAMgAAAC8AAAAOAAAAc3RydWN0IEpzQ29ubmVjdGlvbkluZm9lbnVtIEFkYXB0ZXJQcm92aWRlcnN0cnVjdCBRdWVyeUNvbXBpbGVyUGFyYW1zAgYA/////wAAAAAAAAAAAwBB4KHCAAsO/////wAAAAAAAAAAAwEAQfihwgALDv////8AAAAAAAAAAAMIAEGQosIACw7/////AAAAAAAAAAADBABBqKLCAAsO/////wAAAAAAAAAAAwIAQcCiwgALDv////8AAAAAAAAAAAMHAEHYosIACw7/////AAAAAAAAAAADBQBB8KLCAAsO/////wAAAAAAAAAAAwMAQYijwgALDv////8AAAAAAAAAAAMGAEGgo8IACxX/////qVURAAgAAAD/////yJAQAAEAQcCjwgALFf////+xVREABwAAAP/////IkBAAAQBB4KPCAAsV/////+xYEgAGAAAA/////+CQEAABAEGApMIACzX/////OAASAAcAAAD/////+JAQAAEAAAAAAAAAAgAAAP////+4VREABQAAAP/////4kBAAAQBBwKTCAAsV/////71VEQAEAAAA/////xCREAABAEHgpMIACxX/////wVURAAMAAAD/////yJAQAAEAQYClwgALFf/////EVREABgAAAP////8QkRAAAQBBoKXCAAsV/////8pVEQAEAAAA/////yiREAABAEHApcIACxX/////zlURAA8AAAD/////KJEQAAEAQeClwgALVf/////dVREABwAAAP////8QkRAAAQAAAAAAAAABAAAA/////zyoEQAEAAAA/////xCREAABAAAAAAAAAAEAAAD/////2HgRAAQAAAD/////EJEQAAEAQcCmwgALFf/////kVREABQAAAP////9AkRAAAQBB4KbCAAtV/////+lVEQAJAAAA/////1iREAABAAAAAAAAAAEAAAD/////8lURAAsAAAD/////WJEQAAEAAAAAAAAAAQAAAP/////veBEABAAAAP////9YkRAAAQBBwKfCAAtV//////N4EQAEAAAA/////1iREAABAAAAAAAAAAEAAAD//////VURAAYAAAD/////WJEQAAEAAAAAAAAAAQAAAP/////kTBIABwAAAP////9wkRAAAQBBoKjCAAtV/////wNWEQADAAAA/////xCREAABAAAAAAAAAAEAAAD/////BlYRAAYAAAD/////EJEQAAEAAAAAAAAAAQAAAP/////yTBIABAAAAP////8QkRAAAQBBgKnCAAsV/////+x4EQADAAAA/////xCREAABAEGgqcIACxX/////9kwSAAQAAAD/////iJEQAAEAQcCpwgALFf////8MVhEABQAAAP////+IkRAAAQBB4KnCAAtuUG9zdGdyZXM2NBAAMgAAAKYAAAAVAAAAYXR0ZW1wdGVkIHRvIHRha2Ugb3duZXJzaGlwIG9mIFJ1c3QgdmFsdWUgd2hpbGUgaXQgd2FzIGJvcnJvd2VkAL4BAAAMAAAABAAAAL8BAADAAQAAwQEAQdiqwgALFQEAAADCAQAAUDIwMTJQMjAwOe+/vQBB+KrCAAtuAQAAAMMBAAChLhAASAAAAN8AAAA3AAAAoS4QAEgAAADgAAAAKwAAALxYEABJAAAAlQEAADIAAABEUhAAUAAAABwAAAAFAAAAB1MQAEwAAADPCAAADQAAAMQBAAAMAAAABAAAAMUBAADGAQAAxwEAQfCrwgALowYBAAAAyAEAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90AAAJIxAASAAAAI8CAAAOAAAATGF5b3V0RXJyb3IAyQEAAAwAAAAEAAAAygEAAMkBAAAMAAAABAAAAMsBAADKAQAAbJYQAMwBAADNAQAAzgEAAMwBAADPAQAAOx4QAHsAAABUAAAACQAAAOFJEAB0AAAAZQAAADgAAADhSRAAdAAAAGEAAAANAAAA4UkQAHQAAABeAAAALgAAAOFJEAB0AAAAPQAAACcAAADhSRAAdAAAADgAAAAmAAAA4UkQAHQAAACNAAAAGQAAAFlPEABxAAAAlgAAAA0AAABZTxAAcQAAAJcAAAANAAAAWU8QAHEAAACaAAAADQAAAFlPEABxAAAAngAAAA0AAABZTxAAcQAAAJ8AAAANAAAAWU8QAHEAAACIAAAAKwAAAFlPEABxAAAAhwAAACUAAABZTxAAcQAAAEIAAAAgAAAAWU8QAHEAAABAAAAAGwAAAAtbEABdAAAAnwIAAEAAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmlzX2NoYXJfYm91bmRhcnkoYXQpAAtbEABdAAAAowYAACUAAAALWxAAXQAAAK8GAAAWAAAARmFpbGVkIHRvIHBhcnNlIGVtcHR5IHN0cmluZzM8EABiAAAA1gAAABoAAAAzPBAAYgAAAOEAAAATAAAAMzwQAGIAAADnAAAAEwAAADM8EABiAAAA8AAAABMAAAAzPBAAYgAAAP0AAAALAAAAMzwQAGIAAAAQAQAAHgAAAGVFEABjAAAAOAEAABcAAABlRRAAYwAAAEMBAAAXAAAAZUUQAGMAAAB0AQAANQAAAGVFEABjAAAAcQEAAD0AAABlRRAAYwAAAKEBAAAfAAAAZUUQAGMAAACmAQAASAAAAGVFEABjAAAArQEAAE4AAABlRRAAYwAAALQBAABOAAAAZUUQAGMAAAC7AQAATgAAAAQQAQBBoLLCAAsLRhkSAAEAAAAEEQEAQbiywgALC0YZEgABAAAABBIBAEHMssIACw4CAAAAfGoRAAEAAAAFCQBB5LLCAAsHLwAAAAQHAQBB+LLCAAsLZJkQAAEAAAAECAEAQZCzwgALC2SZEAABAAAABAIBAEGks8IACwMEDwEAQbSzwgALC0YZEgABAAAABBEBAEHMs8IACwtGGRIAAQAAAAQSAQBB4LPCAAsCBQYAQeyzwgALDgIAAAB8ahEAAQAAAAUEAEGEtMIACw8CAAAAfGoRAAEAAAAECAIAQZy0wgALDwIAAAB8ahEAAQAAAAQPAQBBuLTCAAsLRhkSAAEAAAAEEQEAQdC0wgALC0YZEgABAAAABBIBAEHktMIACw8CAAAAfGoRAAEAAAAEAAEAQfy0wgALsQYEDg8JAgwNDgcKCwwFDwkKAw0ODwELDA0GCQoLBA4PCQIMDQ4HCgsMBQ8JCgMNDg8BCwwNBgkKCwQODwkCDA0OBwoLDAUPCQoDDQ4PAQsMDQYJCgsEDg8JAgwNDgcKCwwFDwkKCwwNDgcKCwwFDwkKAw0ODwELDA0GCQoLBA4PCQIMDQ4HCgsMBQ8JCgMNDg8BCwwNBgkKCwQODwkCDA0OBwoLDAUPCQoDDQ4PAQsMDQYJCgsEDg8JAgwNDgcKCwwFDwkKAw0ODwkKCwwFDwkKAw0ODwELDA0GCQoLBA4PCQIMDQ4HCgsMBQ8JCgMNDg8BCwwNBgkKCwQODwkCDA0OBwoLDAUPCQoDDQ4PAQsMDQYJCgsEDg8JAgwNDgcKCwwFDwkKAw0ODwELDA0ODwkKAw0ODwELDA0GCQoLBA4PCQIMDQ4HCgsMBQ8JCgMNDg8BCwwNBgkKCwQODwkCDA0OBwoLDAUPCQoDDQ4PAQsMDQYJCgsEDg8JAgwNDgcKCwwFDwkKAw0ODwELDA0GCQoLhCoQAGYAAABQAAAACQAAAAABAQEBAgICAgMDAwMEBAQEBQUFBQYGBgYHBwcHCAgICAkJCQkKCgoKCwsLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQERERERISEhITExMTFBQUFBUVFRUWFhYWFxcXFxgYGBgZGRkZGRkZGRoaGhobGxsbHBwcHB0dHR0eHh4eHx8fHyAgICAhISEhIiIiIiMjIyMkJCQkJSUlJSYmJiYnJycnKCgoKCkpKSkqKioqKysrKywsLCwtLS0tLi4uLi8vLy8wMDAwMTExMTExMTEyMjIyMzMzMzQ0NDQ1NTU1NjY2Njc3Nzc4ODg4OTk5OTo6Ojo7Ozs7PDw8PD09PT0+Pj4+Pz8/P0BAQEBBQUFBQkJCQkNDQ0NERERERUVFRUZGRkZHR0dHSEhISElJSUlJSUlJSkpKSktLS0tMTExMTU1NTU5OTk5PT09PUFBQUFFRUVFSUlJSU1NTU1RUVFRVVVVVVlZWVldXV1dYWFhYWVlZWVpaWlpbW1tbXFxcXF1dXV1eXl5eX19fX2BgYGBhYWFhAEHvu8IAC/QGQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAEJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgAAAAAAAABISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISgAASkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMAAAAAE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QAABQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFIAAAAAVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFYAAFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYAABYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFoAAAAAXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF4AAF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYAAAAABiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGBOYWl2ZURhdGVUaW1lIC0gVGltZURlbHRhYCBvdmVyZmxvd2VkAC1QEABpAAAAHwcAACYAAACuRxAAZgAAALMBAAAqAAAArkcQAGYAAADYAQAAFAAAAK5HEABmAAAA4QEAAEAAAAAAAAAAZJkQAAEAAAAECAEAQfDCwgALC2SZEAABAAAABAIBAEGJw8IACwqxEAABAAAABAcBAEGhw8IACwqxEAABAAAABAgBAEG4w8IACwtGGRIAAQAAAAQRAQBB0MPCAAsLRhkSAAEAAAAEEQEAQejDwgALC0YZEgABAAAABBIBAEH8w8IA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AAAAAAAAECcAAAAAAACghgEAAAAAAEBCDwAAAAAAgJaYAAAAAAAA4fUFAAAAAADKmjsAAAAAAOQLVAIAAAAA6HZIFwAAAAAQpdToAAAAAKByThgJAAAAQHoQ81oAAACAxqR+jQMAAAAAAAQAAAAEAAAA0AEAAAAAAAAEAAAABAAAANEBAADHWxAAWAAAACsAAAAjAAAALStOYU5pbmYwMC4wZTBlMGFzc2VydGlvbiBmYWlsZWQ6IGJ1Zi5sZW4oKSA+PSBzaWdfZGlnaXRzAAAAVFMQAFcAAABDAgAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IGJ1Zi5sZW4oKSA+PSBtYXhsZW4AAABUUxAAVwAAAIsCAAANAAAAAAMGCQ0QExcaHSEkJysuMTU4OyB7ICB7CigKYXR0ZW1wdGVkIHRvIGJlZ2luIGEgbmV3IG1hcCBlbnRyeSB3aXRob3V0IGNvbXBsZXRpbmcgdGhlIHByZXZpb3VzIG9uZQAAAHkoEABQAAAA2QMAAA0AAABhdHRlbXB0ZWQgdG8gZmluaXNoIGEgbWFwIHdpdGggYSBwYXJ0aWFsIGVudHJ5AAB5KBAAUAAAALEEAAANAAAAZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGlt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ANvniBwAAMKJihwAAP//eR0AAASKfR0AAOYOjh0AADiKAR6UAf//mx4AAMX/oR5eAf//AB8HAAgAEB8FAAgAIB8HAAgAMB8HAAgAQB8FAAgAUR8GAQgAYB8HAAgAcB8BAEoAch8DAFYAdh8BAGQAeB8BAIAAeh8BAHAAfB8BAH4AsB8BAAgAvh8AANvj0B8BAAgA4B8BAAgA5R8AAAcATiEAAOT/cCEPAPD/hCEAAP//0CQZAOb/MCwvAND/YSwAAP//ZSwAANXVZiwAANjVaCwEAf//cywAAP//diwAAP//gSxiAf//7CwCAf//8ywAAP//AC0lAKDjJy0AAKDjLS0AAKDjQaYsAf//gaYaAf//I6cMAf//M6c8Af//eqcCAf//f6cIAf//jKcAAP//kacCAf//lKcAADAAl6cSAf//tacOAf//yKcCAf//zacOAf//9qcAAP//U6sAAGD8cKtPADBoQf8ZAOD/3wBTAFMAAABJAbwCTgAAAPABSgAMAwAAkAOZAwgDAQOwA6UDCAMBA4cFNQVSBQAAlh5IADEDAACXHlQACAMAAJgeVwAKAwAAmR5ZAAoDAACaHkEAvgIAAFAfpQMTAwAAUh+lAxMDAANUH6UDEwMBA1YfpQMTA0IDgB8IH5kDAACBHwkfmQMAAIIfCh+ZAwAAgx8LH5kDAACEHwwfmQMAAIUfDR+ZAwAAhh8OH5kDAACHHw8fmQMAAIgfCB+ZAwAAiR8JH5kDAACKHwofmQMAAIsfCx+ZAwAAjB8MH5kDAACNHw0fmQMAAI4fDh+ZAwAAjx8PH5kDAACQHygfmQMAAJEfKR+ZAwAAkh8qH5kDAACTHysfmQMAAJQfLB+ZAwAAlR8tH5kDAACWHy4fmQMAAJcfLx+ZAwAAmB8oH5kDAACZHykfmQMAAJofKh+ZAwAAmx8rH5kDAACcHywfmQMAAJ0fLR+ZAwAAnh8uH5kDAACfHy8fmQMAAKAfaB+ZAwAAoR9pH5kDAACiH2ofmQMAAKMfax+ZAwAApB9sH5kDAAClH20fmQMAAKYfbh+ZAwAApx9vH5kDAACoH2gfmQMAAKkfaR+ZAwAAqh9qH5kDAACrH2sfmQMAAKwfbB+ZAwAArR9tH5kDAACuH24fmQMAAK8fbx+ZAwAAsh+6H5kDAACzH5EDmQMAALQfhgOZAwAAth+RA0IDAAC3H5EDQgOZA7wfkQOZAwAAwh/KH5kDAADDH5cDmQMAAMQfiQOZAwAAxh+XA0IDAADHH5cDQgOZA8wflwOZAwAA0h+ZAwgDAAPTH5kDCAMBA9YfmQNCAwAA1x+ZAwgDQgPiH6UDCAMAA+MfpQMIAwED5B+hAxMDAADmH6UDQgMAAOcfpQMIA0ID8h/6H5kDAADzH6kDmQMAAPQfjwOZAwAA9h+pA0IDAAD3H6kDQgOZA/wfqQOZAwAAAPtGAEYAAAAB+0YASQAAAAL7RgBMAAAAA/tGAEYASQAE+0YARgBMAAX7UwBUAAAABvtTAFQAAAAT+0QFRgUAABT7RAU1BQAAFftEBTsFAAAW+04FRgUAABf7RAU9BQAAKAQnANj/2AQjANj/lwUKANn/owUOANn/swUGANn/uwUBANn/wAwyAMD/cA0VAOD/wBgfAOD/YG4fAOD/u24YAOX/IukhAN7/AADUwhAAuQAAACrHEABmAAAAWsoQAAwAAAACAAAAAAAAALACAABdE2ABEhfgIL0fICF8LCAvBTBgMxWg4DT4pGA2DKagNh774DYA/uBC/QFhQ4AHIUcBCuFHJA2hSKsOIUovGCFLOxnhWvMeYVswNKFjHmEhZfBqoWVAbSFmT2/hZvCvYWedvKFoAM9haWfR4WkA2mFqAOCha67iIW3r5CFv0Oihb/vzYXEBAO5x8AE/cgADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8sYCsqMOArb6agLAKoIC0e+yAuAP5gNp7/oDb9ASE3AQphNyQNITirDqE5LxghOvMeIUtANKFTHmHhVPBqYVVPb+FVnbxhVgDPYVdl0aFXANohWADgoVmu4iFb7OThXNDoYV0gAO5e8AF/X2AGAABmCeAAQBCgAWkT4AXuFmAGRhmgBnAgoAdgJKAJdifgCv0sYAsHMKALkjHgCyCmoAwwqCAO8KugDhD/IBAHAWEQ4QKhEFgIYRH6DOESYA6hFlAUYRdQFuEZ4BhhGvAbYRtQH+EbACQhHTBhoR1gauEdcG0hHoBuIR/0b2Ef8MyhH8DS4R/O1yEgQOHhIPDiISHw5GEhx+ihIXHsISIA8aEi8PvhI/r7MiTFAQAAiB8gAP0fMQEAQAG4AbYBswGsAagBoQGSAZABjAGIAYQCkgKQAlMDXQOTA4UEDAQGBbsGTgBByJnDAAvAA/8AAAD8//8PAqiqqqqqqqr///////8HAP/9AAAA/P//AAAAAAAAAoAAAAD/////D4Wq////////AAAAAP////8AAAAA/P///wAAAAAA////7/8AAAD8//8AAAEAAPD/////DwAAwP//////9/8D///AQwAAAAD//wAAAAAAAP//AAAAgP//f//A////AAAA/AAAAAAAAAD4AAD///////f8///3AwAA8FTVqqqqqqqqqqqqqqqqqqqqqqqqqqqqVf8A/wD/AN9APwD/AP8A/z//////YhXaPwAAAAAAAAA/IAAAAAAAijwAxAgAAIAQMgAAgP/7//sb/3/jqqqqLxm5///////9BwqlqgoAAF4HAAAAAAAEIAT//8//////Af8APwD/AP8A3ADPAP8A3ACqqqqqGlAIAP////+/IAAA//v/f+AHAAAAwN///wAAAAMAAAAfAAAAqqqqOgAAAAB/APgAAAAAAPcLAAAAAAAA/wUAAAAAAACqqqqqqqr6k6qqqqqqqv+VQFJVtaqqKaqqULqqqoKgqv////+qqqqqAAAAAKiqq6pVq6qqqqqq1CkxJE4qLVHm/P//DwAAwOsAQaWdwwALAT8AQbSdwwALAxAOOQBBxJ3DAAsBKQBB1J3DAAsBLQBB4Z3DAAsDCBM+AEHxncMACw1FLAA1MTMiAAAAAAk6AEGLnsMACwQDABA7AEGbnsMACwEUAEGnnsMACwUcAAAAQABBu57DAAsBSQBByp7DAAslIxEYNjcyMAckKwAdDCAAAC8AOTk5ABcXRxclGhkmAAVIAB4PTQBB+J7DAAsVCj0ABgAAHwAAAAAAAAAhABAbFycoAEGYn8MACwcQNAIWRgg8AEGon8MACwIQSgBBuJ/DAAuAPEMqOAtEQRINAUJOFUtMBC4AtgBKAKYAogCfAJYAlACOAIYAgwBAAUIBRgFTAQwBCAKSAowChgKCA6QDkgMUBLIEqwAAAAAAAP///////z8A/z8AAAD///8BAAAA/P//BwFUVVVVVVVV9VpVFQAAIAAAAAAA//////8DAAAA////X/wBAADw////A////wP//wAAAAAAAP//VVVVVVVV/v8AAAAAAABFgLDn3x8AAAB7VVVVVVVVBWxVVVVVVVUAapCkqkpVVdJVVShFVVV9X1VVVVVVVVVVVasqVVVVVVVVAAAAAFVVVVUAAAAAVFVUVapUVVVVVVUr1s7bsdXSrhEADwAPAB8ADwAAAAAAAAAPPwAAAP///wMDAADQZN4/AFVVVVUFKAQAIAAAAP//AAAAPwCqAP8AAEDX/v/7DwAAAAD//z8AAAD//39/AAAAAP/3NwAAAAAAelUAAAAAAAC/IAAAAAAAAFVVVVVVVVWqhDgnPlA9D8AAAAAAneolwACAHFVVVZDmAAL//////+cA////AwAA8AAAAAAAAP/3AP8APwD/AP8sLAUjLCwsLCwsLCwsLAUALCwFLCwsLCwsLCwsLCwsLCwsKCwsLCwsERFCESsdGBcsLCwgJBUWDw0iLCwsCx4nLCwsLAkILSwsLCwsLCwsLCwsLCwlHEMsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsOSwsLCwsLCwsLCwsLDE/LCwsLCwsLCwsLCwsLCxBQCwUDhAELCwsLDIsLCwsLCwsLCwsLCwsNSwsHywsLCwsLCwsLCwsLDYuLCwsLCwsLCwsLCwsMywJLywqISwsLCwsLCwsLDQTAxIKMCwsLCwsLCwsLCw0JhEbLCwsLCwsLCwsLCwsOgEaNwwHGTgpOwYCPj08RBw1EABfAAAA9gAAABUAAAAcNRAAXwAAAAEBAAAYAAAAAAAACAEIAwgGEAkQDRASGBcYHRgkICsgMyA8IEYoUChbKGcwczCAMI44nDirOLs4zEDdQO9AAkkVSSlJPlFTUWlRgFGYWbBZyVnjYf1hGGI0alBqbWqLaqpyyXLpcgp7K3tNe3CDk4O3g9yDAowojE+Md5SflMiU8pwcBRwFHAUcBQUCBQECBQYCBQMBAgUBBQYCBQcIAQIFAwkABgIFAQkFAwECBQkHBgUGAgUECAgCCAECBQIEBAEEAAYCBQECAgAHAAMBAgUGAQADBQEFBgIFAwAFAQcFBwgBAgUBBQIFCAcICQAGAgUHBgIJAwkEBQMBAgUDCAEEBgkHAgYFBgIFAQkABwMECAYDAggBAgUJBQMGBwQDAQYEAAYCBQQHBggDBwEFCAIAAwECBQIDCAQBCAUHCQEAAQUGAgUBAQkCAAkCCAkFBQAHCAECBQUJBgAEBgQEBwcFAwkABgIFAgkIAAIDAgIDCAcGCQUDAQIFAQQJAAEBBgEBCQMIBAcGBQYCBQcEBQAFCAAFCQYJAgMIAggBAgUDBwIFAgkAAgkIBAYBCQEEAAYCBQEIBgIGBAUBBAkCAwAJBQcAAwECBQkDAQMCAgUHBAYBBQQHCAUBBQYCBQQGBQYGAQIIBwMABwcDCQIFBwgBAgUCAwIIAwAGBAMGBQMIBgkGAggJAAYCBQEBBgQBBQMCAQgCBgkDBAgBBAQFAwECBQUIAgAHBgYACQEDBAYHBAAHAgIGBQYCBQIJAQADCAMABAUGBwMDBwADBgEDAggBAgUBBAUFAQkBBQICCAMGBggFAQgABgYEAAYCBQcCBwUJBQcGAQQBCAMEAgUJAAMDAgADAQIFAwYDBwkHCAgABwAJAQcBAgkFAQYGAAEFBgIFAQgBCAkICQQAAwUEBQgFBgQHBQgDAAAHCAECBQkACQQJBAcAAQcHAgkCCAIDBwkBBQADCQAGAgUEBQQHBAcDBQAICAYEBgQBAQgJBQcFAQkFAwECBQICBwMHAwYHBQQEAwIDAgAFCQQHCAcFCQcGBQYCBQEBAwYIBggDBwcCAQYBBgACCQcDCQMHCQgIAggBAgUFBggEAwQBCAgGAAgACAABBAgGCQYICQkEAQQABgIFAggEAgEHAAkEAwAEAAQAAAcEAwQIBAQJBwAHAAMBAgUBBAIBAAgFBAcBBQIAAgAAAwcBBwQCAgQIBQMFAQUGAgUHAQAFBAIHAwUHBgABAAABCAUIBwEBAgQCBgcFBwgBAgUDBQUCBwEDBgcICAAABQAACQIJAwUFBgIBAwMHCAkABgIFAQcHBgMFBggDCQQAAAIFAAQGBAYHBwgBAAYGCAkEBQMBAgUICAgBBwgEAQkHAAABAgUCAwIDAwgJAAUDAwQEBwIGBQYCBQQEBAAICQIACQgFAAAGAgYBBgEGCQQFAgYGBwIDBgMCCAECBQICAgAEBAYABAkCBQADAQMACAAIBAcCBgMDAwYBCAEGBAAGAgUBAQEAAgIDAAIEBgIFAQUGBQQABAIDBgMBBgYIAAkACAIAAwECBQUFBQEBAQUBAgMBAgUHCAIHAAIBAQgBBQgDBAAEBQQBAAEFBgIFAgcHBQUFBwUGAQUGAggJAQMFAQAFCQAHCQEHAAICBwAFAAcIAQIFAQMIBwcHCAcIAAcIAQQEBQYHBQUCCQUDCQUIBQEBAwUCBQMJAAYCBQYJAwgICQMJAAMJAAcCAggDBwcGBAcGCQcJAgUFBgcG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b3IgQWNjZWxlcmF0ZSB0byB0aGUgYFByaXNtYUNsaWVudGAgY29uc3RydWN0b3IuIFNlZSBodHRwczovL3ByaXMubHkvZC9jb25maWctZGF0YXNvdXJjZSBhbmQgaHR0cHM6Ly9wcmlzLmx5L2QvcHJpc21hNy1jbGllbnQtY29uZmlnVGhlIGRhdGFzb3VyY2UgcHJvcGVydHkgYGRpcmVjdFVybGAgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBpbiBzY2hlbWEgZmlsZXMuIE1vdmUgY29ubmVjdGlvbiBVUkxzIHRvIGBwcmlzbWEuY29uZmlnLnRzYC4gU2VlIGh0dHBzOi8vcHJpcy5seS9kL2NvbmZpZy1kYXRhc291cmNlVGhlIGRhdGFzb3VyY2UgcHJvcGVydHkgYHNoYWRvd0RhdGFiYXNlVXJsYCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIHNjaGVtYSBmaWxlcy4gTW92ZSBjb25uZWN0aW9uIFVSTHMgdG8gYHByaXNtYS5jb25maWcudHNgLiBTZWUgaHR0cHM6Ly9wcmlzLmx5L2QvY29uZmlnLWRhdGFzb3VyY2VUaGUgYHJlZmVyZW50aWFsSW50ZWdyaXR5YCBhbmQgYHJlbGF0aW9uTW9kZWAgYXR0cmlidXRlcyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4gUGxlYXNlIHVzZSBvbmx5IGByZWxhdGlvbk1vZGVgIGluc3RlYWQuVGhlIGVudiBmdW5jdGlvbiBkb2Vzbid0IGV4cGVjdCBuYW1lZCBhcmd1bWVudHNUaGUgYHJlZmVyZW50aWFsSW50ZWdyaXR5YCBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBgcmVsYXRpb25Nb2RlYCBpbnN0ZWFkLiBMZWFybiBtb3JlIGF0IGh0dHBzOi8vcHJpcy5seS9kL3JlbGF0aW9uLW1vZGWTHxAAJgAAACQAAAAoAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAALBaEABaAAAAFBoAAAEAAAAAAAAABAAAAAQAAABoAAAAbmVnYXRpdmUgdmFsdWVzIGFyZSBub24temVyb1wkEABmAAAAZgAAACgAAABUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHnOURAAdQAAAC4DAAAJAAAAQ2Fubm90IHN1YnRyYWN0IGIgZnJvbSBhIGJlY2F1c2UgYiBpcyBsYXJnZXIgdGhhbiBhLvA4EABtAAAARQAAAAUAAADwOBAAbQAAAGUAAAAFAAAAdjoQAHAAAABKAAAAGwAAAHY6EABwAAAAUgAAABsAAAB2OhAAcAAAAFkBAAAnAAAAdjoQAHAAAABYAQAAJgAAAHY6EABwAAAA+AAAACYAAAB2OhAAcAAAAPcAAAAmAAAAdjoQAHAAAADzAAAAJgAAAHY6EABwAAAArQAAABoAAAB2OhAAcAAAALsAAAAWAAAAdjoQAHAAAAC6AAAAFgAAAHY6EABwAAAAaQAAAB8AAAB2OhAAcAAAAH8BAAAPAAAAdjoQAHAAAACCAQAADwAAAHY6EABwAAAALgAAABwAAAAAAAAAY2Fycnkgb3ZlcmZsb3cgZHVyaW5nIG11bHRpcGxpY2F0aW9uIQAAAHY6EABwAAAAOwAAAAUAAAD0IxAAZwAAACcAAAAZAAAAuyEQAGkAAADBAgAAHAAAALshEABpAAAAeAAAABoAAADYNxAAagAAADkAAAAaAAAAFTsQAGoAAACoAAAACQAAABU7EABqAAAA6wAAABgAAAAVOxAAagAAAOwAAAAOAAAAFTsQAGoAAAD2AAAAIQAAABU7EABqAAAA9wAAABgAAAAVOxAAagAAABgBAAA8AAAAFTsQAGoAAAAtAAAACQAAAPA4EABtAAAAhwAAACUAAABjYW5ub3QgcGFyc2UgaW50ZWdlciBmcm9tIGVtcHR5IHN0cmluZ2ludmFsaWQgZGlnaXQgZm91bmQgaW4gc3RyaW5nALshEABpAAAA2gAAABoAAADYNxAAagAAAGgAAAAiAAAALSYQAGEAAACHAQAAAQAAAEggEAAiAAAAhgAAADcAAABIIBAAIgAAAH8AAAANAAAASisQACUAAACyAQAAGQAAAEorEAAlAAAAsgEAACYAAABGaWVsZHMgb24gYW4gYWxyZWFkeSBpZ25vcmVkIE1vZGVsIGRvIG5vdCBuZWVkIGFuIGBAaWdub3JlYCBhbm5vdGF0aW9uLkBpZ25vcmUAAEorEAAlAAAAXQMAADsAAABKKxAAJQAAAGIDAAAeAAAASCAQACIAAADJAQAAKAAAAMJUEAAoAAAAIgAAADMAAADCVBAAKAAAACcAAAAeAAAAwlQQACgAAABSAAAARwAAAMJUEAAoAAAAUwAAACYAAADCVBAAKAAAAFMAAAAwAAAAwlQQACgAAABcAAAAJgAAAMJUEAAoAAAAXAAAACwAAACJIxAALQAAACQAAAASAAAAiSMQAC0AAABrAAAAVgAAAJIdEAAvAAAAIAAAADMAAACSHRAALwAAACQAAAAeAAAAkh0QAC8AAABOAAAAQwAAAJIdEAAvAAAATwAAACIAAACSHRAALwAAAE8AAAAsAAAASW5ldE9wc0pzb25iT3BzSnNvbmJQYXRoT3BzQXJyYXlPcHNUZXh0T3BzQml0TWluTWF4T3BzVmFyQml0TWluTWF4T3BzQnBjaGFyQmxvb21PcHNCcGNoYXJNaW5NYXhPcHNCeXRlYUJsb29tT3BzQnl0ZWFNaW5NYXhPcHNEYXRlQmxvb21PcHNEYXRlTWluTWF4T3BzRGF0ZU1pbk1heE11bHRpT3BzRmxvYXQ0Qmxvb21PcHNGbG9hdDRNaW5NYXhPcHNGbG9hdDRNaW5NYXhNdWx0aU9wc0Zsb2F0OEJsb29tT3BzRmxvYXQ4TWluTWF4T3BzRmxvYXQ4TWluTWF4TXVsdGlPcHNJbmV0SW5jbHVzaW9uT3BzSW5ldEJsb29tT3BzSW5ldE1pbk1heE9wc0luZXRNaW5NYXhNdWx0aU9wc0ludDJCbG9vbU9wc0ludDJNaW5NYXhPcHNJbnQyTWluTWF4TXVsdGlPcHNJbnQ0Qmxvb21PcHNJbnQ0TWluTWF4T3BzSW50NE1pbk1heE11bHRpT3BzSW50OEJsb29tT3BzSW50OE1pbk1heE9wc0ludDhNaW5NYXhNdWx0aU9wc051bWVyaWNCbG9vbU9wc051bWVyaWNNaW5NYXhPcHNOdW1lcmljTWluTWF4TXVsdGlPcHNPaWRCbG9vbU9wc09pZE1pbk1heE9wc09pZE1pbk1heE11bHRpT3BzVGV4dEJsb29tT3BzVGV4dE1pbk1heE9wc1RpbWVzdGFtcEJsb29tT3BzVGltZXN0YW1wTWluTWF4T3BzVGltZXN0YW1wTWluTWF4TXVsdGlPcHNUaW1lc3RhbXBUekJsb29tT3BzVGltZXN0YW1wVHpNaW5NYXhPcHNUaW1lc3RhbXBUek1pbk1heE11bHRpT3BzVGltZUJsb29tT3BzVGltZU1pbk1heE9wc1RpbWVNaW5NYXhNdWx0aU9wc1RpbWVUekJsb29tT3BzVGltZVR6TWluTWF4T3BzVGltZVR6TWluTWF4TXVsdGlPcHNVdWlkQmxvb21PcHNVdWlkTWluTWF4T3BzAACiLBAALQAAALgAAAAWAAAASW52YWxpZCBwYXJhbWV0ZXIgdHlwZTogZXhwZWN0ZWQgc3RyaW5nb3BlcmF0b3IgY2xhc3NBc2MsIERlc2Njb25zdGFudCBsaXRlcmFsc2NoZW1hLnByaXNtYQABAAAAeFkQAB4AAAChAAAACQAAAEggEAAiAAAApgEAAFAAAABUcmFpbGluZyBjb21tYXMgYXJlIG5vdCB2YWxpZCBpbiBhdHRyaWJ1dGUgYXJndW1lbnRzLCBwbGVhc2UgcmVtb3ZlIHRoZSBjb21tYS6AhgBTdGF0ZSBlcnJvcjogd2UgY2Fubm90IHN0YXJ0IHZhbGlkYXRpbmcgbmV3IGFyZ3VtZW50cyBiZWZvcmUgYHZhbGlkYXRlX3Zpc2l0ZWRfYXJndW1lbnRzKClgIG9yIGBkaXNjYXJkX2FyZ3VtZW50cygpYCBoYXMgYmVlbiBjYWxsZWQuCsEgAIBgAAAAAEggEAAiAAAAWgEAAA0AAABIIBAAIgAAAA0BAAAUAAAASCAQACIAAAANAQAAOwAAAEggEAAiAAAAnAAAABkAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmF0dHJpYnV0ZXMudW51c2VkX2F0dHJpYnV0ZXMucmVtb3ZlKCZhdHRyX2lkeCkAAABIIBAAIgAAAJkAAAANAAAASCAQACIAAAAUAQAAFwAAAEggEAAiAAAAGwEAADAAAABObyBzdWNoIGFyZ3VtZW50LlN0YXRlIGVycm9yOiBtaXNzaW5nIGF0dHJpYnV0ZSBpbiB2YWxpZGF0ZV92aXNpdGVkX2FyZ3VtZW50cy4AAEggEAAiAAAAFgEAAA0AAABIIBAAIgAAAPwAAAAWAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5hdHRyaWJ1dGVzLnVudXNlZF9hdHRyaWJ1dGVzLnJlbW92ZSgmZmlyc3RfaWR4KQAASCAQACIA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ZGJnZW5lcmF0ZWQoKSB0YWtlcyBlaXRoZXIgbm8gYXJndW1lbnQsIG9yIGEgc2luZ2xlIG5vbmVtcHR5IHN0cmluZyBhcmd1bWVudC4AiSMQAC0AAAAXAAAAHgAAAIkjEAAtAAAAGAAAAB8AAACJIxAALQAAABsAAAAkAAAAT25seSBAZGVmYXVsdChkYmdlbmVyYXRlZCgiLi4uIikpIGNhbiBiZSB1c2VkIGZvciBleHRlbnNpb24gdHlwZXMuT25seSBAZGVmYXVsdChkYmdlbmVyYXRlZCgiLi4uIikpIGNhbiBiZSB1c2VkIGZvciBVbnN1cHBvcnRlZCB0eXBlcy5BIGJvb2xlYW4gbGl0ZXJhbCBtdXN0IGJlIGB0cnVlYCBvciBgZmFsc2VgLkBkZWZhdWx0BVRoZSBgwEpgIGZ1bmN0aW9uIGRvZXMgbm90IHRha2UgYW55IGFyZ3VtZW50LiBDb25zaWRlciBjaGFuZ2luZyB0aGlzIGRlZmF1bHQgdG8gYMgAAAQoKWAuAAAAAIkjEAAtAAAAWwAAAB4AAACJIxAALQAAAFwAAAAfAAAAVGhlIGBtYXBgIGFyZ3VtZW50IGlzIG5vdCBhbGxvd2VkIG9uIGEgY29tcG9zaXRlIHR5cGUgZmllbGQuiSMQAC0AAABiAAAAIQAAAEZpZWxkcyBvZiBjb21wb3NpdGUgdHlwZXMgY2Fubm90IGhhdmUgYGRiZ2VuZXJhdGVkKClgIGFzIGRlZmF1bHQuQ29tcG9zaXRlIGZpZWxkIHdpdGggZXh0ZW5zaW9uIHR5cGUgY2Fubm90IGhhdmUgZGVmYXVsdCB2YWx1ZXMuQ29tcG9zaXRlIGZpZWxkIG9mIHR5cGUgYFVuc3VwcG9ydGVkYCBjYW5ub3QgaGF2ZSBkZWZhdWx0IHZhbHVlcy5UaGUgZGVmYXVsdCB2YWx1ZSBvZiBhIGxpc3QgZmllbGQgbXVzdCBiZSBhIGxpc3QuAACJIxAALQAAAFsBAAAUAAAAiSMQAC0AAABcAQAAGwAAAERlZmF1bHRzIG9uIGZpZWxkcyBvZiB0eXBlIGNvbXBvc2l0ZSBhcmUgbm90IHN1cHBvcnRlZC4gUGxlYXNlIHJlbW92ZSB0aGUgYEBkZWZhdWx0YCBhdHRyaWJ1dGUuVGhlIGRlZmF1bHQgdmFsdWUgb2YgYSBub24tbGlzdCBmaWVsZCBjYW5ub3QgYmUgYSBsaXN0LgAAiSMQAC0AAADCAAAAGQAAAIkjEAAtAAAAwgAAACUAAABOYW1pbmcgYW4gYXV0b2luY3JlbWVudCBkZWZhdWx0IHZhbHVlIGlzIG5vdCBhbGxvd2VkLgQHAQIAAACSHRAALwAAAJkAAAASAAAAkh0QAC8AAACZAAAAHAAAAJIdEAAvAAAAogAAABUAAABGaWVsZHMgdGhhdCBhcmUgbWFya2VkIGFzIHNoYXJkIGtleXMgbXVzdCBiZSByZXF1aXJlZC5Ac2hhcmRLZXlBdCBtb3N0IG9uZSBmaWVsZCBtdXN0IGJlIG1hcmtlZCBhcyB0aGUgc2hhcmQga2V5IHdpdGggdGhlIGBAc2hhcmRLZXlgIGF0dHJpYnV0ZS6SHRAALwAAAIAAAAAkAAAAkh0QAC8AAAAOAAAAFAAAAJIdEAAvAAAASAAAAB4AAABFYWNoIG1vZGVsIG11c3QgaGF2ZSBhdCBtb3N0IG9uZSBzaGFyZCBrZXkuIFlvdSBjYW4ndCBoYXZlIGBAc2hhcmRLZXlgIGFuZCBgQEBzaGFyZEtleWAgYXQgdGhlIHNhbWUgdGltZS4AAACSHRAALwAAAGoAAAAfAAAAkh0QAC8AAAAvAAAAHQAAAJIdEAAvAAAAPwAAAB0AAABjb25zdGFudGNvbnN0YW50IG9yIGZ1bmN0aW9uD1RoZSBlbnVtIG5hbWUgYMCAowBgIGlzIGludmFsaWQuIEl0IGlzIGEgcmVzZXJ2ZWQgbmFtZS4gUGxlYXNlIGNoYW5nZSBpdC4gUmVhZCBtb3JlIGF0IGh0dHBzOi8vd3d3LnByaXNtYS5pby9kb2NzL3JlZmVyZW5jZS90b29scy1hbmQtaW50ZXJmYWNlcy9wcmlzbWEtc2NoZW1hL2RhdGEtbW9kZWwjbmFtaW5nLWVudW1zAFByaXNtYUNsaWVudGFzeW5jYXdhaXRicmVha2Nhc2VjYXRjaGNsYXNzY29uc3Rjb250aW51ZWRlYnVnZ2VyZG9lbHNlZXhwb3J0ZXh0ZW5kc2ZpbmFsbHlmb3JpZmltcGxlbWVudHNpbXBvcnRpbnN0YW5jZW9maW50ZXJmYWNlbGV0bmV3cGFja2FnZXByaXZhdGVwcm90ZWN0ZWRwdWJsaWNyZXR1cm5zdXBlcnN3aXRjaHRoaXN0aHJvd3RyeXR5cGVvZnZhcnZvaWR3aGlsZXdpdGh5aWVsZAAQMxEADAAAABwzEQAFAAAAITMRAAUAAAAmMxEABQAAACszEQAEAAAALzMRAAUAAAA0MxEABQAAADkzEQAFAAAAPjMRAAgAAABGMxEACAAAAHn5EQAHAAAApvwRAAYAAABOMxEAAgAAAFAzEQAEAAAAV1YSAAQAAABUMxEABgAAAFozEQAHAAAAKhkSAAUAAABhMxEABwAAAGgzEQADAAAAdA4SAAgAAABrMxEAAgAAAG0zEQAKAAAAdzMRAAYAAAAO/hEAAgAAAH0zEQAKAAAAhzMRAAkAAACQMxEAAwAAAJMzEQADAAAAMxkSAAQAAACWMxEABwAAAJ0zEQAHAAAApDMRAAkAAACtMxEABgAAALMzEQAGAAAAuTMRAAUAAAC+MxEABgAAAMQzEQAEAAAAyDMRAAUAAAAvGRIABAAAAM0zEQADAAAA0DMRAAYAAACldREABQAAANYzEQADAAAA2TMRAAQAAADdMxEABQAAAOIzEQAEAAAA5jMRAAUAAABgZm9ybWF0X2ZpZWxkc19pbl9lcnJvcl93aXRoX2xlYWRpbmdfd29yZGAgcmVzdWx0IGNhbiBvbmx5IGJlIGZvcm1hdHRlZCBvbmNlSisQACUAAABdBQAAEQAAAHMAQdTrxAALjgEBAAAA1QEAANYBAADXAQAA2AEAAEF0dHJpYnV0ZXNWYWxpZGF0aW9uU3RhdGVhdHRyaWJ1dGVzdW51c2VkX2F0dHJpYnV0ZXNDb21wb3NpdGVUeXBlSWRGaWVsZElkTW9kZWxJZFN0cmluZ0lkRW51bVZhbHVlSWS+AQAADAAAAAQAAADZAQAA2gEAANsBAEHs7MQACz4BAAAAwgEAAE1vZGVsRmllbGRFbnVtVmFsdWVDb21wb3NpdGVUeXBlRmllbGRBdHRyaWJ1dGVJZOKQjeKQigBB5O3EAAsBAQBBiu7EAAsCAgMAQcruxAALAQEAQZT1xAALAQEAQaT1xAALAQEAQZj3xAALQQEAAAAAAAAA/wcAAACAAAAAAACAAAAAAJA6EQAgAAAAqjYRAOADAACQOxEABAAAAAEAAAAAAAAAAQAAAAAAAAAIAEHo98QAC1b+//8H/v//BwAAAAAABCAE//9/////f////////////////////////////////////////////////////////////////////////////8P/AwAfUABBzvjEAAvcCt+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAAAAAAD///+HBwAAAAAA//////8HAAAAwP7//////////////y8AYMAAnAAA/f///wAAAOD/////////////PwACAAD8////BzAEAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBcZGhscHR4fICEiIyMjIyMkJSYnKCkqKyMjIyMjIyMjLC0uLzAxMjM0NTY3ODkDOjs8Hj0+P0BBQkNEIyMjHiMjIyNFRkdIHklKHktMTR4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eIyMjTk9QUVJTHh4eHh4eHlQrVVZXI1hZHh4eHh4eHh4jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjHiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNaWyMjIyNcXV5AXyNgYWIxY2RlZmdoaWprbG1uI28jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNwcR4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHiMjIyMjciNzdHV2dyMjIyN4eXp7HnwjfX5/gIH//z8EEAEAAP///wH/B/////4AAP//////AwAAAAAAAPD///////8jAAAB/wMA/v/hn/n///3FIwBAALADAAMQ4If5///9bQMAAABeAAAcAOC/+////e0jAAABAAMAAALgn/n///3tIwAAALADAAIA6Mc91hjH/wMAAAEAAAAAAODf/f///f8jAAAANwMAAADh3/3///3vIwAAAHADAAYA8N/9/////ycAQHCAAwAA/OD/f/z///svfwAAAAAAAAD+//////8NANb3//+v/w0gXwAA8AAAAAABAAAAAAAAAP/+////HwAAAB8AQbiDxQAL4wH//////wcAgAAAPzxiwOH/A0AAAP////+/IP//////9////////////z1/Pf//////Pf////89fz3/f/////////89//////////8HAAAAAP//AAD/////////////Pz/+////////////////n////v//B////////////wf+Af//A4D//wMA//8DAP/fAQD///////8PAAAAgBAAAAAAAAAAAP//////////////AZ//////Bf//////////PwD///9/AAAAAAAA////Px8A//////8P/////38A////////HwBBpIXFAAuwAYAAAADg//////8PAOAfAAAAAAAA+P///wHAAPz/////PwAAAP////8PAAAAAOAA/P///z//B///////5wAAAAAA3m8E//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAACgAAA/x8AAAAAhPwvPlC9//PgQwAAAAAAABgAAAAAAAAA/////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39/AEHdhsUAC8QTgAAAYAAAAAAAPhj//3/g/v/////////////34P///////v//fwAA/////wAAAAAAAP///x8AAAAAAAAAAP//////P/8f//8ADAAA//////9/AID///8//////wAAgP/8//////n///////////8fAAD+/7v3//8HAAAA/P//////DwAAAAAAAAD8aAD8//8/AP//fwAAAP///x/w//////8HAACAAADf/wB8//////8BAAD3DwAA//9/xP///////2I+BQAAOP8HHAB+fn4Af3////////f/A////////wcAAAD/////DwD//3/4//////8P//////8///////8DAAAAAH8A+KD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAADf//////////8fAAAAAP7//wf+//8HwP////////////9//Pz8HAAAAAAAAQIDBAUGBwgFCQoFCwwFBwcHBwcHBwcHBw0ODwcQEQcSBxMFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAAECAwQEBAQEBAUGBwgJCgICCwwNDg8QAgICAhESEwQUFRYXGBkaBBscHR4fICEEAiIjIyQlJgQEBCcoKSorLC0uLzAxMjM0NTY3Fjg5Ojs8PT4/BARAQT5CQwRERQQERgRHSElKS0xNTk9QBAQEUVJTVARVVldYBAQEWVoEWwQCAgICAgICAgICAgICAhkEBAQCAgJcBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBF1eAgICAgICAgICAgICAgICAj5fAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAgJFBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAgICAgICAlBhYmM+ZFQEBAQEBARlBAQEAmZnAmhpagICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJrFgQCIwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEbAICAgJtbgICAgICbwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJwcQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAnJzdHV2AgICAnd4eXp7fAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAR9BAQEfn8EBICBBAQEBGNGBAQEBAQEBIIEBASDBAQEhAQEBIUCAgKGAocEBAQEBAQEBAQEBAQEBAQEBASIiYoEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAosCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAowCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjQICAgICAgICAmAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAICAgICAgICYAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAgICAgICAgICAgICAo4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICjwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAT/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////H////////wEAAAAAAP////8A4P///QP/////PwD///8//////w//AAAAAAAA////PwAA/////w//////D///////AP///////w8A//f/97f/+//7G////////w8A////////fwD//z8A/wAAAL////////0HP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////A////wMAAAAA/////////8ABAO/+//8/AAAAAAD///8f////HwAAAAD//v//HwAAAP///////z8A//8/AP//BwD//wMAAAAAAP8BAAAAAAAA////////BwD/////DwAAAAD8//8/gP//PwAAAAAAAAD//////wMDAPwAAAAAAAAA////H4AA//8/AAAAAAD//wMAAAAAAP//HwAAAP//fwD4////////AAAAAAAAACYA+P//////AAAAAP///wEAAPj///9/AAAAkAD/////RwD4//////8HAB4AABQAAAAA///7//8PAIABAAAAAAAAAH+9/7//Af//4J/5///97SMAAAHgAwAAAP9L/////78AAAAKAAAAAAD///////8fAIAHAIADAAAA////////AACwAAAAAAAAAP//////fwAAAAAADwAAAAAQAAAAAAAAAP//////BwAB////BwAAAAB/AAAAAAAAAP//////DwAAAAAAAP//////////AAAAgH/yb////wCAAgBBrJrFAAuFAf/8/////wEACgAAAAH4/////wcEAAAB8P//////AwAgAAD///////////8B/////wEAAAD//f///38AAAEAAAAAAPz///8AAAAAAAB/+/////8BAEAAAAC//f///wMAAQAA//////8PAAAAAAAAAAD//wcA9P/9////DwAAAAAAAAABAA8AQbqbxQALlwT///////////////8BAH4AAAD/////////PwAAAAD///9/AAD///////////9/AAD///8/AAAPAAAA+P//4P//////HwAAAAAAAP////n//w8AAAAAAP8HAQAAAAAAAAD4/wAAAAAAAAAACwAMAP//PwAAAACAAAAAAAAA72//////BwAEAAAAJwDwAP///////////w///////wf/H/8B/wMAAAAA///f///////////fZN7/6+//////////v+ff3////3tf/P3///////////8//////f//9/////f//9/////f//9/////f/////3////9///3DwAAAAAAAP///3/gBwAAAAAAAAAA/////////z8AAP//////H4A/AEAAAAAAAAAAAP///w8AAAAA////PwEA////f7c/H8AAAAAAf2//fx8AAAAAAAAADwgAAAAAAADv////lv73CoTqlqqW9/de//v/D+77/w//////AAAAAP//////P////////wEA////B/////////////////8D4DsRACAAAADgPBEA4AMAAMBAEQCCAAAA0EQRAAABAADQRREAAAUAANBKEQCQAAAAUG9zaXRpb26DSRAAXQAAAIoAAAAJAAAAg0kQAF0AAABQAAAAMwAAANwBAAAUAAAABAAAAN0BAABJbnZhbGlkIFVURjjLTxAAYQAAAH8AAAAkAEHcn8UAC8IFAQAAAMIBAACXUBAAYwAAAKcCAAAOAAAAdmFyaWFudCBpZGVudGlmaWVyc3RydWN0IFBsYWNlaG9sZGVyW1kQABwAAADDAAAAOAAAAGJpZ2ludGRlY2ltYWxwYXJhbSBuYW1lSlNPTiBwYXJhbSB2YWx1ZVByaXNtYVZhbHVlSlNPTiBieXRlcyB2YWx1ZUpTT04gZGVjaW1hbCB2YWx1ZUpTT04gYmlnaW50IHZhbHVlSlNPTiBkYXRlIG9iamVjdAAAAIcBAAAEAAAABAAAAIgBAABbWRAAHAAAAAMBAABHAAAAYWRqYWNlbnRseSB0YWdnZWQgZW51bSBQcmlzbWFWYWx1ZVR5cGVGcm9tVXRmOEVycm9yVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW6+AQAADAAAAAQAAADeAQAA3wEAAOABAABD1MybXB7iY+GWK0Q/G73ScHJvdmlkZXJvdXRwdXRiaW5hcnlUYXJnZXRzcHJldmlld0ZlYXR1cmVzc2NoZW1hcwAAAF1DpdYiQu7TQiTWBl4yBCYXSxAALAAAACwAAAA7AAAAWVoQAFYAAADHAAAAJQAAAFlaEABWAAAAxwAAAEEAAABWKBAAIgAAAMMAAAAkAAAAVigQACIAAADDAAAAOwAAAER1cGxpY2F0ZWQgc2NoZW1hIG5hbWVzIGFyZSBub3QgYWxsb3dlZFRoZSBgc2NoZW1hc2AgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgY3VycmVudCBjb25uZWN0b3IuVGhlIGFyZ3VtZW50IG11c3QgaGF2ZSBhIG5hbWV2ZXJzaW9uQHVuaXF1ZUBAdW5pcXVlQEBmdWxsdGV4dEBAaW5kZXisUxAALwAAAD4BAAAKAAAAvgEAAAwAAAAEAAAA4QEAAOIBAADjAQBBqKXFAAvpDgEAAADCAQAAbGl0ZXJhbGZ1bmN0aW9uYWwAAAAmKBAALwAAAB8AAAABAAAAcG9zdGdyZXNxbGZ0cy1wb3N0Z3Jlc0FnZ3JlZ2F0ZUFwaUF0b21pY051bWJlck9wZXJhdGlvbnNDbGllbnRFeHRlbnNpb25zQ29ja3JvYWNoZGJDb25uZWN0T3JDcmVhdGVDcmVhdGVNYW55RGF0YVByb3h5RGVub0RyaXZlckFkYXB0ZXJzRXh0ZW5kZWRJbmRleGVzRXh0ZW5kZWRXaGVyZVVuaXF1ZUZpZWxkUmVmZXJlbmNlRmlsdGVySnNvbkZpbHRlcmVkUmVsYXRpb25Db3VudEZ1bGxUZXh0SW5kZXhGdWxsVGV4dFNlYXJjaEZ1bGxUZXh0U2VhcmNoUG9zdGdyZXNHcm91cEJ5SW1wcm92ZWRRdWVyeVJhd0ludGVyYWN0aXZlVHJhbnNhY3Rpb25zSnNvblByb3RvY29sTWljcm9zb2Z0U3FsU2VydmVyTWlkZGxld2FyZXNNb25nb0RiTXVsdGlTY2hlbWFOQXBpTmFtZWRDb25zdHJhaW50c05hdGl2ZURpc3RpbmN0TmF0aXZlVHlwZXNPbWl0QXBpT3JkZXJCeUFnZ3JlZ2F0ZUdyb3VwT3JkZXJCeU51bGxzT3JkZXJCeVJlbGF0aW9uUGFydGlhbEluZGV4ZXNQb3N0Z3Jlc3FsRXh0ZW5zaW9uc1ByaXNtYVNjaGVtYUZvbGRlclF1ZXJ5Q29tcGlsZXJSZWFjdE5hdGl2ZVJlZmVyZW50aWFsQWN0aW9uc1JlZmVyZW50aWFsSW50ZWdyaXR5UmVsYXRpb25Kb2luc1NjaGVtYUVuZ2luZURyaXZlckFkYXB0ZXJzU2VsZWN0UmVsYXRpb25Db3VudFNoYXJkS2V5c1N0cmljdFVuZGVmaW5lZENoZWNrc1RyYWNpbmdUcmFuc2FjdGlvbkFwaVR5cGVkU3FsVW5jaGVja2VkU2NhbGFySW5wdXRzVmlld3NTbWFsbEludEludGVnZXJNb25leUluZXRPaWRDaXRleHRSZWFsRG91YmxlUHJlY2lzaW9uVmFyQ2hhckJ5dGVBVGltZXN0YW1wVGltZXN0YW1wdHpUaW1ldHpCaXRWYXJCaXRKc29uQmEgbm9ubmVnYXRpdmUgaW50ZWdlcnR3byBub25uZWdhdGl2ZSBpbnRlZ2Vyc0V4cGVjdGVkIHRoaXMgdG8gYmUgYW4gZW52IGZ1bmN0aW9uLkV4YWN0bHkgb25lIHN0cmluZyBwYXJhbWV0ZXIgbXVzdCBiZSBwYXNzZWQgdG8gdGhlIGVudiBmdW5jdGlvbi4AAMooEAAqAAAAbgAAACoAAABUaGlzIGlzIG5vdCBhIGZ1bmN0aW9uIGV4cHJlc3Npb24gYnV0IGV4cGVjdGVkIGl0IHRvIGJlIG9uZS5zY2hlbWFzID0gWyQwXXNjaGVtYXMgPSBbImZvbyIsICJiYXIiLCAiYmF6Il1UaGUgbGlzdCBvZiBkYXRhYmFzZSBzY2hlbWFzLiBbTGVhcm4gTW9yZV0oaHR0cHM6Ly9wcmlzLmx5L2QvbXVsdGktc2NoZW1hLWNvbmZpZ3VyYXRpb24pZXh0ZW5zaW9uc2V4dGVuc2lvbnMgPSBbJDBdZXh0ZW5zaW9ucyA9IFtwZ190cmdtLCBwb3N0Z2lzKHZlcnNpb246ICIyLjEiKV1FbmFibGUgUG9zdGdyZVNRTCBleHRlbnNpb25zLiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wcmlzLmx5L2QvcG9zdGdyZXNxbC1leHRlbnNpb25zKWVuZ2luZVR5cGVBIGRhdGFzb3VyY2UgbXVzdCBub3QgdXNlIHRoZSBlbnYoKSBmdW5jdGlvbiBpbiB0aGUgcHJvdmlkZXIgYXJndW1lbnQudXJsc2hhZG93RGF0YWJhc2VVcmxkaXJlY3RVcmxUaGUgcHJvdmlkZXIgYXJndW1lbnQgaW4gYSBkYXRhc291cmNlIG11c3Qgbm90IGJlIGVtcHR5VGhlIHByb3ZpZGVyIGFyZ3VtZW50IGluIGEgZGF0YXNvdXJjZSBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWxyZWZlcmVudGlhbEludGVncml0eXJlbGF0aW9uTW9kZXByaXNtYWZvcmVpZ25LZXlzWW91IGRlZmluZWQgbW9yZSB0aGFuIG9uZSBkYXRhc291cmNlLiBUaGlzIGlzIG5vdCBhbGxvd2VkIHlldCBiZWNhdXNlIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRhdGFiYXNlcyBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQgeWV0LlByZXZpZXcgZmVhdHVyZXMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHRoZSBnZW5lcmF0b3IgYmxvY2suIFBsZWFzZSBtb3ZlIHRoaXMgZmllbGQgdG8gdGhlIGdlbmVyYXRvciBibG9jay4AQZy0xQALiQcBAAAA5QEAAOYBAADnAQAA6AEAAOkBAADqAQAA6wEAAJoBAACbAQAA7AEAAJ0BAADtAQAA7gEAAO8BAADwAQAA8QEAAPIBAACkAQAA8wEAAKQBAACmAQAA9AEAAKgBAAD1AQAA9gEAAPcBAAD4AQAA+QEAAPoBAAD7AQAA/AEAAL0BAAD9AQAA/gEAAP8BAACxAQAAAAIAAAECAAACAgAAAwIAAAQCAAAFAgAABgIAAAcCAAC9AQAAvQEAAL0BAAC9AQAAvQEAAFNwR2lzdCBkb2VzIG5vdCBzdXBwb3J0IG11bHRpLWNvbHVtbiBpbmRpY2VzLlRoZSBgZXh0ZW5zaW9uc2AgcHJvcGVydHkgaXMgb25seSBhdmFpbGFibGUgd2l0aCB0aGUgYHBvc3RncmVzcWxFeHRlbnNpb25zYCBwcmV2aWV3IGZlYXR1cmUuVGhlIG5hbWUgb2YgYW4gZXh0ZW5zaW9uIG11c3Qgbm90IGJlIGVtcHR5LlRoZSBjaGFyYWN0ZXIgYC1gIGlzIG5vdCBhbGxvd2VkIGluIGV4dGVuc2lvbiBuYW1lcy5UaGUgbmFtZSBvZiBhbiBleHRlbnNpb24gbXVzdCBub3Qgc3RhcnQgd2l0aCBhIG51bWJlci4lWS0lbS0lZCVIOiVNOiVTJS5mAAAAfykQACwAAAAzAAAAGQAAACVZLSVtLSVkVCVIOiVNOiVTJS5mPFByaXNtYSBzY2hlbWE+ZW1wdHlpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBFbXB0eURhdGFtb2RlbENvbm5lY3Rvcjo6bmF0aXZlX3R5cGVfdG9fc3RyaW5nKCkAAEYvEAA3AAAAOgAAAAkAAABwc2xfY29yZTo6ZGF0YW1vZGVsX2Nvbm5lY3Rvcjo6ZW1wdHlfY29ubmVjdG9yOjpFbXB0eURhdGFtb2RlbENvbm5lY3RvcgBGLxAANwAAAE0AAAAJAAAA9zEQAHMAAADvBQAAIgAAAHArEAArAAAAKAAAAAEAAABwb3N0Z3Jlc211c3Qgc3RhcnQgd2l0aCB0aGUgcHJvdG9jb2wgYHBvc3RncmVzcWw6Ly9gIG9yIGBwb3N0Z3JlczovL2AuAAB+LxAAQwAAAIcCAAA4AAAAaGV4Ynl0ZXN+LxAAQwAAAJECAAAWAAAADwBBsLvFAAutBwgCAAAYAAAABAAAAHYAAAAJAgAAfi8QAEMAAAB0AgAAOAAAAH4vEABDAAAAfQIAABYAAAAQAAAAAQAAAAMAAAB+LxAAQwAAAOMBAAAVAAAAQ2FuIGhhbmRsZSBlcXVhbGl0eSBhbmQgcmFuZ2UgcXVlcmllcyBvbiBkYXRhIHRoYXQgY2FuIGJlIHNvcnRlZCBpbnRvIHNvbWUgb3JkZXJpbmcgKGRlZmF1bHQpLkNhbiBoYW5kbGUgc2ltcGxlIGVxdWFsaXR5IHF1ZXJpZXMsIGJ1dCBubyBvcmRlcmluZy4gRmFzdGVyIHRoYW4gQlRyZWUsIGlmIG9yZGVyaW5nIGlzIG5vdCBuZWVkZWQuR2VuZXJhbGl6ZWQgU2VhcmNoIFRyZWUuIEEgZnJhbWV3b3JrIGZvciBidWlsZGluZyBzcGVjaWFsaXplZCBpbmRpY2VzIGZvciBjdXN0b20gZGF0YSB0eXBlcy5HZW5lcmFsaXplZCBJbnZlcnRlZCBJbmRleC4gVXNlZnVsIGZvciBpbmRleGluZyBjb21wb3NpdGUgaXRlbXMsIHN1Y2ggYXMgYXJyYXlzIG9yIHRleHQuU3BhY2UtcGFydGl0aW9uZWQgR2VuZXJhbGl6ZWQgU2VhcmNoIFRyZWUuIEZvciBpbXBsZW50aW5nIGEgd2lkZSByYW5nZSBvZiBkaWZmZXJlbnQgbm9uLWJhbGFuY2VkIGRhdGEgc3RydWN0dXJlcy5CbG9jayBSYW5nZSBJbmRleC4gSWYgdGhlIGRhdGEgaGFzIHNvbWUgbmF0dXJhbCBjb3JyZWxhdGlvbiB3aXRoIHRoZWlyIHBoeXNpY2FsIGxvY2F0aW9uIHdpdGhpbiB0aGUgdGFibGUsIGNhbiBjb21wcmVzcyB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBkYXRhIGludG8gYSBzbWFsbCBzcGFjZS5yYXdyYXcoIiQwIikAAH4vEABDAAAAUwIAAA4AAAAKAgAAGAAAAAQAAAALAgAAfi8QAEMAAAA1AQAALQAAAH4vEABDAAAAiAEAAEUAAABQcmVjaXNpb24gbXVzdCBiZSBwb3NpdGl2ZSB3aXRoIGEgbWF4aW11bSB2YWx1ZSBvZiAxMDAwLk0gY2FuIHJhbmdlIGZyb20gMCB0byA2Lk0gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuAAAAfi8QAEMAAACiAQAASgAAAAAAAAADAEHowsUACwUBAAAABABB+MLFAAsFAgAAAAsAQYjDxQALFQgAAAABAAAAQQAAAB4AAAADAAAAFQBBqMPFAAsFBAAAAA4AQbjDxQALFQUAAAAQAAAAAQAAAAMAAAAHAAAADwBB2MPFAAsFBgAAABsAQejDxQAL1gjCLxAAJwAAAKgAAABAAAAAwi8QACcAAACOAAAAEgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IFRoaXMgbWV0aG9kIGlzIG9ubHkgaW1wbGVtZW50ZWQgb24gY29ubmVjdG9ycyB3aXRoIGxhdGVyYWwgam9pbiBzdXBwb3J0LgAAwi8QACcAAAAmAQAACQAAAMIvEAAnAAAAHgEAAAkAAADDIAAgaQUAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSEpISkhKSExKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSkxKTEpMSlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUE5QTlBOUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQUlBSUFJQVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRWVFZUVlRYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlhWWFZYVlpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWFpYWlhaWF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cXlxeXF5cYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeYF5gXmBeZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGJkYmRiZGIAAACEKhAAZgAAAAgBAAAbAAAAAS7DIAAAaQMAAAEuwyAAAGkGAAABLsMgAABpCQAAIEFTQyBERVNDQVNDIE5VTExTIEZJUlNUQVNDIE5VTExTIExBU1RERVNDIE5VTExTIEZJUlNUREVTQyBOVUxMUyBMQVNUJy1JbmZpbml0eSdJbmZpbml0eScnTmFOJ0FSUkFZWwAAhwEAAAQAAAAEAAAAiAEAAJwrEAAeAAAAGwEAAE8AAAA6OnRleHQAQcjMxQAL7iQBAAAAwgEAAHdyaXRpbmcgcmZjMzMzOSBkYXRldGltZSB0byBzdHJpbmcgc2hvdWxkIG5ldmVyIGZhaWyXUBAAYwAAAH8CAAAOAAAAVGhlIFJvdyBtdXN0IGhhdmUgYSBzaW5nbGUgUGFyYW1ldGVyaXplZCBpdGVtAAAAVR8QABUAAAA9AAAADgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IFRoZSBSb3cgbXVzdCBoYXZlIGEgc2luZ2xlIFBhcmFtZXRlcml6ZWQgaXRlbQBVHxAAFQAAAEUAAAASAAAAOjpudW1lcmljOjpqc29uYlRPX0pTT05CKG51bWVyaWN0ZXh0VU5JT04gQUxMVU5JT048dW5rbm93biBob3N0Pr4BAAAMAAAABAAAAAwCAAANAgAADgIAAEZPUkVJR04gS0VZKG5vdCBhdmFpbGFibGUpIExJS0UgKERFTEVURSBGUk9NIElOU0VSVCBJTlRPICBERUZBVUxUIFZBTFVFUyBPTiBDT05GTElDVCBETyBOT1RISU5HIE9OIENPTkZMSUNUIERPIChOT1QgdG9fdHNxdWVyeSggTk9UIExJS0UgdG9fdHN2ZWN0b3IoY29uY2F0X3dzKCcgJywgSlNPTiBwYXRoIHN0cmluZyBub3RhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciBQb3N0Z3JlcwCcKxAAHgAAALoBAAAkAAAAIz4+XTo6dGV4dFtdIz4+QVJSQVlbXTo6dGV4dFtdSlNPTkJfQUdHSlNPTkJfVFlQRU9Gc3RyaW5nbnVtYmVyYm9vbGVhbiBMSU1JVCBKU09OQl9CVUlMRF9PQkpFQ1RDQVNUKEFSUkFZX1RPX1NUUklOR0FSUkFZX0FHRycsJyggTk9UIC0+ME1BWE1JTkFycmF5PD5UdXBsZTxUb28gbWFueSBEQiBjb25uZWN0aW9ucyBvcGVuZWRTZXJ2ZXIgaGFzIGNsb3NlZCB0aGUgY29ubmVjdGlvbi5RdWVyeSByZXR1cm5lZCBubyBkYXRhLlRoZSBwcm92aWRlZCBhcmd1bWVudHMgYXJlIG5vdCBzdXBwb3J0ZWRUaW1lZCBvdXQgZHVyaW5nIHF1ZXJ5IGV4ZWN1dGlvbi5UcmFuc2FjdGlvbiB3cml0ZSBjb25mbGlj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ABIAAAAzAgAAAAIAAAgAAAA0AgAAcXVlcnkgY29tcGlsZXIgY29ubmVjdHMgc2hvdWxkIG5ldmVyIGhhdmUgbW9yZSB0aGFuIG9uZSBjaGlsZCBleHByZXNzaW9utkEQADoAAABeAQAAEgAAADUCAAAAAgAACAAAADYCAABxdWVyeSBjb21waWxlciBjb25uZWN0cyBzaG91bGQgbmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIHBhcmVudCBleHByZXNzaW9uAAAAtkEQADoAAABZAQAAEgAAAHNob3VsZCBoYXZlIHBhcmVudCBJRCBmb3IgZGlzY29ubmVjdLZBEAA6AAAAagEAADAAAAA3AgAAeAAAAAQAAAA4AgAAc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcXVlcnkgZm9yIHVwZGF0ZSB3aXRoIHNlbGVjdGlvbgC2QRAAOgAAAIsBAAAKAAAAHj8QAE4AAABJAAAAKQAAAFN0cmluZ0NodW5rY2h1bmtQYXJhbWV0ZXIAAAA5AgAADAAAAAQAAAClAAAAUGFyYW1ldGVyVHVwbGVpdGVtX3ByZWZpeGl0ZW1fc2VwYXJhdG9yaXRlbV9zdWZmaXhQYXJhbWV0ZXJUdXBsZUxpc3Rncm91cF9zZXBhcmF0b3IAOgIAADQAAAAEAAAA3QAAAAAAAAAEAAAABAAAAMwAAABSb3dUb0pzb25leHBycHJldHR5X3ByaW50SnNvblVucXVvdGVKc29uQXJyYXlBZ2dKc29uQnVpbGRPYmplY3RleHByc0pzb25FeHRyYWN0TGFzdEFycmF5RWxlbUFnZ3JlZ2F0ZVRvU3RyaW5nTG93ZXJVcHBlckNvbmNhdFRleHRTZWFyY2hjb2x1bW5NYXhpbXVtTWluaW11bUNvYWxlc2NlU3RyaW5naWZ5b25seSBhIHNpbmdsZSBxdWVyeSBjYW4gYmUgY29tcGlsZWQgYXQgYSB0aW1lUGxhY2Vob2xkZXJGb3JtYXRwcmVmaXhoYXNfbnVtYmVyaW5nAAAAOwIAABAAAAAEAAAA3gAAADwCAAAMAAAABAAAAN8AAAAAAAAABAAAAAQAAADgAAAARGVsZXRldGFibGVjb25kaXRpb25zcmV0dXJuaW5nAAA9AgAADAAAAAQAAADqAAAAPgIAAAwAAAAEAAAA/wAAAD8CAAAMAAAABAAAAOgAAAAAAAAABAAAAAQAAADmAAAAY29sdW1ucwAmdBEABQAAAIB0EQAHAAAA2gMSAAYAAAArdBEACgAAAHEUEgAHAAAANXQRAAkAAABGbGF0TWFwVmFsdWVzcm93c05vQ29uZGl0aW9uTmVnYXRpdmVDb25kaXRpb25Db21wb3VuZHR5cF9BdmFpbGFibGVVbmF2YWlsYWJsZUl0ZXJleHRlbnNpb24gdHlwZSBub3QgZm91bmQAAAAFNBAAMAAAAMUBAAAWAAAARXhhY3RseU9uZUVycm9yc2Vjb25kSm9pbkRhdGFsYXRlcmFsSnNvbkV4dHJhY3RGaXJzdEFycmF5RWxlbVRleHRTZWFyY2hSZWxldmFuY2VAAgAAYAAAAAgAAABBAgAAU3ViTXVsRGl2UmVtTWVyZ2V1c2luZ3doZW5fbm90X21hdGNoZWREaXN0aW5jdAAAQgIAAAwAAAAEAAAAQwIAAEQCAAAMAAAABAAAAEUCAABGAgAADAAAAAQAAABHAgAASAIAAAwAAAAEAAAASQIAAEoCAABIAAAACAAAAEsCAABMAgAADAAAAAQAAABNAgAATgIAAAwAAAAEAAAATwIAAHRhYmxlc29yZGVyaW5nZ3JvdXBpbmdvZmZzZXRqb2luc2N0ZXMAAABM+REACAAAADR2EQAGAAAAgHQRAAcAAAArdBEACgAAADp2EQAIAAAAQnYRAAgAAAAw/hEABgAAADb+EQAFAAAASnYRAAYAAABQdhEABQAAAFV2EQAEAAAAcRQSAAcAAABTZWxlY3RMaWtlTm90TGlrZU5vdE51bGxCZXR3ZWVuTm90QmV0d2Vlbk1hdGNoZXNOb3RNYXRjaGVzRXhpc3RzTm90RXhpc3RzSW5zZXJ0Um93TnVtYmVySnNvbkV4dHJhY3RVdWlkVG9CaW5VdWlkVG9CaW5Td2FwcGVkT3JkZXJpbmdJbm5lckxlZnRSaWdodEZ1bGxFbnVtVmFyaWFudFVzaW5nYmFzZV9xdWVyeWFzX3RhYmxlb25fY29uZGl0aW9uc0dyb3VwaW5nAAAAUAIAADQAAAAEAAAAUQIAAFICAACAAAAABAAAAFMCAABvbl9jb25mbGljdAAmdBEABQAAAIB0EQAHAAAA2gMSAAYAAACsdxEACwAAADV0EQAJAAAAcRQSAAcAAABBcnJheUNvbnRhaW5zQXJyYXlOb3RDb250YWluc1R5cGVFcXVhbHNUeXBlTm90RXF1YWxzUm93Q29uc3RhbnRPbkNsYXVzZVJhd1NxbHNxbGFyZ190eXBlc1RlbXBsYXRlU3FsZnJhZ21lbnRzcGxhY2Vob2xkZXJfZm9ybWF0Y2h1bmthYmxlRXhwcmVzc2lvbnNlbGVjdHN0eXBlc3R5cGVkbmF0aXZlX2NvbHVtbl90eXBlAAAAvgEAAAwAAAAEAAAAVAIAAFUCAABWAgBBwPHFAAvWGAEAAADCAQAASW50MzJJbnQ2NERvdWJsZVRleHRFbnVtQXJyYXlOdW1lcmljWG1sRGF0ZVRpbWVPcGFxdWVPcGFxdWVWYWx1ZXR5cFVua25vd25UdXBsZUZsYXR0ZW5Db21wYXRpdGVyZnJvbnRpdGVyYmFja2l0ZXJJdGVtb3B0SW50b0l0ZXJXAgAAKAAAAAQAAABYAgAAc2hvdWxkIGdlbmVyYXRlIGV4YWN0bHkgb25lIGRlbGV0ZQAAIFkQADoAAADVAQAAEgAAAHNob3VsZCBoYXZlIHJlY29yZCBzZWxlY3RvcnMgZm9yIHVwZGF0ZQAgWRAAOgAAAFoBAAAWAAAAc2hvdWxkIGdlbmVyYXRlIGV4YWN0bHkgb25lIHVwZGF0ZSBxdWVyeSBZEAA6AAAAZQEAABIAAABwcm9kdWN0AFkCAABkAAAABAAAAFoCAABzaG91bGQgaGF2ZSBvbmUgZmllbGQgaW4gbTJtIHJlbGF0aW9uAAAAIFkQADoAAADFAAAADgAAACBZEAA6AAAA7wEAACwAAAAgWRAAOgAAAO8BAABDAAAAIFkQADoAAADwAQAAMgAAACBZEAA6AAAA8AEAAEcAAABDb21tb25UYWJsZUV4cHJlc3Npb25PdmVycGFydGl0aW9uaW5nb3ZlcmV4dHJhY3RfYXNfc3RyaW5nZWxlbWVudHNFbnVtTmFtZXNjaGVtYV9uYW1lQXJnVHlwZWFyaXR5c2NhbGFyX3R5cGVkYl90eXBlTnVtYmVyQ29sdW1uUmVmRnVzZVVuc3VwcG9ydGVkU2NhbGFyV3JpdGVPcGVyYXRpb25QYXJhbWV0ZXJpemVkUGFyYW1ldGVyaXplZFJvd1Jhd1ZhbHVlQ29sdW1uU2VsZWN0aW9uQXN0ZXJpc2tPcENvbmRpdGlvblRyZWVDb21wYXJlVGFibGVKb2luZWRUYWJsZUFzY0Rlc2NBc2NOdWxsc0ZpcnN0QXNjTnVsbHNMYXN0RGVzY051bGxzRmlyc3REZXNjTnVsbHNMYXN0RmllbGRzSW5kZXhGb3JlaWduS2V5Q2Fubm90UGFyc2VkYXRhYmFzZWluZGV4X2RlZmluaXRpb25zAFsCAABIAAAACAAAAFwCAAAAAAAABgAAAAIAAABdAgAAXgIAABAAAAAEAAAAXwIAAAAAAAABAAAAAQAAAGACAAB0eXBlX2ZhbWlseW5hdGl2ZV90eXBlaXNfZW51bWlzX2xpc3Rpc19zZWxlY3RlZAAgVhIABAAAACZ0EQAFAAAAEKIRAAUAAAB5+REABwAAAEh8EQALAAAAU3wRAAsAAABefBEABwAAAGV8EQAHAAAAbHwRAAsAAABEb05vdGhpbmdZZXNOb0RhdGFiYXNlTm90UmVhY2hhYmxlTG9jYXRpb25ob3N0cG9ydG9yaWdpbmFsX2NvZGVvcmlnaW5hbF9tZXNzYWdlUHJvdmlkZWRHZW5lcmF0ZWRSYXdDb25uZWN0b3JFcnJvcnN0YXR1c3JlYXNvblF1ZXJ5RXJyb3JUb29NYW55Q29ubmVjdGlvbnNRdWVyeUludmFsaWRJbnB1dERhdGFiYXNlTm90UmVhY2hhYmxlZGF0YWJhc2VfbG9jYXRpb25EYXRhYmFzZURvZXNOb3RFeGlzdGRiX25hbWVEYXRhYmFzZUFjY2Vzc0RlbmllZERhdGFiYXNlQWxyZWFkeUV4aXN0c1Rsc0Nvbm5lY3Rpb25FcnJvckNvbm5lY3Rpb25DbG9zZWRBdXRoZW50aWNhdGlvbkZhaWxlZHVzZXJUYWJsZURvZXNOb3RFeGlzdFVuaXF1ZUNvbnN0cmFpbnRWaW9sYXRpb25jb25zdHJhaW50TnVsbENvbnN0cmFpbnRWaW9sYXRpb25Gb3JlaWduS2V5Q29uc3RyYWludFZpb2xhdGlvbkNvbHVtblJlYWRGYWlsdXJlUmVzdWx0SW5kZXhPdXRPZkJvdW5kc0NvbHVtbk5vdEZvdW5kUmVzdWx0VHlwZU1pc21hdGNoRGF0YWJhc2VVcmxJc0ludmFsaWRDb252ZXJzaW9uRXJyb3JMZW5ndGhNaXNtYXRjaEludmFsaWRDb25uZWN0aW9uQXJndW1lbnRzU29ja2V0VGltZW91dFZhbHVlT3V0T2ZSYW5nZUluY29ycmVjdE51bWJlck9mUGFyYW1ldGVyc2V4cGVjdGVkYWN0dWFsVHJhbnNhY3Rpb25BbHJlYWR5Q2xvc2VkVHJhbnNhY3Rpb25Xcml0ZUNvbmZsaWN0Um9sbGJhY2tXaXRob3V0QmVnaW5JbnZhbGlkSXNvbGF0aW9uTGV2ZWxVVUlERXJyb3JNaXNzaW5nRnVsbFRleHRTZWFyY2hJbmRleFVuc3VwcG9ydGVkQ29sdW1uVHlwZWNvbHVtbl90eXBlRXh0ZXJuYWxFcnJvck9wYXF1ZUFzUmF3VmFsdWVSYW5RdWVyeVdpdGhPcGFxdWVQYXJhbU5hdGl2ZUNvbHVtblR5cGVsZW5ndGgAAKZKNnmPnP13bBK9yC/54sYgSU5ORVIgSk9JTiAgTEVGVCBKT0lOICBSSUdIVCBKT0lOICBGVUxMIEpPSU4gbm90IGltcGxlbWVudGVkOiBNZXJnZXMgbm90IHN1cHBvcnRlZCBmb3IgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UuMC8QABUAAAAAAgAACQAAAFdJVEggAAAAMC8QABUAAAA2AgAAKAAAAFNFTEVDVCBESVNUSU5DVCBESVNUSU5DVCBPTiAgRlJPTSAgV0hFUkUgIEdST1VQIEJZICBPUkRFUiBCWSBVUERBVEUgIFNFVCAgUkVUVVJOSU5HICA9IEFWRy8qICAqLzAvEAAVAAAAfQMAACoAAAAgSU4gMT0wZnVuY3Rpb24gY2FsbCBhZ2FpbnN0IGEgcm93IG9mIGV4cHJlc3Npb25zIG11c3QgaGF2ZSBhIG5hbWUAADAvEAAVAAAApQMAABkAAAAwLxAAFQAAAKIDAAAZAAAAMC8QABUAAABdAwAAKgAAADAvEAAVAAAAXgMAADMAAAAgPD4gMC8QABUAAAD+AwAAKgAAACBOT1QgSU4gMT0xADAvEAAVAAAAMQQAABkAAAAwLxAAFQAAAC4EAAAZAAAAMC8QABUAAADeAwAAKgAAADAvEAAVAAAA3wMAADMAAAAgSVMgTk9UIE5VTEwgQkVUV0VFTiAgTk9UIEJFVFdFRU4gQU5ZQUxMRVhJU1RTTk9UIEVYSVNUU1JPV19OVU1CRVIoKSBPVkVSUk9XX05VTUJFUigpIE9WRVIoKUNPVU5UKCopdXVpZF90b19iaW4odXVpZCgpKXV1aWRfdG9fYmluKHV1aWQoKSwgMSl1dWlkKCkgPCBERUZBVUxUID4gUEFSVElUSU9OIEJZIE9SREVSIEJZIAAAAAAAAAEAAAABAAAAhgEAAFtZEAAcAAAANAEAACwAAABwcmlzbWFfX3R5cGVwYXJhbXByaXNtYV9fdmFsdWUAAGECAAAEAAAABAAAAIgBAABnZW5lcmF0b3JDYWxscmV0dXJuVHlwZQBbWRAAHAAAAGYBAAAKAAAAJUMQAIQAAABOAAAANQAAAGICAAAkAAAABAAAAGMCAABkAgAAAAAAAAEAAAABAAAAFgIAABcCAABlAgAALAAAAAQAAABmAgAAZwIAAGICAAAkAAAABAAAAGgCAABpAgAAAAAAAAQAAAAEAAAAagIAAGsCAABsAgAAFAAAAAQAAABtAgAAbgIAAG42EAB0AAAA5wUAABQAAABuNhAAdAAAAOcFAAAhAAAAbjYQAHQAAADbBQAAIQAAAG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0YhBEAKAAAACQAAAAAAAAAAgAAAECEEQAnKhAAOQAAAHIAAAAbAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogVW5leHBlY3RlZCByZWxhdGlvbiBhZ2dyZWdhdGlvbiBzZWxlY3Rpb24gaW5zaWRlIGEgY29tcG9zaXRlIHR5cGUgcXVlcnkAAAAnKhAAOQAAAG4AAAAVAAAAcmVhZF9pZHNfaW5mYWxsaWJsZWZpbmRfY2hpbGRyZW5fYnlfcGFyZW50AEGgisYAC+EBAQAAAG8CAABwAgAAz0QQADsAAADNAAAANQAAAKA0EABIAAAATgIAABYAAABNaXNzaW5nUmVxdWlyZWRBcmd1bWVudGFyZ3VtZW50X25hbWVmaWVsZF9uYW1lb2JqZWN0X25hbWVSZWxhdGlvblZpb2xhdGlvbnJlbGF0aW9uX25hbWVJbnB1dEVycm9ybW9kZWxBbW9kZWxCcmVsYXRpb25UeXBlb3BlcmF0aW9ubmVlZGVkRm9yZXhwZWN0ZWRSb3dzUmVjb3Jkc05vdENvbm5lY3Rl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AAAAEAAAAEAAAACAiABFdmVyeSBmaWVsZCB1c2VkIGluIGBoYXZpbmdgIGZpbHRlcnMgbXVzdCBlaXRoZXIgYmUgYW4gYWdncmVnYXRpb24gZmlsdGVyIG9yIGJlIGluY2x1ZGVkIGluIHRoZSBzZWxlY3Rpb24gb2YgdGhlIHF1ZXJ5LiBNaXNzaW5nIGZpZWxkczogwABBdCBsZWFzdCBvbmUgc2VsZWN0aW9uIGlzIHJlcXVpcmVkIGZvciB0aGUgYGJ5YCBhcmd1bWVudC5FeHBlY3RlZCBwYXJzaW5nIHRvIGd1YXJhbnRlZSBlaXRoZXIgYSBzaW5nbGUgZW51bSBvciBhIGxpc3Qgb2YgZW51bXMgaXMgcHJvdmlkZWQgZm9yIGdyb3VwIGJ5IGBieWAgYXJnLoCCAEV2ZXJ5IHNlbGVjdGVkIHNjYWxhciBmaWVsZCB0aGF0IGlzIG5vdCBwYXJ0IG9mIGFuIGFnZ3JlZ2F0aW9uIG11c3QgYmUgaW5jbHVkZWQgaW4gdGhlIGJ5LWFyZ3VtZW50cyBvZiB0aGUgcXVlcnkuIE1pc3NpbmcgZmllbGRzOiDAAAAAAPEdEABJAAAAiAAAAA4AAADxHRAASQAAAJQAAAAOAAAA8R0QAEkAAAAMAAAAMwAAAPEdEABJAAAAFAAAAC0AAACqQxAASgAAAAkAAAAtAAAAVW5hYmxlIHRvIHByb2Nlc3MgY29tYmluYXRpb24gb2YgcXVlcnkgYXJndW1lbnRzIGZvciBhZ2dyZWdhdGlvbiBxdWVyeS4gUGxlYXNlIG5vdGUgdGhhdCBpdCBpcyBub3QgcG9zc2libGUgYXQgdGhlIG1vbWVudCB0byBoYXZlIGEgbnVsbC1jdXJzb3IsIG9yIGEgY3Vyc29yIGFuZCBvcmRlckJ5IGNvbWJpbmF0aW9uIHRoYXQgbm90IHN0YWJsZSAodW5pcXVlKS5TZXQgaXMgbm90IHN1cHBvcnRlZCBvbiBvbmUtdG8tb25lIHJlbGF0aW9ucy4ANVUQAEYAAAAwAAAACQBB3LzGAAv9AQEAAAC9AgAAvgIAAFtRdWVyeSBHcmFwaF0gRXhwZWN0ZWQgb25seSBvbmUgbmVzdGVkIGNyZWF0ZSBub2RlIG9uIGEgMTptIHJlbGF0aW9uIHdpdGggaW5saW5lIElEcyBvbiB0aGUgcGFyZW50LgBVVhAASQAAALIBAAAKAAAAW1F1ZXJ5IEdyYXBoXSBFeHBlY3RlZCBvbmUgbmVzdGVkIGNyZWF0ZSBub2RlIG9uIGEgMTptIHJlbGF0aW9uIHdpdGggaW5saW5lIElEcyBvbiB0aGUgcGFyZW50LgAAVVYQAEkAAAASAQAADgAAAFVWEABJAAAAHAIAAFgAQeS+xgALli8BAAAAvwIAAMACAACfVhAASQAAAEkAAABCAAAAn1YQAEkAAAA3AAAATgAAAJ9WEABJAAAAOgAAADoAAACfVhAASQAAAH8AAAA2AAAAn1YQAEkAAACAAAAANgAAAGNyZWF0ZSBhcmd1bWVudCBpcyBtaXNzaW5nAADrVBAASQAAAG8AAAA9AAAAdXBkYXRlIGFyZ3VtZW50IGlzIG1pc3NpbmcAAOtUEABJAAAAcAAAAD0AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiB3aGVyZSBhcmd1bWVudCBpcyBtaXNzaW5nAOtUEABJAAAAfAAAAB0AAAAAVhAAVAAAALcAAAAeAAAAAFYQAFQAAAC6AAAANAAAAABWEABUAAAAvQAAADYAAAAAVhAAVAAAAGgAAAA4AAAAAFYQAFQAAABrAAAAOgAAAABWEABUAAAABAEAADgAAAAAVhAAVAAAAAcBAAA6AAAAAFYQAFQAAAB6AQAAHgAAAABWEABUAAAAfQEAADQAAAAAVhAAVAAAAIABAAA2AAAAY00QAEUAAAC1AAAAMAAAAE1vZGVsTm90Rm91bmQAAAC+AQAADAAAAAQAAAA1AQAARmllbGROb3RGb3VuZGNvbnRhaW5lcl90eXBlY29udGFpbmVyX25hbWVTY2FsYXJGaWVsZE5vdEZvdW5kQ29tcG9zaXRlRmllbGROb3RGb3VuZFJlbGF0aW9uRmllbGROb3RGb3VuZEVudW1Ob3RGb3VuZEJpdEZsYWdzPFF1ZXJ5T3B0aW9uPmJpdHNmbGFnc1JldHVybkludmFyaWFudFZpb2xhdGlvbkludmFsaWROb2RlVHJhbnNmb3JtYXRpb24AADkCAAAMAAAABAAAANcAAABhbGlhc1VwZGF0ZU9yQ3JlYXRlQXJnc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB1cGRhdGUgb3IgY3JlYXRlIG5vZGVzAAAA9yUQADUAAAASAAAAFgAAAFVwZGF0ZU9yQ3JlYXRlQXJnc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBXcml0ZVF1ZXJ5IG5vZGVzAAD3JRAANQAAABUAAAANAAAAZmFpbGVkIHRvIHBhcnNlIGJpZ2ludC9iaWd1aW50UmVjb3JkUXVlcnlGaWx0ZXJJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OlJlYWQoUmVhZFF1ZXJ5OjpSZWNvcmRRdWVyeShycSkpKQDaohEAYQAAAPclEAA1AAAAMQAAAAEAAAATUmVjb3JkUXVlcnkobmFtZTogJ8AOJywgc2VsZWN0aW9uOiDACiwgZmlsdGVyOiDBIACAYAEpABhNYW55UmVjb3Jkc1F1ZXJ5KG5hbWU6ICfACycsIG1vZGVsOiAnwA4nLCBzZWxlY3Rpb246IMAILCBhcmdzOiDBIACAYAEpAENvbm5lY3RSZWNvcmRzRGlzY29ubmVjdFJlY29yZHMAC1sQAF0AAAD7BgAAMAAAAFJlY29yZFF1ZXJ5RmlsdGVySW5wdXQUQ3JlYXRlUmVjb3JkKG1vZGVsOiDACCwgYXJnczogwSAAgGABKQAYQ3JlYXRlTWFueVJlY29yZChtb2RlbDogwBMsIHNlbGVjdGVkX2ZpZWxkczogwSAAgGABKQAUVXBkYXRlUmVjb3JkKG1vZGVsOiDADSwgc2VsZWN0aW9uOiDBIACAYAEpAA5EZWxldGVSZWNvcmQ6IMACLCDBIACAYAIsIMEgAIBgABlVcGRhdGVNYW55UmVjb3Jkcyhtb2RlbDogwAgsIGFyZ3M6IMEgAIBgASkADEV4ZWN1dGVSYXc6IMEgAIBgAApRdWVyeVJhdzogwSAAgGAAcGFyc2VyIGVycm9yLCBzZWUgdG9fc3RyaW5nKCkgZm9yIGRldGFpbHMAAAAAAAAABAAAAAQAAAAfAQAAUmVjb3JkRmlsdGVyc2VsZWN0b3JzTWFueVJlY29yZHNRdWVyeUZpbHRlcklucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6UmVhZChSZWFkUXVlcnk6Ok1hbnlSZWNvcmRzUXVlcnkobXJxKSkpAAAAZaURAGwAAAD3JRAANQAAADcAAAABAAAAYWxsRG9tYWluRXJyb3JNYW55UmVjb3Jkc1F1ZXJ5RmlsdGVySW5wdXQgfCA8ZW1wdHk+RXhlY3V0aW9uT3JkZXJQYXJlbnRSZXN1bHRUaGVuRWxzZVVwZGF0ZVJlY29yZFNlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6VXBkYXRlUmVjb3JkKHVyKSkpAAAAQaYRAGgAAAD3JRAANQAAAD0AAAABAAAAQ291bnRBbGxBZ2dyZWdhdGlvblNlbGVjdGlvbmRt0yAAgGkBAADTIACAbQEAANMgAIBrAQAAAACiIBAAMwAAAJkAAABFAAAAUkVMQVRJT05fVklPTEFUSU9OAAAiMBAANAAAAG0AAAAkAAAAVXBkYXRlUmVjb3JkU2VsZWN0b3JzSW5wdXRDb21wb3NpdGVFbnZlbG9wZVJlbGF0aW9uRW52ZWxvcGVGaWVsZFJlZlR5cGVXaGVyZUlucHV0VHlwZU5lc3RlZFRvT25lVXBkYXRlRW52ZWxvcGVQYXJzZWRJbnB1dE1hcHRhZ1VwZGF0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OlF1ZXJ5KFF1ZXJ5OjpXcml0ZShXcml0ZVF1ZXJ5OjpVcGRhdGVNYW55UmVjb3Jkcyh1cikpKQAAAK+nEQByAAAA9yUQADUAAABDAAAAAQAAAENoYXJjaGFyYWN0ZXJTaW1wbGVMZW5ndGhsZW5CeXRlTGVuZ3RoR3JvdXBDb3VudEdyb3VwTGVuZ3RoZ3JvdXBJbnZhbGlkVVRGOE1JU1NJTkdfUkVDT1JEAAAAIjAQADQAAACLAAAAJAAAAFVwZGF0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXREZWxldGVSZWNvcmRTZWxlY3RvcnNJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OldyaXRlKFdyaXRlUXVlcnk6OkRlbGV0ZVJlY29yZChkcikpKQDHqBEAaAAAAPclEAA1AAAASQAAAAEAAABNSVNTSU5HX1JFTEFURURfUkVDT1JEAAAiMBAANAAAAMkAAAAkAAAARGVsZXRlUmVjb3JkU2VsZWN0b3JzSW5wdXQAAMICAAAIAAAABAAAAKEAAADDAgAAqAAAAAgAAACiAAAAxAIAAAwAAAAEAAAAxQIAAMYCAAAMAAAABAAAAMcCAADIAgAADAAAAAQAAACjAAAAcGFyZW50X2ZpZWxkc2VsZWN0ZWRfZmllbGRzbmVzdGVkc2VsZWN0aW9uX29yZGVycGFyZW50X3Jlc3VsdHMAACBWEgAEAAAAEKIRAAUAAADcqREADAAAAFFIEgAEAAAA6KkRAA8AAAD3qREABgAAAP2pEQAPAAAADKoRAA4AAABSZWxhdGVkUmVjb3Jkc1F1ZXJ5AMkCAAAMAAAABAAAAG8BAADKAgAADAAAAAQAAADLAgAAzAIAAAwAAAAEAAAAzQIAAM4CAAAMAAAABAAAADEBAAAAAAAABAAAAAQAAAAVAQAAZ3JvdXBfYnkgVhIABAAAABCiEQAFAAAAkgUSAAUAAAD9qREADwAAAFFIEgAEAAAAXKURAAkAAADAqhEACAAAADD+EQAGAAAAQWdncmVnYXRlUmVjb3Jkc1F1ZXJ5SW50ZXJuYWxEYXRhTW9kZWxEaWZmTGVmdFRvUmlnaHREaWZmUmlnaHRUb0xlZnRVcGRhdGVPckNyZWF0ZUFyZ3NJbnB1dADKVxAAKQAAAFwAAAASAAAAylcQACkAAABkAAAAEgAAAG42EAB0AAAAzwEAADcAAABXcml0ZUFyZ3NyZXF1ZXN0X25vd0lOQ09NUExFVEVfQ09OTkVDVF9JTlBVVCIwEAA0AAAA4QAAACQAAABEZWxldGVNYW55UmVjb3Jkc1NlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6RGVsZXRlTWFueVJlY29yZHMoZHIpKSkAANCrEQByAAAA9yUQADUAAABPAAAAAQAAAFJlY29yZFF1ZXJ5TWFueVJlY29yZHNRdWVyeWpvaW5JTkNPTVBMRVRFX0NPTk5FQ1RfT1VUUFVUIjAQADQAAAD/AAAAJAAAAERlbGV0ZU1hbnlSZWNvcmRzU2VsZWN0b3JzSW5wdXRSRUNPUkRTX05PVF9DT05ORUNURUQiMBAANAAAABwBAAAkAAAATGVmdFNpZGVEaWZmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkNvbXB1dGF0aW9uKENvbXB1dGF0aW9uOjpEaWZmTGVmdFRvUmlnaHQoZGlmZl9ub2RlKSB8CkNvbXB1dGF0aW9uOjpEaWZmUmlnaHRUb0xlZnQoZGlmZl9ub2RlKSnorBEAjAAAAPclEAA1AAAAVQAAAAEAAABWYWxpZGF0aW9uRXJyb3JtZXRhYSBxdWVyeWFuIHVwZGF0ZWFuIHVwc2VydGEgZGVsZXRlYSBkaXNjb25uZWN0YSBjb25uZWN0YSBuZXN0ZWQgY3JlYXRlYSBuZXN0ZWQgdXBkYXRlYSBuZXN0ZWQgdXBzZXJ0YSBuZXN0ZWQgZGVsZXRlYSBuZXN0ZWQgc2V0YSBuZXN0ZWQgY29ubmVjdGEgbmVzdGVkIGNvbm5lY3Qgb3IgY3JlYXRlTGVmdFNpZGVEaWZmSW5wdXRSaWdodFNpZGVEaWZmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkNvbXB1dGF0aW9uKENvbXB1dGF0aW9uOjpEaWZmTGVmdFRvUmlnaHQoZGlmZl9ub2RlKSB8CkNvbXB1dGF0aW9uOjpEaWZmUmlnaHRUb0xlZnQoZGlmZl9ub2RlKSkAAABYrhEAjQAAAPclEAA1AAAAWwAAAAEAAABSaWdodFNpZGVEaWZmSW5wdXRwZXJmb3JtIGEgbmVzdGVkIHVwZGF0ZWRpc2Nvbm5lY3QgZXhpc3RpbmcgY2hpbGQgcmVjb3Jkc0lmSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkZsb3coRmxvdzo6SWYgeyBkYXRhLCAuLiB9KQAAAEqvEQA/AAAA9yUQADUAAABhAAAAAQAAAENyZWF0ZU1hbnlSZWNvcmRzRmllbGRzb3JkZXJJZklucHV0UmV0dXJuSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OkZsb3coRmxvdzo6UmV0dXJuKGRhdGEpKQDHrxEAQAAAAPclEAA1AAAAZwAAAAEAAABUaHJvd09uRW1wdHlTaW5nbGVPcmRlckJ5TWFwb25lLXRvLW9uZW9uZS10by1tYW55bWFueS10by1tYW55UmV0dXJuSW5wdXRSZWxhdGVkUmVjb3Jkc1NlbGVjdG9yc0lucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6UmVhZChSZWFkUXVlcnk6OlJlbGF0ZWRSZWNvcmRzUXVlcnkocnEpKSkAaLARAG8AAAD3JRAANQAAAG0AAAABAAAAU2NoZW1hRXJyb3JRdWVyeVBhcnNlckVycm9yQXNzZXJ0aW9uRXJyb3JwYXJlbnRfbmFtZWNoaWxkX25hbWVSZWNvcmROb3RGb3VuZFF1ZXJ5R3JhcGhFcnJvclJlbGF0ZWRSZWNvcmRzU2VsZWN0b3JzSW5wdXRtb2RlbF9hbW9kZWxfYkNvbm5lY3RQYXJlbnRJbnB1dCBjYW4gb25seSBiZSB1c2VkIHdpdGggTm9kZTo6UXVlcnkoUXVlcnk6OldyaXRlKFdyaXRlUXVlcnk6OkNvbm5lY3RSZWNvcmRzKGNyKSkpAHWxEQBiAAAA9yUQADUAAABzAAAAAQAAAENvbm5lY3RQYXJlbnRJbnB1dENvbm5lY3RDaGlsZHJlbklucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6Q29ubmVjdFJlY29yZHMoY3IpKSkAAAKyEQBkAAAA9yUQADUAAAB5AAAAAQAAAENvbm5lY3RDaGlsZHJlbklucHV0UXVlcnlPcHRpb25zRGlzY29ubmVjdFBhcmVudElucHV0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBOb2RlOjpRdWVyeShRdWVyeTo6V3JpdGUoV3JpdGVRdWVyeTo6RGlzY29ubmVjdFJlY29yZHMoZHIpKSmgshEAaAAAAPclEAA1AAAAfwAAAAEAAABBdE1vc3RPbmVFeGFjdGx5T25lQWxsRmlsdGVyRXhhY3RseU9uZUZpbHRlckV4YWN0bHlPbmVXcml0ZUFyZ3NEaXNjYXJkRGlzY29ubmVjdFBhcmVudElucHV0RGlzY29ubmVjdENoaWxkcmVuSW5wdXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIE5vZGU6OlF1ZXJ5KFF1ZXJ5OjpXcml0ZShXcml0ZVF1ZXJ5OjpEaXNjb25u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b3DCHRAALgAAAMIAAAAOAAAACgBBwPbGAAv9AWFzc2VydGlvbiBmYWlsZWQ6IGlkeCA8IENBUEFDSVRZAkkQAIAAAAC6AgAACQAAAAAAAAABAAAAAQAAANUCAADpNBAAMgAAACcBAABXAAAA6TQQADIAAAAoAQAAXQAAAIECAAAMAAAABAAAANYCAADpNBAAMgAAACkBAABbAAAA6TQQADIAAAAqAQAAXQAAAOk0EAAyAAAAKwEAABYAAAAAAAAAAQAAAAEAAADXAgAA6TQQADIAAAAzAQAAXwAAAHgCAAAYAAAABAAAAHkCAADpNBAAMgAAADcBAABtAAAA6TQQADIAAAA2AQAAWwAAAOk0EAAyAAAAOAEAABYAQcj4xgALiRABAAAA2AIAAOk0EAAyAAAALgEAAF0AAADpNBAAMgAAADABAAAWAAAA6TQQADIAAAAgAQAANwAAAOk0EAAyAAAAFAEAADMAAADpNBAAMgAAAAoBAAAzAAAA6TQQADIAAABCAQAAEgAAACFOEAA3AAAASQAAADIAAAAhThAANwAAAFEAAAAkAAAAayAQADYAAAAoAAAAWQAAAFJlbGF0aW9uRmlsdGVybmVzdGVkX2ZpbHRlclNpbmdsZVByb2plY3Rpb25Db21wb3VuZFByb2plY3Rpb25PYmplY3RNZW1iZXJrZXlzcGFuUmVsYXRpb25GaWVsZENvbXBvc2l0ZUZpZWxkVHlwZUlkZW50aWZpZXJGaWxlSWRDb252ZXJzaW9uRmFpbHVyZWZyb210b1NjYWxhckZpZWxkUGFyc2VEZWNpbWFsUGFyc2VJbnRQYXJzZUJpZ0ludFBhcnNlRXJyb3JPdXRPZlJhbmdlSW1wb3NzaWJsZU5vdEVub3VnaEludmFsaWRUb29TaG9ydFRvb0xvbmdCYWRGb3JtYXRfX05vbmV4aGF1c3RpdmVRdWVyeUFyZ3VtZW50c29yZGVyX2J5aWdub3JlX3NraXBpZ25vcmVfdGFrZXJlbGF0aW9uX2xvYWRfc3RyYXRlZ3lQYXJlbnRDb250YWluZXJlbnVtX3ZhcmlhbnRDb21wb3NpdGVUeXBlTnVtZXJpY1ZhbHVlU3RyaW5nVmFsdWVDb25zdGFudFZhbHVlRnVuY3Rpb25Bcmd1bWVudHNMaXN0ZW1wdHlfYXJndW1lbnRzUGFyc2VGbG9hdEVycm9yUGFyc2VCaWdJbnRFcnJvckV4dGVuc2lvblR5cGVJZEFyZ3VtZW50AAAA6yoQADAAAAA5AQAAKwAAAOsqEAAwAAAAOgEAACoAAABFbXB0eUFyZ3VtZW50SW52YWxpZERpZ2l0Q29tcG9zaXRlU2VsZWN0aW9uc2VsZWN0aW9uc09yZGVyQnlTY2FsYXJzb3J0X29yZGVybnVsbHNfb3JkZXJPcmRlckJ5U2NhbGFyQWdncmVnYXRpb25zb3J0X2FnZ3JlZ2F0aW9uT3JkZXJCeVRvTWFueUFnZ3JlZ2F0aW9uT3JkZXJCeVJlbGV2YW5jZUludGVybmFsRW51bUFsbE5lZ2F0aXZlT25lUGFyc2VCb29sRXJyb3JGaWVsZFNlbGVjdGlvblNwYW5zdGFydGVuZGZpbGVfaWRBc2NlbmRpbmdEZXNjZW5kaW5nUGFyc2VJbnRFcnJvckZpcnN0TGFzdEV2ZXJ5UmVsYXRlZFJlY29yZEF0TGVhc3RPbmVSZWxhdGVkUmVjb3JkTm9SZWxhdGVkUmVjb3JkVG9PbmVSZWxhdGVkUmVjb3JkRW51bUlkVmlydHVhbEpvaW5Qb3NPdmVyZmxvd05lZ092ZXJmbG93WmVyb05vdEFQb3dlck9mVHdvRXh0ZW5zaW9uUmVsYXRpb25TZWxlY3Rpb25yZXN1bHRfZmllbGRzUmVsYXRpb25Db3VudFNjYWxhckFnZ3JlZ2F0aW9uVG9NYW55QWdncmVnYXRpb25SZWxldmFuY2UBAAFBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////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AABmAwAAZgMAQZz2xwAL6hEBAAAAZwMAAGgDAABoAwAAHAMAAAwAAAAEAAAAaQMAAGoDAABqAwAAHAMAAAwAAAAEAAAAawMAAGwDAABsAwAAHAMAAAwAAAAEAAAAbQMAAG4DAABuAwAAHAMAAAwAAAAEAAAAbwMAAHADAABwAwAAHAMAAAwAAAAEAAAAcQMAAHIDAAByAwAAHAMAAAwAAAAEAAAAcwMAAHQDAAB0AwAAHAMAAAwAAAAEAAAAdQMAAHYDAAB2AwAAHAMAAAwAAAAEAAAAdwMAAHgDAAB4AwAAHAMAAAwAAAAEAAAAeQMAAHoDAAB6AwAAcXVlcnlSYXdleGVjdXRlUmF3cnVuQ29tbWFuZFJhdwCMVBAANQAAACQAAAApAAAAjFQQADUAAAArAAAAKAAAAEV4cGVjdGVkIGxpbmtpbmcgZmllbGRzIHRvIGJlIHNjYWxhci4AAAA+RxAANwAAAJYAAAASAAAA6xwQADgAAAB3AAAAEgAAAHVwc2VydGRlbGV0ZU1hbnl1cGRhdGVNYW55ZGVsZXRlY29ubmVjdGRpc2Nvbm5lY3Rjb25uZWN0T3JDcmVhdGVjcmVhdGVNYW55aW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogU2NhbGFyVHlwZTo6TnVsbCBzaG91bGQgbmV2ZXIgcmVhY2ggdGhhdCBjb2RlIHBhdGgAAJVGEABEAAAAIAAAACEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBpbnB1dCByZWYgdHlwZSBvbmx5IHN1cHBvcnQgc2NhbGFyIG9yIGVudW1zAAAAlUYQAEQAAAAlAAAADgAAAHN0cmluZ19jb250YWluc3N0cmluZ19zdGFydHNfd2l0aHN0cmluZ19lbmRzX3dpdGhhcnJheV9zdGFydHNfd2l0aGFycmF5X2VuZHNfd2l0aGFycmF5X2NvbnRhaW5zbm90aW5ub3RJbmx0bHRlZ3RndGVza2lwdGFrZW9yZGVyQnlieWhhdmluZ2xpbWl0cmVsYXRpb25Mb2FkU3RyYXRlZ3lXaXRoQWdncmVnYXRpb25XaXRoUmVsYXRpb25Tb3J0T3JkZXJJbnB1dF9yZWxldmFuY2VBdmcAAAB4JxAASQAAAHIAAAASAAAAdW5zZXRTb3J0T3JkZXJBZmZlY3RlZFJvd3NPdXRwdXRRdWVyeU11dGF0aW9uTmVzdGVkT25lTmVzdGVkTWFueVVuY2hlY2tlZFJlbGF0aW9uTG9hZFN0cmF0ZWd5T25lT25lUmVxdWlyZWRNYW55VHJhbnNhY3Rpb25Jc29sYXRpb25MZXZlbGEqEAAiAAAAFQAAACAAAABmaW5kVW5pcXVlZmluZFVuaXF1ZU9yVGhyb3dmaW5kRmlyc3RmaW5kRmlyc3RPclRocm93ZmluZE1hbnljcmVhdGVPbmVjcmVhdGVNYW55QW5kUmV0dXJudXBkYXRlT25ldXBkYXRlTWFueUFuZFJldHVybmRlbGV0ZU9uZXVwc2VydE9uZWFnZ3JlZ2F0ZWdyb3VwQnlmaW5kUmF3YWdncmVnYXRlUmF3AAAAIFwQACkAAAA+AQAAEgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGludmFsaWQgT25jZSBzdGF0ZbItEACAAAAAOgAAABIAAABEZWNpbWFsVVVJRERhdGFiYXNlQ2hlY2tlZENyZWF0ZUlucHV0Q2hlY2tlZFVwZGF0ZU1hbnlJbnB1dFVuY2hlY2tlZFVwZGF0ZU1hbnlJbnB1dENoZWNrZWRVcGRhdGVPbmVJbnB1dENvbXBvc2l0ZUNyZWF0ZUVudmVsb3BlSW5wdXRDb21wb3NpdGVDcmVhdGVJbnB1dENvbXBvc2l0ZURlbGV0ZU1hbnlJbnB1dENvbXBvc2l0ZVVwZGF0ZUVudmVsb3BlSW5wdXRDb21wb3NpdGVVcGRhdGVJbnB1dENvbXBvc2l0ZVVwZGF0ZU1hbnlJbnB1dENvbXBvc2l0ZVVwc2VydE9iamVjdElucHV0Q3JlYXRlTWFueUlucHV0Q3JlYXRlTWFueUFuZFJldHVybk91dHB1dENyZWF0ZU9uZVNjYWxhckxpc3RGaWVsZFVwZGF0ZU9wZXJhdGlvbnNJbnB1dE1vZGVsTmVzdGVkVXBzZXJ0TWFueUlucHV0TmVzdGVkVXBzZXJ0T25lSW5wdXRPcmRlckJ5QWdncmVnYXRlSW5wdXRPcmRlckJ5SW5wdXRPcmRlckJ5UmVsZXZhbmNlRmllbGRFbnVtT3JkZXJCeVJlbGV2YW5jZUlucHV0T3JkZXJCeVRvTWFueUFnZ3JlZ2F0ZUlucHV0UmVsYXRpb25DcmVhdGVJbnB1dFJlbGF0aW9uVXBkYXRlSW5wdXRTY2FsYXJGaWVsZEVudW1TY2FsYXJGaWx0ZXJJbnB1dFNjYWxhckxpc3RGaWx0ZXJJbnB1dFNjYWxhckxpc3RVcGRhdGVJbnB1dFRvTWFueUNvbXBvc2l0ZUZpbHRlcklucHV0VG9NYW55UmVsYXRpb25GaWx0ZXJJbnB1dFRvT25lQ29tcG9zaXRlRmlsdGVySW5wdXRUb09uZVJlbGF0aW9uRmlsdGVySW5wdXRVbmNoZWNrZWRDcmVhdGVJbnB1dFVuY2hlY2tlZFVwZGF0ZU9uZUlucHV0VXBkYXRlTWFueVdoZXJlQ29tYmluYXRpb25JbnB1dFVwZGF0ZU9uZVdoZXJlQ29tYmluYXRpb25JbnB1dFVwZGF0ZVRvT25lUmVsV2hlcmVDb21iaW5hdGlvbklucHV0VXBkYXRlTWFueUFuZFJldHVybk91dHB1dFdoZXJlSW5wdXRXaGVyZVVuaXF1ZUlucHV0UmF3U3RyaW5nRW51bVR5cGV2YWx1ZXNSZXF1aXJlZE9wdGlvbmFsvgEAAAwAAAAEAAAAewMAAHwDAAB9AwBBkIjIAAuGEgEAAADCAQAASW5wdXRPYmplY3RUeXBlI0lucHV0IEZpZWxkcyBDZWxsI2NvbnRhaW5lcgB8VRAAgwAAADkAAAASAAAA9UMQAE4AAABcAAAADgAAAEJvb2yARBAATgAAACkAAAAtAAAAgEQQAE4AAAAxAAAALAAAAElucHV0T2JqZWN0VHlwZUNvbnN0cmFpbnRzbWluX251bV9maWVsZHNtYXhfbnVtX2ZpZWxkc0RhdGFiYXNlRW51bVR5cGVpbnRlcm5hbF9lbnVtRmllbGRSZWZFbnVtVHlwZUlkZW50aWZpZXJuYW1lc3BhY2VQcmlzbWFKc29uTGlzdDM3EABcAAAAfgEAACQAAACVQhAAYAAAAN4CAAAqAAAAlUIQAGAAAADjAgAAHgAAAGNhbGwgbGltaXQgcmVhY2hlZAAAwicQAGMAAAA/AAAAKgAAAMInEABjAAAARgAAAB0AAADCJxAAYwAAAEoAAAASAAAAVW5zdXBwb3J0ZWQoW112aWV3bW9kZWxn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AAAA2kYQADEAAABEAAAALAAAAEEgY29tcG9zaXRlIHR5cGUgY2Fubm90IGhhdmUgYmxvY2stbGV2ZWwgYXR0cmlidXRlcy5BIGNvbXBvc2l0ZSB0eXBlIGNhbm5vdCBkZWZpbmUgYW4gaWQuQSBmdWxsdGV4dCBpbmRleCBzaG91bGQgYmUgZGVmaW5lZCBpbiB0aGUgbW9kZWwgY29udGFpbmluZyB0aGUgZW1iZWQuQW4gaW5kZXggc2hvdWxkIGJlIGRlZmluZWQgaW4gdGhlIG1vZGVsIGNvbnRhaW5pbmcgdGhlIGVtYmVkLkEgdW5pcXVlIGNvbnN0cmFpbnQgc2hvdWxkIGJlIGRlZmluZWQgaW4gdGhlIG1vZGVsIGNvbnRhaW5pbmcgdGhlIGVtYmVkLlRoZSBuYW1lIG9mIGEgY29tcG9zaXRlIHR5cGUgaXMgbm90IHBlcnNpc3RlZCBpbiB0aGUgZGF0YWJhc2UsIHRoZXJlZm9yZSBpdCBkb2VzIG5vdCBuZWVkIGEgbWFwcGVkIGRhdGFiYXNlIG5hbWUuY29tcG9zaXRlIHR5cGUAANpGEAAxAAAAZgAAAB4AAADaRhAAMQAAAGoAAAASAAAA6i8QADcAAABYAAAADgAAAOovEAA3AAAASwAAABIAAADqLxAANwAAADgAAAAYAAAA6i8QADcAAAAxAAAAGAAAAOovEAA3AAAANQAAACQAAADqLxAANwAAAD0AAAAOAAAAY29uZmlndXJhdGlvbiBibG9ja3NvdXJjZQAAAOovEAA3AAAAIwAAAB4AAADqLxAANwAAACsAAAASAAAA4B4QAHQAAAAHBAAANwAAAAZZEAAZAAAALwAAADoAAAACXHXDIAAAaQQAAHJ1bGVFT0lzY2hlbWFtb2RlbF9kZWNsYXJhdGlvbmZpZWxkX2RlY2xhcmF0aW9ubW9kZWxfY29udGVudHNmaWVsZF90eXBldW5zdXBwb3J0ZWRfdHlwZWJhc2VfdHlwZXVuc3VwcG9ydGVkX29wdGlvbmFsX2xpc3RfdHlwZWxpc3RfdHlwZW9wdGlvbmFsX3R5cGVsZWdhY3lfcmVxdWlyZWRfdHlwZWxlZ2FjeV9saXN0X3R5cGV0eXBlX2FsaWFzY29uZmlnX2Jsb2Nra2V5X3ZhbHVlY29uZmlnX2NvbnRlbnRzYXJiaXRyYXJ5X2Jsb2NrZW51bV9kZWNsYXJhdGlvbmVudW1fdmFsdWVfZGVjbGFyYXRpb25lbnVtX2NvbnRlbnRzYmxvY2tfYXR0cmlidXRlZmllbGRfYXR0cmlidXRlYXJndW1lbnRzX2xpc3Rhcmd1bWVudGVtcHR5X2FyZ3VtZW50bmFtZWRfYXJndW1lbnR0cmFpbGluZ19jb21tYWNvbW1lbnRfYmxvY2t0cmFpbGluZ19jb21tZW50ZG9jX2NvbW1lbnRjb21tZW50ZG9jX2NvbnRlbnRtdWx0aV9saW5lX2NvbW1lbnR1bmljb2RlX2FscGhhbnVtZXJpY2lkZW50aWZpZXJXSElURVNQQUNFTkVXTElORWVtcHR5X2xpbmVzQkxPQ0tfT1BFTkJMT0NLX0NMT1NFRU5VTV9LRVlXT1JETU9ERUxfS0VZV09SRFRZUEVfS0VZV09SRFZJRVdfS0VZV09SREdFTkVSQVRPUl9LRVlXT1JEREFUQVNPVVJDRV9LRVlXT1JETEVHQUNZX0NPTE9OQ0FUQ0hfQUxMQkxPQ0tfTEVWRUxfQ0FUQ0hfQUxMZnVuY3Rpb25fY2FsbGFycmF5X2V4cHJlc3Npb25vYmplY3RfZXhwcmVzc2lvbmV4cHJlc3Npb25udW1lcmljX2xpdGVyYWxBU0NJSV9DT05UUk9MX0NIQVJBQ1RFUnN0cmluZ19lc2NhcGVzdHJpbmdfY29udGVudHN0cmluZ19saXRlcmFsU3RhcnRwb3NFbmRhIGJ5dGUgYXJyYXlhbiBpbnRlZ2VyYSBmbG9hdGEgY2hhcmFuIG9wdGlvbmFsYSBzZXF1ZW5jZWEgdHVwbGVhIHR1cGxlIHN0cnVjdDEgZWxlbWVudCBpbiBtYXAxIGVsZW1lbnQgaW4gc2VxdWVuY2VieXRlIGFycmF5dW5pdCB2YWx1ZU9wdGlvbiB2YWx1ZW5ld3R5cGUgc3RydWN0c2VxdWVuY2VtYXB1bml0IHZhcmlhbnRuZXd0eXBlIHZhcmlhbnR0dXBsZSB2YXJpYW50c3RydWN0IHZhcmlhbnR1bml0dTMyYSBib29sZWFuYSBzdHJpbmdleHBsaWNpdCBwYW5pYwD7UBAAYgAAACQJAAASAAAAb25lIG9mIAAAAAAACAAAAAQAAACBAwAAggMAAIMDAAAu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hNMXjCQKH4NGyOtfdOioJQAAbBoSAAEAAABwGhIAAQAAAHQaEgABAAAAeBoSAAEAAAB8GhIAAgAAAIQaEgADAAAAkBoSAAUAAACkGhIACgAAAMwaEgATAAAAGBsSACYAAACwGxIASwAAANwcEgCVAAAAMB8SACoBAADYIxIAUwIAALU+EABoAAAAmAEAABYAAAC1PhAAaAAAALMBAAAkAAAAtT4QAGgAAABBAQAALAAAAGZtdCBlcnJvckFycmF5IE9iamVjdCBhbnkgdmFsaWQgSlNPTiB2YWx1ZXJhdyB2YWx1ZUVPRiB3aGlsZSBwYXJzaW5nIGEgbGlzdEVPRiB3aGlsZSBwYXJzaW5nIGFuIG9iamVjdEVPRiB3aGlsZSBwYXJzaW5nIGEgc3RyaW5nRU9GIHdoaWxlIHBhcnNpbmcgYSB2YWx1ZWV4cGVjdGVkIGA6YGV4cGVjdGVkIGAsYCBvciBgXWBleHBlY3RlZCBgLGAgb3IgYH1gZXhwZWN0ZWQgaWRlbnRleHBlY3RlZCB2YWx1ZWV4cGVjdGVkIGAiYGludmFsaWQgZXNjYXBlaW52YWxpZCBudW1iZXJudW1iZXIgb3V0IG9mIHJhbmdlaW52YWxpZCB1bmljb2RlIGNvZGUgcG9pbnRjb250cm9sIGNoYXJhY3RlciAoXHUwMDAwLVx1MDAxRikgZm91bmQgd2hpbGUgcGFyc2luZyBhIHN0cmluZ2tleSBtdXN0IGJlIGEgc3RyaW5naW52YWxpZCB2YWx1ZTogZXhwZWN0ZWQga2V5IHRvIGJlIGEgbnVtYmVyIGluIHF1b3Rlc2Zsb2F0IGtleSBtdXN0IGJlIGZpbml0ZSAoZ290IE5hTiBvciArLy1pbmYpbG9uZSBsZWFkaW5nIHN1cnJvZ2F0ZSBpbiBoZXggZXNjYXBldHJhaWxpbmcgY29tbWF0cmFpbGluZyBjaGFyYWN0ZXJzdW5leHBlY3RlZCBlbmQgb2YgaGV4IGVzY2FwZXJlY3Vyc2lvbiBsaW1pdCBleGNlZWRlZAA/MxAAZQAAALkBAAAuAAAAMFgQAGAAAAA+AgAAJQAAAKUzEABfAAAAogIAACoAAAByYXcgdmFsdWUgd2FzIG5vdCBlbWl0dGVkAAAAPzMQAGUAAACoAgAAHgAAAL4BAAAMAAAABAAAAIQD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YWluc1NvbWVJc0VtcHR5T25lUmVsYXRpb25Jc051bGxGaWx0ZXK+AQAADAAAAAQAAACeAwAAnwMAAKADAEGAk8kAC/0SAQAAAMIBAABVbmV4cGVjdGVkV3JpdGVPcGVyYXRpb25TY2FsYXJGaWx0ZXJwcm9qZWN0aW9ubW9kZUNvbXBvc2l0ZUZpbHRlcgAAAKkcEABBAAAADwAAABsAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBUd29XYXlFbWJlZGRlZE1hbnlUb01hbnkgcmVsYXRpb24gaW4gc3FsLXF1ZXJ5LWNvbm5lY3RvcgAAijkQAFAAAABWAAAAEQAAAG5vdCBpbXBsZW1lbnRlZDogU1FMIGNvbm5lY3RvcnMgZG8gbm90IHN1cHBvcnQgY29tcG9zaXRlcyB5ZXQuAADqLhAARQAAAEsBAAAlAAAA6i4QAEUAAABWAQAAGgAAAEA+JiY8Pj1BbGwgdmlydHVhbCBmaWVsZHMgbXVzdCBiZSB2aXNpdGVkIGJlZm9yZSBjYWxsaW5nIGJ1aWxkX3ZpcnR1YWxfZXhwcgC3PRAARQAAAMEAAAAOAAAAAACAPwAAIEEAAMhCAAB6RABAHEYAUMNHACR0SYCWGEsgvL5MKGtuTvkCFVAlIhAAaAAAAB8AAAAaAAAATm90RXF1YWxzTm90Q29udGFpbnNTdGFydHNXaXRoTm90U3RhcnRzV2l0aEVuZHNXaXRoTm90RW5kc1dpdGhMZXNzVGhhbkxlc3NUaGFuT3JFcXVhbHNHcmVhdGVyVGhhbkdyZWF0ZXJUaGFuT3JFcXVhbHNJbk5vdEluSnNvbkNvbXBhcmVTZWFyY2hOb3RTZWFyY2gAAABVGxAAZQAAADgCAAAtAAAATGlzdENvdW50QXZlcmFnZVN1bU1pbk1heERhdGFzb3VyY2VGaWVsZE5hbWUwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OUJvb2xlYW5FbnVtSW50VXVpZEpzb25PYmplY3ROdWxsRGF0ZVRpbWVGbG9hdEJ5dGVzcmV0dXJuX3R5cGVBbnlGaWVsZFNldFVuc2V0QWRkU3VidHJhY3RNdWx0aXBseURpdmlkZVB1c2hVcGRhdGVVcHNlcnRzZXR1cGRhdGVVcGRhdGVNYW55ZmlsdGVyRGVsZXRlTWFueXR5cGVOZXN0ZWRXcml0ZXdyaXRlc3Jvb3Qgc2VsZWN0aW5uZXIgc2VsZWN0bWlkZGxlIHNlbGVjdG91dGVyIHNlbGVjdAAAAAAAAAgAAAAEAAAAoQMAAKIDAACjAwAApAMAAMQBAAAMAAAABAAAAKUDAACmAwAApwMAAAAAAAAIAAAABAAAAKgDAACpAwAAqgMAAKsDAACsAwAAEAAAAAQAAACtAwAArgMAAK8DAACkAwAAXPbpX9wC9rnxwXBs8mHBJNoHjEl4ZUzTwn2PTZafJs9hc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAACRWBAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAAkVgQACoAAAC3BAAADQAAAHJ3bG9jayBvdmVyZmxvd2VkIHJlYWQgbG9ja3NULRAAXQAAABUAAAAsAAAAY2Fubm90IG1vZGlmeSB0aGUgcGFuaWMgaG9vayBmcm9tIGEgcGFuaWNraW5nIHRocmVhZB5AEABMAAAAkAAAAAkAAABMYXp5TG9jayBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAABjPhAAUQAAAJ8BAAAFAAAAb3BlcmF0aW9uIHN1Y2Nlc3NmdWxXb3VsZEJsb2NrAAAAAAAACAAAAAQAAACwAwAATm90Rm91bmRQZXJtaXNzaW9uRGVuaWVkQ29ubmVjdGlvblJlZnVzZWRDb25uZWN0aW9uUmVzZXRIb3N0VW5yZWFjaGFibGVOZXR3b3JrVW5yZWFjaGFibGVDb25uZWN0aW9uQWJvcnRlZE5vdENvbm5lY3RlZEFkZHJJblVzZUFkZHJOb3RBdmFpbGFibGVOZXR3b3JrRG93bkJyb2tlblBpcGVBbHJlYWR5RXhpc3RzTm90QURpcmVjdG9yeUlzQURpcmVjdG9yeURpcmVjdG9yeU5vdEVtcHR5UmVhZE9ubHlGaWxlc3lzdGVtRmlsZXN5c3RlbUxvb3BTdGFsZU5ldHdvcmtGaWxlSGFuZGxlSW52YWxpZElucHV0SW52YWxpZERhdGFUaW1lZE91dFdyaXRlWmVyb1N0b3JhZ2VGdWxsTm90U2Vla2FibGVRdW90YUV4Y2VlZGVkRmlsZVRvb0xhcmdlUmVzb3VyY2VCdXN5RXhlY3V0YWJsZUZpbGVCdXN5RGVhZGxvY2tDcm9zc2VzRGV2aWNlc1Rvb01hbnlMaW5rc0ludmFsaWRGaWxlbmFtZUFyZ3VtZW50TGlzdFRvb0xvbmdJbnRlcnJ1cHRlZFVuc3VwcG9ydGVkVW5leHBlY3RlZEVvZk91dE9mTWVtb3J5SW5Qcm9ncmVzc090aGVyVW5jYXRlZ29yaXplZE9zY29kZWtpbmRtZXNzYWdlS2luZEN1c3RvbWVycm9ycGFuaWNrZWQgYXQgxAEAAAwAAAAEAAAAsQMAAHJ3bG9jayBoYXMgbm90IGJlZW4gbG9ja2VkIGZvciByZWFkaW5nAABULRAAXQAAAD4AAAAJAAAAwyAAAGkgAADDIAAAaRAAAMMgAABpAgAAY2Fubm90IGVudGVyIGEgdGFzay1sb2NhbCBzY29wZSB3aGlsZSB0aGUgdGFzay1sb2NhbCBzdG9yYWdlIGlzIGJvcnJvd2VkY2Fubm90IGVudGVyIGEgdGFzay1sb2NhbCBzY29wZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24gb2YgdGhlIHVuZGVybHlpbmcgdGhyZWFkLWxvY2FsAgICAgICAgICAgIAQZqmyQALCAICAAAAAAACAEHRpskACwECAEH3pskACwEBAEGSp8kACwEBAEH0p8kAC58Bl1kQAFsAAABsAAAAGAAAAJdZEABbAAAAbQAAACUAAACXWRAAWwAAAGUAAAAlAAAAl1kQAFsAAABfAAAAJQAAAEF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkAADQLBAAgwAAAGsAAAANAAAAAAAAAP//////////iFQSAEGgqckACyN1dXV1dXV1dWJ0bnVmcnV1dXV1dXV1dXV1dXV1dXV1dQAAIgBB/KnJAAsBXABBoKvJAAvWBGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUzLhAAbQAAAMgAAAAWAAAAYXR0ZW1wdCB0byBqb2luIGludG8gY29sbGVjdGlvbiB3aXRoIGxlbiA+IHVzaXplOjpNQVgAAAAzLhAAbQAAAK8AAAAKAAAAbmFtZWZpZWxkc3R5cGVOYW1laXNSZWxhdGlvbm9iamVjdHNjYWxhcmxpc3RlbGVtZW50VHlwZWVudW10eXBlTmFtZXNyZXF1aXJlZG1pbkZpZWxkQ291bnRtYXhGaWVsZENvdW50cmVxdWlyZWRGaWVsZHNVbmV4cGVjdGVkUnVudGltZUVycm9yRW1wdHlTZWxlY3Rpb25JbnZhbGlkQXJndW1lbnRUeXBlSW52YWxpZEFyZ3VtZW50VmFsdWVTb21lRmllbGRzTWlzc2luZ1Rvb01hbnlGaWVsZHNHaXZlblNlbGVjdGlvblNldE9uU2NhbGFyUmVxdWlyZWRBcmd1bWVudE1pc3NpbmdVbmlvblVua25vd25Bcmd1bWVudFVua25vd25JbnB1dEZpZWxkVW5rbm93blNlbGVjdGlvbkZpZWxkVmFsdWVUb29MYXJnZT8zEABlAAAAmwEAAC4AAABzZXJpYWxpemVfdmFsdWUgY2FsbGVkIGJlZm9yZSBzZXJpYWxpemVfa2V5AD8zEABlAAAAqAEAAB8AAAA/MxAAZQAAAK8BAAAuAAAAM0YQAGEAAAA7AAAAIwAAAL4BAAAMAAAABAAAALIDAACzAwAAtAMAQYCwyQAL5QMBAAAAwgEAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAaVsQAF0AAACFCQAANAAAAG1pZCA+IGxlbkV4cGVjdGVkIGEgbWluaW11bSBvZiAxIGZpZWxkIHRvIGJlIHByZXNlbnQsIGdvdCAwb3V0cHV0VHlwZXNlbGVjdGlvblBhdGgAAIcBAAAEAAAABAAAAIgBAAA/OhAANgAAAH8AAAAYAAAAQXJndW1lbnQgcGF0aCBjYW5ub3Qgbm90IGJlIGVtcHR5AAAAPzoQADYAAAD/AQAAMgAAAEJpZ0ludGFyZ3VtZW50UGF0aAAAPzoQADYAAAAHAgAAGAAAAEFyZ3VtZW50IGRvZXMgbm90IGV4aXN0IGluIGVuY2xvc2luZyB0eXBlYXJndW1lbnRzAAA/OhAANgAAAHEBAAARAAAAaW5wdXRUeXBlY29uc3RyYWludHM/OhAANgAAAPIAAAARAAAAPzoQADYAAACgAQAAEQAAACwgaW5mZXJyZWRUeXBlAAA/OhAANgAAAKcAAAARAAAAPzoQADYAAAAJAQAAEQAAAD86EAA2AAAAygAAADIAAAB1bmRlcmx5aW5nRXJyb3IAPzoQADYAAADRAAAAGABB+7PJAAsBgABBmLTJAAvTGz86EAA2AAAA1gAAABgAAABmaWVsZE5hbWUAAAA/OhAANgAAANgBAAAYAAAAU2VsZWN0aW9uIHBhdGggbXVzdCBub3QgYmUgZW1wdHk/OhAANgAAALcBAAAjAAAAPzoQADYAAAC9AQAAGAAAAGlucHV0VHlwZXMAAD86EAA2AAAAJQEAABEAAABkZXBlbmRlbnRBcmd1bWVudFBhdGgAAAA/OhAANgAAAEwBAAAYAAAAZXJyb3JzAAA/OhAANgAAAOUBAAAYAAAAM0YQAGEAAABYAQAAOAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAbT8QAHAAAABxCwAADgAAAEVycm9yAAAAaVsQAF0AAACCCQAANgAAAAAAAAAJAAAADgAAABMAAAAYAAAAMDEyMzQ1Njc4OWFiY2RlZv///////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4P//////////////////////////////////8KCwwNDg////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AECAwQFBgcICQoLDA0ODw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EQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAAgAAAAQAAAAEQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAAgAAAAQAAAAEQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAADQAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAALBPEgC4TxIAyE8SANlPEgDoTxIA908SAAlQEgAaUBIAJlASAC9QEgA/UBIASlASAFRQEgCUTxIAYVASAG5QEgB6UBIAi1ASAJ1QEgCrUBIAwVASAM1QEgDYUBIA4FASAOlQEgD0UBIA/1ASAAxREgAYURIAJFESADZREgA+URIATFESAFhREgBnURIAelESAIVREgCQURIAnVESAKhREgCyURIAt1ESAEGQ68kACwLkAQBBiOzJAAsE/////wBBqOzJAAsCpAIAQbjsyQALDQEAAADBAgAAAAAAAAQ="; +export { + wasm +}; diff --git a/apps/api/.output/dist/chunks/source-SMPGMLTA.js b/apps/api/.output/dist/chunks/source-SMPGMLTA.js new file mode 100644 index 0000000..9c45426 --- /dev/null +++ b/apps/api/.output/dist/chunks/source-SMPGMLTA.js @@ -0,0 +1,4507 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + require_src +} from "./chunk-C4DYPKAN.js"; +import "./chunk-A34KYKJP.js"; +import { + __commonJS, + __esm, + __name, + __toESM +} from "./chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +var require_ieee754 = __commonJS({ + "../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js"(exports) { + exports.read = function(buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) { + } + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + }; + exports.write = function(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) { + } + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) { + } + buffer[offset + i - d] |= s * 128; + }; + } +}); + +// ../../node_modules/.pnpm/@borewit+text-codec@0.2.2/node_modules/@borewit/text-codec/lib/index.js +function utf8Decoder() { + if (typeof globalThis.TextDecoder === "undefined") + return void 0; + return _utf8Decoder !== null && _utf8Decoder !== void 0 ? _utf8Decoder : _utf8Decoder = new globalThis.TextDecoder("utf-8"); +} +function textDecode(bytes, encoding = "utf-8") { + switch (encoding.toLowerCase()) { + case "utf-8": + case "utf8": { + const dec = utf8Decoder(); + return dec ? dec.decode(bytes) : decodeUTF8(bytes); + } + case "utf-16le": + return decodeUTF16LE(bytes); + case "us-ascii": + case "ascii": + return decodeASCII(bytes); + case "latin1": + case "iso-8859-1": + return decodeLatin1(bytes); + case "windows-1252": + return decodeWindows1252(bytes); + default: + throw new RangeError(`Encoding '${encoding}' not supported`); + } +} +function flushChunk(parts, chunk) { + if (chunk.length === 0) + return; + parts.push(String.fromCharCode.apply(null, chunk)); + chunk.length = 0; +} +function pushCodeUnit(parts, chunk, codeUnit) { + chunk.push(codeUnit); + if (chunk.length >= CHUNK) + flushChunk(parts, chunk); +} +function pushCodePoint(parts, chunk, cp) { + if (cp <= 65535) { + pushCodeUnit(parts, chunk, cp); + return; + } + cp -= 65536; + pushCodeUnit(parts, chunk, 55296 + (cp >> 10)); + pushCodeUnit(parts, chunk, 56320 + (cp & 1023)); +} +function decodeUTF8(bytes) { + const parts = []; + const chunk = []; + let i = 0; + if (bytes.length >= 3 && bytes[0] === 239 && bytes[1] === 187 && bytes[2] === 191) { + i = 3; + } + while (i < bytes.length) { + const b1 = bytes[i]; + if (b1 <= 127) { + pushCodeUnit(parts, chunk, b1); + i++; + continue; + } + if (b1 < 194 || b1 > 244) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + if (b1 <= 223) { + if (i + 1 >= bytes.length) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const b22 = bytes[i + 1]; + if ((b22 & 192) !== 128) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const cp2 = (b1 & 31) << 6 | b22 & 63; + pushCodeUnit(parts, chunk, cp2); + i += 2; + continue; + } + if (b1 <= 239) { + if (i + 2 >= bytes.length) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const b22 = bytes[i + 1]; + const b32 = bytes[i + 2]; + const valid2 = (b22 & 192) === 128 && (b32 & 192) === 128 && !(b1 === 224 && b22 < 160) && // overlong + !(b1 === 237 && b22 >= 160); + if (!valid2) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const cp2 = (b1 & 15) << 12 | (b22 & 63) << 6 | b32 & 63; + pushCodeUnit(parts, chunk, cp2); + i += 3; + continue; + } + if (i + 3 >= bytes.length) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const b2 = bytes[i + 1]; + const b3 = bytes[i + 2]; + const b4 = bytes[i + 3]; + const valid = (b2 & 192) === 128 && (b3 & 192) === 128 && (b4 & 192) === 128 && !(b1 === 240 && b2 < 144) && // overlong + !(b1 === 244 && b2 > 143); + if (!valid) { + pushCodeUnit(parts, chunk, REPLACEMENT); + i++; + continue; + } + const cp = (b1 & 7) << 18 | (b2 & 63) << 12 | (b3 & 63) << 6 | b4 & 63; + pushCodePoint(parts, chunk, cp); + i += 4; + } + flushChunk(parts, chunk); + return parts.join(""); +} +function decodeUTF16LE(bytes) { + const parts = []; + const chunk = []; + const len = bytes.length; + let i = 0; + while (i + 1 < len) { + const u1 = bytes[i] | bytes[i + 1] << 8; + i += 2; + if (u1 >= 55296 && u1 <= 56319) { + if (i + 1 < len) { + const u2 = bytes[i] | bytes[i + 1] << 8; + if (u2 >= 56320 && u2 <= 57343) { + pushCodeUnit(parts, chunk, u1); + pushCodeUnit(parts, chunk, u2); + i += 2; + } else { + pushCodeUnit(parts, chunk, REPLACEMENT); + } + } else { + pushCodeUnit(parts, chunk, REPLACEMENT); + } + continue; + } + if (u1 >= 56320 && u1 <= 57343) { + pushCodeUnit(parts, chunk, REPLACEMENT); + continue; + } + pushCodeUnit(parts, chunk, u1); + } + if (i < len) { + pushCodeUnit(parts, chunk, REPLACEMENT); + } + flushChunk(parts, chunk); + return parts.join(""); +} +function decodeASCII(bytes) { + const parts = []; + for (let i = 0; i < bytes.length; i += CHUNK) { + const end = Math.min(bytes.length, i + CHUNK); + const codes = new Array(end - i); + for (let j = i, k = 0; j < end; j++, k++) { + codes[k] = bytes[j] & 127; + } + parts.push(String.fromCharCode.apply(null, codes)); + } + return parts.join(""); +} +function decodeLatin1(bytes) { + const parts = []; + for (let i = 0; i < bytes.length; i += CHUNK) { + const end = Math.min(bytes.length, i + CHUNK); + const codes = new Array(end - i); + for (let j = i, k = 0; j < end; j++, k++) { + codes[k] = bytes[j]; + } + parts.push(String.fromCharCode.apply(null, codes)); + } + return parts.join(""); +} +function decodeWindows1252(bytes) { + const parts = []; + let out = ""; + for (let i = 0; i < bytes.length; i++) { + const b = bytes[i]; + const extra = b >= 128 && b <= 159 ? WINDOWS_1252_EXTRA[b] : void 0; + out += extra !== null && extra !== void 0 ? extra : String.fromCharCode(b); + if (out.length >= CHUNK) { + parts.push(out); + out = ""; + } + } + if (out) + parts.push(out); + return parts.join(""); +} +var WINDOWS_1252_EXTRA, WINDOWS_1252_REVERSE, _utf8Decoder, CHUNK, REPLACEMENT; +var init_lib = __esm({ + "../../node_modules/.pnpm/@borewit+text-codec@0.2.2/node_modules/@borewit/text-codec/lib/index.js"() { + WINDOWS_1252_EXTRA = { + 128: "\u20AC", + 130: "\u201A", + 131: "\u0192", + 132: "\u201E", + 133: "\u2026", + 134: "\u2020", + 135: "\u2021", + 136: "\u02C6", + 137: "\u2030", + 138: "\u0160", + 139: "\u2039", + 140: "\u0152", + 142: "\u017D", + 145: "\u2018", + 146: "\u2019", + 147: "\u201C", + 148: "\u201D", + 149: "\u2022", + 150: "\u2013", + 151: "\u2014", + 152: "\u02DC", + 153: "\u2122", + 154: "\u0161", + 155: "\u203A", + 156: "\u0153", + 158: "\u017E", + 159: "\u0178" + }; + WINDOWS_1252_REVERSE = {}; + for (const [code, char] of Object.entries(WINDOWS_1252_EXTRA)) { + WINDOWS_1252_REVERSE[char] = Number.parseInt(code, 10); + } + __name(utf8Decoder, "utf8Decoder"); + CHUNK = 32 * 1024; + REPLACEMENT = 65533; + __name(textDecode, "textDecode"); + __name(flushChunk, "flushChunk"); + __name(pushCodeUnit, "pushCodeUnit"); + __name(pushCodePoint, "pushCodePoint"); + __name(decodeUTF8, "decodeUTF8"); + __name(decodeUTF16LE, "decodeUTF16LE"); + __name(decodeASCII, "decodeASCII"); + __name(decodeLatin1, "decodeLatin1"); + __name(decodeWindows1252, "decodeWindows1252"); + } +}); + +// ../../node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js +function dv(array) { + return new DataView(array.buffer, array.byteOffset); +} +var ieee754, UINT8, UINT16_LE, UINT16_BE, UINT32_LE, UINT32_BE, INT32_BE, UINT64_LE, StringType; +var init_lib2 = __esm({ + "../../node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js"() { + ieee754 = __toESM(require_ieee754(), 1); + init_lib(); + __name(dv, "dv"); + UINT8 = { + len: 1, + get(array, offset) { + return dv(array).getUint8(offset); + }, + put(array, offset, value) { + dv(array).setUint8(offset, value); + return offset + 1; + } + }; + UINT16_LE = { + len: 2, + get(array, offset) { + return dv(array).getUint16(offset, true); + }, + put(array, offset, value) { + dv(array).setUint16(offset, value, true); + return offset + 2; + } + }; + UINT16_BE = { + len: 2, + get(array, offset) { + return dv(array).getUint16(offset); + }, + put(array, offset, value) { + dv(array).setUint16(offset, value); + return offset + 2; + } + }; + UINT32_LE = { + len: 4, + get(array, offset) { + return dv(array).getUint32(offset, true); + }, + put(array, offset, value) { + dv(array).setUint32(offset, value, true); + return offset + 4; + } + }; + UINT32_BE = { + len: 4, + get(array, offset) { + return dv(array).getUint32(offset); + }, + put(array, offset, value) { + dv(array).setUint32(offset, value); + return offset + 4; + } + }; + INT32_BE = { + len: 4, + get(array, offset) { + return dv(array).getInt32(offset); + }, + put(array, offset, value) { + dv(array).setInt32(offset, value); + return offset + 4; + } + }; + UINT64_LE = { + len: 8, + get(array, offset) { + return dv(array).getBigUint64(offset, true); + }, + put(array, offset, value) { + dv(array).setBigUint64(offset, value, true); + return offset + 8; + } + }; + StringType = class { + static { + __name(this, "StringType"); + } + constructor(len, encoding) { + this.len = len; + this.encoding = encoding; + } + get(data, offset = 0) { + const bytes = data.subarray(offset, offset + this.len); + return textDecode(bytes, this.encoding); + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Errors.js +var defaultMessages, EndOfStreamError, AbortError; +var init_Errors = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Errors.js"() { + defaultMessages = "End-Of-Stream"; + EndOfStreamError = class extends Error { + static { + __name(this, "EndOfStreamError"); + } + constructor() { + super(defaultMessages); + this.name = "EndOfStreamError"; + } + }; + AbortError = class extends Error { + static { + __name(this, "AbortError"); + } + constructor(message = "The operation was aborted") { + super(message); + this.name = "AbortError"; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbortSignal.js +function throwIfAborted(signal) { + if (signal?.aborted) { + throw new AbortError(); + } +} +var init_AbortSignal = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbortSignal.js"() { + init_Errors(); + __name(throwIfAborted, "throwIfAborted"); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferSizeError.js +function getMaxBufferSize(options) { + const limit = options?.maxBufferSize ?? Number.POSITIVE_INFINITY; + if (limit !== Number.POSITIVE_INFINITY && (!Number.isSafeInteger(limit) || limit <= 0)) { + throw new RangeError("maxBufferSize must be a positive safe integer or Infinity"); + } + return limit; +} +var BufferSizeError; +var init_BufferSizeError = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferSizeError.js"() { + BufferSizeError = class extends RangeError { + static { + __name(this, "BufferSizeError"); + } + /** + * Create an error describing an allocation that exceeds the configured limit. + * @param requestedSize - Requested buffer size in bytes + * @param maxBufferSize - Configured maximum buffer size in bytes + */ + constructor(requestedSize, maxBufferSize) { + super(`Requested buffer size ${requestedSize} exceeds maxBufferSize ${maxBufferSize}`); + this.requestedSize = requestedSize; + this.maxBufferSize = maxBufferSize; + this.name = "BufferSizeError"; + } + }; + __name(getMaxBufferSize, "getMaxBufferSize"); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/AbstractStreamReader.js +var AbstractStreamReader; +var init_AbstractStreamReader = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/AbstractStreamReader.js"() { + init_Errors(); + AbstractStreamReader = class { + static { + __name(this, "AbstractStreamReader"); + } + constructor() { + this.endOfStream = false; + this.interrupted = false; + this.peekQueue = []; + } + async peek(uint8Array, mayBeLess = false) { + const bytesRead = await this.read(uint8Array, mayBeLess); + this.peekQueue.push(uint8Array.subarray(0, bytesRead)); + return bytesRead; + } + async read(buffer, mayBeLess = false) { + if (buffer.length === 0) { + return 0; + } + let bytesRead = this.readFromPeekBuffer(buffer); + if (!this.endOfStream) { + bytesRead += await this.readRemainderFromStream(buffer.subarray(bytesRead), mayBeLess); + } + if (bytesRead === 0 && !mayBeLess) { + throw new EndOfStreamError(); + } + return bytesRead; + } + /** + * Read chunk from stream + * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in + * @returns Number of bytes read + */ + readFromPeekBuffer(buffer) { + let remaining = buffer.length; + let bytesRead = 0; + while (this.peekQueue.length > 0 && remaining > 0) { + const peekData = this.peekQueue.pop(); + if (!peekData) { + throw new Error("peekData should be defined"); + } + const lenCopy = Math.min(peekData.length, remaining); + buffer.set(peekData.subarray(0, lenCopy), bytesRead); + bytesRead += lenCopy; + remaining -= lenCopy; + if (lenCopy < peekData.length) { + this.peekQueue.push(peekData.subarray(lenCopy)); + } + } + return bytesRead; + } + async readRemainderFromStream(buffer, mayBeLess) { + let bytesRead = 0; + while (bytesRead < buffer.length && !this.endOfStream) { + if (this.interrupted) { + throw new AbortError(); + } + const chunkLen = await this.readFromStream(buffer.subarray(bytesRead), mayBeLess); + if (chunkLen === 0) { + break; + } + bytesRead += chunkLen; + } + if (!mayBeLess && bytesRead < buffer.length) { + throw new EndOfStreamError(); + } + return bytesRead; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Deferred.js +var init_Deferred = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/Deferred.js"() { + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/StreamReader.js +var init_StreamReader = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/StreamReader.js"() { + init_AbstractStreamReader(); + init_Deferred(); + init_Errors(); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReader.js +var WebStreamReader; +var init_WebStreamReader = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReader.js"() { + init_AbstractStreamReader(); + WebStreamReader = class extends AbstractStreamReader { + static { + __name(this, "WebStreamReader"); + } + constructor(reader) { + super(); + this.reader = reader; + } + async abort() { + return this.close(); + } + async close() { + this.reader.releaseLock(); + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamByobReader.js +var WebStreamByobReader; +var init_WebStreamByobReader = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamByobReader.js"() { + init_WebStreamReader(); + WebStreamByobReader = class extends WebStreamReader { + static { + __name(this, "WebStreamByobReader"); + } + /** + * Read from stream + * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in + * @param mayBeLess - If true, may fill the buffer partially + * @protected Bytes read + */ + async readFromStream(buffer, mayBeLess) { + if (buffer.length === 0) { + return 0; + } + const result = await this.reader.read(new Uint8Array(buffer.length), { + min: mayBeLess ? void 0 : buffer.length + }); + if (result.done) { + this.endOfStream = result.done; + } + if (result.value) { + buffer.set(result.value); + return result.value.length; + } + return 0; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +var WebStreamDefaultReader; +var init_WebStreamDefaultReader = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js"() { + init_AbstractStreamReader(); + init_Errors(); + WebStreamDefaultReader = class extends AbstractStreamReader { + static { + __name(this, "WebStreamDefaultReader"); + } + constructor(reader) { + super(); + this.reader = reader; + this.buffer = null; + } + /** + * Copy chunk to target, and store the remainder in this.buffer + */ + writeChunk(target, chunk) { + const written = Math.min(chunk.length, target.length); + target.set(chunk.subarray(0, written)); + if (written < chunk.length) { + this.buffer = chunk.subarray(written); + } else { + this.buffer = null; + } + return written; + } + /** + * Read from stream + * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in + * @param mayBeLess - If true, may fill the buffer partially + * @protected Bytes read + */ + async readFromStream(buffer, mayBeLess) { + if (buffer.length === 0) { + return 0; + } + let totalBytesRead = 0; + if (this.buffer) { + totalBytesRead += this.writeChunk(buffer, this.buffer); + } + while (totalBytesRead < buffer.length && !this.endOfStream) { + const result = await this.reader.read(); + if (result.done) { + this.endOfStream = true; + break; + } + if (result.value) { + totalBytesRead += this.writeChunk(buffer.subarray(totalBytesRead), result.value); + } + } + if (!mayBeLess && totalBytesRead === 0 && this.endOfStream) { + throw new EndOfStreamError(); + } + return totalBytesRead; + } + abort() { + this.interrupted = true; + return this.reader.cancel(); + } + async close() { + try { + await this.abort(); + } finally { + this.reader.releaseLock(); + } + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +function makeWebStreamReader(stream) { + try { + const reader = stream.getReader({ mode: "byob" }); + if (reader instanceof ReadableStreamDefaultReader) { + return new WebStreamDefaultReader(reader); + } + return new WebStreamByobReader(reader); + } catch (error) { + if (error instanceof TypeError) { + return new WebStreamDefaultReader(stream.getReader()); + } + throw error; + } +} +var init_WebStreamReaderFactory = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js"() { + init_WebStreamByobReader(); + init_WebStreamDefaultReader(); + __name(makeWebStreamReader, "makeWebStreamReader"); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/index.js +var init_stream = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/stream/index.js"() { + init_Errors(); + init_StreamReader(); + init_WebStreamByobReader(); + init_WebStreamDefaultReader(); + init_WebStreamReaderFactory(); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbstractTokenizer.js +var AbstractTokenizer; +var init_AbstractTokenizer = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/AbstractTokenizer.js"() { + init_AbortSignal(); + init_BufferSizeError(); + init_stream(); + AbstractTokenizer = class { + static { + __name(this, "AbstractTokenizer"); + } + /** + * Constructor + * @param options Tokenizer options + * @protected + */ + constructor(options) { + this.numBuffer = new Uint8Array(8); + this.position = 0; + this.maxBufferSize = getMaxBufferSize(options); + throwIfAborted(options?.abortSignal); + this.onClose = options?.onClose; + if (options?.abortSignal) { + this.addAbortListener(options.abortSignal, () => { + void this.abort().catch(() => { + }); + }); + } + } + addAbortListener(signal, listener) { + this.abortSignal = signal; + this.abortListener = listener; + signal.addEventListener("abort", listener, { once: true }); + } + removeAbortListener() { + if (this.abortListener) { + this.abortSignal?.removeEventListener("abort", this.abortListener); + } + this.abortSignal = void 0; + this.abortListener = void 0; + } + /** + * Read a token from the tokenizer-stream + * @param token - The token to read + * @param position - If provided, the desired position in the tokenizer-stream + * @returns Promise with token data + */ + async readToken(token, position = this.position) { + this.validateTokenRead(token.len, position); + const uint8Array = new Uint8Array(token.len); + const len = await this.readBuffer(uint8Array, { position }); + if (len < token.len) { + throw new EndOfStreamError(); + } + return token.get(uint8Array, 0); + } + /** + * Peek a token from the tokenizer-stream. + * @param token - Token to peek from the tokenizer-stream. + * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position. + * @returns Promise with token data + */ + async peekToken(token, position = this.position) { + const peekPosition = position ?? this.position; + this.validateTokenRead(token.len, peekPosition, true); + const uint8Array = new Uint8Array(token.len); + const len = await this.peekBuffer(uint8Array, { position: peekPosition }); + if (len < token.len) { + throw new EndOfStreamError(); + } + return token.get(uint8Array, 0); + } + /** + * Read a numeric token from the stream + * @param token - Numeric token + * @returns Promise with number + */ + async readNumber(token) { + const len = await this.readBuffer(this.numBuffer, { length: token.len }); + if (len < token.len) { + throw new EndOfStreamError(); + } + return token.get(this.numBuffer, 0); + } + /** + * Read a numeric token from the stream + * @param token - Numeric token + * @returns Promise with number + */ + async peekNumber(token) { + const len = await this.peekBuffer(this.numBuffer, { length: token.len }); + if (len < token.len) { + throw new EndOfStreamError(); + } + return token.get(this.numBuffer, 0); + } + /** + * Ignore number of bytes, advances the pointer in under tokenizer-stream. + * @param length - Number of bytes to ignore. Must be ≥ 0. + * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available + */ + async ignore(length) { + if (length < 0) { + throw new RangeError("ignore length must be \u2265 0 bytes"); + } + this.validateLength(length, "ignore length"); + this.validateLength(this.position + length, "end position"); + if (this.fileInfo.size !== void 0) { + const bytesLeft = this.fileInfo.size - this.position; + if (length > bytesLeft) { + this.position += bytesLeft; + return bytesLeft; + } + } + this.position += length; + return length; + } + async close() { + this.removeAbortListener(); + await this.abort(); + await this.onClose?.(); + } + /** + * Validate a byte length or position before using it in buffer calculations. + * @param value - Value that must be a non-negative safe integer + * @param name - Label used in the validation error + * @throws RangeError if the value is negative or not a safe integer + */ + validateLength(value, name) { + if (!Number.isSafeInteger(value) || value < 0) { + throw new RangeError(`${name} must be a non-negative safe integer`); + } + } + /** + * Validate a requested buffer size against the configured allocation limit. + * @param length - Requested buffer size in bytes + * @throws RangeError if the length is negative or not a safe integer + * @throws BufferSizeError if the length exceeds maxBufferSize + */ + validateBufferSize(length) { + this.validateLength(length, "buffer length"); + if (length > this.maxBufferSize) { + throw new BufferSizeError(length, this.maxBufferSize); + } + } + /** + * Validate a token request before allocating a buffer or consuming input. + * @param length - Token length in bytes + * @param position - Byte offset where the token starts + * @param peek - Whether to include skipped stream bytes in the lookahead limit + * @throws RangeError if a length or position is negative or not a safe integer + * @throws BufferSizeError if the token buffer or stream lookahead exceeds maxBufferSize + * @throws Error if a stream request starts before the current position + * @throws EndOfStreamError if the token extends beyond the known input size + */ + validateTokenRead(length, position, peek = false) { + this.validateBufferSize(length); + this.validateLength(position, "position"); + this.validateLength(position + length, "end position"); + if (!this.supportsRandomAccess() && position < this.position) { + throw new Error("`options.position` must be equal or greater than `tokenizer.position`"); + } + if (peek && !this.supportsRandomAccess()) { + this.validateBufferSize(length + position - this.position); + } + if (this.fileInfo.size !== void 0 && length > this.fileInfo.size - position) { + throw new EndOfStreamError(); + } + } + /** + * Apply defaults and validate buffer read or peek options. + * @param uint8Array - Target buffer whose length is the default read length + * @param options - Requested length, position and partial-read behavior + * @returns Validated options with an explicit length, position and mayBeLess flag + * @throws RangeError if a length or position is invalid, or the length exceeds the target buffer + * @throws Error if a stream request starts before the current position + */ + normalizeOptions(uint8Array, options) { + const length = options?.length ?? uint8Array.length; + const position = options?.position ?? this.position; + this.validateLength(length, "length"); + this.validateLength(position, "position"); + this.validateLength(position + length, "end position"); + if (length > uint8Array.length) { + throw new RangeError("length must not exceed the target buffer length"); + } + if (!this.supportsRandomAccess() && position < this.position) { + throw new Error("`options.position` must be equal or greater than `tokenizer.position`"); + } + return { length, position, mayBeLess: options?.mayBeLess ?? false }; + } + abort() { + this.removeAbortListener(); + return Promise.resolve(); + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BlobTokenizer.js +var BlobTokenizer; +var init_BlobTokenizer = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BlobTokenizer.js"() { + init_AbstractTokenizer(); + init_stream(); + BlobTokenizer = class extends AbstractTokenizer { + static { + __name(this, "BlobTokenizer"); + } + /** + * Construct BufferTokenizer + * @param blob - Uint8Array to tokenize + * @param options Tokenizer options + */ + constructor(blob, options) { + super(options); + this.blob = blob; + this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: blob.size, mimeType: blob.type } }; + } + /** + * Read buffer from tokenizer + * @param uint8Array - Uint8Array to tokenize + * @param options - Read behaviour options + * @returns {Promise} + */ + async readBuffer(uint8Array, options) { + const normOptions = this.normalizeOptions(uint8Array, options); + const bytesRead = await this.peekBuffer(uint8Array, normOptions); + this.position = normOptions.position + bytesRead; + return bytesRead; + } + /** + * Peek (read ahead) buffer from tokenizer + * @param buffer + * @param options - Read behaviour options + * @returns {Promise} + */ + async peekBuffer(buffer, options) { + const normOptions = this.normalizeOptions(buffer, options); + const bytes2read = Math.max(0, Math.min(this.blob.size - normOptions.position, normOptions.length)); + if (!normOptions.mayBeLess && bytes2read < normOptions.length) { + throw new EndOfStreamError(); + } + for (let offset = 0; offset < bytes2read; ) { + const chunkLength = Math.min(this.maxBufferSize, bytes2read - offset); + const position = normOptions.position + offset; + const arrayBuffer = await this.blob.slice(position, position + chunkLength).arrayBuffer(); + buffer.set(new Uint8Array(arrayBuffer), offset); + offset += chunkLength; + } + return bytes2read; + } + close() { + return super.close(); + } + supportsRandomAccess() { + return true; + } + setPosition(position) { + this.position = position; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferTokenizer.js +var BufferTokenizer; +var init_BufferTokenizer = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/BufferTokenizer.js"() { + init_AbstractTokenizer(); + init_stream(); + BufferTokenizer = class extends AbstractTokenizer { + static { + __name(this, "BufferTokenizer"); + } + /** + * Construct BufferTokenizer + * @param uint8Array - Uint8Array to tokenize + * @param options Tokenizer options + */ + constructor(uint8Array, options) { + super(options); + this.uint8Array = uint8Array; + this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: uint8Array.length } }; + } + /** + * Read buffer from tokenizer + * @param uint8Array - Uint8Array to tokenize + * @param options - Read behaviour options + * @returns {Promise} + */ + async readBuffer(uint8Array, options) { + const normOptions = this.normalizeOptions(uint8Array, options); + const bytesRead = await this.peekBuffer(uint8Array, normOptions); + this.position = normOptions.position + bytesRead; + return bytesRead; + } + /** + * Peek (read ahead) buffer from tokenizer + * @param uint8Array + * @param options - Read behaviour options + * @returns {Promise} + */ + async peekBuffer(uint8Array, options) { + const normOptions = this.normalizeOptions(uint8Array, options); + const bytes2read = Math.max(0, Math.min(this.uint8Array.length - normOptions.position, normOptions.length)); + if (!normOptions.mayBeLess && bytes2read < normOptions.length) { + throw new EndOfStreamError(); + } + uint8Array.set(this.uint8Array.subarray(normOptions.position, normOptions.position + bytes2read)); + return bytes2read; + } + close() { + return super.close(); + } + supportsRandomAccess() { + return true; + } + setPosition(position) { + this.position = position; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/ReadStreamTokenizer.js +var ignoreChunkSize, ReadStreamTokenizer; +var init_ReadStreamTokenizer = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/ReadStreamTokenizer.js"() { + init_AbstractTokenizer(); + init_stream(); + ignoreChunkSize = 256e3; + ReadStreamTokenizer = class extends AbstractTokenizer { + static { + __name(this, "ReadStreamTokenizer"); + } + /** + * Constructor + * @param streamReader stream-reader to read from + * @param options Tokenizer options + */ + constructor(streamReader, options) { + super(options); + this.streamReader = streamReader; + this.fileInfo = options?.fileInfo ?? {}; + } + /** + * Read buffer from tokenizer + * @param uint8Array - Target Uint8Array to fill with data read from the tokenizer-stream + * @param options - Read behaviour options + * @returns Promise with number of bytes read + */ + async readBuffer(uint8Array, options) { + const normOptions = this.normalizeOptions(uint8Array, options); + const skipBytes = normOptions.position - this.position; + if (skipBytes > 0) { + await this.ignore(skipBytes); + return this.readBuffer(uint8Array, options); + } + if (skipBytes < 0) { + throw new Error("`options.position` must be equal or greater than `tokenizer.position`"); + } + if (normOptions.length === 0) { + return 0; + } + let bytesRead = 0; + while (bytesRead < normOptions.length) { + const chunkLength = Math.min(this.maxBufferSize, normOptions.length - bytesRead); + const count = await this.streamReader.read(uint8Array.subarray(bytesRead, bytesRead + chunkLength), true); + bytesRead += count; + this.position += count; + if (count < chunkLength) { + break; + } + } + if (!normOptions.mayBeLess && bytesRead < normOptions.length) { + throw new EndOfStreamError(); + } + return bytesRead; + } + /** + * Peek (read ahead) buffer from tokenizer + * @param uint8Array - Uint8Array (or Buffer) to write data to + * @param options - Read behaviour options + * @returns Promise with number of bytes peeked + */ + async peekBuffer(uint8Array, options) { + const normOptions = this.normalizeOptions(uint8Array, options); + if (normOptions.length === 0) { + return 0; + } + const lookaheadSize = normOptions.length + normOptions.position - this.position; + this.validateBufferSize(lookaheadSize); + let bytesRead = 0; + if (normOptions.position) { + const skipBytes = normOptions.position - this.position; + if (skipBytes > 0) { + const skipBuffer = new Uint8Array(normOptions.length + skipBytes); + bytesRead = await this.peekBuffer(skipBuffer, { mayBeLess: normOptions.mayBeLess }); + const bytesPeeked = Math.max(0, bytesRead - skipBytes); + uint8Array.set(skipBuffer.subarray(skipBytes, skipBytes + bytesPeeked)); + return bytesPeeked; + } + if (skipBytes < 0) { + throw new Error("Cannot peek from a negative offset in a stream"); + } + } + if (normOptions.length > 0) { + try { + const peekBuffer = new Uint8Array(normOptions.length); + bytesRead = await this.streamReader.peek(peekBuffer, true); + uint8Array.set(peekBuffer.subarray(0, bytesRead)); + } catch (err) { + if (options?.mayBeLess && err instanceof EndOfStreamError) { + return 0; + } + throw err; + } + if (!normOptions.mayBeLess && bytesRead < normOptions.length) { + throw new EndOfStreamError(); + } + } + return bytesRead; + } + /** + * @param length Number of bytes to ignore. Must be ≥ 0. + */ + async ignore(length) { + if (length < 0) { + throw new RangeError("ignore length must be \u2265 0 bytes"); + } + this.validateLength(length, "ignore length"); + this.validateLength(this.position + length, "end position"); + const bufSize = Math.min(ignoreChunkSize, this.maxBufferSize, length); + const buf = new Uint8Array(bufSize); + let totBytesRead = 0; + while (totBytesRead < length) { + const remaining = length - totBytesRead; + const bytesRead = await this.readBuffer(buf, { length: Math.min(bufSize, remaining) }); + if (bytesRead < 0) { + return bytesRead; + } + totBytesRead += bytesRead; + } + return totBytesRead; + } + abort() { + this.removeAbortListener(); + return this.streamReader.abort(); + } + async close() { + this.removeAbortListener(); + return this.streamReader.close(); + } + supportsRandomAccess() { + return false; + } + }; + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/isRandomAccessTokenizer.js +var init_isRandomAccessTokenizer = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/isRandomAccessTokenizer.js"() { + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerBoundaryError.js +var init_TokenizerBoundaryError = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerBoundaryError.js"() { + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerView.js +var init_TokenizerView = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/TokenizerView.js"() { + init_isRandomAccessTokenizer(); + init_stream(); + init_TokenizerBoundaryError(); + } +}); + +// ../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/core.js +function fromWebStream(webStream, options) { + getMaxBufferSize(options); + throwIfAborted(options?.abortSignal); + const webStreamReader = makeWebStreamReader(webStream); + return new ReadStreamTokenizer(webStreamReader, options); +} +function fromBuffer(uint8Array, options) { + return new BufferTokenizer(uint8Array, options); +} +function fromBlob(blob, options) { + return new BlobTokenizer(blob, options); +} +var init_core = __esm({ + "../../node_modules/.pnpm/strtok3@10.6.2/node_modules/strtok3/lib/core.js"() { + init_AbortSignal(); + init_BlobTokenizer(); + init_BufferSizeError(); + init_BufferTokenizer(); + init_ReadStreamTokenizer(); + init_stream(); + init_AbstractTokenizer(); + init_BufferSizeError(); + init_isRandomAccessTokenizer(); + init_stream(); + init_TokenizerBoundaryError(); + init_TokenizerView(); + __name(fromWebStream, "fromWebStream"); + __name(fromBuffer, "fromBuffer"); + __name(fromBlob, "fromBlob"); + } +}); + +// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipToken.js +var Signature, DataDescriptor, LocalFileHeaderToken, EndOfCentralDirectoryRecordToken, FileHeader; +var init_ZipToken = __esm({ + "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipToken.js"() { + init_lib2(); + Signature = { + LocalFileHeader: 67324752, + DataDescriptor: 134695760, + CentralFileHeader: 33639248, + EndOfCentralDirectory: 101010256 + }; + DataDescriptor = { + get(array) { + return { + signature: UINT32_LE.get(array, 0), + compressedSize: UINT32_LE.get(array, 8), + uncompressedSize: UINT32_LE.get(array, 12) + }; + }, + len: 16 + }; + LocalFileHeaderToken = { + get(array) { + const flags = UINT16_LE.get(array, 6); + return { + signature: UINT32_LE.get(array, 0), + minVersion: UINT16_LE.get(array, 4), + dataDescriptor: !!(flags & 8), + compressedMethod: UINT16_LE.get(array, 8), + compressedSize: UINT32_LE.get(array, 18), + uncompressedSize: UINT32_LE.get(array, 22), + filenameLength: UINT16_LE.get(array, 26), + extraFieldLength: UINT16_LE.get(array, 28), + filename: null + }; + }, + len: 30 + }; + EndOfCentralDirectoryRecordToken = { + get(array) { + return { + signature: UINT32_LE.get(array, 0), + nrOfThisDisk: UINT16_LE.get(array, 4), + nrOfThisDiskWithTheStart: UINT16_LE.get(array, 6), + nrOfEntriesOnThisDisk: UINT16_LE.get(array, 8), + nrOfEntriesOfSize: UINT16_LE.get(array, 10), + sizeOfCd: UINT32_LE.get(array, 12), + offsetOfStartOfCd: UINT32_LE.get(array, 16), + zipFileCommentLength: UINT16_LE.get(array, 20) + }; + }, + len: 22 + }; + FileHeader = { + get(array) { + const flags = UINT16_LE.get(array, 8); + return { + signature: UINT32_LE.get(array, 0), + minVersion: UINT16_LE.get(array, 6), + dataDescriptor: !!(flags & 8), + compressedMethod: UINT16_LE.get(array, 10), + compressedSize: UINT32_LE.get(array, 20), + uncompressedSize: UINT32_LE.get(array, 24), + filenameLength: UINT16_LE.get(array, 28), + extraFieldLength: UINT16_LE.get(array, 30), + fileCommentLength: UINT16_LE.get(array, 32), + relativeOffsetOfLocalHeader: UINT32_LE.get(array, 42), + filename: null + }; + }, + len: 46 + }; + } +}); + +// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipHandler.js +function signatureToArray(signature) { + const signatureBytes = new Uint8Array(UINT32_LE.len); + UINT32_LE.put(signatureBytes, 0, signature); + return signatureBytes; +} +function indexOf(buffer, portion) { + const bufferLength = buffer.length; + const portionLength = portion.length; + if (portionLength > bufferLength) + return -1; + for (let i = 0; i <= bufferLength - portionLength; i++) { + let found = true; + for (let j = 0; j < portionLength; j++) { + if (buffer[i + j] !== portion[j]) { + found = false; + break; + } + } + if (found) { + return i; + } + } + return -1; +} +function mergeArrays(chunks) { + const totalLength = chunks.reduce((acc, curr) => acc + curr.length, 0); + const mergedArray = new Uint8Array(totalLength); + let offset = 0; + for (const chunk of chunks) { + mergedArray.set(chunk, offset); + offset += chunk.length; + } + return mergedArray; +} +var import_debug, debug, syncBufferSize, ddSignatureArray, eocdSignatureBytes, ZipHandler; +var init_ZipHandler = __esm({ + "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/ZipHandler.js"() { + init_lib2(); + import_debug = __toESM(require_src(), 1); + init_ZipToken(); + __name(signatureToArray, "signatureToArray"); + debug = (0, import_debug.default)("tokenizer:inflate"); + syncBufferSize = 256 * 1024; + ddSignatureArray = signatureToArray(Signature.DataDescriptor); + eocdSignatureBytes = signatureToArray(Signature.EndOfCentralDirectory); + ZipHandler = class _ZipHandler { + static { + __name(this, "ZipHandler"); + } + constructor(tokenizer) { + this.tokenizer = tokenizer; + this.syncBuffer = new Uint8Array(syncBufferSize); + } + async isZip() { + return await this.peekSignature() === Signature.LocalFileHeader; + } + peekSignature() { + return this.tokenizer.peekToken(UINT32_LE); + } + async findEndOfCentralDirectoryLocator() { + const randomReadTokenizer = this.tokenizer; + const chunkLength = Math.min(16 * 1024, randomReadTokenizer.fileInfo.size); + const buffer = this.syncBuffer.subarray(0, chunkLength); + await this.tokenizer.readBuffer(buffer, { position: randomReadTokenizer.fileInfo.size - chunkLength }); + for (let i = buffer.length - 4; i >= 0; i--) { + if (buffer[i] === eocdSignatureBytes[0] && buffer[i + 1] === eocdSignatureBytes[1] && buffer[i + 2] === eocdSignatureBytes[2] && buffer[i + 3] === eocdSignatureBytes[3]) { + return randomReadTokenizer.fileInfo.size - chunkLength + i; + } + } + return -1; + } + async readCentralDirectory() { + if (!this.tokenizer.supportsRandomAccess()) { + debug("Cannot reading central-directory without random-read support"); + return; + } + debug("Reading central-directory..."); + const pos = this.tokenizer.position; + const offset = await this.findEndOfCentralDirectoryLocator(); + if (offset > 0) { + debug("Central-directory 32-bit signature found"); + const eocdHeader = await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken, offset); + const files = []; + this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd); + for (let n = 0; n < eocdHeader.nrOfEntriesOfSize; ++n) { + const entry = await this.tokenizer.readToken(FileHeader); + if (entry.signature !== Signature.CentralFileHeader) { + throw new Error("Expected Central-File-Header signature"); + } + entry.filename = await this.tokenizer.readToken(new StringType(entry.filenameLength, "utf-8")); + await this.tokenizer.ignore(entry.extraFieldLength); + await this.tokenizer.ignore(entry.fileCommentLength); + files.push(entry); + debug(`Add central-directory file-entry: n=${n + 1}/${files.length}: filename=${files[n].filename}`); + } + this.tokenizer.setPosition(pos); + return files; + } + this.tokenizer.setPosition(pos); + } + async unzip(fileCb) { + const entries = await this.readCentralDirectory(); + if (entries) { + return this.iterateOverCentralDirectory(entries, fileCb); + } + let stop = false; + do { + const zipHeader = await this.readLocalFileHeader(); + if (!zipHeader) + break; + const next = fileCb(zipHeader); + stop = !!next.stop; + let fileData; + await this.tokenizer.ignore(zipHeader.extraFieldLength); + if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) { + const chunks = []; + let len = syncBufferSize; + debug("Compressed-file-size unknown, scanning for next data-descriptor-signature...."); + let nextHeaderIndex = -1; + while (nextHeaderIndex < 0 && len === syncBufferSize) { + len = await this.tokenizer.peekBuffer(this.syncBuffer, { mayBeLess: true }); + nextHeaderIndex = indexOf(this.syncBuffer.subarray(0, len), ddSignatureArray); + const size = nextHeaderIndex >= 0 ? nextHeaderIndex : len; + if (next.handler) { + const data = new Uint8Array(size); + await this.tokenizer.readBuffer(data); + chunks.push(data); + } else { + await this.tokenizer.ignore(size); + } + } + debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`); + if (next.handler) { + await this.inflate(zipHeader, mergeArrays(chunks), next.handler); + } + } else { + if (next.handler) { + debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`); + fileData = new Uint8Array(zipHeader.compressedSize); + await this.tokenizer.readBuffer(fileData); + await this.inflate(zipHeader, fileData, next.handler); + } else { + debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`); + await this.tokenizer.ignore(zipHeader.compressedSize); + } + } + debug(`Reading data-descriptor at pos=${this.tokenizer.position}`); + if (zipHeader.dataDescriptor) { + const dataDescriptor = await this.tokenizer.readToken(DataDescriptor); + if (dataDescriptor.signature !== 134695760) { + throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - DataDescriptor.len}`); + } + } + } while (!stop); + } + async iterateOverCentralDirectory(entries, fileCb) { + for (const fileHeader of entries) { + const next = fileCb(fileHeader); + if (next.handler) { + this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader); + const zipHeader = await this.readLocalFileHeader(); + if (zipHeader) { + await this.tokenizer.ignore(zipHeader.extraFieldLength); + const fileData = new Uint8Array(fileHeader.compressedSize); + await this.tokenizer.readBuffer(fileData); + await this.inflate(zipHeader, fileData, next.handler); + } + } + if (next.stop) + break; + } + } + async inflate(zipHeader, fileData, cb) { + if (zipHeader.compressedMethod === 0) { + return cb(fileData); + } + if (zipHeader.compressedMethod !== 8) { + throw new Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`); + } + debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`); + const uncompressedData = await _ZipHandler.decompressDeflateRaw(fileData); + return cb(uncompressedData); + } + static async decompressDeflateRaw(data) { + const input = new ReadableStream({ + start(controller) { + controller.enqueue(data); + controller.close(); + } + }); + const ds = new DecompressionStream("deflate-raw"); + const output = input.pipeThrough(ds); + try { + const response = new Response(output); + const buffer = await response.arrayBuffer(); + return new Uint8Array(buffer); + } catch (err) { + const message = err instanceof Error ? `Failed to deflate ZIP entry: ${err.message}` : "Unknown decompression error in ZIP entry"; + throw new TypeError(message); + } + } + async readLocalFileHeader() { + const signature = await this.tokenizer.peekToken(UINT32_LE); + if (signature === Signature.LocalFileHeader) { + const header = await this.tokenizer.readToken(LocalFileHeaderToken); + header.filename = await this.tokenizer.readToken(new StringType(header.filenameLength, "utf-8")); + return header; + } + if (signature === Signature.CentralFileHeader) { + return false; + } + if (signature === 3759263696) { + throw new Error("Encrypted ZIP"); + } + throw new Error("Unexpected signature"); + } + }; + __name(indexOf, "indexOf"); + __name(mergeArrays, "mergeArrays"); + } +}); + +// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/GzipHandler.js +var GzipHandler; +var init_GzipHandler = __esm({ + "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/GzipHandler.js"() { + GzipHandler = class { + static { + __name(this, "GzipHandler"); + } + constructor(tokenizer) { + this.tokenizer = tokenizer; + } + inflate() { + const tokenizer = this.tokenizer; + return new ReadableStream({ + async pull(controller) { + const buffer = new Uint8Array(1024); + const size = await tokenizer.readBuffer(buffer, { mayBeLess: true }); + if (size === 0) { + controller.close(); + return; + } + controller.enqueue(buffer.subarray(0, size)); + } + }).pipeThrough(new DecompressionStream("gzip")); + } + }; + } +}); + +// ../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/index.js +var init_lib3 = __esm({ + "../../node_modules/.pnpm/@tokenizer+inflate@0.4.1/node_modules/@tokenizer/inflate/lib/index.js"() { + init_ZipHandler(); + init_GzipHandler(); + } +}); + +// ../../node_modules/.pnpm/uint8array-extras@1.6.0/node_modules/uint8array-extras/index.js +function isType(value, typeConstructor, typeStringified) { + if (!value) { + return false; + } + if (value.constructor === typeConstructor) { + return true; + } + return objectToString.call(value) === typeStringified; +} +function isUint8Array(value) { + return isType(value, Uint8Array, uint8ArrayStringified); +} +function isArrayBuffer(value) { + return isType(value, ArrayBuffer, arrayBufferStringified); +} +function isUint8ArrayOrArrayBuffer(value) { + return isUint8Array(value) || isArrayBuffer(value); +} +function toUint8ArrayIfArrayBuffer(value) { + return isArrayBuffer(value) ? new Uint8Array(value) : value; +} +function assertUint8ArrayOrArrayBuffer(value) { + if (!isUint8ArrayOrArrayBuffer(value)) { + throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof value}\``); + } +} +function concatUint8Arrays(arrays, totalLength) { + if (arrays.length === 0) { + return new Uint8Array(0); + } + totalLength ??= arrays.reduce((accumulator, currentValue) => accumulator + currentValue.byteLength, 0); + const returnValue = new Uint8Array(totalLength); + let offset = 0; + for (let array of arrays) { + assertUint8ArrayOrArrayBuffer(array); + array = toUint8ArrayIfArrayBuffer(array); + returnValue.set(array, offset); + offset += array.length; + } + return returnValue; +} +function getUintBE(view) { + const { byteLength } = view; + if (byteLength === 6) { + return view.getUint16(0) * 2 ** 32 + view.getUint32(2); + } + if (byteLength === 5) { + return view.getUint8(0) * 2 ** 32 + view.getUint32(1); + } + if (byteLength === 4) { + return view.getUint32(0); + } + if (byteLength === 3) { + return view.getUint8(0) * 2 ** 16 + view.getUint16(1); + } + if (byteLength === 2) { + return view.getUint16(0); + } + if (byteLength === 1) { + return view.getUint8(0); + } +} +var objectToString, uint8ArrayStringified, arrayBufferStringified, cachedDecoders, cachedEncoder, byteToHexLookupTable; +var init_uint8array_extras = __esm({ + "../../node_modules/.pnpm/uint8array-extras@1.6.0/node_modules/uint8array-extras/index.js"() { + objectToString = Object.prototype.toString; + uint8ArrayStringified = "[object Uint8Array]"; + arrayBufferStringified = "[object ArrayBuffer]"; + __name(isType, "isType"); + __name(isUint8Array, "isUint8Array"); + __name(isArrayBuffer, "isArrayBuffer"); + __name(isUint8ArrayOrArrayBuffer, "isUint8ArrayOrArrayBuffer"); + __name(toUint8ArrayIfArrayBuffer, "toUint8ArrayIfArrayBuffer"); + __name(assertUint8ArrayOrArrayBuffer, "assertUint8ArrayOrArrayBuffer"); + __name(concatUint8Arrays, "concatUint8Arrays"); + cachedDecoders = { + utf8: new globalThis.TextDecoder("utf8") + }; + cachedEncoder = new globalThis.TextEncoder(); + byteToHexLookupTable = Array.from({ length: 256 }, (_, index) => index.toString(16).padStart(2, "0")); + __name(getUintBE, "getUintBE"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/tokens.js +function stringToBytes(string, encoding) { + if (encoding === "utf-16le") { + const bytes = []; + for (let index = 0; index < string.length; index++) { + const code = string.charCodeAt(index); + bytes.push(code & 255, code >> 8 & 255); + } + return bytes; + } + if (encoding === "utf-16be") { + const bytes = []; + for (let index = 0; index < string.length; index++) { + const code = string.charCodeAt(index); + bytes.push(code >> 8 & 255, code & 255); + } + return bytes; + } + return [...string].map((character) => character.charCodeAt(0)); +} +function tarHeaderChecksumMatches(arrayBuffer, offset = 0) { + const readSum = Number.parseInt(new StringType(6).get(arrayBuffer, 148).replace(new RegExp("\\0.*$", "v"), "").trim(), 8); + if (Number.isNaN(readSum)) { + return false; + } + let sum = 8 * 32; + for (let index = offset; index < offset + 148; index++) { + sum += arrayBuffer[index]; + } + for (let index = offset + 156; index < offset + 512; index++) { + sum += arrayBuffer[index]; + } + return readSum === sum; +} +var uint32SyncSafeToken; +var init_tokens = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/tokens.js"() { + init_lib2(); + __name(stringToBytes, "stringToBytes"); + __name(tarHeaderChecksumMatches, "tarHeaderChecksumMatches"); + uint32SyncSafeToken = { + get: /* @__PURE__ */ __name((buffer, offset) => buffer[offset + 3] & 127 | (buffer[offset + 2] & 127) << 7 | (buffer[offset + 1] & 127) << 14 | (buffer[offset] & 127) << 21, "get"), + len: 4 + }; + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/supported.js +var extensions, mimeTypes; +var init_supported = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/supported.js"() { + extensions = [ + "jpg", + "png", + "apng", + "gif", + "webp", + "flif", + "xcf", + "cr2", + "cr3", + "orf", + "arw", + "dng", + "nef", + "rw2", + "raf", + "tif", + "bmp", + "icns", + "jxr", + "psd", + "indd", + "zip", + "tar", + "rar", + "gz", + "bz2", + "7z", + "dmg", + "mp4", + "mid", + "mkv", + "webm", + "mov", + "avi", + "mpg", + "mp2", + "mp3", + "m4a", + "oga", + "ogg", + "ogv", + "opus", + "flac", + "wav", + "spx", + "amr", + "pdf", + "epub", + "elf", + "macho", + "exe", + "swf", + "rtf", + "wasm", + "woff", + "woff2", + "eot", + "ttf", + "otf", + "ttc", + "ico", + "flv", + "ps", + "xz", + "sqlite", + "nes", + "crx", + "xpi", + "cab", + "deb", + "ar", + "rpm", + "Z", + "lz", + "cfb", + "mxf", + "mts", + "blend", + "bpg", + "docx", + "pptx", + "xlsx", + "3gp", + "3g2", + "j2c", + "jp2", + "jpm", + "jpx", + "mj2", + "aif", + "qcp", + "odt", + "ods", + "odp", + "xml", + "mobi", + "heic", + "cur", + "ktx", + "ape", + "wv", + "dcm", + "ics", + "glb", + "pcap", + "dsf", + "lnk", + "alias", + "voc", + "ac3", + "m4v", + "m4p", + "m4b", + "f4v", + "f4p", + "f4b", + "f4a", + "mie", + "asf", + "ogm", + "ogx", + "mpc", + "arrow", + "shp", + "aac", + "mp1", + "it", + "s3m", + "xm", + "skp", + "avif", + "eps", + "lzh", + "pgp", + "asar", + "stl", + "chm", + "3mf", + "zst", + "jxl", + "vcf", + "jls", + "pst", + "dwg", + "parquet", + "class", + "arj", + "cpio", + "ace", + "avro", + "icc", + "fbx", + "vsdx", + "vtt", + "apk", + "drc", + "lz4", + "potx", + "xltx", + "dotx", + "xltm", + "ott", + "ots", + "otp", + "odg", + "otg", + "xlsm", + "docm", + "dotm", + "potm", + "pptm", + "jar", + "jmp", + "rm", + "sav", + "ppsm", + "ppsx", + "tar.gz", + "reg", + "dat", + "key", + "numbers", + "pages", + "iso" + ]; + mimeTypes = [ + "image/jpeg", + "image/png", + "image/gif", + "image/webp", + "image/flif", + "image/x-xcf", + "image/x-canon-cr2", + "image/x-canon-cr3", + "image/tiff", + "image/bmp", + "image/vnd.ms-photo", + "image/vnd.adobe.photoshop", + "application/x-indesign", + "application/epub+zip", + "application/x-xpinstall", + "application/vnd.ms-powerpoint.slideshow.macroenabled.12", + "application/vnd.oasis.opendocument.text", + "application/vnd.oasis.opendocument.spreadsheet", + "application/vnd.oasis.opendocument.presentation", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "application/vnd.openxmlformats-officedocument.presentationml.slideshow", + "application/zip", + "application/x-tar", + "application/x-rar-compressed", + "application/gzip", + "application/x-bzip2", + "application/x-7z-compressed", + "application/x-apple-diskimage", + "application/vnd.apache.arrow.file", + "video/mp4", + "audio/midi", + "video/matroska", + "video/webm", + "video/quicktime", + "video/vnd.avi", + "audio/wav", + "audio/qcelp", + "audio/x-ms-asf", + "video/x-ms-asf", + "application/vnd.ms-asf", + "video/mpeg", + "video/3gpp", + "audio/mpeg", + "audio/mp4", + // RFC 4337 + "video/ogg", + "audio/ogg", + "audio/ogg; codecs=opus", + "application/ogg", + "audio/flac", + "audio/ape", + "audio/wavpack", + "audio/amr", + "application/pdf", + "application/x-elf", + "application/x-mach-binary", + "application/x-msdownload", + "application/x-shockwave-flash", + "application/rtf", + "application/wasm", + "font/woff", + "font/woff2", + "application/vnd.ms-fontobject", + "font/ttf", + "font/otf", + "font/collection", + "image/x-icon", + "video/x-flv", + "application/postscript", + "application/eps", + "application/x-xz", + "application/x-sqlite3", + "application/x-nintendo-nes-rom", + "application/x-google-chrome-extension", + "application/vnd.ms-cab-compressed", + "application/x-deb", + "application/x-unix-archive", + "application/x-rpm", + "application/x-compress", + "application/lzip", + "application/x-cfb", + "application/x-mie", + "application/mxf", + "video/mp2t", + "application/x-blender", + "image/bpg", + "image/j2c", + "image/jp2", + "image/jpx", + "image/jpm", + "image/mj2", + "audio/aiff", + "application/xml", + "application/x-mobipocket-ebook", + "image/heif", + "image/heif-sequence", + "image/heic", + "image/heic-sequence", + "image/icns", + "image/ktx", + "application/dicom", + "audio/x-musepack", + "text/calendar", + "text/vcard", + "text/vtt", + "model/gltf-binary", + "application/vnd.tcpdump.pcap", + "audio/x-dsf", + // Non-standard + "application/x-ms-shortcut", + // Informal, used by freedesktop.org shared-mime-info + "application/x-ft-apple.alias", + "audio/x-voc", + "audio/vnd.dolby.dd-raw", + "audio/x-m4a", + "image/apng", + "image/x-olympus-orf", + "image/x-sony-arw", + "image/x-adobe-dng", + "image/x-nikon-nef", + "image/x-panasonic-rw2", + "image/x-fujifilm-raf", + "video/x-m4v", + "video/3gpp2", + "application/x-esri-shape", + "audio/aac", + "audio/x-it", + "audio/x-s3m", + "audio/x-xm", + "video/MP1S", + "video/MP2P", + "application/vnd.sketchup.skp", + "image/avif", + "application/x-lzh-compressed", + "application/pgp-encrypted", + "application/x-asar", + "model/stl", + "application/vnd.ms-htmlhelp", + "model/3mf", + "image/jxl", + "application/zstd", + "image/jls", + "application/vnd.ms-outlook", + "image/vnd.dwg", + "application/vnd.apache.parquet", + "application/java-vm", + "application/x-arj", + "application/x-cpio", + "application/x-ace-compressed", + "application/avro", + "application/vnd.iccprofile", + "application/x-ft-fbx", + "application/vnd.visio", + "application/vnd.android.package-archive", + "application/x-ft-draco", + "application/x-lz4", + // Informal, used by freedesktop.org shared-mime-info + "application/vnd.openxmlformats-officedocument.presentationml.template", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template", + "application/vnd.openxmlformats-officedocument.wordprocessingml.template", + "application/vnd.ms-excel.template.macroenabled.12", + "application/vnd.oasis.opendocument.text-template", + "application/vnd.oasis.opendocument.spreadsheet-template", + "application/vnd.oasis.opendocument.presentation-template", + "application/vnd.oasis.opendocument.graphics", + "application/vnd.oasis.opendocument.graphics-template", + "application/vnd.ms-excel.sheet.macroenabled.12", + "application/vnd.ms-word.document.macroenabled.12", + "application/vnd.ms-word.template.macroenabled.12", + "application/vnd.ms-powerpoint.template.macroenabled.12", + "application/vnd.ms-powerpoint.presentation.macroenabled.12", + "application/java-archive", + "application/vnd.rn-realmedia", + "application/x-spss-sav", + "application/x-ms-regedit", + "application/x-ft-windows-registry-hive", + "application/x-jmp-data", + "application/vnd.apple.keynote", + "application/vnd.apple.numbers", + "application/vnd.apple.pages", + "application/x-iso9660-image" + ]; + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/parser.js +function getSafeBound(value, maximum, reason) { + if (!Number.isFinite(value) || value < 0 || value > maximum) { + throw new ParserHardLimitError(`${reason} has invalid size ${value} (maximum ${maximum} bytes)`); + } + return value; +} +async function safeIgnore(tokenizer, length, { maximumLength = maximumUntrustedSkipSizeInBytes, reason = "skip" } = {}) { + const safeLength = getSafeBound(length, maximumLength, reason); + await tokenizer.ignore(safeLength); +} +async function safeReadBuffer(tokenizer, buffer, options, { maximumLength = buffer.length, reason = "read" } = {}) { + const length = options?.length ?? buffer.length; + const safeLength = getSafeBound(length, maximumLength, reason); + return tokenizer.readBuffer(buffer, { + ...options, + length: safeLength + }); +} +function checkBytes(buffer, headers, options) { + options = { + offset: 0, + ...options + }; + for (const [index, header] of headers.entries()) { + if (options.mask) { + if (header !== (options.mask[index] & buffer[index + options.offset])) { + return false; + } + } else if (header !== buffer[index + options.offset]) { + return false; + } + } + return true; +} +function hasUnknownFileSize(tokenizer) { + const fileSize = tokenizer.fileInfo.size; + return !Number.isFinite(fileSize) || fileSize === Number.MAX_SAFE_INTEGER; +} +function hasExceededUnknownSizeScanBudget(tokenizer, startOffset, maximumBytes) { + return hasUnknownFileSize(tokenizer) && tokenizer.position - startOffset > maximumBytes; +} +var maximumUntrustedSkipSizeInBytes, ParserHardLimitError; +var init_parser = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/parser.js"() { + maximumUntrustedSkipSizeInBytes = 16 * 1024 * 1024; + ParserHardLimitError = class extends Error { + static { + __name(this, "ParserHardLimitError"); + } + }; + __name(getSafeBound, "getSafeBound"); + __name(safeIgnore, "safeIgnore"); + __name(safeReadBuffer, "safeReadBuffer"); + __name(checkBytes, "checkBytes"); + __name(hasUnknownFileSize, "hasUnknownFileSize"); + __name(hasExceededUnknownSizeScanBudget, "hasExceededUnknownSizeScanBudget"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/zip.js +async function decompressDeflateRawWithLimit(data, { maximumLength = maximumZipEntrySizeInBytes } = {}) { + const input = new ReadableStream({ + start(controller) { + controller.enqueue(data); + controller.close(); + } + }); + const output = input.pipeThrough(new DecompressionStream("deflate-raw")); + const reader = output.getReader(); + const chunks = []; + let totalLength = 0; + try { + for (; ; ) { + const { done, value } = await reader.read(); + if (done) { + break; + } + totalLength += value.length; + if (totalLength > maximumLength) { + await reader.cancel().catch(() => { + }); + throw new Error(`ZIP entry decompressed data exceeds ${maximumLength} bytes`); + } + chunks.push(value); + } + } catch (error) { + if (error.code !== "ERR_TRAILING_JUNK_AFTER_STREAM_END") { + throw error; + } + } finally { + reader.releaseLock(); + } + const uncompressedData = new Uint8Array(totalLength); + let offset = 0; + for (const chunk of chunks) { + uncompressedData.set(chunk, offset); + offset += chunk.length; + } + return uncompressedData; +} +function mergeByteChunks(chunks, totalLength) { + const merged = new Uint8Array(totalLength); + let offset = 0; + for (const chunk of chunks) { + merged.set(chunk, offset); + offset += chunk.length; + } + return merged; +} +function getMaximumZipBufferedReadLength(tokenizer) { + const fileSize = tokenizer.fileInfo.size; + const remainingBytes = Number.isFinite(fileSize) ? Math.max(0, fileSize - tokenizer.position) : Number.MAX_SAFE_INTEGER; + return Math.min(remainingBytes, maximumZipBufferedReadSizeInBytes); +} +function isRecoverableZipError(error) { + if (error instanceof EndOfStreamError) { + return true; + } + if (error instanceof ParserHardLimitError) { + return true; + } + if (!(error instanceof Error)) { + return false; + } + if (recoverableZipErrorMessages.has(error.message)) { + return true; + } + if (recoverableZipErrorCodes.has(error.code)) { + return true; + } + for (const prefix of recoverableZipErrorMessagePrefixes) { + if (error.message.startsWith(prefix)) { + return true; + } + } + return false; +} +function canReadZipEntryForDetection(zipHeader, maximumSize = maximumZipEntrySizeInBytes) { + const sizes = [zipHeader.compressedSize, zipHeader.uncompressedSize]; + for (const size of sizes) { + if (!Number.isFinite(size) || size < 0 || size > maximumSize) { + return false; + } + } + return true; +} +function createIWorkZipDetectionState() { + return { + hasDocumentEntry: false, + hasMasterSlideEntry: false, + hasTablesEntry: false, + hasCalculationEngineEntry: false + }; +} +function updateIWorkZipDetectionStateFromFilename(iWorkState, filename) { + if (filename === "Index/Document.iwa") { + iWorkState.hasDocumentEntry = true; + } + if (filename.startsWith("Index/MasterSlide")) { + iWorkState.hasMasterSlideEntry = true; + } + if (filename.startsWith("Index/Tables/")) { + iWorkState.hasTablesEntry = true; + } + if (filename === "Index/CalculationEngine.iwa") { + iWorkState.hasCalculationEngineEntry = true; + } +} +function getIWorkFileTypeFromZipEntries(iWorkState) { + if (!iWorkState.hasDocumentEntry) { + return; + } + if (iWorkState.hasMasterSlideEntry) { + return { ext: "key", mime: "application/vnd.apple.keynote" }; + } + if (iWorkState.hasTablesEntry) { + return { ext: "numbers", mime: "application/vnd.apple.numbers" }; + } + return { ext: "pages", mime: "application/vnd.apple.pages" }; +} +function getFileTypeFromMimeType(mimeType) { + mimeType = mimeType.toLowerCase(); + switch (mimeType) { + case "application/epub+zip": + return { ext: "epub", mime: mimeType }; + case "application/vnd.oasis.opendocument.text": + return { ext: "odt", mime: mimeType }; + case "application/vnd.oasis.opendocument.text-template": + return { ext: "ott", mime: mimeType }; + case "application/vnd.oasis.opendocument.spreadsheet": + return { ext: "ods", mime: mimeType }; + case "application/vnd.oasis.opendocument.spreadsheet-template": + return { ext: "ots", mime: mimeType }; + case "application/vnd.oasis.opendocument.presentation": + return { ext: "odp", mime: mimeType }; + case "application/vnd.oasis.opendocument.presentation-template": + return { ext: "otp", mime: mimeType }; + case "application/vnd.oasis.opendocument.graphics": + return { ext: "odg", mime: mimeType }; + case "application/vnd.oasis.opendocument.graphics-template": + return { ext: "otg", mime: mimeType }; + case "application/vnd.openxmlformats-officedocument.presentationml.slideshow": + return { ext: "ppsx", mime: mimeType }; + case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": + return { ext: "xlsx", mime: mimeType }; + case "application/vnd.ms-excel.sheet.macroenabled": + return { ext: "xlsm", mime: "application/vnd.ms-excel.sheet.macroenabled.12" }; + case "application/vnd.openxmlformats-officedocument.spreadsheetml.template": + return { ext: "xltx", mime: mimeType }; + case "application/vnd.ms-excel.template.macroenabled": + return { ext: "xltm", mime: "application/vnd.ms-excel.template.macroenabled.12" }; + case "application/vnd.ms-powerpoint.slideshow.macroenabled": + return { ext: "ppsm", mime: "application/vnd.ms-powerpoint.slideshow.macroenabled.12" }; + case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": + return { ext: "docx", mime: mimeType }; + case "application/vnd.ms-word.document.macroenabled": + return { ext: "docm", mime: "application/vnd.ms-word.document.macroenabled.12" }; + case "application/vnd.openxmlformats-officedocument.wordprocessingml.template": + return { ext: "dotx", mime: mimeType }; + case "application/vnd.ms-word.template.macroenabledtemplate": + return { ext: "dotm", mime: "application/vnd.ms-word.template.macroenabled.12" }; + case "application/vnd.openxmlformats-officedocument.presentationml.template": + return { ext: "potx", mime: mimeType }; + case "application/vnd.ms-powerpoint.template.macroenabled": + return { ext: "potm", mime: "application/vnd.ms-powerpoint.template.macroenabled.12" }; + case "application/vnd.openxmlformats-officedocument.presentationml.presentation": + return { ext: "pptx", mime: mimeType }; + case "application/vnd.ms-powerpoint.presentation.macroenabled": + return { ext: "pptm", mime: "application/vnd.ms-powerpoint.presentation.macroenabled.12" }; + case "application/vnd.ms-visio.drawing": + return { ext: "vsdx", mime: "application/vnd.visio" }; + case "application/vnd.ms-package.3dmanufacturing-3dmodel+xml": + return { ext: "3mf", mime: "model/3mf" }; + default: + } +} +function createOpenXmlZipDetectionState() { + return { + hasContentTypesEntry: false, + hasParsedContentTypesEntry: false, + isParsingContentTypes: false, + hasUnparseableContentTypes: false, + hasWordDirectory: false, + hasPresentationDirectory: false, + hasSpreadsheetDirectory: false, + hasThreeDimensionalModelEntry: false + }; +} +function updateOpenXmlZipDetectionStateFromFilename(openXmlState, filename) { + if (filename.startsWith("word/")) { + openXmlState.hasWordDirectory = true; + } + if (filename.startsWith("ppt/")) { + openXmlState.hasPresentationDirectory = true; + } + if (filename.startsWith("xl/")) { + openXmlState.hasSpreadsheetDirectory = true; + } + if (filename.startsWith("3D/") && filename.endsWith(".model")) { + openXmlState.hasThreeDimensionalModelEntry = true; + } +} +function getOpenXmlFileTypeFromDirectoryNames(openXmlState) { + if (openXmlState.hasWordDirectory) { + return { + ext: "docx", + mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + }; + } + if (openXmlState.hasPresentationDirectory) { + return { + ext: "pptx", + mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation" + }; + } + if (openXmlState.hasSpreadsheetDirectory) { + return { + ext: "xlsx", + mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" + }; + } + if (openXmlState.hasThreeDimensionalModelEntry) { + return { + ext: "3mf", + mime: "model/3mf" + }; + } +} +function getOpenXmlFileTypeFromZipEntries(openXmlState) { + if (!openXmlState.hasContentTypesEntry || openXmlState.hasUnparseableContentTypes || openXmlState.isParsingContentTypes || openXmlState.hasParsedContentTypesEntry) { + return; + } + return getOpenXmlFileTypeFromDirectoryNames(openXmlState); +} +function getOpenXmlMimeTypeFromContentTypesXml(xmlContent) { + const endPosition = xmlContent.indexOf('.main+xml"'); + if (endPosition === -1) { + const mimeType = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"; + if (xmlContent.includes(`ContentType="${mimeType}"`)) { + return mimeType; + } + return; + } + const truncatedContent = xmlContent.slice(0, endPosition); + const firstQuotePosition = truncatedContent.lastIndexOf('"'); + return truncatedContent.slice(firstQuotePosition + 1); +} +function findZipDataDescriptorOffset(buffer, bytesConsumed) { + if (buffer.length < zipDataDescriptorLengthInBytes) { + return -1; + } + const lastPossibleDescriptorOffset = buffer.length - zipDataDescriptorLengthInBytes; + for (let index = 0; index <= lastPossibleDescriptorOffset; index++) { + if (UINT32_LE.get(buffer, index) === zipDataDescriptorSignature && UINT32_LE.get(buffer, index + 8) === bytesConsumed + index) { + return index; + } + } + return -1; +} +async function readZipDataDescriptorEntryWithLimit(zipHandler, { shouldBuffer, maximumLength = maximumZipEntrySizeInBytes } = {}) { + const { syncBuffer } = zipHandler; + const { length: syncBufferLength } = syncBuffer; + const chunks = []; + let bytesConsumed = 0; + for (; ; ) { + const length = await zipHandler.tokenizer.peekBuffer(syncBuffer, { mayBeLess: true }); + const dataDescriptorOffset = findZipDataDescriptorOffset(syncBuffer.subarray(0, length), bytesConsumed); + const retainedLength = dataDescriptorOffset >= 0 ? 0 : length === syncBufferLength ? Math.min(zipDataDescriptorOverlapLengthInBytes, length - 1) : 0; + const chunkLength = dataDescriptorOffset >= 0 ? dataDescriptorOffset : length - retainedLength; + if (chunkLength === 0) { + break; + } + bytesConsumed += chunkLength; + if (bytesConsumed > maximumLength) { + throw new ParserHardLimitError(`ZIP entry data descriptor not found within ${maximumLength} bytes`); + } + if (shouldBuffer) { + const data = new Uint8Array(chunkLength); + await zipHandler.tokenizer.readBuffer(data); + chunks.push(data); + } else { + await zipHandler.tokenizer.ignore(chunkLength); + } + if (dataDescriptorOffset >= 0) { + break; + } + } + if (!hasUnknownFileSize(zipHandler.tokenizer)) { + zipHandler.knownSizeDescriptorScannedBytes += bytesConsumed; + } + if (!shouldBuffer) { + return; + } + return mergeByteChunks(chunks, bytesConsumed); +} +function getRemainingZipScanBudget(zipHandler, startOffset) { + if (hasUnknownFileSize(zipHandler.tokenizer)) { + return Math.max(0, maximumUntrustedSkipSizeInBytes - (zipHandler.tokenizer.position - startOffset)); + } + return Math.max(0, maximumZipEntrySizeInBytes - zipHandler.knownSizeDescriptorScannedBytes); +} +async function readZipEntryData(zipHandler, zipHeader, { shouldBuffer, maximumDescriptorLength = maximumZipEntrySizeInBytes } = {}) { + if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) { + return readZipDataDescriptorEntryWithLimit(zipHandler, { + shouldBuffer, + maximumLength: maximumDescriptorLength + }); + } + if (!shouldBuffer) { + await safeIgnore(zipHandler.tokenizer, zipHeader.compressedSize, { + maximumLength: hasUnknownFileSize(zipHandler.tokenizer) ? maximumZipEntrySizeInBytes : zipHandler.tokenizer.fileInfo.size, + reason: "ZIP entry compressed data" + }); + return; + } + const maximumLength = getMaximumZipBufferedReadLength(zipHandler.tokenizer); + if (!Number.isFinite(zipHeader.compressedSize) || zipHeader.compressedSize < 0 || zipHeader.compressedSize > maximumLength) { + throw new Error(`ZIP entry compressed data exceeds ${maximumLength} bytes`); + } + const fileData = new Uint8Array(zipHeader.compressedSize); + await zipHandler.tokenizer.readBuffer(fileData); + return fileData; +} +async function detectZip(tokenizer) { + let fileType; + const openXmlState = createOpenXmlZipDetectionState(); + const iWorkState = createIWorkZipDetectionState(); + try { + await new ZipHandler(tokenizer).unzip((zipHeader) => { + updateOpenXmlZipDetectionStateFromFilename(openXmlState, zipHeader.filename); + updateIWorkZipDetectionStateFromFilename(iWorkState, zipHeader.filename); + if (iWorkState.hasDocumentEntry && (iWorkState.hasMasterSlideEntry || iWorkState.hasTablesEntry)) { + fileType = getIWorkFileTypeFromZipEntries(iWorkState); + return { stop: true }; + } + const isOpenXmlContentTypesEntry = zipHeader.filename === "[Content_Types].xml"; + const openXmlFileTypeFromEntries = getOpenXmlFileTypeFromZipEntries(openXmlState); + if (!isOpenXmlContentTypesEntry && openXmlFileTypeFromEntries) { + fileType = openXmlFileTypeFromEntries; + return { + stop: true + }; + } + switch (zipHeader.filename) { + case "META-INF/mozilla.rsa": + fileType = { + ext: "xpi", + mime: "application/x-xpinstall" + }; + return { + stop: true + }; + case "META-INF/MANIFEST.MF": + fileType = { + ext: "jar", + mime: "application/java-archive" + }; + return { + stop: true + }; + case "mimetype": + if (!canReadZipEntryForDetection(zipHeader, maximumZipTextEntrySizeInBytes)) { + return {}; + } + return { + async handler(fileData) { + const mimeType = new TextDecoder("utf-8").decode(fileData).trim(); + fileType = getFileTypeFromMimeType(mimeType); + }, + stop: true + }; + case "[Content_Types].xml": { + openXmlState.hasContentTypesEntry = true; + if (!canReadZipEntryForDetection(zipHeader, maximumZipTextEntrySizeInBytes)) { + openXmlState.hasUnparseableContentTypes = true; + return {}; + } + openXmlState.isParsingContentTypes = true; + return { + async handler(fileData) { + const xmlContent = new TextDecoder("utf-8").decode(fileData); + const mimeType = getOpenXmlMimeTypeFromContentTypesXml(xmlContent); + if (mimeType) { + fileType = getFileTypeFromMimeType(mimeType); + } + openXmlState.hasParsedContentTypesEntry = true; + openXmlState.isParsingContentTypes = false; + }, + stop: true + }; + } + default: + if (new RegExp("classes\\d*\\.dex", "v").test(zipHeader.filename)) { + fileType = { + ext: "apk", + mime: "application/vnd.android.package-archive" + }; + return { stop: true }; + } + return {}; + } + }); + } catch (error) { + if (!isRecoverableZipError(error)) { + throw error; + } + if (openXmlState.isParsingContentTypes) { + openXmlState.isParsingContentTypes = false; + openXmlState.hasUnparseableContentTypes = true; + } + if (!fileType && (error instanceof EndOfStreamError || error instanceof ParserHardLimitError) && !openXmlState.hasContentTypesEntry) { + fileType = getOpenXmlFileTypeFromDirectoryNames(openXmlState); + } + } + const iWorkFileType = hasUnknownFileSize(tokenizer) && iWorkState.hasDocumentEntry && !iWorkState.hasMasterSlideEntry && !iWorkState.hasTablesEntry && !iWorkState.hasCalculationEngineEntry ? void 0 : getIWorkFileTypeFromZipEntries(iWorkState); + return fileType ?? getOpenXmlFileTypeFromZipEntries(openXmlState) ?? iWorkFileType ?? { + ext: "zip", + mime: "application/zip" + }; +} +var maximumZipEntrySizeInBytes, maximumZipEntryCount, maximumZipBufferedReadSizeInBytes, maximumZipTextEntrySizeInBytes, recoverableZipErrorMessages, recoverableZipErrorMessagePrefixes, recoverableZipErrorCodes, zipDataDescriptorSignature, zipDataDescriptorLengthInBytes, zipDataDescriptorOverlapLengthInBytes; +var init_zip = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/zip.js"() { + init_lib2(); + init_core(); + init_lib3(); + init_parser(); + maximumZipEntrySizeInBytes = 1024 * 1024; + maximumZipEntryCount = 1024; + maximumZipBufferedReadSizeInBytes = 2 ** 31 - 1; + maximumZipTextEntrySizeInBytes = maximumZipEntrySizeInBytes; + recoverableZipErrorMessages = /* @__PURE__ */ new Set([ + "Unexpected signature", + "Encrypted ZIP", + "Expected Central-File-Header signature" + ]); + recoverableZipErrorMessagePrefixes = [ + "ZIP entry count exceeds ", + "Unsupported ZIP compression method:", + "ZIP entry compressed data exceeds ", + "ZIP entry decompressed data exceeds ", + "Expected data-descriptor-signature at position " + ]; + recoverableZipErrorCodes = /* @__PURE__ */ new Set([ + "Z_BUF_ERROR", + "Z_DATA_ERROR", + "ERR_INVALID_STATE" + ]); + __name(decompressDeflateRawWithLimit, "decompressDeflateRawWithLimit"); + __name(mergeByteChunks, "mergeByteChunks"); + __name(getMaximumZipBufferedReadLength, "getMaximumZipBufferedReadLength"); + __name(isRecoverableZipError, "isRecoverableZipError"); + __name(canReadZipEntryForDetection, "canReadZipEntryForDetection"); + __name(createIWorkZipDetectionState, "createIWorkZipDetectionState"); + __name(updateIWorkZipDetectionStateFromFilename, "updateIWorkZipDetectionStateFromFilename"); + __name(getIWorkFileTypeFromZipEntries, "getIWorkFileTypeFromZipEntries"); + __name(getFileTypeFromMimeType, "getFileTypeFromMimeType"); + __name(createOpenXmlZipDetectionState, "createOpenXmlZipDetectionState"); + __name(updateOpenXmlZipDetectionStateFromFilename, "updateOpenXmlZipDetectionStateFromFilename"); + __name(getOpenXmlFileTypeFromDirectoryNames, "getOpenXmlFileTypeFromDirectoryNames"); + __name(getOpenXmlFileTypeFromZipEntries, "getOpenXmlFileTypeFromZipEntries"); + __name(getOpenXmlMimeTypeFromContentTypesXml, "getOpenXmlMimeTypeFromContentTypesXml"); + zipDataDescriptorSignature = 134695760; + zipDataDescriptorLengthInBytes = 16; + zipDataDescriptorOverlapLengthInBytes = zipDataDescriptorLengthInBytes - 1; + __name(findZipDataDescriptorOffset, "findZipDataDescriptorOffset"); + __name(readZipDataDescriptorEntryWithLimit, "readZipDataDescriptorEntryWithLimit"); + __name(getRemainingZipScanBudget, "getRemainingZipScanBudget"); + __name(readZipEntryData, "readZipEntryData"); + ZipHandler.prototype.inflate = async function(zipHeader, fileData, callback) { + if (zipHeader.compressedMethod === 0) { + return callback(fileData); + } + if (zipHeader.compressedMethod !== 8) { + throw new Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`); + } + const uncompressedData = await decompressDeflateRawWithLimit(fileData, { maximumLength: maximumZipEntrySizeInBytes }); + return callback(uncompressedData); + }; + ZipHandler.prototype.unzip = async function(fileCallback) { + let stop = false; + let zipEntryCount = 0; + const zipScanStart = this.tokenizer.position; + this.knownSizeDescriptorScannedBytes = 0; + do { + if (hasExceededUnknownSizeScanBudget(this.tokenizer, zipScanStart, maximumUntrustedSkipSizeInBytes)) { + throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`); + } + const zipHeader = await this.readLocalFileHeader(); + if (!zipHeader) { + break; + } + zipEntryCount++; + if (zipEntryCount > maximumZipEntryCount) { + throw new Error(`ZIP entry count exceeds ${maximumZipEntryCount}`); + } + const next = fileCallback(zipHeader); + stop = Boolean(next.stop); + await this.tokenizer.ignore(zipHeader.extraFieldLength); + const fileData = await readZipEntryData(this, zipHeader, { + shouldBuffer: Boolean(next.handler), + maximumDescriptorLength: Math.min(maximumZipEntrySizeInBytes, getRemainingZipScanBudget(this, zipScanStart)) + }); + if (next.handler) { + await this.inflate(zipHeader, fileData, next.handler); + } + if (zipHeader.dataDescriptor) { + const dataDescriptor = new Uint8Array(zipDataDescriptorLengthInBytes); + await this.tokenizer.readBuffer(dataDescriptor); + if (UINT32_LE.get(dataDescriptor, 0) !== zipDataDescriptorSignature) { + throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - dataDescriptor.length}`); + } + } + if (hasExceededUnknownSizeScanBudget(this.tokenizer, zipScanStart, maximumUntrustedSkipSizeInBytes)) { + throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`); + } + } while (!stop); + }; + __name(detectZip, "detectZip"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/ebml.js +async function detectEbml(tokenizer) { + async function readField() { + const msb = await tokenizer.peekNumber(UINT8); + let mask = 128; + let ic = 0; + while ((msb & mask) === 0 && mask !== 0) { + ++ic; + mask >>= 1; + } + const id = new Uint8Array(ic + 1); + await safeReadBuffer(tokenizer, id, void 0, { + maximumLength: id.length, + reason: "EBML field" + }); + return id; + } + __name(readField, "readField"); + async function readElement() { + const idField = await readField(); + const lengthField = await readField(); + lengthField[0] ^= 128 >> lengthField.length - 1; + const nrLength = Math.min(6, lengthField.length); + const idView = new DataView(idField.buffer); + const lengthView = new DataView(lengthField.buffer, lengthField.length - nrLength, nrLength); + return { + id: getUintBE(idView), + len: getUintBE(lengthView) + }; + } + __name(readElement, "readElement"); + async function readChildren(children) { + let ebmlElementCount = 0; + while (children > 0) { + ebmlElementCount++; + if (ebmlElementCount > maximumEbmlElementCount) { + return; + } + if (hasExceededUnknownSizeScanBudget(tokenizer, ebmlScanStart, maximumUntrustedSkipSizeInBytes)) { + return; + } + const previousPosition = tokenizer.position; + const element = await readElement(); + if (element.id === 17026) { + if (element.len > maximumEbmlDocumentTypeSizeInBytes) { + return; + } + const documentTypeLength = getSafeBound(element.len, maximumEbmlDocumentTypeSizeInBytes, "EBML DocType"); + const rawValue = await tokenizer.readToken(new StringType(documentTypeLength)); + return rawValue.replaceAll(new RegExp("\\0.*$", "gv"), ""); + } + if (hasUnknownFileSize(tokenizer) && (!Number.isFinite(element.len) || element.len < 0 || element.len > maximumEbmlElementPayloadSizeInBytes)) { + return; + } + await safeIgnore(tokenizer, element.len, { + maximumLength: hasUnknownFileSize(tokenizer) ? maximumEbmlElementPayloadSizeInBytes : tokenizer.fileInfo.size, + reason: "EBML payload" + }); + --children; + if (tokenizer.position <= previousPosition) { + return; + } + } + } + __name(readChildren, "readChildren"); + const rootElement = await readElement(); + const ebmlScanStart = tokenizer.position; + const documentType = await readChildren(rootElement.len); + switch (documentType) { + case "webm": + return { + ext: "webm", + mime: "video/webm" + }; + case "matroska": + return { + ext: "mkv", + mime: "video/matroska" + }; + default: + } +} +var maximumEbmlDocumentTypeSizeInBytes, maximumEbmlElementPayloadSizeInBytes, maximumEbmlElementCount; +var init_ebml = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/ebml.js"() { + init_lib2(); + init_uint8array_extras(); + init_parser(); + maximumEbmlDocumentTypeSizeInBytes = 64; + maximumEbmlElementPayloadSizeInBytes = 1024 * 1024; + maximumEbmlElementCount = 256; + __name(detectEbml, "detectEbml"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/png.js +function isPngAncillaryChunk(type) { + return (type.codePointAt(0) & 32) !== 0; +} +async function detectPng(tokenizer) { + const pngFileType = { + ext: "png", + mime: "image/png" + }; + const apngFileType = { + ext: "apng", + mime: "image/apng" + }; + await tokenizer.ignore(8); + async function readChunkHeader() { + return { + length: await tokenizer.readToken(INT32_BE), + type: await tokenizer.readToken(new StringType(4, "latin1")) + }; + } + __name(readChunkHeader, "readChunkHeader"); + const isUnknownPngStream = hasUnknownFileSize(tokenizer); + const pngScanStart = tokenizer.position; + let pngChunkCount = 0; + let hasSeenImageHeader = false; + do { + pngChunkCount++; + if (pngChunkCount > maximumPngChunkCount) { + break; + } + if (hasExceededUnknownSizeScanBudget(tokenizer, pngScanStart, maximumPngStreamScanBudgetInBytes)) { + break; + } + const previousPosition = tokenizer.position; + const chunk = await readChunkHeader(); + if (chunk.length < 0) { + return; + } + if (chunk.type === "IHDR") { + if (chunk.length !== 13) { + return; + } + hasSeenImageHeader = true; + } + switch (chunk.type) { + case "IDAT": + return pngFileType; + case "acTL": + return apngFileType; + default: + if (!hasSeenImageHeader && chunk.type !== "CgBI") { + return; + } + if (isUnknownPngStream && chunk.length > maximumPngChunkSizeInBytes) { + return hasSeenImageHeader && isPngAncillaryChunk(chunk.type) ? pngFileType : void 0; + } + try { + await safeIgnore(tokenizer, chunk.length + 4, { + maximumLength: isUnknownPngStream ? maximumPngChunkSizeInBytes + 4 : tokenizer.fileInfo.size, + reason: "PNG chunk payload" + }); + } catch (error) { + if (!isUnknownPngStream && (error instanceof ParserHardLimitError || error instanceof EndOfStreamError)) { + return pngFileType; + } + throw error; + } + } + if (tokenizer.position <= previousPosition) { + break; + } + } while (tokenizer.position + 8 < tokenizer.fileInfo.size); + return pngFileType; +} +var maximumPngChunkCount, maximumPngStreamScanBudgetInBytes, maximumPngChunkSizeInBytes; +var init_png = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/png.js"() { + init_lib2(); + init_core(); + init_parser(); + maximumPngChunkCount = 512; + maximumPngStreamScanBudgetInBytes = 16 * 1024 * 1024; + maximumPngChunkSizeInBytes = 1024 * 1024; + __name(isPngAncillaryChunk, "isPngAncillaryChunk"); + __name(detectPng, "detectPng"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/asf.js +async function detectAsf(tokenizer) { + let isMalformedAsf = false; + try { + async function readHeader() { + const guid = new Uint8Array(16); + await safeReadBuffer(tokenizer, guid, void 0, { + maximumLength: guid.length, + reason: "ASF header GUID" + }); + return { + id: guid, + size: Number(await tokenizer.readToken(UINT64_LE)) + }; + } + __name(readHeader, "readHeader"); + await safeIgnore(tokenizer, 30, { + maximumLength: 30, + reason: "ASF header prelude" + }); + const isUnknownFileSize = hasUnknownFileSize(tokenizer); + const asfHeaderScanStart = tokenizer.position; + let asfHeaderObjectCount = 0; + while (tokenizer.position + 24 < tokenizer.fileInfo.size) { + asfHeaderObjectCount++; + if (asfHeaderObjectCount > maximumAsfHeaderObjectCount) { + break; + } + if (hasExceededUnknownSizeScanBudget(tokenizer, asfHeaderScanStart, maximumUntrustedSkipSizeInBytes)) { + break; + } + const previousPosition = tokenizer.position; + const header = await readHeader(); + let payload = header.size - 24; + if (!Number.isFinite(payload) || payload < 0) { + isMalformedAsf = true; + break; + } + if (checkBytes(header.id, [145, 7, 220, 183, 183, 169, 207, 17, 142, 230, 0, 192, 12, 32, 83, 101])) { + const typeId = new Uint8Array(16); + payload -= await safeReadBuffer(tokenizer, typeId, void 0, { + maximumLength: typeId.length, + reason: "ASF stream type GUID" + }); + if (checkBytes(typeId, [64, 158, 105, 248, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) { + return { + ext: "asf", + mime: "audio/x-ms-asf" + }; + } + if (checkBytes(typeId, [192, 239, 25, 188, 77, 91, 207, 17, 168, 253, 0, 128, 95, 92, 68, 43])) { + return { + ext: "asf", + mime: "video/x-ms-asf" + }; + } + break; + } + if (isUnknownFileSize && payload > maximumAsfHeaderPayloadSizeInBytes) { + isMalformedAsf = true; + break; + } + await safeIgnore(tokenizer, payload, { + maximumLength: isUnknownFileSize ? maximumAsfHeaderPayloadSizeInBytes : tokenizer.fileInfo.size, + reason: "ASF header payload" + }); + if (tokenizer.position <= previousPosition) { + isMalformedAsf = true; + break; + } + } + } catch (error) { + if (error instanceof EndOfStreamError || error instanceof ParserHardLimitError) { + if (hasUnknownFileSize(tokenizer)) { + isMalformedAsf = true; + } + } else { + throw error; + } + } + if (isMalformedAsf) { + return; + } + return { + ext: "asf", + mime: "application/vnd.ms-asf" + }; +} +var maximumAsfHeaderObjectCount, maximumAsfHeaderPayloadSizeInBytes; +var init_asf = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/detectors/asf.js"() { + init_lib2(); + init_core(); + init_parser(); + maximumAsfHeaderObjectCount = 512; + maximumAsfHeaderPayloadSizeInBytes = 1024 * 1024; + __name(detectAsf, "detectAsf"); + } +}); + +// ../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/index.js +function normalizeSampleSize(sampleSize) { + if (!Number.isFinite(sampleSize)) { + return reasonableDetectionSizeInBytes; + } + return Math.max(1, Math.trunc(sampleSize)); +} +function normalizeMpegOffsetTolerance(mpegOffsetTolerance) { + if (!Number.isFinite(mpegOffsetTolerance)) { + return 0; + } + return Math.max(0, Math.min(maximumMpegOffsetTolerance, Math.trunc(mpegOffsetTolerance))); +} +function getKnownFileSizeOrMaximum(fileSize) { + if (!Number.isFinite(fileSize)) { + return Number.MAX_SAFE_INTEGER; + } + return Math.max(0, fileSize); +} +function importAtRuntime(specifier) { + return import( + /* @vite-ignore */ + /* webpackIgnore: true */ + specifier + ); +} +function toDefaultStream(stream) { + return stream.pipeThrough(new TransformStream()); +} +function readWithSignal(reader, signal) { + if (signal === void 0) { + return reader.read(); + } + signal.throwIfAborted(); + return Promise.race([ + reader.read(), + new Promise((_resolve, reject) => { + signal.addEventListener("abort", () => { + reject(signal.reason); + reader.cancel(signal.reason).catch(() => { + }); + }, { once: true }); + }) + ]); +} +function createByteLimitedReadableStream(stream, maximumBytes) { + const reader = stream.getReader(); + let emittedBytes = 0; + let sourceDone = false; + let sourceCanceled = false; + const cancelSource = /* @__PURE__ */ __name(async (reason) => { + if (sourceDone || sourceCanceled) { + return; + } + sourceCanceled = true; + await reader.cancel(reason); + }, "cancelSource"); + return new ReadableStream({ + async pull(controller) { + if (emittedBytes >= maximumBytes) { + controller.close(); + await cancelSource(); + return; + } + const { done, value } = await reader.read(); + if (done || !value) { + sourceDone = true; + controller.close(); + return; + } + const remainingBytes = maximumBytes - emittedBytes; + if (value.length > remainingBytes) { + controller.enqueue(value.subarray(0, remainingBytes)); + emittedBytes += remainingBytes; + controller.close(); + await cancelSource(); + return; + } + controller.enqueue(value); + emittedBytes += value.length; + }, + async cancel(reason) { + await cancelSource(reason); + } + }); +} +async function fileTypeFromStream(stream, options) { + return new FileTypeParser(options).fromStream(stream); +} +async function fileTypeFromBuffer(input, options) { + return new FileTypeParser(options).fromBuffer(input); +} +async function fileTypeFromBlob(blob, options) { + return new FileTypeParser(options).fromBlob(blob); +} +async function fileTypeFromTokenizer(tokenizer, options) { + return new FileTypeParser(options).fromTokenizer(tokenizer); +} +async function fileTypeStream(webStream, options) { + return new FileTypeParser(options).toDetectionStream(webStream, options); +} +async function fileTypeFromFile(path, options) { + return new FileTypeParser(options).fromFile(path); +} +var reasonableDetectionSizeInBytes, maximumMpegOffsetTolerance, maximumNestedGzipDetectionSizeInBytes, maximumNestedGzipProbeDepth, unknownSizeGzipProbeTimeoutInMilliseconds, maximumId3HeaderSizeInBytes, maximumTiffTagCount, maximumDetectionReentryCount, maximumTiffStreamIfdOffsetInBytes, maximumTiffIfdOffsetInBytes, FileTypeParser, supportedExtensions, supportedMimeTypes; +var init_source = __esm({ + "../../node_modules/.pnpm/file-type@22.1.1/node_modules/file-type/source/index.js"() { + init_lib2(); + init_core(); + init_lib3(); + init_uint8array_extras(); + init_tokens(); + init_supported(); + init_parser(); + init_zip(); + init_ebml(); + init_png(); + init_asf(); + reasonableDetectionSizeInBytes = 4100; + maximumMpegOffsetTolerance = reasonableDetectionSizeInBytes - 4; + maximumNestedGzipDetectionSizeInBytes = maximumUntrustedSkipSizeInBytes; + maximumNestedGzipProbeDepth = 1; + unknownSizeGzipProbeTimeoutInMilliseconds = 100; + maximumId3HeaderSizeInBytes = maximumUntrustedSkipSizeInBytes; + maximumTiffTagCount = 512; + maximumDetectionReentryCount = 256; + maximumTiffStreamIfdOffsetInBytes = 1024 * 1024; + maximumTiffIfdOffsetInBytes = maximumUntrustedSkipSizeInBytes; + __name(normalizeSampleSize, "normalizeSampleSize"); + __name(normalizeMpegOffsetTolerance, "normalizeMpegOffsetTolerance"); + __name(getKnownFileSizeOrMaximum, "getKnownFileSizeOrMaximum"); + __name(importAtRuntime, "importAtRuntime"); + __name(toDefaultStream, "toDefaultStream"); + __name(readWithSignal, "readWithSignal"); + __name(createByteLimitedReadableStream, "createByteLimitedReadableStream"); + __name(fileTypeFromStream, "fileTypeFromStream"); + __name(fileTypeFromBuffer, "fileTypeFromBuffer"); + __name(fileTypeFromBlob, "fileTypeFromBlob"); + __name(fileTypeFromTokenizer, "fileTypeFromTokenizer"); + __name(fileTypeStream, "fileTypeStream"); + FileTypeParser = class _FileTypeParser { + static { + __name(this, "FileTypeParser"); + } + constructor(options) { + const normalizedMpegOffsetTolerance = normalizeMpegOffsetTolerance(options?.mpegOffsetTolerance); + this.options = { + ...options, + mpegOffsetTolerance: normalizedMpegOffsetTolerance + }; + this.detectors = [ + ...this.options.customDetectors ?? [], + { id: "core", detect: this.detectConfident }, + { id: "core.imprecise", detect: this.detectImprecise } + ]; + this.tokenizerOptions = { + abortSignal: this.options.signal + }; + this.gzipProbeDepth = 0; + } + getTokenizerOptions() { + return { + ...this.tokenizerOptions + }; + } + createTokenizerFromWebStream(stream) { + return fromWebStream(toDefaultStream(stream), this.getTokenizerOptions()); + } + async parseTokenizer(tokenizer, detectionReentryCount = 0) { + this.detectionReentryCount = detectionReentryCount; + const initialPosition = tokenizer.position; + for (const detector of this.detectors) { + let fileType; + try { + fileType = await detector.detect(tokenizer); + } catch (error) { + if (error instanceof EndOfStreamError) { + return; + } + if (error instanceof ParserHardLimitError) { + return; + } + throw error; + } + if (fileType) { + return fileType; + } + if (initialPosition !== tokenizer.position) { + return void 0; + } + } + } + async fromTokenizer(tokenizer) { + try { + return await this.parseTokenizer(tokenizer); + } finally { + await tokenizer.close(); + } + } + async fromBuffer(input) { + if (!(input instanceof Uint8Array || input instanceof ArrayBuffer)) { + throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof input}\``); + } + const buffer = input instanceof Uint8Array ? input : new Uint8Array(input); + if (!(buffer?.length > 1)) { + return; + } + return this.fromTokenizer(fromBuffer(buffer, this.getTokenizerOptions())); + } + async fromBlob(blob) { + this.options.signal?.throwIfAborted(); + const tokenizer = fromBlob(blob, this.getTokenizerOptions()); + return this.fromTokenizer(tokenizer); + } + async fromStream(stream) { + this.options.signal?.throwIfAborted(); + const tokenizer = this.createTokenizerFromWebStream(stream); + return this.fromTokenizer(tokenizer); + } + async fromFile(path) { + this.options.signal?.throwIfAborted(); + const [{ default: fsPromises }, { FileTokenizer }] = await Promise.all([ + importAtRuntime("node:fs/promises"), + importAtRuntime("strtok3") + ]); + const fileHandle = await fsPromises.open(path, fsPromises.constants.O_RDONLY | fsPromises.constants.O_NONBLOCK); + const fileStat = await fileHandle.stat(); + if (!fileStat.isFile()) { + await fileHandle.close(); + return; + } + const tokenizer = new FileTokenizer(fileHandle, { + ...this.getTokenizerOptions(), + fileInfo: { path, size: fileStat.size } + }); + return this.fromTokenizer(tokenizer); + } + async toDetectionStream(stream, options) { + this.options.signal?.throwIfAborted(); + const sampleSize = normalizeSampleSize(options?.sampleSize ?? reasonableDetectionSizeInBytes); + let detectedFileType; + let streamEnded = false; + const reader = stream.getReader(); + const chunks = []; + let totalSize = 0; + try { + while (totalSize < sampleSize) { + const { value, done } = await readWithSignal(reader, this.options.signal); + if (done || !value) { + streamEnded = true; + break; + } + chunks.push(value); + totalSize += value.length; + } + if (!streamEnded && totalSize === sampleSize) { + const { value, done } = await readWithSignal(reader, this.options.signal); + if (done || !value) { + streamEnded = true; + } else { + chunks.push(value); + totalSize += value.length; + } + } + } finally { + reader.releaseLock(); + } + if (totalSize > 0) { + const sample = chunks.length === 1 ? chunks[0] : concatUint8Arrays(chunks); + try { + detectedFileType = await this.fromBuffer(sample.subarray(0, sampleSize)); + } catch (error) { + if (!(error instanceof EndOfStreamError)) { + throw error; + } + detectedFileType = void 0; + } + if (!streamEnded && detectedFileType?.ext === "pages") { + detectedFileType = { + ext: "zip", + mime: "application/zip" + }; + } + } + const transformStream = new TransformStream({ + start(controller) { + for (const chunk of chunks) { + controller.enqueue(chunk); + } + }, + transform(chunk, controller) { + controller.enqueue(chunk); + } + }); + const newStream = stream.pipeThrough(transformStream); + newStream.fileType = detectedFileType; + return newStream; + } + async detectGzip(tokenizer) { + if (this.gzipProbeDepth >= maximumNestedGzipProbeDepth) { + return { + ext: "gz", + mime: "application/gzip" + }; + } + const gzipHandler = new GzipHandler(tokenizer); + const limitedInflatedStream = createByteLimitedReadableStream(gzipHandler.inflate(), maximumNestedGzipDetectionSizeInBytes); + const hasUnknownSize = hasUnknownFileSize(tokenizer); + let timeout; + let probeSignal; + let probeParser; + let compressedFileType; + if (hasUnknownSize) { + const timeoutController = new AbortController(); + timeout = setTimeout(() => { + timeoutController.abort(new DOMException(`Operation timed out after ${unknownSizeGzipProbeTimeoutInMilliseconds} ms`, "TimeoutError")); + }, unknownSizeGzipProbeTimeoutInMilliseconds); + probeSignal = this.options.signal === void 0 ? timeoutController.signal : AbortSignal.any([this.options.signal, timeoutController.signal]); + probeParser = new _FileTypeParser({ + ...this.options, + signal: probeSignal + }); + probeParser.gzipProbeDepth = this.gzipProbeDepth + 1; + } else { + this.gzipProbeDepth++; + } + try { + compressedFileType = await (probeParser ?? this).fromStream(limitedInflatedStream); + } catch (error) { + if (error?.name === "AbortError" && probeSignal?.reason?.name !== "TimeoutError") { + throw error; + } + } finally { + clearTimeout(timeout); + if (!hasUnknownSize) { + this.gzipProbeDepth--; + } + } + if (compressedFileType?.ext === "tar") { + return { + ext: "tar.gz", + mime: "application/gzip" + }; + } + return { + ext: "gz", + mime: "application/gzip" + }; + } + check(header, options) { + return checkBytes(this.buffer, header, options); + } + checkString(header, options) { + return this.check(stringToBytes(header, options?.encoding), options); + } + // Detections with a high degree of certainty in identifying the correct file type + detectConfident = /* @__PURE__ */ __name(async (tokenizer) => { + this.buffer = new Uint8Array(reasonableDetectionSizeInBytes); + if (tokenizer.fileInfo.size === void 0) { + tokenizer.fileInfo.size = Number.MAX_SAFE_INTEGER; + } + this.tokenizer = tokenizer; + if (hasUnknownFileSize(tokenizer)) { + await tokenizer.peekBuffer(this.buffer, { length: 3, mayBeLess: true }); + if (this.check([31, 139, 8])) { + return this.detectGzip(tokenizer); + } + } + await tokenizer.peekBuffer(this.buffer, { length: 32, mayBeLess: true }); + if (this.check([66, 77])) { + return { + ext: "bmp", + mime: "image/bmp" + }; + } + if (this.check([11, 119])) { + return { + ext: "ac3", + mime: "audio/vnd.dolby.dd-raw" + }; + } + if (this.check([120, 1])) { + return { + ext: "dmg", + mime: "application/x-apple-diskimage" + }; + } + if (this.check([77, 90])) { + return { + ext: "exe", + mime: "application/x-msdownload" + }; + } + if (this.check([37, 33])) { + await tokenizer.peekBuffer(this.buffer, { length: 24, mayBeLess: true }); + if (this.checkString("PS-Adobe-", { offset: 2 }) && this.checkString(" EPSF-", { offset: 14 })) { + return { + ext: "eps", + mime: "application/eps" + }; + } + return { + ext: "ps", + mime: "application/postscript" + }; + } + if (this.check([31, 160]) || this.check([31, 157])) { + return { + ext: "Z", + mime: "application/x-compress" + }; + } + if (this.check([199, 113])) { + return { + ext: "cpio", + mime: "application/x-cpio" + }; + } + if (this.check([96, 234])) { + return { + ext: "arj", + mime: "application/x-arj" + }; + } + if (this.check([239, 187, 191])) { + if (this.detectionReentryCount >= maximumDetectionReentryCount) { + return; + } + this.detectionReentryCount++; + await this.tokenizer.ignore(3); + return this.detectConfident(tokenizer); + } + if (this.check([71, 73, 70])) { + return { + ext: "gif", + mime: "image/gif" + }; + } + if (this.check([73, 73, 188])) { + return { + ext: "jxr", + mime: "image/vnd.ms-photo" + }; + } + if (this.check([31, 139, 8])) { + return this.detectGzip(tokenizer); + } + if (this.check([66, 90, 104])) { + return { + ext: "bz2", + mime: "application/x-bzip2" + }; + } + if (this.checkString("ID3")) { + await safeIgnore(tokenizer, 6, { + maximumLength: 6, + reason: "ID3 header prefix" + }); + const id3HeaderLength = await tokenizer.readToken(uint32SyncSafeToken); + const isUnknownFileSize = hasUnknownFileSize(tokenizer); + if (!Number.isFinite(id3HeaderLength) || id3HeaderLength < 0 || isUnknownFileSize && (id3HeaderLength > maximumId3HeaderSizeInBytes || tokenizer.position + id3HeaderLength > maximumId3HeaderSizeInBytes)) { + return; + } + if (tokenizer.position + id3HeaderLength > tokenizer.fileInfo.size) { + if (isUnknownFileSize) { + return; + } + return { + ext: "mp3", + mime: "audio/mpeg" + }; + } + try { + await safeIgnore(tokenizer, id3HeaderLength, { + maximumLength: isUnknownFileSize ? maximumId3HeaderSizeInBytes : tokenizer.fileInfo.size, + reason: "ID3 payload" + }); + } catch (error) { + if (error instanceof EndOfStreamError) { + return; + } + throw error; + } + if (this.detectionReentryCount >= maximumDetectionReentryCount) { + return; + } + this.detectionReentryCount++; + return this.parseTokenizer(tokenizer, this.detectionReentryCount); + } + if (this.checkString("MP+")) { + return { + ext: "mpc", + mime: "audio/x-musepack" + }; + } + if ((this.buffer[0] === 67 || this.buffer[0] === 70) && this.check([87, 83], { offset: 1 })) { + return { + ext: "swf", + mime: "application/x-shockwave-flash" + }; + } + if (this.check([255, 216, 255])) { + if (this.check([247], { offset: 3 })) { + return { + ext: "jls", + mime: "image/jls" + }; + } + return { + ext: "jpg", + mime: "image/jpeg" + }; + } + if (this.check([79, 98, 106, 1])) { + return { + ext: "avro", + mime: "application/avro" + }; + } + if (this.checkString("FLIF")) { + return { + ext: "flif", + mime: "image/flif" + }; + } + if (this.checkString("8BPS")) { + return { + ext: "psd", + mime: "image/vnd.adobe.photoshop" + }; + } + if (this.checkString("MPCK")) { + return { + ext: "mpc", + mime: "audio/x-musepack" + }; + } + if (this.checkString("FORM")) { + return { + ext: "aif", + mime: "audio/aiff" + }; + } + if (this.checkString("icns", { offset: 0 })) { + return { + ext: "icns", + mime: "image/icns" + }; + } + if (this.check([80, 75, 3, 4])) { + return detectZip(tokenizer); + } + if (this.checkString("OggS")) { + await tokenizer.ignore(28); + const type = new Uint8Array(8); + await tokenizer.readBuffer(type); + if (checkBytes(type, [79, 112, 117, 115, 72, 101, 97, 100])) { + return { + ext: "opus", + mime: "audio/ogg; codecs=opus" + }; + } + if (checkBytes(type, [128, 116, 104, 101, 111, 114, 97])) { + return { + ext: "ogv", + mime: "video/ogg" + }; + } + if (checkBytes(type, [1, 118, 105, 100, 101, 111, 0])) { + return { + ext: "ogm", + mime: "video/ogg" + }; + } + if (checkBytes(type, [127, 70, 76, 65, 67])) { + return { + ext: "oga", + mime: "audio/ogg" + }; + } + if (checkBytes(type, [83, 112, 101, 101, 120, 32, 32])) { + return { + ext: "spx", + mime: "audio/ogg" + }; + } + if (checkBytes(type, [1, 118, 111, 114, 98, 105, 115])) { + return { + ext: "ogg", + mime: "audio/ogg" + }; + } + return { + ext: "ogx", + mime: "application/ogg" + }; + } + if (this.check([80, 75]) && (this.buffer[2] === 3 || this.buffer[2] === 5 || this.buffer[2] === 7) && (this.buffer[3] === 4 || this.buffer[3] === 6 || this.buffer[3] === 8)) { + return { + ext: "zip", + mime: "application/zip" + }; + } + if (this.checkString("MThd")) { + return { + ext: "mid", + mime: "audio/midi" + }; + } + if (this.checkString("wOFF") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) { + return { + ext: "woff", + mime: "font/woff" + }; + } + if (this.checkString("wOF2") && (this.check([0, 1, 0, 0], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) { + return { + ext: "woff2", + mime: "font/woff2" + }; + } + if (this.check([212, 195, 178, 161]) || this.check([161, 178, 195, 212])) { + return { + ext: "pcap", + mime: "application/vnd.tcpdump.pcap" + }; + } + if (this.checkString("DSD ")) { + return { + ext: "dsf", + mime: "audio/x-dsf" + // Non-standard + }; + } + if (this.checkString("LZIP")) { + return { + ext: "lz", + mime: "application/lzip" + }; + } + if (this.checkString("fLaC")) { + return { + ext: "flac", + mime: "audio/flac" + }; + } + if (this.check([66, 80, 71, 251])) { + return { + ext: "bpg", + mime: "image/bpg" + }; + } + if (this.checkString("wvpk")) { + return { + ext: "wv", + mime: "audio/wavpack" + }; + } + if (this.checkString("%PDF")) { + return { + ext: "pdf", + mime: "application/pdf" + }; + } + if (this.check([0, 97, 115, 109])) { + return { + ext: "wasm", + mime: "application/wasm" + }; + } + if (this.check([73, 73])) { + const fileType = await this.readTiffHeader(false); + if (fileType) { + return fileType; + } + } + if (this.check([77, 77])) { + const fileType = await this.readTiffHeader(true); + if (fileType) { + return fileType; + } + } + if (this.checkString("MAC ")) { + return { + ext: "ape", + mime: "audio/ape" + }; + } + if (this.check([26, 69, 223, 163])) { + return detectEbml(tokenizer); + } + if (this.checkString("SQLi")) { + return { + ext: "sqlite", + mime: "application/x-sqlite3" + }; + } + if (this.check([78, 69, 83, 26])) { + return { + ext: "nes", + mime: "application/x-nintendo-nes-rom" + }; + } + if (this.checkString("Cr24")) { + return { + ext: "crx", + mime: "application/x-google-chrome-extension" + }; + } + if (this.checkString("MSCF") || this.checkString("ISc(")) { + return { + ext: "cab", + mime: "application/vnd.ms-cab-compressed" + }; + } + if (this.check([237, 171, 238, 219])) { + return { + ext: "rpm", + mime: "application/x-rpm" + }; + } + if (this.check([197, 208, 211, 198])) { + return { + ext: "eps", + mime: "application/eps" + }; + } + if (this.check([40, 181, 47, 253])) { + return { + ext: "zst", + mime: "application/zstd" + }; + } + if (this.check([127, 69, 76, 70])) { + return { + ext: "elf", + mime: "application/x-elf" + }; + } + if (this.check([33, 66, 68, 78])) { + return { + ext: "pst", + mime: "application/vnd.ms-outlook" + }; + } + if (this.checkString("PAR1") || this.checkString("PARE")) { + return { + ext: "parquet", + mime: "application/vnd.apache.parquet" + }; + } + if (this.checkString("ttcf")) { + return { + ext: "ttc", + mime: "font/collection" + }; + } + if (this.check([254, 237, 250, 206]) || this.check([254, 237, 250, 207]) || this.check([206, 250, 237, 254]) || this.check([207, 250, 237, 254])) { + return { + ext: "macho", + mime: "application/x-mach-binary" + }; + } + if (this.check([4, 34, 77, 24])) { + return { + ext: "lz4", + mime: "application/x-lz4" + // Informal, used by freedesktop.org shared-mime-info + }; + } + if (this.checkString("regf")) { + return { + ext: "dat", + mime: "application/x-ft-windows-registry-hive" + }; + } + if (this.checkString("$FL2") || this.checkString("$FL3")) { + return { + ext: "sav", + mime: "application/x-spss-sav" + }; + } + if (this.check([79, 84, 84, 79, 0])) { + return { + ext: "otf", + mime: "font/otf" + }; + } + if (this.checkString("#!AMR")) { + return { + ext: "amr", + mime: "audio/amr" + }; + } + if (this.checkString(String.raw`{\rtf`)) { + return { + ext: "rtf", + mime: "application/rtf" + }; + } + if (this.check([70, 76, 86, 1])) { + return { + ext: "flv", + mime: "video/x-flv" + }; + } + if (this.checkString("IMPM")) { + return { + ext: "it", + mime: "audio/x-it" + }; + } + if (this.checkString("-lh0-", { offset: 2 }) || this.checkString("-lh1-", { offset: 2 }) || this.checkString("-lh2-", { offset: 2 }) || this.checkString("-lh3-", { offset: 2 }) || this.checkString("-lh4-", { offset: 2 }) || this.checkString("-lh5-", { offset: 2 }) || this.checkString("-lh6-", { offset: 2 }) || this.checkString("-lh7-", { offset: 2 }) || this.checkString("-lzs-", { offset: 2 }) || this.checkString("-lz4-", { offset: 2 }) || this.checkString("-lz5-", { offset: 2 }) || this.checkString("-lhd-", { offset: 2 })) { + return { + ext: "lzh", + mime: "application/x-lzh-compressed" + }; + } + if (this.check([0, 0, 1, 186])) { + if (this.check([33], { offset: 4, mask: [241] })) { + return { + ext: "mpg", + // May also be .ps, .mpeg + mime: "video/MP1S" + }; + } + if (this.check([68], { offset: 4, mask: [196] })) { + return { + ext: "mpg", + // May also be .mpg, .m2p, .vob or .sub + mime: "video/MP2P" + }; + } + } + if (this.checkString("ITSF")) { + return { + ext: "chm", + mime: "application/vnd.ms-htmlhelp" + }; + } + if (this.check([202, 254, 186, 190])) { + const machOArchitectureCount = UINT32_BE.get(this.buffer, 4); + const javaClassFileMajorVersion = UINT16_BE.get(this.buffer, 6); + if (machOArchitectureCount > 0 && machOArchitectureCount <= 30) { + return { + ext: "macho", + mime: "application/x-mach-binary" + }; + } + if (javaClassFileMajorVersion > 30) { + return { + ext: "class", + mime: "application/java-vm" + }; + } + } + if (this.checkString(".RMF")) { + return { + ext: "rm", + mime: "application/vnd.rn-realmedia" + }; + } + if (this.checkString("DRACO")) { + return { + ext: "drc", + mime: "application/x-ft-draco" + }; + } + if (this.check([253, 55, 122, 88, 90, 0])) { + return { + ext: "xz", + mime: "application/x-xz" + }; + } + if (this.checkString("= 1e3 && version <= 1050) { + return { + ext: "dwg", + mime: "image/vnd.dwg" + }; + } + } + if (this.checkString("070707")) { + return { + ext: "cpio", + mime: "application/x-cpio" + }; + } + if (this.checkString("BLENDER")) { + return { + ext: "blend", + mime: "application/x-blender" + }; + } + if (this.checkString("!")) { + await tokenizer.ignore(8); + const string = await tokenizer.readToken(new StringType(13, "ascii")); + if (string === "debian-binary") { + return { + ext: "deb", + mime: "application/x-deb" + }; + } + return { + ext: "ar", + mime: "application/x-unix-archive" + }; + } + if (this.checkString("WEBVTT") && // One of LF, CR, tab, space, or end of file must follow "WEBVTT" per the spec (see `fixture/fixture-vtt-*.vtt` for examples). Note that `\0` is technically the null character (there is no such thing as an EOF character). However, checking for `\0` gives us the same result as checking for the end of the stream. + ["\n", "\r", " ", " ", "\0"].some((char7) => this.checkString(char7, { offset: 6 }))) { + return { + ext: "vtt", + mime: "text/vtt" + }; + } + if (this.check([137, 80, 78, 71, 13, 10, 26, 10])) { + return detectPng(tokenizer); + } + if (this.check([65, 82, 82, 79, 87, 49, 0, 0])) { + return { + ext: "arrow", + mime: "application/vnd.apache.arrow.file" + }; + } + if (this.check([103, 108, 84, 70, 2, 0, 0, 0])) { + return { + ext: "glb", + mime: "model/gltf-binary" + }; + } + if (this.check([102, 114, 101, 101], { offset: 4 }) || this.check([109, 100, 97, 116], { offset: 4 }) || this.check([109, 111, 111, 118], { offset: 4 }) || this.check([119, 105, 100, 101], { offset: 4 })) { + return { + ext: "mov", + mime: "video/quicktime" + }; + } + if (this.check([73, 73, 82, 79, 8, 0, 0, 0, 24])) { + return { + ext: "orf", + mime: "image/x-olympus-orf" + }; + } + if (this.checkString("gimp xcf ")) { + return { + ext: "xcf", + mime: "image/x-xcf" + }; + } + if (this.checkString("ftyp", { offset: 4 }) && (this.buffer[8] & 96) !== 0) { + const brandMajor = new StringType(4, "latin1").get(this.buffer, 8).replace("\0", " ").trim(); + switch (brandMajor) { + case "avif": + case "avis": + return { ext: "avif", mime: "image/avif" }; + case "mif1": + return { ext: "heic", mime: "image/heif" }; + case "msf1": + return { ext: "heic", mime: "image/heif-sequence" }; + case "heic": + case "heix": + return { ext: "heic", mime: "image/heic" }; + case "hevc": + case "hevx": + return { ext: "heic", mime: "image/heic-sequence" }; + case "qt": + return { ext: "mov", mime: "video/quicktime" }; + case "M4V": + case "M4VH": + case "M4VP": + return { ext: "m4v", mime: "video/x-m4v" }; + case "M4P": + return { ext: "m4p", mime: "video/mp4" }; + case "M4B": + return { ext: "m4b", mime: "audio/mp4" }; + case "M4A": + return { ext: "m4a", mime: "audio/x-m4a" }; + case "F4V": + return { ext: "f4v", mime: "video/mp4" }; + case "F4P": + return { ext: "f4p", mime: "video/mp4" }; + case "F4A": + return { ext: "f4a", mime: "audio/mp4" }; + case "F4B": + return { ext: "f4b", mime: "audio/mp4" }; + case "crx": + return { ext: "cr3", mime: "image/x-canon-cr3" }; + default: + if (brandMajor.startsWith("3g")) { + if (brandMajor.startsWith("3g2")) { + return { ext: "3g2", mime: "video/3gpp2" }; + } + return { ext: "3gp", mime: "video/3gpp" }; + } + return { ext: "mp4", mime: "video/mp4" }; + } + } + if (this.checkString("REGEDIT4\r\n")) { + return { + ext: "reg", + mime: "application/x-ms-regedit" + }; + } + if (this.check([82, 73, 70, 70])) { + if (this.checkString("WEBP", { offset: 8 })) { + return { + ext: "webp", + mime: "image/webp" + }; + } + if (this.check([65, 86, 73], { offset: 8 })) { + return { + ext: "avi", + mime: "video/vnd.avi" + }; + } + if (this.check([87, 65, 86, 69], { offset: 8 })) { + return { + ext: "wav", + mime: "audio/wav" + }; + } + if (this.check([81, 76, 67, 77], { offset: 8 })) { + return { + ext: "qcp", + mime: "audio/qcelp" + }; + } + } + if (this.check([73, 73, 85, 0, 24, 0, 0, 0, 136, 231, 116, 216])) { + return { + ext: "rw2", + mime: "image/x-panasonic-rw2" + }; + } + if (this.check([48, 38, 178, 117, 142, 102, 207, 17, 166, 217])) { + return detectAsf(tokenizer); + } + if (this.check([171, 75, 84, 88, 32, 49, 49, 187, 13, 10, 26, 10])) { + return { + ext: "ktx", + mime: "image/ktx" + }; + } + if ((this.check([126, 16, 4]) || this.check([126, 24, 4])) && this.check([48, 77, 73, 69], { offset: 4 })) { + return { + ext: "mie", + mime: "application/x-mie" + }; + } + if (this.check([39, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], { offset: 2 })) { + return { + ext: "shp", + mime: "application/x-esri-shape" + }; + } + if (this.check([255, 79, 255, 81])) { + return { + ext: "j2c", + mime: "image/j2c" + }; + } + if (this.check([0, 0, 0, 12, 106, 80, 32, 32, 13, 10, 135, 10])) { + await tokenizer.ignore(20); + const type = await tokenizer.readToken(new StringType(4, "ascii")); + switch (type) { + case "jp2 ": + return { + ext: "jp2", + mime: "image/jp2" + }; + case "jpx ": + return { + ext: "jpx", + mime: "image/jpx" + }; + case "jpm ": + return { + ext: "jpm", + mime: "image/jpm" + }; + case "mjp2": + return { + ext: "mj2", + mime: "image/mj2" + }; + default: + return; + } + } + if (this.check([255, 10]) || this.check([0, 0, 0, 12, 74, 88, 76, 32, 13, 10, 135, 10])) { + return { + ext: "jxl", + mime: "image/jxl" + }; + } + if (this.check([254, 255])) { + if (this.checkString("= 16) { + const jsonSize = new DataView(this.buffer.buffer).getUint32(12, true); + if (jsonSize > 12 && this.buffer.length >= jsonSize + 16) { + try { + const header = new TextDecoder().decode(this.buffer.subarray(16, jsonSize + 16)); + const json = JSON.parse(header); + if (json.files) { + return { + ext: "asar", + mime: "application/x-asar" + }; + } + } catch { + } + } + } + if (this.check([6, 14, 43, 52, 2, 5, 1, 1, 13, 1, 2, 1, 1, 2])) { + return { + ext: "mxf", + mime: "application/mxf" + }; + } + if (this.checkString("SCRM", { offset: 44 })) { + return { + ext: "s3m", + mime: "audio/x-s3m" + }; + } + if (this.check([71]) && this.check([71], { offset: 188 })) { + return { + ext: "mts", + mime: "video/mp2t" + }; + } + if (this.check([71], { offset: 4 }) && this.check([71], { offset: 196 })) { + return { + ext: "mts", + mime: "video/mp2t" + }; + } + if (this.check([66, 79, 79, 75, 77, 79, 66, 73], { offset: 60 })) { + return { + ext: "mobi", + mime: "application/x-mobipocket-ebook" + }; + } + if (this.check([68, 73, 67, 77], { offset: 128 })) { + return { + ext: "dcm", + mime: "application/dicom" + }; + } + if (this.check([76, 0, 0, 0, 1, 20, 2, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70])) { + return { + ext: "lnk", + mime: "application/x-ms-shortcut" + // Informal, used by freedesktop.org shared-mime-info + }; + } + if (this.check([98, 111, 111, 107, 0, 0, 0, 0, 109, 97, 114, 107, 0, 0, 0, 0])) { + return { + ext: "alias", + mime: "application/x-ft-apple.alias" + }; + } + if (this.checkString("Kaydara FBX Binary \0")) { + return { + ext: "fbx", + mime: "application/x-ft-fbx" + }; + } + if (this.check([76, 80], { offset: 34 }) && (this.check([0, 0, 1], { offset: 8 }) || this.check([1, 0, 2], { offset: 8 }) || this.check([2, 0, 2], { offset: 8 }))) { + return { + ext: "eot", + mime: "application/vnd.ms-fontobject" + }; + } + if (this.check([6, 6, 237, 245, 216, 29, 70, 229, 189, 49, 239, 231, 254, 116, 183, 29])) { + return { + ext: "indd", + mime: "application/x-indesign" + }; + } + if (this.check([255, 255, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 1, 0, 1, 0]) || this.check([0, 0, 255, 255, 0, 0, 0, 7, 0, 0, 0, 4, 0, 1, 0, 1])) { + return { + ext: "jmp", + mime: "application/x-jmp-data" + }; + } + await tokenizer.peekBuffer(this.buffer, { length: Math.min(512, tokenizer.fileInfo.size), mayBeLess: true }); + if (this.checkString("ustar", { offset: 257 }) && (this.checkString("\0", { offset: 262 }) || this.checkString(" ", { offset: 262 })) || this.check([0, 0, 0, 0, 0, 0], { offset: 257 }) && tarHeaderChecksumMatches(this.buffer)) { + return { + ext: "tar", + mime: "application/x-tar" + }; + } + if (this.check([255, 254])) { + const encoding = "utf-16le"; + if (this.checkString("= isoStandardIdentifierOffset + isoStandardIdentifierLength) { + const isoStandardIdentifier = new Uint8Array(isoStandardIdentifierLength); + await tokenizer.peekBuffer(isoStandardIdentifier, { + position: isoStandardIdentifierOffset, + length: isoStandardIdentifierLength, + mayBeLess: true + }); + if (checkBytes(isoStandardIdentifier, stringToBytes("CD001"))) { + return { + ext: "iso", + mime: "application/x-iso9660-image" + }; + } + } + }, "detectConfident"); + // Detections with limited supporting data, resulting in a higher likelihood of false positives + detectImprecise = /* @__PURE__ */ __name(async (tokenizer) => { + this.buffer = new Uint8Array(reasonableDetectionSizeInBytes); + const fileSize = getKnownFileSizeOrMaximum(tokenizer.fileInfo.size); + await tokenizer.peekBuffer(this.buffer, { length: Math.min(8, fileSize), mayBeLess: true }); + if (this.check([0, 0, 1, 186]) || this.check([0, 0, 1, 179])) { + return { + ext: "mpg", + mime: "video/mpeg" + }; + } + if (this.check([0, 1, 0, 0, 0])) { + return { + ext: "ttf", + mime: "font/ttf" + }; + } + if (this.check([0, 0, 1, 0])) { + return { + ext: "ico", + mime: "image/x-icon" + }; + } + if (this.check([0, 0, 2, 0])) { + return { + ext: "cur", + mime: "image/x-icon" + }; + } + await tokenizer.peekBuffer(this.buffer, { length: Math.min(4 + this.options.mpegOffsetTolerance, fileSize), mayBeLess: true }); + if (this.buffer.length >= 4 + this.options.mpegOffsetTolerance) { + for (let depth = 0; depth <= this.options.mpegOffsetTolerance; ++depth) { + const type = this.scanMpeg(depth); + if (type) { + return type; + } + } + } + }, "detectImprecise"); + async readTiffTag(bigEndian) { + const tagId = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE); + await this.tokenizer.ignore(10); + switch (tagId) { + case 50341: + return { + ext: "arw", + mime: "image/x-sony-arw" + }; + case 50706: + return { + ext: "dng", + mime: "image/x-adobe-dng" + }; + default: + } + } + async readTiffIFD(bigEndian) { + const numberOfTags = await this.tokenizer.readToken(bigEndian ? UINT16_BE : UINT16_LE); + if (numberOfTags > maximumTiffTagCount) { + return; + } + if (hasUnknownFileSize(this.tokenizer) && 2 + numberOfTags * 12 > maximumTiffIfdOffsetInBytes) { + return; + } + for (let n = 0; n < numberOfTags; ++n) { + const fileType = await this.readTiffTag(bigEndian); + if (fileType) { + return fileType; + } + } + } + async readTiffHeader(bigEndian) { + const tiffFileType = { + ext: "tif", + mime: "image/tiff" + }; + const version = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 2); + const ifdOffset = (bigEndian ? UINT32_BE : UINT32_LE).get(this.buffer, 4); + if (version === 42) { + if (ifdOffset >= 6) { + if (this.checkString("CR", { offset: 8 })) { + return { + ext: "cr2", + mime: "image/x-canon-cr2" + }; + } + if (ifdOffset >= 8) { + const someId1 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 8); + const someId2 = (bigEndian ? UINT16_BE : UINT16_LE).get(this.buffer, 10); + if (someId1 === 28 && someId2 === 254 || someId1 === 31 && someId2 === 11) { + return { + ext: "nef", + mime: "image/x-nikon-nef" + }; + } + } + } + if (hasUnknownFileSize(this.tokenizer) && ifdOffset > maximumTiffStreamIfdOffsetInBytes) { + return tiffFileType; + } + const maximumTiffOffset = hasUnknownFileSize(this.tokenizer) ? maximumTiffIfdOffsetInBytes : this.tokenizer.fileInfo.size; + try { + await safeIgnore(this.tokenizer, ifdOffset, { + maximumLength: maximumTiffOffset, + reason: "TIFF IFD offset" + }); + } catch (error) { + if (error instanceof EndOfStreamError) { + return; + } + throw error; + } + let fileType; + try { + fileType = await this.readTiffIFD(bigEndian); + } catch (error) { + if (error instanceof EndOfStreamError) { + return; + } + throw error; + } + return fileType ?? tiffFileType; + } + if (version === 43) { + return tiffFileType; + } + } + /** + Scan check MPEG 1 or 2 Layer 3 header, or 'layer 0' for ADTS (MPEG sync-word 0xFFE). + + @param offset - Offset to scan for sync-preamble. + @returns {{ext: string, mime: string}} + */ + scanMpeg(offset) { + if (this.check([255, 224], { offset, mask: [255, 224] })) { + if (this.check([16], { offset: offset + 1, mask: [22] })) { + return { + ext: "aac", + mime: "audio/aac" + }; + } + if (this.check([255, 254], { offset })) { + return; + } + if (this.check([8], { offset: offset + 1, mask: [24] })) { + return; + } + if (this.check([240], { offset: offset + 2, mask: [240] })) { + return; + } + if (this.check([12], { offset: offset + 2, mask: [12] })) { + return; + } + if (this.check([2], { offset: offset + 1, mask: [6] })) { + return { + ext: "mp3", + mime: "audio/mpeg" + }; + } + if (this.check([4], { offset: offset + 1, mask: [6] })) { + return { + ext: "mp2", + mime: "audio/mpeg" + }; + } + if (this.check([6], { offset: offset + 1, mask: [6] })) { + return { + ext: "mp1", + mime: "audio/mpeg" + }; + } + } + } + }; + supportedExtensions = new Set(extensions); + supportedMimeTypes = new Set(mimeTypes); + __name(fileTypeFromFile, "fileTypeFromFile"); + } +}); +init_source(); +export { + FileTypeParser, + fileTypeFromBlob, + fileTypeFromBuffer, + fileTypeFromFile, + fileTypeFromStream, + fileTypeFromTokenizer, + fileTypeStream, + normalizeSampleSize, + reasonableDetectionSizeInBytes, + supportedExtensions, + supportedMimeTypes +}; diff --git a/apps/api/.output/dist/main.js b/apps/api/.output/dist/main.js new file mode 100644 index 0000000..d61da50 --- /dev/null +++ b/apps/api/.output/dist/main.js @@ -0,0 +1,3595 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + ACCEPTED_IMAGE_TYPES, + AuditService, + AuthService, + CommonModule, + JwtModule, + JwtService, + MESSAGE_STATUSES, + PrismaModule, + PrismaService, + RevalidateService, + S3Storage, + SECTION_KEYS, + categoryInputSchema, + changePasswordSchema, + contactInputSchema, + env, + external_exports, + hashPassword, + isProd, + isSectionKey, + loginSchema, + mediaUpdateSchema, + messageUpdateSchema, + prismaNamespace_exports, + productInputSchema, + productListQuerySchema, + reorderSchema, + sectionSchemas, + toIssues, + toUserDto, + toWebp, + userCreateSchema, + userUpdateSchema +} from "./chunks/chunk-TXBARIZB.js"; +import "./chunks/chunk-KIUJQ22G.js"; +import { + APP_FILTER, + APP_GUARD, + FileInterceptor, + NestFactory, + Reflector, + core_exports, + init_core, + init_platform_express, + require_cookie +} from "./chunks/chunk-XSOBN2CI.js"; +import { + BadRequestException, + Body, + Catch, + ConflictException, + Controller, + Delete, + ForbiddenException, + Get, + HttpCode, + HttpStatus, + Injectable, + Logger, + Module, + NotFoundException, + Param, + Patch, + Post, + Put, + Query, + Req, + Res, + ServiceUnavailableException, + SetMetadata, + UnauthorizedException, + UploadedFile, + UseGuards, + UseInterceptors, + applyDecorators, + common_exports, + createParamDecorator, + init_common +} from "./chunks/chunk-BX2ML7LW.js"; +import "./chunks/chunk-C4DYPKAN.js"; +import "./chunks/chunk-A34KYKJP.js"; +import "./chunks/chunk-6UPY3HEI.js"; +import { + __commonJS, + __name, + __require, + __toCommonJS, + __toESM +} from "./chunks/chunk-T6GW54FI.js"; + +// ../../node_modules/.pnpm/cookie-signature@1.0.6/node_modules/cookie-signature/index.js +var require_cookie_signature = __commonJS({ + "../../node_modules/.pnpm/cookie-signature@1.0.6/node_modules/cookie-signature/index.js"(exports) { + var crypto = __require("crypto"); + exports.sign = function(val, secret) { + if ("string" != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if ("string" != typeof secret) throw new TypeError("Secret string must be provided."); + return val + "." + crypto.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, ""); + }; + exports.unsign = function(val, secret) { + if ("string" != typeof val) throw new TypeError("Signed cookie string must be provided."); + if ("string" != typeof secret) throw new TypeError("Secret string must be provided."); + var str = val.slice(0, val.lastIndexOf(".")), mac = exports.sign(str, secret); + return sha1(mac) == sha1(val) ? str : false; + }; + function sha1(str) { + return crypto.createHash("sha1").update(str).digest("hex"); + } + __name(sha1, "sha1"); + } +}); + +// ../../node_modules/.pnpm/cookie-parser@1.4.7/node_modules/cookie-parser/index.js +var require_cookie_parser = __commonJS({ + "../../node_modules/.pnpm/cookie-parser@1.4.7/node_modules/cookie-parser/index.js"(exports, module) { + "use strict"; + var cookie = require_cookie(); + var signature = require_cookie_signature(); + module.exports = cookieParser2; + module.exports.JSONCookie = JSONCookie; + module.exports.JSONCookies = JSONCookies; + module.exports.signedCookie = signedCookie; + module.exports.signedCookies = signedCookies; + function cookieParser2(secret, options) { + var secrets = !secret || Array.isArray(secret) ? secret || [] : [secret]; + return /* @__PURE__ */ __name(function cookieParser3(req, res, next) { + if (req.cookies) { + return next(); + } + var cookies = req.headers.cookie; + req.secret = secrets[0]; + req.cookies = /* @__PURE__ */ Object.create(null); + req.signedCookies = /* @__PURE__ */ Object.create(null); + if (!cookies) { + return next(); + } + req.cookies = cookie.parse(cookies, options); + if (secrets.length !== 0) { + req.signedCookies = signedCookies(req.cookies, secrets); + req.signedCookies = JSONCookies(req.signedCookies); + } + req.cookies = JSONCookies(req.cookies); + next(); + }, "cookieParser"); + } + __name(cookieParser2, "cookieParser"); + function JSONCookie(str) { + if (typeof str !== "string" || str.substr(0, 2) !== "j:") { + return void 0; + } + try { + return JSON.parse(str.slice(2)); + } catch (err) { + return void 0; + } + } + __name(JSONCookie, "JSONCookie"); + function JSONCookies(obj) { + var cookies = Object.keys(obj); + var key; + var val; + for (var i = 0; i < cookies.length; i++) { + key = cookies[i]; + val = JSONCookie(obj[key]); + if (val) { + obj[key] = val; + } + } + return obj; + } + __name(JSONCookies, "JSONCookies"); + function signedCookie(str, secret) { + if (typeof str !== "string") { + return void 0; + } + if (str.substr(0, 2) !== "s:") { + return str; + } + var secrets = !secret || Array.isArray(secret) ? secret || [] : [secret]; + for (var i = 0; i < secrets.length; i++) { + var val = signature.unsign(str.slice(2), secrets[i]); + if (val !== false) { + return val; + } + } + return false; + } + __name(signedCookie, "signedCookie"); + function signedCookies(obj, secret) { + var cookies = Object.keys(obj); + var dec; + var key; + var ret = /* @__PURE__ */ Object.create(null); + var val; + for (var i = 0; i < cookies.length; i++) { + key = cookies[i]; + val = obj[key]; + dec = signedCookie(val, secret); + if (val !== dec) { + ret[key] = dec; + delete obj[key]; + } + } + return ret; + } + __name(signedCookies, "signedCookies"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/ip.js +var require_ip = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/ip.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.DEFAULT_IPV6_SUBNET_PREFIX = void 0; + exports.normalizeIp = normalizeIp; + var net_1 = __require("net"); + exports.DEFAULT_IPV6_SUBNET_PREFIX = 64; + function toHextets(address) { + let head = address; + const lastColon = head.lastIndexOf(":"); + const tail = head.slice(lastColon + 1); + if (tail.includes(".")) { + const octets = tail.split(".").map(Number); + if (octets.length !== 4 || octets.some((o) => !Number.isInteger(o) || o < 0 || o > 255)) { + return null; + } + const high = (octets[0] << 8 | octets[1]).toString(16); + const low = (octets[2] << 8 | octets[3]).toString(16); + head = `${head.slice(0, lastColon + 1)}${high}:${low}`; + } + const sides = head.split("::"); + if (sides.length > 2) { + return null; + } + const left = sides[0] ? sides[0].split(":") : []; + const right = sides.length === 2 && sides[1] ? sides[1].split(":") : []; + const fill = sides.length === 2 ? 8 - left.length - right.length : 0; + if (fill < 0 || left.length + fill + right.length !== 8) { + return null; + } + const groups = [...left, ...new Array(fill).fill("0"), ...right]; + const hextets = groups.map((group) => parseInt(group, 16)); + if (hextets.some((hextet) => !Number.isInteger(hextet) || hextet < 0 || hextet > 65535)) { + return null; + } + return hextets; + } + __name(toHextets, "toHextets"); + function maskHextets(hextets, prefix) { + return hextets.map((hextet, index) => { + const bitsBefore = index * 16; + if (prefix >= bitsBefore + 16) { + return hextet; + } + if (prefix <= bitsBefore) { + return 0; + } + const keep = prefix - bitsBefore; + return hextet & (65535 << 16 - keep & 65535); + }); + } + __name(maskHextets, "maskHextets"); + function formatIpv6(hextets) { + let bestStart = -1; + let bestLength = 0; + let runStart = -1; + let runLength = 0; + for (let index = 0; index < hextets.length; index++) { + if (hextets[index] !== 0) { + runStart = -1; + runLength = 0; + continue; + } + if (runStart === -1) { + runStart = index; + } + runLength++; + if (runLength > bestLength) { + bestStart = runStart; + bestLength = runLength; + } + } + const groups = hextets.map((hextet) => hextet.toString(16)); + if (bestLength < 2) { + return groups.join(":"); + } + return `${groups.slice(0, bestStart).join(":")}::${groups.slice(bestStart + bestLength).join(":")}`; + } + __name(formatIpv6, "formatIpv6"); + function normalizeIp(ip, ipv6SubnetPrefix = exports.DEFAULT_IPV6_SUBNET_PREFIX) { + if (typeof ip !== "string" || ip.length === 0) { + return ip; + } + const zoneIndex = ip.indexOf("%"); + const bare = zoneIndex === -1 ? ip : ip.slice(0, zoneIndex); + const version = (0, net_1.isIP)(bare); + if (version === 4) { + return bare; + } + if (version !== 6) { + return ip; + } + const hextets = toHextets(bare.toLowerCase()); + if (!hextets) { + return ip; + } + const isLoopback = hextets[7] === 1 && hextets.slice(0, 7).every((hextet) => hextet === 0); + if (isLoopback) { + return "::1"; + } + const isIpv4Mapped = hextets[0] === 0 && hextets[1] === 0 && hextets[2] === 0 && hextets[3] === 0 && hextets[4] === 0 && hextets[5] === 65535; + if (isIpv4Mapped) { + return [hextets[6] >> 8, hextets[6] & 255, hextets[7] >> 8, hextets[7] & 255].join("."); + } + const prefix = Number.isFinite(ipv6SubnetPrefix) ? Math.min(Math.max(Math.trunc(ipv6SubnetPrefix), 0), 128) : exports.DEFAULT_IPV6_SUBNET_PREFIX; + return `${formatIpv6(maskHextets(hextets, prefix))}/${prefix}`; + } + __name(normalizeIp, "normalizeIp"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-module-options.interface.js +var require_throttler_module_options_interface = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-module-options.interface.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-storage.interface.js +var require_throttler_storage_interface = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler-storage.interface.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ThrottlerStorage = void 0; + exports.ThrottlerStorage = /* @__PURE__ */ Symbol("ThrottlerStorage"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.constants.js +var require_throttler_constants = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.constants.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.THROTTLER_SKIP = exports.THROTTLER_OPTIONS = exports.THROTTLER_KEY_GENERATOR = exports.THROTTLER_BLOCK_DURATION = exports.THROTTLER_TRACKER = exports.THROTTLER_TTL = exports.THROTTLER_LIMIT = void 0; + exports.THROTTLER_LIMIT = "THROTTLER:LIMIT"; + exports.THROTTLER_TTL = "THROTTLER:TTL"; + exports.THROTTLER_TRACKER = "THROTTLER:TRACKER"; + exports.THROTTLER_BLOCK_DURATION = "THROTTLER:BLOCK_DURATION"; + exports.THROTTLER_KEY_GENERATOR = "THROTTLER:KEY_GENERATOR"; + exports.THROTTLER_OPTIONS = "THROTTLER:MODULE_OPTIONS"; + exports.THROTTLER_SKIP = "THROTTLER:SKIP"; + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.service.js +var require_throttler_service = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.service.js"(exports) { + "use strict"; + var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ThrottlerStorageService = exports.DEFAULT_SWEEP_INTERVAL = void 0; + var common_1 = (init_common(), __toCommonJS(common_exports)); + var async_hooks_1 = __require("async_hooks"); + exports.DEFAULT_SWEEP_INTERVAL = 6e4; + var ThrottlerStorageService = class ThrottlerStorageService { + static { + __name(this, "ThrottlerStorageService"); + } + constructor() { + this._storage = /* @__PURE__ */ new Map(); + this.hitExpirations = /* @__PURE__ */ new Map(); + this.sweepIntervalMs = exports.DEFAULT_SWEEP_INTERVAL; + this.startSweep = async_hooks_1.AsyncResource.bind(() => { + var _a, _b; + this.sweepInterval = setInterval(() => this.evictIdleRecords(), this.sweepIntervalMs); + (_b = (_a = this.sweepInterval).unref) === null || _b === void 0 ? void 0 : _b.call(_a); + }); + } + ensureSweep() { + if (this.sweepInterval) { + return; + } + this.startSweep(); + } + get storage() { + return this._storage; + } + evictIdleRecords(now = Date.now()) { + for (const [key, record] of this._storage) { + if (record.isBlocked && record.blockExpiresAt > now) { + continue; + } + if (record.expiresAt > now) { + continue; + } + if (this.hasLiveHits(key, now)) { + continue; + } + this.hitExpirations.delete(key); + this._storage.delete(key); + } + } + hasLiveHits(key, now) { + const expirations = this.hitExpirations.get(key); + if (!expirations) { + return false; + } + for (const hits of expirations.values()) { + if (hits.some((expiresAt) => expiresAt > now)) { + return true; + } + } + return false; + } + getHitExpirations(key, throttlerName) { + let expirations = this.hitExpirations.get(key); + if (!expirations) { + expirations = /* @__PURE__ */ new Map(); + this.hitExpirations.set(key, expirations); + } + let hits = expirations.get(throttlerName); + if (!hits) { + hits = []; + expirations.set(throttlerName, hits); + } + return hits; + } + pruneExpiredHits(key, throttlerName, now = Date.now()) { + const hits = this.getHitExpirations(key, throttlerName).filter((expiresAt) => expiresAt > now); + this.hitExpirations.get(key).set(throttlerName, hits); + this.storage.get(key).totalHits.set(throttlerName, hits.length); + } + getExpirationTime(key) { + return Math.ceil((this.storage.get(key).expiresAt - Date.now()) / 1e3); + } + getBlockExpirationTime(key) { + return Math.ceil((this.storage.get(key).blockExpiresAt - Date.now()) / 1e3); + } + resetBlockedRequest(key, throttlerName) { + this.storage.get(key).isBlocked = false; + this.storage.get(key).totalHits.set(throttlerName, 0); + this.hitExpirations.get(key).set(throttlerName, []); + } + fireHitCount(key, throttlerName, ttl) { + const { totalHits } = this.storage.get(key); + totalHits.set(throttlerName, totalHits.get(throttlerName) + 1); + this.getHitExpirations(key, throttlerName).push(Date.now() + ttl); + } + incrementWithoutBlock(key, ttlMilliseconds, limit, throttlerName, timeToExpire) { + const { totalHits } = this.storage.get(key); + const isBlocked = totalHits.get(throttlerName) >= limit; + if (!isBlocked) { + this.fireHitCount(key, throttlerName, ttlMilliseconds); + } + const hits = this.getHitExpirations(key, throttlerName); + const timeToBlockExpire = hits.length ? Math.ceil((Math.min(...hits) - Date.now()) / 1e3) : timeToExpire; + return { + totalHits: totalHits.get(throttlerName) + (isBlocked ? 1 : 0), + timeToExpire, + isBlocked, + timeToBlockExpire: isBlocked ? timeToBlockExpire : 0 + }; + } + async increment(key, ttl, limit, blockDuration, throttlerName) { + const ttlMilliseconds = ttl; + const blockDurationMilliseconds = blockDuration; + this.ensureSweep(); + if (!this.storage.has(key)) { + this.storage.set(key, { + totalHits: /* @__PURE__ */ new Map([[throttlerName, 0]]), + expiresAt: Date.now() + ttlMilliseconds, + blockExpiresAt: 0, + isBlocked: false + }); + } + this.pruneExpiredHits(key, throttlerName); + let timeToExpire = this.getExpirationTime(key); + if (timeToExpire <= 0) { + this.storage.get(key).expiresAt = Date.now() + ttlMilliseconds; + timeToExpire = this.getExpirationTime(key); + } + if (blockDurationMilliseconds <= 0) { + return this.incrementWithoutBlock(key, ttlMilliseconds, limit, throttlerName, timeToExpire); + } + if (!this.storage.get(key).isBlocked) { + this.fireHitCount(key, throttlerName, ttlMilliseconds); + } + if (this.storage.get(key).totalHits.get(throttlerName) > limit && !this.storage.get(key).isBlocked) { + this.storage.get(key).isBlocked = true; + this.storage.get(key).blockExpiresAt = Date.now() + blockDurationMilliseconds; + } + const timeToBlockExpire = this.getBlockExpirationTime(key); + if (timeToBlockExpire <= 0 && this.storage.get(key).isBlocked) { + this.resetBlockedRequest(key, throttlerName); + this.fireHitCount(key, throttlerName, ttlMilliseconds); + } + return { + totalHits: this.storage.get(key).totalHits.get(throttlerName), + timeToExpire, + isBlocked: this.storage.get(key).isBlocked, + timeToBlockExpire + }; + } + onApplicationShutdown() { + if (this.sweepInterval) { + clearInterval(this.sweepInterval); + this.sweepInterval = void 0; + } + this.hitExpirations.clear(); + this._storage.clear(); + } + }; + exports.ThrottlerStorageService = ThrottlerStorageService; + exports.ThrottlerStorageService = ThrottlerStorageService = __decorate15([ + (0, common_1.Injectable)() + ], ThrottlerStorageService); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.providers.js +var require_throttler_providers = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.providers.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getStorageToken = exports.getOptionsToken = exports.ThrottlerStorageProvider = void 0; + exports.createThrottlerProviders = createThrottlerProviders; + var throttler_storage_interface_1 = require_throttler_storage_interface(); + var throttler_constants_1 = require_throttler_constants(); + var throttler_service_1 = require_throttler_service(); + function createThrottlerProviders(options) { + return [ + { + provide: throttler_constants_1.THROTTLER_OPTIONS, + useValue: options + } + ]; + } + __name(createThrottlerProviders, "createThrottlerProviders"); + exports.ThrottlerStorageProvider = { + provide: throttler_storage_interface_1.ThrottlerStorage, + useFactory: /* @__PURE__ */ __name((options) => { + return !Array.isArray(options) && options.storage ? options.storage : new throttler_service_1.ThrottlerStorageService(); + }, "useFactory"), + inject: [throttler_constants_1.THROTTLER_OPTIONS] + }; + var getOptionsToken = /* @__PURE__ */ __name(() => throttler_constants_1.THROTTLER_OPTIONS, "getOptionsToken"); + exports.getOptionsToken = getOptionsToken; + var getStorageToken = /* @__PURE__ */ __name(() => throttler_storage_interface_1.ThrottlerStorage, "getStorageToken"); + exports.getStorageToken = getStorageToken; + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.decorator.js +var require_throttler_decorator = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.decorator.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.InjectThrottlerStorage = exports.InjectThrottlerOptions = exports.SkipThrottle = exports.Throttle = void 0; + var common_1 = (init_common(), __toCommonJS(common_exports)); + var throttler_constants_1 = require_throttler_constants(); + var throttler_providers_1 = require_throttler_providers(); + function setThrottlerMetadata(target, options) { + for (const name in options) { + Reflect.defineMetadata(throttler_constants_1.THROTTLER_TTL + name, options[name].ttl, target); + Reflect.defineMetadata(throttler_constants_1.THROTTLER_LIMIT + name, options[name].limit, target); + Reflect.defineMetadata(throttler_constants_1.THROTTLER_BLOCK_DURATION + name, options[name].blockDuration, target); + Reflect.defineMetadata(throttler_constants_1.THROTTLER_TRACKER + name, options[name].getTracker, target); + Reflect.defineMetadata(throttler_constants_1.THROTTLER_KEY_GENERATOR + name, options[name].generateKey, target); + } + } + __name(setThrottlerMetadata, "setThrottlerMetadata"); + var Throttle3 = /* @__PURE__ */ __name((options) => { + return (target, propertyKey, descriptor) => { + if (descriptor) { + setThrottlerMetadata(descriptor.value, options); + return descriptor; + } + setThrottlerMetadata(target, options); + return target; + }; + }, "Throttle"); + exports.Throttle = Throttle3; + var SkipThrottle = /* @__PURE__ */ __name((skip = { default: true }) => { + return (target, propertyKey, descriptor) => { + var _a; + const reflectionTarget = (_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value) !== null && _a !== void 0 ? _a : target; + for (const key in skip) { + Reflect.defineMetadata(throttler_constants_1.THROTTLER_SKIP + key, skip[key], reflectionTarget); + } + return descriptor !== null && descriptor !== void 0 ? descriptor : target; + }; + }, "SkipThrottle"); + exports.SkipThrottle = SkipThrottle; + var InjectThrottlerOptions = /* @__PURE__ */ __name(() => (0, common_1.Inject)((0, throttler_providers_1.getOptionsToken)()), "InjectThrottlerOptions"); + exports.InjectThrottlerOptions = InjectThrottlerOptions; + var InjectThrottlerStorage = /* @__PURE__ */ __name(() => (0, common_1.Inject)((0, throttler_providers_1.getStorageToken)()), "InjectThrottlerStorage"); + exports.InjectThrottlerStorage = InjectThrottlerStorage; + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.exception.js +var require_throttler_exception = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.exception.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ThrottlerException = exports.throttlerMessage = void 0; + var common_1 = (init_common(), __toCommonJS(common_exports)); + exports.throttlerMessage = "ThrottlerException: Too Many Requests"; + var ThrottlerException = class extends common_1.HttpException { + static { + __name(this, "ThrottlerException"); + } + constructor(message) { + super(`${message || exports.throttlerMessage}`, common_1.HttpStatus.TOO_MANY_REQUESTS); + } + }; + exports.ThrottlerException = ThrottlerException; + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/hash.js +var require_hash = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/hash.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.sha256 = sha256; + var crypto = __require("node:crypto"); + function sha256(text) { + return crypto.createHash("sha256").update(text).digest("hex"); + } + __name(sha256, "sha256"); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.js +var require_throttler_guard = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.js"(exports) { + "use strict"; + var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var __metadata14 = exports && exports.__metadata || function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var __param8 = exports && exports.__param || function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; + }; + var ThrottlerGuard_1; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ThrottlerGuard = void 0; + var common_1 = (init_common(), __toCommonJS(common_exports)); + var core_1 = (init_core(), __toCommonJS(core_exports)); + var hash_1 = require_hash(); + var ip_1 = require_ip(); + var throttler_storage_interface_1 = require_throttler_storage_interface(); + var throttler_constants_1 = require_throttler_constants(); + var throttler_decorator_1 = require_throttler_decorator(); + var throttler_exception_1 = require_throttler_exception(); + var ThrottlerGuard2 = ThrottlerGuard_1 = class ThrottlerGuard { + static { + __name(this, "ThrottlerGuard"); + } + constructor(options, storageService, reflector) { + this.options = options; + this.storageService = storageService; + this.reflector = reflector; + this.headerPrefix = "X-RateLimit"; + this.logger = new common_1.Logger(ThrottlerGuard_1.name); + this.errorMessage = throttler_exception_1.throttlerMessage; + this.ipv6SubnetPrefix = ip_1.DEFAULT_IPV6_SUBNET_PREFIX; + } + async onModuleInit() { + var _a, _b, _c; + var _d, _e; + this.throttlers = (Array.isArray(this.options) ? this.options : this.options.throttlers).sort((first, second) => { + if (typeof first.ttl === "function") { + return 1; + } + if (typeof second.ttl === "function") { + return 0; + } + return first.ttl - second.ttl; + }).map((opt) => { + var _a2; + return Object.assign(Object.assign({}, opt), { name: (_a2 = opt.name) !== null && _a2 !== void 0 ? _a2 : "default" }); + }); + if (!this.throttlers.length) { + this.logger.warn("No throttlers are configured, so no request is limited. Provide at least one entry to ThrottlerModule.forRoot() or return one from ThrottlerModule.forRootAsync()."); + } + if (Array.isArray(this.options)) { + this.commonOptions = {}; + } else { + this.commonOptions = { + skipIf: this.options.skipIf, + ignoreUserAgents: this.options.ignoreUserAgents, + getTracker: this.options.getTracker, + generateKey: this.options.generateKey, + setHeaders: this.options.setHeaders + }; + this.ipv6SubnetPrefix = (_a = this.options.ipv6SubnetPrefix) !== null && _a !== void 0 ? _a : ip_1.DEFAULT_IPV6_SUBNET_PREFIX; + } + (_b = (_d = this.commonOptions).getTracker) !== null && _b !== void 0 ? _b : _d.getTracker = this.getTracker.bind(this); + (_c = (_e = this.commonOptions).generateKey) !== null && _c !== void 0 ? _c : _e.generateKey = this.generateKey.bind(this); + } + async canActivate(context) { + var _a; + const handler = context.getHandler(); + const classRef = context.getClass(); + if (await this.shouldSkip(context)) { + return true; + } + const continues = []; + for (const namedThrottler of this.throttlers) { + const skip = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_SKIP + namedThrottler.name, [ + handler, + classRef + ]); + const skipIf = namedThrottler.skipIf || this.commonOptions.skipIf; + if (skip || (skipIf === null || skipIf === void 0 ? void 0 : skipIf(context))) { + continues.push(true); + continue; + } + const routeOrClassLimit = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_LIMIT + namedThrottler.name, [handler, classRef]); + const routeOrClassTtl = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_TTL + namedThrottler.name, [handler, classRef]); + const routeOrClassBlockDuration = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_BLOCK_DURATION + namedThrottler.name, [handler, classRef]); + const routeOrClassGetTracker = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_TRACKER + namedThrottler.name, [handler, classRef]); + const routeOrClassGetKeyGenerator = this.reflector.getAllAndOverride(throttler_constants_1.THROTTLER_KEY_GENERATOR + namedThrottler.name, [handler, classRef]); + const limit = this.toNumber(await this.resolveValue(context, routeOrClassLimit !== null && routeOrClassLimit !== void 0 ? routeOrClassLimit : namedThrottler.limit), "limit", namedThrottler.name); + const ttl = this.toNumber(await this.resolveValue(context, routeOrClassTtl !== null && routeOrClassTtl !== void 0 ? routeOrClassTtl : namedThrottler.ttl), "ttl", namedThrottler.name); + const blockDuration = this.toNumber(await this.resolveValue(context, (_a = routeOrClassBlockDuration !== null && routeOrClassBlockDuration !== void 0 ? routeOrClassBlockDuration : namedThrottler.blockDuration) !== null && _a !== void 0 ? _a : ttl), "blockDuration", namedThrottler.name); + const getTracker = routeOrClassGetTracker || namedThrottler.getTracker || this.commonOptions.getTracker; + const generateKey = routeOrClassGetKeyGenerator || namedThrottler.generateKey || this.commonOptions.generateKey; + continues.push(await this.handleRequest({ + context, + limit, + ttl, + throttler: namedThrottler, + blockDuration, + getTracker, + generateKey + })); + } + return continues.every((cont) => cont); + } + async shouldSkip(_context) { + return false; + } + async handleRequest(requestProps) { + var _a, _b, _c; + const { context, limit, ttl, throttler, blockDuration, getTracker, generateKey } = requestProps; + const { req, res } = this.getRequestResponse(context); + const ignoreUserAgents = (_a = throttler.ignoreUserAgents) !== null && _a !== void 0 ? _a : this.commonOptions.ignoreUserAgents; + if (Array.isArray(ignoreUserAgents)) { + for (const pattern of ignoreUserAgents) { + if (pattern.test(req.headers["user-agent"])) { + return true; + } + } + } + const tracker = await getTracker(req, context); + const key = generateKey(context, tracker, throttler.name); + const { totalHits, timeToExpire, isBlocked, timeToBlockExpire } = await this.storageService.increment(key, ttl, limit, blockDuration, throttler.name); + const getThrottlerSuffix = /* @__PURE__ */ __name((name) => name === "default" ? "" : `-${name}`, "getThrottlerSuffix"); + const setHeaders = (_c = (_b = throttler.setHeaders) !== null && _b !== void 0 ? _b : this.commonOptions.setHeaders) !== null && _c !== void 0 ? _c : true; + if (isBlocked) { + if (setHeaders) { + this.setResponseHeader(res, `Retry-After${getThrottlerSuffix(throttler.name)}`, timeToBlockExpire); + } + await this.throwThrottlingException(context, { + limit, + ttl, + key, + tracker, + totalHits, + timeToExpire, + isBlocked, + timeToBlockExpire + }); + } + if (setHeaders) { + this.setResponseHeader(res, `${this.headerPrefix}-Limit${getThrottlerSuffix(throttler.name)}`, limit); + this.setResponseHeader(res, `${this.headerPrefix}-Remaining${getThrottlerSuffix(throttler.name)}`, Math.max(0, limit - totalHits)); + this.setResponseHeader(res, `${this.headerPrefix}-Reset${getThrottlerSuffix(throttler.name)}`, timeToExpire); + } + return true; + } + async getTracker(req) { + return (0, ip_1.normalizeIp)(req.ip, this.ipv6SubnetPrefix); + } + setResponseHeader(res, name, value) { + if (typeof res.header === "function") { + res.header(name, value); + } else if (typeof res.setHeader === "function") { + res.setHeader(name, value); + } + } + getRequestResponse(context) { + const http = context.switchToHttp(); + return { req: http.getRequest(), res: http.getResponse() }; + } + generateKey(context, suffix, name) { + const prefix = `${context.getClass().name}-${context.getHandler().name}-${name}`; + return (0, hash_1.sha256)(`${prefix}-${suffix}`); + } + async throwThrottlingException(context, throttlerLimitDetail) { + throw new throttler_exception_1.ThrottlerException(await this.getErrorMessage(context, throttlerLimitDetail)); + } + async getErrorMessage(context, throttlerLimitDetail) { + if (!Array.isArray(this.options)) { + if (!this.options.errorMessage) + return this.errorMessage; + return typeof this.options.errorMessage === "function" ? this.options.errorMessage(context, throttlerLimitDetail) : this.options.errorMessage; + } + return this.errorMessage; + } + toNumber(value, option, throttlerName) { + const number = typeof value === "string" && value.trim() !== "" ? Number(value) : value; + if (typeof number !== "number" || Number.isNaN(number)) { + throw new Error(`Invalid "${option}" for the "${throttlerName}" throttler: expected a number, got ${JSON.stringify(value)}.`); + } + return number; + } + async resolveValue(context, resolvableValue) { + return typeof resolvableValue === "function" ? resolvableValue(context) : resolvableValue; + } + }; + exports.ThrottlerGuard = ThrottlerGuard2; + exports.ThrottlerGuard = ThrottlerGuard2 = ThrottlerGuard_1 = __decorate15([ + (0, common_1.Injectable)(), + __param8(0, (0, throttler_decorator_1.InjectThrottlerOptions)()), + __param8(1, (0, throttler_decorator_1.InjectThrottlerStorage)()), + __metadata14("design:paramtypes", [Object, Object, core_1.Reflector]) + ], ThrottlerGuard2); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.interface.js +var require_throttler_guard_interface = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.guard.interface.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.module.js +var require_throttler_module = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/throttler.module.js"(exports) { + "use strict"; + var __decorate15 = exports && exports.__decorate || function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var ThrottlerModule_1; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ThrottlerModule = void 0; + var common_1 = (init_common(), __toCommonJS(common_exports)); + var throttler_constants_1 = require_throttler_constants(); + var throttler_providers_1 = require_throttler_providers(); + var ThrottlerModule2 = ThrottlerModule_1 = class ThrottlerModule { + static { + __name(this, "ThrottlerModule"); + } + static forRoot(options = []) { + const providers = [...(0, throttler_providers_1.createThrottlerProviders)(options), throttler_providers_1.ThrottlerStorageProvider]; + return { + module: ThrottlerModule_1, + providers, + exports: providers + }; + } + static forRootAsync(options) { + const providers = [...this.createAsyncProviders(options), throttler_providers_1.ThrottlerStorageProvider]; + return { + module: ThrottlerModule_1, + imports: options.imports || [], + providers, + exports: providers + }; + } + static createAsyncProviders(options) { + if (options.useExisting || options.useFactory) { + return [this.createAsyncOptionsProvider(options)]; + } + return [ + this.createAsyncOptionsProvider(options), + { + provide: options.useClass, + useClass: options.useClass + } + ]; + } + static createAsyncOptionsProvider(options) { + if (options.useFactory) { + return { + provide: throttler_constants_1.THROTTLER_OPTIONS, + useFactory: options.useFactory, + inject: options.inject || [] + }; + } + return { + provide: throttler_constants_1.THROTTLER_OPTIONS, + useFactory: /* @__PURE__ */ __name(async (optionsFactory) => await optionsFactory.createThrottlerOptions(), "useFactory"), + inject: [options.useExisting || options.useClass] + }; + } + }; + exports.ThrottlerModule = ThrottlerModule2; + exports.ThrottlerModule = ThrottlerModule2 = ThrottlerModule_1 = __decorate15([ + (0, common_1.Global)(), + (0, common_1.Module)({}) + ], ThrottlerModule2); + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/utilities.js +var require_utilities = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/utilities.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.weeks = exports.days = exports.hours = exports.minutes = exports.seconds = void 0; + var seconds = /* @__PURE__ */ __name((howMany) => howMany * 1e3, "seconds"); + exports.seconds = seconds; + var minutes = /* @__PURE__ */ __name((howMany) => 60 * howMany * (0, exports.seconds)(1), "minutes"); + exports.minutes = minutes; + var hours = /* @__PURE__ */ __name((howMany) => 60 * howMany * (0, exports.minutes)(1), "hours"); + exports.hours = hours; + var days = /* @__PURE__ */ __name((howMany) => 24 * howMany * (0, exports.hours)(1), "days"); + exports.days = days; + var weeks = /* @__PURE__ */ __name((howMany) => 7 * howMany * (0, exports.days)(1), "weeks"); + exports.weeks = weeks; + } +}); + +// ../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/index.js +var require_dist = __commonJS({ + "../../node_modules/.pnpm/@nestjs+throttler@6.7.1_@ne_8947d8974bd7ad1fe5135dd2888a680f/node_modules/@nestjs/throttler/dist/index.js"(exports) { + "use strict"; + var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: /* @__PURE__ */ __name(function() { + return m[k]; + }, "get") }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __exportStar = exports && exports.__exportStar || function(m, exports2) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.getStorageToken = exports.getOptionsToken = void 0; + __exportStar(require_ip(), exports); + __exportStar(require_throttler_module_options_interface(), exports); + __exportStar(require_throttler_storage_interface(), exports); + __exportStar(require_throttler_decorator(), exports); + __exportStar(require_throttler_exception(), exports); + __exportStar(require_throttler_guard(), exports); + __exportStar(require_throttler_guard_interface(), exports); + __exportStar(require_throttler_module(), exports); + var throttler_providers_1 = require_throttler_providers(); + Object.defineProperty(exports, "getOptionsToken", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttler_providers_1.getOptionsToken; + }, "get") }); + Object.defineProperty(exports, "getStorageToken", { enumerable: true, get: /* @__PURE__ */ __name(function() { + return throttler_providers_1.getStorageToken; + }, "get") }); + __exportStar(require_throttler_service(), exports); + __exportStar(require_utilities(), exports); + } +}); + +// dist/main.js +init_core(); +var import_cookie_parser = __toESM(require_cookie_parser(), 1); + +// ../../node_modules/.pnpm/helmet@8.3.0/node_modules/helmet/index.mjs +var dashify = /* @__PURE__ */ __name((str) => str.replace(/[A-Z]/g, (capitalLetter) => "-" + capitalLetter.toLowerCase()), "dashify"); +var errify = /* @__PURE__ */ __name((err) => err instanceof Error ? err : new Error(String(err)), "errify"); +var isString = /* @__PURE__ */ __name((value) => typeof value === "string", "isString"); +var throwErrorIfExists = /* @__PURE__ */ __name((err) => { + if (err) throw err; +}, "throwErrorIfExists"); +var dangerouslyDisableDefaultSrc = /* @__PURE__ */ Symbol("dangerouslyDisableDefaultSrc"); +var SHOULD_BE_QUOTED = /* @__PURE__ */ new Set(["none", "self", "strict-dynamic", "report-sample", "inline-speculation-rules", "unsafe-inline", "unsafe-eval", "unsafe-hashes", "wasm-unsafe-eval"]); +var getDefaultDirectives = /* @__PURE__ */ __name(() => ({ + "default-src": ["'self'"], + "base-uri": ["'self'"], + "font-src": ["'self'", "https:", "data:"], + "form-action": ["'self'"], + "frame-ancestors": ["'self'"], + "img-src": ["'self'", "data:"], + "object-src": ["'none'"], + "script-src": ["'self'"], + "script-src-attr": ["'none'"], + "style-src": ["'self'", "https:", "'unsafe-inline'"], + "upgrade-insecure-requests": [] +}), "getDefaultDirectives"); +var parseDirectiveName = /* @__PURE__ */ __name((rawDirectiveName) => { + if (rawDirectiveName.length === 0 || !/^[a-z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(rawDirectiveName)) { + throw new Error(`Content-Security-Policy received an invalid directive name ${JSON.stringify(rawDirectiveName)}`); + } + return dashify(rawDirectiveName); +}, "parseDirectiveName"); +var getDirectiveValueValidationError = /* @__PURE__ */ __name((directiveName, directiveValue) => /;|,/.test(directiveValue) ? new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`) : null, "getDirectiveValueValidationError"); +var getDirectiveValueEntryValidationError = /* @__PURE__ */ __name((directiveName, directiveValueEntry) => SHOULD_BE_QUOTED.has(directiveValueEntry) || directiveValueEntry.startsWith("nonce-") || directiveValueEntry.startsWith("sha256-") || directiveValueEntry.startsWith("sha384-") || directiveValueEntry.startsWith("sha512-") ? new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}. ${JSON.stringify(directiveValueEntry)} should be quoted`) : null, "getDirectiveValueEntryValidationError"); +var stringifyDirectiveValue = /* @__PURE__ */ __name((directiveValue) => { + if (Array.isArray(directiveValue)) { + return directiveValue.every(isString) ? directiveValue.join(" ") : null; + } + if (directiveValue instanceof Set) { + return stringifyDirectiveValue(Array.from(directiveValue)); + } + return null; +}, "stringifyDirectiveValue"); +var parseDirectives = /* @__PURE__ */ __name(({ useDefaults = true, directives: rawDirectives = {} }) => { + const result = new Map(useDefaults ? Object.entries(getDefaultDirectives()) : []); + let hasDisabledDefaultSrc = false; + const directiveNamesSeen = /* @__PURE__ */ new Set(); + for (const rawDirectiveName in rawDirectives) { + if (!Object.hasOwn(rawDirectives, rawDirectiveName)) { + continue; + } + const directiveName = parseDirectiveName(rawDirectiveName); + if (directiveNamesSeen.has(directiveName)) { + throw new Error(`Content-Security-Policy received a duplicate directive ${JSON.stringify(directiveName)}`); + } + directiveNamesSeen.add(directiveName); + const rawDirectiveValue = rawDirectives[rawDirectiveName]; + let directiveValue; + if (rawDirectiveValue === null) { + if (directiveName === "default-src") { + throw new Error("Content-Security-Policy needs a default-src but it was set to `null`. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`."); + } + result.delete(directiveName); + continue; + } else if (typeof rawDirectiveValue === "string") { + directiveValue = [rawDirectiveValue]; + } else if (rawDirectiveValue === dangerouslyDisableDefaultSrc) { + if (directiveName === "default-src") { + hasDisabledDefaultSrc = true; + result.delete(directiveName); + continue; + } else { + throw new Error(`Content-Security-Policy: tried to disable ${JSON.stringify(directiveName)} as if it were default-src; simply omit the key`); + } + } else if (rawDirectiveValue) { + directiveValue = rawDirectiveValue; + } else { + throw new Error(`Content-Security-Policy received an invalid directive value for ${JSON.stringify(directiveName)}`); + } + for (const element of directiveValue) { + if (typeof element !== "string") continue; + throwErrorIfExists(getDirectiveValueValidationError(directiveName, element) ?? getDirectiveValueEntryValidationError(directiveName, element)); + } + result.set(directiveName, directiveValue); + } + if (!result.size) { + throw new Error("Content-Security-Policy has no directives. Either set some or disable the header"); + } + if (!result.has("default-src") && !hasDisabledDefaultSrc) { + throw new Error("Content-Security-Policy needs a default-src but none was provided. If you really want to disable it, set it to `contentSecurityPolicy.dangerouslyDisableDefaultSrc`."); + } + let stringResult = ""; + let shouldUseStringResult = true; + for (const [directiveName, directiveValue] of result) { + const directiveValueString = stringifyDirectiveValue(directiveValue); + if (directiveValueString === null) { + shouldUseStringResult = false; + break; + } else { + if (stringResult) stringResult += ";"; + stringResult += directiveValueString ? `${directiveName} ${directiveValueString}` : directiveName; + } + } + return shouldUseStringResult ? stringResult : result; +}, "parseDirectives"); +function getHeaderValue(req, res, normalizedDirectives) { + const result = []; + for (const [directiveName, rawDirectiveValue] of normalizedDirectives) { + let directiveValue = ""; + for (const element of rawDirectiveValue) { + if (typeof element === "function") { + let newElement; + try { + newElement = element(req, res); + } catch (err2) { + return errify(err2); + } + const err = getDirectiveValueEntryValidationError(directiveName, newElement); + if (err) return err; + directiveValue += " " + newElement; + } else { + directiveValue += " " + element; + } + } + if (directiveValue) { + const err = getDirectiveValueValidationError(directiveName, directiveValue); + if (err) return err; + result.push(`${directiveName}${directiveValue}`); + } else { + result.push(directiveName); + } + } + return result.join(";"); +} +__name(getHeaderValue, "getHeaderValue"); +var contentSecurityPolicy = /* @__PURE__ */ __name(function contentSecurityPolicy2(options = {}) { + const headerName = options.reportOnly ? "Content-Security-Policy-Report-Only" : "Content-Security-Policy"; + const parsedDirectives = parseDirectives(options); + if (typeof parsedDirectives === "string") { + return /* @__PURE__ */ __name(function contentSecurityPolicyMiddleware(_req, res, next) { + res.setHeader(headerName, parsedDirectives); + next(); + }, "contentSecurityPolicyMiddleware"); + } + return /* @__PURE__ */ __name(function contentSecurityPolicyMiddleware(req, res, next) { + const result = getHeaderValue(req, res, parsedDirectives); + if (result instanceof Error) { + next(result); + } else { + res.setHeader(headerName, result); + next(); + } + }, "contentSecurityPolicyMiddleware"); +}, "contentSecurityPolicy"); +contentSecurityPolicy.getDefaultDirectives = getDefaultDirectives; +contentSecurityPolicy.dangerouslyDisableDefaultSrc = dangerouslyDisableDefaultSrc; +var ALLOWED_POLICIES$2 = /* @__PURE__ */ new Set(["require-corp", "credentialless", "unsafe-none"]); +function getHeaderValueFromOptions$6({ policy = "require-corp" }) { + if (ALLOWED_POLICIES$2.has(policy)) { + return policy; + } else { + throw new Error(`Cross-Origin-Embedder-Policy does not support the ${JSON.stringify(policy)} policy`); + } +} +__name(getHeaderValueFromOptions$6, "getHeaderValueFromOptions$6"); +function crossOriginEmbedderPolicy(options = {}) { + const headerValue = getHeaderValueFromOptions$6(options); + return /* @__PURE__ */ __name(function crossOriginEmbedderPolicyMiddleware(_req, res, next) { + res.setHeader("Cross-Origin-Embedder-Policy", headerValue); + next(); + }, "crossOriginEmbedderPolicyMiddleware"); +} +__name(crossOriginEmbedderPolicy, "crossOriginEmbedderPolicy"); +var ALLOWED_POLICIES$1 = /* @__PURE__ */ new Set(["same-origin", "same-origin-allow-popups", "noopener-allow-popups", "unsafe-none"]); +function getHeaderValueFromOptions$5({ policy = "same-origin" }) { + if (ALLOWED_POLICIES$1.has(policy)) { + return policy; + } else { + throw new Error(`Cross-Origin-Opener-Policy does not support the ${JSON.stringify(policy)} policy`); + } +} +__name(getHeaderValueFromOptions$5, "getHeaderValueFromOptions$5"); +function crossOriginOpenerPolicy(options = {}) { + const headerValue = getHeaderValueFromOptions$5(options); + return /* @__PURE__ */ __name(function crossOriginOpenerPolicyMiddleware(_req, res, next) { + res.setHeader("Cross-Origin-Opener-Policy", headerValue); + next(); + }, "crossOriginOpenerPolicyMiddleware"); +} +__name(crossOriginOpenerPolicy, "crossOriginOpenerPolicy"); +var ALLOWED_POLICIES = /* @__PURE__ */ new Set(["same-origin", "same-site", "cross-origin"]); +function getHeaderValueFromOptions$4({ policy = "same-origin" }) { + if (ALLOWED_POLICIES.has(policy)) { + return policy; + } else { + throw new Error(`Cross-Origin-Resource-Policy does not support the ${JSON.stringify(policy)} policy`); + } +} +__name(getHeaderValueFromOptions$4, "getHeaderValueFromOptions$4"); +function crossOriginResourcePolicy(options = {}) { + const headerValue = getHeaderValueFromOptions$4(options); + return /* @__PURE__ */ __name(function crossOriginResourcePolicyMiddleware(_req, res, next) { + res.setHeader("Cross-Origin-Resource-Policy", headerValue); + next(); + }, "crossOriginResourcePolicyMiddleware"); +} +__name(crossOriginResourcePolicy, "crossOriginResourcePolicy"); +function originAgentCluster() { + return /* @__PURE__ */ __name(function originAgentClusterMiddleware(_req, res, next) { + res.setHeader("Origin-Agent-Cluster", "?1"); + next(); + }, "originAgentClusterMiddleware"); +} +__name(originAgentCluster, "originAgentCluster"); +var ALLOWED_TOKENS = /* @__PURE__ */ new Set(["no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url", ""]); +function getHeaderValueFromOptions$3({ policy = ["no-referrer"] }) { + const tokens = typeof policy === "string" ? [policy] : policy; + if (tokens.length === 0) { + throw new Error("Referrer-Policy received no policy tokens"); + } + const tokensSeen = /* @__PURE__ */ new Set(); + tokens.forEach((token) => { + if (!ALLOWED_TOKENS.has(token)) { + throw new Error(`Referrer-Policy received an unexpected policy token ${JSON.stringify(token)}`); + } else if (tokensSeen.has(token)) { + throw new Error(`Referrer-Policy received a duplicate policy token ${JSON.stringify(token)}`); + } + tokensSeen.add(token); + }); + return tokens.join(","); +} +__name(getHeaderValueFromOptions$3, "getHeaderValueFromOptions$3"); +function referrerPolicy(options = {}) { + const headerValue = getHeaderValueFromOptions$3(options); + return /* @__PURE__ */ __name(function referrerPolicyMiddleware(_req, res, next) { + res.setHeader("Referrer-Policy", headerValue); + next(); + }, "referrerPolicyMiddleware"); +} +__name(referrerPolicy, "referrerPolicy"); +var DEFAULT_MAX_AGE = 365 * 24 * 60 * 60; +function parseMaxAge(value = DEFAULT_MAX_AGE) { + if (value >= 0 && Number.isFinite(value)) { + return Math.floor(value); + } else { + throw new Error(`Strict-Transport-Security: ${JSON.stringify(value)} is not a valid value for maxAge. Please choose a positive integer.`); + } +} +__name(parseMaxAge, "parseMaxAge"); +function getHeaderValueFromOptions$2(options) { + if ("maxage" in options) { + throw new Error("Strict-Transport-Security received an unsupported property, `maxage`. Did you mean to pass `maxAge`?"); + } + if ("includeSubdomains" in options) { + throw new Error('Strict-Transport-Security middleware should use `includeSubDomains` instead of `includeSubdomains`. (The correct one has an uppercase "D".)'); + } + const directives = [`max-age=${parseMaxAge(options.maxAge)}`]; + if (options.includeSubDomains === void 0 || options.includeSubDomains) { + directives.push("includeSubDomains"); + } + if (options.preload) { + directives.push("preload"); + } + return directives.join("; "); +} +__name(getHeaderValueFromOptions$2, "getHeaderValueFromOptions$2"); +function strictTransportSecurity(options = {}) { + const headerValue = getHeaderValueFromOptions$2(options); + return /* @__PURE__ */ __name(function strictTransportSecurityMiddleware(_req, res, next) { + res.setHeader("Strict-Transport-Security", headerValue); + next(); + }, "strictTransportSecurityMiddleware"); +} +__name(strictTransportSecurity, "strictTransportSecurity"); +function xContentTypeOptions() { + return /* @__PURE__ */ __name(function xContentTypeOptionsMiddleware(_req, res, next) { + res.setHeader("X-Content-Type-Options", "nosniff"); + next(); + }, "xContentTypeOptionsMiddleware"); +} +__name(xContentTypeOptions, "xContentTypeOptions"); +function xDnsPrefetchControl(options = {}) { + const headerValue = options.allow ? "on" : "off"; + return /* @__PURE__ */ __name(function xDnsPrefetchControlMiddleware(_req, res, next) { + res.setHeader("X-DNS-Prefetch-Control", headerValue); + next(); + }, "xDnsPrefetchControlMiddleware"); +} +__name(xDnsPrefetchControl, "xDnsPrefetchControl"); +function xDownloadOptions() { + return /* @__PURE__ */ __name(function xDownloadOptionsMiddleware(_req, res, next) { + res.setHeader("X-Download-Options", "noopen"); + next(); + }, "xDownloadOptionsMiddleware"); +} +__name(xDownloadOptions, "xDownloadOptions"); +function getHeaderValueFromOptions$1({ action = "sameorigin" }) { + const normalizedAction = typeof action === "string" ? action.toUpperCase() : action; + switch (normalizedAction) { + case "SAME-ORIGIN": + return "SAMEORIGIN"; + case "DENY": + case "SAMEORIGIN": + return normalizedAction; + default: + throw new Error(`X-Frame-Options received an invalid action ${JSON.stringify(action)}`); + } +} +__name(getHeaderValueFromOptions$1, "getHeaderValueFromOptions$1"); +function xFrameOptions(options = {}) { + const headerValue = getHeaderValueFromOptions$1(options); + return /* @__PURE__ */ __name(function xFrameOptionsMiddleware(_req, res, next) { + res.setHeader("X-Frame-Options", headerValue); + next(); + }, "xFrameOptionsMiddleware"); +} +__name(xFrameOptions, "xFrameOptions"); +var ALLOWED_PERMITTED_POLICIES = /* @__PURE__ */ new Set(["none", "master-only", "by-content-type", "all"]); +function getHeaderValueFromOptions({ permittedPolicies = "none" }) { + if (ALLOWED_PERMITTED_POLICIES.has(permittedPolicies)) { + return permittedPolicies; + } else { + throw new Error(`X-Permitted-Cross-Domain-Policies does not support ${JSON.stringify(permittedPolicies)}`); + } +} +__name(getHeaderValueFromOptions, "getHeaderValueFromOptions"); +function xPermittedCrossDomainPolicies(options = {}) { + const headerValue = getHeaderValueFromOptions(options); + return /* @__PURE__ */ __name(function xPermittedCrossDomainPoliciesMiddleware(_req, res, next) { + res.setHeader("X-Permitted-Cross-Domain-Policies", headerValue); + next(); + }, "xPermittedCrossDomainPoliciesMiddleware"); +} +__name(xPermittedCrossDomainPolicies, "xPermittedCrossDomainPolicies"); +function xPoweredBy() { + return /* @__PURE__ */ __name(function xPoweredByMiddleware(_req, res, next) { + res.removeHeader("X-Powered-By"); + next(); + }, "xPoweredByMiddleware"); +} +__name(xPoweredBy, "xPoweredBy"); +function xXssProtection() { + return /* @__PURE__ */ __name(function xXssProtectionMiddleware(_req, res, next) { + res.setHeader("X-XSS-Protection", "0"); + next(); + }, "xXssProtectionMiddleware"); +} +__name(xXssProtection, "xXssProtection"); +function getMiddlewareFunctionsFromOptions(options) { + const result = []; + switch (options.contentSecurityPolicy) { + case void 0: + case true: + result.push(contentSecurityPolicy()); + break; + case false: + break; + default: + result.push(contentSecurityPolicy(options.contentSecurityPolicy)); + break; + } + switch (options.crossOriginEmbedderPolicy) { + case void 0: + case false: + break; + case true: + result.push(crossOriginEmbedderPolicy()); + break; + default: + result.push(crossOriginEmbedderPolicy(options.crossOriginEmbedderPolicy)); + break; + } + switch (options.crossOriginOpenerPolicy) { + case void 0: + case true: + result.push(crossOriginOpenerPolicy()); + break; + case false: + break; + default: + result.push(crossOriginOpenerPolicy(options.crossOriginOpenerPolicy)); + break; + } + switch (options.crossOriginResourcePolicy) { + case void 0: + case true: + result.push(crossOriginResourcePolicy()); + break; + case false: + break; + default: + result.push(crossOriginResourcePolicy(options.crossOriginResourcePolicy)); + break; + } + switch (options.originAgentCluster) { + case void 0: + case true: + result.push(originAgentCluster()); + break; + case false: + break; + default: + console.warn("Origin-Agent-Cluster does not take options. Remove the property to silence this warning."); + result.push(originAgentCluster()); + break; + } + switch (options.referrerPolicy) { + case void 0: + case true: + result.push(referrerPolicy()); + break; + case false: + break; + default: + result.push(referrerPolicy(options.referrerPolicy)); + break; + } + if ("strictTransportSecurity" in options && "hsts" in options) { + throw new Error("Strict-Transport-Security option was specified twice. Remove the `hsts` option to fix this error."); + } + const strictTransportSecurityOption = options.strictTransportSecurity ?? options.hsts; + switch (strictTransportSecurityOption) { + case void 0: + case true: + result.push(strictTransportSecurity()); + break; + case false: + break; + default: + result.push(strictTransportSecurity(strictTransportSecurityOption)); + break; + } + if ("xContentTypeOptions" in options && "noSniff" in options) { + throw new Error("X-Content-Type-Options option was specified twice. Remove the `noSniff` option to fix this error."); + } + const xContentTypeOptionsOption = options.xContentTypeOptions ?? options.noSniff; + switch (xContentTypeOptionsOption) { + case void 0: + case true: + result.push(xContentTypeOptions()); + break; + case false: + break; + default: + console.warn("X-Content-Type-Options does not take options. Remove the property to silence this warning."); + result.push(xContentTypeOptions()); + break; + } + if ("xDnsPrefetchControl" in options && "dnsPrefetchControl" in options) { + throw new Error("X-DNS-Prefetch-Control option was specified twice. Remove the `dnsPrefetchControl` option to fix this error."); + } + const xDnsPrefetchControlOption = options.xDnsPrefetchControl ?? options.dnsPrefetchControl; + switch (xDnsPrefetchControlOption) { + case void 0: + case true: + result.push(xDnsPrefetchControl()); + break; + case false: + break; + default: + result.push(xDnsPrefetchControl(xDnsPrefetchControlOption)); + break; + } + if ("xDownloadOptions" in options && "ieNoOpen" in options) { + throw new Error("X-Download-Options option was specified twice. Remove the `ieNoOpen` option to fix this error."); + } + const xDownloadOptionsOption = options.xDownloadOptions ?? options.ieNoOpen; + switch (xDownloadOptionsOption) { + case void 0: + case true: + result.push(xDownloadOptions()); + break; + case false: + break; + default: + console.warn("X-Download-Options does not take options. Remove the property to silence this warning."); + result.push(xDownloadOptions()); + break; + } + if ("xFrameOptions" in options && "frameguard" in options) { + throw new Error("X-Frame-Options option was specified twice. Remove the `frameguard` option to fix this error."); + } + const xFrameOptionsOption = options.xFrameOptions ?? options.frameguard; + switch (xFrameOptionsOption) { + case void 0: + case true: + result.push(xFrameOptions()); + break; + case false: + break; + default: + result.push(xFrameOptions(xFrameOptionsOption)); + break; + } + if ("xPermittedCrossDomainPolicies" in options && "permittedCrossDomainPolicies" in options) { + throw new Error("X-Permitted-Cross-Domain-Policies option was specified twice. Remove the `permittedCrossDomainPolicies` option to fix this error."); + } + const xPermittedCrossDomainPoliciesOption = options.xPermittedCrossDomainPolicies ?? options.permittedCrossDomainPolicies; + switch (xPermittedCrossDomainPoliciesOption) { + case void 0: + case true: + result.push(xPermittedCrossDomainPolicies()); + break; + case false: + break; + default: + result.push(xPermittedCrossDomainPolicies(xPermittedCrossDomainPoliciesOption)); + break; + } + if ("xPoweredBy" in options && "hidePoweredBy" in options) { + throw new Error("X-Powered-By option was specified twice. Remove the `hidePoweredBy` option to fix this error."); + } + const xPoweredByOption = options.xPoweredBy ?? options.hidePoweredBy; + switch (xPoweredByOption) { + case void 0: + case true: + result.push(xPoweredBy()); + break; + case false: + break; + default: + console.warn("X-Powered-By does not take options. Remove the property to silence this warning."); + result.push(xPoweredBy()); + break; + } + if ("xXssProtection" in options && "xssFilter" in options) { + throw new Error("X-XSS-Protection option was specified twice. Remove the `xssFilter` option to fix this error."); + } + const xXssProtectionOption = options.xXssProtection ?? options.xssFilter; + switch (xXssProtectionOption) { + case void 0: + case true: + result.push(xXssProtection()); + break; + case false: + break; + default: + console.warn("X-XSS-Protection does not take options. Remove the property to silence this warning."); + result.push(xXssProtection()); + break; + } + return result; +} +__name(getMiddlewareFunctionsFromOptions, "getMiddlewareFunctionsFromOptions"); +var helmet = Object.assign( + /* @__PURE__ */ __name(function helmet2(options = {}) { + if (options.constructor?.name === "IncomingMessage") { + throw new Error("It appears you have done something like `app.use(helmet)`, but it should be `app.use(helmet())`."); + } + const middlewareFunctions = getMiddlewareFunctionsFromOptions(options); + return /* @__PURE__ */ __name(function helmetMiddleware(req, res, next) { + let middlewareIndex = 0; + (/* @__PURE__ */ __name((function internalNext(err) { + if (err) { + next(err); + return; + } + const middlewareFunction = middlewareFunctions[middlewareIndex]; + if (middlewareFunction) { + middlewareIndex++; + middlewareFunction(req, res, internalNext); + } else { + next(); + } + }), "internalNext"))(); + }, "helmetMiddleware"); + }, "helmet"), + { + contentSecurityPolicy, + crossOriginEmbedderPolicy, + crossOriginOpenerPolicy, + crossOriginResourcePolicy, + originAgentCluster, + referrerPolicy, + strictTransportSecurity, + xContentTypeOptions, + xDnsPrefetchControl, + xDownloadOptions, + xFrameOptions, + xPermittedCrossDomainPolicies, + xPoweredBy, + xXssProtection, + // Legacy aliases + dnsPrefetchControl: xDnsPrefetchControl, + xssFilter: xXssProtection, + permittedCrossDomainPolicies: xPermittedCrossDomainPolicies, + ieNoOpen: xDownloadOptions, + noSniff: xContentTypeOptions, + frameguard: xFrameOptions, + hidePoweredBy: xPoweredBy, + hsts: strictTransportSecurity + } +); + +// dist/app.module.js +init_common(); +init_core(); +var import_throttler3 = __toESM(require_dist(), 1); + +// dist/auth/auth.controller.js +init_common(); +var import_throttler = __toESM(require_dist(), 1); + +// dist/common/auth.js +init_common(); +init_core(); +var __decorate = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var ROLES_KEY = "roles"; +var JwtAuthGuard = class JwtAuthGuard2 { + static { + __name(this, "JwtAuthGuard"); + } + jwt; + reflector; + prisma; + constructor(jwt, reflector, prisma) { + this.jwt = jwt; + this.reflector = reflector; + this.prisma = prisma; + } + async canActivate(ctx) { + const req = ctx.switchToHttp().getRequest(); + const [scheme, token] = (req.headers.authorization ?? "").split(" "); + if (scheme !== "Bearer" || !token) + throw new UnauthorizedException("\u0627\u0628\u062A\u062F\u0627 \u0648\u0627\u0631\u062F \u0634\u0648\u06CC\u062F"); + let payload; + try { + payload = await this.jwt.verifyAsync(token); + } catch { + throw new UnauthorizedException("\u0646\u0634\u0633\u062A \u0634\u0645\u0627 \u0645\u0646\u0642\u0636\u06CC \u0634\u062F\u0647 \u0627\u0633\u062A"); + } + const user = await this.prisma.adminUser.findUnique({ where: { id: payload.sub } }); + if (!user?.isActive) + throw new UnauthorizedException("\u062D\u0633\u0627\u0628 \u06A9\u0627\u0631\u0628\u0631\u06CC \u063A\u06CC\u0631\u0641\u0639\u0627\u0644 \u0627\u0633\u062A"); + req.user = { id: user.id, phone: user.phone, name: user.name, role: user.role }; + const roles = this.reflector.getAllAndOverride(ROLES_KEY, [ + ctx.getHandler(), + ctx.getClass() + ]); + if (roles?.length && !roles.includes(user.role)) { + throw new ForbiddenException("\u0628\u0631\u0627\u06CC \u0627\u06CC\u0646 \u06A9\u0627\u0631 \u062F\u0633\u062A\u0631\u0633\u06CC \u0646\u062F\u0627\u0631\u06CC\u062F"); + } + return true; + } +}; +JwtAuthGuard = __decorate([ + Injectable(), + __metadata("design:paramtypes", [ + JwtService, + Reflector, + PrismaService + ]) +], JwtAuthGuard); +var AdminAuth = /* @__PURE__ */ __name((...roles) => applyDecorators(SetMetadata(ROLES_KEY, roles), UseGuards(JwtAuthGuard)), "AdminAuth"); +var Roles = /* @__PURE__ */ __name((...roles) => SetMetadata(ROLES_KEY, roles), "Roles"); +var CurrentUser = createParamDecorator((_, ctx) => ctx.switchToHttp().getRequest().user); + +// dist/common/zod.pipe.js +init_common(); +external_exports.config(external_exports.locales.fa()); +var ZodPipe = class { + static { + __name(this, "ZodPipe"); + } + schema; + constructor(schema) { + this.schema = schema; + } + transform(value) { + const result = this.schema.safeParse(value); + if (!result.success) { + throw new BadRequestException({ + statusCode: 400, + message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u062F\u0634\u062F\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A", + issues: toIssues(result.error) + }); + } + return result.data; + } +}; +var IdPipe = new ZodPipe(external_exports.coerce.number().int().positive()); + +// dist/auth/auth.controller.js +var __decorate2 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata2 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var COOKIE = "imen_rt"; +var COOKIE_PATH = "/api/admin/auth"; +var ua = /* @__PURE__ */ __name((req) => req.headers["user-agent"] ?? "", "ua"); +var readCookie = /* @__PURE__ */ __name((req) => req.cookies?.[COOKIE], "readCookie"); +var AuthController = class AuthController2 { + static { + __name(this, "AuthController"); + } + auth; + constructor(auth) { + this.auth = auth; + } + async login(body, req, res) { + return this.respond(res, await this.auth.login(body, ua(req))); + } + async refresh(req, res) { + try { + return this.respond(res, await this.auth.refresh(readCookie(req), ua(req))); + } catch (e) { + res.clearCookie(COOKIE, { path: COOKIE_PATH }); + throw e; + } + } + async logout(req, res) { + await this.auth.logout(readCookie(req)); + res.clearCookie(COOKIE, { path: COOKIE_PATH }); + } + me(user) { + return this.auth.me(user.id); + } + async changePassword(body, user) { + await this.auth.changePassword(user.id, body); + } + respond(res, t) { + res.cookie(COOKIE, t.refreshToken, { + httpOnly: true, + secure: isProd && env.COOKIE_SECURE, + sameSite: "strict", + path: COOKIE_PATH, + expires: t.refreshExpiresAt + }); + return { accessToken: t.accessToken, user: t.user }; + } +}; +__decorate2([ + Post("login"), + HttpCode(200), + (0, import_throttler.Throttle)({ default: { limit: 8, ttl: 6e4 } }), + __param(0, Body(new ZodPipe(loginSchema))), + __param(1, Req()), + __param(2, Res({ passthrough: true })), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [Object, Object, Object]), + __metadata2("design:returntype", Promise) +], AuthController.prototype, "login", null); +__decorate2([ + Post("refresh"), + HttpCode(200), + (0, import_throttler.Throttle)({ default: { limit: 30, ttl: 6e4 } }), + __param(0, Req()), + __param(1, Res({ passthrough: true })), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [Object, Object]), + __metadata2("design:returntype", Promise) +], AuthController.prototype, "refresh", null); +__decorate2([ + Post("logout"), + HttpCode(204), + __param(0, Req()), + __param(1, Res({ passthrough: true })), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [Object, Object]), + __metadata2("design:returntype", Promise) +], AuthController.prototype, "logout", null); +__decorate2([ + Get("me"), + AdminAuth(), + __param(0, CurrentUser()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [Object]), + __metadata2("design:returntype", void 0) +], AuthController.prototype, "me", null); +__decorate2([ + Post("change-password"), + HttpCode(204), + AdminAuth(), + __param(0, Body(new ZodPipe(changePasswordSchema))), + __param(1, CurrentUser()), + __metadata2("design:type", Function), + __metadata2("design:paramtypes", [Object, Object]), + __metadata2("design:returntype", Promise) +], AuthController.prototype, "changePassword", null); +AuthController = __decorate2([ + Controller("admin/auth"), + __metadata2("design:paramtypes", [AuthService]) +], AuthController); +var AuthModule = class AuthModule2 { + static { + __name(this, "AuthModule"); + } +}; +AuthModule = __decorate2([ + Module({ + imports: [ + JwtModule.register({ + global: true, + secret: env.JWT_SECRET, + signOptions: { expiresIn: env.JWT_ACCESS_TTL } + }) + ], + controllers: [AuthController], + providers: [AuthService], + exports: [AuthService] + }) +], AuthModule); + +// dist/catalog/catalog.module.js +init_common(); + +// dist/media/media.controller.js +init_common(); +init_platform_express(); + +// dist/media/media.service.js +init_common(); +import { randomUUID } from "node:crypto"; +var __decorate3 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata3 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var MediaService_1; +var MediaService = MediaService_1 = class MediaService2 { + static { + __name(this, "MediaService"); + } + prisma; + audit; + revalidate; + logger = new Logger(MediaService_1.name); + storage = new S3Storage(); + constructor(prisma, audit, revalidate) { + this.prisma = prisma; + this.audit = audit; + this.revalidate = revalidate; + } + async onModuleInit() { + if (!env.S3_ENSURE_BUCKET) + return; + try { + await this.storage.ensureBucket(); + } catch (e) { + this.logger.error(`could not prepare bucket "${env.S3_BUCKET}": ${String(e)}`); + } + } + url(key) { + return this.storage.publicUrl(key); + } + toDto(m) { + return { + id: m.id, + url: this.url(m.key), + alt: m.alt, + mime: m.mime, + size: m.size, + width: m.width, + height: m.height, + originalName: m.originalName, + createdAt: m.createdAt.toISOString() + }; + } + async list(page, pageSize, q) { + const where = q ? { + OR: [ + { originalName: { contains: q, mode: "insensitive" } }, + { alt: { contains: q, mode: "insensitive" } } + ] + } : {}; + const [items, total] = await this.prisma.$transaction([ + this.prisma.media.findMany({ + where, + orderBy: { id: "desc" }, + skip: (page - 1) * pageSize, + take: pageSize + }), + this.prisma.media.count({ where }) + ]); + return { items: items.map((m) => this.toDto(m)), total, page, pageSize }; + } + async upload(file, alt, userId) { + if (!file) + throw new BadRequestException("\u0641\u0627\u06CC\u0644\u06CC \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A"); + if (!ACCEPTED_IMAGE_TYPES.includes(file.mimetype)) { + throw new BadRequestException("\u0641\u0642\u0637 \u062A\u0635\u0627\u0648\u06CC\u0631 JPG\u060C PNG\u060C WebP\u060C AVIF \u0648 GIF \u067E\u0630\u06CC\u0631\u0641\u062A\u0647 \u0645\u06CC\u200C\u0634\u0648\u0646\u062F"); + } + let image; + try { + image = await toWebp(file.buffer); + } catch { + throw new BadRequestException("\u0641\u0627\u06CC\u0644 \u062A\u0635\u0648\u06CC\u0631 \u0642\u0627\u0628\u0644 \u067E\u0631\u062F\u0627\u0632\u0634 \u0646\u06CC\u0633\u062A"); + } + const now = /* @__PURE__ */ new Date(); + const month = String(now.getMonth() + 1).padStart(2, "0"); + const key = `uploads/${now.getFullYear()}/${month}/${randomUUID()}.webp`; + await this.storage.put(key, image.data, "image/webp"); + const media = await this.prisma.media.create({ + data: { + key, + mime: "image/webp", + size: image.size, + width: image.width, + height: image.height, + alt: alt.trim().slice(0, 200), + originalName: Buffer.from(file.originalname, "latin1").toString("utf8").slice(0, 200) + } + }); + this.audit.log(userId, "upload", "media", media.id, media.originalName); + return this.toDto(media); + } + async updateAlt(id, alt, userId) { + const media = await this.prisma.media.update({ where: { id }, data: { alt } }); + this.audit.log(userId, "update", "media", id, media.originalName); + this.revalidate.trigger(); + return this.toDto(media); + } + async remove(id, userId) { + const media = await this.prisma.media.findUnique({ + where: { id }, + include: { _count: { select: { categoryCovers: true, productImages: true, productGallery: true } } } + }); + if (!media) + throw new NotFoundException("\u0641\u0627\u06CC\u0644 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + const { categoryCovers, productImages, productGallery } = media._count; + const sections = await this.prisma.$queryRaw` + SELECT key FROM "SiteSection" WHERE data::text LIKE ${"%" + media.key + "%"}`; + if (categoryCovers + productImages + productGallery + sections.length > 0) { + throw new ConflictException("\u0627\u06CC\u0646 \u062A\u0635\u0648\u06CC\u0631 \u062F\u0631 \u0645\u062D\u0635\u0648\u0644\u0627\u062A\u060C \u062F\u0633\u062A\u0647\u200C\u0647\u0627 \u06CC\u0627 \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0633\u0627\u06CC\u062A \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0634\u062F\u0647 \u0648 \u0642\u0627\u0628\u0644 \u062D\u0630\u0641 \u0646\u06CC\u0633\u062A"); + } + await this.prisma.media.delete({ where: { id } }); + await this.storage.remove(media.key).catch((e) => { + this.logger.warn(`could not delete object ${media.key}: ${String(e)}`); + }); + this.audit.log(userId, "delete", "media", id, media.originalName); + } +}; +MediaService = MediaService_1 = __decorate3([ + Injectable(), + __metadata3("design:paramtypes", [ + PrismaService, + AuditService, + RevalidateService + ]) +], MediaService); + +// dist/media/media.controller.js +var __decorate4 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata4 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param2 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var listQuery = external_exports.object({ + page: external_exports.coerce.number().int().min(1).default(1), + pageSize: external_exports.coerce.number().int().min(1).max(100).default(40), + q: external_exports.string().trim().max(100).optional() +}); +var MediaController = class MediaController2 { + static { + __name(this, "MediaController"); + } + media; + constructor(media) { + this.media = media; + } + list(q) { + return this.media.list(q.page, q.pageSize, q.q); + } + upload(file, alt, user) { + return this.media.upload(file, typeof alt === "string" ? alt : "", user.id); + } + update(id, body, user) { + return this.media.updateAlt(id, body.alt, user.id); + } + async remove(id, user) { + await this.media.remove(id, user.id); + } +}; +__decorate4([ + Get(), + __param2(0, Query(new ZodPipe(listQuery))), + __metadata4("design:type", Function), + __metadata4("design:paramtypes", [Object]), + __metadata4("design:returntype", void 0) +], MediaController.prototype, "list", null); +__decorate4([ + Post(), + UseInterceptors(FileInterceptor("file", { limits: { fileSize: 15 * 1024 * 1024 } })), + __param2(0, UploadedFile()), + __param2(1, Body("alt")), + __param2(2, CurrentUser()), + __metadata4("design:type", Function), + __metadata4("design:paramtypes", [Object, Object, Object]), + __metadata4("design:returntype", void 0) +], MediaController.prototype, "upload", null); +__decorate4([ + Patch(":id"), + __param2(0, Param("id", IdPipe)), + __param2(1, Body(new ZodPipe(mediaUpdateSchema))), + __param2(2, CurrentUser()), + __metadata4("design:type", Function), + __metadata4("design:paramtypes", [Number, Object, Object]), + __metadata4("design:returntype", void 0) +], MediaController.prototype, "update", null); +__decorate4([ + Roles("ADMIN"), + Delete(":id"), + HttpCode(204), + __param2(0, Param("id", IdPipe)), + __param2(1, CurrentUser()), + __metadata4("design:type", Function), + __metadata4("design:paramtypes", [Number, Object]), + __metadata4("design:returntype", Promise) +], MediaController.prototype, "remove", null); +MediaController = __decorate4([ + AdminAuth(), + Controller("admin/media"), + __metadata4("design:paramtypes", [MediaService]) +], MediaController); +var MediaModule = class MediaModule2 { + static { + __name(this, "MediaModule"); + } +}; +MediaModule = __decorate4([ + Module({ + controllers: [MediaController], + providers: [MediaService], + exports: [MediaService] + }) +], MediaModule); + +// dist/catalog/categories.service.js +init_common(); +var __decorate5 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata5 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var withCover = { coverImage: true }; +var CategoriesService = class CategoriesService2 { + static { + __name(this, "CategoriesService"); + } + prisma; + media; + audit; + revalidate; + constructor(prisma, media, audit, revalidate) { + this.prisma = prisma; + this.media = media; + this.audit = audit; + this.revalidate = revalidate; + } + async list() { + const rows = await this.prisma.category.findMany({ + orderBy: [{ sortOrder: "asc" }, { id: "asc" }], + include: { ...withCover, _count: { select: { products: true, groups: true } } } + }); + return rows.map(({ coverImage, _count, ...c }) => ({ + ...c, + coverImage: coverImage && this.media.toDto(coverImage), + productCount: _count.products, + groupCount: _count.groups + })); + } + async get(id) { + const { coverImage, ...c } = await this.prisma.category.findUniqueOrThrow({ + where: { id }, + include: { + ...withCover, + groups: { + orderBy: { sortOrder: "asc" }, + include: { _count: { select: { products: true } } } + } + } + }); + return { + ...c, + coverImage: coverImage && this.media.toDto(coverImage), + groups: c.groups.map(({ _count, ...g }) => ({ ...g, productCount: _count.products })) + }; + } + async create(input, userId) { + this.assertUniqueGroupSlugs(input); + const { groups, ...data } = input; + const last = await this.prisma.category.aggregate({ _max: { sortOrder: true } }); + const category = await this.prisma.category.create({ + data: { + ...data, + sortOrder: (last._max.sortOrder ?? -1) + 1, + groups: { + create: groups.map((g, i) => ({ slug: g.slug, name: g.name, desc: g.desc, sortOrder: i })) + } + } + }); + this.audit.log(userId, "create", "category", category.id, category.name); + this.revalidate.trigger(); + return this.get(category.id); + } + async update(id, input, userId) { + this.assertUniqueGroupSlugs(input); + const { groups, ...data } = input; + await this.prisma.$transaction(async (tx) => { + const category = await tx.category.update({ where: { id }, data }); + const keepIds = groups.flatMap((g) => g.id ? [g.id] : []); + await tx.productGroup.deleteMany({ where: { categoryId: id, id: { notIn: keepIds } } }); + for (const g of groups) { + if (g.id) { + await tx.productGroup.update({ + where: { id: g.id, categoryId: id }, + data: { slug: `__tmp-${g.id}` } + }); + } + } + for (const [i, g] of groups.entries()) { + const fields = { slug: g.slug, name: g.name, desc: g.desc, sortOrder: i }; + if (g.id) { + await tx.productGroup.update({ where: { id: g.id, categoryId: id }, data: fields }); + } else { + await tx.productGroup.create({ data: { ...fields, categoryId: id } }); + } + } + this.audit.log(userId, "update", "category", id, category.name); + }); + this.revalidate.trigger(); + return this.get(id); + } + async remove(id, userId) { + const category = await this.prisma.category.findUniqueOrThrow({ + where: { id }, + include: { _count: { select: { products: true } } } + }); + if (category._count.products > 0) { + throw new ConflictException(`\u0627\u06CC\u0646 \u062F\u0633\u062A\u0647 ${category._count.products} \u0645\u062D\u0635\u0648\u0644 \u062F\u0627\u0631\u062F\u061B \u0627\u0628\u062A\u062F\u0627 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u0631\u0627 \u062D\u0630\u0641 \u06CC\u0627 \u062C\u0627\u0628\u0647\u200C\u062C\u0627 \u06A9\u0646\u06CC\u062F`); + } + await this.prisma.category.delete({ where: { id } }); + this.audit.log(userId, "delete", "category", id, category.name); + this.revalidate.trigger(); + } + async reorder(ids, userId) { + await this.prisma.$transaction(ids.map((id, i) => this.prisma.category.update({ where: { id }, data: { sortOrder: i } }))); + this.audit.log(userId, "reorder", "category", "", `${ids.length} \u062F\u0633\u062A\u0647`); + this.revalidate.trigger(); + } + assertUniqueGroupSlugs(input) { + const slugs = input.groups.map((g) => g.slug); + if (new Set(slugs).size !== slugs.length) { + throw new ConflictException("\u0627\u0633\u0644\u0627\u06AF \u0632\u06CC\u0631\u06AF\u0631\u0648\u0647\u200C\u0647\u0627 \u0628\u0627\u06CC\u062F \u06CC\u06A9\u062A\u0627 \u0628\u0627\u0634\u062F"); + } + } +}; +CategoriesService = __decorate5([ + Injectable(), + __metadata5("design:paramtypes", [ + PrismaService, + MediaService, + AuditService, + RevalidateService + ]) +], CategoriesService); + +// dist/catalog/products.service.js +init_common(); +var __decorate6 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata6 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var ProductsService = class ProductsService2 { + static { + __name(this, "ProductsService"); + } + prisma; + media; + audit; + revalidate; + constructor(prisma, media, audit, revalidate) { + this.prisma = prisma; + this.media = media; + this.audit = audit; + this.revalidate = revalidate; + } + async list(q) { + const where = { + ...q.categoryId && { categoryId: q.categoryId }, + ...q.groupId && { groupId: q.groupId }, + ...q.status && { isPublished: q.status === "published" }, + ...q.q && { + OR: [ + { name: { contains: q.q, mode: "insensitive" } }, + { nameEn: { contains: q.q, mode: "insensitive" } }, + { code: { contains: q.q, mode: "insensitive" } } + ] + } + }; + const [rows, total] = await this.prisma.$transaction([ + this.prisma.product.findMany({ + where, + orderBy: [{ category: { sortOrder: "asc" } }, { sortOrder: "asc" }, { id: "asc" }], + skip: (q.page - 1) * q.pageSize, + take: q.pageSize, + include: { + image: true, + category: { select: { id: true, name: true } }, + group: { select: { id: true, name: true } } + } + }), + this.prisma.product.count({ where }) + ]); + return { + items: rows.map(({ image, ...p }) => ({ ...p, image: image && this.media.toDto(image) })), + total, + page: q.page, + pageSize: q.pageSize + }; + } + async get(id) { + const { image, gallery, ...p } = await this.prisma.product.findUniqueOrThrow({ + where: { id }, + include: { image: true, gallery: { orderBy: { sortOrder: "asc" }, include: { media: true } } } + }); + return { + ...p, + image: image && this.media.toDto(image), + gallery: gallery.map((g) => this.media.toDto(g.media)) + }; + } + async create(input, userId) { + await this.assertGroup(input); + const { galleryIds, ...data } = input; + const last = await this.prisma.product.aggregate({ + where: { categoryId: input.categoryId }, + _max: { sortOrder: true } + }); + const product = await this.prisma.product.create({ + data: { + ...data, + sortOrder: (last._max.sortOrder ?? -1) + 1, + gallery: { create: unique(galleryIds).map((mediaId, i) => ({ mediaId, sortOrder: i })) } + } + }); + this.audit.log(userId, "create", "product", product.id, product.name); + this.revalidate.trigger(); + return this.get(product.id); + } + async update(id, input, userId) { + await this.assertGroup(input); + const { galleryIds, ...data } = input; + const product = await this.prisma.product.update({ + where: { id }, + data: { + ...data, + gallery: { + deleteMany: {}, + create: unique(galleryIds).map((mediaId, i) => ({ mediaId, sortOrder: i })) + } + } + }); + this.audit.log(userId, "update", "product", id, product.name); + this.revalidate.trigger(); + return this.get(id); + } + async setPublished(id, isPublished, userId) { + const product = await this.prisma.product.update({ where: { id }, data: { isPublished } }); + this.audit.log(userId, isPublished ? "publish" : "unpublish", "product", id, product.name); + this.revalidate.trigger(); + return { id, isPublished }; + } + async duplicate(id, userId) { + const src = await this.prisma.product.findUniqueOrThrow({ + where: { id }, + include: { gallery: true } + }); + let n = 1; + const taken = /* @__PURE__ */ __name(async (code, slug) => await this.prisma.product.count({ where: { OR: [{ code }, { slug }] } }) > 0, "taken"); + while (await taken(`${src.code}-${n}`, `${src.slug}-copy-${n}`)) + n++; + const copy = await this.prisma.product.create({ + data: { + categoryId: src.categoryId, + groupId: src.groupId, + code: `${src.code}-${n}`, + slug: `${src.slug}-copy-${n}`, + name: `${src.name} (\u06A9\u067E\u06CC)`, + nameEn: src.nameEn, + desc: src.desc, + specs: src.specs, + variants: src.variants, + details: src.details, + brand: src.brand, + origin: src.origin, + sizes: src.sizes, + standards: src.standards, + features: src.features, + applications: src.applications, + attributes: src.attributes ?? [], + packaging: src.packaging, + minOrder: src.minOrder, + seoTitle: src.seoTitle, + seoDescription: src.seoDescription, + imageId: src.imageId, + sortOrder: src.sortOrder + 1, + isPublished: false, + gallery: { + create: src.gallery.map((g) => ({ mediaId: g.mediaId, sortOrder: g.sortOrder })) + } + } + }); + this.audit.log(userId, "duplicate", "product", copy.id, copy.name); + return this.get(copy.id); + } + async remove(id, userId) { + const product = await this.prisma.product.delete({ where: { id } }); + this.audit.log(userId, "delete", "product", id, product.name); + this.revalidate.trigger(); + } + async reorder(ids, userId) { + await this.prisma.$transaction(ids.map((id, i) => this.prisma.product.update({ where: { id }, data: { sortOrder: i } }))); + this.audit.log(userId, "reorder", "product", "", `${ids.length} \u0645\u062D\u0635\u0648\u0644`); + this.revalidate.trigger(); + } + async assertGroup(input) { + if (!input.groupId) + return; + const group = await this.prisma.productGroup.findUnique({ where: { id: input.groupId } }); + if (group?.categoryId !== input.categoryId) { + throw new BadRequestException("\u0632\u06CC\u0631\u06AF\u0631\u0648\u0647 \u0627\u0646\u062A\u062E\u0627\u0628\u200C\u0634\u062F\u0647 \u0645\u062A\u0639\u0644\u0642 \u0628\u0647 \u0627\u06CC\u0646 \u062F\u0633\u062A\u0647 \u0646\u06CC\u0633\u062A"); + } + } +}; +ProductsService = __decorate6([ + Injectable(), + __metadata6("design:paramtypes", [ + PrismaService, + MediaService, + AuditService, + RevalidateService + ]) +], ProductsService); +var unique = /* @__PURE__ */ __name((ids) => [...new Set(ids)], "unique"); + +// dist/catalog/catalog.module.js +var __decorate7 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata7 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param3 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var publishSchema = external_exports.object({ isPublished: external_exports.boolean() }); +var CategoriesController = class CategoriesController2 { + static { + __name(this, "CategoriesController"); + } + categories; + constructor(categories) { + this.categories = categories; + } + list() { + return this.categories.list(); + } + get(id) { + return this.categories.get(id); + } + create(body, user) { + return this.categories.create(body, user.id); + } + async reorder(body, user) { + await this.categories.reorder(body.ids, user.id); + } + update(id, body, user) { + return this.categories.update(id, body, user.id); + } + async remove(id, user) { + await this.categories.remove(id, user.id); + } +}; +__decorate7([ + Get(), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", []), + __metadata7("design:returntype", void 0) +], CategoriesController.prototype, "list", null); +__decorate7([ + Get(":id"), + __param3(0, Param("id", IdPipe)), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number]), + __metadata7("design:returntype", void 0) +], CategoriesController.prototype, "get", null); +__decorate7([ + Post(), + __param3(0, Body(new ZodPipe(categoryInputSchema))), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Object, Object]), + __metadata7("design:returntype", void 0) +], CategoriesController.prototype, "create", null); +__decorate7([ + Post("reorder"), + HttpCode(204), + __param3(0, Body(new ZodPipe(reorderSchema))), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Object, Object]), + __metadata7("design:returntype", Promise) +], CategoriesController.prototype, "reorder", null); +__decorate7([ + Put(":id"), + __param3(0, Param("id", IdPipe)), + __param3(1, Body(new ZodPipe(categoryInputSchema))), + __param3(2, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object, Object]), + __metadata7("design:returntype", void 0) +], CategoriesController.prototype, "update", null); +__decorate7([ + Roles("ADMIN"), + Delete(":id"), + HttpCode(204), + __param3(0, Param("id", IdPipe)), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object]), + __metadata7("design:returntype", Promise) +], CategoriesController.prototype, "remove", null); +CategoriesController = __decorate7([ + AdminAuth(), + Controller("admin/categories"), + __metadata7("design:paramtypes", [CategoriesService]) +], CategoriesController); +var ProductsController = class ProductsController2 { + static { + __name(this, "ProductsController"); + } + products; + constructor(products) { + this.products = products; + } + list(q) { + return this.products.list(q); + } + get(id) { + return this.products.get(id); + } + create(body, user) { + return this.products.create(body, user.id); + } + async reorder(body, user) { + await this.products.reorder(body.ids, user.id); + } + duplicate(id, user) { + return this.products.duplicate(id, user.id); + } + publish(id, body, user) { + return this.products.setPublished(id, body.isPublished, user.id); + } + update(id, body, user) { + return this.products.update(id, body, user.id); + } + async remove(id, user) { + await this.products.remove(id, user.id); + } +}; +__decorate7([ + Get(), + __param3(0, Query(new ZodPipe(productListQuerySchema))), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Object]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "list", null); +__decorate7([ + Get(":id"), + __param3(0, Param("id", IdPipe)), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "get", null); +__decorate7([ + Post(), + __param3(0, Body(new ZodPipe(productInputSchema))), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Object, Object]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "create", null); +__decorate7([ + Post("reorder"), + HttpCode(204), + __param3(0, Body(new ZodPipe(reorderSchema))), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Object, Object]), + __metadata7("design:returntype", Promise) +], ProductsController.prototype, "reorder", null); +__decorate7([ + Post(":id/duplicate"), + __param3(0, Param("id", IdPipe)), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "duplicate", null); +__decorate7([ + Patch(":id/publish"), + __param3(0, Param("id", IdPipe)), + __param3(1, Body(new ZodPipe(publishSchema))), + __param3(2, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object, Object]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "publish", null); +__decorate7([ + Put(":id"), + __param3(0, Param("id", IdPipe)), + __param3(1, Body(new ZodPipe(productInputSchema))), + __param3(2, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object, Object]), + __metadata7("design:returntype", void 0) +], ProductsController.prototype, "update", null); +__decorate7([ + Roles("ADMIN"), + Delete(":id"), + HttpCode(204), + __param3(0, Param("id", IdPipe)), + __param3(1, CurrentUser()), + __metadata7("design:type", Function), + __metadata7("design:paramtypes", [Number, Object]), + __metadata7("design:returntype", Promise) +], ProductsController.prototype, "remove", null); +ProductsController = __decorate7([ + AdminAuth(), + Controller("admin/products"), + __metadata7("design:paramtypes", [ProductsService]) +], ProductsController); +var CatalogModule = class CatalogModule2 { + static { + __name(this, "CatalogModule"); + } +}; +CatalogModule = __decorate7([ + Module({ + imports: [MediaModule], + controllers: [CategoriesController, ProductsController], + providers: [CategoriesService, ProductsService] + }) +], CatalogModule); + +// dist/common/prisma-exception.filter.js +init_common(); +var __decorate8 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var FIELD_LABELS = { + slug: "\u0627\u0633\u0644\u0627\u06AF", + code: "\u06A9\u062F", + email: "\u0627\u06CC\u0645\u06CC\u0644", + phone: "\u0634\u0645\u0627\u0631\u0647 \u0645\u0648\u0628\u0627\u06CC\u0644" +}; +function uniqueFields(meta) { + if (meta?.target) + return Array.isArray(meta.target) ? meta.target : [meta.target]; + const constraint = meta?.driverAdapterError?.cause?.constraint; + if (constraint?.fields) + return constraint.fields; + const match = constraint?.index?.match(/^[^_]+_(.+)_key$/); + return match ? match[1].split("_") : []; +} +__name(uniqueFields, "uniqueFields"); +var PrismaExceptionFilter = class PrismaExceptionFilter2 { + static { + __name(this, "PrismaExceptionFilter"); + } + catch(error, host) { + const res = host.switchToHttp().getResponse(); + switch (error.code) { + case "P2002": { + const fields = uniqueFields(error.meta).filter((f) => !f.endsWith("Id")).map((f) => FIELD_LABELS[f] ?? f).join("\u060C "); + return res.status(HttpStatus.CONFLICT).json({ + statusCode: HttpStatus.CONFLICT, + message: fields ? `\u0645\u0642\u062F\u0627\u0631 \xAB${fields}\xBB \u062A\u06A9\u0631\u0627\u0631\u06CC \u0627\u0633\u062A` : "\u0645\u0642\u062F\u0627\u0631 \u062A\u06A9\u0631\u0627\u0631\u06CC \u0627\u0633\u062A" + }); + } + case "P2003": + return res.status(HttpStatus.CONFLICT).json({ + statusCode: HttpStatus.CONFLICT, + message: "\u0627\u06CC\u0646 \u0645\u0648\u0631\u062F \u0628\u0647 \u062F\u0627\u062F\u0647\u200C\u0647\u0627\u06CC \u062F\u06CC\u06AF\u0631\u06CC \u0648\u0627\u0628\u0633\u062A\u0647 \u0627\u0633\u062A" + }); + case "P2025": + return res.status(HttpStatus.NOT_FOUND).json({ statusCode: HttpStatus.NOT_FOUND, message: "\u0645\u0648\u0631\u062F \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F" }); + default: + return res.status(HttpStatus.INTERNAL_SERVER_ERROR).json({ + statusCode: HttpStatus.INTERNAL_SERVER_ERROR, + message: "\u062E\u0637\u0627\u06CC \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062F\u0627\u062F\u0647" + }); + } + } +}; +PrismaExceptionFilter = __decorate8([ + Catch(prismaNamespace_exports.PrismaClientKnownRequestError) +], PrismaExceptionFilter); + +// dist/contact/contact.module.js +init_common(); +var import_throttler2 = __toESM(require_dist(), 1); +var __decorate9 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata8 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param4 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var listQuery2 = external_exports.object({ + status: external_exports.enum(MESSAGE_STATUSES).optional(), + page: external_exports.coerce.number().int().min(1).default(1), + pageSize: external_exports.coerce.number().int().min(1).max(100).default(20) +}); +var toMessageDto = /* @__PURE__ */ __name((m) => ({ + id: m.id, + name: m.name, + org: m.org, + phone: m.phone, + message: m.message, + status: m.status, + createdAt: m.createdAt.toISOString() +}), "toMessageDto"); +var ContactService = class ContactService2 { + static { + __name(this, "ContactService"); + } + prisma; + audit; + constructor(prisma, audit) { + this.prisma = prisma; + this.audit = audit; + } + async submit(input, ip, userAgent) { + if (input.website) + return; + await this.prisma.contactMessage.create({ + data: { + name: input.name, + org: input.org, + phone: input.phone, + message: input.message, + ip: ip.slice(0, 64), + userAgent: userAgent.slice(0, 300) + } + }); + } + async list(q) { + const where = q.status ? { status: q.status } : {}; + const [items, total] = await this.prisma.$transaction([ + this.prisma.contactMessage.findMany({ + where, + orderBy: { id: "desc" }, + skip: (q.page - 1) * q.pageSize, + take: q.pageSize + }), + this.prisma.contactMessage.count({ where }) + ]); + return { items: items.map(toMessageDto), total, page: q.page, pageSize: q.pageSize }; + } + async setStatus(id, status) { + return toMessageDto(await this.prisma.contactMessage.update({ where: { id }, data: { status } })); + } + async remove(id, userId) { + const m = await this.prisma.contactMessage.delete({ where: { id } }); + this.audit.log(userId, "delete", "message", id, m.name); + } +}; +ContactService = __decorate9([ + Injectable(), + __metadata8("design:paramtypes", [ + PrismaService, + AuditService + ]) +], ContactService); +var PublicContactController = class PublicContactController2 { + static { + __name(this, "PublicContactController"); + } + contact; + constructor(contact) { + this.contact = contact; + } + async submit(body, req) { + await this.contact.submit(body, req.ip ?? "", req.headers["user-agent"] ?? ""); + return { ok: true }; + } +}; +__decorate9([ + Post(), + HttpCode(201), + (0, import_throttler2.Throttle)({ default: { limit: 5, ttl: 10 * 6e4 } }), + __param4(0, Body(new ZodPipe(contactInputSchema))), + __param4(1, Req()), + __metadata8("design:type", Function), + __metadata8("design:paramtypes", [Object, Object]), + __metadata8("design:returntype", Promise) +], PublicContactController.prototype, "submit", null); +PublicContactController = __decorate9([ + Controller("public/contact"), + __metadata8("design:paramtypes", [ContactService]) +], PublicContactController); +var MessagesController = class MessagesController2 { + static { + __name(this, "MessagesController"); + } + contact; + constructor(contact) { + this.contact = contact; + } + list(q) { + return this.contact.list(q); + } + update(id, body) { + return this.contact.setStatus(id, body.status); + } + async remove(id, user) { + await this.contact.remove(id, user.id); + } +}; +__decorate9([ + Get(), + __param4(0, Query(new ZodPipe(listQuery2))), + __metadata8("design:type", Function), + __metadata8("design:paramtypes", [Object]), + __metadata8("design:returntype", void 0) +], MessagesController.prototype, "list", null); +__decorate9([ + Patch(":id"), + __param4(0, Param("id", IdPipe)), + __param4(1, Body(new ZodPipe(messageUpdateSchema))), + __metadata8("design:type", Function), + __metadata8("design:paramtypes", [Number, Object]), + __metadata8("design:returntype", void 0) +], MessagesController.prototype, "update", null); +__decorate9([ + Roles("ADMIN"), + Delete(":id"), + HttpCode(204), + __param4(0, Param("id", IdPipe)), + __param4(1, CurrentUser()), + __metadata8("design:type", Function), + __metadata8("design:paramtypes", [Number, Object]), + __metadata8("design:returntype", Promise) +], MessagesController.prototype, "remove", null); +MessagesController = __decorate9([ + AdminAuth(), + Controller("admin/messages"), + __metadata8("design:paramtypes", [ContactService]) +], MessagesController); +var ContactModule = class ContactModule2 { + static { + __name(this, "ContactModule"); + } +}; +ContactModule = __decorate9([ + Module({ + controllers: [PublicContactController, MessagesController], + providers: [ContactService] + }) +], ContactModule); + +// dist/dashboard/dashboard.module.js +init_common(); +var __decorate10 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata9 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var DAY_NAMES = ["\u06CC\u06A9\u0634\u0646\u0628\u0647", "\u062F\u0648\u0634\u0646\u0628\u0647", "\u0633\u0647\u200C\u0634\u0646\u0628\u0647", "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647", "\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647", "\u062C\u0645\u0639\u0647", "\u0634\u0646\u0628\u0647"]; +var DashboardController = class DashboardController2 { + static { + __name(this, "DashboardController"); + } + prisma; + constructor(prisma) { + this.prisma = prisma; + } + async get() { + const [categories, products, draftProducts, newMessages, readMessages, archivedMessages, media, messages, activity, categoryRows, sectionRows] = await Promise.all([ + this.prisma.category.count(), + this.prisma.product.count(), + this.prisma.product.count({ where: { isPublished: false } }), + this.prisma.contactMessage.count({ where: { status: "NEW" } }), + this.prisma.contactMessage.count({ where: { status: "READ" } }), + this.prisma.contactMessage.count({ where: { status: "ARCHIVED" } }), + this.prisma.media.count(), + this.prisma.contactMessage.findMany({ orderBy: { id: "desc" }, take: 6 }), + this.prisma.auditLog.findMany({ + orderBy: { id: "desc" }, + take: 10, + include: { user: { select: { name: true } } } + }), + this.prisma.category.findMany({ + select: { id: true, name: true, _count: { select: { products: true } } }, + orderBy: { products: { _count: "desc" } }, + take: 7 + }), + this.prisma.siteSection.findMany() + ]); + let hiddenCount = 0; + for (const s of sectionRows) { + if (s.data && typeof s.data === "object" && s.data.enabled === false) { + hiddenCount++; + } + } + const now = /* @__PURE__ */ new Date(); + const trend = []; + for (let i = 6; i >= 0; i--) { + const start = new Date(now.getFullYear(), now.getMonth(), now.getDate() - i, 0, 0, 0); + const end = new Date(now.getFullYear(), now.getMonth(), now.getDate() - i, 23, 59, 59, 999); + const count = await this.prisma.contactMessage.count({ + where: { createdAt: { gte: start, lte: end } } + }); + trend.push({ + date: start.toISOString().slice(0, 10), + dayName: DAY_NAMES[start.getDay()], + messages: count + }); + } + return { + categories, + products, + draftProducts, + newMessages, + media, + recentMessages: messages.map(toMessageDto), + recentActivity: activity.map((a) => ({ + id: a.id, + action: a.action, + entity: a.entity, + summary: a.summary, + user: a.user?.name ?? null, + createdAt: a.createdAt.toISOString() + })), + categoryStats: categoryRows.map((c) => ({ + id: c.id, + name: c.name, + count: c._count.products + })), + messageBreakdown: { + new: newMessages, + read: readMessages, + archived: archivedMessages, + total: newMessages + readMessages + archivedMessages + }, + sectionsSummary: { + total: SECTION_KEYS.length, + visible: SECTION_KEYS.length - hiddenCount, + hidden: hiddenCount + }, + trend + }; + } +}; +__decorate10([ + Get(), + __metadata9("design:type", Function), + __metadata9("design:paramtypes", []), + __metadata9("design:returntype", Promise) +], DashboardController.prototype, "get", null); +DashboardController = __decorate10([ + AdminAuth(), + Controller("admin/dashboard"), + __metadata9("design:paramtypes", [PrismaService]) +], DashboardController); +var DashboardModule = class DashboardModule2 { + static { + __name(this, "DashboardModule"); + } +}; +DashboardModule = __decorate10([ + Module({ controllers: [DashboardController] }) +], DashboardModule); + +// dist/public/public.module.js +init_common(); + +// dist/sections/sections.module.js +init_common(); +var __decorate11 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata10 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param5 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var SectionsService = class SectionsService2 { + static { + __name(this, "SectionsService"); + } + prisma; + audit; + revalidate; + constructor(prisma, audit, revalidate) { + this.prisma = prisma; + this.audit = audit; + this.revalidate = revalidate; + } + async getAll() { + const rows = await this.prisma.siteSection.findMany(); + const byKey = new Map(rows.map((r) => [r.key, r.data])); + const missing = SECTION_KEYS.filter((k) => !byKey.has(k)); + if (missing.length) { + throw new ServiceUnavailableException(`\u0645\u062D\u062A\u0648\u0627\u06CC \u0633\u0627\u06CC\u062A \u0645\u0642\u062F\u0627\u0631\u062F\u0647\u06CC \u0646\u0634\u062F\u0647 \u0627\u0633\u062A (${missing.join(", ")}) \u2014 pnpm db:seed \u0631\u0627 \u0627\u062C\u0631\u0627 \u06A9\u0646\u06CC\u062F`); + } + return Object.fromEntries(SECTION_KEYS.map((k) => [k, sectionSchemas[k].parse(byKey.get(k))])); + } + async get(key) { + if (!isSectionKey(key)) + throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + const row = await this.prisma.siteSection.findUnique({ where: { key } }); + if (!row) + throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + return { key, data: sectionSchemas[key].parse(row.data), updatedAt: row.updatedAt }; + } + async update(key, body, user) { + if (!isSectionKey(key)) + throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + if (key === "settings" && user.role !== "ADMIN") { + throw new ForbiddenException("\u0641\u0642\u0637 \u0645\u062F\u06CC\u0631 \u06A9\u0644 \u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u062F \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u0627\u06CC\u062A \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u062F"); + } + const parsed = sectionSchemas[key].safeParse(body); + if (!parsed.success) { + throw new BadRequestException({ + statusCode: 400, + message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u062F\u0634\u062F\u0647 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A", + issues: toIssues(parsed.error) + }); + } + const row = await this.prisma.siteSection.upsert({ + where: { key }, + create: { key, data: parsed.data, updatedById: user.id }, + update: { data: parsed.data, updatedById: user.id } + }); + this.audit.log(user.id, "update", "section", key, key); + this.revalidate.trigger(); + return { key, data: parsed.data, updatedAt: row.updatedAt }; + } + async listAdmin() { + const rows = await this.prisma.siteSection.findMany(); + const byKey = new Map(rows.map((r) => [r.key, r])); + return SECTION_KEYS.map((key) => { + const row = byKey.get(key); + let data = null; + if (row) { + const parsed = sectionSchemas[key].safeParse(row.data); + data = parsed.success ? parsed.data : row.data; + } + return { + key, + updatedAt: row?.updatedAt?.toISOString() ?? null, + enabled: data && typeof data === "object" && "enabled" in data ? data.enabled !== false : true + }; + }); + } + async setVisibility(key, enabled, user) { + if (!isSectionKey(key)) + throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + if (key === "settings") { + throw new BadRequestException("\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u0627\u06CC\u062A \u0642\u0627\u0628\u0644\u06CC\u062A \u062A\u063A\u06CC\u06CC\u0631 \u0648\u0636\u0639\u06CC\u062A \u0646\u0645\u0627\u06CC\u0634 \u0646\u062F\u0627\u0631\u062F"); + } + const row = await this.prisma.siteSection.findUnique({ where: { key } }); + if (!row) + throw new NotFoundException("\u0628\u062E\u0634 \u067E\u06CC\u062F\u0627 \u0646\u0634\u062F"); + const currentData = row.data && typeof row.data === "object" ? { ...row.data } : {}; + currentData.enabled = enabled; + const parsed = sectionSchemas[key].safeParse(currentData); + if (!parsed.success) { + throw new BadRequestException({ + statusCode: 400, + message: "\u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0628\u062E\u0634 \u0645\u0639\u062A\u0628\u0631 \u0646\u06CC\u0633\u062A", + issues: toIssues(parsed.error) + }); + } + const updated = await this.prisma.siteSection.update({ + where: { key }, + data: { data: parsed.data, updatedById: user.id } + }); + this.audit.log(user.id, "update", "section", key, `\u062A\u063A\u06CC\u06CC\u0631 \u0648\u0636\u0639\u06CC\u062A \u0646\u0645\u0627\u06CC\u0634 \u0628\u0647 ${enabled ? "\u0646\u0645\u0627\u06CC\u0634" : "\u0639\u062F\u0645 \u0646\u0645\u0627\u06CC\u0634"}`); + this.revalidate.trigger(); + return { + key, + enabled: parsed.data.enabled !== false, + updatedAt: updated.updatedAt.toISOString() + }; + } +}; +SectionsService = __decorate11([ + Injectable(), + __metadata10("design:paramtypes", [ + PrismaService, + AuditService, + RevalidateService + ]) +], SectionsService); +var SectionsController = class SectionsController2 { + static { + __name(this, "SectionsController"); + } + sections; + constructor(sections) { + this.sections = sections; + } + list() { + return this.sections.listAdmin(); + } + get(key) { + return this.sections.get(key); + } + update(key, body, user) { + return this.sections.update(key, body, user); + } + setVisibility(key, body, user) { + const enabled = body && typeof body.enabled === "boolean" ? body.enabled : Boolean(body?.enabled); + return this.sections.setVisibility(key, enabled, user); + } +}; +__decorate11([ + Get(), + __metadata10("design:type", Function), + __metadata10("design:paramtypes", []), + __metadata10("design:returntype", void 0) +], SectionsController.prototype, "list", null); +__decorate11([ + Get(":key"), + __param5(0, Param("key")), + __metadata10("design:type", Function), + __metadata10("design:paramtypes", [String]), + __metadata10("design:returntype", void 0) +], SectionsController.prototype, "get", null); +__decorate11([ + Put(":key"), + __param5(0, Param("key")), + __param5(1, Body()), + __param5(2, CurrentUser()), + __metadata10("design:type", Function), + __metadata10("design:paramtypes", [String, Object, Object]), + __metadata10("design:returntype", void 0) +], SectionsController.prototype, "update", null); +__decorate11([ + Patch(":key/visibility"), + __param5(0, Param("key")), + __param5(1, Body()), + __param5(2, CurrentUser()), + __metadata10("design:type", Function), + __metadata10("design:paramtypes", [String, Object, Object]), + __metadata10("design:returntype", void 0) +], SectionsController.prototype, "setVisibility", null); +SectionsController = __decorate11([ + AdminAuth(), + Controller("admin/sections"), + __metadata10("design:paramtypes", [SectionsService]) +], SectionsController); +var SectionsModule = class SectionsModule2 { + static { + __name(this, "SectionsModule"); + } +}; +SectionsModule = __decorate11([ + Module({ + controllers: [SectionsController], + providers: [SectionsService], + exports: [SectionsService] + }) +], SectionsModule); + +// dist/public/public.module.js +var __decorate12 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata11 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param6 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var visible = { isPublished: true, category: { isPublished: true } }; +var RELATED_LIMIT = 4; +var isAttribute = /* @__PURE__ */ __name((a) => !!a && typeof a === "object" && typeof a.name === "string" && typeof a.value === "string", "isAttribute"); +var PublicService = class PublicService2 { + static { + __name(this, "PublicService"); + } + prisma; + media; + sections; + constructor(prisma, media, sections) { + this.prisma = prisma; + this.media = media; + this.sections = sections; + } + async site() { + const [sections, categories] = await Promise.all([this.sections.getAll(), this.categories()]); + return { sections, categories }; + } + async categories() { + const rows = await this.prisma.category.findMany({ + where: { isPublished: true }, + orderBy: [{ sortOrder: "asc" }, { id: "asc" }], + include: { + coverImage: true, + _count: { select: { products: { where: { isPublished: true } } } } + } + }); + return rows.map((c) => ({ + slug: c.slug, + code: c.code, + name: c.name, + nameEn: c.nameEn, + shortDesc: c.shortDesc, + icon: c.icon, + coverImage: c.coverImage && this.media.url(c.coverImage.key), + productCount: c._count.products + })); + } + async category(slug) { + const c = await this.prisma.category.findFirst({ + where: { slug, isPublished: true }, + include: { + coverImage: true, + groups: { orderBy: { sortOrder: "asc" } }, + products: { + where: { isPublished: true }, + orderBy: [{ sortOrder: "asc" }, { id: "asc" }], + include: { image: true, group: { select: { slug: true } } } + } + } + }); + if (!c) + throw new NotFoundException("\u062F\u0633\u062A\u0647\u200C\u0628\u0646\u062F\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + const products = c.products.map((p) => this.toPublicProduct(p)); + const usedGroups = new Set(products.map((p) => p.group)); + return { + slug: c.slug, + code: c.code, + name: c.name, + nameEn: c.nameEn, + shortDesc: c.shortDesc, + fullDesc: c.fullDesc, + icon: c.icon, + seoTitle: c.seoTitle, + seoDescription: c.seoDescription, + coverImage: c.coverImage && this.media.url(c.coverImage.key), + productCount: products.length, + groups: c.groups.filter((g) => usedGroups.has(g.slug)).map((g) => ({ slug: g.slug, name: g.name, desc: g.desc })), + products + }; + } + async product(slug) { + const p = await this.prisma.product.findFirst({ + where: { slug, ...visible }, + include: { + image: true, + gallery: { orderBy: { sortOrder: "asc" }, include: { media: true } }, + group: true, + category: { include: { coverImage: true } } + } + }); + if (!p) + throw new NotFoundException("\u0645\u062D\u0635\u0648\u0644 \u06CC\u0627\u0641\u062A \u0646\u0634\u062F"); + const media = /* @__PURE__ */ new Map(); + for (const m of [p.image, ...p.gallery.map((g) => g.media)]) + if (m) + media.set(m.id, m); + const siblings = await this.prisma.product.findMany({ + where: { categoryId: p.categoryId, isPublished: true, id: { not: p.id } }, + orderBy: [{ sortOrder: "asc" }, { id: "asc" }], + include: { image: true, group: { select: { slug: true } } } + }); + const sameGroup = /* @__PURE__ */ __name((s) => p.groupId !== null && s.groupId === p.groupId, "sameGroup"); + const related = [...siblings.filter(sameGroup), ...siblings.filter((s) => !sameGroup(s))].slice(0, RELATED_LIMIT).map((s) => this.toPublicProduct(s)); + return { + ...this.toPublicProduct(p), + details: p.details, + brand: p.brand, + origin: p.origin, + sizes: p.sizes, + standards: p.standards, + features: p.features, + applications: p.applications, + attributes: Array.isArray(p.attributes) ? p.attributes.filter(isAttribute) : [], + packaging: p.packaging, + minOrder: p.minOrder, + seoTitle: p.seoTitle, + seoDescription: p.seoDescription, + images: [...media.values()].map((m) => ({ + url: this.media.url(m.key), + alt: m.alt || p.name, + width: m.width, + height: m.height + })), + groupName: p.group?.name ?? null, + category: { + slug: p.category.slug, + code: p.category.code, + name: p.category.name, + nameEn: p.category.nameEn, + fullDesc: p.category.fullDesc, + coverImage: p.category.coverImage && this.media.url(p.category.coverImage.key) + }, + related, + updatedAt: p.updatedAt.toISOString() + }; + } + async productRefs() { + const rows = await this.prisma.product.findMany({ + where: visible, + orderBy: [{ category: { sortOrder: "asc" } }, { sortOrder: "asc" }], + select: { slug: true, updatedAt: true } + }); + return rows.map((r) => ({ slug: r.slug, updatedAt: r.updatedAt.toISOString() })); + } + toPublicProduct(p) { + return { + code: p.code, + slug: p.slug, + name: p.name, + nameEn: p.nameEn, + desc: p.desc, + specs: p.specs, + variants: p.variants, + image: p.image && this.media.url(p.image.key), + group: p.group?.slug ?? null + }; + } +}; +PublicService = __decorate12([ + Injectable(), + __metadata11("design:paramtypes", [ + PrismaService, + MediaService, + SectionsService + ]) +], PublicService); +var PublicController = class PublicController2 { + static { + __name(this, "PublicController"); + } + publicData; + constructor(publicData) { + this.publicData = publicData; + } + site() { + return this.publicData.site(); + } + categories() { + return this.publicData.categories(); + } + category(slug) { + return this.publicData.category(slug); + } + products() { + return this.publicData.productRefs(); + } + product(slug) { + return this.publicData.product(slug); + } +}; +__decorate12([ + Get("site"), + __metadata11("design:type", Function), + __metadata11("design:paramtypes", []), + __metadata11("design:returntype", void 0) +], PublicController.prototype, "site", null); +__decorate12([ + Get("categories"), + __metadata11("design:type", Function), + __metadata11("design:paramtypes", []), + __metadata11("design:returntype", void 0) +], PublicController.prototype, "categories", null); +__decorate12([ + Get("categories/:slug"), + __param6(0, Param("slug")), + __metadata11("design:type", Function), + __metadata11("design:paramtypes", [String]), + __metadata11("design:returntype", void 0) +], PublicController.prototype, "category", null); +__decorate12([ + Get("products"), + __metadata11("design:type", Function), + __metadata11("design:paramtypes", []), + __metadata11("design:returntype", void 0) +], PublicController.prototype, "products", null); +__decorate12([ + Get("products/:slug"), + __param6(0, Param("slug")), + __metadata11("design:type", Function), + __metadata11("design:paramtypes", [String]), + __metadata11("design:returntype", void 0) +], PublicController.prototype, "product", null); +PublicController = __decorate12([ + Controller("public"), + __metadata11("design:paramtypes", [PublicService]) +], PublicController); +var PublicModule = class PublicModule2 { + static { + __name(this, "PublicModule"); + } +}; +PublicModule = __decorate12([ + Module({ + imports: [MediaModule, SectionsModule], + controllers: [PublicController], + providers: [PublicService] + }) +], PublicModule); + +// dist/users/users.controller.js +init_common(); +var __decorate13 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata12 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param7 = function(paramIndex, decorator) { + return function(target, key) { + decorator(target, key, paramIndex); + }; +}; +var UsersService = class UsersService2 { + static { + __name(this, "UsersService"); + } + prisma; + auth; + audit; + constructor(prisma, auth, audit) { + this.prisma = prisma; + this.auth = auth; + this.audit = audit; + } + async list() { + const users = await this.prisma.adminUser.findMany({ orderBy: { id: "asc" } }); + return users.map(toUserDto); + } + async create(input, actor) { + const user = await this.prisma.adminUser.create({ + data: { + phone: input.phone, + name: input.name, + role: input.role, + passwordHash: await hashPassword(input.password) + } + }); + this.audit.log(actor.id, "create", "user", user.id, user.phone); + return toUserDto(user); + } + async update(id, input, actor) { + if (id === actor.id && (input.role !== "ADMIN" || !input.isActive)) { + throw new BadRequestException("\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u0646\u0642\u0634 \u06CC\u0627 \u0648\u0636\u0639\u06CC\u062A \u062D\u0633\u0627\u0628 \u062E\u0648\u062F\u062A\u0627\u0646 \u0631\u0627 \u062A\u063A\u06CC\u06CC\u0631 \u062F\u0647\u06CC\u062F"); + } + const user = await this.prisma.adminUser.update({ + where: { id }, + data: { + name: input.name, + role: input.role, + isActive: input.isActive, + ...input.password ? { passwordHash: await hashPassword(input.password) } : {} + } + }); + if (input.password || !input.isActive) + await this.auth.revokeAll(id); + this.audit.log(actor.id, "update", "user", id, user.phone); + return toUserDto(user); + } + async remove(id, actor) { + if (id === actor.id) + throw new BadRequestException("\u0646\u0645\u06CC\u200C\u062A\u0648\u0627\u0646\u06CC\u062F \u062D\u0633\u0627\u0628 \u062E\u0648\u062F\u062A\u0627\u0646 \u0631\u0627 \u062D\u0630\u0641 \u06A9\u0646\u06CC\u062F"); + const user = await this.prisma.adminUser.delete({ where: { id } }); + this.audit.log(actor.id, "delete", "user", id, user.phone); + } +}; +UsersService = __decorate13([ + Injectable(), + __metadata12("design:paramtypes", [ + PrismaService, + AuthService, + AuditService + ]) +], UsersService); +var UsersController = class UsersController2 { + static { + __name(this, "UsersController"); + } + users; + constructor(users) { + this.users = users; + } + list() { + return this.users.list(); + } + create(body, actor) { + return this.users.create(body, actor); + } + update(id, body, actor) { + return this.users.update(id, body, actor); + } + async remove(id, actor) { + await this.users.remove(id, actor); + } +}; +__decorate13([ + Get(), + __metadata12("design:type", Function), + __metadata12("design:paramtypes", []), + __metadata12("design:returntype", void 0) +], UsersController.prototype, "list", null); +__decorate13([ + Post(), + __param7(0, Body(new ZodPipe(userCreateSchema))), + __param7(1, CurrentUser()), + __metadata12("design:type", Function), + __metadata12("design:paramtypes", [Object, Object]), + __metadata12("design:returntype", void 0) +], UsersController.prototype, "create", null); +__decorate13([ + Put(":id"), + __param7(0, Param("id", IdPipe)), + __param7(1, Body(new ZodPipe(userUpdateSchema))), + __param7(2, CurrentUser()), + __metadata12("design:type", Function), + __metadata12("design:paramtypes", [Number, Object, Object]), + __metadata12("design:returntype", void 0) +], UsersController.prototype, "update", null); +__decorate13([ + Delete(":id"), + HttpCode(204), + __param7(0, Param("id", IdPipe)), + __param7(1, CurrentUser()), + __metadata12("design:type", Function), + __metadata12("design:paramtypes", [Number, Object]), + __metadata12("design:returntype", Promise) +], UsersController.prototype, "remove", null); +UsersController = __decorate13([ + AdminAuth("ADMIN"), + Controller("admin/users"), + __metadata12("design:paramtypes", [UsersService]) +], UsersController); +var UsersModule = class UsersModule2 { + static { + __name(this, "UsersModule"); + } +}; +UsersModule = __decorate13([ + Module({ + imports: [AuthModule], + controllers: [UsersController], + providers: [UsersService] + }) +], UsersModule); + +// dist/app.module.js +var __decorate14 = function(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata13 = function(k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var HealthController = class HealthController2 { + static { + __name(this, "HealthController"); + } + prisma; + constructor(prisma) { + this.prisma = prisma; + } + async health() { + await this.prisma.$queryRaw`SELECT 1`; + return { ok: true }; + } +}; +__decorate14([ + Get(), + __metadata13("design:type", Function), + __metadata13("design:paramtypes", []), + __metadata13("design:returntype", Promise) +], HealthController.prototype, "health", null); +HealthController = __decorate14([ + Controller("health"), + __metadata13("design:paramtypes", [PrismaService]) +], HealthController); +var AppModule = class AppModule2 { + static { + __name(this, "AppModule"); + } +}; +AppModule = __decorate14([ + Module({ + imports: [ + import_throttler3.ThrottlerModule.forRoot([{ ttl: 6e4, limit: 300 }]), + PrismaModule, + CommonModule, + AuthModule, + UsersModule, + MediaModule, + CatalogModule, + SectionsModule, + ContactModule, + PublicModule, + DashboardModule + ], + controllers: [HealthController], + providers: [ + { provide: APP_GUARD, useClass: import_throttler3.ThrottlerGuard }, + { provide: APP_FILTER, useClass: PrismaExceptionFilter } + ] + }) +], AppModule); + +// dist/main.js +async function bootstrap() { + const app = await NestFactory.create(AppModule); + app.set("trust proxy", env.TRUST_PROXY); + app.setGlobalPrefix("api"); + app.use(helmet()); + app.use((0, import_cookie_parser.default)()); + const origins = env.CORS_ORIGINS.split(",").map((o) => o.trim()).filter(Boolean); + if (origins.length) + app.enableCors({ origin: origins, credentials: true }); + app.enableShutdownHooks(); + await app.listen(env.PORT); +} +__name(bootstrap, "bootstrap"); +await bootstrap(); diff --git a/apps/api/.output/dist/migrate.js b/apps/api/.output/dist/migrate.js new file mode 100644 index 0000000..1b964b3 --- /dev/null +++ b/apps/api/.output/dist/migrate.js @@ -0,0 +1,67 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + esm_default +} from "./chunks/chunk-KIUJQ22G.js"; +import { + __name +} from "./chunks/chunk-T6GW54FI.js"; + +// dist/migrate.js +import { createHash, randomUUID } from "node:crypto"; +import { existsSync } from "node:fs"; +import { readdir, readFile } from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +if (existsSync(".env")) + process.loadEnvFile(".env"); +var MIGRATIONS_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../prisma/migrations"); +var LOCK_ID = 72707369; +var client = new esm_default.Client({ connectionString: process.env.DATABASE_URL }); +async function main() { + await client.query(`SELECT pg_advisory_lock(${LOCK_ID})`); + await client.query(`CREATE TABLE IF NOT EXISTS "_prisma_migrations" ( + "id" VARCHAR(36) PRIMARY KEY NOT NULL, + "checksum" VARCHAR(64) NOT NULL, + "finished_at" TIMESTAMPTZ, + "migration_name" VARCHAR(255) NOT NULL, + "logs" TEXT, + "rolled_back_at" TIMESTAMPTZ, + "started_at" TIMESTAMPTZ NOT NULL DEFAULT now(), + "applied_steps_count" INTEGER NOT NULL DEFAULT 0 + )`); + const { rows } = await client.query(`SELECT migration_name, finished_at FROM "_prisma_migrations" WHERE rolled_back_at IS NULL`); + const failed = rows.find((r) => !r.finished_at); + if (failed) { + throw new Error(`migration ${failed.migration_name} failed earlier; fix the database, then mark it with \`prisma migrate resolve\` (see its "logs" column in _prisma_migrations)`); + } + const applied = new Set(rows.map((r) => r.migration_name)); + const entries = await readdir(MIGRATIONS_DIR, { withFileTypes: true }); + const pending = entries.filter((e) => e.isDirectory() && !applied.has(e.name)).map((e) => e.name).sort(); + for (const name of pending) { + const script = await readFile(path.join(MIGRATIONS_DIR, name, "migration.sql"), "utf8"); + const id = randomUUID(); + await client.query(`INSERT INTO "_prisma_migrations" (id, checksum, migration_name) VALUES ($1, $2, $3)`, [id, createHash("sha256").update(script).digest("hex"), name]); + try { + await client.query(script); + } catch (e) { + await client.query(`UPDATE "_prisma_migrations" SET logs = $2 WHERE id = $1`, [ + id, + String(e) + ]); + throw new Error(`migration ${name} failed`, { cause: e }); + } + await client.query(`UPDATE "_prisma_migrations" SET finished_at = now(), applied_steps_count = 1 WHERE id = $1`, [id]); + console.log(`applied ${name}`); + } + console.log(pending.length ? `${pending.length} migration(s) applied` : "no pending migrations"); +} +__name(main, "main"); +try { + await client.connect(); + await main(); +} catch (e) { + console.error(e); + process.exitCode = 1; +} finally { + await client.end(); +} diff --git a/apps/api/.output/dist/seed/seed.js b/apps/api/.output/dist/seed/seed.js new file mode 100644 index 0000000..391899b --- /dev/null +++ b/apps/api/.output/dist/seed/seed.js @@ -0,0 +1,1460 @@ +import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url); +import { + S3Storage, + SECTION_KEYS, + createPrismaClient, + env, + hashPassword, + normalizeIrMobile, + sectionSchemas, + toWebp +} from "../chunks/chunk-TXBARIZB.js"; +import "../chunks/chunk-KIUJQ22G.js"; +import "../chunks/chunk-BX2ML7LW.js"; +import "../chunks/chunk-A34KYKJP.js"; +import "../chunks/chunk-6UPY3HEI.js"; +import { + __name +} from "../chunks/chunk-T6GW54FI.js"; + +// dist/seed/seed.js +import { mkdir, readFile, writeFile } from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +// dist/seed/data/categories.js +var CATEGORIES = [ + { + slug: "workwear", + code: "IP-C01", + name: "\u067E\u0648\u0634\u0627\u06A9 \u06A9\u0627\u0631 \u0648 \u0627\u0644\u0628\u0633\u0647 \u0635\u0646\u0639\u062A\u06CC", + en: "INDUSTRIAL WORKWEAR", + shortDesc: "\u0644\u0628\u0627\u0633\u200C\u06A9\u0627\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u067E\u0627\u0631\u0686\u0647 \u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627\u060C \u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647 \u0648 \u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC.", + fullDesc: "\u0645\u062C\u0645\u0648\u0639\u0647 \u06A9\u0627\u0645\u0644 \u067E\u0648\u0634\u0627\u06A9 \u06A9\u0627\u0631 \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u0644\u0628\u0627\u0633 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC\u060C \u067E\u06CC\u0634\u200C\u0628\u0646\u062F \u062F\u0648\u0628\u0646\u062F\u0647 \u0648 \u062A\u06CC\u200C\u0634\u0631\u062A \u06A9\u0627\u0631. \u062A\u0645\u0627\u0645\u06CC \u0645\u062F\u0644\u200C\u0647\u0627 \u0628\u0627 \u067E\u0627\u0631\u0686\u0647 \u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627 \u0648 \u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645\u060C \u062F\u0648\u062E\u062A \u0635\u0646\u0639\u062A\u06CC \u0633\u0647 \u0633\u0648\u0632\u0646\u0647 \u067E\u06CC\u0648\u0633\u062A\u0647 \u0628\u0631\u0627\u06CC \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0634\u06A9\u0627\u0641\u062A\u06AF\u06CC \u062F\u0631\u0632\u0647\u0627 \u0648 \u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631 \u0627\u062E\u062A\u0635\u0627\u0635\u06CC \u062A\u0648\u0644\u06CC\u062F \u0645\u06CC\u200C\u0634\u0648\u0646\u062F. \u0645\u0648\u062C\u0648\u062F \u062F\u0631 \u0633\u0627\u06CC\u0632\u0647\u0627\u06CC M \u062A\u0627 4XL.", + icon: "Shirt", + products: [ + { + code: "IP-W01", + name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0622\u0644\u0641\u0627", + en: "ALPHA WORKWEAR", + desc: "\u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0645\u0647\u0646\u062F\u0633\u06CC \u0628\u0627 \u062C\u06CC\u0628\u200C\u0647\u0627\u06CC \u067E\u0627\u06A9\u062A\u06CC \u0648 \u0632\u06CC\u067E\u200C\u062F\u0627\u0631\u060C \u0646\u0648\u0627\u0631 \u0645\u063A\u0632\u06CC \u062A\u0632\u0626\u06CC\u0646\u06CC \u0648 \u0637\u0631\u0627\u062D\u06CC \u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9 \u0628\u0631\u0627\u06CC \u062A\u06CC\u0645\u200C\u0647\u0627\u06CC \u0641\u0646\u06CC \u0648 \u0645\u0647\u0646\u062F\u0633\u06CC.", + specs: ["\u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"], + variants: [ + "\u0637\u0648\u0633\u06CC/\u0622\u0628\u06CC", + "\u0645\u0634\u06A9\u06CC/\u0642\u0631\u0645\u0632", + "\u0645\u0634\u06A9\u06CC/\u0632\u0631\u062F", + "\u06A9\u0631\u0645/\u0633\u0631\u0645\u0647\u200C\u0627\u06CC" + ] + }, + { + code: "IP-W02", + name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0627\u0648\u0631\u062C\u06CC\u0646\u0627\u0644", + en: "ORIGINAL WORKWEAR", + desc: "\u06A9\u0627\u067E\u0634\u0646 \u0648 \u0634\u0644\u0648\u0627\u0631 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F \u0628\u0627 \u062F\u0648\u0627\u0645 \u0628\u0627\u0644\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u062F\u0631 \u0641\u0646\u06CC \u06A9\u0627\u0631\u062E\u0627\u0646\u062C\u0627\u062A \u0648 \u062E\u0637\u0648\u0637 \u062A\u0648\u0644\u06CC\u062F \u0628\u0627 \u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u062F\u0648\u0631\u0646\u06AF.", + specs: ["\u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0622\u0633\u062A\u0631 \u0639\u0631\u0642\u200C\u06AF\u06CC\u0631", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"], + variants: ["\u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u062F\u0648\u0631\u0646\u06AF"] + }, + { + code: "IP-W03", + name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0645\u062F\u0644 \u0628\u0648\u0641\u0627\u0644\u0648", + en: "BUFFALO WORKWEAR", + desc: "\u0637\u0631\u0627\u062D\u06CC \u0627\u0633\u067E\u0631\u062A \u0628\u0627 \u0628\u0631\u0634\u200C\u0647\u0627\u06CC \u062A\u0642\u0648\u06CC\u062A\u06CC \u0631\u0648\u06CC \u0634\u0627\u0646\u0647 \u0648 \u0628\u0627\u0632\u0648\u060C \u0632\u06CC\u067E \u0645\u062E\u0641\u06CC \u0645\u062D\u0627\u0641\u0638\u200C\u062F\u0627\u0631\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0641\u0639\u0627\u0644.", + specs: ["\u0641\u0644\u0627\u0645\u0646\u062A \u06A9\u062C\u0631\u0627\u0647 \u0627\u0639\u0644\u0627", "\u0632\u06CC\u067E \u0645\u062E\u0641\u06CC \u0645\u062D\u0627\u0641\u0638\u200C\u062F\u0627\u0631", "\u0628\u0631\u0634 \u062A\u0642\u0648\u06CC\u062A\u06CC \u0634\u0627\u0646\u0647", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"], + variants: [ + "\u0633\u0631\u0645\u0647\u200C\u0627\u06CC/\u0632\u0631\u062F", + "\u0637\u0648\u0633\u06CC/\u0642\u0631\u0645\u0632", + "\u0637\u0648\u0633\u06CC/\u062E\u0631\u062F\u0644\u06CC", + "\u0622\u0628\u06CC/\u0645\u0634\u06A9\u06CC" + ] + }, + { + code: "IP-W04", + name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u0633\u062A \u0648\u0631\u06A9", + en: "SET WORK", + desc: "\u0633\u062A \u0627\u062F\u0627\u0631\u06CC/\u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u0628\u0627 \u0627\u0646\u0639\u0637\u0627\u0641 \u0628\u0627\u0644\u0627 \u062C\u0647\u062A \u0641\u0639\u0627\u0644\u06CC\u062A\u200C\u0647\u0627\u06CC \u0641\u0646\u06CC \u0648 \u062A\u0639\u0645\u06CC\u0631\u0627\u062A\u06CC\u061B \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0633\u062A\u0627\u062F\u06CC \u0648 \u0639\u0645\u0644\u06CC\u0627\u062A\u06CC.", + specs: ["\u06A9\u062A\u0627\u0646 \u0645\u0642\u0627\u0648\u0645", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0637\u0631\u0627\u062D\u06CC \u0645\u0646\u0639\u0637\u0641", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"], + variants: ["\u062A\u0631\u06A9\u06CC\u0628\u200C\u0647\u0627\u06CC \u0686\u0646\u062F\u06AF\u0627\u0646\u0647 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC"] + }, + { + code: "IP-W05", + name: "\u0644\u0628\u0627\u0633\u06A9\u0627\u0631 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC", + en: "WELDING WORKWEAR", + desc: "\u0645\u062A\u0631\u06CC\u0627\u0644 \u0633\u0646\u06AF\u06CC\u0646 \u06A9\u062A\u0627\u0646 \u06CC\u0627 \u0686\u0631\u0645 \u062C\u0647\u062A \u0645\u0642\u0627\u0648\u0645\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u067E\u0627\u0634\u0634 \u062C\u0631\u0642\u0647\u200C\u0647\u0627\u06CC \u0645\u0630\u0627\u0628\u061B \u0637\u0631\u0627\u062D\u06CC\u200C\u0634\u062F\u0647 \u0628\u0631\u0627\u06CC \u062C\u0648\u0634\u06A9\u0627\u0631\u0627\u0646 \u0635\u0646\u0639\u062A\u06CC.", + specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u062C\u0631\u0642\u0647 \u0645\u0630\u0627\u0628", "\u06A9\u062A\u0627\u0646 \u0633\u0646\u06AF\u06CC\u0646 / \u0686\u0631\u0645", "\u062F\u0648\u062E\u062A \u0635\u0646\u0639\u062A\u06CC", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"] + }, + { + code: "IP-W06", + name: "\u067E\u06CC\u0634\u200C\u0628\u0646\u062F \u062F\u0648\u0628\u0646\u062F\u0647", + en: "BIB OVERALLS", + desc: "\u0622\u0632\u0627\u062F\u06CC \u0639\u0645\u0644 \u06A9\u0627\u0645\u0644 \u06A9\u062A\u0641 \u0648 \u0634\u0627\u0646\u0647 \u0628\u0627 \u062C\u06CC\u0628\u200C\u0647\u0627\u06CC \u0686\u0646\u062F\u0645\u0646\u0638\u0648\u0631\u0647 \u0627\u0628\u0632\u0627\u0631 \u0628\u0631 \u0631\u0648\u06CC \u067E\u06CC\u0634\u200C\u0633\u06CC\u0646\u0647\u061B \u0627\u06CC\u062F\u0647\u200C\u0622\u0644 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u0647\u0627\u06CC \u062A\u0639\u0645\u06CC\u0631\u0627\u062A\u06CC \u0648 \u0645\u0648\u0646\u062A\u0627\u0698.", + specs: ["\u0622\u0632\u0627\u062F\u06CC \u062D\u0631\u06A9\u062A \u0634\u0627\u0646\u0647", "\u062C\u06CC\u0628 \u0627\u0628\u0632\u0627\u0631 \u067E\u06CC\u0634\u200C\u0633\u06CC\u0646\u0647", "\u062F\u0648\u062E\u062A \u0633\u0647 \u0633\u0648\u0632\u0646\u0647", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"], + variants: ["\u0633\u0631\u0645\u0647\u200C\u0627\u06CC", "\u062E\u0627\u06A9\u0633\u062A\u0631\u06CC"] + }, + { + code: "IP-W07", + name: "\u062A\u06CC\u200C\u0634\u0631\u062A \u0635\u0646\u0639\u062A\u06CC", + en: "INDUSTRIAL T-SHIRT", + desc: "\u062A\u06CC\u200C\u0634\u0631\u062A \u06CC\u0642\u0647\u200C\u062F\u0627\u0631 \u062C\u0648\u062F\u0648\u0646 / \u067E\u0646\u0628\u0647\u200C\u0627\u06CC \u0645\u0646\u0627\u0633\u0628 \u0641\u0635\u0648\u0644 \u06AF\u0631\u0645 \u0648 \u0632\u06CC\u0631\u067E\u0648\u0634 \u06A9\u0627\u067E\u0634\u0646 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC \u062F\u0631 \u0633\u0648\u0644\u0647\u200C\u0647\u0627\u06CC \u0633\u0631\u067E\u0648\u0634\u06CC\u062F\u0647.", + specs: ["\u067E\u0646\u0628\u0647 / \u062C\u0648\u062F\u0648\u0646", "\u06CC\u0642\u0647\u200C\u062F\u0627\u0631", "\u0645\u0646\u0627\u0633\u0628 \u0641\u0635\u0648\u0644 \u06AF\u0631\u0645", "\u0633\u0627\u06CC\u0632 M \u062A\u0627 4XL"] + } + ] + }, + { + slug: "safety-footwear", + code: "IP-C02", + name: "\u067E\u0627\u06CC\u067E\u0648\u0634 \u0648 \u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC", + en: "SAFETY FOOTWEAR", + shortDesc: "\u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u061B \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637 \u0627\u062F\u0627\u0631\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u0648 \u0636\u062F \u0644\u063A\u0632\u0634 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647.", + fullDesc: "\u067E\u0627\u06CC\u067E\u0648\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0634\u0627\u0645\u0644 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0641\u0634\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u061B \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645 \u0648 \u0645\u0648\u0627\u062F \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + icon: "Footprints", + groups: [ + { slug: "office", name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645." }, + { slug: "worker", name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9." } + ], + products: [ + { + code: "IP-F01", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0645\u062F\u0644 \u06F1\u06F1\u06F7\u06F4", + en: "OFFICE SHOE 1174", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0646\u0628\u0648\u06A9", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/1.webp" + }, + { + code: "IP-F02", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F \u0645\u062F\u0644 \u06F6", + en: "SLIP-ON OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/2.webp" + }, + { + code: "IP-F03", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u0646\u062F\u062F\u0627\u0631 \u0645\u0634\u06A9\u06CC", + en: "LACE-UP OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/3.webp" + }, + { + code: "IP-F04", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F AAEA075", + en: "SLIP-ON OFFICE SHOE AAEA075", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/4.webp" + }, + { + code: "IP-F05", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0634\u0628\u0631\u0648", + en: "SHEBRO OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/5.webp" + }, + { + code: "IP-F06", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u0628\u06CC\u200C\u0628\u0646\u062F \u06A9\u0644\u0627\u0633\u06CC\u06A9", + en: "CLASSIC SLIP-ON OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/6.webp" + }, + { + code: "IP-F07", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u06A9\u0627\u0644\u062C", + en: "LOAFER OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u06A9\u0627\u0644\u062C", "\u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645"], + image: "/images/products/shoes/office/7.webp" + }, + { + code: "IP-F08", + group: "office", + name: "\u06A9\u0641\u0634 \u0627\u062F\u0627\u0631\u06CC \u062F\u06CC\u067E\u0644\u0645\u0627\u062A", + en: "DIPLOMAT OFFICE SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0633\u0628\u06A9 \u0635\u0646\u0639\u062A\u06CC\u060C \u0631\u0627\u062D\u062A\u060C \u0633\u0628\u06A9 \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u0632\u06CC\u0631\u0647 \u0645\u0642\u0627\u0648\u0645.", + specs: ["\u0686\u0631\u0645 \u0637\u0628\u06CC\u0639\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0637\u0631\u0627\u062D\u06CC \u0631\u0633\u0645\u06CC"], + image: "/images/products/shoes/office/8.webp" + }, + { + code: "IP-F09", + group: "worker", + name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F1", + en: "WORKER SAFETY SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/1.png" + }, + { + code: "IP-F10", + group: "worker", + name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F2", + en: "WORKER SAFETY SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/2.png" + }, + { + code: "IP-F11", + group: "worker", + name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0645\u062F\u0644 \u06F9\u06F0", + en: "WORKER SAFETY SHOE 90", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/3.png" + }, + { + code: "IP-F12", + group: "worker", + name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u067E\u0627\u062A\u0646 \u067E\u062F\u06CC\u062F\u0647 \u062A\u0628\u0631\u06CC\u0632 \u0645\u062F\u0644 \u0631\u0627\u06CC\u06A9\u0627 S1017", + en: "PATEN PADIDEH RAYKA S1017", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u067E\u0627\u062A\u0646 \u067E\u062F\u06CC\u062F\u0647 \u062A\u0628\u0631\u06CC\u0632", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/4.png" + }, + { + code: "IP-F13", + group: "worker", + name: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u067E\u06CC\u0645\u0627 \u0645\u062F\u0644 \u062F\u0646\u0627", + en: "PAYMA DENA SAFETY SHOE", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u067E\u06CC\u0645\u0627", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/5.png" + }, + { + code: "IP-F14", + group: "worker", + name: "\u06A9\u0641\u0634 \u06A9\u0627\u0631 \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0633\u0627\u0642\u200C\u062F\u0627\u0631", + en: "WORKER SAFETY BOOT", + desc: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627 \u0648 \u067E\u0631\u0648\u0698\u0647\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0633\u0627\u06CC\u0634 \u0648 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0633\u0628\u06A9.", + specs: ["\u0633\u0627\u0642\u200C\u062F\u0627\u0631", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0633\u0627\u06CC\u0634", "\u0632\u06CC\u0631\u0647 \u0636\u062F \u0644\u063A\u0632\u0634"], + image: "/images/products/shoes/worker/6.png" + } + ] + }, + { + slug: "protective-gloves", + code: "IP-C03", + name: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u062D\u0641\u0627\u0638\u062A\u06CC", + en: "PROTECTIVE GLOVES", + shortDesc: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u0636\u062F \u0628\u0631\u0634\u060C \u0686\u0631\u0645\u060C \u0636\u062F \u0627\u0633\u06CC\u062F \u0648 \u0636\u062F \u062D\u0644\u0627\u0644 \u0628\u0631\u0627\u06CC \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0635\u0646\u0639\u062A\u06CC\u060C \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC \u0648 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + fullDesc: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0634\u0627\u0645\u0644 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u0636\u062F \u0628\u0631\u0634\u060C \u0686\u0631\u0645\u060C \u0636\u062F \u0627\u0633\u06CC\u062F \u0648 \u0636\u062F \u062D\u0644\u0627\u0644\u061B \u0627\u0632 \u0628\u0631\u0646\u062F\u0647\u0627\u06CC \u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631\u060C \u0627\u0645\u0631\u06CC\u06A9\u0646 \u0633\u06CC\u0641\u062A\u06CC\u060C \u0645\u0627\u06A9\u0633\u06CC \u062F\u0631\u0627\u06CC \u0648 NM Safety. \u0647\u0631 \u0645\u062F\u0644 \u0645\u062A\u0646\u0627\u0633\u0628 \u0628\u0627 \u0646\u0648\u0639 \u062E\u0637\u0631 \u0645\u062D\u06CC\u0637 \u06A9\u0627\u0631 \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647 \u0627\u0633\u062A.", + icon: "Hand", + groups: [ + { slug: "cut", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634", desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632." }, + { slug: "leather", name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645", desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC." }, + { slug: "acid", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627." }, + { slug: "solvent", name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644", desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC." } + ], + products: [ + { + code: "IP-G01", + group: "cut", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0644\u0627\u062A\u06A9\u0633\u06CC", + en: "LATEX CUT-RESISTANT GLOVE", + desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.", + specs: ["\u0636\u062F \u0628\u0631\u0634", "\u067E\u0648\u0634\u0634 \u0644\u0627\u062A\u06A9\u0633"], + image: "/images/products/gloves/cut/1.webp" + }, + { + code: "IP-G02", + group: "cut", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0645\u062F\u0644 \u06F2", + en: "CUT-RESISTANT GLOVE", + desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.", + specs: ["\u0636\u062F \u0628\u0631\u0634"], + image: "/images/products/gloves/cut/2.webp" + }, + { + code: "IP-G03", + group: "cut", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0645\u062F\u0644 \u06F3", + en: "CUT-RESISTANT GLOVE", + desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.", + specs: ["\u0636\u062F \u0628\u0631\u0634"], + image: "/images/products/gloves/cut/3.webp" + }, + { + code: "IP-G04", + group: "cut", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631 \u06F1\u06F2 \u062C\u0641\u062A\u06CC", + en: "OSTADKAR CUT-RESISTANT GLOVE", + desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.", + specs: ["\u0636\u062F \u0628\u0631\u0634", "\u0627\u0633\u062A\u0627\u062F\u06A9\u0627\u0631", "\u0628\u0633\u062A\u0647 \u06F1\u06F2 \u062C\u0641\u062A\u06CC"], + image: "/images/products/gloves/cut/4.webp" + }, + { + code: "IP-G05", + group: "cut", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0628\u0631\u0634 \u062A\u0627\u0646\u06AF \u0648\u0627\u0646\u06AF", + en: "TANG WANG CUT-RESISTANT GLOVE", + desc: "\u0627\u06CC\u0645\u0646 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u06CC\u063A\u0647\u200C\u0647\u0627 \u0648 \u0641\u0644\u0632\u0627\u062A \u062A\u06CC\u0632.", + specs: ["\u0636\u062F \u0628\u0631\u0634", "\u062A\u0627\u0646\u06AF \u0648\u0627\u0646\u06AF"], + image: "/images/products/gloves/cut/5.webp" + }, + { + code: "IP-G06", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645 \u0645\u062F\u0644 \u06F0\u06F7", + en: "LEATHER GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u0686\u0631\u0645"], + image: "/images/products/gloves/leather/1.webp" + }, + { + code: "IP-G07", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0686\u0631\u0645 BMW", + en: "BMW LEATHER GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u0686\u0631\u0645", "\u0633\u0627\u0642 \u0628\u0644\u0646\u062F"], + image: "/images/products/gloves/leather/2.webp" + }, + { + code: "IP-G08", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644 \u0633\u0627\u0642 \u067E\u0627\u0631\u0686\u0647\u200C\u0627\u06CC", + en: "DOUBLE-PALM LEATHER GLOVE, FABRIC CUFF", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644", "\u0633\u0627\u0642 \u067E\u0627\u0631\u0686\u0647\u200C\u0627\u06CC"], + image: "/images/products/gloves/leather/3.webp" + }, + { + code: "IP-G09", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644 \u0633\u0627\u0642 \u0686\u0631\u0645", + en: "DOUBLE-PALM LEATHER GLOVE, LEATHER CUFF", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u06A9\u0641 \u0686\u0631\u0645 \u062F\u0648\u0628\u0644", "\u0633\u0627\u0642 \u0686\u0631\u0645"], + image: "/images/products/gloves/leather/4.webp" + }, + { + code: "IP-G10", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0647\u0648\u0628\u0627\u0631\u062A \u0627\u0645\u0631\u06CC\u06A9\u0646 \u0633\u06CC\u0641\u062A\u06CC", + en: "AMERICAN SAFETY HOBART GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u0686\u0631\u0645", "\u062C\u0648\u0634\u06A9\u0627\u0631\u06CC", "EN 388 / EN 407"], + image: "/images/products/gloves/leather/5.webp" + }, + { + code: "IP-G11", + group: "leather", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0647\u0648\u0628\u0627\u0631\u062A \u0637\u0631\u062D \u0641\u0631\u0627\u0646\u0633\u0647", + en: "FRENCH-STYLE HOBART GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638 \u062F\u0633\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062D\u0631\u0627\u0631\u062A\u060C \u062C\u0631\u0642\u0647 \u0648 \u0633\u0627\u06CC\u0634 \u062F\u0631 \u06A9\u0627\u0631\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0648 \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u0686\u0631\u0645", "\u062C\u0648\u0634\u06A9\u0627\u0631\u06CC"], + image: "/images/products/gloves/leather/6.webp" + }, + { + code: "IP-G12", + group: "acid", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F1", + en: "ACID-RESISTANT GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.", + specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"], + image: "/images/products/gloves/acid/1.webp" + }, + { + code: "IP-G13", + group: "acid", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F2", + en: "ACID-RESISTANT GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.", + specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"], + image: "/images/products/gloves/acid/2.webp" + }, + { + code: "IP-G14", + group: "acid", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u062F\u0644 \u06F3", + en: "ACID-RESISTANT GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.", + specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F"], + image: "/images/products/gloves/acid/3.webp" + }, + { + code: "IP-G15", + group: "acid", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u0627\u0633\u06CC\u062F \u0645\u0642\u0627\u0648\u0645 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC", + en: "CHEMICAL-RESISTANT GLOVE", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0633\u06CC\u062F\u0647\u0627 \u0648 \u0628\u0627\u0632\u0647\u0627.", + specs: ["\u0636\u062F \u0627\u0633\u06CC\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC", "\u0633\u0627\u0642 \u0628\u0644\u0646\u062F"], + image: "/images/products/gloves/acid/4.webp" + }, + { + code: "IP-G16", + group: "solvent", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644 \u0645\u062F\u0644 \u06F1\u06F3", + en: "SOLVENT-RESISTANT GLOVE", + desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + specs: ["\u0636\u062F \u062D\u0644\u0627\u0644"], + image: "/images/products/gloves/solvent/1.webp" + }, + { + code: "IP-G17", + group: "solvent", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0645\u0627\u06A9\u0633\u06CC \u062F\u0631\u0627\u06CC \u067E\u0644\u0627\u0633 56-530", + en: "MAXIDRY PLUS 56-530", + desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "MaxiDry Plus"], + image: "/images/products/gloves/solvent/2.webp" + }, + { + code: "IP-G18", + group: "solvent", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0636\u062F \u062D\u0644\u0627\u0644 \u0646\u06CC\u062A\u0631\u06CC\u0644\u06CC", + en: "NITRILE SOLVENT-RESISTANT GLOVE", + desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "\u0646\u06CC\u062A\u0631\u06CC\u0644"], + image: "/images/products/gloves/solvent/3.webp" + }, + { + code: "IP-G19", + group: "solvent", + name: "\u062F\u0633\u062A\u06A9\u0634 \u0646\u06CC\u062A\u0631\u06CC\u0644 \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC \u0636\u062F \u062D\u0644\u0627\u0644 NM Safety", + en: "NM SAFETY NITRILE LAB GLOVE", + desc: "\u0645\u0642\u0627\u0648\u0645\u062A \u0628\u0627\u0644\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u062A\u0645\u0627\u0633 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + specs: ["\u0636\u062F \u062D\u0644\u0627\u0644", "\u0646\u06CC\u062A\u0631\u06CC\u0644", "\u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC"], + image: "/images/products/gloves/solvent/4.webp" + } + ] + }, + { + slug: "safety-helmets", + code: "IP-C04", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC", + en: "SAFETY HELMETS", + shortDesc: "\u06A9\u0644\u0627\u0647\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u060C \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0648 \u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC\u061B \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645.", + fullDesc: "\u0627\u0646\u0648\u0627\u0639 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC\u060C \u0645\u0647\u0646\u062F\u0633\u06CC\u060C \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0627 \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC \u0633\u0628\u06A9. \u0628\u0627 \u067E\u0648\u0633\u062A\u0647 \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u0645\u0642\u0627\u0648\u0645\u060C \u0631\u06AF\u0644\u0627\u0698 \u062F\u0627\u062E\u0644\u06CC \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u062A\u0646\u0648\u0639 \u0631\u0646\u06AF\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F HSE.", + icon: "HardHat", + groups: [ + { slug: "worker", name: "\u06A9\u0644\u0627\u0647 \u06A9\u0627\u0631\u06AF\u0631\u06CC", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0633\u0631 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645." }, + { slug: "engineering", name: "\u06A9\u0644\u0627\u0647 \u0645\u0647\u0646\u062F\u0633\u06CC", desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628." }, + { slug: "height", name: "\u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639", desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639." }, + { slug: "cap", name: "\u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC", desc: "\u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u0627\u062F\u0627\u0631\u06CC." } + ], + products: [ + { + code: "IP-H01", + group: "worker", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631\u06AF\u0631\u06CC \u0622\u0628\u06CC", + en: "WORKER SAFETY HELMET", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0633\u0631 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u200C\u0647\u0627\u060C \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0636\u0631\u0628\u0647 \u0648 \u0633\u0642\u0648\u0637 \u0627\u062C\u0633\u0627\u0645.", + specs: ["\u067E\u0648\u0633\u062A\u0647 \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/2.webp" + }, + { + code: "IP-H02", + group: "engineering", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633\u06CC \u067E\u0627\u062F\u06A9\u0633", + en: "PADEX ENGINEERING HELMET", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.", + specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/11.webp" + }, + { + code: "IP-H03", + group: "engineering", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633\u06CC \u067E\u0627\u062F\u06A9\u0633 PADX", + en: "PADEX PADX ENGINEERING HELMET", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.", + specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/12.webp" + }, + { + code: "IP-H04", + group: "engineering", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0647\u0646\u062F\u0633 \u067E\u0627\u062F\u06A9\u0633 (\u0646\u0645\u0627\u06CC \u062F\u0627\u062E\u0644\u06CC)", + en: "PADEX HELMET HARNESS", + desc: "\u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0627\u062F\u0627\u0631\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC \u0633\u0628\u06A9\u060C \u0631\u0627\u062D\u062A \u0648 \u0634\u06A9\u06CC\u0644 \u0628\u0627 \u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628.", + specs: ["\u067E\u0627\u062F\u06A9\u0633", "\u06CC\u0631\u0627\u0642 \u062F\u0627\u062E\u0644\u06CC", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/10.webp" + }, + { + code: "IP-H05", + group: "height", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0627 \u0639\u06CC\u0646\u06A9", + en: "HEIGHT HELMET WITH VISOR", + desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.", + specs: ["\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u0639\u06CC\u0646\u06A9 \u062F\u0627\u062E\u0644\u06CC", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/1.webp" + }, + { + code: "IP-H06", + group: "height", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 uvex", + en: "UVEX HEIGHT HELMET", + desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.", + specs: ["uvex", "\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628"], + image: "/images/products/helmets/3.webp" + }, + { + code: "IP-H07", + group: "height", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0633\u0628\u0632", + en: "HEIGHT SAFETY HELMET", + desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.", + specs: ["\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u0631\u06AF\u0644\u0627\u0698 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/helmets/4.webp" + }, + { + code: "IP-H08", + group: "height", + name: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC MK8", + en: "MK8 INDUSTRIAL HELMET", + desc: "\u062F\u0627\u0631\u0627\u06CC \u0628\u0646\u062F \u0686\u0627\u0646\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u062B\u0628\u0627\u062A \u0628\u06CC\u0634\u062A\u0631 \u0647\u0646\u06AF\u0627\u0645 \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639.", + specs: ["MK8", "\u0628\u0646\u062F \u0686\u0627\u0646\u0647", "\u062A\u0647\u0648\u06CC\u0647 \u0645\u0646\u0627\u0633\u0628"], + image: "/images/products/helmets/9.webp" + }, + { + code: "IP-H09", + group: "cap", + name: "\u06A9\u067E \u0627\u06CC\u0645\u0646\u06CC \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631", + en: "SAFETY BUMP CAP", + desc: "\u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u0627\u062F\u0627\u0631\u06CC.", + specs: ["\u0646\u0642\u0627\u0628\u200C\u062F\u0627\u0631", "\u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u062F\u0627\u062E\u0644\u06CC", "\u0633\u0628\u06A9\u200C\u0648\u0632\u0646"], + image: "/images/products/helmets/5.webp" + } + ] + }, + { + slug: "eye-protection", + code: "IP-C05", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0648 \u0635\u0646\u0639\u062A\u06CC", + en: "EYE PROTECTION", + shortDesc: "\u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0634\u0641\u0627\u0641 \u0648 \u062F\u0648\u062F\u06CC \u0648 \u06AF\u0627\u06AF\u0644\u200C\u0647\u0627\u06CC \u0645\u062D\u0627\u0641\u0638\u062A\u06CC \u0628\u0627 \u0648\u06CC\u0698\u06AF\u06CC\u200C\u0647\u0627\u06CC \u0636\u062F \u0636\u0631\u0628\u0647\u060C \u0636\u062F \u062E\u0634\u060C \u0636\u062F \u0628\u062E\u0627\u0631 \u0648 UV.", + fullDesc: "\u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0634\u0627\u0645\u0644 \u0639\u06CC\u0646\u06A9\u200C\u0647\u0627\u06CC \u0634\u0641\u0627\u0641\u060C \u062F\u0648\u062F\u06CC \u0648 UV \u0648 \u06AF\u0627\u06AF\u0644\u200C\u0647\u0627\u06CC \u06A9\u0634\u200C\u062F\u0627\u0631 \u0627\u0632 \u0628\u0631\u0646\u062F\u0647\u0627\u06CC uvex\u060C \u062A\u0648\u062A\u0627\u0635\u060C \u06A9\u0627\u0646\u0627\u0633\u06CC\u0641 \u0648 \u062A\u06A9 \u067E\u0644\u0627\u0633\u062A. \u0636\u062F \u0636\u0631\u0628\u0647\u060C \u0636\u062F \u062E\u0634\u060C \u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u0627\u0646\u0648\u0627\u0639 \u0633\u0627\u06CC\u0632 \u0635\u0648\u0631\u062A.", + icon: "Glasses", + groups: [ + { slug: "clear", name: "\u0639\u06CC\u0646\u06A9 \u0634\u0641\u0627\u0641", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0636\u062F \u062E\u0634 \u0628\u0627 \u062F\u06CC\u062F \u0648\u0627\u0636\u062D." }, + { slug: "tinted", name: "\u0639\u06CC\u0646\u06A9 \u062F\u0648\u062F\u06CC \u0648 UV", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F." }, + { slug: "goggle", name: "\u06AF\u0627\u06AF\u0644", desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628." } + ], + products: [ + { + code: "IP-E01", + group: "clear", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0634\u0641\u0627\u0641 \u062F\u0633\u062A\u0647 \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", + en: "ADJUSTABLE CLEAR SAFETY GLASSES", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0628\u0631\u0627\u06CC \u0627\u0646\u0648\u0627\u0639 \u0633\u0627\u06CC\u0632 \u0635\u0648\u0631\u062A.", + specs: ["\u0636\u062F \u0636\u0631\u0628\u0647", "\u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/eyewear/1.webp" + }, + { + code: "IP-E02", + group: "clear", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0648\u0637\u0628\u06CC", + en: "OVER-SPEC SAFETY GLASSES", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u06CC \u0639\u06CC\u0646\u06A9 \u0637\u0628\u06CC.", + specs: ["\u0636\u062F \u0636\u0631\u0628\u0647", "\u0631\u0648\u0637\u0628\u06CC"], + image: "/images/products/eyewear/4.webp" + }, + { + code: "IP-E03", + group: "clear", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC uvex i-5", + en: "UVEX I-5 SAFETY GLASSES", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u0636\u062F \u062E\u0634 \u0628\u0627 \u062F\u06CC\u062F \u0648\u0627\u0636\u062D.", + specs: ["uvex", "\u0636\u062F \u0636\u0631\u0628\u0647", "\u0636\u062F \u062E\u0634"], + image: "/images/products/eyewear/5.webp" + }, + { + code: "IP-E04", + group: "clear", + name: "\u0639\u06CC\u0646\u06A9 \u0634\u06CC\u0634\u0647 \u0633\u0641\u06CC\u062F \u062A\u06A9 \u067E\u0644\u0627\u0633\u062A", + en: "TAK PLAST CLEAR GLASSES", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u0627\u0632 \u0686\u0634\u0645\u200C\u0647\u0627 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u062E\u0648\u0631\u062F \u0627\u062C\u0633\u0627\u0645 \u0648 \u0627\u0628\u0632\u0627\u0631\u061B \u062F\u0627\u0631\u0627\u06CC \u0645\u062D\u0627\u0641\u0638 \u06A9\u0646\u0627\u0631\u06CC.", + specs: ["\u062A\u06A9 \u067E\u0644\u0627\u0633\u062A", "\u0645\u062D\u0627\u0641\u0638 \u06A9\u0646\u0627\u0631\u06CC"], + image: "/images/products/eyewear/11.webp" + }, + { + code: "IP-E05", + group: "tinted", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC uvex \u062F\u0648\u062F\u06CC", + en: "UVEX TINTED SAFETY GLASSES", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.", + specs: ["uvex", "\u0634\u06CC\u0634\u0647 UV", "\u0636\u062F \u0636\u0631\u0628\u0647"], + image: "/images/products/eyewear/6.webp" + }, + { + code: "IP-E06", + group: "tinted", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0648\u062A\u0627\u0635 AT113", + en: "TOTAS AT113", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.", + specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0634\u06CC\u0634\u0647 UV", "\u0636\u062F \u0636\u0631\u0628\u0647"], + image: "/images/products/eyewear/7.webp" + }, + { + code: "IP-E07", + group: "tinted", + name: "\u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0646\u0627\u0633\u06CC\u0641 20105", + en: "CANASAFE 20105", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F \u062C\u0648\u0634\u06A9\u0627\u0631\u06CC.", + specs: ["\u06A9\u0627\u0646\u0627\u0633\u06CC\u0641", "\u0634\u06CC\u0634\u0647 UV", "\u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645"], + image: "/images/products/eyewear/9.webp" + }, + { + code: "IP-E08", + group: "tinted", + name: "\u0639\u06CC\u0646\u06A9 \u062A\u0648\u062A\u0627\u0635 AT116", + en: "TOTAS AT116", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0627\u0634\u0639\u0647 \u0645\u0636\u0631 \u062E\u0648\u0631\u0634\u06CC\u062F \u0648 \u0646\u0648\u0631 \u0634\u062F\u06CC\u062F.", + specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0634\u06CC\u0634\u0647 UV", "\u0631\u0648\u0637\u0628\u06CC"], + image: "/images/products/eyewear/10.webp" + }, + { + code: "IP-E09", + group: "goggle", + name: "\u06AF\u0627\u06AF\u0644 uvex ultravision", + en: "UVEX ULTRAVISION GOGGLE", + desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.", + specs: ["uvex", "\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"], + image: "/images/products/eyewear/2.webp" + }, + { + code: "IP-E10", + group: "goggle", + name: "\u06AF\u0627\u06AF\u0644 \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0634\u200C\u062F\u0627\u0631", + en: "SAFETY GOGGLE", + desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.", + specs: ["\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"], + image: "/images/products/eyewear/3.webp" + }, + { + code: "IP-E11", + group: "goggle", + name: "\u06AF\u0627\u06AF\u0644 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0648\u062A\u0627\u0635 ATBM", + en: "TOTAS ATBM GOGGLE", + desc: "\u0636\u062F \u0628\u062E\u0627\u0631 \u0648 \u0636\u062F \u0636\u0631\u0628\u0647\u061B \u062C\u0644\u0648\u06AF\u06CC\u0631\u06CC \u0627\u0632 \u0627\u06CC\u062C\u0627\u062F \u0645\u0647 \u062F\u0631 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06AF\u0631\u0645 \u06CC\u0627 \u0645\u0631\u0637\u0648\u0628.", + specs: ["\u062A\u0648\u062A\u0627\u0635", "\u0636\u062F \u0628\u062E\u0627\u0631", "\u06A9\u0634\u200C\u062F\u0627\u0631"], + image: "/images/products/eyewear/8.webp" + } + ] + }, + { + slug: "hearing-protection", + code: "IP-C06", + name: "\u062D\u0641\u0627\u0638\u062A \u0634\u0646\u0648\u0627\u06CC\u06CC", + en: "HEARING PROTECTION", + shortDesc: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0631\u0648\u06AF\u0648\u0634\u06CC \u0628\u0627 \u06A9\u0627\u0647\u0634 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644 \u0648 \u0627\u06CC\u0631\u067E\u0644\u0627\u06AF\u200C\u0647\u0627\u06CC \u0627\u0633\u0641\u0646\u062C\u06CC \u0648 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u0628\u0631\u0627\u06CC \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u0633\u0631\u0648\u0635\u062F\u0627.", + fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0634\u0646\u0648\u0627\u06CC\u06CC \u0634\u0627\u0645\u0644 \u0627\u06CC\u0631\u0645\u0627\u0641 (\u0645\u062D\u0627\u0641\u0638 \u0631\u0648\u06AF\u0648\u0634\u06CC) \u0628\u0627 \u06A9\u0627\u0647\u0634 \u062A\u0631\u0627\u0632 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644 \u0648 \u0627\u06CC\u0631\u067E\u0644\u0627\u06AF (\u062F\u0627\u062E\u0644\u200C\u06AF\u0648\u0634\u06CC) \u062F\u0631 \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u0627\u0633\u0641\u0646\u062C\u06CC \u0641\u0631\u0645\u200C\u06AF\u06CC\u0631 \u0648 \u067E\u0644\u0647\u200C\u0627\u06CC \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC. \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0635\u0648\u062A\u06CC \u0628\u0627\u0644\u0627\u06CC \u06F8\u06F5 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u06A9\u0645\u067E\u0631\u0633\u0648\u0631\u062E\u0627\u0646\u0647\u200C\u0647\u0627 \u0648 \u062E\u0637\u0648\u0637 \u062A\u0648\u0644\u06CC\u062F \u0633\u0646\u06AF\u06CC\u0646.", + icon: "Ear", + groups: [ + { slug: "earmuff", name: "\u0627\u06CC\u0631\u0645\u0627\u0641", desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC." }, + { slug: "earplug", name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u062F\u0644\u200C\u0647\u0627\u06CC \u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641 \u0648 \u0686\u0646\u062F\u0628\u0627\u0631 \u0645\u0635\u0631\u0641." } + ], + products: [ + { + code: "IP-HP01", + group: "earmuff", + name: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0647\u0644\u0628\u0631\u06AF", + en: "HELLBERG EARMUFF", + desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.", + specs: ["Hellberg", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"], + image: "/images/products/hearing/1.webp" + }, + { + code: "IP-HP02", + group: "earmuff", + name: "\u0627\u06CC\u0631\u0645\u0627\u0641 uvex K2", + en: "UVEX K2 EARMUFF", + desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.", + specs: ["uvex", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"], + image: "/images/products/hearing/2.webp" + }, + { + code: "IP-HP03", + group: "earmuff", + name: "\u0627\u06CC\u0631\u0645\u0627\u0641 \u0628\u0648\u0641\u0627\u0644\u0648 110", + en: "BUFFALO 110 EARMUFF", + desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.", + specs: ["\u0628\u0648\u0641\u0627\u0644\u0648", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"], + image: "/images/products/hearing/4.webp" + }, + { + code: "IP-HP04", + group: "earmuff", + name: "\u06AF\u0648\u0634\u06CC \u0635\u062F\u0627\u06AF\u06CC\u0631 3M", + en: "3M EARMUFF", + desc: "\u06A9\u0627\u0647\u0634 \u0635\u062F\u0627 \u062A\u0627 \u06F2\u06F8 \u062F\u0633\u06CC\u200C\u0628\u0644\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0648 \u06A9\u0627\u0631\u06AF\u0627\u0647\u06CC\u060C \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645 \u0648 \u0631\u0627\u062D\u062A \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC.", + specs: ["3M", "\u0647\u062F\u0628\u0646\u062F \u0642\u0627\u0628\u0644 \u062A\u0646\u0638\u06CC\u0645", "\u0628\u0627\u0644\u0634\u062A\u06A9 \u0646\u0631\u0645"], + image: "/images/products/hearing/8.webp" + }, + { + code: "IP-HP05", + group: "earplug", + name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u06A9\u0627\u0633\u062A\u0627 \u0645\u06A9\u0633 \u0641\u06CC\u062A MAXFIT", + en: "COSTA MAXFIT EARPLUG", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.", + specs: ["\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u067E\u0644\u0647\u200C\u0627\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0686\u0646\u062F\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"], + image: "/images/products/hearing/3.webp" + }, + { + code: "IP-HP06", + group: "earplug", + name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0627\u0633\u0641\u0646\u062C\u06CC Bilsom 303L", + en: "BILSOM 303L FOAM EARPLUG", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.", + specs: ["\u0627\u0633\u0641\u0646\u062C\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631 / \u0628\u062F\u0648\u0646 \u0628\u0646\u062F", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"], + image: "/images/products/hearing/5.webp" + }, + { + code: "IP-HP07", + group: "earplug", + name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0627\u0633\u0641\u0646\u062C\u06CC \u0645\u0627\u06AF\u0645\u0627", + en: "MAGMA FOAM EARPLUG", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.", + specs: ["\u0627\u0633\u0641\u0646\u062C\u06CC", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"], + image: "/images/products/hearing/6.webp" + }, + { + code: "IP-HP08", + group: "earplug", + name: "\u0627\u06CC\u0631\u067E\u0644\u0627\u06AF \u0645\u06A9\u0633 \u0641\u06CC\u062A \u0628\u0627 \u0642\u0627\u0628", + en: "MAXFIT EARPLUG WITH CASE", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0635\u062F\u0627\u0647\u0627\u06CC \u0634\u062F\u06CC\u062F \u0648 \u0646\u0648\u06CC\u0632 \u0645\u062D\u06CC\u0637\u060C \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A.", + specs: ["\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC \u067E\u0644\u0647\u200C\u0627\u06CC", "\u0628\u0646\u062F\u062F\u0627\u0631", "\u0642\u0627\u0628 \u0646\u06AF\u0647\u062F\u0627\u0631\u06CC"], + image: "/images/products/hearing/7.webp" + } + ] + }, + { + slug: "respiratory-protection", + code: "IP-C07", + name: "\u062D\u0641\u0627\u0638\u062A \u062A\u0646\u0641\u0633\u06CC", + en: "RESPIRATORY PROTECTION", + shortDesc: "\u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC\u060C P2/P3 \u0648 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0628\u0631\u0627\u06CC \u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0627\u0632\u0647\u0627 \u0648 \u0630\u0631\u0627\u062A.", + fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u062A\u0646\u0641\u0633\u06CC \u0634\u0627\u0645\u0644 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A\u060C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0628\u0627 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u062A\u062E\u0635\u0635\u06CC\u060C \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 P2/P3 \u0628\u0631\u0627\u06CC \u0630\u0631\u0627\u062A \u0645\u06CC\u06A9\u0631\u0648\u0646\u06CC\u060C \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC \u0627\u0642\u062A\u0635\u0627\u062F\u06CC \u0648 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0633\u0647\u200C\u0644\u0627\u06CC\u0647 \u0628\u0647\u062F\u0627\u0634\u062A\u06CC. \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u062D\u0644\u0627\u0644\u200C\u0647\u0627\u06CC \u0641\u0631\u0627\u0631\u060C \u063A\u0628\u0627\u0631\u0647\u0627\u06CC \u0645\u0639\u062F\u0646\u06CC\u060C \u0631\u0646\u06AF\u200C\u067E\u0627\u0634\u06CC \u0648 \u062E\u0637\u0648\u0637 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC.", + icon: "ShieldPlus", + groups: [ + { slug: "half", name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636\u061B \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0645\u062A\u0648\u0633\u0637 \u0648 \u0628\u062E\u0627\u0631\u0627\u062A \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC." }, + { slug: "full", name: "\u0645\u0627\u0633\u06A9 \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631." }, + { slug: "particulate", name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 P2/P3", desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627." }, + { slug: "medical", name: "\u0645\u0627\u0633\u06A9 \u0633\u0647\u200C\u0644\u0627\u06CC\u0647", desc: "\u0645\u0627\u0633\u06A9 \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u06A9\u0645." } + ], + products: [ + { + code: "IP-R01", + group: "half", + name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC", + en: "HALF-FACE RESPIRATOR WITH FILTERS", + desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636 \u0628\u0631\u0627\u06CC \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.", + specs: ["\u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC", "\u062F\u0648 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C"], + image: "/images/products/respiratory/5.webp" + }, + { + code: "IP-R02", + group: "half", + name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 5500", + en: "NORTH 5500 HALF MASK", + desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646\u060C \u0645\u0646\u0627\u0633\u0628 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u0645\u062A\u0648\u0633\u0637.", + specs: ["North", "\u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"], + image: "/images/products/respiratory/6.webp" + }, + { + code: "IP-R03", + group: "half", + name: "\u0645\u0627\u0633\u06A9 \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A 3M", + en: "3M HALF-FACE RESPIRATOR", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u062E\u0627\u0631\u0627\u062A \u0648 \u06AF\u0627\u0632\u0647\u0627\u06CC \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0628\u0627 \u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u0648 \u0641\u06CC\u0644\u062A\u0631 \u0642\u0627\u0628\u0644 \u062A\u0639\u0648\u06CC\u0636.", + specs: ["3M", "\u06A9\u0627\u0631\u062A\u0631\u06CC\u062C \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"], + image: "/images/products/respiratory/7.webp" + }, + { + code: "IP-R04", + group: "half", + name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 7700", + en: "NORTH 7700 HALF MASK", + desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0628\u062F\u0646\u0647 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.", + specs: ["North", "\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"], + image: "/images/products/respiratory/11.webp" + }, + { + code: "IP-R05", + group: "half", + name: "\u0645\u0627\u0633\u06A9 \u0646\u06CC\u0645\u200C\u0635\u0648\u0631\u062A \u0646\u0648\u0631\u062B 7700 (\u0646\u0645\u0627\u06CC \u062C\u0627\u0646\u0628\u06CC)", + en: "NORTH 7700 HALF MASK", + desc: "\u067E\u0648\u0634\u0634\u200C\u062F\u0647\u06CC \u0628\u06CC\u0646\u06CC \u0648 \u062F\u0647\u0627\u0646 \u0628\u0627 \u0628\u062F\u0646\u0647 \u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0637\u0648\u0644\u0627\u0646\u06CC\u200C\u0645\u062F\u062A.", + specs: ["North", "\u0633\u06CC\u0644\u06CC\u06A9\u0648\u0646\u06CC", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"], + image: "/images/products/respiratory/10.webp" + }, + { + code: "IP-R06", + group: "full", + name: "\u0645\u0627\u0633\u06A9 \u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", + en: "FULL-FACE RESPIRATOR", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631.", + specs: ["\u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", "\u0634\u06CC\u0634\u0647 \u0636\u062F \u0636\u0631\u0628\u0647", "\u0641\u06CC\u0644\u062A\u0631 \u062A\u0639\u0648\u06CC\u0636\u06CC"], + image: "/images/products/respiratory/4.webp" + }, + { + code: "IP-R07", + group: "full", + name: "\u0645\u0627\u0633\u06A9 \u062A\u0646\u0641\u0633\u06CC \u062F\u0631\u0627\u06AF\u0631", + en: "DR\xC4GER FULL-FACE RESPIRATOR", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u06A9\u0627\u0645\u0644 \u0627\u0632 \u0635\u0648\u0631\u062A \u0648 \u0686\u0634\u0645\u200C\u0647\u0627\u060C \u0645\u0646\u0627\u0633\u0628 \u06A9\u0627\u0631 \u0628\u0627 \u0645\u0648\u0627\u062F \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u067E\u0631\u062E\u0637\u0631.", + specs: ["Dr\xE4ger", "\u062A\u0645\u0627\u0645\u200C\u0635\u0648\u0631\u062A", "\u0641\u06CC\u0644\u062A\u0631 \u0686\u0646\u062F\u0645\u0646\u0638\u0648\u0631\u0647"], + image: "/images/products/respiratory/8.webp" + }, + { + code: "IP-R08", + group: "particulate", + name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u062A\u0627\u0634\u0648", + en: "FOLDABLE PARTICULATE MASK", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.", + specs: ["P2", "\u062A\u0627\u0634\u0648", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"], + image: "/images/products/respiratory/1.webp" + }, + { + code: "IP-R09", + group: "particulate", + name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0633\u0648\u067E\u0627\u067E\u200C\u062F\u0627\u0631", + en: "VALVED PARTICULATE MASK", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.", + specs: ["P2 / P3", "\u0633\u0648\u067E\u0627\u067E \u0628\u0627\u0632\u062F\u0645\u06CC", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641"], + image: "/images/products/respiratory/2.webp" + }, + { + code: "IP-R10", + group: "particulate", + name: "\u0645\u0627\u0633\u06A9 \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u062F\u0631\u0627\u06AF\u0631 \u0633\u0648\u067E\u0627\u067E\u200C\u062F\u0627\u0631", + en: "DR\xC4GER VALVED PARTICULATE MASK", + desc: "\u0645\u062D\u0627\u0641\u0638\u062A \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u06AF\u0631\u062F \u0648 \u063A\u0628\u0627\u0631 \u0648 \u0630\u0631\u0627\u062A \u0645\u0639\u0644\u0642 \u062F\u0631 \u0647\u0648\u0627.", + specs: ["Dr\xE4ger", "\u0633\u0648\u067E\u0627\u067E \u0628\u0627\u0632\u062F\u0645\u06CC", "P2 / P3"], + image: "/images/products/respiratory/3.webp" + }, + { + code: "IP-R11", + group: "medical", + name: "\u0645\u0627\u0633\u06A9 \u0633\u0647\u200C\u0644\u0627\u06CC\u0647 \u067E\u0632\u0634\u06A9\u06CC", + en: "THREE-LAYER MEDICAL MASK", + desc: "\u0645\u0627\u0633\u06A9 \u0633\u0628\u06A9 \u0648 \u0631\u0627\u062D\u062A\u060C \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0631\u0648\u0632\u0645\u0631\u0647 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u0628\u0627 \u0622\u0644\u0648\u062F\u06AF\u06CC \u06A9\u0645.", + specs: ["\u0633\u0647\u200C\u0644\u0627\u06CC\u0647", "\u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641", "\u0628\u0633\u062A\u0647 \u06F5\u06F0 \u0639\u062F\u062F\u06CC"], + image: "/images/products/respiratory/9.webp" + } + ] + }, + { + slug: "traffic-equipment", + code: "IP-C08", + name: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u0648 \u0627\u06CC\u0645\u0646\u06CC \u0645\u062D\u06CC\u0637\u06CC", + en: "TRAFFIC & SITE SAFETY", + shortDesc: "\u0645\u062E\u0631\u0648\u0637\u060C \u0646\u06CC\u0648\u062C\u0631\u0633\u06CC\u060C \u0627\u0633\u062A\u0648\u0627\u0646\u0647\u060C \u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631\u060C \u0622\u06CC\u0646\u0647 \u0645\u062D\u062F\u0628 \u0648 \u0633\u0627\u06CC\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u200C\u0633\u0627\u0632\u06CC \u0645\u062D\u0648\u0637\u0647 \u0635\u0646\u0639\u062A\u06CC.", + fullDesc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u0648 \u0627\u06CC\u0645\u0646\u06CC \u0645\u062D\u06CC\u0637\u06CC \u0634\u0627\u0645\u0644 \u0645\u062E\u0631\u0648\u0637 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC\u060C \u0646\u06CC\u0648\u062C\u0631\u0633\u06CC \u067E\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC\u060C \u0627\u0633\u062A\u0648\u0627\u0646\u0647 \u0648 \u0628\u0648\u0644\u0627\u0631\u062F\u060C \u0686\u0631\u0627\u063A \u0648 \u062A\u0627\u0628\u0644\u0648\u0647\u0627\u06CC \u0647\u0634\u062F\u0627\u0631\u062F\u0647\u0646\u062F\u0647\u060C \u0628\u0627\u062A\u0648\u0645 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC\u060C \u0646\u0648\u0627\u0631\u0647\u0627\u06CC \u062E\u0637\u0631\u060C \u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC\u060C \u0622\u06CC\u0646\u0647\u200C\u0647\u0627\u06CC \u0645\u062D\u062F\u0628\u060C \u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634\u0647 \u0633\u062A\u0648\u0646 \u0648 \u06AF\u0644\u200C\u0645\u06CC\u062E \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC. \u0645\u0646\u0627\u0633\u0628 \u0627\u06CC\u0645\u0646\u200C\u0633\u0627\u0632\u06CC \u0645\u062D\u0648\u0637\u0647 \u06A9\u0627\u0631\u062E\u0627\u0646\u0647\u060C \u0627\u0646\u0628\u0627\u0631\u0647\u0627\u060C \u0631\u0645\u067E\u200C\u0647\u0627 \u0648 \u067E\u0627\u0631\u06A9\u06CC\u0646\u06AF\u200C\u0647\u0627.", + icon: "TriangleAlert", + products: [ + { + code: "IP-T01", + name: "\u0645\u062E\u0631\u0648\u0637 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC", + en: "TRAFFIC CONE", + desc: "PVC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631 \u0628\u0627 \u0634\u0628\u0631\u0646\u06AF\u200C\u0647\u0627\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F \u0631\u0648\u0632 \u0648 \u0634\u0628\u061B \u0645\u0642\u0627\u0648\u0645 \u062F\u0631 \u0628\u0631\u0627\u0628\u0631 \u0648\u0627\u0698\u06AF\u0648\u0646\u06CC \u0648 \u0636\u0631\u0628\u0647 \u062E\u0648\u062F\u0631\u0648.", + specs: ["PVC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631", "\u0634\u0628\u0631\u0646\u06AF \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0648\u0627\u0698\u06AF\u0648\u0646\u06CC", "\u0642\u0627\u0628\u0644 \u0631\u0624\u06CC\u062A \u0634\u0628\u0627\u0646\u0647"] + }, + { + code: "IP-T02", + name: "\u0646\u06CC\u0648\u062C\u0631\u0633\u06CC \u067E\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC", + en: "NEW JERSEY BARRIER", + desc: "\u0628\u062F\u0646\u0647 \u067E\u0644\u06CC\u200C\u0627\u062A\u06CC\u0644\u0646\u06CC \u0645\u062F\u0648\u0644\u0627\u0631 \u0642\u0627\u0628\u0644 \u0627\u062A\u0635\u0627\u0644 \u0628\u0627 \u0642\u0627\u0628\u0644\u06CC\u062A \u067E\u0631\u0634\u0648\u0646\u062F\u06AF\u06CC \u0628\u0627 \u0622\u0628 \u06CC\u0627 \u0645\u0627\u0633\u0647 \u062C\u0647\u062A \u062A\u062B\u0628\u06CC\u062A \u0648 \u0627\u06CC\u062C\u0627\u062F \u062D\u0627\u0626\u0644.", + specs: ["\u067E\u0644\u06CC\u200C\u0627\u062A\u06CC\u0644\u0646 \u0645\u062F\u0648\u0644\u0627\u0631", "\u0642\u0627\u0628\u0644 \u0627\u062A\u0635\u0627\u0644", "\u067E\u0631\u0634\u062F\u0646\u06CC \u0628\u0627 \u0622\u0628/\u0645\u0627\u0633\u0647", "\u0645\u0642\u0627\u0648\u0645 UV"] + }, + { + code: "IP-T03", + name: "\u0627\u0633\u062A\u0648\u0627\u0646\u0647 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC", + en: "TRAFFIC BOLLARD", + desc: "\u067E\u0644\u06CC\u200C\u0627\u0648\u0631\u062A\u0627\u0646 \u0627\u0631\u062A\u062C\u0627\u0639\u06CC \u0627\u0646\u0639\u0637\u0627\u0641\u200C\u067E\u0630\u06CC\u0631 \u067E\u0633 \u0627\u0632 \u0636\u0631\u0628\u0647\u061B \u0645\u062C\u0647\u0632 \u0628\u0647 \u062D\u0644\u0642\u0647\u200C\u0647\u0627\u06CC \u0634\u0628\u0631\u0646\u06AF \u0647\u0634\u062F\u0627\u0631 \u0628\u0631\u0627\u06CC \u062A\u0641\u06A9\u06CC\u06A9 \u0645\u0633\u06CC\u0631.", + specs: ["\u067E\u0644\u06CC\u200C\u0627\u0648\u0631\u062A\u0627\u0646 \u0627\u0631\u062A\u062C\u0627\u0639\u06CC", "\u0628\u0627\u0632\u06AF\u0634\u062A \u067E\u0633 \u0627\u0632 \u0636\u0631\u0628\u0647", "\u0634\u0628\u0631\u0646\u06AF \u0647\u0634\u062F\u0627\u0631", "\u0646\u0635\u0628 \u0622\u0633\u0627\u0646"] + }, + { + code: "IP-T04", + name: "\u0686\u0631\u0627\u063A \u0648 \u062A\u0627\u0628\u0644\u0648\u06CC \u0647\u0634\u062F\u0627\u0631", + en: "WARNING LIGHT & SIGN", + desc: "\u0686\u0631\u0627\u063A\u200C\u0647\u0627\u06CC \u0686\u0634\u0645\u06A9\u200C\u0632\u0646 \u0633\u0648\u0644\u0627\u0631\u060C \u062A\u0627\u0628\u0644\u0648\u06CC \u062F\u0633\u062A\u06CC \u0627\u06CC\u0633\u062A/\u062D\u0631\u06A9\u062A \u0648 \u062A\u0627\u0628\u0644\u0648\u0647\u0627\u06CC \u0639\u0644\u0627\u0626\u0645 \u0647\u0634\u062F\u0627\u0631\u062F\u0647\u0646\u062F\u0647 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC.", + specs: ["\u0633\u0648\u0644\u0627\u0631 / \u0628\u0627\u062A\u0631\u06CC", "LED \u0686\u0634\u0645\u06A9\u200C\u0632\u0646", "\u062A\u0627\u0628\u0644\u0648\u06CC Stop/Go", "\u0639\u0644\u0627\u0626\u0645 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F"] + }, + { + code: "IP-T05", + name: "\u0628\u0627\u062A\u0648\u0645 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC", + en: "TRAFFIC BATON", + desc: "\u0628\u0627\u062A\u0648\u0645 LED \u062F\u0627\u0631 \u062F\u0633\u062A\u06CC \u062C\u0647\u062A \u0647\u062F\u0627\u06CC\u062A \u062A\u0631\u0627\u0641\u06CC\u06A9 \u062F\u0631 \u0634\u0628 \u0648 \u0645\u062D\u06CC\u0637\u200C\u0647\u0627\u06CC \u06A9\u0645\u200C\u0646\u0648\u0631\u061B \u0633\u0628\u06A9 \u0648 \u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9.", + specs: ["LED \u062F\u0627\u062E\u0644\u06CC", "\u0642\u0627\u0628\u0644 \u0631\u0624\u06CC\u062A \u0634\u0628\u0627\u0646\u0647", "\u0633\u0628\u06A9\u200C\u0648\u0632\u0646", "\u0627\u0631\u06AF\u0648\u0646\u0648\u0645\u06CC\u06A9"] + }, + { + code: "IP-T06", + name: "\u0646\u0648\u0627\u0631 \u062E\u0637\u0631", + en: "CAUTION TAPE", + desc: "\u0646\u0648\u0627\u0631 \u0634\u0637\u0631\u0646\u062C\u06CC \u0648 \u062E\u0637\u200C\u06A9\u0634\u06CC \u0632\u0631\u062F/\u0642\u0631\u0645\u0632 \u0647\u0634\u062F\u0627\u0631 \u0645\u062D\u0648\u0637\u0647 \u06AF\u0648\u062F\u0628\u0631\u062F\u0627\u0631\u06CC \u0648 \u0645\u0646\u0627\u0637\u0642 \u062E\u0637\u0631\u0646\u0627\u06A9 \u0628\u0627 \u0631\u0648\u0644\u200C\u0647\u0627\u06CC \u0628\u0627\u0632\u062A\u0627\u0628\u0646\u062F\u0647 \u0646\u0648\u0631.", + specs: ["\u0632\u0631\u062F / \u0642\u0631\u0645\u0632 \u0647\u0634\u062F\u0627\u0631", "\u0628\u0627\u0632\u062A\u0627\u0628\u0646\u062F\u0647 \u0646\u0648\u0631", "\u0631\u0648\u0644 \u0628\u0644\u0646\u062F", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u067E\u0627\u0631\u06AF\u06CC"] + }, + { + code: "IP-T07", + name: "\u0633\u0631\u0639\u062A\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC", + en: "RUBBER SPEED BUMP", + desc: "\u0642\u0637\u0639\u0627\u062A \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0633\u0646\u06AF\u06CC\u0646 \u0645\u062F\u0648\u0644\u0627\u0631 \u0628\u0627 \u0645\u0642\u0627\u0648\u0645\u062A \u0648\u0632\u0646\u06CC \u0628\u0627\u0644\u0627 \u0648 \u0627\u0644\u0645\u0627\u0646\u200C\u0647\u0627\u06CC \u0628\u0627\u0632\u062A\u0627\u0628\u0634 \u0634\u0628\u0627\u0646\u0647\u061B \u0646\u0635\u0628 \u0622\u0633\u0627\u0646.", + specs: ["\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0645\u062F\u0648\u0644\u0627\u0631", "\u0645\u0642\u0627\u0648\u0645\u062A \u0648\u0632\u0646\u06CC \u0628\u0627\u0644\u0627", "\u0628\u0627\u0632\u062A\u0627\u0628 \u0634\u0628\u0627\u0646\u0647", "\u0646\u0635\u0628 \u067E\u06CC\u0686\u06CC"] + }, + { + code: "IP-T08", + name: "\u0622\u06CC\u0646\u0647 \u0645\u062D\u062F\u0628 \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC", + en: "CONVEX TRAFFIC MIRROR", + desc: "\u0622\u06CC\u0646\u0647 \u0646\u0634\u06A9\u0646 \u0641\u0631\u06CC\u0645\u200C\u062F\u0627\u0631 \u0648 \u06A9\u0644\u0627\u0647\u200C\u062F\u0627\u0631 \u062C\u0647\u062A \u067E\u0648\u0634\u0634 \u0646\u0642\u0627\u0637 \u06A9\u0648\u0631 \u067E\u06CC\u0686\u200C\u0647\u0627\u060C \u062A\u0642\u0627\u0637\u0639\u200C\u0647\u0627 \u0648 \u062F\u0631\u0628 \u0627\u0646\u0628\u0627\u0631.", + specs: ["\u0646\u0634\u06A9\u0646", "\u0641\u0631\u06CC\u0645\u200C\u062F\u0627\u0631 \u0648 \u06A9\u0644\u0627\u0647\u200C\u062F\u0627\u0631", "\u067E\u0648\u0634\u0634 \u0646\u0642\u0627\u0637 \u06A9\u0648\u0631", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0622\u0628 \u0648 \u0628\u0627\u062F"] + }, + { + code: "IP-T09", + name: "\u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634\u0647 \u0633\u062A\u0648\u0646", + en: "CORNER GUARD", + desc: "\u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631 \u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0634\u0628\u0631\u0646\u06AF\u200C\u062F\u0627\u0631 \u062C\u0647\u062A \u0646\u0635\u0628 \u0631\u0648\u06CC \u0633\u062A\u0648\u0646\u200C\u0647\u0627 \u0628\u0631\u0627\u06CC \u0645\u0645\u0627\u0646\u0639\u062A \u0627\u0632 \u0622\u0633\u06CC\u0628 \u0644\u06CC\u0641\u062A\u0631\u0627\u06A9 \u0648 \u062E\u0648\u062F\u0631\u0648\u0647\u0627\u06CC \u0633\u0646\u06AF\u06CC\u0646.", + specs: ["\u0644\u0627\u0633\u062A\u06CC\u06A9\u06CC \u0636\u0631\u0628\u0647\u200C\u06AF\u06CC\u0631", "\u0634\u0628\u0631\u0646\u06AF\u200C\u062F\u0627\u0631", "\u0646\u0635\u0628 \u062F\u06CC\u0648\u0627\u0631\u06CC", "\u0645\u062D\u0627\u0641\u0638 \u0633\u062A\u0648\u0646"] + }, + { + code: "IP-T10", + name: "\u06AF\u0644\u200C\u0645\u06CC\u062E \u062A\u0631\u0627\u0641\u06CC\u06A9\u06CC \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC", + en: "SOLAR ROAD STUD", + desc: "\u0628\u062F\u0646\u0647 \u0622\u0644\u0648\u0645\u06CC\u0646\u06CC\u0648\u0645\u06CC \u0645\u0633\u062A\u062D\u06A9\u0645 \u0645\u062C\u0647\u0632 \u0628\u0647 \u067E\u0646\u0644 \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC \u0648 LED \u062C\u0647\u062A \u062A\u0639\u06CC\u06CC\u0646 \u0645\u0633\u06CC\u0631 \u0648 \u062E\u0637\u200C\u06A9\u0634\u06CC \u0634\u0628\u0627\u0646\u0647.", + specs: ["\u0622\u0644\u0648\u0645\u06CC\u0646\u06CC\u0648\u0645 \u0645\u0633\u062A\u062D\u06A9\u0645", "\u067E\u0646\u0644 \u062E\u0648\u0631\u0634\u06CC\u062F\u06CC", "LED", "\u0645\u0642\u0627\u0648\u0645 \u0628\u0647 \u0639\u0628\u0648\u0631 \u062E\u0648\u062F\u0631\u0648"] + } + ] + } +]; + +// dist/seed/data/sections.js +var SECTIONS = { + settings: { + name: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646", + nameEn: "Imen Pishgaman Safety", + title: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 | \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0648 \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0635\u0646\u0639\u062A\u06CC", + description: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u2014 \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC (PPE)\u060C \u0628\u0627\u0632\u0631\u0633\u06CC\u060C \u0622\u0645\u0648\u0632\u0634 \u0648 \u0631\u0627\u0647\u06A9\u0627\u0631\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC\u06CC \u06A9\u0647 \u062C\u0627\u0646 \u0627\u0646\u0633\u0627\u0646\u200C\u0647\u0627 \u0631\u0627 \u062C\u062F\u06CC \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F.", + phone: "+98-21-91008800", + phoneDisplay: "\u06F0\u06F2\u06F1 - \u06F9\u06F1 \u06F0\u06F0 \u06F8\u06F8 \u06F0\u06F0", + email: "info@imenpishgaman.ir", + address: { + street: "\u062E\u06CC\u0627\u0628\u0627\u0646 \u06A9\u0627\u0631\u06AF\u0631 \u0634\u0645\u0627\u0644\u06CC\u060C \u062E\u06CC\u0627\u0628\u0627\u0646 \u0641\u0631\u060C \u06A9\u0648\u0686\u0647 \u062F\u0648\u0645\u060C \u067E\u0644\u0627\u06A9 \u06F1\u06F2", + locality: "\u062A\u0647\u0631\u0627\u0646", + country: "IR" + }, + workingHours: "\u0634\u0646\u0628\u0647 \u062A\u0627 \u067E\u0646\u062C\u0634\u0646\u0628\u0647 \u2014 \u06F8:\u06F0\u06F0 \u062A\u0627 \u06F1\u06F7:\u06F0\u06F0", + openingHours: { + days: ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"], + opens: "08:00", + closes: "17:00" + }, + foundingDate: "2007", + socials: [ + { type: "website", url: "/" }, + { type: "email", url: "mailto:info@imenpishgaman.ir" }, + { type: "phone", url: "tel:+982191008800" } + ], + ogImage: { + url: "asset:hero.jpg", + alt: "\u06A9\u0627\u0631\u06AF\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0645\u0644", + width: 1792, + height: 1008 + } + }, + hero: { + enabled: true, + badge: "\u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u0631\u0633\u0645\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC (PPE)", + title: "\u0627\u06CC\u0645\u0646\u06CC \u06CC\u0639\u0646\u06CC", + titleHighlight: "\u0628\u0627\u0632\u06AF\u0634\u062A \u0628\u0647 \u062E\u0627\u0646\u0647", + intro: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u0628\u0627 \u0628\u06CC\u0634 \u0627\u0632 \u06F1\u06F8 \u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647\u060C \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0648 \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC\u06CC \u0627\u0633\u062A \u06A9\u0647 \u062C\u0627\u0646 \u0627\u0646\u0633\u0627\u0646\u200C\u0647\u0627 \u0631\u0627 \u062C\u062F\u06CC \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F\u061B \u0627\u0632 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u062A\u0627 \u0647\u0627\u0631\u0646\u0633 \u0646\u062C\u0627\u062A\u060C \u0627\u0632 \u0645\u0634\u0627\u0648\u0631\u0647 \u062A\u0627 \u0628\u0627\u0632\u0631\u0633\u06CC \u0648 \u0622\u0645\u0648\u0632\u0634.", + primaryCta: { label: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647 \u0631\u0627\u06CC\u06AF\u0627\u0646", href: "#contact" }, + secondaryCta: { label: "\u0645\u0634\u0627\u0647\u062F\u0647 \u0645\u062D\u0635\u0648\u0644\u0627\u062A", href: "#products" }, + chips: [ + { icon: "ShieldCheck", label: "ISO 9001:2015" }, + { icon: "BadgeCheck", label: "CE CERTIFIED" }, + { icon: "Award", label: "EN STANDARDS" } + ], + miniStats: [ + { value: "\u06F1\u06F8+", label: "\u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647 \u062F\u0631 \u0635\u0646\u0639\u062A \u0627\u06CC\u0645\u0646\u06CC" }, + { value: "\u06F8\u06F5\u06F0+", label: "\u0633\u0627\u0632\u0645\u0627\u0646 \u062A\u062D\u062A \u067E\u0648\u0634\u0634" }, + { value: "\u06F9\u06F8\u066A", label: "\u0631\u0636\u0627\u06CC\u062A \u0645\u0634\u062A\u0631\u06CC\u0627\u0646" } + ], + image: { url: "asset:hero.jpg", alt: "\u06A9\u0627\u0631\u06AF\u0631 \u0635\u0646\u0639\u062A\u06CC \u0628\u0627 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u06A9\u0627\u0645\u0644" }, + lastInspection: "\u06F1\u06F4\u06F0\u06F4/\u06F0\u06F8/\u06F1\u06F2" + }, + tape: { + enabled: true, + items: [ + "ISO 9001:2015", + "CE CERTIFIED", + "\u06AF\u0627\u0631\u0627\u0646\u062A\u06CC \u0627\u0635\u0627\u0644\u062A \u06A9\u0627\u0644\u0627", + "\u062A\u062D\u0648\u06CC\u0644 \u0633\u0631\u0627\u0633\u0631\u06CC \u06A9\u0634\u0648\u0631\u06CC", + "\u0645\u0634\u0627\u0648\u0631\u0647 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC \u062A\u062E\u0635\u0635\u06CC \u0631\u0627\u06CC\u06AF\u0627\u0646", + "EN STANDARDS", + "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u06F2\u06F4/\u06F7 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC", + "\u062A\u0633\u062A \u0646\u0645\u0648\u0646\u0647 \u0642\u0628\u0644 \u0627\u0632 \u062E\u0631\u06CC\u062F" + ] + }, + stats: { + enabled: true, + items: [ + { end: 18, suffix: "+", label: "\u0633\u0627\u0644 \u062A\u062C\u0631\u0628\u0647 \u062F\u0631 \u0635\u0646\u0639\u062A \u0627\u06CC\u0645\u0646\u06CC", note: "SINCE 2007" }, + { end: 2400, suffix: "+", label: "\u06A9\u062F \u06A9\u0627\u0644\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC", note: "PPE CATALOG" }, + { end: 850, suffix: "+", label: "\u0645\u0634\u062A\u0631\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0641\u0639\u0627\u0644", note: "B2B CLIENTS" }, + { end: 98, suffix: "\u066A", label: "\u0631\u0636\u0627\u06CC\u062A \u0645\u0634\u062A\u0631\u06CC\u0627\u0646", note: "SATISFACTION" } + ] + }, + productsIntro: { + enabled: true, + head: { + tag: "\u06F0\u06F1 \u2014 \u0645\u062D\u0635\u0648\u0644\u0627\u062A", + title: "\u062E\u0637 \u0627\u0648\u0644 \u062F\u0641\u0627\u0639\u060C\n\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0645\u0627\u0633\u062A", + highlight: "", + desc: "\u0647\u0631 \u0645\u062D\u0635\u0648\u0644 \u067E\u06CC\u0634 \u0627\u0632 \u0639\u0631\u0636\u0647\u060C \u0632\u06CC\u0631 \u0630\u0631\u0647\u200C\u0628\u06CC\u0646 \u06A9\u0646\u062A\u0631\u0644 \u06A9\u06CC\u0641\u06CC\u062A \u0648 \u062A\u0637\u0628\u06CC\u0642 \u0628\u0627 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627\u06CC \u062C\u0647\u0627\u0646\u06CC \u0642\u0631\u0627\u0631 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u062F." + }, + ctaLabel: "\u062F\u0631\u06CC\u0627\u0641\u062A \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u06A9\u0627\u0645\u0644", + trust: [ + { + icon: "BadgeCheck", + title: "\u06AF\u0627\u0631\u0627\u0646\u062A\u06CC \u0627\u0635\u0627\u0644\u062A \u06A9\u0627\u0644\u0627", + desc: "\u062A\u0645\u0627\u0645 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u0628\u0627 \u0641\u0627\u06A9\u062A\u0648\u0631 \u0631\u0633\u0645\u06CC \u0648 \u06A9\u062F \u0631\u0647\u06AF\u06CC\u0631\u06CC \u0627\u0635\u0627\u0644\u062A" + }, + { + icon: "PackageCheck", + title: "\u062A\u0633\u062A \u0646\u0645\u0648\u0646\u0647 \u0642\u0628\u0644 \u0627\u0632 \u062E\u0631\u06CC\u062F", + desc: "\u0646\u0645\u0648\u0646\u0647\u200C\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634\u06CC \u0628\u0631\u0627\u06CC \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u062A\u06CC\u0645 HSE \u0634\u0645\u0627" + }, + { + icon: "ShieldCheck", + title: "\u0627\u0645\u06A9\u0627\u0646 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647", + desc: "\u0642\u06CC\u0645\u062A \u062B\u0627\u0628\u062A \u0648 \u062A\u0623\u0645\u06CC\u0646 \u0645\u0633\u062A\u0645\u0631 \u0628\u0631\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627\u06CC \u0628\u0632\u0631\u06AF" + } + ] + }, + about: { + enabled: true, + head: { + tag: "\u06F0\u06F2 \u2014 \u062F\u0631\u0628\u0627\u0631\u0647 \u0645\u0627", + title: "\u0627\u06CC\u0645\u0646\u06CC \u0628\u0631\u0627\u06CC \u0645\u0627 \u0634\u0639\u0627\u0631 \u0646\u06CC\u0633\u062A\u061B", + highlight: "\u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0627\u0633\u062A.", + desc: "" + }, + body: "\u0627\u0632 \u0633\u0627\u0644 \u06F1\u06F3\u06F8\u06F6\u060C \u0632\u0645\u0627\u0646\u06CC \u06A9\u0647 \u0627\u0648\u0644\u06CC\u0646 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u0628\u0647 \u06CC\u06A9 \u06A9\u0627\u0631\u06AF\u0627\u0647 \u06A9\u0648\u0686\u06A9 \u062F\u0631 \u062C\u0646\u0648\u0628 \u062A\u0647\u0631\u0627\u0646 \u0641\u0631\u0648\u062E\u062A\u06CC\u0645\u060C \u0628\u0627\u0648\u0631 \u0645\u0627 \u0647\u0645\u06CC\u0646 \u06CC\u06A9 \u062C\u0645\u0644\u0647 \u0628\u0648\u062F: \u067E\u0634\u062A \u0647\u0631 \u062A\u062C\u0647\u06CC\u0632 \u0627\u06CC\u0645\u0646\u06CC\u060C \u06CC\u06A9 \u062E\u0627\u0646\u0648\u0627\u062F\u0647 \u0647\u0633\u062A \u06A9\u0647 \u0645\u0646\u062A\u0638\u0631 \u0628\u0627\u0632\u06AF\u0634\u062A \u0639\u0632\u06CC\u0632\u0634 \u0627\u0633\u062A. \u0627\u0645\u0631\u0648\u0632 \u0628\u0627 \u0628\u06CC\u0634 \u0627\u0632 \u06F8\u06F5\u06F0 \u0633\u0627\u0632\u0645\u0627\u0646\u060C \u0627\u0632 \u067E\u0627\u0644\u0627\u06CC\u0634\u06AF\u0627\u0647\u200C\u0647\u0627 \u062A\u0627 \u0645\u0639\u0627\u062F\u0646 \u0648 \u0633\u0627\u06CC\u062A\u200C\u0647\u0627\u06CC \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC\u060C \u062F\u0631 \u06A9\u0646\u0627\u0631 \u06A9\u0633\u0627\u0646\u06CC \u0647\u0633\u062A\u06CC\u0645 \u06A9\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u06CC\u06A9 \u062E\u0637 \u0642\u0631\u0645\u0632 \u0645\u06CC\u200C\u062F\u0627\u0646\u0646\u062F.", + image: { url: "asset:about.jpg", alt: "\u0627\u0646\u0628\u0627\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646" }, + badge: { value: "\u06F1\u06F8+", label: "\u0633\u0627\u0644 \u062D\u0641\u0627\u0638\u062A \u0627\u0632\n\u062C\u0627\u0646 \u0646\u06CC\u0631\u0648\u06CC \u06A9\u0627\u0631" }, + timeline: [ + { year: "\u06F1\u06F3\u06F8\u06F6", text: "\u062A\u0623\u0633\u06CC\u0633 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u062F\u0631 \u062A\u0647\u0631\u0627\u0646 \u0628\u0627 \u062A\u0645\u0631\u06A9\u0632 \u0628\u0631 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC" }, + { year: "\u06F1\u06F3\u06F9\u06F2", text: "\u062A\u0648\u0633\u0639\u0647 \u0634\u0628\u06A9\u0647 \u062A\u0648\u0632\u06CC\u0639 \u0628\u0647 \u062A\u0645\u0627\u0645 \u06F3\u06F1 \u0627\u0633\u062A\u0627\u0646 \u06A9\u0634\u0648\u0631" }, + { year: "\u06F1\u06F3\u06F9\u06F8", text: "\u0631\u0627\u0647\u200C\u0627\u0646\u062F\u0627\u0632\u06CC \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647 \u06A9\u0646\u062A\u0631\u0644 \u06A9\u06CC\u0641\u06CC\u062A \u0648 \u062A\u0633\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A" }, + { year: "\u06F1\u06F4\u06F0\u06F2", text: "\u0627\u0641\u062A\u062A\u0627\u062D \u0645\u0631\u06A9\u0632 \u062A\u062E\u0635\u0635\u06CC \u0622\u0645\u0648\u0632\u0634 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC HSE" } + ], + features: [ + { icon: "Globe", label: "\u0646\u0645\u0627\u06CC\u0646\u062F\u0647 \u0631\u0633\u0645\u06CC \u06F4\u06F0+ \u0628\u0631\u0646\u062F \u062C\u0647\u0627\u0646\u06CC" }, + { icon: "Users", label: "\u062A\u06CC\u0645 \u0645\u0647\u0646\u062F\u0633\u06CC \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC HSE" }, + { icon: "Headset", label: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u06F2\u06F4/\u06F7 \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u0647\u0627" } + ] + }, + services: { + enabled: true, + head: { + tag: "\u06F0\u06F3 \u2014 \u062E\u062F\u0645\u0627\u062A", + title: "\u0641\u0631\u0627\u062A\u0631 \u0627\u0632 \u062A\u0623\u0645\u06CC\u0646\u061B\n\u0647\u0645\u0631\u0627\u0647\u06CC \u06A9\u0627\u0645\u0644 \u0627\u06CC\u0645\u0646\u06CC", + highlight: "", + desc: "\u0645\u0627 \u062F\u0631 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646\u060C \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0631\u0627 \u062A\u062D\u0648\u06CC\u0644 \u0645\u06CC\u200C\u062F\u0647\u06CC\u0645 \u0648 \u06A9\u0646\u0627\u0631 \u0634\u0645\u0627 \u0645\u06CC\u200C\u0645\u0627\u0646\u06CC\u0645\u061B \u0627\u0632 \u0646\u062E\u0633\u062A\u06CC\u0646 \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u0631\u06CC\u0633\u06A9 \u062A\u0627 \u0622\u062E\u0631\u06CC\u0646 \u062A\u0633\u062A \u062F\u0648\u0631\u0647\u200C\u0627\u06CC." + }, + items: [ + { + icon: "ClipboardCheck", + title: "\u0628\u0627\u0632\u0631\u0633\u06CC \u0648 \u0627\u0631\u0632\u06CC\u0627\u0628\u06CC \u0631\u06CC\u0633\u06A9", + desc: "\u062A\u06CC\u0645 \u0645\u0647\u0646\u062F\u0633\u06CC \u0645\u0627 \u0628\u0627 \u0628\u0627\u0632\u062F\u06CC\u062F \u0627\u0632 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627\u060C \u062E\u0637\u0631\u0627\u062A \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06CC\u06CC\u060C \u0627\u0648\u0644\u0648\u06CC\u062A\u200C\u0628\u0646\u062F\u06CC \u0648 \u0628\u0631\u0627\u06CC \u0647\u0631 \u06A9\u062F\u0627\u0645 \u0631\u0627\u0647\u06A9\u0627\u0631 \u0627\u062C\u0631\u0627\u06CC\u06CC \u0645\u0634\u062E\u0635 \u0628\u0627 \u0628\u0631\u0622\u0648\u0631\u062F \u0647\u0632\u06CC\u0646\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06CC\u200C\u062F\u0647\u062F.", + items: [ + "\u0627\u0631\u0632\u06CC\u0627\u0628\u06CC HAZOP \u0648 HAZID", + "\u0634\u0646\u0627\u0633\u0627\u06CC\u06CC \u0648 \u0627\u0648\u0644\u0648\u06CC\u062A\u200C\u0628\u0646\u062F\u06CC \u062E\u0637\u0631\u0627\u062A", + "\u06AF\u0632\u0627\u0631\u0634 \u0645\u062F\u06CC\u0631\u06CC\u062A\u06CC \u0628\u0627 \u0631\u0627\u0647\u06A9\u0627\u0631 \u0627\u062C\u0631\u0627\u06CC\u06CC" + ] + }, + { + icon: "GraduationCap", + title: "\u0622\u0645\u0648\u0632\u0634 \u062A\u062E\u0635\u0635\u06CC \u0627\u06CC\u0645\u0646\u06CC", + desc: "\u0627\u0632 \u062F\u0648\u0631\u0647\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u062A\u0627 \u062A\u0631\u0628\u06CC\u062A \u0645\u0631\u0628\u06CC\u061B \u0622\u0645\u0648\u0632\u0634\u200C\u0647\u0627\u06CC \u0639\u0645\u0644\u06CC \u0648 \u0645\u06CC\u062F\u0627\u0646\u06CC \u06A9\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627 \u0627\u0632 \u062F\u0641\u062A\u0631 \u06A9\u0644\u0627\u0646\u200C\u0647\u0627 \u0628\u0647 \u0631\u0641\u062A\u0627\u0631 \u0631\u0648\u0632\u0645\u0631\u0647 \u067E\u0631\u0633\u0646\u0644 \u062A\u0628\u062F\u06CC\u0644 \u0645\u06CC\u200C\u06A9\u0646\u062F.", + items: [ + "\u062F\u0648\u0631\u0647\u200C\u0647\u0627\u06CC \u0639\u0645\u0648\u0645\u06CC \u0648 \u062A\u062E\u0635\u0635\u06CC HSE", + "\u062A\u0631\u0628\u06CC\u062A \u0645\u0631\u0628\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0633\u0627\u06CC\u062A", + "\u0645\u0627\u0646\u0648\u0631 \u0648 \u0634\u0628\u06CC\u0647\u200C\u0633\u0627\u0632\u06CC \u0634\u0631\u0627\u06CC\u0637 \u0627\u0636\u0637\u0631\u0627\u0631\u06CC" + ] + }, + { + icon: "Gauge", + title: "\u062A\u0633\u062A \u0648 \u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A", + desc: "\u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0627\u06CC\u0645\u0646\u06CC \u0641\u0642\u0637 \u0648\u0642\u062A\u06CC \u0642\u0627\u0628\u0644 \u0627\u0639\u062A\u0645\u0627\u062F\u0646\u062F \u06A9\u0647 \u062A\u0633\u062A \u0634\u062F\u0647 \u0628\u0627\u0634\u0646\u062F. \u062A\u0633\u062A \u062F\u0648\u0631\u0647\u200C\u0627\u06CC\u060C \u0633\u0631\u0648\u06CC\u0633 \u0648 \u0635\u062F\u0648\u0631 \u06AF\u0648\u0627\u0647\u06CC \u0645\u0639\u062A\u0628\u0631 \u0631\u0627 \u0628\u0647 \u062A\u06CC\u0645 \u062A\u062E\u0635\u0635\u06CC \u0645\u0627 \u0628\u0633\u067E\u0627\u0631\u06CC\u062F.", + items: [ + "\u062A\u0633\u062A \u0647\u0627\u0631\u0646\u0633 \u0648 \u0644\u0627\u06CC\u0646 \u0646\u062C\u0627\u062A", + "\u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646 \u0622\u0634\u06A9\u0627\u0631\u0633\u0627\u0632\u0647\u0627\u06CC \u06AF\u0627\u0632", + "\u0633\u0631\u0648\u06CC\u0633 \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u0648 \u0635\u062F\u0648\u0631 \u06AF\u0648\u0627\u0647\u06CC" + ] + }, + { + icon: "Truck", + title: "\u062A\u0623\u0645\u06CC\u0646 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9 \u0633\u0627\u0632\u0645\u0627\u0646\u06CC", + desc: "\u0628\u0627 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647\u060C \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0634\u0641\u0627\u0641 \u0648 \u0627\u0646\u0628\u0627\u0631 \u0645\u062D\u0644\u06CC \u062F\u0631 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627\u060C \u0646\u06AF\u0631\u0627\u0646\u06CC \u06A9\u0645\u0628\u0648\u062F \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0631\u0627 \u0627\u0632 \u0641\u0647\u0631\u0633\u062A \u062F\u063A\u062F\u063A\u0647\u200C\u0647\u0627\u06CC\u062A\u0627\u0646 \u062D\u0630\u0641 \u06A9\u0646\u06CC\u062F.", + items: [ + "\u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u0628\u0627 \u0642\u06CC\u0645\u062A \u062B\u0627\u0628\u062A", + "\u0627\u0646\u0628\u0627\u0631 \u0645\u062D\u0644\u06CC \u062F\u0631 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627", + "\u062A\u062D\u0648\u06CC\u0644 \u0633\u0631\u0627\u0633\u0631\u06CC \u062F\u0631 \u06F4\u06F8 \u0633\u0627\u0639\u062A" + ] + } + ] + }, + standards: { + enabled: true, + head: { + tag: "\u06F0\u06F4 \u2014 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627", + title: "\u0645\u0647\u0631\u062A\u0623\u06CC\u06CC\u062F \u062C\u0647\u0627\u0646\u06CC\n\u0631\u0648\u06CC \u0647\u0631 \u0645\u062D\u0635\u0648\u0644", + highlight: "", + desc: "\u0645\u0627 \u0641\u0642\u0637 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A\u06CC \u0631\u0627 \u0639\u0631\u0636\u0647 \u0645\u06CC\u200C\u06A9\u0646\u06CC\u0645 \u06A9\u0647 \u062A\u0623\u06CC\u06CC\u062F\u06CC\u0647 \u0645\u0639\u062A\u0628\u0631 \u0628\u06CC\u0646\u200C\u0627\u0644\u0645\u0644\u0644\u06CC \u0648 \u062A\u0633\u062A \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u0646\u062F\u061B \u0628\u062F\u0648\u0646 \u0627\u0633\u062A\u062B\u0646\u0627." + }, + note: "\u0634\u0645\u0627\u0631\u0647 \u0633\u0631\u06CC\u0627\u0644 \u062A\u0645\u0627\u0645 \u0645\u062D\u0635\u0648\u0644\u0627\u062A \u062F\u0631 \u067E\u0627\u06CC\u06AF\u0627\u0647 \u062F\u0627\u062F\u0647 \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F\u0647\u0627\u06CC \u0627\u0631\u0648\u067E\u0627 \u0642\u0627\u0628\u0644 \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0627\u0633\u062A \u0648 \u06AF\u0648\u0627\u0647\u06CC \u062A\u0633\u062A \u0647\u0631 \u0628\u0686 \u062A\u062D\u0648\u06CC\u0644 \u0645\u0634\u062A\u0631\u06CC \u0645\u06CC\u200C\u0634\u0648\u062F.", + ctaLabel: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u06AF\u0648\u0627\u0647\u06CC \u062A\u0633\u062A \u0645\u062D\u0635\u0648\u0644\u0627\u062A", + items: [ + { code: "EN 397", label: "\u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC" }, + { code: "EN 388", label: "\u062F\u0633\u062A\u06A9\u0634\u200C\u0647\u0627\u06CC \u0645\u06A9\u0627\u0646\u06CC\u06A9\u06CC" }, + { code: "EN 166", label: "\u0645\u062D\u0627\u0641\u0638 \u0686\u0634\u0645 \u0648 \u0635\u0648\u0631\u062A" }, + { code: "EN 361", label: "\u0647\u0627\u0631\u0646\u0633 \u0636\u062F\u0633\u0642\u0648\u0637" }, + { code: "ISO 20345", label: "\u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC" }, + { code: "ISO 9001", label: "\u0633\u06CC\u0633\u062A\u0645 \u0645\u062F\u06CC\u0631\u06CC\u062A \u06A9\u06CC\u0641\u06CC\u062A" } + ] + }, + industries: { + enabled: true, + head: { + tag: "\u06F0\u06F5 \u2014 \u0635\u0646\u0627\u06CC\u0639", + title: "\u062D\u0636\u0648\u0631 \u062F\u0631 \u0633\u062E\u062A\u200C\u062A\u0631\u06CC\u0646\n\u0645\u06CC\u062F\u0627\u0646\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u06CC", + highlight: "", + desc: "\u062C\u0627\u06CC\u06CC \u06A9\u0647 \u062F\u0645\u0627\u06CC \u0645\u062D\u06CC\u0637 \u0627\u0632 \u06F5\u06F0 \u062F\u0631\u062C\u0647 \u06AF\u0630\u0631 \u0645\u06CC\u200C\u06A9\u0646\u062F \u06CC\u0627 \u0627\u0631\u062A\u0641\u0627\u0639 \u06A9\u0627\u0631 \u0628\u0647 \u062F\u0647\u200C\u0647\u0627 \u0645\u062A\u0631 \u0645\u06CC\u200C\u0631\u0633\u062F\u060C \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0645\u0627 \u0628\u0627\u06CC\u062F \u0628\u06CC\u200C\u0646\u0642\u0635 \u0639\u0645\u0644 \u06A9\u0646\u0646\u062F \u2014 \u0648 \u0639\u0645\u0644 \u0645\u06CC\u200C\u06A9\u0646\u0646\u062F." + }, + items: [ + { name: "\u0646\u0641\u062A \u0648 \u06AF\u0627\u0632", nameEn: "OIL & GAS", count: "\u06F1\u06F4\u06F0+", image: { url: "asset:industries/oil-gas.jpg", alt: "\u0646\u0641\u062A \u0648 \u06AF\u0627\u0632" } }, + { name: "\u0633\u0627\u062E\u062A\u0645\u0627\u0646 \u0648 \u0639\u0645\u0631\u0627\u0646", nameEn: "CONSTRUCTION", count: "\u06F2\u06F1\u06F0+", image: { url: "asset:industries/construction.jpg", alt: "\u0633\u0627\u062E\u062A\u0645\u0627\u0646 \u0648 \u0639\u0645\u0631\u0627\u0646" } }, + { name: "\u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC", nameEn: "PETROCHEMICAL", count: "\u06F9\u06F0+", image: { url: "asset:industries/petrochemical.jpg", alt: "\u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC" } }, + { name: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC", nameEn: "MINING", count: "\u06F7\u06F5+", image: { url: "asset:industries/mining.jpg", alt: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC" } }, + { name: "\u0628\u0631\u0642 \u0648 \u0627\u0646\u0631\u0698\u06CC", nameEn: "POWER & ENERGY", count: "\u06F6\u06F0+", image: { url: "asset:industries/power-energy.jpg", alt: "\u0628\u0631\u0642 \u0648 \u0627\u0646\u0631\u0698\u06CC" } }, + { name: "\u062D\u0645\u0644\u200C\u0648\u0646\u0642\u0644 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9", nameEn: "TRANSPORT", count: "\u06F4\u06F5+", image: { url: "asset:industries/transport.jpg", alt: "\u062D\u0645\u0644\u200C\u0648\u0646\u0642\u0644 \u0648 \u0644\u062C\u0633\u062A\u06CC\u06A9" } } + ] + }, + testimonials: { + enabled: true, + head: { tag: "\u06F0\u06F6 \u2014 \u0627\u0639\u062A\u0645\u0627\u062F", title: "\u0622\u0646\u0686\u0647 \u0645\u0634\u062A\u0631\u06CC\u0627\u0646 \u0645\u0627 \u0645\u06CC\u200C\u06AF\u0648\u06CC\u0646\u062F", highlight: "", desc: "" }, + items: [ + { + text: "\u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u0641\u0642\u0637 \u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u0646\u06CC\u0633\u062A\u061B \u0634\u0631\u06CC\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0645\u0627\u0633\u062A. \u0628\u0627\u0632\u0631\u0633\u06CC\u200C\u0647\u0627\u06CC \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u0648 \u0622\u0645\u0648\u0632\u0634\u200C\u0647\u0627\u06CC \u0645\u06CC\u062F\u0627\u0646\u06CC\u200C\u0634\u0627\u0646 \u0646\u0631\u062E \u062D\u0648\u0627\u062F\u062B \u0633\u0627\u06CC\u062A \u0631\u0627 \u0628\u0647 \u06A9\u0645\u062A\u0631\u06CC\u0646 \u0631\u0642\u0645 \u062A\u0627\u0631\u06CC\u062E \u0645\u062C\u0645\u0648\u0639\u0647 \u0631\u0633\u0627\u0646\u062F.", + name: "\u0645\u0647\u0646\u062F\u0633 \u0631\u0636\u0627 \u06A9\u0627\u0638\u0645\u06CC", + role: "\u0645\u062F\u06CC\u0631 HSE \u2014 \u0645\u062C\u062A\u0645\u0639 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC \u062E\u0644\u06CC\u062C \u0641\u0627\u0631\u0633" + }, + { + text: "\u06A9\u06CC\u0641\u06CC\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0648 \u0633\u0631\u0639\u062A \u067E\u0627\u0633\u062E\u200C\u06AF\u0648\u06CC\u06CC \u062F\u0631 \u0633\u0637\u062D\u06CC \u0628\u0648\u062F \u06A9\u0647 \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u0631\u0627 \u0628\u062F\u0648\u0646 \u0647\u06CC\u0686 \u062A\u0631\u062F\u06CC\u062F\u06CC \u062A\u0645\u062F\u06CC\u062F \u06A9\u0631\u062F\u06CC\u0645\u061B \u0627\u0632 \u062E\u0637 \u062A\u0648\u0644\u06CC\u062F \u062A\u0627 \u062F\u0641\u062A\u0631 \u0645\u0631\u06A9\u0632\u06CC.", + name: "\u0633\u0627\u0631\u0627 \u0645\u062D\u0645\u062F\u06CC", + role: "\u0633\u0631\u067E\u0631\u0633\u062A \u062A\u062F\u0627\u0631\u06A9\u0627\u062A \u2014 \u0647\u0644\u062F\u06CC\u0646\u06AF \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC \u0622\u0631\u06A9\u0627\u0646" + }, + { + text: "\u06F1\u06F4\u06F0 \u06A9\u06CC\u0644\u0648\u0645\u062A\u0631 \u062F\u0648\u0631\u062A\u0631 \u0627\u0632 \u0633\u0627\u06CC\u062A\u060C \u062F\u0631 \u0639\u0631\u0636 \u06F2\u06F4 \u0633\u0627\u0639\u062A \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u06CC\u0627\u062A\u06CC \u0631\u0627 \u062A\u062D\u0648\u06CC\u0644 \u06AF\u0631\u0641\u062A\u06CC\u0645. \u0628\u0647 \u0627\u06CC\u0646 \u0645\u06CC\u200C\u06AF\u0648\u06CC\u0646\u062F \u0634\u0631\u06CC\u06A9 \u0648\u0627\u0642\u0639\u06CC \u06A9\u0627\u0631\u06CC.", + name: "\u0627\u0645\u06CC\u0631\u062D\u0633\u06CC\u0646 \u0631\u0627\u062F", + role: "\u0645\u062F\u06CC\u0631 \u067E\u0631\u0648\u0698\u0647 \u2014 \u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC \u06A9\u0627\u0648\u0647" + } + ] + }, + contact: { + enabled: true, + head: { + tag: "\u06F0\u06F7 \u2014 \u062A\u0645\u0627\u0633", + title: "\u0628\u06CC\u0627\u06CC\u06CC\u062F \u0627\u06CC\u0645\u0646\u06CC \u0631\u0627\n\u0628\u0627 \u0647\u0645 \u062C\u062F\u06CC \u0628\u06AF\u06CC\u0631\u06CC\u0645", + highlight: "", + desc: "\u0641\u0631\u0645 \u0631\u0627 \u067E\u0631 \u06A9\u0646\u06CC\u062F \u062A\u0627 \u06A9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u0627 \u0628\u0631\u0627\u06CC \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u0631\u0627\u06CC\u06AF\u0627\u0646 \u0633\u0627\u06CC\u062A \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0628\u06AF\u06CC\u0631\u0646\u062F\u061B \u06CC\u0627 \u0645\u0633\u062A\u0642\u06CC\u0645 \u0628\u0627 \u0645\u0627 \u062F\u0631 \u0627\u0631\u062A\u0628\u0627\u0637 \u0628\u0627\u0634\u06CC\u062F." + }, + emergencyTitle: "\u067E\u0627\u0633\u062E\u200C\u06AF\u0648\u06CC\u06CC \u0627\u0636\u0637\u0631\u0627\u0631\u06CC \u06F2\u06F4/\u06F7", + emergencyText: "\u0628\u0631\u0627\u06CC \u0645\u0634\u062A\u0631\u06CC\u0627\u0646 \u062F\u0627\u0631\u0627\u06CC \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0632\u0645\u0627\u0646\u06CC\u060C \u062E\u0637 \u0648\u06CC\u0698\u0647 \u062D\u0648\u0627\u062F\u062B \u0648 \u062A\u0623\u0645\u06CC\u0646 \u0641\u0648\u0631\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062F\u0631 \u062A\u0645\u0627\u0645 \u0633\u0627\u0639\u0627\u062A \u0634\u0628\u0627\u0646\u0647\u200C\u0631\u0648\u0632 \u0641\u0639\u0627\u0644 \u0627\u0633\u062A.", + formTag: "// \u0641\u0631\u0645 \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647", + formTitle: "\u062F\u0631 \u06A9\u0645\u062A\u0631 \u0627\u0632 \u06F2\u06F4 \u0633\u0627\u0639\u062A\n\u0628\u0627 \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u06CC\u0645", + successTitle: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0634\u0645\u0627 \u062B\u0628\u062A \u0634\u062F", + successText: "\u06A9\u0627\u0631\u0634\u0646\u0627\u0633\u0627\u0646 \u0645\u0627 \u062A\u0627 \u06F2\u06F4 \u0633\u0627\u0639\u062A \u0622\u06CC\u0646\u062F\u0647 \u0628\u0631\u0627\u06CC \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u0628\u0627 \u0634\u0645\u0627 \u062A\u0645\u0627\u0633 \u0645\u06CC\u200C\u06AF\u06CC\u0631\u0646\u062F." + }, + footer: { + enabled: true, + about: "\u062A\u0623\u0645\u06CC\u0646\u200C\u06A9\u0646\u0646\u062F\u0647 \u062A\u062E\u0635\u0635\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u0648 \u0631\u0627\u0647\u06A9\u0627\u0631\u0647\u0627\u06CC \u0627\u06CC\u0645\u0646\u06CC \u0635\u0646\u0639\u062A\u06CC\u061B \u0647\u0645\u0631\u0627\u0647 \u0633\u0627\u0632\u0645\u0627\u0646\u200C\u0647\u0627 \u0627\u0632 \u0633\u0627\u0644 \u06F1\u06F3\u06F8\u06F6 \u062F\u0631 \u0645\u0633\u06CC\u0631 \u0635\u0641\u0631 \u0634\u062F\u0646 \u062D\u0648\u0627\u062F\u062B \u06A9\u0627\u0631\u06CC.", + copyright: "\xA9 \u06F1\u06F4\u06F0\u06F4 \u0627\u06CC\u0645\u0646 \u067E\u06CC\u0634\u06AF\u0627\u0645\u0627\u0646 \u2014 \u062A\u0645\u0627\u0645\u06CC \u062D\u0642\u0648\u0642 \u0645\u062D\u0641\u0648\u0638 \u0627\u0633\u062A.", + certLine: "ISO 9001:2015 \u2014 CE CERTIFIED PPE SUPPLIER", + emergencyNote: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u0636\u0637\u0631\u0627\u0631\u06CC: \u06F2\u06F4/\u06F7" + } +}; +var CATEGORY_COVERS = { + workwear: "products/vest.jpg", + "safety-footwear": "products/shoes.jpg", + "protective-gloves": "products/gloves.jpg", + "safety-helmets": "products/helmet.jpg", + "eye-protection": "products/goggles.jpg", + "hearing-protection": "products/hearing.jpg", + "respiratory-protection": "products/respiratory.jpg", + "traffic-equipment": "products/traffic.jpg" +}; + +// dist/seed/seed.js +var ASSETS_DIR = process.env.SEED_ASSETS_DIR ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../seed-assets"); +var OVERWRITE_SECTIONS = ["1", "true"].includes(process.env.SEED_OVERWRITE_SECTIONS ?? ""); +var prisma = createPrismaClient(); +var storage = new S3Storage(); +var uploaded = /* @__PURE__ */ new Map(); +async function asset(rel, alt = "") { + const cached = uploaded.get(rel); + if (cached) + return cached; + const key = `seed/${rel.replace(/\.[^.]+$/, "")}.webp`; + let media = await prisma.media.findUnique({ where: { key } }); + if (!media) { + const image = await toWebp(await readFile(path.join(ASSETS_DIR, rel))); + try { + await storage.put(key, image.data, "image/webp"); + } catch { + try { + const targetPath = path.resolve(ASSETS_DIR, "../../.s3data/imen-media", key); + await mkdir(path.dirname(targetPath), { recursive: true }); + await writeFile(targetPath, image.data); + } catch { + } + } + media = await prisma.media.create({ + data: { + key, + mime: "image/webp", + size: image.size, + width: image.width, + height: image.height, + alt, + originalName: path.basename(rel) + } + }); + } + const result = { id: media.id, url: storage.publicUrl(key) }; + uploaded.set(rel, result); + return result; +} +__name(asset, "asset"); +async function resolveAssets(value) { + if (Array.isArray(value)) + return Promise.all(value.map(resolveAssets)); + if (value && typeof value === "object") { + const entries = await Promise.all(Object.entries(value).map(async ([k, v]) => { + if (k === "url" && typeof v === "string" && v.startsWith("asset:")) { + return [k, (await asset(v.slice("asset:".length))).url]; + } + return [k, await resolveAssets(v)]; + })); + return Object.fromEntries(entries); + } + return value; +} +__name(resolveAssets, "resolveAssets"); +async function seedSections() { + for (const key of SECTION_KEYS) { + const exists = await prisma.siteSection.findUnique({ where: { key } }); + if (exists && !OVERWRITE_SECTIONS) + continue; + const data = sectionSchemas[key].parse(await resolveAssets(SECTIONS[key])); + await prisma.siteSection.upsert({ where: { key }, create: { key, data }, update: { data } }); + console.log(` section ${key}`); + } +} +__name(seedSections, "seedSections"); +async function seedCatalog() { + for (const [ci, c] of CATEGORIES.entries()) { + if (await prisma.category.findUnique({ where: { slug: c.slug } })) + continue; + const coverPath = CATEGORY_COVERS[c.slug]; + const cover = coverPath ? await asset(coverPath, c.name) : null; + const category = await prisma.category.create({ + data: { + slug: c.slug, + code: c.code, + name: c.name, + nameEn: c.en, + shortDesc: c.shortDesc, + fullDesc: c.fullDesc, + icon: c.icon, + coverImageId: cover?.id ?? null, + sortOrder: ci, + groups: { + create: (c.groups ?? []).map((g, i) => ({ + slug: g.slug, + name: g.name, + desc: g.desc, + sortOrder: i + })) + } + }, + include: { groups: true } + }); + const groupIds = new Map(category.groups.map((g) => [g.slug, g.id])); + for (const [pi, p] of c.products.entries()) { + const image = p.image ? await asset(p.image.replace(/^\/images\//, ""), p.name) : null; + await prisma.product.create({ + data: { + categoryId: category.id, + groupId: p.group ? groupIds.get(p.group) ?? null : null, + code: p.code, + slug: p.code.toLowerCase(), + name: p.name, + nameEn: p.en, + desc: p.desc, + specs: [...p.specs], + variants: [...p.variants ?? []], + imageId: image?.id ?? null, + sortOrder: pi + } + }); + } + console.log(` category ${c.slug} (${c.products.length} products)`); + } +} +__name(seedCatalog, "seedCatalog"); +async function seedAdmin() { + if (!env.ADMIN_PHONE || !env.ADMIN_PASSWORD) { + console.log(" ADMIN_PHONE / ADMIN_PASSWORD not set \u2014 skipping admin user"); + return; + } + const phone = normalizeIrMobile(env.ADMIN_PHONE); + if (!/^09\d{9}$/.test(phone)) { + console.log(` ADMIN_PHONE invalid (${env.ADMIN_PHONE}) \u2014 skipping admin user`); + return; + } + const existing = await prisma.adminUser.findUnique({ where: { phone } }); + if (existing) + return; + const legacy = await prisma.adminUser.findFirst({ + where: { role: "ADMIN", phone: { contains: "@" } }, + orderBy: { id: "asc" } + }); + if (legacy) { + await prisma.adminUser.update({ + where: { id: legacy.id }, + data: { phone, name: env.ADMIN_NAME, passwordHash: await hashPassword(env.ADMIN_PASSWORD) } + }); + console.log(` admin user migrated to ${phone}`); + return; + } + await prisma.adminUser.create({ + data: { + phone, + name: env.ADMIN_NAME, + role: "ADMIN", + passwordHash: await hashPassword(env.ADMIN_PASSWORD) + } + }); + console.log(` admin user ${phone}`); +} +__name(seedAdmin, "seedAdmin"); +async function seedMessages() { + const count = await prisma.contactMessage.count(); + if (count > 0) + return; + const samples = [ + { + name: "\u0645\u0647\u0646\u062F\u0633 \u0631\u0636\u0627 \u06A9\u0627\u0638\u0645\u06CC", + org: "\u0645\u062C\u062A\u0645\u0639 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC \u062E\u0644\u06CC\u062C \u0641\u0627\u0631\u0633", + phone: "09121112233", + message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631 \u06F5\u06F0\u06F0 \u0639\u062F\u062F \u0647\u0627\u0631\u0646\u0633 \u0627\u06CC\u0645\u0646\u06CC \u062F\u0648 \u0642\u0644\u0627\u0628 \u0648 \u06A9\u0644\u0627\u0647 \u0627\u06CC\u0645\u0646\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F EN 397 \u0628\u0631\u0627\u06CC \u0641\u0627\u0632 \u06F2 \u067E\u062A\u0631\u0648\u0634\u06CC\u0645\u06CC.", + status: "NEW", + createdAt: new Date(Date.now() - 1e3 * 60 * 35) + }, + { + name: "\u0633\u0627\u0631\u0627 \u0645\u062D\u0645\u062F\u06CC", + org: "\u0647\u0644\u062F\u06CC\u0646\u06AF \u0633\u0627\u062E\u062A\u0645\u0627\u0646\u06CC \u0622\u0631\u06A9\u0627\u0646", + phone: "09122223344", + message: "\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0642\u06CC\u0645\u062A \u0648 \u0647\u0645\u0627\u0647\u0646\u06AF\u06CC \u062C\u0644\u0633\u0647 \u0628\u0627\u0632\u062F\u06CC\u062F \u062C\u0647\u062A \u0639\u0642\u062F \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u0633\u0627\u0644\u0627\u0646\u0647 \u062A\u0623\u0645\u06CC\u0646 \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u062D\u0641\u0627\u0638\u062A \u0641\u0631\u062F\u06CC \u06F1\u06F2 \u067E\u0631\u0648\u0698\u0647 \u0641\u0639\u0627\u0644.", + status: "NEW", + createdAt: new Date(Date.now() - 1e3 * 60 * 120) + }, + { + name: "\u0627\u0645\u06CC\u0631\u062D\u0633\u06CC\u0646 \u0631\u0627\u062F", + org: "\u0635\u0646\u0627\u06CC\u0639 \u0645\u0639\u062F\u0646\u06CC \u06A9\u0627\u0648\u0647", + phone: "09123334455", + message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u062A\u0623\u0645\u06CC\u0646 \u0641\u0648\u0631\u06CC \u06F2\u06F0\u06F0 \u062C\u0641\u062A \u062F\u0633\u062A\u06A9\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0636\u062F\u0628\u0631\u0634 \u0648 \u06A9\u0641\u0634 \u0627\u06CC\u0645\u0646\u06CC \u0636\u062F\u0627\u0633\u06CC\u062F \u0648 \u067E\u0646\u062C\u0647 \u06A9\u0627\u0645\u067E\u0648\u0632\u06CC\u062A \u0628\u0631\u0627\u06CC \u0633\u0627\u06CC\u062A \u06CC\u0632\u062F.", + status: "READ", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 8) + }, + { + name: "\u0645\u0647\u0646\u062F\u0633 \u0639\u0644\u06CC\u0631\u0636\u0627 \u0628\u0647\u0631\u0627\u0645\u06CC", + org: "\u0634\u0631\u06A9\u062A \u0646\u0641\u062A \u0648 \u06AF\u0627\u0632 \u067E\u0627\u0631\u0633", + phone: "09124445566", + message: "\u062A\u0642\u0627\u0636\u0627\u06CC \u0627\u0631\u0633\u0627\u0644 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0648 \u0646\u0645\u0648\u0646\u0647 \u0639\u06CC\u0646\u06A9 \u0627\u06CC\u0645\u0646\u06CC \u0627\u0633\u062A\u0627\u0646\u062F\u0627\u0631\u062F EN 166 \u0648 \u0645\u062D\u0627\u0641\u0638 \u06AF\u0648\u0634 \u0627\u06CC\u0631\u0645\u0627\u0641 \u062C\u0647\u062A \u0622\u0632\u0645\u0627\u06CC\u0634 \u0648\u0627\u062D\u062F HSE.", + status: "NEW", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 24) + }, + { + name: "\u0645\u0631\u06CC\u0645 \u0631\u0636\u0627\u06CC\u06CC", + org: "\u062F\u0627\u0631\u0648\u0633\u0627\u0632\u06CC \u0631\u0627\u0632\u06A9", + phone: "09125556677", + message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0645\u0634\u0627\u0648\u0631\u0647 \u062A\u062E\u0635\u0635\u06CC \u062F\u0631 \u0631\u0627\u0628\u0637\u0647 \u0628\u0627 \u0645\u0627\u0633\u06A9\u200C\u0647\u0627\u06CC \u0641\u06CC\u0644\u062A\u0631\u062F\u0627\u0631 \u0630\u0631\u0627\u062A \u0634\u06CC\u0645\u06CC\u0627\u06CC\u06CC \u0648 \u0644\u0628\u0627\u0633\u200C\u0647\u0627\u06CC \u06CC\u06A9\u0628\u0627\u0631 \u0645\u0635\u0631\u0641 \u0622\u0632\u0645\u0627\u06CC\u0634\u06AF\u0627\u0647\u06CC.", + status: "READ", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 36) + }, + { + name: "\u0645\u0647\u0646\u062F\u0633 \u0645\u0647\u062F\u06CC \u06CC\u0648\u0633\u0641\u06CC", + org: "\u0641\u0648\u0644\u0627\u062F \u0645\u0628\u0627\u0631\u06A9\u0647 \u0627\u0635\u0641\u0647\u0627\u0646", + phone: "09126667788", + message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0628\u0631\u06AF\u0632\u0627\u0631\u06CC \u062C\u0644\u0633\u0647 \u0641\u0646\u06CC \u0628\u0631\u0627\u06CC \u062A\u0645\u062F\u06CC\u062F \u0642\u0631\u0627\u0631\u062F\u0627\u062F \u062A\u0623\u0645\u06CC\u0646 \u0644\u0628\u0627\u0633 \u06A9\u0627\u0631 \u0646\u0633\u0648\u0632\u060C \u0634\u06CC\u0644\u062F \u0645\u062D\u0627\u0641\u0638 \u0635\u0648\u0631\u062A \u0648 \u067E\u0627\u0628\u0646\u062F \u0646\u0633\u0648\u0632.", + status: "ARCHIVED", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 72) + }, + { + name: "\u067E\u06CC\u0645\u0627\u0646 \u0646\u0627\u062F\u0631\u06CC", + org: "\u062E\u0637\u0648\u0637 \u0644\u0648\u0644\u0647 \u0648 \u0645\u062E\u0627\u0628\u0631\u0627\u062A \u0646\u0641\u062A", + phone: "09127778899", + message: "\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0645\u0648\u062C\u0648\u062F\u06CC \u062A\u062C\u0647\u06CC\u0632\u0627\u062A \u0646\u062C\u0627\u062A \u062F\u0631 \u0641\u0636\u0627\u0647\u0627\u06CC \u0628\u0633\u062A\u0647\u060C \u0633\u0647\u200C\u067E\u0627\u06CC\u0647 \u0646\u062C\u0627\u062A (Tripod) \u0648 \u0648\u06CC\u0646\u0686 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u06AF\u0648\u0627\u0647\u06CC \u06A9\u0627\u0644\u06CC\u0628\u0631\u0627\u0633\u06CC\u0648\u0646.", + status: "NEW", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 96) + }, + { + name: "\u062F\u06A9\u062A\u0631 \u0645\u062C\u06CC\u062F \u0627\u0633\u062F\u06CC", + org: "\u0633\u06CC\u0645\u0627\u0646 \u062A\u0647\u0631\u0627\u0646", + phone: "09128889900", + message: "\u062F\u0631\u062E\u0648\u0627\u0633\u062A \u0628\u0631\u06AF\u0632\u0627\u0631\u06CC \u062F\u0648\u0631\u0647 \u0622\u0645\u0648\u0632\u0634\u06CC \u06A9\u0627\u0631 \u062F\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0628\u0631\u0627\u06CC \u067E\u0631\u0633\u0646\u0644 \u067E\u06CC\u0645\u0627\u0646\u06A9\u0627\u0631 \u0648 \u0628\u0627\u0632\u0631\u0633\u06CC \u062F\u0648\u0631\u0647\u200C\u0627\u06CC \u062E\u0637\u0648\u0637 \u062D\u06CC\u0627\u062A (Lifeline).", + status: "READ", + createdAt: new Date(Date.now() - 1e3 * 60 * 60 * 120) + } + ]; + for (const msg of samples) { + await prisma.contactMessage.create({ data: msg }); + } + console.log(` seeded ${samples.length} sample contact messages`); +} +__name(seedMessages, "seedMessages"); +async function main() { + if (env.S3_ENSURE_BUCKET) { + try { + await storage.ensureBucket(); + } catch { + console.log(" ensureBucket skipped"); + } + } + console.log("seeding sections\u2026"); + await seedSections(); + console.log("seeding catalog\u2026"); + await seedCatalog(); + console.log("seeding admin\u2026"); + await seedAdmin(); + console.log("seeding messages\u2026"); + await seedMessages(); + const [categories, products, media] = await Promise.all([ + prisma.category.count(), + prisma.product.count(), + prisma.media.count() + ]); + console.log(`done: ${categories} categories, ${products} products, ${media} media files`); +} +__name(main, "main"); +try { + await main(); +} catch (e) { + console.error(e); + process.exitCode = 1; +} finally { + await prisma.$disconnect(); +} diff --git a/apps/api/.output/node_modules/@img/colour/LICENSE.md b/apps/api/.output/node_modules/@img/colour/LICENSE.md new file mode 100644 index 0000000..292c550 --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/LICENSE.md @@ -0,0 +1,82 @@ +# Licensing + +## color + +Copyright (c) 2012 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## color-convert + +Copyright (c) 2011-2016 Heather Arthur . +Copyright (c) 2016-2021 Josh Junon . + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## color-string + +Copyright (c) 2011 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## color-name + +The MIT License (MIT) +Copyright (c) 2015 Dmitry Ivanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/apps/api/.output/node_modules/@img/colour/README.md b/apps/api/.output/node_modules/@img/colour/README.md new file mode 100644 index 0000000..a33e4eb --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/README.md @@ -0,0 +1,15 @@ +# `@img/colour` + +The latest version of the +[color](https://www.npmjs.com/package/color) +package is now ESM-only, +however some JavaScript runtimes do not yet support this, +which includes versions of Node.js prior to 20.19.0. + +This package converts the `color` package and its dependencies, +all of which are MIT-licensed, to CommonJS. + +- [color](https://www.npmjs.com/package/color) +- [color-convert](https://www.npmjs.com/package/color-convert) +- [color-string](https://www.npmjs.com/package/color-string) +- [color-name](https://www.npmjs.com/package/color-name) diff --git a/apps/api/.output/node_modules/@img/colour/color.cjs b/apps/api/.output/node_modules/@img/colour/color.cjs new file mode 100644 index 0000000..d5b7ee2 --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/color.cjs @@ -0,0 +1,1596 @@ +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/color/index.js +var index_exports = {}; +__export(index_exports, { + default: () => index_default +}); +module.exports = __toCommonJS(index_exports); + +// node_modules/color-name/index.js +var colors = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50] +}; +for (const key in colors) Object.freeze(colors[key]); +var color_name_default = Object.freeze(colors); + +// node_modules/color-string/index.js +var reverseNames = /* @__PURE__ */ Object.create(null); +for (const name in color_name_default) { + if (Object.hasOwn(color_name_default, name)) { + reverseNames[color_name_default[name]] = name; + } +} +var cs = { + to: {}, + get: {} +}; +cs.get = function(string) { + const prefix = string.slice(0, 3).toLowerCase(); + let value; + let model; + switch (prefix) { + case "hsl": { + value = cs.get.hsl(string); + model = "hsl"; + break; + } + case "hwb": { + value = cs.get.hwb(string); + model = "hwb"; + break; + } + default: { + value = cs.get.rgb(string); + model = "rgb"; + break; + } + } + if (!value) { + return null; + } + return { model, value }; +}; +cs.get.rgb = function(string) { + if (!string) { + return null; + } + const abbr = /^#([a-f\d]{3,4})$/i; + const hex = /^#([a-f\d]{6})([a-f\d]{2})?$/i; + const rgba = /^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i; + const per = /^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i; + const keyword = /^(\w+)$/; + let rgb = [0, 0, 0, 1]; + let match; + let i; + let hexAlpha; + if (match = string.match(hex)) { + hexAlpha = match[2]; + match = match[1]; + for (i = 0; i < 3; i++) { + const i2 = i * 2; + rgb[i] = Number.parseInt(match.slice(i2, i2 + 2), 16); + } + if (hexAlpha) { + rgb[3] = Number.parseInt(hexAlpha, 16) / 255; + } + } else if (match = string.match(abbr)) { + match = match[1]; + hexAlpha = match[3]; + for (i = 0; i < 3; i++) { + rgb[i] = Number.parseInt(match[i] + match[i], 16); + } + if (hexAlpha) { + rgb[3] = Number.parseInt(hexAlpha + hexAlpha, 16) / 255; + } + } else if (match = string.match(rgba)) { + for (i = 0; i < 3; i++) { + rgb[i] = Number.parseFloat(match[i + 1]); + } + if (match[4]) { + rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]); + } + } else if (match = string.match(per)) { + for (i = 0; i < 3; i++) { + rgb[i] = Math.round(Number.parseFloat(match[i + 1]) * 2.55); + } + if (match[4]) { + rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]); + } + } else if (match = string.toLowerCase().match(keyword)) { + if (match[1] === "transparent") { + return [0, 0, 0, 0]; + } + if (!Object.hasOwn(color_name_default, match[1])) { + return null; + } + rgb = color_name_default[match[1]].slice(); + rgb[3] = 1; + return rgb; + } else { + return null; + } + for (i = 0; i < 3; i++) { + rgb[i] = clamp(rgb[i], 0, 255); + } + rgb[3] = clamp(rgb[3], 0, 1); + return rgb; +}; +cs.get.hsl = function(string) { + if (!string) { + return null; + } + const hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i; + const match = string.match(hsl); + if (match) { + const alpha = Number.parseFloat(match[4]); + const h = (Number.parseFloat(match[1]) % 360 + 360) % 360; + const s = clamp(Number.parseFloat(match[2]), 0, 100); + const l = clamp(Number.parseFloat(match[3]), 0, 100); + const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1); + return [h, s, l, a]; + } + return null; +}; +cs.get.hwb = function(string) { + if (!string) { + return null; + } + const hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i; + const match = string.match(hwb); + if (match) { + const alpha = Number.parseFloat(match[4]); + const h = (Number.parseFloat(match[1]) % 360 + 360) % 360; + const w = clamp(Number.parseFloat(match[2]), 0, 100); + const b = clamp(Number.parseFloat(match[3]), 0, 100); + const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1); + return [h, w, b, a]; + } + return null; +}; +cs.to.hex = function(...rgba) { + return "#" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : ""); +}; +cs.to.rgb = function(...rgba) { + return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ")" : "rgba(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ", " + rgba[3] + ")"; +}; +cs.to.rgb.percent = function(...rgba) { + const r = Math.round(rgba[0] / 255 * 100); + const g = Math.round(rgba[1] / 255 * 100); + const b = Math.round(rgba[2] / 255 * 100); + return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + r + "%, " + g + "%, " + b + "%)" : "rgba(" + r + "%, " + g + "%, " + b + "%, " + rgba[3] + ")"; +}; +cs.to.hsl = function(...hsla) { + return hsla.length < 4 || hsla[3] === 1 ? "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)" : "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + hsla[3] + ")"; +}; +cs.to.hwb = function(...hwba) { + let a = ""; + if (hwba.length >= 4 && hwba[3] !== 1) { + a = ", " + hwba[3]; + } + return "hwb(" + hwba[0] + ", " + hwba[1] + "%, " + hwba[2] + "%" + a + ")"; +}; +cs.to.keyword = function(...rgb) { + return reverseNames[rgb.slice(0, 3)]; +}; +function clamp(number_, min, max) { + return Math.min(Math.max(min, number_), max); +} +function hexDouble(number_) { + const string_ = Math.round(number_).toString(16).toUpperCase(); + return string_.length < 2 ? "0" + string_ : string_; +} +var color_string_default = cs; + +// node_modules/color-convert/conversions.js +var reverseKeywords = {}; +for (const key of Object.keys(color_name_default)) { + reverseKeywords[color_name_default[key]] = key; +} +var convert = { + rgb: { channels: 3, labels: "rgb" }, + hsl: { channels: 3, labels: "hsl" }, + hsv: { channels: 3, labels: "hsv" }, + hwb: { channels: 3, labels: "hwb" }, + cmyk: { channels: 4, labels: "cmyk" }, + xyz: { channels: 3, labels: "xyz" }, + lab: { channels: 3, labels: "lab" }, + oklab: { channels: 3, labels: ["okl", "oka", "okb"] }, + lch: { channels: 3, labels: "lch" }, + oklch: { channels: 3, labels: ["okl", "okc", "okh"] }, + hex: { channels: 1, labels: ["hex"] }, + keyword: { channels: 1, labels: ["keyword"] }, + ansi16: { channels: 1, labels: ["ansi16"] }, + ansi256: { channels: 1, labels: ["ansi256"] }, + hcg: { channels: 3, labels: ["h", "c", "g"] }, + apple: { channels: 3, labels: ["r16", "g16", "b16"] }, + gray: { channels: 1, labels: ["gray"] } +}; +var conversions_default = convert; +var LAB_FT = (6 / 29) ** 3; +function srgbNonlinearTransform(c) { + const cc = c > 31308e-7 ? 1.055 * c ** (1 / 2.4) - 0.055 : c * 12.92; + return Math.min(Math.max(0, cc), 1); +} +function srgbNonlinearTransformInv(c) { + return c > 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92; +} +for (const model of Object.keys(convert)) { + if (!("channels" in convert[model])) { + throw new Error("missing channels property: " + model); + } + if (!("labels" in convert[model])) { + throw new Error("missing channel labels property: " + model); + } + if (convert[model].labels.length !== convert[model].channels) { + throw new Error("channel and label counts mismatch: " + model); + } + const { channels, labels } = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], "channels", { value: channels }); + Object.defineProperty(convert[model], "labels", { value: labels }); +} +convert.rgb.hsl = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; + switch (max) { + case min: { + h = 0; + break; + } + case r: { + h = (g - b) / delta; + break; + } + case g: { + h = 2 + (b - r) / delta; + break; + } + case b: { + h = 4 + (r - g) / delta; + break; + } + } + h = Math.min(h * 60, 360); + if (h < 0) { + h += 360; + } + const l = (min + max) / 2; + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + return [h, s * 100, l * 100]; +}; +convert.rgb.hsv = function(rgb) { + let rdif; + let gdif; + let bdif; + let h; + let s; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function(c) { + return (v - c) / 6 / diff + 1 / 2; + }; + if (diff === 0) { + h = 0; + s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + switch (v) { + case r: { + h = bdif - gdif; + break; + } + case g: { + h = 1 / 3 + rdif - bdif; + break; + } + case b: { + h = 2 / 3 + gdif - rdif; + break; + } + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + return [ + h * 360, + s * 100, + v * 100 + ]; +}; +convert.rgb.hwb = function(rgb) { + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; +}; +convert.rgb.oklab = function(rgb) { + const r = srgbNonlinearTransformInv(rgb[0] / 255); + const g = srgbNonlinearTransformInv(rgb[1] / 255); + const b = srgbNonlinearTransformInv(rgb[2] / 255); + const lp = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b); + const mp = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b); + const sp = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b); + const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp; + const aa = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp; + const bb = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp; + return [l * 100, aa * 100, bb * 100]; +}; +convert.rgb.cmyk = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; +}; +function comparativeDistance(x, y) { + return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; +} +convert.rgb.keyword = function(rgb) { + const reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + let currentClosestDistance = Number.POSITIVE_INFINITY; + let currentClosestKeyword; + for (const keyword of Object.keys(color_name_default)) { + const value = color_name_default[keyword]; + const distance = comparativeDistance(rgb, value); + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + return currentClosestKeyword; +}; +convert.keyword.rgb = function(keyword) { + return [...color_name_default[keyword]]; +}; +convert.rgb.xyz = function(rgb) { + const r = srgbNonlinearTransformInv(rgb[0] / 255); + const g = srgbNonlinearTransformInv(rgb[1] / 255); + const b = srgbNonlinearTransformInv(rgb[2] / 255); + const x = r * 0.4124564 + g * 0.3575761 + b * 0.1804375; + const y = r * 0.2126729 + g * 0.7151522 + b * 0.072175; + const z = r * 0.0193339 + g * 0.119192 + b * 0.9503041; + return [x * 100, y * 100, z * 100]; +}; +convert.rgb.lab = function(rgb) { + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; +convert.hsl.rgb = function(hsl) { + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t3; + let value; + if (s === 0) { + value = l * 255; + return [value, value, value]; + } + const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s; + const t1 = 2 * l - t2; + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + if (6 * t3 < 1) { + value = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + value = t2; + } else if (3 * t3 < 2) { + value = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + value = t1; + } + rgb[i] = value * 255; + } + return rgb; +}; +convert.hsl.hsv = function(hsl) { + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + const v = (l + s) / 2; + const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; +}; +convert.hsv.rgb = function(hsv) { + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - s * f); + const t = 255 * v * (1 - s * (1 - f)); + v *= 255; + switch (hi) { + case 0: { + return [v, t, p]; + } + case 1: { + return [q, v, p]; + } + case 2: { + return [p, v, t]; + } + case 3: { + return [p, q, v]; + } + case 4: { + return [t, p, v]; + } + case 5: { + return [v, p, q]; + } + } +}; +convert.hsv.hsl = function(hsv) { + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; + l = (2 - s) * v; + const lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; +}; +convert.hwb.rgb = function(hwb) { + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + const i = Math.floor(6 * h); + const v = 1 - bl; + f = 6 * h - i; + if ((i & 1) !== 0) { + f = 1 - f; + } + const n = wh + f * (v - wh); + let r; + let g; + let b; + switch (i) { + default: + case 6: + case 0: { + r = v; + g = n; + b = wh; + break; + } + case 1: { + r = n; + g = v; + b = wh; + break; + } + case 2: { + r = wh; + g = v; + b = n; + break; + } + case 3: { + r = wh; + g = n; + b = v; + break; + } + case 4: { + r = n; + g = wh; + b = v; + break; + } + case 5: { + r = v; + g = wh; + b = n; + break; + } + } + return [r * 255, g * 255, b * 255]; +}; +convert.cmyk.rgb = function(cmyk) { + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; +}; +convert.xyz.rgb = function(xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; + r = x * 3.2404542 + y * -1.5371385 + z * -0.4985314; + g = x * -0.969266 + y * 1.8760108 + z * 0.041556; + b = x * 0.0556434 + y * -0.2040259 + z * 1.0572252; + r = srgbNonlinearTransform(r); + g = srgbNonlinearTransform(g); + b = srgbNonlinearTransform(b); + return [r * 255, g * 255, b * 255]; +}; +convert.xyz.lab = function(xyz) { + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116; + y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116; + z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116; + const l = 116 * y - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); + return [l, a, b]; +}; +convert.xyz.oklab = function(xyz) { + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + const lp = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z); + const mp = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z); + const sp = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.633851707 * z); + const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp; + const a = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp; + const b = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp; + return [l * 100, a * 100, b * 100]; +}; +convert.oklab.oklch = function(oklab) { + return convert.lab.lch(oklab); +}; +convert.oklab.xyz = function(oklab) { + const ll = oklab[0] / 100; + const a = oklab[1] / 100; + const b = oklab[2] / 100; + const l = (0.999999998 * ll + 0.396337792 * a + 0.215803758 * b) ** 3; + const m = (1.000000008 * ll - 0.105561342 * a - 0.063854175 * b) ** 3; + const s = (1.000000055 * ll - 0.089484182 * a - 1.291485538 * b) ** 3; + const x = 1.227013851 * l - 0.55779998 * m + 0.281256149 * s; + const y = -0.040580178 * l + 1.11225687 * m - 0.071676679 * s; + const z = -0.076381285 * l - 0.421481978 * m + 1.58616322 * s; + return [x * 100, y * 100, z * 100]; +}; +convert.oklab.rgb = function(oklab) { + const ll = oklab[0] / 100; + const aa = oklab[1] / 100; + const bb = oklab[2] / 100; + const l = (ll + 0.3963377774 * aa + 0.2158037573 * bb) ** 3; + const m = (ll - 0.1055613458 * aa - 0.0638541728 * bb) ** 3; + const s = (ll - 0.0894841775 * aa - 1.291485548 * bb) ** 3; + const r = srgbNonlinearTransform(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s); + const g = srgbNonlinearTransform(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s); + const b = srgbNonlinearTransform(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s); + return [r * 255, g * 255, b * 255]; +}; +convert.oklch.oklab = function(oklch) { + return convert.lch.lab(oklch); +}; +convert.lab.xyz = function(lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; + y = y2 > LAB_FT ? y2 : (y - 16 / 116) / 7.787; + x = x2 > LAB_FT ? x2 : (x - 16 / 116) / 7.787; + z = z2 > LAB_FT ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; +}; +convert.lab.lch = function(lab) { + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + const hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + if (h < 0) { + h += 360; + } + const c = Math.sqrt(a * a + b * b); + return [l, c, h]; +}; +convert.lch.lab = function(lch) { + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); + return [l, a, b]; +}; +convert.rgb.ansi16 = function(args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; + value = Math.round(value / 50); + if (value === 0) { + return 30; + } + let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + if (value === 2) { + ansi += 60; + } + return ansi; +}; +convert.hsv.ansi16 = function(args) { + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; +convert.rgb.ansi256 = function(args) { + const r = args[0]; + const g = args[1]; + const b = args[2]; + if (r >> 4 === g >> 4 && g >> 4 === b >> 4) { + if (r < 8) { + return 16; + } + if (r > 248) { + return 231; + } + return Math.round((r - 8) / 247 * 24) + 232; + } + const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; +}; +convert.ansi16.rgb = function(args) { + args = args[0]; + let color = args % 10; + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + color = color / 10.5 * 255; + return [color, color, color]; + } + const mult = (Math.trunc(args > 50) + 1) * 0.5; + const r = (color & 1) * mult * 255; + const g = (color >> 1 & 1) * mult * 255; + const b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; +}; +convert.ansi256.rgb = function(args) { + args = args[0]; + if (args >= 232) { + const c = (args - 232) * 10 + 8; + return [c, c, c]; + } + args -= 16; + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = rem % 6 / 5 * 255; + return [r, g, b]; +}; +convert.rgb.hex = function(args) { + const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); + const string = integer.toString(16).toUpperCase(); + return "000000".slice(string.length) + string; +}; +convert.hex.rgb = function(args) { + const match = args.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i); + if (!match) { + return [0, 0, 0]; + } + let colorString = match[0]; + if (match[0].length === 3) { + colorString = [...colorString].map((char) => char + char).join(""); + } + const integer = Number.parseInt(colorString, 16); + const r = integer >> 16 & 255; + const g = integer >> 8 & 255; + const b = integer & 255; + return [r, g, b]; +}; +convert.rgb.hcg = function(rgb) { + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = max - min; + let hue; + const grayscale = chroma < 1 ? min / (1 - chroma) : 0; + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma; + } + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; +}; +convert.hsl.hcg = function(hsl) { + const s = hsl[1] / 100; + const l = hsl[2] / 100; + const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l); + let f = 0; + if (c < 1) { + f = (l - 0.5 * c) / (1 - c); + } + return [hsl[0], c * 100, f * 100]; +}; +convert.hsv.hcg = function(hsv) { + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const c = s * v; + let f = 0; + if (c < 1) { + f = (v - c) / (1 - c); + } + return [hsv[0], c * 100, f * 100]; +}; +convert.hcg.rgb = function(hcg) { + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; + if (c === 0) { + return [g * 255, g * 255, g * 255]; + } + const pure = [0, 0, 0]; + const hi = h % 1 * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + switch (Math.floor(hi)) { + case 0: { + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + } + case 1: { + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + } + case 2: { + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + } + case 3: { + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + } + case 4: { + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + } + default: { + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + } + mg = (1 - c) * g; + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; +convert.hcg.hsv = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1 - c); + let f = 0; + if (v > 0) { + f = c / v; + } + return [hcg[0], f * 100, v * 100]; +}; +convert.hcg.hsl = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const l = g * (1 - c) + 0.5 * c; + let s = 0; + if (l > 0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1) { + s = c / (2 * (1 - l)); + } + return [hcg[0], s * 100, l * 100]; +}; +convert.hcg.hwb = function(hcg) { + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; +convert.hwb.hcg = function(hwb) { + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; + if (c < 1) { + g = (v - c) / (1 - c); + } + return [hwb[0], c * 100, g * 100]; +}; +convert.apple.rgb = function(apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; +}; +convert.rgb.apple = function(rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; +}; +convert.gray.rgb = function(args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; +convert.gray.hsl = function(args) { + return [0, 0, args[0]]; +}; +convert.gray.hsv = convert.gray.hsl; +convert.gray.hwb = function(gray) { + return [0, 100, gray[0]]; +}; +convert.gray.cmyk = function(gray) { + return [0, 0, 0, gray[0]]; +}; +convert.gray.lab = function(gray) { + return [gray[0], 0, 0]; +}; +convert.gray.hex = function(gray) { + const value = Math.round(gray[0] / 100 * 255) & 255; + const integer = (value << 16) + (value << 8) + value; + const string = integer.toString(16).toUpperCase(); + return "000000".slice(string.length) + string; +}; +convert.rgb.gray = function(rgb) { + const value = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [value / 255 * 100]; +}; + +// node_modules/color-convert/route.js +function buildGraph() { + const graph = {}; + const models2 = Object.keys(conversions_default); + for (let { length } = models2, i = 0; i < length; i++) { + graph[models2[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + return graph; +} +function deriveBFS(fromModel) { + const graph = buildGraph(); + const queue = [fromModel]; + graph[fromModel].distance = 0; + while (queue.length > 0) { + const current = queue.pop(); + const adjacents = Object.keys(conversions_default[current]); + for (let { length } = adjacents, i = 0; i < length; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + return graph; +} +function link(from, to) { + return function(args) { + return to(from(args)); + }; +} +function wrapConversion(toModel, graph) { + const path = [graph[toModel].parent, toModel]; + let fn = conversions_default[graph[toModel].parent][toModel]; + let cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions_default[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + fn.conversion = path; + return fn; +} +function route(fromModel) { + const graph = deriveBFS(fromModel); + const conversion = {}; + const models2 = Object.keys(graph); + for (let { length } = models2, i = 0; i < length; i++) { + const toModel = models2[i]; + const node = graph[toModel]; + if (node.parent === null) { + continue; + } + conversion[toModel] = wrapConversion(toModel, graph); + } + return conversion; +} +var route_default = route; + +// node_modules/color-convert/index.js +var convert2 = {}; +var models = Object.keys(conversions_default); +function wrapRaw(fn) { + const wrappedFn = function(...args) { + const arg0 = args[0]; + if (arg0 === void 0 || arg0 === null) { + return arg0; + } + if (arg0.length > 1) { + args = arg0; + } + return fn(args); + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; +} +function wrapRounded(fn) { + const wrappedFn = function(...args) { + const arg0 = args[0]; + if (arg0 === void 0 || arg0 === null) { + return arg0; + } + if (arg0.length > 1) { + args = arg0; + } + const result = fn(args); + if (typeof result === "object") { + for (let { length } = result, i = 0; i < length; i++) { + result[i] = Math.round(result[i]); + } + } + return result; + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; +} +for (const fromModel of models) { + convert2[fromModel] = {}; + Object.defineProperty(convert2[fromModel], "channels", { value: conversions_default[fromModel].channels }); + Object.defineProperty(convert2[fromModel], "labels", { value: conversions_default[fromModel].labels }); + const routes = route_default(fromModel); + const routeModels = Object.keys(routes); + for (const toModel of routeModels) { + const fn = routes[toModel]; + convert2[fromModel][toModel] = wrapRounded(fn); + convert2[fromModel][toModel].raw = wrapRaw(fn); + } +} +var color_convert_default = convert2; + +// node_modules/color/index.js +var skippedModels = [ + // To be honest, I don't really feel like keyword belongs in color convert, but eh. + "keyword", + // Gray conflicts with some method names, and has its own method defined. + "gray", + // Shouldn't really be in color-convert either... + "hex" +]; +var hashedModelKeys = {}; +for (const model of Object.keys(color_convert_default)) { + hashedModelKeys[[...color_convert_default[model].labels].sort().join("")] = model; +} +var limiters = {}; +function Color(object, model) { + if (!(this instanceof Color)) { + return new Color(object, model); + } + if (model && model in skippedModels) { + model = null; + } + if (model && !(model in color_convert_default)) { + throw new Error("Unknown model: " + model); + } + let i; + let channels; + if (object == null) { + this.model = "rgb"; + this.color = [0, 0, 0]; + this.valpha = 1; + } else if (object instanceof Color) { + this.model = object.model; + this.color = [...object.color]; + this.valpha = object.valpha; + } else if (typeof object === "string") { + const result = color_string_default.get(object); + if (result === null) { + throw new Error("Unable to parse color from string: " + object); + } + this.model = result.model; + channels = color_convert_default[this.model].channels; + this.color = result.value.slice(0, channels); + this.valpha = typeof result.value[channels] === "number" ? result.value[channels] : 1; + } else if (object.length > 0) { + this.model = model || "rgb"; + channels = color_convert_default[this.model].channels; + const newArray = Array.prototype.slice.call(object, 0, channels); + this.color = zeroArray(newArray, channels); + this.valpha = typeof object[channels] === "number" ? object[channels] : 1; + } else if (typeof object === "number") { + this.model = "rgb"; + this.color = [ + object >> 16 & 255, + object >> 8 & 255, + object & 255 + ]; + this.valpha = 1; + } else { + this.valpha = 1; + const keys = Object.keys(object); + if ("alpha" in object) { + keys.splice(keys.indexOf("alpha"), 1); + this.valpha = typeof object.alpha === "number" ? object.alpha : 0; + } + const hashedKeys = keys.sort().join(""); + if (!(hashedKeys in hashedModelKeys)) { + throw new Error("Unable to parse color from object: " + JSON.stringify(object)); + } + this.model = hashedModelKeys[hashedKeys]; + const { labels } = color_convert_default[this.model]; + const color = []; + for (i = 0; i < labels.length; i++) { + color.push(object[labels[i]]); + } + this.color = zeroArray(color); + } + if (limiters[this.model]) { + channels = color_convert_default[this.model].channels; + for (i = 0; i < channels; i++) { + const limit = limiters[this.model][i]; + if (limit) { + this.color[i] = limit(this.color[i]); + } + } + } + this.valpha = Math.max(0, Math.min(1, this.valpha)); + if (Object.freeze) { + Object.freeze(this); + } +} +Color.prototype = { + toString() { + return this.string(); + }, + toJSON() { + return this[this.model](); + }, + string(places) { + let self = this.model in color_string_default.to ? this : this.rgb(); + self = self.round(typeof places === "number" ? places : 1); + const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha]; + return color_string_default.to[self.model](...arguments_); + }, + percentString(places) { + const self = this.rgb().round(typeof places === "number" ? places : 1); + const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha]; + return color_string_default.to.rgb.percent(...arguments_); + }, + array() { + return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha]; + }, + object() { + const result = {}; + const { channels } = color_convert_default[this.model]; + const { labels } = color_convert_default[this.model]; + for (let i = 0; i < channels; i++) { + result[labels[i]] = this.color[i]; + } + if (this.valpha !== 1) { + result.alpha = this.valpha; + } + return result; + }, + unitArray() { + const rgb = this.rgb().color; + rgb[0] /= 255; + rgb[1] /= 255; + rgb[2] /= 255; + if (this.valpha !== 1) { + rgb.push(this.valpha); + } + return rgb; + }, + unitObject() { + const rgb = this.rgb().object(); + rgb.r /= 255; + rgb.g /= 255; + rgb.b /= 255; + if (this.valpha !== 1) { + rgb.alpha = this.valpha; + } + return rgb; + }, + round(places) { + places = Math.max(places || 0, 0); + return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model); + }, + alpha(value) { + if (value !== void 0) { + return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model); + } + return this.valpha; + }, + // Rgb + red: getset("rgb", 0, maxfn(255)), + green: getset("rgb", 1, maxfn(255)), + blue: getset("rgb", 2, maxfn(255)), + hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, (value) => (value % 360 + 360) % 360), + saturationl: getset("hsl", 1, maxfn(100)), + lightness: getset("hsl", 2, maxfn(100)), + saturationv: getset("hsv", 1, maxfn(100)), + value: getset("hsv", 2, maxfn(100)), + chroma: getset("hcg", 1, maxfn(100)), + gray: getset("hcg", 2, maxfn(100)), + white: getset("hwb", 1, maxfn(100)), + wblack: getset("hwb", 2, maxfn(100)), + cyan: getset("cmyk", 0, maxfn(100)), + magenta: getset("cmyk", 1, maxfn(100)), + yellow: getset("cmyk", 2, maxfn(100)), + black: getset("cmyk", 3, maxfn(100)), + x: getset("xyz", 0, maxfn(95.047)), + y: getset("xyz", 1, maxfn(100)), + z: getset("xyz", 2, maxfn(108.833)), + l: getset("lab", 0, maxfn(100)), + a: getset("lab", 1), + b: getset("lab", 2), + keyword(value) { + if (value !== void 0) { + return new Color(value); + } + return color_convert_default[this.model].keyword(this.color); + }, + hex(value) { + if (value !== void 0) { + return new Color(value); + } + return color_string_default.to.hex(...this.rgb().round().color); + }, + hexa(value) { + if (value !== void 0) { + return new Color(value); + } + const rgbArray = this.rgb().round().color; + let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase(); + if (alphaHex.length === 1) { + alphaHex = "0" + alphaHex; + } + return color_string_default.to.hex(...rgbArray) + alphaHex; + }, + rgbNumber() { + const rgb = this.rgb().color; + return (rgb[0] & 255) << 16 | (rgb[1] & 255) << 8 | rgb[2] & 255; + }, + luminosity() { + const rgb = this.rgb().color; + const lum = []; + for (const [i, element] of rgb.entries()) { + const chan = element / 255; + lum[i] = chan <= 0.04045 ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4; + } + return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2]; + }, + contrast(color2) { + const lum1 = this.luminosity(); + const lum2 = color2.luminosity(); + if (lum1 > lum2) { + return (lum1 + 0.05) / (lum2 + 0.05); + } + return (lum2 + 0.05) / (lum1 + 0.05); + }, + level(color2) { + const contrastRatio = this.contrast(color2); + if (contrastRatio >= 7) { + return "AAA"; + } + return contrastRatio >= 4.5 ? "AA" : ""; + }, + isDark() { + const rgb = this.rgb().color; + const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 1e4; + return yiq < 128; + }, + isLight() { + return !this.isDark(); + }, + negate() { + const rgb = this.rgb(); + for (let i = 0; i < 3; i++) { + rgb.color[i] = 255 - rgb.color[i]; + } + return rgb; + }, + lighten(ratio) { + const hsl = this.hsl(); + hsl.color[2] += hsl.color[2] * ratio; + return hsl; + }, + darken(ratio) { + const hsl = this.hsl(); + hsl.color[2] -= hsl.color[2] * ratio; + return hsl; + }, + saturate(ratio) { + const hsl = this.hsl(); + hsl.color[1] += hsl.color[1] * ratio; + return hsl; + }, + desaturate(ratio) { + const hsl = this.hsl(); + hsl.color[1] -= hsl.color[1] * ratio; + return hsl; + }, + whiten(ratio) { + const hwb = this.hwb(); + hwb.color[1] += hwb.color[1] * ratio; + return hwb; + }, + blacken(ratio) { + const hwb = this.hwb(); + hwb.color[2] += hwb.color[2] * ratio; + return hwb; + }, + grayscale() { + const rgb = this.rgb().color; + const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11; + return Color.rgb(value, value, value); + }, + fade(ratio) { + return this.alpha(this.valpha - this.valpha * ratio); + }, + opaquer(ratio) { + return this.alpha(this.valpha + this.valpha * ratio); + }, + rotate(degrees) { + const hsl = this.hsl(); + let hue = hsl.color[0]; + hue = (hue + degrees) % 360; + hue = hue < 0 ? 360 + hue : hue; + hsl.color[0] = hue; + return hsl; + }, + mix(mixinColor, weight) { + if (!mixinColor || !mixinColor.rgb) { + throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor); + } + const color1 = mixinColor.rgb(); + const color2 = this.rgb(); + const p = weight === void 0 ? 0.5 : weight; + const w = 2 * p - 1; + const a = color1.alpha() - color2.alpha(); + const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2; + const w2 = 1 - w1; + return Color.rgb( + w1 * color1.red() + w2 * color2.red(), + w1 * color1.green() + w2 * color2.green(), + w1 * color1.blue() + w2 * color2.blue(), + color1.alpha() * p + color2.alpha() * (1 - p) + ); + } +}; +for (const model of Object.keys(color_convert_default)) { + if (skippedModels.includes(model)) { + continue; + } + const { channels } = color_convert_default[model]; + Color.prototype[model] = function(...arguments_) { + if (this.model === model) { + return new Color(this); + } + if (arguments_.length > 0) { + return new Color(arguments_, model); + } + return new Color([...assertArray(color_convert_default[this.model][model].raw(this.color)), this.valpha], model); + }; + Color[model] = function(...arguments_) { + let color = arguments_[0]; + if (typeof color === "number") { + color = zeroArray(arguments_, channels); + } + return new Color(color, model); + }; +} +function roundTo(number, places) { + return Number(number.toFixed(places)); +} +function roundToPlace(places) { + return function(number) { + return roundTo(number, places); + }; +} +function getset(model, channel, modifier) { + model = Array.isArray(model) ? model : [model]; + for (const m of model) { + (limiters[m] ||= [])[channel] = modifier; + } + model = model[0]; + return function(value) { + let result; + if (value !== void 0) { + if (modifier) { + value = modifier(value); + } + result = this[model](); + result.color[channel] = value; + return result; + } + result = this[model]().color[channel]; + if (modifier) { + result = modifier(result); + } + return result; + }; +} +function maxfn(max) { + return function(v) { + return Math.max(0, Math.min(max, v)); + }; +} +function assertArray(value) { + return Array.isArray(value) ? value : [value]; +} +function zeroArray(array, length) { + for (let i = 0; i < length; i++) { + if (typeof array[i] !== "number") { + array[i] = 0; + } + } + return array; +} +var index_default = Color; diff --git a/apps/api/.output/node_modules/@img/colour/index.cjs b/apps/api/.output/node_modules/@img/colour/index.cjs new file mode 100644 index 0000000..25596b2 --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/index.cjs @@ -0,0 +1 @@ +module.exports = require("./color.cjs").default; diff --git a/apps/api/.output/node_modules/@img/colour/index.d.ts b/apps/api/.output/node_modules/@img/colour/index.d.ts new file mode 100644 index 0000000..ca2461f --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/index.d.ts @@ -0,0 +1,929 @@ +// Generated by dts-bundle-generator v9.5.1 + +type Channels = number; +type RGB = [ + r: number, + g: number, + b: number +]; +type HSL = [ + h: number, + s: number, + l: number +]; +type HSV = [ + h: number, + s: number, + v: number +]; +type CMYK = [ + c: number, + m: number, + y: number, + k: number +]; +type LAB = [ + l: number, + a: number, + b: number +]; +type LCH = [ + l: number, + c: number, + h: number +]; +type HCG = [ + h: number, + c: number, + g: number +]; +type HWB = [ + h: number, + w: number, + b: number +]; +type XYZ = [ + x: number, + y: number, + z: number +]; +type Apple = [ + r16: number, + g16: number, + b16: number +]; +type Gray = [ + gray: number +]; +type ANSI16 = number; +type ANSI256 = number; +type Keyword = string; +type HEX = string; +declare namespace route { + type rgb = { + hsl(from: RGB): HSL; + hsl(...from: RGB): HSL; + hsl(from: RGB): HSL; + hsl(...from: RGB): HSL; + hsv(from: RGB): HSV; + hsv(...from: RGB): HSV; + hwb(from: RGB): HWB; + hwb(...from: RGB): HWB; + cmyk(from: RGB): CMYK; + cmyk(...from: RGB): CMYK; + xyz(from: RGB): XYZ; + xyz(...from: RGB): XYZ; + lab(from: RGB): LAB; + lab(...from: RGB): LAB; + lch(from: RGB): LCH; + lch(...from: RGB): LCH; + hex(from: RGB): HEX; + hex(...from: RGB): HEX; + keyword(from: RGB): Keyword; + keyword(...from: RGB): Keyword; + ansi16(from: RGB): ANSI16; + ansi16(...from: RGB): ANSI16; + ansi256(from: RGB): ANSI256; + ansi256(...from: RGB): ANSI256; + hcg(from: RGB): HCG; + hcg(...from: RGB): HCG; + apple(from: RGB): Apple; + apple(...from: RGB): Apple; + gray(from: RGB): Gray; + gray(...from: RGB): Gray; + }; + type hsl = { + rgb(from: HSL): RGB; + rgb(...from: HSL): RGB; + hsv(from: HSL): HSV; + hsv(...from: HSL): HSV; + hwb(from: HSL): HWB; + hwb(...from: HSL): HWB; + cmyk(from: HSL): CMYK; + cmyk(...from: HSL): CMYK; + xyz(from: HSL): XYZ; + xyz(...from: HSL): XYZ; + lab(from: HSL): LAB; + lab(...from: HSL): LAB; + lch(from: HSL): LCH; + lch(...from: HSL): LCH; + hex(from: HSL): HEX; + hex(...from: HSL): HEX; + keyword(from: HSL): Keyword; + keyword(...from: HSL): Keyword; + ansi16(from: HSL): ANSI16; + ansi16(...from: HSL): ANSI16; + ansi256(from: HSL): ANSI256; + ansi256(...from: HSL): ANSI256; + hcg(from: HSL): HCG; + hcg(...from: HSL): HCG; + apple(from: HSL): Apple; + apple(...from: HSL): Apple; + gray(from: HSL): Gray; + gray(...from: HSL): Gray; + }; + type hsv = { + rgb(from: HSV): RGB; + rgb(...from: HSV): RGB; + hsl(from: HSV): HSL; + hsl(...from: HSV): HSL; + hwb(from: HSV): HWB; + hwb(...from: HSV): HWB; + cmyk(from: HSV): CMYK; + cmyk(...from: HSV): CMYK; + xyz(from: HSV): XYZ; + xyz(...from: HSV): XYZ; + lab(from: HSV): LAB; + lab(...from: HSV): LAB; + lch(from: HSV): LCH; + lch(...from: HSV): LCH; + hex(from: HSV): HEX; + hex(...from: HSV): HEX; + keyword(from: HSV): Keyword; + keyword(...from: HSV): Keyword; + ansi16(from: HSV): ANSI16; + ansi16(...from: HSV): ANSI16; + ansi256(from: HSV): ANSI256; + ansi256(...from: HSV): ANSI256; + hcg(from: HSV): HCG; + hcg(...from: HSV): HCG; + apple(from: HSV): Apple; + apple(...from: HSV): Apple; + gray(from: HSV): Gray; + gray(...from: HSV): Gray; + }; + type hwb = { + rgb(from: HWB): RGB; + rgb(...from: HWB): RGB; + hsl(from: HWB): HSL; + hsl(...from: HWB): HSL; + hsv(from: HWB): HSV; + hsv(...from: HWB): HSV; + cmyk(from: HWB): CMYK; + cmyk(...from: HWB): CMYK; + xyz(from: HWB): XYZ; + xyz(...from: HWB): XYZ; + lab(from: HWB): LAB; + lab(...from: HWB): LAB; + lch(from: HWB): LCH; + lch(...from: HWB): LCH; + hex(from: HWB): HEX; + hex(...from: HWB): HEX; + keyword(from: HWB): Keyword; + keyword(...from: HWB): Keyword; + ansi16(from: HWB): ANSI16; + ansi16(...from: HWB): ANSI16; + ansi256(from: HWB): ANSI256; + ansi256(...from: HWB): ANSI256; + hcg(from: HWB): HCG; + hcg(...from: HWB): HCG; + apple(from: HWB): Apple; + apple(...from: HWB): Apple; + gray(from: HWB): Gray; + gray(...from: HWB): Gray; + }; + type cmyk = { + rgb(from: CMYK): RGB; + rgb(...from: CMYK): RGB; + hsl(from: CMYK): HSL; + hsl(...from: CMYK): HSL; + hsv(from: CMYK): HSV; + hsv(...from: CMYK): HSV; + hwb(from: CMYK): HWB; + hwb(...from: CMYK): HWB; + xyz(from: CMYK): XYZ; + xyz(...from: CMYK): XYZ; + lab(from: CMYK): LAB; + lab(...from: CMYK): LAB; + lch(from: CMYK): LCH; + lch(...from: CMYK): LCH; + hex(from: CMYK): HEX; + hex(...from: CMYK): HEX; + keyword(from: CMYK): Keyword; + keyword(...from: CMYK): Keyword; + ansi16(from: CMYK): ANSI16; + ansi16(...from: CMYK): ANSI16; + ansi256(from: CMYK): ANSI256; + ansi256(...from: CMYK): ANSI256; + hcg(from: CMYK): HCG; + hcg(...from: CMYK): HCG; + apple(from: CMYK): Apple; + apple(...from: CMYK): Apple; + gray(from: CMYK): Gray; + gray(...from: CMYK): Gray; + }; + type xyz = { + rgb(from: XYZ): RGB; + rgb(...from: XYZ): RGB; + hsl(from: XYZ): HSL; + hsl(...from: XYZ): HSL; + hsv(from: XYZ): HSV; + hsv(...from: XYZ): HSV; + hwb(from: XYZ): HWB; + hwb(...from: XYZ): HWB; + cmyk(from: XYZ): CMYK; + cmyk(...from: XYZ): CMYK; + lab(from: XYZ): LAB; + lab(...from: XYZ): LAB; + lch(from: XYZ): LCH; + lch(...from: XYZ): LCH; + hex(from: XYZ): HEX; + hex(...from: XYZ): HEX; + keyword(from: XYZ): Keyword; + keyword(...from: XYZ): Keyword; + ansi16(from: XYZ): ANSI16; + ansi16(...from: XYZ): ANSI16; + ansi256(from: XYZ): ANSI256; + ansi256(...from: XYZ): ANSI256; + hcg(from: XYZ): HCG; + hcg(...from: XYZ): HCG; + apple(from: XYZ): Apple; + apple(...from: XYZ): Apple; + gray(from: XYZ): Gray; + gray(...from: XYZ): Gray; + }; + type lab = { + rgb(from: LAB): RGB; + rgb(...from: LAB): RGB; + hsl(from: LAB): HSL; + hsl(...from: LAB): HSL; + hsv(from: LAB): HSV; + hsv(...from: LAB): HSV; + hwb(from: LAB): HWB; + hwb(...from: LAB): HWB; + cmyk(from: LAB): CMYK; + cmyk(...from: LAB): CMYK; + xyz(from: LAB): XYZ; + xyz(...from: LAB): XYZ; + lch(from: LAB): LCH; + lch(...from: LAB): LCH; + hex(from: LAB): HEX; + hex(...from: LAB): HEX; + keyword(from: LAB): Keyword; + keyword(...from: LAB): Keyword; + ansi16(from: LAB): ANSI16; + ansi16(...from: LAB): ANSI16; + ansi256(from: LAB): ANSI256; + ansi256(...from: LAB): ANSI256; + hcg(from: LAB): HCG; + hcg(...from: LAB): HCG; + apple(from: LAB): Apple; + apple(...from: LAB): Apple; + gray(from: LAB): Gray; + gray(...from: LAB): Gray; + }; + type lch = { + rgb(from: LCH): RGB; + rgb(...from: LCH): RGB; + hsl(from: LCH): HSL; + hsl(...from: LCH): HSL; + hsv(from: LCH): HSV; + hsv(...from: LCH): HSV; + hwb(from: LCH): HWB; + hwb(...from: LCH): HWB; + cmyk(from: LCH): CMYK; + cmyk(...from: LCH): CMYK; + xyz(from: LCH): XYZ; + xyz(...from: LCH): XYZ; + lab(from: LCH): LAB; + lab(...from: LCH): LAB; + hex(from: LCH): HEX; + hex(...from: LCH): HEX; + keyword(from: LCH): Keyword; + keyword(...from: LCH): Keyword; + ansi16(from: LCH): ANSI16; + ansi16(...from: LCH): ANSI16; + ansi256(from: LCH): ANSI256; + ansi256(...from: LCH): ANSI256; + hcg(from: LCH): HCG; + hcg(...from: LCH): HCG; + apple(from: LCH): Apple; + apple(...from: LCH): Apple; + gray(from: LCH): Gray; + gray(...from: LCH): Gray; + }; + type hex = { + rgb(from: HEX): RGB; + hsl(from: HEX): HSL; + hsv(from: HEX): HSV; + hwb(from: HEX): HWB; + cmyk(from: HEX): CMYK; + xyz(from: HEX): XYZ; + lab(from: HEX): LAB; + lch(from: HEX): LCH; + keyword(from: HEX): Keyword; + ansi16(from: HEX): ANSI16; + ansi256(from: HEX): ANSI256; + hcg(from: HEX): HCG; + apple(from: HEX): Apple; + gray(from: HEX): Gray; + }; + type keyword = { + rgb(from: Keyword): RGB; + hsl(from: Keyword): HSL; + hsv(from: Keyword): HSV; + hwb(from: Keyword): HWB; + cmyk(from: Keyword): CMYK; + xyz(from: Keyword): XYZ; + lab(from: Keyword): LAB; + lch(from: Keyword): LCH; + hex(from: Keyword): HEX; + ansi16(from: Keyword): ANSI16; + ansi256(from: Keyword): ANSI256; + hcg(from: Keyword): HCG; + apple(from: Keyword): Apple; + gray(from: Keyword): Gray; + }; + type ansi16 = { + rgb(from: ANSI16): RGB; + hsl(from: ANSI16): HSL; + hsv(from: ANSI16): HSV; + hwb(from: ANSI16): HWB; + cmyk(from: ANSI16): CMYK; + xyz(from: ANSI16): XYZ; + lab(from: ANSI16): LAB; + lch(from: ANSI16): LCH; + hex(from: ANSI16): HEX; + keyword(from: ANSI16): Keyword; + ansi256(from: ANSI16): ANSI256; + hcg(from: ANSI16): HCG; + apple(from: ANSI16): Apple; + gray(from: ANSI16): Gray; + }; + type ansi256 = { + rgb(from: ANSI256): RGB; + hsl(from: ANSI256): HSL; + hsv(from: ANSI256): HSV; + hwb(from: ANSI256): HWB; + cmyk(from: ANSI256): CMYK; + xyz(from: ANSI256): XYZ; + lab(from: ANSI256): LAB; + lch(from: ANSI256): LCH; + hex(from: ANSI256): HEX; + keyword(from: ANSI256): Keyword; + ansi16(from: ANSI256): ANSI16; + hcg(from: ANSI256): HCG; + apple(from: ANSI256): Apple; + gray(from: ANSI256): Gray; + }; + type hcg = { + rgb(from: HCG): RGB; + rgb(...from: HCG): RGB; + hsl(from: HCG): HSL; + hsl(...from: HCG): HSL; + hsv(from: HCG): HSV; + hsv(...from: HCG): HSV; + hwb(from: HCG): HWB; + hwb(...from: HCG): HWB; + cmyk(from: HCG): CMYK; + cmyk(...from: HCG): CMYK; + xyz(from: HCG): XYZ; + xyz(...from: HCG): XYZ; + lab(from: HCG): LAB; + lab(...from: HCG): LAB; + lch(from: HCG): LCH; + lch(...from: HCG): LCH; + hex(from: HCG): HEX; + hex(...from: HCG): HEX; + keyword(from: HCG): Keyword; + keyword(...from: HCG): Keyword; + ansi16(from: HCG): ANSI16; + ansi16(...from: HCG): ANSI16; + ansi256(from: HCG): ANSI256; + ansi256(...from: HCG): ANSI256; + apple(from: HCG): Apple; + apple(...from: HCG): Apple; + gray(from: HCG): Gray; + gray(...from: HCG): Gray; + }; + type apple = { + rgb(from: Apple): RGB; + rgb(...from: Apple): RGB; + hsl(from: Apple): HSL; + hsl(...from: Apple): HSL; + hsv(from: Apple): HSV; + hsv(...from: Apple): HSV; + hwb(from: Apple): HWB; + hwb(...from: Apple): HWB; + cmyk(from: Apple): CMYK; + cmyk(...from: Apple): CMYK; + xyz(from: Apple): XYZ; + xyz(...from: Apple): XYZ; + lab(from: Apple): LAB; + lab(...from: Apple): LAB; + lch(from: Apple): LCH; + lch(...from: Apple): LCH; + hex(from: Apple): HEX; + hex(...from: Apple): HEX; + keyword(from: Apple): Keyword; + keyword(...from: Apple): Keyword; + ansi16(from: Apple): ANSI16; + ansi16(...from: Apple): ANSI16; + ansi256(from: Apple): ANSI256; + ansi256(...from: Apple): ANSI256; + hcg(from: Apple): HCG; + hcg(...from: Apple): HCG; + gray(from: Apple): Gray; + gray(...from: Apple): Gray; + }; + type gray = { + rgb(from: Gray): RGB; + rgb(...from: Gray): RGB; + hsl(from: Gray): HSL; + hsl(...from: Gray): HSL; + hsv(from: Gray): HSV; + hsv(...from: Gray): HSV; + hwb(from: Gray): HWB; + hwb(...from: Gray): HWB; + cmyk(from: Gray): CMYK; + cmyk(...from: Gray): CMYK; + xyz(from: Gray): XYZ; + xyz(...from: Gray): XYZ; + lab(from: Gray): LAB; + lab(...from: Gray): LAB; + lch(from: Gray): LCH; + lch(...from: Gray): LCH; + hex(from: Gray): HEX; + hex(...from: Gray): HEX; + keyword(from: Gray): Keyword; + keyword(...from: Gray): Keyword; + ansi16(from: Gray): ANSI16; + ansi16(...from: Gray): ANSI16; + ansi256(from: Gray): ANSI256; + ansi256(...from: Gray): ANSI256; + hcg(from: Gray): HCG; + hcg(...from: Gray): HCG; + apple(from: Gray): Apple; + apple(...from: Gray): Apple; + }; +} +declare function route(fromModel: "rgb"): route.rgb; +declare function route(fromModel: "hsl"): route.hsl; +declare function route(fromModel: "hsv"): route.hsv; +declare function route(fromModel: "hwb"): route.hwb; +declare function route(fromModel: "cmyk"): route.cmyk; +declare function route(fromModel: "xyz"): route.xyz; +declare function route(fromModel: "lab"): route.lab; +declare function route(fromModel: "lch"): route.lch; +declare function route(fromModel: "hex"): route.hex; +declare function route(fromModel: "keyword"): route.keyword; +declare function route(fromModel: "ansi16"): route.ansi16; +declare function route(fromModel: "ansi256"): route.ansi256; +declare function route(fromModel: "hcg"): route.hcg; +declare function route(fromModel: "apple"): route.apple; +declare function route(fromModel: "gray"): route.gray; +type Convert = { + rgb: { + channels: Channels; + labels: "rgb"; + hsl: { + (...rgb: RGB): HSL; + raw: (...rgb: RGB) => HSL; + }; + hsv: { + (...rgb: RGB): HSV; + raw: (...rgb: RGB) => HSV; + }; + hwb: { + (...rgb: RGB): HWB; + raw: (...rgb: RGB) => HWB; + }; + hcg: { + (...rgb: RGB): HCG; + raw: (...rgb: RGB) => HCG; + }; + cmyk: { + (...rgb: RGB): CMYK; + raw: (...rgb: RGB) => CMYK; + }; + keyword: { + (...rgb: RGB): Keyword; + raw: (...rgb: RGB) => Keyword; + }; + ansi16: { + (...rgb: RGB): ANSI16; + raw: (...rgb: RGB) => ANSI16; + }; + ansi256: { + (...rgb: RGB): ANSI256; + raw: (...rgb: RGB) => ANSI256; + }; + apple: { + (...rgb: RGB): Apple; + raw: (...rgb: RGB) => Apple; + }; + hex: { + (...rgb: RGB): HEX; + raw: (...rgb: RGB) => HEX; + }; + gray: { + (...rgb: RGB): Gray; + raw: (...rgb: RGB) => Gray; + }; + } & route.rgb & { + [F in keyof route.rgb]: { + raw: route.rgb[F]; + }; + }; + keyword: { + channels: Channels; + rgb: { + (keyword: Keyword): RGB; + raw: (keyword: Keyword) => RGB; + }; + } & route.keyword & { + [F in keyof route.keyword]: { + raw: route.keyword[F]; + }; + }; + hsl: { + channels: Channels; + labels: "hsl"; + rgb: { + (...hsl: HSL): RGB; + raw: (...hsl: HSL) => RGB; + }; + hsv: { + (...hsl: HSL): HSV; + raw: (...hsl: HSL) => HSV; + }; + hcg: { + (...hsl: HSL): HCG; + raw: (...hsl: HSL) => HCG; + }; + } & route.hsl & { + [F in keyof route.hsl]: { + raw: route.hsl[F]; + }; + }; + hsv: { + channels: Channels; + labels: "hsv"; + hcg: { + (...hsv: HSV): HCG; + raw: (...hsv: HSV) => HCG; + }; + rgb: { + (...hsv: HSV): RGB; + raw: (...hsv: HSV) => RGB; + }; + hsv: { + (...hsv: HSV): HSV; + raw: (...hsv: HSV) => HSV; + }; + hsl: { + (...hsv: HSV): HSL; + raw: (...hsv: HSV) => HSL; + }; + hwb: { + (...hsv: HSV): HWB; + raw: (...hsv: HSV) => HWB; + }; + ansi16: { + (...hsv: HSV): ANSI16; + raw: (...hsv: HSV) => ANSI16; + }; + } & route.hsv & { + [F in keyof route.hsv]: { + raw: route.hsv[F]; + }; + }; + hwb: { + channels: Channels; + labels: "hwb"; + hcg: { + (...hwb: HWB): HCG; + raw: (...hwb: HWB) => HCG; + }; + rgb: { + (...hwb: HWB): RGB; + raw: (...hwb: HWB) => RGB; + }; + } & route.hwb & { + [F in keyof route.hwb]: { + raw: route.hwb[F]; + }; + }; + cmyk: { + channels: Channels; + labels: "cmyk"; + rgb: { + (...cmyk: CMYK): RGB; + raw: (...cmyk: CMYK) => RGB; + }; + } & route.cmyk & { + [F in keyof route.cmyk]: { + raw: route.cmyk[F]; + }; + }; + xyz: { + channels: Channels; + labels: "xyz"; + rgb: { + (...xyz: XYZ): RGB; + raw: (...xyz: XYZ) => RGB; + }; + lab: { + (...xyz: XYZ): LAB; + raw: (...xyz: XYZ) => LAB; + }; + } & route.xyz & { + [F in keyof route.xyz]: { + raw: route.xyz[F]; + }; + }; + lab: { + channels: Channels; + labels: "lab"; + xyz: { + (...lab: LAB): XYZ; + raw: (...lab: LAB) => XYZ; + }; + lch: { + (...lab: LAB): LCH; + raw: (...lab: LAB) => LCH; + }; + } & route.lab & { + [F in keyof route.lab]: { + raw: route.lab[F]; + }; + }; + lch: { + channels: Channels; + labels: "lch"; + lab: { + (...lch: LCH): LAB; + raw: (...lch: LCH) => LAB; + }; + } & route.lch & { + [F in keyof route.lch]: { + raw: route.lch[F]; + }; + }; + hex: { + channels: Channels; + labels: [ + "hex" + ]; + rgb: { + (hex: HEX): RGB; + raw: (hex: HEX) => RGB; + }; + } & route.hex & { + [F in keyof route.hex]: { + raw: route.hex[F]; + }; + }; + ansi16: { + channels: Channels; + labels: [ + "ansi16" + ]; + rgb: { + (ansi16: ANSI16): RGB; + raw: (ansi16: ANSI16) => RGB; + }; + } & route.ansi16 & { + [F in keyof route.ansi16]: { + raw: route.ansi16[F]; + }; + }; + ansi256: { + channels: Channels; + labels: [ + "ansi256" + ]; + rgb: { + (ansi256: ANSI256): RGB; + raw: (ansi256: ANSI256) => RGB; + }; + } & route.ansi256 & { + [F in keyof route.ansi256]: { + raw: route.ansi256[F]; + }; + }; + hcg: { + channels: Channels; + labels: [ + "h", + "c", + "g" + ]; + rgb: { + (...hcg: HCG): RGB; + raw: (...hcg: HCG) => RGB; + }; + hsv: { + (...hcg: HCG): HSV; + raw: (...hcg: HCG) => HSV; + }; + hwb: { + (...hcg: HCG): HWB; + raw: (...hcg: HCG) => HWB; + }; + } & route.hcg & { + [F in keyof route.hcg]: { + raw: route.hcg[F]; + }; + }; + apple: { + channels: Channels; + labels: [ + "r16", + "g16", + "b16" + ]; + rgb: { + (...apple: Apple): RGB; + raw: (...apple: Apple) => RGB; + }; + } & route.apple & { + [F in keyof route.apple]: { + raw: route.apple[F]; + }; + }; + gray: { + channels: Channels; + labels: [ + "gray" + ]; + rgb: { + (...gray: Gray): RGB; + raw: (...gray: Gray) => RGB; + }; + hsl: { + (...gray: Gray): HSL; + raw: (...gray: Gray) => HSL; + }; + hsv: { + (...gray: Gray): HSV; + raw: (...gray: Gray) => HSV; + }; + hwb: { + (...gray: Gray): HWB; + raw: (...gray: Gray) => HWB; + }; + cmyk: { + (...gray: Gray): CMYK; + raw: (...gray: Gray) => CMYK; + }; + lab: { + (...gray: Gray): LAB; + raw: (...gray: Gray) => LAB; + }; + hex: { + (...gray: Gray): HEX; + raw: (...gray: Gray) => HEX; + }; + } & route.gray & { + [F in keyof route.gray]: { + raw: route.gray[F]; + }; + }; +}; +declare const convert: Convert; +export type ColorLike = ColorInstance | string | ArrayLike | number | Record; +export type ColorJson = { + model: string; + color: number[]; + valpha: number; +}; +export type ColorObject = { + alpha?: number | undefined; +} & Record; +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export interface ColorInstance { + toString(): string; + // eslint-disable-next-line @typescript-eslint/naming-convention + toJSON(): ColorJson; + string(places?: number): string; + percentString(places?: number): string; + array(): number[]; + object(): ColorObject; + unitArray(): number[]; + unitObject(): { + r: number; + g: number; + b: number; + alpha?: number | undefined; + }; + round(places?: number): ColorInstance; + alpha(): number; + alpha(value: number): ColorInstance; + red(): number; + red(value: number): ColorInstance; + green(): number; + green(value: number): ColorInstance; + blue(): number; + blue(value: number): ColorInstance; + hue(): number; + hue(value: number): ColorInstance; + saturationl(): number; + saturationl(value: number): ColorInstance; + lightness(): number; + lightness(value: number): ColorInstance; + saturationv(): number; + saturationv(value: number): ColorInstance; + value(): number; + value(value: number): ColorInstance; + chroma(): number; + chroma(value: number): ColorInstance; + gray(): number; + gray(value: number): ColorInstance; + white(): number; + white(value: number): ColorInstance; + wblack(): number; + wblack(value: number): ColorInstance; + cyan(): number; + cyan(value: number): ColorInstance; + magenta(): number; + magenta(value: number): ColorInstance; + yellow(): number; + yellow(value: number): ColorInstance; + black(): number; + black(value: number): ColorInstance; + x(): number; + x(value: number): ColorInstance; + y(): number; + y(value: number): ColorInstance; + z(): number; + z(value: number): ColorInstance; + l(): number; + l(value: number): ColorInstance; + a(): number; + a(value: number): ColorInstance; + b(): number; + b(value: number): ColorInstance; + keyword(): string; + keyword(value: V): ColorInstance; + hex(): string; + hex(value: V): ColorInstance; + hexa(): string; + hexa(value: V): ColorInstance; + rgbNumber(): number; + luminosity(): number; + contrast(color2: ColorInstance): number; + level(color2: ColorInstance): "AAA" | "AA" | ""; + isDark(): boolean; + isLight(): boolean; + negate(): ColorInstance; + lighten(ratio: number): ColorInstance; + darken(ratio: number): ColorInstance; + saturate(ratio: number): ColorInstance; + desaturate(ratio: number): ColorInstance; + whiten(ratio: number): ColorInstance; + blacken(ratio: number): ColorInstance; + grayscale(): ColorInstance; + fade(ratio: number): ColorInstance; + opaquer(ratio: number): ColorInstance; + rotate(degrees: number): ColorInstance; + mix(mixinColor: ColorInstance, weight?: number): ColorInstance; + rgb(...arguments_: number[]): ColorInstance; + hsl(...arguments_: number[]): ColorInstance; + hsv(...arguments_: number[]): ColorInstance; + hwb(...arguments_: number[]): ColorInstance; + cmyk(...arguments_: number[]): ColorInstance; + xyz(...arguments_: number[]): ColorInstance; + lab(...arguments_: number[]): ColorInstance; + lch(...arguments_: number[]): ColorInstance; + ansi16(...arguments_: number[]): ColorInstance; + ansi256(...arguments_: number[]): ColorInstance; + hcg(...arguments_: number[]): ColorInstance; + apple(...arguments_: number[]): ColorInstance; +} +export type ColorConstructor = { + (object?: ColorLike, model?: keyof (typeof convert)): ColorInstance; + new (object?: ColorLike, model?: keyof (typeof convert)): ColorInstance; + rgb(...value: number[]): ColorInstance; + rgb(color: ColorLike): ColorInstance; + hsl(...value: number[]): ColorInstance; + hsl(color: ColorLike): ColorInstance; + hsv(...value: number[]): ColorInstance; + hsv(color: ColorLike): ColorInstance; + hwb(...value: number[]): ColorInstance; + hwb(color: ColorLike): ColorInstance; + cmyk(...value: number[]): ColorInstance; + cmyk(color: ColorLike): ColorInstance; + xyz(...value: number[]): ColorInstance; + xyz(color: ColorLike): ColorInstance; + lab(...value: number[]): ColorInstance; + lab(color: ColorLike): ColorInstance; + lch(...value: number[]): ColorInstance; + lch(color: ColorLike): ColorInstance; + ansi16(...value: number[]): ColorInstance; + ansi16(color: ColorLike): ColorInstance; + ansi256(...value: number[]): ColorInstance; + ansi256(color: ColorLike): ColorInstance; + hcg(...value: number[]): ColorInstance; + hcg(color: ColorLike): ColorInstance; + apple(...value: number[]): ColorInstance; + apple(color: ColorLike): ColorInstance; +}; +// eslint-disable-next-line @typescript-eslint/naming-convention +declare const Color: ColorConstructor; + +export { + Color as default, +}; + +export {}; diff --git a/apps/api/.output/node_modules/@img/colour/package.json b/apps/api/.output/node_modules/@img/colour/package.json new file mode 100644 index 0000000..38887d1 --- /dev/null +++ b/apps/api/.output/node_modules/@img/colour/package.json @@ -0,0 +1,58 @@ +{ + "name": "@img/colour", + "version": "1.1.0", + "description": "The ESM-only 'color' package made compatible for use with CommonJS runtimes", + "license": "MIT", + "main": "index.cjs", + "types": "index.d.ts", + "exports": { + ".": { + "types": "./index.d.ts", + "require": "./index.cjs", + "default": "./index.cjs" + }, + "./package.json": "./package.json" + }, + "authors": [ + "Heather Arthur ", + "Josh Junon ", + "Maxime Thirouin", + "Dyma Ywanov ", + "LitoMore (https://github.com/LitoMore)" + ], + "engines": { + "node": ">=18" + }, + "files": [ + "color.cjs", + "index.d.ts" + ], + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/colour.git" + }, + "type": "commonjs", + "keywords": [ + "color", + "colour", + "cjs", + "commonjs" + ], + "scripts": { + "build:cjs": "esbuild node_modules/color/index.js --bundle --platform=node --outfile=color.cjs", + "build:dts": "dts-bundle-generator ./dts-src.ts -o index.d.ts --project tsconfig.build.json --external-inlines color --external-inlines color-convert --export-referenced-types=false", + "build": "npm run build:cjs && npm run build:dts", + "test": "node --test" + }, + "devDependencies": { + "color": "5.0.3", + "color-convert": "3.1.3", + "color-name": "2.1.0", + "color-string": "2.1.4", + "dts-bundle-generator": "^9.5.1", + "esbuild": "^0.27.3" + } +} diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md new file mode 100644 index 0000000..df8cd0e --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md @@ -0,0 +1,46 @@ +# `@img/sharp-libvips-linuxmusl-x64` + +Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64. + +## Licensing + +This software contains third-party libraries +used under the terms of the following licenses: + +| Library | Used under the terms of | +|---------------|-----------------------------------------------------------------------------------------------------------| +| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | +| cairo | Mozilla Public License 1.1 | +| cgif | MIT License | +| expat | MIT License | +| fontconfig | [fontconfig License](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | +| freetype | [freetype License](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) | +| fribidi | LGPLv3 | +| glib | LGPLv3 | +| harfbuzz | MIT License | +| highway | BSD 3-Clause | +| lcms | MIT License | +| libarchive | BSD 2-Clause | +| libexif | LGPLv3 | +| libffi | MIT License | +| libheif | LGPLv3 | +| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | +| libnsgif | MIT License | +| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) | +| librsvg | LGPLv3 | +| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) | +| libultrahdr | MIT License | +| libvips | LGPLv3 | +| libwebp | New BSD License | +| libxml2 | MIT License | +| mozjpeg | [zlib License, IJG License, BSD 3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | +| pango | LGPLv3 | +| pixman | MIT License | +| proxy-libintl | LGPLv3 | +| zlib-ng | [zlib License](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) | + +Use of libraries under the terms of the LGPLv3 is via the +"any later version" clause of the LGPLv2 or LGPLv2.1. + +Please report any errors or omissions via +https://github.com/lovell/sharp-libvips/issues/new diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h new file mode 100644 index 0000000..0c049d4 --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h @@ -0,0 +1,219 @@ +/* glibconfig.h + * + * This is a generated file. Please modify 'glibconfig.h.in' + */ + +#ifndef __GLIBCONFIG_H__ +#define __GLIBCONFIG_H__ + +#include + +#include +#include +#define GLIB_HAVE_ALLOCA_H + +#define GLIB_STATIC_COMPILATION 1 +#define GOBJECT_STATIC_COMPILATION 1 +#define GIO_STATIC_COMPILATION 1 +#define GMODULE_STATIC_COMPILATION 1 +#define GI_STATIC_COMPILATION 1 + +/* Specifies that GLib's g_print*() functions wrap the + * system printf functions. This is useful to know, for example, + * when using glibc's register_printf_function(). + */ +#define GLIB_USING_SYSTEM_PRINTF + +G_BEGIN_DECLS + +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX + +typedef signed char gint8; +typedef unsigned char guint8; + +typedef signed short gint16; +typedef unsigned short guint16; + +#define G_GINT16_MODIFIER "h" +#define G_GINT16_FORMAT "hi" +#define G_GUINT16_FORMAT "hu" + + +typedef signed int gint32; +typedef unsigned int guint32; + +#define G_GINT32_MODIFIER "" +#define G_GINT32_FORMAT "i" +#define G_GUINT32_FORMAT "u" + + +#define G_HAVE_GINT64 1 /* deprecated, always true */ + +typedef signed long gint64; +typedef unsigned long guint64; + +#define G_GINT64_CONSTANT(val) (val##L) +#define G_GUINT64_CONSTANT(val) (val##UL) + +#define G_GINT64_MODIFIER "l" +#define G_GINT64_FORMAT "li" +#define G_GUINT64_FORMAT "lu" + + +#define GLIB_SIZEOF_VOID_P 8 +#define GLIB_SIZEOF_LONG 8 +#define GLIB_SIZEOF_SIZE_T 8 +#define GLIB_SIZEOF_SSIZE_T 8 + +typedef signed long gssize; +typedef unsigned long gsize; +#define G_GSIZE_MODIFIER "l" +#define G_GSSIZE_MODIFIER "l" +#define G_GSIZE_FORMAT "lu" +#define G_GSSIZE_FORMAT "li" + +#define G_MAXSIZE G_MAXULONG +#define G_MINSSIZE G_MINLONG +#define G_MAXSSIZE G_MAXLONG + +typedef gint64 goffset; +#define G_MINOFFSET G_MININT64 +#define G_MAXOFFSET G_MAXINT64 + +#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER +#define G_GOFFSET_FORMAT G_GINT64_FORMAT +#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) + +#define G_POLLFD_FORMAT "%d" + +#define GPOINTER_TO_INT(p) ((gint) (glong) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) + +typedef signed long gintptr; +typedef unsigned long guintptr; + +#define G_GINTPTR_MODIFIER "l" +#define G_GINTPTR_FORMAT "li" +#define G_GUINTPTR_FORMAT "lu" + +#define GLIB_MAJOR_VERSION 2 +#define GLIB_MINOR_VERSION 90 +#define GLIB_MICRO_VERSION 0 + +#define G_OS_UNIX + +#define G_VA_COPY va_copy + +#define G_VA_COPY_AS_ARRAY 1 + +#define G_HAVE_ISO_VARARGS 1 + +/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work + * around to turn it on, so we unconditionally turn it off. + */ +#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 +# undef G_HAVE_ISO_VARARGS +#endif + +#define G_HAVE_GROWING_STACK 0 + +#ifndef _MSC_VER +# define G_HAVE_GNUC_VARARGS 1 +#endif + +#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define G_GNUC_INTERNAL __hidden +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +#define G_GNUC_INTERNAL +#endif + +#define G_THREADS_ENABLED +#define G_THREADS_IMPL_POSIX + +#define G_ATOMIC_LOCK_FREE + +#define GINT16_TO_LE(val) ((gint16) (val)) +#define GUINT16_TO_LE(val) ((guint16) (val)) +#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) +#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) + +#define GINT32_TO_LE(val) ((gint32) (val)) +#define GUINT32_TO_LE(val) ((guint32) (val)) +#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) +#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) + +#define GINT64_TO_LE(val) ((gint64) (val)) +#define GUINT64_TO_LE(val) ((guint64) (val)) +#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) +#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) + +#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) +#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) +#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) +#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) +#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) +#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) +#define G_BYTE_ORDER G_LITTLE_ENDIAN + +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLNVAL =32 + +/* No way to disable deprecation warnings for macros, so only emit deprecation + * warnings on platforms where usage of this macro is broken */ +#if defined(__APPLE__) || defined(_MSC_VER) || defined(__CYGWIN__) +#define G_MODULE_SUFFIX "so" GLIB_DEPRECATED_MACRO_IN_2_76 +#else +#define G_MODULE_SUFFIX "so" +#endif + +typedef int GPid; +#define G_PID_FORMAT "i" + +#define GLIB_SYSDEF_AF_UNIX 1 +#define GLIB_SYSDEF_AF_INET 2 +#define GLIB_SYSDEF_AF_INET6 10 + +#define GLIB_SYSDEF_MSG_OOB 1 +#define GLIB_SYSDEF_MSG_PEEK 2 +#define GLIB_SYSDEF_MSG_DONTROUTE 4 + +#define G_DIR_SEPARATOR '/' +#define G_DIR_SEPARATOR_S "/" +#define G_SEARCHPATH_SEPARATOR ':' +#define G_SEARCHPATH_SEPARATOR_S ":" + +#undef G_HAVE_FREE_SIZED + +G_END_DECLS + +#endif /* __GLIBCONFIG_H__ */ diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js new file mode 100644 index 0000000..5092b4d --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js @@ -0,0 +1 @@ +module.exports = __dirname; diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 new file mode 100644 index 0000000000000000000000000000000000000000..dad50d3437ac771b5df688a145c6f048765976c4 GIT binary patch literal 18911144 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 z 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

0!g!wZ~lz+Fo@ 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

izm8e4CG~Ck21)WAik9 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

c$ACEpd#%6G#H^1bk~{3m!# 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

VG4p0$-U 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

Ci(zhWCZLR}q1E~&x8 zIP6oogw~16+3~9R7kL<3^Q$#KsuS0zGSh}xdXim1sD7`dOHD;GNuOF2r98LMl1a~E`Np1WYuc`^%)e}D+*t4(Un4_IJJRckh5jV%>x zZ1HWeU9+u~>umAOIpCVZDRH(+hFKHrJMsF~sAQdNZtHfr!2e8(b zE7#gA##&o`WUZ}=(Bs8mz>($rEeMWQaU7??4ixe2x)=@650CN07zCe!V^#@`og6#5 zSU);KG3zJC5(?s@PLAbJ{GpR$3Da%{p7`kld2-Cx{urdf>BGU}H#j<0o`{8bZ6YRI z%t3NmIWGRQ_(A>LSX&^1{})Vp%S1n}>2qU~Um6FboJf2!(@L8oJ_MQu=f)BmJvTNF zpiQ3}tHa@Gcyn|ri%V2*6X(XB)}b1n8;iq|zs&XE+}QWc*%9O1*t8TL8tW#-ob~#W z{q!K-m<104r~2;2(8TEOnz5dxK9=IxNY)BCAN3B6UD5p@K-zq&$@TVo35mTxtRG_> z5ei|i&&Q?&$jo!D6H|GO9U8N~t;=?PNVexX6{L*f0d9E+h^sqJZ#(0}SSNX6EM@v+ z{lplo2Hb+}dD{2Eq(A~Yx}43a%er4L|BI6+#)eCw;>6hIx{v6V64+$IWV^76gK)G>kLa_92i6AD8*n>TlDOI zeqd~eabWB{G|=RMF>)>Xz}Wncq;5PuL)VP~%cX8uZdo{pbfAQTh?Hkpkn8HkKPH%!ibDE2SzR`8fc?OT{h-H+W! zkwPP3Y^0!X3+3%C6C>PB!5IK?9=5wQxtju!hq0T2UUSpCDWWHVdRr+{9-IQ(b02rt z>-#D0W7v(9ewnzmPxNv-EPl*Z3Yz>h?x%poFFlw*i;oi!%= zDh>T$-OzvZz!VH*EVvh>z|iB*z=3Bp^#5&B#RR~S$NX)4&HYfUv)Jf7kEj$|tGH`s zvy}H=ndb)pvi>~JgP%3x^rwcrAJpZ2zm#{A^L(4`n07{=?~%Q~4ZA!s--~+lz4?czY2R4E z>zE~{{m`7RcJjy0`JC<@H9L5OmcezhKIbRPIbWadIng5wz?2_7(c3?JNXkE@AX!fI zhrz?YGSN=}oRmL)3xaTxxmd& z(U)I51cXSW{faqPo-g!Umy))uj}}WqR5uky1bf0h`a&9_D!hv8mew;Uq=1P+7|t{~ zb}{9Ib?m#ptYgxdsOL-SI`+(xSRK3X|4_%ce=_hVItJaUc9?M_ArG88sn+aLCvK$! z*;Y8h4rCr2NN3!nw$)M_p_RHavRL;kxtLDBa@9>#uwbl$CBmtM{eWdd%uWT{?wGi} zp>8FHbSqKnmQ+B0hHhY{tcq2z`C#B*Q7{YOs2BWgQo-h}swaPD_GF^Cv7LEeN%><= ziQbvlXe@C(AY*Mzwme*3BcA!_!I;f?L!|uwZ#UPfTOti+xUF) zJlxQxoCi79V|HQk@-VqY>%Ypndn2;e{fDfZl$Bj)P=g{(h5*qE#j z-uPE#{a+o2u&{B>FooS44MsZ;?}1@|Mc7>dM`81~abdp;zw)mO`-{IU>}whddsQJ= zE@zQSb8+pDpt$1`dO2sRo<_D- z%XH67aWCK~VE#5P;63ornn)5}Ga-^B+&hCuHIbY_o|?OEXTKY&CQsDxpl9!I*MUal z`Q;ISgsSnZEwe949$DL{+80%EdNvLx^VPT>2q2N-nv*;ZdE#TriVaR*{CSRGiRuZ) zPfJEi&dg1&fddw{xAecMJ;&}sFTo8W;7Ut}p1Gp4$4TAC7c&E~Lum4MY;)&wYBk?)fUe8`!ZFdF- zXLe!bxet^!VbHX7_8&P z_z+G2|Dqe9c&8cXe|I8KjnC80;x8(3$6|H8SO~dKSR8qy&Jo;~#%1Yv-mK#6REo7* zwF?+hp?2A*rf+w4!V&K}>(u__6;|naTU5<1hp+nuI89Y;U)VlT4i`@ejw6&Hcv9fo zCRz)B54yTzXcaWOQ=G1wF44=&)%3B|&j9Wyff;36@Hdlea@5Fgp9Jj-T6eTBa3)$2 zYvr0wDRY`*CmfOsDeBc&&)`ZEat5l^-xkZHB(2n+g;S+`DcuuSka&l@jsvIC3g+B_ zD+Wq8d~MYNo90T>%lQ@BPCi8+wA1ZVf)crJ1)JE3c5TOhacOP=|t>g{D) z#k*jjIKd=W6^0r{UcOVCC7jv>#1a!~Rmg!OQC|+9V9|GkYIk5E?e1jI*O{?#ICMTn zjvx?2mV%U~s2)Ge;tMp3jRiPs<++nXIXH+TuiQ~qth0BjRL%0d9{Z8z=&~`-`(Pv5 zLeh;*Zh>pKSGK(^VkUpgSViA=aLqjs}=Vg2CyouUcX?QpJrJOf64AYEmS=jfAkg zdH}1AoMNul7s7%`xkq3fr=r*8tx78fJAqaq=31~kVH6J&Pp4y2_26tESLiPTn{df$Lw|Y`KTC!)|GteizGe^DwM()fQUiHqSjJlae0+ zq@deqW-b%OyKlon^R|3mw;;Vn- zcO3rHq^<{s}A_QSN9*PJ|xi&Bz8_ZR!}&DF{$?XWcx zqgE@EJ5~Ge)`SjPMd|TNJ%`M`hl98P3+-hqf3M88)VRK#`#ZMS;PsgbF1TiAE6-MD zr_>aeWGnx`4HPx*_jLfJXgNMh5VtkQ$JOiX>Kx^h>)kH|;;<7CSGSj-%oIbvH!df$ z+I>^u>=Kim4l6F|%B{qm73ipb*96Af*BZ)kbqJ~=0cF@Z5X3$-OR4^c^pKn!TOvo+K3tv=Omahc zVXZJvfT5UA0%Lh?QJ&G}bjP1JG)Fe%?t|m@a)&}{pu3##@%J6#Iq&>Gti1_9lvNiu zJ|rYm_F!dUD-{;BqHT~`j6u!VP_$^aShktjW(rBKq3AHm(=|~i;4>d zqJox++JbGMmfmSBuzCfn*ZKc`=RPyc!0>*3@As#i=Xvfu_ndRjJ@?#mcPv`y6F3=1 zv<41GD;Vr^TR;M%&K3PRfL+dc^*A6b@@!E~+ee(pTRS>bzrymBb5m2L_R>@xqw8)3 z>np#l+S&>hj^)@97W|-I9*T8YmbsBl=`Ni6?eY$uxRW)xUplhGMHh#1v6O8_56tCk zh5+g*=@5NlKd5L>X-R!YeOeogCGYp7T{Hv@I`n+>JOpDb+)NxoRHRJQU(6&LS+?sp>%;qD$ z9x%CAB|7U426CKxTg@hKWJ3V=dW?hwN*Ylz`+cE<8F?vFGgCBuzpzQvNh6KGiPPO;5y7jS@NhV#=|?6Yrjm-7zTN#(p)=C zj|`4@r*e@ZzD7`1-l=*Gnx`0F#^R|wOr_j24#`~JN5{Fmw-*D1#u!q?zKc?%a{v;n z=yT*TkCw1-u*>_wd;Vr`>@i?KE4oEavn2SbB9PHD`Xm5UL;4o20 zASQsz`!+Qay9!+9f-K@Lc6papBgkb295p)=1oiJ|oN&N>HJCEW`T;!;K=v&v1=~^W z1Mk5baHa43(^+*JWE=aK&s49^G=AuNhR(1@E z03=%x>%8v(T(y#NoF}StOhaUpT?0Bi*kuktqVnsg!@LI0-Ux0)MssvV3;4*$pKD~~ zRXBXJ$|c`J;XL@p0n|u7!pN943U6Ssfx^fTVPp(7b2Czbg;7JW3@Rht;q@>DBeLv9 z`V~1?Mlud5ax-$SGVjVL7-|+~j2LR(k}(Pk?#I#6-ssAHpuF%php&pf(Dz@SSPT#R z9<14%h&8vjjk3F^q$11Qi~-AE@AOTClT*baQWXHjrjB}$<+uNIz=VnfmHL6weDADM zO3*upUTVJAQy~xEY&;xwYXKg#yGv}r!mC{7$af73jOD(}ky^ z0<4}Hk?*}5Je8yd3y*X9aGHVUT*V77vzUuO5-v5U!we!NR#X8&4QBneQ;GW&@RxoHyI(?a?JtHG(XeRh1Iqaq!XGGoKG# z2q01|Afo1|^>gtBrD>2yRiixSH50@;D~Ifvvs(3+O@Flu$SfQDF_$?fQ63(>5zCi? zFQjv5$W-}Sq-*RVu92pd(IBjp_{x$mG}h*#9KP0hk`V#XL-w8&ye8_`)Q(W9k_9lP z1Asauq2?@yroh?&3I+1DC{w-`jo_C#Ym^1TjG42>$QLhXSu{?^7wh-}jiOY4jnH4^ z`m0!fRp84zYYY&Xvu5MH-19PiP2U{+8jF475K->qI(Rvh#Iq1@$XPWWC`D$n-g-qb zZ6jEQrvZ<04=*;Z^ZbNgX3K?Az$*maj)yb?Fm+NszJ$-qcmjrp<- z%XC8wi(Hjt=7WcPxGwpn;r1FDBAM~sfo}JRAU1bi>@w#u$f5I>=Rr4@8lT^d!HNZ>yKfE^92!#A>m z4Yh9(X{hhwVZj&YRSd#;E@@yDUchXJ*C+J7vm_T8tBh$U_9puCAz4WVJqc&HpH-=%NS<^&eB*=e13ioxyTJ#Xl5fY7yQ7vk;{L$i@2X45-4v`u8SSp( zv407MJA>7k_ISbJp%#efBKlXCl@2=HW|XBNzs}%lS9WvJ&;C*X>pT%yB}L?^08uV) z(d=BawMHeP>1oI{+iF^p^Ub}^8h@(2Y6zJ)2uv7@MQ6dX`BhG4TTWKnBjbKER{WY% zdZ5R|(cu1^NbbQT_QSDG7-e?sx5zUVU*!KVNs5HqZE!PIt{D_U`$SJca+P!h&4E;l;lQ&ia!TZw|4gY z9a3vOB!hKgd8MRvglJ0%8ZWH{Umet;1t((D$bXgCKuW9u+c#+KLl|a7VE7hi;{8_) z=M%$|z+kW9+4=rSMCSR%~P5*Hah8O#E_uAn28hi>!H^T_QNz-OMiTBn zKWY#{mb;#*YDExoT+F;PfX8O@IDT4UNz;0;6B;X1Wj>eO~!r}9cMo{35&4z#`M z5|GU;uhKPYm;Wpf=kR*lW=CB8mA=DH=TM#Li?B~H8eGTO7@Qb3f_tF;Vg$AGY(XrJ zfLPxF!KTiFm>B^vzXO789-0@2Pfpx3dLu9GVM7#QA6(|$rOui?iLm|JK%^os+|@T0 z4vbi1?T0$HHp2$f_}WYV$XNy;8-{UF8FCy({winE+7317WatI}6uu2>SfG!+Y7joz z9|R5fPxUTueswO!9BP`Ap-n+&5)K&kjFRl-Ei{s~=bP*+V0J9e*Y5t$x$van2Ig0f zAAvR2n;pJheeb4;kDm&O2bV12S#h*Ehm9t(2fFo|R zQ9heSpofnxfd5UrTjMtl@0?hndkS2mMs571w z*VS-83^=4ArART{gkWj{){=Rp-Z`>28*VOg0~G6_2UW zBwHERO(ijAEJ7?sg{T?+E5Su~SbYB#%R?PlEJY|RDXo%TQsGtq7hNr*xBcOcepW|^ z52x`$75oddth?)VSx_?oWf9kR96H=pBOpk08f4cHnl*gEqaK5Y(|e-JJI|^Z3`fCG z`x%E!@pYUPih(b~eFRm~E8R#r)sJUsa%vYfBgf&3-@xQ9-&r}!m>45um>9!>xLoO9 z$8L=$iTTK)xHMIlS88&ucM%oAJEsA^A^bAU=!9)I2M)q$=pNj$Uun3qE=d+(AQh|S}LM4eME$87UJSB4BlV6p(l=2j_iVm(o8^_ zd6l=C8xXeK~NMII=5vwQ?(R$yKn2ZVL#1!5e zX9}7SAu_=`daU7BEtfb@#K9#bhjjx78SXjg@nNW*<6C^rmK@aO&Eub3XJFmFyxqDjS)p0hm7%l3_SL4 zzsfwTKli6&3A8zEE=Fv}VVQPHSP19f1o*=)MqlN#Srl43m0?HDH%mwf|RS7zk%OvWHbXQUtN;dp4aofWjC51vL+Y z{W-E00K0&G+u9RTFfCaRsh;18Gk~c$U^j=@rGtMrQIP~vbAob6xqS;bKv9FsQ#MeQJ z_b6cM08{sv1q$}LT$t5YQw@cG7ZMOpB(6#ad%-@J0X>4V$Sa+Cl%&MwNNhhHTfkTe z9wEVp>)yb;4G&EE?n5#e-_B= zn*O7|H{L5T3}ee#!Y12puCmwsg!;FNsgmhm=bQgF+u<4W2rW28jwJN2cBIzqOm-w~ zbtKiI#>q{KiHW+X6!vyqhpr(fbKp(*XbJ`<55fb|nqwAZ1!aR&nB2rDUDxt7l( zS(EMO4&P;v>}ZGTX-?Y$XczwYcY|B0wqJR)_n~3&%mQT{C%R$ z??CHLp9&pn8e>O44wTuaHrr4EFoOiet34+qLBq2Q;+5_Mf>APam;{b+xjg1o$Ya55 zc`TZX2P_dm)J5$uI=;c%{w0&B4?loO)Dy_UCsVNq0vy9d{9bt{;{&}=`IwB4z(e7< zhxj>4$9jv()ouJP0LuIaaaMA=2VX-Rz61kbXsM6|=9dq37UND+Ykoy$Z{80Ip{jp8 zQS_2ePO@Q>+Ob#t0hv zYkuosytZ)R!RmyQz= z>{a&f|JHo-osV^yZ~nXVSoZd%sTRG>-~BCmzfJmoq?cmRyZ!Icb9bc|aVL5^%o|pY zz`!N4tnr6enhnuwJ+GxhV>@Fm?>p=mI=s`^sP$i0x{TuriCCf{$K+irqpTkmBh33E z9Uij@gXf@QR?R;U#KI{XM;popvA^kEHXi^y^bB``Z9pT+J{X6@0LZCvJka%Hdj!YV z!AG4(j4L3`IU^Y0UB#wc^vLIIHx05~QHvAPbvL`L{<2)ikBoFR{U97+@JW+^$t_+?+`lpFFvTw2Y={SlHb5gxzsJSW~Ky=|gfJ2=F zJWk&ga7XPpwB`xs^S)}hnfAoe;;~rB;|NNrjdmB0ImhtqLA*N)R#wIjG0Zw2t|Df{ zcrh1>xfqCD-f<~n+s;O~D`UYJ5~$e~4>t%0G3yCR<_)hEh~g{SInI~+19b#j^?gw zx0klZ6@Cu~q7_#wB?WRhUW<#B^m^J;1$kLR7BC0qgz+J-hUWo<$<1TPnZF1h9rn&a zmprbXqQZ(|WXHc1KNyPc$drLf!4djIwPIn!Ejo!n@qH9IuZ4N@HesApOgzRM5FK32|cfwz_NRz zj932%9WF`iOy>!qgW21u+clweAf!h&=OHSp{}WAb&dJP1O!gob-x299bf*YP+WCnT;6;c#sq9RgWKjQJdDyAaGV_3 zuyyViCC{CTjSaRxoiMzUYx)u7AH4PunXsk;iG4|&|31*{jQY|r>bZitb4d|5%q&c8 z{Rha3kL+^B+d)C2n~3fr;=uRef_zpZ;(bGdnd`IG8`Iwg%F>dLF^&DIMqbWU;#lWE zq`vbH!f3$9@a%5Lm&xttWpZ2c>EWg_ppH;azieptMiO}BULv1(CpzYlh}pjzhCzPf zz98Td+|N1Uehu!>xKGl!t2h(@@3RmYOKgD)jKvpGdg1)hsvFLvz=aNeFS&)Qm#sEKyTOc}uzJMa2UBK>|0|~~A-)Z~Y z)ocpcV6d_9Y=v{~^4>k)f3m!UK-YyqYcOC%#8Czk7g(!p1B-2?A>+8S9o%k(wX*N4 zgGJ7eV)faCBWYzF-mIxJ@u6^-POtPSFNm zrT$_AintX0MGqZc3-uShbM%UG7^tUGQNJh?y}Z%up<_|*xgPOo52NkdhMZ_~eJ1$F zU>0jU2D4i6!17n4EFQu6*#{<|-sIIg2If^19VIUOt+-kqL9;NWe!c-zFLTX7!m<%I=-F0;}3Rbe{Z<$5*EewThUlhbvv_-5z1BQ>qfI3=!>Ho zF`}Sdn;&4bglO|VAvy*`A%{`SSe=K(hf=q>1};d%tBj8FMGfRMo>yGxp}xb|Gq$qWU&eaTe_i%#c)?lA8OVG#aR^Z>{(GpxM{qgUKD}K=ytHR@JfFK zZfLU5S;V}%vRjSmA0WHp4N5De$M&m-`r`jBlJ*U%ma%=A_1~}Z-n$$2rIv$qk6B&w z18V$(5aU-uTYQ=jOIn7)*?u6iW3`l52Bk1!s1SgmBMKQiGjQ#L|I08)DHH=BYjgnK zmJ4uGuusdPo^g7d&zn~P-JcEQb6wf$kt^Y77hV~fnE>~qC+PNsW+rx9zOQn>8=9Rc zIzw`R2BR3VQ13l}T=0A>9MBcO2qDf>Dg`+`LTHr;W-%JToIhSvH^e;#78?S`B76O} zU^h@t4V#QE4%Nevgk6jrP=ztw>cD7duulfia(|y!1}Dh*oz|2CmKV%-_-;$ZTKjka z1r8lufsq^sRup4Ll6z9Ktq{Z5lN7cr6z;}%tF5qy+)g%-my&xYweucaoJJ^2h9*w1 zSkymAth?qt6Ys*Se>!p@Z_I#o3sJAaJLBS(!KT~b@nfmT$Z@DchuRkpKrx&TF);^l zSTIKQISYl>%@?18f4IecV#-o>rJWdNJPkiiGZX7hSu=4mPfnu4hhw7LHQ4Xbz@v@I z#?tjLe|5rTcMi;)(2T=NbLeC-M=e4=^2&7gZOcy4Mz=d9V$l+92u){Ewa6Ir3@Y5R=et}Fn#94245a9nz71m zJX7t+Xs{d4)nE+B{s}E!ULtzech4>A=j`zuM;G$E?{jzoHC3bU~fiRf;~2BYDChH~|qIc1L1h5_+jA_9f^pV~x-tx^muv)c)1R zlBMi0+cA1h1FTn`qf3hZ94}-)-8Jxyy;gs@#$LJ&{bd|2RE_@fe%)W*?+F$q1aPU_ z0q%4*ru~3c$l-lruk@8)ciguYUEmrlt@x_+QES9tAsBRL#}(mt+G`-jVU^gYkrFr> zzi~Uh{JzF1y2V_)k`%#2|1wKTv@UX8wB^^*8g% zI4W-KwS$4KgqT_Z5=fQ)JP=8sR|0vCWPbKvMj7`YU51)I7%Pv(%R#k>C@FNbtARsp zXkka25$I@-13Tzwr{crie)(ivjCck4EG!w^GZlNq65Q<%7QN!~&0|W`V2rvjA*QL+ zz9VP=O3E>^>>c(VTtns|A4fRja*MDq zIuF`iBt8DrIpl&V`UT@k3;C-DZ#qiaXpGmXUk;!+ zr3`|Fqv3ssCV1zG+_f6%**7v0>{GD-2Hq|6Fc?EkkuH_)xAZAOl>cCa011I1I&q|A zAr$Q(jORjs3s-DtS58m68>}H-$+Bf7kX{mIw?E?K2%i%MG@i>T#H2RIN35pU&D9iJ zU#GvamLAvHmdEvrvfYj9G*QkX@J|BGd~=uOvTS${E{p7V1Rvt#d8JjvcqE1C%Kqh% z0(u;SuviGQncQ=pU@hLb8x<99QhvRbJTET*{ z8Uz1c=@^z&qlxhEWU=^qopy7CH?d0@C^Wb|tgw2bYZ{WP8~dWM{gMgvtQ8f+T5p8n z)?%I~c`+AAQg0sYyeJ1W6iTTz%ZoZ;%DQjMbf^X(Ml*lVENSLnyf)O#tI=d`aK??8 zoB9kasppRY2V58j-&Qg={au`-38Q*JU=V@=7?rMtVvsR7a-ou>i#QU1A(df_c7VAY z4Qgu2Z0^ma{bwsm-|UA8;#_BRgJS~lqHUiI+bqxbCX|Fb-G{zBy! z_xI?X`oGg-ZM2IM&ip;S>Tk*Oqf!5J{xm&p1NN$u{~o=|qUe=gdZ5Ty+Y=4L6~tr1 zB86J|yr0nU<6e_DKINq6;7gvCI{f8Tp*oy)CoGZ7540MK;l(_XNK8kU8(v48Hz(e_ zI?lWz-eFFJ_t{=sy8l2CJ~U=y@qTrc#;Pg=YiStk#wgt){{O4_QY{abI_2NH=5NXW zyxaa~`D^_ufLfE@Yt?^?UhS>_kMvs6sF5Bns{T9m^}4R~FkgC|W9lBx?Qs&CTe5$D zE@De|8k&xsS97hvmAJ`3cP2PF!XW`{#AxupX}zH5+9yE{(rP`xK`loV4pMJfjz$y zt$CmAn|ooBz1JCJFnfKG9W8h&=3)+#E&7lR^3=n=_F%Z~!NQ|K0DT+gRL=dxKJhc= z0a0WSR?zqI0cT*bagx?I&L`{r`?w;TC;jDMOa0kf^|$or$Xg=y6{|$8)30!%6x`z}7*xPZ;M`E{@(>J^JKTg-?Z$yL^Y?fUO$NEMsGmGrML2#voR)LlEB3pXcq%?JRTn zs%{(_0aw9yLGp97d?jtmZUbhl-tt{A>?tecC4{IS*W>gbvrf(V^bwmXUk)D$T}sR_ zihhE9rg%>Ls*>Qc2bkg`E5&_GF&rs6@*8o!0d55M_QbdxX2$m7gs;7D13Olp;0WCt zQ2$CAaqblrq!f5dOB!v37%_pv;~k~~SZ~we`dC|pM04Q*h4m4uT2vY9IBH7KLC7x# zW6Uqr`Wu5m@xLtohxjDN!DSxu|Jyp9<9Cq{_1v<~{F{HWDq@x#XI$~RRmakHP{7}m z&m7O$=j2!9IQI38Hcyt6jDU$-JjT49`PvNlei$rqs>ogk<)r zX+mHxM%D_y*A=vJFZ!j1=RJw~(`;>PeE3W(Hl~2&*pA~{gO}mLliK)C)(gn@%ckNf z2YUqWHrGx)fUlgwLGr|{N8Hbl!_@lFk82#h3Gu`rsXLOw!uOfQEJSEcO7z>4|9!W8opu3`9Wx6rd%$kIc4E7Httr%<{pC099i38Z^(b-c{*8W zP;`75nbwFyc^)ou#nA!Y zl1f;Fg~5VU^aN-0m>*wwY%J9b_WAf_QOc}{5k}_dv#yK8zQR2ZA)#qW<@|j~p}lxX z>gJ<|2Kzkm8hjYYYN-@xN5(Abn1>BEqc)!Y_)eP~kmE8}spcCn(NgVy8|;VIzhDfp zs}bn;2nco9bE&0RLGR0hzT!MFU&3k4=xLjIt)TGG!Mxh5NU3SSuIrm+Z+{nW8|}p; zNJzO?YkNCz4eae{IQP5*zns@o!0S!8La`_JlAn1sE}>ul$kDtY9G&WYUxOa%(rAYl z#{eF1X0M%alFK^@{s30o^4Lb4^0e%A^x@;MC1nx~?x3}orNE!W=RP&NNm3V{V%9+M zG4FoR_`dkT94#ne^Lqa+?)^9|Fn1Mh->XJCR=Py(zSVjY&ZzIjMmk)LQ<4Ag>*x~Z zH_P#zlnNG&Ni9AE64@`2y@n2v%6uOltjw2Tb^&-(BP(;H|7V>`=fI`7*xm8H@w#Ki zZx~obJMy4eXE(Q+`Jda(y;A!+0C2gZxzQc$X_l-We>Ds?4V}~c+IZbHW2^a<-K>`u zL4sW-*6)AA7(VmNuX2%jGk?BWje@MF#mif0H@5^%S8;P~nQ;h>t<`(uQi=||-iFx?b+?1d6srj4PDwj+rn%kysKZrw` zNi}w})n20xwY!_+xwkusr^DGe44t&TAD8<$k{WomF^) zeV)1BUgPhD{qQ;Vq|La}7m!HAlR-I4S~MT4({cOt(Rt=ib|SImFa;Jkfjwu<_Wt=v zo5NA1_;AX|Cn9Z_EuNi!@=p>*6O6y){F7H{cKd?excnr1HF84&FOUKl`ciQuF zQBZ})aqIL_$D{W=^xzeDKj`Ye&2d4|y${}v>5-ySi6W<_`CxNDGnL3?UpzG@tzd<_kWEy1%CnRy3@(pL+HXT%TSD5)TYfq0H9NH&96|B zjIG&yQl7~Zd3)Mxen^Itok@Rz*?wRk)sfU{c(@vYerBmCt1S*waDUY7=qYtC4)c-n znINC>N%+D!0r4oz99t5O68WR%r-K=lYO|se5tST@5+tRF0zn?~N(mn1%-)1kdsn0H zJKy};z2l&o9mks6U=5%uNt>73-9-t&wLd)9T#IUok?|9C zF&&HqTxH-q8977#z6H7bq~D$VUzc_w<_X>flpQkdzppY4uN{_d>TY`7_O=EXhGdX% z2jgfWZGEdp8xP{&xN4lJJGs~6=hgFo?S|3DH=9QrO$qutu*%-n*a42%aa#!XH9#5( z>U94R*LNSzGTsVoYXuvk5!D2cZ)y-xJKAAPCY{<}_=cLW0em|uQDs?MozDKXtj8BT zSa|pS&QF4$z~Kr8|H?mkx4msOH3uhQ{^d$)QFb-Tl__uuYra{>E2l`1T4Meu zpV!QR8&0U8Ujffs?gYk(t1bZLU{QwMdlg0uf59YxJ$QW@@Zw(CWvO6-CzPADs@FRQ zF!uvkw8Qr~@iGqXhn!wskQ^*XF%IotEld^W@CL^MIoKFJ2i5?2^KoS8aKV@;7`ZoN zC44Vns>g}#M1&wr2x~+bVTf~O*N<=WJ2p+W<(2(h^g4Vt0D;BBz#j^GgCsGGH#A%mIcOSQu`I0Aoe)mnnQK`nN|$P(f`iI$u?bZ71*DH1B#uLnIi+|=mrZD z)csH53{rS(AJ4U8_1IgxgL;^ zzHbsL!Fg&$^Hh<2Jfa*>Q*adai^5eF{NEnhRSPaB9)*?orxqY{|NxO4jls7WTv>n0z*(I(xCYI)SWsF zuvl@EFzS()L=akV6R4Cikncw9I*%L>k6a6vfu zWC<>lJHI8VAUziArg6nlC)9O>8xJ_@i$jgrqS1BMm$?MHk{qa6FA>@CX^!kb;b7<@3a~a+ zorHveJ*pUy&g_;#!|9uXR=u5FCS9DDqn&OWfnQl_Zcy4-m_%J)Y=X0EEJWLIbRMzqh0ay*#Q`$Rd2#2Qx2O$(QN>S# zU*tSdJ@}ojDV@#Jn*_TCU=N~8{ zKzX;R&tpP0sly1hL_-DD`-DPS4@W3-JiBv_o76Wr(MU~40O4UX`zNC8Vmgkp@}{ElCK7X! zK`^@aYh-P;`pIg6ci@wT^lQm_Sz2XO$}^c|11Slz1fVSLXpj*^x(BsNJr9(GdnzUz zP&KL5fFsELF+sp*lX{J)TtKC+;Li}vCypCX7YVB^>Rhtw8=STH%sBNMqtV~#P^XKC z(xK1@n#TKv)01M0{U@hOCK|O0xm3WP5|6vH! zOGqrW@fi!s(ZP|pB&}32zcj1%4Pj;X3NJ+U{E!QbOwo<;w&(&n~b-cyWim!2&r}6+? zbmy^dpgtzlZ6T=P-9SA_sO%6_W;ak{2z6u#>X2@rh7js!wCTdv4_|5tJb}<|EO~Dx zSb+o>heuxlM+x@dA{Vr_sME?INAKM>|C(dnHh<;`ZYhTf;0(M&*-W>vpVK||k6r-w zTVrCccU#zZ1F`?wRE>RrU}t%!Ti6?bq8r|a5xWi83E%z&^SWEj?H;}#;TzD(i#}QK z<1F~-3L_Qa-?KI79DqWvolT4;QSsf=GA&yD zHLWuwWs5q+qO=~--ALhTQu+hyH>vBtey*kPV)yVT5q`Y|zY6fIm}4#YXeo%LYIz>; zFA6+vi?r}x+&%tJ2tU@se}~|2QHOMgzezns_=^EAO>=*Xz&3<3!_ln~7-~|tGC>j& zz&`9&Hc8N;=35E6<2TJ6Y}xTXmf%w%})XExZ3b2l)8{-=gLU{BGsw9)1Ji zi=}ObbMX)ouzDP0C5X;}I3h12f#miwzy`LcL7}wg@q3lny>yFigTTf#)WZq%sNj4NSST z;ae=I&N(@RP>TpfkN!PCv95&V8AF4%q2H;>kU-jv#!$P#)W4Ll)Uf%@-*^v9`y*p% z+Jou_APu}Ny6uX|MUyHc(sMNzXnzC>eN7DTM7bPI>Sh8S3_yzVz$VS@K8h6DqN1cN z1$8FjzeI~e_>F+4=+|2C+>hOX|6VG_pXi^eeQ-h8O-!~G-pFnuhSl()o|>e|L?;`d zj+sLAwdz&+tSFK(YFI71z-4LCkfOfqPpdpK1e}>%2%t^}bl^=XrL)LkbT34*aTik= zNG1Aqu;hEUdLN-A6GMy7V}kFeb+qn&w(huYu|+u^LtXGbVDmRUfkGPclx}}N+=xPw z)_p$SD2jsav44Tyrz(w!{U-=Xu-hwu{f%cd_Upsghg#Tw1&VHXpGfSd#KitY2>U;u z1@?oV)7bZI2=TrLZ{&Su_t^Uq`|7E&By&y(d&2X;KIR3DeRdf8lNR<1yT`s99ac3u zCiaGZSdzKtMPOh5vc`UK7<;CLy^+1;*rhs>*b`%7A0NWLZVs@YHCJQ*_Op;=w&0DD z`A7HIgY3J$QyNP$M}@GT`5Lf4`A>~~vS1JSj~yDe>rpGG3*OLx!z|+eVaK>j)=p;K zoQ5b`o->GZtN)uf-BMMLvkYq6EZeFHNUyz0Qx=pV-n(v*>&VP~>OB2bxY5KUb^8lVjy4HAJWFLrv!?i_S%~ zbFt~HkbZ5Ox=YjPw@A|&rs-T2lTPJCOKw*$)^tv{=xhSAZs=TZ(fMngS8I{v z0;g_mF1E1m0E(`{5$yL6`w=m*KNiCN+ZtdWUazt5sv~xK#NXnLyzBA$m@Q=zv40H9 zuX%TvuwybO*rHAZb|+iPdFz0^?Ng1tJdAxZ-dHZDS-i*amfl4tRSgGrhj(V0(*Dd* zdgjX2KNug!+YOa-Hzp}CJV__wkWHi#R0qkkP5rTv-{{}rN%>eftl2Lq*(*rnS6FEE zGk(NF_+c$MYr+8#YN;fo|MD;EEk(_<-V)VI7TUxp*C~@))yiHkp0kMyl%qjJQ8oZX z6_fG=p)9`d7{HU`QS#iavPc5onHH(WD6bAH7@L%bq8F=tjd!j)#%1 zjdcHnaTm|>*EP&BHp_p5Q~J348B?Fi_lvFzU>1v0SEQvQm#UtS-W6%Y>+pUo5)IF~ zy!)_L!}ciGP}Hy)9Z%(DV}i`MHMzi3v<|zTp?7)>OiFT{j)mrXK z%1!zAV!oF7tYD(fiEGE{#5?~R&?^?uN&@*3-Wn2Qwy>@_S^eglW?Lx|MDaah!J#KZ zxG52EpAxQt902Yr3+_R{F`JiwW9Hxr>-!wZ!ESXLa{!HtcAsTr=4PvN-UFZ*nfZ%0 z9hiQvrQzq>Pk5v3cW_(*`dF+Q5kgrzDC_y^(LDogf!7H72@|0JTht=HdHD7&-u%T@ zF}%Xy52?E|@kShp>Twybh&ep*2|A@}tZ>w(?vNCndyY-&MFQmkNVIkkpvdj{7Pn*6 z85X51tr?#NsKI4vDN*_;q9~9)aEoeR1umDVy=Zm>r@}Y2vKdd!^Ot->E;d>r$!fL0 zV7wkUh(4<;`n~93QX($^6q0@h=%ro-)C>zvfhytf1?p8P3Rtx+(w&~-C|qJn=1J!k zl`^1)h7;$=*azm-BH;@gR5~cB3G7oz7p!Q2bch_@VsyjCrH9o&4q8OkqmmcZC{rpO z)-hliC6zAe>N1FdbA4u0fa?;;#p)Uqa~5lt{{EQX+%iiO{1u!{xe0>$lc`dyd`0)= zhYGVOEDfpjnN=P`FZEg7$^UE=2M`ozpux+39^GHJt1u zBwLvd(Xup;5FEK_o#%Cjf(7;OLX^F_6z&zTq)v2ZHx=H@oVja9sJ_$CyZjl;EmBgI=iE`p87LI5Yn?PJB zjp*bF>d%Leb~xChU?-zc0~I)A7YE~>C`! zVHYSur-?aTv42L{YUZ|93aBVAv7cwP0wef1c`hBXM}8K*-*?<)ZjEr zJqTJV2{~qFpJr(Q_HDuIR!k(Pj$ zqK?G?M==-P5)>g$F7zTQ-zB{E{)o))*?pT zj{2ik;LU%ArT0w`kss&cz&;@ks~*Voiz}hpKHXX>A3qT6P_%DxIZKY9ZuAx+zgv zDrA;^WcSl|LHa|hY|FU%(0~35We|3rBKG&J7FO21JrOU>tvORS`rd?J3$a86WU(rX zYgEe8lIer|AllfOmiRW0f|g1{Ce%q{$r3UjB1rxFD`fyA)RJTwrCc7?~Q*n3W7WegMw;9kz|*)MH@5 zU&Ur0QhG@E>D=VCsJBq<)wOKc%B*48Q)J!hc4 z3lODK(rrA!WQwdCJK4YR2R4mYV0GaQDY)p12QW`W#jV3}DgGbsIS{PvoM6g-N$?R9 zfYQop7SB92z6fIQq@fsTvjLDe4TLl0*AB1c&a$p zBkb8Z&{n!aT+kr*z0t!c{*ap4rc#$r#imkgJzOmSshsVQe<#ciV*X9n*yRqgKYasu z^({~3`-{8fozA=3xC`%ky}?Jn&j7yV+1EIONIj9r(mRly zfLB)1AHOWa2(mhyO+ILnYZa%#)c&Q~h1v@-1ZIU<+JRv5`8A&YNwjb<9qH;*32sso zc2J&CgX?_>{-+NJLa^b^Cl)#u2ujR%WH8I3=Y`2 zpHi|=UseYjc{2k1OOre#n8HZu!(<7Eax)YIYSrlo2&}+{%?Ogc!X)npNp-!ZqaK6f zTUt^XEL;hc@Ogvk>$ND_g>02<6a(}_MXI>r*+dnEj@-_{S>!SaoO7==S~AR6G*eF> zODj;TK97;QNLEsuE-81bS7U;R(TxX)`WKt;cci85rq|@VlZD!eMNMQCdZT1->=Kqw zXAp7NUuB1ND2e3pCx?{aM5J3QC)3sUO)UG)X~omL6KNgZ$gboE1P*D<8!=NNYncBc z)z8`DZ(@@Ws8of8@p&~*rFR{Sm+MU zTT~7X%kkT#e(Bzlu1Y_DrNb z%2MiMZTXt{go*1sFPMUHT~*7b7ZoQK>E1gY*mjN6r$eHPMb)k^vbQpZ;oUj9X(kNX@;ABo@z%}Am&BZt8*@=a~|2Kl9>6gyW~L+e%rp@|WO&U+x7AQn5*bYr4r$pGyTKTYG|Oe)`)^@mJWRx;(@{X=R)QcYt_~Mmng6mGIpv9=pu`Y z6jH)nm>wJx7WDInaI5lC7#(G8YVYNngffh5mnZ~~-Bd~>u zOk62U5Ls`a=uEc+bgjbQ@)e7k1(0GT$x?^o&HoeB4{euGwgG&R$@zfvS6fUbD*yY) zrnnVG*%B)>UAYM~Up_l{#(o`A2{{qB@k4v-1#0}KU?r-B&0(}~bRk&x-vK`OnWH9x zA~I`~(d;n8N0Zn0rCEm!k-R&241A>io=TW!Vsmi?>(tC zD_dp9ZBT6;0j^GEQj}>j_Awr9F_NstfS$i6KAHGkB(@T@s8^Wi7oa8arx7D};%b(s z@pByGBnK1tc@$(5wk?I9FV$A8vZ;?l$B%uB^FPZ@7e~boMYif{eM@BD@U!xScJd7M0Bx_ zpCWlU4+}pHVEsttKOAwcWEDh;xl9=aRQQeZ-iko5QA3DxfF`hHr4403-Fc{M zf_DNNs2}V%7ny-4R>~L_Qs#C6HOeMIdjhY7dEC4uHjg)wM?Is|qW&5dgU8(?BY1oq zXuu;gMIJxxngBdv{kqi--Q1Px*_6yqbYNFjTauaH1xb+<;z|IidqG{@g&!QVPUo#n z_3Q@cQ^c7_-3EaHF>$u2vBcSjIFlt?R#|_vSxYA+-12iLWQ!U|@Lji102ZX#4P)!bU=AHV1)#PM(N(yUt=`Ex%~1?a;Phwp~p5UM+ci4C{uq;!WZkok!bQNDC5U# z#pO^3At3CU4HH!Cj|MRE*2$usMs?kaZZQjaCy|{7@W3{jh4n;v3_q*YsGCr#_#E*j z?QWE@k-@lXDI(~^ zMbjD54V{0GPCwE~#ZNeWf~who>>yi9`Ghz-GiYbRJ!r8lBip2!3c6$kqbn#MK+;Y7 zkV=r$F@9;=rmtW7=3FmIKj*C5(FK-h@rrCH~9fWsxy zyO!%wFeqxH!=%?NyrW!T3Egp0vlAnrvjuY$A`kSPhVwxpB5WTGi)&fcA$ZmIn=<0B zf8t9zqWt;=U(|qI3>`rBzh#5WsI3e-iLCHz4ZcXbiqELtyBO?!=wPbXkW{_Q^bpld zE5Q>Go%Fe22s+g2OcJeOuM{}%6`bgnMS+M8y+XWB3#A=!fp^jJ>?^{2ADm4s*RMa- z#e9mO={(=iqHZFN1mK{6762H#1~@WP40fz>jFDmgr4?tiMySwa3-=>!e^>tky!$l!FubGgM8ZSsudglR@f~|~{TH$x(Ulr}o7)$y^C;K)mWn*b;M{;}vAo+sG$0qhQ9?M18*VV3F<3mQvB z0GSodtyv#SPFE1}aN=Bgoz}1qUe(I_HYC$kuF}?gkKt`)0$!EzX9|D*fgjD%I3VC# zq8iONnCKB<{n5u%yu$QOB#<#7TnoV?GyHYruj|5&hY5T`KY%}UtTijh)ZcNLaWqnLSh0cB9jcauVsd@O~T5*eCmlr zgcu(2hkPs2>VZZb2Xai#9=zZOEph8WCnu85uTD*;Lo^kFxbqx4>Lteikv+1Itd`G_ z?35iB#B>;gC`qgjL0wZ<1A#x;s&&b#0-#iksPzGb3so^%a&;^nOi^!>bvgn8|V-JoN49gEm?;SPIG&2s}oKZ?d^czB74 zpFbE~?>qrM8R)v3G5^rP3Ghx6^t{ECx|!9X$mi3#ej%gY(Z{oWi6^|b_fPcND%Va(T+QFmD`t=7eLAJ#N z5qyUe-%_+)>SO#6_`R6GVyCvF=SvVX7Kq_-Ta{%Qz|`Fqx{`Vl`&^xca(kuI;8i4I|+MNG7iiBRuY z|I|N`(&58u8TA6+K#8E(Wf)|RxA48F44UheJP^VPcHoY$e(8Ze1jj(v!N(c)W+GQ8daU891mu~4+u%6 znQuWwblC-}`DQ?Q2}M1eCQxN*^-*deHDw6^336L35X1AURZ}X6Zy@jy_PkiI+Cdm& zp-YYhqR$MYNbN+o=Sq$4hv&7@Msp{2p|6FmCMJlStFRB9QuUgJ>V=qaf@&k+$owNQ zL5?R^?-JE;piP}2`Q zhh+KyjNkA|9StCNQHo`Fv@ zWf#2R>KUh+q|QXH^0*+})0n=PRi%p8EbC_dh)>woL~8gH%Ht*WY%hmTpgDO@IvM0- z%jK~-Dar>IcWW+ABo{Y=3l$FxDu}mInG;uo0xJvf7akf z{Fzj>Y!)@;W4*c#bpvZIdHoKjuyG!`ozi4i<5_~CxT;xP!?8k(4fR}pIOPM2Hlms! z=~BE8Lqh7qg+?ck!c){GU<2`7DS4jY*PARt%kly*u{z!hBvRv&0m5pYh;r=epo)qN z2CPzOh^2oPu{XC(T|0!S*hRbZJ9N=jHL;7N$aDWBAtyjXb(~Ld9^NmZ&oN{{RkbR(BvdGcZoo$4n#T zQV`9QZquK)vQ+;R_MbF1(lT&dZdNn=BUvBT&(ftF;oD_)^3KPDT{F6 z(n-aCyWoRtus4V*xQNZWJ$`)CfURy z>U(am_M(y6PuVEN3bhlKf}h^Snh7_a{zp(D8Tbf30)DPHDC4~Y)b=|WKirBR&iHjA zPqvZI1Ev3B#L30UxQ7KP+Ejn0NW%v=wDD0&;wsD?4D6@#+Z8YnEzw z2)z1**FGU$53_iUw-P^QC1xfM*9pg{i@anx!)HkF$+{gm!$WjZ#N^VY4~`saIw}hgji~F9f7sk+hh`0=D*m z`tt%*_qUKM%>S9%1D#Eb9I%LT0Hqsnf<mnZ(GA-qF;60#ZlB%;Z@t;+z=Jc|D_r@x{!7Mq;nxd zXvn{=rR?UpK+m6xMneq&Th!`9#KPkI698#?p*8tD&fAgQ?-x+UXTR0T_=rafHdEctqV^3gy5r0^ zl_~y7S*N|#XR}0Rp&1~`!Qq7GF(I@#E3%JWxK$koR-C@elPM~eGr1L~>>x>su{@S& zPDn@+wPb)6QZX(CPb)>%Lc9MsvP(IQkrE`T>WEmrYdN{nMo~@zj@^HJ>fL{p0?t7a z5Do8W%%uJufewjWlTH*gVpe+S$|&wU)W~LvFBe$O%;%J$F07&J6DxnGAeOww$lq7} zt^DCW`v3oO=rBJP=14R~{su_zqf-GHW#@o@KYD>ucl)DIV`f{suz@$2ZKoUA?uiu8 zFzio_)Ufw6nK4Vld>f%*_ODs125~Pdt_umBO`<#k2+8`FeFvyX+clK>d74(l5o)Jp z4iY2vNzX#2pa-sM*_hIYTZSY7Y(7a?cb=}0%`9W9Lb6_{*@86T>HfMx;>>sYyjCM;uf1uY9(IUBX?J&s$T znnY)70PB>UeRY&w4k~PS6lg_>Kk$lL1^doMQtU61C3g5Fupmw9SC%)PV?|I=@zPn^ z!VYc;kf>r}0)|w}`rwubovZ8P$I*CTZAPg5L4LyatQCByZ)Je7^ErXIg}O;SEDFaK z?wF~%RL7`ZG6m8ZT-v%J*U1OokVYVIN9FsyOgR-KFcxHSlPIlsO=NtQ2dfu~V(cSEGxq{(w~unH;O7PS!0o1P?=(@UXZxT<&G*Z8P{#cUohb zQKPoFx`#YM_`i#uB`nI+lBs5}BnOjf#uO1t={XcjhtE{3E;(CEIGqXzA>=5_XRzu= zDl=&*hbw+u$k--pAA{}{s{rh?b`efO)}qUhqA|~6hR;g#7x+-)#=kMHaCeZ6YV^XzBc_S$Q&z1H6Q*-z&*gbm#J9V0O| zN1V^W#oM*&eu!N88es5d+Dw;co}tM%PRuKny>SLW_e9q+j1U|p@U_`3`4_M&Rl3|L z_jGqu^?`A8hp3hKY>$s$!#P-x23^IGGg>MB9ZcpNhVv=*m^b{KXNRs#uX%Bd>0fUA zM)fak(ACIQW#r|QnBDPifcZCJveWcn{qO_7a{DDJ+#BbRB>DztLE%t+3eC1{aNeio zB_M(R8@A^{>EA{AwJrTbIm3z(-D|HV*l+aB5F=4`K53+l2CGl75)0Nz766Pn^gIh5 zo%8>S6jfdzcwk%k6>qcUE9Fbgq0JV5G+7f{Tpz#wI-0u^s_(_D6y{HITK*H<7k{l5 z#!gl|PG-%)jBi;Um1N2kc=KWTTkH@K-ATP$H;RE8cM{(dRJ{BGU(9gpN8Cms+(e75 z7erVR3!#S+9AsvuB&Wwhs3-Xb5b^{VNgn?^ME9?ae=iWoe6U4y1^b~Hxuy{@BM9En zg10#h_%MQ>69hlYf>({M-V(1O_%9eHj0xF z%Ql4?E!7FJO396Rj+vZWET4gr&BxGEl3e~8eNV&|*Yio}aZQaeUkynAHo^{+`n=vC zwLu0hza$C0T&gZY6#?IqjPa%;Jq;9XcELJ}#^W})KK=X4#^YH>nm4<%gU)IRV6c3E zE?5{qk2k0D^&;g1W}Xc~c(BzCuyATAF0Xm#n9d9<*Y<`h2oFLa{{p(|Poy3=_~*!= zOQF5~_+zU4-)Q#vh{0JqcOe+bmIF2pc&2TJ$>K;8Ru6K=8*#wBKZ88SzVEh+rs z+&<3qCuV!%Q!%*k2SprQl7VOjm%5~fO1}R(1{aPr@;agxXmNYWX{#|vgZFSPHb*s} zx03N}hT4!*{V8VNX;EqNZyudM(Eq*$Uey`cMVzYt24fGgI>}mK(Lt@S*tS~?w%B3r zUsou9!;Ggv^jO3KMU3#nYRJnuH9ib{ev0BEaK?ZTIy%`VV}8ez;mD-~OM8l;MuUulpE22Fimd)cGW672SKr3pyl z1qWK~GSPhA+wlAItE2KTZNX!yJWDEQVt zjSf$kPs;-!VOIt2ws2vlqz3XT;kuI*VokbV>7s4CcHZFo1OOwYpB|>PQ6PDXWNi!e2uRfI&SbBNb?MXR5#boUAAS0( z&7hoDT%MVB2lLLn$u7_J2spb%IfZ5nI4f{CCIZegHQqcE_w)z@gC2p$fl!;%UV%r@ z*fpSpD~IfNUYiYJm7|D1lK07;GH{ z2GhVmTX8M!NP_upNW<4qw&QTM!4NG6g5oe-ohd4A%0^?VFntbfJ_% zA4uobh7Lc(`Xn4U-^^4DiFo)vnvlJq57Y92oR-kZNPFm+xlZVHi9yW`pr+8@c460x zkx}QHwrIzLjFBn2_^2ju%gFJx^$q!9lEXLqCk#Y4Yp_x&y(lRf#YOU6?M*5BL7!cw zxr%wyjW^hqHXb*mhO{=cEv-fqBULVFgfyq!t23mM-w_V57wmoz%9}-QO0yDj_~#Z& zV+2uLiXKA3$cr$=Ix6IcKRD0G9~QGdDDB|}q=NB@IaG74f0CmlnXfCRv5D_FRnjPol$chZpB?B8H;(@RWR$qm;WF)*x;S z!8$)N{sG!t1Xpc>C4{<%Q1n2zS*Ymf`z1nk4M4R&4b(_NH71l=S;V^7c&I(cbCGYu z`EDFbaG@KW>Ztffnt^=^5NWuPi=Yjuy<|S3r}E26K>Ih#A{}}Y%A1+qr9HyVcIC<| zfI-)Ksfp=eKh+}AKJ=^k;spoh1Ydyc=!0Jh;;8#P@DI)9nDPZt$?s+lw91a1h zuV=$*>v>kS^;DT=BCBOHWr3Nm3+zv>R+(aFYu`$ytPDLdTU*rHtv#&{(C9iBG80Fw zCENkn!!ywDJL0j=)fPB7f0FHn%9gUT2B$FBj?l`kJU6Pcqvc78-|o})-mQ*5p^{A+)84BAg9Z*LucP>)Ev zZj7`m)&|wC=fMw*)7Al(7el)DS9DsVBP>?WD3Qt3I1>uJip3R*kw<}y! zq>!&?O}t2(0Wq8pGlbQR0>W7n7bqPxdLzp%Y)De=-au~0F&NToU@a|&XZK^ujbq>4 z4QWLx?=VWmCU944o$8J1YE5+{_#E(v zy1-}Zljr5WUN588t6yRBvbO$v=_mHd6wrzFNM`{lt(`^gg=V<1tapFDuHBUUP%&v}NqxmFDCu-P`>dJoni+EOTabj{BX!fz}sB21xcm>-x5qk+iW= zULkW}^m0oh{J8;tpxHZVQ&9UsgbwWv1OkaU3?wd7VG~-M6QO%E#VQp}qkd%V!R1vW z9=$9JQ?U6Ubv6ib#|eK~CqBTwAA3x9U?&3ZX8=GCKc|{LyNhay(x!P=ejjYtxA7yl zL%bYR09*uM-}{{P9D@=aXCF~~e*7)hdbfzY)>*Vg#lrXhv?nm}f(jgLEcK&iE?O>C zG6|_kMgc)n(kyp(U88`3Fc2=W4>3#3Q?;rzOczW0L}s{Cb?c2;YwnAz6gyO?8E!4( zZ;pGi9)n4AD3&prl_v$VNoV99R7*r&zdVLN#%8g?r5hNjq&;RGlDrOi50iXT9a(z9E_Fwd3XUpfgrqlzc>20xsE8F| zaJUGS3k>%SccSrbLgV?StTZKySfa0PKnc~i%M^gXbSKxXu3dU4n=H0RUraFQ#KOE_ zqx6A|N6a~x7NNp3h~VN=Q!{QDu&oLEWREyav%I5OLv*uXZUg73FnK0z^ySl%XMZMn zq~mDvTv>33vHr+*(C+Jl1;|wRe0c$XH1nOP(6LLDB?P?>P#nSUA`nb`2iQno#n3b{ z4?7?NZgTm+c|s?$E!DZb#ySU-ek~sfLAZ$ zOci@78rY&7#r%3ZNeiNkAZOr2epeE5D zT&gKmw2ZoJSE@FN8Vv_;cJn*&>${LKTt5t7#WIVLmWj>_F)v0V4U6dSl1*pxd6^7g zxQ&)dlh#vXz^C|D_ob93*O+m$_bkweV37Bqe1ic*&Q&S&(=exY zgw0}o8iSGljdX!X*`90htr9yymj5n}iiV7z>)c29tdg@(U;G{cGQMkAX@{-OB#o)V z>*_4zt8hM^w_ff1)5TVl==rBRI15)3mC*04>cu{%@Ehwq|a2Xy~u(pl-VpdAa|WM4~`7QCKjuFvK5bnR8iQX4mvIUc_>v3b@U zBmI`n&oZATg-%gjG21E^vz}?bc|*_@2M>MDA)l!aC-XVCg5g_=Dl>UK9lhbhTBf7L z4A@Ts0?!{!G##x^pttCN-P-cXU`KOBjskW|tS4c!9qR`MP<7y4LoK&=^Y=_?cXGz*#-9X@ihcSSt8M9eg_mY#_uT_&3ligG2u ztl%A$7h-_(rpc4FN#S-*?P#Bx`yIP1UtY!MmS)L^h>xrU4^%6`)iFf#aXvTnCZj^A zIn|<8of$2>vxt34CaT&)GBpa9$r~>1f7`;O{g{>h5h~LK;Ci5>Jq+K|1|#1YdS50> z0pQ@ciPW?`71fAZqQ zv?=|;)tm{J&F%1hnZT03ZlKh0JiphTq1hNWII7Km0Tj?1@8}Ewq<`Q!pe}PnCMAsR!(Q>#S#pBx4AG|`h zPoWXE4MrN@#!;n=ZgnGFo-&F)IZUg59I2cY=kJddCb zYT=(DH6R_m-^W1l>xT_hs>;4l&%MxNNhusO0d_gaFhCP)KQzS+0AqiO_V*4}{6qBp zVmX3HgZN*61kc!sJrq5olrtWv#SS%_pekEZZjg%}tUd*p+zxUi6i*=F&a}9y*91B6 z6mf&3cI$1dWWz}697;xDi~DIL?pvq9Wj-z6!6Ag>=11ZVI}Pri=<4!H6mEJXZmZMa zen#BEQMf0^MAY|By^XE!W5m5M3U_rR?q{dLy_&ecVFV7ZZ&4)fW2eDA1&=EqMB!#f z;$D3k+%?2~0Jxd`Gy7%s?RU%gaV|9Z31`tWj7{;)H+Chw+pZs=lWwO@R%Ne5fWQIO zk>hzZ5w5d$`tNx?vbi~u`~5oN)qLI9nUnrUe$&%$=k(V(Se3{La=cITWM@Zq!P+GM zLY`y=eyzZdk(7k#d#*b=Gn0^+rz{9UAJ@WA$VX{x^DQP{?V-0B$Gw z@Btim^oC|_oBNo4-zf?`k?5ZT9sW(v(3Kipc%HU7EcaDnp}x&;=WEE=PYEx8dYA0s z;re6$qlPMEU3g)xEu0@-c#AE3Exhm=TR1Viu%#`0IJ~fdExg?pmXdqb3B$c73UvJPn2Kv%FL-mRrg##%UXsG-W92{(JHdoq9w^k7L67Vh4u?GU@y>$wd!o+apVtA zpBO#?m#-%XEdX>7Za}qg7&9tlGU1Nt8SRyFd9`qw4G$%EC%8*3{z<@}Ao*keRwqV# zl5ZU@#^&naoJBj;Fe@aEEasgNMtD|r2>CaV@HU%@Cd-pIgdG_F05CW%-ity`w+_Z{ zjE0;=Yb;C7=Sn(Q5~p1_p;WTg6!1JtsvepxhLoAy?Wv)xz<$d-(ymtQ3N%j3Z_C17bWi~hZT-v z#tMt&soIozX4j7a3nH%$xYhO5t6WY4pZZJPBGxz^v$I@*2FZYO73-TIa|7H5ZI z7TLWEryPbtoNV`c7f-}smvDKyCFOYTfi{sf`FWyF9(w$62+Om~g_z;~Vkt zPiN7ec$DpNata(D>l=_*brbd*J8@HWQ?f=oE7(Kcd>HjE+G+N(M~Izwt8Byg32}UP zpp~eJJOKN*=XfA!j{67=DJ7@n@5tbAUSmK7n^gsN>ZhzaedNE-#@wLUDs^${Am4{R zD*xcucL+1=c+8KY_je&N*^7J1nSB@m5I+Ah2Kf@Au)w6z6)47$CTYIyfIC>w5}Vgk zAS_3b;iF(x^^N4*wR9H9(bAKpPE8L#8)LqaH5*{?AfxT4l+whx(6k|^VnSWuG1k9< znVa)3VFecV1igTP-3BVq6e39UkooMn7TtP_*1=voWjHDr^E~t|tw-@(24PH>{`_+j z{-`I2pyw=l0n!C&URy2A&_PHSkmgy86WnE}Yi__FEvT-hU0KssI@cRri_jM#zaGX~ zVAl529vCh^l(`srN{}Yl}XikC09Jej<>QjSjsDDYDzZ;OL-+V zP#Wxa#~)Ng34-uS_M$Wx6mK^mdkEqzYJ@HbPIJuNx#o^vl`+!rO5P!cXQeB6)YcS3 zVnYy&S2EU=E(w~9`b6TVl90(K-!*|_i{+p^4j=|=oU3SQU~gk-@nRLGtxIY(g( ztC@<2^&iYQ_~sc7+WZBU;28Y+rWj6`Kd6!s20PReH6aV+>J-%Ov5~A-E`U+5f%u^c zro4kXU5^`dXJ?@oz%2b5puX|MjMQijaD#p3YM>bSNW z#D?XEHHEYA2`kH4lw~BTS&d8wG^(J=e~y@XT)S266D*h=%X5H;%_-YfZWn zpC$T?m4eXI_-iR$ZrE7WISZf1Gx_pOhz5VFUqt(96rEb zOS~rlJT4XL(Pa;Vnjb6UWini&xnytfn&an_}Erbhb3X>a#F@Y9I81a%*FRg5iq?iKXD#{(GsD?`FRsX03Y20lH79$l76hv zx2NW2r~iadJ#g4{&ucN#?gs^X!oFWRfRayN@rWjuzfhL^X*7~yZET=S?}h%xfT*Mt zyjau2_$r|99F&Ahogm)fP=Hxlcm|iged^&VC7(Axs)t*lA9j?_uYpY4BnQ0oa6+na z7Ktt(6dGv_+5u;I2EwE(m9if?Jq8hiAy<{(=rl1hYz}0T22PH(0bl6bqHhgWRp>eW@(d{;`m;5)z@bPj zAHXuWTA&ccK9-`B!nOr4+wvHZU|yrpW#xVi!uHAD0*^yJ){a#s9qnw`4eZpgZ#yqA z>t33B>`eS6B(#-1H85$Ae;UY>=u$F=kR}_|ZttS~dB!FVb5@o*&*`omB0;XOB*GGP zIKO?ej3n*_30%mKv1M zi&d$Uoy|Pc5&Q;;%pj5Q;LOYtT?kA{QxlZ^TV)Ns2x%;}G(N>|B$_h(1HDeB1%M|5 zh##3>t`m?qP)JndvB8MnK)Qs!+PxVI&OG-8U&c8qJB7;QvCEkYJm{*(f0R$umu~WP zqUdSh`_5WSxT82<(1dK~Y9mL%=WUia$V9l~S3{)jnEyN~f8r8Bbp9>WVXjo*HtZ$m zp1}pW$L^tqFgFn4`JP}^PSD*Nk1-qQq&fqNgKseFWQ)E%G5;<&H%6kET4=XZ6^S3t!(gOIl%G4n zF5Z+U)d0g{s{ENjdRy>jB7OVsN6Ay`X)2iyA$(hOd{~)FolgZZO56oJ@fzZHjV_Io zJ_P!UKsW)JTrp7Yl=A@L-v&Xxk9guNEXTe4Hv}@T#1&N28wUY*0bSom=3Xx6O&%x# z`xTU7J;G!!jmX{m5%UYANyUf~P3p%h`2Zwc-l9GT0P%%u=1`C)lx;l6#~#hCjyx8l~<9ks$fqLO167qbh>6Qvs%_$Npg4Ix&J2VWU=3r6*(RHP+zK_sCh z65^bQ^v7IDHlwoMp7uCr^-x|mUvSem_e;$J7dFJ=gyT_h(1_+7+kRnv4x-j+s5Q^~ zTG@v@S9CP(x&XhL#AIVCfRUly?u2Cc6`<;?eyq%7+(cMxeu5;U8_T1J6#`8Ji<)|b z`Ur0neny@((aNG%sh-ix5L9e+8fwyBox|gnce7URfsESlkF|V9Sl(!A)_uaA?ntf zVIs@edl%vlhg7T=U%>#USPp4)u}=p15O;QDuSctu*vND{dstxXYzb*%2jNQj6hLyj z61M9|H-a{~WJq^jRo`?^60HT$&}s=C_SVoHP$@d;XO11*!LAgq1QJf}!E*$_!9A+_ zaB&61Ljz)g1kB8K>=p5)z%#D{AR*-I0GmSi9u z)52%?1^38jKrm@c2LS7&o@GQkQ?!MTY?%DcH_l4G;#;)^I#33g`N*926=b z49_pz04_drcnJb!v$-*_?OsOiCJVkNvhwW7P%%U49c{^sY`=kSeQ0!*B1u-^f&VvO zVgm!2g7YfSh56AVM3b2R#a(bpw%e`D*z5+cj<|_wK4;M)NJisZteqR*{~=?vw@dor zijgQagoN$`1WiLJ(rB00ED|z)oI;Y5NQ3cX^Pk|-##4@DO7$qD;?3E-;lv#co55yv zhJE}-81~O_JLEAca(}9`Fb&vJwiBv2A6LGNCX*eqfWQznQRZGwZN-KnI)Vuiepa=kJF&~<$1UD=7kbi{QqF#TZwl^ceYkB{nN zzX|w{AG?J8Q1{DmdQrxrcVg%fj+`2v%mniIv6FOJpi=JOV+;y-?8xJ69j|0GVEl#M z+f|vbSW@DJZJ^Z$Aqq>4c2~|P>`$0!@UPHXy$BfA%8g(D2U_&BEqaXTmjhi(a|tj> zF9-8MBTJXZ;Y8@pS#$tAg3h=bPRBs)^tEWpu^SJSN@G&_kay5SFG$4piA)SDsh?I}Up>7?DBf5tI}!T|LBm9WS)uz&j8UYhfx{R25~&DLy(eG-S?NIU63{V<<~ z*5=61ml?Pp@EgpHpXwK7TzOx~5(E#5@rlKFAHOggT9t_4u`tT|iK7aalYlZ24sDe$k|CN}gx`4IL zVuBuM+L!xk)8cj3T^I>uhYkm)X}52#57I6^4Q*k*8KB)cNP7ZlKNU;6N6_9L3DIsJ zOZ!~PJy{c9JA<=bcHM%mxk)Z2=?n1(ei+}Yz7)+72vU{8u2C z@@aK`@n=ji$`=?SeEWJ$cIek3ufN6RxfAn8JM#utf2@seysL;l)&{%DGm@+JaN`}> z4)T@VOvCDl{dxnCfo#q@$K`oE8CzDd%g#4oJ9gKVY5V;LFdAM4peadj6Z!Z*>os%t$)b64+Eu#yi_;sBf(2I zu|dKa`nd`Z6oEsbX6vN8>(1ruAyUlh7nIEOb8yHPGale^?Gd`Bo#Ut#@<2`n%f zp~-{5^e>j-;Vf<=H4j6}KDeUkcKU!#W82Ad%VdZD#h^f!1)-ah)@GS?`4sGAhZt8P`YE}`NpWdDsS>xPi5S5ZazKv37% zlyLS_>`CStHOKew%(YtIv5TRp&*ZNkEspU1Ek)mj%K-WobFJv>%(bE~ag%6?^Y?dhe!#PY8*oal|nqp{G20GPr}(sbvD;3)#c_| zrMd{$s8myBYB(jaXcnWiB$>L&XgbXOsia*f>AoM>Y6>^McF51zzo0-n0OZ2F3JGq+HQNq#Sshlqkj0Cv&N{JYphraOR`Y2O zs485FBw4u8A>&mIEMX3NkHVqn{PA`5ec~lTbqzqRJq^@ILNyNXY%4PrE_!33vdtvu z{_kz2_g+NJ@O!1z>bwDgR{L8L<}tZ1hz`=%B;BBo>DP z%_q(v#ep6C@>TVA@EoB!7|L9!U8Zo=wy>G63rHMC8LSsMa-m+UZhYoib+e1t5T&SB zv~ILkb;*0F#t=~Ud;l}vnuA~e7pj%ld07H3>grzL-F%!3t615nFO19dl{>L?T~<4ka;uqRSf3a#y|?C4t7rxa;A?FgJr zfW^w!hHbXZSK*$)*kaNE;GHq}=W{R;ld{f{7l^-ID__XVuVgGpp>8<;TT!EZ2KMIy zR|Wv;|JPu%zl#;EKG^)@D-AZSj~e-f(RrsRAJu?zt@>8&`63G zq0dR^4idsRoG5)&n%G&D$ppI!VA@`Za+!r27}Z`w3FlNeSX+&1sbPJRP`)i{li2^? zj2ejLnM|lM1BLy1)k0Ou-^hyPbwaU=Osy8GLN*fWaiyj89BJXA<$s58HxjP5`>)<^ zak>A3kfzvX&se;rvWM^ zP-oJjBfr8zMMqsD2-PqERa>E=k5RgkmCOVne|_f}Gx!%md1}jM+2f!E57)JFhqw&TJyBI46}s{b2$er)%b#I65_B{E<)M^(l7;ORYhkUa-C4|w6{x#{S7U}1@+5$y1;o>F zwW+0>DD|qPi!TM?{X|PQO%5a*F z6o3%aqY8}%RjVomsN4^duxEV#R%yoO)vpq&yMa0?U6gF4{7N>EG_ud@EbM)FM9${` z6k&2Lpi+s6;;^`LEN-NK(f68K>mvex+ZfneWFw*jgS`d?>~|whk6p>+Q&~+j*v|u- zqD-{7Z7gmzQhyFyf(|0)x6;>Q<|yVqIjp3k>#N=C2|SWil@lJO2@u%EWfmc_k{aK+ z^buey8-dqW5gq1nU%~q|I#O@Lr7^uPt;`#u-9m*_p*zZ4#b%B@+v23jbc?ei0!KCc z6}vEWlq3(6+a?(i#2>#h8e_0?~6o}fopGH()flewP8 zYfL$kyqnjH`HupU^Ud`x!2)a-lN#z ztC3v{T1Vw#vY2b2LuWo7mFEGS?P=q?rk8;`Ro~PoQ4U+~kv&o8{aS*%@0aU~9kQvM zUR5ixmY9%wq*gaNHc`v|i;1QJzYJhlRWZ~_Cbw*z1h^HJz2~p^;VYpR%KtUJ~^K*XH-jlWPtkKTR^>Ie?xtHJwsgw zwl8>t!1JiA!WEltc(tswW9>)6Nzkc8`c}Lc)HyD3fSeGd^Ej@IrXHwPol5B~OQ{#p zwn#UnqCW!-Sf(PT6Qxq zz{&{@rm2((fb?%G4zA=pY%#-9!~TRjj%+nZJ|_mqS+tt52fV=MaKMXV0L>wJ9|B1F zLk_tKe}XIMhtpX#^hHy*-}E;2K(z;moeV@aQ|W1dTm(9_)&#|ug;9MW7D4Ci8xvs- z5NO3C0ObEtKF6)@*lkQ!{a9GXZUo2qH!F7@pFc&rHL+l~BpLn#UP0&1 z4-)uexnZ9c5t73{k-*nw)&pe78Yhevq3#el_GB?wBBTL@5R&?U1DXkQ$I29d!{bf{ z0cx#~*fC;O$O<6HaODD7?ocSR?IA=NCzw^r6ic}eL*^mD4se-DAB~|tjx07w@yt(>z}c8M(~{d{{7Ypgh72;|Mw#C3gA}w2 zKDz#mT&J4mPMMl-z*YY97L34a_wc+|hm}Sw@;WYjFY7!A?q1-Xn|A;teHn`qm_s(2 z;}JeA2!A+4A0Cy&j@a{hJD!y6KrTdY+G8o|(2FILY)N~TbPC6AZb-{{q}v%!G^(zR zJ51qlqLV$TzI@mLJqf3(tV{xk9H_02(|CQ;(=_XqeRzH330xPf9D-}JY{@Hm2)HO6 zA1vjS+-gck2TOS+-B23b4AfC?>}H^rgpb&-qUQP;QdSv^;plX$n|-l$S-Joqu&YI< zWCz{Fb}-AG7ns^)u(Fb~I-G?!;0L1cPRg$Y)2?_!ODT)g1TI69`jC4TmkroCj-pg0er^@FyqZ@c+B4^1mji#-b~~TyOHLCowl)yF%Kw7WW^EGo6d75 zz@qekEgTiHPm@u6#u)lBn@F)O{2BQE;Bx#V)XmrQ0HaOJCz7hR*&RwhqRmvX(?L)& zL4e@t0HQH$WW)W`7P?%+!<)>xO-8Urs3B%b34Jy$)rCjwQ9trIOQRW8N^3IO0Z$+J z4yRzJB&(DK#pZY}^*wQlPSWg8tK9)QU=%*TZ5^0WzOZ$ z*&FiLGH~6GKP5vzl?*FBgY|f+*6(UmM@-wI7KL31v|?*eN9BFsq4%c1U>tc)SRb!) zaFE~gd|;e|)Vq$Skc8W?E^IF6)Sh`CMD7Gv{~{SknHT_2rt2xwTP4&QZ@chzipGw- zZOz+4O8jk`YP$&YX*rA11_z@L0NEP>4_a{ssLCt22Q7w3&npqW8Cs}UcF)P<_J%{a zF|d140vi5$>o* zS8m17t|o>wQB91$El(N7T|PAr2eOc_Ep~vaWqWJ%*Gq9#;y^hmHL!3Dy8xH}ldm=( z8?Ek>BlF<`{)K-VM8)&~{WyM4x}Dn$gc{=cMK`0>$2L z6@dX__jY)}dqwIVN&?CF8#pVz4@IP?A(7{)$Ub$p4FBFZlf13QUPNR1u)D6Rqz{nT zDC0gs$xpiX2*3{m*uNzdYwiifn%kj%o`gOhh`y_PzX+m0$RNUOU;oE=AJT4ue1EC> z@ZRo|vJscQwyL5agtI6IJoT-Sl7qAdxW&UClS8x->fxC!k!h>QbR8Q3=j#DEH-+_B~*kCP~lpxg~jp?lok$ zUMCF!<1gWOwev6ywf$Ov+y8rWGeuCzvBv7w>gxZq9(|QmULgiSKV=Z9qQdj z9&N@tF}pnOH)BU9NEGsK`dZF6nvGVzzQg0ja`sCOh&zA(>=310{HY{zMu* zhh*t6P6b~LT&my-rGcd1Pbcgf*FB=+AJ`-($l|^W&0(j@}uRcKcHE3tF^Yo zCAF%?LowLc3P%}gjuGr&*RC-(Fk3kwUg2+Gq}e)`6GR7iR1)6*Cpoapb>w%TmPbiJ z6Jx^}7Pn6j*IBq8wk9tD-?xHSlQat8B4Hbl@vo9g@ZNh0w|4>3pt+slHJ_wt&n+^iZ zSg!G5kZSk+j-*4c8u?(MVO7?xNK&Rn2K{=vJ zehv&OHHCEF`(Hxd5I`|`BGxNf0OirsqBslnMc>9iGe^$g`)ePYak7-wqvIeyMs(yq z8b!jNADS7HwxK53ZPKRSc&0 zNdY;c(wAz69}RjV8*M&7We|owodn-uUy0u*8&I8WPwiCSk+)xT_>Qcw!(ls6^v~0g z@nT-$D0mE#O?Ww78h{Mh)+XC(=H0T$s}kceGMs(#`-$qI&L`9t1`6vxfMUDlqLj5| zxDu+ZevRq?=cCPZ_e+4r(cB(jL(?KQq9QM{}>W^MH{ub)s5tg-ohZ5c`?$iRliKN9Qo1xyaXf9dvrdh8K0* z-2Lx(hwog*blWh3vaTCZQl0+dK~z5B*zK+?NkpaOt@pI*@`u_&)K`Iv?8C3|PZu@V!-Zz9mVY{@DNd#XB$ilO-hz~1Z(74=EeH>JEKTum~YULdm zYM2x%p)aLEef~Rc>Jxg7Z_RW3rx{elJ}mS999jW*s5!i#mur^`Eo7$<8x2_wAV-xM z98Cb0E6)=QSDmC#5u&p*oiknv90PtQfG}q~P)8%1WtYnF3*j`E8i=lh;5@jQ^aOYN zlICr})Vej=&*inbO&!3q8577}1vzny3Mka+$dK^5_n|EXiGGyVLN;iq5Y1779G7D= zVLKcNh9BSY_?Ps>y-6?$ytwDVi+dMyz{quZ;dk)Xp0kiI?9-(1E+1aoyZ;^dDvr)B z9OI0!9R3k+!s4zsUJdCU^~vN5PJgJguNklo7Np@A!1}~TrH7=zS=PXf+D0dFXw@Tj z80ZpaC-xmx&hDc|O*l`JR}eDHPPWOa4{2x7FUUHJrlYb!ZG6<2(nr5U8#*)8i{~6w zw$^+}CrImXLSF~jA#bB|;P_UZZNe0k#*5KY`w!BZCnBMhc915P(bYjgQo%@S1IYJk zy_a-&yAv$gz%w9ksO@#pvpp$R!1v3K96E;p!*>h*$XB?<3SOnG`DeVgtN^({;<}uC z>{cA+vjlflc{SDbUPOUakJAB5M#mx;-Ad8F((E?+QF^H@1R5fE*7jA_4>M@=Lk^$d^D#K%33<4}ja-~<~)g?-b zcCNZ_vOIigEguVdmC}O*@CuiH9QhS+@&6#dU_fwrmTzDLrP5DO?#q`13r4X3O}M0y zIlacAVuWGb7>#j_#h7R@zQK$+jHyiC#e7z_XB@t<3=bcOIET!J1fV}hGxXQFk2EL! zMBWITe2UXgA5H9?e%M*K3OYnajss1vak6oQk92v*j+gFj*s%KbiO7|On<7y1vgNh+S&1?! z)1Y_kcpP+AY-?B|PlJs*yJv%9~*#C;2Y2d^)+u$ zKH0>ydOZq*!QO$WM;5-pn+iFJY0=Qk+KmJS%h4g{l0vBO0Y$SL_csL%e~!U-gdN21 z=0kW7mkd-e3XNh6SkJm-S3O4!zPnvv)V@ReQa zT>|eekF!{f@d(ty+WuZX3AdKM3X1QwBpGY@RsC)l#+A_+%`L_Vi}4vT(Ern9;Gf1# zgehI!NHHMj?>faiha0(wlE=s8r?9y~uEJSVLq#ai!McMJ6EPy&X)-rbdw5Gseqs-UQ7%MDByv4{NhB3as_Qja8CPys^5(t-` z0zQ(Xbr^GP)V&O7j6FWH=wV*)T2}K9q@pH{Ew+%86f!zKe`Jbbvz!%bNH(9!9UR&< z2JWl4MXSJ80XAM6%R5OK38QmukazB9|eOArdTImA_H@X&^i5hNQ17`1B^j& z5Ntca%=?9SoNp0-amhm`U)25QBN z&NUVkQ;8AIT|3WyroVyCb1g;qK_-Dn#AtH~xraxOjZ_@$f30Eq^?RfeK0Y0(9fk2L z3sB3;EJmJUME9|}R?6hiK%myz1JLpphG5h!B1KP-oiC7ec$+Ck17fTqhI;dmMPI7c zWGs64wLy!{vhw|;*{#i*$B{OKE@y5UwCHoSZm|~qra_hLz13KBdkteye?C;}Y_4EI zvo1TE8Ve7F^EGR}Ua3~dp5Wf#UKlQn;f=Qw|nZh?u;THM0u zbh1Sa^d8bTF9Qz5B|YM7N3^+Tkn|78S1l#n_ICd#mjJ>4shZ|Uit%#ju?i&pAq_L; z4{E4huUI7eZI`?0&6y3hn zH#I5SyK*)dWV?4{xo<}ZeFPQE_I$*$ES}5C7kQI>TZc_?IM0?joLoWErG>2a3fW6j zcCVBB!P$O3utM6Xyb+KPxKf5uj&mq*Z54Q(w5Py$lB2Y{^}!sJ%jIpq4gxr2-(+mf zE5(sbF8s%%2!aWc3)WJGfIuUy=agcFoWU6c=y>iPSOzHn&14k6uj+k;{K5#Spi8PF zzfm^7Q}7JR`TR-zN<;0KnD^GucR2X_{hT%Pa?%P!-vu!pZ`(>QOYb`VLbQP)tw86X z2T*AN>F9Br5eO!bB=r>y`~NIjXgn}OWjCVziQ%XiugXh9@XhhukL^JB56Mo)8bl%V z0;5U68bn)Wc$lTf1!ta@c_5+(>s#LLaEj(hl0KQuCk5*={43=*#4^%WyZbs>LY+g> z%^DXK%uv$Hxz8ln0`~%y*5c7pw}&ut5JrM_8iK8jqk=F@pMhVsa33M2otbb++ z_cwx5LU`T*6UF=|I-fiPmQ3|x4wyvZJIqbCG}{Z;k!`j4#EYcT#Zu||_NT4l5Gv%y zmFaF{ssvLyFU=q$NuZ<0G4R=n4hSQVs6MU(0Pddtcmkwy|=!f&(o4u3^ z0u%Pr(r~nH~baRd$%- z#adj7Vp*>x9a{DUFK^c?@Z(N+n-AvaXvxO_b-5G9qlj)R;qg21>==;RZCw=)iLfvr zUo38oYAmg%x0Q!J1fi!W#1?=pBhacu3ptCBF!(aEd_G5JQO37yJ@Pc;Dqz>OqT~i;P<$W%Wvac zRAbT^c$WiG#^VK=?uqN;&%kwr7*~@&IhQeJ-0sH_hreSb;u7_7%lw5-KrD0D@0BX1GdG5IOvZ1;cA_;=9wA$CxB+pv0} zgQB2aX}0?}j;23xl=a+#*%7Y(d9IW((A_dX&}KQa;O$Ur=URshRmawk?g%SV4(ZE# zbk$_~v6nHVlURikGaN#;at=)w6m#5rY`tX>9W+i}-FW_~s$p#cw(Pth!;v`v9N%AB z>d5S$dBFEv!ZgU!dPuRgZM=?& zl}hY?WcKLo@LcA4b;AyT!FaJ%pAX+M58u6H9jaczGl(D}jOI^H8NW+VZ`ZnHiiiJv zPX`W6?AyYA9$-S)CAX|6CO^o87&(ZH^GPTUuu211r-*fhVzqvaoy^-7%b zs|-k}^(t1%9iE`0N3(l7++BaQL%!rHeNZuINUhti+ru@|-(X%4#O#s_8{*d!LYOyG zJa23D;}GcW2m%d_v~_{Ts`LkDNGr!Mh5>VejsPA09&TW+h=AEq?1><}0T4-Qiv2@l)z~m}ShldHHditj|YWo&oLbV;Lb;tXf z--YX`jlpaj#JmO!BsT)HmBoA}0`o8eV6^qhdjmY3#B39R$!)l7YgYv3GJ|fZ}bk|Ym2~~VKCneVjjE~m|KsB zYiO#)-2ZKOJ@4Q^?QPbRn4S(pD72^HUHtLVmsilU$Neq)j*--ESRx%kOM~?H-HLR! zL8={t^jQSbVaE2}X0IEhMar<@V*W&M8XJMM${@K6(p?7W?ieIj1k!T`>Cjy&UTuR^ zCkCm01X4eP^oBuNtPC42;ZKBkyN`w|BE=wO8>G7p(mgRqA4DMeIUstQ9Uh|M)iFqQ zW03M9kQN!FSq5o|GHke%KM~?x3nXnM3?SGqV32wd$=jjw9)?L3vOEH2u)=h$VPJLv zMqVXnge_s&cna|MBIZOW(8(Bq85lF~$h^~c9!SWvBGk&g&i8F&d~gfDU)kR>`@7u! zer|t1w7+lL-`DK#6#MJ3zXkSpjQxGo{@#yY=LK2VxiJRq7#fm`%M+%fsn0?@P^Qnz z6P}B>&m6Ffad2jT1|ArgC+z2INyD5ECHzvaJTmTZ;eiQ2ySlttsTt0eg{c{c3ta9W z2)_pKF7EP+^qEhbSje zPTsQ`O#sjPVsf~{azK8Mw`mNA@%W+2D0pG&Y!rseK0CxAnG|_X4nF{% z_w&i&zpqRk@bR4$sdEg6+4y0L$+eclVqoNW1D}})X{Qtv5WkTaFG+l+CBB)&XOTGQ zZU8}qp-@jLuJ8ou%Qr^&r%2AT$B}rdwNhjf6d|w)=6Jc+Nh(MaV`fHJN8$-I;qEm7frNmn^r&P?ScfBAlxOt&P{l;kOpOu^OJB)OBO>FqjIdwfpnHP-ZIs)6Rf9h#D*Hz0= zmkDdxgTow>dlDQ{`~*5A>{r`_=djIVj&44E}xOz^4PzkO|++ZWVW1S?DS9 zJ7hzl{IlgD%`-726wEUlh4M`IU?gnkY1K8KL|ULp<7@__Od59~%N(7;alD{BZgf5Q zWGt037$dvpn%KzmHA}o*Pqka`kaIAcMdp{-l*xQDZ#eQ{n@e&&#)UMCdE{lxBlDUf zE96Tu$X!*SWK4XmO|+Sl$uYYp@xuqBA@8{^|uM1zYhy3PbkI@@i|2Xe>wUfv^|NB5YEid zYM$Vs^78xdW4HN%+t>Se4 zC5*{ll#$7mHi;TT>XF0gc~DSWJC1_>2f*ND#1@R9lJhk6yUzDD_r~CN9e%^@0~1|w zU|ybZ6j)k8Z^Jo7s7QIjfndp~W2o&P6vW&0wW^7<5- z)uy(Y#NG;Wn#68KF_Kt!rRqKxj;rCW4&`)Ubr#~6Q!`2QW=n9xEn9WrIU*WpAcxP9 zsm|W+J;bIa}hW5ob$uOu1?9vrstF)xVLjGXT-x0au<-fg6Yknc2!e zqD{XGmUKP!3f>iRCu|~uJAv(o=U?0BG73~d?k;`$V|hYf`@oP&xRvGJu0PHMjq-$R z0}tH^Evme>+?=$=3-R8`G+3u6Zd3o=v(#feT_o2-6KgXqC z=e@lHS^yCZ#_lZ`A8Mz%cV|04IhYf7Dzj=!4&HPsD$Rio6Q4-%-e2V}&#RT?eKgL$ zs$Hr7jQMey?!ojZb`FXmXW9Q-Y>V9o-CI^m@@ijF%?ABgLALdCAE|b-kc3>`F3-yP-92D6``l&j_*7ZS8%(anqqD`s ztyX1X5$+unW~EDhJenlgy<_!(L~z9Y!3le@iO|7D!jvezAcpG(`b`N;1CM8{5Nx@! z|6_SNhRf5kI(ZsYBTrI59>?kAIXF5(p3DKv0@4SB|Hn zOFae`Cz8?QXtr4};?yk93SAM>7(LA073$6*%;qiq5*qXr6f2e5sX3lL1F@u&#L3fm zTwpN&oHOHnI4-+=nFF%izhuGs+vm99z%r}0db(xYai{4OdF{uK>Eg(5Q!pmY@x&QN zv2OEayMNkMb$1`jOh260*i$Rh{cq71S;#%J3gD&T%b@ShIxf`Trd!NpgKXZDb=XOcO zGH^M*l8!Zn{yTa&K-@Wg%xH(Ri0}2{`~m;{fF2@wQ+i@G`{~gDmfNOVOp2Q9EGk2N zd`rO{Q@Jj0-&CA$gfOuwX5_H#vSY!R%do1Pm)iGvVj(hhw4-><2m*e<5+0 z)B>v%AoZ-_^496MVT%Lio;z`mb8%_3E! z!nU&bS9aENv?HdHp`2__zfNq!TGIH_9za;8FJ!|LS)n= z$AweEGvwX*>~q+I3{_=fef!0|Jseop%)v?GS$O{wO_f3WYYMPK&VgB}F4HWX-wHL$ z9`wWTW_gD*X0#<&6(&Qn+$q&qlYabNj~!?V3w2>L~fr$mKC+ZBv%ireFOLg5}-&Xxr)2Gk8T(nO7tWXif8n1}E!1s1;g z#;%jsB->ju2WpV|PIj8HsN8yKp$1c)U4jSbpX0`%&AYezl_cBdqz_GP>n!Xa-PAu| zk`PVZkWG#Hp{36O$k83XS`-Q;$!Liz^2DZ zvd|i2IF!vYP(J&n2OQ^u)bYS`Eu~EO&o6*;{pfaV`~}n~m)9=6<50Ru0MtcRq^xwH z1Sinw5nO3O0>DWU)*Ry%)?VGK8DycMbMej^acKhs<=WPCA8RuXIg<)g7oZpx2!}T& zMZB$hINYU&T)~c+KHFM=^RiO+8r%M;fJ?jPY)mde3An+mOLo;-ca7?dU=~7sex0y3 zTY|>`bzVzr%wsoWuKUv--eNXLn{#bh562Q{*WufTKP65|jVz?ajXk*0{(Cwh=%oTN zmH0C-?D93ytV>6xj_iHU0lX2Gw=lv7CPPA?C7HhZ6nx;rnMW)9BQ4OtrR2n5b^tz2 z4`(Jf^;Z{sdComgp_T5*O1-^zTxIr_s_eM(CGbJxveV0RoHrhGm6rl>yx!#;^Cx6M z_FQG+{x`grJZ)zSp`GBlq@tMA^xK+u<%{#X7%=b})Q^aaYr;{9M4RwLqH>Ghy(8P( zzC5#Pv*r#(r6zmWYO{wg1K9)D>i=)Z9!x%m1naNbb&zKz{K22}W0*zrB=pEb3W&g{ zX4M`$?}6Ft@#q)`1-hpfKML0}D)e;USCW_`eS1?|8pb^-GCUDDizj!^1*cGr!04 zv*y&KkLDoWbQGB;)EQMHZkV&O)K%Usg<#HeupX!4pE)RUzR)aWaKno3o|p|_j0bIW zYJ`(5Z8`IT$%@-k`#4(;O&#KFiMJY@EzOwhY-vt>3rk}#)M z`q}BH^3Klo_B)25Z7OC0F+#Ls6Ihq(uCum z0O+y7e>;=T_#1=T`eW&3Pha9HSOaimphoX5_ZF4_CJr$1>!G~3^s;fHF->Sr`7R7V zvq8<}mcSTf){Weo{?2qJ#diuaSYNQ3EfD7)uk$iNq05a{jJOm$AS+9f{4dD=N85FP zM^SZcN`Roqg3^>CLTJ)NS&FdK02>KKDS~u?fJze*Kq*oZaKEsCQbcLeK`9~#s7MQ& zpfo|6bZMEP1?eh~|CD?0>|}R`4axsK&*x=sW_IrTo^#JR_uMiczmF0HT8+2j3Yc5@ zA<;PxMx;h(!2Z-`3p?!pz%lqNh9WMs+?0m|c8nj)4H}rw={nXaL3AHhS{SW&*Ont+h zrxvUq#d%>@bF+jWWsNT7ti3S0vGtGzZPUO!T6`30aov)bPf z|MoFzGFYThu)Dtr{J$M&Q=+rN5m*uJ-2P8?{Maj;9`q=mZNh%w)9L;gm$lXYFQ)D- z+vsPmo=ePvatB2X*%4)Xdpl|?q}R8BZ`d_hN6X@+n~?jGej)BIX~Rw1v(GGt-*DQ( zcfrrP_Bjt+cW%EFBJE2Q{BAbA3;7fP`IO%tW$U`bTSjnbk&@Au(2^Xb z;8%uVqcfOwyK`OrmysXf?( z2>NwPU20ItNOyM@m=p8vegzf*4Fc7Ir_u7&Qf-6!n({XkvfAR zhY|ZLiH$+4!>Cp0ue8tZRuW3xJ58%{_-_@i*98ZvCUuq2LbcMOJ+dJ#5SY;xQ@<+z zdT!90WDF0#*jE{L0JRIn#8PrZMQ}CS|IMc5YL=T)P05b={%rQ> zsp0V<<6x6W9JCL*Zphe3cY~}EweQ=;4*@3wqu*CU;JIv&hp!d_V<+4A&QJ}tp->U3 z<9X}VwwVyv#^EW!l#M@Gu)ToX zDTxF8&kc+Z?l}*nIJYNz#|Pf>NQ!|)1UD!)xRf>8ZM5RbSmqD>Jsw^L7s4L3k8mA9 zC1=}6;TP=TYyz#s-UhKEdJLzlNQ4`FQ37=uMD#qzk?n3XVvIo(Tc%*${Y|!)4(E!6Sa)AJFjX*k578f1;NB zn=)zk7->Ap!%ume*Ig)5e9?%Nr zU==*&{puF}Uv0#H0pH(Kz90SZW8VMQuk!ts)4YE#QsE0di1(j=N8m?y_n7zhQ14#_ zPnqyP@%wv<_XFR`WTc_}_pPAVZumSCD8lJol7g4hG~qX-#FqkdJml-o&Ua+|7Vj@v z!+3vJ_5N?*L2nA)c(V8ReEjK4XjB1d4zQDq)7}4h_ezBn=#RDh)rFq;IKeFzW+wT78D zJc1@0Chu}M>%0Q&3T`a|f65s#{!xSI#*wr;26IcdE>+4Rnikg^ z>?tM)j3p$txNZ14SVki45)Ay<{(@bJj2~PCEfJ=88aN@{&>C)rwSt#%-xhot0@4mR zVHm&ZK332E^l1R_QB9#w+Uyx9l!EQIZ_ly?NBl5yTd{8&1`IHDeSCDOEZRSChrSb% z3>XjKAs7wd=P;Rpfpnq7%2{A$gZ};YmzChT6h@_$1W0(t>mX@84j$LWfTSt(ak`GU zerp%*+TH}lG?1wZhm1f;45&){3XK7JV=rRb%Uv+3TX*Qf*9rl@*j~sAIa6eu%m12RZ*z*(gvM@y<;|UmL9p+^3RY={!Duh?Hj%TheN+=%R|gEPW8wCYs8= z_rd_9y8;x!YQZxaVNYZKF4$XbajW1JX&RCTpi+(xw-0Jz&=$QE zG6DpqP=m&R)L@phiEBUTyK5h={%PXciNn@5w3QJSo|riS^@Y$0j2*FgX*2X+=&q_riq^J9B$0zgJD!{U#2cAlhBN-SHh7y9u zv18@a=5=N`u>wwcgV$#P4p?fHb_ENkwQ2{T?%=%uYCDusQ-wUuJ00_Zh|0ItzWy&Y zwZl7UX!1&hW`Um*$1WG~I(8X9458vzFI&NRT|TDS`~DxT?&p~**pfUD)b&MY?NiY& zir*n6eMLLJ6O}X}6#f)*IU>FoXxfSB3jB$BNcmUbji~M59sHcQb?cQs=oM7q44pev z`|M5J%?Zm)Jdw3;MTfD!A-#k?M=Fx=lfW|G1G6EwV$Max!-i%81;9(7zrg$9-VWN8 z1V6ap6jSgWIMq?%wAQ1!(DA4U+km9VtoLCex&`WEloRx9TUIbMpibuIPnA@Dapha^ zT#u5rWzjm)Xf#Rd0kIq$qJb;ZpA*ftgVN5SaxE_gZBQVzj+(*Xu0jW2G!&<9GR)Faen3Ah~ z!#4hR6b4SFizS+~E(i0Mi3J2HiO$vT7|{O<|tHq%$Pf@mI1&B!z^*({$!Y zC@ko5hn#^t1ORt;xDQKFwQZCpN^)jB6X6;Stw{4DWAIt&x1GN*J*l>c+9?sXrYUJr zW(Sn`1%^<-?IF0F>9oZafhYBHNG--EIFmrz(sqEjVCcjD`s z>vx=jIR`y=4ct#Zw39ME`h2*KaEIK0H`!wQgJ7MmW}$j7{6~dE?LBaN&Yo?3}zPKMP+hDTz)%7G`$dhyOn&&WO&Jy?R?*v)Zedc z&G6)FS`bvvHlz776(T0>g^TtZ+h!Yd4pV}SuU1*9bWM_UTU5uSsE z28$zMZA4PzBKS8-$-)rI-58$49@98fr@<*iV|xH8@~u+YLdksQsHIDSf$3U0hq??Uqb<_pMTR=aQTq z#d~5+qP7J(K58+W+~pW<1%>xWGl}=m8$sYrX7TII1l|@<%6yZYUrN7xmwZQf*Vj^b z2eQtdUa9b|x=QkW=Q_)GpD-Vcchir-;=R;V;=K?N1m1hB4*F*_*O#Dw0cFPV{;-Dd z?yRZsesYoId;MF5_m?Y#_izg1J&mSY$#>VLVDa8XV@dt>wlfI4xdh%56p$t8e?ggX zyq?vB_fQRmcgh9A`{)~mckgAwyHm*bI<29W`h09-uy}JSydlBhEzIh#ml1d?W(wZJ zs|fD}yTUskcDsND%WL30r4!!5*I2%f@XQ4zUyb6aVC+?)a4Fvc&4Q3`IaYstAk8`^ z=rK@cT)r1q65iX@72Y-H2yclMO1{^~VmqF>%6Rjd@ZSF+SoxN1Eb)dl4FYdXRtNn@ z8tEnITcON2-aFqC-Vg)tR*YEO_A1L2-iKtd9WP&Dyd_|FJd|Ud&UowH^_Fk>b;06o-$3GR z+c*fkeOMjzFKF&IL7z)w(Tv6$WmXX0>eUq9l+%Q_>k@^xGI=P+?;7K6dB+=XEez0t ziZ`O_OT4`r1%Y=MtAqX*WnL2WWGFK(U;A>x8~%#In|g}y4p^-4I>C3h&T*5^r?FAn;CPbR2`vt3m9z&V41bqaQ8JBOnrG&Rv6@~Z3lO*5C3l-ij1qyF} z@=%W57a8y5zrFDe#{exTyi4myyo>7vfp;UTgPvR9wPgz4n8k!QwvxhI|2W}Y{k6h7 ziaeBK!v)4W?}j(tPcc9X3h##3CEoRpAn+#DrQ7v3G&P=}cZ4$I@{LJ(==B3HmiCGmdx3 z0>Zn#g2FrSDB(RlSK(bn7TfXVdDiEBIQ&<5H(|gM6y8fUCEg3K2Z8q25(_jf88S{ z)OSOfalD7;5#9@B72f%W2yb2k?Ou>6`F5$ghM&Vua2jMO8m6Go@ve=H{0&iXu-uoD^1ckS3b%{5uW)OI5vO4G; zVbUMRN8O;zxP0%-A-o|5-mM1-Z_^okZx5 z_l6f6i?I+FNDSXyGVNLv6dI5$IC=+Pjw@nh>LCIv;D`ZW{Srw|dkp|9l6z?7#S=7F zIS?Z)5`bJP)P-u~ueB0?7jJ7omnMne5nUx|Et%kr7Zk)SzVf5C;#FpMT^lZc66H21 z)12StXAhrJO`rLZ-ng93ZI6CQ*`KQWNhjycP&(P4JdUH`GPbvqaX7E~<8TbPg0eqL zt4h6E{HnEHbws_|$ZDuREs*Ai(pR74#1^iAgxMcBG}C@zI=1|{wt*eTq~i+6&b%YGu>Jl+-Jgw7dtu@9djustV!SxGp2h2voG6-Xx&X46l z2%uKR23A`f9WW0@3)at@RwRm_Iu$ej$~s!V1j`(C__86Wi}(Cv*~(I`VXs)qRUZOo z2kiz>qUWV9@7<7?9NGuq8?{2L&-$OO>38*eRC@G0u%yXbAu=?7>47gG0LzDptNuA< zHxg}s^qErYz3d6LEn@1g(-gQgJI64f3aWqRtb{mlem10P5dE_-b&~|W3BgX#n?q^z zPyCbtE?4sPl5n)+C%mFkIjghN5oB9lq~*3J7u%6VTmBouBzKtvaBTor>%}@&zXNPN z1s%&lK-I5Y$56_oGO#=pCPHYwwmdJ^^wx($6(!yRRjl#0Kzme<)F(lo0&9f4#f$x& z;{!g>3z1`d;Ik4!8DWSIP?b48ka9XXjRbwAs1o$jUrEpfrz$~TVAGtdB;tn&`g2;N zB)rG5cL9t3))}}|ruh`cT4vElu)h@jN3P3ZyO;B2$wx?KYd#twAB9<6^lw|zWBOVs zh5R!xe|`9KqT#{|iiY{Sh=#mV6b+~L5$M0ZX3&ptIIlo!7%G`T2bixfR6*h`P{|rE z`J-~IF8Uo@^a1hVe^5%i;!wBr+xuFR+1@_|kTPiRo0ZQTd*9|WATY4Kf8%+!_rs}w zI(pA%A$){6hJg0I4F*b<_WswGfK^lH&9J?%fi8snc=eZ2z5)ICFBH`ysI$?W| z{KZ)OMOV*I^=m`Ce+_SkbF<;FF5J`60Do6|R0c&+C(=C}7sU?P1;@K#&=3icas$5A z1&6=kTKMwtQ*go+L@9J0Gt?BK8nD{9sQVRI5{FO0@$J{OW3cKX62jwJk)S27w5XjD zT|uo6B1;&TYKxtQ?=L$G*6~5G(W3Uln2UTjfT8H10j?gda9x}IA~lg)aTfy=Xa!$s zaK(E}AO;!&_bK4}@IFb)c6un>>m$}Nuq|@ua9EpciY>+%mjH_b%$f>|$csWd@^_~1g>AnfHmR3l)-CP*jG3v9lmtPjc z9^f68X4qclEQJEYaZgB@4BE@)6~SKKWqr~6(88}IJ&sC`{uPwo>Yt(bc**}*|DQGV ze;e!n1VjH5iTcB{g#Kf~*wBBByMojIl1l$e2c!Q)XM+BRSQqstlv4lU?AP1v#GWHw zmk_L_yHT!{sNDhm;FWPWp6vqd^cD}sx3CETPV=Ed1sb~c(C!{yS6b5K&Wt2j z3ta5$LDLCKxxobp<9zQ^l$OeYeeeh5v9@j@P*viTydLhv92oAo^3H+%ES?oPu!i{T zczU+@-2yTo#)YU=HX{p(I0inCDFDjJkiXi4p$%M$*8D=3-hC(r<7052YJ3Sa0)CE< zFO^X8f5}?@xzI!0V|CGA73;)mi}E=r)9@Q~er)4J0N^?YyAxH4tUHWV4Q;+W)kmAX zQ)E3wn~uR+E~5={zf(!;{MhUGa_{_D1+1{jkA;dSi2PR6G|Hxlt#l5mkprNr;_pH@ zB?S^A0RZ3A3!EQwVMGAlrh-_d_KGNLKq=R!KR*BX_5{hVIKq;$kPjhrF({r$A&$vm zdQ+T5G(?BxV>15`T>kNRTpE6V#R@Bamy0Ke-;~MtxHrG2s7CU;U;JJ0yNxbQ%5TMQ z1y+9DAy&nOi}DR9gXi~Ntl~Et7zdH%ooia4T23@9K$iFG;wO8r+9++oq~~;iQiFFBl#UD{x10KPM1OR`z!i$(BC)3D!dM&>4?Xw6NR@_qlsGZrr+Q5=i}OlyeExt#CepO0ApTQ+(WWuCi;)qlN2 z`2mz_Jn~q)%7v7r#-poJX{hJ0ij!H%xG^YHb9kBPUfQj(UU*+8002kM8C0MO^E z@z3+t{-5$i_lhvkwPGFOMkrPM=l#8%bj{cN@Co7FnM>jQCU+eGZ%&0bBpAGf3p36p0&jCDGcMo5qX_SX918FJb%Zys zf%nvpgtycrmhU4R-YdNL8LZ&sTd07PZ-K%=$hRD;zdoft`u-O8LE9f|1G_~6gaA?ZK=d&d6}$r}g%r#ATv{!4;20@ye?MoBQ9 z9joL!JJv(Yjy?aJ<>V9;`LPyf$P2z~aLFI7L=k+C$+EyK6-;z@t0>?BnPAIC2^c6)luAwtM)lW~kvPjLF-2`XFo59$Km`GpGwpgVdg+}EjL9sCR1WHpRysJO z)qwmV6Jb!{rpV1ig{A!SN@m+sZUpy;vFQZ-G(4iwQV)#F z472nWU7AKi0oNamen#>(GM_bXwEk!ctDQbUtgm&8vJaGI{xUQ_TX!hwQ}ahi6>TKW zxsvoLX0ReJoL$x2SY=NZt{{E-dMA_AW{0;vIWU$phhkRx6or-^QeyErdfBXbA$=Og z>Zh*|>r&T1Df!5(d|tU2lTOXv3OTuyZ-|zzA1YcZul1MDyAsXM3Z428pIyh#b{?+? z?6I5(Y)v(Z+Oyk{Ks7x252GbR%dXO;Nz0tR2|c;atZV!Mp_wBD!#Iu6ig81y)tctdAtcts~ znwVURQH;UlLb^0D8L+?Z%Po1_lgFAz>aS;*c73r}Py4MXFf~-|EARK<`Po3yJMK7MO%<0nQd^7K#qd9|DlqX^-o*#!uJ0ux?N9# zwMCc-+6$%RBeVMJun$c-HF4oK`2O)Sglu2kU(qrOEW2<1y^eTR=u{)vkE~_qXQPTF z$N*~XVj^(cCrseGI6-0b*X9_M8Cq7CE=^iy(O;u-Nj`f$Wz8q`*I}%d`Zl}ZRg?>$ z{Qu~$MF*L$mTf8DXyNp$F>}Y1P2qrNMCbME( zXE1paqa9F9uS8hD{#qiZxd?ls{os3wzXjk0eEI7po)!GfEf3F@ zqh}p?Mlyf1FzI0MHx|PogTKLa861D}vP=Hv)X&7< zySIUZ(hG^d&-*I=Fdp&c??v&f;IB(Lcs6+fKI=IAG4s~}k``Y4HN?ot;O|ws43599 z*(86Ra|FTPKvq}%tXNN-EXwUrW+s0{KQQrE>K1Tt{%hjztv-ssm%wBA@^|KaepcGQ zvheIOde$-fBVqqGn)u6#(WAlNO$>N~wSQS9f5k$A;IAsHt9}{QfT3UhTa>$@%uN1H zyl3L?+~2^#qWQ$%vr&q_zrZW_@;6^REA3wxJllt!b@Ui6>>m#DjsCkG!y|*g@98o) z{X3odK#W69W($J96sB9hEtX6FC(6T6O8%Zazp5;^JA*(fR&i`j&eW@w%I?Q+<&=->F%rxIc6mS|` z>=ek_v82^-XHy?m5h3QSDIn%Ca}h2L>v5g*$3r2ctIKA;+}lI}WK4_B#+w|y;g6Ws z+Jh-&Ll=I)$i>uo#KP&uIC$d2KxtgVdBM{#AI{^@lUb~JaKKETmcr_yzgNYOH+;eS z9-bEqhxpS;Wq4$)m?Vb@#(rVl!{I#aJf`Hav9<)(@Y!O2C3fmNU5cF9QHmTm*U>&J z6~;V0=OAwT!FPo&9M=}GMgRLd5wYIXQop2oev&npwQF2c@`j3PPe2VEa+wEyE9X5xJ~$=wz0B)`2gs`j#`m$QIbgkN6R&+I z@MREp6IdbI1VrB?RL_RQ&Ln;G=yfZjqIvYjP;&m%YyQ&D{+OLTu*t`@ndG4C{fvWH z7Jr3QI3l81O_sp89U2Xqlhtywaj?qmStPIT1~bq*nAuf8&tObq28#XJ`#U^kXloFZ&+4yV#GS(Q4O|IkE{@^<_#wl; zi=%m?3!cGv1TMv^ey2;5heJEh=1t&WJ|5kd_U*xcDEGj8;7SI~M%^JnfA3|s_k*DP z{}^BX+{46G)su6Yj4cI13=NjxS zz=+IX?{m5|u@`WBx#gbZZ}Y#_{Jntu?f-{v*P|;iegFxEBN!^v$^P5$MerIf5R~wZ1C3uBQk@(x9BoB{zl)G{Ehr4 z2>zz9y6U6LGk;`3K@>i#uiN7@~fP?Hah`+&|6n_mN((vUkwJSd>_>045lcwXd zj+^x2Jy6T^nWB#Uy@;xX8f7bpq`W-|7 z^Sk7B?8S_OWZF(6h~@gTfog}@ZC`&n`8Ku}{pqB8*xtwZ)1uI>H1@^1eTO=7`&NZ;0W-wD?Yn+Uw(siQAlmm?S)cat`kvtZeJRmm^lz+8UjBYv zXVfM8AFHs@;h;G0;&Sw>lg@`V$R3xf4nLC zNr5}o{iFrj>2jo|33_UnuY5DZKA(7pNq}(k49K_D60i}ArXmUUXL%rlD*G2$U0?e$ zUpy=9OBsB&4?XKR{T^$@v8AXLimdGzUK#e~d%6tHzMQ@xc{_Q_nm6)qDNM7T4S2)+ zL2gl=FYT=_cz*Wd*C%i62(1oyKEgGOk<6;@y|Ob(G-MsT*xP^vdp^SJ_;T;{vlXzy zw6yazP!vUS4=q$Y!Rx=NbtnM2*3m&VGT^N${x0IRk^+oZM%!wAvg>aWik=m~Ach%f5i=HsvKGMb%}~}HbZJu7 zhBB0;l4x%MhnI*E&CW?gL$3vDFh2NyR8v{jT-LgC&9t*>Fy4}D zh7Tt?fjkFQIC4fYdDn4>Z`gkfTg;sT?SB!kU4B!UubkH;Um-WF`6`2a6;5G|EBKPR zJK_2z7~iIMymzu4v2*1VI%^v5EoCLy^99z>;p-u+B^7!z&>SY9DHvm!f%+fsmAEQ# z7E7_lN#nh$tVVjrl1d*S-bj~!%R<=H{{CEmQQJjAQ~s^ig`HWn5O(CPdojK;n4mCv zL0$p~A9{kr`wNu8v-JsXOcM|%ZSSvQ&ZpG4B5_u~ZjF=tTQe5FJ{LA{c$-H*^7Jtq zaP){Rb{;7_XuC@dI&-x}p(?wP_ap${??O~*?Z&A#e5bG*Q|7|>b_w3;cC_lrbQHpb zxIsrM#zBTrxIvdDqYz+xTjH|hrPwuVUTAzrJid1ge=XYc6ZWxu*3=WkQ~Y8j;VdM#-)u z?S33S=D5*=$zFk3WP|L_F+wxNR*%o;ZP1Ws%;&AYf;>MipO;8-@#wL|IiQS(Qmlvk z|KRt7H%wTZ;t!WN3(57~EZpRG*v{#d%_f3oJX_6yhCIIj5p7HR~)2Pip} zq|Kt695cH!zY&qh9m-X`@-&|P9j%oHevzi)%P3o#n?NmOe1U7a*uCO6n$FkA2mL@hh~CVt<@a(`=h zbA*3fE5!co$74!uqQ@Z{_IZP-GlOUENfnL}U74N&IE~@6zqRE>#Es+UNDXlZ9zT!6 zaoQiSBPOl=dh+?FGA&8$)sHB#r;tePUEfe*ugvkuk6jo=OUx4}A=i4FHQ#Hyn;4(c zVr{Q{bkqeY-(Jbq@}+$AFjfcsAF<&k6-pV;WyW}|VhcpBeA}ys!9L$&0lpiduvY^g z<~v?XiR5R6w=48=Vis*9%X)riW~n@8D+~jXAA?83+hwCmleY_)kF0WD@>c1RHE%Rt zt552bpg$#e%P-0+u)js}_vHF=r#T|Gha6J+vUMyeeHEwT>>*iU$J|cLL`n{tdOb+2aOV(P@W7%{lEf*9@nu6~)DS z*mrxx2T!hHX4X)hBN$qNH!|Wzpf67h>I-H6#TUvT&f{^wqqCB?2j{JMD}r{^#_FZF zg8e{3Kdkd{;Z0G}VE-8F)p#ZNuuqT?$J&l8_%evYHy_uP+K2Y8Gqo?Uy`%ZJ^RREn zue}RCANP3^ZgDT**(V=YI)XI1F&%6{`M7JN3C67s45KS1iIu%`Vp!)_f79mUhMqw= zAkOG>D2ISJIUhIiFTCBO=cav19^D3|SAR|Kcr4OMusZ#Y&}lqYh+x_4{!hs(dK3YD zK>&@xjJ5*W4dW{_Q2*nx$)}~hP5R4P-)KBGpVd?E2;0@X@ZA=JGXL|7a%+I^`H#&A zX7qjqvnqkI&ugq;_U9m_?%OQS$(YqvFo$E@V}=>P9xXj3aV|b5HJ0c-a(XXgzMsOaCy zhYG8BZRSbI$MiGSd^AEkvy9b5Poiy9us#?{$;XrXquxze{(BV-RYwpF^BO7|`jdxp zM6?s~$IP?>Jsbm|;N*Wo;$3{&8ZXPA)kV)Q@D}#M+a6A{9Gz$iGmUTDiKA5B2U-5v z06`qrz9m;bsWgHxiE{KD1XmPa(d*_Uc`bCz`53u;mNa8<VoRpA~<#L*X68ZtXidW++jchbaJs z_fw4Ig2KDusKmSeco2A#SS|EBHpcrOloGG(@8)gu5YTy@z>NnrA0{ZwV+WaRvD z1A^|_rJ#oo1!Qjfy1EMbIQ9Y4T6((JgDq%e-z@V1)kRZta#L6AQbxMhU}WAtnQ}&Gq}x!1qmXDN<->jQ0rgZn>sq&y z&%3fgBh$vm?eU~VI`c|RcSOQ;M}VY=Eq^XxBOfRneC-;}y_!p^2g4t!d0Fa_=GhX3 z=A~%A4IyM5T9Q~$P@jHGHNVlcHY74HYf&Fk&2Cu(=YLU+qY^y@=ig#pL1|(N1~g_( zj08=j%nU4S^ZpJq`>R5SP@b5dEN~R%X_23#L~vQsUypv9_91%of1%|3SsOTzDgZay zca{mGgCHyQ{b0;E`B|@6KH(<9~UlB(3#o>0tVO#&d1zkg^V$gpH>0TyduPaC3$+8PgL=?S_Z@sGW%a(~jqs9*{T} zAF{;BB#%cy7z@h!fXSZvF#t23|i%(^!(bgS`1vQ8CkszfDasisM5}_jS_c?2)F7uh;Wt>wV#DilUeNpjPDcoO58htx5iEJ?NL@A{Xi~` z_l`m-`?tUOE}U}?u--t#eYEW0J957D4d*+)1~KsY7R5k|e#F3LTDngR#B-o=w+wND zvxs=gFR)Z>n+QfOYe%^zD-OkgYCy4UyN4c)N{47)V!3Wu<; z|73qWVUOf5cE2@$#V|hng4ImlE%p~4fKu{j8E@^ZhA3hEKgSofVdFh00%kXE_a)FJ zDA9xQ)_JOMjIGH#XQpE!z$f0?w;S7yap9hQ*zSOFA;(+opq**;J2T}ytvbnj;btZ8 zF7FepJ+F{-aTVEYHvLVTpvKdz@jrd&p3PT9&1Ef_YqrapbJ}65aTE~WshxmH1tsr6 zj`YfV=5JEo)At4;?`5nWdPT7xvKo{^-q!KSp{gwJrQ{LpBaMS!*0XqKMU(?1J6`lPzm2v+kSRkzB?9i-9_)vbC(VJC8g381|( zkD!3I!T`(+)PMXmI!X46k-u5@3yPnnkoXhywXiML=nv^ypVa*o#HQk>KARwnC{I{a z{4{GT#817*bvjx!WI@JZvcL!!24EDHj`(S2qQp7pIXyp zF!9r9kK|?KE^A&WewxDSqURR-O!N8Y=LzGdCRLCjd)p04?QOjfwSDx= zRQf*!k5st8{$gl7q5qg6HUvHZ11&&mtk|_)e?Buo;+>vojhFSG)k6OQ_LKV2|0k4h z?@A=!==DmzRUtbM@|_1~Ac*+5Kf|8nVAzv!oUi0N+#alam+p{w7kjMna{iaqLH~od z9qWHW>1Ds45N}LH!W+9z;jQ0;@UDh43k2R#?5~#9WxVq+L9Fn8is4mI`n+Mg#JhfH z5O|YV9rWS?Z)q>Q-b)Xjbbe&S%ZOafkBs{s6uNPD!u~y+Hz2T&1+(uvKT=;jD>_I+ zm{!tq(X)>DI?U2=99tWmp~q`TlUfM+7F~Mx4O)LtUZ#oh^Kh_5;&iXC?;3cfEIzwglgbw!wM!)&M+Zu{5C;P5VxX>j~l zn}Nn*&fF0B0F01K{@=DCJj@m_e=>86#5;YvHD0!VtQPvuu-`PT{p0hYRIZwb$_f4! z@TsA)zdUt^awP0NYm~4{bs=GYR$6tC?&KHj+1ILp@fHZffFX_22Q-dcNi~jzwV0{tVa4)-qx&ppiIkG zX4sR8Wm#!N?DXntP?}qvh>CYhDY~kG%J|xolrsFRP`Elj{>Nh^;j2}8N^ zWBg^bu0gT)97Y1zcy`p4qj-1i4vHnQ0fzk0hw8S0>o1_ewMhaZ?VQr_M{oBnf|oEoj+6X=3u-9Rw}&v z;cdV`y^;#=GmLkdo$*$|{^3qgW?a4nOOt%V zzEyb7bRfJfUsQODlLv9Es?K=p;kaMnEsp_NPT7+iQ%sC8nJf-dY%t1%)?ilf>KW=OFM7V|CDV-cGKk zK$&s8_Lm56_zHzLwLRe-P+Z}4kkfEne3kKb#Zj}u>%>qhD7-^AO1#lO1%Y=WtAqZU zz*{?0@HQz)c-t;lcx{Y#bTNguMQ3EdkwxGgfLSYrw*v-HLE)XSLE?@5F$lb0usZ0Y zXdiNdJ|0RbUw{5B@M;Oa-y@BDk$`ui(_wi1V>=RbTu}wQExWsCtD&G_weC6X-L^!9 zjcO9Lo*#Hq(E`IPGZj|r5`|9;j* zn#%B6N3f|l$z*F)OW2m$6rS}BP1=e( zMQHLg-dT*^;)ta8CTeb+_b@_}p%@4mp-CUQluI8v(v>Mt!SyjEy`w#`zGT8WDeu?~ z*78nF{vCX+CT+9Bz^9vEC^QMgXq(Cd}Xg=u}38B8zrN(lv z7DFj0E|cJZKkeT)Ne=H7QF5pSZjU~G=KT$`dqw$CLGGIeAgQ>OA3YFHod_3x^lwE! zc2L%w(>hU&qnL<@@?b*35CFwgh5#;M$N}BV$iu|E0hAkKO`3T!#+!M+m%Qis!J7Bm z$oq@b4HERbV#oDEQ67a-^8MuNQ4ha>4B0O%L?TJW=eH&{@)lOqo+1nE_=_^^iP|H~ z)GB+cVE|$_G6CYlLTe@N0_&}DQ+!yC)l;u6@Yc^1yceG*ytfx9ylYtcB?>9L*U0cX zj#XrTn%9K)J_aB`;Vt`}#2dCQ2)s2}E%fm>=rP>|Wya-urwHK!Dp`t?Mye|)bfmqD3kJZ?QdSl~HCcU-&l77?|% zgHn{+4EFc(tSEOdJ)@kqT6bB6+Kqm@616+9-=_J?H`Cj`=x4coO}TvomZ`k3}5!9Mjg{H1sPatEEcbX=PbuE%HovQ0tip+lmORGPmm z&NPoJ$23pIgt4->!%Lt_g@^g>UralHx%69!bMb0RoMQbKiOr*5qy6U|{T7t6KR(I& zuL1-sehvzY981$TNT2$(SNgO#0&5&A$}-R;I4)N}r(j@Y2I_zQa?3ZepKM-b-A^Fq zg!9ix{0X|lz?bgzU(X>nHGjEmHl(8Z5*9KwwEk-$uK!|vJXnVDd2k$V7>Csu*O>B` z1UF#*^2iE_^Uz9boRq&zCh;feW8qi^Kl=M*>%X35;35aN`YQlF(21zhTF+79PGLQ( z!Y)&-3Et^;{1L`%W#uUN(Pg%?r(6?q_w;XI!So z^f^$b;m6uO-hPJdPa->mIc=0aA8JYfvk8EQaa`_eAM;Xs(f;J2_CCh`R7h|8+KTp- z<@UAwTG_`CHY^{MW&zm!w{O5QBnI2p?;A_I!RvSD>puLY*FG-H!;D5p`mv9%0#V`h7IzX9?4jAB>&4!3a)7r-gOC`?O6_z;JK7K)B^XMK8AM@zD zq0E4N>}(@gAJAztWFN~CEPLdeN}pn3V*+%T6E88)I2`^fpaU_oGXwQ+ALlJ0MF)A# zS#I4w$Ud$i@h9j74Seafk7M#8Hf0|t&IB{zBrM84Zkh}BF_!f)MBrP3IRV2UOvV5# z9rkgh>zl=a4Ikau-pLU8vu8+@U(Z0nktjPgCc)Jy z$%5O1DQG3Q4TXFJ*9go+kxn=%IR=Km^843|B%TXPt?~4y_>aY`|8U6%&l9g#*_ej~ zDeV20=^)5YAp7HM@7>}~Vejj=2YcTR?{qsFzsM{kVq)45?;4DI4151IT?S+C_brsX z>{(*X3)%ZKtQPvO7wIwmcPP_k??Xb_Ivr_-aO^8vsQ!7O0RbFbf&pH{Oti1PFG1}^ zds>Xz`xtxQCB5zIMWd19S`BVr*RPblFTjTKcyVrD6aVcSy#R^9_KjSOd_Jaqe_Zh4 zFTM8u`<%>ZEci>Gc)0OX)SG&C!bX$5e}-u;C18xkbcE_neK8g@o529~e&*K_=k!IE zIN9DWBe8k(f9SjckDdx;2JC&m+yraHXUa&_s89OTnT}_nf#~#lq)*ObEUy`uhfqL2 z!HCKX)W5x7Jzw^Zl?$!=2ig0rB>n_F!ocTc|9o?GVE;bh{;v*qoEnPQl)e9ADwv55 zghko=U0;B`pU(O?s3_z60rL)qL70~x0eYVsL2v`c!-?}G&YcUaagx11O5#t@-RJ!3 z?-RwtU*uxo!amNM0>HaD5LMcExWBkl*vA*&1p8>mJKc^!FEAZTG3#s4F$Lou!#<9o z%V6x|>ba7am0w%)LiTYhtBbziFM3R04rLnq$o-oSp-bm^2QfL3A$#m(rS|pfB5M1J z?TDJxeiZwOVb3!U^Ke|R)c#Y9lgw%#Aiua_j>NrwzBO*jFD9}2=oim2?kiAw_3tNK z?-iGW@J@FtyshdG-Yr?NhVZ%@VvS>Z5yrb36VeLrER3Ck!kai-;@vqf2)svGE%d4a zuiXnT?f13Z-XjHr>ZxPs>IczmCo=Ab;JZ7PQ;#I9HHi?8Ah!((g@A2h#7f zmpOZUteH-tU(=vl{K`I*02m@PK= z8;kLi!QWuI4358f(<_K9vlBbc*ivt`^-uc)n>rtSBSg(G+M^ZfJeAu(L3ZH_=KEu z)##>#d_*wTC29M(Zkti((SD*j$1hZus5QsrwDctEb4aimG8WSfBHu7{8UjYY7d_M3 z-h!ma#K!)~{c!@2H#qt2uCf;!$~0zbK$|Dv^` z8yzd?GEqB=IdC7Ey!YMa{Y>(dXSy{{r36pTquwqc3eK0u9v8%UR1tTXm!jm{>|4ew zUOuW!yey)jDDu*mD^BND93*Pd#FgX1Ggt@ykD-CXU=2uf9#xI05?A$U*0|mkxF#I& zEB}DIiH8C0L+>yoC%dXE;}oQ&l?c-BG@L|8Gq_@A9xq4>80IviE=hA!o#QD1vjmRP zB}CjaE!GRQpCa+K{oEQK`vwhw9ad+con-G=?k-LVSv+KL4F1dSaL z^w(T*=xHy|E18Htj5;_Und@GfukQ0`u~4V~vgE1K zXVyGP{r=`q8vPE!o(AwQZ{K33D!fL#>=~n&n)ou+tff&WGBuPdhCQViNYutLd(lQ+ zk~VJp6~blZ3E=@6JR-uGT=83|mwXp8>R*kzByBR+6`rH+^JpJaoudY^lc+t78H>ls zw?@3=qxxiPKBRnaAMneEwf(!n1UT8XUm2wcSXzz<_?<>$NWcuPn3+ofOVk!HDSsPv zVE?Gj(UC|=)JkC9z@Pp5pTyVJZH-Ubzn2w0`u?VQJ*0>eYdParhGB5%`w7nSUMH-< zCpg<@#SfI$ce+M~6>-uhUW(k}5FBC>JhH$3@32JaECXznLZC6!ECCLhRz|`{okoV0 zLqa$EGcwOSRf8U$6ZimIYq zH5{r+i>gqpnjSU=0~QD}-S)ij2kmAVs{K^eKFA5RC%Ja2s=bW0iBJn^g&(K~Bx=Jj z!3-k;0jT?b00=GxHE+^oco>WdD~8a=D`HxL2G^2;mC@T6c!!LCKSlZC`CQTQC|`^7 zxndr{Kx+c&gGYaFKRu@p66G6EdMAX`d6OABKef`|C@_1Sk5oS5E-(r;y{`#LU)HLV zBQL%!2i3sxG^gvdHYE&hb0xx8p0sdEP0MM^D*qy55c3)o;ks4h#1sf_y~hXbCn8SF zQ?&gb@)P)+C9s>RS|1nPu8-fxr3*?qe#)%%eT8qZ7K<@_{OfR}^%+tVd&{eemg3;S zy_RT;BeGAV@UvnJ+5?|mM9&tF4e=(hWoboVcFbKHgVL+_kwLXk`4nA-doKjW_4d%k zym#7#OMS~ZLGl^mvgR`v@>!VFGeIA@SMVyzE>L=_8~na?{;~QMM0Z@v$$tIhD=INv z09D29h|i8UBx(gQb1khtD1+!HE#t5OI8KcG)Y1-eel(YF`!X<}Q06*H&0c+|>INw& z9yreYvXXaYcH?`pF^rawf-ur@weF$JOj;jcJ|QYr%BR;vYx#6U`3z%m>XrAfd|rc6 z=)1K%7V9jJq3nkv>39}OKE;+IdE^s7;xK36D~~PXr93uI2tpo7yM6Q}z4_pq8n<{S zI1HbB@c64Fp+ye7hw{NK7)INyERQWXzE^3|<#z(fBW*tT$T*4fP@E-B&Ic!x_+UNb zZ}=FjXM|GPpG?VrT|u0bFg*kMXR87BqvuN~F#Ew|L`ouD05OPf{;->PR@k14c6hcN zJ?l8vj#-+8LwUp0jJ=ICDN{3;E={H;VE%C4SW-ynuXAFp^_cR9Ye=0E^atXcm+Zt} zf_@6F4Skm9y#%v9=EKXR5n~3cK3k_G^5kfnx|IygN*tamjhKm1jk$;VT_2M;M&jBz z-Wpeb?4L(TeITC#;u8odSs8bhPMrc0AXqh0p1-gDn*$;Y0t)_g$vCRIDbYNBsV zqQ~?^DAUM4z4IquCo?Sq?6QGCOW)!sYc+qe|2z;7My|;**U4SlgJW`ofYlhhfC3o% zhOEzTIWkJ(J~YM}cMHUw%xa@&_r*&?57#|7ufUHc+>P$QINbJC?EyqLvfemZA7Ncg)yEDcD8rgQi55)O5oq>)#qoZo)p zqDi+~y@K&yQ52&6*>lQ%{{>dr*M83z&k6-7gU|M%XB{j4WoyQob1nm5&P3Jvp<`J-CVHD%Ci?c4JMVHW!EX%1%za#@)ngm|}f?#p;hG zUn@sh^92LrRBh`>=IPCyT)quuT7C1kpV1h<_X`{J*ulFF!%Xwwz0-NtKQVY8w+#mG zrJpBiK0hPqJFfM35%mxDq}FQ!^_ z*L&{)Uz=| zgtZ=$y{^e>t2a*r7shkJ+Utj{0mPbOD0a5jsZfFTdN$TQslDzx3~`{n?))+0c#ORs z2x3p$e=;N9u6UM(D8~BpUk00ds~}>vzk8Bk;@L>m0I9FNPB~*zfEavsBR%WLdWY?G zc}(*g!p@K39bAh2+}Y?dID1`XsFZu9kF4cR_PRc+i9UH7J*LkP&B?>Sm0a3{qForHNFle94h$$?KtE*1S@_B$>sakJ-w+ zP84MiDAVevwS8Y1HU^k{tcfp_HLZysev0W9CVu`;VB#A*M|7|GQ_y`}8x2O^$HY6t zqb1qIpLhx+m4hGMwuc@?SGq1A{aEvxl7DRh)Cd#*I@fBGxeD{Ml|I2=$?xl6Ca*{$SvD=+_8ijv=7P$T4bifgrfT!r%6C#rttDwN+=QMDYayz}edz#p{F zxz@<9&%)Y~Tx;alCtz(9*U~~2%Fst+ZEL87q51>(H~Pe^IHzLh#bt~{;8N(t3A!`| z2)MyHO@JW3|NWuVhmh#U=tFPR2cbWD!_BM@PEnSE(z`>0K0Nt(2%bMt8F(C#1MCup*;KDCbS zuETSHm8nKzdr|ydNF<*CV`L{{UH~v95sciYhOLQ9jahu7&o}>k;a)Wu}@=-E?l`4*}y-o{xA9TI5YX z#MkN0e;+`dKCbNqgU+1+MrV@8@rO|=_C;m!9?pL=jNO+R#uiNUDtoaU!z#1V2z%j^ z|NcPYJT$-(r^tWz$J^mtq)l9QgHqayC&+iMJVda5?yL;s(5FaVbBu#i4&^3!-O?H8 zVI2A^pj$DbF$49V@4Ws#HW=;V)&AD~`yCv=r;_*+^c5QwK5Koe{yR%ACq+E=lg2?P z1-ShV(f)$ieqViSN$sQgFKXXo^vwb7N~3Sq?VG-z+ZV--r>@by=uqN!g~t5GKyJWK z`&Pdv^<-r~OFiNKux^7-`_kJV&h6tCuLqOw(;tQ$B*mFlTJ;A9!?=;mFjklFR+Cv6 zIGNQXKz~T=D{=1pz!E3-hodAmkNzi}W98A$KlsjFLE~zh{Y)^<^1}&7(g9c+rkN2c@*1ydKSK+Q4@l9(UIkI|+sz zX|_uC-jC?i){A~`!?>Vw4pbxcVeZ~5VVLnA8Q0>u2s3{k701@+vcs)BwjPH0W+R~L zjv*L~9ME4Epam~LN}d?bzr$)5WBz_}Zv=$)by8pCA@Dkm254XBlX}2;DR3T_#2;{l zRtxALhkj#yT+03-qJvtY6_O2s+N<0^LE;LnTUoKfQQ-nhb}mT5uu0@$o?MtcZ`x zK7!3PHR)ML_4AByZzAK}wf zpbW}BUf9L*-auyEJ}Iv;|H28VA{9wJD>KY*FJup#EkZWM3#>~ExjA{(B7C< z^pkzOmIbxY@sxnk6*Jq)J~}aO3(7tY?IGn5-OExAY#%3*ntAk7Yw$6TejZ9?AJRXc z9{C%=>hzY1FAEVYdtEvlhB{Yt>LUdD%2}3I49;CBpxyrP0qQ@#oZOuh9qnIF>;6IU z<$Mx;)>dVk1$F@}C=zN0Z)eiH`3TXX( zK0y83#{r#4(Lvw(b+zsvWFJ2v@h9jx0^~4i&y9}7<FE%C$d`TYnC(KAE1`?UOsy ztCt>O>5hS%0WA3l!$=4d?L5|{ac;g&rgdgZ+haq}Z!YeL?GKoz(???aH-h*xQGO%0 zlKkSEDfu-eAoejGmHcAKG1>olPswjEyQ;*)40akOaFqN;VT=^K{Fb(p@>|>?2>ESf zaqDfCviv$iX~lN`#a2q=#Bj*0Gy&}W z&^8ixbbD*uWbY@kdg;p+GwxMT3cS|i@%5Xq<#7HDJFd=;6p-nElSnTdWFRwe!0sDw z?t2Sgi2Zs`JIj8}@o+Lq+RSKqk z8yESsFTL^byBnF&>d<1Jc=*;&q(RT+!Fwnk{^bVIJpBOETm@k$eJO&0m0x{HJ0I2b zO(}=)ww7|>c=&BnFUS`x#K$0C0Hs&|@E%|K@e)4g^AuxP6&or0dMSlEMxF;spTeoe z@zd`Nv)gh=Ur;Qn zDnkhinNQq3Iot{Pg7CW}$aDJ{UvErj878nLhED0o7YuDBaYnyojg#^P6G{A#FIeDL zf4$`yeEh$Ofs1@W%LW+#Uk8xB@xQoJ#{UpLXcwSI7!w!W3gKT_UoZmrb*lO7 zC~6Namu@F&I@41?Q8-mNe%;9mb_dhjVxu_Du%uo88;K1^KNZ#r@dl1R-vYd75_io* zh`fHuyZ;1Z5A*y$YEaan)ZhpU^ub+fKF$YLXMz5{o7->4_A7zDh%uH~p#JS)%jQy! zku9y|NcONBi(Su3;KqRZ;{Mcht>1oSJz`V#ux4E_3-?JD${zM@4EC@(#}D^^V|?u} zeP!6gdKgNj!yZPxA#wI@@n zaSlDEcZV{qJ!}gaArH>-QT7Peg-BPjR`X;Q=$MxyVXYG+zgC!5UiJJLv4nfCyvhy6 zC|{>84Lc`jr&y5sbMR)eN13vJX!cr@Y!=oA+4O`jWr5i_xJq@o1>lo>$1~l;vqD-~ z`tE@JpY*Jw<1UugEF1_M(i)55jv=kVbZL@S!12tyW>Q{r-msPzjc3-dc=eLASzhHt znH5TDf6eF91V6g5#V#QC1-{EA{a2gskVpHwwUps1eu-F|v{JFyi9K3)5^}?{;o8v) zbXP5-E=fzEI!7g{OVrw8eq9;3dKguil?2Z_02#2y!sEQW{Z&*`$y=`oYu+kS{=><9 zmHvv$3Q$VEJqi8lwX!4KabH=aC|fkmwbdb z3xbcgS)KG@vzU)jP%1tmTzAnZ(IJ9+$UR2F3JrhzGcEUbVXNr_4{wI7U>0^AWW6P~R}&pH-vMcb07Eyq-_VM;#3 z2+1%d;Gd;XVYNTt7~Vi@_@i@ZFH-Bg_Xj*f zHPSPtV)$W5Hh`MQG!d zY+@(@wim9VB7%b_NI@GeR0^7p-J$&#a%qt;DlWnIRFpO6v^-SfsQ4^Cm8d;~*#i|Z z-NUfMEJf@6=q2hBWXJ;)t8cB3u=zSwtIF!DPy3vi`VvZSb-?`!Y4RV&e$e#sb!;&z zh&{QI;%nh?;w%3G#n)N%_HO%gU8n{VMfHwRO%YjhPOC&Uj=z8Au6zpf%Zjfgj7ieN z*Y(#WUsoML@RiE+>T^G1z7|30!}3lbATqXNY2k<@+;K zGv{eyi_dJX!t7M(i2LvpwXK-QRqU+5sLRYwp!oYpZOO}_y4Ji<{GD8f`Pe#@OAnMX z-sJh|44p?eXCbli?aNAcqF65u&r`aynBBwqA7%KcWjliWI2wtqFzYC{E4%MpjDE~q zSj|r-){=betYggw%}*a?wbJz|%ts28l8@j=u+c-zgR&V5h=#=#6b;>uk_zmbt7w>e zia?*+#NA^Hrm2+zEXRx3R@1fVN@zVTUGOLUJn!sDz3vZ^3N5A@-psy&e zp!Xu_+W(lNpf5a0Wc;;}G=TdAEdQQRO8I9(f0#6%*qB{TvC*Dz+C8%s8`H_J6yM!Su87Aa{V4|lKM$uC zI??t7vF-2*qvR z@|B{&O-{y9L@eW7jbn6$dKN`7rc_>l{*YK*;@w%(8ZY&SqpU9afk}+_D3lq;J7X^4 zU0g=t?e+)Z-3R9*VD=xJ!d!9_j^<)n?-tBlE4<4o1`7u7k=G>NLp6fHo6PE<7ZrG4 z$`rgy<`CZXVG8d+)ZhQ3?oHrquKxe=nanVRYfqs@-Lj=jxkZ{XjNHkPLX;(C4T;R4 zkY#4*cDqt(-}GsrMXSmd!x%$Kmb6ev;@rkkwv?Fv^Z7dO_xrx@GIwUA@2|hd!+p>D zywCfb*LGg7*Lj`SId7k9`!g24^R>bI(nxDvF9B;)$uE38Osb3F@1846e0RG_f$tw$ z9Q=d4n!m$w{pbAs_<6y1)kPM*lQ#;!2cEX@{Y*4|@p#bL%d>*-?uHh=FMlQYRt@0$qc&ItMpE6WU+nlQ z`az|_w@wR_zqPI`1%Df9@%Ohk@WqyjGl1_e&j`LpaNe_IgX~c6trvXHf70Ube$m*; zt=`xEO4T5IkJI5P6~32TZsO~_q7?XEt;NCbdr0&530zJ7_DJy@O~IzKuX}jDG&akd z8#U8C1(*zG41@~mJ)0N;Y+L4 zxeTqFxkvnBN?`w7m&*ts*LBmAh*$CJx!4tLaC4J?16!1Wf8#W}{SAODwio&@!qw#8 z>Er8qO7KlR-@>;@b8h707QV@1fs&t`ukr228NP+Dn|@iT@Ev=piEqZ`rNDQFh(Vrz z$aIbGJ-C|qp2_vGE1wh!v}<5d;N<7R@ey+Vh`&K9t-67-0`;nt zC2!5ulxq2tol@u1bql6c)b+6&nwj)Uy(~JtWPPls7AODc98IrrxSI4j1O9jA*+Qmz z^(``eqY2PqmL({)v?)9JmXL`j;@ww3A|>DTwkF6$40c$eQ-!`=FhQctN3UvX(xYYb z==2c(yQ3C2|MS_J9sj{SbJ|<*{JI^A+a$&ja zvYD1xocvOd{_O+S!S^2+wXl#*2uHdY|Lv;ACcZ73MaNg>BOSH4_#Fnmwa*B?@fzP+ z=UVuFB`kGa=d=C^;b+q_xSu@x5kkII-Kq`UpXZvhXSE=YjB{=OK;#z!{i+lszdKiB z)}7G@ouFmg=P~mV0zmuyNE5XSanB@C?Hwse{_G8nc3*}WEQWTZ#}~}d=<({27n^(?(KtF^ zC0;#Qi-CXR6wTLfaSe^Xp8oiC%@h))${{m4|6MbE{~a6Yq>h(ec*#?;=Kd{+b5f=i+M0v$khx@K<%F+d3@emvz5H8y_*Z*7Doo z7#LMf<9?sV!aW5>E_}VM=n?&{vEFvcFzlBo&_XirHBF^f3`zvn+Zxi(3aswbklUcu zonqJ9uDi&j+qIWOr<<&|-K53K@0_gVrI~S!$JM0Y>B~#JVD73_E1>^Y$Z)ytA&X{J z#1JOG_Nu0Y#OEz}sY`dORPu7eg(lvq7e~iiWnv$c>UNGc0@?XeZ~1t5~vHUB_^Rg>Pf}O{K#3)`lj&-JPYtcZe1X{|A#azMtZ1 z;(LblXWfSd`9?J?X75@q$lpBOLOxNOzr32(Wbnbyq|Q9?`9yz?kdovVUeN;4fbk8B zKoy<{BT#hxd0C=Kr%Nx2PAAcy*K0BI=S|dfT8nF_{yanUQV$8e_RGXrgyq9!LW_nu z7QKF3B_&VIAuS{^yvtH4@t7sM)U{HQ+|_U(Bwk?A>sxvt!2%VXUZ>7C>GgNRQqaqx z#nAud1Wm8axQ5c}Oz7VwGe|5;|6aZcISW}@bPi=%7 zfs~kmYKQUMI1e$#K!)cl#pw@~W&mnVU--di3X!Y?^b7PpZa3hRbx_3}Q8nR&>2Xoy8sm^N1h5$V}#5kJ7InzBq zyPM=WvTN|Qg~t(x!oSJx*55g%-NYhfP|v9McTt*WHCy3Z3>vIYk3D?IQDcSM)5lqj z&7`$n<;do_#t7)7dybmcWO<$98}h*NPdt9a`>-K~GjXyCX&xQRBqswe3Cu+7$mnZHVnoNXESz(fYm zy4>MzvRzfI4Z1?M0_~}sloL%>)VW%cKx@>HQzrH*I;?K zjW;u_=@!1r`E%Kmb3uR1f3$78G@rK;_8GX4nmPI8b6TYg;&k4OSq9>jFP&@R^+Nrq zc#zjAp|93>OAN=}7LrCvAPhfOi_l@$+NK2ygcNnx41H2yi`ES@bL6 zZ7GV$wYR(p@2l?%yvH8a@OEbeJPh8MHBI_HQYSin1>V>Q@ScHqeV>V+MiiFDr~$(*I%^^`1X7(@Kvp7`7^6TKP3P8 zn1=5tgSFxCU1q^|X=&iQJ{-QX`ZITBYKpc5#9{u-;qf9zH9r?QqT>Bbi%mNNjmwCJ zB{p@Zg^5iu{>%*ylMksiqVmBw|3Snn-#_SHEic1yHOCM1by@d2*Vkw@i?Q^_p83MB z%8M;|N|lo2yJu;Bbzo@2LiBR_dBNi&@_y%jRS7WlM4#%>^~CKQ7xxPL^ZXx=wD5zx zm1)0o+i_%>wcoj85e_#<5L^sHjfo(>r>0W1fq(o_jo%dcSkWu^Msn{0AHjqa5!LD;|xN=k{>AF0;-CMolBa z@)dTGs9)Zu03<&#QnMpa1a9(7;$|ha|}>J_!hBt^&4%8eRJ)#Jnz$V z=)wTFCHAczBpHH?WHIX@gU>ec9#}Ox-V)y)r^UyA^9YT1Ph3rV5R$WFII4{S_S{ig zb=|K$m){@JFh9p2wxwE^C&FH;Zz{22dZ}MmAw0#-&kN_$9+eC9ul1=Ogqz_hmx10N zj}dyWI$_a!@|!~M1NU0={!E*#WCQl?oTpp#UPC{pRP;Vp(WLj0%B7%p1ud5Tq~V(0 zSL15ar>7}j`S%IFU;ky{`{+Eu_tZ!W-!HZOxXr71b%67J3*YbPwv-Cr@)o{vrNQ?c zEsp*P!!*8AaW&;Du)i~czmY1CZ&h^!Y}dZPu_(^DL@oJw!(G0Zh*(00xRI8-ehH@B z^*KAb+{t{THsA`Gk3{!3UX$}x@ck2Qzg~*5{EhBfp~V^S$ER z-C^*R)!#TYg0g_`pFlN-`5RfIM1o#jLFthAN#{3&%$+@2UY0Q`WXa3C`-_v8(D=zW zjUr)xoDZhPG4(zd~t@x?{>C{5 zo*jlnlwUhPOYLubdyhuk@He&}1>!HiN~}Wtjrm4R!{4|A8(LH*Yx7*gVQ68tMx-_o3D>t>1Wx)P=>li*eu&tEs{vO;ei%+sxbiV$ z1@Z-&F`)IdAzI&dhrJ5Zw>5_ghpt>ophe&QI7iTEZlKYHQ6h^Utul(^N2tCX981Cy z&w+8J(6{46Z1eqn2lBOi{{US7fxf+Vn4s0^kR^EK1ufU5fn#9?zAT7#&(i!F#DIc@ z=uPz8f(0+KzI`ypl)H)LqRXA=+efvS`sWWQ7Qa&KpPqLUNl~&pz~_FyL;qYrq{8%1 zbEBrAe|8|ZTOEB#(C;@*qd%DOih%yPiJn|Q|Fo6c(&(R&MJEjVGvci1^bq|sS;QpI zzxFOY4maQ$BJU;mKLfRNj}?pKN)MdglKr9}=$on$%;9u5d^|2YMR+NvOJk$Tsg4Kr zEh~I+27KR$x_6yACgC^c&o0pV;@A`o-!BXgg~NBg1z-Krz_QcQF5qYrBQ zdN2+UPzcx2%PWI_Hu!{z=fG3Z@zm$v3H$T>zB|I?*M@I+WE?A2cW8ZQy4ooNiLR^b zK8uxS3$n?pCuzhcGFV_SZZKW5V8*q>FszGjZW{8W=W$Q{W#TjYWORJ)VH|I+X0zYl zFAN`!$J6pRhYZk+H2lqxg<$06&k~tXe>2&rY3Tcd*u|mZS<{!iexjzrScV+}?7f4Y zT0q}-mD|$j`v?Ct=`!)}=yVZ%|ELxV|H-~u-^WFwPqcjQ1^u*knl9$c)nwmFj!&-c z?0%96x~huf!taA^mV)Gc6Ew!zoWX~!XDvHU_(lJpApFJqW7FuDOaJz-g)$Mf~B_@|M;6fOg?@6S9Cs!f4o<- z)jzk7=F@y!E&UpeKeYt%t!j^$1()Yni$AHe1+|glaF9P&N8x89+})}M2`mP0SDq5L)THTBVV zZV!XBt%BB28wb`aZl~ z-r)(%noIMnax_8W9JA*bVU9^}*36Op75)gM%%!(hj%l^f8y8@^9|7jxD+jwBBiE$G zVy$+C+uJ*V8FT5#c1zTaH973gI+5U*`3Kwa$R{i+ODJjupqkG^7-PQ|5Rqf&_M|(p zAiGuFs1;q!ahgNVGsbMH_A1PKOLR9mrD`2u{}#sg(B*;Zz|I0ACDD;Ho4v{x*NtPC znFnSen6xcvtv?gi&3?}1gNIKb5pWg8=fq=iv1uSiT{MDLa;v3zkOSyTbt2CYbmC8f zKSz?^rbv~b&NJ(&JlIV1=g7gAhl&n4s+B+Fs2=0TIow66mzEm;re0bMmf(tB{qu0O z&L{gv{O=RY|J~&OV=@%l^~&Yopf0Zd%s=7(q0{8QL@vqy@0MXGN8-O$Oy^}9{AXY~ z0{`~~^PhfF5DQL^|G!)OKk`rc4;QOA{zJ;R99Fld=6@`%iM1myg$9-;)Ub9<~2QQ`I=8K}AoGVs--A_LdmYRN#Ar=+CC9tpJbNUPz#lB8lI zM}(C~D_VhhvD6CJ{Z=8ut#C{NCX|YmOCw7~OA+7Xnq#z7NqbH}B*KC##`(~5r=Kdq!JX-zpOQ8i2Y0?^JGfG`Xf1wg^UX{Wl8l-x;z0E+zHf+~_~c?B9qKws3o| z4;v2<{<>TeuMSlU^{nE0Hj9Dg#h*-tPjve-oOM+jP@0mH$eK5+owrg%+US+^M*Vri zXC9-ZwoxMO#;fvjYd15Qb+s^k*BjOa^wDi)E+|~9Mnh;wyA$0sJ9p!X^A1WuzrEQe z{}y9lVUQf)>h@2zvo8ZIJbP~mEc}(05@5_h_dIW*6#Wm0*#Dgo`}giCq5ok<{~e_N zvhXjpN6Gw4L>-HNL+JMe@vnzbV({+nQGC`cJ}a{*gIm*6$1S8{#*k6 zh8bWqMfZbem4$w(x0Fo3MAWh9H>7tc{dyQBru@roDe3pYubO_Zch&TpiEByli&i!D zZ}!c0`0G;tCaMW?g0!KjZ&v+L$AW(@eHQQ^^8iEtK53LlyYXte+?Epl-{}lMa1#yq zD-!A%Sq|KkGV_s(Mx`46=m)r1Z+z{tNz#%~W!w-{ylTKjfk`<>k08xpwTD6o;K zS$RkH0>HtX*kHfwU4iZ}U9UXR!&h<^CX+JE$Zqt-HRg;=TH~z6ZBEE$%6ngNx-~&U zfh*vNW3v*R2F}A0=r&+xhR;hJRKt!&LVNbkFtl%iC2VZDRmS%NEG#(RDtvZU2&w9+ z=V2wqA9^6*55@W=?AU_d0m4-8cd_|D7X6H@o(S}77fQdgqSJ3P>6ayXxa{<6BeA6@ z^lN$~68*aGI79U74f9$I{eGiJfPPPQw$ZOU<zUb1MAe$^AxLAlCmEw4!QD z5d^=^O{c=m_n*b9CP2Qw25#_PiY5PNSbt>gBL1N~ELnfFkq}{s{2OkosX`k49%%^N z{DY==VBcaUKbvJ!A;7mp{m~odwK(~wX$BqtzR@QC7X8k!{%9|DpzQQJ!9W_KXF>Wm zgnoMuMxtN!ZD)dh^J1J1R{|Cj{X=9qbU3e*B>zyLGWvkTkDT5yqfx> zA8zp8zotLhZzuktJSf-KecrF<3-l9{Ewf-8wt`M8>Gn8A1jRtA^M~J7R`-+TYofzuU3ry$fZFB zzdlIS`r|oXP5to}Zi4j38MdG0wi5qP9+s>>mPmLcRQ~m}-P9j*RYdvUtSSD_^v5QXnVhMWAZf}==?R$IR4DX8^#WV$_L%U`%>D~ddK4-a|>CG;ZwKYffAbC=q7ZTKzKO&)QGHh`13jrmhO80lj4*ZY)0&~wuDHv08U^I(xO_PT4z%Rlfya;8dujFjUUP=cmjlu2d z0K#`bETsd&G942917)o;q+8@Kl!G%Ma`6)?SosTIGfwf$*IF(fPuAmX8m`v(!us{8 zlpdWu`L;vK#ny!`*A=sFeN!7lG7yvlSDyPEl5x&xu1SwEGF9?}B_qArm5%JAA-eQ8 z$FwWJaC5Wv8hXO+=eYv1p(>cOqJRJ$+%0RF_aAVLxyAkAiFl5gLPg!e*7(q z>z9p`k|%Tt1fzizB;V6ri@|yg1-QIVcQ-DY+0)3T(MIr}83$z_0nxX;u7_2F77uFtB&xzVBPE)j?JOpBu$pLw|MWRWRhgQ?=nj(>5 zO9ZX9s##hKoYmCO3y0MCBSapKH?cHDWnHrLE~8|Z`fK>9BBUZ$M#DGXB9f%`q6pco z=bg|}^9+__DK)YPA~v`M7w@aD)ly>+YM6LpsZOY1D+TH?(j#k?+msqn9#e!$Cb`6q zY7`sJ?R^ZeGwuu_ZlKI zMAUR~A`_xQZV8CY1rm^<$i!#cMJAB!)))FgzT1ZkI?D{CUuCF3L*#!)!gDPxHMrO$_^}duOSM93B=1!~v+ldfXMppw@oPgE*Q+T|ZRV@$O~0WDt+B zngo3i-P6emQd8-z;pu#bB6>QxYsi37dOAx2YHGa1eJDvocp^4^;1Eye6KIxnZ>HS= zYe9qCmZl`VS!RqQyIeS24;gSZ7PvBFxGudREmpf=_atC>aAmqD!`YT57Z&ZPJL@Ep zg|897cvhO)ApsNumMMVw1+WpQ43pc6Ijjw|%DeBVmdufpv}CrhW~*&!Dfh0>k{RN5 zZ7_3WlEw7|M;26QX%g8}WD?%8RoKO@fz*e4SEq_s)g{41c2j5vfz6_oGy^Rz5o zuKn`!3rv5k{^uq5W6Kb0fxL1A1pvzItcJsQiX3;g>%+FVaWMbPk+a@jPQau*q@8$m z5!zAf!5R36{!Ld<^7H)rjO!L$S-uk2fUf7fBc-S0FW}5p+fI?G`yK)%g2uymw>Q!< z{CqH%4yomuN&0Akuw0hm|IQZ~E?pYKTzOAck{3wqW<|OWlRdqbh7Sr-Tp%e4YIQ%# zZ-%omfv4b(BJ0wd8UBBNNA{&`$_5pN)%_^qu)147LRFjmrbEv$HYox;iUQm}t;rv0 zSw#@wCi3226yWnss37H-L&bM_AwMQP_D{4*xQ41zeE=7tZT%%%^H916k0j|LM{?~Z zI@?-;+?9fS{&FqI{jK6rEUsV_hbZLVma(=r?SX`)tx}rm9B&izS3wQ;)K%o7mB1lW z%~>Q?H4;nwMC{(N$+-}*LsAhE>Cc0pTXGg?8S=UWzLUu7odLOw^>;Vr(vh7*Sm1F;zud}#(G1~yhuV?iuH!7aEfID z8Y$nQ$ECCoGQkYwJ3Jy0J8eabe23<&XRSAkaq*57te9PYDKcHUTZ{@J%5U>h;$Zjm z{+;#8B`~hS|M2z7u5=i{$o-dTMt;MqCP2P_4{q?DJ|9}|GVBJc3%$}0sA6wRkh&QP z^V{rvx2L|-k$q>-P?m$9XR^q%Bh7PEJrAXy=FNn4?u&Ndb~8W4i*zfbr^Ko>&yPA; zMfR;|{~vK8?0111nvSq)S89+OeW}f<8d$ZiYJD4wj;Z$fSlhFlZI0|?98fl`f`C;g z(GCYyO~BE`cWq-MS*w7_GU=ED7}ikwXS@qXTqFNiEtTaVhIK)p7NRbG$D9+tGGWE#y2d^*`HC_?QMx*??II>^-`TfZA#%20-v>N zyv_Cn&mToEbV%Btw4dlFqI!(~I~l-jB|g=HCD0ERas1a<_K>0%=nQ(|3AlJ7C)kl- z`uQDV{D_;OxNQuyX9xUX3(YZ<1Z+}BJMpR$+EK@7*Lc;f;^pgzWU+q@v@XF|RTVS?0CG`Ntjx0`DDdPc5!{#S7gk*|Nl z{(LLCJ9Mp~6!vGPL|%$n@7{881pD(txc!;WdY1h;d|8?7l&^C%rZD zBp(*rBYBb+EFsQzzU3oFw>ZAtEicmgq+$2RW(GTasSRRG7q&mOt5_h~o2~&fBNi`1 zOh=J=2a3ImuVpLoUEz|NK5Kvdl9-uRQWp;E0o8-SQCb*!tMeX%w+dC*i@Q&{-NLCA z6a@XRu97GW>jQuFp!)8&h_+|+0%99xdv0ejbi>((t9zqV3sw#5h?3{v&r%Yo0C{kg{BMnpVic>?R1 zuM34?c<@;W!?btx<17)pGllI1>=KTSMSg#nJzBC7`eHB{Z!!ZZ5A zRUCgyG$SOYekr&_OXdQ(=J}W78lqop=imQh`J60T`t;=UN{0GO6oaW3O+G85%QDF4 z$I^=-pD~ZxvhPXq_{svRGbW2Yyd^e-(GOD~@z&}A9qv-aog z#gNbbkJ#k1CgL^4=+9>)Jul3+N_vmjhUw4qSZtHeN>c6rnS5@85&bvy=LEE`E}^q< z8uEEUK9H5~S8~nsAI3FAKK~8>?COumIlG*4FHUiG-nJj&02gDpKpiPQ;Hn?NKYJnE zKdZuemVeewytSbCKwBv?{j)2K3L*a4NAD1af8RfQ9;UGv|EvW)1NdiS61A4;!>j3^ zjlhlgXEe)t4yQBgrtW)&_B&(>m+h3`mINgYmm!h%+uaPCgFb}=6dsk_DE^m3B?pTQ z2xX{|oXF;2!vl-P3*|)#OEzHa(1WlfM>hiNh#*vxFG3-?B;9jNec6ctz!A<-#Dc!m zJ~!1wA7?8T1k_YBs1z}yj%?X?W5pE2*&8Pv?oi9$C(kmREwr~6i&Mf^q z##`)nqH`3Z42Y&Ia84m<5oox_c+$d(KS)^OR--sX=B}4w%_>_U;(azYb(LmoutO+* zS|Xn7_~dN*U=G=bZTfE=l6E6L=?ugtLz>U*q3SN82x|Y(k<%4z&=-Wy7wd128)?sx z6P5>~`|*ah7q8a9nyN7r8Mtsq8c=xi{C~?e-~YXFzZ+M|@4umcK7E(`2o={-=%0~r zR*Tg?ADh_tCC8>!>ZnU)X3h6SP>iU$dq^o>^|8*q@}pbJZDW>y3NVV7_& zg;F%-kbz<7(U8*?r8z%iRZaW;?L>Wkh8G&q62+U<9MrM)Z|@b)!+w6o7Nf+-QCcmx zL4&&Z^D~kRu=mSH`||wX;5w@;<84lg9&g`G(c^6v?nC)pe`kP>0XhBT)rfq4S&D=B z96H`6zO89J&;Xj(pz#(w$fD|tomkbSzNl-!zXA85@b}pf3I1dMiwOS?DUJ&NQkr1M z%0}ahYrNXwFN^$SSC1e+CxYdtKk8WWGxt1gD-r|y|BVtuex}Q9Ddp$)H#I8l3{;xo z8YVx39X;cFIrD=TuS4{9uj@4*W<99o$c_6@K79RSBtDFMB_bbsN^w*^v^0SK;2f>D zdF6UVS?C{Etz`P|blB+M=-g2H*EUKF`j?m6Qqq4kEjUD}sewXGTtn&K3-Vp1)ua&m zBbkPF6G6y+YhXCVH-?j34K5j1^VcK`KcMbteHP;`lp8nvpp{gJPqE`=&5jUnbd3}T zXfaCLE>UCOL;PSA1*ic`^|0@eWGO9-4M`7@I=!!blcz9YoDZ4(+F-i=6 zjFsC`^5Z93S>SM%fkR6qsoi{ceP9ObTpX-)Ukcv8>9Z_i3{HNBd`C%^Tyi1ipu;t z{JgOZuW5m3Wqi)BA+9`ctSYYNd?>K~exwIveY0EV`p_(S?uRvk0?K!=pByidpOgz zWI-ms&l!{7l~Af_vYai8`iasM!Y;@Ylk~E~X`UbSagU7jk|wl9FSX$F(do{v`fXWiVP3k- zxN)KvRoO2R(ZpZk%VBQOR#e$BK7|{P6&Am`|65Hi0AOsvl3bt~&uiHWq2h_>P^`m) zr?|3T$a@gm&={%Wui0~J969qjz`RI-&>28xq8k?bv7P}kB;q-iRCeoie&LG0Kqkg* zW&Yik&y&_#6!Tv$v+XG?=5Vm(@!X`|hG7$V%s~qfBhIt2&Ogp*4<*Jr|F0;~>nXPP zE2-glU)90*P}TWUnJx{K+RO4uy*&Tda?SU@XWV~iyUKdMp6>*uuOXL{^1NtlxEYdI zE`=O1>mBN*t3{S^HcrwetX@&Pm&&1DVX@oHX9?C0%8oi0Z_%7pGbS8+RRyaZ$U-_# zcRQ$_*b>oXUCM^Qz7UgD+bA{^&q(p2f-D#(P>9`F;gUS{(;UK-@84BTPiI4~u^`o% zvj;OO1lfa`kHQ|@1XB&2yR2NUX%BqbLcDmsWe*CWFHYMYEE9cPc6%^Zf;F@U?S@6R z2Mewfd$1`{+k^OS5$(Z)Pit-&Z24B4t21B^_E0s7J=p#7KePwU-~|+84{~3kfaLkF zH9lu}F|M=+HE^};fj!z$?D>ya#MCa?V!e@3&M$mL)P874pwm+%SRmPUS|3-oSCpby%`ORl$R6>}#YYWGdH!IdK>s%S!#qalzf(#5H#PbnRQmqs zCRzB~GeN)SVcv?NUki!^=(iBx46ytUi+*QV{<1_5mz{oXBr+6AKdpAL zkxF)R%#C;ib68+Aw{FM_sPTNKx#n5jQMFR9Y5fh1iXW0Jci8e1g{U%6w zB}D%0^!qj9;gPem&k+5dhmkFYek~{xpx@3SR?+!c|JwPbS)$F$PQNx1o(Z9!G3_$# z$J}2diQvsyVI(|_`A2UU*<$GT8$|;2%Rd!~erH(z+KVY61h>`G&DeRwVe^|7N zS6?0n#vv=C=D9M~A_Y!X2+8LR{XW}vXl)$_|KXuh#KF15WbD%k?i}Y6T?FSq_#Xa! zwuLmThG!8u8G;s zjyO}_Z^#pET6X<2L4q`f{*n1QS7SX}v7U)lImCP;#H^p56vnw*u-w)-Aj#JG16&lX z#)Z&gzkdNESB(B?K_3PB=jfjS{{Jia!ZSpZhSIJS`NG#pgr=DN3OR+;av|p#MEHI~ zU)HnogXNK|y@EohfwP3%p0C{e#^+_2&qF2W>{*WN zfkUb%Y(=_v5J-fvEolqh4l&F!kgbr36t{HG&+aC9j_faj@)aauq9Gf@YW8DL(P=n# zhz;R=u1a$H`N;_u<%6V&R+8bp@GJk329A^re&RsbIjz&5GA9!K)om-9PGb9Hd%Ts z_Au}a!7FC1z;kSSz#&4a(*TP}|*PyXr5E*jMQtIbQ;O=9;B@ezWIYTxRNfAupPI zy6|mT|G;qye(c1x?14qYq_sGS!Cw=klY08Rp?4poB=UR1?@Z;nS;c;D*#8nt6!Rm% zWB*lXpN0v^spe2>q7K6tIdVS2BX4<6tpBa>I`Qf&)KL%6@_P#WZye<{&%af!_^Qb< z-sk%(;u^>(mHZ;ldP(aw@{1ONB$Ed}9Ly;tneKH(7JSaBZlV~-% zY7ZLq3{S9H`v?Wg85+`33~}Ix23x6)Y{`=^kK6^>&MBzEe{NsfIErk3sz+q^nhSGd z*;QKt(1MNdk5Q@u-uHG!^{!GqS3~S}Tyx>dSgE1=o9&!}Mp@9+lR(Dz$8C&SE1IuO zx^H|ncD5$Xv)VjNq`y>lds=BP?C>wttrKwQ=Yxh{_LG#r;_(!bUQF5=#U*0dfDBEO z?m4Ay#Ih;RPU^)okGghleJbNZ=rJDBnN#G*UP=fK!qG^}DoE(u`j5;#x|-eyl;P}; z-A?J)2sCgkNQ4GP5fY4wz!sq!`NVT@8R@E$rJCW6JcDKlt_J>L+$|$3sk>^Up2e0? zcw#YafV`vyB_O{|jr=CcmVKPf(qNx*WQt{%cX_?`{3ukH5_E9N4Mm_WWT8e6_@&!?UuT2`FF+-2!I}5XSBi zoZt(^f z*0kchM3i`NaMdvmoTXSQbYl+_y9|(PAX32ymF3W21BTXjTCd#tfKUN?rTZl6mG*Vf zJM>sC22nY;uRSbNd;Hlx!9NldmBhKPNFZ-Hz*N*V!M_4`sw)K7e-wWO)WIyCANv(e zB+mcDOv{aHcUdS)$0*I(2eGffu895bmjo1C%KG))(FcN*Ptyhq4^7ZxXbA*zIf3zsM zlC))d3FsnozVCmw8{1&Sk2 zP`K`pUC3JC&Oew%7`Ov)rT>M~esG!x1|R5SjK9RhknvX+1v&-28V6xD3_?lwJETs& z%8|EMJ?Y|T!?61dG>7V^tW6C03VY5@60JLD6FWe>M}}gS-?@&EZOnzacuP)ve7iPE zWH@rZ(YzU{WKEl&qJxFeNq_>J?}*V!m`z0%pxZLhrIgF1_eZB&SJLgP@dn)<|J_cv zY~F!ni*eQYzv8Si=FyGAaOyrcdZ)2y;fC1&et*~mH{00?Pf5O|&K5#B@c%EB_rHoU z>fMhjfP8j|mgsV&OL+!@8b}VX>2aR>@j~e4B-Ly^xV;s4#x{H|P{Z(4+}@6`y>U); zYYOlNUr8y8ua2CviSpD{q^`+ZIdLnM^7n_DbCpm{STJv%YpZ5$wmBfBYOq$W`FC*rRl{huKcLj5-`x||`K zQ~XLjuFtpLt6#!oW?uI=Q`uM$+-S$TwlZ0Zg0);&TnpF$ghI{ zbNB?wtRC`i?lLilJks_kS(WBg#8^G3?rKSjW619!#bwAlvR}mC!K(7nA4quDO9OLJ zNmS)+HF(CeR*W)SM2?3@Jxe>Bi;V{Aa?}jyf`$yV1$4o~;;NY%d7|8fYK9J>n!&JF zZ`^0{>$S}2{9@|1`jl)U-OH1rmeD?bK-2v)gU&8o&HVwe(OcY$@iPB8coI#kbnm?h z>H4b=*z>N^n;dtqI9|@(dV?doBBr2eo+D` z)sAW0pYF~%=E&g&eRn~e6V!&VBU2sWg7ny(^rbQ24ez%0HqHT@m^7S(mztU2?~1o1 zS~v+8lW+&O!dLZiyvU^WK<1BWutMpcUpluwkkJCyz`V{1KrF#KfqCwanY#qu>S#XQ zb0Scm{_qQcQ0@3x*H6R5ZO>uHgKpT&guVL#$Yz9 z2^#6G3mrL~z$bry{21_O<;LE(IKV-$$?fR4(!F9QTsGZc;e6Q7&X`GKvH)rw)JM(w z>$44OzG}zT&*Q+|3-QB$4zSeixM8)uNqHKj5jaO5zJZ1n^KsO5Ul0pTdYkt_{q0mj-LtfXWm_YfYTu1c^Fe9A$K=`jyZw^R^ zaS!;7;BK#vK=Xb~5DHyZoSTZ~I>KI2mHQ6;;ky~`tksYRT&aZwt7Jful^;vBq;5ld zt@9@}Pg?8w)!5ZAcm`DuUT8C>TIM^(R07)riVBxn{Qxw}bjh}Jj6`d{T&BogzJGKf z>6-5!hpWUT{9c4|0^)-2G2>KiI1u8CsmmsuMID>bz;LN5TFNKQb14S49KsCu5~`^a zTeehFve`b{ArXP=b?VWDpcGa16ak~0_U8d4Co`JtbyG#t#% zxRA2`A(u(#tax*)kVlAiJ7yqt&2Px~g^yjJz&>YpfA<~=Nh)`yoM<}yM5Y)Y# zl{{ID$blo(0Lm=5Mx)Up8QOPUvzWqpA^d<#c^jVF4`uZnE}F$A(z2F1Nz0gw(P+hS z;VQJfL!JFmMR;KE$dhzm^O2hoBKNtfU5uyR9-#ZCjF#j-V}_E2-R5Jsb6JxTVlwJu zW{MW*2dMlHQL5`_e$D#m;o+zGjg}qiO*~8S&UR8nQ0(5njKxX0>bC`aknQY+2lJ|B z)|!`?+1&KoE&lsl7h5kZx4)2>u^Fw^(hqwlwNLsOg2mWe3*WA9M9C_aGV1SUj`F_JB}N*@=ItJpR0pZ#u1kJYB1~i zTwk7zg=HRUxk`0M3AQ*Q7@x9GQpSAAuYAdf!fG|OMKd~YYWQ$Y8R0PL#;zBz6nA9aS?oCS{RM zSX-^$Z?3yNGR)R(A$)*E!))CSWw#fy+llBFJx8?EXuBNc7;kK^&v#T2HsyZ>ewxwYBV>JuIYP!ouZzSD>s;BA%W0+KPxedd? zI6j<&tzqxBBDsdW3^uU5Cuq7xv#z${s%W`uP63LXUrd(go4 z`MYg|eH?DcqI+!J5(M4tMd%jo*Vl-urn6}eZWE1R3wu|M*wsi| zSJdQ-Yfw@bPL-}4x^1<*wqUldhDFf%C<*SWjnP$mqpSR(HmsH+@U!S%TUQzE>K6Q{ z&bq5bexal4uDiu149q;@`TfT~h?Bkw#bkT7uPx zKv&7^r%XEr!1uHTQu72QZ$%< z82Sz9FR*ZQyw>;kTto_iqjI+I+24aacN4`Jeb3LF)*&WI`wn7Xwpp)%+ z-7<1EIdU$?pX!PY70?adrPQq@?^i;{f5%iE?}YIvyb4XH z!48Pt+nt$!n{4MCwhwr5_WX{b4Q#im^f+O>ip2m!LH4;QpzWH6YYe9$6UHZPO3L+q znur25ymo>BdKeFNN441jG*p`Bdsy^!bztv(u9mF3{9IkP02RFL2eLQLH+y>&NDqsX z3im^_I(zaTz_btcwsyrT%k;tt!&k}ge7`Iv>u9Xn;Yp0~zm6(~|KxN1zDJYJpP@;Y zkB8p&qyG5r+}y04}DWLSFdfWF=FTI}- zL-=TQHU2W&EW}=ZYknnhUN}st-p6MFpmgtr9mw-M(8!HIuy^qkf{Bw2FfppG9Y=m? z(SOT32{D6bsdd}*VuH8*c<=Z=D!m8T;q5d&)$673bLu|e{$AdjySfLYb??Bn`oB;N z;QDs}#8-IR51kk5$T^0xd6ZSnw7q_Ss#9F@Om3P%-3|>m$$F{QGziRHj zB4tlZkxPfJ?$+(PX5QuP(5rR3UYWOhJM?eeu7Bn&-VS|Qx9gL6qsT0VpdquL)}S0_ zjxqZ2uMWsXLHqsyHpcG)Tj@usZC?mFatbs2Pq()jq`B(Z5H(-&k)I(mU9r%FqL0lX z=k|UkBW&dyzPLkeos|HoChOQR8I&aa#<47H&*xgaTN<0o#>%0wH1ARwqj=QcY*b~S zwZfJ3Ka-zCeU-6QgY_hZ)ixgyk@GH}!mc0?)l|(*AaOw!3-}MZNY7-`z3-7Aj4I#8b+0!W%*#4ner%OA zUuyiHQ(N6}SLWc1@=3XcO$X1KI=biwM`;Ytn3+~sI*E6-o>vh$=|z4Ype*HQ=$@IFyd z@LuoszD5ewD1kBHw}6_a;|0JVJ0lrZn{M-Wy5}j*ckw zcz%eH0GTToFpo2_`z+ zMQZ*Ju9T$);;05VSR7h8VpwSVYs$NFXDxY%3N#~yQuFbt@|2#UCs<}Gg;iokEq~xc zkOJ`kT%Pb}%rzUxTpp$q3gSg4+`JLAn=zF-!9NZ>rkr$J$WEaLn8Jb($@REf&LVY% ziyFB7D0_ec{vglCGc;da&Ub(AZ=dhJ*4LcxKJ%KM@1Cf{`R-qpWWIX?rg50Aj{A#l z4dWGhzT2n{L9ph#tYkzbeDU78e5Lu_KLQ17zB{1bavj!?`R=ss@{9~n|Erit9}5@| zi7YSY{s;t{5s&5ru)N|C&8t={1A<7skhf(rItVYLq@!7~N_9g?$OL%cjk$niwVKjU z`}@QC*rpbDe%(}NB2&;g9HhlHaix(w3ZG4FXdsic1A>ZlcqBnOyrhjamDz<7Jt@=O zLLq#M`Y8*^7fjo~KP<&u_F8R38uY{DAKHF|%Zq z8j6w-RIBwOT&vX=7wA4G+xr~LJ_p(Ql&Ou(ge$Pm$DcyT#^)MSj?6ijg1Jh0-Dl%K zpGPVHe<;)r$d2=3-KI}0UxPNlo@B~OagI8HF=`uy!Sx<1aXhS<6qYISvy?rI2>DhF&+-Bs#K zE6lFyhIQ4ckM8PSo{|W9v_MzZ+^rG)7|BsK=5GDb)gtMSGgCcxd-p!f-AsM{<{yh1>_#o~$klB*nK@pjck+BH7% z?n~Y&wYRIQb$5vUy0#h(IHiG%wkZ1ED5|cDngh-)#*3%!5zx;=(MF@FP>LMc+~xp0 z7ghscejdVU@L8hiYD-Vd$|MG9ijUH?8Fb z+B|Ey#BJT)m#IVb3c4)&9F?V+*f zK?1)#>^kRIrlT-PFLxm&IpA5hO{*-riU}(zC=V=#Ku2*z5mUB4F7|@oQc$ z++&V|7cjGh9o$xwNC)IA_DM7ddXBgRf^ym5|x@Qn3_!+3D&IcaK^_24Yy!7uv39P7cU zZ*}Ki=m+!U0mhB%03V2Rda!q2|9m{wa)2VN8^XVj_Z)&=gh=7zdGV9*x6lD&wZSMp zfUq8aKxPtr-WNr(PNc5n(fJ52LG>j~Y{+?FiaZOrzS0lcNxlytsEX@J?L6fbXBq1~ z?*qiZdXJ15UzH#C@@qj=#{Po!o^Rn1MOg3gC11hz7JaGPYh$)YA_dyx{2I}wNyntU z8*ouGBDH63ecK}XHDY3+PSa3-&4If1xxC!_#Gp-q%6$m-h)dAe$*>z8IDaBYI1=(F zu~Gf(xvmUH01#!TJEG+CP&%r=sD-M-n9 zyz55t0me@L1llm5x)(9U~jfO-Ub zDj~!ReV`gt)fZ?CXPbGuwJvT924)U5@^%C9FtpW&@B5NxV4kCXK6L^At|m<)L3lO5 zx$RK|K648{&~lD=?O&g$*8=c2~Wws>uKsOYIT@VsSn5NhfBfxe@`!VkTxUC{$n^#1EV;hsoFmtFobStZfiqXG zOPw2V4Pstn6i{Dd`-|K6jx!O~63hYMs@wzQ;0|>{ zO_2B4s<(d>Iy3B>&vmD6zXIDIpxa;bG24esvHkBKq5N?a0v=H-$jtO5kD&Zb%7My2 zvx#o+ELslm2GOf3c(-U1jLMU_j!)!GqXDr;S~W=-?5xxL^kMR8$jrZX@PZ5O-Tq^^l-UuuTJxG{< z3PL;%*mzyn?W+{4=5RGe*DoNr{`V&^HDFbO?FHJawS@tF_!<7T^x^w_0FicQSo-iq z6lr~!#{<)}y_%XS`f#c|3jibVG5;@(`*&npbO+C>9v;$PzJ-zQsT_PRFwRw1_kPqA zYZv{qj^n#KkAh+dUFlDOrW{)p=g66kqEzpMK7=b3RT({8fpLRZP$X~N7N_6Jo`OF- zDr;vf23)O-N?DV8o#mMMvwZB5pc(J93@Ck^MSqrU-U#qeJ`!qNMOI zAxcLO1%I98$hk+J?v8b2Ux_ke(HNP8YV2Aa)V~IgdEd|Mpfhq9ffv#UTUlDhky9Ro zgP^#nW>WeZ-&V{92u3&A4?vfvdHTi_LQU^bOFuvg@B|b=KeP45pX=Tl0|XO;oa;aU zK0J|}5CiR>aV?ezK#xm7cB{^LsFUKI+$WWWe&r7p!09+A(cc5O(*|_xL&e(|lXWx% zXQW{!7wxyFcxz3E;Cwi{y!er~qE~kGz~T@h<}3k-AX9ASd74-qNVcrqkSZot>+wW_ z_<6Lj!9R#ZoFn@iJl7(TOOZg|?)6A)nVrkwHY_I9S2>>!I4J3>oq{LiWZiUM{12F& ztBPC8#oV5gdz;7_k|JRs)Q^k6ad5bWzk;S4`bp6HI4x>a#uFm47Ni2j+O@UeY2C4xW9AC{1$v}-&@)KGbwdDmQ4^|9coRkHhoSMDm8A0Tq3Be^%KtE4)A*7S znb+VKSmx1mSq`YU{n z{uc&eImgT=V0?tKISJAycM5=#DaI;u{I6duiy0OpcU=*$+lkw*Am?gag~t4YX~3;y z$f$3>#fZ#Wl_(U>fjHxAaYxP|v2Ym}>Gv*dDq~wHE_tGkoC_pi5d-hB7V-O)vJKYC zBIH8kxWqV8Hwer9INgTC((-R82FP2xYvKUI4!oRm0>({MLMPGz#;hM{o}f^wDK%sZ zZL!)v1}{NZZS$w5B;1VKS(Ne=@3qra-uD%_$eWX!0xRY(5@^w0)-Mo~;~<*< zH~et@r7}!9SP$l)I^=I#sxTiAZm1K_kpT85s}bl%^L`k~;&Yw-yIA$d)<8n{AGsg~ z7PaX*Qk5>>V3{KXQKyn9QgtlpH(>AYy*x+6(8dI#lb$8Oh0m7Scs*zgS zQNK6t7#yU8j1@=-6S}I+$Er}U?*IcU7tXZtCmpVtm~A#ySJg|GwaACqD<13+;ZR36 zimUFXqlGU>4>(;BTvSKR>UdT>`f<_K}r%`V2Lv%Z|6O-zlLSI4U9*50*BzH-6R6;tRkHkxB>@_U;QG1pIP+S|D6j8@p@F z%Y#@j$M8IEDQG_suS2$6Pwmr{-qDq^4+5&JP6HGCd+-PB2CAI1mQ@a_XS>oao6tFO z`k_5Pf2cpuA|uiM_vE#<0o=U{h`Sy3OwI)x3j-lq>a0|_$yk5H{451RU$*(##fZ4c zdmwmiyml=anXQajmpLt!d8p6TWWS6+M?Oa2 z@ZUiKrdRLP1MnB*0Tq6%y0j0SzXs-0SAZgP*gg=KFgZ&hLsf0eKRNQ2(d_xg$GQg; zslJ^O!N%^8P#%qe*4px9EzaaH-%&ry8E--SsYL#0NYub~dcJ6`?jR%j|M3)$o4tLn z8B;v0PwrBQ2o+L57t&@S0|S(|rg&){6>*Bkd^um_Dc+q(GIe`PHO0FjMW%Sr|02Ir zAu?r?-$97g+2r?)pCG@~uZ94L{BHA>O@4p>Rpj@km5|@J4+P8a#gj#TXSNNMUx9zc zsq6PuX; z1w^Rx)XD3D5uzAjK4v0?126s^d_0HTo>Pc`PpZi!C!Djf2hi6Q4D(FLiS%z$gio&o zW9&=r^a))*)%<=Shg9Eub!7sBg+cnHvVkUd4CkpDM0J*h+JA{(Ge5TR>-OD=x44|Nah42DptQy@Z3@peUB@ln7V%m-2)s}y? zaQpD>UDm`NVpK^KDfJ~E{z!0i${2fNtT>fed@;88Hm47U*w#624>lDTdwRJw1)ElS z!rInE%azsS_zIkGAn1$iT*r%RtfrZQ!AkQ-_)P& z?ecdXQ7X>fRUr~q`sROC{-%9k8&5ah7X_c>t3&Yl|Be29<9(a{96b88^yl?4CF;-m zSJ?^lAC=!X-?Q=ib|kzPE5Dsxc69!$@;lfrzYpIV1)oVRL-6@O)}JToHJ*4o@0 zf6gBXMs7gI0-+;`O`iLbHkVT^X9eqiA%=M9sGG~3Vz~| zF0OL<)0;o5hsVaKh9mIv!ejXPgFl<*;z9Fy_!-K-@_ORu{9gFEpFacl;%7O3&Qtig z7~8GX6#i`E&ka2Q!7Kdvp*w#5ScRWk^6}&2U&j$7RNauusb=!8@5kb&J*~NX#RY`pBav`V$?4FBv-@FGx$MxJPWfN)$Far7*G86^@xTd zjFvY`^4e?*ss%G%gC~y}26uQPUSoSC_srk9l?|n#Aw*x)@E;L{0n9w_It@hJLDrnGOB$IL3D3rvq+p{CNB_B77WRn%lN_ zV}%W&z-dr(MpE=Dc#N`jo9q1Me(ujusFwWzKi*emV+GEg4i;n$MLSmzUMtP{DzwJ4 z23Md+;>EryKXcaQi~j;~TiH*JlMa3HGg0WMp2d}Isct=S^^@MS=HQ9yBK^7QRa?&f zxC`=HmRJi$h|LWvmm(R6dI8D91l~l(b$&gF(_HXEhs$kQwb#x?R&6a(*4QOXmg#Ke zFFV3M_*{d(Lud<;zOT0tQ`cVjn?}zoQ4*ZMyG0(ZR=td_wq9oIYU3N|sbj{)g?AI{0rJ zgR^Au%DbGH>HSyTUI5t&iPWz#s-48z{q0$fHkP% z-!<+yN^0c7A@R9hMhj?9I}E!3a(Dyg;Cp#C`cMIi2R0`UE}LcH-Pl2sXV2gf!dX==6j&#sXD z9HYPh@KV;*JhB;0J*(e;a5IUIRh@h_10|;FkfoXAM>Z`N+D|sd^UF!7+Oi^3pguapRC`8JZ+=!f zN|3OrF+NOwR9D0Kp0OJSuh#-o5_Ly`!DtLK>W{GT(HAHs<^}M`#v(U`*jDe#pmPt@+}c4!)cpG9E1c zWQFjj=Ij2YqeRjpCn#`ZJ-= zv0j+`+B-VGFhOO%k_g)HJjs3eKoS65@Af9|0^VZYeaa?0w+v(Zh-YupVCK)08e!To)iGrvG#Au&{#k^1$O&Hs>^w5gA4koF$6N6QQFW@# z*BD1oCW|FK*gEek7wuq<=EDWL_bKQ)^(}m&2>U-gC)9|$#TL)Wr7eCOzeudQ4*tv= z&so+McB~4zMeld~54|s0Z@0ZYF)=r6FS3!fUhuin&=7~`laq0d7j_R!0W9JE!9^F_ z{e#^NP5ltK$ zcxZ$s;6BVo%K`UcPh+@sK35mKi$Z#LYVDWw5a0%jYrO<_q&lXa@F_6+TtpU{v(FUS z|Eli6kwWyt*Cg6zgv+syaZx2yHYcBSclG46YiscrT7Rx5pFP=!&$S5?1f$muC<#7i zC|@3~R@-pS54-AX@2WeyV!n>q6%T{aUH#HZx;nO2ceU>e>1sxxtF0&r?kdCRYLwB{ zp$lwS`Qf81s$%PEj@8uzx~uDT+iI%rDlO2}yOpo@)z%f~i~2|- zhwiGYfmI#d)$!LX0>+`lbisL2j4$~&dAM3Vhh%vYu)e*kn(WG9>*^f~tJkg;0@gOV zdV8G^@clqn&!Qxlfb)#5ctSP1`Tz$Y5(t^S&wC18RkL+PCr|ULweD)y8qKS=x~q|a zt}YAf>H#De&~mTBDbMWc276b@?5eu0s|8k9>#q{5-ZQ$|^0{DDBhXbIN|0|%#1f0b=hOWWC+q?al0#o8ZkM5Qx9*;`stT*F^@d{cuOBw#fcMB+0j%CbTd`%4b7N}nR%C) zM(K0Sr`9g2OVeazR_11w&zd~2er8{<_y42rPr#!pmiKWyfeeHtOb`%|#h_6@;0j6v z)La<}Fp;1jyCQ-hB5t5;3PM5_7>|P}D7Xh#TmeyJCka^q6#+L~S%n@0vdX5w?|rM! zHj{w&d!PSv|9ks=B(GQxH6dPgGq)mt%V9E}n@b_0Yj6ZQKdlUiD`0 zV1AgIZeKgon8o1-KjkfOQ;yCHWRk&hcr^9*=y3KFB1!)6FnaoNjpKxO+E z+B0=J(u_NO+pVt0OAk(3;wXL;txj${%}0@pc6(%#9PY6ONx=nNls;- z6$)GPTRb??K)i0-qA|r0W6%>gWCBNw&?QKr9Vk|HLlW9URM}89u9utZ!{67`hsh3Y zFS-=@U@u|<|Dh#9%cTAOLwnKHjos_r(TlA0P7RUuE)Bp8&%g1@W~F^cEEZVrn$BX| znub^p`9P}$R<(_Kl_nQe@;cFVKhL#w-I^uR$p&fdmx}D!;xfAK3UR$HRxNpC2w5(? z$km5p6lnySeHFWNM|Q%DrMf@A4E-haZ*a0qe>T<-1o=sO4_T=uOaT(Z z(_NQ!bk+!a&mRrl+*?xL;@-Q1g?nc{CHD^Em)y$*V2gVNPutvs1MrK_<1OfU6&Zwy zG|-ra>ZI3R#Yp+FNVt}lZ(DEHBgI-ewDo3V-Wo8gSmiTPJD9eko{MQ)XA09C>rEbT zg)uEOq)p{0`cL~nE(h%cs6HCz_v)#+K9n`pAGTCy2JH zP#nhC2f^4^H6$l0;Mo3{K4mTl?34pxI7cxD-6eA#NHiEvW}BRP^q@Y_ZdTArWFUlg z&NjftgyTA>T!*FxF}aDnybA4pw)96eu#Q_nkobot#Su#Y!1pL}Q|!%R7X#Jbe=PNP zsP<;RC0{h<@X(GmX}{$;&|V@$;z){2)9Uu$NGc|5EU>Gfq(OWDsyE{hdLfuxfCP1K zO?kc(UgPQxJ{z9Nbz`DebAG3(6N^Q>-#~MHuU6N?XLRk$>oOY;z)bo@bHX`dFt!$# z5^@4D`etfA{H%J{*8bowT}b%!cki?ZT>~n${bl!z1oS7`r#@Z`rkM7r`FytQFY7?H z*r%RB185~G7*~ulGV1NSF(S&b2i?o!u)nmq&a}UbI80N9*r&!_A7OtXJ$X8WYa<9F!kTOK`|uz+d)w6*DpanW;Pk&7O? zy>{XVf<@1BCqU2fq2<%FjK$Gj868aiES1Ca!k=Q$7{(uTl?>)L?M-9xY}=bg2%v4M zy#Nw>Ssx^6d)C!xE_8J+2%`ZMa5~60XEL|!W%UWhgdc}z8-5f&V6<#)Z`-r>FSOt< zcI;VXEZ}dJZ)M>xLb?V2O+4H1=kf#KPjKL83k=%J*78`GrhgIY2l)5Ox3ch43C5&9 z8P7KS*8BkY^&I$(1P0+}I`sF{@T28hB>aD(JuW-ovhTcm(|PPWFMHk7H|qV5^q2W* zx~o1vq@JffU(|@G&;J>J!yl$e9ksvqG5>$%Z}{bRmHy6O`+Y2oP8W9hd*S5u|MHLs z!ktGRnNT@2u|i>u#T0HGvQVWwP#LDrxsHeYQr%q}%JX5D4WK_quD`TLUhym>fk&sw zQleg5j(LRk$c0o%ZF}TG(BSy9EWu={x(+&*J@TjCB8zT)pR(u%{6d2p2cZ*E6hKOd z`p;*(q|u~}d~%&?b_arlJqb^cvDl(_gn&tpY3nrX$$(`i85D+ z&YX`woYp&1m`w!%oYuY=33+lHz`EPp*RRc%)$n$ai{q@|XE;75*Hx@ZXRXmNjOg*& zipo)Vi;xwlXR$vx|jG^H9K0zmu8XM1{kAy;~JzH-1Q`!T>NeGql(`^`4HU#H-473)OK0H+M$1s$ycS~ zoZ@_Bq~sE8i-1sTqt)aaB*M&NxJ^uAa{i&JUxMos;7@}VDAW?%o(mE*?SSIVeo{~( zyfFTz1kPBsP_q#T24#j5OFF*!GE1UUI!x&8eTwI6QT5sot#F3a6<~nb$nQ8Ry20e* z1{$;1QZy#*D#fxl;5U|@Kqhdr&<_nkB+9;^2fdpc-VCZ0O#1m5DgPmXlCe2QbMX}fgqUH9kU#SSK}R^o{$h^wx1zPNx{T}{yzZJBi~+OimuFD^bx zXtN(}_35<*kb`OZQ5zG;Jvk|OIj$Zald8>7xKSz==aa~5Z}vqfkE?cYQ&j2t;WL@* zQXWldPi|zMu80kL!*k6qjCzN|DVe7ctKzGnl*=i?Hgngo8V|c@~larlZd?cr}T}Tlyqg z{}6I>-3=x$VSx*zK+^b!)-dT%Cd)CXOcn~2GC<95$X~h{4;%Qf4i889utsgEjJa^8 zc^|8#gZYg$xga>KH*j!&vzBU&c3pY&9UX{b2iS}>=2zLGT;du?beLzEjzdQ1T?lD~ z&>DS5S<$;zIq-b14I9A|Ik0$ob~7L zsi^Kb0KD+y!sN?&qJCcZ0_4rkLn^gEt8X~*m>JG?3A9SJ;U!Evft+0AEPd0Nfr+qp zjRYYN*-}d+2QtBJ(ts6Z0n`zl2LKNhdh|3*CYYX#0v!Nne`?;X!@3nB6Gp z`Uj-zEXlCCPO97AN!trsqO_XlaqNXOVX9I2oPRTO@r;HSQ;p{>Sxd^8YV7z0roEBn zwY_oiSlAHU{%O*o^tUKV%Wom4GYiwh=70%2 zFvy@_h~@S@CVd2H$j+PGwm2mwAxdriH^{*#*KsX)S)YV`z>u$}CLxScV6FNUS=wwt z#K_qNoKYv>>~4&Nm4I-Txi3Ai>GrkCSJCNTB2J;5YpTyMHo(`MTB6rqkT{ z?18UWcDMMj7^}tmcas)x3s{Eda{RKzvCi2piMZ-%a+!v|Bdp;UAiHU#)-$#QMph%{ zfaGA(9~fj9j+j)`{R^d$4?k^tD&B^a2qWR7_baYU9q2i1P)sMOK;JC>7HBB zgUYd=ZO$c)xSzYJWsf;R(}UP!u4x`&k0CvCFb`<^P;Hx@Cke!)C!Nn_=yCgZRl>rm zzUx^&JwB73Ar?K&9D3er7C{eqT*X99f27l|y6hhZ@j_9io&Xa2(9cNH_92G8m3~mH zdIBiQ=F2x{a?$dR;h9G;rhVmEJlpn_>HGlrOE0(WLt_O7?JF*SDl!)E2gtWb`2R%v z%59Ii>=8G0IFEvweCCvEI{v5HSDt;;RiDS&pQk<#oQ|kZv_^ZS*4SQ zVZv8=@8VWN@u0z6&pbTsg2Er^x9LKNCkqP+zKzn~p3`r1$K_~9VS%KcK+Ntu_ICIO zWti(Pg<4v|+ zj2=A|%DP&H6bSBET$Td~M5}+*xn@%#{x)0ZeId`= zxgaZV>|n-D#}_B%W)le*J76#_?q2&5wUDuQny{%Y1(OC5V_>_e=AF#~>fQyF>?0iX z#Wm+4AsI*umeRa|!jD4fQZE5)>1=0G;RLV63x;Ry7-ir0%n93X+{_4JT9Tpu+8&Mq z>%BATqF$*m76gtW`UrI0>Og?{v0oSi6RZ0w4or;kwHP!ob!e9fKBI5{?#6?o{6l}l zJxE(qjV?Wo|ByEH6faxaR$3V`;<*Y3^7+9(v}6BNePL3*KN|PgcxPk??E@3zX<~^k z!UfA?TOam$<2y&KZpu&S54S#>fEHLaQ(k{jPb{hgYX$bIq9=Ft$yF5A$6(T*SAw(m zBE#WM-uRT$HjGqQH&oSdI5#3&=MI1~Ola|3}4VRNtvj5G^D-iz7F{DJ{5%( zRO`*{o!BiGg2R4GFT!o_TGRbOU48NtG#adna0EBj2=OBKXWk1zAk07E(DTyop>vdT zA5p~q`m?7iy1e!Ko~mfx9(j{bM&xq#QbL_9PGb`5*Gno;_N{G%M$J_hskIvEjT-68s{CA{&r28X5g!y;O zy#q)LPiI}$VI}*o3^KLz%`%Ly9GTlxWSr@zjDKw8`Wg97dGgaKmONQF3PWGy+b5qx zr7U@p&z3wnA2lhnKU@jIoSN1ZEn1Fz>tk`qw>2A?@@@MQwtU;SafCccdOF$kw6*E^ z>sg1MgM7B=A!mi23n*`EO*yU@7}W7D<#X(O-LzABQ&^}CgyBIWv?SGP<4d`83 z-hSgDi$C|f=o##$$KelnV$q}J|8vmO#H8m?1CyS54n5aI(t|z|nypzudHZKP+w$-x ze!v7iUjT``y$VTX_G5RT;wU>$zBzrzlD9Jm#+0|m;@O5jf*%0i@4)XPFeq=k_G8Id z!0#a6%EGTtFedysJlpW2_yO?MMYcS@f0jkR>-<6!4S%zIi-iAAl;;;e=$3z5olpKf z93lVyBlk;xf526rcUzvPJ})0SSAG8fzaLl=wJ5tE_+yLnRA=MC@alAoiaa0Y51epK zvBS&E$JAeDLmE&6?vtrRO?<`FUlvk=w)K}2TrhCn9f>%vz*Ebr>5b*;FTpvSaN=RYy_C(Jw$dl<7Q}Tx&Eq^U%wZ{53C5N1Utx3cye(s^0TKi%jSsSuj!kX4f2(H} zXqj~X?=C@V_iz!Uurc>) zv}&5MZ*YukzIoad6uLK_aMJ}ou&++b1B%QwTk#9w9XrIW>#sL@#K^vKo_E0<4u#D8 zn2{H9ALaI4v^iSNdgx|VU#=XLxk84^pgSkmhvrIfpl=#FCrSX4s&o<@vp-xh-u!@g z)+gK_K7W}zpD0mXeI54U;E!wh!Eel32iS%`R>f4{v?Hjf%If>ogGr5l6VTozJ+P^G zMFIZS^e*XmfoR4F%*a&Q(i0>J8=R7aWT?)q)$amTZ@KM!yi!zmYow?<#I(ZyXsAg@_ zOuABkRlAvJY)2yR_#I9Zx^|u0>`$LiJIb4V3g3(#vACWhH7$s+f!r$|li1PPchGw` zX@Qezfy0QG{q>gWyuAb=1+h!eedvCWpXR+$nLx2$eBFrHhc}@5>!HnF@dcVaA3VUO zqIwKV5L)m3u|hU?fAgwhhj)|mfkfC9kcYX|tvcWAGWqHwpI9E)V!@=HA46sJuzHz4 zv3lTA3I6)AvF}F*w0A1J+4WiLjKcoXEnOhiNu1-tL+Npu9>T8Tz=J-r<2S>f;$Lr0j(qv_ zfghJ-6g-oddI7)iuQ%rr`O;v+ea$io7R*~&DdW_jPLIZUbMBJ#qMP>>W)uWo-dZK& z)CJcqs^!h;Dd}H){`uz_1#_Q&zJC6O3K^&HR^6ME%unmyd-vUUGxF!Z`|cHi4f3&f zpFVZGIZdTp@|Q=h&nU^dg zoKtwacawvaUx?kC^P7BmyWOf#M!|(2&GclPYB{V4O8g}04lgoJH7pt3(3`Un>G|s` zW}F0>RlPau@jAb&K+d40x7{`Kb2F~H&ia9k1CxOrp789sS)g8X){)(_oAWE5XHZ&ggjnL#&B zM42g)F4Zf39@WY?bJf*XU+vAAi1dttnZPTY^gok`%ma})zoIvb0ekM z<8O?uzdmzEqe8OOg3iaSqJwA2eQ!JmZ=Tm(?UB#!1_|%L~JijDC z9AsUWFdNGnFs&-THslk9&1D`w9m71c46|WWXdj&t4V{Q;)+fdEn>4hH}R2Cv|9tG`{jA3{e-CKLFN z`f85IAEsT4dMz|QV6y7GFFv9YsS(&DqQ8kh zeL{5V*nQ~}Ds&mUr_Gl12^HJJRiO08viBi>wb$KZvv*r9Hob+kSR!aKJQw1ZEw&Me z%@%7lZJ4y!#M{^)Ry?A3=!{m2mCQto+1ovfSwXv=6W{~DG@fx&0Be!PqEsD=v>V5%q~}B1#Xwda%_}k8Vfec_`d{khfLj0 zjbO7b6K@4K&rg%aiin>QQ?}VoPPN8IxEn>-_$;H3^}-kdOU-ytwRc(kkG(?pKN~;| zPY!;`|6g4EuRK)vUv+?+|F!OS_}}%Za^gX)3~PoDMM2YE78S+`H=e>k1k>3Jl>h+E z@Z>1l%i`#aGR<(|^Tb%JnwZT{ZKtalD%|!TG(+H2C3GrFzYZonpP}0$cmvuaG9FaK z_@O^TE~=zPbOk2EbGI(*3>}xTLFDvEdqm`SUq63vsscn_L-s9Ot8<&(aAL>Zj5q{l z+=6>ju;-S&eoD^}Z_%1*JUTFK=;MP`7NXnvjXu~?x|Lf>-$9$-l-8ltn|U2_`GYaF zAdq{fX5qzj^}G(2EckW8$@T7G-Wh)aqtSU_n=Prvj66K2L~lPnI>uKqXD(i_dlgvg z>ySgk#F*x(#_IWapoc1Uveaiqv}Jg+k08w~>6Hh&7{-Qd!6CmGt+yW?a+Df zl&yBvpYotI&Eoo^dGq=(yFa9M_}QDe9;;kxFr`kEzr$K@Ca>iR^%$tnd!-tUVUHPC zEcTfE&YZs;dyLx1W7f`&qwPE#swu@&qN410N{b&szlGKH5}94a)pD(RFk2_e3|pJF z*WNcvkJiDju-?i%yGQ2P?bO^Vw(sbjT~zwD#Sa_)S7XY7U!x5Cquu`>;lrqLHD*q2 zf9EBZe%YT$n~XtZ?oV{&v$Y>UBbV$4?8E^c%l~FL{craE3o}kR`xDVD4z*@A4F~E&g1H9S2oH8KxZm?3kqK>1ol^-l69?@GNY<#3e7m zbs%iB8}~z+?!s{XQb(ppfAMC0!3o6FS_AO*Yn!N=uHcv-b6w^Mk2m`Vd^ft?4>Lmc zrH~2NP?A)4Q|b%WS$N}`D7iBly`*9fPSp9Z;IxfGt7wSo{nf~5J|E178r%b$rvHs(L{b2Cp0DEl7S*tJ@t??;WPT9U~r0U0qCD#|<6e*IoS-nX0YrpoTatcNIM zz79tpen%g_4;<2m_?vIeJaN{Wk{=LjEC`t10dO$e%xHtZ(VIFHd#5(V6Np&{m=vHc zQaL+GosjI3R~hCke@_KmA#%}L%mIOX)Jm7h8#CF=Zgh+V?5uYH3Y9EvM)`{MHw?+C zVFqhI6TRieK<#-lV_i2m_K`_0UVM=!yckPA@P>DDK~8??cBn3&O(RjOL~_8*O+Is8 zQpq^;Ez+DdKgc9*@7{Z}pJu%vWzrl1fiEg^;{6rIPY9HRnq$^uI}AnN--cVsCt#xU z-Gx-2aNQ_or4N zN$;;cg5j+#7AhlJ@2|->w{(R07;AV2!JvN;{#ZQQ@JH|i_rK02pi}7clmY{MQJI*+ zO!!SS{0{Q1Ed2TeW5SQavkgCr9{_*41AqSni~d-{(J!H#y9_+ZI3Q8|fH*(n#0XbiOtj_5G@S|fem z&n4f|zV?sYKfDH&ft!=QUu0zbdD`oaZz9?&Ql900+B1VOBUR~<0M4vcEi%!MvG_)u zx0}y-$BrK@=k30`yqx_s*ZRfy(a(PG)?WI4YiTbxH4^P*_&91W{qakYk&A-0o0N#9 z3Tpq2eYq&fZqnI1^==Za$Xe&eoOB$CYVuUfd%?IxD2|VMH;FTJ#BS0dsebjQExHCDrejZkx*v#z}A+rNE_KEO| z`PkIAq_Z% zo+dnTqbd7tg=NpIpNXIK*LJC|n8|&<#S?9#FV9~s(%)(q`lzFCzwwpTW9MEZJ@$=9 z*khl=FMF(8-=5Qp%e&_+=2FMrao-*6zuH3e-IQ|l?Y~I4ZT6u57T?fC)icAvkYLiq z{cL^vIRHRP!y&f5orRPLv&UO-Zl~leQC`svU)OT+c; zcOKULu~F-C^zG1n&7$4=*S0>BN%GO2R(#-2$fsxCHa@c%5u#&lME|kRA1rN$Ook^( z<951E#Qc)8PF)u2DXn!aW>U- z6V^yueaQe{XsZL8Ty3?-FKlwAj52K%dMFfTPaLJ&X)N?2+n!j)o>cK`H^&M$SsYth zSNCrKLI1`tIp((KeMAa>bG=u>}79A$9|!= z-LY4(BtqX{9Ww2C?;$0kV@DV1`PFMOtKdr)vzF1k1KrEsDlfw35k6M&WRX+D1tl?3@bUz5jY%;ge4c_CV&%=sFL2UGcC^nh~o*9;biKK=Aj ziq&HfKiToG`}U87aQ&6^eBR%p=i{yxJ=eSFXqq%W zXVnP*6Fl4S=ko*fmvx72{peYNLH($c%w5~Kbda$q`>1>?3x5E?nDD#f*@oYd9{_)Z z1HYBPApA!h`14Rdz^^IaBH{lN^`qKdUGny+nDfZn``1Uv+b|7(^FO=~^?_G7?fe(< zlRI<~{iqQuC;HK)vjFLQ`cVZ|^`EI9P3-JyubV2Kr@fNbMYI?CW&M{65j=S&=1FW1 z;)$|ltUTr7cbGhVj9&>o8IalEIbR+*UsJ!@2gy*qbE8a!>c_`S{YqS|ZGXje0O;sf zj0&R0*Dp`Mij-Hc{#@4ct)kL2I=W8Q^M;8^d1XBxb}!fSzWC*O{$Y$rK#7T1$PeQg z{(9T}T){=d>IXW#HHTsm#oT52>)k@)8;+F)I*lSOZ|I?f!!31Zx!+A_wj4VgVg=qz zv1r7X@+OP_mN5dUlN=zBU8FpwVD^=usEm9}uKSj9D;<*&*!Ks_*J|{1?UVO8!WG&+ zd24TgPad;d(OB7NItXmMSdPYlvS#$XN+} z%Zc~(fX2MH*j342AZ~<3U1opOm3#=8f%GtCSuD`wG{(R5D=Rq+DdCkI_LPo{cq&Ju zn&d|H2vNDCF27`>iqWX%o2aU3RDt1kGVPN8oapV0n z8F;-?5OIgL>8plx6`y2$zhF{l6Ynfw!Rt*<6*G_mFSNL!&m*u+V5jN$mwc7vD5gIj zywf(T8YXL>EON0nlX&A@cquh%ytOsnPey5<&ITIqF0qkI|EYo$pE!4j{v=fB+P|rY$PdcN6T8BMxal04ttLseE z&lS3A9lRc>FL0seWTtD~SfjqoM17e?-PS=}i>Q}U6%zjvc4E4+GQnx+zit8Qyevq` z7zPc1+BSn+0Mrnn9FNvKpcV%l3An92TA%+ZT>pH2m=-HuZUT87mvD#KLrncqrcc-( zs6Q?ROf{i7Fd3dcx~wB}oB5eX+Y4U53K>fz95B*Yrj1>uJbQr?-y(c-1_e(Hb%#*i z0G{}b_ofpl2It;pz=O+^q+f1RM>k7Qmn>LUn7kfV1By;R>*Vb2NY+t_Gav6?!TZ#H zK*>B&McfLP(tF6;eG{N!BZ#3l)mz?*M1nvsoaOx}tUhZ)2DD6cL7A~lpj7rg^(`J8 z=XT#p6o@ibupbx(CpKdiXHxi8kxv+1;vUow7!V^l7fESGrx87Ty%8jtlaZPRn;M!m zfyhPgGjt=|Ikr+%U@cQuAse}nBvfIC+_t)UvsdsNwlo4T>tItu?<2I?g6eu-E(rF% z^}-O3CYkmgqw}y#RX_7Yh5C7!+ha5HVgnMpIkXhwCFSVM6S0%8(^UglCk}(@*elyW z>g{5z`j#UrVoY=Fg=PW5@R=#b>zwpLznkz>W^0M#yaFVg4f*h6?sK3rBk-wok2<-A z&`ke?GWzzcLbtx%JKxf`{jst>e>{Zi^IP~On~H(jv{1C_>O+?ZdcL{dt#2=qHA>r) zragd(!Pd8r$o`3(5?0e5lo{kgh^?lp#_h}-Oq!4R$keb?krJU{dq%Mn7OQcXH8^w! z=edS%zxGIUYuFrek*1?xw#v{=kv_e7upYO+LT|F;VMN$(#;$d9=bAi=J6BW|?&JUj z?ia)_xx>zA*>9S66z=3+#|l~Yn+4ri0nMFz@0S`ULax;oW6n|FrvV_y!(pj9>pWLr ziIzM?>T0Bf+i2R~vqqTGB2zP^+Zq>BZlsmU?ekTJDWT60^N)5__~+lL`SDFd@Pnbl zwcaP^ZCOtHdrf?R@MS)tlErw;>AIjZiMi~jW%}Et1#XV+UTtx7t4BDR2w3pf!f#}M z`|jVu(Z1J87cnhj<8N{}TK7Iw!|rddyZE^G8R>7Ir$|u>9;G9t${n;Zl%45&q(t<$ zD;H~vPV!XE+JmcHtlgV*&i-~OQ0t}Q!East%{NH%cWeV!f3wfyhtJlSGw-@TjL{E* z(Umm>C(^ORXO^|Xj?a8wG8VU8;!WhlXTJNR0$9XV14%}F<~`Yf4duz1=Ej~QKJ&^I zZUv<5d8bHyg7%d&5ZSf8r}s4pXcF3cuD=77H|-g%`E1!UHi21=y+@P|#M`96vEJQv5euK*Hz&jU!(`{AzmE~5byP25wyMcPXsuMmt0 z|1vz=@aypdgo>@(ZF`SLV9*}pitj?k0)FT=;w}q+J<=`stMF{YU&s%DKf!_jvcMqx zUScN~d(tA*5AZYOTO|B{qP^#)B$xf5>JfUq;UtLdh2aWtdiqoM@I}4<&&0ERu&vZl z$Fsfsu!Qhv#|W79xDK`QBN87D3)S@p;I3EFH6aTB{MkQ_sq8oU!H`@FUXIn(+4R4S zXZsVb=5w0-A8IceeYLB-FFJId_U284PIb`UODQ_L293XD8rKW{v&KpCoK9FW-f4|N zfc^E)hMM*tF)hRXgVYk=(mWJ!>_4)xKcAQr*mTJ5{W4zz|?t)4M0%yXK-q_a0V>wVLqT*Kowh-K$M_-48%hLW(o zi#`tE&0Taz2)RH5c_#=-LhZau1c8!4wxM7XQo?N#-`ueVOej|C9@UDn`oyKJZfgZ? zl}xq_FVr|B(w-W%5r&sP55l|`Od2eNLj%Gs#v0|*eQcC>Fa-+`PcR15$coneJ6O9e ze=|Qy)gGr2KjcO{oQP|?5a-&6kADHgQ#In#6w|4C6{%xGq^^6$*@$-|MI*IPI$HAU z5bV_ph`303>5q?HRo>SUnCrMOzhPs3oS0)Z<`*2ylQiaeI)wm7o(J=F`M{iDVxH*6 z{4g&Ft|=abM?j1vVI+>zuZk zXbr?l60-&GxSmS1^;~E1Foic*wQwpyoLfP-Hw= z+>^0@oQo88jWw*8I{O+Am9kA!14`etWGv3bE1di|th@`>sTR2L4XeF3YYo!_Mf$>| z)WEMCK!!m|Ib|Jyn|fN%Q%rkju+D%RR!8-KHGo(!q5QBKuaJiyS{wsj?~~yH%f#4` zDya!-9&FXJ_8QCqZSvB{5gu+%quVMCQ*ynDm$`V)NhLgR*^l$L?YzxX5_@=?rzH;dHt(G{%G>;< z#B?yt+x(5hneta3F!nb8IFSwMZN4%w4}ZfN6t3|8U{>OGq+@I~!yjK@y_`GnBN}9a zKX8aIa2(jqHe)=j*2sgA*e1`{!-sP~2w)vdo_rZ*fmXj&#u{@@@uu;D@a3+fd#N-1 ze}c&)sS>Sk4kloI`*TRS`y1?D5$oHWsB+dfvCrYocRG*tU+iAm>MyjGwz%Wy0|C#; z9#myZ@r$l?rx*s%_jr8L+|T$GGpwn{?!_ZkrV~O%^1drUuz#QxcMggCXc`Ev&~MZE z2OW#8t?d~Zz{KuQ2YOTKOv}H@@Qg+}$+qIWjqQZtl#b%+PTa``+O9U=b<8xvSAAy5 z7o3iluxKg?w@==Fd~1DrRk5gb)4aqJH`jcgFX;jUCr))>e9kC9uGGNU)W9EfPOf8? zqw{p<4tH1g&UlUAjjla-a--6#m7`LJLT(KdFv(}!5tC}%GAeE8sQxL@yL>I~9Ee>0 zK=s5l?}B59jD|mlQ-}7OfTJBh_>4YLz83xZ`-lFfR=+~o2-!FyiwVk)5NXI&g#U{X zA`Ow>aaI$<6Oq-~pVeP?XgenlN`jqMY&ZL)1=GS$cG#EInf)sw9@&wGX#DVaWH(E@ zz&vt(do8<^XOX*06@OrLspUtdOFairh)0HBT1VEQ0+zjLSu0L-p7<-=_NLb%;h4Qj zog5(R(Z>)a!|Y8j0toU*cM5ufAKM#aszjG~A99Lmefk6`;nt_+z1N_0vHE~9wXlqQ z@xE&rDNID7+xo;o7G{zQb;q8A)qfXt*ZsFoRjeb4Xb+eDNrtER@BMijF@)U*maYr_ zXZEMp7q~e*?0t*F{f`KT69EhMC;XDbZvUcwErr8H&D{2<{v8|+&*={i+ru>cykHWh z3Vh>+qY4ZVNu}OZwl(SwmJBAn3k#QN{p^O62y0YjasDb+6HHd$C9cNiiap>`VYTC5 zREE{?FWSCV5O+w^eBKWWZyEn0bN|8OH}@-KoUDrn0>k6cWgS+Rk@q`&=;m+Cdlr9B z91{M1+>QKw3%`;4J&vx69^AL7o4*&dclg_`-?{nw4aSYd-;b z9kQR6A|-;qzE`!i@0JHiXpyS$E<2jZ-;-SNF%{VUTMmCOMW@yhQF?(OUVoG3ZxH%X z8UCKz-uG~S;fhV@T&ksvW7^xsLwz&tf0rbHRNDXEPX$vfdmEoEds{AQBlf@7Fyifa zYGVI8sd>&Ao%W;);cN(t)Bd;7vTvQR?QMI$jIeK!o+z81!X_3y4PEramrIZPKC-@I z|2t7WJ)8ZSo|+at(;a`WzU9#~4dxropSCtVPZEg9pL9N#;m^a^@v-=Gx!C_GW}r_- z^2cY=lktVgpA(M1S21XewEtBxQPUsmbXS*rc@QrYDB24kvH$&yq_Xxu07cn+`Q|j0 zp4SnFj$lmt-?MnO<=5%_0Qg%!x8>Kd0wdD?r{NEfZ)M?kAQ%&VD?Hoq6Ziq}Cphrq z1V*I&5A_56hq{z!U;HQ9|E{>iWe=*l?L79N)33XS^ZzCL-_1?j_P<~LJNqBDP%!JE zWA{#Ug_y01b2KL~?O@=jpI&n_=pSnT>zUwc?~8suPkYCORR`^je*I2L)oARIPs>G> z4|@lQzt~~#AWufaLcG@$2eGrc6abMw(q0JX6iZDgOqOzrjkY?rkVj zt1@u22q&+I^Es4N9sTMp%=M}rB(AddL&txC^6(#TiZo$*k1cskqzQPBy&J;Z7w~NC zL}{WBzmz7nR&cz>;KL1ktzN@OF}1B5L1h{5v1>{CFE>*>h>NBQK<}{;kkT;0p0x~; zwoJExTkyD5Dvp*q!FM4+p2ua=2lA%*y-M&REtM)1=i0l4=+2;xVZxDVvIaPO%XVT;SPagW!y zFE(*c*0|qJwCjF9Qo?PleU@qItHKan%`7*ni9}Vt^{u)_wc%d^Th-F2iuEhm99;(0 z%?-4R*~y_ARed+Ac%rI@nplRurFO06={O(Hbki2b`Dwz@;SQ?jkYcGvG~or4`^iV# zGd-BywMc#VDrG!VrhK!mtl!Q7ijRRR%*qz}7f_o19JuGJqh8LEU^x%fhJ-}@D8gT% z2qOe4p&5-M=T%Gkeryk|?Xv)Z14T?{LC^Mvwwc|uJa}Gy%a)@di=Rd3MpvJJevGqj zeJ=)&gPz;qnnkOH)*?+?y6;kSljph#M<#Z)6~-*2SR7%!gUNv|YXGuXO}a~S7(G8j(m;D8Pw8D55e&BvH(MiOw8M=AqzW!mxDZk&S zAhswq8XIRuHkqDcbefQ2+&4JQ7&_|sR$P??Tj9iEo$DVFrFF` zQUbrF1Wu*|j)4U#>R>9&97Wh9QJK}cQGZKAY_g-$;W1-xHqV9=r}hOru%0Hk1fy4fiJC_)!$QU$8Fj?Fr(+MJ(?Dk6#bkNMe_(jP z<6H5&POb40JHqK92HYN?%|i+G+ZTh7xEE-$ZUhZ2Uc=h#&)zb5ooNp`AHIW6I{1dYVB#yCA?r?>$yd!wvM2$SLS4_QvGGmF_B?ro zAL|)dmDDAh2MM$3Ma5=Iui6d$@PK-9Jy%m2gn~(*QUkSb+`ILAPId=W)gLNpYgeci zTdk{Euonvklb#c;HThZ$CH0(N`v0HN?Ba5-5zR~|KnD!N6$RW`wE}-j7pP$`Fq}Ql zRfzqF#IldXtHo6@21>*a3~8Xp6S`jd`8n)Ik^a_eUvbX>Sua{Mz=WNg0iFdc_Bs0N znWm#wlN-pm4%Krj-d{nj#Ly@4YIRrEEAHtyYmW{W{D?JDuZ2O+G}(faV}Y0;nj@dN zBw{V(1fhoiOBSOejct{Dq`*u%*o<=pTqTNBf22gHo>5_)| zHIlzWUv~31@db;&^>&cIt$>64T?J5JMNZu^GwhH2q9aEkL-!iyWEyOByuNT;_;rnT zkgMzP>)I~Tx2B_6Onx;(N(8?q!|2M%^~pOlzixQm#jk5>{s;V8g{vAYehs-+^Q-6> z_;sZ@zedV`k@BK_ABI2h2hWwvm98-THrgEXVJ=iFkctVubBEu(Swl&=+#iqZhdK4=Y9Kd&?m&VsP?CB2^td2r z%GpwN+f&1v?PKwbLbA!)AHt;<&U`62&I(CzeQ0w`-9U;E?9*gJ^L2h)rqRqB{0kkr z^re~UQ=$!T_9DDs+v`g4aha6Zdf6yK2oA)u!AoHSV-nl1zEYAre~Mq`Ha~)WrXz*_ zQ1W+dzF1=ztIa5tmEJ<;&vxhsX~8!VbCIvje%~sEUBuFh9eS~yFwCEEdM}d4w?#9w z2j{S0CMZwsd3*y@eNb;j_@Tl=_;5{P0EVz#20ozRe z>|>Lw$PQi_Sp@v_gsXj7Gt_FVhenmPs$e!?;{H1VLq|Rs4l^r}=>)rrci?@qi06_t z%uCS5gh1O#I*=gqHnj1V1Z5SEE2PW#nE5S+EWD8`$B zlC-C-yat04yyf}Hg?zT`MVkOz>}j_Gx)uND8rq9We$^8|q`hb~i(@GCTw&UanmPVr z&#jEG7m=P55cV`ZV`^CRv~tu--VLO&%04(WepcAP)_u7L*Lauwyu1V+9jX~XopY@$QiN08(JpB?u0FTnpB5Ec0#{@=`)XDr9* z@_zhHF)}F;E~R4yV2RH>3g&%^NFi4L1=9?Flip8T8)+s={;z)^2l*W8i@L z*vE}p?htY`jj%_PH@iJBU_?!DO>eX_Gz2mq)Ei76xnid<>n&IG7LgYTWI_xZj*_t7 z*Dnnh3O3}0f*sYXO9zqEw8YlF{=NaYy{K6%UT4h(IPbJCVF$p}(+u<2uQ+w%9~v{& zAH9iJfObTo0pP=+xWDd(O#|;(B_K)v2NZ$f*NJWV5dMTLgV!U&ZdgTVLR|rWA8u{HjttEOO9NMZ2 z;`r>d-t0424fH%F(7ji#dn6uDEDc!Rsi$PN5>7GFEIbcRVM%yvp)dn{5tjJT)|grG zo0iyLsEC(J)eGgLI0*I}A6AH|%S6FA+5ip-8Vv>Z&B+rwO?k-51b$W@*A@e65C91D zK`9n=eVMGKrC5OQ7wRKgVoYN7>|neq~v{q8nbw1sW*P|+-c4gCBGX3JP^tdRdRg*OKgSZnz@&2c*Fw!qV2k^`aqd(%i zwCmT*(-dVQ(hHgHEt~!^(~k>Gi_U`3-mrJi1m^k5#_Jiy_qF!B@MlmOTMz-x>xB;C z3l*Gr)>}HIFsZe7+H~OO8jG%(GRM`?NqndQKH|Z10ioB>l(HkOV^i8XrSwm$sk}Ml zFqOqQz=^_MtcZI5UI=@hHM4PHoUFJ6Zb;KpjI3s8zq9;GPDJ00TSr6i{TLcd}O z;y4c`ooFQGDzn^BDYr7wESP5({2Jaxr9~<^=r+%ye4o`=MFCvmS;ne6a7>S09ofhE zmrH~{P*IJ?b`7QQIm~KYhp7wyF`D=<2M~xcpi~ZKD@<&U;iEtJ2(O%tU54P1vT%A< z#LzE`ul}KMAdoO+UvjJD#~7$hX~BSPmGj^0%)IkB1w! z%0T8ZrY$59aKgbKaAFNXW#{?4&lak+tpwS46G3P1lHG8kQh!~9TLd7ktxw_6xe|(P zMXGQaRwr^-)KV_1EmgI@ngb%kxNTFFv7AQ;QI}JQ(o_Cgwe8R5)LPV<4b(2uNsO-l z1~t%dH!%Fg`d~(Oj9PGNc3r1uS1C2HyS!Qzsl>yVP$_D&C53KVxNf{iwOJBDyf=$n zQ8$4ozi}T{=hw-WG~%@N%e`2La=J=QMQ8|e}@p=zH!cxj( z7cp9K43Ez@H3wClX`Z+E^M4el554P!Ik*o+4+O8fw(*>q0&B6>OI$vGFe~w(B>fMTE@KV)bJ$x7v`@rd*bbMD=MK zif?fnAb>#_a4yA)Fa}@C@4>iTKxJ8w%pK97XR=OwFyH(FY4DRc;?rj0K7v7#fB~0c z-858Rigi6dfN3JhmAMqF!zZBbV2a+&>z3u(qr4G9O4&0Kj4hzPdI>!`n3Q&<-p%`= zHLa=ErC6Wi&3!4B>_ORAW1(ZAj#27ypahXG)Y3$5&U9g32kD~h841BWKx3Y2Vjc`! zAmowCYy#OCz8NXuyQ4$oW3k%ZNmp{X8`T{|i_bXRgO z-oh%$?p>ymb4`>-rn+kP8y5Yr4Oxy3jdG$!d3{UG*Qr2)+P#Mr!mQmWq=eUQz>C^! zT?wctu}udmdzW+y<%>+$S%if^B|Ef&PkY`~0#Yp(16R#Nz0AgKhuyjcH5S`@4E`PH zMJZY?HlBI|pse7NpQhslqR?FY@nQR`>;3$FiWNhCvJ_&F`r_j_D}-e|ksHnlkHIYe z23X$WFktDx0SY4HTO!ln$G4Q}L;Pdkt3&36#kW+K2typFO%c8+c65xg<6Az$a*$f= z_?92V0Zv$a%X$Z;DPkE20fmL$2!GLdb>sjtg~hiF*yzjie~z5bDrULov%++1K3iHM z^I1y(Gdzv)O9jsz-}2KabTRBjomqu}Y~APKiD$pl+gQh2{y)XH{HT_Uog1)r03P>q zmjD3z*Y!2*J*zj660rwU3}-`HDmP+_ZM5sijVL>4X3qITL`mN1+t$Jb)&db5*gnzE+@=i0oDuTq`!iyqRan&x$TT_ z{EA3tgugCZBW-oSr`yU)&td92JbP8?n6Sxl&nVMYp{Jg+^;xvjqZjLTdiF=O6ZLnk zk2xHZ`ztTaaC2<;;}*xZ7V7>DAn4!tCC4^89BcL6Y2nzMKi&QN7Ob9D|E`PrIegm1 z&SSeNy{X^Q$(iqaO2=LvZFlUSn+va702sPDd+ldPiRjo(9@ew;l_s-xPI58p`=kFs z#~%EwAoexZe0tyq@TqY`f42MY&?K-%O=R)# zX>fC+h`wx2gU;yjmX+TkZM|Ks(D{RYzWm`%^_qZU11H+1M( z$LBKiTma5n`yZEMuSmW9S^4w?SR7`FHWoe29D2sRRt`NCY6J;t+~FMzhG{sKts z3C|))>*H60J*FDw&TT(E@49@_9G2wT|vkku^KR_cp@v5!ww-OlWXYP2G zWGvv+ly7C>AG*ka|0|wt_*?k_@aH=4i;$%0cf~i@jQRooJMt|O{y)*4@b0lyj=pxq zN9WPk8o|`-uF?P6p73%vPBZ_7Jz>)ytEgdjUu0?6y*dKY`RoZ-jiWu`AE{s0LS=0I z`mu%QX|D&yMzoiot7=p?{D0Vcf#=^hQPs}H8x%z_Rs?8t-Eoqhhcy0!FES052xYKa z-X$jmbqx$_9EjvT=Dnemn;6jsv;vv1k7AK zV?Fo<+%=W+pP;8(KFq-+zFCX^MVDZ~4ko=rOPmNmtZb$+9n65cqa{4eAVgaz*fhx& zp48EHa+3Td0SRfhNUdukLP3Y#M55(iq+r|84i5Pj>>ADi_Qvf*8-CqX+1KK}DEl1y z@_o=3xz}rX)l$aP`eL^r`h76ztCLz^ycIYcJv@apVC4cJ2qp}^$(|wtGh}QX!%-b; ztCixOZj63nbjQPd$;SBolQ=m)M%T9((!JEKNNr7!`VK<~GPAzLNQsDt`2q6#mg>$~ ztXf>7F@N`ntF9X%o=Dt9tFE~=<~xBIb$wVPRl_yL=cZ7w5)Su9O1N&kX$;9JR=?pW z7j=;P-Kd5V6`Is$>l-$zqlTcm$VBz$#ZtKhtGb0MgcRShbQBPFg2U+Kcm*=kz5&T% z5TtMQoQe9-!>(GY-+;OrN?WybEC7#c)N3jVBUQRaU94YOhX?-?)JdULQL2H7dYl{e z14Lcjh1#)qoWY%vVDNAgwMV0V&_R8qaU_EW$j4$8K%7MqSIv#80#U)8(XJ(p54zvZ z(x`Sf(*5=Y00!n-4yx&8P(_=l8k?wcaVpOqB6C7O1#dtb6(bpFRLwN1=S@^sYE;Le zI+@+35mLl7rbD#~Ojj$egRZ4EA+jOs*TRkT5+e1wka9NGNEZh%N>;b64tlT$C^N#6 zMjV^^tx(O!n|n6+H~NY*8^oI}w{n!Lj*Au0(I#tknmij_3ebUnKR49u>;~X?Jq#Vi ztYZhHVBfn=gOu>&5<~HhK8sJDdVCBf7od<@ZQ{S)jsI%muj#_iWkgrEaJt~nHt~Pf zQ1DN3@GnCO@xRz99RDu7oA~GQF_@f2{QtJ<|B$=>dx75_*>sbQKSkrOqY?wWZ!+rjdnQEy3L*x26ST{&ygC&n>9Rhk<_qie7;q~eMm6}jD~={ zZr6axH}ay?tN+qSPd(tO>!DwP)O`{~*+{2qq#x3-0c|OukuKA(q<%b7!dvj6DtdB{ zGf_R|MwLTU^#I-)EEH&T{ptdhy7g*d>ktb;k-AW$99@`a)iVYu5i3{+Y!0=xzL^wnwCNJO}6IeDuf9lsvF#>t|6)hu3DY2 zQI%lN0JBZA`npyd>q)KpY0Lz)5-H)e>LeeF)vYF~ukUl!>a$%yMF%&lRzDHdt@u#` zHLB`nt%hn;^&M0_%b==gqT0)-JP^$81uEN0H5jO1L`bkLiXQ{ZvPKp@F^~HOg?`0` zf!_ZPCS}BFwQ>JC*k5Ksmv_`A}OVyqEk8|=x>`TtG8V|e0pS;v%Y=AQ|K`uxI? z?~ySq{zZMeOnLTS>%5LBG1rT9mZa;h;rXVzJ9P0R2w<+z#VtWwrkE{pOZy5)ylBgX zFq1(yM!4KOkfttsREPQaS$}<1e^oVfa&{Larx_27K*1U2ry~<|3EqE;dEekv?aTZN z7~1QUI){?sgqiAnut@ug4cL$=5sLK@N*o}~Of$NT@bzH89W z^}ZFsj~C(*e<%^*4`nj^p;U;yjLcm8HH??|E1r_-%UR%6Mj^{n_ozqa!1V=&s{^XV zRyMc}{?M*rCB5qr=Gy^xMHF=WJA8xSxt?ac$3->t5lpePe}Z-0M+x7u*CB~3=+oCn z@GZ1fGN+>)TA|x0xN0w_=ngVE8#pXLvVw81RjnGWUcN}&qDI?fW_?F8TPB8L1qS!y zemEt=7+QonGYq;Ys+PsCh?$@@3)OWT-M_rqhhc`3n}QLuw9lF-_2uKSNSDbm#oKv% zXbZku{@NB_Y5}1b4kZM$dTF>@p{4&)guVCb``q^4qxV?$UiG19e=Dm{`}+{TB&Zm* zwvOfO-HU4AklwFudv6V?o8Hf8S{u`pt=e@GKYkrIxGDE?f=NsEOHoc>f7X&I&5z=y zg*Swh2n+9Tu_>^?QUn@9buUto?(kqC{%$RM9mq+$R|v zJ{i)nG@pLGK)A9&Hgx3LyswaAP4xP};?}q|U`8=4;+iR?ce|Lf^Jig-vqw;dDWUtY zrvQ5&nqygI&5yBb!H>4EAaHy{%(pdFgW7~|hXG-H<>|VhGwHha@5=PIwIkdd&AQv- z=!Ex$qb&go`wRGu>~G`I(a_%p?~*QJ#--YHoMTCI^wXNChTY#@ckyvr2kCG3mr7Cg zH-mYDN#7rp6n3UZkrL70z8s);6nQX1o=zhH&0^E7j2BR3^93T=7;ss0pljEA}%P@m6wL0yd0!e;;3Y z;9cSKhifZ9*6YZ3+WY&!JgU!M9Q}z+!u^L74=Qi&KeXqwW$%y0Fm?7H#HeM)SN?P{ z*j~>5!^s%(@qqFLO#Av)=f3QmCnD_Yq-PrpRGOY)Ha#B`h)K_UK9`~AVL-LwnMi!) zrstsNUXz|h(@lE(4n4;}W0<|4^xSLH^YxDwe-d5v)GL>sGVzt?d{jPvzOShH)5M}@ zsdHcU@JM>lH1n9>+#h%r&$j)3x&T7_lWF$;z*r<{`@Ji^a!mjQoB{I95!SRkXLvdg zj0wLLo^ALE{DA#|2@d=?fx-O;SA1nM7Vr;MAnvm8HzVDGUxa5H{!)Gb{CW=jHw6aa zyY?S?YWM;97772Kxc|`W7neQz-RI9^&whE3d-$T>|7YSWPxx8tsN*Xa&;76BtGwFu zZ{w>>y2H(&f9U?jq@P^vy?oAj+WUin?&_euMObtV8ohggIhWy;Q_A0O*l`d`NQdua zYErjXHTN52YuLVTE04>o?GGsNQYu4YEW6(j9xtV6uzU5-xx-rhAA3Vq|KHD6!Ro&q zzg+#}L8j#hI0h;ePRc%vUSaMv+yW|{I1f~0u%P=%`iE7xxJ$eg$X?nJa2UVa!odCe?2HSUpL;uU*6kw+EOlT$#rv0^^5som?_i95q& zIM;)Bk3cks0SYP!9TwW;ncA6Zh4Zy=ZSM)KE}hURObpmbVdDBk-c&QTDYa~m3T~jJ z5hh@Cz*^2bYIMJ2wrXlPvT1pI1?0`MrJtjEYi@)YESUT*Irbo2jY@Z`?*`C$mk2F+ zbS{wtL>2YopC0H$W4rk?r6N&d8eyq;>$I@Qkw}3gi^UP|dK)T=CKUjAW48cfca5<< zG5$5jbp1E!H058No$(J^e2VfVQl9X@KZ}-lHD^6)9p+os$R>og1&l{W`x5`8PcQ<| z#m#sq<8HIY!^n9u9yb2P@sNjKj)y$r3wqw(y2>0DTJS{@^)ggyy3Vk4NX2N3l`cQ% z0fHLdhy_D?DUFh@?75p33eyv5N+k}Lq+u0oPoxKs60T)DEHNXB)!mJB7tS8w>cW#Y zOBZ&u3=$fqdWAgLwb1fFFzL{ry8p&~ivHUY%^u!=#lAxbY~Pw{;(iY))lAm+xh&NH zoYr;g8=P-4_qFy1CQ-U|9nNV60r=)7aqKLY&}P#+v6<@>XfpYdS=gFKg3v=Df8?`Q z0|b4?hvP1cexq_9u+0VD&Z_il>T|M%Pnuyw zDN%chn@45u_h#{ybW9uvVpc`TtO5Q6ldt*=<6*=^;s6_X*fl||I>pu~A%I#qIGLdC z|G8aMh;gUXRR}_ux$bP}wXhk<_Lo{*ijpX1`TO-EN;#=81Vn)K`aa;$bz#NJ+AA_K zMw}6o($5+(?O%}*^W;g6n92C%h*?dR!maz8G9!i-FK5Io!JDil!B+9#iAE`&Xt%UL z9|$J3{?XPOdsURNG7s9lX{YcZB|>kU(@pD*Z(gJaOaH#E!E(z+sjXwD$OG=M!2%b{ zZ?TbJ+bI^E(BtK2=pUhfMT{4lzh6c0SKnu~4a-e*k&C~*{Khn5#QMP2u>H|yvv~M0 z^J%WtwS~kZMhA z+i34%Xs2MSd(ot9KMW8xUxD^uQquQ!Grb=z&2-hSJgb>rKuSb2t%MsGEhi-iQpRO@ zQEyi>&HwyAXr?Q%D`DB+aH{l}Zl@&ZWwt%ZTt9^6n9pqg)q2YTALqw(8HdL%QLSA0 zjQZnTSl+ZgJNpaNQ}pXG1cU~qf8Pi`Tl(xeaM01OMTiT=b>V>RN13Y}{kpl(bU^KR z)YNB{<4SD3aGX}-3icB@_PC7JkR3L_j_9O^mpia z?y+*{c^9Ko^JmQG7JquX=<%0N4|rnHlf!rv?ao0@6_cL)2_}EmIsSc>BI&^*=FRGg zUTSoWNiiy;g&O%XPgL?w^CJyYZjajv5#J@xjsc)Qw$mSPiTKF*J{WgI3}OAa@eoY< zarqjgB~L6XMFYBz8{7GHFm6SlfOzqv7y(Y5H1PRYZtr$ihtB(3e1FAxf1K~G{4e4?G!gTbtUtjxgYVZl@5A}t!g){Tdjsda zHs7n+?@6z;&xbJ!m7WGuSE$l+VRPUqvYhgo9cx9w<~&nm(fNWmf)2HsC>EiHCG!(UvG zC2;-0**cZZ{#l9bk%56}xUevo4ci|ip2cGi^HE*=LA$8svCM$WA+UgtA9Ct!3U(M+ z27xZT+5dKsE{~C^@qk*spdDtmy;eDOBMKQSr3^zhRC9{p^el$awTs#jzT_v83z+|7 zo&T6O`$xdF>vcf2TpUi)?!n0Yq|UwGoBe_0)+)rI6#%T&3GnIam3*5xfdd~Rlwst8 z-seYN2w4i7ES{s6FhWSPb;nQo0tEr}{Bgvq+ah5mF(Y?Pp^7U|5%O+=nnqZGqW-sW zTcwRHq12fPTQK@Tpa6o(nujqsjP8(AlA{oM(RSmMPRs7fOsQ)Y2(55`|D5vs!G&O1e<%$U^O%LP;ouoCkJD zYg(1QUNyRn!1gi$pF{XeW^_~@q#J!wkoLPSqK5W!I^OtY?L^$4(xy!wV=r-*ap@lO z!9~W{LaG^&z!9;`VW4I&ZHMuKh%UnaE5115y#nnJU&r6OFiJF&BMin-{fKu^K5k~M zniqrUJL3_LOb^Yzx-?5jCYH4_9`Ux^1iEiB>3*+o<)}~}OiZTyY2en2VBApHUFeVk z@*f9dW+ygd%U=v%R8C6^&|_FHChDQ`6QHT|L1e*7NtSi+EZz7YhU63a15c(tn7m^f znf$vtG??m&H|rsMOU*2*;m_P(BXpN!?5KxCQ|^ai4BWik>F=Qnkm&G>L*(n8`0N@V zp#uUW9aNG$H3HIxsEnb9WWh+f3KU=-sY8Wl^zp`s6kF)`w?zvGn2TLD7c?hNutUj9*TqgMibrc)v#c!B**LNYmoI33dqC z_jVtBUynq!@^E8%mXx#==QGE_9vX6#fbq12Td8gDNb+!|o5n)+k@83JMp+H6ZFn|*dwdnV$=qJvwAE=xz#4-noG0x)yb{O{s5-ri_QYSdz&E{zKoq!-iMBefZg~?%vZk#p*pb8Pa=dpt#|Q!Y_NzLc$Ds z78aB-qtL!(wmyu9tqQr^c|v=tL^~TO6y?}98^G%a4oW-Sx-XCGCAFU0krHkZ9$d=4 zR;+qe*6s30Cs(_STp{h^ScJ*XFe6v!$nBQji4SyenK_+{_PCys$Go$>QjVfN=EvU&+x|@Jo)G_QQMf%W$;N;V4+i z{H9@Q6Sxmni)8GrE8YL-Itn<_-)kKZ&JNikDdcQ4QX&jf{n}~!;oTT*%u?@07i+yV z9KmX1cX@}kmx3nkck&!Ap|b6Vn|EvezWi!=_Cx8w2ukWwgRyM`d1vauFh@Rdgk&!$-YMXPpJsXkVY|kjv$7;`qeiuXI8BED$dv@9{?Ku;c zOQf)|+8`yOJ@?CgT(KHtPGNo?r3;wHxNlf`&i15xyl&6p{;u{sv{Sd|7cZC7p8tvc z@E6!lwSBDjGFkM{w6h5mLLlvj)A?-K>o}>1{jdO1v*iyX_j}i!2@aztM#gJR75Z@h z(cPwfY%WS-zUOSQXLvdGy5TlGg-b1ZVqEl`*ijxm?)#7Ayz;cC%BN=;i(~bvY0(qw z(9^d(dJaN|*ZgT~(=&!ZO#X~0mmar&j@S>6&nTas<|aKE!%Y56aPDI&2906zk6xT|%VF|yu`!I(GEE>Vy@s~cSrB;Pw@5f;nTz!}_SxGDi(tQj*qxhJy z^X%CvQ5hSeqSB)>PagILx1sd$&Az}E-&enNu7Zc(e9bqc1U7%QGvgGHrF*BfLJn_M zUHkhI z{5{IcALYuAj<-H)k`w>ce7{?=pnc5u&fKXYpUn4F)_bblFFJgf_bFO7IDLlQ-Z|5E zEFUiXGicM0^1jUc=+G1?osOzU>F;|`*7f~6yqe=he;-8NIprBOHSGJ6aQJV#;0Ly3 z=GVyIS<44b_s?$zRylX@l~^$k`fy)w=_&T|WqzkZwQy0>a6% z?%KPa7QswyovP@~UV=A2Z0#)f|55iY;89g)+i)fa2pZf02}T8sI%=X|69pv-bp|G| zMZM`2nwxu9Q!(mr9)<%NoQ+fK9A}V#6&#d+8Dsm*e;$`RPHJ&b?w(cl$|XGVwv& zg~WuxNKhZaerq}_y)WX$b@Y6pu7zz1PARm)WOm4l-vomz;;_~Yfk1^4Tp#g+AdQ+{ zEI98?E+gE1kZ|((B7j5o2 z>gz)3O!ZT-a{kvr@Y|v}_yY{6ggpb4V$3U;(-*f=Bp-SklX%Rc%0ui?>w9c`z537J z5RJ1+O#~lK1k^v(l1ooZYJEoCeqo}zLH}Wg{a^ETF2~~QKzW{$)tI*U<8GeV1=dE* zY)O2!7BB;X{AMY;vPXIUl$WGlYofbuyU4?02~dafU3^-C>7ajxD*`77>rGH%3!xUS zZ<<%9!iE4?!KL$LFasAL3X8E?cQ}%uwW0p z0I+ffO?_3rzKd5|?gLKAiSq-ss}U#u8OFj(;l_4nF=jqm*CeG5RX9M z*2@~fzJjM$a%6v=hP8m61cYcRNQueeB*oUHEL2(I?s@=(m`7@%dcJ&dlD$~U<3fX) zYXv1OnQW89e>Y|%xUSp0>bVH`{Z3daEygNlpAG5P`Yj3Ims#_IClc7)6w!?Y8e7)~d6 z^;cT>sm7q#k3H(4FR+^78J2iByk{=SOVZ@wOppgH2eBDWA%I%2ZbcvYayN*>bF-3} z2J*C4ZGM!%j+aw=pO+)Z&n9y5Z#oBf#?+jqa0}o3-;!E@mPD^5`N6L}l44Uf_koWq#l%gLy;AE|aAwpV06Bx_N zlG8+rz&a$n$Dj~@C%C^9Dfm7Yzqq@yC=9+9#xs}hL}T_E_zinEc#v3zMEoC#A8C09 zw;Pr3#|`y+&BpC1D(@uvI>VeWiayq2sZlUiH)iVg?X;6wjq7jgj^}v&Nz6d~ zliKUwwINo2Ij#n9>woNOsehy7{kZ;rB0X0B-|-x;{~>0e{`B_xYoreP3-4_2zhBpX zi{y2#Kj!)xKx6y<32Rru9EMKe_(d1pm;VCSsA;KjY7H&g;bA|DV|pv+Wrf zquvj*^w(TAl^4h3j0cb$8K!-bXqqN{0NgHYcSX(>_*zfb$`?i-$b zZX$sGm-+*DJe@G#&u|a*&&~H=@)CywJU8u;xuz4&H=BLwNtwj3%mkAu{SEVWQm*eH z`)wgN2g|k7FUtRax!Ay<`y=4Lsb&?I%VJHECXV z2jK`EvH!3ZRoNp!%IjDu1hMMV-4Y0W9vimrC^cTVD;;0fbwj$}`qpplEr850eOeWb`nt4ZySSjHxh= z!$xN8X*7EH_L_xjD_i}AdyVROD2Iqogkt)w@BDeI{LXD{k)vIv_r)DhXonoU37i*Y zHb=G`^fdY-+qzaKQ<=VUxzK!6=!!1ST7C1a{$9Kizsv7h=Kv!MHnusL9F8G@`hWXM2b99 zzCv*B-FT?)*Ck^TtDHVnnh-lD-X*e1GSv&nL4U_X$y)d%K9Q^d6}cAG?MZ+LzrTM5 zWr|C&<|aiBVF27@fD4f(!J_9y=sObz0n&L4nTsg$*AZIR1{h3fvo1F z`pm{HX;`0K)0-m!R>1PuVv#U|u01d^dx9aMq(=39kdX@Bk04TUaZ|Kf1STJ^J{%8F zE_@j^Bo4Xv69oV|6wXx4f5MonGX#6G79ZkqP1mGH4tb2ayO8Gi+aiaOjT#2_3blz| zg(t=z`!}sjst3&?iFJmqdg?`l^dTrEYEI;{nUH+}u zz~ec8M^5x55j1^C^%v&!#O2B@YKWAtn4?i9mik+yHb;n|oQ3FAe5L8fikHj2IX8~k z7qSm|$fW!^`XE6!GF`AD+A0lky#DtS;k5WcjCVcmq>a+{9AAGZ_sxn#xJ+ibzp~su z2+D-_KQ|`U6Jq{+=5JxX|C)faVmG!UEx&JW`dr+ue9*nGTKrGJ#y!6Xac30?X-^CZ zY$j-Z@3%hm3qzW?X!)M_RwiqYzi@TP+U7S#taidD;F?i?9&XIKr68$32w+f8n9rBt z?n`Cj%Ot+s=;n;$OW1w6f-gL)h!yzxa;5t+kS`Y2F6Sb8A}W1E&otwv6;@ZXg?{gE}EBIp%0 zytG$)MB{`KOc(-(^@DI_)2@Q>F)iObFPyHxhm&v%aH78rhkHFB2q{0B&GyP*3-BwM1%N__jB`MLB$->S9?nIxDq3 z>rS0jIUSOuQQZLWxF#8H{7P5fV}Bd@Ynf0j?gxXAa;97ZiSwT!R*nJNXROE?^(rt{ z_=h^}n>3M|5`}T2=1f)*c{3+Qj6^>%ad#prpkax3E2gXO&gv=+wi3%g3o^}lhmHcb zj0F}`oUE(fqeUtz6aaLidNJ3302Gol;lp}H@YMNG##tkV{y<+1mFn9hixnocR^zrd z3w6haLJUwlu_&U0g*wayOwe$revWd#9R8zzHcIiVXWs45&woFFe)dE^qc;ItupT?r z_k&lD`#XM38OEH~HvSuo`yQz;(%e@ae>O&mz0S)xxMrS(y8m>Tg4y4oGpjG9uS~P> zfH8j#>nJ>SXZOpU)Qil*W@G*gToe|v_Nl%F{M`XfyM8MQ`JF5JsQa*`MXdD^S4bv{%eW(X!&BZaLt{+izcCI^0%y+ux7+& z?cMtUjnv_2aEhjL%K_@P=sLWpt$isUk1ev^^2ElS_?!{qDg^vaUpsk^x=xpgdGg~U+`@tkOqwYPE68D>CJN~*kZs* z(J@GCSJJgS_IjKj_^&RuR{O2BBp%;mYpk^iAj&uGDPh`vIZT2PG^Cf@5k;9kr{I0N zBz>%#|3CSqoqMc33cA5=^#kLA3CLLlBoPCE%y0p@JC(XxhS#*_xp1r)Zd&hYW#+gr zNU=5pYq~P6AML=Ervvhksjw8(2_GUjljsdKW{^%g^IrG7tByLLQL~UuLvGb@1Qh2Y z0j&@5VxrXJFkVXqXke-O!lvb~Kl+9F0}=a1rG6(<_;=HJos(r+{k>|#IoyUpO}f%y zJ!;-~@Cm%OM&j^>2_5s)P39@pn=noLvD(!Mr*_uYv|P+!8}bPZ>zDATTq76wP6DsU z>W{mQ^+^Rz_ZJc3AV(B5Avnp01z_f2fDq~uG+0!FMe)OmdBb~=DZJWIXMB0EjNIt{%S8zHnvi|=#o(_zBFuc7C@{ro9A-!_)jfM z!aij?>-jwpS)A@u&*Xv4eE`N3(|Jw9t(J}>(^|BIKTcYP3@sv6Icar!F$>MZbCHKK zky19$9HG&f|C%F2a{g0SpG^YS$4eGOMT^fXScxkZw5XxibCdLN!qBMhLQ(*xLD#`? zY{SXgh93fQ4U%p~08j@&PRju>b1{{ZNF;vx4|i(kQ=2FYpbQWadIgAMi2Ma8=~JVB z5X{d9Mg`eFuKD9{V6R@&$jk^Z_a@YK;sn zp_1=-FmtC$T9}3n>_R~KZHztxP#PHk9iT>w#);_Xz(?p4KY?#BQrLf%})wgV}M z4_kOtaSR_`CU}1mAD%qM@n$`;OYq^w)Bjt1I3i}p7(UGA+y4X~ioEUkfFK~W*%==O zP;HIjL+=E9IJ`^nVH28);lnl9EAi9#P(^(B@BR=opvQ*1lS3#y9uJd9j7nY12+Mu1 zq=~?cD`S}Pt@JNpQu`6YohJ1-rU_<@c`Fe!+SfDjcovM0+Y5yPa;~kA3 zc9-+ICXg5CCs)9{(6|Bsx`)xGMZPeOmHb!%dYGI**eph3=A}ydD zC3%q_VnEXR3gLtqcm-M|O^$tg3WO_g1YBqM^*lx3SER>@MFTw8An^J_{hjy3;C1|^ zfLBcdysXBA++CN9ONw3xm}uyf5jxMDn8;%(_j~{l(Hc5(2t`M0M7}+&)Ec2JPX7iV z+AU5kcuTZ6{R-rp;Oa;Eft6PHH!%E4@K0?SQklPpatHu{8;ru5PkThc2Gf>eRKG*` zTK@D%n`idz0jQ6Wwq&DvH&Y$|q=415@f*|Wb(PupWfuUy$0SqC2E^i+oML5~X$?|K z7-pWmmAhdxgn0+nNKXZH#;gm`R0ms+2aTmv{G#39L&0a2ANHrXg@;y-xP_+|UM4Pz z%*wxZ_FEWGJ(wxtcox%M5i=P{4SHT#ZVsFYX)o=db;6&nV?m+=Pz(7~M|(y&I9Bv6 zP!N=y6um{txcG{A3JL6TBf4O2&rKz)sI!3645n<7D;y{Rkr5@rLT>PCRSKoZlCbH_ z^oGsyt3YTs(VA>pW!@a+JqW@Net$}e2T~{8nFk40{G-EigG}TikxA^V1KT+k5lw>S z(}zGjxm}R~ReKv^-xx0dV{o55^0w~actGIQIfr4|cicUKNXb^OKv%&7FQC7kIc!Ir zFcv)l{IioPU~t8+x&%i;<06uQ00_hxJ*v2Gz^Hi&a{y{G5IzC|C8h!3*xI;!X*v%} zf9#3Id<>!MwbRW+s?bT%(QQrMx&Bh?ym}!?{nP%rtO!g+$cDCf?NEH_$22FT!{Q3VReXBZ2I%EUklwtYin%1jwz`3BgCI280`gQ^m3 z8{gQau$`lDVX1F6;@PODNyW4*xDC-zv~D;7tjo>$A~u7ZDw#L@epRANWQ+9rCA42C z_A28f=*1suy_o$liwfFm-k)7Bav?}D_ON5sASPU#ECKu6pnb!%BF_;xSjzk`<`4m- zF{e6O2q>vxCs3bHjE|yPUK+B`PFT1BuSvEsB9o{BryD>B!2CTbWfeGJTYWat2zHzUKGT~|+si5YK@6yLJjN^w8$xlofHe)& z3>ZS=p0oT#<7u=FNJ!RW6o=q0u~FPrO~sfi~@3T%1}8D-6{=O zTM{TjY`sxkZ3Gx`@r8O6N-a7c{Uzon&PVpBBvj~MiL|!XC)vQ>nfki>=WsxC>vr|q z3`}HPp11~~e8W%Wj>)w#%ddT9S+G3A3VGJGZH4b-Hk^I$$I2T^(`)u4T-%Q*cB5!r z?Qx;W_SV5CO_5ey7;uw~kpYfxJDz#xGOB zK=uZ#tpR6FTVzjiFwz9!sWCZ#?-l;r2|3PKHn?WLb@af8M$yrU)+Lc2JhKPEACo-2 zmuY=$<~5u6&WyBW828+tl9coYNu{i7V_E;IiB|u+5$^6W3*W2U!@%s2=hKj9a}iv7 zPbCaN%G1YG=LN|B%ds4jv22&Ipo3drhx1r197!PWfIAqD!W~eD!DxDe@w|>r7D;(W z;q!5`uw(mk;uwaZig&A68QXj}#F%g}71;VfwAk)4wQSXVeC)jNcJ0V$KTur0hbR}Y zb_64hsb=HXK&j^BAbx|5+mi)9P=8X*{)*#_+;6`#%Jv$$YY@?#OmrL^o4bu>9%xiF z)r=fUH|}`=vVp894F`OmT8mFoe@CdAg@-D4X^3i!+)(*Q2Z-w3JBuLzgvxKmL^P$- zIbE;|N3nFj+tDvT)-i_BC zM*^O<$k!0s^8`F?qn!Sinbu_QmSM6uhGErXc0ssW45tfUX#5d$O*nQF-{Ga|rg>G8@+wl)_p_>!>QB)hi8V%zc0c%)`@wjX?|x9r4_5JmQxiYP!3SbK zfLQ)DH34egZxfi}s8grIV#lPz{7B3U17@RVl;W4hig(9I0`{mX<}>J{np;HFNl$i( z$D6N|CK1`Pr~U*y0(4KEI}VlXQGYoeBAIUL2{h&I3*q(_-P)jEJK&G9w0xh zs*$Sk(C!=2wvF>7E=Qn)$5_yWo<|PD2f}?ucDS@YOIl{2?nP*k-%%W&@qL%1dK$;j zBbWqMV>z)?CrXh~>9&7@J-U=Z8P$FiiX1#eU+@w+oNUzn0x8b4?;_g|7}XD8rcL|8 z$m|IjMm553(RNBjx5z=msLtq$w;BDr`rklLlKi6S8#SqHGxFO~#HrANYTsD_!dXKT zMPx?)wZ_7)@Fcj1@*a%~{(97#r0&XdyB{u%a)&(EBgFQ|Ts$L?xPg;Y0npeb10#pg z@#nB;>g9k{F@X)n=RnoyJR~mydOcaAC-K`hSCGC7tBoKRI~%9>;vV7?t!_jA^~R4l zy`&b+wH23@;i4ua=Do>f*l}|U`)SVz6&38)>$|26YQUO6-eCr~Y(s|w*1mdi9Y{YH z<)WXX1`~_^09e_GL>fkzN#>o*Eb(EHisKjPa}!d6;5lKeqH2`Wusa5r=r8=ppEsj_ z1x#B;brD3H7zP9}bpToQI&@fnR1$9{gU!fc!z^LoD^4Wh{PCo=ya;s|HV_zOFAX^_ zdmGRe57jth2ee5iYiqX@kGMym`_T5mY*;&7+s6+d#%&*BOHfCkfui`obrnZb^fdlH|B32KjpB~?xucRRnI>;*Z$7$4Cpe4F?JnZA;`ha>nJROSc zRhU)ye_cBu3h}lZmEi_}pCxn7k8QdK#Sm!JB!lGFuLPOWAUt+9%zeAbd*Vi9JqKdn z#~gf)0`45t%p}czU@->GU={ApMkQkEtLLO(jlF=<`dm7xUWen?=K=U?F5&41QB$;saTTgm)ur z3@(VlyACx*|Iwj8QXi*ozq&6?S9KT#>|Wk_9S?*pLj3A$B+7a#$*<3e(GNA0U3{P# z!xV_upN<@r>-KvL+?$JRl=sBTcXzYSr{`1TX6ds~Zq%T5dC`=~4#vg{6GHc@s#Tb; zSS1sU!G(=X9*tzY48_arCiO3TDhv}Gv4k>Blup4#sC5O_VSK)A6k{6LB2Y%=T-}8< zNzj8J#Zcw!$-Ag0rgyvKy$pwJ3epkiXA00Y-H$MXEivP`gpA)I18LRYqOujFx6z$a zEulvGit*ir@%8!9_=Vk`yDVomrgAAp)#1suG~=2Ao3Iz898p{ z3AVimj|V=Pc=9^v&J(SS5l|I8g-vt*ZCc-A#PwHUyg=^Xpn>RmndSg}wNK$I;&t?O zgi^%kBgS(Gzvz8ZdM+LT(@*Nhp}2rhoyEG|$1t&ovh~1lS@1E0^q`@1WWw;=v|$yw zuSP(aR#f95;TM%<5J&J{e;Fb&P@PC0v1W_Wm})+wonOId)uxGTDAv0F4Uj3YMX+xi z@0d{bOJJQ|KcGv*_|ww6BK%O9KODj|>-o^G1@YhC2FWuD}-(Lr3 z-0&RKj$zCgtWzi724dMfe6XA9)2U;1s?SY@Gn+N|bZV}fDxp_5s&jQJ0gHOanP|My z!ts2P-CZ3o*+p*lEVnbSCPT()F3ORQoY%$fRM#&@d}n~&xa*@2qJ;Rnq(-BL_sq9G z)jpr?`ysIz64iukC`$|pw{INWLE?Q1nY8_l%=Oz>!Z3{~A}gIhY7RT#G#NEjgH;~ykK8>W%cyox zrS-9T?HkCV+>-&n1#H_N(4uVGsa~^ivk{qsx)BC$7OpbpKbysQ9fA>lp{5*vxGh*d zG8ejx=}Gn4_ez)C4tmxWt~Q);_|!st{q?Zb72(K_Ur!6z8cr~>7oAsGiiS1^?IM_g z_fzh?5dA2Yy&fnHMfR0usQhtnEr3AL zy3Pa4z|@5FZ5IbN%cU1Z+3&+bl(*J@;7~*%D)K9%ZaB(?;GZup|Gr>XRymX4b4V*w0kNHX+vR3oK>Z zoT;XUu~V;Pf<3AXy`AY#89C5{Lsv!)EL>Z0od431y^NY-&JFg;o&^R(M${k2#9>Yc z;;U!@@*;DHx}SqjwIlkgL;!oFNkBo#0wBKwDYbp27@HT9PGx0*oT^Jm;^^OA-jot} zeyVcR{r@Z@Z>wF6wGhOlh6*tiMzt3Bhlc~!Krasboo1HbhRZ2$D+QiniR|_t_*_-* z0J@g%BGe!{HbHjo;Ic41Dl&%{I}i#N52lICDT764C{Z-FLTg6iO*$QbIu@`?!(8+v zO!-AMpBZ)B5#V=*9i`91S6sdxY^Cql>sKXN&D^Si6H_y@zBmT|?v5jobt(Qvl}vT` zZ5B9;O%*&9$C;BF*^)x*rs?!|0H!2hOs-k}UNF*-;oO}@03oHc$obU~v;1Sz8S;A; zqD+%dB089ExWOU!TNtw8z=Q#j>xJ8panx*=eZ~!|a7qN8dnBVrBT{jYYZG3EVPA@r z7=e>{Z)kLj3`@t}l$3T0_Xaa>uNhG=DZ&tN&v*=YIYkiAdzxq#&_pwz+@8BtcEPG7 zHu`t{Fxu425a0naB&hk(94xVbJwEIgL5O6a*uF8xB?7+eT_gfc{sRXCj@c$uAcQF| zF5k%jzt$7l=_e5hbf9+trvQNtG;Z2rZS2-8bf7s$fCFaRLB5nC%(ih)N>SeC09H-D*|;OM*t5>>4ENCDUF4L~ zD-NQx!MPenWgs__jv*og@Pk{1VN=Gkej}aKQzv2x`d>q{NkxXa3bx23nvDl)TX@iF z2RET-7uMR*Ias1Tj5Z%HLF^Qp>feCuPr-4LJ^=q2oJ3J%aMC9ejn+?Cq=B_; zFnZj$mqk`18QZ-EC%uQ{!ATz(Jw|Rp`PTJDk1IEX3O80h9I)Pt?AS}!SKgsfPR3Q2 zI|Kh;jVWdrcf`ms)?C zGcs8UH0T29wf-*1=~nCSil5_Z{prrg6e;kiE|5{{?}nW2wf^Jqb3(2EcxPm)6qv0G zWY+pKkkg~q-yJ_aYyBrUBh#e7^}0Z>TEBsutXh92etOsXdpIMzNP!``Kz5|LYpuU0 zGEc7cpNOARYW=cKS@?oI&=nCz6pr|@;?%d(aT$8 zZGp}cVCdS%>JK=7BzhjA4j19*4hmE-S=XJ4cjvA)v%EQStn2i%C^8}9Y(5CnR=7os zh@2qdWcWg!PfWfCLApVhB9tEE^0~3}M7U@`pBhqX!=O(kM{C2NPbJ4{!=O)}RJKH4 zMu*zzFJmaBqN7-uD0o+{f;1izu4?{<5tE%{n@*W`JcyRB8R0dk z7i+S`9-HrJvc~2^aDrYj7Evsa6-@i`uzgh+L}fC=bmp=w{+ZUj0!EabgblcA%?}WK zPzGD$x`HgQIOzZ!`7IET!1f1Y8x91vR4?uiP(nnpd#68jClynMK zcOebm%^A$t-wHS{rl~K7GgzfX{YgGFs&9f8NquLr?9WXICHx#BB#+WSKRfv3=CbF) z8&3y#0?xD}a60)YbxdtqCAY6R88s{ea-TI}|EeU%ca$Q>waB%aAd%qagvgihMJhN` z*QYplr&0!ipDtA1LMelyh?YA*&yoQHNFpC2BcBekVHzLPUW}h$4zD!#2@;1lBjk^Yks6o~hNsu#|>9>Rf)3e_6yj4`V zwQ>PGFutgP@cT~uvwsTQe8NA2F8|C$v{e)4Lo>+}g-Q0re%I%bmM@I+R7pDpX@6qF z=jo>25;lt_(VkJ$6M{|a?;^**7>L)(6u&Y104RPK9HIdnqLCcJB!}?*mmI>3afoYwhC}#c93lt~(NOuY z^(|>dWGk4&+Prs1IjO$OojwtGAVEir1>C1{xzlUDl-Uk0kqQd(r3Y^3+1F*_&*kJ0 zB*c|+DC?nC##%Y!h9p4L8;Wfwj&HIrD5Ow;M}fG`Oplih$z%yU0J zt5))RT_s!s`I%60L8od#dP_XDVX%pk_}tR+AtVI$;q{0Fo=>-!tmQ==?slVep5NzO`ZShmwA^;gh15AO}QlNFnZ- z!KBRW;VSS@#e9admo^ z2J#((Q&U|TZ?EZT2sw8oL(Vgy&QWp;`<+o9G6c$aA?%EB#B@;k{ zjRjo*L+0dDTy*{EGa%BW-VMoDVgyy|B1t_naQabix8quAh<_+V=!b@ z>CtVlN3(NfejZ7M*t6)bse-`{HXgx&xXXvQLZvTct@O@C2?J;Qh;zq!Sn!KJA8JT2 zp`IPpVc*5nWl;NgF@a(y%-`m~wYz*D45>^t9nDg~)26U9V3PkpmtkyCl`VP|dxM%VHEPez3xnq(hH+_fe!o z4z^XUMq6Lc#+FEDXy|5)>Zu3hXy)$4a!kh@=EyxBr+7KqhowI>*dp@qymqtcLp;#A z*)^NO!%)k2dmQ@o882(p!{BJs)J0RVM*&mP7VV0u>JZn#lM8f!G#JoSZx_Tdcwz8p zKxo9l%AK55eF(v5usIhCp&J8r5*_=@rY=-ftU~lLN3B z*1eBhBnJAWA~BGi8f`=ZTF#I5h9*h5QlKAwT@2xIkQvpR;1cWrwwrc#1lwr7cLtj_ zuQ58~A$+g)-wv-}9cyw1^`9jZ_rR|)aeMB=x6Yt3qv|=AYi7nK?xr)`t68HDLT(IM zUqt`Rtvpce9>6abF9Kv6+|Z2%EG9zI8~qedu%lQT5w#fIfB|y$GE{3x9>p~v_xJ>C zFsjc*@eV^<(Asfm)A=47S~Lnksf)LPJbQ7ERxBPihz;@Fn1Njf`n)7C{qs9m$Jffj z;zx{jKr70fga82f8UEPZW*p+cK z7rhig`|5NG&A50-3Xbs(R*&z6gsekf!H(!9HL7V3Dz;~3gGUWCoqN46BDKhVMbi}7 zOs7$x$avuuHp%r`Y~MT>4L;6_Eu4JQf}SnG3;)p$8U(#6rTG&l%pr+p(+PNf4$mqF zePFj?&}+fRkSZP*Xc&2qOWT3Gm%Ti9LLJzHf)KTTfnQLI+ju8hyv03`&IiLHz62$Q zJE>jV-l$=NWrS>rVKx(J{`9Ae0X?M!bVJMndMODuETCs1x}VhSCCY#RKoqA3Vm{Fl zhl=_MBMA2dZHk7gr?GIoQT-*!AK;z?ji(|Hc2-rpTljEwn3&fP#d%Z^4_$u|Z0+gA zPGxq%XCU49ZwmY$+&3k&it`01hT*@p!N@Q1(Zmff_rg$d$5w<LvPr{#-9@Ja@oN9OY*92Uyhng4vMp;w8lVtWp3 z=V)~xT7}^$*Q|NJa-o`kIUOHYrx&cNr_E7zu8-uUyeFeRLcWmI+H-P&HjoBJhSl6$ zo(zNp91o-J)Gvea;#1qtksP1;91niGavDyRLrFx8bbodo2};%n_)#yM(j6RZBz#{D zM)jv@x;Ih!Ejr8xwny0J7(mV*o>{nIPPf8Qy^J~%5Q4XE86Rf!!qY$S6msq~F+Yt_ z-d_tn$!}jh#BUe-S{qPhfGx~QuP?>;AUl9>;x87C+TYv-THI_h(wfh3+9jTm9I|qe z?}GvS5vYjvD01`njUM3~{5Kc}R0)9bYZA~-uWnX2J7{+?tBh4&ds}J|Xh9PdHK#V{B(~AEO>C)*;3}3a>rLmjn8j%yR>FH4$ z^o{s}O0{4*@5ynTt!g`!-xa}AG7Ynhkjnvp@5Dtxd$#LpZ2tH%xv9VypwG8xK?QV9E^~_Q>1?X<&$=_yOq1=(6@+x@FlG~h889kh zUML;GT2Pg)KE0D-%o@RgkAQhRDHJ;cnt>#9nu#lep2CkRIf=NUPX`@<=?FO!ykjU; zHx;AD94Mn6+I0AyJt+r>Tb(ALsF{Y5|~dv`0y00WLO`V-P6tf1G3rTK8c`X&cRgOmobvVDjC7YoG;v* zQ{p*{8f4C!ZcZ&09$De166C_1XWX1C;yH{^W6mNsr&m0O;SbE2?&ffv>Dm|&!kjWU zXGt7RjH6=CFgFL1rVBwvQ!yvk&FLS{VT=!RPH=PfxiI)r!g-kUeTs&`^7u%Hy5D^2 z=FE=gFvN=AG`Kl|cn-rGxYKhyvmbM_)8g3-4`TLJ%%1ONuK`|RrWnwGWM)rd@LHL= z$t_TW0wfK}{}xRWv)LG!4oS3#nkE?061*^w zI?@2xAYhU7H*K}1zdMkptL*zLRtewnpEgTVMolBe0CI)X*k;N3J&Yz-M`j_{S|zLF z8CDG6T6<`u<6-nmi<WFFm;?Y1-vg)!EG&(s8~44$1|=N8b`-v{1jA9oxTd%ofZ z&?8L@yI^!o<6OoE&>jVyHa&o3^~50p(+R79)IEI6%%m?yJQm1 zH{XU#s3J8Db6`I`p!VU6XQr2Lx{j)TNs7Ku@Gf`!n*e(7mF{veJ-%2CkG8Iq@tRKG zsbzYCU;Ri=aP@UyNizAg4}{ssEuU3$B4m+GYL7fZ@iO%!3vtH) z_=d3zOIu<9r2^@uTEGIl!T{$#37mvRuwPuWp{v%pBKLxo7k&Q1OLA86(ZHPUtjCOy`kA$B(*yUsKeD0zp zN;msRmtk-5<)Ay6F-Z;YgCU>k>W~=bctv1?6p}k6FF~}54wRa)?h>L~bJ(Z;=o7{E zU}RQKQpI$??NH%h;M7E@t`LnuXFx}<#S6n)KyQ3-$gbgmzm?w=m*dXJVB?MyUQ;mt zb>7i;m*G~@x_9R`P-;dh2cr{Md;}&FY4w25g{&ORywLoR zRYlauMoCzdd^!9TpLOI1Smhsv)`*TYU`#{2#nzNb-~z0aZLaph1+;9#}w>nqmrz zl?AO4)6gKfBGRhxxJ5tCWOg==xtfc2Bp;OI1-1BL4mP|lAU+}|6F~M`3m#$)J5KNe zI~I_oQOh5L%*XMp?)eV4@!I`}U}qMBC2Dr>JyEaP?^9`Gs9%JVa-1ZMiADAlQ_j;{ z$TsXcwh^>$knq7H$j6zp`S$QJg==T$;ofj4muI+uViz<}dH5(j6bqIhiTX>C{RlhG zK%bgglq<5w1|<4Af)^aFm4WzswicP)AFB5G5ZCb^$t4;rje;DG2_(%)@Z5#nQ zCT4+u0aB9si9DnlHG}cMJ^u8FHZ^{8nv;(>xnC9*nL+6@(YgJNQk@ zsw6x0q3G360pt3zDPBAX{}4fkml`$KLx2GIx*IiAh%w1>f)_LwpYl)U(fTbEKn4I} z>bE}3KCE=UXs$>dbJ=x_T~3=Qvg?TIcpZ!$V4l`h9FJM$obeq2_Tw45Q!^T$+B3@3 zgkNd=;W{D=WeRJCB3H{xfIT+I48VJ2Mp+kxUgHUsORQ$}biBmq5hfg4rp^-3j16(C zKs|EVgvV{73h%lJRJrh0yhUyNapf|g^;)P&oUi}@rH@1)7y_sRQGlSY+07|2K=2q? zHSIDN5WG-3zfS~tZY>7e1g2ZLk<3zmXsUP8I~psF!~K; z6Oju!zwq$kQ!H!!QOlk#DKJ#U=g9G}MWbS8C{!L_1)ybg!N)Ek9AzH{Zv=ok8sx%+z92J(;qzg*#@1cQ{bf)E7?jKh+uOWR+S@vFWm0Qhte)5emk-V3yr`E@ zsCCgI^(=pDRS3zgJJjcIA4&iYSKfT7A??rn!J%>>5PyZW z9;ddEM*w#6<_z6XjL!7Go8Zi9K^K}Mlkj(~d?l9=^U$rPh+T?QxRuhzQ9;A*0le~` z9K+S%F?vK6AqDxjArXx%!5hv*#r}msznRuet}%G$T-<+oD@M|eJ@NZug)M=4XQ~tk zUZ|f5{D+MMh5CD37t1?$+dtOpM=l!UG1aghy}++JNF2BrHDsRy(Nv{Ok=0rqVWoV( zJ`KOLA64+&#~074Pf}N2MCDrFb8`>M;b5dY&aX$(myD|0PAf@^`j}2LczV^fm%0yO zJZK{oPIZt2rjt>I$_A9WcwkB8Wmu@0RBGjXD%@*4L-6^^5GLT+Dk5b37W?!I*ebUq z_37q1QCk10=B_`~CMQSPZ!F;`0IweE`0*Tvz>8z)1%Mr#A^`u%`*p7_*u^8{etdoG zsvA)cDmdG;w#xz2S`2-i^Q_juWCkvkT9Hc#jK72fM=)`m5LKRyv1Rk(8H{Z%zCb>l zQM=|1Ui!qobf2+!wKI8ur?pAFzOK{y(8mhN{K1l$cJ;f-kcx1shzTjFd+)cBJ&2pm z@T%i_3WoQ?$n3OC{3V8OMms3n%ZqvHHVU}yr2RR_y@@;I)@^6d2fvCVyb9hW6hmDh z1pqPfDSYuPXa(LxVsg@Ey`KzRjgZnIPtMb_B4q5UoBn?H9Sv*%SfUP0?|jGdk>7CI z)~G!W0E808dd`h|acq}iNCXDxEvw`F%a@@0azelg?4RJpvC)ONXDJ3hXHeeldfoi~ z9ITsOSU05G(bp#6YT5X92Hbyu^?%N7#O=!CaW!Ea{+Oqn>-3Z=Or?t8yK#Wp?;DJz zIMprY-|%<7Z+X+(i8HWxU2FzwGi3(uoy-}SjlZ0MFWP5dz&!vxV0MN{0OMMv5;~J7 z-qbz=&6WLqdL(VyP%$);!ZNePPr$_@#{rNe-{o~zmH&YxwXz#w;^gMJw8}o3&Pt&g@90t}S zj#Pb(L`bOtTq9}M>u=kaVrPEP`JHRiwBPtCLdN<}b(iLLb>ZzCSJQHU3PU=aT9MU> z+?>jR;vBbBuU>`5V$Qr1Nb)&-6jdRbdgK)ni zfwQz=H;%MGo$* zdw=$$j~)60P|Ra_bR1_#rB&itHCF{m@|oXeN<=NQ=I3n8M(tZt~dn44_EMjniOG&D>z@*eii z1;WxpO_kNid(OK=eqRWMkQ`#WSo|PIrA+aMn%KohChW32MTj=dKy*-)L8F*o7e>NquNv0v&!9 z9N-JSPkuCHL^*n&@7k|bVk`lqiE zTU*fj$mPs3(TFcoJ1Z|q62~p~b5TmQ=bFR>r`Ts&8QxZSQPF;})4ywR;Z9@zOHvB% zOPmmZdl=t81l_SlKJfg-$M5ns2lKG;OwuYQ6@wn*C@aC2 z`ZUVN0Vem-Fc5=Iwg;{S9^JkWa9D`S+i4i|hpZpYrd0JUSLM(v2D;{$=$xRJRPRLP=ClIp>_z=4`o-Nuf~(U*9C686ht zJu%oCs>PffZbKw8t$!og1L~74)g=%PSRzpzBKx-(1}h)^77@*;xf+;GWP$dClbKEU z8FPi3+S7ncRXMlHt*jth;Sln194;Q!{QE9pK>QehD+h8n!s}3pv5@|7E_C`uo$xW9 z)^X2UNGtdZQEBNNz1JQoIwK1~wXyg!#QJaw(u)fAdwAsB?mnb8F&=^}{hgMT7jE#}I z0>ntfu@1q@ke-Mv;lKiT@$n_z=vjK8u!`W(o2_k=4E zTVOxGgu}L0nT4w>&XVB8{eX^8(C!=u=ng1N&-e87^<*B=6nou4(Ky2=-QESZ)Mf&! z3Q6&Sn;dW{rxA0BbIIeQJQpYd4u1+j76!JD^g%{NKT&`y`(PtE1`$N4!TFc+E}d-p z5ZEBf4X$~gXUL*#EDkh(B+&cCwXyHeVu)>zkGFW5p3J&8Wrk5Vstnn_UYsn2TDc*Z zq8v^RE7-*Y_xj*umm9}I)^=VN7TH=LcmiDq4qh{|da$|=gi|_!$O#N$>SYwP8`UM~ zePNk5H2WHkVLXjv9u-0)2ZBct_t~b_3Bj#+#rmY!I;eesPF5E-WgP%8KfLU8j2>f? zfQ|jJ*0#N+tDW;SV=Mar3i)WX_Xt9cKzj)xI>3T~DV6lMUD$c{0c;%L^{5pVt4Ez5}J@Zw15XWGFYyBnly2!yUIKP?n#u@a7F(~8= zy=VyL`2I`x&&0lUFqD&e;UMi9x%1AHy$*kh>;Jm7>Gf%O&ptZfi?tvem4npUVaK*{VM^8 zBrz5k#has#pkR#7lo798zWFRxd;DcRct2My?53+=yf0H>2s6R*E5aBdZlTk*NQORP zr+xK)_Q)CZ=Mn+Ush0vYcik+Y`8U`#KqEN z17_K`iuL8_0MvBh7yXhznL;d~ZL@I&+oh}^swAk5orx8Y*<^@ae75`Bl zn{XvX@iLAnvIJ?-CP0FaoJIm?Ec2zq10qWQK9D$^w^!|*i(-NersHnXat2+4D_7J_ z?{!IvK8~&vH){Tj2Ns)VEE}1ON~|?_zHA#gxmR0tpN{Z!>S!hm}69$7rOrfCY4N!cD{zpg4 z9A8`r7(DQ6&hgNCBw6k~jmPbWfPt^XXY791E-)~1%$|fD=|sD7AC9TG!aYf0L>NLe z^n_mi1OLV;y9~o?d5Q#K(7|Pt4-${neUl+~T7=|PhA^N65F0Nb;DRt}HHV)H?F6DE z*f@a02!C#kV*%28NsM6No(TNU(JmA@1T%1=lKTBE$KdG5Ose<<1J2U}9x)gL{_6xm z>aP6+sn>*K>%G^1fYfQIqkX7?hdA?<7EqBA32dAkg%zdJV9Dgno=A!Uc|y90J%s0=kXWl(RAGLkgK!?>Djm5G`v#*`JXb+4M0^wv zVwv$efZ04eUos$gx;JCru|qA)2IdY#BZIzpg_tqMo2g~T zlNM;8-PNc?gV#|p1##fBF9R^FdrW!&T!F8jr+8C7#u*P-w!B_5V2@A5*(#+t83aLH zH{$5$?~Bg68S%~U04+0cY61>SaL<2MfhXvjxdybbk!S^69tJ2*&js{&=5r%94)eHY z)D9r-=h+PCLZEQ(oH_~?ptyHuTTLqaBB(G}D;=){*9Gp#ZT&#Q;q!K!5_=-=UeExX z?geyt%P7YcnSq1RyPM9PIi@osTb<9k?HRecWadf%b*_}OTE<1&UK9B|cAmdnd7yG{ z0m+B-02#rq%2e-75W8iX7{##=9N7AVibgJp+dd$hqdxk#OFdGN|}%R^mDKFEt~J^THeDh(m}FsL8f#W?cW+159(9oC)B8QO_s z@UMh@>AfDp8&=dc)6EB_eoJ}^NC)z%X(P1@%-GOwHlJjl@p5t_%~~!(K!K+=~U) z2CI77vdg(nbm)sZ3}QslVF}8JWFhw<;D!IhAEhHzn7me};^RGP@F^TfiyFHeHgq8| zPT#vOWW{nP+KJC&zR4HPz^ue1Z0enQpw_4ArhmF6{_ct<;137`U(fQ6KFSC;nB2BG zSvb*LDYVi%7hNF97{D^Mcu{!>sny5!>cYzUE%PB$#h94+BAFOS&^>eY zYT5BxjES9sRxpUJ&W)w_dUNs138~Vya>P1d{&%L|3RJrn=hYMCs=fIv1YFG7 zv;`=EWed%w;qHv2>u^5%wFCptI^gV7NmoMU)57e+C}-gG07yVcZRN^E3ihJI?#5-| zQ}4)XCObfX>P{3uR(Pv$EkIoUqTE}$gi8xmLnblphn^x(0+NQppa#^mvrS0EApXrD z{>^?IZw%^hEKTv(7GaFTJ^018+~LXiO~!A^khWp9sf7Wf2q#)MdvFVLN^#+V%KN47 zs4YY$;bV6pjpwLqdjJ*if*q!GAl{h+Lm*DGVWDjG5DB3cTo5I~V(KAxtVH8%^*ec+ ziLPQ=Pf)}9k!N5u7zREhK0_H~UYa_ac}SYZs)6SuxYjTfkWwz?U3|`^44>k((bn*% z&9pVJICvUnqPm+*6}}MlLx}ake$bf%azIPXVKfVe;F&P$Q=a6PTm_^(>fQVGiu?}3 zE6(OB{CsAMv>n5&-Tx5rC|eDftuf1a6__O#RX5<1j{SU`lCo9^d_XY9kjv5`u8mjQ z{-v9$mG4B?hgBM$nzZS^0AXGL1)jGxKetL-QpU5RlR#E`Vk0h&tof!3t=r=%d`#-t z?BT9x_BLRn@G-TcFJ5aePeEkeA0gb|3=;}Fy8_4S7UkGJTN1oP;zWP@5Kq$WH=;%KodyB=)9<+a{wt+fu z-PEEcu5Nm?pzxcvzQ#~-exf|aN=BD}lP(sl2Cv79StuDXeT7!hV9Xfq3_U@* z^&PwdlYkW+_-iQ=!1qQq>CIi=q5Yr@5gD@s%=<#!kHZ?lN^c+yT)Gl8bSRbmyUt`p z5cYovRUYF_6@&Poy$s{p`}863t>g;$eg?gT1OV>-{z%_lDlE68r?A|=F-H{9@w}kP zQXD-y(;f-%8~8WaU#*#ozlZo4SCfJWa?fGdeKwCWgV+PQq1r{YIlkV{?#FT#jyDZ3eE6TAou z?_~GEA+S-%$+F}G7mzkg@;f=2vgrkmy+)uSgVLXYJ7Cn^dWApx3awhmz}mY5qZLZk zUClf>LGl&y6sgkUFYwcWeE5s=ShHSi7(iP^PnGdcKuD6BeYxl%yQ~hpNU))tBFMh1H>P89%|s|3*YsO%AF z33V~344s_Ip1&p@oQ zXdx-m)+}I4B}~5!uV(Vy$tpPwYjI~jcg|OWX3iqnSCfAstGtw(ZuS=GJNfjo^NYPf zeb%`jhh<|aB3kT9^cd&G;1med2>a_Sic{(osj=dDy}rZ>(fW@#eTttis)qHz0M~Jd z^mIemQ~6(M&|~|$YjXdjiWA=g$u{F8Mhy9?cOgK7uouWvPeBj%_69B@&9!(WXe8Xf zT!c$5#ui&^=qW^KwqLGKgSrKifM^}*s+3fgORO(w4v_$zDY6a%7pI~6ko9fA`X*p) zPq=TFYR5E@gL2hz*tIU}0x~n;Fi}&3GWO|bG{at8t#Qq8|38FoxC^31ZRa~?;{rsd z9N2s^M~jew_yyc9zUfx>XZ?ID&qGXTZ)H)ZR_3~`^uHK*=L`za;_eLHb~b7ADmA18 zeQ<^z6ce^kO#-lGJu!Z-7b;WhIaIE`Di2(URB4HC@;q@0`7Y9;m# z_{aVs9%T_f0^P|}<-Is15hm~-;tsZ&^8HW8=fO6G3W#%d+Hw?ZTf`1weC4M78Y@wE z4-&dYnlu)@8DwKjYfd2lU?5(_r6?z301Rg|DeZ?t4Dp%j#1G;_T_m{sn&JvAi(-+k1u3=+AB{c zMn_G5JQf{wYpcxQnvtBr<@ifFwH#H(;?r(HvzUfnXVUEvi%+|UU9x0S)ze|=(u8xR zK>IY>s042WfvVAEZVffC5&%fui4?ztc+2fsK+Y;2!vI*_b~AglTG@Xic-3X8;ie$=$dwj4mb&*1VrCD zodAo)n_XYh4$*6_1VrP@;cp3Wye2F}VLQx1ZfMzgEb9!a8YC%%+sR1j6k7Hn?X&>x z2p6>Ze@y`GITV^e%6=ZS2rYYlg@l%ot|OkgNW=G)Hf+Q>`={Z{crsZf4|PTLcG}hY zn|9E4peCrd^E>0I{tRyk`9Zqsbt-1o0*6jJ53vZjf2&8>Ilk+k{2T=Rre-&uYBN(Atb{*3?0 z{_uQ ziSK$HNk5A3YQ(_t?PHSHPCQ&YW7<4c15iu+7@p(xPhtk@&uy>&YN-S3PbI{65wNJg zQ1Uw0|GzQ5>->HR@m(vppBc*SPsVrs<1ZZ@NZ9+kbF-|}|4s2-H}_2#&o|i3@w4Ok z{NYaH>2!m#?7iB18F(+4=sl0)M;@(vp2H&$<45b4@g{$1;}gK z<&8gJt*CQ$|Af5pBl^2-iO}E85^>%4@xKWD#m2dZzS8v9FZ36GNq_6$`&tmJc@j#VHdy<6q5ZN$#2CTveAs)^Q zkUCK=ZcPEXTi^kiheu)!0PTAReLYZy^CM97s)u<~3UXRN@`I3iUhRbui9xkRlgSl5 zk)S?(S(r)5NOGP%YO6`U0rn~(%bW1_DkcL**5EXXJ$~V}x>YpUoa&{Dq^jK}TmGET z8qlGvh~yjeGS`b7l&9yJAxfS){hQ6pd3_cEj~Xy%twS0#!27tQ0n`xkge zyL1d=xHsK`;eLIC9&UMJ+t;z}-U)3#6>q!sB^mB9EOEBIZ=|&S2H@+qy#*=$co zV4;Dl2kwp+O|PQe#2H5vTdmZe68LCKPvJ7TaX$JYntm1Wh)FB1!XHr-q7%^xt$$(M zul`b#(c2G#kKO>z&`u(?{%kKK=0X}TT zysd*He=RzYR(`w0L*eA`9&(jO>(g#~9ptl2^-?YVVF+!9UhKFZpm2!Bx1;|7zWvO803pYakK_9RHXqFevZbZzZ`N?a{r6|e)nZ@-Q&RU&br5uU)Bq(_gtr8Z9JF&>n?`Cx?T795v-#N zUr5~l(s+r6^Y6b0oMZc6-2F@G>csOn|giTOZCBN_Y)VeQ)IRi{p!y7|IzM|gx^ z>S?AJTOq4x!GM^ujb>6gQ3my0mA z+4XI>eU6aNw)R<5XSL5I&PMGMoFa__wT05yj~WG2LAvpA^Je;Mx}~=!ay8sgXEsv= zeGBuart`0s)<@m3iJ;a;Ken;fBi)G%1aW46Rnusm47_0-dN4zH(1381aUhWV_Rtk>>El3K5w2XY{_ zWO_RQ#kX$BvrCVM69U&I1Y^Qaz;hUW3^O43VYM~OfB2n7p{XQ3b@Lz=2-m?{6bsYfU$X1 zoA79i;q>=F3+(g24CCDE?PK$>xbU0_=6q%6(bFCRAa>tfum#tDXzpV)TW^nk!9IWJ zJ4F7tM zVG@fM>+P}N4laAZht{-jCZQ>_GGJHDvQPVrR93{#$p+XEXwUi+V0cygO9r@s0f?vK zw__E(fDJ7(k1F^4p?Eg_k*ijfZFJj;)`^MP0+P{u5k2c|^cFqsdJxZ{@)aV`)4o=V zOs;63MM~;&W$NaV5*x)*w#rB}QN8h;4b{t-V=Oq=hKegdwRrBTP~DTM*6XPX)#fV% zGf`dK3{{n6RvDkG3wMrJ@rbF3)?5yXS$ILvR?!by0Xy!;3G_GfRA5~GW z!kT2!vBbCrDUEsB(X8m#x2TE^u%pT*s$%CGr~Q|SYV);H!CKjElL~%? zl*XvOmdq;SeiPM>XKl6G7!6do^(kB{P7xKVhZU+M6V>Ai)pHS4Ly+QLKq(aQR00V$ zMvM=SaN8`-#QU%v?*qh(&K<@}g{ANwp|M|2%TS1nlh;TUJrTSHQW{q=O){&D@i!}O zM%hsva{v`OVHlO1j1-H~RE6rv>s7-&uTUMr?A{cYr;+039p@9wDni{&XjH{bC~WjF z@lFlcSUZ7uiN@-L)WWKYaSCs$iT479_YV=gF2PG=XTtjo@qXe{^^LRRJ&Sl5=)l5j zgz?UPo%GRUX1tjuY}Mn#b$tOTZn?GI#3`|i?9G{v!iL+#`N~vVU1vlAr`>8-9>$pj zoM_JPxGe{~-4xzk>Xp5$BT~dl=;ktGf-+-8WM~<;5x@4Tie6zydJ&P@?RHDTNaxK7 zSM>AVQqkuk27!>ArqsBSP(jZmm&Mo zl?HM8UO0LnJU9;-o_b>2YP@&AC1E+lfd}z&+_E+((ZRUiwJSFJB>CK#__#-#F09(>9M4^GE|vKmt@8JgwZ?yhX(9 zEqsh;bl_?|?~wRUT6IIXUq+@#z8PJ2~!r5YMeXtdMp^Vl6QzecU@d~ zJx;QG$|(cAtS92HPoF%5nRq2Q6k>ofzH$%*r7Xl(4pj3|G7538J0cby-{HC6)*bu< zOQx3NoZYN)U#YJ%Ebc-mr?K zW&nrVzlfrRn01r!$EPpahd)rH#>yg9pUY4PbwrCA4?T!FEt7^uA$&S{CNia^pFbZ} zvFy+Eg_tS6w_$fht(0PhwF{-Nk*AJFs9SMAJT>nH^C@qr=PN?YG?N%K04I`0LH!NF z<2RTa{6h`@6bcatH$UcV_w|!EAZgrxK{mg}gYKN@DEA*f=kuX>(FRny9TKT9)WgI> zl?Hz=%mcMn=)@0SCAy}@kfcKnsvMqr*j#2g^;{+&Mg^VE)XxP^j6AeCfRqAA{Q@TR zR|&J3ASJF*31bzSxzRx5RA?R|ngA{}rT=np{&A29T#o@){foxNiS{K?^Z9>iqxt_c z;rah^S(6l8&NayZ{L;evcR&u$|D{r5%!T+-6>{#6d0|^nW=`der>_!~6dMz^4c>O8 zaOTe#BvDH$x*L(w#5Q^>)8=fXSYsE5 z3HTl-F9OIa!{Jd(yJVt`X&sIW(<0XHW=spcj-3elU)`3Z`1L+4$f2BH=T|%9mMe*+ zk-tp`1t7w-U$b8yfy71Z*B?)?I5@XTIJmG2Irw+{HkH4(PKP1DTEAJ5b z`-dwmf2+C)CohJ5#FW1>q%@JggfYrC-Q_05%Jt)ItXz5YjPln7IMrA@2wM%N{QYpL z;^)1aT97}>9}Q-ipfbzIXoc?Ew?`w!J_<|5JOxSltnrj2Zsk@kXA%+)x>8TO1#B@E zbCWF?k5eOC>4Kb=J-UJ#;nZ17MyR+ddelN&*dnGS&{QmzAh92OiFR+OuQgs7XV)H> z55V8n)(4tV{Tz42!s4KntOZ9v`L0WZ2NBA(($6JFyon;z>%V|{mr&ma=M+cc(Ehc` z|5wj!fMR7pm;=V1F?2o8oQ53-M5>eL*I^SjUc+-vVDBPyX0#}L`(2-mk9On)6Vbdz zH1r_)j`7>^bg))<#e?vYeP~a+2Vo<=bOvAI$QR`i3ghTRK#x-VS!0a*ePjMKwHN)f zci9h`v}_26q{a8qgY=7urY?#z25-B8lre$-A#Z9p@6o4+8vf3;AW_-|-L<9tSIqw+Ek0@ATp+PEx_M(*&@~1?EMH2kw4S~g%1_c* z@eJ*&GuR#BL0Q;$U}nRO7%QItCMGIs(l6?{63;n>59BfMzqfEH|FEfslUD4FNu@E# zxczK^h4U=;7BN@tiS;Yz9ypqWWIuVx&Vw=NO%C?lg?r%M>*2lsxtd(m6SQovG^ZcDGZNQ@_Bp7G@Z`ffsMu|_bS)= zH$c5#BG_S8IS_S(BuP65B`heL8$nKRwoUpxXZ~3{L?B19IH@&Gwz`ouQ2hoq0AFl` z)hAQWA22?}Qh;=qyc!W)o^9#L%+Pp63!~=aAWToI8{*(zx-mKCM#RbhaTsVggh#!I zpvO@_E$6St;}b6y971+T(VGZ$)*Hi32lIZnLU;wwlyJx1srv)oEEX_i`kt)LKy&Sh z)6Pnh05w)WCJ}i?+Ws3kC!sIuX{R?!(nZHO_;N;j?k6s# z3`3V-1v4FE()H{S!H?cUOGi4M>K{gbw-VphJZbwyq~BqgSQ>y+XX@(G@-ufeZB}Jq z2K%MzllI;gn9;PCg=PWXba>r^-UM~L{IDkjOdAjWIT{gjswk>AvaUGoq)v-U zm?~-6OK)*87zrYCr@cL?43HoB+Q4S9PG?DPLX&GwZ6jj5Q*Dyd~qo@n>mTMH5TrZBzai+ z^S+E1v23Bdm2MJA1=+@l8#tJ&2E_r$MB{x74N_(%%J57a4uKvs9?awDG6o$4wesQv z87~4KDYZFcIONUv<}%T!rQNugG@aQmOmRVRlT!&uC8Xa7B-=RkkBv|hXBemM2uWUK zoKizZco#}5oy(d`T0$)w8E36?-VskBxgZ1Wsl4y?9^+*GcfdILnAvxEcXv43?7KaF zulnv_>{hbx;!=43=7vxPimH8*;0!JgeBE1;!kWArJ$NH!vDgN0c+e z{{{ILrIr3silJ|@;qtrzrJe$!o0O(22kOz8Z{Sj!C{)wVd-uqsXzCLVelm+l_3Uxzy&YzE>%i(IeH{j4f)_@oe zYXixc3!F;zmX_Kw1G{ldagY&2HwisrrVGPnaGat#zYyGFGu{h+hx(#{toA8;x-2U6 zv|WgTGy&inuReogmoZ_o`ZR~1p2fE1dT9#3`;m>Kr&V*qLeD&x^&56E>z8@t2Ue^K zN~aF)L~;iW3Xa4UbZ8C~Wq|(tI}Z0iPZ@fAx-`HU*_i+|6X{>^bZ+}FOk5t?)up+_=ofl)AR9Oi=II?db};t(-$Wk zEr0&IaEXcWyNZ_SIoqViVbNo33)9oDC3;q2i&XI^DNN6j_y~XI^SK#+R%0q;(KDI+ z*;C#!Jx}s;@aM5VnEc6$(DNy1Z00|cAEsw!$l_0L8$HQ(dgfT|b+wJ2e!yVdeFl0$ z=P7!&%`)k!t_$<$@}~4aR6b;R)4%0yJcs>HW(%OL#%uv3{xhXWQvNf3Diq~EvkDal zoQEVYV%$;vI_UBdj0ryz&tdpInSpggdIWxFfkFS4o7kZhd@>gB9g^1^{uFed$v;5iI`2r~eGYy^I;z##oL|Dq33 zKhU2lc}?N}U-Zu@-?xzQ&&12cI7i|(ox$JZmxt}@2=(UaZ>*`;V3UGoP`c>gtgXZW z%t;!Kki3};$%{a|&m~PnzLugQ1TZk~9C?4s48;3hQn|dVt9=-lw+`>Nr7s318eB@` zCL0Fk1;rgu1UPvJo{JJbVd9;WBq4k;HA9g^mVwgTRWEgvlk&#ph^~a0^R?9EI8n}M zB&GXtB0hM5H*hDWR{awNFz$Rf%Nx8KtAX zQe)F^?F_Q{_b^NlmP=US$W#K<{zror?c_q#p5|`8`VbaYyTJJ_X^Z3T%nua`jrZ0K4fnm$S?1nv^ya+wI7L_OM|iQJU`6{ zY1pgq1$W@$K~K;0SXwWX;i94SzZ~B2=-)Tqx%bRfP-a)qST|IS5efiabaaRI_738 z2$@7dsE-vnb}aR#EFObcRSV_*F>&fUVEhsdRJgUW?jEtB3w6?N_oSBdrHMOn7OE@^ z2<>z#`?J^=mrW5KlKa83L;NGAz?unuF58&E|1iHc_($@3FOoba@IT~zz(0~VyHfI) z!2gg}$3H6XQHaqpKNI*L@}z|&Z=A|wf|*BFsqbD{FD6SSs65vnV`X$R&63uBpw0Fy z=bwLT-#vI@n6-QG+rMM36mazejG!wWzg)kT12RlB%g_(hCYE(5%vHr4YsbZvH!|#f zhIQDDdoX|3U2kHMCL3I`H#3%m>uFt~#El8(p~`yNP^}!2CVMlFAf@r%%;Rkr0YR1V zU{}($)F>@NyJFWy4s(s$g1Y;cMD}Lb*&1zVgkGfr49*K?HxEMCB-l0we4LrRm~nqh<0 zZcTBDVs7$-Hs)TuS(w{_%Q!h=-i*08QuCLmZRfX6oUQo#KGq{4-T=~=zriWO+$QG( zW;SQ@0tKfTnCBu4;hjt3vr$W+I=8upp>S+CL(t3ELN9`-L*S zELpMr!$KR|=hprUY`u-@6yMXZ?rM7e+>&SR&r+0)4$A>Q=*m{#M0kA1 z=dpz5-HfcMcw1UYC z&%A&;PNLg@$YHYUz10|lbug_6u~Hx{AIYi+=Hq#0o@iPW2B;GqRKmo&EzmGUrXMY;rOQBp8l~)ABgl#_Via&dOFfq z+S5xE4si>T@v89@O@sbQ#K1g#KKKz;zs(prM8$Wq4W^>Mn!Y1+`ss7EY0?fC*ju5C ztraf7GbSqk<+NI1n{4rJH4Z$gYJOVPd<~MrHD7J!u_aNPa(mvVW}fJMJ?(va-XG1p zchz@)wC9aC^QNi1DfYYvByY?Uz%|yMezQuy59trt)2~+P{g6J`o_?W9zY^)UARS6e zs$@hXofjr4&n#;^#4K(ih*3U1h@W!DBFevUCk*VE^H4%lz`S5g;2Z6mNvD;7lbw^c zp%?`GTs(XAyf9~{h*cHw${$gjrBxl2Jc;BmXUCd(8&qDAJ+HvbTd4Bxu;*o&d2>`= zmOU@Y%qvlOJ?wcgk~d}q=(xz9erN<~9K$%~nmv7kO2;*)X;Jp{a+Qw5;%Pr%pE+Eg zxk%^6gEq4=P{Y+Z##x!b-4m#3DzDA-b*~5P`ufNFEPZXft;WYzGCtxL@JkQCSR8bX z#T%owmzLqxa;Le2hp_Y>tG2MoCB)8Mps|@d{jEqe+MG-E+@?l0%U}nyoaoCiFSjPv zQ-zVP9Jsj3+*wYmkB6fzwk2n?(F1a49(ZvcCOF3D=ZMC?kdqxbp*|1M-Z=ul&J0X~ zTRx%w=V@3v+=(cPEcyYiuoIIZPpH4M4$hLOA5yUP!wL1-cvgOy=}*Wo|6z>aGHwKh zh%bLC-WFic#ZJSooKWB1S)t6dqwGzT7~;YxsVo)BrNx4>%g+ks*Jn#@>!)%AlZnRX zNNMaXy>TPURv80LRI73SSGab|*8&wLF=145!l(u-R7YG2)%^<9m^yhSn{I7}>H*2D zGIn)RwHjtebstgL{deCYD)FT~I7Vvqfr;v9jMVDl2&$b(X!1Lj<5E>Ow2d*PzEK!lzG(#RAh=z2Fwq`9~UhU35BIn))FEo^$QCyVY_ zjzma+aqj|*>!)E~m+?bSONEgYI!ezRjsixXXD*Hk9pt`@EgV&r+y~~z&Z)AW?p%u+ z254VSB2aYx8*v`81D`GXX(D7>?90!fZG>;{d^ z=y~ac#h)c>EdDrc^c+9k5(J=OTq7jmP z$TzXVG0;{zmYiHgHkyth#6FjOoiaY+JV+~{U#U?suj!IgCQ!0;yzH?iOVwZB< zASUU`T0Zjj0UX2~~x8Jg^H|>=Y)c7>2jcqKT%st)dW88CCzB?C+^^ zbU8*@%7k+W1Yz56I)zJl-B%D}~f04ENO_W&?c1!05Kd!jWXO zWyw^PGG2P0P^E$dVBXyTd!F$=a*%{55QtG6qhdkahZqnA&ZHu3kn8lSN@QQRH2P5)S89fHb&mr*qY~oW3%NyrD9&LL67JV>|X$V zm=nD8V!9#JIWh~O~UiZ;GKEL zHUhWt002mI|7_g6oWYX6$W)k)-2&?w#@oh_M$Iq1D?X9)RGr^3&7GL4dm{BFn z`W7BXftrc~tvDaris-IRuVX#>Dg2ypNm_Xv3RM(okNpsXpBnts<1M{cb&)oD1K!em zl^1D;zrsHpr>tFpfAEG+?^dm~^B%(Kh2jN)4gR|0fhzcf=<$zdEY?cSff@*GNjdG& z`!%>RxqISKuO9m(sL65sKoY*g+Wzb_BdtlakOJA^N)%35{SEt$Ag>{EWQP z_`$#JXCS`WQSIN|N-LQLVb(so8p2;xQ5B zfug|U(V%WyO(|mdS=EN;Gfmd8NNH= zTagdX=k$@g@U1~u=mF3*ojfX|Dki5wTfj%$#M}_t#%k(m129vo{}9&g1BVtyg*xH` zr5_}MEnI;o?V~{kKCi*oW&;NAm#{kqmn4lvHis-3QmL^!yRUy$jiJv#{*9;SVt`my zN`=b*e8DeSPZo?bwxNQ^V*>y41@$`o@fI$2FO$$MD)Gw?n5WMo2$Z%DqH%w>2GRL& z-*N{8u{-!Bd5gB3_Bd06pHQVSzC6r9B!GatIQr7l_~0E7pb}J!+`wM4D^SYCqMZ2h zZ)iw8ig5JUAxeV38wXHr+A6Yy*IIDjsQwPip9WVCS(kSWMB~WC6-I}(iIBB%jHrDY zZ2ogc+^-hcK*JRWMPvLRc*-CEJ?;;4dNMH5XeFZo9qw2rT}JG)e%mWI4W0rSkpezw z=ebBx+gaF<`@kL4=d#Aji`#f7ox+n-oAL+hZR{{K7=6+iQhEudhFZz*kP1i;84KH^ zL2x8cZVmlP-Jf#)E+4Yu+C_8RG2`_E7m*F3VN})hw37!RjZ=}~)xiew1J@HCU5$I? z*^YQm!`XgYk04|>C!#u<3_17b`IIPzjjeMAHLcfP>vVS2iF9PyL zz=EkS06Ap-{nZxy>C_?Sd_OxVvLt@A6ndln?M4zAdPq91G*Sm+QKd7?`DdQ+M`ad` ze0-Ev5`ZXY-gJ}iaojA($FU;{AJs~5aRWXpzy_(F)&VrQgR?eKwy?CgW-!_{IBPy% zVNTgVao~N^Z0#?(3UrJ=ANiC_-3Fv;^&m%4%})PcVdH5`U?@a;xWF+|TYe z&V`u%uFV%td|rR9l0S*{Z%j)#7h?|Y1!39So;pi;+W|%C0iviRo8N^iD{$8++`GP0 z%rD8erw&7LmVK0|{x4bfY`NSIiEi!HC8_(f9XqXzEbY~$;>4Kv3-+u=JaWFe5TGNf zVb(D_P=^n(V&^IZJ(3+1hudb66L;doTW<#J`o|@UF}@^M8y#;7v%z?JixX$lipOGU zm^U~#_?J2O!k4jc%+0yDiXm0*CLARac7P6H6YdiOObzr6TbWoCa@qV~Z%&qQtyB4!x6A@uE-reK{kcl!=Lckd zE(Ul#At6Cl>RY~{cc|eFe6RG;fm?B;v>XQ2sj@{_)MMukpAjNU9>#p3jVA>S7vuCwqxJ8%fo;qHV11Gf5RE&mADD>w(2LGcHi zLJs)>!npfp8iOaIZc%qi5O&#>glrm5!xxhLeEVbm1txGeJIdINQ>z?<$KwmeIfp1? zAw;(62^a2=I;ZXcm3etsvZ{OuwLc9$T&cM4WP?$1nogF*SLOaDr zBn3G!#^zO0tRp4_vaN8h;S9&!qaWII*>$(J)N+p@SjOSgX#FN- zB_Kx%ytBP}?^2{j8CPA+X{_v|24{$}VtxH}%-exa%sejq;*G2SD#KrCGSyz86o;#E z7f{dgspXLF_@e0C?f@YiwZdZAx?ei}cPr3tm>g%W>WD?JJ@Aeh6u@x*IF zJf8#N(Q3@Jr%>-2tC13rB?2%^?MIlh?(u&?f*ksA$Ao)Bzu-~rbDEGl;j8NfWHIid zQP|QYjX;a($1D_#ku)mK;@)NzmpatKD#OsGy^RcWbw$&baVJa|=({i1_loR4{c!3F zivO+4Ay|L=snJX?W}c}Uj82oyC8YITqkRyq^lv~Udm-GNr(Hl#dr*Q{Y&9k!DmaCD z47x<{BeqyTS|o(K_rl{RZo7f<-D>QF#R|eY6ZNBDLjA=Wal3GvEFS8g1=Jfbh=p>Y z)$n``cJ4xM^*nR8^z8t=KpHP<1G0~u*%f7tyGqeD)9`_@u%CU&S~NZA+PE*qfdx#l z3*=|PTD`)2Zv(4a6`qxS99SRQY})VUA~iJb(TmY?Q9%u7R<0H&CEXPRT0Fu2P82>@ zVSkT*WWkL^bm-fX@cy4=XE8NHB6LQCfml?v&Si%{7jfF{V58*FyIZnhMeLB zrIqeuZqRi*sH18LPMm7BO+#I{KO6VFff4?TxyV8(EKnr4WyhnFb~~~f8YWdWG(dDe zW7|l~D@`(8Od%+NV#du}w@GR|&?X}L;%z*4AkBImyB1!ox z&ZsBx)X>KLkBC3v%aUg|*9zUPCke)c{|KJL@P{x1@T(sV!_O5MkQ?JXUaz9yI~4p> z$!iY39l@CJU3d<|KOR!>hezP=LXx8YrU?AkQ9smux#Ts0-*mr61x4n}4`@(7`b!5T}*Cf{GX~(RE%M3G9PSf9JPw#AN*K`= z!$>^>?x0@M({HYJ8(;n=J{ZH|CJa8JzqovX>)?>QBDpna! zEBxPAh4DX(6bYd9gR1dLWJLmKtuc8$!H)I`qKyM8OQPNjqdhB9)%FV2h&Riuszymw zsTItCM9r$Y78`=b2M7bis-A1d8BLt_pidk#)!yO^#0xYoI!mhhvbCeQ)Oc~9Vl{(M zsP>(R6nm_&{ufr-s%n@Vo_V8Ate z+;sy!jhqUH#sIv|+2Z1W?bR*Dqd96yJODYtPv(FKIR#xx(Z{lf*z3QNPG#Jrik5Ui zx+nNHb)F|s=db$(8xCX6ar=Lc)k?nw803-9*y7VlFXPh5FZM}nGBSQYW?hMFikk!> z$58kPSL2T{V-ja;$mVn{nPpzbP^E~n%DmRB%+n}i=6;MNgAwxuCI{d)o!gZk$@qOLtz`U z{AY$9qVZAH3Q}|@iZk+1Poo{F52lORqM>*|=yizFbSz)uGb*)dvTiXy!hX)ICN;HF z9}xJsn9jeLm(yt_d6db;6aA_?FEfVc&@5D3>kVGd!w>OTz30N{fwPLTry0u;_qS2T z>-d5k?@5lQ50+a^djPi4;ZtW+pb|~h6O=tam{VI9l1x&c=Z>rK<0q2PGowa(-ou0) zNC;Gh(($Ze-Qo?(wQi;~1haqp-mk7}7h7ZE6}6tNDl-(^8I zKM<(K6#yA28oC=LEqkgZTwpPK!#G%ajIqDcIQvjAA}d2s9F~v%zw!YMncmZh7>Bo35c4g7B@d*Bg*=8>21m zkFTbqjPXUiX>o#hdu?tASCP&BC3#^tgc6hnpDZO(G8U^y?3ZH$Akml%n~btl&A03l zdfFWpKyM2K9y8ASsDjQ=i)iU!?R{DF|KMj2lOvPM=(kX;U}vntb!?h zQ5?!)*7m^PsEKiw#F%jp?2>QdLqBfKE`1VR4t%Mk)m_hwn-8fOu~P=9Rj*yNdN7rg zW3>U6Jq>Oc2h;4v40F9E_fL@3Y8R~6UoiC9qrH4V@lbhX1JFv1JW6W9d0lkLV*>xf z`n;NdWM}P)-%B17_#g7h`A6~|enIk>!2d8Prfib&6h6x>#9M*N&tKtih?z0CfMnyI z?U>+jXRw3Ob2rT%C^4Ix2wHaC{HgHn)3Oa|RV^F)T-&`ByAokT_nvLg02MwDaGajS`>>7B^>D<^MhvokXYz|9O0;g;(3V4Cc4C=uUDT;f`zV?HS+OYR{P8 zOM7+)$wAkp_@xFm+w+}w|4DmZ-bdPV=SPj(^VV%38?)U7;r8rOC+#^3%O~?7LOY~1 zY0s6i{H!u=IIh|=xtFayFaFyZ+Y_C~Y|pK9Z=pTKJ{c^t`cpVw z+|=1@5m#sRZR9*cQ+ra=clX`Cz<2JuvQv-RIX^r&0FZkpHJVW8Az0&bZQ27E7$P%p zZx9B?;KT5lc{tA#9O85z+l+{p*^VDEIrelbEO^;{tZY8&nOnFM15rGJWsb#ci{UZr zyuq8qbLgQ!{0hRODoQGkR?5>aaam`^ZuzkI6m0*XVnN3n=r^-*i4*p2ncPYOl7OdUD!YG%19le$CZ&*cN zt)25MAAFs1GpdWHz>&u7uRD|-sLT#j4AA560&}zyUepdwXQwQ6>%}k@!;gwX!n4=07mw%Q-|aEDpx2^(Ric0UalQ!of%POX7fw-b2fUVQm$?1A z&ca_(rs@LHMz2of2WT|bbyPWPb{%TGeH}`&<|tjeonPQVe4f&;V;#Rot&q(R`fBT) znpScp$=5z>?_R(b_Z1#ma}tfd0*$_EYW%fseH2@GT8t`nd$hOkXww4GEU*U?Zh*Pn z*+PLLP8* z`{+^L+1xvIl*@dmul8AdYcQdr5=;!lQ$C`78Rf-$Lfh$kJ>4CAUOMOr_;>NN$b=hw z!Hc1jJ8hFm*wvVL8Phh3Qa&;RvpYFTW!_dB^|0k$Sx#7j&mW2*$)!l}=mY84(*fPu z10B@K?LXQ2iB37e5lJz(>hVKz9eZ;!){nlD+QhNfoAKS~E~%@hYo9vLhf^B7(~1Jl zyV;F%GPW0oLcIZy{P2%U>V!Uc0XnhjgY1AWy;F&0kJSZV#v8lfc6LGd|2fZxX!SHK zSHGUfuGW9$!;> z)4Sork?6>^hfUwYT67jV5DvpOGQAE*;xl1M9q6*(djcDw18;TH)9^Z2q@>Gk_5==k5bdUe|DeO)fS!9$_1xI=eR>}_ zQexK$)bw11nyq4o>xmwk-iwZmz0i}S6C%UsILVaN%4t}-G3!Sb9A1lmn*t}P4LpB= zm4Y3;7KycFz$Sdw4bW=0S$()0l1A3B^yMgx)LIbm*lPTYB!kw)? zwfp>gpdN-%4bZo7B#0H@JCFz@q8o-lk$_EZZGC$d8^EWVA)cvNfcOg6XrIQPzh=7# zv^&twt>585ubCE)OvHk2lzCe;a-*4h6u$V)a-GO+#oP@o<+etylewR_lpBLw7jtpn zCLz21i(5CweU2w%gEsAHWak#v_JvqqWQw&r;EoMFh;-Fo;HCz7-Vghf8~#Iu-@|y~ zuGs6O0N45|w!6&ros1)G`8%j>lW_#?v7K_*iwt%J-(pjY-U#k)2UkVy)?QXDsp;Lo z0jKt|ev&$pqR{3#c}DA^$spXdJyIlL z7?e4icz6xQp+OpG98!&^Sk33JNX*Sxp_OJd67lT7=3K{e3`}i(juYfn$!*6e=u5Iw zHo38oR)f=zRE>`Pw6w%P&@$hDvl7#fy}39&?^uU~Tn=4##voufs|s?I==ZYo#5VkZ zA+@;0kkyy!?x9Rua##B;YOnz%zGEt?0ud!nA8;ZEARk-9goJcSP^`f>geaUK0|9Xu z*fdId0by{oqePEdJwWyT^>-mp>7#TtE#vGIn;!lN zd9Ae9vK(%8=O$f@-@`207@0#byw+VSi3WgWS(wV9<5lrcLHKi?b4ch(AGyy+3l<;9 zD#uf!{WPZI7`A=9x#S=SJtN2&?5jM{(970E7^o9z`*7iz?M~|!Dq1Ebu@yAPqkBG*PX_v`lT81HrQq5#z zYKp36lvL9a*jToz2rTNEY>XCJvx#g8&Ag#@z%KUc!XL8X<(XQ`!vb4E9Wcl@=9sa4 zgpzq>E~m&g008ZOJ&nnm0BREYnwMbcD@QN~LcP&E-og`DAK`URXe$Wh2U*6Q_&{}+ zFZMa3LjCZm@!_Q^Kyp41g?b|;^zt0LaX|RPcyHIjx}whG4SH3aAh7U_UyemHWcNm# z$BW@JZ2Z{aanGltik!zg3>&2t&#Y=c@Lezl76gCucyG(Ax&A(AyzVp4zfIi&V%2%P z-8Z*z{;dMLV~U<7uUPby5Qs_7SUxwSr#+xr^jy9Z^h_DuGCdh4J?$)djzcg_dhTk8 z9$%QA-eG!vTo$3n;Bzy2w(~sRbZ`r9BTpOvJ;xqznV!G$bMR-9*W}Oe2t8GxvDx{+ zH82D#{=D@ki$6Iwda_!iCmK*Kdj5cCW7rw!ahUY{(BGuzIJ%n2pKF@Z15w#lrC1^U zM|ckV?^H7bhP1f?NaDSHf+Xd?V~c0D4HXBRmnAP^3K984`jZ5MrYHPI@EnFegc*SE zjlj!<^zVqkzeK@b zE_u!2|CL}&_^;wQ41YQ^K>yST{HFy5>9_Hx0`&v^_e)+g_-6$ta>EWYMC!Yy_9*%{ zeOZA;-jgpY|EAwx3}YIE^>gk#qeuTX4m$+y`2(TEA*h}42mVc;LW>#wN1e&PX;TsX zlO6&+7>^#oc=RwZz`A=}fTTUdH$8LxYe0MT*H~LFld#yxWFa}xpu29O&JOqoN(XUW zc7@~(!P_!FtAktwQyp$Tk>w@)o->CZmMFGuh6TF*nI`-Y|EWGg-%^wVee|Dtai*QV ztktsiy@vF?_*G{UBT(7Mo2lNsNR{>m-eME)gT!n3PYJ%SA0$6+i{N{z+>Wo9Z+d3c zpMmevFg{EfZ2013t4a7|;d7Yyeu8B-jL&v|j|!0G--m&>??4>+#3Tp5u%z)aoS|)7 z^Ad8r;e4qt*l*xrkJf!#cDJGeU*TQ6VH~AVj;Y6COU&*zKF_1g8_tOB+kL_NMsXq9 ziAVK*13v-_ z8w<(ksZygxoIucGvMh8B3We>T)_JmZ;+BC>h?Dlsr{Jh2cP2@Tvn7qkV|fB4cP!?| zI94zaVE{WIIhdDcc;9#ND90!^Hkv(9iI(1h;AogPXK(NoW{+h?Y*Kb$S$4Ol3p|+q zc85rK0^hj173X;XC>eqP!N3JfJWKiwLkuPoWy86!H1ilIrbUT4g)m+CASGf_7AZOD z_CHl{whuG2oAub_oAus_H|u>a(WVrlS7irpFUZk5=cFvgUM^60FcI#4YhnD1T*pRt z!*;8`%lTxt))i-vLy9@W&|9@|H4fL;~{j4_dF?vAE91f;Vp|I&}hi zP9-M#D~cBeHu|@p_U~|vxg3>?#VPOn`1SbdgnH&DeRo*PTY-P5eBRfTigi4KLs_wP zwxa2BxEuW932&b1KDe6P1FX2tkL?$hlGE4^Am6~#I{f_}@Uc2hCZ5H3UyFYma8&m- z;pe5DOn$~HetN?ETx#*NJj_olJ`_J|w35(ogr98{KWp*k4s0;_skJ}pUS;GuzESM_ z%2!e6Bwuk>J9<3Mr)wB;m7-~hc(*IV`2KDX*4ZgAuT zVv}H2ywn%imz%PW;XgYdy)8_~KezP-LT>G)CAldf9~3kmmu6qGFIOLNKGgQ!oRqy@ z|H-!6OAz$6T1hehb2k!k?{oE`=R0y!cKQ6j0HcNs?$rQn_Z!@St>E>eFd;rVG%3zq zanM=h(MBDNV&WMz(n$54nM_ zsS)CQIN+U+ z4OUU?<*+D#kKO{~PkPUt0*W8?I?6&d@_s}>ohs5!!vZy$#?+C0&;?Ipk0req%+%>U zYZXL%p~#buQHRI3$Kq#OEV64?@rR~gny}J)K?9NltPCu4>Ag^G8oI*A-kAYi0wjEb zg*v_0kMj5<3WYbJP9wuCvXe!?A|Wun7fDLbIwHTdD6~Woe0nibgv!&f87ungBJ{yh zm);Ge(bhI>MY!AfGQQJFQz6Cfz$O^O4jo;LO`ki(d)%Dg!IBz(c|Yyb?uj_yScC2m z@;LVL{SrLyHJ`7*bA4ZZW>@ZLRGf_MJ9W@yw1;57Z^wi$Lrws+jUUUY;hN~X#{Kiw z(Em>V4AS=|(my-?r}`%Vx7YvA?#7VP% z?qUDTyj#>Y6CU&LDjff{u>XMfzkHvpb^v{%{{f7R7bFByen%&s6{H67HXgk^b4` zU+kY<*gq4S_RpV);aB@-7hC^iKkw40f1(Z~7inhaqh9IKqb^j;*b0`4*Tm5t1uK!X0C5)1Eml*Y}@^|NcXxx!(87HB~4R*M3GEADI9Og6W zS^JpWo5LhVJ@lw7N>OASM8XmzoUWH)ZL5^nh(3wIkA-1sFb6+u1EyzTiyrS=kS~KD zMm!e!o&eBA)3dOldU}}xr=70i1M4os#x4$PYS;)NtyYE&Lu-c#vD!Jsa6zv@cVIJ? za>tJ@#`Xzge`N;_^wT~|8g+{ve+?e`Jb?jW8~z>7cKpou$MAg8eEuDtPxaT|>chdp zUGZ~lQNO^@;;3x>L5DkIlcukSP1U1)HZ(38zhlmiHbEVt&kYjVG2yWJasgkC09fxZ zFi&7;LNtIy3$TC*?0hG`jdP-S9sd1b0b@cK7+;zLa{^c^0oKQ&thG?q8pT=3Fl9^# z1LI3`V66enDZmcG`xan^#>EJ*n5Mv(5C+DV=D=bA%q76yuz+FbXsM#^oTdPo5C+JX z<^a!eXKdE=I{{4l%o7(&_Twj~T`b1_3j8~Se=8h^9Mwp?fQet}B{4GQACD~xcoJem z9r-QoUjNcOeAu@Cu^yR=$Z8Qiavu)8{0H?&1CH{vs7H27#y`~~6DGH)N4!k_xAaJt zW_qMc6Fq{Ftcf1s_-xlBU0T#5GGIf|SbC&OSdU<2{*UUBE!e*hJyK@rk+LRwq|ByA z%KH2>Ju(gOJX)FPk+Ps^2L5~0!HASTB16V|l0N6j%BR^s%LMTH| z1+d0?1i&JC1i*epk6?DKO?$@z20a2`jr9nCMf3=O{fZtDV1q4SrXB&n#(D$*BYFe? z&!9&<8THz$$YRn~KWU2w9)IuB_g$=8< z%32{=lixw2vQ5E!lC8Br1lOr(n5kf%;%i8ZQ*N#OcGTo3R!8mk!K{*L)~|i%fvBi8 zKf`vu zVP*@`261Md$9X_LmI5g6)^@|VW&b2nNXy4EQJkQPLPR+NSOG}MKw4Q7&Dx)cRs=nM_+n%X!m1gb`zWy$KaU>^r+wwts=k|A zr0s?(9f?IWc%_X1>Vu2JWOlS)N2#7t@ z?C*{3%R@JCs_<{vm!Ai?NGJai=K}xtI{8RIYu3pJBe9VIxJa4z@Vt8;q&NQ{x&{~LqjnyEyyllPV<$_-vnS^7K~~;M zCUSKEvnooWJK?>S?_2Oq-jZ;cz06*HfI0hFW;LH^V#`}BW%yKyC(1ssdbAPM9-FlY zj+5LcL^Z?Ge?`bH{reC1)w((-^0#}W7f|H2{JoGrsG5UPru!tM)Hh0*f)pseyrt0K zO{KlU;F?!NZ$F}-LhMD{wXP!|>P^8T6=H7(j}!>I4ZKaVi%if079m!#7a##wyXHW+ z?LAWKngc1<@@dfzmw|9webf@<1OaH;&qy?cz1e=r%ys{!JeTdU%QND2{x8b&F?d5Z zljrT?BKbX(J#Mj5+W-`3ycZ;8$;Jvr8n3u65-rvqP2Bz@UPmMi!ILHD*;-uhc;pU> z!`!2NK|FtlCd6>}1y3WGI`|t3;kPJ>GY;BdnqczzlUHHoeM2bRU5F&DMBWj8cg#v& z0kO@876t(H2z)a5N9G^3-hSfSPx6MJ!OPv+`4x>7`@klmowK`VH$N_rNtMqNjhM{*CNqKd?jfj25!;THlcniX*yDo{a(@>JXiu=H2wc4@{RpU zt(5W|`VIVK(0<;+TEvF0*wM<|H^VMiEcO`Vx}Oi>h?I`Eg%LRC$jz*5T zb%));HO06L4N>EipItM!&M;i*GWdF_1y=?DzF2UPV{WmUaI0|_sU2=~WS@_-9u5YC z-&N=i!#8t;_Q)WEQV~2DV`LDZVav%nydNq6E{iV~9#0SxUTe;yW>?Ph&B>LsT?=y_ zHScm>z^urehp9{n&*mEAemPW!8$W-op6HLTBSQ7CeHzu1iEN{AJ(&=xr=<{V^&BI( zO#dBI4y^i`b>08JiO*@nCp(E?GGcnl`tE;bzxHKpD*iI`Rvme#>eC$l|78CvCu0ZT zdu;F(>0U>zDTjTvviQV)T3PqYVGiS#u_1e6Wj6bJSu^`PP6nwBG8_%sRJ<^>V=F5# z5sHQVlHpEm@INE`&zivh%m)9nUxCjGEDRx3vIW1XKU&jw__eirE#e>N!gJU^?)aaT zqu20@BmQ?tQvP>czDMU#{(Y|}ihta4$!q2hrf0_fiT-boEC073lu{%AH#lJ}3;Vx) z38?UY>xV){e_xCKZ+hmMKLTEg3Gez}g|}J3YfX5^ye+`<2G44kLoYL{J%YFqbRrYL z2G}(vpH6a-{NO~o#UbM3nCQiFpP}&`zy~TYjgY~p{R zV?b}+d4oDBg?hqOZ^k$_1%F%c8@)8Asi&eHN-4*;e| z8@z$}rvQyU9r?fDrvQeW!8jY3EbC?L!!*Ve%%T2uIMi=)liMwYpI!euKr6ArLn4*L# z^n3J3dmFk9#_b+s;NKX0U=(MINgX&BO^WmA zPd9kFJ(Y(M6dsQo=#dFGNxDTESjy(oWmZpkdJaU74qx~vuJc*TxLBcg9VoBC9BPfP z@Tolf{T|+xP?;y>bUr4mu;Ap?lA;y-Sxnzc7(gcAz&HL?;MRt6hkMlt_bRyVF84XM z@&*qaFwO~l!;3L;0?V+RaCxywj5{*mIp^{^zGLi{mtq_^gywV9D7Q@b0c%rULEkZ5 zF+&ZNQFaH+iRg4u9=*HIyK1lA`*x4syPe)A)uZ>x$i~s+C{F-xCE0rX`Tg{y)V_Lm z9M$Y}Uba3i4WaY3X&&}TxHhJMC%(d!I6}#{`(ttokHWVUM<)52AD3IW+FQ6EEQDP; zE)Hj@y@hn{I4Ie-b&$XS%<{(YH!F@`jYTrzdePrBE{8;52hIz&rhTv!hX;`mlNwU0b>ADWWdLD`vRCx5*3p~0r75SAA@C-=s z*=V5TYPa6KJra$6dT%P1I#9d^|4wAjCp@z`^N-`m6Zi^BJ(;et zkfeh3;2nKG3s_;SW(#27PyP;{7OcW2d6h_6!EVwS4DuCzn}d^%2sKcPZo)M(9jrT` zkDxPn5fC8GSGdI&STA1I2nK>agKqD|Ny$WXCFwp#(FLFjaPh=$*yq)}5y!>72*v?E z$@Wz|X@+ZST&Efmy^g2#u#nB)3+A!UQ4^hFY$^5H-&`zc%S+zDapaFaVZ zu!?QH@o+y_%?-k)DqC*750=OxTsHt=K}EJ63pMDxhK&xD*b4%7fe05vJ7nugB47}-c6I^lulH&F zZweS>3twyn6XBq(q%ACIB4l*cUX#t6TR!8Q4kJb377?&*ttez}{{c*!(SI5K#U^br zzCzs5L=hXHk2{3pBkM)xOhGe6vs{Fc;wEw!nb1-|EV*L?#EIN}BLc?uXe4*gtWD(Z zD_HU)a)(X1a0&k46f}t+75wQY6o#jfwY`U?XgvY zBIG1_p)1h)c}j!oBDZj(&w<$ha}Bv2hhA;BGhXCvBdF{FT{`ALOsNr3r89|CBW2B^Ar;^;Wnff&ZlBtLOYYa=_~DQoJ+?!Rqg><$o|Mc@tar;e<(^c@ zx|3D6J-{$aC+S4~D27XN!L5z2M0^QM<(E1P9Lyvrebo?t&n z-lBGHZIRQFL#g!yi?G)-uSQAUQi?>+oRsf9j+*{(VeQB=l)AM@fIDk^N3`A=JR?X4 zXt>yo3&Y`pldWTZ4DyI6*@I&3csPSN@F|W6%_}!QPZg1~!IOln7J<6;5&=rIsQ}vh zHXid(-tIqTI}Q^R#BfpXR3!drCJdAWz=PBu&JL`1SDXfsyGdk!edhTjlHUy>1Fdfl zah{xqHz9XvwgU-cl7=Ipdn)Xpu^A9PY^cq<7^lQc9UcmKL}XlIWha*J{9tLmD?=W<}^al#q7*@2(?$hPNkF_`kl6K-t?m zsD(s$^$>^g@n2g)6fcM@Avk(<9)Se*GniakUPqLL*AZoBTt}3}=3%#14{!#GodfnXUd);qvm42vnK-|Z2r|(V zG$k;XE7@S|ag=DbkYyf_PHid~<~P%SRs0kd9AGq|%>5M%vs=Od%=25oP>o5NjGV#> z6#76gpblrmU=uvnCL(tvP1dgyB8Wg{MDFbCS9nWRtL3W`%UA5~$@29!%3L2@imk?J zo7}~xVnx~y|00GItS~MR}xG^uc+cN7XZxA1gMA?8z)~g#rt63Cve<91Ac}LogXa=^*oW%GivL#U>ip`9(bB29}D9^XGnw z0ZcUfy{!Yz6;5P5EZO5e=zL|=(7MJ>7wF(r*F-Q$Ngs5^u5g3EKSu;Jq63*iiHuk` zm@*gGWV`WeJXltfep=TgnataD5ECa7ZCs>*6g{9KiOT|jZbk#e-42>%=dzd`G!sSc z>q{j}MSsz3w#)lD+GF2J(Zzd{L1|xL2(-Xk_r^1;- zBk0qVDMOr9&HYC`$TE7*4T7u`9jVNGWvh$QX+6 z<+HH(FoEp=8yfs*m}TF49ZQqqn6 z^-kB~s7q4MY<*~26wDXr^DUhUiue9b8w9X0F@O+G)pkKyA$mhJUqz-MM0~axe7P_X z(?hbFtTFqx4%|-fV3R7AqP;0BR&IaDLDB0uK+l=#q$*1nA+zL5)}u{@EFu8&MXDeK zYsqO!)YtqXE-YwBjX~;HOzjX(rI2!5{r9A;MS&2(YAO&);=>L2-;y>8)>O)OQ{ew! zOB>f`aw%TuM!MLBFIzF~lCF#iYWtP(e0tzHyx*V53~c0%ZQu>L5-+F?lGJ|x9lRz| z?e~8eC7Z54jAvd``2KyPz=XJ&Nj6L2iu{EFx# ziT1z}!H&EiBBWTKz^NW|5D@|6ljM*T3ZsGX9RT=>Qi}y9jfFycWi+Crjjv{1ctSqm zYd*o^F6FR^YNdb0C(d^&7t{921B=Ow2auj1IUGAGm$W8xC5vFv6L_9MeN--4^8S@@ z51XA}tNI9>St|V4!}5!nx~w%He-qw}&KShJ$9Nv_=>46zH8~=4{9by1r+;V@P5BXgc8E-Q%HLtO{|DCzFM@S5-rkeq@&VL6u6o38j$y zmH>IY`jvsn!1ltTN}?y!#9x*NFx89YUXYoVZ z{1=-(Q#nOEtO0W!3@7KVJ4EeP~c zf$q>C6Da$Ww5)ShTJkt3v=r^LHjuuN6(yOSVug$zni@b)MXR~t|4vBdpKe7Vi)r8y~9_ppt8a_&>&<4TP9xRx3lH2m0^ zE88oUi}8Y_acKD-WDkjRGZ1Lx8mP`LCJmN#$f!~Mm3~@3&nlT})GkUE1hP-q4>5!e zid&249#jnb&P{cw+JN;rCL(E@2uvY?98n2R3qp(OB2AqLgann}RCiqMPN$Gew}fPZ z3zBzO`Z2y+Vebsqg93HxOxMy%nmMX|SOgbW^(1&Qp7R1cqN>XksNtYE{8J>=W`W@Q zQGL(TL}Wq`eo)=0q0_T1^a8nT3fWqBKTV^B5+H4Jj%{cD@x7g_J@;CMjcU9H6u!sh znuis!UqAA~V#(yo3IJZn9#X`k`q3>pq*LGn{Dj_y^d44wQVhoqQm(3d>SGKjWriCt zW^8>Y+ipwT5+%z0K#8p8BtBw^|D;5ay`-q9HV($HBTk2;uBz(_U^WWctudLAn$m2r zkiV&Jrzo}sbCPS|@QC0Ma z#+GhQX*j0fVQ-;>!hIx4Vf+Zr=TXlp(GIwIj^ zMeGF6!z!;wAr#`CU1|U|JK_CMy*9a8OL~BS5A^JIh@*nQNzAk21J_i?RYN$!5iQ>Y z!KtVJcWr5Zc=h72V7^@hgtBJ}cmw=58b;4^1 z-`As5DgC{dQ~~(1dA$IRHpj!HE<8p+$p+&q)6J3GEdZW zi*m^#6P*OfY)Ibb`PV0Jcid7-&DO?W7V|W#PUhmBAjf;AlkgTC5u@{A^o?YHR}qSR z(ftYZ2{KI{eCoX?i~nK?&1!nrVTv*beI#x50~P>vo=CA!Rod7r;%AY1( zR7KdYeyKFje6yOpH$Hs~oyNG5fH6yehFj#lN;MJ63MBGjELVH(gB$B}dx7P^kN|&s<5d-~WT?epBY)(aBUL4^mD!Z^a*H`#ukD&Kl*mw&(g%Cr{e_r>#jn zjnukgNxJVNJX@OEI;*?t@|(C7VK$dqlDKS1_DzYezCs(VXwK4h)w?xRbOC@9)lv1; zROP^6VHM%J)U6s%cGA6JJH{@)3mSiUKBUY}`s_EAJNq(i#>qlbBsOL>r|a6uOWD%^ zJ*;F{X||6kx*xZp^K9x-ouF%wEU%^K#CsoPIn#xfX?T13z{k4BH}dzzmhP)?A4BNO z?)hln1k**30r@&($>z+5Y zVs_)pmU)A5ueOetX6K56J2IOKUcn-!+=jPF_xPXi#pgy9B({Vr2*h2UI@vqB@fi@Z z{x=DEA5I0cbJilqNNMZf0hIB7ugt03t;WaNPU3ao1_}V%)P4P`hR#to6kAS8Ob`Lj zh>+(&z$>U4q9z1*d&s$CsPIgcPh)k%y6XW z`9qMpK20=jRR-PQDlzjcM*4S#G!=tcusI5HFD6KuqTr7$I6VZrh}OY?%F8YvDL)6ze{pea&WyV?)=fZ$Dcm`Q}91(B_h>^{E^1b zA8Gnb@#W!T>^fWSK(`?nD8@P(V%A0`iCZIe^p>E*j`c;jZwB`taDQtaoRD_Z&f%cR zF;1K*Et05$h)}~XE?@jEki8ns3poNgarzBo?v(c}>t1!!WnxF^<+i-zN>jy4zg6&X z9)Wu#_vuq@GoMJ@^svsTd}Xs(dYQZJwZ`w#e{KA(zpdkO1|Y7kwHMsvQN0?K#^G?x z%s!{dr4N~3>aJc*sYK){`Y~g9z_LWAQAQfX8njD+uutr6g?1Z9g1Lzk^1aiUT(&PT zIq`yh5r@-+wX0T`jIcyPl7lmwgiVg~na7MDt}bJN#@Hej2!j*+VD*KQO@o7XwTugdswvV^mxObIUUl6Gsb$K2mLq6Q!$kF z8Da3d_U;?MUImI&?u9uW&lscARRxr5+^tu5qxkMoTdMfd)@GrtNMguEfnu z**C+fc-M3Ken*( zI)%%aoh5tNn4N{it~gzy<`8ca8#^(JYW$tW8<#7~XKc>We?WRwvJFNMI2V6@epWY< z!^O<+^;umT*B%5`H)kfzVGNG_TVrn!KX&#hzRQ`MGrySCC2l$f_bOh7SFQ1@+y2V< zRbfuYlMFBD4Rbpyle%k;E0^XA_FXT57`#h+5!?11RL5?N$ z!~BNJYk_yY21nZq+YpqU7r-zGD=l#}%y$j+pt{D>jiaH<2aYD*BaW6uUX!&Eren;^ zY%dWrV^KvZJR38^p6Qm$n3-XykZTK#g0pFK*!%S1vTTKwFTccZxBR!2%4SW~G0Cwigf>S?pON5c|IdK&Y5LvkrysL}jXH0fJ&eF6eOp|x=!n)V7~$4c)_t=1>Hj*p2{ zhm~cfza!{dnj*)dnVZ`-OL|;uV_$nmZ)v&2eJ?tJr> zEQl?hLT7oDWsjwog(H$;0cQS) zq*#VYmnVIR#*Os0a*AR}#w47G*l!qgb2)-*EXw4Y0QDA&F$pKiS0?2|QNL?Y^${uy zO_)W4bSO%#B=!|SI|37T6eYMD5N<|UHj{c3P3V`S+WkWEPUi8L&6VVxpq&k6byKzx zcD-&GyW=&+Ij4DrTXN5AOsTQHPlmeNa_~JSCmsb2h1Q&j{`rXUAyL;(x|5rvnTmb} zy=bNtuCFBPzmQc^w#Z2i{S~W3fRGt#zp+CmHmnm1l@=gPX+r6jHQ#MNuNMJG<}8#r z6N)&TAfYII^vdq`NtKd{v~{QTG2(!lK4>7>J;n-!ahHDVWco3Ep@rC4=*;n=?-HAng;~izXQ#FEPAhuvn4)yx8O%Y@pp!aBO-B4#}hUb8?5;PClvRBYLVQcb}Ja zCZ71T8fQR-$0n;pM)%}5oKoZ|^{Mue&0xe>(RQkdLh>?^(JAmn>3jDO!k|L<|zqOt}>6OyQQ` zl`+{aXuMR<|cmlhePqF%3+;L2H0j& zBHrq>G!Zjl2z5F;w)pa)7#qql2Bzov>&sJ`ogI40geV2J=P|Wlp3yL*uo@jyi}*15 z)-S{ye@QanrM)q8OwH6rv}8b-qp_PIa^MswJ~MN)^Kyxs{k4c=r$l&^r;Aa%!itZ8O{ao9LWXmoN@UOL=6!&LL@4j5yJlKBPvvbVN5X8 zEiN1;c;`qac;_#V3C3#gND1+E4PkJapa_5Xp_mEM2uJULv!lrVOvZm5K4BTTs``=( z#M1%?)f%d072|(@;(J^CVDZdX6E}Tbyz&%RzKY!~{L?Z%=|+Fse%b-UG`;yxmpY#m zBO0bRFCuTyo8{wU`rYz*7yZ0Ci*j{T_8XEybliGQfFd=%qZ3ZYQqBgV6m`UxPb7FOhAS`i#$xiHTuz(*!yb6Lr%wUQuOYBHj}c<4k>K%dsRY znh)`?&CSgKY~p`ubJO-sOR}Q5S@weeZ0hp@H=9vOllR`;TxK_m_2;UV6{BsF&(vpb z{oWWwID1r9<0&CYGHA5VSq|+&AxR6%p$&7)`doc3&oxYa4oTmzGUkpzG?hV>tIq+bTzw8v-?er}BTNVhFp7Fd2ZeJE8>m`;NkSoul~Wu)5giBbEqb8S!-`!oK%! zk69h{c=6wZAc!>YULd{&dbZ6G^8)$zND%zMyMiE?XR6BFj3>w_7XCS{y~^#lKCY<# zilvoQ8$S=Y?8riTBRZv5fHoxETO!J9Fox%c>>+pJakxfinZwFBlUAM$X z?8E_CDNgg>j-dtj>VuM#kbrdF03>q4Z>qEFJf8yJt+wfIHQqt~MAsDI6Zr~Sftug| z_&7>*o#1UBia2IzeGatJ56~p0`H`$d*AD@L^-_63s9fC+>Tcb#H&PE{6ZlEnF^JbW z^5zv-Zh1xt8?GMV1Qa381rqdB)zc2X_-Q;Hy3v6Hop%do@ysbZI*J!!!yz@O!Oh+_ zbiuw&l*`4uk0=R-I*f#>j;5PB3j8hSmxuK17~3vH`yJpcAn8r;bnCSj{#Po zeQeUm4y)^BbV~fy&(tlHr6;c9P4T?yCuSwHf*<-uw5U(G;=Qg zy$IWUTFTv!HR3o_#jNsGpTl^@5$%A6pTmPSyRe{hc4TuA#Lw=*yrWZi^p=<;mE!Q7 z&=!DR7fid%5H@nz=x5a0QN1+#5>0hDj?o_)Y8w`!ctr!$|?yFrO`B0P&xpp&p#Mww<}!)3?y zJ`SA7IOB1>_bV~t@Zq?gZkcP)$-InsC&%+(Q->6%vCIgixoZ?>EO|e13#cHY&-U2% z5ylmW5m`{&^BO-`DWY?A|Dh-Jbc(a7PJ%&e()QfSPUxAtW%&ucJFH@PwN#i*!%yh> z1gKqLxVWC2>Y1$%4^txVP+RRAc2aNT`8>|xJ**`Xnaz%)`66p)_iVW=JDJCL>3Qf} zHGGdo=Wa_cJDCR-9Ttnyb(Ze6&gadlWxPmyIMeyOUyBmYbUyD*N~D zo|=+5$@=ljIG;!N`~v6mbh4xthe;n0>bVz)$v&!D;SQ;@dwg*NyUrajc54i9p8#>B zt4$^u)yLJr4FA_XpeH*3nCuAOBV;=B2|XRG9DYQP-Zmx<)4!Q!i;n2AQ_TooB@*H3 zXE~x*u!UsE5xq{ZZ6dE9(c{P-mSon9+UR`VQqKa&kn?#rd$dDNpum+uoXJ#wdm-#% z==nUCeukXSbD4zmd8-W*=kwP1$NF$kPtYUJ=Y8Pwc0O+*X=Ug0)N{AQQu|BA*}MTA z_Al32ba6B>B_)bF!>16pq%RcjDV@WUoTb%Pow}v?ITB3Y5`N!1Qo@tP21{rb%S5VD z?G%5!Sd7o-1^m6jzs_Av@UPRkyTWKYx7YGHwUW;56^5SM%UgQgdpw=FQT+Chb9-w@ zS7|1BymGB!!T+H6m9q18I=8nZz?mTPki&7@z4!s(L`OQLn>_S`2v2SCu$6YzWlbU7 z#Hz1F`D==6&vIU`<6;iZwT<@kde{67dh8oIulM$+8Y-^N484(t_f>MQ^sU>|z+hDUSR;3~YZpk6irBOT@q{$)VWuM`%d*BklD-uUp&^3a*McCcl=Rw_v&e^cr zsH{ebt!B9Ln4_b_v!`1cci7>v0AMs6S)gH*ebC{ud5}LXpgRBp^PcV*m-A;Q7j%zp z$vv-y<}ntYbYAcj%+<^13Oo;ZTgM)KZsW7%!}OLQSRK1qlRcFTY*V0r^M z^AtG8>5&9bH9n}EJIG1ox$>dz*sYjeVj8!$bv)M6sH5(gr&1kTxa3{iNqr>A>RLgk z%<0&Hu~wJ6lc%7Bjz@Lx8eshfhAo4?lsa~;tNyf4!H6)do-iE{HQYYM*^hSQ$k7xM zEQcouj{Oin4X73dtXV|_-)ky8_SWQFWt4tS`mG$fv~=Ajqnq8$@knqhlk)`!`__q& zTa#&r(@AtLy94-c5yZ#>a-m~X!xCEJkXu1!e%!W0bT^%(GooWT$QJO@t3Y=;G{aZE z_}qvAeq}|(<-7?2KFD;l7r{!0f5s}$vqj}CPp-BQA8YtfNTCw>`Hu zS+5Ss-77y?t}q6umWcM;wo=3dA`JKyyxxnS=Uvv)B%~k~piT`m$-lK#dQv)EY@mAx zn(EXGW3}X>VTs8)6wNoSC((5u<{+ja+f<3JeKHN9UQ2{$a|*aj^-=CjR))1f%}=ws zWvZY4zfAU-wx8Bc=T)|v0wmX8V0oL>-FYEU;3o z%|%{bCfOcL&L_G~$&!U6vRMeZHd=qioD6i>$%#oXaqTeC>}EomjZLlnMwM(3MpdHg z2HDMwGLeMj(Nre~AbXQx2d#41cZ8H&oN1&D<%XT!Dzw#q-woi>uNrgKd*kY%IN*= zX%@VT{-$^prIgx9-=Ui7BJ~rmq{Lfio0jmyw`UXd3pQ=u9T)*gIlI;VZ4WhVW;V8J3kO**kcjD?_26jjgY+H?K8MU(E} zV3!dZ0JUoAdIR4k0!dl5i;@afT*{Vf*S=zgetMgDj{V>4WMB?mb3q? z#m_-0OL}I^n?$MZ$ssm#@w+UPmdvR-Lac+&Bm;aE`H%*WZW;z5MjgNfzuQUAcI_`jXObNr~h8n#gc5qlMZa&Y{p zK5&FTu6LOYHqYx6Rp-#cllx}zbw18v1?Aj9PD>I?K#rNbP05!CaDe!8SS%hS7T-H3 zGKM_?NEYE~G8bGdw>rj2^gtHbglU=Pmq{XQ+mw7E@OFxr=Mgk79#r0ehy;MSz(jao zR1Tw0E#!y+*O?ew6Oq&IP`@%@qOP8t7p^->xUvJ(pRvMNYoHd`;2mT_gb^y$@sT%5 zNWT3H7~FfCzL}iY(BUwFo;xCEvl@#xl3XmX(+Xb5ZD0XvM@+g{7fX&ZEpfUWP=c=k zDcw#G;aEhaG;GV^H0&IX=8;CRMHx(#mmJRhSuqjQ>2n!8ya35ieZX8b|jEKw_|rEV}X| zpwdhthn|djHmJBJrTl*E}O#TS$z*fpTEpt!t51hX-QToWP;nYGSLtq@zo4U@6swZ5H1gx^U8 zVhqNh)1ZTu@0bBOcMA+@wC-S=Q>G$yjT$K$ezW9 z)G9C+KSbmzrEe-;660s#&>B;Ir$yO?#LX44eFW3UXWDY7TRwdTE?r_IA9f#QM3m zeN@Xyc3T?`ZYI}w8##zE-6N?A!SAr-u2Q@LJFvz z^wUpag6!yP&#esh5xsVoeXzX)(a%jKaIZX`yW?8?E*_S}v|a{Nu{>08u5yY$HEt1p zx1`MB*#U+xmK@nDv>t2fk2IEy9*=>8Yw727JlOc4K(zp4`Dkh6A*;M1#3V7CG}=k> zr`l1y`-s6_!lOs$U^x*?!7`zjvyV+b3#gwcpB@c-sj`}h-0;tY3Ko#*A>qGGBP^}j z1bAbn5$*#>$tdPFkQG(QWqp-%x^FzU(r(&{>?0B@Qo4F8iqMMPo-4HFjdN`l? zU1lHoBgcOh`^bgAfPLi2pUFP54>}}Ul-Wm~_=I=J&u1Sg46%=N2|WwbaQny~dl~;x z_K{1@WFI*s8c^WfKGMh4&ti73Wgl5A9};w8>El1AedH@DMxwVy#RVNsLZ;f5Y2XSCpHeZo!mLZb|Q&Q&omnBnQSK^>CCp1l9|K_K_zwj394|v z65WiT#9=lRmH94Hm|+s9A`=NDqDS2!;Q-NLvk}H*a*K)SY`2-Stm@pr%=o%fso-g6fj0S?o2k68jyI-*S4WZj&?W%{GY{!BH7Lw_KY?Z zQHMnIS~e8P^lI~wHWY6xhC8hg8k$LoOL4m$rDzy*nW~fll|mvCHu*{VtlV}KS_1} zaT+DEw=H*47L-R~3rfm(MQwFvmc$OWirMIp{$=|++$LSX1W|pdC8jsF=4ADn($|`M zrmx{k=koqjV)_9LmYbo2E5c!x_NjO*^??x*#xJFa3w( z?P}?|oj1zpQq`5J+`)a)w6EH!+&*P?E$Sfu8}rSXKpVB@_PhD%tptXepI*8G^V1j_ ziIOKhPv9h*B(-(lY3boHx5>F;OHQ|MZa%rE<>V8Z`PJJ@qMqgbzh{^_KrP`5AuAnpe3I0Fth-* zKdV&}z1Smj<(x{@T}72jl*D)CLt>Ln7jWnQSo1D*EJelP(Zi=zSM zdQAz7lBq=3Dj8D}({7XxDo(+~jQ^}~WVPpOIXbDXwtkr$cDLxoAN+MDC83k%ClVFJ zPS27=*N1=0+FH%K1+=OhR{KQP_kP=u%HYL=vHUJJ9xIQ!%bv1JpXFJX)}b4}-BoCx z(-=FM=-QbDsqKo}DGJsRo)g16!W>TM*)2xH^^IiqYZcgw(Afw!X6P}HOf$hT(N%;x zszx+aG?57Vqj7XOYUZ-6-#rbcw1GWZQ$A0LK3(RE1~89I{HRHyr>xQZaFEq+h| zX9tzm`>_%bGwm}|&++=ndw&|P0%?2t=9xs--fIjsjt1(bdfT)Iq1O#6*s52pPg=f2 z*R2jdO{Yg%llA6=b8B*q5t?O10LMbX!-iC^s5Er{%+#fqnm!FVW8M6a==vt;$b>Ck zH8j&In?Z?b2%iln5?$~2rosayu9>DDo5!?qy$yA_U6>2o)c1g1<PbZMD*;> zd=-*)x0FdAQ6aWtlHtq-wUCWIU4XJ6qJlyrzj~|zru#*>Tz&oGb?cEtSF0M{8Y8cI zn`KMm8aP}#j4*BavUOQQGpn6&t{J>K%CuUUXql15BkdtGCdtdxo=#V2ShByF;1wN$ z89P2gJL-7{9@(h@Lahq3;0qp>sm^@FhKboAH7eadLv%yJqCf&WFoEto-MdkAx3gQX z2G#jNG8L5WbiXgATN__zrn{k>?gnp~0idC3pU}t$SG!a^QvmVWJWga;IWwwSW`Whi z``~6}iu#~?rq!j8==xfQlC7Dcj>m;G5ZupdT{17K%9?Gi7r(=!r!h-shunFkwByH9 zmfISlEO#@WGfi#Fw(_?2Ca$i>J0>yq(j<`$k*iEnt}<)DP6T}dZwKvIx$N+V32!5E zf&%Vy!)81g3S{`r2!%Plh%M11zWMDXX*U5Unl+XphCm>10Y0{Qtaqv@RtdasQa+D^ zn~ol@Q!mk~VLaP`g3^0Iv1v)m6lBQ|z#j=0BGUgfd*nzE$lZ`klgh{XWRrj34(A{2 zd>b*i+|2bD-bM9~m62PHZWNz3cgjlmcjYA@TSo~Pe0nbB{ ztrsFU4e_7_FbJL$?4<)u<=eqfWGdHRdTp zUZXk+E4C!zPc#JVr3yZ+4BH~?w(64W0J#dx2z(dF%Q~ctBI$q{Nlu#Hniq+oW|^ z(Lkw7z4tymgpb6s-^5rVt4s<4R4|U#%Q{0`t>P#Yk-WG#wy#8b_U#{(o?UP~`?~~A zYKX?iVE!LsVm*7MlF_pv0!`yXAHYH6xSp_bt@>KR_<2Z^!~Q`475j2MW!^phO|7~6 zd04&j@gIVLy)rDVAC7Xn$=!N$?3h|C{wLl8a01| z9u2++yJs*?vjyq*-Iq>Avv2P(Pwjo=-PwpeL#7eiEKH;i=)ID_p@`ZKsF3Y$&!KLp z#fK=<=kjoSd&je>+qFEBi*S-hST%7Ic(DZzpghp7UYdrip6J^2 zNxGDEK_gu_<>+XdZ15TR+WTD>%F}YP1lX|(N3+DxaJ>KuGRdwS^8pr=^nVuONIkC6 zIFn~1hEVWVUnZPP0t%Hn3pEh3^Q+$;c6nlHW@RQ!c{R5zGD%N>$xtwtx!hkO1z zz(`zJ?!=tyBdwiRez~B577toG2*F(+GVbv1TW{;6Y3?p1K#I7sJg7q#(ykM1%%%|r zGZ$~2QqruoCOd{i*L5H?>TH3sQ&Vnmp@OFpUG+w&U2mecqkZL_P1|YVp?botIe78s zgrAlDQPr9A2aYx<4r;bhYIt1&)KsTy)~Wk+wFg<~%k6Pr-cE}T??y6iN_5>Mlt^>* zqZ(W2_6bo~4e7_H#jn+KnG1R^baFH|(x`4}6`(@%;0H`6&7s8YE({JChB0F~YSPmK z`r+b*%+zjB@mC9-mMfWJC_l|tq}*hxKd<88v$8__Q5f|X@@{%S(Tu{aS5hw~5NPP_ z`SiAKqM}Ts@uoV-wq&dcErPcARp3eYTiP{{Dc)`biVpU;qWmgdX<}I#uIM_t-5;f~ zS36Gw(~iE_by@QKfbu0!WyXc|lU1>_-D#sFybrzcr*ZJ*WEO8 zYpPR;LA0Z?obCESoM+XLUeqK$7vLN16%4N}?5UZ;Ssx0I(WxR5U7z_FpI%J} zl`t6V_SOO#xFPd&^yGT9^BT1C8W4rUEi5GpEHHZ~y&{Es4FwF*w?(qD({BNOvA8d@ zoyvho`Y#~AIhPOPPa3qE6t0`sVvQ$2i!cphCH)KVABUk|#?BgOo4GZyd_5;-qzdJsiRjvQGfnhNQtjxiv4%wGQVZ=6 z5TPj+Di9KvVF-_%$FwJ5h9#(e!ZqbQq39PF^H%~=mc1qh?Lxs$G{1dDuz(~Ph#5Vl zd`Ziv#-edgkz)a?D)FNwhG2Y@E3zzWwi=m31-m@zCR=$l=E#_>GP1n=q<#un z)sy7vrvRx@>rLS%Lf6}7XPigWVq5Lu)G9J98t?FGVHZ$#8^&3)Ur{bG-b9i;$l_eh z=mOy&_01-Yh#GYT^oR4`#2-?m3<9O4q6@V&eC6DEukptd_*;s>vUF_f{ILh-oUiR zTcH+|_!-WDX!5S|oOJOPM` z;=d6J{t-bj*2;Rpl4RNb^bG`t?oVfkiS_1rO1Ay!QRk!5_OUtLu44@BPxoqnIw;T= zkXV^VVa;u6?VdR8HNxtYH1gIvXaC1Y(YLV0df(@on+1|Au>{REM z>(wH`kb6Qi7*%ysl}+mo8g?oq7||mXX>zci#Z3~RdrTbRQQ@S;DQmuR#urGW2?2=} z!vX#6KAJM@MRy7szJioP-h~cr*GTBdADhwO)e7zV%HZ85!hOpbod2O}wDeV9#%k-9 zyax}DptqKGr>`KE-RW68l-3K;=31FJ+hO0ltEFA9oT2l3u??G5J%m*4pw zbem3EFKi304I);WnVzZsi+8&wv7eD|3MO02(uVC`iFmDK{$SZe>3mwfcba|b7Ik!1 z@u1b1(xIial*`PdkAPDl4AanC;eBqq>|whbZ1b12VDKN{ZK6piLNcc zs1|EY6;z{`BSg4K!gP*@ngL-k6MLiOSmjK+w@l*d3?{ogA~Wfqel@BjRB4Pe_?7~Z z==x+#3Ig$FQ<|P-*lBfr0O}E2Rbjg$VG#V6eHKjo#cmh&;Oj%}bkE?IX_#XlQNu)< zn7VPo8C2g165_RsO0qf;o%!#{NGD=>gRr5huWi=q@_I7$hZa{RwXu#yW~#SM@)q9; z?Sj^n0nPOd6cG-$lQ&N)-J9V;+i3=w==#&kMJ|KHn$WEWnyv>*xEDF@jNN?NPlKZs z1MPk>z;Z#z+f1`iCmkd`x*p`9Vn^N

<5=47)8N4=TU1L>DVGa9hMTe;tYtfz(Zi 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 yUMg3dt*^FCwS8E;ZPUR1+it@a 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

l-4c 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

?X=JZfxdBu>iT2TPAi-fEhb`W;Ek;2I0dXqmy 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

I1Z+3G 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�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 z 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

    oR;0q*P7 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

    (iGq`>{x>2c8S;A8`_)7EN|A;n}?ngcs!K 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�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

    b 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 z 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/uHF4p!=4m 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 n`!4a>KTF{S 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%0A$+iiwQim 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%0DTmL}?PSJaV`Caxy}u@_G7`@w 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%0DVOrI4XNUYN&0D*s(Fi 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

    P_VrVSZ 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

    !Y=PyICi9T~#ddS`^5V;x| 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�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

    *N#X*W-2-CBe@R=o+?lRt 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

    ne;xf+*zx{IZAY-YvJ(- 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


    8n)zE+=JdK9#`a35e-j+5`CQA z>X>50{#LMv#3?j>x>z>fR3U?ouAX#AYzwUG^qN%;$0A2!H#1v~5*9Fn^8IZ3rb&Ks z6CG9gEgS`sJZ!pn7S6)&toAYJh6#PR z2?YudwTNCRj!b@@S$=HMIPEFS%xMswCmEx9a@$0Qgj|~-afd@LdL*-An)awKON0-& zW-7N9GI^E>?&{Wy8FY68UXQOS;wE58?b}iuQ}f!WknG5C?mg;+V=EdZf^Lp{1spd_ z-6C-$AZRJH)0Y0GZh>!)utJSmat*8VLuCRWk!@(Tai9ttnCMT3Wlp$Xk!3*qA1tB> zU0FX{b*fDnmkm_iS&L$WV;qpkl)Lpc0a1m}viUO6loNnbo^$STv{JTxD8NOCpaF;W zUGmE;Q`3zPP`Itvt=s|xEaDC`4@d=NI_4HNh?gT5K2dUu_FK;_;rqH)zZPg1E_OqK z4#J`OHn6EX=(m(*sqSPJty71Be&0G?toFUB#l(~m?F}vV3^(G(plF?Ww5UP6VD}Fa zh*kQSa?9N!?uw3}IikA79Q-*6Tx3<@wR|rmw~~qb7rBQT&1cU3jr-2?61gr>&o&)p zzRnVNp@CRgK33$4y5N`NbmcDlC`w}z3B2rl#wg}V<<>xN>nWdIHA$DOI*h(=ao+X5AI&Hr-@sF1&B)Ys< zrl!oGu7xc!EaMu2+0ji3l4u&z>rdsyA=j7QhF|-vFNu(H8f;kKdy2BHd8I_B_27=f z9X**9o*g}z9Uhxri{}TKT%{kAWs!&}nzC5&stt3Fs}Z2OKeoOW`vJ5rZIzhD$A&s` zG&&>+W4Qionq8?;RxxJQ?vLBwHY>?d3ENxQ0rF=#E^!KXuDepiEvR&LRZ`hmiRE{9 z0AZK-H=R`1O7Q2{hzWLqeZ;~+I(Tro{DNG>(6uYkHwGrv2l3GeV^ z39@nJZ+_5r8_8`xe}zqBgvL7XyU2!fndqw}TK6)B!riK7fno{thgeRyQ_N&qwi6xp z4ps4?dD2+nI{2u6;`u#GZ69}b=7}z??ssHht2A!D^npzM4C}>3q+z}u!wKRe^oV7t zBr%^)xiJ#=**DmMra`J7QN2V$zz%PoZdk7hnB@)ow0)k$7|9#Uc}k{%Z%k!alt$-W z$?3w=k}Wpk{8}}P!?`5(ZCjd-Uh9Yu?eJAKSylPY&K7^2us&=$=h4oeNc(s+#}#00 zE-tiUm;U04YPw+_yCM4BVux1y7g<@XNhR!Z`_dlFeSXC^(FgM!FFU-T`Dl-IMdX3# zgF_sV%9;oB6+=DKdeCJa=@*X-B~KP%>II=ATFrxefcI*L_d=ZOy}9TOSKZ<2>rxX? z&@PVhE^=*6TIKZc*%^*eQdanCNrOp0pS01EmQIH+Or5R@#tZlW;bWXc46zgHBYh;n z1(6-&H`hkj623vgV93~@X=1L$KVKcHv5EAKnzb%B$LQbZ4Yv-r<8a&=xgW2xr_cSa z^;Kf7xct_5+!Eg6@mqI#%?`hHW3Inn!r!mi-*1z@-wuDjmKn^6i3oHqFLS=P44UNd zU$6-^01jNzs|lp0%Zx92BTFcH&Z5_yCa#pu zG@GN%(}_2ht<@fL5WMNMGKQ_L4_KeN3^Py{vfZQL>!l>jh`#z`vZP7I;bGl5B$>?v zrso5gf!rI)rkop`RXx6hi}kq7*+@T?pN8}^o6QXarbB$pbvk=TL~ikcQw5Y zY4fT`J|sl1+2wG2&4I*C>JJa#Q~iCvFm=I2a0$Ui_N|-exTGc-t{tzu_8ye~prol8o8Oaep(C0^+ zvt&9vDXXdWWZb={SMn{+x@LI zrqX;~5Ln2K@|8`D3UddJD4B|PCm19)%Wssi&k`qXAp)J@COhvhu80I)CSk3L+HSwSj@I^4a2OyWtcATOh-MI+QQ z@>|tbaiP&vrigpWjtr`n5#PMhaDQ`NY126Msxf+_R>Pz`$9$f9X2H2mhb{q|Zh z;zNPkZKQm&BGY{Z4&-UdCx>s|Eb0HO&Q4n6WR?&Knn|%DUW<32@N5x?{{Jrc}Ip&4CXNIqQfb;vNyCc=US)Ry) zzG=CU2wzP1%^woE7e3qVGrW-yDIVYayvQxWdHW24#^K*VMGTNlCc;5B@RWS7l)P~* zeIOq#T`7KZdD~#zQ!ng!vD8L1)_^%sSdRIOnm;x=om@>aL^@hu96jpR>h6VS!h0oJ zX_B3AQkFM*^t$jo4y405(W9l2nfOe$kDpfn?xeJd!MpRj zYVblALk(o9mcaBJUFDnx>l-lpB!#e`Dj5vn{hY4*`SF(Dvj^6G)Wp{T&MR*$Roe7< zFMG&I3%r4Q_7?|;B!wMqY>|SGlc;Ps67E10y6@0$BhLq{!Mgd=pya=m&9eC`>J@PU z9ufWkK?0yZl<&w>AurHB(aq-!JLM)jWfm`|aT~DCBKLIeK-8YzQq057Rl(R;f4_CX z*rT=bJ~pL~QL_@RMzO0Um>Yx(s=b`*<1K%aJJo-@<$5#a zLY}daxh3%itKBJfKO=tg;Jvb$9<{d+puP7sDLZEyOV}+E9Zek~m6rv=HDPlJq7%nKULlUGL?+`dG&_#pDC85oU$1`TcOhm(7jhHrrE8?)Huzqa9Ym_^QrL7Q&uQ3MR8xY zR(AIJ<~*;ACcR;*3|4v#esdfqSrhZjc|(YAJdxebH#i!Y$|i0eD{5 z!bZRKP$##*8BJxLtmNaYvpBESGt+C$TgoU zb9Ag7SAp;q(Upa%mxa_I8JAsz9Dg&4`{&>5m~=xT`L0l^6_8v8X{K-i_w8896jX{h5_o&Q_%UCwkS1R+CWtrM-#CDTfU6Bj=9OOI2Z$<{n*<>*IH5> z)@;HR<5c3r1x(Ik)HX}7ma_u2tlbA(kv^mNB7~q2{hi* z9D+4)eS^P~+z)#B53|_-9z2Nl?Uq2O?VxshGp`8Ub%eKVk{l;q(n0Ok2A<;w(a)`y zL~$$@Pn|}qQhnebxYCL@NNncqu(;swAl2?5%tk3Xc_OQLKPxp;h9)mFWGm%BkAo=2 zIo*a@`Fw^wO9lo69+YM#jWzDTSQ5NVctZCCDDoS6x~c$zW5qKF`#1&^nl};|pFp6PKQz?UTi}4V2H?P%o3qx&VT@j-8-AzV zJrUI887RiPwTGNc($wh+9FtsOAlH^`XA#!ZSRw)qnO|KD8a9M(7_?EVAwWGtLMY-- zsNX+AO;qeSX8c0#lNYf(k^UD+_fit09ve_8Z~F0u?bAS}x*wt$ux=2794-;jNo0T$ znDn(C%x5QzdP~j{8mVKNh;qxHxivI@LlQv-<1(6926MbA&oY@|>_g>LT(?Y_Uu9;4 zeu=q+I~9M@`k|U+mnea-5n2^6S7A7z;)0oN+-E0d(Jucm$Mz(!`IV98QdJ6WKXR<>?1{(=Xcm3hx;Z( zz?aHN?Bqh{TCS!eh~c1vqMRcuIPMnJGJzgQVkXgaW&Yp@P~uS7Tb{(Ul%mw=#=Mg# z+X4@|H8mt)xmelM!6sWqM^iR4h?1iMj2`F5s6`xt#BKfh;Sw7+fh{*bos zoDql~a~jci(t-A^dh~$PXn)60KJ6tw0`Y09gcH9T)sa^MQgCd0 z)*ZXhg4geQ z%d{7_;(m&c?HtM>Nql_FMI3K=FJC!Z#XE`b;2cc?rQ~xME#eh#>Rc{t>tzKE#>P1V z?VF7DO(+8Ka^Kg>&8)@%a&P`!2cDqZ(jkkG8Udx>fPDOGY{+smXG<9P(ly_kRkEnn z{mTany5|M=Q$Bb}q-5I2*YhE_Zg6n;){E9pmZUpz|OJLFdkLQ{NvjZ|DfX zQax|)Bq3;!b#=6j9T9QLiMj0!X5Up%iYT#Edtzlk1Y}4%uPm)SjMKcDMzwm|?(`(0 zIjuCZF`P1RBSQ=Y+vDeL?&QrZl1N)3VfpU9-rseiw!~#R_2eIpl6axyrUKb$P z9ScU)+1;O#)Xg!Yl`>OqnTRhrIc2B>hND-+j1KxMI@thfhmX#0T8msUMM6~m`S z+fjVa^65_1Ip+p?A{#r-Ez^lv!i8tLBZpHcDu3}ly-lTdw*Y81htQA<8uYpCIA*uw zJ;R9$Vh_>WcP0{qaOkZ6i&rh<9%w29PEHubj_7`;l+i0NhqsX#9$nruFh_5Kv#yKl zjecYVtvH{`_Gc| zRy*fvJ7*y|6Q4*^7;38udSjEYha~H5cGmy4vldICZH8~7qBnO)hTH87Rd$9_$?#VR z)Ey+8rVyo(lIa_Erkm|d6C_iN7}Kgn=Sqg@c7_r=!|h~9-VJWzSJ;-E%4`>!6EJtm zRD|Z&LwbU-X$3eT>>@V}8FDiVaIC?zthyI4rTbaI*9B#HCZ(MVXZ!LofbLO&9k#fj)+hB?)Z)DO3c z$Ya03o2hw3JTqd$9!CzkNH|h_ptcG>h0Em@`N)^zWHs6dXwdIQq_4gXv3Jar5P#og zIJZ-XxS@FL=kkfQXsHx57zV;@8h$wAyBS^iW~DVRMGh2)y&R_QhdV=IUdpAh;-Vuo z5u@OTRC}!-Dfa3qVLp@(bW|>-+R!5PTKri!B`G%I>Nl1;DiW8$xWUHW{gvNCGb{24 ziv|!TYf}%y>%oU2Cx5%HRvMJBuP&>x{BpjRV2=b&rst;0I> zI0m!dg3)Z5vk|s4=QV-~@YIlUlWiw=@6TDLxMd!3ONC7#kV99ANAx0D0N7FBgPq^I z3iA2AwIGjQ1dsMEZ`w+VSgAcUpSdbhN_Qf5^+mE1B1hdGuH@GWVUKTZR=A35=@!{w z6w6XBm8>C;Dp|HYxE?5sTtO2kbi0s(i65b`@eeEH!m5{^(Hhj|WBFZIt_Y@s())|SIt%hhz6@tVbq$kMO z&KF3WN}^zm%j>b@$3-gAFD(6{G&_u5I!4;f{24% zq+OvCt zsCuKV1RKABPvH1kNj*|dSSxm16d;6~pzw$IDp0gW+~Sv($3~tJbg~`CpRwWGBgo?p z;I1zEEX#%*m1(+!QVYZwxA1KN^DWtwwOMmZ(NPymtrEun;$~=#BB%=anClA!uP^?M zvrSl$5zPswioV%tfMh*qRvrrE`6&&Kt6 z84a$g!O|DL$~5-o&CD>w92eVe2EqM9TH!G+{9XKCGML=6YrWVKx@OB4E^cn$q!qUC zLjIr{Ue#k}=ut9~Hf?`5RBo0X?(3vMM5e7x+zob$st}4v^d@NT@H=fOQn~Xathv*c zigimA5VQsGZ}`x5B|IoQmGGd<9sWwf@yb%R@@gbO;_x3REBRO12vZlza7es}p#Ior z#S5?**Kk;v5hEne74|naV6Y^)=y0+>31UIRhI*Y)s@S0Ia?#4*dB+waVk|eCGUiy~ zee))c-6vytCMqxLR40+%Ms{|IU!uPly@9}TwwTzrRc*BK@BdC>8-fp%*kzEKvPI`c zx2}d}na?j#_Y+X#{EeDDY79gZ){H8lgEiTO>ZWZ&@)UER-u%p*MlsPg zAPKeli{9mZYsQi!vspKgITmg?JMIXSCDL6g_=eecjgeD3fFxA(YY8YjuR>^=$}ye1>bmfe2!E#{wX* zBJYhyWauaO9pXkx8kIK2)(e{LqE{iSwOA zK0Qt48=<3;L_*Nw)LF!OHNNupxPOs=Y&@ms6x)6tL5Sw%!u3CVB$^ z7}p4C_NDK+RLf(zXG8t0TU@?rp2*dl(z9>1zU0e`Tx{L$_Dyqhd?kjL(Usoxn~@K! z8$H3I`_T_ec=3B@R(K*G`^`PK^s)hzw$TgQP)sx^jA#k{JQhJ6tgk_s!PG*l!W)cD zhj!0$n}a!mL{1D0SC~^>R+*a|R++~f=fMgR;pm9R?@*n&R--d57s1bAmY7@MYpEhO ztf+{(uN@=NVaK?Yx@30H_x{|sNm?*iCIH_*VSj&YV6`Lp7~e~>M6owdNJNne1F&F$ z6&VU#LdOyh$QWS2A>(kf=0yz9R4VFn4qR$_Qy~M}m&n;h=wzb2N5*1dR4d&nKe~rt zpffUH)F*uNDw;SBEx5_4N}ea=jB{Q&d|`n1ef_rNCfNdDeDf@)I8tFk)yyfbgpf4z zl!T%4)LL1Y+CnP{)@&fZQBgNAd}ht($O{E^PMY0D>;~e;??ezb((AvLAdd?KBU+{_ zAWi`Y3F|_*0^c5@OAGW+QjAEBH|-o(Nshb8fdfb)rf9QI<8LxP14>3Ub2mord<`?S zs?`!?YB}f3TI^?ZQ|Yd%V;>8hj?wOjp0RRmCoeh%{6hQ_bwEvU<8k%LSmIXARxfAE z5y7WgPwR4}5>0-_afCb0MG_~r<26;?C7md>J8|CtIdbT+wrbBilnzt0%D%J4rr`WQ4a0#V#>IZALaHX4iVF&sT|zyquuL zzU4HW$mf_C<}~7hu1KB1$tSYleF+_`0g2Y7#^CMEt^4|_il4V@@JkJU$d`4iuiuQg z1On1`vur=PJJ6sxZkBbF`;JE%I(wYgW2KNDW2z_&H4A8&`MTX*!8AA?6s6g@c4O6p zx2w)BI*mF0o!LpqPdp z3WzQ6+i)w~D6m`6)}K}^K3~r0u92$7fzeg<3QTYXd=;VH>$TdQsycYL0D9!L8c$^` z_Bw_m68Gg<@K^WMS9_(1ay32T$ry=pq70!^&5T@~F*w*q6`*ZBcITX;htwcq>}-8*Wi8tm{h)ze)>JyI?ze zs>yU&5h+F}`q3< z?jw5r^BI~+FaRr!YqP2@k}b&%XjAh6A~ccYvt%c(c}>|Lx|4%)?1kDTlX`*+%Xh6% zxozI872R5p-`UC6ZdQY3^r0WIb3WC{Ci~?j^0Jbbf!G6zs!b47fRzQ#YSv&V!2Zqc z(@|9vr(14uZxV|Lfhd#utJq7aL6fDNV|XvDsEnfDSC#p~>rK5&)U1UPxo@N*QByox z?N)|R*bDZdHg7>u^;ErzB~_~x8HWH@qB#qF4#Fg;&9;PHEKS`=?UOy)qaxZk?8gL6 ztF6hDhaf~NL^f99dskZbCPl{OW(Vbl@3sew%>xM8yG#Ljb|$Xvlk5Oh?ex4zQmN^y9&Gz>E`lOe^p~Dn*~(BN< zcYc{~qZW&1x~RM-9Y$4(l7iMW7F&!FMIWH_M*T)n0mzruvX#Yui=gSWbj!`R3*p(P zRuN!?gkzfQGkf}Z4(|l#FNFSMm zsr@$8QTT&jey7YD>yd${V=^{DYd$t2I4P1Y4asx~Z#RB?DI)f=LCz2a*^B}90p{vV zPqyM(C{RR1jT3Cn_bMM1LFj_23!*V95L(~KVhu+`=S2fYDOBwiHd)D~I~kCs#3zU@ z)POr@xszfrAfws>sF;9_$%jeEV3}-+0YmLhuEE&1GqZp$3(n^Se4m6ptci47xR}&# zRi;wpqCh|Un_eBSbSHi&?vN<&qD;$`+o1#K2ledu{@xwmsT^e8iwv%452q?Fb1w>J zj6I}?et*^I?)PQVZ=#MU<$_c7`^3w3zYY4GI$b&~P^Hr=lQ?t)mXMxAy~>0Hz`EP5 zObgizi9OnziQmbaSkAaCoAN2nGWA`y)sgcw@BK&u;LbweOG8Wt{g7>x#F z-BBq0!j){ZuK?B<8X)B|abIlOoI^1)|%8fCgPA&1|lPd}6zT)(sGh7Mqc7 zwkkdTYYkVVLif${M8;c{Y!j}j9-v!O-5l5b4|0;!AA;AOzVIB`K+#gR9{4VR3Fm0Q z>rIM7rq1nKq7`rgg!Ree%t_sMK>PlWdCf%B;lvlZbaO0mUi#|3K2_Pe*{3`-1&0q4 z*v#n=OU{20cdaElWw59Py^_cPY?6@wCBDMwnhnGNM2s`~)TrpBSnT^=gKQN}{xITqmKFsz~I2x?Hl zqI$y@k9f?JsMaN(!P&ilej%WrjO&YPqO+f#5m3GTcbS_Ud3zyS`KhR_F{G>c9OU3K zHef3>2Pz^3oug>ANJ<@AnXABb73fwU{n|2zAcbs|#=3ZNsV5gtZl2s#@(zR<>*2|x zp4iP378W(InSpeZ)GMRthr#t|Klm;ju8d{T3Xvy=7l@=z+@G1dn_S9nXB|$mb~@F_ zhF}lMLr49hKXH;2^b0-!`opdaIuZZvlz})id9kp}B8_`Iao}(Gv-!S|OU-*FgK(8S z-NYmU2BuLc8!ED7vdP&P2@&MmQ*{9@uNVWC#|7Ea>@MlvugDrmuSjj_UBV+Ii}r3x zP6au<5i-;BthDvlU|!8~AxS+b7GlDFC#pnDcrnG+f1 zajY{fRW9Fw>Y>~$;AWu+90pg|{5c;de&z)q#YN5U>AaBMab6B)d&?%1?>)a1379q2 zYl{UCY6bFRVwYu zNmh_uh^W{14MZ2Z9pUR#SqwWK{_u+vCfM%`w@3zj%d0N3&a%qgzSRrQ@mmwHn!L?b z=G$B~z;8`K`d#KJL!voFt;BqeKO?Y^GY9zV#EicR5V$iClFQ+LEGKo8VfT&o0yAHk z7vU)jX7VWT<=s2-j%U^2nFY z1OQ4vP~uZ*>Jg>{E>&1mmFDR=Ov|6^TD46)>ubM^vsL?L{RPcZ=@ShXw3PYUv|l#V zwuDQ{eDUflQ|I&k7xj|$7n!%ekhkaXcEKR{FIH$4!OXgyd`&i|zP;fj>Wa!ZX*aYc zM`jFj@HuD>E0CCt4Up%bC83a*!OAM15nhRzav@x?E2G566vmz}x4`dg;2JD&`JJmo zfMsz0Cu=H6p2Qhy!wyT`b2^UsZ-#=cEC{^;w-OLu5PChugFFZu!T0lw=!0&DsNv^~ zJtBkD5ShXk-rJIH;@K#)6HczLtOC*bpvZW>ip;ah9ln9p_XvVaa4*E(sUBmYJ|Z`{ z724=4b1%3FiV4qH9fUgi$~+7FhVMl9OE#=1eYG0=L9HE9XG{3|oK8gEw^85^yt2w& zz6q}C-&^G#-vrOXcSYs7KD@Li3CGmKFi}Q}4agOZQ-yjrsr57bErou96fiy`3%D8B zi3oiKExK?>;l{Y$IHd4O1ZlF>$>5Nk=1G2C#t9Q9C1h24#|l=B$u$VWgx&~9k;RU8 zvsn(ULK5G%G1KPB==pMf;D-^jzNF(g=Fu!*>bJh)=WL?Pw@r&3lzvZSrZK^M>$FFA z%5$~Ln(guJ(_(M&q#}J>;`hA=GL}(p!7SU%{yu1#!zUx3#XU?2GnoNoD{zh`j761my8qUsJEm1M;f z3a{0+u*B-?Yh2h@PGE9VCAzP%Di3BZa+xiQrLTFDe@9a4kT}2UdP1?>xT=6Tlc$t z!xy@(`#rwATO9b;3 z&Pbivt$7A|0MWSzkwEfNLFV-8$PmrT8Di(L-qU1}Q_e}=q-eFs3i}R3+{~7NN-kpe zC^rg*_TtF7L1OM}f<)r-OsjnnU^HPCE+8p$yvA}3c~@RvW>}MnSWwnid!al>dtn2b zqgZufcW+J3DsJt!8huQxETd2Hf%f9UK8fqG$K%E>0>9xfL5XYZv@BJuN^>VJveR7M zX|9Au8ZK-(%itGMNmixbz!UV7r~mpn)o@k%CS27CxR79V*xcyXUVPI$Fk?90ed{>` z3!h^)zXmUjlj@UZT;W064u7olWX!OQ?e$mWt%Sllg3r}@4EKvx@}##PHCLM}(N=dJ zfMM>J9^UYsf#&L>=J?SsrRxb&UxaJtBRGQ9ea(1DJ&?N4?7$v*l(<$4d)nW|4L1rk z=7CiIWmrm9zno4}NpnBY*X%&oko9E-4NSi&O&ntGf7x#05p$(#qIp0XX`IC4l~T+x zn`u7HYsRZ!v&!o)BI$@3Z{HkqY53-AqICz0_V;YvNsPv}XwR-JYKDWk2(Js$KF1>b zHVhOGoizz*VNo;6Kf*jOVsiJZ$24smSPZ+qlIm9avpKy%!>l?Nl>pRkbdE=w2nAWl za$9vnFck0xVtyZd|xpE7(M3-X!1!O&Wi z;(O+Hp2Yc?c|SrECrl5t);xqSYX~j^)Iw9^xUFeiE)8_RZI_9Us;OSBR#9McP0wxW;|@Zl^J(fVlFeqIMKY5jtp;{#t};K?u|5b7_Tzyv1AWC= znsLm@$ESe__E(|%a({|qU^@W8;BysFcmrV?pm`4l6pd7~xjeL6dUL`EwP??BB#4HR z?p$u*;Adh!AT?*=Z}xMm8Lb9Y4Y9vy73+@n>>9M4-YBQ=bAwWNs}z2;yYNj_1MX^^`K%6_t5VtJm||Gx z=r{PSfJ=8amO1144cSh=xw$NRG<%|W;yc2PFq^uB70NhaelMnGma<_Fj}WQctS%i; ztxideVk1_44W?hrsSNGefg(|zNR!HPKo zPX#;;(P~$yCl0!*UD~69qL%d-zh&kJcHCAmyEB_@zkqlkg|G53Yn<(}3lk<*K5=M9 zMf_PQRE5k>#nFz!tx=kd7 zQmQBMQ-C8GNacMZC^}bQrTMP-n_nPf07N|EejXh*5iTY^`YIaJy}-miV#bq-xtnjV zph|t$z*!l@8|xCJJCBPtYvb_Nmq6I+_QPE%>bYn?Cx1UuIdrpyP0@uAmvl7_Cz>Ve z+%r*4MhD(^U{1f$v5|d}_y1m4=0^4H@K%+@jR{`zW;-2WO=#WAV&Sh(#rQ!Kmk!&E zkLHgnjm9!_wK{{v@E6ZjIB#j1Y_1fr@6aac;(!3ZAn#`5`4zh<4c{6#fYsY}=&$Ah z{K6q6YlC~W$=X3cd+e-(n(~FK39fJEkj(ng9`@?#@ZKqJ3wBEK0wf@jyz3oF3 z`=7#fiJo4Kk_XIU{oX2KoxiE4SFsihc`i0b!Uekyjn=%L8WHU{caxs`GCu`15;T1g zRq2-N1rl-={bDxiC#~VL9-&UNscoNm#DBp$iQ_^1@tfmj6ElFdWb}R<#6EY)kkrkU$}glIWJidY%ZSdirQjaz4Y-V}xnOfFnPj z?J$p^W;${P?&WR%89MzqUd8xkUgNUQu+O#r^J4+$maa z>qVLOJ?KK)4r_d__UveH{DUm**|qTm`d=u!H5=K=0f#xK0#{r{V|3KGzpiuitNu!b zVdV^c^3Sk7NAU=Z4CCJGAZJzyZvHNdElsC$^2vuKya=ccPQo-mH_5x!#OIf8W|*c z7)aUs7}&ES$wkHoeGA6!LQhmE(7gpiftOnA9sf2G7lou5og6 zw%qjL<{Y_kb9!(=7S4UvdMCgbgraj2bf@UqJ! z<8yXKgfd9ghW$WtV&jfGUUR>kk@{m(_X89dke&O&m!Zv#=O(SrPu~b+4$UpqUN{UZ zv-Z?ldIDcB{;$j_E-M|rd^oXih9z{3rF!vp0R z-Kqu`-Yu&4M2}ooRj5_>*Q!UmwdxzaTJQzA@2()dDw18g_zD&sv@4TSm<8HAUGa&~$c$IIlh#CJH$8+t$Pm>2%^GLG zI}`kuGwCYP?mIKc{D8myP^kaZ`eZG=J=~y$6WR+U(tLD~(yQVh=9v#3PjOJuH0RrF zm6_}Y)zWTY3rkJozbDz+NB5ELW zIK!{K;3|QcP-tIcF^yfhHqmb9h;vQjFoa&WdIb;yM+uE2IXK&PPb6$K&^(p zXpjDuZ?X5B+ZQS$lq!hhDk#qX;wE+D_0s8okYf?e1B6Sf8ZqbI*${cKl7~^> z=HZYZXy40CGLMOSIIe})u%~9W#bt(NrQaMI%UwZ3nWpSF;xpojEFG8PcqN>nuS>F; z=q%n4JXUeBi;wScv#jUnH9H)R4jj+zbR1XjSjO3J+K!|2{?>lzH*Brc8N^>hd0j zNi8f3qISY*R`z2uIM&0GDK@fB@>u#+V!ISd8&9z`7}?5Yn0V%^WtR)04J$E|6Jl3o zAs4*m>AvA9P?xWY=4HAey-ItbGL7DexaW4BoI$vWGUvMXxBdOrmM$hV@*5xl3d1|+ z6bX75u{r2pyglb4Qpa})l~iQRYdC7;kS+N&8Ba(abEIpp%RKzm_iPaNVDVW8 z(OVa%B*ZqZI`8tkAz9{XCL2#fi+CCz^O#0#B&x}8&b?B!aXbzL)ht#WTV93a~rj-aVE~IJFV7X#UCMNr#cJL_Z#Mk2w6&|TgekTWE83iC) zvz!|{SNSbtq>=rok1YJmNfj;f!cv zk&%vTFB}*ATI=jsd}lfZ&6wR^0M23boUaL43&!p^UhaEqP6==Hb$Ug^kUbAf%Nj!+i()% zu)^G(yyDb&6{u5qvV2iKz3Yo10Q2amw5s?y^rf-lQ--C|GIVC+t`z28#P^~TI}1?vUr z)O2-LGhG9|R++AHVY*U_S8Cu-a!Rpm|3Q8Zk2WRmIyLY-wcWsDR|u`*1NO#M=l%Md zHvY+#DY6)h23ZVW^V~b^8m2dt!=0ZaGe!tMo>nSXp(fpPLUwoeb24q0tCXPcp5tk1jN zKzu^pmUb5WZW7jjOb}PNe9(sMfxr;Wb1%QU9x=QlzWZ!(@1nOKfUD)h`ksYSl90t+ zD-ep%lXW)Vvl515<_4%^E4WcLMFv-^odga_uae^xGWHJv*6M82)I3RaTx(sQ&d%sqZRNp!z@Dv+Ougj+m?J zRm)DUlj_z`uUdbwn67LUsDefU)#z-1m_M=a=?Yt#-*qAQY zuC}RV^T(t}+rIhl+m>0HKhriL75h5D)wzCmEvGg$__=D=k3Zcmccxu(?cJ`E)Bp2! zWhTeI75{=Ve4%y?t)zAtOS#(Z+FHh@m84PM%rxw~8Gto*O;D!Cbj%nu7#~((T=Xe04vl}qZmwKE)!Y|I zlJWfyn@ilMZt5ycJt$3Oe(b}VOyUOM@91?v%V6(ZBw@^YR#3C*3|1WpJI0*cul=?R9yl`YaD7_se)vuv>x#bdm8 zfd~6G@+?G1fC_+jt^G_3T{iW35)@#8@8q{HU3Qz@D!KM-)r&lLwrYyBsz8<&m$YhU zXR8{h6i{rZ5o+mIwB{YV1zoM9HQSm6RuCPV;CSqo{Hk|LMwHnt8G31^CE8S>ftP-{ zM?-Gt4IV}R)j(&UL1VgjkbQvQGiyLo=d8#;<9FR{*h*zXpS#tb4{{Y~*lif`M;<$Y zq1x~ttOe4JUhBcXXoC>e^Ded9FjTHRM`UP^MnnVWIcEyyQ1l9 z5BhD|vK{OJcXhixg3OSPF4O_Z1+fLePd#7{bpuNpI;i&R3RvgKwP!;Y@Z1Tl2f7;S z5!8`}7RZR<`>`^fnPTf{>~@fM`Uld`*V8ln+CEmN?V#7LHPTvy3-W#!EmrtuzfjMg znueKSt?Av;^S0cgS~^s&JzLt!b7xBzcC}O?`4 zLRH0VQV=pcqBbV>ri9(fNED`IZ#eWU+KwYcRBp0(ytMshdmhVGZCL2nL%Q`t`Pv%G z2Iql%yo1P_{Q>Ja*%St2o`;PPzRNzy(xVCI+-%w)$1B0u5Y2C{AKn^>4H?dfMEDjC z1b>LBi9{hK2!e2fksQDLnvfwA9y8PQWr^L4#;L?W;gEtgxzK8 zS5k4n+)NPTxr?=Vwsa0K0DxdjUBfNT8ylT!nAL8XFF3-wq_ciXyx{DC1*8oNSr%1@j-F zXr$5Hp7%Yw+EH>%invB(vRi?N6PeoUcrswG$J6-Z!V?1(VZ>YTo>N)B5Y2$((>E9az>e!`lw7R+#=KUL!MYI{W4FfZ?moyHpzoK(sQ5G%vcMLn5UnM^egVgf3@qio_Mn5Qxl&F1i7_70=u)(I-@MRQ?7cjLk z-v?<_BolnH_tKyk{qNqJBjL9>RJD)(1|3uTX#04rx8@NT#Hni!kryZAL3G`l`~_Dj z6)mB$RU@H>sFQfD2{`apM+UeX%e9oFH|1m-4FkNl<~SCKWNdaZ5rMd~Zof)-tw5=> zU|5;;kAfw1#mp@zw`{-Jlt}X5R75*Yq>B?j`HQVK`cqCu#L$X!u@Ai>vL@3~zBNL* z1!5wJEKZzkp>p8mX&48XT#BW*bh8ws`&L!wpbe2aT({~wIVgpv+I=gl@!XT@sH-R7 zH&=XK*~FT~?@5Z5nKpFKjSMBK)7)RWj(e^nKv<3ZXPTNO0 z%qDD6l-~sWaDKX)P9M@tualhp;z7I&ds4*r&W)V!dF8XbAST9nwj&k7RE)N6`h}y+ z*&#kmrP^bH=RuO{>gVV1aSDfP)7K!9;gk~O0SDx7<0kEet&83(jf_&lnlO}S<0f#X zfn>o)u&w5p!lWT!(YnmStEd;VLiPdMz(@+5$@V~`Fr&39+7U=MCT~;oLd-OSVmqQ;cVe0%s-j_ps+yxL$Cwamxo zV4K)J;No*&5$dX&a9f_kW%yP!B?+nii4ocW-VL~;LgC+_09T~TI<90%K5sOS*o!(l zXqOvDKf%zwI1d-jgal4#T?(1yAq(hix)c40`TbDb>q`t0Q9&n%I&R`x2!9mI{T_;6k4g{{q`vrxoqCvEkKpHpmQcM9 zw8G_T`46*#^XJz#HkWBHtRhHOX{3~wqzWsuQI_(0dBaC5IcFzySQl=7B)FM`f`gZe zuLqU4?VwnjJ({@>{M_S4O8Bkg_$p$f!Qt1VvH;0>xo&Q^8zo4}N!#C-@Isxq_MbQ# z#kietvTpndT28-ni@41VrGw6P=|RCOb*=NE89P%5A3oC)ZDR)nIvxG6G;&>MKS+~q zNP4Clc;BMB@OjLzPxV6AcCkpQZg5)dVwz>T!CG|paZEq8I`K%S&105pkH#q_Xyc^c zZ0hb%zUqlF0mOja8gO~$X3%BaV9byuAqi)U(PrP(|M=&PM*^tt(WCE|M#gmZgYigY z#$!*{c$`o@Ip6LH>?S!F5MA3Y%;zo^o6j8*t?oM+f+6_mj3+Jl8ySviJ!wYcJ&IAp-YN<2z`T^`aPPf$xW86wzMq#`4{++uz$zPdj#F;=E&jLRpSG(8P1aA}J_ zrV}Kh-n|-k+qyH39na#8B`C@7moedX zx|cHMSOs%zwN`hhjhW6jk`j$nAkk|fyX@|Ny^x)XS2EzjJCPE9%g9sCWDRc z#C@1}$_YsY*a+Fn$O5phge!sy3R+w^-sV^Pa|K&Aiic6sM`Xz}b3h#p@Ag}T<*^|@ z_FI*TkrFfoD8+)O!c_^n+8oaZ(pp?Gto1t&Tpx2?3!?ao2+aE|wmhJY5sFHG(6&(+ zKpC($vIJq@3u_}LCAx`gD%Y!i=U$x^2PKDqvjr|=cCgN2BgKYOA_de*R*HH(x(Ks*f&^)3oMZGHlrwwc3IWXm4%*qPSr4$OnpQ{xrm#PdVfI_|hk*^a z#GX}LZY_}{Awq8J2Quio^>k+JA#UoJUS1aJmO9eswwPF5c)8t0Ug4-PwJrha6sDPW zRB<$TV}Dce#e2NiLGHwbzqOI+Dz`A*V@t}chnJ8p?5Rb$67u>fdA7@ew_1cm!47dx z#N=(fx>WF$;g+!HJ9tKOiAsDOaNJFB+-W#&u6nfNy6PK14f>uQzDg?`@Y?=w%Z%{a z)Nv)UX3RSX&4IVY4sTiwaHn-*y{J243e?x{1h-NLm~y2czaw>;7=e()Unym?QC$z3 zk81m>y-4OEJuUnI9hvP6SKmgSkMi6Ku(?t$Itd60i6n!}D&~qx^=_&sxdqQWr2-X{4jvERIb7zv zm-rTA%B)A1P`DA=h@FrxUNuxri!v)Wieup?61?(rk3NxlgoPBz911yTG3Z(#&M5!g zh}9NIMkDs~f`sIdYL!nP0TJ|xNgxZ|(xq-&a-r*M&@TDpgcu}(m#dc9Cwqn|g>i~kU znE>Q*=Rs6|#lLT3RF7I|r>PK=Xvc3}u$%-~CiQBk6afp1| zUxc z3~;-HYS-^2ar+)BRA+fBc-kc`V_(9{_vPjLYS&Eq2jto&CnYogKla`}ysGNV`_F-( zi3WFC!KPENX&X983vIAaiG^v7p6EID1ZiuPw$=vY0JRz+1hu0LkU-`1c&wc|YFqo% z>G;gF9a~##(W)I2UISF*#RMco0fXjnfB+I+l#t)&d#`c10;h{V3IA+By%>N6Adv?E*iI7x#$M_mcH}2HDQQvJ=weREc^p7%|7cMYFBiN% zk7!>*;Pp98S&0$j`(d{qa;FUdqYtSqJZUhUnEY8Eng;-Mnzwj|1JKDIC|`OP5DFkD zq|R^pArw9&13VLBFL9um3z&Kh*YQolEe4@pKZJS>mzl7@3LuIvQ2G@#Yg^~#0;gU> zv7P}u38`k_=`~zHNg71oVp?V8-ooftono5i^cmc}odKdfx~HiHM1x*$E3nh0qNAz~ zM0;~L=IZVd?shj(*o!8ycMa79^D`tT&M@_eTJB*{^lSupAqTaaeF*iw?SOzsj#FpW zaqCFV{7+MF4UgCPe*^Ml-3aQ{zr|l~^0L^7`?MNTH4aeqB?gmylIlj>XP<~R)XgK0 zv>v4Wjzcuus)iBHD!fkhwfjw#wW(|qe+X>+q2fkO2%xTXdQh)^dFpOHuz3Jh7c%L< z>iG^<4+E=Ei||AJu$rtRoTIq=DyiXSC*M9UHX4i%vy&;_b$$b$Y0*mYMHvcJQ*LLl zO%wzAQM;g84nd@ z|FQPzpnZaxxhgBdC984p{muojoZ%mbkHKPZ!RmrISWhIT4&_;2sHT=jN}$7=zr()P zrgS~2qTU~jy^3rZgcW1c{;T7Urp`jfBvTKHser3ka`2AxBGp@|LX?XIL%DZZV#KE- z)xFGdu?XX;DPWf^8eCMU_I90UKCiktOn+28uX6(>2hgl>C{G zwNWn*SCb@Qaw2`LSc9|G?lfR(EJAI#8qI98MblR?{MY_)fLw=UtrZwf_^o{H15_CH zMLMANP0+Z*dmgD26xRic+b_QC#weT1Xf)qj`Z8PI*{4%T*9#eWb+q|ZE)q=R>kD|K zt*#(Z8wftVkaAW>{g#T7Z5(U1rQRQWww%J4)=`bDNHy(}ujW+HikPrafEH03ol7>+ zyK;i)3lYyZBh3)+;ot%aaH}3N{;1OV$=P;`VLaF_M6Msv4#M+ci}k17m5C8gSop6S zK=Q%(`SSSSQ`TpVmqBhhvb-VuF>imG9gg=KTIcW_oe0L?FC2J}T|nkuX8BjO2sx~! zhOoE_w(;jv;+H92NwJ=CXW*Q5s|d-j_G{f?jMt;xfc!aMdY&0@xd~ioT08w2D30 zi{LW6+D-k~8|l)loxYQiGrr9KgtN&oD1&S@br?MBm&-i$Mld$wUfXS?E5*#NYSQpd zxd$=C@fytHTJe;vQf(Tco_ISq8TO8D>em$AtIxPuMIh}L)x=J2!ghqDeFK~C0VH%! zpNG>9f3Jhk`Gx^^nRUq;i79=}@D$#X%MFWbEtP8mCux6Pel&0>95^Oj&SgNF_dKrW z23aHjd7SI&3i#6djcH|VtmctCeZV@_8rh+NT0(R@W>dx&H5m|%URI_(E>0UJ)+BIn z{L#Q>>es1$i4uetV* zWvxEJ$&3vSz~B~6(M%7@s~&^|X#aaa+5D2h@U_WXwt3<1as#g>TIt;%%l^Ib1vh)k z7(za0rRL*KJCL3;+CP{P*IqzcS?A7?>B*^v>wpV zmLV-*VXek(bj2s7jdU37#}|XQMLFVE4?Rg_{~;#_;f$pj_nsE41wS>+FYQ4{D-EZPt8d0g%?*`RMiFu+em8vbnVARsr4Yak2 zT3+$`nGu56G7ml?1JXMA`rg-kOh&Pf$>2Eu%b4smNK0Ft5tS5;H-f|)%l=`qk^UGw zX}Fs;gA-Rwbl9OuHh71~z?C&cKTKn@alfJl^U$$cc=`dkokCQ4Y# zIk2TZPa2B+6T&nn?|>MWwPaSXbApONYnkrK8dx66FmlKGwyL{@?ihGivfiaSr8#p?=3!R9Kn{e`ov?ynDa(g8?<+Ct5A^M3ebOZD#^Rz1J!hdD`w~Up^X`oS z+W231#mVt(O(L7?!$o5$f|~B*qkC8y4;M|KKq|;m=maxsbYcu;!sR>ZpqNoTBrGnh zL)5r=XNx0c547%C8TVADpHWq#{mibAl4@EZHPxzG8DMs;g!c*9^d9%PU*jR4B^}A9 z)n(PexDvb_=B_|ami2Zf%za!)d-!>!N*6U}O_o=DN(IA)Q2@e*D`{P&f{`Z?C&0iR zCz$$C59$mcz?U4Pe4M{-v?{G~t?PJMMMB@5+d$SUurjio03+j;>zgbX3(8=0mxbPv zXMBXcxM(3?=R_R(Sc+{>gIf;QK=+HYynENcH<-$o_wTWwkSJrH!sIQtNVrvcf6{o& zVM9I!gCD@1;9BgT_t*g2H(tpX@SqakX`p!EXjYtYd(yPf(4sLp)QBb?E;>kGxE`0q zwS9cwr;w!<7nSlDmMLMsNjmkOhg+*@3j5PYi%lTy#ZFc0&xfv?^le-p*OBWMj%<6) z_JSoXaJqBEurl_d-PVA*-#0rW+C=dve)!@fdAhLlewuW!Yizx?e-_`U<vaI!hyfx9zMOIazM%I~ohK%EJ^&gZf0i;qxFAt{ zB@Bc?;@QEH4QWXHC1t{uc>Ek407KkiK2uq?NpQH{YnTKVtB4K2;a7pfcCX>%l!Rd` z1i#V1>jK3RAN~$|4LRa^%i08gQ-QyAUc*s%S9R&*|6hT>hBLum190;HHv9otO$>UZ zuPGQ<9V$cY^Oh9%L!o#99}1Dh1cl-U92Cw53V#k1Myi)QLZJgfAy;eU4ah_&?jP+SDqm0oXJlyAV03#4cDuTvCxu}Zzyb*_`(zm46DSKpuj0Z#POCq>(7Ik)^Hh;)z`!V zbl9cIbIE8UJ5HGI$&{o=g-nv3PVsw4(xQoj?Kr%}`M$`FFBC5y3s;Ufjffh?De4Y{ zimAApp+KUX2o{r(e&usSRrC18KZYAc;rLH}DWHizs6*QF5^^Ev!tr0JG!*}55vOo$ zL=o-X9FBiyl3ZPo1gLNJ0rP@E2C0)^O`SPir43GSt{kf8c`czXhmb!;(Is&_%;v>t z7(iZA_7#cpKCaj(qnq5h^c!QI<6ILu>{(9mTT!n1>ZYlQ5pfB6Ig!9N96%x%V&Xx* zS!SR`Hy7QUwGc6$SMZuSiKQl%`~JFoJ8~nQ5+KA3F)WIWVClbs%k>D}zHPA=*=d!J zpI%=+P9+*W6uKMnCegzMRJyrtcqsABz<=p!7Ddgd0-@BrMhNn#B1laa=IO)_mnC7tFiGJ!7e5Jj;p4@Ikyw|E zAd3?e#79tryeb0<;&7lX95@gzdsAVjUNMnNtZ+0@FI-=Hkcl}^?Pf6JpG=%e_t#*hzkYkMy(6c4!1+=Wh9o*bQ0cVkw9Vi5kwFamGOX08YAK|z$FOnU@y zt#rCyEnT4!=UrKB+XU`po4^x70nzGT2nDd-Sw_>tZgZ0JvSgcpFR0;(8N%;3oOsey zx55mC@wh#=JKxz*5h113<<8iy;q?whT!HOSewA_a*JRs?9O6Pn*MTclH*udlXzHTPevhUzFs+>pZ{A3-4g|CZ0D;-dX&noy&-P`Vx9&C;D z9fjuJcDH(9KCI5Yja}d)sokxA9O#eAL2F?BV-ccsb{b z%)O0Eq20858w$n9^0a%KDvGhN8hWj|!5?ZP!=V3mpd=C+zUnh<<% zw{KtZ4S8O#lwn|U9MWW~=)nQ)-R;HBj>kK<%7(Y-Epte&ryI+;b7_3U1H2T=p{&UK zaAGFn?y`0w)RoV_BK@pNnW=TUqYu!B1pU2RANBp#K-)<=!!}x2L+uH+o%qexI@%2P ztvTpQ>c>8S6I$}`4OyePUqi@e?Ep0W<^?_l>&_%%z(w@N(u?#8EQ&rKxItNNJ5i7Z9gXKj9jF9#WjJ$?B zshnm5(1=zwR|HHcCVQ{%Jk~4lN~H+f{TSKiG-D=$VH_G3!=K!_e!@tpH6ed8ky|uL;ro6@9W4zR7Rqz2zZ%XUaD!i>7 z{h$>cXhr2ztJ!PN#j;51>(b!$F@YCBWazfm6M94Jc~XtRDZmk|q8+_tmQy7fd`&R; zy29X#ERH2>%wNpGSF+f&M|DNhlFy%T@`VU{CV%kU#l|0q2Y5IBK*;g5%|On8g$ba3 zGW>yvhWG=s*j--aBnVmL!trMWR_q9Z07t85mKskGir1ULZc-%vXWiC*pz9}rg&*NU z?7_nv`xydV$ZSI{vp=gRoQ{xju4~_X#~{qfLDPcqtwMf2_uIn}w{{ zUP0}X8WycyKmKUHyH~WNMK-gx619lU?5GyO=)soON>;Ft$QtQG=C zeY26MUPVE7+B?1=Qccu5JmqoH;-d=La2O5jN#DhG3M)c_`d{L$^)Iw&jE9G#R=z;6 zN&IP(*osoZ`Fl(MR$f}sqHG?@_Pu7CPZ%??OI})=@X`vO(Mzi!_)IxN>HBKQ&8KFw z{>)cvf^S)pt5!C<8*$ZYlB-s^?QdMNR<2qta@7i}fIx`X6^#%-iy-#+3V!R&`LTg8 ziQt~^S7`fV5g3tOP0<8)ToBs|*&Nn671uY;ky;l<3E62sV(Q%#D)#Xsejs{rVYd)DT+ld}_bSdKUMrVX<`+7Z3nZf6it z2KvoAhOHkd0lAnEaYT^lmAQZJCi&2Iw}3W!*NK>VGuVr7J{U9PE7P-9e-!^`WE6jt zt;CjWGK+z?_yIm$eS}WNhk%J34fW~hTJV|MX8KKc=P&eOE9TxBEJn7?^e;TJHoedE z5<&UIz7fu+p~Wzs`rc~pD#P2j!BvO5+Ndj}qP6_7Ng5}tL6Ict&(X$IqN^@hZ&*-J zUwCC=#3cDxonsWu~%vZMG|?~1<}k$ z%GP=fKcHy^W4;3kdlE76r7BC@j4Kqz({g~#*6@^%(^G3TT$U7}n*qOsv-OvFn7LvP z$~NZ=CWs??GYWq-i>nJR)nVjflx81yb+H&?5_DcujG_R?*@Ie7@Ok;h#Q-jh7#tWp z6yU`hkSnNX)U95E@AM(c-}QCRY|g)EkiD@EeeU{!WM*RBTzJXf?3 zu;ya9mi5HZXPKc#(PE~|eLuJaKnTX8S@M$_dJ?mzk5JBlMz|?7BkXer$$)&6axHz( zI<}1|nJ8tT$^@(8{4{y*!+tYqta6X_aG?4ys#EQLAGxF)azUje1cN7*=0C=SwkG9? zWkJ(%#Io2Nh6Ci0)|(82Nfy%GDA>yg3nQWKML{zl!xz1VpTRqTSn%htV5DNjQ zK`dMO>uqyj1i(1NB6UlTD)j)5{}sd{0C6DTEmj^}ACTe_EagTOg-u39sj*r@$CqC*5w59jk1Ci<OB-2h+>2FgfTz#+y@oqk^Q&Xnb{Rpx*!^psd$%Dzx&4VdBgAtQ^PPXsCG{B9aEg(M(bOwawdoF>D z1t8umAa4#iCW>DrtS_1m;BOo2qvSZx9TUS1yXDtO^Ui1Q^@(%3NYc9Pq#hk+Pz>~ z9!t~ZRbNPi{{IAR$&ckV{hz@jMYQ5>?>{2V|9{Zkz66?1Cff`9%A`R4~?N9ytu zbKM5XPzjFKZ>P?SZ3sSB&L=pQkB^^&#Gj{7FZlP2Uke;cCMbJx!G{u8kqWLIUnB0| zYgBe@!TS=oQ`DKtrSPB?!txR1V!f=RXyewhJt6Lj%(ti*J5DxWC=dNVc=uKa;6PfB z@PhH}LSy?llaE#UctqDgy>PV98T{CW+FI4L5}r-h&=dVNrm0meFx5=gcqFsNrx>Gb zQ16&4^2B92cWXVR+7W2FdEaaF)TranP;xqCW)#tk^p5Hh=+hREokF#N%Rps+JQw68Ovd@|?HoMj?bu>KJBw2n$JgPo4c?Ne zcykJe;TUIg9u91$5Ba{KI_`lMYu-lVcobu`c%?OR>G7VjZ5St2@FK6PVHexM5G!2c z#^nLJ)#v!`J*RF#N#Vwg!$B$pe#a^G_FKKtqv@;WM&nGq;~dgc=u@5zUc(9y zE<;TM_Kjqzg}#aH)ffwlk6QVetVXWk%#`wFaM$y<~MGO7vQ+~t^tRHoH ztIaoUsZU`n-b-~XJ0MQ222O3i*C0<<#+01Pb&%}9A$Y%e?+fELx6rB{a{O78QaHA` zaBP%}aL?qL_MvKHDDWoJ2M&-S1KM*?e;d8xU7A##gI0Q(A$Av_)wL?z>OJBWwT9LM|JD`~zCBD!^5Kas7g zO~X_i^u-J7REOWz!@k?kd=w_>=TM{6Y*IN7(e>Sa3@q_#yNp+(tF6+rbZBQzCtLD% zAZhI4d=`?lUFk@Q+kIrL;g*D_c4|A(%3g|5FH1XWC| zLDTnvCW9|vw=X$IF8zl8@O%(h%{H(q1+4BenZS4*10w@4!Okk-Er;KR4}0qtoA8m> zAs`5n;&tB1@g!Z0o^z7Dxx!=Qkl6?ZJ@pVkMg$|<2zONeHo`jNj~cXbCDbUDfl7sw zHgfb4r!ZlQipjp~6cT?zYbVQ0X*jmkP$2}*H7MvC^ZYOehU5N~6M0zZ=}7E|f#y#r zlUtAwr=VLe5~yy|wez~ELGh0o_sh}^2DGc=0?Dm_e~Z_k)WSl^KAvMijHQG+xiH+? z>$|Zca2P(h%I&Zzsc9_ ztN81Y-5ej;#l8OlTn9#TxK5&k0yy{MI_$N=bzc47k`5`G+zoZbq1dJY6c!0B3SjrwO#mYooQLaGaR zg4$=~a%N?4IbTR~IRsT?ZAf?%Z4r~>)0TJgIGctH@Hj8n`Frp<$Z2UFM;q;6M+=gF zgEx>QH95v*N@^{ICaFmpJF}$LxNkP1*Nx$fpo~P!iz2yUF1^|bXfDtYt|rJ>X4iH; zGSO;F&nQ#)b*NFVpKKBuA&6kir%CvdjU~S_{%^lzJcIGapXSgXamaaTVBYWYzUhRr zRUoGjAux~;q!7iao~Ie`DK7=w(jWG$e=__RoP;0J(jWPAPNRV?80iKl(c#uJTejJ0 zIKf1-7N*VSXr%wh`xOOgnq&((zu;0{vlC>6y?MR2w1W3b;>d}$;j=1Za#Yb_sGHAr znB%!@J&?c4)WDx;G^?ap{w{}}F6aDD`lGERGR_MjQkT-P(f@Je7DDOu(7gG(bn(6> z>TILkY(tRd@uCg4?ec!<#Gl9QREGPflLb=Km0K88hN@7SHU$r)H{?jGgJZzcs@Pk+ zSW5}4S*S2L$Mc)h^s;H=r^VuE zg}BShyIZ!YUb%^wxih_$5uJ)@SN;piIo>&-v8}sZokVLA&wh$NbvZdiij{ut9K~GL z>9Gv$oLM}5Q6w@=#2+5z>h!p-Wo`KL z9QOTrIMOB?xXdA?fEAy}#vvuUh?i5Ua7$xRA>faa{a{_y_@fl(l&${mr6K24ge}g6 zTSB`snax!r?pAmu0RoYiNU+spmqLZOqY#-X9c^iKYFRkp%MCiJMhqXV_ym3!A>!F* zG1(96Th8KZ6rJl4F6CRYfG(E$7qjImKp>g`a25r1PLJ&!@DzvyHpwp+SChXuSCd^ZmLOXq z$pyl=EYH|@+%61Y%DzJ7~m;`BQjpf`N z3iNVcwj;^ht;pWJvg;#iQ-??cI1jGpw09G=uqpIvlQMtm%*^7VeL@rplyhUapJ8;%*#%4;aFFmFD5chik4ZiqDkCLa_E#9tmS36?$Q(Oium^aEjZBbV3bmW_~df(rp zEFX!hJBj+kLcTC8#0NPifo56QE~cCi;B~PqFzyPw!LGAF+LJ41NwR2M`B~z zM}n+)(dsRxn$NXbQMa#nKr0WJO?>s}Epm}K3v^~m^#a!PYOQ`)mN{i%{UFnyvc7FM=?771&vXRzm@HaXZI| zjdF}|fu9xBCRnyvjuBt7pf(}a3EfD|*c$CEQH~F1A}l2}L8%-M;>-lh zk|tq`CSkABL_YV1CgEoDJJ=aJ9!lKV=iClDLGSYH^nDLTkjoC2OHxI84HFfLfoJY8 zpXsRF4#KgUi^Aq<5S2?^IB^q%75()&RAr@{W1a?AOClnShItwsG~{ib2GgiZv#$tw zGhKxY1VXt}POk%|3N#-YBR@(DenO-ap-kEv^HfJu!)3;F^b0lEpnDY`$9xVPqeE&H z+Oo)fPPow!&v;$!cTNpA!Y5@18@mG<{1+(f*~3}wOCq}{w~07t6C}Eeh~na-guDk11g$*6VMx3Ac7o|7i(@69lJ`D+kMEjn}{?0%!ME)2_O!H&Eqz zs_3rRDdx<%6sgs8^@ZFRsQziHQ|(c^O|(aCZPn5svXsR%vZUv&q)unNq;YG-aKM}z za9ctYqDc9lskho9foIUm7(I1+tJkm&ddO@OfLQCX$A>i%o0H` zC+19M0NEto-5!C0EKg3|Xu_6!r+=jsD}cy@=w;7jOdsR@myGH0`b;g&V$<|UK)j{^ zx5NQs`t^!bE~18j=x=Ze#b-`H{)*R3qI{0;sF)TGMN&^PF3hy-+hVD5eEAWYJIH*l zd!$cOIuQr=Jy!B?%&j6g0?|-XCLb<6Vj|_g*%1Yk5TM0Bk_o zhHmHB&~GmKD{SZh>9?Bz+tDj_-vVvTjO|6~nBm@74uyUBtF`W~P1Jij3wPB7g@ord9n3#&K zd~*mfEQiQ~*wFWn-;Ct@zQi?@@5hF|SvGVE;SLD8@uE0)7#wWq6Mo=|wptMaux#kW z8=m~2K(^3Dl9$l%2;Bf?gd6s88pRlqJ|5v(1XWlM*-XTHQ!O;z-*3Rf=^A>XzsBWi zR^qH`rfWQsS%bVS&U(%k8^0CV%QS$>9M0~twWgtiPeOHhbJcpRK@OtMYvdDD(;NSQ z_q;ZR_Nit!PmbVXzbYPAul&&o!5yo|#tlg@Vnp!oGXm{KqcXO8Jkd=Ehm!V85M2PP zOG*ecxF$Vghf$}ZbZ4Q;`{pg0I)6qO5~7?yC^39s=DPLka|HAm8o1WqzNRe|G7zCxI2^CEK>LwMH|)1jIk zQMe{r)?Csw_3LX7M#Db!5)s7E?FFk!{y)$tpAC zNSbDZq2?>N?7{2r-TnBeP=BeLMND3qv&Z1sti5H^$2^KFOP2a(ee?=$`fjx8Q@oB{ zOkcR#_Jy%_TOOk6njYq@3lu!oO=$#2mL3Yn z*k0?bt6~>6st8Ef#!&!+j^tZtu=c{e(?~R+Z1FS-OCMIinL@R!fHQ94Vo5uX66$13 z`5`Ub|I;Za4F?PNe`?ChPr|6zGULiqB67l1uw3%P_`x&|0}IN9x$&fC{O^2=JN{^q zz)Fiz_#ZY#&ZL-W;=KP|Oq^-a^G(^O!JryjO~>HLO4oY9YTe_B?$fEfF4 zR?C&rhyKi5vUTjj{n)$m$cWhI09md5TSyUnVryCc)o&BF17sK(X z1sTdBgzCZ8MNEn?tl{_%jYd@eURa34Z?FagxLcsObZNt)bh2d3npp~)GL0QBvS+x| zZ;|-pdRn{0qdYh&82`DNLGcvr`u(MjK^>05S_VS+sRL$A3qxyB`16r~;*>diZeeRZ z!ITSNr9$zl{Hck&U$ZLlltcRbt4xV#rM#v8ODmn{$^XRmc{3(P0|XX1&6s$5rZMr< zAY&pi)!q&Tc5B@atKD{sqL)C)9!Ke0gD79Kk;V%^7Cl1kDX@z6Zf+*J_b2?{?|#^OMtsuo=KXR=S@B-pfkYxNkb3ItY@(62C4dxJ3;q0#Pl*YZOR= z&0n{b0<)63lu?kNj`_;?5nQw;Yas|TexG19xM-EG;!6!salMM)cOS*^pFP6A?7zi8 zZ&BBW$s4L1b%N8$%KkQ)sYE_oqBcSZ3*}glLS`D|MnQauHHVs^>rbC|aDT4>V#TE9 z*Ye|kmJZIqzM94f6%mS0&!>xw1R*GSC%eKqFNc4hY^Is=vNy3jy@KWGD49Mup1xHY zfP`q*tkb?sM4WRFe4>eLvt!5P4db%Mb8FnOU3jl03pky4gj3vp^?{XvBUdGgeu11p zqQlqd-BpPR*}+8KQ2c4LOHT0OwY-=k{7+HV{9JMxv{c59q&CpoLX=6t*kKY+MXP`F z2+syfwo7xEZ)!qJatI58d`MGo9o__-5v;KykjCdOu2w;O#C=3Ezhf9rv(b5T-E_WZ zxrM-gOu#Ja+oagH>{BAf7rU0K&Q;`^` ztPqby`c@^CeqB8YXR6(c`u;`c;pu1AxywQ0OeqZoc-Q-YH&bb#fVkTx5Uc<>e*o?} z-vM_k1$QAI@Q63&0525(cMYK+uh4>{bUj+4uHI>&7ZvD58Ossjc%uWo8;hp(JBVSjpGhG;cwCoNhRNc<)#qMSex*a?QsClr1mG5Pxde6hE5Dl~~M$ps&3CZ148ua!%>j2(KLE#b^8pWi@Y!W9ouXjzN~fl3V&6b{SR5Kg(v}_Tao82 zD+kWHUZ=AC;;_qZV#`Fqn$=>IDOOvnf;jywVPkDy@?!ofmUMdeO4RkgO5rS`)j!o| zRK#}aqqJ@d^+`qkC)rV-^f3w|ioeQ6yvyRDzd1?ozh=E>>*@RdXL}FZoSusNlNh}W zo#4o`CaL}C?;vU|Zy9cR7uORJwQDB-r$h}#2^1uP1_>O%EvM5oR`e*JuKD;Sja&Yx zVKk~H+)~sP9;2?FM%D`7jjZMOleL1b-IE+{(OyTFPgP(9?WI{GVQJiwEkCks)|+fu zxXL8dh04TtebiF!qZZLQqH!utsB)}kVwPT)2l2G@s)kv(WtiptWSBs$Q`Yj`ypk0} zC0+pn+CILWH)cnwap!+r=JuKvp}A3VBat_)Pby#CE^S~2fo!7yOd$Z1x6JG(Z%7caYt_Ga|vORyR-;Wdy90`r1q%5De>Aq=y^-HddVZ)Rf079$f%SblK&gNWpJ>p z(}f!G?25p0Bbz)2*=(x2#^9Z=J)f`opP`y8)S;2a6)aTp3(V6(y^KFnQ~lth93z3h zBqeXZgPgV=dv9_&eQ*FEh%vV7Ye)s0X60%MMVkQkBBA1Ag=a3n6DFaU~p zQY_HV@g8S0WDO^2?kf}*sv7eh1cyOTHirT-JqLYO>|0z$18-wf{VA*<^E%m4-g2>; zq!?iU${lmIfsel`F=A*aG4_1GZ2mcNG1yxf+md>f#|n{=V<$xD;lBtO11QP&z(JCP z=fFl|#iC`W#EOAXVlAP-E`uuFqoe=|0Qg$K8KHmiVNF^-BmVF|2~pX9AWB_QM$C5r z&ci)t02~Yu{qdt3_Z1_~X2x)*+X_9WuyePG<0nk}g!mKUgyOTw!#deqPRV#rgrmnv zj6;U)H{&MahKE|Tx%fYd>t{^U6^p63-}2D(gyVB^!b2_YT-OH*=`W1Y2m-3&5x~@r z{$Fh{DljhK7d#X+p*F&dmH3!3cXL~Eu4Kfua=lr6o=F1YhpSf+=p=$Lml!p4$>#az z5~NyuBzt&kE9o0&tl-AI*_?lwjonpn$HqL15rInjqOn!cSbK7>iGzXx)Dxe~PNx@t=uLxx;&&mEbkFyCpAZ+%=Tvw(N{GcXd_+5REGf zlL}H=5!(*pMhI&PKh32~XjxI#Ul5&*-ltWxMKE*IOQ!Nov$7inDA!YFK?R#bct27b zO~d2cu1rk0*CK3mMTR;DpT_+G_C?S%0nRb5ZL1K+xt8$mV1v5aW2>`mr`Sb~xy67x%kP8Nc2?@wtl-!MsejRT@Ybv_$Y&BGGko$EkSEP5%~StJH0#bM zbjRx?og*5J{u)tKtu7^1IqU3Y%M)WiMwKcur}pMl1oletxy zYri1QIGVWOq#Q3R_^eC8K26z;NnxL9!ajh3FS?r;FInB>bYvYDTpq3OiJ=Rg5Z2i` z?{~sFTjwqF&JD&kAVF4^9Wlg{_fg>;9E2ZVJF_tfR_ySeS{q=$UrsRaVnwWXpmV*K zFCAML>09X#&+=$&TXJ_l;wjEVJRj~h#4{-q@mv%9O7QBhe3_KKAO(dKGzQ%8$^-p) z<>Uw5^eVQkpQD$rB?9=`Nc;hT0iP|P9sS*nCW(#tdv_eCBXhVbT;1&K$(@w}0{M;j zg{|}tYVs0!Lt?KmQIPW`N9Uhsy2wxQ7}u%EN0*;nhs#pU`};O%+<8qKFtSd2cctUQ z7S_Q^Bk78_169y0+vbFAto})3hSZ9K81=U0dKLX*#1CskTJQ^h@zw1|~@n z@?Mr=VdRz#Zl<2)XftHnIlG0z$30FN%CpR=l20;5@N;6@{Hbc1{{fq-JE_Z5>3sO@ zoTomcIqT%jL;70$Ig>pNBq_y~tp*U|fYg7frs{a0{wm%)q_NANDij4(rr4V5o~=^E zv5qD#36r8n2Dk*`1RPEtJ#9*^4aW|p=Ox^@4@&#R!8V8-&}@*{z`;@>&QSar zA<9sE#^m@{Cxzn6j7FP-z0326;KPon2E(bwutgGM7si7{G$15^C$uUg@R5tp&F}j5 z1tRn)m3D<=uk)2nav;Tc#8-_>{>5f?w2oSI24J>4$Gk!j5YW^|O5w$Y5^ocC4TDv9 znHfa=&{UZSja0tj`4?(l}Z6hy9#_qCno%w~&N83COI<5dc;a{s~l|w-dBQT2&G~pjBnVF6m%jwN=vR69Fe+rY@+IgB_fAUy3ww2fW6Qa|#CvpI`yDhka1j{}+u?Xv>tTd3yUY}TFuGtntDDRzqSdL8bdW^JCSHLWI8f_8yPlpJQ5Zh_5y{da!oSgdibBY z7LPQEu}WjCHI_)Edlw-}ZY-LvCVx&XX2@IoH#z!HsvEC?W$!M!9N4B7!dE6j(v)d4(9_|EHYh5v1(j|day>dF0@*mI>+Kq-(FN{ zmX&tc`NvCs4FU1-5`?<|$YUNaeVReE2zh0>SFFOv99py3ycDen7tF%S1rS^!Ld&qCD65o#vR(|`A zbh(U(a7}Hs>r|q7SCbW32}#{CP^sX?Uz?nlaw=rOY9$W=#=%;DK$Z8AU48qmGF#roSl5TdH% z1@W|s;`5Okv8d}FJBr%eGh|_J^X`7oe`Yq|R~~VG8KBpN6yw!>3|xTca6a%^4g~h# zrc{n@jNeMGab70t64eex8duwW_}+3TJilglf2NlbUI*7hph2mYf>K+8THod`B`>EA zWs#P&1kon5=~3Rw6Ho+u0%QfsBq&fPtlBBbMG)d0%I`?9I#S!b2qISlNcglTvx2>Y zr3xyy^w=F_UO1(jmNG|KsO^ojWZo6}je7MPXhf*FNk;)H_QLwY zrT8}>g@5+Ls#Kv;cO0Z0)|vId?;ZmH^=s8@t&3IQR^IQwg`H4*yCpDEv~ut;{_lqb zxjQaEa3ayJJfYP z`t*h%y2tqxji$9&rP%4#{npo1*}C0fzUtO(dP&SC_Xb{rAm#0_5D7QpEM|RSa4gB9 zwz1Qc+M_9&S0iWcfd16) z(1*;XsiGihJV%$eXl`&s(R&nte{fgmg|QmjR13A5Dp)u*<|jQh1EXU-aU-!}P_yss zfW3Q%D*gTOaBN-^uWy@YW4}iY6Gw+P%R4<_jZFj0~XYPrpheha*X&%}y+?P)fmKT$`TQe3BDyX?FJJ`ARec%G56t#wz%L;pmD zno&Puk-kbzh+Id9Pm7HXBZL?yz)J6Yg`Wfj`SbY+m60{Gw|(KPYGXd}YO z4&0f0NQHlsnEGl<1HflV_>%@EkFO&(#4b3*wa5(?QXw4wk&$d9hNqgG#GoUx zAfoy%NfP58ch^T1A%JWkm4PmNey+4A2$sO4GVuD;MD`OV%XcFd$h9~JLvdvcJ2ea# zk_Yyi`R@~$4ZDHHn4#o&DoRA$%f2dPw5!DLSa42k$!t0WyC|JshZ6P4jZ(W%J79!5 zQ6Y7M;mG!D(nP0}xzG(v$V^5vK!Mp62{PEXPKH-Wo~Z_2Q4#-Yc5Fo`x7}O(?+m%# zh7Zxp>e4xkip;mIg42%eY++@=BZ#*`#1L2jOcM;Y3f^t!YiB!vs>yeGU&Wp&Pco0F zC+g7-38poixQ4YpOiV!Xyf+dx<4n64KB$M5uf`LBbtn@ zow_bDA|t5*GW#qsz0N;%(2g?Dc12MX5gW(z?owFZQ5lY?FMU=V)r zYzM;s3P8-%ujY)Y2#hPasMYup%Or`w%|uL1W&D=Uyz~8ZtNb?*cVu^ zDJhd|Y)j7ix;^R?@@%nT_Vei3(JbJwRXz_L$n~v9+*(MlgY*(WPX@GV9SC9xii}eS z++2rZTp(K6I-uLAV`yK2M_g)U(K}lR?o-da5X5@9g&=tuan&hvKAY5rJ!GhQUvYk$ z#!~Gc2Q&oR!;e1891F?xZ~{z7eP<(Wkl$s63^}r|SSuOKJLFk^Cdk(pbqew~ILL=o zxJ`2Bp;(p5eXkRXPlNnxqVbUr@t)w-(fH^GIr++$WwMJ_UrzXpsS0WnZxG67#}sjp zLG41b`0NDMnqsH2dXWjufu`_KrvtjCC|rFTVVB3I%_UemF>xM_#D6cejT^`V_zrsw zdD-RzGv<@L6T@tdbg7nC@uOCd_X%Ks;)R@ZoT4L2)+s96{0u@Y9KXt!ac<-HNB?Bv zN&jT{+y2Rvw>U|@#H)XKcHQ%MmKRDTD^rQovS`8e{KW63Yv0HT6Jcz~@Nen@vk8+w z?@%d!n@Rx}7Vahnd)~nhQgZlQPE&Hg2UVsvsWxEMZYRJ~D>!!U<{YM#*w(-uvjW&L zjp#Aj<$VJaD8(J>pODuM4Qbar&f8eP85Dcorr}(s0ML0Ghg$ny3haH!$nsNJN$q8C zJT;VjBv2+sgLT~5cmN90l*84?hCd+*H!fF{pyBnL(;^}KSR(X?vT?OmHh0T#dnwL1 zHvm1UEv9j5hijO-i8tagPRDA#c7$%s!X#AZZP-YP~H0yXkqS_A&lisCshkR z#Q-m5+(ufU7rNWVz`n#zTfRWdxik8_i+sOS*cEs}3~aR>EV}Y{#p*wL4w$FAV-3)nmx5o@kolpLc2p3|Vv`U~;M5 z(XLBdMl!AMU>bL@E3BAln6-r?Oq6|nyZohkM1YvUfzNH%28tg2weup)QtD+*+c5s# zJeR8#^rML(Xe&RStYGSxgE1FA4J?oE^dY~1D@rFGe9A%nHXVf>w)!W-Px&V!d;OEq zC;gK#Z*zhG?k(0TyWD$fLeKEIF@7Fnq{hxD~{i zq@My`0A7B`b2kZciJ$Cs^SEG{!R7;nh!{Q0LyXI2Ca4|ewq3(HueCrGU?k>kHqfON z2f8$yYNkt7{6QC z>kNpEJsr5YgoW1bR-WT5-mZOJ>pEKYs_t#6-NwBSBhrIJSpG}|0Nw-qwNp*JWjlDN zN3#k9qkHgDTmzScs>^qi&%|WFrksiJ4vv)d)LnFGeDbf~^_z~_H}Sc-eKRkQO`eSp zZ)z=UY&5o;B%#T*j?;pRALK;vQ%Ylg6FYH}i2WQ`v6{K3f3I&lk7g?R_HayOQO zLycXT_a^HW1S|TZPPAF|l=Q>R;H!3XXjp57ty?I3nI-Jd{_sYXA|u0}bt~!^ndqcD zP`+^%E-1d^WfpY{ED;hUj-$#ku6<+epe~4$H*brra9Dm3CkTc*Hi$M|0d4AF@(E`Y zjEA#>@o721_?*1hiePMgGr=(Q`$&6i3&+q$+Jmt-{Sq7*yd|4i0gw{OV3MqBqz$nw zB2}wo#n?%2YgQwRn9czO2b}0C0q<%J+qhFtU?-B4uPU=%Q`zXle%a>LG&PIRoG8Dj zf;OVUYqtbVojLk+32p3nBk(|nwY8k*R7H9P#sxCGk~8{;P&xBj$guWBz9#;y3h zy}n9nj4JKWt2(T1P5Fb$g>cbArd09QDgXsTh9TR)ONzN}9j>(F>5CkztQ-)OF!3p! z)TbDVZq?1zl}KGTl!0dEwhq

    =)ZQL{EU+dBTI<_czLDtfBYfX=c%e6dP($ub{*X zpc>SSd+IP<<4>X{S-`Mu(wx09L>6<`83NuJ5w{w&m{hUI`B90>dP-R>+^f2*ga*iN zk<$5cO?{jCl%gUwBVGnK-l5?oWHwSlo0{qoAap>?j9ciGO|5e?4`COnarZZ@`FI)xqOx*G~;A2m-2E_P? zmMicH!$h^Ddy-3vnu&AyFSD5k<)mUwgnBp ziW7nEhjkQ=ywE=x-uqj-GrGea$JkLTdxr`*nfSJUGUY8!h{@rO^c8V)#Dyu*CixNj0{PloAI-b!#! z@vw1Ag%DEqT->4EgZO`k@tB!5nMoM^wcp&575|C&Ag;z-&6TFcKTdp%>%@c)1)aYX zn>dsfQ}W-5#N-c23LN@SPK^4zWy9se?6e=O`5nS%1w>;%Z1C|ZdZD00#h@G&3?D;5@)+t3Y2yaT>&NN~|k zwY=yJLh0eMI>Fu;Y}|8pb5{<5{9lI=)T_qmHf~uYQ)qrYC)nIMOy$Sn6Fc?pirjq_ zxjRF-t3$a*gRz59#zi~zgtzQiD6nP`ZpJ)KER5L60P*)v@j>Lj=(ILVcJjqmkbB%O z^B)eCyq9U}(S@u#t4)aV|Tdwgb0axuEdwaEoeM0vj@ z#QL!~U#ayHbB~*W??)QtVkr?}9okztf{)r)aNJ1)@b=V_>gigSgJt-e&|5-9oK%-WcHc&O;E@Hc)^j&ieD;5*W8Q=tCMw6z(6 zBpFU7=o!*r&OqMf++x(UD@5r|*C((21$*UiinO^pwUc$KZ9Wh_)sV=Wf&z#mn%g#n zo2+h0yB_8^dLe>`#e_~6QL=rS((Dh=y((qsgJGH>Gu8~`K#>|5O=Q9I$T91zx*l&1q4&)C-0Q)(Kxof<#2i;L!St&jt`2VJsCO*dW5q0Bj%+5;a+eg>FU0w4 zm&1oW69*lOo|ou8sxlq!)ge>F6TWFGWecE!=DFj;0lUnD&I?f5ijl z8uuz!6Ti(B$0>FcP5ws}2-p75KN)$Se=_<9oS;FzQnyF`O}g}h{>hjEo$vzxIMI%3 z@|*6)6g#Tv>nTY7oY@x||GoFr5YR%G98H!Rp#b2y2ICCRY#I%yJOe#yv7 z5oK`7>1*sm%~s3W;j@M`cFRg*(Vyv+xKLyV)-Zlu#jkTUw@nBO(Lz{_4$7M#MOqKN zb?#PVrnxT}a%%-;2&;hHx{a6SrKs?PVfN|o2pB~Tn>Jav5!43DY-UW*4H7{&MKgrB zX3%#~4Ba`xZ=b7#>!Duj7!@s2lCF)3l3A z1A8(s&<&wDW&viALX+k|oo$yMPb!U@0O{DHVjMY}*uxpeDSy^cAoZMoGW<3FWaMuD zWb`ioWXw)Z*mL16{t1wV1~~gtdVEMqvB3Za$~VX`rI-US<(y?A4Zs+bRz7|JzyK2i zFjFSdl!Gu?hT)<4pf+C@#%ZfjJ)ZU%;-jSPtAll6+r;XW*VVhvVUQo4h4o~0B%Tnf2AkZ!_ra?% zPrP9@|KgAd8bC3;j>nooVS=bik8c+rr;MTpQHZ6tJZRq@Hq#ZP(G%|&jgR{x^+7$y zqlpQo`>(9-s|>tB==MLcE8_izdUEK9c)h%E?A6K`$=0-qcyuujavb9yC;G=JI*JGU zoGPvVg{l2**YO(8DVu0VpkVY_u7xRfq+rZ23X-3J$@FzCe?}Q0T>7#G;3-d_GbTnW zV#1}$7{D^ySU{%9M8(3yIsLvE8)+iY!~->28SUC1GHj-rU=<-S081=yvAfba8l3dBs3C78Ao>st==SkDzDmeaUO zoq*JJ)Z4pwuSTPNH4DL10$?qnIO~R_ccD4hH1L2NoLvHMVFJ1(wvYyd<4^@i#Gcza z1k}JFX`!nS{A~7b#i!p065LNixHf^&^tChEXhF?tH}(Js_R6E0^*vqr6LPiPm&WL1c;xb2L(eDPAFhy~9N16VMP_Wh*r0Mnv{kAu)pl{-%HkE4s-^%y&{tVaK> z3WRDd=OjuG5sVM)_Bro$NA4aMxnu9uieUVEqD@%af@;cdRN(}d z=6f-BnK9*f7Vgx3s3qVFZwDHlayD%k3H_d#A>tD+q<|e~w3~`lw_?%wEStn4L(NIa z2c_+~P1QR{mBCPyNjRlwMe1hVL~lXAJNbjg>1Lw3v!@s|BVz*|snhgno-ZZtvEL5{LON)YO(BMDisgr{a?b$SI_LAMNaP

    lhk+x{_k|NSd52ZXeF|7|MOXGD5y^Gc@# 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�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

    i&-bYeKG&2At-Z%>piTbIM-+F*%bnGGYxj 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%0A{g z4o`!Jp`UBi2UE1rDa1+xEy2NbQZ`z)50VsHmryII1YSO#Pv&b=d{emsXvGp5?$AQl zQ44o+!#ID4MAV6SKI3hWGq&ct@>Z4ghL;JM#U^twWLE-0c@5Kx48*mv4@!MzfsC?k zD$zA@!^gKiT7^yS4RYKY8T*gF{DhwYcaBAfDY!m1sFH=hb5`>jOR|J{ng2%$_sEuY z!2BuMR4M!bw&3doN(T9}&oKWEF)7Ndx=EnY4xHQYXap9z7TQBfI#qRylK^u&PZXW5 zg*MqGyjtijRRUJDl0*VncbqN2x@Eez6kxU4z>@F{-wdo@I~A~`EWi@_iVY)JnO#Xw zU`ZK?uPCISo)6VKX2;EqsFdiLOAC#$dsYH6sGeP|g`8bIYZ;bcFL$|0t_F9-a|njA zjK!{NUVn!Uy^Hm<@Z^>do^O8(vx&pDSO%4u?JuF5Bs$=7c4vNSC%bvSTd~m!GI;L1)oL-HP@s0mSY>!;m;;?APOyA^%oL`5&| zEb8c1^j9Y;io;D}Sewr60@Q6^FIr_AA0&I@T%xK0DWC7EW-`^N1@6X) z6I|e26TO0$T+##QX3!-T`|3|+6g*SN@rZumjlK3=uRhtkIe%P(iwV${k6Ew^ytwf<}%TvBX*CD8gFCN zY}VSWb{yBhsZL#~g(CFRMwTF{VB0t@uO^YexnYPLYU;|aoG`9y>MrZ8rfvtYC)!%O zEJH!U8fsM^!UnzJ37NGiV~Ak)2grb3j}$YX!_okFutuI~w|I>f>Z@8TL!RntaS6+y zYVmH*HDz5bzD316VYQmV!B`C~{!97mFR)rQMS*iVxl9k)>*vV=TIe0byAxp(oZlQw zWAvP5{<$R3rbEgAZITw6L@L;Jl@@Z7NC53iR&9m=Z9Q(&mbh#uW^_Gj#^;5q^x79c z<)>>!dLh4((nLUu^*LMe%X7G{N~`(`xaq;8IB~ykr#Q7ZLMpjhc;t9g3)M5T`qEzJ zYI}wePL_j4K@{Ruzg7tV|2vtE%A>G@$5rYW)Bg)niEbA_H45^wu`_?gS3H?vep$RH z$*LV}+$ceYSTg)V411&M{Y|4|3>)H-r$&`tiWQSmExt)A|4djh-LZcW{&qf zoIkVkIg!kS@!K0CGz{2s6Sb&tE%yS(LW9xyR9;4ago6OPwkrR0fYc>Z45~rY2;Ou` zO7NzWQcO924z?pjy++rAZ3s*+lR!3ugZ@FKgzSDR<4T+PMhX?06IHed{}026l?WIn zk)*e8Sz)iwqiUP?{E|9QRaZC`3@^VQLX0}h<^aM5P*WvtUw5wjrl|)tduo~d_ z9IqUc2^HSK6Xv;?7zYpkpnRM8GoG1vmXoJI4-uzAkCI5t`(?DCI$1W(J2i<`TIejh zlX-S0eLV3_P?W_YlP;^q)zl|Z+8aEYCX0sP_3TXjdI|p99lvECEcpFBAn6VJ8BWGc zZ9kQDW_Y^X#lpVd)Itw{-2TY((vl~(1VA8-~_VF0MH3?vuvoyF2F)_0jW3GaV>yqSllJ=YAHjIc&74~@;Y?PP zsSmb6cgq!n6h&3lELK>B-8Xp^3BEwZtRQj|YZBMXFG-SS`E8I|4yVh3fv7qi0nF0d z(gIu(C&5QQ6Nw{oPVTHHQp_>JMwa$AQ>liw8JAnN4aCQEwfz~(n%%bNN`JBqt?G5U zpfAlZSIe(jMKbw@9Ut@10jXO3$z>MzE3!StT*XMq*?j!^!Y|F=^O-{H)i!Ge=Y)kM zaBju9bO|1CD_Q0<{Beb!R5}F$X(}z17CKodJN%+jVy(t_39ERZ?u~vbZWJalm%7n* z4*>-ApU|)D&RCx^{oz~S_kLLaUC2WBr@*v3_}GJ*upl9lAqYtz5`8HqMw}Yn!Q_kU z8jC@0ajg^NBBDfW{BKw)lv=UsWm!dWhFd}yZcdb6BA^(t;pS!+*JTt}5oZ2Ic7fPe zY~$cdWZ%JNkijY$Sa!zNJnjxaP#YxE3DtPuu4N%8z@7HW^=fvQ}f$ z5y!dob;;wu6#viq=woD@m{aKTMk2r{DzVNanq<_>^-6r0 zl;KKmrj3hQ91oNXN%UvTIpz1b@amhd;xR#5h{UlUTrZ;5epLw}v2lb3@?%R;js?aW z4KJkyKgkP>CCG}`J;@a~yAz5hR&on!igpNvvQg64ydFd>JZQu`0K>SWzbz{m6LT?5 zxucIB{W8Z@bBBiCl*hQpRZ~W+nVYiA^Z7>6cq5g;Vj=r~kV<0zccclF(EOOs*(HRf z!lDxDNR%-V@`bOZUvG{f=?-nxstTz#K>>wd>PrdvYP!In9M*?Cj(TluQ#jlq914qz z0#Q|u6!#x3G)kCWhPjhh{&2-e4B6p4pUV=9;qMYW;q|4UbK6VWqUXRL3E&ZVUFiwA zo+ehc7K~w<9J@tK9RX%BuLwl3J9yzmVvXSwoZspR9;4D**=WR<&UiO z#Q7=qgo_6%?YTcZ$Kx;hsyqwb@5tEfHhRI0*WNqc9^o;DV|#paW@ats_%%~AbNDUh zx34Giu&R-JnNm?`xH9{B!dD`zP0h>`I%23(GsSPyZ_M$SMMzz)#Qx-4 zH;LbUk_EJoAHaQ0ph`}G341_2{V%kwD`Z#kZO#2QSwIVkolsYEqFgoaP;}j1V&lq` zW|={$fZ@k zQVDN4TPImOg{)B%mS04DE`nDE+paW!M;^@XrD0TH#EK8D&MP07kaue)W}0cSc$_yv zC3;N-L19*;2v!^F#NaqZEX-a}7Y883X}Y7oaR=UMoMbLsCC66Xyu1*V%U={Rx%`jT z$;iOvzvJPi@+V&!N-HSpw5p%LuB=~>o}{{|#D4X*s#y!o;H3&s(Cy$uF&($@lsf%b zQ{5)~F}dp!ZPMTR%JH8%^db1~Ed2LJzWCb|J-&&j5d>x%8LL@>TV?qE+w44iy~?M= z0_45Y25EBr8QJUCsQLnT!^Hzq#`R2*NZOJ6m%v(S~t7wXbf{g6Voo-Q!F zvy`?B-B&3scB!c@=q#s&wxD3>Lf1}Jhs~h6PHfC6c-177Gri1y;5b}sc82~Vc-TG= zAbGY>Z)-^~sS-${_h+tTxxhw%c9J+LPF&di+hYV4&>yLS2)1Z)c%N z#~13F#H%_BIgc;YHG}6T3n7joEp|?W<7dlM1fvf@B_f6_VXBs^d&1* z3;vlova?cW=u1yFck;~CaEs#W`IQV;wn#Pn#)9r+oGE^)FO?!Na>k1EY&rjVt&9%PrFp}*uiXc_JujYH8nT}y)QZ`0{g8cNQY5HrlGQhk7 z+MnH9aLOu1KZPZsbsip~h!Ahf5$|41yED1J2^;zwK|pq8p5Xdi3m^5j-xw@N0V{an zBdS1>T?>OZ4@&QZ`0!n-b=0`>FRs<)$0xBE*%KB^$T1ExhW&~oO8n&35)(|Tn#))A zR`)FVJ|5LO)>u1L_s=$ej8_HAyWC3jI~f=dk~1~8bn2H<9AHcr8GpR2ZBuGb;!>ZL&`vj{?_<1TX~@xna#HRKzo6z!sXn+S>7TKdDedv%S`O%i%N1^jRnSs# zO+m7thYud2?b&JQO7?mX4Hol(t2WPmqMn$WFI+Wwf@OjZ@}>GBgD;dY@ngFQT$d9W zr`m0(X#I<1ay^Yz>Ko=e#rzY0M5xu5W+!*yf^xEjkL8ve!_8Akgi1yN?%d#Ew!t-I zkY)EId!YtMIGe9xt&S&q4c_Bpv(%unn#Fw6tH69{m+C9l+hjW(w$zmf<0%!d5~v_e(t>IcDp zed%fD2&qoovpy9#-%0 zpe)dG99mx-D8s2Dma*TNomo3B3*0X7hi{$bAARc-C8AA!k*izb3C8dc~Q(q;cU2V%~h;8EsD!C0IZI$1+bykwTU^V6}6bXrC zL4vj<&I>(}7u0OBvc{fdd+94G&negak!4K)2zc5*%bIzL<$h?xQ#R!iHiP!6)W?W_ z3wkBm+F{P&brMOENE5S)1zG&Y4t?oR1TCS_*W~2ET#GXVpPDQ9g@mG0Afbg=EsC$) z{G{202gmV9#=TF<1divJeXNct90!q~=3$)n{Tm;RCl)o%!k5rGOW0ERsd;cYKjtPn z?}^+)aI!sG^--m!e^aIuc0Zm;NuKrGm*z2E&tEKsjoq>3zc@;VVKV{EW-;mox3zzv zI93wx;I-!YLgitl6a)1X8~$=jcTjP<+5=YU`3hKFq+_lWmxsh&14BT4X8x zPr$(cpa%PJ{t|vg=UDiq+JJjBcTB7L9!yP`Bz9Q!OFDNhBSZ`Xcq8o{fxU-O=&_Ow zF1lypT3yUdjR#nJNcvJR5<<&S1xwdLVg`(!kG_212_7ldg1Z=mC%8lG4d19t{3p1h zXtk(CtC}WDSm@%@JdrCiZ8H;Vm%g-LH&~gWRtD~9BF;sJn8PAosso+G){65Ek734o zosZdC#70+43j?=FD?+{)uCbq*C@EG5LG4)H#P+yVil&ed7gwYO52s4dyUL%WreKRl z6iNbBJyKts*;bs{s)bB823lRJR(GX?*w6%z$ZF1NVs=EoWG)xSzVlvCo4K+pI$KP( zvw7^XIN@KeGryz~+4Zs5 z7vm>(&-=m&DnbovLg*Q4lPw2(c283tNxW=VDvqKBc=K(h| zR3@*lt;CW)_#9u@I9h=@8`3UAg*eW_;Nz&=^4vq5Pu{DaJF z8DMZny(j#zJ+(5Vo(*pDRc3)XcvYuIJ^x_l9DEbk?IWX)+0v z#*ATa9x7t|@QYvi;1_#f*1^N+w5;y$O6&)!D~ClLewIGpLcc4?5bUY7GiC6p)N0;f_u)?zly?fHZCh6F_kZ zPJrADqqaq*eXZqfskN=GSgnFm4O@b?r3hB3`qsEq?>LIMVE|?R-`}}+vLN>V{{Nph zADFwH_1VsIp7WgNylH5-5+6Ov&r5XnhYCk+j^EfcW(eGKo`3EsnUAbhZIs5}9o8^n zr7}_OPCm{}UYSdN^T&!G3|WaAL`>VbI-iXG$|%u&q=pP(ahQ2jjF$h zViKdJqwqun({jphJJf6iv3*I{$OB`8L90-UyO~D3Lc1<4cL#lbV?`DGUch1TLoP3x)Ota9 z1Vv6K?g3|AR(hj_J7G-Eg9+4(kd?TlA{#%G<)leQIewE4qraA7KQkkz(j=dLor>+< zCsJY{aV_^b2~4!j$P-7TZ#ARO*z*o!K)&~K`2%;si4Kg}dRD&p@5hjx%YTQZ&)7}X z&~Ol~T5-1aMclzgoqocA!He*;=S2bU3|Cs4Ft%h0(GKT_6)>2~ctVc~E7JR$c`t4h zF7k_WieVflHdq;~AqsFCvuG^k&2WdK6f2B2SS~_)fU=p>V9q26B6H1{QpZYKDDh zH5F9bPqlFYDscT%>)l&e{i%)aEv)|3U%3rD6%WUVbN$q29=P7Wg)9C5FPY2TLZ%eJ zpGfIrks`!%RqJwZ>8Ckd#s1F6+G z%h%cX(V@Yg|O&+u({{Ggprk8p_Vx>^?JY2eXrrdS>5Y>r~6)n>n!i} zzRP_tDsvY1yq{YsJ9H&cB`v4PyuMY~hCZCn?<266+q${Hz`UO^*}1n@X67r9wbOja z0o^HQSgEwr&2}I5z>L5ukMD4Bgz59>cB{$Y%B-Yy?7} zETbOH5b7_wPkPkll=;Nr=?0<-NOY^kR%(fnZGkde?#6Eaxk6SCdg>yx*QlIQ8V1xm z<&(74hYc?c1(!%QH+yB$uRfkN;pm4*vNj5;cYgNkJbk-BfJ@rCVR3Eo~HbHCjTC_ocsqW|1`jq3CQL+c-oq_qG|Sc z;v`PXm0}T3xWDCpg$A1VWH%qIT~Iu(bxx<>Wlole#KFS9Xrr^M`e^k6)5 z-}4EdY!Q4dqAe=!CZJsOL0aP+v;tbR`zdT?@9=`JLUH{~9fOY1TlEAF0CXGYLx^A|fVR!t8_0t}g}nW7W&v<;=aqoR(nkiuyMZU6LTg z*tFb0s=2nQZ2K?nz7Tf5BySn$Xw=i8k45%c9P{n=HQP&`%L15TyN7iR+eHlea5X4o zxPElE<^O_kd$86CjID%AWP%+fW?H1Bo+jPSB&?@0Vm!x^gNY!GGQ$DPU=(Nla|su_ zC0?h1Qs~Tt;v-6+LSGKwQd>sII&-!zE1sKWHqdsk;6ers!{s z7dC6(iEAwIeQ}-H19s~WM)f;9wC|^vzX#X<_r3Jcy(gBOZN)~4MvxtEyQ~^B` zdw%cmY`OsgvPc+sbWYI9pF_l;2_YWZt^5h4#O>>6X=Bx?7CWmfdoUl^QI=mrDz?xC z9%a>dBhj7nc~z>T!wLW1a!ybb4cLhXzfK#{hM91K9HQNjSMOlW2T&{gJJYe4^kPv0R zqk9+IK!npTE@KxP>?d>=rvmOCwTb8L6NpeFQmsw=cOtSArrYKa=&zX0uhdxs&ar<0 zl(;@7+9#v4Ik(6j#`p;%Ul1-zopc1Du(hl3a~Muyts-WBr`Auj@M*C74WzmVcE2HH zrOrkanEi(zN6TK(us+#>O^A_1sC1;mT#{7~H3`kx3Tf)pLZgh5xYqd%bw-o@YLhpF z*yUJJo4nnsO-`$0r{E;D0&j%QT4IvPpj^Uc{aX879zRzrLs8C}7(FFiI_u`z)a7BC z@E*+gm6gw;5NY0vSQ`#SS!qK@(?I5L(jAj)@Ft$%wgIVD`4X<~s+0PeLw z2QK`By%^|wo#*OMt5d}v4U%Lcg6ekX_wJkjF>l_;yxJ4r+?xNvHUpOpQG1gc#`Zs&pmprxVy*F01am(HLHgY?%?MSzgh*~Ho1A*6z;mxU^fqjL%N zh#%h!pw$aaw}$5`vN)qhAx1`)rb8G%LCzeIGXdm)ff(U#1CM?X&A$=S=pvdeaQ`Zn z&%(`k_yHjqL*)(4x=j-X9d7uRbDGpSvjveDw=vF~OBHSzh@|@4%}lBZ?(PDdVcj)7A^$n7Ac#vmjZ;{~zzcfrjj5_N!apY9gp>a~p4sn)21oEh`ju76Ko*^Ai;P z0^)N4=nm&aR^BClUTsRilQx!kL9wq=ojw>?%_y? zE;cVKUVV+JnR9Ub)+%Nq`nw}GY*#dO$UwX-FzO+0CaZ8u)zrxvFn2H*& zR8(_>&J0Dcwd@l$Qi+*JKA!zN#1|)$Ot`?H>tD_to>i7$xovp&QcesFqC&Q0q&o0L zVo6aiK|`HL*D{DZf)>j0wiJz>LoLNi(ZqXuqhGwixX2+-W|g}@!K|-a@Y>BM4S!9> zCPI0WgYzvl&+(O>cJo=F z*c!#G?A~^RNKE^CqW*uONx8lb_SP5&)Ze2O3_HUT{UIDLAnh5NDrtpkKCNn{I9WS_ zocRT^+1h!V9oup&&je|YN+XMjEteA<2m)oZMe z@9{w$Rm~+dNKV3;Ow1k;#=LF?s&*;5Q3SR`rbfTmq4m8{9XJ7UKmdXb^$qbH3ryHS z>R6y^$1^HSn1eU3LsjQk^VuhAe|g}}p?rxXtC?l?H}R6d-uuoSae2I}ZBTka=I<5} z{40oijx~(Nn6+DlkH}LHFddP;;McrHWDe~I0Em|F3DWnSezUxTb;VBTg0%6>4wj@~ zPBg`h@j(Q29^7)l;v-o2CaClLz4@59XQ3GvtVRzh;UtN?=$d!(qGex7fzs(BgWD_f zsk9B*xBkn_hh`{Qwx(W#--3 zp)Qgy)Tcx0onnLJ;u;=Jq>O&nec3df>~;PM`iaY{UqJMaiC0rKM4)eHBMSGH{kOns zd=iknxAVxE>@3BK5!*UhX@M8tG6J~M<3$+<;6?Xv7Hbt+fhU9Cv{Hv~(9m@frCOPV zQ7gowm4-X%t`7x_Jsm}j7a8uHVz?8^ueAXf33Chz^-BXBtMcKXxTiJ$$pZbLVD03=BNgPE-X|!*RkfjY#i&8U5n*;jal-ld;9# zT&jtShTCrbMG$9e{d=8%QE8+Ve~T}wpofAgmEYgqw#A91t}k%K@D9-pMEgD#2B($u zRVP9@pq`=R!_0r}mt9BRWtcIU4<-@6qiYO{KIFb_)Y}mm$D0=s^xT^l5sAY}&P35V zD`b^znpLPc`RiiIGlLv(gd%hnAmD4y0a;AJHZxeEG9Ge2lz)`UEr__J&*b{~^ne*K z2jda@0gU-!Y@XYKPxDB5Y`yb1?b?^35+BS(?%SfJNGgIrUlUj$(+=YS<2b8XP?Ic= zP!qhlqQn#HE-AHnq@)o5Qi2aX9T?5_C4~G*lJBTNh;|WBsYt0@RAj+($oS7AO}kj1 zypsoylIoE2P*N1J6E$*!5xrE0oES<%vZ4~b>pUjYrSwy?^7p37>ZYqM753x-A}zcI zMkF=GNZ@VK{1G22TjNQ8Wecab$tiu|d%S9`O6GBpWM(;M4jN*cWOrs^xnh&6&8sTg%mK#vnFSa! z=JpXYW80F3=nnO}MAtrEL|5FOM#^u~i>N zWS-fFHtJ%`OEnMr2Xj^n-fk$k0@HE+?CBh@5@=S(X?sCf%4sY$X1;_QGmKAIrgp4l zJ<2Ts`=#7oPc6>$>y3L6NaQ>gr}YMN7z;I+fq)n_uR5)G5O7ow$7N)Gq;oG~I?Lsv zJ{4*8R|l3+hN7Bq9S!;~bIL%>UQ=st%!c5uufM~MtH|!E-1%-xp0Nhpkt=r` z<<^NS2g`fC{Cfdx6Fax*s7YeN=gl0XFz)u|oo_~3e1wKc71xjv2do&b{RL_g@sDyv zeHL*|h_WU1j&g+hN>rmcPsysMC`arm;Q1Oo|DQ%V!nnGC70-Ly8Ar7W+Po<~l;Hu` za2(}b$p<-hlMQZyu?xB$xTTMUSb76Zk-huA;MrFf!%h`_(cxTzXyQ#`9qG(GtUE_W zIZ0_I5f|R~&m30OdSw5qmcw&)gEtJ+f_r}^+&eE;8j$(TBlea}&U3usI656efk`q| z`0iIq$?chrRYiV{e zKFRwnIc&fgffC3zn{36;t-ZqMym<$w)sYcX*|>DU2P}=7(?cv{IXhaWP)&YP#cys` zV&zvFRJq zo!^tLrk!*TxusXA^kL~~-;nF5o?KH^`V5mxy)_tN+fo}Hde`_+b>pVqEWP&XZL0WB z>fUMJP{~UCehhR{#SQC7H^8j~TG%gmsjwG#hXcnCmBE1bW)HmQ3cQouas}Qgs{e7u z)BS<4qNo0qsz3P+>F&x^lPcc1fpp*hhI9s)YEG*74@x&$=~5$G7Xs?z(|eeoLog7t z2SOor9|%5liU*M#y`+jKs|O|!Vrt}6m2`CaF_p9*l9-;$jky*2PCsL69QoM-avhqU z=RO@S#2=Hs-hDbxC6=VG{Du;js0VJ3rm7v<`?9~9x3hJ|OSgUv=_22duBxZJlU3ef zrWM}|6CpX6%VVF*l(sP8R)wBe{GmGevb3xH0OPWrCQVY4{_qXy3^3g;o-ZO;sB|8W z!?&VzF1_%iHeIK78^WVa;_FoLPgP0u8!Fj!ayNVqS31q~15a9h6P7Af9L)3)FeA?p z#*RyCt$%-AYw9WO=W6m+iMRcLz<|c>+CK!U-+eBhF zDJo8C5etHEV9SqW>q;<-p2sn1HGCVTZ>Q@U!q(Dyi6r%Y+Uq){82TpW)oF@UsaCCoWbp1S0GeF3>m4B<$8Nm2DvbD zJGU7m^~jwG-kqTEi6gJp=iyQYN4Ds8La!!gJI$crjvx#?$svk57-UJT@gmZ{`Nq<8zRF6C zoC3V$0@S2O=F7vs3Xt~+FE9GmznrYeezbf%;%CH?Pk5d@OH8v=kMbHj|4wJi5i(+5 zQ&inL&XD3x=axfo3u?yRcdZtpP(Jplu;ScRKk;R~*`c&*|F>vr2Yqm*7Hn@w{v*ELjL>FhpU&{!T` zrgCI4dBvSVIMYrLh~1=2POTJvY{msV<0D~0{X!3SwayILP7nNoPDKIu|!D2$Pn16~EN4(zqsh-lr zvTNSN9)V>&mI`wm{Cak??DY`FS+jh4z*J0pa${#2CPzHAMU94#|j^VH( zv;n<_@=Mjf>0&paB3WNeF2m7wWPo6bF?e3T&tFxezWFf-3c1^kE-)uC> zfiQmyIUR8Zd`1i@ba} zFnb%wGM>I$wXc85kS<>$JOr|NzbTWkQj5bs0R(|y@@jZLFl{z|FXaxD0Lw$ z3Y7JSXtC8L!qyDkRVdpsvgyIngNQMjn94Z}pk659p~CcFlKWu!o@*k_vrRCi*@M9> z6f3l*5H{W&iC^d|8Gb5@DUUvbBm1Y4#(dOM`^nDmZ#(sN$er8tmiCJ>`ReE~@rxZ?5F#eA zP_oiIvJmCEk=$8iRIkNh%M|9PoG!1NCZ$}{Ss3$oie4%VZ$V+~viaEK?hr}Eg`FhT z)lrtDR<{sHZaa`WdP&W$#CXCTsSpW*jRaSat6A$%9c+v!QT@<)Iae~`*-GM^a7z#N=g2iTW$4WJs4v}{rk;xf8JDcS>hSOlODG<1ofM*FOMJFlt* z*Kj_|99%&_KFW|Vnh{NrJeoR(!dwSZUES{Qs!fh#oxG~`DwH4@VHbzX4Rz$HE`=;j z79}h5X+)9+^0h^MGt2ER*{Xel6j2^ZrFIY@xw((Ld2@p28Ps> z3Jfc_r(Cr*x!7&{#45WcB80c_t*T{t_#TsYNqD8XJ`irxb-`GG$5?{_c>0`q=oLD1*C46J- zg6!#w*;2UExpzKW4qVN`-#8ed5b|Y4yO+rp9cmHy7(PT8WO0hwBHQGqR~Xn3u%#7^ zgcS$LN~=dtt@`DG+TXf;e^3+skW4?CuoOPHbS>~RG+Fo-_pT%F3qnL{5^7A~v7`RN z>&Ew@Yypx6CUnHhh}saCb0WZXcc>5`+1>wDCmPXVr<)o-OiP(YOEdc;qp3h=W*LFoS*X6RT`(91qG749HDm2IH5%MxEe{-BB+zVyAXN7lU&IE%n4@ zIZwH}?~*;noNB*}nwTvfI$LuHdIa5(pf8w|01J*a7Q#-jiRUkNBCs9E^#j7 z*V-Id>ox9@6(TG5y@>E&WJeLG&wW4OG1PRGYb^C8rhj{CledMU$=guis+o^HVH%dL zV|7KRp$D23+61ez>1|n~*V`8gO>bj%2w#{Y?Kl<1GFPI19+_$5EARM6oN8tczlM<; zN-kp;4D%_uiV}N^`AkV|@{UlSYTKp7s5q*}(ItKrk?k?tHZwIC)FXDuNj5|^+w@R>4(qb)Lk?qQ8??(Y%ppuI zL~T%XFS}{B$|~MF{XoGlWC8rkc6BS5@pkYZ5H&4{Gf{NLt5e zZK+2Wb0}O5DXDiJ<`$6_vr7$XQib6Ym-0eh5f8Xvwcp4Vcg%Ru2Xj{f;-stD1s3EP z5y`+Boxj)5h`7?nPb_fe4p&-ai;tZtTYh|mGA6nX4J;@kN5j#u!3>InrTSUfP1YCN ztYNIvP{}7Z8QcE?p+x6qRf06hLHl3K`)~WDXmMAz_{i&N$~wwrSupE7L`*}(=zB|- zlXy`1p+7}|-WXW$2pwhxjTu5Hn%I<=DU`gd%+Wx$_>DQa{sb0W3Z>y8u;6=Ci>S{Q zU&==dWvA5nBjb;R|dP>X#XKP6^LQFCuUNG|Dlrpgny6Q%$pyM@ye2jW6 z841$}#ce!Dc?;<*ODj>7O%JB|vNbGNLg)bJU#kKD;3czWx!_LTs2c|y3j7INm%d5I zHswn3POPT}Gv=0?8XhqEWCoj!%Qo5KM-W{u2@vAXfGX>hF4sJMq`!owGiWk?7;r6O zoOS_tlezPn+o3U<1W15fccwuR2%Q0qQ4JuWSaOBZ#I9YbalCx^Yg(g|Zxnt$ozX=# z%o)1!8iQiQI+~z4<@pdDlUimp9hnc&KwyJXooz+j^~@I=^|r zEEAnNlv46Va7FsmuASjZhu4@k`+~Fzp z&Ylx!-B{DAD;p~Dr=~IKlY5?r>iH<1nWq_}mx4`1+6%&v1zJo?v&93ab0*D1iir>w zt(zio#&Ay4~Csi(G_k&B!E_= z>nYe+?-r97JFFSb3)64n`JUUqvBy2)Wmbt*w$~y`yIdzH)aF$< zw-_lluhh9oH=G%NS^5O{y^qu2!v^7>%KNL%`tz)*@td!nGL;EJ4N6Z{*lMl8514a- zIuWdTQ7N0%Bu>_vtfvZNh@^z!TeJ^#ax8USIQR@!R&;?a9Nj2lTiG~u){Lpw-#AMd zCR;17nmP4`sn^_mogSxKE3dzC$_-b|ym5*iXUJP=t~(A-kjzh>mx z6nd-|paZD`S?sWeJIXm%()ATa>)3ECDN@rka_cl4=KRPt-A&eAkP)dui5P7^a(<;8 zr{V7DYR|*BnF*Z4dMQ>NYt7n0Y^{$C|HN8@5oh?C=$iHr1|Tdwd>Ud6U(5SqYfW1y zHvHrNi}W%ssbG~loNXGEzcyqIe}S6PzY_vz7_g5_!a`FK2u7KI$XYbyu2KLU7_v|b zqNJ~7+0RyRU)g$VI8fR0Y^C0_vqs-Q;O$WBLruU3@_)8P7v5KJ?^8Paz9Ms37}O=n zdSw#3|NQkLlpfie-gV$^_G)R9*4Wd&kAdL9DHsS6E4#?VaV_1pfs)JM`mv$wjf2Xm z|H3EYxO(R;1f#ZC4Y00Vi$#q&oV(5HAijIstTvP6LU)zBoLXWjmMJ{mdI6!Xt>Ne& zbU%nzRl+!4h%eB(BJuMRKb4~L1^(}e^x)zHupm(7h~2lLx*z&AI0Tf?t9!sOSw2^LYjQWXl2RA z^~L$UTgNgt)x&yq{b$<4_{<9T)k?j()P2?FzS^i)6ZA@R*kby3c2VPCAZEl!_V`Dx zeh>ur-p*wuf3D`3?P7Oey?&Pv6L0U0CCAPuX>8P|@e=&`zS#Wm?TrV-lHZDCna44m zY|qQQ?TSNls#f;+^GPibgf2;s{OHTxLR9Az8QHcOCwg**kZqnIb%m7Hbv}Rq@DIuf z&Y<%UZNjxkUa8OoVyWGEl2?ge$s-ud)=uEX21#ebOmpcJ9AIsfWOHVkB)ReT^SqoEgL z7(+v~uemf-t0BM;`I@(S?%@ZLTi8i{?^-#?wv70zHDZrQ*z6F*%AKCW^rca&USxefTEsh z=`QM!;cbiZQQ_iw@Fkc}e``Gh?^`$Dmu+rqe7k*ofj{#uqnX)aasn8)@%o5uxa>(q) zoX?ju5_!8V>;wedzUL-$xXBjy-fov?;c zG0zY;Cp$^CE;)0k95Fa!6y4{_Nsd&ZGP2y`=T3ug@M|+FiAl zkg?hC_OmB$!Sjtrw@+Zh>X5*b{SsX##|sl(CpHe^m4AglEedY!H+;*O6A4oowKqn~ zHd_o{I7%_IL(BZ)pEzJ8x`xau#p9dL{>|~T*|}SAXe80LIg;o)V9t}VYd0QPWw*ur z8(C7xyxMRe!4UAZ##he&Lj36H7o8lld&uA!MR(%B{}Z| zP|nbVSa_K?H1KrRFrn- znmtda(Q4^LGr0VhDL6H+#Q98-B|65Jh~lB>5X}BYx3_V9`U8fF9-tV%Gq^#VfO~C7 zPPJ~%)Y#WAV_2PV#k~M*Wf6rTm?jiq;aQ+5ZB))`$UnTeYVB`1!3PD%DxQH!(14L; ze7-yFe2FEG1D3!{Vq=|_>)6erzL0o=>cv%gS`fMZo67++1L_V%TB71`noDHCog?a>|9X*3Tp zCx?MkBR_vY!*$jfbi3x`1Qbt)#Ad0n>+^r=bAJ7tGbC2J>~{SxKVxn&+i5zSX&7luKZwEqQMPyuppBKitp+n>sm(VEfW-X>`r<3AbiFmKRZ(b#ZkW<~#c;WmPEmsRdf@3e*J)e33i}M$Oo}O*JfeFU$!w|He^RvGk z!^q)mQ;Mzp?ANbBRL0H}`)!r{JtB+fI#1z{&@rI3Sn`)r*rG|o#E>?M3M?H3`>FFo zQW;zP@3>I{qa(i$K@5_o)@bDpWOk7dA+r!d>@>@8=@ zTGxlcE3hE5vFH`!ea)VPNh7y@P)No-(Rq$abULX(|a)i~$^;WvN8sg{X}ZiNXvkb;2b=YidgcDTJH!fqng0slm>2=l^}~VA?EBu%Y>) z1+fEYr{rJ19f?@D&F8o#nT}|3Q4wEaWw>9r-F^{|O|)0rwg>@dC5PjJRb*wKj}80S zT@OBFFw?ui_-dGR4SAPDN3}H$tHre%eRfA};ITyl2pXP!KEuE)^rA~xXJFJGKo2oS z8097XCUu+-uibSayteBit>P|q$QO8We34*;32xhESaTasbiV5|UHWW3UAky5v1Oh- z8{mz$?0lU9N!+o<0nW)3m-*}P*D@PXN`@f5&!;SL<;1xN+sB<2Mt{MenAc9jjS_c@ zLO={hMc&_SZWBBF)__HVW1#t@q4#Cio$p*K{shLXdO;9x7#%GWW(U7K$;Mu-7Onq^ zdqyt`mnNrFY);@6&6kFCtd+f6WiqIAENbFLe^%l-RY^tb;PqT|5RIE0e8dMhIUA3O zq|9a>Q-Juo9BLs=OOtw+cpj<|eI`{b`bw!TCPPxU58n|-3)%+M(R~5+*?<3;&$;U$ z^?e>w?T?y_lb!P#6o$)(7BeW-M^C!!HHkO#Q|IpGl<=8_Qu8=snB#S`lZUoSsV>SJ z<8P!HY;RojmgJbCU7Hi(<0iw@{ioZE|Tp05#jD zX2}vOQ1#Eu38>;ESz{W4*?;bFRuXcYuX-~5bE)wN+NNbZLzJks3iTirIdu_d1YqKL zi(NHG4q+}oq{u{r*%kJ!8<}t`o>(VwaXaqX0j_<{0*buCDHgRBl%r0kvh$gt^K}Ge5 zxbBJ{5a2}Hw>^6zLJs;rm_6qRirdkF!+5L4!bKSv^i2iS@W+xTv5)b?_()lOQ1o7l zA4bfNJ*=Iw*x_uj%pM#O@1V?~uA5}>KhKleJPrAHG^_4cu#uiv0ftVI4o3YoED>To z-LgNHe!)&$8Btil|L=^X0YYN5rXU(O$QXjasU05eaPB?uzN`zpbp0FNv_5$Z>PQoy z#8}Wp#4>(Ht{>8tTrU7=C)DJ|~-x9+1Cy#c>qMgETFxl2XVaj5~t7Sb56%%di#$2Mh&AwKDZJ-iUN;$p~r>r zIAi-nndmR)oH8Sh9nK3v2Ic1h_Oy>@>YAGB7y}BHg83iJ6^{y{w}xk|5=VTxyq71% zA34k&fo<79TbmW;0*iN7%`nNBEhsahpr)vas6rgW5&#ty3jc-^By^YlshQ27h}j%@ z&Y5FF`meK|rbVg;$p9^F)-v)yrUFs{KFs86oUu0&O(ky@LMC}fQTkRQrPnE~*{tB8 zEV6US4LbuoymAo7(#5oaH$vHxWT9z^X_LU?v{HUBDki2?=*My$6BW0|494{Y{HslV zSI0oazr}A}<7nAtIKYBn0r}Y6-dT--zWY4A);Yn<1R3-o{gE%u!FeGy_606PV*fF1 zFz_h!gMhdf<4(i?mN_~l=dbn;8qnF%EFt;m-w{N*jnwFdG% znTZjxRnkXyW#h+NiLrOgUQ0d{QJTy9c+{OCZP#2iRd_XDVGgzzF};HrWhK={Cu1mO z9yvBj$zbg2fyTmh?MC+6?Q|Y^6fXO*Qc)21`T7b$s(k|$eSb)d-rv24xo578tl0}pO+GdmBG=(%nDMDtgh3heFO1%Afs zzLOQ#El`fWM$tw(RN?=U(^c^&(tKrLBr#Py`RgVc6iYrQT|uUcAXgtw-uAnZ7q>?e z?~aQk_Ks_0!ts&w7s9AAM{OcO3|lsr%r?HB(KwtC0gXeQJKm8lw?Ru0LDOWd1#v8I zES$&Ev#WiPDPEU3`0Fn(jN0qHQX%_+iLQPP{VoZdxsmO@FK^wxU}s~$>{?At_z+lB z4;wNqAzk`>?yzQHwfLP{6thkHqV_2bXH3c<+jm&k5=sDeVkdK~KRm^HzwYo6NyPe> z5JPzH8N`z_ZGN8uL>%STX+R7;ff-(9;79GA0ycl$Bq7TTc)jLZ>6v6RT0!5x8*uvhhR5aR=treajp;}~eN51|AZuh=YV6FD z%)%vwFU_}`< zrY59HDrIdktIf^f3irNT?_DpLnhM>Qn)m&58*-B{;voIFZ(X=R1>%%WC9Mk=x(|}6 ztqT{qRrPCKDCVZp!q$bdm~dCny0FQ;JG6D-eD|)nb)meL_!??ms0B9e`nN9pgYH}( zxz>e`x({*$ZXYb&7rFO! zx|cs5X(s93ocEKg5Auv4ZZ?^dYXhO(MUW2pwT@xP-TIXqRh_uFI4n=@N;)tBdm16L7VR zcar>>W&Mg&tjF<)!EYH4&Lf}m<_X5fN5XY<(~zU~pjbRKzb0R(=~SS}^8?{!G(48V z5nWf*xf$e@Z;NOtYS%2&y=aO1hjp(qxL*;q>sRWz(tU2zy-1XA(6&pW+;7&sNR<0+ zx)*-A@6^5U%e|v};g|azx)*-A?=tCWDRDe?D^}q(&2BdR;y#Ena#EzFriAOETti%o zxel8a>8Lr@@8_|I$8f951Kb|ZtvG<&6ZqPX>$kWTaxLXrz_pC)P_EzRn$L9%^@*w? zc8x-M6SJabY^CqRNXrc)SLA&gKH$Z0?p!|L;Z*Y=(&yp3=0Qxs!)fFXaXsB+B!Xwn z2$tu|Q70FNCj$X1F^ttF1x_ObBru)a)KsyA|>*TYI) zZ!~G{@!o9Xjboa(f;VdWO0Ga9FP3aTH(zaPm7F)QpuJ7NL>$y&u6?_w4yeJ-6J7lw zNscI+3sufwke?j%IR`fs5W|jRNmhp|mFVvMB|5Sv(PSlR*k7WMn+VThnA;0rZAWna z3HA>RVcRjUX{n@vUe($k1ok3N!}<3Q3UFy~(GX~^6!v*Lg(LA&);83c+30iQ;`0(+mj#;lLNST1 zdEOa!UAG1nTuJ{LtV^ual5izb#;oseXPprEETavYVpJsxeCY~uVt3y4do%TIWeGLg z`Tvq{!#wgywck%Vq^!diD)(i+|IOdUM49pX`QE#I@x=wc%y;*b$g6~I8LnHVt2}}i zo4TD{Fs+qzx5LRd*$8k}pM(ercHtlfF51kqw<`@U*84!PlF++WY3Azv)Z4pp7vJ{( zuaeEC66#?Qw+!7}8#60eRcGQo0u&4Tb=q==IAY(Pc7~v_T!+(GsS=lx7{YSNi`k8l zAL&hI(%ggC3J|ODMyUM;IA~=}{nZ&(ZRQHIac!_9SJuRUrN|~mXj#T7H5%V?%9036 z?7^F!nRuXC;WkLE85v$ourq9{^dVA-)?8R8=dUKexLcwyIbW`sVxhTSZZh6OMgpgN zy8PK~YDCeMwF+kYvNN+EJYX}In2r%Xc) z^D%@WYp#_tF0kH5HSp8r_EL3Kq@X5PcFSLRhk!t0*4_u`(KH#>H`bb^W7l zc(SL?%ny23aJ^SSs80p^w9C)tgv_Z<#7p~`uHAj0F-G-KKkP?LKj_XoJV{E#lFJP+ za#SaG$TmKyr3MuMt5gE6o7Pw^-5VXX!Qf%`#l7nBJA7hsWYERG>1C{weY>LG8DAiB z2|*!{3nPO)31&tWqG-0cLNSZO6-JI)4c59gdi-*fa}XflZ%F{_K5g!o zmIJMq@uL3^84Jw*f&GXyjq}UEglw2{I+!Z*`3BKxgw&r7Qetg}M@Ut;*)$z2cQ&Pz zw|kNX$^DJA0#it&2mS8Z(Vr9yZdm5SeXbo0uhB9Vhea`q~kO?2A{%vt#kTMP-`&ZYr5_BQM=nX z+*-@C=?V}fGIs|ZcW{xMG>UYaI%|X`;#UmNU?K0RXo<@P#0u!)1c+8rS5OO?L~d)C zXn(pqO<+FSD=R9(c87{hMxb2kHCbx#Gxp<`i^C8h=C#3-iG}%sO58J~1khmA!$28( zR=EOtS=~z1EZWp1NJ_MtoQV5ZTt#9V(o`){O9Uk0*|~Fy60`G@Ois`TkbsU5Bh)>6 zw(vRHgwfcwxgYmS+({vm#AT-S?Bq3Ry?K`)8clS4)riT3rc+^VTasM|e_JK#x!S=Z zMF+)CiVp2myFOjc%>Tefj3X|AJ5OyVuZrs~C^Z?Vxls*bcI9RUnQicXrhKItoZe#`_FsjINZyzP&r_+5!%>3T_Zs|FN;-{gw&U-n@ToF3xS=>6le+qGI{@Ck$=hj`ggKpT&`gZz8 zNd`|a>1c!8IUjfcYKl8DIsvEIgA7JbXB8pvWS7(5tR{?Sy$sbd5X?_MZJ_XoM_7$J zqV^S#l`CkXb}i&ojT81%mA4NywT4ZjG^V`y50{$a+A;SvYT6w&)HL+%zSOjwwI@;2 z=LVWRs7#H`#=EI$;HL(opZ%;CMy=s4HLW%ozfMgNbk?s^)7no=N$kQS1-qj%F&ye-V6%gFzx?_q>lep`#vOf650QEB(;1Wl3KnGNi8=a zGWH><<>7rv>i2B>@kr{moA)KDk=MT27gt>vy(|CZ7p&aiKHi8g9u`+1Gv*yjfg)I* zy#=n7n?VGhUfrs?h%r@o{4B+!8ZS9<>c<8j7tHLzM-FMuv{Qta#!eL=TaKvoP-r6y+ZK;;BBKefIOpJpgUk6$&D=- zIbdrJ@-rh8!GD%`79Si}jJXHjX3xrF*%LyTf$(6&b5V7C_6fxk_v&;J#$*jtqZfy# zb7eI&byH9~gUwq8!nvf^^hl#Ea$ECh`CM$1CzVkjlz>%7LfzAwhAcMHnAU^Rn#?IR zH5`V7(#c~-ah35%M$XFC)!}3G{^I9NI3V^ZGuP7=C=3tNebX56@hu67+Pf$Q@^`HLm4f;MbVzK=DJi>0AF?L!)BEy)`8V&=kJQLq&d);2Rpa~TiL5vn;c5C4T` z+2wNy;b$K+Ca+0@^mJKLJGq{Uh2togA?pBw+N9AMUch^Z(3fr20c@N~mrMg_GT{Rw z^(;yIk@gBI@!Z)Z3XZrwpCN@%S^rQFg=KtH z@B{-m3a=1x zK*H8X!o%wn#3Rsrg!y=4G`opoxN(XdY-*l`Kl=B9`D&vNIUC&GNjJ(iBEE7BFmVHN z4Ve112FR$ZiZb`AZ>nB^Q7HmU5dvXfW!yy20$}-#wfiFMhqw1&Wgmo{((BXLY3ek6 z^$_MP=PXv-(XqEk2XVnp^e*9MpQi1Lvwg9$I)r5~DQ~5u9NGj+acV73%;3Io{=JQw zl1!}3cjr+aG4wDMKaEJzr}Sj{RqsqI`ewSt%arf=mJ;Ml=wjh!sn7(cEi>08;fHlq zC%HP8y`oMMRlx0`p+?>tYBcFw4$V;`*(CM4>8*>Vw0cuYv7$W5N+_??qdX@!QW%qm3|$q57LOLIB*%9_jB*A4%IpShYRDJ3^$GRbl6>Ukd7k=%LyA3WIjgt(luZ}FlvLxb*i z7qz+%M*c|l^imuJJam|`2ccYNtpd{eYa+ndmpFk+>C})JNc3m$Kri=ez^t>9G1*p; zMxWi$0l{q)amSrYe`A2CRDj=E;52AcW|O%tai<@6 zuykIi?zmHJ6|8hl#Zgjl-N|rzfp#RMMy`6Luf|r>*{!iXB6*aXCU}jLEPlS^YZ_a> z4p(CMl)1QG`UrTe`Sb5Lrn?XBOQzUGQp(c`O2ZIY1F6#)mfQz6UWf(aYm`#AIv@Y9^cK~yFBOe&zro)CXLAGZVD+d|fqPr{p~7+r5HdZjNuzzd|ahxjH{t&fBUk&yI*-Sqj~ z2He{`ZiBjY7r1#E;yz6`Z3GI?wV<++cCaMt*;w%+{(g=7VVP(F{D{h>Zi_YuBim8c za$Okp@LXEJks6$E&L)Jzn0Nlo1jbhhdRYf@^B-$~-vvg?n z8Wj6zQ!F*&Z>oWaMhr>u%CnMH9|Fv|rOvzwMq!JMW>BSsMr`L z;Y>7(jK_V#RMFm*c}5M;N6my(zLgqiWb`uX&>35t5y|rCaooS*Oky3Az+P+|b>rq# zANHYMM|jN)NTYcdyv_29fgMHi&kE(}N>ixx64M2la&Y~|XB)V6WWty&xc4!)GdL;)k!nxNW-}g8QJ{WzLV3s4c(${ zl3V7JH}ooV31u>SZvMQ#O7sSBN?uCyox3SnFS`uHo(TJ(4(AqLGUb+>H$wm3^@!vo z28MJRAi7qD{q**|`h9!*7y;S6-ah-L>Fq;{d$nx$G5hW9o|SHIA8uD~O~t*tEb0C# zpS*&nx&^PhzE{EjO~LB&N&D;a0~G(YE-&I`?=JshU4gGM@Z?v{x&IW~GfxK3p5@Aw zD6T@p3`B&r*J8*pe@%_2i1G~cq%LB=oDL{W#Rl)S0x@VNCUL4V94rmsV8|xZ0{7{#t~yTO*I5yA4EDttG4`hoATxN7N?IV}!xO z3ZzFzeG&~!_++OGDpkq!)cs_OEL`2zn1_&-B}Sn4|}v_b^!x zT>?AxOgDJ|j~-^|VTSiGR}Xb2Pjk45&S^l6FebLR_c)fJnz;8kmottUbbvxyHAQ$EEJ0#$J8>iJNk$ z?tjX?T4_cuDN#Hd)t^=)TiiK7EtDjktk*&+=Ld<6H8ACdIOpUyfI+f9A=gd#b;Qh9 zOgEGdvv858I<(OU5gR+Tt_tcC$`O=f!lNyCO#(!!LE|_!AYKw(&H#wvAzNI-ttg@h z?%C^wBAZF zj?*T~#@b|GSTy`Kq>Scg>Ur&`F9Xd2WNfr6QSp6b4ss{wiL18~r-|_4zV@oa5&VfM zhiltJ)#1S+mB*uYw5+StY2<%!S3Xl-Jn^LE5Tz@KlHS@qM=OIlc*fXy`LhoLKIO{SJkZ|I6Uf$N zch%kMpvSI?Wm))>*BKP;>X4O~T1pRU%d-uo^(vx`d0@|WDb@~Mzk#HdVmS%9;j5fg zcDrIa7F{CYCv8hY$xw##&XM*irccTl`%8JO zQl>^O>8gh=2i4yDGe#5d21~>fN52-dVp!bf#as_*qYkBilgPSp&=M`sN z*(@eXU)pmDZhOgN2;m7|Tm!^M{=JYxCyKN#McfRnDI}FMrC9@uf2otR7*b;P4;Yk- z_ax9L+ygq#9creSS9_;ifCH4H!oQH#2jZhTZ3Ttlj{05b+N1eonG5whzug>VsEu1 zd;Hvk=toQhW!B_E)=IfKGYx>Nt64vv%1uYLr`c<{4qXE7Wtdj%$6EVWawCX#ERd(C z&lh4UFtv&K;naJ`g@9bf-ZF-p>Sg?2!T+`u*+@&Z6KSvB(aYhQ1;I~vy&JVen;c8D zxbTq(HBsD84=zz4mWFWsINbjKPQk0-a}i$x0z1+w3Wn$kZ`4`Iv4l~QOp`ASy2lF!^@9(OvA97*gtW(rSlGAf?n-i;sy zV4_))gNM;YPI(JS|3*-7mWe&W+w5x`Nzd|Iqc+Vs$QreF&LGR4gX(ZGLS?-UE758^ zr~;kcEqaOuI-7;R|3o zFJOpZss~6+2(F7NSU@+FtYI4o9SxLTwUUQfqh948Sp0z2cu*RL_l&$Td{Bx&Kj2ud zFsCg4#=+uUXWp{{nicuSMpHhS@NQu~AkbdvceQ8f9}zLT)ODW>_8l)VB7T z1AXj!B_F@RJimbG0u?WnPh`F=at32!j$(wz`bE6tGN5IGP)lu+Q*A6c2H(tfl}QUi zrUhu&RJdxX9@GrELE#%!>8QjIgLfCFV|1!vbAf6@UOnPpRlB`QI}0DBTsZ!Np(+)H zo>Z|Ueh}@5&4&o4XoGE?8Fb7i!WvClYv4h*_*JrQeY$)MgnAv# zAad9IuRbS$;(rDIOTcW%=WnU8L`O3iv7jH2%c=FwX((v~W+%3dPL6*`aHO7llqOlja>>LU zRjn6wRkhad60n8a9-QLO<-}}jM^#H*S5?a-QallEC1-N5ZS4*`HL+ltZLuG%uG8yG zAn|ANOUKy=OKH4MVVlw`={nAjf4`gYi(T(($$fN=Q-oBcL*o54#t@i0Ld#!_dcNME zCE>ToojlMq=q$HEIgGxAXPAj6I5zs?{k}9XgRO7Zs&pNdb6d`BwQe~&hseLBfhXBK ze88GFi&%%&IH$iR6Lvp8t%;M6SwbmlwB*n#fs2;)q)lwZi!2`<9sLC(6Q5UAD1!#f z^mQf}qG`b2dFeG^y?a|nTTBak+QR5!wH~ye79}=vh)RCT`3Fw3&n`+AQ>*|j%mki_ z0E4RVh@_w2@^n3gM+oExFC3s2iTgZK?9=MPsNFyPSC)ZrCd!UhC}*CCR_2hZSSz!_y2-M;qCrq@Gdt{U~A`RiW7*{Bk=UDag5px z1(U3RwMP3rQ-cn;wU-Y7Ni2cn9}t1q9mZDCp8)bG!8hW=fBcazLDWPKM9;tS z*${|zX6~C3vLR2bxQa^ubPqjX0C3z<{$uN>Z(*- zuK~trVtq)OX3)^SDYhYWrHMrAe5&ug8>;FR{zCmX)kjo}Fy&V7)hrpi)jG>TptbfHZm<>3t75+%7D{!fTV3mk599py0C?TRb)d}(7$#L4 z75TyqQfqUYg#(}M#(_Fj`1~=H5>{!KMA z!J_8w7HD)))Qmn=U;g!~xA5wJU9|#~Xc;|uE--(=O1!m$UDLSqb_BEk-9$mI^3S-X zl`id;jin;~7<&IH)~GdezHQlunkJgv#yE+=SILP*fgoGHL9IegnB9ZlI5T+m={_@q zxes>F40c{*W(M^Om>E3Qey<6XS|_9=&kV`tQW*&51%hX>?+6Xi4MP3o#37t7eTa#q z^)OL&oY+*;`d)PDa;zLw0fCvcB%Jb%`_b;sI8;wZI)1LaZ19#W0KJWMSq%?DRk(;O{@Jz2RtLL0PU7bXuZ z<)c1{pAdL*OgYELjPns>EZd&RoRup0?pdjU-__YITE@1|R?ITRDlxt0-Dny!O{&CI1tCj667IP))}}{LEAXpCSZc9x$}c7>WFYTYn;RwjDx4q zZl=q%_Q%eTHtx!%9|p)KgT!60G%@>Q&8koS4QX2VWLQpqQqK23hImH38o0BK*R}pH z(VZ*JB5n40Lcl@SBg%yETL0cy$|#d4-fvMH2TgHq6N{dNO_AtH#&B&d>xz}_lDkFn z$Z%j$v)TYnKrMWfC13i#kJyCFOte6FWSH4KD+k}q>_kNHVnQ*`P8BY^^Ji+h4jC=H zg?pJMkvT6gEIC)Nhc;4U3yV!O#mo8H@V$CxpoACEz*oupp}0nGkFR&`TSp8YMZGei zoagokuF{;q$_cO@@ln?!xsGxpYfqN+D(#V8D<;7Msp7W7XG6RQ!G>dHCu5j#I3dY| zm-r7ootqPDn3FKt&*5Odi6L$-s$gyOhp}rX1bJZp(wfc!Yz&aembh*#D}SODyY_A& zwIt?mvyx9O<2IIDw1P`5;+&uzi`uxi^5@K8Yp25L@-KgpNX1GOtRNEsdra)`{J@Xf z+< zTKmmN_I^hYlHK9pnE#WgpP*>x!*btOtmi%>5`(21(Igi#h5C^LvE)N4G?p}je;*p}Ul*gqmxwi~H_D& zv!Tj}$b-&o9hg@!I6k;yqCb8>#l*ZgAwDz2QtvG-ExSlff8)^JO}{{*+ika+d_tcl z*FI;O3?Hb;Gt1TF_l)TKU$@u85JJRl=^(GAG}8Y~jfA#VDD+|B5J4I8GEhFh8^V3z z`tY-EBmHY>WBVz~eg6+_?*boHb^U#3$N+-|Ptc&Lr84NKp`s1dYGOn)Fo82T!KhU6 zhN&VVcma|iib`-2&0!qt(`sv5ZE3asZEIUv5wucGxCOj|R`F65yxO!nVV>`A zpP6I=`aJLZc|Wfo$(+kR`?B`hYpuO*+ksH-{eRrS?D_~_+TF#{g$Ip3wTN?VdV^2) zS%DBv^C^Q-PCZ!FJJ?Cw;yscB-nb~A$t>7bdY}Z<=kW#+PC}O;WV_tLx4%F?bKAop z66!6sv|9{0z#zkx;R!tkKUsz3hg+;NKBWA+y(A&NjajLjm)VjqTeK80=T?2FZM>XY zwA1h+I%!j98i}^L_ee>=n@N;#*Jf|3b(7{M*FT6R+5TSp;EPO6;`A^n=9<3S`_;dD zUNugQB&LKWN;^DB3XghKFC(SUy91|r9iXE%iK%{d(Q1{eWW;$e^f(pgN;8Z>UeTU%XH!la zT6HqwJoE@6Law+w^^NW^TdhjYX5QpVYw9LHn^(d|2`TlWzK_IUiM6I51k@FgV~;qd+Rdw!h>K_F{gHs`)$5;`@c-zri4f^+hV*9Wyf5k zfmMDSwZl31x|JIN>Qv-1OCZGK8xV zaiM(0#DCE5h35pCzwlLC_pGT7zQ9$JUbiNcI}b3IX+S!p$3}sLf%Togh_&TLd_VzC z_bBY#C4byQ;MMwEVG1r)K}KDnF;p83jz+alk2GT-_Pg%cre}V!U(V|(3Rz3A#C>3ZG3|Y&zW|-j#wh6G?z#2DiKgGRf#Ky@Cngum08` zm)=itQ`RdsLdAMO#gtKv)%smQRxoRRP%vAY*QzR0MH72h^d7F-=Ht{mNMMxDO+HA5 zz*^+ac)wS}k9L<|O&1uvdmAIqtxXNloVs-XpT5YL?3n_dU~LHHehc-oSMnC>BvZAw z=Cz7Hdld+2TKp=$SH?^~o%lv6-oHKS!PN?KHp z+!{LFp-SRk!-Xaob>O_9zQ`-NFA=w$<5CwhVN~UP2VO_RrY9E z4p_KIOt)Kf-SQ7lR7E@uy6<~8o~%0aG1)HX*}SQ9zdBE5{CV}?`eiQh_2?;ej_N8-HNmmM@l}Q4j%|Hv zlh+aH@AYY`n}AXykz2Pu#;2o`C4c0HEuOYIf3clCiIX0$uK1jTBX@P|2vk>m-FT|5 zigi`pu^m;@3Ka4;_$br#T&?c|J6V#H2`T2=nm!?WuL^a4ME0I>nEQjW_jEw_*}?zb z7L1V0O7o-utneRU`s(iX7wL^7+Xa=Hj`V-Pw)YymZRr+w!(;bks+LWo4eJ-}D>E-t zExTIRKWkrEwM>&}-Q7{OtkGPw2iC4!c>7$gL9xW8bq=O2ya>EATigbo3kW~7mXgVJ zkC`b>qFvc1eNb{%VaN79#E*>ByIzNV9&4)A60WS@rRL0}A`G=5EfguGJ*>$!R>0qnyu|0gl>;Nx+iH?E2XL4X) z(=g)hC+;VYdZYu`3`*Q4JvUC4gWQ8?H+?91@XUk8{>~WOOVdT}yiJ8I1qWti6 zX0f*PZwAWZ)jbp5mv7bgs%4@{!XCn??)Gr#ZapzLq!tVgscl{x99qP+K(X+wx%SIj zSrdDyxEm;Q&!!WJ>f#Glp6hg(BCZ@rNVLM>v!z}%*-cDAvJ_N)+Q1bI$iABEG)(Q8?rJ;jYui91BEsgDXvSY{Fk~cm31T2c7F_f;j)FI97EA ziTco6KJc{Y{FuO*$)Zen;dz0!i2>|whuTgFDnQ8FykbvH=&d4l{Uk-LI>r08ZM=y8 zn85frsTZO;Nto!=-kOkJ<(~pnDnB}oBilaZ>kK)lJY~+H>HZ6+mt5e=ffw~erm4>) za8=3#_m_XYN7=K%5cN)Qme;c-G4$Q zcvS#3Hm`2OK&9FhcLjLnfkzF&i&6vrmOHjhKsVG9`rwwGEF70=DhuhpGh%UeqCkU7q{lu5+c9SY$ThC&4h^^06n*xWJbxW8>HhnhFtf?H$y&^2Q03r~ zAA|9OPZ7~*@%$!?p%!pa3|Ct&qVb3HgXQq4fNq`N7V{$+CupQopdlfvmmf{dLW?7t zIyh!|D8ANmx7rhS+IOz-ks`P9STgd|l5z~3sJD!p?I@ZWlcz7Ki^jf-S3cVyIul*?zm6{WLi1q7$1sPBeG&Coj^h^qfbMt4ns+=_{?PsmnJr6EYA8h_Y^nN1+HhA% zAi*g&<0fj0RIIUD4ii!&`o8!bQlYcAY&nYisa&-EjgD7aONlL5Y27xQrvQ4lUHPST z+acafQGY6MzOcrvpK4v(G1aOE3LI&p^RZUq(Y5juYi4`FRQ^Qxvg8a3Jwu^&JYJ{A z>mtnaFe`qTL8yT%)@rWrFnBoCnon2xiv`JSwUsNtR{x_$ddy-0f@FY8g9+!d`J%Tk zFm>$``m3px%?Y|HckvJRWES4-xy;jI!#O5oj(7v@08~yG90^@D{d_qL>7kQ-IB?-g zb*k-mfTFFAC65oC(0WN%98`Pu2XCF`H{BjOWW$|(^a`TriQKgKK+RnN1ZT9MrW1Pw1pM_QpFBC>MU49 zyWuuRC>d`1$DjC-VJ7GSz;rtzV7U_jMXJo~kg=?->4R7|DjG5wqi_3%v4`D$6$Fcu zKyQcK(xth&C13)eXfVbg=N|h%oa;4p;x9b35=Nz-0sQd0D8;e8BnMY>VHn2S?p~;o z$GAR~AwO}O2#KBeg$T*c+Y0#0`8rwVasoY%c6twW>6pS%#}v*H9JUwCSdPVEVu5g* zs?k#(VWKqfd>#I3@&2VBl`HoHRwV)2MY_>JbZ5;4{<8g@b%q0Dx?z1A)fkS ztM2enZoQ8Bx=))ZK$({9JgLMtASodac07I8dfKccQfTyEyK)a}X^*`ivw((XkJ33W z!3*7|;Zso#9d&ScI3K4l;^-h|EU0i8$<5nb$YQ0l*|m3XKZGQgN8}Yj5`LnY8oi?K z7L8)TD)lETYIK{f$~<#tEIDTrM@C7HFpa`k5+1W=? z--H$qnxHt(vB7BN+l?hk9I?p*zZ)`jG;OfT{2}F=aQPHEbr93+>xvjnWCtF z@ZL6gQF9?@1jr4486d6C46geGe7m=m<9TXcQ$Fy19C3F>`an(qD-EAIw$%FB%ABdS z$BqF<+|62yz$qpg?X|Q;@Q%`M7tAwkUl(quyLO5Q)x*DiX1*Fj)eYZKX7t>I5!PKj zy&7MY(H%I&ARtr{Rjh9i78SpfBvugSGD+TVdOS^dNW9_5k4%m`Ezs)N@XZR+sF-t$ z62k>!4yW|J*Vp?VCg3Ov=Xtv-7Al)fuqFG$ulqF2k2>3^qiRa1%!-S5voD@l(0F#t zN%KB9JxG_vye54XYsQuWOMIssw>L0>_$@by$`n?UEUE!d3Q|%2%6!E&tDYS`JT%p$ zhYX{P&tjD>gT%VGE>&tCpA@o_w*)yg%j8jNAwdU5K$6YEVlO6)uD0?6tK~O5j3pZw zl6K+l_p@bd#JZHV|I_pFZ4-Cu8{P^Vu;71bZ%9XzB}c?6 zw_bm+(-9f4hk!OV5I#;u-I#tfI{ZJ;j`#b<3a5lhANDmJ<{6wli~-O#%S2xr%na}B z^fj5u?D()RDfgLE9T{Y>i?Tx~D~|zX<&gW0IYQ?JE+7H6^A;g_+oRYEZk1r9?0+`C z!cl6f^?gW*TIYjWYupZ-`L+{AjN8r(W(F5@vA)H^Y-X$SZR@t5^LdOCbEC;iHpP-n zo3hyT97;>lHgSfK?|Q=L8P8rdSz#?uuqXCi&8LADxHO9$0A+qbggU3$0?yb7k55*W436|BI* zww4hOY21}lLe+E5vWa*G0$47DUQyqwlyuA8%P*$2$59UGX1mwk-%w~O*rk)l*|qmt zt+Orl1oviMAy^`S452zVqp$^$$sYYws#4wA_o?(i-V4}h`}f88Bk1| z6mma(fJe~H_*!4g`geOc-gQQePd~Rnj7&&FFY0`+#tPjmt08EN-%_)Afv*$o@iiwa z4Kv9>4N`h5wWjrbt3?@TBT!Pv90v-f3Zu?*;CBD0Z(HoD)F!Hw9n0Cl_tg#PAh)=` zLWhfJ3E{?^y4___)5MMno-`d}7Q%LS4$sPYz(JHBkPk@qW-LfsT@K2D4R>acQ#A|2 z@q%`VIDiCo^G0j<9ie7gl_%6p9jjVqjtb#dy7TW*F%!}<7F>!|5|?4!`U*5T+OY+X z(`_1G_4wq76N!lzS~1m#AbJ@qWCvDT`B}pmS@X$%vI@zKteV3n(LUVThaN zR{Gv|GlMVMc0a(~W+%sNGAxZln5i;axu$Vw53ctx`3_Sd#;5du6)Z4Ta#J0tP_mBM zzXJ|xq0U%cg;w>#%V|h!s=ZX2_;L&~F(O-Lx+@VtQ!an9Q2Z%aU;t$x=6f3m0#Maw zhM#Xzzn2gzlsyTY!d zfyU$X{Wn6hP_w{cHLx6DIU5#8W_OW44KnD_FsNr{u$9)b*&Z9d9e)iEqL4$|hYqF- zIwH0fcYU)-JltOr7zs7_hkHE~EZz}JzYC$aZoPwb+he;Fyi!ji{OeFM>(+}5Q6I~0 z4H3nKTJ_AfcsHwO8YlpZ6nm(4)`})3 zOUewhuq6s1i)iBxp*B<@bt}tDPod0_RrN%e8suzk7fh>TR)mFPJI_x@o_3U4uqPx( z1jXsfVwIma91j(xPoltdlK$lIGm8?RaX^*`vF0oNg1#>YW6i2D=r4|dUP#1=kRXiE zl4@W_!o3N}(20Dv31`_8yqN*82o=9F{bheLPBC7!4r+hr{8A~DM|GBHcRjfLLiW*zOm>@pv(Io(LahH9;IsC(yO!xpGyh)2c*eb`a1i9m@jQDbsd+6!Ll--ULF6uP*Spw_4}b%%L1jhC*Sy)n)aGq{mOo-S$$GuTNTvbZ0MyM*yS%6~Pg z=au}AZVF8i#hIqnJyX@Iv+fCGMaB0BH;s8kwlf17k@G*ADIG4U(2f65z5I{ljI@vc zksz0c(7pS%yxsJzCNUr9Bl_1ILGLQBl-|Ye>0Qif{jpY95+KpRi1XAVVi?&$yIUXY z9? zEAx2l^W+U2Op7LVHv0meQ!n-z#4n3VwGCoknyHe-e5@v(7G9$Y<9;+aH)-lKvg}rO z*nB)C@aR_-_&WLH1S1I#!ZxCbac8d9z`J?4_)oQ1ovo`yco6veoi6Y&jjXX-b|K@;{R2LF?C0krkM_&@n*T&%0e#ncUcML?W-clw#k+J-_ZSj#i8$Dh%4-^nyRqaxfr0 z8u}ntr2DB$t<@uDOf!Yds@&rC<2$hEWH!PJBcW5Y6S)3;vmd}2>84Nx;ix8@#B2oJ zUl8}jy~NRagK%0aBq%rDJv-Se7MqUNIJ@2NJSA5k%6UbMBDM!g0F_r(>tWhQ8gP9H zei$bt2)e0BmHdbH@+$HCkN7a_f25*JC9o-RyRa+f6@A=n1}WN2xqx|H>Jih^UGCoZ zv>HA7sRgMSatF8O`5_6=RIgAaiuEkoUG5u;wP=sY4&Ailt$)$ttN-cwA!Vtao64sF zN14L=RQLA>^Q!ahQ{69B9o3$>tar7YKr04KzSs0}hx^N)$q#83PjYD|VuVu0NShXO$b9VJKIJr&5krnIYdN{ztD%fo z&2ia$!#!OD0gbp+VeovSaq@Qcq%1JHR>Efp&vz@a3bo60lrt8sjpP)NQ>{5K852;@ z9`?zn)^$S;nQC3Pa;nvcscGZdsrXe)kP5`tH{b&+l6$wG!9?!Y)!`3<-COhJGwakW==BPb=4^6&7lPj?$ z9BC)~s3fs+ttd8@F2^6D7?w$W;~lHI>+R@_HKk~AMz+&Qw&H|7tg6UkvSeszI=oJL z5Kb3!R%8Yr^49%0cIaG8BqTmFc8FqmO|T7;4eK5Erbc8U=G9u$4v zM>#3gx54gMGcZOJQ^yK6fNO&G$Y*RHN|ZH&fUiCB1)dL%ff5}Z!T-8^8xI^odojX*k&SeS#hHu#PQ-NUSfvOYZGld?1r)oHFPiVI{lVkH`s* z69MaGr+fSi<;-hfZz^rmE;r-7D5Te1!h?3Y%lOVt zn8Sz3Kynw23e$v=m{?L{uffT|GxyXP3*Dt4&y_5pccSrazS-!yGVW`?RLz~`>1{e_ zRW+AmEPXq_nsaC*e!8#eSb`Bjs|myrp_J^Eh z4EB;}hF4kn9kA_kAH!KAO3-3*UQw9ytJz%dZSp&Z$-34UDw*DR0q1L-%l^NReWtz@ zvgDB&uR;g?cQ!#uSP3>NYFNWJz!S>i6-Wb{)nYP7R1LOlWF!Unz&uUeGXRlfosg^&hmfvs{&aCZSQ3MO!UA9+O zSPJyKx}+aRF!A?<#F?g#HBHwPz<4NqjcK^4u~(z#A`rSiQlk^N>fNII;m}@P=SXV< z+8_3+;X-x$)9+A&blieCHY~!0W&(9UE?3z!Uwp&kh%=)ob&5puecv)$ijhbi&P(^4 zag;##2(XudkP3E64zf>Qt4v=@LSdB@tm*3)6ji74iaJ{XV}NQkC0=E}>RlP~5SED# zc-T{90e8-fK>9Lw_1OJ7BQJ|Qz$1C`{U6QuHK2_8d$K9gjTX+)lu_OcziCF^cp|E+qsCe7p4h9pRlSEDL09BAW%sxT^eQM^ z>ouS2!6o;oQs(nngQ2V-EiAK&%zTasq;CC&nLY$(LTxNlV&(4rHT%KoyLl}EB!OVQ zdBlV%NveTV5l?y#4`5E>Vb5e}bDmek1Llu<71=-$z~!e)slNbA_n`f|b4TxL+?nJ~ z@zyEx!yw(O?uQ$7onAgO+LxV==y=BER0h?Vl zOV&N}{&;Z8;Q0ac(a@@VNDJYH=qV;j)(|nK^YH!TcKTdzX?0Vx9vu^}_nEEB1L=*% zS#8s$%&a!X>byB*OqH^+@6lF1I+jFohCF^97c`hC-gM_u|>6Bs=Bi?N>f-1s(Q zN=kE!qlo*6V?0Vw{1{gfT)1a*1?Dw3)a6Iw$QO?OeUvpLHYlo?eo7u)K#KOogS?AX8N_QUvXkb*JxeY#3FIv*neifM ztE?Rp1KO4M!xjdi-EFi!aWxY$D)#(X2&yUI1*VMi2840^aldT*B9od*XTpe?G4Cx( zoFZ#^JDrNrcl&bx0^-jzo5%{7Jig`irh=(>-WFK5w}XM!vKO4sr!M$9gB8|sIoovf z!jj=A*}oorYRL~8x1{?m&P*j^8cHgOy?4@>vpxOvn)oa_;Y)3Ys4E##ZQ@!o%$S~G zm?*@2$tksl;7>y%Ro6E$)349Z;&Y5gy9t#^zxj9p$e4P?tAX9grot31k0w%zn?9*0 zxtTujLcW8t4Cc$}2V9u$m-zWiTJ|0m@DPGfG$1~WXQ`i<21gD3r|~p?Aq=e~qsuKV zqLpZ!V$P|oni*f+2qhgDaEy1~pHv9%zCX3zlOZp2<*RcJPWU$_8aMi70@|=0|J*r+ z3V3ICjig;-%ey~ah?@u~w=#YPfy{|pvz_7re#Gu6ScpA4bDwC^>3x(IskS zIIXxh(S-K1Rp$p9Fo}&uKigm6H5-432nt~r*&Au(%S_`Si1C>L21cTf%+bCz_v68y zx6d&dAais_PWw37uRBN7XH3v`5JXAIEPy}_(XlGeZWaC=R?AxIkIv{UmpzAh_CX&o zF8GLc_^9!}vb5qUHoa74d5jK5m@7rkQHU!^F{+UEUF&7E1xd!H55+I_I=J}CW+8KY zP4+!5#Eluoumb#Ess?ctr7!Jn_XzaVwId0@skuQaBspuQqXY zKbXVC{iy6CxsJ^~NS2@xW*S!)vu)0FM)AYL%BLoZFK~~d;`G0~W_pCZ_!*ck7`mcb za_Nw!+{mpll%d_)JoETy5^rJO`q@;r!rt|UJ#0ND|6-{1?1MRh%=@o7hWWg516*4{ ze6ei09}JT$?VXMNGDk04dB5j|>PaH_y?QJlmJA&nOO8M>wbA`l{&h@CX{~b|2|JI4 z*Pb7!t=!%?E}8_Z!6=EzZV@&l#H-80iGJb41V4WNMYu|W4fC%Lg`GM6m~WFkO5CF% z7Iyl{bZ*=bi_=StzwGz$c*QMFX&@fg$oa3?R{YYL0f)sL@13c3)Rxm&Lc^OqA_rQF z0^PRD5V=B9xI%$eQ9?v+6@{QwxkweGvvALUAxkQHB3f48xNo`A3)~;+=&-h;z-~|-m zxRkzIqPiB}ZVUu5Tm{O^$s03JXqlAa2Q3kRgZPgklS|@vSP8(rq-~7y56Yu zVP9G)up&5*7YJgu{F3YkSz|w)3J%YQ-7et2n$MoLMj5#@ksY$uXH>uZ5kJ zB&3oTpwx6wUZbfm&vqfk?%fz2VOZ$-gXuUD1R+YErk^OK4y9zLPoviicE;*Gzns-MzoMglK?Cc49=R`LrJt z%-u}W{bkLtmZym9&1HNWVDEZ6CL018ltcv^^}zVVM4vl85%bZT-6*xAxMqx88y$eB zkn+dS0a+wcfA|owxO;brdj*(l$M;$dhdN#HO=v*c`M1}v4Xib0eR`xP;f%6cTSZz> zY)|hG1v4)1AKRI=J?_XmUzgG0<#%!PheeC%E0(M_aSB=hgyH$cIMRU~RD(E4~p3sew59 z$$&Jh3s#D4$S)|aC!(!LiKmz|7-ITEYdPi%-8P@rzu*QRwj%@WcBXbEFi2f-@t*8v zl2(XKg_52uh?z(~ODTG~nN5j8{TdM)@rz>Mg9M8ZKvK-$Ozen~90T(WH6uFT;6^uqXSA@Bw4%Ga%y9n7grZHyvu z!st^Y#}~}PR~z>>1ThykYOM;ySXk3mk~jwCHkUY}mOUGoaTAz= z37RvkO5HrCN3N6kOx_z1dh}PtfEZpSUk8wOkK2qdV=ZgeZ1a9^xG;#G_1MIsxZQne zso^|UOPc}uD!X!P<7l~g(47fP@Cw%LdPS0aoLy79HbkGMsQzn?zPv-aX0KJ0l6zds zG}uI{uFs;$ahihMh)AYBKqHDdM@i+ORDxJvb?Qa0k-3xDV;F1ac6ZM#Bi@*hQ4;1C zhbOuHwL|C~GulomJ8`t1MJxe(@ zJ7V9Hqb8n+M7C?lFC=W`S}CWM-y0dcS7hpiv|=`eSz$9j2>KXcA+Gw3T7stc^gyq@-EXh#-rL=__hRksYJW&8iy8p7dj$S-7Z`n#H%|At z{J8&Ljf(!WgmVR(u$N8d#J&{BnifCQ91RJfn5K$oA0NN-x;9NMCDI zXmSs}R+?Ny^>;h_Aha1-9gz&mxW+Z1s+oRLOB)l~`9}ZUV?rCz+k~cSJ>YuUH8#Iq z8-Ked*M=QG5=W%bI*kW(y9{lol%Q+eImofn<7P=6IaTT5n9CZ-0XvW4stQAq^}wsMOCE3Mt@XhAhQjH6F2E*OYQMZG>Kj{MTQ#+~ zsjqwNrU5AR$3h`Z6i&AXBp$-Z!A1by#Dt+)4Ca{x+%Gt1C1(p5h#`R98Ox6nseik! zU!r27zjVBZ$9MN@>>JLC&JGliHy>HqPLE z$S@!1l;;l9v%>v51YD#cpD}sb+L*(Z@^(qHR12!$B1 zGjaCr7E$!!GNh-L@kmlYLs5)n#m^nRwCeGicgV}{a?p-@{4#f9-@kHC0_^i;VQ zH(>iXPX6J&9skHT`|zH3@9Le?NeYuFS81eO*p}(YTJMdRP?;Rn%H3o2B-bfKwIR;* zZ|c`P)|r^_OgS3OjbYt})oPidjS1Qr!13kYrYqzYG}A~5wunZ{O9ovYJ4=#zLn{ri4*jI*i3^?Qv{shmvpN zx_w-v=Q3_NMLD0^&ewLLj|8`Ps?YR3Yz0O?1N*vVs5IwA3-JPCgMEpFpW@7BfFw2N zf>rvyM|4V!ds_2-n}B&(Xzp6ImPS|n4K`*ltb{c7|3#x zcbuk8h*|93iQ+UB;PJy`b{a)_J9(e?n&oCnJR;SqkgLIPFspUw07jywbrzZpg)kiN zZTI98v?CF=`Z!SRqgZ9yY8gb?G1jt^MzFaF#s(nkX53jQa+^yu+#}TpqTXPu^H{<1X&+Vk5 zw+FegoD369=~_0T@jZR4pQF?3ARMD*h1L3r79D+QRu7z0W6o$;z=bdiO_=-9u^0#* z874?EzNmz06olGR*J}?jO?u&(8m!gwYuU&E-yb7wI;~JZx{54q5JcwKa`gUhv3)~h>I%$3-2*Zl zhF#lf3Ca4oVD49fq7{DtbjhDhgMh~o6vkxMV0_Z5w_1mz!V>P)_u$^Yj-$ek_Xv6nKuo@TamF3EcAB7uBqQ-BJ@@`AGB_0Pu;HI)HTG|6p%Vpe+!}Vt6?)2jVh`b7n zkQP>iKgUnJ#fM63QWsg+aEP>R<&(us%iZ5BVtDZ&9IM($XT}g(UCgZv!cf>h=TCG1jk~NjQt{m|QxZ+di z>rf=(6osl0?WTjZFnCw4wOancP;K&gQ*X5}%w~6h{Zg-fp;zWn_DuBZ$U?Ll_vH@q z0biZ1u2rT|o$iqDD=*7V@;5b=rprm3jBa>5`M)9+H+A`A*4Uk1t{C6-?~m1!rU9c9 zL%LGmp^a$#Re=5_bQUN7*+Q!-5RUOS8P9uNxfj3#V+qoHa%0a}S&l@&$#9(!e-3aM zgd_f9Ju$H3fFpkyvpvJ7!-Y)(oy2nQYd{Yaw$t^AU@iH~%cMX+eo+SP&3>#Z;LD1x z@N%XA&w!U2rJIN)>UXCLv5K>`6IaaEa44Xy zt<`{8ztzrL+FIMGYKex4+-XW?Mn7aMZEV979hInu>sPZW?yPNnUvVeIhuVoVQIfPb zjs$fzKC`j)4ouegzGucaZFjnam`2K3t&bq$U@A$k5k0P&S86oVXsb%y86T_lGZ{X6 ztxf)zGXell@nzFpl_{>dB6W?Ckn$zp*Y{?=@d!QQl0>olg9JpdA2c^V=EhEVL>_-L+V~wc(Wqz`So?_3 z+4!M7BGWcQ6`7EWS%-V;e>JR@P;-IGh**3oGAdq%jVirRbha14>vNsx2~vY==B)xQ3YW28b2|BMU??(hQMTd@Le&Nsd5IMG(2g$e&j0uMAA`81r`b zGH|XJAurSTay?)rzaeL?r{7?R$?O#7T-eTJriDi8s}ZqHVGcx~aL&WYYCU?tQbuU} z*qza<*bCSi!_FlnlWjsUtSOLSm@2?u(=a zucm-XQ_C%j}B26r~ps=0nn z%2qE@m_~3~5^7Tw$(wWDp*0wFoA~DDqST1|uE5ACeq*k)eY7h|9k5S##8SJv(-!L8 zo$n6ReGEA}O#QRylh1%|HSiQ^VUj^BkY}wfJoys*`ZEZ-lJM7T2&VB{(rue=s~#~jA;*E5Zq&enIlfsGvZ)~PW7r<)m?`Ie682No^3eIF zj;#FJX!{E|^H9$S^Rcm?FKh{2%3WIv5!KYrJed!uQ~r7AS=eYCb+EQxB{(fT!wIMu zPBZULFHHBrt<71v0cXV}p^=m&3F_GRroB-db)faljL5JGG%T;X8=v5`T5v&6V=xK> zdgI_K8z=>qQXq#k;`*jQ=2_MnyN`G#(|CNe@4@~?-DaR}A2UnKO*IHN?qnlhwRi_BB3HCL9-y+!TFp#QO%bSBs$V1tqL6*+ zf;pUdINKd->BP|0(6hb>;zE(um#mhNT!5|9A`98>Kp=i11g$x0BVT{D1gpD$U#HCIbX_TUs?F~l};a^~H*kM=hvf_iZ`c7@!)7Q4fl1=V> zQk{%jk$#OjXp%Z4!dJLo7+M=6V?>o*+!T?no_RKagEyO&A$617r%Z!S?iTnGkLo!L z;sp{a(_v?87@4Ds5~;VKgsOUn`+HOIT(5_$z6$q%oqce7v;9Ou65L=d-5z7f){!W0 zcer9LQtXh~XOLvUCExLy>wi>T@xt^zmp07^SF|^UJ2n+NsgBJ7-&ztq=W^hi@S_df zji65jsm1&Ot2MC$Gp3h!gaX{8e#6b2qnwV8&Be~vj&}pTXW}dRWZLl&=ZQ%_K)qOc#LMh_t$BwN97ZQPFP2f5L@V zXHP3(HX3|M{zg6?(81nggtI=^f2Db5(5Im{^LolmtM^vRvxfWJ5o)IAIxMRGsbI9lFj-14qcbtUvWR;Thc@-qBM$XkLJ5NWh&Yt- znJ1tiC}&YYD}4vBJH@AbE=^sGUYj70=Ru5+yuu4+6 zce<>;k4ZJuI9^?xWdN~5nHInhDB@^>xn~CvSGaLch zbv)u$6J*??6TN5_*~S`AaaMzzfTZ00+F&Lm)Zo3S=9`?bt0d6Q2+YQfyZr_k+hV)> zriVFbb)gqP9sG=e+0e01z}0eh0)v2eXuMhsY_|)^!m3aR5@qkx*(MS;}rz`cp&?$?mjp36y zr|(16Ud^m=RzTyjbZtYtqmKyG{*;l*%F?6N^f>Bi7`WWX$+M$oKBkn1zMXU z^qCdmt6ntqtutf$mQJltU2kB!rXegqoz}Zkz&4M0$dmU&{2~We}jwt z!Om`Mf4F~3-?~!r^p&#?R3{+h5<5o2W3|j;znNQe&fYBkX|=mij!4!D&n>b)a-Ua4 z>J+{N@gx_q%BuCr;9e?3WM@k`Hv87_y_`UAJM2b(%x(~L1lj#`9 z9*XbD@gm(nI2jQhl8Hu5`y_YiX-My656Lv1flxRNzAvqkNOQfgKs1(Y43c?`hYTU& z?uE$7M)+k2+Eg_zN$ISk{buU|!(T}^W@ym6o zW3y3d6I2VYZh}CgxSodE&&?)0LtY41}L~XrKVB20E zYBrA=LqT_oK0n`1-eGF96JeNmOQ^a~!bP{(uWHm7(gl(o7eEInZ*X5`mI#213p$+^%J*B_rGF)sH@8XSrdWi%gvQL=NU3W(;q`In0`)d{E{4? zDE);(YH0dQIm3RE8Qkv|xS?@uE=Cp+mYxY(%4VmR?rM#@T925nY-dqvaQb#Yz2b>L zU?+gKfTJedyWbJMeFJcQ$OhM#JkHdGwv*Y$XFNMoRg~L_l7rZLu@^p0CD=>Z=#39T z0dr6gPJU1shbdrsAc3D%JUXBhiS=CIay-7;Dn6&qD!$MpE)wChhGV=izjue)&F_7o z_57Mdqc>7JhbMfNb%?fFuHwNMC-T{DtwaN4Fj~0azPLklGa>^8)*peNo0&o>bK`_d zbzWONNvj|W51Mac&Ju%{l6*{8%CcQ4%XX#A>xx#N5W^ZYiIiA%L2HnWr$|AHLj=01 zb1!{e#JMJr>er7x#Gky2v9M--CL$0|=nf|Hs3+DuDTgVW^$oPJ=EV;c8bVSq_+F2dV)X1wRb%vqt-=LI46&OhUOh`rT-^!rWiZ>feLgkvL zJ7daqAey%C3=X7yO&VIcnL!h4F_h4}O@!vT?j*kAhI9xgyB~bi2b<8EndvuGMLD2Q z=mo5gzL&cX48@}cbYHB-Mj$UlGn{X(G)`z_78GGd_j7uam!iYHYJ%boMuqP;M)u3~ zHZ<8ie9RE7{s3Tk6zweW0mAB(xk5aOLejt*N?QtD^~9)N33Us9oLbkn>7WS4v;mRCv_MMcI0ZaF zbgH$V4$9L3P3eb1X|$}we9P&)BI0atiO5 z=I)ou#vDy7)tIB&T8IsRWO%G_e|8btYEhF$yEs9*f>0#Rn~C1%GJr?j@|Ut!mW!Xc$#B#U_<6e z@pz(+g18nuFpXdE{mGg7wOS#pOyHA~xPw>eA;68#)h(2%nh)Ak&}a&gRq#$*BZ(tn zaM%Q|8nNlOszz#D?@=OAuNq_yPLO~g;tNn&5ZRpXg6=wMkm|~;qmAkg$}5@wj@t~< zI;$fKXZj-xr;(HxO-d}WNIi&EEmEfx7J3sdgQLurN#jh!n|VIA?WFp#ZCBS5{Yc=B z>2v&Micf@o>%C}Lvswb0%?6sA-K&b!a?ct!gYxi=TGc2+BX-sdOSgC~rz+6emv2VMfE~CERWP+Yw_d^%TQnUCbH&U%g^~dYGA+o9mjcFfo_-Lj-V{mCc zl{AiyY?f)O&aw4V?%3Vd!z+0`eea}{vPQ!Ducaw>gX#X@%ecm2M>7yKPe#@0?a#gI zh_0`UYM_HFypryov7SS^=MSzUB7QaN3nisER2cSv+518$EuG^oUAzHweL~>vJG7d-X9Idl3nZ3(O z@kZ^hOKmIHxVIBP?fGyMAF)p&rH7esuiLoA1`FVu*!!TnlIBZyj>TUN*XEmWGEMT( z{cJEhG%N4HIvxl$+1=sZfMNR`xFwWM)#f=A?tBcz=EP9BoK87=0rTXI)L$e9_pop! zi3v1pTElK?c*a7tlylm++_ZxJ+zjuFuN%)}jV|Vf{q7R)+1{q}gwtiTYxuSNHD3Cc z5Qlw07N?ue!lgL%XH_}Q-&q2#j8(k{Ppt2ucGY+ARS+^ z-X`6MDKRy#L|!Zl`EVhu=nlMDi**lL(yUv|N1lUv{%q)ryxF+(MP<%>#B^PbCnx3L zbAoJ->b==tZgE!_35iXDCie`oKfxzSM4R<_C)LdoZ||B1%kDx8R`qUmrL5SCsT=uf zNwz_&^)9X??-qd$5E|q5f$n0bdoF!6j=Mk3O2)TQ(kUUFy{F7|`5 z^@)ATFbwLMlwaf*6fwS&(ql=6&{4VBgv!HfXu(?qrqfyMk7gAXIfS=b7V%vc={03J ztj86G7iPNDKal>dWg4mM4O(X3^IoAFrR#pTJ^y9n&$JSh`>PvyQ#FPhg6cphe~Cnd z^5>%MGw*R==VeY()cQ#k@gm_5QH-|z&X}UqD~3^hb^L$So1U@UP<8KSjcx$~j5YfWF7Caa9oh6eSIk<=&V z%t!MuE=Z>CGVfeM_;w6)-FmAS*yzNBpj8Y-vId=7NAmh=lj+hKQ%}s*GzBj1pLK>v ztTI-@s%kHi2BuL-U)`H>9nG%C{Gg|2UX#Q`I|~>9gI?jj z{Ty=_C!pioV?S8Qrs$*HMdi3zbyjI3Bw7lyamYVDJ24CXNq9!+y*w95@QwsKDixtf>59JJjq3@Cb!X2z9G7x@v) zXvsuKP=6N)L_$bf7Ha+E0idiD1Y{VDUtUbgjh;*X#Mbt?VMfuQf_~dNtUM zY~jtkM~o+)OAyl{W&dAPt&ks$b?+k{w3XWS(Nvy?;{g)9XbL=@O9xbV)Y zAW2n4f%}%qC=y5Y?^pGjv84s>PyaN4>Xg8;p_qu>96g7fHHJp?TG%tltG!Bt6!$QR zg-igl8T-9v?8*v7+%Oapb@TZF^)E{qHDm>x;$2)}aL3rOJM>jzez}+M=p6K6&2vlH zbZARwN=kX~95)EXQDt7^;p!5>0wRdAv0pL;i|l(XlhTS=g}}GJL0p0*a|~GII8ZaMvXLtH`6O8yU(3wp02vnJng5a)?|0hsQhKt9S%pt zJAvYpacXTS!+{nJ>zImYWhcifb)x({oEX!}^^M11NNK)dFUK@3JUcVy)RL>44vQv# z>>IZ*aV1vUNlFvL z3Abp+b$~V&@}qfQ&?T=aQTR~;ldM}m-~lefrjPU3>TGp?hLq{e-#ffR_rY1Z^XRpb zp>A~>dAp{%)Hl_c_8r`B5U6ET`7=6qua>CqKhyVKB1Rm*4Y@JK_uvjV&vJlBd&2CL z5Q_n=2;p2oYKnx0W$iiZ9wLM5#z6f+IG~V`XV9%-lLk)nw(i%^i zxwvsRb8%c6QE=2)$2^&)C!sWHvPPA7WzN$R=Ic;z76*DytM&A>$!^!F9+M)O1QeSf z2w*8;aO^qR~8<#KPfW zFOYh;EIjN*m~gOmz%JS4ASNP~s(PqmMYI|Ff0f|X%LJG0LmgCwq#W=tSb1VTYhhez zOsA)=xjw8A+QHEonNquO9w|&-Eyci*8T{|~{RPMakTv)kM4g?8yF?m@+|J938U4K; zkq3oLO4ErhHYoXtTY3`l)MQvpKWu2b(yo02H^0Xy0F@YofbGqAwVxDluI4Cb?+j;; znHd_150cy#X2GQP&KY2nM93}-2gGRy_uGlc@JvN^@sp=0zNc?P)OMa_jX8V43Z(-) zU}`)RfdICryX>U@yB>Mg`Z=h+&k z(|O*NQ$Cq&6t)nn3MxiomwWAtePo&JggKPq_Vzqe614FKd(9rOHkz0a81MKuqxq?I zrka|~#Pn>V>S~-9BhG3%N`kRkQOLw3((}AGdlv23Ri$1V2hc`>Q-(NGNVKn@wh)(K z=MBYYKyp#u5uXv3BklIg;3+rW&rXK3RQB&um%1cdO9o&}MljcW<-{H_ldezig8(bG z)BT?ly>u@@(n)Zvnlp0}*TXq?TJfJ#mN2`h!+l~Lvcwi-iK22r&1zYrmp;Tpj?lpIlPv?s zSQS?Xpr69o?e2e6fE^7I4E#rXhcekQ*#l_Jrn1ddr-WqEeRviVd!e~z$L5UHZld?f8h_>Y75OpFWz&Rh* zLH~#vr*T9n{@6E-;7FB=74tw`tfy`P5d{8Th|m~{m|}U-D(SoVM3tuxN>rDIQLsk6 zND4CR!S42}CUxI>dXpS=^$xJ-r^24(;Cfw$e%Nc(#kWnu7-x1m4A48MSWNbiUr54X zaR`L)-YKDSpgDvyRaaWKzabDv;P})Wck6o@`R2MIiZ?XkN-f(;87T+!pr&U-X35RuQOXA_T&KXmRjW9HEsxxMYF3#iP z2=<&oh(r2e+smq}F9O{sTbUE<^!i})+$3X?k~0C-m;VuRED^CWXC~95#XksfdDW!6 z3DEv5C`lri6|8Lb8}75mWhJXxbw9HmSO181 zIrVSZ)4KJKC#U|(ePV2J)!34T12XMwFH=WqS!7Ej#+Fo$E#}QyXKYC-koU$$$dmfg zS(BPh70!m#W5%D2+((K(*Ac~pqVMi^Jm%xerZAD0O(|9@T;?x9qpZqQhh0w@>9vVc4DaTvExDE zqta>qlQKs1K{iLAGysd=LKP?HQhJEtwh)yR_BWgNX{b6OL^#hfE;(G~sI%+al+4nTo+B~)jeiRw%J1>FN1PQ*u}pFfcF zI)gb0@f1U5N$63Fu0i9!{8$+*@lbjtUO$N`or`cH2aft+fqTAqVf^w69?!Gc9oBJE zSK!|IhT9Yd*u`VTI!?x~(;XZq;bfqJ%Z!XeF@eQowt*@ruiF$Iey0Zte+ z{ea0<&BxVkGpA=?Z{)RzRf6o<=LHBiCcK`bS~xhQ9EBTF!Xu%X>_XWL%RF-Q{d5Ck zo%lAaBvUv(EADaH9%oIGF*jPds_{~SOM_H=_c>`G+*NkWnfE_ zLICTmYG-$4R+T zBgDmhfTpCbsu6X}JEP)w@IvqEs1n$HXI{ z-P9(t#aH~AI$EES8iRJsAk{JT;xi(2vc0fc-=;*wal_6>5$6%(zJ*`d#p)K`gX$iN zJ;sy|dUMi2%DrcinE(&)H&Bg`@s^Mf>uzJmh|k4Ezx7O6=$zFkL?@FrRI4vt4>+Aw zcm_uS9_$^~4_7Qkr5wJr76w*I1V6+9mQpJ&V=gOnX`4&7iC%ZC;c;n(`6)Jw?H%_6 z^(p>>iPVp&@{1cNVIGoN-c{Po$bSw?4}bWEW%IjUcPge8pt%k9)FA<&0p$y2KG4d zDO?Cw9tY*z|Dh0p@GvLLsEdw~X15k*oi#7b_;DR}hn7&OW+GniB7{E^bLMt=xea#1 zb6KP<##M}zN9La2;-0K(q%G(ZO^!o}+Y<8h|9BvqX$9O2pRPX=+N2IKTd(Q2l9VMi zys{S{Z;0?&El=uJ+jL2rOSy?9u41lm60lnTp?4^b;~i`Y?g(|M3i&ShTuCm~GCJdi z9SQl=1DCftbMC!A3CWj-0_q9YnqvJ@97zT%WcFr~Zi3uIXFOMqza+d9JB0093;6)Z zEynLrWh%@EEum(HqkGSrG!mMt8#`MYacx9;E;mk- zG`}s1t%5HE;R~=x+_OG*kN>&WUKLLO&I;Q}5sT#Bqld@=KM{_tH^V0+?i2TVIudan z47qwlV7Xq&!}&FSp%$C;m@m{5xAh@$Mxc~nym)$(gIn{}&iJgBRnUS|p`Zae8;zRh z5ZZ<2-@5Z!x~&n3)@VeA`kL)t;%55Z1QW#i@v&P+cfTtSpq zb?Oy!ZOAmJy2t?GW|~%3h&QC%)+^;Z{tKs}+@MMmwPI1ers-C3w(gE}rM1*QD89*O z53hj~kM6RMstL3W8Ps;M4<%tusS-$&WfNip-Xfej6MehWV{L}qY#Jmdk-WTb1aA?m z@Z{P2Fjw(NsE!#;r?1L>pZipB)S%o^e^h@w#1PCEX;}N#8uDt*>ey~q%?WBApY+cJ z)lrFZlY_n}gK8d=@P9Za5&Mvg^(Jj}GHe!@0aGQ1)3$yrN1<%t{aXB|X+yDJS;$td zwpzA;=Ba;~&q(I5#4IoO3miC74NSP{lFFL}#lq5BR@VYO#0EMR6DFBKW@!OdY(rLn zi0Dr0J~TD|S57AQX(;ZHU(=_vwLoEh1?IOUR8Ku}V0Ah<{c76oh%@c0l)T>PKVpAq@uE(*> z8BT^&^{R?MH!OTt{>qf~T3@waT~ai&CoOl+$S-%_e&wi)V%2VGezB(gicwvKsjlnZ zyk=`v4h)-VbTTH)1{uEI8jeXMEAVCEFCnJbeHI@r#kgrk=s2lBCL9DDS@b*rsUP&7 zBX^y_^PC}F$5Gv2nr$({l!n~I&O?p_&Kssz7w+@A@%HX1Wa&?$oAP4PG{>Ck-O3HN zBoq+c;cY$=L>zm!Q}>l*9(|-@dYu^iRc~1-<{&Fg58%R>`kFrXLg^kXhGmk4>m3&5$R831KzU}5-t)r9=OgC5({ub*6lR+kaj5|mK&(Lj{!p)Xxg@O zL9ufcn~7}Ph7%sbrRsOWp_qeC<0`g@o@u_hEIc}uoi!pUt}#@D88hR)+hg)92}7fhKUlveXM8Ck#K(fWSd2~bbxt>W#JwPXjFHMc)SKftz)c?v| ziB$b>_TC4)uBy!UPfC#>)Dsn)FhlJDqo!hQP{CBFO-fo$AfZuEQlK=7)&SN0{oB0h_!_`jX*uhjO4TF|2GqqtH$1+Z*VU+R2Seua<2w=(Y^L^KQ z&fcjGckayd+Lo8?#z%!+ zrMt6RJvu^vhxMAi!oOC@k+I{8BOb<6-9j8~(-pBMkG^QhF z>iWM#InYB_nR4qmHH-^FG+ja$t!(UXknmlQDx0$Ww!p^c*)RRIV2qkpHvaLF{Ev$A zP1c|`KF^!%FO11Ll^Oa3&o2iiSsO*)_6}5UVNmLt!jDPn#+~lATycHtM>@;MNgqG& zd8F}{jb$t+asJtpr2LnS%}2lqcQYILXk_=bygYJY6iV?OxiR-EO^jT|GePI%ZPqHw z+*_;1FZdtpyv}t#;5r;Nt1ndC^*ncbL+YMi@ayUT_Yv|wGWL{kv8=4$rLx+jUA>eV zW%1^?EOg~h?wVE@6wg6Y;A9Iq$dFS)8ylme-P^ZFY;!A0lJ=buGBEknMo8sbbV# zRV>}gJ_{c-Cl6cg&wrj*z0%KX-{3bG;5_jPhW}Jo(A-^3FJ@e;P#H14VAc1zj#J5o zDosYm7XU}w7`?J3u8iAUHqJTa(|_vt7cfP8ze7J+QrwnQq_UQZgl_)W z$K_0@qPA5t*b4>CW3aH(>>VqdXZG~@3BBOZ0XaM0^!TyMdS>p$T3Kc;Lq)tZ@B(Zd z=jRIVgfI7KHw+)vCziif(6fH7@LDUAaA$SJA~a1MmgQKx>x}7JJTw`v@0&w<*#o0&6@Dg*Gn~_`?~7- zv17XbxKiuj>uM^?^qq=$R+f`3lkGn1S* zcHcgew@-Vv$yqJVUYssl_t%=EsFMfjN3XfNlSW2gmpEOm)##zJG{>3H#EFVPU;KKer;F5t7fF;`NF^2t$(y|n*a8j+3|bg&(U|QFGTipzh07i zQ7dwDDjP0}A{i_AV~p!!;zZA~e!0q#9wmDvC=J>&8y})*_=KEYvG4GsNaCq%))DTYN zHR3PxA~xh^asb04GdXTIW}g(;O$qi;l3g*4?Y4g}!Tv&$jqObL+0|UhHGhfExBv$b zXSc(cWVieM+%n79`#p&xwM5-kJwjQyY(bDQY(N^Kzl}w&FN&0AM>0y*eP8u3AtReJ zIJmE6!7tYS-s0{v&U14=->NcLoSR7p=6lK~PAO}B)7{oF+mof<;VxJQO|#G!)3pLQ zIN7PfFxtg0FH-a(Z3@GK8`BKAg##=zwq+T+`rv%<9>IdVL0jPkY&3V@kftk8)6_F_ zlU~MZyDz!8`JxZATyvAUHl)-ybn~qyK1->_X7Bc2vRSsUHnP4IO>=>8Fv2v-%W`G` zJF`;vRH>(W^8s3@`OKNG>^_}OwVnBaVa=S_`Mpz5^8GmtV4TK5MY+?f$KTG6D21^v$*PyuW^x#XTY?9yKaIVZ z^AO{6e_?e%pS0&GrwVcFY%LJ2vK=bIg^er|36HuzRe6)YVI_a%1~zb1u6#%<$P2e! zuED7NHs;C)JNcXhhr(M0rRrLhRaFeNtWf(o404OCh`1-Zg2HhvJ0P*>x8>goZz_A9 z#M1l96UHgMuiWrWP2&nLO=BIx$!cTt{dHimD5it z3j_Ij!(cG8xx1^b^f}CP%?e8|AFX+`z70U@?z)a)vbi6kzD@C6xE9|x^# zuk$k>ox$XYbzy^fp3A>1JosgqUP8ZSwU5gDne0-{INv-;W_1dlh>@8CpA8xz7yn{x zYINb7r)fnW-LoHB2HMHMKNmjB(&*xHVy)F2{S&#Vx`vIb+URO6DdVHTI@^8x4(1@~ z=uC}m#hwa+4+1>=%XHHqtww*@hCN6(j5C2-?9g2?c~b|CnwNm5?;F3UnBLfZ>%TU4 zOV*}ZU1kMN@90OgS2_h;6oWTApV066w~K?pxdHqpxKVhb2aAPpC`Hy@au=%R8fu`mv~6zZLzy zeu~*swbyspeuob=dP@8&RvUBx}%k~-fheVXKeO) zMe#cvtVqzI@hl~1?zyvFGhA=Mb^FS4G9jy-%1G7>&sg_+**m(_lwbE*mOrN&CmXUG zs%E6VxKTg5M}smn13H!5y^Ud!o0gwWYnc(GX=U5E`Kwtel7Z}=N7vIwS{GPK;<+`U8~O?pTQLHceMa8)i_Mw_-vrvor`Cr9_UudrIsk2 zJM+LjDnd(FB&46AbQP+lD-zP#j`oW3Ozu!qYRP^MuTIr)*h3A6KFqy}(=5mrw}#>C zhVFZGuH+o;N6VRge!Tg#JDBWy;B$AQk$r9k z>!AKb(Zwww|s{A_SqBTX;XiwExhOZ>&taq8qvNo;HW*HmH2dE%7*9)Wp znN03xt0mH{l`chp372_!CycYBjal+atSZz;VrN7fRgT0eqm3##Vy8z|42_Xp8s*1$ zobGtCHRdMy-0y3$j5j>6>@}$+f0=sV&ezswr+}@mO)dFRvz86t$qRKx9*#?Fe2yiPDgroUx9+wE|!JodIgzwPVcLmr?t91%C&zM<&8&wJH3vqP5Dxv5h$N-~7;PRjWSqYE9>E zQ{bCu=vVMr?ti)PdA54$D{p+D(4Jr)&9F9xJM*(bY)&_A9n`@bqRqPQIh=Y2o%Ct5^Lehlppozd1@Eivy%`K_doP&S=Iy zDq}t0nIN&C8%(@{To!IsygTd*@BU^xNi5;i4BUnG>)+`j1>1T-VDN~~?i6MRK{^O( z2nuie@9H#7J0xr3hn5MwDWl$}Aa)*Oe}go3An_6^HYD}jTv6PNqzww6JS)?^ev%n9 zE{y?$CktQxF&DyX;rNrjo{C;&yq;=>ZD<+09n$8dRTodKef>9PT+AnW_&6Q+qWsP? zwdE|6OQl|YX+`eg@fqKkik4M9k~%HU4E>Bc9tXAoh~?W;%wDS}mZh9hbL(ks6x|h- z@+0`BR84uRrpbI7ZIL#U`qpP|=UP|Y{|;uc-&vj7^fmMvp1E5sseJ7_v{)mn6ngji z+P&Ulvd#2csL4Moe40;Av2OFNsRy`a#|ka~Iyp7|vu|$DinPk?3oouc>%~V>4?HdA zKaoQ|`t$SgvzogZROGlyp8odvzQUtHbRqtH+tus1j!Uap)|CDRznU3j2tt2Zrs`%O z;Twn_<>Z-1PoeIYjg_CId&Tp?T#24pRl25nIVox_Gd=pRU5gw#l-AXd-K(m^onfdz zW5ac8--nOCM=Ki$Kc^~^;tZfX=2LSiLqg@Wz3@uQWNOoksuy(Ovsh8@K@2{GrdlnN zy0%$GdEvngQ=D11sd@uSE!_{b>Q|n*`z}<=*S@Oh<}b@fR;lMOe$q`<*D}}JoZ36e zvcsFsSivdbnIAk=Sb%x@MrKiY(KmLlt|)v}$=&xzpA(7p@j`T0riTS>8;4H4tmpLA z{6JZA`B>A<&z_zs|Hn-E_cP`DGv&X8@`23B`<3(V)2p+$*Ou)qD@&KHFm*l=|IX%vY1X`;OJmK1ElwnGF>B{O!-^B%kpw zlf0|1J)%!Ttt)rhZS3e_j_YTIXC_SgD!xiRex&}-ry3rzygl$VoroW*G2QkIA29rX zGkZ!cK)p=Xm-2v2hptyxfJaxS@QUXtle@kvH;{P5ng8}p5%rlK>Su8gK39u(V~<~^ z=Q=%uj}*3$(kx2oITdz+nNi`pn|IRErwTug^lHoLW7Nei^1&jD=cms6K2H#w8nEz@ zpRkBQUqbykZnM6W3np%g&lLSAqpi5cMRpqWnc69Uk6WfMk8d3M9co3zE#;3)y)oOw zib?x=wk?+IxuE+4>&k9Am0goZ3hz8$kC^F)8JU~DK0L09dq9f&On8FxqQw>Plqyi& z<%F)*ikYX?m*4m#PLKXQpPI6LP_NH?o7uQ2Y8J!YBMp1YRRvN@#~QN7%h#@GdiZGi zrc+nmG>ZjR=GiyHYt%^P{=)r4=@#h@X-g!#p-%EoCMI^2@V2<=3fr)E_h0Ben&P&X z=jTt-i|JL>r-Wl^&R%cF(ky?a9ZPc!RDEgsnpZ$#75gchPpO_UQm}nI??HxzX9_RQ zWVLT@qG|5rCsUaP-@omZneylP8YEk3#XI?R`nepR)_k~d63kGzoD=*jZAfjnUdyAN zDLlxPYtDLR?kpC3{N!P&=)D<5ttk1Mw{c9I7d197`1T#wm)(@UX6np6S8Ok1yX3Z^ z<&U%$=KOMU>Ye3$moW4lc!lZ8=!2JQ*$crAkfuk&22-9 z!x=-I$)e_3qc->Wd(}dx3YTwE_-x^33x8JVCgjFd+%%OEZmt6I&u3vH|Mk;0$+lt$ynN&X5Q zs-%{2Zy{OVh2lfsJQ|**4f3Jyp|yO>aptq#nO|qhpTX77{THpBPBbnJXRNBpbbn4G z5gVUe)ROxd9~bq(id#-4QdX8OyLC=R2dL{Wn_-vpqnCivv3Ft%(lh!5Skn)lqMOY) z<0;K^N1GOW@3vcMMd`~nR*&*R|6PVZ*FDYNsT%+0JdKn4rgINZ!Ob^3bB{WE6{k2>XPm2|;R9XhflDmF6=|bON zz3aRBVXu+4yY73-?1vWVhu(U9;aHhI2zr0FYVpYO(#ADa%HsDIX@r@chYnFlywIJ_ zVAw6UYb1H?8#9BHdn=8R$4C){;L^P+2ed*Oa|( zF{#?r{m>{$g}N_jpgH$*@T4f+50s%*IEUoMT-vt5nH|iHAaA+oD?LeI}e9n}}42-Er?e9x@w`F`2-@kU+^ zeX#L0XO{*W|DW7-IO8+_ib>vk8{ha z8unkBrY$^mUdyRZ<@hjQuAt7Z9)g9#a2s;pZOHz5MrzZ4N3Y?T@0PE7Dw8|h@bEA6 z?57udy4K=-Ed1D)Z6e^|pS-2{REE^qDm-@Hy7L)vveMBjH{UZQJAci;t6tU0et3rM z(s=Ef!VQ;cX90I*eEgowfEMhJjf4y#CbtZAJhYoWYKc#r% z<2~@<)k&|pKX~ao_M;}t%eCQ+xO+pU@WTmmqOWXs-;$>3^N1@vdq6#luxv9-^? zaAM0Z?#9)AdvXZP&GJ$=6us1MdV!>;z{QF?{zNOD)OwQg;z( zHZNaY)wuc6bmQh_>|1}liJf_GV^MAyKXwZp+4q(=Za({!&AF?qmf#XjUQ+kO+9#+( z<&DwGb2veqkF0T85*ro2_%K#^&~JK}hwsK^3_3jU8TEZRp8Vu;jO8A_>q(Xqm5-my zmYee*<2?0K?d#2@p3UO5*0b4AZatgqp3t+&9#@;2D7LxL)B_C0T$NIFO18UK^Bo~; zcVTptD_zNQn;)-T(cJy6RSl^%uV4>IC7);?dUk}*n`jg8CF8G?;FPAj_Gg*rVKj?79vnXBdzojS;A`bo94*TiHaHgP(L&);HV>)QJTX4#T^?;~w!J+Ut*qc{ zbUl1DnRhV^7Cw0o+=q4c{Asxn?IUL4tZiuh<3aq%PhX(zXL3&^`raR2< zc-Jq=DyPAETA$W?XSqRIIa9-9tSQIG-0m5qxSy%Nm~pt`1O^{sL7KYzZ;&+6ed}!C z<1i6`Uckx!_6f$8`QGm4Oci5&sk^^Ty5yR5VIA<71(~G$0$~)EvuW0@ogx35UfHJS zwm%6z41p&?)$@d!YDmxG$GktsuM_8GV*e#+ZV+$Hs>3~R{T}JOEwL1frOmIw<1Kh< z?Z+h7)m+wnMjD5tH-}wU@?DuQ!#sLL=%BrDopwWgw_^OS_HU}Lqikl3^)TDUQO&$B z%t(DMKck$lv9DpHF@=*x&ZpV2OC;K2{ITnybDeqRVeK5fFDlE0AL<9X`TP-C&=j;h z@%Xzl8-w^aL~GfT_oeDuG#Ngdk=l64abiVVpT`!N*kqPhDFc02)fvX7K+Xn)v90u} zwXMaH&U7>FCJ~$3AAa&=4i8dgWeVZpQ3m7qfeq<(N5{`;LUVxpm9OLcwk^K0=G4qa z-rG}~!V)vaAt-Csnbq>KtUEPzw@usk@Tm*!lG*sdNh(4)xmUb`LTsqde?{u<58-$0%!rnod2ZG+Yrb}={V30njdgrg@(-R?CG4tY`xh>dh2-T7 zQ9WDuVwZL$evdb!$??C`PFdbBuHrEkq_-i}3E64@YcHY(au)U@Rd$n=OMUP|8Ph$^ zE2FvQ8I@GMnQW?hL^IBv=#9NbPdO@yj1+c%p0_p%)C$iFW&A7p^5}c;NE>h0jd>@r zVzX1v{;oHulD>f+B74IJ^gEQ{%~<37*;|h{ZobpZt4Zy-fb!C~2g{IN32%`9^p~YC z|4j4wqnu~LO07&PGg7RzdqxpUx4Ha0ry21HURr(L_7EK@G-v{N<3)@pAAUnQ zH<EO;`uf5)=J(lGU>_VX@4!et-}bzPx!jWnfBgq#W4~r@uh_E2uF*22yI%Mf zgVeX#u$anZ>{fX<%0wXJ6^k-1w>G3^$}Oe z{oTfBRnw|H<$Rgv3XVCsqKl3`>Z(WGuYI0ZgnRn=A*KhoPxlg2 z6|j22@arLn-I?dPWf>+VpG-HM`dD*!YoWQjZDMoVB!`GTr}4BdieQhP`L-#3|I_#F zv7P}Vc3y!pUvkrPjk(L7Z+dtvy^6?-&AHE*9l39c zTl!su`|BqtPHk=S%oqNlLAC9{>VBk!)Zzg00&fQ-t`XnN>cF#q@A;{Qjqjm0sJr+Z z;^V(t6nFnN@jtqFU1w3Vp?j&;&sK1oDaY^|gGJV5NtSY~Dw4bB>kP=K&|gy-er(;j zMP893>8r{;E1N!l4*mXO3;cv%qAE*an=a97R_vMQlsqyG+nhGaX&QRrra8QoF%%gd zLb54eUbvR;ezG5j6K+0t@~_n{A9&ChO&h0XtmUW$o(X94tSU==?x!#4@x)_7k0;gI zD!bjAsw=rRtIkzK8Y51PBy6Jd%PY*6s_Tt?r0|yuXoFr7y2^9jUCt6@o=c~(gtnr7 zGp%p)CG2Vr&*a=vX6#<2!yD_PJ873oUoD-=r*xP37A|$t#sOG$6gn01XnKScKKNZI z-FC3CwioqrGuORU7cy)*!JC)L^q(-;pt-WU??QR(%YH?5dZ;CII+YF{aT^_u)izWT z1N@5QqmBn17aR{eo^U+mc+zpD+bh#vF6?zVu5jEA*7*DHfc2@aZ*8eQljx~B@+i&k zzFNFfhoxFi)zLjWgi1Mv0 z>V$O21}k8!L~4rIuc*#(op7;cU-wg%K0Hs$H48{Wg}dcBS_@qaRV#VLG~trX_f>y^ z(p$3WrwxB@&0j66Fueve%+97Q2XImHjFIAtkehO(1 zYz!5Dm2M)_`n)`9t@@VgK7J;;9J`mKi_gi>Y5Vac52oj4tgB?1#!WM>Ro28EPiqld zmRQLCZfG!y;^y27tPfPaQ(xqR>Hb*lr6BbCdDN`jxSBXWG*`paZIf@Qt_SO9GD^ow zw;E$C#?zVjV@Sp2X3QyrW&z%uYkr9MYmW4vzxQ+m9b9%%eMp zkrB*Bm#__$ZXds-Fg%WSTPszcN-eE1`no-R8tT5smwqWRkqU>Nq{-^mhh7TjOie0F z50h;9ywx2gD-l`of(}J<#Vd+fF#6@G&;9K)y1!2`nNYf$KjHe$A5#A1e085RcBoZ*LuwD)uVHH! zOw3_jFGeGl9(vr2+O8P4rS~|L)jD>ZlhBumCAIgL_C;@=f$B8Y=Z>n#&hPS^f8&eNH(XjD_SKroj*$rp^ zQKtL{RK{zkezGL@^!WTGxktv|((oM(rjDQ6K+5cf+zaDX4d2P~^W&9Ea(^{`+7cGn zzXA@w)9~yM8qaxR{Qk^cgSypIQ;W)OJv;Gk(9_1A_@fQX_bg(^i!#=o#h(&{(=rM_ z`jm~Mo&-_bqucprE}u0_-Tha*Clq^cjBBWm%L^x!R9SB9&UPj&W09WdEd{d~?EN>c z{FzPFW4!P%N&QEM^|Ss-TB??^AqUf)b-S5hxA1q^P+e3unmAg3Aybz4a2~SWaLP6N zL;YN9TNYAxUyM~Xy-s_?mhrZ}z}imgp5AIbezNLcG27dLdyY;oAs#As>H}-eqPmG)l-V zAAg;2dD-}@2Brix1)YqLPEPVbc4R~@)fL-41 z>Po`Gr#;c0^)PEl)Jo{e<%Pc+gzxRR@W~JALfNaQXUk``eg}#Ab%p(a#@whj95Akw4hP!?)ex)pY zhqhdN7|G@U#n+r$Gb+0oH(0D~{^PXx>vVVZ2+t0Fk^gyY{5Ai}g<58LJbv?S^tLxu zFT-3h@42NZ>lxIOHaJD=dc&sbtBCXV`ifav5&ey^0@?&Gcj5J7@V~4JfA68tax@lJxP;24JKjfIF4Q}yRWtso0Ie<0 ztty;_PU#&MdZic_Dv>GfKbu?5@@N}>YnMy#dyNBVYtg4szdLs8IWJu;##(+4J+DM` zEEsM*=crP)*c*jvVcJ?O>!iuGdJz>C@}8p*r(sR%A!}0VDyv$iHocZ5C9&`es&%O^ z^6n>Fi~_2!OB*^iWTQZ8e>Bh)>hbguSEz0cmHZHa_GmsyIDEjTVePpg!=1lS z#LOI=o#{kA%etR68x3uKdK2&pMEoVE{apreDqv_0N zD4Q&>eDsnwxo#F`U-7(VESCN~tI@9bIV+k!qhzj(Qn{pEt6*2x)j9+ck=Gx@oLB(4&m{5Feu+jI=Kdy>n`@4SpH*zvzXfu>!&3L#J zb>)k8@M~Hv^64L$UZIJFk&Morv?{gs>fXg8R~_rayUcy|XcE zS+-lf+wO*XCVxC)Cju>rzGAtc5_EFE_AjoQp@Pxlj6Q%au$_Wg5`A@(<&{f*vG5&I zR6cT=p?oTS9?D16RX=8r{ZKyF{aq-Zxqlm%&$C}omQQQ4d^)k9PO&UZFQ4CkOYjQz z7B@+~{H=v`C&x|MQbX+cP{(?rrJ;`7Wj_pc9HQEZx;3WuB&oTW+C}d})EzN(dy;x@ zOwBrVS4`cRq;lAMF#~z0?u)5=lhi#iRU6cmfrByiK$7}cOw|TWQIEvb!%6BBF?GQy-Tj10=F?Dv5dR9!;jEt<# zkE!#L)VVQLo3cb*6jK)_sS9GNj%pEgSxjw7Qk!CGrBheN)D=nU@|dbGK+5Wxn7TSi zy)mZNICVozU7w`h9#gfdQC7Fc)Se_Y7gOtXixQ>S9;@g()RnA+#m z6kYsceI**#SAf^oey7ffsk4*RvtsI?Q|HIjc}eQrm^$p#MKN_@lDZ(KjyQE$Ol?V0 zn_}vyQ&+}R9d}r|tmQFv!l`Rw>gps_-?Q@)m~`rfn7Temy*;K@F!gNpHKz6?skxY1 z>C_!Db$gO}Z%j=)byrN?nWWwyQ)`{NFQ)EIQuoBvI;S3tsRxqO$6{*6sYhb!;Ux8m znA+;pV=?t;k~$Vs+nhQTQ;#R9&&AYsr>0Ji>nqXHjXf3McdOH>b7Jc3B=xMA+U3;w zF?C*&Iya_jn>pk55iXz6{0&5VL-c(_`$P0fqJtrN717}keLqq4TT%M}(L#t`O>{Cu z+lW@sG$AY}S{0(#5Y?%Zq+Uz3E<~>*nhDVrMAdVIa6QqE5M4>MD?~r2?z(y>>M;%R z;1{;O26z}Os*CNN5OLP=h||?Gm-?t<^~Z$^j@2(0o^U+mc+&BRV-02K=SLk^IG%89 zEBBGx_x-R}1{MfTH<(~fH#*E+6sT<^HfajWBc$L)?YjyoN+-bYddIbn zTODT{w>xfg-08T}an^C#{-Us91l4@Lmdqea?MEgVZ2BL!@`eCBOA^H)bheC7}(L#uRl;~uL zb`aID7=x~UxBYG%AZzWm?(c6elhG-Yj3W|lFxPxd_h~7@LCPY7#d^MW! z`ttCA;;qgf{5?cVjx+~wM_SJqf}UkNV(RuJ_1*-Pw<1w@#nhci>iscQ)1sp8i>Z5) z)IBj(18SlkjHw5b)W>3~hI&Ok5>xdRs?udW5mVDnJr+}sCaGgFwbrRqG4*(o`dmz{ zb83ninPP{EXek4y0=!%^PSxa%Q)efsXT{Vur_PV5^ODrLF}1^~Iw;VsE=*Dv#MDlw zE{mxxNorF}%{p~uOkI(rE{~~sr>=>qtCQ3lV``sMH^kKSN$Tw}wcn{*V`@*5nv1D} zPTdhxwWEYK#nin?>YkW7>ePcV^+1yPSWGQA^+-%ToTNSx zQ+1Mws`jy%dNfHLi>cZcC+bv8J)WdK7gM#iThtV5QH%AJXk1?bUSHErofA`MC#h$} z)EcMGkE!#L)VVRW&Z&!H>cS*-K}^+Hnew_UrnV%hO)<6AsVigZiX?S;Ol^1SnwYve zNxdM~CM@-$Gq~04-^G@9rQ+Fn*_s7&er|yfX zdy~{XF}2^R2V?4iB=xbFI^fhJG4*hg`b10}bn3B~dNfHLi>aDIdO6XW5N#$}7osgh zGa-5f(Y6p>MzkYDTZwjs=zFc##c!yWVx#QzV(J_hCs67gYaUbljANU82e&#N(D)*_ z&GDe)cE`hxI~)%=?sQz~_PZQ+InFw6cbs=zTw&B##4aCjT<3Vmao+KW<6g(3j{6)> zIPP~`Mp>zR1{_y99(0^`Jmk36@v!51$0Lqg9UpSs?s(L3r{jX-tm6sCdB>BE`y5wL z|5W}1j;kCGIj(U$;<(=NsN+`06OP**m#K<#{aubL9Y>DSj(Z)~Iv#Lb?|8^@tK&nC z+Z|6h?sQy1)6?~29Z!0F$vdufd7tBY#{-Vr91l6}a6IBT>v+_0FPNqgarv~f^NIF` z=-Y|*hv++q4up=!HZJA^I+&lObA1w1S_(?gFA!A^L8jH6eNt(Yg@5 zm}n+M7ZPm?(e*?-LUcaSt`L0>(I`Y05$z4pdZPUys)hQ4A=*fEI7F8cJrtrDqJi>PNRq404BnjI^A8KB8GJ-g=cqFe0j5iLDu&(aHU7@HsEokr9}F?C^* zx*(=@dDnbdOl?V0n_}v)TU{AbS0t&+W9o=gcVXT0x|3)rulEByuLY;>i>Z5)RPDWV z>ZDT-#?%8z>SHlg$0n-;{*co141AGjDFdGexYbIhel@24whHwVGn3R;$JBmY1{J)DT0ztMG|{>cokKJeqG_USA$kr` zZD)adE>SJrBl-rSTD3>Cny4nYiN29&Ux>bmsFrDv`evd-AzDLpBt+*D9Sza95S<9o z^H}y(MqWv&BtV;e;KeCv%uv&WYss73Z{)b%ao%yO<6g&_a~HqQu@)i<_d6bPJm9#v z0CCW9FS!%{kmG*G6OIQRmvI}EzhTE!jt@Dmaa?d*?|9O2tK$mYE`G1wah2mv$LS(g zzWKcx$6YS3b)0ov=Q!`U-f^$vjN?AXt&aO0w>chg-0pbL@RzDPz*?ZwX(0!iOU_b( ztc9%HvXFYBkn0*kuUU(7!OhIM_F4F)>VD&GsUEP9+NKcxu>bCm;}OThjt@B=aXjky zkmG{mQO6UG3yvopPdF~~a-DQs;kb+mWaXz4tVJ4G+LCQJQeo}b$E$FC3j15lN<`@r>f_A>PUW~8b3EN; ztQYpR_PNFF@ZTCO?l8WYaQ>RyWj8v1wef@fPWbbp#a-fOlKc(1%Wil6dhzQ__?awO zAG`T>Zk09={{!pUTeRHbFIsZLExE^Aa(~~H`zzUsbcq}Ph5NLnS~|_SCt7kpXvzI$ zOYY&O+z3nJo3ygvCw!bj6-xa&-K}0izAnN>D{Tu+-Te>Ra>Y`}L!@&ssrHGMk&%b2 zL1?WGpqUlb6ZR9^stXowsUEeElSh%W!@2OaXI`ArHd>um#tE-vFbjh?_slb!%h-Z{ zyY0CQ_m91oR^S=#A3Npj`ZL@=_6~+P_m8F<>~R0W`eSTz|5&6G(pwcD3URxM;eKb@ zl^*VQ#%@-)-E?Tkg}Sk#JP`GHQKXWWdZ+}hzJtVE{$7cK`gUVcGC{o$i2C9v z>Nf!oGj-s#6O=qhyGYFC@0Td3?=%(*--Ei!4)sf-XwU@y-G`$3J`!{JJrV`=y~e_g z2K6Bz>Pw=?3Y*NQlfQltaW4Oubb|T;MJc+zpgt1RFO4GAE?s+VQvC>tx%?9n1@*(m zV(V&99|iL3O;J=Z!8ZT4lwbQX5_9=6iGuo3V^Lv(`UDX5%c5w~1eAR8*I9Ce`g0Nm z_2b5(js$A~gYJzAdS)1JHB%QzZ)O+S6fGQDH7pEkwOJva_P3-jP(FgE*Hz zOWdG7TTzN`SYa+o6QJG_MKva1*-=tm-)6|=S-V$MpJyyKIw;IVwFIbN5k*#y`1Nd3 zeG%eZo}FSv^@WP^>xUHPBGquzmqk&=1g!B&sxKokmv53NWWL2%I0c2dsFeWq)+lN- z0gvOP`brXW`Q;J?^%ch2;vX@J+JUIQHwrrs$b5fNeT}K#7^|;#^$CT!sFMKo^P{kc z9`(Vbx(-*%jm28Ypxy^W{hd+NZ-Q;%OJKzYyNg8HyF@{Kr?Iy9XWF6x zAnF&;-c5kNPX78n5^3)e1@*ng;=vbweF%v9g|v4Q;BEB!Ui|fgB+}j`3hD=pwZ*>+ z7L5Q=e;4iD1bCaI`VkUo?-B*|!^YZTCrnfFqd?T_XzwOqU2;TrZiGuo3W8vgO z<|lxtFQC1f0B4m{pCXa=E>TcFZY-WnLA{Is^>@?Wl|Z$rNvfwvq`gZN)MptBSE-Qp zPJsGFw09HWtdi<;NTj_>6x3%M3umQ}_D+EM#k6-5;H;AB^GT$=OBB@S8H)#>LfSh4 z>I-S_CfHWpnp9szBJEwGpuW&pw0DKHcLLPc)80+6t-3v_zKlfLyF@{~#aMh(Od;)^ z0QLE_cN5^OlIkl-q`gZN)K?gbCS$Cq9fa*)kK?f{hb7; zEux)E#tn;-Y8yzTol6wd)*FilbNJOP5cPW6xe4%bN%gHH(#|Cc>OIDysRZ>r5cLMy zxe4%bN%b8h(#|Cc>f4RArMfMs_W@CFjG}%M;Nz0&yGW#+OBB?18jFrmP#*xIzLa)u z0#*?x)%TG|JC`V^?={wz@Ws+xGz3IFLpwJCE;6ZpkVM+KL_z(4v8e0e*GGV;)BiYR zf^BvfeaTH6A(3`2QBXf@tSwQ>eU`Csyb5#qN&?j17v-x=z&mJCeGZAafwLqE>a&f7<5if;rwLHMGRoJO zfJMJa_4y>`2Ifi>)aMy%TUZ^F%hv)?zbeYtnSjOeN%ch}<_7q>a#4MuvA7`$bNPA# z)ZZWFGbUhfQBr*wiMatzJ1VNT7z?*=tb8jF^$$e(HWRSXGO50j#N5Dgi9+UA7;9T~ zMNn@CqJDLh?=S(!Atcq;keC~|QKF!}+E_d_f_f(q^|mPAWdc5em{i|DVs7AeiGuoi zWAW4o>RBM_%cFc`0;)|?eJhE%ft*A^y~kKQHG+B`i25~AzSji1s|!i>9VF%k?v*I0 zZ#NcCjiBBKME%+*-*1BAcMZJO?IJNZaKA)BeW$VLAqVvVAnMme`9Tx#R;J}J#Y(%6 z#N5ChiGuoGWAV@l>O(-(S48KFS|50h_~< z>PJY-4Ll)HP(N%eo>@VC6o~rDC|@uE+rpCS$4JZ#j7b#Kj~a_-R#2Y+qW(eJy9stz z*Co}bNTj_>6x5F!3m*~GRd-Qur@bqI_FkVwjK#A{VJ@#5fch%hy9w}h zN%fT^(%vNs>MM-J!$)B*uM$N4qqKJu;Omm=Ye=NMOBB>s8w+2rFqc;mpx!}yH^J`e zzNGpF5^3)e1@-mD!ci;C<+B8+-$;8m0lqG&zLiAUyF@{~$5?n;g}Hp50QH+_? z-$x?tU811A*I2lVpgsgdeKqaf1ngf)svjhg_AXISKVU2xY)~HoqW*E(y9stzPbAfk zkVt!%D5xJc7A-EQ>jt2{hW2g(d|gug7>TrZiGuo3V^QaWx^4jKowRoo?5?iRD0tD= zO_4}@mnf(oHx_k1sFx9-{t4Q<5@_$0N%a(ow0DVu`YdCyOG_c`odESu(%wz5yE>gz zpF<+;U80~q+gQ|jg|v49)Ni4^n}DrLN%i?8(%vNs>hp}nRx*XOcLLPc(%wyguS=>g zB9ZnkQBYrKEWYBakoHc1`a0UX33gX!lIqJyq`gZN)LV>2=R_gxodES)Y40Y$*Co|g zl1O`(D5$S67Tp75<=cU%-$r{k!S3p|r1}~XY3~vR_0`7W0Ugvkfv9)U-c5k3Osa1n zk@hZ8P+xB>p0GhZ3q<`6+PevMS9d1Ww~|PEmnf+B7>j3IP|pKVzn%7O0$gQMeFurO zcZq`fc4Oh^gL)qj^-s~>O@OORs_!C^_AXIS-)StaU2mPa`~VR3Pt)E_K!Z)H?<0}+ zE>Te5Yb>fw`1K)&ed;>rhaE*hI0D4>99pvpxUvfUsCPY%kVtEmDA+!1EZ%>D`X~_f zG_BbLc(P>Hj*&=fmMEwnH5TnDs80YdxhW)t9wlIn{{q%}(v)E63y)~t}$On~~E zXw4?T6(!Y|kw|NnD5$p>izk>uS~CIaZ>BYy09TY$Ur8dZS)!o6!dSFsW98d{sMpY% zO@J#(s;?oD)+|v_Uu`UEbWraEqCS__Yywkg8Fu2(d7*4eZaDSYgO+ddx@36%>vyViYvP40Bud#Ug1@)mKv^JU_cGwl9 zBM!3x9&(ruaMWRMfCYzr0ZusV4{*}qK!9Zmc(Wc1u)>1gN>6PKZmJ5{oEu1cYFS9F zacHCZ)Ov?Q3Um27hoe>s`Fe*ohM&u49BOo4b=F};u-xWwSRoxsha&-YI6M?!r^C?z zyBrn*%sQM1FmgBHs|^VJT)J(KIkwVvOWZ4JjD_j zR5Z;7PMAOWoB@tG+`0lw|A~py=G>6Y)Y{jWpJBZLzs;=O&k3Tds^6xwjv{_vhneV> z=`5tQ{WLF(maj0g*UU`bC_2q-axYjIX7p?~K0H5yvqma@oW+0cKv%x3x~V#=ob*(G zk00Vd*Q3Q9=2toU3Eo%Kx508{bxb+H)_mp?a$Drc+Mh%$4s| zj6eFHEI3YdX+CF2^X0{2DHc;|)3Vu2gR&XFzLIb*lfkFzPXFdKXsA6eJq^nA=aSqn zIWD2_l_!#upv}1sPUz;mQzjR(6a^EPHqjY{cv|T`8ETWBJ{fA0o}G5{GWFtggt$$5 z4g_7B^t36xT*f9nheLY1_(LIXlb)49w^Qj|AdkawelxbP-7MH_r!0g#^aTsdkoLQUOwxj;IAaSt zK|bM$g}Putg+d;fB()+T4`mtxEKXZ!mNT}n*DTnaCl>O-!ceflJgF5V7Alh#G|?Gb zIA9iR+7k=C!NN$ez*MPuMJ%L~7BtrxTR3bMY~~XSeZj(Lu)u6-L1Zk{CM{^XGq!LP z6@V++U4g3W(oVIWv2BcLRiGp$epdB`L!q>QCotNJht z(KHJS&B6kuVPV8%#R*X6PctSsVg7WPv5I+U0r_+&77hgq ztpwzODbzM4kcWIS4=asTw6Fr?Gon}+HCb^Qlv&gcx6qfgux6Tt)n?&FBbFvoJAveZ ziPSC=&`VBQ*q}sfB)XgHK|U`^9wtmyoD5|yHF67sNef%2S?DnfIU|;)Q}aObz;tS_ z2^j53TG*k)QXaO0e0G#PR2VT*^S}Z#s{L+ZBxzySGz&Y;!u>`pO{xw6vB0G2pa~c< zN?O>b#8Mvif_#pYJk*3dsA^(?dDUUJP)J%hIL*QVv+$S^w-l#VM}SyhYW0u_@KGAJ zEc&P;N-X8!Fvw?0$wO<%gQ^72B?IeX!6M zEHDk*FESSTk`{JNv#`@F+;7CvOzZ%Va$qKQ&;&Tiq=kJ-ES1AvkWZ|VhmMd3)d?&x z89VG229g#IPP1^pEIek!EyelR5g-|8;iz*2yj}15p6Hqrb=4(HVg*nD5HqhB1oP-g1 zc$zFq6JX(eI0+N*08d(&Z>*w)c_2CwM&#jXvZ$5-3s>SKOhDaCT3BSPqJ@PZoP-f+ zpeBpz39xV#PQnC~X41kkV-+p5fapXRkrrmMsFeT<@5f1)fV!Equ+msX3oAf42_tUt z8QiEHh=mW(i7){*D`{bk5=(bO0%}y!!VV>tENlnSi7?_8 zpUsW>fLOQ&KVbr1gOe6^DY0Z>Cy18}Bhm#3c^Cj<;adEJ37BI~TG*$=l7+n>{Dcwl zcEQ3B5DVAgCrm&WKx3b#M6Euk#FB*rAl6_Qkr$m{VFZYU75E7g@S2jea72kE3x`4Y z2_xb!gN0Eb7Ouxnn1C)o(!wz%mMk0v;U|p9;^kmr0*Hl`_y`m508d(&Qew%%aS%Sj zh;(Fvg)#yxd=USj1U@rp{4?98l2P5JqjTosouy8Z}!34bMBrWVyVkr-MLHGwF z;-i9vAs`k$hJP>tells{pb|?K4uJ3vM#RGe3nM@*tj0f>fES&lg(FHVSvU;BKNykL z9W0CjvG8&Hg9(^iNLo0i#FB-hApC<7X`8`<3KR=#@DC=yPbMu)DY0bXI0*k>MA}8L zP)2}-PW*!s@DCLlx;7>CA4=w|{{X^27?E~ivZ#^(3!lJ0m;gVSv@pk5#k)Bhgnuw1 z{V9`0x+PfnB>uq!yyzq?%r{oi!aNZE!HBdAlSQ=zShxlMU;>77k`@*jt7u^%2>)P2 zdSoVx>Ity07XM%Z{AAL?GGi4jw1DsrM&u>KWKk;t7S`b(Ou&my(!xq(6)mg);UA1h zFUVw3I{_AM#Xpz;Kbf?!##luQt3mh&BX03Y;;0jdh1>8CCScV-(!vHMmg>WL5dOi4 zJpGLrWr0}e!atY*Pn)!`Rf#1FJs|vp5qWk83wa)P2o)^Kw01ykG!atY*Pn)!`Pl+W9dqMaIBT^3b zVjc|vvG8g9g9&KeNec&+Sh8>cgnuw1H7ev`#9<#}fA|PPv@RR_)=i{!9Z_P*%3%;b z!quW+WfVw0=HMetKv^W;5{@acWZ@_XA7Mm>TZ4rOAQsa22ovBdlUFjO#FB;MAbf-o zX`jJD837i~!AB?oA2E`&kSYQ55g>eo5qa{NEUF~H!nybe6VM|xftSOa5|D-2Abf-o z8E!RMlqSH!8}Jb(z|)z)EzBOU8MfC(&cq2Z-1bDing=NMnT4({`BaDcTFj>?}fQ2{VBTRs&OIlcItfGY# zAbf-od3KsCYA3+LoAD7Qz|$oytT9&6!fFsc!ie|?BSxJ-EY#p5On|3LTG*h(Qhitt z!bcd9wh=63fmoP}k1zqAE@@$_5=$0(K==qF;v<5EJP-?S!AF8ertG5MbWnM1Z{x zCj;zr7$&8oeurUFIvQ{oCZ(f6hrJ=sLk{x+T3#t%O-qqy%PX*kE5h*`mj_VNZ68r$ zsdgL&;rRLAKBcGWQH~VP+ErmEF}?lm&ojL}@E&G-*#8))s!?X)11y~<-l zcF?{eTAZ?OjBEq)!%z^}p5)Y~AA_2@vxD%pJyj-k1?)k#VJ6>zJZ*P!>b>@54_z4( z{-5A-~+s{immRiqx!mj6@#Lg%|%8u?K+BTg*f`lIWrU(XKR^EO{s{T3}>Y23WF zx~4H&8)9!(tVU^XQtZu&y-~3@DaN3oAh9bEJLAv?)Ac*R>u)8AMVcjl!_yfM1Zih6wBOY^iW z;Qy#QLy4&vRKmJLV-EoSe|8C_%C);X>zATCr^*yL*4-5jm5+5-hKrT2Sh>FLmGA3b z`M&Oz@9SRqzHa-pb!5S??6TuLR6gf{L*;WGl{(bC`$Ekt*0`yL>-c(*DyEzhOI+T< zi5)C+`JY?Pf(vRsrw~p`SUDS)^6)5rfJG;&|ECV=Bm;As9Kj>ch7UMTU*W0JI8_hL zZRv-~mAEba7z%M)`XOgPdV6!Ov!glJ)w!8Yk;*P?ahD4YZe3g4 zOAbD>Uc24-1>J2P5Lpb;b$EFpNGOMw7lKf2s1GkM1PSHv@9q~>JSVz%9P*qfBfu}byZ|JW!~gaLAlwVK-FN8b@Xpg&ntbDR ze~sO-(zpwVaTg=LyawccFNZcOu;}GAAfX&yUIU_Xz}wm6ILB%LX<;v~0SV>s@*0p( z4ll0(3FYwe8W1L~@eePr0SV>s@*0p(4ll0(3FYwe8W1L}@eePr0SV>s@*0p(4*%QN zfKVq{z42dM|H0~w|Kj=&R&V?l*MG2jqr&Ey|I_O~SiMo@7HmG-Wpxh%k#P%^Nej!ASh|W9 z(7(6-gVh^tZXuntuyUG(6=vbLum526Mu%IdOru9jV`xPm$a~9 znuYad;kU2HTp)F})$21Gu&BAYA|M9lyzqI~? zw#fpHLC-^!%)`EEdDv@t_$^C7^a9&&6GXlazzDg<@A5?G7n8eQ&x7JTz)o`#;{+$&1U9&VFy(@6rHX5=ouV^ zWYd|&&(%MDpDpUp{G~obALcV7eV0;eJnVaw{6sz&(dQ}mXZ0mSyDO2U+Q9~Oovi$L zfVone1m#Dx1^!R|=*6kj17Ql%K4D*($+cE!a5Bt;wpJ+~=0RI46%X^Et!c&U%zA5$ z;$a@NmHAN?W82lY)+s(5;`NFTg*fx0EPS&fY2`ENovd2uYFC=gezFK8bL!(vk#@ur zo-c6>c*$Ru=16NpNo4skS|?lGBmFGq>+L5s#EQ3m$<6ZNc4^8R3v6|_8-|5U(!vgz zEqUwhAl8`KPnEX1_W`l67$0MT6Slg))Moj7$b*U%3(Rm@p{n3C7+QR4z0_v;-e6%U zSYWHW-3k?R(!xt^mhTG|RGG=crSw6FsU&NY7G7$ze1EVo8Z5BYz2Fw=k``WSv;07? zFcB;;!#U{|GD!%I z1Sf2DpJS||h1nqbAVw^0bx#Ay16$o|Ou!sKG7s~WSgKL;K&(MEBF)}p|B<7@V+#w- zLUFVFpwl!lKPHQ9gU!06i@Sm*myUqh?{uE%;2Qss$F9>9pHRIi!<$2y>;y8g<+(Jm(goa1}mR%2s!~ zy;!J8T1b_O)z+wk@DEC(UGxSEl?3F0t?qVvu~3(^FvnQMJj@2+AC!iL0h1Ls%fHmQ z;&D05GYfOw!ceeKOF$l&>8vvW5AtLl78$FUhlL>4s2j1g)m_yB3v6}In1Dxq(!w$& zmhNT?h<6kt(l$-@A30z=wy?r1EO!eP_EZ0nGsa^JtIfiVZowW8Ec*p=6^nRBF~JGD z-8U$)bQSACtWh^&X}5b8h=qFk4<{t$iu>i+?OtU9mUbsC z%rREc!fX(J!ic4rPWd+Sz)WY22~ODUK3|EYtC$C(A7Mn=sL6_RrR;V$AH`MlCiAdp znuUdCVS!ti3>NAM$OF6GGbW&JCM_&8R`DuYK==tG@^Waz;(mE{ySKT8!K8(i(=4no z3(MU?MX=BgBoEAVc9`IV-R^6YSSp9rAo>wTEbVsh1Y&{R?p-EeWGb154N5FoSP#Na z7?F3TkcTV~3+#4}OmM<(_pM4SS?B@bCydBDbFh#HVu9W6y(TzexBCtymMm-s;U|p9 zt7EXx2gCw1o&6>_VYmA(C6+Ag1mP!)SlaDA0K@{j-3Lu@!fy9{N-SB}3&Kwrv9#NL z2#5uCyAPXyUI62#L5Ws=P>CfA2SE4mCyZFy z?LG>`0yCWj6YvaA=HZwUOBRlT;{EciArBM5!UypWZlNw|VQQL%<7VMGBjU4z1yyeH z(2jpl0xhdPX(45-V!N0H!ao?XwA;NBh=mW~A53tf;%@gW5DV;fw}K%L{mDFRoo1oO zEacq6gvpBg8dqcDwIVVyQ;$1mPcy zh>x_VOIL9ignuw1Z8KOH1(FA5ItwN^VYmA+C6+841;zX2JA(z? z5-fD$AKXGkX_%LCn3`tcxLJ74h^5``Wf;N&yWJ~fl5(g_T1eUN6z}FN5dOi4rQPn8 zKrFD^y~+f<>m)7AQDW&TW`pn#M&v!iWX1jR%ygQ6BoDPo3-hO0m}eH|x`m-&K{u5= zu-m=P1SjlvUu3M}RV)O>`{fUrthisE-R^dK$%D;_6l>J7X%Ec)xsou#gWH*zMly z7P^uac1*Ld-7MT|M4lJHLLZPkFw@y@0z7Tf!Y(D2@~{(xe=s8DpttB;Gyuc`yWIy( zaKdi)eM&4@*b9pH%MXP-sA6G(na*LiFm0#%!D$u_n1#oTNXrTqMu1pI;~z|L!cO-i zN-X8!FbMx(#L`apQ6LtW=`5Jwgq`lklvuKG6cq23?+tmF2o{*>oOBB#$&#F!X5qM5 zc+QAC^@4>m0`kC2XN3}|lZB*(R0-HP1PK3N#L`apN+1@P>9k6Ug~^fxR)+vEJOq=OkWUQivg`jw^ z{2`MS_sTQVnQ;qgn>CUWSFvoGg%-2WWW>@=_f{ZzsEOxFr_FS(oMvH#Sy=8C%Iv3# zd*zww>@dLzJKfhzv#{DM6z58-f`v{J$pbT;U2b98Oy`Da7S@}E+l`2S2o}^5qu$68 zPuS(YRf(ng*aM39$=3(%Jc;~1vz)zdp~D1TiaVxR*lrf?HDYO(yQ(D?nC0v@!3i7P zcPX)yhn*mNgAq#`-3J`@YvexXlcl9u&LNj}+S`0-4zw%ef5fHP0IhCNPxAqey0kaI zg2TQ5Cmi+%IO%X8K)c158Vs;P0Wb>w%xWvJH9)(YK%eDIJGm@K?M@-J=@Hf;yL2d6 zu5&mVF2CMkA;647O>j^+tqv=Ku@5#$l+vw zd52};F7!IA2(Zs#Wq|z-H8Di41{`KXo(CP)1oBW3BE`3ZnsZ~J4IeB4d7=ZL#$5kn z&W}vprY`^O%0J+D8Y(l7mh=7NsSF!I)0OPvoO6-DM-E-va9zWShU*(vu6RV}p{Hjl zTSv}+rtso9Cvj6RVN#P1OQZ30YRySZnr^Bt17tQnXd&O{K6Iuw!Lo^#!fCCIO=JbWS|sTL{l1oU2W>gf)b73ExauL-;1bHxs^*@J)o( zgl{B#17S7cxrA>ZJcsaH!ZhJIgmVbfa>spK7x6iyeOjCCg^AZHZo5q3r0s?>B!Wyj zd4^o93tFY|c34}Pd~&I5-k={$ZX)L0%{Ru$+gA-`2}dnZ61diI_C5*k7V&zWXMAv_^TfyAC*XZjyvTXR2Uj>xe0ZJkJ|SMG^NbIkbSyr+ zHSjvcYx8vDgC`t|5AWmf)`*w!bmN2d4y5Z6AKq$s9~ZCI(~S=vacu8QjhurBSG=^R z8y`IESbXf=4DVy&Rd~Ab!Gn&)hj$aao5c%*V9p2kJ5PLgH^RF~JdN#GzHPXLZ?8B{ ze0Ux3ZWPZ(pSV8bgY(W4AKpjdvGR!f>-NHE)g~W%419R2;C)oQKIa)9+~xMN!QMyU ztr9PCp7FsQ&J!PdABOi4@j9Jnd~mz-#D{kSybp`l;XLDmTb(C9ybr;J%Q(;Y;40^d5AS+-E5)mK zp7Ftz&J!Qr3V7FxSLZzAgUg&JKD_JTtq`x)dBz7%Iu;+^weYSJug24j4=y+sAKo?a zt`#rs>Ba{iax6Z)>r zRtao8u;!b@w{&orQ|9-rlfw16+<3?b9g9c)GW;%!70I`!8y`I2SbTU(;jv(m_U7rv z2lqP`A6_H8rQ)@Dy79q%j>U)90IyNJdQUe#IPX||c=hla#H;mmc z@WJ`uF6W64?>+DqiC5w2#s_yg79ZYxc<&L!GZ&J!Qr0(kEhugmR))gH8G=ZO!m4&DOs+MQ>7aHaFahxaacEPSOLoM(J+ zne)VlcOkrYiC6DD5AXkD?`^=V zs?NOcoB$dXJ;w?*wzeK?T7#m7s%_#&&5;26$O)#38ow|t6k(k_rLerA$-{BJn!{9&--2% zT$;W9YyJ1y>*HScy4UBag*QXI4UT7gaHHdi4=)3+R=i%vGd{T9@x+HW9bQJfRgPzT zu;+NiOE?{s*R#jA8Y=55UgAI65tGjn_dR9n(NtMgZFT=dWMOc zm4+V(f4_~1n`XVw;Hc8Y*I@CWPxL-=9yr|YaKCsXelsxtAd^b+5JCT%itE)r^uC_; z#Gn7!{6Zo6oj@}4$>=Jzc;~bFJTp}7Jnd%16};EFh$)*9_p34Vv{a%U^z|J7CA{pb z#ZATMYrJQk@zbC3y7&LgD_0bGv&a2|7kjkul9%l*8A+by#V5Z_=ug8?G95-6UgO5B z(6LHe{O;cL>OYmF_jy>CASyX3b`^7UIiseq{;yunNVRPwUC|YQx+kyQ;W`TFe}0eN z9qt~zNPO;a_vqc>#OMxpkDlWpW{s4G%4e0n3zirOOT6+mfSs=-?EU}6ZI}OV3({RQ z=>KoJkdT62ZWVn;cok-NF=4*xCrl8JXp<6SC#*P+MRl0K@|1+@^1`EePT+YI&vKp< zcpk~KoabkF9?A35JU_#;jOV9$9>KGW=cjlc!SisQpW>P1c{tC*cqY|WdPpMf!|-Fy zHN?1?b449k14d0FBEphmy|YYDu;f=**%US&I3a(q@xUbx8xLIMu<^h{Hdp0%;6aCt z2M!!I9=P9O>*m&SoE`H;IS2}Dw@Ct{G2kvp$c;Mv@8xOq9VdH_@ z9X1}g&0*t#n_YU1C+xzF2VUXw>xl<$aN))ScR6f4aGk@(12;NsJaDzc#sk+oY&>we z!^Q)94jT_#>ag*^l@1#ZT;#Cvz!eS~4?O6mwTuT&x^UxxH@R@*ffFv=c;Hno+<4#; z7j8W8N*8WC@Q}mC1Fvw{c;LWcUY5Jn@Nd_tUuWJjW9s-k#~)F;0)_iC!Jz zNxAHq&egOM^0Lg8OHWuXd!}<;xoCP;^0H?-H!O#8S1z0Mq+9}?w4*)KxtgY;9cg;j z?8>lQ_Dtuxa_P|%d07!o&+VDcWm-q_qUl+c%bw|6R}QXR0zE00J=3{iIRvt2)la)} z>EVgq-7}r*%0<(&l9xTxxnVi{-<-}(tzz)a>>Z<0)Bf!4qn1+srqqK9Xey-6uk|0- zY-1y%^BRAxel16o8YKEGtq9&A*V%HNCD%;3&X(&Oxn|0Bu3YEHb)H=3%2hAdd2*dE zSG`;p$aTJ47s_>kTo=i8p?wp?G9 zYmQvA<@$n$#tzt` z;Z;UFp76BvVoN2_l8o`;Ept5a;b|$ymR_PI9^=DX?s($E)6$SF#}gl( zmYQs7DAHNRhquD<#D}M)D_d%cmb8oyZ>8gj4^K;BwsaLOkr^M}D#sHao|e{ZDXiY5 z&-n0q9Z!6CTB@_9wMNG?KD-T%Cq6ta{n=7ov*Q^b-bTk0AD)&HZRxMw@r(~|ljDgG zPkos!B`$M3_hsB4d zrEFVz4xGR7;Z-{53kGd#D}M?1-2C++Hzogc*`A6e0bWbU|S0+U3|uex6<*% zho`L%wpAgrp^Xo(*YU)Mr>zvW^+7ha^oH@_ZE`&E;c07zZKY^%JmbR~bUg9lX{(2A z&1iN!BH_J1jmtDQ(*)v%>isA6}!w;=|KE9@}@b()k-7Uc1BM!_&SX z+sCuY`5PbJa)-r-R{_uV1r51EH9ovv$1^^7gTv+z-V}v9rN7Z(;}IV1k1`&(--R0w z91YB)eNll6Hy+{9el6pH2VJ=Fz{^Jr>{Y%)F5GzFX#be;z(tO4Jn$-qjR!7q*m&Sx zhm8le{c8xT@xU8hxbeWH4jT`=$zkJxlMWjX95`$|aJj?A0}nZDJaC1>#sf$D28{=< zbm7JWNBa+r2d;ME#sf$D7>x(^T)6ST(SAtdf$Lnj@xakUobkZ*F5GxvP0-l@Ku>Uk z3pXCP&V?Hf+~~rMC%y|e9=O?s8&7-}Zai?83pXCP&4n8e+~dNH2X1%a#sjZ(;l=|m zbK%AVZ*bwp1NXRawY!^Q)bxCIU4fxBF|@xTceZanaE7j8Uo z(uErjywZgm4_x8GjR)>^;l=}3x^UxxH@R@*fujW%we!^Q(QJ8V2~wZp~(w>fM)aHGS<1GhVDJaDNqevAk1cj3kZ_d0Am zaF@g84~`b_>@+fXnF|+>en5--hpC-zaQ?;zFLzjcc-j<@6mO&RH$J$>Ve#Q<6T#u) z1Bjn3cr;5vuJho?;<{M;mR;rxvc zZg5!qnx%92)ml7PIHSnO;ATfMGPuoQ^9Q#_*ck)M95x=|%N;fzxW{4Rfmb+eJn%|~ zjR#)ku<^iMt}z%7T<5Uyz|rmr@w7><$euqBcU=(P>*ABY^4st7yGc)Q;IQ$)(QXgp zflJ)?j0fJ};)`~BY;@Rogl}@#c;J4AjRy`KHXeA;VdH^^95x=fNaZZylRr4xEn_@z zw426w;N>nq#se>N*mxX6ElO|<_2}l}qO`xsW4BpYE)Q6F>6EDQtxbo@uQnNm`Hc40 z-R@5KQ4cO%7C+xfx^lAbgKhT*>0UuROKBU>kxLV~=#W;w+Mkl>qB6S_Tpx06ultY- zYjD*!=y03Efx}&V#;Vuhc84_)QscjruWKw6Bp%|`#tNG2uva*IyX@fb)uR1)cJ{_Q z&Q%=UUO^Kl=1H*(aX+yR)g~a-jo;f+$Q6-UeRVx;W-L!Hdq-I# z1ZwYv=wjp=f9s@2g4gzCj~7L2AI|=DTfFnzvdBjyr6Nko9337mY>)t$-|GI++TmHQ za4M;pXYK?xTP}#PJ@TYr>wbkouEgsezwVdXJUMo$7kjGkVkXyClF2nE(yLz{Rol6_ z<$EJiL?rE`G2_2i>j%NhyuV}0bn#?5+gFm#t{;k0IB*}a5n~%MzEaHT<9Nq3(m6Rd z^9%2fh?+ywL2Q?--Wf*t{%~Xug~@9mvOg71nY6jK^H1@PE!z~|=zFM-mh)5byPxpx zBb7xl)q4CVk9zy8R^>E&Y=_cydGWf#5M^lmE*YArC|psevk$+YF03E8x&48#&f=X* zsOMbuXjh3bZ*~7s-n~WdlRXVOmaNtzefZ<)eb(trw|?Arc*o|eLGjo^A%6-E?{h4?Cf7DP$KBQb3z_bpTU;4`vr6r;5~4tAM#xC(HH0BP1M_lq zqjO$K%|3Z=Rg|vu;p>*XsFY>!-7anUZ}5?vmyoEMuva~C&BrqStKRBY_nq)o{NEq- zR=>1wYRR81Py0L@2`L{?lKg!BEZ&#z3R*}eH+L|TyLyOUPfo9XJ(+*{Fs0Gy4eFxb zq{!(FW)?%eQJ=`<8cUl>W;In@kn!IP-e0iI4#O{_S$h87o_}76mz|eD{@w_FFus_Y zK^-V8SDmQse7$9U+J87Rf2ble>VdN5_@}r07a|fBz32ZSc<$Vo4$0HIQ5W$9M}h5$ zSo2K94?Hi)pEDEhq~bU1oi03qELV8hwH38h@3yYe&p1yYS9h3}vRLfnt~NM#znAAv zO-Nka3H{*5M;8}my6<$g^`=sA>-VA~ zmAYNUMu)N^6^s@^|HM0ve1-z1t(!v4uI5GnjuD$?;&?Ezam9M<9o-DjZe@wqv2xpv z+a>9$diMLRdSwNqwQ^(s*L0 z(w)G8Xx;5T0j;Eb(cnb&a$IIJ?uMoG$k*2P@Q4$k0v3{*wp$vdB~>AIoVT9@jSCNOQ3+T7y+ z&!3hEetd=;+^aFBZ=Y{r=3HEo_NOG$eN&2}t2j*hj+|Fqly81OqK3|~f)1s`^Y`N2 zpKVqwQ|U}kz3`R`DYo%nTK(Ok;OE7+ngWxy2`2t}+uz-w^XEM&3*^qSF5cuP)K}5b zq@Q`cX|(jB=RX&`IFHDjNT&V0(*C)0x^tx(w@5o)|E(>BbdL1Uz}hLI+T7g4q+Tfq zp>)-{ma(V%qkrHPdeeo62i`<^#yggLfjm$&q4L5OhIv2#x6=*P_;1wueT64j6zak& zpz-)=GEHHr(2Klss`iP z3ciAA5t`eW~-SZ*Yj8%Yv5?A*(=%c*~;Yf+`%{LpucnogJ%WJcYJQFv!K zM@);eA|v8`UT)h~nDjgEyQ+n+M7^}$x`E&tKRNL2k!49ms@&8MtP=m3z?7}M ziqa)}!W+O-CKWO#KVXY{@ecjygUnsktVPE&{md)s^~6nQUyEIJxt%*9@<>2Kp;JgzMNJ;D&R{eUx>fAf12sQ`l^2 z|A2I%Z{TKW8YKsiKU>v-q0?g`QAqoL$W;Bc<=ootc`-%5T!{*cvWbW>Zg=@+@cut+ zDWv>$!*nV^vANfd=d~KYyw-nZ;Gac_YF70XeBy(xeEk7y8Onun6O_nP{ST2y<)1Y} z&3s|t86tN)hOC5{Lx^DaP{r+&Rb7a5&qmlRFu*Z%AD*0J6gk&grrx$ znN$SU`_!A75FN9R-)Fw zBH_(n%Lt8hEB&$c>G{uA6vo%4Z#VNuW|WEgwxH!xVK1-DO7!O#zP+qGG~T7#dbwK2 z%PvY5TFz3wJVI)gUNe;1ygnB1=q2Z}K*X1QSE(l!NV7e$Ow51pIL1hSsfv4=86ktX z^Uv|F%3t5MICw@~WPHM2@~TwO1dKeIm#1KVYBF9P8aDdzn$XahS{-*Ft&o39>E9*7ozhRZ;@zH!(27!nRz`w%=Z1x- zLJ0mmNd5e;<;n_+T!n=^xR=)>TVFK#O^rbrI_Ii39=)_Mp!0u^;Oh8Qxy*MsY)7Zr8% zw%97|Dm=24vDQSkEfH(o*JB*#o$QsiV4#Lf~GU{PQ2q5vqw=xv?h(~NTx;r z!PL{4W|(|XEPl`AgE53g*?9_0x5Fsj{M0rlibxbz7mP>n^cY6%{2-4eHx9l~*QO#;QRJ zF_bKof(%1`s^2?Ob5tb5KTcK74MK{P$W2vDI6E1iFg+2UFp9ARhutPu@~rmyCVONV ziJD!9yIyKJeh>4s2a!cT+wNjc0u^(Go)acF5L0vfw(N}r&+W@*dBoVbbCtK-df2bx6Y zVyaE@dem#%3aByelxrC?^zcP|k|7hy70%rF^HxjM#Byq(KXS~XXx-l{to8~|4E!aEw>Q)miu~WZge>QO0Au*kgH4UGuYNf4lJ2XoFNWRdpqEQ1ShCOfq>0p7<20 z?tD7lamdjsvbAaddDVV`US7MvO7&#iUyjx;jd$ExreZ=kfOwA+Jt zHXc=@{#Dp`;6c?8*m&T;VdH`O9X1}g*TrW%@Fo{-Jg}@q#b-QlQu)yL#REsHF~$RT zIll40t6coX1Fv-0c;FQd8xP#$u<^jl9X1|#nZw2dw>xY+aGS%%12?<$8c*1T8xOp~ z<<}Dr+~C5E2kvs%c;GsRjR$UY*m&S-hm8lWci4E~a)*rv_8c}IxYS|efh!$09=OP1 zB5Z%j+RD^2Tr(fu<^jrlCSZ= zw#19P7!MpR9UBk4(Y}@kLv`8XQl2c(dWn z5wFqlj1R7JJn`Xu8QyI18XV8~;A+PcA6^5zJy#D>E`ckjA)b`W1(eI4s|P8UWv*P7 zhvl;8>OscKYF8`tL?5i=iM(hFv~5|gcm9oz*WOthiw$mXmgN&y% z*R8ep|D#tAPF@$z*)<=^P6wR|(l(87QaqlR=EW0d)@#wH=Md%~Cm`Q?-tDHQm?~@6 zIB@%PWIM?Zo;W|8dAyg!O4`8nUEwZ7oOYa%ryW=1X~z+H+HpgkcASu>9T((j#{qfT zaX+4RoR6m+*W+o&@p#&CJDzr&j;9@$<7vm?c-nC{o_3s#ryW=0X~)rc+Ho_UcASi- z9T($i$H92oaW9^BoQtO&*Wzi%v3S~XE1q_oil-fy;;EZ-kK<`4o_N}cCZ2X;iKm@N z;%O(2c-n~~p2H`GH04Pgwj!MQu~6PET-y!_o9gg~RnOyxQSp z)I9a%edFB5Z%mYT8r=m}os!i@*^T)6STy)N8%;CdHsJn#k=Zai?K3pXBkqYF14 zxY>mp54_2R8xP#>!i@*+cj3kZFLU9>0|zeLc;FrvZanay3pXBkg$p+xc*unt54_5S z8xLIKu<^hf95x=f)M4X+H#%%QaJj?A1NS>@JaDzc#sdcq8xLIPu<^h$D^!2R12?#E zR;l=}(yKv)ySGsWHfh%3O@xZ+<+<4%~ zY&0HtlM6Q^kKil#v{DV4JVBU4qUkL!0j$vJan>cq<%s!`yS=*$w+8&foa( zRyiy_@tq6LZtPDuf8)dJby$3O=fSgI04R0-#)r4jVe#SB!#hv;O*(($gEu)WK0IBK zRWDw-^EW;?a9DhJn#MR^yb9-UeDILN;={WTp8bMCrSmsFydtKFRDR;ay9l05i&Q(F z@!=&LPkeY6!?Ry_@Ep(h@Jby|e0cf=ii?%LI>$3UxZLr?hj$6QS>n|@p7Ftzjwe36 zFTuM+yavZJJ~*285+9zXy}l$~qvIJL98IH%4^Pu*4dOLBp7FsA?z?UpP1ABVjn?IO z##j7~CqD6Mn$M=?dK}OA@Y)>DP4j8m(5CrTI-c?2wL6~p#HVRUn>O6wc*cjf%<;sB zHxHgoL-sqK@!|D2p7`(@;n}q2pyL@I-U`PPAKs<#8dWYO&foapRSt^}uL<6z;w7EG z@xdD$79ZYxcunF}IDg}VH##gnyan*=7im1_Z+v+D4vP;@)7A?VU%m4;K6ub!@!{#p z#>>QOcK*f(4>>G8yer_@Gazi$2R8&-m~Xjwe36E8#WkyDJ^f z_~4}Di4X58cvp(o>v+ZoS2&*d@D{?mO1w>uXMAw9%ppEJEpsdsFK|5LgS8Bzb}l}= zR(LJq6*+(7gXyj+RxUWzj(wZal)HW!Y$1)s}0KC*u)bvD30_ zv@C2q!lPwjNYgs$*1UI*HW}v!+ zQ@yvXR$1!RrDv72Z;hqmx2;PhAIH_I;LiPZY?F*vTP)$P%W^7b$wNc7*)lAheT!NS z)2DhA_gVLDVN2e|=q1QAMW$Gynza0JY=x{^mOmtsuiT(Sj@I_%&#U4Ud;IQO#||nf zu{HYOa+kLrp1~ImW#4PAB9+~SxZk1tH?Z52YG~)h;C^D$7ghC0#0DNpVuiX~w{bc+ zgcuN3`Ndj~SlUrG30GyEs)qa+cfm;=W$&&vED@Gb@@Qrte3TzgXH%A{1 z{hbo^a}&f7Y|31zin2Au9}G%1k9_Y>za1%l`;w!lb?P)K=W|k00&!0-I1MR zKE<~8>@U?d6vsP%M0DEL9G%$G`O>M0RNqvuC|1m_>%OTOj>u#`Q`+czn{?b%}w0RZ(m*3E*5Hd2xpbM;s~1_P!^Q z)FP+nIO81_#l4l}lS7ff{?br#q!Nf-#dBgzM*yxbEsl3QN#aaxizcnHSF!j%pi zkMI=^8xP#$u<^jl9X1|#nZw2dw>xY+aGS%%1Dl~tdW|RS!i@)B;qvRb`e|_C#v{DT zVdH`895x=f(P86(s~t8TxZYvofy*5>9@ul(c;HfpjR&rD*m&R~hm8lWaM*a@XuxDV zaMFbv4;&4+q5)IFg&U7>8;GfXHShwLxNzfvSMD@m8*%Cqu=wya0bm36YUgi!-fMPPe0Z8runB;2=Wl#?4GxPBPZJd3go5)o zKD>H|#fPT}51XJUa{i@y!mD#we0Z8bu?df8LdN*;JjWA1zp6t=D8qhC{aJYOa7*yz z2euSybDv9Rw{c@hyIMGbp?!pe(lIpE^CNVeDa-iHbc7Gsi@|Tlse5qNe&1fBXld)G z?#of0sVF1RS6x6Y3v=a8pZw7ToaZW0CP7#K|6;n#ABb2$7&P^$m;;B}}Ww(-$ zKuwqU`z-=O=$r0cZu*C$*pWlM$l<(dPM~riQE&R*kmuL+XS(mOQ)W%YvzlTTC>dd1 zU(qchRd;aR1b1$Hf9y80J+3Ux=UTq1Pw5<8bkoMYJ<+F{>WKl-)TqXPD&zNws$!8D zaI;wmwf>cSm#`-}FaFLQwf-0DmFEp4$;HEY5&|;*eTp{!%PlghPd)NRPR=*2`=(iD zc1G~cqHTqN{fEo=>Vr5{{d80H@FB`cz3==x#gk|$!&Vq4vnST7i$uq%c)jeJ1OtQh z9ivs~v4Q85(A7AXo@-xF8QjbHB@*7g6EOe> z_xGiY=40m{uiBTg;i!1joDKxjU?pWL8>&+ox)o@*lB;^V$N%TL+o%@qHv-OO94Wi5 zSp4hc!T9!i@wT6f&h~Qg5ZVXdeEMC<-1xh0_-@gp0>!X!4RVJtGd|n+%Wvx2R*+#5 zbO29PqN-6E@<%_Ww>!!%C91AEobHYgiIeGu9VQn3N<-X|e_rR!IFIp(+Tk z;n8R^Sif?paIaYw6oL)v{6A=Wi(~Q$C0sFd{hsm3$u{z6nxY=TvYH%6FjC;AK`kY?ZhMLQtLLo8SWfX=7U~+i=)V#+2!~u_g^Jz_jx1Zzs(IuN!7A+t>PGd zH>_eBn-W6hn#S!3-GfVSE^EixL&x~#9)h{N~`>f97&K;~-I%{a@ zECy*rfN*LuiQ_^h0`eKFKX9D2J#CzPT5r;IGYepLp(?+lunnk*dGl3Wgi& z9Nx^A+UaXIlaMCQ=9Cc1{ zsPGQTZAS^#fbtQ>U<`#zt-IVS>d3Z{0<&Rw5>bR>-qd! zQUYOI!Pkzb^eC^M5=jI@6f(e!$qEN0@Y;#?6Y%Q(gp}ET;N(~=Rmf}qD&9UD^kzFw z>(7UW#?{EIPIX>y9lMxr4;wFrCjS~lmD#~t!~675g>|s>&+TT@EZZ{YC3k(~Rt+mc zzB^=3M&^3r-{AZMhbtZK=c%Lc^<+suDsY1)J6G~8&BmD^i;h zrr|V#HPzj2{5#wnFW24}zBQcdUGzOHwD2_Z%Lk&9m=o@@kKbWa&-wDT(jMWV?~MOh zOo+qx*L5xXpSap)eV@CQS>N&bF|V4c-vFZF2L1!GFvi~t#Ci#?1BQlC)GtcK-gW1Q z=JyJT`um$-yCzT?lwTQ%*7sUp_~FgZP9XoKIBI@-KS;NRT&a%^N=9uftc>ZH{~LYE zEgH-$ufsC_H6=A&^AhW)9at3n#y-boMl2>Uu@cOt`{c;;>%BDO`d=vf`(IJgLW|me zO&g_vE(>R+sUUiRrb|-wlM2C6_l2gHeRmnj$uF``j=zO>2KJ@QI&n~D8UN*A^8Mc| zaI8GuIwr5Vowapd?(;M#jI*@AAz1w_P7pH@(^_25Z--c~dfnaMEaYcHO`UtTmwgTM z_OBkZHMtpF8PZb5q`*7)n zsab2?ySw9mi4BN*leQAl_QIcr3Tw{}=4AHgiyH@)2bJxXoJ*EKNyqrr@&6iM!WHITyinY^YRr{xgR zIlZLyBgou^sf$tMLpcWIOW{(_}zCeg~TmR)$Ppu#-}`y3Gee;KP?gKI`hD}{mhqsuFuVHWHa~8_xA7ytA|G2H%dbS#s`xVKP~Q>{*kWf2X##!w|???q<(gF5h;ux zIJumw&^&H|XyDoAWq;JpD@EBKSvr79M^RT+Y3Ry+hrjEy|H$8c;|FGYcxHSPGl&uy z)=9FxJQ7FJIb?sd!Mw6R+NdYYO+0w7KYT1Bdl~;nJyHtUAFWVkd3_~M?eyYx1}=Cl zd053PIYa2yny4@7>lN$E|0Z4Z!iD*jI9wY@1R42exz0x+-xA2}?cJxS_}3mb*GIAV zysC{}JoAK?eJ|E>nAiD8>k;_r;-gzxTp9hOmuqRDmqte-$UUm~d1I>f*P-v19P*Ud)eG`0Fvgyc}QTCbi%dErI1~ z@K>F7)FV<-B%X)S$AvPU?zMXl@9Y3I@JAdL zl&i2Z$oL;n25J9EmB62E>1ntG?onJ(2`Fj(^6+OwB@sVx26@@b6+<|iY$Y+73RS6Q z^D#6g1#tSKs@CjKacf*%xmtB_>;&dOxchK1i6?IJd+ya3qDWuxUfO>%e>#Q2bsa6` znF+6Y-506CUI_l_b97i-M#4=n1GLfF3Ebn?QdW_F11U~t$CefHf5Jt3Wa^}(kbfL7 zWohf75`jeU@lphcUb&4+yhvcFe}Izd&lp|Pb@jOL4i)#AD@IGyYRW2Y@ZJ^+uLlcG z{-_j4G~w(Pr@84kRAssSLP@0eZ6Rlj_*7tguR3@?ulPu4dj1m?>8IZCVsCK?innEx zu6Na2$#m>VWwMP-dgLg)Cqidemu z&OTf*utE8!ZYVCb5v1t=iin4-nVPaBz*?telA4*{uaurp<}BMq&yp6}NuT z#4V^il3JexPV$8(x z_g^k!_=#ZgPt6#LfGJ8O!{mkx7prIBGTA+ zx#m(YyRG=D8`8NOxc2P{8qVlAR+5MA=zOH5F_SyJJY`o}jZ0_SN{hJsCcCBro5{~^yAH;hYJwLmQNym3rj>z9#F*T+mxsfOBZ$Zzq z>{?s(M$5sI<9DBM9Fh>+cmOq4Sl7|p`pTr=jfirsSM~P7{Y=ru`nb~)o49+-S;Q~f z(q9uK_{t7FN+=O;W9T&POJ5SM%8lg6oS(h?PasrAlh2J64qH-LH z;~*)5O}5g5P?3qBK4>f2Z^W+p{PbMQaV67pGmoP=zY;VY zzojsFY0Yt^n(tQ^(QtbFz?x&|AZp5*&6!}`Iyt}~pr)*j{yq^eClT=jN0H!o*W^;A zkTN;QpL~cv9i7JKV9^rimp4_UW@X54yq|%&)J#i0AXYr|Lqi)?)08C2JLilDaUzwMWWu zh%wk+qZyw1XHvP-5)AIBrg&lPs!A#1QD0jDe}oCVi8Tscyqvp90bXvUXp9#2ir@0E zUiJT~`|R53q;+rBpXnDe-6&YSmAhLDDCyj{w7#MO9s3(zfZae8nzlP1oX(zEPHW1P zZNLIyu!*IS?%SIlN%zBDaZ{ADt!*Q7wy)PWx=fsbkEEBZ4|9mbY!05(7yOrP+)H{i zxyH;QpS!nBW`zHOM#7sYWo0WeIpg~=w4wgqNh5RJ4|+;M?r!a}4Z5FGitkV2#!DN9 zgMSab>O-#)ISd|DNH`(+8=O0&|D+w#kLB}li47mAAM%ksxwz$!;helcP8=cswtel? zZ(fRec<#<`7M6Z(1r=}gb9R~nf8y8rCJN?j5{`84>&toUFd99D(Q6;0S9Oi)+(RZe zmp#k)xBVeaNyl2^>DV9AF>I?rQiKJLHoE*b*O2Y;pWv%a<+Fmv|9vNoLBEVp{0g}s z4cV%qmJ?I$53WK!*y40F#iy+AC4roL&4_A?cRog5sTT5=Ut%T_y?iaLpft^&q*^qZ zpLRCfw(B$goU%qK0R4{10jZ@oDa|28w^_3m8=LOOTT2FWL|$Kc(eRLrDdcHbDC zG?KZlIA9XT{@SL&=h~RFv+p(&i;7X&!As|E87|9Qx?J;!D|tPd6^PLl^rC-4<3h$@ zc5|`Ewz1`qtRr^@uiCbzrcBG`X6nd6rmP+_JMHHSp-G}Hm)#`?sdRF4%96F*7ZCy6W|X*N1*n6nS_Z6l5UCkYb znb;x|_@%kXU-k>dt=x8pE@pE7)qzE}CrBg>KsNAXwBmjOApc9?q~81w<;(rDEr%$v zbWZdDWXQ5BacUf>q-s?r%FvEw625_0H9Go&GOyL5(Dz>qzDk+~>d8t=qYPSQgOs^! z^vq#``SUXDT@V*>n;rXJaOD)OvFyj-4*POpf(z~KOLqV6narb|$27Pso*}fYPjhnmH)6F)L*Com%v)X`7$mC2e!bznJfgtqZBU@!!Gs!LO66;FW*=A84Vnky_}N zSMAY4f43Hj(_a7gX`#Q&8`eTgq+Xbd-%$&Nz9Y2I4ADMJ3w^%PHRu1sTIiTC8)|Wy zdD^kXIW2S#0j42tHVt7F;Iz=Ck@DP~7CH)gsBzB5HLQiM3;j-0=&o9*+`h517V7KS zofbOg(cNev)r6E!nja+?)=2g{Bm?uphMhgKXyBs1PYeC{@6$p@L|X90pzkrIbT_&} zifKlqeYPv6*T0WqD%-7M+Ei_eza>mJJB>80B;}vUZz}9fAr%cQN99azK>ghGBU3a> zHk$gWz)R|<|A*%LPD*d*V% z7e%D@oT#nZ7QgYgl5E+C*g-0CYi!jjj)a<>jp8t{X38RB9U+6IQH~Kbh9atv5wt?D zU<5Hu`Bu<6+tknAwA<$`-q3oK5v02xjCCTwjG3gnSzKQpo`GX)Z*^m!@{${`6Q;wfiByPvgpMZtq^I8l?FNVbbDDlPE~h>^hB?KWWo$w8eBMDQk>|C3iQN! z_R^@0RcaRd#x#REjXA2(6BQH>FT3$lrCg0Fp6Zd~B~Rm}IyOgiK}K7kq8_mQ64DkG zGL5HEKW@mRok8j%m0D>Fl~=qY^u5(og0;G7qD49A5f_EAk!P(x6f7k=C8a{mt}@gb z*Gf*LHJ%We;hrU53d6rhKjyx>ENmY!?UDtxx+Iy`q;8mttr|34Kg%+509vDu@$InH zW#gt$^{J@K89EVcIr*x1VNOi^-U@#1^j$@m@^xcW-b|yJ{&=2zga%3tFQ(B7F;COh zpAxbm)kL`p57+7^W&W5Sj}jT~E{`WD>MjqQw?lXNYlDi7=^{<|+bPEX4+{UJ*LRft*CqQB!ePnj6`(@U>KWR!zp2)Li@AakvcHjX zakBp!%S4ohglY%bH;FgdZy1(+`wHD89ReyB*>C4dyOsUv7Y)n)ttCp$&axl+j*$K7 zqU}!h)BKF!EktLsuddw5{(e$se^d5%&4TN%Y0JB0K}(FG?7wNU&-AgneD2s+BbMwx zhKl$bvajEoGudAv-U!*x2df&QP&$QlmN?)eqVBgiDjD z%_la8JIk2vOYsdRp#sI%J(^{-vFGp>YgU5`>D=8f+ZI@^KA}%j1XXXvvkB=ug8KE2 z1wEO6A8j(}k^H$NLH$}-GVkGu#bH&!Vs}_F8UL|hpP4%ri&S0ENm-@+->^`WL2Z^h zYlHPk+E7cp;{aQpMALqqSW#hg(tkw>rHP;Pmy>9pJpo~+t#))iP~EZi#HZNRkw}+H zub6D<$7f1dP%ZV3^{*e@H5Ff)Fl6eGstfi@4ww%GrgN}$PZHeFnezR}| zrFR5rp;+=CAVSqTGJ2>gwMY?B%t=$q(gAJx1^78J9<2<}9+#{9c2MDr|EzkpzZdU( zQLK@X202PEe=s7P+T0gw8Rwxm_)?2z6KC?J@7mWp!ei&Tk!Ftir-WCv_G(rHN!_rq zbC{HL?j}w1=enAC{p79|{)U#k20O!%D=($!vwSt-E;}cZ_uXfQ9?3Ev?=03A$b|%tfwZ=N0Ty zS=wJAJpVG^(`pmuz$^N-8$#X+uKBEf+>Rp(WTs>ad9#5CYFc9fs<%-t{5s0od0l`k zGryh6mX#F|-jc#=v@<+(tDQ+tJzsZv>xJNP8uE7e8Bs(2Z>X>FTd7bU8nhf!P5WBDY0R@ahEzM(AylIeKoNygq)lKE{iO3w5X ztALCt-pcbcwBdZK?HAa6Ex&!{F16fD#fP>0DP_`$(Dqusf$;nUf_AI;5(JpyQ-S1v zgStquD=6O4U~xG~V?*$@yMA~}oeF|nnz&k~Lyg4#JxU?o@ySRZ6_i!$R`~hfk@_f< z1_Y+TR$?VtIEDoaHE0zG1%W9<*Uzi+ma8m4)1c{$$))_=dy0 zJHI|+VV!j^dfZsc4W9ql@aj6<=AK20zFZ+@q5UY|=a>y`)cz zgtZj6RtXuRYj?uw&_JvObkyEsq@sU751u_(>$TUtX+Vj$8>v?Yx&~ zaNeQ1USOszP{mqri*&Mnu$iCm^BBTu0X+O($B8)29-WAT<%tQ%k>=#YH|A z50o&tTuj7N!ZFXMt}tULiI4<;IzqYT*QIW?p<%jvD#x>=_`9bvC+3D&Cx^d<$wJv! z8tDXfMvT^8A~bga`5CxH3;RGalPgNkuIVhw#DYStt|rfi>UzUOr>sw1jxl}b%$E3=ZL-4LTmO(r|1%#%P!vv@%}EPlLkztj2k zbq>o|)|Y4itDkTOYh{O@aL{=g#pM$`Oex!h(LGOHo z4%k3*N$yy$d)zJTLPuU+2$ECbecOVVzEl5#D9mIB$+v0iwVzUgiN^l=LjH{1M0PAc$D2=CWIKN4tK=$QzMFv8P9q?`n}8{&60n)< zr{Z@%)NTYbnr15D7=*z(<@{L{F2=#g9IZ|f@W5^Y?$aAT+D$;CQn&PPeCuf59N_-A z9Y6F(`Ep&uj=l%*`GM-4eg7)%Q9JvtIt5=drblLA4UIylCcdlNJO0QYc9TdDkl^!A zlrXVF>p2ZT)FfoNeF@+EWf0S(1>?;X6meo~%Ir%9_fXB&_BDd|7dq_}QG^YD3~#6X zb!q?CCb&Dc_hl#OJ=f5eYt;GQH1rlYYUm#cCv0isK2fNRuNu+D=OIG0@qhlXHa-@0 zF`|us@#DK~<0s+0a~uDSuQtvi@Um0XrpGSzVo!~1>fbZ(sHtlg1p@ssHS>!{HuJy4 zZ>j}{nNZulWwHw5Z?)~O952R*w*4KZsD>j@+r9w?C6RxJrt@J9`Y<^8r>$+d2K`k7 zJ2&VvF&*-3WT)ZpD1U3z27k1h7S*bNrMn6E>`4S%xtjoAX{p~$z*N1VRmGh@zPFm# zX9)PPR{P>-A&jv%x2u~!x=qO@u#vj?;qM}KvzXxgL;U%$Nbggm)`#y@7M;q#x2?qw zf35QvMb~Vf+_B_x=%QU)`5GeMwUwW6GQQP2Xa6a2cWLF<(Vlm0Bc2+i>MkM348B=O!^Gd$GkG{Z}kyVVSDn)m-)GqfN!e_Jz5KTeDhn&AdAv4dv# z3XK0wGmL@r_h^O_)y{XP8CIy(?oKmYsDRyRhEg@>-D!p^l$PCThKYJ(cbegKiSXaj z41LE!_`5Vi*Ykh3X6R9*yVDHwm4UxoGhC_GzDxhVg2;E(3?IXo*i|#!BknGmp@FV( zSIzJnxF4b!&OZi88mSrP;$fPB!Nqka$|%Ra&#!++{Q|Cd=lyar4)ipDZbuacy&7yO z&<$a}W8|AH(8gsar#ONzyHtZCZnJuuMVG~8$I(lE4JWp$*S)YU_%4=<4rmc!QGPW6 ziV;l|E_KJhz4}v`vSS$?w8Zz#lpRB}k9T^o21+^}iFbYh7tP@g-rd!r{p3U?&siM* zrkEp(gHu5oT8xWvT#qSPMY13^dh?nXWA0o_jK%slCvC>yC?y7|m3w7ykYMblE$^9D z`4@im*46+RP%JFB(Zmm#PBMM6C>gx^kw}>=5}`Wy4IZXOCi9j?5Q~;L9rDBDcdJ8w zV%{TkNRo0pR@OyxXkFwR!{=^|`6G^|FsDHnHs)n1a5`ZpWBzQl*TalAvIk2B>(%;p zZQ;q_S_SOd!jr-0)OGIK!jnO_(z0s{PX=e`ja^%KGT2XT?ZaDmGWhdR5TX_yj!xs* zddp!nLUlupA3qbd@VC`jp8#j~eSb1|P?7H1!jplo3`8y5eXa9HiY`0@wPVSBU9EPf z7EXB*`OYmo8B}6b?A*eW!L#D-)WVa&^>lGNxA0`J1+H57I3?#?nIfSne%*u-&3n=# zK^Hjxrr8E=!jlngH(OwAFs{=&-TMzT>m3g4ga>z+`q1RCKQ+k-j_?2DUW93-;neby z3z^~=fBnf!k3F^6Cc>_g`xn=n`^_h9`s)(Bnl7Fd`~=2``JU`+jhglDc%BwJat2J_ zVp1eolx-+S9W+$vPifKm>PnjMPxKoNOHbFnqj>u-!-+yZvOPRzU)jQue=BR;m965qf*Yz*P>R$s80w>7JneYkPN{1HX;<&!9nfBxzY zIbZVHCd;$N%h|)p{3&H#u8Fy#`hv++{Y3LSlE99s1H#Qgth*yT)=W zL#mUhY!-r*$kti09-GP&70T*dig((#UVYJBZhR6t&ZlskPieFjP2p{y!$?TZN{ zWM)`uEjgGUQFJxC-0rqgA^;e-RiE5?xwjqNFkY-*_E}O zg?QJpeW0&?C0V=A7A+<ucMWkgZ0u*e9AfRiQA6wtC;>(SCUzUAk`95G4OT$=6v=I zUgQ&~@rj?*=lB-ot(LqZ#`gGl#|?^#17g1<0iM4u|3|%`40*Y>id|Y*{#&9U1e@EJ zKxF8mg=g^-nW~;f-0_acUNmnfYZ1QOf^y{Jxi{Ym0wT z_`N@UVquviX>(8=CVJqbju)jqexvM!Nv}`w|J*m(Nyz+(UiM^cAGON7bie8Js)Eu>vf5~cRxM@nmn63yGlu(Qu`=3u&tTybi z(dxq*@nX2H5&OSZhPuNEZ%Y;zNRS9%}eE{yeI7wicFV0 zK8r_M$5Biq1`ZveqqY~sY{?Tx{UgP+K#B?BuydE+S77$5YK*gy-H|G(jRgwUnYmEq zPFw3xU67V-!AmB&w#&|=SP%@^zDuiRH5_JH?_Q>sr(U#i>9QqcvTJ79C$*Gr9cvoH zfcIu>haykkRvifm4b*a2-sWGX%J~b$*JQVZZ z@tY=7qQfOQKhk)=g_OxnWxk8h?88bG z&MIfBv6+uNt_uVCavKH=V$B}V7bGOy003boJ^Y^prN^Qrpp1V;3nm8$?K{cJnkl6 z&Wj8A@s99nFxuzD7++M>6zN2qiWz6QDz7nUx+2truj6Yz9P(c`Lj^Ud{f_HgsN|>Eau}wY@DF){5*=G_1KjE?q;qmMzEAf z(+HWW6`@AR;gg=fP8xwdVr#|@j81o-w--w=M%aYzc)m|Ipb8?Te}`u z!Z@!kojbEWRCHvVrN?~A@^z=}=gHs1jf7-~onDq7Hm&f&j2&K>;txqZ9!?pDlM{V0 zQc6*Msl-nu`ckf^x^|+erpNM6S^V6@@fwb>$D2XKZ?IjP5DWx%J>bo6YAB=0nzA4sH*9 zeuWRaS_Xa#zt_3@{f)YP%Bxy^H5=v*Xg?)Z)Njm^><4+|C!LrLqZ1y$O=-%_-$TluwC(j()s2oB_p-tZ0j#^{aT z>WzQkjhr_cwJ{ZwyOke0BUp()@i8i(>DYnOc1+iBe9gPWH=pEvn{L2LB~1(NmjVZlgB#pSI90yjpQI!*+fn zWQD|vn;gb?-J`#4cR1Wah`YlfL#62oBCZNyOuYJyB)be56LVl88;nAC#V2o|4KJN)YzHG#G~GXHQs~`TspMIi+#;znZkos9yi1Be?k|B)y407@#726 z47QQ?40qY&>Pyn}ts3Ps2XGd8hARy@7h-T`qk1E4z7eFjbyPlIh5VAmQQ>euJU!oi z>f;Ys0v8@d0uP%N9C4W&@t<9XzR5nMZY9=|X3wa$A+k*BKU(9j4z96eRB9BJ&i2V( zlr8o9dG_6pd)=pePjy67X6H{ZZ8;*H-8$;(c&?oJfiO9#OLUBN|G!S)yQ61uYh8Z6 z+hWAUVO%Sx4KTX3gWm5g6n@9&mywbsFUcCQAIZ2rN%JTVKCTWk(fM>6m;4elSIULA zV5L^SjHuJNGyaho|ArF(4_ddpnBHq(lih%_%UACCI`!yp{ItH1>K?aOfnVZqAGw?1 zz=wP!ky^4oR-_w9cK+5|-{o6R*$sK7NBp*u^+oJy=?j*qEtA%@!-3UZZG<#KKz#aw zhKR6~tF4ZtUu!wU#KnKho3PrOFo>wEcA_G=KK0H}$bM2D*5MTkxasY*qLwixJR%zIjtl+dCe82@xTrpRK$lBE>t6v)J#h#C@J~@xqT(cQZC3&5jTlQHx zEm2m|8;sKT$A1ojUB0`yX+-eo-k{imKN|?p=9=B4o{RfX! zEWwMH?l9-XY#Rpcp&l2DVioL19c8$!!GApE|3%j~Y-wT+x+vTGL3U_#JbN-SV#Cmv zgPZS_g}0DzFmZxk{ka z`1d|JqF1QNHH^kwI<(W{ilTXl+(6d6n3Q0;VB@L}3i&JWm0x}?j^R1*lL58bpxwyE z*{`ts=#*}TVYI$&C@~HUZV77M-^|trZe!$b33jf^B1kfc(sCfvhNl+!;GKh8 zjHq^=Sk&pAaNahduC+3pw>_RS20PE&k`kM@eFa<2&D%D=ZQbtrPt)xlG7n+uK6P%W zzwW}T=~J_U*^TnmAel9f@8pmAh~lN$JayH+p+uv=OxkYb1rzGGgDZ%sPTKw0>aH)K zsA4TA`a`ROk}kHOvAS~gXN9;ZyjV)C<+#;vmR5INKZ*-6yT_kGEGGHyTWZEnR5D`B zad(eDT+ZTweQ+Ku=cr3`C)2OR%k~X}y|)f(|4|(FSV}nfCo+;VqkI+wCtI?r93T@K5Ki$8f!xo?&aS2pz4H8S8E9Wd4IM zg}46&H`@E7FAT5fX)#oC;o9v}?ey^U0t~0O1nU?>Gbg~l9M<-({x};4{S(S`VduhB z?l{DmjksGFas_kM+S0Q#-E95K7hXh|@%=@d9{TAT+DwT58H`?F0ucQW8n@Tr_5aZJ zCh$>J=l_2K0R{zcRFEjBV~rXrR!~}rK+VW@M<*6{v?{nEf+CU$U{wgr1Q^C>U8+`X zOVw8WeYIj$s$VT81PE@3S{1b_?)Nf+sFlTq{NJB*?o4J9=-2P^f4!94IrrSNJm=ZY zbDrlpk?s(#j61RP;PS~`&i0nemPkp%5he7fz1nM(WES!rfczzsGvanA-|BGBO12>R z=eftg(wXn+45syqis+NI z7uQU?`0^`iqJx^;WtU%Z(bV&&UvZH;XpQ^K`O`0+dhsP!UFHsIi9S(tar~+aF1k1# z9kg1;Z=CX+D1wz773At1gM(_ zpYYK{v#P8nTeA|mO?0LXFJ&#FY3k;}u-UIZ&-W=(DdzI9K#L z3}54Be2tsP)Z|U9-xxoU_vc`zeEOYO@rSX4GSc9;u5+g}654rMH;*s_(#Ud)fQF+D zpI5HDSywpnD#T7J>Swg#S(QY$mB|p;ECR)5AnpnZPj&jwMl+!gM(FgwJ zAgsIfZ47W_(c+dtjf^DbjNAq?ZVMiDu)~D6vDUNlPgl|l%wnZ)*v$N#(yq>)wjgoe zHqF@3?;8K6s&7oPHfRkuYb6Sjw)uw8spM?-;_j;-xW(&S6GUE4xR7&eV~~F+-EB)% zRdIYzq=t*UB^CFgu`K)yXRJ4!4WP1kt_Y=8H$PImrD|+({A)G><6>!JxJ(>dT#H-k zbZFxQ*7dn)|1V?x*F>G;zeF$J5-VQiZoOdKx)^%e|@z8BI-`$LdAMf#LVRWimZAa?);se+F|?MFC4j6>*7nvlwPX^2q^*Y8Jh_ATZDwFZC=fcpS z_snyr(_Yo%#i`9(*G)Uj=B!FTBWsy=6Nmqm&GEgW>1F1(blA$~D(9A!DG$)1u%@;v zTPXVw95RbSb|(^sJ!W?z>)$l<`1?dNj|1#HyaSkoaWX)?3AF4Wy_%a^FF6ip)fRc^wMJH>?+m|V1DnPJ zwZL1Slr8s1U;|39vFvU#@phpVw%AY$N$S$w-L3D& zrmVuIfY`%MF)egL`m|#2gmkQUGm_sOw3dA@d_CH|v9|M)V)i910Cah&tX<@ zwBd|Bmx+8@doTVI8eQTZRp)FG-L1*%j11^T3Wg92j3}#wtXx!)jKo7PA*RSrZMn%H z$IXx+SgH2!IKeOZY>+@R0d)Pbq&A_vn>9$U4{*Uk+k$0=C7w6J14z zyBDaKtp{?4b8RJJ1LgiM07cV}H}c1X4ZZL6!Ni6%qUX;&c)s}-BNnf@&4=GI#}D8) z#zN?lPD@91N07-X-Y|>CKk-h%vNkgH{oEIM8A>96M}8hz)L@pP_&oR3Puzy9%e=>F zs=DEEdj!4J`y0+C^tuOwMn(G6^c$ZND>l$k9)Qx#(biGfm2j?qowjMmjWs-~nJY>( z^?^5r-G|xz>lY@!I`ez0cO_z~#XygF7N!0}00du#-%;2p{YBTz(5XD)_CmX`dR( zwb-`98wN{omNqu6@7o@k4>aMD8IumZd(RL`2wTI-0yCuc600vi zXS%IDi?nUQ5WO!c;_ORIwZd&k=<_J*Q51)HEgh*UnJ$J49GJCiMh@eSh8fz!FxZ;; zXLaf`Z9Fk?(@}NtGSMUmS5od=uT0d8(=}q}8}B3PM;n%jAIMxg))s?ny;y&SsnmFG z@ag`1DnbKKpu3&I^8sij3(r@~vs3RGaDVO*^l9L^j^C-*bb0~V?(n`s@ac#)()4lP zNcW8q1Ins=Fbb^RX*$gcKzSC}LoXLGaUBIMw2OFptPO%oDEhY$e9jCezHdGRIj0Z^ zI|2R7+tC1oh0xniOVI|sKT|b;o&}r?^KVfou*CwfeFAL%3$RV++=L04Bb_1MZ_O{K z{$VW&U>f3Wp+uFc-76g)pw?z078Xu={3IYQ49LSDClvr$K9% z!IF#rl81Z$WOxDeK8LKu|7A`Lw{l!jNc4Y3Rs2rS3*9W-A#e_(OAP72fk$V)g#U^oN;O|t9Qd0yLp$6 z%TrntpAAespL#9WhBPerwGhTAR0_#9;o2hoGA_8qNyRXLFHk{-b&B^g(gD&>HATqz z8RGh10|tzjXO+B)*^Ib|anN{)*(wH_E5)DoH7 zT1S=X`;1I&>rv+{-7Kd4SD0_4>GN)x_fcg@9<7zY}Yc>ns7C?t8-GhAlJ!TM@Il8+!vIv9( zjUJ{(yN{pTlO4=k-kvm^GxVlrl^8Q`XZCpBRl3gxZMqpCs$9TCie~h5(>F}uA>C^(irSJ+*+jP59m)6-8+x48mp8tf)t9$RUnctk z+sqQwW%<;U2GB@tBcnBzB^{Ai1JIPc(8iBs$mn~{!($+kndE0$Wp2FW2l|HDuTx(g_(mRl9t@ zr>eeWTkxJZ?Pg`Bs(d-#y(W~cscNqmRJ+ku!(Ml=+i(I$JYUotfE$C8*uGnQ&&2kg z0xo~HY~ zO*1XtKTZYByrp2&;Nr6iHHr#j?b^cNodtKW#M zdL`Ttznbt~M$#m3JI8P5s)-r<6E}`C8{fMPV_PG2!@51=rq<5>$mKjE^@i-k;N;`8 z!ER=9uCr`Nee105Uf%~vzP>W^i>kWT#_41Dcm4G4(bPsBHrMQisE$^?HltVOC;Z;# z+}wm6w8Xh-dFZ*?e$mv&MkT}8`++wDVH2slmVIjSVFt|slD6OG3}{5q<5{-HZr%g` z!2xZx>2H+!t0}=)8nPYg*2c=0XY|P&-l4;N&8GfC8kP->>v%fRr*!u|gBq)btYp=o zD6@IW?oZK^(d*?)Q`{up$FXZSoeO&#dq{n6jgP{Y$=GssS+hB)*_WCxW6Wg9M>sN+ zqKax`{F9TVa1K9`GH?1RdhUHN&xQ!z_1@=g`wb9gO=Hl(n4A1PYo&BI3(Af1g1KI9 zXaZh#nY~!Ul-5|~M(Iq>@dn_PpU>#$R=(#X96oXz#%QIFW2IZP(j4-|*p_QoYnFS} zHDKB` zzL1zNy`~*X9o+$?4x&#Z%cMVBqY0pBq}scx?(1T65S+gq-1S&T+Wz7qzrR`XTd{i{`8`~1 z$ZrW{-d86X^1GL3bJN+KJlH*>ca~nk^bXCk?_;@(uaAg%YYktwcUGpb{ znp*Q!cFilh<*j*n)U5d-lzEd*Fl)Xq&%v6%p|?hXBmpoSp%?liiek?dzcc)2FbciZ zi$CtFZ;aA;58o8x3HEUVN+)SjMPS?}5y%3dDU?wl(dIxq^r{=C?nG^f$s71agCVH6U5Dz5WpIA*J;asCODDOu?R~1A#Kij$5pwGwJ&*PWb72nTW3LCR4eiquo^iw4M zdLioinDw_>;8py-wovr_xV`AJI$%~-7vF_PS!#V^NOA4ny2j@Rulhz5A0q+}W63i! z8AMLt&U|7gNOy00q+4*OMY{N+T{8*Y2_e)f17VackJS!!5yHq{YRhPYEn7>#mSbIm zEg7DT;QD|E1edBU9upjnn2RjginIJ|5)u!xEG9i0sw5X;quiTgnsw8IWz#{1S++yX z9^AZq%D#-(WEbV2#o0xfphaP2*4Ol55%x2SBGO!6GiP!qzmCQV*JT$f310ekMp`^tzoJc_b;>`5TrqRF zz5L`0ds@GmgW{5C@xKW3iSM00@w>!?@32ZWf5&B>oFHciE1OtwR>h^FlS{d5Q<;uG z@P1Q;!z^ACng57ZuC6H^i{o3bPTmXe7(0PEYsoMFAg`Qboc3G!#hsYSMWeVCx5wH3 zxfROk-p3t!W(Y@xhU0NJ!&|jevT;_IW{zu`Q%#BY4|E%*cXCt5V6QvAIFeX@+_3j% z{FE|w_{TU)r+11pt?!!npzPh>T z{jMXsH*vz;^nQ=-Yf_tW*xDTJzim1@^ELQ1Hk6RrYq_xid|NC|_Z*p@Ja2@By3Ug) zSX)a}?!da${j;ZWQL~-}E~f+Il(1`v5_VOESVQVar1s`<@`SStEO(HyE3smNwR7Yj zATQOSkN16}j_+G;+%3Bz1NzB{CyZ3Tg2kq%t=KT zW-V`}l_Mc~`1RpqN^$i~t@80p033nK=g!W&hcP5=N$~%Wo9S8P4Ag;lnBy$uU1NxI z@JvRBV|Wg#kUetVfw*q4Wk+rf#QXo8zI7n}P@Z_1`%$T#enXBPe6;`L`>xij3ef>cGmTxOpm#-vl|>Ry zm+RiIPVphc##Ruh8J#<)w2s#^536o?(7fY*hVY=bqlaT}bVjUW1-;}Rd|uh?%>NS= zs~i4e?-cusMiEW_-i#tmigVg!r23;KHSlG-+d4W{PR)1C&yTXx*zSF30E{gn z-ZKZ>BXUYAs0uRc*5`}=W=#2ak1(eEd%gpmaDu-FiNecU`02fITzgg0xYDk%w9a{E z;u({CKVEC_q<1u3-vLd|j~i7WD3j*m)8X$wZ~S$l8qr-t z+o94d-R@9jF0ruQJ49z;{W-@-!8P6=5Yy?y(<5NDh>j(l>aGsq>V*4m?O#$fD$dGPmh4R^j9uIXC$pBi-YaDHN5x zPd1c12y*-OMVRM>Wiq5M{79zKrVqoh?qBK7ys)s<1zU|3cY_yZj7C-Eo(6NB#;|ff zF1f@xsWNdQ&pfAo9$gVFCqXyFNlq0B@K_pcI2S`aIm;XA#N_Q{j6wo&6`kk3?;ZG( zIU!AoY?z$igSI1E7R;qV%$mB4B${3zK`51&aHfUQH=OwdGT~Lwlne6p`+!5y))!6k zWP=TgEJv!{V7>)CDq@K3wDH8z`++X!lx6gS2MdF)uKd_ZgfvPF5lkzj7*LSoJu^`6 zsx|f;_iTE}MZ8xl=z4l@#alb`I4USo2wcrE{&F*D8*QeO$qGSkV8n(MKMv?w?OyB> z!7+{nVV(L5P_|W9e(ogaGbAPw8_Jy%M9vw~Ai6d&fiv8eA^<^dX8w^iT>LxaABS|! zLe%?NFwkbIL{eP+yU_&MO;AMkTJv~1@pkKpx7$PwUS}p-+=vF=e)m4l_?mtE%8baq z)PS8;yQmn9e~!F4NM(D1NyN6vNAy~<;$ zAG@g&LaF1$=w{^${Vc3&OuJ6<5e7))!&>2L8p1K&!FgZ!?~2RVSvm8xYcVr}hmtN) zxsVeNP!?@{X`~6C%XHD2#U_NmFaiOT%1LfwWikimS}ka7T+rA!GsG0k zbpDNIk4;E!EOngvK@A^+{%J(H4%Pp7KCCp=93d>KDHHZL;;O}IP3_lrh$Ima z-qAzEcY9w*3Cr!3^Rqy|nuT&@+!N*3#R>R1=F|W;!!=(2XMsw30Ev3#^C(PLIuMTE z86AMA{Tax0nRwlOme+mi9euRnb-igrULxlolw)?|GgTuNC65f4-Fl=c%x(|E?0zDm zLwt0NJi{`ujhRj8^^7X7l#>3#GE2J>46qsRSge(viIxO@ztXAnL} zTyQFr0L5Wr=26g2nQWY?of%t~{3a)A6vhy^$HZEJ1%n6p(fk zUl87^m#I)JH9>5pTx?}`pw8kCJ4__in=bwL8C7;6O((j+$E+o+VG%ACZt9)Pp}VXx zi5i)1HZ~e3G{7564RTYLhTuy6@3KU1@if&fM&zU=dfcMl_a4N_kCV+&sm~R(9%Pa2 zUH65E9!9yz`}tsq-l|Pu)TtW$X3q#M>a`os&P|Hb?7HwwHh2me?hrB>DGV7!jmm|L z?juwG>t1g-sSOp~q*-(~p`yNwH>@YPs!&litT>m6%@ntc2skd@sCI|lev?<7T2rlP z7;X@LjVn*|aeA~{_k@y*6xU9ydm_O@Q5-q6(Aqez#EWAKhT@tN+{6=7EQ)I{W&;vU zt&ceU(c9r>U?t`OxWfkBgmUj8EIZEIrFBC%&QAnL!0gPB{okrUQZlH|^-QF8Xs1_C zFm2GZCw1BCo4RK!9R*(mcvl&ch(lXRkI@vP@x1~1CbgbkykfjHR>}S~{M$`v(>soCCuF$Qk6l^8;ttF%?v>faoz!u0 zVMIus>O?C^XC4aH*+3oC^q-}`TH$hE zu+H93_$Z2dxhx-qnG`NlPmyP8LZfU-|eVVOl-8YU+YUQX7=!_ki)qU<0nP zjofVLHDfvp##hU=DTQ5K2(MzBVw&9I{RbjP{{E~dN+vE*%e_2b8IGcNz7dx`AqSoKZX?BeCl~(`V+MyNisvj`Co>vJp;|hNrAI-vmm5gK=Yvrh z4&-~-OW>ozC^?Hrco&TA|r1 z#p8?W#Ml;+Lm`j(d|~du-0mq4W8KiA_+*;|?-J$T*Bz$pbFqr`uSQx_r_Lv;>8dhe zAvgfP;Ou0r_YyJ3x|k$>ybvr5%PCb%hsg0bcRR{#?|0AG?fvdYYD>SPGopq7jMSH620b@z;AN+?*$Vt~K$|U`0elrD zx-)dPjrQ>Vd?TUF!jWjI8`ne=fqzM&znS_d22EEGfxO!qw%8I1>?f za#)eSiFjMq&faLDy_{}|%9z4`pf$%x$@7Fk7keXxE<0Vq@9h2Yp+%#ETt^2)(m#u& z&tS0cdGEZAns-b2Vk&ao1?(nB=935)`Pb4mTeCgf7JH98b&60U8qN%1L<&O`J+Hjy z95LzV2E9^uRaqyVhzGKluBDpr#8?p2TP-;)8OGPy;ywP4zTY*lVqg~{EyrKuVV!EMWv%boh?s8khN<0PAS(1`C>GgyX? z*CiKeKzA~n?*!u*nRuVI7>pTtl_4-Uusil3QppdJCAknyJNbl3V4Zos&w{^931BUq*q^3QWmoOWfo0eRW zmnk=`xP=lj{E7x+sfx^_%C2`{hxSk! zVDe#a)YFPTA4pUB%|0kzUgZrmg%#1(k!HuE2G{;Lh{7NL-qf~4`0&c?r5967dAnS- z`@!q|3;0JB2_Gg8z(!~O$rNN~u)#}w1bb5|d^S(o^X0C&$N}x_f2fAo3W=WtuIrdV zt^t%EFHQ}h;BQ5bRaazG=?MG1spP*VO*ebFh2p9e%r!Fov+V5_bm|@dAr&7q@8A(G zvCPI<+*|q{<>uTUQ00|RR{2%%PRY%@@(QG&e}2dEIt?V+vHa(%Kd57Q(HoTSOS!Z3 zsXFtTGa?yCq{fH6f4<6VC04XB8cGC6LOXve>QyDkgZukyvUzal@!Efme|FyD6Kc`W zTj7L~8n`52TTk`JsHr)oyMoDIw;oL$2~tqFf`&7vv@1O3pA-&nSNNK0R)s(^#DwMD90$1^?`A2nO0w(9k{9zPir}d@R2c$H- zru~&VIbO2~8?%;A6EeIe%!G0c=-Q3YS_2yY1H)?yFVe|1b05w4jrqKWyb1xY$=#$Q zUi139RJ_f+%cGQ1ulgOzuQkLjAz_GmnyDuJUHgN8sGpscC2E;1{8-1PK1KTbHrZN1 z7soIWe?QYjLHT{_DDTv5d6ab z+As~PYl#pJWE2IgWdH^KJk?5Hi(W!t2XnTm*`EO-gdM!)OZx~xK zR#uFnMgp4qa&l-if!A&1e2KDK=Cp)%ml@O}yTZ?UJ6qc~r@J+L80^KMKhCZ*T0JoSRK~ zmYmTFm8B>oT0SM9Wz>dfM-`J_*@D`?We}y3|*WQXnda#`lb9V{wJ3CU~wG!YR6o*o8kjgtK4yE4b zl2aWNhf;40qwT0TlzLqxuRACXrCy7Wa#xB&sdta&l~o)99`lZoD;1+gd>4|B?|JNxcga zzn0f+B%Vaq{{bYfEkOqozru9Xfy7U^?Y|=N46Wsn_)$xCN#cEY)q%txKOi9Ss({9KT`djkoZSJ%3YIqqvrKPNPOP3A4uYNsl}a;_#_Sd2a@)_rkyNLBL1>sJ8VA1PWrU5#<-}ojl7l-=wMzwQfw^@$=APPP`hzU?Y+D$ zjvq?#;fOcc9BiU-ZEE2Sv(PxzK97Sl{aq{!s)D^7g9J8+LFT)Nf{eK4VdNK@(w}+O zaJb)-^v~W|GA!V3qm{wP5m;ULyPDsNWQmcc>|e8qIXBqs%p`czi9(gJOxP@Pis);f zMQ#AzD`6a2{`fPKnTBZb;Xl6DII`5ef$9C#G9C90kL&qw``xVM%bJPVF>8*Qp86Ms zb+C$NNg6NF5a~QMHpEdEK7Aeq`3As-;eVN8eEJTcRb3!5l}_?3YdGnd^Bb(3xa#Gs zoTCF1e^GpD&diAis-#PB%7R1DdRgD)8|gL}DTje>Tc`L%CZGO|!N5xyZW%D|hAC9W zPwa$w#?LD`!+8(utL&a%6X=^cf2Vz%*{%;o{!5kTG$uHc%2Z%@3kxi!L*Dkw`Z?kX zNp88+h+dhjg|s3MKzX2;``JSJiKSk|mTb~oy=(#_zjGT(Hu6HLsw!8`BV3^n8OTW@OLQ6*psjc7^k&-rY+H?; zk<*(<-Ot-jZxq`KDq&7iSm>&5oxJrAf{ipBijsqjw!`!^o6}voptuSXZ|d zM-%TL1+SEWYGya=%oW(kqYWhSrIB&bbOZ$K@wJ)HD++Jk-A$k;a?Gsx^#3}BlTO); zW1|gGCe_{TPsHSl&Vq1vEpo|bCB~;2y8){5BL75`&2;Db zMjeMwito!1wdr!5`uj?7Xi7~3ApTMw^(AK$`W;+3pZo*G4Ctar-Rue(`>;v&JmPv| zLtVWnQifTS{9qt~;A8XUVCPL6dj#ac=^ihp89QZ+D|d%D3nnubu(3}klK6lu)7s^U zpOv2{-k=lBYTpqnA0q1~pN5N^WVunFaYN9HGKPH-{orGhEUyEwGJ009`3Up$k~l)x z`>;{^Hg$o&HB;W1)lTFC94#Gq^=&Zhy8mNt2sV^nqy!NFJNSL|pOFOd`?W_T`+pN0%+SgsMoYJnQR9OB* zq45#7)bkmv|FNbtv>#SS_Ik`1w8l08M0*}FDXUaGCS|{K@Oo!0jZ#a6)&PdJw+35p zKn9IeHsg5Y)K5}de=FEHP_-Xhj10&1d0;t%HZvy_6g@B1;h2J=DXPWn@;>Z?t4M}p zlDwjusU@+SLI3xURp&#`fi@Fw^P4MWSc++FTYkAs-y(hFtf1E8s%1d*AErJcWl@iP zhmgB=!5tJF>vne*+{lB_jw=Cd)5-+3)20uiX(O-BqlWI+Y;E@M<}rqBtpixm)<(Yx zJA=GME9c5r!I^(3zuk0d0zc9{<{E5IokViGiv}$$WP4ED7ASK)T zO_m23XSQ}cU?#7iep==FJh1?7?G;+HIzvDB=|91VB z)7`~;1=K(I**xk`kINbWBc?bYevWReUgXrD)(XV$%~Ag-ev10jVB!xV{tFm~ap$8e zYX^Wka%f_>q6QZ*iRYgJ1uAKsdO6bX&+j%Oei$hGt~_f^GN?Mlmw(d)?b%z zMvw!>5K!0GS#l09Rk}%pJHCDCUqrYCCk(0^ViEkK+t*#Ky8E{;y>1z$-Arjm(${Wy zqM+~z*cKZ)7}D>bC4Jl=OJKJ>2VIn-9|0Z{#W18 zc@>?8cXagl(V*^*s97DQg%&GFb|I#%{)kz576p9va!3#UyH{Qh}`;P`_zhMIq!)AkFX*qc|E|Z zT6Dj>Cln>c5iH)WS$Bp{c^Sm;BzVM%*@N@uKk$e&ELAXd(rk(vhLNbG)k)mXn`pYn zciQ14+SK_s(yR|2h{UDM1 zhbDfU<9u}-_?l%7LfJc1&qFW7>7-;s)HrILcRC;0U7dwuL8$&!UtXC$I&0!<$ZfEPrRW@-3tLm!bPN zqx*N<<@5-4IdT{tXVv<2l^f`J#&6HNX*Xr=ItMC|?+JjYZkUbs{hl}J*6)q)XersE zib z+1lAj9s))fABe`Pu$S@^?{|9H4>dXU?^0g1Wo1d6>7gjMDS)Uta?k(5oA9`0jgQ%y zpkeTu%cFR3h2tZ?P znYs6MT;N{G;tBtmDtgu@+Ur+&E3|sjj8=JX3O&pbwO*AeUF8RlYVVAr?dR6DJoj0H zsr&Lsb9^CF(}OB#+W6y0>T?MEFg8HFDdF+ZqWFQal*h(b8)H}L@rr~p?m?@a`Y%v( zjk_X1xA>|upG8MW!}awmy>*` zrtsYZ_T9;P*S+1l83tA2KaHg_L_Zvk^}?*tIPYacS*#60!MIJ90%iFXK$FnBKT`5t zZfzh!$e%&&NV>LUOJvXD_(3k@JLqk9XoMJ^kH3|Q5E+s_XGw{_jvs?sNrKvGy!Y)A zz0ih)a139UHHxHb;PaHJW&a>E1jyd|uB(WH7RirKVC9vGKrO<;iB6WfWq)zW1LG^KDaRx3=n+nL010-cwjWg*b#X z3IENkx~%TUl#EQx3E{DNAWn^W5mJc!-bvSAeYewhi2Y6o%!Bm4(DEtL9PCL-WCMN*9;ou^wOiERhY+-p>-DOUOHjNL{$kG7nU8vI=5eRE%v0tIH571v%(GYaHS zV}(vn3*+-yOoGCOl4=-?vI%7N!_AS~pk|eMC*g;LNi}LZUaMO$&N!m2=aos^r!o@O##}EKBvh z5e&>{OVulEX}`RdtYsNRX(yIt(=_~nD74N7U_aQhoQ;J4@6PdeEX#jyj(;btdS`Py zHLs=rzvf6Z+71{lZk3l3QRmI*9>o;m-zC#=TMh^Gv%0HDYk)Nzy&p?lTVQVdWUmBs zO#0{`G?$1qh2}c-zhUsHuLxMXru^b)!_(!8So4zKnX}l-vjw{D_n{42;HmMm%zf3b zBR0H8F=cgZa4`*%#MMOmX2182whdmBEr9!SyK9n8shBE;RuOV?pZ z#N#zNn$8kCkm{8@L^!3IOD$vPE_0ISNU_vmjl@bel=d+xu!Pd$ElH3BcOZAxmy449 z)IO78y4&!z3(~PV^^19pE3xj+3}@qtjnz9)h<|@0JdDsf1sA^cMuN%2J z#Jv4E<=1rGQSfcQC+&=89*!0KI}^kq_DHas63Y=dc7SpduS|VI+P>D+DPkU1a=m?` zafdB_i~He9Qm!F8{o@0k*q}7OucH>VeYqd5OQvAMAr5r z^=Wc-d^C@Joy1+zNG+7wE|0I$M?*+-tbo_YejO|(YlCmIje;HsXV#Vpr}?j|8!jgU z<1dh+2Dw2QZ#PC|(8GA|DcxACVU|IOvZ(TQHG{&8dce=Mbo3QUy@fDcK~MN@)E^{# zwsFF48k6?CM`*x=|G}aMh*u+o*a|t^{=`C$XSLmiQ}ghf+dgojo>}EJU(cX|+t+os zYH-PMTNEi-T{n0ev0N#NlpTro4;r->GfmFSE2E*X zn`HYp0C$zVxp_BeZe}{kspd1(9q(Rd>_4E{WeML&Dp)^9989<^x>JM~M0XOR1>ye~ zg;tm?o&wlK9~U#@9O>nVO~G}Em7+m5^j<($!-G$5V-NvJ^o1U$8;DjhBwqG(4|Bhw{MD!5`sWbQWMVGSz((q5t~OM0>5<$07tygQU5 zy2??VX+XCGKz0#coMs5C?c;to284B_A*?A>3-{j3^?pbKS1xKd7@eTsKhPaerJqr&5|6p#=m@w56nN$BZ z)kdb8b5t@{R04tcW|`oh29Hi+VG9Z5Zb+abf!xzz2qbxW7J)KsRzH;{%kpnwwLDWH z{tIGnqNay_<^Bm&4yb8*t)U`k-T=z5Rt_aR>pYI{{f|H-J!|%5{=dW63ys4qmP06*&!R7zbR6Ru|I&Py1UmfhFTq1Xqtay zP-f@YQUr(q_q0%ITxsT_+^ApY3-MIthiJEqiArXY8?LePXYr)QETLKK#6S2_vUi8K zw>oRnZ`!mypv((M&W4`TF1OAL3jcEIzhbfLuEvn?tLgx) zV-41$--c6q7cOAE6?`_jL~W9+22Ti^!XfO`pAE94zD7}etlXenRyDr#3#rCV{XpJl zwORQBTu=5d*^_j82`cS)zq=u%Krxjb(60NB=9}(ErDvA}J!6I4MW_GTY&+enU8nm7 zoyv2Li{}?3CS|O~li=zS&0UvQki6z9skd1jnW0pq>#k8x_^h-W)GzFyvM>qfM)opI z?+hGg2P2caNj^B{ylcU61LX!B7f2OdlpHJ#Jhh3mJ{S(_*)8`dcT5U6qu?t!L!O-f zJL5K39IZ5$A~^H6X@*l8rPvd*f_$&zi=8)XZd!2aPh=TfG6u=0FJpTs@{Aa1)*|jT z*GvByC_7^6d9@DpOf%F2)mh@fD9(lo?W=l!5zneosOwxL?Hk1~Xu4gim$$XL@CD4` z(WXzr)!lcv4G)$#GGe2tv)SI@olixZFzZS>#}94=uVcp8jCEy`_XO|RU&qX4w7Rnj zM3r+*S#{-WPC`CQb74Mg0mg7H&IjDz?D-(Jw3QIYo%S9^jFchoS018Z}LN;{YbQl>v|ade*>3PqGak1=vVz5wI2G}V1gs>E8G7AhmYu#^3`Ik0i&*NWt)w6tO80@fy<@W`gJ z3&MMSUI8;|BRrj0?2Pc<|ID%kom1o!Ue~uR;Z3L95Z+i8IyMvpb`ml&Gsk{?%pBKn zRm+>z*ubtxT9hcY^HfSDXI@|UZXn`@ajXJAcjkSyhshh_D^I)L^__mD{-Av<<>1TI zb`rlQj2~R|51};_rtwC#@xMjSs3x|V0$+yw>&$xymSHl8 z1OxD2prB1RIe9G3UE|D$oQ6vF4@gM%8_~JNdw_|K{t36NJL^t9|xA1A|Rl|}> zU`e#-ucqy2x(b#=(=ro_M%%HZbiZG_!R}_d9&pkqon(d761E zj%4|jTkPlYtK)fl+L2;NIewKM@ay1H?z@E{UCv4{PI%Is)VfR`v7dwBDJf5d?_{{x z4z9FX#U&{(^&%|kqEz!vObpPBObj2GS&jvvU5n5nIIPdcx^M=oWq=V&mz2Z*vssT2 zXYuk$cvhs|fvNd(3_Anf$dzXAV?ZiUiJe)-pVFdlD~=zLdey&6b%&xT)byuPKgUqx zD$5Vnc;l(bawN|Jq0yBxVKll--)tT4&$c0_UJ(ptyWzD`WHtwRR)LQG(srYA9$#sr z;w0jP^cxJ>;(cctU=L)1Gw)F+*7#W{oRyl5=GCz#Kcx=rd-EAko1C_VOuZ zDwSb8%uzp&LrAK!YD9%j`_-ZAy|$0J$XsxhBZ^FGy_CKtsm`VxS<3j%I0?fa^rVY$DuvOe8m~Wz@ zRcG#oElIg-WO$MER0C%C2w(>7+%yay$K3Rlfca#=yv9v@vRT(p0cE3}XQ6D8YZk&- zKHX08C0L~Nxo|r`UyE$|Zvz^I%mBK=yR0`UH_}&QG}var{3JZ74b0qS#L5C@HU@)> zF}h9z*72=9atdhVas}Y+x ztbn{^Xq1%sUm`+-uT1hlnPCd+PoL)B#0LRQ-4DuJ0my)d1iMUd*X%N@l)URKS~P0o z7Vqj@BMFAD^W^4RW*sDx zEAO}B_%)SGS*h%q1I^ChOCVtu$g~`sCTz3~AFhVKr(wAeL{eMwS~fRoK!R?p(p>QA z%zptH9i6hO?Jz+B3jx6z`vn^XO`i}57<5)Y$(l6;k6V5fz@ynl)3BOm8}D_wCRm~@ zM8=i+E7+2^ljk4KvZDTgj-q~b@Mz0SR+eopRmR;C~S_!Fs{GkLu;6YXxL z>C`3Tq1*jMx8W`mq+_Vpq<);>l`=dm)lM?Tw+-w4z^ zpe0wSA>{8Y(IgTzSzbqpGWskuf3Gu{FYu0@W<~4B^7twnSypT|`&Po%IAZ)ZLxjCq zh2_I92Fog~v`GLlSR(NaevPHErbJSkd{REalkr4+m#rBodc3~iD(ka9Gx`*LNGA4WGmI+d)SGaH&*4wIV4?A! z!ai#Uq`qdyv5pQQi=-KU8|R#Hbw1b3lyqPscgGDAv2<6z@hbA5-dn!dv?2>hkQ5_e zDs7zPAh~2_IZ5WQEX6~JgZ**fzG&RIFOT&~=%GDf+Y|=Ss3>ECcPv%vY#HujR{~i! zE28W|3Nm!=KMsvbyA9XGIA!XG=Lvu#ZNZn??ym9bYAqoi^mR_2I`ggph&d^2#MSf= zdr$vP%2V(8GpL(u#=DmmP^D{eVutVg-~UTSc=DQF$iHlc*YXWdXt+1AEw+p4?Z=u4 zL5VpTh8p*-e=tp25sEnQzNJYnr+^en{Xa9WoO-YkHWqAx{q8gzO`pOx;e>JOx@hl z@ISFBz04S;=TGi5&P^5jy_kKl7#a>^GHe!)6YpETr5R{D$7V$+xecU6%2C{rljDJg z>B)2uY$4A#$_&?vZ1MJDLfVYtS_-4R0$3P$vcx?^8^BZvEt|c?HFka9Fk05@0UOii zsjVAl!M^~q|7WUbcWHVRwu(aZr;Dk>^E!UqJcLP>iTgYl-#b4xYA18ERwfSwF zUdU_pY0lV1%1$`#6;KDx01tn;DjdJd(dG7r~er{W*pdF z#f~eykJzTgu-jV}ZglbK_^n#rUNhQo;GOH>tMMa~fnFC7WZAED@Qp2&|9(n2{Pzp~ z>|8yJAA@RG`xDf{Enq7w(`ZcvD&gPMcAiRz>Ss^aC*;(mDJ&yuk|8c*T)v%e{w?dw z>Pw$?&DWPQ7eWC>8my8u=m|-+lLkwsS!s~`gdPa9GRy3DL5}39Reb}Nix273MihA0 zPu&UiTNWFT{z_`JF6A0%p_LjY@46 zx0)>oL6r#4v2NoAjM!nf`iyC+649fXJi{l^XYk9{T3DiVxc7;cfdJzCou(BAi0u}pi~rk#s**2q0? zT3eG9IxY22Gn14`;{W3dKKVB%B!}aUnRi0c8$NE_?JYFjK+whoTJ>)-Tp$KapYElpL4fg_Ij2{+;mt}%k?Y^rXlU}qql3T-NaMD z?JSDo-~uHb=(uy6Rj73J6_Z1{Z4AvvHvvKizcte)H#Ka*=ZL*$0?4hmq^OrL^^Aa{jDx(@)(`6W-M{pwxZorlq;;<3rf;64KTYpkr9Gj!IVfet3nF#&f@7)Z1D$et6cwLY*N4;+P2A#0G>Dz2t z^XcJO`uMS=+3p;ha>9^-vCa#|>UD#16RvhUA3rWSWo?;TOhD9Xx64{y1-{uzsO!Bl zO2(1dtPK%G`2Ix`t7cg(*^cKtzgg~>9MHrMCEs^zZC~ZMHJCIeL|ScUPX+dk!KeF@ zfuP(a6-CWdZjH0oJ+3v*AX<05^X^=u_Iod*HAfPE4vxTDy|dYe0E-D=gXiSr-_SjhEELLaxUO|#azJGl%7UdU4Oh6`(imX2tA?q{n7jnuc< z<$ClF`OCGt4!T0rDB}DXUwQ;i$h(f8td$l?8no-Ujn@RV4kH+H3tTP#1^%RXnBVHdAh1r1L%s^SdvYMv!Ly)FBhXK_ex zJV}TVVRZfOAQci!j=gT^f5gdSS+zc zJL$YxZ%pSw%l;dbELtFmRbHHr!->z_x@AU~I7!_?VN%88l&XskvsBvit~}VrkHY(& z97&2oL390_=p=g)oYz@ikd%Vuly35p*CWiYMMC0M2pqE2?xHxe_gBsp(7IEKSyneM ze&x*RY~kSMVGcCazX2Y6*;?sUfZxaoUExQzM= zlM#+PNpmcj65j@`5pOwU_q}~^4HhpP0&ZhK^=`w5G%>VO?HTP_{0rroGqc0NthxX; z(l(sG-kv|4YunAuyG!1~2l0i$tsx>8*Xhp&bfPmyPB%K8#C}o=rfg@_SaC^ZRI(Rp z;^}-;6eA-;53}DiSJw_^OFND$Zpq`yOS8SQ<GxjUMKT2DI>QYcJ99eWN!=xQ& z&y!H8Mu(x9u2lieQwcTKHvr56_n&0jGX1alZ!=dbdEa2{e^&xh4B4gI* zjTLa=Ej<2j1>7T;Q`!l*mu%5aI{!d#3IyC1N)|0xmlfTJFE4^g#q7Bf20-cbY9q;a zwlyR7dR7J(a5AYsCa>UkI7Y_@<^;@JouT4j&#~#2JXCP%b!rYe_?PLLyl9LPI_$A%zStB`+zR(|EEfpRAc=g#e53R7)6#>sy$$n>u0>g$ z)-*leuDo$Qzdkp+bhN@HCH?)X5^O@*vvFa%+Fneljye)s$zyMmuxpfV3=1Iy&XvzD z9Ir}B@>r>-AgVsWk+@nHOEr-+kvnKx?VTUkrN?6V`zce_=`6Gk+t?wa*aTF0slAlT z0h)Fvh$px*T2E3B)7awg!MtZltJi+o?9H}&7rZ2JphZOt&^O_ ztHcnP%@L|23xYjVbknz#*Qt8Lb*52qin|T7lKm5QInMGZb6$<0tAA0IDX-$Xy_#um zf{W3UZ)!TNE3wr@Q=e&41C@Ypi0@%EOB_q5PpAUSA59JB|FsFz-tKkA7gEkRnvC5~ zdUNZwFT_-J2pEBwz!_Ot9ezu(Nzta1TctL~pw4^Y@-`u+Q+i!_Bh7H%3};oa&p9RK zzFc9qG{fp&PzU-_jmk(S$g)es+LF0Pj1{}*?9!I5fQG~W*?3IIZju7GGz}h%HHM`a zZ9b|Z$!FNC#%S1bb}`=a)-9BM^D^BzjTYx5m#bT~o&~NZ$@{RKnCFu_D%NnXvE3Se zxWzl=GbtUIS`iFpe6^9>zzsC~%{oTRbz)zFJ{6|n_$h5r7VP}r$ZSa-Mom5*k)c@o zlBhO{1e~JIc#|*O(wa?gB-`2C6(ZprGd)+_^tE}2g|byfEcEVc#KLllmc2wxuXKee z|MpA6asMCX5)5arG^NF5ruHqWt^A#(Ee~ph-Q0O>&?;4}+G6Xfpr@AtdE7L#@a(4uNB- zXSr(2atk#Nw{YPWioehmK!!iD^st$2Vj1IL8FC)yCB&*pkF#n7GnpWkF$pB?3d@)# zCBd=`_7xz;c5lFZ!!^3WHGTyc#Wl3C71uDZ0r5+nq!^0f8b=vWo8i`}8uT;EsFUlx zI4y}zTosPB+`=#*af?SxWodntcbW0mOt&oKea%TM<2%j7WYrvK^2i&0VQv_MUqEs> ze({C(Z6! z53ck{mNy0+=6J8TZ8v!)?u>QZF&ozLPLp8v-)MQ{K4Au#PJz7wb6C z)?T%@seP7e8`g0jwF`6&Eh6cG%-;L^#IZ$jx9;!39%dr=3ilYrKk+WJuPb05&j|Ih zTN4JYX4?3jzvB~5@X|9mP9RP;JsyT~1q_Abyol96oJIA4215FnYaxYEA<Y=qxH(1rol+9&v$~tiF~p!9kpbRtb`*6ALnDH>An)JiNKlJobQx*waZdf!zUxll+c) zBAQaeJ&gRd10JG|21+2RDP1f$m>3gPodsIgPIW8MbZRb)CcZNA~|6n8)oiNxhsgV$Xw{uX^^@b_VggummL8LaNQr@`OfQfl${ z)2G|v?`jspTsBA=?zK@Oy;D2VKTe-e!d1&-b7r){?f(jA{<-4G%K`(y3+$G-md`Nt z<;E*n5?l@EVf2F807Y`rP2YOI(dg&p*%XAU)1s9tq;iJk=1?ZhcAzs~vBoYKQATT^ zXs_z@G>F1Q%1%Jyjw_8Us**gTzAq=C&GE{M}+iw?r8Gg2lXtSX_uj$R}d)_-j_?3-9kN z0Tvdq8mQ$dd4nTyHF8N@L5g@oQ#!IdY-r}AkUlmNw^7y5(+$X=9JMRT`G!W-OkMDP zq5c|+!g)fA`o`+i`{YsNIaaBI#l$tV=_bB~vgYflm7pYa@pp|nFEKI1Z{EQ;v*yiS z3@EFD9lM}_hkgrA$moIAfr8%T4+mGGBoV4k&jLTD!89jW{IISDIUQ_P9)6hFx8cWX zMxTctjb>7Izt$cM5v*++DGb@*qkfsx!rsc;D?1qI}}0Y z(x!LEHHMqc0zd9FL>e4#fFFVsH?5e`EPkxe2`7@AQ3-Owk4F8?!;iOUF^eBrucZJ# zMB38NzT-i!mhdSFRGftIA>tI#NnR-1JcmE2kBQ?6y#IltxtA;0;8bZ0d7z}8K?lP? zymF2@q|11;9q2N5<1B4diwh0%ST#gi*FbM6uQHP??g4_^X*!F0%aR4Sm(nx~d7l4c zGY^^4@u(eJpPhR>P_gRztT; zyjh1aL2uX#M~5&TmZg5e_SR^rcbStxFvvUTS6QneQn-Q`9~KL?Wi*TJXcpd>S;k)} zxrw0w4F4GZqD9MZaiEi&D^?)UDcFQ#sptHg8D3;d3&Av|!i!m6p$gPO-g>J6iS*Qv zze1=O3^S&LV+;Z&J{n;qr7BRhk@BOFODBanT&27hI=NxC(zov_H_}YTt!KT{@MpIs z(2=Pc^!DtyWVvTJXv1uWyjqaWpT-U|+jERn^kVxhz@jN6pwY|TbvPHMmZ{uB2W_Cb^3WkcN{#n46xa8z@ z!8j+G2`~Z%!FTDff0*<1@rqgP0$dJA+-Vt9Z zI&yIapXMaYn)1rBmH3NA{u^`^Oy*s|A<%bpn2?=@*Mb9J0dw8tjRMeiqX_PCGYyiR zw0r_$QmsfasJ}x`A_@^W;~Z#o#?Af)4qyM>?7&9DGPT&D_%R)3Sh=l$XDU~ti}xec zoSoR<7feFH_R6Vr=^4||rJsBhtvSov8Z47+;{_?sJ)qox4NMdp5LSq*b55xZ^8o#?Oe}!@#gWRNHHVp5% z-l+Ufs}z<0vcHT-&Ozzwh`Qk})2*(O0lXZ*ITYB8ZL`FpzB8ou`HkhkR z{fC8_(02Q)Zu}J2?W!$VQrU=a^-j?SFntBO<|Uy~i{|v392!4);CWu@(=z{B4?f*J zen!~Y6Gsde55BQsnRKS5rtlksPIqaE#?9aE#}~zci!ZI@{#f8^^(I1>QXeNtfYidMNv$2 zO}fsTz4E^UUof^5XZQG-5;-AviZ{^hj8!nY^}SKrU&v})Z-p9B*j`j7u?O5^j+}T)X z0oPrObwbCnK91|g|8T6ZcI;}5wRt&EZjT4e#yv@i?6F(3?>FmLbd-+o-t&fjjUY(i zfJ80nRNoS^fGXG$N(?Ek-Oc-$dBc%1-MlJRi-49CUarPRO-PQPBf-_&%~X+?Ra#to zl$)4UR#bcVpvFjI4%cb^rZIwfEwZQ^KTG)8G`Kjl+F9BdY0(7_xVDceiEv1Ti*@{9 zEEuOE7>jGGP379r8r*8~stRu(Jox+8%%SG>PxQLD_OSN&dMb;0B8%FY`o^oR^^hyS zkneA+SN6>RN8G!>M^#;W{F!8c2?S11qEQi}jv5ptQIwekbtajRGce&%5J432g*5n} zkO02H1m$F$d#%-0?aNx*+g5A6)uPp^2}lB{Jgfq01w@21j=U=gh?)O)?Q`al5D;(u z|Nnj@a~}Kb=UQv8{o8A;t;oBF*0-Fxj;5nV=EFm%$*@hiSd57coNaekU|Yl}r}1&Q z*xyMO>wnG?wLIUys4|~|d$3p1T@D8b((PbdJRhD zQ{8(Eg?z{q^F0(2ZT$$Lr%aD_f&M3UW^<*vVtSOY-#fas(Fq$wws*A|>z6myX6#So z@;}{-b+1z;rCS@7S&zEdjJ-nMbl8mjAx~a#ERDYTemq?gb4EbAeUa>t+?z0sVEIxF z0j5kNel|C43L!p>5T~-r7)r8K4BUiS(ZcCc@zCmSvFFN7UA5TR?|jOq-wfjPKTQQUGh~m zjc_HO6Bzy_x1g!P$j=mns_GdD0n#CbANzyoKH`%u8qrSk)U~4cREWY@Q;3>VJ5Y6Q zqM=tSdv`Gz>kzS-m zyt#}=GVRy?Nj-IaJqsl*?=L)k<1t!be)ES8^J(3e(~mZa*L4`hwY44krZw3&7ucg% zK&um`CVR}^{oWcy#G$ew>$@f~icB%+NNP~Z(@d>Y$kMJxu^=&ug))jB83rGtsHcsh z5I|}a&*@lGfe@@wRO+VD&)sPdWyoAQgD5R9*Vq*wV^@6QY8rCnLA;qUw(Q-eCp8)N zCepBn-YWP`=2zO z4U^cZdcvGcwiqh>NmDZ+d+7~jVs>&(`mim0n9e}tCQZhsCMzBN)hd}G%Q58}ncq-e zXrC-2?86E@5+OQ7N7#JJ5u zt~M$}UFD+gWUrsq-ai(Bm^TdE;J_Sf-m~XNc z=M{Jh(ErugHFOqwwq+MA;}b>Vm%o*vQXq@k**FWUOIh&A67O8fQ7b$lm}Cb;&!#zP zl`iQ}>1jVotF&d>SCEh_QS+=DS@llhdqGZJR%L5Z?WJ|_IP0#gGwFE$_ zYPa}?#3En8RV=B~GGETis5rZd04@vwO%!!K#(3>$5A>%NmNuI}yKQ`k4z;#oXIi)n z>?5Fz1rj+ekSNQByZ#`h(Tf){_z8q4%}P#$KdO)!D^2tlC}dCCn;PUxW~TKQc1!6! zZS66b{coaOPf=a9n3iRffRBO!3;0;1z{djJhzaT=hKL2s;b-K^`d^N}P zBoGKhJqIo5Movp~1NF5CGdc1W5OKH6xrs3kOzk-4vfMBmud`?pT2yVMNGEoxtY8$G z){(P?W-gIOtoKDy%2HnXNE|tz;#ZkJ3XoX^kXccvhW;=J)3$w-y2`LlrsosGIvbXf zb(Xa`Dv+PcydR3|X#UtyD2N!_aV=u3=(kFY9p9z|)<-;&b^nvr)4VlGxVNs>a_0f;a0tNq;>xzeZOtpzm611u_q0juv%5W zn_d0C{YGRkekNfpi0MgPRF?V#dtYAd;?RU{_fEPkWAqLE7F9Wx1dX-+IA;!4q9k#g zMcqMd?s0NB?#h~g&ojh@8%Vq<#;FjC>GNju*8Da!YJ5)5dBG7ot2);|X+(IKmMTSx z=#X)7BkLEY^YFFgy>v}z#@zfOGTSMhD4+2}7Po5{Wt6=TtN;4O+TX`MlOx=TYg`F3 zG&-NuxG91ztdg9fr$ZIKdOXbUBDs2}(#=IYw5SAU3)wgTQFrT<0U&UI$5I*T@R)nx&x`Zg&wV zL)F5qHSCFh81#N3$4vtJx0~De7Lx)FRah>Nf*ih5_ZHjJ@5a_Lnu}3%o39qv(@lDq zlTPY>okr(l0@zeTUU@@n84-$arbQH8TcCzR!06}mq zWAc&t?A}&P(ucV-YB+5rHvC0LtW0!ShFV0tqe)GJL8E)n7{x4Zl_6{F$0woww#Bta zm)2mtA~L{OVwO-4rEF4eBPrwk)M{CFO27=lnw-B^x61~++Ta2`a`EF6Zp#SW;Cv(K z*bNx&k8kGeJ34wC9o?E-6i3@A!{5-o?tr6qv;^FhfGoj?>|(G?=d?8rpo8`{>RKho z0S?~~6e-$jhIS)D1%lW}csm)gdjT9CT^bBu#@Q<_^QqC`+OrwK%5TqVS}H5w1BYi- zI*hCe=}UKY?zMWjf2khsWw#dOuB}4@Uv#LRDzGpG36I7(5Nq@qlkYocZ|cSVX# zm2zlGU=zCcx3Mj07$R;m(yL;(WYVAhYl2!CWG@Kf%~uG5XrDl8VPEJ*xlzHU3Gque zaYq1RS4DVQ4pw{w^g)2*9hhsbl-ZBF{9x180f`cX6FXl=>CLA&cz(MjH;lK$n5)U8BWZ*fj^uJQQ(<)v1~GhZp(%#9A>+J|aRdFT zG%g8Ki1s9i6u+)TBl{DhyD6HxXyj?r0>)jZ>c$K*D=&my(!G@|_el>9qBexP^CKF^ zB7P{5se<84gvlwt)qDm}5pAG5|3)RC-6T|ItqSoSn!-7i3JI?MX@{i+q^N`vY(`To zj8-&;jqQ}?-Jn{D#Kq_JgV2oKh{dfk#DopqR&&wF$dGdcayY|=HS+}#DHI6SQ?B(L ze^vp1LucjkH*gm0`&JQ2m&0AAg!Z<^ z1xS`6Dc}<23Rt3i8*N{}d2gZLbOzq)!UC8Ph-o4yEk5(&^hZ{cmukJ1a^9$=f&hPp z5BEy=&3vk35fxkxsw)Q*1qs8kd=6p=xM!Ha!UCe<#y%F}4WjTXIXsuviep-bhvq6_ zH5NJh%?qqb(24m%XExz>Dx-&9=XPhre2GGEjkWSitl7+5DJEHV^6`DDAes8iW$>0n zLa0@a_PG{&b#}B@(peF_42%yKblN#WwG$13c{C$7Qc!YfERe;?dbo_nazZG}ghH9P znG+XMW(;;c{LP+sX*R1h$ZDf0jtXqFlkHnR8#0$7t#$e_7c6#+P$j*&#LVeXaQd5h ziGoE7Vbej*V#LGvJk~}9p!cE+o-RutTM3YL(M3VdGvf$8S+|UIsSQS{Xu=xl9OK8n(4@CZ~QaCX|a<8CvkBGyZp*Aa=IMm*InfGAJH?cI($15UVnsY zoGaBhi)s+}AytjUD4Q3nipUVhPN8h6L!n)lB9U`+KULXo4xlRkF`E`-#BO2ag+=MG zGSy*a$qpMVH9eP_USicW#i%gmCZW_t?^%pWr8dS+RsChxHDCHoCQqrZ059gP%wO3s#%d;Gml*}#E`0)%cRG}i1>SDbnU_Wg^m@oAEA5Cm+md3 zdxxZVuQeS==bmRbK}>Tb%5;}RN!R9^$I$>Cvujpp>B8Vl^*A96lJn>4?MGp^ziqeK z%_|=t3%eb0Mk`v=#f4m%MV{$~0aXN?pDauN+or`mFE_S*Hq3 zf73HjsPM^>{r@lU$&}P&knE7etS{o;)v0bN9=UBrl1B=u+2K4=qMoMl$Q#S}BK%q| zYlg|um^f{jPhV}7mQ-Qm1LB-M8!D9$>j));+7%~UnDJ&D$Q zyCybS%D<$`@;fhARQahTON^b8PH4o#jmZHUMIHWQUSd6SlRfEp)Ov<4Vm;Hbi*nPJ zD2Xa2mnkteF%Dnnm~UE~ChHvY8DQ@3w2=AsDy6SY5>-mBPf}G%=ff-PDuM5{n|-O$ z_q~Fd%en0WRmkdv@n&(@RcEHJlhf!;mL;(PiLOkoX@32N)seEMF(*sN(ZiQ5x2VU~ zYz9ym9rw+lbolR`kJA~nla9ClBb!0*luVKgdL;Poju*ZgW1`vt03MA!CkcC8sMzB) zVb6w9uCkJxjBjJkQ`4~k8xdS5lGa)(74J;6=Gz(cnv{U(Sc7k4&(qTDkPxfp7*z{3 z-95{0!S}(UH+P^aDp}UCn~u()1f~$!M7GTrEJM?HwdPaJ8rWkdS%nriE!l-{Gj6oNSx>P;388uSr zlI_-Rde{|1PymmYj?S+kG%zCHxH1>nutK-Ym6ajw!WFs}Xi^v@W0|YRm+N(#cN2IO z$dSOSKPc40MQS3=h6N@^*F1;CT8BV;HEt(1Hq||^HBVAN%UWv_Q#9!}GL!LrDlc<-RaWNr9879-fg)`0wDr9eNfH0%DmZc1J->xTpmdKtb6cldHn2 z@Qq?{B>NAt1?92)jjA1!*^f764^j^ga|_;$&zdxkKlyCFm;aUe8XxMBQ!l5=xMZ2j zDS%9r%N{O=pPFKrl>At}%at5h?qO=hd-+B-7zJ4NsQ#cPMbXhfyj26)Iu+k1Ua^%l zkEjxu#NkK5p%}!^Ao!yg%>aGhoXelLCMJzbuCdJX@nhGGJxCboESk9qIQyl^2jY6T z+$CX(+1bM8jW1?S7VJ7g z5Z6mGIs;eEI$k%1>W)>4n2ou)(0INIar=+`Dst~x!z`nn+IvXO4nghlT5cu`z^aG7 zyAnIg%G{;l1~EBWfcsTnPK2DOl{eM3b+5UwuB}Hc^bc1+E^sqoyRZk1m*8Lvnx0a5 zi2Z$KKK7@WqU&K8&0kdacNvIy4K6d17)zO!%3Nq&dMh9OG{JwBF23jibbsF^>HFZA z)ey<}RjCu^3yq|?(xvvhu5>YXC|>pLZwA(1pwe`w*0bp0)#emcM6bB?D41$*Pls%+ z3bLtAYxe5I#yMJRBsh+Qz-{Tl{+-nZV>CTg>Ei3|@#Qp1b@Q?k?4(@xcGzWI@Z}=D zAy~NOQbAUs@CBG+)QpKY2E$bu;Xlfjj@O)XNf1L7EH3H6P3E6@)>58-B0t8A{+;)D z%g11QK2_^GZf2|&KMUBdS3EW&@qNN%#GKC8`YVzLBn->4q1`bjJRPv*RI#C^@^?J( z4#NH1eu$hb58~@QS++M&miw_wlT%$YiNLSM@e(5aFfSC#!$NFa2-4WDP95JQE={OO zl#D&f1U!AF!5tV%K&3cOiWOQs@9Ab?)+u(ZV$rOqE?tbom`kT)Q^kqud2h6)TmKU- z7m5uU@2C*$__VYWvY-S8tU@yQ=ilef(CS|oxr6PD&o-)=bD3D44s+9}FEslVo#Axz zhb?;k$|h3eCFNtP4a7-m;HX?}paSD_&3TuLC_&$7H_uOH^qcRNk>yQp4oc7~g^ zT|r)!P@y_wq&8E#tj#~%BIM2OQj7hS1rD$@Cd6EGYlvQp*hQ@8hQp(V`^56K{$G5M zc%?R_u|VUHHoDMUbt7xdQ@QeopBD}@%=0a_pQM#9XXCoxMZ$_Xi?A$;f11|2XTiVe zy_=tE$U_7PRIj?|UG^x`x;7MfPB|)y)%%Ikp74Ysu8nokpTK76+5a6Q9eeQ3KT7sT z7`&x?Z4cheR7P8SAGw}gWMud3+*DrfR9=sh*LN7a3+2o7!CP6C8X@y_Zq(q(Bsl|n z1T|c9xacs5=ANq=JF!;~`{EZEJTZ;J`viwTi|oy5)5xg-=Os+%^KC~LXn3bN^g8Jg znHkLkW%lJZv*~)tV;E=RF}Ip$AU9&&%p6Hd0YY`+f-ME9Pq&$G@F|0AS)T}DF(Hm3 z2rt62rF$=xE^a=HDMTvMcR6iXS=*{f&U}O0=s237Lc0l2Fn^vf??fK?!}k`M4nOZC z1~$QrJ_rt67F@fd+Brq6Frk^J1$Ksp)=)LwsNmlfh^?EDF_z0m^fW09OLp(}nqgu} zyFn6KVa%PyE9m1PA^zMQa(LVQMq5BDYt|~;14dxwA!FD|vG4P~Tl*m)>XkdU=q!Yi zlEOrl_W8AeJtV%AUwgC?eKc;4qNRSV5cjb{WDY%n|sl~!Uf{*e9^ z;tU2FZi`n}PD(J5^eU&l@ueQNLOPj)`%&vlS-gwa0k#CcaQ~PlgpjI>~TSGG4sCVxoS0R=cxEDKjvDMM~KIGmc&->Q9SF88LxF4x$ z1Feuh^7>6x8H$d+LSLnIokY+OX=w`aDR&g9MzLS2acf3J!>x8bCP>|J1t{uN55dQ! z9tB<0Lyy$E_mFS&d#d5-UFQXh(3x5b5jqEt5_ zUOqWXn$)FS$&$I?NOA=xlaVmTF$1M?`)_hfW0LvYR>v_?JP$=hbcHm1T*;L`B7uWq zZcG4#N8S0tcLSH{2p7kc>P*72?=mYuu4Uw3;a$*x)2~E-LA$4Hajk2;K#C^>tM@te zc?}^~8E45T($BBQmnivCQ$<4--(BVKdD11!qQHo_Z_%(3VxEJDS%-+RrHho-wRBl< zigb!CT|yCTKoCH>{E;F?AzzdaLV`rMmrDJxDG~BKC=%8ZF+Nqpl!z&i0y~MAGBlKY^xk9??R#CD|*(_!XLdMq#28iyX;}h4ihp`ArUex=`*4~m)c=R=~K;VH$S;3 z*(+m@xlYenf(ts`#^=HC3EJWYO9+aun#91`riA0IEV6_G{v~#Y$0h^=XHZEGH4QAX zO0h;;lfjqR4I-$X;(J1tq^}l6xxmA~9#mZzstu64S5VlSDsEf(I4>a76CPR%Bp_&VA2B zXHp@p5Vq9{L&PdT>WfCD4SdKwpWhJFA@`y1Gb#*Ws$+MW|6sPk%Z!dK7PZ(=(GPue z=~4SOrCR^vLK%BIe<-GhXb0(&c*lNK$`i~=11-TFy@HM01TiFL3k`dGX?rK4NNG9k zrc>4XGU|PY!2A|SdFv1nF)IntWjb+hgSR*0N-_;hc@vJr0 zX=Qt~%C%|2-JA)5B*{tg@TDz2>}o}87=ED43kCwq{OA_Jyks|jn=VmuT87(@9iW8y z$?;SSKvZ^7#(>P47vAJ#$^>fzVcTdnKTX@>Vt1%;%G2JM17AlvAi+Vxm?gPx2tI5Yb~ehX{Yz${Zs7 z>vab*wfmQmL3rlB!($G4*VXn8gneyckDstZXU1H!PqS{l>$J*sJoDqw5^n+71iD+{ zJvjFbtb{YQy8j^uIrFk!fGUo0tn#+kTp0?_psX8MJpFslx#i)zKW{4!*L;4cJUsrJ zjPh{k8>e{?>Jl6)r`!ne))@c!Au$M)2}oj4Y4BmVC_Kg~aMo$Ul<}6>Gs0r*I-o-l z+i$O_xDRb^3VG4$G#?~}ZNR7OsYUW;o&#t(aEe(_{RlMGo;UlPQ4#l7RFxyYI0w=D zrB+`FOod0nU{MS=OHp;pTrtioK^xky1|^E=usVE;1K2n`DkGQTSg}YZGTb0mf;g=; z1*9F=^ro*&%h0{;H~_U1tqI?x1NwrvgN$dDTgy-L>@Nh?Y6%+ebL<_VBmI8ukw(Uo zcIifw`7CKw@!L>9U6dvYC?00fcUX<2eW6FjbMRD#N-f`-v$*W|iS3Q0Dk;&}E$qy^ zPAfbuBnsewA@=f$aj8Le>;MSM8jr8$A>T%P|51#a$@$gzo_R z1^1%Nw$*T6$|y1%(ljD6>;Ss#C(=jpyfdF8+KS`rRDRy|#u}}%#kvu^`WsRx%cVQ1&7HUp$;N|uF1IQm zBgWc-h62w^X&zxqX!2ifsrz;ru@7%Xu7Gs2_lHS6effj@Dp29xeqfv0<7o1np0U%U zMFVPK9aPPsIlk~`}wm`V7jnS#?Q99z# ztWB|QT+iCTF@ObnHVy(k)0{G4jyAdk5X2o|3r~r_yK$<11^$u$F4rAu8;Kzz42r&> z-65+Z+HnnjMV#0uOKvt{ zY%d0nN;M+l+$^aG+CPQ0FdGh3>G42~A4 z`?{dIfQ~5NAPZFbVq+*wE0KO+6^H@?@5zCcqM;LERd)DdFmi>^WArm=ApKP!8(Vl} zX=TfG#|r!VSoAGki%;e6_^kqWUrSV6=9p2DLHp^tZ+MykW+rQ>`CKBDiR>mZ7xGO% zfQugfh4mcmMt79X#2gnxMB; ztJ}zh9`5&cDC}$t8BUBf`nAbIH@-TyW<(^XRxuhndZE<}w%CxsrjotlX}>l)GSbhj z4_rbEu9MND>;AHqe@%Mvn(F(m(zVyu)a|`odSz;YKBkMS;LM_la*FZ^sX1lgRinyFHy6IQ&wf{tkTL_L*9Mb{r{%gYQRQD`XAyQZp%zYu@RAe zYW@>~Vm{az&%651$RoMqRVxYSTqPYeUDiT{;Sp`6Rc+cMO^AyThf1psajDlWYm>tq z>*2d~x>oU(k{CtW;yv^CIJCtpaP)f@g6Ow5NKXKPqy7?p;^o z3wf8;l!miPyEFZff4Q@CxRXnxiG1pjTdib{1M%g$aZiTIcgQM2gz1s~Y!Na?zou%) zCMVi&JnyG6$yoFzF+n1O6c?n?38OJH+7BO-5yo@xm~>9rqDOOnFP-GQ(e0UYLJ&Hm z^L2}$f{wSMe_`3BhT?4Lo+9B7k3E7!MCRU(Pet1A93Y{_Se0%wpSuoe zkNoF}`4rcjugC$o(Y3`)H)s%b%N-%@^+tc)?#nA2@^de|t#-6J?$%cs?*;^Z%5f*% z!X?Z&{>1I4Yxm!RMky5W0>7f?HAUH6UxmMYw~zzp__dyp;~*)0v&Z_wJ;IlH)!_E@ zhetCR(ECk+a3&HSjijlz7lF&1rDaaJ!Fx5}SyAf_cw4N|8ZK|RENWtu7=qm~QO(Tp zsIl>PsSd(wS!m!lK_eDyie-geVV_f^2g0?#c-QCpy;T{tPQSOpsnvZ6^@hAd+}i!^ z)Eds*hg?_k<|84ox}8~qZe}0{+k=rI_?L2c*cu-A!@~x9y{fJ#uYPAmX<)Eb+la5N zqJBk4s~}8k-_b_D&E7jupCL0zmy<}>SOHm8Io=6H^xYNpjU-3%jCGOzQ|}$9+4KSF zgZ(N>Lsq_|Z>(~>6^i)GWcFiot^A3W@JLH-PWX=g{?fY#JLQh##47%@$^p+bZuZrq z^+_SrX>2|pq5CY}PVstOQ$h3`CP*5$p2p2C348se!v-fZbS5(tW=hW{d$f_WnMe%r zpyLp^xMEEq@7@}W68erX#&3p8nJIY;(MDes%8&H>Tso40Vk)UJK8fdD`^P5{|AbC~ zfb>Xt8=Ws^9YOD^8q^U?Df;2OPcB5Fh)H0BfUL^k0>E+!?QISbGJ`vC31k^1e4-1V zAeKLp=uxs5_8VqMOf}4l@t2BD;Ey%d$1!VJW6k-}%q^S(_(j$mQa=WIZxCUmd)I1p zn|a_54;frqtOhX0AEtLp?~rju7R+Ou8+9$f`X+mnk+ZAxM=q<|>|{A|=byjZVGZ3f zhHf`K7}5faLXe@(F-w0WLk($Egdv|mshZ*^Eb`wgWq+;%C!T&oxv?&ex* zQ$uZj)L-tT7}lL_#5)f<+Kg7o!Wwwy2BH*H5bivf&*#ky{H`j;GBxlgGVn}Wn`rE8 zpViO~SqmjKCo^OCQ<*tN8P1(lvNh=VN)7*ORo;E9iehXMf>4)arX=~GH4?*D*1NMY7;(Bsgq@q^fDJYlS=0&|^Z;7|YS#LgHHmNtsrjtP8{)@0KGFGKj55XKO5XgKH^d6?hll#ZeOQRW z8fqr+Thnv+c<(wzpgf%GES;_B)92Y;dotXL#AGgEVKGwXlA`5EyM1Vv68k{mA6NVB zU@2m7gkgvibEBb_#Ze{Nh;4B+;yqo9rK)}^OTGagtG&sJ&_noYjc<@ zkRKyNG%X!hQU5UkeyX&JipboS(J+@X7wtljJjUy9yCMiK;E-C30e= z$at-yk(9My-ja z($p4084IGZ1zSI?DE_$0`(aH@IKT8XDLgwo(OG(}6fM^Eu^)} zYI}u$NcE;mYnLIo_RZhtkXb@o{4vby^40Gk4kH!Zjj7|NV0getqyI<9q)(bY%hDYm zO7X#g8-nq-V-M1oE-|;lS9m|FO~~8g(|*!SXEg<-Ys%JFg|YZQ4)9<#W3ij}wS7c- z>8w_}F{0NjHBDGS&7|hG5Ey=l$qu z42B&4sxnAu)1yRqRjb|}7!Bp>12L6bGS{)x#sZ@2e~?)C7yiEo$YuRKPW2&M45tvL zQg>g&%x`=R^Wtp&)%FQA_}T*vt_sic*`=}U*+cDn24fxnHj$=6tNh4+`rFJtyZLv3 zC%{jquU3FvCdYaNyqjh{tweR*v(i(7*geFBjo3|2N9+a>PbhScgTLeN$>49zO>zF- zeN(%+7r9QjuU<{2YZ}1aP09}$DWx#GQe>I7m;)ddBTYA%L2d=Ld#V#^Ct>G=U1bho z3_7BA)8AF7-K)o2s9p608?`%gbi{p$1iU#6v6EQXAaG!NKR)Qd}^=p+YUVubaG<}+jpl#aX%3g_1 zoxLWB?_H_zy;u4s@x3|Yj}hNnG-O`cqFd%Uj)d<`f`I6dm1g7M!|=U3Mn4kQ7I$wL z)$RcqYZ&Dy85IW^gWBGcy0bK*#D=cS6Ug>oK5XQzg~^5gn7mA{9E;;PCh}Ylk%Wvr7Dq!_cvYz^wMN zhMZX*LC3gpl$8W##gB}RHH1j-$(bdoLy|f)EB>FOV;j0c$F?H;M0q;`I<}10f{qD3 z&=DP*BL?Ypo7;~7j@@-k;Mf(%1da_-;MjX2;RGD}SOo0L{YDbB$T^P?M9z`ZjDGWM zcx=`8505DVnVtrZeZr`x;IY-*eIM}Hh;M<%o1B8i8b-92RJAKDvSCELq$sQnQysT3)qXRZpCD_=k1UAMV(ZSl61RF!2NnvA`2{z_!$SSe0v4(O-$#4g%D@Y)b z>&SQy>&zhz?d9xgMitX8E8!u-LB{T)2AQ$fJ0N3sKY>91R%Gm??}CiI_)4JErzp=7cH=WhT?@+4rg2EU`CBrw>jZp7Da<5&olzSAm=ep7v(J2GjC zAZ1APMA9^*?2wI=@x|Co`Q$o2QK*}I66{t{60&knfn^6%g^YD3O6jhaQoVf*cl7X= z+&vhur4wM5hIC0;-Q`0aebPTh^9MYZw&B!X7 zoN}h3pxCe(3?s1FNzw&n#`vkQa3lYkIBa-t^f&N@>?&B$gTl#=g_^0sA8f&9 z4E_;dv$+a36Zz(E7&6#bV&P`J{SDH|C3K9)k;ptoUO`%_LxvkUxBE(dlxdAgB59V~ zb_CB3+29#p1!eSert_J?;=s=upsPTMznhfM5kG?h5`_hw)9liO0-9^7SdCQdM?K{B z2pC!#>?I|4mn?=u3pR@8ipn`|4AZrOq6O@Bcg$W0EQO;%5eXcP3?1a>ybX$IwUD&T z*vo>Xog$-XQANKQ7L=ALP}+kQly)m!j35zQE1q}4qaw|0D2+3L6J#M!TJ8}@L$I{# zVQazCMkTSd%Xwm9Y3OI#{c@WIrUgLFW?O}tm!S~=rrivfc7r@->d7?+@(?g>Y$q@c zvNCTMG;K4L?trEhr{!Y0_^zwDd}rZz2wsg1NSwagehYAH-@ zBrWI)Q@g2~3{V178(sNrn40l!uxUqDux@J`$k{o;89VwUF|}wKrgnA`Q;ViBwSOfr zH9{4DsYR2RTEkF(Lmyc@DNv1x!*9*&4afUD7OF;Y*12%QY(=gLR`b}fnygAjGMO9; ztTw7ESZ&`M3Rb(?X~AmGRU8FY12>T~q`HLFWKXK0GPA^j)fy_ZN-C*VW5ej~C8GuQ zV*xd~N6F}JTw1W&l}T9bN()vS4HV?GV71Zy29K}A!qsT|Jlf7bc#$A2F)(&kVL^XRRYr*kB>B(jTu4T*IUxgPE_{|-V! zhOk%GjWxRVYTM-qj_SiMz}zr6PRGrVIOdUznBL6Wy6z z4I-ZN+=Bp+3I_(z>iPJ>pV)A<+Z!Fkz=+9B5qI;Ve(pq>@hOXhKJt!+=xlU9d-mjv z>fA|cvf63B{uisl_o)2Z24E75a9?27zCrJxzo1s?MTFuv-7 z$$I4cx?PW{7U8M-^?dqMtDmLnJpR1RfF9?WY8GiXzkFUbXkn|GaF!Ot)~In{?I&A1 z6HjL}TKKN`V_8p5ls%uR=H`>7d;XzDKzeqKx*z0TbhUVJhupcCgHfaCBdU>kpZ=bT z_f1s%E~~(LIYx;dIP_1u2cjogsh|2EQuj)vuCi0hjIJtX-hhRBbcmJqCds*bVr)*g z(>^3=>FCa5v(wyUkBzqQfT*I$@fI&7v1fs1WYD1ssQqsDJl%NCJzsTj;t1!&sT6i! zxXkxYlEPAb@s_%Wbm6V&zi|C+#`6&D&FU3~NV?ExHgA+IL8}$renl%zNVItJpDhYI zQ?>Zg{$DErK_q-7Y3Ulr!bmwGw6S=fu1wH1U zqI8x6=7Cc?_SZZ}K>ABt_zwDSw2~I7?vyPTZzytW0f!}^zFoogYTWFO8MROyBBb41 zOPz%YX37Z8Go2JksQb;hBgB?S-xG^FfFeySJ0(xD}R?j_=}SU_&N#7Ph8Y;UdLY>7CQS6p)_ zhCX9O5sv7bdlhmKS7N-Y0LOm*sq+qFm~{4v>+#IVOY1JnspUQARp*MAExVt6dtgO{ zMLPrxSb_}fT{oCcG;{>!r7bHaF?x9y9()4kZZ_{PP3i!A!;Z5Zk3jrJQ4+VCm-iE* z%z;59x4HxIn)9W-X@T9f+^ZSkzLT-EA6G>Es3Z2rMlUus*!X8tsoSC(Trr+BVX<^h zZEu}W`HP4ZAi)VP;G|M(GG$+B&71UBxtgWZ+(F2VW{qT$9>cp2W+7J46SZ|NDFMy2QH7T!4&@UjDYum_Or(R@>|=p+SwR@rq$Yu4oEkq-1=i*To#Odr%lhPO!T#YZ*D$-Pt zE-bfi;JLI@z;=RW<;H6+WWP=5X(4aK$Ql~I6Kkef1?EsYt(ff=$5m>d_E-x+crc?A zr*3l%QB8&YeCZySb{*p8^SMHyr*Tj#N1NQIj))zuz{hqoUkX#JPUJ?B9v;KV4BI&@ zbU!EY%syQXlkKmEFO#4`Avi8*3|k|{*m0j6;L#StLJje>-yFPw;;H(YH8=}2SLAnI zgLbsxlOg#k#96x?=;(H~W7YNobTlwYN8Sq0pz$^td2Sic`XE6@2ZfB*mN(?w9q>dg zD)L03BF`;%JCalsOQ)jM;$sOFX>}s}DGu$#=8Fm^QU$n`hvaK&C{m&7nRn4{@4S0Lif@?-rH z9tOdoSnf4HK=VkFkuB86?S_gtskkj<%rJe6W@NG+IaAqRW9@8|Gdt`;44@YNiFq}8 z0G>)xqaVc8Qj7Qf+SMv+SS-ZkhFl;}J;*>J5 z(fo?}uM@qE6mbdp)4T2FRiZ3FbW{`5I3c2HN#68B}<{@`$G!uL4+^XJ7g z<{htQp}G!dC8bOB_P;BM&f-4Z!7p8+$C@nrmQ~_%{q_FgR<&BqLFg5BwOUO>RtiiP z%1|V+Vil(s>CNFP=G50ZPEedQ#OX=XXxA38Q-7K*dbU)~O31u}W*-$ha+5g{MYFhZ z{$0c%=P=^o`HRX?(XCd<)N<@a9H7HG7UBIwrkqXYl`D^0L^9_BK$pj34b&IhUJ7m92}B0uvti*k$7WhIm=OOi=M zUbMW^Kd&hfRf>f!!)kk_C!$^)(J5WxUaVJfF9@^+TNWuhB}Jnz{RWl znI#!V#)4+_6~jTA!5JN9jQ65S%Jmw#K7nH+7GF`L6y(BJ`?JI}*YRBB!o%W=vYG6pL>!h@^W+zWOt)HU!+7+J)QRr<%^N=wQe?tz zfdK2rF6$Br!4e*VN#5P7oktA7vZ@wbY`Hq?0#i8%;pt}Bu1=1dQ4V!TKU}(uuY+}- zc+H7)fIvTTw0(-SV#OeE{)Xu;-~46lx^6PZ!Z}P<0u3EO{Z#U&1Lqb}h8W%`tE)XS z(BZofKO*i4<#y%@)HNotg5;CFJPCVD={<@p-jAwu3XcHvuayaUG_IAXA~SI1yplYa zPIj6bm-ERyrzvO`JBsR|%;3%P+++TV$KGW|vsU(%Hrymr7E{Z4B?em0RYmS)L2qT5 z`tl)OFPP_SkLPC0JuCIN)-LD)t8zv&S{Kf%cS&YaDq?M;%=mR+VBDEa{1X0Mnqj3J zOUmYQS=Wo7YSJEb%q#Kr1dfYmYzDd;AUaokwQ*pTm=ovmb^7tH}VI9WjhK~tx$@rX+ z9G|f~L18du9W4O2G|rsF!^8+pNOWh~2=!MV&2yOV@m2Z|W!bqs&2!N|I(RLUw;2~M zV4!~2^*}A<_568`c+EMfQThwdw8a#5ld9rwvUycZ49yoMuk>+>d}xi++x#ZSNm3GD zt*dcj`>&?EuYEP~XU8xKxnI(u;|4zx_svHv@uJ0k(Hi4L2`?n_;1F?dY28pACo+)} z76-a;2g0G%u29792$Y6ax@u44eq~O;8(NKba#PLvSa;&|1&!T7?`{dHe#BfFLZdTP zE+wH6ndH(C8j%(7ghr#kAD&BxQJ*-U^B=W^Z!5(T%|PsrnS+Yo3q{WA`@2VBJz|CG zrQ?}v>YtQEFsY`9p+mQ8x77U@+{ydTe2 zoipLkS9pE3yPqF3SZ!f3iT&P9+Jh26AmIHP$L{8ub1RH*DkAqd0!B2Q{1+U^aP5lE z`p~apa_IWqCJ5dV&|Hvaa}44}(?(bK__{w{godWx&+oKrBlQzs=2$<$}GOUdVO zSYxw3aBXapK4ZB&IKB4tkhf8LAS`ute2QDE9{wTKx=sy=D|&~(Q+WJDZ;}fjoV^|c@{qJ*SUb}Q6m^+UK@~HZ>DdvagJreh}&Mi;0FOs+YX($Ef!C9vSjpf0$ zW>q97qiV+5e7|?daY1c(Q)pn5G_x^3?97Fff7*oq)K41=mMiW#$;$n0liUYPG4CRG zizpY<5h-FFqvntM6dhfK32bZ4eF$zO$8VfYm3)P56=@D*m!gFZW#ma2mLeIHlEVLk$5=|(q8V#9#~ms zb7qE|PTSuv$3JE_g|O^ziptt3hl7_J^>}4&jH8#8xKKLB72>aNyT0E{wAR}>(Cxkg zjOX2UtBNhDbOq(Ju(aCRs6xuh%JB{N zBk|Z0Q6M-E4QnIIC%oo);1PqmS1?&K$)V% zq+dERd_nPkxE{Qt*&MqztwX~ToYnCuysGJA3~DmQH#zADyij-e>-sQ8)|^RCHd%B7E`%sndNp3~;o(Ki<*p2)JSSG{Zx}UX{vM~l=ctRd zN0;DZQiMcAY|2)#ul`_7cKwQZ`S{z#-c_HB%t@^}r!1X6k2S_c#L|Eeh21v^s`&se zF!r+G2&!D{P4aRq8krsYYf6jth?@k;x#(+V9yJJtuT_{5a^l52R$vOQHs8yZ389Al zq`WVOCZGPpdWu0%Ue18z)8AW92Pg1Ur9&Mw-(?>|&g*s543_1Q3ZC05DDg*Ri4?o6 zQ*t>U(mLL^PeZ_+?O%kO2y`Gp>+O#RsSgQxL#VYjXeJ@BywJ$BW?eEG9CqvEMyvt=CIl~yO74D(kMlrPFT8;~{jw_x2N z2SJAY^~-9!YAY*$+5^qjZRQQtS+Pvi$E(SC zE+>+LxF%>!VR2i`o%7`I=F2lUR-55048rxbL#vFhsw8CBTk7aoG1$04 zQO1N|472bB`-D(>Rgpo1LOAv}Z6@SL@2q0x*l<61H{`O{P39c5t6>h@jy~51#$roD z#%3$=sq2bVVj#6pej;&@#1@dg1eO$Uh5n1y0;vZV9FoFk4?@T3#w^fZ(7675N)Q2q zaQw!ITqYfBLQ1YwXz0l_>rMIc4f$ifj{r-_htw*Ul=nXi?PmF}W)DY=zpt(|Z%s4ZAlB(|gk`LrYf@ z+`g->e19Wdc_Ia;b)|0PxOKpe>s8cRHe$X;WQkyzbCJYvSc|XS&MF562D=rxhx=tg z=UGDM>frbS0~a{9LF{FyZ0ULE>GTliOTf|A(l!fc{<`4Uou6VUT!81RPdTJWM7e9|RN(_aXMFwNZMjtY-+Y%x;=^a|xK2Es^Q6 zgGL{j!sVOiDIp0s#V&*meQVfzK8yVh#kQjr)@!Mm&E^`pBZgbeiGl#C2<1Rpz*ZGYuZ`jMNVB7P+7k`|10h;{w;T8{X2fDv#+Y|mC8C> zvhIusWZJ?HKy&LV6wJIalFWa@a?E;_!`WC zyhGvJ!2Ydb4zL%4 z1L;5c)dxJ3yhK7e;2!aMNv3pvw68iRcfr9=nF!V-gzsiHxXC8WP! zn4`cn1-GS=X9Fe{Hv(X@C8IhiKkSp~!R=b)&yS&vO1ITb&CO``0WcnR%s@(}r41F| zTgZ>D>_mE^=7umAR9Njd%r-J86B$8Q@yB9tUn6)t0a%s&n_h~|lUDZ_$t2`X-9vJb z+?GFA%m9rq0}az1QZovg2&OSl2GF)=agicWQaI~JsYhSYRALN?BS^rlDcwnR0y{PD zn;UrPYhXMi12NcZQK_4Ko?G17>{5n%0-GF*l><}0^)e0^yhD1kP?Sm^CIQjm($9>0 zkse=4)PQKQ+#8=rvrq~p=Aue&e8vu$c@rg&WgnF{uDwD@J`VvE_jr~Nn@#BH!Goy( zmQ|t*WPy;$1$@>3VX^Okv$De~Te2k<7CX0m5H!9_c2z*yY916w4HZSR307N-ae>eC zu2%Ujt|V=KPYWKTEuJRr!R7D~J)8XAe3MTb#=EsZLy>g1-?L85!*l!jJ^SZs0ng64 zJp-OE=A!?{V;9jB+&1?cZCd3rGG4};fYC(Wt3Au-oZ)ZU?(%2vQa|w)|AOs~cpUAM zc1d5Yg~7>l&gB6(bG*5eNPem$0E)(dr#WD>Xl367$T(0ULo!{G4FgETtiZ}4040o% zounRPjp_G%ka(ljJw>y~0fSfb&ty!NCG-1wy_{Fe@w?Tto4}b{nl>YThhZPm!YraU zeL?%$gH1aN{rg)SHKzuQHnzSgyD18A^Xm5eS*#9NM*59au`@;Z*iTQ4O;dL^PDI`E z%~3#ujEy2Afl5y2z9Hn+Ji23U9z<7R?2hijxQU2YvEHaPF(3#8IMgBXij2Y3RYu(e zV~j70{K2ZEQ3qTjsOIbduuUP3KRCMzv zVztZUx|Uyin^(z{iMCA1N2VMuLzsJinJqI&Ufu_2kA;{l0UZ99LJ70vNpOn!;)##M z>)w=oGi>GRSbN9;P&&YPmjZ}F?YUw``dl&Q`<^RadtM|<=ego{JoRI_#ZH>rsX}fN zT&Z%86@+o!TsqmFAf6!Mu}l!-Nf!uDb#^&H3{@|uJ1e}MCx{BECSv#DbVVB+p~in!kWOE9pFp}D}#goS zqmv5R5{q7}W(K6Nd_xM^&4+h9=IwkNm>aO<`uc`_bx*&FY_YvPqmUs|40{nWX6E+!kz%T zp59$^^8?;*<{r;3i_t6!)|d+KH`)UW;Xv; zCNQki*cr<|jl%j|~=6mq)_2hx8`T{~7iq@r_W`>V#SmW}yz5izJ}OzZ^vWk9`* z^^l(&%*2wN(*|@F@J@H4kBSuiD*76#K8zO2;zo_Du`>W6>>!=Y2P9h-or$D9OkO@u zie!M@Hzc_wEq$}z7io!J+Cf_S%oqP?Ny|O_rb|n-RAdBjq)5xUx8|ko1Rxk^IhCmV zVs%nfUdk#B;kiMcASxFfXRW(gfZ(sIPJdF?e8SA}M}&Hbcsv0d(?0!)HJDR;TG2Pw zD>_&b&-=yI3SSnmTVlC{Pt;4Vbj`+!w+yAa2imoqaEbU0|F?+b#Mxw5Y2|BK2mE@a zI9c@jvF=zI--1PKqntn1=ph@-{zr%Lr;4sb>E zcG)V*LzdKLOJKvgmZBI7CApZ$lF2I30{z*mNX4+dY-4wHkaAaW#_B>GSzvK2eUmFf zt*;pW_GM?)ifn6jgtg`pG@WK{Sds2aB1W|#&~SBt*&b1MWxRpJ)ncqg)UyoY&e{pq zq$R)rn{ZlLNIrOWHVPi#fsp_Y*s}q;=%dG1*%KZMDB0)g{l&YCw&U7jF?U#}0V9&k zDH9?u^WNnpc8L4UNNze5f{JcZ4CWW=>@$L}bvsivqTj>1V~PHEY9PlPX2iFck5enl z)TpJqRGsZSdg=1$nOG%@AA(wyMe5yhl8IhdKm&X(*@;z41k>*kIvIP-#3*snJ!U#*n#Tfe68I_M^j$`Rwe3Y8&n|L zDEU3F@>7S1JV}20wA-cWn3K`Js{LeR<)Sj7o{kRfEkdRJRm!QKuVSu(cEsZqi&OQbB#Y&9qNTcNX7 zbDeksk;tV8;8C}Pc8#uKSbQ+@2entX_{ic!VZm)?>nb6G%W3IWs;%A# z6{OknVdIrJ_yv0I9*QJR1KDLBT+PSY;-9XeEsCXq$)e_SA4o4El%@Z~rN*)hh;;I# zkq*$q_6bi_Oq0*0son@OV^Rao`ayBoO{x1=@vM#CgX>m&)hDS2l|p0rmY z&#DEnqLLr1m%JHl)xaLoK=Ssb^ zyepCt7L~mzt^O3r14$V)u&RMP)v-Syn=mP(2a|@3LHsj2$V*-1rQShaD$2HvKB3Ju z@C9Q`=O{+u04(+UkUDG$b3JrvOJoX(INg?b6L}!%L~7mv4OvoCo}8iSiT zlw?c1HnExiKS{jqu$Dy%=0Dz+{FKD|LztxW>s`5yaLSW7b@=n&~;cjb{&H0M3$R(k01c<(-lp zC+<`N=5LG2k$(G^vU_?Pi)muQGr61ZI-Dp6fF(dZKG_=A>JRZ&vcuelIVT71Zd!xG zlve*4FY3HKwS^yXp*uLmqJ=nJ`^<^R+~^{hwD>&{Qjc=*76@@olWNsZb;sWL7UnlK z2&zA~nYXM=_UA;t>vDWL2_xMWMj&Knt$eO6{x3@yft?Do%85%g%uFeMy&bV{3#7Xe zu6=CubUJZvJ?;n5AfhwDTv9NHC?e@)Z{cieXU{Ql=5bMoG?ni!++%E+q06t}l}cv( z7p5htI>;$%a6NStC!WqC-z(f@p(Z3?)AsLrF>*+1l z#D+L!kL23wqABKLVGCZ5fgQ-hnrtNVr%0pa+LKY=F^G=)C``}AN)4^3QZc8~ z0vp8Xpg^>xiDXj6YN-$drH~fbZQe3ea$gn<4`C`q3%c**mR8&m4F5ok+ zS%257{J1XSQYvUvcmhTRRji_BS5TpA^uVH9L!zHlRgb|f>RNLY%qxBXe4%>55H+;k z>I5V+=#$+E+_28CSDhd-Th&84Rta!%_bLnmYb1*Hlf*-E=^D8n#H3|j*;sC z*KPK-Ua^SIndZmFyNV_ewcV_g*i;WGDnR+G?lCd^sO82FwTmhg;`3a7V}RNgjYx7? z$O%6@#jm9J1HXLug8V$>en~xj#{CMv*1Evx9x^zY#Ne0`O#O@r1;!|*o@orkE_3+f zXt7~y?u&kf-j=Yymo1DUbLxZf_zMEY&(jKRA}zFu6b)KRlrt=GZRE58IR$yTpgBd> zyelRtqVC)Nt>~B&MK7B!x>g3VPjs!_G){D_&HT#x0N9Dizwb33rLoIX(b!cg%2QwU zy#hbSD&g}ASCqX;?2aeLPVk4P+@g-`9SV0U)pH0JM3#{m9=n&1qvvpuVAojR!#+i+XM={u5vc6gjm`}koVO!l$jtbezzn<0AG{xrchK}X zz)iFU(sSHNbcYBsSw%44yq-~j6c@}%>}QmEwapaaya=04B><-}^1~VVX`I>89l?am zi$@=#a>e^mNyV%VuYy|S9i{~$|6fa!|1wQ&;EnzUe>e(T9pY$qLwIqbV_QbFo~cPI z?6zjhRnP&WC`n&ord3HrzU}533y^CQE)Q|@ocn1b+Mu}32VqC?sH9mpV#RAIhvqGS zEXtwE(q@t_4;Y$e)reE~JE|O`X5}FX%x>c4kT@|kdVJa-cNkI2>MJ=X#E=WBxc$+u zX~WT}q0_g2NqzgeG+53T*aI;`k4Bp(Uw7^>J)y?dZ#*UL`u1VDe$!D3@u#E^(0V$9L zd60Xox60C|vUFr<0TX)q)o~On)Bpv@KpVFSO|X?0H-|qetJqJX2kE$q@U)q+EWhzD zj%Pj7KmT(_#f7)cvnQ->%(Q^1($No-!{Jkvnx!;mETp6lgb};r8{I_qn1;Pe__|OUI|Qb01_c8 z!cr>4jQX4sV4<)jE77*%c@xT>%!m=`+*Td-Gl~=;Yeo4!D94e>x7FPzCxoUgVh13w zoNi0`Km?LZ4k^2>K;*12++&OloU(XRic<*4n#LE}eHLFlenh?)|NA5IMdnfXLNZKH zCMW^tu~xFlWS_kJK44z*Y*Zcne2oll;w);ksHhP1G!&Svyyz3>Vlx*R*}ZZUTiZT$ zadXVQR`oX@vHEcowhnAwp47hTPpgeamj-w?RPd<`KN zY^iJ$IuXNRyYkU3+#AhJ+g#briDnC-KO_n(zZtC4QVjWX5~te4RKg*){%c9cuAq7M zJyx5RAF)m69kES}$PwEl`6a4$*oge|nWK$}C5mKWH84lG&}mz^Fu4}U{L3UPu_Tz2 zJ;<~UbFXxenotJ{+%YOwK?OiBfrpU*byXR0w)+HgOvA7{>H_1T&=)eJyRc}{n_}nG z-V-o3*KNMGuJO&fwv*=GF77|onNy^XH^^+bs35QiO9@%SRdIw3F7#~g+yi68bZog~ z!rN&+^;?lXyG$nw0O||Mms>@OPgp23!!zTlZ`1-(r_&U#nS&8UvEI|PIgM&1?2{KT zwo1T)zvcoxf=Z>HjxDg+bAo8<4lS2c#gl6UqkHs_!tl01=S<$_Q+QffC({WeRsHWQ zD!nYV#HwL=eNX4*RZV}ER<$SE%PO%*a^P6oZr*zrTN)QgW9a~oYA(x+Ev5#a=q(j( zG7*clrzL3+(Zx`6ynA$()F^W4;+L_GJ8%An%CBa+wa6#~_ORKpcWj9IrTS+<2O8FrvdA?&Y&!3g& zrPlLvtmhxd^PkA`Gp*-MRz9!G^IyvIUh26L#Anm=&tl1@FJCw*BZ`V)bxz2T*Keg> zuanoG(vM;!S0J`s;qIt57;DvikgT{TO3%7@OS|cJRw6}OJZuKKxeMH<_Njp4Ic6}O{VkrGST#37wvx56O;Ist3vc|lYT1_}unI)6ZlLh^fOb!U*s+rg4Qx;zP72f7dP-a$7+a4VjDWo@GHv8zbQ~Gw6wBTpr>a& zD)H#6EXJ3gG8CRrVO11c6+En%>IZq8tv@8i{%MT&UjSH<7yydfNBUe|5XEo-3yz-|k>NP#6L`qMXo()= z-)iN#Uw3Z$IEtlF(@+-R8*5stCEU<^ZhGypn$uo4cR{Ow zwPod{q3n0>RFefgp{XL*7PwWgO7f3c`v|-5M-7hIt;%d<3lqVG^)CJ~Lp_I~{&h@O zv&C_Fzgj)Z*IdQmf3$@$R*kv7wtqYdKTAf2(#dToH{U(g^);R4qi&enBJ&35u=J2@Re;B~vwX|6g4 z2g~iB$PD@>Q>KFvv|A&|AMx)h&N#i%Z+3#`Mf8fCN%BtgG%|0oGtNY7yfYgOk^YLU z5Y_fT6XuJsL)blr>rR~3YgNFhum>Q&9;-Bjss)C{PC%cDU5j@^;l9ZHxAtb{ApNx~ zcSZN5XBU9%PxL;LM^XVWk)@9g7Pn} zi{N{vh!F5+e*i;*Gd}k^?F6Z+D%hA#ZvsW~T_sJm8u-4k;beiMunCaA@(9 z2aw}O-`7y|5yFSe0jIkj>I-D+{nRwrV6Y?+{1*_?w{{L}1WvA`4g0q7rGCR%a-@Nv z*hs9z+WH^SkL;-Djwey6r;+KCAUnT1D7lFC6| z1USz@UZRmk0K7yaWBL-@1s2Q*1A7sVV$=PM<@}t())`ZiAhE~uM$MJsmN%;(84&oB z2j}9Ke}6^M9|i;;9uRzFK#+^a21FRwNr-SaUg-cks~F!S46Gks+&thdvh>^0NAJSz>N^UE%^J z$0SfV-|SC?S;jZouG@m)fsG4?_UhQHB|lsu+VfR)+FN}kH5nCMGJbvdT7V+Qc#$JAh5^X7I4FBAjTg;#o<;M$JACHT#SJx5E=Q$qLH73EN&6 zE-zkShcAmaMIZuuU|FFkv#!eg5w88A;`YXS$1NCLB^yOzb}lv-(tX@Vw`DW$O$7p6 zQh9H0AHw=NQkiJ1PBe~9GzJolb%{p1pJL|n73U9r2ZwAW9M5i9R%O4Ku|2&yeRlgB z;g)x+IN-DZZ}Qx64wez+WEa)yuseKWT(g%jF9muiAOle(c_~8Ra~NWt<3v0U$1klR z#erlw`M_1`bVtqxuX%rVfUSj)+dOER^R((_SJ>I-Rh-OeRT=2$9y5ll)crds2Wi6; zLU_YQiFBhL)Fa8t7~gnOK*!rRdf^bw2=O`=dw{07xr!Z>b(USu8mF*c0f#2I;xsV7 z&I8sFfXFt4Id~&2+p9vU;fSc0m$!;(Z8L>gS=oZb!IIPxL*jYme(}pvSDL5*#r)xz z!-C6sK(Vx{tk*oP&{t)+uoJ<4MgV#b*#}=pF#b&5Ind33s;%KO!Z4JDKbAqDOHV4X zYpVmvOUi9yljdefY_g<$W7WXQp>lSMYb}B9uQuCII|o)GEEiN9HS>Nj!f&_YrU3Vw z9Thzq4IkP;_v5M&kZD8Tlc_=NigTeebW856c40Hy59PD*XCZF-w_;7&fh&>OACa64 zpW(z+US}F3lyY$~P2mjSiH;=vC3d=@ur#oYyLygh&!#Y~w1@Bh&;RxtovJsoVm@{l>csg*MGM`HDgfeIC&}Y9v|r3)R-5_eL{W5wt4#nyFV=BT=3t} zl!5Nvv{Yq~-mY1;o!H66`dLGoi>Gn1W%d!_n)l|8(Rngv8vM>FkP6&c{N(k~SHp=e zzMnap!o9PHaPTkQWF@oz%HxbJSOC8=<2DDy0ux#ZfuLDwAW!#>=g?kdb+kJEj~t4S zm`(R`gVOOX%w6vQtD}v=oT$UmIGp|at`}#2q1@Zy%Xkf07M4X7?s+6vh4uGtU zcKmhD7+M~i5UzCrJ$8`RTrlm_SAP!w6l~;EGQAnt*4lS(E}NJ*?g`^_h{d0xZe1IRP34^*|GgI&c`~_C^{jV~t<1vp>l+zHtg7-n7&bou3@T;W_pG7y)3D_Fi~g4cxy z`H== z)jmFdG6MG5d~g?tMi6%&yDs99!6z|xHQHfLhKl{&n0;v3Y*hMUHovt9ou_a&TlZsU z8%j7K5f~;3C7_k{d>kas)^crAa%+rUtR8GJ-O83*92^fyR09{E zKdg?s3oNPnXgDx9m-GVyfcOfK=sM?h%IMkM!VxGLH1#3yyGf+%eBMDx!)E1{iHQRm zSSGc1^G`$u8#O47qW#$F*bFqdK3lBOi~(Td)LgAmY$W6aN@c>#i}@lB)|uy#*^t|A zWX-Z>&Ax!D7OvSBd`oKoi zy*U?8h7s4DFj3soE_Ijqb-w=9+it4L31b)2KGB}eWvE-|u~1Alr;Kw`+?C7E}P85O{gb+3!x^kwP*n9Cpy zJ};c?oPVdg{)@TMK5C^tgRL6^RZSr~nCJsr!w1B74 zP6kmbFDk!VRS~u=A6kL|mT!R8`Br@=InJkVnQ!J@AYAo_VNvYFWZt986=r4Ym16M} z-P-m(v;MEn@pQD%m23DrK)x1Gt#f|9Nv(!5<}j5rWcjN2O69f z);JvUi{?@J0jx!Qk46tgACOZ&X3ovkym_5!W>r&*vq#Nq`)Zywx38wb1cipT43?c7 zTasIiJ&WWlLF|e$=ipCS5#T^G842+9AH~ds1a^yQF19RWlm!UrFB*h zS%a;P6SxScra@nqR)i8Sakx2W+rketdN?0>;WbK;-FZTM%N&8 z!OmUL8DX?MGa|LqD$o_?Wh$ERdSZiUBBIpC!EIgYuQxg{NK%JM^$Q0`{yCm@kZhiG zottWQp=jN;jc$8FoRco!qiT9*G%eSaH*s+GkX^C=$o#r*WI>KGuOD_%b@1@!vGs>v z6R027TvtDAmd(+@K@uMw@TMUJ+5z=lkU6!0Cmo%*f*T`$Pn0C45 z^G2W(B%9>#HcVn87Wk&>#0&(tc>#ns{G(d+x)G6WMIchdrFVfnMHtX*yQCy_!*xy~ z4u6n1PP=CS?3Q+9Mf!JAv8GOX@$9)k^N63EwTKlSX#IlFh9jp-Pd3;Y`mV7;?Yb9h z$I0utPRf?2L1?2wP<*(y>URccFR_s%!!ZR6n67)$=CsFK_*%T$Yju7oe3xnhKpWvb zS~&@6d&C+??s3)(aW_)4Ir<&&t~mQUF$c2jBM97*UASDWX=0#$pI?Cq> z+T(t$1rOo2MRg4BOSp~&!dG3Yoco^cSL&Y1MP`Q_2fHjOBQ+Ym&ZSkM7P`;;&>Xv< z$m%esRrJYPhw6j0p}LZ_(5E0bxyn|fXpzRn5X?TRb_SvZZTXqe1hqmsq5y}$2Cl^t z8A&T(n%x?%+-2Q#jk#XuN|MfX)0qL8rtPjXX?w&HM}-H!Eia;!>WY6EfanT0s!bF@9*& zjb=?Vr;bX=_0ugHz99rf^f}C{TisUzyXmwaGCZ?^5^W)?V^U7J0$uQkdX)y*vZ7o; zw$wPJxS&7XBvo1Jq(g?9;IQZKQE=FF=lZvey#F+};wK(`V=rOtp*)7@3zVRLHoD~GAO&UGEz^BfVGn`q_Zb?kS!^@S+*`gt14#j=x=&p$Y1~~> zG96kSe&hkRrkUEjR60a50%FvyN_?y-R3T>=PB~hECVhB~ zmJdlk;09^zCF$oDN}vx`GfS5@JdIl^sV%-^5C#X>-RJ?L-<`)p-RvZ|KRfDIhy1)K z?S+#Nf3(D``UCF1(=LK{+D%yLwf4F$4(F6N^H#CrhQRf3pm0fOqv8K_IYEf1Kz zia<7;Tuk@n+)z7m7}r&hXgaDHX$W|)GAS;;r%xqIazPD;ai_5hWX1Yb*r{8L8>+M; z>_3LfU$kzrh!_otnLM)_UVu;Tn>-&4>^XTwdQ#~EulUg!`5jdpJ5k}cDDQ}UBQC;> zDJPHS=Ho7&=`c4l9|{b5X&Un(HvoOmmpgJso)jmj_kwu?TVx2fQ|K!6>C*g4>#bA% zt~MTxIDHBcP$Ki0av6dn^U{Z9pFu<`HL zJv>#k6b*K4ranE-dHep)vl$KpxX-*cGrw5n@`y?PZDL&J{S$Rr-+(_-VS27FJ3j?% z(-TegMdhZ=mQT=lmT(S7a2mX@c*1H50#Yyj(SyY+_!x{@7Oq$gRJc`iK6`;p@23Vt(zwl54X+bmvoQ`;_c zGi?etZ-pe+9};Xku_%gWm-ZvYZ)CHa2cpL2SF|W9W;GFplUvjt- z@Yo=^w&Wa(a-nn1%5@s+A-q_9McUIQ;0ZcI9?% zbPBlDxn9U5b^N_4d6$fI5eXLsnBjg+kPX!Ps`<&N!n7Kre0=47)R;Mf_ zYLxf5zGQJZ!`%y?1rBDRdFS`1C`VdsRC)sqIxpi1iP3w=YgVVxL8NdINX;f8H68DK zmJ*>9Ev07rocT1X(TL)(Hh|#NiiN@OiQ~dn=e;~z7>t}aE@E}wYObf8IBts7*`ezJ z@fr-vh)O?3-Qu-t$9bcJGFQ-rnG47H;y-5h>E(I6B=PsSGF~?DGMo%n*N&@>)g^;t zYsZa^jZFpvwc`S@s%Z~G8{?TvEg8t;3T<~+c49Ds9;eOD@2~%z<;~^R$9BX3B7gaiO z6Ad}_w1(hh(9O~1l!;gJ9$ESUqoY* z0n?a^O5{B5kZU9&Vg%1#dN2`5W1VVAI6!?EagWj zI%K0FoH!Pg%iw1FGDn)yhbF6Q=as|`6c!wg(ZKmQ45@%TusZ1!xuKWunhtRMce9>%dia-wDtoEw8t>3pMR8*3eHUj28%Ws+dg` z!0$D6(!77fn4u9pbw&;3O)^nGG-@ErDgLWeKPNL-Fxc^a#N6hA)3QwkHZT=@&h#Mjb;*?#CHk6h$1 zJ$(jm`mqo`t>O!fE009QlBwye*C;tJ92Q?8?{k zg#^a_=8?g3?DpM?PndN^@Xx*@2o(wb?u##9oV!d?7-w7W7&@!svfz?SiV`bL z3tOzmSAz#Wc{^5QJwALA4TXoR?r!Vxm12JfiiO=T{w|1f;9n@Tu+H|3TTnNASSY)y zdE~Tk5^CZ6O3y2g8G7y_n>iu?- z+U9VPSJ7A?ULfg7$`+$rksUQhPq45dz-&t;4aTMzblwu~&_(5TFVQcik{(8Itg zgU*6J6)*;ydVE}#6Q>5&-~|9myUrm{1gTg82ARmwNaA~yGzjs%QgtI6D8Q{O2>f%X zjJo7?&R8yVG8MkyVqe;eG-D|38QSWw3>d}cc*C`G{IRj2>fe!@JO3oq!yjNcxrOiQF8%y9dl3WE|*lE#_px-J@oIC)~2F3U5@-I@%rm0Pv|5 zKo|y4UPEc_OocQ(GF_7YVf#j5MZ2e@Tu;T^8 zGr_Q`>HLJw>{$VhX^>qzVGW0@LkI2JDbB3H%VvL}n{aBv8goQzWnH<$1t_bo{B=_7 zGN+PBY!r+jGqj8i4g9eK{0UTrYI>t+ZpW>G#at6Bv1=zev!26aS5EhiF<~T--MD$3 z8-L;6Yu~7xA$9DNutZ?|dtY@^-VxGe{yPQcKt9oIPU$e)cY8F)Y_jUv2NcdNXd^&C zCsRvq21Ry!Iu5c$9e5pSWK;G$eV~EFT5I%p2HWy{S=O+N5ueW{sSZ~neO*%CIOiyB zcz>v6d6jk-b5i25Yw_u@Zc_A)lJCy;W5va%;C9{TX-v*hpep?d^dXeQVZg4UC$SSl zN!t$9+GVqTU>Bq1fiIgLs@XRCNffwCkh~qNbup+i!hpSI)=BbEi+53zBNk`B&{yLT zkLoO>{1UsS!BGVm=Y}=2_bI6GrVNa`!|Lqpv#`^Ji#W0@zT4mISMUJX8McYhCbo+D z3Uf$*F=mxhfu;*wpE|Cdt{0`ZXjn{J1t)MYqg!mxHq}eN&hrj(S;&|Re~3F@sAUDp z?JfumE`4?j&O9DsPo6AqGbL8!oc4+^4oRnLo+h6(QhvS^G&NW1P2+LZVM)*1^z_;1wR9(u* z%(Lw2n8vDcNsrg4EHK)rCeZ5>PS2g38p#1IODCmDF4R;t+15iZ@~_(-v!?k*oKBxw z8UN%Iw|}5Wz~wK1i$Kk@QUKO!7aJp>9BJbCKHoF|Kvw~8b;rnG^JVL%Epz}4h`Y*!ZWHhg-(ce+-M&I0TCA#Z|q_KHI10-5)$~;VFe!DU)2g-2qCFNy!S{-ag zN-qq1Vvr=ORhgz~M)do&t1S{m%-%*wncp6#BJEo{Va!nHykQWj1kJ+|I z6G|GTD!s)`F<^EF$VI-35zmJdB!4RQ*3ID-hjkH)lpU2EA%*F2v#iH< zV69blSp#vegj+twUiewK=I@xP+2E0y&tiAM#FG~mHmNm?ow6|mCZ8%(QSBhGs=hq| z)CY?u6#EH$wwMpHz8>ch6;+6$?=-##(}q<=Miu1{Acf{hzX-UzCj+XX4C9;e&20OTyN->yo9A6Aqo?dwyTskx>zS0x6p6Uw5x13V%(a#Ow2}AA*I474=k0hS2Q-tPU z3>O94Ndur3<#H|y#djVmji%SSX*wHH3CQm^8}mgx|BCIIpLA*bp56A$7aN$UuxBSV z0<+JK82LSfR>)neiTSm%lP5xLL>ObkBM8-DbR@bXCud!C7XlqeSqrpW$_CZBy}N29 zkVLn(W$07Z`T0Pt2VElMFZ+B#`Jc9+=g1qOLy2XOI9K<^g`1SDjb6&0VBFlA#Io%V zD1~b3i()9B>dQg`q<9k}h}8Vey6F%;5ovj^3jdA3`eosk=c@{2g7Jot;V+yFe@nd52iu-6L@YA*hifFo zx4cqVg9@cvC||msP~_4zYF&lHiI>t>LR`Zwo497Nzy=?M!KeQ0sJ{(SE)*`!3`J-? zHGYk8#c@JN-bXPb`2#(<6mHQL;ZM%;2yz9%!ucYRzd-VNp;kmVAR$U%q_KY>zrAFW z{wxE{ktabwmNQ%M*&t|y>qK4sZgO-vQ7YjSh}T)jzKJA0O+Tbx&F|BIP^9G}=C|ZX z&F_v7R&QX(u6c3xIichUcI_CZb46^pQS;Sat;t=H*dA!xPFPJBQw%q;7NFP?Zh4jo z^W?YtIA&~+pTFTjKK_;rVv4uhp3kHT&-_=U=H+OW>buk2SBpyff+fQHf+kA#RT5K* zM-nd^t$&!fsQe^MGpYqOQFh-BA)H;1S7$&VH|`cdS;O_AEyBRXimv4Xq5^P z8QY``Xr?o-+BF|pH!T4HU<6^V(mz3C#nyq&{FH~G6roZz%dMLhaT7`WE%f5XNXtK} zPQ|Y^P?FOO6bw|xev z4hl-Bn}8L(g@^oL;S`d0zpgjvuJAx{j<}7}6r>=&zy=u5V+q>I!d6{5fdiwD6pF<> zcU*;C3?UV$`6D$OW-mj2qLYO?ya3B1qCvu(H~*pOT)}dK<5vknD?+I$YqT{8b$huA zec8SO1I=83edf(X9=pl-8~S!~bN5T+l-rxnU^>uOs~ z)3O2Rmfe)=HITf0ty>GRd+D0=$zTP6m+>eYJLV;%znbSb!%?G(FQ5%EMZ||~```R_H<`^57OuBGeD1$z`$O;iL_%og`YjY-)YSTi`Daz7n;fnHM98ZhlttoS&7U zl~=tG`hWvm!RCGqHmO;Bp6UtsaJr4g)W3GKo)Y{@d33yLGM`&JPlyK z7Ho6C1PmH~gc$E?V??}cy65pDZ>%cRkF{xdqXJWoWN)16o3(Ka3t}=P~{5SgQ`FYE1HL1;Cy_7fC%k| zizGjBZlpPB^iFVv`CQ2n7dX%Ml~jrf;O|V8G-@EqN36Pkgsi%Cu-&e5wC~I-4lEB6 zaD6(^8eB0k=m{miqtoj`m1_w-3l5za7>j-FI6-;wLFMU-RLo5q{T%YNNnOm>PzJo9 z!{)bDf0o6~Y|N?-t^N!0>q)$sSAP%>wbPnAatvBLz&m&kMpkr}kNK%rr1pm~CLrtl;^fak*&8|it|U_YBOZNfSAI0-TOlaCPpio`%#OOW z_nxBQf`b4WCX1PjBsj?&NfUbS7kBAP|7kbSuT_$Z7v$OYgkTsTKifExjfL`0N|bz} zlauxi_j~DTLxjZoBpxxMQ5R3xE>8QS=JpY{fHRBRoc57y8w8Qpen%tN?)*+8ke#LF zxiUMBRu+wrH<#S|67+O%cyvZl{5MoY;Phidup$$K_5jI4(fv<~;~xf30?byh^>aJ1 z=2OmpOqIMQOW44pO&4CnZtraTBc0;qFoaN44PYIU!F=Gb{vxX=lH30|bFSGm_jm2F zX$J1GX}J3an}&VzBOk#!aGBkLL>(!A6`nAhi@7;ev(f7KJx{}_IetycgIpt4dv(GC zve&wh!aC=8oeLEYk&5_j6fW>`+Q0)RrA9LLGs=BaVAtTg*4wFikIl((w&!`kSQeg| zzt5g%sQfnP4AXLS6zN2j8_BU~k+0x)?9aRgRd5+ov44;eqcAYiHZqC6n@PBL!XI(> zT)`ZPc1(p7C05$gp(3>^lxzjY}tvE%c4WZtO_oeQnp|+E1pjW0LnEnuNYIn zwM-3}9j*k$Y>rfJCQ_|Li98gwTuJ2A3)cLbHG?29C3j#LZgK}aGYkd;4|jXfF@$P1 zMfYV$s2@s$uoT@)|Fgb~BYUKf(D5b>1NjW1hnuh#0_nkj=-t){8vq{=8nu`mb=YV3 z6eeRZO7+~hrSA6`bw4&t;hf7J5c4tKmp)IV#2A#!tn}sWP;x<*$=9E^qd+SV-$=Ry zQe_-rE8|FNU~9`2MUyTbzL?0u?7KkE(7BkK2mZP6sh#|`oiwRNoTIKNDN6ed-Z?T9 zzaC$zlk^sBTFt|>LS4hjBN4i*;?;xZ;`+pK4A)jUDZP|_!hPAuOY7!t?qvk_O?RIA zU&9$XAEPUG&0rJoM?WG$s3-(X-Z*6tjQ-p-M}5?+oHSr!YD9FB)*HK^H}8G*4GTdwol1%yVFHQLFs#YpPK zq=mVYCno!gmSCpaDbl~(_31sd?IwkJpIM-*JZ&>izw|{!!rT`RF<)eie5;n0$)cD$ z@7~$J1xgxUhH`*BHAKGcX)mr8jpU5#`LczgUcW&8j}=E16_p|djq8z5=1pnj+8BK= zZeOyJQhFCVBmFW@%`??B&jKRY?MwRZ(P*x7cBxo=8Ed`{Sw^4hpZ4@x^YU7(w;df^ z0&q_+rY)!O34t6D?!*TJoloeY5ii$nz0WvD;GR^9RUd;s$``vQp8uvP2}cQ5#llN) zMo$s-soMms;-HXnqYq4Y>f7`Mo14UW*rCzop_#AhJE2s`$S2euDt|Wh*876VMI&_| z-?`iB_-`sD+wSGolrhqDSfxlN+{;tE1wS`sv(ZWIALXX;wfIh^@jrQPbw0{pVNnE% z)~fu#a-#~ssRsfw3-z?+XPQ)bnTt$?d|}fm*F}U`2rvuEzFAt7xL>`r@oY76n)8X4 zmM_itCl&K`B-lA!s$kRuZvc7X5HMOYIVLW_sDs7vRXO*tI@-srQaa5D&vX`>@1B9t zW9Dl2dZly@{&1zEa*bnNGF>1KP8fA>jbqI>fgy=c!k*3QVU>NPEG86%DU|lYwF6X# zJ?SN;Jq1>W$woDEg>J*1_4dGfxloM;v^e3K%gY<1XD0u{EE9%})50kONXZ9HG1_dH zl7hi$UrxYb_RlH?(#ejpKZZFXa6k`&i3iG68XhUs{_J9|un1)CGvJY_)bImg4|*O0 zEvQHET_jaS-^k>{au%?r0bu-LP})s-2(~(Y1%i@CcdK3Vdh~l{T{L}+b%i~1mp&(! zWF`t6U1vxA&t?!3ZNaG+#Z7DaLRtvA^C9C5hA4D#OQAr{C%=a1po{EZvBi{y9mmZ% z6yNNbRjQp>f}YE6U#8|U!=iCPZ*A5^7i*tMIy-M&UkD4`?M{`9;92Z z>D`->ma0YzOBrf65W#qIyu{ZTxvwGIB{Va;SYIi=)|(smwypQUJ}OCFj(03bymbl@ z$9Qg3v(wmvRweGPl@swn8SKneBMG#L%XQGusgf`7CdguV;W~LXY}va|t&*V_GlqJV z>^v_y!``?uB^=I=kado5Wt~@k;2Pi&YgILz7z=5Odg0cWD@@ZJni1(tZaa}>GO!=_ zsAhEO9!dUSb;Pta_{Vf1t{cBC+qL-H$+Nunk^6B_AkKsGV}hC5f=8G&|4uXUQx(aP zbDOPX3yQtg_6nF>5|Y>aE@T^F3FdMqYA+0i-O*F*WR3iE$r*y=ypiUNUvyi3YO!+CJgk&}~SPoA8Np6qp2w*iRapf}{9 z=#=#CQQKWYEAOAO#4EW~VB-?@gx8u^WXV>nv$L||GeT{*MZXnN415+uyy)%i9OL#v z>=R8nGbaBv(vKPUH94OuzfU{oS{4<}J?LRiJbOX()YPeK+VK9FnAp+w?z*<_XWDig zIP1he9|TdwA0jnk@T%E-ZRY^I2GO;=xH+6E88ohDYm8x%}h6r{A{@M zjS5^SY;oKlY|pDgsNU>{3Mxl#5WJY;C`>=emEgo7c+3VJiJ)WP z4c2U;L7i6@sOLaB@x!fh$MXfj%9t2vRwJnN8jt8sWh2*;S8L~)D4_}yC1ixR51peZ zMsbl15CmG-9nMoc68rl$!zcfo-k4dCqb_zDy3?Q!OsmLdSBx(snXTLcjp54K3QH@M zg^zp(km|%v=RkU_q*Ri)U0JYnQ2IfNDR2BA8EHh|C}F7#vqC^5*|t4h=zrx3vI0Gv z)$v;mfe`BX=IEe>H+TZyKiRtJS{lJPJ;3O}Kpk09nRe~YJa4lYQgqO#Ejj?AtZkkj zUho#arMY63QGSKwCF0KWB}A15SMdFUnf}nJ)JWnzYa-~;&Fsp6>@_^zE7a2j^e{Bz zh|WFU38b?7s#%7rZgzg)a^0>qUYf>pm|Ll7=4pDcuoG)-U6q3!=m7| zdH$HUOy@ak*UvfYV}D;Sk)(#@|mAQbJ#w#IRo&R=Sy#8_wTV}UG9=~uP@$X z&4Pk`t=Y$1ByT7=l3=A3Ufj8byTT5=vkV6n{J}em=sD~#Z-Oe z)Wd)Z1|N0#1n%UE#U#D!yg_A+wU;T-SkY>*1g4eba0X1O6CCm?(jGny&<7WuSAGyG zWP&HIDL$Gbs-FE9BI%vnyY?OKfVwj?u~Eq z%$lI-+(F|^=ZRlEl?c%vIvlT~?}G?)nBoo|2vhulx|u)a5tTDeYmdId?wiWu%we$8 zfjMU0Dx5=20WDcy2_{>?o@QDvrn$7ze;5Fg;!2xi507n76q}#;^5E0v00uU8g|=x! zxR%{vb=<`JU=nbK+XyBbOV}?u#5i_F&APb_sjECtIwDGz6s<>ms&m@EaD}Qndg^LE z3tHnh<6K(7$Ub!b>k#P=(0HwImXZe;G{MQ;T35+73+M%K^BYB@1w!#IZ>F6d&pA*I z=jqkzp}Uate92aS`saG^wc|jNJkOw3Gl1xf`h{-i>ld~XUbo4(os6%q-ahwaQcwhT za|Y@n^mx$r51kvy{a3eu;vhF6`9@te^>-C6-gyUn6Qr+?=leRqtbXP;#o`2$b6hyX z^5Cis_FOzI%$H71$KU;X=Mlv<^OuEDT;e1B)18gvP|h=v_y@s2l5R7U*as?r25w4@ z{Ul@xyIkTmC3lQMJXfTb8fvs6JzhizwVM?gBP8I3M%t#y8h0o=M7%v4x+Q!_sVU zUNeNSq+GTFN*oCPuf=;WOP!5o3LnKlX-mhG}x=U>CWN5fca&Dt)U=T(irl`HYqTnfGI9&M#%@)W*9QklMNj6mZC&!J|=BEO48A|I39_KMLVj@Ifb4G>*A(Q03*W) z9|X%#T5=Go9)D)F%js)JWl9t+6i%EHPW%Y4L5CYxqS?OT7Id+Fqs%ErL;~L)*ql9I z6jN@6hP3*kSjB5dP>5(k{>lq|wiVz^ae}RC))SGI_^acGP#D)tk$IHZs$wZqHgXw zRz`<8S0G-8;`@-9((%A9jG-nqa068X9bKBjMyum7p+$KIE&)j{;4FA;_9~HlkSQ}^ z#t?K&hu8$BPn$ywck6TkSN2 zlQY=qGswoHu$c2Wo*jl{hFlyGhVg=2Op91v34o2DpZD1wX!~|Y!P+a_uyaz9q3D$_ zf%A8s$`%nyp3R81JFjpb+_oI2&0Ja56qZPakQ3#)?=On|Fr4_TKJj5Bu~GV!UUlDu zw>WZ;%az_7N&LNDTre6Yx2N!D-6<+P5%&?!0dclzF1YG1M1M5l3>_8 z7KLk+{;I(oSPK#kRep}o%0S`WYn8`D3uV}1$NyunLVgod&*y|bpa4U7?_*;@aE5H! zmCYP0^SrxA=sUF5iHQ}?Gb&;}2B^KeQ7t`b_LVb|sW*JJ*~{un)k5}cNLX`Fq~>^z&%4rz_UQA~(NJqmKyLPHCHWH-rR232Vw&q&0aOEJ|Yt8%y;2A&xqLtu+4)4j+o{fS^cH z{v=E7n%7Vwyk=BP=u$p1$B2VtOp7SNCVI^i5mw_I&`*gN?p73ZY^$r-R(~HjW|M4* zrz4<_7KXAb*UdQvDRguhXlI*q-%+BRb)$Wu%2%UD;J2bUOMG0f!{r{=ArI4uk^=|E zw_d-eDB{`8QGBE6#Iyd)@7zK5(L&R+?-z1Wt}6*AqDOtc*+W;<`IK>=Yok5;AeR-J zwQ1RAq)hy@M@~wPt(}yN)_R>|@l*xl*?G0pUe-vXLtPhUlee!}&%WJLhe}kArUBqY zqP?Jb9vrVsnBUcQU_(do^Vsej|B?3FhOlS5^V`4kvGx_RK4xCYj|)XrArI2NaV6i8 z`VlPYZCldC9o{$RQwPw|9>rp~cri~+(q%*h(q6Leu)o0`3I`74x{p5 zXEL-o^M-RIZ{od&Tb({GT!zkw6Gm@VDGLK)0+T0lM+q2ANe#joLuo)?i5{-I_j#vi z?RCzl(BSwNL!-kXEnq6os_og#Yi`TPfY7?2@Vm5fMg|OMOyr8;Q&QP9h%e#=fR}TEO`MFiIr87xTV8hS32dDKjC?gN`ey zo+1{KOZcX0C(ZYohc>#54Y1ds^hyC}pO!)EVrKZ?TNhU27aEqEEm~LqKh`C-@4vAw z4=N!G0B$?iuXPutZF@II+Qzl zrg3q5=ziU|_ozK#;bUlT%&K_rPy`gwMXUZ<+mr5NKB0JtsnD&9*{yv^Pzrrm7=)MJ zJCpb5y37_~rH8lx@2lVHTVz&?kU3~!$_&K0 zC^}EQOz{3oqb51Rw9N3_pr_gKH?i%$7fSq0pNk~i_7m>-b>s-jkyDUH_Qp-We%9b7 z96CWx*hl&aYU-q;Co{6Ee^R(8M4OgLz>@iNmlk9*#!8U0HeS5QFwF zFt|V`x%X@2w~a(o&l;jEa-Er^G*d~@8Fsbo z@VpGjLoAd$i(pbWKcf0}kV`eVDYPycK-0AZ3Y1OR~YNr*j-d?EPAO_e3zPa_j^l#nX{r7}D zdUv16xvO5T;eBqwm!2tr;=nQGg749^0Z)n~RLWw%`Ca5v_JyVOep+~Itg_seDCzxjXFP-@~&v@G*sJhT$K z>kG#EO_#oBd|(7qds)x;x18PE(~b%5zgS;Rz)mhIuh4c(ajJVOG2*-BVkA*%UgrKUFH2ru0}p5rI8aG1T=j=eknYL> z8T;79C^@*zA)7t+jB*ezro7A$1{I;lF}zB}Ep9t|jacQ@P(D2nMuOEkuI}Gmt!$U3 zcE$LB*LeSY(-qEb?g8mr!HTTxh2-XEPPw{>Y_RUtWmd;1rjch?#%6!hh5;QRF#|fq z=^xN~b1MN+i^`44CxL&^Ywm)u16oOQn?sSM<6w!9f>q#EcIpnm?5lQu%`kW8591qq zb}2mol(Ofeufc77Q#K@hyO8J}tl__^GcY~<->x$t{rzuRhqYt|(bT&$I3T^{-yT(Q z`pIuv$Nie-(yZ6O^iBU>P4wGt&7!pZ<(fKuo$V;$YKxYO?X#X=e8hdhKb3@Qu7}iy z4I0_*?2A@6-g~XpS(|$>fCo@Z4j$m)N*=l-E+?AhG77iRoM_=Pzp)y3xITL#g&jtG zH1v_r`sjwr{SWEO#fc|@F2ft0h-RQMOE%ICt{b;F}IQA73jrB-Tb>4 z>6=J=t<1y7@!PiS%04m(Z5f96QCI3^@i}%f_wo(B9L&p;dD%N?7J^Uz%O~}6C@&A? z<#!&NhPP_}%U|l{FlDtnh<+@%#jI`L(q_m6`sJ0#!Gg=h<$)x}$nCWrKOf|-$3g#c zJwjQ6jQ@oDnJW}8bfHW-{3trvN6U3~0vK^f^W1Ypz4l!&-kWyNWsc2qx{S$pev5Io za9Kb%3p{2LLGF65g}hYZiEX0?e7 zE2|r=q7HwyRZPp<$E)o%BMYEx62cFrQ|UD10QjHuEy2G$RG%X%zh9pxhM&DS9Dol3sN~*_uD>z7q0><(sc0f-J6SCPk;6(9j$0%mZJxY>1J4~ZPiRLEqNn!S2 z9^+r^)=|72<#w*i$XmxEa(T`9x2bE(Oj(>|DGMI}A{jqVQ0Emp!k7Emk#y=sjm2$A zA$foY>b@`F7RS=IX{W=@VU2(~1I+;X3w9`8e}N`oo=B)v7oD@0P+I@B5xZg6Ji8!V zJ}9=Y;ca$1_nksEMIMYD5F3zKxuC9ma42=X->JDq+9uq1jf!BAnFgav#rHtK(u}2K zRzo;(5mxJKn&eBZ<$@K`jNH#99@AUzQ^UapHbl5bdf@%5=?r78u(PC>DjytN(Ah<| zLdj0U$bgF*;hj1c^UN%K-;MS~K`FSmixnR<-iLIC>fqus7c;5tfJ_pAjIrlX+Pi2>hVXgQo%a_C5mmVf`R0K<<`pa( zC#8gGngvC>z0^7KRjm?ypba002#{wj_gG8R1IOQPxj0!MfFx(gWjcf^E`m$NwWN^ z9xZ{FZdDuD4k1oPm~}Z^-L#6N3pyklwdt4pF8y*ZTB`ds{H7n`k4%7?FJl74!-9?7 zZ`cy)IN#%<3JxwS0=f$G1MDT$*;&p-G3rwKR(6ok9R6^QWuWP(qgm@QoZ6QtQJ*}cwR7GE2D##RUepC z!*u>Y$;@!)XQtn;H4hD*CvQPQtmvL|>CJ*M{Dl1Y?qLUcvb>G&0FKTks)Z8AJT1sq z$y${J<7zV*CAJ{~vPU;I51}oZS?Vl=jD*O+YY-HxB5wu28+s$0(+}IiQM-q_ILZv{ zR?-Qe5#07e^ky~J?uD-!`DD(q*CnHWL{$tN%!~J4XLTx&j8MgJ>Y2rK)lSYgz$P%U zeDn3l02Zd09>4SaY{M#w++ff%D*otqL&+<=In}vIz}7dvZz@I(@&*>}l#JsR=$xWF||o-FY4ZSpL%}UtHBvwRuASaFunR zP=9aQrBA}EEiM=p%#=&lp=GY(LbG4Ea^wqZe-_VPy0*cos?z9; z{{AO_1tQNhlK=7h4RLv*dCudcMc9KUvWvBtc_nBX10FN!kN2Kyb;cn(2H}|lMa??O zVzp7rnrJ_drWvDIQmeE*%x%bBY+lwCycCkT+bkJN11f1hLq+*YHP>pz;1I4=N!Jxz zo94K#>UaJX#SdYz^Fa$)D{TLM89Ky(Y8CEzpV}$Yop4Qs)p0WruIKwPqu&pK@-LzN1AQU8%TaAu626i01h*vRkuS*AbZ+j+zD8l zZH)ad3h3BM6?8zzyYp4*@YtY#g7DJQz{Q#zizZo(*ooXQu}$0Ei9PIacVc(u$6q+H z*uTlYI-4TteZ}J&g{$*_z}C#j5;G%U1&M@iG@js}nLzk?GXG4ow4Sz2G#~weyPC&j z5UzI}KW6<_IKvO+3y%ng)2^6WgH*(B2*#wE^_kyAuJ{js1CxWQRanR`lEc@E3Bfai zUh6#Nr@4zvb0TwYuS>BP_QbVtB2Kuc&@r{H$@Ay*$*|Av6|5}vTw7+(P5DZqFxpSf zldI`!`*Q8zLWGb5h=18)<|@$-!HxkWG0yrL69?QR7XFPsilYWAF8mAE3DbehPh8%N z$!O!DHKZJBWgNME>*mgCpnp~W#3v%P1 zbTk)8*4K~0kXAn3IVvhTbo{gu7k~Mk?ZoEqfxoJ09d9|4>n6`XAC3_<-g`>)5LUw3 z&)j@Jil@T{XNb8u((3%XS$1TvP*SHPFImiB?BoK`D(#n6tigJurEOyAoC7u2hAnXo zUw8+Q22czQvnHp?O*ChtGMs8(_LR-|+w2$7}x|KJJF|GVXo=Oux9)rA3c{kRS0d znI#y;lwi?Gt~2WrLoVLn{EXK)VnAcG0ok&fo##mZou9P3dCd9f%&+UYXry3Q5HOgE z9egWARNUz7&9w-OCLu>fj75z#5(#a>q=uDVTh(PmSv(|5Q6#Rab>-JpppTt^7Khmp zN&MyDEl5+sPowdJ5wDhYp14lqtgs2R&|0<81Fe;MrL|hjulXi_jF|>};a5-iBcuU$ z5fIBSqtbchGx&Rkgkacho4<64ua^WDkp5DmG5r0@`v^KgjYx@0o&V_(!86RA!FPta zBe;5x)sS)egRN#yRUXZrYMAc4(Yn_b5^oGR=R7h%((k{cb&_fn2j58Ym{95$8cm-l z!7MTFoqDDTg@gIn*|EaiAkp)T$3}<2l{N^rjQ+U$<6g?U{s-`i@<(8lGmKvX^P7Ls zROkhI|JMHfkd{1a3B@``5^3M?z6;U%5B3NZMKuHgy4*}K@jJD z;}7TEaF6)rABQT5JUYid#n%Cd)lc(Fc6DZ@A35Mjopn0i5_pY{ovNElF-L$OI72b( zwD3YYOF!+zdr|W$y*sqnC=84P@)tZ1O&LuIV1IaX6a{7|v0wTjh+tl+NDFQaJe5xS ziqeCEiL<=vc2h$(!f&<^aAE1IAll%2A9xE+j{VI!4%tSvP{yN?dc<#qe(jngae$zk z8rbce@?ZvZb?(7c-l8Id8%MjiG3#7qiku?cn02mQYjERe(~tocSGj67jjN6oC;&39 zLN*6AuD>p%*azOxAY8ZdJ36@FRB)kG9a(3k;!TYDAfa;} zg%5uL-Ps!-rmr#l*T1#O&JRBRraKNt>5+6p=pl*EwAHZ$O}UlmeQ-3W9ro>w%Y@A zs9?L94b(qub3W6eE|#c*tioQ-59`DfmHx=squjlkobY*HeUVji#q1N5v!LcK-9<^E zeaQrgkDNbja_7H{uYVo9rDwTY(f_cAfsQ2Yil&56l{8188^ws9J{vZgR=3`lxf4S8 z_(nqr{YSXW<(ip$5yE+9c@!=YztBM;%+3yO;h)z;|3`_vyF>??nnXeu`d~X@%~>!_ zWSeHnO;F*tQ@Jy*NpeTzbMkbE$B6Cau&@`GwByH3s@?2*oOhctCHyVp)+l<^0_(sm zWSyrnyO|N!L8MbWQb=cXc9Gw-x5S$NH2WDDSk12KZ#KI=lDfVMeN!<0lw<{@^F^c% zKod^RAWy6^lp?eO7-;MN(8tah=0o+O&^luaoS6A`(9HvLltS#92b^P#U&*yqpuJ~=2vbK=er*<9C_5fB52a9aN>L6 zgbs(gt~}t(_@(mGZX~2LeHwy6e<#D5jr_;PQ zTd_t*U7JI)BFUpe*}v!@6RSgrHlIZV2B$8~XRvgwbO55B+F6p~chCulNsk%6YWJ>XfC= z*M&~E?c8Q{XbmISFxAtao~0MpBdx@I&bi#6Y&ePty$mdDuJ}C##hVI?k5=*Gb0Uc^ zbSjjhNt;56;ki_B!V)2gFk;CML|r7;^}aPa0X8q6u2_@JYP#vb=zE2;uZkz}x*^#` zYQ%nr?Frxjq8rhYG!S_5;8`Y?)a&#(yP@)8X?ar}YI&g|oI(zZFLzAj%A<@!Ja{j; z4_qwtYcsOT%eSawMcSieCZq&JX*?9eO^VRBsH;#f1>-F0{({UwZUn2>IgPLKjn^|j z*9;JM79VXqoDMUw+-#u{;3#E7*mR;60< zOWbJ=H{1Jg7dIW7O**#JQ*9J=_M7giZ57UoJr(`qVjjyf8m_stNU~nm`6a4ny!6HX z!Qu?nqhG%Q5Bg5t2p({4_JRXdIzc6xsTA)$W=^GU&NnwTbMX(zIt|=_3NR&He~w_=c&^F-9fjS_s2R7xZd~+baci<$Lu3dyZU>?ly{|zr~Gy=rm^v zML64glIW6=x!!XQ+^{>_GrkN`T9nzZ;Q0Xex#WPoJvYWTU<+@;?WdL0W8ID)rwyrb zLswGqHg` z%4h34yVa_k&|pTIt7=ND%M8n3xh_=g%heY* zmr2s9-6wWLLL*qO4i4KqND2)y#=g5u`Iw`Y5rXHXY;ha=UjY6Hk<2+tI*8H9w`dNsh|jR za3FY?J+=(21;?jMkm> zuADC7iG43(rhjdF<$kt(I>rQgb7s=Bp6+1cFSB2ykL-)ga6%aUnL%!kIp(kr zke88G`@>-T15dE~122iTG@{Jf)Y;F(-&+@7I#eF0yN6lh*2J?X@^?&E&8Ik?<|3Hl z8>{k|hSU>10cY}gLNlDP*+8hrYN12B*v46++g#3Ex}KdYb@jD&>Nayd(7cF0(FGTb z4Ekd9UCVcqOe2y&=bYss>nuh!30cB91w{AoVhYAayILYg>Be$(MZji`VhYI%KyUh1?0h4V ze}Z*U0Efmj>#W^Z(09Hxrdj7jbAvVGQO*AotiJwhldNs@MlfCM{?F~yX{1$M(_Au* zQ<+{>oOH*3Q4U}%j{btQ1k1Cm1DnzI%rh>C` zd%yIh0dA`J)BO_R+UT;Km_>hb!@(C-*Jeni<7{2K!y4CU*Q}H(Q+lMZHU7Om3iGM6 z81RPjumXt6eHa@;1H9dpVm#iUtsdbjASS=*pyqTZ01n%3inhtG@+5?jTC&q)#~Ks0S=vU9{3hD z=yWntoxH+5iS$RB(HYE?07qPx0B3>uCBvV7_j09|B2UJiJ+h_uJJSQP_zxvo#`f)_ zkJEod#6*KKT&s0IRi#@=C~=MYR7Rgd$>HU}czcO>G{7pKECvZuiZ zuryA5P=4dYcRYIVL`P0(c)r!yO0NavLQh6|+~$1SEB2Ipy7*@3t)$nFoL}%%X|e-O z{Z!dMb2-ANQ37FAltcrl<3BRv4MP_n8U2%RC+JKD|dzBN@kKed8OMXJSz=AeX@sjhR!g$c>+E%!Czm?wtDUH;f!(6N)Ev zz8!I6#N>c9*hH_!f2zFu%8b8PNU}+|{Er+seYhNODk(P}5E($oH4xsfE)^IEeSHQ( z%!ka(s+BH=z0CmK24^v?#CuP)I@@v&?#~ry&E4N<3QSkLK87(~lJ*9-;=$=tDL}>* z(j4nequY)GkT*D&m^NY?o?DQrh0i#yZeNaozCL%4>i6sQ z0KE>num65kDE2pX5_po1oYHCWI@KxbrtGcwUwQR4>G1!=^J zFafMvaFRBMaawJ))wk_iw6?EpwXdxdm%0!@0@MYyDq0n^E@vE6q#6Pi=KuLV=S&u$ zZ~I%W-}UFx%vqlEtoL(o&%F%4sn@H!^$IKS#*=up=KZ;Nauz4@CcPTOtHXFTQeEj= ze07;#4Q3V4ExA_WDA7Hc*60)yrLLKUEE~>d8 zz5$D_nZx z!QxsQPZ!&SB1pQ>Nyw(t5I1%>Gu+2W;!%W5V|N=(jvwzvH}#>f|JRXMg$mqEphA7U zu>4t^aNFLte4oWi*r=BvyL+602;Q|B{OrsUx`Y6YCpbE*C-%EVY-nswkqEZ%7>U48 zyU-7Ov=j{ehiDxnINHla2ZUV2fFN+ff5u|(ny3Ug>w+wi?VIe#zP^93~|^2R_#$X_xAlF0^?@>&0UZ^KPbu+)6eOi7-39! zBZ8uOUi?nP0_~Z;c>KtJ{Uksz0|4td0@M>+vPsSxJ^`UCBs_F-(h82pU2NCFgObRH6;aO4bBL*e>TZN~80SI?gmR zU9ncrkrvPKPH@zF^b$hsv%|ShKF0Qvx8Ib2y^QjNMv^1+fIHL#4 za&!z8f;aP4NzWYTJ4Z^M8&w_OAz+s_p16<<;P z_xrkDU(4&_JHv!n_9&JOql%tU6sNA4RlN1GXi+3)op$a?U1RyT#~zc~B%GfV#2aX>zYPbNq>P7T)-G^d>r_*~>y672x%^IXXBLxD zWhX{%G%o)y4}y!q0a43pB zsuIpy#}SPisB7#~59ToFCdxY3IQTYe$9alQ4Ae##uk)^R@OBWB}tpJ)0f?SMy;Rv~X|hFTp>UE?3S=b&p^ zv`wJU5bmDS^2o;jm1*f>xBqZ2r$}cBywU^~;Mdo9uG&A;bpMh@G)~Nz*Z<3&Ls_;k;`4HiAp0lPC+z5nDRONpR_xX(cLcZ5Tg^rnUI1gTu5y4c z0moMf;a7VIKT7XB;TEd}AC1U9%O&`eEIzJ>=+ALQA0c7r#^J5$jq31{HQGTv1f72m z(sLEkEM>>t`&Y?COuchj=JrC*4Ze)poqrs&&j$bF6rug|An`?$?DHNK2wse$-B^$! zyj+qS#}cBN!B(Whxq~gKwf-vQgrs*k6WQjyqb=B1DcAzgL9{Qv?};M_2`Mdfrk@*$ z$(I6?-=*HU`ozCC9)S#&JBV2jsZaL|+n75Yk5^HJhadU3WHZbE23hH0H8>a3Q5l9D z3=+dp=bFhVfWF9;eM@(a6K~Xx^-x`mU5YLaWf11;f(_XiWnIS}M z46?{ESy)HGh>t1AzW=RS@)=itobkcKH5dfsE>&T#6r zCkRVNehwsw?>UpxP*x`&1nSD28+gneA$nElox3Z(IM8Xl`L3hG^;nfcYPYrb;;XAHC0>`o^T&&FQC!tTtR- z{wiJO_{ie=qTH|D8{m?gVcfVO(g=sA5n<}t;XMC!%G;|@?{$rcU`XCMQ*Z4QtJ=MH z|6@6O(pB&n|I+1%DuP|u>6#??>*}NZu$d_WXFBjj#wz6eTOsXb3;C+@bu;G zryV%21Hn~1eOgaTOxZ2&(?fasK=;!P=4r6`Hl{{s8ItFsQfaLN()k&tJ43F>re%~7 zMqX#iHtB^*3(>Obu#j$K8Rx(ag0S!i6$h`Xob0()nqSvO8CV6UPMZVlF1FfBK!!2} ztY&U{q0)VrkD{q>S6}W@rA1Th=13E_oL3jScAIXq4dLWh%*neLS+b3QZWtC^13xTBzo|Ebo7E62s-oatIU9@)L(mh)d?ycqn zD|ZEh|My2+{~tX^oIUg39kKNo9oN4mY51=KD^04;JuRCyV_X8cj7sLRgdfH~B$6-U zsJkg3oAhqnh418R5v^*>h-7SMi6}*b&9ZSW@-K_sC4vc^=8wM%ZNc8uBBcw|)uGfLyJYmM1{MdytsN(wOwOBEdg_JbH*12<>k?h;?_ zwOyvIMW(GABBf4%hODceCvW#o3>#`*NF5Sfaeftv#8PC>Zm(Xlt3c(AA3WsGzxz<1 z)nh#)19Hf^=~pa8Y&|B%8N;KL6IMI0urdZx*R5xZlApmmSxUcY!iE{*1hB1jMlqaN z`pRY&Yy=RTuf0T6VqO<)PN(H)3>FSYxUt&0Vb zE~krqW43h}-4b-u7vqW}v866ypM^HXkOU*@dGB~!RKg26h^^aym5|}LWqQe=$ zcJzoz;lD{e;Lzt23YC^iDV?9E?=~`8F#<19*!%7k3Te02EydTw95l5Y zLU~aQl@`_5Vt()N4(ni*JsEaOa(`vomTJD%~U#`gT+ zqc-!wAk*PyGff&my&2FQ=8!h`O>VmT0>#xjVwMy&UBW_12hf(x*j(>dK}-)GLPJGR z>>bHu1ZCKrB6sc-GrJwmT+Xhn%oA>qlFV`=|LGL)K&D)pY?8gBvjf#&PAo4RV!BR` z^cv5h?s#y*p|mF6U`7xnxM|Yi;Hc5ys0kplXl@B*_U%IM!TopPHkN9yE=*S!E>{;) zJ*V`?E6tP+_PS7~F3c+0QFM2~g*z1Lad>&4r; z$|Q46rqrxcLRL1rjGiPjPwFRu40U1=a_T*hvOJKgD!yPdrhq(g5W8~c(IOOWn1GOH zhhqctv-?ere|$(k97LS|YwgEVgUzpc52o;dSTxBR(`e<HylNI3ZbMK5G10EWLYX zYD(O8x?&8?uZ}I*{TnI>-tv9ue;lRcfh#%;LwGay`9osa$uFfl$1FO^dW@?WRkk(&!g`n>Q?il$e)F};(xdPLJ}e4(qMW4wlb^G7w* zxPljQQ4QWQ*n4q1J;+_By;z*aN-Nu<;d{OpngSzFCTd=3ys|if|7vD4%p$w>>Zc5( z$S1|Mh-9}$wOi{%jsezL0PDPc6&xDy-%w8rOKRR*z6y(_hadhH@i}w3QSpnr5Xnp0 zIp>Bk2*$Ga`GTfo@mo=p3WS!+nNEY2tEod&<&`J*AcbQ!pCFV*SZ27`;?9j!v2BLM zXw+q$Urc@!=HnLljn*(%caerKS*XGItDhY8WKi?6ODD2 zZs%y|^K`q|a2KL-=t96!A2@4)Zg+>c>*&_Fj2f~3!4ylxxW|spod9>ju(iuV2{6*x zVTDLqX9{BE$<&{TmUPGzV=2kN89jWh^UJv%1$V}$U_jrvxK^3Pzrhf#?2U7hq!ur8 zl}C#^F}8T_oB-lkbOoCjB8&!1%qR z4N_2=lh2}&M^(3SAQcJFiX+Pj@az9iHxNObtnQE^a(x z?W928{AK+0=P%)JY5siv_Q{{k-?IEPH(R3U`>nsy&T(}V>havi%$^Ae6ngEMp7<|+ z0M+>NrTj&0OkmJ-(Xg|aBOcb9lNUEf{D<4`f;Zs^Zk6-Paju@00LeXu^c(c>bXtz* zJDi`H8-}5q+sw_m!Io9@M-Ogx--1s5(5GU9A~!D%uK0-DgL+xF(TMt>lpW4_6vUPo zZ*xedQY|QIVPhlHdP(jNI#q{r?si-+a>|Ai?$VqHzCEo8d`r(+n)0ZbC0S1IbKcfX zCEQuLWVLDZ5*RuZcn*dZ0Q1YA-DSLr(?D`BZb4kJXV0tg-=mqC=h~E}%}rgf<>NB- z|AeAn!BfW@zXHi4())rEoqCGK$N|mecmkTB|F|p;jTtT4qJs{-7;CD-UHMOpLX5Tc zqgd|i?lX+F<2PRhoA;QxFE}OUgByd*AA1kBFH=Ez7aaLbBK-f^D#j)A3^hY7%P1*S z)v90bwo*ZmyGu6lN;aGFofQD)SM-=##j`>dR2j*Fx9PVB9nL+E_Q|VD0t%SCWf^5a zP_i$=|A8Kwu++^w6|Mv)8?oX}c2Un(8{JlkK_am4ElTHawK8|A+Qj(tLya>%zm4MQ z%U!&1El!HVln%#?QCb|Ar&Lq9BcuR>e9cKb#W(ubL?2@u7614-GMmBJU22$yf^+xJ z4JR?rIKLjx7&Vrk(dF9A6<%=0!T+`VT1G@39a1IN^WL-08+um<1Ct9}AJbMUjxf_W zN9uj}05@`OvU2-E7$Y}nQPST5mev9}sc(aYReVy?zgM=asoNTqs#Y$d}WI#pTe`xypESpOK}L zw7ilx@ujW{PBKGI99OcJW+3q{{ZZtrq0Ecos%eQ$zoZQgIlE8ZRlwOK9wV<>W1PM& z+0{gC^ULvTT(Zj-;Bqj(@aqkwh=rS=tIxz%`13z&FO2}}j7qh90VkFpp*rMmGuI3n zm#>xT3_YdKrd^y?u_L@rQ;rW2IakSXV)8I4tV_RH#=FMI|I3ZX6tjK^aF?iTGWpv6p+E399L_n&_c8P-xbu{nzzW`EM!WYJ{1pr8AwTk9jjppYStBSACqr^v5jlaY3>PFE zAU*#UMy$Z#Oo8jUowOH7o83b=7%~aLcUpu(b@sHetqMI=bT4<0Pj&99N`=WJJA%QY zDDUb};z`{d3Z{22YMlB|pZw5={J;0-hoL+R{N9hZ&j49Rf2hws@_m>4 zKO~?S`Uu{yWVFky#f&)*T!R#I z-B|%-PTWl`FGYE*+yS?^GF8Dj+dQZarr%@wYe9I+^oyCp{rmzio)bYOXhj%yJktQF z9Hr}n+`8r)*N*x1Zvz5_@a3;`0aat2q`H$O$CO|u(H!5LFbg?4FlfhejCxNVKbcf_*Tg+V7`<1{Du;C z4end-r3fx+4}$j}clLQQ?-^YFB=(zwFC-ZU$g|zq{rwK{h~>q!>XuFfI~9wJnl|eM zc9kGf3TA}ZeJQEtTh+{nhz@|O{p1yHEg^+1&3P+}J@_WYQg z)9!o(?vs4m=y!?phdg#!p<$4M{1aB@K-aPJ-NtFf@F6gnCU}d{{6|fGcZ5mM0N^JE zK|Ao{2PM2sDc_f~%*AL*hw@d$`sR5-U}h=wpF%dPvoq8`8GI54TjiQ6@j$ZjT1n^ZGKuH)5@m>v@q&~7g|G` z$P0sU7nc_HV;l9GIUQ{2#u<`#2w1eqJa)HE!k&Vl>h3(Qk%opyiSCx?0iw3cK5|VA zi!-ZZYo|;oW1=RI+H9ht_2jhp-G;0iFcB!Sa+<>5Jm5|tO#Z&SoLZ9<>tz|r-D`R# z8yMN({mbVD`n^R~C1qYE0V?S& zLG0B-g?gy+66k2$U3*s*G=??BeXfzSTR7{`Rzg=&K%~8a zasZVHDEsicAE3VcMF5egKS>>z0?h=afr*;iB+%?pYOMd{jisJX^8@h$6AGzPV&_*LY ze4ToTQ&t9vw;-Liz^4bKb)`Vbp7nDDwUEv>-TrjCz~#!oy44MV3ps7bm2~XrEzBCU zKv02TvkuHLK+?h5%^~Nq?~AclQdly=9>SdM(`4?p?;*c8gR}l<7G<+@jNvxNQ`g1l z7L_8@M68hChqA(=!&%@m2(>p^mD%|C+Q9j7N5d}oRANQO}?hPI5s@_S8c=+a^S*eTP?e2wI2 zTA3#V#~M1*_!y?*TAV=c5mhT4>qCOrxe-!MdcE7@>^e}rn+=ojEqX`K6Kx;TJK{RJ zy-V8Hb#*Oae=H^~?7Ye_>0Ihcr7I<+T|ggz#w!)(!$f~M3;xN!v7s$dhqmE<`;mdM5iaLjODjP{Ti=55UJy>7qe_wp1X04%hyLwUlNa z)P6r_dzSNtGG`_~s-#AhDPF_05D_tD1n!L zYT+gp(_>3MY|+}CL}KPWm^i^V2(@U1WLEUTFEA^r;;X$MU*3jYjG5gSUc5(rZF_`nTE1a;FuyEOJzjSx^1Z-@w_yN3yVA zQ&P_aGGMA7(aal%<_}F~;(@^A;0l5wO{m(rh?u|aVWscPZ&YQcXH@l`J*lZu3WUKH zMz~}6bnsA>*hmRZPD_G6)Sg6taD6Dc5QFl~&Xdi&VR`8{w&a}P!G$Uo@?JQ?h11(8 zoPU?q-v0JozA<2Y7`k1~TVcaY_WkSvCTsX>yb|XhcKRL3b2oo$<1iC=U}}H_>B^mK z2i**#SK@b&IoJ{|L*ZMwG12CfCG7PH61|?89fs_YtZ6$Vn;a0ff|H(41W!l%+C!g~ z-n!TV65(}Cc%l(LFqLJWt;j^gBMNcJBz=QqmUM^7IEMKZ!#O+TTT8;<_Ly{KJTvm2 zNVz7jnB5ePDs>VVO?FY79M_U|*TcBNCVd-RviP(rC_JO=$s|H;d=nu(Uov?N7A8d- zNejubnxxVtZo<;9fQ1iA)@*YFV_I!n%1D=5T8_lODv*EMsbRMz`4$Dt{nvOz(VAz%OPPSN}4YC3Mu4)6$H+a;g;1Nm9BxMg!Pg=FDtSTcK#d!DY>$#Amda$2r1lN4+|9wcoz zKTP+m3_jiJM|J^GI+vSkDIe-hB%$Bx4M%On!tq3^Mf6DD+{POz(<|Q&-clx{Z-0u` z(m8t}tR2F&!G#hnFi(ENdEF9pfi2YKkPMA0JS<`?p4_Unn(GLlsvR`P#j!fXn&te& ze2scSKB>P_3FN};xFJ*Bh|o8f*Yq)eaM!2VaZ4YR*WiWD4Bk>+l#$8;&YA9g!vIoD zew|*8zc_+Uz!?5twHg)>%?(ko{E!(x77fi$3*b;&hFLHeDtE;$k6;|nAS{#0cd!}y z9_Lu9%YTdsGABG|hN`?!W+Clw5Pm4NP=h!8gD#lS`a+`S?L=_u+X?&4+RD$(rY%R``MpaB)gKeO1eD7IlE?_4Jf4_7rkYQdIp|thtF2%FW01U3}XIuqy4^rGH zC^A8^SZCms5iYaiBCjDQT{i4T_&XJ#PQw@fR{Am7^4LSTJ-!9~1Z08BRrlBXazA9v z`RcCzK-)37-@A8L1-KhxjCOc;ICr^8?whRxcrz(yyLXTEQ9&IUS)>as!_<9F>z?&fOHft27P<-2GB_ zhvbA@xO=*cyQ&)gqzVR+8I zpuRtVz^WJ<>+;BaT_#Z~#Z#$GxU;Txxij6hF0=lt9=KZT+;V}ZO5)oiG+pQ9F`XMX zTbGyR`*Yc@8V@5O>YDPxEJ*hDj#Yk6V<|%wx$RT={>6{DJzuvs{uE__>pqKmbPta7 z2oj+D>}C5vVtBhz>;sA9X>cL2D~OT{d?h&nWj~lO19@i(o<91?LSJyjFlsFOkjunn zW1EuxwS{k#_u^7;Cc!`mM!%sDyTroc#Q>kEnf4*q6c}YKu?{0Q={U+ zN5Dtvm3`th?=RXqx#oj~AI3n!e!N=r=@*?CNN~zw|0DlX>TY5YgSV8>kA_b~ic+() zR(ah1=;e3q7f0j>i8Oh{=kc0%QU~Hw65H`wyk&Re0rCFZv2JW+d#>!8|8uPWr?KoJ zs{e-P{P?frSV8%n6e1^w32~H5&ZRZGd~+-nP&4 z#bz6%P%slt_f8g#vuAN=afs{V+)L;JE~XNIhW$tzYy(k8KdN?gka3+0-<;G zCc5;7$e{Srcw}&VDYGA6Iz2LkyP@115M7#z1bJ{^v=wG9-kOY*$6Mo({_$3*PV|wI zB!vGU=}93{(<1|t=sO4IXRF2#RSZ$BgQ#b)>N$XVhU)7IRaPE-q>sMln`C65z7FW? z{`m^N37I}5(aiAO;OHZMmE?Ug(qAQ!S)jGC)`79sKC#v@u~vvLOk1?IhHoocV}5?h zTVs9r>E9YF;U~}&MSQtuYwlp8iWj2!pDFDWa`&{PEU# zeez&?^Q1ub`s~Ecm!JmY57PO>;H_M1?xB24_ZU(wI~NZVouCUzyV_;DjsAZ_URzzr zdSc@}Y<2Yis;5My#VR@zt+o$J06n5KJqBFs-_0`aeIB{6ZA*#uIKX2bO50xZ>cWGu z|IZ&edCYn_hlVb|wYHv$^8K;z2*oh)`0Px35dKJ|LCZe42QebPn8~n?Q~J4RauL+o zgMUpCiTb8M(huPzi1-_Y;YZKBo6|(Nd0uyupVe`DWxR6TWP3xbazo{Yc+L6+BjS~- z<{v&Kd$@mc&7bG@BOqAKhJ}OnBu_3(u3QzjU(dg>8cUPw`mgPKyj56h?bu9M*vl41 z8ZL)L??fWl@mXnAYhQaKBGr}0H2Q*%l*VS;Q~V7j`4N=tzi=pLCuh1Z7SFc(65z6b zwCRPaXzQt*hg!IW+1q++&V{sR!*%ojSt0(MALh@@s@cKHpGKO@yGr6qaf_i3e~nfR zaRWCe7y&eE8BT&(?i(`hvAlTC@_2Uin0Sp7N7FHyG8OS)(#bSOnyHRkBs(#{TvfqO zMR@4@lMJvqj^cih?#HahD=J>|$&Hg>Z{pd7B&_E?}=}`zU0u zZTqBr#HN_PeZ=ej=j_~wH~iBhgZ!yTByM+bFq?lgZto^l^L8tE+&Z0y))5Ufyj>#i z_TY?lgi{*%{0SHOwg>BlidvNrNLbdifQ;GXo zckv#@+NfeZyK9gNQqPQy)cY46{*`*)px`Ui_cHZuh-WTW4?j@BSBnKHw1Gm;P^gVU z+uA-Te_As$VrSbsq5hwZ=xo~(=)Z2nuKxH?!D@Fnc&~F@JGnZRo#BsV2lXwq(a#BV zpkfruVD748m1`yBmqQ;SgJ5+lg4yqZ$hewt<3NgrOcVKuW{Qnvmgd>{0myx?S$6x< zS^3O}ovdJ}a-H2aVppv4)mY`{Vxe!m#9gISWVC9C)94@h7=1dT+g+?@?wYYsRXZ<^ZPApRs29T`uI7pEB)*cx1HTzg(#t z^|LxRNAd;m9YseIat>#`b!Y9PQYnml=A65I=WMeI!NzgoOoWKAAYN3?qmrAx+E7w& zeV4;|6mH^g{R3Ca3~^{R?D1wNv~+;fU&#DvW94;8?)roK(Pa@LfKHe_Oq!C` zGlaYU`@0Ll-GeWF^A4RTe*7%QhNEUUABS!)C?+D_xS6s|-+t0(y|_iF+;4(dItR?X zU5bK|wIzOfoau+M0ZBhMjArV_FDhSf!uazKUoZh282s<4A&w49rUo*DTJ3dhPAItI z#kO}tOWyGne1-lm23M@?zwQE^f@TjjVFu=^1ILHN@wG2_n~w%}BI8#Qy*u{PGWCA8!N)gAA@R+VqF*VBo!0`^N*Nzg96od^Tj zi8n93Q1r^Dn!~0o-w~$uPyWo45i^|sJb**&^UgsM`a3+PQ?3<c^Y)F0#j~^hpdYq)sdF`;+vb$V{A<}7 z`FC`Ji~fSs6TYhejj|EX_jXk1D_0)3?`F-6>a|%7{`7WY5q*L#4OU#^Va0WA@02t5 z;QbFm{hx;hyc_7hy}xv%bkM1$M;W|-vonPd`xz8CNXRx2A9Z;o6f3NWRknkz0>P|Q zaa;|$VYtDjd(4P_f~czzRj!TK{Ov}$ycF@MjTnbUZwSzX^$1zNIl74$A>k1=pKkM$^{s;fZ1b_N| z3I34(9fJSrUIhOmkKoVu2!6^C{C-#i?@ciFPw=<@dj$WjWA`Qaeio3$`u{n>{}i15 zf0f{a;^D`T5}bQ>?K8{&Ho+f84Wsu*@RL;ff0N)JeaybwY$~hSW1H=VRofpi|9?U7 zV_=wnN$^J@sQfd6|CecZ`|Qu`SI4}Rn~RXsOGohk6!Y(@c|(~0QiJ(ZVEzU4x`_GT z{a2X(>d3yUcKgU)tM-46`Tz32iTT+9rBYkpgBe0^%&#}NwzYaM{t4#4?dW|6x10g@ z0LlHq+W#Wv@A#*fKmWx)!Tdi?z%9bu$$PhahO?Am7>gEoH3FU4^UwnM#B27h{9h^jB86XS zd8zRjDcaL*u)Zrp`3DnzR63npZz+o6#c)&RoCKQ&DXcIz@$7LIX1>IcV+GQGwr*Q; z#7D8#(fwkra}N#?5*#m`ibS^b;Pg9Cq_GjJ@_AgfIonGeyeSwe``N}jFeDigKX}XE zgV&V(oIA#HbNpcV@k!;mZ;L>~Ft^3gePqTbGq|C9J;*OHN=DC!5q9ZI&RT;D4zf3< zx4;Ij z^F+$@GOjD^TY62nOU1w1c?$m3${b+rc*DBtr3&lOA^^Y&$A@gP+EyOAn!e{w?u#H{ zL=4pOXN46MPUoXKyR~H8Uubjf`cd*J7a|TLas% zc1VaJ1|R8X;VQ!fn-}ZM{18*lwd5!;K!uILk*yYlge0VM8Cgg^)%qnM{8@6uP7FSX zV~>C!_#E?Uas&=8dqTlmR=7J`FLu02LjbV0A&FCws`A=fr_&nZ{@J7 zNg;WE!$+{aG7g5SS2^=aksz_S&`}r%Hicvfhu*p`HNpLdnlrUbpIGJqdq510Q)zui zX{1l;FsTv(!AAz++w{n=zO!xqkJ*FB*s!h-1#qZ7*f6jZT1uIv!}_)kBiH?)zB$rJ z7fcVcleZ;Ctfhye>Y{bJpT&{E zy_FdjDGYB0!t<-8K?mVkoK)vZtgF_`DF9E+qmPM zdB-QRbuy@#j~~e@LH>x12IKhK<`1RV5rV#ouXwnHz{o}u;2O!nhUC_fwyi(4! zmFNXAgU9`?BvGiHgW57deRB5XR30S*dJ*-!Yn3E&-|+;x;nxbc0S*&eb$yucc8DFN zjd!_p5>>&7sPYqz} zAEtxT)L_jp(1nf6Uw2^3ZHVjf+cZ;O7O)_&Y*xq$1n(r>oA740k@Gr|DVWnwa3Hyp zr0ovGTd{DJp-KA`FR~`aCYC*cY^ogBf}<1mN@unvYiZvJq&Lu@Dm5rvKut8O{;gO6 zXqKI}Ls&R}eSVnA1XQNnD-&SH*m&l-hSMa;Xt?+S`DH7!7C|SlPM3bg&v3fQJFzd6 z5;uvTL!DW0b1z~ey@bSTR2%}Z;gaZ?HpoEe0a&#KD=@{bvQ&P*df9M z9#X(}xTQiJ%Z~iuF`e2T-~KspmLXZk_yyr$I%5EEvy<7?Q9w;_dT>Q)b>gzp=A?g1 zVTk$*_b`@8;}zyFFW5>P7b^h~$Z@p|{? ze!N?%ciD00(LUj$oYUO*gQ=xNwdAg3qp(FQWc|F3ZqdoA%vBsaYV3e*dF9 z$4Nep(f=FyIW7uIHy(RlkMHHrsw*aMbYY*g|TecBBZrBayLDQw-P&^ zU(?y;##Y3sKFuVeRDUs;yEsiGmGN5gzwp5Iy&hy7njx7%%)~eH3*>C$t*t}OTO*(A z@>bU|+g`KOZAlPujG?ldo%FW7=am_~mm}{ukw_Y2R@R*@={XlrG~?cq=`%Ib8Pm}L zbfJ^<3OVa4IVt^ha7Cwzp8$Huzb7A&H`P5HgMO-BSGe6&cW>ifYg=HZaYOq`aK$RH z%t+Jtgn&#gCsj1CVWi`1ziDpW<h(Lt(Il?6=@#Q@MVk2kEWfQY*k zcj~0RcYes?$U2kLfJyY1bcPRc(l&9?O;`JJe@1cQb$=enF}F@`)fsm&cdit6ettAwU0_dYz=zU>_|m!BrF@1(YK4`V zQo4S3R2s?j|xNnoC$B!YYup&VaNR)`~g1mo^&uy7A~5Iw*%76^ry!6tuy3 zo6vVK4w7zH96+o;zM}Z?pE-kOE3`Y|uuKo<0*hBw#532|kGiVLgKzc1IeXxaLY(;( zfXCQP!RD(GuHZs44;UCP?oQ1M7NRcT6NG^%YZy6^1_g2zV+)Y&P)1Rds+L*b9I0yO z#WQmwDT}LsbK$YT0WQw>MYJVl(!4m=psr#wFtU`oi-vahOA zmjVRtiUM2Z(WdA6czEXGNL{>jZsdX}f9ho_r&^>m=Tg+eobn~@k2qbfulD=EkSeez z*dn}?WPQ|n5<;d;#$3tyBAQKZSx6+K);N4*hd((t=l)j2R91ac=E z^6tb1%K)K*5*iMIE{iT=-Eg9=lbhcQHjkt6A_+D7Re*gTB)pq=8WS&XJ~O_w)2E^T1;NwX z(w&2Y&5QUv-FXNUR{f@s8Dra)u+{$=k-y&;Ks<-UR)A|aF{-L+jSl89JLoMY!}n-Y zH0*oXF`z9Xsnv+LE{|NmFNjOPXx1RJpkC_$1{8-`MKjcwp-|_1U2FI`FcG(j_h4VL~sG46Iy` z%SQ1v9DPaG(z)K+nTsm+nYgR^c28X6h$0a7p0redGhqi2=1QHovbz(-4*XeD5v5Vn zf!>o^><{i#y!ZawS@jFVc8naXwZn>9(A>}24>TXs z$AjjR1$d%^ANB&|u=DuG29WVJ|Ij&a1Tg%tN3x&X0SxC164b`psJUVx!@AjIZrmMi z(2?%#7_NlwZpWHE5Vs#Nxo_fNx_|IK4v!4`86UNv8@vC!v^RGDE>N^Lc6Sljau3Cy z2eEp>!{g_J;-^5brWP?gvp>(YwA^J<+TICkMTCb$EasSAPDg9A+Uoyj+ex&20Pa|e zD}B_LA_5KwkP=RoSXcsy8&vfsiYC_m2hAlR~~pWZKzY|-ab~AK~j3WXbKT2f^90D;HokUxZ;^n~%6Rvz{&c zfXI(}Z6-fE@xvvu{(`4s;LhcXk;4H2ed3IjcEY0xMPP9zJPSklQ_4zk-Kg#`qlT<9 zXB?@6$TcCSl?{YbG!!~HA5q~KWMw&OHmIN_oNs3OXwQcD}QLRU0N9ir4-0sRsmGe$1C?z>m(L*zq?0 zuTaI(=^tN9ryo@TQi&4u+a1+DobLMFlFcu0wtdxzuq_>B)MWx4)JeP;{#FO(tuWU% zyfwAPs8#s9&gI@uFniz=81L!Y?1r9H(GmDst(8s-Grn`ID-vWr@M-5 z_dzjH)@CPenRhjN`yh^NAR#i&WwHfz1m}r0JqzCt`zw~Bo72Sv^n!TnA@7FnX&d zSnHWzrVybcdx_9hLc%>o=ubY_iz#aXYjiPXTepcRD@wd_hQ7E<)U5=asP$D_jPN|t z6`mb5b(pR!2LSF>|Ly z>RO$%fsI(@CoUVs(gK7(b+agrz+URl5m6~Ay#qZNt+hqA$j}p=szh_Y;)vFT6K-eW z*=3ToV{-YCaCam7PXC{aYQ+VAXZ=@%e{h%j#Q81?F#1GpsSr9yawX$(UOHa1zFP_ETP}Dr$W`**=^?-8K3^$A8tg2u} zQjefT0eV*ImuA{N3|l2oIlACHzg9vfOqRZat9U2(H$tT=Y7X2Pj_R@H9Gkh_XB3hc z(B~DID4{CVl6#A91oY8A79`RUoL6jgZnQdc@xE-dIe0OoH5sYX2N$qM*d7Lg@YL4a z01MxzznZ(-yn9K8y1$EGxoQe<+(SU;4rZ*2NHz|oi-CIi>}bd3o}nJsQLJIkC33C( zCK(VcJ4XmJtbYkur#4JmFN+}GrAu;|EaR6J7%)m<=^Kogd7Rgh_Al8i6%=H=D~EDq zl{!{x_Ur`CCEDlE0_c+J3#$~#i<(s<-g|TM4-0_YCSR2`a{#Y3$N43@i~2O*>I0=% zJX1=;(21Ds?iRCF>a~!4(*C=+kXgC}YQrLjV$9y8s9G2Y zm%p$$1W_Dw3Z|{Ig&P5>fhG_6h}t&s9EquG-<7h!%raPU!&S(LhNX73>vfWFp4y5! zUofs6W;y@OEe8jNZ31viWxRm*$F(sRZ24A)R>ftrj9;dAGzg&Nmh%qcCK=Sg*aPMg zi@t600cbkT=Q}++=nJ~nEvpfUpVAr=kbJ92QyXo4AW{SH2xSX~+$~qdrBnAVgvdpN zg+@F!i*mU;$3TOC4Lw^Sk5a=+qJrX2Gusu6xY8{ZtaP;qS|A}UrsuZ}C`MTFjp`A* zT$MSO(Ii#rS-Nu%iMG_J3TXf8W{Y>@GW*NT5S$gL2=x^WLpmD2t z^jiz`~NM)&LHW+P`jVc1}2wr-ZJ(P2v0nU#WdOspJgtU@>4<65A$zIR(8IB*~5 zqbmujv)T9s9sss-j$#0E9wx|u>va_7z{yM9?s^?%m+$CuVKRmV?d1;ITDBx12NWiO zGbQ;3o9ZrdtDBQ&!pF;rX^!0KtaP^r-KkWEK+q43HZelB;O@ZTUIv{a0WXi>@Fqa2 zfDBNFE|;O_u~bFO?dR;~rrwzIg3K(ZKkY!?FUlRsg=<|x+=rzUqFv`!^Lu^ZqTDU! ziWHjG>as3vW?TH znY$jXpT(CwE91j4rn2r2xn;eGeR@a_lc3k0Dw+g+ZRFiPS(S6n(6Wml32uLxR$XP5s`RrvCTTtEo2CMmyR|8V3U0 z#Kv#FbJ#$icYdEaGMT|XCcB{AxTUg#b~su%PW%GwAmCeG--VH1VMIE4_qNFaW}86A zeD3(w>vJqB%Pt60;l7ns^sH>-(Rcfb<4k5yBYkECAK!Tz);z}D+rsjx^U&aTAED=3 zqU_)!e1ahv!lB={gWGJ^R-1 z12rvYba%YL=21M*n1d|}B5%GBirCz<36+txkMn)CCENtU?$Lz>Pl&a=h;EJd2_)zs zW^2xy0-MbB)lR+n?E0v4mV3b|I|?yR%3i3T1wai*5kSa?qW*KHLp} zKjih^0QghY`Y5yAxQRJobUwmD zBat~Wwp4kCu+q3t%=>kc1GJD0XR+bi#jDrvXvK~PLanMCdE4NZvi@q>0jLPae%SXo zho50mIUj|ptk^8G@b~+2pYm0#^*o$`i97Z#HaLwLx zy~ypy0CixHYcyG0o`m~J-@QM%(XGEZ$N8MbHo`6U_T0Ue@m#Om%PN;e&C|V@1!vr# zfdt1nt&lP;hjKoUo8-a@Atn#jG|STmQZ9Y-SQMZ4P>)He7hFlJ3;YE=M3qshL~ofA5P>2He})3iAcJVQiBjqOT3B2p;TaxlaI zq`rV*jw*=V>~9WWcvnLX(Ns6jrl<+A?3&#nmf)+db11H)`9dinHD`r$g83{G5%>n1 zr4f(&B@T&fwi$vVQuUb|Lpb{Q%ariG@{N%N`8^=#ogM z^;qm|I(z`aihE#U;kQo#V29VZN=klPtdcZcp_?Y}23{MH%G@-&=~dCpEYrOi@d-1W z`>?36($9PuYuerSQR-v}r#mpYjdvO*_kNj5XUpzD_9(m~D{blv^L_p(MHZxb8q6Q0 zUT4c*8$z^)0S$e0{VdlK4PB6bz(ft_@nx$nFpsNE7mAxF6{&ZURlBhDBmNmck|R|iM*)z`h#RsYcIL#kmc1*EKgc=94hqkv4Lk z;y4Ck>DeTLO3x1aX7jg#oUv0zgDnh*S}{exw5N>K8icv1=Kl$FIqGxgFFWypS7f+2 z{8vAe#ArMVSGiB_(39h5IPq7F3FN?6O}U$R`qVF|-g)*f=6Rc2dbUcRIKw&SHMjJc z#z%A0y~Z3ep_ik)sIPHT0{`!|eF&v7@ts;zvcol;Jkl-c97&;G1iYN(Orpt>Z#;*6 z$X&x4kDMKA@7uRjOyH6=D$q?&a&e|0VZWeMVE7D2O%x?FoAcq^z7D_bMF%HZ#d_yT z*TR3jhvWi$L9@y*065F0*m zQbw-oY8!<6mLz|{2SWr{9exQD51tVY6r*y z59Y_p$|v-&0lRWSoKUV@z=?JM(H&Lm!-mp|MR3NbAABEbf)N@OYdwO(6=1nh0F<8) zs-+2{nkiI4!u}RJ9;ZR44b+xD$Kn7{I77<@p583Om`|B+1Cf?pitV#estDVopX5ZU z*52u?dxg#IS{gZln@cGTuGUe{Ll1$97-gMvhnXCp9$NMm zOYtB$gcpX*mR&3AY7=`xF?<$c@j5&9Un>UAX3~gbRQ8*F zy3k2~oimHocF)Uo9JDkXlrs(kUDLUGCl5#D?&&qhqbO;jmUe&KsB**eH*`N)tS3YA z4c$-H>B+D>IJOvr=|nvloS)MDB&8=q^B}-t8S~@_(Wc^)H7YX*+}HKw7CkAykk~#* zXu-y^+8TG+YD;$>w&>8uPV2)l5jN1&)UEIVFG)xu ziwkO#bo;g(_gJ_GgUwZII#9+K^#skF6=+1YandkU8)oLagZv0I2VecYp5UAkS9fN1*K!I)oD)JG)b&E@(x4e6{i=yg1cn=4@i%6^46zAEiw>uy zT*ic{lg0H`xMBv!5zZ*|o@6&9Z2*E93@tXeXk{%oQL7}f1BoLU$dhb}1CkDB+XG@> zKy@^>Ru|>)!IwuW6h1X|B%uuRShk^RaP!!yQ{9AQwT^6rxtQv(g5VJP#`I+eXbS(G za$>Zgm4SyQ#F|@&Q4zQZ3tSskuu~$p67LdjIglS%82&gPi5&&;h&@6Y8w#85d~xLG z#4g=FN%kA*g2u{r$WK&paz^i3ccoXi{HQt`;I0%BHrT6tk|bD@#g zR`kzVG+5DL-veCjPYc5>)8Y=$W$)1yMjmshk9=0wBzh^CXnUSzW(qy;g#d|G_=WXxC3d*B=A~=b(Y<4 zbse&)(*yp7vZ4&;JdB^rF2vXXqxqnu$kOLihKlzQ70uGBLhO zwLK$u$3Vm;qlYt!iz-iXadfxhV*9Um6wb)pFuq)RjIi@JZqXrDTM0{PQvzWJeP`YAz`u?8a>g``k``d3!arUZE^MpE^G#mw>j|fb^~r^ErH8lPA&p z=e2&0hF#Orq`kR zlA~N(o@9w@>|(IZcBgX(xo*(m_%|lOF>`9|o0zBbI&1AyO-N5oz9*5uSsB@Nhcmqs z7YgRATyyqbqVi*GD3c}3a&i}t9)@LWo-YO|xiDqKXL7SX3`=+nuytVANMc(&sEgge64lfIs&f82ss>Lmj2!Zz+R9IiN17TLWj^>KS&5(sK27-7B>mfj zwd#}hv6ekG;7r}AH5$trh1;4GJo#_hYbxQ4Hm^?VekGlo`)UZU1TA7XdPCq9!Ipcv zihacDsF;p(dKX(j$_&#;yD5^I*ZcK18fUt%?{{CH-TU>WjZqDz=h7Q{|?yr zKcJbcYrxiUT5M+QN%ga~=JR0lcPJ;XJ-3Ck9R>=$HM zQj1p-OBcwmPwxz;Mx}Qil{zN9b3$rFdgrMmh}(Hu;}MV@g-&UpWU(=_x!m2sSAHCU z2!Zl^cQv=T)pq=&qd*3rYt6~R14j30Wn9ZTZ9c$*fHj{u(*^vQuSz47njsLHB_)D^ z18(MM{-CUqpLx8JAt{#eVksq>xY0vNG_n*CF_am~ZFCp zCnV5SYshXwt+n?_U9mXTP(~5=nBKX=E49+Roj3Oz-y|;J+S5zF)lfCFF#NY66zEcT zZIrlauW9Hv)47x{*xZPz?R_qr^NsoKrDCb!}3I z!oo$(-#X(QV41C9HeH1pHsd0&r6wR7k3_XuAn1M4mj-;Z)0YmSYv@E0*|B{=$B=3x ztS4$Zg3TxJ30OKoRGi?7uj1c_sny6u@3C2P3*Ls|N>=V#cye+)yj}3SkHLy2OC;-q zIjW?B{~b;Qgc_T`;%Q@74*Bx+ZVgw6GZX1G5d05we>2*)%TU?6T(a1R9$Yd6 zKp$5Kj>3+ux-=i0vpfIE4R-C#-_$~|6Qe3LH1mRJ9Agk zOd>mFzpL=(zVou5RXB6+Rruw;pLwfrbgxx#JE~Qv(kk?$w|lLETt68=F3$?|p5~)e zn3Q!Is%Cl>R{y{En;d!AKrJO|UvNb{GI8Vjrk(v$HNh2N>%OU>E$f3VDe3|fwan!= zf5!d0$$ich(^pM|0|OGRc*U`R4gUPd34Ma;N#1LPOd8PUpb!9TS`TQQf-Rnk;mVq% zbp`k47{MGc01K>)cI$Hb36jeZuAaeZuN2?>2X8n~0BC>;DZa!u9oxJnL?2b|g3^i*HL}xTrE^nd z&x6l))ePqsPhfDfq93A1P}%bcSa5TwFmn9>9mw8{?fL+D%N0h}l_KT$5QWoQEz5q{ zQuY#LMB>LcREgDhzP^(7YljlbNP`8jAb(-`K7iC~SBB z9w8xWD~+HiGigj%4Tv_`4AQ+~8D!2M-BZ48ZyVqqex)w$&Jp{i9=bDk!bF{0G){I?tL$)oEU-zhDjCy}sC+FEoP{(m+{`{{&QIaK><3#_1m7*P?;E$D+{BXg2`5D;>goIg0CE(`5@I(6F z?E{34mo8P|kuzEfd`bo&)0Jz#XkpM-tf}aMf@_W9Rr=I9$nCR2aD@5SGk6}KO-32? z>jN9sLrrxd4^cdw=9AeQdKJ%sKl&34hKv~hdzPU$%rYr|S8&`G zdEOd>(mkA$2Ny2(LZyr$7!PsTcUU!TuF^av-NyO^)>Ns9QDJ625&Z%h>0@=q$$Ou8Lt zTosCStc0|Qqs#x8an`I3HfysI|08?$(@nb&LszYQw=A$BrYF}?Z$b68M^}DW77e^W zq={(tu3(Ee!2GI?)xp$F$?WypbjHXevdb|9-RXRt0oFpHIW};gOXzoBoy;q91WBGk zG^x8nsaR}jYPc_Z(_T&Oh%Ox)if5-V;7$#AWen*!7T6ZAZjT19 z$luZCZzMhFUMrkF4S&-;+tH?+vvg|zwNv}E#gBwYqvJtMG5ZDC*muew?6o$G;y+@j zg;a@~AbH{iADZKvr?2DqM$DUY1)yhvXCXhwPp%3uZ{#JOheN!ZVV7hZeTw^Q?9svm`4P&1#Psw!`-eiD&#bLNbeP0Ld9QX zhv(mm*>6s++)9j6^_)No)oS!1CcitJ#H;OUO`b4`!c;e$#FqgV+MxwNy;WgVzHXJ& zmlsD5H^>&76)>jT8n7(R!}=W(CCH8yW`oD=S!1z{s?wbN7t$uitWtb z0Ln<;=qtEhzmgxjynZLGll5)?^iJHQr_-VMC`c?$nVMxY+{-=Z81*tyxw*TC>RNj= zbd&)&u`;#=>oF_Lij>okzGPi>vjKW4v*6;~{CO~vHQHTAJk*Hr10*;Bun%|IL0NiIkJp5@@|TTTHn_zLY%P);4Ow~i87JH>Ww;X#D zkprrB@hP5)siVYez>RFG z&W^J1eg@{Vo&wgCXcd^C86H_Ew3g}D+mu$;GmNrvA6rFGEyq#?nOgpz%pL+(;+T|? zK75!PQ7be#ESQ{-napfJ!s3~$4QxUqcY<7hrMA4f`KVfRDNVF&S0INTqye-Oia=Z3 zP%aY!Th4zVA7Hpj{mfXjbE`4!ArcHN-XN5H!dif7vV2cc-(qFuBqFt;_EN8%({p3h zv4iL;LQt+n<^G2rJz?g``N<0id3!D@Zj{^srbET`3N#K#-&8unwNR5PQT?@_8TEi` zhh)4%tDIf;8olWa;%=&7ZtQPHGJg7v%1L-28JW)LF6K)v+1B(9P&V5-t{F+p_f}hb(bm>`wJjI9X;r+|TNSOBa|}|{3Mfi`pYPu1OlFdqY2Uu@ z|M~Mgto3l{DQD<%mo+^As{gHX6BAdP-JkIC+0i`CvC_Ps^aa-qZZB8+P{l_q(sXY+h?M_*`*bavBCpL9k+PAHnlQ!S7Yqt_dOr_Rl!IY6oOXCc<&H)}MQsf7usO%)SgLAAa^8>8 zeVo6y$*Rt2WLHmo4Q5f3GeYHnm&mTafhhoG$*Fwlx4jntc4OZ{-g#N1mq*$4(aYs}xd@$-m&0Z+;$_RJ_GN)y&h%eq zU(U<=kpD$5-#ZN=H2(bfv*wi#TNiFTNoIAE6b_Oe)(l{hB0D3=ir8&9=oGlF-)&Ne{5_uq|E@BpsMc`el$b z0W{fM+k>QAk|INcT!qlH>GsLT2T6wnN&QWSL>H$8N&6>Y?Cf9SO+p`wdEx35zc{b@;Lld(g%)0Xy*rdOk4$Z1Q?}GEI>ul0JI_CNKC37xV z$X?>*rml5;P141+vu0mVXOfzJ4fL_))dl4Vw%%%4v@as=*32r*A>}`lWSbhTHNlX{l!%gdkp>lMt@*bt0%m8fsX(j;v#L~e4@WsSj09@OW4#1W734opk0L8pk z{E?>Zu(S6#^<)NMlmXy&<07Aigkb>;H)e(5DO1XA{X_;Sv$$+IHn--! z?+n8w&!AW5d<>G_U*>nM$BdwB6me$C+*P(rrG(o1sZxHio1sg;V9k?Eb6t!s`2BNH zH*E9`>9Iy7Ko!_RW@+0faSz*L%xK(96!@-9)CvF(xWR8#B!)!25@c3pbPT;a(|8;c z0Daqp0O(8vvBL`xVFUVAqi3{{$FKevbf9SvW1>yqLazK_h{n~Z)-1tPu6@q<`?>c} z`QS~&Lu~4AfXI^lPK-J=-6p$rWLNOSwHIj1+uL?#wjPhXD^rh8zRn+}O%%+|0{J<6 z{MZx89)Ax`kkVb)a55d9HA`>yaA61KXVR?%KqY$2A22l84xb4OS+n0K{E)qY?CNk= z>ZZd7XYKG=cV_DF=xhBB?;4-0!~4=o>Y%>%LxI*)=P(Vo%`1l6)=))e@_OTrOl?2k z?U@kpT%(VGk1KN_|HmJtBOvj!3;^T_fcvQ@^9W4J2tY*u!19~`^aTJb z=`u0+#z&LnJ_aD#$o0r29DyKE|J*U^f1axKWwFki!p3tFi+8mOltOQG8;;AT6<;;v2SonfA3X zThWErff#Uj8lGsJO%uknqc5yz^~LL>_&*uvCm8W!E-R!WeJWdpy#$S+!#Js7izwf3kUW9_jnL5T?1l|GkyoR-Oeg|UQwwtn|+`zT6af8-H}e=2r+3By>P-VA3#WzLQW-yI+-S7 z5pO&?Pv#+5b#o@7f8-h;OAl8BSjwb#T#Yd)yI30hha}NGJUET$W}!!ACAz2ATB19e z$}Q0iH$Y?|y4#fFk2Cdn?bUvd-yf5!$Jf(J_8y;xt=wm` zHN|N?9$A~C$73W~_nPbuqjKBh8UsX@9uHLZo|D}kevgOQ9-l~=%sqblrc6D4@hZQ^ zk(@og_1#=O9{XUj$D5B!>v4CW$~wkph@iVpc1KaU?eQ(6b7Viz&t6D&36?8o8o@G~ zGMRh)$;wPUes{6o<5Nvz*_Kzod?#I$|Meb;^3>(k+(DA%RbH2@09=p}faw7M@0I5w zvhTD5Abh=CT-b~6RDX&$xiuiwr^ z@6*_x^*MYCM3AzUI>%Ax~GY4?h~3TT4BeY3_0ZK!%xoUI4?LSz+*J^1*-+ zTYe$N5*X88&X*=?v6f7g!?;<*??aGKO?$@3aT_8&o|vlmg%3xUFx7dz(6P$@qFIlB zOJd7QkFlvvK-mJdD3#r*RNY{`FM)qmb)pFnOOh&gG@bMeW~B$D@|j;@V7UO$9sE%&&i??NRW5n6I`9$_;O?@~+uC9?lj z|8@{04WRK15Ug`g2_P76Ajmuh5x1KU!ji5&2;1B%?iJ;ytPZc|TgvLNR$4NvL&d7L ztHa$RNMWPYd|`E{FW!zrvjKeb^_hr77_VGg># z<6%3gbf$94CUXoBStgaEpTfL_&h;_}_|57JVaWpiILc&ZlbR2^?_j27}@uAtgb z5(**q;|()8WJf&9*Zp~*0#m_EG8r*t_F~O8y}TC^mBqxrDOlF%Uw3i634Ts+7{y~9LseE0e|?-y1E;L0rbiVIe4Fu^YwjC18O|EY&t4lRli{qAa%WncuazVnX1{8(y4e&z zYbI?}_oNMS)RKIh&9R7|r(rlKcWzpuj~kkn@hC9)npg1P`w)}$rd#Y=%;vt^WNG@P zc{D$0zIFYc$=UR{eR~lLPPx;xN?A5EZRF8SKb_{yJm}bPoBMV9b_ND6a&J+V4NWeO z?)vF8Z|6boQ*G{D_N{Wg`rMQUR?D3`v{EH!gao`BY%#pn;(sslUjc>ohgmtTZFKQb2$P| zAT%X=R54HdF3>p^M~84$owa``p5Ro5J)?$`5(K!?cL1p@=BFBQD&_Z4y)0IsJF~QR zplIcbP7kQ82!o(4N@PUU1t?HOwD28YA?^|Qb#ubDgb#Y%f>17zu zA)G!LntOdp%RxNda(vryP0$GFDdywSl5aAhkMLER7j9&`i9S~`MHKiIPh2A)FGl0?AV!^{)hFEn#GH6j?ry#S?{b&`Y{Lf#boTY^rWIp6S3M&*JM0H=*~D+QKM zx)PE6HV)%fgonO zyQ*KLC*DKIlSV&?S4vyvV@g~8d$KLw)s~W>u6ub}>N2Z{2Q|_V;wqjA{1+KUgZ;m` z_)2K$t%r-Sl?ItP)H89@|RuOJ|}KBzQFN$YpN=oC}CEOJ+h(;g2}(B$EoPT zSOk7)64=-_N|u({RVgbT8)6A?l~OKCi=D^ zPD7a>O#~7UaJX^2_@RzJnf03IzMn~xTT|mJHD|F$nq8AiD87T)bI!CAbLt&QO>T8R zbu_uv+RN-7WKqqIJIF40hEloJ1WvMJj?kt-F7T2WUKfmw#{^%Id?in2Y3Zz;-laTiOhB|NRNJ)S1a zl%+3_i@tbHpKJghBzDCKIF$=lhU;bW$$%sb~l3%NH9;O0zXJK1daUEIL<*A&cXQ zKK$x^<^b=-!W5vYQ~hbax>`V4zm1f&%6hkDt`FA&16MZ=IHh>hT*R8z-|zXuM#+nd zFh6m;Dy{D3{o6T{>~L=iYCRD&sYHibH66{MN{MnaJv0x_yy)d4-f${Twh4LzIE%lT%e#(x@eq?zZs?xtDMu*{aZ291K z@xuL>4YQhp>Fy)1NW=8vgI8A+d=(4dMBp22Mn8jSLfgWPqogA=pVFrVD?`ue?y^jo ze-va^lr}P#y-Q|lK8MV@KxeS2az44n7N8_bzcji+7864LmF2qnfu5+nNH-^HvqlS<-1&DFX(tiOnr9gcdsr?!YoYdPXr8HsTO zE#{Q;E5|R~^E6R+i4hT168w%eH1Y&}vux3@>GU|pS=)rP!3kryi7%zjtR-qYQi zUd+HBcirXl$0-7&`IKWmw){~|<~EYQoLq+Fzsq7g7ruHg625LX6F@M}ZF9TL^ig)} zKG{%a=M49+t8tm{GQ-3xd(CaWhVHSHD4~Z^(&Kt^DydRE&cbw$CnZz2z}w-v8GiFW zJ1SfALS`jxCubquuL0RNU2LaivoXW8%h^_pV|Gf`QvTB)a@`s$EUh8!n(#deXwCJy zNf{nxmMlG9&0?Y`hiW?>YB(`sW%Zk@#A$Vem$XN7v}jUKiEA>r)oru@HEOMwqq1T5 zSV`V&D?7A(Wi_2K9?6mGnFFvxEQ8mAlF7WOS;k98KZ z&LIn-7zndqjUDbMeDfY)jov1sZUp|ULTCNn78Ni2rIm2aJ5=Yvtdp|lKM^Ng!FU(> z>CX2Q!^ms-h7yK7t|qxAOpMzh(Rgy(jbj%hOyu#iL(UlyXJjAmCf4Dy!fFsrq^Nh? zh1%H6fvSxq!_meR#1i$ z{d_Nz`GHpuM0-tl-(?ZmCWyA*>I}d4j5koN{rzCI;VD0{-<0R|E4*K z@oNNVa_+sEWqDRQ{iLU*>zz*p2yXy}tl0;MtoNDhZX~-9elm4~@H14#5cbdcP}6&I z{ErfZ{98gii!v+vBThVIHp1Ic^y4*#qGO3OEJf?05^vxX7&fD`VSGV5{Fws)r;y*E zFvfO!cB1VDc>0RKG#9w1`+GleeG-Mkd!-TW=S)~xsqoi5EDj&S!exnelM&}xX#Ae{ zG?7hq8_6ylKEZJ&aJZ5(nR|TpB^{?O)9LtRzti)xP9Og4wKr{LkpON%yG7bIcYBpz z?>%@XWk=={e{5|H&Iw}llxa}^2ET>nu-aK|W-Mo;ta{EH&a+xE9aC@TuEmDVyXi4I)MC;=x`NOk(K(66A5U^79yfDaT z`Iu%gXlg_;_r_6AX3~4>qD%m6KHCT2n4AFovX@(@l03OMr;Ea&h1#DynZmbVns`J4*_w)d`e;k<|I4*E7 zz}+6L>|B6H@l}K%QhWtA z5(^!38p&92Z@Lz;?Fl(C)QSP+7HguI6J3NceF+`X1_o#a#ddYTD@FvJX4e{lw-tKB zxr(1FO+Mr!0<$i@dP`BfU}Mbr=U9SOuijQP_^ndsLt<)T?9$vCalM-$;m{4(cwEWL`)R+~iG{qLT7G2I zX0Es(6N)Y#@1yAb{<%;z6cB~L%-T##LsGzA1e#J*@O5ZyS+$wBJ6Ub!!#@NPw#ERF zMVmQCYk2JSkCI&y_8d%_NZ1o8lex#sI0)E%`<+ZA+?lq$Nz{`WfXNvFI3oby_?!Uj-wuFY7iQq0rAQ%f=V93Z zcztdr3_QoqnZdwI6wHo+A3vCmfg>{QTHH<*DZ3U7(8}oB0HvvCvz`QE(!0iy;Ub`q zpWb^k2SrEQfpkviX2Tw>-nl2|UVas{@6I;2Q_z>$Is5X=?{ab5RZ9YHYrGn<0^MN+ zoS5AThz4*5^ZnT=M!=D%hF2Fm7hwdPixF@nlNPt<{SaoAax6okI}#Xb@?%pg*oyLM z5kZ-WCVHO6>~`xS*4lia^zt1ZBX{j?Uz5Uy)D~3nEoo6^W(&l~k=L%DA zU7w7k!1RV~YO$u~QAIK%5^o3Q3=ibq(1G0(hq@Qj7+wkC#vcq+XNl1P2=RuQyV&{3 zLmkrZkcq>zL@&+vTmJ*iiblC-BZ+t+W<^&;e4!ogKd)vqXvZuc{>+k4UJ_h$@v!l( z(^BO0sV4H93swnZtW){i@>P)_O0#}qCfmi6y(C;E#wN~>j3vftoEk$|CkVM@TC1)i zE(zWZOv3nzc};bBZqGNqmK1FIsj1KZGV^H`e5@_Dy>37LP0~0h)=IIO9=iDaGxs?^ zLm$+zWCoWE`uL##ao=t!AFohpToZ5fKc0@#l`Q$VK6bNJFYq($2R4%#?(nNV%l~+D z>c^=6aj5^Xupp&m>+X5-J#-K9KmH{3((qC1jFj>>8*N9Jgyz? ztSJgxieg4l9B9&udM}ezOODX;5e2bFTT7QMEa0B=U8Mw)yXAq_R_;0fmJ)$qRz;$J zg=1~0rOO_UzQGsVv1D*lghkx3c2)q3WR-l$Uo~Q0x}$6`*5&>dx~Ob?zT-Men=H=| zj>9&Fn=b8@{P>fgteLKD*>A(5d9&HM&7IMq^iWEh&wgW`)cEdiOhjla7M|B<2&5MEj4vvxNkUh+E)J z6dmhJw7fBB$8>;>n3@!2!`Y)#ps9YFfwjER2utmDV2)V^FDDJ@5C2j#d;r$NK3F^4 zpUx3jcA^F>%Pll!p;DNO`}R@?c9c3^!)Kiuws$Jn7;e0bstMT(85CmBSHGP%-K#G` zLAjUQSs3=?Uu9!h0W5|s=Lur90yBs$!#-P;hEWlna=YH_+;9iNCfxK3vYQy7HHb~) zQ&5PoDk2r^;CSHsprLhEGSxx!3Yl6oSJ6|G1DR~Lj6Q%J4WgN|b~9v(;6@xiQ)mE% zP>jwh4EG)z3imGCCBdkPnkAT5DYnQg%${XbKxA#g&(KRg_|z$du{uB0;6JP zHZw_YbI+i9;RKpz`VTiv;Jcx0z(Y82_i0U6Z;@Z9BXpnA+5Zi6N2fz~lSHaf6cy5Q zoBJTur$YA#-wkxoh!0&i?@hl@N9e}=FQMCEBsBx z^*ys_c<|m13XvWlC6pG#Ku^;$RJ?}CF2d;bffEer@>Y&!~K%6e}y9jcyQp<&)?E$zSWPV+ZCf` zn1bkJcc)c=V3NK&oJ+s$>Pf-$?UuB>?oXSuqSac*PUM%jP^*)Sk|f3m{^z{PIT5^; z)ugCFOFH*lx+OFTfks$tl7J)yMG{p_*~#|JPm{4(vC78@Y&KSbCbrncR6!YjJe4YHq#aU<4jKX0g$gAl{(u{jb@7r+bbKW z7%OcoW(+8TDn@zwuO=S@>umKziZ5mGn{)^e}N%?8fw%oKF!zr=?Z zgIO&E?MU2e;sP6d60+Avs3leJR}y$klvWeAVK$_3(qjdIwHi8VpVVpz5;Gg--$@kB zNvmQF-x7A;s;l89=gU^Pg5pC#Sw;+%KnMpF3Qh*$NLB8L=xkb@d)ZwOVTv|)E#vm@ zH5Rpj>Ga2j>H?~WZ6`j-H}oD1lqDIKGeTtc)T2OEuxC!WgrG`YmuREwQYn%$wBQcY zOL)b|38QDEX$q^rjW39jL)!Ew^<2CISay_D+)y@Jy(%%aE#XH^zPFCYe-6=Qx0}Im zznSUR(h;UXZ7_wKUJjIeMtjsgV38%6wWC!i{vFM@G0tf9Gk3DB7VS!RC_7To@@(WCiv zd-QHn+QbpmVg-DLVkKH&KuD9}lOG@o`5O@Sl|BxzDqrHQ6A*u=fT zQ7>`2CY@)dSsZ=juHu&rM}a8_%igf-6KxVx9=9FT95ocAo34Gh8^d~t|Bbs-xkU10St4H;Xm zYSYUAE-^C76dx-zBg*PHh#gMC1B>gzjUx#L>1_qPRBHO4P-q&i8AeO4b{HiZgsQuy znqg!i;k|%cLfdqcOR!{B2GUyerc+^d+HCP=e4G8d)wfQ`nd5dNUcAD8lS#ta`{EmQ z?!V*opjX~!rjk=evMDE5>~C3}w0U^#T`v!>o#Cc_EVpxcc>Q8*yB(8l?wu$4cK24? zdNbO{A&FY|{F`%aF&tPOY%w(5L0~@-l^>4s<|9>WmL0m1Gi3&z?DnB@>oRej0U}HG zGp@l}O?1W&e{47OzAQ4c(wUSI-PXEm_)ydNoYYV32Ez^wobe}%;tTG#J zsm{O0d(Zf5RH;ku60$v*@2xjWb5(h<%5jvv&5yoe<4|wn>sIHlb;s#@x*OlBus0<6 z{WyK^)uG+h2YKhAM_br>Do-cta+%_t_Ds|}NlShM|HtgGXM%rkuZMwOu&&LVXLZc` zC|S>4%99T7#vWed-~2UX$MPG8cn!(#SL=JHjste0cU-a)QO%oBV3VvK!r0**V}u)J0!?_zRGt*%ceeFVG`64 z%9GA3t4{C+Bth+OVCaChO-0_wWF4(P%G{l!yuI#TWG{@%yQ!E9F9ebN!k!Kqh-U_azV4O!Z#zT9~}p2&}SMw5mw&_{Lt| zai$85^HKVq0eJ(ww=}WC;KV;sp0+L&`&}r>)`gy4G}(n`eyFl(U08LD_q&$^8u>Nf z=RV#IT>+==R0+ey!TZhSPOrJn89lr;{er>1LiP3OI8XonQZHQ<&Q zV>YFIJ8QndP&%-Od7YEMe!D`oc5J-R`)#t0Ha04oU-~PZ$q-;C8kt*#eKc=OvM_>nfjjJ5x9Qdj~OUClEam!Z6quG zk(`-rB=`5Gn6f@rzr8_VP7zzCF@1>JA>+;^A!mHV+y9^dn=dGLN13|@tIK}!+2h8x zi02*{WWU=~-Vy#1Z>>?LMTv`*2lo1bPn)%FjZ)I-YvcF4aW4k+HQE5tq1M&MagTD+ zpT#>j3B`e#p;&!%ONphCuYMpLbgXc%mP2iZ*E46>G>8^iNSq$hL8Z?QAl%E}+gx2` z$op`(TwUiC8Bf;{omX#(l!hPcA1ip;yD`a5SE_Q@IfYZ!jPhQjyVe!&@&UNx5kc${ z6TjW4nTuH6F9CyEscThZz4v%&^j~m^GX_DHrwSup6mP!W*pGaF$2X>l2D1|+D7U?%s% zfjzn0y%;S-meL zflrn950*3K!`_Z-!4qzJPa9K@$L3y)8?n;4k7J!lnswo<1@rt{0-ByANoOgW{-7V6 zBqpd#yQu#YPES**%bhRXF-Q3-btklz>?(Di>xJW~m<_GZYkrA(m~>;5!`L~Vxw-&v zog%?KROh_o&Smz%8|S-=;?6i&d=ynoV&5j*>V2z2pGISRB!N=BN?KIg)D>@7eQ3F} zcWl|nkoU65=?k4@WL6vz1*e6WSVW{KUkN&o!ItxLC=+~jrzkg5U|YrB0Z9>hifMQ7 zOP;RLu%H}elDtwlEM;kM9L@t-mj)*>E^;6FYI(3UxR4c4*6e#JJI>e7kX^oh_i(ZY zgVj*Vm=?7t;u>DeWm;Bi1xfJ;BB_p&Np{&v&Z=y6>ICP1R zB{Gb{`N%ih4(#q;IG!$aMuB9=b%BTeEr~a*9~^g1N*#8u2Q_iR8Yv&3eu=?#%snww5*SsOz6LS&l4sy3Z|h z&JV>_Z;g~KJHLnbfmVr_5QmmKqYVEXB%{^Q>^6++&!18ImOC>z0=i|j8;LC&wT}v; z3d2#qNiHvEFJoS4w|0tqal%1pvSvQ$SL$3|q(L=sI%!)V{6k0VF`Vm$%E!e{Ey5Hk=@rFbEDoofoJ!Xs8U?CKtF{FKF9!>)pG zQw6GgY{xn-D5Kgr*aXEyf-wJqWeqFSVQd-m{lo zTra~$B@X&0Rjg;S>f~+US4DHM-J!znT_>g=jQVyv_M*rU9r9h)E??7U;C34KMfm7U!xDarEW=;7%Ofn;RbRSMN>9 zy>tXlACiv1#FrrEh5lH^@yim85ajd#MpUr#^T6<<8_l5{2BctP3V$`M9%f7$PLH|F zanSCv(|dSdi5mW^D^21FoRTXb=5nXJczH$iAZ8x?#_QPld5oLnOP7~MkCGG>+r;|E zmX+@tbH?{6cP=TM8-w)AmcPhmM&BNBJX3px1M8!%R=TXwnRd{W%V>@#( zy9?1)C+s1tJE>cBKGbROr=s{)En^Tq)n$V}@S-o|m~FPqw$M%Wq5BRH;Ouhu24hrY zviAN+ihtgoAv3kcnQ;&fl6EwLlD1fJ~y=FqM&w1I&QgtNqTiT zmn8E-B^A+-e*gnN$(XZ2oY?ykI?>5kPBj0x_s<0G)gQ4dx22*0^^QdZV^|$`##6xs zh}6mG3*0O(dBl$aNGvqj3x;@d_O@KPxPdCuEe@;7y;0) zm#^MhH2BjPGRj$-JYjO(Y_6Vb{8T5s+pUWZH|wIw$nHxb-X0nJ$WiLd>L)gGVxZig zzpXr0n{D!#?i*PQULsV$3=OG1K_%_@^|!_8{JQHa`1Q~tI+Es1ZT7A~Ze4QM+ObOj z^?RA*5UzZ8^W=QGm|+P&+gbkE;FH?>AlQ?tvITJUUWqQP8L*gl&45FBx}(48%sk)P zS!_@@Lkf$@jyA09D!$58!_K3gy-Of5-Is?pg4%7;@IgSQ@pb};05a7xXsTXbVm<_F zAXz1Gpz;}T537|B!nhTQWa0P zwk~OjJQi+Z;g|Z*e2@E|8eq|IHQO^xaFr>3HK>?x|KWAL!QU_&ljHFZ*ytU z^Cj0Xus2?#F{tZ~OzZ5?VCq_Rhx@Z*Wb99jv1g*+cj1J-2j>{sS7uphd90~5+&CNB zq~=}JoRu2ZEwD2B>#LKH6nxSFlEO4dJSy}O7_qX}`uw>-!ujTVO|9GmYaw|d7bJ@X zJqwZAHc0-`5hp(wl!}wP1WBh{kUThpT3N3g=tJ@b;|Wgs(#NdO&#y#7W4Gj^tCBcb z(Ge&4X^_;C!MhA=QPx@qPX!W=0IV>zh8r6!BwKSq^73D;kNwm(NOW&oJ36`I=v17% zD@Z=Y1e6t$t-=W>_`CU#9AhClq9q4T#!sV6c(VJ_VkRj6`IZ3uSI^pj`hp_-op66)*StM;9{TtuS|~h z{7*YzxbUb{3|ElBOJMWL3dynOfGsHKUQ=th@hU-*@40_wZp~=ixOA{Rtt06!mB4vd z_KkV8VUFr(mdR}2c*;x&?qC}7qcKa9HF^C@6U~`e8;IIh^5${_a+PcL)4DU*fwt~!x2NZ@UY%y{(*`0kCYYlkjQ?;w|MIugfW&&-)KJ%7>QQH3XMcMRY>As$__}kcmqlHn_X^U_*V0-4qMBGG zAEdf}IATYuxt{9EsJ-%%qMgGH$BG%zNUd$*VPjixzfaAc{9;UVSch7kH>(q^_MfEOba|(Duqg3LR3%16i5vIJOUa(9&vf%TagHVHKzuXBlF0_jX*t)GN)T?Jzn5e1 z)*phHjc`aUz042Z&r!zp71bGjneW(kp8Q9SGV9I;HWZJe)64AqAV-%dC40?!eQ-$Qon^g#{&7?S zUyt@HsYUw5TRD^Ey~U~;Ixu!4nDWFRaDoo8-M8O(xzm0D0j{%4nI~AJz)7n z3=ee(be70PvN;&b?LcX`hhb1SqjzlC*%%%!#qe--VcD{gM17kc!lsR(Vei)X(x-LZ z_c^htv1zgCu^H3WW~G?@4zVKpraFt^S-=L9t$H^Hwzl3z8Pug&rVOIAt2c8C9Y|M^ zuQ@!G-Al;eeV&VU#~ekij9X71lAacl^K;Se;)$S~$>VPeE%bhwdvek4`U!TJ?(xeU zW7~NsSDDf0TUF%Z)G}SXxBr;~OCQLwhY9E8)H2<@YaY!}CMJ=GnD6eF(FNEw-Mr)9 z$x)_Zye;$c0*eE`%yA$*>!^$vXA8z`O0C96df)JPVEY4DrFIsdX(rOLF71^OL#&OvCCt~n&1w5MIdrt0O2ZM57TyIwY$ z7~V33`d6S*b`kq@oIDxD=FWHWoKe`V&mRP6w^~rP5R~!yDKvW7(eyQEm*Io0~802SimJu%)!Y2Go9accpFWt+rpf!-% zT1V&%MQqnK^W=7BR+Z|WdHP=*r}Y)oE~_CMx$IxcZo5P&152Z|+6|~x)wS+H^QC^X zE75DuS_6xRTG+}~Ks9dRCL!E(2j$XW3nB*rg?lv%QGwIBu27m2M#)YVBzv!2>9R`- zQlQYWA#?7=fRX}IoH}Yd*Y~I8MHaHtE-+gu)v1W`-q<606W~RBu4$cSK%A@Na3HW% z2(G^}E39RheE!d1C8RQ)u)y3{?T=)_j-(bPP4aii3d(K&r)ZnfhPDu(`1Hg>q-KZp zu5UR+@)!qFe8SZ4E9Ua@fwCBsK6ie4FT6RFv7i3Hr<%?d+ZerdABH)Ay)suHf5dL} z{~5aL4}`D!Wr0V}R*P9kwy}#37nX|3*XjaJljJ2-UhJl~~ zNAB7C?P$f*ps38bEE;P#jUGK90Fz9u=*dJhRvNn%k~bWt5T3Y|C+TzX?DD% z=?D$Cuf@V;Saa?*13}%}siBlX{}<2nans1QjaweIl1+O-5JN9Lo{C1)6g1L@XZSJ8 zrQ+88c-JnXz!NQqC@TkqIVZ{v1QN;7w>dZ^z3>5rP`V3M{7?gZD71D`q=Fh|RRBpH^ThjGeheoG4P z;9>?T5T%H1;fo_>iOY!Kt~1bQO2|RvLsgw{ATA^>ogKiSZjGzj)x0f6)4&?WWGplW zawXDt=t!TT9Q&0>NxW8&OC6~omzq$mX2fW65$}xq5S@2XOX!*)f5dx+{OzD#7D7JtE?CamM7woe80q3PlJF#Tp2@ zUq2{YWcv!|YX!x+aF#)C*M^?0Eq&;jJhVP?Zwx0rs^bk$4@fb*r2xKktC$IuAnq)V zRwno5*|w=Rd-Lq!%qPr#O=x;eWQx1#5TS+($iSEJ?yx6B*&|2&pQWonOQSRS2A5hH zF3*{>8JgJg>7gah5)$oLUHcPTKeB)mF1QAjESn$gjcXNOt{N~lQC}QOlvO$ToG+Ra ztp#yf#f01nalesfiVr7o#(^F@LR#w?`Lam7X;tjcDpb*Y#0*M=8@1++ zgOLH=Df$I;i{c5~ifcpeFj$Ve+0+aB9fOGi*K{xwC@-Nz=XciSLWg9Ct9C(c3}-RZV;ho&3?G3;^wJ_d0z z6y{W?RI|JDXbJ{B{EQv+I9I_otizK>ey3=5?yo3=jy1zL+8(jbATcf0Y1`eyXPVRL zMNd$t;-=M2)M_s(KP<7=04-+OvyAOBD?zBBgt4vSS<17pya1#dz)ESP!ugUmg3;!} z9>(sTqwDfo=HgbUk!T^h9KLwyYo8y85F0eb)ildURzozx_I#cdevO}x)`k%@q!Tq} z7>yUXafa?@p`j23swh~&vk-H8Zw{6>$uz9{{Jub@g&%$9mz~PPrO%(<*zd6Vp{D0@ z&iq{R4lF=$b%(nTq00_uQENWCV`;hN&z$pB#)pemw6=U~oXX)?Gj}tmZ(*zzut$@( zVh}()zKq0i2zV4=EDtdFS;$XmM|d@}%DaaG@x;{VOr42d#Y_Fc8a@4Te|+!Ps20|9 zQd9mdB*vZB@iBuXnA6ScAlA!^J8_kkIS0L2X&Oy!tx46=Dq|GBB`DNIpyCmI2Z#X; zLnGm)cf@ssWt(aHdB#+TY4L8xogokDT=RxQIUK**ESjx;689C~2dPKu6l8t3snXZ9 z=t*VV8Bqk(>aH_l0KbebIATz;Uq8SdT>Vld>Q^N>rJSfH)mXwim7sBqKti419btrn zRa%wbHjZPKpI_x{53WB)z(4HQY&Y_PnzevhLQX>}@unT&#-FPlkg+Jf`lI}c1m2=E zL+yf5Hmu){(Ime5)BK7~A1)XyMXxg6d^w(jC6U3K;=`V=<4T{2AuDAto=gnEXlKe* zEE4bZ>cV%J6(>Z*V12KCjp^{j>F%iqu7EL+LWsjcbJ5K|aYTqaueo;?O6jyTW&EAa z2Aa8%ys@3Wf$J4F&UxS6zjR0I*u-1}8Nt;m27WlU%iPe|rcdJuyxJOnMfWNa#l)AR zr1)=sbfzL}Ud?22Df7)LBmXLz@!m9nTs|VWwe~cfH{2V4B72R*0Ar8+Xb!R(s{jnr zw^qkOoHydl2mkTao0<4tcSn#pSwV&Km3vl}(%hfRXBCO42o=ucF1PI-3`J`Qj`%=N zdb8L@BY{~hZcYw}ufn}eT4l@r`c#RZTZrkhL{d&pZ-u<%K^bP~Yu#bv__g$D&CMzE zHuxV`X7In~74Sb`y8GMx)6|fqTOX$iGn?=B9Yt)T?CJ}fxqR6y{*FHjK{vFBUTr1#Ok5~zf?suu7!G) z7V66=qn8Rf)-5*s^wfw90ft4vDnxvI&A`A~PHt2{dUk&Zy)#u9Jto-cz?HlCp z>6PWmzkal}aQ|bHUw<#JZ?60&`0zXwUUZ%_-bH~}Hv-vf>TaM0}`QdVlnN2ox*P4B* zTBgf3A%PDWiWIzjkwVy7qhg6s5zGp8!=#JdPo}bgTN4XH&O+wU; zJ7Yr5gkB=p2m;obhw*v#pq6ku3YIXfcHjLjOuF=G@ka_rSxwj|@Rcd5`%J0sa{WeP z?{r_qM}+&6q`Qk!dx;g`YZ#oC4W$mqK&j{Xl*;wWr!qBmH*Az;csCqmn8U2{|abIQN>WVb2E-z_)w|3>*)M4lDo@1C3bH;%ISIl|`8uL=1N*O{W|<{pJKRBYrNknY*&bl#bI|^ZtLp>4SKd{Lh8NL#a5e zpPUt+zw2cY)G*%SvwmULtREatR_st!WCfR9IgXc(o-13w1k&#R$0X;QK^9r%L;D7$ zy7QdnvrOf2vw;_LK9wpmG&b-#`TD^I$k$f4{xG2~Y#dDg2tv?8Qf2HwDJH0K=yQW& z&Z-!Psmca#8k^X!+^IpgBkJB*XG(FIb8c1X@`=$dWy{Vkh;e*8{Mf3}f>m0zhcFs% zDlOPV(-BrugwSUtt#wU_6q6#nQ;ShwhX|fZpDm9oV@DtnW-iLtTr^iApN-TBFeJ+# zO*mpnrPgW^8X*N`K+EM?(ZL=%>D0{#Wa;AG>Id3%R?GW6AS{ zVYDm_fA>ynE<4#a+->gTo$^|yW<8NLM-9Tpy^`5G=d~P@HT%iR4rl)T4AU)Y?~>Ot zNoPm%WzYe+#7N!ae*KLIuvavuZMS^>PKl)#-N?4w$rA#)KYiQgBg+iQOkk4liNf+MQ069rWRCcz4+CD>Kax7bGQu zBpyujRc&%OsgSh?0d4W}FxEeKzyjSY;858?3~ zpPj!n-f3g&mbL{;hm&y+hU_>rvZXHPB02GF7!hIfJI@HhF$=i6YDIeZ2ZO2Xm=q_jn}$A!rr8gCC$jH2Wy$pmSte@>9i8G zb17ATJ5ekP?5hnx6$L_zRqGF%kQ$I<j3)VB~{<(PqYiFnFjhoTsN zxGT%7hes4CKz$KIsb|y~F(@WM9AZ>BOG&A?)1{o%KL(Rf%NgpK@3CQhB_>KLV6-rz zp(Zq=rg*x$*VlVmtuP;;F9VdPH_L67-o15vYeb+YS@daDoz`dX{F7Q!P5Dc=E;B>R zdFrGoKe--YxOTeh4optuKnr< zW}U|`D1_&61zJ%qp06+Q?fN_1CwG2nE(Ih~N=so-+}(Hgml#LsEGuR90qCZ>kutQg z<)aEp9%+p&yI6M&Y%irF?_s$h()*WWYzx(WnoOsN>QhTt;1iERBTKhGcGolB+K*_h z-&ZD#Vy*2%7{4*7wK7GKgcSf|ocL~NcpxSmh6>@pc&mo&THj5xW8L{EUf9ztt?D(W?M#hEyq3~8}di)btA?8SLG4m{-=D9Jt`D$ z`m}C=PnXUo?$Mme=k~U8=he85LWtY3X}O<&y{k3e^iti0<<5F-F~Q8tEFkj}_kFD8 zYPi_6x`T$@7f8abqcrOBw<5ZWzeojN1cHe!E$9qWd|7g{U-dpls5>Y0IV(TUS(~y5Vf>#3Mb4MybO%6t#Tuf~ zJR$cZ_ZB<_L zX_vy|i|lqCXx-`l1BQS*bxed93mQ)CMi9`3^)TVWkdWBhFs)ngFLCUZifu%H z*oiZ}5$@2KVJGLk8 z{6lnm$S5vKIvEd>mD(6|Pb$M5&oy97TZ_@x*%%-8OkIz7bG%c@(Ba+cx5bC8!BvGZ zJbQvHxw|Vks$X&PNo?3qdYGZy5uwwU4JsxuNrkhJ(V0FCL_6E#&U0%1N;pWi zOn*A@EAI8hYh{BwY4n$^lgX4g$p!~0cQ(3rzoW}`VDQdW82dRh|C&2_&ke2W)ZFmZ zt2&{&ZwQ@2d#wxhrP88)P~Co0-0g5IDseaRbeDsZ10u8!t6mqyhkbTwS9WPyjvVWLo(2b%YnGyQ*PVsIJb$7kL9wq^hw!A<9sv%%0$A8S6tvtr>t?qeYb9(g9;_ z_54j6A5E)>M)RY4xl1Wrwu=kKr}BIstN4Z^b-fY-2lDsaMHlG?rn&F!+0gX9~pe_;@x1sH$0m9y_@}> zUz0DtmA>BtoVLQ=g$A7bnyxKp@$t~KkADq5c59J&KR@l`?}CrrTMpvm{x_sn`y=~t zK~2bZtygjw7qPssmhslQbtei5F+ zQAn$4a>}hutBkmtk7ceL1t^cao(f8L14_854uPu{e5L2#sKO9zRf=d%qs+7=PdHUK z)s?4xk6K}MQ{BfVf*bsp-9H%u@RK8dE}iCsPtNR{qi_Ec5-h!S^oSjrM!bhf=@) zz3311^4m3_oaQD7<}xeyCV8tpZ4*j;A3~i1?+oQBDLBB%|~1w z00`a_rj2N6<39!Q2>5SEI{%r$ZDT-`28=Ro!s5PV<6!c#_tMBNfeL4C)}jfXE< zmAYzF01EkW80(JF7{{=kpyh7MUITv}tbm*wqU)2aY0VcDctfYEz;|S1VR8;TVOMex z>u0cQ%g*gw4g#j$j%Wm>f^wjBTV(sh~JS{cB*<~ z%&0p|Sy%@%8FrM)WEsJ#?^eqcHzbT%%%99Iw=DyhTK+sdx$8*>Os3rQ zuE!lTIj`jjK)v&&R8Zr#z+Se1JBvzNZXwt3v}zBxx%O?Vc1z*pJP#jXl$0wWtR3za zPbx`&jC=EB<%cGQrU-aJa>QX2q5ix|s@dyiDroJydc-Y+Cz-T~p5;f~Bl*bND%Ons z$RiKaV^`ygy82SVmmmE+T-9|3<*L>`*h!!2yIj#}E#EhP9-jK*-0;M{%ipY$i|)an z6e&#Bv2QMXuhLz*VF!W0Un4RuQ#IXg>`SOn7r|h8{(<(-%plyX9u+YgH;?wOnuX z=a;qa*&{`kg3qYn;3;m|zo6U=vJdCQoQqiHOdn))Xv4umRVw!;QDq>!=1UR%-r6V~ z8Hy!FVui+(HVD__hD3@Nz zBKaNnWogJ-vSCB$l6p3#WZAreIOc(y%>p#dUD3!wEKl)a`(JuUO{mI*gnX9;1N7(; zLM6{EBYMPjXFGRovtY8zi5{Qd&>BDar0})3fAm$WmV)OUXO@DiA7Uw3KHcs8d>BC-P8`wsIOKg9Q>B(GTTS3dQ<&-hTFRqH!t%`CXMT)%r`9d0f*!WE2 z&KtRf@U&QJkzhZhzi(V^(#IyS@GXNZPtoa z$o+(cXZwl;svNic>VC#~O`%BH!i`U8w44lZs)Sph;|fBrUv?kf?e6)tw1$C+6(ojd zqJ&8@7yEL--kH83rXVDF?4(>pURk3;aBr$I zpJ)?;Dw6w+=pjY^VvbG3s}Mnb?fLyK9>`ecjqHGNnzW~I^+!L?9>b) zKrxs@Y?(!CTb1&IeGmkeI^UK%?}`FsYZb0mm?zgV@bvA|7ye@p>*``T?wPLx>{lH? z&_M)ogT5Io^KBI+eWb>KsJsZmrl~yV0`?e*Q`&GCWF@E64)p2WS!9iYxT3$~Uk1xm zDY{xj4a`7SZCjXE(-+&{KiyT}Hs(w#(tSYSe)Yb*CRkZSs%rX7He=KgfQF|uaj!Y7#7&oqjEFm^ z+ArrkY~b?B?_!b#0Cr8ES=lIa?l+FpT*D+uq>T(ly)ha!trBooFU7o&uS5+2Tq)0T z&X3if9B*zk#S(E8p_K+|hs*AX4@j^&wtfl~aXr4FGkj0CpE51EUmOb`8^7E_Dsn&I zHJ*6N6qXJ;4@5v)LTrlc(@DUG*gTk?yz}~AhDJ`ptEju(b+KR}&Ma^@U)V>WjM+w* zuNBBY-7}70Unp@QM8Z`|O()TegtBkSa{L2C4B8e-m*eeCq+;I09@fys1{>s{xXp-i z#_~@eK-4lciBa7tCv_*^?k)=s#ej7Xi86l~OWr5$um2%CIAd2N~u|l++^O7AYq?CDxg|M2d7NZV;Nq)R5@+ zdY%+1p(fyFS`c`B_#yXm1?@CXeW^5?I{eW5g%?5#KEKNwqjJ~{uHCwu-`Y!=ARP?q zTE)9IR7UV_!W1?AjkBs69PcZBSVa3YBZU8^hfeIEgom4cO;LTH8PJrzuQPOm%n2N% z-MbIcIGg}(EoB&obd^=l=bNcOY+GUW4*hQ1eZzs8O~{1HsxZdzN-m_f_9l)MiGz?0 z^(>Tp*90?R8k7?c2U2v_db>2~IjdDyuo^YnQ)V2PY=dDXj%~T~Ts)BizNc+8$=#4w z#;^Za;OG|drR@bZ6F`o$NZs~mne*SBMJoKaXOZ3;WPCr`oki;YmUckqwe5f;g8-%2 zEtYQ8JcR@_+UA+q=Vx9oVv6&g;NtflH0`1@jWc?fT16V z5onUwa$kyszhA&lgjwSaJlRPOH~x+Dz0#g*(Vm5ki2K7gG}4E}5@+O><1!y3U~yUE z>OQf=*@b0^i~8yQ3R5w_sN#m*Y_EL`F?mmPRnJcRTb|ZS7Hsqew+_)G)vVUNhQ1+< zswxmvLn(^<)0D|Mj;DB#sJV*uwLR9r*QZIw%ID9;E2DqqU93Bte3B0u%nGObhEYb@ z;VOk*&bU4-zeg21qx!L%F|Np&gv2@@X>-{irYBKK%JdXZOhFQy&U%<-JHPPHN}R(s z&#G@p=^DQ71A2wO&AeaCYxB1WKYFrzP`4eezhp=DX}&wJh9AAMlN<7reos=&d5yHr z?!UU)Yc2Ayj{KNTi0KWo0sR^1Yi}3b3+x08mwL4 zw$}F;3s-YwVUA`itC-jHVwd=RS$x0SMMs)mHRj@N1xjxcE!o@zg> zH);M@Fc43d&fBgrnYW6+tG);ywTi@bc4Ve^{mvQlpvJ3}_5%N3qa4Rz-Ybr;et!VR zWs2ejuf+?Vj~A@>owwJiEDaK|67KW|~}c^6*1u-w5(;_+Dv&b#Qm z^Dm!Y&Kw_#KYrl+xv#h0Uwy4!31|Gt+)H2h=8xz8Sg(cU=4fP1{(L3Mi z{=U+ghU6F{Z%cVeG<>v+FonauSXeYRvH0M;ioqQ0HeCO)JLKgrTPp@5SmF(9LoIJ< zJ}qq6qN6GK3vg7OcyL}z{@_msztlXo)3DVG`@uQ!PH%)CtJ^EDx!0%Ekr#jYqj+utfQA9W>KY__we@xNUWQ;KnMPeu5*mwd~ z3jHaJ5B__c-S*XPQOzOK2fws)2Ri1Rm(S1ZQn5Kd{JTM$J3aS=nTcG!eO58=^Fq!g z^?2Zitnr5*Ql6+g1U>N+sc?nv2bE@Dq4B`4(Gxm-5q@k$B>d>YeO7-I;gq6CcOGqR8Uf0WC%G$7KcPUtavM^(o~LKg?6LY|R))GjB9d$5|(FuYp}&Dahcx@f2qVCwINyl)E!1XEv}{^D%rX z_cVB>oLT1_9b)A8(DwBgZM9CfwQlc4Zzru{v*(NO48#KP9Wj~~!UJCUB0TLyoBoXd z_C;xU(APoMUO{4b2D8PqEnkEOJq@X=ZwH5{fnH6G_VTtN0t|FHiEH*QfqiVlw{+Cp zv9V{GcbZ5A!A-w>uU2SsYIJ-Ov)@7}+zxF~>c-V`?DVPBpE6EXjdc&g9m-IDfu;Vb za{moTzpa^c(jRKjW=Ov)#afE~Jt5wkoe)O?wg_=lsq?W9`}MeV3wQqp_~|=*;D`9Y zdoz5l$VI_(py2NYY-dIxTR$r$8WQSfxaoPcL9zKqRx7-SIi^h{4W|pz3YWHLjE>^w z*I!zg!%e?}fCIRj3j$VX?fdefnOR_zCFK+rkomr~?>#~O>U84XWT3aCUkqUBU%xV5 z^FBivj_YOE>HvJ++c7}j@=`Itn^5%|mfD~7-^2jB0|uxL62mjrl65l-uttNJ-tOqs zUYK^PO}m={4D@R4`{E(D0K+Es*kD5HiFEyc#JvxERK?Z*pTDpmxIv-Dignefi6ABl znpDwUNZ_t+Bvz}jBBT{D2CFC=#TF&FiDrpgZL!u?+lRLHsqJH1t=9j45)p!06}7df zt)jJhuZxQR0*Ge6@6XKLO@g4c&+~izc)iHpJ2Usp%$YN1&YU^tOz(8HU_D@I#oWjF z?E!qZ(}g{kInr$Q4)llqvl-$oJEy}3p(Zoo`rvp*h0*^(H<4-xE%D!mn6)#j3YK2f5_&@mCtnR4{jewu6k`&tcY5xdoVl) z1w<3u0;>q({x=5K>9R6}`}HS~NsO8zTXagcXt3i^s$?n&avBOlKYLwqAp2fajz%Q=n;@VjXzeY_rg0So`z|jdh-Pp zE*`<S9yrRGLWHU`i5wjt^ z)Z)))n3wgihbJ&dW$;dstTyQ*q;2W77gDWrM)as#<<8yENe1r2UW2ZBCG3!ai8YI_ zc+w~shFf8SqirvV+6EXgL^9{;GP_M=`dhz>Fgee3sdo8glFT`9V7B7fGe|ODipd~& zm~HTIgap*nK9gu9oQ42wdDJNHRCeK6wAo?76R4TErI!ss+s}hoGM&J-MU(z^%r>(FzNv(@qHs|HUt&|I7;plVgzjM2>wn^9>oK4mh4#}Y1oIM(@#&U9tQG1$X?T1YAC~0Bk{ArSPB4v_G zDg1X{#P2`7N1APs@jr~IMAPXy6)ZR7HF)Y;=}uN8xw-pzS~PpQA=%S=Ys=zDN#cL_^-dc^*V+B4Y*M!8 z2Wt&Q4i@q3(tioHu(<}a^StMH{(Q<}PI*Dh4b2(XcEhC2noofo%Z&1V!T^1Kxn}P| zGwys+`aXt#uhwYyR}zxwds^{dcr*ASZ}xiHTJ@+b3l-mWUVdw7R^l8*nc{0r*)w|Z zxq-EqT#1b*m&xdL^hGxJG0YC=ugvymvy(+@W{6-iOpZCk5^}U?ENn=!$xQuP%li-j zecl(u9+J77`1as|oBoy^xcPSAzQeX{=)m<=+ktzJU++-ZCyhb`Gqum-+3w2+5wum{ zn>Gz5XuH8T$%6@+@Xj>QBxecQfNn~zvJ~t=kD_4Ci$8~Q$6y+nrQ8q~BEKet^UqsJ z-y}Y%xf~LDCXj4yHL~n*N8}gXXgG%5uh1$R;mQb~F9KH-XlwC~p@z>Vnc3d4b_l{B zqu9#Loo;%lx$|SQy3X?9dD;*4R7Sdls9`VPFmbt+OiEK zQE>FrwxA}d#Ew!gLxvc$k2*h2ul56GhQbwSfM!2I1FTxgE)cVISWXlJn#B~Cur=AV zuv#~49&P4zn8aFdCbp&8ny}^|C%2jEZZYSQBv`>x%Z5%S%|a?+j|D@jWFtaR3S~|@ z@%dESE37Fp%eZPWW3P46SgO~i)?%&!ID0g4n++gV$7kfcMlbl_a3 zoz;wCDBKyx{rFt09cF{?XWli;^QYg0dFr^0P1M`&g*6{#B6s97c{_B*K$AL^KQf#D zHIrYU{3mSwg~}h3%|FcK7b^dEHvdfJ56|ZBX7Y=apR)PKDPL!KrvCS;Rev#d+!s*y zSBHH2oXHzTo;;!s7?O9d$s0~y4S6NX^Ns4?c7JB_0^~{OySZs_doCxB# zH3Bkr%8}p?dm;8w{FlhYj9^$MLi%Pxuo*YAfC<4)oJaO9wVm@UvHY3$zw*CZ!&&N` zjIkv&V2)4lR|iZMAlomB0g!T^h6e@IdatmN&2RzHF*+A_|MmcD3#X;4*;ZkHjV%&q zAjfp&JE?{ZbyeLQL+u+2PA4?Qi~v|Wp>sjrac54x+{u3~gJC+92Bq{MoDU0Nk zsJ`7NjZx>6^Iu_M+2b3^$uyN3`?&pgp&Qou5dz<4?X2DO-v#nzS#y<(vJ%GU6tn0} zcwjnRr?RBjFrue0y9uR-Vcpkv`Ovstq7c{J1v5fBayT9AsQSzMRmXHbHvZ2v++_OCHdnw5;6e($z;Hq-zow$q+$*ndK!EFd!E;zehGStAIxZB z3I%i3vV&!3oy^IqrPVr`*;&GrA6xZ|_hU7Pv=G|E?#*&tIGJT(hS4tys{7F@8I^xY zG#YHzajVm{OKsN$mJa}k~iC?Y@{ z-+^FXt%CnVNj(cNGKN@9SgUv~%`RvS3fEQLc+ad2Ue}#AN~uzJw%eZ(HyPsJXgrfb z253o3!8c4R($^T5hyRQY4nrq0hz>X~f)4%{@a_>)9H1)&O8H;GJ7*|7G{XNGyg`Oz zxXk=JrpeE*#g+rpLI#Hd z;;w_umj4%+p2hxa5O7$_{~9yPHaZBj+j*%U^o);(GR;p-0`>FgV1?c7=>;oEYr>o! zgOk0AXx~xk-X-NpxnHi_Kh~`<7Ll01nd?Hpm@u0Sg(Kxd*1QX`hVUibwswq!D1p&W1wk60kly*G$N{O-+0NFKD_hbO~$%?-%n9bX}0Yu zUeJ1}sp)!CB@BbJgVQiLWw5-#E>*9T&OkvXm zjQBwba}5)vNTf|)!U4zFbSZzUeG(I?So$)i&nkH)B^ie{ev;Eqw)VBwJc_n z!3fI<<5dW`;+bowrC8>41*0BC=ucBbj-=C3#x20*uM!hMQT`wkK@*kj`B(pUi|k*~ zG7Xxd9FF~GQ`B;a&2Gm~cv{r|Bj)q+ zG(B28AmIM+6_He<286+2(2HpGc3cpN!O5`HZP^{ajnwEvFCA=sl;{n3y>BrPgFQQ5 zAwiCkUPIn?E*{1th!tPT4$NsZ`?ZY&E(YlG)RJjelSJ@P)mwzO*!4;FkJ#^O?$s@C z4Mf_Wgd?4Se_b8cLUkh;K+Xh_Ybt6xjj!1o4tr^Vl~H!`F-aFKg^@=0Ifg@$N|WRa zjzwf#kC8r{ai!Ye+v(q`XKi^dm7jugtRWD<++XCI^RlLUn6HXIA8a>UbeamJ2vO&) zf`t29kfZGp1y#+%Zn+IO$Q+}1Y`2dA3>HJ?rWA~ey+;{(Or#CSrlB3F)MV%_l zq~KB70UiSm&!&+{-&zL#y^_3a?HKQ;1F_`9G7dA&VE8K(W!^*^;J`EW#}7FfB+9%K ztbJle`{WwMV|qiL7T+VM3*Sb?m=C$Lki>~GkH6F#ZaUqcNk7cFqKbX(;j1%g4@+2% zf1jXMZQ>cVEkzeq2(4i*fz}zP1}lDB`mV~|UDi_plGIe43hkI5?YvTqIxXj1$rbszo z$YU{pFV5SIYD%i8aTzrYOH!Dn)tZbTpAG# zPXB=Y=qpZeI?mTVH9|f&t0l~kZv7^1GDi<|{3h#*l=wKmbwZACMpC=61-(WskcQ5u zsBvo6Axflg1`;*22_o++&9ALV%d%Q0e~N|Lk~e9znpLrg&{TX4zg4XI8?b;p8kws1 zxYXo-DYNH|LibJ6cV`c0^Ll6BwNC!S&OLBL{aZ>%qKk^Ey5Ts?fpP(_YzZ__H z@jbNX*ru`_-SP8}OV(~Hjb?h&ui0UFl?;XcVT`DHxI2ysSKras3OmrKy`k?CkLPRT zAb>`kt@6y`yzCLNtwGBVimerI7{%7Ki*4-o_wIqvQd7_Ty-A&@)C1?Z8}Bu#d-Lix z+2=3Y5+hY&)*Sa6cV7)kjVyK4pYWzR<)j9uYiBX?JIPt)PGV`O_(Ed19t+|2=7KEI zO=6v~F&Fv~hfqTIYJ^OkeK-x)cVt=>d5ZcJ9EyGPX_Rt0GV$RK+pOe!CM?%gZ#6>s zqtCd)T(2|fBKj8KdYzNYhPxH&cH)@4I2%t~+>6@``rQdyS~;z-@OY$ z4K|YR8?XCx{)M{=5q~E1Q8ck8klyH{VDN5t*~S1;d~I?y#EXaJ9p(l&6Rhl}vh{@w zKJ=WYbvgQ=cG&!DlezOINb6)-lK#!TXdC;2woeL!?HkB-;E4_H?PG@LC0B*p--<`u zwy}*}LrzsUr3!-Ab~~Hb#qu{fsXNLx1o$Ay^81E6`fwhZglnnO{k3_CmtoWyh^A)j zLYef*JeW;#BiAVyme=R5KaA!8|ISq$q6h2N=K#zH0M2^YZD$*eFT^gohauMs&89}x zyaFJa-0RgCR9zRE6=MVKa5!gCdo+KOP+sgNw>RZhCf99MkQcy16p2o z=MtBZZ8wxw^^E&&*yh0bxAn&>*v`5qXlof*nN@EpTjW#D&m#wi)uC_}V>|Plbfh zI6R~$W}BdrCAQ|RJNjw_U#XX-u8y~Y?SE9Ix;N+HC~7m>B;OW$b&iI*n{4;%yAG#e zjD~5T^}W}nX#(P&H;kFb=s0#Hz`k*hxl~|E+y;}|ZhE4=Q7YF!2JTZxahofJ1Y5C$ zCR4}xO@$gdE%xK_vq_H!r38-q^w$UTwMLfRw|3c0hzpjB{v>MXO5_u6`!GLwivirX zYGUx(p5*!-cSK@CexRrGsEJ0bAi8NqHT`9jO^(?4D3cC{rwDkhMn zrZtth|GfeBnQMvIX0T)b1H_n6uB*2_8$tvhNWSQdSfyzlY`>(8*#K|MXNhUIOeDS= zb8)m&vue>{JQVZLTA@3a?%5kO^RLaRSgVj6d5Ds0VVuVmh(&p2bmRDf#=e_AQz zU^ZX8_A?-Sa{dqqvo*mqB7kVpQ?;Hzsl;fW7V@B&?2DzhSmM`FKpm_+VlMgzD!o(W z`vfKBW`LPRx2=R0tSp$=w(F-69PF@$57}w%M)g6Kcz*dG5|4(+RA2aVf5uzIRwAN% z|HJ?_5T9;_7`D%GUt)8seuEIhFw-v~nxy6+4A83D7E^64Q8uh%rS8Bsyq?L*-`_<64`^&Vb<=F*GGYtN@0|p*T zJ{3!@aW9bOV0ikwLkccz9xQMtD-6)$_@+1K0R+kpxTQ0m{SIvwjC=wTPoZ# z@^tSI$WLe6|Dwe)qReK=x=!^oz%8RrA38`>w}tlWF0*$r6V!;cyK??wxXswFc(FgD z(e&1mY8MG)&E?Y-)>`4C2y49s2NQSXrhbLB)}oUQYfaPzMcUW|0fakmDcj0#CyHc# zOf(1mBCXx>j!#c^c5;s7Rv$qYLW^Nzti7;AG&ccJbvNLRosJOI#*3JAc4A3BR&NyN zp)%O&tOnglv8C3#?gm4Xz#}p5yBZqJ)tlN$Ur!P+khFNv?&NNM(QS3> z2isPDs$NWAY*-^ReB}+y4rsz}t(iy3r<@*-0YlEvSZ}{Bw(NeoH&Qln<^Fa*g%S&} z_B!GlO$#LEC`}Df1B{Y^-$9!RCX-628#kL0n!-b>hN1fzhE^;bEzHzQ25n_+zQuHD zdAk{*Y%B@kMT(l?x3Vup`V?Np6)N2i|Dc_smd2Sd`+<&1=)yYH zPnod#W0)o{EJ&7V8p>J%WwE^vwg*^hMc0j4yadN!4lw%3=A0taOo7Y>39}f(l+q>) ztTNtQ(@B56-}qN%FL&@Bw1=kkj^}N#V;YNFdpB(v1)*_~;a7Lb%e#5EVEb^*br!;A zK;n#($42HF9@VRB`ISsz=kl-C6JiL&EL7d#bFqFk_y#q%X;!A#JCUkRf*pUVIb8v5 zWXzJ$<(Oxo1usZag{`jeSg<1$3MX?R6EiDM;UPCGKVf(6J%rLj{t69PY0pK=I&(xu z=ig#cVw3L08(HVNj;!rEue@u9&XZs==T$Q04*xxSb}?gf1hFN@B{WXurVrk;Fp^u* zNYJ0Ew`B1gGyD&7|8R;B1TY~#eW1Q+QaP5AETMn;!`w`3G^S3n!Xuti$}$Jp{k(p! zFZ#FEnze^>YQJ}hD)XsdlcOLv+tfQYBR}RdPAM3lm1Miqu7kV! zZ6$|^c#~yaHyWj}lJ9yMd2=nz+3neQ@@%D7{biF+V*v`&gJBk$o)A zfw>$ofD?6AqS;~82Mck*4x_##wJ94$zWB#9Rnt!gAseVaOZ9*l*wclzT~jmPzso0i zSWE+@gB|;tZ)R&gz2jcBZCGC7C{9pi9Z3izD2ITXn57!U23$%4oDDy2HfdN?YOio& zW*9hLgaZAHEu=rNs&&&L zGmk{JbDlNIOQ{`oyaXv%yS=NyJZyAesS9=lVSnDcrt$B%3qKl`cWVKt4yTQFJx?e? z6*BHxgl#JlFTd7Y8VivIJKjX1MRW-ZdbtM03{I9cSSG|B0*ocO{w>eYUx?b=51Cfm zag!Zzk-Cq;I=dpvMQ$-%1aRS_F~aK^iTNu2Xli2$a*-$Hm~iDl=m*hEqmzsMpx35> z*bjPb9*F&**M+)ZYcUf&8~DLtQnd-?P;saEJy(*z#%SWTEd(p7uld)auN>Dkae`BI zt~{N!r9a~P5G${Z+@=~x|HF95C0-@^!$(CIj+oXpc|uE3Bk>=)xqVrjAN6$2(~I^z zE;VXG@UEi+sZpz`h6oUEI3ozPy0)NZ-J;#2`KzY|?>u@!&xS(O3nnYe;w8LX!w0c0 zdr*-*Dvb8LRvpd%AXYU`#~H{{*C-~%ys}1uK{OGz@E!Lbr0^?cB;xlxE-v9xi%95qLKei{9hQW`j;OHqUxEJk#kHah^{9V4GIO3Bnm{!q|-LP z+w*D>Gv>?56%6Fj1&~SsYx4`Lw^Xy_`CUKCj4H@VnhZkN?jzi`_rxYxC$)-LLNvR~ zCt{zmS~zG@WbWclGheR??`M~hBg)ptD#0O#@ zyqWvVnMS4V$Zm9kaeoM9G^sbYyTpMwb} z?A()Es}en*y;ji{W)v!S+ULffG7FYntU1JFTW8t@@KRq3ke&Kz1Zkak5VGLcCcPED3cK53FQJlhV zTp{6>(R1A18>NaE*t0H~w&Ojkw*nbI;>rUBl3ry;LobNH5c#@%h=KJ;7;vjCE(MTc|i73haq4Zb=W2nk&s|@Z@`=!YUw!gx@L~8Pph_gn$$naTti(`Ia(nwz<*=R$|+UN0VBs7lu zO&`KUAhhJq<-EGZ`G)(aA8XNNCt>h{<&J)31i>!|LRP@4z8BNC2lPyUqC7Rg#Fz8Y1Lbr-DVW$CI$QXMMy>!Hu;MbyZYq0Z9rr$KfIq zST(RDRD!?_K6Ion)H24X3kMTgp6f}@yr~pgzY6rKKc-Bj%5V+|hTe9s>(%PcbhJ2h z$D``ZHXuy>vE(Q5R)YrH8C7SX7@Vo&lpcaJ2b_Vgm)z=BLh$Lq4pD*ZvUcZd z*))6z=8aueG+6s*gvC97y(q7?ePVtqL95v(_POs+fL1qJ^Q>EcV9m40bYp7}$nHa- zree3>DDy0d-1P5SUuev39_$({#-Z4gWBu`gBHB%yE;ZMXNy6AD=EvP z^hlF=R7rKnY&MKt{|o9Klfujz2Fh@e3US#%{B8DcvWKu8uc|!5(qt^US`hoxl@=6V z-b$HGGmSJ1QWI{t0edbopiF-~NIYzL!^%R-h?WiE;;^Jo)Fs1`{Bsen38hmuq;l7^ z@~-0=Crqovq7ly7&DUl{zRH*>^W{cTKI4Qhw@S!*P29|T!Y-GO z?LkNG{7JG=xk$azJ&AyrGLvi+#g_P_*d(?YXg$f!*wj@<&@%>Yc6LR!`12_rkOkTv z2&IF0yPz#rnq~=C&l#QT`Dsu+NYVkAw6)hzF01O)SYLUk4lGVj>zdF{<&##K9YZw& zy@y|u4|tS@h!Y2rO?Oi8qH=WM_2y?EXuQeqTI-CV7uTx48lONhbru)%73dSyB}-3?hQhm7NOnylUfM z@v>bOi_0uM{K|*-XU39~BAH5{O#7}DKrw1{bfMajy4E)JDq}xk%wV5-L0u37XGS-% zM51oLKp!%>jkq&-6ISe9NS0Q$5}}BmhYYGPFXC5tF4wz1^WBYiKxfE8@xweFjOaVV z5%|umqu|xz+u+Co5iwlw7qR#|%Bp>~V0cp4ykrYu0it))I~a^veRo5HqMqDi*UYuS zjtypXjR*koyQj0~6I?6C`KJTxO_>3>`etBEU?0$WyS2Ybamqk0>+cpqu-i45er2UU zY=$9wNRaMir?}n0WH|$V&;xwyCs#lW93Qy-TaDUl37-vA{P}`(QJyyeJ|+(=R{YmP zb^xI}a4J(x2GEWQ!B0q7OpX}%5>aM!1V)ed8w9&EZnt|au?E8=+{4+_E2g56oIt*I zA}kSk!Z`E38ytva%$!{7znD2`5j%j(EN<0HnB#^!VzvkK&wuf9S*5;*Uzc5bVqdpWMulR9PkT#;Kkbmzm3z1&+1UYj(`tz2ylgi@$)Uf zfq`4;nErVut^l(@e#O*~pfD-eAyY92rqSU3^7Ua7U)%TbGsDD!;}J1Bi%yF*{@Z^-iRr&_GXWsk`Ic(9?kPkACnS>w{A`~3=F zkE&?FrgA60AFJ9Qf-~q{1Hnf!%RRb4(N}}*FOozIE&P7D>WAmPhXcWm$9Vv~ncD*1 z-WnOK6%7@)6kwLSo(>oTy%B?MI~6NitD?#LU zZ8Tczk!%CndG;m)wC~~a_^I3->2UZPB9W8#x6%tVWNO#I0awnHMSG$(Zn+}z!xNj_ z`}QyrdzK~`IvJmO8xWnqQ2%YAz+=(W3CvJ7*qW~>yOBt!$et&MI!`WZh(2_<{a2X9 zBodXm%Qs8Y8;Vumjb$q}YSN*-?v@z^$=eS0D7Y*{7d*jGzN`C(E8MCVQU90EbvAR5 z`bd5L#;OeN3E|*%Sl3%^zW8cDqmg3F0cmawVI@@&#UVvzRy4SX&x-d%gZwRBV66?f%KQ`_inlk^q!rCGIcaDO_`jN`?EfX>g8 z{qAlLqYO}Z@hzsi*tGh>o;`MsC7T0KiHJ2hy<|B<)j54^EO}-r9vQ**M@$X>a1yIS ziW#R`q}5f$(Zt65;N>e+fbR_gYOGo-ei;2(FV?SAgs$}nU2d?#E&&p{)CX|0Mg7^p zGjSBqXLa+0_`*GEm{xz}KEMPtedu#fQq!qLWu0VQNXHT?JrFpqp4Fy~xwE?5JJZYs ze{3KjH6m8?VX*z{1!khrGTUC13p3X9=Y&tSE!s6>i#ML)LhWLMH$x_$!1XL~c(Ja- zwNKRLGf6jAv1zAdBJ$8STI6D|1etUK@(Ys5Nl*S?lF4MC4JDKGLq3^2ZQA<9$Yhln zm(L)RAE*EWXb^FfMSr{sGC}%8p=!tkjBqskX(|bQCYAh%A@Ql?5Vic@rILA2iPi|y zBAA$lCR+1${BRhJ5s8%naSRiIe5zRx$PSz3>nXBxB|AwCQGev7(NN;?tEK275E9kF z#Vjqgs>^*FwnV(kklAjnB}HbYYyw*f=D4r%Wi*M`N$)WDEPip)RHUY^|D$nIx^f!s zHsy2NBRddtQ&X2+Vp1t_ z;N`#5U@Yi^=dW>|PCE-8Fd>iBva*+OuQmiGr25Y8>{)}qOTd( zvA0`_zu~@%_i>Z}8JQNd#L}qh_S@79zO*ANIx#$ zV!T$_qlV%YPGSS{pA4P4OA)@(`-Iz`2vOy(+-Y003ZIZj{*yE!{X=;mE6i7F@>8<@ z?BakXf>G~Lv#}xGPm`nsF~TDiQDao0Btw2{3yEw}TgYKIFtk4oc^jBj)DiH)W{sE| zV7`sdYn@`+(?#?bfpS*@$du>1!2o$KH9#Zzy^%~WfC|DR7mW4ZXG+F!eXiElTam(u zkaIrb=+Y9W=Zzv{Aauo5FCs^cmxFXetmcjQtP{GH9FW)kXuK-YH*@Up_`%WC(ol54 z%u+7r=!>Q%V`Z@>q^?GRZDe(}lY)>Y)YHt8NX_cn;0!l1a_-n@f>1fPn1=IdEqeA> zkY!YQ5GrI38#YasMPIc+3a1hi!-0Rqu$ZVEAOgDV?N6O_E?>pUy>a%f$i5A?ZzU!S z+1vm_9c+K!Xtuy_4uf+fP6^}NVQ^qb4C3z9hq^{EwHWH*vb^N`4DnhKlS0gncYlEh zpn>*Bc({?$UZQ7X!NsUTX|nmHl1Tm$tn z)b!wB(eujKNX?qs;B;b?y*@HB;>k!&ZzMRaw|2y)q`9lOAl$XoNt_+ZGuJW)og|^2k{6d4-_3|0+y|Wu z9wY?xSsKt83kNmgI5k`1N5)dkXmKVWLF*hWeh{p*ZUcYnH*rG@DBy1qlfKq4D0kJ* zqylo&k08i~u$hf7h;^OGX61MyXt4eot_S0%{l&UHB~Y*BhtzuUFsJ7E_#xbZWb(P3 zYHXRa;9Z#EbIyWo{QNDt;JNb5xQ2&+1aq^%xbsAX>x0v|b8{cCRhh$?}VRd`GB9O{8hVtWHJ8Hz87-m zr7j7{8|*)t*x1bFld-NNVncfbspiO4*-mS+X5@WyQu+?;oEt)tWwxhGB z4ze8;f4{k~wRn@02@|W}gp$4<`xYq?zWKuj$@@8))o5Z=S;qT-Cl;Z-yzkkE60gHP z?CLGyp&rXpt^L0O-C`B+y;Zw--y$d4HK(+1m4!W>04nDZ$HZEp>b#DRGVX-iKFAOY zB@|80C8Wvu`$jrvhP(+D{3vg41H`m;gx^{%O=@Fe)d;U2dN(|~zUw>=CgzmrkhJ6* zT0c`ubfkc4Br0zij>fosr$`SDH~YNk)XXlcj!$%I2-Xxoz{#wtPn}hw=naTm?q2kR zONkDx>x>`D;=8(}KKZZo6WZ=o`{d}`>xIQ%OP!ic!7K7w?|=p9@K0>W zF-}h!iC{+yJrc8mbotg>&pMOE-&xA?@mK2Y2gD%*mF;$cXDqc7tAbv?B>#VBFu_)# zw@zzXV%2c3cl*yQ=*%kbcjV}zZxF}48bI|JZ-u@|tT6-qkvi)S!dUMTa$20ZnQ`IO ztjgMveP2!I%n<;IYE%LNO5o|pQg?>2cE4S<^sNzHL^CtM#KMv=ufdL=lEEM=3~KMX9E97Za*<2(JC<5HtO1f5(u3G(CnIvtP3$8(3#=5SxHCAOK+@X=h*)U(B5 zbw+f7i^zi-HyW@WtJ!qXLH=kF{t&t4F?U+K9k5`>TB?;!hr@D>Ztg2kH_p3?m6nIm zUcx>M^S;A_K~)#DvNaPQNeA+R-@8;$d>rlOecdngsaYqgj+i-U3v1>9f26m+g&**~ ztWOh{1=#KP(&g+JTm*dYZY7vu>T#-`*VIS1qN%S@_-`^HLGb@eJ*B22p0Ew}e$88! zh zR08Rfxj^zRfK_#8zxz`9C{4?T^ltD5FmVdHR-_5{_kzuwYf{0Go*L{YJT>Y`ctV2! zuU94lhF>hOoW+Cj8^euVW#hujmz3>MOM%ilHB?XI^)yx|oS}Nb(FJ6YPFfdXtVhg` z(BjdN&Lsq*OALvfhM;H##IC05NZ%uct-~N+U=pc49O+wa$+-^9EiTQ(j|$$kxN^Rv zC#@D;3+X{axuH3?`j!u1O)mxS5VL|)9J!X`2>+xk}J z$M@2Hz{snXd`m^XOLub**Vk&ClibHeTw$CkM~DR+16Y`B;bAI#Sw3<9iYPur3~y!= z64i`_2CV6dxbo(U;L0`YHGBZ(9yB~bSuOwSELe{y{+fh?5Zi|MzQ?B~A5@>3NF0;R z?pLY3#bKf%@b|rc6Oy6Blt#{ha~L=f_BnELq3FZ7br5XT=Trp_bZBSph^_f@!=9Ul{7H^Ip8|^~%887RLAnBs5 zx+LT*h?FwOlW{m-gF5(C_gh%XQ7T>7#UxMk27CcGJo22e>HBMwt`WqjEGLL9>!-8f zMdOp3dfc(ecYC~%_e!YS_vw9~OAb%YDuN(ZHLw?+ioXFHk+TkG2aCVOxQm9Mf7!;H z0fU5TZa2j+@!YZ?H!7QXt=k2pp1?uNc%L^mI%vMyD6f;w>(0Ukf;-^jG3la|DqYky z{EFxd`GG@Dnn;Ou5gLez79yT#c`SKBW%9H}%{|Sf5z#~t3Z7YR4q8pA@bYt+e{3U& z+IWXC)+Pcqm&f5kIlYHqC~@ z9LD;Ey3?9vTO<}DhEEG3G@#=tdcVR;fw%(??Xi*EBg!chuctyt#3suIN%!$A$64AW%e5WEGO!v*F>j6=@>F_72~b?l7eTO!*Q> zdt!u;D3Rn`4gq@IBUWHSGs_5h+zY{d3o4LwOpnY?FRth{V;mjdnIIJ)p6HH^{v2V1 zNPv-?%I~alzx$fpjqZ>B#DrY-h{$CS75c&H;KsSDC~Aq*tW(WOv+wS6zkMbKKXnXC zCSGIO5Nx-~Fr!gNUri4ui*JP?oSEF&7{qURCM@>iQ8c22#+0Y8sKuh4a@C1r0*a|V zzO@{;rX{UxeL4E~#~Gn$$T)wEQA?j$*ZvxpG{pC_=u6?syE_e{Ye9TCj4@2qC8NL+1J+%=OkY8SI1W zmLJ=CMqPU*a#w!q*AX#Tm!`vJ6oCg=i8Dia=>tBM>^pP2Ddr#LnX@OA6C_Zxn%)f7 zC;{Gt6b!iUH+`6)p7;m~>L7yMZEqpIUReDsAcUV*nxWr%#lRbamu9OV?0c9PAl*H0 zj!3+kA9y$(Nj{<741RrVQ2X33B{aChH8Ex~Pf;Cm<&c>OCJwAd5Mca~n@5+D$4~VBM7~jO05kb;;!WckIQ_B2))B!g{~`vK8n@+8?d?VpM&aqq zD^cPtN4sV*!ds2?_<*0(yq2Ol?rK_xbQnt=ux&SU{qF`Av@>GCx;Fvz^50sJ1{K{5 z)r0%W-|f-agaXnVyK&s0gcfnK#e&_K$`1Hg_NB1Oqm{7b;Du{^4&-ij3iOh`F9l z=xE3Bv_q}37~1@Tn!@o`l50lOQSxUCrZ8xl`Zt?@jPf%i+Lmq*^whW`vPBKDZ?Q$c zZHlsG>vJDn#+5zV07p>)WpOWVUp{C6W-`=Z`HXBC_jYD$v};$zVZNl1FwB`Xy+viV z7e?e`jYhHzF^|g9b7{r@6bv5n18pm?%BDl#ux(Bsu1igdG`v!3q$~JpiN4CAZqxGy z4d2OilWn0(>yZJN$VCiKK(l%ZGkAP*5nK{;HN{GjCygbFKlg!Zmn=l^14@u8 z%G^CmIyk(E{lpKK%27`IOM-s6 zG28hrr}c|Mr+a@h{9T73sMS7@A$-MS7w+LK=s}0K$w?kb7&-E^_dm7NNXgH=ien6M zX3CM0cc0^4eGV1z3A@H4o%|vB&vw(F_lub3~U zmsE9kPG|2sdg)#&aeSy{7>X>`wbbY;Q{wo_>wIM_+Plqw>R`*x~g+o5}Gu^4aK{ zK59{B6AYZ6W<~Tj`HL2IPG8L1Y4h1PByVq{;Vr}G@YJa;q^8;`?vtS3nK0c-O`UAY z-nUXElDA7lq~Kl#+#aAjmY>l!W40}+U5u` z_l5MzD^WUrtqSN4CF9xEo0`A>+lpy6+c4RSTfOI$~M}xGoBXL zPBigG!DjuWrtVH3d0S`-F1BgcJ!62j@z%0y1Ou-`r_GpS3tz)q_^$kL=Y7}n6ibaO zd{~fItkegiBJj%xjyJ%rw~3v$ zYbcpRcbm1+TYhf3yWx+JZOR#IM_ex0-@?+q9)mnX0?>mh4(<6EC&}*YPG?+Qc8; zZ%S@3C0DpMF=b0`;tg80X^}rPsy%rU*pl}J^po2Aaa&ME;Lxc}JLp~mF=Ps^D7T6E z&?;Y7@1ro=q-7>YZI%G$EjwMDY(U^9r%H1V;+rt!I zQNkM-wP}C+P=f1<5N}ShtK23|v;`F}nptntZn#I)uL$ccnQ(04Y+JCw6l}C0 zCf?|f0z*;t3R`fYDY)3C9c8O-GX=XkZQ^ekCaSr{6ujQ1eaRMFX$#(L6Gx6U1#dM4 z@3v|A-&D_6ben>=ueFH{w%|HbaJ@}?xycmVU<G2X6& zB~d0n6uiq8Ea442+O$KUObUif!9=-De8v{krODvYrk$42GIM)aZ^G-_6N9$kHM~K+*W1Jo=9-c#d21=u z5_YpmpE|}AzVBAvV3{`UaZ~obZoNU5Ht|4PaGfc*-lpAb3vRFlU6VMj#1vey$rRjT z(+)BnS|K$HJrC%I8zGx{u!&&yp-2e!-7itmdicfH3 zUFS~Ngs?ebi&5<^FPea^akx$v8WfTW<%n;~k1fG_F@g%bcwN4Zh@6zK)_3gTu;leQ zM#yy!p)O@Rg4iU*d$XXR^VJDX@*}GwN)?w-&K>?QqJtpfva#dtnOS(d)dcS>8k5+N z?^H+~k(##2*&kJZZRgQrYCD(YmpCZy%em?mt@&D~Vx6=31sXeM16G5s;2=gio6uzr z?{v1L_b}xuo|Z68Mr6}+`qmlQBI`j<+uD{XcxQg2C4|WJlKZ#HKB8N3ED$V5#TqO} zU=LPYTh<2S4pv}ussPqa0u>I9X$S?!n6M$J;3RYn-Y=x4cJ573=Es|`O_J=*F#;mx zoR(7L#?9^(CvtcU{;VEH_14$qLl&FBjERE0ssW$Tsy_D&3K9!Qm+oXQDgqJ#i%n=F zsVw^48UyT+H6j-z@|PGRcia&Ix5XTqOC4^mC_>Ty{*-)5J>0TO<7wF{K58&kpm4Nx zsHv(TF!#Z0=#={c`F>jyPAHRbD)}Gge?!KR1gU>*XehDVnYl31d!XJ#^cr+fl%I~A!Bgfu5GEi-p&)qX^wZ^lP?Tvd6CuvbmR&GXh6)Rh7{;oHF zUGo>eQQ0QkqmQZb{hJ2ry@^j-_Ex=vE_xu;bPlC5EL}w>dUl9OFcWp#%t~IW2{IGuoE7HLkuJD_hej1>;-Og&3;Dk|n)r2_ zfJ8d47N&R=migeNT3Y@@D&btN*IHN$s|&Yn2L!b@p|=UIDRzA3(VLsPHEH zy2XFhu#g(iPvX}l{0KxTzuBH?Ag>IOz&KX(qaxA7)xs%AzPic(UFiR|`M=lb7kr~I zz|zdU4UjEgG5Agl5MOp0__U>dxtE>r1!#--Gbp1Ced$-|qM1Sy)r;J2;b#!JeLRL{ z>@$?y{5`OUTc~qCsm~2FLtKiS77hi-;H7*BR%TX4G_L$cRyw++HYs|DoVzgwpOsKfQLE8wtgEQ?!U7SEypVVcN?5VTwWNY+1Z)AvW=!P z3)G8&_U`==)yn5*5bGLXlsdz^{rCY&>J0}1d=3$PKGPulT^KFI;fj=n%8V-AMVqMX zz|X2|#{XSq!&KQppH6&F2S}R3sKJ#klk;_T4YvoVhq{f4HR%6TJIqtO2s4w9( zVhOqs;0S?PnP8X)$O$_I2|nI&{!M)R0ru50ai^e4=eRfdpa%6Efil~>^>6U~Av^ot z;`3Xd(U?I{a}0PPD}eAhXx8TalWHdIv>KImx6RynpLbZzKre231@MRN3_PNq`!fsN zXJUpOv#%dqsm9I8HZC-DG1?K!PtFX(_OVAw%xcyjv;2sQiS1vn-+`8Y z;|1!j+F9LVXRpo3O?uP%FeijzU58f)2uc^&Z2NF{?o2bnE-f(jPhl{bsL$Z?58-+%<4TWjfCaK`ZWG8nHM? z9E1(Q%yQI%d4L?_3-=a}RbP zS|qdE<|0+F;|RY&u&rDDIHb|*tdhFq`MT2&6^MD~cy(^Mo)Fm~Y)$mAHp6BJbeiuz z@m~zWNHYk_9udZJ(^4amHHcs!&^%xYGjt%%T5AU4z42xsemU9>#4k^@`}_zu31^vw zI0cpVyVpkyvuLSg@1Jp(^Tz3)la!W1|IvDEzw?ky;{Xq7xSaNmqP^lFxy}4``>FNx z!<}Smf?=>;FfR*8OE}Ftn3cV4E6G#-{NA>k^oUz`n`Wx!^1x)}yEX|dd#PowVa#&NUjkk!F{gp6ORYdZUc}8FLvDg4#lf8h=jF)@CL_XP*PcS{VHl&~K@Smp|bR`_gFvP)5G===t zbw_LIjb8!cmj@cL!?msj(Wupeg%SSn?;M7hmCiEivpAynSGw=h!JV&kv-!|x)m7PV zTEA&HsKU90e7iWa;=_NiP()2|c9_L%mSfnbSzr z}Q&i%?Nb`kf z%@>H8O|6G3^2HWj#MsT6@|?~B=1rHe-TkJ{{?-=7Mre{Vns)_7ffwvh^bKd~n8i9N z=o7H1V=mG28a+RF;>G98i#MApg6*qK(l?vWI_K zL>VTlqcTjs+5FnDE}z!2%cXw4@LHzv~0qSDN0>Pgzl9Q$pzyKSk%x=KKPuRa=ehx@B^G*F2)i zp{tf1uBc>?EMd7vVj}~;$yj3^;T*Lv5U;~SFU0a6OI=i&bEJYH(u>XRggqsUA)#aL zi#$7=dvh@(31M1Pf~h1Xy{P*zu}l{^iT$AqIkriYjl*Aw+(xeLxw$a-!-oTp`R-x3 z`VI09BN%Pp!`8)y;3dY?#<=~h(gDS?jpCq+N}JqNTdF z6-8y~BeH(kC8r>zLhiu|BeNofi8yKS34FnkPWB6qc0Or6N`fv%`&b$4G^I&jHU!JZ zmg(z-`jC&>%i3rNy{z=_vu5jAn8sAqI)bahF(;Mh3|6t+65u?d3fz&WD9{+JGwZu*m_FgN0plT!@r)A z=YIRC0PT9i{WD{q-Va5#d%+%}?qgB0b2EwWz@kaa*SyGLl9$}LI0&Q^s9^|!1 zM3Dih(AvRfg+%XZj@Jw$)A(w}Xh)nPt`xPhDaOpLsTwj0(X9pu3uo6vlarTd(!oWa zS!N*y5V8=2%A2}QGxkTMb~!rXN_u4 z()@2%?Y?7zoJFxb#u(2bfXhm97$(HxSXnvV-RUDmF=0_mgSJLc4Dxwy;9^}zm!<86 z-qm*B$8jaL^Af#rIk!#ib6+CpBVi2+TK6+e4T#Ptj=kS>gl}w}RnUE_2|Io0?{%~N z64sy6tfw==mU|dRb-D8+=G+;pL|Lb^ZFQJ^S?U^~(Oe^UMqM{D98S_u*OAXcUBM?T zb)BblC}$Oooe^N>(bVDW-mUT4|NTJr*8bZAnYrTs-+>&5-TdbdWZB&92XdHDnjOe< zF4%q`(VM{XdPDA;b0pzoo_J6@4~dN!?9B{0safSB35b%V`#89Py!?`5U=aVD{4wRZ zq&ayBo7m#<&g1?x|uq1i1$& zV7NA@c-KW(^$TbY%7-tXl9xWpyo+3>>~;=Hjd9<|G|`OhK7RVb?LS`2$L>FunI@DD zaqbS`TniI(QgZ@rT%dcP&l_{>3qCWP7rc8}eWJ-3l^!}W0wzs}rs_9Tb#qPkz7Ebm ztUK{ZGCS?~t@@vu@2af5mVh4?98 z2-keE%|3`-^Be9j77GybmUhU&0G~fv7RbTORzfHe#v1&+?0)}zh?O>82wq=y54>C> z`ba3ZK4Z=~^_w(;QToRx*X2DZA;z6>tdUCF?lvOpTe}*O^+B@HwulCXyZ1zfs9X{o zS*rWHj!kay@BNv+mNkb_jOH1${!T>247TG_E@)YlXD)Z)`B&?VsIF#xc>?W(s z6Pa6nL_Oqwd@#C#iaFj74gF4OIT9H6N$^NbIYZBH^PK(KdySW@!>w^v!u9szl6vF1 zf556K(t}0L04gY!{In9-=B-}_1M9Kd%jJ1D4gy78ZymwM1rcr;;Nw@_`9r>J)LUxG zKE7hRj|VK>Rq@X$@3rxVj^UF2vOD}D#OCuYl*d4`x2Ju6M9-t` z^L0}gzd{m?JEmJBj3Kef=>Lt$ zID(9sRBJpQOvdFM!^A)kV8>Ms$vDSk1lymnjB4K}a`W&92T3ajCo%wjSEW9pu|^nX z#4&C5zQ-p!AZq#rS1HYLl{35_SwxJ${5pLi*m>x1npT*0c)V4Q1?j0R`(cmuvisyB z@ihNlFFzjoz}%mKjdXf1zB=_{AQ8-Cig%WJZ%E~z2li)h!X8rdD%*G)T*Q|+9YSr) zGQPa>e+3`+R~baPbK8X?oM02Z1vsU%2u%68$ui*E0dJwve`?9elh@%(Jm?)BI&QRS zRd!5TZZ=*Rpnl3pIe3G<@G1ZuSw8&eLs|*6HDw*f#;~OQ;n-ar^L4f)ts;9t)59Td?K2ys8YAR1bf3JHFja zOx572j|M081aHvBDbzDR61=Rp4p)ZjyW4y4U`S2rI#k#)D7oMOVLUxM`C%m4ua8!A zx37C&g6r6LDMimvQ9C#@DEhwS*0F?1$S05#c5r3Ma$l@On_v7vuYAa-X)WLHfm6(C zb;s9?FJJQjC9SfpYdz>Y2h=6|BRy~L!$1|%J^=jlG5Ba|%BE9cx!Nwey3MiWia?y%(tZx3oSu$oU$kn54@ijVY&ORo`ZLt{H=oI`;p{}(^KR3s_S_1k`EHSUx{Sa z%IUf-??IsFM}l>mg0)Yj7H_TC`t0jHuMV$Gz8nqyVXLzYTL2=daBTsvPdm#vUDxZI zA#QgmN%U;p{5HrGs*9W;-H=}A*d4l<8L>HVj!ydqzz#p%+i;b}oV4oi=o+IHRbdBMbAQHit+ zXE0J@4~t|Tt4pq`+xPKE#a4DaNF~d+a8i@_WW>cS$DKL$4^I9^nOBo*puL$@&pfCK z($&O%oR|I*uc|s-!GqwYL*}xm^q#z{_H+pksyjWLhrCxlEZ*FgT$5bK^^Dg(%zb~s zYge_u5Fe#&)^1gOx&ZKlaNC;7>7A30VKGUre)eCuB-Q5sqqgR+!7D`<5Z>iqUz9ha ztLSDBgM7#7Ms4yLR4X^^Cx(FzZJpy^u@%e5%WwSZG7uWWD=jsVcnqt{h|IM3%S0I) zw-moCC@5O<&ZQ?zUsH5UB{insbyAliq-Dk}swdjiq-g5sNlpeX`~teU%((NvLx7)D z5lP)^!kJ0VvQ@Q^X0Vg<#Ju|aeilFP3=*RGZ!=E{IQN;+KdI82W!P~YR|jnww&)y5 zG0}>R$ES`ykfjA(W@cO|U?XdWRo*s98tl$d!+?KVWvphylJ|&@<}BOBZ6%rD)fg=0 z-91yl)NWz~($K9%!OI_K1R`xqhV`=pTpNEQn*XHtcZyaUC@SI6CG{u*x? zUlO{DP)cC2(#tOr&XEtw3YzQaPnY#1zlQ`SBa#H zm)b;LqRH-Prki`08uBBFk0!*2@%IpJ)=K^(Lb==W(F4d+JNXZJMACV9>|FQ-GItex zBU7Jz90%Uoq*tGOz8<^Pn&%cxu1_t>=RUXbrIA17C$>$BzmnK?R(yW~hoWz3eKK;t zptNnPjIY9JS<#r1FQxBhc}W*WGfzhPdP&?%>XwAFf;E#HvHID|b z>j{Up2JhSoWgkQQl3|Em=t>uz*miX3lnWi=?Bdal!kSnvkH%{VDZw~C7fkGj+(QqS z1lW#bCdGsNtqFF>|8q@kAOqcOO+U$?5UcYo?|m8vfLP6=i}ui;W1X6(g9*6`uPF*t zI+>m{)9M0{`6z+vvK91@9lUdPfHh@nf}YXiN%2ukoisK#PjQ7c8U0ble%Dyd=GK{r zHL;35T8rm@ATPdGq^-IVIWzH5VesT*;MI^3 zMl4+ut9b$3Il*b%)w$KFc`yEJ(^e@#myfUP93LQfj~e`1T_>C46Tk&M*+&0pN$>}& zqBUE?!5^#+SEgghZlh*hBgOQHuVfd`%(!na`B5GVX{>DQ`@z|3tGXdL7CC|x<5w75 z{v?0fUkrAv;Wym=RI1cHfC?s;Nf@koC)mEq5?WpG&LiOw#L$|~&f!3|@~^OYXpPmi_bvXLjQ<1Z*6Wk2 z-80K|7Y^DrqmEzWeser>9Py!#-Umr2($>F}3nP*A``de3kIRP4aG!$~(vH69np{@T z#$#^-h1djZ+z_r~^w=m`pv)kc#S^uumOgX<>3=a!1gZMgv~? z!^jVJUY2i!@LqT0p2{RvEVqit92$+<9-L^z$0gS#HWW&oHn!)@BHAL}hlKG}4hyw> zAn3J@kVnNc1nC2Ks`$;cW+B_KziGDpYLYew<`4vPSgR!0$;40%`9jof4WXQde2{uP zJV-rm_R5>x3l7!hZWyw0$ti(I*Lm<)=2b1aTr`Q2#z8LOFQp{=4GPH!;X&|DpKi7d zVtG>TDy7i+Y3tY zPG|XHv!JM4=gnrMmp!6BaxQVkP?{r;jFNEP>K&y%(7nSJOKb35^&zwreCpc60owpbWrn@t9FORd4Xu_F{7y7@o> z!bv6|RlDg#u);TfCqS0!N8Z{_t@ER0!A_+`1 zU{sW#h_NC@M9qwf9VB!bLr`{r`C$GViX-spr^4I zb_CFm9{hp;{r*AQ0_d;6h_a_N%_fZ?L{@IKUaqnj!c5IZAC>Yv^%yFF?8v%u1!bCx zN=_F--b$?=N6xwo3m+3mK<99aiy2>D6ea5YYT}u1l0~A<9bSv%sdzP<9fJr9!>U+L zqrm_g8NM*_2|)YOUH$cusjfbr9^>}9`m-4sU0p3AMDM;_SI?&ry81f`OJXpK3pM0u zH5yR-jR*4>ot!<(#TTKbZv_WZ5*@6tvj1v@;;Yp{sMB%9dQltY*Uk)}DdRAptBgxA zq20h1P)DJ53&<4AT7fLWO9*IfJ(Y=f$nzz8)*B@W45<|iXbdF@$S zx|%$t%w*kHL`nO zXz?9k?k9_@KwH6sQExsh``Vh|SHBEFx>g1Gd>c+U#VN^{bkw?N2d)sE+-*e@%raiM zy>wkQbX}bg$qoK=vP7&^K?&VY_1&rnR;l06MJwFFl`g6Tb{6oP6WbL6(pT|4;ogPN z;#vaEes(C_-z7X3)15U95c`dxZ}J~tEcq2LG=?tIcM-H-4aP0aWhl;L_EC`h+t zoCC1X|7&(lJ6#esnHal97bu za{R?wBwGjMH+>OJ(Wpv-P29!-1vK+pBW~%8h?Sge75Rl$wwPcl zUOq?EwK4za-3;-(5i%w`+I6J^7%D9m^*6+M?O<41n2dffWa@NHh8Vnt3Bwd*gSOz zrvy;s2Fc?)V?Bs=IFmx+5Wv*q`xv{M(HU@b^_s^>Y`{UwUoc4w(3H}XuXNf32ThyF z@5~2ROnSXXUxH7D5l)izFCDyv5ICkwPL(`gCxNzJx&wqM0y;O5pV77OQyyQrXbtRZ zYEiy?TMHJglt0w7+~XqQh*fLyN+jAT7!QsN!Z2NmNHUU^W$oGTHDQL6DV)Fo2##51 z(!JyieG^=R+oE3Bm~BhS2^m7hd3@EAzckIVhX2p@Z(!%#3u!subgAjh9?SFxkcHlKjht7{e%<(UAK@bb){v6!I? z@u1W7=9ACaVizXwLuM>+2|0MV$;gl9h4ZVqh?lhj>xO&}l%!c}A_Pl_#VEUbG&q4S zBoW1~6Cxb*%TZLk+d09YT>+4|od6FV@z#~@VtEw9%K*TDHPm!jGwgCR#bIo2?8Muix;>mCk* zwfJAv1$IF>HHOqn*#qE1#xm3PfW&C~v>i<9lT*Wa!AZd`HK;=m5xBLXR;yAICL(xT zU&w|7b$R>zqWejft$$?rkvT4@g=0$sYbMF zM7~70N=3LL!9fV9BE(!K0O8tLYJ^K2uilw~rD+!@k_t0Qty?3VQgjQEnyb=^!}(*; za!x~)KDx-%E9R{(1(0ZPBiX4LQzj7|<9f+h? zxUc^q3inw*a3?n&66M|3r1X>I*coUpM8v+FbyQl-8o)Xapj#Rf@^zknQYny-iAq#eZ{3 zmgcPXf}Os`FtRo0yq$16u#OFSzbi`vaoTTB^&_U6drS$f>b!zkIzOd zj5)lIHOkezowEv)7zU7$wp7N0;NsQ5{$><*wCePIEa{_9qUN5Q+)3xQZ>8J%=u>UR z-Y$D?>c%Q|M(pU**bbCbt)6-bKehVyCYH)FcYy$xu#^|YBylxao0$il9P;}^PD7Qk zM2j|}MT=s))gh;yb*L#Gu-sWd_!Q74UBNE|*xHGhJp@T@5&QE@CBZ(!02VaH&NG#0 z1$9BowSokKKetox>a$v(wjNYgee@)0e32L_G(FT zeoE#Ucy>hLvrnVdWlf0@+N-F|O^K$XQPWYU=@@rLdOE5F^_A?7dHkqOZ-%EX`-3nMngAgQ#ByO z`TIBg^pyrv*wRc-U#X@qB0w^I0$1>3j5ti6plH+gubxKR8ItR1+I@F1d$YgmW^cud ze)ggrV~RO5TBt*5oI<3>?nd4$wk=-GT**5i0rB`#5Oqht$ep!?O4o0)<=-wWLepQPsg!)R!E} zI-@8;y{i5lN$%{cV^^?pZZ>g79!Zg^zpCR&L#V2b`Nq;Xazs~k5fq)|tj+M(f>AY_ zWowiX6dB(-XPdXM$30#ud6Asg)aw^|6jT&NQ9tN1&B?T1AyqBLuf;i^X zLz$cd8Q!YkjXrL2SU#nEA8DDG2T3=}aOKmDXNQ_K5$ARW1jAtkQh$^lMsRhBNP;Ky zNsc&Ba=1Q|hf#{-z-(YwHUxD&g4=2#mj^&0uSRC*XZHzgb(c~WcE3QaDeNw9zr4S3 zL#{#X;7%u9#5Lr5oMCcE-bV)_f`0EoeRLhd*Kv*>*KtrKqk>@qjxwb1nhNf;Dv!UP z?8n`j{rPM~5fBSgt6b|%;v@fAY(w?G9~a4RvLLvN5P;)Y8pYZvfx1ITDlqKS7@BMh z#_yfFyCwEt0H8_$s1^XAootW`3N@OSViqSx2%tlTktUvtw|sqEN8fSrI{I2uQo+4T zx_wKh(eqCm;9++f1YqpWG9Gg@bz1ziLGi1L;}eG^o;O8(a#6J@;Qg71?JD4Z_@0j6 zObXsOMGAOqz!G$ouEef8D)PoCG_BC2;9gf`;54i%d*>vUGws`L=9j)q%#|55jqSC) zb2<36qe9>Eg-*&W)GNpB*>2CGaF#DLAhS?TZbC$QyWK1Hh5n3l5>W8n%S{a2QK3&q zIylVBEYvGE@fV^0_PX~6U+B`zLOHz>KipBFANoSax|MSqz-?*JpP{H-_X~)o(Vq+T9(CE$Jdm{Hz%f}@rNJf z>bbJ^DO~DC7>+2c2y?eqUU^4djV&CH`4jd`WB%kc=6ifkSzv4#JY>{~h0{n?*U8M= z1R$(>S<>TCh!oY^-E&irHxVm>6$Io%$C83x1r4b-kz-2g-kYsVOh@10F#HpWF}Hcc zf0sOTyO}5N2_ft=DR`O8zru(R>)S@ZlB3%u7ZDFd(%s_np?~kaK#I7%iZw& zloT^J!Xl3LUzEsiiw^Vz6!Ah7uctiiJZW9Hh^_U3h}Q=s0$?Q^%S6%js*e4o0vB|< z#zdbGjc(@X&0GgJwM z+Z*a*>gHCikrH;I-Zj#DKWZ$Em0W;mVO&rXa0V)iT~mJ%Pl_)MGZWsw^Mr#Vzq#UI@h+!xXmg-iDw}ZzpTY(Y#JB|iKkvpX$K>F=QSP3hKX(V?$ExPlV z6}`cx;pcF#fX1zT06++2Ovms=rToP%mFc=B+QC(0@o{LWxW7~|Sj#*Pc1hmB6);FF z4ywnw+8k^~CM8y534U!MZSV{W95v(H&JtW5oHR$4V05G4F1{yn!9%^41TFhws9n$Q zJx~{9w+D5Z_O@a^m)&Uv#bxio>qxD6GI9QIXrJvX zDNG$}heJb2ejT!@m8vw3yAk8V<2eN`9oPy7M+-*4CeL z8bY#M?-HGgcsFso`mZ6T_b#q^8XF>#3xi%2yopr?iCI~}MDVL#MzMT@b6UG{ot^78 zFtCoV)1ZfXdp2bn%_V~9JyS(;`iy?cp<@B)__te98xsrS&I>8b*QES|)NQ~i>|zkY zi{L#@ASB+9eVK^<^kI9L=~g~gn8Tx7U0&6JWor%oZg>#{cT-HB<{N{@Lc+V}>BI}e zIM2+Lcsrdgm^>R@^ll$ca8>2LFPd0e8LuGUW!P$)#aFbDig}*rp9^_5q_(;2Y;N-D zjC3@>0*5#Wx6l$NLnx`S)bp@ReE=aiz@OvfqV`Ik8jpFpY5PTN zxLrZrw)+@4WFpV8Uki>S?j%05GU)e+qbte;2!F^Hk0^#-g|aroVBHJ6tImZ2amQTS zLAFJ!Iy;<#Ln~ptuq{cJy?ZzdBW~hNmrioEm7sIzoiF?DJEArXgKhu8qO@e803G9 zNdl58xNK=aieNRfmb#LM?Qr*zUWc{&XulMZXcJ-&On^Qmda3J>ZINV5Pnq8T>N68E*PQ&L@j33`0c1O>5B%2H z?;LYErMdgfeMNi4OZlF|K}59FkA)R4@G5ft&ey0=1g(8C_9za2gj;oB!Pw85;9-I? z$~~{1!+>liyWQ;aqHEZ<`4kUrPJKRts&J8ehI>Ew=?P zEL#+W2xX_}YfS+Bbl{31*hveN6!|hXL%25?m0wePFe2-`@o&(9602cCzRoup>AKiRc8+q?}Iz)^)*O5 z`>K)i)%|?M*%ej+i7H*l( zXoU8uq3{3L)V@kES zBbuz(;lg4TNqR%JdtGBI?y;zo{ruz`5~i^%h3~s9a2Np2bLfYL$(;e+Lw3uC?hVA# z$bjx8(yx&YyyNp{yTURnFx|l?#Rt3jq&L!A=)zCkQ7@KXv8J(rv&S1_$LoUW<}IO_ zqqt=#x@binhvsE9?axjZ^V_H6q3?nPGTh;?Ltyk^VB=?)tFG!w&g_nPnY>sKM}#{9HyL4!A-;Z6RmU!2l=nQtUSI>t#PTVt(cL|ZDXT(q*VviT3argxn$t?NTPJGf(sy$ByQ5om;hQx~G9 zbd368{eSaw%#ZW~c_<)WP3*TJB!MN#mr%rhLo-~tsctlGyxGYRUwtUH@BCTQ`-Nia z#YUtzHvT_}sn`Asznihcn0nu112ese0WDh|%z|PI10|RRZyjKp7~-*C%^p+~3K?}V z_5R+>F2)nryIqXEl-|6(n0mx!Bs`+gMCZwGlra17XND(#&pkrF&yb3c$QGz{i5xWC z%8q_I06G!V?8P`BaR9UuRRd-wgB1(W?;w!-p5ru~M`+V~h6wXWscF&7O)AuDBfL=D zV%#>)Q7-oQVNS|5L!7HN8Yc$5oiNpH$=qQ^n)EaBm6L_1LQyK)j{4ot;aX0KD={T5 zWMwio<1O2d$fjNqhSD|?k#m;^kNnC_qTm$lN$d|Oh`=WbVq1x(UWH(v3SO8MXR$PB z4TBSld`!$Q6P8k&fVDb2@u_@0%mOCv$EY)6Q`QUiKcO!Ks2kBQwm;yP^D%Hz+)VEg zQJe;BD0#A<3o264y^l?=tE;jn0yqOnC$orM)fn$Xg0R^Pac96Lh$x!DRDa50V{p;W z1gBX@vs)y;eiQ1ATfA&WsTJ_19NfG87%Y}6cV*Lm#ry2p^Kv;gK!Y{KoV2x>gspB2 zKD&>G0Cx$_52*RrY&2j$-tJ(j8erd@&4hV1f_b!aOsM(9Tx@I>#4<{0Mx%3c`P^%l zUtQQ8X;b^3+X|8TzYkE2TX0u4vEWYO2(Ln<-ludeIBd04dsxc?iOZSC6~fE5M;sXTUHXTQmmPwz+~OWVlEdtCILt*-?+2nsQ**t>If(Upb1bI>!V+>3&O9 zY>w%U!hEUomu*LD=~W#uMy+ZwTk_Y={>gJdP?VHe_|gL!Bw94|c-d@I|2P z+zV{nKtM-lidn-b9MEtBiJOe>$#IiqQge9l>Cm%Eh=Kx<=0Z)hjxvO~EQ80Le5;JV zLV%0P_($fdl&f8Owl9HWh;4d=og4a@+>8^FEE;#5qmXXl))xT>AJW>?;OTBH@L+&5M&6B2#|fj?98iVNP8``S9Qr= zi|ut`>a_%MX%tCFKm5h#ioeKU{6!lQqNvccd|xro;|ukCw%sB#rNpqQFKW~!BQbvv z1KSaw#L+x$jYYq~MQvMHR3$8`iuc5#{vUK>k?f6TCwi0h0=O`(*xZ!ScKNsL5+6=c~x)^@D`gCA@<8_!8+jDe0@%@*w-Z(AS6+c-F)bqO2wl!?RiCQ z3`$f{3zP1uIwE_+^g)-QVRc+Of}14!yHK&H?Q_Wp6pf7i%z6xb!YfpYF4vX165?uENV&o6)0{!t+!#8+-h34Kc*G*b*nLH zB?r4?jcKrZ6Q$Va_lMo#F*P+J>zp5J_UMY}PI`1+6&8vXZ#BBq`W8v{Bb9@*5O_ae zEEF#^0&6rhMPJA0MuhPN2^nD}wvYuymMYjfN#!{k5;9(LJ#<95OA<1{DWg+#m4-jm z;4!;ZHcyk)25kjLK9v%cHf%^Jdbl+}-L#+vN>mVECP(RAD@LLUlUL|_eHiO!lgc3j zxgAZU&^ca?o$F3xQyE9o-6<;SJG)qwT4zIvu(08ab`x;~f(|o@5uu0)NBjsTC2sCQ z24UYIp-5*27J7wYR820mAvwQQ?M*^+DF1_?ouDMF!L%;b%Agq?C2m4ReUBI!3TQyO2NQ(PrmcTTl%~g+u!a;ZpIC zp^GQ-V+-~fsSBzyJn=kg279Lu$i9h2Yw?oe=Fm@_U zM&J;AIvfM3$NC23Z8Ql9-5kh6KIk#YmCXm`Bug|WQw?V{{aMK9wy;w8=mXKWw-{)d zY<3e|yPEGyR@r>B#kG}Wni$8oFNREs3y4|)w2tM!2}?5PoDrH9E?!AE-gkL9C7+jN zyx{j)^CrLRN&E(2pY$vVOV$&sVNCwC@^JC**H?rmy}-w-3Mlaj8Md%OYCcg86Ne@x z^k_2Cq!%gsdtN8uLpo^#FQ;g|)~w^tq*wLl9n$pw8!Yg_`|^Kmh(F(yG3aW|`DvQ- zi;MlS`WjwDrtRMOt|5CIcn6Gxsh~F`cMaL7gyNm{T_jAHz!XhmGdO`Q{c2Tc>QCS}%b>Aj2A%gxOKyd4hB;-(Xgg2AD) zamEiKP^>6#c<;wgB_{isXs0ua6N+mq7hKNa5@nz!Gn{=!MEcGlBeq=0{d$vvx%;J^ z%m|;+9s52j^Ipn4cv5gNndM~GP$4rC#tJhdb-tpG;*NS+o;E~?Fgl^=n6BsC4%tBO zqrQ{xYul-V%HtOn$1fe09MDE|I3H-P*-zo839|NG}jDH z$%>YkiKMwdCB?8l+qAhW`J1ogMA*{r(H-Oqwn8tx6f@}Pi<}wsN2F(+2zyxWINLc9 zma$rzS2sFpl6B)8GvqzqsydDrFAGI8Jl&i}mCTOKx6=qdKLq!!u(%%$N8`;_f5j!2 z$A~970@B)WfM`&mpu^;wOkb@-nRet{8*rc4_AxNJ7gE=lVLQp_=VQki}H3OikH zjySFezB#YzbLORe;g&X)wp^`NF}Z$6Lo6xlc0RkBFcjSc(Og7BIfaQupyYLz&xIBzg~?%G_K8XHGvSp?bl$44N7lyu1cz3Lqo)g$iwY? zOMl4vfHZ*(QEN98?0K6l*bK};u-9_X)|1`BtxD?3(DqOukG{sDh_eBa%F*V0bBYTy6Ohz6e%s1O?# zGQl#tp1DzD0MXis66SG;kvM<`2kj+~4bZc!`7?}sPiaMd9u}3y=Vzf&dHnBSQl}OD zj}LD`Y8|l>{P2t-Iurg_;wEPd&rEoqH$1IhtqwP=Q8uhB6x#Hb!-^L)p(zv^Nf5Ne z%6|t8M9@V`mhtOo39Dn(xH!Szwge3u-0Vh}-Kd-0^XL{C!~miNZut1)Xm;EE>_(vx zkeeu6TLhz-5_>#|R6qVSA?){d&*|ySs-OX@=Xuhj&wrzG(`mDI~V05Ju7nAG}CkqIUC~6{qAD5pI zcNYp#2%epW!usHiTY5m@cv_VJUX)NI7^ac+<+}HA@SFEDx;L1N?d9s7i%ruu`yL7; zuEN2LZlrL_qndPMk!bbiq|DxgTeQWL*`vyyJ-WARv-4{F*}pn3DGup^8#(r9vPhq< zPL>gPiwo+g@137ILoj0!Vtr~lmXL)J1P`y?jHlyAU0obN;p<2sDap}A+QL?v#J|J+ z>VsEgFaM(MR|oAPW%fVmes#)?U&#IH0J3f6esvuDM0g@18+`vWCgDrCU-f+tjc!qv z3YU}5MBybub)5HDT>$;iZ6RAJbqn~OrPMhILDJp|ed<##5&g3uTT>9v0{fX#L ziT)Hexqxo0rkK{IQ8W$VXyy-F`Uol9t zYgvi4zJzj5CAS&0WG`i4+}zT@@ur%VqIx>Q!yLQOz^q*^1=CfdebVtV_kj5-m2zt; z<<3;fyj04)JV?&h2!oCE!5gmz?wXUMyM(%8gZ%(=V*P+xV^?w?Lf!pEY^G5{_)TPF zq>bvg4(?zbuc5AyoQ;@>+7W)FrAYqY@kPzQD{TJcvT(~uq?UKqw{pSE%JA)r7yi9Z z31&2dLHS@6Slk(XsQHtf!#8;cl=cp8aJewAJ(|0;YsK)_tlYPs@kK(e`4HCl*2HHz zKjW%;B%K~^eV1edWWLH?Nj%#$0I?Z-X#l3dHE=f*M}q_Sl{bx!Lnf}1O6mHrH^UJU z2s9VCK1?tZIPAeJimqwYNzI-04V!w+QvS=fzi@qcGFC@E@$x%fh-t!$WQd`@<@*?= zTD}QNoQ(Ts?*Wff&A!*C88u< zC*eJCRwKEaUxDH}ly!F!)lI@3;cjR+Ck!CKu(kz__HO*I%_w$Ho&hmEcbX|1dzFnH zuqF>@>@F525A%JWX$XMVJV%n{ta+KYKlA@hb@(FR@pr)zb$l_#y2Mzpr0rbw`T%fYrRMcxwDR5z9LP&& zQ4Rz7)6^{5D_Y!23$MB?Eq2(=FydCgy`;q)Jh=ni>fA*P4Dk{Pd5-6dWwc7$Y(Nra zmL6YBy*~FTz6b4-9gq7KO({!xcb0>Fmh$!)F3%ulO?e8*W0xLVyC1^QQ@C`1n^&Cc z7<6oVq~}Tz%7FhLu(f&MvU?`Np4msNB~;Fzcp_E_Pi&4tEj)cs%{D2X*tqlNmd6p< z!R&-EhSU-WKf>j}kFZ`@&;nKs$Ns$bA+B)4VV#!hkKN3`r&Zt^|N1QN#pX%PcD z&d!bRR@8oWpSB4_d2|5;l1Z>2(#{=Tk+xXTbsZy%;&Ab{7L(~vFZA>XDXF6Esw4BaS$6SDlg(^6(DwOlMcJlz8 zG#|-SNLLQyeq{yL21{W$oXe@~I4M}m7+mb+^ELupD!5+)e&Ss;Xjq2hxcHt;R zW@@-*K_9tt7t^^!ftav>fQvP5z1J08OH`np!Q{T+aX)0mYZCiv5NO^5I!@{8ID;E} zV@21-&+Zi;-(?67+Dnw8Vsltl%>qaJT_(*e=-WQ0=p425fEI1`NB>Fks)}@6JurTB zQKbFquz;?aaEmZ8lcJwHTjlX&72;VYq9r)`*7b#^I*RC=S<+DSl!#gM)GbO<6e+Q8`sdmYYjF%(a8ZvLs#a+PpA`>r2tBwp$npUv>7$n6n%UI+4L_u z`;!r1Lu}xZ@JsMQ<*xFwzI?KX1@T=S;9Xn6FiVBt>X1bDb`(5=zjMZE2L$#f`T9`(o>Gd{pB zX>NYrb|)|ha;ImX$G)q(o8@YKI>~)@$+1^#TPH>d`G}kI%jdBHc%_n?pDoP{;?AZX zryICbvVBTf6WaN1W#LDUSe3i3YXun1Rdqx; zhDZ!zS9)!52wmitM4T)3;e{%(qpxN57xYU6{HTm_=J1hcVjODw`F{6;0c35k(!Vf8 zYlFY~mqNX~>|fC7)&@`WLhTEBnJFt(?R`FrReP6zVcctjTl|Z)@h$&iZ8Z27YopG; zSR3c^LL2R)OLG>Mb3nOwvRDoAKV!_tl8FXLWXwZdi3J4h0MsY9S%n=s`v#Ao?ETrr-R3e1)H_so9Juv%Xt!OZPjpHoLm`yA^6R6 zH)CUg;R{nhCA!7X6CY@KckXo4wH%o&JcpZ48=kyb30I{OWU;?MX+*~W*KT?2W*_(T z{OKiAf=eFQj0ZmvN~x9z^ZC629ahl@|D%QHE{=AE!#YTxvskfGqs`wWRuFV)R({uz z!*cFmOtTpG%;I3m$WMR=%dBs->(o%J7bWA%&+R%eL?$cQLFl&;dtCK3i@v(t$1wQh zIR{1gVc>^DELD}WZU&Fu+|~5WvaVPzhnk4UbT$2ZK0!x_>~qfa$fU#%=49OsM8s4( z%*2%;Hxx&In{#YVj=F98_FR^c6D#5J)yoyyu<+{As_>8BpGg=I_A9moSIhx`60LAq zv>CI&vB?*gj1FlUX6~8# zeq8!{ukyA_`zL>0);=au);Vq|r)5VpeKKI?2<0RmOG&up7COt*aDqPbwB?1ewlNX4 z@gXdkHl{s4I+UB6xD4h=!7KM8>*3*>Mv|3wqjD$A$*BXy!arUVZa$D?)ja($J3+gG zDsVj-IQ>w2ebs9GICz`i_;b?_x5OuX;>-L-LP5h`W$n9Hc8)0&m27z}8m?GWbwX*l z_2)D*{UR&TPEKkKPp`1oS@s&+-?ur#eNDA_97QZt$U?D%Y+!5v+A>==(e2F2w;lr+AsWmx@y#H1*@)sWUco;SGmt z-tdK(A`aO-IiRe4eEx!7#Y=yU<@kiQGed2o`?sAs09rUYKfy6dj!3(Syczc8f!vkL zR1HYv@wIyrF7N(MB)h;ZxZSVTp=(a~J?nQy_;tn(bkb7TNlS3H@r4We=yu!j(MbE{r?;Pd#)7`d z(IB?H67Wjn&7m8W9dgGVD=*Bxcu4kJ(3NDvD_ttuaYK#HlOugy#UebqsI7OT?b6(~ zGjS!&!)18_U*e;o_T2XqKb0f1&ldQD!7glU^Xfvkru-q>&xEAy{YG{*>_>`#ZJvfK z9q-Zh02+d2h{^LVmj?3UXXeFE&4u=gaFLkbrpr^sRjk267f#iE=PxETJ{$2Koxh}a zSMm)zEr|#y9wrCG@u4MSM)V5CN#}0n$YZ*zX@K_b0Z;-h8bD8Xpt->Vl%uFOMAKe_ z3iG}VaPE^)rmAC1O%=2kM`D4KE(xBq96W7!6Zn=5P(MC10LyK$ApYk}kjj7PR>_Qc zML>0G1{m_WWV>MyFs>O>r@!Ot`8(L22m9wnrQF=aYSF`uZT{hAX+(;)AM|0qgev>+ z3(dJj@Z2+dVr*X8dfSY2Pk$QbfVyw+4l>L(LCuNHY}7r~L%J*jYM}1ff;3|rQ^Wk} zGz6eizef3hubC)Jw!9+nnBZ%|W1Fn<_AwL7+lV7u-ZAD(1uX#=s4NYAF-5?Ro;s*) zbU)hYiC*dPWa3coz~W^Z4%vlMT9R&Y$kB&7#ZB8yv#N8#-&t7rf?pvLZ^=xw zg;l}zq6R=tX;F#e-FQl4XUm*5MJPS3kUy6f1JJxcfjSJJ=)+0=zr%lN%gY$n*gF24 zR!`>tu?Y>=yn!ygn8Z;nf0>AMHU(?Q;72vbq;KRuHjyc>@cTNy%lZ9?-;c>Nk(vfy zp_(Q(^5>UL6p40x6GgoEkNkftaSGhTML7RZM-!P4uEo(NoBRu!pH&$1M1PR88+p@9 zEVswRe?gj6g@(M1MfTOuEH?p$9D@b+nh<{?dWvcS>NElM#r&x)L3J)|s~#bl9hEi{ zxo59ls)YEbl0CvL^~_Xx_|c=dk6_>MjS73+K4t_)&@eXA z?@?I$)0&3pI&mCiqM~C~FQXd_2;xwKg;CXcC$YZ(gZF=OKpx1*= z6M#Nq)RYoXkVE5z;nrhmQQpI>9Oh_aFqd~-ZxD?y;xe_qmAy|Rq`>+`@AO6TAHI=w zeH7AM)ls-&PB@Bl8IzAH4G+cmqSFEqxkQo&m}WO+^Pp|r1&ks?d>Tp=c_MXbjo+>>uqkyN zZX#Y)46hp6PY0yGhMUmzGKA0N2x1@3UoyI^D_PDPYNV#YcthfJo-6|1zq+~0xP})PJHE+vbtmDtO^?o_ zG0CAsQ4v%fV`Y+gKx|=})oMt92?;PE0fzhQp0A3}(%p4s=Oe$acLHmEbm+S1h-a?O z)r|wwBV{#-O^6EB(T?L#{CrYyOy@_YM>O=}rgbOzuDPG?r3q5B^J>o07{^~S+pQj0 zjB)(%;NGGOZoy>*mLWWo9cv{{-y%1h4(j^ zzaZFljzx>}+m4;WUKdkM+n2YhRNBQ>x^2FTTlx!sVx6b9cYeb`G2-vPit~G5K4RZ-~YK(fOh+;iG*tD zbiu&b$;=FtrXuv;MOf?h$((P7J_SlErmW&zswZfDDGwtYW~LDkE=ro>cgfENmiF5} zxarL=Z@&&pvYmeIP~+s`^DXN)yf^r#@$HoL21qysiJ^IJHOOO zZ`yjKy@Zj>>0`9R1sd5C{_e&4Xehj<2aa0=rb{pwpCv3qiP+PEr9nU;jN|uBd65l< z({P^&z^*QDlhwePY3nbd;wLDXqg9fe^`$E~BCCSL+tgz9%b6)%uQlsdq-*w*sq&8@ zl4yFp#*UGxu!-WL{TMpl3pO+N3hm$$otJn}L&Q&u)OBb=9I?C&`=Sbg#L6dx4VJ#( zTwR3z!NC;3j&7L{UPEnVWr>3T{}<@xnOpVJ--6wX<}mxlQ&Anif4sBJ zU%`QQ0n|Y7J5Vb*Vw<44=lKj!efHO$po&z{tm+Zr3mVCscmk;#{wT_wVGlk_ENAv= z>$#2%fo46<4Amp@Ru@K_Yoj>|4CHTs(quzi(lLQz=4ckw-z$fpz9=U7XNSrW@DS((xzhjU~EmC4Opg(oVk=NmGOip9&Km zO)L`WlxK$Gm*yvjASpW;kn>%aa!WyPtqpB7R0n@s2CQa3t1-ef&&#wHZ~J703&v6z z?^hW=4P*1zMooSpfXg^!QKvN9cj+9wVfs>sY#t}xWJP5X+6RtbSU@kfIv1cKj8-l-OV-dxAk@tSQ?MtJ7E`oOQG6!Ff5{2K36 z39Z9o@y-&Z-Q{moU9JeLos~_w#8Z-#>FGWIOPmy zVIx&0KsmPdr;f^5X_2{=7j z2Y8C9zyP24=GNf;;2RFy`D9WU!K~RED8ytga`f?(9v>5&C)3A5Ri8Dro4*T5JFG|c zr)ynyEt~A@TWCeZ;*n>dUQ+9q7Z(?n zOD#_`P+d+sMr(mhAdD!0X&#lbaFBM9jWQt2kn2PrN)hh0t^T)jySiH5h*b(yDoFuB zdx0zNV@N}H1a^>mZSc0X|57tp`Wi1Lc!?P#zRRD?nXgkwu=%Wpo-?0AIW}Ori^isW zWpmxljfjJaMJPd#6xMZWOu$B{BTY&)oXstnS;|VfizOmjvdj>a2hNS5Ofd^wY}XZ5 z^bAx%CpZa(Sb8ihDskb_c&Gx1Ecqs7j#ncJ6TUZvIo)&NNZ1wDyX{;bdiO%+df=qs zkAFw(cqo@Wj0*){QBWyCn{KlJaeCGDq1s~6;p~$Xt@b2d{Pm%ucy!l?MtBkhi1O=4 zBm$7WL9{NBXXJ{r%4uS9Ab195)@j4+=+v-Kv%u>pcx|#5$7fwIYS9tAVtdKlmx&!bly~)zqt!Q3cug$!I>_fQhq}wLmmWkk(U1j3$&>ewqWW)8^ z<0ui{m1;5SuEWORIk9p4Uc>MHdOs3Nh~AIPX&CRd^EvkkSvf119PU%DwUm)X$wHrS ziO&*B?(9=0D#f4ZT_61DXX00@g1%3}uWGQyAa@EbSrYfeva_8Xiov*b6mwqz=K=jr~+V_Wk_W5AkEK@_-x(`b2dFWQk8W z)FtF6_w@;Txr9QE++g2d2^u*&(OwYh z(QF%z!NS*@jibJ4oMfl{1a|W={QEmS6Ni)A9bT|gBTY2H$|eBdpAMUD@?vOu-Z_%X ze*1y!0Vg74zC#`nBgJ{MI4Lm9sA+(m$J|XRUtmtUz^}GZAX0&+49)ykcYzn#{B|v< z7d=}jt>~Dh0+H?l-}40;&NLpJ&mv$SK->p*GBAEA+XK8v6h1Y-JU+{PE7fbEB5m+6 z8l|(8t#?Q~%U8_`G8SvY8AmBE`#LMk_}S1i3d2Jc+g^LXKik#zfRC%QJ>a0m?EwdO z`90t-w($K;PN9sOoWS>p$M^ncI(*l{-yopqPNQ(^n>=o{_y;$_o?7nJCvVj3(6bpe z7l?(StDWdxP0i!=^eodRF(ER|nhn?Z4XTzc|PG9)!R8Mk`&VGK6;# zK4GHEQN{w(Q9vn^$wU0NCns2S`N^Gq!q1g}Anx*RWQl97Jn#r>g;0!&*L44_$e7Vx*3>U2>XntJCM|7I1NV^0*co$+nS+%4l{!Ipqei9RqX?A!C ztq7Pzo8pS$UCCj}Tw+LQZu%}PsW}m_PcFkva;Hcev>YYv{3@e`)}4*PtkYqm&0W13 z_F&Hww}w#nJ+$9>m;*B#{Pi5|#lJAyT-hIc# zFAi09Rv;Imt|+Oq0^tXloM#zRgu>k?qNG~q*cW$JN|z`wt7b^~(`o7$LHYU4iipsh zgnPY8$5|oVM6z9|;xw?1cb$h)dbsu1A$>(d(pRLSrS|KTMyUSGi!Pd~@-l^dD1*RL zsq4rrX`*u5iW{yc<@yM!?UE|=q$F8XUD9`aQtJt77ECUtSdSe74U>*~*I!hhLRF1* zBdQPl*4XbHQ{GrQ^NSXe-W?`F!Xpx-JMa~>-e+2_DO@cp89{kROczx`Cq?2o!)=$3 zETsxKV+~w#a(R5?qBS63QIS;JkW+1!^k2sd(Um~t)NyUewVb()3_`apMzcV4vq?kR|R}s{&kt`t@aP6^)5q%{}!$0G*5P z&45lRlk+*yi3vI%b2m#jbXMV9_Q;a{n?46Rv25scjLU}3drcSh`QAaM?n7|#Kqb`y2c=vjW?OPQuLKN$B_8D}tJn&3#zRmt`a#q;bedXca;&u)?ce-q5UH!%}&))lh{ew#8p2YqLo#bX{-l(#=rG@swJ#p9>E`1^V8;nCgC zqh%KDoNK0m42EF$^VrNL24Qu`W-Ld6DB5u?b$iS191Ds87`h>xkD_n9AssZRMmx)3 zP6|bBTXMT&`}uQRT*E!ZGJ$1}?U1G~Ft&$^Y;1qfg5SZ|&Ua(m<&&Ocn~2RdV{AV# z@O<&HB^%1ySSDu8aj}h4OmQw}4h1i3INbVAT2|H!-23UzvvKcJtU8`AUek?xh|j_G z4McLci5@zxyGIm>HR)5JfTrVX1@wDIjP>R{E;1BMslZ3Nb#cz!tOboF`|(Y z>`xN21+_6qOR%rohG1W4ZAFVv52pQ@oL-9sJT*8L+Bq2FHE zU;j0P{TGKgVSlL7n-TV<@#BZ={f=g@j&#rBye~P65XFpHWJz=dr`%552x(zXqj%6F z@Fyqb#LC6=gBLMnW-4RXY0kvPWkT+rGtFYwoE;_TmTJzJI7HiR%-L=>PbF^7GUtiT zZ46e8_Ve^L%f_V24Yk?LRB5pJrx`O1IlR2~Pfv&6MEfW-8^@j4h1#nw)CD zAf@q*`F2L64Q=Z+DB>$tDp_HEz|JAorlA=U=>EdC#7PTfd$?7tVvlH%&t$e)e4kz@tGkkmX*er}qx z#~8W(H3?y*Xhq{38DozdDClv~+kK+B92>je?OeytB9#D#onydsFWq*I0ha7!sc`3* zVm)iJ<(-X!KBhnkO(cjxOB0gNF;DNBd@q$eQzqh@QK#Zm zrXq#M>NA7r7?e%Qopx=dE~IPW)?evUr_+;rXp2pJVi0rPX$$=V(tW4F1IP5Q`rjI1`#^lh%=BVv`j zx_;S*d+#cBq3JMO9Di#qC z(Wx@TC!VTVfe|+?D}#wA>FUb0N$w0(whrcjLb#uH`v}(f9i&M2@?RP3OF1W`>9%V@ zu~3r=RzBz_^& zAOK|GCsS^YnND=-P5@QRFJ~x0fbR;v@grz2-!*96B6>d8&er zGCOY*&d`^HCI*@m-XRpX4Bj-^G4@y9A<1s4MC9U3+1RR%kS^mPSy-eK{lO&xxU zR_S|Iux#NJ`Z7zG!>Yi%6jU22zx0T(p%J&=OkbBV{f&!Q%@M@BaUDk}26SwI_)oE9 zo4TrwsVOSKiiS3@p=oMDu+c0#n|p;@9$<)e=c)GH!DUE_DyUTjg(3v?Dpq2}#I5Q_ zGTREtp~--noWvHyFkZKPO=;zmeA2%r{B6$r7AnzBlY-yTxI#UwA${A$$UI7!**3n* zGRN@wem3#j9TnI^1;UepOI?BfmCeugO33EE-6l57b|pr*5`8JrJ2`o~+5e>M{U-$j zy0hmc58H0`2b7%wyz#6?8yiUN+>1W7D3WAv(HY|8XSV4|^iN~Vf>b52E-X{1>~L#8 z@LV&9OQ8`I5fjazxjq<1$S{A(63Jhe<;VyzTr)S)$y7*RP$ymK#~kWzMI;60(R9!) zK`)42DoVARbY-hmmO@XY;QLrAHRabI@1k_=rbbEDX=$kEEfIF<3`M}K(S|i}k4zct zn!DXX*V+k|E-;BpODbatI>&ox>4y@PC$LjiV*N}VjLk>N`CKu%1QP1S`;(`m?ck~8XauLsh2OlIHJFZe->7K!{z$-|Z_kQ#52r*D6x20x zs7;JDvvsU{jlb);D!y|1lxX)O@pY-{JZ!fMzRg*a&myskZ3nbJwPUwor*>2g3k7%J zg$4fPgGYa0tA{neF?hOOXYdce*J+kTsXr)nIMZ(L3w7V9H!Bn@(J7a71pDHx;9uZ| zi)jw`fnMn|Svm!JAbm$`tU+t64PL?-L5EA2?>crHvE7ZIWV0=SFo|!5gYAt*ii%aK3cC- zx<<4nc>DuKxxa+OHFV zS+4gRla`2^uMcTvX0Ey_N}qn$;`}L1Eh2Ic`ApTyH=VFff+@MiVyV=H)GRKEM7>qG z6GE0L+g7Jd{6QpDNS)@=j9BkLRp=8=><&BNt~mWcY49OYAP@!7PjlOUOu zz1Al-DREbyc#%((bZZ-`{|x#ga>$B#-uI9_f9YjU#sdvO#*#rGe}DwE6&i(?K-U>K z5C|lEIxRe^5mr0TEQtV`!9O2O_d#OKM6xW3Pp!>~)m>*0i;A}U92$SAXgtN&1mB~q zz$eKx6mHQ;0f}f!?HB(?iK2JI2PBGGBCKc2&r(w8FO>~+&#{iSI0r_SgK|m=U17f| zKmECe8X9CZ`L$fsPwl@tA$0$!86!LU)Qn(2bQ6Jc)cOHV_zVTl<%znl4T|`h_>~ER zjMPR6A93E6jMi^0B6zA7CU_?9fDBTyf{v@Z%lJUK)Fz}{OXD1!=B7z?CUKVPp8c#S zQU=A$pjO_E2;cLnj>Dtg_X+?axYN!Oe6Vmg85ds{tbod;OmD%BMioVLMi)aw`x)oJ zN2@CLeF+971{zzGIgFk!=wJ9OZH1wQWbjLAcI>TRidk$5nB|BLcoqxmL>H=ptF~&&X zW4%CjGEHj;h#P}BCEm2gp>UBUFWqI?LQ8@l%+0W{l}IAIUQ7|HF^}E_D~N-{>d|aE zyVSpE3qAE1DtC?#EBhkkJ(c5xynU3842Lt7%ufmelWh|%qz8&vD!$c3&w%?ESL2`v zUXAk@b?gmkYu!X=tsCLOp&q_;CdLghmd<0w-pP#ZZ8P@ne{FBZlKX)Qk{r#Z2QJjm zGe0LXPD}3t{H4-yBg%=PluXfh9+m~ngF-xnV`>n!N}g*)*uOWV!5k-i8HSnDTW7hn zAyYX>nP#06cStpwlZ<0Uj$LFq!k8*><>5Oty0(2g10~>A%Y*60lhE}6eDHhD_=6If zkgo(KN{>pT#2@oOiJx!j2ZdP`3{bjIf(5Rd!!VFvrg+ZHdv-6zG1CTyU-ltBMa=%YK-ZUVh{QB8E) zyl8ZzVIFS54m#p}(yig1g4dC@TM*JPCthM`2;MWvbEO_;(&2#dWoh5S1bN-pmvcCX8eCgavb^ts@b zp$wIYUqR*S4IJ&A;P1#AoFH2geD+B{%};PHUlR)YRn>u+ z#@tjI&fD(h`*pX&Tl!22ntyF}rI6e}B)n|5K(z|sJ8}jE+-|)cz-Xe3B>$^xZOdM- zaz|+4H|>sa6EFS%Mk|l*0EX0_DDDWi@|!V{az`lRmeOHGiQ`1Fy0PJ>SRb@suh3gv zvBRUx92k)HLtqxueh8>$_$&xiHO^Hgq&@LcZ<1o`5rS*GNN)wJ4o+>>4=W0{4xq{M zwukIAnT*XV=p2iFRq#;<_GN&4I<}~G?>Gn^*0#-VB1`wOO--7Z)*{Nd6Es_Gv}X{U z&pSl0<6F#rdk`>kDmP7h*{T!FOL6d@@&SI%$4Z{SO0>m4g0hvLhHgkA))Xlm7 zYh^`(O$WL`=m5Z@fU^p7B?kavqWbJnYQZBmtf(5kN%Yq$5gz#i0Q(quToW99o{bG& zs8adC8B;LZO&K@hvrPB@$`KnHPO(~c=>EUa-2eBZX7B$05-S~0sU(#n=ivXp)cG{O z9%q^nbtRJsPCHWaK8LAxF(GNDdJp{T3o_MaEw>%>)wx9u#!ld16>TkW7#FBeO>luj zohD~ikP+(|j`18|j6TCdjQO@Ffq@Smb!1@H@=Xxov%VdoPh$z@2^ z|2M%}(v?gYLE{bG`y=gi7n0$4h9uVlNxHR6VKL}6EWXyfJfQ|+6Zwl)g$NeX6&RfIpPLvN`tU&Djqe!1zF4@Z4LnpYtrEiAICs?`H_9{`5h{UWX86yEgwL zZ-dmbMX>6Aqs{$>zn{=`cH7Or*Jqb-K4VhwDET7~%Sr6Y?dHAVQtVgD%tGhN__397 zZp=llTc+1E<&$~Xgal41Gjx9+wNnb#6{;=gJP#?nJtWSEeM!p$U~`rV&cll!R;W`W z`CNlQCdqZ{l#UTtI=#f?f*wxn>Z@DQKLwQ}*tNWc;O3IdPN$?_q?0~yxngI#9DA!; zK;2A62qVjbsZ^m7Kfe%VzUz6mVSc6LHYIlu6N#3pI1N33uvUYiTfvL?=G=Qc=7KA zrOve0`o6!>Xd->BiS#!ENLk#cim23yj@EG)AB%(=Gg#dO2!M>(TX}qo9azYg>7Ta~ z3*9pP0&+?S!3jl&@oQL`Nc77^sPltQ_W=!&>1D7rnO?{7!!Sn4^e*v9Lx*5GMkxo~ zH)L*PGD1QJAXv+(*gk|-yO(z ziv>c6n13(iPD>o4-Kdi{;5|j>OM)S5AV_pxIfE<6l9;BhWv`iz0^b*LBho6`?beR%CEs_hyA@dHbn-rr%q)(??kr4E z`%=xJjyAfv;Bq%Vr_qiGRL|>P9_OP#UpOD^$x#H;i=~~Zv~Zi@iJ_b z4nMH4qX)WmAu6-?-Uxgnr7U4Kor)Enf`$*kQfL1KQ{kcVuKSu;iq@)A%{jkgO>`p% zIbRRf@3#%)7>9YvA;&W+^OYcni!PLj1wRrq@K`W%y?p523I?yvz=2E2fY#Fc< zhIV@g;F-!8KY-AAkiVH&4IKm%3qj27BFwXLt3ch{4clGWqlhTs*7vA*yZQh34u@d> zz_+UGQN)yRt9B{2n}0;yX{Qfa{@%(j*>Ah~Hx$gY{0#j^Wk*}T4#Rj=}Y*LNThjFZmf?SO@}z% z-pt{nhW_@vBofitTL~T8R)@I8Kz)-+nYravZK_0unelyT5h*j{?XT}pBO)w8ddsW1 z$*Pyo)G3o=rW%?NiohAx8uy?PlxXRn!Wt>k1r1kqE1w#Zq7caLIL6r>W5b+aG!G~yt(GKXnSA)u4gD7clOS69$FZ$?=v`T4LO4>+y6zaJIgqvmo>+?TPrSve| z$^soppTnmc_$8pNGJJm~Ia3LLg6YYbrU9d!1A4PeU%Gn=7_kc^V-_^ve2DU6TDSwm zh-I<;h!1tawU=Dh5UWEhY&gv8;7`2jN3XN2RJSI$&!^A{J2hO5Ra!%we=RnLIXhID zXRm(DCNVQ4MJEBlQaJJsc35qTp7BRD>U~SDfX8j6HFwN{8O&@9&Tt=#qjAFz?6hOq zz!+V>?bsGt-2xpjY!(G@STuXFVJ;9W=-yP7*{8{}Fz7A8!9!9o47c1xvJBY;;Z}(; zJz;4|_h3k;lEp#^Z6J?J?2eci$3JAR6XG@#qSO#$Nu@UT<4oOsw|pfp;8*?$yA2aC%bakH)RY zgAW>13^`Fu00mi8TmYh#5by;Xhx8=q4B)d3vk&a#M(}kbz}J^>TDCNJ*0^B>TV@rJ zaDGJ&TV@p{m5WxgWrk|v^@n&tRlJ@Jvn7NMXprVmL&ZE->siVc&rv-`-E*CurF@ZI z`~SFm7x<{EtM5Mp2@DW8g964|jT+meq9*l5ibw_~xCeK@rH;ugha5Y1SioP z#-Y~M%hSiIZEdU8R$FhN77}g&R0OPoS_M(zj01|G5WFz&_qWeX5>%-DKYgFi`}zBk z%sKn)>)LCtwf5R;t*z$)-gBOwC0~nFo6VfzemQ_!=X)FVYxKMBWJ^PS!DK=pnAKep zowothF2<9GJvD*q%%V=&>otf>l-qouAOTB7C!Jum{ntJ(VHC3jy z(>o@OHAxFp;ezWfz2f>Srd>N#Ney*)q#DM(+1eBY$d;uwM^Ew9SJ3`7^vrkkB3EA9SZ_fAzuscLsu)#*q)r`4YdJ6eXVAFJ*KDK>d z9NZqL4PJRceflo#ke}Mv?@6B4+}{BRgc}d@E@gmthfevH>lbA}oxY|^&jz9wFin$446(G1Wn?{c)n zMYNSp{{(p%SqsTa6vgj0|C4gRCi8!KDi;V4(t%BJtB0Ugddr^u1zNEb!g4g}n~Lm_ za=$;`Qy(F!eZEB3@JCSCsL2?wDj7&6Ds#(d;~4kXN=9HljMoRsAP6)h|siwbOF#z4Cl-L9Hc^3t&V&7^^U;sV!Kxl`e z5CIWbLv;*R&6W{VPs=-^vzaMYVfssYMlqmgVHq?42I)24xjVH_)Tn?RLG;16Ux*y; zFRtW+Gd*R+<-hQ>TR$eV;z~ZwZ~73az97&6O1WYThSbE$pgkGqLz#uM*Pr2*4HiCM z>X{v=pl6{4`aY;pq1b|*1vzcW8aP13J5gd<8A%y>?Rlrh} z)(Mn-Tft5g)Tw!;^I3*BYo{+2TZZ{r^(L?s2q$7DidZHE*eAXAp@cs{chnZGQoNH> z3T3Aw{}Gyqw>&nk3F$8k-AA1TB#88{MvOX(SgoEPn7S#6#y$TkLO96~@f0t_?o7M2-w`vx{W-F3gfOhcn15OvP} z7(6DHj`&JPd(u&Wn2vb(p8{R`(A%c8;m>;j=1TrR;v$acHvo1%C1|1+G9VPiIOIwX zgwv!RqC)~VQdv5ZyyiJmXJP`NJMbb6IqzkFm>6L^W%d)&^PUafQDhb-Szbubvka9N z`7J!t2n16?b1p5Yk?QR7dPaq?(yWSVV{2A!uh_dUe5@sjrQ&Jet!Mw39@H2&>^~ z8vWMDoljoj!Pr8NHpc@oVUTJvplY8!ZB(~2D0em`5|@9*AZ9O-oc#?M+-%W>%jWQ0 z)bQUhNv&=(Nfm}07OiXL!?CXAvCBP^)G~eH6asan;ozF5*h$b4f)T_`#P@bn&@}vv zWvP8cNmCFX)*y34Y##X$VsdJLN=P2KKIFSko7r-qV9MrWmpd*S`iAY!r3HO}H+Dc5 zwjB^d1=5*LBa^z&U;QFEefVxe4zYiWxerG6==`%;iM^8cp z_2U2V-1rMW?RvY-yWeEDdCfn(-R8?mk9zjRe!Sv6(@_Q3C`9XN$GXHOVX)TGDXix$ zaPe5LU~E`+bWf`02a?%<8J=rE5J_by$1n=2&)(1(VMgMdU6?$%p=n00g6w;KS;=El zOWF4Ums96m3m3~f-+i%row0me?`~Yk;9@u7%~f0NezhdC4=y*Bk8Be7a1*Src80sr`^cCZv{2I;HzMq0 zqRD!=-WE`{;X!hVgEs0n-XLK}uXWyQhTF078%z$?DYiwAdAmHbbMmOwLj_GL!CD5h zjZW?tK23NCRK`jDcK!4&Jfvv*>$a^00a_8Pc2oJ6?kXND>srAq$Bu!sNfXm z9Ua25&OpXX3);e>ThA;u2eBbZW+p1SN{L8>(i^Yp5L0z2QcM_rGc}930JpN#NtQ9I z|8w`&E{02bY3aD=o6rdvR(Y0@*SsCP8J1wg^eMM?UIFv#?YsBC^8y>{W@_i6^#yWidnPWQ&WjqK(qPy6cqX8-f$UhVUhos&GP!8uU&*~(5ttvSk`lR5Z% zkRlQjo;cMU{ONVheQiOt2I}1JkEEr~{eI7*ckU+XHs<*lX5wkFVA^DnV#<~YAFH+1N_K5TfJsXtCYUL^Hzs_ud(2ndX(7># zrtsmSRqmemGbNJpv_#Bqy5u6VfcgfF8>bmDM41{J9@8jT{6uN?Rz`xz5MrX@2pz-@ z&p8*SL=eE+$|xF%_4=B(FWStEp4t9HI@LAec*Y34V8G8V*|TijDkk$FU8r6AY#c)1ykNE<=3y;u8yP?UdKaFj-u5fASLrSFdg@Pu2iOjF> z?fGh&WC8(=h4<)tpbP#zigoCjis9T7=FBSS7xi;Z`=0TM9lbap2c;F{=q`gNjh>BW zIu{9ff*`+|4{`>&fE=0&km8r-RuxJTtQ*;sM595INq(WeV-BD+NOiuOcdl6?N-&J$ zY#u`Nf2(r98@HRBbc$cIBw*37PRS9m7YcIu2|3HsraWy7gz%b89XJTSXOuGhgH9RE zow-*-#PdOV56u;T)KT}i&!z5Y?;*@&hg%AVk@bSt?eu+2znmifcbV%qreU6^Uq&qC z0wSJy9S@!z9S>f=aec$W&Oi-K#76JIlM$pn3K(@>j9K$IiXd-x5NPt=+Dq@iyD~UR z?dl9iu~&K=MLFHyk|ojA^yFjr_VLhe+^tOS1xn8v$BS99A8VYQ=R?vk&42b5L%y-) z$F7T-_iO#|^IFfk;#LX-pD+YmcGvsOfBq#jfI;ecCcmNJw;d>d_=nUV80&uD1?8Wi1=a=eR0 zYDy(s2`ib`vQPQLB11p{!R%cAm_;ZoMT9Byi0*P~hVFKcWfwFug+@K#A)uMwj#&7> zZgZ{B9gKyb8>l2wD#URC?THGjFHqs#?w`haRM<>?r)vxqHkm*YWAsk1yfDXZ9a$59 zK^KxCX5r`$M9|zXG5yhg7&$GcXO==u>iLq~M%&kH%T9*>whvCdtC~zZS92_p7_F|P zQ{-&u{#L1q!{oUhA_Xh6Xvap?V9$Hu?mMiXp7!EkEfLWg)`52bVji?;?0LWMKlF&? zrp+c#z|;lF5vc*B_1^i%yzy5r-TSwhe=~Uom`~JGmU&RWOoi2%hbftdIvx^&sm>YH zIj^Twyk3d)w3T14DMJj&rf!+G{h0^#MtKYQH8mAyzNj<$Ql&4ZkgXJI@%lnTlQMZ{ zr1Lf^ud>{s1PI@~dXLYTGJm=GaHF;yT#G8k;D!tP!@8zOG538Kx!3LA?au(p`J8PF7KQ&WY(mv z)_RZm@w5iZi&$pJ&ei~PXigh%7uyyN&pkb;1G%dC$ndW=Ka*kCVlMdyuY)&5vXa-#@z;$pK3G6xc;-ZUN|q|f>8n?C}3=BXYs849VEZD5-| zZCNXKvh*@kmL$=d+tyMymeN^<+G$17=2>dEn+WZLBrqWFIJZN6x2QhWgT8BE0s^&o zYnlhHBGeaZc!K7%47D8LXh`hd1L`FnB8b1rk^DhexUNol>oyqB)+;tg?-)!}urXaN^ zKg<5R2Ul`PSHPyy+c$_3P9(dzuI9!{Ov&i+Bn?qOrybPe{6*KpU(DNGbS>l`xxG7HOOH=6N8-&vCJZIkETbQ zrjivUYwhTsY@C-<%_X}C#NLO)^x2<3$i!InBPgb8ZL$xsql@IopS_(+(X*55?P!xf zNmNr$H#1MU=j)FEFEoxg%f!diP9zOYHOF}%4upj?w`Xr84-fU(2Ir&A8>w)8@^!Jn z?W%@xnPIk#FKr0Id#i>5l8RA4A84w@eM|_CRc-CTcEj45UUu{txQtgta>M*4)tG*@ ziNy*7H_bY)?|jJn2vATptIJ@kkxDu)IISrg6l^rD?F~EYT;pi~GUU5`&jL3dHU}o& z&}~Fb_m{E-#f+DJbW9DGbj`SH6&xV*U*X&pR~xyj~~# zZJY9xNwybN2s?+^&u#hQkx$lEE}|bq1Z9Qw=_ZpJT`cBU)3M-w8 zVtZcV`z8Lzj#x{+3VJ?@Dle5C#1{8{>XqU`$mW^%YPG*&Qaz6sqrBV;_yD4NEgy`g z3iX9H(SI=Sp@PEnqBsW%+pwbMa3n)JHWgJ)O>REm&t>KoxpuU9eR87~ix6yb_h3~< zFJ?Qdz;0W@+DVc4NaBO64TI%D>#jwSH~}?F*MzOm3jVF;-zRqT=&a%K+%;jRHTj|) zm+LR!muTEJk0S%&mSK4qT`;KK?)ChdRntSOri)fha*GfxF#isHayF#bM5CC7?ZotB z1?sdwtU#lvxz#)7{X~_R(LISxMZGGbO-d&W4fxl#5(pJDDo+48-A=8r9iC%{*aOD| zYDH!^@fZ`ZV+!t~=R;UReCk}hV*I(#~3Ln2O(Nz6S2(8 zQ5c38)-iZ8RbcD)kU5$#xj7^8d4QR!6;eVx)}@auePg+D?k<7}eVVX$eNl#zZBwKq6_? z+9c$1!bDxAU_V%kz2mOk4BS9Q`hp#ZB7G#b?!`n%;w$7t!y~5~LRaMl%lnyBn=ym} zfpIjSy)#Rl`bs`1lz334WMm@oAwgfY2>M!bQlLrLmbyEh^T(uQ0=f@(3I5#^w#(c; z&q~<-*qz4Lgra>%VvspSIb|bvBrHnEg}a(;`B3uha}i7P4?PXpUDswbWU0iN2QISh zVoyhQF-6iIOSuOw@zhAKkz!NAXvyA$UL2rXjp-75Q3C~^HAfv1hYwKV0+r}G)_uv8 z$ku7c^#?9dk}mNpQ-T8zt08pY5?xe+kh7Cai7qN}(1A;AsH6mEDyNweT~%TuvwMJX zJew|&ZA$o6LLr0?P~vCl5^Jv(th%YhjR!7qdAh`drbKs@7=GXqgH-}O=QXB850%I} zaEX2@!O_+krbMnvYzChXFpez|4_4hxiJmGUdz=H52(ks1@7#K{ios`lsl+V@E)h?+ z@ds1FLjQV>mNUzHv%BgrLshV>xzV$%Dg6$XHKG_s;hLeviF=KSmLU%;(PNot<2+sjjnVQTDkDTTnY>F3`lwr_&`7-fNQ^iisBn|= zvqunzGs?Gio}?+<|8Y=8^`^pxJwV4rn8lkOR7nW(28}|ALZd=kn_{F!(&t@fh4{(8V z3VPeI;YW!BU1vKZkJ3>RdP=MJNd9#(xWjSil(4ha7?$pJkKDL7l`K)3IU<8obMJf1ZVJrqoM${{H_83M6CDnSW|Jj(5+ei39?EZV zFCE%pXaD@UdZC9N(qn|x=redHyT~7tGr@_oP+rK~0p&Z$d(o{`wsQu$-hGk$M#Z!1 z%BI4oul?;Ot)A=!=79}_#o6ng{EpBWSZ395fBRK{u=MSkoJi?swZZngZH2Lc+F~2r z$hRf5XuY!_K6WRMWe7+g3xboTUN(_xb{Hm1+R0v(Q}r(Rg!W~IAphxJD6Q*R4{O{ zvr>Iux`sPo{pXvlv=O0ZD=49q#M{{-4K8CA-`e zHlTRfWRAYHy4zzGAy{kyXF2hrVB&H>Z2u9+b;Z^4gd_ zB#!CWp}yb~m2@BofgwH}!vVD)_7-&M`Kzpu&cC>iL{ChQ<@Du^)AWYh1HB`oX_g(U zGoQ=KI@NSben0&h9e`fDNg0b)dYEJlU1<-*10kxAZC+{`9cEKITYl&?DppB9EF1JP4!*?=x)G8$YdtW25rx=9}?a_3yJi(s;a) zuC0Oo&i00K2AyAKzSgHlTW=1?rX6I*9Frx;Xmb<4HF-=*wA5F7hF!GUoJQK#kVW=D zY!+^*BL^EYAxl(tom_d=ZRe{V<`yn_8@(iaMs-##>-e04 zNl6^crH6!}^E&b=@ zB|r;F_GwR<(=EC~Ps{0PB|SwOp6Tfs^t6SZW~>S$1^Gmk45rSS1OwlQ%YOv+Dl=Ef=DuQ489}Be7_ix;n-t(l!OkC)QLg9j$Sns1_|uHBC-Uu&vNC zs|a$T6t;xbhEa+w!-Pkp(9!KZtR(NM9j%}TRVz!~EOChe?C_Zzlzz`&bdA}L{Jx(D zTr;mVTnxOyErXaQJD~$?XhQ#j6D;k1!oSr-Nz&MgY2LlgP}~h(WmjI|?YOEsR%X>7 z)KmT3;C`%R-=Yj$sMP&Y$Kplm3sw+^b}Y_vrRY;6L4Vbq$=SgPrb|n`E+ryXsMW?g ze*pc7#2zb7{-aP%>mqHKo63?6IN!R`JnAhJ6Ox;+Hv}70X9jpXj$t_|VP=elI zzbE|Zwkxs{ag&g)Vo&20H1UahsHvisNOtUH&LHEqr*D_#|BJf)wVTEt2Sm$uZtr6U=G)#=7Hl7HHt zs(n5F_vbtU4-WMCMX{j7KOFSUkl63%*iSjhI_PqYQ>7Rgp2fwfkO^h$I2k>P<=YB&< zmetV6Uk%1+jGzZo+_!u0))}&(>8mB;cV<#NPN6PT+eNFwzE$c&b@E4T(iF#5tG?9}(m*(&?a zck?PVhh%@pMtRlUyaC&H+&(QnL&~-bLZIlw=PRz`CV{EgNH2*B4nZb&zR=C@DVnh? z?7TLyrPH)&%Z7BiL16cA`yIEgRV_Sa-lfPB3D9|triaDWVYPWnrF}Uk78$EhkVO<` zMI)1s>g2pe4e2{jfnP_V0=IRnqRH_H$-&>Xit|)OsACnWaa4g?Y4vUDMeS+cs-=5p zH+U50S?@zTg?V}oC7_J=n-A%o(Z8Z#uiZk!FB;8(C(dQow}?qK8=wKseOVmeIUm~b zp1J+*Kyb{tY#k!+y$j~161{f8evucwDewqGrr^59_JV)vYYO&P!3$OJH5JT|#_Q4} z`ry{@2=D@Rx}Q3osbc;4jJ?-b_qSdZ(8YZz_hi4J;PCdGS1QJ2C9uwIFZ_rKqcOV7 z6s|qAt=3=Y1Ink!H#(Napbpi}pjyKg5m zGC(fbmDLnf$)^9$t|+0|FB_X7w8;|RY)R*Mk;CE25Mv?h+GkF3iJJ}v<_{`>=4_Tb%-^+^Ru+~@- zS-sPiu8_Fph6H@<-lP^d+a1NgSnb}135FGM_PFD#bFx^KKkz0=BYHMhlwNx(R>#Lx zOc~)lPBYnRLxRYORF@d5jT4HWY83<+#ZYRG6MXKz1xt-MPu4N+i1WM%sU7{D=&i2e zmgWQUs1rwlVt$=I>xf4L6o@pMgc#Oijxi*QI8Ugk-C~Zj1WWmBRol-G;!*z$lclB% z3@aOUS@jax6}PKZzp&b$ipv861i-I>;9d9p3k?X?XF#yYeX2(X5NsXef#75>+h4h0 ztv%-)avB=?k8gI!GwXv3ZKo6PDKDzFgjhG-tG~g|zFAKFU8yfJsSY!T=?3;EDM)mf zL^in041RnPXs7VtZG_zK(?wX3fSpzQJ98Ym84gmi!d-HUSq2R+o9=LwOctF_6$+Y0 z=#j!`;g`G2wnBW5?X9A8fPY@)-a)*oMmxsGGx;caze*|E{K9&(cs5qjX%mRpaATQa z*a-*G?1?!+8D5Cmi+|iq!A?{~(1-y82PCDrI-Kq6Kba=71oe#J_C+Gy|HC2#sMt=KlIraw68K7~&Y?XOS>y zwPu7VbDqYFr?ufrz;sV1S`ve_j`oP+#Y;iS4JXu1JFtC z33Nbe7SzzLlMP*UmL=xGIy6b^)gDry+D+Ubei9!vVl@nI?!j|01@6k?wW3 Ab`~ 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 z≫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�v4lS%=A`)Js`} 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%0AbHm$6m>+Qw6@%OOvYQ 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 z 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�yE#(r&ap}WTJ+oz}xUiD)Sh-DVsEwK6v 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


    aib#MOBYI z84O3!Fz7(}K#B+6%?RCiE_Gup9=Chp)bZ$LD)%VgL8p>ttdWp(5gR1guctGE%9Brf4uHHf4}txV&dnP!K5`Lu-xg1_VhInONU8o z3v_;A9PWWSr+|#JqL|c-1@Z$f$b%JqNx7L+M3=VU6@T|8vZS1^w>!KI_GRDi;4R@B z(89XU@Sz$ZV-7o1`0JL!175u)+yKn8(njc69Xz`yK`6*q>sLsr@DIg?OPfr(&8Fl? z14INRy9gz<8U0Who0y*@EzkduD--+P5uQq?G1N@2^S;4E68S?j!FLt z#7KL=HfNoH(iI1|L1S=$R=ti<+Ts(v(aUm$4XR&7j9;%Asx2AaY5({k`sj}Ptp$j4 z=xod*mmPdQXLUl63I2m*623K7kUW9dqzMO_tcjwHRiVjIe_WNhKd!9O6pH)5c4N|G zkE_)S&>*-@EHWhoRm+GeO@zbjRr5oFJf#+t_q&w*pT#bSkpQDt1K&7$?Uue5k*s=I zc76J(Y4yeVF1vdUVE5df)IAFh(mkDJg9;33pPG~AVU`*e6(p^Eyff-225{#Va1RD@ z6M{%}Y>lIUp>!o%EimSYm}&p+-)KB1VL+Q`j4Q}E$WZ|kyka+Oil2*i6%VJZCV5-u z@FIsl2}A9K1+%{urD$_Ly15EkI8Fh}Be}G^(|#%FcjRZIlfDb;1WfW5?t`4zXW_Q917_XdpyiIF?Mdm4=D!*7EF+dC zq=q^NEtdXps?@Mn129G;)lvsFAzX>7Bh_Jg$Uf<&!Z~JdR^lBRFu+o$GH{$sOjfWY zvkN0S0jLN86C$Y`k=pfc0i zMp2h6I?k6m*`j0kDG(ibi18XHg34Z~6+?~DozS48JMOdoN@I*-VOtNEPAS7UPjQg; z)pA_*-uyJ{6oGqCg1sX3P^38RuRwN-L?m%}1ut>^cQ7deeUm0-)$X~7#UXqTUi34nw@q|j zELoYaF>DNc4Z2C1@lq8M`HW|)@i0dZ*(1xqy`gycU~|jn$+DfjG5>*ZO9yS%B18v_ z3j(ofcd-;GW|$(gq;3y7{R0xo<&^+F;)q)dL%mY>8bVHLa5oN)JE zfI{V7byu+`m~dl8^JR>Ca)8uhuto7{eGCe8vrFKK*O+JntUX87@y-7@X+ab3j{C;|=dSUYn)XWjZh1RF-zpb={r{ zxYi!{T=?yAcPW5|V$Zny;z^gLd_4I_zoR_7*H_CYq`4VJ%wIHZ)?$p$ub+w}<~?~J z6EAZ-1tBbH7JkQ2HXLx2en=$piG=IB*9YVQDSa9Yzc6sYRfVu|!DD$2X)lFSFSzMf zBs|SJSUO=68eiqB*lG}9{k-))(3kEX48?sP?+q0|-`}LoIF~0Fpy3JNqFC==hdiG_ z|B$t48=A+|X1s=dWK?)hyC^oOKn=<#<5)luO1sR;eyoXt5kO^F((+}n4ZH^Q)9TX; z(0XgeDSxcmv#Yx z=%={3l=ARFd(*Ya z@E)Vr;hop5*M6HhKD-wi_e0PY#)n^(1PD&BgC8Odg488^Fuw(1Tno3jw1>6`zK}D8 z2aG^ER$7jOAek81P^`^q@L`r-263_rDVJh)hdza+U2Qn{kmBZg&>$Dj3E;si@#Pjc z1eE(R&{a316l$tJU|Q_;tb{U$2#T2MJ!nzC=M62=gin6Gkw;x0>xWN7z>TN}8Jg11f;!s}0E3KrCbQaO}DScakdu23Cu(%cKl)e1ff|t|GIL zF(Xf_iDH^JIvlC55$#m*Aqs>+u%;XXd4oCBPtmO;dy)#6%Px1{ss#WC`%IFTrBlCH z#+qSmt1thrVHk$ZS?6KV!niln>IRig@f&8d?z_jM zkg+MD5t*4C8pIP0U7@Rin^Dd95f)s*lp z*7GUh3D)B&;p?pj>@d4}ll0OW>EvevLri$J>XY%p{vZ3CUp=*6t)$lHY4U2JI&^vb zG-{z*eWzy!d#_f~Sh#^*ncaAn2U+dTTb+g6;g(~Ukyc0r_gb!if>ah4YdAVLBFsN6 zM>(*9d~a<*{5vX|_a|u8w^ANdyI)2ei>T(w>)NdCls7=&Jcws7;G6ggIs1Tn6<+kU zY97u`U073G4SH{{(R@u5<8Vxdu7^Y{e+QoYqgt{BPyG?)a~cC)qCBZ8n-Ak`0I$B9 zlUItwxGxzLjVQCj&HEJVeAGnBWiR@re8m!NR*CRECymIJJB&v+W& zhz|i?0(e}KX8d36cn+6#d>-Q;Mm*B=<@=-Rz1S=%IMiVOOzL1im%>J5>bcNeFlB;& zrY%&H2YXw%su92KV1H2#(S23vxt{Gx6(AC#3iQTTuAiHv5QM`PJVEO68$5KV+FKt0eMeIb6q; z7bcFX3l)5A&dpXereBP?`60}nYcZjW_h-@e&7l`UQ>UH(8ho=(g4>1gMR-r9_8`wg zmvJt#6fIj#jJfPE8_d{eOS+lT#uww`sbn(V{DB)gD38& z(AQfpNVoRclY+|;^4s@IT*)vzx3Q0PEK`$$X*(rOLe& zC*!+yDt>JIINnsqD3g4@x}QUXBY$s){DqzS6SET*z(oG$#pxr0!1^gJ|Fp%&kY}v@ zQVr0ZYoKty#AsnQ!g9zpP%Mnra%75(Cp~5nR-7K*6;#wkcek?f#pe-X)?m(Ti=fDA z)RqI>P83Q7$ujX0-iz^<>Iviq#f9}IBHJ17^Fb!_FWutz7qsR@an+b2ikR~F<;265 z2U_GfP}JcII2|iJoNjv=*w=+4A z@x+-&-d$&2g38G7ITo@gK73Mknlrm5HJ=QhAqr)Xm(yIA}cWs<_%{v9}?{< z&!?<7BQbG$f{jXR&Ms;|x#j>Sg;>S}C^0jEJE%SV5+eb%q`R}?>4bG{#Rw`yU$mVS zhFcitsqEhypyXH&Q8$V6v#5wOi|9MXo;DxIA*z=)>lCP2G8Ikm`$>p`1H)q-_HaswKwc^JxJXg}R z=sBp^#W7zWkO*ozJ>Rn@!y+KfR5>_-kNIm6?~42)7NDf9Hot=%$6C09T~3HZS<+QN z-St*GZTvJSXXXIXY;|9fHmeup1-fnxDkVccH%(ZXB1Ee2D)f!Mh-`62KbJ7(L3CRu z$RtnU1Agon?c~ggt*=lek-vaV1;kneLBjDsLbqikGWT=>Aex{KTTlJTUE6g>F2Rq6%paFZ7x!h#y>}+&c8q%yQFkrRK z+{=8RU7#6eIpWQGrL9|+Xu{|hTL}x{{8QVj&>DQcV%vpj=6&scriaK#=DxPw&-4)K z%g;mcnPcHo@U*ms!fM#2_FClkByDW)*6&bS*Y?1n2~?7g>i}{G%(Cr3;c7LYEN7Cp z+E4O5`ZSXKg-M=kKgruFNja0uYCp;ID#;~Gay^nz_*l!?FtC7Lc7d{h&bFWbw4eX7 zpAXp2q4x7{_A|$R{?&dyiD#m_&K7?Znny>&H2O1c8sWCLE=jgd|0X)1Ov5&vF}P2u zWVQ&OMoiqU%A)|XeJx`C`N*5;#nn|6v$0LUd+FtzR8Pk_H5dRI1L0M9P^7CDgVng! zbQUXPAWv*+ZpgS{VL+b>+tRHI;K~pT?}LG^4>}FrkknxJ;UE$n3X9rx*+c5n&*s8! zWBt&4*C5;%HVZHl2nCFaxdE6!xjRMHUSh*C1Bpc=E*9kgqEa8P!5gZvDQUhxkx{W5 zw(yo}bxF!qxN4`E8n=IblHk2u1TX6WuRK&G4eQY1>Y9p?aF7QYZ*wC^H7E4}XPqjw z601;asYK)=Br+p2FeGxx)P~l))ER$`X;^ObFBOB=sf1@Bz;UNTM~Jr0%)<3z=&f3m zLJ>Nv^2m4?0dwB*?E9G0V}qK09SHb2eKD?~(bJfkY5fZv=jbaP>Au=93=^%iG}$sC z{*usc6_yPpAx#tPrQo<3IXm(GO()#-lijs4)DqBhaQ6IUcR=Zq_?(s%(>`8C7Jl~ zLo=TGCVcXUyQuV35}9ko{sr{eUm7UMgH;oN!Sr-QzRH+n|AzH>Hn(d)EP_YCALw`m_14%9!fXm&YyOm_DOs0-@Lg4v zBzR%|!##cjT;+q5zFYB1Kz~1| zzsZSKrr8jKYEo1FtZW;jjL$JdXy|H-Dn1p#9ci%#62RP7k)n(Q?g|2k_CIx#9`;t<<32a7{C+PcWa+Mo8FKF@ z`m3r1)OdC}xNW&Z;OF5uMERWT=7t_JYX=sE@v7H^qe1rZBv6rEY3dWKclj zeqEZDQv_skOY~GNF+p0wX@^Pau@Sq%dt6iM!gpt8R=gT3#hk3el$W(7V|o)FR_MA+ z$z5hQ!1~FZDS7QOn&*kU6Wzg~up&1on=i9=wuaEzp*)3NNQjP@JbngY-RASNK>IOy zg*8Hbn62j2z@3h*VE8G}pcbhX*y#E{X#skym`m8YP_4S=C(jK;KcdG3rvy`6= z2e|et$D*rpefn;nv9t~naQ$2@UNGq7GimD(zLao3PB4hk+esH_ZxTeK;62+R96Qy){O4eV<2}S;dHdR2O}nCG(`{u`7j zE&7lfaG*?yr}t6?%GvQ&REUMpnr*bma?lFMP~2Q71Hn^jAfi!K!g{? z5uOf&rvu?0tq|5`eM|~*(Y^X)@-TIv9~kA7mq6K~BU$qNQ=1JTHEG#F>bUn=NqXIW2R-idZzt-79HV;R@vv;NAHkPW8%$pd;$oBA)H z`v~hF`5Pcg!=c5jAOg02OuAmk_EB`L9A@6}OM5i68>Tm{tBHoOXz}2@Sb-jvYkejW zs9p*OJbxM*D*(XG{PFcIY`%_&SvEjW?*8061MGcn$^o6T#z1U3mh^F||BCqx>7|*# z{;8HbP+Qy}i;ZT1*vtjU-Z1P}9MuB)%(+6LnRGHiXaXOxjJ5mvF%(syr}o^DhPlnv zr_>M2!w7U)5#}#&<$si3QvnYW;Ov9;_yc6JN^4v0A6>5hh<@3$!p`7 z1N%xk?+D+X<*L9T8J#ds26_ueb?*A(CX25o6v!OdPe%)kuvmEcxnd z#B*8s(@P9)N{xn$7wD}Q(ic_Y5zuAl12E22p#^}YT&wO@z6t0#$Ks9d3XxynX@zYY zA^p}WRS&u48-|>Gr#1oDkL(KRk=d*l`?latT+T-Als|jf6|}2dK#2)zvqHwLRjADt z!9{IoQdB{t>~yks!6?G0DrUs1cn2H{q>9&~ihxLxg!C77;33t+v|d?XRCX?AVxy03 zfVuBS^cO>I_wnqO4^gqqOi&*JBuy+*#s@NjztlU8H-42ws27XmCnb@0COI8Re1`0s z0`ZB9pT_4U%!&0Lvr^1TYH!iKVl?;9 z2fx7Dcqo2>k8TpP%-rY{{tL>(#83@FFZM#=#qq*PKJbl@%UHC~F26-qhJ+2Re@OYl zVDO6J60%4a*LGY+p( zIp;b#nrJ}Ze`xXYZa@(2Z3S}e7+Qk6$Ot2|;)F~_QGOP!*IrxrC%Ws}c# zHcsQs(^a;7CtHWq(#ljeevUIr4g6so;yP-@=59iw7Pbj1-A}-j*(8ccyj?7_nEz7g zcR1KPu8&Uvv)=nrWfE z5Zh#13hg0iiXXJ>G0))Vss;GD;dwb|;T*&p5oTa@w*n>Xbb{?16IvTLf8hq7zSjpi z!Qzd-E5gs?!}|)lJ>p_)g%EZ@;(@-gfDddCmC&NOc);ALYHuu(wl?NP<)iQnD%0oB zO#{+?@M+l@Pp1!LJqQ2QCC~m(r*X%-&(^_pDJh}vfeKkz9Kd`L*V_M}ol}c&Cp_^! zb|v0%p4r&7KWJsO_IJj^SXx#~M}W@QiaxdmF%5{R$N$xZYfy*YP4L91?Bcy|FLe)} zzTT^ie8U@s>H(uBHuzTD55f@P64z$|*QX)ZF6a(TM27~<8YL;b;X0R>&Lb4JNKaZ| zI3Wq4^OJTU5Hp2W^u@0WC|A6UpJ_Fu!nB1yXgQ0RN_(;{yrNO1$XUVc{C>ky{@(g3 ze=AmLPu3h;SGA&ssiJeTnJaPz^cP4JmQYxOlO6dD*no-h@ruUG#Dm#0`a|i$UePp$ zLHE-^Z#?^-a{x9BeUS;yL$J>e>s0&T2A}~+>pj4nm4m^s7HE~>70fVB9+4;>-re7$ z7FCSkj#2HUop?6lxzd;?Jcng@ub>60q$+7zx;(n0MHkm*B6iC=%Rcn zdHa{h`UOhd%)FbynOj&525M1CjHwX$AtE<0ay=sn0g;N+5xItugpNp@+f??31MdR_ zHVHiK9CCe~fYHu*AE3srM8tYTtRdV+#%yF>zPtfGkk0Sb@;^nd*;FNiAh>1h=ls4J zFLNqYfnR9(A29AC{;Xpm_>aYjvf7F~By$Ryi2eKoev@|MdtGsK5GN*D?;VN6OI70faIGua!ROhd z%{UKrGh&VSb;%UKkZxftBAa16hPU*L-jugSgj|o_nu!l+=rlf5Z*^pUqy-F$gq!e* zd%fo4DaJLKgSeo}!Tf~nG&@jVu5;PUiNhsYyBGYY9n@Am*EMW zbONdtj9r-lHxOP$`Lpha0|~aLbBsl{w8G5@aHM4buNBei-R8YW8I6J6GTn^Q@4bss(&Dk9VwIY6S2F+{O@-YRqCgbQ|F5#MM`Q5 zrUWyB)Kn*;qmeppiusg)2JllGQ;e7mwwXVP)lwO0V9&8;0AtV$tNE}-R1keb#2yYC z#t`pa#_Itx+ax=$gVP-$}VrwIJ`l9`8z)cm)(RB&Vi-PQ$qLTz%>-=ztkC2t^N?G@^ zWl7iPX|PeI7%jR4Eopw<+#X%6jax|zrBFLM-*8PfN`Zoy0TfVudT=?^C-@v|4^9H$ za7&){;52zD)*ieGFH5;xU{jb2v3_n1cmXbvps%QiO4@+vO7mMm9&NtRE;!(7#JOIR zyta`MzJu_1@P_MgQ|Cu!2bxl`@xZmm&y)Si2-Nf0Bphw~=HzuYfRJkoPSBkEx^}!h zqJjP&p@hO3KQ=2HEAl}+s02-jGGtt75dDP;1e&fCd9NTZ4~9#Ad*Vy z(@NHo|B$Obyn>nol!We3U6pbK8?CCe(h+b#L>`hTiw3yp!S&G!$q>O0XSzSwOpKQ>c^dE8!j4~{yB;H7E>@k`UH)h24G zx?gWD!Krfk3z>j04De4Lil6g*#tQcIs3}*|zv+(Cth7-+*!L8*QK7E$Z zh1gDG-$LBHN(J_FEx(Cz@9>8T7ZfSc$Z9Ka2;SIt@t>+w_XR&va*oZIFVC{~cmlju z_CCh$y^#YLyJa-;iduuQTjnfa#-*x|1~Q}}T?QFie9`pW!Wv}jqO#e_P=jk7b)j9_ z40R@zbQ(jMH$|IL6O|N|h$l5bZm^U4;kp6Ik2gqI3JkjoSYOen)rhc_3wNnWp|*J5 zYy{E6V2}_+%TC;UBGwyx(Gx)A98@Qp)d^S1z$3h+?nS7=sB!|7}&bu{Q^b*w2d*2>v1U{Vop^e;V{T5L+S9>FMl??iqQlM5&w6$PMCxZ< zeFba1m_tKF^Sai1*YEMh{!|4b4vBUv5>BKU*{UQ@>HB>+gGreW{5WLf>m9XbIt~fZ zFe;KPvCBH}wgEMFgs6RNAa+@%K1Xr>9QK3QWyk9F z=rCuggt2!p!p75g=yN8jj1%O;@!|R`ebLK|QtF95XSVuYC2`W4KA6oB3dPdJAJDZ< zkIk1vu^L9}kuvqQLr`B2{kn+XV*NC{_EoPaeo;PO)l?NZN>vUV%Nz;dwIr6FPOU6b zi~z>{aZIew%ag~VTs*>JX6T~L+zJIJ7`qr3<$fE)K{kPcwYca#fQ5POFLi-}oq_Nk zywz4?S4*9wyof20N|MZc5phspNQ=S^j{O-KIZ@HZVDuc+_0);r;zT#114hhLEIB!8sz)B7|D5QT7!X*}{rK2dk4|RlH!Je~(fR=6_!V)9p0tKIh zaAae_H_%MeacESGG{hL`@wztoxW7|$0L)ADH}H`(9fHx!6^#V|w8?_!IilHUOdn0p z@p)FvCxq~Ys1-i3*$CQ$ceWcq7b?&W%o@a^(Yhc3I~}@JI#!2cY;SeT9ql;rb`yxxf z<9*RZ!-SCAuvCeU#MbZH;*X|x0dr9HXyIR>3Me~DRFydjlx0C+Qx+nW!jC%(IqjmP zK4_i1EWo75C(NRt>rH~~mjH`A6Yw?YA|uBcFkVg% z)S2>73y)XjH2vR|Q;d3O;r(g_Zt4GBITHn+M^!l!q?|<#)w`g@*bt;r7m^yz_O<)b z)IT0UM@&s{T3B+P%ljYh8OL`9lJ$4B=e(&VI7^{+a8}QjBkenu-e%)L< z@!J*Bu()ZPYn?aR4<=igXwZyc$Z}QCMd4e8TtOG@&870TCg}RfBg=MLBwrRqBe|rS zp~gJJ9`i(iTNNfpLyT0)?#tRzL+u9@mG51FgsOZ<#u%&vykGI5HHm6#Y}x|z$ATa6 zB8$=+@3+g zHuPlez(U}1+>4IN@^ln&vWdbk&10>xn*lhq&@PQnZ6F%sLlTY_+b5G~cZkRY*< zZ_ySI+!}(csmMmUk{~aA2#ivQ5aAh==3fwBxY>FKKw5qNh@UIlW?O~$Ky2`%4`R#0 zKfj%LK)f@pzrl_phjCbc;v0sKG;0>#ppDlsgJK>~WdTA#?WG+!EDuc%Gs_AR#x}>} zLrXx+B4lPsG6+dzQ3J|;Upp`4+(7PIWQh^sd$B^Lq99fB1QE+t2?|pR4)#FKs{nS$)2NpDWvb=0J$Dhw<~+ zwx7qS&u8=V0DgvhT@S{=lo1nW2J?%vemr1xk+@IIv(O|=^EKxtcFYt^%vYvb0- z46rXPVAhQYVV)@aqb~Pe7S!KUo1}2-9LE{89OySD;N*VgHe%cWEl0fgQatzqMhBc} z(Vo-ZpZ-jzz3oxq1@q4c1&!azBDucOEdRL$YT1$<-q^6+;g(L?%#C24KrG|R4oBt! zHswz7*$bdMrn`^GS?|~$9P*W^Hq}{=eqJzAmcNql)9baB{1CV6HqUqTYcXctdm1TZ z`|JG&6*s%T&jx7YulMiS0MZ2h6MsG12ul}%ioGqco-M?e@jTFYrb7N2*OB_~^{4cL z<4gJ3tWabWgQ-q0^meiKumG_OD>@C!ZHBo;t(PRr#>iHfz0Iok1Zk-+lxNKRSV2~| zeou0BBb=%`h+z_fqKnK?yPPD|HPOf$$Y}dvCfRZm04q`eR=;TDpLV49KiO5`k3GkH zBMp}ErLBtx{W`3j=qEPbG)8lKeZ2kX>1U34x4rhWeFL-EyAsS`J&YX6&+imubNu}3 zo=^4jD<gT6WP=0=A z{@6mvODV7X{QUY(Jwizf+1!jd2@}J&2hu7V%;MUiiw3fLm$H1pFA&prnE?!m`OXDp zKJo7U3ASDFih^&@XtV3NasNKRW&-8hw}3^CRt^z>&eebOn?9|*`?`sKua3NpT@}UH zD+aLEZhah3(6aRWgH>TZL+}UIX4T_z0-Vjs2zU|YCPG+N-oTX%<-3Q9iK`z#DDV|k z_33@-%fwm+#OY7Ekn(^O0kMdb5ey4a>twIL^{NxoT!YGN5eSaQpTKMF@h9~){8dOT zrAXC3fb$=!&InZf_CyF(KVDT`5@QXPCFqNG;K5o49ACf`C%}8&B=3vf74UqTZ8^f%f`@G^H*|7Lt{=>Ju}0 zw2Rc{S$bS47b{hpMR2JyyT)rHUBOVjN%zBHagM@HW=rPEFHx0O3CnH=&&s&BAkQ`+ z{X4Ctw;;z5tgk$au>n1bD=0VN*n*vuDu(nT?`UxyBzxkc`B?#_zzy@gzyG}-r`-H8 z-uV9c*n>y(@p|9^cIX}LaqgocenXWUr?Zx)t-mNX3crFy^alN%ArTLgiv1}eHdh;1@N|fG0L_OdT zEWEaHN<2-Bqk;?i3U0k3tzA5d6wAIXINVIu3RYwTXyFFTQSI^8wF}c)zrF=4nhWp= zh!R7tYFilhr4F{04igTpWcOOYCAaLseLj+B|1&>O3&0U#1Z3C+^f^lfmMrIui1jW* z{A|QvNu(05QF-l#t%}sswI$tPkdC_}*3m6914WzzC&aNU5$cwXmt>Dbey}|fcfli3 zoDs1~h=r>ftp2U$s+9Qd9P9J^tbd4gr}uGlWjE}4ufZnt`ick9@fl)5(`8lJUKoZcK{>Sg^uM!Q zWXYMsLfI})eW==H&ihalg~S+b*;4&){)cLz!B^uGi z-TebR2ln9qPW;Epy)-6hl+UE%jmSFikf0C5jOlnIu7%~i24BP}kq7rFhuZOeE;;(N zbCk!clA#`1BxjvEul_sz2XKYJ&mFW!>P}l9Rm&i2Fy9h~2yWvSCfN-Cl(~S91)m;> zq7MLz!}0V!oZ}En?^-1$o3xQJ_fP~+9Iy6g4A++Q91h#<2}r*X=@HHv;@6gJM3+-b zpLJGWqc7G13uFS+zw~=tOqT=XeoMK&-PT zd=P6;igW=)#=QzRF_JJ4iA5XbnApTf7Jx{uz^g@f0B%HO>C=N%AGLN%n2f;cj#|MN zc&sAoAr886Z%0{7|CG@93G3t8;^v5z_%G0XzNlJJid}9p-^qaE{rYKWqBO`4RNUpmc}rnlzooB-m6teSt+)%gE>uD;)kenBhm(hx z6|48h1zfcwV_6|wQFyT*EA;=2gSA_mE?p!vohrnytDZF40#QH+@L&v!H*;F$i9SQ3 ze4f8AV6{ML^-o8;t4x*jZYgjQLnA{Grxxs6y1A|%B{v2LAE zU2#Rgvd-lQcPxorIR?i-cY{~Lk~4tRC6EfUkrr84UwnZjTKsY#;4jgZ96x^jw?5Zr zsQUzb)|PCb-{M+KS6!c1W+RrUU`gEb4vzPH6ACEXBW{ zVf!U{LBc1pa1Ah0YDP>cDKSw-bn!p4X3CNH^NNuVrxD>W8|4O>e3GNp=R3g0m>w;a zodb#4fd0Ms8K&5CdP0(#3s+%+z#LT?)kL*Xk9$n@5pA6&d6}g--N|t)b2t{R?=b&0 zFW{#X3s*?5#DP25#Q2H1Z4;FGhs5_2$9KeS&EN-?4cT0Lp_BtOk2{= zHC`8&bM}l+<3o|;(UyomPji-I&x4$Ijc*X83No9$2X2w*IQ&n4ND4N%H;IPO#q0S5 z4E4!)U4YoI#_K(u8dUt-mQUoBkZV0|I`nyDgNPRKl4ClykRYn|o8ic7%~vec1l;1= zV#j_B+sYESttGr2O-wh%+wom_fw!XB3#q=v0T%RpTusl%x9$A4 z=VJ{#AIW)RP`fxEMVq0;HrKZ1qxdxwUz`7c1=6|@9-ytJVb&S+3gt9wtCm;?+M?cN z9q1kPPFsW7$amb(gZi7d6t!6g8cKG4W+kejv{>uy9RRL>YF*0StBWI+uxkyJU7$4% zaBBY_=Kck~%IeDF#&bf@fZ!7pEjntc#x`735S%7>FMdv3$3+7hiS(dIxW>{3!*J;xR?M|C7^&txhTpxpn`xHkjwl1t^GVFH}KN` z%>RA)e8_qB{kHbnd$0A|Ywzl2${5=N#+PpAdV*;Lh51mg@xmRwNGiy^8jqUo;A{-n zixOzDVniBz+a3@HJp1|2Um+k(T?45oqJkLAh%1L4^_OT#CX(Pcj}ob7JHQeHHu_6i zgEArw_>y|DQm69%iOQWWEw4=jP*UTcufFfiLhr7jVv|1Zbbc z0IU}_#A}ZB8tMJ4seHhivYOUjQSWCBv09!3y2K(!E%E>aEk}EKvp$6%S)Jg`x`a~# zIvKTlsMfvy6oRdcJl?UK(su+9lVMrJ$*?R6Wf-uN;$i3jkAOWn!Zzlvt-wz1+QOd@ zdr~|IRN$1nD+27v;iVWt;wp0!*0x)x|FXt90W7?g=hdDA+p4j4<{~6e!@XJG>miB3 zoE$2|?oZ(Pr+i}`cU^TSmE2t>3u5l75X<>x_wj9QYTgx# zG*ylEFT0M$tb{DeA}HUkM&rC{QOYMv2VVIGcb zB05QE(j_8mN(|oX)%^&mR^~j`JmU5z?ojNvvD3jQ8N)Q9G_p*ND>N3t0I;1f(#}nk zY@YrCoI2Bb3JVwq|Yp3QdteFO*dM{Lv1A#UR;Rz^-kmp}ec+Y%X|!qpN) z>d85Z%mGXmomiaI1m_B`d<}6vIA4{YCjWf7v#^U z3TBp`HJ)!ZHW67D94XbDo4wk(^fT|oDJZxE=smicQ))>$WXc+EWNM=X%%27iFD_@6 zV_m@l?4XXaeLb^iS~S_ruyUGi)Rh(L`<-< z6<3j$QWLfBwc6U-N!KCs?UcJk-KoCRRks%zKRfcSCaOHLM^x>%Ld>}&IBRS_Mp8Cl z6*|xhrp|G+?F`EeKn|%PhMbrNFScW=F5#`9+)5G`7^aK!E5Pu|m2KzO*A#9^baviK z1PO~)%U9=C9hcqNwE%A}*$G^3$a9WX70|9TpD`20WVPvq%jI>AOeo3`gUXM#|*l*ER{F9w00G!ad#^=yR8OL zZyl)4)5uidF__D5GfpcpX=0U^aKF%^Wo|#BfuLH9z5|hK7&_{qI<-T_s6fXOFu6 z@KGe{V?ua7atEyW`FlrVk=>quAw9!+EHi{(+p9kYSIh3zWtKL5<)RPRs~<#3lX>|K zB}S^Zj*p$MGo!5ogO1JY;tZ0sZLizdWQsWGf;`vJ=gVAaaNwa)oL?QFs90Z=oRhhb zuc2#!p=@L*GF6~@+Tc!~!qo}mGgt@O)aCoX3Sg#3qqg=Pj>EkPPXGHtP*37?VxXBh z+q-14oifw+5vx<`=j1;Lf4U1cJ66d*Npd?8*!|4Ri!@&sGXcFT^rz&W zTgy#o(V@Ry(ZM}+`F|jvocJi6Ii0E^}|Z!HgdzG zgcQ3F(R5qLU_w$AcriJiVufnv_t|*lAoFN8zOb1ay~j6X{vFLKrx|fL7?;W*Zc99} z4#Lj+5?;zY5a2TDR7MbiDTk)QMf$Mt(YAu!c4yzgx|;aWI4Acb(<5kwi=P zTHorhDo7OkxyfeJYK5ub zbFhADIj{Cn*aMYLya>3*yGvw>82FCmy(v*F1h&2KqmoUC`aQx>bOzhFM8zm{{|<(EtUqQ`NqlAo@8(rv(MDgk!RkL|f@$Y2-0A&h^6#h)C; zH~%0$+#@G_XtmYJnx{Hl)v-?Vm5-x{fNy)XlZ0w(GDWdbbd#9~u}{al%9`ISYkn)a zP<%b%KT>Z$3%00vhRx6x6WE8X6@JsY?S{@+a+!*9!x~FXY`1KtPiDqCoSOGjV~*ZW z8?c@Mt+}3mh?GKQc#lt&8TzRgrq@RV${2}1vR_+KO@H`)L`}SihCBENC%yJa4Vl9` zg+Q6Msk=$BY{@WbKR0oagqW5bG0LJ@BQS!G?xNt5VShkooXKCePjUvl7oYS_d=i6WFfW2MRJ@1e3eqWR&P04_mPq-)J;ntUxDu0`w%+#C ziAi%*;OA1k?j+SzKE0o@54r4yq5F4^3HgQ7={+9|ewE*6`X@Q`%u`;@3<}qp3%DVe zSG4ri{2t4ycsH|VX>N?WGRPbgCD`fugTadCi0b{_l11?Utpu+#Mb?n6Z$B>j4jw|{ zSdSeH-e7K!4_r+V+6F0aj-F4uPzqEV3E!cF1xi>%@D3NuDHj>{E-p+D+=1_#a`XGF zPQJSL9taLRe*k=g^N@b3W+#_CPyaYtVd<4fhl(@NzjF#wZIl8_BoYW1gV(26hHyIV z&Ig!&(5|`i(nt8rNAycK0gsVo63n!`$1%(y!kwX(hg&UAQHkDCSPLx$17}neU7~S^ zy1JLwqPEaWRz^n-64QlcKIyHlq{PJ*vszQ;zk+5|yT70ZrD298P-e?L*NpdFS9QVe>}1$R$|Ck z&zO0@9gdDp%z>lKtR zU^i#0zw-eVO>gj*yW<%YUabu0N|Z>*9jIFidT)b;MH>BuDl3{A-VH6P6WIC-`{EU! zgc;ZZeLMuW$=8Rw5pMT5T!Z{prrtK+O(xT;r>==Ga*wDkR7vwHSk=*h+EQSKPmDR~ z_O(MCp$RK_@d?_3k@`{3y1szZ$0u1+qW2rk}iHD!`XYa{Sj8%LxblY|}6*!TyUGn`uwV0~o<&Omj` z5%)PFOvMK~CVWlit8CIrzBKd>Hi5b*X=4||?tq<>ovqy%pa^=gu85e?RNk59==5`hzcYi`l4wamvvC;Q_{dp@s$u10X1kcAm87v%qF)-B&t=9tOE}C79yPuY% zgXAzoF-_(jOt2oSQ@vp3CN5H>J@HAxUZ^&)NV6i*72cxDis|i@coL?{DdU65C87+a z+EJRy8{yPk<&zpvtHDF)srd?q^S)yB)%+bI=Z3wdUd0=-?U2Kt%ZhEn9wh!lVRpgl zVxg)7WmKTf+_g3vwO&!t4-iu$*dgYt9b&51imBp@!tz)O40#pnaZq6d^`m7CM5P4P z@dc}Ltj98I9^v^wYPd=agQ0(n6cm$&ys4PmdMxub69>N9oaU!8gKYLhmeK1}bIiuQ zM4pu!OTD6Z6}n%4w#sWAIaKaYf!KR0+9#L%D_&5Hcl9OvDispB%i0|#UIwp4gxv$y zB@2!TNy=ZY@;#~~T10r4wVkpNjSO6PG)a~N&mzeRALM4@`J{1@n#Nof@@NF4*CwxK z2eU0Ew2*B@)PL40a@$C@xRLlsuek=76RS_=i*6|vbrB${Cw2ut^h*y!`qryq@K_fd z&jzcj!sKCsmr^%?$$H7j;ThQZ#4h*Wjd?{#i;MPAN~^3DK5FhH~fW$2Y5u znHt!PTW7f``e{SM$dY#E2B2bYJ{^C(zZltR=2RBuaNSdlsfwD%oKo{Z>C4f^)pcXn zF6ee->UK|eBvHM(+mX74Jlz{$n~4u#?GBqdJz(v3WLbN_)C2ZyyxllB9RJq8gv=ef zDY&U2;QD-DZ_NF~1!C^7`AZ_Vu$P$htiMpYBe+#RDmV&T3T^B@<=FkIHg<29rnBrm zrX!LqV8-v+X4vMb9lu}Dk>6_pIv&4Q_a2|$t9kJI$g_@xi^Ad1B7!WNpN*r9>5Cd* z`fV!!oL$>ntr)QgEZuacW!f~$QB4rbht>k$kZ1mZq5HG!-iFyBbpm#;;dks_^x)Y2 zWWGXnA3^Lvm5tronr#d^WcNdeISTM=miOc6ljZ%Hufy&GydspYanTf9r9TZ!K=^-3 zc|z>@{6LJ#FPK944sl=;DP;GnVfV#ENzPRd5K;T7&g_1fWA{bGI3Bz2Pnc4M?4E_> zDlog9xIJ@3<059Y)#}ZNYi#7P(b@o~+Mss8g7bK5&$jOEc>g>_hAU{>uVL)K(Lr|X z+D0W{*Wt24)Md7!WLY|#)^N5i(n{q=T|2Y=gJiYVv3)V1PHcaxIKDUVB|`E8cE6R; z5Ghc+H3nAHB<{SzSUzkH-^y*UeXsIGxPCD__d2x|#pV(G-d8ZjPAjD#t!O2+lxQz2 z2eY}QCU^B=##8<6nT>&?;N1cvu3R7Z3O^M(`_TPrIZukRc1dar&b z>>Pd%w_j1^=Vlpx$nEw1DBND1%75Ti4k_T4HT92U@f*q9eXZdu=qyn_UE$ci8DuhM zANJ+c4#Cy9ELa_CYk?@q7Kf167l;pqsI7P4?eKTd{I+-C^Y8F@kp^`XRY3M4vyj!# zA~ASG6l!`;Gkd<^V7J!N=s|AY*WvJK&ku$G&wiOJSQbp0b}6$il&1NAFf)i9lrmo+ zJpJ;+h`A&IGX+5)0rQV^jeVYC|2~ZU8%ZTYd08%w^dtr0<3x>de+JLtO$E=nN0PF0 z9yMv5(>!3-^6Mb?=m_<_dky^hClJ#}cu~W3|9En0aeUIqv9K}qxf7~P<|}g_q1pBC zLIA90zf;fV$bPy#cd~^3NU#5S*UC($GCNe6A4;YeR8uxK-%w*Q#PusGrEL6VnRD<$ zB9i$ZVPxBEjAmlE0Xt{D>ip+ZC-r}(LGF$^t-Y$pOx2^Ke~bL9y817d|Cp}+zm@+# zclG}<{_)i1820e%sj(h+bdjzo17} zu^+&}FzzqW7Q}8zCz1~^l%|gBptZtsK=L7}t%9e1=B{9P{JL8Hrl0y*+r{dyPHDSX zEl`r?U?Me%r%kp8da2uf+(j=HD4C9@m74vt_FAdiequMO$DiXASxzUF@PFM-C-twt z{8&1vfh3r2ao!j>+2q(!_v3o;Lxs4i2564 z|6_a7ItI)0gvb0nz^(slk#1j`K`4Kd9!uGs8V}t%C6qm^;?EsN4yn8|-ov;{N-2k~ zO+MH^n!1_8_6(f9EhK?f%fW*!w*L-O&R<@ZEX_&ImX^?;bHAnL%JPlrnY&wgbS2Pd zQ9t5Fzvv!vKsZipM3iC@M7@rv><^_}a4)XZeHo5K!*ydDfyr3ODmv&HR+12(843X8 z;=*U+Sypp|E52VEBpLY;G(`TVBqK*A`rvhzqY@_k>A~YGu3E^;hXj?0qt$ZPw6kxo zSY!TY7ZwXr(pI@wSIS)dD3%I)2?D$^y5?*R8!4#727v3tl0bggNp6B zR#SlPF?E&IMY8)uYWm_t@RZ78Q#G9ZFJd^MqRM)pgQDv24=ntH6jd*|D5keLj-u*u zqJ+1sO_Su;4QEi9q-urO_%nCkd$tEmlV=vP<7t5}LIn zEP5rSWsCMy^q+qe7Ol>NqO1=?Gn zq9jvdxPelOnapf8wsWJK&H!> zN*=x@q>{H1nif#WpYZBRB~GWsyzpu>G=QOYb0b2HGaK+p@D4F;!J93V6m;8@(qcW3 z7QHtyR!O7Xto z^3^C=+^a0^4C3k;7sH$fe8A9EN^*ruVuYq{KCfevd1{`+Tp)bZSjh5e-CAAmZ>n1f ziqD1)i|N59WUMiOBGTP5yn7Oum*bH1ld8(SJ6BXC zcw*R=9Ymi6cRUshFnC)-qss43-cK5M!@*nBN{+4GBCa9!vC|ySJzjZ2%~GB#Z|bIq z^!<{J6hbWKMR!FTNzD}W7lKqv7nFygUTQ#zeQbZM7!AbGsx80o2dP$!^nTJzViB=kOq&QFRd8hh$y_*2gq*XkTQQ$ zo9+)V9b4|YYIQjmtU2V&Jna*pjX6IzfwZ2Czx*z^@9QIS%Kew4PqLe2$z3PU^Y{N0 z6tXvYL1^;feZaz?|!{Ua9=dhJ%?-8%kjfTR{{0pLf)0SHH@=fr9w{p z@F?|R8&$Uh^4Ba)cf+dHGSbCTy`Hk1!RXe_$D?LTD~YF)DvISxOiJ>FCEDlstl%@2 zibuEuIF?U*Mmis?FPW)IeEK_|Zukswaq^u{9zF%mC&&48$LEl%`fjU9`~=o3JX@V- znxBA=nIMf<)yw^@X4i9xx-LFoQ`vw6HA}S1;8w^F*yg|z)Lzbz3R#7=|e0 zX-kf7n-UmtapK-MGyOZm39|d#i|!5YbL-AzuD9qeApMer>a~o4s5CL_9GIuqagc!Z ze?`HCHcEz_b+@sy`;~KqBCqKF=vVb?n9|;s4!&d6HeAie3CKaM-Cy=#{mTv+P!s0dI=V8%=r>iB;&UZ*o?Vf zbO$&Be-W6rDX%FT;)%*=hOtu6|ITIH4DgwAt+A%qW|Rm1uylYo=KwfW5JAy{h5$C6 zO|TX;hwqCI(1BA~U@;hE2z;T{BCIbP@HB6UJA#4~%^ajRYrhONIlB5>YWNvIi!a5g zcI%#+D6Qljy-JhdX^|f-?SWws3&dnIL`FbkqGS!%2zoS*tbNC;olkCMDH+kluEP5G zfR#XRu)_O8yj{UK{$->oI!*RWy)gwr*Y`1YK^tsLBxCm)F-7_dCMkmfbMMM8Tw1F$rvK^JOlyvF_P7vI6SVvxlJ-~SO8+y@wmdIRjC zKyorbG{2WLRuSrQY6!|D@@&deP9#_(-$g?pdY+GODyZ`AT#xi=_>8Ji-iZEviVs~zmU%o{;t4NXddy6hM=kOfG*;M6y1rzXhHY(n|7LYeW@!pol zlge!HnTp6`DR(|Azn&JU*FZ&j11vxW;|`!e#!JKrGVY56YhEk*d#82E7L%^F~mS9k%$ju?Y*B zk!wj3#k7wGs0XGk&b0<4`r$_dfE!qEP0M$2Z!dCj8^!smu2NHTTuknxedU=%1dM{K z+`U{IB6z|l2zJ9a?MZ4iqW}G8%IC|QxurG)nWF4H$GEVzi_gvZ@?2Z$jeiS$&SBkS z6H~FVG?6?7J(hpqL-bJ^z3{T4bc*9v)qO1(@M&<({yuq9VK zlPWU|-8*)uz482-73#ZR%tv+go`SZ> zix+%~94U|AW>sBk38+3`{qc-H_w($RgmSE+%F3W^Oe#^#3|KgX*$|Eom63kT;%JuO zJ`%bg!%gM~l%}9#ntfp$r6CR?(+=ezARMqTr(>GkVVt0x1EG71rex)UsV*yCm8-<* z?4KO65I3DZ_!RIQzb$0Zq%8UWin3J&_A)?(KgIvo`EHR^{4Ew!;%p@jMJ{Dook+$YPM*eh zi&uI67tC4J`#>+4PZ5)L3h66egD6`t*RQ7`s=B|Tu!`-HuVX;`pu(0hNP`%|mhQW| zX?bQ;y(uUQMO#y#oT}dQNkllLTXo65>RUPLkLYR;mtrhlOYg@>k8Sd$^58m9%U=Ei zv1uPAWl>u8$@e|QBh!{kzUdNLP6{gMeMz1bGX)k=g-_K}iu)!XQ1O&aa>#cNAJm^e zFL_0#u-5kuo{}gnQ&oxw!RK1K_al3+=z^i|6> zXz9M#@~C=V;VzM-SHU^C0Zt`aRx>y0lcsU6{V3A0s$4uqH@n0Jkt?t!i#ihuVTA%Cr zrleDNRjI&EI&o8Vnw`YG-YKuMvC;HY6mIvu7>{smK6pazlq2kLu4F^>7!f{~y6lQE z+y_TRvx{4}BQW>Dj!-if!_${?q$uIp4|a}?CR|4-FpnUtPyaLfy8J|s-Rz`?2A}v2 zYx}&oEy8EpKEq_}MpU{2lo=V}qpU$I-q}D|0>gWYZYgBhG48MX(ppVe4enmoU!Dzw z-@|GI)7M%;0}goOcPdBuZS=+qSHLQy_x-$n%6c4fKl`Y{Oy+;_upRQSxk%|{ zJ(zvE17GId`FG81Dl%j%6>07-Djv3vzjr@xohglL@vv>ImDFq-$N8CCt=e17S?zQAU-Q>0OermIMpajb!%nkN;vu6$z?er@xgLcdB_|{ z5Lj@PqB2b)^&=THsulY5cwQbro`WBi6xsj zqTwN%ifycCEIAdLO143!j5nZ>Q=V4b?aY*!=WiTu2cT1$Tykp3;$5lcyvQ%l*V+GO z#qB-e1mlaWn3cO#E44@E0Kc4h{=bY?VC71;(h2`E^Mdof>k_C|YVQ%&J{|Ih9WKf7 zD);fiB5NJ3+QmUsanu&|*1PDy zK3-F_K0j}17~raRU}QY5Q2|oasG;Q@(ZQfbMPLP-+5p8Fw5RGFW9WE4rK}ED(L+a+ z!%{ilaT)S;P-AkC&^xgZZwyD_OGQkBWCv*GB~^z?a&VG0MYS~Y$)Biq8%C5^i45=rAM7w~U6_*QV~09QLI8g0G<8v16TB9Pq2jRUN*&5#SUl(z zx!49zWnW4=IlbHl2G&K|$jFl5kjsKy2nsZ+Mfhf-T?yosi5&OSm~_;A%>voK|+qG^B?H{1W#9v2CQF@*+9eaoth z>oz4*#@f%c(3;{w?c!(`g!kM0DIUb0W$J!Q$L9LBw>5ZtgD_%V7p= zrgPbVt8>GSRg5yf*NE&u&?`FGyGnaiFRN7gU-4zRqj-=iP2n_nKVi28V?&t?+xo$u zO`5fK|3J;wR)3|58zRfxs){X>7?vimp@yx-n9q>AH{B>PSYr(&3ND<>$wjX@DNw-$ z%dXUJvfz>@Zv;k^;&DP(!MHt((4VTdhlwHD9D(SFm(1?vFn4V(-5-A7B;?h=eSWtZ6%$-HwpWZzz7#zB^&~<=9_!q|U2v~5Wy?RCd3WHiG)r^j zqvyzUu^jlf-6wyR=`pxjZy*;0Zy^6o*+jiD2kQ$))?eY|MbXsgh+c+R3YL~O>xsKn z*gq<1>lPDI&?SPJtfdQzKdcKd%`$Max9D4RL7BSXIV#0f^?}V8U$f58m2Ag`aU+D2 z`*=-%LUs1W=o&mt51MS3GjabTP0w%N^jtN)5qk%1P46}0!<){1YaRx;n24ePnzl)T z0gZSYHQ=ke{AxI3k3S9w;X~Wr?&;fL*w@?hnIFCF-rxgmFUI}V_1}ALwCf8P?{3lh zi`DLD(V&OzW_;goYq!k=4YyH38`Z1bL8IFmYELOdXy!(?F8W=mEex$)&i@0r*VqGi zA2#MI>sIl~ojuI9*wuNd(aXna_d9LR1_yNWZ2gH@I?s#N_f)&rqk;XYA_$NPj}yx%|+9<+O{qw|zFKFxPa z4TdVc0wZ}HfU<`rI}HI4cF%~VhBLo4+O*t8dkw#8`BMH%k+87~l{59baJJ))cF^iM zA%|;#v3NyfZgv$lm4u>W?a&MNgWGjpFyPJgC)9s}%Fd@{HKqUnqic{1w0YKA_X1tS z@Ek-eq5xv(@LFOTS+DMwX;cn|*w9wPbOmT(rzQ>MK@#Z;<5+16w0~ah_b<||#Yd#K zkaA%SzbMJ1VFX+v-G6wWiid4^<>0SUJf<7!rD|Rp^LOiAU*3iG8)GF~?t0nER2Cek zc9RxiL5}VnWvaH2k$d=g`X=}3?i1x~4uE1(iVpa3fEDY=4X8Z|3XT>>b9NDpdwYV~cWS=pf)r;kVL`2pt4` zvEBF0x$Mh>dgZc{D;~0jzd_BAYjK2S&z`Ls`!No)u4+u;%5`DY^ps>id+4A}xtxsT zQ&!V}gu+$LqPXxch2K`S(4ne@->OwBG@=u^Rco`VwL#r9j7sPnuWGSFHGwmy<`$}h zjAa??AYWUJhcrr1sbe;x2!*!NA1nL0Ve1LVt9kV%x6Gzn$IK3hGc{!Gs)ObFPzIaQJId z1_uaL9DF;S`3}oZ+3MieG3NWYiw8+{&_XL`UjE8Ak>t6PAYM9za`FrFJro=QiMK@Y z?9d0FXK1J}hpFHjXz|PoeykXF^q4~DTO3{`Zb2YYJP0|VYHA0KY^Wrww`{3i3R$kLdp8CwjFFTgB|qDmgqno3UP;E($KW=<^&!Krj=Lb%&>}Mrh|* zCJrMxplny!W9zbdMI}v}y;d)o>x2<#vkOl9#yxi8SQe}(vXIm}bz_@0du=^$0?r*v zAzsZtTTQ+d)25NQSiJ%68dTYbqvE*yo zN?u*hdvc~}_G|a((r1=Sjp|%JY3@}?1t;@V4V9h&J5qc zWA*mO8Rwpiv!Ebe&GWXfpB}cELWK>Xh-KcQ8zNX$%G*(CJdt`2-Fn2GCP0d5}tGkEH2YbS5>*sl#D5nQ|O94TG2 zXN~$#MQdI^VwO=#!2KpoVZ+7ZXw7TpJL^1rX`}YaL)TU>5&lg`5g}I?@XH@59f6(O zzW?Oay+fuj_>DvW$#p3Pdc@p`bHTSS;Bo6f`%-Y)KYfD~?qzF{j$Obs8Vb-GS)y{N zHj&#%WyFVR27~)jEHLw+Q#~Gym9tgIU+3d&&hS<>u~F|#rnUPt;tj#u4?|2zPOTB#5pd!DW$VO91ij#$C}EY32=fjH)-Y z#~%11s;GfOSCvOzr6Q^@+3uAd2i3p4*5GBSa0U}$nOjN*OJ-8wh}VDTZz5gqn&*(3 zQ0CwD=XL$zlxK1=S!a}t3|UzPqA3%Wu=t4b{Ubr*_b{!UTi+8wNomQ8-glm&X!e8! z_G5jEO(Hq;_=X0$W?3%pZ+z!gKAolwiKk*a6(B;#`Gt^|oukTq9#}UD@;5f`^d4Or zC%R7ZuGxE>zOf^xF`2M$ z*%)~BX{ztK$h+qKk@XixX>cO4ab$f-(gg6)l7n8&k3UHpjnty4Yaxn7kj@NF%~Nwr zR^NTTXsLfJvaI=F)Rzg2as4BagT6>?T>sqWqme!S`sO1caZvnpC~qHQx)gCQ_LmK8o`~2x4~^)Epq_UWWp5&~T97}{U03q) z{8#DPq5Cu2__2FZ2RaKx+ zV}7#%6Q>=tnWIIOw@)6Flt7ytci9A7;@`^sH<}Fe$Mn-4e#+VXUo8Rm+N%)lv_V=$ z;Kl?6NrbhHC4FLmO#>&iaWF&)`^)@Re{;?D-5kSBq!pkL^~R1v9kyW=N0N)balre+ zD$X5(gHxk0jK%VA4ScU`3NPd$Ts^QK{rY9V}on6Zrw*H%z$2cw{wt z`*X`v;|f`--vO$aD0x-5#U9vl*p(Qt0o&>)%L4nz+5=wgS7q|dWk4ti2Zm{Oct2W} zzZ&b{#KKQ3ZXnGL>JnW1J2A&dC+I#Zdw z@evS%7i~UQHc7k%$ix^5L73Dk zGPC)73u$P}7s3#-Tjj~{NTrnOJH(Cz>fD3lB^E<|*mM|%Q7AZR;@N2m!-#lH@Cp!c zLW4bcCoj~1L0W~9@o-+REy$Q z_3o*3gqoh+G~EVw6Zo+AITq(O3E-v>)CrMjQQm*aibXXqL?Vc|9p-TxGZ;kN0%bsA zfqp_TA`-d}1SBq3ZCdC@QH;K!WFZmB0boE&cb@|27$_MmqE~f6*=w#0YkPNS?Du-0gRwOpS9q&{*>ox)wnInZ!Jm-SWUx0v|RA8 zOCum?L2qkM(3K&8Fhm$4fEBWnVdf74!}buv>s`GJVknWY3nx;`X(L?z4q~{<>+`MM zS(ssh&10~2;N+k^iMB+x@Y>!;izg?DEZp!y!3_;)ShJ)*VJGutc`2Dr;o9+3OcHeh~-<@g=ve1Bhs78xZz;$2)Nqb|iHO~3BnAZ)`$;@0YqB1?C z!d!;eTZVi~|MPcgg2ZWt?NN2M(izR@DfY8o10%#0!V2Z2C*`%42-}qIRiz_|JN*=#X2pVsk$%h^^w96@e3|E6yT3uk47#7TDnwl`WX~%I7_BiWIX}2`y&< z*0(D$DhMZosdRbKi=eUrM>ub*oOSyUEpHVpZ$*bSDR)rD5o<#tdG_`fN_e@hay@>6 z)x#7kfd^L7KSZXpfGA?)OHE*Yt|22z2JTaIh@5Ah|L->oe_i7IGPHLn;SHuRy8Kq{XZ9ZRym9gO@B@7o^QH)MzCtck6-GBxL_AdjJ4z+gA_SsVR&)no=0nw!DW=#| zIki&NTZ)-s4KE(#FqZGFgWIDWa@aKKWLn;Z$$}B1NZ}S)I2C)na}yI?j*XY9q;M9i zKxZXuV8w&>5PYXTl_%NBMjCmdhFY(FR(8sRs0Hi!ic?P4K)breCv1o1g8{0(lxWV;8p6nzOawM3;`9M?5~#W2{8yD zL$CJt1~7zQcK{foxx$uS!6TaCOv(m=g{A|uVK9{TfI`MHuse6qTSOuO3MEJznaek` z&;W&os;Ybq0S;D=inij*Ue&;b=P&xAR2K#oF$qa+i|DkwFfeC4T7EBm6-+>AD(#%G(gJD$e(f9G2 z9RR`tAYr{x`|&W8AF0`0frJYkkT7U=dm!P*ZZ?YE4}g(=jAjS$ppOI{{YcI303Gcn zT$vuC7qM%k`Ng`{@kTqumbE8#z!m|qw|a{{!f1O%dsyr$8S(%3MmtZbOV+#&;fk%gQ)z&KxM~43bz~X4p6#)WY!-8Lb%RB2n{7n zn|HUh+1{deZ3Y|Ah7$f@7$I%#02#IRs_h1*Yy5z*Zij&TIB?P9wK?Dp?ct&!d~mY_ z(~g$|n$b8P13qXI{2zr6!np$YU^vP)!8`G?4;$qU&_U8lzx5*j_2}5#YU6i)hUBg0xaWu{iqAOSx0GO^WnG%AwSMHM&IV zJQOM~phQ0%WqKcJRpO}2>WT;;VV^l_VCGx=33>&+7It!UU*IG5PUaO7J4-JZda3;j zI(DaQ!oo@26}U3L;g9scO=fMIss+{}oMa%g7ele_f=mtW?kHxy+C=a3<`JWnX?)hc zXXyK%u0eBj_-d_zim|0rr!=0u!0XEn*Rmm zGn|;?jF^l7kpowXVgiM8pnh)Np(o;++3-KZ5WmSOy)q-B&cr7$5+XJX9ojDrKa+;-yknQ z5!PYxIl#2IOUVfLus>=Bcrbp-GmOkQJvxVxX}*vp%;yJnyZ7iz{10I;UfoM5kwVvT60E3(#5x&5RJaAL<4lK%?iiA{CejoUE2WJsLrlJuh z<-iK&f~?vT3mm}ncT+4dg+2UuivSAD-Ob?CkM5W0`9~VEa0UKxpCu5K0q>DH3y=1O zLK~JuQeFnvfbo%M&HfU1y-ymt_VcOxyE{9QFkJ9nHOulq^mz60qw$i)={o^^@Id>P za?CD8HkFp_xocJC3u}%Fa#i~vy*QHhV`}f=gBt;=1}hF^k58-(d=sRcXRB_ZBFwLJsNhwUBnT#V26a~N%bip#b#!##!(#L!$y#) z+t79D>OmdOGtcOcp0Pa+PKm^;Fyl7kBQN>%}qPj_R;n>|EuigSPK@QI>%{vn%D6ftyBT43D+x8 ztF2I?-?z>6f3+}mWxL;L6|psAmHWdc{%IM9b9Ea@oB1EDm$gdU)h%ZU(am=x3~jTW z)-Nj4F~atRzHqrwpoq-(k=~*vdSu{MlwGGJBJ8RLu1rMUOGNZ=#lVf4vUD1k{oSOu zy`Fpo+?A?0Sl^kmD~~Z};mpMQz*U|_o;AML zuiI0MJ?$}_nqmg9ixu?wE|6z%)+I;=u(!WM(82P~W%VNH?+V&X zQ2OC33FnR1XKuO6ew%~eM}ptq1ixE@-`e2!Wqzw>UmrZ(8oj<8%(B_Pj??*Z-`HYc z|N7Q`Sc%th>x1oIi&*@+=lPp{>auqBulu6(`7<&ta&7l6>qg>*_OFXSw*BkNI@rH1 zIfnh~j&HL5E2c9(#+$66{p+4Q9A^6%c06v458h>EXTdQ`+X$MGoTEm^e9W^RO|Kr$ zbwT%NXUu;`Zz>-N%v6VVX)zdXmZ|M3STtGMpC?n5fqNIQ)K6pHd0cw!oOZUV@g%cO zwyLA!$UFVt#Or9N+P%H&3{|HdsD}}bWm4Yi=psT1Mr zs?)2{(Wfn~dulXmo>~jAGf(|8RdRN-Ct2l?|J3pd0gtMFxOwWC!!>tYyGxEv>&;Ym z52)Vi0zSwt^(YsmpE~O}cBwx}l+fC=*@~9o*I#M+I6$?q6>3~+CKKocT)VBQyqd|= zaQ1ZU1vJS$psKx$%=Fe>EicD&KhguL4-ZotkNJS=jpXSbP~8i?>H*aykFuqC14s7$ zY+!HN(TQwMx6z3;y&av*+Q=ryUO-sJv=GYFUO=eAk$%2dT&T^$^d0r~`oaG6kBxmf z>(aj`eTX|wmbSf{I{mTEWMKBCvotVE&zjlgj)7KiVA}cx$TmGbTd?S;&Azk}%ewWc zu6zY%o^C6@oOftXrJJ=~VAjTEmU-;O8qUS|XdIU@!vj)>p3N$~J)as_h#wcwI^-qd zPoMXrz|8any_y=mDKIk~z;jD6rX3JLDb}V%0Zonqre-OiQeUEg@3p6Z88SwGB^1%l z%ye%Ggp{3`>4%46X8L_~P{}@LW?EZfwWpd8n%F>W_eyuNI6dJ8Gd8U%n^EX5P*x)Q zW~!UVj;Zlj>P18@^PjSaLsTgq$tX|WQ4I4?rZipL&pnjd&El@GxP7y6Zz)vdhuTHf zI*?v}z12cvWC@mQBcHulZ8onE4QeE~gXGnH9)caZip^1t9rjN`^>2@eqm3SM?s6m# z7m_QlIg5$fOV0ak>}-=J3)Qu6;7-~D&Cw^tx%JTTK++(BP#x?P$-_m@g@}7+M$A2% z#W_Xw59oI2s-X?svvzBNJ-x_MsfuRhipBx`)!3d!GJ^>Dtkc2G+<$sRAfeN9qxGDG zqxF6BO6$+cjbb2#d+)mcw0rtf4Ao;~R2F%;JaUlcTN$p_Xwf%X(9&Q$g_!46`m)GV zju}UFL3E;6mE#=24fjr4n;(hC1lzeTFKeElhc$bEs@KhRcMbj_TvYqSdS3tfDjTri zBKz)EeID;Yn4RA<7V!f89I^=i6-(S<>vsZmNk0n%wRyeFV!L_m7jZK0RP&95r{{?y zGePPf#U*BA?B{XDF@3#)@Ch2%{xz5*>4Gww2P^48yFKwsnw4BAVnOavyP98jnANQR zi(GRwpd3Hz4nZr?C#flvVxk(Olm@trVgy@)ESUsz;vs@K6x5PRWP1#HQN+&l!kbZv z2=}EwfL?;Da*fkh2h>p(d8Is})3+m}M>aAmN|v}b->Nq2!Y6s=6^f33&EOjmonhPDfQX({R}{ei zI}_22ehL2|N|W@{S9K(!@#F)2XMTuWiUlOoo8MAS_%TSG2U9bPR8EuCN_3EU&bdV# z=6+M|j;A4e!spM%v^z`{d&1|}UHzA<(#fv=c7nOPtAB8U`Qhsv9sVP#=CmuuPB8Z< z$nO%Q6U=x8-Pt8bCzz26x~@x*PB7;ysJKgzPB1+cbT&chjr2R~VWy%&Pxv%tQo--k z;P+pH-)Qjr<>2=l{Br1S;Hsk6=frr^)w&0sv%KoUaPnc-yMrs1lk-y8iD z6CGFP@8g_!m>yaeuQ}*_^K7DvR1DV7C`}=hb(?-YnvX@`3W;pL8Qw?X88_v-hPOt8M>R>~v@kH7k3~A7ekt~xIyrX7eku|VeJ zj9*?goBoLVFF4wMb7H&md#tb`IV!KFwcE4_(V7|gk!dGJt7r7enSOfm`kcD8(>+<~ zZ_T}@G+3u>o;8iO8RqptJwW#eaptU= zBPY*1NofmE0>I7}YX|A76Dzd(RQa*OL_FEOAL=09{V4434ah50jHXy2W##60ePV@0 z`cvE(D;&dBzgS`a^xFS9a+I_8--eSN9wXCz25X?k74{d%v7u??kdp}6>rF`%7V&pn zVX@aI&L|cTCGPbZ+s_|c0 z^qup>@Y{FWw4Ui#jAWMY+@!-yFlfBa{L?==UX#(heDv`;mkmIN z@%l1M{Qq#g)_&?3<8^^(#1F=6>ZMbU1~Y4FhnY1wm|5IrZa1?ElNZrd79UYIlO_cmXQ&4-hwKbhoc(oA5|yw=?f!Vqr&(SHfvi(QevI2&c`>$DTI1 zO!f3%HN?m^=a1D&uXpG^R)354bn5ThslSNkBlh<$TG+9_NA-vLyO)gWJAK8mI{i`W z^xu3)r{9AK5K;a|?DWqpXxHi5z@%^e%>PNJABI<@%UJx?>Eo}t>*(z0_1Ue_n=_6{ z3biJ2zbHkpzA#Cv z^vMdtB#hR_3NI{6QMfHK9F7R;e?~)1LvL$`RqMciyJ}5#^&Fcnrdp!;A@S7Y$-ykW zC0N`h6c+zgD%knAiLr=MdNjo5~5M9!g!G&I*ip!AG4<~~P`AjQhS(}*9r%-;~bLBy#SJ6pB;aAKHvas&rZ6K^GN z>er57OIHqUNPgGJ-RCLiKU|G)D|w~uJFwT1{#D@Cx`ySz^p66!PRZNm+Gj9LFlUB$!M*B^xepU4Z`P$56ddVu-c=KX}`0De{w#NL!e3Agz9Q4h-3cVhLB$>T z{fYwZyzQOB_9r^84k?i2J(hb%c~4e8!BKeHBAr{@R{izQic|tY!i@Z#zrdl+v{!TE z$Pe$oil;jtZ}6=jGGfxYZ!bIjEpY{hQ8-HkS5}l=;^eBfBUl^B3w3 zRij@Fd+ij?tS6plC+GJD%ItkY2)$bzKIJ5c9x ze}TfI2EGyhM(1QLp)e~!Iw$qY*K)2)|J%JC zRZc%}byTeo%2!jJElQJe?|4!<%b_lug_1QXJ6xQ+C-d0B?O!)S|s8vtW zdFr+}9z1^PB=b3EYBGh7qpDqDxKl!HIm5y~NC~yXMfo5l)Wbvxl~9kUDNf$5#qnfo zzsV|TpKE((RaBP2oK73XV7%H@tPK*8)eVtXIDH+Lp*EDleJZs>4=Pla zEYB}XmFCCW9!J%qsAI_4DWtANOvVzK9y|wyR4I;Noo6zhQ6`=k)Eb_s8qb7xoZf{e zzN~3tRes7Q3{~E*kB(JVT{EwmxGi|R_YvtsKZsld4XK9NNMY6&OaZmct6xW#WFbdi z!jXRIY{%xpw^eVgr}B|E7ZU=DpBGO~pC3yBxmu|1M|}_d~NU1OcNE%%4t8V9LTZ0r6)PMMa8Rs3Mp%P@>#CO!(ny{ zOR$2SXL8T%3YOWWR;!4+D1xDwPrmFSSjxU|skB>8W0k8yOuOYYR_ebXvJ*@Y|5L<= zX!-{gtLBhgJgM1_AQsJI4o^=$7B^QnFR;Q#Aef@T(bNySxLuaV_h-@8PcVDC2^m&Q~Zzl&(UTX)e$+PcgZf5f@3 zM+95k32&xWc%I$N7Qq|vNZ{=Ky-#D*k2?~? ziPbOBPr1L#p)CS_nXJ=lDC$U1Gu}#9bKD{d8z@r33+zodqpql}@)}{5C`a5Cq zNh=x3e){qr6->CmZh7MXW%d@pZkpo?DiO32~z}hmrIB4{hPrE%wt(y@9$D)_}%q23g2+ zTWr9l*no}IOSF?lK!+W&81UKY=h4IqW)~TXcf#4pLczR%IfI@%`yS_8`8ux(2_Yvq zY=v&PzQGOF72-0dGj-T)M!ke?N~NRqN}Lu3f2-o|B%6xY_2&(oF3HREN|2=fMCH0n zF)<`!hSVFB>u+gW7$xsi$+&e%2NTk0d`! zha*EeobT1idK@r9^Nz8nkkfZAZ_!4_Z(;+Eln!`*z;2EvrIF2E{a7kkT7u!7#F0{< zybh=kiyZOlFS4prR$@OrIkNtn`~eEN^D2WBk|}FIm6oQ zq%DgH_4@Q@dy$i=0rN-)i~BH2JlX-o+m;#zM8o1^?7R7BY(Q(&=NX*lqtVE6996*( zMjE}p?O*yvu2=sj_#B7Lx#AVk66h%b&Hc?0L;aBG($|Qi6NmTsLPd#{Y>Ih_O%KKD zKe==ZL6@pZE{JYSG-hT|A-XFce>bWi)^c!U&fyRG+yZ_$7cbFxQt<_vQYd}<>nGK# zr)Ja$rn#HHJI_O(P~Z1N$g(d_Ui9t8M*%-hOWWktE~hkq*}5I^No%p=C)`8dKIM@$ zymUPsTLilrn5)Ygty>tZ30zfirURLSx`Nm{TC$!7udlb`ySK=Glq^V+En3+G=>>_! z62u3m538zlVqNV@4v_O+{Uy+SX-Q+u$CyiEedg0{HWV`AOo|=sPf_VMDr+j0TrlV8*n+@^^J3;LZr?EoPVqf#9|cC% zX6~W(R-LQbSLY91tJ6$=>A_UTwqbv!a@lRzPgT>cr+mOR>|ael*|rT^NGC97=2Lez zj`QpXDxP{WSKtb~$H(^c7Y@g>J|zlFudh0AH1kWrOqRZyn^{5k+ZOK8iEQCgcA!fC z+I?%Mp8lEp)+s5Sr+HajAvxSu z0B^**=HeBZb>>{f8|4$_Oqmm8=bV0WUTw}6I8~9HN9f9-Yz6JTi_CKbVn>(9&=od> ziw}}u*`379e!@D@zy#WW+V8EWQ2XUbfYMQ-bGe%MP@gXT=gYsktAB6#PwwjfE|sB} zSt{n|pX!p`dKY|~g757b{J0B_D|md@VD&AT4^Z%BU4!jHD*Ar~pRHhI&1WkKzs8pM zJr}okl9Xa6nG|VxMqNvcoxSx3{mJr7PbrwyimeI z*@ZHB;bJJ8@tL8%PLAj#Bupfy_e;+i)+%vczE`UyJf7-aJ3@!jxh@HZ()&2a=ty&F zmqY2pOe+)AjkBr8GNMF4PauCwetdbIaJXTtk0!6Xq)=n$^2IRh&R>+FXSWkedhNwQ z6Y4}X=1JaV{qW>8b1{0Mf{Qs1w zEbd=bfT--P(|~Kw3MFMtvqC|c3Lw_*nyY$YG4`*=mXpyT68S_Ib3j8Az#pr7wPK4q z#*&L``E;_wn13+lFR38Dzt>-=>6gyGu$7Z99A}<`eU|#I(Hs01pHz0jGZaq_pq>@b z%KT_0P*1ORr`qktnmOwZ`6jvmi~!uT=8)%o*JEpBLa(~5+JFf>ktK_SKT$}}&ya~j zdd5?oqHON?gh=(-_B#OuZP(|d@({-XQ(Gi;+?TAQB8S|gtofzS8-y4zL%c;NrLz`q_D zto(-r{yz!)XZv-x$iE-{qIX@)6DBf!+aR4w-2rojrf1s$Q_{`0Idg?YtTXYDHoLw> z&K}f@iOh^paNB(9>C%|UNNHwtOf$r#QLuqJvQKuk_U&A$YRhj>C)PI-y6cNeU=a2iVLpd6!M!ZY?_lNG68TUHX zBig)^MQtc2hb6YoVALI7?iaUk{dOaf)UtSlJG*tNZ&_sdY=6(l{f&|7*ZI4XOEehG zX@o)QW$tfk|CiT|ZSQ2HM^=yQ?)tO%!{NA!_uSq(WS7| zM_1Nls+S%Bieu!N>U%BdLS;1^E80ij1 zpK(pv@6mZa!W;VSeA4y}8q~~#OikNis5P0(bMUGC0-W0t#`Xy@dm_*_-Mg9f^9e!&71B6TP0=dNJ=oYC#$uAl#YV*B-TMxL#o zV>+#$zi+pGE;#xBxAjw%jxI*R9Il_#Jy<{U3Ryp^#gD4BipKmS{xZK#Gb#Ptr%g+w zZ?}HN`~z&f+}#PcdcK`LI1wdH>AWx5+F9Yaml)p;^%w!71ScXlk+EAjcOas4E9Y{) zY~>UQOkyWiy0~rGlsLJA3g&?v4RK1%X{U-vMG;Juxh1ol{M?fHI8%ltQ*qOC?q|vT zPkB(a`j?0ku9p|4Gu>I`d@5czd2srE@+X%aeuk^S2}cCu-xuSPbN1lw@>jnpj&P=#%{UYtgVpUJc$=4jfz#C z&bPL!OYspFQTw=&duuuPgFll2Ranx`eym55whov3`#^tlj4U98{Z=Abrxt386!F`< zgSE!0pPZ{Ev+gcK%*sQoV^WvN=z=vlvQFnvf@R;xKKwm0yr4BQb=g9-uNecLi}F6f z-C@Kwy-tm%&MHaH(P*;>^TbFsD{ynoj_Rcc^RX^5qjz9<$S03$*2U^iP0rCsyYoyU zHLfJ$J-UXq`{_}spY*J@?pxJ4X){Tm=Al8-QI-0hiBzH_7Xu$P>1tN>SfpXbNp`DP z5|nG!MeF-e!Pq5m?Z!xbtfX7KWT8gNs~gB)Iza>Fx~wenZm=+$0RgSX>ejNz{t_Dy zug=b!N!O))y20>sGCf&evoxBX^(kmf19wnUc2b;63=>6MDkQTHzi@Egg)Xv#rvag( z6)B5{2*;~YHy&(U837Gg^V^J7BV&aC(S~kJYIxg#f!|!H0b{)Emy7ZYSo4n2T>a^7 z0OQjcr@YfgrG}?8d~U1~kvAB)p*Ca;8)M*xEOPKeM{H;?V#^t^TsLA3j9B}WYZ$QQ zZ3C8@NX3S>4OpbL!+4d|ER96#3mRiXyK#~1K!^R3+rGJBQlGhD3I|8`XXp~^>YMpy zTc@5VOP6n79qxz9{iYC~1Ze)-Z^p%*+&S~uB8TL6 zwWc~onEb9*R=-ZuAl*~EFnOsVaD-F(?@u~6F}SA{SCsAN!r-DMPkFVs;+sf4Q2n#Qaw7Sq)n1>Gph5$8Q|as*EXv6K^1DcJno8>fKX7$Zx(~vSG$YyTjCpb%K(4f3 zuwN6tLe&UP#);$|;3XUsA$vOB%AQGU{Pg?a9Hlw#XslEp;b=Ukbqbk3P#rJXY`1)8 z+j;as^KCb}UR|pLa9Cx!h*)BVM447EzO60$+vyi1DJMKDp*OAf1Er&VEK+4hI%n|Z;tFhC%QV1qs3EeEE80?I245JccF-o>7V}HS*@(uqFOG1J^oA}Q#rz+Qt@JLKY+zK9Kag4 z9O1Q9zwR?HBiX zrRQGmY`l*Q=3dFzYToDSM>lq)P}&Lgqa>QMM1g4T_#&7K_D_McB?r%k0Moi&il}b$zWVPX5{P4m$}C!g)W)Y zi_1%nbdGVYJG7tE)^q`u~TxcY%+pKJ&OUkU-GrK}E%iEp6kLSZhJCP1M$m%*aG1iUkxE6>Fu` z8z@Amibf~FoKDBmR=R9kT6(cdt5&wFLRB;YB#276D1xYfS~w#pD3+_j`~5xtGnq*M z#oc}1*N9Z3*&MMVe=);XEj$+` zE1Fr6A}ed)zp3#HdU1BrFgscR)T;ijr9lFE6M0KwX;umda^-AI5z{0{cC>oZCr3~} zN3+Gu-)$Qyqb-3RdIvv{GU(qm82_;uyfby(Pxv=_i9%#L?;tiO^Y3vHW(wWajz6W; znloR}M5g#0;be<{aDJv3k*FEnWlvxYo&Bh=*N^Xl822834b=$%d5Kq^(814Tg_@40gcU6hi!Sg@?q!;PwDIT$O+QFbSFdR$d(nIR^=Q?L6Hz;5 zG%_^m>Mq{Bn%*I*U$L^pNa-Hl^@QcJ)pfaplSHw#RHqZcevcRyFf3E z>w=qVvP;RhGoXOBP~SP3V!K)_tPr#pSS!iFTu8pKDcQG+H>+$gvEs1r>4jp53>!5g}f~3M|zi zcN`(IZS&~8+4=fHID@A9H97to=e~Y6FTpPW9|1;%(5W#5PP&C4S&OVEb*9)C>Rzsd4s7n3C{=RH103EJ_> zm#wp;YJ|@^_@Ng(i>C8VCOho>8kk^H317hQG0}!%BDNv8%#x&;B;l!DWz3z|I2g*D zufu4BP_?pNFUk%=AKC`TrU?MC)%?eFuwuTQKmd*o6aYuv;rcejjr)Z(8btO;z)Rb> zUIR`L@d|60=lzu^`2jNXwa;JUXg#k7?SI1W@<*@36iQ3Mvb?4-R3ji`kjYE#rtq2^ zfKj|n86cRs&o|ZH;~!c>ANVpRqPFBK09|cCCkaSI781O>0KminFi`*tuJA(+CoDu# zfaMMWmT>@<)5F3T)TC|6GR4md3xx24+PDYxVt~t*bDEMxf-V=ggDDYPVXTb|*)&LY zz^v=+3wUrH(&lD85L$g&!j_`XA}*2TDTFfyApj0b{3XC1z>LEKA(RoosUQ^eNjTtV z9LU*1iKv4zD;fQz&%0SIoKSx>ivxcxIC2}0f+PL5fn>7FcysumAIkXbzguFx#+$ZX z!2Yx4ccx6)bbi0LW9*Os1L}h@A3&@@JsSsFla}~wgBeJKPd&41WR<{?Y}k#?KKo<# zdK)}D?FdK~5dq^Bt57bsjv~@F2Bxg!Cwq&9G3*TWL6m5$7{(mlH0AS5iF91Sk>_H= z&}2Cr^Avnctirt0xs!AMa&EdAYogr&cKA3?xUl13`&hx;TwPSW{Gy3(W)^RjREbb^4=1*Aa4|dcK%Hx?CF61O)^Cama*G%{!Qk;)DnIWMJ@-Y{|etF zWKh8XyT;CDbAK1g`KWNExJm-UTu~{+?Co6Ygi;2%ke4B2xTI-1PYqIg8jWVuwoT_K3Ml|Zace9 zI=%V+{hMwPJX%Wu`8WBE#Z(@xn(s9(Ws>4mo4m$_nl0CtM8={V;oTGqO%&2IBo9jD zjFe@S(T5s>(NAG|pLYYIyr2_t=wkjm>L-`ZDqH1Yk{CUvXSoBdBbZz=V|4FetftKu z2&3MZZ)THNF(p)JFz#=|k{J`KxiXibeZV0A?f`qhLF5@6RvLVTywS@O8B-?@tMQi; zr-d}tL&doouYMXFXay6Qq0?QRVGT9@3h;O}`OW3$Iw02e!NC%I&7zkw9c!(k52BZa zl?KO96@~^gWN7fqGxA1Z_qk_bvfv)~EN~m#%5%!9Dau)Dn4K3hrn;#%u%9Vg^s}$8 z!nUV!z6#FV=-*U#7@A4OA0t6TLCbex_J{Mtt{-}gnG21wTG{nxDwN0!hNc^g?rBi> zM0$*QLHs(bIs0WRi1E^*s{DAKcF#7Rzqw}{&!6<1Z@+OTGK6-3&1={qvBI6&q8Zoc zTPTC&{>m<}_!X795mnKB=c#50ccTAydAQ z+MUj#^04@JZr?*1pi4+DJ?u2SDJ-#f=_;>}ZY_Bp1_>_7?uBrS(m%Df&WXb7!!5IZ zglr4>w`1cg3 zSm`x=&APt8t6i9tsR(`5(s6WcZQZ^yaPdoejq;iHwZR@{#bkPVpL~tXzv6J(NbSJ4 z;#qr$defQ_Bf<%avtb`JQ8F5G0HZ-i0TzYzT`q0!!a<@Mu4ga~fV%Lj(MYP*** zQ?*R-vF3AeH?48K{S@^+czx$+lX>ceLIMOesb}HqAF~q_vHOsDGe{6|zHeqXrV~^X zAq0XQpBlL4#+Hw)j!|?&fg3CNbz1n@JVnI#!~bW$Yk#o3)Anh)M1-_9Nait@izS`@XZP)qU^e zJu{c@6Mp5*T8eayHF?;LO@}CvIqP_FusnhdZ5mBxQEF-ZyD@eBnm6`g#|>n&l*M>B z*PC@DMYJJD`aPoZfvBl!!Bl|{xg9tcSBeDh@`zZ(-a9lIX$g-RZ{H!cnpD+zUfmyb zIK@fB2Zt^SCG)oG%nd6^ZPBmJ!-PY07EmtZq=5HGkFYxwwPHy5oOeS>Ls&F%z@i#J z*k;}io>k>%fGw`=KsZyk_wsx0U;Ev6_e{~u zSMBjqKh^`DA{gy>DOt67hf?RGs(Nqsm;9KJKYJW0eE$ZM#m}+)%x1F|Wg{vc63rnd zOmqClm_tEzlWkIQ~`2u(?o0E%HV*XY~>DhtAPJRIb&S?w~qM*Ok)LH=xkBZ*(f6fRcQ}3H46G> zSE(qPV(4C?KS$(9xJSMYO;t=)qEvpb7quTGhCz6KY$etNtHt9|!{1#E**W2F zOZfXNzj>B(vUb2{iJ$jr@#Q{ix{E)z;#CQUWuNEX7j$@kyu8ItR@}L6QR=qR(z^NE&*_agYH!_> zM4t+-xz^%%Jz^*6z~P}@z#AZ$`JUq0Y-kIWgG_DM0V71+_Pvh5ie|r|Ng=*1(Qm9J z>H-7Yg!2}`)hb)#xkzgkEUFf-ig=NN;&?|4?diwEAUJ;9g}`Zw6J#ykF8)m-U2?*c z2>mOh)JC)2H`sO!eHg{^(9=O$rl7z2pkOq~%m^0)hhRdqPyCzKY72&AVQ|cccRplG zTMQg;^o`)Bf)F^~=sFhw#~VGd_osxvNe{K)H``w^-G{`E*I4kIIA=XrXM1H{_A6a2 zxK)GtSrom*nT@z`ly`4x;#+}(O00Z>+X!dxXCn}wsVyMiO905k-SbtvEtZnZU~}=5 zv@a6=%XPE0HSYXd$R)iJd^FO+EB(&GD-q`^URpOrVVC+dqli-c^w8e6V_fshwK}bt z@13sG&1j0bH!8O`2>rz}D$>{u*dg2`*XYI#+M(%^JKom5x}&@r!J^izIymRM`F%4& zwFdRCA;0zKQ*m^T;JqR=b+-q0M|Evx9AS{!g;jFPW^1@0lJv)w_vOnCY$WxMuu9)U zZ;y=yrAP60LwQft*pm)Xb#b}EAhktZxr@-rEX(Zd4WQ=e z98E1!epy6n?Rc|A?5PJ^ea(CBtB6_d*WqZ?%(?ZuU(x@aYOepde=q@PuDGxZb!r}D zQzZS5v)9u{w=FilDtyZ(0^qwLY%oVU*G ztbByZ(W@K~`#+9Qxn1)*c(s7^yll2pp-5WsL&K1J|D*X_f1vq1q-{Ryo@$SRnAP08 z4Sc-AytU1&01JV~i0H|_vKXHLm|SGf9Vn;wKY^#L{C{NvyRa97BiW^zz{Qcm3G4{Z z#h@0z^M-OkXty_G`+#(pS^(8=g8u`mtCIFm9pcI1kAnT$dHi2 z2fnMR$wEQiAsA`Y1rs{t8ov5V40@;5eyrb7e4Ze<&OF~qWY{vV@lrrBJ6;=m5P|oe zP>?+@K9`I#AybIFA;FC>wYhMSWB6DUJh;LE^`XU4ONc%_iqE1A2GtUqZ(oQ$4h*8m z8qWgJZ!mCqNBJo0Eiims8$_SL+Z_&~_puu3N2!oS8%V#yc8|KIhn|A%dg$FA$lqx| z-e1DFQ#%gx8aGlPKT7WjEE@M2<-O4EAWTL)rWRp-!%rxakd;^>O|-m3)%)H(H|i5c zD2+3DctTAA6#Kn9(z^*3ow1K(ghR^5MWU?(jT#~Wgrcvp^6znx+)YWQfwyG&aNcfM z$Y?JF-;!yR%XEW2V|snWz@9aJSE`&4^#>a5bO#u0pb<}uZ6Iia9?I|rv_XjCP)`Dq z=$XeJmkE1}0DF8_*kcsfhjZf)xAG7D?0+Jp7Vy8K33rSdu+TWrQ`n$3EwS%gN zghQtm9D0Q!#Qvmbux9IaQ_*p%i{j~9dt;Fh9KU^g=y`0RlrklU?D;jwBlI`!;2jm- zB6BROsVj2oqE2%r*O;-gRQaaGChx$DE|3M}e!QdVHFw;`Fm5jD8~M4e+#qO)f7E~F znH1`p8fuvmNJW@C+Pv2aghR5|KQ}Tt6 zKW(U!j#fhw9v-Jrgu1xPf}zVq6^uo_V%|8}GstG^X?fqJSGl~W1QlUkH_EU?uyMT` zY_^51&~Cg73jnaLW(j&yK@Q%A{$EQ~_~^U-+-Bz6T9dgewDO&xE<4ZZJ71KQZ`aVs z_ud%{+iZMm{7VQ0dat%iP3GPST2BAo(6;x1rLyh4H#F_NWAPX)b_be4Fz5O%EPMyz zL~XGKXAQH01G__VJhT!owAOom68zRqr!7qu!%ktii)wtijy) zv|tEKB4*R;JgSlMXh^lb6^*7=GW7O=80#kE?-IX1cxKCXyp5{m-}KEIyt6TexV>GWZgT5en0aOtK} ziux^M9VNcik{QTuji{GzkQQ&;hTF^tb;6&fpQtxw9`Z=qRFAnP4fq#h;p1O?i$zy& zB^b3IXC!W3MRs1}4czy$##QPy+{Z&KeeGl}dIg6h&=IS7*$c7WJ&IzP@LJ2I7fECXEQp=h8MDnHCw4+OTem2|9mG_?S~YQj4)-x8xp6x(bSl@R z@U0$0HAbncbm}aZ4F<$y9!I*+W8`Ek`XI}nmR`uJ%JrlAzJvZ*tZQS~zD^z+E+YIp5Ia#%^ zZUHygxv`s;KD$FW^1wbi3(Z)O1%A*D0{Gy)VBxwDME*P946r_;k%T~ae6ZvN(j5R6 zEZ(@#&O{E{zqye!p)F%>m2C!9w!^Z&1@oJ(P5UoyWlrNVLds7-mlar(0ik~7v_SQ0o8=o-Xc=R>DZ^MlRF?hADL)`e?1;UN(WAKK^ zaVW@f|3P@07701#g799|D&*+G_JSNIx?sExITi-u{mD`x$NzaCUd>b(g_qbMh8lr& zHkJcm!pE{~eocK2L-c>Q5H(_cwNQw0NDeWou3*WRL5#K2i86BSjLUS5*#_Hj@qJMu zCP_Q+Z5dSTwvX3X!Bc(<-JU~2Ez0qLs~s419D1rE>7&*51YqV$ous-s{Q@7o|m z)@oqoaCO3*kngHY_{1PC-09bnF^6;ogI4T|Tn&GzOzsHub7h8Ui>l21?aE{fnC5V@ zExtppyVk2uF0ANaD-O^J>gVXxAaK6ZVp4?6P%M4p{qf^g zM^kU@;Uce6Gn`m!i*Igp;8xwi9-kZov4+=svH=S)FhHPz{G3j;=0Wep(nBY6H{Q5w z!yD7pEQ@BXdW}=aYH-7UH5OT&;G(Vt#XXAfUM)Tr7qT9mxUw$RBf_Qi?!DOFJL~-z z)bSWB$9k01R?V#gjarR~^w1`*g~r}H6`vYOUjc^240523J{KhOUMx}9n*+ro7PYeJ}i+yVERX7UoeJ)fhP!}YiK+=#}XqmvupwzqWL z=Gw72n)9x6nM|KonLSJ|I!qTa@nLf})0{Jq;AZOU+M0Qj#)FA8qgV@JQyX6h9$YZm zQ3^UsE)-ug+gPVDJ5J;QZ%_)S<{q1}TQ!Py1i=%*P<6lEw?9D%jGq7{@FS!I?UT|Z z4Oh}=B|#+I@}46SuI4wtb?p3b+fqm>DAbs_{)(NWLdIYhMH*J5$4l51?SukcHP!xN z;OgGK8EFOM0nfScBFFy<++{Mn_P(SmwaFZp+4GtG_>vNwK34vDbLwRMYBKxykbY}k zJ0H@cnuSY4*V9jNBRzYO@aboEBRwi~BRw6lP7YpSHJ5WEHEXj}7DOZ`TE6l4a>he%fG-_}fS<@NSF-*9*@v9=;(&44c+BkdZTvlpmGrmZQm}8Uw8z}?G#APY{3>NyxtAUC_!lSKzjI_sOd5B1iIp?t9aP13Cj=Po<7-ia?l1@EQFEbkm1W z1V%UI?p?O6(pwAT=eCLs+hJzgDwAFYYT7la+v%X}MlnG5nzVs};m-&p$<*8SnP1mr zWY?bHcmrb&E?6?IA?p9x!|p*a}8_m z*$!eTIVscaZCCKC{MUtSTy(c`Eowfx+hpsLyQP?kCtkkgbq2CJ7;m#m$+k%B zq2a8{PbZ3kuetm)RgdyNW%(zBf*doq4*`&ojlsvSsW0w)DnFO~Qvax2ew|wv?pVkD z8JaL6Fl|w|YnHxOvlN>IceioP(sx;$Q50Zq-K0J|l{cdh=SRd2{F1$%Hh?JScU^7c zCQ*dVKX}6otw|k^G!rMT-?nJZN_qqz`!&}_-X#K>W{{Y0`HM<1zt%!Tm#>#ylg)56 z^&VjwtuFXSnsg(tu5%>XvY|BEtu-}g39TLm>N~3k_4YrCKV?UbOYx!q z5gUK$&Y@X};q1aXYPM4r37$A`HZ@q+(s#FwoU5~QeRS8&hC!ukaOaI!-2N(q$6lkw zPfdprqRqFl9Yx_a-o?^0H?uW2?fq7u<+|!7<_{sv@-c*e1Z4;!Xx1e9@0)T2nVW@) zPDHq37#bF2pmhKVCj7;<5o~--4v@}hNzkRloYR_bo|$Ydt1EL>6eC70(FK{4Z|?UT z9L1Z-$TDU!b`(>6$5EQT_-NR_7oJmQ**G`l;B zZcy(#mfJx+|B#Mkq}Qk@Z^0pki0pLaugg%cLu~Dc2ZpFw4(W_-M=4NRZ7v9!-BG@p zYTcSQCe{&KI5&&f09nI^e7}?_{sxauN8syW(&9Z%FMLBl+<| zp07G`e#qb8B{=-=4ycDaGrY3Ne5c+Eo_oLSGn4(}jiod75zrcY+y&-S*R;Z9!Fs z{%oTo$S1P9=@+eKM>9^WZnA0W*Nx0-S>e0SS9`7I)j%6X+12D@TPYT6mdi*rTX}(^ z*Z7h;a-urY{`*t|ETZ(nzc{iXx76)k|^K6U|vMm^+DS`qAVul_fEt(cHq^%cR_jsNe zI{ZEuk0&{W?BjVTib9Q>wq(c)mHllDX`RDZ#i$&Y<)2?LK(UGkTNs^$|KC!z5%;e5Y#1w6* z0g6@pWKPfK?)35+4uw>aJT|;} zcZ|!>m$zHUMPq8>{uTvZ91;dzwAv8g-;H~xxzmY%3G-a$@`P@E(IFD^UrIiZiCCK} zuaac9@hi+Q9aTB#e0ZCO2kFs8&<2LL<83~MZ@3t;$ATy{>;=)uUAXZJ#@p;j`Zv~x z{UVPp_v!FSYP|A&P>SE zxY!R(rULBY5F>1F(it5YhGU~LFIqO01ys?E zfo)pREJHG_Xv1$=cR}OE&P+5}RX*vDab^LGLDl1Y5fO97HqNs(HP+AbG3?=@rhJ@f z#h3mrbvmYIk0u{CwHqp6YToCijlZys6K)g7*SP6&QTdX=Z(EE zKXI?=I`K6PV1`1z1~y4oq;Crb7*un7%_Dif0zd{|liLOGHSKpn0bj!wnDntVyv=L+ zgEbs7RI9|-9NN~fCWsxOjRjtwZf_q1^N>F=TT0BnkZ-@1Sv)G7MVW?*i!FM{Sk&2M z6>r-3Yqwzq>!8Psw@J+rbUPHCan!qiel#_|bMV9xVkYfeESaJdMr}vv$#ny zd>?WwL4102m5ww~HLva&oFLLxZ!)r=Hu56U%i73_+Q=F>-l{nQPjwC9Aqu0Fv_qX< z<2cQYJ7xP)^j$>J?}6^fQ}h{VBBS-AJ+oILtPE+{O-8O^n!N@qf1r|G>EYr`6FPC@ zj|5Ab`p}lb35y%|bt_4Sz67jtaLXg2V%g(scx$71d$DCZ<&l!^Bo|5qsHq z;i5%{Z~`>jOrKUKIK7*2#L($cQ%)%aK0N2NqOC?`_pj3RO15u&udcCqqcHMA! z4n$#Bn47$$Kf%Ry765keX}i~OgCo8j5S}pus_`;?0lYQ+MU_A!nrPx&UV?;Ru~ChJ zc?qak;2tJXD6#hhosp&H)+r4Y>n;YgP2s56GhWpBbBDuI-6l@3!!euc(o?hj;+s$THDobA%*(Ia1Yg*c`&p(;ST0dJWkt3dgHW3a|B*X|W z6a3ik^fl=4U}d>l6X?PbnEz@#@)iJt3F~oWyr~ECWeL0wIg$y)U$o#u zrx+k3{Gb^%5@U+eYb0$-WVk}l=JIU$4veTI^ z2ADmD^DidmM}h+dOv?R^Y0=7PSlJ@?uDa~KmwTU@d#~i39$FZU?CF9lu z#Kvs6lB8Ym*X=r4CpP8he=1{gEX36nx|5o9*|u z@V7qvJwN>YYWRC>`1=)p^VkUc&yc?%f`zmDOl`tUY2wt7xtZAU3hLm&KZop#v&~K) zecs&)h&C^oxu&}gkW=9dec-dQEqDI8kZl?IC)gH$Y&)(c>HndCYe~=iOk9f>>T15v z0hZjXCQT4O<5^rV_?U}P5-PAJ-k;iWxYuwmM}Pd+WGvor6^~|5-H!_VJyE;j+t?jq zl}I}NbEG&Mzcg8P42_3{d88CA%rlxiHR*3VJ^KgGZ^t?!v@MhYMf4Iyv>>u1*lvCB z^G-SAiHXj5!s5}SCr)LrOn33+yMpr*nY%zz6T%BxzCW{l7dCjmvwM3vIV{O&$TJPNFF=7~(1Yp|@ zB(;stjXPWW2msz}a@b5+B_dux*6_n4O})DCP~0w zym_zCxTT*U0tm#&(635ebo zI$~cmEwFvI!I2#%+gbVm%P+DcKGo42Bfx1y5#AI0#K9rf4uV5W3pHY`N_F^-x$0!? zs^bq8Ght{j=>S!|7sLvy`m(kLOxT9wVZ#2CdL`b%{jvi*JT4fi`r5(BlHfah3$6fF zw@;7^X!NB($a}C%XrCnDIYdd{CrQBbh9wSoUe0ewuk6oW&Ta*{dsDy=sgSK}W}#*} zXR#UE34Z!D2R%9F#9&GV-4t_b(sL@8De3eN9e~U*wyvFl0|k;Ae}h@joy!~>_5%f5 znF9xrDzWqDa5uqkeBB&ckBSawLu}=Lw$uL%0{hw!_#^ zf1hkI>mj&{f>T=yM|tn(#1-rE5omkxVf)07S<`&9`x*1v4Dci}jix5{F2ek7V6Fy; z)}mlJn_Eh8vmJWJrtk_x6%!{X{5OJc+@jcE#pUj(;DWBQ5Zsg7UF{J~HJ7nieMt*% z`H%!C$j+7Nnn{D4VK)kM*aMesrvc!-X5<@qA8)r1LRVhpH5@}vvGQ@t7oYwKvFB=t zJ!hA?WQd0J)Rqs_v8f4#S&A_Y!DYv>+0Wo9)Nd5h6W`e=)nCySz15qFA8uNLUcg!=_nKkc}26ln(DU z$Uehj@@ma;zN}a2E9w(V-&4e4cNKz#5OO(|Zmgf9;UYkFdHrcUt??`Bd_(3! z>_ykXZ?u%A%(|k;Yq-ny3tQG*rD3;mT(57DZ74M1Y9wll$qDzdQq>g!_`MtRwOBq%?_^s3V@1l~uAIO;2z^ze+ajoVjo6LbeZ>fSkaD`w*Z8kcw?4Se7kQ0` zTb~SOh4v3};(CrS&6H7p2x(q?XpGA`A_T0N)vGKS;hK(F{SPrU7+Pz$I58hp=KPT@ z3reGYv%7Q)^;)c3Gdi_-1cY`k(uS^N5363k_^6ToxTA^_RXgi`#e}=D?}k;}q79TY z@wb^s*-A#jXrnIPWFlhmKiySVnhkf;?G6fuk%a8qzuf&;Ra-oZ5E?>G@w(b8hTgH} zgMzS#Ei#Cgwf+OP7i?C9+n;N)E}xg_--nL5{@FA#IsFe|I(i(+pW?D`PKZ^vHQ8+s z!)Ej!B+%(5x^aK*8+uB1+r~$((w!fE4?o8J1@Xv2_f0Wvv`FXq{rhTq{)2ZlN=#bK zQaCr+HJT?ET$w9uELJo8wk(G(@6cys0 z*mzT{OT>G81!jN>*4hId_AAk*AzeCovn&f^&}#|DL>*DKV%4c}hiP5)v5R{BQ@X2O zBX3mo*}hsC08t_{wB7+D0vBp9)=f!uM~nB$lx%7}NIOLN@Bo%mH$u9)&>`~_X8s6vSznuO~apSVO`HCpFIT&8Phe+(5?t08jKyqAfiS3N=)IrJdGB9<_kJQX$OW-LEZ`5es1SBp>+{px{Qsa;G}S)wAf&P?m^$Yn z>}KyE{D*4=#Xs49_`KrA=jt9yU)O_c$Lk(WpVRx#7Bl1zPe3FUTr zK8hxpU7{rH-%ofrp0EXe!sZT~3-=)B;Nj&x&1={kN>y2V$6)gnHm6dh;Op7-1&t)d&xCMg4^1ve-g{fFb1B;p(pSb@1A?~Nz)?M41(R} z)VToP^m?@Q+|d2^j4utx9oQUy%?&u|+<=ETH{c=84R|Tzx>#<&N#_QfEH^jc=lOgA zZoplf8}PYpZouc}+J<{$d6*t@s6TMTz3#rBvgBIE|f$fqNoxUO5#|}NpF~*k=}~p@?hD|6msm& z;&Q_?^7g*nPKAP+=K&B1H|H1ZB6iqvGTjzWVvyc6`Q|O$J@?Q%_s~-h*{E>A>>a>a z{<|yT)8r{R`_m*qm*otKr#iRap7iFXX1NL9P(G$6vLGvlP$POa+n>@wFZQZ7D!8t= zd}E6s=gaeen7R6#d?MfThXJ z2QFu!+$cJmc_3~*l&B=xZLw~rJ40XS0t-2hK@zdwr6mi-JT9{PY@&Z|`@1OfC2@Z( z!EU2m#S-zS%p^4&@XA<8Y2;Pmyn~y;tW~w|M*_@dw zf11X8_kG&Jp~ieeff?|dF2RVj1DF9n66pw6ey(*tT#Wxdb?lo-vSobiT{Qmgz7+j zUBgs{?R1a;O74)e6Sm#dTPx@1c9YFZp+5a@fJ##k-fgQB>eD;ZWYGWTA}jKC!fpEW zttJ7oHP1FtzD=JR|5SbYWTw;^D6g@G(KUYA8V>d8zvr5x;7P!`Ygnt3*Qcv6D!E{+ zYhQ`kzvkN~N=1P_-RYHP{#e}k*^VCm!{4?OH1BqbwKm?tUqN=cB(7%poEa*TnAgeT&oCS z_3O{02855w@n>>`?!4}+yD;tdeC8gK-pcYP_YAc(y5ukJ`HbM^Km3b^!~Mx@rzg&6 z+n`Qm${`mdV_#ynBIkfa%3vi2u{{4)#Pvpcb6b@ft&E@OzM$CSYnv9ez>H;N+Qw{v zplXBH5NG1qmG!2+t06Iank_}OT#HP3eH|=<3QiU&Z2!WYYVQT?hT+%mC>+BK~Q#F;1 zEMM<1NRUKg1cxWQkh9&itrVO_Lb_3SOXK)C9e_azt$6%t4)2(v7aTH!T(#J8ZLRg! zJ3;^)HkFSX`_^P)hZP~9_wG6Ishc@4dlLRXu!ITDqI%S`wGlK%Ey>9HRnr!de_Zcm z)y`XRJQbY_{xS6hnT&&$;aN7*g*MfA!t_gKVqltttEkSMuSpN-d^w-fS=1w!1G@s%?SBr| z_sGHa9>LVu*1uc5Z;MFbjLX90@XUxh3%+I*JLS)}t%#gi?cg@4s>1UXu_kmm!I)et zyS1&%e&XWFP#&lxcc54w)gea*cP`v9LWo$il>5poQD!A+DshKzc0GM^J2#arUA|VU zS1T-^Df&^Lp4L^g#0btX?((0|~KSp@K|EGqfck%I4b z(H+Vuq>JE%N;1)bdVVtFnb?>7#}u47ZFD5(RWIB`l(1~ms_ku#nrnHlIO=b0S>L&0 zdriw*#g6dw=iES2YIDTh;L*?EDEDY|y0u3lb7`jRxPe0G`VHqBy0MdUBMdOG_*uy6;GOonuvsl8bTuSDz*mAJk|L! z-QE2qzKPEo87N&LJ7WPt1P{>8BthFpGFev9yur zL`;e_16UmZ+gKgy7ekY%$U*~RcN?6s*>|coTpEd0?eyQ!~}TEiXAYKxRBRZlW|9A86t0XW5V%4_(dT__X+mEWcSDxSO_a#Yd88SU|> z0@@q^e{!0Of?CVpVjw{Ve9jk2S78f?B2kBksthp{wA7s^8y$5AIa70#gP7#wRm=}+ zTK?HN(XzJKeUB!++JJcwcs9}fZv_n9HgYC?8^7)71K~GacX!YAqPyK1IvmH=2!j*W}9)StxSTs?wp;Y%|gXQw!@t zmr#%EHP!JFJOSiagZX-OwP$$0Y+Z*sA9OgQ(ElK&N*Gny|b&pcg?fWF@_NQ7Ujo2sYS0tUPr1(Bb(AM8NR!JvyO!68PaE|01RU{v} zZ?Z*T$$V>-k~d9ps`n@V%c=b*CX<|>$t3Zi34c=PXYyi7^0!H$pUEHV&Cle5&o4MvekPDhgmg>#zi<{?=gQAy z)sK+AO=|NqnUwc4nKYG}x1`RMpUKlXKNA?<-JO%#W-6R?M3W${lt4=ugv6`%lN3eFsK^y zFf}xz+8oTC?#!s3HTk!#Qp9?98`X-S7Y}T>RGw!jz*RkqVHYW)vbO*#wVC4n{rI{& zM;|2!E0n&dx9I5iDdxI!FHilJCH-|oZW~vNFjQLtEjDIe1eCFHdyiw++7d|*ok{?g zV(;;liO8;|R%jEVoixRc=|n_`V><7xA+XrXL<0z8i_tFaH9_LQn7)>bY{pazr_NZ_ z^W5i56JW~`{N$p%oQTLkJ$N1@JBsfL6c?X*LFTL@^ZOM$+~TrKj|@FV^}j3DRNOt* z6zd+*pH52j)J?s0PCy(lNn(AK9j`{(;)uF&dJTfIZDV}{GSFl>wCLm-5qZv17m=$7 zG>D;HWEaD3YSm~*GVCM)wr~Qf4}QZL(eCOD>PlcV z=VTZYn}8u2ZFUbEZZbr-CjS#6vF!zMimPsrz4gY5a9qY`3$BEG_Jje!MR#!)B;r#L znCpR{*j26%j=JB$xa?mk9-0(x@5o};^$P~5bUW;LLhyCI2`5j|L1{I|9j!z5E4&9^ zy1QcmnU3{84J0-2CmoZ7PLEU4$x1>=a?OKIz5E@1^Q%4bAoa_Cnvl~cJALyn+TK4Y zUNs@_$CswgP(bgxZ+?oZd7buKK_Kw9^W?vxu-_#mQZtvzfPO>JvzU0({`^e!cI?&0 z{|QZ5EeMY|voU|Yn&HFH?p{T4IS*G513XCtTJ%(=p7JWVlfbJOP5}HU8wE{LH6(XQ z%>Q0_wJDr~+a_u<3zW?QP}KB2Q#RiqW%G!(&M3yqo)ks;2++3bw z=;Hr;F86Z6gCp;BJA37f!X3RI{hwicX9wAxMR1nlzIl`Z8fH*e2O=vNe|w%BIeswY zh$)5~Int9VFbKx;b$7y_BLzW7ksLYxvr;5y-d;$N967-#l8f6>BnkgF1r*7^dp;9I zlG6un!|AT=JaHqH`kW5CZqx|SFx{kSN>46udv&(u!F9hB?NM?~y{riy6FzaFG{w(K zzJA?~N=y^NaHIya5}C$3Y+lSVYU9y@_cf^n#mTD2D*4V8zYrbq^uNJHb7F%U8X#8s z>*4DnUfrWC{XVkRO$p>%)Z^fDMSElpsYqf79b-}&z6pY`mB?H%9mG7$8ebzNqgFTA zu^iecj_(vc{xhPNx*$(ripI+&4}{=g8<<+GYMzUKCvPx06h1Q66d>y4hriY=SUpsf6gDN z4CBNi3TG~fNJGEQd;EEK5xCw~u?lvf-;^EX%v{nbwa)XWeCSH8wNIUWch{%$49Z+m z>`!^krAw-ixunGT3ek!<&&(xV{3-KYy2NamOS(Frb<(HWd#P{Ui@Z;^_ip|a4Vm`| z_I`*zMXWFHlCfnjIh6RAOl=>Ako24VDH1%9DES)HkakQ?TIgpqRk$$eV;Cj}`P(pZ zqD`ykNBcQtQ+fEUy%Ey&C1WDef=I+mZ4w;LlySq>LN6uzDTFer2)`(!^UlT2{&RSX z$Nj~Gd_lCed}qAd;*sb2{fE^cfT^k4TK5{serR`{siv$GIVx6%Em#BrT}A`Jd=5dQ zmfmZ;fxjrc)jdcYb++)tHQom?;^=Fq-;~lpC&tmfJ$cHR8MdQIFrL+hb7eXxOCA45 zkQ5D1!qa+2D@0j*2!h_eNQK9)#8jrTZ!?=}5&yP~^p-x)zpW#^_g@<6t$vYz|KfT6 zNbmcLmGOOwtfI)q72Xj&68b_=m5nV}I3>D6DRxg*t*iTOI$R!WR?e-jxFKtE`m31U zUT4&1`kx*5*F=|NlxW$a%ioH3+dXoi-)l^)>fusyda3EI*baW$7uujj*D92TphSTBmvzy8d9ul(F^k1n^l-;*n}hn?GhSgPf4E3^S-A{VvvlMDUL;nfT4B zqGv|mR76arQ;VK>5>j}iKcO#(P=`L5xv}2#^r2#Y1esCYC;WIliump-e+8dV-%mc3 ziunc|9&gff@ODbdc)Ju^QVOSxm&^)vCxQwE<4NsC5qLIKiHpGVB|XWl|581KAgL{C zoYMpH*+67FnML+`5%d%5bCD$`8*X22U!7fiKIlTuo2+W-xZ|A^W0RTh&Jl4vji)lS`6!f3Kz;|sDJe5W2$yYhFE`>@6OQP@(EHRiP~?mqb07}3v?lUpYXV-M{K zY8y3YE+viZ-Eb>iYm#4TDC(OqA-G_lIXKhl? zW2?18I>Z$JH`UvYIbI1vn<$5&y}Z6-(wt!X=#Jn1EdE#7PgZvL-*vxs{BQ1eVfg+b zzlHp82mT={)l|`7t`_NOyUwf#D;Y@6icomCBl}Qk-8p*Qx%;yswEgL1m}{@w$BOV% zV&!xjU1&qN_Il$Ou4(6W+CEm!(YJmk3&JBpuhY72qU{yWEN?%^p;zAz%qT?fGe+Tz zaWrY-G)M>I5E7gA!y$~It{kn~#xD%gM{Mp$5OuQggvp7Nd31?d705|cnezb`I6EMq zZ(u6ZUz zMU(z0nL>o}T6|3zh~Ptk%r-kxr$g}11<(oMpMBl0_1sLV7x1h5y0l!o-h629#uE$p zM>Q+@QM_s0 zy=5??^H?QT-YB;9V^WcycdPkILC|qy0 zwXQ`BsXFFcjnQrMJg?ytKBVT9^0x~nA~uJUE~0%nP)+xRndIrRvf#$|JB#}fbtl*Q z65x_?X)nW(S<5d!n``|AS{HvtFULGbcUF{r8<9k6{f?NzmAu{6YY^KJ^*_8Yb5`$x z-s9z8jCqf&!(t_t85zOHEZWrT>^K%Csh^TTXSF9f1Z-UJkkeTmuZ{`ipQA{G84AI}^PP?qZkSEppOQ}NJjxYp>l7JOoJLPS_!n!SNQ}N9; z{&I}M{EVOv;v#QWMrS+eb8(TKJlTW!<_U?4OHgI=Ta`s_qqE<|L}P_E($6gB$(!|@ zBu`6e%eTlp5;<9Y{!V+`V%Z~pMrRekTkF5zL+eh-j`;uiF@k8uL)Z8G-2tCd?d66PgDmb@woH zE9nl+X+8i98dOLHWsfjZBV*VmVRRAFU;fhCignIQ7kKhha7?~qqu-n?I5L4h$qDdV zO935A0U-hy0vz8*c2cbFcCV@0UH4MjV5#f07IXl;OBpQd;$n7tlg_7p%#XA}F)W}W z>(CB%<=oyWsL@q_bPM8AK*Cai2H=FmIN!&aX-sn|*kVO-mA@vn0r0Rn^%l@U!;JbL zheELPGs8>JHqYvHC_U(#{LhQmtJIn~YT<12~1W^D@1aZAmnDZfUeJH)NmUQ`(|*GmTl@`3eiJv&h~m%3cp5Hl5;sGvhhi z-KL-M672l0SQas6mD)aLlRC<&7q0mX?Xy-R z6s#+Y-MjXxz3*a30K6_TWcmfwBki${K&0mEbUTI^YoVZvTmK+W7PnqH@35n7-W-aB z(vFt9-Kr01x#)0cxgQ)%gSY-%Y;x0ostK{t3X-lP8$1nM>^OCyIq$aMhqtz$x+@uQ zZk*rIOsh`owySf(b-_*4xACv-InfJ)CbiOzJ3SM2^DjrkZqB*6V^Z(n(tWZkpwjKi zejnL`nrk|i*%X|(PZ=@516AfS$^h)MgYT0?(t_+Q;qMvY?||_4T7I#wxWvfP8h>|< zzdd?!jlWD`lkf^oZ5ovDljW1sKQ4D_?PU4X^h0(%Zj5g;nNFlke=MKw9v&^9!Nc;k zsUTv}lkev({b>1Qey}L0Bi78#7}`F*(%+#FVg4QE)1%wpM}gyS>9-6~EYAe|IyDvv zW<+?JAN67jDqis(Y31dt)4WG^MRqLT5p62&D`G8C^{+a%f2@3RZDe(jDv>*&+#nJf1C?}&>1C`q4Y_`}O* zf~x$D;>3H+O`3dyAHZ!<{pG|t+k{R5EAL{8*o*CSg$B*>6duDJcKd2#wl=sXG?#53aJ@?KG zK7^l>_1rfz_|Vk6veX^rGY_XftiVdb7+_!>kXWr8mFgnC@sGch;KKFk-Xw)KFQ7j& zx8TXyoT%7>ObLW>HK{e3vF*Oq@=f=$PETBe$bIyNel#%p=v!W^EE42;gO}6mcrm=U zH4cL5G&1Imei`ULy14VmxDl;UlkUg8ol6}VsjtmU^vlnYVf3pi@FIU+evQ|iP><3D z#JqnZ_YdRKij!-19t7d*-XIm-zE0sO`<(nx>fx7L0BDif+wlODx;*Tp)ln}Qvn5H-uIj1 zpibm+&7jU!ukl}iZ|$Jz)!Uwh)LtPIA!cxP)PD_9wf`CXIr+?Z#fNe4k@uh@-;75# zMVEgxu&KPV>W1=1z0?C?0d593hytjN#)SpoA`ha#3tnnKSYYKr6$rf4kzs+g2UTE` zms%%G#h|wwQ~@X}UA-*--h;~jk(a6u8|Z#e1NeGfZd3J%XGR|ut$KItMV8-{`_v-eKRjBsY3%2@G3%@^`EO{)ez{@~^=|ea`5+c~ zZ~2}9P5pZt*p)$92y-j-@(C`AkvGnlr z2__Fw)cY8h#Z7=8=?6N60g08*hLR%)NwbWGga?bLyeX7NfQFic;Sy9aGrE1dPgpb% zRU*?1>jHXtL8jLz(PP4UF~5}@5RyG^ad>Z5OB>$vW}P+GO-vvMgt5YV$*T3jd&A3T zr)ULA3HYw|5|MG`GixHRDv9-Yy{e(So?dy#*P&Wc^Q#MxUrad-4Az`SUJ#bRx_govEaWFE1xbDxkP`~LCL=Z;Wn;(Do<}0)kaneISgHa9EVF= zDa$RRvGN(=%MzX^Fw>efJ+=hql%RYoEotozT`b6*&)G@EpMw|rQo=$R^|)9cn-t3D zT*4T|Dz2lwxcjB&sA0%`R75`_o1sV zW%cza|KC>E-Bs5=>|SZEzR&#+yVt|j_cnW7!^OtgP2T@>xP4rGqH9%O@BeLmC#$}( z3Dwp2e^r;01L)Ar#8j4;wg!(0kzq9PbOrbzZJ`AY=3sKAvEG*u`!)upT+ev0kpM{B zf${EL4dclLjJfloopq#k7OeNNZhN&D5fcg6T7K~{x)i9UYI)s?><@u92Wc;Q>jmxY zMMt*1Cn`RO4yo}!M9=oI-Pf1e<>8NzKAVFXsXI<=XIEInqJ)1%>4M@f6bZBuc?iAe zvT+;jVwCm4%u!;P_Q|86Dj)i3LWwa|6TTEYJeaKh6~LEQG0qih$c?wb=&*u~b0!B* zDo5s9o4P_(?}Zb~lhRI(Y}XK*XNKV?{4yHKXR9HQLTRW4#J03R2N)|K#npnb^mNfP zE=+51qFPBGz4)ZON-&uji^Bmyiw9vmU-Hrgd0n7|QVKPJBmDuNPh{*K4c%{{hC5!M z@!@w0m4eS-I0hdMcXvkqmJH|JPv<5DzM27}Zq<}!Z4WK6oB2ulVo*NG{`9Q559RuCgsKyfRId-dPF+|AzLiWT%e!0fk#$&EC!jVEhinT*$a$TYgen^*rPtrJ z^@kDgrr1<7o6m<;uG(Dppgxx>X6k~D3M&??E#Ot%iIxwHI-vlg=FXo9<`ft*m};Bq z*=&!yZr)peSD&J~lLjZ!SCyh?A9uoj=()4-VW9f5xa9VnrO)!AwJ14X5Ab{I?!ol{6 zrEe*R=IaqlUxyNxqXg6Y-BY*&W=Q$r!MhiZmI{|g#qW}F0VE5BTdRAkeqJa!(mUfz zY!Dm@#+2*%*$9dXrNzp7>77l+mm9#o)urNan{5-!CI6^Cv@_`BSks78TC4lAr)>@h z50>4kg?{8BL63RamWgft{LxD+OhNSGS`7H`*m{wv#=ad;hB+`$XH%l%YzN12?M6d$ z-RYk))#6R|oobnA_u)Q5jMSe=55=!!+-zuvM^h7vipTvmHL_WV19fLXS;ASjyojy!XR6Zjju^B{oSho*6fiIjo1lmj^x+LzaEaB~#E@{W1=@1-*K~0DrIil$Z`s z@O5Ci&P*YgD&@ccb%9MNY;<1A?7Z;hMT1XvssyjdQQYA~x!`DR&})pK*QgxylADSk zxS-b}L9h4OCW2mH{UL(j9KGl4n{18dz;_gh7<)HH?{MYNVfBqIPRj)$ zLRk#mI8~HSZL27sy6Ij8!G3V(O=R?IHcUD=hhX0{55I_w<1S8jR{T+a0XJg?-=rc( z_t^DYW-h)14|cT4>HsuX@V!5&tv0imakEfJ%vNPa_-s1|_uHzCb$`jnM}BLR>a4pk zkv3Ni8Stns+e|jZ0~qlXZ;FyH?gV81T9fotwQ=`VpzVsYtUy8PAkopz#M^q=U%PBN49ZmK^>r#8i z=IR{V`Y!a-^~!^lY51*gaNDJ_vznq!%^Xb!Ut&vi8+2DEUS}r!+wzxrJ&Iu5nPN`U z6M(64u^!y;3oi2ttxfkawYoE^Lol&EQMJYlu$-yYDEm6i&cgmoO}z#MI(Fu!x;c|s zRNkO|4(6sZihwT6&+}itFH?gsX0};34O8ajd=B>q)=e&!UXuCq8zae(mAB^B;lQ~1p|o)h^dD?gy!w=J|;u=V0k--e+@@G%}; zwF{f}5}VMrVPAd9ZNvRs*wpw#>`}6Jn^8(VeY4eQ`aq>}M!%)J1k+-|3DPawdB_?4 zI{#Xj+7s${fopap z+bRT~&RaJ|X5H6A*eGqcRG2@JK2Ls4c$H|^nx^r5WEajuhu}iT$Ng906`SQ=eVPQ% z#FDP{-$I1U<;VgXidE{rXW`PZMeEC#XeN0A%KHt`iZ`574fu{$bNEnEj6)!6hAwh( zK8@=xun%PxozZE(=kWRdkL|k=n@o=Sd$|<@3;oEdc($=$V<$Y0M(j0S&)@7N$k##HF{uSw zuvCmLUx#mj1{hr)#Jja@{0|A(%bU*WnZ1f>FwONlhiS1xZTMdmgK#ETp#5UE-OIH; zxc-v%3w^BWaeY_JIco0DQOvLI&#%s}?nN|Ja}B|SYZ0ASg3tC@-fPLN<<;8uP{*zr zGzjRTNl2szRmQ3|dYKUzF5+M17Mcb9E?x+3!eg0UEc6@kiuY9hJicod0#*UzK+Rx0 zbH@pLD^}V%J8T;F7uNWT*#!cImeK4}O~$QxMBPzb7O#5UyHEB$t{Ljv4)1q#7;AiX zC+l?{5R@J4)(gc70U_JgtL*rAMOITdjgQfa*RjmB-Rg7g`D$nOSc`_Gxh8W~jJ?kt zG_#Hk58lR7!F!Y>UHuhU054x3^PgM(4i{WU{r;VhTM>k-xo&N^H7$JAtI5a~;u6*U zE&Fv^%MW_XmH9!xh^=%U0BH~et~c_{!Jqk-*Il#t)3&^J&7wMv6`aPIIe&*4!nI;T z<7|7RLi#&znZbJ@2(LjiF#5#GIhd(U(Z)+;dVB*V#k$98+MiQSGB?+0UqUaW>>zZx^*C(WPQ}h`?9CXR^;K)m#%=7?E}+GM z?c27?zD>0;Z|ZEy;9A5Lt06X64w&glb4CD%s%e_Fx_iuSh(K$#6+2x=uteC^m2+nm zs?E`O0qR_$b?MP&zgBq~iukdwmP)09h}v}h%TbSmzVfU_^HTX$vdHDo*{0=e;JA3TZgSeD+zm|H!7pfJHg_1!+VvaWq-*FYM$-wB zV*Z-i$WGaV5iM*u%Xbw2&bJP#tII(4uB)hl-dsV8sDxI((ypsZEswfNy0em7-OL-h zBIR8DkFdjImdSu_^%BhKsJhLZF6O^t_H=8asW&mG8!a^K@4hh8L)LOVhD4X|8ran1 zxEOx9@v09{iIaX|rdM|odkx2rabQ!gBS`FIiKp&Av9l!}z5m2wOWXlvv7c&7EKydn zN_6IQ`DUxOd#PtgyCBn}Yp%20@K=@n3m@G9i&bp&R|#%hOBk*E3A=>1%cNvlBf7J5k|(VhXi(N>pvHLr`uxLa0cTmfT^Qqk_rER#J4vl93O1 z>T6G197Ryql&$$ddsK&>(0l)37TsZkjPD&;fS#dkh^oj0ivZ-|0M!FilwZk%I|?W-G8(rxsgrBX9fj=#-TOi^(z!WIMt92;(OvAnNZ74MQ=*1~0B+lawVj zc?12jTVk0D+0w-7TVNa0GBBU*^T=ZJPo!UvDeH>iKDzd^?pVH;Xntp%m%WegAt7no z%&5taw-oNP&Aed*Wj+ii-aJc=4ettMzu~`u_k*DIa6YEid-8wi2SsCO-?t06{WowG z@>i0G;+s~bT-zdr zL}^7ulEIu#kJ1Mg+tSinTY6h6ZRKITXh0qTs}ik>+6unUh$6mtiSYma);=?tNdoA7 z{I4I$oU>nNKh|D*uisjG?dd-&HIA(*lJMR;$1kghb67PC zA69J48&>R?cfR`V#4YA+wER5t>?PQ}F>l!YpyO#o0rMtr`%#If?Wn{Hj(1-QL56)D z^WJsbt}gNs2P8PaO(9z5_K}R~vyrA)ij%uh;-GnP~B(?tL|P%w?+DA^iE6?F_z!N2Iy;`ld%`v-OmldbXd0eLnVT<~!Ah^yS`+4Asr zX!zSB{Edab1Nd#nP7TM2K6oKkJ6NOch}6TmcI<8_Gkt#Ma6|bs2PakyLlD%E9+=3S zT^{YZf5JPnyj>5s-f=cTjsP$TgMHkga zc41Xhe*h<4CRA?x549r>GK-xPn&>K!*wiW8RM5mstZ~D(sx1(G?e&Vr zt5;5ZEBh@5kD5^+bsLtckL*;5J5^%#0^&lxUVz7sGJVOdZw`W_ISoofX7(mw5$s;o z!ttQqwVBJy?0}Fi`7;OmI#VAy*iSj9`oUjLVp#o~W^f{3_8!-D`xTCQR@Mx-#_pzD zSyKf-Rif~_2xs#nA_lUmRM4FYT2(u>ied@t12Ik}TCc%zaRFI^vgKG1zirO3AVG8T zXWFO3kKK8I6g9N-0Cy22CzA=kb}k22bB-o)=olVW1(oGM=a3UbjBZ<0{koxgQ!V22 z7E#0_zAa#3Pkt#ggH6!Gd03tIc<}1ELcgQwN7YZdkw8u9&|$Y$b?C4OTdl)Na+mqJ z9(L~Op)}YL7@}Y&YvA#F8O8=S2c;+YHCk$)MX!=*Y1r;PbNiGm$>qlKBqQ@D;4v7k*XUBTopifn4}Evf37V>x_N*QYke zu;VR{s5(P-*AGQ8G)q;vCXqf3WD7!(;FTI1C=F(L%Ie-TVt#3SY@>734Pn|_HP$;CZut!q&0Zi4g2^r zN@;!kKEy{K*OtI{iU>&#xSPhYze%DPFX!eAllU`xQF`*2zw%Q^w7Rop%m($}_(3Np;HiA77|bp3%>A z%6sz(yaMkHpTH+@5A&zdu)p&IO1rJ@nXuBPM$S+75~ob=$_3x+XX;-8;qMb!z&BsOYHFZL;!GH#%IefP-9{8R7j50yvFKM0bv z8g2@zb2Z$WtKo@-HB^@eLp#+lSBq1XDOZaNRg3->azGM|6|2JmQqrQ|j9Rr1 zfW+;PaC;KQ$wD%wFnw8LQ8?efm(-fC6TG;fOGoV^1?=Dt7Oesly;-?^1C$fK!3WmA z>G_&t&O1Z!ovqR=8(YiFRL0B#mCi>c)fAgR3{5DleJ=5W@UT&UQuO#HWfW5q39YtxaDvgB8 zO2 zg{~(tuOp+Wp2)wMnBeYPb=UTcl1na*re7AX%q-C-f*Tv&b>HzrZI}DpecNR}Wg9Rm zv$(x7>cikpVl#Gj9!HPK#ueq61=?T$XI-!h|0sh2=aV}! zzIJryQM`KgTzAD4KN=;n*<~}qdn+{3wau)z1CrG%qUpDZrPpme&%k`NPsz;C4rXN7 z4KWTMxO?0(3ydIK(|0deM^={b`8d!mT*ChXx7QN>2kQ=#5cb4;K4^2d<4(P4@$UMH zT%X?i4gjg6qx`{uuk%!UU}lN> z@ZX;}o`nD2qI)R3?S50~`@AY;#W$Xq7+G8O#8x>tx!_=zjzg#jdgQKjISSGrl1~pd z=g-ubC^gpiVIK|(9_N%dqg$!^yHK~r`7<@jTI%L0MachsyS7*gXe%K20daXE5TIzD z3dg3f2%9I8L-;fmaJbcHfHmx~3!n#8hTWBO^r0cw_b>$>73_Q%5H#BJcnv$8z9hR? z*g_#sZunxbsBhSd4^C`f2EO*QKNcs9Hr=Ey|LMPpzZNic{B>PV0YTeO87Ksf4zZ5` zCfvRbFyU97aE8AUHAzv^J4M01hmKa%H#$Z|)8A2N`a`P~o$4HYiHrWUqQBTV`cxPF z;WI=ZY|(b5BAr9U!jUMa2{VumkOF;3v zEv~cO7Wt6rKb7#$XLUTEw~>{g0k#&u_E>mX^e(Y$48y*_pQ28VrW-Y1v3tE%br#9@ z4~@LwMEhvPezz$E$*t853}+UpPk(V&>9M;T)~+77V`Yk9HMHlMrT!qx}iUo~~Y| zA=p}Qg(|hZYQnp_H?GWnJq&-e!&h}TK>n*|hF^^~iG}esU+v80JMYw-yd9?kyhGPo6^_j(XO zTwUWMM-6Y^1Qg>Vf<{^di~J%4NH8JO0RiiTE&!4^Uxd!v0g^AjN=x?$kX)nKVu0jp z7L+3+14yn^&>jGiy9eyMhwc~uQ4bwj*h9a9q=FwG1wb-X_W>d#|JpXW27!$FvM2}$ zhd7Ln#-eMSKGQkF;yh6+2$NdtWrQb2|;{xe-nYJ({{r=3h z6VgF+kbbj&gjaK(r)W|Q?M~;6`>c-gG*M4U7yqB|l;P3h&DfKCT${1$HFo>JQ;x{D z_Fczrid(BSFo&lsLSPVxaj>!!;3>Z}F{Dd8<@+RcAi#G?6#T~zSso_v)D@oc5vCVG zzavG1Mg97!!Yf^PN1Ua$7-!*TLWi?_pwR|r;Z#?6KTR<>p`*c8ucpT-9k!XrO!f${ z{NmIu0G4MVuROr=k|VJdwVg?<1Hf{kQW}XJ;5vN|088!O0G9t?GP=G!Dg;=5ZY!qk zDBb3hUFRaIZ2-$|Z7)J`51_{hPYK`5cY+^eP0n)yfdwTpOnciB?HQXmYw$j?iOKa& zREk|3y99@E$XOvl?rA6WjL9lDIcVazakeKNt&M}2)yWbHR?L8iOl>G3{c4&O!U#V; zG2~w()l~7mGYc__g+d5s9nle^P$4~x2^!FGPOgycxk6qml=LrGA?H&_o&!28q5yN4 zv5l|ir2TQ9Vl}#%kiBCLmnn~GB4e8nb68=}BJB7T!mK&5!kY9^O;-2rSd$#)&`+6i zwRq_eYH^r_2y>9!aYK0#;_$pf9L##nAcmATLMfOUYmKT5aClOEQZQM9BdQAl2P3h< z=)o4P0wiT`Q0^`O2TAccz@hy0j}JKf{gkc&hxi)>fP>`b|0%$sE$9d~gqIk*%LNi2 z1A3Utl*wsj40?!vGU%b-x7(qIe;6Nj&_l^JT|y7l*+S@HK7A45AO<~rhSzb z_~LsX6+sX(1ktKz2NL!!u1#Fp6$Ej@a#blO-b9I;cEI0{@n%CFi4CNraw$6+@+m)jDeO3G!FiaI4m4Xc-GA#IR|gf@+?FT&L@EY zhH&Q$&cH3f4q*UlXw#*^vGWaM81y&mNmjGv1F)GgRRhKkgO4!>sSysPWv61$S1d>F zjA2qxw8%G2X7GYj59_e_11}ujt7F)@V82db%fSSWZAGddBs609_ZYJ;I5ymFSkmyz zU=7^3=)(;eGQPQrjJttli=y1U8bm*;=nb8t>(oL1&_5}9Y3FFUWF`6zMgQ8O_k=b4 zV1Z3rZwS$DOpuB`XZt4Upe1r;j zKII?YI7Xj4VdEY8`I-Ls9g0{_jq^nut0FWXySpllR$sG0NPm}y?61@~%D&CIg;XzJ z>Clqr`Ry>q&6ak3P^l3j&o#Vfbq+%m%f>(jhZsbU7NW!+vuEimFY?rmMwq?J|A2ps zwE{Iio_~u+D^=x={w?kZ3)qN%i|3WXA6l`3Aw3#Mqp-ShkWlk)p;Mqcfl@w@UqCEr zaAuIXL7s-|&*3zGfxN&^4@&W{j%zK=7N4W z45&K+gUQ+xQ<=+4ypb>^s>?zDepY2na}y^-dnUNGuQ%2Sz2nU_C+Z01IBr!=c$n{n zcIoKBTL$9(WMH)Cd4DJ8=zm6gUh+>K#=IHr`L#DQlXrUG-I=I%{6 z@FE#mnU%c>g@p3ygRn^bcgx0AiN)=`zcdjYVWn-H5A_`M!;?ya7m@jAwBJ{osOf9nO#8%oHUuaxqRb&W5EkfHL)zX zd%#wlD$q=|EnCG1P`let*=y~le~o0}_;V1Y`R&5LIp`Hk%jfLA_f<*n zjPl?X=DjMA)lS0Y=fwI){Cl&u`lE*FvFb+~ZpGt>>E1KVvM$I>HM;`8p4xeKi*)c+ z%FbQV+YQIgu?IAC_+3xpu>oXzSHcS~d^e9arR5WdEbD7m^d|i#b09jl7PfFy(rYpw zZVH{u$MinVjn5Yr(kC+A z`hN;LfmKa?*HSBj?K$V)#=c0PK?N0&B#!0A=nKFD#X9~x4eN?cLS}(l9oDn?YW2?q-bY`e8@l?rS}Fjw?KTqP`C64pdGi8SwGH~o z*x7jdnAtMjC+Mnii2^ude1kw5_lB0@CaNob9ahfsHgOiB)5>nX-sLL zTE-~wS2Fz^QJaes`@v{f6&4ptdiy)p^IL1Kj#J;ECtY=PKMy(nL-kdpu_2Cd*q7Cp zR{w5%d5=~&;}~NH5)B1*(;n^LZefo$fEV~t5ku4M$idulb(R?gKvg3(P@zP$SE`z> zV?E~6dLuSmd7suN@e&-XB4xQ@L#XFv(Rjl_FseD<%DgyBV9$BzADgqi8f7zDKH)8^LA~C9jRvqH1p=TK{yK-sHud7li@~A!p6CoJ9cU8a*o;515eh@ zfdqto&1HYfMNs=EeJwL*m@4oAY`oo4y ztIVWM@4?&0vc!TzD7}a-3K}i<{_ZAZzeeF^_ zjda;8I?QG@e7CPPenu`Eyr8g#375^HSEUE=rY^&!dv0{oV_-0DI3>i+A_Zs71|PFL z!nKQy8@NeeDnZfo5HPnbX>osWhM~YOjW*nn$56hQu^4iAzIeUx-KMi`?$1=`V887x z>CJ<;6l4EN9`g2m*57ges}b)p&oO^ah>!p?aOH%mM)HG+buxPI@>KNRUHp5QP3C*v zBW-xbvkF7z*3Rg?xLdJB1_FuRyN>X2Waf&$LHY0ba|ppOKVuBG&d%s9OdT5G_{OM1 zS$liob9Q0b;n9Vu!`b%OwVSovEgo6QWp$OQ$Oh7-KFfLKUI#=MPB|drZEjpy+7{GC z+El=2F;!;=^~&h9@k|%DxMb4m zt<^dM2#_eI5&<>53vzaKQCypeDnJ8gIQz7c3Rw2 zt9GX{_w?b%@sjLHC?V;W9Vxq*Y0vV)S`3?%KZLlz)y#smB&Mg<*^f~Vqp*d4oHC?j z4Nxj#Rk@q&WaMxmeh*!Wjyv99{f=rnC6>#ARkHlEA_ zW|^NYNn%9Y_yyjg2ZiHb^~A>C(V6NCY_6boKV;XT6RI{vL@GMsQc4;U3KJn}O!|FX|U+I08D;k*wV z$e)S|KXq`VZF_UY0gm>omreXB+Zxp|W0P8&C0y@Mra2%J<^1eX ze`JgU>DKD#y=&usOv6}#&%v2$H`8+tKh$h(tXZMfX{5w2g>T)#BN@udhBcQRpsR&{ z4sxI8ZgTl+#YfY}@ZIb!M4H^ZcNNDHjE~$}8TT*V-MAg*_#q2#W`TI66C1<&WsKX> z+iD53RYS^AG*uW3dcimgbsO90z0cC=FXrm)_d1N%)w+>3j>*>=uN5|u@CSaXEl5RP zqDfOu))fTxCzts3r@+~a{k83iH4iLJaVgEh`okkIwZr{Uheg_U3~PoBRzEv&amLt2 zp6}OE>pb7DW&Ppgz1ooNC2D6ln)eqlAL`7#@g1$AqG_G#2u|BQp2iuY(k#@7WE-rX zo7F(a!fAa!-r!vG`JtJ86qlJ-V?Rp<@#FZI&LQ)%aY(ZI?~{6np&4FMPJ!n9^l>q? zNx+{mxCoalfd}MR*LLF|8?`;GesR)6Ozb1z8IxM`{DK}cX*l~Wc!Tz)&A->G=7l#( zN>~hPc8!NFP2_BsL4#60Xu{{0l{3Rt8D>Q4q~O_W%^q$R)h2u$KTc`MS!|wzn~7${ z%U&a{<2y^rPp1Ury&f#9?_{60QnlDYpE9a5$e;ZQpR8KVToFZQ%P56AhM4H;y6iUG zI0zYEFj8;x8KNqxZ~d9Ymla7_MA9O>Y(INljZ2v^dVP(Y;&0xv?0wd#qCK?m$KdLZ zR0~^mja6}1GmK{rxkCm9pBccTstJQB&&D+D#tgG3bvAbVH!N?E z=y{!^bqW?p=|)B0u4oX~J_-Zyt>RTa~=x8Ip;dwmn$f+O9t1ht^jJxd}B z%6QJcDsg~fy6F$<0P?=c;rZ;NVffz^zO)blEy>|oN$(lwxG+3~H&@hc?(o9hmtd_H zYSt0fdj2Rj(3#UiSZhV_NcgTjDYm4+1L3=1Er7`l!6lz5M6|F}5u7FaD#2MX|H4i< zmMql_$T~1)7gxTceS_caYsYprG3a2$avLd=jk_WZF{W>^O^56`It**S9xC^mb@KIE z2xd*C6xQ`E^$1O-9v=`DN!(bz@z27uZ1a;hHTe5y3t_GP3{4KNf+v1eU&z@J9ivS^ zj~y^TjtjVwO+p-A9y|_mX+}s=uekhJ3atdM`oL`i#I4fX;jp#UuVKV4R_p5F+!o55 zxe&yf%eZ;zKk_&D`S$U75UZvQ5X+n`BLOA-n?elBCaLpMc-jZoA%EAhoqR9xhoqmL zOHagB)fyU=q$<1;>L9Fih+ti_{Uq|FLjY^Ymg`CYy=sq&t*jMxbwLPSEpW&c#zC2G z6G{YJrQ30Wt<|*1W2snI!S`8yqbAo$%3zAVtt@jQr z(Cz$~RDzBWVpV`)R+w@*yhtdO=soz`d0Tg1VIUQ8R|=qVmw&rV6d{Bvqk--_`qfhZ+p;XKzp+N~BWpF6DIAnlin$83^Qy#R-k+vR)Ria|9azH|Z5Tog7 z0!YH$k=HP_)_XCBR}Bz=rq)n4c$KkNSD1*)H9Oz5_2&Y>T`}5uz0w})yRN3HTgtan z4xH(l$~qjVL@zXkH?)GcsaD0ERPkUW=Vaqfs(7AN5!2EbRRk91jOk{Qfu!}J#$7>E zXTD?W)nql>HK`byI?l!K4VpT@C9$5{12px@=JD*_Hc%C|6Kai@9>rfZdY7>}*EY`d zCUWO_?XXh*NbgvQ(%gO$_+(JNg&y;}eYMZN7~u5Xx!u_7s1$bREM{Xrqy6R6>vqH0Z1H3w%LtFDwUX?vJ7&?sQx=nqd#rsRV zQLR=AH=t`R4_b^0FfUm;Y&*n|p9HanV=aQF3b3gO3ili^60TNIJhO37@E|#Lajd4n zM9U@g%lWjMrEFn(E#^vpyQOy*Z4S(*zg}pWdLZPsKwsCmD%Iqwv>l1Kpi1Lhl`PtE zXa{|r=(4rsvfWplP2EIQ1lngv^XS_f#WYE8MWINM~G&7xPCs7xkx;vgdQ$T&yS zf=vW`%^}c$uN9Fkc4`W)b|;A(TXh2;=YWavf*)9faasRd+V87wb$&%JJQ?K(&S6Ih z^PVu+lzu8X|de$PoSv+@C+G{lNwR1yBI_ zQ>t}pM>)AaDHYk)w%bYj!<&bcH&^tISHCfF9$hhu1Szl8El9nXQF_tvOEQ%EA3uohEXY*$ssE5+3=2qq|{H8F531U#!S(`~^G!-Dul+rn zz8tUhe%u*jx`de#yzut;aQ}!MHp$;kuBwGwmXw&?qlM_G<$E|(VOdO25gb6_M-mEA zt!RNd2`5$a`3d_f<-J_zy@~v-*%S6rb~$C@l@M!y=(Nvj{cx~CLLQ9X4R)LAr~`;N zhU}mj@AGeGDzb_DTg(gBA5@a}Zme;4`ORNC3x9$IKj`%b1z)5$8Sl}dIkb!VOR;Ip;fz}hPhu+xEQtd*T z5DaFaVb+*9-hB-{t+bF#WWKg$fqk7|Gwq9l*rAHjdV8z^FuL2n~39}=4g}}3MN-x?4HB1Zk zS6>v1^w%;d!KODmg`Y<_;&#Qa5Vw!+3?O`2*%o!q_8FJ$sX1f|Is*tYfuhufieBA0 z`d=>kCyM@$&e0FL=*f!CbdLU|i@sRV-&8c9z}FR)LkO<2m-WGwYL7;1|H17D!H#Ns zHiTf4d+x19zQl93e^?Bd5XaISptM>Mm0`sF`bbMVf6Czl`CAP_e4sa^jjc-uG(cBr z1gj4gB7lQ#=tLra5G=}tXticLCN@aK=HM4ZnCL8IAV{kvd#0Z-6Rxk2567$ah zCb(dqFu@MeCj4%v9=fkx@@+GelI6T%SZ*E`xq0Y7Xs;cray!EWO_V|mK9x{y8BS1c zNE|r9{Pz9~8=1!oe%_-HFOY2L_=+)slMkc791|#Ie-ivF+ZA5$O978Mv=q)#I7xsk^9Lb2dEn@IpK9MtXIcjMRArOon;&*nPfm~0_HJUMFmqTB@j+*Xo zI6=anK9`DJ+Qt^s5!kh4W+r&cEKsxIVy+?Pjv~0Re5=e_Sl<+SZ3(-kaPQ#2g4jhF zU)fNR1-~2yGytFwq63=@9k7jdE>#E*1P!Dtgam$W)2G;Q#krQ*6EffoSGr;G#D8A=R#d z0QzRK*rUS(ko!RZ*5JV0Api?7MbPS({^udKK<^s?NW3WW%^9btA;kzlKNr6@1fZKs zB1V_k0|M~UhE51T37=AHbtInFZqS$ai~uZ@k9OPj|58t6Ot0qQV<7<7@Ns%vG*|!t z;O;HqWA-4gH&=lTIv_w^cjykK4Q{#&FyKZ5148~%yy{)t6Q;23RV@SE&aK=tr{i#_ zyd&MKhFTK@t63A4@sMwV(2HzEAsP^xznI5Q2E1!fz-V*&)h3X?6>UDm2L5d)kPlW3 z|4lW7k##VC*%G`897)fMoU*4$?ClZ)NM*hy*qI`H@L4U!i=1|lKUTcVSL^sqG=i2qLcieAbWm(=V8Vfga)^B6s}PA zpQ85cMfQK}i2~U_b`t9_cQdu`2Ct?}TL?~|W%-3*J4u3nysU*lXcfJx9U+HMUkmQs zrtV}RI8HgWGkCM=V?hWDN=<@ZrygDu(vRC?+TyOw<&EUb zK?uiNu678)HWgudE&WP=mZf(FH*aYknWJ?xxG7hq9XAF-IL1|JZLUgxvBdc*1+GdK z?eaJXVPnKvG9c`_rf(Hzt5LYqu7#g+_C5EJO}?Mh_(Sv6GGt>ASwiCqFoO+zm!=3l zXbm5u>8AiYZSR15p)U(Zn9Hv_1)`aZQ%c=s^8G`cVv_sf#eg$EK^uF#m0M;9LASDY7Jh_<(^MZ+{h;U& z-E_ua(2dXdL%Q=*LYCbl{39zt?$wytI_q7~W!ORv(q6>rKs)Eg4x_{Z2G3LB&}n zFf7(<&VqrioI!eSC&zN2nJ36voxrJ3HjE}xzsy795)D=)Iz1!RffK;OYeE+2yk(uY zsm^>O!q)a7&0uUAA&}KCvNBg~rYI}obsGqzxI@Z}(yo2=w7n&@XtgJaJ4buRJ zV@UjC{KF@QNqG3Trc;;l%`xP#JruF6Bv#*Ii@-RJwzATyq0=CbB*5&;Su}X`+PLwg zEsK>)Ir%0K!u8&l9U8&jA;PG|zoHpYhRvbLpUpNYxiqDU0DTnel*@XQBqHx9)xrM2 zONaYIF69}E6wfs1%?1ZjX8cfHp)smQq}e8DXmH?H)c9pBBm5!fMK(va#Tdr&rQ6D4 z&CC6==i`yqSmfC%e%BFkKsmJVJds!pdmC!;_3fvk<=%E+t2tDp`R}12|I+Pc&Nbpx zLYd*WMBZ`6IP8vPvL{rg zo*(X4lts3~LZapRQpKnIiY$x zz$$Z(Rtdm8G3>0?bo#NCPlD!|$=g3HXr=|3V1{ld!xPNV?Q|aUZ3@iV%^ZUtGy{AJfVE4EvF|&^z4sT$_yFeAcQr+jc4Y-oA1*0RE z#Rc>uGs2D&%t8)i{0X8ESD;QRp9NTB{Pf6_X z;KU$*+<#$9j^bgTbNB(s3R$qOxN$2027%C-wavL)qsU6j;`9pmZmYPp@M0g&Mp9xybnkCWi__mhYJ+T{_y6CLF^4WYzCUoqAk99$Sq6Mh0!#9dHd>w zA>0u(M}6PEIswFEusQ8mM}X=x$26Fe>S@l1f1D5<^_C!wqT( z4HqgV3)&7x6!d)bwghlswiF{FhmV+@{WqYHyq)DwAmI*B&8hH*;JI~R;3wwJdr=dO zT{5#j*kW?k8SQAe0tANl*d&A<+2UF&Jw$JR)46ncVGX8GdY^ye#j%r=NTA^4Dos8 zbd@W#S<@!|wci_}JePWRK$OK|gH?(~UgJ6YDx9RzaANNAdN$fr#fXPH#1KKkDrv9h{Q8qhm+mU9X|5kZE;e}GHGM`MsJ(Ubs1dfc zj#qDsPHSMkICfRMn?qTqMuro`*x;LDu`|WlLNF&h^5f(QHe&vHA{cQQEIcuDrLWFH z16db&gAQ7YX0GR%e#QQEx)Q^9FkKLKSsU~Gv6|)~EboQ@kG6 z@AfYERIYr^zZQHWloWI-)`uFbV}%_tN;BYdQ|)Lujfe|@r3_)cm@wzk{I_6m4Ihisve<1dO{(K$L)a{Nfq zzwI0yDmm&EeOu?~sqWhsD0-Zt(SgJimeYY45#kQ;Qng1&N9pHG?=e}8+0w_JO$YLZ zd+x397kJL@9~R?uAmnUSsK!r)|EKbZsB`$M?4s9Q*BHA9!$Gk=oaU9=DJB`zN=LtX*4ZA9>`X`?il9 z`3&{=Z`nt-Q02URB)uUO$O5$*?xyAh>9@DYGLmhIUPG;ia=|VunK>C>sojx2-4t+7 z|4v4c>UXx_VJ6v<6=n)1kzfORU9l$)0wf;?B#7LfzBv$F&j5$6giV8Gm88Q ziU*P^W2y_INLR61j3TY!t}szsuFc_r#Wfha7a2u1FjXm6(099a+SHELX|ASJ*s3U% z$hB5Q8AZygo2f)T__#)qC%1~ib1D(*i}0EdcV72U7r!@^$h)ho2>=-7 zu_t>-O{{QIh3CeK4gi0bkei zbmo&9)R4QP%(%c+X;7|8zp>Q$lgZ;;l`PtEWT(tH%4Hjw%XVdPHjN)GvFI?HwiUta zfptJ4mu*6EwmB}FMXxeIkxWu(j3GjgW;WM=`0LoYv>93!LaRuzhhDa%`ucL6jJ#j3 zYJredB3A>eT4>E$_(9}o)(>}4Tb!W*$PFqEpiVX6I8rM=;kir@j7sSrB5UK#JrTtY zPes$?a0>`XwZFt5}9P*MYYNpChcpNga0G(Inh{Qc=ms9rZNF|@LM!TcL zY}!YXDU;TE5LP?E3E!~hk;g&#r&_6PVO1rLy7tJJ)72Zj499slm$T3S-C+)>L>3V%s1WA z1F^P6DOJ^LTbA2fkDyv*M}Y}kb`*Cbw(-!bfG%<+?$7`h75RHH$IRXRsF#QJo6}Ip_Bf$&ZB2+_K zFcxcLh*G(;fb?1mahNVTA~5SsCWP7@8gXW3&*Ej{K>R6%)|*Qw)MCY(aMa3=WxshoUo+M}#R?4}t8TL8E0**QR-vom zFR1fAfJd53G;WdoLQ=Mtc$*{&FUYT> zi4LOAY3tDeJs(37Aes;O_YsH2>Df^=_``mmOFCXc}yk&7>{KLG(=a{_3r}X8)51-Y?LyON9%tU=^oIV~|o~oXwfv=CT z!bPW@#*VIz15}N}c%Uh#7;r97T{fIeH>bM!Wgw8Bavi;4(tNYD1g}`*Q9;N1)&%3v_-J>gwod|gXh%9979=?m zxv+%jF`3$a{EW-g9?#D=g2;SEf(8y?5~uq1iS|4QOPb1TIeknWf?%%z z`nS*H|9Aa6ik249?{EnEf1rPVzI<=}d-kwT(7!MKVXysr%za(-?@bRD^l!_f<99pW z+xX_V%z;I$cXU-tdbKfLSl3ha@SwL_62**nbOGZ%R2zxL<>QR&!f~-Im|R}k0EGQa z(49unl}qxhb{n)ySN_ql+I#GTH;mPN0$+h}jFPdiz!d!SzL{LHf&aoj^1d1J-GunA zIBY-t83cbl+xTmr;NY0`pE(_+fEve9S-{0n&k9a|fYxV5_3a}MpDn9u28i?GFf`Ry zo=0(8D6gXluaYE*XwQ+o@kkn7G^%fEtTz(3s-yaz-8}NdggIIb$wd@{y+4;R}=PsjulUawm)wF5B%{b>HphL-)sLr zbpQWq{}1?c7yX~nnCDi+$JTuE{xAJ+(?6Y3O#e{n$L;_7e)viH|6pvCS^xG(|BL@u z`+xquUG)D!e=F$!vseEg^uIT>BmFZWK5qXH{J|&b|J#S`wf`Sl_`ll!1OC)S|7SGj zdHM&_?!bQ}LA~m{Oeejk%wO<_iCf<+hgt05{FL{sG=?{o7(X|a;0?JDaTr`eO6Icj zQ&$j?J3j?B6&}JK6l{4)I>aWDiPtw9+9EeA;rXepp{rmpCSCBCf# zs5#Ul=IwXFM&{2?UA8XNC#td84(F%Nl}0Ehejh{U1+(vSX7la~hQ#A<<;w6w*;@Ag zwLk;u?j)|omt2~aka2Py>xb8Xgx*!+&PQ;9aMYmAol>iYN^g$iL z*b*BZtYM^5{x!HZeLXlk(k|`}bI&I3e#JeTxO*JWc=l2mwK4~E#+tdqI^}#aAS#iW zxmiEOcl?h3RZf@Sjyk?jA_anTW2n1yzJ_KY_)dRxOQU&mcEtr?M8nwN=YN3){ca!p z(gxfc z=`Myg=WSKApfMDgguP9JGyp-*3SEmbr{v-*>hV`!J7+KFPA;4iD&-i1HM`$&*9vMt zmhb{{Dh5;agjmC}*6zzdWFm(_~lS?0{+QJDFywe8bi6Ts2vyun{^V+6SJl{pB23C@b zvW^*~C}+^gOq@juinn$F=)1EZ$u_*1!V3q>ZwM@gDcq;5slV*MVlizZ+!!f1PADxhJxF6jg5H& zYj|t6d7B?0EwrJQkGt$2pvbLKk9It4371BO>kCa)k`N%%UBDxn64iqvB!Y4 zrE$t20XdfGpACyunN_PBH_;nc6T@(+%5l$ZNNMc=m40qS2>(p=2;J3>AkTkAEi=pdUd>tNiZV;0O+Tf>QN2v%EhOr*{L~kT2%UVFE2}q8)vSxq zzmK9%DB*<;S6wkO(TsJ5+mi{9pTYOgN;mV2W}(jeN45o`H_xqR6Z?WT206b$48;0i z9yn3PHaMaUrN-fG^!A@nGaSxFZ=VX)G;YK8{#*7Ci_XTgWs6_70(H2Gnyc!}V$QVc zA!92TBkw%gVl@eURuYqnye?IRT+&Wg#?VOr+~AACsX{FlUP@9CW0~fa#5i>I%1IL- z1hptp{YZ4$09$L_oTy$GZ9I{8d2x|%iDP(<9u!szK9H-F)gWJ~$VyeFdh5hSv&;Xk z3e35mm65(mu&f-R=U8ef#Xv7Zr&J0d$q4{jALTj7I>zq=^*nY?SXnsejtKXjV z09rGQoL5X*9zDo*KG|FObY|vg{#I>qOpOy+8bUd#iMwf?)6%-*UND|MB#--7M7(#s ztvYyQ-HNwmbf=o;%-Us`%GY^I>+nt!y?0eI(#m9t*Y1Kf>Qe-Bsh2%*_A4LDp{!C) zW7*ip+O~}y;lDWm=5b4i0gD>#NDRs z;tbiKNE^4Uc~j2crO7sgzF-v}X{DL2mn@=-TG_uJhoy;Q*4{E2rYYm!EXJaS8LNpr zrcXBPB24{2*w$3!1*UlX+X_=-y|{w2)?xe(&eKVFWGL->QPH!R8C zg;}cMPT4znLO#l3$)MkjpVptxC8X>ax%C~gI=_~2_iVerLGIahe<$#qy`Q|n6GyX6 zd&o*zA6(<4-s~^KQV&$A|DivB(l%zx7IHNbm%p#2qy1(8r=TUApA8Sq$-m`f`m6w@ zt8J}n2|j$J-G0-Au{Xj11OpjtZVsLe1EjwoAP6S67D`{C1?OLh#dXEU6TJcwC;V== zJh5ldYo$BUEiI*qUb?SkpDr%@zzw_dT~T9l*NV_@#mN5@bHjeq?rSl6$rH+(YYOG9 z<00+>e-&TT_BJPP;r#*sZ@=rxe)Da^2~l^BB)`d9-AHWm)=nFjkVc)BJ`}sW1)9NJ z$yw~%Qd7nmUj=I$Bx;$ECQ(ZRl(F-SPKaRv*Q5yUS}8e8`8vp1Qx$|qUpIL|acd-j za+oOEK)M>kPw=~vt-D8u5)?8Pg3{~k(5bl`E~peY-@}4j-e4k`VwbXem3$SuBI)6X z_a&03MED7-UU2UXCS_SY{DwK#a$*8GOEoa*%E@DDLs;a|D)QpIfF-9Ru}gw~r<9z4 z_11gsQ|v|eY*Xwh_iR&aHP6lp&`S@baIs@k^tnJMM(jn%>i*+mA?rITyFkdA%#srH zI+EEto~O`mr2`kajlK&8+#@NdoA>y>WUZh4$bB*US?wdlO1ioBOr~ps?eAKft(|YV zXKUw+dTy^*dM6XMxEf7m*n9=||5nv-0^B_EV2V=T;0Pv^!x)HAFbl`Kc%++mZ81UY z%Gl_AN@9QiVY?(&!^g7Aj2vDMzRU|drDk5CnHl_;E?y68KWDk0Is7Curx7sM1tHC5fFzY090G#1cFQhvlPGVkn6%4|X?560@a*Tq;|V7;Iu|@Cs3c z=|iC;#-&>(hy<%$ls+CxVv3r~Yw#yUdA2<<1D}m77G`iTnpjM?#^}cx5wZfSnhcn# z#M)?0%SlCvW_iNO}7gdR}ksa}cw*apFE8z{4!FpeJ|!loYHH?t3~ZXG?xKhn~dOJz0caE?bcW?v5S{8ca8PV zWX-qp?#YP!;^}L4E*fhu+pxHUd6gE7ag`dvj%?zeiB?6)qBi6`x37a|xt7E^MP!Y) z<{FT9R&jSChkaO5c6dt}n11@EhsgMh+>YA; z!?4T3-eky37H|jB(QA2YaV$6>#YtuME>k1|4Vl89dR!(DP+Qu;v*2VtaJFC8JLgw$ z>~L>L44P3zkyXcf6~p7zJ0|`fYI5J%0VS!j9XiBhRJQS0);)sIptw&h<*`6qNY3OBgoi>%3K&g@g#_`*Q9Ppaf|z4qY|k0IR(&gH zDQ4D!V^oPkn=uo~GJGZ!$)eMARcmnPU$t|wF6JsQCW>s(RvK7(B=O|8wU(-$^ zlT5)H^^h}WYt&)ZE(J1GBVVx&)tNZW2vluQm z-=p(ko&#E)8_M82iViKi)_1n)OKDH;4?X@oHsGiIDYpUF2iyky7d){s&Stl{-?!ZF z#shl)OVm$X0h$kU))_S9rYcz;~O73n+H%@_6Bxv4$sJHCkoWY;D(F{~Z+9cSSUDZl?NrSpP$KkG{0 zab5VKc74ZNOiSB;zrsVVWBm^MZ*h}O`|kk+x_x6X^4g;PH_c{o5rYfGS#L=tFToKH z=&aF;@ytES8=f^%vT!>dy9joml)ZF;Dj{}J zo%ceRJMLNe!46KG#V%vF?(`b(j)rbYGJ)j5Y2UOBxBGa0!>ww?E-Kh^t1`h~RL&*E zo9#=3o!@BRY)=i^H{12@**2l$+;eX#9$dzAZnOPQcCR_?gFfHDSN6Ht{&{opX1hXV zw{L2jrfReOyGkbZ^*rf*f&zU;G;RCr*1NR9?e@9l``TxJDg0RWxZFN__Ur9U{DFJ6 zCZ^r9HSs%oZm&}MBc19isz#IC*ahc8n>o%?OP-w4W1{n+)M>9ByNKPkhAJH3pwD}5 zpB)<=yLg`)?W=BU-)KMc8eD57C5eTt;U!dgz?f$cimPPSUx)wauJm;K$(+wa^M^~4 z#j1_Bq{aQ%x|KOSXuY;8m4{I1U|v3I4teq_k2?vb4x+RCMjMttfp@7rZXmjNv#kX| z&~0#;i&6~=)E>Qg4Pr!veagy>H%L4Nnha5*&$z3jAUm~~y&T)CI)=&ZO+&vHY_2mi zUE^%~G}b$q9i(c-=arA_v-nAJ0UN+vXrk{~mgu7HY`;m@?2;=T$>;L}I9Acu4YErj zkQv1Wi4{#M^{Z2(a>=^)c%8SyB~-Y%G@2{c=~Oy#K*6{DiqqL8afZK#AejAe@pJlF z{*)di!|{MYzyTa!C@H1j-V~ri3}esm;`2+Ri%yR&`U>8kxCu$;_QwwM>gSh{Oig4T z3QE5;x~Pg15Z6Z+oxquzuGwrKRg<=?|Lsuan}}!xrmz8wtfqg4ARCxgFS=;pDblD^WPFi++)tw9SS>$c z;>OXY-xKvf})8bd}O zsT(crK%B~i^|6j44{oe?aG-}q=!+H*c|5x4K!0E|x+p4V4rEbNr89|nVz9#_qCR^C)RgmAZoAbmmTPO#iE~@Ex;(Bw zq>))*3^RX5OkZi+gxV}Asmw+K#9TgSP{5eD5F+0UuEwR^v)39Zw9X$m0Q#)+hg4Lp zc20C0fk5_<{wk)9fd!4$?1<)Wt9(z8$EGHO-h+vAFcXr)M1CrwDXGu60XTaX!@|&p zt+OOma=1a`4#rQ1<_3DiDE5j`6{CqwBAj1E!c^ykB@|_ix;n=3vYFO_alUEvkQab7 zkZv5@My2~ZQ(puI0G?k=U&eGz+w`N^%{Z}{mu|MB8v-(5q!t1o^TtsQP=HNBKBA$- z2gxA_{cehx?o^*f(kNp}SO>ex=?vZMR!D|Rk{5_{yk(q%LnpSFXY?ZL_>m&bTQHv| z2D}w5$y^0WWPzL=M)u?||OSpnjJ+c=1 z1Bz_H&k%8HP>5+H{a#{>q8~!~*^iNW9?vro+GDoO*8G)UlCny2Si$~~PZO?hqnNp@ zwiJpU1x5P<^_02^73Fhqzp@+nbL2%M{J!{LTQuq-+~y6$li{NJ8{h>7$_&Rp%UEY` zGMp5(B~GL04|zhT)Z&rX$zpHx*Sh#&oBM3EFM`EUG#h{hw%I(ua8HbK|ga^ z`O@8GOJA?-zMeX1IJ_ZeIV}!(o`^-Z4fm()k2kfl)ue;Qj0HxXi!Rzd%pX#YgU+f65QUnBh5%oCDnTQ8XlxQyG&S(ZjZFGvL zi6)7XU17SN7)=4+bo$DE1#TXMDeeATXiZF;jiFkZ^ z5pU~;WB76J9a}VUH*IT__ZVj+lPq{1Dn>(7nT(qaPTS5Clint9D#Ep^TR5f&S3Q|W zxa*W2u)ZRW$jE7|9Q#b{f}UAQm%?7HAo9TA7U^zKwJv0skl=(c&oD1_j=;tm-pTO@ zUo-YQ%E8-<*sgsL3`;Xq=Be4JdI|Rf$n&9G<^!_h?c%|H!u;m^kF$RfW&ZW zHM4C~9PjaLRoXViJYCSzOd##poQgaRqnU!56(6uHr&i0z7AiI62I|fcLgVzQ$UCHd zkJREyGIgQO+2{BgA1I)0oKi9yjJ%yeUhdM21)_CmU^3q|+lUo8L~WpXBIJ-1b63ua zg{rNZQ;4eRETo}o+wB1>2i-bpRt^qc>wv0-m>S@koyevMt$dZ1$${Zo>R0YwKXk}i ziQXcs3|VW`bk5zQu@DVzFodd*Mg5g9k7T<{<*(^48-^c~rmlKZ4pI9c+V~Y#TGqJ} zbUd_CeqJ;g4dp8|aR{qmE)_dgW8(L8u|_(NrcJg&9GZ4C&*mLVw?pKnZ(4UqW=|p{ zSJMta+m|jkpluwL&S|-=0#5P@Di!USZCdta*g~<;nm!AcO$mSKveN+Cp89DHXq!o4 z4rt4$Z@|cc&F=S2_Y2T=cm#QTyIw<}?ZR~kpzADteQ=lLVDhzw=?!SR-MwV*;8#*= zU*-5MFNNmC@sd5>-za3C`tMu6{h4_k^xFr90m9yx(3^wpe{?DG`t4c2FGSn^8~W{E z{&mk#+kZ*F-P<;1o$qF-DbjCGm@QiFTEAUEW83ky4*Km)h5GG7gs;^#cctHsh979x zZ-2ya7`_&|nzwn>5noG)fcB!_-h5#f_}Wx573;U}|6LAW6E6?(H6;u2HKw6v0N`1X zR$Ca`V=r#mePt2G78`AP?Q4Ny*N4hZ2eGLLmmi=_9}0dzX6%P^INKEtXB(rar$=|C z*jBCrl&!tQ;0%fyorl_91L%7<_#tKF)Y^wV)eb`)=$;LR+Vu|$HyG+&o^wcBFTNzC zO()3V4I6mfC(?EjKKjghJ)E<@R@v>aR@1Gp>R{+cf7qS9fu|h)-GOHq-Zpx=fUa(T zp1&`=?V)=2$?UOOC4BVSUvv!;>%$+MHO?A(sC%}Cb}z12dIn1D;%YR_l3x48+f)sw z*M90rr`NvzljybQuMhDyE{WJD-uB+4cD(KDd@b8Tr;C$a!V7!9W*Y;;+fXl7;W}XU z3`=1S8$v7zbu~|OUHE+Wv)KK(;%2w<7F={uSDNh_MGeVE&EYk#**=zFDj|}~18$*a z`#_?K!8WO{2dS{PFSICqxcQ$TBd1otl{A5#WTsz3T^o~+{{ z+z(?$Mq!86RzKPBTMATV!VAe`;4Lv-;5z*rt;(Jii`PhJ_U*ciQB=Wf^%2T6L^<@= z2$fbrb%xV@mfOUaik+5A7`^;v7ogaKoi-2ez%+{4=mr197nW@)P z4brUFH5G-! zw|f<5IF~S+*}%Dhhv2QR9469e;xo$GM;y=^+JVY#j5VVUExhxPi>q+8vbr^z{)k^@ ziu#BS)F6DMSP!wur}IcqMh)R8-35EN3?{Z9X=*vxi)=_@H``-DNP~E!ifSp!_oVmFg!f2xHBG?n^r=V% z6MxCQ^(GPQ4i@~lP$F1CB9jQZnIM2f&|nYf*}rBFdzJ`XhvZc4TSAFoGIc<}L8O$^ zlrgGUC=nFt+7HrlbR1P7ks2b@+xaP1Ba)F-Ir9Xz{x1?zSN(Q$noOSSsy}kJ&ou4$ zB!?p|85`c*1^N3spM_k zRvJyS)1vvWdz`| z?nwEGT^}hwL}aIXR{5-TnZAs3#**N8zPzz1xbNoiB;fqGo!(4(yWItN=W}#(w3v7X zJLZ{_DW#xaWiQNCMZGhPx_o`=1G3^R@zV0dpJ|k=4v*)#{@CcE##W+OYVKac?^t)Q z(pU~LA2?RG-KTXiWCHu&-~NnK5V!Q^)LGKIr9A1O;}~6;%1kIvG=3Pp;e7r^>W3!M z&o_)udRJDiEWy?njOJ< z=ZCd7YQx}~8*$d?U5PlkD(Q_tQvyTU5`1BXTsYoRzVTKvH&N%3l8_+Q2M_;Zi=9!m zGkXJQHY*?}H139Ac&d!vaU@}@(#x4Kk~CMP$MLSQHy5qJ``>N%!#e9c{GZ;hRPK;v zpjqbMOrLzna#%^e&>ia?*MHJm=oWvs@D{o|Zm?VE&hBsv-7jp!-7R#>Z~a8K&{b}3 zysjeBfHv;{e9L3s23u0~4UR{iQlr^Y=Du(##d7JdE4T;P2h1O)BP%R@DrT8$!?hv- zwQUO2nYe25NOw_HsFzP$wClY_Ms3YsEEQg&UB+qC;fKBau|{%8SAB=*u`mDI?xw9`tCCLL)I zFUn!(Y!$z%j7d6#702k#xtrDDO}`9v;S#G#W;Dl{M^+}PpNuxmmo2=1etBXQf}$!t zvfOGD?;p6l;OA5#7Z%wTE?F}&vsJlvdUZaFy=~psMVoG?BsPe|-xb^X(J;U4IQ=@N z7g^`E@rGUVy^j%dlAdXTMlI5oxN3FcsLus3T{$nQ)M+=_4`GND0SU@pJr zBP)~D|KPGQ)`_vv@eeb)X1y342@iPwHipze}{11MjKx;t5=v@Gt~7FH>eqRpJ>F6y<3Sj%CW?j zI*AFD+k(-=ZMFXM@cVghE9ziE^7FylCOCe!C^+sdjcwiR+#bi> z<|eY%YoUjk14A&(wc+4OsyhFM1TcUY5+@!B-$rhpl9|KnG9$`UT>jK_A9Mu%QPsj- zUxnX`dAs8KoizDNaqqGHCYDY9LT&X6HyxAlH3rp>-PAjA)t0)eFeKr!Hm(NeTJT|9 zD*qL(u4r7QavNH}t4Lb41vSsjJ>uTeZM!0yp`9Jx%9`dcV}j6I+KE)PaZBe*FdX1j zoThG#dCOweA4b#rtLi`p{KVvy6g{Xl;RRgFM$-@REV+zWq{wF8V$q%l(7~F>S_t6< zoAH8)n46HdV2?hyF-SCS?46KPfoGw>L}pTDqW`YoTi=AsS8r^10V`v?HD%nv4Rl46 z6pSR2pmjV$LdLL$5|kav!L{6e3O=9mHYEDXT4R7}{SbfjUzF+Jhu_4~ZToRGeY9zf z!G4w~S-msbbS5-|-cc6i(P@wB1>#Eg0+(XMlvA?=AC6V4HBH=P7#n>WiFBrY2qdEa z+5`-e<7MU1>335CKu}$OE>!vUw#3p+`z0jxHEw4k--8wdTZpg{-d0=z16?hBy-fS( z_hQlODoUe0E955@UbCviq_?qUueKAu8%PZsXqP-^jFF(_de~zuL zwMl1L$1k;M(}EpUZb5U4g*Y2deJM5Cvust$i?6E8R-z0VJA)#+o79lYN;=oPr*U># zLJlw#^@c|4p=-4!hn;hs#csTlsUkT6bByS;>EexlBenjECaTvaq9c~U!Ev5wsaXz! z!K^uENwh$%R42FhFHLh)XI(6_%@y zL{a^BOZ%rcHjd?fDeGKDDurQ?*Q)WtqO8E4_%xbAr>H)e8Ew*5w|mZp|aTn zk!2A%IL(2~k^PA-YhlOP92Zq`^3E=PkUS8)KVH3P!iJMOgn$GK8=b(By<9o(w+>(+ zQkg!8sHy%N=nM6)n-i_krUNK9RsC|b={JRwVYDWwCWE5GA*os|jLq%h=r)y=C;b@d zlis?z{u`41gaXoMS~OkjNPn`vT0r`F{wn(KRTk~ZMV1BhujHctXwx)N6muY%DSO|D z-?amO%SBYn4yoZAuqpeFTT`6}fsp3ei=-Z|%q`Du$<8LWQK`&qEi#D=B)T34bAks- zcC+eRfbP3`9JMC1r1*PSmDzsB*4R}4*O)7!=3w^MHA5_vt)GQuuOXs+OsipD=8ISs zQ-K{aTX|_n6vWID=YG|50DdwqDF$)U%gsNG5 z!Nh{;x`{PN8CR8wri~`jhvp{LkMyvZX#K~m<~p_!tt@+wDrx)l%6^WCp=)1Bu9$4w zd-kqn*WSOU_riG@)-`($ zub#B%P-Wl@^krrXvtL0(~YRImD&AD}>YRkso{6F^IJUogjiyKZLk)Y8E z2xC-~sBt8&L|GCRO(214>^QifxQ)1gD2fQ(iYpM@AK~ zfXAm3Xa*n8!43Y`2K~EaJe~B9DCJd;PLRKUIDel``a8(E?&th{%=vqx^Y>W%_3WEy z`i{cBDJW^F<40yReOuCX$9{>=*CjpwG3k1J(seB9`j@2ZUHiD+ne=>n()E_4>tBKka33-^7k)|7maF z$E3{Zk35UNy1p}RR^!5Wpw_!vj_Z`VX>60~&7Uz#UY;(u7qpH~oAyw|l`cYndlgb0 zTGpPA6)(}_CW3j9O6=ehXy`g- z1{bEG!xp5eb``(C82dJqL(N%drs9~@`iX0CAcgb%`>FCgytd2=<-!eFn4#-q7yq^R ziuieA(w}*R&dSE@m1*rpeeTcEH^g~|WTQumrAPCt@rS{Bc9~~{vx8Vb3FkBn@!4~t zsMSwZ_;{o~1J6S}0(Rf>4>>Kc|GOL={w7eka^h*J-=U*yq6*Pb!dWe74d4sxZMLts zh*QeA)gfrw@KXG1V`i|Fxax2#=7jhkGoySy@s}c&N4O(qpFK^j_U2#D$CxYJ`7r0b z_NxBRw6NeOZ=3f0oC|IghQ~pF1}W*pG13A}lzh8)3ZG&VhTsk6cDjiZSNoqnsk2$Q z%6PbX`qVg`7W4b%!NNfqcYSa6pO`&y41VX_H449bPMnC}1$W(m-{!@p$3|e% zXW-g&u32nQ*w5_W&Zx-8l{xkH4E&j5+;<$WBDLA^=baLsw{P|Q7w8>$UM_@tH&73K zgMZ?)M?G!!@BQ2Lx2BwLMz6>U9dFuqBU;=0)?4tPa7U$nUS5T;lr`IFdb#ExO?I9491d4We^syzgL7B zWEo+-S}Os{R&C0q163;~_oT3ZGM;>_`t~YXeV2p#;Sb<+RD@znQ`9pKfQAoes0Ox( z4(xUq^xkO*Ap3_8KQ2)o2-_8y)}3H7R8nqy0U0*d8b$;&)Szd6K^0S@k~K4}MWy+h z8@i$2C05U3>@0@$mL{B2Qn1;{enwTQnRp*(`UN1avIG4~a&yAV%TVVYy{+?{mF~ej z>`U2VvM?7dp0TMkN8zh{Pjq7i8`Nl29EH1#Z&#g)AEnrkhB1}&O`{Kt^TV+v$b`>c zoeJ)la$^}?85Znd#}KJNh37JiD2H9EqHzwL8vZ+Sk63b_1q`FNVYHnPhlb2M7kB6l zU`Z);i#iqbB2obYp};2);z&f-gVr)54}*itk(;IZhiSftaLJLvDd3a5WkKsxHp)`t zE+y;ZZdU9vO|+>K2YJ>;ce47$iq;0NLb&o~&9t!b={vRd zyuFO_hYMwtH%#M_I!Tmk>Robid^2RVbpdb0<=~&;Et7J6Bq%cn?_Ep91?s`Sk_a7r z60mmr87CP1(CMcced<;A7=vy#V$DNXZsd@K80*wslYYTc(HYvNY^TQKGFbR~c#}KS zUmODc_1wJ-wRwaLb?QAF>Ro!IBk*$s209{PoM$$-8fRxxDDwP#(qFxFxldlk2THqj zkMrq_Zr0lzzh*UKR)j;XS${;$+U_0eaQO-@cdR}h{}y$uQ~$ihH>Wbt?^NdA25RVm zK3YY}m4TWT%WIB+VoMz82bgW$tpegFk_+0N5q=8K7$MGakn~ zxF6o^&N=oJVQ=+%l{$PcbDnmA%y|?$u>w&Tb)@b;1)>*X$}dcq^0N`2OTvUR*E**89lfe(+1>($Z_j3V4}`FO5eS4tCT(tP5E=qp1T+MI#H??T<6 zJhgm}L zp}Vvm(cXpyrZ_eUVHy;{I)8CV^z8Lc#xEz{lSvwuO(Lt?+Rb+Bx{R zNPg}jYJz+ls9BYanzw^{LCvh;f||3Y?h7@$Wt&ifqG*eo#=vCI_F&xqpiZQX^*OqU zHQ2W3B^YHS!TK&>ZGdiM?S?hfi<58u1(9G}sB>f}CzW7ZiEhAvxfY!)6>V|b(ZU5TXCAo(C*;OaB3Ksqv z-h@N#1P46o+ckj;En@t*h z@eIuHp|E0ep^#0#Xg(a4j1Pa*SKFztlJOVC*szPR6%u*gS`UrMfIUl#BH(M5mf3=~ zKho5pHxWno@MggNkF)}wN_ZF>R7<@8p&w@V)$WXGAJTGe4_g1&g}cGs5e$?d<^-1$ z4#1UVpgY8!J{C0MEf_n67i}gRgJ$>@e0Uq_FcqZH;unL;Jmh3f&b>lR`@%q z4g6_7WUtT}6k&i58Iv;yYoJ0!ez9^D?73wAG+SX(BhiVqk%B5WlM}Jc8h@Au%R`lr z2_~4O+rI`@L3=faY^p^&77zHatZ-Kd5{>Z*yRXn6;&k_;8FE*~58XA!*aggt&vMx;@d&wvC7G0`$)eIY$M zJ!TV|b1M~b5WNtZX|b8Nl(CzdMkEXD%r@?kLf(<@*CHTr@Ug4=qM!qu_j0u7DN#kp zG^ozOkKx;ly4vYujDo_&2oHpRMC%$evH@tAv>L8u+HdlRcX=mGH;fKPy3hC`T;22) z@2m#0KryJ>SIMH&I93Y5iSb35c&_-o0nbm?&#%{IqWhCpvbxzHx95+=z_>U8(V~KH|ngD|;&L=F!XElZOCq z+g|koaD;03Tpu%L34OsXRfmjW*(6dM4rlxd|6)35LtzII{zWvTGiv{r59kE#u-vFx zjC)pH)%GyV$qnlCadB(=H^;4by3|nvZ8`AI284i4ynUYpw4p&0P~3eos_w+cTe}uB zuq7A|*q`UFhyH$-RwAz+!c|OXX_w;`M)VH;jSU7?g-_6?*xH`|wHk+pkV9C;=fH6r z2}6@icu)@mO19e%m?3pBPkyITkEWvaFhm8qICd4JS);l||I3ZJWI%5`=HzpiJlZi8Gh z<3qn5m-gH4(7zcg53BW9RT&<}TEG|TYFHA<{_=kM6XhS|I2t0}#-HS=kE$#d4!KOqr(&a9e&Yj)U0WePgX=he;tCg6FD*$?U-=xL1) zpT7uuq?J(1uP&dr9Ir!M{ew{K0}y1D*buBxFfXh-Uk{Sq=_wF*aaUT;Io-vh;xg9t zkJ8k6Y}}T=_+HUoaQs1u;J7rrPaL<~&JvyGXm-)&ZEc5m7B+l2~;vVP! z)M~n}(k$V3VrP*0sF8@E84v|NYEV{$d>DTck zC&ug8mt6K9nP6I)a4ulm<)~-6Z-u126V^I>ivrKLC=heH^B}GrXj8zkBH_*Clp!@W zueq#HO}w)Vdk3!wQm~+e$p)2rCvY20zkcGr;=Db6)Tn~N>z(|(6=Vl=jr3yIdRco0 z_As7?5+9*QO>9HP=o{|Sa=_8YWmc>#uO^t+ge9(tXB5{Rz*$0FtEDE2O>>neL)$Hm z9c)@+%*2L5VLNbS1r(Q4f_c?kC#x8bo&<0blH>Q`&T4%3FVS95{z16Q-V5j!GC|=3 z8ADNBYlnIk;xh=Z4;!e^4#!zwKWs`}2kb-mEj4_TAZb<5s#Vt^!UG$gvy4W;JRlGL zG9tw4nIb~KuQF>D27cn0fH59Nk8E*PM_9MCo|5*{#(bU zf#hSz8H<`^8Z42hNzzJshlq4cj&$L=);x@z|4osxlokG3W(@h2!&y=43`ao8aMDuh zFiTij?T&pXfXrUQ1%ykdx;Wr7*#E3DE-fAisAW|x;Y^Gsb_y=251fHx)UkBjQm@mJ z0Mg>L5N^O)Rn-Srt6Glmt3-o6O2!)MYtx_xv6oM9pq_HCXxFLxaD}=H*_u>9i{IS@ zTD0KN>0{OGv6vg=@<(UpZx7y85*?M=e^PVkOw*n%0=IChQTb=^etmoV16i~n z(;C-YVqLu}U_B+qUnD7qr5w#tB7?V~l;736fHi-Hi-)h`4+yPzekT4!xrYAot?&~P zMeCBQZiJBK?$dxH53m~=q5ag_`gVNHx<0MMx+()*HY#~qCd!nU_JPRT09vXuP0QS7 z58Gv#yRgM3yxxos-e%5q(0(FBqFJMe=~{2W`YiL9<#2C{Anm7RL#B+ccLYlr)}*@x z^T5yWJh6lJumLo;Zc59=YQOMV8TJ$5`!S|eI{1%IFqWG0aAaA0X5Vu%a1JyJ7l%eW zdjuvPk0}cm>VcK!vj}drGrkx%l{tQTU_O?N_}`QmQ@gP~U6d(hZp=AxsFFa7W%mHr z^uz z4#jp6@^e6yi%I{ceV?dnd$!O3;}0=l0`Ui!m5a^!F1{IwsM$z-uQJ`#0pNR;QTd@X z?;<4{5wlr=W@(`E^URv>v31WEpMY0c-4o%7QETzfSOfwlEI1jd{f8{@vhPvCx(~wI>BSKmBxw*J>*ZaX&`70Xcd-U7}KDfxXhj`5Wd?fK0jGJR+90qqJ z3^TIHs9V4=%$^4HIS1nl%w!@klQbag16>(9#YUEii~z!JW$0-8+$`Vt3_U(aZs_p< zZ|?d&>c~UAV5w0gg$S>pJyT1HMWNw^6Ly8pKysoe-pYSrJoPDBK2&E|6R-pzR*A#? zs9WRWEmG8sBp#6oyc_?X>;}*OI#@W9Aj5Bh=d512>Y6iAc!AMlB%#z{BD)KJ>Tg*S zKrkiUnXunal5)N_?xVCVtJ)mC!r@Ttmm<6d+u5X8XVuFcm<5_N0T4)9GLq1mR z#Lf`H;mc7lBEO}<)_fh9=kecF;6lXT1a2@7-czFphn;;L;m}Yi`T=EO{woje=X#HB zF2V!vG%WSZCFK1g6KCjhREd%OhcQVpiw?}H0o$(k{5$X~8BJ%5I=oj{6FQLUfcu0V zs#$XN<`6_&10}2b7$7O)zL}^yiQv2BZZ# zQ^#&;$F@jByAa(*RaFoVPM))HfkK4&*kXfW^JqlpqtP1<)0t#Ku!~Zyw8KDX#(it? zNzklObp_fQog(}!dl$5%`)=1Nm{aDCw_e79hEUv_5MqQ*z@Ygi4-#?raC8skVcVAy z+XCrrm5cBJ!E+Qp9BMZz*hQzqsNu-7L$EL9G~Lx9R{$dyJ>&6$^SGogEU!8u& z&O;~M{#g>XlJwNrVBE(pB4LI~uFTkPSEHjYGq?=&UN47%M4h_)iiw}t&zwiqhyRdU zhN{#88w4E*ACJ#>Yco0zQ zz=KWLa{Mk|YIw>2$YIaihxy1IA04~Jh4?B3)56$C@ zE0&$%4)r~Gv52xibz&zkb1qkB&OPSqe$;^lFb%Vz*Bj{yEJAEp+kKiJae&Q9qS*D6 zHyIC2TaI2Yn4!-FL3Z6Ly}%+xSk4bdM}y5i4@SdK`^o8MNCN){SD>+Qw+ySfTnAy& zXDxn96)t_Fow`{!!fIWbI{psC72x>n;=W7p${O{c_iC1!=Kb!he!pEnTBTi76Mo9Z zc(k`lvsI4s)sbjEHwWFvdJlpV_$7R76JX%3Q2ddkusat)E?iEN@Qqf+)Su>itK zyabKPH8raYu0gn`(W$ft6FWs!nN}J!N(f7kC_j>cw&K6pTy|Kcm%;SP*$Jm}g4d`| zvGA)$Tcmy%5BC5`FX+u6cnc3*#U(PV%(b29GvbTn=!a3&%n>24&bOokd0O~c=s0wl zsiNqz(W$HlDO&~xkrO))#INaBT6{`7zo!WgI&_`27@I*S_1a#O7QP92id~FZNC=&N z$jj}*w_)TMy=2)Us?!9>J?hdj&|$2aqyQo;H9Od@*|dTOG)ITFK#@%RII_0cs(}q! zkL`*PN;?xlgvN%qj9GA#rytA}e2h|q^zWkPCeenp_8enXOuH@$H#~@veS@%(<6&3tqRK9|1)1FyP^x4xE z<4@(1@P*iXWIf3D%t8f;45?Hyo%$ofcCM*$Suuq(Lb$ThjD`0K?!RT0Q7L|%JP$K+Xap9LZjd)v?J7Co+v>iWf2}2 zmB&$SFgid%S~-ytHCl2CQfq-A{x>C9*c>#5G-E`*myJQ#N{{oldxIvcHZ!1-!Q&;I z{!LFi*|?Wmk6ARA&h-X$IAnuv7QNwQ^i&o?f_Vte)T^@7U{=W}7)x2m3}ysY1~`fd za$S0E$>2DuiWAW<;sfZe6O5$9v0n8z2(h63KHmv)$Mm9jw`IVmbBG+P6gG-pfU$lk zBbBjk#8@|)h4?cFRqh(q&CmlFS;_QX;MmQ^y{m{siKao=s==m6RZf3^^5v195X|I??d_C3`l<&U{B{0*t{-#z1%7KBPO*Fq5}__4H>@`{YW*x3>T|#<)k#6Lz)j`j21A4b|Ltk0Z$}%h%pAQHz#yRownMX z-9s+*_Lo{GA)G7$k%CRidfsJ3#lkuZu)kR-9E^tHo_yLJ{yAzk_jJW zr`(MCk9fhb7uTT0%7AgvS2o$!4~u8i!_}U0k{ChETLb}C;}0g1+RNV&cYIQpZHwsH zd@j$}Z?k2xNipVR*CzkBXHV49o^XSe+WKZ5{6g3h?Zuve*YR^cK{{^7!q_k&{&IW( z_Jr#PG`RKzKTLb#Z=Tr&s7?mFE@1+DB0BJ_cQKb;5!Z0^^?lWN4@;>qRz;Z6k{4&B zZc-XTA6S|48}y>J;f>i(zl_&R`yNUqvv76Th|zPIfw)W#E<;la4-Ib(+E-)Iy|FrY z($y#e2C-FNnuSIwq1((kt~nGeT#LOp5EJbhpHx9h~6kd&*FHyW2GxaOvaYCs`Tul1`?x*lT5;5>~=Flw2U()bYc$s~G zmD;dab%(hY7sY}Pd)f==AWmOc`$uGHDs+HRT5HKYpMT-4AtwZ|;(@AAJ~Sv2Q6mdb zp6q-DI{~rF!4OCi=t|;H?eDlgEmB0>7}2X`c{tJ%`^{xT6v9L!^ndA?RaEp8DsO;L zKz}_G`gq)>Enn4xKk!{~9?_f8*qPAj1k~=zV#3Hq&)>zP1G&)%{D!`o=<6`_(}c|b zJp6+h9jv_W97spCMsagiJY>~99QhcB2~sZF=U_g6^p zlu=$(($|aN*ky5R5A-aWK6&SOC=66JK;a9k{iU(x%&tHk;GdoMr`D5YO=}wW533ck zS>0KbmkW>DgS$3P(C~UB!7JDBI`OuAqeJXQ-11X2C?oxs-^T0y>NYCC*SH6Sn2LRL zf}aNv&r83qq1E`JS`TAGM;2r?-;*V%`|vJan1K)Y$EixTK)7i6kH?4aH@venyrKkn z>M?+m{t_LrBU|;i6Pvr^N8488Z%!J&3y-2J_R*h{$A58bzsHYvIevT~Vf;wV@QuIY ze#1LU!z)UFrygUb2j@$Vzg2%bvAH{bv~4y19ZBPN;ZcIeJ~}>m{55Fr!aJ%Bc+V!m z`;9pZ?4RKCj#lt)_QCrEZIku&)$bcn4h-op5J`cz!Y`*`;g+!I_0 z?*EeTuGYukzcu>(XPx&i#Omlwgal$<3|2iJ_71rgd;k;@k zO(!Y#JhC(x--jVS`56=p)IlfOlhO2B*KvGYdfYVv&jU&V+a*hzIH%pMua4Bxgt442NlgMyO&{q6vjCcCe z7%z7VbNtct_kM8Ze`-D7fWDxSuAX~S^aTmY)fXa|p)YnEBOh+wnkbisGm#>iz7EtO z^fa}8v4&Sbc;{(&LMx6wlg|O(OB&wGN$^rMypC~r@`BU9c6;vMMH=47BzSL}Dg8TU zt=B(4ytm%i<9Iu0co|9XMrn8#w+-*AJ;R%wBlw%MB@usF8s7bF!|S|fc-LxpW0T-j z50vqC{K*?HC7x>!)XvxAfxebX^ z&s-{^nA?!X`#8pzPo?F8)V+c=%Z39X7qF>x-*O>4NiL9YkYA%e>G6vmvPguY?t=E> zUlRDmO?{8uKY;QS{4w?k@P|&2Ab-T-_~TIBfmZxS@W=7F{2|{0J+C@iKD4?iaejN^ z1H~5r;!BX&B3sO4*(=*flA1S4;Y=;}EKQ6lP31W z!d(FK?A?yvdHl?ty7GF>O=@UwVR0)CE3fd4$&X#CvYcKPj9{*q0XA`moZ8vXB&}V8%Z%5D)Z=U^!wx0d>5cJ#Sp8YqqZF+d_r9INa zj>F``&9Q{}Iv3v+`MH+!^*P#rp8fe)$is#l-HHC?F z;Ia7#i;U{Ev0GZ^{s|Bnez6v!n#}c$NR|77;#oGbt0jo>2cyS7U)je=8^G={Ydvrn;9Rt@2V=8QBETmIa2_1GB!G4tU=aZx><2iI0I#EFm_4Z*hj=++ zVo3mo#R0U80e~z&fCCAj2V2W*-9=XH>#=&xRSb|%u-T(3jLuD$eI$-WYLuOt$;KW>9X39BMX1l^26Mv4eER|hgZMW{owo7{M0=Qik~O8xg)v7c7yt84L;B%7r8Sf`!N+| zARWv=;#9=e;u~&U8FH(qJMGS{x0kTw^L_gGEp2hfag z*UEZc36k)*D2^08_gD9l%5p<|gX-aqQ1O#Man_T5DLRXk{&aVJ&qh97W zC7fE+8InP$?qWUE5GjKB%;N z9#41&#qaKS=vU~;h&+gXlctO+u7i@Up2ajL(A5mwNT91JY~j=;!UT3>O)y&yV8PSm9xrZE#+F0U40GChP^HvnTYLsp|Cl~P}}MXwoncTe=X39F!dk2wS; zOOv_ZkKNG*CC@`^^$OKED0$qF2?_gyk^4h&1K(-y^+CA5g;Wl?L!C7@AE_zW((?vx zVH*_p^Du5y%@$HTma>&QpXTrm9SS5iVRhYmi8nm$}pQRVQW@W zy^8hf=!5n`<;NJ9hiLk%XYF%q*0pb9Pd67;u-^uKVnQAJT7=KWNTh1zpE#w9V$~&n z;ly$I>>+<4to_}eJDOZ)zq^=U^d{3h>0P2l=JHAYh+c-dJeI$ZBWHEXRR>VUTe18V z-nkrK{I@U8<;b}PlUi4F3}=yZy$p9bjW~Kka)z>wArMX_f2jM8XRS=853TX152=Fz zJ!xjY<%_Lm7Ww{|S4IQ6oW^;jKC_>yMqBJOl0o5!L0%PZ4PPztL5omt%a*#VBW4gX zHbYIk67&>J|9#*-r)$nkOxLBDF4&{$$TRR-WC4@vL(e&To6#ZDJ|p~ty8Berqg=;% zvb}x7*W+G%-|%I)irvmR-Xb_%5NkKsKgS94yMO#k?j*DNcO%Zh2Fn)VMlvYRo6`(> zG=Dh^nop^0edY2d=kMsRIIBl#&eRhr^ZF;;7uGxq?_+WgmO15xdjB}hp2u;=UD6~r z@oTLnQOj-3pH5AgA*WztpF0e2E5#A!(5U(wzbE@OoQ*I}{TTI72X`J{y+Y>ki~;+c z$EJT{9!EO!`1#3Xcj&H0l>u5Z=HoyFhWQs{tCvrdYwR{@R8Qi!?4O|crC59xJxXOu zO!!=NFoY#+QUUWBD5GJvI^s~xyTgkyudVV4^SAFanXnK&dJ(2eFN z*#(wdH89DXi&qWQHTWPiAUs&lrU2}!?VjTOF!445E3HjDX8uzy1Zm%Cp+tXZV7gW) z1)M9>!=ARcmS>E2s^G+5crwj>!Ns(0`vTemqo)+^%XVsbbuYI3UkL?F>^IcJ?eH6F zk|DSkdp?sK=C|j62mTW5u8p|i*j;VeM@$mllYKOkbCG1vKY@Gdd1_zK!0~7LX~3zM zA`TeW7?|SK16$yb68J|TZ#yav2aF*rd8T~DjCPneH{WSW89Ya(=zWQuAlUO`RE*|h zyZt%QE*%1SE8uZ)W1La>1r%z~z9Xv)W_HC)Ofs^Z14v-Tp(c^(xa8KTGm!fpIyDgO zbuxBXo*dvwtNJ|)+n(UC>CKxDaM6VRo8G~R1&k8|*kTwu3h6MYe=iKkO`hjrF)3)D zA*~t?G-jn1PfyF`4Y+-S>(c&2iQB_nl+dM}OVD+kae-9)$f*M-w8U6E-obwvl5wWL zfkB|tWvOs{;YF4e?ldZXK<9(jD(t<~CnT)JwXe6^4jRv66r>l@Yh=8IaKa+axZx3F z2NNw8>?iC;^G5h+!U&m}+XIK;`vmnFnTBtLZ%Hy6+^=_z%DeLgJmobZUyVee7db;l<$YdAWQ zLVD_R6gA>BLfb)=sAnL~`K0ei?xBU?NBuICRGn)G{xQ`H(9ydY)(WF#v3<`Ad=Txu z`@i|rVUe||m@e~h6cej$Uxm-6XZ~~sOE@>FQbLaQ?tZfugIlBWanDgN>rwC24Gih8 z^x#*Fgs;s15y1GBc1d5ko1ZsIn$(((@|E`{_`dQH?m1s6=U1G7nEuM=U*jvUphbKv z7rS3cOZrN-`<2`DSI+l;Wpw;2NAN4%{1_|eR|Y41W$O>lSTd5n^43?*SPs=+*?g04 zEG-b<&b+*XimGn3P>-cAzw#|wpr{t@D^BDx5RXK`gi$$rPXV5q?ZR23ZfFIkJ>fj8 z;n3_PoO@cq89_KV#o^=<&Vl|>fBIjvC_{^4dzQG8fOBRmI0qBX32`{zpoVH9oW9?o zMY`@!wbP&N62R}hd^~u@iSw!NJ9x->gh0FyA%|VY&QzlXYD&z~j>H=E2B0KjX9@tS z$6P?DZ%05ljFex|Sk5G%TOB}4o$g%Q3Q!*c8XgCfPCyxcKwo}^7N=@J_k4^e49Ei4 zTM^*hiU99xhZbP##wFG2L;AhkqcwA=fK>of% zFcICz7(~LWp9^i5qGqB|{@2A(l#$+IWTp4~wl9x!4jo=>S3a}c>5><5zWpco2#^Sm zA0kXP{7fJ2#{dvaYiu+4y?uBl`qBqobUNLrOgu$qeS6eA%PfxU?r2nvg&cJH)qtv^ ziF5V-LJY49-?8sutr{0G41E(L41aI_5z*=_^du28^KZbbU!{APxtG8b(0&7f&qfOX zZ{7p&83g_|oz`gY8v)THu_<`Z34(=k3siYKTmmC==*`<&+IkVNFwV+_UyN`v<+D#; ztFJILtW?Ba={>>w>#g6?o`vng>>?+Y%=Hk;@dUxn5H%8MA@y@${WGjR7~vS~4!{;6 zy3a2@sbxD>hbr zwz3iWtr##?RL&jeO|rY9ayc976_w5jptz#)3PJVPpeR{rAfF6SGKWGAvZ!)+9L6$~ zR^@S_oC3tI0OJk9*wG$=O38L5h!{qm1Y#u`INh)b!Vydw#CmexJ8Yphr4h!9g1z{P z!NV?qMm5X_05Kc%VM`4FOk#_v3tU<9kVJH_JqxAPYt@B#81GV}8p6i#0IGX{)w@9pUf*BoNgybyQabJxGpQYZ4@jjG0gX2chmc)BeYd>0q1ZB3N4xYdKvX(8IrR+r{UvIrV&LzsP#u z9_X7^4d`18k*g8S5Q`J^y+bW}%%N{0ob>%;D*M?seUJV9MpxS0g_@+UIm101(ca^} zz-0alZyU26`re@)fr~#T^8U-fZ3_J8XzvTr$PrSF>NYeEMth$>)}wx;$!}Lz@wV>k zVf>0mbL66<_?064l~)0kT$GQm1fv7je*icX$DnZ(fq`UDhv|ll8?s>r8cGX17Dia8 zegzGo!~bzwtd~%aOTOFHN|KnSw?_5VZkhkvckhATt|ZC)&-8ZaPJx<9sEPEp1n34S zb#A{O^fsDA>8H2Ls9p9#Z^}<^_W@5(%dz=AHNElgp6P9WvYaAi0gqZ5U(-}JV?#yafstg65Ozg&gJ}1lyF`~GQvRv!#J#2%y}R-K?-=ia7l(JX z7x$HD0s=^U_e#9Wss%1h-(Tf^-+l9$J-m4Wzp5Ai5XDl{F$Ww@7KZ~~n@`aQz0Uc2rSGpVo+C9f9sQuc;GL-9I<}7egQSo~bp{28GqxS-#Rpw} zm5G6dV29@mv9`^$gMVf3z_cxD-w9Vrb*g9d<0L(9P~ES z6@;&0bRi5cSAsCYgfUQHXu-Ziody`tB-c4Gs4=KXvg2Sr!Cn~`jONgx1hXB&H(mi# zWoia>-(OA944NvS^7tC8MEqRM{$jGUs&$rWCEbC@^$wQMC9?aF5HMBSPtsGxzdDY= zdfBU-P4qBPo%zXN@C>#DvJ~#jogg8h1aq}n_<;P8qlSHksfm{4P6pbvfwFig!woH} z2|;E{>NyOYG-mWfqv|lchK;??0xts)2I9G?_&aSRZj&6d)jYmY2P+2$%)qX-i-Lts zlQOu=@=mk?S7d@&R^#>evWZ)^2}Td@{0Zg^@8_sxPw!|!lAJ8q`}b&B9-?Ne(^6iQ8$pB^HjC ziY&^;*4%!_E=1wv7kVG z>`nSUi4s*P}G zuTx3_-?cA8No_goqJ%Sz+VG_*>cULSDg66CP-U#)UWtPPtq@sH=9c4a^2>vWb9>rxg%Lx0Z4_avyN=~|C_d?Ck8-^8i1 z5~sd<{)V;q*tc%HZ+-z9sbvt1RO@znXjxzFs4~KfJ%;G9_^p)8a+wprGHFk|q)9IT zqD68=`VAR3rEpgUe&)$fychs?V7zrE?yHX;L_i##(6=0PR$0Jhnpl~?WL%m&`mTck#d7Dk~&75C`zhe}+rx`8v?dX)PzWckQlT^@? zA>yNP@)YKteh^k#fTHP*5OH=|E><{k%iA+8o4I38VxuqfW?5Hcq7O%UXEL^D11~&3 z8|fG%s9mHT45|nhlov?HLAPb>D7yxaaXC=sU?GrNU1Ie!It@Y^)+a_)6KF$rc@7aC ztwcj0(sv%O{zStQ#1}_1LGuwA3QPoEQipK$8q6?j5Q%hy`s+AkV)n-flD3ErU2cxU zo>`~UF@8{0h>}j?^{_%r`IB40NY9H`y&yL7&swCPEq@oqZgj3Mb*@L_Z`_8Sp=CUm zRgwPjfg1dvg~af8LPt`3BZft{SILg{X5fRl2hLl2*9*6bZm z`oPiZk%c{-tRd6`iKZ7G%{8wna9F_<7d1;V98=(Y=Ot~w4+%rF)fCa;3$Uk<2fUWE zCpw<8%-xOVrkL)jdrSY(bvZqI)$J-+ee4`vX>jBb4?$cYOGZ%w87289G zmlQT@HT1Bs(16@hYZnTmzDMLZ8i{fE=)sTHK@6IYLJPsE2W<~0T|jQSLe`P5+Yium z@pKWFVL?YeVZMgC7nM;HCAq7wsE~W8G4kGn)HgvL^axnX%TN{7s-{%H9(beT2y~T) zy;szr)j84JpYSK86q(pJKq0bbR5@>`vwK11g6|)!##Q-UJyM2QX{U!Lw?FdLpS;chmpK<^McG3gg_NmtnxEHc`EBI}O zY$K$6KcC{6i!@rEql(9RRP{0{PX})}g&bmk7RJ=y;c*Vp-n}o7l?xS~!B$#j0GenG zRo!k|ORP#HKKNBQALrT!Q2Q@$rR1p;E}J;itOx$t?_n8%NGvsU^ss0ejO}htxPPvqtxu1 z{8Y`_G+kIePYc=1uS9d}z z$Xh7z5$**7HmWM{f-I*2hbOR>h`XoWk*sB@JA>APl!LMFfpl1`DBel??G1*1G@f*^ zNcA(eNj1C;NyZPNeys><{0dsvK>I}o0RIbSx~D zQ~-ADtZ46!=jMw=m>MPV{32!=@S=Gx*s@j3vv*+G$5smOl>;95PipY^>p2?{5_fz_ z-!0I5u`rImK=Zd~haTdqEYR$64Ulv&q`9AI>c}*84#VK2ODrnuQpW0h#F}(VR`>Jb$aTsI;U*Vc)bHyFu}f}Q>aXOTI?&`PWj~>L8xf4BEWT`Byi0V%(7!M?`HsIgLcA}e(i${%ILt~t^z@pI3DAZNBhkO z#!CWLi@ST~V?<4Uh0FLk%!$c92eBk~tX|A0q9o5-p!pGrFUVB!)+$Cy0OZM^Zp4Wr z&tm*3q5i05JQjY0<8uGqKi1Hqb*p z7?n&1k?|uD4S$P~0u{zjp7ryITrWf|*<%-{f^_fxL|uYMrBy$M9}e2+0(9o#=YW4< z9>KtCR0AwhA2Ua(2B`)9_WRbBhCEN+M0+p&un!(Is!pw%UV)~3Qr{QME~nhU|D>k^ z`^QA)hL&X=)Q;WKQS}Vl$tgEp{WA0?zl`z(=UGfo?n=u}bmeJTcNiA!k{^h6L47&c z1W$rxOzUCFWy!~-f1nSpDYJeF>b1`G{%l)OJ1e8tN}w!?xLGhBXYemsg?ypi2uU(szjtVIdn99*q~W(Y2RL zirSme0nWDfQW#F<|fy|@MD2$B}5)M>SJA#Fv|b`v?; z38lCV^1v@qw@C8|T9s(z5h_w_*p zAPUUrpiD@_OM}tOIj;ZS4=x_?K6#scdxkZ6SD>&4c*kKw1yXFDDuA?=L7`k5Ol95U zek_)Yds$A6+(0VCx|Gn5-AM3)P)ZHVq7_X4D=udq|0ShUngQgkVhOC zRog+za=wsLSr;9NO@y3Qlaw}@;?ht|rr_le){oFtM0l_3;o28G*!i38{N0_c@BfOw zabHmQD4uT_KRMcVd+pFJmWcvoyRa`O+&L`d{r(;&9E|kx^N8{=Oho1a_oPQMA zs8$UL&a~5V?V{muv@%G_EJnxq7rzYM3*xaW?4t({kPq@W43b;nV4W(OF${G2NdJ) z5>+c`8iO_vg+qQ9xjv&5MZhZWz{7^#tcSlwE&j73x9iluk=pDWfhO919kPT`Z@wo= zLYMIryb z`VSi%BMm^qTmbJL01-_@8`dL5Jp__dwD;xLN+?{tN79D`FOucTHR|GZq_(f(VFDV# z*Zhh-PZ-O`FrG;m3jrf`gxEsm_>}PKC_)*l&wX@^+RZz(CU_XH#Tp<1@!fNgGAHuC zLZn`zJ-KU}Rx#J`g}EY2HGJy-<2^iv`BTqe8+gQ0yWntXY_{~Ugw_{O=uJJSYVvS7 zd~O>N?j1e{FFU}JWpeo3DPrUE@Hr`VuH_brhcPylgTMP%?>rD$s}G_Z7R{8>?hs^m zFSk4Cisn-9JU6l4dDp~x=LhI|=i+Z7F|uT*wUbIQ(ocHcyZum&&8w%jfzAJHg!VGk;bo&l>yWGr-MR)C3g^<0KYF)Ekf zUw#IPVrWJ%nucQePJd0DZz!c5Cp5F9f0G0{A7}HbB}SE0btXSjOTb-U?9&n`PbX$v zAhjlF$ticSb0oG{j<>N)LDjrLeY^?s_`KhJe$)`e1#m`1{Q+!-AV8=aX0AHkpFipT z3`hQM4f3YfJUy(NRuN)G4T@kfy#|zP*fo_rh`SwJ(zn#aYD{q^gTG6%bMQOzoqCW}XaQ5qj!IA{*?5GF zv}v=UNTTUS9r#2F#yhGIy}TI&5V}vltl~lm=>bZHeM;~l%Jqacs)A#3ivZ}GJqmfBp zfkz&|o?|dTdZ-@X2;^Rk=@R{_8geL<8sUDZ<#~{eS1XFxa96oI#)6Y~9e#7m8|ei5 zXJIwi?q)q4QDPJR>@K-AYoSHX;C`2&HLj`Sa@2neSo$T7C>vfuY5OP53SV9P{|34GFD!h)O*MNND@g*F+8$=%M@A)sk=_D@tTs{+{|RmI{Tx}J;Gp?J zPmH|daw^jNpmkk_RSYqWG$<#o0XYi;y&5HRYQfOMlxd^Zq=lN3g$qz`Qoa`*tk_le z#DD{xqLVdV!B-TWTr3L*(UQcXlky?o5(Q1X9I4Iv(@HWXuCPWS$EIK*7DFn-w(mLk z8@tZM7y6cJR7hMozMj*1tpeh(UJd_71I0xxdY)s<9)N>lG%a9lg1zZkvo5P6a?Ejr z$?~ApGiZ&?uuP2*jM%7JNBI&RlpX6W6Iui$zpgXHKy+*2_;U&GpXi~s5Td;=eS=DV zjSAu0lpv5QYt*%9IG4HdBDT49cYHAbF^23eSNX$O?}GRO}3qywJmm>nlV{>_?6%v7}~vy+m5nqJ=u|+csEU z#Me`QMdv3q;4#G4-G}Hb&8zX3*JJQEZWBvh};m>Sdg)LU*f`} zc#dVW$nE5}huJt#_<8sZ8k*K$Y!^TX8>-x2SmgqW0hzUPN}cH}1*AFH(pZsM*}k zF6suGxFf3;SA2{Icz*`o=L%;2W-exq<%Yn?xRpYZ#{Z)ljuQU2pdv=%;M_&nGj|zQ zw0H_cHJSw?Q#isKF+zH*UAw^qUqGX2GCw*2D-Pj>WVf-7RDifdXoQm1-J;VyQ1eGS zoS|k^{vBF9Q24P?xdHMCalAfQTY)>C1OJiI!wWqQdXo#J0)j6i+Tr%wi6>gQag3R<}u0kVz zh~Wc z{y;@f+Vv^NaSjFbU@|Bk`IKXvK`0|Kq#%L19~>o1w2(iT2Iyp6r~sd@`^G7=ZW3>j8M^hEXy4oOhip)5x2R^aU0OylIH1mJhzu= z979nDiBDa^ckjl#v2!&tw0$15-{8Z5wb`r6-M%aj2lycb)vPNySAt-1&b(3iI>!;s z#8{BSz#VQCClLSMqAo4u?;MLLgFHZ`6HHaY0%YFd7RqcFWq=LL`Xb>Dqf$;-No0q! z2m>RW@g+xEPk}HT-|ddzO$O2ipqt4G?@BAOf;L?HaW?ry-5zR8I(;a+2nhHpMzsZS zpz4cK?9+u;BDM6ahAEbowkE7K?TO8%HGx~@!rx+1AFr8_njEq6Yp_pjd+0>Mf}X@d zXY7?-PR^HH4DdZxwbYTHI;4t+d>zvUdM2BuHW{6!%1l^O`4)GHRbCB66&oJ+69V(_ zoBvIT6@bxZI82v?HKEu&c;wYJwG?EUD`fNs!2BWvv;b&$M%xMzcFv=xv~iRJCOT zzVri8RQ0uCt>MGgGHDe^SS=RY1m}ZDtk~@YM|23IZTN&p1Y!AT?*q{@QsZ;rYDXeG zf<=aS#DfxH^bwE<<>Y%zx{2oYgl=jAn&H_O4{EVc1Ii%qYIe;h7A_`3yJA6dl0dR4 z>Z%{LSXfGf--pq;fExQ9?q3_jYvzk0@2kGP4F@2!lF6)%q85M654L*tKA#1tEL>{A zc|T5l{$5phm=b#tWa!CT&=L;P8-h^yT91}uGdb1Cu)|kl8R*&(K+!<>ghtgRn5AOW z=|vIZzu;%+2w^HP6ZKf^G=T8@ai`g#zqJJx*?R-C2zEW(e)TNT5Bu)0bZv=U@BCfl z{4I0-&UgNvA%7ReK1jH~D7MhKuE$?rzNr*r;C@PRFJQuf>L3RbtTzT4VZB8q^$p5` z5!~Bf)*($ek|-vH0rGZygNEE;@yG9%-q_;0rzx!4$uC5^4tPPbwn~!Ad!6Hd=*>P^1qg^HVk9D zvyq3gs4qH!OXwEYt0nm9ewk}l^;R9%tLm^rChc%IyqRN+l_`#pD=qxlsH8n09xhJP zBL>KA<-h<9(_Nq}C;GVtyu9#vVB%3SGUR#>iUpeujuCu0*1<8oK#?J|Dbe=Bb&N?x zd;j%3Ee7U(q~Fe=gEO2UMt;mYLQsCY;L5dH04#xR%&yb`PV6@@hh9hG`9^@C?PZw# zt{mL>Ju$IHJ%HC@OQm@U#)m1uzA^D6^$!N~mYES z{<3BRjlBQ45)LyXE1f66PI9_B%lZ8(^~xBgotc-Q_xysM%L{Dasx;Stx750Uei8wHo$Ok z0i~=$`LK5IC>Vv2hDpOb)E8$sf3x^^du=L&FHg?p2cu~-oK;MRJK#%c$SxnornuuX z=X%Gf=IMN-_2i;x7nJCQPiscI$uV$T?7~b3a|?uHWr2{(**JW4H#r;)UMxbfH6w**Ib(I@0ZH1?1;^|YK0*diX2}IK> z1Wjfj?>8btXV(QLD5h_5n2OBfylZ)KwenMO`DU5Ba*R&(}h0?9j*DY zC*}#~>(*nf@z!njgk9FHpp->8Ul;WbPH@97h{!VLs+BtaorSjUE9TcM0+xO{!XX_~J;zOGHa?)nV^^XqlYxDj&*0TF2jYJkY9BsC;akK#-3 zFn8DqD9O-2isDCZ{&6u9xyS?O`~oyA<_cWlHMw1kN^PVfbEBS9L64%s`|-2eNb2XP-krP6ZK>PlEP`FB77*8YiJSv7MftY1sj> zoivH<6jCr2{%%zAd@L`v(}%K#XdyYgM?PhMrsfd{5vwb2wSBKsrFwWH9Qt<-c0*Ki&m@(Et;PKn}A&RNsL}6YqdusBb^7 z3E=SGl!iw{UV$a%48Y^jVkux=#O!=Bw;V{Nbp9PNDc`<~T~Qc7kDzz3f24wx&F2MZ zEX+q=DD`C8KO6wK1QcOUFx6-Y==OfTL~qNOMPd{42gat5Ai8nx0=~kL`S)h1OIB$! zsP<582F(SiSU<`z*G=gVcWTo>N^BGrgq$YuvVEMBd})^rF^GEX z%>F|6>*JgHN2<{z{00t(6qyJ2WxmiY&bAHaAr$-zGqB9U-;BzLh=^*Vl3qJBXGaz~ zs-UYNB4P+7Ct_4NfR~a_MbTFu*=u#_>*!V?{ zd_kS0oAxP$*#*MQ+cVt37!sV+pQ>Mcwi5-vT;E$RU7(Usdj==%ht@2xM z_(JEmevyS2wh2#a_)IpclYnT@!Xn=_STI5|W;H&|tP~wL1!9n8BnwIpeIODD=a=TA z+i{f(3C45FT)6`eA3pq0SmNuDqy?J2Z>%_Sk0=pyP(h%9%|<& zng+Q8G{s&KG*qH1z{7jsO#U~eVW!9zWR;BKXx~PV$(Kel^B*9uzW}!VHYtJxP|Oy` z$c5uct@<-K^+YssJgM#sR7HDtDb=3T1aJ{ij&PhTB4y3TwLi4Vkj{~xYw-~=C_Z+m zI{+j01UjkX!Os4G4eE?fFrg9ezKdI=OL2Irgu+QY0*nnG=P~H@%I$R?F5I&RaCwQVgR{jyDtRGsTfAr}g zc|eiEtZXNe=Q4-^+9##hd-4%``dX?8Nd^l3iJuZ6V0eJ3e)6i>Uoy$V|Hjriv9Nri z2YD*XkoKpK^4w`u-bEo(xHxn%#7<}Ko2$rm#m-syfrb5i(AmngzLYxpEYG;enR18Z zlpKhLPTF_SdVev==}Z|@IeubHwOr@mFPCTIXK~gCYBr!6DrifB5r{_dW4Y=gG6tL} zhf%o(QZHN7VmAq7#se@4YnjLs+SsZK<9@ctf78x%{ zw#!B-p#fl{6Cdyt_T%(E(2X8GZ9R)rAcaqz?HVXb0nJ8QBAP-aeyt&EG{!Z%aH;1a7y>oSuFja z)mQ0a%oeu=@;vR6@C8Pb^cRdyw$^&w41}KGeAR{*ee)wNQ51UHTyi-AfWG@y(UG-A zWL@g?2n%scUpB@PvyL;Y#?)cI9^%wz+CTf`w)-@9v}vDg zdNWQ)v`^Ol-Lp@M#d%7!Pp;jYeX{(wCNVzciyI+ERSO<# z17mc$HZV?$)lwbn{5#K=p*$38VitZl)&$NMppb_wzZjnt$3?_ufAL?!^WnINy!KfS z$&Sl20KnAN$`c65bzF3^DPkL!a*5a->~5QW%*QibyQ3Sy%%J~bRNR8!o;{>}m?1UTDhhk3oz9i?+leD< zFyyyjdQhG^b>Z^raDZ~MJ&&lgw&%IgQJo8&--dnhOabhR@FLf~Ks`QZ^Z5SS>(~8# zFZ}S$e-im&z2)&kzSJ~J*j46&U`t=8?lyDN(#aRS9ecNH@=oEZQ z9clVGG3r##ev2Z~?$wznokND&*01!TDl-@WF z{v`y<7~ll_*c+crxkGq_`RlN=$&?O%_|KK$M7Q=wp03w?Fa(~0M8n~a^uF?N`tL33 z%Jb;I|K@FNYg98A(s^$|eKs_gG@BW+Nyz87zbvCrqOC zRy=t5TW#|o^Ef#>GiZD=?cU`FPcEFnn@{=dbC=H>9v45}3K0A13)ok?9XGd4`>L;{Ii^k1{MFau97FqR={>?Rq_~!c zlTDFuciLB|hQf7n+E<8Ai|^E^PX7=#(`V{ZSOtE4=NwZUw*XuD53~Rup1zkJX83vt zPq6DLx`&*K%Uk#G0_`|B{x|wq4vNKs+4D5>Fe((4q@qz*ZER{8gRE`b!ls^f>O5W- zBOvn!k2sETw)uriKfth_RFxnMiD&MQJzGC*FQe)As*7)wTKZ7;$*BC8UHZ$GCQNN3 z%0D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%0DmT56?Fk1JnZLlm5xigY@?c_46q_MIVMf=C|G- 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 z

    QQxli_gc}pks-X}!>nfcP9Y=w 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

    DoEjbhO-0$NB1gC&XF1Y1+TB?#{9*P}Zn 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

    jU$s)eV*)ADoWjRcnR9`W58Z`iG7vv)?@(AWX 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%0A>^7&pk;`>jzVwI70=p8W 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

    c*nyWSt|fGfpZ+y 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≫bJbSS4iKOAE*NZ=HH{@QSluJXTJpJ0&S&qeP& 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

    }>>8ayBv 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 z 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¨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

    6tO4FT`&dYN@%`p?8Xq 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�O+e}-VrTC{Kuo{ny=$9uCv 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

    ^I?jKj(26Qcoi&tY%wn_Fu(I&#qcwbd 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 z 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 z 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

    cVlZ~ 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⋘{Q;NP)<-zQ!Y?0QZ4~AexLG)@)C&gcYlcS z?-V?hNF`ILR2r2*Wl_Vat$-QtKLjD}IW0ns$bE z7HILyv}?56w8ykpwAZwcv`@4zw4bzJv}Onc!E^*2O()Z7bS9le52LrDcc6Enccpiu zcc=HF_oheD`_TK*`_l)|2mRs8$IvIzrvPKlrSs_`x}2_{E9ok_hOVa@=_cULt#mux zNspn&(i7;3^d!2Mo=i`rXV7QRv+23?JbEF$m|jXRr&rJ`>2v6F>DBZa`aF6qeLj5w zy^+3{zJ$JUtVg8q{Jn*Qbw;r^NamHwUn6DapkAlz{b5`zYeJBz_)gaPLs z8Q|R8{~_IbGol&&82uRo8G{%@7{eGN7$X^DfO;PX-1|hvqyYIY2HsuIFaYyz2I4&d zXm>v&pHTp$dl{pOF^^Hls1H!?i-2=q4y5}^#%jhI#(KtP;N5pHb~1MTq23QN4lzzM z&NHq9^L~f%5Qz7;j1P>@K)Zisd;{YBCnJQ3V-kUQ=P)Cft(a|??U`Ky#CvaM6tfR= z5OXMVII!+qriiI!>X}BS9XR(`Al$Q=Im|NV2Ik+)eav&fuRjKA{UbAo70g1iP%JD9 z$0D()EC!3s;;_P5tpenFcUCV}Z&n{xf7SrjSk^e!MAlT+G}d$$j03QwECtKVa+mC)>YOW)_vAf zRuk(5>tEI{7J^M+Q`l5Co86AxlRcI_oy}$Q*g`fOi)G8$a<-0bWLwz|wu|j%d)P7T zSat$Ck)6U$WBb@M+1YGAyO3SPE@qdo=dqWvm$6r}SFty;x3K?a?_lp_?`7{}w>W+w z;P~Mo?~(#pHw+SPTkwfnZt8RiWZYgsQE*#l05A#TgC+z`2@(dbvABccgAyUZdcpKd zg9MumE8Y2lW$tny73M&Ct%WV_#=rv8s-Sg{SU1Ccm#sm6!_}8l0n6_qET292?>cfz zI(-2Q!@of-yh2MRWx>LHYoHZ6LK^J?X|yN!euH77eGKGKM{q)LB4ki6Sbj5tvw>hJ zg4-`Gu3rsYD{8U*8iSWYE?p745^fi@q|*0RU*1#p0-NF0e^29Z&w`%^zX*O6{2DUszri1YfA|XN^=EK1+=v1201_+)(re4rBPxOp=`{>2 z!It#e4$&UcYga_K|EAZzkY4+PH#itE3^MFU#Kb^y1*{w{CAH*LCj#&xMBIOqDtsD4 z_#mqmAS&SA%pAl5L?dERVB2C@VA*07WYtXwI4ptK{fD|Z40#ola>%SLY4rx|$K65P zhxmh@#gT>#Sfo0#L zfmPp@Mc;FfF)xH%gq(RRCbV!Q1fuvX*Fdj<-bjTd= z9a{*II^+Um1F{jhFkn8efZVtWlH=dVK4X| z@*yk*H^DyeYuH=*fcykmG8mF17P2H6MMW`CY*aX^HJFke13T4yAX5$qWXdV9H?2VF zP|koUxe!w0D%5Joj2loJQCm@eLtfm6Isj?$NWhjnjyi`r52^7o2L;&BXd4mCeGI0*6w8t;Ej8&IuTowb*)W1EjS@;9V{O zLS+lkDci9-vAcj!IU3+oPGL_2p>i2}9eV?N^G}+43|a04SeY$Jt|i6&!u|#?GZ?(g zmK4Xtad2U{-axPP1Ab*lAis@)1UCt?+f>{%oDlMxIFR4~&&R33*))N*X@xZB1iB>= zmjZdNg={Gbuq|b{%0Q-@3yH1{Hy;vR17x~|xW%|-km*+8*5KCS*5TGevfBjw%XZvO z+%9lC_u=;A4uIWx407IyK+-!4>F(yAe0LZ4n1_LU*93gbYutwbBhy02gyK#c32Ii=S zU?i9bPJ)+^5lD3YfJ0hImrrFq1BViCBd<-|(j97tUAAZ;xoE{43dintm~)6I~yb`$pz_Y)5jj}ng& zPe9^2O}s$7OuR*WM0`SgN_-Bv>kaW;Aa{Ky{wAVe>5~L$iwQfP9bmh&XJDgq2x%lZ zsA5>#R6yb~LfUdd+G@#K-ay()g|wAT%7Ltv2WhJivQ{~1E~%DO2YG7|P zkhYO_lJ*2F)qesR>m2Dkq^v8DvTl&>lb%4rdP#am`j_;D^dpe0u#l)aLV6kjiD?XZ zEO|URlbl7)hO|^bE+iL0UMhpMR7IXgUP@jKIp;Y!3=&HeWQ~JR!XqIU45kjD4y6vG z4iDI+qrfhmPUTYhR5>IBBUq(z)Fj9TGpJeAY-%BO7L^<@MCmjJjY;ExCmKO(P3uhS zLhC{6LyM*j2V-c#avDiR?k(@8+$4@OV0Q+qR_;O*WY-tB|oGZqittaI5_>}qxmyjE-3^V#+61?&cP zBYPox5qmLvN#F&$oV_COie1fK%ihXv#c9on_Zda%wmYoW-1FoE4mvoVA>FoDH0foGqN~oE@CKoPC@VoKu`LoU@!uoNJsH zoL8JToVT3!oDZCjoGlxNNEGo21 z*~6ZOHHAG3dmi>8>}A-iFj_bxoEgpz4-an_K0bV6xH-HiygIxld|r5M`26tt@CD(G z;S0kTg)a_Y7rr4pAtEs%DZ(3(5|I{>9^s3~iO7#Ah=5s^h|-AJ5!Dej5%VJ!MJ$e3 z9ZCkf*-Jx}- z)_=9`(zV zeq>Q(apbJXlE{k4%E&p9b0Zrf7e+3PTpqbLa$Dr~$UTuKB2P!2jXW25Ir4hst;pMv zcOxG}K8k!C`6RL_@>%5b$k&md;nwEY$j~;(HYm8aiEl$_Lu*5C)2dBmn@(*yxB070 zmo`1y3~B?TPHhs~B)5rcXKgC%nAB0 zp!>ma8+ADRlsT8cJtsHF{H|b)ahcq1U_}oABYGrv z3|GpPb7Aa>>nbVc(sGEpGHwI6k-Lz)n7fg?1sv$J+%w#NxJS8%xYxLM!G6BS{Q}6X zk{88O@iaUc7|zMOLS8xe%RZii7sspQ#q#ob)jW>iGVdPmEbltl%NKYzdFR1je!>gq zci}Vm-T0mONPa8cXI?vgSAGwEGw&^r%180X@+a~`Y!a}RC-IeFF1x{5&f?ec^Y~l& zoB1dBC&5=f#J|eF%YVXu&40vy!~e$r#K#JP1qcC4z!We9;evL8A%cN|VS=H8k%CcR zE>9DP1xCTwbcetxh!JE7as=0TUp^tYCAcq;?MpA4i@qPp7J!IRwx!ag-Jq( zFj1H(oFOa)GkLZ!URVf@^2+iRU*M});IBQM9)O8!9orO(|DA)hq$MBn79|1$6dv(#awZ@ z*efm*>%{Tm6mgt*w%8}m5+{pu#TDXw@iFmY@eVMJ*NXoU9~Z9_uMr;-F9p|l4_L-e z#81U!2}ANr{6_p*{9XJ|JQ!SJlVqBtmqZOlu@r3LL6T@NifbiVk`3ZwNu$IknJJkE z9`SlfhQu#fB`E-(_@?BDX}p>Xhb7v!un+h0?jwa_KVZdg*rQR_P(>9_c~pVd(+sap_s<1?eT}HL!)h zNrPm+rJ*vc3QAU?>WGvY+Nh?`r*+AJK8CNz`HcG~mIb;W9g))OIQ&uFKBU=bw z@KV`o*+$u6*-_bL*+p=Jaq_FOM>4!TOx{|aAa5r(%BRZX9jDQ+uD!SB7P z=%j3;q$*n}vC44eD5YCD8BE>*N~6-LtW)k$?o*yp9#ZaAJ_1+wsq(qfjFK2+URJyE?>y;FTw{i|wmb1`b7nyzlEZVyiGAoXDNXfSfQYLS|+=BeXV zZgq^>$W2zKsY}$A>bdIqiZ$xp;Nb32{|)}_KJ_v64RCLNslTgVt4lO5)cAmTs|NEn zLPOOsH0?FvnlKGVGfgAZa5YmkZcU;lSyQ0N)#PXvYZhqMYSwG^YAQ5;YxZbPXwGOZ zX)bE6YHn#>YCeF4i`Ry0!?aXwgm!>-pmrRXx1+RNtxPKh^VX;}YbSzzo2*UO?rF%> zF4P{>9?~Ayp4Xn!Ue!L*-qGIF-qJqQKF~e`@Aj4Uz4l-2JMBlXZ=1CtVBczVY8_rj z1^c$EuBUDg__mXD({x;2Z}4uVIvJR^2AxNjs7nFYHbi(ADbZ=@#l% z>elJ@=&tI1=pO67>fY<_=(gy8>)Pq{`Y^C-yXr~$KKckfQ{P?RSx?pv(JS?%^-eHp zb^0m#3Hs@JlYXq;tRJIy>s@+U>!%x-29)75ShYchkNWRW)3h`E0MC|aAQ>haMi{yn{xVE4j5G`b!?vGc zxM7T8oFUPWVvrjY2BpDeNHWA4Ea2Jd3>t&T;5F15stpB(wT8KdIzzFc(y+#`9$ed# zVBCH&90&9Es9~4klp!tijNz%_5!koi4Id4^4ZjRO4b6riBL+-dqLE-^7$c04#&*VT z#$LuKV_##makPKPwO%{O#4jFO$SUzO^-|`Ocza`P5+o!=6>MM(#@UC1I(>0Y;zYg*=#e%nv>03 zb2m#BII_#ktH71rW4>v=Xg*>-28Qf)^C9zlFk-Pe_stK?YmJZ0Z_Pa{pUof5AI#qY z-T7taSXx<-mX4MVmhP5*mi}PN4zLWeO!ZE(NG%fZW#tyFMPo?-KQ_nWw-nEsZ)vow zvHWd0Y&mK!ScB{^6w8nw&T4*h^7Flz_cU@pTXx(W&VclolWBtdv!+I60*ZbCy)~D9z)_35& zezB6lc8#=k2Gey=O)uL>@LWgR2H6JMCfKw#y-i^=+03>gTO7En88#;vt+T*mT?BsX z-?q2lvA(ixu|2o#usycjwcW8jw7s$Iw4JpbwKdu5ossql_OA9(V667FbM0HeVpZ5p z_7r=jz0qE7UkAqO0{eWs-@e|t)1GACW?yLEWhXmI?KADcj+1tbW$TYxYO>PL6N(`(U$naddNpJ32VpIgZ-X94QX9Bh}$@h#fN>F^<8G zB*$=v!Vv`)tJa|bchw1|>Uzg{$9~5_$0f%;$63cS)k()4$8N`A#|lR;XQgAIqux>F z*y_0Jcm{A#g!8up=lbUO;AnCnotqqy&eslx^Q8mlq&W{dJ2>giaZUobs{@>=&WTQ= zQvoLHByqmpIIk~V|GM6~_BCMKbT`8t;qC~&tJW<6 zv(@R&0gtuLo$a3Qp6RxO<2u`2;r_?{-hIiv*L}@>#C^xT-o44a54_e}?ziq6?icPh zp6P`HJl#FRJ%c=9p8lR_56wgHm^^d9QB{JSs_>L~syvTl^E}@?%otqEHqSB7Q_l|1 zQO_&SUC(LHGtWiO5wK8icpm>B^4kZcb{@+-oIL_O#(K2&7~;{-W1L5Ok3T(H zdi3>(_ITN&z+=D17LSiTc6hAw*yHh<$5D@C9_b!0c)aaV?&0d`=sCvg8;@T-{_q&& z`J=~!p5J>s7HqxnVxTZF7({! zxzh7l&*we2dG7OknYpFMJiqZg>UqNRs^@o}r}+Y~rq@kRM=#Z@j@KWa&Apm=`FXbV zYU0(}tC!b6uZO%Qdd>GL^vd#D=XKTV6|b#c8@*ojI?o)_vtB3p>hO237T!&nKRU%b z!F!?iJnu2yQ@xjar+eS>j$sDrYVTLPKk?q?{g(F;@BQ9Ky+884;QfvF=iWbg|K@$e z`%ivmuj|v?r!#X%yZQ8D9%+B(kq%-W>2ROXKGS{td?J`L8s!u3ljW1=^PJBrpKU&` z`Ml$^&u5R%M?OcG&2_=&BD1-E@u@SRv2P9E7QT&qTlzl2JgzRj9ef8ei)*~^iLzbljm*^A?z_wP3Ny6M`99}o>*wj$!S7e!hy42aP4OG#H^*;= zpR3<2za@TNe)Ij7`UUt!_$B+5`K|Ih;CImPsNYrJ3x1cFjrFD9cYZ%IC+jM6vVQTa z=5NEitXj;>s_oy>p|84(`{_ps2^55aV)&EWZ4gMecAMiiIjI2xk=luWh|I`0B ze&+ds8CgI2U-K8Uu^a+gGYiX!*;s7@+6O!m&?}&Sz=(j60mB1k1xycc3z!$MIABS@ z(tt(UY%HIEfPf%oWEq)}l@O2|kQR^^kR4FSe5~~WuLo=m*cR|cz}o>I1{@DK5^yfy zV!)Mv&jY>+=oxn_z&_9}uv%c3!1jTy0y_kDWG+^pz`lVa0-p+89JnlSW}tguWMD*K za9~zQx0EpR7uu66`&4}3T9!@y4hPX(R{ycGCd;BSGog6aiz40a0Y z8aym0Eyyn@E+{OhC@3XpC9|ep4qC^2seM832OSN1E9lLjy+H?pz6tuA`BT3KT@SJg zt{3bW+%&jbuye3W@Z8{O!E=J23Z4=?IXEOZGB_!?Gq9n&>eGz(CosdQ8uOoOhK>mx7V01B9_kmmDAX&|J9K%d zM`$VYoytQ~LrX%7LX$(YLeoQMhZcsuAG$mAgV2MauZQjnJsbLEsAE`zu+KuTgw739 z!tBE8hg}Q(CA2YfpMDN)7uG4PYgp^BKFog_5H==kNZ6BM!)t^O3m+ZcBmAN8LE*i_hll%yPYoXz?i0Q^+#`H^`26tf z@Wk+$;pySw;l<%^gufcTGJI3`yWu;+*MtvBgswbByzhi;cd_%JMP>7=w-B#zQvPEs0&e_N8OCN74-){5F4UxnTJ&)x^{Hk=tj)Ia*pmB{cyAkv#zE`&yId7dQS9$ z=y}nLqnAc6V|JEzbYOH)bVPJ&bXN45=&(=R5wmlFyCrh%+8qdn3FLdGNoJX)Kh-U^b!ZG3aeu_# zjIAEmHm+G*ued>RW8cv-&w~triZQ^gmImSE0*N(ptS0nzB_(Ab~;`_&Ui0=~L zEPihMocN&lG4bQ#{o<#^FOK(!pAkPfet!H?{y_J+`11JZ_;vB`$M1;W6@MuHc;1@$ zJ@FfvGqsP|Q{Tt`7=M8u8)_%~5&v`iFZ{T1B;GNhQ9{Fnwh3(#9!z*N;jx5H3H=j> zCJauPlrSUV>4bR+%MzjzA`;3H{1d_xHYNBZL^ES5i@8#T3C|^@COn_8K4E9V2Ifrd zNjREtBH?7h*@PPjhQ!|zt|xrKtf^{=wGwM2)=wOg*ebC@V%J3HMAyWjiTx8FP3)UE zCb1=Rrk+k*n7ANuMdH##&qTk(z{H3|Q({75Qet*uLE^KCFD1U1_)6ls#MctvNZgUQ zGjUhqsl+qPsQR3lRKF(LBsEH^n^Y^Qc~Z-y4oQzDxhBm_nv^s=X=GAZ(u$Ug*l>Bh=n*5H*&dCFlJ14s)k4YY%JT7@u^3>#+$xkIOOP-Uw zJlQkZFF8Efn4FTFmYkKGot&3km|T?HFU2)w5OcW3q>M|MkTNA@9&@;YQbJOqQxa2R zQ<9j)m6no|5|&bs(sJI~l$TR>q`a20G3C{i%_;At>`u9yaw+9h%I_&RQ*NbHOSMg{ zk!qJ(C$)BJ-PCdA^;17&am+@ki&9rG>&rJaDzz~6?bNqY-$*@}dMfpJ>IbQ(Q{PYh zD)sBs^Qo7Z-DRKVkoIS4%d}R^?`oYkIITBxyBqU1{Yv_$>0dDyEI#8p3rpN!KA0o(z}jTg z&S;gydKOp8=N;LZ+zb9yg=reJ)Ji@Z%*FAJfFPfd8v5? z%rDE&dpU0v^UGe#ThAP`&3Rk%w&i`4_kP~~ybtrnCZ6HXW{>6F$g7rLJ>NdRe*Odb zj`?-+8|636Z=c^azgPZa`2+F?<`2yuo!zznm+`9~%#%lFO?&X3Ix z%a6(rVXj$netLdJeo6l7{1@|AGRy4s{CD#A<-eEze*T&KZ}Z2O|CoP1qG3gYi(HC^ z6b&qzQZ%+`X3?~wIYsk|+=~_zEh$=7w6th#(fXn{i*^+qEIM5DF|*pv6`f~R+oht< zioP%Unwf3ai>?;^Qgo}RdU2EDX2q?G+ZMMg?oiyRxN~ur;;zL#ihCA6R6MkJNb&gM zvCMRvSUkPhuQf+ancNHHf-d4P?_+atj;v>bEia#yBTzs_n zVsXEcAB(RR|G+Y~4N4qJ>X+0isa|4VQm>>&Nwtz5CCy7Zl(a8tQ_`zsM9D)X!%GI1 zJXJEcWKl^#Nl?k>CEt|%P~uQ(U;1^4O=G!^rh0*O81oRF5O9FO_XA zd%0|FnOpt`WgnFtWcJ$#%(;8Ae17?y^10=1*V(1Tt~M)ZoS+J-0HIq;7{}CE+}2_(SmXA%EE>V`!9506}nan+q2%>w1qPk*1PGu zuyEls3twYpxtj|gSk&dl!bRH`On~>5^Vcmn|K>)OTsb z(odIOUV41lpyjic$1V3&F$pt$2)8xH@?}?y=J&!E=-6 zPoB13c3z#mV!hUQ)$y+8J&Sd!MtC>8x!d~>?+re0`Ly?KbTiO*hwpyhJ{9CH$XPK znG@XnW^wRg*0N}E^XrhZ(3UqxhR+J$68=p1@$g9zBO;%TY;{v*C4flNyQZH_BV%5V znH)PKc3Eueo9knpZnn8;#~ko_Nqv%nlU60Ym2^I-?aiN)CMQQG|B!M$rCw@4YP*{U z)7tZ%$wka8?s&6dW~a>+!5{Su?UGW<8d* zC~H+#U{+Ap=UJa*oyK3tP5EmXLZPKlYJ|z^UYS-e`dAJHe`EcPs@Hjdtdgs z>|e7V%o&z5GAAqd%#AKLOY_#{J)GY^e@On={PFn{^QYubD{wF9deix4r^0SG%L>Oa zOZH5Wf3Z(-dhv$h?ZrxoSLw3S?l+s39WHb8^>z30TjJ^Aw9swIa`y%OoP7PM4;`Q*bb`*%1-gPWbc62D19}2S5%nNE1pMe6^$7Ha zN1+e&g~y;D^oPe`01Sjd-~z5N7>2-57zV>(1dN1H@C1y8F)$X!!FZSe6JZieh9_YP zOoeGM9cI8&FcW6MYxz+7;Hc`zRqfIBRNMX(r_z*1NSyk#sF1!c(;Q+i3AHaw35gdd=a2Srj$8Z#m z!EyKmPQXbx1*hQ*oP~369xlK|_!KU|Ww-*L!RPP=d_hAK@BY zho9hQ_yvB28*meD!Ef+8`~iO|ii^T#1J%G5s)HTag9FrH!gx)n4RyegKcue@jiEWT z#=IRk!^6;@tcJj3m=C^WYl4;V4qPHnUU=(*2#hKizy_#;cI~13Xv&VJOcUjqnkq_6 z8+cGrVqL*aQR1Rtx1z+WsuIryEI~DZjgqKVgX&6>%4=8ET1v877n&$3suT25QdJk2 zOUc?ssoExvUTmTT#3ounY@#K^CR#&mqD90;t7sc7qixhw+h`$eqt@C+OKBUerERpB zw$WW4*{ZSe znj7;Wi(nCCYg@g#ot-^@fn1|T&6>4p)vm4B(nq$mvn_pLOMBYVN4B)HEq!52d)m@> zwzR)3ePl~J+tPQow7)HVBr><9e{Ja_Tlx|ECbryHu&-`QKVm=EmVU?H#+LrYzLzci zj(siLxZRq)oeS;Hb=IDHjXmd+9p{`q*FAf#{SHyPv~>*Zqvqmw!v72^(i_1A{{`Z! zI52+gIH&Eo&f0UYao~EwA9+IpjKu!~_SJAd2@Mo`&R;vu zb$hO}_S|b6xIVDvB<=;!9{*}oq>q82_`kqjJc@A8!>=>W++&}E2 z+Twp6H9#~B#(x=mYQX)+o_nwZ*JnG%r#<%rd+v!2T(9gH&-UD3?77D}aQ(FBUT@F! z-ky7&1J@IJ3-?rLq}bCJc8qg-?l1P-V;#62+Hqa5=YD0+J==lnvpvra_S`@0xraJ% zy|QD}*mJ+L=brDt_1})`f<5;id+xywTo3KIj@WZQv*(`f!1dXlXA67oFZSGH9k^bZ z`+p*S`iX0ax&OWKKS=!BG{v7K`#%`}WB8BA{$GN> z3;x$oQQt%uh5twFMSo6#hV-OCHTScgOz*D$b`=7>oZV_M-pAIYU2j4K??_FaC##-zWQDv}rs1FQOv7 z35MYR413Z4God;DJlX%D`1|8OF8hBOerNofQE@&c!)W|JV=azn8gQQ8?tk8N&GVH5 z_d#?2FT&pm|Es7dFCIqV{|M!B7F>q@&6_EB0qin7s~$E$Nx#$|I0}u#{V|77Nmd}|2MD~{aMxc-z)oH zAOA0q)^hw`!Cv%-KK^rM|Lf!bnC$3B>sS32V{+RgM1-W&bZEjTrxH zQPJLUAjbc<*o*$x$A78pe|`L)mHn@e{~e^Y9RI(|{;z8MGaf38|CQKVj{i%@rNN)l${y)cF^uIp-^JV|*rhc%Jc#lCJ@%qK_3>XW`(Gdb=Vkxv<9{b< zEyq94sBCq$y}~L*=B=JoUG(QO{drA)PSc;`^yfA4JR&yzxlMoWt7Q(RrOliEJjau% zwml$Kf1J{v^Zxqj+SA|9%inK~m!~g(z{98R#|Jo>gL*7?_vqYZiHD!NkB8fGCwCto zPoI8H?!xcBz{%gk$K7rIVmB6Ucbf0Hz`dW-s1@YlyF>)|c{;f*U+y{I&ClIwg{Kbz zi`_h&miR6Saqrh}tm|~AdBJ|}zK<{Q2yk1zWWm6ZZoZ41{LERodAZGB;uq}X8Q|`- zaJgsTUn}hHu|QOk+I?yJCX2d={cc-VrH0LZmhc(IUe)#r`@KxA9IWkCZLcu(QG|%S zs_hk)-w{?@G^;H(!fJySvOx>kpoP4|6it!pB^J##YXdD-_(f?VURVmhSsO^7sE^rp zzqA#8a}CY5!Y^z@yjg{<@C~!cm$v!RR``Xj@SD|aEBwM%#G7Nq5t+-~B5j3V*a*K_ z&9=fXY(=~|c9>13w9S;Z!Y^!u->ha^;TN_d-W)4h&s^>XX)FA~M)=KYwiSM1E8@+u z!&n|k*owWX?G<`WgzVMw5^m9tA|K%vu_BLhExcR{7j6+E!gp%nJGF4(79k?M5cgpA zqA!J8)!bq)(uiTKFa{T)0Ju2=`Z- zvkcV~Z7*t%+a;dap64y37$l?Ycfx2n0#wg%jy=5FLBY{g!&+VCzQQF>J=|npW)AsIKZo{;_aEo>m`}xGG zHbb=i;O4!X4}yX4IP?QYs0}s20qnpQI@Ik^H>1v`I&11|VF{BhymoR+of60b7s6+v zQ(+>Efx&Q+^+svTDaJ|X;!Y< z-c3vIs_prxLW}SK!(O;+Y3^E@TlA%9SrJ}MbJKb+8Zw_VJn)>s_F2P6&lq|Y8#c3& zT#lhej-gqWVOXXiFx7A~+0Y~2@NKN&NUY(Uy`h@Dp=YFFb(mpcu;JAp!=eDg5ii3A zPeV6P!vSBzvE_zkD-4e=H$1+~Q1Y-L`(eYTMTS+2409eftadlFb2pq?U>G>xaB`ku z#5_aid4{+-2IDNlnwf@GPZ`2y81_yz6iqdBoN8$Kq~YO-hNcq@KTa@Qn_w6^!LW6_ z;o0$q@-~L7F@{IS7#fT;^d4cbA8uGP#4vxbp@XdYc9m5&-$JYsm~VMC2xhO5qoTF!=}9Sx`43|k*EJlM{VwbEc}WB9D4;c`nu zljer^ni{@pWLVwEaJhkDeoaHS8iwbk;ON~{?bTG>)=*v7 zP~EESw>40AG*H>E*Y_ux9MuQ4{R?%~H|naz+P+ZRpR!f$Y?LF~{^JP4p;?AelMKfmHVo}-c%rl6yTLp> zxhO_u7vCBVQX|zjSzV&PVKl1~?qQ{dp{(@xhRt=GM|eB)>(#DT>(2TDt9UoEqO{<> z5vjc8_;mHAb~Ee}?RMJzY41dxb?87UOTv{Af4kLjO$Kca!)3#D+OL64d)BlVYV)Mc0#>aEVSS1s-X-z| z@5?@A^A+t{ty%+CDtv^MC7xv6K|kJoox`dTuk%)rqt!0c-qlz+us!dz9>D5=vuXQq zR{Sfa2e$BLk5A}_Z+N#yEgqlE$J3&EH&$2}L(e?TdpsiOpHkLU*g-F?VGX|b>8r0< zU9TqVCUmiTj1}`{@NSM^`YzF~kQMT_(T4}^&hsvgKUs9DwS7mjF6$zEP7haSmAQ_rY%rAd3>MJaCe|ldNuTdx1-T3Kyu$mQomf*~P>u05=5Q8- z^VW+}&V@I5ck>y}h~H||Vy=D{)>|9J+G=xadhxD`49=1DtciArGvx=CJgv)nmU}W& zemrN5C$r+yId|4^i9W~~^d0X>exP>C+TEGyK9;j-IqyPF;hcJ<_M6N@Kf{}ke`DHx z(+9dd@Yn;RILnqi5d1(Q=h~_Vwmk5z_A%iT=7h_S3(8eoY8^+`)Dj^N>K_|$53Dn` z&NR(Gr_Q1}ez#*n>m+OLP;GCj^H$A?@cu+>+l^;SmKolITlNP=0uS=KW zxLkg4tLy0G*vrwyF-V!lb`u*9&8wdr7@ln9u$J>tKDu>Q}W`>8cwmT8*hctNwCUr%I_`Qva3uZ?dM;8QzWj zTm4$R0l6Eq$VW0?d=c+7j%tv}?C=fD09TX<<#2-w4Sr~#G_1>ehcn)hX zMe;UbMJWQYy^L;Y_-@1F=w}UoZdkn$BMrpnB(;ZBb7;kV06*ON!$4MHdb-iVMgfiD z8jV(5mAt#y=s7%FAznRsdZ_6I!p)mFFMnvNG^^XpsadaPF3l!1o7>E*nXy?0^Uc>c+tut) zvkT3BVDaO+&7GR}YVOi}Li4%Jy_y@FXEcAN`TFL&njdO@LH`Ly&r%zU!V`QuCePwn*#obuD+cJlOJl%kNwM*|JV6Vc5D=fYP(oKl|68oHDik5v}mg{*7)mv(>Uz zq0GlGZndV>_EzsR;A1rx1QO0S?kc&$*qf9uW7x#_4}<)xBj~I zt=2W2nmdV-ot^qRjdYsswAd-gDb6X!={cwMPP?2AIVs9nr*EBpcdFf{Wt;A82DBO5 zW_FtuZNl56wkd71w#|+W!vs;2eeg`v2ACyUDh_VZF1Y)33V6!LNFJN}OseN|)mF-_^KZf3%X!mw|pWEX^^n$+mD~H<)x6kc<^rpWf zwKf&uC)!)L?w#`?Qn_U-uEmP7h%d_gHP;v9_Jnr+{MtT5%f-G!lMbCbXpwT~!&SO( zhmjqo6Kb~C&%iR<#T|k=By^Z+m)GG%VqfbJW@&gAw-_}cN)RRP?r^xn#ST|H==D}R z3bUH*Cu#K(=Wl?mIaX1c5x$gT4(DBcXqQ-SPnM)F*!SV{yx|2ADo}CnBP^U4SrgsV_ zHjv|dky-7a)e7giFCd%+uGI5E`uR`8>zIW98Of`-Cm(}|20deov|3zx{iZV(b zrS#sHSRRjl^kzeE`OH;WHlio~?mx?X^cEE*ikA8(oB8S^a=6pVf3I$=Akt+$y-<~v zxpskww<7L>=8bC!4j*NgJW~$Q=i^xAJB%KxDktl3k<-aaO8&CT4VkOI;?T8eSM#}l zr+-pqElzPZ>3N1KT}W5eCa%c4N$q_*y|AmeiIpk;$-e^fzxNidyyXz3Jl1vCU1}?G zx%d6uvMhf_Tc9$ft9#e`KLShpithf(XvO~?^;49FofPhuX2h9bdHpr#r;n40xm)|p zBj9oEDiqr_x9iHT>nZ!qt_QlFLd8hew=b-YPMjBJ^c3Q*q~CAuw1lhjYu6FVA6*}C zZsmNl>nKHW?&{pn`3dKzoXs%{odcYQDD#}-ob#OPIuBER>nc7A=r%(XvrWaA7o9gd z?{hxx{F(Ec&L23RaemGDZRaD-pE_@Ko?>$X-g5rP`Df?q-D-8S@21yIS3l)B+gcWP z$~!f!+$GN27Tqe36QSL@J<@G(w@KaRb@S;KO}Y%Lw4z*JrMz2O6=f>Q=i*0ywylN` zyQ<4E$0*9WZdG3`L_S{CQ>!RR#Cj_`yB)NuVZ}1fcGI7 z%+eet>S=ze(`y{YvDTueMadz`XWe}o{oI|O7J4X3Bj5?EhhCdNQasvYc#o+)7WN3} z5!b`~1X-~xJ=dyqMJ-=>&#gQ~0JV#}UBe*l`mJym7h~6tySI7VRBn4GG>Fu`@;eAc z$?Gwmz83ce>urkmBw!AGQ9D}e6uMs=<-Im>b@|UX{Ru(jptpF%w!N2cbB}#Jj`#Si z$Im^g_iWU&W6wu>4(~a&=fa*${_dIA^TnQeq! zb`(925AknSzt#5U+F!$6-%gLW)^;*xvpU3XmR*pY^${0TX{qP5)$Rn}_3A!eGhlH% zJ?)3Gnr@8!^Q?=zS-ni$b^8Vm&JF_|o@Q;@I@R(Ww(wKfFAkg48oc{sSPfxoU4zQ~ z?lr8#W2{0#t^Ahh%u2F7w&8>TwPpv>UZIK@4|h< zg{LhSp59#kFE;G&e=08jn>gL0U7VB{SJ7^wkA#ZtPd1@WO0*Uy+z%1|FgO{Fu5a4h zN$X_Hc72d=(N`j!s`MM9Dt+LQF~aYr7+u}4abtRpn-M6_jX(eYjP&!dbtm4Pcz5F6 ziCcny3H~Mcm*D?_bRO7w67EU3C*hu&-(2rsiT5YYpE#b;A;vWrH}fJ~Wce!PtCWv| z5(BZSh@*U!@>R-5qaa45e3kOiD2UP0QNBv~D&?cNHNQDdLStsnvG_wi-`xdlgxLCk#;tUV~utN)P$PQ95jcvFv)YE7ya35 z%u?(@T}FPO9p`e61=Qt)fx4W!0CC;M43_11kOou_(tzqg8X!&AF{5P~PwD`)u?aQN z&aw1$tU6i7`;Z5yKI8$a4|#yR3 zHJ7pAs2m&&21jK-y5HbQJP`g4{&x()N;Kzqv^Ks){??m&H^t>~nRgLoF2pa=43=SB z0bLStr@#mqHcIMfsbi&%mug+c|7(8nEVGbf5zjK>c_kQkC`5sHRuRuB|I^3hq?lZt z=u0Oh7IJV$0aLu>CaxjNsfV~eiD#!={CeDfLq9vA82@d)AkQ;ah_Dk@VS1VagbQ@P zu2qHW@s+7cKGs;Lt8lz0m0h0+u+tRxHXFr7_$}=$ZS-*QTvl1Q9xvi7+d}xigs&vl zZp*yx*X>PR#d+c@b(=hY0;OMn*5%jKv6kl(Ga+5Bkw%Z#RXk5RDrZJ-Fd1F9kYsF1!c(VVg~i>t3K(JrD*M0uhvqFsgi zSE(ZImUN5oP~2e<4!x@xU3*uHah+6+&j~R`*C){_FjXVQbvil&o`RXsk2HO;8B)#U zItPC*cn}_fhv5D2d$LTIDm7hdrqpbyxl;3` z7D_FaS}L_%>a$W;N_|1(B{*%Om`X~x&9~9J!GQMxMXvR-8 z=SB<~qYgwt{Zht%i67LlC~*EnGuEQf7!-d@tShJ^@Pqn`v>S~d)LYX3yVO6WsmbN0V%d*TGXicaEwc!D%19ia>>Op-;1GFJD0&!H0r8YsEO1CIalqKSYt$xf^ zsYv(V+N|qPRk_yb?&hy559@HfAF9$;v{h?xl5Ho-w9Z5LJH>Ue=~TU|%}D4J*VX0; zw6b*nc35-j)dE_AWnJ6gZwvZy>F1yBw^Yk>P(MfhNj=+9?qBU|GUgnhY&cii3ggc@ z?J?PQyZ?nYJYtcD8$g$Jl_A=Bl_>Ci)&E`%|9MGzA6KS&f8VVXy=_F=yQTXl zan^Mcd0B^5=C@8~?bmJeV-WHG=_c~{Pi_B>ojyi|TGspTmap4d>ffnHWoa$*vUclj zZCQUkOxMct{BMTo^{`aS`s!}W_`l;8Z6fl}ZK`sMc)cv4md^*et)52r>*;mBrT#bD z@INi9vqM?6yV>@#h=16^U73v?ZB|+My}}%S>;JI5+e;5dL+jUWTrEI^F+2rQ-Y)Wm)EL?YEB8>t>lw53@}BZ@MkZsw`hU z{-GMJhUxCU7H(mq*HQGlo<`40kJHsUT=$DU*VE{ESo*Eqji^IoXaOP*5$`PPWt~>{ z>t+2D)$_WWTIMg(S^BGTTc@-3S7rB~gx@P~%Xmw-WmzIzU@_J$qcyj+t)<_xzeQp_ zzyCz73)b_n4!@UQx2sI=W-HQL##{R><8-%PMpb@2{NK`h)yXp6(rsD3UT2FwH(JK) zZatmZzr%3Hzn$y*HtqVZhgGIBA0t}fnjq4)saZCxEeN+vS3&grDg^!mkDgyus%KqQ zeMG#at)5;FzvJIR+f<%b&s*2KrPIs0lW*mDTE^eat>>pJX^ocY^>Crq;fk_}W7-HC zD)hNXXK82YCh9MJZW(_!w`KYNmbV9=mqKNb-%7vh3oOws;93^t<&C*U*uz%&f0Go_iwoW zPX1M;72$%v_UAgrsJ0oUYU9)FUQ65>?HaBqs|_lM@O$+wNsI!$OiLyF_9nt_d!$28 zYaL#d-#QQ7{(iNpeD4-sS($fB|9>S;^qWA|N7o9~tNhqrq~D*1=Wc&K6Gql;Tp=T? zdxce8rCvS1N+bUV0xLh(f2Sb*SggzVcXF?o%l($2r_<|JF_(%yJ&n-H#yhEv6)ns@ z%QE!%leMo@H@nNZhLm$2l|tp$2i;z`y_@QFv`nLi-H%$@{lD$D{mXBDix}sED*EoO zhr0|rOYWNZJ|gd@FaDcp^eT%ogJ)$4J;TCs8eQfA{J>C6jdWCulo66fS^)KlZCApHY z#7e^AD+#+-?P4p~R9+`@9{PDwS&nzJt1P`9X5C-^7yNqN{;DR!U&AVd7%TX!Jo;xS zaUSXCl2wv>dMorncf~~o1K2<{u!ZVi2ln6qHJ~Qcg4*x^)PcI-2=$;oG=PTC2pU5Z zXbR1sIkW)Qq;P2kt-%S}KwD@B?V$sRKI|mbx<9*Hgx~XEtrDE6tGHMN{VlJYe`>_& zKjnVQ`%m-N?e4dn+v!9*-}Xp{-uBkvmVVt%SL?XS!Y$KSyY({lYot)?G`e3;`$K)j z>R+x{7m9Y`XtmYFXcV zr4?^_pWm;-gHkRSyZ)-)J#Wl^+R=6$GS-W)`%W&OZ z5BodqrrTJmDC2JE<%zmimQI9MhMrc$iSjJ%_4IlgOSMdA8GbLfu+!^WRocq(7IV9F zJ6$c?r=pvgh}sq@HC!sQ6t#^Ri?_Ex3-|57dphL3(^z>zW+iKzuSMS8xILwRMTPI5 zD$k?hIIk*=Ww>Zh>$bCuznfdXhFPc4!}T_=O0DfI{i3Zb?JVPTx0nwl=0b^iPOc#4 zHwnZ%CNT$S^oxp1QVYdJq_@mVcOT+jd>D?v$8Z#m!EyKmPQXbx1*bvWyU)ToI1d-# zB76#$;4)kRR&jRu9KL`r;VbwWzJYJyJNO=cfUEE$Tm#m8cKHc@hF{=UxB)jouk-J? z|A0Tiax92r6mu;_Us|K5t1Mi%v!17^`$fFvCi1ZK3%AJMGE6T|gx#(;*F)WHnf89% zZp?iYYhug;k$wRx)=3d-0o-ey6p>!6ztN7lm}0#YG51(sCq>LV7I{w~ZXy_3n#<7h zpF!A6m<6I7k(XG9MXbRh)@2a+iuDQ_Vb>T${(9am@iTI@wOBgfww#lx&!-e?yNLSe zYqscV#9Tu?jVSYO+W^kt(hsPSU*G@+d^~>>IUv0)=v=YC@h6g>RyVj zfLPq+C|4yHFA(b~aJ6#r1Fl{!K@bgm!f;tb`-nO2VvU3r*ok!##C&(L7EK1431XcD zF_%(5U&OhkyDL-6cyVn%4kGNpJ?tvW%Q8&N3l`4-0+HV-5b(VSR%b{Mq=$Iwtw}^I0>ZfHfmTKI6$} zykQyhi9ub49iRnhfw~+&kZu&|Mj4h94ut2SdFl%605zc|G!xBay%H1am6*^>RQLNS5O0~H{g%KAA{e7--KqOnQ9PzP=kmE*1R#X?v7ah zB#QMC! zeRMCn7u|{OM7N>a(2eLu*6m=8BJ7rs53p`WChKMhjX_0y*OG26x(Z!|K8rq!7Nf;z zE}Dy`qv>cOnuwZEvHnIl8jc2{fvP|G0~&*h{JjbHMwg+>P_$7GlQV^#gWNW3fY*iVJYFagGDbNxk{E!c0-?4MU0m1m#? z3LpnE6yjZp$L4t#;-LfzAO|vBwqd_bvmdBBD*d4^^oEC^Cv*4{U5R&fR0cwS=nK8! zA?WG46Z@T-eKXZjX$%d(@pk=*cO{;*&7d(f0LR<)-;4cT&EBB0W{tx4mv94qhHKih z0`XdU;BMM zLRq(fw$j!v;Fz`b3#hwMtUbW`0^0fm9V5=G4K~jb_SG2TIe(+U=qlPtq;WEeb3$ZFa=>pc2g!Tv1vpKA77H2d>o zXjfO+uG%^kB8{VRb+n`M9eh1{8|81Kd`G2?!dex#p9i;L@2E6ah^MS*(I2>&*d7bk26&{ zMg5OZ|4+2~@7L;obPWB^InG)ds8~-!q!DXyI4S0H(uq9o7t8NQ^l}xpx=!Y6i*Q?R zPR7F9*L%xwOShhnP!VqFw{|3Cvl&={kxQ&g7?s9VNS;Ad(`D9 z>5jq2mE>_JH^c4n?u1#ooTy{PZ*0sy>thlA%F>CjUgRO3qjj4{aQB8sp%3(h$G{ot zwPjrlltt)Wx`0?mQP_($`t&vY{*JvU(+ykkSwwsm5NigB&kSO%qh+uh^z|CWX9InW zM!l{=E!(4V_aV;JsyF>PR{y-F`*qdBh3a9Jxrs1Kzn)%%>(ASInDAR7(pVnL-*v0X z0nWpBM~lxRit>?moT~CRVLL~Q&t2wveK1DDjKINTGx7$p# zyS_%I_^c%m>CD@ETm$x!_8l#~zD}lC<3_~me$kh8S<`GDYObrIh&~seo5r;<_p#{z zL#$J97>>ZlAnGRaQI%a|#9B3CO&)=8J8~|HILl3Z?$kef3R|&OmSw!9TUBCcr&n1n z>}7NnJP*%885BbSC(dchy2Q{1mVVu>D$B^nyjhJ&(Vmk6V;8#KJvHx<^`s zS?4=IF(04XUD8k*bRgQxZN#meQ^6)_yceUTKKK=3L!4kB0d_o$-*CpJKn-? zZC{oDIc!$LORxsQARICw3#zhvjkt~QI&8X2I!k-|Ui@wemSMX4e(pDl^7C*-xduPL zx9}Bw4wvB~oP*PFVz{cfbH2=jIWP-mz*LwF6JRW3dK3%;R~P_~L2q~vxD~1g||I z?zQtkzYgiwVEz7}Uo-XVy?(#dzh4vI_lawoz9zD`_v?LfziPNWM(TH11Jj=L$hx5H( z`0e{R>u}1rrBatm72myz?-VD1_cJp2s;;ul4(s+W2MGR zO_Z7}HC1Z5)J&<_Qgfx|OD&XIEVWc>xzuN+u9W(M)KyYnlDbCfTB+-#ZjicB>L#gM zq;8YCUFr_0JEiWH`i|7SQs0%jU+Vi(Ka_e<>S3uLOFbs_6R9Vqo|bx6>UpUbrCyS1 z*;m%?Z)BS9r0UP7*QCF)>yC9EmVS|5_^Yzh!!2zpbL;6UQ@8F_mr+@I>#)D`o3606 zuHT2tDu$Jp-}&rgT~<|oWgMS@;87R^GawdH;2C%W22JF14J?Cb$b&U-0e%8ylHyVf zH=yBU{=NqKf-B5|B@hjp;XSwnpG@U%Zl>{D*mQntnZe)mKtt#RzA#}XYkFPrn&>sfD2$%sg;T4GS zhhk|7HM0=RC%tFRNkgVTZh&Is3_UogL$z+2!KLY?3S_=eGT z@Mt90a7cn3pc?tRDX0ezLnI`^r6_)zglq5{)QaYBq@Xo;fDZ)0*f@?4ToSlnzdBG?FP(iE2iP@Jx~tcOjInZdm%li#}F12_zUxts&g zB9C(iw!s%LF`s)3%!4KHK70$;KrLX+Za59+A+M12zu^^FUBvIWa2`4o)A#TYJPuF6 zl@fltDx*!{1=tSnz=v=cZou#GKso0XI6;4S0wzH!l)y7k)p)ZGcT&t_m{;!nWqezY z_saa@_bKsPmH6FC{Qb!VNo8q8SUve1D#qqe7zUN474@tvysEI#>&G+^abu;9mpW1E zWT{i6PLn!A>P)G#rOuJ+CROCUK)M%7U2G92;w?8%;yine)#~Jf+efS_3!IE&raLKPr;GSfE!~TM`1Wht!=?cS{v@+aulkq`qenC*m!)gTx(_?QjJ55$QgL`h zNVx9*9`_G$6@Ih`7xBMq{^y_2&NoNKFTCui>@uLQpliVfcQvqu_4qfyYp@YshfUCo zxawdB_Rt0#pa#^0T2LDvfI3hY9HAb#VLuP%!vb)Jg|G+~!xC5u%V0UI0N%O1%M-l7 z8+^bQ{Jf-c|;-Jm=4fS&LW zJPIx_0>;2q_z|YTbeI7#5DN*A30aT>W$-Li80*~c#l7DFPEV!%(C$zZ9^!r^o)4OW z3SDM!ubO6lM&SD9WI;NlKqAC}35*a9Ax{{T0Pq11SPBba9y|?C!Bm(8 zy&b zukaK62;aju@Fjc(m*4`Ng;Vee9EHR15xfuY!QN5hr?95!)8^-j^w4`>OI2kD-#Z@T zGyD-a2p_xF4zHYz!u>j#hb(-0p1*?(2ruwh_NEZi9Qy@7|_rE%FccA!+tAl zhS%XWSP!qlEATRu!fJRCo`>f~*$`$>3UTKH8|Q=Nd6R>G#YF0ZE<oU4O`*$#=DIDS&gB^zV}YlZ3Y*PesY)Sh67# z(jgU+Arays7EBNYkq{1{5DW`pJ_Le4_<}ch!U|Z%d9fJWVIKbNeBV49-G*)+^Bni( z=ix(3HW14V?@IV3q}J_ zAHr6kOV9=AT=ISz_YC5v!eqk6qhnwc3@6T&umPm&L%w|odx)@y2n{unJy) zmC%SdU-DZ`x>dNJC9E7uh2k%TM<9zdMUW3UkV$+x;i-@ei4YI5V1hvK18?eOgmB!U zXb1#?i1R^3{0homfj^Oa(;yiV;OP-IPz@Ai7CZ&hVJeKI{5Xh#aS$!lh(r^+sDmJ!nZ?o1smh5$^g>7xzLf4^^2@ zdN;5kYz{h`V|WUt;oizU;bS-iAHo567xutzc#H3be}-%D1AGf#!RK%pF2XrD4dQ#` zV{ilx!UwP)_Q5-_3wFR8umxTp?#kcSau-mBNF641gw#<|#oytIbYrECmpW1EWT{i6 zPLn!A>P)G#rOuJ+CUw44cd3h{E|I!S>I$i%F4n($>S6kKP#Zk4%TI!Ns#wTo0| zsokaalq&2WmhRqC`$&CEYJaH%qz;nmDs_m|VNyp(9VKOPwfnveYS3r%9b5 zb*9wWQs+o@lR96jyVONemq=YEb%j(S3uLOFbs_6R9Vq zo|amyR{TCj{1zmBH(Chd_o1Ibbk=pLtQ^ZQVXN2AGN1c#i+n^n{TixYk3`)>xY+bCv#;XbGEUFKvTpb5u9)i` z-~G159gB)Cz5I%ycYONs-wC<5s}tv2AI8lx&h1I)y)AeOBCVcIuamCN)aP>&JO?Y` zd3XU{gjKK_UV@il4ZH$t;Z;}%>tO@D1{>jZ*aVwl3v7jL@CIy$H(>|71v_CE?1s1D z9oPeVVIRB;@4_&nYn+g5xBK7r5FUwhJzv3$3mNdNwS z#JvY#6xA00e{Z&=Z9+l#ZbL15`hk*e4T9f5#!u_Ym5!`|Dj27OOOBzCbP zDkvZ*Hk77V5!Ic==5Q|}58wQoI-jR~_hCy0GMi`ey$AO*O3?Kp`Db7U5A^pMgkSGR&r|qP zzW2BUxj)eVNhR%@$aie$dyw+evE@}zF^&3Y+idc;QEuxseBXx6eYiIw_dveH&o5KY zAGGTTe6;EYe9m_pH_<;^fP5#nehS~CP~QaVn~(g}i~~iTx6%jAC^zVAzW?F-r;U{V z0effTkCw=Ojjhe-x54;34?Qcuv()gb8B3-HUwwBgq= zmam>V9lzqQhe@AKJ-0Ic`cp^eYZ;UHcp!b9e>43s3?10;C~bU_^baYs3_b4;#}<5k zJpFhJZI!;*g3WyvGPbbsJZzNjT`r-W?J0LDcAm@F`yTYB&u=f|o)Yz*f^TQgPg%6_ z4C<46Q|^*pF`WW;+qe_X4tLPzpjBtnYlUXFN=!Pp$;tfnkh=z2F+!a1s5mi1rua=aSjTtn2bMZcU=X<;m5E(^cj2sHiD z1H8GM`h%JD@%;a~%P_zj33 zMuS_xULgJT2XWs^CUKmWOiXOHmdY9Qm}Y<%lqKpR2hg{=EP z#?B7#0~m}v|ID@5X8iw*-{_c*y=i={MuHk#~Ygr3!w0tk)bqA0>NT&~^AL`#`og1^%`f!$d8N3v} z;~3VSUg!i_>P6DlffvHzDEd4*;{sHa= z)%|Oed(ZcNpF;N0-(9q$&t9MPOtCym{1(^&c7k2tbMOT?QnAmu=z~7{d>{77R$jgq z(!E}%?CZXrV0WK4z&7wEcniD@-T_kgcKCbXeXs-U1d_hn<{!X6w8J04Keof4!aoC_ zgMHu&@b*PJ`@C_{o<2Lk$3Uq&`=9M+%z$$fZ~<{Q%89$Ngt*|s1e`|THWPIwi1+}J=|u-?WiaDn`9txa&j%Qjwx3tmsaAmRe< ztusdiH`}-YF1XglRdB&_8<)ZzOeSn$GrHW+su_93;P-x(%mn6A5qP4nQic8a?Ibvj z_&AVDcooP5DPRO?!@MOTZ#9ADm4;lz|y`e@uf*ze%6mj-K&w>5ntu zPM@4icnpyK7zKCwWGLYif%MB@xYIX|uiQRL^o!dUT`4O*=nU@&q}?I7)plu%Qb!PP z4Wz9v$J!eoTaE4Z{7TuxvGpTqiR0>f(!}oC#!+2ksDS$G8b^mShMcie+jvPFCl$0Y zaf~F6js4hfjf(-sM~P!%d0%VJiBF_Y#ShYlPTRjBEc4?Tun0T_oPLu2k$#Xm#OKTV z^1Hr%{H_n|CG7*S8|(z{gYDoQ@D|txUI$x%2Rupn2Jrjf{{atx&BQl?SHOC3KKP0B zC*fktOJE&X3!Vf2uj@;+M|>pyk@dp8zPRNi@9}=EmbC~AoOPY=>sa?{Y^;Lc5B>@6 z26usojoaWigB!rL;3}{jTnd)iSPB|g{2)_*<2_FuI*cc2K46xA`ej{?d;XOeoa17{p5W!J{^pv=_lz@GN)=JOLzMd?$Wi31luF{LtziX5ZRKAN!n&-$j|c+imaJUg$pJ*}iU_k3&P z?t9vaVMktc8?Qz?5o zkl($!;nXAC-F~q}+An@M9*7^rwz}+TMt)0h1d#oDJ8&%M3FP;vqVF_#bI<}{*k7(g zipyJsd$A4_tCnUhC@yaqmU6|aRk)YGRk*kuz6`Ef6K_o%z6`F~5N{K1%07z!CCgd@ z*fR?FpRxx0Us=+R2=l*X4?rs^16sS#hOpp>1RP1+jkd%cv?J_Bd*W^!MO+ZF(E%># z2s$O8GjTV%5O2R1ry9r@5XjsXE@QC-$e44+lZ?Gqz!{&;IFvChV^N+% zJ_;P}Z=s#}FJoB7uZ&}v2QqF;!2~c7Oaha^6fhM`1Ji;0W@iSN3FNn=@|#`x{jB@9 zx`+Dhmdsh1Gcs?_05V6%ga23c%bIf@I3HX9E^5OyB@kaa>x`_I{|55B)Lmc&xCi_b z+y_1apMcN6i{N)q4gT9_!v33Qy1u7Ad9ScQ#*jQy`2WZAxXw7P>$zMfe`u+dlv`xUR=WxS{ z&8QxSW3vRo*!#ySY=w%@gZ&=Ses*KQW%AE*_etmVt{v z6<7)?K?NuW7lI4G`QSWoE?5H20gJ&Run;T&^T9kY7n}{|fZ3o7%mOpP3~&~h4yJ*r zU<#NFCV`1y0w@LJhbG#a7|&8?B6kKj9h?SE1>?Xe;AAisi~*y;C@>O?04IUrU>Fz* zhJX{n31Bc71O|cupg-sb`hqa%1A2pA;CRpz90!ga`uF{R4CRgnJwSKR4Ri%vKxfbi zbOarY?kp7|d=zL8+JUyQ22;`Xr9TGLmo-s%ZHH4v zWaOPH?zPs*lV=QSD=TGcldnzI(N!Byly}QyseI;F9%u*}fLxFR>Vs^M1?quJkO2Z9 z9i)L&kOGo{ANYV5ct8@+K!HCQ3x9zBfZxHt!EfMK@C*1E`~-dkKY;JSci>;(Tks9| z8hi!51pC1kU?2D#d;yZ&``|sW9lQ(P0dIr1z?)zjcmuqCKwA=Rl6a!sb;ZS2r@Y9xZ9iC8#+@_1ov;(H ztu9B#sY|$|Io!#wt!!diU3NKgj!uU==?*_sc}LFSboRfbrURPPC4mZzM zPn&ZI?^*m?=ag*q#9_&cE%tkpICGQTKWLqxgBktKQwd`22lza0_5i(_5`ph%9 zb&XxOoP_@_j8Tw8{jTxih}6Z)>&i$-FXw;TF_!KS9}~VU=4+|Dw)zg$mIVEOH(Fj- z0jFLkU#nZN`=*$^l3th1PMO2ui8`Em6Zzrja%4p3e^cIVOJeyfwUs@_7VsL_3^sv{ z;8pMn*Z|gpm%&TmMX(OM0M>%%!E@kQ@C;5u+MxMC^a%Ym!F^4OZ6s8?)r-mB^6BInq4C|=jORnimdt0Rv6mtpgz zo+MD4OqN>BJbe(X0uO+d;C^r)xEK5r`~%zr?glGBHMk4h38EkZ?f|!g+rX{h7H~7T z3ET*70M~=-z_s8Sa5cCJTnVlK%faQ~GH@xl1Y8W3fr~&DSPCjZ1t

    f(yX;;5=|H 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 nNEv3sNf}|INO{7ZBIRj&mXzmg94Rl@ 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

    JS336* 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 z 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�WNXTCE%Z)8u7w2z7pv#xU~?U?YOIgV{0(#F;R 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

    9uC;fsS+SQ#LD^qaK&q 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 z%0A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

    3IA{VPrKG}-ht$MCUl{P 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�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%0A_aI)M8v5}C9A$PJug4k4g=JJL?_6|3&Fm=1t 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 literal 0 HcmV?d00001 diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json new file mode 100644 index 0000000..6a9db79 --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json @@ -0,0 +1,43 @@ +{ + "name": "@img/sharp-libvips-linuxmusl-x64", + "version": "1.3.4", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linuxmusl-x64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json", + "./binary": "./lib/libvips-cpp.so.8.18.7" + }, + "config": { + "musl": ">=1.2.5" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ], + "cpu": [ + "x64" + ] +} diff --git a/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json new file mode 100644 index 0000000..2f8fea6 --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json @@ -0,0 +1,30 @@ +{ + "aom": "3.15.1", + "archive": "3.8.9", + "cairo": "1.18.6", + "cgif": "0.5.4", + "exif": "0.6.26", + "expat": "2.8.5", + "ffi": "3.8.0", + "fontconfig": "2.18.3", + "freetype": "2.14.3", + "fribidi": "1.0.17", + "glib": "2.90.0", + "harfbuzz": "14.5.0", + "heif": "1.23.5", + "highway": "1.4.0", + "imagequant": "2.4.1", + "lcms": "2.19.1", + "mozjpeg": "0826579", + "pango": "1.58.2", + "pixman": "0.46.4", + "png": "1.6.58", + "proxy-libintl": "0.5", + "rsvg": "2.63.2", + "tiff": "4.7.2", + "uhdr": "2.0.2", + "vips": "8.18.7", + "webp": "1.6.0", + "xml2": "2.15.4", + "zlib-ng": "2.3.3" +} \ No newline at end of file diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE new file mode 100644 index 0000000..37ec93a --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md new file mode 100644 index 0000000..f651f98 --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/README.md @@ -0,0 +1,18 @@ +# `@img/sharp-linuxmusl-x64` + +Prebuilt sharp for use with Linux (musl) x64. + +## Licensing + +Copyright 2013 Lovell Fuller and others. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs new file mode 100644 index 0000000..0c762ae --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/index.cjs @@ -0,0 +1,2 @@ +try { require.resolve('@img/sharp-libvips-linuxmusl-x64/binary'); } catch {} +module.exports = require('./lib/sharp-linuxmusl-x64-0.35.5.node'); \ No newline at end of file diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node new file mode 100644 index 0000000000000000000000000000000000000000..176677bfd08c4162c9a42fe27a10003afb3cc921 GIT binary patch literal 301328 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

    avSMZ&so}SQuz<7QBpdgZ@{Cenb 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ⅅ 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 F{0Et8CZYfU literal 0 HcmV?d00001 diff --git a/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json new file mode 100644 index 0000000..6e2b9c9 --- /dev/null +++ b/apps/api/.output/node_modules/@img/sharp-linuxmusl-x64/package.json @@ -0,0 +1,47 @@ +{ + "name": "@img/sharp-linuxmusl-x64", + "version": "0.35.5", + "description": "Prebuilt sharp for use with Linux (musl) x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp.git", + "directory": "npm/linuxmusl-x64" + }, + "license": "Apache-2.0", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.3.4" + }, + "files": [ + "index.cjs", + "lib" + ], + "publishConfig": { + "access": "public" + }, + "type": "commonjs", + "exports": { + "./sharp.node": "./index.cjs", + "./package": "./package.json" + }, + "engines": { + "node": ">=20.9.0" + }, + "config": { + "musl": ">=1.2.5" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ], + "cpu": [ + "x64" + ] +} diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md new file mode 100644 index 0000000..3786de0 --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/README.md @@ -0,0 +1,3 @@ +# `@node-rs/argon2-linux-x64-musl` + +This is the **x86_64-unknown-linux-musl** binary for `@node-rs/argon2` diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node new file mode 100644 index 0000000000000000000000000000000000000000..0606227c5592afb263fba21ab7f0c56bff286936 GIT binary patch literal 719632 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


    6eWcXR8!C4>K!Zj_X@32R#`E*mZd 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%0AA63~XUxi$| zm$o`yrZYePX(L6rkt;#2`wrs6tDm);KkQ28LS+rx*>2{~mcyA2N8H(j{g?0b`V}Vb zw13Pl4YxgOMJ{qzK+OyK!s&}M`$?4QH3qZHOa4OiD1R>55;*&wvdhJPZX8S6gs&i6 z_XM~z)#pxfe$^Q+tAyf=^JvPR3qN@^K*7kte*|?-dC}AgFo*5_U`lK?Wa5iZdeat@7R0ZcwRV#e9Qd-^+~_~B#n0_)#|!0kA=e# z?+x^x>ztchV;yZ`q7XfDM^#C4K>fk5)9?3ZJ>9Y(q=yWbZ`?g!L<*ZJ2eGx=Tec{OseodGpm+Io{0+;S(oBy{U7tEG0zcmexm2F$1BntH-8+5_if}pCOqQ@f7-~(vs)CjjvNxS?1KTm z9Pa)kZVKSdgm;&)jE-dau$LGO;)hCPcOonH@!_w3-!JW#M2j=blv9bDli2&#p49k2=UdZmJfXdz^FZ!+ zrLO1B9jQy@M>25Nl2U8o(Uj<)n3chMH@wlAycmD@($)D?stpt!^~g7Irw&VT`X~8( z8@zYG`-*Uk4*MDH88P33dETeFuf}ig?J1V{J%o8K=DvAPuU}`^n7$SRXB~!<$R?1j zlQx^5l%2o?)(^i#85IT{Jeg0Gu;sx&4F7&bPZo2lA1QK<~Xwwk!s_ZtTN6?>nh}k;KU%cqQ=C zc}~V3j}qU5S^vla zxm(^u=MiK#9S*3Q{Ia)tB7*QmXE$un;%h3+jdZN-)$s(S_S;0i|;fvgTLgi{hh|Qg{Uk>_9zD- zzQ%LXuWwI{S?$NXh?}d`Yro4~hK)r*^~%}&{#pb%IM= zA40aEJg9~TeE#u=^RrSHy7@!oPa&UM5mcY^ht;1p-%9yK!ka&t^nH6!W%=df?sh<@ z)5w~oU$-7#jGb*92zkgK-U{|nZZ`66yl+9S>)N3DgEjGBsY(5WNT7uDe1s2yNZ8LN*J;NXpYrWcf%!uky4P-YM)a zIa?aPm`dYPtREHmUr_#dR%Q#Qxc5=qdGdxc;2g!sZQ`E4h%+mXG) zFY7N~lGVhHuY5g^og>((_1j6+qq4D9Y)A-oSWY9K^Be9M6M23TzQ|PCJ9v9E$IZu4 zc!{oahfn-mf!u!N-l(4??wZ6s?h89teiq$(kjp(8?A<@`$Hy*0C21%fK;*^FQS9u& z&eJ?6YDUqKNQa|*MsrCL+Tk?s-ifJun*PpyMc_rYrV~T=&QxN|3CKL2TsbW?Ek-+8FoiqnMGOM6m!!t*CbjJb1l?e zSzuNdT@w`*byXrvj18BhL|ofNcUmY)G)l~^u&C&X3Kb1yjpdJpibh6Bxhd&vi-L(p ziOl!?Ip@A-&J43WJ-X?t=RWtj{+#Pv=Q`K9&Y%0f&4Px(3|2@okl;zV z8+;bQwT^r0tTxz*W9UAc_m;W7){ot@s}y!TECtN2jAG+ zLlHk^?R1m)^Uk`PG~U>CZbDx6^MgYO;cEuDXZ@v*eb6-Wz@G7uflRJV{@LnIHd%Q# z{4Xl<&UNK-Y%H_@T(u0i`kM^?=u3*c3rOpq@@A0NOkShOv9{Yv-U{*_ac$A*U*T}} ztd@MnO7O?m@7wrHVza1 z0`RwdvnV&_b>+}Xhu_C!Piw$${#KFqbyYm5r-=u{)1yAB@OFTg;ysfG>odYDITv5@ zy@TVaEk=VkeOZyWgmk7{C%z2nfet|8*#z!(a1T~?1$Z6c)%~!@o)^lg3(wiWO}tis zvk07n@hS&zD|p+$Qyl1Vq{EE0Bn8_IY#*>s3N|wfE9JIiEcNHTn=!%oSIu7qc_YZ1 z7UIVGRjn;BAO316eEOik$&(j8%Dt1kQ=o17*}>&ix$WRB2d`=nH~g#MZwYxlKQHp$ zuRQd@^PqzUnH^cJPFUTp0jK*H2j?$2c7T_9=-_yhz$>Yv{tp*!13;81iGu0AKg)uIcK4~$>f!gS4>*}s`#5ho=0BXmD8U`hn|45#*R!dX!}7IH2a_# z;nIX&^~JFLpa-12eFwMiI7ROSujX$>9@FETx=;0sRv0SX51WAe;N{F^f;HYCdIe9q zssVQexGiqGI=T;^o^4m*H-o?L^&;;mw>}Pj=-EuwObpTm{?0dwa`sDCkr&-vl(S#D ziM(Ot4WSJEQyXk2uavyQO^(gmODySs`!iKKthRXKSre=oB0!@y30 zbz-#@IHvyK4S%c1+fz(Nfaluv^F^5osjO!3cmB(dIk{I}J9(Sl&8^Q8@+R#ovTL&7 zsH_#_HIb)xF=WbebQg~2mbG2@;o{7m?QqC;lQ&~9?-nJU;o+|(tKOvq=z?G2!nJM? zOjgJjUNv~j!23)-o)!(Q+c0%&0xt!gtM3-_wmEsKTL*bt$uo0_K##63xjV~O_^ZKh zDJstF!J9tn;%9bbth_1kryi2WU(a2AG0RsvDLoJSIJ7wTSsU^z_!|MN0@#hDGrF_u zPg=z=IE~=U0OxoY=fd1FTELlJpbY7C5wN+y7P<66-ZEMDm?6Tr>gCd! z>b4WS5AcE$EemIKMp8VY4ft_jW_%0m?>iwAr+f$U)mI1Aoi>|H*P3=_2eZvELla2rqHebvxq>K8o9MV9JW zaUps*sW`J1tujWFx8#GxxpNhK%1yqt1^Y(AZ31`1DaGEKt~~DeX!Z|mJh=c|@6=-N zFI+P6WcFY}>c>WTYMa&I_JCW+KDGjz^O53$&wcL(wtZA_X8%>ZB8`ku^ z)vb%XDWi*XpP4rYRjg0$2EHA*WX?UC;s8$ z$v^e68RT`7_mDCI9oTZlK`7g<^J@@Xjc;8BUE)^Wo9@#2F@e@kRpn}6o5dfzqJp@i!>5L?^femX)!<&~mXmo^TP?`eHm88M8$78i zQ(p@<`j`v67x?8ae41a@`M!i&*OtTy!`76)3c4uY2RPNG3tCEaB*8p$6GIDKH5w!}}dt`K#CJap-G<%`x7?>ugiJ?*5=Rh;* zON>2ke|PGxI97#(Tck6k6h!NK9arf>@1e2dMi0Ca?ZvrgMts{nXhc_eDf5l_#oi?@og;5(mtRoGyk-Xq+XtGUTY6`)T~iD6X|!PV z-3ojG@a3)^9C^ZR@_VX5wyjq|6HVsD=zhPFEo=q8x1%`s{UVpc23RG3`p%NzzapJ! zW4A89u(;w?aT)ScmKmo4`Q@#E30?zy0dV8z0=T@F4{riK7dYFk*>{*t2ad_fXSMqL z%{%o1dRLYw!BzD`za*h{x9@~fe_I1>Dc{Y=Ia8O3XTw(qy-k`M1O86%oA|!QacVTSei>bsEs4S7aynoC{li{|?h`N+xOE(Z5W7dP;y4}(vB z1%IvJjrmHk_bK7=D5Q}|JnJovcr62`1Dv_S33L?jQqV=V@HT_j3*Ndyc&ja*+DzZ6 z>iDW3j|BY2W@Q?NL!JZN#6uIZGHE&_S0UY3gVPQUk3?r>a_x3*cHKv^O$R@6cd_?j z(wRC0dh`2(`q?7zO2E5#fc{|KLnM3PXg}h}AdF3Kf^PIZ#om6GzavkuA6p5054h2L z`R;~`8ww`rft$1TS;0cc0&oX96B{gtg>REM5={Qd(oTW4YDr#uxV9}*4!X8#Vh&(f zTU!Ec543L&q~BMhU)u+Jz+JM`pA+Y`r|P={cn9#)UEk&ChBGXNm)cd|5L& zw=k~+@NK|bfFCNkg1+wXQb1%MD^dfveLb{NAoEg1NM*b6DYPfwvpIou#&)$UBhp%1 zKgr(!UJZCRyLdrA4GaaCaOZ%#7+gLNo#pAs7yehaO_qT>=Rv+FJOw=GEKB9@fvK5q<0KORdn@DGLX4eL< zl`@1g1DsxP&UJBo`%pBadMyH{ynf;dVCDN8inteH|!Qb(4-kcfUS_oA=CIjCC zJVrXB56wQft>ABtPk)759`xahRg$%{rQlSoF7}f7IJX4S*b0cBz6IF+XtDPQY46JH zm=(Ggc37G8u~YmW%Ud&0C@nLnwX%s^@|QQU4hHTpWd!!1A%a`+s&2CIuaVC9myn{? z4Rvt4Go)C6u~NLIg4+SF2H{@q%cg@nKD-_HYT(xk&TC6e3}E(wHW>P4z@xt`_P!@L zkC|C`n_-|n)&qPAaJ6Gb*6RVQUSqkEExesgtS5kXCg}{G8Z-}Y*tN(5-pMXrFo61c z62CFvb%VzgJIl|vX9fIXE4-=T?FH`y7cb9$3U2{;-Wq&>ix z;7frYt#X6<_)`+qVYd(GRdrc-aF%!WAo!@&?A&BH2HE{RmY68 zmE=wK;rj%?-R}p1o;APr-)$!wZwGhvR{Cs+n?T1-{|~<|i;ySMpkj?kWvqd&>xE+P z)1)(FP*8?hrO|tOt=?0T2i%_?`+T?92v~+kl!DeKALZ__WYjxk_b1! z86(FB%WeCQ?W@B(bLsHCnz>k3s*4MwZD6+;S(d-ZTCr?7c<--YFFj(TTA3Mo@bY2# zM_->>!`ce{lI_Lbqi$cw#4;w(l`=y*o+1gP%jk6a@1Gf?TpFkT;UjGymko{vx03Hf z=Gd6O<{=xK1iT#hPSTn74BF){6iRj_e{;d>1+SZQ2G6e7{uC_9Xt)Y@Ik+vo#N4iY z**XQIxUtQx;4c45;n-Nb_V{pKtDY^_X}j<%iX&~DR>7k9+#Lt*^Q+5BcdBn4IGeyZ zmUN~bjXpxHVdYf-ngL!ncwct$7(ZJaUW>pP@z-MSnLM0KW09{i^)214;8B%qnE@le zAIsnMf~RkF@>={Xp4+aGY|LB%O6g}PKjn|xL0|OS?q=jv*`vWpfWv2toV8Z19BzU>tW-R7i5`%9qZe_ zOLy|^TIe!u;ndeGCHp-0fm`)@-dTg}*xC+TW2f;O=}+LTad~FO3LTNRf>r=;1b4(6 z#kpsUjGQ-$o#ChN4ky6LdnVX_wkiBdP#^h%E^x=}=3B6?-8=QM^97Y3_(nx*S$TS) z-}z?VISIc#CAr!uGK2p5cfOx$+LM<(m_gPEt$sBQe`Dkx0bb)eek23D`C06)OLoV()h@zEghqlE9X) zmDt93Dk**kbbI#}d%UhHYZIAv4u4brIOxlzH!^up`Ek>K zdcfHW&iyVAbZzE-6O5ugh&Kcm3h(*2hX5$=3mXJi<2s-SWc^n1TggE`EcfxnqTy$XohN zz$X<&bIOnbSw?^)at zu<8MK@)1$*9=B~BT>H$WjkqN59`H9E8THO`<)FXFLrYl-3&mI8{q6;iVInK9)-8l| zsekqBR{@H?|6MUGn!BHA&*K|^ARRP=Go>u*oj2Iw>B?F?7{+$)u@v0aW1{w~ZeX*S z^C00Lss+~R5HPG%ugxm|xTyWkL(pbfd+C=2N`^h)?R|gLD^lP5T-G;-KPrsu>|8pi zU?Qt;LJxO+rz`I}fzP#VtZ$HSK9O&q7C{`y;LIz-=M3T$ka#6}Nt;=yDbH2IBQ=t@RK?Y{3VeqBRq;SF8|a4lBP1%8#% zfxNaqXl2akH4e^da7MZ~Q-P{H)3dDp^&RwX@aSS$UZHb+L^}zTPW7Gi=trZu&%y@# zt>P!X{=QZP_{+eb4E|iw85!l@wcJKl1%I2sSq09=Nb7z0!FU_&S;;>19ri8Y{Mog= z@NZ>svglfIlg{*=_Kxak!MUB_qkZ_Hq%-muYHI_NfX{*c3<($L)U|;VqDFA>Y6W*e zO*HqL6Vy%G61)re3gCsx61*GuQsBpv&Xfhc=1H=#ULU?j@L--6%tbT-a^_7Xvxx_5 zqxPADKyKI8&sP7Cs-|(Zb*+JB?zvI>O|(KZ-w=(pj~U>4b@(0GaDW@Ep^UJ2s*}ER zUp_9HyZ%U>v_nw=d=>CY;0e+hKE`IXt7F%$wt+JVoV{*YZe2bU)Ft$Yh-4onpU0La zM03|EwG<_L^kW6dHyXT3@F*%UM08CKfoL7;?1-0 z3i3t(_v)kG11?-^QD4vUXar|2IKx~V=S)ts5C4ha!8(J}E}^f&%U@@x1f>i7eeiqL z<(Kj4nL`0a{>|WapJ&hdX7qKTl}&os>BEP*yyOZqz2DmDusQfU_#Exx<;8g7HwL_w z;2q=QsXT|D^g0#1<=_p}hueWKIS70i@DAVu*;^0rIlyyt?$=x8@9^OoW-@xIwR(|_ zM!tZ3Kws?k6(@GP4ODdjk*nUL!B3peIIE1HA7{qp&<=4H-znf#G!Ub^eBHKAXBn4+ zzX1H23;7v*Zx{}(~7jOU(^2J?S)Uy`iSBuznpd-K9GGZ1D=Au0{o1= zbxgsh@A2VBxNv_jw1T`Hz~>+*OP^VK{87lSt8k*X5=VklLpoE2?~^pls=gz@=>=z@ zixc=Gjo;)~@HYv(1npSs;`zKZM;6W;a9Z+lj1RYiy7aaboGx&T;RSZ)?;#4l2KXZ2 zN0QFSJTa@6?LPb@7f!uZZPD-Z`RDipV;z3`&$Z>tHZ%M$&hj7Q!(%Sok#7oc$v4D> z`)kB1e=hJ=;DzWbfG-8!44iG;Z25LxBP%m=if(XLfb*`4}F)8YO zWq|$|o~tp@wqf~gv}0p5_bh{K#!k%*zcJvf1ZSGd&nY{6k>w{}Fdf{{mqfiw-TAQ7 zf5StvadZXvOTh2BXyEdPgR=&ln#+jeNoU%}>37?KR~-bt4|oOeLi!i~;qzDz1a8Kj z(2ui0B{12<7~s9YFD0Fc$7$G2hGR1NU$ z`SLjJ8rX|ungMRru4aJW$VY&4)^L5l7%ox$EwXg51l-Y|je5Uxbp`M6q%59f=mu}+%&2#<8mv&A zt}4#(l?=PVA3i7Q@u|ha_+?@6t-lz42mJB(A8=)G+BO`sZ6-Mq;O_Zi)cYstj2uo3 z5&Bj}3=fqZA9$s=N4<&42)?iD_rdZn(Le7f+&@PHt1bXj*^R(T;Q1Nx49X5-ZP_r{!kYu$ zB=A^@$>L>WC{0@pUKe;v!D}syXJ*N=)lJ~-0k6Wv^J4_%rF{6wF5HYI7D+rxG(l(` zI8Ge_d^cqb6sL&wpf5Hye9{{BGJ;JG_wd1~*!>camyp3-jzJR2_d%(;_5PV;SoS^kTt zYiv8{ebiF}yhm((3gK-7PtR$b4e!VUh4G{xk2);|FJ27ZT?6SSSLfd>D%85QL->@4 z(fK5JHeca+-#-}7?p&U)4ZyS8=c#k{o3BM&I%4F$0p!f%d0cT}ImNS@s_%nm2m6do zq$9tCC+}Y4_?8^edg0LVfX$b`c&Lsph?Q=Q?k>;LYarMWX|c zez6sP^TqGz17yj3UngG)(%%?pE7_;}tZ4r+H%|wjbE=W6zY*Zifp#ghr-}CW`Lq`X zv_@yr@pAB|P|%NPv&cH|T^~gCCJfm68=Wc(Y2B`%Lern^z@Z8PXPZt@HD+}_>`))`0 zi~(F$;~4nufM3lV##Zq=9)9k7N$Q3)WnQ&)7Vku)p^b012G}$O`Z$4l7jy0|_2;*4 zb?7lFqkAfd?(H`>!)Fxd>fTuLmOMLHqhasBG;(H zsR1gy2wvj3jq8*z)6U}g+5kLzi*tCsJpj*M>MfolxNf@JmvchFc42(_ugTd8&$|0P zk4GT9Nap}Ny9VdTInbEbMLSDQjwE@Dmhrhu)m?q7kUqO}>ppjYx_84%JS*|LD_Hzv zOWuo|QPA&T=ecrzYXF{Gd^zXBbMiyHnGVo`4F_b>;U*lAIgVb4 z{QPxOX5DVKB&6?i2B^oDh+B_IBfaqTgGPFv8tFBVe2--4{E^<&k=`|=5{2uyB@${M z>D@fiyI~|BuiF;6WJqu1+#xCccJsHFzt+L^L$*XN9O=R9Gcf8H>0LU~n@kBuPy*kX zAX#q`7n@(^5Xj$pIQGOMU|g}tBX*q1KQj>iQFcx}0-9COl)gv&Njma?Lldm&el0s^ zR~b9NUkUzI!f$i%{WT2jS?ZNCS_0KdMkRRVEG%t@=5*0q>Cl+Dr;cZc!tVFifx8>r z`Pf0^6Ao_nY>0W?ym&XjuLb<7@F4G6#Z1Rr{JcJr=cB{J!iAfqX({}A;MZ6*$a_xw z-uhx8Th9A7)kP!uAX4j~PY!7gUlbZyamkQ5SW zG6w@gxDJGrfK68v7Om;RLizL|><{B3=H_n?@_3^Ld5210yS`9JUlWG(=Jx$d)k`iY z%)D2y`6CE&fiL&a_=2PXSi~tH*utgrsyVU zPG4fNePS_oRl`G%jcnvaZnpB7J~1iVjl*vol`-;0=r%#KreTnG1O7b{E~w)J;*%kV z7Os!t6WQr-HW;>DI>Bwx$cv~iR70h968mQ)JJD@F{JjkqfM_xgnIpsD5 zb1f)y%N+r21)Ec&p`EF6e_?6ea`^(8Eeoj?e>H-?4E$}v|3N|9%GX&_A)Os;t!O&D zS5wY#UY4Wxs&{c;M{<)#=0ob#Qf{g95s5 zf_4wISBmznIl-8iX}22(pp{K8g?9D#26zTHW*>#kG?ON^F3T->I0Qvp6JhTae0by+&=v9ldF$5~M+;dd>$9}AWZ47H)+@r^cO*;9)vu~# zUJ=Y^Yu#a_(dc+YId%ixRchn@g0kf4B=kyQNg7Sv=E5&JCG0gT4*BT-{4g7L4)W9h zMkw2nf7=4j_%&hg@F+a*F36KLn%wzU;{d_sBJ^ea|N9s}KOHvjQ;)2Jr|qj5d%P_$ zN5;VXv9}4@Nzk4pU4PHgW_{zN0mojo(^6=cO!wRAX1Cmd+ez|ng|7R?upRF&%rA4` z@m{p0$3Q`juq$LG^d3FM{j6M{6Oo?UxsfOapme-Q1i*@bL1zYktp$UY7>_DjZ9 zl+%1u*pA0Ppq#w+7-&2m1MO~T+o9F->ycYBv^XN%5o?*jT4-oX{!(a_R|9?3vG}K% zVY}{gSswkrvF@Xoss$e2=lpiP*z(BQM9AGdFl!Raz^|GWHs_rpr-6?TXbWAaMf_6P zd=Ky~H;3&y(yO|#@4*3L3-!G^cy_^aPkY#$4UasV$CLI_Psl9$hn~$HRm>M$ z8@&qnq~Npk>tXYJZ{!!258uXU^q0nr{3XZXj~0i`H}WD6xMg7*nvn*(3wO9ndS)}F z$^D?cDYnUuOHJ@xd{5ZBUiNm4%hPPgFbJ~9n7d!Iw@{w|$=Je5_(i@E*g{YbYYS%m z6ZkOTf2YooWB;x4zE-HbgY`kRb@lsM52l>$v{U5Sn+vsd9W&J&-+lK0zIze6QNLIK z&+2c5O$-pZ51#bvY`@6t2^oK*F?x-Uf2_ujTMEjMr`zx?1Bg%~TPr!9IO6`W_XV}p z%shU^*39~qzr}P)UI=4bU3@0Nr~3h)&nNzSe7e!=Quyrc3VXdDL7w6~KEb|7YtDW{ zXzWPuvm?D5M|#s)c#1@rnBT=8Un~vpWtJZPx~A$2Npz540v@`^;IrIuxuFUrwZi3n z9!RaZ0GYxK6LtN4ainKgMrMxmt|e>yNbhqd3mmdoKWifQCR6(L7Uj2E#_*a)dMu29 zMKP?qh5ttJECGaAlVGg_o~!|g+b!ni(`Ka&GU~yyoJ3*e4J_8x$l~`hE8`-&X15ER zUym%kZb(NFMpty+kk+ExMtbuM$qa*uSSSQqqz+FCf&U7Bck_4tNN%1 z0+CYL$oxrCjr^@Qd_pj~j=P6V-7YEAe{hRMR2N;MVX7YbzA5BfQ+*0SnXvT>0E-*i zjbeaZVu(oF{~=aJPz`*fT;#D#xxad($9g0GrvX4+tfGuFErO^N0C$kSIMTbyBuJ}W zDaqpT3lao2L7iwNRF7`?kIb_T2q-0>H>6>)CWIc52Fg&Yp@wY;e4D52J54tIKy$99 z6Yzg8guNx|qaT@7*iYoec()hqq~n=E@LkM;doo>v6fbS2tm^Gy^KF>O??30n1=$$8 zCMQIzGJYp=BE&C+&AVD7zkrT$%gojM_0f<{_1NW3AixwvFAm zOC_+Ta|A#%(wAgq*FA+G80s&5uO9m70qVK%=wKq7eR8@K<(6%saUv zrxq?Fcs4-sbmW7?S?eNRdkN`d9elSQSE(&zf1&RNN>HDxfwqTlmfj;iw>Y%HUWAUR zi7eP$08eGkfo|!a`R1(llP`4W+%l)jenqS&aI8M0_f^n-{;v^l3pbG)2cW(4)C^4} zG%09?AH_FFNk=ZUW2tE?doEk&Z}s$tv7cclV?W?-7!2+N2iKKtVYY8crUW!|hY$9e zMRVc+G=p_UGh2_j(5&V=r(c##E{&C`7GzaEc(Tr%-ChaJuoDKG?>s~fbILI^GlOcF zdTa-G(}=;|N9gyFcL&f@^ROJ5wE5G+N9(^WnXbv_Z=T%Ckx6y0gQlu+uy?U&{CFp; zTRr`iLt)=ZS_dA;n{#K8H%Im{ z)4_N8WayhCy}8C&%``KW5dKcjyGl@I5;x(|nBmx%cqxgFuk$T6?jvIzenD)ZXS#gd zsE(V#pUig!e<=Lp9el?=LwDuUc+9Q0LUWqhAU!kN{~VdaL$WcP+I%!Ltq<@$P|>{P z&^YBNB$YXazMNZLGqgMSrr~RnajipZ``vS3%TO}?PBGRpXm;~`!x1X)0f#0tHwdlr zOVMC!I-P8PJ9OI~EV664oerHXt0s_4xKR{X^8F(7%uHmagKPcVuU*{H;6C%iBJ(_W z*`H1BBwch8TCyswasjCF9COUTArfiL@Uk$EOH@(~9fwDC`alI^oCE5UDB zQDo0fAL-!3FQo45+k?v94sJEyKs-lfzxCN{+j1}XKHzf#_=~x4>16mQ?1`ZJW77LN z2X1xpA3~ah= zo1nQ(GF{`)Wa<#w?CU6`09%Eja<2ut)^5HNt-7D%(7Ao?l%O_ttXmGviuFa_a+P&r zVVcluej(0Sr+MQJXe%}rnQx*;PIYK`W+<4)O2;Lq(ca*#BON*3!OPYs6I7b|gTEL2 zO~OCY!O!aW3SXkk6J@6U&~)W;JQwPpUzIl1A`2WBl^8;~~Y~9MUhHHmIC;&Kj7cRiR8O$wRrXf47_yNny>R7k@?*%AC8p{{?eWM)3Kpm;?Yl4OuP1m z8K0V(NG66PHim_sNREvrHjXV-`pR`{Mf`-)sm5*;n*Dc4?Pax>)?QLO>Eg!vy!HuomWH~I=@&taelhxWK(QIGMz3v*Dv|H`sDgVa$_R-=Z56J(q*TS-CtDuxJsx^ z&WKk|Opb|9BoUpMoEtBVUDjP28(J4HuWvisYdJcRd@0e^6TPx_O6^s(SJz&1Rr;iV zeT^FBoFfyg4g>;*Oo1zoO#5sZajC zKDnnpxj(V7E?$9LUSeTOyrLobTDoj8)Tr~wb`8J>Ms?69?}%M($4(q+d4g6h?3iR8M(Mo+ep*jN+Qbwf?5XQ?-O)P$y) z8?SsUMT!Pbm+knfT6aafT*MpOSZsdn{&ZT+x$n`i*EgD*`p)7+ zXG6TSK6!N%Y_1oSPfSj$z;4t0>njCkty=I2X)iTq4JLbHCQt2~s#IP~d0==?$i!2F zl=tp?L7r?X_4+T#do7bEO{V^!yx(T>q=M9X<*g;JKDnX)Ed5mX(~cXgkztUBs|FvZ z2K`~O)#;Br(ewI`PksFkPTheh+ew}I0n8&X-x9DJlK)68`zP<u$2}FKU7T{7Y$J|MFO;U$KMxms0#r;9n{p+k#LH$#>Fa?NH0V>?K3~MaHgw@-Mr& zu9f5Q{Yzs|lJzeeeE(AMm~f~=y6j`Zz`sQ0U&`z6*idR9qvc=t7`*(;l|!=re|hE0ezgwtFDKld@h>GdDJSqI52VY#e9RcaR>)y3|MEn>f9VKV_fo-J|FRS& zjBfHTciE&^&oD{fzf8bQoFN;Sn7jr5Li@Y^W$8m1|57CXf^WHozX|x43nBb8{-rq2 zzeszj?T^s+^Zd&u<>mR8?u&Sad=SHYH-I{9s!&l_{) zeEzHcW=}^Uf3tzy0sPHGo>lYXlaHEYZfEx6lm97ybCnS<)_$PBIWZ9NK!5Wk9#8T` z)RSQfS=|uozvgdF{Y624v+6F_-+b(v1N_a2Wc|1N&3SM(y8mzan_*D@yZ)y4PQRo9 z{mlkp4B&6Rgtx=r+&47qZyo`CAb)dnP}qU~=I1PI-C$ z<`CuO`J1xGz>p1RNWBx4ds`Xs2TF*w8jJ z47T-DUAZoG`T_KdzF&Y|!94UDE1_2lGkFvJ+qdMG?>+cmp?}EG=lILjl$A*SHo-)a z8R>UbW<%#=is2I*zod))krY7x+V&Iq;`F`8iS50$`td{T`E7pJx`8zuj80=-GIJJ@z&5a%3z(>2C09`=lI`);eqOhqH!ZfS`>ojR?eR?l&?r@jg^S~& zFg-JM%tyoC#N_^lP9U1-R44eUsc%cCW9`p^6)UZaCt{~CGkq&IuP#1$TI_Zvg?;0Q zBom!?t3hH9cS_5NwtuBtE=_c{RTwq2$2)+%6`R>Mi2GP+r#=Z98`=>60@BpQZ|G=< zPfsK##hai=f!R8zG!&b!bta}g-eKJtfR-4KmSglg4J3p#5*i(Xj9r;xPZ6 zSbH^vwCz9oaXTS?LzPG1_V^;;eQo?C7OpXsZ%Dq8Nd7G~f@xzzr_EBGTV^(NuCO}f z+6_Uh)T%B}fz`aPg>#G(%ar~k_yd)0Yc!*hb5Datb&q;y)boAYB@cQh=6n@l(q$WX z>(Tt~iOGM&+K-}MwaK2x%fYeJRcc0{dLt;ty`OtUmcWW5uZt zoQ&@|+lW#nmr)~^(HJ{raeRx)I%R=rJ|m>DcE8~*zm~a1dx7>Fr2Pc%W-^NzstBqt zgUwp~_?=SkW-_W@L#r21{T3ZPu&NJMxKRD!1ywJ$wT8LojPDGSA((EENJnGs>(v@s zJX%PRrYp{WnykK2GB*^)WTD+yFY1+r_&Vvgzc(tE8n)$VhbO-Go22)X5X}ZS`sLd zYiL-w%pm%UFt4$)moA$!PjSm@sTD^`lcr0tI`b8B)uQs1waJYKbf)(MH!b>45KN1v zGo5K8)qYi*%eF;t{7*WQ?MF@{&i{nb#V_TVQYZb8Xig2fhIgzPKXXGvGH^t`zhRcw z4Q{NGt{EF@oemwtblDfI*U9Ke?VM_&PxOBvTjcDLM5it8;pKjD6Df`;QUjASYc=a3 ziR2rpw|)eNm|Y%`qe;C?M(i-#zn(mi{xu}^LUYJVZQ`f@(0;SxR)2(Rtg~Z@h1PI8 zt5av&a#Q2)gJ!V^m+<2*Y2=KT9f-wv$;v0ArP?Ub`6bOr6Uj)NVNyx`BPpQ%nGy46 zBn}ucFXk;JrYY|qaKu~bq!Lr&8mU@k!2Fn_a6s2acY{dIS;(e#$o@u6Dv9m42$hq6xb?()rZEw2e1PzrM zM~x3`R1kr4oD{ElOln{SyMJgR*?>O;FnJVtg5b&kUALMhYyiQhv2sel?MG_KXRW z6=-xrFK@fjTo=T7`yB3HwtOkH~_)t|< zYz_Qr;DLVo9>gJ8ekRzs+-La~j0!~>gMgbJrEeJ)81C+yk#UX%B8^Bq6KIsWfyVI? z`(qytd-6%%sHa9fZw7yBa>OTdWX??r4NP>{EUk4|tts+IU@Wa%)f2mK=H877no@@! zkIy>C!~{*U-R4;7VuPP=s9AH)800&tYg$Z2t&U7ca5}H@)BvL9E)){{=@wr{C(|wk zboBU*866b}337DgLnn?Zg z0_>)KCOSvQ(`6-)N`YH}6dHk-e%@E$+aMGefv0{Z zqrd_qu&cn#030Y{{y*#htozim@AxC)Cn(Siz|-Uc)LFFLv4m@aYZq4yz@-|1)oC$K z6~g$dCJCx8>w6jNGo!Cxo*8{jS=B*V&(5ZDcl2nOD>VAf{$AebJC%&sVHuS+s5qn2 zqb6e3XQj@+A!OY~>ZIXh#8V$9qyHph3&$HJhvp2#cb21UY^d+tNdg~?0<8-CS*CtfUO4<4j8b%+v2zU^8*gpo1hB@>@L#5 zfUSlJB4FiZ25j3#bK}i&fTB=Cok<)cpWmzjdrpEer4@)BZJr{f(M296c1k49sBJws z{((C66*Dv@I)B^?I0$pv-b=S65}k=sGaAQAnbR`n=M3Hqk7gci`lOxLJ_LtgUR#}- zb`0ZHli}_2f!+@MHQLmv_NTdOB}=c}SVPYMQNyTuq9JCmOPAenbJXiQQumlk7kK{I zdJ+5Q^8L!Pwf(Vx)Zgfj>q_obd#No`dnw(o{UK&VwVs8LOhLozKy!iyjkwjRd)~(a z=HuA8*FOeD8S7FIN34(#nXEX6%pz;JtMTw-$&Kl<@63vNOpMcv39t9fgO@W_{REiY z$Ot4VG*(>#+>BN8(L(`0yz5gLH&S4%qNV-8DiU|cszY$<+9XKGa%xl=W}^fTb^J6j zI#2EUJ@pbsjf|mOBX(mDNdloo{E!28Xh*aS%!f=}TBgb!YUbol%@%&nug9OLDD|jI z?yYT0XJfRzOiJE)+Sa9l^dJ2+;pWW2k8|@@ZS3}O-n80{@}cI-~Ne2|1(k_1tECZmeA| zz%irpV-VR<`C792v`X((Z7Wdb?fyL3#Be{{en5<8RpiHbeZYf$-gg}Hp6_mK z|IZHcr%`|g`N@>)5Auq=(q$*8G8Wq(%~eY3zVT*|Pm%Vsl}xphZ3cM`s-(+4Xrvx^ zlz*5vt(yiJV3ePCU8X?_jPh=S95~AVz!~MA_@+O~UqXS|QC=0%D8HPmMtS4+Dp_b| zkeBZ>vus=dqx>eJWc=tmseLyNG|GQ6D68)#DmU;b|JD28P~pt6=PARVbgQ$aZX$z8 zx9yu(n!cGXyBn_k7tkP9^ClKBnm?44S7L#4uC=j1bLxG=Oe`>xjGS2DFLfpsI7<14 zr;3EnK(B|evv!#i3$*g^r%*aN2?Jhe;^&Y2WMcuPYA?N*8R)wSPG_|3#UM0u9U`Ke zDNTV0r*h2UsH@i{+SV~G_0LaT-Srr@y)=?Y$B2tFh3d4{)qSgY<~@;ImqnR9 zIMrqHUP@I{SWv5=K5c7d2yV!I1Vv^-?t8}ObnZL3B{nz1T%poGMoHAQ|A?T%Hd4PZ zhYX2^fT!wzpD#V9Zn_3#XX7oYxuNqGHWFr*)~DtEV#n8D)b9;y8QQS$)8sv!+W%?@ z`q%pV5^bMg7zHO?cEyeA;J4!D(cP_d&U$48?T|gk_EECgxS3}Djf@@NuKIg$Z8@TT z;S6)WEA?&o*C%&c{dtScniV0QgZ`*p(&rjc<=6d>} zoW4@-Wfl6prc}QtuO>$K*1tFN^v%M0Z{}G$z*;}=_Llf+ey7H_t-o#NPX5;Mw~xQy z@b^4_f9$C}Yyay#wa4xHYftU%%{zY9Q#;T6!ltM8@Lm5 zb;o(H`X!yde^<|SW#0at>kjwc@ymht`k(B2YW@6K&%JN`+q2#*UO!)q&&n_!48Slh z7UO4oYHw?P{!IP8c(;DLP5Sk_*PldzNd2ynI{h=1`yIO6+xnmEe}4Vr`(Ipt&;A`f*I!k=ZV(M$)bq-1XHKgb)bq-x#{Y5D z`u(?G-Pp74rt0Sgk-W5`=atjP|Na9?HutExVKw|^sn0=R`}QR$|V-}-Y$DL z{wd*nrB`=<`RBauL|bzeX9m89YKcyP}AE>Q;TOH*f;gmub5ay7F+sb#}@j%mi`ze=jE&{5@eP#~5^oL@pnd7Q%X57e4Kq<@{g+G1xX`xlKHl{WlVsp=(~tZ-^? z@W?jRo7q8P;py8rWF@I;%<13M_r76k%-pCY-e_tpoyig&qE6`Eor8q>|PhrTJ%*nfJon6emiQm3;% z(zg?H&epTWn|*ixw@mdlQ`!49qOij=w|(3agK_-V$~D@^HAI5Ku4oHiIJYobX^4US z{dxkluyRdP-OXECh5F*NxY_Ss77Qx?uDy<~|DUwidriA#>{ajc$hFtM-gAJx>d<$# z^&-^H*lX(n_WI^^w)Hahno@>Q!dF-^2--2nUf+dz#$GwM`fu3lNbFTc8=C#$+O^E% zy#6P$jXBwy-QM46?+xD-fdPLn$AE8Y%^L8l^c=^4U*^oZx@^XPTTabZf3T{g?kbzk zHQv8pYaSplmXl+|e*q9w-ZA3A|E3YYc5h(BhftOy3UT>VUyZPpJtL?-*8cI_?0tL-dg<_<4c!y1}w)HV0qUX!}3u0 z%rZ%@PYdg9d!x4;iyu5}3np}Z$(Is?p5yKV+{GS_l=hdbHg0j@;jciWg(_Bbf}zc9 zxCD-3@P1zNBABcmmtV>bk9tf(<6H-Msh{8`wU*i_uRqyXxzQN@zvW}u?z7=)r~8

    =+2*HaO0nO-BC^`1ipo~Anaj9lEcYdzT53qX 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 z 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

    rbhnN9cDoI>pGCi+{gUnGr%lTa&|cxc(A-Eo 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%0Dg_C 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 z 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∋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 literal 0 HcmV?d00001 diff --git a/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json new file mode 100644 index 0000000..9a7465e --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2-linux-x64-musl/package.json @@ -0,0 +1,42 @@ +{ + "name": "@node-rs/argon2-linux-x64-musl", + "version": "2.2.2", + "cpu": [ + "x64" + ], + "main": "argon2.linux-x64-musl.node", + "files": [ + "argon2.linux-x64-musl.node" + ], + "description": "argon2-rust binding for Node.js", + "keywords": [ + "argon2", + "argon2-password", + "crypto", + "encryption", + "hash", + "hashing", + "password", + "secure", + "verify" + ], + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ] +} diff --git a/apps/api/.output/node_modules/@node-rs/argon2/LICENSE b/apps/api/.output/node_modules/@node-rs/argon2/LICENSE new file mode 100644 index 0000000..6404653 --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020-present LongYinan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/api/.output/node_modules/@node-rs/argon2/README.md b/apps/api/.output/node_modules/@node-rs/argon2/README.md new file mode 100644 index 0000000..e15c0ac --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/README.md @@ -0,0 +1,166 @@ +# `@node-rs/argon2` + +![](https://github.com/napi-rs/node-rs/workflows/CI/badge.svg) +![](https://img.shields.io/npm/dm/@node-rs/argon2.svg?sanitize=true) + +[argon2-rust](https://crates.io/crates/argon2-rust) binding for Node.js. + +Argon2 is a [key derivation function](https://en.wikipedia.org/wiki/Key_derivation_function) that was selected as the winner of the [Password Hashing Competition(PHC)](https://password-hashing.net) in July 2015. + +Argon2 summarizes the state of the art in the design of memory-hard functions and can be used to hash passwords for credential storage, key derivation, or other applications. + +It has a simple design aimed at the highest memory filling rate and effective use of multiple computing units, while still providing defense against tradeoff attacks (by exploiting the cache and memory organization of the recent processors). + +## Features + +- Faster than node-argon2 and `node:crypto.argon2` at the same m/t/p (see Benchmarks). +- No node-gyp and postinstall. +- Cross-platform support, including [Apple M1](https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/). +- Smaller file size after npm installation(476K vs [node-argon2](https://github.com/ranisalt/node-argon2) 3.7M). +- `@node-rs/argon2` supports all three algorithms: + - Argon2i: Optimizes against GPU cracking attacks but vulnerable to side-channels. + Accesses the memory array in a password dependent order, reducing the possibility of time–memory tradeoff (TMTO) attacks. + - Argon2d: Optimized to resist side-channel attacks. + Accesses the memory array in a password independent order, increasing the possibility of time-memory tradeoff (TMTO) attacks. + - **Argon2id**: default value, this is the default algorithm for normative recommendations. + Hybrid that mixes Argon2i and Argon2d passes. + Uses the Argon2i approach for the first half pass over memory and Argon2d approach for subsequent passes. This effectively places it in the “middle” between the other two: it doesn’t provide as good TMTO/GPU cracking resistance as Argon2d, nor as good of side-channel resistance as Argon2i, but overall provides the most well-rounded approach to both classes of attacks. + +# Benchmarks + +Comparing each library's **defaults** is not 1:1. `@node-rs/argon2` defaults to `m=19456,t=2,p=1`; `argon2` (node-argon2) defaults to `m=65536,t=3,p=4`. See [#841](https://github.com/napi-rs/node-rs/issues/841). + +This bench pins the same password, salt, Argon2id v=19, m, t, p, and 32-byte tag. Only the **raw** KDF is timed. The tag is asserted equal on every run. Native impls are interleaved with each other; JS/wasm are a separate group so a 7 ms hash is not timed after a 400 ms JS loop. + +Apple M5 Max / arm64 / Node 24 / [argon2-rust 1.1.0](https://crates.io/crates/argon2-rust). Median ms. See [benchmark/](benchmark/argon2.ts). + +**Native async raw** — same calling shape as node-argon2 (no sync API there): + +| params | @node-rs/argon2 | node-argon2 | node:crypto | +| --------------------- | --------------: | ----------: | ----------: | +| m=19456 KiB, t=2, p=1 | **7.58** | 15.41 | 13.05 | +| m=65536 KiB, t=3, p=1 | **49.35** | 84.57 | 71.71 | +| m=65536 KiB, t=3, p=4 | **13.62** | 22.54 | 20.83 | + +**JS / wasm raw** — same params, same tags: + +| params | hash-wasm | @noble/hashes | +| --------------------- | --------: | ------------: | +| m=19456 KiB, t=2, p=1 | 19.79 | 86.14 | +| m=65536 KiB, t=3, p=1 | 104.09 | 433.07 | +| m=65536 KiB, t=3, p=4 | 106.06 | 435.39 | + +hash-wasm and `@noble/hashes` do not run lanes in parallel, so their p=4 row is the p=1 work. + +## API + +```typescript +export const enum Algorithm { + Argon2d = 0, + Argon2i = 1, + Argon2id = 2, +} +export const enum Version { + /** Version 16 (0x10 in hex) */ + V0x10 = 0, + /** + * Default value + * Version 19 (0x13 in hex, default) + */ + V0x13 = 1, +} +export interface Options { + /** + * The amount of memory to be used by the hash function, in kilobytes. Each thread will have a memory pool of this size. Note that large values for highly concurrent usage will cause starvation and thrashing if your system memory gets full. + * + * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1. + * + * The default value is 19456, meaning a pool of 19 MiB per thread. + */ + memoryCost?: number | undefined | null + /** + * The time cost is the amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute. + * + * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1. + * + * The default value is 2. + */ + timeCost?: number | undefined | null + /** + * The hash length is the length of the hash function output in bytes. Note that the resulting hash is encoded with Base 64, so the digest will be ~1/3 longer. + * + * The default value is 32, which produces raw hashes of 32 bytes or digests of 43 characters. + */ + outputLen?: number | undefined | null + /** + * The amount of threads to compute the hash on. Each thread has a memory pool with memoryCost size. Note that changing it also changes the resulting hash. + * + * Value is an integer in decimal (1 to 3 digits), between 1 and 255. + * + * The default value is 1, meaning a single thread is used. + */ + parallelism?: number | undefined | null + algorithm?: Algorithm | undefined | null + version?: Version | undefined | null + secret?: Buffer | undefined | null +} +export function hash( + password: string | Buffer, + options?: Options | undefined | null, + abortSignal?: AbortSignal | undefined | null, +): Promise +export function verify( + hashed: string | Buffer, + password: string | Buffer, + options?: Options | undefined | null, + abortSignal?: AbortSignal | undefined | null, +): Promise +``` + +## `parseOptions` — needs-rehash checks + +`parseOptions` parses an encoded PHC hash string and returns the parameters it was created with. Compare them against your current policy to decide whether a stored hash should be rehashed at next login. + +```typescript +import { Algorithm, parseOptions, Version } from '@node-rs/argon2' + +const POLICY = { + algorithm: Algorithm.Argon2id, + version: Version.V0x13, + memoryCost: 19456, + timeCost: 2, + parallelism: 1, + outputLen: 32, +} as const + +function needsRehash(hashed: string): boolean { + const parsed = parseOptions(hashed) + return ( + parsed.algorithm !== POLICY.algorithm || + parsed.version !== POLICY.version || + parsed.memoryCost !== POLICY.memoryCost || + parsed.timeCost !== POLICY.timeCost || + parsed.parallelism !== POLICY.parallelism || + parsed.outputLen !== POLICY.outputLen || + parsed.saltLen < 16 + ) +} +``` + +```typescript +export interface ParsedHashOptions { + algorithm: Algorithm + version: Version + /** Memory cost in kibibytes (`m=` in the PHC string). */ + memoryCost: number + /** Time cost / number of passes (`t=` in the PHC string). */ + timeCost: number + /** Degree of parallelism (`p=` in the PHC string). */ + parallelism: number + /** Length of the raw hash output in bytes. */ + outputLen: number + /** Byte length of the decoded salt. This package generates 16-byte salts; older hashes may carry shorter ones. */ + saltLen: number +} +export function parseOptions(hashed: string | Uint8Array): ParsedHashOptions +``` diff --git a/apps/api/.output/node_modules/@node-rs/argon2/browser.js b/apps/api/.output/node_modules/@node-rs/argon2/browser.js new file mode 100644 index 0000000..3175b79 --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/browser.js @@ -0,0 +1 @@ +export * from '@node-rs/argon2-wasm32-wasi' diff --git a/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts b/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts new file mode 100644 index 0000000..2d5d2bd --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/index.d.ts @@ -0,0 +1,104 @@ +/* auto-generated by NAPI-RS */ +/* eslint-disable */ +export declare const enum Algorithm { + /** + * Optimizes against GPU cracking attacks but vulnerable to side-channels. + * Accesses the memory array in a password dependent order, reducing the possibility of time–memory tradeoff (TMTO) attacks. + */ + Argon2d = 0, + /** + * Optimized to resist side-channel attacks. + * Accesses the memory array in a password independent order, increasing the possibility of time-memory tradeoff (TMTO) attacks. + */ + Argon2i = 1, + /** + * Default value, this is the default algorithm for normative recommendations. + * Hybrid that mixes Argon2i and Argon2d passes. + * Uses the Argon2i approach for the first half pass over memory and Argon2d approach for subsequent passes. This effectively places it in the “middle” between the other two: it doesn’t provide as good TMTO/GPU cracking resistance as Argon2d, nor as good of side-channel resistance as Argon2i, but overall provides the most well-rounded approach to both classes of attacks. + */ + Argon2id = 2 +} + +export declare function hash(password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise + +export declare function hashRaw(password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise + +export declare function hashRawSync(password: string | Uint8Array, options?: Options | undefined | null): Buffer + +export declare function hashSync(password: string | Uint8Array, options?: Options | undefined | null): string + +export interface Options { + /** + * The amount of memory to be used by the hash function, in kilobytes. Each thread will have a memory pool of this size. Note that large values for highly concurrent usage will cause starvation and thrashing if your system memory gets full. + * + * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1. + * + * The default value is 19456, meaning a pool of 19 MiB per thread. + */ + memoryCost?: number + /** + * The time cost is the amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute. + * + * Value is an integer in decimal (1 to 10 digits), between 1 and (2^32)-1. + * + * The default value is 2. + */ + timeCost?: number + /** + * The hash length is the length of the hash function output in bytes. Note that the resulting hash is encoded with Base 64, so the digest will be ~1/3 longer. + * + * The default value is 32, which produces raw hashes of 32 bytes or digests of 43 characters. + */ + outputLen?: number + /** + * The amount of threads to compute the hash on. Each thread has a memory pool with memoryCost size. Note that changing it also changes the resulting hash. + * + * Value is an integer in decimal (1 to 3 digits), between 1 and 255. + * + * The default value is 1, meaning a single thread is used. + */ + parallelism?: number + algorithm?: Algorithm + version?: Version + secret?: Uint8Array + salt?: Uint8Array +} + +export interface ParsedHashOptions { + algorithm: Algorithm + version: Version + /** Memory cost in kibibytes (`m=` in the PHC string). */ + memoryCost: number + /** Time cost / number of passes (`t=` in the PHC string). */ + timeCost: number + /** Degree of parallelism (`p=` in the PHC string). */ + parallelism: number + /** Length of the raw hash output in bytes. */ + outputLen: number + /** + * Byte length of the decoded salt. This package generates 16-byte salts; + * older hashes may carry shorter ones. + */ + saltLen: number +} + +/** + * Parses an encoded argon2 hash string (PHC format) and returns the parameters + * it was created with. Useful for "needs rehash" checks: compare the returned + * parameters against your current policy and rehash when they differ. + */ +export declare function parseOptions(hashed: string | Uint8Array): ParsedHashOptions + +export declare function verify(hashed: string | Uint8Array, password: string | Uint8Array, options?: Options | undefined | null, abortSignal?: AbortSignal | undefined | null): Promise + +export declare function verifySync(hashed: string | Uint8Array, password: string | Uint8Array, options?: Options | undefined | null): boolean + +export declare const enum Version { + /** Version 16 (0x10 in hex) */ + V0x10 = 0, + /** + * Default value + * Version 19 (0x13 in hex) + */ + V0x13 = 1 +} diff --git a/apps/api/.output/node_modules/@node-rs/argon2/index.js b/apps/api/.output/node_modules/@node-rs/argon2/index.js new file mode 100644 index 0000000..22026da --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/index.js @@ -0,0 +1,711 @@ +// prettier-ignore +/* eslint-disable */ +// @ts-nocheck +/* auto-generated by NAPI-RS */ + +const { readFileSync } = require('fs') +let nativeBinding = null +const loadErrors = [] + +const isMusl = () => { + let musl = false + if (process.platform === 'linux') { + musl = isMuslFromFilesystem() + if (musl === null) { + musl = isMuslFromReport() + } + if (musl === null) { + musl = isMuslFromChildProcess() + } + } + return musl +} + +const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-') + +const isMuslFromFilesystem = () => { + try { + return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl') + } catch { + return null + } +} + +const isMuslFromReport = () => { + let report = null + if (process.report && typeof process.report.getReport === 'function') { + process.report.excludeNetwork = true + report = process.report.getReport() + } + if (!report) { + return null + } + if (report.header && report.header.glibcVersionRuntime) { + return false + } + if (Array.isArray(report.sharedObjects)) { + if (report.sharedObjects.some(isFileMusl)) { + return true + } + } + return false +} + +const isMuslFromChildProcess = () => { + try { + return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl') + } catch (e) { + // If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false + return false + } +} + +function requireNative() { + if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) { + try { + return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH); + } catch (err) { + loadErrors.push(err) + } + } else if (process.platform === 'android') { + if (process.arch === 'arm64') { + try { + return require('./argon2.android-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-android-arm64') + const bindingPackageVersion = require('@node-rs/argon2-android-arm64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm') { + try { + return require('./argon2.android-arm-eabi.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-android-arm-eabi') + const bindingPackageVersion = require('@node-rs/argon2-android-arm-eabi/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`)) + } + } else if (process.platform === 'win32') { + if (process.arch === 'x64') { + if ((process.config && process.config.variables && process.config.variables.shlib_suffix === 'dll.a') || (process.config && process.config.variables && process.config.variables.node_target_type === 'shared_library')) { + try { + return require('./argon2.win32-x64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-win32-x64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-win32-x64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.win32-x64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-win32-x64-msvc') + const bindingPackageVersion = require('@node-rs/argon2-win32-x64-msvc/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'ia32') { + try { + return require('./argon2.win32-ia32-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-win32-ia32-msvc') + const bindingPackageVersion = require('@node-rs/argon2-win32-ia32-msvc/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./argon2.win32-arm64-msvc.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-win32-arm64-msvc') + const bindingPackageVersion = require('@node-rs/argon2-win32-arm64-msvc/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`)) + } + } else if (process.platform === 'darwin') { + try { + return require('./argon2.darwin-universal.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-darwin-universal') + const bindingPackageVersion = require('@node-rs/argon2-darwin-universal/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + if (process.arch === 'x64') { + try { + return require('./argon2.darwin-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-darwin-x64') + const bindingPackageVersion = require('@node-rs/argon2-darwin-x64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./argon2.darwin-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-darwin-arm64') + const bindingPackageVersion = require('@node-rs/argon2-darwin-arm64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`)) + } + } else if (process.platform === 'freebsd') { + if (process.arch === 'x64') { + try { + return require('./argon2.freebsd-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-freebsd-x64') + const bindingPackageVersion = require('@node-rs/argon2-freebsd-x64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm64') { + try { + return require('./argon2.freebsd-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-freebsd-arm64') + const bindingPackageVersion = require('@node-rs/argon2-freebsd-arm64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`)) + } + } else if (process.platform === 'linux') { + if (process.arch === 'x64') { + if (isMusl()) { + try { + return require('./argon2.linux-x64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-x64-musl') + const bindingPackageVersion = require('@node-rs/argon2-linux-x64-musl/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.linux-x64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-x64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-x64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'arm64') { + if (isMusl()) { + try { + return require('./argon2.linux-arm64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-arm64-musl') + const bindingPackageVersion = require('@node-rs/argon2-linux-arm64-musl/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.linux-arm64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-arm64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-arm64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'arm') { + if (isMusl()) { + try { + return require('./argon2.linux-arm-musleabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-arm-musleabihf') + const bindingPackageVersion = require('@node-rs/argon2-linux-arm-musleabihf/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.linux-arm-gnueabihf.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-arm-gnueabihf') + const bindingPackageVersion = require('@node-rs/argon2-linux-arm-gnueabihf/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'loong64') { + if (isMusl()) { + try { + return require('./argon2.linux-loong64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-loong64-musl') + const bindingPackageVersion = require('@node-rs/argon2-linux-loong64-musl/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.linux-loong64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-loong64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-loong64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'riscv64') { + if (isMusl()) { + try { + return require('./argon2.linux-riscv64-musl.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-riscv64-musl') + const bindingPackageVersion = require('@node-rs/argon2-linux-riscv64-musl/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + try { + return require('./argon2.linux-riscv64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-riscv64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-riscv64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } + } else if (process.arch === 'ppc64') { + try { + return require('./argon2.linux-ppc64-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-ppc64-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-ppc64-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 's390x') { + try { + return require('./argon2.linux-s390x-gnu.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-linux-s390x-gnu') + const bindingPackageVersion = require('@node-rs/argon2-linux-s390x-gnu/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`)) + } + } else if (process.platform === 'openharmony') { + if (process.arch === 'arm64') { + try { + return require('./argon2.openharmony-arm64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-openharmony-arm64') + const bindingPackageVersion = require('@node-rs/argon2-openharmony-arm64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'x64') { + try { + return require('./argon2.openharmony-x64.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-openharmony-x64') + const bindingPackageVersion = require('@node-rs/argon2-openharmony-x64/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else if (process.arch === 'arm') { + try { + return require('./argon2.openharmony-arm.node') + } catch (e) { + loadErrors.push(e) + } + try { + const binding = require('@node-rs/argon2-openharmony-arm') + const bindingPackageVersion = require('@node-rs/argon2-openharmony-arm/package.json').version + if (bindingPackageVersion !== '2.1.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + throw new Error(`Native binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + return binding + } catch (e) { + loadErrors.push(e) + } + } else { + loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`)) + } + } else { + loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`)) + } +} + +function createLoadErrorChain(errors) { + return errors.reduce((previous, current) => { + let message + try { + message = + current && typeof current.message === 'string' + ? current.message + : String(current) + } catch { + message = 'Unknown error' + } + const error = new Error(message) + error.cause = previous + return error + }, null) +} + +// NAPI_RS_FORCE_WASI is a tri-state flag: +// unset / any other value → native binding preferred, WASI is only a fallback +// 'true' → prefer WASI, but retain native as a lazy fallback +// 'error' → require WASI without initializing a native fallback +// Treating any non-empty string as truthy (the historical behavior) meant +// NAPI_RS_FORCE_WASI=false, NAPI_RS_FORCE_WASI=0, etc. inadvertently triggered +// the WASI path, causing ENOENT for packages shipped without a .wasi.cjs file. +// +// NAPI_RS_WASI_FLAVOR selects one exact generated flavor and implies strict +// WASI loading. It never crosses into another flavor or falls back to native. +const __napiWasiFlavors = ["wasm32-wasi"] +const __napiWasiFlavor = process.env.NAPI_RS_WASI_FLAVOR +const __napiWasiFlavorRequested = + typeof __napiWasiFlavor === 'string' && __napiWasiFlavor.length > 0 +if ( + __napiWasiFlavorRequested && + __napiWasiFlavors.indexOf(__napiWasiFlavor) === -1 +) { + throw new Error( + 'Unsupported WASI flavor "' + + __napiWasiFlavor + + '". Available flavors: ' + + __napiWasiFlavors.join(', '), + ) +} +const forceWasiError = process.env.NAPI_RS_FORCE_WASI === 'error' +const forceWasi = + process.env.NAPI_RS_FORCE_WASI === 'true' || + forceWasiError || + __napiWasiFlavorRequested + +if (!forceWasi) { + nativeBinding = requireNative() +} + +if (!nativeBinding || forceWasi) { + let wasiBinding = null + let wasiBindingLoaded = false + const wasiBindingErrors = [] + const __napiWasiResolveCandidate = (specifier, isPackage, localArtifacts) => { + try { + require.resolve(specifier) + } catch (resolveError) { + if (!resolveError || resolveError.code !== 'MODULE_NOT_FOUND') { + throw resolveError + } + if (isPackage) { + try { + require.resolve(specifier + '/package.json') + } catch (packageError) { + if (packageError && packageError.code === 'MODULE_NOT_FOUND') { + return resolveError + } + // An exports restriction proves the package exists even when its + // package.json is not public. Preserve the root resolution failure. + throw resolveError + } + // The package exists but its main/export target is broken. + throw resolveError + } + return resolveError + } + if (localArtifacts) { + let artifactError = null + for (let i = 0; i < localArtifacts.length; i++) { + try { + require.resolve(localArtifacts[i]) + return null + } catch (resolveError) { + if (!resolveError || resolveError.code !== 'MODULE_NOT_FOUND') { + throw resolveError + } + artifactError = resolveError + } + } + return artifactError + } + return null + } + if (!wasiBindingLoaded && (!__napiWasiFlavorRequested || __napiWasiFlavor === "wasm32-wasi")) { + let candidateError = null + let candidateFailed = false + try { + candidateError = __napiWasiResolveCandidate('./argon2.wasi.cjs', false, ["./argon2.wasm32-wasi.debug.wasm","./argon2.wasm32-wasi.wasm"]) + candidateFailed = candidateError !== null + if (!candidateFailed) { + wasiBinding = require('./argon2.wasi.cjs') + nativeBinding = wasiBinding + wasiBindingLoaded = true + } + } catch (err) { + candidateError = err + candidateFailed = true + } + if (candidateFailed) { + wasiBindingErrors.push(candidateError) + loadErrors.push(candidateError) + } + } + if (!wasiBindingLoaded && (!__napiWasiFlavorRequested || __napiWasiFlavor === "wasm32-wasi")) { + let candidateError = null + let candidateFailed = false + try { + candidateError = __napiWasiResolveCandidate('@node-rs/argon2-wasm32-wasi', true, undefined) + candidateFailed = candidateError !== null + if (!candidateFailed) { + if (process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') { + const bindingPackageVersion = require('@node-rs/argon2-wasm32-wasi/package.json').version + if (bindingPackageVersion !== '2.1.0') { + throw new Error(`WASI binding package version mismatch, expected 2.1.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`) + } + } + wasiBinding = require('@node-rs/argon2-wasm32-wasi') + nativeBinding = wasiBinding + wasiBindingLoaded = true + } + } catch (err) { + candidateError = err + candidateFailed = true + } + if (candidateFailed) { + wasiBindingErrors.push(candidateError) + loadErrors.push(candidateError) + } + } + if ( + !wasiBindingLoaded && + forceWasi && + !forceWasiError && + !__napiWasiFlavorRequested + ) { + nativeBinding = requireNative() + } + if ((forceWasiError || __napiWasiFlavorRequested) && !wasiBindingLoaded) { + const error = new Error( + __napiWasiFlavorRequested + ? 'WASI binding for flavor "' + __napiWasiFlavor + '" not found' + : 'WASI binding not found and NAPI_RS_FORCE_WASI is set to error', + ) + error.cause = createLoadErrorChain(wasiBindingErrors) + throw error + } +} + +if (!nativeBinding) { + if (loadErrors.length > 0) { + const error = new Error( + `Cannot find native binding. ` + + `npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` + + 'Please try `npm i` again after removing both package-lock.json and node_modules directory.', + ) + // assign instead of the `new Error(message, { cause })` options form, + // which Node < 16.9 silently ignores + error.cause = createLoadErrorChain(loadErrors) + throw error + } + throw new Error(`Failed to load native binding`) +} + +module.exports = nativeBinding +module.exports.Algorithm = nativeBinding.Algorithm +module.exports.hash = nativeBinding.hash +module.exports.hashRaw = nativeBinding.hashRaw +module.exports.hashRawSync = nativeBinding.hashRawSync +module.exports.hashSync = nativeBinding.hashSync +module.exports.parseOptions = nativeBinding.parseOptions +module.exports.verify = nativeBinding.verify +module.exports.verifySync = nativeBinding.verifySync +module.exports.Version = nativeBinding.Version diff --git a/apps/api/.output/node_modules/@node-rs/argon2/package.json b/apps/api/.output/node_modules/@node-rs/argon2/package.json new file mode 100644 index 0000000..0b5f197 --- /dev/null +++ b/apps/api/.output/node_modules/@node-rs/argon2/package.json @@ -0,0 +1,95 @@ +{ + "name": "@node-rs/argon2", + "version": "2.2.2", + "description": "argon2-rust binding for Node.js", + "keywords": [ + "argon2", + "argon2-password", + "crypto", + "encryption", + "hash", + "hashing", + "password", + "secure", + "verify" + ], + "homepage": "https://github.com/napi-rs/node-rs", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/napi-rs/node-rs.git" + }, + "files": [ + "browser.js", + "index.d.ts", + "index.js" + ], + "main": "index.js", + "browser": "browser.js", + "types": "index.d.ts", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "scripts": { + "artifacts": "napi artifacts -d ../../artifacts", + "bench": "cross-env NODE_ENV=production node --import @oxc-node/core/register benchmark/argon2.ts", + "build": "oxnode ./build.ts --platform --release", + "build:debug": "oxnode ./build.ts --platform", + "prepublishOnly": "napi prepublish", + "version": "napi version" + }, + "devDependencies": { + "@napi-rs/cli": "^3.10.8", + "@noble/hashes": "^2.3.0", + "@oxc-node/cli": "^0.1.0", + "@oxc-node/core": "^0.1.0", + "argon2": "^0.45.1", + "cross-env": "^10.1.0", + "hash-wasm": "^4.12.0", + "tinybench": "^6.1.3" + }, + "napi": { + "binaryName": "argon2", + "targets": [ + "x86_64-apple-darwin", + "aarch64-apple-darwin", + "x86_64-pc-windows-msvc", + "x86_64-unknown-linux-gnu", + "aarch64-linux-android", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "aarch64-pc-windows-msvc", + "armv7-unknown-linux-gnueabihf", + "x86_64-unknown-linux-musl", + "x86_64-unknown-freebsd", + "i686-pc-windows-msvc", + "armv7-linux-androideabi", + "wasm32-wasip1-threads" + ], + "wasm": { + "browser": { + "fs": false + } + } + }, + "engines": { + "node": ">= 10" + }, + "gitHead": "b706e3035f5d4d487ae66ea0549a041cd509e5d4", + "optionalDependencies": { + "@node-rs/argon2-darwin-x64": "2.2.2", + "@node-rs/argon2-darwin-arm64": "2.2.2", + "@node-rs/argon2-win32-x64-msvc": "2.2.2", + "@node-rs/argon2-linux-x64-gnu": "2.2.2", + "@node-rs/argon2-android-arm64": "2.2.2", + "@node-rs/argon2-linux-arm64-gnu": "2.2.2", + "@node-rs/argon2-linux-arm64-musl": "2.2.2", + "@node-rs/argon2-win32-arm64-msvc": "2.2.2", + "@node-rs/argon2-linux-arm-gnueabihf": "2.2.2", + "@node-rs/argon2-linux-x64-musl": "2.2.2", + "@node-rs/argon2-freebsd-x64": "2.2.2", + "@node-rs/argon2-win32-ia32-msvc": "2.2.2", + "@node-rs/argon2-android-arm-eabi": "2.2.2" + } +} diff --git a/apps/api/.output/node_modules/detect-libc/LICENSE b/apps/api/.output/node_modules/detect-libc/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/apps/api/.output/node_modules/detect-libc/README.md b/apps/api/.output/node_modules/detect-libc/README.md new file mode 100644 index 0000000..23212fd --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/README.md @@ -0,0 +1,163 @@ +# detect-libc + +Node.js module to detect details of the C standard library (libc) +implementation provided by a given Linux system. + +Currently supports detection of GNU glibc and MUSL libc. + +Provides asychronous and synchronous functions for the +family (e.g. `glibc`, `musl`) and version (e.g. `1.23`, `1.2.3`). + +The version numbers of libc implementations +are not guaranteed to be semver-compliant. + +For previous v1.x releases, please see the +[v1](https://github.com/lovell/detect-libc/tree/v1) branch. + +## Install + +```sh +npm install detect-libc +``` + +## API + +### GLIBC + +```ts +const GLIBC: string = 'glibc'; +``` + +A String constant containing the value `glibc`. + +### MUSL + +```ts +const MUSL: string = 'musl'; +``` + +A String constant containing the value `musl`. + +### family + +```ts +function family(): Promise; +``` + +Resolves asychronously with: + +* `glibc` or `musl` when the libc family can be determined +* `null` when the libc family cannot be determined +* `null` when run on a non-Linux platform + +```js +const { family, GLIBC, MUSL } = require('detect-libc'); + +switch (await family()) { + case GLIBC: ... + case MUSL: ... + case null: ... +} +``` + +### familySync + +```ts +function familySync(): string | null; +``` + +Synchronous version of `family()`. + +```js +const { familySync, GLIBC, MUSL } = require('detect-libc'); + +switch (familySync()) { + case GLIBC: ... + case MUSL: ... + case null: ... +} +``` + +### version + +```ts +function version(): Promise; +``` + +Resolves asychronously with: + +* The version when it can be determined +* `null` when the libc family cannot be determined +* `null` when run on a non-Linux platform + +```js +const { version } = require('detect-libc'); + +const v = await version(); +if (v) { + const [major, minor, patch] = v.split('.'); +} +``` + +### versionSync + +```ts +function versionSync(): string | null; +``` + +Synchronous version of `version()`. + +```js +const { versionSync } = require('detect-libc'); + +const v = versionSync(); +if (v) { + const [major, minor, patch] = v.split('.'); +} +``` + +### isNonGlibcLinux + +```ts +function isNonGlibcLinux(): Promise; +``` + +Resolves asychronously with: + +* `false` when the libc family is `glibc` +* `true` when the libc family is not `glibc` +* `false` when run on a non-Linux platform + +```js +const { isNonGlibcLinux } = require('detect-libc'); + +if (await isNonGlibcLinux()) { ... } +``` + +### isNonGlibcLinuxSync + +```ts +function isNonGlibcLinuxSync(): boolean; +``` + +Synchronous version of `isNonGlibcLinux()`. + +```js +const { isNonGlibcLinuxSync } = require('detect-libc'); + +if (isNonGlibcLinuxSync()) { ... } +``` + +## Licensing + +Copyright 2017 Lovell Fuller and others. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0.html) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/apps/api/.output/node_modules/detect-libc/index.d.ts b/apps/api/.output/node_modules/detect-libc/index.d.ts new file mode 100644 index 0000000..4c0fb2b --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/index.d.ts @@ -0,0 +1,14 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +export const GLIBC: 'glibc'; +export const MUSL: 'musl'; + +export function family(): Promise; +export function familySync(): string | null; + +export function isNonGlibcLinux(): Promise; +export function isNonGlibcLinuxSync(): boolean; + +export function version(): Promise; +export function versionSync(): string | null; diff --git a/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js b/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js new file mode 100644 index 0000000..01299b4 --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/lib/detect-libc.js @@ -0,0 +1,313 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const childProcess = require('child_process'); +const { isLinux, getReport } = require('./process'); +const { LDD_PATH, SELF_PATH, readFile, readFileSync } = require('./filesystem'); +const { interpreterPath } = require('./elf'); + +let cachedFamilyInterpreter; +let cachedFamilyFilesystem; +let cachedVersionFilesystem; + +const command = 'getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true'; +let commandOut = ''; + +const safeCommand = () => { + if (!commandOut) { + return new Promise((resolve) => { + childProcess.exec(command, (err, out) => { + commandOut = err ? ' ' : out; + resolve(commandOut); + }); + }); + } + return commandOut; +}; + +const safeCommandSync = () => { + if (!commandOut) { + try { + commandOut = childProcess.execSync(command, { encoding: 'utf8' }); + } catch (_err) { + commandOut = ' '; + } + } + return commandOut; +}; + +/** + * A String constant containing the value `glibc`. + * @type {string} + * @public + */ +const GLIBC = 'glibc'; + +/** + * A Regexp constant to get the GLIBC Version. + * @type {string} + */ +const RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i; + +/** + * A String constant containing the value `musl`. + * @type {string} + * @public + */ +const MUSL = 'musl'; + +const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-'); + +const familyFromReport = () => { + const report = getReport(); + if (report.header && report.header.glibcVersionRuntime) { + return GLIBC; + } + if (Array.isArray(report.sharedObjects)) { + if (report.sharedObjects.some(isFileMusl)) { + return MUSL; + } + } + return null; +}; + +const familyFromCommand = (out) => { + const [getconf, ldd1] = out.split(/[\r\n]+/); + if (getconf && getconf.includes(GLIBC)) { + return GLIBC; + } + if (ldd1 && ldd1.includes(MUSL)) { + return MUSL; + } + return null; +}; + +const familyFromInterpreterPath = (path) => { + if (path) { + if (path.includes('/ld-musl-')) { + return MUSL; + } else if (path.includes('/ld-linux-')) { + return GLIBC; + } + } + return null; +}; + +const getFamilyFromLddContent = (content) => { + content = content.toString(); + if (content.includes('musl')) { + return MUSL; + } + if (content.includes('GNU C Library')) { + return GLIBC; + } + return null; +}; + +const familyFromFilesystem = async () => { + if (cachedFamilyFilesystem !== undefined) { + return cachedFamilyFilesystem; + } + cachedFamilyFilesystem = null; + try { + const lddContent = await readFile(LDD_PATH); + cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); + } catch (e) {} + return cachedFamilyFilesystem; +}; + +const familyFromFilesystemSync = () => { + if (cachedFamilyFilesystem !== undefined) { + return cachedFamilyFilesystem; + } + cachedFamilyFilesystem = null; + try { + const lddContent = readFileSync(LDD_PATH); + cachedFamilyFilesystem = getFamilyFromLddContent(lddContent); + } catch (e) {} + return cachedFamilyFilesystem; +}; + +const familyFromInterpreter = async () => { + if (cachedFamilyInterpreter !== undefined) { + return cachedFamilyInterpreter; + } + cachedFamilyInterpreter = null; + try { + const selfContent = await readFile(SELF_PATH); + const path = interpreterPath(selfContent); + cachedFamilyInterpreter = familyFromInterpreterPath(path); + } catch (e) {} + return cachedFamilyInterpreter; +}; + +const familyFromInterpreterSync = () => { + if (cachedFamilyInterpreter !== undefined) { + return cachedFamilyInterpreter; + } + cachedFamilyInterpreter = null; + try { + const selfContent = readFileSync(SELF_PATH); + const path = interpreterPath(selfContent); + cachedFamilyInterpreter = familyFromInterpreterPath(path); + } catch (e) {} + return cachedFamilyInterpreter; +}; + +/** + * Resolves with the libc family when it can be determined, `null` otherwise. + * @returns {Promise} + */ +const family = async () => { + let family = null; + if (isLinux()) { + family = await familyFromInterpreter(); + if (!family) { + family = await familyFromFilesystem(); + if (!family) { + family = familyFromReport(); + } + if (!family) { + const out = await safeCommand(); + family = familyFromCommand(out); + } + } + } + return family; +}; + +/** + * Returns the libc family when it can be determined, `null` otherwise. + * @returns {?string} + */ +const familySync = () => { + let family = null; + if (isLinux()) { + family = familyFromInterpreterSync(); + if (!family) { + family = familyFromFilesystemSync(); + if (!family) { + family = familyFromReport(); + } + if (!family) { + const out = safeCommandSync(); + family = familyFromCommand(out); + } + } + } + return family; +}; + +/** + * Resolves `true` only when the platform is Linux and the libc family is not `glibc`. + * @returns {Promise} + */ +const isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC; + +/** + * Returns `true` only when the platform is Linux and the libc family is not `glibc`. + * @returns {boolean} + */ +const isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC; + +const versionFromFilesystem = async () => { + if (cachedVersionFilesystem !== undefined) { + return cachedVersionFilesystem; + } + cachedVersionFilesystem = null; + try { + const lddContent = await readFile(LDD_PATH); + const versionMatch = lddContent.match(RE_GLIBC_VERSION); + if (versionMatch) { + cachedVersionFilesystem = versionMatch[1]; + } + } catch (e) {} + return cachedVersionFilesystem; +}; + +const versionFromFilesystemSync = () => { + if (cachedVersionFilesystem !== undefined) { + return cachedVersionFilesystem; + } + cachedVersionFilesystem = null; + try { + const lddContent = readFileSync(LDD_PATH); + const versionMatch = lddContent.match(RE_GLIBC_VERSION); + if (versionMatch) { + cachedVersionFilesystem = versionMatch[1]; + } + } catch (e) {} + return cachedVersionFilesystem; +}; + +const versionFromReport = () => { + const report = getReport(); + if (report.header && report.header.glibcVersionRuntime) { + return report.header.glibcVersionRuntime; + } + return null; +}; + +const versionSuffix = (s) => s.trim().split(/\s+/)[1]; + +const versionFromCommand = (out) => { + const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/); + if (getconf && getconf.includes(GLIBC)) { + return versionSuffix(getconf); + } + if (ldd1 && ldd2 && ldd1.includes(MUSL)) { + return versionSuffix(ldd2); + } + return null; +}; + +/** + * Resolves with the libc version when it can be determined, `null` otherwise. + * @returns {Promise} + */ +const version = async () => { + let version = null; + if (isLinux()) { + version = await versionFromFilesystem(); + if (!version) { + version = versionFromReport(); + } + if (!version) { + const out = await safeCommand(); + version = versionFromCommand(out); + } + } + return version; +}; + +/** + * Returns the libc version when it can be determined, `null` otherwise. + * @returns {?string} + */ +const versionSync = () => { + let version = null; + if (isLinux()) { + version = versionFromFilesystemSync(); + if (!version) { + version = versionFromReport(); + } + if (!version) { + const out = safeCommandSync(); + version = versionFromCommand(out); + } + } + return version; +}; + +module.exports = { + GLIBC, + MUSL, + family, + familySync, + isNonGlibcLinux, + isNonGlibcLinuxSync, + version, + versionSync +}; diff --git a/apps/api/.output/node_modules/detect-libc/lib/elf.js b/apps/api/.output/node_modules/detect-libc/lib/elf.js new file mode 100644 index 0000000..aa166aa --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/lib/elf.js @@ -0,0 +1,39 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const interpreterPath = (elf) => { + if (elf.length < 64) { + return null; + } + if (elf.readUInt32BE(0) !== 0x7F454C46) { + // Unexpected magic bytes + return null; + } + if (elf.readUInt8(4) !== 2) { + // Not a 64-bit ELF + return null; + } + if (elf.readUInt8(5) !== 1) { + // Not little-endian + return null; + } + const offset = elf.readUInt32LE(32); + const size = elf.readUInt16LE(54); + const count = elf.readUInt16LE(56); + for (let i = 0; i < count; i++) { + const headerOffset = offset + (i * size); + const type = elf.readUInt32LE(headerOffset); + if (type === 3) { + const fileOffset = elf.readUInt32LE(headerOffset + 8); + const fileSize = elf.readUInt32LE(headerOffset + 32); + return elf.subarray(fileOffset, fileOffset + fileSize).toString().replace(/\0.*$/g, ''); + } + } + return null; +}; + +module.exports = { + interpreterPath +}; diff --git a/apps/api/.output/node_modules/detect-libc/lib/filesystem.js b/apps/api/.output/node_modules/detect-libc/lib/filesystem.js new file mode 100644 index 0000000..4c2443c --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/lib/filesystem.js @@ -0,0 +1,51 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const fs = require('fs'); + +const LDD_PATH = '/usr/bin/ldd'; +const SELF_PATH = '/proc/self/exe'; +const MAX_LENGTH = 2048; + +/** + * Read the content of a file synchronous + * + * @param {string} path + * @returns {Buffer} + */ +const readFileSync = (path) => { + const fd = fs.openSync(path, 'r'); + const buffer = Buffer.alloc(MAX_LENGTH); + const bytesRead = fs.readSync(fd, buffer, 0, MAX_LENGTH, 0); + fs.close(fd, () => {}); + return buffer.subarray(0, bytesRead); +}; + +/** + * Read the content of a file + * + * @param {string} path + * @returns {Promise} + */ +const readFile = (path) => new Promise((resolve, reject) => { + fs.open(path, 'r', (err, fd) => { + if (err) { + reject(err); + } else { + const buffer = Buffer.alloc(MAX_LENGTH); + fs.read(fd, buffer, 0, MAX_LENGTH, 0, (_, bytesRead) => { + resolve(buffer.subarray(0, bytesRead)); + fs.close(fd, () => {}); + }); + } + }); +}); + +module.exports = { + LDD_PATH, + SELF_PATH, + readFileSync, + readFile +}; diff --git a/apps/api/.output/node_modules/detect-libc/lib/process.js b/apps/api/.output/node_modules/detect-libc/lib/process.js new file mode 100644 index 0000000..ee78ad2 --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/lib/process.js @@ -0,0 +1,24 @@ +// Copyright 2017 Lovell Fuller and others. +// SPDX-License-Identifier: Apache-2.0 + +'use strict'; + +const isLinux = () => process.platform === 'linux'; + +let report = null; +const getReport = () => { + if (!report) { + /* istanbul ignore next */ + if (isLinux() && process.report) { + const orig = process.report.excludeNetwork; + process.report.excludeNetwork = true; + report = process.report.getReport(); + process.report.excludeNetwork = orig; + } else { + report = {}; + } + } + return report; +}; + +module.exports = { isLinux, getReport }; diff --git a/apps/api/.output/node_modules/detect-libc/package.json b/apps/api/.output/node_modules/detect-libc/package.json new file mode 100644 index 0000000..36d0f2b --- /dev/null +++ b/apps/api/.output/node_modules/detect-libc/package.json @@ -0,0 +1,44 @@ +{ + "name": "detect-libc", + "version": "2.1.2", + "description": "Node.js module to detect the C standard library (libc) implementation family and version", + "main": "lib/detect-libc.js", + "files": [ + "lib/", + "index.d.ts" + ], + "scripts": { + "test": "semistandard && nyc --reporter=text --check-coverage --branches=100 ava test/unit.js", + "changelog": "conventional-changelog -i CHANGELOG.md -s", + "bench": "node benchmark/detect-libc", + "bench:calls": "node benchmark/call-familySync.js && sleep 1 && node benchmark/call-isNonGlibcLinuxSync.js && sleep 1 && node benchmark/call-versionSync.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/lovell/detect-libc.git" + }, + "keywords": [ + "libc", + "glibc", + "musl" + ], + "author": "Lovell Fuller ", + "contributors": [ + "Niklas Salmoukas ", + "Vinícius Lourenço " + ], + "license": "Apache-2.0", + "devDependencies": { + "ava": "^2.4.0", + "benchmark": "^2.1.4", + "conventional-changelog-cli": "^5.0.0", + "eslint-config-standard": "^13.0.1", + "nyc": "^15.1.0", + "proxyquire": "^2.1.3", + "semistandard": "^14.2.3" + }, + "engines": { + "node": ">=8" + }, + "types": "index.d.ts" +} diff --git a/apps/api/.output/node_modules/semver/LICENSE b/apps/api/.output/node_modules/semver/LICENSE new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/apps/api/.output/node_modules/semver/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/apps/api/.output/node_modules/semver/README.md b/apps/api/.output/node_modules/semver/README.md new file mode 100644 index 0000000..5e03abc --- /dev/null +++ b/apps/api/.output/node_modules/semver/README.md @@ -0,0 +1,680 @@ +semver(1) -- The semantic versioner for npm +=========================================== + +## Install + +```bash +npm install semver +```` + +## Usage + +As a node module: + +```js +const semver = require('semver') + +semver.valid('1.2.3') // '1.2.3' +semver.valid('a.b.c') // null +semver.clean(' =v1.2.3 ') // '1.2.3' +semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true +semver.gt('1.2.3', '9.8.7') // false +semver.lt('1.2.3', '9.8.7') // true +semver.minVersion('>=1.0.0') // '1.0.0' +semver.valid(semver.coerce('v2')) // '2.0.0' +semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' +``` + +You can also just load the module for the function that you care about if +you'd like to minimize your footprint. + +```js +// load the whole API at once in a single object +const semver = require('semver') + +// or just load the bits you need +// all of them listed here, just pick and choose what you want + +// classes +const SemVer = require('semver/classes/semver') +const Comparator = require('semver/classes/comparator') +const Range = require('semver/classes/range') + +// functions for working with versions +const semverParse = require('semver/functions/parse') +const semverValid = require('semver/functions/valid') +const semverClean = require('semver/functions/clean') +const semverInc = require('semver/functions/inc') +const semverDiff = require('semver/functions/diff') +const semverMajor = require('semver/functions/major') +const semverMinor = require('semver/functions/minor') +const semverPatch = require('semver/functions/patch') +const semverPrerelease = require('semver/functions/prerelease') +const semverCompare = require('semver/functions/compare') +const semverRcompare = require('semver/functions/rcompare') +const semverCompareLoose = require('semver/functions/compare-loose') +const semverCompareBuild = require('semver/functions/compare-build') +const semverSort = require('semver/functions/sort') +const semverRsort = require('semver/functions/rsort') +const semverTruncate = require('semver/functions/truncate') + +// low-level comparators between versions +const semverGt = require('semver/functions/gt') +const semverLt = require('semver/functions/lt') +const semverEq = require('semver/functions/eq') +const semverNeq = require('semver/functions/neq') +const semverGte = require('semver/functions/gte') +const semverLte = require('semver/functions/lte') +const semverCmp = require('semver/functions/cmp') +const semverCoerce = require('semver/functions/coerce') + +// working with ranges +const semverSatisfies = require('semver/functions/satisfies') +const semverMaxSatisfying = require('semver/ranges/max-satisfying') +const semverMinSatisfying = require('semver/ranges/min-satisfying') +const semverToComparators = require('semver/ranges/to-comparators') +const semverMinVersion = require('semver/ranges/min-version') +const semverValidRange = require('semver/ranges/valid') +const semverOutside = require('semver/ranges/outside') +const semverGtr = require('semver/ranges/gtr') +const semverLtr = require('semver/ranges/ltr') +const semverIntersects = require('semver/ranges/intersects') +const semverSimplifyRange = require('semver/ranges/simplify') +const semverRangeSubset = require('semver/ranges/subset') +``` + +As a command-line utility: + +``` +$ semver -h + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, prerelease, or release. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-n <0|1|false> + Base number for prerelease identifier (default: 0). + Use false to omit the number altogether. + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them. +``` + +## Versions + +A "version" is described by the `v2.0.0` specification found at +. + +A leading `"="` or `"v"` character is stripped off and ignored. +Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer +specification but should not be used anymore. + +## Ranges + +A `version range` is a set of `comparators` that specify versions +that satisfy the range. + +A `comparator` is composed of an `operator` and a `version`. The set +of primitive `operators` is: + +* `<` Less than +* `<=` Less than or equal to +* `>` Greater than +* `>=` Greater than or equal to +* `=` Equal. If no operator is specified, then equality is assumed, + so this operator is optional but MAY be included. + +For example, the comparator `>=1.2.7` would match the versions +`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` +or `1.1.0`. The comparator `>1` is equivalent to `>=2.0.0` and +would match the versions `2.0.0` and `3.1.0`, but not the versions +`1.0.1` or `1.1.0`. + +Comparators can be joined by whitespace to form a `comparator set`, +which is satisfied by the **intersection** of all of the comparators +it includes. + +A range is composed of one or more comparator sets, joined by `||`. A +version matches a range if and only if every comparator in at least +one of the `||`-separated comparator sets is satisfied by the version. + +For example, the range `>=1.2.7 <1.3.0` would match the versions +`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, +or `1.1.0`. + +The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, +`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. + +### Prerelease Tags + +If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then +it will only be allowed to satisfy comparator sets if at least one +comparator with the same `[major, minor, patch]` tuple also has a +prerelease tag. + +For example, the range `>1.2.3-alpha.3` would be allowed to match the +version `1.2.3-alpha.7`, but it would *not* be satisfied by +`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater +than" `1.2.3-alpha.3` according to the SemVer sort rules. The version +range only accepts prerelease tags on the `1.2.3` version. +Version `3.4.5` *would* satisfy the range because it does not have a +prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. + +The purpose of this behavior is twofold. First, prerelease versions +frequently are updated very quickly, and contain many breaking changes +that are (by the author's design) not yet fit for public consumption. +Therefore, by default, they are excluded from range-matching +semantics. + +Second, a user who has opted into using a prerelease version has +indicated the intent to use *that specific* set of +alpha/beta/rc versions. By including a prerelease tag in the range, +the user is indicating that they are aware of the risk. However, it +is still not appropriate to assume that they have opted into taking a +similar risk on the *next* set of prerelease versions. + +Note that this behavior can be suppressed (treating all prerelease +versions as if they were normal versions, for range-matching) +by setting the `includePrerelease` flag on the options +object to any +[functions](https://github.com/npm/node-semver#functions) that do +range matching. + +#### Prerelease Identifiers + +The method `.inc` takes an additional `identifier` string argument that +will append the value of the string as a prerelease identifier: + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta') +// '1.2.4-beta.0' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta +1.2.4-beta.0 +``` + +Which then can be used to increment further: + +```bash +$ semver 1.2.4-beta.0 -i prerelease +1.2.4-beta.1 +``` + +To get out of the prerelease phase, use the `release` option: + +```bash +$ semver 1.2.4-beta.1 -i release +1.2.4 +``` + +#### Prerelease Identifier Base + +The method `.inc` takes an optional parameter 'identifierBase' string +that will let you let your prerelease number as zero-based or one-based. +Set to `false` to omit the prerelease number altogether. +If you do not specify this parameter, it will default to zero-based. + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta', '1') +// '1.2.4-beta.1' +``` + +```javascript +semver.inc('1.2.3', 'prerelease', 'beta', false) +// '1.2.4-beta' +``` + +command-line example: + +```bash +$ semver 1.2.3 -i prerelease --preid beta -n 1 +1.2.4-beta.1 +``` + +```bash +$ semver 1.2.3 -i prerelease --preid beta -n false +1.2.4-beta +``` + +### Advanced Range Syntax + +Advanced range syntax desugars to primitive comparators in +deterministic ways. + +Advanced ranges may be combined in the same way as primitive +comparators using white space or `||`. + +#### Hyphen Ranges `X.Y.Z - A.B.C` + +Specifies an inclusive set. + +* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` + +If a partial version is provided as the first version in the inclusive +range, then the missing pieces are replaced with zeroes. + +* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` + +If a partial version is provided as the second version in the +inclusive range, then all versions that start with the supplied parts +of the tuple are accepted, but nothing that would be greater than the +provided tuple parts. + +* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0-0` +* `1.2.3 - 2` := `>=1.2.3 <3.0.0-0` + +#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` + +Any of `X`, `x`, or `*` may be used to "stand in" for one of the +numeric values in the `[major, minor, patch]` tuple. + +* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless + `includePrerelease` is specified, in which case any version at all + satisfies) +* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version) +* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions) + +A partial version range is treated as an X-Range, so the special +character is in fact optional. + +* `""` (empty string) := `*` := `>=0.0.0` +* `1` := `1.x.x` := `>=1.0.0 <2.0.0-0` +* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0-0` + +#### Tilde Ranges `~1.2.3` `~1.2` `~1` + +Allows patch-level changes if a minor version is specified on the +comparator. Allows minor-level changes if not. + +* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0-0` +* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0-0` (Same as `1.2.x`) +* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0-0` (Same as `1.x`) +* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0-0` +* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0-0` (Same as `0.2.x`) +* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0-0` (Same as `0.x`) +* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0-0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. + +#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` + +Allows changes that do not modify the left-most non-zero element in the +`[major, minor, patch]` tuple. In other words, this allows patch and +minor updates for versions `1.0.0` and above, patch updates for +versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. + +Many authors treat a `0.x` version as if the `x` were the major +"breaking-change" indicator. + +Caret ranges are ideal when an author may make breaking changes +between `0.2.4` and `0.3.0` releases, which is a common practice. +However, it presumes that there will *not* be breaking changes between +`0.2.4` and `0.2.5`. It allows for changes that are presumed to be +additive (but non-breaking), according to commonly observed practices. + +* `^1.2.3` := `>=1.2.3 <2.0.0-0` +* `^0.2.3` := `>=0.2.3 <0.3.0-0` +* `^0.0.3` := `>=0.0.3 <0.0.4-0` +* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0-0` Note that prereleases in + the `1.2.3` version will be allowed, if they are greater than or + equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but + `1.2.4-beta.2` would not, because it is a prerelease of a + different `[major, minor, patch]` tuple. +* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4-0` Note that prereleases in the + `0.0.3` version *only* will be allowed, if they are greater than or + equal to `beta`. So, `0.0.3-pr.2` would be allowed. + +When parsing caret ranges, a missing `patch` value desugars to the +number `0`, but will allow flexibility within that value, even if the +major and minor versions are both `0`. + +* `^1.2.x` := `>=1.2.0 <2.0.0-0` +* `^0.0.x` := `>=0.0.0 <0.1.0-0` +* `^0.0` := `>=0.0.0 <0.1.0-0` + +A missing `minor` and `patch` values will desugar to zero, but also +allow flexibility within those values, even if the major version is +zero. + +* `^1.x` := `>=1.0.0 <2.0.0-0` +* `^0.x` := `>=0.0.0 <1.0.0-0` + +### Range Grammar + +Putting all this together, here is a Backus-Naur grammar for ranges, +for the benefit of parser authors: + +```bnf +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= prepart ( '.' prepart ) * +prepart ::= nr | alphanumid +build ::= buildid ( '.' buildid ) * +alphanumid ::= ( ['0'-'9'] ) * [-A-Za-z] [-0-9A-Za-z] * +buildid ::= [-0-9A-Za-z]+ +``` + +Note: Prerelease identifiers (`pre`) use `nr` for numeric parts, which +disallows leading zeros (e.g., `1.2.3-00` is invalid). Build metadata +identifiers (`build`) allow any alphanumeric string including leading +zeros (e.g., `1.2.3+00` is valid). This matches the +[SemVer 2.0.0 specification](https://semver.org/#spec-item-9). + +## Functions + +All methods and classes take a final `options` object argument. All +options in this object are `false` by default. The options supported +are: + +- `loose`: Be more forgiving about not-quite-valid semver strings. + (Any resulting output will always be 100% strict compliant, of + course.) For backwards compatibility reasons, if the `options` + argument is a boolean value instead of an object, it is interpreted + to be the `loose` param. +- `includePrerelease`: Set to suppress the [default + behavior](https://github.com/npm/node-semver#prerelease-tags) of + excluding prerelease tagged versions from ranges unless they are + explicitly opted into. + +Strict-mode Comparators and Ranges will be strict about the SemVer +strings that they parse. + +* `valid(v)`: Return the parsed version, or null if it's not valid. +* `inc(v, releaseType, options, identifier, identifierBase)`: + Return the version incremented by the release + type (`major`, `premajor`, `minor`, `preminor`, `patch`, + `prepatch`, `prerelease`, or `release`), or null if it's not valid + * `premajor` in one call will bump the version up to the next major + version and down to a prerelease of that major version. + `preminor`, and `prepatch` work the same way. + * If called from a non-prerelease version, `prerelease` will work the + same as `prepatch`. It increments the patch version and then makes a + prerelease. If the input version is already a prerelease it simply + increments it. + * `release` will remove any prerelease part of the version. + * `identifier` can be used to prefix `premajor`, `preminor`, + `prepatch`, or `prerelease` version increments. `identifierBase` + is the base to be used for the `prerelease` identifier. +* `prerelease(v)`: Returns an array of prerelease components, or null + if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` +* `major(v)`: Return the major version number. +* `minor(v)`: Return the minor version number. +* `patch(v)`: Return the patch version number. +* `intersects(r1, r2, loose)`: Return true if the two supplied ranges + or comparators intersect. +* `parse(v)`: Attempt to parse a string as a semantic version, returning either + a `SemVer` object or `null`. +* `truncate(v, releaseType)`: Return the version with components _lower_ + than `releaseType` dropped off, e.g.: + * `major` removes build & prerelease info and sets minor & patch to 0. + * `minor` removes build & prerelease info, and sets patch to 0 + * `patch` removes build & prerelease info + * All prerelease types remove build info only + +### Comparison + +* `gt(v1, v2)`: `v1 > v2` +* `gte(v1, v2)`: `v1 >= v2` +* `lt(v1, v2)`: `v1 < v2` +* `lte(v1, v2)`: `v1 <= v2` +* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, + even if they're not the same string. You already know how to + compare strings. +* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. +* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call + the corresponding function above. `"==="` and `"!=="` do simple + string comparison, but are included for completeness. Throws if an + invalid comparison string is provided. +* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if + `v2` is greater. Sorts in ascending order if passed to `Array.sort()`. +* `rcompare(v1, v2)`: The reverse of `compare`. Sorts an array of versions + in descending order when passed to `Array.sort()`. +* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions + are equal. Sorts in ascending order if passed to `Array.sort()`. +* `compareLoose(v1, v2)`: Short for `compare(v1, v2, { loose: true })`. +* `diff(v1, v2)`: Returns the difference between two versions by the release type + (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), + or null if the versions are the same. + +### Sorting + +* `sort(versions)`: Returns a sorted array of versions based on the `compareBuild` + function. +* `rsort(versions)`: The reverse of `sort`. Returns an array of versions based on + the `compareBuild` function in descending order. + +### Comparators + +* `intersects(comparator)`: Return true if the comparators intersect + +### Ranges + +* `validRange(range)`: Return the valid range or null if it's not valid. +* `satisfies(version, range)`: Return true if the version satisfies the + range. +* `maxSatisfying(versions, range)`: Return the highest version in the list + that satisfies the range, or `null` if none of them do. +* `minSatisfying(versions, range)`: Return the lowest version in the list + that satisfies the range, or `null` if none of them do. +* `minVersion(range)`: Return the lowest version that can match + the given range. +* `gtr(version, range)`: Return `true` if the version is greater than all the + versions possible in the range. +* `ltr(version, range)`: Return `true` if the version is less than all the + versions possible in the range. +* `outside(version, range, hilo)`: Return true if the version is outside + the bounds of the range in either the high or low direction. The + `hilo` argument must be either the string `'>'` or `'<'`. (This is + the function called by `gtr` and `ltr`.) +* `intersects(range)`: Return true if any of the range comparators intersect. +* `simplifyRange(versions, range)`: Return a "simplified" range that + matches the same items in the `versions` list as the range specified. Note + that it does *not* guarantee that it would match the same versions in all + cases, only for the set of versions provided. This is useful when + generating ranges by joining together multiple versions with `||` + programmatically, to provide the user with something a bit more + ergonomic. If the provided range is shorter in string-length than the + generated range, then that is returned. +* `subset(subRange, superRange)`: Return `true` if the `subRange` range is + entirely contained by the `superRange` range. + +Note that, since ranges may be non-contiguous, a version might not be +greater than a range, less than a range, *or* satisfy a range! For +example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` +until `2.0.0`, so version `1.2.10` would not be greater than the +range (because `2.0.1` satisfies, which is higher), nor less than the +range (since `1.2.8` satisfies, which is lower), and it also does not +satisfy the range. + +If you want to know if a version satisfies or does not satisfy a +range, use the `satisfies(version, range)` function. + +### Coercion + +* `coerce(version, options)`: Coerces a string to semver if possible + +This aims to provide a very forgiving translation of a non-semver string to +semver. It looks for the first digit in a string and consumes all +remaining characters which satisfy at least a partial semver (e.g., `1`, +`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer +versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All +surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes +`3.4.0`). Only text which lacks digits will fail coercion (`version one` +is not valid). The maximum length for any semver component considered for +coercion is 16 characters; longer components will be ignored +(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any +semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value +components are invalid (`9999999999999999.4.7.4` is likely invalid). + +If the `options.rtl` flag is set, then `coerce` will return the right-most +coercible tuple that does not share an ending index with a longer coercible +tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not +`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of +any other overlapping SemVer tuple. + +If the `options.includePrerelease` flag is set, then the `coerce` result will contain +prerelease and build parts of a version. For example, `1.2.3.4-rc.1+rev.2` +will preserve prerelease `rc.1` and build `rev.2` in the result. + +### Clean + +* `clean(version)`: Clean a string to be a valid semver if possible + +This will return a cleaned and trimmed semver version. If the provided +version is not valid a null will be returned. This does not work for +ranges. + +ex. +* `s.clean(' = v 2.1.5foo')`: `null` +* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean(' = v 2.1.5-foo')`: `null` +* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'` +* `s.clean('=v2.1.5')`: `'2.1.5'` +* `s.clean(' =v2.1.5')`: `'2.1.5'` +* `s.clean(' 2.1.5 ')`: `'2.1.5'` +* `s.clean('~1.0.0')`: `null` + +## Constants + +As a convenience, helper constants are exported to provide information about what `node-semver` supports: + +### `RELEASE_TYPES` + +- major +- premajor +- minor +- preminor +- patch +- prepatch +- prerelease + +``` +const semver = require('semver'); + +if (semver.RELEASE_TYPES.includes(arbitraryUserInput)) { + console.log('This is a valid release type!'); +} else { + console.warn('This is NOT a valid release type!'); +} +``` + +### `SEMVER_SPEC_VERSION` + +2.0.0 + +``` +const semver = require('semver'); + +console.log('We are currently using the semver specification version:', semver.SEMVER_SPEC_VERSION); +``` + +## Exported Modules + + + +You may pull in just the part of this semver utility that you need if you +are sensitive to packing and tree-shaking concerns. The main +`require('semver')` export uses getter functions to lazily load the parts +of the API that are used. + +The following modules are available: + +* `require('semver')` +* `require('semver/classes')` +* `require('semver/classes/comparator')` +* `require('semver/classes/range')` +* `require('semver/classes/semver')` +* `require('semver/functions/clean')` +* `require('semver/functions/cmp')` +* `require('semver/functions/coerce')` +* `require('semver/functions/compare')` +* `require('semver/functions/compare-build')` +* `require('semver/functions/compare-loose')` +* `require('semver/functions/diff')` +* `require('semver/functions/eq')` +* `require('semver/functions/gt')` +* `require('semver/functions/gte')` +* `require('semver/functions/inc')` +* `require('semver/functions/lt')` +* `require('semver/functions/lte')` +* `require('semver/functions/major')` +* `require('semver/functions/minor')` +* `require('semver/functions/neq')` +* `require('semver/functions/parse')` +* `require('semver/functions/patch')` +* `require('semver/functions/prerelease')` +* `require('semver/functions/rcompare')` +* `require('semver/functions/rsort')` +* `require('semver/functions/satisfies')` +* `require('semver/functions/sort')` +* `require('semver/functions/truncate')` +* `require('semver/functions/valid')` +* `require('semver/ranges/gtr')` +* `require('semver/ranges/intersects')` +* `require('semver/ranges/ltr')` +* `require('semver/ranges/max-satisfying')` +* `require('semver/ranges/min-satisfying')` +* `require('semver/ranges/min-version')` +* `require('semver/ranges/outside')` +* `require('semver/ranges/simplify')` +* `require('semver/ranges/subset')` +* `require('semver/ranges/to-comparators')` +* `require('semver/ranges/valid')` + diff --git a/apps/api/.output/node_modules/semver/bin/semver.js b/apps/api/.output/node_modules/semver/bin/semver.js new file mode 100644 index 0000000..9ae8aad --- /dev/null +++ b/apps/api/.output/node_modules/semver/bin/semver.js @@ -0,0 +1,195 @@ +#!/usr/bin/env node +// Standalone semver comparison program. +// Exits successfully and prints matching version(s) if +// any supplied version is valid and passes all tests. + +'use strict' + +const argv = process.argv.slice(2) + +let versions = [] + +const range = [] + +let inc = null + +const version = require('../package.json').version + +let loose = false + +let includePrerelease = false + +let coerce = false + +let rtl = false + +let identifier + +let identifierBase + +const semver = require('../') +const parseOptions = require('../internal/parse-options') + +let reverse = false + +let options = {} + +const main = () => { + if (!argv.length) { + return help() + } + while (argv.length) { + let a = argv.shift() + const indexOfEqualSign = a.indexOf('=') + if (indexOfEqualSign !== -1) { + const value = a.slice(indexOfEqualSign + 1) + a = a.slice(0, indexOfEqualSign) + argv.unshift(value) + } + + switch (a) { + case '-rv': case '-rev': case '--rev': case '--reverse': + reverse = true + break + case '-l': case '--loose': + loose = true + break + case '-p': case '--include-prerelease': + includePrerelease = true + break + case '-v': case '--version': + versions.push(argv.shift()) + break + case '-i': case '--inc': case '--increment': + if (semver.RELEASE_TYPES.includes(argv[0]) || (argv[0] === 'release')) { + inc = { value: argv.shift(), maybeErrantValue: null, option: a } + } else { + inc = { value: 'patch', maybeErrantValue: argv[0], option: a } + } + break + case '--preid': + identifier = argv.shift() + break + case '-r': case '--range': + range.push(argv.shift()) + break + case '-n': + identifierBase = argv.shift() + if (identifierBase === 'false') { + identifierBase = false + } + break + case '-c': case '--coerce': + coerce = true + break + case '--rtl': + rtl = true + break + case '--ltr': + rtl = false + break + case '-h': case '--help': case '-?': + return help() + default: + versions.push(a) + break + } + } + + options = parseOptions({ loose, includePrerelease, rtl }) + + if ( + inc && + versions.includes(inc.maybeErrantValue) && + !semver.valid(inc.maybeErrantValue, options) + ) { + console.warn(`Invalid value for ${inc.option}; defaulting to 'patch'. This may become a failure in future major versions.`) + } + + versions = versions.map((v) => { + return coerce ? (semver.coerce(v, options) || { version: v }).version : v + }).filter((v) => { + return semver.valid(v, options) + }) + if (!versions.length) { + return fail() + } + if (inc && (versions.length !== 1 || range.length)) { + return failInc() + } + + for (let i = 0, l = range.length; i < l; i++) { + versions = versions.filter((v) => { + return semver.satisfies(v, range[i], options) + }) + if (!versions.length) { + return fail() + } + } + versions + .sort((a, b) => semver[reverse ? 'rcompare' : 'compare'](a, b, options)) + .map(v => semver.clean(v, options)) + .map(v => inc ? semver.inc(v, inc.value, options, identifier, identifierBase) : v) + .forEach(v => console.log(v)) +} + +const failInc = () => { + console.error('--inc can only be used on a single version with no range') + fail() +} + +const fail = () => process.exit(1) + +const help = () => console.log( +`SemVer ${version} + +A JavaScript implementation of the https://semver.org/ specification +Copyright Isaac Z. Schlueter + +Usage: semver [options] [ [...]] +Prints valid versions sorted by SemVer precedence + +Options: +-r --range + Print versions that match the specified range. + +-i --increment [] + Increment a version by the specified level. Level can + be one of: major, minor, patch, premajor, preminor, + prepatch, prerelease, or release. Default level is 'patch'. + Only one version may be specified. + +--preid + Identifier to be used to prefix premajor, preminor, + prepatch or prerelease version increments. + +-l --loose + Interpret versions and ranges loosely + +-p --include-prerelease + Always include prerelease versions in range matching + +-c --coerce + Coerce a string into SemVer if possible + (does not imply --loose) + +--rtl + Coerce version strings right to left + +--ltr + Coerce version strings left to right (default) + +-n + Base number to be used for the prerelease identifier. + Can be either 0 or 1, or false to omit the number altogether. + Defaults to 0. + +Program exits successfully if any valid version satisfies +all supplied ranges, and prints all satisfying versions. + +If no satisfying versions are found, then exits failure. + +Versions are printed in ascending order, so supplying +multiple versions to the utility will just sort them.`) + +main() diff --git a/apps/api/.output/node_modules/semver/classes/comparator.js b/apps/api/.output/node_modules/semver/classes/comparator.js new file mode 100644 index 0000000..647c1f0 --- /dev/null +++ b/apps/api/.output/node_modules/semver/classes/comparator.js @@ -0,0 +1,143 @@ +'use strict' + +const ANY = Symbol('SemVer ANY') +// hoisted class for cyclic dependency +class Comparator { + static get ANY () { + return ANY + } + + constructor (comp, options) { + options = parseOptions(options) + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + comp = comp.trim().split(/\s+/).join(' ') + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + const m = comp.match(r) + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + options = parseOptions(options) + + // Special cases where nothing can possibly be lower + if (options.includePrerelease && + (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) { + return false + } + if (!options.includePrerelease && + (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) { + return false + } + + // Same direction increasing (> or >=) + if (this.operator.startsWith('>') && comp.operator.startsWith('>')) { + return true + } + // Same direction decreasing (< or <=) + if (this.operator.startsWith('<') && comp.operator.startsWith('<')) { + return true + } + // same SemVer and both sides are inclusive (<= or >=) + if ( + (this.semver.version === comp.semver.version) && + this.operator.includes('=') && comp.operator.includes('=')) { + return true + } + // opposite directions less than + if (cmp(this.semver, '<', comp.semver, options) && + this.operator.startsWith('>') && comp.operator.startsWith('<')) { + return true + } + // opposite directions greater than + if (cmp(this.semver, '>', comp.semver, options) && + this.operator.startsWith('<') && comp.operator.startsWith('>')) { + return true + } + return false + } +} + +module.exports = Comparator + +const parseOptions = require('../internal/parse-options') +const { safeRe: re, t } = require('../internal/re') +const cmp = require('../functions/cmp') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const Range = require('./range') diff --git a/apps/api/.output/node_modules/semver/classes/index.js b/apps/api/.output/node_modules/semver/classes/index.js new file mode 100644 index 0000000..91c24ec --- /dev/null +++ b/apps/api/.output/node_modules/semver/classes/index.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = { + SemVer: require('./semver.js'), + Range: require('./range.js'), + Comparator: require('./comparator.js'), +} diff --git a/apps/api/.output/node_modules/semver/classes/range.js b/apps/api/.output/node_modules/semver/classes/range.js new file mode 100644 index 0000000..a7d6556 --- /dev/null +++ b/apps/api/.output/node_modules/semver/classes/range.js @@ -0,0 +1,577 @@ +'use strict' + +const SPACE_CHARACTERS = /\s+/g + +// hoisted class for cyclic dependency +class Range { + constructor (range, options) { + options = parseOptions(options) + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value + this.set = [[range]] + this.formatted = undefined + return this + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. + this.raw = range.trim().replace(SPACE_CHARACTERS, ' ') + + // First, split on || + this.set = this.raw + .split('||') + // map the range to a 2d array of comparators + .map(r => this.parseRange(r.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length) + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`) + } + + // if we have any that are not the null set, throw out null sets. + if (this.set.length > 1) { + // keep the first one, in case they're all null sets + const first = this.set[0] + this.set = this.set.filter(c => !isNullSet(c[0])) + if (this.set.length === 0) { + this.set = [first] + } else if (this.set.length > 1) { + // if we have any that are *, then the range is just * + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c] + break + } + } + } + } + + this.formatted = undefined + } + + get range () { + if (this.formatted === undefined) { + this.formatted = '' + for (let i = 0; i < this.set.length; i++) { + if (i > 0) { + this.formatted += '||' + } + const comps = this.set[i] + for (let k = 0; k < comps.length; k++) { + if (k > 0) { + this.formatted += ' ' + } + this.formatted += comps[k].toString().trim() + } + } + } + return this.formatted + } + + format () { + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + // strip build metadata so it can't bleed into the version + range = range.replace(BUILDSTRIPRE, '') + + // memoize range parsing for performance. + // this is a very hot path, and fully deterministic. + const memoOpts = + (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | + (this.options.loose && FLAG_LOOSE) + const memoKey = memoOpts + ':' + range + const cached = cache.get(memoKey) + if (cached) { + return cached + } + + const loose = this.options.loose + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) + debug('hyphen replace', range) + + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + debug('tilde trim', range) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + debug('caret trim', range) + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + let rangeList = range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + // >=0.0.0 is equivalent to * + .map(comp => replaceGTE0(comp, this.options)) + + if (loose) { + // in loose mode, throw out any that are not valid comparators + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options) + return !!comp.match(re[t.COMPARATORLOOSE]) + }) + } + debug('range list', rangeList) + + // if any comparators are the null set, then replace with JUST null set + // if more than one comparator, remove any * comparators + // also, don't include the same comparator more than once + const rangeMap = new Map() + const comparators = rangeList.map(comp => new Comparator(comp, this.options)) + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp] + } + rangeMap.set(comp.value, comp) + } + if (rangeMap.size > 1 && rangeMap.has('')) { + rangeMap.delete('') + } + + const result = [...rangeMap.values()] + cache.set(memoKey, result) + return result + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } +} + +module.exports = Range + +const LRU = require('../internal/lrucache') +const cache = new LRU() + +const parseOptions = require('../internal/parse-options') +const Comparator = require('./comparator') +const debug = require('../internal/debug') +const SemVer = require('./semver') +const { + safeRe: re, + src, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace, +} = require('../internal/re') +const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants') + +// unbounded global build-metadata stripper used by parseRange +const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g') + +const isNullSet = c => c.value === '<0.0.0-0' +const isAny = c => c.value === '' + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +const isSatisfiable = (comparators, options) => { + let result = true + const remainingComparators = comparators.slice() + let testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +const parseComparator = (comp, options) => { + comp = comp.replace(re[t.BUILD], '') + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +const isX = id => !id || id.toLowerCase() === 'x' || id === '*' + +const invalidXRangeOrder = (M, m, p) => ( + (isX(M) && !isX(m)) || + (isX(m) && p && !isX(p)) +) + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 +const replaceTildes = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceTilde(c, options)) + .join(' ') +} + +const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + // if we're including prereleases in the match, then the lower bound is + // -0, the lowest possible prerelease value, just like x-ranges and carets. + // this keeps `~1.2` equivalent to the `1.2.x` x-range it's documented as. + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else if (pr) { + debug('replaceTilde pr', pr) + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 +// ^1.2.3 --> >=1.2.3 <2.0.0-0 +// ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 +const replaceCarets = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceCaret(c, options)) + .join(' ') +} + +const replaceCaret = (comp, options) => { + debug('caret', comp, options) + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0` + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0` + } + } + + debug('caret return', ret) + return ret + }) +} + +const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options) + return comp + .split(/\s+/) + .map((c) => replaceXRange(c, options)) + .join(' ') +} + +const replaceXRange = (comp, options) => { + comp = comp.trim() + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + if (invalidXRangeOrder(M, m, p)) { + return comp + } + + const xM = isX(M) + const xm = xM || isX(m) + const xp = xm || isX(p) + const anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + if (gtlt === '<') { + pr = '-0' + } + + ret = `${gtlt + M}.${m}.${p}${pr}` + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0` + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +const replaceStars = (comp, options) => { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp + .trim() + .replace(re[t.STAR], '') +} + +const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options) + return comp + .trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 +// TODO build? +const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr) => { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}` + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` + } else if (fpr) { + from = `>=${from}` + } else { + from = `>=${from}${incPr ? '-0' : ''}` + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0` + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0` + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}` + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0` + } else { + to = `<=${to}` + } + + return `${from} ${to}`.trim() +} + +const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} diff --git a/apps/api/.output/node_modules/semver/classes/semver.js b/apps/api/.output/node_modules/semver/classes/semver.js new file mode 100644 index 0000000..5438127 --- /dev/null +++ b/apps/api/.output/node_modules/semver/classes/semver.js @@ -0,0 +1,350 @@ +'use strict' + +const debug = require('../internal/debug') +const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') +const { safeRe: re, t } = require('../internal/re') + +const parseOptions = require('../internal/parse-options') +const { compareIdentifiers } = require('../internal/identifiers') + +const isPrereleaseIdentifier = (prerelease, identifier) => { + const identifiers = identifier.split('.') + if (identifiers.length > prerelease.length) { + return false + } + + for (let i = 0; i < identifiers.length; i++) { + if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) { + return false + } + } + + return true +} + +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('build compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0 + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (isPrereleaseIdentifier(this.prerelease, identifier)) { + const prereleaseBase = this.prerelease[identifier.split('.').length] + if (isNaN(prereleaseBase)) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer diff --git a/apps/api/.output/node_modules/semver/functions/clean.js b/apps/api/.output/node_modules/semver/functions/clean.js new file mode 100644 index 0000000..79703d6 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/clean.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const clean = (version, options) => { + const s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} +module.exports = clean diff --git a/apps/api/.output/node_modules/semver/functions/cmp.js b/apps/api/.output/node_modules/semver/functions/cmp.js new file mode 100644 index 0000000..77487dc --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/cmp.js @@ -0,0 +1,54 @@ +'use strict' + +const eq = require('./eq') +const neq = require('./neq') +const gt = require('./gt') +const gte = require('./gte') +const lt = require('./lt') +const lte = require('./lte') + +const cmp = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a === b + + case '!==': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +} +module.exports = cmp diff --git a/apps/api/.output/node_modules/semver/functions/coerce.js b/apps/api/.output/node_modules/semver/functions/coerce.js new file mode 100644 index 0000000..cfe0275 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/coerce.js @@ -0,0 +1,62 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = require('./parse') +const { safeRe: re, t } = require('../internal/re') + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL] + let next + while ((next = coerceRtlRegex.exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + coerceRtlRegex.lastIndex = -1 + } + + if (match === null) { + return null + } + + const major = match[2] + const minor = match[3] || '0' + const patch = match[4] || '0' + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '' + const build = options.includePrerelease && match[6] ? `+${match[6]}` : '' + + return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options) +} +module.exports = coerce diff --git a/apps/api/.output/node_modules/semver/functions/compare-build.js b/apps/api/.output/node_modules/semver/functions/compare-build.js new file mode 100644 index 0000000..99157cf --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/compare-build.js @@ -0,0 +1,9 @@ +'use strict' + +const SemVer = require('../classes/semver') +const compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose) + const versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} +module.exports = compareBuild diff --git a/apps/api/.output/node_modules/semver/functions/compare-loose.js b/apps/api/.output/node_modules/semver/functions/compare-loose.js new file mode 100644 index 0000000..7531634 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/compare-loose.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const compareLoose = (a, b) => compare(a, b, true) +module.exports = compareLoose diff --git a/apps/api/.output/node_modules/semver/functions/compare.js b/apps/api/.output/node_modules/semver/functions/compare.js new file mode 100644 index 0000000..63d8090 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/compare.js @@ -0,0 +1,7 @@ +'use strict' + +const SemVer = require('../classes/semver') +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare diff --git a/apps/api/.output/node_modules/semver/functions/diff.js b/apps/api/.output/node_modules/semver/functions/diff.js new file mode 100644 index 0000000..c99ab51 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/diff.js @@ -0,0 +1,60 @@ +'use strict' + +const parse = require('./parse.js') + +const diff = (version1, version2) => { + const v1 = parse(version1, null, true) + const v2 = parse(version2, null, true) + const comparison = v1.compare(v2) + + if (comparison === 0) { + return null + } + + const v1Higher = comparison > 0 + const highVersion = v1Higher ? v1 : v2 + const lowVersion = v1Higher ? v2 : v1 + const highHasPre = !!highVersion.prerelease.length + const lowHasPre = !!lowVersion.prerelease.length + + if (lowHasPre && !highHasPre) { + // Going from prerelease -> no prerelease requires some special casing + + // If the low version has only a major, then it will always be a major + // Some examples: + // 1.0.0-1 -> 1.0.0 + // 1.0.0-1 -> 1.1.1 + // 1.0.0-1 -> 2.0.0 + if (!lowVersion.patch && !lowVersion.minor) { + return 'major' + } + + // If the main part has no difference + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return 'minor' + } + return 'patch' + } + } + + // add the `pre` prefix if we are going to a prerelease version + const prefix = highHasPre ? 'pre' : '' + + if (v1.major !== v2.major) { + return prefix + 'major' + } + + if (v1.minor !== v2.minor) { + return prefix + 'minor' + } + + if (v1.patch !== v2.patch) { + return prefix + 'patch' + } + + // high and low are prereleases + return 'prerelease' +} + +module.exports = diff diff --git a/apps/api/.output/node_modules/semver/functions/eq.js b/apps/api/.output/node_modules/semver/functions/eq.js new file mode 100644 index 0000000..5f0eead --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/eq.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const eq = (a, b, loose) => compare(a, b, loose) === 0 +module.exports = eq diff --git a/apps/api/.output/node_modules/semver/functions/gt.js b/apps/api/.output/node_modules/semver/functions/gt.js new file mode 100644 index 0000000..84a57dd --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/gt.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const gt = (a, b, loose) => compare(a, b, loose) > 0 +module.exports = gt diff --git a/apps/api/.output/node_modules/semver/functions/gte.js b/apps/api/.output/node_modules/semver/functions/gte.js new file mode 100644 index 0000000..7c52bdf --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/gte.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte diff --git a/apps/api/.output/node_modules/semver/functions/inc.js b/apps/api/.output/node_modules/semver/functions/inc.js new file mode 100644 index 0000000..ff999e9 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/inc.js @@ -0,0 +1,21 @@ +'use strict' + +const SemVer = require('../classes/semver') + +const inc = (version, release, options, identifier, identifierBase) => { + if (typeof (options) === 'string') { + identifierBase = identifier + identifier = options + options = undefined + } + + try { + return new SemVer( + version instanceof SemVer ? version.version : version, + options + ).inc(release, identifier, identifierBase).version + } catch (er) { + return null + } +} +module.exports = inc diff --git a/apps/api/.output/node_modules/semver/functions/lt.js b/apps/api/.output/node_modules/semver/functions/lt.js new file mode 100644 index 0000000..2fb32a0 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/lt.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const lt = (a, b, loose) => compare(a, b, loose) < 0 +module.exports = lt diff --git a/apps/api/.output/node_modules/semver/functions/lte.js b/apps/api/.output/node_modules/semver/functions/lte.js new file mode 100644 index 0000000..da9ee8f --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/lte.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const lte = (a, b, loose) => compare(a, b, loose) <= 0 +module.exports = lte diff --git a/apps/api/.output/node_modules/semver/functions/major.js b/apps/api/.output/node_modules/semver/functions/major.js new file mode 100644 index 0000000..e6d08dc --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/major.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major diff --git a/apps/api/.output/node_modules/semver/functions/minor.js b/apps/api/.output/node_modules/semver/functions/minor.js new file mode 100644 index 0000000..9e70ffd --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/minor.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const minor = (a, loose) => new SemVer(a, loose).minor +module.exports = minor diff --git a/apps/api/.output/node_modules/semver/functions/neq.js b/apps/api/.output/node_modules/semver/functions/neq.js new file mode 100644 index 0000000..84326b7 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/neq.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const neq = (a, b, loose) => compare(a, b, loose) !== 0 +module.exports = neq diff --git a/apps/api/.output/node_modules/semver/functions/parse.js b/apps/api/.output/node_modules/semver/functions/parse.js new file mode 100644 index 0000000..d544d33 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/parse.js @@ -0,0 +1,18 @@ +'use strict' + +const SemVer = require('../classes/semver') +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse diff --git a/apps/api/.output/node_modules/semver/functions/patch.js b/apps/api/.output/node_modules/semver/functions/patch.js new file mode 100644 index 0000000..7675162 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/patch.js @@ -0,0 +1,5 @@ +'use strict' + +const SemVer = require('../classes/semver') +const patch = (a, loose) => new SemVer(a, loose).patch +module.exports = patch diff --git a/apps/api/.output/node_modules/semver/functions/prerelease.js b/apps/api/.output/node_modules/semver/functions/prerelease.js new file mode 100644 index 0000000..b8fe1db --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/prerelease.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const prerelease = (version, options) => { + const parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} +module.exports = prerelease diff --git a/apps/api/.output/node_modules/semver/functions/rcompare.js b/apps/api/.output/node_modules/semver/functions/rcompare.js new file mode 100644 index 0000000..8e1c222 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/rcompare.js @@ -0,0 +1,5 @@ +'use strict' + +const compare = require('./compare') +const rcompare = (a, b, loose) => compare(b, a, loose) +module.exports = rcompare diff --git a/apps/api/.output/node_modules/semver/functions/rsort.js b/apps/api/.output/node_modules/semver/functions/rsort.js new file mode 100644 index 0000000..5d3d200 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/rsort.js @@ -0,0 +1,5 @@ +'use strict' + +const compareBuild = require('./compare-build') +const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) +module.exports = rsort diff --git a/apps/api/.output/node_modules/semver/functions/satisfies.js b/apps/api/.output/node_modules/semver/functions/satisfies.js new file mode 100644 index 0000000..a0264a2 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/satisfies.js @@ -0,0 +1,12 @@ +'use strict' + +const Range = require('../classes/range') +const satisfies = (version, range, options) => { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} +module.exports = satisfies diff --git a/apps/api/.output/node_modules/semver/functions/sort.js b/apps/api/.output/node_modules/semver/functions/sort.js new file mode 100644 index 0000000..edb24b1 --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/sort.js @@ -0,0 +1,5 @@ +'use strict' + +const compareBuild = require('./compare-build') +const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) +module.exports = sort diff --git a/apps/api/.output/node_modules/semver/functions/truncate.js b/apps/api/.output/node_modules/semver/functions/truncate.js new file mode 100644 index 0000000..8314e4e --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/truncate.js @@ -0,0 +1,48 @@ +'use strict' + +const parse = require('./parse') +const constants = require('../internal/constants') +const SemVer = require('../classes/semver') + +const truncate = (version, truncation, options) => { + if (!constants.RELEASE_TYPES.includes(truncation)) { + return null + } + + const clonedVersion = cloneInputVersion(version, options) + return clonedVersion && doTruncation(clonedVersion, truncation) +} + +const cloneInputVersion = (version, options) => { + const versionStringToParse = ( + version instanceof SemVer ? version.version : version + ) + + return parse(versionStringToParse, options) +} + +const doTruncation = (version, truncation) => { + if (isPrerelease(truncation)) { + return version.version + } + + version.prerelease = [] + + switch (truncation) { + case 'major': + version.minor = 0 + version.patch = 0 + break + case 'minor': + version.patch = 0 + break + } + + return version.format() +} + +const isPrerelease = (type) => { + return type.startsWith('pre') +} + +module.exports = truncate diff --git a/apps/api/.output/node_modules/semver/functions/valid.js b/apps/api/.output/node_modules/semver/functions/valid.js new file mode 100644 index 0000000..0db67ed --- /dev/null +++ b/apps/api/.output/node_modules/semver/functions/valid.js @@ -0,0 +1,8 @@ +'use strict' + +const parse = require('./parse') +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid diff --git a/apps/api/.output/node_modules/semver/index.js b/apps/api/.output/node_modules/semver/index.js new file mode 100644 index 0000000..bc1f608 --- /dev/null +++ b/apps/api/.output/node_modules/semver/index.js @@ -0,0 +1,93 @@ +'use strict' + +// just pre-load all the stuff that index.js lazily exports +const internalRe = require('./internal/re') +const constants = require('./internal/constants') +const SemVer = require('./classes/semver') +const identifiers = require('./internal/identifiers') +const parse = require('./functions/parse') +const valid = require('./functions/valid') +const clean = require('./functions/clean') +const inc = require('./functions/inc') +const diff = require('./functions/diff') +const major = require('./functions/major') +const minor = require('./functions/minor') +const patch = require('./functions/patch') +const prerelease = require('./functions/prerelease') +const compare = require('./functions/compare') +const rcompare = require('./functions/rcompare') +const compareLoose = require('./functions/compare-loose') +const compareBuild = require('./functions/compare-build') +const sort = require('./functions/sort') +const rsort = require('./functions/rsort') +const gt = require('./functions/gt') +const lt = require('./functions/lt') +const eq = require('./functions/eq') +const neq = require('./functions/neq') +const gte = require('./functions/gte') +const lte = require('./functions/lte') +const cmp = require('./functions/cmp') +const coerce = require('./functions/coerce') +const truncate = require('./functions/truncate') +const Comparator = require('./classes/comparator') +const Range = require('./classes/range') +const satisfies = require('./functions/satisfies') +const toComparators = require('./ranges/to-comparators') +const maxSatisfying = require('./ranges/max-satisfying') +const minSatisfying = require('./ranges/min-satisfying') +const minVersion = require('./ranges/min-version') +const validRange = require('./ranges/valid') +const outside = require('./ranges/outside') +const gtr = require('./ranges/gtr') +const ltr = require('./ranges/ltr') +const intersects = require('./ranges/intersects') +const simplifyRange = require('./ranges/simplify') +const subset = require('./ranges/subset') +module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + truncate, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, +} diff --git a/apps/api/.output/node_modules/semver/internal/constants.js b/apps/api/.output/node_modules/semver/internal/constants.js new file mode 100644 index 0000000..6d1db91 --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/constants.js @@ -0,0 +1,37 @@ +'use strict' + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} diff --git a/apps/api/.output/node_modules/semver/internal/debug.js b/apps/api/.output/node_modules/semver/internal/debug.js new file mode 100644 index 0000000..20d1e9d --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/debug.js @@ -0,0 +1,11 @@ +'use strict' + +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug diff --git a/apps/api/.output/node_modules/semver/internal/identifiers.js b/apps/api/.output/node_modules/semver/internal/identifiers.js new file mode 100644 index 0000000..d053472 --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/identifiers.js @@ -0,0 +1,29 @@ +'use strict' + +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} diff --git a/apps/api/.output/node_modules/semver/internal/lrucache.js b/apps/api/.output/node_modules/semver/internal/lrucache.js new file mode 100644 index 0000000..b8bf526 --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/lrucache.js @@ -0,0 +1,42 @@ +'use strict' + +class LRUCache { + constructor () { + this.max = 1000 + this.map = new Map() + } + + get (key) { + const value = this.map.get(key) + if (value === undefined) { + return undefined + } else { + // Remove the key from the map and add it to the end + this.map.delete(key) + this.map.set(key, value) + return value + } + } + + delete (key) { + return this.map.delete(key) + } + + set (key, value) { + const deleted = this.delete(key) + + if (!deleted && value !== undefined) { + // If cache is full, delete the least recently used item + if (this.map.size >= this.max) { + const firstKey = this.map.keys().next().value + this.delete(firstKey) + } + + this.map.set(key, value) + } + + return this + } +} + +module.exports = LRUCache diff --git a/apps/api/.output/node_modules/semver/internal/parse-options.js b/apps/api/.output/node_modules/semver/internal/parse-options.js new file mode 100644 index 0000000..5295454 --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/parse-options.js @@ -0,0 +1,17 @@ +'use strict' + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions diff --git a/apps/api/.output/node_modules/semver/internal/re.js b/apps/api/.output/node_modules/semver/internal/re.js new file mode 100644 index 0000000..2ec2c22 --- /dev/null +++ b/apps/api/.output/node_modules/semver/internal/re.js @@ -0,0 +1,223 @@ +'use strict' + +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = require('./constants') +const debug = require('./debug') +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const safeSrc = exports.safeSrc = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + safeSrc[index] = safe + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. +// Non-numeric identifiers include numeric identifiers but can be longer. +// Therefore non-numeric identifiers must go first. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifier, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver b/apps/api/.output/node_modules/semver/node_modules/.bin/semver new file mode 100644 index 0000000..45abba1 --- /dev/null +++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver @@ -0,0 +1,21 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -z "$NODE_PATH" ]; then + export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules" +else + export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules:$NODE_PATH" +fi +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../../bin/semver.js" "$@" +else + exec node "$basedir/../../bin/semver.js" "$@" +fi diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD new file mode 100644 index 0000000..6bf4f01 --- /dev/null +++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.CMD @@ -0,0 +1,12 @@ +@SETLOCAL +@IF NOT DEFINED NODE_PATH ( + @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules" +) ELSE ( + @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules;%NODE_PATH%" +) +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\..\bin\semver.js" %* +) ELSE ( + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\..\bin\semver.js" %* +) diff --git a/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1 b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1 new file mode 100644 index 0000000..5e848f7 --- /dev/null +++ b/apps/api/.output/node_modules/semver/node_modules/.bin/semver.ps1 @@ -0,0 +1,41 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +$pathsep=":" +$env_node_path=$env:NODE_PATH +$new_node_path="E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" + $pathsep=";" +} else { + $new_node_path="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules" +} +if ([string]::IsNullOrEmpty($env_node_path)) { + $env:NODE_PATH=$new_node_path +} else { + $env:NODE_PATH="$new_node_path$pathsep$env_node_path" +} + +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../../bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../../bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../../bin/semver.js" $args + } else { + & "node$exe" "$basedir/../../bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +$env:NODE_PATH=$env_node_path +exit $ret diff --git a/apps/api/.output/node_modules/semver/package.json b/apps/api/.output/node_modules/semver/package.json new file mode 100644 index 0000000..0cb7c7b --- /dev/null +++ b/apps/api/.output/node_modules/semver/package.json @@ -0,0 +1,78 @@ +{ + "name": "semver", + "version": "7.8.5", + "description": "The semantic version parser used by npm.", + "main": "index.js", + "scripts": { + "test": "tap", + "snap": "tap", + "lint": "npm run eslint", + "postlint": "template-oss-check", + "lintfix": "npm run eslint -- --fix", + "posttest": "npm run lint", + "template-oss-apply": "template-oss-apply --force", + "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"" + }, + "devDependencies": { + "@npmcli/eslint-config": "^7.0.0", + "@npmcli/template-oss": "5.0.0", + "benchmark": "^2.1.4", + "tap": "^16.0.0" + }, + "license": "ISC", + "repository": { + "type": "git", + "url": "git+https://github.com/npm/node-semver.git" + }, + "bin": { + "semver": "bin/semver.js" + }, + "files": [ + "bin/", + "lib/", + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "tap": { + "timeout": 30, + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] + }, + "engines": { + "node": ">=10" + }, + "author": "GitHub Inc.", + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "5.0.0", + "engines": ">=10", + "distPaths": [ + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf", + "/benchmarks" + ], + "publish": "true" + } +} diff --git a/apps/api/.output/node_modules/semver/preload.js b/apps/api/.output/node_modules/semver/preload.js new file mode 100644 index 0000000..e6c47b9 --- /dev/null +++ b/apps/api/.output/node_modules/semver/preload.js @@ -0,0 +1,4 @@ +'use strict' + +// XXX remove in v8 or beyond +module.exports = require('./index.js') diff --git a/apps/api/.output/node_modules/semver/range.bnf b/apps/api/.output/node_modules/semver/range.bnf new file mode 100644 index 0000000..a7a4bc3 --- /dev/null +++ b/apps/api/.output/node_modules/semver/range.bnf @@ -0,0 +1,17 @@ +range-set ::= range ( logical-or range ) * +logical-or ::= ( ' ' ) * '||' ( ' ' ) * +range ::= hyphen | simple ( ' ' simple ) * | '' +hyphen ::= partial ' - ' partial +simple ::= primitive | partial | tilde | caret +primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial +partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? +xr ::= 'x' | 'X' | '*' | nr +nr ::= '0' | [1-9] ( [0-9] ) * +tilde ::= '~' partial +caret ::= '^' partial +qualifier ::= ( '-' pre )? ( '+' build )? +pre ::= prepart ( '.' prepart ) * +prepart ::= nr | alphanumid +build ::= buildid ( '.' buildid ) * +alphanumid ::= ( [0-9] ) * [A-Za-z-] [-0-9A-Za-z] * +buildid ::= [-0-9A-Za-z]+ diff --git a/apps/api/.output/node_modules/semver/ranges/gtr.js b/apps/api/.output/node_modules/semver/ranges/gtr.js new file mode 100644 index 0000000..0e7601f --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/gtr.js @@ -0,0 +1,6 @@ +'use strict' + +// Determine if version is greater than all the versions possible in the range. +const outside = require('./outside') +const gtr = (version, range, options) => outside(version, range, '>', options) +module.exports = gtr diff --git a/apps/api/.output/node_modules/semver/ranges/intersects.js b/apps/api/.output/node_modules/semver/ranges/intersects.js new file mode 100644 index 0000000..917be7e --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/intersects.js @@ -0,0 +1,9 @@ +'use strict' + +const Range = require('../classes/range') +const intersects = (r1, r2, options) => { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2, options) +} +module.exports = intersects diff --git a/apps/api/.output/node_modules/semver/ranges/ltr.js b/apps/api/.output/node_modules/semver/ranges/ltr.js new file mode 100644 index 0000000..aa5e568 --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/ltr.js @@ -0,0 +1,6 @@ +'use strict' + +const outside = require('./outside') +// Determine if version is less than all the versions possible in the range +const ltr = (version, range, options) => outside(version, range, '<', options) +module.exports = ltr diff --git a/apps/api/.output/node_modules/semver/ranges/max-satisfying.js b/apps/api/.output/node_modules/semver/ranges/max-satisfying.js new file mode 100644 index 0000000..01fe5ae --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/max-satisfying.js @@ -0,0 +1,27 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') + +const maxSatisfying = (versions, range, options) => { + let max = null + let maxSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} +module.exports = maxSatisfying diff --git a/apps/api/.output/node_modules/semver/ranges/min-satisfying.js b/apps/api/.output/node_modules/semver/ranges/min-satisfying.js new file mode 100644 index 0000000..af89c8e --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/min-satisfying.js @@ -0,0 +1,26 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const minSatisfying = (versions, range, options) => { + let min = null + let minSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} +module.exports = minSatisfying diff --git a/apps/api/.output/node_modules/semver/ranges/min-version.js b/apps/api/.output/node_modules/semver/ranges/min-version.js new file mode 100644 index 0000000..09a65aa --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/min-version.js @@ -0,0 +1,63 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Range = require('../classes/range') +const gt = require('../functions/gt') + +const minVersion = (range, loose) => { + range = new Range(range, loose) + + let minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let setMin = null + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!setMin || gt(compver, setMin)) { + setMin = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }) + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin + } + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} +module.exports = minVersion diff --git a/apps/api/.output/node_modules/semver/ranges/outside.js b/apps/api/.output/node_modules/semver/ranges/outside.js new file mode 100644 index 0000000..ca74421 --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/outside.js @@ -0,0 +1,82 @@ +'use strict' + +const SemVer = require('../classes/semver') +const Comparator = require('../classes/comparator') +const { ANY } = Comparator +const Range = require('../classes/range') +const satisfies = require('../functions/satisfies') +const gt = require('../functions/gt') +const lt = require('../functions/lt') +const lte = require('../functions/lte') +const gte = require('../functions/gte') + +const outside = (version, range, hilo, options) => { + version = new SemVer(version, options) + range = new Range(range, options) + + let gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisfies the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let high = null + let low = null + + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +module.exports = outside diff --git a/apps/api/.output/node_modules/semver/ranges/simplify.js b/apps/api/.output/node_modules/semver/ranges/simplify.js new file mode 100644 index 0000000..262732e --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/simplify.js @@ -0,0 +1,49 @@ +'use strict' + +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') +module.exports = (versions, range, options) => { + const set = [] + let first = null + let prev = null + const v = versions.sort((a, b) => compare(a, b, options)) + for (const version of v) { + const included = satisfies(version, range, options) + if (included) { + prev = version + if (!first) { + first = version + } + } else { + if (prev) { + set.push([first, prev]) + } + prev = null + first = null + } + } + if (first) { + set.push([first, null]) + } + + const ranges = [] + for (const [min, max] of set) { + if (min === max) { + ranges.push(min) + } else if (!max && min === v[0]) { + ranges.push('*') + } else if (!max) { + ranges.push(`>=${min}`) + } else if (min === v[0]) { + ranges.push(`<=${max}`) + } else { + ranges.push(`${min} - ${max}`) + } + } + const simplified = ranges.join(' || ') + const original = typeof range.raw === 'string' ? range.raw : String(range) + return simplified.length < original.length ? simplified : range +} diff --git a/apps/api/.output/node_modules/semver/ranges/subset.js b/apps/api/.output/node_modules/semver/ranges/subset.js new file mode 100644 index 0000000..a949832 --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/subset.js @@ -0,0 +1,249 @@ +'use strict' + +const Range = require('../classes/range.js') +const Comparator = require('../classes/comparator.js') +const { ANY } = Comparator +const satisfies = require('../functions/satisfies.js') +const compare = require('../functions/compare.js') + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a null set, OR +// - Every simple range `r1, r2, ...` which is not a null set is a subset of +// some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else if in prerelease mode, return false +// - else replace c with `[>=0.0.0]` +// - If C is only the ANY comparator +// - if in prerelease mode, return true +// - else replace C with `[>=0.0.0]` +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If any C is a = range, and GT or LT are set, return false +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT.semver is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the GT.semver tuple, return false +// - If LT +// - If LT.semver is greater than any < or <= comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If LT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the LT.semver tuple, return false +// - Else return true + +const subset = (sub, dom, options = {}) => { + if (sub === dom) { + return true + } + + sub = new Range(sub, options) + dom = new Range(dom, options) + let sawNonNull = false + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options) + sawNonNull = sawNonNull || isSub !== null + if (isSub) { + continue OUTER + } + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) { + return false + } + } + return true +} + +const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')] +const minimumVersion = [new Comparator('>=0.0.0')] + +const simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true + } + + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease + } else { + sub = minimumVersion + } + } + + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true + } else { + dom = minimumVersion + } + } + + const eqSet = new Set() + let gt, lt + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') { + gt = higherGT(gt, c, options) + } else if (c.operator === '<' || c.operator === '<=') { + lt = lowerLT(lt, c, options) + } else { + eqSet.add(c.semver) + } + } + + if (eqSet.size > 1) { + return null + } + + let gtltComp + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options) + if (gtltComp > 0) { + return null + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { + return null + } + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null + } + + if (lt && !satisfies(eq, String(lt), options)) { + return null + } + + for (const c of dom) { + if (!satisfies(eq, String(c), options)) { + return false + } + } + + return true + } + + let higher, lower + let hasDomLT, hasDomGT + // if the subset has a prerelease, we need a comparator in the superset + // with the same tuple and a prerelease, or it's not a subset + let needDomLTPre = lt && + !options.includePrerelease && + lt.semver.prerelease.length ? lt.semver : false + let needDomGTPre = gt && + !options.includePrerelease && + gt.semver.prerelease.length ? gt.semver : false + // exception: <1.2.3-0 is the same as <1.2.3 + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && + lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false + } + + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomGTPre.major && + c.semver.minor === needDomGTPre.minor && + c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false + } + } + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options) + if (higher === c && higher !== gt) { + return false + } + } else if (gt.operator === '>=' && !c.test(gt.semver)) { + return false + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomLTPre.major && + c.semver.minor === needDomLTPre.minor && + c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false + } + } + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options) + if (lower === c && lower !== lt) { + return false + } + } else if (lt.operator === '<=' && !c.test(lt.semver)) { + return false + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false + } + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false + } + + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false + } + + // we needed a prerelease range in a specific tuple, but didn't get one + // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, + // because it includes prereleases in the 1.2.3 tuple + if (needDomGTPre || needDomLTPre) { + return false + } + + return true +} + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +} + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +} + +module.exports = subset diff --git a/apps/api/.output/node_modules/semver/ranges/to-comparators.js b/apps/api/.output/node_modules/semver/ranges/to-comparators.js new file mode 100644 index 0000000..5be2519 --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/to-comparators.js @@ -0,0 +1,10 @@ +'use strict' + +const Range = require('../classes/range') + +// Mostly just for testing and legacy API reasons +const toComparators = (range, options) => + new Range(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) + +module.exports = toComparators diff --git a/apps/api/.output/node_modules/semver/ranges/valid.js b/apps/api/.output/node_modules/semver/ranges/valid.js new file mode 100644 index 0000000..cc6b0e9 --- /dev/null +++ b/apps/api/.output/node_modules/semver/ranges/valid.js @@ -0,0 +1,13 @@ +'use strict' + +const Range = require('../classes/range') +const validRange = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} +module.exports = validRange diff --git a/apps/api/.output/node_modules/sharp/LICENSE b/apps/api/.output/node_modules/sharp/LICENSE new file mode 100644 index 0000000..37ec93a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/apps/api/.output/node_modules/sharp/README.md b/apps/api/.output/node_modules/sharp/README.md new file mode 100644 index 0000000..7db7edd --- /dev/null +++ b/apps/api/.output/node_modules/sharp/README.md @@ -0,0 +1,112 @@ +# sharp + +sharp logo + +The typical use case for this high speed Node-API module +is to convert large images in common formats to +smaller, web-friendly JPEG, PNG, WebP, GIF and AVIF images of varying dimensions. + +It can be used with all JavaScript runtimes +that provide support for Node-API v9, including +Node.js (>= 20.9.0), Deno and Bun. + +Resizing an image is typically 4x-5x faster than using the +quickest ImageMagick and GraphicsMagick settings +due to its use of [libvips](https://github.com/libvips/libvips). + +Colour spaces, embedded ICC profiles and alpha transparency channels are all handled correctly. +Lanczos resampling ensures quality is not sacrificed for speed. + +As well as image resizing, operations such as +rotation, extraction, compositing and gamma correction are available. + +Most modern macOS, Windows and Linux systems +do not require any additional install or runtime dependencies. + +## Documentation + +Visit [sharp.pixelplumbing.com](https://sharp.pixelplumbing.com/) for complete +[installation instructions](https://sharp.pixelplumbing.com/install), +[API documentation](https://sharp.pixelplumbing.com/api-constructor), +[benchmark tests](https://sharp.pixelplumbing.com/performance) and +[changelog](https://sharp.pixelplumbing.com/changelog). + +## Examples + +```sh +npm install sharp +``` + +```javascript +// ESM +import sharp from 'sharp'; + +// CJS +const sharp = require('sharp'); +``` + +```javascript +await sharp(inputBuffer) + .resize({ width: 320, height: 240 }) + .toFile('output.webp', (err, info) => { ... }); +``` + +```javascript +const output = await sharp('input.jpg') + .autoOrient() + .resize({ width: 200 }) + .jpeg({ mozjpeg: true }) + .toBuffer(); +``` + +```javascript +const semiTransparentRedPng = await sharp({ + create: { + width: 48, + height: 48, + channels: 4, + background: { r: 255, g: 0, b: 0, alpha: 0.5 } + } +}) + .png() + .toBuffer(); +``` + +```javascript +const roundedCorners = Buffer.from( + '' +); + +const roundedCornerResizer = + sharp() + .resize(200, 200) + .composite([{ + input: roundedCorners, + blend: 'dest-in' + }]) + .png(); + +readableStream + .pipe(roundedCornerResizer) + .pipe(writableStream); +``` + +## Contributing + +A [guide for contributors](https://github.com/lovell/sharp/blob/main/.github/CONTRIBUTING.md) +covers reporting bugs, requesting features and submitting code changes. + +## Licensing + +Copyright 2013 Lovell Fuller and others. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +[https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/apps/api/.output/node_modules/sharp/dist/channel.cjs b/apps/api/.output/node_modules/sharp/dist/channel.cjs new file mode 100644 index 0000000..4fcc58e --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/channel.cjs @@ -0,0 +1,177 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const is = require('./is.cjs'); + +/** + * Boolean operations for bandbool. + * @private + */ +const bool = { + and: 'and', + or: 'or', + eor: 'eor' +}; + +/** + * Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel. + * + * See also {@link /api-operation/#flatten flatten}. + * + * @example + * sharp('rgba.png') + * .removeAlpha() + * .toFile('rgb.png', function(err, info) { + * // rgb.png is a 3 channel image without an alpha channel + * }); + * + * @returns {Sharp} + */ +function removeAlpha () { + this.options.removeAlpha = true; + return this; +} + +/** + * Ensure the output image has an alpha transparency channel. + * If missing, the added alpha channel will have the specified + * transparency level, defaulting to fully-opaque (1). + * This is a no-op if the image already has an alpha channel. + * + * @since 0.21.2 + * + * @example + * // rgba.png will be a 4 channel image with a fully-opaque alpha channel + * await sharp('rgb.jpg') + * .ensureAlpha() + * .toFile('rgba.png') + * + * @example + * // rgba is a 4 channel image with a fully-transparent alpha channel + * const rgba = await sharp(rgb) + * .ensureAlpha(0) + * .toBuffer(); + * + * @param {number} [alpha=1] - alpha transparency level (0=fully-transparent, 1=fully-opaque) + * @returns {Sharp} + * @throws {Error} Invalid alpha transparency level + */ +function ensureAlpha (alpha) { + if (is.defined(alpha)) { + if (is.number(alpha) && is.inRange(alpha, 0, 1)) { + this.options.ensureAlpha = alpha; + } else { + throw is.invalidParameterError('alpha', 'number between 0 and 1', alpha); + } + } else { + this.options.ensureAlpha = 1; + } + return this; +} + +/** + * Extract a single channel from a multi-channel image. + * + * The output colourspace will be either `b-w` (8-bit) or `grey16` (16-bit). + * + * @example + * // green.jpg is a greyscale image containing the green channel of the input + * await sharp(input) + * .extractChannel('green') + * .toFile('green.jpg'); + * + * @example + * // red1 is the red value of the first pixel, red2 the second pixel etc. + * const [red1, red2, ...] = await sharp(input) + * .extractChannel(0) + * .raw() + * .toBuffer(); + * + * @param {number|string} channel - zero-indexed channel/band number to extract, or `red`, `green`, `blue` or `alpha`. + * @returns {Sharp} + * @throws {Error} Invalid channel + */ +function extractChannel (channel) { + const channelMap = { red: 0, green: 1, blue: 2, alpha: 3 }; + if (Object.keys(channelMap).includes(channel)) { + channel = channelMap[channel]; + } + if (is.integer(channel) && is.inRange(channel, 0, 4)) { + this.options.extractChannel = channel; + } else { + throw is.invalidParameterError('channel', 'integer or one of: red, green, blue, alpha', channel); + } + return this; +} + +/** + * Join one or more channels to the image. + * The meaning of the added channels depends on the output colourspace, set with `toColourspace()`. + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by sharp. + * For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor. + * + * @param {Array|string|Buffer} images - one or more images (file paths, Buffers). + * @param {Object} options - image options, see `sharp()` constructor. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function joinChannel (images, options) { + if (Array.isArray(images)) { + images.forEach(function (image) { + this.options.joinChannelIn.push(this._createInputDescriptor(image, options)); + }, this); + } else { + this.options.joinChannelIn.push(this._createInputDescriptor(images, options)); + } + return this; +} + +/** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * + * @example + * sharp('3-channel-rgb-input.png') + * .bandbool(sharp.bool.and) + * .toFile('1-channel-output.png', function (err, info) { + * // The output will be a single channel image where each pixel `P = R & G & B`. + * // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]` + * // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`. + * }); + * + * @param {string} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function bandbool (boolOp) { + if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) { + this.options.bandBoolOp = boolOp; + } else { + throw is.invalidParameterError('boolOp', 'one of: and, or, eor', boolOp); + } + return this; +} + +/** + * Decorate the Sharp prototype with channel-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + // Public instance functions + removeAlpha, + ensureAlpha, + extractChannel, + joinChannel, + bandbool + }); + // Class attributes + Sharp.bool = bool; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/channel.mjs b/apps/api/.output/node_modules/sharp/dist/channel.mjs new file mode 100644 index 0000000..1fdf0a9 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/channel.mjs @@ -0,0 +1,177 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import is from './is.mjs'; + +/** + * Boolean operations for bandbool. + * @private + */ +const bool = { + and: 'and', + or: 'or', + eor: 'eor' +}; + +/** + * Remove alpha channels, if any. This is a no-op if the image does not have an alpha channel. + * + * See also {@link /api-operation/#flatten flatten}. + * + * @example + * sharp('rgba.png') + * .removeAlpha() + * .toFile('rgb.png', function(err, info) { + * // rgb.png is a 3 channel image without an alpha channel + * }); + * + * @returns {Sharp} + */ +function removeAlpha () { + this.options.removeAlpha = true; + return this; +} + +/** + * Ensure the output image has an alpha transparency channel. + * If missing, the added alpha channel will have the specified + * transparency level, defaulting to fully-opaque (1). + * This is a no-op if the image already has an alpha channel. + * + * @since 0.21.2 + * + * @example + * // rgba.png will be a 4 channel image with a fully-opaque alpha channel + * await sharp('rgb.jpg') + * .ensureAlpha() + * .toFile('rgba.png') + * + * @example + * // rgba is a 4 channel image with a fully-transparent alpha channel + * const rgba = await sharp(rgb) + * .ensureAlpha(0) + * .toBuffer(); + * + * @param {number} [alpha=1] - alpha transparency level (0=fully-transparent, 1=fully-opaque) + * @returns {Sharp} + * @throws {Error} Invalid alpha transparency level + */ +function ensureAlpha (alpha) { + if (is.defined(alpha)) { + if (is.number(alpha) && is.inRange(alpha, 0, 1)) { + this.options.ensureAlpha = alpha; + } else { + throw is.invalidParameterError('alpha', 'number between 0 and 1', alpha); + } + } else { + this.options.ensureAlpha = 1; + } + return this; +} + +/** + * Extract a single channel from a multi-channel image. + * + * The output colourspace will be either `b-w` (8-bit) or `grey16` (16-bit). + * + * @example + * // green.jpg is a greyscale image containing the green channel of the input + * await sharp(input) + * .extractChannel('green') + * .toFile('green.jpg'); + * + * @example + * // red1 is the red value of the first pixel, red2 the second pixel etc. + * const [red1, red2, ...] = await sharp(input) + * .extractChannel(0) + * .raw() + * .toBuffer(); + * + * @param {number|string} channel - zero-indexed channel/band number to extract, or `red`, `green`, `blue` or `alpha`. + * @returns {Sharp} + * @throws {Error} Invalid channel + */ +function extractChannel (channel) { + const channelMap = { red: 0, green: 1, blue: 2, alpha: 3 }; + if (Object.keys(channelMap).includes(channel)) { + channel = channelMap[channel]; + } + if (is.integer(channel) && is.inRange(channel, 0, 4)) { + this.options.extractChannel = channel; + } else { + throw is.invalidParameterError('channel', 'integer or one of: red, green, blue, alpha', channel); + } + return this; +} + +/** + * Join one or more channels to the image. + * The meaning of the added channels depends on the output colourspace, set with `toColourspace()`. + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by sharp. + * For raw pixel input, the `options` object should contain a `raw` attribute, which follows the format of the attribute of the same name in the `sharp()` constructor. + * + * @param {Array|string|Buffer} images - one or more images (file paths, Buffers). + * @param {Object} options - image options, see `sharp()` constructor. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function joinChannel (images, options) { + if (Array.isArray(images)) { + images.forEach(function (image) { + this.options.joinChannelIn.push(this._createInputDescriptor(image, options)); + }, this); + } else { + this.options.joinChannelIn.push(this._createInputDescriptor(images, options)); + } + return this; +} + +/** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * + * @example + * sharp('3-channel-rgb-input.png') + * .bandbool(sharp.bool.and) + * .toFile('1-channel-output.png', function (err, info) { + * // The output will be a single channel image where each pixel `P = R & G & B`. + * // If `I(1,1) = [247, 170, 14] = [0b11110111, 0b10101010, 0b00001111]` + * // then `O(1,1) = 0b11110111 & 0b10101010 & 0b00001111 = 0b00000010 = 2`. + * }); + * + * @param {string} boolOp - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function bandbool (boolOp) { + if (is.string(boolOp) && is.inArray(boolOp, ['and', 'or', 'eor'])) { + this.options.bandBoolOp = boolOp; + } else { + throw is.invalidParameterError('boolOp', 'one of: and, or, eor', boolOp); + } + return this; +} + +/** + * Decorate the Sharp prototype with channel-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + // Public instance functions + removeAlpha, + ensureAlpha, + extractChannel, + joinChannel, + bandbool + }); + // Class attributes + Sharp.bool = bool; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/colour.cjs b/apps/api/.output/node_modules/sharp/dist/colour.cjs new file mode 100644 index 0000000..b189a4a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/colour.cjs @@ -0,0 +1,199 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const color = require('@img/colour'); +const is = require('./is.cjs'); + +/** + * Colourspaces. + * @private + */ +const colourspace = { + multiband: 'multiband', + 'b-w': 'b-w', + bw: 'b-w', + cmyk: 'cmyk', + srgb: 'srgb' +}; + +/** + * Tint the image using the provided colour. + * An alpha channel may be present and will be unchanged by the operation. + * + * @example + * const output = await sharp(input) + * .tint({ r: 255, g: 240, b: 16 }) + * .toBuffer(); + * + * @param {string|Object} tint - Parsed by the [color](https://www.npmjs.org/package/color) module. + * @returns {Sharp} + * @throws {Error} Invalid parameter + */ +function tint (tint) { + this._setBackgroundColourOption('tint', tint); + return this; +} + +/** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) colour channels. + * This may be overridden by other sharp operations such as `toColourspace('b-w')`, + * which will produce an output image containing one colour channel. + * An alpha channel may be present, and will be unchanged by the operation. + * + * @example + * const output = await sharp(input).greyscale().toBuffer(); + * + * @param {Boolean} [greyscale=true] + * @returns {Sharp} + */ +function greyscale (greyscale) { + this.options.greyscale = is.bool(greyscale) ? greyscale : true; + return this; +} + +/** + * Alternative spelling of `greyscale`. + * @param {Boolean} [grayscale=true] + * @returns {Sharp} + */ +function grayscale (grayscale) { + return this.greyscale(grayscale); +} + +/** + * Set the pipeline colourspace. + * + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, + * as defined by {@link #tocolourspace toColourspace}. + * + * @since 0.29.0 + * + * @example + * // Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB. + * await sharp(input) + * .pipelineColourspace('rgb16') + * .toColourspace('srgb') + * .toFile('16bpc-pipeline-to-8bpc-output.png') + * + * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspacePipeline = colourspace; + return this; +} + +/** + * Alternative spelling of `pipelineColourspace`. + * @param {string} [colorspace] - pipeline colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColorspace (colorspace) { + return this.pipelineColourspace(colorspace); +} + +/** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * + * @example + * // Output 16 bits per pixel RGB + * await sharp(input) + * .toColourspace('rgb16') + * .toFile('16-bpp.png') + * + * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspace = colourspace; + return this; +} + +/** + * Alternative spelling of `toColourspace`. + * @param {string} [colorspace] - output colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColorspace (colorspace) { + return this.toColourspace(colorspace); +} + +/** + * Create a RGBA colour array from a given value. + * @private + * @param {string|Object} value + * @throws {Error} Invalid value + */ +function _getBackgroundColourOption (value) { + if ( + is.object(value) || + (is.string(value) && value.length >= 3 && value.length <= 200) + ) { + const colour = color(value); + const red = colour.red(); + const green = colour.green(); + const blue = colour.blue(); + const alpha = Math.round(colour.alpha() * 255); + for (const [channel, component] of [['red', red], ['green', green], ['blue', blue], ['alpha', alpha]]) { + if (!is.number(component)) { + throw is.invalidParameterError(`background.${channel}`, 'number', component); + } + } + return [red, green, blue, alpha]; + } else { + throw is.invalidParameterError('background', 'object or string', value); + } +} + +/** + * Update a colour attribute of the this.options Object. + * @private + * @param {string} key + * @param {string|Object} value + * @throws {Error} Invalid value + */ +function _setBackgroundColourOption (key, value) { + if (is.defined(value)) { + this.options[key] = _getBackgroundColourOption(value); + } +} + +/** + * Decorate the Sharp prototype with colour-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + // Public + tint, + greyscale, + grayscale, + pipelineColourspace, + pipelineColorspace, + toColourspace, + toColorspace, + // Private + _getBackgroundColourOption, + _setBackgroundColourOption + }); + // Class attributes + Sharp.colourspace = colourspace; + Sharp.colorspace = colourspace; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/colour.mjs b/apps/api/.output/node_modules/sharp/dist/colour.mjs new file mode 100644 index 0000000..b437857 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/colour.mjs @@ -0,0 +1,199 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import color from '@img/colour'; +import is from './is.mjs'; + +/** + * Colourspaces. + * @private + */ +const colourspace = { + multiband: 'multiband', + 'b-w': 'b-w', + bw: 'b-w', + cmyk: 'cmyk', + srgb: 'srgb' +}; + +/** + * Tint the image using the provided colour. + * An alpha channel may be present and will be unchanged by the operation. + * + * @example + * const output = await sharp(input) + * .tint({ r: 255, g: 240, b: 16 }) + * .toBuffer(); + * + * @param {string|Object} tint - Parsed by the [color](https://www.npmjs.org/package/color) module. + * @returns {Sharp} + * @throws {Error} Invalid parameter + */ +function tint (tint) { + this._setBackgroundColourOption('tint', tint); + return this; +} + +/** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. If the input image is in a non-linear colour space such as sRGB, use `gamma()` with `greyscale()` for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) colour channels. + * This may be overridden by other sharp operations such as `toColourspace('b-w')`, + * which will produce an output image containing one colour channel. + * An alpha channel may be present, and will be unchanged by the operation. + * + * @example + * const output = await sharp(input).greyscale().toBuffer(); + * + * @param {Boolean} [greyscale=true] + * @returns {Sharp} + */ +function greyscale (greyscale) { + this.options.greyscale = is.bool(greyscale) ? greyscale : true; + return this; +} + +/** + * Alternative spelling of `greyscale`. + * @param {Boolean} [grayscale=true] + * @returns {Sharp} + */ +function grayscale (grayscale) { + return this.greyscale(grayscale); +} + +/** + * Set the pipeline colourspace. + * + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, + * as defined by {@link #tocolourspace toColourspace}. + * + * @since 0.29.0 + * + * @example + * // Run pipeline in 16 bits per channel RGB while converting final result to 8 bits per channel sRGB. + * await sharp(input) + * .pipelineColourspace('rgb16') + * .toColourspace('srgb') + * .toFile('16bpc-pipeline-to-8bpc-output.png') + * + * @param {string} [colourspace] - pipeline colourspace e.g. `rgb16`, `scrgb`, `lab`, `grey16` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspacePipeline = colourspace; + return this; +} + +/** + * Alternative spelling of `pipelineColourspace`. + * @param {string} [colorspace] - pipeline colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function pipelineColorspace (colorspace) { + return this.pipelineColourspace(colorspace); +} + +/** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * + * @example + * // Output 16 bits per pixel RGB + * await sharp(input) + * .toColourspace('rgb16') + * .toFile('16-bpp.png') + * + * @param {string} [colourspace] - output colourspace e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColourspace (colourspace) { + if (!is.string(colourspace)) { + throw is.invalidParameterError('colourspace', 'string', colourspace); + } + this.options.colourspace = colourspace; + return this; +} + +/** + * Alternative spelling of `toColourspace`. + * @param {string} [colorspace] - output colorspace. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function toColorspace (colorspace) { + return this.toColourspace(colorspace); +} + +/** + * Create a RGBA colour array from a given value. + * @private + * @param {string|Object} value + * @throws {Error} Invalid value + */ +function _getBackgroundColourOption (value) { + if ( + is.object(value) || + (is.string(value) && value.length >= 3 && value.length <= 200) + ) { + const colour = color(value); + const red = colour.red(); + const green = colour.green(); + const blue = colour.blue(); + const alpha = Math.round(colour.alpha() * 255); + for (const [channel, component] of [['red', red], ['green', green], ['blue', blue], ['alpha', alpha]]) { + if (!is.number(component)) { + throw is.invalidParameterError(`background.${channel}`, 'number', component); + } + } + return [red, green, blue, alpha]; + } else { + throw is.invalidParameterError('background', 'object or string', value); + } +} + +/** + * Update a colour attribute of the this.options Object. + * @private + * @param {string} key + * @param {string|Object} value + * @throws {Error} Invalid value + */ +function _setBackgroundColourOption (key, value) { + if (is.defined(value)) { + this.options[key] = _getBackgroundColourOption(value); + } +} + +/** + * Decorate the Sharp prototype with colour-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + // Public + tint, + greyscale, + grayscale, + pipelineColourspace, + pipelineColorspace, + toColourspace, + toColorspace, + // Private + _getBackgroundColourOption, + _setBackgroundColourOption + }); + // Class attributes + Sharp.colourspace = colourspace; + Sharp.colorspace = colourspace; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/composite.cjs b/apps/api/.output/node_modules/sharp/dist/composite.cjs new file mode 100644 index 0000000..630e174 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/composite.cjs @@ -0,0 +1,213 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const is = require('./is.cjs'); + +/** + * Blend modes. + * @member + * @private + */ +const blend = { + clear: 'clear', + source: 'source', + over: 'over', + in: 'in', + out: 'out', + atop: 'atop', + dest: 'dest', + 'dest-over': 'dest-over', + 'dest-in': 'dest-in', + 'dest-out': 'dest-out', + 'dest-atop': 'dest-atop', + xor: 'xor', + add: 'add', + saturate: 'saturate', + multiply: 'multiply', + screen: 'screen', + overlay: 'overlay', + darken: 'darken', + lighten: 'lighten', + 'colour-dodge': 'colour-dodge', + 'color-dodge': 'colour-dodge', + 'colour-burn': 'colour-burn', + 'color-burn': 'colour-burn', + 'hard-light': 'hard-light', + 'soft-light': 'soft-light', + difference: 'difference', + exclusion: 'exclusion' +}; + +/** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * + * Other operations in the same processing pipeline (e.g. resize, rotate, flip, + * flop, extract) will always be applied to the input image before composition. + * + * The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`, + * `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`, + * `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`, + * `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`, + * `hard-light`, `soft-light`, `difference`, `exclusion`. + * + * More information about blend modes can be found at + * https://www.libvips.org/API/current/enum.BlendMode.html + * and https://www.cairographics.org/operators/ + * + * @since 0.22.0 + * + * @example + * await sharp(background) + * .composite([ + * { input: layer1, gravity: 'northwest' }, + * { input: layer2, gravity: 'southeast' }, + * ]) + * .toFile('combined.png'); + * + * @example + * const output = await sharp('input.gif', { animated: true }) + * .composite([ + * { input: 'overlay.png', tile: true, blend: 'saturate' } + * ]) + * .toBuffer(); + * + * @example + * sharp('input.png') + * .rotate(180) + * .resize(300) + * .flatten( { background: '#ff6600' } ) + * .composite([{ input: 'overlay.png', gravity: 'southeast' }]) + * .sharpen() + * .withMetadata() + * .webp( { quality: 90 } ) + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains upside down, 300px wide, alpha channel flattened + * // onto orange background, composited with overlay.png with SE gravity, + * // sharpened, with metadata, 90% quality WebP image data. Phew! + * }); + * + * @param {Object[]} images - Ordered list of images to composite + * @param {Buffer|String} [images[].input] - Buffer containing image data, String containing the path to an image file, or Create object (see below) + * @param {Object} [images[].input.create] - describes a blank overlay to be created. + * @param {Number} [images[].input.create.width] + * @param {Number} [images[].input.create.height] + * @param {Number} [images[].input.create.channels] - 3-4 + * @param {String|Object} [images[].input.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [images[].input.text] - describes a new text image to be created. + * @param {string} [images[].input.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. + * @param {string} [images[].input.text.font] - font name to render with. + * @param {string} [images[].input.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [images[].input.text.width=0] - integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [images[].input.text.height=0] - integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [images[].input.text.align='left'] - text alignment (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [images[].input.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [images[].input.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [images[].input.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for Pango markup features like `Red!`. + * @param {number} [images[].input.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {Boolean} [images[].autoOrient=false] - set to true to use EXIF orientation data, if present, to orient the image. + * @param {String} [images[].blend='over'] - how to blend this image with the image below. + * @param {String} [images[].gravity='centre'] - gravity at which to place the overlay. + * @param {Number} [images[].top] - the pixel offset from the top edge, an integer between -100000000 and 100000000. + * @param {Number} [images[].left] - the pixel offset from the left edge, an integer between -100000000 and 100000000. + * @param {Boolean} [images[].tile=false] - set to true to repeat the overlay image across the entire image with the given `gravity`. + * @param {Boolean} [images[].premultiplied=false] - set to true to avoid premultiplying the image below. Equivalent to the `--premultiplied` vips option. + * @param {Number} [images[].density=72] - number representing the DPI for vector overlay image. + * @param {Object} [images[].raw] - describes overlay when using raw pixel data. + * @param {Number} [images[].raw.width] + * @param {Number} [images[].raw.height] + * @param {Number} [images[].raw.channels] + * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image. + * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters} + * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters} + * @param {number|boolean} [images[].limitInputChannels=5] - @see {@link /api-constructor/ constructor parameters} + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function composite (images) { + if (!Array.isArray(images)) { + throw is.invalidParameterError('images to composite', 'array', images); + } + this.options.composite = images.map(image => { + if (!is.object(image)) { + throw is.invalidParameterError('image to composite', 'object', image); + } + const inputOptions = this._inputOptionsFromObject(image); + const composite = { + input: this._createInputDescriptor(image.input, inputOptions, { allowStream: false }), + blend: 'over', + tile: false, + left: 0, + top: 0, + hasOffset: false, + gravity: 0, + premultiplied: false + }; + if (is.defined(image.blend)) { + if (is.string(blend[image.blend])) { + composite.blend = blend[image.blend]; + } else { + throw is.invalidParameterError('blend', 'valid blend name', image.blend); + } + } + if (is.defined(image.tile)) { + if (is.bool(image.tile)) { + composite.tile = image.tile; + } else { + throw is.invalidParameterError('tile', 'boolean', image.tile); + } + } + if (is.defined(image.left)) { + if (is.integer(image.left) && is.inRange(image.left, -100000000, 100000000)) { + composite.left = image.left; + } else { + throw is.invalidParameterError('left', 'integer between -100000000 and 100000000', image.left); + } + } + if (is.defined(image.top)) { + if (is.integer(image.top) && is.inRange(image.top, -100000000, 100000000)) { + composite.top = image.top; + } else { + throw is.invalidParameterError('top', 'integer between -100000000 and 100000000', image.top); + } + } + if (is.defined(image.top) !== is.defined(image.left)) { + throw new Error('Expected both left and top to be set'); + } else { + composite.hasOffset = is.integer(image.top) && is.integer(image.left); + } + if (is.defined(image.gravity)) { + if (is.integer(image.gravity) && is.inRange(image.gravity, 0, 8)) { + composite.gravity = image.gravity; + } else if (is.string(image.gravity) && is.integer(this.constructor.gravity[image.gravity])) { + composite.gravity = this.constructor.gravity[image.gravity]; + } else { + throw is.invalidParameterError('gravity', 'valid gravity', image.gravity); + } + } + if (is.defined(image.premultiplied)) { + if (is.bool(image.premultiplied)) { + composite.premultiplied = image.premultiplied; + } else { + throw is.invalidParameterError('premultiplied', 'boolean', image.premultiplied); + } + } + return composite; + }); + return this; +} + +/** + * Decorate the Sharp prototype with composite-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Sharp.prototype.composite = composite; + Sharp.blend = blend; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/composite.mjs b/apps/api/.output/node_modules/sharp/dist/composite.mjs new file mode 100644 index 0000000..4c8119a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/composite.mjs @@ -0,0 +1,213 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import is from './is.mjs'; + +/** + * Blend modes. + * @member + * @private + */ +const blend = { + clear: 'clear', + source: 'source', + over: 'over', + in: 'in', + out: 'out', + atop: 'atop', + dest: 'dest', + 'dest-over': 'dest-over', + 'dest-in': 'dest-in', + 'dest-out': 'dest-out', + 'dest-atop': 'dest-atop', + xor: 'xor', + add: 'add', + saturate: 'saturate', + multiply: 'multiply', + screen: 'screen', + overlay: 'overlay', + darken: 'darken', + lighten: 'lighten', + 'colour-dodge': 'colour-dodge', + 'color-dodge': 'colour-dodge', + 'colour-burn': 'colour-burn', + 'color-burn': 'colour-burn', + 'hard-light': 'hard-light', + 'soft-light': 'soft-light', + difference: 'difference', + exclusion: 'exclusion' +}; + +/** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * + * Other operations in the same processing pipeline (e.g. resize, rotate, flip, + * flop, extract) will always be applied to the input image before composition. + * + * The `blend` option can be one of `clear`, `source`, `over`, `in`, `out`, `atop`, + * `dest`, `dest-over`, `dest-in`, `dest-out`, `dest-atop`, + * `xor`, `add`, `saturate`, `multiply`, `screen`, `overlay`, `darken`, `lighten`, + * `colour-dodge`, `color-dodge`, `colour-burn`,`color-burn`, + * `hard-light`, `soft-light`, `difference`, `exclusion`. + * + * More information about blend modes can be found at + * https://www.libvips.org/API/current/enum.BlendMode.html + * and https://www.cairographics.org/operators/ + * + * @since 0.22.0 + * + * @example + * await sharp(background) + * .composite([ + * { input: layer1, gravity: 'northwest' }, + * { input: layer2, gravity: 'southeast' }, + * ]) + * .toFile('combined.png'); + * + * @example + * const output = await sharp('input.gif', { animated: true }) + * .composite([ + * { input: 'overlay.png', tile: true, blend: 'saturate' } + * ]) + * .toBuffer(); + * + * @example + * sharp('input.png') + * .rotate(180) + * .resize(300) + * .flatten( { background: '#ff6600' } ) + * .composite([{ input: 'overlay.png', gravity: 'southeast' }]) + * .sharpen() + * .withMetadata() + * .webp( { quality: 90 } ) + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains upside down, 300px wide, alpha channel flattened + * // onto orange background, composited with overlay.png with SE gravity, + * // sharpened, with metadata, 90% quality WebP image data. Phew! + * }); + * + * @param {Object[]} images - Ordered list of images to composite + * @param {Buffer|String} [images[].input] - Buffer containing image data, String containing the path to an image file, or Create object (see below) + * @param {Object} [images[].input.create] - describes a blank overlay to be created. + * @param {Number} [images[].input.create.width] + * @param {Number} [images[].input.create.height] + * @param {Number} [images[].input.create.channels] - 3-4 + * @param {String|Object} [images[].input.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [images[].input.text] - describes a new text image to be created. + * @param {string} [images[].input.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. + * @param {string} [images[].input.text.font] - font name to render with. + * @param {string} [images[].input.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [images[].input.text.width=0] - integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [images[].input.text.height=0] - integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [images[].input.text.align='left'] - text alignment (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [images[].input.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [images[].input.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [images[].input.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for Pango markup features like `Red!`. + * @param {number} [images[].input.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {Boolean} [images[].autoOrient=false] - set to true to use EXIF orientation data, if present, to orient the image. + * @param {String} [images[].blend='over'] - how to blend this image with the image below. + * @param {String} [images[].gravity='centre'] - gravity at which to place the overlay. + * @param {Number} [images[].top] - the pixel offset from the top edge, an integer between -100000000 and 100000000. + * @param {Number} [images[].left] - the pixel offset from the left edge, an integer between -100000000 and 100000000. + * @param {Boolean} [images[].tile=false] - set to true to repeat the overlay image across the entire image with the given `gravity`. + * @param {Boolean} [images[].premultiplied=false] - set to true to avoid premultiplying the image below. Equivalent to the `--premultiplied` vips option. + * @param {Number} [images[].density=72] - number representing the DPI for vector overlay image. + * @param {Object} [images[].raw] - describes overlay when using raw pixel data. + * @param {Number} [images[].raw.width] + * @param {Number} [images[].raw.height] + * @param {Number} [images[].raw.channels] + * @param {boolean} [images[].animated=false] - Set to `true` to read all frames/pages of an animated image. + * @param {string} [images[].failOn='warning'] - @see {@link /api-constructor/ constructor parameters} + * @param {number|boolean} [images[].limitInputPixels=268402689] - @see {@link /api-constructor/ constructor parameters} + * @param {number|boolean} [images[].limitInputChannels=5] - @see {@link /api-constructor/ constructor parameters} + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function composite (images) { + if (!Array.isArray(images)) { + throw is.invalidParameterError('images to composite', 'array', images); + } + this.options.composite = images.map(image => { + if (!is.object(image)) { + throw is.invalidParameterError('image to composite', 'object', image); + } + const inputOptions = this._inputOptionsFromObject(image); + const composite = { + input: this._createInputDescriptor(image.input, inputOptions, { allowStream: false }), + blend: 'over', + tile: false, + left: 0, + top: 0, + hasOffset: false, + gravity: 0, + premultiplied: false + }; + if (is.defined(image.blend)) { + if (is.string(blend[image.blend])) { + composite.blend = blend[image.blend]; + } else { + throw is.invalidParameterError('blend', 'valid blend name', image.blend); + } + } + if (is.defined(image.tile)) { + if (is.bool(image.tile)) { + composite.tile = image.tile; + } else { + throw is.invalidParameterError('tile', 'boolean', image.tile); + } + } + if (is.defined(image.left)) { + if (is.integer(image.left) && is.inRange(image.left, -100000000, 100000000)) { + composite.left = image.left; + } else { + throw is.invalidParameterError('left', 'integer between -100000000 and 100000000', image.left); + } + } + if (is.defined(image.top)) { + if (is.integer(image.top) && is.inRange(image.top, -100000000, 100000000)) { + composite.top = image.top; + } else { + throw is.invalidParameterError('top', 'integer between -100000000 and 100000000', image.top); + } + } + if (is.defined(image.top) !== is.defined(image.left)) { + throw new Error('Expected both left and top to be set'); + } else { + composite.hasOffset = is.integer(image.top) && is.integer(image.left); + } + if (is.defined(image.gravity)) { + if (is.integer(image.gravity) && is.inRange(image.gravity, 0, 8)) { + composite.gravity = image.gravity; + } else if (is.string(image.gravity) && is.integer(this.constructor.gravity[image.gravity])) { + composite.gravity = this.constructor.gravity[image.gravity]; + } else { + throw is.invalidParameterError('gravity', 'valid gravity', image.gravity); + } + } + if (is.defined(image.premultiplied)) { + if (is.bool(image.premultiplied)) { + composite.premultiplied = image.premultiplied; + } else { + throw is.invalidParameterError('premultiplied', 'boolean', image.premultiplied); + } + } + return composite; + }); + return this; +} + +/** + * Decorate the Sharp prototype with composite-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Sharp.prototype.composite = composite; + Sharp.blend = blend; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/constructor.cjs b/apps/api/.output/node_modules/sharp/dist/constructor.cjs new file mode 100644 index 0000000..aab934b --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/constructor.cjs @@ -0,0 +1,511 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const util = require('node:util'); +const stream = require('node:stream'); +const is = require('./is.cjs'); + +require('./sharp.cjs'); + +// Use NODE_DEBUG=sharp to enable libvips warnings +const debuglog = util.debuglog('sharp'); + +const queueListener = (queueLength) => { + Sharp.queue.emit('change', queueLength); +}; + +/** + * Constructor factory to create an instance of `sharp`, to which further methods are chained. + * + * JPEG, PNG, WebP, GIF, AVIF or TIFF format image data can be streamed out from this object. + * When using Stream based output, derived attributes are available from the `info` event. + * + * Non-critical problems encountered during processing are emitted as `warning` events. + * + * Implements the [stream.Duplex](http://nodejs.org/api/stream.html#stream_class_stream_duplex) class. + * + * When loading more than one page/frame of an animated image, + * these are combined as a vertically-stacked "toilet roll" image + * where the overall height is the `pageHeight` multiplied by the number of `pages`. + * + * @constructs Sharp + * + * @emits Sharp#info + * @emits Sharp#warning + * + * @example + * sharp('input.jpg') + * .resize(300, 200) + * .toFile('output.jpg', function(err) { + * // output.jpg is a 300 pixels wide and 200 pixels high image + * // containing a scaled and cropped version of input.jpg + * }); + * + * @example + * // Read image data from remote URL, + * // resize to 300 pixels wide, + * // emit an 'info' event with calculated dimensions + * // and finally write image data to writableStream + * const { body } = await fetch('https://...'); + * const readableStream = Readable.fromWeb(body); + * const transformer = sharp() + * .resize(300) + * .on('info', ({ height }) => { + * console.log(`Image height is ${height}`); + * }); + * readableStream.pipe(transformer).pipe(writableStream); + * + * @example + * // Web Streams API, requires Node.js >= 24.15.0 + * const { Duplex } = require('node:stream'); + * + * const { body } = await fetch('https://...'); + * const transformer = Duplex.toWeb( + * sharp().resize(300), + * { readableType: 'bytes' } + * ); + * body.pipeThrough(transformer).pipeTo(writable); + * + * @example + * // Create a blank 300x200 PNG image of semi-translucent red pixels + * sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 4, + * background: { r: 255, g: 0, b: 0, alpha: 0.5 } + * } + * }) + * .png() + * .toBuffer() + * .then( ... ); + * + * @example + * // Convert an animated GIF to an animated WebP + * await sharp('in.gif', { animated: true }).toFile('out.webp'); + * + * @example + * // Read a raw array of pixels and save it to a png + * const input = Uint8Array.from([255, 255, 255, 0, 0, 0]); // or Uint8ClampedArray + * const image = sharp(input, { + * // because the input does not contain its dimensions or how many channels it has + * // we need to specify it in the constructor options + * raw: { + * width: 2, + * height: 1, + * channels: 3 + * } + * }); + * await image.toFile('my-two-pixels.png'); + * + * @example + * // Generate RGB Gaussian noise + * await sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 3, + * noise: { + * type: 'gaussian', + * mean: 128, + * sigma: 30 + * } + * } + * }).toFile('noise.png'); + * + * @example + * // Generate an image from text + * await sharp({ + * text: { + * text: 'Hello, world!', + * width: 400, // max width + * height: 300 // max height + * } + * }).toFile('text_bw.png'); + * + * @example + * // Generate an rgba image from text using pango markup and font + * await sharp({ + * text: { + * text: 'Red!blue', + * font: 'sans', + * rgba: true, + * dpi: 300 + * } + * }).toFile('text_rgba.png'); + * + * @example + * // Join four input images as a 2x2 grid with a 4 pixel gutter + * const data = await sharp( + * [image1, image2, image3, image4], + * { join: { across: 2, shim: 4 } } + * ).toBuffer(); + * + * @example + * // Generate a two-frame animated image from emoji + * const images = ['😀', '😛'].map(text => ({ + * text: { text, width: 64, height: 64, channels: 4, rgba: true } + * })); + * await sharp(images, { join: { animated: true } }).toFile('out.gif'); + * + * @param {(Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|string|Array)} [input] - if present, can be + * a Buffer / ArrayBuffer / Uint8Array / Uint8ClampedArray containing JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image data, or + * a TypedArray containing raw pixel image data, or + * a String containing the filesystem path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * An array of inputs can be provided, and these will be joined together. + * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort. Use the default 'warning' level with untrusted input. + * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels + * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). + * @param {number|boolean} [options.limitInputChannels=5] - Do not process input images where the number of channels exceeds this limit. Assumes image metadata can be trusted. + * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. + * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF). + * @param {boolean} [options.autoOrient=false] - Set this to `true` to rotate/flip the image to match EXIF `Orientation`, if any. + * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically. + * @param {number} [options.density=72] - The DPI at which to render SVG and PDF images, in the range 1 to 100000. + * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored. + * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages. + * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based. + * @param {boolean} [options.animated=false] - Set to `true` to read all frames/pages of an animated image (GIF, WebP, TIFF), equivalent of setting `pages` to `-1`. + * @param {Object} [options.raw] - describes raw pixel input image data. See `raw()` for pixel ordering. + * @param {number} [options.raw.width] - integral number of pixels wide. + * @param {number} [options.raw.height] - integral number of pixels high. + * @param {number} [options.raw.channels] - integral number of channels, between 1 and 4. + * @param {boolean} [options.raw.premultiplied] - specifies that the raw input has already been premultiplied, set to `true` + * to avoid sharp premultiplying the image. (optional, default `false`) + * @param {number} [options.raw.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `raw.height`. + * @param {Object} [options.create] - describes a new image to be created. + * @param {number} [options.create.width] - integral number of pixels wide. + * @param {number} [options.create.height] - integral number of pixels high. + * @param {number} [options.create.channels] - integral number of channels, either 3 (RGB) or 4 (RGBA). + * @param {string|Object} [options.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {number} [options.create.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `create.height`. + * @param {Object} [options.create.noise] - describes a noise to be created. + * @param {string} [options.create.noise.type] - type of generated noise, currently only `gaussian` is supported. + * @param {number} [options.create.noise.mean=128] - Mean value of pixels in the generated noise. + * @param {number} [options.create.noise.sigma=30] - Standard deviation of pixel values in the generated noise. + * @param {Object} [options.text] - describes a new text image to be created. + * @param {string} [options.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. + * @param {string} [options.text.font] - font name to render with. + * @param {string} [options.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [options.text.width=0] - Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [options.text.height=0] - Maximum integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [options.text.align='left'] - Alignment style for multi-line text (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [options.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [options.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [options.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for pango markup features like `Red!`. + * @param {number} [options.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {string} [options.text.wrap='word'] - word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none'. + * @param {Object} [options.join] - describes how an array of input images should be joined. + * @param {number} [options.join.across=1] - number of images to join horizontally. + * @param {boolean} [options.join.animated=false] - set this to `true` to join the images as an animated image. + * @param {number} [options.join.shim=0] - number of pixels to insert between joined images. + * @param {string|Object} [options.join.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {string} [options.join.halign='left'] - horizontal alignment style for images joined horizontally (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {string} [options.join.valign='top'] - vertical alignment style for images joined vertically (`'top'`, `'centre'`, `'center'`, `'bottom'`). + * @param {Object} [options.tiff] - Describes TIFF specific options. + * @param {number} [options.tiff.subifd=-1] - Sub Image File Directory to extract for OME-TIFF, defaults to main image. + * @param {Object} [options.svg] - Describes SVG specific options. + * @param {string} [options.svg.stylesheet] - Custom CSS for SVG input, applied with a User Origin during the CSS cascade. + * @param {boolean} [options.svg.highBitdepth=false] - Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. + * @param {Object} [options.pdf] - Describes PDF specific options. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. + * @param {string|Object} [options.pdf.background] - Background colour to use when PDF is partially transparent. Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [options.openSlide] - Describes OpenSlide specific options. Requires the use of a globally-installed libvips compiled with support for OpenSlide. + * @param {number} [options.openSlide.level=0] - Level to extract from a multi-level input, zero based. + * @param {Object} [options.jp2] - Describes JPEG 2000 specific options. Requires the use of a globally-installed libvips compiled with support for OpenJPEG. + * @param {boolean} [options.jp2.oneshot=false] - Set to `true` to decode tiled JPEG 2000 images in a single operation, improving compatibility. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +const Sharp = function (input, options) { + // biome-ignore lint/complexity/noArguments: constructor factory + if (arguments.length === 1 && !is.defined(input)) { + throw new Error('Invalid input'); + } + if (!(this instanceof Sharp)) { + return new Sharp(input, options); + } + stream.Duplex.call(this); + this.options = { + // resize options + topOffsetPre: -1, + leftOffsetPre: -1, + widthPre: -1, + heightPre: -1, + topOffsetPost: -1, + leftOffsetPost: -1, + widthPost: -1, + heightPost: -1, + width: -1, + height: -1, + canvas: 'crop', + position: 0, + resizeBackground: [0, 0, 0, 255], + angle: 0, + rotationAngle: 0, + rotationBackground: [0, 0, 0, 255], + rotateBefore: false, + orientBefore: false, + flip: false, + flop: false, + extendTop: 0, + extendBottom: 0, + extendLeft: 0, + extendRight: 0, + extendBackground: [0, 0, 0, 255], + extendWith: 'background', + withoutEnlargement: false, + withoutReduction: false, + affineMatrix: [], + affineBackground: [0, 0, 0, 255], + affineIdx: 0, + affineIdy: 0, + affineOdx: 0, + affineOdy: 0, + affineInterpolator: this.constructor.interpolators.bilinear, + kernel: 'lanczos3', + fastShrinkOnLoad: true, + // operations + tint: [-1, 0, 0, 0], + flatten: false, + flattenBackground: [0, 0, 0], + unflatten: false, + negate: false, + negateAlpha: true, + medianSize: 0, + blurSigma: 0, + precision: 'integer', + minAmpl: 0.2, + sharpenSigma: 0, + sharpenM1: 1, + sharpenM2: 2, + sharpenX1: 2, + sharpenY2: 10, + sharpenY3: 20, + threshold: 0, + thresholdGrayscale: true, + trimBackground: [], + trimThreshold: -1, + trimLineArt: false, + trimMargin: 0, + dilateWidth: 0, + erodeWidth: 0, + gamma: 0, + gammaOut: 0, + greyscale: false, + normalise: false, + normaliseLower: 1, + normaliseUpper: 99, + claheWidth: 0, + claheHeight: 0, + claheMaxSlope: 3, + brightness: 1, + saturation: 1, + hue: 0, + lightness: 0, + booleanBufferIn: null, + booleanFileIn: '', + joinChannelIn: [], + extractChannel: -1, + removeAlpha: false, + ensureAlpha: -1, + colourspace: 'srgb', + colourspacePipeline: 'last', + composite: [], + // output + fileOut: '', + formatOut: 'input', + streamOut: false, + typedArrayOut: false, + keepMetadata: 0, + withMetadataOrientation: -1, + withMetadataDensity: 0, + withIccProfile: '', + withExif: {}, + withExifMerge: true, + withXmp: '', + keepGainMap: false, + withGainMap: false, + resolveWithObject: false, + loop: -1, + delay: [], + // output format + jpegQuality: 80, + jpegProgressive: false, + jpegChromaSubsampling: '4:2:0', + jpegTrellisQuantisation: false, + jpegOvershootDeringing: false, + jpegOptimiseScans: false, + jpegOptimiseCoding: true, + jpegQuantisationTable: 0, + pngProgressive: false, + pngCompressionLevel: 6, + pngAdaptiveFiltering: false, + pngPalette: false, + pngQuality: 100, + pngEffort: 7, + pngBitdepth: 8, + pngDither: 1, + jp2Quality: 80, + jp2TileHeight: 512, + jp2TileWidth: 512, + jp2Lossless: false, + jp2ChromaSubsampling: '4:4:4', + webpQuality: 80, + webpAlphaQuality: 100, + webpLossless: false, + webpNearLossless: false, + webpSmartSubsample: false, + webpSmartDeblock: false, + webpPreset: 'default', + webpEffort: 4, + webpMinSize: false, + webpMixed: false, + webpExact: false, + gifBitdepth: 8, + gifEffort: 7, + gifDither: 1, + gifInterFrameMaxError: 0, + gifInterPaletteMaxError: 3, + gifKeepDuplicateFrames: false, + gifReuse: true, + gifProgressive: false, + tiffQuality: 80, + tiffCompression: 'jpeg', + tiffBigtiff: false, + tiffPredictor: 'horizontal', + tiffPyramid: false, + tiffMiniswhite: false, + tiffBitdepth: 0, + tiffTile: false, + tiffTileHeight: 256, + tiffTileWidth: 256, + tiffXres: 1.0, + tiffYres: 1.0, + tiffResolutionUnit: 'inch', + heifQuality: 50, + heifLossless: false, + heifCompression: 'av1', + heifEffort: 4, + heifChromaSubsampling: '4:4:4', + heifBitdepth: 8, + heifTune: 'auto', + jxlDistance: 1, + jxlDecodingTier: 0, + jxlEffort: 7, + jxlLossless: false, + rawDepth: 'uchar', + tileSize: 256, + tileOverlap: 0, + tileContainer: 'fs', + tileLayout: 'dz', + tileFormat: 'last', + tileDepth: 'last', + tileAngle: 0, + tileSkipBlanks: -1, + tileBackground: [255, 255, 255, 255], + tileCentre: false, + tileId: 'https://example.com/iiif', + tileBasename: '', + timeoutSeconds: 0, + linearA: [], + linearB: [], + pdfBackground: [255, 255, 255, 255], + // Function to notify of libvips warnings + debuglog: warning => { + this.emit('warning', warning); + debuglog(warning); + }, + // Function to notify of queue length changes + queueListener + }; + this.options.input = this._createInputDescriptor(input, options, { allowStream: true }); + return this; +}; +Object.setPrototypeOf(Sharp.prototype, stream.Duplex.prototype); +Object.setPrototypeOf(Sharp, stream.Duplex); + +/** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * + * @example + * // firstWritableStream receives auto-rotated, resized readableStream + * // secondWritableStream receives auto-rotated, extracted region of readableStream + * + * const pipeline = sharp().rotate(); + * pipeline + * .clone() + * .resize(800, 600) + * .pipe(firstWritableStream); + * pipeline + * .clone() + * .extract({ left: 20, top: 20, width: 100, height: 100 }) + * .pipe(secondWritableStream); + * readableStream.pipe(pipeline); + * + * @example + * // Create a pipeline that will download an image, resize it and format it to different files + * // Using Promises to know when the pipeline is complete + * + * const sharpStream = sharp(); + * + * const promises = []; + * promises.push( + * sharpStream + * .clone() + * .jpeg({ quality: 100 }) + * .toFile("originalFile.jpg") + * ); + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .jpeg({ quality: 80 }) + * .toFile("optimized-500.jpg") + * ); + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .webp({ quality: 80 }) + * .toFile("optimized-500.webp") + * ); + * + * const res = await fetch("https://www.example.com/some-file.jpg") + * Readable.fromWeb(res.body).pipe(sharpStream); + * await Promise.all(promises); + * + * @returns {Sharp} + */ +function clone () { + // Clone existing options + const clone = this.constructor.call(); + const { debuglog, queueListener, ...options } = this.options; + clone.options = structuredClone(options); + clone.options.debuglog = debuglog; + clone.options.queueListener = queueListener; + // Pass 'finish' event to clone for Stream-based input + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + // Clone inherits input data + this._flattenBufferIn(); + clone.options.input.buffer = this.options.input.buffer; + clone.emit('finish'); + }); + } + return clone; +} +Object.assign(Sharp.prototype, { clone }); + +/** + * Export constructor. + * @module Sharp + * @private + */ +module.exports = Sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/constructor.mjs b/apps/api/.output/node_modules/sharp/dist/constructor.mjs new file mode 100644 index 0000000..f2b9869 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/constructor.mjs @@ -0,0 +1,511 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import util from 'node:util'; +import stream from 'node:stream'; +import is from './is.mjs'; + +import './sharp.mjs'; + +// Use NODE_DEBUG=sharp to enable libvips warnings +const debuglog = util.debuglog('sharp'); + +const queueListener = (queueLength) => { + Sharp.queue.emit('change', queueLength); +}; + +/** + * Constructor factory to create an instance of `sharp`, to which further methods are chained. + * + * JPEG, PNG, WebP, GIF, AVIF or TIFF format image data can be streamed out from this object. + * When using Stream based output, derived attributes are available from the `info` event. + * + * Non-critical problems encountered during processing are emitted as `warning` events. + * + * Implements the [stream.Duplex](http://nodejs.org/api/stream.html#stream_class_stream_duplex) class. + * + * When loading more than one page/frame of an animated image, + * these are combined as a vertically-stacked "toilet roll" image + * where the overall height is the `pageHeight` multiplied by the number of `pages`. + * + * @constructs Sharp + * + * @emits Sharp#info + * @emits Sharp#warning + * + * @example + * sharp('input.jpg') + * .resize(300, 200) + * .toFile('output.jpg', function(err) { + * // output.jpg is a 300 pixels wide and 200 pixels high image + * // containing a scaled and cropped version of input.jpg + * }); + * + * @example + * // Read image data from remote URL, + * // resize to 300 pixels wide, + * // emit an 'info' event with calculated dimensions + * // and finally write image data to writableStream + * const { body } = await fetch('https://...'); + * const readableStream = Readable.fromWeb(body); + * const transformer = sharp() + * .resize(300) + * .on('info', ({ height }) => { + * console.log(`Image height is ${height}`); + * }); + * readableStream.pipe(transformer).pipe(writableStream); + * + * @example + * // Web Streams API, requires Node.js >= 24.15.0 + * import { Duplex } from 'node:stream'; + * + * const { body } = await fetch('https://...'); + * const transformer = Duplex.toWeb( + * sharp().resize(300), + * { readableType: 'bytes' } + * ); + * body.pipeThrough(transformer).pipeTo(writable); + * + * @example + * // Create a blank 300x200 PNG image of semi-translucent red pixels + * sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 4, + * background: { r: 255, g: 0, b: 0, alpha: 0.5 } + * } + * }) + * .png() + * .toBuffer() + * .then( ... ); + * + * @example + * // Convert an animated GIF to an animated WebP + * await sharp('in.gif', { animated: true }).toFile('out.webp'); + * + * @example + * // Read a raw array of pixels and save it to a png + * const input = Uint8Array.from([255, 255, 255, 0, 0, 0]); // or Uint8ClampedArray + * const image = sharp(input, { + * // because the input does not contain its dimensions or how many channels it has + * // we need to specify it in the constructor options + * raw: { + * width: 2, + * height: 1, + * channels: 3 + * } + * }); + * await image.toFile('my-two-pixels.png'); + * + * @example + * // Generate RGB Gaussian noise + * await sharp({ + * create: { + * width: 300, + * height: 200, + * channels: 3, + * noise: { + * type: 'gaussian', + * mean: 128, + * sigma: 30 + * } + * } + * }).toFile('noise.png'); + * + * @example + * // Generate an image from text + * await sharp({ + * text: { + * text: 'Hello, world!', + * width: 400, // max width + * height: 300 // max height + * } + * }).toFile('text_bw.png'); + * + * @example + * // Generate an rgba image from text using pango markup and font + * await sharp({ + * text: { + * text: 'Red!blue', + * font: 'sans', + * rgba: true, + * dpi: 300 + * } + * }).toFile('text_rgba.png'); + * + * @example + * // Join four input images as a 2x2 grid with a 4 pixel gutter + * const data = await sharp( + * [image1, image2, image3, image4], + * { join: { across: 2, shim: 4 } } + * ).toBuffer(); + * + * @example + * // Generate a two-frame animated image from emoji + * const images = ['😀', '😛'].map(text => ({ + * text: { text, width: 64, height: 64, channels: 4, rgba: true } + * })); + * await sharp(images, { join: { animated: true } }).toFile('out.gif'); + * + * @param {(Buffer|ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|Uint16Array|Int16Array|Uint32Array|Int32Array|Float32Array|Float64Array|string|Array)} [input] - if present, can be + * a Buffer / ArrayBuffer / Uint8Array / Uint8ClampedArray containing JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image data, or + * a TypedArray containing raw pixel image data, or + * a String containing the filesystem path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * An array of inputs can be provided, and these will be joined together. + * JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data can be streamed into the object when not present. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string} [options.failOn='warning'] - When to abort processing of invalid pixel data, one of (in order of sensitivity, least to most): 'none', 'truncated', 'error', 'warning'. Higher levels imply lower levels. Invalid metadata will always abort. Use the default 'warning' level with untrusted input. + * @param {number|boolean} [options.limitInputPixels=268402689] - Do not process input images where the number of pixels + * (width x height) exceeds this limit. Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). + * @param {number|boolean} [options.limitInputChannels=5] - Do not process input images where the number of channels exceeds this limit. Assumes image metadata can be trusted. + * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. + * @param {boolean} [options.unlimited=false] - Set this to `true` to remove safety features that help prevent memory exhaustion (JPEG, PNG, SVG, HEIF). + * @param {boolean} [options.autoOrient=false] - Set this to `true` to rotate/flip the image to match EXIF `Orientation`, if any. + * @param {boolean} [options.sequentialRead=true] - Set this to `false` to use random access rather than sequential read. Some operations will do this automatically. + * @param {number} [options.density=72] - The DPI at which to render SVG and PDF images, in the range 1 to 100000. + * @param {number} [options.ignoreIcc=false] - should the embedded ICC profile, if any, be ignored. + * @param {number} [options.pages=1] - Number of pages to extract for multi-page input (GIF, WebP, TIFF), use -1 for all pages. + * @param {number} [options.page=0] - Page number to start extracting from for multi-page input (GIF, WebP, TIFF), zero based. + * @param {boolean} [options.animated=false] - Set to `true` to read all frames/pages of an animated image (GIF, WebP, TIFF), equivalent of setting `pages` to `-1`. + * @param {Object} [options.raw] - describes raw pixel input image data. See `raw()` for pixel ordering. + * @param {number} [options.raw.width] - integral number of pixels wide. + * @param {number} [options.raw.height] - integral number of pixels high. + * @param {number} [options.raw.channels] - integral number of channels, between 1 and 4. + * @param {boolean} [options.raw.premultiplied] - specifies that the raw input has already been premultiplied, set to `true` + * to avoid sharp premultiplying the image. (optional, default `false`) + * @param {number} [options.raw.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `raw.height`. + * @param {Object} [options.create] - describes a new image to be created. + * @param {number} [options.create.width] - integral number of pixels wide. + * @param {number} [options.create.height] - integral number of pixels high. + * @param {number} [options.create.channels] - integral number of channels, either 3 (RGB) or 4 (RGBA). + * @param {string|Object} [options.create.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {number} [options.create.pageHeight] - The pixel height of each page/frame for animated images, must be an integral factor of `create.height`. + * @param {Object} [options.create.noise] - describes a noise to be created. + * @param {string} [options.create.noise.type] - type of generated noise, currently only `gaussian` is supported. + * @param {number} [options.create.noise.mean=128] - Mean value of pixels in the generated noise. + * @param {number} [options.create.noise.sigma=30] - Standard deviation of pixel values in the generated noise. + * @param {Object} [options.text] - describes a new text image to be created. + * @param {string} [options.text.text] - text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. + * @param {string} [options.text.font] - font name to render with. + * @param {string} [options.text.fontfile] - absolute filesystem path to a font file that can be used by `font`. + * @param {number} [options.text.width=0] - Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. + * @param {number} [options.text.height=0] - Maximum integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. + * @param {string} [options.text.align='left'] - Alignment style for multi-line text (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {boolean} [options.text.justify=false] - set this to true to apply justification to the text. + * @param {number} [options.text.dpi=72] - the resolution (size) at which to render the text. Does not take effect if `height` is specified. + * @param {boolean} [options.text.rgba=false] - set this to true to enable RGBA output. This is useful for colour emoji rendering, or support for pango markup features like `Red!`. + * @param {number} [options.text.spacing=0] - text line height in points. Will use the font line height if none is specified. + * @param {string} [options.text.wrap='word'] - word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none'. + * @param {Object} [options.join] - describes how an array of input images should be joined. + * @param {number} [options.join.across=1] - number of images to join horizontally. + * @param {boolean} [options.join.animated=false] - set this to `true` to join the images as an animated image. + * @param {number} [options.join.shim=0] - number of pixels to insert between joined images. + * @param {string|Object} [options.join.background] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {string} [options.join.halign='left'] - horizontal alignment style for images joined horizontally (`'left'`, `'centre'`, `'center'`, `'right'`). + * @param {string} [options.join.valign='top'] - vertical alignment style for images joined vertically (`'top'`, `'centre'`, `'center'`, `'bottom'`). + * @param {Object} [options.tiff] - Describes TIFF specific options. + * @param {number} [options.tiff.subifd=-1] - Sub Image File Directory to extract for OME-TIFF, defaults to main image. + * @param {Object} [options.svg] - Describes SVG specific options. + * @param {string} [options.svg.stylesheet] - Custom CSS for SVG input, applied with a User Origin during the CSS cascade. + * @param {boolean} [options.svg.highBitdepth=false] - Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. + * @param {Object} [options.pdf] - Describes PDF specific options. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. + * @param {string|Object} [options.pdf.background] - Background colour to use when PDF is partially transparent. Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Object} [options.openSlide] - Describes OpenSlide specific options. Requires the use of a globally-installed libvips compiled with support for OpenSlide. + * @param {number} [options.openSlide.level=0] - Level to extract from a multi-level input, zero based. + * @param {Object} [options.jp2] - Describes JPEG 2000 specific options. Requires the use of a globally-installed libvips compiled with support for OpenJPEG. + * @param {boolean} [options.jp2.oneshot=false] - Set to `true` to decode tiled JPEG 2000 images in a single operation, improving compatibility. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +const Sharp = function (input, options) { + // biome-ignore lint/complexity/noArguments: constructor factory + if (arguments.length === 1 && !is.defined(input)) { + throw new Error('Invalid input'); + } + if (!(this instanceof Sharp)) { + return new Sharp(input, options); + } + stream.Duplex.call(this); + this.options = { + // resize options + topOffsetPre: -1, + leftOffsetPre: -1, + widthPre: -1, + heightPre: -1, + topOffsetPost: -1, + leftOffsetPost: -1, + widthPost: -1, + heightPost: -1, + width: -1, + height: -1, + canvas: 'crop', + position: 0, + resizeBackground: [0, 0, 0, 255], + angle: 0, + rotationAngle: 0, + rotationBackground: [0, 0, 0, 255], + rotateBefore: false, + orientBefore: false, + flip: false, + flop: false, + extendTop: 0, + extendBottom: 0, + extendLeft: 0, + extendRight: 0, + extendBackground: [0, 0, 0, 255], + extendWith: 'background', + withoutEnlargement: false, + withoutReduction: false, + affineMatrix: [], + affineBackground: [0, 0, 0, 255], + affineIdx: 0, + affineIdy: 0, + affineOdx: 0, + affineOdy: 0, + affineInterpolator: this.constructor.interpolators.bilinear, + kernel: 'lanczos3', + fastShrinkOnLoad: true, + // operations + tint: [-1, 0, 0, 0], + flatten: false, + flattenBackground: [0, 0, 0], + unflatten: false, + negate: false, + negateAlpha: true, + medianSize: 0, + blurSigma: 0, + precision: 'integer', + minAmpl: 0.2, + sharpenSigma: 0, + sharpenM1: 1, + sharpenM2: 2, + sharpenX1: 2, + sharpenY2: 10, + sharpenY3: 20, + threshold: 0, + thresholdGrayscale: true, + trimBackground: [], + trimThreshold: -1, + trimLineArt: false, + trimMargin: 0, + dilateWidth: 0, + erodeWidth: 0, + gamma: 0, + gammaOut: 0, + greyscale: false, + normalise: false, + normaliseLower: 1, + normaliseUpper: 99, + claheWidth: 0, + claheHeight: 0, + claheMaxSlope: 3, + brightness: 1, + saturation: 1, + hue: 0, + lightness: 0, + booleanBufferIn: null, + booleanFileIn: '', + joinChannelIn: [], + extractChannel: -1, + removeAlpha: false, + ensureAlpha: -1, + colourspace: 'srgb', + colourspacePipeline: 'last', + composite: [], + // output + fileOut: '', + formatOut: 'input', + streamOut: false, + typedArrayOut: false, + keepMetadata: 0, + withMetadataOrientation: -1, + withMetadataDensity: 0, + withIccProfile: '', + withExif: {}, + withExifMerge: true, + withXmp: '', + keepGainMap: false, + withGainMap: false, + resolveWithObject: false, + loop: -1, + delay: [], + // output format + jpegQuality: 80, + jpegProgressive: false, + jpegChromaSubsampling: '4:2:0', + jpegTrellisQuantisation: false, + jpegOvershootDeringing: false, + jpegOptimiseScans: false, + jpegOptimiseCoding: true, + jpegQuantisationTable: 0, + pngProgressive: false, + pngCompressionLevel: 6, + pngAdaptiveFiltering: false, + pngPalette: false, + pngQuality: 100, + pngEffort: 7, + pngBitdepth: 8, + pngDither: 1, + jp2Quality: 80, + jp2TileHeight: 512, + jp2TileWidth: 512, + jp2Lossless: false, + jp2ChromaSubsampling: '4:4:4', + webpQuality: 80, + webpAlphaQuality: 100, + webpLossless: false, + webpNearLossless: false, + webpSmartSubsample: false, + webpSmartDeblock: false, + webpPreset: 'default', + webpEffort: 4, + webpMinSize: false, + webpMixed: false, + webpExact: false, + gifBitdepth: 8, + gifEffort: 7, + gifDither: 1, + gifInterFrameMaxError: 0, + gifInterPaletteMaxError: 3, + gifKeepDuplicateFrames: false, + gifReuse: true, + gifProgressive: false, + tiffQuality: 80, + tiffCompression: 'jpeg', + tiffBigtiff: false, + tiffPredictor: 'horizontal', + tiffPyramid: false, + tiffMiniswhite: false, + tiffBitdepth: 0, + tiffTile: false, + tiffTileHeight: 256, + tiffTileWidth: 256, + tiffXres: 1.0, + tiffYres: 1.0, + tiffResolutionUnit: 'inch', + heifQuality: 50, + heifLossless: false, + heifCompression: 'av1', + heifEffort: 4, + heifChromaSubsampling: '4:4:4', + heifBitdepth: 8, + heifTune: 'auto', + jxlDistance: 1, + jxlDecodingTier: 0, + jxlEffort: 7, + jxlLossless: false, + rawDepth: 'uchar', + tileSize: 256, + tileOverlap: 0, + tileContainer: 'fs', + tileLayout: 'dz', + tileFormat: 'last', + tileDepth: 'last', + tileAngle: 0, + tileSkipBlanks: -1, + tileBackground: [255, 255, 255, 255], + tileCentre: false, + tileId: 'https://example.com/iiif', + tileBasename: '', + timeoutSeconds: 0, + linearA: [], + linearB: [], + pdfBackground: [255, 255, 255, 255], + // Function to notify of libvips warnings + debuglog: warning => { + this.emit('warning', warning); + debuglog(warning); + }, + // Function to notify of queue length changes + queueListener + }; + this.options.input = this._createInputDescriptor(input, options, { allowStream: true }); + return this; +}; +Object.setPrototypeOf(Sharp.prototype, stream.Duplex.prototype); +Object.setPrototypeOf(Sharp, stream.Duplex); + +/** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * + * @example + * // firstWritableStream receives auto-rotated, resized readableStream + * // secondWritableStream receives auto-rotated, extracted region of readableStream + * + * const pipeline = sharp().rotate(); + * pipeline + * .clone() + * .resize(800, 600) + * .pipe(firstWritableStream); + * pipeline + * .clone() + * .extract({ left: 20, top: 20, width: 100, height: 100 }) + * .pipe(secondWritableStream); + * readableStream.pipe(pipeline); + * + * @example + * // Create a pipeline that will download an image, resize it and format it to different files + * // Using Promises to know when the pipeline is complete + * + * const sharpStream = sharp(); + * + * const promises = []; + * promises.push( + * sharpStream + * .clone() + * .jpeg({ quality: 100 }) + * .toFile("originalFile.jpg") + * ); + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .jpeg({ quality: 80 }) + * .toFile("optimized-500.jpg") + * ); + * promises.push( + * sharpStream + * .clone() + * .resize({ width: 500 }) + * .webp({ quality: 80 }) + * .toFile("optimized-500.webp") + * ); + * + * const res = await fetch("https://www.example.com/some-file.jpg") + * Readable.fromWeb(res.body).pipe(sharpStream); + * await Promise.all(promises); + * + * @returns {Sharp} + */ +function clone () { + // Clone existing options + const clone = this.constructor.call(); + const { debuglog, queueListener, ...options } = this.options; + clone.options = structuredClone(options); + clone.options.debuglog = debuglog; + clone.options.queueListener = queueListener; + // Pass 'finish' event to clone for Stream-based input + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + // Clone inherits input data + this._flattenBufferIn(); + clone.options.input.buffer = this.options.input.buffer; + clone.emit('finish'); + }); + } + return clone; +} +Object.assign(Sharp.prototype, { clone }); + +/** + * Export constructor. + * @module Sharp + * @private + */ +export default Sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/index.cjs b/apps/api/.output/node_modules/sharp/dist/index.cjs new file mode 100644 index 0000000..dc07e92 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/index.cjs @@ -0,0 +1,25 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const Sharp = require('./constructor.cjs'); +const input = require('./input.cjs'); +const resize = require('./resize.cjs'); +const composite = require('./composite.cjs'); +const operation = require('./operation.cjs'); +const colour = require('./colour.cjs'); +const channel = require('./channel.cjs'); +const output = require('./output.cjs'); +const utility = require('./utility.cjs'); + +input(Sharp); +resize(Sharp); +composite(Sharp); +operation(Sharp); +colour(Sharp); +channel(Sharp); +output(Sharp); +utility(Sharp); + +module.exports = Sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/index.d.cts b/apps/api/.output/node_modules/sharp/dist/index.d.cts new file mode 100644 index 0000000..470889a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/index.d.cts @@ -0,0 +1,1999 @@ +/** + * Copyright 2017 François Nguyen and others. + * + * Billy Kwok + * Bradley Odell + * Espen Hovlandsdal + * Floris de Bijl + * François Nguyen + * Jamie Woodbury + * Wooseop Kim + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +// SPDX-License-Identifier: MIT + +/// + +declare type Duplex = import('node:stream').Duplex; +declare type ColorLike = import('@img/colour').ColorLike; + +//#region Constructor functions + +/** + * Creates a sharp instance from an image + * @param input Buffer containing JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data, or String containing the path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * @param options Object with optional attributes. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ +declare function sharp(options?: sharp.SharpOptions): sharp.Sharp; +declare function sharp( + input?: sharp.SharpInput | Array, + options?: sharp.SharpOptions, +): sharp.Sharp; + +declare namespace sharp { + /** Object containing nested boolean values representing the available input and output formats/methods. */ + const format: FormatEnum; + + /** An Object containing the version numbers of sharp, libvips and its dependencies. */ + const versions: { + aom?: string | undefined; + archive?: string | undefined; + cairo?: string | undefined; + cgif?: string | undefined; + exif?: string | undefined; + expat?: string | undefined; + ffi?: string | undefined; + fontconfig?: string | undefined; + freetype?: string | undefined; + fribidi?: string | undefined; + glib?: string | undefined; + harfbuzz?: string | undefined; + heif?: string | undefined; + highway?: string | undefined; + imagequant?: string | undefined; + lcms?: string | undefined; + mozjpeg?: string | undefined; + pango?: string | undefined; + pixman?: string | undefined; + png?: string | undefined; + "proxy-libintl"?: string | undefined; + rsvg?: string | undefined; + sharp: string; + spng?: string | undefined; + tiff?: string | undefined; + vips: string; + webp?: string | undefined; + xml?: string | undefined; + "zlib-ng"?: string | undefined; + }; + + /** An Object containing the available interpolators and their proper values */ + const interpolators: Interpolators; + + /** An EventEmitter that emits a change event when a task is either queued, waiting for libuv to provide a worker thread, complete */ + const queue: NodeJS.EventEmitter; + + //#endregion + + //#region Utility functions + + /** + * Gets or, when options are provided, sets the limits of libvips' operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, useful for determining how much working memory is required for a particular task. + * @param options Object with the following attributes, or Boolean where true uses default cache settings and false removes all caching (optional, default true) + * @returns The cache results. + */ + function cache(options?: boolean | CacheOptions): CacheResult; + + /** + * Gets or sets the number of threads libvips' should create to process each image. + * The default value is the number of CPU cores. A value of 0 will reset to this default. + * The maximum number of images that can be processed in parallel is limited by libuv's UV_THREADPOOL_SIZE environment variable. + * @param concurrency The new concurrency value. + * @returns The current concurrency value. + */ + function concurrency(concurrency?: number): number; + + /** + * Provides access to internal task counters. + * @returns Object containing task counters + */ + function counters(): SharpCounters; + + /** + * Get and set use of SIMD vector unit instructions. Requires libvips to have been compiled with highway support. + * Improves the performance of resize, blur and sharpen operations by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * @param enable enable or disable use of SIMD vector unit instructions + * @returns true if usage of SIMD vector unit instructions is enabled + */ + function simd(enable?: boolean): boolean; + + /** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example Block all TIFF input. + * sharp.block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to block. + */ + function block(options: { operation: string[] }): void; + + /** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example Block all input except WebP from the filesystem. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example Block all input except JPEG and PNG from a Buffer or Stream. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to unblock. + */ + function unblock(options: { operation: string[] }): void; + + //#endregion + + const gravity: GravityEnum; + const strategy: StrategyEnum; + const kernel: KernelEnum; + const fit: FitEnum; + const bool: BoolEnum; + + interface Sharp extends Duplex { + //#region Channel functions + + /** + * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel. + * @returns A sharp instance that can be used to chain operations + */ + removeAlpha(): Sharp; + + /** + * Ensure alpha channel, if missing. The added alpha channel will be fully opaque. This is a no-op if the image already has an alpha channel. + * @param alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default 1). + * @returns A sharp instance that can be used to chain operations + */ + ensureAlpha(alpha?: number): Sharp; + + /** + * Extract a single channel from a multi-channel image. + * @param channel zero-indexed channel/band number to extract, or red, green, blue or alpha. + * @throws {Error} Invalid channel + * @returns A sharp instance that can be used to chain operations + */ + extractChannel(channel: 0 | 1 | 2 | 3 | 'red' | 'green' | 'blue' | 'alpha'): Sharp; + + /** + * Join one or more channels to the image. The meaning of the added channels depends on the output colourspace, set with toColourspace(). + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by sharp. + * For raw pixel input, the options object should contain a raw attribute, which follows the format of the attribute of the same name in the sharp() constructor. + * @param images one or more images (file paths, Buffers). + * @param options image options, see sharp() constructor. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + joinChannel(images: string | Buffer | ArrayLike, options?: SharpOptions): Sharp; + + /** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * @param boolOp one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + bandbool(boolOp: keyof BoolEnum): Sharp; + + //#endregion + + //#region Color functions + + /** + * Tint the image using the provided colour. + * An alpha channel may be present and will be unchanged by the operation. + * @param tint Parsed by the color module. + * @returns A sharp instance that can be used to chain operations + */ + tint(tint: ColorLike): Sharp; + + /** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. + * If the input image is in a non-linear colour space such as sRGB, use gamma() with greyscale() for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) colour channels. + * This may be overridden by other sharp operations such as toColourspace('b-w'), which will produce an output image containing one colour channel. + * An alpha channel may be present, and will be unchanged by the operation. + * @param greyscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + greyscale(greyscale?: boolean): Sharp; + + /** + * Alternative spelling of greyscale(). + * @param grayscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + grayscale(grayscale?: boolean): Sharp; + + /** + * Set the pipeline colourspace. + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, as defined by toColourspace. + * + * @param colourspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of pipelineColourspace + * @param colorspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColorspace(colorspace?: string): Sharp; + + /** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * @param colourspace output colourspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of toColourspace(). + * @param colorspace output colorspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColorspace(colorspace: string): Sharp; + + //#endregion + + //#region Composite functions + + /** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * @param images - Ordered list of images to composite + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + composite(images: OverlayOptions[]): Sharp; + + //#endregion + + //#region Input functions + + /** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * @returns A sharp instance that can be used to chain operations + */ + clone(): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A sharp instance that can be used to chain operations + */ + metadata(callback: (err: Error, metadata: Metadata) => void): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A promise that resolves with a metadata object + */ + metadata(): Promise; + + /** + * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepMetadata(): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A sharp instance that can be used to chain operations + */ + stats(callback: (err: Error, stats: Stats) => void): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A promise that resolves with a stats object + */ + stats(): Promise; + + //#endregion + + //#region Operation functions + + /** + * Rotate the output image by either an explicit angle + * or auto-orient based on the EXIF `Orientation` tag. + * + * If an angle is provided, it is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * If no angle is provided, it is determined from the EXIF data. + * Mirroring is supported and may infer the use of a flip operation. + * + * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any. + * + * Only one rotation can occur per pipeline (aside from an initial call without + * arguments to orient via EXIF data). Previous calls to `rotate` in the same + * pipeline will be ignored. + * + * Multi-page images can only be rotated by 180 degrees. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const pipeline = sharp() + * .rotate() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-rotated using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ + rotate(angle?: number, options?: RotateOptions): Sharp; + + /** + * Alias for calling `rotate()` with no arguments, which orients the image based + * on EXIF orientsion. + * + * This operation is aliased to emphasize its purpose, helping to remove any + * confusion between rotation and orientation. + * + * @example + * const output = await sharp(input).autoOrient().toBuffer(); + * + * @returns {Sharp} + */ + autoOrient(): Sharp + + /** + * Flip the image about the vertical Y axis. This always occurs after rotation, if any. + * The use of flip implies the removal of the EXIF Orientation tag, if any. + * @param flip true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flip(flip?: boolean): Sharp; + + /** + * Flop the image about the horizontal X axis. This always occurs after rotation, if any. + * The use of flop implies the removal of the EXIF Orientation tag, if any. + * @param flop true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flop(flop?: boolean): Sharp; + + /** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * X = matrix[0, 0] * (x + idx) + matrix[0, 1] * (y + idy) + odx + * Y = matrix[1, 0] * (x + idx) + matrix[1, 1] * (y + idy) + ody + * + * where: + * + * x and y are the coordinates in input image. + * X and Y are the coordinates in output image. + * (0,0) is the upper left corner. + * + * @param matrix Affine transformation matrix, may either by a array of length four or a 2x2 matrix array + * @param options if present, is an Object with optional attributes. + * + * @returns A sharp instance that can be used to chain operations + */ + affine(matrix: [number, number, number, number] | Matrix2x2, options?: AffineOptions): Sharp; + + /** + * Sharpen the image. + * When used without parameters, performs a fast, mild sharpen of the output image. + * When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * @param options if present, is an Object with optional attributes + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + sharpen(options?: SharpenOptions): Sharp; + + /** + * Apply median filter. When used without parameters the default window is 3x3. + * @param size square mask size: size x size (optional, default 3) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + median(size?: number): Sharp; + + /** + * Blur the image. + * When used without parameters, performs a fast, mild blur of the output image. + * When a sigma is provided, performs a slower, more accurate Gaussian blur. + * When a boolean sigma is provided, ether blur mild or disable blur + * @param sigma a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + blur(sigma?: number | boolean | BlurOptions): Sharp; + + /** + * Expand foreground objects using the dilate morphological operator. + * @param {Number} [width=1] dilation width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + dilate(width?: number): Sharp; + + /** + * Shrink foreground objects using the erode morphological operator. + * @param {Number} [width=1] erosion width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + erode(width?: number): Sharp; + + /** + * Merge alpha transparency channel, if any, with background. + * @param flatten true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flatten(flatten?: boolean | FlattenOptions): Sharp; + + /** + * Ensure the image has an alpha channel with all white pixel values made fully transparent. + * Existing alpha channel values for non-white pixels remain unchanged. + * @returns A sharp instance that can be used to chain operations + */ + unflatten(): Sharp; + + /** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma then increasing the encoding (brighten) post-resize at a factor of gamma. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation when applying a gamma correction. + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * @param gamma value between 1.0 and 3.0. (optional, default 2.2) + * @param gammaOut value between 1.0 and 3.0. (optional, defaults to same as gamma) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + gamma(gamma?: number, gammaOut?: number): Sharp; + + /** + * Produce the "negative" of the image. + * @param negate true to enable and false to disable, or an object of options (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + negate(negate?: boolean | NegateOptions): Sharp; + + /** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @param normalise options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalise(normalise?: NormaliseOptions): Sharp; + + /** + * Alternative spelling of normalise. + * @param normalize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalize(normalize?: NormaliseOptions): Sharp; + + /** + * Perform contrast limiting adaptive histogram equalization (CLAHE) + * + * This will, in general, enhance the clarity of the image by bringing out + * darker details. Please read more about CLAHE here: + * https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE + * + * @param options clahe options + */ + clahe(options: ClaheOptions): Sharp; + + /** + * Convolve the image with the specified kernel. + * @param kernel the specified kernel + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + convolve(kernel: Kernel): Sharp; + + /** + * Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param threshold a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default 128) + * @param options threshold options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + threshold(threshold?: number, options?: ThresholdOptions): Sharp; + + /** + * Perform a bitwise boolean operation with operand image. + * This operation creates an output image where each pixel is the result of the selected bitwise boolean operation between the corresponding pixels of the input images. + * @param operand Buffer containing image data or String containing the path to an image file. + * @param operator one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @param options describes operand when using raw pixel data. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + boolean(operand: string | Buffer, operator: keyof BoolEnum, options?: { raw: Raw }): Sharp; + + /** + * Apply the linear formula a * input + b to the image (levels adjustment) + * @param a multiplier (optional, default 1.0) + * @param b offset (optional, default 0.0) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + linear(a?: number | number[] | null, b?: number | number[]): Sharp; + + /** + * Recomb the image with the specified matrix. + * @param inputMatrix 3x3 Recombination matrix or 4x4 Recombination matrix + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + recomb(inputMatrix: Matrix3x3 | Matrix4x4): Sharp; + + /** + * Transforms the image using brightness, saturation, hue rotation and lightness. + * Brightness and lightness both operate on luminance, with the difference being that brightness is multiplicative whereas lightness is additive. + * @param options describes the modulation + * @returns A sharp instance that can be used to chain operations + */ + modulate(options?: { + brightness?: number | undefined; + saturation?: number | undefined; + hue?: number | undefined; + lightness?: number | undefined; + }): Sharp; + + //#endregion + + //#region Output functions + + /** + * Write output image data to a file. + * If an explicit output format is not selected, it will be inferred from the extension, with JPEG, PNG, WebP, AVIF, TIFF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * @param fileOut The path to write the image data to. + * @param callback Callback function called on completion with two arguments (err, info). info contains the output image format, size (bytes), width, height and channels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toFile(fileOut: string, callback: (err: Error, info: OutputInfo) => void): Sharp; + + /** + * Write output image data to a file. + * @param fileOut The path to write the image data to. + * @throws {Error} Invalid parameters + * @returns A promise that fulfills with an object containing information on the resulting file + */ + toFile(fileOut: string): Promise; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @param callback Callback function called on completion with three arguments (err, buffer, info). + * @returns A sharp instance that can be used to chain operations + */ + toBuffer(callback: (err: Error, buffer: Buffer, info: OutputInfo) => void): Sharp; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with the Buffer data. + */ + toBuffer(options?: { resolveWithObject: false }): Promise>; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with an object containing the Buffer data and an info object containing the output image format, size (bytes), width, height and channels + */ + toBuffer(options: { resolveWithObject: true }): Promise<{ data: Buffer; info: OutputInfo }>; + + /** + * Write output to a Uint8Array backed by a transferable ArrayBuffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @returns A promise that resolves with an object containing the Uint8Array data and an info object containing the output image format, size (bytes), width, height and channels + */ + toUint8Array(): Promise<{ data: Uint8Array; info: OutputInfo }>; + + /** + * Set output density (DPI) in EXIF metadata. + * @param density Density in dots per inch (DPI). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withDensity(density: number): Sharp; + + /** + * Keep all EXIF metadata from the input image in the output image. + * EXIF metadata is unsupported for TIFF output. + * @returns A sharp instance that can be used to chain operations + */ + keepExif(): Sharp; + + /** + * Set EXIF metadata in the output image, ignoring any EXIF in the input image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExif(exif: Exif): Sharp; + + /** + * Update EXIF metadata from the input image in the output image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExifMerge(exif: Exif): Sharp; + + /** + * Keep ICC profile from the input image in the output image where possible. + * @returns A sharp instance that can be used to chain operations + */ + keepIccProfile(): Sharp; + + /** + * Transform using an ICC profile and attach to the output image. + * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withIccProfile(icc: string, options?: WithIccProfileOptions): Sharp; + + /** + * Keep all XMP metadata from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepXmp(): Sharp; + + /** + * Set XMP metadata in the output image. + * @param {string} xmp - String containing XMP metadata to be embedded in the output image. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withXmp(xmp: string): Sharp; + + /** + * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image. + * The default behaviour, when withMetadata is not used, is to strip all metadata and convert to the device-independent sRGB colour space. + * This will also convert to and add a web-friendly sRGB ICC profile. + * @param withMetadata + * @throws {Error} Invalid parameters. + */ + withMetadata(withMetadata?: WriteableMetadata): Sharp; + + /** + * Use these JPEG options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jpeg(options?: JpegOptions): Sharp; + + /** + * Use these JP2 (JPEG 2000) options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jp2(options?: Jp2Options): Sharp; + + /** + * Use these JPEG-XL (JXL) options for output image. + * This feature is experimental, please do not use in production systems. + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this. + * Image metadata (EXIF, XMP) is unsupported. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jxl(options?: JxlOptions): Sharp; + + /** + * Use these PNG options for output image. + * PNG output is always full colour at 8 or 16 bits per pixel. + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + png(options?: PngOptions): Sharp; + + /** + * Use these WebP options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + webp(options?: WebpOptions): Sharp; + + /** + * Use these GIF options for output image. + * Requires libvips compiled with support for ImageMagick or GraphicsMagick. The prebuilt binaries do not include this - see installing a custom libvips. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + gif(options?: GifOptions): Sharp; + + /** + * Use these AVIF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + avif(options?: AvifOptions): Sharp; + + /** + * Use these HEIF options for output image. + * Support for patent-encumbered HEIC images requires the use of a globally-installed libvips compiled with support for libheif, libde265 and x265. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + heif(options?: HeifOptions): Sharp; + + /** + * Use these TIFF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tiff(options?: TiffOptions): Sharp; + + /** + * Force output to be raw, uncompressed uint8 pixel data. + * @param options Raw output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + raw(options?: RawOptions): Sharp; + + /** + * Force output to a given format. + * @param format a String or an Object with an 'id' attribute + * @param options output options + * @throws {Error} Unsupported format or options + * @returns A sharp instance that can be used to chain operations + */ + toFormat( + format: keyof FormatEnum | AvailableFormatInfo | "avif", + options?: + | OutputOptions + | JpegOptions + | PngOptions + | WebpOptions + | AvifOptions + | HeifOptions + | JxlOptions + | GifOptions + | Jp2Options + | RawOptions + | TiffOptions, + ): Sharp; + + /** + * Use tile-based deep zoom (image pyramid) output. + * Set the format and options for tile images via the toFormat, jpeg, png or webp functions. + * Use a .zip or .szi file extension with toFile to write to a compressed archive file format. + * @param tile tile options + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tile(tile?: TileOptions): Sharp; + + /** + * Set a timeout for processing, in seconds. Use a value of zero to continue processing indefinitely, the default behaviour. + * The clock starts when libvips opens an input image for processing. Time spent waiting for a libuv thread to become available is not included. + * @param options Object with a `seconds` attribute between 0 and 3600 (number) + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + timeout(options: TimeoutOptions): Sharp; + + //#endregion + + //#region Resize functions + + /** + * Resize image to width, height or width x height. + * + * When both a width and height are provided, the possible methods by which the image should fit these are: + * - cover: Crop to cover both provided dimensions (the default). + * - contain: Embed within both provided dimensions. + * - fill: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - inside: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - outside: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * Some of these values are based on the object-fit CSS property. + * + * When using a fit of cover or contain, the default position is centre. Other options are: + * - sharp.position: top, right top, right, right bottom, bottom, left bottom, left, left top. + * - sharp.gravity: north, northeast, east, southeast, south, southwest, west, northwest, center or centre. + * - sharp.strategy: cover only, dynamically crop using either the entropy or attention strategy. Some of these values are based on the object-position CSS property. + * + * The strategy-based approach resizes so one dimension is at its target length then repeatedly ranks edge regions, + * discarding the edge with the lowest score based on the selected strategy. + * - entropy: focus on the region with the highest Shannon entropy. + * - attention: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible interpolation kernels are: + * - nearest: Use nearest neighbour interpolation. + * - cubic: Use a Catmull-Rom spline. + * - lanczos2: Use a Lanczos kernel with a=2. + * - lanczos3: Use a Lanczos kernel with a=3 (the default). + * + * @param width pixels wide the resultant image should be. Use null or undefined to auto-scale the width to match the height. + * @param height pixels high the resultant image should be. Use null or undefined to auto-scale the height to match the width. + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(widthOrOptions?: number | ResizeOptions | null, height?: number | null, options?: ResizeOptions): Sharp; + + /** + * Shorthand for resize(null, null, options); + * + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(options: ResizeOptions): Sharp; + + /** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * @param extend single pixel count to add to all edges or an Object with per-edge counts + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extend(extend: number | ExtendOptions): Sharp; + + /** + * Extract a region of the image. + * - Use extract() before resize() for pre-resize extraction. + * - Use extract() after resize() for post-resize extraction. + * - Use extract() before and after for both. + * + * @param region The region to extract + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extract(region: Region): Sharp; + + /** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * The info response Object will contain trimOffsetLeft and trimOffsetTop properties. + * @param options trim options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + trim(options?: TrimOptions): Sharp; + + //#endregion + } + + type SharpInput = Buffer + | ArrayBuffer + | Uint8Array + | Uint8ClampedArray + | Int8Array + | Uint16Array + | Int16Array + | Uint32Array + | Int32Array + | Float32Array + | Float64Array + | string; + + interface SharpOptions { + /** + * Auto-orient based on the EXIF `Orientation` tag, if present. + * Mirroring is supported and may infer the use of a flip operation. + * + * Using this option will remove the EXIF `Orientation` tag, if any. + */ + autoOrient?: boolean | undefined; + /** + * When to abort processing of invalid pixel data, one of (in order of sensitivity): + * 'none' (least), 'truncated', 'error' or 'warning' (most), highers level imply lower levels, invalid metadata will always abort. + * Use the default 'warning' level with untrusted input. (optional, default 'warning') + */ + failOn?: FailOnOptions | undefined; + /** + * Do not process input images where the number of pixels (width x height) exceeds this limit. + * Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). (optional, default 268402689) + */ + limitInputPixels?: number | boolean | undefined; + /** + * Do not process input images where the number of channels exceeds this limit. + * Assumes image metadata can be trusted. + * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. (optional, default 5) + */ + limitInputChannels?: number | boolean | undefined; + /** Set this to true to remove safety features that help prevent memory exhaustion (SVG, PNG). (optional, default false) */ + unlimited?: boolean | undefined; + /** Set this to false to use random access rather than sequential read. Some operations will do this automatically. */ + sequentialRead?: boolean | undefined; + /** The DPI at which to render SVG and PDF images, in the range 1 to 100000. (optional, default 72) */ + density?: number | undefined; + /** Should the embedded ICC profile, if any, be ignored. */ + ignoreIcc?: boolean | undefined; + /** Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages */ + pages?: number | undefined; + /** Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0) */ + page?: number | undefined; + /** TIFF specific input options */ + tiff?: TiffInputOptions | undefined; + /** SVG specific input options */ + svg?: SvgInputOptions | undefined; + /** PDF specific input options */ + pdf?: PdfInputOptions | undefined; + /** OpenSlide specific input options */ + openSlide?: OpenSlideInputOptions | undefined; + /** JPEG 2000 specific input options */ + jp2?: Jp2InputOptions | undefined; + /** @deprecated Use {@link SharpOptions.tiff} instead */ + subifd?: number | undefined; + /** @deprecated Use {@link SharpOptions.pdf} instead */ + pdfBackground?: ColorLike | undefined; + /** @deprecated Use {@link SharpOptions.openSlide} instead */ + level?: number | undefined; + /** Set to `true` to read all frames/pages of an animated image (equivalent of setting `pages` to `-1`). (optional, default false) */ + animated?: boolean | undefined; + /** Describes raw pixel input image data. See raw() for pixel ordering. */ + raw?: CreateRaw | undefined; + /** Describes a new image to be created. */ + create?: Create | undefined; + /** Describes a new text image to be created. */ + text?: CreateText | undefined; + /** Describes how array of input images should be joined. */ + join?: Join | undefined; + } + + interface CacheOptions { + /** Is the maximum memory in MB to use for this cache (optional, default 50) */ + memory?: number | undefined; + /** Is the maximum number of files to hold open (optional, default 20) */ + files?: number | undefined; + /** Is the maximum number of operations to cache (optional, default 100) */ + items?: number | undefined; + } + + interface TimeoutOptions { + /** Number of seconds after which processing will be stopped (default 0, eg disabled) */ + seconds: number; + } + + interface SharpCounters { + /** The number of tasks this module has queued waiting for libuv to provide a worker thread from its pool. */ + queue: number; + /** The number of resize tasks currently being processed. */ + process: number; + } + + interface Raw { + width: number; + height: number; + channels: Channels; + } + + interface CreateRaw extends Raw { + /** Specifies that the raw input has already been premultiplied, set to true to avoid sharp premultiplying the image. (optional, default false) */ + premultiplied?: boolean | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; + } + + type CreateChannels = 3 | 4; + + interface Create { + /** Number of pixels wide. */ + width: number; + /** Number of pixels high. */ + height: number; + /** Number of bands, 3 for RGB, 4 for RGBA */ + channels: CreateChannels; + /** Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. */ + background: ColorLike; + /** Describes a noise to be created. */ + noise?: Noise | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; + + } + + interface CreateText { + /** Text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. */ + text: string; + /** Font name to render with. */ + font?: string; + /** Absolute filesystem path to a font file that can be used by `font`. */ + fontfile?: string; + /** Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. (optional, default `0`) */ + width?: number; + /** + * Integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution + * defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. (optional, default `0`) + */ + height?: number; + /** Text alignment ('left', 'centre', 'center', 'right'). (optional, default 'left') */ + align?: TextAlign; + /** Set this to true to apply justification to the text. (optional, default `false`) */ + justify?: boolean; + /** The resolution (size) at which to render the text. Does not take effect if `height` is specified. (optional, default `72`) */ + dpi?: number; + /** + * Set this to true to enable RGBA output. This is useful for colour emoji rendering, + * or support for pango markup features like `Red!`. (optional, default `false`) + */ + rgba?: boolean; + /** Text line height in points. Will use the font line height if none is specified. (optional, default `0`) */ + spacing?: number; + /** Word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none' */ + wrap?: TextWrap; + } + + interface Join { + /** Number of images per row. */ + across?: number | undefined; + /** Treat input as frames of an animated image. */ + animated?: boolean | undefined; + /** Space between images, in pixels. */ + shim?: number | undefined; + /** Background colour. */ + background?: ColorLike | undefined; + /** Horizontal alignment. */ + halign?: HorizontalAlignment | undefined; + /** Vertical alignment. */ + valign?: VerticalAlignment | undefined; + } + + interface TiffInputOptions { + /** Sub Image File Directory to extract, defaults to main image. Use -1 for all subifds. */ + subifd?: number | undefined; + } + + interface SvgInputOptions { + /** Custom CSS for SVG input, applied with a User Origin during the CSS cascade. */ + stylesheet?: string | undefined; + /** Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. */ + highBitdepth?: boolean | undefined; + } + + interface PdfInputOptions { + /** Background colour to use when PDF is partially transparent. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. */ + background?: ColorLike | undefined; + } + + interface OpenSlideInputOptions { + /** Level to extract from a multi-level input, zero based. (optional, default 0) */ + level?: number | undefined; + } + + interface Jp2InputOptions { + /** Set to `true` to load JPEG 2000 images using [oneshot mode](https://github.com/libvips/libvips/issues/4205) */ + oneshot?: boolean | undefined; + } + + interface ExifDir { + [k: string]: string; + } + + interface Exif { + 'IFD0'?: ExifDir; + 'IFD1'?: ExifDir; + 'IFD2'?: ExifDir; + 'IFD3'?: ExifDir; + } + + type HeifCompression = 'av1' | 'hevc'; + + type HeifTune = 'auto' | 'iq' | 'psnr' | 'ssim'; + + type Unit = 'inch' | 'cm'; + + type MediaType = + 'application/pdf' | + 'image/avif' | + 'image/fits' | + 'image/gif' | + 'image/heic' | + 'image/jp2' | + 'image/jpeg' | + 'image/jxl' | + 'image/png' | + 'image/svg+xml' | + 'image/tiff' | + 'image/vnd.radiance' | + 'image/webp' | + 'image/x-exr' | + 'image/x-portable-pixmap'; + + interface WriteableMetadata { + /** Number of pixels per inch (DPI) */ + density?: number | undefined; + /** Value between 1 and 8, used to update the EXIF Orientation tag. */ + orientation?: number | undefined; + /** + * Filesystem path to output ICC profile, defaults to sRGB. + * @deprecated Use `withIccProfile()` instead. + */ + icc?: string | undefined; + /** + * Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @deprecated Use `withExif()` or `withExifMerge()` instead. + */ + exif?: Exif | undefined; + } + + interface Metadata { + /** Number value of the EXIF Orientation header, if present */ + orientation?: number | undefined; + /** Name of decoder used to decompress image data e.g. jpeg, png, webp, gif, svg */ + format: keyof FormatEnum; + /** Total size of image in bytes, for Stream and Buffer input only */ + size?: number | undefined; + /** Number of pixels wide (EXIF orientation is not taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is not taken into consideration) */ + height: number; + /** Any changed metadata after the image orientation is applied. */ + autoOrient: { + /** Number of pixels wide (EXIF orientation is taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is taken into consideration) */ + height: number; + }; + /** Name of colour space interpretation */ + space: keyof ColourspaceEnum; + /** Number of bands e.g. 3 for sRGB, 4 for CMYK */ + channels: Channels; + /** Name of pixel depth format e.g. uchar, char, ushort, float ... */ + depth: keyof DepthEnum; + /** Number of pixels per inch (DPI), if present */ + density?: number | undefined; + /** String containing JPEG chroma subsampling, 4:2:0 or 4:4:4 for RGB, 4:2:0:4 or 4:4:4:4 for CMYK */ + chromaSubsampling?: string | undefined; + /** Boolean indicating whether the image is interlaced using a progressive scan */ + isProgressive: boolean; + /** Boolean indicating whether the image is palette-based (GIF, PNG). */ + isPalette: boolean; + /** Number of bits per sample for each channel (GIF, PNG). */ + bitsPerSample?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; + /** Number of times to loop an animated image, zero refers to a continuous loop. */ + loop?: number | undefined; + /** Delay in ms between each page in an animated image, provided as an array of integers. */ + delay?: number[] | undefined; + /** Number of the primary page in a HEIF image */ + pagePrimary?: number | undefined; + /** Boolean indicating the presence of an embedded ICC profile */ + hasProfile: boolean; + /** Boolean indicating the presence of an alpha transparency channel */ + hasAlpha: boolean; + /** Buffer containing raw EXIF data, if present */ + exif?: Buffer | undefined; + /** Buffer containing raw ICC profile data, if present */ + icc?: Buffer | undefined; + /** Buffer containing raw IPTC data, if present */ + iptc?: Buffer | undefined; + /** Buffer containing raw XMP data, if present */ + xmp?: Buffer | undefined; + /** String containing XMP data, if valid UTF-8 */ + xmpAsString?: string | undefined; + /** Buffer containing raw TIFFTAG_PHOTOSHOP data, if present */ + tifftagPhotoshop?: Buffer | undefined; + /** The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) */ + compression?: HeifCompression | undefined; + /** Default background colour, if present, for PNG (bKGD) and GIF images */ + background?: { r: number; g: number; b: number } | { gray: number }; + /** Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide */ + levels?: LevelMetadata[] | undefined; + /** Number of Sub Image File Directories in an OME-TIFF image */ + subifds?: number | undefined; + /** The unit of resolution (density) */ + resolutionUnit?: Unit | undefined; + /** String containing format for images loaded via *magick */ + formatMagick?: string | undefined; + /** Array of keyword/text pairs representing PNG text blocks, if present. */ + comments?: CommentsMetadata[] | undefined; + /** HDR gain map, if present */ + gainMap?: GainMapMetadata | undefined; + /** Media Type (MIME Type) */ + mediaType?: MediaType | undefined; + } + + interface LevelMetadata { + width: number; + height: number; + } + + interface CommentsMetadata { + keyword: string; + text: string; + } + + interface GainMapMetadata { + /** JPEG image */ + image: Buffer; + } + + interface Stats { + /** Array of channel statistics for each channel in the image. */ + channels: ChannelStats[]; + /** Value to identify if the image is opaque or transparent, based on the presence and use of alpha channel */ + isOpaque: boolean; + /** Histogram-based estimation of greyscale entropy, discarding alpha channel if any */ + entropy: number; + /** Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any */ + sharpness: number; + /** Object containing most dominant sRGB colour based on a 4096-bin 3D histogram */ + dominant: { r: number; g: number; b: number }; + } + + interface ChannelStats { + /** minimum value in the channel */ + min: number; + /** maximum value in the channel */ + max: number; + /** sum of all values in a channel */ + sum: number; + /** sum of squared values in a channel */ + squaresSum: number; + /** mean of the values in a channel */ + mean: number; + /** standard deviation for the values in a channel */ + stdev: number; + /** x-coordinate of one of the pixel where the minimum lies */ + minX: number; + /** y-coordinate of one of the pixel where the minimum lies */ + minY: number; + /** x-coordinate of one of the pixel where the maximum lies */ + maxX: number; + /** y-coordinate of one of the pixel where the maximum lies */ + maxY: number; + } + + interface OutputOptions { + /** Force format output, otherwise attempt to use input format (optional, default true) */ + force?: boolean | undefined; + } + + interface WithIccProfileOptions { + /** Should the ICC profile be included in the output image metadata? (optional, default true) */ + attach?: boolean | undefined; + } + + interface JpegOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** Set to '4:4:4' to prevent chroma subsampling when quality <= 90 (optional, default '4:2:0') */ + chromaSubsampling?: string | undefined; + /** Apply trellis quantisation (optional, default false) */ + trellisQuantisation?: boolean | undefined; + /** Apply overshoot deringing (optional, default false) */ + overshootDeringing?: boolean | undefined; + /** Optimise progressive scans, forces progressive (optional, default false) */ + optimiseScans?: boolean | undefined; + /** Alternative spelling of optimiseScans (optional, default false) */ + optimizeScans?: boolean | undefined; + /** Optimise Huffman coding tables (optional, default true) */ + optimiseCoding?: boolean | undefined; + /** Alternative spelling of optimiseCoding (optional, default true) */ + optimizeCoding?: boolean | undefined; + /** Quantization table to use, integer 0-8 (optional, default 0) */ + quantisationTable?: number | undefined; + /** Alternative spelling of quantisationTable (optional, default 0) */ + quantizationTable?: number | undefined; + /** Use mozjpeg defaults (optional, default false) */ + mozjpeg?: boolean | undefined; + } + + interface Jp2Options extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean; + /** Horizontal tile size (optional, default 512) */ + tileWidth?: number; + /** Vertical tile size (optional, default 512) */ + tileHeight?: number; + /** Set to '4:2:0' to enable chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: '4:4:4' | '4:2:0'; + } + + interface JxlOptions extends OutputOptions, AnimationOptions { + /** Maximum encoding error, between 0 (highest quality) and 15 (lowest quality) (optional, default 1.0) */ + distance?: number; + /** Calculate distance based on JPEG-like quality, between 1 and 100, overrides distance if specified */ + quality?: number; + /** Target decode speed tier, between 0 (highest quality) and 4 (lowest quality) (optional, default 0) */ + decodingTier?: number; + /** Use lossless compression (optional, default false) */ + lossless?: boolean; + /** CPU effort, between 1 (fastest) and 9 (slowest) (optional, default 7) */ + effort?: number | undefined; + } + + interface WebpOptions extends OutputOptions, AnimationOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Quality of alpha layer, number from 0-100 (optional, default 100) */ + alphaQuality?: number | undefined; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean | undefined; + /** Use near_lossless compression mode (optional, default false) */ + nearLossless?: boolean | undefined; + /** Use high quality chroma subsampling (optional, default false) */ + smartSubsample?: boolean | undefined; + /** Auto-adjust the deblocking filter, slow but can improve low contrast edges (optional, default false) */ + smartDeblock?: boolean | undefined; + /** Level of CPU effort to reduce file size, integer 0-6 (optional, default 4) */ + effort?: number | undefined; + /** Prevent use of animation key frames to minimise file size (slow) (optional, default false) */ + minSize?: boolean | undefined; + /** Allow mixture of lossy and lossless animation frames (slow) (optional, default false) */ + mixed?: boolean | undefined; + /** Preset options: one of default, photo, picture, drawing, icon, text (optional, default 'default') */ + preset?: keyof PresetEnum | undefined; + /** Preserve the colour data in transparent pixels (optional, default false) */ + exact?: boolean | undefined; + } + + interface AvifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling, requires libvips v8.11.0 (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; + } + + interface HeifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** compression format: av1, hevc (optional, default 'av1') */ + compression?: HeifCompression | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; + } + + interface GifOptions extends OutputOptions, AnimationOptions { + /** Re-use existing palette, otherwise generate new (slow) */ + reuse?: boolean | undefined; + /** Use progressive (interlace) scan */ + progressive?: boolean | undefined; + /** Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colours?: number | undefined; + /** Alternative spelling of "colours". Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colors?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest) (optional, default 7) */ + effort?: number | undefined; + /** Level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) (optional, default 1.0) */ + dither?: number | undefined; + /** Maximum inter-frame error for transparency, between 0 (lossless) and 32 (optional, default 0) */ + interFrameMaxError?: number | undefined; + /** Maximum inter-palette error for palette reuse, between 0 and 256 (optional, default 3) */ + interPaletteMaxError?: number | undefined; + /** Keep duplicate frames in the output instead of combining them (optional, default false) */ + keepDuplicateFrames?: boolean | undefined; + } + + interface TiffOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k (optional, default 'jpeg') */ + compression?: string | undefined; + /** Use BigTIFF variant (has no effect when compression is none) (optional, default false) */ + bigtiff?: boolean | undefined; + /** Compression predictor options: none, horizontal, float (optional, default 'horizontal') */ + predictor?: string | undefined; + /** Write an image pyramid (optional, default false) */ + pyramid?: boolean | undefined; + /** Write a tiled tiff (optional, default false) */ + tile?: boolean | undefined; + /** Horizontal tile size (optional, default 256) */ + tileWidth?: number | undefined; + /** Vertical tile size, valid values are integers in the range 1-32768 (optional, default 256) */ + tileHeight?: number | undefined; + /** Horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + xres?: number | undefined; + /** Vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + yres?: number | undefined; + /** Reduce bitdepth to 1, 2 or 4 bit (optional) */ + bitdepth?: 1 | 2 | 4 | undefined; + /** Write 1-bit images as miniswhite (optional, default false) */ + miniswhite?: boolean | undefined; + /** Resolution unit options: inch, cm (optional, default 'inch') */ + resolutionUnit?: Unit | undefined; + } + + interface PngOptions extends OutputOptions { + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** zlib compression level, 0-9 (optional, default 6) */ + compressionLevel?: number | undefined; + /** Use adaptive row filtering (optional, default false) */ + adaptiveFiltering?: boolean | undefined; + /** Use the lowest number of colours needed to achieve given quality (optional, default `100`) */ + quality?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest), sets palette to true (optional, default 7) */ + effort?: number | undefined; + /** Quantise to a palette-based image with alpha transparency support (optional, default false) */ + palette?: boolean | undefined; + /** Maximum number of palette entries (optional, default 256) */ + colours?: number | undefined; + /** Alternative Spelling of "colours". Maximum number of palette entries (optional, default 256) */ + colors?: number | undefined; + /** Level of Floyd-Steinberg error diffusion (optional, default 1.0) */ + dither?: number | undefined; + } + + interface RotateOptions { + /** parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: ColorLike | undefined; + } + + type Precision = 'integer' | 'float' | 'approximate'; + + interface BlurOptions { + /** A value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2` */ + sigma: number; + /** A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. */ + minAmplitude?: number; + /** How accurate the operation should be, one of: integer, float, approximate. (optional, default "integer") */ + precision?: Precision | undefined; + } + + interface FlattenOptions { + /** background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0}) */ + background?: ColorLike | undefined; + } + + interface NegateOptions { + /** whether or not to negate any alpha channel. (optional, default true) */ + alpha?: boolean | undefined; + } + + interface NormaliseOptions { + /** Percentile below which luminance values will be underexposed. */ + lower?: number | undefined; + /** Percentile above which luminance values will be overexposed. */ + upper?: number | undefined; + } + + interface ResizeOptions { + /** Alternative means of specifying width. If both are present this takes priority. */ + width?: number | undefined; + /** Alternative means of specifying height. If both are present this takes priority. */ + height?: number | undefined; + /** How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default 'cover') */ + fit?: keyof FitEnum | undefined; + /** Position, gravity or strategy to use when fit is cover or contain. (optional, default 'centre') */ + position?: number | string | undefined; + /** Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** The kernel to use for image reduction. (optional, default 'lanczos3') */ + kernel?: keyof KernelEnum | undefined; + /** Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick's > geometry option. (optional, default false) */ + withoutEnlargement?: boolean | undefined; + /** Do not reduce if the width or height are already greater than the specified dimensions, equivalent to GraphicsMagick's < geometry option. (optional, default false) */ + withoutReduction?: boolean | undefined; + /** Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true) */ + fastShrinkOnLoad?: boolean | undefined; + } + + interface Region { + /** zero-indexed offset from left edge, an integer between 0 and 100000000 */ + left: number; + /** zero-indexed offset from top edge, an integer between 0 and 100000000 */ + top: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + width: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + height: number; + } + + interface Noise { + /** type of generated noise, currently only gaussian is supported. */ + type: 'gaussian'; + /** mean of pixels in generated noise. */ + mean?: number | undefined; + /** standard deviation of pixels in generated noise. */ + sigma?: number | undefined; + } + + type ExtendWith = 'background' | 'copy' | 'repeat' | 'mirror'; + + interface ExtendOptions { + /** single pixel count to top edge, valid values are integers in the range 0-10000 (optional, default 0) */ + top?: number | undefined; + /** single pixel count to left edge, valid values are integers in the range 0-10000 (optional, default 0) */ + left?: number | undefined; + /** single pixel count to bottom edge, valid values are integers in the range 0-10000 (optional, default 0) */ + bottom?: number | undefined; + /** single pixel count to right edge, valid values are integers in the range 0-10000 (optional, default 0) */ + right?: number | undefined; + /** background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** how the extension is done, one of: "background", "copy", "repeat", "mirror" (optional, default `'background'`) */ + extendWith?: ExtendWith | undefined; + } + + interface TrimOptions { + /** Background colour, parsed by the color module, defaults to that of the top-left pixel. (optional) */ + background?: ColorLike | undefined; + /** Allowed difference from the above colour, a positive number. (optional, default 10) */ + threshold?: number | undefined; + /** Does the input more closely resemble line art (e.g. vector) rather than being photographic? (optional, default false) */ + lineArt?: boolean | undefined; + /** Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. (optional, default 0) */ + margin?: number | undefined; + } + + interface RawOptions { + depth?: keyof DepthEnum; + } + + /** 1 for grayscale, 2 for grayscale + alpha, 3 for sRGB, 4 for CMYK or RGBA */ + type Channels = 1 | 2 | 3 | 4; + + type Colour = ColorLike; + type Color = ColorLike; + + interface Kernel { + /** width of the kernel in pixels. */ + width: number; + /** height of the kernel in pixels. */ + height: number; + /** Array of length width*height containing the kernel values. */ + kernel: ArrayLike; + /** the scale of the kernel in pixels. (optional, default sum) */ + scale?: number | undefined; + /** the offset of the kernel in pixels. (optional, default 0) */ + offset?: number | undefined; + } + + interface ClaheOptions { + /** width of the region. Valid values are integers in the range 1-65536. */ + width: number; + /** height of the region. Valid values are integers in the range 1-65536. */ + height: number; + /** max slope of the cumulative contrast. A value of 0 disables contrast limiting. Valid values are integers in the range 0-100. (optional, default 3) */ + maxSlope?: number | undefined; + } + + interface ThresholdOptions { + /** convert to single channel greyscale. (optional, default true) */ + greyscale?: boolean | undefined; + /** alternative spelling for greyscale. (optional, default true) */ + grayscale?: boolean | undefined; + } + + interface OverlayOptions extends SharpOptions { + /** Buffer containing image data, String containing the path to an image file, or Create object */ + input?: string | Buffer | { create: Create } | { text: CreateText } | { raw: CreateRaw } | undefined; + /** how to blend this image with the image below. (optional, default `'over'`) */ + blend?: Blend | undefined; + /** gravity at which to place the overlay. (optional, default 'centre') */ + gravity?: Gravity | undefined; + /** the pixel offset from the top edge, an integer between -100000000 and 100000000. */ + top?: number | undefined; + /** the pixel offset from the left edge, an integer between -100000000 and 100000000. */ + left?: number | undefined; + /** set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false) */ + tile?: boolean | undefined; + /** Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option. */ + premultiplied?: boolean | undefined; + /** number representing the DPI for vector overlay image. (optional, default 72)*/ + density?: number | undefined; + /** Set to true to read all frames/pages of an animated image. (optional, default false) */ + animated?: boolean | undefined; + /** see sharp() constructor, (optional, default 'warning') */ + failOn?: FailOnOptions | undefined; + /** see sharp() constructor, (optional, default 268402689) */ + limitInputPixels?: number | boolean | undefined; + /** see sharp() constructor, (optional, default false) */ + autoOrient?: boolean | undefined; + } + + interface TileOptions { + /** Tile size in pixels, a value between 1 and 8192. (optional, default 256) */ + size?: number | undefined; + /** Tile overlap in pixels, a value between 0 and 8192. (optional, default 0) */ + overlap?: number | undefined; + /** Tile angle of rotation, must be a multiple of 90. (optional, default 0) */ + angle?: number | undefined; + /** background colour, parsed by the color module, defaults to white without transparency. (optional, default {r:255,g:255,b:255,alpha:1}) */ + background?: ColorLike | undefined; + /** How deep to make the pyramid, possible values are "onepixel", "onetile" or "one" (default based on layout) */ + depth?: string | undefined; + /** Threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images */ + skipBlanks?: number | undefined; + /** Tile container, with value fs (filesystem) or zip (compressed file). (optional, default 'fs') */ + container?: TileContainer | undefined; + /** Filesystem layout, possible values are dz, iiif, iiif3, zoomify or google. (optional, default 'dz') */ + layout?: TileLayout | undefined; + /** Centre image in tile. (optional, default false) */ + centre?: boolean | undefined; + /** Alternative spelling of centre. (optional, default false) */ + center?: boolean | undefined; + /** When layout is iiif/iiif3, sets the @id/id attribute of info.json (optional, default 'https://example.com/iiif') */ + id?: string | undefined; + /** The name of the directory within the zip file when container is `zip`. */ + basename?: string | undefined; + } + + interface AnimationOptions { + /** Number of animation iterations, a value between 0 and 65535. Use 0 for infinite animation. (optional, default 0) */ + loop?: number | undefined; + /** delay(s) between animation frames (in milliseconds), each value between 0 and 65535. (optional) */ + delay?: number | number[] | undefined; + } + + interface SharpenOptions { + /** The sigma of the Gaussian mask, where sigma = 1 + radius / 2, between 0.000001 and 10000 */ + sigma: number; + /** The level of sharpening to apply to "flat" areas, between 0 and 1000000 (optional, default 1.0) */ + m1?: number | undefined; + /** The level of sharpening to apply to "jagged" areas, between 0 and 1000000 (optional, default 2.0) */ + m2?: number | undefined; + /** Threshold between "flat" and "jagged", between 0 and 1000000 (optional, default 2.0) */ + x1?: number | undefined; + /** Maximum amount of brightening, between 0 and 1000000 (optional, default 10.0) */ + y2?: number | undefined; + /** Maximum amount of darkening, between 0 and 1000000 (optional, default 20.0) */ + y3?: number | undefined; + } + + interface AffineOptions { + /** Parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: string | object | undefined; + /** Input horizontal offset (optional, default 0) */ + idx?: number | undefined; + /** Input vertical offset (optional, default 0) */ + idy?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + odx?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + ody?: number | undefined; + /** Interpolator (optional, default sharp.interpolators.bicubic) */ + interpolator?: Interpolators[keyof Interpolators] | undefined; + } + + interface OutputInfo { + format: string; + size: number; + width: number; + height: number; + channels: Channels; + /** indicating if premultiplication was used */ + premultiplied: boolean; + /** Indicates if the output image has an alpha channel */ + hasAlpha: boolean; + /** Only defined when using a crop strategy */ + cropOffsetLeft?: number | undefined; + /** Only defined when using a crop strategy */ + cropOffsetTop?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetLeft?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetTop?: number | undefined; + /** DPI the font was rendered at, only defined when using `text` input */ + textAutofitDpi?: number | undefined; + /** When using the attention crop strategy, the focal point of the cropped region */ + attentionX?: number | undefined; + attentionY?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; + } + + interface AvailableFormatInfo { + id: string; + input: { file: boolean; buffer: boolean; stream: boolean; fileSuffix?: string[] }; + output: { file: boolean; buffer: boolean; stream: boolean; alias?: string[] }; + } + + interface FitEnum { + contain: 'contain'; + cover: 'cover'; + fill: 'fill'; + inside: 'inside'; + outside: 'outside'; + } + + interface KernelEnum { + nearest: 'nearest'; + cubic: 'cubic'; + linear: 'linear'; + mitchell: 'mitchell'; + lanczos2: 'lanczos2'; + lanczos3: 'lanczos3'; + mks2013: 'mks2013'; + mks2021: 'mks2021'; + } + + interface PresetEnum { + default: 'default'; + picture: 'picture'; + photo: 'photo'; + drawing: 'drawing'; + icon: 'icon'; + text: 'text'; + } + + interface BoolEnum { + and: 'and'; + or: 'or'; + eor: 'eor'; + } + + interface ColourspaceEnum { + 'b-w': string; + cmc: string; + cmyk: string; + fourier: string; + grey16: string; + histogram: string; + hsv: string; + lab: string; + labq: string; + labs: string; + lch: string; + matrix: string; + multiband: string; + rgb: string; + rgb16: string; + scrgb: string; + srgb: string; + xyz: string; + yxy: string; + } + + interface DepthEnum { + char: string; + complex: string; + double: string; + dpcomplex: string; + float: string; + int: string; + short: string; + uchar: string; + uint: string; + ushort: string; + } + + type FailOnOptions = 'none' | 'truncated' | 'error' | 'warning'; + + type TextAlign = 'left' | 'centre' | 'center' | 'right'; + + type TextWrap = 'word' | 'char' | 'word-char' | 'none'; + + type HorizontalAlignment = 'left' | 'centre' | 'center' | 'right'; + + type VerticalAlignment = 'top' | 'centre' | 'center' | 'bottom'; + + type TileContainer = 'fs' | 'zip'; + + type TileLayout = 'dz' | 'iiif' | 'iiif3' | 'zoomify' | 'google'; + + type Blend = + | 'clear' + | 'source' + | 'over' + | 'in' + | 'out' + | 'atop' + | 'dest' + | 'dest-over' + | 'dest-in' + | 'dest-out' + | 'dest-atop' + | 'xor' + | 'add' + | 'saturate' + | 'multiply' + | 'screen' + | 'overlay' + | 'darken' + | 'lighten' + | 'color-dodge' + | 'colour-dodge' + | 'color-burn' + | 'colour-burn' + | 'hard-light' + | 'soft-light' + | 'difference' + | 'exclusion'; + + type Gravity = number | string; + + interface GravityEnum { + north: number; + northeast: number; + southeast: number; + south: number; + southwest: number; + west: number; + northwest: number; + east: number; + center: number; + centre: number; + } + + interface StrategyEnum { + entropy: number; + attention: number; + } + + interface FormatEnum { + dcraw: AvailableFormatInfo; + dz: AvailableFormatInfo; + exr: AvailableFormatInfo; + fits: AvailableFormatInfo; + gif: AvailableFormatInfo; + heif: AvailableFormatInfo; + jpeg: AvailableFormatInfo; + jp2: AvailableFormatInfo; + jxl: AvailableFormatInfo; + magick: AvailableFormatInfo; + openslide: AvailableFormatInfo; + pdf: AvailableFormatInfo; + png: AvailableFormatInfo; + ppm: AvailableFormatInfo; + rad: AvailableFormatInfo; + raw: AvailableFormatInfo; + svg: AvailableFormatInfo; + tiff: AvailableFormatInfo; + vips: AvailableFormatInfo; + webp: AvailableFormatInfo; + } + + interface CacheResult { + memory: { current: number; high: number; max: number }; + files: { current: number; max: number }; + items: { current: number; max: number }; + } + + interface Interpolators { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest'; + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear'; + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic'; + /** + * [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). + * Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. + */ + locallyBoundedBicubic: 'lbb'; + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo'; + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs'; + } + + type Matrix2x2 = [[number, number], [number, number]]; + type Matrix3x3 = [[number, number, number], [number, number, number], [number, number, number]]; + type Matrix4x4 = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]; +} + +export = sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/index.d.mts b/apps/api/.output/node_modules/sharp/dist/index.d.mts new file mode 100644 index 0000000..3d29d1e --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/index.d.mts @@ -0,0 +1,2046 @@ +/** + * Copyright 2017 François Nguyen and others. + * + * Billy Kwok + * Bradley Odell + * Espen Hovlandsdal + * Floris de Bijl + * François Nguyen + * Jamie Woodbury + * Wooseop Kim + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +// SPDX-License-Identifier: MIT + +/// + +declare type Duplex = import('node:stream').Duplex; +declare type ColorLike = import('@img/colour').ColorLike; + +//#region Constructor functions + +/** + * Creates a sharp instance from an image + * @param input Buffer containing JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data, or String containing the path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * @param options Object with optional attributes. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + +/** Object containing nested boolean values representing the available input and output formats/methods. */ +export const format: FormatEnum; + +/** An Object containing the version numbers of sharp, libvips and its dependencies. */ +export const versions: { + aom?: string | undefined; + archive?: string | undefined; + cairo?: string | undefined; + cgif?: string | undefined; + exif?: string | undefined; + expat?: string | undefined; + ffi?: string | undefined; + fontconfig?: string | undefined; + freetype?: string | undefined; + fribidi?: string | undefined; + glib?: string | undefined; + harfbuzz?: string | undefined; + heif?: string | undefined; + highway?: string | undefined; + imagequant?: string | undefined; + lcms?: string | undefined; + mozjpeg?: string | undefined; + pango?: string | undefined; + pixman?: string | undefined; + png?: string | undefined; + "proxy-libintl"?: string | undefined; + rsvg?: string | undefined; + sharp: string; + spng?: string | undefined; + tiff?: string | undefined; + vips: string; + webp?: string | undefined; + xml?: string | undefined; + "zlib-ng"?: string | undefined; +}; + +/** An Object containing the available interpolators and their proper values */ +export const interpolators: Interpolators; + +/** An EventEmitter that emits a change event when a task is either queued, waiting for libuv to provide a worker thread, complete */ +export const queue: NodeJS.EventEmitter; + +//#endregion + +//#region Utility functions + +/** + * Gets or, when options are provided, sets the limits of libvips' operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, useful for determining how much working memory is required for a particular task. + * @param options Object with the following attributes, or Boolean where true uses default cache settings and false removes all caching (optional, default true) + * @returns The cache results. + */ +export function cache(options?: boolean | CacheOptions): CacheResult; + +/** + * Gets or sets the number of threads libvips' should create to process each image. + * The default value is the number of CPU cores. A value of 0 will reset to this default. + * The maximum number of images that can be processed in parallel is limited by libuv's UV_THREADPOOL_SIZE environment variable. + * @param concurrency The new concurrency value. + * @returns The current concurrency value. + */ +export function concurrency(concurrency?: number): number; + +/** + * Provides access to internal task counters. + * @returns Object containing task counters + */ +export function counters(): SharpCounters; + +/** + * Get and set use of SIMD vector unit instructions. Requires libvips to have been compiled with highway support. + * Improves the performance of resize, blur and sharpen operations by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * @param enable enable or disable use of SIMD vector unit instructions + * @returns true if usage of SIMD vector unit instructions is enabled + */ +export function simd(enable?: boolean): boolean; + +/** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example Block all TIFF input. + * block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to block. + */ +export function block(options: { operation: string[] }): void; + +/** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example Block all input except WebP from the filesystem. + * block({ + * operation: ['VipsForeignLoad'] + * }); + * unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example Block all input except JPEG and PNG from a Buffer or Stream. + * block({ + * operation: ['VipsForeignLoad'] + * }); + * unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to unblock. + */ +export function unblock(options: { operation: string[] }): void; + +//#endregion + +export const gravity: GravityEnum; +export const strategy: StrategyEnum; +export const kernel: KernelEnum; +export const fit: FitEnum; +export const bool: BoolEnum; + +export interface Sharp extends Duplex { + //#region Channel functions + + /** + * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel. + * @returns A sharp instance that can be used to chain operations + */ + removeAlpha(): Sharp; + + /** + * Ensure alpha channel, if missing. The added alpha channel will be fully opaque. This is a no-op if the image already has an alpha channel. + * @param alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default 1). + * @returns A sharp instance that can be used to chain operations + */ + ensureAlpha(alpha?: number): Sharp; + + /** + * Extract a single channel from a multi-channel image. + * @param channel zero-indexed channel/band number to extract, or red, green, blue or alpha. + * @throws {Error} Invalid channel + * @returns A sharp instance that can be used to chain operations + */ + extractChannel(channel: 0 | 1 | 2 | 3 | 'red' | 'green' | 'blue' | 'alpha'): Sharp; + + /** + * Join one or more channels to the image. The meaning of the added channels depends on the output colourspace, set with toColourspace(). + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by + * For raw pixel input, the options object should contain a raw attribute, which follows the format of the attribute of the same name in the sharp() constructor. + * @param images one or more images (file paths, Buffers). + * @param options image options, see sharp() constructor. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + joinChannel(images: string | Buffer | ArrayLike, options?: SharpOptions): Sharp; + + /** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * @param boolOp one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + bandbool(boolOp: keyof BoolEnum): Sharp; + + //#endregion + + //#region Color functions + + /** + * Tint the image using the provided colour. + * An alpha channel may be present and will be unchanged by the operation. + * @param tint Parsed by the color module. + * @returns A sharp instance that can be used to chain operations + */ + tint(tint: ColorLike): Sharp; + + /** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. + * If the input image is in a non-linear colour space such as sRGB, use gamma() with greyscale() for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) colour channels. + * This may be overridden by other sharp operations such as toColourspace('b-w'), which will produce an output image containing one colour channel. + * An alpha channel may be present, and will be unchanged by the operation. + * @param greyscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + greyscale(greyscale?: boolean): Sharp; + + /** + * Alternative spelling of greyscale(). + * @param grayscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + grayscale(grayscale?: boolean): Sharp; + + /** + * Set the pipeline colourspace. + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, as defined by toColourspace. + * + * @param colourspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of pipelineColourspace + * @param colorspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColorspace(colorspace?: string): Sharp; + + /** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * @param colourspace output colourspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of toColourspace(). + * @param colorspace output colorspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColorspace(colorspace: string): Sharp; + + //#endregion + + //#region Composite functions + + /** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * @param images - Ordered list of images to composite + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + composite(images: OverlayOptions[]): Sharp; + + //#endregion + + //#region Input functions + + /** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * @returns A sharp instance that can be used to chain operations + */ + clone(): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A sharp instance that can be used to chain operations + */ + metadata(callback: (err: Error, metadata: Metadata) => void): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A promise that resolves with a metadata object + */ + metadata(): Promise; + + /** + * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepMetadata(): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A sharp instance that can be used to chain operations + */ + stats(callback: (err: Error, stats: Stats) => void): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A promise that resolves with a stats object + */ + stats(): Promise; + + //#endregion + + //#region Operation functions + + /** + * Rotate the output image by either an explicit angle + * or auto-orient based on the EXIF `Orientation` tag. + * + * If an angle is provided, it is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * If no angle is provided, it is determined from the EXIF data. + * Mirroring is supported and may infer the use of a flip operation. + * + * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any. + * + * Only one rotation can occur per pipeline (aside from an initial call without + * arguments to orient via EXIF data). Previous calls to `rotate` in the same + * pipeline will be ignored. + * + * Multi-page images can only be rotated by 180 degrees. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const pipeline = sharp() + * .rotate() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-rotated using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ + rotate(angle?: number, options?: RotateOptions): Sharp; + + /** + * Alias for calling `rotate()` with no arguments, which orients the image based + * on EXIF orientsion. + * + * This operation is aliased to emphasize its purpose, helping to remove any + * confusion between rotation and orientation. + * + * @example + * const output = await sharp(input).autoOrient().toBuffer(); + * + * @returns {Sharp} + */ + autoOrient(): Sharp + + /** + * Flip the image about the vertical Y axis. This always occurs after rotation, if any. + * The use of flip implies the removal of the EXIF Orientation tag, if any. + * @param flip true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flip(flip?: boolean): Sharp; + + /** + * Flop the image about the horizontal X axis. This always occurs after rotation, if any. + * The use of flop implies the removal of the EXIF Orientation tag, if any. + * @param flop true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flop(flop?: boolean): Sharp; + + /** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `interpolators` Object e.g. `interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * X = matrix[0, 0] * (x + idx) + matrix[0, 1] * (y + idy) + odx + * Y = matrix[1, 0] * (x + idx) + matrix[1, 1] * (y + idy) + ody + * + * where: + * + * x and y are the coordinates in input image. + * X and Y are the coordinates in output image. + * (0,0) is the upper left corner. + * + * @param matrix Affine transformation matrix, may either by a array of length four or a 2x2 matrix array + * @param options if present, is an Object with optional attributes. + * + * @returns A sharp instance that can be used to chain operations + */ + affine(matrix: [number, number, number, number] | Matrix2x2, options?: AffineOptions): Sharp; + + /** + * Sharpen the image. + * When used without parameters, performs a fast, mild sharpen of the output image. + * When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * @param options if present, is an Object with optional attributes + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + sharpen(options?: SharpenOptions): Sharp; + + /** + * Apply median filter. When used without parameters the default window is 3x3. + * @param size square mask size: size x size (optional, default 3) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + median(size?: number): Sharp; + + /** + * Blur the image. + * When used without parameters, performs a fast, mild blur of the output image. + * When a sigma is provided, performs a slower, more accurate Gaussian blur. + * When a boolean sigma is provided, ether blur mild or disable blur + * @param sigma a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + blur(sigma?: number | boolean | BlurOptions): Sharp; + + /** + * Expand foreground objects using the dilate morphological operator. + * @param {Number} [width=1] dilation width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + dilate(width?: number): Sharp; + + /** + * Shrink foreground objects using the erode morphological operator. + * @param {Number} [width=1] erosion width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + erode(width?: number): Sharp; + + /** + * Merge alpha transparency channel, if any, with background. + * @param flatten true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flatten(flatten?: boolean | FlattenOptions): Sharp; + + /** + * Ensure the image has an alpha channel with all white pixel values made fully transparent. + * Existing alpha channel values for non-white pixels remain unchanged. + * @returns A sharp instance that can be used to chain operations + */ + unflatten(): Sharp; + + /** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma then increasing the encoding (brighten) post-resize at a factor of gamma. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation when applying a gamma correction. + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * @param gamma value between 1.0 and 3.0. (optional, default 2.2) + * @param gammaOut value between 1.0 and 3.0. (optional, defaults to same as gamma) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + gamma(gamma?: number, gammaOut?: number): Sharp; + + /** + * Produce the "negative" of the image. + * @param negate true to enable and false to disable, or an object of options (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + negate(negate?: boolean | NegateOptions): Sharp; + + /** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @param normalise options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalise(normalise?: NormaliseOptions): Sharp; + + /** + * Alternative spelling of normalise. + * @param normalize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalize(normalize?: NormaliseOptions): Sharp; + + /** + * Perform contrast limiting adaptive histogram equalization (CLAHE) + * + * This will, in general, enhance the clarity of the image by bringing out + * darker details. Please read more about CLAHE here: + * https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE + * + * @param options clahe options + */ + clahe(options: ClaheOptions): Sharp; + + /** + * Convolve the image with the specified kernel. + * @param kernel the specified kernel + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + convolve(kernel: Kernel): Sharp; + + /** + * Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param threshold a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default 128) + * @param options threshold options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + threshold(threshold?: number, options?: ThresholdOptions): Sharp; + + /** + * Perform a bitwise boolean operation with operand image. + * This operation creates an output image where each pixel is the result of the selected bitwise boolean operation between the corresponding pixels of the input images. + * @param operand Buffer containing image data or String containing the path to an image file. + * @param operator one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @param options describes operand when using raw pixel data. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + boolean(operand: string | Buffer, operator: keyof BoolEnum, options?: { raw: Raw }): Sharp; + + /** + * Apply the linear formula a * input + b to the image (levels adjustment) + * @param a multiplier (optional, default 1.0) + * @param b offset (optional, default 0.0) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + linear(a?: number | number[] | null, b?: number | number[]): Sharp; + + /** + * Recomb the image with the specified matrix. + * @param inputMatrix 3x3 Recombination matrix or 4x4 Recombination matrix + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + recomb(inputMatrix: Matrix3x3 | Matrix4x4): Sharp; + + /** + * Transforms the image using brightness, saturation, hue rotation and lightness. + * Brightness and lightness both operate on luminance, with the difference being that brightness is multiplicative whereas lightness is additive. + * @param options describes the modulation + * @returns A sharp instance that can be used to chain operations + */ + modulate(options?: { + brightness?: number | undefined; + saturation?: number | undefined; + hue?: number | undefined; + lightness?: number | undefined; + }): Sharp; + + //#endregion + + //#region Output functions + + /** + * Write output image data to a file. + * If an explicit output format is not selected, it will be inferred from the extension, with JPEG, PNG, WebP, AVIF, TIFF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * @param fileOut The path to write the image data to. + * @param callback Callback function called on completion with two arguments (err, info). info contains the output image format, size (bytes), width, height and channels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toFile(fileOut: string, callback: (err: Error, info: OutputInfo) => void): Sharp; + + /** + * Write output image data to a file. + * @param fileOut The path to write the image data to. + * @throws {Error} Invalid parameters + * @returns A promise that fulfills with an object containing information on the resulting file + */ + toFile(fileOut: string): Promise; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @param callback Callback function called on completion with three arguments (err, buffer, info). + * @returns A sharp instance that can be used to chain operations + */ + toBuffer(callback: (err: Error, buffer: Buffer, info: OutputInfo) => void): Sharp; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with the Buffer data. + */ + toBuffer(options?: { resolveWithObject: false }): Promise>; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with an object containing the Buffer data and an info object containing the output image format, size (bytes), width, height and channels + */ + toBuffer(options: { resolveWithObject: true }): Promise<{ data: Buffer; info: OutputInfo }>; + + /** + * Write output to a Uint8Array backed by a transferable ArrayBuffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @returns A promise that resolves with an object containing the Uint8Array data and an info object containing the output image format, size (bytes), width, height and channels + */ + toUint8Array(): Promise<{ data: Uint8Array; info: OutputInfo }>; + + /** + * Set output density (DPI) in EXIF metadata. + * @param density Density in dots per inch (DPI). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withDensity(density: number): Sharp; + + /** + * Keep all EXIF metadata from the input image in the output image. + * EXIF metadata is unsupported for TIFF output. + * @returns A sharp instance that can be used to chain operations + */ + keepExif(): Sharp; + + /** + * Set EXIF metadata in the output image, ignoring any EXIF in the input image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExif(exif: Exif): Sharp; + + /** + * Update EXIF metadata from the input image in the output image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExifMerge(exif: Exif): Sharp; + + /** + * Keep ICC profile from the input image in the output image where possible. + * @returns A sharp instance that can be used to chain operations + */ + keepIccProfile(): Sharp; + + /** + * Transform using an ICC profile and attach to the output image. + * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withIccProfile(icc: string, options?: WithIccProfileOptions): Sharp; + + /** + * Keep all XMP metadata from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepXmp(): Sharp; + + /** + * Set XMP metadata in the output image. + * @param {string} xmp - String containing XMP metadata to be embedded in the output image. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withXmp(xmp: string): Sharp; + + /** + * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image. + * The default behaviour, when withMetadata is not used, is to strip all metadata and convert to the device-independent sRGB colour space. + * This will also convert to and add a web-friendly sRGB ICC profile. + * @param withMetadata + * @throws {Error} Invalid parameters. + */ + withMetadata(withMetadata?: WriteableMetadata): Sharp; + + /** + * Use these JPEG options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jpeg(options?: JpegOptions): Sharp; + + /** + * Use these JP2 (JPEG 2000) options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jp2(options?: Jp2Options): Sharp; + + /** + * Use these JPEG-XL (JXL) options for output image. + * This feature is experimental, please do not use in production systems. + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this. + * Image metadata (EXIF, XMP) is unsupported. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jxl(options?: JxlOptions): Sharp; + + /** + * Use these PNG options for output image. + * PNG output is always full colour at 8 or 16 bits per pixel. + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + png(options?: PngOptions): Sharp; + + /** + * Use these WebP options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + webp(options?: WebpOptions): Sharp; + + /** + * Use these GIF options for output image. + * Requires libvips compiled with support for ImageMagick or GraphicsMagick. The prebuilt binaries do not include this - see installing a custom libvips. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + gif(options?: GifOptions): Sharp; + + /** + * Use these AVIF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + avif(options?: AvifOptions): Sharp; + + /** + * Use these HEIF options for output image. + * Support for patent-encumbered HEIC images requires the use of a globally-installed libvips compiled with support for libheif, libde265 and x265. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + heif(options?: HeifOptions): Sharp; + + /** + * Use these TIFF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tiff(options?: TiffOptions): Sharp; + + /** + * Force output to be raw, uncompressed uint8 pixel data. + * @param options Raw output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + raw(options?: RawOptions): Sharp; + + /** + * Force output to a given format. + * @param format a String or an Object with an 'id' attribute + * @param options output options + * @throws {Error} Unsupported format or options + * @returns A sharp instance that can be used to chain operations + */ + toFormat( + format: keyof FormatEnum | AvailableFormatInfo | "avif", + options?: + | OutputOptions + | JpegOptions + | PngOptions + | WebpOptions + | AvifOptions + | HeifOptions + | JxlOptions + | GifOptions + | Jp2Options + | RawOptions + | TiffOptions, + ): Sharp; + + /** + * Use tile-based deep zoom (image pyramid) output. + * Set the format and options for tile images via the toFormat, jpeg, png or webp functions. + * Use a .zip or .szi file extension with toFile to write to a compressed archive file format. + * @param tile tile options + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tile(tile?: TileOptions): Sharp; + + /** + * Set a timeout for processing, in seconds. Use a value of zero to continue processing indefinitely, the default behaviour. + * The clock starts when libvips opens an input image for processing. Time spent waiting for a libuv thread to become available is not included. + * @param options Object with a `seconds` attribute between 0 and 3600 (number) + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + timeout(options: TimeoutOptions): Sharp; + + //#endregion + + //#region Resize functions + + /** + * Resize image to width, height or width x height. + * + * When both a width and height are provided, the possible methods by which the image should fit these are: + * - cover: Crop to cover both provided dimensions (the default). + * - contain: Embed within both provided dimensions. + * - fill: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - inside: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - outside: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * Some of these values are based on the object-fit CSS property. + * + * When using a fit of cover or contain, the default position is centre. Other options are: + * - position: top, right top, right, right bottom, bottom, left bottom, left, left top. + * - gravity: north, northeast, east, southeast, south, southwest, west, northwest, center or centre. + * - strategy: cover only, dynamically crop using either the entropy or attention strategy. Some of these values are based on the object-position CSS property. + * + * The strategy-based approach resizes so one dimension is at its target length then repeatedly ranks edge regions, + * discarding the edge with the lowest score based on the selected strategy. + * - entropy: focus on the region with the highest Shannon entropy. + * - attention: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible interpolation kernels are: + * - nearest: Use nearest neighbour interpolation. + * - cubic: Use a Catmull-Rom spline. + * - lanczos2: Use a Lanczos kernel with a=2. + * - lanczos3: Use a Lanczos kernel with a=3 (the default). + * + * @param width pixels wide the resultant image should be. Use null or undefined to auto-scale the width to match the height. + * @param height pixels high the resultant image should be. Use null or undefined to auto-scale the height to match the width. + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(widthOrOptions?: number | ResizeOptions | null, height?: number | null, options?: ResizeOptions): Sharp; + + /** + * Shorthand for resize(null, null, options); + * + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(options: ResizeOptions): Sharp; + + /** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * @param extend single pixel count to add to all edges or an Object with per-edge counts + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extend(extend: number | ExtendOptions): Sharp; + + /** + * Extract a region of the image. + * - Use extract() before resize() for pre-resize extraction. + * - Use extract() after resize() for post-resize extraction. + * - Use extract() before and after for both. + * + * @param region The region to extract + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extract(region: Region): Sharp; + + /** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * The info response Object will contain trimOffsetLeft and trimOffsetTop properties. + * @param options trim options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + trim(options?: TrimOptions): Sharp; + + //#endregion +} + +export type SharpInput = Buffer + | ArrayBuffer + | Uint8Array + | Uint8ClampedArray + | Int8Array + | Uint16Array + | Int16Array + | Uint32Array + | Int32Array + | Float32Array + | Float64Array + | string; + +export interface SharpOptions { + /** + * Auto-orient based on the EXIF `Orientation` tag, if present. + * Mirroring is supported and may infer the use of a flip operation. + * + * Using this option will remove the EXIF `Orientation` tag, if any. + */ + autoOrient?: boolean | undefined; + /** + * When to abort processing of invalid pixel data, one of (in order of sensitivity): + * 'none' (least), 'truncated', 'error' or 'warning' (most), highers level imply lower levels, invalid metadata will always abort. + * Use the default 'warning' level with untrusted input. (optional, default 'warning') + */ + failOn?: FailOnOptions | undefined; + /** + * Do not process input images where the number of pixels (width x height) exceeds this limit. + * Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). (optional, default 268402689) + */ + limitInputPixels?: number | boolean | undefined; + /** + * Do not process input images where the number of channels exceeds this limit. + * Assumes image metadata can be trusted. + * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. (optional, default 5) + */ + limitInputChannels?: number | boolean | undefined; + /** Set this to true to remove safety features that help prevent memory exhaustion (SVG, PNG). (optional, default false) */ + unlimited?: boolean | undefined; + /** Set this to false to use random access rather than sequential read. Some operations will do this automatically. */ + sequentialRead?: boolean | undefined; + /** The DPI at which to render SVG and PDF images, in the range 1 to 100000. (optional, default 72) */ + density?: number | undefined; + /** Should the embedded ICC profile, if any, be ignored. */ + ignoreIcc?: boolean | undefined; + /** Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages */ + pages?: number | undefined; + /** Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0) */ + page?: number | undefined; + /** TIFF specific input options */ + tiff?: TiffInputOptions | undefined; + /** SVG specific input options */ + svg?: SvgInputOptions | undefined; + /** PDF specific input options */ + pdf?: PdfInputOptions | undefined; + /** OpenSlide specific input options */ + openSlide?: OpenSlideInputOptions | undefined; + /** JPEG 2000 specific input options */ + jp2?: Jp2InputOptions | undefined; + /** @deprecated Use {@link SharpOptions.tiff} instead */ + subifd?: number | undefined; + /** @deprecated Use {@link SharpOptions.pdf} instead */ + pdfBackground?: ColorLike | undefined; + /** @deprecated Use {@link SharpOptions.openSlide} instead */ + level?: number | undefined; + /** Set to `true` to read all frames/pages of an animated image (equivalent of setting `pages` to `-1`). (optional, default false) */ + animated?: boolean | undefined; + /** Describes raw pixel input image data. See raw() for pixel ordering. */ + raw?: CreateRaw | undefined; + /** Describes a new image to be created. */ + create?: Create | undefined; + /** Describes a new text image to be created. */ + text?: CreateText | undefined; + /** Describes how array of input images should be joined. */ + join?: Join | undefined; +} + +export interface CacheOptions { + /** Is the maximum memory in MB to use for this cache (optional, default 50) */ + memory?: number | undefined; + /** Is the maximum number of files to hold open (optional, default 20) */ + files?: number | undefined; + /** Is the maximum number of operations to cache (optional, default 100) */ + items?: number | undefined; +} + +export interface TimeoutOptions { + /** Number of seconds after which processing will be stopped (default 0, eg disabled) */ + seconds: number; +} + +export interface SharpCounters { + /** The number of tasks this module has queued waiting for libuv to provide a worker thread from its pool. */ + queue: number; + /** The number of resize tasks currently being processed. */ + process: number; +} + +export interface Raw { + width: number; + height: number; + channels: Channels; +} + +export interface CreateRaw extends Raw { + /** Specifies that the raw input has already been premultiplied, set to true to avoid sharp premultiplying the image. (optional, default false) */ + premultiplied?: boolean | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; +} + +export type CreateChannels = 3 | 4; + +export interface Create { + /** Number of pixels wide. */ + width: number; + /** Number of pixels high. */ + height: number; + /** Number of bands, 3 for RGB, 4 for RGBA */ + channels: CreateChannels; + /** Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. */ + background: ColorLike; + /** Describes a noise to be created. */ + noise?: Noise | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; + +} + +export interface CreateText { + /** Text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. */ + text: string; + /** Font name to render with. */ + font?: string; + /** Absolute filesystem path to a font file that can be used by `font`. */ + fontfile?: string; + /** Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. (optional, default `0`) */ + width?: number; + /** + * Integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution + * defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. (optional, default `0`) + */ + height?: number; + /** Text alignment ('left', 'centre', 'center', 'right'). (optional, default 'left') */ + align?: TextAlign; + /** Set this to true to apply justification to the text. (optional, default `false`) */ + justify?: boolean; + /** The resolution (size) at which to render the text. Does not take effect if `height` is specified. (optional, default `72`) */ + dpi?: number; + /** + * Set this to true to enable RGBA output. This is useful for colour emoji rendering, + * or support for pango markup features like `Red!`. (optional, default `false`) + */ + rgba?: boolean; + /** Text line height in points. Will use the font line height if none is specified. (optional, default `0`) */ + spacing?: number; + /** Word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none' */ + wrap?: TextWrap; +} + +export interface Join { + /** Number of images per row. */ + across?: number | undefined; + /** Treat input as frames of an animated image. */ + animated?: boolean | undefined; + /** Space between images, in pixels. */ + shim?: number | undefined; + /** Background colour. */ + background?: ColorLike | undefined; + /** Horizontal alignment. */ + halign?: HorizontalAlignment | undefined; + /** Vertical alignment. */ + valign?: VerticalAlignment | undefined; +} + +export interface TiffInputOptions { + /** Sub Image File Directory to extract, defaults to main image. Use -1 for all subifds. */ + subifd?: number | undefined; +} + +export interface SvgInputOptions { + /** Custom CSS for SVG input, applied with a User Origin during the CSS cascade. */ + stylesheet?: string | undefined; + /** Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. */ + highBitdepth?: boolean | undefined; +} + +export interface PdfInputOptions { + /** Background colour to use when PDF is partially transparent. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. */ + background?: ColorLike | undefined; +} + +export interface OpenSlideInputOptions { + /** Level to extract from a multi-level input, zero based. (optional, default 0) */ + level?: number | undefined; +} + +export interface Jp2InputOptions { + /** Set to `true` to load JPEG 2000 images using [oneshot mode](https://github.com/libvips/libvips/issues/4205) */ + oneshot?: boolean | undefined; +} + +export interface ExifDir { + [k: string]: string; +} + +export interface Exif { + 'IFD0'?: ExifDir; + 'IFD1'?: ExifDir; + 'IFD2'?: ExifDir; + 'IFD3'?: ExifDir; +} + +export type HeifCompression = 'av1' | 'hevc'; + +export type HeifTune = 'auto' | 'iq' | 'psnr' | 'ssim'; + +export type Unit = 'inch' | 'cm'; + +export type MediaType = + 'application/pdf' | + 'image/avif' | + 'image/fits' | + 'image/gif' | + 'image/heic' | + 'image/jp2' | + 'image/jpeg' | + 'image/jxl' | + 'image/png' | + 'image/svg+xml' | + 'image/tiff' | + 'image/vnd.radiance' | + 'image/webp' | + 'image/x-exr' | + 'image/x-portable-pixmap'; + +export interface WriteableMetadata { + /** Number of pixels per inch (DPI) */ + density?: number | undefined; + /** Value between 1 and 8, used to update the EXIF Orientation tag. */ + orientation?: number | undefined; + /** + * Filesystem path to output ICC profile, defaults to sRGB. + * @deprecated Use `withIccProfile()` instead. + */ + icc?: string | undefined; + /** + * Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @deprecated Use `withExif()` or `withExifMerge()` instead. + */ + exif?: Exif | undefined; +} + +export interface Metadata { + /** Number value of the EXIF Orientation header, if present */ + orientation?: number | undefined; + /** Name of decoder used to decompress image data e.g. jpeg, png, webp, gif, svg */ + format: keyof FormatEnum; + /** Total size of image in bytes, for Stream and Buffer input only */ + size?: number | undefined; + /** Number of pixels wide (EXIF orientation is not taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is not taken into consideration) */ + height: number; + /** Any changed metadata after the image orientation is applied. */ + autoOrient: { + /** Number of pixels wide (EXIF orientation is taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is taken into consideration) */ + height: number; + }; + /** Name of colour space interpretation */ + space: keyof ColourspaceEnum; + /** Number of bands e.g. 3 for sRGB, 4 for CMYK */ + channels: Channels; + /** Name of pixel depth format e.g. uchar, char, ushort, float ... */ + depth: keyof DepthEnum; + /** Number of pixels per inch (DPI), if present */ + density?: number | undefined; + /** String containing JPEG chroma subsampling, 4:2:0 or 4:4:4 for RGB, 4:2:0:4 or 4:4:4:4 for CMYK */ + chromaSubsampling?: string | undefined; + /** Boolean indicating whether the image is interlaced using a progressive scan */ + isProgressive: boolean; + /** Boolean indicating whether the image is palette-based (GIF, PNG). */ + isPalette: boolean; + /** Number of bits per sample for each channel (GIF, PNG). */ + bitsPerSample?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; + /** Number of times to loop an animated image, zero refers to a continuous loop. */ + loop?: number | undefined; + /** Delay in ms between each page in an animated image, provided as an array of integers. */ + delay?: number[] | undefined; + /** Number of the primary page in a HEIF image */ + pagePrimary?: number | undefined; + /** Boolean indicating the presence of an embedded ICC profile */ + hasProfile: boolean; + /** Boolean indicating the presence of an alpha transparency channel */ + hasAlpha: boolean; + /** Buffer containing raw EXIF data, if present */ + exif?: Buffer | undefined; + /** Buffer containing raw ICC profile data, if present */ + icc?: Buffer | undefined; + /** Buffer containing raw IPTC data, if present */ + iptc?: Buffer | undefined; + /** Buffer containing raw XMP data, if present */ + xmp?: Buffer | undefined; + /** String containing XMP data, if valid UTF-8 */ + xmpAsString?: string | undefined; + /** Buffer containing raw TIFFTAG_PHOTOSHOP data, if present */ + tifftagPhotoshop?: Buffer | undefined; + /** The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) */ + compression?: HeifCompression | undefined; + /** Default background colour, if present, for PNG (bKGD) and GIF images */ + background?: { r: number; g: number; b: number } | { gray: number }; + /** Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide */ + levels?: LevelMetadata[] | undefined; + /** Number of Sub Image File Directories in an OME-TIFF image */ + subifds?: number | undefined; + /** The unit of resolution (density) */ + resolutionUnit?: Unit | undefined; + /** String containing format for images loaded via *magick */ + formatMagick?: string | undefined; + /** Array of keyword/text pairs representing PNG text blocks, if present. */ + comments?: CommentsMetadata[] | undefined; + /** HDR gain map, if present */ + gainMap?: GainMapMetadata | undefined; + /** Media Type (MIME Type) */ + mediaType?: MediaType | undefined; +} + +export interface LevelMetadata { + width: number; + height: number; +} + +export interface CommentsMetadata { + keyword: string; + text: string; +} + +export interface GainMapMetadata { + /** JPEG image */ + image: Buffer; +} + +export interface Stats { + /** Array of channel statistics for each channel in the image. */ + channels: ChannelStats[]; + /** Value to identify if the image is opaque or transparent, based on the presence and use of alpha channel */ + isOpaque: boolean; + /** Histogram-based estimation of greyscale entropy, discarding alpha channel if any */ + entropy: number; + /** Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any */ + sharpness: number; + /** Object containing most dominant sRGB colour based on a 4096-bin 3D histogram */ + dominant: { r: number; g: number; b: number }; +} + +export interface ChannelStats { + /** minimum value in the channel */ + min: number; + /** maximum value in the channel */ + max: number; + /** sum of all values in a channel */ + sum: number; + /** sum of squared values in a channel */ + squaresSum: number; + /** mean of the values in a channel */ + mean: number; + /** standard deviation for the values in a channel */ + stdev: number; + /** x-coordinate of one of the pixel where the minimum lies */ + minX: number; + /** y-coordinate of one of the pixel where the minimum lies */ + minY: number; + /** x-coordinate of one of the pixel where the maximum lies */ + maxX: number; + /** y-coordinate of one of the pixel where the maximum lies */ + maxY: number; +} + +export interface OutputOptions { + /** Force format output, otherwise attempt to use input format (optional, default true) */ + force?: boolean | undefined; +} + +export interface WithIccProfileOptions { + /** Should the ICC profile be included in the output image metadata? (optional, default true) */ + attach?: boolean | undefined; +} + +export interface JpegOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** Set to '4:4:4' to prevent chroma subsampling when quality <= 90 (optional, default '4:2:0') */ + chromaSubsampling?: string | undefined; + /** Apply trellis quantisation (optional, default false) */ + trellisQuantisation?: boolean | undefined; + /** Apply overshoot deringing (optional, default false) */ + overshootDeringing?: boolean | undefined; + /** Optimise progressive scans, forces progressive (optional, default false) */ + optimiseScans?: boolean | undefined; + /** Alternative spelling of optimiseScans (optional, default false) */ + optimizeScans?: boolean | undefined; + /** Optimise Huffman coding tables (optional, default true) */ + optimiseCoding?: boolean | undefined; + /** Alternative spelling of optimiseCoding (optional, default true) */ + optimizeCoding?: boolean | undefined; + /** Quantization table to use, integer 0-8 (optional, default 0) */ + quantisationTable?: number | undefined; + /** Alternative spelling of quantisationTable (optional, default 0) */ + quantizationTable?: number | undefined; + /** Use mozjpeg defaults (optional, default false) */ + mozjpeg?: boolean | undefined; +} + +export interface Jp2Options extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean; + /** Horizontal tile size (optional, default 512) */ + tileWidth?: number; + /** Vertical tile size (optional, default 512) */ + tileHeight?: number; + /** Set to '4:2:0' to enable chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: '4:4:4' | '4:2:0'; +} + +export interface JxlOptions extends OutputOptions, AnimationOptions { + /** Maximum encoding error, between 0 (highest quality) and 15 (lowest quality) (optional, default 1.0) */ + distance?: number; + /** Calculate distance based on JPEG-like quality, between 1 and 100, overrides distance if specified */ + quality?: number; + /** Target decode speed tier, between 0 (highest quality) and 4 (lowest quality) (optional, default 0) */ + decodingTier?: number; + /** Use lossless compression (optional, default false) */ + lossless?: boolean; + /** CPU effort, between 1 (fastest) and 9 (slowest) (optional, default 7) */ + effort?: number | undefined; +} + +export interface WebpOptions extends OutputOptions, AnimationOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Quality of alpha layer, number from 0-100 (optional, default 100) */ + alphaQuality?: number | undefined; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean | undefined; + /** Use near_lossless compression mode (optional, default false) */ + nearLossless?: boolean | undefined; + /** Use high quality chroma subsampling (optional, default false) */ + smartSubsample?: boolean | undefined; + /** Auto-adjust the deblocking filter, slow but can improve low contrast edges (optional, default false) */ + smartDeblock?: boolean | undefined; + /** Level of CPU effort to reduce file size, integer 0-6 (optional, default 4) */ + effort?: number | undefined; + /** Prevent use of animation key frames to minimise file size (slow) (optional, default false) */ + minSize?: boolean | undefined; + /** Allow mixture of lossy and lossless animation frames (slow) (optional, default false) */ + mixed?: boolean | undefined; + /** Preset options: one of default, photo, picture, drawing, icon, text (optional, default 'default') */ + preset?: keyof PresetEnum | undefined; + /** Preserve the colour data in transparent pixels (optional, default false) */ + exact?: boolean | undefined; +} + +export interface AvifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling, requires libvips v8.11.0 (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; +} + +export interface HeifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** compression format: av1, hevc (optional, default 'av1') */ + compression?: HeifCompression | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; +} + +export interface GifOptions extends OutputOptions, AnimationOptions { + /** Re-use existing palette, otherwise generate new (slow) */ + reuse?: boolean | undefined; + /** Use progressive (interlace) scan */ + progressive?: boolean | undefined; + /** Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colours?: number | undefined; + /** Alternative spelling of "colours". Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colors?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest) (optional, default 7) */ + effort?: number | undefined; + /** Level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) (optional, default 1.0) */ + dither?: number | undefined; + /** Maximum inter-frame error for transparency, between 0 (lossless) and 32 (optional, default 0) */ + interFrameMaxError?: number | undefined; + /** Maximum inter-palette error for palette reuse, between 0 and 256 (optional, default 3) */ + interPaletteMaxError?: number | undefined; + /** Keep duplicate frames in the output instead of combining them (optional, default false) */ + keepDuplicateFrames?: boolean | undefined; +} + +export interface TiffOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k (optional, default 'jpeg') */ + compression?: string | undefined; + /** Use BigTIFF variant (has no effect when compression is none) (optional, default false) */ + bigtiff?: boolean | undefined; + /** Compression predictor options: none, horizontal, float (optional, default 'horizontal') */ + predictor?: string | undefined; + /** Write an image pyramid (optional, default false) */ + pyramid?: boolean | undefined; + /** Write a tiled tiff (optional, default false) */ + tile?: boolean | undefined; + /** Horizontal tile size (optional, default 256) */ + tileWidth?: number | undefined; + /** Vertical tile size, valid values are integers in the range 1-32768 (optional, default 256) */ + tileHeight?: number | undefined; + /** Horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + xres?: number | undefined; + /** Vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + yres?: number | undefined; + /** Reduce bitdepth to 1, 2 or 4 bit (optional) */ + bitdepth?: 1 | 2 | 4 | undefined; + /** Write 1-bit images as miniswhite (optional, default false) */ + miniswhite?: boolean | undefined; + /** Resolution unit options: inch, cm (optional, default 'inch') */ + resolutionUnit?: Unit | undefined; +} + +export interface PngOptions extends OutputOptions { + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** zlib compression level, 0-9 (optional, default 6) */ + compressionLevel?: number | undefined; + /** Use adaptive row filtering (optional, default false) */ + adaptiveFiltering?: boolean | undefined; + /** Use the lowest number of colours needed to achieve given quality (optional, default `100`) */ + quality?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest), sets palette to true (optional, default 7) */ + effort?: number | undefined; + /** Quantise to a palette-based image with alpha transparency support (optional, default false) */ + palette?: boolean | undefined; + /** Maximum number of palette entries (optional, default 256) */ + colours?: number | undefined; + /** Alternative Spelling of "colours". Maximum number of palette entries (optional, default 256) */ + colors?: number | undefined; + /** Level of Floyd-Steinberg error diffusion (optional, default 1.0) */ + dither?: number | undefined; +} + +export interface RotateOptions { + /** parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: ColorLike | undefined; +} + +export type Precision = 'integer' | 'float' | 'approximate'; + +export interface BlurOptions { + /** A value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2` */ + sigma: number; + /** A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. */ + minAmplitude?: number; + /** How accurate the operation should be, one of: integer, float, approximate. (optional, default "integer") */ + precision?: Precision | undefined; +} + +export interface FlattenOptions { + /** background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0}) */ + background?: ColorLike | undefined; +} + +export interface NegateOptions { + /** whether or not to negate any alpha channel. (optional, default true) */ + alpha?: boolean | undefined; +} + +export interface NormaliseOptions { + /** Percentile below which luminance values will be underexposed. */ + lower?: number | undefined; + /** Percentile above which luminance values will be overexposed. */ + upper?: number | undefined; +} + +export interface ResizeOptions { + /** Alternative means of specifying width. If both are present this takes priority. */ + width?: number | undefined; + /** Alternative means of specifying height. If both are present this takes priority. */ + height?: number | undefined; + /** How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default 'cover') */ + fit?: keyof FitEnum | undefined; + /** Position, gravity or strategy to use when fit is cover or contain. (optional, default 'centre') */ + position?: number | string | undefined; + /** Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** The kernel to use for image reduction. (optional, default 'lanczos3') */ + kernel?: keyof KernelEnum | undefined; + /** Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick's > geometry option. (optional, default false) */ + withoutEnlargement?: boolean | undefined; + /** Do not reduce if the width or height are already greater than the specified dimensions, equivalent to GraphicsMagick's < geometry option. (optional, default false) */ + withoutReduction?: boolean | undefined; + /** Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true) */ + fastShrinkOnLoad?: boolean | undefined; +} + +export interface Region { + /** zero-indexed offset from left edge, an integer between 0 and 100000000 */ + left: number; + /** zero-indexed offset from top edge, an integer between 0 and 100000000 */ + top: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + width: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + height: number; +} + +export interface Noise { + /** type of generated noise, currently only gaussian is supported. */ + type: 'gaussian'; + /** mean of pixels in generated noise. */ + mean?: number | undefined; + /** standard deviation of pixels in generated noise. */ + sigma?: number | undefined; +} + +export type ExtendWith = 'background' | 'copy' | 'repeat' | 'mirror'; + +export interface ExtendOptions { + /** single pixel count to top edge, valid values are integers in the range 0-10000 (optional, default 0) */ + top?: number | undefined; + /** single pixel count to left edge, valid values are integers in the range 0-10000 (optional, default 0) */ + left?: number | undefined; + /** single pixel count to bottom edge, valid values are integers in the range 0-10000 (optional, default 0) */ + bottom?: number | undefined; + /** single pixel count to right edge, valid values are integers in the range 0-10000 (optional, default 0) */ + right?: number | undefined; + /** background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** how the extension is done, one of: "background", "copy", "repeat", "mirror" (optional, default `'background'`) */ + extendWith?: ExtendWith | undefined; +} + +export interface TrimOptions { + /** Background colour, parsed by the color module, defaults to that of the top-left pixel. (optional) */ + background?: ColorLike | undefined; + /** Allowed difference from the above colour, a positive number. (optional, default 10) */ + threshold?: number | undefined; + /** Does the input more closely resemble line art (e.g. vector) rather than being photographic? (optional, default false) */ + lineArt?: boolean | undefined; + /** Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. (optional, default 0) */ + margin?: number | undefined; +} + +export interface RawOptions { + depth?: keyof DepthEnum; +} + +/** 1 for grayscale, 2 for grayscale + alpha, 3 for sRGB, 4 for CMYK or RGBA */ +export type Channels = 1 | 2 | 3 | 4; + +export type Colour = ColorLike; +export type Color = ColorLike; + +export interface Kernel { + /** width of the kernel in pixels. */ + width: number; + /** height of the kernel in pixels. */ + height: number; + /** Array of length width*height containing the kernel values. */ + kernel: ArrayLike; + /** the scale of the kernel in pixels. (optional, default sum) */ + scale?: number | undefined; + /** the offset of the kernel in pixels. (optional, default 0) */ + offset?: number | undefined; +} + +export interface ClaheOptions { + /** width of the region. Valid values are integers in the range 1-65536. */ + width: number; + /** height of the region. Valid values are integers in the range 1-65536. */ + height: number; + /** max slope of the cumulative contrast. A value of 0 disables contrast limiting. Valid values are integers in the range 0-100. (optional, default 3) */ + maxSlope?: number | undefined; +} + +export interface ThresholdOptions { + /** convert to single channel greyscale. (optional, default true) */ + greyscale?: boolean | undefined; + /** alternative spelling for greyscale. (optional, default true) */ + grayscale?: boolean | undefined; +} + +export interface OverlayOptions extends SharpOptions { + /** Buffer containing image data, String containing the path to an image file, or Create object */ + input?: string | Buffer | { create: Create } | { text: CreateText } | { raw: CreateRaw } | undefined; + /** how to blend this image with the image below. (optional, default `'over'`) */ + blend?: Blend | undefined; + /** gravity at which to place the overlay. (optional, default 'centre') */ + gravity?: Gravity | undefined; + /** the pixel offset from the top edge, an integer between -100000000 and 100000000. */ + top?: number | undefined; + /** the pixel offset from the left edge, an integer between -100000000 and 100000000. */ + left?: number | undefined; + /** set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false) */ + tile?: boolean | undefined; + /** Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option. */ + premultiplied?: boolean | undefined; + /** number representing the DPI for vector overlay image. (optional, default 72)*/ + density?: number | undefined; + /** Set to true to read all frames/pages of an animated image. (optional, default false) */ + animated?: boolean | undefined; + /** see sharp() constructor, (optional, default 'warning') */ + failOn?: FailOnOptions | undefined; + /** see sharp() constructor, (optional, default 268402689) */ + limitInputPixels?: number | boolean | undefined; + /** see sharp() constructor, (optional, default false) */ + autoOrient?: boolean | undefined; +} + +export interface TileOptions { + /** Tile size in pixels, a value between 1 and 8192. (optional, default 256) */ + size?: number | undefined; + /** Tile overlap in pixels, a value between 0 and 8192. (optional, default 0) */ + overlap?: number | undefined; + /** Tile angle of rotation, must be a multiple of 90. (optional, default 0) */ + angle?: number | undefined; + /** background colour, parsed by the color module, defaults to white without transparency. (optional, default {r:255,g:255,b:255,alpha:1}) */ + background?: ColorLike | undefined; + /** How deep to make the pyramid, possible values are "onepixel", "onetile" or "one" (default based on layout) */ + depth?: string | undefined; + /** Threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images */ + skipBlanks?: number | undefined; + /** Tile container, with value fs (filesystem) or zip (compressed file). (optional, default 'fs') */ + container?: TileContainer | undefined; + /** Filesystem layout, possible values are dz, iiif, iiif3, zoomify or google. (optional, default 'dz') */ + layout?: TileLayout | undefined; + /** Centre image in tile. (optional, default false) */ + centre?: boolean | undefined; + /** Alternative spelling of centre. (optional, default false) */ + center?: boolean | undefined; + /** When layout is iiif/iiif3, sets the @id/id attribute of info.json (optional, default 'https://example.com/iiif') */ + id?: string | undefined; + /** The name of the directory within the zip file when container is `zip`. */ + basename?: string | undefined; +} + +export interface AnimationOptions { + /** Number of animation iterations, a value between 0 and 65535. Use 0 for infinite animation. (optional, default 0) */ + loop?: number | undefined; + /** delay(s) between animation frames (in milliseconds), each value between 0 and 65535. (optional) */ + delay?: number | number[] | undefined; +} + +export interface SharpenOptions { + /** The sigma of the Gaussian mask, where sigma = 1 + radius / 2, between 0.000001 and 10000 */ + sigma: number; + /** The level of sharpening to apply to "flat" areas, between 0 and 1000000 (optional, default 1.0) */ + m1?: number | undefined; + /** The level of sharpening to apply to "jagged" areas, between 0 and 1000000 (optional, default 2.0) */ + m2?: number | undefined; + /** Threshold between "flat" and "jagged", between 0 and 1000000 (optional, default 2.0) */ + x1?: number | undefined; + /** Maximum amount of brightening, between 0 and 1000000 (optional, default 10.0) */ + y2?: number | undefined; + /** Maximum amount of darkening, between 0 and 1000000 (optional, default 20.0) */ + y3?: number | undefined; +} + +export interface AffineOptions { + /** Parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: string | object | undefined; + /** Input horizontal offset (optional, default 0) */ + idx?: number | undefined; + /** Input vertical offset (optional, default 0) */ + idy?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + odx?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + ody?: number | undefined; + /** Interpolator (optional, default interpolators.bicubic) */ + interpolator?: Interpolators[keyof Interpolators] | undefined; +} + +export interface OutputInfo { + format: string; + size: number; + width: number; + height: number; + channels: Channels; + /** indicating if premultiplication was used */ + premultiplied: boolean; + /** Indicates if the output image has an alpha channel */ + hasAlpha: boolean; + /** Only defined when using a crop strategy */ + cropOffsetLeft?: number | undefined; + /** Only defined when using a crop strategy */ + cropOffsetTop?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetLeft?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetTop?: number | undefined; + /** DPI the font was rendered at, only defined when using `text` input */ + textAutofitDpi?: number | undefined; + /** When using the attention crop strategy, the focal point of the cropped region */ + attentionX?: number | undefined; + attentionY?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; +} + +export interface AvailableFormatInfo { + id: string; + input: { file: boolean; buffer: boolean; stream: boolean; fileSuffix?: string[] }; + output: { file: boolean; buffer: boolean; stream: boolean; alias?: string[] }; +} + +export interface FitEnum { + contain: 'contain'; + cover: 'cover'; + fill: 'fill'; + inside: 'inside'; + outside: 'outside'; +} + +export interface KernelEnum { + nearest: 'nearest'; + cubic: 'cubic'; + linear: 'linear'; + mitchell: 'mitchell'; + lanczos2: 'lanczos2'; + lanczos3: 'lanczos3'; + mks2013: 'mks2013'; + mks2021: 'mks2021'; +} + +export interface PresetEnum { + default: 'default'; + picture: 'picture'; + photo: 'photo'; + drawing: 'drawing'; + icon: 'icon'; + text: 'text'; +} + +export interface BoolEnum { + and: 'and'; + or: 'or'; + eor: 'eor'; +} + +export interface ColourspaceEnum { + 'b-w': string; + cmc: string; + cmyk: string; + fourier: string; + grey16: string; + histogram: string; + hsv: string; + lab: string; + labq: string; + labs: string; + lch: string; + matrix: string; + multiband: string; + rgb: string; + rgb16: string; + scrgb: string; + srgb: string; + xyz: string; + yxy: string; +} + +export interface DepthEnum { + char: string; + complex: string; + double: string; + dpcomplex: string; + float: string; + int: string; + short: string; + uchar: string; + uint: string; + ushort: string; +} + +export type FailOnOptions = 'none' | 'truncated' | 'error' | 'warning'; + +export type TextAlign = 'left' | 'centre' | 'center' | 'right'; + +export type TextWrap = 'word' | 'char' | 'word-char' | 'none'; + +export type HorizontalAlignment = 'left' | 'centre' | 'center' | 'right'; + +export type VerticalAlignment = 'top' | 'centre' | 'center' | 'bottom'; + +export type TileContainer = 'fs' | 'zip'; + +export type TileLayout = 'dz' | 'iiif' | 'iiif3' | 'zoomify' | 'google'; + +export type Blend = + | 'clear' + | 'source' + | 'over' + | 'in' + | 'out' + | 'atop' + | 'dest' + | 'dest-over' + | 'dest-in' + | 'dest-out' + | 'dest-atop' + | 'xor' + | 'add' + | 'saturate' + | 'multiply' + | 'screen' + | 'overlay' + | 'darken' + | 'lighten' + | 'color-dodge' + | 'colour-dodge' + | 'color-burn' + | 'colour-burn' + | 'hard-light' + | 'soft-light' + | 'difference' + | 'exclusion'; + +export type Gravity = number | string; + +export interface GravityEnum { + north: number; + northeast: number; + southeast: number; + south: number; + southwest: number; + west: number; + northwest: number; + east: number; + center: number; + centre: number; +} + +export interface StrategyEnum { + entropy: number; + attention: number; +} + +export interface FormatEnum { + dcraw: AvailableFormatInfo; + dz: AvailableFormatInfo; + exr: AvailableFormatInfo; + fits: AvailableFormatInfo; + gif: AvailableFormatInfo; + heif: AvailableFormatInfo; + jpeg: AvailableFormatInfo; + jp2: AvailableFormatInfo; + jxl: AvailableFormatInfo; + magick: AvailableFormatInfo; + openslide: AvailableFormatInfo; + pdf: AvailableFormatInfo; + png: AvailableFormatInfo; + ppm: AvailableFormatInfo; + rad: AvailableFormatInfo; + raw: AvailableFormatInfo; + svg: AvailableFormatInfo; + tiff: AvailableFormatInfo; + vips: AvailableFormatInfo; + webp: AvailableFormatInfo; +} + +export interface CacheResult { + memory: { current: number; high: number; max: number }; + files: { current: number; max: number }; + items: { current: number; max: number }; +} + +export interface Interpolators { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest'; + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear'; + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic'; + /** + * [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). + * Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. + */ + locallyBoundedBicubic: 'lbb'; + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo'; + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs'; +} + +export type Matrix2x2 = [[number, number], [number, number]]; +export type Matrix3x3 = [[number, number, number], [number, number, number], [number, number, number]]; +export type Matrix4x4 = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]; + +export interface SharpConstructor { + (options?: SharpOptions): Sharp; + (input?: SharpInput | SharpInput[], options?: SharpOptions): Sharp; + new (options?: SharpOptions): Sharp; + new (input?: SharpInput | SharpInput[], options?: SharpOptions): Sharp; + format: FormatEnum; + versions: { + aom?: string | undefined; + archive?: string | undefined; + cairo?: string | undefined; + cgif?: string | undefined; + exif?: string | undefined; + expat?: string | undefined; + ffi?: string | undefined; + fontconfig?: string | undefined; + freetype?: string | undefined; + fribidi?: string | undefined; + glib?: string | undefined; + harfbuzz?: string | undefined; + heif?: string | undefined; + highway?: string | undefined; + imagequant?: string | undefined; + lcms?: string | undefined; + mozjpeg?: string | undefined; + pango?: string | undefined; + pixman?: string | undefined; + png?: string | undefined; + "proxy-libintl"?: string | undefined; + rsvg?: string | undefined; + sharp: string; + spng?: string | undefined; + tiff?: string | undefined; + vips: string; + webp?: string | undefined; + xml?: string | undefined; + "zlib-ng"?: string | undefined; + }; + interpolators: Interpolators; + queue: NodeJS.EventEmitter; + cache(options?: boolean | CacheOptions): CacheResult; + concurrency(concurrency?: number): number; + counters(): SharpCounters; + simd(enable?: boolean): boolean; + block(options: { operation: string[] }): void; + unblock(options: { operation: string[] }): void; + gravity: GravityEnum; + strategy: StrategyEnum; + kernel: KernelEnum; + fit: FitEnum; + bool: BoolEnum; +} + +declare const sharp: SharpConstructor; +export default sharp; + diff --git a/apps/api/.output/node_modules/sharp/dist/index.mjs b/apps/api/.output/node_modules/sharp/dist/index.mjs new file mode 100644 index 0000000..73a5ad2 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/index.mjs @@ -0,0 +1,25 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import Sharp from './constructor.mjs'; +import input from './input.mjs'; +import resize from './resize.mjs'; +import composite from './composite.mjs'; +import operation from './operation.mjs'; +import colour from './colour.mjs'; +import channel from './channel.mjs'; +import output from './output.mjs'; +import utility from './utility.mjs'; + +input(Sharp); +resize(Sharp); +composite(Sharp); +operation(Sharp); +colour(Sharp); +channel(Sharp); +output(Sharp); +utility(Sharp); + +export default Sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/input.cjs b/apps/api/.output/node_modules/sharp/dist/input.cjs new file mode 100644 index 0000000..241b116 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/input.cjs @@ -0,0 +1,819 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const is = require('./is.cjs'); +const sharp = require('./sharp.cjs'); + +/** + * Justification alignment + * @member + * @private + */ +const align = { + left: 'low', + top: 'low', + low: 'low', + center: 'centre', + centre: 'centre', + right: 'high', + bottom: 'high', + high: 'high' +}; + +const inputStreamParameters = [ + // Limits and error handling + 'failOn', 'limitInputPixels', 'limitInputChannels', 'unlimited', + // Format-generic + 'animated', 'autoOrient', 'density', 'ignoreIcc', 'page', 'pages', 'sequentialRead', + // Format-specific + 'jp2', 'openSlide', 'pdf', 'raw', 'svg', 'tiff', + // Deprecated + 'openSlideLevel', 'pdfBackground', 'tiffSubifd' +]; + +/** + * Extract input options, if any, from an object. + * @private + */ +function _inputOptionsFromObject (obj) { + const params = inputStreamParameters + .filter(p => is.defined(obj[p])) + .map(p => ([p, obj[p]])); + return params.length + ? Object.fromEntries(params) + : undefined; +} + +/** + * Create Object containing input and input-related options. + * @private + */ +function _createInputDescriptor (input, inputOptions, containerOptions) { + const inputDescriptor = { + autoOrient: false, + failOn: 'warning', + limitInputPixels: 0x3FFF ** 2, + limitInputChannels: 5, + ignoreIcc: false, + unlimited: false, + sequentialRead: true + }; + if (is.string(input)) { + // filesystem + inputDescriptor.file = input; + } else if (is.buffer(input)) { + // Buffer + if (input.length === 0) { + throw Error('Input Buffer is empty'); + } + inputDescriptor.buffer = input; + } else if (is.arrayBuffer(input)) { + if (input.byteLength === 0) { + throw Error('Input bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input, 0, input.byteLength); + } else if (is.typedArray(input)) { + if (input.length === 0) { + throw Error('Input Bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength); + } else if (is.plainObject(input) && !is.defined(inputOptions)) { + // Plain Object descriptor, e.g. create + inputOptions = input; + if (_inputOptionsFromObject(inputOptions)) { + // Stream with options + inputDescriptor.buffer = []; + } + } else if (!is.defined(input) && !is.defined(inputOptions) && is.object(containerOptions) && containerOptions.allowStream) { + // Stream without options + inputDescriptor.buffer = []; + } else if (Array.isArray(input)) { + if (input.length > 1) { + // Join images together + if (!this.options.joining) { + this.options.joining = true; + this.options.join = input.map(i => this._createInputDescriptor(i)); + } else { + throw new Error('Recursive join is unsupported'); + } + } else { + throw new Error('Expected at least two images to join'); + } + } else { + throw new Error(`Unsupported input '${input}' of type ${typeof input}${ + is.defined(inputOptions) ? ` when also providing options of type ${typeof inputOptions}` : '' + }`); + } + if (is.object(inputOptions)) { + // failOn + if (is.defined(inputOptions.failOn)) { + if (is.string(inputOptions.failOn) && is.inArray(inputOptions.failOn, ['none', 'truncated', 'error', 'warning'])) { + inputDescriptor.failOn = inputOptions.failOn; + } else { + throw is.invalidParameterError('failOn', 'one of: none, truncated, error, warning', inputOptions.failOn); + } + } + // autoOrient + if (is.defined(inputOptions.autoOrient)) { + if (is.bool(inputOptions.autoOrient)) { + inputDescriptor.autoOrient = inputOptions.autoOrient; + } else { + throw is.invalidParameterError('autoOrient', 'boolean', inputOptions.autoOrient); + } + } + // Density + if (is.defined(inputOptions.density)) { + if (is.number(inputOptions.density) && is.inRange(inputOptions.density, 1, 100000)) { + inputDescriptor.density = inputOptions.density; + } else { + throw is.invalidParameterError('density', 'number between 1 and 100000', inputOptions.density); + } + } + // Ignore embeddded ICC profile + if (is.defined(inputOptions.ignoreIcc)) { + if (is.bool(inputOptions.ignoreIcc)) { + inputDescriptor.ignoreIcc = inputOptions.ignoreIcc; + } else { + throw is.invalidParameterError('ignoreIcc', 'boolean', inputOptions.ignoreIcc); + } + } + // limitInputPixels + if (is.defined(inputOptions.limitInputPixels)) { + if (is.bool(inputOptions.limitInputPixels)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels + ? 0x3FFF ** 2 + : 0; + } else if (is.integer(inputOptions.limitInputPixels) && is.inRange(inputOptions.limitInputPixels, 0, Number.MAX_SAFE_INTEGER)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels; + } else { + throw is.invalidParameterError('limitInputPixels', 'positive integer', inputOptions.limitInputPixels); + } + } + // limitInputChannels + if (is.defined(inputOptions.limitInputChannels)) { + if (is.bool(inputOptions.limitInputChannels)) { + inputDescriptor.limitInputChannels = inputOptions.limitInputChannels ? 5 : 0; + } else if (is.integer(inputOptions.limitInputChannels) && is.inRange(inputOptions.limitInputChannels, 0, Number.MAX_SAFE_INTEGER)) { + inputDescriptor.limitInputChannels = inputOptions.limitInputChannels; + } else { + throw is.invalidParameterError('limitInputChannels', 'positive integer', inputOptions.limitInputChannels); + } + } + // unlimited + if (is.defined(inputOptions.unlimited)) { + if (is.bool(inputOptions.unlimited)) { + inputDescriptor.unlimited = inputOptions.unlimited; + } else { + throw is.invalidParameterError('unlimited', 'boolean', inputOptions.unlimited); + } + } + // sequentialRead + if (is.defined(inputOptions.sequentialRead)) { + if (is.bool(inputOptions.sequentialRead)) { + inputDescriptor.sequentialRead = inputOptions.sequentialRead; + } else { + throw is.invalidParameterError('sequentialRead', 'boolean', inputOptions.sequentialRead); + } + } + // Raw pixel input + if (is.defined(inputOptions.raw)) { + if ( + is.object(inputOptions.raw) && + is.integer(inputOptions.raw.width) && is.inRange(inputOptions.raw.width, 1, 100000000) && + is.integer(inputOptions.raw.height) && is.inRange(inputOptions.raw.height, 1, 100000000) && + is.integer(inputOptions.raw.channels) && is.inRange(inputOptions.raw.channels, 1, 4) + ) { + inputDescriptor.rawWidth = inputOptions.raw.width; + inputDescriptor.rawHeight = inputOptions.raw.height; + inputDescriptor.rawChannels = inputOptions.raw.channels; + switch (input.constructor) { + case Uint8Array: + case Uint8ClampedArray: + inputDescriptor.rawDepth = 'uchar'; + break; + case Int8Array: + inputDescriptor.rawDepth = 'char'; + break; + case Uint16Array: + inputDescriptor.rawDepth = 'ushort'; + break; + case Int16Array: + inputDescriptor.rawDepth = 'short'; + break; + case Uint32Array: + inputDescriptor.rawDepth = 'uint'; + break; + case Int32Array: + inputDescriptor.rawDepth = 'int'; + break; + case Float32Array: + inputDescriptor.rawDepth = 'float'; + break; + case Float64Array: + inputDescriptor.rawDepth = 'double'; + break; + default: + inputDescriptor.rawDepth = 'uchar'; + break; + } + } else { + throw new Error('Expected width, height and channels for raw pixel input'); + } + inputDescriptor.rawPremultiplied = false; + if (is.defined(inputOptions.raw.premultiplied)) { + if (is.bool(inputOptions.raw.premultiplied)) { + inputDescriptor.rawPremultiplied = inputOptions.raw.premultiplied; + } else { + throw is.invalidParameterError('raw.premultiplied', 'boolean', inputOptions.raw.premultiplied); + } + } + inputDescriptor.rawPageHeight = 0; + if (is.defined(inputOptions.raw.pageHeight)) { + if (is.integer(inputOptions.raw.pageHeight) && inputOptions.raw.pageHeight > 0 && inputOptions.raw.pageHeight <= inputOptions.raw.height) { + if (inputOptions.raw.height % inputOptions.raw.pageHeight !== 0) { + throw new Error(`Expected raw.height ${inputOptions.raw.height} to be a multiple of raw.pageHeight ${inputOptions.raw.pageHeight}`); + } + inputDescriptor.rawPageHeight = inputOptions.raw.pageHeight; + } else { + throw is.invalidParameterError('raw.pageHeight', 'positive integer', inputOptions.raw.pageHeight); + } + } + } + // Multi-page input (GIF, TIFF, PDF) + if (is.defined(inputOptions.animated)) { + if (is.bool(inputOptions.animated)) { + inputDescriptor.pages = inputOptions.animated ? -1 : 1; + } else { + throw is.invalidParameterError('animated', 'boolean', inputOptions.animated); + } + } + if (is.defined(inputOptions.pages)) { + if (is.integer(inputOptions.pages) && is.inRange(inputOptions.pages, -1, 100000)) { + inputDescriptor.pages = inputOptions.pages; + } else { + throw is.invalidParameterError('pages', 'integer between -1 and 100000', inputOptions.pages); + } + } + if (is.defined(inputOptions.page)) { + if (is.integer(inputOptions.page) && is.inRange(inputOptions.page, 0, 100000)) { + inputDescriptor.page = inputOptions.page; + } else { + throw is.invalidParameterError('page', 'integer between 0 and 100000', inputOptions.page); + } + } + // OpenSlide specific options + if (is.object(inputOptions.openSlide) && is.defined(inputOptions.openSlide.level)) { + if (is.integer(inputOptions.openSlide.level) && is.inRange(inputOptions.openSlide.level, 0, 256)) { + inputDescriptor.openSlideLevel = inputOptions.openSlide.level; + } else { + throw is.invalidParameterError('openSlide.level', 'integer between 0 and 256', inputOptions.openSlide.level); + } + } else if (is.defined(inputOptions.level)) { + // Deprecated + if (is.integer(inputOptions.level) && is.inRange(inputOptions.level, 0, 256)) { + inputDescriptor.openSlideLevel = inputOptions.level; + } else { + throw is.invalidParameterError('level', 'integer between 0 and 256', inputOptions.level); + } + } + // TIFF specific options + if (is.object(inputOptions.tiff) && is.defined(inputOptions.tiff.subifd)) { + if (is.integer(inputOptions.tiff.subifd) && is.inRange(inputOptions.tiff.subifd, -1, 100000)) { + inputDescriptor.tiffSubifd = inputOptions.tiff.subifd; + } else { + throw is.invalidParameterError('tiff.subifd', 'integer between -1 and 100000', inputOptions.tiff.subifd); + } + } else if (is.defined(inputOptions.subifd)) { + // Deprecated + if (is.integer(inputOptions.subifd) && is.inRange(inputOptions.subifd, -1, 100000)) { + inputDescriptor.tiffSubifd = inputOptions.subifd; + } else { + throw is.invalidParameterError('subifd', 'integer between -1 and 100000', inputOptions.subifd); + } + } + // SVG specific options + if (is.object(inputOptions.svg)) { + if (is.defined(inputOptions.svg.stylesheet)) { + if (is.string(inputOptions.svg.stylesheet)) { + inputDescriptor.svgStylesheet = inputOptions.svg.stylesheet; + } else { + throw is.invalidParameterError('svg.stylesheet', 'string', inputOptions.svg.stylesheet); + } + } + if (is.defined(inputOptions.svg.highBitdepth)) { + if (is.bool(inputOptions.svg.highBitdepth)) { + inputDescriptor.svgHighBitdepth = inputOptions.svg.highBitdepth; + } else { + throw is.invalidParameterError('svg.highBitdepth', 'boolean', inputOptions.svg.highBitdepth); + } + } + } + // PDF specific options + if (is.object(inputOptions.pdf) && is.defined(inputOptions.pdf.background)) { + inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdf.background); + } else if (is.defined(inputOptions.pdfBackground)) { + // Deprecated + inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdfBackground); + } + // JPEG 2000 specific options + if (is.object(inputOptions.jp2) && is.defined(inputOptions.jp2.oneshot)) { + if (is.bool(inputOptions.jp2.oneshot)) { + inputDescriptor.jp2Oneshot = inputOptions.jp2.oneshot; + } else { + throw is.invalidParameterError('jp2.oneshot', 'boolean', inputOptions.jp2.oneshot); + } + } + // Create new image + if (is.defined(inputOptions.create)) { + if ( + is.object(inputOptions.create) && + is.integer(inputOptions.create.width) && is.inRange(inputOptions.create.width, 1, 100000000) && + is.integer(inputOptions.create.height) && is.inRange(inputOptions.create.height, 1, 100000000) && + is.integer(inputOptions.create.channels) + ) { + inputDescriptor.createWidth = inputOptions.create.width; + inputDescriptor.createHeight = inputOptions.create.height; + inputDescriptor.createChannels = inputOptions.create.channels; + inputDescriptor.createPageHeight = 0; + if (is.defined(inputOptions.create.pageHeight)) { + if (is.integer(inputOptions.create.pageHeight) && inputOptions.create.pageHeight > 0 && inputOptions.create.pageHeight <= inputOptions.create.height) { + if (inputOptions.create.height % inputOptions.create.pageHeight !== 0) { + throw new Error(`Expected create.height ${inputOptions.create.height} to be a multiple of create.pageHeight ${inputOptions.create.pageHeight}`); + } + inputDescriptor.createPageHeight = inputOptions.create.pageHeight; + } else { + throw is.invalidParameterError('create.pageHeight', 'positive integer', inputOptions.create.pageHeight); + } + } + // Noise + if (is.defined(inputOptions.create.noise)) { + if (!is.object(inputOptions.create.noise)) { + throw new Error('Expected noise to be an object'); + } + if (inputOptions.create.noise.type !== 'gaussian') { + throw new Error('Only gaussian noise is supported at the moment'); + } + inputDescriptor.createNoiseType = inputOptions.create.noise.type; + if (!is.inRange(inputOptions.create.channels, 1, 4)) { + throw is.invalidParameterError('create.channels', 'number between 1 and 4', inputOptions.create.channels); + } + inputDescriptor.createNoiseMean = 128; + if (is.defined(inputOptions.create.noise.mean)) { + if (is.number(inputOptions.create.noise.mean) && is.inRange(inputOptions.create.noise.mean, 0, 10000)) { + inputDescriptor.createNoiseMean = inputOptions.create.noise.mean; + } else { + throw is.invalidParameterError('create.noise.mean', 'number between 0 and 10000', inputOptions.create.noise.mean); + } + } + inputDescriptor.createNoiseSigma = 30; + if (is.defined(inputOptions.create.noise.sigma)) { + if (is.number(inputOptions.create.noise.sigma) && is.inRange(inputOptions.create.noise.sigma, 0, 10000)) { + inputDescriptor.createNoiseSigma = inputOptions.create.noise.sigma; + } else { + throw is.invalidParameterError('create.noise.sigma', 'number between 0 and 10000', inputOptions.create.noise.sigma); + } + } + } else if (is.defined(inputOptions.create.background)) { + if (!is.inRange(inputOptions.create.channels, 3, 4)) { + throw is.invalidParameterError('create.channels', 'number between 3 and 4', inputOptions.create.channels); + } + inputDescriptor.createBackground = this._getBackgroundColourOption(inputOptions.create.background); + } else { + throw new Error('Expected valid noise or background to create a new input image'); + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected valid width, height and channels to create a new input image'); + } + } + // Create a new image with text + if (is.defined(inputOptions.text)) { + if (is.object(inputOptions.text) && is.string(inputOptions.text.text)) { + inputDescriptor.textValue = inputOptions.text.text; + if (is.defined(inputOptions.text.height) && is.defined(inputOptions.text.dpi)) { + throw new Error('Expected only one of dpi or height'); + } + if (is.defined(inputOptions.text.font)) { + if (is.string(inputOptions.text.font)) { + inputDescriptor.textFont = inputOptions.text.font; + } else { + throw is.invalidParameterError('text.font', 'string', inputOptions.text.font); + } + } + if (is.defined(inputOptions.text.fontfile)) { + if (is.string(inputOptions.text.fontfile)) { + inputDescriptor.textFontfile = inputOptions.text.fontfile; + } else { + throw is.invalidParameterError('text.fontfile', 'string', inputOptions.text.fontfile); + } + } + if (is.defined(inputOptions.text.width)) { + if (is.integer(inputOptions.text.width) && is.inRange(inputOptions.text.width, 1, 1000000)) { + inputDescriptor.textWidth = inputOptions.text.width; + } else { + throw is.invalidParameterError('text.width', 'integer between 1 and 1000000', inputOptions.text.width); + } + } + if (is.defined(inputOptions.text.height)) { + if (is.integer(inputOptions.text.height) && is.inRange(inputOptions.text.height, 1, 1000000)) { + inputDescriptor.textHeight = inputOptions.text.height; + } else { + throw is.invalidParameterError('text.height', 'integer between 1 and 1000000', inputOptions.text.height); + } + } + if (is.defined(inputOptions.text.align)) { + if (is.string(inputOptions.text.align) && is.string(this.constructor.align[inputOptions.text.align])) { + inputDescriptor.textAlign = this.constructor.align[inputOptions.text.align]; + } else { + throw is.invalidParameterError('text.align', 'valid alignment', inputOptions.text.align); + } + } + if (is.defined(inputOptions.text.justify)) { + if (is.bool(inputOptions.text.justify)) { + inputDescriptor.textJustify = inputOptions.text.justify; + } else { + throw is.invalidParameterError('text.justify', 'boolean', inputOptions.text.justify); + } + } + if (is.defined(inputOptions.text.dpi)) { + if (is.integer(inputOptions.text.dpi) && is.inRange(inputOptions.text.dpi, 1, 1000000)) { + inputDescriptor.textDpi = inputOptions.text.dpi; + } else { + throw is.invalidParameterError('text.dpi', 'integer between 1 and 1000000', inputOptions.text.dpi); + } + } + if (is.defined(inputOptions.text.rgba)) { + if (is.bool(inputOptions.text.rgba)) { + inputDescriptor.textRgba = inputOptions.text.rgba; + } else { + throw is.invalidParameterError('text.rgba', 'bool', inputOptions.text.rgba); + } + } + if (is.defined(inputOptions.text.spacing)) { + if (is.integer(inputOptions.text.spacing) && is.inRange(inputOptions.text.spacing, -1000000, 1000000)) { + inputDescriptor.textSpacing = inputOptions.text.spacing; + } else { + throw is.invalidParameterError('text.spacing', 'integer between -1000000 and 1000000', inputOptions.text.spacing); + } + } + if (is.defined(inputOptions.text.wrap)) { + if (is.string(inputOptions.text.wrap) && is.inArray(inputOptions.text.wrap, ['word', 'char', 'word-char', 'none'])) { + inputDescriptor.textWrap = inputOptions.text.wrap; + } else { + throw is.invalidParameterError('text.wrap', 'one of: word, char, word-char, none', inputOptions.text.wrap); + } + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected a valid string to create an image with text.'); + } + } + // Join images together + if (is.defined(inputOptions.join)) { + if (is.defined(this.options.join)) { + if (is.defined(inputOptions.join.animated)) { + if (is.bool(inputOptions.join.animated)) { + inputDescriptor.joinAnimated = inputOptions.join.animated; + } else { + throw is.invalidParameterError('join.animated', 'boolean', inputOptions.join.animated); + } + } + if (is.defined(inputOptions.join.across)) { + if (is.integer(inputOptions.join.across) && is.inRange(inputOptions.join.across, 1, 1000000)) { + inputDescriptor.joinAcross = inputOptions.join.across; + } else { + throw is.invalidParameterError('join.across', 'integer between 1 and 100000', inputOptions.join.across); + } + } + if (is.defined(inputOptions.join.shim)) { + if (is.integer(inputOptions.join.shim) && is.inRange(inputOptions.join.shim, 0, 1000000)) { + inputDescriptor.joinShim = inputOptions.join.shim; + } else { + throw is.invalidParameterError('join.shim', 'integer between 0 and 100000', inputOptions.join.shim); + } + } + if (is.defined(inputOptions.join.background)) { + inputDescriptor.joinBackground = this._getBackgroundColourOption(inputOptions.join.background); + } + if (is.defined(inputOptions.join.halign)) { + if (is.string(inputOptions.join.halign) && is.string(this.constructor.align[inputOptions.join.halign])) { + inputDescriptor.joinHalign = this.constructor.align[inputOptions.join.halign]; + } else { + throw is.invalidParameterError('join.halign', 'valid alignment', inputOptions.join.halign); + } + } + if (is.defined(inputOptions.join.valign)) { + if (is.string(inputOptions.join.valign) && is.string(this.constructor.align[inputOptions.join.valign])) { + inputDescriptor.joinValign = this.constructor.align[inputOptions.join.valign]; + } else { + throw is.invalidParameterError('join.valign', 'valid alignment', inputOptions.join.valign); + } + } + } else { + throw new Error('Expected input to be an array of images to join'); + } + } + } else if (is.defined(inputOptions)) { + throw new Error(`Invalid input options ${inputOptions}`); + } + return inputDescriptor; +} + +/** + * Handle incoming Buffer chunk on Writable Stream. + * @private + * @param {Buffer} chunk + * @param {string} encoding - unused + * @param {Function} callback + */ +function _write (chunk, _encoding, callback) { + if (Array.isArray(this.options.input.buffer)) { + if (is.buffer(chunk)) { + this.options.input.buffer.push(chunk); + callback(); + } else { + callback(new Error('Non-Buffer data on Writable Stream')); + } + } else { + callback(new Error('Unexpected data on Writable Stream')); + } +} + +/** + * Flattens the array of chunks accumulated in input.buffer. + * @private + */ +function _flattenBufferIn () { + if (this._isStreamInput()) { + this.options.input.buffer = Buffer.concat(this.options.input.buffer); + } +} + +/** + * Are we expecting Stream-based input? + * @private + * @returns {boolean} + */ +function _isStreamInput () { + return Array.isArray(this.options.input.buffer); +} + +/** + * Call fn when the Writable side of Stream-based input has finished, + * or immediately when it already has, as 'finish' is emitted only once. + * @private + * @param {Function} fn + */ +function _whenStreamInFinished (fn) { + if (this.writableFinished) { + fn(); + } else { + this.once('finish', fn); + } +} + +/** + * Fast access to (uncached) image metadata without decoding any compressed pixel data. + * + * This is read from the header of the input image. + * It does not take into consideration any operations to be applied to the output image, + * such as resize or rotate. + * + * Dimensions in the response will respect the `page` and `pages` properties of the + * {@link /api-constructor/ constructor parameters}. + * + * A `Promise` is returned when `callback` is not provided. + * + * - `format`: Name of decoder used to parse image e.g. `jpeg`, `png`, `webp`, `gif`, `svg`, `heif`, `tiff` + * - `mediaType`: Media Type (MIME Type) e.g. `image/jpeg`, `image/png`, `image/svg+xml`, `image/avif` + * - `size`: Total size of image in bytes, for Stream and Buffer input only + * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below) + * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below) + * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK + * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html) + * - `density`: Number of pixels per inch (DPI), if present + * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK + * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan + * - `isPalette`: Boolean indicating whether the image is palette-based (GIF, PNG). + * - `bitsPerSample`: Number of bits per sample for each channel (GIF, PNG, HEIF). + * - `pages`: Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP + * - `pageHeight`: Number of pixels high each page in a multi-page image will be. + * - `loop`: Number of times to loop an animated image, zero refers to a continuous loop. + * - `delay`: Delay in ms between each page in an animated image, provided as an array of integers. + * - `pagePrimary`: Number of the primary page in a HEIF image + * - `levels`: Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide + * - `subifds`: Number of Sub Image File Directories in an OME-TIFF image + * - `background`: Default background colour, if present, for PNG (bKGD) and GIF images + * - `compression`: The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) + * - `resolutionUnit`: The unit of resolution (density), either `inch` or `cm`, if present + * - `hasProfile`: Boolean indicating the presence of an embedded ICC profile + * - `hasAlpha`: Boolean indicating the presence of an alpha transparency channel + * - `orientation`: Number value of the EXIF Orientation header, if present + * - `exif`: Buffer containing raw EXIF data, if present + * - `icc`: Buffer containing raw [ICC](https://www.npmjs.com/package/icc) profile data, if present + * - `iptc`: Buffer containing raw IPTC data, if present + * - `xmp`: Buffer containing raw XMP data, if present + * - `xmpAsString`: String containing XMP data, if valid UTF-8. + * - `tifftagPhotoshop`: Buffer containing raw TIFFTAG_PHOTOSHOP data, if present + * - `formatMagick`: String containing format for images loaded via *magick + * - `comments`: Array of keyword/text pairs representing PNG text blocks, if present. + * - `gainMap.image`: HDR gain map, if present, as compressed JPEG image. + * + * @example + * const metadata = await sharp(input).metadata(); + * + * @example + * const image = sharp(inputJpg); + * image + * .metadata() + * .then(function(metadata) { + * return image + * .resize(Math.round(metadata.width / 2)) + * .webp() + * .toBuffer(); + * }) + * .then(function(data) { + * // data contains a WebP image half the width and height of the original JPEG + * }); + * + * @example + * // Get dimensions taking EXIF Orientation into account. + * const { autoOrient } = await sharp(input).metadata(); + * const { width, height } = autoOrient; + * + * @param {Function} [callback] - called with the arguments `(err, metadata)` + * @returns {Promise|Sharp} + */ +function metadata (callback) { + const stack = Error(); + if (is.fn(callback)) { + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.metadata(this.options, (err, metadata) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, metadata); + } + }); + }); + } else { + sharp.metadata(this.options, (err, metadata) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, metadata); + } + }); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(metadata); + } + }); + }); + }); + } else { + return new Promise((resolve, reject) => { + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(metadata); + } + }); + }); + } + } +} + +/** + * Access to pixel-derived image statistics for every channel in the image. + * A `Promise` is returned when `callback` is not provided. + * + * - `channels`: Array of channel statistics for each channel in the image. Each channel statistic contains + * - `min` (minimum value in the channel) + * - `max` (maximum value in the channel) + * - `sum` (sum of all values in a channel) + * - `squaresSum` (sum of squared values in a channel) + * - `mean` (mean of the values in a channel) + * - `stdev` (standard deviation for the values in a channel) + * - `minX` (x-coordinate of one of the pixel where the minimum lies) + * - `minY` (y-coordinate of one of the pixel where the minimum lies) + * - `maxX` (x-coordinate of one of the pixel where the maximum lies) + * - `maxY` (y-coordinate of one of the pixel where the maximum lies) + * - `isOpaque`: Is the image fully opaque? Will be `true` if the image has no alpha channel or if every pixel is fully opaque. + * - `entropy`: Histogram-based estimation of greyscale entropy, discarding alpha channel if any. + * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any. + * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram. + * + * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be + * written to a buffer in order to run `stats` on the result (see third example). + * + * @example + * const image = sharp(inputJpg); + * image + * .stats() + * .then(function(stats) { + * // stats contains the channel-wise statistics array and the isOpaque value + * }); + * + * @example + * const { entropy, sharpness, dominant } = await sharp(input).stats(); + * const { r, g, b } = dominant; + * + * @example + * const image = sharp(input); + * // store intermediate result + * const part = await image.extract(region).toBuffer(); + * // create new instance to obtain statistics of extracted region + * const stats = await sharp(part).stats(); + * + * @param {Function} [callback] - called with the arguments `(err, stats)` + * @returns {Promise} + */ +function stats (callback) { + const stack = Error(); + if (is.fn(callback)) { + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.stats(this.options, (err, stats) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, stats); + } + }); + }); + } else { + sharp.stats(this.options, (err, stats) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, stats); + } + }); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(stats); + } + }); + }); + }); + } else { + return new Promise((resolve, reject) => { + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(stats); + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with input-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + // Private + _inputOptionsFromObject, + _createInputDescriptor, + _write, + _flattenBufferIn, + _isStreamInput, + _whenStreamInFinished, + // Public + metadata, + stats + }); + // Class attributes + Sharp.align = align; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/input.mjs b/apps/api/.output/node_modules/sharp/dist/input.mjs new file mode 100644 index 0000000..0cab99d --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/input.mjs @@ -0,0 +1,819 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import is from './is.mjs'; +import sharp from './sharp.mjs'; + +/** + * Justification alignment + * @member + * @private + */ +const align = { + left: 'low', + top: 'low', + low: 'low', + center: 'centre', + centre: 'centre', + right: 'high', + bottom: 'high', + high: 'high' +}; + +const inputStreamParameters = [ + // Limits and error handling + 'failOn', 'limitInputPixels', 'limitInputChannels', 'unlimited', + // Format-generic + 'animated', 'autoOrient', 'density', 'ignoreIcc', 'page', 'pages', 'sequentialRead', + // Format-specific + 'jp2', 'openSlide', 'pdf', 'raw', 'svg', 'tiff', + // Deprecated + 'openSlideLevel', 'pdfBackground', 'tiffSubifd' +]; + +/** + * Extract input options, if any, from an object. + * @private + */ +function _inputOptionsFromObject (obj) { + const params = inputStreamParameters + .filter(p => is.defined(obj[p])) + .map(p => ([p, obj[p]])); + return params.length + ? Object.fromEntries(params) + : undefined; +} + +/** + * Create Object containing input and input-related options. + * @private + */ +function _createInputDescriptor (input, inputOptions, containerOptions) { + const inputDescriptor = { + autoOrient: false, + failOn: 'warning', + limitInputPixels: 0x3FFF ** 2, + limitInputChannels: 5, + ignoreIcc: false, + unlimited: false, + sequentialRead: true + }; + if (is.string(input)) { + // filesystem + inputDescriptor.file = input; + } else if (is.buffer(input)) { + // Buffer + if (input.length === 0) { + throw Error('Input Buffer is empty'); + } + inputDescriptor.buffer = input; + } else if (is.arrayBuffer(input)) { + if (input.byteLength === 0) { + throw Error('Input bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input, 0, input.byteLength); + } else if (is.typedArray(input)) { + if (input.length === 0) { + throw Error('Input Bit Array is empty'); + } + inputDescriptor.buffer = Buffer.from(input.buffer, input.byteOffset, input.byteLength); + } else if (is.plainObject(input) && !is.defined(inputOptions)) { + // Plain Object descriptor, e.g. create + inputOptions = input; + if (_inputOptionsFromObject(inputOptions)) { + // Stream with options + inputDescriptor.buffer = []; + } + } else if (!is.defined(input) && !is.defined(inputOptions) && is.object(containerOptions) && containerOptions.allowStream) { + // Stream without options + inputDescriptor.buffer = []; + } else if (Array.isArray(input)) { + if (input.length > 1) { + // Join images together + if (!this.options.joining) { + this.options.joining = true; + this.options.join = input.map(i => this._createInputDescriptor(i)); + } else { + throw new Error('Recursive join is unsupported'); + } + } else { + throw new Error('Expected at least two images to join'); + } + } else { + throw new Error(`Unsupported input '${input}' of type ${typeof input}${ + is.defined(inputOptions) ? ` when also providing options of type ${typeof inputOptions}` : '' + }`); + } + if (is.object(inputOptions)) { + // failOn + if (is.defined(inputOptions.failOn)) { + if (is.string(inputOptions.failOn) && is.inArray(inputOptions.failOn, ['none', 'truncated', 'error', 'warning'])) { + inputDescriptor.failOn = inputOptions.failOn; + } else { + throw is.invalidParameterError('failOn', 'one of: none, truncated, error, warning', inputOptions.failOn); + } + } + // autoOrient + if (is.defined(inputOptions.autoOrient)) { + if (is.bool(inputOptions.autoOrient)) { + inputDescriptor.autoOrient = inputOptions.autoOrient; + } else { + throw is.invalidParameterError('autoOrient', 'boolean', inputOptions.autoOrient); + } + } + // Density + if (is.defined(inputOptions.density)) { + if (is.number(inputOptions.density) && is.inRange(inputOptions.density, 1, 100000)) { + inputDescriptor.density = inputOptions.density; + } else { + throw is.invalidParameterError('density', 'number between 1 and 100000', inputOptions.density); + } + } + // Ignore embeddded ICC profile + if (is.defined(inputOptions.ignoreIcc)) { + if (is.bool(inputOptions.ignoreIcc)) { + inputDescriptor.ignoreIcc = inputOptions.ignoreIcc; + } else { + throw is.invalidParameterError('ignoreIcc', 'boolean', inputOptions.ignoreIcc); + } + } + // limitInputPixels + if (is.defined(inputOptions.limitInputPixels)) { + if (is.bool(inputOptions.limitInputPixels)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels + ? 0x3FFF ** 2 + : 0; + } else if (is.integer(inputOptions.limitInputPixels) && is.inRange(inputOptions.limitInputPixels, 0, Number.MAX_SAFE_INTEGER)) { + inputDescriptor.limitInputPixels = inputOptions.limitInputPixels; + } else { + throw is.invalidParameterError('limitInputPixels', 'positive integer', inputOptions.limitInputPixels); + } + } + // limitInputChannels + if (is.defined(inputOptions.limitInputChannels)) { + if (is.bool(inputOptions.limitInputChannels)) { + inputDescriptor.limitInputChannels = inputOptions.limitInputChannels ? 5 : 0; + } else if (is.integer(inputOptions.limitInputChannels) && is.inRange(inputOptions.limitInputChannels, 0, Number.MAX_SAFE_INTEGER)) { + inputDescriptor.limitInputChannels = inputOptions.limitInputChannels; + } else { + throw is.invalidParameterError('limitInputChannels', 'positive integer', inputOptions.limitInputChannels); + } + } + // unlimited + if (is.defined(inputOptions.unlimited)) { + if (is.bool(inputOptions.unlimited)) { + inputDescriptor.unlimited = inputOptions.unlimited; + } else { + throw is.invalidParameterError('unlimited', 'boolean', inputOptions.unlimited); + } + } + // sequentialRead + if (is.defined(inputOptions.sequentialRead)) { + if (is.bool(inputOptions.sequentialRead)) { + inputDescriptor.sequentialRead = inputOptions.sequentialRead; + } else { + throw is.invalidParameterError('sequentialRead', 'boolean', inputOptions.sequentialRead); + } + } + // Raw pixel input + if (is.defined(inputOptions.raw)) { + if ( + is.object(inputOptions.raw) && + is.integer(inputOptions.raw.width) && is.inRange(inputOptions.raw.width, 1, 100000000) && + is.integer(inputOptions.raw.height) && is.inRange(inputOptions.raw.height, 1, 100000000) && + is.integer(inputOptions.raw.channels) && is.inRange(inputOptions.raw.channels, 1, 4) + ) { + inputDescriptor.rawWidth = inputOptions.raw.width; + inputDescriptor.rawHeight = inputOptions.raw.height; + inputDescriptor.rawChannels = inputOptions.raw.channels; + switch (input.constructor) { + case Uint8Array: + case Uint8ClampedArray: + inputDescriptor.rawDepth = 'uchar'; + break; + case Int8Array: + inputDescriptor.rawDepth = 'char'; + break; + case Uint16Array: + inputDescriptor.rawDepth = 'ushort'; + break; + case Int16Array: + inputDescriptor.rawDepth = 'short'; + break; + case Uint32Array: + inputDescriptor.rawDepth = 'uint'; + break; + case Int32Array: + inputDescriptor.rawDepth = 'int'; + break; + case Float32Array: + inputDescriptor.rawDepth = 'float'; + break; + case Float64Array: + inputDescriptor.rawDepth = 'double'; + break; + default: + inputDescriptor.rawDepth = 'uchar'; + break; + } + } else { + throw new Error('Expected width, height and channels for raw pixel input'); + } + inputDescriptor.rawPremultiplied = false; + if (is.defined(inputOptions.raw.premultiplied)) { + if (is.bool(inputOptions.raw.premultiplied)) { + inputDescriptor.rawPremultiplied = inputOptions.raw.premultiplied; + } else { + throw is.invalidParameterError('raw.premultiplied', 'boolean', inputOptions.raw.premultiplied); + } + } + inputDescriptor.rawPageHeight = 0; + if (is.defined(inputOptions.raw.pageHeight)) { + if (is.integer(inputOptions.raw.pageHeight) && inputOptions.raw.pageHeight > 0 && inputOptions.raw.pageHeight <= inputOptions.raw.height) { + if (inputOptions.raw.height % inputOptions.raw.pageHeight !== 0) { + throw new Error(`Expected raw.height ${inputOptions.raw.height} to be a multiple of raw.pageHeight ${inputOptions.raw.pageHeight}`); + } + inputDescriptor.rawPageHeight = inputOptions.raw.pageHeight; + } else { + throw is.invalidParameterError('raw.pageHeight', 'positive integer', inputOptions.raw.pageHeight); + } + } + } + // Multi-page input (GIF, TIFF, PDF) + if (is.defined(inputOptions.animated)) { + if (is.bool(inputOptions.animated)) { + inputDescriptor.pages = inputOptions.animated ? -1 : 1; + } else { + throw is.invalidParameterError('animated', 'boolean', inputOptions.animated); + } + } + if (is.defined(inputOptions.pages)) { + if (is.integer(inputOptions.pages) && is.inRange(inputOptions.pages, -1, 100000)) { + inputDescriptor.pages = inputOptions.pages; + } else { + throw is.invalidParameterError('pages', 'integer between -1 and 100000', inputOptions.pages); + } + } + if (is.defined(inputOptions.page)) { + if (is.integer(inputOptions.page) && is.inRange(inputOptions.page, 0, 100000)) { + inputDescriptor.page = inputOptions.page; + } else { + throw is.invalidParameterError('page', 'integer between 0 and 100000', inputOptions.page); + } + } + // OpenSlide specific options + if (is.object(inputOptions.openSlide) && is.defined(inputOptions.openSlide.level)) { + if (is.integer(inputOptions.openSlide.level) && is.inRange(inputOptions.openSlide.level, 0, 256)) { + inputDescriptor.openSlideLevel = inputOptions.openSlide.level; + } else { + throw is.invalidParameterError('openSlide.level', 'integer between 0 and 256', inputOptions.openSlide.level); + } + } else if (is.defined(inputOptions.level)) { + // Deprecated + if (is.integer(inputOptions.level) && is.inRange(inputOptions.level, 0, 256)) { + inputDescriptor.openSlideLevel = inputOptions.level; + } else { + throw is.invalidParameterError('level', 'integer between 0 and 256', inputOptions.level); + } + } + // TIFF specific options + if (is.object(inputOptions.tiff) && is.defined(inputOptions.tiff.subifd)) { + if (is.integer(inputOptions.tiff.subifd) && is.inRange(inputOptions.tiff.subifd, -1, 100000)) { + inputDescriptor.tiffSubifd = inputOptions.tiff.subifd; + } else { + throw is.invalidParameterError('tiff.subifd', 'integer between -1 and 100000', inputOptions.tiff.subifd); + } + } else if (is.defined(inputOptions.subifd)) { + // Deprecated + if (is.integer(inputOptions.subifd) && is.inRange(inputOptions.subifd, -1, 100000)) { + inputDescriptor.tiffSubifd = inputOptions.subifd; + } else { + throw is.invalidParameterError('subifd', 'integer between -1 and 100000', inputOptions.subifd); + } + } + // SVG specific options + if (is.object(inputOptions.svg)) { + if (is.defined(inputOptions.svg.stylesheet)) { + if (is.string(inputOptions.svg.stylesheet)) { + inputDescriptor.svgStylesheet = inputOptions.svg.stylesheet; + } else { + throw is.invalidParameterError('svg.stylesheet', 'string', inputOptions.svg.stylesheet); + } + } + if (is.defined(inputOptions.svg.highBitdepth)) { + if (is.bool(inputOptions.svg.highBitdepth)) { + inputDescriptor.svgHighBitdepth = inputOptions.svg.highBitdepth; + } else { + throw is.invalidParameterError('svg.highBitdepth', 'boolean', inputOptions.svg.highBitdepth); + } + } + } + // PDF specific options + if (is.object(inputOptions.pdf) && is.defined(inputOptions.pdf.background)) { + inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdf.background); + } else if (is.defined(inputOptions.pdfBackground)) { + // Deprecated + inputDescriptor.pdfBackground = this._getBackgroundColourOption(inputOptions.pdfBackground); + } + // JPEG 2000 specific options + if (is.object(inputOptions.jp2) && is.defined(inputOptions.jp2.oneshot)) { + if (is.bool(inputOptions.jp2.oneshot)) { + inputDescriptor.jp2Oneshot = inputOptions.jp2.oneshot; + } else { + throw is.invalidParameterError('jp2.oneshot', 'boolean', inputOptions.jp2.oneshot); + } + } + // Create new image + if (is.defined(inputOptions.create)) { + if ( + is.object(inputOptions.create) && + is.integer(inputOptions.create.width) && is.inRange(inputOptions.create.width, 1, 100000000) && + is.integer(inputOptions.create.height) && is.inRange(inputOptions.create.height, 1, 100000000) && + is.integer(inputOptions.create.channels) + ) { + inputDescriptor.createWidth = inputOptions.create.width; + inputDescriptor.createHeight = inputOptions.create.height; + inputDescriptor.createChannels = inputOptions.create.channels; + inputDescriptor.createPageHeight = 0; + if (is.defined(inputOptions.create.pageHeight)) { + if (is.integer(inputOptions.create.pageHeight) && inputOptions.create.pageHeight > 0 && inputOptions.create.pageHeight <= inputOptions.create.height) { + if (inputOptions.create.height % inputOptions.create.pageHeight !== 0) { + throw new Error(`Expected create.height ${inputOptions.create.height} to be a multiple of create.pageHeight ${inputOptions.create.pageHeight}`); + } + inputDescriptor.createPageHeight = inputOptions.create.pageHeight; + } else { + throw is.invalidParameterError('create.pageHeight', 'positive integer', inputOptions.create.pageHeight); + } + } + // Noise + if (is.defined(inputOptions.create.noise)) { + if (!is.object(inputOptions.create.noise)) { + throw new Error('Expected noise to be an object'); + } + if (inputOptions.create.noise.type !== 'gaussian') { + throw new Error('Only gaussian noise is supported at the moment'); + } + inputDescriptor.createNoiseType = inputOptions.create.noise.type; + if (!is.inRange(inputOptions.create.channels, 1, 4)) { + throw is.invalidParameterError('create.channels', 'number between 1 and 4', inputOptions.create.channels); + } + inputDescriptor.createNoiseMean = 128; + if (is.defined(inputOptions.create.noise.mean)) { + if (is.number(inputOptions.create.noise.mean) && is.inRange(inputOptions.create.noise.mean, 0, 10000)) { + inputDescriptor.createNoiseMean = inputOptions.create.noise.mean; + } else { + throw is.invalidParameterError('create.noise.mean', 'number between 0 and 10000', inputOptions.create.noise.mean); + } + } + inputDescriptor.createNoiseSigma = 30; + if (is.defined(inputOptions.create.noise.sigma)) { + if (is.number(inputOptions.create.noise.sigma) && is.inRange(inputOptions.create.noise.sigma, 0, 10000)) { + inputDescriptor.createNoiseSigma = inputOptions.create.noise.sigma; + } else { + throw is.invalidParameterError('create.noise.sigma', 'number between 0 and 10000', inputOptions.create.noise.sigma); + } + } + } else if (is.defined(inputOptions.create.background)) { + if (!is.inRange(inputOptions.create.channels, 3, 4)) { + throw is.invalidParameterError('create.channels', 'number between 3 and 4', inputOptions.create.channels); + } + inputDescriptor.createBackground = this._getBackgroundColourOption(inputOptions.create.background); + } else { + throw new Error('Expected valid noise or background to create a new input image'); + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected valid width, height and channels to create a new input image'); + } + } + // Create a new image with text + if (is.defined(inputOptions.text)) { + if (is.object(inputOptions.text) && is.string(inputOptions.text.text)) { + inputDescriptor.textValue = inputOptions.text.text; + if (is.defined(inputOptions.text.height) && is.defined(inputOptions.text.dpi)) { + throw new Error('Expected only one of dpi or height'); + } + if (is.defined(inputOptions.text.font)) { + if (is.string(inputOptions.text.font)) { + inputDescriptor.textFont = inputOptions.text.font; + } else { + throw is.invalidParameterError('text.font', 'string', inputOptions.text.font); + } + } + if (is.defined(inputOptions.text.fontfile)) { + if (is.string(inputOptions.text.fontfile)) { + inputDescriptor.textFontfile = inputOptions.text.fontfile; + } else { + throw is.invalidParameterError('text.fontfile', 'string', inputOptions.text.fontfile); + } + } + if (is.defined(inputOptions.text.width)) { + if (is.integer(inputOptions.text.width) && is.inRange(inputOptions.text.width, 1, 1000000)) { + inputDescriptor.textWidth = inputOptions.text.width; + } else { + throw is.invalidParameterError('text.width', 'integer between 1 and 1000000', inputOptions.text.width); + } + } + if (is.defined(inputOptions.text.height)) { + if (is.integer(inputOptions.text.height) && is.inRange(inputOptions.text.height, 1, 1000000)) { + inputDescriptor.textHeight = inputOptions.text.height; + } else { + throw is.invalidParameterError('text.height', 'integer between 1 and 1000000', inputOptions.text.height); + } + } + if (is.defined(inputOptions.text.align)) { + if (is.string(inputOptions.text.align) && is.string(this.constructor.align[inputOptions.text.align])) { + inputDescriptor.textAlign = this.constructor.align[inputOptions.text.align]; + } else { + throw is.invalidParameterError('text.align', 'valid alignment', inputOptions.text.align); + } + } + if (is.defined(inputOptions.text.justify)) { + if (is.bool(inputOptions.text.justify)) { + inputDescriptor.textJustify = inputOptions.text.justify; + } else { + throw is.invalidParameterError('text.justify', 'boolean', inputOptions.text.justify); + } + } + if (is.defined(inputOptions.text.dpi)) { + if (is.integer(inputOptions.text.dpi) && is.inRange(inputOptions.text.dpi, 1, 1000000)) { + inputDescriptor.textDpi = inputOptions.text.dpi; + } else { + throw is.invalidParameterError('text.dpi', 'integer between 1 and 1000000', inputOptions.text.dpi); + } + } + if (is.defined(inputOptions.text.rgba)) { + if (is.bool(inputOptions.text.rgba)) { + inputDescriptor.textRgba = inputOptions.text.rgba; + } else { + throw is.invalidParameterError('text.rgba', 'bool', inputOptions.text.rgba); + } + } + if (is.defined(inputOptions.text.spacing)) { + if (is.integer(inputOptions.text.spacing) && is.inRange(inputOptions.text.spacing, -1000000, 1000000)) { + inputDescriptor.textSpacing = inputOptions.text.spacing; + } else { + throw is.invalidParameterError('text.spacing', 'integer between -1000000 and 1000000', inputOptions.text.spacing); + } + } + if (is.defined(inputOptions.text.wrap)) { + if (is.string(inputOptions.text.wrap) && is.inArray(inputOptions.text.wrap, ['word', 'char', 'word-char', 'none'])) { + inputDescriptor.textWrap = inputOptions.text.wrap; + } else { + throw is.invalidParameterError('text.wrap', 'one of: word, char, word-char, none', inputOptions.text.wrap); + } + } + delete inputDescriptor.buffer; + } else { + throw new Error('Expected a valid string to create an image with text.'); + } + } + // Join images together + if (is.defined(inputOptions.join)) { + if (is.defined(this.options.join)) { + if (is.defined(inputOptions.join.animated)) { + if (is.bool(inputOptions.join.animated)) { + inputDescriptor.joinAnimated = inputOptions.join.animated; + } else { + throw is.invalidParameterError('join.animated', 'boolean', inputOptions.join.animated); + } + } + if (is.defined(inputOptions.join.across)) { + if (is.integer(inputOptions.join.across) && is.inRange(inputOptions.join.across, 1, 1000000)) { + inputDescriptor.joinAcross = inputOptions.join.across; + } else { + throw is.invalidParameterError('join.across', 'integer between 1 and 100000', inputOptions.join.across); + } + } + if (is.defined(inputOptions.join.shim)) { + if (is.integer(inputOptions.join.shim) && is.inRange(inputOptions.join.shim, 0, 1000000)) { + inputDescriptor.joinShim = inputOptions.join.shim; + } else { + throw is.invalidParameterError('join.shim', 'integer between 0 and 100000', inputOptions.join.shim); + } + } + if (is.defined(inputOptions.join.background)) { + inputDescriptor.joinBackground = this._getBackgroundColourOption(inputOptions.join.background); + } + if (is.defined(inputOptions.join.halign)) { + if (is.string(inputOptions.join.halign) && is.string(this.constructor.align[inputOptions.join.halign])) { + inputDescriptor.joinHalign = this.constructor.align[inputOptions.join.halign]; + } else { + throw is.invalidParameterError('join.halign', 'valid alignment', inputOptions.join.halign); + } + } + if (is.defined(inputOptions.join.valign)) { + if (is.string(inputOptions.join.valign) && is.string(this.constructor.align[inputOptions.join.valign])) { + inputDescriptor.joinValign = this.constructor.align[inputOptions.join.valign]; + } else { + throw is.invalidParameterError('join.valign', 'valid alignment', inputOptions.join.valign); + } + } + } else { + throw new Error('Expected input to be an array of images to join'); + } + } + } else if (is.defined(inputOptions)) { + throw new Error(`Invalid input options ${inputOptions}`); + } + return inputDescriptor; +} + +/** + * Handle incoming Buffer chunk on Writable Stream. + * @private + * @param {Buffer} chunk + * @param {string} encoding - unused + * @param {Function} callback + */ +function _write (chunk, _encoding, callback) { + if (Array.isArray(this.options.input.buffer)) { + if (is.buffer(chunk)) { + this.options.input.buffer.push(chunk); + callback(); + } else { + callback(new Error('Non-Buffer data on Writable Stream')); + } + } else { + callback(new Error('Unexpected data on Writable Stream')); + } +} + +/** + * Flattens the array of chunks accumulated in input.buffer. + * @private + */ +function _flattenBufferIn () { + if (this._isStreamInput()) { + this.options.input.buffer = Buffer.concat(this.options.input.buffer); + } +} + +/** + * Are we expecting Stream-based input? + * @private + * @returns {boolean} + */ +function _isStreamInput () { + return Array.isArray(this.options.input.buffer); +} + +/** + * Call fn when the Writable side of Stream-based input has finished, + * or immediately when it already has, as 'finish' is emitted only once. + * @private + * @param {Function} fn + */ +function _whenStreamInFinished (fn) { + if (this.writableFinished) { + fn(); + } else { + this.once('finish', fn); + } +} + +/** + * Fast access to (uncached) image metadata without decoding any compressed pixel data. + * + * This is read from the header of the input image. + * It does not take into consideration any operations to be applied to the output image, + * such as resize or rotate. + * + * Dimensions in the response will respect the `page` and `pages` properties of the + * {@link /api-constructor/ constructor parameters}. + * + * A `Promise` is returned when `callback` is not provided. + * + * - `format`: Name of decoder used to parse image e.g. `jpeg`, `png`, `webp`, `gif`, `svg`, `heif`, `tiff` + * - `mediaType`: Media Type (MIME Type) e.g. `image/jpeg`, `image/png`, `image/svg+xml`, `image/avif` + * - `size`: Total size of image in bytes, for Stream and Buffer input only + * - `width`: Number of pixels wide (EXIF orientation is not taken into consideration, see example below) + * - `height`: Number of pixels high (EXIF orientation is not taken into consideration, see example below) + * - `space`: Name of colour space interpretation e.g. `srgb`, `rgb`, `cmyk`, `lab`, `b-w` [...](https://www.libvips.org/API/current/enum.Interpretation.html) + * - `channels`: Number of bands e.g. `3` for sRGB, `4` for CMYK + * - `depth`: Name of pixel depth format e.g. `uchar`, `char`, `ushort`, `float` [...](https://www.libvips.org/API/current/enum.BandFormat.html) + * - `density`: Number of pixels per inch (DPI), if present + * - `chromaSubsampling`: String containing JPEG chroma subsampling, `4:2:0` or `4:4:4` for RGB, `4:2:0:4` or `4:4:4:4` for CMYK + * - `isProgressive`: Boolean indicating whether the image is interlaced using a progressive scan + * - `isPalette`: Boolean indicating whether the image is palette-based (GIF, PNG). + * - `bitsPerSample`: Number of bits per sample for each channel (GIF, PNG, HEIF). + * - `pages`: Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP + * - `pageHeight`: Number of pixels high each page in a multi-page image will be. + * - `loop`: Number of times to loop an animated image, zero refers to a continuous loop. + * - `delay`: Delay in ms between each page in an animated image, provided as an array of integers. + * - `pagePrimary`: Number of the primary page in a HEIF image + * - `levels`: Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide + * - `subifds`: Number of Sub Image File Directories in an OME-TIFF image + * - `background`: Default background colour, if present, for PNG (bKGD) and GIF images + * - `compression`: The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) + * - `resolutionUnit`: The unit of resolution (density), either `inch` or `cm`, if present + * - `hasProfile`: Boolean indicating the presence of an embedded ICC profile + * - `hasAlpha`: Boolean indicating the presence of an alpha transparency channel + * - `orientation`: Number value of the EXIF Orientation header, if present + * - `exif`: Buffer containing raw EXIF data, if present + * - `icc`: Buffer containing raw [ICC](https://www.npmjs.com/package/icc) profile data, if present + * - `iptc`: Buffer containing raw IPTC data, if present + * - `xmp`: Buffer containing raw XMP data, if present + * - `xmpAsString`: String containing XMP data, if valid UTF-8. + * - `tifftagPhotoshop`: Buffer containing raw TIFFTAG_PHOTOSHOP data, if present + * - `formatMagick`: String containing format for images loaded via *magick + * - `comments`: Array of keyword/text pairs representing PNG text blocks, if present. + * - `gainMap.image`: HDR gain map, if present, as compressed JPEG image. + * + * @example + * const metadata = await sharp(input).metadata(); + * + * @example + * const image = sharp(inputJpg); + * image + * .metadata() + * .then(function(metadata) { + * return image + * .resize(Math.round(metadata.width / 2)) + * .webp() + * .toBuffer(); + * }) + * .then(function(data) { + * // data contains a WebP image half the width and height of the original JPEG + * }); + * + * @example + * // Get dimensions taking EXIF Orientation into account. + * const { autoOrient } = await sharp(input).metadata(); + * const { width, height } = autoOrient; + * + * @param {Function} [callback] - called with the arguments `(err, metadata)` + * @returns {Promise|Sharp} + */ +function metadata (callback) { + const stack = Error(); + if (is.fn(callback)) { + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.metadata(this.options, (err, metadata) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, metadata); + } + }); + }); + } else { + sharp.metadata(this.options, (err, metadata) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, metadata); + } + }); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(metadata); + } + }); + }); + }); + } else { + return new Promise((resolve, reject) => { + sharp.metadata(this.options, (err, metadata) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(metadata); + } + }); + }); + } + } +} + +/** + * Access to pixel-derived image statistics for every channel in the image. + * A `Promise` is returned when `callback` is not provided. + * + * - `channels`: Array of channel statistics for each channel in the image. Each channel statistic contains + * - `min` (minimum value in the channel) + * - `max` (maximum value in the channel) + * - `sum` (sum of all values in a channel) + * - `squaresSum` (sum of squared values in a channel) + * - `mean` (mean of the values in a channel) + * - `stdev` (standard deviation for the values in a channel) + * - `minX` (x-coordinate of one of the pixel where the minimum lies) + * - `minY` (y-coordinate of one of the pixel where the minimum lies) + * - `maxX` (x-coordinate of one of the pixel where the maximum lies) + * - `maxY` (y-coordinate of one of the pixel where the maximum lies) + * - `isOpaque`: Is the image fully opaque? Will be `true` if the image has no alpha channel or if every pixel is fully opaque. + * - `entropy`: Histogram-based estimation of greyscale entropy, discarding alpha channel if any. + * - `sharpness`: Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any. + * - `dominant`: Object containing most dominant sRGB colour based on a 4096-bin 3D histogram. + * + * **Note**: Statistics are derived from the original input image. Any operations performed on the image must first be + * written to a buffer in order to run `stats` on the result (see third example). + * + * @example + * const image = sharp(inputJpg); + * image + * .stats() + * .then(function(stats) { + * // stats contains the channel-wise statistics array and the isOpaque value + * }); + * + * @example + * const { entropy, sharpness, dominant } = await sharp(input).stats(); + * const { r, g, b } = dominant; + * + * @example + * const image = sharp(input); + * // store intermediate result + * const part = await image.extract(region).toBuffer(); + * // create new instance to obtain statistics of extracted region + * const stats = await sharp(part).stats(); + * + * @param {Function} [callback] - called with the arguments `(err, stats)` + * @returns {Promise} + */ +function stats (callback) { + const stack = Error(); + if (is.fn(callback)) { + if (this._isStreamInput()) { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.stats(this.options, (err, stats) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, stats); + } + }); + }); + } else { + sharp.stats(this.options, (err, stats) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, stats); + } + }); + } + return this; + } else { + if (this._isStreamInput()) { + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(stats); + } + }); + }); + }); + } else { + return new Promise((resolve, reject) => { + sharp.stats(this.options, (err, stats) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + resolve(stats); + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with input-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + // Private + _inputOptionsFromObject, + _createInputDescriptor, + _write, + _flattenBufferIn, + _isStreamInput, + _whenStreamInFinished, + // Public + metadata, + stats + }); + // Class attributes + Sharp.align = align; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/is.cjs b/apps/api/.output/node_modules/sharp/dist/is.cjs new file mode 100644 index 0000000..fc36f3a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/is.cjs @@ -0,0 +1,149 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * Is this value defined and not null? + * @private + */ +const defined = (val) => typeof val !== 'undefined' && val !== null; + +/** + * Is this value an object? + * @private + */ +const object = (val) => typeof val === 'object'; + +/** + * Is this value a plain object? + * @private + */ +const plainObject = (val) => Object.prototype.toString.call(val) === '[object Object]'; + +/** + * Is this value a function? + * @private + */ +const fn = (val) => typeof val === 'function'; + +/** + * Is this value a boolean? + * @private + */ +const bool = (val) => typeof val === 'boolean'; + +/** + * Is this value a Buffer object? + * @private + */ +const buffer = (val) => val instanceof Buffer; + +/** + * Is this value a typed array object?. E.g. Uint8Array or Uint8ClampedArray? + * @private + */ +const typedArray = (val) => { + if (defined(val)) { + switch (val.constructor) { + case Uint8Array: + case Uint8ClampedArray: + case Int8Array: + case Uint16Array: + case Int16Array: + case Uint32Array: + case Int32Array: + case Float32Array: + case Float64Array: + return true; + } + } + + return false; +}; + +/** + * Is this value an ArrayBuffer object? + * @private + */ +const arrayBuffer = (val) => val instanceof ArrayBuffer; + +/** + * Is this value a non-empty string? + * @private + */ +const string = (val) => typeof val === 'string' && val.length > 0; + +/** + * Is this value a real number? + * @private + */ +const number = (val) => typeof val === 'number' && Number.isFinite(val); + +/** + * Is this value an integer? + * @private + */ +const integer = (val) => Number.isInteger(val); + +/** + * Is this value within an inclusive given range? + * @private + */ +const inRange = (val, min, max) => val >= min && val <= max; + +/** + * Is this value within the elements of an array? + * @private + */ +const inArray = (val, list) => list.includes(val); + +/** + * Create an Error with a message relating to an invalid parameter. + * + * @param {string} name - parameter name. + * @param {string} expected - description of the type/value/range expected. + * @param {*} actual - the value received. + * @returns {Error} Containing the formatted message. + * @private + */ +const invalidParameterError = (name, expected, actual) => { + let actualString; + try { + actualString = String(actual).slice(0, 100); + } catch {} + return new Error( + `Expected ${expected} for ${name} but received ${actualString} of type ${typeof actual}` + ); +}; + +/** + * Ensures an Error from C++ contains a JS stack. + * + * @param {Error} native - Error with message from C++. + * @param {Error} context - Error with stack from JS. + * @returns {Error} Error with message and stack. + * @private + */ +const nativeError = (native, context) => { + context.message = native.message; + return context; +}; + +module.exports = { + defined, + object, + plainObject, + fn, + bool, + buffer, + typedArray, + arrayBuffer, + string, + number, + integer, + inRange, + inArray, + invalidParameterError, + nativeError +}; diff --git a/apps/api/.output/node_modules/sharp/dist/is.mjs b/apps/api/.output/node_modules/sharp/dist/is.mjs new file mode 100644 index 0000000..f4911eb --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/is.mjs @@ -0,0 +1,149 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +/** + * Is this value defined and not null? + * @private + */ +const defined = (val) => typeof val !== 'undefined' && val !== null; + +/** + * Is this value an object? + * @private + */ +const object = (val) => typeof val === 'object'; + +/** + * Is this value a plain object? + * @private + */ +const plainObject = (val) => Object.prototype.toString.call(val) === '[object Object]'; + +/** + * Is this value a function? + * @private + */ +const fn = (val) => typeof val === 'function'; + +/** + * Is this value a boolean? + * @private + */ +const bool = (val) => typeof val === 'boolean'; + +/** + * Is this value a Buffer object? + * @private + */ +const buffer = (val) => val instanceof Buffer; + +/** + * Is this value a typed array object?. E.g. Uint8Array or Uint8ClampedArray? + * @private + */ +const typedArray = (val) => { + if (defined(val)) { + switch (val.constructor) { + case Uint8Array: + case Uint8ClampedArray: + case Int8Array: + case Uint16Array: + case Int16Array: + case Uint32Array: + case Int32Array: + case Float32Array: + case Float64Array: + return true; + } + } + + return false; +}; + +/** + * Is this value an ArrayBuffer object? + * @private + */ +const arrayBuffer = (val) => val instanceof ArrayBuffer; + +/** + * Is this value a non-empty string? + * @private + */ +const string = (val) => typeof val === 'string' && val.length > 0; + +/** + * Is this value a real number? + * @private + */ +const number = (val) => typeof val === 'number' && Number.isFinite(val); + +/** + * Is this value an integer? + * @private + */ +const integer = (val) => Number.isInteger(val); + +/** + * Is this value within an inclusive given range? + * @private + */ +const inRange = (val, min, max) => val >= min && val <= max; + +/** + * Is this value within the elements of an array? + * @private + */ +const inArray = (val, list) => list.includes(val); + +/** + * Create an Error with a message relating to an invalid parameter. + * + * @param {string} name - parameter name. + * @param {string} expected - description of the type/value/range expected. + * @param {*} actual - the value received. + * @returns {Error} Containing the formatted message. + * @private + */ +const invalidParameterError = (name, expected, actual) => { + let actualString; + try { + actualString = String(actual).slice(0, 100); + } catch {} + return new Error( + `Expected ${expected} for ${name} but received ${actualString} of type ${typeof actual}` + ); +}; + +/** + * Ensures an Error from C++ contains a JS stack. + * + * @param {Error} native - Error with message from C++. + * @param {Error} context - Error with stack from JS. + * @returns {Error} Error with message and stack. + * @private + */ +const nativeError = (native, context) => { + context.message = native.message; + return context; +}; + +export default { + defined, + object, + plainObject, + fn, + bool, + buffer, + typedArray, + arrayBuffer, + string, + number, + integer, + inRange, + inArray, + invalidParameterError, + nativeError +}; diff --git a/apps/api/.output/node_modules/sharp/dist/libvips.cjs b/apps/api/.output/node_modules/sharp/dist/libvips.cjs new file mode 100644 index 0000000..b59b48f --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/libvips.cjs @@ -0,0 +1,212 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const { spawnSync } = require('node:child_process'); +const { createHash } = require('node:crypto'); +const semver = require('semver'); +const detectLibc = require('detect-libc'); +const pkg = require('../package.json'); + +/* node:coverage ignore next */ +const minimumLibvipsVersionLabelled = process.env.npm_package_config_libvips || pkg.config.libvips; +const minimumLibvipsVersion = semver.coerce(minimumLibvipsVersionLabelled).version; + +const prebuiltPlatforms = [ + 'darwin-arm64', 'darwin-x64', + 'freebsd-arm64', 'freebsd-x64', + 'linux-arm', 'linux-arm64', 'linux-ppc64', 'linux-riscv64', 'linux-s390x', 'linux-wasm32', 'linux-x64', + 'linuxmusl-arm64', 'linuxmusl-x64', + 'win32-arm64', 'win32-ia32', 'win32-x64' +]; + +const spawnSyncOptions = { + encoding: 'utf8', + shell: true +}; + +const log = (item) => { + if (item instanceof Error) { + console.error(`sharp: Installation error: ${item.message}`); + } else { + console.log(`sharp: ${item}`); + } +}; + +/* node:coverage disable */ + +const runtimeLibc = () => detectLibc.isNonGlibcLinuxSync() ? detectLibc.familySync() : ''; + +const runtimePlatformArch = () => `${process.platform}${runtimeLibc()}-${process.arch}`; + +const buildPlatformArch = () => { + if (isEmscripten()) { + return 'wasm32'; + } + const { npm_config_arch, npm_config_platform, npm_config_libc } = process.env; + const libc = typeof npm_config_libc === 'string' ? npm_config_libc : runtimeLibc(); + return `${npm_config_platform || process.platform}${libc}-${npm_config_arch || process.arch}`; +}; + +const buildSharpLibvipsIncludeDir = () => { + try { + return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/include`); + } catch { + try { + return require('@img/sharp-libvips-dev/include'); + } catch {} + } + return ''; +}; + +const buildSharpLibvipsCPlusPlusDir = () => { + try { + return require('@img/sharp-libvips-dev/cplusplus'); + } catch {} + return ''; +}; + +const buildSharpLibvipsLibDir = () => { + try { + return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/lib`); + } catch { + try { + return require(`@img/sharp-libvips-${buildPlatformArch()}/lib`); + } catch {} + } + return ''; +}; + +const isUnsupportedNodeRuntime = () => { + if (process.release?.name === 'node' && process.versions) { + if (!semver.satisfies(process.versions.node, pkg.engines.node)) { + return { found: process.versions.node, expected: pkg.engines.node }; + } + } +}; + +const isEmscripten = () => { + const { CC } = process.env; + return Boolean(CC?.endsWith('/emcc')); +}; + +const isRosetta = () => { + if (process.platform === 'darwin' && process.arch === 'x64') { + const translated = spawnSync('sysctl sysctl.proc_translated', spawnSyncOptions).stdout; + return (translated || '').trim() === 'sysctl.proc_translated: 1'; + } + return false; +}; + +/* node:coverage enable */ + +const sha512 = (s) => createHash('sha512').update(s).digest('hex'); + +const yarnLocator = () => { + try { + const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`); + const npmVersion = semver.coerce(pkg.optionalDependencies[`@img/sharp-libvips-${buildPlatformArch()}`], { + includePrerelease: true + }).version; + return sha512(`${identHash}npm:${npmVersion}`).slice(0, 10); + } catch {} + return ''; +}; + +/* node:coverage disable */ + +const spawnRebuild = () => + spawnSync(`node-gyp rebuild --directory=src ${isEmscripten() ? '--nodedir=emscripten' : ''}`, { + ...spawnSyncOptions, + stdio: 'inherit' + }).status; + +const globalLibvipsVersion = () => { + if (process.platform !== 'win32') { + const globalLibvipsVersion = spawnSync('pkg-config --modversion vips-cpp', { + ...spawnSyncOptions, + env: { + ...process.env, + PKG_CONFIG_PATH: pkgConfigPath() + } + }).stdout; + return (globalLibvipsVersion || '').trim(); + } else { + return ''; + } +}; + +const getBrewPkgConfigPath = () => { + try { + const brewPrefix = (spawnSync('brew', ['--prefix'], { encoding: 'utf8' }).stdout || '').trim(); + if (brewPrefix) { + return `${brewPrefix}/lib/pkgconfig`; + } + } catch (_err) {} + return undefined; +}; + +const getPkgConfigPath = () => { + try { + const pkgConfigPath = (spawnSync('pkg-config', ['--variable', 'pc_path', 'pkg-config'], { encoding: 'utf8' }).stdout || '').trim(); + if (pkgConfigPath) { + return pkgConfigPath; + } + } catch (_err) {} + return undefined; +}; + +/* node:coverage enable */ + +const pkgConfigPath = () => { + if (process.platform !== 'win32') { + return [ + getBrewPkgConfigPath(), + getPkgConfigPath(), + process.env.PKG_CONFIG_PATH + ].filter(Boolean).join(':'); + } else { + return ''; + } +}; + +const skipSearch = (status, reason, logger) => { + if (logger) { + logger(`Detected ${reason}, skipping search for globally-installed libvips`); + } + return status; +}; + +const useGlobalLibvips = (logger) => { + if (Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS) === true) { + return skipSearch(false, 'SHARP_IGNORE_GLOBAL_LIBVIPS', logger); + } + if (Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS) === true) { + return skipSearch(true, 'SHARP_FORCE_GLOBAL_LIBVIPS', logger); + } + /* node:coverage ignore next 3 */ + if (isRosetta()) { + return skipSearch(false, 'Rosetta', logger); + } + const globalVipsVersion = globalLibvipsVersion(); + /* node:coverage ignore next */ + return !!globalVipsVersion && semver.gte(globalVipsVersion, minimumLibvipsVersion); +}; + +module.exports = { + minimumLibvipsVersion, + prebuiltPlatforms, + buildPlatformArch, + buildSharpLibvipsIncludeDir, + buildSharpLibvipsCPlusPlusDir, + buildSharpLibvipsLibDir, + isUnsupportedNodeRuntime, + runtimePlatformArch, + log, + yarnLocator, + spawnRebuild, + globalLibvipsVersion, + pkgConfigPath, + useGlobalLibvips +}; diff --git a/apps/api/.output/node_modules/sharp/dist/libvips.mjs b/apps/api/.output/node_modules/sharp/dist/libvips.mjs new file mode 100644 index 0000000..35608ac --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/libvips.mjs @@ -0,0 +1,212 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import { spawnSync } from 'node:child_process'; +import { createHash } from 'node:crypto'; +import semver from 'semver'; +import detectLibc from 'detect-libc'; +import pkg from '../package.json' with { type: 'json' }; + +/* node:coverage ignore next */ +const minimumLibvipsVersionLabelled = process.env.npm_package_config_libvips || pkg.config.libvips; +const minimumLibvipsVersion = semver.coerce(minimumLibvipsVersionLabelled).version; + +const prebuiltPlatforms = [ + 'darwin-arm64', 'darwin-x64', + 'freebsd-arm64', 'freebsd-x64', + 'linux-arm', 'linux-arm64', 'linux-ppc64', 'linux-riscv64', 'linux-s390x', 'linux-wasm32', 'linux-x64', + 'linuxmusl-arm64', 'linuxmusl-x64', + 'win32-arm64', 'win32-ia32', 'win32-x64' +]; + +const spawnSyncOptions = { + encoding: 'utf8', + shell: true +}; + +const log = (item) => { + if (item instanceof Error) { + console.error(`sharp: Installation error: ${item.message}`); + } else { + console.log(`sharp: ${item}`); + } +}; + +/* node:coverage disable */ + +const runtimeLibc = () => detectLibc.isNonGlibcLinuxSync() ? detectLibc.familySync() : ''; + +const runtimePlatformArch = () => `${process.platform}${runtimeLibc()}-${process.arch}`; + +const buildPlatformArch = () => { + if (isEmscripten()) { + return 'wasm32'; + } + const { npm_config_arch, npm_config_platform, npm_config_libc } = process.env; + const libc = typeof npm_config_libc === 'string' ? npm_config_libc : runtimeLibc(); + return `${npm_config_platform || process.platform}${libc}-${npm_config_arch || process.arch}`; +}; + +const buildSharpLibvipsIncludeDir = () => { + try { + return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/include`); + } catch { + try { + return require('@img/sharp-libvips-dev/include'); + } catch {} + } + return ''; +}; + +const buildSharpLibvipsCPlusPlusDir = () => { + try { + return require('@img/sharp-libvips-dev/cplusplus'); + } catch {} + return ''; +}; + +const buildSharpLibvipsLibDir = () => { + try { + return require(`@img/sharp-libvips-dev-${buildPlatformArch()}/lib`); + } catch { + try { + return require(`@img/sharp-libvips-${buildPlatformArch()}/lib`); + } catch {} + } + return ''; +}; + +const isUnsupportedNodeRuntime = () => { + if (process.release?.name === 'node' && process.versions) { + if (!semver.satisfies(process.versions.node, pkg.engines.node)) { + return { found: process.versions.node, expected: pkg.engines.node }; + } + } +}; + +const isEmscripten = () => { + const { CC } = process.env; + return Boolean(CC?.endsWith('/emcc')); +}; + +const isRosetta = () => { + if (process.platform === 'darwin' && process.arch === 'x64') { + const translated = spawnSync('sysctl sysctl.proc_translated', spawnSyncOptions).stdout; + return (translated || '').trim() === 'sysctl.proc_translated: 1'; + } + return false; +}; + +/* node:coverage enable */ + +const sha512 = (s) => createHash('sha512').update(s).digest('hex'); + +const yarnLocator = () => { + try { + const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`); + const npmVersion = semver.coerce(pkg.optionalDependencies[`@img/sharp-libvips-${buildPlatformArch()}`], { + includePrerelease: true + }).version; + return sha512(`${identHash}npm:${npmVersion}`).slice(0, 10); + } catch {} + return ''; +}; + +/* node:coverage disable */ + +const spawnRebuild = () => + spawnSync(`node-gyp rebuild --directory=src ${isEmscripten() ? '--nodedir=emscripten' : ''}`, { + ...spawnSyncOptions, + stdio: 'inherit' + }).status; + +const globalLibvipsVersion = () => { + if (process.platform !== 'win32') { + const globalLibvipsVersion = spawnSync('pkg-config --modversion vips-cpp', { + ...spawnSyncOptions, + env: { + ...process.env, + PKG_CONFIG_PATH: pkgConfigPath() + } + }).stdout; + return (globalLibvipsVersion || '').trim(); + } else { + return ''; + } +}; + +const getBrewPkgConfigPath = () => { + try { + const brewPrefix = (spawnSync('brew', ['--prefix'], { encoding: 'utf8' }).stdout || '').trim(); + if (brewPrefix) { + return `${brewPrefix}/lib/pkgconfig`; + } + } catch (_err) {} + return undefined; +}; + +const getPkgConfigPath = () => { + try { + const pkgConfigPath = (spawnSync('pkg-config', ['--variable', 'pc_path', 'pkg-config'], { encoding: 'utf8' }).stdout || '').trim(); + if (pkgConfigPath) { + return pkgConfigPath; + } + } catch (_err) {} + return undefined; +}; + +/* node:coverage enable */ + +const pkgConfigPath = () => { + if (process.platform !== 'win32') { + return [ + getBrewPkgConfigPath(), + getPkgConfigPath(), + process.env.PKG_CONFIG_PATH + ].filter(Boolean).join(':'); + } else { + return ''; + } +}; + +const skipSearch = (status, reason, logger) => { + if (logger) { + logger(`Detected ${reason}, skipping search for globally-installed libvips`); + } + return status; +}; + +const useGlobalLibvips = (logger) => { + if (Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS) === true) { + return skipSearch(false, 'SHARP_IGNORE_GLOBAL_LIBVIPS', logger); + } + if (Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS) === true) { + return skipSearch(true, 'SHARP_FORCE_GLOBAL_LIBVIPS', logger); + } + /* node:coverage ignore next 3 */ + if (isRosetta()) { + return skipSearch(false, 'Rosetta', logger); + } + const globalVipsVersion = globalLibvipsVersion(); + /* node:coverage ignore next */ + return !!globalVipsVersion && semver.gte(globalVipsVersion, minimumLibvipsVersion); +}; + +export default { + minimumLibvipsVersion, + prebuiltPlatforms, + buildPlatformArch, + buildSharpLibvipsIncludeDir, + buildSharpLibvipsCPlusPlusDir, + buildSharpLibvipsLibDir, + isUnsupportedNodeRuntime, + runtimePlatformArch, + log, + yarnLocator, + spawnRebuild, + globalLibvipsVersion, + pkgConfigPath, + useGlobalLibvips +}; diff --git a/apps/api/.output/node_modules/sharp/dist/operation.cjs b/apps/api/.output/node_modules/sharp/dist/operation.cjs new file mode 100644 index 0000000..f541070 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/operation.cjs @@ -0,0 +1,1002 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const is = require('./is.cjs'); + +/** + * How accurate an operation should be. + * @member + * @private + */ +const vipsPrecision = { + integer: 'integer', + float: 'float', + approximate: 'approximate' +}; + +/** + * Rotate the output image. + * + * The provided angle is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * For backwards compatibility, if no angle is provided, `.autoOrient()` will be called. + * + * Only one rotation can occur per pipeline (aside from an initial call without + * arguments to orient via EXIF data). Previous calls to `rotate` in the same + * pipeline will be ignored. + * + * Multi-page images can only be rotated by 180 degrees. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function rotate (angle, options) { + if (!is.defined(angle)) { + return this.autoOrient(); + } + if (this.options.angle || this.options.rotationAngle) { + this.options.debuglog('ignoring previous rotate options'); + this.options.angle = 0; + this.options.rotationAngle = 0; + } + if (is.integer(angle) && !(angle % 90)) { + this.options.angle = angle; + } else if (is.number(angle)) { + this.options.rotationAngle = angle; + if (is.object(options) && options.background) { + this._setBackgroundColourOption('rotationBackground', options.background); + } + } else { + throw is.invalidParameterError('angle', 'numeric', angle); + } + return this; +} + +/** + * Auto-orient based on the EXIF `Orientation` tag, then remove the tag. + * Mirroring is supported and may infer the use of a flip operation. + * + * Only the EXIF `Orientation` tag is considered; orientation carried in other + * places, such as an XMP `tiff:Orientation` element, is left untouched and + * remains the responsibility of the consumer. + * + * Previous or subsequent use of `rotate(angle)` and either `flip()` or `flop()` + * will logically occur after auto-orientation, regardless of call order. + * + * @example + * const output = await sharp(input).autoOrient().toBuffer(); + * + * @example + * const pipeline = sharp() + * .autoOrient() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-oriented using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @returns {Sharp} + */ +function autoOrient () { + this.options.input.autoOrient = true; + return this; +} + +/** + * Mirror the image vertically (up-down) about the x-axis. + * This always occurs before rotation, if any. + * + * This operation does not work correctly with multi-page images. + * + * @example + * const output = await sharp(input).flip().toBuffer(); + * + * @param {Boolean} [flip=true] + * @returns {Sharp} + */ +function flip (flip) { + this.options.flip = is.bool(flip) ? flip : true; + return this; +} + +/** + * Mirror the image horizontally (left-right) about the y-axis. + * This always occurs before rotation, if any. + * + * @example + * const output = await sharp(input).flop().toBuffer(); + * + * @param {Boolean} [flop=true] + * @returns {Sharp} + */ +function flop (flop) { + this.options.flop = is.bool(flop) ? flop : true; + return this; +} + +/** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * - X = `matrix[0, 0]` \* (x + `idx`) + `matrix[0, 1]` \* (y + `idy`) + `odx` + * - Y = `matrix[1, 0]` \* (x + `idx`) + `matrix[1, 1]` \* (y + `idy`) + `ody` + * + * where: + * - x and y are the coordinates in input image. + * - X and Y are the coordinates in output image. + * - (0,0) is the upper left corner. + * + * @since 0.27.0 + * + * @example + * const pipeline = sharp() + * .affine([[1, 0.3], [0.1, 0.7]], { + * background: 'white', + * interpolator: sharp.interpolators.nohalo + * }) + * .toBuffer((err, outputBuffer, info) => { + * // outputBuffer contains the transformed image + * // info.width and info.height contain the new dimensions + * }); + * + * inputStream + * .pipe(pipeline); + * + * @param {Array>|Array} matrix - affine transformation matrix + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {String|Object} [options.background="#000000"] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Number} [options.idx=0] - input horizontal offset + * @param {Number} [options.idy=0] - input vertical offset + * @param {Number} [options.odx=0] - output horizontal offset + * @param {Number} [options.ody=0] - output vertical offset + * @param {String} [options.interpolator=sharp.interpolators.bicubic] - interpolator + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function affine (matrix, options) { + const isValidShape = Array.isArray(matrix) && ( + // 1x4 array of numbers + (matrix.length === 4 && matrix.every(is.number)) || + // 2x2 array of arrays of numbers + (matrix.length === 2 && matrix.every((row) => Array.isArray(row) && row.length === 2)) + ); + const flatMatrix = isValidShape ? matrix.flat() : []; + if (flatMatrix.length === 4 && flatMatrix.every(is.number)) { + this.options.affineMatrix = flatMatrix; + } else { + throw is.invalidParameterError('matrix', '1x4 or 2x2 array', matrix); + } + + if (is.defined(options)) { + if (is.object(options)) { + this._setBackgroundColourOption('affineBackground', options.background); + if (is.defined(options.idx)) { + if (is.number(options.idx)) { + this.options.affineIdx = options.idx; + } else { + throw is.invalidParameterError('options.idx', 'number', options.idx); + } + } + if (is.defined(options.idy)) { + if (is.number(options.idy)) { + this.options.affineIdy = options.idy; + } else { + throw is.invalidParameterError('options.idy', 'number', options.idy); + } + } + if (is.defined(options.odx)) { + if (is.number(options.odx)) { + this.options.affineOdx = options.odx; + } else { + throw is.invalidParameterError('options.odx', 'number', options.odx); + } + } + if (is.defined(options.ody)) { + if (is.number(options.ody)) { + this.options.affineOdy = options.ody; + } else { + throw is.invalidParameterError('options.ody', 'number', options.ody); + } + } + if (is.defined(options.interpolator)) { + if (is.inArray(options.interpolator, Object.values(this.constructor.interpolators))) { + this.options.affineInterpolator = options.interpolator; + } else { + throw is.invalidParameterError('options.interpolator', 'valid interpolator name', options.interpolator); + } + } + } else { + throw is.invalidParameterError('options', 'object', options); + } + } + + return this; +} + +/** + * Sharpen the image. + * + * When used without parameters, performs a fast, mild sharpen of the output image. + * + * When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * + * See {@link https://www.libvips.org/API/current/method.Image.sharpen.html libvips sharpen} operation. + * + * @example + * const data = await sharp(input).sharpen().toBuffer(); + * + * @example + * const data = await sharp(input).sharpen({ sigma: 2 }).toBuffer(); + * + * @example + * const data = await sharp(input) + * .sharpen({ + * sigma: 2, + * m1: 0, + * m2: 3, + * x1: 3, + * y2: 15, + * y3: 15, + * }) + * .toBuffer(); + * + * @param {Object} [options] - if present, is an Object with attributes + * @param {number} [options.sigma] - the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`, between 0.000001 and 10 + * @param {number} [options.m1=1.0] - the level of sharpening to apply to "flat" areas, between 0 and 1000000 + * @param {number} [options.m2=2.0] - the level of sharpening to apply to "jagged" areas, between 0 and 1000000 + * @param {number} [options.x1=2.0] - threshold between "flat" and "jagged", between 0 and 1000000 + * @param {number} [options.y2=10.0] - maximum amount of brightening, between 0 and 1000000 + * @param {number} [options.y3=20.0] - maximum amount of darkening, between 0 and 1000000 + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function sharpen (options) { + if (is.plainObject(options)) { + if (is.number(options.sigma) && is.inRange(options.sigma, 0.000001, 10)) { + this.options.sharpenSigma = options.sigma; + } else { + throw is.invalidParameterError('options.sigma', 'number between 0.000001 and 10', options.sigma); + } + if (is.defined(options.m1)) { + if (is.number(options.m1) && is.inRange(options.m1, 0, 1000000)) { + this.options.sharpenM1 = options.m1; + } else { + throw is.invalidParameterError('options.m1', 'number between 0 and 1000000', options.m1); + } + } + if (is.defined(options.m2)) { + if (is.number(options.m2) && is.inRange(options.m2, 0, 1000000)) { + this.options.sharpenM2 = options.m2; + } else { + throw is.invalidParameterError('options.m2', 'number between 0 and 1000000', options.m2); + } + } + if (is.defined(options.x1)) { + if (is.number(options.x1) && is.inRange(options.x1, 0, 1000000)) { + this.options.sharpenX1 = options.x1; + } else { + throw is.invalidParameterError('options.x1', 'number between 0 and 1000000', options.x1); + } + } + if (is.defined(options.y2)) { + if (is.number(options.y2) && is.inRange(options.y2, 0, 1000000)) { + this.options.sharpenY2 = options.y2; + } else { + throw is.invalidParameterError('options.y2', 'number between 0 and 1000000', options.y2); + } + } + if (is.defined(options.y3)) { + if (is.number(options.y3) && is.inRange(options.y3, 0, 1000000)) { + this.options.sharpenY3 = options.y3; + } else { + throw is.invalidParameterError('options.y3', 'number between 0 and 1000000', options.y3); + } + } + } else { + this.options.sharpenSigma = -1; + } + return this; +} + +/** + * Apply median filter. + * When used without parameters the default window is 3x3. + * + * @example + * const output = await sharp(input).median().toBuffer(); + * + * @example + * const output = await sharp(input).median(5).toBuffer(); + * + * @param {number} [size=3] square mask size: size x size + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function median (size) { + if (!is.defined(size)) { + // No arguments: default to 3x3 + this.options.medianSize = 3; + } else if (is.integer(size) && is.inRange(size, 1, 1000)) { + // Numeric argument: specific sigma + this.options.medianSize = size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 1000', size); + } + return this; +} + +/** + * Blur the image. + * + * When used without parameters, performs a fast 3x3 box blur (equivalent to a box linear filter). + * + * When a `sigma` is provided, performs a slower, more accurate Gaussian blur. + * + * @example + * const boxBlurred = await sharp(input) + * .blur() + * .toBuffer(); + * + * @example + * const gaussianBlurred = await sharp(input) + * .blur(5) + * .toBuffer(); + * + * @param {Object|number|Boolean} [options] + * @param {number} [options.sigma] a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`. + * @param {string} [options.precision='integer'] How accurate the operation should be, one of: integer, float, approximate. + * @param {number} [options.minAmplitude=0.2] A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function blur (options) { + let sigma; + if (is.number(options)) { + sigma = options; + } else if (is.plainObject(options)) { + if (!is.number(options.sigma)) { + throw is.invalidParameterError('options.sigma', 'number between 0.3 and 1000', sigma); + } + sigma = options.sigma; + if ('precision' in options) { + if (is.string(vipsPrecision[options.precision])) { + this.options.precision = vipsPrecision[options.precision]; + } else { + throw is.invalidParameterError('precision', 'one of: integer, float, approximate', options.precision); + } + } + if ('minAmplitude' in options) { + if (is.number(options.minAmplitude) && is.inRange(options.minAmplitude, 0.001, 1)) { + this.options.minAmpl = options.minAmplitude; + } else { + throw is.invalidParameterError('minAmplitude', 'number between 0.001 and 1', options.minAmplitude); + } + } + } + + if (!is.defined(options)) { + // No arguments: default to mild blur + this.options.blurSigma = -1; + } else if (is.bool(options)) { + // Boolean argument: apply mild blur? + this.options.blurSigma = options ? -1 : 0; + } else if (is.number(sigma) && is.inRange(sigma, 0.3, 1000)) { + // Numeric argument: specific sigma + this.options.blurSigma = sigma; + } else { + throw is.invalidParameterError('sigma', 'number between 0.3 and 1000', sigma); + } + + return this; +} + +/** + * Expand foreground objects using the dilate morphological operator. + * + * @example + * const output = await sharp(input) + * .dilate() + * .toBuffer(); + * + * @param {Number} [width=1] dilation width in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function dilate (width) { + if (!is.defined(width)) { + this.options.dilateWidth = 1; + } else if (is.integer(width) && is.inRange(width, 1, 65536)) { + this.options.dilateWidth = width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', width); + } + return this; +} + +/** + * Shrink foreground objects using the erode morphological operator. + * + * @example + * const output = await sharp(input) + * .erode() + * .toBuffer(); + * + * @param {Number} [width=1] erosion width in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function erode (width) { + if (!is.defined(width)) { + this.options.erodeWidth = 1; + } else if (is.integer(width) && is.inRange(width, 1, 65536)) { + this.options.erodeWidth = width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', width); + } + return this; +} + +/** + * Merge alpha transparency channel, if any, with a background, then remove the alpha channel. + * + * See also {@link /api-channel#removealpha removeAlpha}. + * + * @example + * await sharp(rgbaInput) + * .flatten({ background: '#F0A703' }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {string|Object} [options.background={r: 0, g: 0, b: 0}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black. + * @returns {Sharp} + */ +function flatten (options) { + this.options.flatten = is.bool(options) ? options : true; + if (is.object(options)) { + this._setBackgroundColourOption('flattenBackground', options.background); + } + return this; +} + +/** + * Ensure the image has an alpha channel + * with all white pixel values made fully transparent. + * + * Existing alpha channel values for non-white pixels remain unchanged. + * + * @since 0.32.1 + * + * @example + * await sharp(rgbInput) + * .unflatten() + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .threshold(128, { grayscale: false }) // converter bright pixels to white + * .unflatten() + * .toBuffer(); + */ +function unflatten () { + this.options.unflatten = true; + return this; +} + +/** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of `1/gamma` + * then increasing the encoding (brighten) post-resize at a factor of `gamma`. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation + * when applying a gamma correction. + * + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * + * @param {number} [gamma=2.2] value between 1.0 and 3.0. + * @param {number} [gammaOut] value between 1.0 and 3.0. (optional, defaults to same as `gamma`) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function gamma (gamma, gammaOut) { + if (!is.defined(gamma)) { + // Default gamma correction of 2.2 (sRGB) + this.options.gamma = 2.2; + } else if (is.number(gamma) && is.inRange(gamma, 1, 3)) { + this.options.gamma = gamma; + } else { + throw is.invalidParameterError('gamma', 'number between 1.0 and 3.0', gamma); + } + if (!is.defined(gammaOut)) { + // Default gamma correction for output is same as input + this.options.gammaOut = this.options.gamma; + } else if (is.number(gammaOut) && is.inRange(gammaOut, 1, 3)) { + this.options.gammaOut = gammaOut; + } else { + throw is.invalidParameterError('gammaOut', 'number between 1.0 and 3.0', gammaOut); + } + return this; +} + +/** + * Produce the "negative" of the image. + * + * @example + * const output = await sharp(input) + * .negate() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .negate({ alpha: false }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {Boolean} [options.alpha=true] Whether or not to negate any alpha channel + * @returns {Sharp} + */ +function negate (options) { + this.options.negate = is.bool(options) ? options : true; + if (is.plainObject(options) && 'alpha' in options) { + if (!is.bool(options.alpha)) { + throw is.invalidParameterError('alpha', 'should be boolean value', options.alpha); + } else { + this.options.negateAlpha = options.alpha; + } + } + return this; +} + +/** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @example + * const output = await sharp(input) + * .normalise() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .normalise({ lower: 0, upper: 100 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalise (options) { + if (is.plainObject(options)) { + if (is.defined(options.lower)) { + if (is.number(options.lower) && is.inRange(options.lower, 0, 99)) { + this.options.normaliseLower = options.lower; + } else { + throw is.invalidParameterError('lower', 'number between 0 and 99', options.lower); + } + } + if (is.defined(options.upper)) { + if (is.number(options.upper) && is.inRange(options.upper, 1, 100)) { + this.options.normaliseUpper = options.upper; + } else { + throw is.invalidParameterError('upper', 'number between 1 and 100', options.upper); + } + } + } + if (this.options.normaliseLower >= this.options.normaliseUpper) { + throw is.invalidParameterError('range', 'lower to be less than upper', + `${this.options.normaliseLower} >= ${this.options.normaliseUpper}`); + } + this.options.normalise = true; + return this; +} + +/** + * Alternative spelling of normalise. + * + * @example + * const output = await sharp(input) + * .normalize() + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalize (options) { + return this.normalise(options); +} + +/** + * Perform contrast limiting adaptive histogram equalization + * {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE CLAHE}. + * + * This will, in general, enhance the clarity of the image by bringing out darker details. + * + * @since 0.28.3 + * + * @example + * const output = await sharp(input) + * .clahe({ + * width: 3, + * height: 3, + * }) + * .toBuffer(); + * + * @param {Object} options + * @param {number} options.width - Integral width of the search window, in pixels, between 1 and 65536. + * @param {number} options.height - Integral height of the search window, in pixels, between 1 and 65536. + * @param {number} [options.maxSlope=3] - Integral level of brightening, between 0 and 100, where 0 disables contrast limiting. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function clahe (options) { + if (is.plainObject(options)) { + if (is.integer(options.width) && is.inRange(options.width, 1, 65536)) { + this.options.claheWidth = options.width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', options.width); + } + if (is.integer(options.height) && is.inRange(options.height, 1, 65536)) { + this.options.claheHeight = options.height; + } else { + throw is.invalidParameterError('height', 'integer between 1 and 65536', options.height); + } + if (is.defined(options.maxSlope)) { + if (is.integer(options.maxSlope) && is.inRange(options.maxSlope, 0, 100)) { + this.options.claheMaxSlope = options.maxSlope; + } else { + throw is.invalidParameterError('maxSlope', 'integer between 0 and 100', options.maxSlope); + } + } + } else { + throw is.invalidParameterError('options', 'plain object', options); + } + return this; +} + +/** + * Convolve the image with the specified kernel. + * + * @example + * sharp(input) + * .convolve({ + * width: 3, + * height: 3, + * kernel: [-1, 0, 1, -2, 0, 2, -1, 0, 1] + * }) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data representing the convolution + * // of the input image with the horizontal Sobel operator + * }); + * + * @param {Object} kernel + * @param {number} kernel.width - width of the kernel in pixels. + * @param {number} kernel.height - height of the kernel in pixels. + * @param {Array} kernel.kernel - Array of length `width*height` containing the kernel values. + * @param {number} [kernel.scale=sum] - the scale of the kernel in pixels. + * @param {number} [kernel.offset=0] - the offset of the kernel in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function convolve (kernel) { + if (!is.object(kernel) || !Array.isArray(kernel.kernel) || + !is.integer(kernel.width) || !is.integer(kernel.height) || + !is.inRange(kernel.width, 3, 1001) || !is.inRange(kernel.height, 3, 1001) || + kernel.height * kernel.width !== kernel.kernel.length || + !kernel.kernel.every(is.number) + ) { + // must pass in a kernel + throw new Error('Invalid convolution kernel'); + } + // Default scale is sum of kernel values + if (!is.integer(kernel.scale)) { + kernel.scale = kernel.kernel.reduce((a, b) => a + b, 0); + } + // Clip scale to a minimum value of 1 + if (kernel.scale < 1) { + kernel.scale = 1; + } + if (!is.integer(kernel.offset)) { + kernel.offset = 0; + } + this.options.convKernel = kernel; + return this; +} + +/** + * Any pixel value greater than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param {number} [threshold=128] - a value in the range 0-255 representing the level at which the threshold will be applied. + * @param {Object} [options] + * @param {Boolean} [options.greyscale=true] - convert to single channel greyscale. + * @param {Boolean} [options.grayscale=true] - alternative spelling for greyscale. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function threshold (threshold, options) { + if (!is.defined(threshold)) { + this.options.threshold = 128; + } else if (is.bool(threshold)) { + this.options.threshold = threshold ? 128 : 0; + } else if (is.integer(threshold) && is.inRange(threshold, 0, 255)) { + this.options.threshold = threshold; + } else { + throw is.invalidParameterError('threshold', 'integer between 0 and 255', threshold); + } + if (!is.object(options) || options.greyscale === true || options.grayscale === true) { + this.options.thresholdGrayscale = true; + } else { + this.options.thresholdGrayscale = false; + } + return this; +} + +/** + * Perform a bitwise boolean operation with operand image. + * + * This operation creates an output image where each pixel is the result of + * the selected bitwise boolean `operation` between the corresponding pixels of the input images. + * + * @param {Buffer|string} operand - Buffer containing image data or string containing the path to an image file. + * @param {string} operator - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @param {Object} [options] + * @param {Object} [options.raw] - describes operand when using raw pixel data. + * @param {number} [options.raw.width] + * @param {number} [options.raw.height] + * @param {number} [options.raw.channels] + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function boolean (operand, operator, options) { + this.options.boolean = this._createInputDescriptor(operand, options); + if (is.string(operator) && is.inArray(operator, ['and', 'or', 'eor'])) { + this.options.booleanOp = operator; + } else { + throw is.invalidParameterError('operator', 'one of: and, or, eor', operator); + } + return this; +} + +/** + * Apply the linear formula `a` * input + `b` to the image to adjust image levels. + * + * When a single number is provided, it will be used for all image channels. + * When an array of numbers is provided, the array length must match the number of channels. + * + * @example + * await sharp(input) + * .linear(0.5, 2) + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .linear( + * [0.25, 0.5, 0.75], + * [150, 100, 50] + * ) + * .toBuffer(); + * + * @param {(number|number[])} [a=[]] multiplier + * @param {(number|number[])} [b=[]] offset + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function linear (a, b) { + if (!is.defined(a) && is.number(b)) { + a = 1.0; + } else if (is.number(a) && !is.defined(b)) { + b = 0.0; + } + if (!is.defined(a)) { + this.options.linearA = []; + } else if (is.number(a)) { + this.options.linearA = [a]; + } else if (Array.isArray(a) && is.inRange(a.length, 1, 1000000) && a.every(is.number)) { + this.options.linearA = a; + } else { + throw is.invalidParameterError('a', 'number or array of numbers', a); + } + if (!is.defined(b)) { + this.options.linearB = []; + } else if (is.number(b)) { + this.options.linearB = [b]; + } else if (Array.isArray(b) && is.inRange(b.length, 1, 1000000) && b.every(is.number)) { + this.options.linearB = b; + } else { + throw is.invalidParameterError('b', 'number or array of numbers', b); + } + if (this.options.linearA.length !== this.options.linearB.length) { + throw new Error('Expected a and b to be arrays of the same length'); + } + return this; +} + +/** + * Recombine the image with the specified matrix. + * + * @since 0.21.1 + * + * @example + * sharp(input) + * .recomb([ + * [0.3588, 0.7044, 0.1368], + * [0.2990, 0.5870, 0.1140], + * [0.2392, 0.4696, 0.0912], + * ]) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data after applying the matrix + * // With this example input, a sepia filter has been applied + * }); + * + * @param {Array>} inputMatrix - 3x3 or 4x4 Recombination matrix + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function recomb (inputMatrix) { + if (!Array.isArray(inputMatrix)) { + throw is.invalidParameterError('inputMatrix', 'array', inputMatrix); + } + const dimensions = inputMatrix.length; + if (dimensions !== 3 && dimensions !== 4) { + throw is.invalidParameterError('inputMatrix', '3x3 or 4x4 array', dimensions); + } + if (!inputMatrix.every((row) => Array.isArray(row) && row.length === dimensions)) { + throw is.invalidParameterError('inputMatrix', `array of ${dimensions} arrays of length ${dimensions}`, inputMatrix); + } + const recombMatrix = inputMatrix.flat(); + if (!recombMatrix.every(is.number)) { + throw is.invalidParameterError('inputMatrix', 'array of numbers', recombMatrix); + } + this.options.recombMatrix = recombMatrix; + return this; +} + +/** + * Transforms the image using brightness, saturation, hue rotation, and lightness. + * Brightness and lightness both operate on luminance, with the difference being that + * brightness is multiplicative whereas lightness is additive. + * + * @since 0.22.1 + * + * @example + * // increase brightness by a factor of 2 + * const output = await sharp(input) + * .modulate({ + * brightness: 2 + * }) + * .toBuffer(); + * + * @example + * // hue-rotate by 180 degrees + * const output = await sharp(input) + * .modulate({ + * hue: 180 + * }) + * .toBuffer(); + * + * @example + * // increase lightness by +50 + * const output = await sharp(input) + * .modulate({ + * lightness: 50 + * }) + * .toBuffer(); + * + * @example + * // decrease brightness and saturation while also hue-rotating by 90 degrees + * const output = await sharp(input) + * .modulate({ + * brightness: 0.5, + * saturation: 0.5, + * hue: 90, + * }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.brightness] Brightness multiplier + * @param {number} [options.saturation] Saturation multiplier + * @param {number} [options.hue] Degrees for hue rotation + * @param {number} [options.lightness] Lightness addend + * @returns {Sharp} + */ +function modulate (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'plain object', options); + } + if ('brightness' in options) { + if (is.number(options.brightness) && options.brightness >= 0) { + this.options.brightness = options.brightness; + } else { + throw is.invalidParameterError('brightness', 'number above zero', options.brightness); + } + } + if ('saturation' in options) { + if (is.number(options.saturation) && options.saturation >= 0) { + this.options.saturation = options.saturation; + } else { + throw is.invalidParameterError('saturation', 'number above zero', options.saturation); + } + } + if ('hue' in options) { + if (is.integer(options.hue)) { + this.options.hue = options.hue % 360; + } else { + throw is.invalidParameterError('hue', 'number', options.hue); + } + } + if ('lightness' in options) { + if (is.number(options.lightness)) { + this.options.lightness = options.lightness; + } else { + throw is.invalidParameterError('lightness', 'number', options.lightness); + } + } + return this; +} + +/** + * Decorate the Sharp prototype with operation-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + autoOrient, + rotate, + flip, + flop, + affine, + sharpen, + erode, + dilate, + median, + blur, + flatten, + unflatten, + gamma, + negate, + normalise, + normalize, + clahe, + convolve, + threshold, + boolean, + linear, + recomb, + modulate + }); +}; diff --git a/apps/api/.output/node_modules/sharp/dist/operation.mjs b/apps/api/.output/node_modules/sharp/dist/operation.mjs new file mode 100644 index 0000000..8b2f84c --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/operation.mjs @@ -0,0 +1,1002 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import is from './is.mjs'; + +/** + * How accurate an operation should be. + * @member + * @private + */ +const vipsPrecision = { + integer: 'integer', + float: 'float', + approximate: 'approximate' +}; + +/** + * Rotate the output image. + * + * The provided angle is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * For backwards compatibility, if no angle is provided, `.autoOrient()` will be called. + * + * Only one rotation can occur per pipeline (aside from an initial call without + * arguments to orient via EXIF data). Previous calls to `rotate` in the same + * pipeline will be ignored. + * + * Multi-page images can only be rotated by 180 degrees. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function rotate (angle, options) { + if (!is.defined(angle)) { + return this.autoOrient(); + } + if (this.options.angle || this.options.rotationAngle) { + this.options.debuglog('ignoring previous rotate options'); + this.options.angle = 0; + this.options.rotationAngle = 0; + } + if (is.integer(angle) && !(angle % 90)) { + this.options.angle = angle; + } else if (is.number(angle)) { + this.options.rotationAngle = angle; + if (is.object(options) && options.background) { + this._setBackgroundColourOption('rotationBackground', options.background); + } + } else { + throw is.invalidParameterError('angle', 'numeric', angle); + } + return this; +} + +/** + * Auto-orient based on the EXIF `Orientation` tag, then remove the tag. + * Mirroring is supported and may infer the use of a flip operation. + * + * Only the EXIF `Orientation` tag is considered; orientation carried in other + * places, such as an XMP `tiff:Orientation` element, is left untouched and + * remains the responsibility of the consumer. + * + * Previous or subsequent use of `rotate(angle)` and either `flip()` or `flop()` + * will logically occur after auto-orientation, regardless of call order. + * + * @example + * const output = await sharp(input).autoOrient().toBuffer(); + * + * @example + * const pipeline = sharp() + * .autoOrient() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-oriented using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @returns {Sharp} + */ +function autoOrient () { + this.options.input.autoOrient = true; + return this; +} + +/** + * Mirror the image vertically (up-down) about the x-axis. + * This always occurs before rotation, if any. + * + * This operation does not work correctly with multi-page images. + * + * @example + * const output = await sharp(input).flip().toBuffer(); + * + * @param {Boolean} [flip=true] + * @returns {Sharp} + */ +function flip (flip) { + this.options.flip = is.bool(flip) ? flip : true; + return this; +} + +/** + * Mirror the image horizontally (left-right) about the y-axis. + * This always occurs before rotation, if any. + * + * @example + * const output = await sharp(input).flop().toBuffer(); + * + * @param {Boolean} [flop=true] + * @returns {Sharp} + */ +function flop (flop) { + this.options.flop = is.bool(flop) ? flop : true; + return this; +} + +/** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * - X = `matrix[0, 0]` \* (x + `idx`) + `matrix[0, 1]` \* (y + `idy`) + `odx` + * - Y = `matrix[1, 0]` \* (x + `idx`) + `matrix[1, 1]` \* (y + `idy`) + `ody` + * + * where: + * - x and y are the coordinates in input image. + * - X and Y are the coordinates in output image. + * - (0,0) is the upper left corner. + * + * @since 0.27.0 + * + * @example + * const pipeline = sharp() + * .affine([[1, 0.3], [0.1, 0.7]], { + * background: 'white', + * interpolator: sharp.interpolators.nohalo + * }) + * .toBuffer((err, outputBuffer, info) => { + * // outputBuffer contains the transformed image + * // info.width and info.height contain the new dimensions + * }); + * + * inputStream + * .pipe(pipeline); + * + * @param {Array>|Array} matrix - affine transformation matrix + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {String|Object} [options.background="#000000"] - parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @param {Number} [options.idx=0] - input horizontal offset + * @param {Number} [options.idy=0] - input vertical offset + * @param {Number} [options.odx=0] - output horizontal offset + * @param {Number} [options.ody=0] - output vertical offset + * @param {String} [options.interpolator=sharp.interpolators.bicubic] - interpolator + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function affine (matrix, options) { + const isValidShape = Array.isArray(matrix) && ( + // 1x4 array of numbers + (matrix.length === 4 && matrix.every(is.number)) || + // 2x2 array of arrays of numbers + (matrix.length === 2 && matrix.every((row) => Array.isArray(row) && row.length === 2)) + ); + const flatMatrix = isValidShape ? matrix.flat() : []; + if (flatMatrix.length === 4 && flatMatrix.every(is.number)) { + this.options.affineMatrix = flatMatrix; + } else { + throw is.invalidParameterError('matrix', '1x4 or 2x2 array', matrix); + } + + if (is.defined(options)) { + if (is.object(options)) { + this._setBackgroundColourOption('affineBackground', options.background); + if (is.defined(options.idx)) { + if (is.number(options.idx)) { + this.options.affineIdx = options.idx; + } else { + throw is.invalidParameterError('options.idx', 'number', options.idx); + } + } + if (is.defined(options.idy)) { + if (is.number(options.idy)) { + this.options.affineIdy = options.idy; + } else { + throw is.invalidParameterError('options.idy', 'number', options.idy); + } + } + if (is.defined(options.odx)) { + if (is.number(options.odx)) { + this.options.affineOdx = options.odx; + } else { + throw is.invalidParameterError('options.odx', 'number', options.odx); + } + } + if (is.defined(options.ody)) { + if (is.number(options.ody)) { + this.options.affineOdy = options.ody; + } else { + throw is.invalidParameterError('options.ody', 'number', options.ody); + } + } + if (is.defined(options.interpolator)) { + if (is.inArray(options.interpolator, Object.values(this.constructor.interpolators))) { + this.options.affineInterpolator = options.interpolator; + } else { + throw is.invalidParameterError('options.interpolator', 'valid interpolator name', options.interpolator); + } + } + } else { + throw is.invalidParameterError('options', 'object', options); + } + } + + return this; +} + +/** + * Sharpen the image. + * + * When used without parameters, performs a fast, mild sharpen of the output image. + * + * When a `sigma` is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * + * See {@link https://www.libvips.org/API/current/method.Image.sharpen.html libvips sharpen} operation. + * + * @example + * const data = await sharp(input).sharpen().toBuffer(); + * + * @example + * const data = await sharp(input).sharpen({ sigma: 2 }).toBuffer(); + * + * @example + * const data = await sharp(input) + * .sharpen({ + * sigma: 2, + * m1: 0, + * m2: 3, + * x1: 3, + * y2: 15, + * y3: 15, + * }) + * .toBuffer(); + * + * @param {Object} [options] - if present, is an Object with attributes + * @param {number} [options.sigma] - the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`, between 0.000001 and 10 + * @param {number} [options.m1=1.0] - the level of sharpening to apply to "flat" areas, between 0 and 1000000 + * @param {number} [options.m2=2.0] - the level of sharpening to apply to "jagged" areas, between 0 and 1000000 + * @param {number} [options.x1=2.0] - threshold between "flat" and "jagged", between 0 and 1000000 + * @param {number} [options.y2=10.0] - maximum amount of brightening, between 0 and 1000000 + * @param {number} [options.y3=20.0] - maximum amount of darkening, between 0 and 1000000 + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function sharpen (options) { + if (is.plainObject(options)) { + if (is.number(options.sigma) && is.inRange(options.sigma, 0.000001, 10)) { + this.options.sharpenSigma = options.sigma; + } else { + throw is.invalidParameterError('options.sigma', 'number between 0.000001 and 10', options.sigma); + } + if (is.defined(options.m1)) { + if (is.number(options.m1) && is.inRange(options.m1, 0, 1000000)) { + this.options.sharpenM1 = options.m1; + } else { + throw is.invalidParameterError('options.m1', 'number between 0 and 1000000', options.m1); + } + } + if (is.defined(options.m2)) { + if (is.number(options.m2) && is.inRange(options.m2, 0, 1000000)) { + this.options.sharpenM2 = options.m2; + } else { + throw is.invalidParameterError('options.m2', 'number between 0 and 1000000', options.m2); + } + } + if (is.defined(options.x1)) { + if (is.number(options.x1) && is.inRange(options.x1, 0, 1000000)) { + this.options.sharpenX1 = options.x1; + } else { + throw is.invalidParameterError('options.x1', 'number between 0 and 1000000', options.x1); + } + } + if (is.defined(options.y2)) { + if (is.number(options.y2) && is.inRange(options.y2, 0, 1000000)) { + this.options.sharpenY2 = options.y2; + } else { + throw is.invalidParameterError('options.y2', 'number between 0 and 1000000', options.y2); + } + } + if (is.defined(options.y3)) { + if (is.number(options.y3) && is.inRange(options.y3, 0, 1000000)) { + this.options.sharpenY3 = options.y3; + } else { + throw is.invalidParameterError('options.y3', 'number between 0 and 1000000', options.y3); + } + } + } else { + this.options.sharpenSigma = -1; + } + return this; +} + +/** + * Apply median filter. + * When used without parameters the default window is 3x3. + * + * @example + * const output = await sharp(input).median().toBuffer(); + * + * @example + * const output = await sharp(input).median(5).toBuffer(); + * + * @param {number} [size=3] square mask size: size x size + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function median (size) { + if (!is.defined(size)) { + // No arguments: default to 3x3 + this.options.medianSize = 3; + } else if (is.integer(size) && is.inRange(size, 1, 1000)) { + // Numeric argument: specific sigma + this.options.medianSize = size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 1000', size); + } + return this; +} + +/** + * Blur the image. + * + * When used without parameters, performs a fast 3x3 box blur (equivalent to a box linear filter). + * + * When a `sigma` is provided, performs a slower, more accurate Gaussian blur. + * + * @example + * const boxBlurred = await sharp(input) + * .blur() + * .toBuffer(); + * + * @example + * const gaussianBlurred = await sharp(input) + * .blur(5) + * .toBuffer(); + * + * @param {Object|number|Boolean} [options] + * @param {number} [options.sigma] a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2`. + * @param {string} [options.precision='integer'] How accurate the operation should be, one of: integer, float, approximate. + * @param {number} [options.minAmplitude=0.2] A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function blur (options) { + let sigma; + if (is.number(options)) { + sigma = options; + } else if (is.plainObject(options)) { + if (!is.number(options.sigma)) { + throw is.invalidParameterError('options.sigma', 'number between 0.3 and 1000', sigma); + } + sigma = options.sigma; + if ('precision' in options) { + if (is.string(vipsPrecision[options.precision])) { + this.options.precision = vipsPrecision[options.precision]; + } else { + throw is.invalidParameterError('precision', 'one of: integer, float, approximate', options.precision); + } + } + if ('minAmplitude' in options) { + if (is.number(options.minAmplitude) && is.inRange(options.minAmplitude, 0.001, 1)) { + this.options.minAmpl = options.minAmplitude; + } else { + throw is.invalidParameterError('minAmplitude', 'number between 0.001 and 1', options.minAmplitude); + } + } + } + + if (!is.defined(options)) { + // No arguments: default to mild blur + this.options.blurSigma = -1; + } else if (is.bool(options)) { + // Boolean argument: apply mild blur? + this.options.blurSigma = options ? -1 : 0; + } else if (is.number(sigma) && is.inRange(sigma, 0.3, 1000)) { + // Numeric argument: specific sigma + this.options.blurSigma = sigma; + } else { + throw is.invalidParameterError('sigma', 'number between 0.3 and 1000', sigma); + } + + return this; +} + +/** + * Expand foreground objects using the dilate morphological operator. + * + * @example + * const output = await sharp(input) + * .dilate() + * .toBuffer(); + * + * @param {Number} [width=1] dilation width in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function dilate (width) { + if (!is.defined(width)) { + this.options.dilateWidth = 1; + } else if (is.integer(width) && is.inRange(width, 1, 65536)) { + this.options.dilateWidth = width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', width); + } + return this; +} + +/** + * Shrink foreground objects using the erode morphological operator. + * + * @example + * const output = await sharp(input) + * .erode() + * .toBuffer(); + * + * @param {Number} [width=1] erosion width in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function erode (width) { + if (!is.defined(width)) { + this.options.erodeWidth = 1; + } else if (is.integer(width) && is.inRange(width, 1, 65536)) { + this.options.erodeWidth = width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', width); + } + return this; +} + +/** + * Merge alpha transparency channel, if any, with a background, then remove the alpha channel. + * + * See also {@link /api-channel#removealpha removeAlpha}. + * + * @example + * await sharp(rgbaInput) + * .flatten({ background: '#F0A703' }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {string|Object} [options.background={r: 0, g: 0, b: 0}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black. + * @returns {Sharp} + */ +function flatten (options) { + this.options.flatten = is.bool(options) ? options : true; + if (is.object(options)) { + this._setBackgroundColourOption('flattenBackground', options.background); + } + return this; +} + +/** + * Ensure the image has an alpha channel + * with all white pixel values made fully transparent. + * + * Existing alpha channel values for non-white pixels remain unchanged. + * + * @since 0.32.1 + * + * @example + * await sharp(rgbInput) + * .unflatten() + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .threshold(128, { grayscale: false }) // converter bright pixels to white + * .unflatten() + * .toBuffer(); + */ +function unflatten () { + this.options.unflatten = true; + return this; +} + +/** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of `1/gamma` + * then increasing the encoding (brighten) post-resize at a factor of `gamma`. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation + * when applying a gamma correction. + * + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * + * @param {number} [gamma=2.2] value between 1.0 and 3.0. + * @param {number} [gammaOut] value between 1.0 and 3.0. (optional, defaults to same as `gamma`) + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function gamma (gamma, gammaOut) { + if (!is.defined(gamma)) { + // Default gamma correction of 2.2 (sRGB) + this.options.gamma = 2.2; + } else if (is.number(gamma) && is.inRange(gamma, 1, 3)) { + this.options.gamma = gamma; + } else { + throw is.invalidParameterError('gamma', 'number between 1.0 and 3.0', gamma); + } + if (!is.defined(gammaOut)) { + // Default gamma correction for output is same as input + this.options.gammaOut = this.options.gamma; + } else if (is.number(gammaOut) && is.inRange(gammaOut, 1, 3)) { + this.options.gammaOut = gammaOut; + } else { + throw is.invalidParameterError('gammaOut', 'number between 1.0 and 3.0', gammaOut); + } + return this; +} + +/** + * Produce the "negative" of the image. + * + * @example + * const output = await sharp(input) + * .negate() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .negate({ alpha: false }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {Boolean} [options.alpha=true] Whether or not to negate any alpha channel + * @returns {Sharp} + */ +function negate (options) { + this.options.negate = is.bool(options) ? options : true; + if (is.plainObject(options) && 'alpha' in options) { + if (!is.bool(options.alpha)) { + throw is.invalidParameterError('alpha', 'should be boolean value', options.alpha); + } else { + this.options.negateAlpha = options.alpha; + } + } + return this; +} + +/** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @example + * const output = await sharp(input) + * .normalise() + * .toBuffer(); + * + * @example + * const output = await sharp(input) + * .normalise({ lower: 0, upper: 100 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalise (options) { + if (is.plainObject(options)) { + if (is.defined(options.lower)) { + if (is.number(options.lower) && is.inRange(options.lower, 0, 99)) { + this.options.normaliseLower = options.lower; + } else { + throw is.invalidParameterError('lower', 'number between 0 and 99', options.lower); + } + } + if (is.defined(options.upper)) { + if (is.number(options.upper) && is.inRange(options.upper, 1, 100)) { + this.options.normaliseUpper = options.upper; + } else { + throw is.invalidParameterError('upper', 'number between 1 and 100', options.upper); + } + } + } + if (this.options.normaliseLower >= this.options.normaliseUpper) { + throw is.invalidParameterError('range', 'lower to be less than upper', + `${this.options.normaliseLower} >= ${this.options.normaliseUpper}`); + } + this.options.normalise = true; + return this; +} + +/** + * Alternative spelling of normalise. + * + * @example + * const output = await sharp(input) + * .normalize() + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.lower=1] - Percentile below which luminance values will be underexposed. + * @param {number} [options.upper=99] - Percentile above which luminance values will be overexposed. + * @returns {Sharp} + */ +function normalize (options) { + return this.normalise(options); +} + +/** + * Perform contrast limiting adaptive histogram equalization + * {@link https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE CLAHE}. + * + * This will, in general, enhance the clarity of the image by bringing out darker details. + * + * @since 0.28.3 + * + * @example + * const output = await sharp(input) + * .clahe({ + * width: 3, + * height: 3, + * }) + * .toBuffer(); + * + * @param {Object} options + * @param {number} options.width - Integral width of the search window, in pixels, between 1 and 65536. + * @param {number} options.height - Integral height of the search window, in pixels, between 1 and 65536. + * @param {number} [options.maxSlope=3] - Integral level of brightening, between 0 and 100, where 0 disables contrast limiting. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function clahe (options) { + if (is.plainObject(options)) { + if (is.integer(options.width) && is.inRange(options.width, 1, 65536)) { + this.options.claheWidth = options.width; + } else { + throw is.invalidParameterError('width', 'integer between 1 and 65536', options.width); + } + if (is.integer(options.height) && is.inRange(options.height, 1, 65536)) { + this.options.claheHeight = options.height; + } else { + throw is.invalidParameterError('height', 'integer between 1 and 65536', options.height); + } + if (is.defined(options.maxSlope)) { + if (is.integer(options.maxSlope) && is.inRange(options.maxSlope, 0, 100)) { + this.options.claheMaxSlope = options.maxSlope; + } else { + throw is.invalidParameterError('maxSlope', 'integer between 0 and 100', options.maxSlope); + } + } + } else { + throw is.invalidParameterError('options', 'plain object', options); + } + return this; +} + +/** + * Convolve the image with the specified kernel. + * + * @example + * sharp(input) + * .convolve({ + * width: 3, + * height: 3, + * kernel: [-1, 0, 1, -2, 0, 2, -1, 0, 1] + * }) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data representing the convolution + * // of the input image with the horizontal Sobel operator + * }); + * + * @param {Object} kernel + * @param {number} kernel.width - width of the kernel in pixels. + * @param {number} kernel.height - height of the kernel in pixels. + * @param {Array} kernel.kernel - Array of length `width*height` containing the kernel values. + * @param {number} [kernel.scale=sum] - the scale of the kernel in pixels. + * @param {number} [kernel.offset=0] - the offset of the kernel in pixels. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function convolve (kernel) { + if (!is.object(kernel) || !Array.isArray(kernel.kernel) || + !is.integer(kernel.width) || !is.integer(kernel.height) || + !is.inRange(kernel.width, 3, 1001) || !is.inRange(kernel.height, 3, 1001) || + kernel.height * kernel.width !== kernel.kernel.length || + !kernel.kernel.every(is.number) + ) { + // must pass in a kernel + throw new Error('Invalid convolution kernel'); + } + // Default scale is sum of kernel values + if (!is.integer(kernel.scale)) { + kernel.scale = kernel.kernel.reduce((a, b) => a + b, 0); + } + // Clip scale to a minimum value of 1 + if (kernel.scale < 1) { + kernel.scale = 1; + } + if (!is.integer(kernel.offset)) { + kernel.offset = 0; + } + this.options.convKernel = kernel; + return this; +} + +/** + * Any pixel value greater than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param {number} [threshold=128] - a value in the range 0-255 representing the level at which the threshold will be applied. + * @param {Object} [options] + * @param {Boolean} [options.greyscale=true] - convert to single channel greyscale. + * @param {Boolean} [options.grayscale=true] - alternative spelling for greyscale. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function threshold (threshold, options) { + if (!is.defined(threshold)) { + this.options.threshold = 128; + } else if (is.bool(threshold)) { + this.options.threshold = threshold ? 128 : 0; + } else if (is.integer(threshold) && is.inRange(threshold, 0, 255)) { + this.options.threshold = threshold; + } else { + throw is.invalidParameterError('threshold', 'integer between 0 and 255', threshold); + } + if (!is.object(options) || options.greyscale === true || options.grayscale === true) { + this.options.thresholdGrayscale = true; + } else { + this.options.thresholdGrayscale = false; + } + return this; +} + +/** + * Perform a bitwise boolean operation with operand image. + * + * This operation creates an output image where each pixel is the result of + * the selected bitwise boolean `operation` between the corresponding pixels of the input images. + * + * @param {Buffer|string} operand - Buffer containing image data or string containing the path to an image file. + * @param {string} operator - one of `and`, `or` or `eor` to perform that bitwise operation, like the C logic operators `&`, `|` and `^` respectively. + * @param {Object} [options] + * @param {Object} [options.raw] - describes operand when using raw pixel data. + * @param {number} [options.raw.width] + * @param {number} [options.raw.height] + * @param {number} [options.raw.channels] + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function boolean (operand, operator, options) { + this.options.boolean = this._createInputDescriptor(operand, options); + if (is.string(operator) && is.inArray(operator, ['and', 'or', 'eor'])) { + this.options.booleanOp = operator; + } else { + throw is.invalidParameterError('operator', 'one of: and, or, eor', operator); + } + return this; +} + +/** + * Apply the linear formula `a` * input + `b` to the image to adjust image levels. + * + * When a single number is provided, it will be used for all image channels. + * When an array of numbers is provided, the array length must match the number of channels. + * + * @example + * await sharp(input) + * .linear(0.5, 2) + * .toBuffer(); + * + * @example + * await sharp(rgbInput) + * .linear( + * [0.25, 0.5, 0.75], + * [150, 100, 50] + * ) + * .toBuffer(); + * + * @param {(number|number[])} [a=[]] multiplier + * @param {(number|number[])} [b=[]] offset + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function linear (a, b) { + if (!is.defined(a) && is.number(b)) { + a = 1.0; + } else if (is.number(a) && !is.defined(b)) { + b = 0.0; + } + if (!is.defined(a)) { + this.options.linearA = []; + } else if (is.number(a)) { + this.options.linearA = [a]; + } else if (Array.isArray(a) && is.inRange(a.length, 1, 1000000) && a.every(is.number)) { + this.options.linearA = a; + } else { + throw is.invalidParameterError('a', 'number or array of numbers', a); + } + if (!is.defined(b)) { + this.options.linearB = []; + } else if (is.number(b)) { + this.options.linearB = [b]; + } else if (Array.isArray(b) && is.inRange(b.length, 1, 1000000) && b.every(is.number)) { + this.options.linearB = b; + } else { + throw is.invalidParameterError('b', 'number or array of numbers', b); + } + if (this.options.linearA.length !== this.options.linearB.length) { + throw new Error('Expected a and b to be arrays of the same length'); + } + return this; +} + +/** + * Recombine the image with the specified matrix. + * + * @since 0.21.1 + * + * @example + * sharp(input) + * .recomb([ + * [0.3588, 0.7044, 0.1368], + * [0.2990, 0.5870, 0.1140], + * [0.2392, 0.4696, 0.0912], + * ]) + * .raw() + * .toBuffer(function(err, data, info) { + * // data contains the raw pixel data after applying the matrix + * // With this example input, a sepia filter has been applied + * }); + * + * @param {Array>} inputMatrix - 3x3 or 4x4 Recombination matrix + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function recomb (inputMatrix) { + if (!Array.isArray(inputMatrix)) { + throw is.invalidParameterError('inputMatrix', 'array', inputMatrix); + } + const dimensions = inputMatrix.length; + if (dimensions !== 3 && dimensions !== 4) { + throw is.invalidParameterError('inputMatrix', '3x3 or 4x4 array', dimensions); + } + if (!inputMatrix.every((row) => Array.isArray(row) && row.length === dimensions)) { + throw is.invalidParameterError('inputMatrix', `array of ${dimensions} arrays of length ${dimensions}`, inputMatrix); + } + const recombMatrix = inputMatrix.flat(); + if (!recombMatrix.every(is.number)) { + throw is.invalidParameterError('inputMatrix', 'array of numbers', recombMatrix); + } + this.options.recombMatrix = recombMatrix; + return this; +} + +/** + * Transforms the image using brightness, saturation, hue rotation, and lightness. + * Brightness and lightness both operate on luminance, with the difference being that + * brightness is multiplicative whereas lightness is additive. + * + * @since 0.22.1 + * + * @example + * // increase brightness by a factor of 2 + * const output = await sharp(input) + * .modulate({ + * brightness: 2 + * }) + * .toBuffer(); + * + * @example + * // hue-rotate by 180 degrees + * const output = await sharp(input) + * .modulate({ + * hue: 180 + * }) + * .toBuffer(); + * + * @example + * // increase lightness by +50 + * const output = await sharp(input) + * .modulate({ + * lightness: 50 + * }) + * .toBuffer(); + * + * @example + * // decrease brightness and saturation while also hue-rotating by 90 degrees + * const output = await sharp(input) + * .modulate({ + * brightness: 0.5, + * saturation: 0.5, + * hue: 90, + * }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.brightness] Brightness multiplier + * @param {number} [options.saturation] Saturation multiplier + * @param {number} [options.hue] Degrees for hue rotation + * @param {number} [options.lightness] Lightness addend + * @returns {Sharp} + */ +function modulate (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'plain object', options); + } + if ('brightness' in options) { + if (is.number(options.brightness) && options.brightness >= 0) { + this.options.brightness = options.brightness; + } else { + throw is.invalidParameterError('brightness', 'number above zero', options.brightness); + } + } + if ('saturation' in options) { + if (is.number(options.saturation) && options.saturation >= 0) { + this.options.saturation = options.saturation; + } else { + throw is.invalidParameterError('saturation', 'number above zero', options.saturation); + } + } + if ('hue' in options) { + if (is.integer(options.hue)) { + this.options.hue = options.hue % 360; + } else { + throw is.invalidParameterError('hue', 'number', options.hue); + } + } + if ('lightness' in options) { + if (is.number(options.lightness)) { + this.options.lightness = options.lightness; + } else { + throw is.invalidParameterError('lightness', 'number', options.lightness); + } + } + return this; +} + +/** + * Decorate the Sharp prototype with operation-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + autoOrient, + rotate, + flip, + flop, + affine, + sharpen, + erode, + dilate, + median, + blur, + flatten, + unflatten, + gamma, + negate, + normalise, + normalize, + clahe, + convolve, + threshold, + boolean, + linear, + recomb, + modulate + }); +}; diff --git a/apps/api/.output/node_modules/sharp/dist/output.cjs b/apps/api/.output/node_modules/sharp/dist/output.cjs new file mode 100644 index 0000000..1d2dd11 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/output.cjs @@ -0,0 +1,1786 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const path = require('node:path'); +const is = require('./is.cjs'); +const sharp = require('./sharp.cjs'); + +const formats = new Map([ + ['heic', 'heif'], + ['heif', 'heif'], + ['avif', 'avif'], + ['jpeg', 'jpeg'], + ['jpg', 'jpeg'], + ['jpe', 'jpeg'], + ['tile', 'tile'], + ['dz', 'tile'], + ['png', 'png'], + ['raw', 'raw'], + ['tiff', 'tiff'], + ['tif', 'tiff'], + ['webp', 'webp'], + ['gif', 'gif'], + ['jp2', 'jp2'], + ['jpx', 'jp2'], + ['j2k', 'jp2'], + ['j2c', 'jp2'], + ['jxl', 'jxl'] +]); + +const jp2Regex = /\.(jp[2x]|j2[kc])$/i; + +const errJp2Save = () => new Error('JP2 output requires libvips with support for OpenJPEG'); + +const bitdepthFromColourCount = (colours) => 1 << 32 - Math.clz32(Math.ceil(Math.log2(colours)) - 1); + +/** + * Write output image data to a file. + * + * If an explicit output format is not selected, it will be inferred from the extension, + * with JPEG, PNG, WebP, AVIF, TIFF, GIF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata withMetadata} for control over this. + * + * The caller is responsible for ensuring directory structures and permissions exist. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * sharp(input) + * .toFile('output.png', (err, info) => { ... }); + * + * @example + * sharp(input) + * .toFile('output.png') + * .then(info => { ... }) + * .catch(err => { ... }); + * + * @param {string} fileOut - the path to write the image data to. + * @param {Function} [callback] - called on completion with two arguments `(err, info)`. + * `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * When using the attention crop strategy also contains `attentionX` and `attentionY`, the focal point of the cropped region. + * Animated output will also contain `pageHeight` and `pages`. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * @returns {Promise} - when no callback is provided + * @throws {Error} Invalid parameters + */ +function toFile (fileOut, callback) { + let err; + if (!is.string(fileOut)) { + err = new Error('Missing output file path'); + } else if (is.string(this.options.input.file) && path.resolve(this.options.input.file) === path.resolve(fileOut)) { + err = new Error('Cannot use same file for input and output'); + } else if (jp2Regex.test(path.extname(fileOut)) && !this.constructor.format.jp2.output.file) { + err = errJp2Save(); + } + if (err) { + if (is.fn(callback)) { + callback(err); + } else { + return Promise.reject(err); + } + } else { + this.options.fileOut = fileOut; + const stack = Error(); + return this._pipeline(callback, stack); + } + return this; +} + +/** + * Write output to a Buffer. + * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. + * + * Use {@link #toformat toFormat} or one of the format-specific functions such as {@link #jpeg jpeg}, {@link #png png} etc. to set the output format. + * + * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata withMetadata} for control over this. + * + * `callback`, if present, gets three arguments `(err, data, info)` where: + * - `err` is an error, if any. + * - `data` is the output image data. + * - `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * Animated output will also contain `pageHeight` and `pages`. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * Use {@link #touint8array toUint8Array} for a guaranteed transferable `ArrayBuffer`. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * const data = await sharp(input) + * .png() + * .toBuffer(); + * + * @example + * const { data, info } = await sharp(input) + * .png() + * .toBuffer({ resolveWithObject: true }); + * + * @example + * const { data, info } = await sharp('my-image.jpg') + * // output the raw pixels + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * // create a more type safe way to work with the raw pixel data + * // this will not copy the data, instead it will change `data`s underlying ArrayBuffer + * // so `data` and `pixelArray` point to the same memory location + * const pixelArray = new Uint8ClampedArray(data.buffer); + * + * // When you are done changing the pixelArray, sharp takes the `pixelArray` as an input + * const { width, height, channels } = info; + * await sharp(pixelArray, { raw: { width, height, channels } }) + * .toFile('my-changed-image.jpg'); + * + * @param {Object} [options] + * @param {boolean} [options.resolveWithObject] Resolve the Promise with an Object containing `data` and `info` properties instead of resolving only with `data`. + * @param {Function} [callback] + * @returns {Promise} - when no callback is provided + */ +function toBuffer (options, callback) { + if (is.object(options)) { + this._setBooleanOption('resolveWithObject', options.resolveWithObject); + } else if (this.options.resolveWithObject) { + this.options.resolveWithObject = false; + } + this.options.fileOut = ''; + const stack = Error(); + return this._pipeline(is.fn(options) ? options : callback, stack); +} + +/** + * Write output to a `Uint8Array` backed by a transferable `ArrayBuffer`. + * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. + * + * Use {@link #toformat toFormat} or one of the format-specific functions such as {@link #jpeg jpeg}, {@link #png png} etc. to set the output format. + * + * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #keepexif keepExif} and similar methods for control over this. + * + * Resolves with an `Object` containing: + * - `data` is the output image as a `Uint8Array` backed by a transferable `ArrayBuffer`. + * - `info` contains properties relating to the output image such as `width` and `height`. + * + * @since v0.35.0 + * + * @example + * const { data, info } = await sharp(input).toUint8Array(); + * + * @example + * const { data } = await sharp(input) + * .avif() + * .toUint8Array(); + * const base64String = data.toBase64(); + * + * @returns {Promise<{ data: Uint8Array, info: Object }>} + */ +function toUint8Array () { + this.options.resolveWithObject = true; + this.options.typedArrayOut = true; + const stack = Error(); + return this._pipeline(null, stack); +} + +/** + * Set output density (DPI) in EXIF metadata. + * + * @since 0.35.0 + * + * @example + * const data = await sharp(input) + * .withDensity(96) + * .toBuffer(); + * + * @param {number} density Number of pixels per inch (DPI). + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withDensity (density) { + if (is.number(density) && density > 0) { + this.options.withMetadataDensity = density; + } else { + throw is.invalidParameterError('density', 'positive number', density); + } + return this.keepExif(); +} + +/** + * Keep all EXIF metadata from the input image in the output image. + * + * EXIF metadata is unsupported for TIFF output. + * + * @since 0.33.0 + * + * @example + * const outputWithExif = await sharp(inputWithExif) + * .keepExif() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepExif () { + this.options.keepMetadata |= 0b00001; + return this; +} + +/** + * Set EXIF metadata in the output image, ignoring any EXIF in the input image. + * + * @since 0.33.0 + * + * @example + * const dataWithExif = await sharp(input) + * .withExif({ + * IFD0: { + * Copyright: 'The National Gallery' + * }, + * IFD3: { + * GPSLatitudeRef: 'N', + * GPSLatitude: '51/1 30/1 3230/100', + * GPSLongitudeRef: 'W', + * GPSLongitude: '0/1 7/1 4366/100' + * } + * }) + * .toBuffer(); + * + * @param {Object>} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withExif (exif) { + if (is.object(exif)) { + for (const [ifd, entries] of Object.entries(exif)) { + if (is.object(entries)) { + for (const [k, v] of Object.entries(entries)) { + if (is.string(v)) { + this.options.withExif[`exif-${ifd.toLowerCase()}-${k}`] = v; + } else { + throw is.invalidParameterError(`${ifd}.${k}`, 'string', v); + } + } + } else { + throw is.invalidParameterError(ifd, 'object', entries); + } + } + } else { + throw is.invalidParameterError('exif', 'object', exif); + } + this.options.withExifMerge = false; + return this.keepExif(); +} + +/** + * Update EXIF metadata from the input image in the output image. + * + * @since 0.33.0 + * + * @example + * const dataWithMergedExif = await sharp(inputWithExif) + * .withExifMerge({ + * IFD0: { + * Copyright: 'The National Gallery' + * } + * }) + * .toBuffer(); + * + * @param {Object>} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withExifMerge (exif) { + this.withExif(exif); + this.options.withExifMerge = true; + return this; +} + +/** + * Keep ICC profile from the input image in the output image. + * + * When input and output colour spaces differ, use with {@link /api-colour/#tocolourspace toColourspace} and optionally {@link /api-colour/#pipelinecolourspace pipelineColourspace}. + * + * @since 0.33.0 + * + * @example + * const outputWithIccProfile = await sharp(inputWithIccProfile) + * .keepIccProfile() + * .toBuffer(); + * + * @example + * const cmykOutputWithIccProfile = await sharp(cmykInputWithIccProfile) + * .pipelineColourspace('cmyk') + * .toColourspace('cmyk') + * .keepIccProfile() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepIccProfile () { + this.options.keepMetadata |= 0b01000; + return this; +} + +/** + * Transform using an ICC profile and attach to the output image. + * + * This can either be an absolute filesystem path or + * built-in profile name (`srgb`, `p3`, `cmyk`). + * + * @since 0.33.0 + * + * @example + * const outputWithP3 = await sharp(input) + * .withIccProfile('p3') + * .toBuffer(); + * + * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk). + * @param {Object} [options] + * @param {number} [options.attach=true] Should the ICC profile be included in the output image metadata? + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withIccProfile (icc, options) { + if (is.string(icc)) { + this.options.withIccProfile = icc; + } else { + throw is.invalidParameterError('icc', 'string', icc); + } + this.keepIccProfile(); + if (is.object(options)) { + if (is.defined(options.attach)) { + if (is.bool(options.attach)) { + if (!options.attach) { + this.options.keepMetadata &= ~0b01000; + } + } else { + throw is.invalidParameterError('attach', 'boolean', options.attach); + } + } + } + return this; +} + +/** + * If the input contains gain map metadata, attempt to process the image and gain map separately, + * recombining them into a single output image. + * + * This approach is faster and should produce better results than {@link #withgainmap withGainMap}, + * however not all operations are supported. + * + * Only JPEG input and output are supported. + * JPEG output options other than `quality` are ignored. + * + * This feature is experimental and the API may change. + * + * @since 0.35.0 + * + * @example + * const outputWithResizedGainMap = await sharp(inputWithGainMap) + * .keepGainMap() + * .resize({ width: 64 }) + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepGainMap() { + this.options.keepGainMap = true; + this.options.withGainMap = false; + this.options.keepMetadata |= 0b100000; + return this; +} + +/** + * If the input contains gain map metadata, use it to convert the main image to HDR (High Dynamic Range) before further processing. + * The input gain map is discarded. + * + * If the output is JPEG, generate and attach a new ISO 21496-1 gain map. + * JPEG output options other than `quality` are ignored. + * + * This feature is experimental and the API may change. + * + * @since 0.35.0 + * + * @example + * const outputWithRegeneratedGainMap = await sharp(inputWithGainMap) + * .withGainMap() + * .toBuffer(); + * + * @returns {Sharp} + */ +function withGainMap() { + this.options.withGainMap = true; + this.options.keepGainMap = false; + this.options.colourspace = 'scrgb'; + return this; +} + +/** + * Keep XMP metadata from the input image in the output image. + * + * @since 0.34.3 + * + * @example + * const outputWithXmp = await sharp(inputWithXmp) + * .keepXmp() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepXmp () { + this.options.keepMetadata |= 0b00010; + return this; +} + +/** + * Set XMP metadata in the output image. + * + * Supported by PNG, JPEG, WebP, and TIFF output. + * + * @since 0.34.3 + * + * @example + * const xmpString = ` + * + * + * + * + * John Doe + * + * + * `; + * + * const data = await sharp(input) + * .withXmp(xmpString) + * .toBuffer(); + * + * @param {string} xmp String containing XMP metadata to be embedded in the output image. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withXmp (xmp) { + if (is.string(xmp) && xmp.length > 0) { + this.options.withXmp = xmp; + this.options.keepMetadata |= 0b00010; + } else { + throw is.invalidParameterError('xmp', 'non-empty string', xmp); + } + return this; +} + +/** + * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image. + * + * The default behaviour, when `keepMetadata` is not used, is to convert to the device-independent + * sRGB colour space and strip all metadata, including the removal of any ICC profile. + * + * @since 0.33.0 + * + * @example + * const outputWithMetadata = await sharp(inputWithMetadata) + * .keepMetadata() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepMetadata () { + this.options.keepMetadata |= 0b11111; + return this; +} + +/** + * Keep most metadata (EXIF, XMP, IPTC) from the input image in the output image. + * + * This will also convert to and add a web-friendly sRGB ICC profile if appropriate. + * + * Allows orientation and density to be set or updated. + * + * @example + * const outputSrgbWithMetadata = await sharp(inputRgbWithMetadata) + * .withMetadata() + * .toBuffer(); + * + * @example + * // Set output metadata to 96 DPI + * const data = await sharp(input) + * .withMetadata({ density: 96 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.orientation] Used to update the EXIF `Orientation` tag, integer between 1 and 8. + * @param {number} [options.density] Number of pixels per inch (DPI). + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withMetadata (options) { + this.keepMetadata(); + this.withIccProfile('srgb'); + if (is.object(options)) { + if (is.defined(options.orientation)) { + if (is.integer(options.orientation) && is.inRange(options.orientation, 1, 8)) { + this.options.withMetadataOrientation = options.orientation; + } else { + throw is.invalidParameterError('orientation', 'integer between 1 and 8', options.orientation); + } + } + if (is.defined(options.density)) { + if (is.number(options.density) && options.density > 0) { + this.options.withMetadataDensity = options.density; + } else { + throw is.invalidParameterError('density', 'positive number', options.density); + } + } + if (is.defined(options.icc)) { + this.withIccProfile(options.icc); + } + if (is.defined(options.exif)) { + this.withExifMerge(options.exif); + } + } + return this; +} + +/** + * Force output to a given format. + * + * @example + * // Convert any input to PNG output + * const data = await sharp(input) + * .toFormat('png') + * .toBuffer(); + * + * @param {(string|Object)} format - as a string or an Object with an 'id' attribute + * @param {Object} options - output options + * @returns {Sharp} + * @throws {Error} unsupported format or options + */ +function toFormat (format, options) { + const actualFormat = formats.get((is.object(format) && is.string(format.id) ? format.id : format).toLowerCase()); + if (!actualFormat) { + throw is.invalidParameterError('format', `one of: ${[...formats.keys()].join(', ')}`, format); + } + return this[actualFormat](options); +} + +/** + * Use these JPEG options for output image. + * + * @example + * // Convert any input to very high quality JPEG output + * const data = await sharp(input) + * .jpeg({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @example + * // Use mozjpeg to reduce output JPEG file size (slower) + * const data = await sharp(input) + * .jpeg({ mozjpeg: true }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {string} [options.chromaSubsampling='4:2:0'] - set to '4:4:4' to prevent chroma subsampling otherwise defaults to '4:2:0' chroma subsampling + * @param {boolean} [options.optimiseCoding=true] - optimise Huffman coding tables + * @param {boolean} [options.optimizeCoding=true] - alternative spelling of optimiseCoding + * @param {boolean} [options.mozjpeg=false] - use mozjpeg defaults, equivalent to `{ trellisQuantisation: true, overshootDeringing: true, optimiseScans: true, quantisationTable: 3 }` + * @param {boolean} [options.trellisQuantisation=false] - apply trellis quantisation + * @param {boolean} [options.overshootDeringing=false] - apply overshoot deringing + * @param {boolean} [options.optimiseScans=false] - optimise progressive scans, forces progressive + * @param {boolean} [options.optimizeScans=false] - alternative spelling of optimiseScans + * @param {number} [options.quantisationTable=0] - quantization table to use, integer 0-8 + * @param {number} [options.quantizationTable=0] - alternative spelling of quantisationTable + * @param {boolean} [options.force=true] - force JPEG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jpeg (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jpegQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.progressive)) { + this._setBooleanOption('jpegProgressive', options.progressive); + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jpegChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + const optimiseCoding = is.bool(options.optimizeCoding) ? options.optimizeCoding : options.optimiseCoding; + if (is.defined(optimiseCoding)) { + this._setBooleanOption('jpegOptimiseCoding', optimiseCoding); + } + if (is.defined(options.mozjpeg)) { + if (is.bool(options.mozjpeg)) { + if (options.mozjpeg) { + this.options.jpegTrellisQuantisation = true; + this.options.jpegOvershootDeringing = true; + this.options.jpegOptimiseScans = true; + this.options.jpegProgressive = true; + this.options.jpegQuantisationTable = 3; + } + } else { + throw is.invalidParameterError('mozjpeg', 'boolean', options.mozjpeg); + } + } + const trellisQuantisation = is.bool(options.trellisQuantization) ? options.trellisQuantization : options.trellisQuantisation; + if (is.defined(trellisQuantisation)) { + this._setBooleanOption('jpegTrellisQuantisation', trellisQuantisation); + } + if (is.defined(options.overshootDeringing)) { + this._setBooleanOption('jpegOvershootDeringing', options.overshootDeringing); + } + const optimiseScans = is.bool(options.optimizeScans) ? options.optimizeScans : options.optimiseScans; + if (is.defined(optimiseScans)) { + this._setBooleanOption('jpegOptimiseScans', optimiseScans); + if (optimiseScans) { + this.options.jpegProgressive = true; + } + } + const quantisationTable = is.number(options.quantizationTable) ? options.quantizationTable : options.quantisationTable; + if (is.defined(quantisationTable)) { + if (is.integer(quantisationTable) && is.inRange(quantisationTable, 0, 8)) { + this.options.jpegQuantisationTable = quantisationTable; + } else { + throw is.invalidParameterError('quantisationTable', 'integer between 0 and 8', quantisationTable); + } + } + } + return this._updateFormatOut('jpeg', options); +} + +/** + * Use these PNG options for output image. + * + * By default, PNG output is full colour at 8 bits per pixel. + * + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * Set `palette` to `true` for slower, indexed PNG output. + * + * For 16 bits per pixel output, convert to `rgb16` via + * {@link /api-colour/#tocolourspace toColourspace}. + * + * @example + * // Convert any input to full colour PNG output + * const data = await sharp(input) + * .png() + * .toBuffer(); + * + * @example + * // Convert any input to indexed PNG output (slower) + * const data = await sharp(input) + * .png({ palette: true }) + * .toBuffer(); + * + * @example + * // Output 16 bits per pixel RGB(A) + * const data = await sharp(input) + * .toColourspace('rgb16') + * .png() + * .toBuffer(); + * + * @param {Object} [options] + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.compressionLevel=6] - zlib compression level, 0 (fastest, largest) to 9 (slowest, smallest) + * @param {boolean} [options.adaptiveFiltering=false] - use adaptive row filtering + * @param {boolean} [options.palette=false] - quantise to a palette-based image with alpha transparency support + * @param {number} [options.quality=100] - use the lowest number of colours needed to achieve given quality, sets `palette` to `true` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest), sets `palette` to `true` + * @param {number} [options.colours=256] - maximum number of palette entries, sets `palette` to `true` + * @param {number} [options.colors=256] - alternative spelling of `options.colours`, sets `palette` to `true` + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, sets `palette` to `true` + * @param {boolean} [options.force=true] - force PNG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function png (options) { + if (is.object(options)) { + if (is.defined(options.progressive)) { + this._setBooleanOption('pngProgressive', options.progressive); + } + if (is.defined(options.compressionLevel)) { + if (is.integer(options.compressionLevel) && is.inRange(options.compressionLevel, 0, 9)) { + this.options.pngCompressionLevel = options.compressionLevel; + } else { + throw is.invalidParameterError('compressionLevel', 'integer between 0 and 9', options.compressionLevel); + } + } + if (is.defined(options.adaptiveFiltering)) { + this._setBooleanOption('pngAdaptiveFiltering', options.adaptiveFiltering); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.pngBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.palette)) { + this._setBooleanOption('pngPalette', options.palette); + } else if ([options.quality, options.effort, options.colours, options.colors, options.dither].some(is.defined)) { + this._setBooleanOption('pngPalette', true); + } + if (this.options.pngPalette) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 0, 100)) { + this.options.pngQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 0 and 100', options.quality); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.pngEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.pngDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + } + } + return this._updateFormatOut('png', options); +} + +/** + * Use these WebP options for output image. + * + * @example + * // Convert any input to lossless WebP output + * const data = await sharp(input) + * .webp({ lossless: true }) + * .toBuffer(); + * + * @example + * // Optimise the file size of an animated WebP + * const outputWebp = await sharp(inputWebp, { animated: true }) + * .webp({ effort: 6 }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {number} [options.alphaQuality=100] - quality of alpha layer, integer 0-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {boolean} [options.nearLossless=false] - use near_lossless compression mode + * @param {boolean} [options.smartSubsample=false] - use high quality chroma subsampling + * @param {boolean} [options.smartDeblock=false] - auto-adjust the deblocking filter, can improve low contrast edges (slow) + * @param {string} [options.preset='default'] - named preset for preprocessing/filtering, one of: default, photo, picture, drawing, icon, text + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 6 (slowest) + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.minSize=false] - prevent use of animation key frames to minimise file size (slow) + * @param {boolean} [options.mixed=false] - allow mixture of lossy and lossless animation frames (slow) + * @param {boolean} [options.exact=false] - preserve the colour data in transparent pixels + * @param {boolean} [options.force=true] - force WebP output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function webp (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.webpQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.alphaQuality)) { + if (is.integer(options.alphaQuality) && is.inRange(options.alphaQuality, 0, 100)) { + this.options.webpAlphaQuality = options.alphaQuality; + } else { + throw is.invalidParameterError('alphaQuality', 'integer between 0 and 100', options.alphaQuality); + } + } + if (is.defined(options.lossless)) { + this._setBooleanOption('webpLossless', options.lossless); + } + if (is.defined(options.nearLossless)) { + this._setBooleanOption('webpNearLossless', options.nearLossless); + } + if (is.defined(options.smartSubsample)) { + this._setBooleanOption('webpSmartSubsample', options.smartSubsample); + } + if (is.defined(options.smartDeblock)) { + this._setBooleanOption('webpSmartDeblock', options.smartDeblock); + } + if (is.defined(options.preset)) { + if (is.string(options.preset) && is.inArray(options.preset, ['default', 'photo', 'picture', 'drawing', 'icon', 'text'])) { + this.options.webpPreset = options.preset; + } else { + throw is.invalidParameterError('preset', 'one of: default, photo, picture, drawing, icon, text', options.preset); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 6)) { + this.options.webpEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 6', options.effort); + } + } + if (is.defined(options.minSize)) { + this._setBooleanOption('webpMinSize', options.minSize); + } + if (is.defined(options.mixed)) { + this._setBooleanOption('webpMixed', options.mixed); + } + if (is.defined(options.exact)) { + this._setBooleanOption('webpExact', options.exact); + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('webp', options); +} + +/** + * Use these GIF options for the output image. + * + * The first entry in the palette is reserved for transparency. + * + * The palette of the input image will be re-used if possible. + * + * @since 0.30.0 + * + * @example + * // Convert PNG to GIF + * await sharp(pngBuffer) + * .gif() + * .toBuffer(); + * + * @example + * // Convert animated WebP to animated GIF + * await sharp('animated.webp', { animated: true }) + * .toFile('animated.gif'); + * + * @example + * // Create a 128x128, cropped, non-dithered, animated thumbnail of an animated GIF + * const out = await sharp('in.gif', { animated: true }) + * .resize({ width: 128, height: 128 }) + * .gif({ dither: 0 }) + * .toBuffer(); + * + * @example + * // Lossy file size reduction of animated GIF + * await sharp('in.gif', { animated: true }) + * .gif({ interFrameMaxError: 8 }) + * .toFile('optim.gif'); + * + * @param {Object} [options] - output options + * @param {boolean} [options.reuse=true] - re-use existing palette, otherwise generate new (slow) + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.colours=256] - maximum number of palette entries, including transparency, between 2 and 256 + * @param {number} [options.colors=256] - alternative spelling of `options.colours` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest) + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) + * @param {number} [options.interFrameMaxError=0] - maximum inter-frame error for transparency, between 0 (lossless) and 32 + * @param {number} [options.interPaletteMaxError=3] - maximum inter-palette error for palette reuse, between 0 and 256 + * @param {boolean} [options.keepDuplicateFrames=false] - keep duplicate frames in the output instead of combining them + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.force=true] - force GIF output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function gif (options) { + if (is.object(options)) { + if (is.defined(options.reuse)) { + this._setBooleanOption('gifReuse', options.reuse); + } + if (is.defined(options.progressive)) { + this._setBooleanOption('gifProgressive', options.progressive); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.gifBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.gifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.gifDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + if (is.defined(options.interFrameMaxError)) { + if (is.number(options.interFrameMaxError) && is.inRange(options.interFrameMaxError, 0, 32)) { + this.options.gifInterFrameMaxError = options.interFrameMaxError; + } else { + throw is.invalidParameterError('interFrameMaxError', 'number between 0.0 and 32.0', options.interFrameMaxError); + } + } + if (is.defined(options.interPaletteMaxError)) { + if (is.number(options.interPaletteMaxError) && is.inRange(options.interPaletteMaxError, 0, 256)) { + this.options.gifInterPaletteMaxError = options.interPaletteMaxError; + } else { + throw is.invalidParameterError('interPaletteMaxError', 'number between 0.0 and 256.0', options.interPaletteMaxError); + } + } + if (is.defined(options.keepDuplicateFrames)) { + if (is.bool(options.keepDuplicateFrames)) { + this._setBooleanOption('gifKeepDuplicateFrames', options.keepDuplicateFrames); + } else { + throw is.invalidParameterError('keepDuplicateFrames', 'boolean', options.keepDuplicateFrames); + } + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('gif', options); +} + +/** + * Use these JP2 options for output image. + * + * Requires libvips compiled with support for OpenJPEG. + * The prebuilt binaries do not include this - see + * {@link /install#custom-libvips installing a custom libvips}. + * + * @example + * // Convert any input to lossless JP2 output + * const data = await sharp(input) + * .jp2({ lossless: true }) + * .toBuffer(); + * + * @example + * // Convert any input to very high quality JP2 output + * const data = await sharp(input) + * .jp2({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @since 0.29.1 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {number} [options.tileWidth=512] - horizontal tile size + * @param {number} [options.tileHeight=512] - vertical tile size + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jp2 (options) { + /* node:coverage ignore next 41 */ + if (!this.constructor.format.jp2.output.buffer) { + throw errJp2Save(); + } + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jp2Quality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jp2Lossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && is.inRange(options.tileWidth, 1, 32768)) { + this.options.jp2TileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer between 1 and 32768', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && is.inRange(options.tileHeight, 1, 32768)) { + this.options.jp2TileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer between 1 and 32768', options.tileHeight); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jp2ChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + } + return this._updateFormatOut('jp2', options); +} + +/** + * Set animation options if available. + * @private + * + * @param {Object} [source] - output options + * @param {number} [source.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number[]} [source.delay] - list of delays between animation frames (in milliseconds) + * @param {Object} [target] - target object for valid options + * @throws {Error} Invalid options + */ +function trySetAnimationOptions (source, target) { + if (is.object(source) && is.defined(source.loop)) { + if (is.integer(source.loop) && is.inRange(source.loop, 0, 65535)) { + target.loop = source.loop; + } else { + throw is.invalidParameterError('loop', 'integer between 0 and 65535', source.loop); + } + } + if (is.object(source) && is.defined(source.delay)) { + // We allow singular values as well + if (is.integer(source.delay) && is.inRange(source.delay, 0, 65535)) { + target.delay = [source.delay]; + } else if ( + Array.isArray(source.delay) && + is.inRange(source.delay.length, 1, 1000000) && + source.delay.every(is.integer) && + source.delay.every(v => is.inRange(v, 0, 65535))) { + target.delay = source.delay; + } else { + throw is.invalidParameterError('delay', 'integer or an array of integers between 0 and 65535', source.delay); + } + } +} + +/** + * Use these TIFF options for output image. + * + * The `density` can be set in pixels/inch via {@link #withmetadata withMetadata} + * instead of providing `xres` and `yres` in pixels/mm. + * + * @example + * // Convert SVG input to LZW-compressed, 1 bit per pixel TIFF output + * sharp('input.svg') + * .tiff({ + * compression: 'lzw', + * bitdepth: 1 + * }) + * .toFile('1-bpp-output.tiff') + * .then(info => { ... }); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.force=true] - force TIFF output, otherwise attempt to use input format + * @param {string} [options.compression='jpeg'] - compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k + * @param {boolean} [options.bigtiff=false] - use BigTIFF variant (has no effect when compression is none) + * @param {string} [options.predictor='horizontal'] - compression predictor options: none, horizontal, float + * @param {boolean} [options.pyramid=false] - write an image pyramid + * @param {boolean} [options.tile=false] - write a tiled tiff + * @param {number} [options.tileWidth=256] - horizontal tile size, valid values are integers in the range 1-32768 + * @param {number} [options.tileHeight=256] - vertical tile size, valid values are integers in the range 1-32768 + * @param {number} [options.xres=1.0] - horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 + * @param {number} [options.yres=1.0] - vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 + * @param {string} [options.resolutionUnit='inch'] - resolution unit options: inch, cm + * @param {number} [options.bitdepth=0] - reduce bitdepth to 1, 2 or 4 bit + * @param {boolean} [options.miniswhite=false] - write 1-bit images as miniswhite + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function tiff (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.tiffQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.bitdepth)) { + if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [1, 2, 4])) { + this.options.tiffBitdepth = options.bitdepth; + } else { + throw is.invalidParameterError('bitdepth', '1, 2 or 4', options.bitdepth); + } + } + // tiling + if (is.defined(options.tile)) { + this._setBooleanOption('tiffTile', options.tile); + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && is.inRange(options.tileWidth, 1, 32768)) { + this.options.tiffTileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer between 1 and 32768', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && is.inRange(options.tileHeight, 1, 32768)) { + this.options.tiffTileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer between 1 and 32768', options.tileHeight); + } + } + // miniswhite + if (is.defined(options.miniswhite)) { + this._setBooleanOption('tiffMiniswhite', options.miniswhite); + } + // pyramid + if (is.defined(options.pyramid)) { + this._setBooleanOption('tiffPyramid', options.pyramid); + } + // resolution + if (is.defined(options.xres)) { + if (is.number(options.xres) && is.inRange(options.xres, 0.001, 1000000)) { + this.options.tiffXres = options.xres; + } else { + throw is.invalidParameterError('xres', 'number between 0.001 and 1000000', options.xres); + } + } + if (is.defined(options.yres)) { + if (is.number(options.yres) && is.inRange(options.yres, 0.001, 1000000)) { + this.options.tiffYres = options.yres; + } else { + throw is.invalidParameterError('yres', 'number between 0.001 and 1000000', options.yres); + } + } + // compression + if (is.defined(options.compression)) { + if (is.string(options.compression) && is.inArray(options.compression, ['none', 'jpeg', 'deflate', 'packbits', 'ccittfax4', 'lzw', 'webp', 'zstd', 'jp2k'])) { + this.options.tiffCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k', options.compression); + } + } + // bigtiff + if (is.defined(options.bigtiff)) { + this._setBooleanOption('tiffBigtiff', options.bigtiff); + } + // predictor + if (is.defined(options.predictor)) { + if (is.string(options.predictor) && is.inArray(options.predictor, ['none', 'horizontal', 'float'])) { + this.options.tiffPredictor = options.predictor; + } else { + throw is.invalidParameterError('predictor', 'one of: none, horizontal, float', options.predictor); + } + } + // resolutionUnit + if (is.defined(options.resolutionUnit)) { + if (is.string(options.resolutionUnit) && is.inArray(options.resolutionUnit, ['inch', 'cm'])) { + this.options.tiffResolutionUnit = options.resolutionUnit; + } else { + throw is.invalidParameterError('resolutionUnit', 'one of: inch, cm', options.resolutionUnit); + } + } + } + return this._updateFormatOut('tiff', options); +} + +/** + * Use these AVIF options for output image. + * + * AVIF image sequences are not supported. + * + * @example + * const data = await sharp(input) + * .avif({ effort: 2 }) + * .toBuffer(); + * + * @example + * const data = await sharp(input) + * .avif({ lossless: true }) + * .toBuffer(); + * + * @since 0.27.0 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @param {number} [options.bitdepth=8] - set bitdepth to 8, 10 or 12 bit + * @param {string} [options.tune='auto'] - tune output for a quality metric, one of 'auto' (default), 'iq', 'psnr' or 'ssim' + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function avif (options) { + return this.heif({ ...options, compression: 'av1' }); +} + +/** + * Use these HEIF options for output image. + * + * Support for patent-encumbered HEIC images using `hevc` compression requires the use of a + * globally-installed libvips compiled with support for libheif, libde265 and x265. + * + * @example + * const data = await sharp(input) + * .heif({ compression: 'hevc' }) + * .toBuffer(); + * + * @since 0.23.0 + * + * @param {Object} options - output options + * @param {string} options.compression - compression format: av1, hevc + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @param {number} [options.bitdepth=8] - set bitdepth to 8, 10 or 12 bit + * @param {string} [options.tune='auto'] - tune output for a quality metric, one of 'auto' (default), 'iq', 'psnr' or 'ssim' + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function heif (options) { + if (is.object(options)) { + if (is.string(options.compression) && is.inArray(options.compression, ['av1', 'hevc'])) { + this.options.heifCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: av1, hevc', options.compression); + } + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.heifQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.heifLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 9)) { + this.options.heifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 9', options.effort); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.heifChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + if (is.defined(options.bitdepth)) { + if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [8, 10, 12])) { + this.options.heifBitdepth = options.bitdepth; + } else { + throw is.invalidParameterError('bitdepth', '8, 10 or 12', options.bitdepth); + } + } + if (is.defined(options.tune)) { + if (is.string(options.tune) && is.inArray(options.tune, ['auto', 'iq', 'psnr', 'ssim'])) { + if (this.options.heifLossless && options.tune === 'iq') { + this.options.heifTune = 'ssim'; + } else { + this.options.heifTune = options.tune; + } + } else { + throw is.invalidParameterError('tune', 'one of: auto, iq, psnr, ssim', options.tune); + } + } + } else { + throw is.invalidParameterError('options', 'Object', options); + } + return this._updateFormatOut('heif', options); +} + +/** + * Use these JPEG-XL (JXL) options for output image. + * + * This feature is experimental, please do not use in production systems. + * + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this - see + * {@link /install/#custom-libvips installing a custom libvips}. + * + * @since 0.31.3 + * + * @param {Object} [options] - output options + * @param {number} [options.distance=1.0] - maximum encoding error, between 0 (highest quality) and 15 (lowest quality) + * @param {number} [options.quality] - calculate `distance` based on JPEG-like quality, between 1 and 100, overrides distance if specified + * @param {number} [options.decodingTier=0] - target decode speed tier, between 0 (highest quality) and 4 (lowest quality) + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 9 (slowest) + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jxl (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + // https://github.com/libjxl/libjxl/blob/0aeea7f180bafd6893c1db8072dcb67d2aa5b03d/tools/cjxl_main.cc#L640-L644 + this.options.jxlDistance = options.quality >= 30 + ? 0.1 + (100 - options.quality) * 0.09 + : 53 / 3000 * options.quality * options.quality - 23 / 20 * options.quality + 25; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } else if (is.defined(options.distance)) { + if (is.number(options.distance) && is.inRange(options.distance, 0, 15)) { + this.options.jxlDistance = options.distance; + } else { + throw is.invalidParameterError('distance', 'number between 0.0 and 15.0', options.distance); + } + } + if (is.defined(options.decodingTier)) { + if (is.integer(options.decodingTier) && is.inRange(options.decodingTier, 0, 4)) { + this.options.jxlDecodingTier = options.decodingTier; + } else { + throw is.invalidParameterError('decodingTier', 'integer between 0 and 4', options.decodingTier); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jxlLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 9)) { + this.options.jxlEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 9', options.effort); + } + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('jxl', options); +} + +/** + * Force output to be raw, uncompressed pixel data. + * Pixel ordering is left-to-right, top-to-bottom, without padding. + * Channel ordering will be RGB or RGBA for non-greyscale colourspaces. + * + * @example + * // Extract raw, unsigned 8-bit RGB pixel data from JPEG input + * const { data, info } = await sharp('input.jpg') + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * @example + * // Extract alpha channel as raw, unsigned 16-bit pixel data from PNG input + * const data = await sharp('input.png') + * .ensureAlpha() + * .extractChannel(3) + * .toColourspace('b-w') + * .raw({ depth: 'ushort' }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {string} [options.depth='uchar'] - bit depth, one of: char, uchar (default), short, ushort, int, uint, float, complex, double, dpcomplex + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function raw (options) { + if (is.object(options)) { + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, + ['char', 'uchar', 'short', 'ushort', 'int', 'uint', 'float', 'complex', 'double', 'dpcomplex'] + )) { + this.options.rawDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex', options.depth); + } + } + } + return this._updateFormatOut('raw'); +} + +/** + * Use tile-based deep zoom (image pyramid) output. + * + * Set the format and options for tile images via the `toFormat`, `jpeg`, `png` or `webp` functions. + * Use a `.zip` or `.szi` file extension with `toFile` to write to a compressed archive file format. + * + * The container will be set to `zip` when the output is a Buffer or Stream, otherwise it will default to `fs`. + * + * @example + * sharp('input.tiff') + * .png() + * .tile({ + * size: 512 + * }) + * .toFile('output.dz', function(err, info) { + * // output.dzi is the Deep Zoom XML definition + * // output_files contains 512x512 tiles grouped by zoom level + * }); + * + * @example + * const zipFileWithTiles = await sharp(input) + * .tile({ basename: "tiles" }) + * .toBuffer(); + * + * @example + * const iiififier = sharp().tile({ layout: "iiif" }); + * readableStream + * .pipe(iiififier) + * .pipe(writeableStream); + * + * @param {Object} [options] + * @param {number} [options.size=256] tile size in pixels, a value between 1 and 8192. + * @param {number} [options.overlap=0] tile overlap in pixels, a value between 0 and 8192. + * @param {number} [options.angle=0] tile angle of rotation, must be a multiple of 90. + * @param {string|Object} [options.background={r: 255, g: 255, b: 255, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to white without transparency. + * @param {string} [options.depth] how deep to make the pyramid, possible values are `onepixel`, `onetile` or `one`, default based on layout. + * @param {number} [options.skipBlanks=-1] Threshold to skip tile generation. Range is 0-255 for 8-bit images, 0-65535 for 16-bit images. Default is 5 for `google` layout, -1 (no skip) otherwise. + * @param {string} [options.container='fs'] tile container, with value `fs` (filesystem) or `zip` (compressed file). + * @param {string} [options.layout='dz'] filesystem layout, possible values are `dz`, `iiif`, `iiif3`, `zoomify` or `google`. + * @param {boolean} [options.centre=false] centre image in tile. + * @param {boolean} [options.center=false] alternative spelling of centre. + * @param {string} [options.id='https://example.com/iiif'] when `layout` is `iiif`/`iiif3`, sets the `@id`/`id` attribute of `info.json` + * @param {string} [options.basename] the name of the directory within the zip file when container is `zip`. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function tile (options) { + if (is.object(options)) { + // Size of square tiles, in pixels + if (is.defined(options.size)) { + if (is.integer(options.size) && is.inRange(options.size, 1, 8192)) { + this.options.tileSize = options.size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 8192', options.size); + } + } + // Overlap of tiles, in pixels + if (is.defined(options.overlap)) { + if (is.integer(options.overlap) && is.inRange(options.overlap, 0, 8192)) { + if (options.overlap > this.options.tileSize) { + throw is.invalidParameterError('overlap', `<= size (${this.options.tileSize})`, options.overlap); + } + this.options.tileOverlap = options.overlap; + } else { + throw is.invalidParameterError('overlap', 'integer between 0 and 8192', options.overlap); + } + } + // Container + if (is.defined(options.container)) { + if (is.string(options.container) && is.inArray(options.container, ['fs', 'zip'])) { + this.options.tileContainer = options.container; + } else { + throw is.invalidParameterError('container', 'one of: fs, zip', options.container); + } + } + // Layout + if (is.defined(options.layout)) { + if (is.string(options.layout) && is.inArray(options.layout, ['dz', 'google', 'iiif', 'iiif3', 'zoomify'])) { + this.options.tileLayout = options.layout; + } else { + throw is.invalidParameterError('layout', 'one of: dz, google, iiif, iiif3, zoomify', options.layout); + } + } + // Angle of rotation, + if (is.defined(options.angle)) { + if (is.integer(options.angle) && !(options.angle % 90)) { + this.options.tileAngle = options.angle; + } else { + throw is.invalidParameterError('angle', 'positive/negative multiple of 90', options.angle); + } + } + // Background colour + this._setBackgroundColourOption('tileBackground', options.background); + // Depth of tiles + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, ['onepixel', 'onetile', 'one'])) { + this.options.tileDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: onepixel, onetile, one', options.depth); + } + } + // Threshold to skip blank tiles + if (is.defined(options.skipBlanks)) { + if (is.integer(options.skipBlanks) && is.inRange(options.skipBlanks, -1, 65535)) { + this.options.tileSkipBlanks = options.skipBlanks; + } else { + throw is.invalidParameterError('skipBlanks', 'integer between -1 and 255/65535', options.skipBlanks); + } + } else if (is.defined(options.layout) && options.layout === 'google') { + this.options.tileSkipBlanks = 5; + } + // Center image in tile + const centre = is.bool(options.center) ? options.center : options.centre; + if (is.defined(centre)) { + this._setBooleanOption('tileCentre', centre); + } + // @id attribute for IIIF layout + if (is.defined(options.id)) { + if (is.string(options.id)) { + this.options.tileId = options.id; + } else { + throw is.invalidParameterError('id', 'string', options.id); + } + } + // Basename for zip container + if (is.defined(options.basename)) { + if (is.string(options.basename)) { + this.options.tileBasename = options.basename; + } else { + throw is.invalidParameterError('basename', 'string', options.basename); + } + } + } + // Format + if (is.inArray(this.options.formatOut, ['jpeg', 'png', 'webp'])) { + this.options.tileFormat = this.options.formatOut; + } else if (this.options.formatOut !== 'input') { + throw is.invalidParameterError('format', 'one of: jpeg, png, webp', this.options.formatOut); + } + return this._updateFormatOut('dz'); +} + +/** + * Set a timeout for processing, in seconds. + * Use a value of zero to continue processing indefinitely, the default behaviour. + * + * The clock starts when libvips opens an input image for processing. + * Time spent waiting for a libuv thread to become available is not included. + * + * @example + * // Ensure processing takes no longer than 3 seconds + * try { + * const data = await sharp(input) + * .blur(1000) + * .timeout({ seconds: 3 }) + * .toBuffer(); + * } catch (err) { + * if (err.message.includes('timeout')) { ... } + * } + * + * @since 0.29.2 + * + * @param {Object} options + * @param {number} options.seconds - Number of seconds after which processing will be stopped + * @returns {Sharp} + */ +function timeout (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'object', options); + } + if (is.integer(options.seconds) && is.inRange(options.seconds, 0, 3600)) { + this.options.timeoutSeconds = options.seconds; + } else { + throw is.invalidParameterError('seconds', 'integer between 0 and 3600', options.seconds); + } + return this; +} + +/** + * Update the output format unless options.force is false, + * in which case revert to input format. + * @private + * @param {string} formatOut + * @param {Object} [options] + * @param {boolean} [options.force=true] - force output format, otherwise attempt to use input format + * @returns {Sharp} + */ +function _updateFormatOut (formatOut, options) { + if (!(is.object(options) && options.force === false)) { + this.options.formatOut = formatOut; + } + return this; +} + +/** + * Update a boolean attribute of the this.options Object. + * @private + * @param {string} key + * @param {boolean} val + * @throws {Error} Invalid key + */ +function _setBooleanOption (key, val) { + if (is.bool(val)) { + this.options[key] = val; + } else { + throw is.invalidParameterError(key, 'boolean', val); + } +} + +/** + * Called by a WriteableStream to notify us it is ready for data. + * @private + */ +function _read () { + if (!this.options.streamOut) { + this.options.streamOut = true; + const stack = Error(); + this._pipeline(undefined, stack); + } +} + +/** + * Invoke the C++ image processing pipeline + * Supports callback, stream and promise variants + * @private + */ +function _pipeline (callback, stack) { + if (typeof callback === 'function') { + // output=file/buffer + if (this._isStreamInput()) { + // output=file/buffer, input=stream + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, data, info); + } + }); + }); + } else { + // output=file/buffer, input=file/buffer + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, data, info); + } + }); + } + return this; + } else if (this.options.streamOut) { + // output=stream + if (this._isStreamInput()) { + // output=stream, input=stream + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', is.nativeError(err, stack)); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + }); + } else { + // output=stream, input=file/buffer + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', is.nativeError(err, stack)); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + } + return this; + } else { + // output=promise + if (this._isStreamInput()) { + // output=promise, input=stream + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + if (this.options.resolveWithObject) { + resolve({ data, info }); + } else { + resolve(data); + } + } + }); + }); + }); + } else { + // output=promise, input=file/buffer + return new Promise((resolve, reject) => { + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + if (this.options.resolveWithObject) { + resolve({ data, info }); + } else { + resolve(data); + } + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with output-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + // Public + toFile, + toBuffer, + toUint8Array, + withDensity, + keepExif, + withExif, + withExifMerge, + keepIccProfile, + withIccProfile, + keepGainMap, + withGainMap, + keepXmp, + withXmp, + keepMetadata, + withMetadata, + toFormat, + jpeg, + jp2, + png, + webp, + tiff, + avif, + heif, + jxl, + gif, + raw, + tile, + timeout, + // Private + _updateFormatOut, + _setBooleanOption, + _read, + _pipeline + }); +}; diff --git a/apps/api/.output/node_modules/sharp/dist/output.mjs b/apps/api/.output/node_modules/sharp/dist/output.mjs new file mode 100644 index 0000000..caa31d8 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/output.mjs @@ -0,0 +1,1786 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import path from 'node:path'; +import is from './is.mjs'; +import sharp from './sharp.mjs'; + +const formats = new Map([ + ['heic', 'heif'], + ['heif', 'heif'], + ['avif', 'avif'], + ['jpeg', 'jpeg'], + ['jpg', 'jpeg'], + ['jpe', 'jpeg'], + ['tile', 'tile'], + ['dz', 'tile'], + ['png', 'png'], + ['raw', 'raw'], + ['tiff', 'tiff'], + ['tif', 'tiff'], + ['webp', 'webp'], + ['gif', 'gif'], + ['jp2', 'jp2'], + ['jpx', 'jp2'], + ['j2k', 'jp2'], + ['j2c', 'jp2'], + ['jxl', 'jxl'] +]); + +const jp2Regex = /\.(jp[2x]|j2[kc])$/i; + +const errJp2Save = () => new Error('JP2 output requires libvips with support for OpenJPEG'); + +const bitdepthFromColourCount = (colours) => 1 << 32 - Math.clz32(Math.ceil(Math.log2(colours)) - 1); + +/** + * Write output image data to a file. + * + * If an explicit output format is not selected, it will be inferred from the extension, + * with JPEG, PNG, WebP, AVIF, TIFF, GIF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata withMetadata} for control over this. + * + * The caller is responsible for ensuring directory structures and permissions exist. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * sharp(input) + * .toFile('output.png', (err, info) => { ... }); + * + * @example + * sharp(input) + * .toFile('output.png') + * .then(info => { ... }) + * .catch(err => { ... }); + * + * @param {string} fileOut - the path to write the image data to. + * @param {Function} [callback] - called on completion with two arguments `(err, info)`. + * `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * When using the attention crop strategy also contains `attentionX` and `attentionY`, the focal point of the cropped region. + * Animated output will also contain `pageHeight` and `pages`. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * @returns {Promise} - when no callback is provided + * @throws {Error} Invalid parameters + */ +function toFile (fileOut, callback) { + let err; + if (!is.string(fileOut)) { + err = new Error('Missing output file path'); + } else if (is.string(this.options.input.file) && path.resolve(this.options.input.file) === path.resolve(fileOut)) { + err = new Error('Cannot use same file for input and output'); + } else if (jp2Regex.test(path.extname(fileOut)) && !this.constructor.format.jp2.output.file) { + err = errJp2Save(); + } + if (err) { + if (is.fn(callback)) { + callback(err); + } else { + return Promise.reject(err); + } + } else { + this.options.fileOut = fileOut; + const stack = Error(); + return this._pipeline(callback, stack); + } + return this; +} + +/** + * Write output to a Buffer. + * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. + * + * Use {@link #toformat toFormat} or one of the format-specific functions such as {@link #jpeg jpeg}, {@link #png png} etc. to set the output format. + * + * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #withmetadata withMetadata} for control over this. + * + * `callback`, if present, gets three arguments `(err, data, info)` where: + * - `err` is an error, if any. + * - `data` is the output image data. + * - `info` contains the output image `format`, `size` (bytes), `width`, `height`, + * `channels` and `premultiplied` (indicating if premultiplication was used). + * When using a crop strategy also contains `cropOffsetLeft` and `cropOffsetTop`. + * Animated output will also contain `pageHeight` and `pages`. + * May also contain `textAutofitDpi` (dpi the font was rendered at) if image was created from text. + * + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * Use {@link #touint8array toUint8Array} for a guaranteed transferable `ArrayBuffer`. + * + * A `Promise` is returned when `callback` is not provided. + * + * @example + * const data = await sharp(input) + * .png() + * .toBuffer(); + * + * @example + * const { data, info } = await sharp(input) + * .png() + * .toBuffer({ resolveWithObject: true }); + * + * @example + * const { data, info } = await sharp('my-image.jpg') + * // output the raw pixels + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * // create a more type safe way to work with the raw pixel data + * // this will not copy the data, instead it will change `data`s underlying ArrayBuffer + * // so `data` and `pixelArray` point to the same memory location + * const pixelArray = new Uint8ClampedArray(data.buffer); + * + * // When you are done changing the pixelArray, sharp takes the `pixelArray` as an input + * const { width, height, channels } = info; + * await sharp(pixelArray, { raw: { width, height, channels } }) + * .toFile('my-changed-image.jpg'); + * + * @param {Object} [options] + * @param {boolean} [options.resolveWithObject] Resolve the Promise with an Object containing `data` and `info` properties instead of resolving only with `data`. + * @param {Function} [callback] + * @returns {Promise} - when no callback is provided + */ +function toBuffer (options, callback) { + if (is.object(options)) { + this._setBooleanOption('resolveWithObject', options.resolveWithObject); + } else if (this.options.resolveWithObject) { + this.options.resolveWithObject = false; + } + this.options.fileOut = ''; + const stack = Error(); + return this._pipeline(is.fn(options) ? options : callback, stack); +} + +/** + * Write output to a `Uint8Array` backed by a transferable `ArrayBuffer`. + * JPEG, PNG, WebP, AVIF, TIFF, GIF and raw pixel data output are supported. + * + * Use {@link #toformat toFormat} or one of the format-specific functions such as {@link #jpeg jpeg}, {@link #png png} etc. to set the output format. + * + * If no explicit format is set, the output format will match the input image, except SVG input which becomes PNG output. + * + * By default all metadata will be removed, which includes EXIF-based orientation. + * See {@link #keepexif keepExif} and similar methods for control over this. + * + * Resolves with an `Object` containing: + * - `data` is the output image as a `Uint8Array` backed by a transferable `ArrayBuffer`. + * - `info` contains properties relating to the output image such as `width` and `height`. + * + * @since v0.35.0 + * + * @example + * const { data, info } = await sharp(input).toUint8Array(); + * + * @example + * const { data } = await sharp(input) + * .avif() + * .toUint8Array(); + * const base64String = data.toBase64(); + * + * @returns {Promise<{ data: Uint8Array, info: Object }>} + */ +function toUint8Array () { + this.options.resolveWithObject = true; + this.options.typedArrayOut = true; + const stack = Error(); + return this._pipeline(null, stack); +} + +/** + * Set output density (DPI) in EXIF metadata. + * + * @since 0.35.0 + * + * @example + * const data = await sharp(input) + * .withDensity(96) + * .toBuffer(); + * + * @param {number} density Number of pixels per inch (DPI). + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withDensity (density) { + if (is.number(density) && density > 0) { + this.options.withMetadataDensity = density; + } else { + throw is.invalidParameterError('density', 'positive number', density); + } + return this.keepExif(); +} + +/** + * Keep all EXIF metadata from the input image in the output image. + * + * EXIF metadata is unsupported for TIFF output. + * + * @since 0.33.0 + * + * @example + * const outputWithExif = await sharp(inputWithExif) + * .keepExif() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepExif () { + this.options.keepMetadata |= 0b00001; + return this; +} + +/** + * Set EXIF metadata in the output image, ignoring any EXIF in the input image. + * + * @since 0.33.0 + * + * @example + * const dataWithExif = await sharp(input) + * .withExif({ + * IFD0: { + * Copyright: 'The National Gallery' + * }, + * IFD3: { + * GPSLatitudeRef: 'N', + * GPSLatitude: '51/1 30/1 3230/100', + * GPSLongitudeRef: 'W', + * GPSLongitude: '0/1 7/1 4366/100' + * } + * }) + * .toBuffer(); + * + * @param {Object>} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withExif (exif) { + if (is.object(exif)) { + for (const [ifd, entries] of Object.entries(exif)) { + if (is.object(entries)) { + for (const [k, v] of Object.entries(entries)) { + if (is.string(v)) { + this.options.withExif[`exif-${ifd.toLowerCase()}-${k}`] = v; + } else { + throw is.invalidParameterError(`${ifd}.${k}`, 'string', v); + } + } + } else { + throw is.invalidParameterError(ifd, 'object', entries); + } + } + } else { + throw is.invalidParameterError('exif', 'object', exif); + } + this.options.withExifMerge = false; + return this.keepExif(); +} + +/** + * Update EXIF metadata from the input image in the output image. + * + * @since 0.33.0 + * + * @example + * const dataWithMergedExif = await sharp(inputWithExif) + * .withExifMerge({ + * IFD0: { + * Copyright: 'The National Gallery' + * } + * }) + * .toBuffer(); + * + * @param {Object>} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withExifMerge (exif) { + this.withExif(exif); + this.options.withExifMerge = true; + return this; +} + +/** + * Keep ICC profile from the input image in the output image. + * + * When input and output colour spaces differ, use with {@link /api-colour/#tocolourspace toColourspace} and optionally {@link /api-colour/#pipelinecolourspace pipelineColourspace}. + * + * @since 0.33.0 + * + * @example + * const outputWithIccProfile = await sharp(inputWithIccProfile) + * .keepIccProfile() + * .toBuffer(); + * + * @example + * const cmykOutputWithIccProfile = await sharp(cmykInputWithIccProfile) + * .pipelineColourspace('cmyk') + * .toColourspace('cmyk') + * .keepIccProfile() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepIccProfile () { + this.options.keepMetadata |= 0b01000; + return this; +} + +/** + * Transform using an ICC profile and attach to the output image. + * + * This can either be an absolute filesystem path or + * built-in profile name (`srgb`, `p3`, `cmyk`). + * + * @since 0.33.0 + * + * @example + * const outputWithP3 = await sharp(input) + * .withIccProfile('p3') + * .toBuffer(); + * + * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk). + * @param {Object} [options] + * @param {number} [options.attach=true] Should the ICC profile be included in the output image metadata? + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withIccProfile (icc, options) { + if (is.string(icc)) { + this.options.withIccProfile = icc; + } else { + throw is.invalidParameterError('icc', 'string', icc); + } + this.keepIccProfile(); + if (is.object(options)) { + if (is.defined(options.attach)) { + if (is.bool(options.attach)) { + if (!options.attach) { + this.options.keepMetadata &= ~0b01000; + } + } else { + throw is.invalidParameterError('attach', 'boolean', options.attach); + } + } + } + return this; +} + +/** + * If the input contains gain map metadata, attempt to process the image and gain map separately, + * recombining them into a single output image. + * + * This approach is faster and should produce better results than {@link #withgainmap withGainMap}, + * however not all operations are supported. + * + * Only JPEG input and output are supported. + * JPEG output options other than `quality` are ignored. + * + * This feature is experimental and the API may change. + * + * @since 0.35.0 + * + * @example + * const outputWithResizedGainMap = await sharp(inputWithGainMap) + * .keepGainMap() + * .resize({ width: 64 }) + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepGainMap() { + this.options.keepGainMap = true; + this.options.withGainMap = false; + this.options.keepMetadata |= 0b100000; + return this; +} + +/** + * If the input contains gain map metadata, use it to convert the main image to HDR (High Dynamic Range) before further processing. + * The input gain map is discarded. + * + * If the output is JPEG, generate and attach a new ISO 21496-1 gain map. + * JPEG output options other than `quality` are ignored. + * + * This feature is experimental and the API may change. + * + * @since 0.35.0 + * + * @example + * const outputWithRegeneratedGainMap = await sharp(inputWithGainMap) + * .withGainMap() + * .toBuffer(); + * + * @returns {Sharp} + */ +function withGainMap() { + this.options.withGainMap = true; + this.options.keepGainMap = false; + this.options.colourspace = 'scrgb'; + return this; +} + +/** + * Keep XMP metadata from the input image in the output image. + * + * @since 0.34.3 + * + * @example + * const outputWithXmp = await sharp(inputWithXmp) + * .keepXmp() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepXmp () { + this.options.keepMetadata |= 0b00010; + return this; +} + +/** + * Set XMP metadata in the output image. + * + * Supported by PNG, JPEG, WebP, and TIFF output. + * + * @since 0.34.3 + * + * @example + * const xmpString = ` + * + * + * + * + * John Doe + * + * + * `; + * + * const data = await sharp(input) + * .withXmp(xmpString) + * .toBuffer(); + * + * @param {string} xmp String containing XMP metadata to be embedded in the output image. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withXmp (xmp) { + if (is.string(xmp) && xmp.length > 0) { + this.options.withXmp = xmp; + this.options.keepMetadata |= 0b00010; + } else { + throw is.invalidParameterError('xmp', 'non-empty string', xmp); + } + return this; +} + +/** + * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image. + * + * The default behaviour, when `keepMetadata` is not used, is to convert to the device-independent + * sRGB colour space and strip all metadata, including the removal of any ICC profile. + * + * @since 0.33.0 + * + * @example + * const outputWithMetadata = await sharp(inputWithMetadata) + * .keepMetadata() + * .toBuffer(); + * + * @returns {Sharp} + */ +function keepMetadata () { + this.options.keepMetadata |= 0b11111; + return this; +} + +/** + * Keep most metadata (EXIF, XMP, IPTC) from the input image in the output image. + * + * This will also convert to and add a web-friendly sRGB ICC profile if appropriate. + * + * Allows orientation and density to be set or updated. + * + * @example + * const outputSrgbWithMetadata = await sharp(inputRgbWithMetadata) + * .withMetadata() + * .toBuffer(); + * + * @example + * // Set output metadata to 96 DPI + * const data = await sharp(input) + * .withMetadata({ density: 96 }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {number} [options.orientation] Used to update the EXIF `Orientation` tag, integer between 1 and 8. + * @param {number} [options.density] Number of pixels per inch (DPI). + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function withMetadata (options) { + this.keepMetadata(); + this.withIccProfile('srgb'); + if (is.object(options)) { + if (is.defined(options.orientation)) { + if (is.integer(options.orientation) && is.inRange(options.orientation, 1, 8)) { + this.options.withMetadataOrientation = options.orientation; + } else { + throw is.invalidParameterError('orientation', 'integer between 1 and 8', options.orientation); + } + } + if (is.defined(options.density)) { + if (is.number(options.density) && options.density > 0) { + this.options.withMetadataDensity = options.density; + } else { + throw is.invalidParameterError('density', 'positive number', options.density); + } + } + if (is.defined(options.icc)) { + this.withIccProfile(options.icc); + } + if (is.defined(options.exif)) { + this.withExifMerge(options.exif); + } + } + return this; +} + +/** + * Force output to a given format. + * + * @example + * // Convert any input to PNG output + * const data = await sharp(input) + * .toFormat('png') + * .toBuffer(); + * + * @param {(string|Object)} format - as a string or an Object with an 'id' attribute + * @param {Object} options - output options + * @returns {Sharp} + * @throws {Error} unsupported format or options + */ +function toFormat (format, options) { + const actualFormat = formats.get((is.object(format) && is.string(format.id) ? format.id : format).toLowerCase()); + if (!actualFormat) { + throw is.invalidParameterError('format', `one of: ${[...formats.keys()].join(', ')}`, format); + } + return this[actualFormat](options); +} + +/** + * Use these JPEG options for output image. + * + * @example + * // Convert any input to very high quality JPEG output + * const data = await sharp(input) + * .jpeg({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @example + * // Use mozjpeg to reduce output JPEG file size (slower) + * const data = await sharp(input) + * .jpeg({ mozjpeg: true }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {string} [options.chromaSubsampling='4:2:0'] - set to '4:4:4' to prevent chroma subsampling otherwise defaults to '4:2:0' chroma subsampling + * @param {boolean} [options.optimiseCoding=true] - optimise Huffman coding tables + * @param {boolean} [options.optimizeCoding=true] - alternative spelling of optimiseCoding + * @param {boolean} [options.mozjpeg=false] - use mozjpeg defaults, equivalent to `{ trellisQuantisation: true, overshootDeringing: true, optimiseScans: true, quantisationTable: 3 }` + * @param {boolean} [options.trellisQuantisation=false] - apply trellis quantisation + * @param {boolean} [options.overshootDeringing=false] - apply overshoot deringing + * @param {boolean} [options.optimiseScans=false] - optimise progressive scans, forces progressive + * @param {boolean} [options.optimizeScans=false] - alternative spelling of optimiseScans + * @param {number} [options.quantisationTable=0] - quantization table to use, integer 0-8 + * @param {number} [options.quantizationTable=0] - alternative spelling of quantisationTable + * @param {boolean} [options.force=true] - force JPEG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jpeg (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jpegQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.progressive)) { + this._setBooleanOption('jpegProgressive', options.progressive); + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jpegChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + const optimiseCoding = is.bool(options.optimizeCoding) ? options.optimizeCoding : options.optimiseCoding; + if (is.defined(optimiseCoding)) { + this._setBooleanOption('jpegOptimiseCoding', optimiseCoding); + } + if (is.defined(options.mozjpeg)) { + if (is.bool(options.mozjpeg)) { + if (options.mozjpeg) { + this.options.jpegTrellisQuantisation = true; + this.options.jpegOvershootDeringing = true; + this.options.jpegOptimiseScans = true; + this.options.jpegProgressive = true; + this.options.jpegQuantisationTable = 3; + } + } else { + throw is.invalidParameterError('mozjpeg', 'boolean', options.mozjpeg); + } + } + const trellisQuantisation = is.bool(options.trellisQuantization) ? options.trellisQuantization : options.trellisQuantisation; + if (is.defined(trellisQuantisation)) { + this._setBooleanOption('jpegTrellisQuantisation', trellisQuantisation); + } + if (is.defined(options.overshootDeringing)) { + this._setBooleanOption('jpegOvershootDeringing', options.overshootDeringing); + } + const optimiseScans = is.bool(options.optimizeScans) ? options.optimizeScans : options.optimiseScans; + if (is.defined(optimiseScans)) { + this._setBooleanOption('jpegOptimiseScans', optimiseScans); + if (optimiseScans) { + this.options.jpegProgressive = true; + } + } + const quantisationTable = is.number(options.quantizationTable) ? options.quantizationTable : options.quantisationTable; + if (is.defined(quantisationTable)) { + if (is.integer(quantisationTable) && is.inRange(quantisationTable, 0, 8)) { + this.options.jpegQuantisationTable = quantisationTable; + } else { + throw is.invalidParameterError('quantisationTable', 'integer between 0 and 8', quantisationTable); + } + } + } + return this._updateFormatOut('jpeg', options); +} + +/** + * Use these PNG options for output image. + * + * By default, PNG output is full colour at 8 bits per pixel. + * + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * Set `palette` to `true` for slower, indexed PNG output. + * + * For 16 bits per pixel output, convert to `rgb16` via + * {@link /api-colour/#tocolourspace toColourspace}. + * + * @example + * // Convert any input to full colour PNG output + * const data = await sharp(input) + * .png() + * .toBuffer(); + * + * @example + * // Convert any input to indexed PNG output (slower) + * const data = await sharp(input) + * .png({ palette: true }) + * .toBuffer(); + * + * @example + * // Output 16 bits per pixel RGB(A) + * const data = await sharp(input) + * .toColourspace('rgb16') + * .png() + * .toBuffer(); + * + * @param {Object} [options] + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.compressionLevel=6] - zlib compression level, 0 (fastest, largest) to 9 (slowest, smallest) + * @param {boolean} [options.adaptiveFiltering=false] - use adaptive row filtering + * @param {boolean} [options.palette=false] - quantise to a palette-based image with alpha transparency support + * @param {number} [options.quality=100] - use the lowest number of colours needed to achieve given quality, sets `palette` to `true` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest), sets `palette` to `true` + * @param {number} [options.colours=256] - maximum number of palette entries, sets `palette` to `true` + * @param {number} [options.colors=256] - alternative spelling of `options.colours`, sets `palette` to `true` + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, sets `palette` to `true` + * @param {boolean} [options.force=true] - force PNG output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function png (options) { + if (is.object(options)) { + if (is.defined(options.progressive)) { + this._setBooleanOption('pngProgressive', options.progressive); + } + if (is.defined(options.compressionLevel)) { + if (is.integer(options.compressionLevel) && is.inRange(options.compressionLevel, 0, 9)) { + this.options.pngCompressionLevel = options.compressionLevel; + } else { + throw is.invalidParameterError('compressionLevel', 'integer between 0 and 9', options.compressionLevel); + } + } + if (is.defined(options.adaptiveFiltering)) { + this._setBooleanOption('pngAdaptiveFiltering', options.adaptiveFiltering); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.pngBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.palette)) { + this._setBooleanOption('pngPalette', options.palette); + } else if ([options.quality, options.effort, options.colours, options.colors, options.dither].some(is.defined)) { + this._setBooleanOption('pngPalette', true); + } + if (this.options.pngPalette) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 0, 100)) { + this.options.pngQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 0 and 100', options.quality); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.pngEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.pngDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + } + } + return this._updateFormatOut('png', options); +} + +/** + * Use these WebP options for output image. + * + * @example + * // Convert any input to lossless WebP output + * const data = await sharp(input) + * .webp({ lossless: true }) + * .toBuffer(); + * + * @example + * // Optimise the file size of an animated WebP + * const outputWebp = await sharp(inputWebp, { animated: true }) + * .webp({ effort: 6 }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {number} [options.alphaQuality=100] - quality of alpha layer, integer 0-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {boolean} [options.nearLossless=false] - use near_lossless compression mode + * @param {boolean} [options.smartSubsample=false] - use high quality chroma subsampling + * @param {boolean} [options.smartDeblock=false] - auto-adjust the deblocking filter, can improve low contrast edges (slow) + * @param {string} [options.preset='default'] - named preset for preprocessing/filtering, one of: default, photo, picture, drawing, icon, text + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 6 (slowest) + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.minSize=false] - prevent use of animation key frames to minimise file size (slow) + * @param {boolean} [options.mixed=false] - allow mixture of lossy and lossless animation frames (slow) + * @param {boolean} [options.exact=false] - preserve the colour data in transparent pixels + * @param {boolean} [options.force=true] - force WebP output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function webp (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.webpQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.alphaQuality)) { + if (is.integer(options.alphaQuality) && is.inRange(options.alphaQuality, 0, 100)) { + this.options.webpAlphaQuality = options.alphaQuality; + } else { + throw is.invalidParameterError('alphaQuality', 'integer between 0 and 100', options.alphaQuality); + } + } + if (is.defined(options.lossless)) { + this._setBooleanOption('webpLossless', options.lossless); + } + if (is.defined(options.nearLossless)) { + this._setBooleanOption('webpNearLossless', options.nearLossless); + } + if (is.defined(options.smartSubsample)) { + this._setBooleanOption('webpSmartSubsample', options.smartSubsample); + } + if (is.defined(options.smartDeblock)) { + this._setBooleanOption('webpSmartDeblock', options.smartDeblock); + } + if (is.defined(options.preset)) { + if (is.string(options.preset) && is.inArray(options.preset, ['default', 'photo', 'picture', 'drawing', 'icon', 'text'])) { + this.options.webpPreset = options.preset; + } else { + throw is.invalidParameterError('preset', 'one of: default, photo, picture, drawing, icon, text', options.preset); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 6)) { + this.options.webpEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 6', options.effort); + } + } + if (is.defined(options.minSize)) { + this._setBooleanOption('webpMinSize', options.minSize); + } + if (is.defined(options.mixed)) { + this._setBooleanOption('webpMixed', options.mixed); + } + if (is.defined(options.exact)) { + this._setBooleanOption('webpExact', options.exact); + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('webp', options); +} + +/** + * Use these GIF options for the output image. + * + * The first entry in the palette is reserved for transparency. + * + * The palette of the input image will be re-used if possible. + * + * @since 0.30.0 + * + * @example + * // Convert PNG to GIF + * await sharp(pngBuffer) + * .gif() + * .toBuffer(); + * + * @example + * // Convert animated WebP to animated GIF + * await sharp('animated.webp', { animated: true }) + * .toFile('animated.gif'); + * + * @example + * // Create a 128x128, cropped, non-dithered, animated thumbnail of an animated GIF + * const out = await sharp('in.gif', { animated: true }) + * .resize({ width: 128, height: 128 }) + * .gif({ dither: 0 }) + * .toBuffer(); + * + * @example + * // Lossy file size reduction of animated GIF + * await sharp('in.gif', { animated: true }) + * .gif({ interFrameMaxError: 8 }) + * .toFile('optim.gif'); + * + * @param {Object} [options] - output options + * @param {boolean} [options.reuse=true] - re-use existing palette, otherwise generate new (slow) + * @param {boolean} [options.progressive=false] - use progressive (interlace) scan + * @param {number} [options.colours=256] - maximum number of palette entries, including transparency, between 2 and 256 + * @param {number} [options.colors=256] - alternative spelling of `options.colours` + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 10 (slowest) + * @param {number} [options.dither=1.0] - level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) + * @param {number} [options.interFrameMaxError=0] - maximum inter-frame error for transparency, between 0 (lossless) and 32 + * @param {number} [options.interPaletteMaxError=3] - maximum inter-palette error for palette reuse, between 0 and 256 + * @param {boolean} [options.keepDuplicateFrames=false] - keep duplicate frames in the output instead of combining them + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @param {boolean} [options.force=true] - force GIF output, otherwise attempt to use input format + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function gif (options) { + if (is.object(options)) { + if (is.defined(options.reuse)) { + this._setBooleanOption('gifReuse', options.reuse); + } + if (is.defined(options.progressive)) { + this._setBooleanOption('gifProgressive', options.progressive); + } + const colours = options.colours || options.colors; + if (is.defined(colours)) { + if (is.integer(colours) && is.inRange(colours, 2, 256)) { + this.options.gifBitdepth = bitdepthFromColourCount(colours); + } else { + throw is.invalidParameterError('colours', 'integer between 2 and 256', colours); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 10)) { + this.options.gifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 10', options.effort); + } + } + if (is.defined(options.dither)) { + if (is.number(options.dither) && is.inRange(options.dither, 0, 1)) { + this.options.gifDither = options.dither; + } else { + throw is.invalidParameterError('dither', 'number between 0.0 and 1.0', options.dither); + } + } + if (is.defined(options.interFrameMaxError)) { + if (is.number(options.interFrameMaxError) && is.inRange(options.interFrameMaxError, 0, 32)) { + this.options.gifInterFrameMaxError = options.interFrameMaxError; + } else { + throw is.invalidParameterError('interFrameMaxError', 'number between 0.0 and 32.0', options.interFrameMaxError); + } + } + if (is.defined(options.interPaletteMaxError)) { + if (is.number(options.interPaletteMaxError) && is.inRange(options.interPaletteMaxError, 0, 256)) { + this.options.gifInterPaletteMaxError = options.interPaletteMaxError; + } else { + throw is.invalidParameterError('interPaletteMaxError', 'number between 0.0 and 256.0', options.interPaletteMaxError); + } + } + if (is.defined(options.keepDuplicateFrames)) { + if (is.bool(options.keepDuplicateFrames)) { + this._setBooleanOption('gifKeepDuplicateFrames', options.keepDuplicateFrames); + } else { + throw is.invalidParameterError('keepDuplicateFrames', 'boolean', options.keepDuplicateFrames); + } + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('gif', options); +} + +/** + * Use these JP2 options for output image. + * + * Requires libvips compiled with support for OpenJPEG. + * The prebuilt binaries do not include this - see + * {@link /install#custom-libvips installing a custom libvips}. + * + * @example + * // Convert any input to lossless JP2 output + * const data = await sharp(input) + * .jp2({ lossless: true }) + * .toBuffer(); + * + * @example + * // Convert any input to very high quality JP2 output + * const data = await sharp(input) + * .jp2({ + * quality: 100, + * chromaSubsampling: '4:4:4' + * }) + * .toBuffer(); + * + * @since 0.29.1 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression mode + * @param {number} [options.tileWidth=512] - horizontal tile size + * @param {number} [options.tileHeight=512] - vertical tile size + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jp2 (options) { + /* node:coverage ignore next 41 */ + if (!this.constructor.format.jp2.output.buffer) { + throw errJp2Save(); + } + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.jp2Quality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jp2Lossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && is.inRange(options.tileWidth, 1, 32768)) { + this.options.jp2TileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer between 1 and 32768', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && is.inRange(options.tileHeight, 1, 32768)) { + this.options.jp2TileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer between 1 and 32768', options.tileHeight); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.jp2ChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + } + return this._updateFormatOut('jp2', options); +} + +/** + * Set animation options if available. + * @private + * + * @param {Object} [source] - output options + * @param {number} [source.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number[]} [source.delay] - list of delays between animation frames (in milliseconds) + * @param {Object} [target] - target object for valid options + * @throws {Error} Invalid options + */ +function trySetAnimationOptions (source, target) { + if (is.object(source) && is.defined(source.loop)) { + if (is.integer(source.loop) && is.inRange(source.loop, 0, 65535)) { + target.loop = source.loop; + } else { + throw is.invalidParameterError('loop', 'integer between 0 and 65535', source.loop); + } + } + if (is.object(source) && is.defined(source.delay)) { + // We allow singular values as well + if (is.integer(source.delay) && is.inRange(source.delay, 0, 65535)) { + target.delay = [source.delay]; + } else if ( + Array.isArray(source.delay) && + is.inRange(source.delay.length, 1, 1000000) && + source.delay.every(is.integer) && + source.delay.every(v => is.inRange(v, 0, 65535))) { + target.delay = source.delay; + } else { + throw is.invalidParameterError('delay', 'integer or an array of integers between 0 and 65535', source.delay); + } + } +} + +/** + * Use these TIFF options for output image. + * + * The `density` can be set in pixels/inch via {@link #withmetadata withMetadata} + * instead of providing `xres` and `yres` in pixels/mm. + * + * @example + * // Convert SVG input to LZW-compressed, 1 bit per pixel TIFF output + * sharp('input.svg') + * .tiff({ + * compression: 'lzw', + * bitdepth: 1 + * }) + * .toFile('1-bpp-output.tiff') + * .then(info => { ... }); + * + * @param {Object} [options] - output options + * @param {number} [options.quality=80] - quality, integer 1-100 + * @param {boolean} [options.force=true] - force TIFF output, otherwise attempt to use input format + * @param {string} [options.compression='jpeg'] - compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k + * @param {boolean} [options.bigtiff=false] - use BigTIFF variant (has no effect when compression is none) + * @param {string} [options.predictor='horizontal'] - compression predictor options: none, horizontal, float + * @param {boolean} [options.pyramid=false] - write an image pyramid + * @param {boolean} [options.tile=false] - write a tiled tiff + * @param {number} [options.tileWidth=256] - horizontal tile size, valid values are integers in the range 1-32768 + * @param {number} [options.tileHeight=256] - vertical tile size, valid values are integers in the range 1-32768 + * @param {number} [options.xres=1.0] - horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 + * @param {number} [options.yres=1.0] - vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 + * @param {string} [options.resolutionUnit='inch'] - resolution unit options: inch, cm + * @param {number} [options.bitdepth=0] - reduce bitdepth to 1, 2 or 4 bit + * @param {boolean} [options.miniswhite=false] - write 1-bit images as miniswhite + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function tiff (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.tiffQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.bitdepth)) { + if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [1, 2, 4])) { + this.options.tiffBitdepth = options.bitdepth; + } else { + throw is.invalidParameterError('bitdepth', '1, 2 or 4', options.bitdepth); + } + } + // tiling + if (is.defined(options.tile)) { + this._setBooleanOption('tiffTile', options.tile); + } + if (is.defined(options.tileWidth)) { + if (is.integer(options.tileWidth) && is.inRange(options.tileWidth, 1, 32768)) { + this.options.tiffTileWidth = options.tileWidth; + } else { + throw is.invalidParameterError('tileWidth', 'integer between 1 and 32768', options.tileWidth); + } + } + if (is.defined(options.tileHeight)) { + if (is.integer(options.tileHeight) && is.inRange(options.tileHeight, 1, 32768)) { + this.options.tiffTileHeight = options.tileHeight; + } else { + throw is.invalidParameterError('tileHeight', 'integer between 1 and 32768', options.tileHeight); + } + } + // miniswhite + if (is.defined(options.miniswhite)) { + this._setBooleanOption('tiffMiniswhite', options.miniswhite); + } + // pyramid + if (is.defined(options.pyramid)) { + this._setBooleanOption('tiffPyramid', options.pyramid); + } + // resolution + if (is.defined(options.xres)) { + if (is.number(options.xres) && is.inRange(options.xres, 0.001, 1000000)) { + this.options.tiffXres = options.xres; + } else { + throw is.invalidParameterError('xres', 'number between 0.001 and 1000000', options.xres); + } + } + if (is.defined(options.yres)) { + if (is.number(options.yres) && is.inRange(options.yres, 0.001, 1000000)) { + this.options.tiffYres = options.yres; + } else { + throw is.invalidParameterError('yres', 'number between 0.001 and 1000000', options.yres); + } + } + // compression + if (is.defined(options.compression)) { + if (is.string(options.compression) && is.inArray(options.compression, ['none', 'jpeg', 'deflate', 'packbits', 'ccittfax4', 'lzw', 'webp', 'zstd', 'jp2k'])) { + this.options.tiffCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k', options.compression); + } + } + // bigtiff + if (is.defined(options.bigtiff)) { + this._setBooleanOption('tiffBigtiff', options.bigtiff); + } + // predictor + if (is.defined(options.predictor)) { + if (is.string(options.predictor) && is.inArray(options.predictor, ['none', 'horizontal', 'float'])) { + this.options.tiffPredictor = options.predictor; + } else { + throw is.invalidParameterError('predictor', 'one of: none, horizontal, float', options.predictor); + } + } + // resolutionUnit + if (is.defined(options.resolutionUnit)) { + if (is.string(options.resolutionUnit) && is.inArray(options.resolutionUnit, ['inch', 'cm'])) { + this.options.tiffResolutionUnit = options.resolutionUnit; + } else { + throw is.invalidParameterError('resolutionUnit', 'one of: inch, cm', options.resolutionUnit); + } + } + } + return this._updateFormatOut('tiff', options); +} + +/** + * Use these AVIF options for output image. + * + * AVIF image sequences are not supported. + * + * @example + * const data = await sharp(input) + * .avif({ effort: 2 }) + * .toBuffer(); + * + * @example + * const data = await sharp(input) + * .avif({ lossless: true }) + * .toBuffer(); + * + * @since 0.27.0 + * + * @param {Object} [options] - output options + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @param {number} [options.bitdepth=8] - set bitdepth to 8, 10 or 12 bit + * @param {string} [options.tune='auto'] - tune output for a quality metric, one of 'auto' (default), 'iq', 'psnr' or 'ssim' + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function avif (options) { + return this.heif({ ...options, compression: 'av1' }); +} + +/** + * Use these HEIF options for output image. + * + * Support for patent-encumbered HEIC images using `hevc` compression requires the use of a + * globally-installed libvips compiled with support for libheif, libde265 and x265. + * + * @example + * const data = await sharp(input) + * .heif({ compression: 'hevc' }) + * .toBuffer(); + * + * @since 0.23.0 + * + * @param {Object} options - output options + * @param {string} options.compression - compression format: av1, hevc + * @param {number} [options.quality=50] - quality, integer 1-100 + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=4] - CPU effort, between 0 (fastest) and 9 (slowest) + * @param {string} [options.chromaSubsampling='4:4:4'] - set to '4:2:0' to use chroma subsampling + * @param {number} [options.bitdepth=8] - set bitdepth to 8, 10 or 12 bit + * @param {string} [options.tune='auto'] - tune output for a quality metric, one of 'auto' (default), 'iq', 'psnr' or 'ssim' + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function heif (options) { + if (is.object(options)) { + if (is.string(options.compression) && is.inArray(options.compression, ['av1', 'hevc'])) { + this.options.heifCompression = options.compression; + } else { + throw is.invalidParameterError('compression', 'one of: av1, hevc', options.compression); + } + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + this.options.heifQuality = options.quality; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.heifLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 0, 9)) { + this.options.heifEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 0 and 9', options.effort); + } + } + if (is.defined(options.chromaSubsampling)) { + if (is.string(options.chromaSubsampling) && is.inArray(options.chromaSubsampling, ['4:2:0', '4:4:4'])) { + this.options.heifChromaSubsampling = options.chromaSubsampling; + } else { + throw is.invalidParameterError('chromaSubsampling', 'one of: 4:2:0, 4:4:4', options.chromaSubsampling); + } + } + if (is.defined(options.bitdepth)) { + if (is.integer(options.bitdepth) && is.inArray(options.bitdepth, [8, 10, 12])) { + this.options.heifBitdepth = options.bitdepth; + } else { + throw is.invalidParameterError('bitdepth', '8, 10 or 12', options.bitdepth); + } + } + if (is.defined(options.tune)) { + if (is.string(options.tune) && is.inArray(options.tune, ['auto', 'iq', 'psnr', 'ssim'])) { + if (this.options.heifLossless && options.tune === 'iq') { + this.options.heifTune = 'ssim'; + } else { + this.options.heifTune = options.tune; + } + } else { + throw is.invalidParameterError('tune', 'one of: auto, iq, psnr, ssim', options.tune); + } + } + } else { + throw is.invalidParameterError('options', 'Object', options); + } + return this._updateFormatOut('heif', options); +} + +/** + * Use these JPEG-XL (JXL) options for output image. + * + * This feature is experimental, please do not use in production systems. + * + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this - see + * {@link /install/#custom-libvips installing a custom libvips}. + * + * @since 0.31.3 + * + * @param {Object} [options] - output options + * @param {number} [options.distance=1.0] - maximum encoding error, between 0 (highest quality) and 15 (lowest quality) + * @param {number} [options.quality] - calculate `distance` based on JPEG-like quality, between 1 and 100, overrides distance if specified + * @param {number} [options.decodingTier=0] - target decode speed tier, between 0 (highest quality) and 4 (lowest quality) + * @param {boolean} [options.lossless=false] - use lossless compression + * @param {number} [options.effort=7] - CPU effort, between 1 (fastest) and 9 (slowest) + * @param {number} [options.loop=0] - number of animation iterations, use 0 for infinite animation + * @param {number|number[]} [options.delay] - delay(s) between animation frames (in milliseconds) + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function jxl (options) { + if (is.object(options)) { + if (is.defined(options.quality)) { + if (is.integer(options.quality) && is.inRange(options.quality, 1, 100)) { + // https://github.com/libjxl/libjxl/blob/0aeea7f180bafd6893c1db8072dcb67d2aa5b03d/tools/cjxl_main.cc#L640-L644 + this.options.jxlDistance = options.quality >= 30 + ? 0.1 + (100 - options.quality) * 0.09 + : 53 / 3000 * options.quality * options.quality - 23 / 20 * options.quality + 25; + } else { + throw is.invalidParameterError('quality', 'integer between 1 and 100', options.quality); + } + } else if (is.defined(options.distance)) { + if (is.number(options.distance) && is.inRange(options.distance, 0, 15)) { + this.options.jxlDistance = options.distance; + } else { + throw is.invalidParameterError('distance', 'number between 0.0 and 15.0', options.distance); + } + } + if (is.defined(options.decodingTier)) { + if (is.integer(options.decodingTier) && is.inRange(options.decodingTier, 0, 4)) { + this.options.jxlDecodingTier = options.decodingTier; + } else { + throw is.invalidParameterError('decodingTier', 'integer between 0 and 4', options.decodingTier); + } + } + if (is.defined(options.lossless)) { + if (is.bool(options.lossless)) { + this.options.jxlLossless = options.lossless; + } else { + throw is.invalidParameterError('lossless', 'boolean', options.lossless); + } + } + if (is.defined(options.effort)) { + if (is.integer(options.effort) && is.inRange(options.effort, 1, 9)) { + this.options.jxlEffort = options.effort; + } else { + throw is.invalidParameterError('effort', 'integer between 1 and 9', options.effort); + } + } + } + trySetAnimationOptions(options, this.options); + return this._updateFormatOut('jxl', options); +} + +/** + * Force output to be raw, uncompressed pixel data. + * Pixel ordering is left-to-right, top-to-bottom, without padding. + * Channel ordering will be RGB or RGBA for non-greyscale colourspaces. + * + * @example + * // Extract raw, unsigned 8-bit RGB pixel data from JPEG input + * const { data, info } = await sharp('input.jpg') + * .raw() + * .toBuffer({ resolveWithObject: true }); + * + * @example + * // Extract alpha channel as raw, unsigned 16-bit pixel data from PNG input + * const data = await sharp('input.png') + * .ensureAlpha() + * .extractChannel(3) + * .toColourspace('b-w') + * .raw({ depth: 'ushort' }) + * .toBuffer(); + * + * @param {Object} [options] - output options + * @param {string} [options.depth='uchar'] - bit depth, one of: char, uchar (default), short, ushort, int, uint, float, complex, double, dpcomplex + * @returns {Sharp} + * @throws {Error} Invalid options + */ +function raw (options) { + if (is.object(options)) { + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, + ['char', 'uchar', 'short', 'ushort', 'int', 'uint', 'float', 'complex', 'double', 'dpcomplex'] + )) { + this.options.rawDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex', options.depth); + } + } + } + return this._updateFormatOut('raw'); +} + +/** + * Use tile-based deep zoom (image pyramid) output. + * + * Set the format and options for tile images via the `toFormat`, `jpeg`, `png` or `webp` functions. + * Use a `.zip` or `.szi` file extension with `toFile` to write to a compressed archive file format. + * + * The container will be set to `zip` when the output is a Buffer or Stream, otherwise it will default to `fs`. + * + * @example + * sharp('input.tiff') + * .png() + * .tile({ + * size: 512 + * }) + * .toFile('output.dz', function(err, info) { + * // output.dzi is the Deep Zoom XML definition + * // output_files contains 512x512 tiles grouped by zoom level + * }); + * + * @example + * const zipFileWithTiles = await sharp(input) + * .tile({ basename: "tiles" }) + * .toBuffer(); + * + * @example + * const iiififier = sharp().tile({ layout: "iiif" }); + * readableStream + * .pipe(iiififier) + * .pipe(writeableStream); + * + * @param {Object} [options] + * @param {number} [options.size=256] tile size in pixels, a value between 1 and 8192. + * @param {number} [options.overlap=0] tile overlap in pixels, a value between 0 and 8192. + * @param {number} [options.angle=0] tile angle of rotation, must be a multiple of 90. + * @param {string|Object} [options.background={r: 255, g: 255, b: 255, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to white without transparency. + * @param {string} [options.depth] how deep to make the pyramid, possible values are `onepixel`, `onetile` or `one`, default based on layout. + * @param {number} [options.skipBlanks=-1] Threshold to skip tile generation. Range is 0-255 for 8-bit images, 0-65535 for 16-bit images. Default is 5 for `google` layout, -1 (no skip) otherwise. + * @param {string} [options.container='fs'] tile container, with value `fs` (filesystem) or `zip` (compressed file). + * @param {string} [options.layout='dz'] filesystem layout, possible values are `dz`, `iiif`, `iiif3`, `zoomify` or `google`. + * @param {boolean} [options.centre=false] centre image in tile. + * @param {boolean} [options.center=false] alternative spelling of centre. + * @param {string} [options.id='https://example.com/iiif'] when `layout` is `iiif`/`iiif3`, sets the `@id`/`id` attribute of `info.json` + * @param {string} [options.basename] the name of the directory within the zip file when container is `zip`. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function tile (options) { + if (is.object(options)) { + // Size of square tiles, in pixels + if (is.defined(options.size)) { + if (is.integer(options.size) && is.inRange(options.size, 1, 8192)) { + this.options.tileSize = options.size; + } else { + throw is.invalidParameterError('size', 'integer between 1 and 8192', options.size); + } + } + // Overlap of tiles, in pixels + if (is.defined(options.overlap)) { + if (is.integer(options.overlap) && is.inRange(options.overlap, 0, 8192)) { + if (options.overlap > this.options.tileSize) { + throw is.invalidParameterError('overlap', `<= size (${this.options.tileSize})`, options.overlap); + } + this.options.tileOverlap = options.overlap; + } else { + throw is.invalidParameterError('overlap', 'integer between 0 and 8192', options.overlap); + } + } + // Container + if (is.defined(options.container)) { + if (is.string(options.container) && is.inArray(options.container, ['fs', 'zip'])) { + this.options.tileContainer = options.container; + } else { + throw is.invalidParameterError('container', 'one of: fs, zip', options.container); + } + } + // Layout + if (is.defined(options.layout)) { + if (is.string(options.layout) && is.inArray(options.layout, ['dz', 'google', 'iiif', 'iiif3', 'zoomify'])) { + this.options.tileLayout = options.layout; + } else { + throw is.invalidParameterError('layout', 'one of: dz, google, iiif, iiif3, zoomify', options.layout); + } + } + // Angle of rotation, + if (is.defined(options.angle)) { + if (is.integer(options.angle) && !(options.angle % 90)) { + this.options.tileAngle = options.angle; + } else { + throw is.invalidParameterError('angle', 'positive/negative multiple of 90', options.angle); + } + } + // Background colour + this._setBackgroundColourOption('tileBackground', options.background); + // Depth of tiles + if (is.defined(options.depth)) { + if (is.string(options.depth) && is.inArray(options.depth, ['onepixel', 'onetile', 'one'])) { + this.options.tileDepth = options.depth; + } else { + throw is.invalidParameterError('depth', 'one of: onepixel, onetile, one', options.depth); + } + } + // Threshold to skip blank tiles + if (is.defined(options.skipBlanks)) { + if (is.integer(options.skipBlanks) && is.inRange(options.skipBlanks, -1, 65535)) { + this.options.tileSkipBlanks = options.skipBlanks; + } else { + throw is.invalidParameterError('skipBlanks', 'integer between -1 and 255/65535', options.skipBlanks); + } + } else if (is.defined(options.layout) && options.layout === 'google') { + this.options.tileSkipBlanks = 5; + } + // Center image in tile + const centre = is.bool(options.center) ? options.center : options.centre; + if (is.defined(centre)) { + this._setBooleanOption('tileCentre', centre); + } + // @id attribute for IIIF layout + if (is.defined(options.id)) { + if (is.string(options.id)) { + this.options.tileId = options.id; + } else { + throw is.invalidParameterError('id', 'string', options.id); + } + } + // Basename for zip container + if (is.defined(options.basename)) { + if (is.string(options.basename)) { + this.options.tileBasename = options.basename; + } else { + throw is.invalidParameterError('basename', 'string', options.basename); + } + } + } + // Format + if (is.inArray(this.options.formatOut, ['jpeg', 'png', 'webp'])) { + this.options.tileFormat = this.options.formatOut; + } else if (this.options.formatOut !== 'input') { + throw is.invalidParameterError('format', 'one of: jpeg, png, webp', this.options.formatOut); + } + return this._updateFormatOut('dz'); +} + +/** + * Set a timeout for processing, in seconds. + * Use a value of zero to continue processing indefinitely, the default behaviour. + * + * The clock starts when libvips opens an input image for processing. + * Time spent waiting for a libuv thread to become available is not included. + * + * @example + * // Ensure processing takes no longer than 3 seconds + * try { + * const data = await sharp(input) + * .blur(1000) + * .timeout({ seconds: 3 }) + * .toBuffer(); + * } catch (err) { + * if (err.message.includes('timeout')) { ... } + * } + * + * @since 0.29.2 + * + * @param {Object} options + * @param {number} options.seconds - Number of seconds after which processing will be stopped + * @returns {Sharp} + */ +function timeout (options) { + if (!is.plainObject(options)) { + throw is.invalidParameterError('options', 'object', options); + } + if (is.integer(options.seconds) && is.inRange(options.seconds, 0, 3600)) { + this.options.timeoutSeconds = options.seconds; + } else { + throw is.invalidParameterError('seconds', 'integer between 0 and 3600', options.seconds); + } + return this; +} + +/** + * Update the output format unless options.force is false, + * in which case revert to input format. + * @private + * @param {string} formatOut + * @param {Object} [options] + * @param {boolean} [options.force=true] - force output format, otherwise attempt to use input format + * @returns {Sharp} + */ +function _updateFormatOut (formatOut, options) { + if (!(is.object(options) && options.force === false)) { + this.options.formatOut = formatOut; + } + return this; +} + +/** + * Update a boolean attribute of the this.options Object. + * @private + * @param {string} key + * @param {boolean} val + * @throws {Error} Invalid key + */ +function _setBooleanOption (key, val) { + if (is.bool(val)) { + this.options[key] = val; + } else { + throw is.invalidParameterError(key, 'boolean', val); + } +} + +/** + * Called by a WriteableStream to notify us it is ready for data. + * @private + */ +function _read () { + if (!this.options.streamOut) { + this.options.streamOut = true; + const stack = Error(); + this._pipeline(undefined, stack); + } +} + +/** + * Invoke the C++ image processing pipeline + * Supports callback, stream and promise variants + * @private + */ +function _pipeline (callback, stack) { + if (typeof callback === 'function') { + // output=file/buffer + if (this._isStreamInput()) { + // output=file/buffer, input=stream + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, data, info); + } + }); + }); + } else { + // output=file/buffer, input=file/buffer + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + callback(is.nativeError(err, stack)); + } else { + callback(null, data, info); + } + }); + } + return this; + } else if (this.options.streamOut) { + // output=stream + if (this._isStreamInput()) { + // output=stream, input=stream + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', is.nativeError(err, stack)); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + }); + } else { + // output=stream, input=file/buffer + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + this.emit('error', is.nativeError(err, stack)); + } else { + this.emit('info', info); + this.push(data); + } + this.push(null); + this.on('end', () => this.emit('close')); + }); + } + return this; + } else { + // output=promise + if (this._isStreamInput()) { + // output=promise, input=stream + return new Promise((resolve, reject) => { + this._whenStreamInFinished(() => { + this._flattenBufferIn(); + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + if (this.options.resolveWithObject) { + resolve({ data, info }); + } else { + resolve(data); + } + } + }); + }); + }); + } else { + // output=promise, input=file/buffer + return new Promise((resolve, reject) => { + sharp.pipeline(this.options, (err, data, info) => { + if (err) { + reject(is.nativeError(err, stack)); + } else { + if (this.options.resolveWithObject) { + resolve({ data, info }); + } else { + resolve(data); + } + } + }); + }); + } + } +} + +/** + * Decorate the Sharp prototype with output-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + // Public + toFile, + toBuffer, + toUint8Array, + withDensity, + keepExif, + withExif, + withExifMerge, + keepIccProfile, + withIccProfile, + keepGainMap, + withGainMap, + keepXmp, + withXmp, + keepMetadata, + withMetadata, + toFormat, + jpeg, + jp2, + png, + webp, + tiff, + avif, + heif, + jxl, + gif, + raw, + tile, + timeout, + // Private + _updateFormatOut, + _setBooleanOption, + _read, + _pipeline + }); +}; diff --git a/apps/api/.output/node_modules/sharp/dist/resize.cjs b/apps/api/.output/node_modules/sharp/dist/resize.cjs new file mode 100644 index 0000000..733679f --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/resize.cjs @@ -0,0 +1,617 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const is = require('./is.cjs'); + +/** + * Weighting to apply when using contain/cover fit. + * @member + * @private + */ +const gravity = { + center: 0, + centre: 0, + north: 1, + east: 2, + south: 3, + west: 4, + northeast: 5, + southeast: 6, + southwest: 7, + northwest: 8 +}; + +/** + * Position to apply when using contain/cover fit. + * @member + * @private + */ +const position = { + top: 1, + right: 2, + bottom: 3, + left: 4, + 'right top': 5, + 'right bottom': 6, + 'left bottom': 7, + 'left top': 8 +}; + +/** + * How to extend the image. + * @member + * @private + */ +const extendWith = { + background: 'background', + copy: 'copy', + repeat: 'repeat', + mirror: 'mirror' +}; + +/** + * Strategies for automagic cover behaviour. + * @member + * @private + */ +const strategy = { + entropy: 16, + attention: 17 +}; + +/** + * Reduction kernels. + * @member + * @private + */ +const kernel = { + nearest: 'nearest', + linear: 'linear', + cubic: 'cubic', + mitchell: 'mitchell', + lanczos2: 'lanczos2', + lanczos3: 'lanczos3', + mks2013: 'mks2013', + mks2021: 'mks2021' +}; + +/** + * Methods by which an image can be resized to fit the provided dimensions. + * @member + * @private + */ +const fit = { + contain: 'contain', + cover: 'cover', + fill: 'fill', + inside: 'inside', + outside: 'outside' +}; + +/** + * Map external fit property to internal canvas property. + * @member + * @private + */ +const mapFitToCanvas = { + contain: 'embed', + cover: 'crop', + fill: 'ignore_aspect', + inside: 'max', + outside: 'min' +}; + +/** + * @private + */ +function isRotationExpected (options) { + return (options.angle % 360) !== 0 || options.rotationAngle !== 0; +} + +/** + * @private + */ +function isResizeExpected (options) { + return options.width !== -1 || options.height !== -1; +} + +/** + * Resize image to `width`, `height` or `width x height`. + * + * When both a `width` and `height` are provided, the possible methods by which the image should **fit** these are: + * - `cover`: (default) Preserving aspect ratio, attempt to ensure the image covers both provided dimensions by cropping/clipping to fit. + * - `contain`: Preserving aspect ratio, contain within both provided dimensions using "letterboxing" where necessary. + * - `fill`: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - `inside`: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - `outside`: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * + * Some of these values are based on the [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property. + * + * Examples of various values for the fit property when resizing + * + * When using a **fit** of `cover` or `contain`, the default **position** is `centre`. Other options are: + * - `sharp.position`: `top`, `right top`, `right`, `right bottom`, `bottom`, `left bottom`, `left`, `left top`. + * - `sharp.gravity`: `north`, `northeast`, `east`, `southeast`, `south`, `southwest`, `west`, `northwest`, `center` or `centre`. + * - `sharp.strategy`: `cover` only, dynamically crop using either the `entropy` or `attention` strategy. + * + * Some of these values are based on the [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property. + * + * The strategy-based approach initially resizes so one dimension is at its target length + * then repeatedly ranks edge regions, discarding the edge with the lowest score based on the selected strategy. + * - `entropy`: focus on the region with the highest [Shannon entropy](https://en.wikipedia.org/wiki/Entropy_%28information_theory%29). + * - `attention`: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible downsizing kernels are: + * - `nearest`: Use [nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). + * - `linear`: Use a [triangle filter](https://en.wikipedia.org/wiki/Triangular_function). + * - `cubic`: Use a [Catmull-Rom spline](https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline). + * - `mitchell`: Use a [Mitchell-Netravali spline](https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf). + * - `lanczos2`: Use a [Lanczos kernel](https://en.wikipedia.org/wiki/Lanczos_resampling#Lanczos_kernel) with `a=2`. + * - `lanczos3`: Use a Lanczos kernel with `a=3` (the default). + * - `mks2013`: Use a [Magic Kernel Sharp](https://johncostella.com/magic/mks.pdf) 2013 kernel, as adopted by Facebook. + * - `mks2021`: Use a Magic Kernel Sharp 2021 kernel, with more accurate (reduced) sharpening than the 2013 version. + * + * When upsampling, these kernels map to `nearest`, `linear` and `cubic` interpolators. + * Downsampling kernels without a matching upsampling interpolator map to `cubic`. + * + * Only one resize can occur per pipeline. + * Previous calls to `resize` in the same pipeline will be ignored. + * + * @example + * sharp(input) + * .resize({ width: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels wide, auto-scaled height + * }); + * + * @example + * sharp(input) + * .resize({ height: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels high, auto-scaled width + * }); + * + * @example + * sharp(input) + * .resize(200, 300, { + * kernel: sharp.kernel.nearest, + * fit: 'contain', + * position: 'right top', + * background: { r: 255, g: 255, b: 255, alpha: 0.5 } + * }) + * .toFile('output.png') + * .then(() => { + * // output.png is a 200 pixels wide and 300 pixels high image + * // containing a nearest-neighbour scaled version + * // contained within the north-east corner of a semi-transparent white canvas + * }); + * + * @example + * const transformer = sharp() + * .resize({ + * width: 200, + * height: 200, + * fit: sharp.fit.cover, + * position: sharp.strategy.entropy + * }); + * // Read image data from readableStream + * // Write 200px square auto-cropped image data to writableStream + * readableStream + * .pipe(transformer) + * .pipe(writableStream); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.inside, + * withoutEnlargement: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // no wider and no higher than 200 pixels + * // and no larger than the input image + * }); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.outside, + * withoutReduction: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // of at least 200 pixels wide and 200 pixels high while maintaining aspect ratio + * // and no smaller than the input image + * }); + * + * @example + * const scaleByHalf = await sharp(input) + * .metadata() + * .then(({ width }) => sharp(input) + * .resize(Math.round(width * 0.5)) + * .toBuffer() + * ); + * + * @param {number} [width] - How many pixels wide the resultant image should be. Use `null` or `undefined` to auto-scale the width to match the height. + * @param {number} [height] - How many pixels high the resultant image should be. Use `null` or `undefined` to auto-scale the height to match the width. + * @param {Object} [options] + * @param {number} [options.width] - An alternative means of specifying `width`. If both are present this takes priority. + * @param {number} [options.height] - An alternative means of specifying `height`. If both are present this takes priority. + * @param {String} [options.fit='cover'] - How the image should be resized/cropped to fit the target dimension(s), one of `cover`, `contain`, `fill`, `inside` or `outside`. + * @param {String} [options.position='centre'] - A position, gravity or strategy to use when `fit` is `cover` or `contain`. + * @param {String|Object} [options.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour when `fit` is `contain`, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @param {String} [options.kernel='lanczos3'] - The kernel to use for image reduction and the inferred interpolator to use for upsampling. Use the `fastShrinkOnLoad` option to control kernel vs shrink-on-load. + * @param {Boolean} [options.withoutEnlargement=false] - Do not scale up if the width *or* height are already less than the target dimensions, equivalent to GraphicsMagick's `>` geometry option. This may result in output dimensions smaller than the target dimensions. + * @param {Boolean} [options.withoutReduction=false] - Do not scale down if the width *or* height are already greater than the target dimensions, equivalent to GraphicsMagick's `<` geometry option. This may still result in a crop to reach the target dimensions. + * @param {Boolean} [options.fastShrinkOnLoad=true] - Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern or round-down of an auto-scaled dimension. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function resize (widthOrOptions, height, options) { + if (isResizeExpected(this.options)) { + this.options.debuglog('ignoring previous resize options'); + } + if (this.options.widthPost !== -1) { + this.options.debuglog('operation order will be: extract, resize, extract'); + } + if (is.defined(widthOrOptions)) { + if (is.object(widthOrOptions) && !is.defined(options)) { + options = widthOrOptions; + } else if (is.integer(widthOrOptions) && is.inRange(widthOrOptions, 1, 100000000)) { + this.options.width = widthOrOptions; + } else { + throw is.invalidParameterError('width', 'positive integer between 1 and 100000000', widthOrOptions); + } + } else { + this.options.width = -1; + } + if (is.defined(height)) { + if (is.integer(height) && is.inRange(height, 1, 100000000)) { + this.options.height = height; + } else { + throw is.invalidParameterError('height', 'positive integer between 1 and 100000000', height); + } + } else { + this.options.height = -1; + } + if (is.object(options)) { + // Width + if (is.defined(options.width)) { + if (is.integer(options.width) && is.inRange(options.width, 1, 100000000)) { + this.options.width = options.width; + } else { + throw is.invalidParameterError('width', 'positive integer between 1 and 100000000', options.width); + } + } + // Height + if (is.defined(options.height)) { + if (is.integer(options.height) && is.inRange(options.height, 1, 100000000)) { + this.options.height = options.height; + } else { + throw is.invalidParameterError('height', 'positive integer between 1 and 100000000', options.height); + } + } + // Fit + if (is.defined(options.fit)) { + const canvas = mapFitToCanvas[options.fit]; + if (is.string(canvas)) { + this.options.canvas = canvas; + } else { + throw is.invalidParameterError('fit', 'valid fit', options.fit); + } + } + // Position + if (is.defined(options.position)) { + const pos = is.integer(options.position) + ? options.position + : strategy[options.position] || position[options.position] || gravity[options.position]; + if (is.integer(pos) && (is.inRange(pos, 0, 8) || is.inRange(pos, 16, 17))) { + this.options.position = pos; + } else { + throw is.invalidParameterError('position', 'valid position/gravity/strategy', options.position); + } + } + // Background + this._setBackgroundColourOption('resizeBackground', options.background); + // Kernel + if (is.defined(options.kernel)) { + if (is.string(kernel[options.kernel])) { + this.options.kernel = kernel[options.kernel]; + } else { + throw is.invalidParameterError('kernel', 'valid kernel name', options.kernel); + } + } + // Without enlargement + if (is.defined(options.withoutEnlargement)) { + this._setBooleanOption('withoutEnlargement', options.withoutEnlargement); + } + // Without reduction + if (is.defined(options.withoutReduction)) { + this._setBooleanOption('withoutReduction', options.withoutReduction); + } + // Shrink on load + if (is.defined(options.fastShrinkOnLoad)) { + this._setBooleanOption('fastShrinkOnLoad', options.fastShrinkOnLoad); + } + } + if (isRotationExpected(this.options) && isResizeExpected(this.options)) { + this.options.rotateBefore = true; + } + return this; +} + +/** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * + * @example + * // Resize to 140 pixels wide, then add 10 transparent pixels + * // to the top, left and right edges and 20 to the bottom edge + * sharp(input) + * .resize(140) + * .extend({ + * top: 10, + * bottom: 20, + * left: 10, + * right: 10, + * background: { r: 0, g: 0, b: 0, alpha: 0 } + * }) + * ... + * +* @example + * // Add a row of 10 red pixels to the bottom + * sharp(input) + * .extend({ + * bottom: 10, + * background: 'red' + * }) + * ... + * + * @example + * // Extrude image by 8 pixels to the right, mirroring existing right hand edge + * sharp(input) + * .extend({ + * right: 8, + * background: 'mirror' + * }) + * ... + * + * @param {(number|Object)} extend - single pixel count to add to all edges or an Object with per-edge counts + * @param {number} [extend.top=0] - number of pixels to add to the top edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.left=0] - number of pixels to add to the left edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.bottom=0] - number of pixels to add to the bottom edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.right=0] - number of pixels to add to the right edge, valid values are integers in the range 0-100000000 + * @param {String} [extend.extendWith='background'] - populate new pixels using this method, one of: background, copy, repeat, mirror. + * @param {String|Object} [extend.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @returns {Sharp} + * @throws {Error} Invalid parameters +*/ +function extend (extend) { + if (is.integer(extend)) { + if (is.inRange(extend, 1, 100000000)) { + this.options.extendTop = extend; + this.options.extendBottom = extend; + this.options.extendLeft = extend; + this.options.extendRight = extend; + } else { + throw is.invalidParameterError('extend', 'integer between 1 and 100000000', extend); + } + } else if (is.object(extend)) { + if (is.defined(extend.top)) { + if (is.integer(extend.top) && is.inRange(extend.top, 0, 100000000)) { + this.options.extendTop = extend.top; + } else { + throw is.invalidParameterError('top', 'integer between 0 and 100000000', extend.top); + } + } + if (is.defined(extend.bottom)) { + if (is.integer(extend.bottom) && is.inRange(extend.bottom, 0, 100000000)) { + this.options.extendBottom = extend.bottom; + } else { + throw is.invalidParameterError('bottom', 'integer between 0 and 100000000', extend.bottom); + } + } + if (is.defined(extend.left)) { + if (is.integer(extend.left) && is.inRange(extend.left, 0, 100000000)) { + this.options.extendLeft = extend.left; + } else { + throw is.invalidParameterError('left', 'integer between 0 and 100000000', extend.left); + } + } + if (is.defined(extend.right)) { + if (is.integer(extend.right) && is.inRange(extend.right, 0, 100000000)) { + this.options.extendRight = extend.right; + } else { + throw is.invalidParameterError('right', 'integer between 0 and 100000000', extend.right); + } + } + this._setBackgroundColourOption('extendBackground', extend.background); + if (is.defined(extend.extendWith)) { + if (is.string(extendWith[extend.extendWith])) { + this.options.extendWith = extendWith[extend.extendWith]; + } else { + throw is.invalidParameterError('extendWith', 'one of: background, copy, repeat, mirror', extend.extendWith); + } + } + } else { + throw is.invalidParameterError('extend', 'integer or object', extend); + } + return this; +} + +/** + * Extract/crop a region of the image. + * + * - Use `extract` before `resize` for pre-resize extraction. + * - Use `extract` after `resize` for post-resize extraction. + * - Use `extract` twice and `resize` once for extract-then-resize-then-extract in a fixed operation order. + * + * @example + * sharp(input) + * .extract({ left: left, top: top, width: width, height: height }) + * .toFile(output, function(err) { + * // Extract a region of the input image, saving in the same format. + * }); + * @example + * sharp(input) + * .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre }) + * .resize(width, height) + * .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost }) + * .toFile(output, function(err) { + * // Extract a region, resize, then extract from the resized image + * }); + * + * @param {Object} options - describes the region to extract using integral pixel values + * @param {number} options.left - zero-indexed offset from left edge, an integer between 0 and 100000000 + * @param {number} options.top - zero-indexed offset from top edge, an integer between 0 and 100000000 + * @param {number} options.width - width of region to extract, an integer between 0 and 100000000 + * @param {number} options.height - height of region to extract, an integer between 0 and 100000000 + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function extract (options) { + const suffix = isResizeExpected(this.options) || this.options.widthPre !== -1 ? 'Post' : 'Pre'; + if (this.options[`width${suffix}`] !== -1) { + this.options.debuglog('ignoring previous extract options'); + } + ['left', 'top', 'width', 'height'].forEach(function (name) { + const value = options[name]; + if (is.integer(value) && is.inRange(value, 0, 100000000)) { + this.options[name + (name === 'left' || name === 'top' ? 'Offset' : '') + suffix] = value; + } else { + throw is.invalidParameterError(name, 'integer between 0 and 100000000', value); + } + }, this); + // Ensure existing rotation occurs before pre-resize extraction + if (isRotationExpected(this.options) && !isResizeExpected(this.options)) { + if (this.options.widthPre === -1 || this.options.widthPost === -1) { + this.options.rotateBefore = true; + } + } + if (this.options.input.autoOrient) { + this.options.orientBefore = true; + } + return this; +} + +/** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * + * If the result of this operation would trim an image to nothing then no change is made. + * + * Use the `lineArt` and `threshold` options for control over sensitivity. + * + * The `info` response Object will contain `trimOffsetLeft` and `trimOffsetTop` properties. + * + * @example + * // Trim pixels with a colour similar to that of the top-left pixel. + * await sharp(input) + * .trim() + * .toFile(output); + * + * @example + * // Trim pixels with the exact same colour as that of the top-left pixel. + * await sharp(input) + * .trim({ + * threshold: 0 + * }) + * .toFile(output); + * + * @example + * // Assume input is line art and trim only pixels with a similar colour to red. + * const output = await sharp(input) + * .trim({ + * background: "#FF0000", + * lineArt: true + * }) + * .toBuffer(); + * + * @example + * // Trim all "yellow-ish" pixels, being more lenient with the higher threshold. + * const output = await sharp(input) + * .trim({ + * background: "yellow", + * threshold: 42, + * }) + * .toBuffer(); + * + * @example + * // Trim image leaving (up to) a 10 pixel margin around the trimmed content. + * const output = await sharp(input) + * .trim({ + * margin: 10 + * }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {string|Object} [options.background='top-left pixel'] - Background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to that of the top-left pixel. + * @param {number} [options.threshold=10] - Allowed difference from the above colour, a positive number. + * @param {boolean} [options.lineArt=false] - Does the input more closely resemble line art (e.g. vector) rather than being photographic? + * @param {number} [options.margin=0] - Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function trim (options) { + this.options.trimThreshold = 10; + if (is.defined(options)) { + if (is.object(options)) { + if (is.defined(options.background)) { + this._setBackgroundColourOption('trimBackground', options.background); + } + if (is.defined(options.threshold)) { + if (is.number(options.threshold) && options.threshold >= 0) { + this.options.trimThreshold = options.threshold; + } else { + throw is.invalidParameterError('threshold', 'positive number', options.threshold); + } + } + if (is.defined(options.lineArt)) { + this._setBooleanOption('trimLineArt', options.lineArt); + } + if (is.defined(options.margin)) { + if (is.integer(options.margin) && is.inRange(options.margin, 0, 10000000)) { + this.options.trimMargin = options.margin; + } else { + throw is.invalidParameterError('margin', 'integer between 0 and 10000000', options.margin); + } + } + } else { + throw is.invalidParameterError('trim', 'object', options); + } + } + if (isRotationExpected(this.options)) { + this.options.rotateBefore = true; + } + return this; +} + +/** + * Decorate the Sharp prototype with resize-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Object.assign(Sharp.prototype, { + resize, + extend, + extract, + trim + }); + // Class attributes + Sharp.gravity = gravity; + Sharp.strategy = strategy; + Sharp.kernel = kernel; + Sharp.fit = fit; + Sharp.position = position; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/resize.mjs b/apps/api/.output/node_modules/sharp/dist/resize.mjs new file mode 100644 index 0000000..603b4f2 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/resize.mjs @@ -0,0 +1,617 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import is from './is.mjs'; + +/** + * Weighting to apply when using contain/cover fit. + * @member + * @private + */ +const gravity = { + center: 0, + centre: 0, + north: 1, + east: 2, + south: 3, + west: 4, + northeast: 5, + southeast: 6, + southwest: 7, + northwest: 8 +}; + +/** + * Position to apply when using contain/cover fit. + * @member + * @private + */ +const position = { + top: 1, + right: 2, + bottom: 3, + left: 4, + 'right top': 5, + 'right bottom': 6, + 'left bottom': 7, + 'left top': 8 +}; + +/** + * How to extend the image. + * @member + * @private + */ +const extendWith = { + background: 'background', + copy: 'copy', + repeat: 'repeat', + mirror: 'mirror' +}; + +/** + * Strategies for automagic cover behaviour. + * @member + * @private + */ +const strategy = { + entropy: 16, + attention: 17 +}; + +/** + * Reduction kernels. + * @member + * @private + */ +const kernel = { + nearest: 'nearest', + linear: 'linear', + cubic: 'cubic', + mitchell: 'mitchell', + lanczos2: 'lanczos2', + lanczos3: 'lanczos3', + mks2013: 'mks2013', + mks2021: 'mks2021' +}; + +/** + * Methods by which an image can be resized to fit the provided dimensions. + * @member + * @private + */ +const fit = { + contain: 'contain', + cover: 'cover', + fill: 'fill', + inside: 'inside', + outside: 'outside' +}; + +/** + * Map external fit property to internal canvas property. + * @member + * @private + */ +const mapFitToCanvas = { + contain: 'embed', + cover: 'crop', + fill: 'ignore_aspect', + inside: 'max', + outside: 'min' +}; + +/** + * @private + */ +function isRotationExpected (options) { + return (options.angle % 360) !== 0 || options.rotationAngle !== 0; +} + +/** + * @private + */ +function isResizeExpected (options) { + return options.width !== -1 || options.height !== -1; +} + +/** + * Resize image to `width`, `height` or `width x height`. + * + * When both a `width` and `height` are provided, the possible methods by which the image should **fit** these are: + * - `cover`: (default) Preserving aspect ratio, attempt to ensure the image covers both provided dimensions by cropping/clipping to fit. + * - `contain`: Preserving aspect ratio, contain within both provided dimensions using "letterboxing" where necessary. + * - `fill`: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - `inside`: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - `outside`: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * + * Some of these values are based on the [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property. + * + * Examples of various values for the fit property when resizing + * + * When using a **fit** of `cover` or `contain`, the default **position** is `centre`. Other options are: + * - `sharp.position`: `top`, `right top`, `right`, `right bottom`, `bottom`, `left bottom`, `left`, `left top`. + * - `sharp.gravity`: `north`, `northeast`, `east`, `southeast`, `south`, `southwest`, `west`, `northwest`, `center` or `centre`. + * - `sharp.strategy`: `cover` only, dynamically crop using either the `entropy` or `attention` strategy. + * + * Some of these values are based on the [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property. + * + * The strategy-based approach initially resizes so one dimension is at its target length + * then repeatedly ranks edge regions, discarding the edge with the lowest score based on the selected strategy. + * - `entropy`: focus on the region with the highest [Shannon entropy](https://en.wikipedia.org/wiki/Entropy_%28information_theory%29). + * - `attention`: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible downsizing kernels are: + * - `nearest`: Use [nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). + * - `linear`: Use a [triangle filter](https://en.wikipedia.org/wiki/Triangular_function). + * - `cubic`: Use a [Catmull-Rom spline](https://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline). + * - `mitchell`: Use a [Mitchell-Netravali spline](https://www.cs.utexas.edu/~fussell/courses/cs384g-fall2013/lectures/mitchell/Mitchell.pdf). + * - `lanczos2`: Use a [Lanczos kernel](https://en.wikipedia.org/wiki/Lanczos_resampling#Lanczos_kernel) with `a=2`. + * - `lanczos3`: Use a Lanczos kernel with `a=3` (the default). + * - `mks2013`: Use a [Magic Kernel Sharp](https://johncostella.com/magic/mks.pdf) 2013 kernel, as adopted by Facebook. + * - `mks2021`: Use a Magic Kernel Sharp 2021 kernel, with more accurate (reduced) sharpening than the 2013 version. + * + * When upsampling, these kernels map to `nearest`, `linear` and `cubic` interpolators. + * Downsampling kernels without a matching upsampling interpolator map to `cubic`. + * + * Only one resize can occur per pipeline. + * Previous calls to `resize` in the same pipeline will be ignored. + * + * @example + * sharp(input) + * .resize({ width: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels wide, auto-scaled height + * }); + * + * @example + * sharp(input) + * .resize({ height: 100 }) + * .toBuffer() + * .then(data => { + * // 100 pixels high, auto-scaled width + * }); + * + * @example + * sharp(input) + * .resize(200, 300, { + * kernel: sharp.kernel.nearest, + * fit: 'contain', + * position: 'right top', + * background: { r: 255, g: 255, b: 255, alpha: 0.5 } + * }) + * .toFile('output.png') + * .then(() => { + * // output.png is a 200 pixels wide and 300 pixels high image + * // containing a nearest-neighbour scaled version + * // contained within the north-east corner of a semi-transparent white canvas + * }); + * + * @example + * const transformer = sharp() + * .resize({ + * width: 200, + * height: 200, + * fit: sharp.fit.cover, + * position: sharp.strategy.entropy + * }); + * // Read image data from readableStream + * // Write 200px square auto-cropped image data to writableStream + * readableStream + * .pipe(transformer) + * .pipe(writableStream); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.inside, + * withoutEnlargement: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // no wider and no higher than 200 pixels + * // and no larger than the input image + * }); + * + * @example + * sharp(input) + * .resize(200, 200, { + * fit: sharp.fit.outside, + * withoutReduction: true + * }) + * .toFormat('jpeg') + * .toBuffer() + * .then(function(outputBuffer) { + * // outputBuffer contains JPEG image data + * // of at least 200 pixels wide and 200 pixels high while maintaining aspect ratio + * // and no smaller than the input image + * }); + * + * @example + * const scaleByHalf = await sharp(input) + * .metadata() + * .then(({ width }) => sharp(input) + * .resize(Math.round(width * 0.5)) + * .toBuffer() + * ); + * + * @param {number} [width] - How many pixels wide the resultant image should be. Use `null` or `undefined` to auto-scale the width to match the height. + * @param {number} [height] - How many pixels high the resultant image should be. Use `null` or `undefined` to auto-scale the height to match the width. + * @param {Object} [options] + * @param {number} [options.width] - An alternative means of specifying `width`. If both are present this takes priority. + * @param {number} [options.height] - An alternative means of specifying `height`. If both are present this takes priority. + * @param {String} [options.fit='cover'] - How the image should be resized/cropped to fit the target dimension(s), one of `cover`, `contain`, `fill`, `inside` or `outside`. + * @param {String} [options.position='centre'] - A position, gravity or strategy to use when `fit` is `cover` or `contain`. + * @param {String|Object} [options.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour when `fit` is `contain`, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @param {String} [options.kernel='lanczos3'] - The kernel to use for image reduction and the inferred interpolator to use for upsampling. Use the `fastShrinkOnLoad` option to control kernel vs shrink-on-load. + * @param {Boolean} [options.withoutEnlargement=false] - Do not scale up if the width *or* height are already less than the target dimensions, equivalent to GraphicsMagick's `>` geometry option. This may result in output dimensions smaller than the target dimensions. + * @param {Boolean} [options.withoutReduction=false] - Do not scale down if the width *or* height are already greater than the target dimensions, equivalent to GraphicsMagick's `<` geometry option. This may still result in a crop to reach the target dimensions. + * @param {Boolean} [options.fastShrinkOnLoad=true] - Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern or round-down of an auto-scaled dimension. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function resize (widthOrOptions, height, options) { + if (isResizeExpected(this.options)) { + this.options.debuglog('ignoring previous resize options'); + } + if (this.options.widthPost !== -1) { + this.options.debuglog('operation order will be: extract, resize, extract'); + } + if (is.defined(widthOrOptions)) { + if (is.object(widthOrOptions) && !is.defined(options)) { + options = widthOrOptions; + } else if (is.integer(widthOrOptions) && is.inRange(widthOrOptions, 1, 100000000)) { + this.options.width = widthOrOptions; + } else { + throw is.invalidParameterError('width', 'positive integer between 1 and 100000000', widthOrOptions); + } + } else { + this.options.width = -1; + } + if (is.defined(height)) { + if (is.integer(height) && is.inRange(height, 1, 100000000)) { + this.options.height = height; + } else { + throw is.invalidParameterError('height', 'positive integer between 1 and 100000000', height); + } + } else { + this.options.height = -1; + } + if (is.object(options)) { + // Width + if (is.defined(options.width)) { + if (is.integer(options.width) && is.inRange(options.width, 1, 100000000)) { + this.options.width = options.width; + } else { + throw is.invalidParameterError('width', 'positive integer between 1 and 100000000', options.width); + } + } + // Height + if (is.defined(options.height)) { + if (is.integer(options.height) && is.inRange(options.height, 1, 100000000)) { + this.options.height = options.height; + } else { + throw is.invalidParameterError('height', 'positive integer between 1 and 100000000', options.height); + } + } + // Fit + if (is.defined(options.fit)) { + const canvas = mapFitToCanvas[options.fit]; + if (is.string(canvas)) { + this.options.canvas = canvas; + } else { + throw is.invalidParameterError('fit', 'valid fit', options.fit); + } + } + // Position + if (is.defined(options.position)) { + const pos = is.integer(options.position) + ? options.position + : strategy[options.position] || position[options.position] || gravity[options.position]; + if (is.integer(pos) && (is.inRange(pos, 0, 8) || is.inRange(pos, 16, 17))) { + this.options.position = pos; + } else { + throw is.invalidParameterError('position', 'valid position/gravity/strategy', options.position); + } + } + // Background + this._setBackgroundColourOption('resizeBackground', options.background); + // Kernel + if (is.defined(options.kernel)) { + if (is.string(kernel[options.kernel])) { + this.options.kernel = kernel[options.kernel]; + } else { + throw is.invalidParameterError('kernel', 'valid kernel name', options.kernel); + } + } + // Without enlargement + if (is.defined(options.withoutEnlargement)) { + this._setBooleanOption('withoutEnlargement', options.withoutEnlargement); + } + // Without reduction + if (is.defined(options.withoutReduction)) { + this._setBooleanOption('withoutReduction', options.withoutReduction); + } + // Shrink on load + if (is.defined(options.fastShrinkOnLoad)) { + this._setBooleanOption('fastShrinkOnLoad', options.fastShrinkOnLoad); + } + } + if (isRotationExpected(this.options) && isResizeExpected(this.options)) { + this.options.rotateBefore = true; + } + return this; +} + +/** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * + * @example + * // Resize to 140 pixels wide, then add 10 transparent pixels + * // to the top, left and right edges and 20 to the bottom edge + * sharp(input) + * .resize(140) + * .extend({ + * top: 10, + * bottom: 20, + * left: 10, + * right: 10, + * background: { r: 0, g: 0, b: 0, alpha: 0 } + * }) + * ... + * +* @example + * // Add a row of 10 red pixels to the bottom + * sharp(input) + * .extend({ + * bottom: 10, + * background: 'red' + * }) + * ... + * + * @example + * // Extrude image by 8 pixels to the right, mirroring existing right hand edge + * sharp(input) + * .extend({ + * right: 8, + * background: 'mirror' + * }) + * ... + * + * @param {(number|Object)} extend - single pixel count to add to all edges or an Object with per-edge counts + * @param {number} [extend.top=0] - number of pixels to add to the top edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.left=0] - number of pixels to add to the left edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.bottom=0] - number of pixels to add to the bottom edge, valid values are integers in the range 0-100000000 + * @param {number} [extend.right=0] - number of pixels to add to the right edge, valid values are integers in the range 0-100000000 + * @param {String} [extend.extendWith='background'] - populate new pixels using this method, one of: background, copy, repeat, mirror. + * @param {String|Object} [extend.background={r: 0, g: 0, b: 0, alpha: 1}] - background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to black without transparency. + * @returns {Sharp} + * @throws {Error} Invalid parameters +*/ +function extend (extend) { + if (is.integer(extend)) { + if (is.inRange(extend, 1, 100000000)) { + this.options.extendTop = extend; + this.options.extendBottom = extend; + this.options.extendLeft = extend; + this.options.extendRight = extend; + } else { + throw is.invalidParameterError('extend', 'integer between 1 and 100000000', extend); + } + } else if (is.object(extend)) { + if (is.defined(extend.top)) { + if (is.integer(extend.top) && is.inRange(extend.top, 0, 100000000)) { + this.options.extendTop = extend.top; + } else { + throw is.invalidParameterError('top', 'integer between 0 and 100000000', extend.top); + } + } + if (is.defined(extend.bottom)) { + if (is.integer(extend.bottom) && is.inRange(extend.bottom, 0, 100000000)) { + this.options.extendBottom = extend.bottom; + } else { + throw is.invalidParameterError('bottom', 'integer between 0 and 100000000', extend.bottom); + } + } + if (is.defined(extend.left)) { + if (is.integer(extend.left) && is.inRange(extend.left, 0, 100000000)) { + this.options.extendLeft = extend.left; + } else { + throw is.invalidParameterError('left', 'integer between 0 and 100000000', extend.left); + } + } + if (is.defined(extend.right)) { + if (is.integer(extend.right) && is.inRange(extend.right, 0, 100000000)) { + this.options.extendRight = extend.right; + } else { + throw is.invalidParameterError('right', 'integer between 0 and 100000000', extend.right); + } + } + this._setBackgroundColourOption('extendBackground', extend.background); + if (is.defined(extend.extendWith)) { + if (is.string(extendWith[extend.extendWith])) { + this.options.extendWith = extendWith[extend.extendWith]; + } else { + throw is.invalidParameterError('extendWith', 'one of: background, copy, repeat, mirror', extend.extendWith); + } + } + } else { + throw is.invalidParameterError('extend', 'integer or object', extend); + } + return this; +} + +/** + * Extract/crop a region of the image. + * + * - Use `extract` before `resize` for pre-resize extraction. + * - Use `extract` after `resize` for post-resize extraction. + * - Use `extract` twice and `resize` once for extract-then-resize-then-extract in a fixed operation order. + * + * @example + * sharp(input) + * .extract({ left: left, top: top, width: width, height: height }) + * .toFile(output, function(err) { + * // Extract a region of the input image, saving in the same format. + * }); + * @example + * sharp(input) + * .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre }) + * .resize(width, height) + * .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost }) + * .toFile(output, function(err) { + * // Extract a region, resize, then extract from the resized image + * }); + * + * @param {Object} options - describes the region to extract using integral pixel values + * @param {number} options.left - zero-indexed offset from left edge, an integer between 0 and 100000000 + * @param {number} options.top - zero-indexed offset from top edge, an integer between 0 and 100000000 + * @param {number} options.width - width of region to extract, an integer between 0 and 100000000 + * @param {number} options.height - height of region to extract, an integer between 0 and 100000000 + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function extract (options) { + const suffix = isResizeExpected(this.options) || this.options.widthPre !== -1 ? 'Post' : 'Pre'; + if (this.options[`width${suffix}`] !== -1) { + this.options.debuglog('ignoring previous extract options'); + } + ['left', 'top', 'width', 'height'].forEach(function (name) { + const value = options[name]; + if (is.integer(value) && is.inRange(value, 0, 100000000)) { + this.options[name + (name === 'left' || name === 'top' ? 'Offset' : '') + suffix] = value; + } else { + throw is.invalidParameterError(name, 'integer between 0 and 100000000', value); + } + }, this); + // Ensure existing rotation occurs before pre-resize extraction + if (isRotationExpected(this.options) && !isResizeExpected(this.options)) { + if (this.options.widthPre === -1 || this.options.widthPost === -1) { + this.options.rotateBefore = true; + } + } + if (this.options.input.autoOrient) { + this.options.orientBefore = true; + } + return this; +} + +/** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * + * If the result of this operation would trim an image to nothing then no change is made. + * + * Use the `lineArt` and `threshold` options for control over sensitivity. + * + * The `info` response Object will contain `trimOffsetLeft` and `trimOffsetTop` properties. + * + * @example + * // Trim pixels with a colour similar to that of the top-left pixel. + * await sharp(input) + * .trim() + * .toFile(output); + * + * @example + * // Trim pixels with the exact same colour as that of the top-left pixel. + * await sharp(input) + * .trim({ + * threshold: 0 + * }) + * .toFile(output); + * + * @example + * // Assume input is line art and trim only pixels with a similar colour to red. + * const output = await sharp(input) + * .trim({ + * background: "#FF0000", + * lineArt: true + * }) + * .toBuffer(); + * + * @example + * // Trim all "yellow-ish" pixels, being more lenient with the higher threshold. + * const output = await sharp(input) + * .trim({ + * background: "yellow", + * threshold: 42, + * }) + * .toBuffer(); + * + * @example + * // Trim image leaving (up to) a 10 pixel margin around the trimmed content. + * const output = await sharp(input) + * .trim({ + * margin: 10 + * }) + * .toBuffer(); + * + * @param {Object} [options] + * @param {string|Object} [options.background='top-left pixel'] - Background colour, parsed by the [color](https://www.npmjs.org/package/color) module, defaults to that of the top-left pixel. + * @param {number} [options.threshold=10] - Allowed difference from the above colour, a positive number. + * @param {boolean} [options.lineArt=false] - Does the input more closely resemble line art (e.g. vector) rather than being photographic? + * @param {number} [options.margin=0] - Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ +function trim (options) { + this.options.trimThreshold = 10; + if (is.defined(options)) { + if (is.object(options)) { + if (is.defined(options.background)) { + this._setBackgroundColourOption('trimBackground', options.background); + } + if (is.defined(options.threshold)) { + if (is.number(options.threshold) && options.threshold >= 0) { + this.options.trimThreshold = options.threshold; + } else { + throw is.invalidParameterError('threshold', 'positive number', options.threshold); + } + } + if (is.defined(options.lineArt)) { + this._setBooleanOption('trimLineArt', options.lineArt); + } + if (is.defined(options.margin)) { + if (is.integer(options.margin) && is.inRange(options.margin, 0, 10000000)) { + this.options.trimMargin = options.margin; + } else { + throw is.invalidParameterError('margin', 'integer between 0 and 10000000', options.margin); + } + } + } else { + throw is.invalidParameterError('trim', 'object', options); + } + } + if (isRotationExpected(this.options)) { + this.options.rotateBefore = true; + } + return this; +} + +/** + * Decorate the Sharp prototype with resize-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Object.assign(Sharp.prototype, { + resize, + extend, + extract, + trim + }); + // Class attributes + Sharp.gravity = gravity; + Sharp.strategy = strategy; + Sharp.kernel = kernel; + Sharp.fit = fit; + Sharp.position = position; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/sharp.cjs b/apps/api/.output/node_modules/sharp/dist/sharp.cjs new file mode 100644 index 0000000..bea6c6a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/sharp.cjs @@ -0,0 +1,174 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +// Inspects the runtime environment and exports the relevant sharp.node binary + + +const { familySync, versionSync } = require("detect-libc"); + +const libvips = require("./libvips.cjs"); +const pkg = require('../package.json'); + + +const { version } = pkg; + +const { runtimePlatformArch, isUnsupportedNodeRuntime, prebuiltPlatforms, minimumLibvipsVersion } = libvips; +const runtimePlatform = runtimePlatformArch(); + +/* node:coverage disable */ + +let sharp; +const errors = []; +try { + sharp = require(`../src/build/Release/sharp-${runtimePlatform}-${version}.node`); +} catch (err) { + errors.push(err); +} +if (!sharp) { + try { + sharp = require(`../src/build/Release/sharp-wasm32-${version}.node`); + } catch (err) { + errors.push(err); + } +} +if (!sharp) { + try { + switch (runtimePlatform) { + case "darwin-arm64": + sharp = require("@img/sharp-darwin-arm64/sharp.node"); + break; + case "darwin-x64": + sharp = require("@img/sharp-darwin-x64/sharp.node"); + break; + case "linux-arm": + sharp = require("@img/sharp-linux-arm/sharp.node"); + break; + case "linux-arm64": + sharp = require("@img/sharp-linux-arm64/sharp.node"); + break; + case "linux-ppc64": + sharp = require("@img/sharp-linux-ppc64/sharp.node"); + break; + case "linux-riscv64": + sharp = require("@img/sharp-linux-riscv64/sharp.node"); + break; + case "linux-s390x": + sharp = require("@img/sharp-linux-s390x/sharp.node"); + break; + case "linux-x64": + sharp = require("@img/sharp-linux-x64/sharp.node"); + break; + case "linuxmusl-arm64": + sharp = require("@img/sharp-linuxmusl-arm64/sharp.node"); + break; + case "linuxmusl-x64": + sharp = require("@img/sharp-linuxmusl-x64/sharp.node"); + break; + case "win32-arm64": + sharp = require("@img/sharp-win32-arm64/sharp.node"); + break; + case "win32-ia32": + sharp = require("@img/sharp-win32-ia32/sharp.node"); + break; + case "win32-x64": + sharp = require("@img/sharp-win32-x64/sharp.node"); + break; + case "freebsd-arm64": + case "freebsd-x64": + sharp = require("@img/sharp-freebsd-wasm32/sharp.node"); + break; + case "linux-wasm32": + sharp = require("@img/sharp-webcontainers-wasm32/sharp.node"); + break; + } + if (sharp && ["linux-x64", "linuxmusl-x64"].includes(runtimePlatform) && !sharp._isUsingX64V2()) { + const err = new Error("Prebuilt binaries for Linux x64 require v2 microarchitecture"); + err.code = "Unsupported CPU"; + errors.push(err); + sharp = null; + } + if (sharp && process.versions.electron && runtimePlatform.startsWith("linux")) { + process.emitWarning( + "Binaries provided by Electron for use on Linux may be incompatible with sharp - see https://sharp.pixelplumbing.com/install#electron-and-linux", + { code: "SharpElectronLinux" } + ); + } + } catch (err) { + errors.push(err); + } +} +if (!sharp) { + try { + sharp = require("@img/sharp-wasm32/sharp.node"); + } catch (err) { + errors.push(err); + } +} + +if (!sharp) { + const [isLinux, isMacOs, isWindows] = ["linux", "darwin", "win32"].map((os) => runtimePlatform.startsWith(os)); + + const help = [`Could not load the "sharp" module using the ${runtimePlatform} runtime`]; + errors.forEach((err) => { + if (!err.code?.endsWith("MODULE_NOT_FOUND")) { + help.push(err.code ? `${err.code}: ${err.message}` : err.message); + } + }); + const messages = errors.map((err) => err.message).join(" "); + help.push("Possible solutions:"); + // Common error messages + if (isUnsupportedNodeRuntime()) { + const { found, expected } = isUnsupportedNodeRuntime(); + help.push("- Please upgrade Node.js:", ` Found ${found}`, ` Requires ${expected}`); + } else if (prebuiltPlatforms.includes(runtimePlatform) && !/libstdc\+\+\.so/.test(messages)) { + const [os, cpu] = runtimePlatform.split("-"); + const libc = os.endsWith("musl") ? " --libc=musl" : ""; + help.push( + "- Ensure optional dependencies can be installed:", + " npm install --include=optional sharp", + "- Ensure your package manager supports multi-platform installation:", + " See https://sharp.pixelplumbing.com/install#cross-platform", + "- Add platform-specific dependencies:", + ` npm install --os=${os.replace("musl", "")}${libc} --cpu=${cpu} sharp`, + ); + } else { + help.push( + `- Manually install libvips >= ${minimumLibvipsVersion}`, + " See https://sharp.pixelplumbing.com/install#building-from-source", + "- Add WebAssembly-based dependencies:", + " npm install sharp @img/sharp-wasm32", + ); + } + if (isLinux && /(symbol not found|CXXABI_)/i.test(messages)) { + try { + const { config } = require(`@img/sharp-libvips-${runtimePlatform}/package`); + const libcFound = `${familySync()} ${versionSync()}`; + const libcRequires = `${config.musl ? "musl" : "glibc"} ${config.musl || config.glibc}`; + help.push("- Update your OS:", ` Found ${libcFound}`, ` Requires ${libcRequires}`); + } catch (_errEngines) {} + } + if (isLinux && /\/snap\/core[0-9]{2}/.test(messages)) { + help.push("- Remove the Node.js Snap, which does not support native modules", " snap remove node"); + } + if (isMacOs && /Incompatible library version/.test(messages)) { + help.push("- Update Homebrew:", " brew update && brew upgrade vips"); + } + if (errors.some((err) => err.code === "ERR_DLOPEN_DISABLED")) { + help.push("- Run Node.js without using the --no-addons flag"); + } + // Link to installation docs + if (isWindows && /The specified procedure could not be found/.test(messages)) { + help.push( + "- Using the canvas package on Windows?", + " See https://sharp.pixelplumbing.com/install#canvas-and-windows", + "- Check for outdated versions of sharp in the dependency tree:", + " npm ls sharp", + ); + } + help.push("- Consult the installation documentation:", " See https://sharp.pixelplumbing.com/install"); + throw new Error(help.join("\n")); +} + +module.exports = sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/sharp.mjs b/apps/api/.output/node_modules/sharp/dist/sharp.mjs new file mode 100644 index 0000000..df4acb4 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/sharp.mjs @@ -0,0 +1,174 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +// Inspects the runtime environment and exports the relevant sharp.node binary + +import { createRequire } from "node:module" +import { familySync, versionSync } from "detect-libc"; + +import libvips from "./libvips.mjs"; +import pkg from '../package.json' with { type: 'json' }; + +const require = createRequire(import.meta.url); +const { version } = pkg; + +const { runtimePlatformArch, isUnsupportedNodeRuntime, prebuiltPlatforms, minimumLibvipsVersion } = libvips; +const runtimePlatform = runtimePlatformArch(); + +/* node:coverage disable */ + +let sharp; +const errors = []; +try { + sharp = require(`../src/build/Release/sharp-${runtimePlatform}-${version}.node`); +} catch (err) { + errors.push(err); +} +if (!sharp) { + try { + sharp = require(`../src/build/Release/sharp-wasm32-${version}.node`); + } catch (err) { + errors.push(err); + } +} +if (!sharp) { + try { + switch (runtimePlatform) { + case "darwin-arm64": + sharp = require("@img/sharp-darwin-arm64/sharp.node"); + break; + case "darwin-x64": + sharp = require("@img/sharp-darwin-x64/sharp.node"); + break; + case "linux-arm": + sharp = require("@img/sharp-linux-arm/sharp.node"); + break; + case "linux-arm64": + sharp = require("@img/sharp-linux-arm64/sharp.node"); + break; + case "linux-ppc64": + sharp = require("@img/sharp-linux-ppc64/sharp.node"); + break; + case "linux-riscv64": + sharp = require("@img/sharp-linux-riscv64/sharp.node"); + break; + case "linux-s390x": + sharp = require("@img/sharp-linux-s390x/sharp.node"); + break; + case "linux-x64": + sharp = require("@img/sharp-linux-x64/sharp.node"); + break; + case "linuxmusl-arm64": + sharp = require("@img/sharp-linuxmusl-arm64/sharp.node"); + break; + case "linuxmusl-x64": + sharp = require("@img/sharp-linuxmusl-x64/sharp.node"); + break; + case "win32-arm64": + sharp = require("@img/sharp-win32-arm64/sharp.node"); + break; + case "win32-ia32": + sharp = require("@img/sharp-win32-ia32/sharp.node"); + break; + case "win32-x64": + sharp = require("@img/sharp-win32-x64/sharp.node"); + break; + case "freebsd-arm64": + case "freebsd-x64": + sharp = require("@img/sharp-freebsd-wasm32/sharp.node"); + break; + case "linux-wasm32": + sharp = require("@img/sharp-webcontainers-wasm32/sharp.node"); + break; + } + if (sharp && ["linux-x64", "linuxmusl-x64"].includes(runtimePlatform) && !sharp._isUsingX64V2()) { + const err = new Error("Prebuilt binaries for Linux x64 require v2 microarchitecture"); + err.code = "Unsupported CPU"; + errors.push(err); + sharp = null; + } + if (sharp && process.versions.electron && runtimePlatform.startsWith("linux")) { + process.emitWarning( + "Binaries provided by Electron for use on Linux may be incompatible with sharp - see https://sharp.pixelplumbing.com/install#electron-and-linux", + { code: "SharpElectronLinux" } + ); + } + } catch (err) { + errors.push(err); + } +} +if (!sharp) { + try { + sharp = require("@img/sharp-wasm32/sharp.node"); + } catch (err) { + errors.push(err); + } +} + +if (!sharp) { + const [isLinux, isMacOs, isWindows] = ["linux", "darwin", "win32"].map((os) => runtimePlatform.startsWith(os)); + + const help = [`Could not load the "sharp" module using the ${runtimePlatform} runtime`]; + errors.forEach((err) => { + if (!err.code?.endsWith("MODULE_NOT_FOUND")) { + help.push(err.code ? `${err.code}: ${err.message}` : err.message); + } + }); + const messages = errors.map((err) => err.message).join(" "); + help.push("Possible solutions:"); + // Common error messages + if (isUnsupportedNodeRuntime()) { + const { found, expected } = isUnsupportedNodeRuntime(); + help.push("- Please upgrade Node.js:", ` Found ${found}`, ` Requires ${expected}`); + } else if (prebuiltPlatforms.includes(runtimePlatform) && !/libstdc\+\+\.so/.test(messages)) { + const [os, cpu] = runtimePlatform.split("-"); + const libc = os.endsWith("musl") ? " --libc=musl" : ""; + help.push( + "- Ensure optional dependencies can be installed:", + " npm install --include=optional sharp", + "- Ensure your package manager supports multi-platform installation:", + " See https://sharp.pixelplumbing.com/install#cross-platform", + "- Add platform-specific dependencies:", + ` npm install --os=${os.replace("musl", "")}${libc} --cpu=${cpu} sharp`, + ); + } else { + help.push( + `- Manually install libvips >= ${minimumLibvipsVersion}`, + " See https://sharp.pixelplumbing.com/install#building-from-source", + "- Add WebAssembly-based dependencies:", + " npm install sharp @img/sharp-wasm32", + ); + } + if (isLinux && /(symbol not found|CXXABI_)/i.test(messages)) { + try { + const { config } = require(`@img/sharp-libvips-${runtimePlatform}/package`); + const libcFound = `${familySync()} ${versionSync()}`; + const libcRequires = `${config.musl ? "musl" : "glibc"} ${config.musl || config.glibc}`; + help.push("- Update your OS:", ` Found ${libcFound}`, ` Requires ${libcRequires}`); + } catch (_errEngines) {} + } + if (isLinux && /\/snap\/core[0-9]{2}/.test(messages)) { + help.push("- Remove the Node.js Snap, which does not support native modules", " snap remove node"); + } + if (isMacOs && /Incompatible library version/.test(messages)) { + help.push("- Update Homebrew:", " brew update && brew upgrade vips"); + } + if (errors.some((err) => err.code === "ERR_DLOPEN_DISABLED")) { + help.push("- Run Node.js without using the --no-addons flag"); + } + // Link to installation docs + if (isWindows && /The specified procedure could not be found/.test(messages)) { + help.push( + "- Using the canvas package on Windows?", + " See https://sharp.pixelplumbing.com/install#canvas-and-windows", + "- Check for outdated versions of sharp in the dependency tree:", + " npm ls sharp", + ); + } + help.push("- Consult the installation documentation:", " See https://sharp.pixelplumbing.com/install"); + throw new Error(help.join("\n")); +} + +export default sharp; diff --git a/apps/api/.output/node_modules/sharp/dist/utility.cjs b/apps/api/.output/node_modules/sharp/dist/utility.cjs new file mode 100644 index 0000000..e2407cc --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/utility.cjs @@ -0,0 +1,301 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const events = require('node:events'); + +const { availableParallelism } = require("node:os"); +const detectLibc = require('detect-libc'); + +const is = require('./is.cjs'); +const libvips = require('./libvips.cjs'); +const sharp = require('./sharp.cjs'); +const pkg = require("../package.json"); + + +const runtimePlatform = libvips.runtimePlatformArch(); +const libvipsVersion = sharp.libvipsVersion(); + +/** + * An Object containing nested boolean values representing the available input and output formats/methods. + * @member + * @example + * console.log(sharp.format); + * @returns {Object} + */ +const format = sharp.format(); +format.heif.output.alias = ['avif', 'heic']; +format.jpeg.output.alias = ['jpe', 'jpg']; +format.tiff.output.alias = ['tif']; +format.jp2.output.alias = ['j2c', 'j2k', 'jp2', 'jpx']; + +/** + * An Object containing the available interpolators and their proper values + * @readonly + * @enum {string} + */ +const interpolators = { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest', + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear', + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic', + /** [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. */ + locallyBoundedBicubic: 'lbb', + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo', + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs' +}; + +/** + * An Object containing the version numbers of sharp, libvips + * and (when using prebuilt binaries) its dependencies. + * + * @member + * @example + * console.log(sharp.versions); + */ +let versions = { + vips: libvipsVersion.semver +}; +/* node:coverage ignore next 15 */ +if (!libvipsVersion.isGlobal) { + if (!libvipsVersion.isWasm) { + try { + versions = require(`@img/sharp-${runtimePlatform}/versions`); + } catch (_) { + try { + versions = require(`@img/sharp-libvips-${runtimePlatform}/versions`); + } catch (_) {} + } + } else { + try { + versions = require('@img/sharp-wasm32/versions'); + } catch (_) {} + } +} +versions.sharp = pkg.version; + +/* node:coverage ignore next 5 */ +if (versions.heif && format.heif) { + // Prebuilt binaries provide AV1 + format.heif.input.fileSuffix = ['.avif']; + format.heif.output.alias = ['avif']; +} + +/** + * Gets or, when options are provided, sets the limits of _libvips'_ operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, + * useful for determining how much working memory is required for a particular task. + * + * @example + * const stats = sharp.cache(); + * @example + * sharp.cache( { items: 200 } ); + * sharp.cache( { files: 0 } ); + * sharp.cache(false); + * + * @param {Object|boolean} [options=true] - Object with the following attributes, or boolean where true uses default cache settings and false removes all caching + * @param {number} [options.memory=50] - is the maximum memory in MB to use for this cache + * @param {number} [options.files=20] - is the maximum number of files to hold open + * @param {number} [options.items=100] - is the maximum number of operations to cache + * @returns {Object} + */ +function cache (options) { + if (is.bool(options)) { + if (options) { + // Default cache settings of 50MB, 20 files, 100 items + return sharp.cache(50, 20, 100); + } else { + return sharp.cache(0, 0, 0); + } + } else if (is.object(options)) { + for (const property of ['memory', 'files', 'items']) { + const value = options[property]; + if (is.defined(value) && !(is.integer(value) && value >= 0)) { + throw is.invalidParameterError(property, 'a positive integer', value); + } + } + return sharp.cache(options.memory, options.files, options.items); + } else { + return sharp.cache(); + } +} +cache(true); + +/** + * Gets or, when a concurrency is provided, sets + * the maximum number of threads _libvips_ should use to process _each image_. + * These are from a thread pool managed by glib, + * which helps avoid the overhead of creating new threads. + * + * This method always returns the current concurrency. + * + * The default value is the number of CPU cores, + * except when using glibc-based Linux without jemalloc, + * where the default is `1` to help reduce memory fragmentation. + * + * A value of `0` will reset this to the number of CPU cores. + * + * Some image format libraries spawn additional threads, + * e.g. libaom manages its own 4 threads when encoding AVIF images, + * and these are independent of the value set here. + * + * :::note + * Further {@link /performance/ control over performance} is available. + * ::: + * + * @example + * const threads = sharp.concurrency(); // 4 + * sharp.concurrency(2); // 2 + * sharp.concurrency(0); // 4 + * + * @param {number} [concurrency] + * @returns {number} concurrency + */ +function concurrency (concurrency) { + return sharp.concurrency(is.integer(concurrency) ? concurrency : null); +} +/* node:coverage ignore next 7 */ +if (!process.env.MALLOC_ARENA_MAX && detectLibc.familySync() === detectLibc.GLIBC && !sharp._isUsingJemalloc()) { + // Reduce default concurrency to 1 when using glibc memory allocator + sharp.concurrency(1); +} else if (detectLibc.familySync() === detectLibc.MUSL && sharp.concurrency() === 1024) { + // Reduce default concurrency when musl thread over-subscription detected + sharp.concurrency(availableParallelism()); +} + +/** + * An EventEmitter that emits a `change` event when a task is either: + * - queued, waiting for _libuv_ to provide a worker thread + * - complete + * @member + * @example + * sharp.queue.on('change', function(queueLength) { + * console.log('Queue contains ' + queueLength + ' task(s)'); + * }); + */ +const queue = new events.EventEmitter(); + +/** + * Provides access to internal task counters. + * - queue is the number of tasks this module has queued waiting for _libuv_ to provide a worker thread from its pool. + * - process is the number of resize tasks currently being processed. + * + * @example + * const counters = sharp.counters(); // { queue: 2, process: 4 } + * + * @returns {Object} + */ +function counters () { + return sharp.counters(); +} + +/** + * Get and set use of SIMD vector unit instructions. + * Requires libvips to have been compiled with highway support. + * + * Improves the performance of `resize`, `blur` and `sharpen` operations + * by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * + * @example + * const simd = sharp.simd(); + * // simd is `true` if the runtime use of highway is currently enabled + * @example + * const simd = sharp.simd(false); + * // prevent libvips from using highway at runtime + * + * @param {boolean} [simd=true] + * @returns {boolean} + */ +function simd (simd) { + return sharp.simd(is.bool(simd) ? simd : null); +} + +/** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example Block all TIFF input. + * sharp.block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to block. + */ +function block (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, true); + } else { + throw is.invalidParameterError('operation', 'Array', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example Block all input except WebP from the filesystem. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example Block all input except JPEG and PNG from a Buffer or Stream. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to unblock. + */ +function unblock (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, false); + } else { + throw is.invalidParameterError('operation', 'Array', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Decorate the Sharp class with utility-related functions. + * @module Sharp + * @private + */ +module.exports = (Sharp) => { + Sharp.cache = cache; + Sharp.concurrency = concurrency; + Sharp.counters = counters; + Sharp.simd = simd; + Sharp.format = format; + Sharp.interpolators = interpolators; + Sharp.versions = versions; + Sharp.queue = queue; + Sharp.block = block; + Sharp.unblock = unblock; +}; diff --git a/apps/api/.output/node_modules/sharp/dist/utility.mjs b/apps/api/.output/node_modules/sharp/dist/utility.mjs new file mode 100644 index 0000000..be26db5 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/dist/utility.mjs @@ -0,0 +1,301 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +import events from 'node:events'; +import { createRequire } from "node:module"; +import { availableParallelism } from "node:os"; +import detectLibc from 'detect-libc'; + +import is from './is.mjs'; +import libvips from './libvips.mjs'; +import sharp from './sharp.mjs'; +import pkg from "../package.json" with { type: "json" }; + +const require = createRequire(import.meta.url); +const runtimePlatform = libvips.runtimePlatformArch(); +const libvipsVersion = sharp.libvipsVersion(); + +/** + * An Object containing nested boolean values representing the available input and output formats/methods. + * @member + * @example + * console.log(sharp.format); + * @returns {Object} + */ +const format = sharp.format(); +format.heif.output.alias = ['avif', 'heic']; +format.jpeg.output.alias = ['jpe', 'jpg']; +format.tiff.output.alias = ['tif']; +format.jp2.output.alias = ['j2c', 'j2k', 'jp2', 'jpx']; + +/** + * An Object containing the available interpolators and their proper values + * @readonly + * @enum {string} + */ +const interpolators = { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest', + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear', + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic', + /** [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. */ + locallyBoundedBicubic: 'lbb', + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo', + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs' +}; + +/** + * An Object containing the version numbers of sharp, libvips + * and (when using prebuilt binaries) its dependencies. + * + * @member + * @example + * console.log(sharp.versions); + */ +let versions = { + vips: libvipsVersion.semver +}; +/* node:coverage ignore next 15 */ +if (!libvipsVersion.isGlobal) { + if (!libvipsVersion.isWasm) { + try { + versions = require(`@img/sharp-${runtimePlatform}/versions`); + } catch (_) { + try { + versions = require(`@img/sharp-libvips-${runtimePlatform}/versions`); + } catch (_) {} + } + } else { + try { + versions = require('@img/sharp-wasm32/versions'); + } catch (_) {} + } +} +versions.sharp = pkg.version; + +/* node:coverage ignore next 5 */ +if (versions.heif && format.heif) { + // Prebuilt binaries provide AV1 + format.heif.input.fileSuffix = ['.avif']; + format.heif.output.alias = ['avif']; +} + +/** + * Gets or, when options are provided, sets the limits of _libvips'_ operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, + * useful for determining how much working memory is required for a particular task. + * + * @example + * const stats = sharp.cache(); + * @example + * sharp.cache( { items: 200 } ); + * sharp.cache( { files: 0 } ); + * sharp.cache(false); + * + * @param {Object|boolean} [options=true] - Object with the following attributes, or boolean where true uses default cache settings and false removes all caching + * @param {number} [options.memory=50] - is the maximum memory in MB to use for this cache + * @param {number} [options.files=20] - is the maximum number of files to hold open + * @param {number} [options.items=100] - is the maximum number of operations to cache + * @returns {Object} + */ +function cache (options) { + if (is.bool(options)) { + if (options) { + // Default cache settings of 50MB, 20 files, 100 items + return sharp.cache(50, 20, 100); + } else { + return sharp.cache(0, 0, 0); + } + } else if (is.object(options)) { + for (const property of ['memory', 'files', 'items']) { + const value = options[property]; + if (is.defined(value) && !(is.integer(value) && value >= 0)) { + throw is.invalidParameterError(property, 'a positive integer', value); + } + } + return sharp.cache(options.memory, options.files, options.items); + } else { + return sharp.cache(); + } +} +cache(true); + +/** + * Gets or, when a concurrency is provided, sets + * the maximum number of threads _libvips_ should use to process _each image_. + * These are from a thread pool managed by glib, + * which helps avoid the overhead of creating new threads. + * + * This method always returns the current concurrency. + * + * The default value is the number of CPU cores, + * except when using glibc-based Linux without jemalloc, + * where the default is `1` to help reduce memory fragmentation. + * + * A value of `0` will reset this to the number of CPU cores. + * + * Some image format libraries spawn additional threads, + * e.g. libaom manages its own 4 threads when encoding AVIF images, + * and these are independent of the value set here. + * + * :::note + * Further {@link /performance/ control over performance} is available. + * ::: + * + * @example + * const threads = sharp.concurrency(); // 4 + * sharp.concurrency(2); // 2 + * sharp.concurrency(0); // 4 + * + * @param {number} [concurrency] + * @returns {number} concurrency + */ +function concurrency (concurrency) { + return sharp.concurrency(is.integer(concurrency) ? concurrency : null); +} +/* node:coverage ignore next 7 */ +if (!process.env.MALLOC_ARENA_MAX && detectLibc.familySync() === detectLibc.GLIBC && !sharp._isUsingJemalloc()) { + // Reduce default concurrency to 1 when using glibc memory allocator + sharp.concurrency(1); +} else if (detectLibc.familySync() === detectLibc.MUSL && sharp.concurrency() === 1024) { + // Reduce default concurrency when musl thread over-subscription detected + sharp.concurrency(availableParallelism()); +} + +/** + * An EventEmitter that emits a `change` event when a task is either: + * - queued, waiting for _libuv_ to provide a worker thread + * - complete + * @member + * @example + * sharp.queue.on('change', function(queueLength) { + * console.log('Queue contains ' + queueLength + ' task(s)'); + * }); + */ +const queue = new events.EventEmitter(); + +/** + * Provides access to internal task counters. + * - queue is the number of tasks this module has queued waiting for _libuv_ to provide a worker thread from its pool. + * - process is the number of resize tasks currently being processed. + * + * @example + * const counters = sharp.counters(); // { queue: 2, process: 4 } + * + * @returns {Object} + */ +function counters () { + return sharp.counters(); +} + +/** + * Get and set use of SIMD vector unit instructions. + * Requires libvips to have been compiled with highway support. + * + * Improves the performance of `resize`, `blur` and `sharpen` operations + * by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * + * @example + * const simd = sharp.simd(); + * // simd is `true` if the runtime use of highway is currently enabled + * @example + * const simd = sharp.simd(false); + * // prevent libvips from using highway at runtime + * + * @param {boolean} [simd=true] + * @returns {boolean} + */ +function simd (simd) { + return sharp.simd(is.bool(simd) ? simd : null); +} + +/** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example Block all TIFF input. + * sharp.block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to block. + */ +function block (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, true); + } else { + throw is.invalidParameterError('operation', 'Array', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example Block all input except WebP from the filesystem. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example Block all input except JPEG and PNG from a Buffer or Stream. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to unblock. + */ +function unblock (options) { + if (is.object(options)) { + if (Array.isArray(options.operation) && options.operation.every(is.string)) { + sharp.block(options.operation, false); + } else { + throw is.invalidParameterError('operation', 'Array', options.operation); + } + } else { + throw is.invalidParameterError('options', 'object', options); + } +} + +/** + * Decorate the Sharp class with utility-related functions. + * @module Sharp + * @private + */ +export default (Sharp) => { + Sharp.cache = cache; + Sharp.concurrency = concurrency; + Sharp.counters = counters; + Sharp.simd = simd; + Sharp.format = format; + Sharp.interpolators = interpolators; + Sharp.versions = versions; + Sharp.queue = queue; + Sharp.block = block; + Sharp.unblock = unblock; +}; diff --git a/apps/api/.output/node_modules/sharp/install/build.js b/apps/api/.output/node_modules/sharp/install/build.js new file mode 100644 index 0000000..8eaa0f5 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/install/build.js @@ -0,0 +1,38 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +const { + useGlobalLibvips, + globalLibvipsVersion, + log, + spawnRebuild, +} = require('../dist/libvips.cjs'); + +log('Building from source'); +log('See https://sharp.pixelplumbing.com/install#building-from-source'); + +try { + const addonApi = require('node-addon-api'); + log(`Found node-addon-api ${addonApi.version || ''}`); +} catch (_err) { + log('Please add node-addon-api to your dependencies'); + process.exit(1); +} +try { + const gyp = require('node-gyp'); + log(`Found node-gyp ${gyp().version}`); +} catch (_err) { + log('Please add node-gyp to your dependencies'); + process.exit(1); +} + +if (useGlobalLibvips(log)) { + log(`Found globally-installed libvips v${globalLibvipsVersion()}`); +} + +const status = spawnRebuild(); +if (status !== 0) { + process.exit(status); +} diff --git a/apps/api/.output/node_modules/sharp/lib/index.d.ts b/apps/api/.output/node_modules/sharp/lib/index.d.ts new file mode 100644 index 0000000..470889a --- /dev/null +++ b/apps/api/.output/node_modules/sharp/lib/index.d.ts @@ -0,0 +1,1999 @@ +/** + * Copyright 2017 François Nguyen and others. + * + * Billy Kwok + * Bradley Odell + * Espen Hovlandsdal + * Floris de Bijl + * François Nguyen + * Jamie Woodbury + * Wooseop Kim + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of + * the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +// SPDX-License-Identifier: MIT + +/// + +declare type Duplex = import('node:stream').Duplex; +declare type ColorLike = import('@img/colour').ColorLike; + +//#region Constructor functions + +/** + * Creates a sharp instance from an image + * @param input Buffer containing JPEG, PNG, WebP, AVIF, GIF, SVG, TIFF or raw pixel image data, or String containing the path to an JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF image file. + * @param options Object with optional attributes. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ +declare function sharp(options?: sharp.SharpOptions): sharp.Sharp; +declare function sharp( + input?: sharp.SharpInput | Array, + options?: sharp.SharpOptions, +): sharp.Sharp; + +declare namespace sharp { + /** Object containing nested boolean values representing the available input and output formats/methods. */ + const format: FormatEnum; + + /** An Object containing the version numbers of sharp, libvips and its dependencies. */ + const versions: { + aom?: string | undefined; + archive?: string | undefined; + cairo?: string | undefined; + cgif?: string | undefined; + exif?: string | undefined; + expat?: string | undefined; + ffi?: string | undefined; + fontconfig?: string | undefined; + freetype?: string | undefined; + fribidi?: string | undefined; + glib?: string | undefined; + harfbuzz?: string | undefined; + heif?: string | undefined; + highway?: string | undefined; + imagequant?: string | undefined; + lcms?: string | undefined; + mozjpeg?: string | undefined; + pango?: string | undefined; + pixman?: string | undefined; + png?: string | undefined; + "proxy-libintl"?: string | undefined; + rsvg?: string | undefined; + sharp: string; + spng?: string | undefined; + tiff?: string | undefined; + vips: string; + webp?: string | undefined; + xml?: string | undefined; + "zlib-ng"?: string | undefined; + }; + + /** An Object containing the available interpolators and their proper values */ + const interpolators: Interpolators; + + /** An EventEmitter that emits a change event when a task is either queued, waiting for libuv to provide a worker thread, complete */ + const queue: NodeJS.EventEmitter; + + //#endregion + + //#region Utility functions + + /** + * Gets or, when options are provided, sets the limits of libvips' operation cache. + * Existing entries in the cache will be trimmed after any change in limits. + * This method always returns cache statistics, useful for determining how much working memory is required for a particular task. + * @param options Object with the following attributes, or Boolean where true uses default cache settings and false removes all caching (optional, default true) + * @returns The cache results. + */ + function cache(options?: boolean | CacheOptions): CacheResult; + + /** + * Gets or sets the number of threads libvips' should create to process each image. + * The default value is the number of CPU cores. A value of 0 will reset to this default. + * The maximum number of images that can be processed in parallel is limited by libuv's UV_THREADPOOL_SIZE environment variable. + * @param concurrency The new concurrency value. + * @returns The current concurrency value. + */ + function concurrency(concurrency?: number): number; + + /** + * Provides access to internal task counters. + * @returns Object containing task counters + */ + function counters(): SharpCounters; + + /** + * Get and set use of SIMD vector unit instructions. Requires libvips to have been compiled with highway support. + * Improves the performance of resize, blur and sharpen operations by taking advantage of the SIMD vector unit of the CPU, e.g. Intel SSE and ARM NEON. + * @param enable enable or disable use of SIMD vector unit instructions + * @returns true if usage of SIMD vector unit instructions is enabled + */ + function simd(enable?: boolean): boolean; + + /** + * Block libvips operations at runtime. + * + * This is in addition to the `VIPS_BLOCK_UNTRUSTED` environment variable, + * which when set will block all "untrusted" operations. + * + * @since 0.32.4 + * + * @example Block all TIFF input. + * sharp.block({ + * operation: ['VipsForeignLoadTiff'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to block. + */ + function block(options: { operation: string[] }): void; + + /** + * Unblock libvips operations at runtime. + * + * This is useful for defining a list of allowed operations. + * + * @since 0.32.4 + * + * @example Block all input except WebP from the filesystem. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadWebpFile'] + * }); + * + * @example Block all input except JPEG and PNG from a Buffer or Stream. + * sharp.block({ + * operation: ['VipsForeignLoad'] + * }); + * sharp.unblock({ + * operation: ['VipsForeignLoadJpegBuffer', 'VipsForeignLoadPngBuffer'] + * }); + * + * @param {Object} options + * @param {Array} options.operation - List of libvips low-level operation names to unblock. + */ + function unblock(options: { operation: string[] }): void; + + //#endregion + + const gravity: GravityEnum; + const strategy: StrategyEnum; + const kernel: KernelEnum; + const fit: FitEnum; + const bool: BoolEnum; + + interface Sharp extends Duplex { + //#region Channel functions + + /** + * Remove alpha channel, if any. This is a no-op if the image does not have an alpha channel. + * @returns A sharp instance that can be used to chain operations + */ + removeAlpha(): Sharp; + + /** + * Ensure alpha channel, if missing. The added alpha channel will be fully opaque. This is a no-op if the image already has an alpha channel. + * @param alpha transparency level (0=fully-transparent, 1=fully-opaque) (optional, default 1). + * @returns A sharp instance that can be used to chain operations + */ + ensureAlpha(alpha?: number): Sharp; + + /** + * Extract a single channel from a multi-channel image. + * @param channel zero-indexed channel/band number to extract, or red, green, blue or alpha. + * @throws {Error} Invalid channel + * @returns A sharp instance that can be used to chain operations + */ + extractChannel(channel: 0 | 1 | 2 | 3 | 'red' | 'green' | 'blue' | 'alpha'): Sharp; + + /** + * Join one or more channels to the image. The meaning of the added channels depends on the output colourspace, set with toColourspace(). + * By default the output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. Channel ordering follows vips convention: + * - sRGB: 0: Red, 1: Green, 2: Blue, 3: Alpha. + * - CMYK: 0: Magenta, 1: Cyan, 2: Yellow, 3: Black, 4: Alpha. + * + * Buffers may be any of the image formats supported by sharp. + * For raw pixel input, the options object should contain a raw attribute, which follows the format of the attribute of the same name in the sharp() constructor. + * @param images one or more images (file paths, Buffers). + * @param options image options, see sharp() constructor. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + joinChannel(images: string | Buffer | ArrayLike, options?: SharpOptions): Sharp; + + /** + * Perform a bitwise boolean operation on all input image channels (bands) to produce a single channel output image. + * @param boolOp one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + bandbool(boolOp: keyof BoolEnum): Sharp; + + //#endregion + + //#region Color functions + + /** + * Tint the image using the provided colour. + * An alpha channel may be present and will be unchanged by the operation. + * @param tint Parsed by the color module. + * @returns A sharp instance that can be used to chain operations + */ + tint(tint: ColorLike): Sharp; + + /** + * Convert to 8-bit greyscale; 256 shades of grey. + * This is a linear operation. + * If the input image is in a non-linear colour space such as sRGB, use gamma() with greyscale() for the best results. + * By default the output image will be web-friendly sRGB and contain three (identical) colour channels. + * This may be overridden by other sharp operations such as toColourspace('b-w'), which will produce an output image containing one colour channel. + * An alpha channel may be present, and will be unchanged by the operation. + * @param greyscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + greyscale(greyscale?: boolean): Sharp; + + /** + * Alternative spelling of greyscale(). + * @param grayscale true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + grayscale(grayscale?: boolean): Sharp; + + /** + * Set the pipeline colourspace. + * The input image will be converted to the provided colourspace at the start of the pipeline. + * All operations will use this colourspace before converting to the output colourspace, as defined by toColourspace. + * + * @param colourspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of pipelineColourspace + * @param colorspace pipeline colourspace e.g. rgb16, scrgb, lab, grey16 ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + pipelineColorspace(colorspace?: string): Sharp; + + /** + * Set the output colourspace. + * By default output image will be web-friendly sRGB, with additional channels interpreted as alpha channels. + * @param colourspace output colourspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColourspace(colourspace?: string): Sharp; + + /** + * Alternative spelling of toColourspace(). + * @param colorspace output colorspace e.g. srgb, rgb, cmyk, lab, b-w ... + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toColorspace(colorspace: string): Sharp; + + //#endregion + + //#region Composite functions + + /** + * Composite image(s) over the processed (resized, extracted etc.) image. + * + * The images to composite must be the same size or smaller than the processed image. + * If both `top` and `left` options are provided, they take precedence over `gravity`. + * @param images - Ordered list of images to composite + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + composite(images: OverlayOptions[]): Sharp; + + //#endregion + + //#region Input functions + + /** + * Take a "snapshot" of the Sharp instance, returning a new instance. + * Cloned instances inherit the input of their parent instance. + * This allows multiple output Streams and therefore multiple processing pipelines to share a single input Stream. + * @returns A sharp instance that can be used to chain operations + */ + clone(): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A sharp instance that can be used to chain operations + */ + metadata(callback: (err: Error, metadata: Metadata) => void): Sharp; + + /** + * Fast access to (uncached) image metadata without decoding any compressed image data. + * @returns A promise that resolves with a metadata object + */ + metadata(): Promise; + + /** + * Keep all metadata (EXIF, ICC, XMP, IPTC) from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepMetadata(): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A sharp instance that can be used to chain operations + */ + stats(callback: (err: Error, stats: Stats) => void): Sharp; + + /** + * Access to pixel-derived image statistics for every channel in the image. + * @returns A promise that resolves with a stats object + */ + stats(): Promise; + + //#endregion + + //#region Operation functions + + /** + * Rotate the output image by either an explicit angle + * or auto-orient based on the EXIF `Orientation` tag. + * + * If an angle is provided, it is converted to a valid positive degree rotation. + * For example, `-450` will produce a 270 degree rotation. + * + * When rotating by an angle other than a multiple of 90, + * the background colour can be provided with the `background` option. + * + * If no angle is provided, it is determined from the EXIF data. + * Mirroring is supported and may infer the use of a flip operation. + * + * The use of `rotate` without an angle will remove the EXIF `Orientation` tag, if any. + * + * Only one rotation can occur per pipeline (aside from an initial call without + * arguments to orient via EXIF data). Previous calls to `rotate` in the same + * pipeline will be ignored. + * + * Multi-page images can only be rotated by 180 degrees. + * + * Method order is important when rotating, resizing and/or extracting regions, + * for example `.rotate(x).extract(y)` will produce a different result to `.extract(y).rotate(x)`. + * + * @example + * const pipeline = sharp() + * .rotate() + * .resize(null, 200) + * .toBuffer(function (err, outputBuffer, info) { + * // outputBuffer contains 200px high JPEG image data, + * // auto-rotated using EXIF Orientation tag + * // info.width and info.height contain the dimensions of the resized image + * }); + * readableStream.pipe(pipeline); + * + * @example + * const rotateThenResize = await sharp(input) + * .rotate(90) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .toBuffer(); + * const resizeThenRotate = await sharp(input) + * .resize({ width: 16, height: 8, fit: 'fill' }) + * .rotate(90) + * .toBuffer(); + * + * @param {number} [angle=auto] angle of rotation. + * @param {Object} [options] - if present, is an Object with optional attributes. + * @param {string|Object} [options.background="#000000"] parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. + * @returns {Sharp} + * @throws {Error} Invalid parameters + */ + rotate(angle?: number, options?: RotateOptions): Sharp; + + /** + * Alias for calling `rotate()` with no arguments, which orients the image based + * on EXIF orientsion. + * + * This operation is aliased to emphasize its purpose, helping to remove any + * confusion between rotation and orientation. + * + * @example + * const output = await sharp(input).autoOrient().toBuffer(); + * + * @returns {Sharp} + */ + autoOrient(): Sharp + + /** + * Flip the image about the vertical Y axis. This always occurs after rotation, if any. + * The use of flip implies the removal of the EXIF Orientation tag, if any. + * @param flip true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flip(flip?: boolean): Sharp; + + /** + * Flop the image about the horizontal X axis. This always occurs after rotation, if any. + * The use of flop implies the removal of the EXIF Orientation tag, if any. + * @param flop true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flop(flop?: boolean): Sharp; + + /** + * Perform an affine transform on an image. This operation will always occur after resizing, extraction and rotation, if any. + * You must provide an array of length 4 or a 2x2 affine transformation matrix. + * By default, new pixels are filled with a black background. You can provide a background colour with the `background` option. + * A particular interpolator may also be specified. Set the `interpolator` option to an attribute of the `sharp.interpolators` Object e.g. `sharp.interpolators.nohalo`. + * + * In the case of a 2x2 matrix, the transform is: + * X = matrix[0, 0] * (x + idx) + matrix[0, 1] * (y + idy) + odx + * Y = matrix[1, 0] * (x + idx) + matrix[1, 1] * (y + idy) + ody + * + * where: + * + * x and y are the coordinates in input image. + * X and Y are the coordinates in output image. + * (0,0) is the upper left corner. + * + * @param matrix Affine transformation matrix, may either by a array of length four or a 2x2 matrix array + * @param options if present, is an Object with optional attributes. + * + * @returns A sharp instance that can be used to chain operations + */ + affine(matrix: [number, number, number, number] | Matrix2x2, options?: AffineOptions): Sharp; + + /** + * Sharpen the image. + * When used without parameters, performs a fast, mild sharpen of the output image. + * When a sigma is provided, performs a slower, more accurate sharpen of the L channel in the LAB colour space. + * Fine-grained control over the level of sharpening in "flat" (m1) and "jagged" (m2) areas is available. + * @param options if present, is an Object with optional attributes + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + sharpen(options?: SharpenOptions): Sharp; + + /** + * Apply median filter. When used without parameters the default window is 3x3. + * @param size square mask size: size x size (optional, default 3) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + median(size?: number): Sharp; + + /** + * Blur the image. + * When used without parameters, performs a fast, mild blur of the output image. + * When a sigma is provided, performs a slower, more accurate Gaussian blur. + * When a boolean sigma is provided, ether blur mild or disable blur + * @param sigma a value between 0.3 and 1000 representing the sigma of the Gaussian mask, where sigma = 1 + radius / 2. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + blur(sigma?: number | boolean | BlurOptions): Sharp; + + /** + * Expand foreground objects using the dilate morphological operator. + * @param {Number} [width=1] dilation width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + dilate(width?: number): Sharp; + + /** + * Shrink foreground objects using the erode morphological operator. + * @param {Number} [width=1] erosion width in pixels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + erode(width?: number): Sharp; + + /** + * Merge alpha transparency channel, if any, with background. + * @param flatten true to enable and false to disable (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + flatten(flatten?: boolean | FlattenOptions): Sharp; + + /** + * Ensure the image has an alpha channel with all white pixel values made fully transparent. + * Existing alpha channel values for non-white pixels remain unchanged. + * @returns A sharp instance that can be used to chain operations + */ + unflatten(): Sharp; + + /** + * Apply a gamma correction by reducing the encoding (darken) pre-resize at a factor of 1/gamma then increasing the encoding (brighten) post-resize at a factor of gamma. + * This can improve the perceived brightness of a resized image in non-linear colour spaces. + * JPEG and WebP input images will not take advantage of the shrink-on-load performance optimisation when applying a gamma correction. + * Supply a second argument to use a different output gamma value, otherwise the first value is used in both cases. + * @param gamma value between 1.0 and 3.0. (optional, default 2.2) + * @param gammaOut value between 1.0 and 3.0. (optional, defaults to same as gamma) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + gamma(gamma?: number, gammaOut?: number): Sharp; + + /** + * Produce the "negative" of the image. + * @param negate true to enable and false to disable, or an object of options (defaults to true) + * @returns A sharp instance that can be used to chain operations + */ + negate(negate?: boolean | NegateOptions): Sharp; + + /** + * Enhance output image contrast by stretching its luminance to cover a full dynamic range. + * + * Uses a histogram-based approach, taking a default range of 1% to 99% to reduce sensitivity to noise at the extremes. + * + * Luminance values below the `lower` percentile will be underexposed by clipping to zero. + * Luminance values above the `upper` percentile will be overexposed by clipping to the max pixel value. + * + * @param normalise options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalise(normalise?: NormaliseOptions): Sharp; + + /** + * Alternative spelling of normalise. + * @param normalize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + normalize(normalize?: NormaliseOptions): Sharp; + + /** + * Perform contrast limiting adaptive histogram equalization (CLAHE) + * + * This will, in general, enhance the clarity of the image by bringing out + * darker details. Please read more about CLAHE here: + * https://en.wikipedia.org/wiki/Adaptive_histogram_equalization#Contrast_Limited_AHE + * + * @param options clahe options + */ + clahe(options: ClaheOptions): Sharp; + + /** + * Convolve the image with the specified kernel. + * @param kernel the specified kernel + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + convolve(kernel: Kernel): Sharp; + + /** + * Any pixel value greather than or equal to the threshold value will be set to 255, otherwise it will be set to 0. + * @param threshold a value in the range 0-255 representing the level at which the threshold will be applied. (optional, default 128) + * @param options threshold options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + threshold(threshold?: number, options?: ThresholdOptions): Sharp; + + /** + * Perform a bitwise boolean operation with operand image. + * This operation creates an output image where each pixel is the result of the selected bitwise boolean operation between the corresponding pixels of the input images. + * @param operand Buffer containing image data or String containing the path to an image file. + * @param operator one of "and", "or" or "eor" to perform that bitwise operation, like the C logic operators &, | and ^ respectively. + * @param options describes operand when using raw pixel data. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + boolean(operand: string | Buffer, operator: keyof BoolEnum, options?: { raw: Raw }): Sharp; + + /** + * Apply the linear formula a * input + b to the image (levels adjustment) + * @param a multiplier (optional, default 1.0) + * @param b offset (optional, default 0.0) + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + linear(a?: number | number[] | null, b?: number | number[]): Sharp; + + /** + * Recomb the image with the specified matrix. + * @param inputMatrix 3x3 Recombination matrix or 4x4 Recombination matrix + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + recomb(inputMatrix: Matrix3x3 | Matrix4x4): Sharp; + + /** + * Transforms the image using brightness, saturation, hue rotation and lightness. + * Brightness and lightness both operate on luminance, with the difference being that brightness is multiplicative whereas lightness is additive. + * @param options describes the modulation + * @returns A sharp instance that can be used to chain operations + */ + modulate(options?: { + brightness?: number | undefined; + saturation?: number | undefined; + hue?: number | undefined; + lightness?: number | undefined; + }): Sharp; + + //#endregion + + //#region Output functions + + /** + * Write output image data to a file. + * If an explicit output format is not selected, it will be inferred from the extension, with JPEG, PNG, WebP, AVIF, TIFF, DZI, and libvips' V format supported. + * Note that raw pixel data is only supported for buffer output. + * @param fileOut The path to write the image data to. + * @param callback Callback function called on completion with two arguments (err, info). info contains the output image format, size (bytes), width, height and channels. + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + toFile(fileOut: string, callback: (err: Error, info: OutputInfo) => void): Sharp; + + /** + * Write output image data to a file. + * @param fileOut The path to write the image data to. + * @throws {Error} Invalid parameters + * @returns A promise that fulfills with an object containing information on the resulting file + */ + toFile(fileOut: string): Promise; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @param callback Callback function called on completion with three arguments (err, buffer, info). + * @returns A sharp instance that can be used to chain operations + */ + toBuffer(callback: (err: Error, buffer: Buffer, info: OutputInfo) => void): Sharp; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with the Buffer data. + */ + toBuffer(options?: { resolveWithObject: false }): Promise>; + + /** + * Write output to a Buffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * The underlying `ArrayBuffer` may be marked as non-transferable by some JavaScript runtimes. + * @param options resolve options + * @param options.resolveWithObject Resolve the Promise with an Object containing data and info properties instead of resolving only with data. + * @returns A promise that resolves with an object containing the Buffer data and an info object containing the output image format, size (bytes), width, height and channels + */ + toBuffer(options: { resolveWithObject: true }): Promise<{ data: Buffer; info: OutputInfo }>; + + /** + * Write output to a Uint8Array backed by a transferable ArrayBuffer. JPEG, PNG, WebP, AVIF, TIFF, GIF and RAW output are supported. + * By default, the format will match the input image, except SVG input which becomes PNG output. + * @returns A promise that resolves with an object containing the Uint8Array data and an info object containing the output image format, size (bytes), width, height and channels + */ + toUint8Array(): Promise<{ data: Uint8Array; info: OutputInfo }>; + + /** + * Set output density (DPI) in EXIF metadata. + * @param density Density in dots per inch (DPI). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withDensity(density: number): Sharp; + + /** + * Keep all EXIF metadata from the input image in the output image. + * EXIF metadata is unsupported for TIFF output. + * @returns A sharp instance that can be used to chain operations + */ + keepExif(): Sharp; + + /** + * Set EXIF metadata in the output image, ignoring any EXIF in the input image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExif(exif: Exif): Sharp; + + /** + * Update EXIF metadata from the input image in the output image. + * @param {Exif} exif Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withExifMerge(exif: Exif): Sharp; + + /** + * Keep ICC profile from the input image in the output image where possible. + * @returns A sharp instance that can be used to chain operations + */ + keepIccProfile(): Sharp; + + /** + * Transform using an ICC profile and attach to the output image. + * @param {string} icc - Absolute filesystem path to output ICC profile or built-in profile name (srgb, p3, cmyk). + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withIccProfile(icc: string, options?: WithIccProfileOptions): Sharp; + + /** + * Keep all XMP metadata from the input image in the output image. + * @returns A sharp instance that can be used to chain operations + */ + keepXmp(): Sharp; + + /** + * Set XMP metadata in the output image. + * @param {string} xmp - String containing XMP metadata to be embedded in the output image. + * @returns A sharp instance that can be used to chain operations + * @throws {Error} Invalid parameters + */ + withXmp(xmp: string): Sharp; + + /** + * Include all metadata (EXIF, XMP, IPTC) from the input image in the output image. + * The default behaviour, when withMetadata is not used, is to strip all metadata and convert to the device-independent sRGB colour space. + * This will also convert to and add a web-friendly sRGB ICC profile. + * @param withMetadata + * @throws {Error} Invalid parameters. + */ + withMetadata(withMetadata?: WriteableMetadata): Sharp; + + /** + * Use these JPEG options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jpeg(options?: JpegOptions): Sharp; + + /** + * Use these JP2 (JPEG 2000) options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jp2(options?: Jp2Options): Sharp; + + /** + * Use these JPEG-XL (JXL) options for output image. + * This feature is experimental, please do not use in production systems. + * Requires libvips compiled with support for libjxl. + * The prebuilt binaries do not include this. + * Image metadata (EXIF, XMP) is unsupported. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + jxl(options?: JxlOptions): Sharp; + + /** + * Use these PNG options for output image. + * PNG output is always full colour at 8 or 16 bits per pixel. + * Indexed PNG input at 1, 2 or 4 bits per pixel is converted to 8 bits per pixel. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + png(options?: PngOptions): Sharp; + + /** + * Use these WebP options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + webp(options?: WebpOptions): Sharp; + + /** + * Use these GIF options for output image. + * Requires libvips compiled with support for ImageMagick or GraphicsMagick. The prebuilt binaries do not include this - see installing a custom libvips. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + gif(options?: GifOptions): Sharp; + + /** + * Use these AVIF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + avif(options?: AvifOptions): Sharp; + + /** + * Use these HEIF options for output image. + * Support for patent-encumbered HEIC images requires the use of a globally-installed libvips compiled with support for libheif, libde265 and x265. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + heif(options?: HeifOptions): Sharp; + + /** + * Use these TIFF options for output image. + * @param options Output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tiff(options?: TiffOptions): Sharp; + + /** + * Force output to be raw, uncompressed uint8 pixel data. + * @param options Raw output options. + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + raw(options?: RawOptions): Sharp; + + /** + * Force output to a given format. + * @param format a String or an Object with an 'id' attribute + * @param options output options + * @throws {Error} Unsupported format or options + * @returns A sharp instance that can be used to chain operations + */ + toFormat( + format: keyof FormatEnum | AvailableFormatInfo | "avif", + options?: + | OutputOptions + | JpegOptions + | PngOptions + | WebpOptions + | AvifOptions + | HeifOptions + | JxlOptions + | GifOptions + | Jp2Options + | RawOptions + | TiffOptions, + ): Sharp; + + /** + * Use tile-based deep zoom (image pyramid) output. + * Set the format and options for tile images via the toFormat, jpeg, png or webp functions. + * Use a .zip or .szi file extension with toFile to write to a compressed archive file format. + * @param tile tile options + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + tile(tile?: TileOptions): Sharp; + + /** + * Set a timeout for processing, in seconds. Use a value of zero to continue processing indefinitely, the default behaviour. + * The clock starts when libvips opens an input image for processing. Time spent waiting for a libuv thread to become available is not included. + * @param options Object with a `seconds` attribute between 0 and 3600 (number) + * @throws {Error} Invalid options + * @returns A sharp instance that can be used to chain operations + */ + timeout(options: TimeoutOptions): Sharp; + + //#endregion + + //#region Resize functions + + /** + * Resize image to width, height or width x height. + * + * When both a width and height are provided, the possible methods by which the image should fit these are: + * - cover: Crop to cover both provided dimensions (the default). + * - contain: Embed within both provided dimensions. + * - fill: Ignore the aspect ratio of the input and stretch to both provided dimensions. + * - inside: Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to both those specified. + * - outside: Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to both those specified. + * Some of these values are based on the object-fit CSS property. + * + * When using a fit of cover or contain, the default position is centre. Other options are: + * - sharp.position: top, right top, right, right bottom, bottom, left bottom, left, left top. + * - sharp.gravity: north, northeast, east, southeast, south, southwest, west, northwest, center or centre. + * - sharp.strategy: cover only, dynamically crop using either the entropy or attention strategy. Some of these values are based on the object-position CSS property. + * + * The strategy-based approach resizes so one dimension is at its target length then repeatedly ranks edge regions, + * discarding the edge with the lowest score based on the selected strategy. + * - entropy: focus on the region with the highest Shannon entropy. + * - attention: focus on the region with the highest luminance frequency, colour saturation and presence of skin tones. + * + * Possible interpolation kernels are: + * - nearest: Use nearest neighbour interpolation. + * - cubic: Use a Catmull-Rom spline. + * - lanczos2: Use a Lanczos kernel with a=2. + * - lanczos3: Use a Lanczos kernel with a=3 (the default). + * + * @param width pixels wide the resultant image should be. Use null or undefined to auto-scale the width to match the height. + * @param height pixels high the resultant image should be. Use null or undefined to auto-scale the height to match the width. + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(widthOrOptions?: number | ResizeOptions | null, height?: number | null, options?: ResizeOptions): Sharp; + + /** + * Shorthand for resize(null, null, options); + * + * @param options resize options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + resize(options: ResizeOptions): Sharp; + + /** + * Extend / pad / extrude one or more edges of the image with either + * the provided background colour or pixels derived from the image. + * This operation will always occur after resizing and extraction, if any. + * @param extend single pixel count to add to all edges or an Object with per-edge counts + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extend(extend: number | ExtendOptions): Sharp; + + /** + * Extract a region of the image. + * - Use extract() before resize() for pre-resize extraction. + * - Use extract() after resize() for post-resize extraction. + * - Use extract() before and after for both. + * + * @param region The region to extract + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + extract(region: Region): Sharp; + + /** + * Trim pixels from all edges that contain values similar to the given background colour, which defaults to that of the top-left pixel. + * Images with an alpha channel will use the combined bounding box of alpha and non-alpha channels. + * The info response Object will contain trimOffsetLeft and trimOffsetTop properties. + * @param options trim options + * @throws {Error} Invalid parameters + * @returns A sharp instance that can be used to chain operations + */ + trim(options?: TrimOptions): Sharp; + + //#endregion + } + + type SharpInput = Buffer + | ArrayBuffer + | Uint8Array + | Uint8ClampedArray + | Int8Array + | Uint16Array + | Int16Array + | Uint32Array + | Int32Array + | Float32Array + | Float64Array + | string; + + interface SharpOptions { + /** + * Auto-orient based on the EXIF `Orientation` tag, if present. + * Mirroring is supported and may infer the use of a flip operation. + * + * Using this option will remove the EXIF `Orientation` tag, if any. + */ + autoOrient?: boolean | undefined; + /** + * When to abort processing of invalid pixel data, one of (in order of sensitivity): + * 'none' (least), 'truncated', 'error' or 'warning' (most), highers level imply lower levels, invalid metadata will always abort. + * Use the default 'warning' level with untrusted input. (optional, default 'warning') + */ + failOn?: FailOnOptions | undefined; + /** + * Do not process input images where the number of pixels (width x height) exceeds this limit. + * Assumes image dimensions contained in the input metadata can be trusted. + * An integral Number of pixels, zero or false to remove limit, true to use default limit of 268402689 (0x3FFF x 0x3FFF). (optional, default 268402689) + */ + limitInputPixels?: number | boolean | undefined; + /** + * Do not process input images where the number of channels exceeds this limit. + * Assumes image metadata can be trusted. + * An integral Number of channels, zero or false to remove limit, true to use default limit of 5. (optional, default 5) + */ + limitInputChannels?: number | boolean | undefined; + /** Set this to true to remove safety features that help prevent memory exhaustion (SVG, PNG). (optional, default false) */ + unlimited?: boolean | undefined; + /** Set this to false to use random access rather than sequential read. Some operations will do this automatically. */ + sequentialRead?: boolean | undefined; + /** The DPI at which to render SVG and PDF images, in the range 1 to 100000. (optional, default 72) */ + density?: number | undefined; + /** Should the embedded ICC profile, if any, be ignored. */ + ignoreIcc?: boolean | undefined; + /** Number of pages to extract for multi-page input (GIF, TIFF, PDF), use -1 for all pages */ + pages?: number | undefined; + /** Page number to start extracting from for multi-page input (GIF, TIFF, PDF), zero based. (optional, default 0) */ + page?: number | undefined; + /** TIFF specific input options */ + tiff?: TiffInputOptions | undefined; + /** SVG specific input options */ + svg?: SvgInputOptions | undefined; + /** PDF specific input options */ + pdf?: PdfInputOptions | undefined; + /** OpenSlide specific input options */ + openSlide?: OpenSlideInputOptions | undefined; + /** JPEG 2000 specific input options */ + jp2?: Jp2InputOptions | undefined; + /** @deprecated Use {@link SharpOptions.tiff} instead */ + subifd?: number | undefined; + /** @deprecated Use {@link SharpOptions.pdf} instead */ + pdfBackground?: ColorLike | undefined; + /** @deprecated Use {@link SharpOptions.openSlide} instead */ + level?: number | undefined; + /** Set to `true` to read all frames/pages of an animated image (equivalent of setting `pages` to `-1`). (optional, default false) */ + animated?: boolean | undefined; + /** Describes raw pixel input image data. See raw() for pixel ordering. */ + raw?: CreateRaw | undefined; + /** Describes a new image to be created. */ + create?: Create | undefined; + /** Describes a new text image to be created. */ + text?: CreateText | undefined; + /** Describes how array of input images should be joined. */ + join?: Join | undefined; + } + + interface CacheOptions { + /** Is the maximum memory in MB to use for this cache (optional, default 50) */ + memory?: number | undefined; + /** Is the maximum number of files to hold open (optional, default 20) */ + files?: number | undefined; + /** Is the maximum number of operations to cache (optional, default 100) */ + items?: number | undefined; + } + + interface TimeoutOptions { + /** Number of seconds after which processing will be stopped (default 0, eg disabled) */ + seconds: number; + } + + interface SharpCounters { + /** The number of tasks this module has queued waiting for libuv to provide a worker thread from its pool. */ + queue: number; + /** The number of resize tasks currently being processed. */ + process: number; + } + + interface Raw { + width: number; + height: number; + channels: Channels; + } + + interface CreateRaw extends Raw { + /** Specifies that the raw input has already been premultiplied, set to true to avoid sharp premultiplying the image. (optional, default false) */ + premultiplied?: boolean | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; + } + + type CreateChannels = 3 | 4; + + interface Create { + /** Number of pixels wide. */ + width: number; + /** Number of pixels high. */ + height: number; + /** Number of bands, 3 for RGB, 4 for RGBA */ + channels: CreateChannels; + /** Parsed by the [color](https://www.npmjs.org/package/color) module to extract values for red, green, blue and alpha. */ + background: ColorLike; + /** Describes a noise to be created. */ + noise?: Noise | undefined; + /** The height of each page/frame for animated images, must be an integral factor of the overall image height. */ + pageHeight?: number | undefined; + + } + + interface CreateText { + /** Text to render as a UTF-8 string. It can contain Pango markup, for example `LeMonde`. */ + text: string; + /** Font name to render with. */ + font?: string; + /** Absolute filesystem path to a font file that can be used by `font`. */ + fontfile?: string; + /** Integral number of pixels to word-wrap at. Lines of text wider than this will be broken at word boundaries. (optional, default `0`) */ + width?: number; + /** + * Integral number of pixels high. When defined, `dpi` will be ignored and the text will automatically fit the pixel resolution + * defined by `width` and `height`. Will be ignored if `width` is not specified or set to 0. (optional, default `0`) + */ + height?: number; + /** Text alignment ('left', 'centre', 'center', 'right'). (optional, default 'left') */ + align?: TextAlign; + /** Set this to true to apply justification to the text. (optional, default `false`) */ + justify?: boolean; + /** The resolution (size) at which to render the text. Does not take effect if `height` is specified. (optional, default `72`) */ + dpi?: number; + /** + * Set this to true to enable RGBA output. This is useful for colour emoji rendering, + * or support for pango markup features like `Red!`. (optional, default `false`) + */ + rgba?: boolean; + /** Text line height in points. Will use the font line height if none is specified. (optional, default `0`) */ + spacing?: number; + /** Word wrapping style when width is provided, one of: 'word', 'char', 'word-char' (prefer word, fallback to char) or 'none' */ + wrap?: TextWrap; + } + + interface Join { + /** Number of images per row. */ + across?: number | undefined; + /** Treat input as frames of an animated image. */ + animated?: boolean | undefined; + /** Space between images, in pixels. */ + shim?: number | undefined; + /** Background colour. */ + background?: ColorLike | undefined; + /** Horizontal alignment. */ + halign?: HorizontalAlignment | undefined; + /** Vertical alignment. */ + valign?: VerticalAlignment | undefined; + } + + interface TiffInputOptions { + /** Sub Image File Directory to extract, defaults to main image. Use -1 for all subifds. */ + subifd?: number | undefined; + } + + interface SvgInputOptions { + /** Custom CSS for SVG input, applied with a User Origin during the CSS cascade. */ + stylesheet?: string | undefined; + /** Set to `true` to render SVG input at 32-bits per channel (128-bit) instead of 8-bits per channel (32-bit) RGBA. */ + highBitdepth?: boolean | undefined; + } + + interface PdfInputOptions { + /** Background colour to use when PDF is partially transparent. Requires the use of a globally-installed libvips compiled with support for PDFium, Poppler, ImageMagick or GraphicsMagick. */ + background?: ColorLike | undefined; + } + + interface OpenSlideInputOptions { + /** Level to extract from a multi-level input, zero based. (optional, default 0) */ + level?: number | undefined; + } + + interface Jp2InputOptions { + /** Set to `true` to load JPEG 2000 images using [oneshot mode](https://github.com/libvips/libvips/issues/4205) */ + oneshot?: boolean | undefined; + } + + interface ExifDir { + [k: string]: string; + } + + interface Exif { + 'IFD0'?: ExifDir; + 'IFD1'?: ExifDir; + 'IFD2'?: ExifDir; + 'IFD3'?: ExifDir; + } + + type HeifCompression = 'av1' | 'hevc'; + + type HeifTune = 'auto' | 'iq' | 'psnr' | 'ssim'; + + type Unit = 'inch' | 'cm'; + + type MediaType = + 'application/pdf' | + 'image/avif' | + 'image/fits' | + 'image/gif' | + 'image/heic' | + 'image/jp2' | + 'image/jpeg' | + 'image/jxl' | + 'image/png' | + 'image/svg+xml' | + 'image/tiff' | + 'image/vnd.radiance' | + 'image/webp' | + 'image/x-exr' | + 'image/x-portable-pixmap'; + + interface WriteableMetadata { + /** Number of pixels per inch (DPI) */ + density?: number | undefined; + /** Value between 1 and 8, used to update the EXIF Orientation tag. */ + orientation?: number | undefined; + /** + * Filesystem path to output ICC profile, defaults to sRGB. + * @deprecated Use `withIccProfile()` instead. + */ + icc?: string | undefined; + /** + * Object keyed by IFD0, IFD1 etc. of key/value string pairs to write as EXIF data. + * @deprecated Use `withExif()` or `withExifMerge()` instead. + */ + exif?: Exif | undefined; + } + + interface Metadata { + /** Number value of the EXIF Orientation header, if present */ + orientation?: number | undefined; + /** Name of decoder used to decompress image data e.g. jpeg, png, webp, gif, svg */ + format: keyof FormatEnum; + /** Total size of image in bytes, for Stream and Buffer input only */ + size?: number | undefined; + /** Number of pixels wide (EXIF orientation is not taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is not taken into consideration) */ + height: number; + /** Any changed metadata after the image orientation is applied. */ + autoOrient: { + /** Number of pixels wide (EXIF orientation is taken into consideration) */ + width: number; + /** Number of pixels high (EXIF orientation is taken into consideration) */ + height: number; + }; + /** Name of colour space interpretation */ + space: keyof ColourspaceEnum; + /** Number of bands e.g. 3 for sRGB, 4 for CMYK */ + channels: Channels; + /** Name of pixel depth format e.g. uchar, char, ushort, float ... */ + depth: keyof DepthEnum; + /** Number of pixels per inch (DPI), if present */ + density?: number | undefined; + /** String containing JPEG chroma subsampling, 4:2:0 or 4:4:4 for RGB, 4:2:0:4 or 4:4:4:4 for CMYK */ + chromaSubsampling?: string | undefined; + /** Boolean indicating whether the image is interlaced using a progressive scan */ + isProgressive: boolean; + /** Boolean indicating whether the image is palette-based (GIF, PNG). */ + isPalette: boolean; + /** Number of bits per sample for each channel (GIF, PNG). */ + bitsPerSample?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; + /** Number of times to loop an animated image, zero refers to a continuous loop. */ + loop?: number | undefined; + /** Delay in ms between each page in an animated image, provided as an array of integers. */ + delay?: number[] | undefined; + /** Number of the primary page in a HEIF image */ + pagePrimary?: number | undefined; + /** Boolean indicating the presence of an embedded ICC profile */ + hasProfile: boolean; + /** Boolean indicating the presence of an alpha transparency channel */ + hasAlpha: boolean; + /** Buffer containing raw EXIF data, if present */ + exif?: Buffer | undefined; + /** Buffer containing raw ICC profile data, if present */ + icc?: Buffer | undefined; + /** Buffer containing raw IPTC data, if present */ + iptc?: Buffer | undefined; + /** Buffer containing raw XMP data, if present */ + xmp?: Buffer | undefined; + /** String containing XMP data, if valid UTF-8 */ + xmpAsString?: string | undefined; + /** Buffer containing raw TIFFTAG_PHOTOSHOP data, if present */ + tifftagPhotoshop?: Buffer | undefined; + /** The encoder used to compress an HEIF file, `av1` (AVIF) or `hevc` (HEIC) */ + compression?: HeifCompression | undefined; + /** Default background colour, if present, for PNG (bKGD) and GIF images */ + background?: { r: number; g: number; b: number } | { gray: number }; + /** Details of each level in a multi-level image provided as an array of objects, requires libvips compiled with support for OpenSlide */ + levels?: LevelMetadata[] | undefined; + /** Number of Sub Image File Directories in an OME-TIFF image */ + subifds?: number | undefined; + /** The unit of resolution (density) */ + resolutionUnit?: Unit | undefined; + /** String containing format for images loaded via *magick */ + formatMagick?: string | undefined; + /** Array of keyword/text pairs representing PNG text blocks, if present. */ + comments?: CommentsMetadata[] | undefined; + /** HDR gain map, if present */ + gainMap?: GainMapMetadata | undefined; + /** Media Type (MIME Type) */ + mediaType?: MediaType | undefined; + } + + interface LevelMetadata { + width: number; + height: number; + } + + interface CommentsMetadata { + keyword: string; + text: string; + } + + interface GainMapMetadata { + /** JPEG image */ + image: Buffer; + } + + interface Stats { + /** Array of channel statistics for each channel in the image. */ + channels: ChannelStats[]; + /** Value to identify if the image is opaque or transparent, based on the presence and use of alpha channel */ + isOpaque: boolean; + /** Histogram-based estimation of greyscale entropy, discarding alpha channel if any */ + entropy: number; + /** Estimation of greyscale sharpness based on the standard deviation of a Laplacian convolution, discarding alpha channel if any */ + sharpness: number; + /** Object containing most dominant sRGB colour based on a 4096-bin 3D histogram */ + dominant: { r: number; g: number; b: number }; + } + + interface ChannelStats { + /** minimum value in the channel */ + min: number; + /** maximum value in the channel */ + max: number; + /** sum of all values in a channel */ + sum: number; + /** sum of squared values in a channel */ + squaresSum: number; + /** mean of the values in a channel */ + mean: number; + /** standard deviation for the values in a channel */ + stdev: number; + /** x-coordinate of one of the pixel where the minimum lies */ + minX: number; + /** y-coordinate of one of the pixel where the minimum lies */ + minY: number; + /** x-coordinate of one of the pixel where the maximum lies */ + maxX: number; + /** y-coordinate of one of the pixel where the maximum lies */ + maxY: number; + } + + interface OutputOptions { + /** Force format output, otherwise attempt to use input format (optional, default true) */ + force?: boolean | undefined; + } + + interface WithIccProfileOptions { + /** Should the ICC profile be included in the output image metadata? (optional, default true) */ + attach?: boolean | undefined; + } + + interface JpegOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** Set to '4:4:4' to prevent chroma subsampling when quality <= 90 (optional, default '4:2:0') */ + chromaSubsampling?: string | undefined; + /** Apply trellis quantisation (optional, default false) */ + trellisQuantisation?: boolean | undefined; + /** Apply overshoot deringing (optional, default false) */ + overshootDeringing?: boolean | undefined; + /** Optimise progressive scans, forces progressive (optional, default false) */ + optimiseScans?: boolean | undefined; + /** Alternative spelling of optimiseScans (optional, default false) */ + optimizeScans?: boolean | undefined; + /** Optimise Huffman coding tables (optional, default true) */ + optimiseCoding?: boolean | undefined; + /** Alternative spelling of optimiseCoding (optional, default true) */ + optimizeCoding?: boolean | undefined; + /** Quantization table to use, integer 0-8 (optional, default 0) */ + quantisationTable?: number | undefined; + /** Alternative spelling of quantisationTable (optional, default 0) */ + quantizationTable?: number | undefined; + /** Use mozjpeg defaults (optional, default false) */ + mozjpeg?: boolean | undefined; + } + + interface Jp2Options extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean; + /** Horizontal tile size (optional, default 512) */ + tileWidth?: number; + /** Vertical tile size (optional, default 512) */ + tileHeight?: number; + /** Set to '4:2:0' to enable chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: '4:4:4' | '4:2:0'; + } + + interface JxlOptions extends OutputOptions, AnimationOptions { + /** Maximum encoding error, between 0 (highest quality) and 15 (lowest quality) (optional, default 1.0) */ + distance?: number; + /** Calculate distance based on JPEG-like quality, between 1 and 100, overrides distance if specified */ + quality?: number; + /** Target decode speed tier, between 0 (highest quality) and 4 (lowest quality) (optional, default 0) */ + decodingTier?: number; + /** Use lossless compression (optional, default false) */ + lossless?: boolean; + /** CPU effort, between 1 (fastest) and 9 (slowest) (optional, default 7) */ + effort?: number | undefined; + } + + interface WebpOptions extends OutputOptions, AnimationOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Quality of alpha layer, number from 0-100 (optional, default 100) */ + alphaQuality?: number | undefined; + /** Use lossless compression mode (optional, default false) */ + lossless?: boolean | undefined; + /** Use near_lossless compression mode (optional, default false) */ + nearLossless?: boolean | undefined; + /** Use high quality chroma subsampling (optional, default false) */ + smartSubsample?: boolean | undefined; + /** Auto-adjust the deblocking filter, slow but can improve low contrast edges (optional, default false) */ + smartDeblock?: boolean | undefined; + /** Level of CPU effort to reduce file size, integer 0-6 (optional, default 4) */ + effort?: number | undefined; + /** Prevent use of animation key frames to minimise file size (slow) (optional, default false) */ + minSize?: boolean | undefined; + /** Allow mixture of lossy and lossless animation frames (slow) (optional, default false) */ + mixed?: boolean | undefined; + /** Preset options: one of default, photo, picture, drawing, icon, text (optional, default 'default') */ + preset?: keyof PresetEnum | undefined; + /** Preserve the colour data in transparent pixels (optional, default false) */ + exact?: boolean | undefined; + } + + interface AvifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling, requires libvips v8.11.0 (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; + } + + interface HeifOptions extends OutputOptions { + /** quality, integer 1-100 (optional, default 50) */ + quality?: number | undefined; + /** compression format: av1, hevc (optional, default 'av1') */ + compression?: HeifCompression | undefined; + /** use lossless compression (optional, default false) */ + lossless?: boolean | undefined; + /** Level of CPU effort to reduce file size, between 0 (fastest) and 9 (slowest) (optional, default 4) */ + effort?: number | undefined; + /** set to '4:2:0' to use chroma subsampling (optional, default '4:4:4') */ + chromaSubsampling?: string | undefined; + /** Set bitdepth to 8, 10 or 12 bit (optional, default 8) */ + bitdepth?: 8 | 10 | 12 | undefined; + /** Tune output for a quality metric, one of 'auto', 'iq', 'psnr' or 'ssim' (optional, default 'auto') */ + tune?: HeifTune | undefined; + } + + interface GifOptions extends OutputOptions, AnimationOptions { + /** Re-use existing palette, otherwise generate new (slow) */ + reuse?: boolean | undefined; + /** Use progressive (interlace) scan */ + progressive?: boolean | undefined; + /** Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colours?: number | undefined; + /** Alternative spelling of "colours". Maximum number of palette entries, including transparency, between 2 and 256 (optional, default 256) */ + colors?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest) (optional, default 7) */ + effort?: number | undefined; + /** Level of Floyd-Steinberg error diffusion, between 0 (least) and 1 (most) (optional, default 1.0) */ + dither?: number | undefined; + /** Maximum inter-frame error for transparency, between 0 (lossless) and 32 (optional, default 0) */ + interFrameMaxError?: number | undefined; + /** Maximum inter-palette error for palette reuse, between 0 and 256 (optional, default 3) */ + interPaletteMaxError?: number | undefined; + /** Keep duplicate frames in the output instead of combining them (optional, default false) */ + keepDuplicateFrames?: boolean | undefined; + } + + interface TiffOptions extends OutputOptions { + /** Quality, integer 1-100 (optional, default 80) */ + quality?: number | undefined; + /** Compression options: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k (optional, default 'jpeg') */ + compression?: string | undefined; + /** Use BigTIFF variant (has no effect when compression is none) (optional, default false) */ + bigtiff?: boolean | undefined; + /** Compression predictor options: none, horizontal, float (optional, default 'horizontal') */ + predictor?: string | undefined; + /** Write an image pyramid (optional, default false) */ + pyramid?: boolean | undefined; + /** Write a tiled tiff (optional, default false) */ + tile?: boolean | undefined; + /** Horizontal tile size (optional, default 256) */ + tileWidth?: number | undefined; + /** Vertical tile size, valid values are integers in the range 1-32768 (optional, default 256) */ + tileHeight?: number | undefined; + /** Horizontal resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + xres?: number | undefined; + /** Vertical resolution in pixels/mm, valid values are numbers in the range 0.001-1000000 (optional, default 1.0) */ + yres?: number | undefined; + /** Reduce bitdepth to 1, 2 or 4 bit (optional) */ + bitdepth?: 1 | 2 | 4 | undefined; + /** Write 1-bit images as miniswhite (optional, default false) */ + miniswhite?: boolean | undefined; + /** Resolution unit options: inch, cm (optional, default 'inch') */ + resolutionUnit?: Unit | undefined; + } + + interface PngOptions extends OutputOptions { + /** Use progressive (interlace) scan (optional, default false) */ + progressive?: boolean | undefined; + /** zlib compression level, 0-9 (optional, default 6) */ + compressionLevel?: number | undefined; + /** Use adaptive row filtering (optional, default false) */ + adaptiveFiltering?: boolean | undefined; + /** Use the lowest number of colours needed to achieve given quality (optional, default `100`) */ + quality?: number | undefined; + /** Level of CPU effort to reduce file size, between 1 (fastest) and 10 (slowest), sets palette to true (optional, default 7) */ + effort?: number | undefined; + /** Quantise to a palette-based image with alpha transparency support (optional, default false) */ + palette?: boolean | undefined; + /** Maximum number of palette entries (optional, default 256) */ + colours?: number | undefined; + /** Alternative Spelling of "colours". Maximum number of palette entries (optional, default 256) */ + colors?: number | undefined; + /** Level of Floyd-Steinberg error diffusion (optional, default 1.0) */ + dither?: number | undefined; + } + + interface RotateOptions { + /** parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: ColorLike | undefined; + } + + type Precision = 'integer' | 'float' | 'approximate'; + + interface BlurOptions { + /** A value between 0.3 and 1000 representing the sigma of the Gaussian mask, where `sigma = 1 + radius / 2` */ + sigma: number; + /** A value between 0.001 and 1. A smaller value will generate a larger, more accurate mask. */ + minAmplitude?: number; + /** How accurate the operation should be, one of: integer, float, approximate. (optional, default "integer") */ + precision?: Precision | undefined; + } + + interface FlattenOptions { + /** background colour, parsed by the color module, defaults to black. (optional, default {r:0,g:0,b:0}) */ + background?: ColorLike | undefined; + } + + interface NegateOptions { + /** whether or not to negate any alpha channel. (optional, default true) */ + alpha?: boolean | undefined; + } + + interface NormaliseOptions { + /** Percentile below which luminance values will be underexposed. */ + lower?: number | undefined; + /** Percentile above which luminance values will be overexposed. */ + upper?: number | undefined; + } + + interface ResizeOptions { + /** Alternative means of specifying width. If both are present this takes priority. */ + width?: number | undefined; + /** Alternative means of specifying height. If both are present this takes priority. */ + height?: number | undefined; + /** How the image should be resized to fit both provided dimensions, one of cover, contain, fill, inside or outside. (optional, default 'cover') */ + fit?: keyof FitEnum | undefined; + /** Position, gravity or strategy to use when fit is cover or contain. (optional, default 'centre') */ + position?: number | string | undefined; + /** Background colour when using a fit of contain, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** The kernel to use for image reduction. (optional, default 'lanczos3') */ + kernel?: keyof KernelEnum | undefined; + /** Do not enlarge if the width or height are already less than the specified dimensions, equivalent to GraphicsMagick's > geometry option. (optional, default false) */ + withoutEnlargement?: boolean | undefined; + /** Do not reduce if the width or height are already greater than the specified dimensions, equivalent to GraphicsMagick's < geometry option. (optional, default false) */ + withoutReduction?: boolean | undefined; + /** Take greater advantage of the JPEG and WebP shrink-on-load feature, which can lead to a slight moiré pattern on some images. (optional, default true) */ + fastShrinkOnLoad?: boolean | undefined; + } + + interface Region { + /** zero-indexed offset from left edge, an integer between 0 and 100000000 */ + left: number; + /** zero-indexed offset from top edge, an integer between 0 and 100000000 */ + top: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + width: number; + /** dimension of extracted image, an integer between 0 and 100000000 */ + height: number; + } + + interface Noise { + /** type of generated noise, currently only gaussian is supported. */ + type: 'gaussian'; + /** mean of pixels in generated noise. */ + mean?: number | undefined; + /** standard deviation of pixels in generated noise. */ + sigma?: number | undefined; + } + + type ExtendWith = 'background' | 'copy' | 'repeat' | 'mirror'; + + interface ExtendOptions { + /** single pixel count to top edge, valid values are integers in the range 0-10000 (optional, default 0) */ + top?: number | undefined; + /** single pixel count to left edge, valid values are integers in the range 0-10000 (optional, default 0) */ + left?: number | undefined; + /** single pixel count to bottom edge, valid values are integers in the range 0-10000 (optional, default 0) */ + bottom?: number | undefined; + /** single pixel count to right edge, valid values are integers in the range 0-10000 (optional, default 0) */ + right?: number | undefined; + /** background colour, parsed by the color module, defaults to black without transparency. (optional, default {r:0,g:0,b:0,alpha:1}) */ + background?: ColorLike | undefined; + /** how the extension is done, one of: "background", "copy", "repeat", "mirror" (optional, default `'background'`) */ + extendWith?: ExtendWith | undefined; + } + + interface TrimOptions { + /** Background colour, parsed by the color module, defaults to that of the top-left pixel. (optional) */ + background?: ColorLike | undefined; + /** Allowed difference from the above colour, a positive number. (optional, default 10) */ + threshold?: number | undefined; + /** Does the input more closely resemble line art (e.g. vector) rather than being photographic? (optional, default false) */ + lineArt?: boolean | undefined; + /** Leave a margin around trimmed content, integral number of pixels between 0 and 10000000. (optional, default 0) */ + margin?: number | undefined; + } + + interface RawOptions { + depth?: keyof DepthEnum; + } + + /** 1 for grayscale, 2 for grayscale + alpha, 3 for sRGB, 4 for CMYK or RGBA */ + type Channels = 1 | 2 | 3 | 4; + + type Colour = ColorLike; + type Color = ColorLike; + + interface Kernel { + /** width of the kernel in pixels. */ + width: number; + /** height of the kernel in pixels. */ + height: number; + /** Array of length width*height containing the kernel values. */ + kernel: ArrayLike; + /** the scale of the kernel in pixels. (optional, default sum) */ + scale?: number | undefined; + /** the offset of the kernel in pixels. (optional, default 0) */ + offset?: number | undefined; + } + + interface ClaheOptions { + /** width of the region. Valid values are integers in the range 1-65536. */ + width: number; + /** height of the region. Valid values are integers in the range 1-65536. */ + height: number; + /** max slope of the cumulative contrast. A value of 0 disables contrast limiting. Valid values are integers in the range 0-100. (optional, default 3) */ + maxSlope?: number | undefined; + } + + interface ThresholdOptions { + /** convert to single channel greyscale. (optional, default true) */ + greyscale?: boolean | undefined; + /** alternative spelling for greyscale. (optional, default true) */ + grayscale?: boolean | undefined; + } + + interface OverlayOptions extends SharpOptions { + /** Buffer containing image data, String containing the path to an image file, or Create object */ + input?: string | Buffer | { create: Create } | { text: CreateText } | { raw: CreateRaw } | undefined; + /** how to blend this image with the image below. (optional, default `'over'`) */ + blend?: Blend | undefined; + /** gravity at which to place the overlay. (optional, default 'centre') */ + gravity?: Gravity | undefined; + /** the pixel offset from the top edge, an integer between -100000000 and 100000000. */ + top?: number | undefined; + /** the pixel offset from the left edge, an integer between -100000000 and 100000000. */ + left?: number | undefined; + /** set to true to repeat the overlay image across the entire image with the given gravity. (optional, default false) */ + tile?: boolean | undefined; + /** Set to true to avoid premultipling the image below. Equivalent to the --premultiplied vips option. */ + premultiplied?: boolean | undefined; + /** number representing the DPI for vector overlay image. (optional, default 72)*/ + density?: number | undefined; + /** Set to true to read all frames/pages of an animated image. (optional, default false) */ + animated?: boolean | undefined; + /** see sharp() constructor, (optional, default 'warning') */ + failOn?: FailOnOptions | undefined; + /** see sharp() constructor, (optional, default 268402689) */ + limitInputPixels?: number | boolean | undefined; + /** see sharp() constructor, (optional, default false) */ + autoOrient?: boolean | undefined; + } + + interface TileOptions { + /** Tile size in pixels, a value between 1 and 8192. (optional, default 256) */ + size?: number | undefined; + /** Tile overlap in pixels, a value between 0 and 8192. (optional, default 0) */ + overlap?: number | undefined; + /** Tile angle of rotation, must be a multiple of 90. (optional, default 0) */ + angle?: number | undefined; + /** background colour, parsed by the color module, defaults to white without transparency. (optional, default {r:255,g:255,b:255,alpha:1}) */ + background?: ColorLike | undefined; + /** How deep to make the pyramid, possible values are "onepixel", "onetile" or "one" (default based on layout) */ + depth?: string | undefined; + /** Threshold to skip tile generation, a value 0 - 255 for 8-bit images or 0 - 65535 for 16-bit images */ + skipBlanks?: number | undefined; + /** Tile container, with value fs (filesystem) or zip (compressed file). (optional, default 'fs') */ + container?: TileContainer | undefined; + /** Filesystem layout, possible values are dz, iiif, iiif3, zoomify or google. (optional, default 'dz') */ + layout?: TileLayout | undefined; + /** Centre image in tile. (optional, default false) */ + centre?: boolean | undefined; + /** Alternative spelling of centre. (optional, default false) */ + center?: boolean | undefined; + /** When layout is iiif/iiif3, sets the @id/id attribute of info.json (optional, default 'https://example.com/iiif') */ + id?: string | undefined; + /** The name of the directory within the zip file when container is `zip`. */ + basename?: string | undefined; + } + + interface AnimationOptions { + /** Number of animation iterations, a value between 0 and 65535. Use 0 for infinite animation. (optional, default 0) */ + loop?: number | undefined; + /** delay(s) between animation frames (in milliseconds), each value between 0 and 65535. (optional) */ + delay?: number | number[] | undefined; + } + + interface SharpenOptions { + /** The sigma of the Gaussian mask, where sigma = 1 + radius / 2, between 0.000001 and 10000 */ + sigma: number; + /** The level of sharpening to apply to "flat" areas, between 0 and 1000000 (optional, default 1.0) */ + m1?: number | undefined; + /** The level of sharpening to apply to "jagged" areas, between 0 and 1000000 (optional, default 2.0) */ + m2?: number | undefined; + /** Threshold between "flat" and "jagged", between 0 and 1000000 (optional, default 2.0) */ + x1?: number | undefined; + /** Maximum amount of brightening, between 0 and 1000000 (optional, default 10.0) */ + y2?: number | undefined; + /** Maximum amount of darkening, between 0 and 1000000 (optional, default 20.0) */ + y3?: number | undefined; + } + + interface AffineOptions { + /** Parsed by the color module to extract values for red, green, blue and alpha. (optional, default "#000000") */ + background?: string | object | undefined; + /** Input horizontal offset (optional, default 0) */ + idx?: number | undefined; + /** Input vertical offset (optional, default 0) */ + idy?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + odx?: number | undefined; + /** Output horizontal offset (optional, default 0) */ + ody?: number | undefined; + /** Interpolator (optional, default sharp.interpolators.bicubic) */ + interpolator?: Interpolators[keyof Interpolators] | undefined; + } + + interface OutputInfo { + format: string; + size: number; + width: number; + height: number; + channels: Channels; + /** indicating if premultiplication was used */ + premultiplied: boolean; + /** Indicates if the output image has an alpha channel */ + hasAlpha: boolean; + /** Only defined when using a crop strategy */ + cropOffsetLeft?: number | undefined; + /** Only defined when using a crop strategy */ + cropOffsetTop?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetLeft?: number | undefined; + /** Only defined when using a trim method */ + trimOffsetTop?: number | undefined; + /** DPI the font was rendered at, only defined when using `text` input */ + textAutofitDpi?: number | undefined; + /** When using the attention crop strategy, the focal point of the cropped region */ + attentionX?: number | undefined; + attentionY?: number | undefined; + /** Number of pages/frames contained within the image, with support for TIFF, HEIF, PDF, animated GIF and animated WebP */ + pages?: number | undefined; + /** Number of pixels high each page in a multi-page image will be. */ + pageHeight?: number | undefined; + } + + interface AvailableFormatInfo { + id: string; + input: { file: boolean; buffer: boolean; stream: boolean; fileSuffix?: string[] }; + output: { file: boolean; buffer: boolean; stream: boolean; alias?: string[] }; + } + + interface FitEnum { + contain: 'contain'; + cover: 'cover'; + fill: 'fill'; + inside: 'inside'; + outside: 'outside'; + } + + interface KernelEnum { + nearest: 'nearest'; + cubic: 'cubic'; + linear: 'linear'; + mitchell: 'mitchell'; + lanczos2: 'lanczos2'; + lanczos3: 'lanczos3'; + mks2013: 'mks2013'; + mks2021: 'mks2021'; + } + + interface PresetEnum { + default: 'default'; + picture: 'picture'; + photo: 'photo'; + drawing: 'drawing'; + icon: 'icon'; + text: 'text'; + } + + interface BoolEnum { + and: 'and'; + or: 'or'; + eor: 'eor'; + } + + interface ColourspaceEnum { + 'b-w': string; + cmc: string; + cmyk: string; + fourier: string; + grey16: string; + histogram: string; + hsv: string; + lab: string; + labq: string; + labs: string; + lch: string; + matrix: string; + multiband: string; + rgb: string; + rgb16: string; + scrgb: string; + srgb: string; + xyz: string; + yxy: string; + } + + interface DepthEnum { + char: string; + complex: string; + double: string; + dpcomplex: string; + float: string; + int: string; + short: string; + uchar: string; + uint: string; + ushort: string; + } + + type FailOnOptions = 'none' | 'truncated' | 'error' | 'warning'; + + type TextAlign = 'left' | 'centre' | 'center' | 'right'; + + type TextWrap = 'word' | 'char' | 'word-char' | 'none'; + + type HorizontalAlignment = 'left' | 'centre' | 'center' | 'right'; + + type VerticalAlignment = 'top' | 'centre' | 'center' | 'bottom'; + + type TileContainer = 'fs' | 'zip'; + + type TileLayout = 'dz' | 'iiif' | 'iiif3' | 'zoomify' | 'google'; + + type Blend = + | 'clear' + | 'source' + | 'over' + | 'in' + | 'out' + | 'atop' + | 'dest' + | 'dest-over' + | 'dest-in' + | 'dest-out' + | 'dest-atop' + | 'xor' + | 'add' + | 'saturate' + | 'multiply' + | 'screen' + | 'overlay' + | 'darken' + | 'lighten' + | 'color-dodge' + | 'colour-dodge' + | 'color-burn' + | 'colour-burn' + | 'hard-light' + | 'soft-light' + | 'difference' + | 'exclusion'; + + type Gravity = number | string; + + interface GravityEnum { + north: number; + northeast: number; + southeast: number; + south: number; + southwest: number; + west: number; + northwest: number; + east: number; + center: number; + centre: number; + } + + interface StrategyEnum { + entropy: number; + attention: number; + } + + interface FormatEnum { + dcraw: AvailableFormatInfo; + dz: AvailableFormatInfo; + exr: AvailableFormatInfo; + fits: AvailableFormatInfo; + gif: AvailableFormatInfo; + heif: AvailableFormatInfo; + jpeg: AvailableFormatInfo; + jp2: AvailableFormatInfo; + jxl: AvailableFormatInfo; + magick: AvailableFormatInfo; + openslide: AvailableFormatInfo; + pdf: AvailableFormatInfo; + png: AvailableFormatInfo; + ppm: AvailableFormatInfo; + rad: AvailableFormatInfo; + raw: AvailableFormatInfo; + svg: AvailableFormatInfo; + tiff: AvailableFormatInfo; + vips: AvailableFormatInfo; + webp: AvailableFormatInfo; + } + + interface CacheResult { + memory: { current: number; high: number; max: number }; + files: { current: number; max: number }; + items: { current: number; max: number }; + } + + interface Interpolators { + /** [Nearest neighbour interpolation](http://en.wikipedia.org/wiki/Nearest-neighbor_interpolation). Suitable for image enlargement only. */ + nearest: 'nearest'; + /** [Bilinear interpolation](http://en.wikipedia.org/wiki/Bilinear_interpolation). Faster than bicubic but with less smooth results. */ + bilinear: 'bilinear'; + /** [Bicubic interpolation](http://en.wikipedia.org/wiki/Bicubic_interpolation) (the default). */ + bicubic: 'bicubic'; + /** + * [LBB interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/lbb.cpp#L100). + * Prevents some "[acutance](http://en.wikipedia.org/wiki/Acutance)" but typically reduces performance by a factor of 2. + */ + locallyBoundedBicubic: 'lbb'; + /** [Nohalo interpolation](http://eprints.soton.ac.uk/268086/). Prevents acutance but typically reduces performance by a factor of 3. */ + nohalo: 'nohalo'; + /** [VSQBS interpolation](https://github.com/libvips/libvips/blob/master/libvips/resample/vsqbs.cpp#L48). Prevents "staircasing" when enlarging. */ + vertexSplitQuadraticBasisSpline: 'vsqbs'; + } + + type Matrix2x2 = [[number, number], [number, number]]; + type Matrix3x3 = [[number, number, number], [number, number, number], [number, number, number]]; + type Matrix4x4 = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]]; +} + +export = sharp; diff --git a/apps/api/.output/node_modules/sharp/node_modules/.bin/semver b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver new file mode 100644 index 0000000..f2d68be --- /dev/null +++ b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver @@ -0,0 +1,21 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) + if command -v cygpath > /dev/null 2>&1; then + basedir=`cygpath -w "$basedir"` + fi + ;; +esac + +if [ -z "$NODE_PATH" ]; then + export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules" +else + export NODE_PATH="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules:$NODE_PATH" +fi +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" "$@" +else + exec node "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" "$@" +fi diff --git a/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.CMD b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.CMD new file mode 100644 index 0000000..8002613 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.CMD @@ -0,0 +1,12 @@ +@SETLOCAL +@IF NOT DEFINED NODE_PATH ( + @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules" +) ELSE ( + @SET "NODE_PATH=E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules;%NODE_PATH%" +) +@IF EXIST "%~dp0\node.exe" ( + "%~dp0\node.exe" "%~dp0\..\..\..\..\..\semver@7.8.5\node_modules\semver\bin\semver.js" %* +) ELSE ( + @SET PATHEXT=%PATHEXT:;.JS;=;% + node "%~dp0\..\..\..\..\..\semver@7.8.5\node_modules\semver\bin\semver.js" %* +) diff --git a/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.ps1 b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.ps1 new file mode 100644 index 0000000..2541b7c --- /dev/null +++ b/apps/api/.output/node_modules/sharp/node_modules/.bin/semver.ps1 @@ -0,0 +1,41 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +$pathsep=":" +$env_node_path=$env:NODE_PATH +$new_node_path="E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules\semver\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\semver@7.8.5\node_modules;E:\imen pishghaman\imen_pishghaman\node_modules\.pnpm\node_modules" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" + $pathsep=";" +} else { + $new_node_path="/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules/semver/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/semver@7.8.5/node_modules:/proc/cygdrive/e/imen pishghaman/imen_pishghaman/node_modules/.pnpm/node_modules" +} +if ([string]::IsNullOrEmpty($env_node_path)) { + $env:NODE_PATH=$new_node_path +} else { + $env:NODE_PATH="$new_node_path$pathsep$env_node_path" +} + +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" $args + } else { + & "$basedir/node$exe" "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" $args + } else { + & "node$exe" "$basedir/../../../../../semver@7.8.5/node_modules/semver/bin/semver.js" $args + } + $ret=$LASTEXITCODE +} +$env:NODE_PATH=$env_node_path +exit $ret diff --git a/apps/api/.output/node_modules/sharp/package.json b/apps/api/.output/node_modules/sharp/package.json new file mode 100644 index 0000000..64daa84 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/package.json @@ -0,0 +1,227 @@ +{ + "name": "sharp", + "description": "High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images", + "version": "0.35.5", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "contributors": [ + "Pierre Inglebert ", + "Jonathan Ong ", + "Chanon Sajjamanochai ", + "Juliano Julio ", + "Daniel Gasienica ", + "Julian Walker ", + "Amit Pitaru ", + "Brandon Aaron ", + "Andreas Lind ", + "Maurus Cuelenaere ", + "Linus Unnebäck ", + "Victor Mateevitsi ", + "Alaric Holloway ", + "Bernhard K. Weisshuhn ", + "Chris Riley ", + "David Carley ", + "John Tobin ", + "Kenton Gray ", + "Felix Bünemann ", + "Samy Al Zahrani ", + "Chintan Thakkar ", + "F. Orlando Galashan ", + "Kleis Auke Wolthuizen ", + "Matt Hirsch ", + "Matthias Thoemmes ", + "Patrick Paskaris ", + "Jérémy Lal ", + "Rahul Nanwani ", + "Alice Monday ", + "Kristo Jorgenson ", + "YvesBos ", + "Guy Maliar ", + "Nicolas Coden ", + "Matt Parrish ", + "Marcel Bretschneider ", + "Matthew McEachen ", + "Jarda Kotěšovec ", + "Kenric D'Souza ", + "Oleh Aleinyk ", + "Marcel Bretschneider ", + "Andrea Bianco ", + "Rik Heywood ", + "Thomas Parisot ", + "Nathan Graves ", + "Tom Lokhorst ", + "Espen Hovlandsdal ", + "Sylvain Dumont ", + "Alun Davies ", + "Aidan Hoolachan ", + "Axel Eirola ", + "Freezy ", + "Daiz ", + "Julian Aubourg ", + "Keith Belovay ", + "Michael B. Klein ", + "Jordan Prudhomme ", + "Ilya Ovdin ", + "Andargor ", + "Paul Neave ", + "Brendan Kennedy ", + "Brychan Bennett-Odlum ", + "Edward Silverton ", + "Roman Malieiev ", + "Tomas Szabo ", + "Robert O'Rourke ", + "Guillermo Alfonso Varela Chouciño ", + "Christian Flintrup ", + "Manan Jadhav ", + "Leon Radley ", + "alza54 ", + "Jacob Smith ", + "Michael Nutt ", + "Brad Parham ", + "Taneli Vatanen ", + "Joris Dugué ", + "Chris Banks ", + "Ompal Singh ", + "Brodan ", + "Ankur Parihar ", + "Brahim Ait elhaj ", + "Mart Jansink ", + "Lachlan Newman ", + "Dennis Beatty ", + "Ingvar Stepanyan ", + "Don Denton ", + "Dmytro Tiapukhin ", + "Florian Lefebvre " + ], + "scripts": { + "build": "node install/build.js", + "build:dist": "node scripts/build.mjs", + "clean": "rm -rf src/build/ test/fixtures/output.*", + "test": "npm run lint && npm run test-unit", + "lint": "npm run lint-cpp && npm run lint-js && npm run lint-types && npm run lint-publish", + "lint-cpp": "cpplint --quiet src/*.h src/*.cc", + "lint-js": "biome lint", + "lint-publish": "publint --strict", + "lint-types": "tsd --files ./test/types/sharp.test-d.{cts,mts}", + "test-leak": "./test/leak/leak.sh", + "test-unit": "node --experimental-test-coverage test/unit.mjs", + "package-from-local-build": "node npm/from-local-build.js", + "package-wasm-wrappers": "node npm/wasm-wrappers.js", + "package-release-notes": "node npm/release-notes.js", + "docs-build": "node docs/build.mjs", + "docs-serve": "cd docs && npm start", + "docs-publish": "cd docs && npm run build && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp" + }, + "type": "commonjs", + "files": [ + "dist", + "install", + "lib/index.d.ts", + "src/*.{cc,h,gyp}" + ], + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { + ".": { + "import": { + "types": "./dist/index.d.mts", + "default": "./dist/index.mjs" + }, + "require": { + "types": "./dist/index.d.cts", + "default": "./dist/index.cjs" + } + } + }, + "sideEffects": true, + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp.git" + }, + "keywords": [ + "jpeg", + "png", + "webp", + "avif", + "tiff", + "gif", + "svg", + "jp2", + "dzi", + "image", + "resize", + "thumbnail", + "crop", + "embed", + "libvips", + "vips" + ], + "dependencies": { + "@img/colour": "^1.1.0", + "detect-libc": "^2.1.2", + "semver": "^7.8.5" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.35.5", + "@img/sharp-darwin-x64": "0.35.5", + "@img/sharp-freebsd-wasm32": "0.35.5", + "@img/sharp-libvips-darwin-arm64": "1.3.4", + "@img/sharp-libvips-darwin-x64": "1.3.4", + "@img/sharp-libvips-linux-arm": "1.3.4", + "@img/sharp-libvips-linux-arm64": "1.3.4", + "@img/sharp-libvips-linux-ppc64": "1.3.4", + "@img/sharp-libvips-linux-riscv64": "1.3.4", + "@img/sharp-libvips-linux-s390x": "1.3.4", + "@img/sharp-libvips-linux-x64": "1.3.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4", + "@img/sharp-libvips-linuxmusl-x64": "1.3.4", + "@img/sharp-linux-arm": "0.35.5", + "@img/sharp-linux-arm64": "0.35.5", + "@img/sharp-linux-ppc64": "0.35.5", + "@img/sharp-linux-riscv64": "0.35.5", + "@img/sharp-linux-s390x": "0.35.5", + "@img/sharp-linux-x64": "0.35.5", + "@img/sharp-linuxmusl-arm64": "0.35.5", + "@img/sharp-linuxmusl-x64": "0.35.5", + "@img/sharp-webcontainers-wasm32": "0.35.5", + "@img/sharp-win32-arm64": "0.35.5", + "@img/sharp-win32-ia32": "0.35.5", + "@img/sharp-win32-x64": "0.35.5" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + }, + "devDependencies": { + "@biomejs/biome": "^2.5.14", + "@cpplint/cli": "^0.1.0", + "@emnapi/runtime": "^1.11.3", + "@img/sharp-libvips-dev": "1.3.4", + "@img/sharp-libvips-dev-wasm32": "1.3.4", + "@img/sharp-libvips-win32-arm64": "1.3.4", + "@img/sharp-libvips-win32-ia32": "1.3.4", + "@img/sharp-libvips-win32-x64": "1.3.4", + "@types/node": "*", + "emnapi": "^1.11.3", + "exif-reader": "^2.0.3", + "icc": "^4.0.0", + "node-addon-api": "^8.9.2", + "node-gyp": "^12.4.0", + "publint": "^0.3.24", + "tar-fs": "^3.1.3", + "tsd": "^0.33.0", + "yauzl": "^3.4.0" + }, + "license": "Apache-2.0", + "engines": { + "node": ">=20.9.0" + }, + "config": { + "libvips": ">=8.18.7" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } +} diff --git a/apps/api/.output/node_modules/sharp/src/binding.gyp b/apps/api/.output/node_modules/sharp/src/binding.gyp new file mode 100644 index 0000000..71b2c92 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/binding.gyp @@ -0,0 +1,303 @@ +# Copyright 2013 Lovell Fuller and others. +# SPDX-License-Identifier: Apache-2.0 + +{ # noqa: B018 + 'variables': { + 'vips_version': ' +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "./common.h" + +using vips::VImage; + +namespace sharp { + + // Convenience methods to access the attributes of a Napi::Object + bool HasAttr(Napi::Object obj, std::string attr) { + return obj.Has(attr); + } + std::string AttrAsStr(Napi::Object obj, std::string attr) { + return obj.Get(attr).As(); + } + std::string AttrAsStr(Napi::Object obj, unsigned int const attr) { + return obj.Get(attr).As(); + } + uint32_t AttrAsUint32(Napi::Object obj, std::string attr) { + return obj.Get(attr).As().Uint32Value(); + } + int32_t AttrAsInt32(Napi::Object obj, std::string attr) { + return obj.Get(attr).As().Int32Value(); + } + int32_t AttrAsInt32(Napi::Object obj, unsigned int const attr) { + return obj.Get(attr).As().Int32Value(); + } + int64_t AttrAsInt64(Napi::Object obj, std::string attr) { + return obj.Get(attr).As().Int64Value(); + } + double AttrAsDouble(Napi::Object obj, std::string attr) { + return obj.Get(attr).As().DoubleValue(); + } + double AttrAsDouble(Napi::Object obj, unsigned int const attr) { + return obj.Get(attr).As().DoubleValue(); + } + bool AttrAsBool(Napi::Object obj, std::string attr) { + return obj.Get(attr).As().Value(); + } + std::vector AttrAsVectorOfDouble(Napi::Object obj, std::string attr) { + Napi::Array napiArray = obj.Get(attr).As(); + std::vector vectorOfDouble(napiArray.Length()); + for (unsigned int i = 0; i < napiArray.Length(); i++) { + vectorOfDouble[i] = AttrAsDouble(napiArray, i); + } + return vectorOfDouble; + } + std::vector AttrAsInt32Vector(Napi::Object obj, std::string attr) { + Napi::Array array = obj.Get(attr).As(); + std::vector vector(array.Length()); + for (unsigned int i = 0; i < array.Length(); i++) { + vector[i] = AttrAsInt32(array, i); + } + return vector; + } + + // Create an InputDescriptor instance from a Napi::Object describing an input image + InputDescriptor* CreateInputDescriptor(Napi::Object input) { + InputDescriptor *descriptor = new InputDescriptor; + if (HasAttr(input, "file")) { + descriptor->file = AttrAsStr(input, "file"); + } else if (HasAttr(input, "buffer")) { + Napi::Buffer buffer = input.Get("buffer").As>(); + descriptor->bufferLength = buffer.Length(); + descriptor->buffer = buffer.Data(); + descriptor->isBuffer = true; + } + descriptor->failOn = AttrAsEnum(input, "failOn", VIPS_TYPE_FAIL_ON); + // Density for vector-based input + if (HasAttr(input, "density")) { + descriptor->density = AttrAsDouble(input, "density"); + } + // Should we ignore any embedded ICC profile + if (HasAttr(input, "ignoreIcc")) { + descriptor->ignoreIcc = AttrAsBool(input, "ignoreIcc"); + } + // Raw pixel input + if (HasAttr(input, "rawChannels")) { + descriptor->rawDepth = AttrAsEnum(input, "rawDepth", VIPS_TYPE_BAND_FORMAT); + descriptor->rawChannels = AttrAsUint32(input, "rawChannels"); + descriptor->rawWidth = AttrAsUint32(input, "rawWidth"); + descriptor->rawHeight = AttrAsUint32(input, "rawHeight"); + descriptor->rawPremultiplied = AttrAsBool(input, "rawPremultiplied"); + descriptor->rawPageHeight = AttrAsUint32(input, "rawPageHeight"); + } + // Multi-page input (GIF, TIFF, PDF) + if (HasAttr(input, "pages")) { + descriptor->pages = AttrAsInt32(input, "pages"); + } + if (HasAttr(input, "page")) { + descriptor->page = AttrAsUint32(input, "page"); + } + // SVG + if (HasAttr(input, "svgStylesheet")) { + descriptor->svgStylesheet = AttrAsStr(input, "svgStylesheet"); + } + if (HasAttr(input, "svgHighBitdepth")) { + descriptor->svgHighBitdepth = AttrAsBool(input, "svgHighBitdepth"); + } + // Multi-level input (OpenSlide) + if (HasAttr(input, "openSlideLevel")) { + descriptor->openSlideLevel = AttrAsUint32(input, "openSlideLevel"); + } + // subIFD (OME-TIFF) + if (HasAttr(input, "tiffSubifd")) { + descriptor->tiffSubifd = AttrAsInt32(input, "tiffSubifd"); + } + // // PDF background color + if (HasAttr(input, "pdfBackground")) { + descriptor->pdfBackground = AttrAsVectorOfDouble(input, "pdfBackground"); + } + // Use JPEG 2000 oneshot mode? + if (HasAttr(input, "jp2Oneshot")) { + descriptor->jp2Oneshot = AttrAsBool(input, "jp2Oneshot"); + } + // Create new image + if (HasAttr(input, "createChannels")) { + descriptor->createChannels = AttrAsUint32(input, "createChannels"); + descriptor->createWidth = AttrAsUint32(input, "createWidth"); + descriptor->createHeight = AttrAsUint32(input, "createHeight"); + descriptor->createPageHeight = AttrAsUint32(input, "createPageHeight"); + if (HasAttr(input, "createNoiseType")) { + descriptor->createNoiseType = AttrAsStr(input, "createNoiseType"); + descriptor->createNoiseMean = AttrAsDouble(input, "createNoiseMean"); + descriptor->createNoiseSigma = AttrAsDouble(input, "createNoiseSigma"); + } else { + descriptor->createBackground = AttrAsVectorOfDouble(input, "createBackground"); + } + } + // Create new image with text + if (HasAttr(input, "textValue")) { + descriptor->textValue = AttrAsStr(input, "textValue"); + if (HasAttr(input, "textFont")) { + descriptor->textFont = AttrAsStr(input, "textFont"); + } + if (HasAttr(input, "textFontfile")) { + descriptor->textFontfile = AttrAsStr(input, "textFontfile"); + } + if (HasAttr(input, "textWidth")) { + descriptor->textWidth = AttrAsUint32(input, "textWidth"); + } + if (HasAttr(input, "textHeight")) { + descriptor->textHeight = AttrAsUint32(input, "textHeight"); + } + if (HasAttr(input, "textAlign")) { + descriptor->textAlign = AttrAsEnum(input, "textAlign", VIPS_TYPE_ALIGN); + } + if (HasAttr(input, "textJustify")) { + descriptor->textJustify = AttrAsBool(input, "textJustify"); + } + if (HasAttr(input, "textDpi")) { + descriptor->textDpi = AttrAsUint32(input, "textDpi"); + } + if (HasAttr(input, "textRgba")) { + descriptor->textRgba = AttrAsBool(input, "textRgba"); + } + if (HasAttr(input, "textSpacing")) { + descriptor->textSpacing = AttrAsUint32(input, "textSpacing"); + } + if (HasAttr(input, "textWrap")) { + descriptor->textWrap = AttrAsEnum(input, "textWrap", VIPS_TYPE_TEXT_WRAP); + } + } + // Join images together + if (HasAttr(input, "joinAnimated")) { + descriptor->joinAnimated = AttrAsBool(input, "joinAnimated"); + } + if (HasAttr(input, "joinAcross")) { + descriptor->joinAcross = AttrAsUint32(input, "joinAcross"); + } + if (HasAttr(input, "joinShim")) { + descriptor->joinShim = AttrAsUint32(input, "joinShim"); + } + if (HasAttr(input, "joinBackground")) { + descriptor->joinBackground = AttrAsVectorOfDouble(input, "joinBackground"); + } + if (HasAttr(input, "joinHalign")) { + descriptor->joinHalign = AttrAsEnum(input, "joinHalign", VIPS_TYPE_ALIGN); + } + if (HasAttr(input, "joinValign")) { + descriptor->joinValign = AttrAsEnum(input, "joinValign", VIPS_TYPE_ALIGN); + } + descriptor->limitInputPixels = static_cast(AttrAsInt64(input, "limitInputPixels")); + descriptor->limitInputChannels = static_cast(AttrAsInt64(input, "limitInputChannels")); + if (HasAttr(input, "access")) { + descriptor->access = AttrAsBool(input, "sequentialRead") ? VIPS_ACCESS_SEQUENTIAL : VIPS_ACCESS_RANDOM; + } + // Remove safety features and allow unlimited input + descriptor->unlimited = AttrAsBool(input, "unlimited"); + // Use the EXIF orientation to auto orient the image + descriptor->autoOrient = AttrAsBool(input, "autoOrient"); + return descriptor; + } + + // How many tasks are in the queue? + std::atomic counterQueue{0}; + + // How many tasks are being processed? + std::atomic counterProcess{0}; + + // Filename extension checkers + static bool EndsWith(std::string const &str, std::string const &end) { + return str.length() >= end.length() && 0 == str.compare(str.length() - end.length(), end.length(), end); + } + bool IsJpeg(std::string const &str) { + return EndsWith(str, ".jpg") || EndsWith(str, ".jpeg") || EndsWith(str, ".JPG") || EndsWith(str, ".JPEG"); + } + bool IsPng(std::string const &str) { + return EndsWith(str, ".png") || EndsWith(str, ".PNG"); + } + bool IsWebp(std::string const &str) { + return EndsWith(str, ".webp") || EndsWith(str, ".WEBP"); + } + bool IsGif(std::string const &str) { + return EndsWith(str, ".gif") || EndsWith(str, ".GIF"); + } + bool IsJp2(std::string const &str) { + return EndsWith(str, ".jp2") || EndsWith(str, ".jpx") || EndsWith(str, ".j2k") || EndsWith(str, ".j2c") + || EndsWith(str, ".JP2") || EndsWith(str, ".JPX") || EndsWith(str, ".J2K") || EndsWith(str, ".J2C"); + } + bool IsTiff(std::string const &str) { + return EndsWith(str, ".tif") || EndsWith(str, ".tiff") || EndsWith(str, ".TIF") || EndsWith(str, ".TIFF"); + } + bool IsHeic(std::string const &str) { + return EndsWith(str, ".heic") || EndsWith(str, ".HEIC"); + } + bool IsHeif(std::string const &str) { + return EndsWith(str, ".heif") || EndsWith(str, ".HEIF") || IsHeic(str) || IsAvif(str); + } + bool IsAvif(std::string const &str) { + return EndsWith(str, ".avif") || EndsWith(str, ".AVIF"); + } + bool IsJxl(std::string const &str) { + return EndsWith(str, ".jxl") || EndsWith(str, ".JXL"); + } + bool IsDz(std::string const &str) { + return EndsWith(str, ".dzi") || EndsWith(str, ".DZI"); + } + bool IsDzZip(std::string const &str) { + return EndsWith(str, ".zip") || EndsWith(str, ".ZIP") || EndsWith(str, ".szi") || EndsWith(str, ".SZI"); + } + bool IsV(std::string const &str) { + return EndsWith(str, ".v") || EndsWith(str, ".V") || EndsWith(str, ".vips") || EndsWith(str, ".VIPS"); + } + + /* + Trim space from end of string. + */ + std::string TrimEnd(std::string const &str) { + return str.substr(0, str.find_last_not_of(" \n\r\f") + 1); + } + + /* + Provide a string identifier for the given image type. + */ + std::string ImageTypeId(ImageType const imageType) { + std::string id; + switch (imageType) { + case ImageType::JPEG: id = "jpeg"; break; + case ImageType::PNG: id = "png"; break; + case ImageType::WEBP: id = "webp"; break; + case ImageType::TIFF: id = "tiff"; break; + case ImageType::GIF: id = "gif"; break; + case ImageType::JP2: id = "jp2"; break; + case ImageType::SVG: id = "svg"; break; + case ImageType::HEIF: id = "heif"; break; + case ImageType::PDF: id = "pdf"; break; + case ImageType::MAGICK: id = "magick"; break; + case ImageType::OPENSLIDE: id = "openslide"; break; + case ImageType::PPM: id = "ppm"; break; + case ImageType::FITS: id = "fits"; break; + case ImageType::EXR: id = "exr"; break; + case ImageType::JXL: id = "jxl"; break; + case ImageType::RAD: id = "rad"; break; + case ImageType::DCRAW: id = "dcraw"; break; + case ImageType::UHDR: id = "uhdr"; break; + case ImageType::VIPS: id = "vips"; break; + case ImageType::RAW: id = "raw"; break; + case ImageType::UNKNOWN: id = "unknown"; break; + case ImageType::MISSING: id = "missing"; break; + } + return id; + } + + /** + * Regenerate this table with something like: + * + * $ vips -l foreign | grep -i load | awk '{ print $2, $1; }' + * + * Plus a bit of editing. + */ + std::map loaderToType = { + { "VipsForeignLoadJpegFile", ImageType::JPEG }, + { "VipsForeignLoadJpegBuffer", ImageType::JPEG }, + { "VipsForeignLoadPngFile", ImageType::PNG }, + { "VipsForeignLoadPngBuffer", ImageType::PNG }, + { "VipsForeignLoadWebpFile", ImageType::WEBP }, + { "VipsForeignLoadWebpBuffer", ImageType::WEBP }, + { "VipsForeignLoadTiffFile", ImageType::TIFF }, + { "VipsForeignLoadTiffBuffer", ImageType::TIFF }, + { "VipsForeignLoadGifFile", ImageType::GIF }, + { "VipsForeignLoadGifBuffer", ImageType::GIF }, + { "VipsForeignLoadNsgifFile", ImageType::GIF }, + { "VipsForeignLoadNsgifBuffer", ImageType::GIF }, + { "VipsForeignLoadJp2kBuffer", ImageType::JP2 }, + { "VipsForeignLoadJp2kFile", ImageType::JP2 }, + { "VipsForeignLoadSvgFile", ImageType::SVG }, + { "VipsForeignLoadSvgBuffer", ImageType::SVG }, + { "VipsForeignLoadHeifFile", ImageType::HEIF }, + { "VipsForeignLoadHeifBuffer", ImageType::HEIF }, + { "VipsForeignLoadPdfFile", ImageType::PDF }, + { "VipsForeignLoadPdfBuffer", ImageType::PDF }, + { "VipsForeignLoadMagickFile", ImageType::MAGICK }, + { "VipsForeignLoadMagickBuffer", ImageType::MAGICK }, + { "VipsForeignLoadMagick7File", ImageType::MAGICK }, + { "VipsForeignLoadMagick7Buffer", ImageType::MAGICK }, + { "VipsForeignLoadOpenslideFile", ImageType::OPENSLIDE }, + { "VipsForeignLoadPpmFile", ImageType::PPM }, + { "VipsForeignLoadFitsFile", ImageType::FITS }, + { "VipsForeignLoadOpenexr", ImageType::EXR }, + { "VipsForeignLoadJxlFile", ImageType::JXL }, + { "VipsForeignLoadJxlBuffer", ImageType::JXL }, + { "VipsForeignLoadRadFile", ImageType::RAD }, + { "VipsForeignLoadRadBuffer", ImageType::RAD }, + { "VipsForeignLoadDcRawFile", ImageType::DCRAW }, + { "VipsForeignLoadDcRawBuffer", ImageType::DCRAW }, + { "VipsForeignLoadUhdr", ImageType::UHDR }, + { "VipsForeignLoadUhdrFile", ImageType::UHDR }, + { "VipsForeignLoadUhdrBuffer", ImageType::UHDR }, + { "VipsForeignLoadVips", ImageType::VIPS }, + { "VipsForeignLoadVipsFile", ImageType::VIPS }, + { "VipsForeignLoadRaw", ImageType::RAW } + }; + + /* + Determine image format of a buffer. + */ + ImageType DetermineImageType(void *buffer, size_t const length) { + ImageType imageType = ImageType::UNKNOWN; + char const *load = vips_foreign_find_load_buffer(buffer, length); + if (load != nullptr) { + auto it = loaderToType.find(load); + if (it != loaderToType.end()) { + imageType = it->second; + } + } + if (imageType == ImageType::UHDR) { + imageType = ImageType::JPEG; + } + return imageType; + } + + /* + Determine image format, reads the first few bytes of the file + */ + ImageType DetermineImageType(char const *file) { + ImageType imageType = ImageType::UNKNOWN; + char const *load = vips_foreign_find_load(file); + if (load != nullptr) { + auto it = loaderToType.find(load); + if (it != loaderToType.end()) { + imageType = it->second; + } + } else { + if (EndsWith(vips::VError().what(), " does not exist\n")) { + imageType = ImageType::MISSING; + } + } + if (imageType == ImageType::UHDR) { + imageType = ImageType::JPEG; + } + return imageType; + } + + /* + Does this image type support multiple pages? + */ + bool ImageTypeSupportsPage(ImageType imageType) { + return + imageType == ImageType::WEBP || + imageType == ImageType::MAGICK || + imageType == ImageType::GIF || + imageType == ImageType::JP2 || + imageType == ImageType::TIFF || + imageType == ImageType::HEIF || + imageType == ImageType::PDF; + } + + /* + Does this image type support removal of safety limits? + */ + bool ImageTypeSupportsUnlimited(ImageType imageType) { + return + imageType == ImageType::JPEG || + imageType == ImageType::PNG || + imageType == ImageType::SVG || + imageType == ImageType::TIFF || + imageType == ImageType::HEIF; + } + + /* + Format-specific options builder + */ + vips::VOption* GetOptionsForImageType(ImageType imageType, InputDescriptor *descriptor) { + vips::VOption *option = VImage::option() + ->set("access", descriptor->access) + ->set("fail_on", descriptor->failOn); + if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) { + option->set("unlimited", true); + } + if (ImageTypeSupportsPage(imageType)) { + option->set("n", descriptor->pages); + option->set("page", std::max(0, descriptor->page)); + } + switch (imageType) { + case ImageType::SVG: + option->set("dpi", descriptor->density) + ->set("stylesheet", descriptor->svgStylesheet.data()) + ->set("high_bitdepth", descriptor->svgHighBitdepth); + break; + case ImageType::TIFF: + option->set("subifd", descriptor->tiffSubifd); + break; + case ImageType::PDF: + option->set("dpi", descriptor->density) + ->set("background", descriptor->pdfBackground); + break; + case ImageType::OPENSLIDE: + option->set("level", descriptor->openSlideLevel); + break; + case ImageType::JP2: + option->set("oneshot", descriptor->jp2Oneshot); + break; + case ImageType::MAGICK: + option->set("density", std::to_string(descriptor->density).data()); + break; + default: + break; + } + return option; + } + + /* + Should HEIF image be re-opened using the primary item? + */ + static bool HeifPrimaryPageReopen(VImage image, InputDescriptor *descriptor) { + if (image.get_typeof(VIPS_META_N_PAGES) == G_TYPE_INT && image.get_typeof("heif-primary") == G_TYPE_INT) { + if (image.get_int(VIPS_META_N_PAGES) > 1 && descriptor->pages == 1 && descriptor->page == -1) { + int const pagePrimary = image.get_int("heif-primary"); + if (pagePrimary != 0) { + descriptor->page = pagePrimary; + return true; + } + } + } + return false; + } + + /* + Open an image from the given InputDescriptor (filesystem, compressed buffer, raw pixel data) + */ + std::tuple OpenInput(InputDescriptor *descriptor) { + VImage image; + ImageType imageType; + if (descriptor->isBuffer) { + if (descriptor->rawChannels > 0) { + // Raw, uncompressed pixel data + bool const is8bit = vips_band_format_is8bit(descriptor->rawDepth); + image = VImage::new_from_memory(descriptor->buffer, descriptor->bufferLength, + descriptor->rawWidth, descriptor->rawHeight, descriptor->rawChannels, descriptor->rawDepth); + if (descriptor->rawChannels < 3) { + image.get_image()->Type = is8bit ? VIPS_INTERPRETATION_B_W : VIPS_INTERPRETATION_GREY16; + } else { + image.get_image()->Type = is8bit ? VIPS_INTERPRETATION_sRGB : VIPS_INTERPRETATION_RGB16; + } + if (descriptor->rawPageHeight > 0) { + image.set(VIPS_META_PAGE_HEIGHT, descriptor->rawPageHeight); + image.set(VIPS_META_N_PAGES, static_cast(descriptor->rawHeight / descriptor->rawPageHeight)); + } + if (descriptor->rawPremultiplied) { + image = image.unpremultiply(); + } + imageType = ImageType::RAW; + } else { + // Compressed data + imageType = DetermineImageType(descriptor->buffer, descriptor->bufferLength); + if (imageType != ImageType::UNKNOWN) { + try { + vips::VOption *option = GetOptionsForImageType(imageType, descriptor); + image = VImage::new_from_buffer(descriptor->buffer, descriptor->bufferLength, nullptr, option); + if (imageType == ImageType::SVG || imageType == ImageType::PDF || imageType == ImageType::MAGICK) { + image = SetDensity(image, descriptor->density); + } else if (imageType == ImageType::HEIF && HeifPrimaryPageReopen(image, descriptor)) { + option = GetOptionsForImageType(imageType, descriptor); + image = VImage::new_from_buffer(descriptor->buffer, descriptor->bufferLength, nullptr, option); + } + } catch (std::runtime_error const &err) { + throw std::runtime_error(std::string("Input buffer has corrupt header: ") + err.what()); + } + } else { + throw std::runtime_error("Input buffer contains unsupported image format"); + } + } + } else { + int const channels = descriptor->createChannels; + if (channels > 0) { + // Create new image + if (descriptor->createNoiseType == "gaussian") { + std::vector bands = {}; + bands.reserve(channels); + for (int _band = 0; _band < channels; _band++) { + bands.push_back(VImage::gaussnoise(descriptor->createWidth, descriptor->createHeight, VImage::option() + ->set("mean", descriptor->createNoiseMean) + ->set("sigma", descriptor->createNoiseSigma))); + } + image = VImage::bandjoin(bands).copy(VImage::option()->set("interpretation", + channels < 3 ? VIPS_INTERPRETATION_B_W: VIPS_INTERPRETATION_sRGB)); + } else { + std::vector background = { + descriptor->createBackground[0], + descriptor->createBackground[1], + descriptor->createBackground[2] + }; + if (channels == 4) { + background.push_back(descriptor->createBackground[3]); + } + image = VImage::black(descriptor->createWidth, descriptor->createHeight, + VImage::option()->set("bands", channels)) + .copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_sRGB)) + .linear(std::vector(channels, 0.0), background, VImage::option()->set("uchar", true)); + } + if (descriptor->createPageHeight > 0) { + image.set(VIPS_META_PAGE_HEIGHT, descriptor->createPageHeight); + image.set(VIPS_META_N_PAGES, static_cast(descriptor->createHeight / descriptor->createPageHeight)); + } + image = image.cast(VIPS_FORMAT_UCHAR); + imageType = ImageType::RAW; + } else if (descriptor->textValue.length() > 0) { + // Create a new image with text + vips::VOption *textOptions = VImage::option() + ->set("align", descriptor->textAlign) + ->set("justify", descriptor->textJustify) + ->set("rgba", descriptor->textRgba) + ->set("spacing", descriptor->textSpacing) + ->set("wrap", descriptor->textWrap) + ->set("autofit_dpi", &descriptor->textAutofitDpi); + if (descriptor->textWidth > 0) { + textOptions->set("width", descriptor->textWidth); + } + // Ignore dpi if height is set + if (descriptor->textWidth > 0 && descriptor->textHeight > 0) { + textOptions->set("height", descriptor->textHeight); + } else if (descriptor->textDpi > 0) { + textOptions->set("dpi", descriptor->textDpi); + } + if (descriptor->textFont.length() > 0) { + textOptions->set("font", const_cast(descriptor->textFont.data())); + } + if (descriptor->textFontfile.length() > 0) { + textOptions->set("fontfile", const_cast(descriptor->textFontfile.data())); + } + image = VImage::text(const_cast(descriptor->textValue.data()), textOptions); + if (!descriptor->textRgba) { + image = image.copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_B_W)); + } + imageType = ImageType::RAW; + } else { + // From filesystem + imageType = DetermineImageType(descriptor->file.data()); + if (imageType == ImageType::MISSING) { + if (descriptor->file.find("file.substr(0, 8) + "...')?"); + } + throw std::runtime_error("Input file is missing: " + descriptor->file); + } + if (imageType != ImageType::UNKNOWN) { + try { + vips::VOption *option = GetOptionsForImageType(imageType, descriptor); + image = VImage::new_from_file(descriptor->file.data(), option); + if (imageType == ImageType::SVG || imageType == ImageType::PDF || imageType == ImageType::MAGICK) { + image = SetDensity(image, descriptor->density); + } else if (imageType == ImageType::HEIF && HeifPrimaryPageReopen(image, descriptor)) { + option = GetOptionsForImageType(imageType, descriptor); + image = VImage::new_from_file(descriptor->file.data(), option); + } + } catch (std::runtime_error const &err) { + throw std::runtime_error(std::string("Input file has corrupt header: ") + err.what()); + } + } else { + throw std::runtime_error("Input file contains unsupported image format"); + } + } + } + + // Limit input images to a given number of pixels, where pixels = width * height + if (descriptor->limitInputPixels > 0 && + static_cast(image.width()) * image.height() > descriptor->limitInputPixels) { + throw std::runtime_error("Input image exceeds pixel limit"); + } + if (descriptor->limitInputChannels > 0 && static_cast(image.bands()) > descriptor->limitInputChannels) { + throw std::runtime_error("Input image exceeds channel limit"); + } + return std::make_tuple(image, imageType); + } + + /* + Does this image have an embedded profile? + */ + bool HasProfile(VImage image) { + return image.get_typeof(VIPS_META_ICC_NAME) == VIPS_TYPE_BLOB; + } + + /* + Get copy of embedded profile. + */ + std::pair GetProfile(VImage image) { + std::pair icc(nullptr, 0); + if (HasProfile(image)) { + size_t length; + const void *data = image.get_blob(VIPS_META_ICC_NAME, &length); + icc.first = static_cast(vips_malloc(reinterpret_cast(image.get_image()), length)); + icc.second = length; + memcpy(icc.first, data, length); + } + return icc; + } + + /* + Set embedded profile. + */ + VImage SetProfile(VImage image, std::pair icc) { + if (icc.first != nullptr) { + image = image.copy(); + image.set(VIPS_META_ICC_NAME, nullptr, icc.first, icc.second); + } + return image; + } + + static void* RemoveExifCallback(VipsImage *image, char const *field, GValue *value, void *data) { + std::vector *fieldNames = static_cast *>(data); + std::string fieldName(field); + if (fieldName.substr(0, 8) == ("exif-ifd")) { + fieldNames->push_back(fieldName); + } + return nullptr; + } + + /* + Remove all EXIF-related image fields. + */ + VImage RemoveExif(VImage image) { + std::vector fieldNames; + vips_image_map(image.get_image(), static_cast(RemoveExifCallback), &fieldNames); + for (const auto& f : fieldNames) { + image.remove(f.data()); + } + return image; + } + + /* + Get EXIF Orientation of image, if any. + */ + int ExifOrientation(VImage image) { + int orientation = 0; + if (image.get_typeof(VIPS_META_ORIENTATION) != 0) { + orientation = image.get_int(VIPS_META_ORIENTATION); + } + return orientation; + } + + /* + Set EXIF Orientation of image. + */ + VImage SetExifOrientation(VImage image, int const orientation) { + VImage copy = image.copy(); + copy.set(VIPS_META_ORIENTATION, orientation); + return copy; + } + + /* + Remove EXIF Orientation from image. + */ + VImage RemoveExifOrientation(VImage image) { + VImage copy = image.copy(); + copy.remove(VIPS_META_ORIENTATION); + copy.remove("exif-ifd0-Orientation"); + return copy; + } + + /* + Set animation properties if necessary. + */ + VImage SetAnimationProperties(VImage image, int nPages, int pageHeight, std::vector delay, int loop) { + bool hasDelay = !delay.empty(); + VImage copy = image.copy(); + + // Only set page-height and n-pages if we have more than one page, or this + // could accidentally turn into an animated image later. + if (nPages > 1) { + copy.set(VIPS_META_PAGE_HEIGHT, pageHeight); + copy.set(VIPS_META_N_PAGES, nPages); + } + if (hasDelay) { + if (delay.size() == 1) { + // We have just one delay, repeat that value for all frames. + delay.insert(delay.end(), nPages - 1, delay[0]); + } + copy.set("delay", delay); + } + if (nPages == 1 && !hasDelay && loop == -1) { + loop = 1; + } + if (loop != -1) copy.set("loop", loop); + + return copy; + } + + /* + Remove animation properties from image. + */ + VImage RemoveAnimationProperties(VImage image) { + VImage copy = image.copy(); + copy.remove(VIPS_META_PAGE_HEIGHT); + copy.remove("delay"); + copy.remove("loop"); + return copy; + } + + /* + Remove GIF palette from image. + */ + VImage RemoveGifPalette(VImage image) { + VImage copy = image.copy(); + copy.remove("gif-palette"); + return copy; + } + + /* + Does this image have a non-default density? + */ + bool HasDensity(VImage image) { + return image.xres() > 1.0; + } + + /* + Get pixels/mm resolution as pixels/inch density. + */ + int GetDensity(VImage image) { + return static_cast(round(image.xres() * 25.4)); + } + + /* + Set pixels/mm resolution based on a pixels/inch density. + */ + VImage SetDensity(VImage image, const double density) { + const double pixelsPerMm = density / 25.4; + VImage copy = image.copy(); + copy.get_image()->Xres = pixelsPerMm; + copy.get_image()->Yres = pixelsPerMm; + return copy; + } + + /* + Multi-page images can have a page height. Fetch it, and sanity check it. + If page-height is not set, it defaults to the image height + */ + int GetPageHeight(VImage image) { + return vips_image_get_page_height(image.get_image()); + } + + /* + Check the proposed format supports the current dimensions. + */ + void AssertImageTypeDimensions(VImage image, ImageType const imageType) { + const int height = image.get_typeof(VIPS_META_PAGE_HEIGHT) == G_TYPE_INT + ? image.get_int(VIPS_META_PAGE_HEIGHT) + : image.height(); + if (imageType == ImageType::JPEG) { + if (image.width() > 65535 || height > 65535) { + throw std::runtime_error("Processed image is too large for the JPEG format"); + } + } else if (imageType == ImageType::WEBP) { + if (image.width() > 16383 || height > 16383) { + throw std::runtime_error("Processed image is too large for the WebP format"); + } + } else if (imageType == ImageType::GIF) { + if (image.width() > 65535 || height > 65535) { + throw std::runtime_error("Processed image is too large for the GIF format"); + } + } else if (imageType == ImageType::HEIF) { + if (image.width() > 16384 || height > 16384) { + throw std::runtime_error("Processed image is too large for the HEIF format"); + } + } + } + + /* + Called when a Buffer undergoes GC, required to support mixed runtime libraries in Windows + */ + std::function FreeCallback = [](void*, char* data) { + g_free(data); + }; + + /* + Temporary buffer of warnings + */ + std::queue vipsWarnings; + std::mutex vipsWarningsMutex; + + /* + Called with warnings from the glib-registered "VIPS" domain + */ + void VipsWarningCallback(char const* log_domain, GLogLevelFlags log_level, char const* message, void* ignore) { + std::lock_guard lock(vipsWarningsMutex); + vipsWarnings.emplace(message); + } + + /* + Pop the oldest warning message from the queue + */ + std::string VipsWarningPop() { + std::string warning; + std::lock_guard lock(vipsWarningsMutex); + if (!vipsWarnings.empty()) { + warning = vipsWarnings.front(); + vipsWarnings.pop(); + } + return warning; + } + + /* + Attach an event listener for progress updates, used to detect timeout + */ + void SetTimeout(VImage image, int const seconds) { + if (seconds > 0) { + VipsImage *im = image.get_image(); + if (im->progress_signal == NULL) { + int *timeout = VIPS_NEW(im, int); + *timeout = seconds; + g_signal_connect(im, "eval", G_CALLBACK(VipsProgressCallBack), timeout); + vips_image_set_progress(im, true); + } + } + } + + /* + Event listener for progress updates, used to detect timeout + */ + void VipsProgressCallBack(VipsImage *im, VipsProgress *progress, int *timeout) { + if (*timeout > 0 && progress->run >= *timeout) { + vips_image_set_kill(im, true); + vips_error("timeout", "%d%% complete", progress->percent); + *timeout = 0; + } + } + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given gravity during an embed. + + @Azurebyte: We are basically swapping the inWidth and outWidth, inHeight and outHeight from the CalculateCrop function. + */ + std::tuple CalculateEmbedPosition(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const gravity) { + + int left = 0; + int top = 0; + switch (gravity) { + case 1: + // North + left = (outWidth - inWidth) / 2; + break; + case 2: + // East + left = outWidth - inWidth; + top = (outHeight - inHeight) / 2; + break; + case 3: + // South + left = (outWidth - inWidth) / 2; + top = outHeight - inHeight; + break; + case 4: + // West + top = (outHeight - inHeight) / 2; + break; + case 5: + // Northeast + left = outWidth - inWidth; + break; + case 6: + // Southeast + left = outWidth - inWidth; + top = outHeight - inHeight; + break; + case 7: + // Southwest + top = outHeight - inHeight; + break; + case 8: + // Northwest + // Which is the default is 0,0 so we do not assign anything here. + break; + default: + // Centre + left = (outWidth - inWidth) / 2; + top = (outHeight - inHeight) / 2; + } + return std::make_tuple(left, top); + } + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given gravity during a crop. + */ + std::tuple CalculateCrop(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const gravity) { + + int left = 0; + int top = 0; + switch (gravity) { + case 1: + // North + left = (inWidth - outWidth + 1) / 2; + break; + case 2: + // East + left = inWidth - outWidth; + top = (inHeight - outHeight + 1) / 2; + break; + case 3: + // South + left = (inWidth - outWidth + 1) / 2; + top = inHeight - outHeight; + break; + case 4: + // West + top = (inHeight - outHeight + 1) / 2; + break; + case 5: + // Northeast + left = inWidth - outWidth; + break; + case 6: + // Southeast + left = inWidth - outWidth; + top = inHeight - outHeight; + break; + case 7: + // Southwest + top = inHeight - outHeight; + break; + case 8: + // Northwest + break; + default: + // Centre + left = (inWidth - outWidth + 1) / 2; + top = (inHeight - outHeight + 1) / 2; + } + return std::make_tuple(left, top); + } + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given x and y offsets. + */ + std::tuple CalculateCrop(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const x, int const y) { + + // default values + int left = 0; + int top = 0; + + // assign only if valid + if (x < (inWidth - outWidth)) { + left = x; + } else if (x >= (inWidth - outWidth)) { + left = inWidth - outWidth; + } + + if (y < (inHeight - outHeight)) { + top = y; + } else if (y >= (inHeight - outHeight)) { + top = inHeight - outHeight; + } + + return std::make_tuple(left, top); + } + + /* + Are pixel values in this image 16-bit integer? + */ + bool Is16Bit(VipsInterpretation const interpretation) { + return interpretation == VIPS_INTERPRETATION_RGB16 || interpretation == VIPS_INTERPRETATION_GREY16; + } + + /* + Convert RGBA value to another colourspace + */ + std::vector GetRgbaAsColourspace(std::vector const rgba, + VipsInterpretation const interpretation, bool premultiply) { + int const bands = static_cast(rgba.size()); + if (bands < 3) { + return rgba; + } + VImage pixel = VImage::new_matrix(1, 1); + pixel.set("bands", bands); + pixel = pixel + .new_from_image(rgba) + .colourspace(interpretation, VImage::option()->set("source_space", VIPS_INTERPRETATION_sRGB)); + if (premultiply) { + pixel = pixel.premultiply(); + } + return pixel(0, 0); + } + + /* + Apply the alpha channel to a given colour + */ + std::tuple> ApplyAlpha(VImage image, std::vector colour, bool premultiply) { + // Scale up 8-bit values to match 16-bit input image + double const multiplier = sharp::Is16Bit(image.interpretation()) ? 256.0 : 1.0; + // Create alphaColour colour + std::vector alphaColour; + if (image.bands() > 2) { + alphaColour = { + multiplier * colour[0], + multiplier * colour[1], + multiplier * colour[2] + }; + } else { + // Convert sRGB to greyscale + alphaColour = { multiplier * ( + 0.2126 * colour[0] + + 0.7152 * colour[1] + + 0.0722 * colour[2]) + }; + } + // Add alpha channel(s) to alphaColour colour + if (colour[3] < 255.0 || image.has_alpha()) { + int extraBands = image.bands() > 4 ? image.bands() - 3 : 1; + alphaColour.insert(alphaColour.end(), extraBands, colour[3] * multiplier); + } + // Ensure alphaColour colour uses correct colourspace + alphaColour = sharp::GetRgbaAsColourspace(alphaColour, image.interpretation(), premultiply); + // Add non-transparent alpha channel, if required + if (colour[3] < 255.0 && !image.has_alpha()) { + image = image.bandjoin_const({ 255 * multiplier }); + } + return std::make_tuple(image, alphaColour); + } + + /* + Removes alpha channels, if any. + */ + VImage RemoveAlpha(VImage image) { + while (image.bands() > 1 && image.has_alpha()) { + image = image.extract_band(0, VImage::option()->set("n", image.bands() - 1)); + } + return image; + } + + /* + Ensures alpha channel, if missing. + */ + VImage EnsureAlpha(VImage image, double const value) { + if (!image.has_alpha()) { + image = image.bandjoin_const({ value * vips_interpretation_max_alpha(image.interpretation()) }); + } + return image; + } + + std::pair ResolveShrink(int width, int height, int targetWidth, int targetHeight, + Canvas canvas, bool withoutEnlargement, bool withoutReduction) { + double hshrink = 1.0; + double vshrink = 1.0; + + if (targetWidth > 0 && targetHeight > 0) { + // Fixed width and height + hshrink = static_cast(width) / targetWidth; + vshrink = static_cast(height) / targetHeight; + + switch (canvas) { + case Canvas::CROP: + case Canvas::MIN: + if (hshrink < vshrink) { + vshrink = hshrink; + } else { + hshrink = vshrink; + } + break; + case Canvas::EMBED: + case Canvas::MAX: + if (hshrink > vshrink) { + vshrink = hshrink; + } else { + hshrink = vshrink; + } + break; + case Canvas::IGNORE_ASPECT: + break; + } + } else if (targetWidth > 0) { + // Fixed width + hshrink = static_cast(width) / targetWidth; + + if (canvas != Canvas::IGNORE_ASPECT) { + // Auto height + vshrink = hshrink; + } + } else if (targetHeight > 0) { + // Fixed height + vshrink = static_cast(height) / targetHeight; + + if (canvas != Canvas::IGNORE_ASPECT) { + // Auto width + hshrink = vshrink; + } + } + + // We should not reduce or enlarge the output image, if + // withoutReduction or withoutEnlargement is specified. + if (withoutReduction) { + // Equivalent of VIPS_SIZE_UP + hshrink = std::min(1.0, hshrink); + vshrink = std::min(1.0, vshrink); + } else if (withoutEnlargement) { + // Equivalent of VIPS_SIZE_DOWN + hshrink = std::max(1.0, hshrink); + vshrink = std::max(1.0, vshrink); + } + + // We don't want to shrink so much that we send an axis to 0 + hshrink = std::min(hshrink, static_cast(width)); + vshrink = std::min(vshrink, static_cast(height)); + + return std::make_pair(hshrink, vshrink); + } + + /* + Ensure decoding remains sequential. + */ + VImage StaySequential(VImage image, bool condition) { + if (vips_image_is_sequential(image.get_image()) && condition) { + image = image.copy_memory().copy(); + image.remove(VIPS_META_SEQUENTIAL); + } + return image; + } + + /* + Does this image have a gain map? + */ + bool HasGainMap(VImage image) { + return image.get_typeof("gainmap") == VIPS_TYPE_BLOB || + image.get_typeof("gainmap-data") == VIPS_TYPE_BLOB; + } + + /* + Removes gain map, if any. + */ + VImage RemoveGainMap(VImage image) { + VImage copy = image.copy(); + copy.remove("gainmap"); + copy.remove("gainmap-data"); + return copy; + } +} // namespace sharp diff --git a/apps/api/.output/node_modules/sharp/src/common.h b/apps/api/.output/node_modules/sharp/src/common.h new file mode 100644 index 0000000..116e066 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/common.h @@ -0,0 +1,421 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_COMMON_H_ +#define SRC_COMMON_H_ + +#include +#include +#include +#include +#include + +#include +#include + +// Verify platform and compiler compatibility + +#if (VIPS_MAJOR_VERSION < 8) || \ + (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION < 18) || \ + (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION == 18 && VIPS_MICRO_VERSION < 7) +#error "libvips version 8.18.7+ is required - please see https://sharp.pixelplumbing.com/install" +#endif + +#if defined(__has_include) +#if !__has_include() +#error "C++17 compiler required - please see https://sharp.pixelplumbing.com/install" +#endif +#endif + +#ifdef __EMSCRIPTEN__ +#define SHARP_CALLBACK_FN_NAME Call +#else +#define SHARP_CALLBACK_FN_NAME MakeCallback +#endif + +using vips::VImage; + +namespace sharp { + + struct InputDescriptor { + std::string name; + std::string file; + bool autoOrient; + char *buffer; + VipsFailOn failOn; + uint64_t limitInputPixels; + uint64_t limitInputChannels; + bool unlimited; + VipsAccess access; + size_t bufferLength; + bool isBuffer; + double density; + bool ignoreIcc; + VipsBandFormat rawDepth; + int rawChannels; + int rawWidth; + int rawHeight; + bool rawPremultiplied; + int rawPageHeight; + int pages; + int page; + int createChannels; + int createWidth; + int createHeight; + int createPageHeight; + std::vector createBackground; + std::string createNoiseType; + double createNoiseMean; + double createNoiseSigma; + std::string textValue; + std::string textFont; + std::string textFontfile; + int textWidth; + int textHeight; + VipsAlign textAlign; + bool textJustify; + int textDpi; + bool textRgba; + int textSpacing; + VipsTextWrap textWrap; + int textAutofitDpi; + bool joinAnimated; + int joinAcross; + int joinShim; + std::vector joinBackground; + VipsAlign joinHalign; + VipsAlign joinValign; + std::string svgStylesheet; + bool svgHighBitdepth; + int tiffSubifd; + int openSlideLevel; + std::vector pdfBackground; + bool jp2Oneshot; + + InputDescriptor(): + autoOrient(false), + buffer(nullptr), + failOn(VIPS_FAIL_ON_WARNING), + limitInputPixels(0x3FFF * 0x3FFF), + limitInputChannels(5), + unlimited(false), + access(VIPS_ACCESS_SEQUENTIAL), + bufferLength(0), + isBuffer(false), + density(72.0), + ignoreIcc(false), + rawDepth(VIPS_FORMAT_UCHAR), + rawChannels(0), + rawWidth(0), + rawHeight(0), + rawPremultiplied(false), + rawPageHeight(0), + pages(1), + page(-1), + createChannels(0), + createWidth(0), + createHeight(0), + createPageHeight(0), + createBackground{ 0.0, 0.0, 0.0, 255.0 }, + createNoiseMean(0.0), + createNoiseSigma(0.0), + textWidth(0), + textHeight(0), + textAlign(VIPS_ALIGN_LOW), + textJustify(false), + textDpi(72), + textRgba(false), + textSpacing(0), + textWrap(VIPS_TEXT_WRAP_WORD), + textAutofitDpi(0), + joinAnimated(false), + joinAcross(1), + joinShim(0), + joinBackground{ 0.0, 0.0, 0.0, 255.0 }, + joinHalign(VIPS_ALIGN_LOW), + joinValign(VIPS_ALIGN_LOW), + svgHighBitdepth(false), + tiffSubifd(-1), + openSlideLevel(0), + pdfBackground{ 255.0, 255.0, 255.0, 255.0 }, + jp2Oneshot(false) {} + }; + + // Convenience methods to access the attributes of a Napi::Object + bool HasAttr(Napi::Object obj, std::string attr); + std::string AttrAsStr(Napi::Object obj, std::string attr); + std::string AttrAsStr(Napi::Object obj, unsigned int const attr); + uint32_t AttrAsUint32(Napi::Object obj, std::string attr); + int32_t AttrAsInt32(Napi::Object obj, std::string attr); + int32_t AttrAsInt32(Napi::Object obj, unsigned int const attr); + double AttrAsDouble(Napi::Object obj, std::string attr); + double AttrAsDouble(Napi::Object obj, unsigned int const attr); + bool AttrAsBool(Napi::Object obj, std::string attr); + std::vector AttrAsVectorOfDouble(Napi::Object obj, std::string attr); + std::vector AttrAsInt32Vector(Napi::Object obj, std::string attr); + template T AttrAsEnum(Napi::Object obj, std::string attr, GType type) { + return static_cast( + vips_enum_from_nick(nullptr, type, AttrAsStr(obj, attr).data())); + } + + // Create an InputDescriptor instance from a Napi::Object describing an input image + InputDescriptor* CreateInputDescriptor(Napi::Object input); + + enum class ImageType { + JPEG, + PNG, + WEBP, + JP2, + TIFF, + GIF, + SVG, + HEIF, + PDF, + MAGICK, + OPENSLIDE, + PPM, + FITS, + EXR, + JXL, + RAD, + DCRAW, + UHDR, + VIPS, + RAW, + UNKNOWN, + MISSING + }; + + enum class Canvas { + CROP, + EMBED, + MAX, + MIN, + IGNORE_ASPECT + }; + + // How many tasks are in the queue? + extern std::atomic counterQueue; + + // How many tasks are being processed? + extern std::atomic counterProcess; + + // Filename extension checkers + bool IsJpeg(std::string const &str); + bool IsPng(std::string const &str); + bool IsWebp(std::string const &str); + bool IsJp2(std::string const &str); + bool IsGif(std::string const &str); + bool IsTiff(std::string const &str); + bool IsHeic(std::string const &str); + bool IsHeif(std::string const &str); + bool IsAvif(std::string const &str); + bool IsJxl(std::string const &str); + bool IsDz(std::string const &str); + bool IsDzZip(std::string const &str); + bool IsV(std::string const &str); + + /* + Trim space from end of string. + */ + std::string TrimEnd(std::string const &str); + + /* + Provide a string identifier for the given image type. + */ + std::string ImageTypeId(ImageType const imageType); + + /* + Determine image format of a buffer. + */ + ImageType DetermineImageType(void *buffer, size_t const length); + + /* + Determine image format of a file. + */ + ImageType DetermineImageType(char const *file); + + /* + Format-specific options builder + */ + vips::VOption* GetOptionsForImageType(ImageType imageType, InputDescriptor *descriptor); + + /* + Open an image from the given InputDescriptor (filesystem, compressed buffer, raw pixel data) + */ + std::tuple OpenInput(InputDescriptor *descriptor); + + /* + Does this image have an embedded profile? + */ + bool HasProfile(VImage image); + + /* + Get copy of embedded profile. + */ + std::pair GetProfile(VImage image); + + /* + Set embedded profile. + */ + VImage SetProfile(VImage image, std::pair icc); + + /* + Remove all EXIF-related image fields. + */ + VImage RemoveExif(VImage image); + + /* + Get EXIF Orientation of image, if any. + */ + int ExifOrientation(VImage image); + + /* + Set EXIF Orientation of image. + */ + VImage SetExifOrientation(VImage image, int const orientation); + + /* + Remove EXIF Orientation from image. + */ + VImage RemoveExifOrientation(VImage image); + + /* + Set animation properties if necessary. + */ + VImage SetAnimationProperties(VImage image, int nPages, int pageHeight, std::vector delay, int loop); + + /* + Remove animation properties from image. + */ + VImage RemoveAnimationProperties(VImage image); + + /* + Remove GIF palette from image. + */ + VImage RemoveGifPalette(VImage image); + + /* + Does this image have a non-default density? + */ + bool HasDensity(VImage image); + + /* + Get pixels/mm resolution as pixels/inch density. + */ + int GetDensity(VImage image); + + /* + Set pixels/mm resolution based on a pixels/inch density. + */ + VImage SetDensity(VImage image, const double density); + + /* + Multi-page images can have a page height. Fetch it, and sanity check it. + If page-height is not set, it defaults to the image height + */ + int GetPageHeight(VImage image); + + /* + Check the proposed format supports the current dimensions. + */ + void AssertImageTypeDimensions(VImage image, ImageType const imageType); + + /* + Called when a Buffer undergoes GC, required to support mixed runtime libraries in Windows + */ + extern std::function FreeCallback; + + /* + Called with warnings from the glib-registered "VIPS" domain + */ + void VipsWarningCallback(char const* log_domain, GLogLevelFlags log_level, char const* message, void* ignore); + + /* + Pop the oldest warning message from the queue + */ + std::string VipsWarningPop(); + + /* + Attach an event listener for progress updates, used to detect timeout + */ + void SetTimeout(VImage image, int const timeoutSeconds); + + /* + Event listener for progress updates, used to detect timeout + */ + void VipsProgressCallBack(VipsImage *image, VipsProgress *progress, int *timeoutSeconds); + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given gravity during an embed. + */ + std::tuple CalculateEmbedPosition(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const gravity); + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given gravity. + */ + std::tuple CalculateCrop(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const gravity); + + /* + Calculate the (left, top) coordinates of the output image + within the input image, applying the given x and y offsets of the output image. + */ + std::tuple CalculateCrop(int const inWidth, int const inHeight, + int const outWidth, int const outHeight, int const x, int const y); + + /* + Are pixel values in this image 16-bit integer? + */ + bool Is16Bit(VipsInterpretation const interpretation); + + /* + Convert RGBA value to another colourspace + */ + std::vector GetRgbaAsColourspace(std::vector const rgba, + VipsInterpretation const interpretation, bool premultiply); + + /* + Apply the alpha channel to a given colour + */ + std::tuple> ApplyAlpha(VImage image, std::vector colour, bool premultiply); + + /* + Removes alpha channels, if any. + */ + VImage RemoveAlpha(VImage image); + + /* + Ensures alpha channel, if missing. + */ + VImage EnsureAlpha(VImage image, double const value); + + /* + Calculate the horizontal and vertical shrink factors, taking the canvas mode into account. + */ + std::pair ResolveShrink(int width, int height, int targetWidth, int targetHeight, + Canvas canvas, bool withoutEnlargement, bool withoutReduction); + + /* + Ensure decoding remains sequential. + */ + VImage StaySequential(VImage image, bool condition = true); + + /* + Does this image have a gain map? + */ + bool HasGainMap(VImage image); + + /* + Removes gain map, if any. + */ + VImage RemoveGainMap(VImage image); + +} // namespace sharp + +#endif // SRC_COMMON_H_ diff --git a/apps/api/.output/node_modules/sharp/src/metadata.cc b/apps/api/.output/node_modules/sharp/src/metadata.cc new file mode 100644 index 0000000..9e027b1 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/metadata.cc @@ -0,0 +1,404 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include +#include +#include +#include +#include + +#include +#include + +#include "./common.h" +#include "./metadata.h" + +static void* readPNGComment(VipsImage *image, const char *field, GValue *value, void *p); + +class MetadataWorker : public Napi::AsyncWorker { + public: + MetadataWorker(Napi::Function callback, MetadataBaton *baton, Napi::Function debuglog) : + Napi::AsyncWorker(callback), baton(baton), debuglog(Napi::Persistent(debuglog)) {} + ~MetadataWorker() {} + + void Execute() { + // Decrement queued task counter + sharp::counterQueue--; + + vips::VImage image; + sharp::ImageType imageType = sharp::ImageType::UNKNOWN; + try { + std::tie(image, imageType) = OpenInput(baton->input); + } catch (std::runtime_error const &err) { + (baton->err).append(err.what()); + } + if (imageType != sharp::ImageType::UNKNOWN) { + // Image type + baton->format = sharp::ImageTypeId(imageType); + // VipsImage attributes + baton->width = image.width(); + baton->height = image.height(); + baton->space = vips_enum_nick(VIPS_TYPE_INTERPRETATION, image.interpretation()); + baton->channels = image.bands(); + baton->depth = vips_enum_nick(VIPS_TYPE_BAND_FORMAT, image.format()); + if (sharp::HasDensity(image)) { + baton->density = sharp::GetDensity(image); + } + if (image.get_typeof("jpeg-chroma-subsample") == VIPS_TYPE_REF_STRING) { + baton->chromaSubsampling = image.get_string("jpeg-chroma-subsample"); + } + if (image.get_typeof("interlaced") == G_TYPE_INT) { + baton->isProgressive = image.get_int("interlaced") == 1; + } + if (image.get_typeof(VIPS_META_PALETTE) == G_TYPE_INT) { + baton->isPalette = image.get_int(VIPS_META_PALETTE); + } + if (image.get_typeof(VIPS_META_BITS_PER_SAMPLE) == G_TYPE_INT) { + baton->bitsPerSample = image.get_int(VIPS_META_BITS_PER_SAMPLE); + } + if (image.get_typeof(VIPS_META_N_PAGES) == G_TYPE_INT) { + baton->pages = image.get_int(VIPS_META_N_PAGES); + } + if (image.get_typeof(VIPS_META_PAGE_HEIGHT) == G_TYPE_INT) { + baton->pageHeight = image.get_int(VIPS_META_PAGE_HEIGHT); + } + if (image.get_typeof("loop") == G_TYPE_INT) { + baton->loop = image.get_int("loop"); + } + if (image.get_typeof("delay") == VIPS_TYPE_ARRAY_INT) { + baton->delay = image.get_array_int("delay"); + } + if (image.get_typeof("heif-primary") == G_TYPE_INT) { + baton->pagePrimary = image.get_int("heif-primary"); + } + if (image.get_typeof("heif-compression") == VIPS_TYPE_REF_STRING) { + baton->compression = image.get_string("heif-compression"); + } + if (image.get_typeof(VIPS_META_RESOLUTION_UNIT) == VIPS_TYPE_REF_STRING) { + baton->resolutionUnit = image.get_string(VIPS_META_RESOLUTION_UNIT); + } + if (image.get_typeof("magick-format") == VIPS_TYPE_REF_STRING) { + baton->formatMagick = image.get_string("magick-format"); + } + if (image.get_typeof("openslide.level-count") == VIPS_TYPE_REF_STRING) { + int const levels = std::stoi(image.get_string("openslide.level-count")); + for (int l = 0; l < levels; l++) { + std::string prefix = "openslide.level[" + std::to_string(l) + "]."; + int const width = std::stoi(image.get_string((prefix + "width").data())); + int const height = std::stoi(image.get_string((prefix + "height").data())); + baton->levels.push_back(std::pair(width, height)); + } + } + if (image.get_typeof(VIPS_META_N_SUBIFDS) == G_TYPE_INT) { + baton->subifds = image.get_int(VIPS_META_N_SUBIFDS); + } + baton->hasProfile = sharp::HasProfile(image); + if (image.get_typeof("background") == VIPS_TYPE_ARRAY_DOUBLE) { + baton->background = image.get_array_double("background"); + } + // Derived attributes + baton->hasAlpha = image.has_alpha(); + baton->orientation = sharp::ExifOrientation(image); + // EXIF + if (image.get_typeof(VIPS_META_EXIF_NAME) == VIPS_TYPE_BLOB) { + size_t exifLength; + void const *exif = image.get_blob(VIPS_META_EXIF_NAME, &exifLength); + baton->exif = static_cast(g_malloc(exifLength)); + memcpy(baton->exif, exif, exifLength); + baton->exifLength = exifLength; + } + // ICC profile + if (image.get_typeof(VIPS_META_ICC_NAME) == VIPS_TYPE_BLOB) { + size_t iccLength; + void const *icc = image.get_blob(VIPS_META_ICC_NAME, &iccLength); + baton->icc = static_cast(g_malloc(iccLength)); + memcpy(baton->icc, icc, iccLength); + baton->iccLength = iccLength; + } + // IPTC + if (image.get_typeof(VIPS_META_IPTC_NAME) == VIPS_TYPE_BLOB) { + size_t iptcLength; + void const *iptc = image.get_blob(VIPS_META_IPTC_NAME, &iptcLength); + baton->iptc = static_cast(g_malloc(iptcLength)); + memcpy(baton->iptc, iptc, iptcLength); + baton->iptcLength = iptcLength; + } + // XMP + if (image.get_typeof(VIPS_META_XMP_NAME) == VIPS_TYPE_BLOB) { + size_t xmpLength; + void const *xmp = image.get_blob(VIPS_META_XMP_NAME, &xmpLength); + baton->xmp = static_cast(g_malloc(xmpLength)); + memcpy(baton->xmp, xmp, xmpLength); + baton->xmpLength = xmpLength; + } + // TIFFTAG_PHOTOSHOP + if (image.get_typeof(VIPS_META_PHOTOSHOP_NAME) == VIPS_TYPE_BLOB) { + size_t tifftagPhotoshopLength; + void const *tifftagPhotoshop = image.get_blob(VIPS_META_PHOTOSHOP_NAME, &tifftagPhotoshopLength); + baton->tifftagPhotoshop = static_cast(g_malloc(tifftagPhotoshopLength)); + memcpy(baton->tifftagPhotoshop, tifftagPhotoshop, tifftagPhotoshopLength); + baton->tifftagPhotoshopLength = tifftagPhotoshopLength; + } + // Gain Map + if (image.get_typeof("gainmap-data") == VIPS_TYPE_BLOB) { + size_t gainMapLength; + void const *gainMap = image.get_blob("gainmap-data", &gainMapLength); + baton->gainMap = static_cast(g_malloc(gainMapLength)); + memcpy(baton->gainMap, gainMap, gainMapLength); + baton->gainMapLength = gainMapLength; + } + // PNG comments + vips_image_map(image.get_image(), readPNGComment, &baton->comments); + // Media type + std::string mediaType; + switch (imageType) { + case sharp::ImageType::JPEG: + case sharp::ImageType::PNG: + case sharp::ImageType::WEBP: + case sharp::ImageType::JP2: + case sharp::ImageType::TIFF: + case sharp::ImageType::GIF: + case sharp::ImageType::FITS: + case sharp::ImageType::JXL: + baton->mediaType = "image/" + baton->format; + break; + case sharp::ImageType::SVG: + baton->mediaType = "image/svg+xml"; + break; + case sharp::ImageType::HEIF: + if (baton->compression == "av1") { + baton->mediaType = "image/avif"; + } else if (baton->compression == "hevc") { + baton->mediaType = "image/heic"; + } + break; + case sharp::ImageType::PDF: + baton->mediaType = "application/pdf"; + break; + case sharp::ImageType::OPENSLIDE: + baton->mediaType = "image/tiff"; + break; + case sharp::ImageType::PPM: + baton->mediaType = "image/x-portable-pixmap"; + break; + case sharp::ImageType::EXR: + baton->mediaType = "image/x-exr"; + break; + case sharp::ImageType::RAD: + baton->mediaType = "image/vnd.radiance"; + break; + case sharp::ImageType::UHDR: + baton->mediaType = "image/jpeg"; + break; + default: + break; + } + } + + // Clean up + vips_error_clear(); + vips_thread_shutdown(); + } + + void OnOK() { + Napi::Env env = Env(); + Napi::HandleScope scope(env); + + // Handle warnings + std::string warning = sharp::VipsWarningPop(); + while (!warning.empty()) { + debuglog.SHARP_CALLBACK_FN_NAME(Receiver().Value(), { Napi::String::New(env, warning) }); + warning = sharp::VipsWarningPop(); + } + + if (baton->err.empty()) { + Napi::Object info = Napi::Object::New(env); + info.Set("format", baton->format); + if (!baton->mediaType.empty()) { + info.Set("mediaType", baton->mediaType); + } + if (baton->input->bufferLength > 0) { + info.Set("size", baton->input->bufferLength); + } + info.Set("width", baton->width); + info.Set("height", baton->height); + info.Set("space", baton->space); + info.Set("channels", baton->channels); + info.Set("depth", baton->depth); + if (baton->density > 0) { + info.Set("density", baton->density); + } + if (!baton->chromaSubsampling.empty()) { + info.Set("chromaSubsampling", baton->chromaSubsampling); + } + info.Set("isProgressive", baton->isProgressive); + info.Set("isPalette", baton->isPalette); + if (baton->bitsPerSample > 0) { + info.Set("bitsPerSample", baton->bitsPerSample); + } + if (baton->pages > 0) { + info.Set("pages", baton->pages); + } + if (baton->pageHeight > 0) { + info.Set("pageHeight", baton->pageHeight); + } + if (baton->loop >= 0) { + info.Set("loop", baton->loop); + } + if (!baton->delay.empty()) { + int i = 0; + Napi::Array delay = Napi::Array::New(env, static_cast(baton->delay.size())); + for (int const d : baton->delay) { + delay.Set(i++, d); + } + info.Set("delay", delay); + } + if (baton->pagePrimary > -1) { + info.Set("pagePrimary", baton->pagePrimary); + } + if (!baton->compression.empty()) { + info.Set("compression", baton->compression); + } + if (!baton->resolutionUnit.empty()) { + info.Set("resolutionUnit", baton->resolutionUnit == "in" ? "inch" : baton->resolutionUnit); + } + if (!baton->formatMagick.empty()) { + info.Set("formatMagick", baton->formatMagick); + } + if (!baton->levels.empty()) { + int i = 0; + Napi::Array levels = Napi::Array::New(env, static_cast(baton->levels.size())); + for (const auto& [width, height] : baton->levels) { + Napi::Object level = Napi::Object::New(env); + level.Set("width", width); + level.Set("height", height); + levels.Set(i++, level); + } + info.Set("levels", levels); + } + if (baton->subifds > 0) { + info.Set("subifds", baton->subifds); + } + if (!baton->background.empty()) { + Napi::Object background = Napi::Object::New(env); + if (baton->background.size() == 3) { + background.Set("r", baton->background[0]); + background.Set("g", baton->background[1]); + background.Set("b", baton->background[2]); + } else { + background.Set("gray", round(baton->background[0] * 100 / 255)); + } + info.Set("background", background); + } + info.Set("hasProfile", baton->hasProfile); + info.Set("hasAlpha", baton->hasAlpha); + if (baton->orientation > 0) { + info.Set("orientation", baton->orientation); + } + Napi::Object autoOrient = Napi::Object::New(env); + info.Set("autoOrient", autoOrient); + if (baton->orientation >= 5) { + autoOrient.Set("width", baton->height); + autoOrient.Set("height", baton->width); + } else { + autoOrient.Set("width", baton->width); + autoOrient.Set("height", baton->height); + } + if (baton->exifLength > 0) { + info.Set("exif", Napi::Buffer::NewOrCopy(env, baton->exif, baton->exifLength, sharp::FreeCallback)); + } + if (baton->iccLength > 0) { + info.Set("icc", Napi::Buffer::NewOrCopy(env, baton->icc, baton->iccLength, sharp::FreeCallback)); + } + if (baton->iptcLength > 0) { + info.Set("iptc", Napi::Buffer::NewOrCopy(env, baton->iptc, baton->iptcLength, sharp::FreeCallback)); + } + if (baton->xmpLength > 0) { + if (g_utf8_validate(static_cast(baton->xmp), baton->xmpLength, nullptr)) { + info.Set("xmpAsString", + Napi::String::New(env, static_cast(baton->xmp), baton->xmpLength)); + } + info.Set("xmp", Napi::Buffer::NewOrCopy(env, baton->xmp, baton->xmpLength, sharp::FreeCallback)); + } + if (baton->tifftagPhotoshopLength > 0) { + info.Set("tifftagPhotoshop", + Napi::Buffer::NewOrCopy(env, baton->tifftagPhotoshop, + baton->tifftagPhotoshopLength, sharp::FreeCallback)); + } + if (baton->gainMapLength > 0) { + Napi::Object gainMap = Napi::Object::New(env); + info.Set("gainMap", gainMap); + gainMap.Set("image", + Napi::Buffer::NewOrCopy(env, baton->gainMap, baton->gainMapLength, sharp::FreeCallback)); + } + if (baton->comments.size() > 0) { + int i = 0; + Napi::Array comments = Napi::Array::New(env, baton->comments.size()); + for (const auto& [keyword, text] : baton->comments) { + Napi::Object comment = Napi::Object::New(env); + comment.Set("keyword", keyword); + comment.Set("text", text); + comments.Set(i++, comment); + } + info.Set("comments", comments); + } + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), { env.Null(), info }); + } else { + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), + { Napi::Error::New(env, sharp::TrimEnd(baton->err)).Value() }); + } + + delete baton->input; + delete baton; + } + + private: + MetadataBaton* baton; + Napi::FunctionReference debuglog; +}; + +/* + metadata(options, callback) +*/ +Napi::Value metadata(const Napi::CallbackInfo& info) { + // V8 objects are converted to non-V8 types held in the baton struct + MetadataBaton *baton = new MetadataBaton; + Napi::Object options = info[size_t(0)].As(); + + // Input + baton->input = sharp::CreateInputDescriptor(options.Get("input").As()); + + // Function to notify of libvips warnings + Napi::Function debuglog = options.Get("debuglog").As(); + + // Join queue for worker thread + Napi::Function callback = info[size_t(1)].As(); + MetadataWorker *worker = new MetadataWorker(callback, baton, debuglog); + worker->Receiver().Set("options", options); + worker->Queue(); + + // Increment queued task counter + sharp::counterQueue++; + + return info.Env().Undefined(); +} + +const char *PNG_COMMENT_START = "png-comment-"; +const int PNG_COMMENT_START_LEN = strlen(PNG_COMMENT_START); + +static void* readPNGComment(VipsImage *image, const char *field, GValue *value, void *p) { + MetadataComments *comments = static_cast(p); + + if (vips_isprefix(PNG_COMMENT_START, field)) { + const char *keyword = strchr(field + PNG_COMMENT_START_LEN, '-'); + const char *str; + if (keyword != NULL && !vips_image_get_string(image, field, &str)) { + keyword++; // Skip the hyphen + comments->push_back(std::make_pair(keyword, str)); + } + } + + return NULL; +} diff --git a/apps/api/.output/node_modules/sharp/src/metadata.h b/apps/api/.output/node_modules/sharp/src/metadata.h new file mode 100644 index 0000000..d1781dc --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/metadata.h @@ -0,0 +1,95 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_METADATA_H_ +#define SRC_METADATA_H_ + +#include +#include +#include + +#include "./common.h" + +typedef std::vector> MetadataComments; + +struct MetadataBaton { + // Input + sharp::InputDescriptor *input; + // Output + std::string format; + std::string mediaType; + int width; + int height; + std::string space; + int channels; + std::string depth; + int density; + std::string chromaSubsampling; + bool isProgressive; + bool isPalette; + int bitsPerSample; + int pages; + int pageHeight; + int loop; + std::vector delay; + int pagePrimary; + std::string compression; + std::string resolutionUnit; + std::string formatMagick; + std::vector> levels; + int subifds; + std::vector background; + bool hasProfile; + bool hasAlpha; + int orientation; + char *exif; + size_t exifLength; + char *icc; + size_t iccLength; + char *iptc; + size_t iptcLength; + char *xmp; + size_t xmpLength; + char *tifftagPhotoshop; + size_t tifftagPhotoshopLength; + char *gainMap; + size_t gainMapLength; + MetadataComments comments; + std::string err; + + MetadataBaton(): + input(nullptr), + width(0), + height(0), + channels(0), + density(0), + isProgressive(false), + isPalette(false), + bitsPerSample(0), + pages(0), + pageHeight(0), + loop(-1), + pagePrimary(-1), + subifds(0), + hasProfile(false), + hasAlpha(false), + orientation(0), + exif(nullptr), + exifLength(0), + icc(nullptr), + iccLength(0), + iptc(nullptr), + iptcLength(0), + xmp(nullptr), + xmpLength(0), + tifftagPhotoshop(nullptr), + tifftagPhotoshopLength(0), + gainMap(nullptr), + gainMapLength(0) {} +}; + +Napi::Value metadata(const Napi::CallbackInfo& info); + +#endif // SRC_METADATA_H_ diff --git a/apps/api/.output/node_modules/sharp/src/operations.cc b/apps/api/.output/node_modules/sharp/src/operations.cc new file mode 100644 index 0000000..d470172 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/operations.cc @@ -0,0 +1,516 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include +#include +#include +#include +#include +#include + +#include "./common.h" +#include "./operations.h" + +using vips::VImage; + +namespace sharp { + /* + * Tint an image using the provided RGB. + */ + VImage Tint(VImage image, std::vector const tint) { + std::vector const tintLab = (VImage::black(1, 1) + tint) + .colourspace(VIPS_INTERPRETATION_LAB, VImage::option()->set("source_space", VIPS_INTERPRETATION_sRGB)) + .getpoint(0, 0); + // LAB identity function + VImage identityLab = VImage::identity(VImage::option()->set("bands", 3)) + .colourspace(VIPS_INTERPRETATION_LAB, VImage::option()->set("source_space", VIPS_INTERPRETATION_sRGB)); + // Scale luminance range, 0.0 to 1.0 + VImage l = identityLab[0] / 100; + // Weighting functions + VImage weightL = 1.0 - 4.0 * ((l - 0.5) * (l - 0.5)); + VImage weightAB = (weightL * tintLab).extract_band(1, VImage::option()->set("n", 2)); + identityLab = identityLab[0].bandjoin(weightAB); + // Convert lookup table to sRGB + VImage lut = identityLab.colourspace(VIPS_INTERPRETATION_sRGB, + VImage::option()->set("source_space", VIPS_INTERPRETATION_LAB)); + // Original colourspace + VipsInterpretation typeBeforeTint = image.interpretation(); + if (typeBeforeTint == VIPS_INTERPRETATION_RGB) { + typeBeforeTint = VIPS_INTERPRETATION_sRGB; + } + // Apply lookup table + if (image.has_alpha()) { + VImage alpha = image[image.bands() - 1]; + image = RemoveAlpha(image) + .colourspace(VIPS_INTERPRETATION_B_W) + .maplut(lut) + .colourspace(typeBeforeTint) + .bandjoin(alpha); + } else { + image = image + .colourspace(VIPS_INTERPRETATION_B_W) + .maplut(lut) + .colourspace(typeBeforeTint); + } + return image; + } + + /* + * Stretch luminance to cover full dynamic range. + */ + VImage Normalise(VImage image, int const lower, int const upper) { + // Get original colourspace + VipsInterpretation typeBeforeNormalize = image.interpretation(); + if (typeBeforeNormalize == VIPS_INTERPRETATION_RGB) { + typeBeforeNormalize = VIPS_INTERPRETATION_sRGB; + } + // Convert to LAB colourspace + VImage lab = image.colourspace(VIPS_INTERPRETATION_LAB); + // Extract luminance + VImage luminance = lab[0]; + + // Find luminance range + int const min = lower == 0 ? luminance.min() : luminance.percent(lower); + int const max = upper == 100 ? luminance.max() : luminance.percent(upper); + + if (std::abs(max - min) > 1) { + // Extract chroma + VImage chroma = lab.extract_band(1, VImage::option()->set("n", 2)); + // Calculate multiplication factor and addition + double f = 100.0 / (max - min); + double a = -(min * f); + // Scale luminance, join to chroma, convert back to original colourspace + VImage normalized = luminance.linear(f, a).bandjoin(chroma).colourspace(typeBeforeNormalize); + // Attach original alpha channel, if any + if (image.has_alpha()) { + // Extract original alpha channel + VImage alpha = image[image.bands() - 1]; + // Join alpha channel to normalised image + return normalized.bandjoin(alpha); + } else { + return normalized; + } + } + return image; + } + + /* + * Contrast limiting adapative histogram equalization (CLAHE) + */ + VImage Clahe(VImage image, int const width, int const height, int const maxSlope) { + return image.hist_local(width, height, VImage::option()->set("max_slope", maxSlope)); + } + + /* + * Gamma encoding/decoding + */ + VImage Gamma(VImage image, double const exponent) { + if (image.has_alpha()) { + // Separate alpha channel + VImage alpha = image[image.bands() - 1]; + return RemoveAlpha(image).gamma(VImage::option()->set("exponent", exponent)).bandjoin(alpha); + } else { + return image.gamma(VImage::option()->set("exponent", exponent)); + } + } + + /* + * Flatten image to remove alpha channel + */ + VImage Flatten(VImage image, std::vector flattenBackground) { + double const multiplier = sharp::Is16Bit(image.interpretation()) ? 256.0 : 1.0; + std::vector background { + flattenBackground[0] * multiplier, + flattenBackground[1] * multiplier, + flattenBackground[2] * multiplier + }; + return image.flatten(VImage::option()->set("background", background)); + } + + /** + * Produce the "negative" of the image. + */ + VImage Negate(VImage image, bool const negateAlpha) { + if (image.has_alpha() && !negateAlpha) { + // Separate alpha channel + VImage alpha = image[image.bands() - 1]; + return RemoveAlpha(image).invert().bandjoin(alpha); + } else { + return image.invert(); + } + } + + /* + * Gaussian blur. Use sigma of -1.0 for fast blur. + */ + VImage Blur(VImage image, double const sigma, VipsPrecision precision, double const minAmpl) { + if (sigma == -1.0) { + // Fast, mild blur - averages neighbouring pixels + VImage blur = VImage::new_matrixv(3, 3, + 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0); + blur.set("scale", 9.0); + return image.conv(blur); + } else { + // Slower, accurate Gaussian blur + return StaySequential(image).gaussblur(sigma, VImage::option() + ->set("precision", precision) + ->set("min_ampl", minAmpl)); + } + } + + /* + * Convolution with a kernel. + */ + VImage Convolve(VImage image, int const width, int const height, + double const scale, double const offset, + std::vector const &kernel_v + ) { + VImage kernel = VImage::new_from_memory( + static_cast(const_cast(kernel_v.data())), + width * height * sizeof(double), + width, + height, + 1, + VIPS_FORMAT_DOUBLE); + kernel.set("scale", scale); + kernel.set("offset", offset); + + return image.conv(kernel); + } + + /* + * Recomb with a Matrix of the given bands/channel size. + * Eg. RGB will be a 3x3 matrix. + */ + VImage Recomb(VImage image, std::vector const& matrix) { + double* m = const_cast(matrix.data()); + image = image.colourspace(VIPS_INTERPRETATION_sRGB); + if (matrix.size() == 9) { + return image + .recomb(image.bands() == 3 + ? VImage::new_matrix(3, 3, m, 9) + : VImage::new_matrixv(4, 4, + m[0], m[1], m[2], 0.0, + m[3], m[4], m[5], 0.0, + m[6], m[7], m[8], 0.0, + 0.0, 0.0, 0.0, 1.0)); + } else { + return image.recomb(VImage::new_matrix(4, 4, m, 16)); + } + } + + VImage Modulate(VImage image, double const brightness, double const saturation, + int const hue, double const lightness) { + VipsInterpretation colourspaceBeforeModulate = image.interpretation(); + if (image.has_alpha()) { + // Separate alpha channel + VImage alpha = image[image.bands() - 1]; + return RemoveAlpha(image) + .colourspace(VIPS_INTERPRETATION_LCH) + .linear( + { brightness, saturation, 1}, + { lightness, 0.0, static_cast(hue) } + ) + .colourspace(colourspaceBeforeModulate) + .bandjoin(alpha); + } else { + return image + .colourspace(VIPS_INTERPRETATION_LCH) + .linear( + { brightness, saturation, 1 }, + { lightness, 0.0, static_cast(hue) } + ) + .colourspace(colourspaceBeforeModulate); + } + } + + /* + * Sharpen flat and jagged areas. Use sigma of -1.0 for fast sharpen. + */ + VImage Sharpen(VImage image, double const sigma, double const m1, double const m2, + double const x1, double const y2, double const y3) { + if (sigma == -1.0) { + // Fast, mild sharpen + VImage sharpen = VImage::new_matrixv(3, 3, + -1.0, -1.0, -1.0, + -1.0, 32.0, -1.0, + -1.0, -1.0, -1.0); + sharpen.set("scale", 24.0); + return image.conv(sharpen); + } else { + // Slow, accurate sharpen in LAB colour space, with control over flat vs jagged areas + VipsInterpretation colourspaceBeforeSharpen = image.interpretation(); + if (colourspaceBeforeSharpen == VIPS_INTERPRETATION_RGB) { + colourspaceBeforeSharpen = VIPS_INTERPRETATION_sRGB; + } + return image + .sharpen(VImage::option() + ->set("sigma", sigma) + ->set("m1", m1) + ->set("m2", m2) + ->set("x1", x1) + ->set("y2", y2) + ->set("y3", y3)) + .colourspace(colourspaceBeforeSharpen); + } + } + + VImage Threshold(VImage image, double const threshold, bool const thresholdGrayscale) { + if (!thresholdGrayscale) { + return image >= threshold; + } + return image.colourspace(VIPS_INTERPRETATION_B_W) >= threshold; + } + + /* + Perform boolean/bitwise operation on image color channels - results in one channel image + */ + VImage Bandbool(VImage image, VipsOperationBoolean const boolean) { + image = image.bandbool(boolean); + return image.copy(VImage::option()->set("interpretation", VIPS_INTERPRETATION_B_W)); + } + + /* + Perform bitwise boolean operation between images + */ + VImage Boolean(VImage image, VImage imageR, VipsOperationBoolean const boolean) { + return image.boolean(imageR, boolean); + } + + /* + Trim an image + */ + VImage Trim(VImage image, std::vector background, double threshold, bool const lineArt, int const margin) { + if (image.width() < 3 && image.height() < 3) { + throw std::runtime_error("Image to trim must be at least 3x3 pixels"); + } + if (background.size() == 0) { + // Top-left pixel provides the default background colour if none is given + background = image.extract_area(0, 0, 1, 1)(0, 0); + } else if (sharp::Is16Bit(image.interpretation())) { + for (size_t i = 0; i < background.size(); i++) { + background[i] *= 256.0; + } + threshold *= 256.0; + } + std::vector backgroundAlpha({ background.back() }); + if (image.has_alpha()) { + background.pop_back(); + } else { + background.resize(image.bands()); + } + int left, top, width, height; + left = image.find_trim(&top, &width, &height, VImage::option() + ->set("background", background) + ->set("line_art", lineArt) + ->set("threshold", threshold)); + if (image.has_alpha()) { + // Search alpha channel (A) + int leftA, topA, widthA, heightA; + VImage alpha = image[image.bands() - 1]; + leftA = alpha.find_trim(&topA, &widthA, &heightA, VImage::option() + ->set("background", backgroundAlpha) + ->set("line_art", lineArt) + ->set("threshold", threshold)); + if (widthA > 0 && heightA > 0) { + if (width > 0 && height > 0) { + // Combined bounding box (B) + int leftB = std::min(left, leftA); + int topB = std::min(top, topA); + int widthB = std::max(left + width, leftA + widthA) - leftB; + int heightB = std::max(top + height, topA + heightA) - topB; + if (margin > 0) { + leftB = std::max(0, leftB - margin); + topB = std::max(0, topB - margin); + widthB = std::min(image.width() - leftB, widthB + 2 * margin); + heightB = std::min(image.height() - topB, heightB + 2 * margin); + } + return image.extract_area(leftB, topB, widthB, heightB); + } else { + // Use alpha only + if (margin > 0) { + leftA = std::max(0, leftA - margin); + topA = std::max(0, topA - margin); + widthA = std::min(image.width() - leftA, widthA + 2 * margin); + heightA = std::min(image.height() - topA, heightA + 2 * margin); + } + return image.extract_area(leftA, topA, widthA, heightA); + } + } + } + if (width > 0 && height > 0) { + if (margin > 0) { + left = std::max(0, left - margin); + top = std::max(0, top - margin); + width = std::min(image.width() - left, width + 2 * margin); + height = std::min(image.height() - top, height + 2 * margin); + } + return image.extract_area(left, top, width, height); + } + return image; + } + + /* + * Calculate (a * in + b) + */ + VImage Linear(VImage image, std::vector const a, std::vector const b) { + size_t const bands = static_cast(image.bands()); + if (a.size() > bands) { + throw std::runtime_error("Band expansion using linear is unsupported"); + } + bool const uchar = !Is16Bit(image.interpretation()); + if (image.has_alpha() && a.size() != bands && (a.size() == 1 || a.size() == bands - 1 || bands - 1 == 1)) { + // Separate alpha channel + VImage alpha = image[bands - 1]; + return RemoveAlpha(image).linear(a, b, VImage::option()->set("uchar", uchar)).bandjoin(alpha); + } else { + return image.linear(a, b, VImage::option()->set("uchar", uchar)); + } + } + + /* + * Unflatten + */ + VImage Unflatten(VImage image) { + if (image.has_alpha()) { + VImage alpha = image[image.bands() - 1]; + VImage noAlpha = RemoveAlpha(image); + return noAlpha.bandjoin(alpha & (noAlpha.colourspace(VIPS_INTERPRETATION_B_W) < 255)); + } else { + return image.bandjoin(image.colourspace(VIPS_INTERPRETATION_B_W) < 255); + } + } + + /* + * Ensure the image is in a given colourspace + */ + VImage EnsureColourspace(VImage image, VipsInterpretation colourspace) { + if (colourspace != VIPS_INTERPRETATION_LAST && image.interpretation() != colourspace) { + image = image.colourspace(colourspace, + VImage::option()->set("source_space", image.interpretation())); + } + return image; + } + + /* + * Split and crop each frame, reassemble, and update pageHeight. + */ + VImage CropMultiPage(VImage image, int left, int top, int width, int height, + int nPages, int *pageHeight) { + if (top == 0 && height == *pageHeight) { + // Fast path; no need to adjust the height of the multi-page image + return image.extract_area(left, 0, width, image.height()); + } else { + std::vector pages; + pages.reserve(nPages); + + // Split the image into cropped frames + image = StaySequential(image); + for (int i = 0; i < nPages; i++) { + pages.push_back( + image.extract_area(left, *pageHeight * i + top, width, height)); + } + + // Reassemble the frames into a tall, thin image + VImage assembled = VImage::arrayjoin(pages, + VImage::option()->set("across", 1)); + + // Update the page height + *pageHeight = height; + + return assembled; + } + } + + /* + * Split into frames, embed each frame, reassemble, and update pageHeight. + */ + VImage EmbedMultiPage(VImage image, int left, int top, int width, int height, + VipsExtend extendWith, std::vector background, int nPages, int *pageHeight) { + if (top == 0 && height == *pageHeight) { + // Fast path; no need to adjust the height of the multi-page image + return image.embed(left, 0, width, image.height(), VImage::option() + ->set("extend", extendWith) + ->set("background", background)); + } else if (left == 0 && width == image.width()) { + // Fast path; no need to adjust the width of the multi-page image + std::vector pages; + pages.reserve(nPages); + + // Rearrange the tall image into a vertical grid + image = image.grid(*pageHeight, nPages, 1); + + // Do the embed on the wide image + image = image.embed(0, top, image.width(), height, VImage::option() + ->set("extend", extendWith) + ->set("background", background)); + + // Split the wide image into frames + for (int i = 0; i < nPages; i++) { + pages.push_back( + image.extract_area(width * i, 0, width, height)); + } + + // Reassemble the frames into a tall, thin image + VImage assembled = VImage::arrayjoin(pages, + VImage::option()->set("across", 1)); + + // Update the page height + *pageHeight = height; + + return assembled; + } else { + std::vector pages; + pages.reserve(nPages); + + // Split the image into frames + for (int i = 0; i < nPages; i++) { + pages.push_back( + image.extract_area(0, *pageHeight * i, image.width(), *pageHeight)); + } + + // Embed each frame in the target size + for (int i = 0; i < nPages; i++) { + pages[i] = pages[i].embed(left, top, width, height, VImage::option() + ->set("extend", extendWith) + ->set("background", background)); + } + + // Reassemble the frames into a tall, thin image + VImage assembled = VImage::arrayjoin(pages, + VImage::option()->set("across", 1)); + + // Update the page height + *pageHeight = height; + + return assembled; + } + } + + /* + * Dilate an image + */ + VImage Dilate(VImage image, int const width) { + int const maskWidth = 2 * width + 1; + VImage mask = VImage::new_matrix(maskWidth, maskWidth); + return image.morph( + mask, + VIPS_OPERATION_MORPHOLOGY_DILATE).invert(); + } + + /* + * Erode an image + */ + VImage Erode(VImage image, int const width) { + int const maskWidth = 2 * width + 1; + VImage mask = VImage::new_matrix(maskWidth, maskWidth); + return image.morph( + mask, + VIPS_OPERATION_MORPHOLOGY_ERODE).invert(); + } + +} // namespace sharp diff --git a/apps/api/.output/node_modules/sharp/src/operations.h b/apps/api/.output/node_modules/sharp/src/operations.h new file mode 100644 index 0000000..b9699bb --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/operations.h @@ -0,0 +1,137 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_OPERATIONS_H_ +#define SRC_OPERATIONS_H_ + +#include +#include +#include +#include +#include +#include + +using vips::VImage; + +namespace sharp { + + /* + * Tint an image using the provided RGB. + */ + VImage Tint(VImage image, std::vector const tint); + + /* + * Stretch luminance to cover full dynamic range. + */ + VImage Normalise(VImage image, int const lower, int const upper); + + /* + * Contrast limiting adapative histogram equalization (CLAHE) + */ + VImage Clahe(VImage image, int const width, int const height, int const maxSlope); + + /* + * Gamma encoding/decoding + */ + VImage Gamma(VImage image, double const exponent); + + /* + * Flatten image to remove alpha channel + */ + VImage Flatten(VImage image, std::vector flattenBackground); + + /* + * Produce the "negative" of the image. + */ + VImage Negate(VImage image, bool const negateAlpha); + + /* + * Gaussian blur. Use sigma of -1.0 for fast blur. + */ + VImage Blur(VImage image, double const sigma, VipsPrecision precision, double const minAmpl); + + /* + * Convolution with a kernel. + */ + VImage Convolve(VImage image, int const width, int const height, + double const scale, double const offset, std::vector const &kernel_v); + + /* + * Sharpen flat and jagged areas. Use sigma of -1.0 for fast sharpen. + */ + VImage Sharpen(VImage image, double const sigma, double const m1, double const m2, + double const x1, double const y2, double const y3); + + /* + Threshold an image + */ + VImage Threshold(VImage image, double const threshold, bool const thresholdColor); + + /* + Perform boolean/bitwise operation on image color channels - results in one channel image + */ + VImage Bandbool(VImage image, VipsOperationBoolean const boolean); + + /* + Perform bitwise boolean operation between images + */ + VImage Boolean(VImage image, VImage imageR, VipsOperationBoolean const boolean); + + /* + Trim an image + */ + VImage Trim(VImage image, std::vector background, double threshold, bool const lineArt, int const margin); + + /* + * Linear adjustment (a * in + b) + */ + VImage Linear(VImage image, std::vector const a, std::vector const b); + + /* + * Unflatten + */ + VImage Unflatten(VImage image); + + /* + * Recomb with a Matrix of the given bands/channel size. + * Eg. RGB will be a 3x3 matrix. + */ + VImage Recomb(VImage image, std::vector const &matrix); + + /* + * Modulate brightness, saturation, hue and lightness + */ + VImage Modulate(VImage image, double const brightness, double const saturation, + int const hue, double const lightness); + + /* + * Ensure the image is in a given colourspace + */ + VImage EnsureColourspace(VImage image, VipsInterpretation colourspace); + + /* + * Split and crop each frame, reassemble, and update pageHeight. + */ + VImage CropMultiPage(VImage image, int left, int top, int width, int height, + int nPages, int *pageHeight); + + /* + * Split into frames, embed each frame, reassemble, and update pageHeight. + */ + VImage EmbedMultiPage(VImage image, int left, int top, int width, int height, + VipsExtend extendWith, std::vector background, int nPages, int *pageHeight); + + /* + * Dilate an image + */ + VImage Dilate(VImage image, int const maskWidth); + + /* + * Erode an image + */ + VImage Erode(VImage image, int const maskWidth); +} // namespace sharp + +#endif // SRC_OPERATIONS_H_ diff --git a/apps/api/.output/node_modules/sharp/src/pipeline.cc b/apps/api/.output/node_modules/sharp/src/pipeline.cc new file mode 100644 index 0000000..a579503 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/pipeline.cc @@ -0,0 +1,1973 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include +#include +#include // NOLINT(build/c++17) +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "./common.h" +#include "./operations.h" +#include "./pipeline.h" + +class PipelineWorker : public Napi::AsyncWorker { + public: + PipelineWorker(Napi::Function callback, PipelineBaton *baton, + Napi::Function debuglog, Napi::Function queueListener) : + Napi::AsyncWorker(callback), + baton(baton), + debuglog(Napi::Persistent(debuglog)), + queueListener(Napi::Persistent(queueListener)) {} + ~PipelineWorker() {} + + // libuv worker + void Execute() { + // Decrement queued task counter + sharp::counterQueue--; + // Increment processing task counter + sharp::counterProcess++; + + try { + // Open input + vips::VImage image; + sharp::ImageType inputImageType; + if (baton->join.empty()) { + std::tie(image, inputImageType) = sharp::OpenInput(baton->input); + } else { + std::vector images; + bool hasAlpha = false; + for (auto &join : baton->join) { + std::tie(image, inputImageType) = sharp::OpenInput(join); + image = sharp::EnsureColourspace(image, baton->colourspacePipeline); + images.push_back(image); + hasAlpha |= image.has_alpha(); + } + if (hasAlpha) { + for (size_t i = 0; i < images.size(); i++) { + if (!images[i].has_alpha()) { + images[i] = sharp::EnsureAlpha(images[i], 1); + } + } + } else { + baton->input->joinBackground.pop_back(); + } + inputImageType = sharp::ImageType::PNG; + image = VImage::arrayjoin(images, VImage::option() + ->set("across", baton->input->joinAcross) + ->set("shim", baton->input->joinShim) + ->set("background", baton->input->joinBackground) + ->set("halign", baton->input->joinHalign) + ->set("valign", baton->input->joinValign)); + if (baton->input->joinAnimated) { + image = image.copy(); + image.set(VIPS_META_N_PAGES, static_cast(images.size())); + image.set(VIPS_META_PAGE_HEIGHT, static_cast(image.height() / images.size())); + } + } + VipsAccess access = baton->input->access; + image = sharp::EnsureColourspace(image, baton->colourspacePipeline); + + int nPages = baton->input->pages; + if (nPages == -1) { + // Resolve the number of pages if we need to render until the end of the document + nPages = image.get_typeof(VIPS_META_N_PAGES) != 0 + ? image.get_int(VIPS_META_N_PAGES) - std::max(0, baton->input->page) + : 1; + } + + // Get pre-resize page height + int pageHeight = sharp::GetPageHeight(image); + + // Calculate angle of rotation + VipsAngle rotation = VIPS_ANGLE_D0; + VipsAngle autoRotation = VIPS_ANGLE_D0; + VipsAngle gainMapRotation = VIPS_ANGLE_D0; + bool autoFlop = false; + bool gainMapFlip = false; + bool gainMapFlop = false; + + if (baton->input->autoOrient) { + // Rotate and flip image according to Exif orientation + std::tie(autoRotation, autoFlop) = CalculateExifRotationAndFlop(sharp::ExifOrientation(image)); + } + + rotation = CalculateAngleRotation(baton->angle); + + bool const shouldRotateBefore = baton->rotateBefore && + (rotation != VIPS_ANGLE_D0 || baton->flip || baton->flop || baton->rotationAngle != 0.0); + bool const shouldOrientBefore = (shouldRotateBefore || baton->orientBefore) && + (autoRotation != VIPS_ANGLE_D0 || autoFlop); + + if (shouldOrientBefore) { + image = sharp::StaySequential(image, autoRotation != VIPS_ANGLE_D0); + if (autoRotation != VIPS_ANGLE_D0) { + if (autoRotation != VIPS_ANGLE_D180) { + MultiPageUnsupported(nPages, "Rotate"); + } + image = image.rot(autoRotation); + gainMapRotation = autoRotation; + autoRotation = VIPS_ANGLE_D0; + } + if (autoFlop) { + image = image.flip(VIPS_DIRECTION_HORIZONTAL); + autoFlop = false; + gainMapFlop = true; + } + } + + if (shouldRotateBefore) { + image = sharp::StaySequential(image, rotation != VIPS_ANGLE_D0 || baton->flip || baton->rotationAngle != 0.0); + if (baton->flip) { + image = image.flip(VIPS_DIRECTION_VERTICAL); + baton->flip = false; + gainMapFlip = true; + } + if (baton->flop) { + image = image.flip(VIPS_DIRECTION_HORIZONTAL); + baton->flop = false; + gainMapFlop = true; + } + if (rotation != VIPS_ANGLE_D0) { + if (rotation != VIPS_ANGLE_D180) { + MultiPageUnsupported(nPages, "Rotate"); + } + image = image.rot(rotation); + gainMapRotation = rotation; + rotation = VIPS_ANGLE_D0; + } + if (baton->rotationAngle != 0.0) { + MultiPageUnsupported(nPages, "Rotate"); + KeepGainMapUnsupported(baton->keepGainMap, "Rotate"); + std::vector background; + std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, false); + image = image.rotate(baton->rotationAngle, VImage::option()->set("background", background)).copy_memory(); + baton->rotationAngle = 0.0; + } + } + + // Trim + if (baton->trimThreshold >= 0.0) { + MultiPageUnsupported(nPages, "Trim"); + KeepGainMapUnsupported(baton->keepGainMap, "Trim"); + image = sharp::StaySequential(image); + image = sharp::Trim(image, baton->trimBackground, baton->trimThreshold, baton->trimLineArt, baton->trimMargin); + baton->trimOffsetLeft = image.xoffset(); + baton->trimOffsetTop = image.yoffset(); + } + + // Pre extraction + if (baton->topOffsetPre != -1) { + image = nPages > 1 + ? sharp::CropMultiPage(image, + baton->leftOffsetPre, baton->topOffsetPre, baton->widthPre, baton->heightPre, nPages, &pageHeight) + : image.extract_area(baton->leftOffsetPre, baton->topOffsetPre, baton->widthPre, baton->heightPre); + } + + // Get pre-resize image width and height + int inputWidth = image.width(); + int inputHeight = image.height(); + + // Is there just one page? Shrink to inputHeight instead + if (nPages == 1) { + pageHeight = inputHeight; + } + + // Scaling calculations + double hshrink; + double vshrink; + int targetResizeWidth = baton->width; + int targetResizeHeight = baton->height; + + // When auto-rotating by 90 or 270 degrees, swap the target width and + // height to ensure the behavior aligns with how it would have been if + // the rotation had taken place *before* resizing. + if (autoRotation == VIPS_ANGLE_D90 || autoRotation == VIPS_ANGLE_D270) { + std::swap(targetResizeWidth, targetResizeHeight); + } + + // Shrink to pageHeight, so we work for multi-page images + std::tie(hshrink, vshrink) = sharp::ResolveShrink( + inputWidth, pageHeight, targetResizeWidth, targetResizeHeight, + baton->canvas, baton->withoutEnlargement, baton->withoutReduction); + + // The jpeg preload shrink. + int jpegShrinkOnLoad = 1; + + // WebP, PDF, SVG scale + double scale = 1.0; + + // Try to reload input using shrink-on-load for JPEG, WebP, SVG and PDF, when: + // - the width or height parameters are specified; + // - gamma correction doesn't need to be applied; + // - trimming or pre-resize extract isn't required; + // - gain map processing is not required; + // - input colourspace is not specified; + bool const shouldPreShrink = (targetResizeWidth > 0 || targetResizeHeight > 0) && + baton->gamma == 0 && baton->topOffsetPre == -1 && baton->trimThreshold < 0.0 && + !baton->keepGainMap && !baton->withGainMap && + baton->colourspacePipeline == VIPS_INTERPRETATION_LAST && !(shouldOrientBefore || shouldRotateBefore); + + if (shouldPreShrink) { + // The common part of the shrink: the bit by which both axes must be shrunk + double shrink = std::min(hshrink, vshrink); + + if (inputImageType == sharp::ImageType::JPEG) { + // Leave at least a factor of two for the final resize step, when fastShrinkOnLoad: false + // for more consistent results and to avoid extra sharpness to the image + int factor = baton->fastShrinkOnLoad ? 1 : 2; + if (shrink >= 8 * factor) { + jpegShrinkOnLoad = 8; + } else if (shrink >= 4 * factor) { + jpegShrinkOnLoad = 4; + } else if (shrink >= 2 * factor) { + jpegShrinkOnLoad = 2; + } + // Lower shrink-on-load for known libjpeg rounding errors + if (jpegShrinkOnLoad > 1 && static_cast(shrink) == jpegShrinkOnLoad) { + jpegShrinkOnLoad /= 2; + } + } else if (inputImageType == sharp::ImageType::WEBP && baton->fastShrinkOnLoad && shrink > 1.0) { + // Avoid upscaling via webp + scale = 1.0 / shrink; + } else if (inputImageType == sharp::ImageType::SVG || + inputImageType == sharp::ImageType::PDF) { + scale = 1.0 / shrink; + } + } + + // Reload input using shrink-on-load, it'll be an integer shrink + // factor for jpegload*, a double scale factor for webpload*, + // pdfload* and svgload* + if (jpegShrinkOnLoad > 1) { + vips::VOption *option = GetOptionsForImageType(inputImageType, baton->input)->set("shrink", jpegShrinkOnLoad); + if (baton->input->buffer != nullptr) { + // Reload JPEG buffer + VipsBlob *blob = vips_blob_new(nullptr, baton->input->buffer, baton->input->bufferLength); + image = VImage::jpegload_buffer(blob, option); + vips_area_unref(reinterpret_cast(blob)); + } else { + // Reload JPEG file + image = VImage::jpegload(const_cast(baton->input->file.data()), option); + } + } else if (scale != 1.0) { + vips::VOption *option = GetOptionsForImageType(inputImageType, baton->input)->set("scale", scale); + if (inputImageType == sharp::ImageType::WEBP) { + if (baton->input->buffer != nullptr) { + // Reload WebP buffer + VipsBlob *blob = vips_blob_new(nullptr, baton->input->buffer, baton->input->bufferLength); + image = VImage::webpload_buffer(blob, option); + vips_area_unref(reinterpret_cast(blob)); + } else { + // Reload WebP file + image = VImage::webpload(const_cast(baton->input->file.data()), option); + } + } else if (inputImageType == sharp::ImageType::SVG) { + if (baton->input->buffer != nullptr) { + // Reload SVG buffer + VipsBlob *blob = vips_blob_new(nullptr, baton->input->buffer, baton->input->bufferLength); + image = VImage::svgload_buffer(blob, option); + vips_area_unref(reinterpret_cast(blob)); + } else { + // Reload SVG file + image = VImage::svgload(const_cast(baton->input->file.data()), option); + } + sharp::SetDensity(image, baton->input->density); + if (image.width() > 32767 || image.height() > 32767) { + throw std::runtime_error("Input SVG image will exceed 32767x32767 pixel limit when scaled"); + } + } else if (inputImageType == sharp::ImageType::PDF) { + if (baton->input->buffer != nullptr) { + // Reload PDF buffer + VipsBlob *blob = vips_blob_new(nullptr, baton->input->buffer, baton->input->bufferLength); + image = VImage::pdfload_buffer(blob, option); + vips_area_unref(reinterpret_cast(blob)); + } else { + // Reload PDF file + image = VImage::pdfload(const_cast(baton->input->file.data()), option); + } + sharp::SetDensity(image, baton->input->density); + } + } else { + if (inputImageType == sharp::ImageType::SVG && (image.width() > 32767 || image.height() > 32767)) { + throw std::runtime_error("Input SVG image exceeds 32767x32767 pixel limit"); + } + } + if (baton->input->autoOrient) { + image = sharp::RemoveExifOrientation(image); + } + VImage gainMap; + int gainMapScaleFactor = 1; + if (sharp::HasGainMap(image)) { + if (baton->keepGainMap) { + gainMap = image.gainmap(); + if (image.get_typeof("gainmap-scale-factor") == G_TYPE_INT) { + gainMapScaleFactor = image.get_int("gainmap-scale-factor"); + } + if (gainMapFlip) { + gainMap = gainMap.flip(VIPS_DIRECTION_VERTICAL); + } + if (gainMapFlop) { + gainMap = gainMap.flip(VIPS_DIRECTION_HORIZONTAL); + } + if (gainMapRotation != VIPS_ANGLE_D0) { + gainMap = gainMap.rot(gainMapRotation); + } + if (baton->topOffsetPre != -1) { + gainMap = gainMap.extract_area( + baton->leftOffsetPre / gainMapScaleFactor, baton->topOffsetPre / gainMapScaleFactor, + baton->widthPre / gainMapScaleFactor, baton->heightPre / gainMapScaleFactor); + } + } else if (baton->withGainMap) { + image = image.uhdr2scRGB(); + } + image = sharp::RemoveGainMap(image); + } else { + baton->keepGainMap = false; + baton->withGainMap = false; + } + + // Any pre-shrinking may already have been done + inputWidth = image.width(); + inputHeight = image.height(); + + // After pre-shrink, but before the main shrink stage + // Reuse the initial pageHeight if we didn't pre-shrink + if (shouldPreShrink) { + pageHeight = sharp::GetPageHeight(image); + } + + // Shrink to pageHeight, so we work for multi-page images + std::tie(hshrink, vshrink) = sharp::ResolveShrink( + inputWidth, pageHeight, targetResizeWidth, targetResizeHeight, + baton->canvas, baton->withoutEnlargement, baton->withoutReduction); + + int targetHeight = static_cast(std::rint(static_cast(pageHeight) / vshrink)); + int targetPageHeight = targetHeight; + + // In toilet-roll mode, we must adjust vshrink so that we exactly hit + // pageHeight or we'll have pixels straddling pixel boundaries + if (inputHeight > pageHeight) { + targetHeight *= nPages; + vshrink = static_cast(inputHeight) / targetHeight; + } + + // Ensure we're using a device-independent colour space + std::pair inputProfile(nullptr, 0); + if ((baton->keepMetadata & VIPS_FOREIGN_KEEP_ICC) && baton->withIccProfile.empty()) { + // Cache input profile for use with output + inputProfile = sharp::GetProfile(image); + baton->input->ignoreIcc = true; + } + char const *processingProfile = image.interpretation() == VIPS_INTERPRETATION_RGB16 ? "p3" : "srgb"; + if ( + sharp::HasProfile(image) && + image.interpretation() != VIPS_INTERPRETATION_LABS && + image.interpretation() != VIPS_INTERPRETATION_GREY16 && + baton->colourspacePipeline != VIPS_INTERPRETATION_CMYK && + !baton->input->ignoreIcc && !baton->withGainMap + ) { + // Convert to sRGB/P3 using embedded profile + try { + image = image.icc_transform(processingProfile, VImage::option() + ->set("embedded", true) + ->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8) + ->set("intent", VIPS_INTENT_PERCEPTUAL)); + } catch(...) { + sharp::VipsWarningCallback(nullptr, G_LOG_LEVEL_WARNING, "Invalid embedded profile", nullptr); + } + } else if ( + image.interpretation() == VIPS_INTERPRETATION_CMYK && + baton->colourspacePipeline != VIPS_INTERPRETATION_CMYK + ) { + image = image.icc_transform(processingProfile, VImage::option() + ->set("input_profile", "cmyk") + ->set("intent", VIPS_INTENT_PERCEPTUAL)); + } + + // Flatten image to remove alpha channel + if (baton->flatten && image.has_alpha()) { + image = sharp::Flatten(image, baton->flattenBackground); + } + + // Gamma encoding (darken) + if (baton->gamma >= 1 && baton->gamma <= 3) { + image = sharp::Gamma(image, 1.0 / baton->gamma); + } + + // Convert to greyscale (linear, therefore after gamma encoding, if any) + if (baton->greyscale) { + image = image.colourspace(VIPS_INTERPRETATION_B_W); + } + + bool const shouldResize = hshrink != 1.0 || vshrink != 1.0; + bool const shouldBlur = baton->blurSigma != 0.0; + bool const shouldConv = baton->convKernelWidth * baton->convKernelHeight > 0; + bool const shouldSharpen = baton->sharpenSigma != 0.0; + bool const shouldComposite = !baton->composite.empty(); + + if (shouldComposite && !image.has_alpha()) { + image = sharp::EnsureAlpha(image, 1); + } + + VipsBandFormat premultiplyFormat = image.format(); + bool const shouldPremultiplyAlpha = image.has_alpha() && + (shouldResize || shouldBlur || shouldConv || shouldSharpen); + + if (shouldPremultiplyAlpha) { + image = image.premultiply().cast(premultiplyFormat); + } + + // Resize + if (shouldResize) { + image = image.resize(1.0 / hshrink, VImage::option() + ->set("vscale", 1.0 / vshrink) + ->set("kernel", baton->kernel)); + if (baton->keepGainMap) { + gainMap = gainMap.resize(1.0 / hshrink, VImage::option() + ->set("vscale", 1.0 / vshrink) + ->set("kernel", baton->kernel)); + } + } + + image = sharp::StaySequential(image, + autoRotation != VIPS_ANGLE_D0 || + baton->flip || + rotation != VIPS_ANGLE_D0); + // Auto-rotate post-extract + if (autoRotation != VIPS_ANGLE_D0) { + if (autoRotation != VIPS_ANGLE_D180) { + MultiPageUnsupported(nPages, "Rotate"); + } + image = image.rot(autoRotation); + if (baton->keepGainMap) { + gainMap = sharp::StaySequential(gainMap).rot(autoRotation); + } + } + // Mirror vertically (up-down) about the x-axis + if (baton->flip) { + image = image.flip(VIPS_DIRECTION_VERTICAL); + if (baton->keepGainMap) { + gainMap = sharp::StaySequential(gainMap).flip(VIPS_DIRECTION_VERTICAL); + } + } + // Mirror horizontally (left-right) about the y-axis + if (baton->flop != autoFlop) { + image = image.flip(VIPS_DIRECTION_HORIZONTAL); + if (baton->keepGainMap) { + gainMap = gainMap.flip(VIPS_DIRECTION_HORIZONTAL); + } + } + // Rotate post-extract 90-angle + if (rotation != VIPS_ANGLE_D0) { + if (rotation != VIPS_ANGLE_D180) { + MultiPageUnsupported(nPages, "Rotate"); + } + image = image.rot(rotation); + if (baton->keepGainMap) { + gainMap = sharp::StaySequential(gainMap).rot(rotation); + } + } + + // Join additional color channels to the image + if (!baton->joinChannelIn.empty()) { + VImage joinImage; + sharp::ImageType joinImageType = sharp::ImageType::UNKNOWN; + + for (unsigned int i = 0; i < baton->joinChannelIn.size(); i++) { + baton->joinChannelIn[i]->access = access; + std::tie(joinImage, joinImageType) = sharp::OpenInput(baton->joinChannelIn[i]); + joinImage = sharp::EnsureColourspace(joinImage, baton->colourspacePipeline); + image = image.bandjoin(joinImage); + } + image = image.copy(VImage::option()->set("interpretation", baton->colourspace)); + image = sharp::RemoveGifPalette(image); + } + + inputWidth = image.width(); + inputHeight = nPages > 1 ? targetPageHeight : image.height(); + + // Resolve dimensions + if (baton->width <= 0) { + baton->width = inputWidth; + } + if (baton->height <= 0) { + baton->height = inputHeight; + } + + // Crop/embed + if (inputWidth != baton->width || inputHeight != baton->height) { + if (baton->canvas == sharp::Canvas::EMBED) { + std::vector background; + std::tie(image, background) = sharp::ApplyAlpha(image, baton->resizeBackground, shouldPremultiplyAlpha); + + // Embed + const auto& [left, top] = sharp::CalculateEmbedPosition( + inputWidth, inputHeight, baton->width, baton->height, baton->position); + const int width = std::max(inputWidth, baton->width); + const int height = std::max(inputHeight, baton->height); + + image = nPages > 1 + ? sharp::EmbedMultiPage(image, + left, top, width, height, VIPS_EXTEND_BACKGROUND, background, nPages, &targetPageHeight) + : image.embed(left, top, width, height, VImage::option() + ->set("extend", VIPS_EXTEND_BACKGROUND) + ->set("background", background)); + if (baton->keepGainMap) { + gainMap = gainMap.embed(left / gainMapScaleFactor, top / gainMapScaleFactor, + width / gainMapScaleFactor, height / gainMapScaleFactor, VImage::option() + ->set("extend", VIPS_EXTEND_BACKGROUND) + ->set("background", 0)); + } + } else if (baton->canvas == sharp::Canvas::CROP) { + if (baton->width > inputWidth) { + baton->width = inputWidth; + } + if (baton->height > inputHeight) { + baton->height = inputHeight; + } + + // Crop + if (baton->position < 9) { + // Gravity-based crop + const auto& [left, top] = sharp::CalculateCrop( + inputWidth, inputHeight, baton->width, baton->height, baton->position); + const int width = std::min(inputWidth, baton->width); + const int height = std::min(inputHeight, baton->height); + + image = nPages > 1 + ? sharp::CropMultiPage(image, + left, top, width, height, nPages, &targetPageHeight) + : image.extract_area(left, top, width, height); + if (baton->keepGainMap) { + gainMap = gainMap.extract_area(left / gainMapScaleFactor, top / gainMapScaleFactor, + width / gainMapScaleFactor, height / gainMapScaleFactor); + } + } else { + int attention_x; + int attention_y; + + // Attention-based or Entropy-based crop + MultiPageUnsupported(nPages, "Resize strategy"); + KeepGainMapUnsupported(baton->keepGainMap, "Resize strategy"); + image = sharp::StaySequential(image); + image = image.smartcrop(baton->width, baton->height, VImage::option() + ->set("interesting", baton->position == 16 ? VIPS_INTERESTING_ENTROPY : VIPS_INTERESTING_ATTENTION) + ->set("premultiplied", shouldPremultiplyAlpha) + ->set("attention_x", &attention_x) + ->set("attention_y", &attention_y)); + baton->hasCropOffset = true; + baton->cropOffsetLeft = static_cast(image.xoffset()); + baton->cropOffsetTop = static_cast(image.yoffset()); + baton->hasAttentionCenter = true; + baton->attentionX = static_cast(attention_x * jpegShrinkOnLoad / scale); + baton->attentionY = static_cast(attention_y * jpegShrinkOnLoad / scale); + } + } + } + + // Rotate post-extract non-90 angle + if (!baton->rotateBefore && baton->rotationAngle != 0.0) { + MultiPageUnsupported(nPages, "Rotate"); + KeepGainMapUnsupported(baton->keepGainMap, "Rotate"); + image = sharp::StaySequential(image); + std::vector background; + std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, shouldPremultiplyAlpha); + image = image.rotate(baton->rotationAngle, VImage::option()->set("background", background)); + if (baton->keepGainMap) { + gainMap = gainMap.rotate(baton->rotationAngle, VImage::option()->set("background", 0)); + } + } + + // Post extraction + if (baton->topOffsetPost != -1) { + if (nPages > 1) { + image = sharp::CropMultiPage(image, + baton->leftOffsetPost, baton->topOffsetPost, baton->widthPost, baton->heightPost, + nPages, &targetPageHeight); + // heightPost is used in the info object, so update to reflect the number of pages + baton->heightPost *= nPages; + } else { + image = image.extract_area( + baton->leftOffsetPost, baton->topOffsetPost, baton->widthPost, baton->heightPost); + if (baton->keepGainMap) { + gainMap = gainMap.extract_area(baton->leftOffsetPost / gainMapScaleFactor, + baton->topOffsetPost / gainMapScaleFactor, baton->widthPost / gainMapScaleFactor, + baton->heightPost / gainMapScaleFactor); + } + } + } + + // Affine transform + if (!baton->affineMatrix.empty()) { + MultiPageUnsupported(nPages, "Affine"); + KeepGainMapUnsupported(baton->keepGainMap, "Affine"); + image = sharp::StaySequential(image); + std::vector background; + std::tie(image, background) = sharp::ApplyAlpha(image, baton->affineBackground, shouldPremultiplyAlpha); + vips::VInterpolate interp = vips::VInterpolate::new_from_name( + const_cast(baton->affineInterpolator.data())); + image = image.affine(baton->affineMatrix, VImage::option()->set("background", background) + ->set("idx", baton->affineIdx) + ->set("idy", baton->affineIdy) + ->set("odx", baton->affineOdx) + ->set("ody", baton->affineOdy) + ->set("interpolate", interp)); + } + + // Extend edges + if (baton->extendTop > 0 || baton->extendBottom > 0 || baton->extendLeft > 0 || baton->extendRight > 0) { + // Embed + baton->width = image.width() + baton->extendLeft + baton->extendRight; + baton->height = (nPages > 1 ? targetPageHeight : image.height()) + baton->extendTop + baton->extendBottom; + + std::vector background; + if (baton->extendWith == VIPS_EXTEND_BACKGROUND) { + std::tie(image, background) = sharp::ApplyAlpha(image, baton->extendBackground, shouldPremultiplyAlpha); + } + image = sharp::StaySequential(image, nPages > 1 || baton->extendWith != VIPS_EXTEND_BACKGROUND); + auto options = VImage::option()->set("extend", baton->extendWith); + if (baton->extendWith == VIPS_EXTEND_BACKGROUND) { + options->set("background", background); + } + image = nPages > 1 + ? sharp::EmbedMultiPage(image, + baton->extendLeft, baton->extendTop, baton->width, baton->height, + baton->extendWith, background, nPages, &targetPageHeight) + : image.embed(baton->extendLeft, baton->extendTop, baton->width, baton->height, options); + if (baton->keepGainMap) { + gainMap = gainMap.embed(baton->extendLeft / gainMapScaleFactor, baton->extendTop / gainMapScaleFactor, + baton->width / gainMapScaleFactor, baton->height / gainMapScaleFactor, VImage::option() + ->set("extend", baton->extendWith) + ->set("background", 0)); + } + } + // Median - must happen before blurring, due to the utility of blurring after thresholding + if (baton->medianSize > 0) { + image = image.median(baton->medianSize); + } + + // Threshold - must happen before blurring, due to the utility of blurring after thresholding + // Threshold - must happen before unflatten to enable non-white unflattening + if (baton->threshold != 0) { + image = sharp::Threshold(image, baton->threshold, baton->thresholdGrayscale); + } + + // Dilate - must happen before blurring, due to the utility of dilating after thresholding + if (baton->dilateWidth != 0) { + image = sharp::Dilate(image, baton->dilateWidth); + } + + // Erode - must happen before blurring, due to the utility of eroding after thresholding + if (baton->erodeWidth != 0) { + image = sharp::Erode(image, baton->erodeWidth); + } + + // Blur + if (shouldBlur) { + image = sharp::Blur(image, baton->blurSigma, baton->precision, baton->minAmpl); + if (baton->keepGainMap) { + gainMap = sharp::Blur(gainMap, baton->blurSigma, baton->precision, baton->minAmpl); + } + } + + // Unflatten the image + if (baton->unflatten) { + image = sharp::Unflatten(image); + } + + // Convolve + if (shouldConv) { + KeepGainMapUnsupported(baton->keepGainMap, "Convolve"); + image = sharp::Convolve(image, + baton->convKernelWidth, baton->convKernelHeight, + baton->convKernelScale, baton->convKernelOffset, + baton->convKernel); + } + + // Recomb + if (!baton->recombMatrix.empty()) { + KeepGainMapUnsupported(baton->keepGainMap, "Recomb"); + image = sharp::Recomb(image, baton->recombMatrix); + } + + // Modulate + if (baton->brightness != 1.0 || baton->saturation != 1.0 || baton->hue != 0.0 || baton->lightness != 0.0) { + KeepGainMapUnsupported(baton->keepGainMap, "Modulate"); + image = sharp::Modulate(image, baton->brightness, baton->saturation, baton->hue, baton->lightness); + } + + // Sharpen + if (shouldSharpen) { + image = sharp::Sharpen(image, baton->sharpenSigma, baton->sharpenM1, baton->sharpenM2, + baton->sharpenX1, baton->sharpenY2, baton->sharpenY3); + } + + // Reverse premultiplication after all transformations + if (shouldPremultiplyAlpha) { + image = image.unpremultiply().cast(premultiplyFormat); + } + baton->premultiplied = shouldPremultiplyAlpha; + + // Composite + if (shouldComposite) { + KeepGainMapUnsupported(baton->keepGainMap, "Composite"); + std::vector images = { image }; + std::vector modes, xs, ys; + for (Composite *composite : baton->composite) { + VImage compositeImage; + sharp::ImageType compositeImageType = sharp::ImageType::UNKNOWN; + composite->input->access = access; + std::tie(compositeImage, compositeImageType) = sharp::OpenInput(composite->input); + + if (composite->input->autoOrient) { + // Respect EXIF Orientation + VipsAngle compositeAutoRotation = VIPS_ANGLE_D0; + bool compositeAutoFlop = false; + std::tie(compositeAutoRotation, compositeAutoFlop) = + CalculateExifRotationAndFlop(sharp::ExifOrientation(compositeImage)); + + compositeImage = sharp::RemoveExifOrientation(compositeImage); + compositeImage = sharp::StaySequential(compositeImage, compositeAutoRotation != VIPS_ANGLE_D0); + + if (compositeAutoRotation != VIPS_ANGLE_D0) { + compositeImage = compositeImage.rot(compositeAutoRotation); + } + if (compositeAutoFlop) { + compositeImage = compositeImage.flip(VIPS_DIRECTION_HORIZONTAL); + } + } + + // Verify within current dimensions + if (compositeImage.width() > image.width() || compositeImage.height() > image.height()) { + throw std::runtime_error("Image to composite must have same dimensions or smaller"); + } + // Check if overlay is tiled + if (composite->tile) { + int across = 0; + int down = 0; + // Use gravity in overlay + if (compositeImage.width() <= image.width()) { + across = static_cast(ceil(static_cast(image.width()) / compositeImage.width())); + // Ensure odd number of tiles across when gravity is centre, north or south + if (composite->gravity == 0 || composite->gravity == 1 || composite->gravity == 3) { + across |= 1; + } + } + if (compositeImage.height() <= image.height()) { + down = static_cast(ceil(static_cast(image.height()) / compositeImage.height())); + // Ensure odd number of tiles down when gravity is centre, east or west + if (composite->gravity == 0 || composite->gravity == 2 || composite->gravity == 4) { + down |= 1; + } + } + if (across != 0 || down != 0) { + int left; + int top; + compositeImage = sharp::StaySequential(compositeImage).replicate(across, down); + if (composite->hasOffset) { + std::tie(left, top) = sharp::CalculateCrop( + compositeImage.width(), compositeImage.height(), image.width(), image.height(), + composite->left, composite->top); + } else { + std::tie(left, top) = sharp::CalculateCrop( + compositeImage.width(), compositeImage.height(), image.width(), image.height(), composite->gravity); + } + compositeImage = compositeImage.extract_area(left, top, image.width(), image.height()); + } + // gravity was used for extract_area, set it back to its default value of 0 + composite->gravity = 0; + } + // Ensure image to composite is with unpremultiplied alpha + compositeImage = sharp::EnsureAlpha(compositeImage, 1); + if (composite->premultiplied) compositeImage = compositeImage.unpremultiply(); + // Calculate position + int left; + int top; + if (composite->hasOffset) { + // Composite image at given offsets + if (composite->tile) { + std::tie(left, top) = sharp::CalculateCrop(image.width(), image.height(), + compositeImage.width(), compositeImage.height(), composite->left, composite->top); + } else { + left = composite->left; + top = composite->top; + } + } else { + // Composite image with given gravity + std::tie(left, top) = sharp::CalculateCrop(image.width(), image.height(), + compositeImage.width(), compositeImage.height(), composite->gravity); + } + images.push_back(compositeImage); + modes.push_back(composite->mode); + xs.push_back(left); + ys.push_back(top); + } + image = VImage::composite(images, modes, VImage::option() + ->set("compositing_space", baton->colourspacePipeline == VIPS_INTERPRETATION_LAST + ? VIPS_INTERPRETATION_sRGB + : baton->colourspacePipeline) + ->set("x", xs) + ->set("y", ys)); + image = sharp::RemoveGifPalette(image); + } + + // Gamma decoding (brighten) + if (baton->gammaOut >= 1 && baton->gammaOut <= 3) { + image = sharp::Gamma(image, baton->gammaOut); + } + + // Linear adjustment (a * in + b) + if (!baton->linearA.empty()) { + image = sharp::Linear(image, baton->linearA, baton->linearB); + } + + // Apply normalisation - stretch luminance to cover full dynamic range + if (baton->normalise) { + KeepGainMapUnsupported(baton->keepGainMap, "Normalise"); + image = sharp::StaySequential(image); + image = sharp::Normalise(image, baton->normaliseLower, baton->normaliseUpper); + } + + // Apply contrast limiting adaptive histogram equalization (CLAHE) + if (baton->claheWidth != 0 && baton->claheHeight != 0) { + KeepGainMapUnsupported(baton->keepGainMap, "Clahe"); + image = sharp::StaySequential(image); + image = sharp::Clahe(image, baton->claheWidth, baton->claheHeight, baton->claheMaxSlope); + } + + // Apply bitwise boolean operation between images + if (baton->boolean != nullptr) { + KeepGainMapUnsupported(baton->keepGainMap, "Boolean"); + VImage booleanImage; + sharp::ImageType booleanImageType = sharp::ImageType::UNKNOWN; + baton->boolean->access = access; + std::tie(booleanImage, booleanImageType) = sharp::OpenInput(baton->boolean); + booleanImage = sharp::EnsureColourspace(booleanImage, baton->colourspacePipeline); + image = sharp::Boolean(image, booleanImage, baton->booleanOp); + image = sharp::RemoveGifPalette(image); + } + + // Apply per-channel Bandbool bitwise operations after all other operations + if (baton->bandBoolOp >= VIPS_OPERATION_BOOLEAN_AND && baton->bandBoolOp < VIPS_OPERATION_BOOLEAN_LAST) { + image = sharp::Bandbool(image, baton->bandBoolOp); + } + + // Tint the image + if (baton->tint[0] >= 0.0) { + image = sharp::Tint(image, baton->tint); + } + + // Remove alpha channel, if any + if (baton->removeAlpha) { + image = sharp::RemoveAlpha(image); + } + + // Ensure alpha channel, if missing + if (baton->ensureAlpha != -1) { + image = sharp::EnsureAlpha(image, baton->ensureAlpha); + } + + // Ensure output colour space + if (sharp::Is16Bit(image.interpretation())) { + image = image.cast(VIPS_FORMAT_USHORT); + } + if (image.interpretation() != baton->colourspace) { + image = image.colourspace(baton->colourspace, VImage::option()->set("source_space", image.interpretation())); + if (inputProfile.first != nullptr && baton->withIccProfile.empty()) { + image = sharp::SetProfile(image, inputProfile); + } + } + + // Extract channel + if (baton->extractChannel > -1) { + KeepGainMapUnsupported(baton->keepGainMap, "Extract channel"); + if (baton->extractChannel >= image.bands()) { + if (baton->extractChannel == 3 && image.has_alpha()) { + baton->extractChannel = image.bands() - 1; + } else { + (baton->err) + .append("Cannot extract channel ").append(std::to_string(baton->extractChannel)) + .append(" from image with channels 0-").append(std::to_string(image.bands() - 1)); + return Error(); + } + } + VipsInterpretation colourspace = sharp::Is16Bit(image.interpretation()) + ? VIPS_INTERPRETATION_GREY16 + : VIPS_INTERPRETATION_B_W; + image = image + .extract_band(baton->extractChannel) + .copy(VImage::option()->set("interpretation", colourspace)); + } + + // Apply output ICC profile + if (!baton->withIccProfile.empty()) { + try { + image = image.icc_transform(const_cast(baton->withIccProfile.data()), VImage::option() + ->set("input_profile", processingProfile) + ->set("embedded", true) + ->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8) + ->set("intent", VIPS_INTENT_PERCEPTUAL)); + } catch(...) { + sharp::VipsWarningCallback(nullptr, G_LOG_LEVEL_WARNING, "Invalid profile", nullptr); + } + } + + // Negate the colours in the image + if (baton->negate) { + image = sharp::Negate(image, baton->negateAlpha); + if (baton->keepGainMap) { + gainMap = sharp::Negate(gainMap, false); + } + } + + // Override EXIF Orientation tag + if (baton->withMetadataOrientation != -1) { + image = sharp::SetExifOrientation(image, baton->withMetadataOrientation); + } + // Override pixel density + if (baton->withMetadataDensity > 0) { + image = sharp::SetDensity(image, baton->withMetadataDensity); + } + // EXIF key/value pairs + if (baton->keepMetadata & VIPS_FOREIGN_KEEP_EXIF) { + image = image.copy(); + if (!baton->withExifMerge) { + image = sharp::RemoveExif(image); + } + for (const auto& [key, value] : baton->withExif) { + image.set(key.c_str(), value.c_str()); + } + } + // XMP buffer + if ((baton->keepMetadata & VIPS_FOREIGN_KEEP_XMP) && !baton->withXmp.empty()) { + image = image.copy(); + image.set(VIPS_META_XMP_NAME, nullptr, + const_cast(static_cast(baton->withXmp.c_str())), baton->withXmp.size()); + } + // Number of channels used in output image + baton->channels = image.bands(); + baton->width = image.width(); + baton->height = image.height(); + + image = sharp::SetAnimationProperties( + image, nPages, targetPageHeight, baton->delay, baton->loop); + + if (image.get_typeof(VIPS_META_PAGE_HEIGHT) == G_TYPE_INT) { + baton->pageHeightOut = image.get_int(VIPS_META_PAGE_HEIGHT); + baton->pagesOut = image.get_int(VIPS_META_N_PAGES); + } + baton->hasAlphaOut = image.has_alpha(); + + // Output + sharp::SetTimeout(image, baton->timeoutSeconds); + if (baton->fileOut.empty()) { + // Buffer output + if (baton->formatOut == "jpeg" || (baton->formatOut == "input" && inputImageType == sharp::ImageType::JPEG)) { + // Write JPEG to buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JPEG); + VipsArea *area; + if (baton->keepGainMap) { + image = ReattachGainMap(image, gainMap, baton); + area = reinterpret_cast(image.uhdrsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->jpegQuality) + ->set("gainmap_scale_factor", gainMapScaleFactor))); + } else { + area = reinterpret_cast(image.jpegsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->jpegQuality) + ->set("interlace", baton->jpegProgressive) + ->set("subsample_mode", baton->jpegChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF + : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("trellis_quant", baton->jpegTrellisQuantisation) + ->set("quant_table", baton->jpegQuantisationTable) + ->set("overshoot_deringing", baton->jpegOvershootDeringing) + ->set("optimize_scans", baton->jpegOptimiseScans) + ->set("optimize_coding", baton->jpegOptimiseCoding))); + } + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "jpeg"; + if (baton->colourspace == VIPS_INTERPRETATION_CMYK) { + baton->channels = std::min(baton->channels, 4); + } else { + baton->channels = std::min(baton->channels, 3); + } + baton->hasAlphaOut = false; + } else if (baton->formatOut == "jp2" || (baton->formatOut == "input" + && inputImageType == sharp::ImageType::JP2)) { + // Write JP2 to Buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JP2); + VipsArea *area = reinterpret_cast(image.jp2ksave_buffer(VImage::option() + ->set("Q", baton->jp2Quality) + ->set("lossless", baton->jp2Lossless) + ->set("subsample_mode", baton->jp2ChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("tile_height", baton->jp2TileHeight) + ->set("tile_width", baton->jp2TileWidth))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "jp2"; + } else if (baton->formatOut == "png" || (baton->formatOut == "input" && + (inputImageType == sharp::ImageType::PNG || inputImageType == sharp::ImageType::SVG))) { + // Write PNG to buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::PNG); + VipsArea *area = reinterpret_cast(image.pngsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("interlace", baton->pngProgressive) + ->set("compression", baton->pngCompressionLevel) + ->set("filter", baton->pngAdaptiveFiltering ? VIPS_FOREIGN_PNG_FILTER_ALL : VIPS_FOREIGN_PNG_FILTER_NONE) + ->set("palette", baton->pngPalette) + ->set("Q", baton->pngQuality) + ->set("effort", baton->pngEffort) + ->set("bitdepth", sharp::Is16Bit(image.interpretation()) ? 16 : baton->pngBitdepth) + ->set("dither", baton->pngDither))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "png"; + } else if (baton->formatOut == "webp" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::WEBP)) { + // Write WEBP to buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::WEBP); + VipsArea *area = reinterpret_cast(image.webpsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->webpQuality) + ->set("lossless", baton->webpLossless) + ->set("near_lossless", baton->webpNearLossless) + ->set("smart_subsample", baton->webpSmartSubsample) + ->set("smart_deblock", baton->webpSmartDeblock) + ->set("preset", baton->webpPreset) + ->set("effort", baton->webpEffort) + ->set("min_size", baton->webpMinSize) + ->set("mixed", baton->webpMixed) + ->set("exact", baton->webpExact) + ->set("alpha_q", baton->webpAlphaQuality))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "webp"; + } else if (baton->formatOut == "gif" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::GIF)) { + // Write GIF to buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::GIF); + VipsArea *area = reinterpret_cast(image.gifsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("bitdepth", baton->gifBitdepth) + ->set("effort", baton->gifEffort) + ->set("reuse", baton->gifReuse) + ->set("interlace", baton->gifProgressive) + ->set("interframe_maxerror", baton->gifInterFrameMaxError) + ->set("interpalette_maxerror", baton->gifInterPaletteMaxError) + ->set("keep_duplicate_frames", baton->gifKeepDuplicateFrames) + ->set("dither", baton->gifDither))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "gif"; + } else if (baton->formatOut == "tiff" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::TIFF)) { + // Write TIFF to buffer + if (baton->tiffCompression == VIPS_FOREIGN_TIFF_COMPRESSION_JPEG) { + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JPEG); + baton->channels = std::min(baton->channels, 3); + baton->hasAlphaOut = false; + } + // Cast pixel values to float, if required + if (baton->tiffPredictor == VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT) { + image = image.cast(VIPS_FORMAT_FLOAT); + } + VipsArea *area = reinterpret_cast(image.tiffsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->tiffQuality) + ->set("bitdepth", baton->tiffBitdepth) + ->set("compression", baton->tiffCompression) + ->set("bigtiff", baton->tiffBigtiff) + ->set("miniswhite", baton->tiffMiniswhite) + ->set("predictor", baton->tiffPredictor) + ->set("pyramid", baton->tiffPyramid) + ->set("tile", baton->tiffTile) + ->set("tile_height", baton->tiffTileHeight) + ->set("tile_width", baton->tiffTileWidth) + ->set("xres", baton->tiffXres) + ->set("yres", baton->tiffYres) + ->set("resunit", baton->tiffResolutionUnit))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "tiff"; + } else if (baton->formatOut == "heif" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::HEIF)) { + // Write HEIF to buffer + sharp::AssertImageTypeDimensions(image, sharp::ImageType::HEIF); + image = sharp::RemoveAnimationProperties(image); + VipsArea *area = reinterpret_cast(image.heifsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->heifQuality) + ->set("compression", baton->heifCompression) + ->set("effort", baton->heifEffort) + ->set("bitdepth", baton->heifBitdepth) + ->set("tune", baton->heifTune.c_str()) + ->set("subsample_mode", baton->heifChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("lossless", baton->heifLossless))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "heif"; + } else if (baton->formatOut == "dz") { + // Write DZ to buffer + baton->tileContainer = VIPS_FOREIGN_DZ_CONTAINER_ZIP; + if (!image.has_alpha()) { + baton->tileBackground.pop_back(); + } + image = sharp::StaySequential(image, baton->tileAngle != 0); + vips::VOption *options = BuildOptionsDZ(baton); + VipsArea *area = reinterpret_cast(image.dzsave_buffer(options)); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "dz"; + if (baton->tileFormat == "jpeg") { + baton->hasAlphaOut = false; + } + } else if (baton->formatOut == "jxl" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::JXL)) { + // Write JXL to buffer + image = sharp::RemoveAnimationProperties(image); + VipsArea *area = reinterpret_cast(image.jxlsave_buffer(VImage::option() + ->set("keep", baton->keepMetadata) + ->set("distance", baton->jxlDistance) + ->set("tier", baton->jxlDecodingTier) + ->set("effort", baton->jxlEffort) + ->set("lossless", baton->jxlLossless))); + baton->bufferOut = static_cast(area->data); + baton->bufferOutLength = area->length; + area->free_fn = nullptr; + vips_area_unref(area); + baton->formatOut = "jxl"; + } else if (baton->formatOut == "raw" || + (baton->formatOut == "input" && inputImageType == sharp::ImageType::RAW)) { + // Write raw, uncompressed image data to buffer + if (baton->greyscale || image.interpretation() == VIPS_INTERPRETATION_B_W) { + // Extract first band for greyscale image + image = image[0]; + baton->channels = 1; + } + if (image.format() != baton->rawDepth) { + // Cast pixels to requested format + image = image.cast(baton->rawDepth); + } + // Get raw image data + baton->bufferOut = static_cast(image.write_to_memory(&baton->bufferOutLength)); + if (baton->bufferOut == nullptr) { + throw std::runtime_error("Could not allocate enough memory for raw output"); + } + baton->formatOut = "raw"; + } else { + // Unsupported output format + auto unsupported = std::string("Unsupported output format "); + if (baton->formatOut == "input") { + unsupported.append("when trying to match input format of "); + unsupported.append(ImageTypeId(inputImageType)); + } else { + unsupported.append(baton->formatOut); + } + throw std::runtime_error(unsupported); + } + } else { + // File output + bool const isJpeg = sharp::IsJpeg(baton->fileOut); + bool const isPng = sharp::IsPng(baton->fileOut); + bool const isWebp = sharp::IsWebp(baton->fileOut); + bool const isGif = sharp::IsGif(baton->fileOut); + bool const isTiff = sharp::IsTiff(baton->fileOut); + bool const isJp2 = sharp::IsJp2(baton->fileOut); + bool const isHeif = sharp::IsHeif(baton->fileOut); + bool const isJxl = sharp::IsJxl(baton->fileOut); + bool const isDz = sharp::IsDz(baton->fileOut); + bool const isDzZip = sharp::IsDzZip(baton->fileOut); + bool const isV = sharp::IsV(baton->fileOut); + bool const mightMatchInput = baton->formatOut == "input"; + bool const willMatchInput = mightMatchInput && + !(isJpeg || isPng || isWebp || isGif || isTiff || isJp2 || isHeif || isDz || isDzZip || isV); + + if (baton->formatOut == "jpeg" || (mightMatchInput && isJpeg) || + (willMatchInput && inputImageType == sharp::ImageType::JPEG)) { + // Write JPEG to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JPEG); + if (baton->keepGainMap) { + image = ReattachGainMap(image, gainMap, baton); + image.uhdrsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->jpegQuality) + ->set("gainmap_scale_factor", gainMapScaleFactor)); + } else { + image.jpegsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->jpegQuality) + ->set("interlace", baton->jpegProgressive) + ->set("subsample_mode", baton->jpegChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF + : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("trellis_quant", baton->jpegTrellisQuantisation) + ->set("quant_table", baton->jpegQuantisationTable) + ->set("overshoot_deringing", baton->jpegOvershootDeringing) + ->set("optimize_scans", baton->jpegOptimiseScans) + ->set("optimize_coding", baton->jpegOptimiseCoding)); + } + baton->formatOut = "jpeg"; + baton->channels = std::min(baton->channels, 3); + baton->hasAlphaOut = false; + } else if (baton->formatOut == "jp2" || (mightMatchInput && isJp2) || + (willMatchInput && (inputImageType == sharp::ImageType::JP2))) { + // Write JP2 to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JP2); + image.jp2ksave(const_cast(baton->fileOut.data()), VImage::option() + ->set("Q", baton->jp2Quality) + ->set("lossless", baton->jp2Lossless) + ->set("subsample_mode", baton->jp2ChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("tile_height", baton->jp2TileHeight) + ->set("tile_width", baton->jp2TileWidth)); + baton->formatOut = "jp2"; + } else if (baton->formatOut == "png" || (mightMatchInput && isPng) || (willMatchInput && + (inputImageType == sharp::ImageType::PNG || inputImageType == sharp::ImageType::SVG))) { + // Write PNG to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::PNG); + image.pngsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("interlace", baton->pngProgressive) + ->set("compression", baton->pngCompressionLevel) + ->set("filter", baton->pngAdaptiveFiltering ? VIPS_FOREIGN_PNG_FILTER_ALL : VIPS_FOREIGN_PNG_FILTER_NONE) + ->set("palette", baton->pngPalette) + ->set("Q", baton->pngQuality) + ->set("bitdepth", sharp::Is16Bit(image.interpretation()) ? 16 : baton->pngBitdepth) + ->set("effort", baton->pngEffort) + ->set("dither", baton->pngDither)); + baton->formatOut = "png"; + } else if (baton->formatOut == "webp" || (mightMatchInput && isWebp) || + (willMatchInput && inputImageType == sharp::ImageType::WEBP)) { + // Write WEBP to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::WEBP); + image.webpsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->webpQuality) + ->set("lossless", baton->webpLossless) + ->set("near_lossless", baton->webpNearLossless) + ->set("smart_subsample", baton->webpSmartSubsample) + ->set("smart_deblock", baton->webpSmartDeblock) + ->set("preset", baton->webpPreset) + ->set("effort", baton->webpEffort) + ->set("min_size", baton->webpMinSize) + ->set("mixed", baton->webpMixed) + ->set("exact", baton->webpExact) + ->set("alpha_q", baton->webpAlphaQuality)); + baton->formatOut = "webp"; + } else if (baton->formatOut == "gif" || (mightMatchInput && isGif) || + (willMatchInput && inputImageType == sharp::ImageType::GIF)) { + // Write GIF to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::GIF); + image.gifsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("bitdepth", baton->gifBitdepth) + ->set("effort", baton->gifEffort) + ->set("reuse", baton->gifReuse) + ->set("interlace", baton->gifProgressive) + ->set("interframe_maxerror", baton->gifInterFrameMaxError) + ->set("interpalette_maxerror", baton->gifInterPaletteMaxError) + ->set("keep_duplicate_frames", baton->gifKeepDuplicateFrames) + ->set("dither", baton->gifDither)); + baton->formatOut = "gif"; + } else if (baton->formatOut == "tiff" || (mightMatchInput && isTiff) || + (willMatchInput && inputImageType == sharp::ImageType::TIFF)) { + // Write TIFF to file + if (baton->tiffCompression == VIPS_FOREIGN_TIFF_COMPRESSION_JPEG) { + sharp::AssertImageTypeDimensions(image, sharp::ImageType::JPEG); + baton->channels = std::min(baton->channels, 3); + baton->hasAlphaOut = false; + } + // Cast pixel values to float, if required + if (baton->tiffPredictor == VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT) { + image = image.cast(VIPS_FORMAT_FLOAT); + } + image.tiffsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->tiffQuality) + ->set("bitdepth", baton->tiffBitdepth) + ->set("compression", baton->tiffCompression) + ->set("bigtiff", baton->tiffBigtiff) + ->set("miniswhite", baton->tiffMiniswhite) + ->set("predictor", baton->tiffPredictor) + ->set("pyramid", baton->tiffPyramid) + ->set("tile", baton->tiffTile) + ->set("tile_height", baton->tiffTileHeight) + ->set("tile_width", baton->tiffTileWidth) + ->set("xres", baton->tiffXres) + ->set("yres", baton->tiffYres) + ->set("resunit", baton->tiffResolutionUnit)); + baton->formatOut = "tiff"; + } else if (baton->formatOut == "heif" || (mightMatchInput && isHeif) || + (willMatchInput && inputImageType == sharp::ImageType::HEIF)) { + // Write HEIF to file + sharp::AssertImageTypeDimensions(image, sharp::ImageType::HEIF); + image = sharp::RemoveAnimationProperties(image); + image.heifsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("Q", baton->heifQuality) + ->set("compression", baton->heifCompression) + ->set("effort", baton->heifEffort) + ->set("bitdepth", baton->heifBitdepth) + ->set("tune", baton->heifTune.c_str()) + ->set("subsample_mode", baton->heifChromaSubsampling == "4:4:4" + ? VIPS_FOREIGN_SUBSAMPLE_OFF : VIPS_FOREIGN_SUBSAMPLE_ON) + ->set("lossless", baton->heifLossless)); + baton->formatOut = "heif"; + } else if (baton->formatOut == "jxl" || (mightMatchInput && isJxl) || + (willMatchInput && inputImageType == sharp::ImageType::JXL)) { + // Write JXL to file + image = sharp::RemoveAnimationProperties(image); + image.jxlsave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata) + ->set("distance", baton->jxlDistance) + ->set("tier", baton->jxlDecodingTier) + ->set("effort", baton->jxlEffort) + ->set("lossless", baton->jxlLossless)); + baton->formatOut = "jxl"; + } else if (baton->formatOut == "dz" || isDz || isDzZip) { + // Write DZ to file + if (isDzZip) { + baton->tileContainer = VIPS_FOREIGN_DZ_CONTAINER_ZIP; + } + if (!image.has_alpha()) { + baton->tileBackground.pop_back(); + } + image = sharp::StaySequential(image, baton->tileAngle != 0); + vips::VOption *options = BuildOptionsDZ(baton); + image.dzsave(const_cast(baton->fileOut.data()), options); + baton->formatOut = "dz"; + if (baton->tileFormat == "jpeg") { + baton->hasAlphaOut = false; + } + } else if (baton->formatOut == "v" || (mightMatchInput && isV) || + (willMatchInput && inputImageType == sharp::ImageType::VIPS)) { + // Write V to file + image.vipssave(const_cast(baton->fileOut.data()), VImage::option() + ->set("keep", baton->keepMetadata)); + baton->formatOut = "v"; + } else { + // Unsupported output format + (baton->err).append("Unsupported output format " + baton->fileOut); + return Error(); + } + } + } catch (std::runtime_error const &err) { + char const *what = err.what(); + if (what && what[0]) { + (baton->err).append(what); + } else { + if (baton->input->failOn == VIPS_FAIL_ON_WARNING) { + (baton->err).append("Warning treated as error due to failOn setting"); + baton->errUseWarning = true; + } else { + (baton->err).append("Unknown error"); + } + } + } + // Clean up libvips' per-request data and threads + vips_error_clear(); + vips_thread_shutdown(); + } + + void OnOK() { + Napi::Env env = Env(); + Napi::HandleScope scope(env); + + // Handle warnings + std::string warning = sharp::VipsWarningPop(); + while (!warning.empty()) { + if (baton->errUseWarning) { + (baton->err).append("\n").append(warning); + } else { + debuglog.SHARP_CALLBACK_FN_NAME(Receiver().Value(), { Napi::String::New(env, warning) }); + } + warning = sharp::VipsWarningPop(); + } + if (baton->err.empty()) { + int width = baton->width; + int height = baton->height; + if (baton->topOffsetPre != -1 && (baton->width == -1 || baton->height == -1)) { + width = baton->widthPre; + height = baton->heightPre; + } + if (baton->topOffsetPost != -1) { + width = baton->widthPost; + height = baton->heightPost; + } + // Info Object + Napi::Object info = Napi::Object::New(env); + info.Set("format", baton->formatOut); + info.Set("width", static_cast(width)); + info.Set("height", static_cast(height)); + info.Set("channels", static_cast(baton->channels)); + if (baton->formatOut == "raw") { + info.Set("depth", vips_enum_nick(VIPS_TYPE_BAND_FORMAT, baton->rawDepth)); + } + info.Set("premultiplied", baton->premultiplied); + if (baton->hasCropOffset) { + info.Set("cropOffsetLeft", static_cast(baton->cropOffsetLeft)); + info.Set("cropOffsetTop", static_cast(baton->cropOffsetTop)); + } + if (baton->hasAttentionCenter) { + info.Set("attentionX", static_cast(baton->attentionX)); + info.Set("attentionY", static_cast(baton->attentionY)); + } + if (baton->trimThreshold >= 0.0) { + info.Set("trimOffsetLeft", static_cast(baton->trimOffsetLeft)); + info.Set("trimOffsetTop", static_cast(baton->trimOffsetTop)); + } + if (baton->input->textAutofitDpi) { + info.Set("textAutofitDpi", static_cast(baton->input->textAutofitDpi)); + } + if (baton->pageHeightOut) { + info.Set("pageHeight", static_cast(baton->pageHeightOut)); + info.Set("pages", static_cast(baton->pagesOut)); + } + info.Set("hasAlpha", baton->hasAlphaOut); + + if (baton->bufferOutLength > 0) { + info.Set("size", static_cast(baton->bufferOutLength)); + if (baton->typedArrayOut) { + // ECMAScript ArrayBuffer with Uint8Array view + Napi::TypedArrayOf data = Napi::Buffer::Copy(env, + static_cast(baton->bufferOut), baton->bufferOutLength); + sharp::FreeCallback(static_cast(baton->bufferOut), nullptr); + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), { env.Null(), data, info }); + } else { + // Node.js Buffer + Napi::Buffer data = Napi::Buffer::NewOrCopy(env, static_cast(baton->bufferOut), + baton->bufferOutLength, sharp::FreeCallback); + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), { env.Null(), data, info }); + } + } else { + // Add file size to info + if (baton->formatOut != "dz" || sharp::IsDzZip(baton->fileOut)) { + try { + uint32_t const size = static_cast( + std::filesystem::file_size(std::filesystem::u8path(baton->fileOut))); + info.Set("size", size); + } catch (...) {} + } + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), { env.Null(), info }); + } + } else { + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), + { Napi::Error::New(env, sharp::TrimEnd(baton->err)).Value() }); + } + + // Delete baton + delete baton->input; + delete baton->boolean; + for (Composite *composite : baton->composite) { + delete composite->input; + delete composite; + } + for (sharp::InputDescriptor *input : baton->joinChannelIn) { + delete input; + } + for (sharp::InputDescriptor *input : baton->join) { + delete input; + } + delete baton; + + // Decrement processing task counter + sharp::counterProcess--; + Napi::Number queueLength = Napi::Number::New(env, static_cast(sharp::counterQueue)); + queueListener.SHARP_CALLBACK_FN_NAME(Receiver().Value(), { queueLength }); + } + + private: + PipelineBaton *baton; + Napi::FunctionReference debuglog; + Napi::FunctionReference queueListener; + + void MultiPageUnsupported(int const pages, std::string op) { + if (pages > 1) { + throw std::runtime_error(op + " is not supported for multi-page images"); + } + } + + void KeepGainMapUnsupported(bool const keepGainMap, std::string op) { + if (keepGainMap) { + throw std::runtime_error(op + " is not supported when keeping gain maps"); + } + } + + /* + Calculate the angle of rotation and need-to-flip for the given Exif orientation + By default, returns zero, i.e. no rotation. + */ + std::tuple + CalculateExifRotationAndFlop(int const exifOrientation) { + VipsAngle rotate = VIPS_ANGLE_D0; + bool flop = false; + switch (exifOrientation) { + case 6: rotate = VIPS_ANGLE_D90; break; + case 3: rotate = VIPS_ANGLE_D180; break; + case 8: rotate = VIPS_ANGLE_D270; break; + case 2: flop = true; break; + case 7: flop = true; rotate = VIPS_ANGLE_D270; break; + case 4: flop = true; rotate = VIPS_ANGLE_D180; break; + case 5: flop = true; rotate = VIPS_ANGLE_D90; break; + } + return std::make_tuple(rotate, flop); + } + + /* + Calculate the rotation for the given angle. + Supports any positive or negative angle that is a multiple of 90. + */ + VipsAngle + CalculateAngleRotation(int angle) { + angle = angle % 360; + if (angle < 0) + angle = 360 + angle; + switch (angle) { + case 90: return VIPS_ANGLE_D90; + case 180: return VIPS_ANGLE_D180; + case 270: return VIPS_ANGLE_D270; + } + return VIPS_ANGLE_D0; + } + + /* + Assemble the suffix argument to dzsave, which is the format (by extname) + alongside comma-separated arguments to the corresponding `formatsave` vips + action. + */ + std::string + AssembleSuffixString(std::string extname, std::vector> options) { + std::string argument; + for (const auto& [key, value] : options) { + if (!argument.empty()) { + argument += ","; + } + argument += key + "=" + value; + } + return extname + "[" + argument + "]"; + } + + /* + Build VOption for dzsave + */ + vips::VOption* + BuildOptionsDZ(PipelineBaton *baton) { + // Forward format options through suffix + std::string suffix; + if (baton->tileFormat == "png") { + std::vector> options { + {"interlace", baton->pngProgressive ? "true" : "false"}, + {"compression", std::to_string(baton->pngCompressionLevel)}, + {"filter", baton->pngAdaptiveFiltering ? "all" : "none"} + }; + suffix = AssembleSuffixString(".png", options); + } else if (baton->tileFormat == "webp") { + std::vector> options { + {"Q", std::to_string(baton->webpQuality)}, + {"alpha_q", std::to_string(baton->webpAlphaQuality)}, + {"lossless", baton->webpLossless ? "true" : "false"}, + {"near_lossless", baton->webpNearLossless ? "true" : "false"}, + {"smart_subsample", baton->webpSmartSubsample ? "true" : "false"}, + {"smart_deblock", baton->webpSmartDeblock ? "true" : "false"}, + {"preset", vips_enum_nick(VIPS_TYPE_FOREIGN_WEBP_PRESET, baton->webpPreset)}, + {"min_size", baton->webpMinSize ? "true" : "false"}, + {"mixed", baton->webpMixed ? "true" : "false"}, + {"exact", baton->webpExact ? "true" : "false"}, + {"effort", std::to_string(baton->webpEffort)} + }; + suffix = AssembleSuffixString(".webp", options); + } else { + std::vector> options { + {"Q", std::to_string(baton->jpegQuality)}, + {"interlace", baton->jpegProgressive ? "true" : "false"}, + {"subsample_mode", baton->jpegChromaSubsampling == "4:4:4" ? "off" : "on"}, + {"trellis_quant", baton->jpegTrellisQuantisation ? "true" : "false"}, + {"quant_table", std::to_string(baton->jpegQuantisationTable)}, + {"overshoot_deringing", baton->jpegOvershootDeringing ? "true": "false"}, + {"optimize_scans", baton->jpegOptimiseScans ? "true": "false"}, + {"optimize_coding", baton->jpegOptimiseCoding ? "true": "false"} + }; + std::string extname = baton->tileLayout == VIPS_FOREIGN_DZ_LAYOUT_DZ ? ".jpeg" : ".jpg"; + suffix = AssembleSuffixString(extname, options); + } + vips::VOption *options = VImage::option() + ->set("keep", baton->keepMetadata) + ->set("tile_size", baton->tileSize) + ->set("overlap", baton->tileOverlap) + ->set("container", baton->tileContainer) + ->set("layout", baton->tileLayout) + ->set("suffix", const_cast(suffix.data())) + ->set("angle", CalculateAngleRotation(baton->tileAngle)) + ->set("background", baton->tileBackground) + ->set("centre", baton->tileCentre) + ->set("id", const_cast(baton->tileId.data())) + ->set("skip_blanks", baton->tileSkipBlanks); + if (baton->tileDepth < VIPS_FOREIGN_DZ_DEPTH_LAST) { + options->set("depth", baton->tileDepth); + } + if (!baton->tileBasename.empty()) { + options->set("basename", const_cast(baton->tileBasename.data())); + } + return options; + } + + VImage ReattachGainMap(VImage image, VImage gainMap, PipelineBaton *baton) { + VipsArea *gainMapJpeg = reinterpret_cast(gainMap.jpegsave_buffer(VImage::option() + ->set("keep", FALSE) + ->set("Q", baton->jpegQuality) + ->set("subsample_mode", VIPS_FOREIGN_SUBSAMPLE_OFF) + ->set("trellis_quant", baton->jpegTrellisQuantisation) + ->set("quant_table", baton->jpegQuantisationTable) + ->set("overshoot_deringing", baton->jpegOvershootDeringing) + ->set("optimize_coding", baton->jpegOptimiseCoding))); + image = image.copy(); + image.set("gainmap-data", reinterpret_cast(vips_area_free_cb), + gainMapJpeg->data, gainMapJpeg->length); + return image; + } + + /* + Clear all thread-local data. + */ + void Error() { + // Clean up libvips' per-request data and threads + vips_error_clear(); + vips_thread_shutdown(); + } +}; + +/* + pipeline(options, output, callback) +*/ +Napi::Value pipeline(const Napi::CallbackInfo& info) { + // V8 objects are converted to non-V8 types held in the baton struct + PipelineBaton *baton = new PipelineBaton; + Napi::Object options = info[size_t(0)].As(); + + // Input + baton->input = sharp::CreateInputDescriptor(options.Get("input").As()); + // Join images together + if (sharp::HasAttr(options, "join")) { + Napi::Array join = options.Get("join").As(); + for (unsigned int i = 0; i < join.Length(); i++) { + baton->join.push_back( + sharp::CreateInputDescriptor(join.Get(i).As())); + } + } + // Extract image options + baton->topOffsetPre = sharp::AttrAsInt32(options, "topOffsetPre"); + baton->leftOffsetPre = sharp::AttrAsInt32(options, "leftOffsetPre"); + baton->widthPre = sharp::AttrAsInt32(options, "widthPre"); + baton->heightPre = sharp::AttrAsInt32(options, "heightPre"); + baton->topOffsetPost = sharp::AttrAsInt32(options, "topOffsetPost"); + baton->leftOffsetPost = sharp::AttrAsInt32(options, "leftOffsetPost"); + baton->widthPost = sharp::AttrAsInt32(options, "widthPost"); + baton->heightPost = sharp::AttrAsInt32(options, "heightPost"); + // Output image dimensions + baton->width = sharp::AttrAsInt32(options, "width"); + baton->height = sharp::AttrAsInt32(options, "height"); + // Canvas option + std::string canvas = sharp::AttrAsStr(options, "canvas"); + if (canvas == "crop") { + baton->canvas = sharp::Canvas::CROP; + } else if (canvas == "embed") { + baton->canvas = sharp::Canvas::EMBED; + } else if (canvas == "max") { + baton->canvas = sharp::Canvas::MAX; + } else if (canvas == "min") { + baton->canvas = sharp::Canvas::MIN; + } else if (canvas == "ignore_aspect") { + baton->canvas = sharp::Canvas::IGNORE_ASPECT; + } + // Composite + Napi::Array compositeArray = options.Get("composite").As(); + for (unsigned int i = 0; i < compositeArray.Length(); i++) { + Napi::Object compositeObject = compositeArray.Get(i).As(); + Composite *composite = new Composite; + composite->input = sharp::CreateInputDescriptor(compositeObject.Get("input").As()); + composite->mode = sharp::AttrAsEnum(compositeObject, "blend", VIPS_TYPE_BLEND_MODE); + composite->gravity = sharp::AttrAsUint32(compositeObject, "gravity"); + composite->left = sharp::AttrAsInt32(compositeObject, "left"); + composite->top = sharp::AttrAsInt32(compositeObject, "top"); + composite->hasOffset = sharp::AttrAsBool(compositeObject, "hasOffset"); + composite->tile = sharp::AttrAsBool(compositeObject, "tile"); + composite->premultiplied = sharp::AttrAsBool(compositeObject, "premultiplied"); + baton->composite.push_back(composite); + } + // Resize options + baton->withoutEnlargement = sharp::AttrAsBool(options, "withoutEnlargement"); + baton->withoutReduction = sharp::AttrAsBool(options, "withoutReduction"); + baton->position = sharp::AttrAsInt32(options, "position"); + baton->resizeBackground = sharp::AttrAsVectorOfDouble(options, "resizeBackground"); + baton->kernel = sharp::AttrAsEnum(options, "kernel", VIPS_TYPE_KERNEL); + baton->fastShrinkOnLoad = sharp::AttrAsBool(options, "fastShrinkOnLoad"); + // Join Channel Options + if (options.Has("joinChannelIn")) { + Napi::Array joinChannelArray = options.Get("joinChannelIn").As(); + for (unsigned int i = 0; i < joinChannelArray.Length(); i++) { + baton->joinChannelIn.push_back( + sharp::CreateInputDescriptor(joinChannelArray.Get(i).As())); + } + } + // Operators + baton->flatten = sharp::AttrAsBool(options, "flatten"); + baton->flattenBackground = sharp::AttrAsVectorOfDouble(options, "flattenBackground"); + baton->unflatten = sharp::AttrAsBool(options, "unflatten"); + baton->negate = sharp::AttrAsBool(options, "negate"); + baton->negateAlpha = sharp::AttrAsBool(options, "negateAlpha"); + baton->blurSigma = sharp::AttrAsDouble(options, "blurSigma"); + baton->precision = sharp::AttrAsEnum(options, "precision", VIPS_TYPE_PRECISION); + baton->minAmpl = sharp::AttrAsDouble(options, "minAmpl"); + baton->brightness = sharp::AttrAsDouble(options, "brightness"); + baton->saturation = sharp::AttrAsDouble(options, "saturation"); + baton->hue = sharp::AttrAsInt32(options, "hue"); + baton->lightness = sharp::AttrAsDouble(options, "lightness"); + baton->medianSize = sharp::AttrAsUint32(options, "medianSize"); + baton->sharpenSigma = sharp::AttrAsDouble(options, "sharpenSigma"); + baton->sharpenM1 = sharp::AttrAsDouble(options, "sharpenM1"); + baton->sharpenM2 = sharp::AttrAsDouble(options, "sharpenM2"); + baton->sharpenX1 = sharp::AttrAsDouble(options, "sharpenX1"); + baton->sharpenY2 = sharp::AttrAsDouble(options, "sharpenY2"); + baton->sharpenY3 = sharp::AttrAsDouble(options, "sharpenY3"); + baton->threshold = sharp::AttrAsInt32(options, "threshold"); + baton->thresholdGrayscale = sharp::AttrAsBool(options, "thresholdGrayscale"); + baton->trimBackground = sharp::AttrAsVectorOfDouble(options, "trimBackground"); + baton->trimThreshold = sharp::AttrAsDouble(options, "trimThreshold"); + baton->trimLineArt = sharp::AttrAsBool(options, "trimLineArt"); + baton->trimMargin = sharp::AttrAsUint32(options, "trimMargin"); + baton->gamma = sharp::AttrAsDouble(options, "gamma"); + baton->gammaOut = sharp::AttrAsDouble(options, "gammaOut"); + baton->linearA = sharp::AttrAsVectorOfDouble(options, "linearA"); + baton->linearB = sharp::AttrAsVectorOfDouble(options, "linearB"); + baton->dilateWidth = sharp::AttrAsUint32(options, "dilateWidth"); + baton->erodeWidth = sharp::AttrAsUint32(options, "erodeWidth"); + baton->greyscale = sharp::AttrAsBool(options, "greyscale"); + baton->normalise = sharp::AttrAsBool(options, "normalise"); + baton->normaliseLower = sharp::AttrAsUint32(options, "normaliseLower"); + baton->normaliseUpper = sharp::AttrAsUint32(options, "normaliseUpper"); + baton->tint = sharp::AttrAsVectorOfDouble(options, "tint"); + baton->claheWidth = sharp::AttrAsUint32(options, "claheWidth"); + baton->claheHeight = sharp::AttrAsUint32(options, "claheHeight"); + baton->claheMaxSlope = sharp::AttrAsUint32(options, "claheMaxSlope"); + baton->angle = sharp::AttrAsInt32(options, "angle"); + baton->rotationAngle = sharp::AttrAsDouble(options, "rotationAngle"); + baton->rotationBackground = sharp::AttrAsVectorOfDouble(options, "rotationBackground"); + baton->rotateBefore = sharp::AttrAsBool(options, "rotateBefore"); + baton->orientBefore = sharp::AttrAsBool(options, "orientBefore"); + baton->flip = sharp::AttrAsBool(options, "flip"); + baton->flop = sharp::AttrAsBool(options, "flop"); + baton->extendTop = sharp::AttrAsInt32(options, "extendTop"); + baton->extendBottom = sharp::AttrAsInt32(options, "extendBottom"); + baton->extendLeft = sharp::AttrAsInt32(options, "extendLeft"); + baton->extendRight = sharp::AttrAsInt32(options, "extendRight"); + baton->extendBackground = sharp::AttrAsVectorOfDouble(options, "extendBackground"); + baton->extendWith = sharp::AttrAsEnum(options, "extendWith", VIPS_TYPE_EXTEND); + baton->extractChannel = sharp::AttrAsInt32(options, "extractChannel"); + baton->affineMatrix = sharp::AttrAsVectorOfDouble(options, "affineMatrix"); + baton->affineBackground = sharp::AttrAsVectorOfDouble(options, "affineBackground"); + baton->affineIdx = sharp::AttrAsDouble(options, "affineIdx"); + baton->affineIdy = sharp::AttrAsDouble(options, "affineIdy"); + baton->affineOdx = sharp::AttrAsDouble(options, "affineOdx"); + baton->affineOdy = sharp::AttrAsDouble(options, "affineOdy"); + baton->affineInterpolator = sharp::AttrAsStr(options, "affineInterpolator"); + baton->removeAlpha = sharp::AttrAsBool(options, "removeAlpha"); + baton->ensureAlpha = sharp::AttrAsDouble(options, "ensureAlpha"); + if (options.Has("boolean")) { + baton->boolean = sharp::CreateInputDescriptor(options.Get("boolean").As()); + baton->booleanOp = sharp::AttrAsEnum(options, "booleanOp", VIPS_TYPE_OPERATION_BOOLEAN); + } + if (options.Has("bandBoolOp")) { + baton->bandBoolOp = sharp::AttrAsEnum(options, "bandBoolOp", VIPS_TYPE_OPERATION_BOOLEAN); + } + if (options.Has("convKernel")) { + Napi::Object kernel = options.Get("convKernel").As(); + baton->convKernelWidth = sharp::AttrAsUint32(kernel, "width"); + baton->convKernelHeight = sharp::AttrAsUint32(kernel, "height"); + baton->convKernelScale = sharp::AttrAsDouble(kernel, "scale"); + baton->convKernelOffset = sharp::AttrAsDouble(kernel, "offset"); + size_t const kernelSize = static_cast(baton->convKernelWidth * baton->convKernelHeight); + baton->convKernel.resize(kernelSize); + Napi::Array kdata = kernel.Get("kernel").As(); + for (unsigned int i = 0; i < kernelSize; i++) { + baton->convKernel[i] = sharp::AttrAsDouble(kdata, i); + } + } + if (options.Has("recombMatrix")) { + Napi::Array recombMatrix = options.Get("recombMatrix").As(); + unsigned int matrixElements = recombMatrix.Length(); + baton->recombMatrix.resize(matrixElements); + for (unsigned int i = 0; i < matrixElements; i++) { + baton->recombMatrix[i] = sharp::AttrAsDouble(recombMatrix, i); + } + } + baton->colourspacePipeline = sharp::AttrAsEnum( + options, "colourspacePipeline", VIPS_TYPE_INTERPRETATION); + if (baton->colourspacePipeline == VIPS_INTERPRETATION_ERROR) { + baton->colourspacePipeline = VIPS_INTERPRETATION_LAST; + } + baton->colourspace = sharp::AttrAsEnum(options, "colourspace", VIPS_TYPE_INTERPRETATION); + if (baton->colourspace == VIPS_INTERPRETATION_ERROR) { + baton->colourspace = VIPS_INTERPRETATION_sRGB; + } + // Output + baton->formatOut = sharp::AttrAsStr(options, "formatOut"); + baton->fileOut = sharp::AttrAsStr(options, "fileOut"); + baton->typedArrayOut = sharp::AttrAsBool(options, "typedArrayOut"); + baton->keepMetadata = sharp::AttrAsUint32(options, "keepMetadata"); + baton->withMetadataOrientation = sharp::AttrAsUint32(options, "withMetadataOrientation"); + baton->withMetadataDensity = sharp::AttrAsDouble(options, "withMetadataDensity"); + baton->withIccProfile = sharp::AttrAsStr(options, "withIccProfile"); + Napi::Object withExif = options.Get("withExif").As(); + Napi::Array withExifKeys = withExif.GetPropertyNames(); + for (unsigned int i = 0; i < withExifKeys.Length(); i++) { + std::string k = sharp::AttrAsStr(withExifKeys, i); + if (withExif.HasOwnProperty(k)) { + baton->withExif.insert(std::make_pair(k, sharp::AttrAsStr(withExif, k))); + } + } + baton->withExifMerge = sharp::AttrAsBool(options, "withExifMerge"); + baton->withXmp = sharp::AttrAsStr(options, "withXmp"); + baton->keepGainMap = sharp::AttrAsBool(options, "keepGainMap"); + baton->withGainMap = sharp::AttrAsBool(options, "withGainMap"); + baton->timeoutSeconds = sharp::AttrAsUint32(options, "timeoutSeconds"); + baton->loop = sharp::AttrAsUint32(options, "loop"); + baton->delay = sharp::AttrAsInt32Vector(options, "delay"); + // Format-specific + baton->jpegQuality = sharp::AttrAsUint32(options, "jpegQuality"); + baton->jpegProgressive = sharp::AttrAsBool(options, "jpegProgressive"); + baton->jpegChromaSubsampling = sharp::AttrAsStr(options, "jpegChromaSubsampling"); + baton->jpegTrellisQuantisation = sharp::AttrAsBool(options, "jpegTrellisQuantisation"); + baton->jpegQuantisationTable = sharp::AttrAsUint32(options, "jpegQuantisationTable"); + baton->jpegOvershootDeringing = sharp::AttrAsBool(options, "jpegOvershootDeringing"); + baton->jpegOptimiseScans = sharp::AttrAsBool(options, "jpegOptimiseScans"); + baton->jpegOptimiseCoding = sharp::AttrAsBool(options, "jpegOptimiseCoding"); + baton->pngProgressive = sharp::AttrAsBool(options, "pngProgressive"); + baton->pngCompressionLevel = sharp::AttrAsUint32(options, "pngCompressionLevel"); + baton->pngAdaptiveFiltering = sharp::AttrAsBool(options, "pngAdaptiveFiltering"); + baton->pngPalette = sharp::AttrAsBool(options, "pngPalette"); + baton->pngQuality = sharp::AttrAsUint32(options, "pngQuality"); + baton->pngEffort = sharp::AttrAsUint32(options, "pngEffort"); + baton->pngBitdepth = sharp::AttrAsUint32(options, "pngBitdepth"); + baton->pngDither = sharp::AttrAsDouble(options, "pngDither"); + baton->jp2Quality = sharp::AttrAsUint32(options, "jp2Quality"); + baton->jp2Lossless = sharp::AttrAsBool(options, "jp2Lossless"); + baton->jp2TileHeight = sharp::AttrAsUint32(options, "jp2TileHeight"); + baton->jp2TileWidth = sharp::AttrAsUint32(options, "jp2TileWidth"); + baton->jp2ChromaSubsampling = sharp::AttrAsStr(options, "jp2ChromaSubsampling"); + baton->webpQuality = sharp::AttrAsUint32(options, "webpQuality"); + baton->webpAlphaQuality = sharp::AttrAsUint32(options, "webpAlphaQuality"); + baton->webpLossless = sharp::AttrAsBool(options, "webpLossless"); + baton->webpNearLossless = sharp::AttrAsBool(options, "webpNearLossless"); + baton->webpSmartSubsample = sharp::AttrAsBool(options, "webpSmartSubsample"); + baton->webpSmartDeblock = sharp::AttrAsBool(options, "webpSmartDeblock"); + baton->webpPreset = sharp::AttrAsEnum(options, "webpPreset", VIPS_TYPE_FOREIGN_WEBP_PRESET); + baton->webpEffort = sharp::AttrAsUint32(options, "webpEffort"); + baton->webpMinSize = sharp::AttrAsBool(options, "webpMinSize"); + baton->webpMixed = sharp::AttrAsBool(options, "webpMixed"); + baton->webpExact = sharp::AttrAsBool(options, "webpExact"); + baton->gifBitdepth = sharp::AttrAsUint32(options, "gifBitdepth"); + baton->gifEffort = sharp::AttrAsUint32(options, "gifEffort"); + baton->gifDither = sharp::AttrAsDouble(options, "gifDither"); + baton->gifInterFrameMaxError = sharp::AttrAsDouble(options, "gifInterFrameMaxError"); + baton->gifInterPaletteMaxError = sharp::AttrAsDouble(options, "gifInterPaletteMaxError"); + baton->gifKeepDuplicateFrames = sharp::AttrAsBool(options, "gifKeepDuplicateFrames"); + baton->gifReuse = sharp::AttrAsBool(options, "gifReuse"); + baton->gifProgressive = sharp::AttrAsBool(options, "gifProgressive"); + baton->tiffQuality = sharp::AttrAsUint32(options, "tiffQuality"); + baton->tiffBigtiff = sharp::AttrAsBool(options, "tiffBigtiff"); + baton->tiffPyramid = sharp::AttrAsBool(options, "tiffPyramid"); + baton->tiffMiniswhite = sharp::AttrAsBool(options, "tiffMiniswhite"); + baton->tiffBitdepth = sharp::AttrAsUint32(options, "tiffBitdepth"); + baton->tiffTile = sharp::AttrAsBool(options, "tiffTile"); + baton->tiffTileWidth = sharp::AttrAsUint32(options, "tiffTileWidth"); + baton->tiffTileHeight = sharp::AttrAsUint32(options, "tiffTileHeight"); + baton->tiffXres = sharp::AttrAsDouble(options, "tiffXres"); + baton->tiffYres = sharp::AttrAsDouble(options, "tiffYres"); + if (baton->tiffXres == 1.0 && baton->tiffYres == 1.0 && baton->withMetadataDensity > 0) { + baton->tiffXres = baton->tiffYres = baton->withMetadataDensity / 25.4; + } + baton->tiffCompression = sharp::AttrAsEnum( + options, "tiffCompression", VIPS_TYPE_FOREIGN_TIFF_COMPRESSION); + baton->tiffPredictor = sharp::AttrAsEnum( + options, "tiffPredictor", VIPS_TYPE_FOREIGN_TIFF_PREDICTOR); + baton->tiffResolutionUnit = sharp::AttrAsEnum( + options, "tiffResolutionUnit", VIPS_TYPE_FOREIGN_TIFF_RESUNIT); + baton->heifQuality = sharp::AttrAsUint32(options, "heifQuality"); + baton->heifLossless = sharp::AttrAsBool(options, "heifLossless"); + baton->heifCompression = sharp::AttrAsEnum( + options, "heifCompression", VIPS_TYPE_FOREIGN_HEIF_COMPRESSION); + baton->heifEffort = sharp::AttrAsUint32(options, "heifEffort"); + baton->heifChromaSubsampling = sharp::AttrAsStr(options, "heifChromaSubsampling"); + baton->heifBitdepth = sharp::AttrAsUint32(options, "heifBitdepth"); + baton->heifTune = sharp::AttrAsStr(options, "heifTune"); + baton->jxlDistance = sharp::AttrAsDouble(options, "jxlDistance"); + baton->jxlDecodingTier = sharp::AttrAsUint32(options, "jxlDecodingTier"); + baton->jxlEffort = sharp::AttrAsUint32(options, "jxlEffort"); + baton->jxlLossless = sharp::AttrAsBool(options, "jxlLossless"); + baton->rawDepth = sharp::AttrAsEnum(options, "rawDepth", VIPS_TYPE_BAND_FORMAT); + baton->tileSize = sharp::AttrAsUint32(options, "tileSize"); + baton->tileOverlap = sharp::AttrAsUint32(options, "tileOverlap"); + baton->tileAngle = sharp::AttrAsInt32(options, "tileAngle"); + baton->tileBackground = sharp::AttrAsVectorOfDouble(options, "tileBackground"); + baton->tileSkipBlanks = sharp::AttrAsInt32(options, "tileSkipBlanks"); + baton->tileContainer = sharp::AttrAsEnum( + options, "tileContainer", VIPS_TYPE_FOREIGN_DZ_CONTAINER); + baton->tileLayout = sharp::AttrAsEnum(options, "tileLayout", VIPS_TYPE_FOREIGN_DZ_LAYOUT); + baton->tileFormat = sharp::AttrAsStr(options, "tileFormat"); + baton->tileDepth = sharp::AttrAsEnum(options, "tileDepth", VIPS_TYPE_FOREIGN_DZ_DEPTH); + baton->tileCentre = sharp::AttrAsBool(options, "tileCentre"); + baton->tileId = sharp::AttrAsStr(options, "tileId"); + baton->tileBasename = sharp::AttrAsStr(options, "tileBasename"); + + // Function to notify of libvips warnings + Napi::Function debuglog = options.Get("debuglog").As(); + + // Function to notify of queue length changes + Napi::Function queueListener = options.Get("queueListener").As(); + + // Join queue for worker thread + Napi::Function callback = info[size_t(1)].As(); + PipelineWorker *worker = new PipelineWorker(callback, baton, debuglog, queueListener); + worker->Receiver().Set("options", options); + worker->Queue(); + + // Increment queued task counter + Napi::Number queueLength = Napi::Number::New(info.Env(), static_cast(++sharp::counterQueue)); + queueListener.SHARP_CALLBACK_FN_NAME(info.This(), { queueLength }); + + return info.Env().Undefined(); +} diff --git a/apps/api/.output/node_modules/sharp/src/pipeline.h b/apps/api/.output/node_modules/sharp/src/pipeline.h new file mode 100644 index 0000000..78de093 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/pipeline.h @@ -0,0 +1,422 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_PIPELINE_H_ +#define SRC_PIPELINE_H_ + +#include +#include +#include +#include + +#include +#include + +#include "./common.h" + +Napi::Value pipeline(const Napi::CallbackInfo& info); + +struct Composite { + sharp::InputDescriptor *input; + VipsBlendMode mode; + int gravity; + int left; + int top; + bool hasOffset; + bool tile; + bool premultiplied; + + Composite(): + input(nullptr), + mode(VIPS_BLEND_MODE_OVER), + gravity(0), + left(0), + top(0), + hasOffset(false), + tile(false), + premultiplied(false) {} +}; + +struct PipelineBaton { + sharp::InputDescriptor *input; + std::vector join; + std::string formatOut; + std::string fileOut; + void *bufferOut; + size_t bufferOutLength; + int pageHeightOut; + int pagesOut; + bool typedArrayOut; + bool hasAlphaOut; + std::vector composite; + std::vector joinChannelIn; + int topOffsetPre; + int leftOffsetPre; + int widthPre; + int heightPre; + int topOffsetPost; + int leftOffsetPost; + int widthPost; + int heightPost; + int width; + int height; + int channels; + VipsKernel kernel; + sharp::Canvas canvas; + int position; + std::vector resizeBackground; + bool hasCropOffset; + int cropOffsetLeft; + int cropOffsetTop; + bool hasAttentionCenter; + int attentionX; + int attentionY; + bool premultiplied; + bool tileCentre; + bool fastShrinkOnLoad; + std::vector tint; + bool flatten; + std::vector flattenBackground; + bool unflatten; + bool negate; + bool negateAlpha; + double blurSigma; + VipsPrecision precision; + double minAmpl; + double brightness; + double saturation; + int hue; + double lightness; + int medianSize; + double sharpenSigma; + double sharpenM1; + double sharpenM2; + double sharpenX1; + double sharpenY2; + double sharpenY3; + int threshold; + bool thresholdGrayscale; + std::vector trimBackground; + double trimThreshold; + bool trimLineArt; + int trimOffsetLeft; + int trimOffsetTop; + int trimMargin; + std::vector linearA; + std::vector linearB; + int dilateWidth; + int erodeWidth; + double gamma; + double gammaOut; + bool greyscale; + bool normalise; + int normaliseLower; + int normaliseUpper; + int claheWidth; + int claheHeight; + int claheMaxSlope; + int angle; + double rotationAngle; + std::vector rotationBackground; + bool rotateBefore; + bool orientBefore; + bool flip; + bool flop; + int extendTop; + int extendBottom; + int extendLeft; + int extendRight; + std::vector extendBackground; + VipsExtend extendWith; + bool withoutEnlargement; + bool withoutReduction; + std::vector affineMatrix; + std::vector affineBackground; + double affineIdx; + double affineIdy; + double affineOdx; + double affineOdy; + std::string affineInterpolator; + int jpegQuality; + bool jpegProgressive; + std::string jpegChromaSubsampling; + bool jpegTrellisQuantisation; + int jpegQuantisationTable; + bool jpegOvershootDeringing; + bool jpegOptimiseScans; + bool jpegOptimiseCoding; + bool pngProgressive; + int pngCompressionLevel; + bool pngAdaptiveFiltering; + bool pngPalette; + int pngQuality; + int pngEffort; + int pngBitdepth; + double pngDither; + int jp2Quality; + bool jp2Lossless; + int jp2TileHeight; + int jp2TileWidth; + std::string jp2ChromaSubsampling; + int webpQuality; + int webpAlphaQuality; + bool webpNearLossless; + bool webpLossless; + bool webpSmartSubsample; + bool webpSmartDeblock; + VipsForeignWebpPreset webpPreset; + int webpEffort; + bool webpMinSize; + bool webpMixed; + bool webpExact; + int gifBitdepth; + int gifEffort; + double gifDither; + double gifInterFrameMaxError; + double gifInterPaletteMaxError; + bool gifKeepDuplicateFrames; + bool gifReuse; + bool gifProgressive; + int tiffQuality; + VipsForeignTiffCompression tiffCompression; + bool tiffBigtiff; + VipsForeignTiffPredictor tiffPredictor; + bool tiffPyramid; + int tiffBitdepth; + bool tiffMiniswhite; + bool tiffTile; + int tiffTileHeight; + int tiffTileWidth; + double tiffXres; + double tiffYres; + VipsForeignTiffResunit tiffResolutionUnit; + int heifQuality; + VipsForeignHeifCompression heifCompression; + int heifEffort; + std::string heifChromaSubsampling; + bool heifLossless; + int heifBitdepth; + std::string heifTune; + double jxlDistance; + int jxlDecodingTier; + int jxlEffort; + bool jxlLossless; + VipsBandFormat rawDepth; + std::string err; + bool errUseWarning; + int keepMetadata; + int withMetadataOrientation; + double withMetadataDensity; + std::string withIccProfile; + std::unordered_map withExif; + bool withExifMerge; + std::string withXmp; + bool withGainMap; + bool keepGainMap; + int timeoutSeconds; + std::vector convKernel; + int convKernelWidth; + int convKernelHeight; + double convKernelScale; + double convKernelOffset; + sharp::InputDescriptor *boolean; + VipsOperationBoolean booleanOp; + VipsOperationBoolean bandBoolOp; + int extractChannel; + bool removeAlpha; + double ensureAlpha; + VipsInterpretation colourspacePipeline; + VipsInterpretation colourspace; + std::vector delay; + int loop; + int tileSize; + int tileOverlap; + VipsForeignDzContainer tileContainer; + VipsForeignDzLayout tileLayout; + std::string tileFormat; + int tileAngle; + std::vector tileBackground; + int tileSkipBlanks; + VipsForeignDzDepth tileDepth; + std::string tileId; + std::string tileBasename; + std::vector recombMatrix; + + PipelineBaton(): + input(nullptr), + bufferOutLength(0), + pageHeightOut(0), + pagesOut(0), + typedArrayOut(false), + hasAlphaOut(false), + topOffsetPre(-1), + topOffsetPost(-1), + channels(0), + kernel(VIPS_KERNEL_LANCZOS3), + canvas(sharp::Canvas::CROP), + position(0), + resizeBackground{ 0.0, 0.0, 0.0, 255.0 }, + hasCropOffset(false), + cropOffsetLeft(0), + cropOffsetTop(0), + hasAttentionCenter(false), + attentionX(0), + attentionY(0), + premultiplied(false), + tint{ -1.0, 0.0, 0.0, 0.0 }, + flatten(false), + flattenBackground{ 0.0, 0.0, 0.0 }, + unflatten(false), + negate(false), + negateAlpha(true), + blurSigma(0.0), + brightness(1.0), + saturation(1.0), + hue(0), + lightness(0), + medianSize(0), + sharpenSigma(0.0), + sharpenM1(1.0), + sharpenM2(2.0), + sharpenX1(2.0), + sharpenY2(10.0), + sharpenY3(20.0), + threshold(0), + thresholdGrayscale(true), + trimBackground{}, + trimThreshold(-1.0), + trimLineArt(false), + trimOffsetLeft(0), + trimOffsetTop(0), + trimMargin(0), + linearA{}, + linearB{}, + dilateWidth(0), + erodeWidth(0), + gamma(0.0), + greyscale(false), + normalise(false), + normaliseLower(1), + normaliseUpper(99), + claheWidth(0), + claheHeight(0), + claheMaxSlope(3), + angle(0), + rotationAngle(0.0), + rotationBackground{ 0.0, 0.0, 0.0, 255.0 }, + flip(false), + flop(false), + extendTop(0), + extendBottom(0), + extendLeft(0), + extendRight(0), + extendBackground{ 0.0, 0.0, 0.0, 255.0 }, + extendWith(VIPS_EXTEND_BACKGROUND), + withoutEnlargement(false), + withoutReduction(false), + affineMatrix{ 1.0, 0.0, 0.0, 1.0 }, + affineBackground{ 0.0, 0.0, 0.0, 255.0 }, + affineIdx(0), + affineIdy(0), + affineOdx(0), + affineOdy(0), + affineInterpolator("bicubic"), + jpegQuality(80), + jpegProgressive(false), + jpegChromaSubsampling("4:2:0"), + jpegTrellisQuantisation(false), + jpegQuantisationTable(0), + jpegOvershootDeringing(false), + jpegOptimiseScans(false), + jpegOptimiseCoding(true), + pngProgressive(false), + pngCompressionLevel(6), + pngAdaptiveFiltering(false), + pngPalette(false), + pngQuality(100), + pngEffort(7), + pngBitdepth(8), + pngDither(1.0), + jp2Quality(80), + jp2Lossless(false), + jp2TileHeight(512), + jp2TileWidth(512), + jp2ChromaSubsampling("4:4:4"), + webpQuality(80), + webpAlphaQuality(100), + webpNearLossless(false), + webpLossless(false), + webpSmartSubsample(false), + webpSmartDeblock(false), + webpPreset(VIPS_FOREIGN_WEBP_PRESET_DEFAULT), + webpEffort(4), + webpMinSize(false), + webpMixed(false), + webpExact(false), + gifBitdepth(8), + gifEffort(7), + gifDither(1.0), + gifInterFrameMaxError(0.0), + gifInterPaletteMaxError(3.0), + gifKeepDuplicateFrames(false), + gifReuse(true), + gifProgressive(false), + tiffQuality(80), + tiffCompression(VIPS_FOREIGN_TIFF_COMPRESSION_JPEG), + tiffBigtiff(false), + tiffPredictor(VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL), + tiffPyramid(false), + tiffBitdepth(0), + tiffMiniswhite(false), + tiffTile(false), + tiffTileHeight(256), + tiffTileWidth(256), + tiffXres(1.0), + tiffYres(1.0), + tiffResolutionUnit(VIPS_FOREIGN_TIFF_RESUNIT_INCH), + heifQuality(50), + heifCompression(VIPS_FOREIGN_HEIF_COMPRESSION_AV1), + heifEffort(4), + heifChromaSubsampling("4:4:4"), + heifLossless(false), + heifBitdepth(8), + heifTune("auto"), + jxlDistance(1.0), + jxlDecodingTier(0), + jxlEffort(7), + jxlLossless(false), + rawDepth(VIPS_FORMAT_UCHAR), + errUseWarning(false), + keepMetadata(0), + withMetadataOrientation(-1), + withMetadataDensity(0.0), + withExifMerge(true), + withGainMap(false), + keepGainMap(false), + timeoutSeconds(0), + convKernelWidth(0), + convKernelHeight(0), + convKernelScale(0.0), + convKernelOffset(0.0), + boolean(nullptr), + booleanOp(VIPS_OPERATION_BOOLEAN_LAST), + bandBoolOp(VIPS_OPERATION_BOOLEAN_LAST), + extractChannel(-1), + removeAlpha(false), + ensureAlpha(-1.0), + colourspacePipeline(VIPS_INTERPRETATION_LAST), + colourspace(VIPS_INTERPRETATION_LAST), + loop(-1), + tileSize(256), + tileOverlap(0), + tileContainer(VIPS_FOREIGN_DZ_CONTAINER_FS), + tileLayout(VIPS_FOREIGN_DZ_LAYOUT_DZ), + tileAngle(0), + tileBackground{ 255.0, 255.0, 255.0, 255.0 }, + tileSkipBlanks(-1), + tileDepth(VIPS_FOREIGN_DZ_DEPTH_LAST) {} +}; + +#endif // SRC_PIPELINE_H_ diff --git a/apps/api/.output/node_modules/sharp/src/sharp.cc b/apps/api/.output/node_modules/sharp/src/sharp.cc new file mode 100644 index 0000000..7678975 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/sharp.cc @@ -0,0 +1,43 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include + +#include +#include + +#include "./common.h" +#include "./metadata.h" +#include "./pipeline.h" +#include "./stats.h" +#include "./utilities.h" + +Napi::Object init(Napi::Env env, Napi::Object exports) { + static std::once_flag sharp_vips_init_once; + std::call_once(sharp_vips_init_once, []() { + vips_init("sharp"); + }); + + g_log_set_handler("VIPS", static_cast(G_LOG_LEVEL_WARNING), + static_cast(sharp::VipsWarningCallback), nullptr); + + // Methods available to JavaScript + exports.Set("metadata", Napi::Function::New(env, metadata)); + exports.Set("pipeline", Napi::Function::New(env, pipeline)); + exports.Set("cache", Napi::Function::New(env, cache)); + exports.Set("concurrency", Napi::Function::New(env, concurrency)); + exports.Set("counters", Napi::Function::New(env, counters)); + exports.Set("simd", Napi::Function::New(env, simd)); + exports.Set("libvipsVersion", Napi::Function::New(env, libvipsVersion)); + exports.Set("format", Napi::Function::New(env, format)); + exports.Set("block", Napi::Function::New(env, block)); + exports.Set("_maxColourDistance", Napi::Function::New(env, _maxColourDistance)); + exports.Set("_isUsingJemalloc", Napi::Function::New(env, _isUsingJemalloc)); + exports.Set("_isUsingX64V2", Napi::Function::New(env, _isUsingX64V2)); + exports.Set("stats", Napi::Function::New(env, stats)); + return exports; +} + +NODE_API_MODULE(sharp, init) diff --git a/apps/api/.output/node_modules/sharp/src/stats.cc b/apps/api/.output/node_modules/sharp/src/stats.cc new file mode 100644 index 0000000..ad123fe --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/stats.cc @@ -0,0 +1,186 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include +#include +#include +#include + +#include +#include + +#include "./common.h" +#include "./stats.h" + +class StatsWorker : public Napi::AsyncWorker { + public: + StatsWorker(Napi::Function callback, StatsBaton *baton, Napi::Function debuglog) : + Napi::AsyncWorker(callback), baton(baton), debuglog(Napi::Persistent(debuglog)) {} + ~StatsWorker() {} + + const int STAT_MIN_INDEX = 0; + const int STAT_MAX_INDEX = 1; + const int STAT_SUM_INDEX = 2; + const int STAT_SQ_SUM_INDEX = 3; + const int STAT_MEAN_INDEX = 4; + const int STAT_STDEV_INDEX = 5; + const int STAT_MINX_INDEX = 6; + const int STAT_MINY_INDEX = 7; + const int STAT_MAXX_INDEX = 8; + const int STAT_MAXY_INDEX = 9; + + void Execute() { + // Decrement queued task counter + sharp::counterQueue--; + + vips::VImage image; + sharp::ImageType imageType = sharp::ImageType::UNKNOWN; + try { + std::tie(image, imageType) = OpenInput(baton->input); + } catch (std::runtime_error const &err) { + (baton->err).append(err.what()); + } + if (imageType != sharp::ImageType::UNKNOWN) { + try { + vips::VImage stats = image.stats(); + int const bands = image.bands(); + for (int b = 1; b <= bands; b++) { + ChannelStats cStats( + static_cast(stats.getpoint(STAT_MIN_INDEX, b).front()), + static_cast(stats.getpoint(STAT_MAX_INDEX, b).front()), + stats.getpoint(STAT_SUM_INDEX, b).front(), + stats.getpoint(STAT_SQ_SUM_INDEX, b).front(), + stats.getpoint(STAT_MEAN_INDEX, b).front(), + stats.getpoint(STAT_STDEV_INDEX, b).front(), + static_cast(stats.getpoint(STAT_MINX_INDEX, b).front()), + static_cast(stats.getpoint(STAT_MINY_INDEX, b).front()), + static_cast(stats.getpoint(STAT_MAXX_INDEX, b).front()), + static_cast(stats.getpoint(STAT_MAXY_INDEX, b).front())); + baton->channelStats.push_back(cStats); + } + // Image is not opaque when alpha layer is present and contains a non-mamixa value + if (image.has_alpha()) { + double const minAlpha = static_cast(stats.getpoint(STAT_MIN_INDEX, bands).front()); + if (minAlpha != vips_interpretation_max_alpha(image.interpretation())) { + baton->isOpaque = false; + } + } + // Convert to greyscale + vips::VImage greyscale = image.colourspace(VIPS_INTERPRETATION_B_W)[0]; + // Estimate entropy via histogram of greyscale value frequency + baton->entropy = std::abs(greyscale.hist_find().hist_entropy()); + // Estimate sharpness via standard deviation of greyscale laplacian + if (image.width() > 1 || image.height() > 1) { + VImage laplacian = VImage::new_matrixv(3, 3, + 0.0, 1.0, 0.0, + 1.0, -4.0, 1.0, + 0.0, 1.0, 0.0); + laplacian.set("scale", 9.0); + baton->sharpness = greyscale.conv(laplacian).deviate(); + } + // Most dominant sRGB colour via 4096-bin 3D histogram + vips::VImage hist = sharp::RemoveAlpha(image) + .colourspace(VIPS_INTERPRETATION_sRGB) + .hist_find_ndim(VImage::option()->set("bins", 16)); + std::complex maxpos = hist.maxpos(); + int const dx = static_cast(std::real(maxpos)); + int const dy = static_cast(std::imag(maxpos)); + std::vector pel = hist(dx, dy); + int const dz = std::distance(pel.begin(), std::find(pel.begin(), pel.end(), hist.max())); + baton->dominantRed = dx * 16 + 8; + baton->dominantGreen = dy * 16 + 8; + baton->dominantBlue = dz * 16 + 8; + } catch (std::runtime_error const &err) { + (baton->err).append(err.what()); + } + } + + // Clean up + vips_error_clear(); + vips_thread_shutdown(); + } + + void OnOK() { + Napi::Env env = Env(); + Napi::HandleScope scope(env); + + // Handle warnings + std::string warning = sharp::VipsWarningPop(); + while (!warning.empty()) { + debuglog.SHARP_CALLBACK_FN_NAME(Receiver().Value(), { Napi::String::New(env, warning) }); + warning = sharp::VipsWarningPop(); + } + if (baton->err.empty()) { + // Stats Object + Napi::Object info = Napi::Object::New(env); + Napi::Array channels = Napi::Array::New(env); + + std::vector::iterator it; + int i = 0; + for (it = baton->channelStats.begin(); it < baton->channelStats.end(); it++, i++) { + Napi::Object channelStat = Napi::Object::New(env); + channelStat.Set("min", it->min); + channelStat.Set("max", it->max); + channelStat.Set("sum", it->sum); + channelStat.Set("squaresSum", it->squaresSum); + channelStat.Set("mean", it->mean); + channelStat.Set("stdev", it->stdev); + channelStat.Set("minX", it->minX); + channelStat.Set("minY", it->minY); + channelStat.Set("maxX", it->maxX); + channelStat.Set("maxY", it->maxY); + channels.Set(i, channelStat); + } + + info.Set("channels", channels); + info.Set("isOpaque", baton->isOpaque); + info.Set("entropy", baton->entropy); + info.Set("sharpness", baton->sharpness); + Napi::Object dominant = Napi::Object::New(env); + dominant.Set("r", baton->dominantRed); + dominant.Set("g", baton->dominantGreen); + dominant.Set("b", baton->dominantBlue); + info.Set("dominant", dominant); + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), { env.Null(), info }); + } else { + Callback().SHARP_CALLBACK_FN_NAME(Receiver().Value(), + { Napi::Error::New(env, sharp::TrimEnd(baton->err)).Value() }); + } + + delete baton->input; + delete baton; + } + + private: + StatsBaton* baton; + Napi::FunctionReference debuglog; +}; + +/* + stats(options, callback) +*/ +Napi::Value stats(const Napi::CallbackInfo& info) { + // V8 objects are converted to non-V8 types held in the baton struct + StatsBaton *baton = new StatsBaton; + Napi::Object options = info[size_t(0)].As(); + + // Input + baton->input = sharp::CreateInputDescriptor(options.Get("input").As()); + baton->input->access = VIPS_ACCESS_RANDOM; + + // Function to notify of libvips warnings + Napi::Function debuglog = options.Get("debuglog").As(); + + // Join queue for worker thread + Napi::Function callback = info[size_t(1)].As(); + StatsWorker *worker = new StatsWorker(callback, baton, debuglog); + worker->Receiver().Set("options", options); + worker->Queue(); + + // Increment queued task counter + sharp::counterQueue++; + + return info.Env().Undefined(); +} diff --git a/apps/api/.output/node_modules/sharp/src/stats.h b/apps/api/.output/node_modules/sharp/src/stats.h new file mode 100644 index 0000000..88e13c6 --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/stats.h @@ -0,0 +1,62 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_STATS_H_ +#define SRC_STATS_H_ + +#include +#include +#include + +#include "./common.h" + +struct ChannelStats { + // stats per channel + int min; + int max; + double sum; + double squaresSum; + double mean; + double stdev; + int minX; + int minY; + int maxX; + int maxY; + + ChannelStats(int minVal, int maxVal, double sumVal, double squaresSumVal, + double meanVal, double stdevVal, int minXVal, int minYVal, int maxXVal, int maxYVal): + min(minVal), max(maxVal), sum(sumVal), squaresSum(squaresSumVal), // NOLINT(build/include_what_you_use) + mean(meanVal), stdev(stdevVal), minX(minXVal), minY(minYVal), maxX(maxXVal), maxY(maxYVal) {} +}; + +struct StatsBaton { + // Input + sharp::InputDescriptor *input; + + // Output + std::vector channelStats; + bool isOpaque; + double entropy; + double sharpness; + int dominantRed; + int dominantGreen; + int dominantBlue; + + std::string err; + + StatsBaton(): + input(nullptr), + isOpaque(true), + entropy(0.0), + sharpness(0.0), + dominantRed(0), + dominantGreen(0), + dominantBlue(0) + {} +}; + +Napi::Value stats(const Napi::CallbackInfo& info); + +#endif // SRC_STATS_H_ diff --git a/apps/api/.output/node_modules/sharp/src/utilities.cc b/apps/api/.output/node_modules/sharp/src/utilities.cc new file mode 100644 index 0000000..8f5cb5b --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/utilities.cc @@ -0,0 +1,289 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#include +#include +#include + +#include +#include +#include + +#include "./common.h" +#include "./operations.h" +#include "./utilities.h" + +/* + Get and set cache limits +*/ +Napi::Value cache(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + + // Set memory limit + if (info[size_t(0)].IsNumber()) { + vips_cache_set_max_mem(static_cast(info[size_t(0)].As().Uint32Value()) * 1048576); + } + // Set file limit + if (info[size_t(1)].IsNumber()) { + vips_cache_set_max_files(info[size_t(1)].As().Uint32Value()); + } + // Set items limit + if (info[size_t(2)].IsNumber()) { + vips_cache_set_max(info[size_t(2)].As().Uint32Value()); + } + + // Get memory stats + Napi::Object memory = Napi::Object::New(env); + memory.Set("current", round(vips_tracked_get_mem() / 1048576)); + memory.Set("high", round(vips_tracked_get_mem_highwater() / 1048576)); + memory.Set("max", round(vips_cache_get_max_mem() / 1048576)); + // Get file stats + Napi::Object files = Napi::Object::New(env); + files.Set("current", vips_tracked_get_files()); + files.Set("max", vips_cache_get_max_files()); + + // Get item stats + Napi::Object items = Napi::Object::New(env); + items.Set("current", vips_cache_get_size()); + items.Set("max", vips_cache_get_max()); + + Napi::Object cache = Napi::Object::New(env); + cache.Set("memory", memory); + cache.Set("files", files); + cache.Set("items", items); + return cache; +} + +/* + Get and set size of thread pool +*/ +Napi::Value concurrency(const Napi::CallbackInfo& info) { + // Set concurrency + if (info[size_t(0)].IsNumber()) { + vips_concurrency_set(info[size_t(0)].As().Int32Value()); + } + // Get concurrency + return Napi::Number::New(info.Env(), vips_concurrency_get()); +} + +/* + Get internal counters (queued tasks, processing tasks) +*/ +Napi::Value counters(const Napi::CallbackInfo& info) { + Napi::Object counters = Napi::Object::New(info.Env()); + counters.Set("queue", static_cast(sharp::counterQueue)); + counters.Set("process", static_cast(sharp::counterProcess)); + return counters; +} + +/* + Get and set use of SIMD vector unit instructions +*/ +Napi::Value simd(const Napi::CallbackInfo& info) { + // Set state + if (info[size_t(0)].IsBoolean()) { + vips_vector_set_enabled(info[size_t(0)].As().Value()); + } + // Get state + return Napi::Boolean::New(info.Env(), vips_vector_isenabled()); +} + +/* + Get libvips version +*/ +Napi::Value libvipsVersion(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::Object version = Napi::Object::New(env); + + char semver[9]; + std::snprintf(semver, sizeof(semver), "%d.%d.%d", vips_version(0), vips_version(1), vips_version(2)); + version.Set("semver", Napi::String::New(env, semver)); +#ifdef SHARP_USE_GLOBAL_LIBVIPS + version.Set("isGlobal", Napi::Boolean::New(env, true)); +#else + version.Set("isGlobal", Napi::Boolean::New(env, false)); +#endif +#ifdef __EMSCRIPTEN__ + version.Set("isWasm", Napi::Boolean::New(env, true)); +#else + version.Set("isWasm", Napi::Boolean::New(env, false)); +#endif + return version; +} + +/* + Get available input/output file/buffer/stream formats +*/ +Napi::Value format(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + Napi::Object format = Napi::Object::New(env); + for (std::string const f : { + "jpeg", "png", "webp", "tiff", "magick", "openslide", "dz", + "ppm", "fits", "gif", "svg", "heif", "pdf", "vips", "jp2k", "jxl", "rad", "dcraw" + }) { + std::string id = f == "jp2k" ? "jp2" : f; + // Input + const VipsObjectClass *oc = vips_class_find("VipsOperation", (f + "load").c_str()); + Napi::Boolean hasInputFile = Napi::Boolean::New(env, oc); + Napi::Boolean hasInputBuffer = + Napi::Boolean::New(env, vips_type_find("VipsOperation", (f + "load_buffer").c_str())); + Napi::Object input = Napi::Object::New(env); + input.Set("file", hasInputFile); + input.Set("buffer", hasInputBuffer); + input.Set("stream", hasInputBuffer); + if (oc) { + const VipsForeignClass *fc = VIPS_FOREIGN_CLASS(oc); + if (fc->suffs) { + Napi::Array fileSuffix = Napi::Array::New(env); + const char **suffix = fc->suffs; + for (int i = 0; *suffix; i++, suffix++) { + fileSuffix.Set(i, Napi::String::New(env, *suffix)); + } + input.Set("fileSuffix", fileSuffix); + } + } + // Output + Napi::Boolean hasOutputFile = + Napi::Boolean::New(env, vips_type_find("VipsOperation", (f + "save").c_str())); + Napi::Boolean hasOutputBuffer = + Napi::Boolean::New(env, vips_type_find("VipsOperation", (f + "save_buffer").c_str())); + Napi::Object output = Napi::Object::New(env); + output.Set("file", hasOutputFile); + output.Set("buffer", hasOutputBuffer); + output.Set("stream", hasOutputBuffer); + // Other attributes + Napi::Object container = Napi::Object::New(env); + container.Set("id", id); + container.Set("input", input); + container.Set("output", output); + // Add to set of formats + format.Set(id, container); + } + + // Raw, uncompressed data + Napi::Boolean supported = Napi::Boolean::New(env, true); + Napi::Boolean unsupported = Napi::Boolean::New(env, false); + Napi::Object rawInput = Napi::Object::New(env); + rawInput.Set("file", unsupported); + rawInput.Set("buffer", supported); + rawInput.Set("stream", supported); + Napi::Object rawOutput = Napi::Object::New(env); + rawOutput.Set("file", unsupported); + rawOutput.Set("buffer", supported); + rawOutput.Set("stream", supported); + Napi::Object raw = Napi::Object::New(env); + raw.Set("id", "raw"); + raw.Set("input", rawInput); + raw.Set("output", rawOutput); + format.Set("raw", raw); + + return format; +} + +/* + (Un)block libvips operations at runtime. +*/ +void block(const Napi::CallbackInfo& info) { + Napi::Array ops = info[size_t(0)].As(); + bool const state = info[size_t(1)].As().Value(); + for (unsigned int i = 0; i < ops.Length(); i++) { + vips_operation_block_set(ops.Get(i).As().Utf8Value().c_str(), state); + } +} + +/* + Synchronous, internal-only method used by some of the functional tests. + Calculates the maximum colour distance using the DE2000 algorithm + between two images of the same dimensions and number of channels. +*/ +Napi::Value _maxColourDistance(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + + // Open input files + VImage image1; + sharp::ImageType imageType1 = sharp::DetermineImageType(info[size_t(0)].As().Utf8Value().data()); + if (imageType1 != sharp::ImageType::UNKNOWN) { + try { + image1 = VImage::new_from_file(info[size_t(0)].As().Utf8Value().c_str()); + } catch (...) { + throw Napi::Error::New(env, "Input file 1 has corrupt header"); + } + } else { + throw Napi::Error::New(env, "Input file 1 is of an unsupported image format"); + } + VImage image2; + sharp::ImageType imageType2 = sharp::DetermineImageType(info[size_t(1)].As().Utf8Value().data()); + if (imageType2 != sharp::ImageType::UNKNOWN) { + try { + image2 = VImage::new_from_file(info[size_t(1)].As().Utf8Value().c_str()); + } catch (...) { + throw Napi::Error::New(env, "Input file 2 has corrupt header"); + } + } else { + throw Napi::Error::New(env, "Input file 2 is of an unsupported image format"); + } + // Ensure same number of channels + if (image1.bands() != image2.bands()) { + throw Napi::Error::New(env, "mismatchedBands"); + } + // Ensure same dimensions + if (image1.width() != image2.width() || image1.height() != image2.height()) { + throw Napi::Error::New(env, "mismatchedDimensions"); + } + + double maxColourDistance; + try { + // Premultiply and remove alpha + if (image1.has_alpha()) { + image1 = image1.premultiply().extract_band(1, VImage::option()->set("n", image1.bands() - 1)); + } + if (image2.has_alpha()) { + image2 = image2.premultiply().extract_band(1, VImage::option()->set("n", image2.bands() - 1)); + } + // Calculate colour distance + maxColourDistance = image1.dE00(image2).max(); + } catch (std::runtime_error const &err) { + throw Napi::Error::New(env, err.what()); + } + + // Clean up libvips' per-request data and threads + vips_error_clear(); + vips_thread_shutdown(); + + return Napi::Number::New(env, maxColourDistance); +} + +#if defined(__GNUC__) +// mallctl will be resolved by the runtime linker when jemalloc is being used +extern "C" { + int mallctl(const char *name, void *oldp, size_t *oldlenp, void *newp, size_t newlen) __attribute__((weak)); +} +Napi::Value _isUsingJemalloc(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + return Napi::Boolean::New(env, mallctl != nullptr); +} +#else +Napi::Value _isUsingJemalloc(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + return Napi::Boolean::New(env, false); +} +#endif + +#if defined(__GNUC__) && defined(__x86_64__) +// Are SSE 4.2 intrinsics available at runtime? +Napi::Value _isUsingX64V2(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + unsigned int eax, ebx, ecx, edx; + __asm__ __volatile__("cpuid" + : "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx) + : "a"(1)); + return Napi::Boolean::New(env, (ecx & 1U << 20) != 0); +} +#else +Napi::Value _isUsingX64V2(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + return Napi::Boolean::New(env, false); +} +#endif diff --git a/apps/api/.output/node_modules/sharp/src/utilities.h b/apps/api/.output/node_modules/sharp/src/utilities.h new file mode 100644 index 0000000..a1719fa --- /dev/null +++ b/apps/api/.output/node_modules/sharp/src/utilities.h @@ -0,0 +1,22 @@ +/*! + Copyright 2013 Lovell Fuller and others. + SPDX-License-Identifier: Apache-2.0 +*/ + +#ifndef SRC_UTILITIES_H_ +#define SRC_UTILITIES_H_ + +#include + +Napi::Value cache(const Napi::CallbackInfo& info); +Napi::Value concurrency(const Napi::CallbackInfo& info); +Napi::Value counters(const Napi::CallbackInfo& info); +Napi::Value simd(const Napi::CallbackInfo& info); +Napi::Value libvipsVersion(const Napi::CallbackInfo& info); +Napi::Value format(const Napi::CallbackInfo& info); +void block(const Napi::CallbackInfo& info); +Napi::Value _maxColourDistance(const Napi::CallbackInfo& info); +Napi::Value _isUsingJemalloc(const Napi::CallbackInfo& info); +Napi::Value _isUsingX64V2(const Napi::CallbackInfo& info); + +#endif // SRC_UTILITIES_H_ diff --git a/apps/api/.output/package.json b/apps/api/.output/package.json new file mode 100644 index 0000000..e986b24 --- /dev/null +++ b/apps/api/.output/package.json @@ -0,0 +1,4 @@ +{ + "private": true, + "type": "module" +} diff --git a/apps/api/dist/migrate.js b/apps/api/dist/migrate.js new file mode 100644 index 0000000..94d58e8 --- /dev/null +++ b/apps/api/dist/migrate.js @@ -0,0 +1,66 @@ +import { createHash, randomUUID } from "node:crypto"; +import { existsSync } from "node:fs"; +import { readdir, readFile } from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import pg from "pg"; +if (existsSync(".env")) + process.loadEnvFile(".env"); +const MIGRATIONS_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../prisma/migrations"); +const LOCK_ID = 72707369; +const client = new pg.Client({ connectionString: process.env.DATABASE_URL }); +async function main() { + await client.query(`SELECT pg_advisory_lock(${LOCK_ID})`); + await client.query(`CREATE TABLE IF NOT EXISTS "_prisma_migrations" ( + "id" VARCHAR(36) PRIMARY KEY NOT NULL, + "checksum" VARCHAR(64) NOT NULL, + "finished_at" TIMESTAMPTZ, + "migration_name" VARCHAR(255) NOT NULL, + "logs" TEXT, + "rolled_back_at" TIMESTAMPTZ, + "started_at" TIMESTAMPTZ NOT NULL DEFAULT now(), + "applied_steps_count" INTEGER NOT NULL DEFAULT 0 + )`); + const { rows } = await client.query(`SELECT migration_name, finished_at FROM "_prisma_migrations" WHERE rolled_back_at IS NULL`); + const failed = rows.find((r) => !r.finished_at); + if (failed) { + throw new Error(`migration ${failed.migration_name} failed earlier; fix the database, then mark it with ` + + `\`prisma migrate resolve\` (see its "logs" column in _prisma_migrations)`); + } + const applied = new Set(rows.map((r) => r.migration_name)); + const entries = await readdir(MIGRATIONS_DIR, { withFileTypes: true }); + const pending = entries + .filter((e) => e.isDirectory() && !applied.has(e.name)) + .map((e) => e.name) + .sort(); + for (const name of pending) { + const script = await readFile(path.join(MIGRATIONS_DIR, name, "migration.sql"), "utf8"); + const id = randomUUID(); + await client.query(`INSERT INTO "_prisma_migrations" (id, checksum, migration_name) VALUES ($1, $2, $3)`, [id, createHash("sha256").update(script).digest("hex"), name]); + try { + await client.query(script); + } + catch (e) { + await client.query(`UPDATE "_prisma_migrations" SET logs = $2 WHERE id = $1`, [ + id, + String(e), + ]); + throw new Error(`migration ${name} failed`, { cause: e }); + } + await client.query(`UPDATE "_prisma_migrations" SET finished_at = now(), applied_steps_count = 1 WHERE id = $1`, [id]); + console.log(`applied ${name}`); + } + console.log(pending.length ? `${pending.length} migration(s) applied` : "no pending migrations"); +} +try { + await client.connect(); + await main(); +} +catch (e) { + console.error(e); + process.exitCode = 1; +} +finally { + await client.end(); +} +//# sourceMappingURL=migrate.js.map \ No newline at end of file diff --git a/apps/api/dist/migrate.js.map b/apps/api/dist/migrate.js.map new file mode 100644 index 0000000..018decc --- /dev/null +++ b/apps/api/dist/migrate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,IAAI,UAAU,CAAC,MAAM,CAAC;IAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CACjC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,sBAAsB,CACvB,CAAC;AAEF,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEzB,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AAE7E,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC;IAC1D,MAAM,MAAM,CAAC,KAAK,CAAC;;;;;;;;;IASjB,CAAC,CAAC;IAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,2FAA2F,CAC5F,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,aAAa,MAAM,CAAC,cAAc,uDAAuD;YACvF,0EAA0E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,EAAE,CAAC;IAEV,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;QACxF,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,KAAK,CAChB,qFAAqF,EACrF,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAC9D,CAAC;QACF,IAAI,CAAC;YAEH,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBAC5E,EAAE;gBACF,MAAM,CAAC,CAAC,CAAC;aACV,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAChB,4FAA4F,EAC5F,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;AACnG,CAAC;AAED,IAAI,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,EAAE,CAAC;AACf,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;QAAS,CAAC;IACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC"} \ No newline at end of file diff --git a/apps/api/package.json b/apps/api/package.json index 186c963..c81bb51 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "build": "prisma generate && nest build", + "build": "prisma generate && nest build && node scripts/bundle.mjs", "dev": "nest start --watch --preserveWatchOutput --entryFile main.js", "start": "node dist/main.js", "typecheck": "prisma generate && tsc --noEmit -p tsconfig.json", @@ -29,6 +29,7 @@ "@prisma/client": "7.10.1", "cookie-parser": "^1.4.7", "helmet": "^8.3.0", + "pg": "^8.23.1", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "sharp": "^0.35.5", @@ -42,7 +43,9 @@ "@types/express": "^5.0.6", "@types/multer": "^2.3.0", "@types/node": "^24.0.0", + "@types/pg": "^8.23.1", "@types/supertest": "^7.0.0", + "esbuild": "^0.28.2", "prisma": "7.10.1", "supertest": "^7.1.4", "tsx": "^4.20.6", diff --git a/apps/api/scripts/bundle.mjs b/apps/api/scripts/bundle.mjs new file mode 100644 index 0000000..f9ee586 --- /dev/null +++ b/apps/api/scripts/bundle.mjs @@ -0,0 +1,112 @@ +// Bundles the compiled API (dist/, from `nest build`) into a self-contained .output/ that +// docker/api.Dockerfile copies as-is, so building the server image installs nothing: +// .output/dist/main.js, migrate.js, seed/seed.js all JS dependencies inlined +// .output/node_modules/ native packages, Linux (musl, x64) builds only +// The tsc output is bundled rather than src/ because esbuild does not emit the decorator +// metadata Nest's dependency injection relies on. +import { build } from "esbuild"; +import { cpSync, existsSync, readFileSync, realpathSync, rmSync, writeFileSync } from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."); +const out = path.join(root, ".output"); + +// the docker/api.Dockerfile base image (node:*-alpine) +const TARGET = { os: "linux", cpu: "x64", libc: "musl" }; +// loaded at runtime from .output/node_modules (platform-specific binaries) +const NATIVE = ["sharp", "@node-rs/argon2"]; +// optional packages Nest and pg require inside try/catch; not installed, so left unresolved +const OPTIONAL = [ + "@nestjs/microservices", + "@nestjs/microservices/*", + "@nestjs/websockets", + "@nestjs/websockets/*", + "class-transformer", + "class-transformer/*", + "class-validator", + "pg-native", +]; + +rmSync(out, { recursive: true, force: true }); + +await build({ + absWorkingDir: root, + entryPoints: { + main: "dist/main.js", + migrate: "dist/migrate.js", + "seed/seed": "dist/seed/seed.js", + }, + outdir: path.join(out, "dist"), + bundle: true, + splitting: true, + chunkNames: "chunks/[name]-[hash]", + platform: "node", + format: "esm", + target: "node24", + external: [...NATIVE, ...OPTIONAL], + // Nest uses class names (logs, throttler keys) + keepNames: true, + // CommonJS dependencies call require() for Node built-ins (aliased: bundled code imports createRequire too) + banner: { + js: 'import { createRequire as __bundleCreateRequire } from "node:module"; const require = __bundleCreateRequire(import.meta.url);', + }, + legalComments: "none", + logLevel: "warning", +}); +writeFileSync( + path.join(out, "package.json"), + JSON.stringify({ private: true, type: "module" }, null, 2) + "\n", +); + +/** Node's lookup of `name` from `fromDir`; follows pnpm's symlinks to the real package folder */ +function findPackage(name, fromDir) { + for (let dir = fromDir; ; dir = path.dirname(dir)) { + const candidate = path.join(dir, "node_modules", name); + if (existsSync(path.join(candidate, "package.json"))) return realpathSync(candidate); + if (path.dirname(dir) === dir) return null; + } +} + +/** package.json os/cpu/libc fields, e.g. ["linux"] or ["!win32"] */ +const allows = (list, value) => + !list || + ((list.includes(value) || list.every((v) => v.startsWith("!"))) && !list.includes(`!${value}`)); + +const copied = new Map(); +function copyPackage(name, fromDir) { + const dir = findPackage(name, fromDir); + if (!dir) return; // optional dependency for another platform, not installed + const pkg = JSON.parse(readFileSync(path.join(dir, "package.json"), "utf8")); + if (!allows(pkg.os, TARGET.os) || !allows(pkg.cpu, TARGET.cpu) || !allows(pkg.libc, TARGET.libc)) + return; + if (copied.has(name)) { + if (copied.get(name) !== pkg.version) + throw new Error(`${name}: needs both ${copied.get(name)} and ${pkg.version}`); + return; + } + copied.set(name, pkg.version); + cpSync(dir, path.join(out, "node_modules", name), { recursive: true, dereference: true }); + for (const dep of Object.keys({ ...pkg.dependencies, ...pkg.optionalDependencies })) + copyPackage(dep, dir); +} + +for (const name of NATIVE) copyPackage(name, root); +for (const name of NATIVE) { + if (!copied.has(name)) throw new Error(`${name} is not installed`); +} +// sharp and argon2 load their binary from a per-platform package; fail here, not in production +for (const name of [ + "@img/sharp-linuxmusl-x64", + "@img/sharp-libvips-linuxmusl-x64", + "@node-rs/argon2-linux-x64-musl", +]) { + if (!copied.has(name)) { + throw new Error( + `${name} is missing; run \`pnpm install\` (pnpm-workspace.yaml supportedArchitectures adds it)`, + ); + } +} +console.log( + `bundled into .output (native: ${[...copied].map(([n, v]) => `${n}@${v}`).join(", ")})`, +); diff --git a/apps/api/src/migrate.ts b/apps/api/src/migrate.ts new file mode 100644 index 0000000..4691092 --- /dev/null +++ b/apps/api/src/migrate.ts @@ -0,0 +1,91 @@ +/** + * Applies pending prisma/migrations to the database, then exits — `prisma migrate deploy` + * without the Prisma CLI, so the production image needs no dev dependencies. + * Uses Prisma's own `_prisma_migrations` table and lock, so the two stay interchangeable. + * + * node dist/migrate.js (production `migrate` container) + */ +import { createHash, randomUUID } from "node:crypto"; +import { existsSync } from "node:fs"; +import { readdir, readFile } from "node:fs/promises"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import pg from "pg"; + +if (existsSync(".env")) process.loadEnvFile(".env"); + +const MIGRATIONS_DIR = path.resolve( + path.dirname(fileURLToPath(import.meta.url)), + "../prisma/migrations", +); +// same advisory lock id as Prisma's migrate commands +const LOCK_ID = 72707369; + +const client = new pg.Client({ connectionString: process.env.DATABASE_URL }); + +async function main() { + await client.query(`SELECT pg_advisory_lock(${LOCK_ID})`); + await client.query(`CREATE TABLE IF NOT EXISTS "_prisma_migrations" ( + "id" VARCHAR(36) PRIMARY KEY NOT NULL, + "checksum" VARCHAR(64) NOT NULL, + "finished_at" TIMESTAMPTZ, + "migration_name" VARCHAR(255) NOT NULL, + "logs" TEXT, + "rolled_back_at" TIMESTAMPTZ, + "started_at" TIMESTAMPTZ NOT NULL DEFAULT now(), + "applied_steps_count" INTEGER NOT NULL DEFAULT 0 + )`); + + const { rows } = await client.query<{ migration_name: string; finished_at: Date | null }>( + `SELECT migration_name, finished_at FROM "_prisma_migrations" WHERE rolled_back_at IS NULL`, + ); + const failed = rows.find((r) => !r.finished_at); + if (failed) { + throw new Error( + `migration ${failed.migration_name} failed earlier; fix the database, then mark it with ` + + `\`prisma migrate resolve\` (see its "logs" column in _prisma_migrations)`, + ); + } + const applied = new Set(rows.map((r) => r.migration_name)); + + const entries = await readdir(MIGRATIONS_DIR, { withFileTypes: true }); + const pending = entries + .filter((e) => e.isDirectory() && !applied.has(e.name)) + .map((e) => e.name) + .sort(); + + for (const name of pending) { + const script = await readFile(path.join(MIGRATIONS_DIR, name, "migration.sql"), "utf8"); + const id = randomUUID(); + await client.query( + `INSERT INTO "_prisma_migrations" (id, checksum, migration_name) VALUES ($1, $2, $3)`, + [id, createHash("sha256").update(script).digest("hex"), name], + ); + try { + // no parameters → simple query protocol: the whole file runs as one implicit transaction + await client.query(script); + } catch (e) { + await client.query(`UPDATE "_prisma_migrations" SET logs = $2 WHERE id = $1`, [ + id, + String(e), + ]); + throw new Error(`migration ${name} failed`, { cause: e }); + } + await client.query( + `UPDATE "_prisma_migrations" SET finished_at = now(), applied_steps_count = 1 WHERE id = $1`, + [id], + ); + console.log(`applied ${name}`); + } + console.log(pending.length ? `${pending.length} migration(s) applied` : "no pending migrations"); +} + +try { + await client.connect(); + await main(); +} catch (e) { + console.error(e); + process.exitCode = 1; +} finally { + await client.end(); +} diff --git a/apps/web/.output/nitro.json b/apps/web/.output/nitro.json index 227fd72..196a8f7 100644 --- a/apps/web/.output/nitro.json +++ b/apps/web/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2026-10-24T10:00:02.249Z", + "date": "2026-10-24T11:10:34.327Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/apps/web/.output/public/_nuxt/builds/latest.json b/apps/web/.output/public/_nuxt/builds/latest.json index 5e760d5..91103b8 100644 --- a/apps/web/.output/public/_nuxt/builds/latest.json +++ b/apps/web/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"a8b8f23e-57aa-4497-aa31-c772dbae9639","timestamp":1792835930692} \ No newline at end of file +{"id":"6f749362-63df-4cf4-be35-3f4142f84c9f","timestamp":1792840187319} \ No newline at end of file diff --git a/apps/web/.output/public/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json b/apps/web/.output/public/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json new file mode 100644 index 0000000..f272d31 --- /dev/null +++ b/apps/web/.output/public/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json @@ -0,0 +1 @@ +{"id":"6f749362-63df-4cf4-be35-3f4142f84c9f","timestamp":1792840187319,"prerendered":[]} \ No newline at end of file diff --git a/apps/web/.output/public/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json b/apps/web/.output/public/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json deleted file mode 100644 index 0e27c9c..0000000 --- a/apps/web/.output/public/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"a8b8f23e-57aa-4497-aa31-c772dbae9639","timestamp":1792835930692,"prerendered":[]} \ No newline at end of file diff --git a/apps/web/.output/server/chunks/_/nitro.mjs b/apps/web/.output/server/chunks/_/nitro.mjs index adba3c4..735d4f2 100644 --- a/apps/web/.output/server/chunks/_/nitro.mjs +++ b/apps/web/.output/server/chunks/_/nitro.mjs @@ -4066,7 +4066,7 @@ function _expandFromEnv(value) { const _inlineRuntimeConfig = { "app": { "baseURL": "/", - "buildId": "a8b8f23e-57aa-4497-aa31-c772dbae9639", + "buildId": "6f749362-63df-4cf4-be35-3f4142f84c9f", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4862,101 +4862,101 @@ const assets = { "size": 285305, "path": "../public/images/logo.png" }, - "/_nuxt/D0e0LUpa.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"794-cNNGOqTLOp2+IDNDEbTWshwORp0\"", - "mtime": "2026-10-24T09:59:44.867Z", - "size": 1940, - "path": "../public/_nuxt/D0e0LUpa.js" - }, "/_nuxt/BHOIQrRl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1637-w7apJM7DBwq91AEy0Dz89/JwU4s\"", - "mtime": "2026-10-24T09:59:44.867Z", + "mtime": "2026-10-24T11:10:13.647Z", "size": 5687, "path": "../public/_nuxt/BHOIQrRl.js" }, - "/_nuxt/Dd1GE-gU.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"21420-NSMMtehs6gAIMs2sZ84NfSEv/wU\"", - "mtime": "2026-10-24T09:59:44.868Z", - "size": 136224, - "path": "../public/_nuxt/Dd1GE-gU.js" - }, "/_nuxt/DlAPF8TW.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1e85-YNtOmEmkO1nMcpDM/ztRmg/rRLw\"", - "mtime": "2026-10-24T09:59:44.868Z", + "mtime": "2026-10-24T11:10:13.650Z", "size": 7813, "path": "../public/_nuxt/DlAPF8TW.js" }, + "/_nuxt/D0e0LUpa.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"794-cNNGOqTLOp2+IDNDEbTWshwORp0\"", + "mtime": "2026-10-24T11:10:13.648Z", + "size": 1940, + "path": "../public/_nuxt/D0e0LUpa.js" + }, + "/_nuxt/Dd1GE-gU.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"21420-NSMMtehs6gAIMs2sZ84NfSEv/wU\"", + "mtime": "2026-10-24T11:10:13.649Z", + "size": 136224, + "path": "../public/_nuxt/Dd1GE-gU.js" + }, "/_nuxt/DOASWvjr.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3827-3BvUfZznriOnNWFcpi6aALVMpOE\"", - "mtime": "2026-10-24T09:59:44.868Z", + "mtime": "2026-10-24T11:10:13.649Z", "size": 14375, "path": "../public/_nuxt/DOASWvjr.js" }, "/_nuxt/entry.NJkjIEBJ.css": { "type": "text/css; charset=utf-8", "etag": "\"f954-gFKPvCM4WZHzb2tWqZEkEegmw5w\"", - "mtime": "2026-10-24T09:59:44.872Z", + "mtime": "2026-10-24T11:10:13.650Z", "size": 63828, "path": "../public/_nuxt/entry.NJkjIEBJ.css" }, - "/_nuxt/r7-JdZhN.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"78c-4hmOEQGuRxrwCX/1v0DRIhjwpXE\"", - "mtime": "2026-10-24T09:59:44.872Z", - "size": 1932, - "path": "../public/_nuxt/r7-JdZhN.js" - }, - "/_nuxt/VuesaxIcon.4cYnpGo8.css": { - "type": "text/css; charset=utf-8", - "etag": "\"dc-Uz1+XA31y3oabrHslWpIJp4Ls74\"", - "mtime": "2026-10-24T09:59:44.872Z", - "size": 220, - "path": "../public/_nuxt/VuesaxIcon.4cYnpGo8.css" - }, - "/_nuxt/DoONAYG5.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3b62c-dc9OPIQbgdy0oXHYg6EoUgVy6yc\"", - "mtime": "2026-10-24T09:59:44.872Z", - "size": 243244, - "path": "../public/_nuxt/DoONAYG5.js" - }, - "/_nuxt/builds/latest.json": { - "type": "application/json", - "etag": "\"47-Q166IaZkCaNTXHxWgZI+eeFM68U\"", - "mtime": "2026-10-24T09:59:49.866Z", - "size": 71, - "path": "../public/_nuxt/builds/latest.json" - }, - "/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json": { - "type": "application/json", - "etag": "\"58-bKD7NKvUnazN2gxkAMUA2hMGhb8\"", - "mtime": "2026-10-24T09:59:49.866Z", - "size": 88, - "path": "../public/_nuxt/builds/meta/a8b8f23e-57aa-4497-aa31-c772dbae9639.json" - }, - "/_nuxt/xGM79_uD.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"5023-nhybJtf5A4+tqp5rdRjhnkK+QMY\"", - "mtime": "2026-10-24T09:59:44.872Z", - "size": 20515, - "path": "../public/_nuxt/xGM79_uD.js" - }, "/_nuxt/DlDWjZRl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"37855-Z6e8Pe/n6IqFkcSEj31zIJ7FhuQ\"", - "mtime": "2026-10-24T09:59:44.867Z", + "mtime": "2026-10-24T11:10:13.647Z", "size": 227413, "path": "../public/_nuxt/DlDWjZRl.js" }, + "/_nuxt/VuesaxIcon.4cYnpGo8.css": { + "type": "text/css; charset=utf-8", + "etag": "\"dc-Uz1+XA31y3oabrHslWpIJp4Ls74\"", + "mtime": "2026-10-24T11:10:13.650Z", + "size": 220, + "path": "../public/_nuxt/VuesaxIcon.4cYnpGo8.css" + }, + "/_nuxt/r7-JdZhN.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"78c-4hmOEQGuRxrwCX/1v0DRIhjwpXE\"", + "mtime": "2026-10-24T11:10:13.650Z", + "size": 1932, + "path": "../public/_nuxt/r7-JdZhN.js" + }, + "/_nuxt/builds/latest.json": { + "type": "application/json", + "etag": "\"47-VuGCNPuAtxCQI3/VQh0vXpzB7Nw\"", + "mtime": "2026-10-24T11:10:19.632Z", + "size": 71, + "path": "../public/_nuxt/builds/latest.json" + }, + "/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json": { + "type": "application/json", + "etag": "\"58-x1aKWkHt7kpj2A/MgvGvWZjX3Pk\"", + "mtime": "2026-10-24T11:10:19.632Z", + "size": 88, + "path": "../public/_nuxt/builds/meta/6f749362-63df-4cf4-be35-3f4142f84c9f.json" + }, + "/_nuxt/xGM79_uD.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"5023-nhybJtf5A4+tqp5rdRjhnkK+QMY\"", + "mtime": "2026-10-24T11:10:13.650Z", + "size": 20515, + "path": "../public/_nuxt/xGM79_uD.js" + }, + "/_nuxt/DoONAYG5.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3b62c-dc9OPIQbgdy0oXHYg6EoUgVy6yc\"", + "mtime": "2026-10-24T11:10:13.650Z", + "size": 243244, + "path": "../public/_nuxt/DoONAYG5.js" + }, "/_nuxt/D6Ym2dQP.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1241f5-OG41EU7LABNWcdBigZe253LHLTw\"", - "mtime": "2026-10-24T09:59:44.868Z", + "mtime": "2026-10-24T11:10:13.648Z", "size": 1196533, "path": "../public/_nuxt/D6Ym2dQP.js" } diff --git a/apps/web/.output/server/node_modules/@babel/parser/lib/index.js b/apps/web/.output/server/node_modules/@babel/parser/lib/index.js new file mode 100644 index 0000000..03e49d7 --- /dev/null +++ b/apps/web/.output/server/node_modules/@babel/parser/lib/index.js @@ -0,0 +1,14616 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (-1 !== e.indexOf(n)) continue; + t[n] = r[n]; + } + return t; +} +class Position { + constructor(line, col, index) { + this.line = void 0; + this.column = void 0; + this.index = void 0; + this.line = line; + this.column = col; + this.index = index; + } +} +class SourceLocation { + constructor(start, end) { + this.start = void 0; + this.end = void 0; + this.filename = void 0; + this.identifierName = void 0; + this.start = start; + this.end = end; + } +} +function createPositionWithColumnOffset(position, columnOffset) { + const { + line, + column, + index + } = position; + return new Position(line, column + columnOffset, index + columnOffset); +} +const code = "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"; +var ModuleErrors = { + ImportMetaOutsideModule: { + message: `import.meta may appear only with 'sourceType: "module"'`, + code + }, + ImportOutsideModule: { + message: `'import' and 'export' may appear only with 'sourceType: "module"'`, + code + } +}; +const NodeDescriptions = { + ArrayPattern: "array destructuring pattern", + AssignmentExpression: "assignment expression", + AssignmentPattern: "assignment expression", + ArrowFunctionExpression: "arrow function expression", + ConditionalExpression: "conditional expression", + CatchClause: "catch clause", + ForOfStatement: "for-of statement", + ForInStatement: "for-in statement", + ForStatement: "for-loop", + FormalParameters: "function parameter list", + Identifier: "identifier", + ImportSpecifier: "import specifier", + ImportDefaultSpecifier: "import default specifier", + ImportNamespaceSpecifier: "import namespace specifier", + ObjectPattern: "object destructuring pattern", + ParenthesizedExpression: "parenthesized expression", + RestElement: "rest element", + UpdateExpression: { + true: "prefix operation", + false: "postfix operation" + }, + VariableDeclarator: "variable declaration", + YieldExpression: "yield expression" +}; +const toNodeDescription = node => node.type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[`${node.prefix}`] : NodeDescriptions[node.type]; +var StandardErrors = { + AccessorIsGenerator: ({ + kind + }) => `A ${kind}ter cannot be a generator.`, + ArgumentsInClass: "'arguments' is only allowed in functions and class methods.", + AsyncFunctionInSingleStatementContext: "Async functions can only be declared at the top level or inside a block.", + AwaitBindingIdentifier: "Can not use 'await' as identifier inside an async function.", + AwaitBindingIdentifierInStaticBlock: "Can not use 'await' as identifier inside a static block.", + AwaitExpressionFormalParameter: "'await' is not allowed in async function parameters.", + AwaitUsingNotInAsyncContext: "'await using' is only allowed within async functions and at the top levels of modules.", + AwaitNotInAsyncContext: "'await' is only allowed within async functions and at the top levels of modules.", + BadGetterArity: "A 'get' accessor must not have any formal parameters.", + BadSetterArity: "A 'set' accessor must have exactly one formal parameter.", + BadSetterRestParameter: "A 'set' accessor function argument must not be a rest parameter.", + ConstructorClassField: "Classes may not have a field named 'constructor'.", + ConstructorClassPrivateField: "Classes may not have a private field named '#constructor'.", + ConstructorIsAccessor: "Class constructor may not be an accessor.", + ConstructorIsAsync: "Constructor can't be an async function.", + ConstructorIsGenerator: "Constructor can't be a generator.", + DeclarationMissingInitializer: ({ + kind + }) => `Missing initializer in ${kind} declaration.`, + DecoratorArgumentsOutsideParentheses: "Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.", + DecoratorBeforeExport: "Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.", + DecoratorsBeforeAfterExport: "Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.", + DecoratorConstructor: "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?", + DecoratorExportClass: "Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.", + DecoratorSemicolon: "Decorators must not be followed by a semicolon.", + DecoratorStaticBlock: "Decorators can't be used with a static block.", + DeferImportRequiresNamespace: 'Only `import defer * as x from "./module"` is valid.', + DeletePrivateField: "Deleting a private field is not allowed.", + DestructureNamedImport: "ES2015 named imports do not destructure. Use another statement for destructuring after the import.", + DuplicateConstructor: "Duplicate constructor in the same class.", + DuplicateDefaultExport: "Only one default export allowed per module.", + DuplicateExport: ({ + exportName + }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`, + DuplicateProto: "Redefinition of __proto__ property.", + DuplicateRegExpFlags: "Duplicate regular expression flag.", + ElementAfterRest: "Rest element must be last element.", + EscapedCharNotAnIdentifier: "Invalid Unicode escape.", + ExportBindingIsString: ({ + localName, + exportName + }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`, + ExportDefaultFromAsIdentifier: "'from' is not allowed as an identifier after 'export default'.", + ForInOfLoopInitializer: ({ + type + }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`, + ForInUsing: "For-in loop may not start with 'using' declaration.", + ForOfAsync: "The left-hand side of a for-of loop may not be 'async'.", + ForOfLet: "The left-hand side of a for-of loop may not start with 'let'.", + GeneratorInSingleStatementContext: "Generators can only be declared at the top level or inside a block.", + IllegalBreakContinue: ({ + type + }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`, + IllegalLanguageModeDirective: "Illegal 'use strict' directive in function with non-simple parameter list.", + IllegalReturn: "'return' outside of function.", + ImportAttributesUseAssert: "The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.", + ImportBindingIsString: ({ + importName + }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`, + ImportCallArity: `\`import()\` requires exactly one or two arguments.`, + ImportCallNotNewExpression: "Cannot use new with import(...).", + ImportCallSpreadArgument: "`...` is not allowed in `import()`.", + ImportJSONBindingNotDefault: "A JSON module can only be imported with `default`.", + ImportReflectionHasAssertion: "`import module x` cannot have assertions.", + ImportReflectionNotBinding: 'Only `import module x from "./module"` is valid.', + IncompatibleRegExpUVFlags: "The 'u' and 'v' regular expression flags cannot be enabled at the same time.", + InvalidBigIntLiteral: "Invalid BigIntLiteral.", + InvalidCodePoint: "Code point out of bounds.", + InvalidCoverDiscardElement: "'void' must be followed by an expression when not used in a binding position.", + InvalidCoverInitializedName: "Invalid shorthand property initializer.", + InvalidDecimal: "Invalid decimal.", + InvalidDigit: ({ + radix + }) => `Expected number in radix ${radix}.`, + InvalidEscapeSequence: "Bad character escape sequence.", + InvalidEscapeSequenceTemplate: "Invalid escape sequence in template.", + InvalidEscapedReservedWord: ({ + reservedWord + }) => `Escape sequence in keyword ${reservedWord}.`, + InvalidIdentifier: ({ + identifierName + }) => `Invalid identifier ${identifierName}.`, + InvalidLhs: ({ + ancestor + }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsBinding: ({ + ancestor + }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`, + InvalidLhsOptionalChaining: ({ + ancestor + }) => `Invalid optional chaining in the left-hand side of ${toNodeDescription(ancestor)}.`, + InvalidNumber: "Invalid number.", + InvalidOrMissingExponent: "Floating-point numbers require a valid exponent after the 'e'.", + InvalidOrUnexpectedToken: ({ + unexpected + }) => `Unexpected character '${unexpected}'.`, + InvalidParenthesizedAssignment: "Invalid parenthesized assignment pattern.", + InvalidPrivateFieldResolution: ({ + identifierName + }) => `Private name #${identifierName} is not defined.`, + InvalidPropertyBindingPattern: "Binding member expression.", + InvalidRecordProperty: "Only properties and spread elements are allowed in record definitions.", + InvalidRestAssignmentPattern: "Invalid rest operator's argument.", + LabelRedeclaration: ({ + labelName + }) => `Label '${labelName}' is already declared.`, + LetInLexicalBinding: "'let' is disallowed as a lexically bound name.", + LineTerminatorBeforeArrow: "No line break is allowed before '=>'.", + MalformedRegExpFlags: "Invalid regular expression flag.", + MissingClassName: "A class name is required.", + MissingEqInAssignment: "Only '=' operator can be used for specifying default value.", + MissingSemicolon: "Missing semicolon.", + MissingPlugin: ({ + missingPlugin + }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingOneOfPlugins: ({ + missingPlugin + }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`, + MissingUnicodeEscape: "Expecting Unicode escape sequence \\uXXXX.", + MixingCoalesceWithLogical: "Nullish coalescing operator(??) requires parens when mixing with logical operators.", + ModuleAttributeDifferentFromType: "The only accepted module attribute is `type`.", + ModuleAttributeInvalidValue: "Only string literals are allowed as module attribute values.", + ModuleAttributesWithDuplicateKeys: ({ + key + }) => `Duplicate key "${key}" is not allowed in module attributes.`, + ModuleExportNameHasLoneSurrogate: ({ + surrogateCharCode + }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`, + ModuleExportUndefined: ({ + localName + }) => `Export '${localName}' is not defined.`, + MultipleDefaultsInSwitch: "Multiple default clauses.", + NewlineAfterThrow: "Illegal newline after throw.", + NoCatchOrFinally: "Missing catch or finally clause.", + NumberIdentifier: "Identifier directly after number.", + NumericSeparatorInEscapeSequence: "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.", + ObsoleteAwaitStar: "'await*' has been removed from the async functions proposal. Use Promise.all() instead.", + OptionalChainingNoNew: "Constructors in/after an Optional Chain are not allowed.", + OptionalChainingNoTemplate: "Tagged Template Literals are not allowed in optionalChain.", + OverrideOnConstructor: "'override' modifier cannot appear on a constructor declaration.", + ParamDupe: "Argument name clash.", + PatternHasAccessor: "Object pattern can't contain getter or setter.", + PatternHasMethod: "Object pattern can't contain methods.", + PrivateInExpectedIn: ({ + identifierName + }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`, + PrivateNameRedeclaration: ({ + identifierName + }) => `Duplicate private name #${identifierName}.`, + RecordExpressionBarIncorrectEndSyntaxType: "Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionBarIncorrectStartSyntaxType: "Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + RecordExpressionHashIncorrectStartSyntaxType: "Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + RecordNoProto: "'__proto__' is not allowed in Record expressions.", + RestTrailingComma: "Unexpected trailing comma after rest element.", + SloppyFunction: "In non-strict mode code, functions can only be declared at top level or inside a block.", + SloppyFunctionAnnexB: "In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.", + SourcePhaseImportRequiresDefault: 'Only `import source x from "./module"` is valid.', + StaticPrototype: "Classes may not have static property named prototype.", + SuperCallNotNewExpression: "Cannot use new with super(...).", + SuperNotAllowed: "`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?", + SuperPrivateField: "Private fields can't be accessed on super.", + TrailingDecorator: "Decorators must be attached to a class element.", + TupleExpressionBarIncorrectEndSyntaxType: "Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionBarIncorrectStartSyntaxType: "Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.", + TupleExpressionHashIncorrectStartSyntaxType: "Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.", + UnexpectedArgumentPlaceholder: "Unexpected argument placeholder.", + UnexpectedAwaitAfterPipelineBody: 'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.', + UnexpectedDigitAfterHash: "Unexpected digit after hash token.", + UnexpectedImportExport: "'import' and 'export' may only appear at the top level.", + UnexpectedKeyword: ({ + keyword + }) => `Unexpected keyword '${keyword}'.`, + UnexpectedLeadingDecorator: "Leading decorators must be attached to a class declaration.", + UnexpectedLexicalDeclaration: "Lexical declaration cannot appear in a single-statement context.", + UnexpectedNewTarget: "`new.target` can only be used in functions or class properties.", + UnexpectedNumericSeparator: "A numeric separator is only allowed between two digits.", + UnexpectedPrivateField: "Unexpected private name.", + UnexpectedReservedWord: ({ + reservedWord + }) => `Unexpected reserved word '${reservedWord}'.`, + UnexpectedSuper: "'super' is only allowed in object methods and classes.", + UnexpectedToken: ({ + expected, + unexpected + }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`, + UnexpectedTokenUnaryExponentiation: "Illegal expression. Wrap left hand side or entire exponentiation in parentheses.", + UnexpectedUsingDeclaration: "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.", + UnexpectedVoidPattern: "Unexpected void binding.", + UnsupportedDecoratorExport: "A decorated export must export a class declaration.", + UnsupportedDefaultExport: "Only expressions, functions or classes are allowed as the `default` export.", + UnsupportedImport: "`import` can only be used in `import()` or `import.meta`.", + UnsupportedMetaProperty: ({ + target, + onlyValidPropertyName + }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`, + UnsupportedParameterDecorator: "Decorators cannot be used to decorate parameters.", + UnsupportedPropertyDecorator: "Decorators cannot be used to decorate object literal properties.", + UnsupportedSuper: "'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).", + UnterminatedComment: "Unterminated comment.", + UnterminatedRegExp: "Unterminated regular expression.", + UnterminatedString: "Unterminated string constant.", + UnterminatedTemplate: "Unterminated template.", + UsingDeclarationExport: "Using declaration cannot be exported.", + UsingDeclarationHasBindingPattern: "Using declaration cannot have destructuring patterns.", + VarRedeclaration: ({ + identifierName + }) => `Identifier '${identifierName}' has already been declared.`, + VoidPatternCatchClauseParam: "A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.", + VoidPatternInitializer: "A void binding may not have an initializer.", + YieldBindingIdentifier: "Can not use 'yield' as identifier inside a generator.", + YieldInParameter: "Yield expression is not allowed in formal parameters.", + YieldNotInGeneratorFunction: "'yield' is only allowed within generator functions.", + ZeroDigitNumericSeparator: "Numeric separator can not be used after leading 0." +}; +var StrictModeErrors = { + StrictDelete: "Deleting local variable in strict mode.", + StrictEvalArguments: ({ + referenceName + }) => `Assigning to '${referenceName}' in strict mode.`, + StrictEvalArgumentsBinding: ({ + bindingName + }) => `Binding '${bindingName}' in strict mode.`, + StrictFunction: "In strict mode code, functions can only be declared at top level or inside a block.", + StrictNumericEscape: "The only valid numeric escape in strict mode is '\\0'.", + StrictOctalLiteral: "Legacy octal literals are not allowed in strict mode.", + StrictWith: "'with' in strict mode." +}; +var ParseExpressionErrors = { + ParseExpressionEmptyInput: "Unexpected parseExpression() input: The input is empty or contains only comments.", + ParseExpressionExpectsEOF: ({ + unexpected + }) => `Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(unexpected)}\`.` +}; +const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]); +var PipelineOperatorErrors = Object.assign({ + PipeBodyIsTighter: "Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.", + PipeTopicRequiresHackPipes: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.', + PipeTopicUnbound: "Topic reference is unbound; it must be inside a pipe body.", + PipeTopicUnconfiguredToken: ({ + token + }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`, + PipeTopicUnused: "Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.", + PipeUnparenthesizedBody: ({ + type + }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({ + type + })}; please wrap it in parentheses.` +}, { + PipelineBodyNoArrow: 'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.', + PipelineBodySequenceExpression: "Pipeline body may not be a comma-separated sequence expression.", + PipelineHeadSequenceExpression: "Pipeline head should not be a comma-separated sequence expression.", + PipelineTopicUnused: "Pipeline is in topic style but does not use topic reference.", + PrimaryTopicNotAllowed: "Topic reference was used in a lexical context without topic binding.", + PrimaryTopicRequiresSmartPipeline: 'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.' +}); +var FunctionBindErrors = { + UnsupportedBind: "Binding should be performed on object property.", + UnsupportedBindRHS: "The right-hand side of binding can not be super or import." +}; +const _excluded = ["message"]; +function defineHidden(obj, key, value) { + Object.defineProperty(obj, key, { + enumerable: false, + configurable: true, + value + }); +} +function toParseErrorConstructor({ + toMessage, + code, + reasonCode, + syntaxPlugin +}) { + const hasMissingPlugin = reasonCode === "MissingPlugin" || reasonCode === "MissingOneOfPlugins"; + const oldReasonCodes = { + AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter", + AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters", + ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference", + SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter", + SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter", + SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType" + }; + if (oldReasonCodes[reasonCode]) { + reasonCode = oldReasonCodes[reasonCode]; + } + return function constructor(loc, details) { + const error = new SyntaxError(); + error.code = code; + error.reasonCode = reasonCode; + error.loc = loc; + error.pos = loc.index; + error.syntaxPlugin = syntaxPlugin; + if (hasMissingPlugin) { + error.missingPlugin = details.missingPlugin; + } + defineHidden(error, "clone", function clone(overrides = {}) { + var _overrides$loc; + const { + line, + column, + index + } = (_overrides$loc = overrides.loc) != null ? _overrides$loc : loc; + return constructor(new Position(line, column, index), Object.assign({}, details, overrides.details)); + }); + defineHidden(error, "details", details); + Object.defineProperty(error, "message", { + configurable: true, + get() { + const message = `${toMessage(details)} (${loc.line}:${loc.column})`; + this.message = message; + return message; + }, + set(value) { + Object.defineProperty(this, "message", { + value, + writable: true + }); + } + }); + return error; + }; +} +function ParseErrorEnum(argument, syntaxPlugin) { + if (Array.isArray(argument)) { + return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]); + } + const ParseErrorConstructors = {}; + for (const reasonCode of Object.keys(argument)) { + const template = argument[reasonCode]; + const _ref = typeof template === "string" ? { + message: () => template + } : typeof template === "function" ? { + message: template + } : template, + { + message + } = _ref, + rest = _objectWithoutPropertiesLoose(_ref, _excluded); + const toMessage = typeof message === "string" ? () => message : message; + ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({ + code: "BABEL_PARSER_SYNTAX_ERROR", + reasonCode, + toMessage + }, syntaxPlugin ? { + syntaxPlugin + } : {}, rest)); + } + return ParseErrorConstructors; +} +const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum(ParseExpressionErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors), ParseErrorEnum`functionBind`(FunctionBindErrors)); +function createDefaultOptions() { + return { + sourceType: "script", + sourceFilename: undefined, + startIndex: 0, + startColumn: 0, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowNewTargetOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + allowYieldOutsideFunction: false, + plugins: [], + strictMode: undefined, + ranges: false, + tokens: false, + createImportExpressions: false, + createParenthesizedExpressions: false, + errorRecovery: false, + attachComment: true, + annexB: true + }; +} +function getOptions(opts) { + const options = createDefaultOptions(); + if (opts == null) { + return options; + } + if (opts.annexB != null && opts.annexB !== false) { + throw new Error("The `annexB` option can only be set to `false`."); + } + for (const key of Object.keys(options)) { + if (opts[key] != null) options[key] = opts[key]; + } + if (options.startLine === 1) { + if (opts.startIndex == null && options.startColumn > 0) { + options.startIndex = options.startColumn; + } else if (opts.startColumn == null && options.startIndex > 0) { + options.startColumn = options.startIndex; + } + } else if (opts.startColumn == null || opts.startIndex == null) { + if (opts.startIndex != null) { + throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`."); + } + } + if (options.sourceType === "commonjs") { + if (opts.allowAwaitOutsideFunction != null) { + throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`."); + } + if (opts.allowReturnOutsideFunction != null) { + throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`."); + } + if (opts.allowNewTargetOutsideFunction != null) { + throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`."); + } + } + return options; +} +const { + defineProperty +} = Object; +const toUnenumerable = (object, key) => { + if (object) { + defineProperty(object, key, { + enumerable: false, + value: object[key] + }); + } +}; +function toESTreeLocation(node) { + toUnenumerable(node.loc.start, "index"); + toUnenumerable(node.loc.end, "index"); + return node; +} +var estree = superClass => class ESTreeParserMixin extends superClass { + parse() { + const file = toESTreeLocation(super.parse()); + if (this.optionFlags & 256) { + file.tokens = file.tokens.map(toESTreeLocation); + } + return file; + } + parseRegExpLiteral({ + pattern, + flags + }) { + let regex = null; + try { + regex = new RegExp(pattern, flags); + } catch (_) {} + const node = this.estreeParseLiteral(regex); + node.regex = { + pattern, + flags + }; + return node; + } + parseBigIntLiteral(value) { + let bigInt; + try { + bigInt = BigInt(value); + } catch (_unused) { + bigInt = null; + } + const node = this.estreeParseLiteral(bigInt); + node.bigint = String(node.value || value); + return node; + } + parseDecimalLiteral(value) { + const decimal = null; + const node = this.estreeParseLiteral(decimal); + node.decimal = String(node.value || value); + return node; + } + estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + parseStringLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNumericLiteral(value) { + return this.estreeParseLiteral(value); + } + parseNullLiteral() { + return this.estreeParseLiteral(null); + } + parseBooleanLiteral(value) { + return this.estreeParseLiteral(value); + } + estreeParseChainExpression(node, endLoc) { + const chain = this.startNodeAtNode(node); + chain.expression = node; + return this.finishNodeAt(chain, "ChainExpression", endLoc); + } + directiveToStmt(directive) { + const expression = directive.value; + delete directive.value; + this.castNodeTo(expression, "Literal"); + expression.raw = expression.extra.raw; + expression.value = expression.extra.expressionValue; + const stmt = this.castNodeTo(directive, "ExpressionStatement"); + stmt.expression = expression; + stmt.directive = expression.extra.rawValue; + delete expression.extra; + return stmt; + } + fillOptionalPropertiesForTSESLint(node) {} + cloneEstreeStringLiteral(node) { + const { + start, + end, + loc, + range, + raw, + value + } = node; + const cloned = Object.create(node.constructor.prototype); + cloned.type = "Literal"; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.raw = raw; + cloned.value = value; + return cloned; + } + initFunction(node, isAsync) { + super.initFunction(node, isAsync); + node.expression = false; + } + checkDeclaration(node) { + if (node != null && this.isObjectProperty(node)) { + this.checkDeclaration(node.value); + } else { + super.checkDeclaration(node); + } + } + getObjectOrClassMethodParams(method) { + return method.value.params; + } + isValidDirective(stmt) { + var _stmt$expression$extr; + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized); + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + super.parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse); + const directiveStatements = node.directives.map(d => this.directiveToStmt(d)); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + parsePrivateName() { + const node = super.parsePrivateName(); + if (!this.getPluginOption("estree", "classFeatures")) { + return node; + } + return this.convertPrivateNameToPrivateIdentifier(node); + } + convertPrivateNameToPrivateIdentifier(node) { + const name = super.getPrivateNameSV(node); + delete node.id; + node.name = name; + return this.castNodeTo(node, "PrivateIdentifier"); + } + isPrivateName(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.isPrivateName(node); + } + return node.type === "PrivateIdentifier"; + } + getPrivateNameSV(node) { + if (!this.getPluginOption("estree", "classFeatures")) { + return super.getPrivateNameSV(node); + } + return node.name; + } + parseLiteral(value, type) { + const node = super.parseLiteral(value, type); + node.raw = node.extra.raw; + delete node.extra; + return node; + } + parseFunctionBody(node, allowExpression, isMethod = false) { + super.parseFunctionBody(node, allowExpression, isMethod); + node.expression = node.body.type !== "BlockStatement"; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + let funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + delete funcNode.kind; + const { + typeParameters + } = node; + if (typeParameters) { + delete node.typeParameters; + funcNode.typeParameters = typeParameters; + this.resetStartLocationFromNode(funcNode, typeParameters); + } + const valueNode = this.castNodeTo(funcNode, "FunctionExpression"); + node.value = valueNode; + if (type === "ClassPrivateMethod") { + node.computed = false; + } + if (type === "ObjectMethod") { + if (node.kind === "method") { + node.kind = "init"; + } + node.shorthand = false; + return this.finishNode(node, "Property"); + } else { + return this.finishNode(node, "MethodDefinition"); + } + } + nameIsConstructor(key) { + if (key.type === "Literal") return key.value === "constructor"; + return super.nameIsConstructor(key); + } + parseClassProperty(...args) { + const propertyNode = super.parseClassProperty(...args); + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + this.castNodeTo(propertyNode, "PropertyDefinition"); + return propertyNode; + } + parseClassPrivateProperty(...args) { + const propertyNode = super.parseClassPrivateProperty(...args); + if (!this.getPluginOption("estree", "classFeatures")) { + return propertyNode; + } + this.castNodeTo(propertyNode, "PropertyDefinition"); + propertyNode.computed = false; + return propertyNode; + } + parseClassAccessorProperty(node) { + const accessorPropertyNode = super.parseClassAccessorProperty(node); + if (!this.getPluginOption("estree", "classFeatures")) { + return accessorPropertyNode; + } + if (accessorPropertyNode.abstract && this.hasPlugin("typescript")) { + delete accessorPropertyNode.abstract; + this.castNodeTo(accessorPropertyNode, "TSAbstractAccessorProperty"); + } else { + this.castNodeTo(accessorPropertyNode, "AccessorProperty"); + } + return accessorPropertyNode; + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + const node = super.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (node) { + node.kind = "init"; + this.castNodeTo(node, "Property"); + } + return node; + } + finishObjectProperty(node) { + node.kind = "init"; + return this.finishNode(node, "Property"); + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + return type === "Property" ? "value" : super.isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding); + } + isAssignable(node, isBinding) { + if (node != null && this.isObjectProperty(node)) { + return this.isAssignable(node.value, isBinding); + } + return super.isAssignable(node, isBinding); + } + toAssignable(node, isLHS = false) { + if (node != null && this.isObjectProperty(node)) { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + } else { + super.toAssignable(node, isLHS); + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "Property" && (prop.kind === "get" || prop.kind === "set")) { + this.raise(Errors.PatternHasAccessor, prop.key); + } else if (prop.type === "Property" && prop.method) { + this.raise(Errors.PatternHasMethod, prop.key); + } else { + super.toAssignableObjectExpressionProp(prop, isLast, isLHS); + } + } + finishCallExpression(unfinished, optional) { + const node = super.finishCallExpression(unfinished, optional); + if (node.callee.type === "Import") { + var _ref, _ref2; + this.castNodeTo(node, "ImportExpression"); + node.source = node.arguments[0]; + node.options = (_ref = node.arguments[1]) != null ? _ref : null; + node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null; + delete node.arguments; + delete node.callee; + } else if (node.type === "OptionalCallExpression") { + this.castNodeTo(node, "CallExpression"); + } else { + node.optional = false; + } + return node; + } + toReferencedArguments(node) { + if (node.type === "ImportExpression") { + return; + } + super.toReferencedArguments(node); + } + parseExport(unfinished, decorators) { + const exportStartLoc = this.state.lastTokStartLoc; + const node = super.parseExport(unfinished, decorators); + switch (node.type) { + case "ExportAllDeclaration": + node.exported = null; + break; + case "ExportNamedDeclaration": + if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") { + this.castNodeTo(node, "ExportAllDeclaration"); + node.exported = node.specifiers[0].exported; + delete node.specifiers; + } + case "ExportDefaultDeclaration": + { + var _declaration$decorato; + const { + declaration + } = node; + if ((declaration == null ? void 0 : declaration.type) === "ClassDeclaration" && ((_declaration$decorato = declaration.decorators) == null ? void 0 : _declaration$decorato.length) > 0 && declaration.start === node.start) { + this.resetStartLocation(node, exportStartLoc); + } + } + break; + } + return node; + } + stopParseSubscript(base, state) { + const node = super.stopParseSubscript(base, state); + if (state.optionalChainMember) { + return this.estreeParseChainExpression(node, base.loc.end); + } + return node; + } + parseMember(base, startLoc, state, computed, optional) { + const node = super.parseMember(base, startLoc, state, computed, optional); + if (node.type === "OptionalMemberExpression") { + this.castNodeTo(node, "MemberExpression"); + } else { + node.optional = false; + } + return node; + } + isOptionalMemberExpression(node) { + if (node.type === "ChainExpression") { + return node.expression.type === "MemberExpression"; + } + return super.isOptionalMemberExpression(node); + } + hasPropertyAsPrivateName(node) { + if (node.type === "ChainExpression") { + node = node.expression; + } + return super.hasPropertyAsPrivateName(node); + } + isObjectProperty(node) { + return node.type === "Property" && node.kind === "init" && !node.method; + } + isObjectMethod(node) { + return node.type === "Property" && (node.method || node.kind === "get" || node.kind === "set"); + } + castNodeTo(node, type) { + const result = super.castNodeTo(node, type); + this.fillOptionalPropertiesForTSESLint(result); + return result; + } + cloneIdentifier(node) { + const cloned = super.cloneIdentifier(node); + this.fillOptionalPropertiesForTSESLint(cloned); + return cloned; + } + cloneStringLiteral(node) { + if (node.type === "Literal") { + return this.cloneEstreeStringLiteral(node); + } + return super.cloneStringLiteral(node); + } + finishNodeAt(node, type, endLoc) { + return toESTreeLocation(super.finishNodeAt(node, type, endLoc)); + } + finishNode(node, type) { + const result = super.finishNode(node, type); + this.fillOptionalPropertiesForTSESLint(result); + return result; + } + resetStartLocation(node, startLoc) { + super.resetStartLocation(node, startLoc); + toESTreeLocation(node); + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + super.resetEndLocation(node, endLoc); + toESTreeLocation(node); + } +}; +class TokContext { + constructor(token, preserveSpace) { + this.token = void 0; + this.preserveSpace = void 0; + this.token = token; + this.preserveSpace = !!preserveSpace; + } +} +const types = { + brace: new TokContext("{"), + j_oTag: new TokContext("...", true) +}; +types.template = new TokContext("`", true); +const beforeExpr = true; +const startsExpr = true; +const isLoop = true; +const isAssign = true; +const prefix = true; +const postfix = true; +class ExportedTokenType { + constructor(label, conf = {}) { + this.label = void 0; + this.keyword = void 0; + this.beforeExpr = void 0; + this.startsExpr = void 0; + this.rightAssociative = void 0; + this.isLoop = void 0; + this.isAssign = void 0; + this.prefix = void 0; + this.postfix = void 0; + this.binop = void 0; + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + this.updateContext = null; + } +} +const keywords$1 = new Map(); +function createKeyword(name, options = {}) { + options.keyword = name; + const token = createToken(name, options); + keywords$1.set(name, token); + return token; +} +function createBinop(name, binop) { + return createToken(name, { + beforeExpr, + binop + }); +} +let tokenTypeCounter = -1; +const tokenTypes = []; +const tokenLabels = []; +const tokenBinops = []; +const tokenBeforeExprs = []; +const tokenStartsExprs = []; +const tokenPrefixes = []; +function createToken(name, options = {}) { + var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix; + ++tokenTypeCounter; + tokenLabels.push(name); + tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1); + tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false); + tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false); + tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false); + tokenTypes.push(new ExportedTokenType(name, options)); + return tokenTypeCounter; +} +function createKeywordLike(name, options = {}) { + var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2; + ++tokenTypeCounter; + keywords$1.set(name, tokenTypeCounter); + tokenLabels.push(name); + tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1); + tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false); + tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false); + tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false); + tokenTypes.push(new ExportedTokenType("name", options)); + return tokenTypeCounter; +} +const tt = { + bracketL: createToken("[", { + beforeExpr, + startsExpr + }), + bracketHashL: createToken("#[", { + beforeExpr, + startsExpr + }), + bracketBarL: createToken("[|", { + beforeExpr, + startsExpr + }), + bracketR: createToken("]"), + bracketBarR: createToken("|]"), + braceL: createToken("{", { + beforeExpr, + startsExpr + }), + braceBarL: createToken("{|", { + beforeExpr, + startsExpr + }), + braceHashL: createToken("#{", { + beforeExpr, + startsExpr + }), + braceR: createToken("}"), + braceBarR: createToken("|}"), + parenL: createToken("(", { + beforeExpr, + startsExpr + }), + parenR: createToken(")"), + comma: createToken(",", { + beforeExpr + }), + semi: createToken(";", { + beforeExpr + }), + colon: createToken(":", { + beforeExpr + }), + doubleColon: createToken("::", { + beforeExpr + }), + dot: createToken("."), + question: createToken("?", { + beforeExpr + }), + questionDot: createToken("?."), + arrow: createToken("=>", { + beforeExpr + }), + template: createToken("template"), + ellipsis: createToken("...", { + beforeExpr + }), + backQuote: createToken("`", { + startsExpr + }), + dollarBraceL: createToken("${", { + beforeExpr, + startsExpr + }), + templateTail: createToken("...`", { + startsExpr + }), + templateNonTail: createToken("...${", { + beforeExpr, + startsExpr + }), + at: createToken("@"), + hash: createToken("#", { + startsExpr + }), + interpreterDirective: createToken("#!..."), + eq: createToken("=", { + beforeExpr, + isAssign + }), + assign: createToken("_=", { + beforeExpr, + isAssign + }), + slashAssign: createToken("_=", { + beforeExpr, + isAssign + }), + xorAssign: createToken("_=", { + beforeExpr, + isAssign + }), + moduloAssign: createToken("_=", { + beforeExpr, + isAssign + }), + incDec: createToken("++/--", { + prefix, + postfix, + startsExpr + }), + bang: createToken("!", { + beforeExpr, + prefix, + startsExpr + }), + tilde: createToken("~", { + beforeExpr, + prefix, + startsExpr + }), + doubleCaret: createToken("^^", { + startsExpr + }), + doubleAt: createToken("@@", { + startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 1), + logicalAND: createBinop("&&", 2), + bitwiseOR: createBinop("|", 3), + bitwiseXOR: createBinop("^", 4), + bitwiseAND: createBinop("&", 5), + equality: createBinop("==/!=/===/!==", 6), + lt: createBinop("/<=/>=", 7), + gt: createBinop("/<=/>=", 7), + relational: createBinop("/<=/>=", 7), + bitShift: createBinop("<>/>>>", 8), + bitShiftL: createBinop("<>/>>>", 8), + bitShiftR: createBinop("<>/>>>", 8), + plusMin: createToken("+/-", { + beforeExpr, + binop: 9, + prefix, + startsExpr + }), + modulo: createToken("%", { + binop: 10, + startsExpr + }), + star: createToken("*", { + binop: 10 + }), + slash: createBinop("/", 10), + exponent: createToken("**", { + beforeExpr, + binop: 11, + rightAssociative: true + }), + _in: createKeyword("in", { + beforeExpr, + binop: 7 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr, + binop: 7 + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr + }), + _else: createKeyword("else", { + beforeExpr + }), + _finally: createKeyword("finally"), + _function: createKeyword("function", { + startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr, + prefix, + startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr, + startsExpr + }), + _this: createKeyword("this", { + startsExpr + }), + _super: createKeyword("super", { + startsExpr + }), + _class: createKeyword("class", { + startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr + }), + _null: createKeyword("null", { + startsExpr + }), + _true: createKeyword("true", { + startsExpr + }), + _false: createKeyword("false", { + startsExpr + }), + _typeof: createKeyword("typeof", { + beforeExpr, + prefix, + startsExpr + }), + _void: createKeyword("void", { + beforeExpr, + prefix, + startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr, + prefix, + startsExpr + }), + _do: createKeyword("do", { + isLoop, + beforeExpr + }), + _for: createKeyword("for", { + isLoop + }), + _while: createKeyword("while", { + isLoop + }), + _as: createKeywordLike("as", { + startsExpr + }), + _assert: createKeywordLike("assert", { + startsExpr + }), + _async: createKeywordLike("async", { + startsExpr + }), + _await: createKeywordLike("await", { + startsExpr + }), + _defer: createKeywordLike("defer", { + startsExpr + }), + _from: createKeywordLike("from", { + startsExpr + }), + _get: createKeywordLike("get", { + startsExpr + }), + _let: createKeywordLike("let", { + startsExpr + }), + _meta: createKeywordLike("meta", { + startsExpr + }), + _of: createKeywordLike("of", { + startsExpr + }), + _sent: createKeywordLike("sent", { + startsExpr + }), + _set: createKeywordLike("set", { + startsExpr + }), + _source: createKeywordLike("source", { + startsExpr + }), + _static: createKeywordLike("static", { + startsExpr + }), + _using: createKeywordLike("using", { + startsExpr + }), + _yield: createKeywordLike("yield", { + startsExpr + }), + _asserts: createKeywordLike("asserts", { + startsExpr + }), + _checks: createKeywordLike("checks", { + startsExpr + }), + _exports: createKeywordLike("exports", { + startsExpr + }), + _global: createKeywordLike("global", { + startsExpr + }), + _implements: createKeywordLike("implements", { + startsExpr + }), + _intrinsic: createKeywordLike("intrinsic", { + startsExpr + }), + _infer: createKeywordLike("infer", { + startsExpr + }), + _is: createKeywordLike("is", { + startsExpr + }), + _mixins: createKeywordLike("mixins", { + startsExpr + }), + _proto: createKeywordLike("proto", { + startsExpr + }), + _require: createKeywordLike("require", { + startsExpr + }), + _satisfies: createKeywordLike("satisfies", { + startsExpr + }), + _keyof: createKeywordLike("keyof", { + startsExpr + }), + _readonly: createKeywordLike("readonly", { + startsExpr + }), + _unique: createKeywordLike("unique", { + startsExpr + }), + _abstract: createKeywordLike("abstract", { + startsExpr + }), + _declare: createKeywordLike("declare", { + startsExpr + }), + _enum: createKeywordLike("enum", { + startsExpr + }), + _module: createKeywordLike("module", { + startsExpr + }), + _namespace: createKeywordLike("namespace", { + startsExpr + }), + _interface: createKeywordLike("interface", { + startsExpr + }), + _type: createKeywordLike("type", { + startsExpr + }), + _opaque: createKeywordLike("opaque", { + startsExpr + }), + name: createToken("name", { + startsExpr + }), + placeholder: createToken("%%", { + startsExpr + }), + string: createToken("string", { + startsExpr + }), + num: createToken("num", { + startsExpr + }), + bigint: createToken("bigint", { + startsExpr + }), + decimal: createToken("decimal", { + startsExpr + }), + regexp: createToken("regexp", { + startsExpr + }), + privateName: createToken("#name", { + startsExpr + }), + eof: createToken("eof"), + jsxName: createToken("jsxName"), + jsxText: createToken("jsxText", { + beforeExpr + }), + jsxTagStart: createToken("jsxTagStart", { + startsExpr + }), + jsxTagEnd: createToken("jsxTagEnd") +}; +function tokenIsIdentifier(token) { + return token >= 93 && token <= 133; +} +function tokenKeywordOrIdentifierIsKeyword(token) { + return token <= 92; +} +function tokenIsKeywordOrIdentifier(token) { + return token >= 58 && token <= 133; +} +function tokenIsLiteralPropertyName(token) { + return token >= 58 && token <= 137; +} +function tokenComesBeforeExpression(token) { + return tokenBeforeExprs[token]; +} +function tokenCanStartExpression(token) { + return tokenStartsExprs[token]; +} +function tokenIsAssignment(token) { + return token >= 29 && token <= 33; +} +function tokenIsFlowInterfaceOrTypeOrOpaque(token) { + return token >= 129 && token <= 131; +} +function tokenIsLoop(token) { + return token >= 90 && token <= 92; +} +function tokenIsKeyword(token) { + return token >= 58 && token <= 92; +} +function tokenIsOperator(token) { + return token >= 39 && token <= 59; +} +function tokenIsPostfix(token) { + return token === 34; +} +function tokenIsPrefix(token) { + return tokenPrefixes[token]; +} +function tokenIsTSTypeOperator(token) { + return token >= 121 && token <= 123; +} +function tokenIsTSDeclarationStart(token) { + return token >= 124 && token <= 130; +} +function tokenLabelName(token) { + return tokenLabels[token]; +} +function tokenOperatorPrecedence(token) { + return tokenBinops[token]; +} +function tokenIsRightAssociative(token) { + return token === 57; +} +function tokenIsTemplate(token) { + return token >= 24 && token <= 25; +} +function getExportedToken(token) { + return tokenTypes[token]; +} +tokenTypes[8].updateContext = context => { + context.pop(); +}; +tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => { + context.push(types.brace); +}; +tokenTypes[22].updateContext = context => { + if (context[context.length - 1] === types.template) { + context.pop(); + } else { + context.push(types.template); + } +}; +tokenTypes[143].updateContext = context => { + context.push(types.j_expr, types.j_oTag); +}; +let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; +let nonASCIIidentifierChars = "\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; +const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489]; +const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; +function isInAstralSet(code, set) { + let pos = 0x10000; + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + return false; +} +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); +} +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} +const reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +const keywords = new Set(reservedWords.keyword); +const reservedWordsStrictSet = new Set(reservedWords.strict); +const reservedWordsStrictBindSet = new Set(reservedWords.strictBind); +function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +} +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} +function isKeyword(word) { + return keywords.has(word); +} +function isIteratorStart(current, next, next2) { + return current === 64 && next === 64 && isIdentifierStart(next2); +} +const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]); +function canBeReservedWord(word) { + return reservedWordLikeSet.has(word); +} +class Scope { + constructor(flags) { + this.flags = 0; + this.names = new Map(); + this.firstLexicalName = ""; + this.flags = flags; + } +} +class ScopeHandler { + constructor(parser, inModule) { + this.parser = void 0; + this.scopeStack = []; + this.inModule = void 0; + this.undefinedExports = new Map(); + this.parser = parser; + this.inModule = inModule; + } + get inTopLevel() { + return (this.currentScope().flags & 1) > 0; + } + get inFunction() { + return (this.currentVarScopeFlags() & 2) > 0; + } + get allowSuper() { + return (this.currentThisScopeFlags() & 16) > 0; + } + get allowDirectSuper() { + return (this.currentThisScopeFlags() & 32) > 0; + } + get allowNewTarget() { + return (this.currentThisScopeFlags() & 512) > 0; + } + get inClass() { + return (this.currentThisScopeFlags() & 64) > 0; + } + get inClassAndNotInNonArrowFunction() { + const flags = this.currentThisScopeFlags(); + return (flags & 64) > 0 && (flags & 2) === 0; + } + get inStaticBlock() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 128) { + return true; + } + if (flags & (1667 | 64)) { + return false; + } + } + } + get inNonArrowFunction() { + return (this.currentThisScopeFlags() & 2) > 0; + } + get inBareCaseStatement() { + return (this.currentScope().flags & 256) > 0; + } + get treatFunctionsAsVar() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + createScope(flags) { + return new Scope(flags); + } + enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + exit() { + const scope = this.scopeStack.pop(); + return scope.flags; + } + treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & (2 | 128) || !this.parser.inModule && scope.flags & 1); + } + declareName(name, bindingType, loc) { + let scope = this.currentScope(); + if (bindingType & 8 || bindingType & 16) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + let type = scope.names.get(name) || 0; + if (bindingType & 16) { + type = type | 4; + } else { + if (!scope.firstLexicalName) { + scope.firstLexicalName = name; + } + type = type | 2; + } + scope.names.set(name, type); + if (bindingType & 8) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & 4) { + for (let i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, loc); + scope.names.set(name, (scope.names.get(name) || 0) | 1); + this.maybeExportDefined(scope, name); + if (scope.flags & 1667) break; + } + } + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + maybeExportDefined(scope, name) { + if (this.parser.inModule && scope.flags & 1) { + this.undefinedExports.delete(name); + } + } + checkRedeclarationInScope(scope, name, bindingType, loc) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.parser.raise(Errors.VarRedeclaration, loc, { + identifierName: name + }); + } + } + isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & 1)) return false; + if (bindingType & 8) { + return scope.names.has(name); + } + const type = scope.names.get(name) || 0; + if (bindingType & 16) { + return (type & 2) > 0 || !this.treatFunctionsAsVarInScope(scope) && (type & 1) > 0; + } + return (type & 2) > 0 && !(scope.flags & 8 && scope.firstLexicalName === name) || !this.treatFunctionsAsVarInScope(scope) && (type & 4) > 0; + } + checkLocalExport(id) { + const { + name + } = id; + const topLevelScope = this.scopeStack[0]; + if (!topLevelScope.names.has(name)) { + this.undefinedExports.set(name, id.loc.start); + } + } + currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + currentVarScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & 1667) { + return flags; + } + } + } + currentThisScopeFlags() { + for (let i = this.scopeStack.length - 1;; i--) { + const { + flags + } = this.scopeStack[i]; + if (flags & (1667 | 64) && !(flags & 4)) { + return flags; + } + } + } +} +class FlowScope extends Scope { + constructor(...args) { + super(...args); + this.declareFunctions = new Set(); + } +} +class FlowScopeHandler extends ScopeHandler { + createScope(flags) { + return new FlowScope(flags); + } + declareName(name, bindingType, loc) { + const scope = this.currentScope(); + if (bindingType & 2048) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + scope.declareFunctions.add(name); + return; + } + super.declareName(name, bindingType, loc); + } + isRedeclaredInScope(scope, name, bindingType) { + if (super.isRedeclaredInScope(scope, name, bindingType)) return true; + if (bindingType & 2048 && !scope.declareFunctions.has(name)) { + const type = scope.names.get(name); + return (type & 4) > 0 || (type & 2) > 0; + } + return false; + } + checkLocalExport(id) { + if (!this.scopeStack[0].declareFunctions.has(id.name)) { + super.checkLocalExport(id); + } + } +} +const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]); +const FlowErrors = ParseErrorEnum`flow`({ + AmbiguousConditionalArrow: "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.", + AmbiguousDeclareModuleKind: "Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.", + AssignReservedType: ({ + reservedType + }) => `Cannot overwrite reserved type ${reservedType}.`, + DeclareClassElement: "The `declare` modifier can only appear on class fields.", + DeclareClassFieldInitializer: "Initializers are not allowed in fields with the `declare` modifier.", + DuplicateDeclareModuleExports: "Duplicate `declare module.exports` statement.", + EnumBooleanMemberNotInitialized: ({ + memberName, + enumName + }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`, + EnumDuplicateMemberName: ({ + memberName, + enumName + }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`, + EnumInconsistentMemberValues: ({ + enumName + }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`, + EnumInvalidExplicitType: ({ + invalidEnumType, + enumName + }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidExplicitTypeUnknownSupplied: ({ + enumName + }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerPrimaryType: ({ + enumName, + memberName, + explicitType + }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`, + EnumInvalidMemberInitializerSymbolType: ({ + enumName, + memberName + }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`, + EnumInvalidMemberInitializerUnknownType: ({ + enumName, + memberName + }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`, + EnumInvalidMemberName: ({ + enumName, + memberName, + suggestion + }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`, + EnumNumberMemberNotInitialized: ({ + enumName, + memberName + }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`, + EnumStringMemberInconsistentlyInitialized: ({ + enumName + }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`, + GetterMayNotHaveThisParam: "A getter cannot have a `this` parameter.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` or `typeof` keyword.", + ImportTypeShorthandOnlyInPureImport: "The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.", + InexactInsideExact: "Explicit inexact syntax cannot appear inside an explicit exact object type.", + InexactInsideNonObject: "Explicit inexact syntax cannot appear in class or interface definitions.", + InexactVariance: "Explicit inexact syntax cannot have variance.", + InvalidNonTypeImportInDeclareModule: "Imports within a `declare module` body must always be `import type` or `import typeof`.", + MissingTypeParamDefault: "Type parameter declaration needs a default, since a preceding type parameter declaration has a default.", + NestedDeclareModule: "`declare module` cannot be used inside another `declare module`.", + NestedFlowComment: "Cannot have a flow comment inside another flow comment.", + PatternIsOptional: Object.assign({ + message: "A binding pattern parameter cannot be optional in an implementation signature." + }, { + reasonCode: "OptionalBindingPattern" + }), + SetterMayNotHaveThisParam: "A setter cannot have a `this` parameter.", + SpreadVariance: "Spread properties cannot have variance.", + ThisParamAnnotationRequired: "A type annotation is required for the `this` parameter.", + ThisParamBannedInConstructor: "Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.", + ThisParamMayNotBeOptional: "The `this` parameter cannot be optional.", + ThisParamMustBeFirst: "The `this` parameter must be the first function parameter.", + ThisParamNoDefault: "The `this` parameter may not have a default value.", + TypeBeforeInitializer: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeCastInPattern: "The type cast expression is expected to be wrapped with parenthesis.", + UnexpectedExplicitInexactInObject: "Explicit inexact syntax must appear at the end of an inexact object.", + UnexpectedReservedType: ({ + reservedType + }) => `Unexpected reserved type ${reservedType}.`, + UnexpectedReservedUnderscore: "`_` is only allowed as a type argument to call or new.", + UnexpectedSpaceBetweenModuloChecks: "Spaces between `%` and `checks` are not allowed here.", + UnexpectedSpreadType: "Spread operator cannot appear in class or interface definitions.", + UnexpectedSubtractionOperand: 'Unexpected token, expected "number" or "bigint".', + UnexpectedTokenAfterTypeParameter: "Expected an arrow function after this type parameter declaration.", + UnexpectedTypeParameterBeforeAsyncArrowFunction: "Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.", + UnsupportedDeclareExportKind: ({ + unsupportedExportKind, + suggestion + }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`, + UnsupportedStatementInDeclareModule: "Only declares and type imports are allowed inside declare module.", + UnterminatedFlowComment: "Unterminated flow-comment." +}); +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} +const exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; +function partition(list, test) { + const list1 = []; + const list2 = []; + for (let i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + return [list1, list2]; +} +const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; +var flow = superClass => class FlowParserMixin extends superClass { + constructor(...args) { + super(...args); + this.flowPragma = undefined; + } + getScopeHandler() { + return FlowScopeHandler; + } + shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + finishToken(type, val) { + if (type !== 134 && type !== 13 && type !== 28) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + super.finishToken(type, val); + } + addComment(comment) { + if (this.flowPragma === undefined) { + const matches = FLOW_PRAGMA_REGEX.exec(comment.value); + if (!matches) ;else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + super.addComment(comment); + } + flowParseTypeInitialiser(tok) { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || 14); + const type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + flowParsePredicate() { + const node = this.startNode(); + const moduloLoc = this.state.startLoc; + this.next(); + this.expectContextual(110); + if (this.state.lastTokStartLoc.index > moduloLoc.index + 1) { + this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, moduloLoc); + } + if (this.eat(10)) { + node.value = super.parseExpression(); + this.expect(11); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + flowParseTypeAndPredicateInitialiser() { + const oldInType = this.state.inType; + this.state.inType = true; + this.expect(14); + let type = null; + let predicate = null; + if (this.match(54)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + if (this.match(54)) { + predicate = this.flowParsePredicate(); + } + } + return [type, predicate]; + } + flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + flowParseDeclareFunction(node) { + this.next(); + const id = node.id = this.parseIdentifier(); + const typeNode = this.startNode(); + const typeContainer = this.startNode(); + if (this.match(47)) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + this.expect(10); + const tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + typeNode.this = tmp._this; + this.expect(11); + [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + this.scope.declareName(node.id.name, 2048, node.id.loc.start); + return this.finishNode(node, "DeclareFunction"); + } + flowParseDeclare(node, insideModule) { + if (this.match(80)) { + return this.flowParseDeclareClass(node); + } else if (this.match(68)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(74)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual(127)) { + if (this.match(16)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(FlowErrors.NestedDeclareModule, this.state.lastTokStartLoc); + } + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual(130)) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual(131)) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual(129)) { + return this.flowParseDeclareInterface(node); + } else if (this.match(82)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } + throw this.unexpected(); + } + flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(); + this.scope.declareName(node.id.name, 5, node.id.loc.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + flowParseDeclareModule(node) { + this.scope.enter(0); + if (this.match(134)) { + node.id = super.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + const bodyNode = node.body = this.startNode(); + const body = bodyNode.body = []; + this.expect(5); + while (!this.match(8)) { + const bodyNode = this.startNode(); + if (this.match(83)) { + this.next(); + if (!this.isContextual(130) && !this.match(87)) { + this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, this.state.lastTokStartLoc); + } + body.push(super.parseImport(bodyNode)); + } else { + this.expectContextual(125, FlowErrors.UnsupportedStatementInDeclareModule); + body.push(this.flowParseDeclare(bodyNode, true)); + } + } + this.scope.exit(); + this.expect(8); + this.finishNode(bodyNode, "BlockStatement"); + let kind = null; + let hasModuleExport = false; + body.forEach(bodyElement => { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement); + } + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + this.raise(FlowErrors.DuplicateDeclareModuleExports, bodyElement); + } + if (kind === "ES") { + this.raise(FlowErrors.AmbiguousDeclareModuleKind, bodyElement); + } + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(82); + if (this.eat(65)) { + if (this.match(68) || this.match(80)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(75) || this.isLet() || (this.isContextual(130) || this.isContextual(129)) && !insideModule) { + const label = this.state.value; + throw this.raise(FlowErrors.UnsupportedDeclareExportKind, this.state.startLoc, { + unsupportedExportKind: label, + suggestion: exportSuggestions[label] + }); + } + if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(131)) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(55) || this.match(5) || this.isContextual(129) || this.isContextual(130) || this.isContextual(131)) { + node = this.parseExport(node, null); + if (node.type === "ExportNamedDeclaration") { + node.default = false; + delete node.exportKind; + return this.castNodeTo(node, "DeclareExportDeclaration"); + } else { + return this.castNodeTo(node, "DeclareExportAllDeclaration"); + } + } + } + throw this.unexpected(); + } + flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual(111); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + flowParseDeclareTypeAlias(node) { + this.next(); + const finished = this.flowParseTypeAlias(node); + this.castNodeTo(finished, "DeclareTypeAlias"); + return finished; + } + flowParseDeclareOpaqueType(node) { + this.next(); + const finished = this.flowParseOpaqueType(node, true); + this.castNodeTo(finished, "DeclareOpaqueType"); + return finished; + } + flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "DeclareInterface"); + } + flowParseInterfaceish(node, isClass) { + node.id = this.flowParseRestrictedIdentifier(!isClass, true); + this.scope.declareName(node.id.name, isClass ? 17 : 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(12)); + } + if (isClass) { + node.implements = []; + node.mixins = []; + if (this.eatContextual(117)) { + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + if (this.eatContextual(113)) { + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + } + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + flowParseInterfaceExtends() { + const node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + return this.finishNode(node, "InterfaceExtends"); + } + flowParseInterface(node) { + this.flowParseInterfaceish(node, false); + return this.finishNode(node, "InterfaceDeclaration"); + } + checkNotUnderscore(word) { + if (word === "_") { + this.raise(FlowErrors.UnexpectedReservedUnderscore, this.state.startLoc); + } + } + checkReservedType(word, startLoc, declaration) { + if (!reservedTypes.has(word)) return; + this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, startLoc, { + reservedType: word + }); + } + flowParseRestrictedIdentifierName(liberal, declaration) { + this.checkReservedType(this.state.value, this.state.startLoc, declaration); + return this.parseIdentifierName(liberal); + } + flowParseRestrictedIdentifier(liberal, declaration) { + const node = this.startNode(); + const name = this.flowParseRestrictedIdentifierName(liberal, declaration); + return this.createIdentifier(node, name); + } + flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(false, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.right = this.flowParseTypeInitialiser(29); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + flowParseOpaqueType(node, declare) { + this.expectContextual(130); + node.id = this.flowParseRestrictedIdentifier(true, true); + this.scope.declareName(node.id.name, 8201, node.id.loc.start); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + node.supertype = null; + if (this.match(14)) { + node.supertype = this.flowParseTypeInitialiser(14); + } + node.impltype = null; + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(29); + } + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + flowParseTypeParameterBound() { + if (this.match(14) || this.isContextual(81)) { + const node = this.startNode(); + this.next(); + node.typeAnnotation = this.flowParseType(); + return this.finishNode(node, "TypeAnnotation"); + } + } + flowParseTypeParameter(requireDefault = false) { + const nodeStartLoc = this.state.startLoc; + const node = this.startNode(); + const variance = this.flowParseVariance(); + node.name = this.flowParseRestrictedIdentifierName(); + node.variance = variance; + node.bound = this.flowParseTypeParameterBound(); + if (this.match(29)) { + this.eat(29); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(FlowErrors.MissingTypeParamDefault, nodeStartLoc); + } + } + return this.finishNode(node, "TypeParameter"); + } + flowParseTypeParameterDeclaration() { + const oldInType = this.state.inType; + const node = this.startNode(); + node.params = []; + this.state.inType = true; + if (this.match(47) || this.match(143)) { + this.next(); + } else { + this.unexpected(); + } + let defaultRequired = false; + do { + const typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + if (typeParameter.default) { + defaultRequired = true; + } + if (!this.match(48)) { + this.expect(12); + } + } while (!this.match(48)); + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + flowInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { + return cb(); + } + } + flowParseTypeParameterInstantiationInExpression() { + if (this.reScan_lt() !== 47) return; + return this.flowParseTypeParameterInstantiation(); + } + flowParseTypeParameterInstantiation() { + const node = this.startNode(); + const oldInType = this.state.inType; + this.state.inType = true; + node.params = []; + this.flowInTopLevelContext(() => { + this.expect(47); + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + while (!this.match(48)) { + node.params.push(this.flowParseType()); + if (!this.match(48)) { + this.expect(12); + } + } + this.state.noAnonFunctionType = oldNoAnonFunctionType; + }); + this.state.inType = oldInType; + if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseTypeParameterInstantiationCallOrNew() { + if (this.reScan_lt() !== 47) return null; + const node = this.startNode(); + const oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expect(47); + while (!this.match(48)) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + if (!this.match(48)) { + this.expect(12); + } + } + this.expect(48); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + flowParseInterfaceType() { + const node = this.startNode(); + this.expectContextual(129); + node.extends = []; + if (this.eat(81)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(12)); + } + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + flowParseObjectPropertyKey() { + return this.match(135) || this.match(134) ? super.parseExprAtom() : this.parseIdentifier(true); + } + flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + if (this.lookahead().type === 14) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + this.expect(3); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(3); + this.expect(3); + if (this.match(47) || this.match(10)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + } else { + node.method = false; + if (this.eat(17)) { + node.optional = true; + } + node.value = this.flowParseTypeInitialiser(); + } + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + node.this = null; + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + this.expect(10); + if (this.match(78)) { + node.this = this.flowParseFunctionTypeParam(true); + node.this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + node.params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + node.rest = this.flowParseFunctionTypeParam(false); + } + this.expect(11); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + flowParseObjectTypeCallProperty(node, isStatic) { + const valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + flowParseObjectType({ + allowStatic, + allowExact, + allowSpread, + allowProto, + allowInexact + }) { + const oldInType = this.state.inType; + this.state.inType = true; + const nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + let endDelim; + let exact; + let inexact = false; + if (allowExact && this.match(6)) { + this.expect(6); + endDelim = 9; + exact = true; + } else { + this.expect(5); + endDelim = 8; + exact = false; + } + nodeStart.exact = exact; + while (!this.match(endDelim)) { + let isStatic = false; + let protoStartLoc = null; + let inexactStartLoc = null; + const node = this.startNode(); + if (allowProto && this.isContextual(118)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + protoStartLoc = this.state.startLoc; + allowStatic = false; + } + } + if (allowStatic && this.isContextual(106)) { + const lookahead = this.lookahead(); + if (lookahead.type !== 14 && lookahead.type !== 17) { + this.next(); + isStatic = true; + } + } + const variance = this.flowParseVariance(); + if (this.eat(0)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (this.eat(0)) { + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(10) || this.match(47)) { + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + let kind = "init"; + if (this.isContextual(99) || this.isContextual(104)) { + const lookahead = this.lookahead(); + if (tokenIsLiteralPropertyName(lookahead.type)) { + kind = this.state.value; + this.next(); + } + } + const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact); + if (propOrInexact === null) { + inexact = true; + inexactStartLoc = this.state.lastTokStartLoc; + } else { + nodeStart.properties.push(propOrInexact); + } + } + this.flowObjectTypeSemicolon(); + if (inexactStartLoc && !this.match(8) && !this.match(9)) { + this.raise(FlowErrors.UnexpectedExplicitInexactInObject, inexactStartLoc); + } + } + this.expect(endDelim); + if (allowSpread) { + nodeStart.inexact = inexact; + } + const out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) { + if (this.eat(21)) { + const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9); + if (isInexactToken) { + if (!allowSpread) { + this.raise(FlowErrors.InexactInsideNonObject, this.state.lastTokStartLoc); + } else if (!allowInexact) { + this.raise(FlowErrors.InexactInsideExact, this.state.lastTokStartLoc); + } + if (variance) { + this.raise(FlowErrors.InexactVariance, variance); + } + return null; + } + if (!allowSpread) { + this.raise(FlowErrors.UnexpectedSpreadType, this.state.lastTokStartLoc); + } + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.raise(FlowErrors.SpreadVariance, variance); + } + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStartLoc != null; + node.kind = kind; + let optional = false; + if (this.match(47) || this.match(10)) { + node.method = true; + if (protoStartLoc != null) { + this.unexpected(protoStartLoc); + } + if (variance) { + this.unexpected(variance.loc.start); + } + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start)); + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + if (!allowSpread && node.key.name === "constructor" && node.value.this) { + this.raise(FlowErrors.ThisParamBannedInConstructor, node.value.this); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + if (this.eat(17)) { + optional = true; + } + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + flowCheckGetterSetterParams(property) { + const paramCount = property.kind === "get" ? 0 : 1; + const length = property.value.params.length + (property.value.rest ? 1 : 0); + if (property.value.this) { + this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, property.value.this); + } + if (length !== paramCount) { + this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, property); + } + if (property.kind === "set" && property.value.rest) { + this.raise(Errors.BadSetterRestParameter, property); + } + } + flowObjectTypeSemicolon() { + if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) { + this.unexpected(); + } + } + flowParseQualifiedTypeIdentifier(startLoc, id) { + startLoc != null ? startLoc : startLoc = this.state.startLoc; + let node = id || this.flowParseRestrictedIdentifier(true); + while (this.eat(16)) { + const node2 = this.startNodeAt(startLoc); + node2.qualification = node; + node2.id = this.flowParseRestrictedIdentifier(true); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + return node; + } + flowParseGenericType(startLoc, id) { + const node = this.startNodeAt(startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startLoc, id); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + return this.finishNode(node, "GenericTypeAnnotation"); + } + flowParseTypeofType() { + const node = this.startNode(); + this.expect(87); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + flowParseTupleType() { + const node = this.startNode(); + node.types = []; + this.expect(0); + while (this.state.pos < this.length && !this.match(3)) { + node.types.push(this.flowParseType()); + if (this.match(3)) break; + this.expect(12); + } + this.expect(3); + return this.finishNode(node, "TupleTypeAnnotation"); + } + flowParseFunctionTypeParam(first) { + let name = null; + let optional = false; + let typeAnnotation = null; + const node = this.startNode(); + const lh = this.lookahead(); + const isThis = this.state.type === 78; + if (lh.type === 14 || lh.type === 17) { + if (isThis && !first) { + this.raise(FlowErrors.ThisParamMustBeFirst, node); + } + name = this.parseIdentifier(isThis); + if (this.eat(17)) { + optional = true; + if (isThis) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, node); + } + } + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + reinterpretTypeAsFunctionTypeParam(type) { + const node = this.startNodeAt(type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + flowParseFunctionTypeParams(params = []) { + let rest = null; + let _this = null; + if (this.match(78)) { + _this = this.flowParseFunctionTypeParam(true); + _this.name = null; + if (!this.match(11)) { + this.expect(12); + } + } + while (!this.match(11) && !this.match(21)) { + params.push(this.flowParseFunctionTypeParam(false)); + if (!this.match(11)) { + this.expect(12); + } + } + if (this.eat(21)) { + rest = this.flowParseFunctionTypeParam(false); + } + return { + params, + rest, + _this + }; + } + flowIdentToTypeAnnotation(startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + case "symbol": + return this.finishNode(node, "SymbolTypeAnnotation"); + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startLoc, id); + } + } + flowParsePrimaryType() { + const startLoc = this.state.startLoc; + const node = this.startNode(); + let tmp; + let type; + let isGroupedType = false; + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + switch (this.state.type) { + case 5: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + case 6: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + case 0: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + case 47: + { + const node = this.startNode(); + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(10); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + case 10: + { + const node = this.startNode(); + this.next(); + if (!this.match(11) && !this.match(21)) { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + const token = this.lookahead().type; + isGroupedType = token !== 17 && token !== 14; + } else { + isGroupedType = true; + } + } + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) { + this.expect(11); + return type; + } else { + this.eat(12); + } + } + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + node.params = tmp.params; + node.rest = tmp.rest; + node.this = tmp._this; + this.expect(11); + this.expect(19); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + case 134: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + case 85: + case 86: + node.value = this.match(85); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + case 53: + if (this.state.value === "-") { + this.next(); + if (this.match(135)) { + return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node); + } + if (this.match(136)) { + return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node); + } + throw this.raise(FlowErrors.UnexpectedSubtractionOperand, this.state.startLoc); + } + throw this.unexpected(); + case 135: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + case 136: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + case 88: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + case 84: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + case 78: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + case 55: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + case 87: + return this.flowParseTypeofType(); + default: + if (tokenIsKeyword(this.state.type)) { + const label = tokenLabelName(this.state.type); + this.next(); + return super.createIdentifier(node, label); + } else if (tokenIsIdentifier(this.state.type)) { + if (this.isContextual(129)) { + return this.flowParseInterfaceType(); + } + return this.flowIdentToTypeAnnotation(startLoc, node, this.parseIdentifier()); + } + } + throw this.unexpected(); + } + flowParsePostfixType() { + const startLoc = this.state.startLoc; + let type = this.flowParsePrimaryType(); + let seenOptionalIndexedAccess = false; + while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + const optional = this.eat(18); + seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional; + this.expect(0); + if (!optional && this.match(3)) { + node.elementType = type; + this.next(); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } else { + node.objectType = type; + node.indexType = this.flowParseType(); + this.expect(3); + if (seenOptionalIndexedAccess) { + node.optional = optional; + type = this.finishNode(node, "OptionalIndexedAccessType"); + } else { + type = this.finishNode(node, "IndexedAccessType"); + } + } + } + return type; + } + flowParsePrefixType() { + const node = this.startNode(); + if (this.eat(17)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + flowParseAnonFunctionWithoutParens() { + const param = this.flowParsePrefixType(); + if (!this.state.noAnonFunctionType && this.eat(19)) { + const node = this.startNodeAt(param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.this = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + return param; + } + flowParseIntersectionType() { + const node = this.startNode(); + this.eat(45); + const type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + while (this.eat(45)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + flowParseUnionType() { + const node = this.startNode(); + this.eat(43); + const type = this.flowParseIntersectionType(); + node.types = [type]; + while (this.eat(43)) { + node.types.push(this.flowParseIntersectionType()); + } + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + flowParseType() { + const oldInType = this.state.inType; + this.state.inType = true; + const type = this.flowParseUnionType(); + this.state.inType = oldInType; + return type; + } + flowParseTypeOrImplicitInstantiation() { + if (this.state.type === 132 && this.state.value === "_") { + const startLoc = this.state.startLoc; + const node = this.parseIdentifier(); + return this.flowParseGenericType(startLoc, node); + } else { + return this.flowParseType(); + } + } + flowParseTypeAnnotation() { + const node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + flowParseTypeAnnotatableIdentifier() { + const node = this.startNode(); + const name = this.parseIdentifierName(); + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return this.createIdentifier(node, name); + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + flowParseVariance() { + let variance = null; + if (this.match(53)) { + variance = this.startNode(); + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + this.next(); + return this.finishNode(variance, "Variance"); + } + return variance; + } + parseFunctionBody(node, allowExpressionBody, isMethod = false) { + if (allowExpressionBody) { + this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod)); + return; + } + super.parseFunctionBody(node, false, isMethod); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + parseStatementLike(flags) { + if (this.state.strict && this.isContextual(129)) { + const lookahead = this.lookahead(); + if (tokenIsKeywordOrIdentifier(lookahead.type)) { + const node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } + } else if (this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + const stmt = super.parseStatementLike(flags); + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + return stmt; + } + parseExpressionStatement(node, expr, decorators) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) { + return this.flowParseDeclare(node); + } + } else if (tokenIsIdentifier(this.state.type)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + return super.parseExpressionStatement(node, expr, decorators); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { + return !this.state.containsEsc; + } + return super.shouldParseExportDeclaration(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (type === 126 || tokenIsFlowInterfaceOrTypeOrOpaque(type)) { + return this.state.containsEsc; + } + return super.isExportDefaultSpecifier(); + } + parseExportDefaultExpression() { + if (this.isContextual(126)) { + const node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + return super.parseExportDefaultExpression(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + this.expect(17); + const state = this.state.clone(); + const originalNoArrowAt = this.state.noArrowAt; + const node = this.startNodeAt(startLoc); + let { + consequent, + failed + } = this.tryParseConditionalConsequent(); + let [valid, invalid] = this.getArrowLikeExpressions(consequent); + if (failed || invalid.length > 0) { + const noArrowAt = [...originalNoArrowAt]; + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + for (let i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + [valid, invalid] = this.getArrowLikeExpressions(consequent); + } + if (failed && valid.length > 1) { + this.raise(FlowErrors.AmbiguousConditionalArrow, state.startLoc); + } + if (failed && valid.length === 1) { + this.state = state; + noArrowAt.push(valid[0].start); + this.state.noArrowAt = noArrowAt; + ({ + consequent, + failed + } = this.tryParseConditionalConsequent()); + } + } + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(14); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined)); + return this.finishNode(node, "ConditionalExpression"); + } + tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + const consequent = this.parseMaybeAssignAllowIn(); + const failed = !this.match(14); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent, + failed + }; + } + getArrowLikeExpressions(node, disallowInvalid) { + const stack = [node]; + const arrows = []; + while (stack.length !== 0) { + const node = stack.pop(); + if (node.type === "ArrowFunctionExpression") { + if (node.typeParameters || !node.returnType) { + this.finishArrowValidation(node); + } else { + arrows.push(node); + } + if (node.body.type !== "BlockStatement") { + stack.push(node.body); + } + } else if (node.type === "ConditionalExpression") { + stack.push(node.consequent); + stack.push(node.alternate); + } + } + if (disallowInvalid) { + arrows.forEach(node => this.finishArrowValidation(node)); + return [arrows, []]; + } + return partition(arrows, node => node.params.every(param => this.isAssignable(param, true))); + } + finishArrowValidation(node) { + var _node$extra; + this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false); + this.scope.enter(514 | 4); + super.checkParams(node, false, true); + this.scope.exit(); + } + forwardNoArrowParamsConversionAt(node, parse) { + let result; + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + return result; + } + parseParenItem(node, startLoc) { + const newNode = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + newNode.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = newNode; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + return newNode; + } + assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + super.assertModuleNodeAllowed(node); + } + parseExportDeclaration(node) { + if (this.isContextual(130)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + if (this.match(5)) { + node.specifiers = this.parseExportSpecifiers(true); + super.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual(131)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseOpaqueType(declarationNode, false); + } else if (this.isContextual(129)) { + node.exportKind = "type"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseInterface(declarationNode); + } else if (this.isContextual(126)) { + node.exportKind = "value"; + const declarationNode = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(declarationNode); + } else { + return super.parseExportDeclaration(node); + } + } + eatExportStar(node) { + if (super.eatExportStar(node)) return true; + if (this.isContextual(130) && this.lookahead().type === 55) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + const { + startLoc + } = this.state; + const hasNamespace = super.maybeParseExportNamespaceSpecifier(node); + if (hasNamespace && node.exportKind === "type") { + this.unexpected(startLoc); + } + return hasNamespace; + } + parseClassId(node, isStatement, optionalId) { + super.parseClassId(node, isStatement, optionalId); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + parseClassMember(classBody, member, state) { + const { + startLoc + } = this.state; + if (this.isContextual(125)) { + if (super.parseClassMemberFromModifier(classBody, member)) { + return; + } + member.declare = true; + } + super.parseClassMember(classBody, member, state); + if (member.declare) { + if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") { + this.raise(FlowErrors.DeclareClassElement, startLoc); + } else if (member.value) { + this.raise(FlowErrors.DeclareClassFieldInitializer, member.value); + } + } + } + isIterator(word) { + return word === "iterator" || word === "asyncIterator"; + } + readIterator() { + const word = super.readWord1(); + const fullWord = "@@" + word; + if (!this.isIterator(word) || !this.state.inType) { + this.raise(Errors.InvalidIdentifier, this.state.curPosition(), { + identifierName: fullWord + }); + } + this.finishToken(132, fullWord); + } + getTokenFromCode(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 123 && next === 124) { + this.finishOp(6, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + this.finishOp(code === 62 ? 48 : 47, 1); + } else if (this.state.inType && code === 63) { + if (next === 46) { + this.finishOp(18, 2); + } else { + this.finishOp(17, 1); + } + } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) { + this.state.pos += 2; + this.readIterator(); + } else { + super.getTokenFromCode(code); + } + } + isAssignable(node, isBinding) { + if (node.type === "TypeCastExpression") { + return this.isAssignable(node.expression, isBinding); + } else { + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + super.toAssignable(node, isLHS); + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + for (let i = 0; i < exprList.length; i++) { + const expr = exprList[i]; + if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + super.toAssignableList(exprList, trailingCommaLoc, isLHS); + } + toReferencedList(exprList, isParenthesizedExpr) { + for (let i = 0; i < exprList.length; i++) { + var _expr$extra; + const expr = exprList[i]; + if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(FlowErrors.TypeCastInPattern, expr.typeAnnotation); + } + } + return exprList; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, isTuple, refExpressionErrors); + if (refExpressionErrors != null && !this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + return node; + } + isValidLVal(type, disallowCallExpression, isParenthesized, binding) { + return type === "TypeCastExpression" || super.isValidLVal(type, disallowCallExpression, isParenthesized, binding); + } + parseClassProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (this.match(14)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + return super.parseClassPrivateProperty(node); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(14) || super.isClassProperty(); + } + isNonstaticConstructor(method) { + return !this.match(14) && super.isNonstaticConstructor(method); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + if (method.params && isConstructor) { + const params = method.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, method); + } + } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) { + const params = method.value.params; + if (params.length > 0 && this.isThisParam(params[0])) { + this.raise(FlowErrors.ThisParamBannedInConstructor, method); + } + } + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.loc.start); + } + delete method.variance; + if (this.match(47)) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass && (this.match(47) || this.match(51))) { + node.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression(); + } + if (this.isContextual(113)) { + this.next(); + const implemented = node.implements = []; + do { + const node = this.startNode(); + node.id = this.flowParseRestrictedIdentifier(true); + if (this.match(47)) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + implemented.push(this.finishNode(node, "ClassImplements")); + } while (this.eat(12)); + } + } + checkGetterSetterParams(method) { + super.checkGetterSetterParams(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length > 0) { + const param = params[0]; + if (this.isThisParam(param) && method.kind === "get") { + this.raise(FlowErrors.GetterMayNotHaveThisParam, param); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.SetterMayNotHaveThisParam, param); + } + } + } + parsePropertyNamePrefixOperator(node) { + node.variance = this.flowParseVariance(); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + if (prop.variance) { + this.unexpected(prop.variance.loc.start); + } + delete prop.variance; + let typeParameters; + if (this.match(47) && !isAccessor) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(10)) this.unexpected(); + } + const result = super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + if (typeParameters) { + (result.value || result).typeParameters = typeParameters; + } + return result; + } + parseFunctionParamType(param) { + if (this.eat(17)) { + if (param.type !== "Identifier") { + this.raise(FlowErrors.PatternIsOptional, param); + } + if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamMayNotBeOptional, param); + } + param.optional = true; + } + if (this.match(14)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } else if (this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamAnnotationRequired, param); + } + if (this.match(29) && this.isThisParam(param)) { + this.raise(FlowErrors.ThisParamNoDefault, param); + } + this.resetEndLocation(param); + return param; + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(FlowErrors.TypeBeforeInitializer, node.typeAnnotation); + } + return node; + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(FlowErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start); + } + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + if (!isExport) return true; + const ch = this.lookaheadCharCode(); + return ch === 123 || ch === 42; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + if (!phase && this.match(65)) { + return; + } + node.exportKind = phase === "type" ? phase : "value"; + } else { + if (phase === "type" && this.match(55)) this.unexpected(); + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + const firstIdent = specifier.imported; + let specifierTypeKind = null; + if (firstIdent.type === "Identifier") { + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + } + let isBinding = false; + if (this.isContextual(93) && !this.isLookaheadContextual("as")) { + const as_ident = this.parseIdentifier(true); + if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = this.cloneIdentifier(as_ident); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else { + if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + } else { + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, specifier, { + importName: firstIdent.value + }); + } + specifier.imported = firstIdent; + specifier.importKind = null; + } + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = this.cloneIdentifier(specifier.imported); + } + } + const specifierIsTypeImport = hasTypeImportKind(specifier); + if (isInTypeOnlyImport && specifierIsTypeImport) { + this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, specifier); + } + if (isInTypeOnlyImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.loc.start, true); + } + if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true); + } + return this.finishImportSpecifier(specifier, "ImportSpecifier"); + } + parseBindingAtom() { + switch (this.state.type) { + case 78: + return this.parseIdentifier(true); + default: + return super.parseBindingAtom(); + } + } + parseFunctionParams(node, isConstructor) { + const kind = node.kind; + if (kind !== "get" && kind !== "set" && this.match(47)) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (this.match(14)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx; + let state = null; + let jsx; + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if ((_jsx = jsx) != null && _jsx.error || this.match(47)) { + var _jsx2, _jsx3; + state = state || this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _arrowExpression$extr; + typeParameters = this.flowParseTypeParameterDeclaration(); + const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => { + const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + this.resetStartLocationFromNode(result, typeParameters); + return result; + }); + if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort(); + const expr = this.maybeUnwrapTypeCastExpression(arrowExpression); + if (expr.type !== "ArrowFunctionExpression") abort(); + expr.typeParameters = typeParameters; + this.resetStartLocationFromNode(expr, typeParameters); + return arrowExpression; + }, state); + let arrowExpression = null; + if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") { + if (!arrow.error && !arrow.aborted) { + if (arrow.node.async) { + this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, typeParameters); + } + return arrow.node; + } + arrowExpression = arrow.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, typeParameters); + } + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(() => { + const oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + const typeNode = this.startNode(); + [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + if (this.canInsertSemicolon()) this.unexpected(); + if (!this.match(19)) this.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + return super.parseArrow(node); + } + shouldParseArrow(params) { + return this.match(14) || super.shouldParseArrow(params); + } + setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + node.params = params; + } else { + super.setArrowFunctionParameters(node, params); + } + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(node.start))) { + return; + } + for (let i = 0; i < node.params.length; i++) { + if (this.isThisParam(node.params[i]) && i > 0) { + this.raise(FlowErrors.ThisParamMustBeFirst, node.params[i]); + } + } + super.checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged); + } + parseParenAndDistinguishExpression(canBeArrow) { + return super.parseParenAndDistinguishExpression(canBeArrow && !this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start))); + } + parseSubscripts(base, startLoc, noCalls) { + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.includes(startLoc.index)) { + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = super.parseCallExpressionArguments(); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) { + const state = this.state.clone(); + const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startLoc) || abort(), state); + if (!arrow.error && !arrow.aborted) return arrow.node; + const result = this.tryParse(() => super.parseSubscripts(base, startLoc, noCalls), state); + if (result.node && !result.error) return result.node; + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + if (result.node) { + this.state = result.failState; + return result.node; + } + throw arrow.error || result.error; + } + return super.parseSubscripts(base, startLoc, noCalls); + } + parseSubscript(base, startLoc, noCalls, subscriptState) { + if (this.match(18) && this.isLookaheadToken_lt()) { + subscriptState.optionalChainMember = true; + if (noCalls) { + subscriptState.stop = true; + return base; + } + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); + this.expect(10); + node.arguments = this.parseCallExpressionArguments(); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && (this.match(47) || this.match(51))) { + const node = this.startNodeAt(startLoc); + node.callee = base; + const result = this.tryParse(() => { + node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew(); + this.expect(10); + node.arguments = super.parseCallExpressionArguments(); + if (subscriptState.optionalChainMember) { + node.optional = false; + } + return this.finishCallExpression(node, subscriptState.optionalChainMember); + }); + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + return super.parseSubscript(base, startLoc, noCalls, subscriptState); + } + parseNewCallee(node) { + super.parseNewCallee(node); + let targs = null; + if (this.shouldParseTypes() && this.match(47)) { + targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node; + } + node.typeArguments = targs; + } + parseAsyncArrowWithTypeParameters(startLoc) { + const node = this.startNodeAt(startLoc); + this.parseFunctionParams(node, false); + if (!this.parseArrow(node)) return; + return super.parseArrowExpression(node, undefined, true); + } + readToken_mult_modulo(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + super.readToken_mult_modulo(code); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (code === 124 && next === 125) { + this.finishOp(9, 2); + return; + } + super.readToken_pipe_amp(code); + } + parseTopLevel(file, program) { + const fileNode = super.parseTopLevel(file, program); + if (this.state.hasFlowComment) { + this.raise(FlowErrors.UnterminatedFlowComment, this.state.curPosition()); + } + return fileNode; + } + skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + throw this.raise(FlowErrors.NestedFlowComment, this.state.startLoc); + } + this.hasFlowCommentCompletion(); + const commentSkip = this.skipFlowComment(); + if (commentSkip) { + this.state.pos += commentSkip; + this.state.hasFlowComment = true; + } + return; + } + return super.skipBlockComment(this.state.hasFlowComment ? "*-/" : "*/"); + } + skipFlowComment() { + const { + pos + } = this.state; + let shiftToFirstNonWhiteSpace = 2; + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + return false; + } + hasFlowCommentCompletion() { + const end = this.input.indexOf("*/", this.state.pos); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, this.state.curPosition()); + } + } + flowEnumErrorBooleanMemberNotInitialized(loc, { + enumName, + memberName + }) { + this.raise(FlowErrors.EnumBooleanMemberNotInitialized, loc, { + memberName, + enumName + }); + } + flowEnumErrorInvalidMemberInitializer(loc, enumContext) { + return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, loc, enumContext); + } + flowEnumErrorNumberMemberNotInitialized(loc, details) { + this.raise(FlowErrors.EnumNumberMemberNotInitialized, loc, details); + } + flowEnumErrorStringMemberInconsistentlyInitialized(node, details) { + this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized, node, details); + } + flowEnumMemberInit() { + const startLoc = this.state.startLoc; + const endOfInit = () => this.match(12) || this.match(8); + switch (this.state.type) { + case 135: + { + const literal = this.parseNumericLiteral(this.state.value); + if (endOfInit()) { + return { + type: "number", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 134: + { + const literal = this.parseStringLiteral(this.state.value); + if (endOfInit()) { + return { + type: "string", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + case 85: + case 86: + { + const literal = this.parseBooleanLiteral(this.match(85)); + if (endOfInit()) { + return { + type: "boolean", + loc: literal.loc.start, + value: literal + }; + } + return { + type: "invalid", + loc: startLoc + }; + } + default: + return { + type: "invalid", + loc: startLoc + }; + } + } + flowEnumMemberRaw() { + const loc = this.state.startLoc; + const id = this.parseIdentifier(true); + const init = this.eat(29) ? this.flowEnumMemberInit() : { + type: "none", + loc + }; + return { + id, + init + }; + } + flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) { + const { + explicitType + } = context; + if (explicitType === null) { + return; + } + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(loc, context); + } + } + flowEnumMembers({ + enumName, + explicitType + }) { + const seenNames = new Set(); + const members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + let hasUnknownMembers = false; + while (!this.match(8)) { + if (this.eat(21)) { + hasUnknownMembers = true; + break; + } + const memberNode = this.startNode(); + const { + id, + init + } = this.flowEnumMemberRaw(); + const memberName = id.name; + if (memberName === "") { + continue; + } + if (/^[a-z]/.test(memberName)) { + this.raise(FlowErrors.EnumInvalidMemberName, id, { + memberName, + suggestion: memberName[0].toUpperCase() + memberName.slice(1), + enumName + }); + } + if (seenNames.has(memberName)) { + this.raise(FlowErrors.EnumDuplicateMemberName, id, { + memberName, + enumName + }); + } + seenNames.add(memberName); + const context = { + enumName, + explicitType, + memberName + }; + memberNode.id = id; + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context); + } + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context); + break; + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.loc, context); + break; + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + if (!this.match(8)) { + this.expect(12); + } + } + return { + members, + hasUnknownMembers + }; + } + flowEnumStringMembers(initializedMembers, defaultedMembers, { + enumName + }) { + if (initializedMembers.length === 0) { + return defaultedMembers; + } else if (defaultedMembers.length === 0) { + return initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + for (const member of initializedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return defaultedMembers; + } else { + for (const member of defaultedMembers) { + this.flowEnumErrorStringMemberInconsistentlyInitialized(member, { + enumName + }); + } + return initializedMembers; + } + } + flowEnumParseExplicitType({ + enumName + }) { + if (!this.eatContextual(102)) return null; + if (!tokenIsIdentifier(this.state.type)) { + throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, this.state.startLoc, { + enumName + }); + } + const { + value + } = this.state; + this.next(); + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.raise(FlowErrors.EnumInvalidExplicitType, this.state.startLoc, { + enumName, + invalidEnumType: value + }); + } + return value; + } + flowEnumBody(node, id) { + const enumName = id.name; + const nameLoc = id.loc.start; + const explicitType = this.flowEnumParseExplicitType({ + enumName + }); + this.expect(5); + const { + members, + hasUnknownMembers + } = this.flowEnumMembers({ + enumName, + explicitType + }); + node.hasUnknownMembers = hasUnknownMembers; + switch (explicitType) { + case "boolean": + node.explicitType = true; + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + case "number": + node.explicitType = true; + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + case "string": + node.explicitType = true; + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + case "symbol": + node.members = members.defaultedMembers; + this.expect(8); + return this.finishNode(node, "EnumSymbolBody"); + default: + { + const empty = () => { + node.members = []; + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + }; + node.explicitType = false; + const boolsLen = members.booleanMembers.length; + const numsLen = members.numberMembers.length; + const strsLen = members.stringMembers.length; + const defaultedLen = members.defaultedMembers.length; + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + return empty(); + } else if (!boolsLen && !numsLen) { + node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, { + enumName + }); + this.expect(8); + return this.finishNode(node, "EnumStringBody"); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.booleanMembers; + this.expect(8); + return this.finishNode(node, "EnumBooleanBody"); + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + for (const member of members.defaultedMembers) { + this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, { + enumName, + memberName: member.id.name + }); + } + node.members = members.numberMembers; + this.expect(8); + return this.finishNode(node, "EnumNumberBody"); + } else { + this.raise(FlowErrors.EnumInconsistentMemberValues, nameLoc, { + enumName + }); + return empty(); + } + } + } + } + flowParseEnumDeclaration(node) { + const id = this.parseIdentifier(); + node.id = id; + node.body = this.flowEnumBody(this.startNode(), id); + return this.finishNode(node, "EnumDeclaration"); + } + jsxParseOpeningElementAfterName(node) { + if (this.shouldParseTypes()) { + if (this.match(47) || this.match(51)) { + node.typeArguments = this.flowParseTypeParameterInstantiationInExpression(); + } + } + return super.jsxParseOpeningElementAfterName(node); + } + isLookaheadToken_lt() { + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 60) { + const afterNext = this.input.charCodeAt(next + 1); + return afterNext !== 60 && afterNext !== 61; + } + return false; + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + maybeUnwrapTypeCastExpression(node) { + return node.type === "TypeCastExpression" ? node.expression : node; + } +}; +const entities = { + __proto__: null, + quot: "\u0022", + amp: "&", + apos: "\u0027", + lt: "<", + gt: ">", + nbsp: "\u00A0", + iexcl: "\u00A1", + cent: "\u00A2", + pound: "\u00A3", + curren: "\u00A4", + yen: "\u00A5", + brvbar: "\u00A6", + sect: "\u00A7", + uml: "\u00A8", + copy: "\u00A9", + ordf: "\u00AA", + laquo: "\u00AB", + not: "\u00AC", + shy: "\u00AD", + reg: "\u00AE", + macr: "\u00AF", + deg: "\u00B0", + plusmn: "\u00B1", + sup2: "\u00B2", + sup3: "\u00B3", + acute: "\u00B4", + micro: "\u00B5", + para: "\u00B6", + middot: "\u00B7", + cedil: "\u00B8", + sup1: "\u00B9", + ordm: "\u00BA", + raquo: "\u00BB", + frac14: "\u00BC", + frac12: "\u00BD", + frac34: "\u00BE", + iquest: "\u00BF", + Agrave: "\u00C0", + Aacute: "\u00C1", + Acirc: "\u00C2", + Atilde: "\u00C3", + Auml: "\u00C4", + Aring: "\u00C5", + AElig: "\u00C6", + Ccedil: "\u00C7", + Egrave: "\u00C8", + Eacute: "\u00C9", + Ecirc: "\u00CA", + Euml: "\u00CB", + Igrave: "\u00CC", + Iacute: "\u00CD", + Icirc: "\u00CE", + Iuml: "\u00CF", + ETH: "\u00D0", + Ntilde: "\u00D1", + Ograve: "\u00D2", + Oacute: "\u00D3", + Ocirc: "\u00D4", + Otilde: "\u00D5", + Ouml: "\u00D6", + times: "\u00D7", + Oslash: "\u00D8", + Ugrave: "\u00D9", + Uacute: "\u00DA", + Ucirc: "\u00DB", + Uuml: "\u00DC", + Yacute: "\u00DD", + THORN: "\u00DE", + szlig: "\u00DF", + agrave: "\u00E0", + aacute: "\u00E1", + acirc: "\u00E2", + atilde: "\u00E3", + auml: "\u00E4", + aring: "\u00E5", + aelig: "\u00E6", + ccedil: "\u00E7", + egrave: "\u00E8", + eacute: "\u00E9", + ecirc: "\u00EA", + euml: "\u00EB", + igrave: "\u00EC", + iacute: "\u00ED", + icirc: "\u00EE", + iuml: "\u00EF", + eth: "\u00F0", + ntilde: "\u00F1", + ograve: "\u00F2", + oacute: "\u00F3", + ocirc: "\u00F4", + otilde: "\u00F5", + ouml: "\u00F6", + divide: "\u00F7", + oslash: "\u00F8", + ugrave: "\u00F9", + uacute: "\u00FA", + ucirc: "\u00FB", + uuml: "\u00FC", + yacute: "\u00FD", + thorn: "\u00FE", + yuml: "\u00FF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; +const lineBreak = /\r\n|[\r\n\u2028\u2029]/; +const lineBreakG = new RegExp(lineBreak.source, "g"); +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + default: + return false; + } +} +function hasNewLine(input, start, end) { + for (let i = start; i < end; i++) { + if (isNewLine(input.charCodeAt(i))) { + return true; + } + } + return false; +} +const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; +const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g; +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + default: + return false; + } +} +const JsxErrors = ParseErrorEnum`jsx`({ + AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.", + MissingClosingTagElement: ({ + openingTagName + }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`, + MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.", + UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?", + UnexpectedToken: ({ + unexpected, + HTMLEntity + }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`, + UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.", + UnterminatedJsxContent: "Unterminated JSX contents.", + UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?" +}); +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + throw new Error("Node had unexpected type: " + object.type); +} +var jsx = superClass => class JSXParserMixin extends superClass { + jsxReadToken() { + let out = ""; + let chunkStart = this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(JsxErrors.UnterminatedJsxContent, this.state.startLoc); + } + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.canStartJSXElement) { + ++this.state.pos; + this.finishToken(143); + } else { + super.getTokenFromCode(ch); + } + return; + } + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(142, out); + return; + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + case 62: + case 125: + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + } + jsxReadNewLine(normalizeCRLF) { + const ch = this.input.charCodeAt(this.state.pos); + let out; + ++this.state.pos; + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + jsxReadString(quote) { + let out = ""; + let chunkStart = ++this.state.pos; + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(Errors.UnterminatedString, this.state.startLoc); + } + const ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(134, out); + } + jsxReadEntity() { + const startPos = ++this.state.pos; + if (this.codePointAtPos(this.state.pos) === 35) { + ++this.state.pos; + let radix = 10; + if (this.codePointAtPos(this.state.pos) === 120) { + radix = 16; + ++this.state.pos; + } + const codePoint = this.readInt(radix, undefined, false, "bail"); + if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) { + ++this.state.pos; + return String.fromCodePoint(codePoint); + } + } else { + let count = 0; + let semi = false; + while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) === 59)) { + ++this.state.pos; + } + if (semi) { + const desc = this.input.slice(startPos, this.state.pos); + const entity = entities[desc]; + ++this.state.pos; + if (entity) { + return entity; + } + } + } + this.state.pos = startPos; + return "&"; + } + jsxReadWord() { + let ch; + const start = this.state.pos; + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + this.finishToken(141, this.input.slice(start, this.state.pos)); + } + jsxParseIdentifier() { + const node = this.startNode(); + if (this.match(141)) { + node.name = this.state.value; + } else if (tokenIsKeyword(this.state.type)) { + node.name = tokenLabelName(this.state.type); + } else { + this.unexpected(); + } + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + jsxParseNamespacedName() { + const startLoc = this.state.startLoc; + const name = this.jsxParseIdentifier(); + if (!this.eat(14)) return name; + const node = this.startNodeAt(startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + jsxParseElementName() { + const startLoc = this.state.startLoc; + let node = this.jsxParseNamespacedName(); + if (node.type === "JSXNamespacedName") { + return node; + } + while (this.eat(16)) { + const newNode = this.startNodeAt(startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + return node; + } + jsxParseAttributeValue() { + let node; + switch (this.state.type) { + case 5: + node = this.startNode(); + this.setContext(types.brace); + this.next(); + node = this.jsxParseExpressionContainer(node, types.j_oTag); + if (node.expression.type === "JSXEmptyExpression") { + this.raise(JsxErrors.AttributeIsEmpty, node); + } + return node; + case 143: + case 134: + return this.parseExprAtom(); + default: + throw this.raise(JsxErrors.UnsupportedJsxValue, this.state.startLoc); + } + } + jsxParseEmptyExpression() { + const node = this.startNodeAt(this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc); + } + jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadChild"); + } + jsxParseExpressionContainer(node, previousContext) { + if (this.match(8)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + const expression = this.parseExpression(); + node.expression = expression; + } + this.setContext(previousContext); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXExpressionContainer"); + } + jsxParseAttribute() { + const node = this.startNode(); + if (this.match(5)) { + this.setContext(types.brace); + this.next(); + this.expect(21); + node.argument = this.parseMaybeAssignAllowIn(); + this.setContext(types.j_oTag); + this.state.canStartJSXElement = true; + this.expect(8); + return this.finishNode(node, "JSXSpreadAttribute"); + } + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(29) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + jsxParseOpeningElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(144)) { + return this.finishNode(node, "JSXOpeningFragment"); + } + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + jsxParseOpeningElementAfterName(node) { + const attributes = []; + while (!this.match(56) && !this.match(144)) { + attributes.push(this.jsxParseAttribute()); + } + node.attributes = attributes; + node.selfClosing = this.eat(56); + this.expect(144); + return this.finishNode(node, "JSXOpeningElement"); + } + jsxParseClosingElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + if (this.eat(144)) { + return this.finishNode(node, "JSXClosingFragment"); + } + node.name = this.jsxParseElementName(); + this.expect(144); + return this.finishNode(node, "JSXClosingElement"); + } + jsxParseElementAt(startLoc) { + const node = this.startNodeAt(startLoc); + const children = []; + const openingElement = this.jsxParseOpeningElementAt(startLoc); + let closingElement = null; + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case 143: + startLoc = this.state.startLoc; + this.next(); + if (this.eat(56)) { + closingElement = this.jsxParseClosingElementAt(startLoc); + break contents; + } + children.push(this.jsxParseElementAt(startLoc)); + break; + case 142: + children.push(this.parseLiteral(this.state.value, "JSXText")); + break; + case 5: + { + const node = this.startNode(); + this.setContext(types.brace); + this.next(); + if (this.match(21)) { + children.push(this.jsxParseSpreadChild(node)); + } else { + children.push(this.jsxParseExpressionContainer(node, types.j_expr)); + } + break; + } + default: + this.unexpected(); + } + } + if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) { + this.raise(JsxErrors.MissingClosingTagFragment, closingElement); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(JsxErrors.MissingClosingTagElement, closingElement, { + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(JsxErrors.MissingClosingTagElement, closingElement, { + openingTagName: getQualifiedJSXName(openingElement.name) + }); + } + } + } + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + node.children = children; + if (this.match(47)) { + throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, this.state.startLoc); + } + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + jsxParseElement() { + const startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startLoc); + } + setContext(newContext) { + const { + context + } = this.state; + context[context.length - 1] = newContext; + } + parseExprAtom(refExpressionErrors) { + if (this.match(143)) { + return this.jsxParseElement(); + } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) { + this.replaceToken(143); + return this.jsxParseElement(); + } else { + return super.parseExprAtom(refExpressionErrors); + } + } + skipSpace() { + const curContext = this.curContext(); + if (!curContext.preserveSpace) super.skipSpace(); + } + getTokenFromCode(code) { + const context = this.curContext(); + if (context === types.j_expr) { + this.jsxReadToken(); + return; + } + if (context === types.j_oTag || context === types.j_cTag) { + if (isIdentifierStart(code)) { + this.jsxReadWord(); + return; + } + if (code === 62) { + ++this.state.pos; + this.finishToken(144); + return; + } + if ((code === 34 || code === 39) && context === types.j_oTag) { + this.jsxReadString(code); + return; + } + } + if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + this.finishToken(143); + return; + } + super.getTokenFromCode(code); + } + updateContext(prevType) { + const { + context, + type + } = this.state; + if (type === 56 && prevType === 143) { + context.splice(-2, 2, types.j_cTag); + this.state.canStartJSXElement = false; + } else if (type === 143) { + context.push(types.j_oTag); + } else if (type === 144) { + const out = context[context.length - 1]; + if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) { + context.pop(); + this.state.canStartJSXElement = context[context.length - 1] === types.j_expr; + } else { + this.setContext(types.j_expr); + this.state.canStartJSXElement = true; + } + } else { + this.state.canStartJSXElement = tokenComesBeforeExpression(type); + } + } +}; +class TypeScriptScope extends Scope { + constructor(...args) { + super(...args); + this.tsNames = new Map(); + } +} +class TypeScriptScopeHandler extends ScopeHandler { + constructor(...args) { + super(...args); + this.importsStack = []; + } + createScope(flags) { + this.importsStack.push(new Set()); + return new TypeScriptScope(flags); + } + enter(flags) { + if (flags === 1024) { + this.importsStack.push(new Set()); + } + super.enter(flags); + } + exit() { + const flags = super.exit(); + if (flags === 1024) { + this.importsStack.pop(); + } + return flags; + } + hasImport(name, allowShadow) { + const len = this.importsStack.length; + if (this.importsStack[len - 1].has(name)) { + return true; + } + if (!allowShadow && len > 1) { + for (let i = 0; i < len - 1; i++) { + if (this.importsStack[i].has(name)) return true; + } + } + return false; + } + declareName(name, bindingType, loc) { + if (bindingType & 4096) { + if (this.hasImport(name, true)) { + this.parser.raise(Errors.VarRedeclaration, loc, { + identifierName: name + }); + } + this.importsStack[this.importsStack.length - 1].add(name); + return; + } + const scope = this.currentScope(); + let type = scope.tsNames.get(name) || 0; + if (bindingType & 1024) { + this.maybeExportDefined(scope, name); + scope.tsNames.set(name, type | 16); + return; + } + super.declareName(name, bindingType, loc); + if (bindingType & 2) { + if (!(bindingType & 1)) { + this.checkRedeclarationInScope(scope, name, bindingType, loc); + this.maybeExportDefined(scope, name); + } + type = type | 1; + } + if (bindingType & 256) { + type = type | 2; + } + if (bindingType & 512) { + type = type | 4; + } + if (bindingType & 128) { + type = type | 8; + } + if (type) scope.tsNames.set(name, type); + } + isRedeclaredInScope(scope, name, bindingType) { + const type = scope.tsNames.get(name); + if ((type & 2) > 0) { + if (bindingType & 256) { + const isConst = !!(bindingType & 512); + const wasConst = (type & 4) > 0; + return isConst !== wasConst; + } + return true; + } + if (bindingType & 128 && (type & 8) > 0) { + if (scope.names.get(name) & 2) { + return !!(bindingType & 1); + } else { + return false; + } + } + if (bindingType & 2 && (type & 1) > 0) { + return true; + } + return super.isRedeclaredInScope(scope, name, bindingType); + } + checkLocalExport(id) { + const { + name + } = id; + if (this.hasImport(name)) return; + const len = this.scopeStack.length; + for (let i = len - 1; i >= 0; i--) { + const scope = this.scopeStack[i]; + const type = scope.tsNames.get(name); + if ((type & 1) > 0 || (type & 16) > 0) { + return; + } + } + super.checkLocalExport(id); + } +} +class ProductionParameterHandler { + constructor() { + this.stacks = []; + } + enter(flags) { + this.stacks.push(flags); + } + exit() { + this.stacks.pop(); + } + currentFlags() { + return this.stacks[this.stacks.length - 1]; + } + get hasAwait() { + return (this.currentFlags() & 2) > 0; + } + get hasYield() { + return (this.currentFlags() & 1) > 0; + } + get hasReturn() { + return (this.currentFlags() & 4) > 0; + } + get hasIn() { + return (this.currentFlags() & 8) > 0; + } +} +function functionFlags(isAsync, isGenerator) { + return (isAsync ? 2 : 0) | (isGenerator ? 1 : 0); +} +class BaseParser { + constructor() { + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + sourceToOffsetPos(sourcePos) { + return sourcePos + this.startIndex; + } + offsetToSourcePos(offsetPos) { + return offsetPos - this.startIndex; + } + hasPlugin(pluginConfig) { + if (typeof pluginConfig === "string") { + return this.plugins.has(pluginConfig); + } else { + const [pluginName, pluginOptions] = pluginConfig; + if (!this.hasPlugin(pluginName)) { + return false; + } + const actualOptions = this.plugins.get(pluginName); + for (const key of Object.keys(pluginOptions)) { + if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) { + return false; + } + } + return true; + } + } + getPluginOption(plugin, name) { + var _this$plugins$get; + return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name]; + } +} +function setTrailingComments(node, comments) { + if (node.trailingComments === undefined) { + node.trailingComments = comments; + } else { + node.trailingComments.unshift(...comments); + } +} +function setLeadingComments(node, comments) { + if (node.leadingComments === undefined) { + node.leadingComments = comments; + } else { + node.leadingComments.unshift(...comments); + } +} +function setInnerComments(node, comments) { + if (node.innerComments === undefined) { + node.innerComments = comments; + } else { + node.innerComments.unshift(...comments); + } +} +function adjustInnerComments(node, elements, commentWS) { + let lastElement = null; + let i = elements.length; + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + if (lastElement === null || lastElement.start > commentWS.start) { + setInnerComments(node, commentWS.comments); + } else { + setTrailingComments(lastElement, commentWS.comments); + } +} +class CommentsParser extends BaseParser { + addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + const { + commentsLen + } = this.state; + if (this.comments.length !== commentsLen) { + this.comments.length = commentsLen; + } + this.comments.push(comment); + this.state.commentsLen++; + } + processComment(node) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + const lastCommentWS = commentStack[i]; + if (lastCommentWS.start === node.end) { + lastCommentWS.leadingNode = node; + i--; + } + const { + start: nodeStart + } = node; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + if (commentEnd > nodeStart) { + commentWS.containingNode = node; + this.finalizeComment(commentWS); + commentStack.splice(i, 1); + } else { + if (commentEnd === nodeStart) { + commentWS.trailingNode = node; + } + break; + } + } + } + finalizeComment(commentWS) { + var _node$options; + const { + comments + } = commentWS; + if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) { + if (commentWS.leadingNode !== null) { + setTrailingComments(commentWS.leadingNode, comments); + } + if (commentWS.trailingNode !== null) { + setLeadingComments(commentWS.trailingNode, comments); + } + } else { + const node = commentWS.containingNode; + const commentStart = commentWS.start; + if (this.input.charCodeAt(this.offsetToSourcePos(commentStart) - 1) === 44) { + switch (node.type) { + case "ObjectExpression": + case "ObjectPattern": + adjustInnerComments(node, node.properties, commentWS); + break; + case "CallExpression": + case "NewExpression": + case "OptionalCallExpression": + adjustInnerComments(node, node.arguments, commentWS); + break; + case "ImportExpression": + adjustInnerComments(node, [node.source, (_node$options = node.options) != null ? _node$options : null], commentWS); + break; + case "FunctionDeclaration": + case "FunctionExpression": + case "ArrowFunctionExpression": + case "ObjectMethod": + case "ClassMethod": + case "ClassPrivateMethod": + case "TSTypeParameterDeclaration": + adjustInnerComments(node, node.params, commentWS); + break; + case "ArrayExpression": + case "ArrayPattern": + adjustInnerComments(node, node.elements, commentWS); + break; + case "ExportNamedDeclaration": + case "ImportDeclaration": + adjustInnerComments(node, node.specifiers, commentWS); + break; + case "TSEnumDeclaration": + adjustInnerComments(node, node.members, commentWS); + break; + case "TSEnumBody": + adjustInnerComments(node, node.members, commentWS); + break; + case "TSInterfaceBody": + adjustInnerComments(node, node.body, commentWS); + break; + default: + { + if (node.type === "RecordExpression") { + adjustInnerComments(node, node.properties, commentWS); + break; + } + if (node.type === "TupleExpression") { + adjustInnerComments(node, node.elements, commentWS); + break; + } + setInnerComments(node, comments); + } + } + } else { + setInnerComments(node, comments); + } + } + } + finalizeRemainingComments() { + const { + commentStack + } = this.state; + for (let i = commentStack.length - 1; i >= 0; i--) { + this.finalizeComment(commentStack[i]); + } + this.state.commentStack = []; + } + resetPreviousNodeTrailingComments(node) { + const { + commentStack + } = this.state; + const { + length + } = commentStack; + if (length === 0) return; + const commentWS = commentStack[length - 1]; + if (commentWS.leadingNode === node) { + commentWS.leadingNode = null; + } + } + takeSurroundingComments(node, start, end) { + const { + commentStack + } = this.state; + const commentStackLength = commentStack.length; + if (commentStackLength === 0) return; + let i = commentStackLength - 1; + for (; i >= 0; i--) { + const commentWS = commentStack[i]; + const commentEnd = commentWS.end; + const commentStart = commentWS.start; + if (commentStart === end) { + commentWS.leadingNode = node; + } else if (commentEnd === start) { + commentWS.trailingNode = node; + } else if (commentEnd < start) { + break; + } + } + } +} +class State { + constructor() { + this.flags = 1024; + this.startIndex = void 0; + this.curLine = void 0; + this.lineStart = void 0; + this.startLoc = void 0; + this.endLoc = void 0; + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.labels = []; + this.commentsLen = 0; + this.commentStack = []; + this.pos = 0; + this.type = 140; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.context = [types.brace]; + this.firstInvalidTemplateEscapePos = null; + this.strictErrors = new Map(); + this.tokensLength = 0; + } + get strict() { + return (this.flags & 1) > 0; + } + set strict(v) { + if (v) this.flags |= 1;else this.flags &= -2; + } + init({ + strictMode, + sourceType, + startIndex, + startLine, + startColumn + }) { + this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module"; + this.startIndex = startIndex; + this.curLine = startLine; + this.lineStart = -startColumn; + this.startLoc = this.endLoc = new Position(startLine, startColumn, startIndex); + } + get maybeInArrowParameters() { + return (this.flags & 2) > 0; + } + set maybeInArrowParameters(v) { + if (v) this.flags |= 2;else this.flags &= -3; + } + get inType() { + return (this.flags & 4) > 0; + } + set inType(v) { + if (v) this.flags |= 4;else this.flags &= -5; + } + get noAnonFunctionType() { + return (this.flags & 8) > 0; + } + set noAnonFunctionType(v) { + if (v) this.flags |= 8;else this.flags &= -9; + } + get hasFlowComment() { + return (this.flags & 16) > 0; + } + set hasFlowComment(v) { + if (v) this.flags |= 16;else this.flags &= -17; + } + get isAmbientContext() { + return (this.flags & 32) > 0; + } + set isAmbientContext(v) { + if (v) this.flags |= 32;else this.flags &= -33; + } + get inAbstractClass() { + return (this.flags & 64) > 0; + } + set inAbstractClass(v) { + if (v) this.flags |= 64;else this.flags &= -65; + } + get inDisallowConditionalTypesContext() { + return (this.flags & 128) > 0; + } + set inDisallowConditionalTypesContext(v) { + if (v) this.flags |= 128;else this.flags &= -129; + } + get soloAwait() { + return (this.flags & 256) > 0; + } + set soloAwait(v) { + if (v) this.flags |= 256;else this.flags &= -257; + } + get inFSharpPipelineDirectBody() { + return (this.flags & 512) > 0; + } + set inFSharpPipelineDirectBody(v) { + if (v) this.flags |= 512;else this.flags &= -513; + } + get canStartJSXElement() { + return (this.flags & 1024) > 0; + } + set canStartJSXElement(v) { + if (v) this.flags |= 1024;else this.flags &= -1025; + } + get containsEsc() { + return (this.flags & 2048) > 0; + } + set containsEsc(v) { + if (v) this.flags |= 2048;else this.flags &= -2049; + } + get hasTopLevelAwait() { + return (this.flags & 4096) > 0; + } + set hasTopLevelAwait(v) { + if (v) this.flags |= 4096;else this.flags &= -4097; + } + curPosition() { + return new Position(this.curLine, this.pos - this.lineStart, this.pos + this.startIndex); + } + clone() { + const state = new State(); + state.flags = this.flags; + state.startIndex = this.startIndex; + state.curLine = this.curLine; + state.lineStart = this.lineStart; + state.startLoc = this.startLoc; + state.endLoc = this.endLoc; + state.errors = this.errors.slice(); + state.potentialArrowAt = this.potentialArrowAt; + state.noArrowAt = this.noArrowAt.slice(); + state.noArrowParamsConversionAt = this.noArrowParamsConversionAt.slice(); + state.topicContext = this.topicContext; + state.labels = this.labels.slice(); + state.commentsLen = this.commentsLen; + state.commentStack = this.commentStack.slice(); + state.pos = this.pos; + state.type = this.type; + state.value = this.value; + state.start = this.start; + state.end = this.end; + state.lastTokEndLoc = this.lastTokEndLoc; + state.lastTokStartLoc = this.lastTokStartLoc; + state.context = this.context.slice(); + state.firstInvalidTemplateEscapePos = this.firstInvalidTemplateEscapePos; + state.strictErrors = this.strictErrors; + state.tokensLength = this.tokensLength; + return state; + } +} +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; +const forbiddenNumericSeparatorSiblings = { + decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]), + hex: new Set([46, 88, 95, 120]) +}; +const isAllowedNumericSeparatorSibling = { + bin: ch => ch === 48 || ch === 49, + oct: ch => ch >= 48 && ch <= 55, + dec: ch => ch >= 48 && ch <= 57, + hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102 +}; +function readStringContents(type, input, pos, lineStart, curLine, errors) { + const initialPos = pos; + const initialLineStart = lineStart; + const initialCurLine = curLine; + let out = ""; + let firstInvalidLoc = null; + let chunkStart = pos; + const { + length + } = input; + for (;;) { + if (pos >= length) { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + out += input.slice(chunkStart, pos); + break; + } + const ch = input.charCodeAt(pos); + if (isStringEnd(type, ch, input, pos)) { + out += input.slice(chunkStart, pos); + break; + } + if (ch === 92) { + out += input.slice(chunkStart, pos); + const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors); + if (res.ch === null && !firstInvalidLoc) { + firstInvalidLoc = { + pos, + lineStart, + curLine + }; + } else { + out += res.ch; + } + ({ + pos, + lineStart, + curLine + } = res); + chunkStart = pos; + } else if (ch === 8232 || ch === 8233) { + ++pos; + ++curLine; + lineStart = pos; + } else if (ch === 10 || ch === 13) { + if (type === "template") { + out += input.slice(chunkStart, pos) + "\n"; + ++pos; + if (ch === 13 && input.charCodeAt(pos) === 10) { + ++pos; + } + ++curLine; + chunkStart = lineStart = pos; + } else { + errors.unterminated(initialPos, initialLineStart, initialCurLine); + } + } else { + ++pos; + } + } + return { + pos, + str: out, + firstInvalidLoc, + lineStart, + curLine, + containsInvalid: !!firstInvalidLoc + }; +} +function isStringEnd(type, ch, input, pos) { + if (type === "template") { + return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123; + } + return ch === (type === "double" ? 34 : 39); +} +function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) { + const throwOnInvalid = !inTemplate; + pos++; + const res = ch => ({ + pos, + ch, + lineStart, + curLine + }); + const ch = input.charCodeAt(pos++); + switch (ch) { + case 110: + return res("\n"); + case 114: + return res("\r"); + case 120: + { + let code; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCharCode(code)); + } + case 117: + { + let code; + ({ + code, + pos + } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors)); + return res(code === null ? null : String.fromCodePoint(code)); + } + case 116: + return res("\t"); + case 98: + return res("\b"); + case 118: + return res("\u000b"); + case 102: + return res("\f"); + case 13: + if (input.charCodeAt(pos) === 10) { + ++pos; + } + case 10: + lineStart = pos; + ++curLine; + case 8232: + case 8233: + return res(""); + case 56: + case 57: + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(pos - 1, lineStart, curLine); + } + default: + if (ch >= 48 && ch <= 55) { + const startPos = pos - 1; + const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2)); + let octalStr = match[0]; + let octal = parseInt(octalStr, 8); + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + pos += octalStr.length - 1; + const next = input.charCodeAt(pos); + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + return res(null); + } else { + errors.strictNumericEscape(startPos, lineStart, curLine); + } + } + return res(String.fromCharCode(octal)); + } + return res(String.fromCharCode(ch)); + } +} +function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) { + const initialPos = pos; + let n; + ({ + n, + pos + } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid)); + if (n === null) { + if (throwOnInvalid) { + errors.invalidEscapeSequence(initialPos, lineStart, curLine); + } else { + pos = initialPos - 1; + } + } + return { + code: n, + pos + }; +} +function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) { + const start = pos; + const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin; + let invalid = false; + let total = 0; + for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) { + const code = input.charCodeAt(pos); + let val; + if (code === 95 && allowNumSeparator !== "bail") { + const prev = input.charCodeAt(pos - 1); + const next = input.charCodeAt(pos + 1); + if (!allowNumSeparator) { + if (bailOnError) return { + n: null, + pos + }; + errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine); + } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) { + if (bailOnError) return { + n: null, + pos + }; + errors.unexpectedNumericSeparator(pos, lineStart, curLine); + } + ++pos; + continue; + } + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + if (val >= radix) { + if (val <= 9 && bailOnError) { + return { + n: null, + pos + }; + } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) { + val = 0; + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + ++pos; + total = total * radix + val; + } + if (pos === start || len != null && pos - start !== len || invalid) { + return { + n: null, + pos + }; + } + return { + n: total, + pos + }; +} +function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) { + const ch = input.charCodeAt(pos); + let code; + if (ch === 123) { + ++pos; + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors)); + ++pos; + if (code !== null && code > 0x10ffff) { + if (throwOnInvalid) { + errors.invalidCodePoint(pos, lineStart, curLine); + } else { + return { + code: null, + pos + }; + } + } + } else { + ({ + code, + pos + } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors)); + } + return { + code, + pos + }; +} +function buildPosition(pos, lineStart, curLine) { + return new Position(curLine, pos - lineStart, pos); +} +const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]); +class Token { + constructor(state) { + const startIndex = state.startIndex || 0; + this.type = state.type; + this.value = state.value; + this.start = startIndex + state.start; + this.end = startIndex + state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); + } +} +class Tokenizer extends CommentsParser { + constructor(options, input) { + super(); + this.isLookahead = void 0; + this.tokens = []; + this.errorHandlers_readInt = { + invalidDigit: (pos, lineStart, curLine, radix) => { + if (!(this.optionFlags & 2048)) return false; + this.raise(Errors.InvalidDigit, buildPosition(pos, lineStart, curLine), { + radix + }); + return true; + }, + numericSeparatorInEscapeSequence: this.errorBuilder(Errors.NumericSeparatorInEscapeSequence), + unexpectedNumericSeparator: this.errorBuilder(Errors.UnexpectedNumericSeparator) + }; + this.errorHandlers_readCodePoint = Object.assign({}, this.errorHandlers_readInt, { + invalidEscapeSequence: this.errorBuilder(Errors.InvalidEscapeSequence), + invalidCodePoint: this.errorBuilder(Errors.InvalidCodePoint) + }); + this.errorHandlers_readStringContents_string = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: (pos, lineStart, curLine) => { + this.recordStrictModeErrors(Errors.StrictNumericEscape, buildPosition(pos, lineStart, curLine)); + }, + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedString, buildPosition(pos - 1, lineStart, curLine)); + } + }); + this.errorHandlers_readStringContents_template = Object.assign({}, this.errorHandlers_readCodePoint, { + strictNumericEscape: this.errorBuilder(Errors.StrictNumericEscape), + unterminated: (pos, lineStart, curLine) => { + throw this.raise(Errors.UnterminatedTemplate, buildPosition(pos, lineStart, curLine)); + } + }); + this.state = new State(); + this.state.init(options); + this.input = input; + this.length = input.length; + this.comments = []; + this.isLookahead = false; + } + pushToken(token) { + this.tokens.length = this.state.tokensLength; + this.tokens.push(token); + ++this.state.tokensLength; + } + next() { + this.checkKeywordEscapes(); + if (this.optionFlags & 256) { + this.pushToken(new Token(this.state)); + } + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + match(type) { + return this.state.type === type; + } + createLookaheadState(state) { + return { + pos: state.pos, + value: null, + type: state.type, + start: state.start, + end: state.end, + context: [this.curContext()], + inType: state.inType, + startLoc: state.startLoc, + lastTokEndLoc: state.lastTokEndLoc, + curLine: state.curLine, + lineStart: state.lineStart, + curPosition: state.curPosition + }; + } + lookahead() { + const old = this.state; + this.state = this.createLookaheadState(old); + this.isLookahead = true; + this.nextToken(); + this.isLookahead = false; + const curr = this.state; + this.state = old; + return curr; + } + nextTokenStart() { + return this.nextTokenStartSince(this.state.pos); + } + nextTokenStartSince(pos) { + skipWhiteSpace.lastIndex = pos; + return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos; + } + lookaheadCharCode() { + return this.lookaheadCharCodeSince(this.state.pos); + } + lookaheadCharCodeSince(pos) { + return this.input.charCodeAt(this.nextTokenStartSince(pos)); + } + nextTokenInLineStart() { + return this.nextTokenInLineStartSince(this.state.pos); + } + nextTokenInLineStartSince(pos) { + skipWhiteSpaceInLine.lastIndex = pos; + return skipWhiteSpaceInLine.test(this.input) ? skipWhiteSpaceInLine.lastIndex : pos; + } + lookaheadInLineCharCode() { + return this.input.charCodeAt(this.nextTokenInLineStart()); + } + codePointAtPos(pos) { + let cp = this.input.charCodeAt(pos); + if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) { + const trail = this.input.charCodeAt(pos); + if ((trail & 0xfc00) === 0xdc00) { + cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff); + } + } + return cp; + } + setStrict(strict) { + this.state.strict = strict; + if (strict) { + this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, at)); + this.state.strictErrors.clear(); + } + } + curContext() { + return this.state.context[this.state.context.length - 1]; + } + nextToken() { + this.skipSpace(); + this.state.start = this.state.pos; + if (!this.isLookahead) this.state.startLoc = this.state.curPosition(); + if (this.state.pos >= this.length) { + this.finishToken(140); + return; + } + this.getTokenFromCode(this.codePointAtPos(this.state.pos)); + } + skipBlockComment(commentEnd) { + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + const start = this.state.pos; + const end = this.input.indexOf(commentEnd, start + 2); + if (end === -1) { + throw this.raise(Errors.UnterminatedComment, this.state.curPosition()); + } + this.state.pos = end + commentEnd.length; + lineBreakG.lastIndex = start + 2; + while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) { + ++this.state.curLine; + this.state.lineStart = lineBreakG.lastIndex; + } + if (this.isLookahead) return; + const comment = { + type: "CommentBlock", + value: this.input.slice(start + 2, end), + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end + commentEnd.length), + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.optionFlags & 256) this.pushToken(comment); + return comment; + } + skipLineComment(startSkip) { + const start = this.state.pos; + let startLoc; + if (!this.isLookahead) startLoc = this.state.curPosition(); + let ch = this.input.charCodeAt(this.state.pos += startSkip); + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + if (this.isLookahead) return; + const end = this.state.pos; + const value = this.input.slice(start + startSkip, end); + const comment = { + type: "CommentLine", + value, + start: this.sourceToOffsetPos(start), + end: this.sourceToOffsetPos(end), + loc: new SourceLocation(startLoc, this.state.curPosition()) + }; + if (this.optionFlags & 256) this.pushToken(comment); + return comment; + } + skipSpace() { + const spaceStart = this.state.pos; + const comments = this.optionFlags & 4096 ? [] : null; + loop: while (this.state.pos < this.length) { + const ch = this.input.charCodeAt(this.state.pos); + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + { + const comment = this.skipBlockComment("*/"); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + break; + } + case 47: + { + const comment = this.skipLineComment(2); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + break; + } + default: + break loop; + } + break; + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else if (ch === 45 && !this.inModule && this.optionFlags & 8192) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) { + const comment = this.skipLineComment(3); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + } else { + break loop; + } + } else if (ch === 60 && !this.inModule && this.optionFlags & 8192) { + const pos = this.state.pos; + if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) { + const comment = this.skipLineComment(4); + if (comment !== undefined) { + this.addComment(comment); + comments == null || comments.push(comment); + } + } else { + break loop; + } + } else { + break loop; + } + } + } + if ((comments == null ? void 0 : comments.length) > 0) { + const end = this.state.pos; + const commentWhitespace = { + start: this.sourceToOffsetPos(spaceStart), + end: this.sourceToOffsetPos(end), + comments: comments, + leadingNode: null, + trailingNode: null, + containingNode: null + }; + this.state.commentStack.push(commentWhitespace); + } + } + finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + const prevType = this.state.type; + this.state.type = type; + this.state.value = val; + if (!this.isLookahead) { + this.updateContext(prevType); + } + } + replaceToken(type) { + this.state.type = type; + this.updateContext(); + } + readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + const nextPos = this.state.pos + 1; + const next = this.codePointAtPos(nextPos); + if (next >= 48 && next <= 57) { + throw this.raise(Errors.UnexpectedDigitAfterHash, this.state.curPosition()); + } + if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) { + this.expectPlugin("recordAndTuple"); + if (this.getPluginOption("recordAndTuple", "syntaxType") === "bar") { + throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + if (next === 123) { + this.finishToken(7); + } else { + this.finishToken(1); + } + } else if (isIdentifierStart(next)) { + ++this.state.pos; + this.finishToken(139, this.readWord1(next)); + } else if (next === 92) { + ++this.state.pos; + this.finishToken(139, this.readWord1()); + } else { + this.finishOp(27, 1); + } + } + readToken_dot() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(21); + } else { + ++this.state.pos; + this.finishToken(16); + } + } + readToken_slash() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(31, 2); + } else { + this.finishOp(56, 1); + } + } + readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + let ch = this.input.charCodeAt(this.state.pos + 1); + if (ch !== 33) return false; + const start = this.state.pos; + this.state.pos += 1; + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + const value = this.input.slice(start + 2, this.state.pos); + this.finishToken(28, value); + return true; + } + readToken_mult_modulo(code) { + let type = code === 42 ? 55 : 54; + let width = 1; + let next = this.input.charCodeAt(this.state.pos + 1); + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = 57; + } + if (next === 61 && !this.state.inType) { + width++; + type = code === 37 ? 33 : 30; + } + this.finishOp(type, width); + } + readToken_pipe_amp(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(code === 124 ? 41 : 42, 2); + } + return; + } + if (code === 124) { + if (next === 62) { + this.finishOp(39, 2); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 125) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(9); + return; + } + if (this.hasPlugin("recordAndTuple") && next === 93) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(4); + return; + } + } + if (next === 61) { + this.finishOp(30, 2); + return; + } + this.finishOp(code === 124 ? 43 : 45, 1); + } + readToken_caret() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61 && !this.state.inType) { + this.finishOp(32, 2); + } else if (next === 94 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "^^" + }])) { + this.finishOp(37, 2); + const lookaheadCh = this.input.codePointAt(this.state.pos); + if (lookaheadCh === 94) { + this.unexpected(); + } + } else { + this.finishOp(44, 1); + } + } + readToken_atSign() { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 64 && this.hasPlugin(["pipelineOperator", { + proposal: "hack", + topicToken: "@@" + }])) { + this.finishOp(38, 2); + } else { + this.finishOp(26, 1); + } + } + readToken_plus_min(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === code) { + this.finishOp(34, 2); + return; + } + if (next === 61) { + this.finishOp(30, 2); + } else { + this.finishOp(53, 1); + } + } + readToken_lt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 60) { + if (this.input.charCodeAt(pos + 2) === 61) { + this.finishOp(30, 3); + return; + } + this.finishOp(51, 2); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(47, 1); + } + readToken_gt() { + const { + pos + } = this.state; + const next = this.input.charCodeAt(pos + 1); + if (next === 62) { + const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(pos + size) === 61) { + this.finishOp(30, size + 1); + return; + } + this.finishOp(52, size); + return; + } + if (next === 61) { + this.finishOp(49, 2); + return; + } + this.finishOp(48, 1); + } + readToken_eq_excl(code) { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 61) { + this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(19); + return; + } + this.finishOp(code === 61 ? 29 : 35, 1); + } + readToken_question() { + const next = this.input.charCodeAt(this.state.pos + 1); + const next2 = this.input.charCodeAt(this.state.pos + 2); + if (next === 63) { + if (next2 === 61) { + this.finishOp(30, 3); + } else { + this.finishOp(40, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(18); + } else { + ++this.state.pos; + this.finishToken(17); + } + } + getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + case 40: + ++this.state.pos; + this.finishToken(10); + return; + case 41: + ++this.state.pos; + this.finishToken(11); + return; + case 59: + ++this.state.pos; + this.finishToken(13); + return; + case 44: + ++this.state.pos; + this.finishToken(12); + return; + case 91: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(2); + } else { + ++this.state.pos; + this.finishToken(0); + } + return; + case 93: + ++this.state.pos; + this.finishToken(3); + return; + case 123: + if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) { + if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") { + throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, this.state.curPosition()); + } + this.state.pos += 2; + this.finishToken(6); + } else { + ++this.state.pos; + this.finishToken(5); + } + return; + case 125: + ++this.state.pos; + this.finishToken(8); + return; + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(15, 2); + } else { + ++this.state.pos; + this.finishToken(14); + } + return; + case 63: + this.readToken_question(); + return; + case 96: + this.readTemplateToken(); + return; + case 48: + { + const next = this.input.charCodeAt(this.state.pos + 1); + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + case 34: + case 39: + this.readString(code); + return; + case 47: + this.readToken_slash(); + return; + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + case 94: + this.readToken_caret(); + return; + case 43: + case 45: + this.readToken_plus_min(code); + return; + case 60: + this.readToken_lt(); + return; + case 62: + this.readToken_gt(); + return; + case 61: + case 33: + this.readToken_eq_excl(code); + return; + case 126: + this.finishOp(36, 1); + return; + case 64: + this.readToken_atSign(); + return; + case 35: + this.readToken_numberSign(); + return; + case 92: + this.readWord(); + return; + default: + if (isIdentifierStart(code)) { + this.readWord(code); + return; + } + } + throw this.raise(Errors.InvalidOrUnexpectedToken, this.state.curPosition(), { + unexpected: String.fromCodePoint(code) + }); + } + finishOp(type, size) { + const str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + readRegexp() { + const startLoc = this.state.startLoc; + const start = this.state.start + 1; + let escaped, inClass; + let { + pos + } = this.state; + for (;; ++pos) { + if (pos >= this.length) { + throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1)); + } + const ch = this.input.charCodeAt(pos); + if (isNewLine(ch)) { + throw this.raise(Errors.UnterminatedRegExp, createPositionWithColumnOffset(startLoc, 1)); + } + if (escaped) { + escaped = false; + } else { + if (ch === 91) { + inClass = true; + } else if (ch === 93 && inClass) { + inClass = false; + } else if (ch === 47 && !inClass) { + break; + } + escaped = ch === 92; + } + } + const content = this.input.slice(start, pos); + ++pos; + let mods = ""; + const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start); + while (pos < this.length) { + const cp = this.codePointAtPos(pos); + const char = String.fromCharCode(cp); + if (VALID_REGEX_FLAGS.has(cp)) { + if (cp === 118) { + if (mods.includes("u")) { + this.raise(Errors.IncompatibleRegExpUVFlags, nextPos()); + } + } else if (cp === 117) { + if (mods.includes("v")) { + this.raise(Errors.IncompatibleRegExpUVFlags, nextPos()); + } + } + if (mods.includes(char)) { + this.raise(Errors.DuplicateRegExpFlags, nextPos()); + } + } else if (isIdentifierChar(cp) || cp === 92) { + this.raise(Errors.MalformedRegExpFlags, nextPos()); + } else { + break; + } + ++pos; + mods += char; + } + this.state.pos = pos; + this.finishToken(138, { + pattern: content, + flags: mods + }); + } + readInt(radix, len, forceLen = false, allowNumSeparator = true) { + const { + n, + pos + } = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len, forceLen, allowNumSeparator, this.errorHandlers_readInt, false); + this.state.pos = pos; + return n; + } + readRadixNumber(radix) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isBigInt = false; + this.state.pos += 2; + const val = this.readInt(radix); + if (val == null) { + this.raise(Errors.InvalidDigit, createPositionWithColumnOffset(startLoc, 2), { + radix + }); + } + const next = this.input.charCodeAt(this.state.pos); + if (next === 110) { + ++this.state.pos; + isBigInt = true; + } else if (next === 109) { + throw this.raise(Errors.InvalidDecimal, startLoc); + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, this.state.curPosition()); + } + if (isBigInt) { + const str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(136, str); + return; + } + this.finishToken(135, val); + } + readNumber(startsWithDot) { + const start = this.state.pos; + const startLoc = this.state.curPosition(); + let isFloat = false; + let isBigInt = false; + let hasExponent = false; + let isOctal = false; + if (!startsWithDot && this.readInt(10) === null) { + this.raise(Errors.InvalidNumber, this.state.curPosition()); + } + const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + if (hasLeadingZero) { + const integer = this.input.slice(start, this.state.pos); + this.recordStrictModeErrors(Errors.StrictOctalLiteral, startLoc); + if (!this.state.strict) { + const underscorePos = integer.indexOf("_"); + if (underscorePos > 0) { + this.raise(Errors.ZeroDigitNumericSeparator, createPositionWithColumnOffset(startLoc, underscorePos)); + } + } + isOctal = hasLeadingZero && !/[89]/.test(integer); + } + let next = this.input.charCodeAt(this.state.pos); + if (next === 46 && !isOctal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + if ((next === 69 || next === 101) && !isOctal) { + next = this.input.charCodeAt(++this.state.pos); + if (next === 43 || next === 45) { + ++this.state.pos; + } + if (this.readInt(10) === null) { + this.raise(Errors.InvalidOrMissingExponent, startLoc); + } + isFloat = true; + hasExponent = true; + next = this.input.charCodeAt(this.state.pos); + } + if (next === 110) { + if (isFloat || hasLeadingZero) { + this.raise(Errors.InvalidBigIntLiteral, startLoc); + } + ++this.state.pos; + isBigInt = true; + } + if (next === 109) { + this.expectPlugin("decimal", this.state.curPosition()); + if (hasExponent || hasLeadingZero) { + this.raise(Errors.InvalidDecimal, startLoc); + } + ++this.state.pos; + var isDecimal = true; + } + if (isIdentifierStart(this.codePointAtPos(this.state.pos))) { + throw this.raise(Errors.NumberIdentifier, this.state.curPosition()); + } + const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, ""); + if (isBigInt) { + this.finishToken(136, str); + return; + } + if (isDecimal) { + this.finishToken(137, str); + return; + } + const val = isOctal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(135, val); + } + readCodePoint(throwOnInvalid) { + const { + code, + pos + } = readCodePoint(this.input, this.state.pos, this.state.lineStart, this.state.curLine, throwOnInvalid, this.errorHandlers_readCodePoint); + this.state.pos = pos; + return code; + } + readString(quote) { + const { + str, + pos, + curLine, + lineStart + } = readStringContents(quote === 34 ? "double" : "single", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_string); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + this.finishToken(134, str); + } + readTemplateContinuation() { + if (!this.match(8)) { + this.unexpected(null, 8); + } + this.state.pos--; + this.readTemplateToken(); + } + readTemplateToken() { + const opening = this.input[this.state.pos]; + const { + str, + firstInvalidLoc, + pos, + curLine, + lineStart + } = readStringContents("template", this.input, this.state.pos + 1, this.state.lineStart, this.state.curLine, this.errorHandlers_readStringContents_template); + this.state.pos = pos + 1; + this.state.lineStart = lineStart; + this.state.curLine = curLine; + if (firstInvalidLoc) { + this.state.firstInvalidTemplateEscapePos = new Position(firstInvalidLoc.curLine, firstInvalidLoc.pos - firstInvalidLoc.lineStart, this.sourceToOffsetPos(firstInvalidLoc.pos)); + } + if (this.input.codePointAt(pos) === 96) { + this.finishToken(24, firstInvalidLoc ? null : opening + str + "`"); + } else { + this.state.pos++; + this.finishToken(25, firstInvalidLoc ? null : opening + str + "${"); + } + } + recordStrictModeErrors(toParseError, at) { + const index = at.index; + if (this.state.strict && !this.state.strictErrors.has(index)) { + this.raise(toParseError, at); + } else { + this.state.strictErrors.set(index, [toParseError, at]); + } + } + readWord1(firstCode) { + this.state.containsEsc = false; + let word = ""; + const start = this.state.pos; + let chunkStart = this.state.pos; + if (firstCode !== undefined) { + this.state.pos += firstCode <= 0xffff ? 1 : 2; + } + while (this.state.pos < this.length) { + const ch = this.codePointAtPos(this.state.pos); + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + const escStart = this.state.curPosition(); + const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(Errors.MissingUnicodeEscape, this.state.curPosition()); + chunkStart = this.state.pos - 1; + continue; + } + ++this.state.pos; + const esc = this.readCodePoint(true); + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(Errors.EscapedCharNotAnIdentifier, escStart); + } + word += String.fromCodePoint(esc); + } + chunkStart = this.state.pos; + } else { + break; + } + } + return word + this.input.slice(chunkStart, this.state.pos); + } + readWord(firstCode) { + const word = this.readWord1(firstCode); + const type = keywords$1.get(word); + if (type !== undefined) { + this.finishToken(type, tokenLabelName(type)); + } else { + this.finishToken(132, word); + } + } + checkKeywordEscapes() { + const { + type + } = this.state; + if (tokenIsKeyword(type) && this.state.containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, this.state.startLoc, { + reservedWord: tokenLabelName(type) + }); + } + } + raise(toParseError, at, details = {}) { + const loc = at instanceof Position ? at : at.loc.start; + const error = toParseError(loc, details); + if (!(this.optionFlags & 2048)) throw error; + if (!this.isLookahead) this.state.errors.push(error); + return error; + } + raiseOverwrite(toParseError, at, details = {}) { + const loc = at instanceof Position ? at : at.loc.start; + const pos = loc.index; + const errors = this.state.errors; + for (let i = errors.length - 1; i >= 0; i--) { + const error = errors[i]; + if (error.loc.index === pos) { + return errors[i] = toParseError(loc, details); + } + if (error.loc.index < pos) break; + } + return this.raise(toParseError, at, details); + } + updateContext(prevType) {} + unexpected(loc, type) { + throw this.raise(Errors.UnexpectedToken, loc != null ? loc : this.state.startLoc, { + expected: type ? tokenLabelName(type) : null + }); + } + expectPlugin(pluginName, loc) { + if (this.hasPlugin(pluginName)) { + return true; + } + throw this.raise(Errors.MissingPlugin, loc != null ? loc : this.state.startLoc, { + missingPlugin: [pluginName] + }); + } + expectOnePlugin(pluginNames) { + if (!pluginNames.some(name => this.hasPlugin(name))) { + throw this.raise(Errors.MissingOneOfPlugins, this.state.startLoc, { + missingPlugin: pluginNames + }); + } + } + errorBuilder(error) { + return (pos, lineStart, curLine) => { + this.raise(error, buildPosition(pos, lineStart, curLine)); + }; + } +} +class ClassScope { + constructor() { + this.privateNames = new Set(); + this.loneAccessors = new Map(); + this.undefinedPrivateNames = new Map(); + } +} +class ClassScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = []; + this.undefinedPrivateNames = new Map(); + this.parser = parser; + } + current() { + return this.stack[this.stack.length - 1]; + } + enter() { + this.stack.push(new ClassScope()); + } + exit() { + const oldClassScope = this.stack.pop(); + const current = this.current(); + for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) { + if (current) { + if (!current.undefinedPrivateNames.has(name)) { + current.undefinedPrivateNames.set(name, loc); + } + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, { + identifierName: name + }); + } + } + } + declarePrivateName(name, elementType, loc) { + const { + privateNames, + loneAccessors, + undefinedPrivateNames + } = this.current(); + let redefined = privateNames.has(name); + if (elementType & 3) { + const accessor = redefined && loneAccessors.get(name); + if (accessor) { + const oldStatic = accessor & 4; + const newStatic = elementType & 4; + const oldKind = accessor & 3; + const newKind = elementType & 3; + redefined = oldKind === newKind || oldStatic !== newStatic; + if (!redefined) loneAccessors.delete(name); + } else if (!redefined) { + loneAccessors.set(name, elementType); + } + } + if (redefined) { + this.parser.raise(Errors.PrivateNameRedeclaration, loc, { + identifierName: name + }); + } + privateNames.add(name); + undefinedPrivateNames.delete(name); + } + usePrivateName(name, loc) { + let classScope; + for (classScope of this.stack) { + if (classScope.privateNames.has(name)) return; + } + if (classScope) { + classScope.undefinedPrivateNames.set(name, loc); + } else { + this.parser.raise(Errors.InvalidPrivateFieldResolution, loc, { + identifierName: name + }); + } + } +} +class ExpressionScope { + constructor(type = 0) { + this.type = type; + } + canBeArrowParameterDeclaration() { + return this.type === 2 || this.type === 1; + } + isCertainlyParameterDeclaration() { + return this.type === 3; + } +} +class ArrowHeadParsingScope extends ExpressionScope { + constructor(type) { + super(type); + this.declarationErrors = new Map(); + } + recordDeclarationError(ParsingErrorClass, at) { + const index = at.index; + this.declarationErrors.set(index, [ParsingErrorClass, at]); + } + clearDeclarationError(index) { + this.declarationErrors.delete(index); + } + iterateErrors(iterator) { + this.declarationErrors.forEach(iterator); + } +} +class ExpressionScopeHandler { + constructor(parser) { + this.parser = void 0; + this.stack = [new ExpressionScope()]; + this.parser = parser; + } + enter(scope) { + this.stack.push(scope); + } + exit() { + this.stack.pop(); + } + recordParameterInitializerError(toParseError, node) { + const origin = node.loc.start; + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (!scope.isCertainlyParameterDeclaration()) { + if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(toParseError, origin); + } else { + return; + } + scope = stack[--i]; + } + this.parser.raise(toParseError, origin); + } + recordArrowParameterBindingError(error, node) { + const { + stack + } = this; + const scope = stack[stack.length - 1]; + const origin = node.loc.start; + if (scope.isCertainlyParameterDeclaration()) { + this.parser.raise(error, origin); + } else if (scope.canBeArrowParameterDeclaration()) { + scope.recordDeclarationError(error, origin); + } else { + return; + } + } + recordAsyncArrowParametersError(at) { + const { + stack + } = this; + let i = stack.length - 1; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + if (scope.type === 2) { + scope.recordDeclarationError(Errors.AwaitBindingIdentifier, at); + } + scope = stack[--i]; + } + } + validateAsPattern() { + const { + stack + } = this; + const currentScope = stack[stack.length - 1]; + if (!currentScope.canBeArrowParameterDeclaration()) return; + currentScope.iterateErrors(([toParseError, loc]) => { + this.parser.raise(toParseError, loc); + let i = stack.length - 2; + let scope = stack[i]; + while (scope.canBeArrowParameterDeclaration()) { + scope.clearDeclarationError(loc.index); + scope = stack[--i]; + } + }); + } +} +function newParameterDeclarationScope() { + return new ExpressionScope(3); +} +function newArrowHeadScope() { + return new ArrowHeadParsingScope(1); +} +function newAsyncArrowScope() { + return new ArrowHeadParsingScope(2); +} +function newExpressionScope() { + return new ExpressionScope(); +} +class UtilParser extends Tokenizer { + addExtra(node, key, value, enumerable = true) { + if (!node) return; + let { + extra + } = node; + if (extra == null) { + extra = {}; + node.extra = extra; + } + if (enumerable) { + extra[key] = value; + } else { + Object.defineProperty(extra, key, { + enumerable, + value + }); + } + } + isContextual(token) { + return this.state.type === token && !this.state.containsEsc; + } + isUnparsedContextual(nameStart, name) { + if (this.input.startsWith(name, nameStart)) { + const nextCh = this.input.charCodeAt(nameStart + name.length); + return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800); + } + return false; + } + isLookaheadContextual(name) { + const next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + eatContextual(token) { + if (this.isContextual(token)) { + this.next(); + return true; + } + return false; + } + expectContextual(token, toParseError) { + if (!this.eatContextual(token)) { + if (toParseError != null) { + throw this.raise(toParseError, this.state.startLoc); + } + this.unexpected(null, token); + } + } + canInsertSemicolon() { + return this.match(140) || this.match(8) || this.hasPrecedingLineBreak(); + } + hasPrecedingLineBreak() { + return hasNewLine(this.input, this.offsetToSourcePos(this.state.lastTokEndLoc.index), this.state.start); + } + hasFollowingLineBreak() { + return hasNewLine(this.input, this.state.end, this.nextTokenStart()); + } + isLineTerminator() { + return this.eat(13) || this.canInsertSemicolon(); + } + semicolon(allowAsi = true) { + if (allowAsi ? this.isLineTerminator() : this.eat(13)) return; + this.raise(Errors.MissingSemicolon, this.state.lastTokEndLoc); + } + expect(type, loc) { + if (!this.eat(type)) { + this.unexpected(loc, type); + } + } + tryParse(fn, oldState = this.state.clone()) { + const abortSignal = { + node: null + }; + try { + const node = fn((node = null) => { + abortSignal.node = node; + throw abortSignal; + }); + if (this.state.errors.length > oldState.errors.length) { + const failState = this.state; + this.state = oldState; + this.state.tokensLength = failState.tokensLength; + return { + node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState + }; + } + return { + node: node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + const failState = this.state; + this.state = oldState; + if (error instanceof SyntaxError) { + return { + node: null, + error, + thrown: true, + aborted: false, + failState + }; + } + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState + }; + } + throw error; + } + } + checkExpressionErrors(refExpressionErrors, andThrow) { + if (!refExpressionErrors) return false; + const { + shorthandAssignLoc, + doubleProtoLoc, + privateKeyLoc, + optionalParametersLoc, + voidPatternLoc + } = refExpressionErrors; + const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc || !!voidPatternLoc; + if (!andThrow) { + return hasErrors; + } + if (shorthandAssignLoc != null) { + this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc); + } + if (doubleProtoLoc != null) { + this.raise(Errors.DuplicateProto, doubleProtoLoc); + } + if (privateKeyLoc != null) { + this.raise(Errors.UnexpectedPrivateField, privateKeyLoc); + } + if (optionalParametersLoc != null) { + this.unexpected(optionalParametersLoc); + } + if (voidPatternLoc != null) { + this.raise(Errors.InvalidCoverDiscardElement, voidPatternLoc); + } + } + isLiteralPropertyName() { + return tokenIsLiteralPropertyName(this.state.type); + } + isPrivateName(node) { + return node.type === "PrivateName"; + } + getPrivateNameSV(node) { + return node.id.name; + } + hasPropertyAsPrivateName(node) { + return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property); + } + isObjectProperty(node) { + return node.type === "ObjectProperty"; + } + isObjectMethod(node) { + return node.type === "ObjectMethod"; + } + initializeScopes(inModule = this.options.sourceType === "module") { + const oldLabels = this.state.labels; + this.state.labels = []; + const oldExportedIdentifiers = this.exportedIdentifiers; + this.exportedIdentifiers = new Set(); + const oldInModule = this.inModule; + this.inModule = inModule; + const oldScope = this.scope; + const ScopeHandler = this.getScopeHandler(); + this.scope = new ScopeHandler(this, inModule); + const oldProdParam = this.prodParam; + this.prodParam = new ProductionParameterHandler(); + const oldClassScope = this.classScope; + this.classScope = new ClassScopeHandler(this); + const oldExpressionScope = this.expressionScope; + this.expressionScope = new ExpressionScopeHandler(this); + return () => { + this.state.labels = oldLabels; + this.exportedIdentifiers = oldExportedIdentifiers; + this.inModule = oldInModule; + this.scope = oldScope; + this.prodParam = oldProdParam; + this.classScope = oldClassScope; + this.expressionScope = oldExpressionScope; + }; + } + enterInitialScopes() { + let paramFlags = 0; + if (this.inModule || this.optionFlags & 1) { + paramFlags |= 2; + } + if (this.optionFlags & 32) { + paramFlags |= 1; + } + const isCommonJS = !this.inModule && this.options.sourceType === "commonjs"; + if (isCommonJS || this.optionFlags & 2) { + paramFlags |= 4; + } + this.prodParam.enter(paramFlags); + let scopeFlags = isCommonJS ? 514 : 1; + if (this.optionFlags & 4) { + scopeFlags |= 512; + } + this.scope.enter(scopeFlags); + } + checkDestructuringPrivate(refExpressionErrors) { + const { + privateKeyLoc + } = refExpressionErrors; + if (privateKeyLoc !== null) { + this.expectPlugin("destructuringPrivate", privateKeyLoc); + } + } +} +class ExpressionErrors { + constructor() { + this.shorthandAssignLoc = null; + this.doubleProtoLoc = null; + this.privateKeyLoc = null; + this.optionalParametersLoc = null; + this.voidPatternLoc = null; + } +} +class Node { + constructor(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if ((parser == null ? void 0 : parser.optionFlags) & 128) this.range = [pos, 0]; + if (parser != null && parser.filename) this.loc.filename = parser.filename; + } +} +const NodePrototype = Node.prototype; +NodePrototype.__clone = function () { + const newNode = new Node(undefined, this.start, this.loc.start); + const keys = Object.keys(this); + for (let i = 0, length = keys.length; i < length; i++) { + const key = keys[i]; + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + return newNode; +}; +class NodeUtils extends UtilParser { + startNode() { + const loc = this.state.startLoc; + return new Node(this, loc.index, loc); + } + startNodeAt(loc) { + return new Node(this, loc.index, loc); + } + startNodeAtNode(type) { + return this.startNodeAt(type.loc.start); + } + finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEndLoc); + } + finishNodeAt(node, type, endLoc) { + node.type = type; + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.optionFlags & 128) node.range[1] = endLoc.index; + if (this.optionFlags & 4096) { + this.processComment(node); + } + return node; + } + resetStartLocation(node, startLoc) { + node.start = startLoc.index; + node.loc.start = startLoc; + if (this.optionFlags & 128) node.range[0] = startLoc.index; + } + resetEndLocation(node, endLoc = this.state.lastTokEndLoc) { + node.end = endLoc.index; + node.loc.end = endLoc; + if (this.optionFlags & 128) node.range[1] = endLoc.index; + } + resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.loc.start); + } + castNodeTo(node, type) { + node.type = type; + return node; + } + cloneIdentifier(node) { + const { + type, + start, + end, + loc, + range, + name + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.name = name; + if (node.extra) cloned.extra = node.extra; + return cloned; + } + cloneStringLiteral(node) { + const { + type, + start, + end, + loc, + range, + extra + } = node; + const cloned = Object.create(NodePrototype); + cloned.type = type; + cloned.start = start; + cloned.end = end; + cloned.loc = loc; + cloned.range = range; + cloned.extra = extra; + cloned.value = node.value; + return cloned; + } +} +const unwrapParenthesizedExpression = node => { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; +class LValParser extends NodeUtils { + toAssignable(node, isLHS = false) { + var _node$extra, _node$extra3; + let parenthesized = undefined; + if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) { + parenthesized = unwrapParenthesizedExpression(node); + if (isLHS) { + if (parenthesized.type === "Identifier") { + this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment, node); + } else if (parenthesized.type !== "CallExpression" && parenthesized.type !== "MemberExpression" && !this.isOptionalMemberExpression(parenthesized)) { + this.raise(Errors.InvalidParenthesizedAssignment, node); + } + } else { + this.raise(Errors.InvalidParenthesizedAssignment, node); + } + } + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + case "VoidPattern": + break; + case "ObjectExpression": + this.castNodeTo(node, "ObjectPattern"); + for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) { + var _node$extra2; + const prop = node.properties[i]; + const isLast = i === last; + this.toAssignableObjectExpressionProp(prop, isLast, isLHS); + if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, node.extra.trailingCommaLoc); + } + } + break; + case "ObjectProperty": + { + const { + key, + value + } = node; + if (this.isPrivateName(key)) { + this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start); + } + this.toAssignable(value, isLHS); + break; + } + case "SpreadElement": + { + throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller."); + } + case "ArrayExpression": + this.castNodeTo(node, "ArrayPattern"); + this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS); + break; + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(Errors.MissingEqInAssignment, node.left.loc.end); + } + this.castNodeTo(node, "AssignmentPattern"); + delete node.operator; + if (node.left.type === "VoidPattern") { + this.raise(Errors.VoidPatternInitializer, node.left); + } + this.toAssignable(node.left, isLHS); + break; + case "ParenthesizedExpression": + this.toAssignable(parenthesized, isLHS); + break; + } + } + toAssignableObjectExpressionProp(prop, isLast, isLHS) { + if (prop.type === "ObjectMethod") { + this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, prop.key); + } else if (prop.type === "SpreadElement") { + this.castNodeTo(prop, "RestElement"); + const arg = prop.argument; + this.checkToRestConversion(arg, false); + this.toAssignable(arg, isLHS); + if (!isLast) { + this.raise(Errors.RestTrailingComma, prop); + } + } else { + this.toAssignable(prop, isLHS); + } + } + toAssignableList(exprList, trailingCommaLoc, isLHS) { + const end = exprList.length - 1; + for (let i = 0; i <= end; i++) { + const elt = exprList[i]; + if (!elt) continue; + this.toAssignableListItem(exprList, i, isLHS); + if (elt.type === "RestElement") { + if (i < end) { + this.raise(Errors.RestTrailingComma, elt); + } else if (trailingCommaLoc) { + this.raise(Errors.RestTrailingComma, trailingCommaLoc); + } + } + } + } + toAssignableListItem(exprList, index, isLHS) { + const node = exprList[index]; + if (node.type === "SpreadElement") { + this.castNodeTo(node, "RestElement"); + const arg = node.argument; + this.checkToRestConversion(arg, true); + this.toAssignable(arg, isLHS); + } else { + this.toAssignable(node, isLHS); + } + } + isAssignable(node, isBinding) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + case "VoidPattern": + return true; + case "ObjectExpression": + { + const last = node.properties.length - 1; + return node.properties.every((prop, i) => { + return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop); + }); + } + case "ObjectProperty": + return this.isAssignable(node.value); + case "SpreadElement": + return this.isAssignable(node.argument); + case "ArrayExpression": + return node.elements.every(element => element === null || this.isAssignable(element)); + case "AssignmentExpression": + return node.operator === "="; + case "ParenthesizedExpression": + return this.isAssignable(node.expression); + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + default: + return false; + } + } + toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + for (const expr of exprList) { + if ((expr == null ? void 0 : expr.type) === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + } + parseSpread(refExpressionErrors) { + const node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined); + return this.finishNode(node, "SpreadElement"); + } + parseRestBinding() { + const node = this.startNode(); + this.next(); + const argument = this.parseBindingAtom(); + if (argument.type === "VoidPattern") { + this.raise(Errors.UnexpectedVoidPattern, argument); + } + node.argument = argument; + return this.finishNode(node, "RestElement"); + } + parseBindingAtom() { + switch (this.state.type) { + case 0: + { + const node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(3, 93, 1); + return this.finishNode(node, "ArrayPattern"); + } + case 5: + return this.parseObjectLike(8, true); + case 88: + return this.parseVoidPattern(null); + } + return this.parseIdentifier(); + } + parseBindingList(close, closeCharCode, flags) { + const allowEmpty = flags & 1; + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + } + if (allowEmpty && this.match(12)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(21)) { + let rest = this.parseRestBinding(); + if (this.hasPlugin("flow") || flags & 2) { + rest = this.parseFunctionParamType(rest); + } + elts.push(rest); + if (!this.checkCommaAfterRest(closeCharCode)) { + this.expect(close); + break; + } + } else { + const decorators = []; + if (flags & 2) { + if (this.match(26) && this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedParameterDecorator, this.state.startLoc); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + elts.push(this.parseBindingElement(flags, decorators)); + } + } + return elts; + } + parseBindingRestProperty(prop) { + this.next(); + if (this.hasPlugin("discardBinding") && this.match(88)) { + prop.argument = this.parseVoidPattern(null); + this.raise(Errors.UnexpectedVoidPattern, prop.argument); + } else { + prop.argument = this.parseIdentifier(); + } + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + parseBindingProperty() { + const { + type, + startLoc + } = this.state; + if (type === 21) { + return this.parseBindingRestProperty(this.startNode()); + } + const prop = this.startNode(); + if (type === 139) { + this.expectPlugin("destructuringPrivate", startLoc); + this.classScope.usePrivateName(this.state.value, startLoc); + prop.key = this.parsePrivateName(); + } else { + this.parsePropertyName(prop); + } + prop.method = false; + return this.parseObjPropValue(prop, startLoc, false, false, true, false); + } + parseBindingElement(flags, decorators) { + const left = this.parseMaybeDefault(); + if (this.hasPlugin("flow") || flags & 2) { + this.parseFunctionParamType(left); + } + if (decorators.length) { + left.decorators = decorators; + this.resetStartLocationFromNode(left, decorators[0]); + } + const elt = this.parseMaybeDefault(left.loc.start, left); + return elt; + } + parseFunctionParamType(param) { + return param; + } + parseMaybeDefault(startLoc, left) { + startLoc != null ? startLoc : startLoc = this.state.startLoc; + left = left != null ? left : this.parseBindingAtom(); + if (!this.eat(29)) return left; + const node = this.startNodeAt(startLoc); + if (left.type === "VoidPattern") { + this.raise(Errors.VoidPatternInitializer, left); + } + node.left = left; + node.right = this.parseMaybeAssignAllowIn(); + return this.finishNode(node, "AssignmentPattern"); + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + switch (type) { + case "AssignmentPattern": + return "left"; + case "RestElement": + return "argument"; + case "ObjectProperty": + return "value"; + case "ParenthesizedExpression": + return "expression"; + case "ArrayPattern": + return "elements"; + case "ObjectPattern": + return "properties"; + case "VoidPattern": + return true; + case "CallExpression": + if (!disallowCallExpression && !this.state.strict && this.optionFlags & 8192) { + return true; + } + } + return false; + } + isOptionalMemberExpression(expression) { + return expression.type === "OptionalMemberExpression"; + } + checkLVal(expression, ancestor, binding = 64, checkClashes = false, strictModeChanged = false, hasParenthesizedAncestor = false, disallowCallExpression = false) { + var _expression$extra; + const type = expression.type; + if (this.isObjectMethod(expression)) return; + const isOptionalMemberExpression = this.isOptionalMemberExpression(expression); + if (isOptionalMemberExpression || type === "MemberExpression") { + if (isOptionalMemberExpression) { + this.expectPlugin("optionalChainingAssign", expression.loc.start); + if (ancestor.type !== "AssignmentExpression") { + this.raise(Errors.InvalidLhsOptionalChaining, expression, { + ancestor + }); + } + } + if (binding !== 64) { + this.raise(Errors.InvalidPropertyBindingPattern, expression); + } + return; + } + if (type === "Identifier") { + this.checkIdentifier(expression, binding, strictModeChanged); + const { + name + } = expression; + if (checkClashes) { + if (checkClashes.has(name)) { + this.raise(Errors.ParamDupe, expression); + } else { + checkClashes.add(name); + } + } + return; + } else if (type === "VoidPattern" && ancestor.type === "CatchClause") { + this.raise(Errors.VoidPatternCatchClauseParam, expression); + } + const unwrappedExpression = unwrapParenthesizedExpression(expression); + disallowCallExpression || (disallowCallExpression = unwrappedExpression.type === "CallExpression" && (unwrappedExpression.callee.type === "Import" || unwrappedExpression.callee.type === "Super")); + const validity = this.isValidLVal(type, disallowCallExpression, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding); + if (validity === true) return; + if (validity === false) { + const ParseErrorClass = binding === 64 ? Errors.InvalidLhs : Errors.InvalidLhsBinding; + this.raise(ParseErrorClass, expression, { + ancestor + }); + return; + } + let key, isParenthesizedExpression; + if (typeof validity === "string") { + key = validity; + isParenthesizedExpression = type === "ParenthesizedExpression"; + } else { + [key, isParenthesizedExpression] = validity; + } + const nextAncestor = type === "ArrayPattern" || type === "ObjectPattern" ? { + type + } : ancestor; + const val = expression[key]; + if (Array.isArray(val)) { + for (const child of val) { + if (child) { + this.checkLVal(child, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression, true); + } + } + } else if (val) { + this.checkLVal(val, nextAncestor, binding, checkClashes, strictModeChanged, isParenthesizedExpression, disallowCallExpression); + } + } + checkIdentifier(at, bindingType, strictModeChanged = false) { + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) { + if (bindingType === 64) { + this.raise(Errors.StrictEvalArguments, at, { + referenceName: at.name + }); + } else { + this.raise(Errors.StrictEvalArgumentsBinding, at, { + bindingName: at.name + }); + } + } + if (bindingType & 8192 && at.name === "let") { + this.raise(Errors.LetInLexicalBinding, at); + } + if (!(bindingType & 64)) { + this.declareNameFromIdentifier(at, bindingType); + } + } + declareNameFromIdentifier(identifier, binding) { + this.scope.declareName(identifier.name, binding, identifier.loc.start); + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "ParenthesizedExpression": + this.checkToRestConversion(node.expression, allowPattern); + break; + case "Identifier": + case "MemberExpression": + break; + case "ArrayExpression": + case "ObjectExpression": + if (allowPattern) break; + default: + this.raise(Errors.InvalidRestAssignmentPattern, node); + } + } + checkCommaAfterRest(close) { + if (!this.match(12)) { + return false; + } + this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, this.state.startLoc); + return true; + } +} +const keywordAndTSRelationalOperator = /in(?:stanceof)?|as|satisfies/y; +function nonNull(x) { + if (x == null) { + throw new Error(`Unexpected ${x} value.`); + } + return x; +} +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} +const TSErrors = ParseErrorEnum`typescript`({ + AbstractMethodHasImplementation: ({ + methodName + }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`, + AbstractPropertyHasInitializer: ({ + propertyName + }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`, + AccessorCannotBeOptional: "An 'accessor' property cannot be declared optional.", + AccessorCannotDeclareThisParameter: "'get' and 'set' accessors cannot declare 'this' parameters.", + AccessorCannotHaveTypeParameters: "An accessor cannot have type parameters.", + ClassMethodHasDeclare: "Class methods cannot have the 'declare' modifier.", + ClassMethodHasReadonly: "Class methods cannot have the 'readonly' modifier.", + ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.", + ConstructorHasTypeParameters: "Type parameters cannot appear on a constructor declaration.", + DeclareAccessor: ({ + kind + }) => `'declare' is not allowed in ${kind}ters.`, + DeclareClassFieldHasInitializer: "Initializers are not allowed in ambient contexts.", + DeclareFunctionHasImplementation: "An implementation cannot be declared in ambient contexts.", + DuplicateAccessibilityModifier: ({ + modifier + }) => `Accessibility modifier already seen: '${modifier}'.`, + DuplicateModifier: ({ + modifier + }) => `Duplicate modifier: '${modifier}'.`, + EmptyHeritageClauseType: ({ + token + }) => `'${token}' list cannot be empty.`, + EmptyTypeArguments: "Type argument list cannot be empty.", + EmptyTypeParameters: "Type parameter list cannot be empty.", + ExpectedAmbientAfterExportDeclare: "'export declare' must be followed by an ambient declaration.", + ImportAliasHasImportType: "An import alias can not use 'import type'.", + ImportReflectionHasImportType: "An `import module` declaration can not use `type` modifier", + IncompatibleModifiers: ({ + modifiers + }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`, + IndexSignatureHasAbstract: "Index signatures cannot have the 'abstract' modifier.", + IndexSignatureHasAccessibility: ({ + modifier + }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`, + IndexSignatureHasDeclare: "Index signatures cannot have the 'declare' modifier.", + IndexSignatureHasOverride: "'override' modifier cannot appear on an index signature.", + IndexSignatureHasStatic: "Index signatures cannot have the 'static' modifier.", + InitializerNotAllowedInAmbientContext: "Initializers are not allowed in ambient contexts.", + InvalidHeritageClauseType: ({ + token + }) => `'${token}' list can only include identifiers or qualified-names with optional type arguments.`, + InvalidModifierOnAwaitUsingDeclaration: modifier => `'${modifier}' modifier cannot appear on an await using declaration.`, + InvalidModifierOnTypeMember: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type member.`, + InvalidModifierOnTypeParameter: ({ + modifier + }) => `'${modifier}' modifier cannot appear on a type parameter.`, + InvalidModifierOnTypeParameterPositions: ({ + modifier + }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`, + InvalidModifierOnUsingDeclaration: modifier => `'${modifier}' modifier cannot appear on a using declaration.`, + InvalidModifiersOrder: ({ + orderedModifiers + }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`, + InvalidPropertyAccessAfterInstantiationExpression: "Invalid property access after an instantiation expression. " + "You can either wrap the instantiation expression in parentheses, or delete the type arguments.", + InvalidTupleMemberLabel: "Tuple members must be labeled with a simple identifier.", + MissingInterfaceName: "'interface' declarations must be followed by an identifier.", + NonAbstractClassHasAbstractMethod: "Abstract methods can only appear within an abstract class.", + NonClassMethodPropertyHasAbstractModifier: "'abstract' modifier can only appear on a class, method, or property declaration.", + OptionalTypeBeforeRequired: "A required element cannot follow an optional element.", + OverrideNotInSubClass: "This member cannot have an 'override' modifier because its containing class does not extend another class.", + PatternIsOptional: "A binding pattern parameter cannot be optional in an implementation signature.", + PrivateElementHasAbstract: "Private elements cannot have the 'abstract' modifier.", + PrivateElementHasAccessibility: ({ + modifier + }) => `Private elements cannot have an accessibility modifier ('${modifier}').`, + ReadonlyForMethodSignature: "'readonly' modifier can only appear on a property declaration or index signature.", + ReservedArrowTypeParam: "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.", + ReservedTypeAssertion: "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.", + SetAccessorCannotHaveOptionalParameter: "A 'set' accessor cannot have an optional parameter.", + SetAccessorCannotHaveRestParameter: "A 'set' accessor cannot have rest parameter.", + SetAccessorCannotHaveReturnType: "A 'set' accessor cannot have a return type annotation.", + SingleTypeParameterWithoutTrailingComma: ({ + typeParameterName + }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`, + StaticBlockCannotHaveModifier: "Static class blocks cannot have any modifier.", + TupleOptionalAfterType: "A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).", + TypeAnnotationAfterAssign: "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.", + TypeImportCannotSpecifyDefaultAndNamed: "A type-only import can specify a default import or named bindings, but not both.", + TypeModifierIsUsedInTypeExports: "The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.", + TypeModifierIsUsedInTypeImports: "The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.", + UnexpectedParameterModifier: "A parameter property is only allowed in a constructor implementation.", + UnexpectedReadonly: "'readonly' type modifier is only permitted on array and tuple literal types.", + UnexpectedTypeAnnotation: "Did not expect a type annotation here.", + UnexpectedTypeCastInParameter: "Unexpected type cast in parameter position.", + UnsupportedImportTypeArgument: "Argument in a type import must be a string literal.", + UnsupportedParameterPropertyKind: "A parameter property may not be declared using a binding pattern.", + UnsupportedSignatureParameterKind: ({ + type + }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.`, + UsingDeclarationInAmbientContext: kind => `'${kind}' declarations are not allowed in ambient contexts.` +}); +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + case "boolean": + return "TSBooleanKeyword"; + case "bigint": + return "TSBigIntKeyword"; + case "never": + return "TSNeverKeyword"; + case "number": + return "TSNumberKeyword"; + case "object": + return "TSObjectKeyword"; + case "string": + return "TSStringKeyword"; + case "symbol": + return "TSSymbolKeyword"; + case "undefined": + return "TSUndefinedKeyword"; + case "unknown": + return "TSUnknownKeyword"; + default: + return undefined; + } +} +function tsIsAccessModifier(modifier) { + return modifier === "private" || modifier === "public" || modifier === "protected"; +} +function tsIsVarianceAnnotations(modifier) { + return modifier === "in" || modifier === "out"; +} +var typescript = superClass => class TypeScriptParserMixin extends superClass { + constructor(...args) { + super(...args); + this.tsParseInOutModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out"], + disallowedModifiers: ["const", "public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + this.tsParseConstModifier = this.tsParseModifiers.bind(this, { + allowedModifiers: ["const"], + disallowedModifiers: ["in", "out"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }); + this.tsParseInOutConstModifiers = this.tsParseModifiers.bind(this, { + allowedModifiers: ["in", "out", "const"], + disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"], + errorTemplate: TSErrors.InvalidModifierOnTypeParameter + }); + } + getScopeHandler() { + return TypeScriptScopeHandler; + } + tsIsIdentifier() { + return tokenIsIdentifier(this.state.type); + } + tsTokenCanFollowModifier() { + return this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(139) || this.isLiteralPropertyName(); + } + tsNextTokenOnSameLineAndCanFollowModifier() { + this.next(); + if (this.hasPrecedingLineBreak()) { + return false; + } + return this.tsTokenCanFollowModifier(); + } + tsNextTokenCanFollowModifier() { + if (this.match(106)) { + this.next(); + return this.tsTokenCanFollowModifier(); + } + return this.tsNextTokenOnSameLineAndCanFollowModifier(); + } + tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock, hasSeenStaticModifier) { + if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58 && this.state.type !== 75) { + return undefined; + } + const modifier = this.state.value; + if (allowedModifiers.includes(modifier)) { + if (hasSeenStaticModifier && this.match(106)) { + return undefined; + } + if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) { + return undefined; + } + if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + } + return undefined; + } + tsParseModifiers({ + allowedModifiers, + disallowedModifiers, + stopOnStartOfClassStaticBlock, + errorTemplate = TSErrors.InvalidModifierOnTypeMember + }, modified) { + const enforceOrder = (loc, modifier, before, after) => { + if (modifier === before && modified[after]) { + this.raise(TSErrors.InvalidModifiersOrder, loc, { + orderedModifiers: [before, after] + }); + } + }; + const incompatible = (loc, modifier, mod1, mod2) => { + if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) { + this.raise(TSErrors.IncompatibleModifiers, loc, { + modifiers: [mod1, mod2] + }); + } + }; + for (;;) { + const { + startLoc + } = this.state; + const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock, modified.static); + if (!modifier) break; + if (tsIsAccessModifier(modifier)) { + if (modified.accessibility) { + this.raise(TSErrors.DuplicateAccessibilityModifier, startLoc, { + modifier + }); + } else { + enforceOrder(startLoc, modifier, modifier, "override"); + enforceOrder(startLoc, modifier, modifier, "static"); + enforceOrder(startLoc, modifier, modifier, "readonly"); + modified.accessibility = modifier; + } + } else if (tsIsVarianceAnnotations(modifier)) { + if (modified[modifier]) { + this.raise(TSErrors.DuplicateModifier, startLoc, { + modifier + }); + } + modified[modifier] = true; + enforceOrder(startLoc, modifier, "in", "out"); + } else { + if (hasOwnProperty.call(modified, modifier)) { + this.raise(TSErrors.DuplicateModifier, startLoc, { + modifier + }); + } else { + enforceOrder(startLoc, modifier, "static", "readonly"); + enforceOrder(startLoc, modifier, "static", "override"); + enforceOrder(startLoc, modifier, "override", "readonly"); + enforceOrder(startLoc, modifier, "abstract", "override"); + incompatible(startLoc, modifier, "declare", "override"); + incompatible(startLoc, modifier, "static", "abstract"); + } + modified[modifier] = true; + } + if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) { + this.raise(errorTemplate, startLoc, { + modifier + }); + } + } + } + tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(8); + case "HeritageClauseElement": + return this.match(5); + case "TupleElementTypes": + return this.match(3); + case "TypeParametersOrArguments": + return this.match(48); + } + } + tsParseList(kind, parseElement) { + const result = []; + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + return result; + } + tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos)); + } + tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) { + const result = []; + let trailingCommaPos = -1; + for (;;) { + if (this.tsIsListTerminator(kind)) { + break; + } + trailingCommaPos = -1; + const element = parseElement(); + if (element == null) { + return undefined; + } + result.push(element); + if (this.eat(12)) { + trailingCommaPos = this.state.lastTokStartLoc.index; + continue; + } + if (this.tsIsListTerminator(kind)) { + break; + } + if (expectSuccess) { + this.expect(12); + } + return undefined; + } + if (refTrailingCommaPos) { + refTrailingCommaPos.value = trailingCommaPos; + } + return result; + } + tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) { + if (!skipFirstToken) { + if (bracket) { + this.expect(0); + } else { + this.expect(47); + } + } + const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos); + if (bracket) { + this.expect(3); + } else { + this.expect(48); + } + return result; + } + tsParseImportType() { + const node = this.startNode(); + this.expect(83); + this.expect(10); + if (!this.match(134)) { + this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc); + node.argument = super.parseExprAtom(); + } else { + node.argument = this.parseStringLiteral(this.state.value); + } + if (this.eat(12)) { + node.options = this.tsParseImportTypeOptions(); + } else { + node.options = null; + } + this.expect(11); + if (this.eat(16)) { + node.qualifier = this.tsParseEntityName(1 | 2); + } + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSImportType"); + } + tsParseImportTypeOptions() { + const node = this.startNode(); + this.expect(5); + const withProperty = this.startNode(); + if (this.isContextual(76)) { + withProperty.method = false; + withProperty.key = this.parseIdentifier(true); + withProperty.computed = false; + withProperty.shorthand = false; + } else { + this.unexpected(null, 76); + } + this.expect(14); + withProperty.value = this.tsParseImportTypeWithPropertyValue(); + node.properties = [this.finishObjectProperty(withProperty)]; + this.eat(12); + this.expect(8); + return this.finishNode(node, "ObjectExpression"); + } + tsParseImportTypeWithPropertyValue() { + const node = this.startNode(); + const properties = []; + this.expect(5); + while (!this.match(8)) { + const type = this.state.type; + if (tokenIsIdentifier(type) || type === 134) { + properties.push(super.parsePropertyDefinition(null)); + } else { + this.unexpected(); + } + this.eat(12); + } + node.properties = properties; + this.next(); + return this.finishNode(node, "ObjectExpression"); + } + tsParseEntityName(flags) { + let entity; + if (flags & 1 && this.match(78)) { + if (flags & 2) { + entity = this.parseIdentifier(true); + } else { + const node = this.startNode(); + this.next(); + entity = this.finishNode(node, "ThisExpression"); + } + } else { + entity = this.parseIdentifier(!!(flags & 1)); + } + while (this.eat(16)) { + const node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(!!(flags & 1)); + entity = this.finishNode(node, "TSQualifiedName"); + } + return entity; + } + tsParseTypeReference() { + const node = this.startNode(); + node.typeName = this.tsParseEntityName(1); + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeReference"); + } + tsParseThisTypePredicate(lhs) { + this.next(); + const node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + node.asserts = false; + return this.finishNode(node, "TSTypePredicate"); + } + tsParseThisTypeNode() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + tsParseTypeQuery() { + const node = this.startNode(); + this.expect(87); + if (this.match(83)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(1 | 2); + } + if (!this.hasPrecedingLineBreak() && this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSTypeQuery"); + } + tsParseTypeParameter(parseModifiers) { + const node = this.startNode(); + parseModifiers(node); + node.name = this.tsParseTypeParameterName(); + node.constraint = this.tsEatThenParseType(81); + node.default = this.tsEatThenParseType(29); + return this.finishNode(node, "TSTypeParameter"); + } + tsTryParseTypeParameters(parseModifiers) { + if (this.match(47)) { + return this.tsParseTypeParameters(parseModifiers); + } + } + tsParseTypeParameters(parseModifiers) { + const node = this.startNode(); + if (this.match(47) || this.match(143)) { + this.next(); + } else { + this.unexpected(); + } + const refTrailingCommaPos = { + value: -1 + }; + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeParameters, node); + } + if (refTrailingCommaPos.value !== -1) { + this.addExtra(node, "trailingComma", refTrailingCommaPos.value); + } + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + tsFillSignature(returnToken, signature) { + const returnTokenRequired = returnToken === 19; + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + signature.typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + this.expect(10); + signature[paramsKey] = this.tsParseBindingListForSignature(); + if (returnTokenRequired) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + tsParseBindingListForSignature() { + const list = super.parseBindingList(11, 41, 2); + for (const pattern of list) { + const { + type + } = pattern; + if (type === "AssignmentPattern" || type === "TSParameterProperty") { + this.raise(TSErrors.UnsupportedSignatureParameterKind, pattern, { + type + }); + } + } + return list; + } + tsParseTypeMemberSemicolon() { + if (!this.eat(12) && !this.isLineTerminator()) { + this.expect(13); + } + } + tsParseSignatureMember(kind, node) { + this.tsFillSignature(14, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + tsIsUnambiguouslyIndexSignature() { + this.next(); + if (tokenIsIdentifier(this.state.type)) { + this.next(); + return this.match(14); + } + return false; + } + tsTryParseIndexSignature(node) { + if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return; + } + this.expect(0); + const id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(3); + node.parameters = [id]; + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(17)) node.optional = true; + if (this.match(10) || this.match(47)) { + if (readonly) { + this.raise(TSErrors.ReadonlyForMethodSignature, node); + } + const method = node; + if (method.kind && this.match(47)) { + this.raise(TSErrors.AccessorCannotHaveTypeParameters, this.state.curPosition()); + } + this.tsFillSignature(14, method); + this.tsParseTypeMemberSemicolon(); + const paramsKey = "parameters"; + const returnTypeKey = "typeAnnotation"; + if (method.kind === "get") { + if (method[paramsKey].length > 0) { + this.raise(Errors.BadGetterArity, this.state.curPosition()); + if (this.isThisParam(method[paramsKey][0])) { + this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition()); + } + } + } else if (method.kind === "set") { + if (method[paramsKey].length !== 1) { + this.raise(Errors.BadSetterArity, this.state.curPosition()); + } else { + const firstParameter = method[paramsKey][0]; + if (this.isThisParam(firstParameter)) { + this.raise(TSErrors.AccessorCannotDeclareThisParameter, this.state.curPosition()); + } + if (firstParameter.type === "Identifier" && firstParameter.optional) { + this.raise(TSErrors.SetAccessorCannotHaveOptionalParameter, this.state.curPosition()); + } + if (firstParameter.type === "RestElement") { + this.raise(TSErrors.SetAccessorCannotHaveRestParameter, this.state.curPosition()); + } + } + if (method[returnTypeKey]) { + this.raise(TSErrors.SetAccessorCannotHaveReturnType, method[returnTypeKey]); + } + } else { + method.kind = "method"; + } + return this.finishNode(method, "TSMethodSignature"); + } else { + const property = node; + if (readonly) property.readonly = true; + const type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + tsParseTypeMember() { + const node = this.startNode(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + if (this.match(77)) { + const id = this.startNode(); + this.next(); + if (this.match(10) || this.match(47)) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + this.tsParseModifiers({ + allowedModifiers: ["readonly"], + disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"] + }, node); + const idx = this.tsTryParseIndexSignature(node); + if (idx) { + return idx; + } + super.parsePropertyName(node); + if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) { + node.kind = node.key.name; + super.parsePropertyName(node); + if (!this.match(10) && !this.match(47)) { + this.unexpected(null, 10); + } + } + return this.tsParsePropertyOrMethodSignature(node, !!node.readonly); + } + tsParseTypeLiteral() { + const node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + tsParseObjectTypeMembers() { + this.expect(5); + const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(8); + return members; + } + tsIsStartOfMappedType() { + this.next(); + if (this.eat(53)) { + return this.isContextual(122); + } + if (this.isContextual(122)) { + this.next(); + } + if (!this.match(0)) { + return false; + } + this.next(); + if (!this.tsIsIdentifier()) { + return false; + } + this.next(); + return this.match(58); + } + tsParseMappedType() { + const node = this.startNode(); + this.expect(5); + if (this.match(53)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual(122); + } else if (this.eatContextual(122)) { + node.readonly = true; + } + this.expect(0); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsExpectThenParseType(58); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + node.nameType = this.eatContextual(93) ? this.tsParseType() : null; + this.expect(3); + if (this.match(53)) { + node.optional = this.state.value; + this.next(); + this.expect(17); + } else if (this.eat(17)) { + node.optional = true; + } + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(8); + return this.finishNode(node, "TSMappedType"); + } + tsParseTupleType() { + const node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + let seenOptionalElement = false; + node.elementTypes.forEach(elementNode => { + const { + type + } = elementNode; + if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) { + this.raise(TSErrors.OptionalTypeBeforeRequired, elementNode); + } + seenOptionalElement || (seenOptionalElement = type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType"); + }); + return this.finishNode(node, "TSTupleType"); + } + tsParseTupleElementType() { + const restStartLoc = this.state.startLoc; + const rest = this.eat(21); + const { + startLoc + } = this.state; + let labeled; + let label; + let optional; + let type; + const isWord = tokenIsKeywordOrIdentifier(this.state.type); + const chAfterWord = isWord ? this.lookaheadCharCode() : null; + if (chAfterWord === 58) { + labeled = true; + optional = false; + label = this.parseIdentifier(true); + this.expect(14); + type = this.tsParseType(); + } else if (chAfterWord === 63) { + optional = true; + const wordName = this.state.value; + const typeOrLabel = this.tsParseNonArrayType(); + if (this.lookaheadCharCode() === 58) { + labeled = true; + label = this.createIdentifier(this.startNodeAt(startLoc), wordName); + this.expect(17); + this.expect(14); + type = this.tsParseType(); + } else { + labeled = false; + type = typeOrLabel; + this.expect(17); + } + } else { + type = this.tsParseType(); + optional = this.eat(17); + labeled = this.eat(14); + } + if (labeled) { + let labeledNode; + if (label) { + labeledNode = this.startNodeAt(startLoc); + labeledNode.optional = optional; + labeledNode.label = label; + labeledNode.elementType = type; + if (this.eat(17)) { + labeledNode.optional = true; + this.raise(TSErrors.TupleOptionalAfterType, this.state.lastTokStartLoc); + } + } else { + labeledNode = this.startNodeAt(startLoc); + labeledNode.optional = optional; + this.raise(TSErrors.InvalidTupleMemberLabel, type); + labeledNode.label = type; + labeledNode.elementType = this.tsParseType(); + } + type = this.finishNode(labeledNode, "TSNamedTupleMember"); + } else if (optional) { + const optionalTypeNode = this.startNodeAt(startLoc); + optionalTypeNode.typeAnnotation = type; + type = this.finishNode(optionalTypeNode, "TSOptionalType"); + } + if (rest) { + const restNode = this.startNodeAt(restStartLoc); + restNode.typeAnnotation = type; + type = this.finishNode(restNode, "TSRestType"); + } + return type; + } + tsParseParenthesizedType() { + const node = this.startNode(); + this.expect(10); + node.typeAnnotation = this.tsParseType(); + this.expect(11); + return this.finishNode(node, "TSParenthesizedType"); + } + tsParseFunctionOrConstructorType(type, abstract) { + const node = this.startNode(); + if (type === "TSConstructorType") { + node.abstract = !!abstract; + if (abstract) this.next(); + this.next(); + } + this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node)); + return this.finishNode(node, type); + } + tsParseLiteralTypeNode() { + const node = this.startNode(); + switch (this.state.type) { + case 135: + case 136: + case 134: + case 85: + case 86: + node.literal = super.parseExprAtom(); + break; + default: + this.unexpected(); + } + return this.finishNode(node, "TSLiteralType"); + } + tsParseTemplateLiteralType() { + const node = this.startNode(); + node.literal = super.parseTemplate(false); + return this.finishNode(node, "TSLiteralType"); + } + parseTemplateSubstitution() { + if (this.state.inType) return this.tsParseType(); + return super.parseTemplateSubstitution(); + } + tsParseThisTypeOrThisTypePredicate() { + const thisKeyword = this.tsParseThisTypeNode(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + tsParseNonArrayType() { + switch (this.state.type) { + case 134: + case 135: + case 136: + case 85: + case 86: + return this.tsParseLiteralTypeNode(); + case 53: + if (this.state.value === "-") { + const node = this.startNode(); + const nextToken = this.lookahead(); + if (nextToken.type !== 135 && nextToken.type !== 136) { + this.unexpected(); + } + node.literal = this.parseMaybeUnary(); + return this.finishNode(node, "TSLiteralType"); + } + break; + case 78: + return this.tsParseThisTypeOrThisTypePredicate(); + case 87: + return this.tsParseTypeQuery(); + case 83: + return this.tsParseImportType(); + case 5: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + case 0: + return this.tsParseTupleType(); + case 10: + return this.tsParseParenthesizedType(); + case 25: + case 24: + return this.tsParseTemplateLiteralType(); + default: + { + const { + type + } = this.state; + if (tokenIsIdentifier(type) || type === 88 || type === 84) { + const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + if (nodeType !== undefined && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, nodeType); + } + return this.tsParseTypeReference(); + } + } + } + throw this.unexpected(); + } + tsParseArrayTypeOrHigher() { + const { + startLoc + } = this.state; + let type = this.tsParseNonArrayType(); + while (!this.hasPrecedingLineBreak() && this.eat(0)) { + if (this.match(3)) { + const node = this.startNodeAt(startLoc); + node.elementType = type; + this.expect(3); + type = this.finishNode(node, "TSArrayType"); + } else { + const node = this.startNodeAt(startLoc); + node.objectType = type; + node.indexType = this.tsParseType(); + this.expect(3); + type = this.finishNode(node, "TSIndexedAccessType"); + } + } + return type; + } + tsParseTypeOperator() { + const node = this.startNode(); + const operator = this.state.value; + this.next(); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + return this.finishNode(node, "TSTypeOperator"); + } + tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + default: + this.raise(TSErrors.UnexpectedReadonly, node); + } + } + tsParseInferType() { + const node = this.startNode(); + this.expectContextual(115); + const typeParameter = this.startNode(); + typeParameter.name = this.tsParseTypeParameterName(); + typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType()); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + tsParseConstraintForInferType() { + if (this.eat(81)) { + const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType()); + if (this.state.inDisallowConditionalTypesContext || !this.match(17)) { + return constraint; + } + } + } + tsParseTypeOperatorOrHigher() { + const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc; + return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(115) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher()); + } + tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + const node = this.startNode(); + const hasLeadingOperator = this.eat(operator); + const types = []; + do { + types.push(parseConstituentType()); + } while (this.eat(operator)); + if (types.length === 1 && !hasLeadingOperator) { + return types[0]; + } + node.types = types; + return this.finishNode(node, kind); + } + tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45); + } + tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43); + } + tsIsStartOfFunctionType() { + if (this.match(47)) { + return true; + } + return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + tsSkipParameterStart() { + if (tokenIsIdentifier(this.state.type) || this.match(78)) { + this.next(); + return true; + } + if (this.match(5)) { + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + this.parseObjectLike(8, true); + return errors.length === previousErrorCount; + } catch (_unused) { + return false; + } + } + if (this.match(0)) { + this.next(); + const { + errors + } = this.state; + const previousErrorCount = errors.length; + try { + super.parseBindingList(3, 93, 1); + return errors.length === previousErrorCount; + } catch (_unused2) { + return false; + } + } + return false; + } + tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + if (this.match(11) || this.match(21)) { + return true; + } + if (this.tsSkipParameterStart()) { + if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) { + return true; + } + if (this.match(11)) { + this.next(); + if (this.match(19)) { + return true; + } + } + } + return false; + } + tsParseTypeOrTypePredicateAnnotation(returnToken) { + return this.tsInType(() => { + const t = this.startNode(); + this.expect(returnToken); + const node = this.startNode(); + const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)); + if (asserts && this.match(78)) { + let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate(); + if (thisTypePredicate.type === "TSThisType") { + node.parameterName = thisTypePredicate; + node.asserts = true; + node.typeAnnotation = null; + thisTypePredicate = this.finishNode(node, "TSTypePredicate"); + } else { + this.resetStartLocationFromNode(thisTypePredicate, node); + thisTypePredicate.asserts = true; + } + t.typeAnnotation = thisTypePredicate; + return this.finishNode(t, "TSTypeAnnotation"); + } + const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this)); + if (!typePredicateVariable) { + if (!asserts) { + return this.tsParseTypeAnnotation(false, t); + } + node.parameterName = this.parseIdentifier(); + node.asserts = asserts; + node.typeAnnotation = null; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + } + const type = this.tsParseTypeAnnotation(false); + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = this.finishNode(node, "TSTypePredicate"); + return this.finishNode(t, "TSTypeAnnotation"); + }); + } + tsTryParseTypeOrTypePredicateAnnotation() { + if (this.match(14)) { + return this.tsParseTypeOrTypePredicateAnnotation(14); + } + } + tsTryParseTypeAnnotation() { + if (this.match(14)) { + return this.tsParseTypeAnnotation(); + } + } + tsTryParseType() { + return this.tsEatThenParseType(14); + } + tsParseTypePredicatePrefix() { + const id = this.parseIdentifier(); + if (this.isContextual(116) && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + tsParseTypePredicateAsserts() { + if (this.state.type !== 109) { + return false; + } + const containsEsc = this.state.containsEsc; + this.next(); + if (!tokenIsIdentifier(this.state.type) && !this.match(78)) { + return false; + } + if (containsEsc) { + this.raise(Errors.InvalidEscapedReservedWord, this.state.lastTokStartLoc, { + reservedWord: "asserts" + }); + } + return true; + } + tsParseTypeAnnotation(eatColon = true, t = this.startNode()) { + this.tsInType(() => { + if (eatColon) this.expect(14); + t.typeAnnotation = this.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + tsParseType() { + assert(this.state.inType); + const type = this.tsParseNonConditionalType(); + if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) { + return type; + } + const node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType()); + this.expect(17); + node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + this.expect(14); + node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType()); + return this.finishNode(node, "TSConditionalType"); + } + isAbstractConstructorSignature() { + return this.isContextual(124) && this.isLookaheadContextual("new"); + } + tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + if (this.match(77)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } else if (this.isAbstractConstructorSignature()) { + return this.tsParseFunctionOrConstructorType("TSConstructorType", true); + } + return this.tsParseUnionTypeOrHigher(); + } + tsParseTypeAssertion() { + if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedTypeAssertion, this.state.startLoc); + } + const node = this.startNode(); + node.typeAnnotation = this.tsInType(() => { + this.next(); + return this.match(75) ? this.tsParseTypeReference() : this.tsParseType(); + }); + this.expect(48); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + tsParseHeritageClause(token) { + const originalStartLoc = this.state.startLoc; + const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => { + const node = this.startNode(); + node.expression = this.tsParseEntityName(1 | 2); + if (this.match(47)) { + node.typeParameters = this.tsParseTypeArguments(); + } + return this.finishNode(node, "TSExpressionWithTypeArguments"); + }); + if (!delimitedList.length) { + this.raise(TSErrors.EmptyHeritageClauseType, originalStartLoc, { + token + }); + } + return delimitedList; + } + tsParseInterfaceDeclaration(node, properties = {}) { + if (this.hasFollowingLineBreak()) return null; + this.expectContextual(129); + if (properties.declare) node.declare = true; + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 130); + } else { + node.id = null; + this.raise(TSErrors.MissingInterfaceName, this.state.startLoc); + } + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (this.eat(81)) { + node.extends = this.tsParseHeritageClause("extends"); + } + const body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, 2); + node.typeAnnotation = this.tsInType(() => { + node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers); + this.expect(29); + if (this.isContextual(114) && this.lookaheadCharCode() !== 46) { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "TSIntrinsicKeyword"); + } + return this.tsParseType(); + }); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + tsInTopLevelContext(cb) { + if (this.curContext() !== types.brace) { + const oldContext = this.state.context; + this.state.context = [oldContext[0]]; + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } else { + return cb(); + } + } + tsInType(cb) { + const oldInType = this.state.inType; + this.state.inType = true; + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + tsInDisallowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = true; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsInAllowConditionalTypesContext(cb) { + const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext; + this.state.inDisallowConditionalTypesContext = false; + try { + return cb(); + } finally { + this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext; + } + } + tsEatThenParseType(token) { + if (this.match(token)) { + return this.tsNextThenParseType(); + } + } + tsExpectThenParseType(token) { + return this.tsInType(() => { + this.expect(token); + return this.tsParseType(); + }); + } + tsNextThenParseType() { + return this.tsInType(() => { + this.next(); + return this.tsParseType(); + }); + } + tsParseEnumMember() { + const node = this.startNode(); + node.id = this.match(134) ? super.parseStringLiteral(this.state.value) : this.parseIdentifier(true); + if (this.eat(29)) { + node.initializer = super.parseMaybeAssignAllowIn(); + } + return this.finishNode(node, "TSEnumMember"); + } + tsParseEnumDeclaration(node, properties = {}) { + if (properties.const) node.const = true; + if (properties.declare) node.declare = true; + this.expectContextual(126); + node.id = this.parseIdentifier(); + this.checkIdentifier(node.id, node.const ? 8971 : 8459); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumDeclaration"); + } + tsParseEnumBody() { + const node = this.startNode(); + this.expect(5); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(8); + return this.finishNode(node, "TSEnumBody"); + } + tsParseModuleBlock() { + const node = this.startNode(); + this.scope.enter(0); + this.expect(5); + super.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + tsParseModuleOrNamespaceDeclaration(node, nested = false) { + node.id = this.parseIdentifier(); + if (!nested) { + this.checkIdentifier(node.id, 1024); + } + if (this.eat(16)) { + const inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(1024); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual(112)) { + node.kind = "global"; + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(134)) { + node.kind = "module"; + node.id = super.parseStringLiteral(this.state.value); + } else { + this.unexpected(); + } + if (this.match(5)) { + this.scope.enter(1024); + this.prodParam.enter(0); + node.body = this.tsParseModuleBlock(); + this.prodParam.exit(); + this.scope.exit(); + } else { + this.semicolon(); + } + return this.finishNode(node, "TSModuleDeclaration"); + } + tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) { + node.isExport = isExport || false; + node.id = maybeDefaultIdentifier || this.parseIdentifier(); + this.checkIdentifier(node.id, 4096); + this.expect(29); + const moduleReference = this.tsParseModuleReference(); + if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") { + this.raise(TSErrors.ImportAliasHasImportType, moduleReference); + } + node.moduleReference = moduleReference; + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + tsIsExternalModuleReference() { + return this.isContextual(119) && this.lookaheadCharCode() === 40; + } + tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(0); + } + tsParseExternalModuleReference() { + const node = this.startNode(); + this.expectContextual(119); + this.expect(10); + if (!this.match(134)) { + this.unexpected(); + } + node.expression = super.parseExprAtom(); + this.expect(11); + this.sawUnambiguousESM = true; + return this.finishNode(node, "TSExternalModuleReference"); + } + tsLookAhead(f) { + const state = this.state.clone(); + const res = f(); + this.state = state; + return res; + } + tsTryParseAndCatch(f) { + const result = this.tryParse(abort => f() || abort()); + if (result.aborted || !result.node) return; + if (result.error) this.state = result.failState; + return result.node; + } + tsTryParse(f) { + const state = this.state.clone(); + const result = f(); + if (result !== undefined && result !== false) { + return result; + } + this.state = state; + } + tsTryParseDeclare(node) { + if (this.isLineTerminator()) { + return; + } + const startType = this.state.type; + return this.tsInAmbientContext(() => { + switch (startType) { + case 68: + node.declare = true; + return super.parseFunctionStatement(node, false, false); + case 80: + node.declare = true; + return this.parseClass(node, true, false); + case 126: + return this.tsParseEnumDeclaration(node, { + declare: true + }); + case 112: + return this.tsParseAmbientExternalModuleDeclaration(node); + case 100: + if (this.state.containsEsc) { + return; + } + case 75: + case 74: + if (!this.match(75) || !this.isLookaheadContextual("enum")) { + node.declare = true; + return this.parseVarStatement(node, this.state.value, true); + } + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true, + declare: true + }); + case 107: + if (this.isUsing()) { + this.raise(TSErrors.InvalidModifierOnUsingDeclaration, this.state.startLoc, "declare"); + node.declare = true; + return this.parseVarStatement(node, "using", true); + } + break; + case 96: + if (this.isAwaitUsing()) { + this.raise(TSErrors.InvalidModifierOnAwaitUsingDeclaration, this.state.startLoc, "declare"); + node.declare = true; + this.next(); + return this.parseVarStatement(node, "await using", true); + } + break; + case 129: + { + const result = this.tsParseInterfaceDeclaration(node, { + declare: true + }); + if (result) return result; + } + default: + if (tokenIsIdentifier(startType)) { + return this.tsParseDeclaration(node, this.state.type, true, null); + } + } + }); + } + tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.type, true, null); + } + tsParseDeclaration(node, type, next, decorators) { + switch (type) { + case 124: + if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) { + return this.tsParseAbstractDeclaration(node, decorators); + } + break; + case 127: + if (this.tsCheckLineTerminator(next)) { + if (this.match(134)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (tokenIsIdentifier(this.state.type)) { + node.kind = "module"; + return this.tsParseModuleOrNamespaceDeclaration(node); + } + } + break; + case 128: + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + node.kind = "namespace"; + return this.tsParseModuleOrNamespaceDeclaration(node); + } + break; + case 130: + if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) { + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + tsCheckLineTerminator(next) { + if (next) { + if (this.hasFollowingLineBreak()) return false; + this.next(); + return true; + } + return !this.isLineTerminator(); + } + tsTryParseGenericAsyncArrowFunction(startLoc) { + if (!this.match(47)) return; + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = true; + const res = this.tsTryParseAndCatch(() => { + const node = this.startNodeAt(startLoc); + node.typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + super.parseFunctionParams(node); + node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation(); + this.expect(19); + return node; + }); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + if (!res) return; + return super.parseArrowExpression(res, null, true); + } + tsParseTypeArgumentsInExpression() { + if (this.reScan_lt() !== 47) return; + return this.tsParseTypeArguments(); + } + tsParseTypeArguments() { + const node = this.startNode(); + node.params = this.tsInType(() => this.tsInTopLevelContext(() => { + this.expect(47); + return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this)); + })); + if (node.params.length === 0) { + this.raise(TSErrors.EmptyTypeArguments, node); + } else if (!this.state.inType && this.curContext() === types.brace) { + this.reScan_lt_gt(); + } + this.expect(48); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + tsIsDeclarationStart() { + return tokenIsTSDeclarationStart(this.state.type); + } + isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return super.isExportDefaultSpecifier(); + } + parseBindingElement(flags, decorators) { + const startLoc = decorators.length ? decorators[0].loc.start : this.state.startLoc; + const modified = {}; + this.tsParseModifiers({ + allowedModifiers: ["public", "private", "protected", "override", "readonly"] + }, modified); + const accessibility = modified.accessibility; + const override = modified.override; + const readonly = modified.readonly; + if (!(flags & 4) && (accessibility || readonly || override)) { + this.raise(TSErrors.UnexpectedParameterModifier, startLoc); + } + const left = this.parseMaybeDefault(); + if (flags & 2) { + this.parseFunctionParamType(left); + } + const elt = this.parseMaybeDefault(left.loc.start, left); + if (accessibility || readonly || override) { + const pp = this.startNodeAt(startLoc); + if (decorators.length) { + pp.decorators = decorators; + } + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + if (override) pp.override = override; + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(TSErrors.UnsupportedParameterPropertyKind, pp); + } + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + if (decorators.length) { + left.decorators = decorators; + } + return elt; + } + isSimpleParameter(node) { + return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node); + } + tsDisallowOptionalPattern(node) { + for (const param of node.params) { + if (param.type !== "Identifier" && param.optional && !this.state.isAmbientContext) { + this.raise(TSErrors.PatternIsOptional, param); + } + } + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + super.setArrowFunctionParameters(node, params, trailingCommaLoc); + this.tsDisallowOptionalPattern(node); + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + if (this.match(14)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + } + const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined; + if (bodilessType && !this.match(5) && this.isLineTerminator()) { + return this.finishNode(node, bodilessType); + } + if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) { + this.raise(TSErrors.DeclareFunctionHasImplementation, node); + if (node.declare) { + return super.parseFunctionBodyAndFinish(node, bodilessType, isMethod); + } + } + this.tsDisallowOptionalPattern(node); + return super.parseFunctionBodyAndFinish(node, type, isMethod); + } + registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkIdentifier(node.id, 1024); + } else { + super.registerFunctionStatementId(node); + } + } + tsCheckForInvalidTypeCasts(items) { + items.forEach(node => { + if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") { + this.raise(TSErrors.UnexpectedTypeAnnotation, node.typeAnnotation); + } + }); + } + toReferencedList(exprList, isInParens) { + this.tsCheckForInvalidTypeCasts(exprList); + return exprList; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + const node = super.parseArrayLike(close, isTuple, refExpressionErrors); + if (node.type === "ArrayExpression") { + this.tsCheckForInvalidTypeCasts(node.elements); + } + return node; + } + parseSubscript(base, startLoc, noCalls, state) { + if (!this.hasPrecedingLineBreak() && this.match(35)) { + this.state.canStartJSXElement = false; + this.next(); + const nonNullExpression = this.startNodeAt(startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + let isOptionalCall = false; + if (this.match(18) && this.lookaheadCharCode() === 60) { + if (noCalls) { + state.stop = true; + return base; + } + state.optionalChainMember = isOptionalCall = true; + this.next(); + } + if (this.match(47) || this.match(51)) { + let missingParenErrorLoc; + const result = this.tsTryParseAndCatch(() => { + if (!noCalls && this.atPossibleAsyncArrow(base)) { + const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startLoc); + if (asyncArrowFn) { + state.stop = true; + return asyncArrowFn; + } + } + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (!typeArguments) return; + if (isOptionalCall && !this.match(10)) { + missingParenErrorLoc = this.state.curPosition(); + return; + } + if (tokenIsTemplate(this.state.type)) { + const result = super.parseTaggedTemplateExpression(base, startLoc, state); + result.typeParameters = typeArguments; + return result; + } + if (!noCalls && this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(); + this.tsCheckForInvalidTypeCasts(node.arguments); + node.typeParameters = typeArguments; + if (state.optionalChainMember) { + node.optional = isOptionalCall; + } + return this.finishCallExpression(node, state.optionalChainMember); + } + const tokenType = this.state.type; + if (tokenType === 48 || tokenType === 52 || tokenType !== 10 && tokenType !== 93 && tokenType !== 120 && tokenCanStartExpression(tokenType) && !this.hasPrecedingLineBreak()) { + return; + } + const node = this.startNodeAt(startLoc); + node.expression = base; + node.typeParameters = typeArguments; + return this.finishNode(node, "TSInstantiationExpression"); + }); + if (missingParenErrorLoc) { + this.unexpected(missingParenErrorLoc, 10); + } + if (result) { + if (result.type === "TSInstantiationExpression") { + if (this.match(16) || this.match(18) && this.lookaheadCharCode() !== 40) { + this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression, this.state.startLoc); + } + if (!this.match(16) && !this.match(18)) { + result.expression = super.stopParseSubscript(base, state); + } + } + return result; + } + } + return super.parseSubscript(base, startLoc, noCalls, state); + } + parseNewCallee(node) { + var _callee$extra; + super.parseNewCallee(node); + const { + callee + } = node; + if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) { + node.typeParameters = callee.typeParameters; + node.callee = callee.expression; + } + } + parseExprOp(left, leftStartLoc, minPrec) { + let isSatisfies; + if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && (this.isContextual(93) || (isSatisfies = this.isContextual(120)))) { + const node = this.startNodeAt(leftStartLoc); + node.expression = left; + node.typeAnnotation = this.tsInType(() => { + this.next(); + if (this.match(75)) { + if (isSatisfies) { + this.raise(Errors.UnexpectedKeyword, this.state.startLoc, { + keyword: "const" + }); + } + return this.tsParseTypeReference(); + } + return this.tsParseType(); + }); + this.finishNode(node, isSatisfies ? "TSSatisfiesExpression" : "TSAsExpression"); + this.reScan_lt_gt(); + return this.parseExprOp(node, leftStartLoc, minPrec); + } + return super.parseExprOp(left, leftStartLoc, minPrec); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (!this.state.isAmbientContext) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + checkImportReflection(node) { + super.checkImportReflection(node); + if (node.module && node.importKind !== "value") { + this.raise(TSErrors.ImportReflectionHasImportType, node.specifiers[0].loc.start); + } + } + checkDuplicateExports() {} + isPotentialImportPhase(isExport) { + if (super.isPotentialImportPhase(isExport)) return true; + if (this.isContextual(130)) { + const ch = this.lookaheadCharCode(); + return isExport ? ch === 123 || ch === 42 : ch !== 61; + } + return !isExport && this.isContextual(87); + } + applyImportPhase(node, isExport, phase, loc) { + super.applyImportPhase(node, isExport, phase, loc); + if (isExport) { + node.exportKind = phase === "type" ? "type" : "value"; + } else { + node.importKind = phase === "type" || phase === "typeof" ? phase : "value"; + } + } + parseImport(node) { + if (this.match(134)) { + node.importKind = "value"; + return super.parseImport(node); + } + let importNode; + if (tokenIsIdentifier(this.state.type) && this.lookaheadCharCode() === 61) { + node.importKind = "value"; + return this.tsParseImportEqualsDeclaration(node); + } else if (this.isContextual(130)) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, false); + if (this.lookaheadCharCode() === 61) { + return this.tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier); + } else { + importNode = super.parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier); + } + } else { + importNode = super.parseImport(node); + } + if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") { + this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, importNode); + } + return importNode; + } + parseExport(node, decorators) { + if (this.match(83)) { + const nodeImportEquals = node; + this.next(); + let maybeDefaultIdentifier = null; + if (this.isContextual(130) && this.isPotentialImportPhase(false)) { + maybeDefaultIdentifier = this.parseMaybeImportPhase(nodeImportEquals, false); + } else { + nodeImportEquals.importKind = "value"; + } + const declaration = this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true); + return declaration; + } else if (this.eat(29)) { + const assign = node; + assign.expression = super.parseExpression(); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual(93)) { + const decl = node; + this.expectContextual(128); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + return super.parseExport(node, decorators); + } + } + isAbstractClass() { + return this.isContextual(124) && this.isLookaheadContextual("class"); + } + parseExportDefaultExpression() { + if (this.isAbstractClass()) { + const cls = this.startNode(); + this.next(); + cls.abstract = true; + return this.parseClass(cls, true, true); + } + if (this.match(129)) { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + } + return super.parseExportDefaultExpression(); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + const { + isAmbientContext + } = this.state; + const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext); + if (!isAmbientContext) return declaration; + if (!node.declare && (kind === "using" || kind === "await using")) { + this.raiseOverwrite(TSErrors.UsingDeclarationInAmbientContext, node, kind); + return declaration; + } + for (const { + id, + init + } of declaration.declarations) { + if (!init) continue; + if (kind === "var" || kind === "let" || !!id.typeAnnotation) { + this.raise(TSErrors.InitializerNotAllowedInAmbientContext, init); + } else if (!isValidAmbientConstInitializer(init, this.hasPlugin("estree"))) { + this.raise(TSErrors.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference, init); + } + } + return declaration; + } + parseStatementContent(flags, decorators) { + if (!this.state.containsEsc) { + switch (this.state.type) { + case 75: + { + if (this.isLookaheadContextual("enum")) { + const node = this.startNode(); + this.expect(75); + return this.tsParseEnumDeclaration(node, { + const: true + }); + } + break; + } + case 124: + case 125: + { + if (this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()) { + const token = this.state.type; + const node = this.startNode(); + this.next(); + const declaration = token === 125 ? this.tsTryParseDeclare(node) : this.tsParseAbstractDeclaration(node, decorators); + if (declaration) { + if (token === 125) { + declaration.declare = true; + } + return declaration; + } else { + node.expression = this.createIdentifier(this.startNodeAt(node.loc.start), token === 125 ? "declare" : "abstract"); + this.semicolon(false); + return this.finishNode(node, "ExpressionStatement"); + } + } + break; + } + case 126: + return this.tsParseEnumDeclaration(this.startNode()); + case 112: + { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 123) { + const node = this.startNode(); + return this.tsParseAmbientExternalModuleDeclaration(node); + } + break; + } + case 129: + { + const result = this.tsParseInterfaceDeclaration(this.startNode()); + if (result) return result; + break; + } + case 127: + { + if (this.nextTokenIsIdentifierOrStringLiteralOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseDeclaration(node, 127, false, decorators); + } + break; + } + case 128: + { + if (this.nextTokenIsIdentifierOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseDeclaration(node, 128, false, decorators); + } + break; + } + case 130: + { + if (this.nextTokenIsIdentifierOnSameLine()) { + const node = this.startNode(); + this.next(); + return this.tsParseTypeAliasDeclaration(node); + } + break; + } + } + } + return super.parseStatementContent(flags, decorators); + } + parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + tsHasSomeModifiers(member, modifiers) { + return modifiers.some(modifier => { + if (tsIsAccessModifier(modifier)) { + return member.accessibility === modifier; + } + return !!member[modifier]; + }); + } + tsIsStartOfStaticBlocks() { + return this.isContextual(106) && this.lookaheadCharCode() === 123; + } + parseClassMember(classBody, member, state) { + const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"]; + this.tsParseModifiers({ + allowedModifiers: modifiers, + disallowedModifiers: ["in", "out"], + stopOnStartOfClassStaticBlock: true, + errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions + }, member); + const callParseClassMemberWithIsStatic = () => { + if (this.tsIsStartOfStaticBlocks()) { + this.next(); + this.next(); + if (this.tsHasSomeModifiers(member, modifiers)) { + this.raise(TSErrors.StaticBlockCannotHaveModifier, this.state.curPosition()); + } + super.parseClassStaticBlock(classBody, member); + } else { + this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static); + } + }; + if (member.declare) { + this.tsInAmbientContext(callParseClassMemberWithIsStatic); + } else { + callParseClassMemberWithIsStatic(); + } + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const idx = this.tsTryParseIndexSignature(member); + if (idx) { + classBody.body.push(idx); + if (member.abstract) { + this.raise(TSErrors.IndexSignatureHasAbstract, member); + } + if (member.accessibility) { + this.raise(TSErrors.IndexSignatureHasAccessibility, member, { + modifier: member.accessibility + }); + } + if (member.declare) { + this.raise(TSErrors.IndexSignatureHasDeclare, member); + } + if (member.override) { + this.raise(TSErrors.IndexSignatureHasOverride, member); + } + return; + } + if (!this.state.inAbstractClass && member.abstract) { + this.raise(TSErrors.NonAbstractClassHasAbstractMethod, member); + } + if (member.override) { + if (!state.hadSuperClass) { + this.raise(TSErrors.OverrideNotInSubClass, member); + } + } + super.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parsePostMemberNameModifiers(methodOrProp) { + const optional = this.eat(17); + if (optional) methodOrProp.optional = true; + if (methodOrProp.readonly && this.match(10)) { + this.raise(TSErrors.ClassMethodHasReadonly, methodOrProp); + } + if (methodOrProp.declare && this.match(10)) { + this.raise(TSErrors.ClassMethodHasDeclare, methodOrProp); + } + } + shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return super.shouldParseExportDeclaration(); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (!this.match(17)) return expr; + if (this.state.maybeInArrowParameters) { + const nextCh = this.lookaheadCharCode(); + if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) { + this.setOptionalParametersError(refExpressionErrors); + return expr; + } + } + return super.parseConditional(expr, startLoc, refExpressionErrors); + } + parseParenItem(node, startLoc) { + const newNode = super.parseParenItem(node, startLoc); + if (this.eat(17)) { + newNode.optional = true; + this.resetEndLocation(node); + } + if (this.match(14)) { + const typeCastNode = this.startNodeAt(startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + return node; + } + parseExportDeclaration(node) { + if (!this.state.isAmbientContext && this.isContextual(125)) { + return this.tsInAmbientContext(() => this.parseExportDeclaration(node)); + } + const startLoc = this.state.startLoc; + const isDeclare = this.eatContextual(125); + if (isDeclare && (this.isContextual(125) || !this.shouldParseExportDeclaration())) { + throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, this.state.startLoc); + } + const isIdentifier = tokenIsIdentifier(this.state.type); + const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node); + if (!declaration) return null; + if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) { + node.exportKind = "type"; + } + if (isDeclare && declaration.type !== "TSImportEqualsDeclaration") { + this.resetStartLocation(declaration, startLoc); + declaration.declare = true; + } + return declaration; + } + parseClassId(node, isStatement, optionalId, bindingType) { + if ((!isStatement || optionalId) && this.isContextual(113)) { + return; + } + super.parseClassId(node, isStatement, optionalId, node.declare ? 1024 : 8331); + const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers); + if (typeParameters) node.typeParameters = typeParameters; + } + parseClassPropertyAnnotation(node) { + if (!node.optional) { + if (this.eat(35)) { + node.definite = true; + } else if (this.eat(17)) { + node.optional = true; + } + } + const type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + if (this.state.isAmbientContext && !(node.readonly && !node.typeAnnotation) && this.match(29)) { + this.raise(TSErrors.DeclareClassFieldHasInitializer, this.state.startLoc); + } + if (node.abstract && this.match(29)) { + const { + key + } = node; + this.raise(TSErrors.AbstractPropertyHasInitializer, this.state.startLoc, { + propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` + }); + } + return super.parseClassProperty(node); + } + parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(TSErrors.PrivateElementHasAbstract, node); + } + if (node.accessibility) { + this.raise(TSErrors.PrivateElementHasAccessibility, node, { + modifier: node.accessibility + }); + } + this.parseClassPropertyAnnotation(node); + return super.parseClassPrivateProperty(node); + } + parseClassAccessorProperty(node) { + this.parseClassPropertyAnnotation(node); + if (node.optional) { + this.raise(TSErrors.AccessorCannotBeOptional, node); + } + return super.parseClassAccessorProperty(node); + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters && isConstructor) { + this.raise(TSErrors.ConstructorHasTypeParameters, typeParameters); + } + const { + declare = false, + kind + } = method; + if (declare && (kind === "get" || kind === "set")) { + this.raise(TSErrors.DeclareAccessor, method, { + kind + }); + } + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) method.typeParameters = typeParameters; + super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync); + } + declareClassPrivateMethodInScope(node, kind) { + if (node.type === "TSDeclareMethod") return; + if (node.type === "MethodDefinition" && node.value.body == null) { + return; + } + super.declareClassPrivateMethodInScope(node, kind); + } + parseClassSuper(node) { + super.parseClassSuper(node); + if (node.superClass) { + if (node.superClass.type === "TSInstantiationExpression") { + const tsInstantiationExpression = node.superClass; + const superClass = tsInstantiationExpression.expression; + this.takeSurroundingComments(superClass, superClass.start, superClass.end); + const superTypeArguments = tsInstantiationExpression.typeParameters; + this.takeSurroundingComments(superTypeArguments, superTypeArguments.start, superTypeArguments.end); + node.superClass = superClass; + node.superTypeParameters = superTypeArguments; + } else if (this.match(47) || this.match(51)) { + node.superTypeParameters = this.tsParseTypeArgumentsInExpression(); + } + } + if (this.eatContextual(113)) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) prop.typeParameters = typeParameters; + return super.parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors); + } + parseFunctionParams(node, isConstructor) { + const typeParameters = this.tsTryParseTypeParameters(this.tsParseConstModifier); + if (typeParameters) node.typeParameters = typeParameters; + super.parseFunctionParams(node, isConstructor); + } + parseVarId(decl, kind) { + super.parseVarId(decl, kind); + if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) { + decl.definite = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + parseAsyncArrowFromCallExpression(node, call) { + if (this.match(14)) { + node.returnType = this.tsParseTypeAnnotation(); + } + return super.parseAsyncArrowFromCallExpression(node, call); + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2; + let state; + let jsx; + let typeCast; + if (this.hasPlugin("jsx") && (this.match(143) || this.match(47))) { + state = this.state.clone(); + jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!jsx.error) return jsx.node; + const { + context + } = this.state; + const currentContext = context[context.length - 1]; + if (currentContext === types.j_oTag || currentContext === types.j_expr) { + context.pop(); + } + } + if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) { + return super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + } + if (!state || state === this.state) state = this.state.clone(); + let typeParameters; + const arrow = this.tryParse(abort => { + var _expr$extra, _typeParameters; + typeParameters = this.tsParseTypeParameters(this.tsParseConstModifier); + const expr = super.parseMaybeAssign(refExpressionErrors, afterLeftParse); + if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + abort(); + } + if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) { + this.resetStartLocationFromNode(expr, typeParameters); + } + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) { + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state); + if (!typeCast.error) return typeCast.node; + } + if ((_jsx2 = jsx) != null && _jsx2.node) { + this.state = jsx.failState; + return jsx.node; + } + if (arrow.node) { + this.state = arrow.failState; + if (typeParameters) this.reportReservedArrowTypeParam(typeParameters); + return arrow.node; + } + if ((_typeCast = typeCast) != null && _typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + throw ((_jsx3 = jsx) == null ? void 0 : _jsx3.error) || arrow.error || ((_typeCast2 = typeCast) == null ? void 0 : _typeCast2.error); + } + reportReservedArrowTypeParam(node) { + var _node$extra2; + if (node.params.length === 1 && !node.params[0].constraint && !((_node$extra2 = node.extra) != null && _node$extra2.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) { + this.raise(TSErrors.ReservedArrowTypeParam, node); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + if (!this.hasPlugin("jsx") && this.match(47)) { + return this.tsParseTypeAssertion(); + } + return super.parseMaybeUnary(refExpressionErrors, sawUnary); + } + parseArrow(node) { + if (this.match(14)) { + const result = this.tryParse(abort => { + const returnType = this.tsParseTypeOrTypePredicateAnnotation(14); + if (this.canInsertSemicolon() || !this.match(19)) abort(); + return returnType; + }); + if (result.aborted) return; + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + return super.parseArrow(node); + } + parseFunctionParamType(param) { + if (this.eat(17)) { + param.optional = true; + } + const type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + isAssignable(node, isBinding) { + switch (node.type) { + case "TSTypeCastExpression": + return this.isAssignable(node.expression, isBinding); + case "TSParameterProperty": + return true; + default: + return super.isAssignable(node, isBinding); + } + } + toAssignable(node, isLHS = false) { + switch (node.type) { + case "ParenthesizedExpression": + this.toAssignableParenthesizedExpression(node, isLHS); + break; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + if (isLHS) { + this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter, node); + } else { + this.raise(TSErrors.UnexpectedTypeCastInParameter, node); + } + this.toAssignable(node.expression, isLHS); + break; + case "AssignmentExpression": + if (!isLHS && node.left.type === "TSTypeCastExpression") { + node.left = this.typeCastToParameter(node.left); + } + default: + super.toAssignable(node, isLHS); + } + } + toAssignableParenthesizedExpression(node, isLHS) { + switch (node.expression.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + case "ParenthesizedExpression": + this.toAssignable(node.expression, isLHS); + break; + default: + super.toAssignable(node, isLHS); + } + } + checkToRestConversion(node, allowPattern) { + switch (node.type) { + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + case "TSNonNullExpression": + this.checkToRestConversion(node.expression, false); + break; + default: + super.checkToRestConversion(node, allowPattern); + } + } + isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding) { + switch (type) { + case "TSTypeCastExpression": + return true; + case "TSParameterProperty": + return "parameter"; + case "TSNonNullExpression": + return "expression"; + case "TSAsExpression": + case "TSSatisfiesExpression": + case "TSTypeAssertion": + return (binding !== 64 || !isUnparenthesizedInAssign) && ["expression", true]; + default: + return super.isValidLVal(type, disallowCallExpression, isUnparenthesizedInAssign, binding); + } + } + parseBindingAtom() { + if (this.state.type === 78) { + return this.parseIdentifier(true); + } + return super.parseBindingAtom(); + } + parseMaybeDecoratorArguments(expr, startLoc) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsParseTypeArgumentsInExpression(); + if (this.match(10)) { + const call = super.parseMaybeDecoratorArguments(expr, startLoc); + call.typeParameters = typeArguments; + return call; + } + this.unexpected(null, 10); + } + return super.parseMaybeDecoratorArguments(expr, startLoc); + } + checkCommaAfterRest(close) { + if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) { + this.next(); + return false; + } + return super.checkCommaAfterRest(close); + } + isClassMethod() { + return this.match(47) || super.isClassMethod(); + } + isClassProperty() { + return this.match(35) || this.match(14) || super.isClassProperty(); + } + parseMaybeDefault(startLoc, left) { + const node = super.parseMaybeDefault(startLoc, left); + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(TSErrors.TypeAnnotationAfterAssign, node.typeAnnotation); + } + return node; + } + getTokenFromCode(code) { + if (this.state.inType) { + if (code === 62) { + this.finishOp(48, 1); + return; + } + if (code === 60) { + this.finishOp(47, 1); + return; + } + } + super.getTokenFromCode(code); + } + reScan_lt_gt() { + const { + type + } = this.state; + if (type === 47) { + this.state.pos -= 1; + this.readToken_lt(); + } else if (type === 48) { + this.state.pos -= 1; + this.readToken_gt(); + } + } + reScan_lt() { + const { + type + } = this.state; + if (type === 51) { + this.state.pos -= 2; + this.finishOp(47, 1); + return 47; + } + return type; + } + toAssignableListItem(exprList, index, isLHS) { + const node = exprList[index]; + if (node.type === "TSTypeCastExpression") { + exprList[index] = this.typeCastToParameter(node); + } + super.toAssignableListItem(exprList, index, isLHS); + } + typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.loc.end); + return node.expression; + } + shouldParseArrow(params) { + if (this.match(14)) { + return params.every(expr => this.isAssignable(expr, true)); + } + return super.shouldParseArrow(params); + } + shouldParseAsyncArrow() { + return this.match(14) || super.shouldParseAsyncArrow(); + } + canHaveLeadingDecorator() { + return super.canHaveLeadingDecorator() || this.isAbstractClass(); + } + jsxParseOpeningElementAfterName(node) { + if (this.match(47) || this.match(51)) { + const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression()); + if (typeArguments) { + node.typeParameters = typeArguments; + } + } + return super.jsxParseOpeningElementAfterName(node); + } + getGetterSetterExpectedParamCount(method) { + const baseCount = super.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + const firstParam = params[0]; + const hasContextParam = firstParam && this.isThisParam(firstParam); + return hasContextParam ? baseCount + 1 : baseCount; + } + parseCatchClauseParam() { + const param = super.parseCatchClauseParam(); + const type = this.tsTryParseTypeAnnotation(); + if (type) { + param.typeAnnotation = type; + this.resetEndLocation(param); + } + return param; + } + tsInAmbientContext(cb) { + const { + isAmbientContext: oldIsAmbientContext, + strict: oldStrict + } = this.state; + this.state.isAmbientContext = true; + this.state.strict = false; + try { + return cb(); + } finally { + this.state.isAmbientContext = oldIsAmbientContext; + this.state.strict = oldStrict; + } + } + parseClass(node, isStatement, optionalId) { + const oldInAbstractClass = this.state.inAbstractClass; + this.state.inAbstractClass = !!node.abstract; + try { + return super.parseClass(node, isStatement, optionalId); + } finally { + this.state.inAbstractClass = oldInAbstractClass; + } + } + tsParseAbstractDeclaration(node, decorators) { + if (this.match(80)) { + node.abstract = true; + return this.maybeTakeDecorators(decorators, this.parseClass(node, true, false)); + } else if (this.isContextual(129)) { + if (!this.hasFollowingLineBreak()) { + node.abstract = true; + this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifier, node); + return this.tsParseInterfaceDeclaration(node); + } else { + return null; + } + } + throw this.unexpected(null, 80); + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope) { + const method = super.parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + if (method.abstract || method.type === "TSAbstractMethodDefinition") { + const hasEstreePlugin = this.hasPlugin("estree"); + const methodFn = hasEstreePlugin ? method.value : method; + if (methodFn.body) { + const { + key + } = method; + this.raise(TSErrors.AbstractMethodHasImplementation, method, { + methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(this.offsetToSourcePos(key.start), this.offsetToSourcePos(key.end))}]` + }); + } + } + return method; + } + tsParseTypeParameterName() { + const typeName = this.parseIdentifier(); + return typeName.name; + } + shouldParseAsAmbientContext() { + return !!this.getPluginOption("typescript", "dts"); + } + parse() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.parse(); + } + getExpression() { + if (this.shouldParseAsAmbientContext()) { + this.state.isAmbientContext = true; + } + return super.getExpression(); + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (!isString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport); + return this.finishNode(node, "ExportSpecifier"); + } + node.exportKind = "value"; + return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly); + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (!importedIsString && isMaybeTypeOnly) { + this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport); + return this.finishNode(specifier, "ImportSpecifier"); + } + specifier.importKind = "value"; + return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, isInTypeOnlyImport ? 4098 : 4096); + } + parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) { + const leftOfAsKey = isImport ? "imported" : "local"; + const rightOfAsKey = isImport ? "local" : "exported"; + let leftOfAs = node[leftOfAsKey]; + let rightOfAs; + let hasTypeSpecifier = false; + let canParseAsKeyword = true; + const loc = leftOfAs.loc.start; + if (this.isContextual(93)) { + const firstAs = this.parseIdentifier(); + if (this.isContextual(93)) { + const secondAs = this.parseIdentifier(); + if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + leftOfAs = firstAs; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + canParseAsKeyword = false; + } else { + rightOfAs = secondAs; + canParseAsKeyword = false; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + canParseAsKeyword = false; + rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } else { + hasTypeSpecifier = true; + leftOfAs = firstAs; + } + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + hasTypeSpecifier = true; + if (isImport) { + leftOfAs = this.parseIdentifier(true); + if (!this.isContextual(93)) { + this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true); + } + } else { + leftOfAs = this.parseModuleExportName(); + } + } + if (hasTypeSpecifier && isInTypeOnlyImportExport) { + this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, loc); + } + node[leftOfAsKey] = leftOfAs; + node[rightOfAsKey] = rightOfAs; + const kindKey = isImport ? "importKind" : "exportKind"; + node[kindKey] = hasTypeSpecifier ? "type" : "value"; + if (canParseAsKeyword && this.eatContextual(93)) { + node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName(); + } + if (!node[rightOfAsKey]) { + node[rightOfAsKey] = this.cloneIdentifier(node[leftOfAsKey]); + } + if (isImport) { + this.checkIdentifier(node[rightOfAsKey], hasTypeSpecifier ? 4098 : 4096); + } + } + fillOptionalPropertiesForTSESLint(node) { + var _node$phase, _node$directive, _node$decorators, _node$optional, _node$typeAnnotation, _node$accessibility, _node$decorators2, _node$override, _node$readonly, _node$static, _node$declare, _node$returnType, _node$typeParameters, _node$optional2, _node$optional3, _node$accessibility2, _node$readonly2, _node$static2, _node$declare2, _node$definite, _node$readonly3, _node$typeAnnotation2, _node$accessibility3, _node$decorators3, _node$override2, _node$optional4, _node$id, _node$abstract, _node$declare3, _node$decorators4, _node$implements, _node$superTypeArgume, _node$typeParameters2, _node$declare4, _node$definite2, _node$const, _node$declare5, _node$computed, _node$qualifier, _node$options, _node$declare6, _node$extends, _node$optional5, _node$readonly4, _node$declare7, _node$global, _node$const2, _node$in, _node$out; + switch (node.type) { + case "ImportDeclaration": + (_node$phase = node.phase) != null ? _node$phase : node.phase = null; + return; + case "ExpressionStatement": + (_node$directive = node.directive) != null ? _node$directive : node.directive = undefined; + return; + case "RestElement": + node.value = undefined; + case "Identifier": + case "ArrayPattern": + case "AssignmentPattern": + case "ObjectPattern": + (_node$decorators = node.decorators) != null ? _node$decorators : node.decorators = []; + (_node$optional = node.optional) != null ? _node$optional : node.optional = false; + (_node$typeAnnotation = node.typeAnnotation) != null ? _node$typeAnnotation : node.typeAnnotation = undefined; + return; + case "TSParameterProperty": + (_node$accessibility = node.accessibility) != null ? _node$accessibility : node.accessibility = undefined; + (_node$decorators2 = node.decorators) != null ? _node$decorators2 : node.decorators = []; + (_node$override = node.override) != null ? _node$override : node.override = false; + (_node$readonly = node.readonly) != null ? _node$readonly : node.readonly = false; + (_node$static = node.static) != null ? _node$static : node.static = false; + return; + case "TSEmptyBodyFunctionExpression": + node.body = null; + case "TSDeclareFunction": + case "FunctionDeclaration": + case "FunctionExpression": + case "ClassMethod": + case "ClassPrivateMethod": + (_node$declare = node.declare) != null ? _node$declare : node.declare = false; + (_node$returnType = node.returnType) != null ? _node$returnType : node.returnType = undefined; + (_node$typeParameters = node.typeParameters) != null ? _node$typeParameters : node.typeParameters = undefined; + return; + case "Property": + (_node$optional2 = node.optional) != null ? _node$optional2 : node.optional = false; + return; + case "TSMethodSignature": + case "TSPropertySignature": + (_node$optional3 = node.optional) != null ? _node$optional3 : node.optional = false; + case "TSIndexSignature": + (_node$accessibility2 = node.accessibility) != null ? _node$accessibility2 : node.accessibility = undefined; + (_node$readonly2 = node.readonly) != null ? _node$readonly2 : node.readonly = false; + (_node$static2 = node.static) != null ? _node$static2 : node.static = false; + return; + case "TSAbstractPropertyDefinition": + case "PropertyDefinition": + case "TSAbstractAccessorProperty": + case "AccessorProperty": + (_node$declare2 = node.declare) != null ? _node$declare2 : node.declare = false; + (_node$definite = node.definite) != null ? _node$definite : node.definite = false; + (_node$readonly3 = node.readonly) != null ? _node$readonly3 : node.readonly = false; + (_node$typeAnnotation2 = node.typeAnnotation) != null ? _node$typeAnnotation2 : node.typeAnnotation = undefined; + case "TSAbstractMethodDefinition": + case "MethodDefinition": + (_node$accessibility3 = node.accessibility) != null ? _node$accessibility3 : node.accessibility = undefined; + (_node$decorators3 = node.decorators) != null ? _node$decorators3 : node.decorators = []; + (_node$override2 = node.override) != null ? _node$override2 : node.override = false; + (_node$optional4 = node.optional) != null ? _node$optional4 : node.optional = false; + return; + case "ClassExpression": + (_node$id = node.id) != null ? _node$id : node.id = null; + case "ClassDeclaration": + (_node$abstract = node.abstract) != null ? _node$abstract : node.abstract = false; + (_node$declare3 = node.declare) != null ? _node$declare3 : node.declare = false; + (_node$decorators4 = node.decorators) != null ? _node$decorators4 : node.decorators = []; + (_node$implements = node.implements) != null ? _node$implements : node.implements = []; + (_node$superTypeArgume = node.superTypeArguments) != null ? _node$superTypeArgume : node.superTypeArguments = undefined; + (_node$typeParameters2 = node.typeParameters) != null ? _node$typeParameters2 : node.typeParameters = undefined; + return; + case "TSTypeAliasDeclaration": + case "VariableDeclaration": + (_node$declare4 = node.declare) != null ? _node$declare4 : node.declare = false; + return; + case "VariableDeclarator": + (_node$definite2 = node.definite) != null ? _node$definite2 : node.definite = false; + return; + case "TSEnumDeclaration": + (_node$const = node.const) != null ? _node$const : node.const = false; + (_node$declare5 = node.declare) != null ? _node$declare5 : node.declare = false; + return; + case "TSEnumMember": + (_node$computed = node.computed) != null ? _node$computed : node.computed = false; + return; + case "TSImportType": + (_node$qualifier = node.qualifier) != null ? _node$qualifier : node.qualifier = null; + (_node$options = node.options) != null ? _node$options : node.options = null; + return; + case "TSInterfaceDeclaration": + (_node$declare6 = node.declare) != null ? _node$declare6 : node.declare = false; + (_node$extends = node.extends) != null ? _node$extends : node.extends = []; + return; + case "TSMappedType": + (_node$optional5 = node.optional) != null ? _node$optional5 : node.optional = false; + (_node$readonly4 = node.readonly) != null ? _node$readonly4 : node.readonly = undefined; + return; + case "TSModuleDeclaration": + (_node$declare7 = node.declare) != null ? _node$declare7 : node.declare = false; + (_node$global = node.global) != null ? _node$global : node.global = node.kind === "global"; + return; + case "TSTypeParameter": + (_node$const2 = node.const) != null ? _node$const2 : node.const = false; + (_node$in = node.in) != null ? _node$in : node.in = false; + (_node$out = node.out) != null ? _node$out : node.out = false; + return; + } + } + chStartsBindingIdentifierAndNotRelationalOperator(ch, pos) { + if (isIdentifierStart(ch)) { + keywordAndTSRelationalOperator.lastIndex = pos; + if (keywordAndTSRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordAndTSRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifierAndNotRelationalOperator(nextCh, next); + } + nextTokenIsIdentifierOrStringLiteralOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next) || nextCh === 34 || nextCh === 39; + } +}; +function isPossiblyLiteralEnum(expression) { + if (expression.type !== "MemberExpression") return false; + const { + computed, + property + } = expression; + if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +function isValidAmbientConstInitializer(expression, estree) { + var _expression$extra; + const { + type + } = expression; + if ((_expression$extra = expression.extra) != null && _expression$extra.parenthesized) { + return false; + } + if (estree) { + if (type === "Literal") { + const { + value + } = expression; + if (typeof value === "string" || typeof value === "boolean") { + return true; + } + } + } else { + if (type === "StringLiteral" || type === "BooleanLiteral") { + return true; + } + } + if (isNumber(expression, estree) || isNegativeNumber(expression, estree)) { + return true; + } + if (type === "TemplateLiteral" && expression.expressions.length === 0) { + return true; + } + if (isPossiblyLiteralEnum(expression)) { + return true; + } + return false; +} +function isNumber(expression, estree) { + if (estree) { + return expression.type === "Literal" && (typeof expression.value === "number" || "bigint" in expression); + } + return expression.type === "NumericLiteral" || expression.type === "BigIntLiteral"; +} +function isNegativeNumber(expression, estree) { + if (expression.type === "UnaryExpression") { + const { + operator, + argument + } = expression; + if (operator === "-" && isNumber(argument, estree)) { + return true; + } + } + return false; +} +function isUncomputedMemberExpressionChain(expression) { + if (expression.type === "Identifier") return true; + if (expression.type !== "MemberExpression" || expression.computed) { + return false; + } + return isUncomputedMemberExpressionChain(expression.object); +} +const PlaceholderErrors = ParseErrorEnum`placeholders`({ + ClassNameIsRequired: "A class name is required.", + UnexpectedSpace: "Unexpected space in placeholder." +}); +var placeholders = superClass => class PlaceholdersParserMixin extends superClass { + parsePlaceholder(expectedNode) { + if (this.match(133)) { + const node = this.startNode(); + this.next(); + this.assertNoSpace(); + node.name = super.parseIdentifier(true); + this.assertNoSpace(); + this.expect(133); + return this.finishPlaceholder(node, expectedNode); + } + } + finishPlaceholder(node, expectedNode) { + let placeholder = node; + if (!placeholder.expectedNode || !placeholder.type) { + placeholder = this.finishNode(placeholder, "Placeholder"); + } + placeholder.expectedNode = expectedNode; + return placeholder; + } + getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + this.finishOp(133, 2); + } else { + super.getTokenFromCode(code); + } + } + parseExprAtom(refExpressionErrors) { + return this.parsePlaceholder("Expression") || super.parseExprAtom(refExpressionErrors); + } + parseIdentifier(liberal) { + return this.parsePlaceholder("Identifier") || super.parseIdentifier(liberal); + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word !== undefined) { + super.checkReservedWord(word, startLoc, checkKeywords, isBinding); + } + } + cloneIdentifier(node) { + const cloned = super.cloneIdentifier(node); + if (cloned.type === "Placeholder") { + cloned.expectedNode = node.expectedNode; + } + return cloned; + } + cloneStringLiteral(node) { + if (node.type === "Placeholder") { + return this.cloneIdentifier(node); + } + return super.cloneStringLiteral(node); + } + parseBindingAtom() { + return this.parsePlaceholder("Pattern") || super.parseBindingAtom(); + } + isValidLVal(type, disallowCallExpression, isParenthesized, binding) { + return type === "Placeholder" || super.isValidLVal(type, disallowCallExpression, isParenthesized, binding); + } + toAssignable(node, isLHS) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + } else { + super.toAssignable(node, isLHS); + } + } + chStartsBindingIdentifier(ch, pos) { + if (super.chStartsBindingIdentifier(ch, pos)) { + return true; + } + const next = this.nextTokenStart(); + if (this.input.charCodeAt(next) === 37 && this.input.charCodeAt(next + 1) === 37) { + return true; + } + return false; + } + verifyBreakContinue(node, isBreak) { + var _node$label; + if (((_node$label = node.label) == null ? void 0 : _node$label.type) === "Placeholder") return; + super.verifyBreakContinue(node, isBreak); + } + parseExpressionStatement(node, expr) { + var _expr$extra; + if (expr.type !== "Placeholder" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) { + return super.parseExpressionStatement(node, expr); + } + if (this.match(14)) { + const stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = super.parseStatementOrSloppyAnnexBFunctionDeclaration(); + return this.finishNode(stmt, "LabeledStatement"); + } + this.semicolon(); + const stmtPlaceholder = node; + stmtPlaceholder.name = expr.name; + return this.finishPlaceholder(stmtPlaceholder, "Statement"); + } + parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse) { + return this.parsePlaceholder("BlockStatement") || super.parseBlock(allowDirectives, createNewLexicalScope, afterBlockParse); + } + parseFunctionId(requireId) { + return this.parsePlaceholder("Identifier") || super.parseFunctionId(requireId); + } + parseClass(node, isStatement, optionalId) { + const type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + const oldStrict = this.state.strict; + const placeholder = this.parsePlaceholder("Identifier"); + if (placeholder) { + if (this.match(81) || this.match(133) || this.match(5)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + throw this.raise(PlaceholderErrors.ClassNameIsRequired, this.state.startLoc); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + super.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || super.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, type); + } + parseExport(node, decorators) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseExport(node, decorators); + const node2 = node; + if (!this.isContextual(98) && !this.match(12)) { + node2.specifiers = []; + node2.source = null; + node2.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node2, "ExportNamedDeclaration"); + } + this.expectPlugin("exportDefaultFrom"); + const specifier = this.startNode(); + specifier.exported = placeholder; + node2.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return super.parseExport(node2, decorators); + } + isExportDefaultSpecifier() { + if (this.match(65)) { + const next = this.nextTokenStart(); + if (this.isUnparsedContextual(next, "from")) { + if (this.input.startsWith(tokenLabelName(133), this.nextTokenStartSince(next + 4))) { + return true; + } + } + } + return super.isExportDefaultSpecifier(); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + var _specifiers; + if ((_specifiers = node.specifiers) != null && _specifiers.length) { + return true; + } + return super.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + } + checkExport(node) { + const { + specifiers + } = node; + if (specifiers != null && specifiers.length) { + node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder"); + } + super.checkExport(node); + node.specifiers = specifiers; + } + parseImport(node) { + const placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return super.parseImport(node); + node.specifiers = []; + if (!this.isContextual(98) && !this.match(12)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + const specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + node.specifiers.push(this.finishNode(specifier, "ImportDefaultSpecifier")); + if (this.eat(12)) { + const hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + this.expectContextual(98); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + return this.parsePlaceholder("StringLiteral") || super.parseImportSource(); + } + assertNoSpace() { + if (this.state.start > this.offsetToSourcePos(this.state.lastTokEndLoc.index)) { + this.raise(PlaceholderErrors.UnexpectedSpace, this.state.lastTokEndLoc); + } + } +}; +var v8intrinsic = superClass => class V8IntrinsicMixin extends superClass { + parseV8Intrinsic() { + if (this.match(54)) { + const v8IntrinsicStartLoc = this.state.startLoc; + const node = this.startNode(); + this.next(); + if (tokenIsIdentifier(this.state.type)) { + const name = this.parseIdentifierName(); + const identifier = this.createIdentifier(node, name); + this.castNodeTo(identifier, "V8IntrinsicIdentifier"); + if (this.match(10)) { + return identifier; + } + } + this.unexpected(v8IntrinsicStartLoc); + } + } + parseExprAtom(refExpressionErrors) { + return this.parseV8Intrinsic() || super.parseExprAtom(refExpressionErrors); + } +}; +const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"]; +const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"]; +function validatePlugins(pluginsMap) { + if (pluginsMap.has("decorators")) { + if (pluginsMap.has("decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + const decoratorsBeforeExport = pluginsMap.get("decorators").decoratorsBeforeExport; + if (decoratorsBeforeExport != null && typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean, if specified."); + } + const allowCallParenthesized = pluginsMap.get("decorators").allowCallParenthesized; + if (allowCallParenthesized != null && typeof allowCallParenthesized !== "boolean") { + throw new Error("'allowCallParenthesized' must be a boolean."); + } + } + if (pluginsMap.has("flow") && pluginsMap.has("typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + if (pluginsMap.has("placeholders") && pluginsMap.has("v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + if (pluginsMap.has("pipelineOperator")) { + var _pluginsMap$get2; + const proposal = pluginsMap.get("pipelineOperator").proposal; + if (!PIPELINE_PROPOSALS.includes(proposal)) { + const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", "); + throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`); + } + if (proposal === "hack") { + var _pluginsMap$get; + if (pluginsMap.has("placeholders")) { + throw new Error("Cannot combine placeholders plugin and Hack-style pipes."); + } + if (pluginsMap.has("v8intrinsic")) { + throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes."); + } + const topicToken = pluginsMap.get("pipelineOperator").topicToken; + if (!TOPIC_TOKENS.includes(topicToken)) { + const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", "); + throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`); + } + if (topicToken === "#" && ((_pluginsMap$get = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get.syntaxType) === "hash") { + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); + } + } else if (proposal === "smart" && ((_pluginsMap$get2 = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get2.syntaxType) === "hash") { + throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`); + } + } + if (pluginsMap.has("moduleAttributes")) { + if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) { + throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins."); + } + const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version; + if (moduleAttributesVersionPluginOption !== "may-2020") { + throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'."); + } + } + if (pluginsMap.has("importAssertions")) { + if (pluginsMap.has("deprecatedImportAssert")) { + throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins."); + } + } + if (pluginsMap.has("deprecatedImportAssert")) ;else if (pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) { + pluginsMap.set("deprecatedImportAssert", {}); + } + if (pluginsMap.has("recordAndTuple")) { + const syntaxType = pluginsMap.get("recordAndTuple").syntaxType; + if (syntaxType != null) { + const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"]; + if (!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(syntaxType)) { + throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", ")); + } + } + } + if (pluginsMap.has("asyncDoExpressions") && !pluginsMap.has("doExpressions")) { + const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins."); + error.missingPlugins = "doExpressions"; + throw error; + } + if (pluginsMap.has("optionalChainingAssign") && pluginsMap.get("optionalChainingAssign").version !== "2023-07") { + throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is '2023-07'."); + } + if (pluginsMap.has("discardBinding") && pluginsMap.get("discardBinding").syntaxType !== "void") { + throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'."); + } +} +const mixinPlugins = { + estree, + jsx, + flow, + typescript, + v8intrinsic, + placeholders +}; +const mixinPluginNames = Object.keys(mixinPlugins); +class ExpressionParser extends LValParser { + checkProto(prop, isRecord, sawProto, refExpressionErrors) { + if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) { + return sawProto; + } + const key = prop.key; + const name = key.type === "Identifier" ? key.name : key.value; + if (name === "__proto__") { + if (isRecord) { + this.raise(Errors.RecordNoProto, key); + return true; + } + if (sawProto) { + if (refExpressionErrors) { + if (refExpressionErrors.doubleProtoLoc === null) { + refExpressionErrors.doubleProtoLoc = key.loc.start; + } + } else { + this.raise(Errors.DuplicateProto, key); + } + } + return true; + } + return sawProto; + } + shouldExitDescending(expr, potentialArrowAt) { + return expr.type === "ArrowFunctionExpression" && this.offsetToSourcePos(expr.start) === potentialArrowAt; + } + getExpression() { + this.enterInitialScopes(); + this.nextToken(); + if (this.match(140)) { + throw this.raise(Errors.ParseExpressionEmptyInput, this.state.startLoc); + } + const expr = this.parseExpression(); + if (!this.match(140)) { + throw this.raise(Errors.ParseExpressionExpectsEOF, this.state.startLoc, { + unexpected: this.input.codePointAt(this.state.start) + }); + } + this.finalizeRemainingComments(); + expr.comments = this.comments; + expr.errors = this.state.errors; + if (this.optionFlags & 256) { + expr.tokens = this.tokens; + } + return expr; + } + parseExpression(disallowIn, refExpressionErrors) { + if (disallowIn) { + return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors)); + } + parseExpressionBase(refExpressionErrors) { + const startLoc = this.state.startLoc; + const expr = this.parseMaybeAssign(refExpressionErrors); + if (this.match(12)) { + const node = this.startNodeAt(startLoc); + node.expressions = [expr]; + while (this.eat(12)) { + node.expressions.push(this.parseMaybeAssign(refExpressionErrors)); + } + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + return expr; + } + parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) { + return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) { + return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse)); + } + setOptionalParametersError(refExpressionErrors) { + refExpressionErrors.optionalParametersLoc = this.state.startLoc; + } + parseMaybeAssign(refExpressionErrors, afterLeftParse) { + const startLoc = this.state.startLoc; + const isYield = this.isContextual(108); + if (isYield) { + if (this.prodParam.hasYield) { + this.next(); + let left = this.parseYield(startLoc); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + return left; + } + } + let ownExpressionErrors; + if (refExpressionErrors) { + ownExpressionErrors = false; + } else { + refExpressionErrors = new ExpressionErrors(); + ownExpressionErrors = true; + } + const { + type + } = this.state; + if (type === 10 || tokenIsIdentifier(type)) { + this.state.potentialArrowAt = this.state.start; + } + let left = this.parseMaybeConditional(refExpressionErrors); + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startLoc); + } + if (tokenIsAssignment(this.state.type)) { + const node = this.startNodeAt(startLoc); + const operator = this.state.value; + node.operator = operator; + if (this.match(29)) { + this.toAssignable(left, true); + node.left = left; + const startIndex = startLoc.index; + if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startIndex) { + refExpressionErrors.doubleProtoLoc = null; + } + if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startIndex) { + refExpressionErrors.shorthandAssignLoc = null; + } + if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startIndex) { + this.checkDestructuringPrivate(refExpressionErrors); + refExpressionErrors.privateKeyLoc = null; + } + if (refExpressionErrors.voidPatternLoc != null && refExpressionErrors.voidPatternLoc.index >= startIndex) { + refExpressionErrors.voidPatternLoc = null; + } + } else { + node.left = left; + } + this.next(); + node.right = this.parseMaybeAssign(); + this.checkLVal(left, this.finishNode(node, "AssignmentExpression"), undefined, undefined, undefined, undefined, operator === "||=" || operator === "&&=" || operator === "??="); + return node; + } else if (ownExpressionErrors) { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (isYield) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousPrefixOrIdentifier()) { + this.raiseOverwrite(Errors.YieldNotInGeneratorFunction, startLoc); + return this.parseYield(startLoc); + } + } + return left; + } + parseMaybeConditional(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprOps(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseConditional(expr, startLoc, refExpressionErrors); + } + parseConditional(expr, startLoc, refExpressionErrors) { + if (this.eat(17)) { + const node = this.startNodeAt(startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssignAllowIn(); + this.expect(14); + node.alternate = this.parseMaybeAssign(); + return this.finishNode(node, "ConditionalExpression"); + } + return expr; + } + parseMaybeUnaryOrPrivate(refExpressionErrors) { + return this.match(139) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors); + } + parseExprOps(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseExprOp(expr, startLoc, -1); + } + parseExprOp(left, leftStartLoc, minPrec) { + if (this.isPrivateName(left)) { + const value = this.getPrivateNameSV(left); + if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) { + this.raise(Errors.PrivateInExpectedIn, left, { + identifierName: value + }); + } + this.classScope.usePrivateName(value, left.loc.start); + } + const op = this.state.type; + if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) { + let prec = tokenOperatorPrecedence(op); + if (prec > minPrec) { + if (op === 39) { + this.expectPlugin("pipelineOperator"); + if (this.state.inFSharpPipelineDirectBody) { + return left; + } + this.checkPipelineAtInfixOperator(left, leftStartLoc); + } + const node = this.startNodeAt(leftStartLoc); + node.left = left; + node.operator = this.state.value; + const logical = op === 41 || op === 42; + const coalesce = op === 40; + if (coalesce) { + prec = tokenOperatorPrecedence(42); + } + this.next(); + if (op === 39 && this.hasPlugin(["pipelineOperator", { + proposal: "minimal" + }])) { + if (this.state.type === 96 && this.prodParam.hasAwait) { + throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, this.state.startLoc); + } + } + node.right = this.parseExprOpRightExpr(op, prec); + const finishedNode = this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression"); + const nextOp = this.state.type; + if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) { + throw this.raise(Errors.MixingCoalesceWithLogical, this.state.startLoc); + } + return this.parseExprOp(finishedNode, leftStartLoc, minPrec); + } + } + return left; + } + parseExprOpRightExpr(op, prec) { + const startLoc = this.state.startLoc; + switch (op) { + case 39: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "hack": + return this.withTopicBindingContext(() => { + return this.parseHackPipeBody(); + }); + case "fsharp": + return this.withSoloAwaitPermittingContext(() => { + return this.parseFSharpPipelineBody(prec); + }); + } + if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + return this.withTopicBindingContext(() => { + if (this.prodParam.hasYield && this.isContextual(108)) { + throw this.raise(Errors.PipeBodyIsTighter, this.state.startLoc); + } + return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startLoc); + }); + } + default: + return this.parseExprOpBaseRightExpr(op, prec); + } + } + parseExprOpBaseRightExpr(op, prec) { + const startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec); + } + parseHackPipeBody() { + var _body$extra; + const { + startLoc + } = this.state; + const body = this.parseMaybeAssign(); + const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type); + if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) { + this.raise(Errors.PipeUnparenthesizedBody, startLoc, { + type: body.type + }); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipeTopicUnused, startLoc); + } + return body; + } + checkExponentialAfterUnary(node) { + if (this.match(57)) { + this.raise(Errors.UnexpectedTokenUnaryExponentiation, node.argument); + } + } + parseMaybeUnary(refExpressionErrors, sawUnary) { + const startLoc = this.state.startLoc; + const isAwait = this.isContextual(96); + if (isAwait && this.recordAwaitIfAllowed()) { + this.next(); + const expr = this.parseAwait(startLoc); + if (!sawUnary) this.checkExponentialAfterUnary(expr); + return expr; + } + const update = this.match(34); + const node = this.startNode(); + if (tokenIsPrefix(this.state.type)) { + node.operator = this.state.value; + node.prefix = true; + if (this.match(72)) { + this.expectPlugin("throwExpressions"); + } + const isDelete = this.match(89); + this.next(); + node.argument = this.parseMaybeUnary(null, true); + this.checkExpressionErrors(refExpressionErrors, true); + if (this.state.strict && isDelete) { + const arg = node.argument; + if (arg.type === "Identifier") { + this.raise(Errors.StrictDelete, node); + } else if (this.hasPropertyAsPrivateName(arg)) { + this.raise(Errors.DeletePrivateField, node); + } + } + if (!update) { + if (!sawUnary) { + this.checkExponentialAfterUnary(node); + } + return this.finishNode(node, "UnaryExpression"); + } + } + const expr = this.parseUpdate(node, update, refExpressionErrors); + if (isAwait) { + const { + type + } = this.state; + const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54); + if (startsExpr && !this.isAmbiguousPrefixOrIdentifier()) { + this.raiseOverwrite(Errors.AwaitNotInAsyncContext, startLoc); + return this.parseAwait(startLoc); + } + } + return expr; + } + parseUpdate(node, update, refExpressionErrors) { + if (update) { + const updateExpressionNode = node; + this.checkLVal(updateExpressionNode.argument, this.finishNode(updateExpressionNode, "UpdateExpression")); + return node; + } + const startLoc = this.state.startLoc; + let expr = this.parseExprSubscripts(refExpressionErrors); + if (this.checkExpressionErrors(refExpressionErrors, false)) return expr; + while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) { + const node = this.startNodeAt(startLoc); + node.operator = this.state.value; + node.prefix = false; + node.argument = expr; + this.next(); + this.checkLVal(expr, expr = this.finishNode(node, "UpdateExpression")); + } + return expr; + } + parseExprSubscripts(refExpressionErrors) { + const startLoc = this.state.startLoc; + const potentialArrowAt = this.state.potentialArrowAt; + const expr = this.parseExprAtom(refExpressionErrors); + if (this.shouldExitDescending(expr, potentialArrowAt)) { + return expr; + } + return this.parseSubscripts(expr, startLoc); + } + parseSubscripts(base, startLoc, noCalls) { + const state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsyncArrow(base), + stop: false + }; + do { + base = this.parseSubscript(base, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + return base; + } + parseSubscript(base, startLoc, noCalls, state) { + const { + type + } = this.state; + if (!noCalls && type === 15) { + return this.parseBind(base, startLoc, state); + } else if (tokenIsTemplate(type)) { + return this.parseTaggedTemplateExpression(base, startLoc, state); + } + let optional = false; + if (type === 18) { + if (noCalls) { + this.raise(Errors.OptionalChainingNoNew, this.state.startLoc); + if (this.lookaheadCharCode() === 40) { + return this.stopParseSubscript(base, state); + } + } + state.optionalChainMember = optional = true; + this.next(); + } + if (!noCalls && this.match(10)) { + return this.parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional); + } else { + const computed = this.eat(0); + if (computed || optional || this.eat(16)) { + return this.parseMember(base, startLoc, state, computed, optional); + } else { + return this.stopParseSubscript(base, state); + } + } + } + stopParseSubscript(base, state) { + state.stop = true; + return base; + } + parseMember(base, startLoc, state, computed, optional) { + const node = this.startNodeAt(startLoc); + node.object = base; + node.computed = computed; + if (computed) { + node.property = this.parseExpression(); + this.expect(3); + } else if (this.match(139)) { + if (base.type === "Super") { + this.raise(Errors.SuperPrivateField, startLoc); + } + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + if (state.optionalChainMember) { + node.optional = optional; + return this.finishNode(node, "OptionalMemberExpression"); + } else { + return this.finishNode(node, "MemberExpression"); + } + } + parseBind(base, startLoc, state) { + const node = this.startNodeAt(startLoc); + node.object = base; + this.next(); + const isImport = this.match(83); + const callee = this.parseNoCallExpr(); + if (callee.type === "Super" || isImport && callee.type === "ImportExpression" || callee.type === "Import") { + throw this.raise(Errors.UnsupportedBindRHS, callee); + } + node.callee = callee; + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startLoc, false); + } + parseCoverCallAndAsyncArrowHead(base, startLoc, state, optional) { + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + let refExpressionErrors = null; + this.state.maybeInArrowParameters = true; + this.next(); + const node = this.startNodeAt(startLoc); + node.callee = base; + const { + maybeAsyncArrow, + optionalChainMember + } = state; + if (maybeAsyncArrow) { + this.expressionScope.enter(newAsyncArrowScope()); + refExpressionErrors = new ExpressionErrors(); + } + if (optionalChainMember) { + node.optional = optional; + } + if (optional) { + node.arguments = this.parseCallExpressionArguments(); + } else { + node.arguments = this.parseCallExpressionArguments(base.type !== "Super", node, refExpressionErrors); + } + let finishedNode = this.finishCallExpression(node, optionalChainMember); + if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) { + state.stop = true; + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + finishedNode = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc), finishedNode); + } else { + if (maybeAsyncArrow) { + this.checkExpressionErrors(refExpressionErrors, true); + this.expressionScope.exit(); + } + this.toReferencedArguments(finishedNode); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return finishedNode; + } + toReferencedArguments(node, isParenthesizedExpr) { + this.toReferencedListDeep(node.arguments, isParenthesizedExpr); + } + parseTaggedTemplateExpression(base, startLoc, state) { + const node = this.startNodeAt(startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + if (state.optionalChainMember) { + this.raise(Errors.OptionalChainingNoTemplate, startLoc); + } + return this.finishNode(node, "TaggedTemplateExpression"); + } + atPossibleAsyncArrow(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && this.offsetToSourcePos(base.start) === this.state.potentialArrowAt; + } + finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length === 0 || node.arguments.length > 2) { + this.raise(Errors.ImportCallArity, node); + } else { + for (const arg of node.arguments) { + if (arg.type === "SpreadElement") { + this.raise(Errors.ImportCallSpreadArgument, arg); + } + } + } + } + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + parseCallExpressionArguments(allowPlaceholder, nodeForExtra, refExpressionErrors) { + const elts = []; + let first = true; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + while (!this.eat(11)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(11)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(11, false, refExpressionErrors, allowPlaceholder)); + } + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + shouldParseAsyncArrow() { + return this.match(19) && !this.canInsertSemicolon(); + } + parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + this.resetPreviousNodeTrailingComments(call); + this.expect(19); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc); + if (call.innerComments) { + setInnerComments(node, call.innerComments); + } + if (call.callee.trailingComments) { + setInnerComments(node, call.callee.trailingComments); + } + return node; + } + parseNoCallExpr() { + const startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startLoc, true); + } + parseExprAtom(refExpressionErrors) { + let node; + let decorators = null; + const { + type + } = this.state; + switch (type) { + case 79: + return this.parseSuper(); + case 83: + node = this.startNode(); + this.next(); + if (this.match(16)) { + return this.parseImportMetaPropertyOrPhaseCall(node); + } + if (this.match(10)) { + if (this.optionFlags & 512) { + return this.parseImportCall(node); + } else { + return this.finishNode(node, "Import"); + } + } else { + this.raise(Errors.UnsupportedImport, this.state.lastTokStartLoc); + return this.finishNode(node, "Import"); + } + case 78: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + case 90: + { + return this.parseDo(this.startNode(), false); + } + case 56: + case 31: + { + this.readRegexp(); + return this.parseRegExpLiteral(this.state.value); + } + case 135: + return this.parseNumericLiteral(this.state.value); + case 136: + return this.parseBigIntLiteral(this.state.value); + case 134: + return this.parseStringLiteral(this.state.value); + case 84: + return this.parseNullLiteral(); + case 85: + return this.parseBooleanLiteral(true); + case 86: + return this.parseBooleanLiteral(false); + case 10: + { + const canBeArrow = this.state.potentialArrowAt === this.state.start; + return this.parseParenAndDistinguishExpression(canBeArrow); + } + case 0: + { + return this.parseArrayLike(3, false, refExpressionErrors); + } + case 5: + { + return this.parseObjectLike(8, false, false, refExpressionErrors); + } + case 68: + return this.parseFunctionOrFunctionSent(); + case 26: + decorators = this.parseDecorators(); + case 80: + return this.parseClass(this.maybeTakeDecorators(decorators, this.startNode()), false); + case 77: + return this.parseNewOrNewTarget(); + case 25: + case 24: + return this.parseTemplate(false); + case 15: + { + node = this.startNode(); + this.next(); + node.object = null; + const callee = node.callee = this.parseNoCallExpr(); + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(Errors.UnsupportedBind, callee); + } + } + case 139: + { + this.raise(Errors.PrivateInExpectedIn, this.state.startLoc, { + identifierName: this.state.value + }); + return this.parsePrivateName(); + } + case 33: + { + return this.parseTopicReferenceThenEqualsSign(54, "%"); + } + case 32: + { + return this.parseTopicReferenceThenEqualsSign(44, "^"); + } + case 37: + case 38: + { + return this.parseTopicReference("hack"); + } + case 44: + case 54: + case 27: + { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + return this.parseTopicReference(pipeProposal); + } + throw this.unexpected(); + } + case 47: + { + const lookaheadCh = this.input.codePointAt(this.nextTokenStart()); + if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) { + throw this.expectOnePlugin(["jsx", "flow", "typescript"]); + } + throw this.unexpected(); + } + default: + if (type === 137) { + return this.parseDecimalLiteral(this.state.value); + } else if (type === 2 || type === 1) { + return this.parseArrayLike(this.state.type === 2 ? 4 : 3, true); + } else if (type === 6 || type === 7) { + return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true); + } + if (tokenIsIdentifier(type)) { + if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) { + return this.parseModuleExpression(); + } + const canBeArrow = this.state.potentialArrowAt === this.state.start; + const containsEsc = this.state.containsEsc; + const id = this.parseIdentifier(); + if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) { + const { + type + } = this.state; + if (type === 68) { + this.resetPreviousNodeTrailingComments(id); + this.next(); + return this.parseAsyncFunctionExpression(this.startNodeAtNode(id)); + } else if (tokenIsIdentifier(type)) { + if (canBeArrow && this.lookaheadCharCode() === 61) { + return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id)); + } else { + return id; + } + } else if (type === 90) { + this.resetPreviousNodeTrailingComments(id); + return this.parseDo(this.startNodeAtNode(id), true); + } + } + if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) { + this.next(); + return this.parseArrowExpression(this.startNodeAtNode(id), [id], false); + } + return id; + } else { + throw this.unexpected(); + } + } + } + parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) { + const pipeProposal = this.getPluginOption("pipelineOperator", "proposal"); + if (pipeProposal) { + this.state.type = topicTokenType; + this.state.value = topicTokenValue; + this.state.pos--; + this.state.end--; + this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1); + return this.parseTopicReference(pipeProposal); + } + throw this.unexpected(); + } + parseTopicReference(pipeProposal) { + const node = this.startNode(); + const startLoc = this.state.startLoc; + const tokenType = this.state.type; + this.next(); + return this.finishTopicReference(node, startLoc, pipeProposal, tokenType); + } + finishTopicReference(node, startLoc, pipeProposal, tokenType) { + if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) { + if (pipeProposal === "hack") { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PipeTopicUnbound, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "TopicReference"); + } else { + if (!this.topicReferenceIsAllowedInCurrentContext()) { + this.raise(Errors.PrimaryTopicNotAllowed, startLoc); + } + this.registerTopicReference(); + return this.finishNode(node, "PipelinePrimaryTopicReference"); + } + } else { + throw this.raise(Errors.PipeTopicUnconfiguredToken, startLoc, { + token: tokenLabelName(tokenType) + }); + } + } + testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) { + switch (pipeProposal) { + case "hack": + { + return this.hasPlugin(["pipelineOperator", { + topicToken: tokenLabelName(tokenType) + }]); + } + case "smart": + return tokenType === 27; + default: + throw this.raise(Errors.PipeTopicRequiresHackPipes, startLoc); + } + } + parseAsyncArrowUnaryFunction(node) { + this.prodParam.enter(functionFlags(true, this.prodParam.hasYield)); + const params = [this.parseIdentifier()]; + this.prodParam.exit(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.LineTerminatorBeforeArrow, this.state.curPosition()); + } + this.expect(19); + return this.parseArrowExpression(node, params, true); + } + parseDo(node, isAsync) { + this.expectPlugin("doExpressions"); + if (isAsync) { + this.expectPlugin("asyncDoExpressions"); + } + node.async = isAsync; + this.next(); + const oldLabels = this.state.labels; + this.state.labels = []; + if (isAsync) { + this.prodParam.enter(2); + node.body = this.parseBlock(); + this.prodParam.exit(); + } else { + node.body = this.parseBlock(); + } + this.state.labels = oldLabels; + return this.finishNode(node, "DoExpression"); + } + parseSuper() { + const node = this.startNode(); + this.next(); + if (this.match(10) && !this.scope.allowDirectSuper) { + if (!(this.optionFlags & 16)) { + this.raise(Errors.SuperNotAllowed, node); + } + } else if (!this.scope.allowSuper) { + if (!(this.optionFlags & 16)) { + this.raise(Errors.UnexpectedSuper, node); + } + } + if (!this.match(10) && !this.match(0) && !this.match(16)) { + this.raise(Errors.UnsupportedSuper, node); + } + return this.finishNode(node, "Super"); + } + parsePrivateName() { + const node = this.startNode(); + const id = this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc, 1)); + const name = this.state.value; + this.next(); + node.id = this.createIdentifier(id, name); + return this.finishNode(node, "PrivateName"); + } + parseFunctionOrFunctionSent() { + const node = this.startNode(); + this.next(); + if (this.prodParam.hasYield && this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "function"); + this.next(); + if (this.match(103)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + return this.parseMetaProperty(node, meta, "sent"); + } + return this.parseFunction(node); + } + parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + const containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + if (node.property.name !== propertyName || containsEsc) { + this.raise(Errors.UnsupportedMetaProperty, node.property, { + target: meta.name, + onlyValidPropertyName: propertyName + }); + } + return this.finishNode(node, "MetaProperty"); + } + parseImportMetaPropertyOrPhaseCall(node) { + this.next(); + if (this.isContextual(105) || this.isContextual(97)) { + const isSource = this.isContextual(105); + this.expectPlugin(isSource ? "sourcePhaseImports" : "deferredImportEvaluation"); + this.next(); + node.phase = isSource ? "source" : "defer"; + return this.parseImportCall(node); + } else { + const id = this.createIdentifierAt(this.startNodeAtNode(node), "import", this.state.lastTokStartLoc); + if (this.isContextual(101)) { + if (!this.inModule) { + this.raise(Errors.ImportMetaOutsideModule, id); + } + this.sawUnambiguousESM = true; + } + return this.parseMetaProperty(node, id, "meta"); + } + } + parseLiteralAtNode(value, type, node) { + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + parseLiteral(value, type) { + const node = this.startNode(); + return this.parseLiteralAtNode(value, type, node); + } + parseStringLiteral(value) { + return this.parseLiteral(value, "StringLiteral"); + } + parseNumericLiteral(value) { + return this.parseLiteral(value, "NumericLiteral"); + } + parseBigIntLiteral(value) { + return this.parseLiteral(value, "BigIntLiteral"); + } + parseDecimalLiteral(value) { + return this.parseLiteral(value, "DecimalLiteral"); + } + parseRegExpLiteral(value) { + const node = this.startNode(); + this.addExtra(node, "raw", this.input.slice(this.offsetToSourcePos(node.start), this.state.end)); + node.pattern = value.pattern; + node.flags = value.flags; + this.next(); + return this.finishNode(node, "RegExpLiteral"); + } + parseBooleanLiteral(value) { + const node = this.startNode(); + node.value = value; + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + parseNullLiteral() { + const node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + } + parseParenAndDistinguishExpression(canBeArrow) { + const startLoc = this.state.startLoc; + let val; + this.next(); + this.expressionScope.enter(newArrowHeadScope()); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.inFSharpPipelineDirectBody = false; + const innerStartLoc = this.state.startLoc; + const exprList = []; + const refExpressionErrors = new ExpressionErrors(); + let first = true; + let spreadStartLoc; + let optionalCommaStartLoc; + while (!this.match(11)) { + if (first) { + first = false; + } else { + this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc); + if (this.match(11)) { + optionalCommaStartLoc = this.state.startLoc; + break; + } + } + if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + spreadStartLoc = this.state.startLoc; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartLoc)); + if (!this.checkCommaAfterRest(41)) { + break; + } + } else { + exprList.push(this.parseMaybeAssignAllowInOrVoidPattern(11, refExpressionErrors, this.parseParenItem)); + } + } + const innerEndLoc = this.state.lastTokEndLoc; + this.expect(11); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let arrowNode = this.startNodeAt(startLoc); + if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) { + this.checkDestructuringPrivate(refExpressionErrors); + this.expressionScope.validateAsPattern(); + this.expressionScope.exit(); + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + this.expressionScope.exit(); + if (!exprList.length) { + this.unexpected(this.state.lastTokStartLoc); + } + if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc); + if (spreadStartLoc) this.unexpected(spreadStartLoc); + this.checkExpressionErrors(refExpressionErrors, true); + this.toReferencedListDeep(exprList, true); + if (exprList.length > 1) { + val = this.startNodeAt(innerStartLoc); + val.expressions = exprList; + this.finishNode(val, "SequenceExpression"); + this.resetEndLocation(val, innerEndLoc); + } else { + val = exprList[0]; + } + return this.wrapParenthesis(startLoc, val); + } + wrapParenthesis(startLoc, expression) { + if (!(this.optionFlags & 1024)) { + this.addExtra(expression, "parenthesized", true); + this.addExtra(expression, "parenStart", startLoc.index); + this.takeSurroundingComments(expression, startLoc.index, this.state.lastTokEndLoc.index); + return expression; + } + const parenExpression = this.startNodeAt(startLoc); + parenExpression.expression = expression; + return this.finishNode(parenExpression, "ParenthesizedExpression"); + } + shouldParseArrow(params) { + return !this.canInsertSemicolon(); + } + parseArrow(node) { + if (this.eat(19)) { + return node; + } + } + parseParenItem(node, startLoc) { + return node; + } + parseNewOrNewTarget() { + const node = this.startNode(); + this.next(); + if (this.match(16)) { + const meta = this.createIdentifier(this.startNodeAtNode(node), "new"); + this.next(); + const metaProp = this.parseMetaProperty(node, meta, "target"); + if (!this.scope.allowNewTarget) { + this.raise(Errors.UnexpectedNewTarget, metaProp); + } + return metaProp; + } + return this.parseNew(node); + } + parseNew(node) { + this.parseNewCallee(node); + if (this.eat(10)) { + const args = this.parseExprList(11); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + return this.finishNode(node, "NewExpression"); + } + parseNewCallee(node) { + const isImport = this.match(83); + const callee = this.parseNoCallExpr(); + node.callee = callee; + if (isImport && callee.type === "ImportExpression" || callee.type === "Import") { + this.raise(Errors.ImportCallNotNewExpression, callee); + } + if (callee.type === "Super") { + this.raise(Errors.SuperCallNotNewExpression, callee); + } + } + parseTemplateElement(isTagged) { + const { + start, + startLoc, + end, + value + } = this.state; + const elemStart = start + 1; + const elem = this.startNodeAt(createPositionWithColumnOffset(startLoc, 1)); + if (value === null) { + if (!isTagged) { + this.raise(Errors.InvalidEscapeSequenceTemplate, createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos, 1)); + } + } + const isTail = this.match(24); + const endOffset = isTail ? -1 : -2; + const elemEnd = end + endOffset; + elem.value = { + raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"), + cooked: value === null ? null : value.slice(1, endOffset) + }; + elem.tail = isTail; + this.next(); + const finishedNode = this.finishNode(elem, "TemplateElement"); + this.resetEndLocation(finishedNode, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset)); + return finishedNode; + } + parseTemplate(isTagged) { + const node = this.startNode(); + let curElt = this.parseTemplateElement(isTagged); + const quasis = [curElt]; + const substitutions = []; + while (!curElt.tail) { + substitutions.push(this.parseTemplateSubstitution()); + this.readTemplateContinuation(); + quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + node.expressions = substitutions; + node.quasis = quasis; + return this.finishNode(node, "TemplateLiteral"); + } + parseTemplateSubstitution() { + return this.parseExpression(); + } + parseObjectLike(close, isPattern, isRecord, refExpressionErrors) { + if (isRecord) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + let sawProto = false; + let first = true; + const node = this.startNode(); + node.properties = []; + this.next(); + while (!this.match(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + this.addTrailingCommaExtraToNode(node); + break; + } + } + let prop; + if (isPattern) { + prop = this.parseBindingProperty(); + } else { + prop = this.parsePropertyDefinition(refExpressionErrors); + sawProto = this.checkProto(prop, isRecord, sawProto, refExpressionErrors); + } + if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") { + this.raise(Errors.InvalidRecordProperty, prop); + } + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + node.properties.push(prop); + } + this.next(); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + let type = "ObjectExpression"; + if (isPattern) { + type = "ObjectPattern"; + } else if (isRecord) { + type = "RecordExpression"; + } + return this.finishNode(node, type); + } + addTrailingCommaExtraToNode(node) { + this.addExtra(node, "trailingComma", this.state.lastTokStartLoc.index); + this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); + } + maybeAsyncOrAccessorProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55)); + } + parsePropertyDefinition(refExpressionErrors) { + let decorators = []; + if (this.match(26)) { + if (this.hasPlugin("decorators")) { + this.raise(Errors.UnsupportedPropertyDecorator, this.state.startLoc); + } + while (this.match(26)) { + decorators.push(this.parseDecorator()); + } + } + const prop = this.startNode(); + let isAsync = false; + let isAccessor = false; + let startLoc; + if (this.match(21)) { + if (decorators.length) this.unexpected(); + return this.parseSpread(); + } + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + prop.method = false; + if (refExpressionErrors) { + startLoc = this.state.startLoc; + } + let isGenerator = this.eat(55); + this.parsePropertyNamePrefixOperator(prop); + const containsEsc = this.state.containsEsc; + this.parsePropertyName(prop, refExpressionErrors); + if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) { + const { + key + } = prop; + const keyName = key.name; + if (keyName === "async" && !this.hasPrecedingLineBreak()) { + isAsync = true; + this.resetPreviousNodeTrailingComments(key); + isGenerator = this.eat(55); + this.parsePropertyName(prop); + } + if (keyName === "get" || keyName === "set") { + isAccessor = true; + this.resetPreviousNodeTrailingComments(key); + prop.kind = keyName; + if (this.match(55)) { + isGenerator = true; + this.raise(Errors.AccessorIsGenerator, this.state.curPosition(), { + kind: keyName + }); + this.next(); + } + this.parsePropertyName(prop); + } + } + return this.parseObjPropValue(prop, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors); + } + getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + getObjectOrClassMethodParams(method) { + return method.params; + } + checkGetterSetterParams(method) { + var _params; + const paramCount = this.getGetterSetterExpectedParamCount(method); + const params = this.getObjectOrClassMethodParams(method); + if (params.length !== paramCount) { + this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, method); + } + if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") { + this.raise(Errors.BadSetterRestParameter, method); + } + } + parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) { + if (isAccessor) { + const finishedProp = this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(finishedProp); + return finishedProp; + } + if (isAsync || isGenerator || this.match(10)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + } + parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors) { + prop.shorthand = false; + if (this.eat(14)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.startLoc) : this.parseMaybeAssignAllowInOrVoidPattern(8, refExpressionErrors); + return this.finishObjectProperty(prop); + } + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false); + if (isPattern) { + prop.value = this.parseMaybeDefault(startLoc, this.cloneIdentifier(prop.key)); + } else if (this.match(29)) { + const shorthandAssignLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.shorthandAssignLoc === null) { + refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc; + } + } else { + this.raise(Errors.InvalidCoverInitializedName, shorthandAssignLoc); + } + prop.value = this.parseMaybeDefault(startLoc, this.cloneIdentifier(prop.key)); + } else { + prop.value = this.cloneIdentifier(prop.key); + } + prop.shorthand = true; + return this.finishObjectProperty(prop); + } + } + finishObjectProperty(node) { + return this.finishNode(node, "ObjectProperty"); + } + parseObjPropValue(prop, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) { + const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startLoc, isPattern, refExpressionErrors); + if (!node) this.unexpected(); + return node; + } + parsePropertyName(prop, refExpressionErrors) { + if (this.eat(0)) { + prop.computed = true; + prop.key = this.parseMaybeAssignAllowIn(); + this.expect(3); + } else { + const { + type, + value + } = this.state; + let key; + if (tokenIsKeywordOrIdentifier(type)) { + key = this.parseIdentifier(true); + } else { + switch (type) { + case 135: + key = this.parseNumericLiteral(value); + break; + case 134: + key = this.parseStringLiteral(value); + break; + case 136: + key = this.parseBigIntLiteral(value); + break; + case 139: + { + const privateKeyLoc = this.state.startLoc; + if (refExpressionErrors != null) { + if (refExpressionErrors.privateKeyLoc === null) { + refExpressionErrors.privateKeyLoc = privateKeyLoc; + } + } else { + this.raise(Errors.UnexpectedPrivateField, privateKeyLoc); + } + key = this.parsePrivateName(); + break; + } + default: + if (type === 137) { + key = this.parseDecimalLiteral(value); + break; + } + this.unexpected(); + } + } + prop.key = key; + if (type !== 139) { + prop.computed = false; + } + } + } + initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = isAsync; + } + parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) { + this.initFunction(node, isAsync); + node.generator = isGenerator; + this.scope.enter(514 | 16 | (inClassScope ? 576 : 0) | (allowDirectSuper ? 32 : 0)); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + this.parseFunctionParams(node, isConstructor); + const finishedNode = this.parseFunctionBodyAndFinish(node, type, true); + this.prodParam.exit(); + this.scope.exit(); + return finishedNode; + } + parseArrayLike(close, isTuple, refExpressionErrors) { + if (isTuple) { + this.expectPlugin("recordAndTuple"); + } + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + const node = this.startNode(); + this.next(); + node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression"); + } + parseArrowExpression(node, params, isAsync, trailingCommaLoc) { + this.scope.enter(514 | 4); + let flags = functionFlags(isAsync, false); + if (!this.match(5) && this.prodParam.hasIn) { + flags |= 8; + } + this.prodParam.enter(flags); + this.initFunction(node, isAsync); + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + if (params) { + this.state.maybeInArrowParameters = true; + this.setArrowFunctionParameters(node, params, trailingCommaLoc); + } + this.state.maybeInArrowParameters = false; + this.parseFunctionBody(node, true); + this.prodParam.exit(); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return this.finishNode(node, "ArrowFunctionExpression"); + } + setArrowFunctionParameters(node, params, trailingCommaLoc) { + this.toAssignableList(params, trailingCommaLoc, false); + node.params = params; + } + parseFunctionBodyAndFinish(node, type, isMethod = false) { + this.parseFunctionBody(node, false, isMethod); + return this.finishNode(node, type); + } + parseFunctionBody(node, allowExpression, isMethod = false) { + const isExpression = allowExpression && !this.match(5); + this.expressionScope.enter(newExpressionScope()); + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + const oldStrict = this.state.strict; + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(this.prodParam.currentFlags() | 4); + node.body = this.parseBlock(true, false, hasStrictModeDirective => { + const nonSimple = !this.isSimpleParamList(node.params); + if (hasStrictModeDirective && nonSimple) { + this.raise(Errors.IllegalLanguageModeDirective, (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node); + } + const strictModeChanged = !oldStrict && this.state.strict; + this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged); + if (this.state.strict && node.id) { + this.checkIdentifier(node.id, 65, strictModeChanged); + } + }); + this.prodParam.exit(); + this.state.labels = oldLabels; + } + this.expressionScope.exit(); + } + isSimpleParameter(node) { + return node.type === "Identifier"; + } + isSimpleParamList(params) { + for (let i = 0, len = params.length; i < len; i++) { + if (!this.isSimpleParameter(params[i])) return false; + } + return true; + } + checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) { + const checkClashes = !allowDuplicates && new Set(); + const formalParameters = { + type: "FormalParameters" + }; + for (const param of node.params) { + this.checkLVal(param, formalParameters, 5, checkClashes, strictModeChanged); + } + } + parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) { + const elts = []; + let first = true; + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.match(close)) { + if (nodeForExtra) { + this.addTrailingCommaExtraToNode(nodeForExtra); + } + this.next(); + break; + } + } + elts.push(this.parseExprListItem(close, allowEmpty, refExpressionErrors)); + } + return elts; + } + parseExprListItem(close, allowEmpty, refExpressionErrors, allowPlaceholder) { + let elt; + if (this.match(12)) { + if (!allowEmpty) { + this.raise(Errors.UnexpectedToken, this.state.curPosition(), { + unexpected: "," + }); + } + elt = null; + } else if (this.match(21)) { + const spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartLoc); + } else if (this.match(17)) { + this.expectPlugin("partialApplication"); + if (!allowPlaceholder) { + this.raise(Errors.UnexpectedArgumentPlaceholder, this.state.startLoc); + } + const node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssignAllowInOrVoidPattern(close, refExpressionErrors, this.parseParenItem); + } + return elt; + } + parseIdentifier(liberal) { + const node = this.startNode(); + const name = this.parseIdentifierName(liberal); + return this.createIdentifier(node, name); + } + createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + createIdentifierAt(node, name, endLoc) { + node.name = name; + node.loc.identifierName = name; + return this.finishNodeAt(node, "Identifier", endLoc); + } + parseIdentifierName(liberal) { + let name; + const { + startLoc, + type + } = this.state; + if (tokenIsKeywordOrIdentifier(type)) { + name = this.state.value; + } else { + this.unexpected(); + } + const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type); + if (liberal) { + if (tokenIsKeyword) { + this.replaceToken(132); + } + } else { + this.checkReservedWord(name, startLoc, tokenIsKeyword, false); + } + this.next(); + return name; + } + checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (word.length > 10) { + return; + } + if (!canBeReservedWord(word)) { + return; + } + if (checkKeywords && isKeyword(word)) { + this.raise(Errors.UnexpectedKeyword, startLoc, { + keyword: word + }); + return; + } + const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + if (reservedTest(word, this.inModule)) { + this.raise(Errors.UnexpectedReservedWord, startLoc, { + reservedWord: word + }); + return; + } else if (word === "yield") { + if (this.prodParam.hasYield) { + this.raise(Errors.YieldBindingIdentifier, startLoc); + return; + } + } else if (word === "await") { + if (this.prodParam.hasAwait) { + this.raise(Errors.AwaitBindingIdentifier, startLoc); + return; + } + if (this.scope.inStaticBlock) { + this.raise(Errors.AwaitBindingIdentifierInStaticBlock, startLoc); + return; + } + this.expressionScope.recordAsyncArrowParametersError(startLoc); + } else if (word === "arguments") { + if (this.scope.inClassAndNotInNonArrowFunction) { + this.raise(Errors.ArgumentsInClass, startLoc); + return; + } + } + } + recordAwaitIfAllowed() { + const isAwaitAllowed = this.prodParam.hasAwait; + if (isAwaitAllowed && !this.scope.inFunction) { + this.state.hasTopLevelAwait = true; + } + return isAwaitAllowed; + } + parseAwait(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, node); + if (this.eat(55)) { + this.raise(Errors.ObsoleteAwaitStar, node); + } + if (!this.scope.inFunction && !(this.optionFlags & 1)) { + if (this.isAmbiguousPrefixOrIdentifier()) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(null, true); + } + return this.finishNode(node, "AwaitExpression"); + } + isAmbiguousPrefixOrIdentifier() { + if (this.hasPrecedingLineBreak()) return true; + const { + type + } = this.state; + return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 102 && !this.state.containsEsc || type === 138 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54; + } + parseYield(startLoc) { + const node = this.startNodeAt(startLoc); + this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, node); + let delegating = false; + let argument = null; + if (!this.hasPrecedingLineBreak()) { + delegating = this.eat(55); + switch (this.state.type) { + case 13: + case 140: + case 8: + case 11: + case 3: + case 9: + case 14: + case 12: + if (!delegating) break; + default: + argument = this.parseMaybeAssign(); + } + } + node.delegate = delegating; + node.argument = argument; + return this.finishNode(node, "YieldExpression"); + } + parseImportCall(node) { + this.next(); + node.source = this.parseMaybeAssignAllowIn(); + node.options = null; + if (this.eat(12)) { + if (!this.match(11)) { + node.options = this.parseMaybeAssignAllowIn(); + if (this.eat(12)) { + this.addTrailingCommaExtraToNode(node.options); + if (!this.match(11)) { + do { + this.parseMaybeAssignAllowIn(); + } while (this.eat(12) && !this.match(11)); + this.raise(Errors.ImportCallArity, node); + } + } + } else { + this.addTrailingCommaExtraToNode(node.source); + } + } + this.expect(11); + return this.finishNode(node, "ImportExpression"); + } + checkPipelineAtInfixOperator(left, leftStartLoc) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + if (left.type === "SequenceExpression") { + this.raise(Errors.PipelineHeadSequenceExpression, leftStartLoc); + } + } + } + parseSmartPipelineBodyInStyle(childExpr, startLoc) { + if (this.isSimpleReference(childExpr)) { + const bodyNode = this.startNodeAt(startLoc); + bodyNode.callee = childExpr; + return this.finishNode(bodyNode, "PipelineBareFunction"); + } else { + const bodyNode = this.startNodeAt(startLoc); + this.checkSmartPipeTopicBodyEarlyErrors(startLoc); + bodyNode.expression = childExpr; + return this.finishNode(bodyNode, "PipelineTopicExpression"); + } + } + isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + case "Identifier": + return true; + default: + return false; + } + } + checkSmartPipeTopicBodyEarlyErrors(startLoc) { + if (this.match(19)) { + throw this.raise(Errors.PipelineBodyNoArrow, this.state.startLoc); + } + if (!this.topicReferenceWasUsedInCurrentContext()) { + this.raise(Errors.PipelineTopicUnused, startLoc); + } + } + withTopicBindingContext(callback) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + withSmartMixTopicForbiddingContext(callback) { + if (this.hasPlugin(["pipelineOperator", { + proposal: "smart" + }])) { + const outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } else { + return callback(); + } + } + withSoloAwaitPermittingContext(callback) { + const outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + allowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToSet = 8 & ~flags; + if (prodParamToSet) { + this.prodParam.enter(flags | 8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + disallowInAnd(callback) { + const flags = this.prodParam.currentFlags(); + const prodParamToClear = 8 & flags; + if (prodParamToClear) { + this.prodParam.enter(flags & ~8); + try { + return callback(); + } finally { + this.prodParam.exit(); + } + } + return callback(); + } + registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + topicReferenceIsAllowedInCurrentContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + topicReferenceWasUsedInCurrentContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + parseFSharpPipelineBody(prec) { + const startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startLoc, prec); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + parseModuleExpression() { + this.expectPlugin("moduleBlocks"); + const node = this.startNode(); + this.next(); + if (!this.match(5)) { + this.unexpected(null, 5); + } + const program = this.startNodeAt(this.state.endLoc); + this.next(); + const revertScopes = this.initializeScopes(true); + this.enterInitialScopes(); + try { + node.body = this.parseProgram(program, 8, "module"); + } finally { + revertScopes(); + } + return this.finishNode(node, "ModuleExpression"); + } + parseVoidPattern(refExpressionErrors) { + this.expectPlugin("discardBinding"); + const node = this.startNode(); + if (refExpressionErrors != null) { + refExpressionErrors.voidPatternLoc = this.state.startLoc; + } + this.next(); + return this.finishNode(node, "VoidPattern"); + } + parseMaybeAssignAllowInOrVoidPattern(close, refExpressionErrors, afterLeftParse) { + if (refExpressionErrors != null && this.match(88)) { + const nextCode = this.lookaheadCharCode(); + if (nextCode === 44 || nextCode === (close === 3 ? 93 : close === 8 ? 125 : 41) || nextCode === 61) { + return this.parseMaybeDefault(this.state.startLoc, this.parseVoidPattern(refExpressionErrors)); + } + } + return this.parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse); + } + parsePropertyNamePrefixOperator(prop) {} +} +const loopLabel = { + kind: 1 + }, + switchLabel = { + kind: 2 + }; +const loneSurrogate = /[\uD800-\uDFFF]/u; +const keywordRelationalOperator = /in(?:stanceof)?/y; +function babel7CompatTokens(tokens, input, startIndex) { + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const { + type + } = token; + if (typeof type === "number") { + if (type === 139) { + const { + loc, + start, + value, + end + } = token; + const hashEndPos = start + 1; + const hashEndLoc = createPositionWithColumnOffset(loc.start, 1); + tokens.splice(i, 1, new Token({ + type: getExportedToken(27), + value: "#", + start: start, + end: hashEndPos, + startLoc: loc.start, + endLoc: hashEndLoc + }), new Token({ + type: getExportedToken(132), + value: value, + start: hashEndPos, + end: end, + startLoc: hashEndLoc, + endLoc: loc.end + })); + i++; + continue; + } + if (tokenIsTemplate(type)) { + const { + loc, + start, + value, + end + } = token; + const backquoteEnd = start + 1; + const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1); + let startToken; + if (input.charCodeAt(start - startIndex) === 96) { + startToken = new Token({ + type: getExportedToken(22), + value: "`", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } else { + startToken = new Token({ + type: getExportedToken(8), + value: "}", + start: start, + end: backquoteEnd, + startLoc: loc.start, + endLoc: backquoteEndLoc + }); + } + let templateValue, templateElementEnd, templateElementEndLoc, endToken; + if (type === 24) { + templateElementEnd = end - 1; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1); + templateValue = value === null ? null : value.slice(1, -1); + endToken = new Token({ + type: getExportedToken(22), + value: "`", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } else { + templateElementEnd = end - 2; + templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2); + templateValue = value === null ? null : value.slice(1, -2); + endToken = new Token({ + type: getExportedToken(23), + value: "${", + start: templateElementEnd, + end: end, + startLoc: templateElementEndLoc, + endLoc: loc.end + }); + } + tokens.splice(i, 1, startToken, new Token({ + type: getExportedToken(20), + value: templateValue, + start: backquoteEnd, + end: templateElementEnd, + startLoc: backquoteEndLoc, + endLoc: templateElementEndLoc + }), endToken); + i += 2; + continue; + } + token.type = getExportedToken(type); + } + } + return tokens; +} +class StatementParser extends ExpressionParser { + parseTopLevel(file, program) { + file.program = this.parseProgram(program, 140, this.options.sourceType === "module" ? "module" : "script"); + file.comments = this.comments; + if (this.optionFlags & 256) { + file.tokens = babel7CompatTokens(this.tokens, this.input, this.startIndex); + } + return this.finishNode(file, "File"); + } + parseProgram(program, end, sourceType) { + program.sourceType = sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, end); + if (this.inModule) { + if (!(this.optionFlags & 64) && this.scope.undefinedExports.size > 0) { + for (const [localName, at] of Array.from(this.scope.undefinedExports)) { + this.raise(Errors.ModuleExportUndefined, at, { + localName + }); + } + } + this.addExtra(program, "topLevelAwait", this.state.hasTopLevelAwait); + } + let finishedProgram; + if (end === 140) { + finishedProgram = this.finishNode(program, "Program"); + } else { + finishedProgram = this.finishNodeAt(program, "Program", createPositionWithColumnOffset(this.state.startLoc, -1)); + } + return finishedProgram; + } + stmtToDirective(stmt) { + const directive = this.castNodeTo(stmt, "Directive"); + const directiveLiteral = this.castNodeTo(stmt.expression, "DirectiveLiteral"); + const expressionValue = directiveLiteral.value; + const raw = this.input.slice(this.offsetToSourcePos(directiveLiteral.start), this.offsetToSourcePos(directiveLiteral.end)); + const val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + this.addExtra(directiveLiteral, "expressionValue", expressionValue); + directive.value = directiveLiteral; + delete stmt.expression; + return directive; + } + parseInterpreterDirective() { + if (!this.match(28)) { + return null; + } + const node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + isLet() { + if (!this.isContextual(100)) { + return false; + } + return this.hasFollowingBindingAtom(); + } + isUsing() { + if (!this.isContextual(107)) { + return false; + } + return this.nextTokenIsIdentifierOnSameLine(); + } + isForUsing() { + if (!this.isContextual(107)) { + return false; + } + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + if (this.isUnparsedContextual(next, "of")) { + const nextCharAfterOf = this.lookaheadCharCodeSince(next + 2); + if (nextCharAfterOf !== 61 && nextCharAfterOf !== 58 && nextCharAfterOf !== 59) { + return false; + } + } + if (this.chStartsBindingIdentifier(nextCh, next) || this.isUnparsedContextual(next, "void")) { + return true; + } + return false; + } + nextTokenIsIdentifierOnSameLine() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingIdentifier(nextCh, next); + } + isAwaitUsing() { + if (!this.isContextual(96)) { + return false; + } + let next = this.nextTokenInLineStart(); + if (this.isUnparsedContextual(next, "using")) { + next = this.nextTokenInLineStartSince(next + 5); + const nextCh = this.codePointAtPos(next); + if (this.chStartsBindingIdentifier(nextCh, next)) { + return true; + } + } + return false; + } + chStartsBindingIdentifier(ch, pos) { + if (isIdentifierStart(ch)) { + keywordRelationalOperator.lastIndex = pos; + if (keywordRelationalOperator.test(this.input)) { + const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex); + if (!isIdentifierChar(endCh) && endCh !== 92) { + return false; + } + } + return true; + } else if (ch === 92) { + return true; + } else { + return false; + } + } + chStartsBindingPattern(ch) { + return ch === 91 || ch === 123; + } + hasFollowingBindingAtom() { + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + return this.chStartsBindingPattern(nextCh) || this.chStartsBindingIdentifier(nextCh, next); + } + hasInLineFollowingBindingIdentifierOrBrace() { + const next = this.nextTokenInLineStart(); + const nextCh = this.codePointAtPos(next); + return nextCh === 123 || this.chStartsBindingIdentifier(nextCh, next); + } + allowsUsing() { + return (this.scope.inModule || !this.scope.inTopLevel) && !this.scope.inBareCaseStatement; + } + parseModuleItem() { + return this.parseStatementLike(1 | 2 | 4 | 8); + } + parseStatementListItem() { + return this.parseStatementLike(2 | 4 | (!this.options.annexB || this.state.strict ? 0 : 8)); + } + parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction = false) { + let flags = 0; + if (this.options.annexB && !this.state.strict) { + flags |= 4; + if (allowLabeledFunction) { + flags |= 8; + } + } + return this.parseStatementLike(flags); + } + parseStatement() { + return this.parseStatementLike(0); + } + parseStatementLike(flags) { + let decorators = null; + if (this.match(26)) { + decorators = this.parseDecorators(true); + } + return this.parseStatementContent(flags, decorators); + } + parseStatementContent(flags, decorators) { + const startType = this.state.type; + const node = this.startNode(); + const allowDeclaration = !!(flags & 2); + const allowFunctionDeclaration = !!(flags & 4); + const topLevel = flags & 1; + switch (startType) { + case 60: + return this.parseBreakContinueStatement(node, true); + case 63: + return this.parseBreakContinueStatement(node, false); + case 64: + return this.parseDebuggerStatement(node); + case 90: + return this.parseDoWhileStatement(node); + case 91: + return this.parseForStatement(node); + case 68: + if (this.lookaheadCharCode() === 46) break; + if (!allowFunctionDeclaration) { + this.raise(this.state.strict ? Errors.StrictFunction : this.options.annexB ? Errors.SloppyFunctionAnnexB : Errors.SloppyFunction, this.state.startLoc); + } + return this.parseFunctionStatement(node, false, !allowDeclaration && allowFunctionDeclaration); + case 80: + if (!allowDeclaration) this.unexpected(); + return this.parseClass(this.maybeTakeDecorators(decorators, node), true); + case 69: + return this.parseIfStatement(node); + case 70: + return this.parseReturnStatement(node); + case 71: + return this.parseSwitchStatement(node); + case 72: + return this.parseThrowStatement(node); + case 73: + return this.parseTryStatement(node); + case 96: + if (this.isAwaitUsing()) { + if (!this.allowsUsing()) { + this.raise(Errors.UnexpectedUsingDeclaration, node); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, node); + } else if (!this.recordAwaitIfAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, node); + } + this.next(); + return this.parseVarStatement(node, "await using"); + } + break; + case 107: + if (this.state.containsEsc || !this.hasInLineFollowingBindingIdentifierOrBrace()) { + break; + } + if (!this.allowsUsing()) { + this.raise(Errors.UnexpectedUsingDeclaration, this.state.startLoc); + } else if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc); + } + return this.parseVarStatement(node, "using"); + case 100: + { + if (this.state.containsEsc) { + break; + } + const next = this.nextTokenStart(); + const nextCh = this.codePointAtPos(next); + if (nextCh !== 91) { + if (!allowDeclaration && this.hasFollowingLineBreak()) break; + if (!this.chStartsBindingIdentifier(nextCh, next) && nextCh !== 123) { + break; + } + } + } + case 75: + { + if (!allowDeclaration) { + this.raise(Errors.UnexpectedLexicalDeclaration, this.state.startLoc); + } + } + case 74: + { + const kind = this.state.value; + return this.parseVarStatement(node, kind); + } + case 92: + return this.parseWhileStatement(node); + case 76: + return this.parseWithStatement(node); + case 5: + return this.parseBlock(); + case 13: + return this.parseEmptyStatement(node); + case 83: + { + const nextTokenCharCode = this.lookaheadCharCode(); + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + } + case 82: + { + if (!(this.optionFlags & 8) && !topLevel) { + this.raise(Errors.UnexpectedImportExport, this.state.startLoc); + } + this.next(); + let result; + if (startType === 83) { + result = this.parseImport(node); + } else { + result = this.parseExport(node, decorators); + } + this.assertModuleNodeAllowed(result); + return result; + } + default: + { + if (this.isAsyncFunction()) { + if (!allowDeclaration) { + this.raise(Errors.AsyncFunctionInSingleStatementContext, this.state.startLoc); + } + this.next(); + return this.parseFunctionStatement(node, true, !allowDeclaration && allowFunctionDeclaration); + } + } + } + const maybeName = this.state.value; + const expr = this.parseExpression(); + if (tokenIsIdentifier(startType) && expr.type === "Identifier" && this.eat(14)) { + return this.parseLabeledStatement(node, maybeName, expr, flags); + } else { + return this.parseExpressionStatement(node, expr, decorators); + } + } + assertModuleNodeAllowed(node) { + if (!(this.optionFlags & 8) && !this.inModule) { + this.raise(Errors.ImportOutsideModule, node); + } + } + decoratorsEnabledBeforeExport() { + if (this.hasPlugin("decorators-legacy")) return true; + return this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") !== false; + } + maybeTakeDecorators(maybeDecorators, classNode, exportNode) { + if (maybeDecorators) { + var _classNode$decorators; + if ((_classNode$decorators = classNode.decorators) != null && _classNode$decorators.length) { + if (typeof this.getPluginOption("decorators", "decoratorsBeforeExport") !== "boolean") { + this.raise(Errors.DecoratorsBeforeAfterExport, classNode.decorators[0]); + } + classNode.decorators.unshift(...maybeDecorators); + } else { + classNode.decorators = maybeDecorators; + } + this.resetStartLocationFromNode(classNode, maybeDecorators[0]); + if (exportNode) this.resetStartLocationFromNode(exportNode, classNode); + } + return classNode; + } + canHaveLeadingDecorator() { + return this.match(80); + } + parseDecorators(allowExport) { + const decorators = []; + do { + decorators.push(this.parseDecorator()); + } while (this.match(26)); + if (this.match(82)) { + if (!allowExport) { + this.unexpected(); + } + if (!this.decoratorsEnabledBeforeExport()) { + this.raise(Errors.DecoratorExportClass, this.state.startLoc); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(Errors.UnexpectedLeadingDecorator, this.state.startLoc); + } + return decorators; + } + parseDecorator() { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + const node = this.startNode(); + this.next(); + if (this.hasPlugin("decorators")) { + const startLoc = this.state.startLoc; + let expr; + if (this.match(10)) { + const startLoc = this.state.startLoc; + this.next(); + expr = this.parseExpression(); + this.expect(11); + expr = this.wrapParenthesis(startLoc, expr); + const paramsStartLoc = this.state.startLoc; + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); + if (this.getPluginOption("decorators", "allowCallParenthesized") === false && node.expression !== expr) { + this.raise(Errors.DecoratorArgumentsOutsideParentheses, paramsStartLoc); + } + } else { + expr = this.parseIdentifier(false); + while (this.eat(16)) { + const node = this.startNodeAt(startLoc); + node.object = expr; + if (this.match(139)) { + this.classScope.usePrivateName(this.state.value, this.state.startLoc); + node.property = this.parsePrivateName(); + } else { + node.property = this.parseIdentifier(true); + } + node.computed = false; + expr = this.finishNode(node, "MemberExpression"); + } + node.expression = this.parseMaybeDecoratorArguments(expr, startLoc); + } + } else { + node.expression = this.parseExprSubscripts(); + } + return this.finishNode(node, "Decorator"); + } + parseMaybeDecoratorArguments(expr, startLoc) { + if (this.eat(10)) { + const node = this.startNodeAt(startLoc); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + return expr; + } + parseBreakContinueStatement(node, isBreak) { + this.next(); + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + this.verifyBreakContinue(node, isBreak); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + verifyBreakContinue(node, isBreak) { + let i; + for (i = 0; i < this.state.labels.length; ++i) { + const lab = this.state.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === 1)) { + break; + } + if (node.label && isBreak) break; + } + } + if (i === this.state.labels.length) { + const type = isBreak ? "BreakStatement" : "ContinueStatement"; + this.raise(Errors.IllegalBreakContinue, node, { + type + }); + } + } + parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + parseHeaderExpression() { + this.expect(10); + const val = this.parseExpression(); + this.expect(11); + return val; + } + parseDoWhileStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + this.expect(92); + node.test = this.parseHeaderExpression(); + this.eat(13); + return this.finishNode(node, "DoWhileStatement"); + } + parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + let awaitAt = null; + if (this.isContextual(96) && this.recordAwaitIfAllowed()) { + awaitAt = this.state.startLoc; + this.next(); + } + this.scope.enter(0); + this.expect(10); + if (this.match(13)) { + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, null); + } + const startsWithLet = this.isContextual(100); + { + const startsWithAwaitUsing = this.isAwaitUsing(); + const starsWithUsingDeclaration = startsWithAwaitUsing || this.isForUsing(); + const isLetOrUsing = startsWithLet && this.hasFollowingBindingAtom() || starsWithUsingDeclaration; + if (this.match(74) || this.match(75) || isLetOrUsing) { + const initNode = this.startNode(); + let kind; + if (startsWithAwaitUsing) { + kind = "await using"; + if (!this.recordAwaitIfAllowed()) { + this.raise(Errors.AwaitUsingNotInAsyncContext, this.state.startLoc); + } + this.next(); + } else { + kind = this.state.value; + } + this.next(); + this.parseVar(initNode, true, kind); + const init = this.finishNode(initNode, "VariableDeclaration"); + const isForIn = this.match(58); + if (isForIn && starsWithUsingDeclaration) { + this.raise(Errors.ForInUsing, init); + } + if ((isForIn || this.isContextual(102)) && init.declarations.length === 1) { + return this.parseForIn(node, init, awaitAt); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + } + const startsWithAsync = this.isContextual(95); + const refExpressionErrors = new ExpressionErrors(); + const init = this.parseExpression(true, refExpressionErrors); + const isForOf = this.isContextual(102); + if (isForOf) { + if (startsWithLet) { + this.raise(Errors.ForOfLet, init); + } + if (awaitAt === null && startsWithAsync && init.type === "Identifier") { + this.raise(Errors.ForOfAsync, init); + } + } + if (isForOf || this.match(58)) { + this.checkDestructuringPrivate(refExpressionErrors); + this.toAssignable(init, true); + const type = isForOf ? "ForOfStatement" : "ForInStatement"; + this.checkLVal(init, { + type + }); + return this.parseForIn(node, init, awaitAt); + } else { + this.checkExpressionErrors(refExpressionErrors, true); + } + if (awaitAt !== null) { + this.unexpected(awaitAt); + } + return this.parseFor(node, init); + } + parseFunctionStatement(node, isAsync, isHangingDeclaration) { + this.next(); + return this.parseFunction(node, 1 | (isHangingDeclaration ? 2 : 0) | (isAsync ? 8 : 0)); + } + parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatementOrSloppyAnnexBFunctionDeclaration(); + node.alternate = this.eat(66) ? this.parseStatementOrSloppyAnnexBFunctionDeclaration() : null; + return this.finishNode(node, "IfStatement"); + } + parseReturnStatement(node) { + if (!this.prodParam.hasReturn) { + this.raise(Errors.IllegalReturn, this.state.startLoc); + } + this.next(); + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + return this.finishNode(node, "ReturnStatement"); + } + parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + const cases = node.cases = []; + this.expect(5); + this.state.labels.push(switchLabel); + this.scope.enter(256); + let cur; + for (let sawDefault; !this.match(8);) { + if (this.match(61) || this.match(65)) { + const isCase = this.match(61); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(Errors.MultipleDefaultsInSwitch, this.state.lastTokStartLoc); + } + sawDefault = true; + cur.test = null; + } + this.expect(14); + } else { + if (cur) { + cur.consequent.push(this.parseStatementListItem()); + } else { + this.unexpected(); + } + } + } + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + parseThrowStatement(node) { + this.next(); + if (this.hasPrecedingLineBreak()) { + this.raise(Errors.NewlineAfterThrow, this.state.lastTokEndLoc); + } + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + parseCatchClauseParam() { + const param = this.parseBindingAtom(); + this.scope.enter(this.options.annexB && param.type === "Identifier" ? 8 : 0); + this.checkLVal(param, { + type: "CatchClause" + }, 9); + return param; + } + parseTryStatement(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.match(62)) { + const clause = this.startNode(); + this.next(); + if (this.match(10)) { + this.expect(10); + clause.param = this.parseCatchClauseParam(); + this.expect(11); + } else { + clause.param = null; + this.scope.enter(0); + } + clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false)); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + node.finalizer = this.eat(67) ? this.parseBlock() : null; + if (!node.handler && !node.finalizer) { + this.raise(Errors.NoCatchOrFinally, node); + } + return this.finishNode(node, "TryStatement"); + } + parseVarStatement(node, kind, allowMissingInitializer = false) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + parseWhileStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + parseWithStatement(node) { + if (this.state.strict) { + this.raise(Errors.StrictWith, this.state.startLoc); + } + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + return this.finishNode(node, "WithStatement"); + } + parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + parseLabeledStatement(node, maybeName, expr, flags) { + for (const label of this.state.labels) { + if (label.name === maybeName) { + this.raise(Errors.LabelRedeclaration, expr, { + labelName: maybeName + }); + } + } + const kind = tokenIsLoop(this.state.type) ? 1 : this.match(71) ? 2 : null; + for (let i = this.state.labels.length - 1; i >= 0; i--) { + const label = this.state.labels[i]; + if (label.statementStart === node.start) { + label.statementStart = this.sourceToOffsetPos(this.state.start); + label.kind = kind; + } else { + break; + } + } + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.sourceToOffsetPos(this.state.start) + }); + node.body = flags & 8 ? this.parseStatementOrSloppyAnnexBFunctionDeclaration(true) : this.parseStatement(); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + parseExpressionStatement(node, expr, decorators) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) { + const node = this.startNode(); + if (allowDirectives) { + this.state.strictErrors.clear(); + } + this.expect(5); + if (createNewLexicalScope) { + this.scope.enter(0); + } + this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse); + if (createNewLexicalScope) { + this.scope.exit(); + } + return this.finishNode(node, "BlockStatement"); + } + isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) { + const body = node.body = []; + const directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse); + } + parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) { + const oldStrict = this.state.strict; + let hasStrictModeDirective = false; + let parsedNonDirective = false; + while (!this.match(end)) { + const stmt = topLevel ? this.parseModuleItem() : this.parseStatementListItem(); + if (directives && !parsedNonDirective) { + if (this.isValidDirective(stmt)) { + const directive = this.stmtToDirective(stmt); + directives.push(directive); + if (!hasStrictModeDirective && directive.value.value === "use strict") { + hasStrictModeDirective = true; + this.setStrict(true); + } + continue; + } + parsedNonDirective = true; + this.state.strictErrors.clear(); + } + body.push(stmt); + } + afterBlockParse == null || afterBlockParse.call(this, hasStrictModeDirective); + if (!oldStrict) { + this.setStrict(false); + } + this.next(); + } + parseFor(node, init) { + node.init = init; + this.semicolon(false); + node.test = this.match(13) ? null : this.parseExpression(); + this.semicolon(false); + node.update = this.match(11) ? null : this.parseExpression(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + parseForIn(node, init, awaitAt) { + const isForIn = this.match(58); + this.next(); + if (isForIn) { + if (awaitAt !== null) this.unexpected(awaitAt); + } else { + node.await = awaitAt !== null; + } + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || !this.options.annexB || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(Errors.ForInOfLoopInitializer, init, { + type: isForIn ? "ForInStatement" : "ForOfStatement" + }); + } + if (init.type === "AssignmentPattern") { + this.raise(Errors.InvalidLhs, init, { + ancestor: { + type: "ForStatement" + } + }); + } + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn(); + this.expect(11); + node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement()); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + parseVar(node, isFor, kind, allowMissingInitializer = false) { + const declarations = node.declarations = []; + node.kind = kind; + for (;;) { + const decl = this.startNode(); + this.parseVarId(decl, kind); + decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn(); + if (decl.init === null && !allowMissingInitializer) { + if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(102)))) { + this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, { + kind: "destructuring" + }); + } else if ((kind === "const" || kind === "using" || kind === "await using") && !(this.match(58) || this.isContextual(102))) { + this.raise(Errors.DeclarationMissingInitializer, this.state.lastTokEndLoc, { + kind + }); + } + } + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(12)) break; + } + return node; + } + parseVarId(decl, kind) { + const id = this.parseBindingAtom(); + if (kind === "using" || kind === "await using") { + if (id.type === "ArrayPattern" || id.type === "ObjectPattern") { + this.raise(Errors.UsingDeclarationHasBindingPattern, id.loc.start); + } + } else { + if (id.type === "VoidPattern") { + this.raise(Errors.UnexpectedVoidPattern, id.loc.start); + } + } + this.checkLVal(id, { + type: "VariableDeclarator" + }, kind === "var" ? 5 : 8201); + decl.id = id; + } + parseAsyncFunctionExpression(node) { + return this.parseFunction(node, 8); + } + parseFunction(node, flags = 0) { + const hangingDeclaration = flags & 2; + const isDeclaration = !!(flags & 1); + const requireId = isDeclaration && !(flags & 4); + const isAsync = !!(flags & 8); + this.initFunction(node, isAsync); + if (this.match(55)) { + if (hangingDeclaration) { + this.raise(Errors.GeneratorInSingleStatementContext, this.state.startLoc); + } + this.next(); + node.generator = true; + } + if (isDeclaration) { + node.id = this.parseFunctionId(requireId); + } + const oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + this.state.maybeInArrowParameters = false; + this.scope.enter(514); + this.prodParam.enter(functionFlags(isAsync, node.generator)); + if (!isDeclaration) { + node.id = this.parseFunctionId(); + } + this.parseFunctionParams(node, false); + this.withSmartMixTopicForbiddingContext(() => { + this.parseFunctionBodyAndFinish(node, isDeclaration ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.prodParam.exit(); + this.scope.exit(); + if (isDeclaration && !hangingDeclaration) { + this.registerFunctionStatementId(node); + } + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return node; + } + parseFunctionId(requireId) { + return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null; + } + parseFunctionParams(node, isConstructor) { + this.expect(10); + this.expressionScope.enter(newParameterDeclarationScope()); + node.params = this.parseBindingList(11, 41, 2 | (isConstructor ? 4 : 0)); + this.expressionScope.exit(); + } + registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, !this.options.annexB || this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? 5 : 8201 : 17, node.id.loc.start); + } + parseClass(node, isStatement, optionalId) { + this.next(); + const oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass, oldStrict); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + isClassProperty() { + return this.match(29) || this.match(13) || this.match(8); + } + isClassMethod() { + return this.match(10); + } + nameIsConstructor(key) { + return key.type === "Identifier" && key.name === "constructor" || key.type === "StringLiteral" && key.value === "constructor"; + } + isNonstaticConstructor(method) { + return !method.computed && !method.static && this.nameIsConstructor(method.key); + } + parseClassBody(hadSuperClass, oldStrict) { + this.classScope.enter(); + const state = { + hadConstructor: false, + hadSuperClass + }; + let decorators = []; + const classBody = this.startNode(); + classBody.body = []; + this.expect(5); + this.withSmartMixTopicForbiddingContext(() => { + while (!this.match(8)) { + if (this.eat(13)) { + if (decorators.length > 0) { + throw this.raise(Errors.DecoratorSemicolon, this.state.lastTokEndLoc); + } + continue; + } + if (this.match(26)) { + decorators.push(this.parseDecorator()); + continue; + } + const member = this.startNode(); + if (decorators.length) { + member.decorators = decorators; + this.resetStartLocationFromNode(member, decorators[0]); + decorators = []; + } + this.parseClassMember(classBody, member, state); + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + this.raise(Errors.DecoratorConstructor, member); + } + } + }); + this.state.strict = oldStrict; + this.next(); + if (decorators.length) { + throw this.raise(Errors.TrailingDecorator, this.state.startLoc); + } + this.classScope.exit(); + return this.finishNode(classBody, "ClassBody"); + } + parseClassMemberFromModifier(classBody, member) { + const key = this.parseIdentifier(true); + if (this.isClassMethod()) { + const method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return true; + } else if (this.isClassProperty()) { + const prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return true; + } + this.resetPreviousNodeTrailingComments(key); + return false; + } + parseClassMember(classBody, member, state) { + const isStatic = this.isContextual(106); + if (isStatic) { + if (this.parseClassMemberFromModifier(classBody, member)) { + return; + } + if (this.eat(5)) { + this.parseClassStaticBlock(classBody, member); + return; + } + } + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic); + } + parseClassMemberWithIsStatic(classBody, member, state, isStatic) { + const publicMethod = member; + const privateMethod = member; + const publicProp = member; + const privateProp = member; + const accessorProp = member; + const method = publicMethod; + const publicMember = publicMethod; + member.static = isStatic; + this.parsePropertyNamePrefixOperator(member); + if (this.eat(55)) { + method.kind = "method"; + const isPrivateName = this.match(139); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(method); + if (isPrivateName) { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsGenerator, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + const isContextual = !this.state.containsEsc && tokenIsIdentifier(this.state.type); + const key = this.parseClassElementName(member); + const maybeContextualKw = isContextual ? key.name : null; + const isPrivate = this.isPrivateName(key); + const maybeQuestionTokenStartLoc = this.state.startLoc; + this.parsePostMemberNameModifiers(publicMember); + if (this.isClassMethod()) { + method.kind = "method"; + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + const isConstructor = this.isNonstaticConstructor(publicMethod); + let allowsDirectSuper = false; + if (isConstructor) { + publicMethod.kind = "constructor"; + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(Errors.DuplicateConstructor, key); + } + if (isConstructor && this.hasPlugin("typescript") && member.override) { + this.raise(Errors.OverrideOnConstructor, key); + } + state.hadConstructor = true; + allowsDirectSuper = state.hadSuperClass; + } + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (maybeContextualKw === "async" && !this.isLineTerminator()) { + this.resetPreviousNodeTrailingComments(key); + const isGenerator = this.eat(55); + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStartLoc); + } + method.kind = "method"; + const isPrivate = this.match(139); + this.parseClassElementName(method); + this.parsePostMemberNameModifiers(publicMember); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAsync, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if ((maybeContextualKw === "get" || maybeContextualKw === "set") && !(this.match(55) && this.isLineTerminator())) { + this.resetPreviousNodeTrailingComments(key); + method.kind = maybeContextualKw; + const isPrivate = this.match(139); + this.parseClassElementName(publicMethod); + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(Errors.ConstructorIsAccessor, publicMethod.key); + } + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + this.checkGetterSetterParams(publicMethod); + } else if (maybeContextualKw === "accessor" && !this.isLineTerminator()) { + this.expectPlugin("decoratorAutoAccessors"); + this.resetPreviousNodeTrailingComments(key); + const isPrivate = this.match(139); + this.parseClassElementName(publicProp); + this.pushClassAccessorProperty(classBody, accessorProp, isPrivate); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + parseClassElementName(member) { + const { + type, + value + } = this.state; + if ((type === 132 || type === 134) && member.static && value === "prototype") { + this.raise(Errors.StaticPrototype, this.state.startLoc); + } + if (type === 139) { + if (value === "constructor") { + this.raise(Errors.ConstructorClassPrivateField, this.state.startLoc); + } + const key = this.parsePrivateName(); + member.key = key; + return key; + } + this.parsePropertyName(member); + return member.key; + } + parseClassStaticBlock(classBody, member) { + var _member$decorators; + this.scope.enter(576 | 128 | 16); + const oldLabels = this.state.labels; + this.state.labels = []; + this.prodParam.enter(0); + const body = member.body = []; + this.parseBlockOrModuleBlockBody(body, undefined, false, 8); + this.prodParam.exit(); + this.scope.exit(); + this.state.labels = oldLabels; + classBody.body.push(this.finishNode(member, "StaticBlock")); + if ((_member$decorators = member.decorators) != null && _member$decorators.length) { + this.raise(Errors.DecoratorStaticBlock, member); + } + } + pushClassProperty(classBody, prop) { + if (!prop.computed && this.nameIsConstructor(prop.key)) { + this.raise(Errors.ConstructorClassField, prop.key); + } + classBody.body.push(this.parseClassProperty(prop)); + } + pushClassPrivateProperty(classBody, prop) { + const node = this.parseClassPrivateProperty(prop); + classBody.body.push(node); + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + pushClassAccessorProperty(classBody, prop, isPrivate) { + if (!isPrivate && !prop.computed && this.nameIsConstructor(prop.key)) { + this.raise(Errors.ConstructorClassField, prop.key); + } + const node = this.parseClassAccessorProperty(prop); + classBody.body.push(node); + if (isPrivate) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), 0, node.key.loc.start); + } + } + pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true); + classBody.body.push(node); + const kind = node.kind === "get" ? node.static ? 6 : 2 : node.kind === "set" ? node.static ? 5 : 1 : 0; + this.declareClassPrivateMethodInScope(node, kind); + } + declareClassPrivateMethodInScope(node, kind) { + this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start); + } + parsePostMemberNameModifiers(methodOrProp) {} + parseClassPrivateProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassPrivateProperty"); + } + parseClassProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassProperty"); + } + parseClassAccessorProperty(node) { + this.parseInitializer(node); + this.semicolon(); + return this.finishNode(node, "ClassAccessorProperty"); + } + parseInitializer(node) { + this.scope.enter(576 | 16); + this.expressionScope.enter(newExpressionScope()); + this.prodParam.enter(0); + node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null; + this.expressionScope.exit(); + this.prodParam.exit(); + this.scope.exit(); + } + parseClassId(node, isStatement, optionalId, bindingType = 8331) { + if (tokenIsIdentifier(this.state.type)) { + node.id = this.parseIdentifier(); + if (isStatement) { + this.declareNameFromIdentifier(node.id, bindingType); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + throw this.raise(Errors.MissingClassName, this.state.startLoc); + } + } + } + parseClassSuper(node) { + node.superClass = this.eat(81) ? this.parseExprSubscripts() : null; + } + parseExport(node, decorators) { + const maybeDefaultIdentifier = this.parseMaybeImportPhase(node, true); + const hasDefault = this.maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier); + const parseAfterDefault = !hasDefault || this.eat(12); + const hasStar = parseAfterDefault && this.eatExportStar(node); + const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12)); + const isFromRequired = hasDefault || hasStar; + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.parseExportFrom(node, true); + this.sawUnambiguousESM = true; + return this.finishNode(node, "ExportAllDeclaration"); + } + const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) { + this.unexpected(null, 5); + } + if (hasNamespace && parseAfterNamespace) { + this.unexpected(null, 98); + } + let hasDeclaration; + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + if (isFromRequired || hasSpecifiers || hasDeclaration) { + var _node2$declaration; + const node2 = node; + this.checkExport(node2, true, false, !!node2.source); + if (((_node2$declaration = node2.declaration) == null ? void 0 : _node2$declaration.type) === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, node2.declaration, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.sawUnambiguousESM = true; + return this.finishNode(node2, "ExportNamedDeclaration"); + } + if (this.eat(65)) { + const node2 = node; + const decl = this.parseExportDefaultExpression(); + node2.declaration = decl; + if (decl.type === "ClassDeclaration") { + this.maybeTakeDecorators(decorators, decl, node2); + } else if (decorators) { + throw this.raise(Errors.UnsupportedDecoratorExport, node); + } + this.checkExport(node2, true, true); + this.sawUnambiguousESM = true; + return this.finishNode(node2, "ExportDefaultDeclaration"); + } + throw this.unexpected(null, 5); + } + eatExportStar(node) { + return this.eat(55); + } + maybeParseExportDefaultSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier || this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom", maybeDefaultIdentifier == null ? void 0 : maybeDefaultIdentifier.loc.start); + const id = maybeDefaultIdentifier || this.parseIdentifier(true); + const specifier = this.startNodeAtNode(id); + specifier.exported = id; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + return false; + } + maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual(93)) { + var _ref, _ref$specifiers; + (_ref$specifiers = (_ref = node).specifiers) != null ? _ref$specifiers : _ref.specifiers = []; + const specifier = this.startNodeAt(this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseModuleExportName(); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + return false; + } + maybeParseExportNamedSpecifiers(node) { + if (this.match(5)) { + const node2 = node; + if (!node2.specifiers) node2.specifiers = []; + const isTypeExport = node2.exportKind === "type"; + node2.specifiers.push(...this.parseExportSpecifiers(isTypeExport)); + node2.source = null; + if (this.hasPlugin("importAssertions")) { + node2.assertions = []; + } else { + node2.attributes = []; + } + node2.declaration = null; + return true; + } + return false; + } + maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + node.specifiers = []; + node.source = null; + if (this.hasPlugin("importAssertions")) { + node.assertions = []; + } else { + node.attributes = []; + } + node.declaration = this.parseExportDeclaration(node); + return true; + } + return false; + } + isAsyncFunction() { + if (!this.isContextual(95)) return false; + const next = this.nextTokenInLineStart(); + return this.isUnparsedContextual(next, "function"); + } + parseExportDefaultExpression() { + const expr = this.startNode(); + if (this.match(68)) { + this.next(); + return this.parseFunction(expr, 1 | 4); + } else if (this.isAsyncFunction()) { + this.next(); + this.next(); + return this.parseFunction(expr, 1 | 4 | 8); + } + if (this.match(80)) { + return this.parseClass(expr, true, true); + } + if (this.match(26)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, this.state.startLoc); + } + return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false), this.startNode()), true, true); + } + if (this.match(75) || this.match(74) || this.isLet() || this.isUsing() || this.isAwaitUsing()) { + throw this.raise(Errors.UnsupportedDefaultExport, this.state.startLoc); + } + const res = this.parseMaybeAssignAllowIn(); + this.semicolon(); + return res; + } + parseExportDeclaration(node) { + if (this.match(80)) { + const node = this.parseClass(this.startNode(), true, false); + return node; + } + return this.parseStatementListItem(); + } + isExportDefaultSpecifier() { + const { + type + } = this.state; + if (tokenIsIdentifier(type)) { + if (type === 95 && !this.state.containsEsc || type === 100) { + return false; + } + if ((type === 130 || type === 129) && !this.state.containsEsc) { + const next = this.nextTokenStart(); + const nextChar = this.input.charCodeAt(next); + if (nextChar === 123 || this.chStartsBindingIdentifier(nextChar, next) && !this.input.startsWith("from", next)) { + this.expectOnePlugin(["flow", "typescript"]); + return false; + } + } + } else if (!this.match(65)) { + return false; + } + const next = this.nextTokenStart(); + const hasFrom = this.isUnparsedContextual(next, "from"); + if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) { + return true; + } + if (this.match(65) && hasFrom) { + const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4)); + return nextAfterFrom === 34 || nextAfterFrom === 39; + } + return false; + } + parseExportFrom(node, expect) { + if (this.eatContextual(98)) { + node.source = this.parseImportSource(); + this.checkExport(node); + this.maybeParseImportAttributes(node); + this.checkJSONModuleImport(node); + } else if (expect) { + this.unexpected(); + } + this.semicolon(); + } + shouldParseExportDeclaration() { + const { + type + } = this.state; + if (type === 26) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport") === true) { + this.raise(Errors.DecoratorBeforeExport, this.state.startLoc); + } + return true; + } + } + if (this.isUsing()) { + this.raise(Errors.UsingDeclarationExport, this.state.startLoc); + return true; + } + if (this.isAwaitUsing()) { + this.raise(Errors.UsingDeclarationExport, this.state.startLoc); + return true; + } + return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction(); + } + checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + var _node$specifiers; + if (isDefault) { + this.checkDuplicateExports(node, "default"); + if (this.hasPlugin("exportDefaultFrom")) { + var _declaration$extra; + const declaration = node.declaration; + if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) { + this.raise(Errors.ExportDefaultFromAsIdentifier, declaration); + } + } + } else if ((_node$specifiers = node.specifiers) != null && _node$specifiers.length) { + for (const specifier of node.specifiers) { + const { + exported + } = specifier; + const exportName = exported.type === "Identifier" ? exported.name : exported.value; + this.checkDuplicateExports(specifier, exportName); + if (!isFrom && specifier.local) { + const { + local + } = specifier; + if (local.type !== "Identifier") { + this.raise(Errors.ExportBindingIsString, specifier, { + localName: local.value, + exportName + }); + } else { + this.checkReservedWord(local.name, local.loc.start, true, false); + this.scope.checkLocalExport(local); + } + } + } + } else if (node.declaration) { + const decl = node.declaration; + if (decl.type === "FunctionDeclaration" || decl.type === "ClassDeclaration") { + const { + id + } = decl; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (decl.type === "VariableDeclaration") { + for (const declaration of decl.declarations) { + this.checkDeclaration(declaration.id); + } + } + } + } + } + checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (const prop of node.properties) { + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (const elem of node.elements) { + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + checkDuplicateExports(node, exportName) { + if (this.exportedIdentifiers.has(exportName)) { + if (exportName === "default") { + this.raise(Errors.DuplicateDefaultExport, node); + } else { + this.raise(Errors.DuplicateExport, node, { + exportName + }); + } + } + this.exportedIdentifiers.add(exportName); + } + parseExportSpecifiers(isInTypeExport) { + const nodes = []; + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + this.expect(12); + if (this.eat(8)) break; + } + const isMaybeTypeOnly = this.isContextual(130); + const isString = this.match(134); + const node = this.startNode(); + node.local = this.parseModuleExportName(); + nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly)); + } + return nodes; + } + parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) { + if (this.eatContextual(93)) { + node.exported = this.parseModuleExportName(); + } else if (isString) { + node.exported = this.cloneStringLiteral(node.local); + } else if (!node.exported) { + node.exported = this.cloneIdentifier(node.local); + } + return this.finishNode(node, "ExportSpecifier"); + } + parseModuleExportName() { + if (this.match(134)) { + const result = this.parseStringLiteral(this.state.value); + const surrogate = loneSurrogate.exec(result.value); + if (surrogate) { + this.raise(Errors.ModuleExportNameHasLoneSurrogate, result, { + surrogateCharCode: surrogate[0].charCodeAt(0) + }); + } + return result; + } + return this.parseIdentifier(true); + } + isJSONModuleImport(node) { + if (node.assertions != null) { + return node.assertions.some(({ + key, + value + }) => { + return value.value === "json" && (key.type === "Identifier" ? key.name === "type" : key.value === "type"); + }); + } + return false; + } + checkImportReflection(node) { + const { + specifiers + } = node; + const singleBindingType = specifiers.length === 1 ? specifiers[0].type : null; + if (node.phase === "source") { + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.SourcePhaseImportRequiresDefault, specifiers[0].loc.start); + } + } else if (node.phase === "defer") { + if (singleBindingType !== "ImportNamespaceSpecifier") { + this.raise(Errors.DeferImportRequiresNamespace, specifiers[0].loc.start); + } + } else if (node.module) { + var _node$assertions; + if (singleBindingType !== "ImportDefaultSpecifier") { + this.raise(Errors.ImportReflectionNotBinding, specifiers[0].loc.start); + } + if (((_node$assertions = node.assertions) == null ? void 0 : _node$assertions.length) > 0) { + this.raise(Errors.ImportReflectionHasAssertion, specifiers[0].loc.start); + } + } + } + checkJSONModuleImport(node) { + if (this.isJSONModuleImport(node) && node.type !== "ExportAllDeclaration") { + const { + specifiers + } = node; + if (specifiers != null) { + const nonDefaultNamedSpecifier = specifiers.find(specifier => { + let imported; + if (specifier.type === "ExportSpecifier") { + imported = specifier.local; + } else if (specifier.type === "ImportSpecifier") { + imported = specifier.imported; + } + if (imported !== undefined) { + return imported.type === "Identifier" ? imported.name !== "default" : imported.value !== "default"; + } + }); + if (nonDefaultNamedSpecifier !== undefined) { + this.raise(Errors.ImportJSONBindingNotDefault, nonDefaultNamedSpecifier.loc.start); + } + } + } + } + isPotentialImportPhase(isExport) { + if (isExport) return false; + return this.isContextual(105) || this.isContextual(97) || this.isContextual(127); + } + applyImportPhase(node, isExport, phase, loc) { + if (isExport) { + return; + } + if (phase === "module") { + this.expectPlugin("importReflection", loc); + node.module = true; + } else if (this.hasPlugin("importReflection")) { + node.module = false; + } + if (phase === "source") { + this.expectPlugin("sourcePhaseImports", loc); + node.phase = "source"; + } else if (phase === "defer") { + this.expectPlugin("deferredImportEvaluation", loc); + node.phase = "defer"; + } else if (this.hasPlugin("sourcePhaseImports")) { + node.phase = null; + } + } + parseMaybeImportPhase(node, isExport) { + if (!this.isPotentialImportPhase(isExport)) { + this.applyImportPhase(node, isExport, null); + return null; + } + const phaseIdentifier = this.startNode(); + const phaseIdentifierName = this.parseIdentifierName(true); + const { + type + } = this.state; + const isImportPhase = tokenIsKeywordOrIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + if (isImportPhase) { + this.applyImportPhase(node, isExport, phaseIdentifierName, phaseIdentifier.loc.start); + return null; + } else { + this.applyImportPhase(node, isExport, null); + return this.createIdentifier(phaseIdentifier, phaseIdentifierName); + } + } + isPrecedingIdImportPhase(phase) { + const { + type + } = this.state; + return tokenIsIdentifier(type) ? type !== 98 || this.lookaheadCharCode() === 102 : type !== 12; + } + parseImport(node) { + if (this.match(134)) { + return this.parseImportSourceAndAttributes(node); + } + return this.parseImportSpecifiersAndAfter(node, this.parseMaybeImportPhase(node, false)); + } + parseImportSpecifiersAndAfter(node, maybeDefaultIdentifier) { + node.specifiers = []; + const hasDefault = this.maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier); + const parseNext = !hasDefault || this.eat(12); + const hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual(98); + return this.parseImportSourceAndAttributes(node); + } + parseImportSourceAndAttributes(node) { + var _node$specifiers2; + (_node$specifiers2 = node.specifiers) != null ? _node$specifiers2 : node.specifiers = []; + node.source = this.parseImportSource(); + this.maybeParseImportAttributes(node); + this.checkImportReflection(node); + this.checkJSONModuleImport(node); + this.semicolon(); + this.sawUnambiguousESM = true; + return this.finishNode(node, "ImportDeclaration"); + } + parseImportSource() { + if (!this.match(134)) this.unexpected(); + return this.parseExprAtom(); + } + parseImportSpecifierLocal(node, specifier, type) { + specifier.local = this.parseIdentifier(); + node.specifiers.push(this.finishImportSpecifier(specifier, type)); + } + finishImportSpecifier(specifier, type, bindingType = 8201) { + this.checkLVal(specifier.local, { + type + }, bindingType); + return this.finishNode(specifier, type); + } + parseImportAttributes() { + this.expect(5); + const attrs = []; + const attrNames = new Set(); + do { + if (this.match(8)) { + break; + } + const node = this.startNode(); + const keyName = this.state.value; + if (attrNames.has(keyName)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, this.state.startLoc, { + key: keyName + }); + } + attrNames.add(keyName); + if (this.match(134)) { + node.key = this.parseStringLiteral(keyName); + } else { + node.key = this.parseIdentifier(true); + } + this.expect(14); + if (!this.match(134)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + this.expect(8); + return attrs; + } + parseModuleAttributes() { + const attrs = []; + const attributes = new Set(); + do { + const node = this.startNode(); + node.key = this.parseIdentifier(true); + if (node.key.name !== "type") { + this.raise(Errors.ModuleAttributeDifferentFromType, node.key); + } + if (attributes.has(node.key.name)) { + this.raise(Errors.ModuleAttributesWithDuplicateKeys, node.key, { + key: node.key.name + }); + } + attributes.add(node.key.name); + this.expect(14); + if (!this.match(134)) { + throw this.raise(Errors.ModuleAttributeInvalidValue, this.state.startLoc); + } + node.value = this.parseStringLiteral(this.state.value); + attrs.push(this.finishNode(node, "ImportAttribute")); + } while (this.eat(12)); + return attrs; + } + maybeParseImportAttributes(node) { + let attributes; + var useWith = false; + if (this.match(76)) { + if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) { + return; + } + this.next(); + if (this.hasPlugin("moduleAttributes")) { + attributes = this.parseModuleAttributes(); + this.addExtra(node, "deprecatedWithLegacySyntax", true); + } else { + attributes = this.parseImportAttributes(); + } + useWith = true; + } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) { + if (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importAssertions")) { + this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc); + } + if (!this.hasPlugin("importAssertions")) { + this.addExtra(node, "deprecatedAssertSyntax", true); + } + this.next(); + attributes = this.parseImportAttributes(); + } else { + attributes = []; + } + if (!useWith && this.hasPlugin("importAssertions")) { + node.assertions = attributes; + } else { + node.attributes = attributes; + } + } + maybeParseDefaultImportSpecifier(node, maybeDefaultIdentifier) { + if (maybeDefaultIdentifier) { + const specifier = this.startNodeAtNode(maybeDefaultIdentifier); + specifier.local = maybeDefaultIdentifier; + node.specifiers.push(this.finishImportSpecifier(specifier, "ImportDefaultSpecifier")); + return true; + } else if (tokenIsKeywordOrIdentifier(this.state.type)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier"); + return true; + } + return false; + } + maybeParseStarImportSpecifier(node) { + if (this.match(55)) { + const specifier = this.startNode(); + this.next(); + this.expectContextual(93); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier"); + return true; + } + return false; + } + parseNamedImportSpecifiers(node) { + let first = true; + this.expect(5); + while (!this.eat(8)) { + if (first) { + first = false; + } else { + if (this.eat(14)) { + throw this.raise(Errors.DestructureNamedImport, this.state.startLoc); + } + this.expect(12); + if (this.eat(8)) break; + } + const specifier = this.startNode(); + const importedIsString = this.match(134); + const isMaybeTypeOnly = this.isContextual(130); + specifier.imported = this.parseModuleExportName(); + const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly, undefined); + node.specifiers.push(importSpecifier); + } + } + parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly, bindingType) { + if (this.eatContextual(93)) { + specifier.local = this.parseIdentifier(); + } else { + const { + imported + } = specifier; + if (importedIsString) { + throw this.raise(Errors.ImportBindingIsString, specifier, { + importName: imported.value + }); + } + this.checkReservedWord(imported.name, specifier.loc.start, true, true); + if (!specifier.local) { + specifier.local = this.cloneIdentifier(imported); + } + } + return this.finishImportSpecifier(specifier, "ImportSpecifier", bindingType); + } + isThisParam(param) { + return param.type === "Identifier" && param.name === "this"; + } +} +class Parser extends StatementParser { + constructor(options, input, pluginsMap) { + const normalizedOptions = getOptions(options); + super(normalizedOptions, input); + this.options = normalizedOptions; + this.initializeScopes(); + this.plugins = pluginsMap; + this.filename = normalizedOptions.sourceFilename; + this.startIndex = normalizedOptions.startIndex; + let optionFlags = 0; + if (normalizedOptions.allowAwaitOutsideFunction) { + optionFlags |= 1; + } + if (normalizedOptions.allowReturnOutsideFunction) { + optionFlags |= 2; + } + if (normalizedOptions.allowImportExportEverywhere) { + optionFlags |= 8; + } + if (normalizedOptions.allowSuperOutsideMethod) { + optionFlags |= 16; + } + if (normalizedOptions.allowUndeclaredExports) { + optionFlags |= 64; + } + if (normalizedOptions.allowNewTargetOutsideFunction) { + optionFlags |= 4; + } + if (normalizedOptions.allowYieldOutsideFunction) { + optionFlags |= 32; + } + if (normalizedOptions.ranges) { + optionFlags |= 128; + } + if (normalizedOptions.tokens) { + optionFlags |= 256; + } + if (normalizedOptions.createImportExpressions) { + optionFlags |= 512; + } + if (normalizedOptions.createParenthesizedExpressions) { + optionFlags |= 1024; + } + if (normalizedOptions.errorRecovery) { + optionFlags |= 2048; + } + if (normalizedOptions.attachComment) { + optionFlags |= 4096; + } + if (normalizedOptions.annexB) { + optionFlags |= 8192; + } + this.optionFlags = optionFlags; + } + getScopeHandler() { + return ScopeHandler; + } + parse() { + this.enterInitialScopes(); + const file = this.startNode(); + const program = this.startNode(); + this.nextToken(); + file.errors = null; + const result = this.parseTopLevel(file, program); + result.errors = this.state.errors; + result.comments.length = this.state.commentsLen; + return result; + } +} +function parse(input, options) { + var _options; + if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") { + options = Object.assign({}, options); + try { + options.sourceType = "module"; + const parser = getParser(options, input); + const ast = parser.parse(); + if (parser.sawUnambiguousESM) { + return ast; + } + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} +function parseExpression(input, options) { + const parser = getParser(options, input); + if (parser.options.strictMode) { + parser.state.strict = true; + } + return parser.getExpression(); +} +function generateExportedTokenTypes(internalTokenTypes) { + const tokenTypes = {}; + for (const typeName of Object.keys(internalTokenTypes)) { + tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]); + } + return tokenTypes; +} +const tokTypes = generateExportedTokenTypes(tt); +function getParser(options, input) { + let cls = Parser; + const pluginsMap = new Map(); + if (options != null && options.plugins) { + for (const plugin of options.plugins) { + let name, opts; + if (typeof plugin === "string") { + name = plugin; + } else { + [name, opts] = plugin; + } + if (!pluginsMap.has(name)) { + pluginsMap.set(name, opts || {}); + } + } + validatePlugins(pluginsMap); + cls = getParserClass(pluginsMap); + } + return new cls(options, input, pluginsMap); +} +const parserClassCache = new Map(); +function getParserClass(pluginsMap) { + const pluginList = []; + for (const name of mixinPluginNames) { + if (pluginsMap.has(name)) { + pluginList.push(name); + } + } + const key = pluginList.join("|"); + let cls = parserClassCache.get(key); + if (!cls) { + cls = Parser; + for (const plugin of pluginList) { + cls = mixinPlugins[plugin](cls); + } + parserClassCache.set(key, cls); + } + return cls; +} +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = tokTypes; +//# sourceMappingURL=index.js.map diff --git a/apps/web/.output/server/node_modules/@babel/parser/package.json b/apps/web/.output/server/node_modules/@babel/parser/package.json new file mode 100644 index 0000000..66a99ce --- /dev/null +++ b/apps/web/.output/server/node_modules/@babel/parser/package.json @@ -0,0 +1,50 @@ +{ + "name": "@babel/parser", + "version": "7.29.9", + "description": "A JavaScript parser", + "author": "The Babel Team (https://babel.dev/team)", + "homepage": "https://babel.dev/docs/en/next/babel-parser", + "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "keywords": [ + "babel", + "javascript", + "parser", + "tc39", + "ecmascript", + "@babel/parser" + ], + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-parser" + }, + "main": "./lib/index.js", + "types": "./typings/babel-parser.d.ts", + "files": [ + "bin", + "lib", + "typings/babel-parser.d.ts", + "index.cjs" + ], + "engines": { + "node": ">=6.0.0" + }, + "# dependencies": "This package doesn't actually have runtime dependencies. @babel/types is only needed for type definitions.", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "devDependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/helper-check-duplicate-nodes": "^7.29.7", + "@babel/helper-fixtures": "^7.29.7", + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "charcodes": "^0.2.0" + }, + "bin": "./bin/babel-parser.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js new file mode 100644 index 0000000..58e7170 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js @@ -0,0 +1,6802 @@ +/** +* @vue/compiler-core v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); +var decode = require('entities/decode'); +var parser = require('@babel/parser'); +var estreeWalker = require('estree-walker'); +var sourceMapJs = require('source-map-js'); + +const FRAGMENT = /* @__PURE__ */ Symbol(``); +const TELEPORT = /* @__PURE__ */ Symbol(``); +const SUSPENSE = /* @__PURE__ */ Symbol(``); +const KEEP_ALIVE = /* @__PURE__ */ Symbol(``); +const BASE_TRANSITION = /* @__PURE__ */ Symbol( + `` +); +const OPEN_BLOCK = /* @__PURE__ */ Symbol(``); +const CREATE_BLOCK = /* @__PURE__ */ Symbol(``); +const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol( + `` +); +const CREATE_VNODE = /* @__PURE__ */ Symbol(``); +const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol( + `` +); +const CREATE_COMMENT = /* @__PURE__ */ Symbol( + `` +); +const CREATE_TEXT = /* @__PURE__ */ Symbol( + `` +); +const CREATE_STATIC = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol( + `` +); +const RESOLVE_FILTER = /* @__PURE__ */ Symbol( + `` +); +const WITH_DIRECTIVES = /* @__PURE__ */ Symbol( + `` +); +const RENDER_LIST = /* @__PURE__ */ Symbol(``); +const RENDER_SLOT = /* @__PURE__ */ Symbol(``); +const CREATE_SLOTS = /* @__PURE__ */ Symbol(``); +const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol( + `` +); +const MERGE_PROPS = /* @__PURE__ */ Symbol(``); +const NORMALIZE_CLASS = /* @__PURE__ */ Symbol( + `` +); +const NORMALIZE_STYLE = /* @__PURE__ */ Symbol( + `` +); +const NORMALIZE_PROPS = /* @__PURE__ */ Symbol( + `` +); +const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol( + `` +); +const TO_HANDLERS = /* @__PURE__ */ Symbol(``); +const CAMELIZE = /* @__PURE__ */ Symbol(``); +const CAPITALIZE = /* @__PURE__ */ Symbol(``); +const TO_HANDLER_KEY = /* @__PURE__ */ Symbol( + `` +); +const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol( + `` +); +const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(``); +const POP_SCOPE_ID = /* @__PURE__ */ Symbol(``); +const WITH_CTX = /* @__PURE__ */ Symbol(``); +const UNREF = /* @__PURE__ */ Symbol(``); +const IS_REF = /* @__PURE__ */ Symbol(``); +const WITH_MEMO = /* @__PURE__ */ Symbol(``); +const IS_MEMO_SAME = /* @__PURE__ */ Symbol(``); +const helperNameMap = { + [FRAGMENT]: `Fragment`, + [TELEPORT]: `Teleport`, + [SUSPENSE]: `Suspense`, + [KEEP_ALIVE]: `KeepAlive`, + [BASE_TRANSITION]: `BaseTransition`, + [OPEN_BLOCK]: `openBlock`, + [CREATE_BLOCK]: `createBlock`, + [CREATE_ELEMENT_BLOCK]: `createElementBlock`, + [CREATE_VNODE]: `createVNode`, + [CREATE_ELEMENT_VNODE]: `createElementVNode`, + [CREATE_COMMENT]: `createCommentVNode`, + [CREATE_TEXT]: `createTextVNode`, + [CREATE_STATIC]: `createStaticVNode`, + [RESOLVE_COMPONENT]: `resolveComponent`, + [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`, + [RESOLVE_DIRECTIVE]: `resolveDirective`, + [RESOLVE_FILTER]: `resolveFilter`, + [WITH_DIRECTIVES]: `withDirectives`, + [RENDER_LIST]: `renderList`, + [RENDER_SLOT]: `renderSlot`, + [CREATE_SLOTS]: `createSlots`, + [TO_DISPLAY_STRING]: `toDisplayString`, + [MERGE_PROPS]: `mergeProps`, + [NORMALIZE_CLASS]: `normalizeClass`, + [NORMALIZE_STYLE]: `normalizeStyle`, + [NORMALIZE_PROPS]: `normalizeProps`, + [GUARD_REACTIVE_PROPS]: `guardReactiveProps`, + [TO_HANDLERS]: `toHandlers`, + [CAMELIZE]: `camelize`, + [CAPITALIZE]: `capitalize`, + [TO_HANDLER_KEY]: `toHandlerKey`, + [SET_BLOCK_TRACKING]: `setBlockTracking`, + [PUSH_SCOPE_ID]: `pushScopeId`, + [POP_SCOPE_ID]: `popScopeId`, + [WITH_CTX]: `withCtx`, + [UNREF]: `unref`, + [IS_REF]: `isRef`, + [WITH_MEMO]: `withMemo`, + [IS_MEMO_SAME]: `isMemoSame` +}; +function registerRuntimeHelpers(helpers) { + Object.getOwnPropertySymbols(helpers).forEach((s) => { + helperNameMap[s] = helpers[s]; + }); +} + +const Namespaces = { + "HTML": 0, + "0": "HTML", + "SVG": 1, + "1": "SVG", + "MATH_ML": 2, + "2": "MATH_ML" +}; +const NodeTypes = { + "ROOT": 0, + "0": "ROOT", + "ELEMENT": 1, + "1": "ELEMENT", + "TEXT": 2, + "2": "TEXT", + "COMMENT": 3, + "3": "COMMENT", + "SIMPLE_EXPRESSION": 4, + "4": "SIMPLE_EXPRESSION", + "INTERPOLATION": 5, + "5": "INTERPOLATION", + "ATTRIBUTE": 6, + "6": "ATTRIBUTE", + "DIRECTIVE": 7, + "7": "DIRECTIVE", + "COMPOUND_EXPRESSION": 8, + "8": "COMPOUND_EXPRESSION", + "IF": 9, + "9": "IF", + "IF_BRANCH": 10, + "10": "IF_BRANCH", + "FOR": 11, + "11": "FOR", + "TEXT_CALL": 12, + "12": "TEXT_CALL", + "VNODE_CALL": 13, + "13": "VNODE_CALL", + "JS_CALL_EXPRESSION": 14, + "14": "JS_CALL_EXPRESSION", + "JS_OBJECT_EXPRESSION": 15, + "15": "JS_OBJECT_EXPRESSION", + "JS_PROPERTY": 16, + "16": "JS_PROPERTY", + "JS_ARRAY_EXPRESSION": 17, + "17": "JS_ARRAY_EXPRESSION", + "JS_FUNCTION_EXPRESSION": 18, + "18": "JS_FUNCTION_EXPRESSION", + "JS_CONDITIONAL_EXPRESSION": 19, + "19": "JS_CONDITIONAL_EXPRESSION", + "JS_CACHE_EXPRESSION": 20, + "20": "JS_CACHE_EXPRESSION", + "JS_BLOCK_STATEMENT": 21, + "21": "JS_BLOCK_STATEMENT", + "JS_TEMPLATE_LITERAL": 22, + "22": "JS_TEMPLATE_LITERAL", + "JS_IF_STATEMENT": 23, + "23": "JS_IF_STATEMENT", + "JS_ASSIGNMENT_EXPRESSION": 24, + "24": "JS_ASSIGNMENT_EXPRESSION", + "JS_SEQUENCE_EXPRESSION": 25, + "25": "JS_SEQUENCE_EXPRESSION", + "JS_RETURN_STATEMENT": 26, + "26": "JS_RETURN_STATEMENT" +}; +const ElementTypes = { + "ELEMENT": 0, + "0": "ELEMENT", + "COMPONENT": 1, + "1": "COMPONENT", + "SLOT": 2, + "2": "SLOT", + "TEMPLATE": 3, + "3": "TEMPLATE" +}; +const ConstantTypes = { + "NOT_CONSTANT": 0, + "0": "NOT_CONSTANT", + "CAN_SKIP_PATCH": 1, + "1": "CAN_SKIP_PATCH", + "CAN_CACHE": 2, + "2": "CAN_CACHE", + "CAN_STRINGIFY": 3, + "3": "CAN_STRINGIFY" +}; +const locStub = { + start: { line: 1, column: 1, offset: 0 }, + end: { line: 1, column: 1, offset: 0 }, + source: "" +}; +function createRoot(children, source = "") { + return { + type: 0, + source, + children, + helpers: /* @__PURE__ */ new Set(), + components: [], + directives: [], + hoists: [], + imports: [], + cached: [], + temps: 0, + codegenNode: void 0, + loc: locStub + }; +} +function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) { + if (context) { + if (isBlock) { + context.helper(OPEN_BLOCK); + context.helper(getVNodeBlockHelper(context.inSSR, isComponent)); + } else { + context.helper(getVNodeHelper(context.inSSR, isComponent)); + } + if (directives) { + context.helper(WITH_DIRECTIVES); + } + } + return { + type: 13, + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent, + loc + }; +} +function createArrayExpression(elements, loc = locStub) { + return { + type: 17, + loc, + elements + }; +} +function createObjectExpression(properties, loc = locStub) { + return { + type: 15, + loc, + properties + }; +} +function createObjectProperty(key, value) { + return { + type: 16, + loc: locStub, + key: shared.isString(key) ? createSimpleExpression(key, true) : key, + value + }; +} +function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) { + return { + type: 4, + loc, + content, + isStatic, + constType: isStatic ? 3 : constType + }; +} +function createInterpolation(content, loc) { + return { + type: 5, + loc, + content: shared.isString(content) ? createSimpleExpression(content, false, loc) : content + }; +} +function createCompoundExpression(children, loc = locStub) { + return { + type: 8, + loc, + children + }; +} +function createCallExpression(callee, args = [], loc = locStub) { + return { + type: 14, + loc, + callee, + arguments: args + }; +} +function createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) { + return { + type: 18, + params, + returns, + newline, + isSlot, + loc + }; +} +function createConditionalExpression(test, consequent, alternate, newline = true) { + return { + type: 19, + test, + consequent, + alternate, + newline, + loc: locStub + }; +} +function createCacheExpression(index, value, needPauseTracking = false, inVOnce = false) { + return { + type: 20, + index, + value, + needPauseTracking, + inVOnce, + needArraySpread: false, + loc: locStub + }; +} +function createBlockStatement(body) { + return { + type: 21, + body, + loc: locStub + }; +} +function createTemplateLiteral(elements) { + return { + type: 22, + elements, + loc: locStub + }; +} +function createIfStatement(test, consequent, alternate) { + return { + type: 23, + test, + consequent, + alternate, + loc: locStub + }; +} +function createAssignmentExpression(left, right) { + return { + type: 24, + left, + right, + loc: locStub + }; +} +function createSequenceExpression(expressions) { + return { + type: 25, + expressions, + loc: locStub + }; +} +function createReturnStatement(returns) { + return { + type: 26, + returns, + loc: locStub + }; +} +function getVNodeHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE; +} +function getVNodeBlockHelper(ssr, isComponent) { + return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK; +} +function convertToBlock(node, { helper, removeHelper, inSSR }) { + if (!node.isBlock) { + node.isBlock = true; + removeHelper(getVNodeHelper(inSSR, node.isComponent)); + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(inSSR, node.isComponent)); + } +} + +const defaultDelimitersOpen = new Uint8Array([123, 123]); +const defaultDelimitersClose = new Uint8Array([125, 125]); +function isTagStartChar(c) { + return c >= 97 && c <= 122 || c >= 65 && c <= 90; +} +function isWhitespace(c) { + return c === 32 || c === 10 || c === 9 || c === 12 || c === 13; +} +function isEndOfTagSection(c) { + return c === 47 || c === 62 || isWhitespace(c); +} +function toCharCodes(str) { + const ret = new Uint8Array(str.length); + for (let i = 0; i < str.length; i++) { + ret[i] = str.charCodeAt(i); + } + return ret; +} +const Sequences = { + Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]), + // CDATA[ + CdataEnd: new Uint8Array([93, 93, 62]), + // ]]> + CommentEnd: new Uint8Array([45, 45, 62]), + // `-->` + ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]), + // `<\/script` + StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]), + // ` this.emitCodePoint(cp, consumed) + ); + } + } + get inSFCRoot() { + return this.mode === 2 && this.stack.length === 0; + } + reset() { + this.state = 1; + this.mode = 0; + this.buffer = ""; + this.sectionStart = 0; + this.index = 0; + this.baseState = 1; + this.inRCDATA = false; + this.currentSequence = void 0; + this.newlines.length = 0; + this.delimiterOpen = defaultDelimitersOpen; + this.delimiterClose = defaultDelimitersClose; + } + /** + * Generate Position object with line / column information using recorded + * newline positions. We know the index is always going to be an already + * processed index, so all the newlines up to this index should have been + * recorded. + */ + getPos(index) { + let line = 1; + let column = index + 1; + const length = this.newlines.length; + let j = -1; + if (length > 100) { + let l = -1; + let r = length; + while (l + 1 < r) { + const m = l + r >>> 1; + this.newlines[m] < index ? l = m : r = m; + } + j = l; + } else { + for (let i = length - 1; i >= 0; i--) { + if (index > this.newlines[i]) { + j = i; + break; + } + } + } + if (j >= 0) { + line = j + 2; + column = index - this.newlines[j]; + } + return { + column, + line, + offset: index + }; + } + peek() { + return this.buffer.charCodeAt(this.index + 1); + } + stateText(c) { + if (c === 60) { + if (this.index > this.sectionStart) { + this.cbs.ontext(this.sectionStart, this.index); + } + this.state = 5; + this.sectionStart = this.index; + } else if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } + stateInterpolationOpen(c) { + if (c === this.delimiterOpen[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterOpen.length - 1) { + const start = this.index + 1 - this.delimiterOpen.length; + if (start > this.sectionStart) { + this.cbs.ontext(this.sectionStart, start); + } + this.state = 3; + this.sectionStart = start; + } else { + this.delimiterIndex++; + } + } else if (this.inRCDATA) { + this.state = 32; + this.stateInRCDATA(c); + } else { + this.state = 1; + this.stateText(c); + } + } + stateInterpolation(c) { + if (c === this.delimiterClose[0]) { + this.state = 4; + this.delimiterIndex = 0; + this.stateInterpolationClose(c); + } + } + stateInterpolationClose(c) { + if (c === this.delimiterClose[this.delimiterIndex]) { + if (this.delimiterIndex === this.delimiterClose.length - 1) { + this.cbs.oninterpolation(this.sectionStart, this.index + 1); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else { + this.delimiterIndex++; + } + } else { + this.state = 3; + this.stateInterpolation(c); + } + } + stateSpecialStartSequence(c) { + const isEnd = this.sequenceIndex === this.currentSequence.length; + const isMatch = isEnd ? ( + // If we are at the end of the sequence, make sure the tag name has ended + isEndOfTagSection(c) + ) : ( + // Otherwise, do a case-insensitive comparison + (c | 32) === this.currentSequence[this.sequenceIndex] + ); + if (!isMatch) { + this.inRCDATA = false; + } else if (!isEnd) { + this.sequenceIndex++; + return; + } + this.sequenceIndex = 0; + this.state = 6; + this.stateInTagName(c); + } + /** Look for an end tag. For and <textarea>, also decode entities. */ + stateInRCDATA(c) { + if (this.sequenceIndex === this.currentSequence.length) { + if (c === 62 || isWhitespace(c)) { + const endOfText = this.index - this.currentSequence.length; + if (this.sectionStart < endOfText) { + const actualIndex = this.index; + this.index = endOfText; + this.cbs.ontext(this.sectionStart, endOfText); + this.index = actualIndex; + } + this.sectionStart = endOfText + 2; + this.stateInClosingTagName(c); + this.inRCDATA = false; + return; + } + this.sequenceIndex = 0; + } + if ((c | 32) === this.currentSequence[this.sequenceIndex]) { + this.sequenceIndex += 1; + } else if (this.sequenceIndex === 0) { + if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) { + if (c === 38) { + this.startEntity(); + } else if (!this.inVPre && c === this.delimiterOpen[0]) { + this.state = 2; + this.delimiterIndex = 0; + this.stateInterpolationOpen(c); + } + } else if (this.fastForwardTo(60)) { + this.sequenceIndex = 1; + } + } else { + this.sequenceIndex = Number(c === 60); + } + } + stateCDATASequence(c) { + if (c === Sequences.Cdata[this.sequenceIndex]) { + if (++this.sequenceIndex === Sequences.Cdata.length) { + this.state = 28; + this.currentSequence = Sequences.CdataEnd; + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + } + } else { + this.sequenceIndex = 0; + this.state = 23; + this.stateInDeclaration(c); + } + } + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + fastForwardTo(c) { + while (++this.index < this.buffer.length) { + const cc = this.buffer.charCodeAt(this.index); + if (cc === 10) { + this.newlines.push(this.index); + } + if (cc === c) { + return true; + } + } + this.index = this.buffer.length - 1; + return false; + } + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + stateInCommentLike(c) { + if (c === this.currentSequence[this.sequenceIndex]) { + if (++this.sequenceIndex === this.currentSequence.length) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, this.index - 2); + } else { + this.cbs.oncomment(this.sectionStart, this.index - 2); + } + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + this.state = 1; + } + } else if (this.sequenceIndex === 0) { + if (this.fastForwardTo(this.currentSequence[0])) { + this.sequenceIndex = 1; + } + } else if (c !== this.currentSequence[this.sequenceIndex - 1]) { + this.sequenceIndex = 0; + } + } + startSpecial(sequence, offset) { + this.enterRCDATA(sequence, offset); + this.state = 31; + } + enterRCDATA(sequence, offset) { + this.inRCDATA = true; + this.currentSequence = sequence; + this.sequenceIndex = offset; + } + stateBeforeTagName(c) { + if (c === 33) { + this.state = 22; + this.sectionStart = this.index + 1; + } else if (c === 63) { + this.state = 24; + this.sectionStart = this.index + 1; + } else if (isTagStartChar(c)) { + this.sectionStart = this.index; + if (this.mode === 0) { + this.state = 6; + } else if (this.inSFCRoot) { + this.state = 34; + } else if (!this.inXML) { + if (c === 116) { + this.state = 30; + } else { + this.state = c === 115 ? 29 : 6; + } + } else { + this.state = 6; + } + } else if (c === 47) { + this.state = 8; + } else { + this.state = 1; + this.stateText(c); + } + } + stateInTagName(c) { + if (isEndOfTagSection(c)) { + this.handleTagName(c); + } + } + stateInSFCRootTagName(c) { + if (isEndOfTagSection(c)) { + const tag = this.buffer.slice(this.sectionStart, this.index); + if (tag !== "template") { + this.enterRCDATA(toCharCodes(`</` + tag), 0); + } + this.handleTagName(c); + } + } + handleTagName(c) { + this.cbs.onopentagname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } + stateBeforeClosingTagName(c) { + if (isWhitespace(c)) ; else if (c === 62) { + { + this.cbs.onerr(14, this.index); + } + this.state = 1; + this.sectionStart = this.index + 1; + } else { + this.state = isTagStartChar(c) ? 9 : 27; + this.sectionStart = this.index; + } + } + stateInClosingTagName(c) { + if (c === 62 || isWhitespace(c)) { + this.cbs.onclosetag(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = 10; + this.stateAfterClosingTagName(c); + } + } + stateAfterClosingTagName(c) { + if (c === 62) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeAttrName(c) { + if (c === 62) { + this.cbs.onopentagend(this.index); + if (this.inRCDATA) { + this.state = 32; + } else { + this.state = 1; + } + this.sectionStart = this.index + 1; + } else if (c === 47) { + this.state = 7; + if (this.peek() !== 62) { + this.cbs.onerr(22, this.index); + } + } else if (c === 60 && this.peek() === 47) { + this.cbs.onopentagend(this.index); + this.state = 5; + this.sectionStart = this.index; + } else if (!isWhitespace(c)) { + if (c === 61) { + this.cbs.onerr( + 19, + this.index + ); + } + this.handleAttrStart(c); + } + } + handleAttrStart(c) { + if (c === 118 && this.peek() === 45) { + this.state = 13; + this.sectionStart = this.index; + } else if (c === 46 || c === 58 || c === 64 || c === 35) { + this.cbs.ondirname(this.index, this.index + 1); + this.state = 14; + this.sectionStart = this.index + 1; + } else { + this.state = 12; + this.sectionStart = this.index; + } + } + stateInSelfClosingTag(c) { + if (c === 62) { + this.cbs.onselfclosingtag(this.index); + this.state = 1; + this.sectionStart = this.index + 1; + this.inRCDATA = false; + } else if (!isWhitespace(c)) { + this.state = 11; + this.stateBeforeAttrName(c); + } + } + stateInAttrName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.onattribname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 34 || c === 39 || c === 60) { + this.cbs.onerr( + 17, + this.index + ); + } + } + stateInDirName(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirname(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 58) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 14; + this.sectionStart = this.index + 1; + } else if (c === 46) { + this.cbs.ondirname(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDirArg(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 91) { + this.state = 15; + } else if (c === 46) { + this.cbs.ondirarg(this.sectionStart, this.index); + this.state = 16; + this.sectionStart = this.index + 1; + } + } + stateInDynamicDirArg(c) { + if (c === 93) { + this.state = 14; + } else if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirarg(this.sectionStart, this.index + 1); + this.handleAttrNameEnd(c); + { + this.cbs.onerr( + 27, + this.index + ); + } + } + } + stateInDirModifier(c) { + if (c === 61 || isEndOfTagSection(c)) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.handleAttrNameEnd(c); + } else if (c === 46) { + this.cbs.ondirmodifier(this.sectionStart, this.index); + this.sectionStart = this.index + 1; + } + } + handleAttrNameEnd(c) { + this.sectionStart = this.index; + this.state = 17; + this.cbs.onattribnameend(this.index); + this.stateAfterAttrName(c); + } + stateAfterAttrName(c) { + if (c === 61) { + this.state = 18; + } else if (c === 47 || c === 62) { + this.cbs.onattribend(0, this.sectionStart); + this.sectionStart = -1; + this.state = 11; + this.stateBeforeAttrName(c); + } else if (!isWhitespace(c)) { + this.cbs.onattribend(0, this.sectionStart); + this.handleAttrStart(c); + } + } + stateBeforeAttrValue(c) { + if (c === 34) { + this.state = 19; + this.sectionStart = this.index + 1; + } else if (c === 39) { + this.state = 20; + this.sectionStart = this.index + 1; + } else if (!isWhitespace(c)) { + this.sectionStart = this.index; + this.state = 21; + this.stateInAttrValueNoQuotes(c); + } + } + handleInAttrValue(c, quote) { + if (c === quote || false) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend( + quote === 34 ? 3 : 2, + this.index + 1 + ); + this.state = 11; + } else if (c === 38) { + this.startEntity(); + } + } + stateInAttrValueDoubleQuotes(c) { + this.handleInAttrValue(c, 34); + } + stateInAttrValueSingleQuotes(c) { + this.handleInAttrValue(c, 39); + } + stateInAttrValueNoQuotes(c) { + if (isWhitespace(c) || c === 62) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(1, this.index); + this.state = 11; + this.stateBeforeAttrName(c); + } else if (c === 34 || c === 39 || c === 60 || c === 61 || c === 96) { + this.cbs.onerr( + 18, + this.index + ); + } else if (c === 38) { + this.startEntity(); + } + } + stateBeforeDeclaration(c) { + if (c === 91) { + this.state = 26; + this.sequenceIndex = 0; + } else { + this.state = c === 45 ? 25 : 23; + } + } + stateInDeclaration(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateInProcessingInstruction(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.onprocessinginstruction(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeComment(c) { + if (c === 45) { + this.state = 28; + this.currentSequence = Sequences.CommentEnd; + this.sequenceIndex = 2; + this.sectionStart = this.index + 1; + } else { + this.state = 23; + } + } + stateInSpecialComment(c) { + if (c === 62 || this.fastForwardTo(62)) { + this.cbs.oncomment(this.sectionStart, this.index); + this.state = 1; + this.sectionStart = this.index + 1; + } + } + stateBeforeSpecialS(c) { + if (c === Sequences.ScriptEnd[3]) { + this.startSpecial(Sequences.ScriptEnd, 4); + } else if (c === Sequences.StyleEnd[3]) { + this.startSpecial(Sequences.StyleEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + stateBeforeSpecialT(c) { + if (c === Sequences.TitleEnd[3]) { + this.startSpecial(Sequences.TitleEnd, 4); + } else if (c === Sequences.TextareaEnd[3]) { + this.startSpecial(Sequences.TextareaEnd, 4); + } else { + this.state = 6; + this.stateInTagName(c); + } + } + startEntity() { + { + this.baseState = this.state; + this.state = 33; + this.entityStart = this.index; + this.entityDecoder.startEntity( + this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute + ); + } + } + stateInEntity() { + { + const length = this.entityDecoder.write(this.buffer, this.index); + if (length >= 0) { + this.state = this.baseState; + if (length === 0) { + this.index = this.entityStart; + } + } else { + this.index = this.buffer.length - 1; + } + } + } + /** + * Iterates through the buffer, calling the function corresponding to the current state. + * + * States that are more likely to be hit are higher up, as a performance improvement. + */ + parse(input) { + this.buffer = input; + while (this.index < this.buffer.length) { + const c = this.buffer.charCodeAt(this.index); + if (c === 10 && this.state !== 33) { + this.newlines.push(this.index); + } + switch (this.state) { + case 1: { + this.stateText(c); + break; + } + case 2: { + this.stateInterpolationOpen(c); + break; + } + case 3: { + this.stateInterpolation(c); + break; + } + case 4: { + this.stateInterpolationClose(c); + break; + } + case 31: { + this.stateSpecialStartSequence(c); + break; + } + case 32: { + this.stateInRCDATA(c); + break; + } + case 26: { + this.stateCDATASequence(c); + break; + } + case 19: { + this.stateInAttrValueDoubleQuotes(c); + break; + } + case 12: { + this.stateInAttrName(c); + break; + } + case 13: { + this.stateInDirName(c); + break; + } + case 14: { + this.stateInDirArg(c); + break; + } + case 15: { + this.stateInDynamicDirArg(c); + break; + } + case 16: { + this.stateInDirModifier(c); + break; + } + case 28: { + this.stateInCommentLike(c); + break; + } + case 27: { + this.stateInSpecialComment(c); + break; + } + case 11: { + this.stateBeforeAttrName(c); + break; + } + case 6: { + this.stateInTagName(c); + break; + } + case 34: { + this.stateInSFCRootTagName(c); + break; + } + case 9: { + this.stateInClosingTagName(c); + break; + } + case 5: { + this.stateBeforeTagName(c); + break; + } + case 17: { + this.stateAfterAttrName(c); + break; + } + case 20: { + this.stateInAttrValueSingleQuotes(c); + break; + } + case 18: { + this.stateBeforeAttrValue(c); + break; + } + case 8: { + this.stateBeforeClosingTagName(c); + break; + } + case 10: { + this.stateAfterClosingTagName(c); + break; + } + case 29: { + this.stateBeforeSpecialS(c); + break; + } + case 30: { + this.stateBeforeSpecialT(c); + break; + } + case 21: { + this.stateInAttrValueNoQuotes(c); + break; + } + case 7: { + this.stateInSelfClosingTag(c); + break; + } + case 23: { + this.stateInDeclaration(c); + break; + } + case 22: { + this.stateBeforeDeclaration(c); + break; + } + case 25: { + this.stateBeforeComment(c); + break; + } + case 24: { + this.stateInProcessingInstruction(c); + break; + } + case 33: { + this.stateInEntity(); + break; + } + } + this.index++; + } + this.cleanup(); + this.finish(); + } + /** + * Remove data that has already been consumed from the buffer. + */ + cleanup() { + if (this.sectionStart !== this.index) { + if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) { + this.cbs.ontext(this.sectionStart, this.index); + this.sectionStart = this.index; + } else if (this.state === 19 || this.state === 20 || this.state === 21) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = this.index; + } + } + } + finish() { + if (this.state === 33) { + this.entityDecoder.end(); + this.state = this.baseState; + } + this.handleTrailingData(); + this.cbs.onend(); + } + /** Handle any trailing data. */ + handleTrailingData() { + const endIndex = this.buffer.length; + if (this.sectionStart >= endIndex) { + return; + } + if (this.state === 28) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, endIndex); + } else { + this.cbs.oncomment(this.sectionStart, endIndex); + } + } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else { + this.cbs.ontext(this.sectionStart, endIndex); + } + } + emitCodePoint(cp, consumed) { + { + if (this.baseState !== 1 && this.baseState !== 32) { + if (this.sectionStart < this.entityStart) { + this.cbs.onattribdata(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.onattribentity( + decode.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } else { + if (this.sectionStart < this.entityStart) { + this.cbs.ontext(this.sectionStart, this.entityStart); + } + this.sectionStart = this.entityStart + consumed; + this.index = this.sectionStart - 1; + this.cbs.ontextentity( + decode.fromCodePoint(cp), + this.entityStart, + this.sectionStart + ); + } + } + } +} + +const CompilerDeprecationTypes = { + "COMPILER_IS_ON_ELEMENT": "COMPILER_IS_ON_ELEMENT", + "COMPILER_V_BIND_SYNC": "COMPILER_V_BIND_SYNC", + "COMPILER_V_BIND_OBJECT_ORDER": "COMPILER_V_BIND_OBJECT_ORDER", + "COMPILER_V_ON_NATIVE": "COMPILER_V_ON_NATIVE", + "COMPILER_V_IF_V_FOR_PRECEDENCE": "COMPILER_V_IF_V_FOR_PRECEDENCE", + "COMPILER_NATIVE_TEMPLATE": "COMPILER_NATIVE_TEMPLATE", + "COMPILER_INLINE_TEMPLATE": "COMPILER_INLINE_TEMPLATE", + "COMPILER_FILTERS": "COMPILER_FILTERS" +}; +const deprecationData = { + ["COMPILER_IS_ON_ELEMENT"]: { + message: `Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".`, + link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html` + }, + ["COMPILER_V_BIND_SYNC"]: { + message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${key}.sync\` should be changed to \`v-model:${key}\`.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html` + }, + ["COMPILER_V_BIND_OBJECT_ORDER"]: { + message: `v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html` + }, + ["COMPILER_V_ON_NATIVE"]: { + message: `.native modifier for v-on has been removed as is no longer necessary.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html` + }, + ["COMPILER_V_IF_V_FOR_PRECEDENCE"]: { + message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`, + link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html` + }, + ["COMPILER_NATIVE_TEMPLATE"]: { + message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.` + }, + ["COMPILER_INLINE_TEMPLATE"]: { + message: `"inline-template" has been removed in Vue 3.`, + link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html` + }, + ["COMPILER_FILTERS"]: { + message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`, + link: `https://v3-migration.vuejs.org/breaking-changes/filters.html` + } +}; +function getCompatValue(key, { compatConfig }) { + const value = compatConfig && compatConfig[key]; + if (key === "MODE") { + return value || 3; + } else { + return value; + } +} +function isCompatEnabled(key, context) { + const mode = getCompatValue("MODE", context); + const value = getCompatValue(key, context); + return mode === 3 ? value === true : value !== false; +} +function checkCompatEnabled(key, context, loc, ...args) { + const enabled = isCompatEnabled(key, context); + return enabled; +} +function warnDeprecation(key, context, loc, ...args) { + const val = getCompatValue(key, context); + if (val === "suppress-warning") { + return; + } + const { message, link } = deprecationData[key]; + const msg = `(deprecation ${key}) ${typeof message === "function" ? message(...args) : message}${link ? ` + Details: ${link}` : ``}`; + const err = new SyntaxError(msg); + err.code = key; + if (loc) err.loc = loc; + context.onWarn(err); +} + +function defaultOnError(error) { + throw error; +} +function defaultOnWarn(msg) { +} +function createCompilerError(code, loc, messages, additionalMessage) { + const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ; + const error = new SyntaxError(String(msg)); + error.code = code; + error.loc = loc; + return error; +} +const ErrorCodes = { + "ABRUPT_CLOSING_OF_EMPTY_COMMENT": 0, + "0": "ABRUPT_CLOSING_OF_EMPTY_COMMENT", + "CDATA_IN_HTML_CONTENT": 1, + "1": "CDATA_IN_HTML_CONTENT", + "DUPLICATE_ATTRIBUTE": 2, + "2": "DUPLICATE_ATTRIBUTE", + "END_TAG_WITH_ATTRIBUTES": 3, + "3": "END_TAG_WITH_ATTRIBUTES", + "END_TAG_WITH_TRAILING_SOLIDUS": 4, + "4": "END_TAG_WITH_TRAILING_SOLIDUS", + "EOF_BEFORE_TAG_NAME": 5, + "5": "EOF_BEFORE_TAG_NAME", + "EOF_IN_CDATA": 6, + "6": "EOF_IN_CDATA", + "EOF_IN_COMMENT": 7, + "7": "EOF_IN_COMMENT", + "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT": 8, + "8": "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT", + "EOF_IN_TAG": 9, + "9": "EOF_IN_TAG", + "INCORRECTLY_CLOSED_COMMENT": 10, + "10": "INCORRECTLY_CLOSED_COMMENT", + "INCORRECTLY_OPENED_COMMENT": 11, + "11": "INCORRECTLY_OPENED_COMMENT", + "INVALID_FIRST_CHARACTER_OF_TAG_NAME": 12, + "12": "INVALID_FIRST_CHARACTER_OF_TAG_NAME", + "MISSING_ATTRIBUTE_VALUE": 13, + "13": "MISSING_ATTRIBUTE_VALUE", + "MISSING_END_TAG_NAME": 14, + "14": "MISSING_END_TAG_NAME", + "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES": 15, + "15": "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES", + "NESTED_COMMENT": 16, + "16": "NESTED_COMMENT", + "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME": 17, + "17": "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME", + "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE": 18, + "18": "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE", + "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME": 19, + "19": "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME", + "UNEXPECTED_NULL_CHARACTER": 20, + "20": "UNEXPECTED_NULL_CHARACTER", + "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME": 21, + "21": "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME", + "UNEXPECTED_SOLIDUS_IN_TAG": 22, + "22": "UNEXPECTED_SOLIDUS_IN_TAG", + "X_INVALID_END_TAG": 23, + "23": "X_INVALID_END_TAG", + "X_MISSING_END_TAG": 24, + "24": "X_MISSING_END_TAG", + "X_MISSING_INTERPOLATION_END": 25, + "25": "X_MISSING_INTERPOLATION_END", + "X_MISSING_DIRECTIVE_NAME": 26, + "26": "X_MISSING_DIRECTIVE_NAME", + "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END": 27, + "27": "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END", + "X_V_IF_NO_EXPRESSION": 28, + "28": "X_V_IF_NO_EXPRESSION", + "X_V_IF_SAME_KEY": 29, + "29": "X_V_IF_SAME_KEY", + "X_V_ELSE_NO_ADJACENT_IF": 30, + "30": "X_V_ELSE_NO_ADJACENT_IF", + "X_V_FOR_NO_EXPRESSION": 31, + "31": "X_V_FOR_NO_EXPRESSION", + "X_V_FOR_MALFORMED_EXPRESSION": 32, + "32": "X_V_FOR_MALFORMED_EXPRESSION", + "X_V_FOR_TEMPLATE_KEY_PLACEMENT": 33, + "33": "X_V_FOR_TEMPLATE_KEY_PLACEMENT", + "X_V_BIND_NO_EXPRESSION": 34, + "34": "X_V_BIND_NO_EXPRESSION", + "X_V_ON_NO_EXPRESSION": 35, + "35": "X_V_ON_NO_EXPRESSION", + "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET": 36, + "36": "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET", + "X_V_SLOT_MIXED_SLOT_USAGE": 37, + "37": "X_V_SLOT_MIXED_SLOT_USAGE", + "X_V_SLOT_DUPLICATE_SLOT_NAMES": 38, + "38": "X_V_SLOT_DUPLICATE_SLOT_NAMES", + "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN": 39, + "39": "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN", + "X_V_SLOT_MISPLACED": 40, + "40": "X_V_SLOT_MISPLACED", + "X_V_MODEL_NO_EXPRESSION": 41, + "41": "X_V_MODEL_NO_EXPRESSION", + "X_V_MODEL_MALFORMED_EXPRESSION": 42, + "42": "X_V_MODEL_MALFORMED_EXPRESSION", + "X_V_MODEL_ON_SCOPE_VARIABLE": 43, + "43": "X_V_MODEL_ON_SCOPE_VARIABLE", + "X_V_MODEL_ON_PROPS": 44, + "44": "X_V_MODEL_ON_PROPS", + "X_V_MODEL_ON_CONST": 45, + "45": "X_V_MODEL_ON_CONST", + "X_INVALID_EXPRESSION": 46, + "46": "X_INVALID_EXPRESSION", + "X_KEEP_ALIVE_INVALID_CHILDREN": 47, + "47": "X_KEEP_ALIVE_INVALID_CHILDREN", + "X_PREFIX_ID_NOT_SUPPORTED": 48, + "48": "X_PREFIX_ID_NOT_SUPPORTED", + "X_MODULE_MODE_NOT_SUPPORTED": 49, + "49": "X_MODULE_MODE_NOT_SUPPORTED", + "X_CACHE_HANDLER_NOT_SUPPORTED": 50, + "50": "X_CACHE_HANDLER_NOT_SUPPORTED", + "X_SCOPE_ID_NOT_SUPPORTED": 51, + "51": "X_SCOPE_ID_NOT_SUPPORTED", + "X_VNODE_HOOKS": 52, + "52": "X_VNODE_HOOKS", + "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53, + "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT", + "__EXTEND_POINT__": 54, + "54": "__EXTEND_POINT__" +}; +const errorMessages = { + // parse errors + [0]: "Illegal comment.", + [1]: "CDATA section is allowed only in XML context.", + [2]: "Duplicate attribute.", + [3]: "End tag cannot have attributes.", + [4]: "Illegal '/' in tags.", + [5]: "Unexpected EOF in tag.", + [6]: "Unexpected EOF in CDATA section.", + [7]: "Unexpected EOF in comment.", + [8]: "Unexpected EOF in script.", + [9]: "Unexpected EOF in tag.", + [10]: "Incorrectly closed comment.", + [11]: "Incorrectly opened comment.", + [12]: "Illegal tag name. Use '<' to print '<'.", + [13]: "Attribute value was expected.", + [14]: "End tag name was expected.", + [15]: "Whitespace was expected.", + [16]: "Unexpected '<!--' in comment.", + [17]: `Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`, + [18]: "Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).", + [19]: "Attribute name cannot start with '='.", + [21]: "'<?' is allowed only in XML context.", + [20]: `Unexpected null character.`, + [22]: "Illegal '/' in tags.", + // Vue-specific parse errors + [23]: "Invalid end tag.", + [24]: "Element is missing end tag.", + [25]: "Interpolation end sign was not found.", + [27]: "End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.", + [26]: "Legal directive name was expected.", + // transform errors + [28]: `v-if/v-else-if is missing expression.`, + [29]: `v-if/else branches must use unique keys.`, + [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`, + [31]: `v-for is missing expression.`, + [32]: `v-for has invalid expression.`, + [33]: `<template v-for> key should be placed on the <template> tag.`, + [34]: `v-bind is missing expression.`, + [53]: `v-bind with same-name shorthand only allows static argument.`, + [35]: `v-on is missing expression.`, + [36]: `Unexpected custom directive on <slot> outlet.`, + [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`, + [38]: `Duplicate slot names found. `, + [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`, + [40]: `v-slot can only be used on components or <template> tags.`, + [41]: `v-model is missing expression.`, + [42]: `v-model value must be a valid JavaScript member expression.`, + [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`, + [44]: `v-model cannot be used on a prop, because local prop bindings are not writable. +Use a v-bind binding combined with a v-on listener that emits update:x event instead. +For props declared with defineModel(), assign the returned ref to a variable and use v-model on that variable.`, + [45]: `v-model cannot be used on a const binding because it is not writable.`, + [46]: `Error parsing JavaScript expression: `, + [47]: `<KeepAlive> expects exactly one child component.`, + [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`, + // generic errors + [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`, + [49]: `ES module mode is not supported in this build of compiler.`, + [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`, + [51]: `"scopeId" option is only supported in module mode.`, + // just to fulfill types + [54]: `` +}; + +function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) { + const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root; + estreeWalker.walk(root, { + enter(node, parent) { + parent && parentStack.push(parent); + if (parent && parent.type.startsWith("TS") && !TS_NODE_TYPES.includes(parent.type)) { + return this.skip(); + } + if (node.type === "Identifier") { + const isLocal = !!knownIds[node.name]; + const isRefed = isReferencedIdentifier(node, parent, parentStack); + if (includeAll || isRefed && !isLocal) { + onIdentifier(node, parent, parentStack, isRefed, isLocal); + } + } else if (node.type === "ObjectProperty" && // eslint-disable-next-line no-restricted-syntax + (parent == null ? void 0 : parent.type) === "ObjectPattern") { + node.inPattern = true; + } else if (isFunctionType(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkFunctionParams( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "BlockStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkBlockDeclarations( + node, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "SwitchStatement") { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkSwitchStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } else if (node.type === "CatchClause" && node.param) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + for (const id of extractIdentifiers(node.param)) { + markScopeIdentifier(node, id, knownIds); + } + } + } else if (isForStatement(node)) { + if (node.scopeIds) { + node.scopeIds.forEach((id) => markKnownIds(id, knownIds)); + } else { + walkForStatement( + node, + false, + (id) => markScopeIdentifier(node, id, knownIds) + ); + } + } + }, + leave(node, parent) { + parent && parentStack.pop(); + if (node !== rootExp && node.scopeIds) { + for (const id of node.scopeIds) { + knownIds[id]--; + if (knownIds[id] === 0) { + delete knownIds[id]; + } + } + } + } + }); +} +function isReferencedIdentifier(id, parent, parentStack) { + if (!parent) { + return true; + } + if (id.name === "arguments") { + return false; + } + if (isReferenced(id, parent, parentStack[parentStack.length - 2])) { + return true; + } + switch (parent.type) { + case "AssignmentExpression": + case "AssignmentPattern": + return true; + case "ObjectProperty": + return parent.key !== id && isInDestructureAssignment(parent, parentStack); + case "ArrayPattern": + return isInDestructureAssignment(parent, parentStack); + } + return false; +} +function isInDestructureAssignment(parent, parentStack) { + if (parent && (parent.type === "ObjectProperty" || parent.type === "ArrayPattern")) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "AssignmentExpression") { + return true; + } else if (p.type !== "ObjectProperty" && !p.type.endsWith("Pattern")) { + break; + } + } + } + return false; +} +function isInNewExpression(parentStack) { + let i = parentStack.length; + while (i--) { + const p = parentStack[i]; + if (p.type === "NewExpression") { + return true; + } else if (p.type !== "MemberExpression") { + break; + } + } + return false; +} +function walkFunctionParams(node, onIdent) { + for (const p of node.params) { + for (const id of extractIdentifiers(p)) { + onIdent(id); + } + } +} +function walkBlockDeclarations(block, onIdent) { + const body = block.type === "SwitchCase" ? block.consequent : block.body; + for (const stmt of body) { + if (stmt.type === "VariableDeclaration") { + if (stmt.declare) continue; + for (const decl of stmt.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") { + if (stmt.declare || !stmt.id) continue; + onIdent(stmt.id); + } else if (isForStatement(stmt)) { + walkForStatement(stmt, true, onIdent); + } else if (stmt.type === "SwitchStatement") { + walkSwitchStatement(stmt, true, onIdent); + } + } +} +function isForStatement(stmt) { + return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement"; +} +function walkForStatement(stmt, isVar, onIdent) { + const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left; + if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) { + for (const decl of variable.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } +} +function walkSwitchStatement(stmt, isVar, onIdent) { + for (const cs of stmt.cases) { + for (const stmt2 of cs.consequent) { + if (stmt2.type === "VariableDeclaration" && (stmt2.kind === "var" ? isVar : !isVar)) { + for (const decl of stmt2.declarations) { + for (const id of extractIdentifiers(decl.id)) { + onIdent(id); + } + } + } + } + walkBlockDeclarations(cs, onIdent); + } +} +function extractIdentifiers(param, nodes = []) { + switch (param.type) { + case "Identifier": + nodes.push(param); + break; + case "MemberExpression": + let object = param; + while (object.type === "MemberExpression") { + object = object.object; + } + nodes.push(object); + break; + case "ObjectPattern": + for (const prop of param.properties) { + if (prop.type === "RestElement") { + extractIdentifiers(prop.argument, nodes); + } else { + extractIdentifiers(prop.value, nodes); + } + } + break; + case "ArrayPattern": + param.elements.forEach((element) => { + if (element) extractIdentifiers(element, nodes); + }); + break; + case "RestElement": + extractIdentifiers(param.argument, nodes); + break; + case "AssignmentPattern": + extractIdentifiers(param.left, nodes); + break; + } + return nodes; +} +function markKnownIds(name, knownIds) { + if (name in knownIds) { + knownIds[name]++; + } else { + knownIds[name] = 1; + } +} +function markScopeIdentifier(node, child, knownIds) { + const { name } = child; + if (node.scopeIds && node.scopeIds.has(name)) { + return; + } + markKnownIds(name, knownIds); + (node.scopeIds || (node.scopeIds = /* @__PURE__ */ new Set())).add(name); +} +const isFunctionType = (node) => { + return /Function(?:Expression|Declaration)$|Method$/.test(node.type); +}; +const isStaticProperty = (node) => node && (node.type === "ObjectProperty" || node.type === "ObjectMethod") && !node.computed; +const isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node; +function isReferenced(node, parent, grandparent) { + switch (parent.type) { + // yes: PARENT[NODE] + // yes: NODE.child + // no: parent.NODE + case "MemberExpression": + case "OptionalMemberExpression": + if (parent.property === node) { + return !!parent.computed; + } + return parent.object === node; + case "JSXMemberExpression": + return parent.object === node; + // no: let NODE = init; + // yes: let id = NODE; + case "VariableDeclarator": + return parent.init === node; + // yes: () => NODE + // no: (NODE) => {} + case "ArrowFunctionExpression": + return parent.body === node; + // no: class { #NODE; } + // no: class { get #NODE() {} } + // no: class { #NODE() {} } + // no: class { fn() { return this.#NODE; } } + case "PrivateName": + return false; + // no: class { NODE() {} } + // yes: class { [NODE]() {} } + // no: class { foo(NODE) {} } + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node) { + return !!parent.computed; + } + return false; + // yes: { [NODE]: "" } + // no: { NODE: "" } + // depends: { NODE } + // depends: { key: NODE } + case "ObjectProperty": + if (parent.key === node) { + return !!parent.computed; + } + return !grandparent || grandparent.type !== "ObjectPattern"; + // no: class { NODE = value; } + // yes: class { [NODE] = value; } + // yes: class { key = NODE; } + case "ClassProperty": + if (parent.key === node) { + return !!parent.computed; + } + return true; + case "ClassPrivateProperty": + return parent.key !== node; + // no: class NODE {} + // yes: class Foo extends NODE {} + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node; + // yes: left = NODE; + // no: NODE = right; + case "AssignmentExpression": + return parent.right === node; + // no: [NODE = foo] = []; + // yes: [foo = NODE] = []; + case "AssignmentPattern": + return parent.right === node; + // no: NODE: for (;;) {} + case "LabeledStatement": + return false; + // no: try {} catch (NODE) {} + case "CatchClause": + return false; + // no: function foo(...NODE) {} + case "RestElement": + return false; + case "BreakStatement": + case "ContinueStatement": + return false; + // no: function NODE() {} + // no: function foo(NODE) {} + case "FunctionDeclaration": + case "FunctionExpression": + return false; + // no: export NODE from "foo"; + // no: export * as NODE from "foo"; + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + // no: export { foo as NODE }; + // yes: export { NODE as foo }; + // no: export { NODE as foo } from "foo"; + case "ExportSpecifier": + if (grandparent == null ? void 0 : grandparent.source) { + return false; + } + return parent.local === node; + // no: import NODE from "foo"; + // no: import * as NODE from "foo"; + // no: import { NODE as foo } from "foo"; + // no: import { foo as NODE } from "foo"; + // no: import NODE from "bar"; + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + // no: import "foo" assert { NODE: "json" } + case "ImportAttribute": + return false; + // no: <div NODE="foo" /> + case "JSXAttribute": + return false; + // no: [NODE] = []; + // no: ({ NODE }) = []; + case "ObjectPattern": + case "ArrayPattern": + return false; + // no: new.NODE + // no: NODE.target + case "MetaProperty": + return false; + // yes: type X = { someProperty: NODE } + // no: type X = { NODE: OtherType } + case "ObjectTypeProperty": + return parent.key !== node; + // yes: enum X { Foo = NODE } + // no: enum X { NODE } + case "TSEnumMember": + return parent.id !== node; + // yes: { [NODE]: value } + // no: { NODE: value } + case "TSPropertySignature": + if (parent.key === node) { + return !!parent.computed; + } + return true; + } + return true; +} +const TS_NODE_TYPES = [ + "TSAsExpression", + // foo as number + "TSTypeAssertion", + // (<number>foo) + "TSNonNullExpression", + // foo! + "TSInstantiationExpression", + // foo<string> + "TSSatisfiesExpression" + // foo satisfies T +]; +function unwrapTSNode(node) { + if (TS_NODE_TYPES.includes(node.type)) { + return unwrapTSNode(node.expression); + } else { + return node; + } +} + +const isStaticExp = (p) => p.type === 4 && p.isStatic; +function isCoreComponent(tag) { + switch (tag) { + case "Teleport": + case "teleport": + return TELEPORT; + case "Suspense": + case "suspense": + return SUSPENSE; + case "KeepAlive": + case "keep-alive": + return KEEP_ALIVE; + case "BaseTransition": + case "base-transition": + return BASE_TRANSITION; + } +} +const nonIdentifierRE = /^$|^\d|[^\$\w\xA0-\uFFFF]/; +const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name); +const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/; +const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/; +const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g; +const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source; +const isMemberExpressionBrowser = (exp) => { + const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim()); + let state = 0 /* inMemberExp */; + let stateStack = []; + let currentOpenBracketCount = 0; + let currentOpenParensCount = 0; + let currentStringType = null; + for (let i = 0; i < path.length; i++) { + const char = path.charAt(i); + switch (state) { + case 0 /* inMemberExp */: + if (char === "[") { + stateStack.push(state); + state = 1 /* inBrackets */; + currentOpenBracketCount++; + } else if (char === "(") { + stateStack.push(state); + state = 2 /* inParens */; + currentOpenParensCount++; + } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) { + return false; + } + break; + case 1 /* inBrackets */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `[`) { + currentOpenBracketCount++; + } else if (char === `]`) { + if (!--currentOpenBracketCount) { + state = stateStack.pop(); + } + } + break; + case 2 /* inParens */: + if (char === `'` || char === `"` || char === "`") { + stateStack.push(state); + state = 3 /* inString */; + currentStringType = char; + } else if (char === `(`) { + currentOpenParensCount++; + } else if (char === `)`) { + if (i === path.length - 1) { + return false; + } + if (!--currentOpenParensCount) { + state = stateStack.pop(); + } + } + break; + case 3 /* inString */: + if (char === currentStringType) { + state = stateStack.pop(); + currentStringType = null; + } + break; + } + } + return !currentOpenBracketCount && !currentOpenParensCount; +}; +const isMemberExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + ret = unwrapTSNode(ret); + return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined"; + } catch (e) { + return false; + } +}; +const isMemberExpression = isMemberExpressionNode; +const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/; +const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp)); +const isFnExpressionNode = (exp, context) => { + try { + let ret = exp.ast || parser.parseExpression(getExpSource(exp), { + plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"] + }); + if (ret.type === "Program") { + ret = ret.body[0]; + if (ret.type === "ExpressionStatement") { + ret = ret.expression; + } + } + ret = unwrapTSNode(ret); + return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression"; + } catch (e) { + return false; + } +}; +const isFnExpression = isFnExpressionNode; +function advancePositionWithClone(pos, source, numberOfCharacters = source.length) { + return advancePositionWithMutation( + { + offset: pos.offset, + line: pos.line, + column: pos.column + }, + source, + numberOfCharacters + ); +} +function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) { + let linesCount = 0; + let lastNewLinePos = -1; + for (let i = 0; i < numberOfCharacters; i++) { + if (source.charCodeAt(i) === 10) { + linesCount++; + lastNewLinePos = i; + } + } + pos.offset += numberOfCharacters; + pos.line += linesCount; + pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos; + return pos; +} +function assert(condition, msg) { + if (!condition) { + throw new Error(msg || `unexpected compiler condition`); + } +} +function findDir(node, name, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (allowEmpty || p.exp) && (shared.isString(name) ? p.name === name : name.test(p.name))) { + return p; + } + } +} +function findProp(node, name, dynamicOnly = false, allowEmpty = false) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (dynamicOnly) continue; + if (p.name === name && (p.value || allowEmpty)) { + return p; + } + } else if (p.name === "bind" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) { + return p; + } + } +} +function isStaticArgOf(arg, name) { + return !!(arg && isStaticExp(arg) && arg.content === name); +} +function hasDynamicKeyVBind(node) { + return node.props.some( + (p) => p.type === 7 && p.name === "bind" && (!p.arg || // v-bind="obj" + p.arg.type !== 4 || // v-bind:[_ctx.foo] + !p.arg.isStatic) + // v-bind:[foo] + ); +} +function isText$1(node) { + return node.type === 5 || node.type === 2; +} +function isVPre(p) { + return p.type === 7 && p.name === "pre"; +} +function isVSlot(p) { + return p.type === 7 && p.name === "slot"; +} +function isTemplateNode(node) { + return node.type === 1 && node.tagType === 3; +} +function isSlotOutlet(node) { + return node.type === 1 && node.tagType === 2; +} +const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]); +function getUnnormalizedProps(props, callPath = []) { + if (props && !shared.isString(props) && props.type === 14) { + const callee = props.callee; + if (!shared.isString(callee) && propsHelperSet.has(callee)) { + return getUnnormalizedProps( + props.arguments[0], + callPath.concat(props) + ); + } + } + return [props, callPath]; +} +function injectProp(node, prop, context) { + if (node.type !== 13 && injectSlotKey(node, prop)) { + return; + } + let propsWithInjection; + let props = node.type === 13 ? node.props : node.arguments[2]; + let callPath = []; + let parentCall; + if (props && !shared.isString(props) && props.type === 14) { + const ret = getUnnormalizedProps(props); + props = ret[0]; + callPath = ret[1]; + parentCall = callPath[callPath.length - 1]; + } + if (props == null || shared.isString(props)) { + propsWithInjection = createObjectExpression([prop]); + } else if (props.type === 14) { + const first = props.arguments[0]; + if (!shared.isString(first) && first.type === 15) { + if (!hasProp(prop, first)) { + first.properties.unshift(prop); + } + } else { + if (props.callee === TO_HANDLERS) { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + } else { + props.arguments.unshift(createObjectExpression([prop])); + } + } + !propsWithInjection && (propsWithInjection = props); + } else if (props.type === 15) { + if (!hasProp(prop, props)) { + props.properties.unshift(prop); + } + propsWithInjection = props; + } else { + propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [ + createObjectExpression([prop]), + props + ]); + if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) { + parentCall = callPath[callPath.length - 2]; + } + } + if (node.type === 13) { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.props = propsWithInjection; + } + } else { + if (parentCall) { + parentCall.arguments[0] = propsWithInjection; + } else { + node.arguments[2] = propsWithInjection; + } + } +} +function injectSlotKey(node, prop) { + var _a, _b, _c; + if (prop.key.type !== 4 || prop.key.content !== "key") { + return false; + } + const props = node.arguments[2]; + if (props && !shared.isString(props)) { + const [unnormalizedProps] = getUnnormalizedProps(props); + if (unnormalizedProps && !shared.isString(unnormalizedProps) && unnormalizedProps.type === 15 && hasProp(prop, unnormalizedProps)) { + return true; + } + } + (_a = node.arguments)[2] || (_a[2] = "{}"); + (_b = node.arguments)[3] || (_b[3] = "undefined"); + (_c = node.arguments)[4] || (_c[4] = "undefined"); + node.arguments[5] = prop.value; + return true; +} +function hasProp(prop, props) { + let result = false; + if (prop.key.type === 4) { + const propKeyName = prop.key.content; + result = props.properties.some( + (p) => p.key.type === 4 && p.key.content === propKeyName + ); + } + return result; +} +function toValidAssetId(name, type) { + return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => { + return searchValue === "-" ? "_" : name.charCodeAt(replaceValue).toString(); + })}`; +} +function hasScopeRef(node, ids) { + if (!node || Object.keys(ids).length === 0) { + return false; + } + switch (node.type) { + case 1: + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) { + return true; + } + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 11: + if (hasScopeRef(node.source, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 9: + return node.branches.some((b) => hasScopeRef(b, ids)); + case 10: + if (hasScopeRef(node.condition, ids)) { + return true; + } + return node.children.some((c) => hasScopeRef(c, ids)); + case 4: + return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content]; + case 8: + return node.children.some((c) => shared.isObject(c) && hasScopeRef(c, ids)); + case 5: + case 12: + return hasScopeRef(node.content, ids); + case 2: + case 3: + case 20: + return false; + default: + return false; + } +} +function getMemoedVNodeCall(node) { + if (node.type === 14 && node.callee === WITH_MEMO) { + return node.arguments[1].returns; + } else { + return node; + } +} +const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/; +function isAllWhitespace(str) { + for (let i = 0; i < str.length; i++) { + if (!isWhitespace(str.charCodeAt(i))) { + return false; + } + } + return true; +} +function isWhitespaceText(node) { + return node.type === 2 && isAllWhitespace(node.content) || node.type === 12 && isWhitespaceText(node.content); +} +function isCommentOrWhitespace(node) { + return node.type === 3 || isWhitespaceText(node); +} + +const defaultParserOptions = { + parseMode: "base", + ns: 0, + delimiters: [`{{`, `}}`], + getNamespace: () => 0, + isVoidTag: shared.NO, + isPreTag: shared.NO, + isIgnoreNewlineTag: shared.NO, + isCustomElement: shared.NO, + onError: defaultOnError, + onWarn: defaultOnWarn, + comments: false, + prefixIdentifiers: false +}; +let currentOptions = defaultParserOptions; +let currentRoot = null; +let currentInput = ""; +let currentOpenTag = null; +let currentProp = null; +let currentAttrValue = ""; +let currentAttrStartIndex = -1; +let currentAttrEndIndex = -1; +let inPre = 0; +let inVPre = false; +let currentVPreBoundary = null; +const stack = []; +const tokenizer = new Tokenizer(stack, { + onerr: emitError, + ontext(start, end) { + onText(getSlice(start, end), start, end); + }, + ontextentity(char, start, end) { + onText(char, start, end); + }, + oninterpolation(start, end) { + if (inVPre) { + return onText(getSlice(start, end), start, end); + } + let innerStart = start + tokenizer.delimiterOpen.length; + let innerEnd = end - tokenizer.delimiterClose.length; + while (isWhitespace(currentInput.charCodeAt(innerStart))) { + innerStart++; + } + while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) { + innerEnd--; + } + let exp = getSlice(innerStart, innerEnd); + if (exp.includes("&")) { + { + exp = decode.decodeHTML(exp); + } + } + addNode({ + type: 5, + content: createExp(exp, false, getLoc(innerStart, innerEnd)), + loc: getLoc(start, end) + }); + }, + onopentagname(start, end) { + const name = getSlice(start, end); + currentOpenTag = { + type: 1, + tag: name, + ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns), + tagType: 0, + // will be refined on tag close + props: [], + children: [], + loc: getLoc(start - 1, end), + codegenNode: void 0 + }; + }, + onopentagend(end) { + endOpenTag(end); + }, + onclosetag(start, end) { + const name = getSlice(start, end); + if (!currentOptions.isVoidTag(name)) { + let found = false; + for (let i = 0; i < stack.length; i++) { + const e = stack[i]; + if (e.tag.toLowerCase() === name.toLowerCase()) { + found = true; + if (i > 0) { + emitError(24, stack[0].loc.start.offset); + } + for (let j = 0; j <= i; j++) { + const el = stack.shift(); + onCloseTag(el, end, j < i); + } + break; + } + } + if (!found) { + emitError(23, backTrack(start, 60)); + } + } + }, + onselfclosingtag(end) { + const name = currentOpenTag.tag; + currentOpenTag.isSelfClosing = true; + endOpenTag(end); + if (stack[0] && stack[0].tag === name) { + onCloseTag(stack.shift(), end); + } + }, + onattribname(start, end) { + currentProp = { + type: 6, + name: getSlice(start, end), + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + }, + ondirname(start, end) { + const raw = getSlice(start, end); + const name = raw === "." || raw === ":" ? "bind" : raw === "@" ? "on" : raw === "#" ? "slot" : raw.slice(2); + if (!inVPre && name === "") { + emitError(26, start); + } + if (inVPre || name === "") { + currentProp = { + type: 6, + name: raw, + nameLoc: getLoc(start, end), + value: void 0, + loc: getLoc(start) + }; + } else { + currentProp = { + type: 7, + name, + rawName: raw, + exp: void 0, + arg: void 0, + modifiers: raw === "." ? [createSimpleExpression("prop")] : [], + loc: getLoc(start) + }; + if (name === "pre") { + inVPre = tokenizer.inVPre = true; + currentVPreBoundary = currentOpenTag; + const props = currentOpenTag.props; + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7) { + props[i] = dirToAttr(props[i]); + } + } + } + } + }, + ondirarg(start, end) { + if (start === end) return; + const arg = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += arg; + setLocEnd(currentProp.nameLoc, end); + } else { + const isStatic = arg[0] !== `[`; + currentProp.arg = createExp( + isStatic ? arg : arg.slice(1, -1), + isStatic, + getLoc(start, end), + isStatic ? 3 : 0 + ); + } + }, + ondirmodifier(start, end) { + const mod = getSlice(start, end); + if (inVPre && !isVPre(currentProp)) { + currentProp.name += "." + mod; + setLocEnd(currentProp.nameLoc, end); + } else if (currentProp.name === "slot") { + const arg = currentProp.arg; + if (arg) { + arg.content += "." + mod; + setLocEnd(arg.loc, end); + } + } else { + const exp = createSimpleExpression(mod, true, getLoc(start, end)); + currentProp.modifiers.push(exp); + } + }, + onattribdata(start, end) { + currentAttrValue += getSlice(start, end); + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribentity(char, start, end) { + currentAttrValue += char; + if (currentAttrStartIndex < 0) currentAttrStartIndex = start; + currentAttrEndIndex = end; + }, + onattribnameend(end) { + const start = currentProp.loc.start.offset; + const name = getSlice(start, end); + if (currentProp.type === 7) { + currentProp.rawName = name; + } + if (currentOpenTag.props.some( + (p) => (p.type === 7 ? p.rawName : p.name) === name + )) { + emitError(2, start); + } + }, + onattribend(quote, end) { + if (currentOpenTag && currentProp) { + setLocEnd(currentProp.loc, end); + if (quote !== 0) { + if (currentProp.type === 6) { + if (currentProp.name === "class") { + currentAttrValue = condense(currentAttrValue).trim(); + } + if (quote === 1 && !currentAttrValue) { + emitError(13, end); + } + currentProp.value = { + type: 2, + content: currentAttrValue, + loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1) + }; + if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") { + tokenizer.enterRCDATA(toCharCodes(`</template`), 0); + } + } else { + let expParseMode = 0 /* Normal */; + { + if (currentProp.name === "for") { + expParseMode = 3 /* Skip */; + } else if (currentProp.name === "slot") { + expParseMode = 1 /* Params */; + } else if (currentProp.name === "on" && currentAttrValue.includes(";")) { + expParseMode = 2 /* Statements */; + } + } + currentProp.exp = createExp( + currentAttrValue, + false, + getLoc(currentAttrStartIndex, currentAttrEndIndex), + 0, + expParseMode + ); + if (currentProp.name === "for") { + currentProp.forParseResult = parseForExpression(currentProp.exp); + } + let syncIndex = -1; + if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex( + (mod) => mod.content === "sync" + )) > -1 && checkCompatEnabled( + "COMPILER_V_BIND_SYNC", + currentOptions, + currentProp.loc, + currentProp.arg.loc.source + )) { + currentProp.name = "model"; + currentProp.modifiers.splice(syncIndex, 1); + } + } + } + if (currentProp.type !== 7 || currentProp.name !== "pre") { + currentOpenTag.props.push(currentProp); + } + } + currentAttrValue = ""; + currentAttrStartIndex = currentAttrEndIndex = -1; + }, + oncomment(start, end) { + if (currentOptions.comments) { + addNode({ + type: 3, + content: getSlice(start, end), + loc: getLoc(start - 4, end + 3) + }); + } + }, + onend() { + const end = currentInput.length; + if (tokenizer.state !== 1) { + switch (tokenizer.state) { + case 5: + case 8: + emitError(5, end); + break; + case 3: + case 4: + emitError( + 25, + tokenizer.sectionStart + ); + break; + case 28: + if (tokenizer.currentSequence === Sequences.CdataEnd) { + emitError(6, end); + } else { + emitError(7, end); + } + break; + case 6: + case 7: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + // " + case 20: + // ' + case 21: + emitError(9, end); + break; + } + } + for (let index = 0; index < stack.length; index++) { + onCloseTag(stack[index], end - 1); + emitError(24, stack[index].loc.start.offset); + } + }, + oncdata(start, end) { + if ((stack[0] ? stack[0].ns : currentOptions.ns) !== 0) { + onText(getSlice(start, end), start, end); + } else { + emitError(1, start - 9); + } + }, + onprocessinginstruction(start) { + if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + emitError( + 21, + start - 1 + ); + } + } +}); +const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; +const stripParensRE = /^\(|\)$/g; +function parseForExpression(input) { + const loc = input.loc; + const exp = input.content; + const inMatch = exp.match(forAliasRE); + if (!inMatch) return; + const [, LHS, RHS] = inMatch; + const createAliasExpression = (content, offset, asParam = false) => { + const start = loc.start.offset + offset; + const end = start + content.length; + return createExp( + content, + false, + getLoc(start, end), + 0, + asParam ? 1 /* Params */ : 0 /* Normal */ + ); + }; + const result = { + source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)), + value: void 0, + key: void 0, + index: void 0, + finalized: false + }; + let valueContent = LHS.trim().replace(stripParensRE, "").trim(); + const trimmedOffset = LHS.indexOf(valueContent); + const iteratorMatch = valueContent.match(forIteratorRE); + if (iteratorMatch) { + valueContent = valueContent.replace(forIteratorRE, "").trim(); + const keyContent = iteratorMatch[1].trim(); + let keyOffset; + if (keyContent) { + keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length); + result.key = createAliasExpression(keyContent, keyOffset, true); + } + if (iteratorMatch[2]) { + const indexContent = iteratorMatch[2].trim(); + if (indexContent) { + result.index = createAliasExpression( + indexContent, + exp.indexOf( + indexContent, + result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length + ), + true + ); + } + } + } + if (valueContent) { + result.value = createAliasExpression(valueContent, trimmedOffset, true); + } + return result; +} +function getSlice(start, end) { + return currentInput.slice(start, end); +} +function endOpenTag(end) { + if (tokenizer.inSFCRoot) { + currentOpenTag.innerLoc = getLoc(end + 1, end + 1); + } + addNode(currentOpenTag); + const { tag, ns } = currentOpenTag; + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre++; + } + if (currentOptions.isVoidTag(tag)) { + onCloseTag(currentOpenTag, end); + } else { + stack.unshift(currentOpenTag); + if (ns === 1 || ns === 2) { + tokenizer.inXML = true; + } + } + currentOpenTag = null; +} +function onText(content, start, end) { + const parent = stack[0] || currentRoot; + const lastNode = parent.children[parent.children.length - 1]; + if (lastNode && lastNode.type === 2) { + lastNode.content += content; + setLocEnd(lastNode.loc, end); + } else { + parent.children.push({ + type: 2, + content, + loc: getLoc(start, end) + }); + } +} +function onCloseTag(el, end, isImplied = false) { + if (isImplied) { + setLocEnd(el.loc, backTrack(end, 60)); + } else { + setLocEnd(el.loc, lookAhead(end, 62) + 1); + } + if (tokenizer.inSFCRoot) { + if (el.children.length) { + el.innerLoc.end = shared.extend({}, el.children[el.children.length - 1].loc.end); + } else { + el.innerLoc.end = shared.extend({}, el.innerLoc.start); + } + el.innerLoc.source = getSlice( + el.innerLoc.start.offset, + el.innerLoc.end.offset + ); + } + const { tag, ns, children } = el; + if (!inVPre) { + if (tag === "slot") { + el.tagType = 2; + } else if (isFragmentTemplate(el)) { + el.tagType = 3; + } else if (isComponent(el)) { + el.tagType = 1; + } + } + if (!tokenizer.inRCDATA) { + el.children = condenseWhitespace(children); + } + if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) { + const first = children[0]; + if (first && first.type === 2) { + first.content = first.content.replace(/^\r?\n/, ""); + } + } + if (ns === 0 && currentOptions.isPreTag(tag)) { + inPre--; + } + if (currentVPreBoundary === el) { + inVPre = tokenizer.inVPre = false; + currentVPreBoundary = null; + } + if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) { + tokenizer.inXML = false; + } + { + const props = el.props; + if (!tokenizer.inSFCRoot && isCompatEnabled( + "COMPILER_NATIVE_TEMPLATE", + currentOptions + ) && el.tag === "template" && !isFragmentTemplate(el)) { + const parent = stack[0] || currentRoot; + const index = parent.children.indexOf(el); + parent.children.splice(index, 1, ...el.children); + } + const inlineTemplateProp = props.find( + (p) => p.type === 6 && p.name === "inline-template" + ); + if (inlineTemplateProp && checkCompatEnabled( + "COMPILER_INLINE_TEMPLATE", + currentOptions, + inlineTemplateProp.loc + ) && el.children.length) { + inlineTemplateProp.value = { + type: 2, + content: getSlice( + el.children[0].loc.start.offset, + el.children[el.children.length - 1].loc.end.offset + ), + loc: inlineTemplateProp.loc + }; + } + } +} +function lookAhead(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++; + return i; +} +function backTrack(index, c) { + let i = index; + while (currentInput.charCodeAt(i) !== c && i >= 0) i--; + return i; +} +const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]); +function isFragmentTemplate({ tag, props }) { + if (tag === "template") { + for (let i = 0; i < props.length; i++) { + if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) { + return true; + } + } + } + return false; +} +function isComponent({ tag, props }) { + if (currentOptions.isCustomElement(tag)) { + return false; + } + if (tag === "component" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) { + return true; + } + for (let i = 0; i < props.length; i++) { + const p = props[i]; + if (p.type === 6) { + if (p.name === "is" && p.value) { + if (p.value.content.startsWith("vue:")) { + return true; + } else if (checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + } else if (// :is on plain element - only treat as component in compat mode + p.name === "bind" && isStaticArgOf(p.arg, "is") && checkCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + currentOptions, + p.loc + )) { + return true; + } + } + return false; +} +function isUpperCase(c) { + return c > 64 && c < 91; +} +const windowsNewlineRE = /\r\n/g; +function condenseWhitespace(nodes) { + const shouldCondense = currentOptions.whitespace !== "preserve"; + let removedWhitespace = false; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (node.type === 2) { + if (!inPre) { + if (isAllWhitespace(node.content)) { + const prev = nodes[i - 1] && nodes[i - 1].type; + const next = nodes[i + 1] && nodes[i + 1].type; + if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) { + removedWhitespace = true; + nodes[i] = null; + } else { + node.content = " "; + } + } else if (shouldCondense) { + node.content = condense(node.content); + } + } else { + node.content = node.content.replace(windowsNewlineRE, "\n"); + } + } + } + return removedWhitespace ? nodes.filter(Boolean) : nodes; +} +function hasNewlineChar(str) { + for (let i = 0; i < str.length; i++) { + const c = str.charCodeAt(i); + if (c === 10 || c === 13) { + return true; + } + } + return false; +} +function condense(str) { + let ret = ""; + let prevCharIsWhitespace = false; + for (let i = 0; i < str.length; i++) { + if (isWhitespace(str.charCodeAt(i))) { + if (!prevCharIsWhitespace) { + ret += " "; + prevCharIsWhitespace = true; + } + } else { + ret += str[i]; + prevCharIsWhitespace = false; + } + } + return ret; +} +function addNode(node) { + (stack[0] || currentRoot).children.push(node); +} +function getLoc(start, end) { + return { + start: tokenizer.getPos(start), + // @ts-expect-error allow late attachment + end: end == null ? end : tokenizer.getPos(end), + // @ts-expect-error allow late attachment + source: end == null ? end : getSlice(start, end) + }; +} +function cloneLoc(loc) { + return getLoc(loc.start.offset, loc.end.offset); +} +function setLocEnd(loc, end) { + loc.end = tokenizer.getPos(end); + loc.source = getSlice(loc.start.offset, end); +} +function dirToAttr(dir) { + const attr = { + type: 6, + name: dir.rawName, + nameLoc: getLoc( + dir.loc.start.offset, + dir.loc.start.offset + dir.rawName.length + ), + value: void 0, + loc: dir.loc + }; + if (dir.exp) { + const loc = dir.exp.loc; + if (loc.end.offset < dir.loc.end.offset) { + loc.start.offset--; + loc.start.column--; + loc.end.offset++; + loc.end.column++; + } + attr.value = { + type: 2, + content: dir.exp.content, + loc + }; + } + return attr; +} +function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) { + const exp = createSimpleExpression(content, isStatic, loc, constType); + if (!isStatic && currentOptions.prefixIdentifiers && parseMode !== 3 /* Skip */ && content.trim()) { + if (isSimpleIdentifier(content)) { + exp.ast = null; + return exp; + } + try { + const plugins = currentOptions.expressionPlugins; + const options = { + plugins: plugins ? [...plugins, "typescript"] : ["typescript"] + }; + if (parseMode === 2 /* Statements */) { + exp.ast = parser.parse(` ${content} `, options).program; + } else if (parseMode === 1 /* Params */) { + exp.ast = parser.parseExpression(`(${content})=>{}`, options); + } else { + exp.ast = parser.parseExpression(`(${content})`, options); + } + } catch (e) { + exp.ast = false; + emitError(46, loc.start.offset, e.message); + } + } + return exp; +} +function emitError(code, index, message) { + currentOptions.onError( + createCompilerError(code, getLoc(index, index), void 0, message) + ); +} +function reset() { + tokenizer.reset(); + currentOpenTag = null; + currentProp = null; + currentAttrValue = ""; + currentAttrStartIndex = -1; + currentAttrEndIndex = -1; + stack.length = 0; +} +function baseParse(input, options) { + reset(); + currentInput = input; + currentOptions = shared.extend({}, defaultParserOptions); + if (options) { + let key; + for (key in options) { + if (options[key] != null) { + currentOptions[key] = options[key]; + } + } + } + tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0; + tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2; + const delimiters = options && options.delimiters; + if (delimiters) { + tokenizer.delimiterOpen = toCharCodes(delimiters[0]); + tokenizer.delimiterClose = toCharCodes(delimiters[1]); + } + const root = currentRoot = createRoot([], input); + tokenizer.parse(currentInput); + root.loc = getLoc(0, input.length); + root.children = condenseWhitespace(root.children); + currentRoot = null; + return root; +} + +function cacheStatic(root, context) { + walk( + root, + void 0, + context, + // Root node is unfortunately non-hoistable due to potential parent + // fallthrough attributes. + !!getSingleElementRoot(root) + ); +} +function getSingleElementRoot(root) { + const children = root.children.filter((x) => x.type !== 3); + return children.length === 1 && children[0].type === 1 && !isSlotOutlet(children[0]) ? children[0] : null; +} +function walk(node, parent, context, doNotHoistNode = false, inFor = false) { + const { children } = node; + const toCache = []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.type === 1 && child.tagType === 0) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType > 0) { + if (constantType >= 2) { + child.codegenNode.patchFlag = -1; + toCache.push(child); + continue; + } + } else { + const codegenNode = child.codegenNode; + if (codegenNode.type === 13) { + const flag = codegenNode.patchFlag; + if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) { + const props = getNodeProps(child); + if (props) { + codegenNode.props = context.hoist(props); + } + } + if (codegenNode.dynamicProps) { + codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps); + } + } + } + } else if (child.type === 12) { + const constantType = doNotHoistNode ? 0 : getConstantType(child, context); + if (constantType >= 2) { + if (child.codegenNode.type === 14 && child.codegenNode.arguments.length > 0) { + child.codegenNode.arguments.push( + -1 + (``) + ); + } + toCache.push(child); + continue; + } + } + if (child.type === 1) { + const isComponent = child.tagType === 1; + if (isComponent) { + context.scopes.vSlot++; + } + walk(child, node, context, false, inFor); + if (isComponent) { + context.scopes.vSlot--; + } + } else if (child.type === 11) { + walk(child, node, context, child.children.length === 1, true); + } else if (child.type === 9) { + for (let i2 = 0; i2 < child.branches.length; i2++) { + walk( + child.branches[i2], + node, + context, + child.branches[i2].children.length === 1, + inFor + ); + } + } + } + let cachedAsArray = false; + if (toCache.length === children.length && node.type === 1) { + if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && shared.isArray(node.codegenNode.children)) { + node.codegenNode.children = getCacheExpression( + createArrayExpression(node.codegenNode.children) + ); + cachedAsArray = true; + } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !shared.isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) { + const slot = getSlotNode(node.codegenNode, "default"); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } else if (node.tagType === 3 && parent && parent.type === 1 && parent.tagType === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 15) { + const slotName = findDir(node, "slot", true); + const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg); + if (slot) { + slot.returns = getCacheExpression( + createArrayExpression(slot.returns) + ); + cachedAsArray = true; + } + } + } + if (!cachedAsArray) { + for (const child of toCache) { + child.codegenNode = context.cache(child.codegenNode); + } + } + function getCacheExpression(value) { + const exp = context.cache(value); + exp.needArraySpread = true; + return exp; + } + function getSlotNode(node2, name) { + if (node2.children && !shared.isArray(node2.children) && node2.children.type === 15) { + const slot = node2.children.properties.find( + (p) => p.key === name || p.key.content === name + ); + return slot && slot.value; + } + } + if (toCache.length && context.transformHoist) { + context.transformHoist(children, context, node); + } +} +function getConstantType(node, context) { + const { constantCache } = context; + switch (node.type) { + case 1: + if (node.tagType !== 0) { + return 0; + } + const cached = constantCache.get(node); + if (cached !== void 0) { + return cached; + } + const codegenNode = node.codegenNode; + if (codegenNode.type !== 13) { + return 0; + } + if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject" && node.tag !== "math") { + return 0; + } + if (codegenNode.patchFlag === void 0) { + let returnType2 = 3; + const generatedPropsType = getGeneratedPropsConstantType(node, context); + if (generatedPropsType === 0) { + constantCache.set(node, 0); + return 0; + } + if (generatedPropsType < returnType2) { + returnType2 = generatedPropsType; + } + for (let i = 0; i < node.children.length; i++) { + const childType = getConstantType(node.children[i], context); + if (childType === 0) { + constantCache.set(node, 0); + return 0; + } + if (childType < returnType2) { + returnType2 = childType; + } + } + if (returnType2 > 1) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7 && p.name === "bind" && p.exp) { + const expType = getConstantType(p.exp, context); + if (expType === 0) { + constantCache.set(node, 0); + return 0; + } + if (expType < returnType2) { + returnType2 = expType; + } + } + } + } + if (codegenNode.isBlock) { + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 7) { + constantCache.set(node, 0); + return 0; + } + } + context.removeHelper(OPEN_BLOCK); + context.removeHelper( + getVNodeBlockHelper(context.inSSR, codegenNode.isComponent) + ); + codegenNode.isBlock = false; + context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent)); + } + constantCache.set(node, returnType2); + return returnType2; + } else { + constantCache.set(node, 0); + return 0; + } + case 2: + case 3: + return 3; + case 9: + case 11: + case 10: + return 0; + case 5: + case 12: + return getConstantType(node.content, context); + case 4: + return node.constType; + case 8: + let returnType = 3; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child) || shared.isSymbol(child)) { + continue; + } + const childType = getConstantType(child, context); + if (childType === 0) { + return 0; + } else if (childType < returnType) { + returnType = childType; + } + } + return returnType; + case 20: + return 2; + default: + return 0; + } +} +const allowHoistedHelperSet = /* @__PURE__ */ new Set([ + NORMALIZE_CLASS, + NORMALIZE_STYLE, + NORMALIZE_PROPS, + GUARD_REACTIVE_PROPS +]); +function getConstantTypeOfHelperCall(value, context) { + if (value.type === 14 && !shared.isString(value.callee) && allowHoistedHelperSet.has(value.callee)) { + const arg = value.arguments[0]; + if (arg.type === 4) { + return getConstantType(arg, context); + } else if (arg.type === 14) { + return getConstantTypeOfHelperCall(arg, context); + } + } + return 0; +} +function getGeneratedPropsConstantType(node, context) { + let returnType = 3; + const props = getNodeProps(node); + if (props && props.type === 15) { + const { properties } = props; + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + const keyType = getConstantType(key, context); + if (keyType === 0) { + return keyType; + } + if (keyType < returnType) { + returnType = keyType; + } + let valueType; + if (value.type === 4) { + valueType = getConstantType(value, context); + } else if (value.type === 14) { + valueType = getConstantTypeOfHelperCall(value, context); + } else { + valueType = 0; + } + if (valueType === 0) { + return valueType; + } + if (valueType < returnType) { + returnType = valueType; + } + } + } + return returnType; +} +function getNodeProps(node) { + const codegenNode = node.codegenNode; + if (codegenNode.type === 13) { + return codegenNode.props; + } +} + +function createTransformContext(root, { + filename = "", + prefixIdentifiers = false, + hoistStatic = false, + hmr = false, + cacheHandlers = false, + nodeTransforms = [], + directiveTransforms = {}, + transformHoist = null, + isBuiltInComponent = shared.NOOP, + isCustomElement = shared.NOOP, + expressionPlugins = [], + scopeId = null, + slotted = true, + ssr = false, + inSSR = false, + ssrCssVars = ``, + bindingMetadata = shared.EMPTY_OBJ, + inline = false, + isTS = false, + onError = defaultOnError, + onWarn = defaultOnWarn, + compatConfig +}) { + const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/); + const context = { + // options + filename, + selfName: nameMatch && shared.capitalize(shared.camelize(nameMatch[1])), + prefixIdentifiers, + hoistStatic, + hmr, + cacheHandlers, + nodeTransforms, + directiveTransforms, + transformHoist, + isBuiltInComponent, + isCustomElement, + expressionPlugins, + scopeId, + slotted, + ssr, + inSSR, + ssrCssVars, + bindingMetadata, + inline, + isTS, + onError, + onWarn, + compatConfig, + // state + root, + helpers: /* @__PURE__ */ new Map(), + components: /* @__PURE__ */ new Set(), + directives: /* @__PURE__ */ new Set(), + hoists: [], + imports: [], + cached: [], + constantCache: /* @__PURE__ */ new WeakMap(), + vForMemoKeyedNodes: /* @__PURE__ */ new WeakSet(), + temps: 0, + identifiers: /* @__PURE__ */ Object.create(null), + scopes: { + vFor: 0, + vSlot: 0, + vPre: 0, + vOnce: 0 + }, + parent: null, + grandParent: null, + currentNode: root, + childIndex: 0, + inVOnce: false, + // methods + helper(name) { + const count = context.helpers.get(name) || 0; + context.helpers.set(name, count + 1); + return name; + }, + removeHelper(name) { + const count = context.helpers.get(name); + if (count) { + const currentCount = count - 1; + if (!currentCount) { + context.helpers.delete(name); + } else { + context.helpers.set(name, currentCount); + } + } + }, + helperString(name) { + return `_${helperNameMap[context.helper(name)]}`; + }, + replaceNode(node) { + context.parent.children[context.childIndex] = context.currentNode = node; + }, + removeNode(node) { + const list = context.parent.children; + const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1; + if (!node || node === context.currentNode) { + context.currentNode = null; + context.onNodeRemoved(); + } else { + if (context.childIndex > removalIndex) { + context.childIndex--; + context.onNodeRemoved(); + } + } + context.parent.children.splice(removalIndex, 1); + }, + onNodeRemoved: shared.NOOP, + addIdentifiers(exp) { + { + if (shared.isString(exp)) { + addId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(addId); + } else if (exp.type === 4) { + addId(exp.content); + } + } + }, + removeIdentifiers(exp) { + { + if (shared.isString(exp)) { + removeId(exp); + } else if (exp.identifiers) { + exp.identifiers.forEach(removeId); + } else if (exp.type === 4) { + removeId(exp.content); + } + } + }, + hoist(exp) { + if (shared.isString(exp)) exp = createSimpleExpression(exp); + context.hoists.push(exp); + const identifier = createSimpleExpression( + `_hoisted_${context.hoists.length}`, + false, + exp.loc, + 2 + ); + identifier.hoisted = exp; + return identifier; + }, + cache(exp, isVNode = false, inVOnce = false) { + const cacheExp = createCacheExpression( + context.cached.length, + exp, + isVNode, + inVOnce + ); + context.cached.push(cacheExp); + return cacheExp; + } + }; + { + context.filters = /* @__PURE__ */ new Set(); + } + function addId(id) { + const { identifiers } = context; + if (identifiers[id] === void 0) { + identifiers[id] = 0; + } + identifiers[id]++; + } + function removeId(id) { + context.identifiers[id]--; + } + return context; +} +function transform(root, options) { + const context = createTransformContext(root, options); + traverseNode(root, context); + if (options.hoistStatic) { + cacheStatic(root, context); + } + if (!options.ssr) { + createRootCodegen(root, context); + } + root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]); + root.components = [...context.components]; + root.directives = [...context.directives]; + root.imports = context.imports; + root.hoists = context.hoists; + root.temps = context.temps; + root.cached = context.cached; + root.transformed = true; + { + root.filters = [...context.filters]; + } +} +function createRootCodegen(root, context) { + const { helper } = context; + const { children } = root; + if (children.length === 1) { + const singleElementRootChild = getSingleElementRoot(root); + if (singleElementRootChild && singleElementRootChild.codegenNode) { + const codegenNode = singleElementRootChild.codegenNode; + if (codegenNode.type === 13) { + convertToBlock(codegenNode, context); + } + root.codegenNode = codegenNode; + } else { + root.codegenNode = children[0]; + } + } else if (children.length > 1) { + let patchFlag = 64; + root.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + root.children, + patchFlag, + void 0, + void 0, + true, + void 0, + false + ); + } else ; +} +function traverseChildren(parent, context) { + let i = 0; + const nodeRemoved = () => { + i--; + }; + for (; i < parent.children.length; i++) { + const child = parent.children[i]; + if (shared.isString(child)) continue; + context.grandParent = context.parent; + context.parent = parent; + context.childIndex = i; + context.onNodeRemoved = nodeRemoved; + traverseNode(child, context); + } +} +function traverseNode(node, context) { + context.currentNode = node; + const { nodeTransforms } = context; + const exitFns = []; + for (let i2 = 0; i2 < nodeTransforms.length; i2++) { + const onExit = nodeTransforms[i2](node, context); + if (onExit) { + if (shared.isArray(onExit)) { + exitFns.push(...onExit); + } else { + exitFns.push(onExit); + } + } + if (!context.currentNode) { + return; + } else { + node = context.currentNode; + } + } + switch (node.type) { + case 3: + if (!context.ssr) { + context.helper(CREATE_COMMENT); + } + break; + case 5: + if (!context.ssr) { + context.helper(TO_DISPLAY_STRING); + } + break; + // for container types, further traverse downwards + case 9: + for (let i2 = 0; i2 < node.branches.length; i2++) { + traverseNode(node.branches[i2], context); + } + break; + case 10: + case 11: + case 1: + case 0: + traverseChildren(node, context); + break; + } + context.currentNode = node; + let i = exitFns.length; + while (i--) { + exitFns[i](); + } +} +function createStructuralDirectiveTransform(name, fn) { + const matches = shared.isString(name) ? (n) => n === name : (n) => name.test(n); + return (node, context) => { + if (node.type === 1) { + const { props } = node; + if (node.tagType === 3 && props.some(isVSlot)) { + return; + } + const exitFns = []; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 7 && matches(prop.name)) { + props.splice(i, 1); + i--; + const onExit = fn(node, prop, context); + if (onExit) exitFns.push(onExit); + } + } + return exitFns; + } + }; +} + +const PURE_ANNOTATION = `/*@__PURE__*/`; +const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`; +function createCodegenContext(ast, { + mode = "function", + prefixIdentifiers = mode === "module", + sourceMap = false, + filename = `template.vue.html`, + scopeId = null, + optimizeImports = false, + runtimeGlobalName = `Vue`, + runtimeModuleName = `vue`, + ssrRuntimeModuleName = "vue/server-renderer", + ssr = false, + isTS = false, + inSSR = false +}) { + const context = { + mode, + prefixIdentifiers, + sourceMap, + filename, + scopeId, + optimizeImports, + runtimeGlobalName, + runtimeModuleName, + ssrRuntimeModuleName, + ssr, + isTS, + inSSR, + source: ast.source, + code: ``, + column: 1, + line: 1, + offset: 0, + indentLevel: 0, + pure: false, + map: void 0, + helper(key) { + return `_${helperNameMap[key]}`; + }, + push(code, newlineIndex = -2 /* None */, node) { + context.code += code; + if (context.map) { + if (node) { + let name; + if (node.type === 4 && !node.isStatic) { + const content = node.content.replace(/^_ctx\./, ""); + if (content !== node.content && isSimpleIdentifier(content)) { + name = content; + } + } + if (node.loc.source) { + addMapping(node.loc.start, name); + } + } + if (newlineIndex === -3 /* Unknown */) { + advancePositionWithMutation(context, code); + } else { + context.offset += code.length; + if (newlineIndex === -2 /* None */) { + context.column += code.length; + } else { + if (newlineIndex === -1 /* End */) { + newlineIndex = code.length - 1; + } + context.line++; + context.column = code.length - newlineIndex; + } + } + if (node && node.loc !== locStub && node.loc.source) { + addMapping(node.loc.end); + } + } + }, + indent() { + newline(++context.indentLevel); + }, + deindent(withoutNewLine = false) { + if (withoutNewLine) { + --context.indentLevel; + } else { + newline(--context.indentLevel); + } + }, + newline() { + newline(context.indentLevel); + } + }; + function newline(n) { + context.push("\n" + ` `.repeat(n), 0 /* Start */); + } + function addMapping(loc, name = null) { + const { _names, _mappings } = context.map; + if (name !== null && !_names.has(name)) _names.add(name); + _mappings.add({ + originalLine: loc.line, + originalColumn: loc.column - 1, + // source-map column is 0 based + generatedLine: context.line, + generatedColumn: context.column - 1, + source: filename, + name + }); + } + if (sourceMap) { + context.map = new sourceMapJs.SourceMapGenerator(); + context.map.setSourceContent(filename, context.source); + context.map._sources.add(filename); + } + return context; +} +function generate(ast, options = {}) { + const context = createCodegenContext(ast, options); + if (options.onContextCreated) options.onContextCreated(context); + const { + mode, + push, + prefixIdentifiers, + indent, + deindent, + newline, + scopeId, + ssr + } = context; + const helpers = Array.from(ast.helpers); + const hasHelpers = helpers.length > 0; + const useWithBlock = !prefixIdentifiers && mode !== "module"; + const genScopeId = scopeId != null && mode === "module"; + const isSetupInlined = !!options.inline; + const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context; + if (mode === "module") { + genModulePreamble(ast, preambleContext, genScopeId, isSetupInlined); + } else { + genFunctionPreamble(ast, preambleContext); + } + const functionName = ssr ? `ssrRender` : `render`; + const args = ssr ? ["_ctx", "_push", "_parent", "_attrs"] : ["_ctx", "_cache"]; + if (options.bindingMetadata && !options.inline) { + args.push("$props", "$setup", "$data", "$options"); + } + const signature = options.isTS ? args.map((arg) => `${arg}: any`).join(",") : args.join(", "); + if (isSetupInlined) { + push(`(${signature}) => {`); + } else { + push(`function ${functionName}(${signature}) {`); + } + indent(); + if (useWithBlock) { + push(`with (_ctx) {`); + indent(); + if (hasHelpers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = _Vue +`, + -1 /* End */ + ); + newline(); + } + } + if (ast.components.length) { + genAssets(ast.components, "component", context); + if (ast.directives.length || ast.temps > 0) { + newline(); + } + } + if (ast.directives.length) { + genAssets(ast.directives, "directive", context); + if (ast.temps > 0) { + newline(); + } + } + if (ast.filters && ast.filters.length) { + newline(); + genAssets(ast.filters, "filter", context); + newline(); + } + if (ast.temps > 0) { + push(`let `); + for (let i = 0; i < ast.temps; i++) { + push(`${i > 0 ? `, ` : ``}_temp${i}`); + } + } + if (ast.components.length || ast.directives.length || ast.temps) { + push(` +`, 0 /* Start */); + newline(); + } + if (!ssr) { + push(`return `); + } + if (ast.codegenNode) { + genNode(ast.codegenNode, context); + } else { + push(`null`); + } + if (useWithBlock) { + deindent(); + push(`}`); + } + deindent(); + push(`}`); + return { + ast, + code: context.code, + preamble: isSetupInlined ? preambleContext.code : ``, + map: context.map ? context.map.toJSON() : void 0 + }; +} +function genFunctionPreamble(ast, context) { + const { + ssr, + prefixIdentifiers, + push, + newline, + runtimeModuleName, + runtimeGlobalName, + ssrRuntimeModuleName + } = context; + const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName; + const helpers = Array.from(ast.helpers); + if (helpers.length > 0) { + if (prefixIdentifiers) { + push( + `const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding} +`, + -1 /* End */ + ); + } else { + push(`const _Vue = ${VueBinding} +`, -1 /* End */); + if (ast.hoists.length) { + const staticHelpers = [ + CREATE_VNODE, + CREATE_ELEMENT_VNODE, + CREATE_COMMENT, + CREATE_TEXT, + CREATE_STATIC + ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", "); + push(`const { ${staticHelpers} } = _Vue +`, -1 /* End */); + } + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}") +`, + -1 /* End */ + ); + } + genHoists(ast.hoists, context); + newline(); + push(`return `); +} +function genModulePreamble(ast, context, genScopeId, inline) { + const { + push, + newline, + optimizeImports, + runtimeModuleName, + ssrRuntimeModuleName + } = context; + if (ast.helpers.size) { + const helpers = Array.from(ast.helpers); + if (optimizeImports) { + push( + `import { ${helpers.map((s) => helperNameMap[s]).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + push( + ` +// Binding optimization for webpack code-split +const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(", ")} +`, + -1 /* End */ + ); + } else { + push( + `import { ${helpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from ${JSON.stringify(runtimeModuleName)} +`, + -1 /* End */ + ); + } + } + if (ast.ssrHelpers && ast.ssrHelpers.length) { + push( + `import { ${ast.ssrHelpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(", ")} } from "${ssrRuntimeModuleName}" +`, + -1 /* End */ + ); + } + if (ast.imports.length) { + genImports(ast.imports, context); + newline(); + } + genHoists(ast.hoists, context); + newline(); + if (!inline) { + push(`export `); + } +} +function genAssets(assets, type, { helper, push, newline, isTS }) { + const resolver = helper( + type === "filter" ? RESOLVE_FILTER : type === "component" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE + ); + for (let i = 0; i < assets.length; i++) { + let id = assets[i]; + const maybeSelfReference = id.endsWith("__self"); + if (maybeSelfReference) { + id = id.slice(0, -6); + } + push( + `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}` + ); + if (i < assets.length - 1) { + newline(); + } + } +} +function genHoists(hoists, context) { + if (!hoists.length) { + return; + } + context.pure = true; + const { push, newline } = context; + newline(); + for (let i = 0; i < hoists.length; i++) { + const exp = hoists[i]; + if (exp) { + push(`const _hoisted_${i + 1} = `); + genNode(exp, context); + newline(); + } + } + context.pure = false; +} +function genImports(importsOptions, context) { + if (!importsOptions.length) { + return; + } + importsOptions.forEach((imports) => { + context.push(`import `); + genNode(imports.exp, context); + context.push(` from '${imports.path}'`); + context.newline(); + }); +} +function isText(n) { + return shared.isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8; +} +function genNodeListAsArray(nodes, context) { + const multilines = nodes.length > 3 || nodes.some((n) => shared.isArray(n) || !isText(n)); + context.push(`[`); + multilines && context.indent(); + genNodeList(nodes, context, multilines); + multilines && context.deindent(); + context.push(`]`); +} +function genNodeList(nodes, context, multilines = false, comma = true) { + const { push, newline } = context; + for (let i = 0; i < nodes.length; i++) { + const node = nodes[i]; + if (shared.isString(node)) { + push(node, -3 /* Unknown */); + } else if (shared.isArray(node)) { + genNodeListAsArray(node, context); + } else { + genNode(node, context); + } + if (i < nodes.length - 1) { + if (multilines) { + comma && push(","); + newline(); + } else { + comma && push(", "); + } + } + } +} +function genNode(node, context) { + if (shared.isString(node)) { + context.push(node, -3 /* Unknown */); + return; + } + if (shared.isSymbol(node)) { + context.push(context.helper(node)); + return; + } + switch (node.type) { + case 1: + case 9: + case 11: + genNode(node.codegenNode, context); + break; + case 2: + genText(node, context); + break; + case 4: + genExpression(node, context); + break; + case 5: + genInterpolation(node, context); + break; + case 12: + genNode(node.codegenNode, context); + break; + case 8: + genCompoundExpression(node, context); + break; + case 3: + genComment(node, context); + break; + case 13: + genVNodeCall(node, context); + break; + case 14: + genCallExpression(node, context); + break; + case 15: + genObjectExpression(node, context); + break; + case 17: + genArrayExpression(node, context); + break; + case 18: + genFunctionExpression(node, context); + break; + case 19: + genConditionalExpression(node, context); + break; + case 20: + genCacheExpression(node, context); + break; + case 21: + genNodeList(node.body, context, true, false); + break; + // SSR only types + case 22: + genTemplateLiteral(node, context); + break; + case 23: + genIfStatement(node, context); + break; + case 24: + genAssignmentExpression(node, context); + break; + case 25: + genSequenceExpression(node, context); + break; + case 26: + genReturnStatement(node, context); + break; + } +} +function genText(node, context) { + context.push(JSON.stringify(node.content), -3 /* Unknown */, node); +} +function genExpression(node, context) { + const { content, isStatic } = node; + context.push( + isStatic ? JSON.stringify(content) : content, + -3 /* Unknown */, + node + ); +} +function genInterpolation(node, context) { + const { push, helper, pure } = context; + if (pure) push(PURE_ANNOTATION); + push(`${helper(TO_DISPLAY_STRING)}(`); + genNode(node.content, context); + push(`)`); +} +function genCompoundExpression(node, context) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (shared.isString(child)) { + context.push(child, -3 /* Unknown */); + } else { + genNode(child, context); + } + } +} +function genExpressionAsPropertyKey(node, context) { + const { push } = context; + if (node.type === 8) { + push(`[`); + genCompoundExpression(node, context); + push(`]`); + } else if (node.isStatic) { + const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content); + push(text, -2 /* None */, node); + } else { + push(`[${node.content}]`, -3 /* Unknown */, node); + } +} +function genComment(node, context) { + const { push, helper, pure } = context; + if (pure) { + push(PURE_ANNOTATION); + } + push( + `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, + -3 /* Unknown */, + node + ); +} +function genVNodeCall(node, context) { + const { push, helper, pure } = context; + const { + tag, + props, + children, + patchFlag, + dynamicProps, + directives, + isBlock, + disableTracking, + isComponent + } = node; + let patchFlagString; + if (patchFlag) { + { + patchFlagString = String(patchFlag); + } + } + if (directives) { + push(helper(WITH_DIRECTIVES) + `(`); + } + if (isBlock) { + push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `); + } + if (pure) { + push(PURE_ANNOTATION); + } + const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent); + push(helper(callHelper) + `(`, -2 /* None */, node); + genNodeList( + genNullableArgs([tag, props, children, patchFlagString, dynamicProps]), + context + ); + push(`)`); + if (isBlock) { + push(`)`); + } + if (directives) { + push(`, `); + genNode(directives, context); + push(`)`); + } +} +function genNullableArgs(args) { + let i = args.length; + while (i--) { + if (args[i] != null) break; + } + return args.slice(0, i + 1).map((arg) => arg || `null`); +} +function genCallExpression(node, context) { + const { push, helper, pure } = context; + const callee = shared.isString(node.callee) ? node.callee : helper(node.callee); + if (pure) { + push(PURE_ANNOTATION); + } + push(callee + `(`, -2 /* None */, node); + genNodeList(node.arguments, context); + push(`)`); +} +function genObjectExpression(node, context) { + const { push, indent, deindent, newline } = context; + const { properties } = node; + if (!properties.length) { + push(`{}`, -2 /* None */, node); + return; + } + const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4); + push(multilines ? `{` : `{ `); + multilines && indent(); + for (let i = 0; i < properties.length; i++) { + const { key, value } = properties[i]; + genExpressionAsPropertyKey(key, context); + push(`: `); + genNode(value, context); + if (i < properties.length - 1) { + push(`,`); + newline(); + } + } + multilines && deindent(); + push(multilines ? `}` : ` }`); +} +function genArrayExpression(node, context) { + genNodeListAsArray(node.elements, context); +} +function genFunctionExpression(node, context) { + const { push, indent, deindent } = context; + const { params, returns, body, newline, isSlot } = node; + if (isSlot) { + push(`_${helperNameMap[WITH_CTX]}(`); + } + push(`(`, -2 /* None */, node); + if (shared.isArray(params)) { + genNodeList(params, context); + } else if (params) { + genNode(params, context); + } + push(`) => `); + if (newline || body) { + push(`{`); + indent(); + } + if (returns) { + if (newline) { + push(`return `); + } + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } + } else if (body) { + genNode(body, context); + } + if (newline || body) { + deindent(); + push(`}`); + } + if (isSlot) { + if (node.isNonScopedSlot) { + push(`, undefined, true`); + } + push(`)`); + } +} +function genConditionalExpression(node, context) { + const { test, consequent, alternate, newline: needNewline } = node; + const { push, indent, deindent, newline } = context; + if (test.type === 4) { + const needsParens = !isSimpleIdentifier(test.content); + needsParens && push(`(`); + genExpression(test, context); + needsParens && push(`)`); + } else { + push(`(`); + genNode(test, context); + push(`)`); + } + needNewline && indent(); + context.indentLevel++; + needNewline || push(` `); + push(`? `); + genNode(consequent, context); + context.indentLevel--; + needNewline && newline(); + needNewline || push(` `); + push(`: `); + const isNested = alternate.type === 19; + if (!isNested) { + context.indentLevel++; + } + genNode(alternate, context); + if (!isNested) { + context.indentLevel--; + } + needNewline && deindent( + true + /* without newline */ + ); +} +function genCacheExpression(node, context) { + const { push, helper, indent, deindent, newline } = context; + const { needPauseTracking, needArraySpread } = node; + if (needArraySpread) { + push(`[...(`); + } + push(`_cache[${node.index}] || (`); + if (needPauseTracking) { + indent(); + push(`${helper(SET_BLOCK_TRACKING)}(-1`); + if (node.inVOnce) push(`, true`); + push(`),`); + newline(); + push(`(`); + } + push(`_cache[${node.index}] = `); + genNode(node.value, context); + if (needPauseTracking) { + push(`).cacheIndex = ${node.index},`); + newline(); + push(`${helper(SET_BLOCK_TRACKING)}(1),`); + newline(); + push(`_cache[${node.index}]`); + deindent(); + } + push(`)`); + if (needArraySpread) { + push(`)]`); + } +} +function genTemplateLiteral(node, context) { + const { push, indent, deindent } = context; + push("`"); + const l = node.elements.length; + const multilines = l > 3; + for (let i = 0; i < l; i++) { + const e = node.elements[i]; + if (shared.isString(e)) { + push(e.replace(/(`|\$|\\)/g, "\\$1"), -3 /* Unknown */); + } else { + push("${"); + if (multilines) indent(); + genNode(e, context); + if (multilines) deindent(); + push("}"); + } + } + push("`"); +} +function genIfStatement(node, context) { + const { push, indent, deindent } = context; + const { test, consequent, alternate } = node; + push(`if (`); + genNode(test, context); + push(`) {`); + indent(); + genNode(consequent, context); + deindent(); + push(`}`); + if (alternate) { + push(` else `); + if (alternate.type === 23) { + genIfStatement(alternate, context); + } else { + push(`{`); + indent(); + genNode(alternate, context); + deindent(); + push(`}`); + } + } +} +function genAssignmentExpression(node, context) { + genNode(node.left, context); + context.push(` = `); + genNode(node.right, context); +} +function genSequenceExpression(node, context) { + context.push(`(`); + genNodeList(node.expressions, context); + context.push(`)`); +} +function genReturnStatement({ returns }, context) { + context.push(`return `); + if (shared.isArray(returns)) { + genNodeListAsArray(returns, context); + } else { + genNode(returns, context); + } +} + +const isLiteralWhitelisted = /* @__PURE__ */ shared.makeMap("true,false,null,this"); +const transformExpression = (node, context) => { + if (node.type === 5) { + node.content = processExpression( + node.content, + context + ); + } else if (node.type === 1) { + const memo = findDir(node, "memo"); + for (let i = 0; i < node.props.length; i++) { + const dir = node.props[i]; + if (dir.type === 7 && dir.name !== "for") { + const exp = dir.exp; + const arg = dir.arg; + if (exp && exp.type === 4 && !(dir.name === "on" && arg) && // key has been processed in transformFor(vMemo + vFor) + !(memo && context.vForMemoKeyedNodes.has(node) && arg && arg.type === 4 && arg.content === "key")) { + dir.exp = processExpression( + exp, + context, + // slot args must be processed as function params + dir.name === "slot" + ); + } + if (arg && arg.type === 4 && !arg.isStatic) { + dir.arg = processExpression(arg, context); + } + } + } + } +}; +function processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) { + if (!context.prefixIdentifiers || !node.content.trim()) { + return node; + } + const { inline, bindingMetadata } = context; + const rewriteIdentifier = (raw, parent, id) => { + const type = shared.hasOwn(bindingMetadata, raw) && bindingMetadata[raw]; + if (inline) { + const isAssignmentLVal = parent && parent.type === "AssignmentExpression" && parent.left === id; + const isUpdateArg = parent && parent.type === "UpdateExpression" && parent.argument === id; + const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack); + const isNewExpression = parent && isInNewExpression(parentStack); + const wrapWithUnref = (raw2) => { + const wrapped = `${context.helperString(UNREF)}(${raw2})`; + return isNewExpression ? `(${wrapped})` : wrapped; + }; + if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) { + return raw; + } else if (type === "setup-ref") { + return `${raw}.value`; + } else if (type === "setup-maybe-ref") { + return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw); + } else if (type === "setup-let") { + if (isAssignmentLVal) { + const { right: rVal, operator } = parent; + const rExp = rawExp.slice(rVal.start - 1, rVal.end - 1); + const rExpString = stringifyExpression( + processExpression( + createSimpleExpression(rExp, false), + context, + false, + false, + knownIds + ) + ); + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`; + } else if (isUpdateArg) { + id.start = parent.start; + id.end = parent.end; + const { prefix: isPrefix, operator } = parent; + const prefix = isPrefix ? operator : ``; + const postfix = isPrefix ? `` : operator; + return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore +` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`; + } else if (isDestructureAssignment) { + return raw; + } else { + return wrapWithUnref(raw); + } + } else if (type === "props") { + return shared.genPropsAccessExp(raw); + } else if (type === "props-aliased") { + return shared.genPropsAccessExp(bindingMetadata.__propsAliases[raw]); + } + } else { + if (type && type.startsWith("setup") || type === "literal-const") { + return `$setup.${raw}`; + } else if (type === "props-aliased") { + return `$props['${bindingMetadata.__propsAliases[raw]}']`; + } else if (type) { + return `$${type}.${raw}`; + } + } + return `_ctx.${raw}`; + }; + const rawExp = node.content; + let ast = node.ast; + if (ast === false) { + return node; + } + if (ast === null || !ast && isSimpleIdentifier(rawExp)) { + const isScopeVarReference = context.identifiers[rawExp]; + const isAllowedGlobal = shared.isGloballyAllowed(rawExp); + const isLiteral = isLiteralWhitelisted(rawExp); + if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) { + if (isConst(bindingMetadata[rawExp])) { + node.constType = 1; + } + node.content = rewriteIdentifier(rawExp); + } else if (!isScopeVarReference) { + if (isLiteral) { + node.constType = 3; + } else { + node.constType = 2; + } + } + return node; + } + if (!ast) { + const source = asRawStatements ? ` ${rawExp} ` : `(${rawExp})${asParams ? `=>{}` : ``}`; + try { + ast = parser.parseExpression(source, { + sourceType: "module", + plugins: context.expressionPlugins + }); + } catch (e) { + context.onError( + createCompilerError( + 46, + node.loc, + void 0, + e.message + ) + ); + return node; + } + } + const ids = []; + const parentStack = []; + const knownIds = Object.create(context.identifiers); + walkIdentifiers( + ast, + (node2, parent, _, isReferenced, isLocal) => { + if (isStaticPropertyKey(node2, parent)) { + return; + } + if (node2.name.startsWith("_filter_")) { + return; + } + const needPrefix = isReferenced && canPrefix(node2); + if (needPrefix && !isLocal) { + if (isStaticProperty(parent) && parent.shorthand) { + node2.prefix = `${node2.name}: `; + } + node2.name = rewriteIdentifier(node2.name, parent, node2); + ids.push(node2); + } else { + if (!(needPrefix && isLocal) && (!parent || parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "MemberExpression")) { + node2.isConstant = true; + } + ids.push(node2); + } + }, + true, + // invoke on ALL identifiers + parentStack, + knownIds + ); + const children = []; + ids.sort((a, b) => a.start - b.start); + ids.forEach((id, i) => { + const start = id.start - 1; + const end = id.end - 1; + const last = ids[i - 1]; + const leadingText = rawExp.slice(last ? last.end - 1 : 0, start); + if (leadingText.length || id.prefix) { + children.push(leadingText + (id.prefix || ``)); + } + const source = rawExp.slice(start, end); + children.push( + createSimpleExpression( + id.name, + false, + { + start: advancePositionWithClone(node.loc.start, source, start), + end: advancePositionWithClone(node.loc.start, source, end), + source + }, + id.isConstant ? 3 : 0 + ) + ); + if (i === ids.length - 1 && end < rawExp.length) { + children.push(rawExp.slice(end)); + } + }); + let ret; + if (children.length) { + ret = createCompoundExpression(children, node.loc); + ret.ast = ast; + } else { + ret = node; + ret.constType = 3; + } + ret.identifiers = Object.keys(knownIds); + return ret; +} +function canPrefix(id) { + if (shared.isGloballyAllowed(id.name)) { + return false; + } + if (id.name === "require") { + return false; + } + return true; +} +function stringifyExpression(exp) { + if (shared.isString(exp)) { + return exp; + } else if (exp.type === 4) { + return exp.content; + } else { + return exp.children.map(stringifyExpression).join(""); + } +} +function isConst(type) { + return type === "setup-const" || type === "literal-const"; +} + +const transformIf = createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + (node, dir, context) => { + return processIf(node, dir, context, (ifNode, branch, isRoot) => { + const siblings = context.parent.children; + let i = siblings.indexOf(ifNode); + let key = 0; + while (i-- >= 0) { + const sibling = siblings[i]; + if (sibling && sibling.type === 9) { + key += sibling.branches.length; + } + } + return () => { + if (isRoot) { + ifNode.codegenNode = createCodegenNodeForBranch( + branch, + key, + context + ); + } else { + const parentCondition = getParentCondition(ifNode.codegenNode); + parentCondition.alternate = createCodegenNodeForBranch( + branch, + key + ifNode.branches.length - 1, + context + ); + } + }; + }); + } +); +function processIf(node, dir, context, processCodegen) { + if (dir.name !== "else" && (!dir.exp || !dir.exp.content.trim())) { + const loc = dir.exp ? dir.exp.loc : node.loc; + context.onError( + createCompilerError(28, dir.loc) + ); + dir.exp = createSimpleExpression(`true`, false, loc); + } + if (context.prefixIdentifiers && dir.exp) { + dir.exp = processExpression(dir.exp, context); + } + if (dir.name === "if") { + const branch = createIfBranch(node, dir); + const ifNode = { + type: 9, + loc: cloneLoc(node.loc), + branches: [branch] + }; + context.replaceNode(ifNode); + if (processCodegen) { + return processCodegen(ifNode, branch, true); + } + } else { + const siblings = context.parent.children; + let i = siblings.indexOf(node); + while (i-- >= -1) { + const sibling = siblings[i]; + if (sibling && isCommentOrWhitespace(sibling)) { + context.removeNode(sibling); + continue; + } + if (sibling && sibling.type === 9) { + if ((dir.name === "else-if" || dir.name === "else") && sibling.branches[sibling.branches.length - 1].condition === void 0) { + context.onError( + createCompilerError(30, node.loc) + ); + } + context.removeNode(); + const branch = createIfBranch(node, dir); + { + const key = branch.userKey; + if (key) { + sibling.branches.forEach(({ userKey }) => { + if (isSameKey(userKey, key)) { + context.onError( + createCompilerError( + 29, + branch.userKey.loc + ) + ); + } + }); + } + } + sibling.branches.push(branch); + const onExit = processCodegen && processCodegen(sibling, branch, false); + traverseNode(branch, context); + if (onExit) onExit(); + context.currentNode = null; + } else { + context.onError( + createCompilerError(30, node.loc) + ); + } + break; + } + } +} +function createIfBranch(node, dir) { + const isTemplateIf = node.tagType === 3; + return { + type: 10, + loc: node.loc, + condition: dir.name === "else" ? void 0 : dir.exp, + children: isTemplateIf && !findDir(node, "for") ? node.children : [node], + userKey: findProp(node, `key`), + isTemplateIf + }; +} +function createCodegenNodeForBranch(branch, keyIndex, context) { + if (branch.condition) { + return createConditionalExpression( + branch.condition, + createChildrenCodegenNode(branch, keyIndex, context), + // make sure to pass in asBlock: true so that the comment node call + // closes the current block. + createCallExpression(context.helper(CREATE_COMMENT), [ + '""', + "true" + ]) + ); + } else { + return createChildrenCodegenNode(branch, keyIndex, context); + } +} +function createChildrenCodegenNode(branch, keyIndex, context) { + const { helper } = context; + const keyProperty = createObjectProperty( + `key`, + createSimpleExpression( + `${keyIndex}`, + false, + locStub, + 2 + ) + ); + const { children } = branch; + const firstChild = children[0]; + const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1; + if (needFragmentWrapper) { + if (children.length === 1 && firstChild.type === 11) { + const vnodeCall = firstChild.codegenNode; + injectProp(vnodeCall, keyProperty, context); + return vnodeCall; + } else { + let patchFlag = 64; + return createVNodeCall( + context, + helper(FRAGMENT), + createObjectExpression([keyProperty]), + children, + patchFlag, + void 0, + void 0, + true, + false, + false, + branch.loc + ); + } + } else { + const ret = firstChild.codegenNode; + const vnodeCall = getMemoedVNodeCall(ret); + if (vnodeCall.type === 13) { + convertToBlock(vnodeCall, context); + } + injectProp(vnodeCall, keyProperty, context); + return ret; + } +} +function isSameKey(a, b) { + if (!a || a.type !== b.type) { + return false; + } + if (a.type === 6) { + if (a.value.content !== b.value.content) { + return false; + } + } else { + const exp = a.exp; + const branchExp = b.exp; + if (exp.type !== branchExp.type) { + return false; + } + if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) { + return false; + } + } + return true; +} +function getParentCondition(node) { + while (true) { + if (node.type === 19) { + if (node.alternate.type === 19) { + node = node.alternate; + } else { + return node; + } + } else if (node.type === 20) { + node = node.value; + } + } +} + +const transformFor = createStructuralDirectiveTransform( + "for", + (node, dir, context) => { + const { helper, removeHelper } = context; + return processFor(node, dir, context, (forNode) => { + const renderExp = createCallExpression(helper(RENDER_LIST), [ + forNode.source + ]); + const isTemplate = isTemplateNode(node); + const memo = findDir(node, "memo"); + const keyProp = findProp(node, `key`, false, true); + const isDirKey = keyProp && keyProp.type === 7; + let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp); + const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null; + { + if (isTemplate && memo) { + memo.exp = processExpression( + memo.exp, + context + ); + } + if ((isTemplate || memo) && keyProperty && isDirKey) { + keyExp = keyProp.exp = keyProperty.value = processExpression( + keyProperty.value, + context + ); + if (memo) { + context.vForMemoKeyedNodes.add(node); + } + } + } + const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0; + const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256; + forNode.codegenNode = createVNodeCall( + context, + helper(FRAGMENT), + void 0, + renderExp, + fragmentFlag, + void 0, + void 0, + true, + !isStableFragment, + false, + node.loc + ); + return () => { + var _a; + let childBlock; + const { children } = forNode; + if (isTemplate) { + node.children.some((c) => { + if (c.type === 1) { + const key = findProp(c, "key"); + if (key) { + context.onError( + createCompilerError( + 33, + key.loc + ) + ); + return true; + } + } + }); + } + const needFragmentWrapper = children.length !== 1 || children[0].type !== 1; + const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null; + if (slotOutlet) { + childBlock = slotOutlet.codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + } else if (needFragmentWrapper) { + childBlock = createVNodeCall( + context, + helper(FRAGMENT), + keyProperty ? createObjectExpression([keyProperty]) : void 0, + node.children, + 64, + void 0, + void 0, + true, + void 0, + false + ); + } else { + childBlock = children[0].codegenNode; + if (isTemplate && keyProperty) { + injectProp(childBlock, keyProperty, context); + } + const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true; + if (childBlock.isBlock !== shouldUseBlock) { + if (childBlock.isBlock) { + removeHelper(OPEN_BLOCK); + removeHelper( + getVNodeBlockHelper(context.inSSR, childBlock.isComponent) + ); + } else { + removeHelper( + getVNodeHelper(context.inSSR, childBlock.isComponent) + ); + } + } + childBlock.isBlock = shouldUseBlock; + if (childBlock.isBlock) { + helper(OPEN_BLOCK); + helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent)); + } else { + helper(getVNodeHelper(context.inSSR, childBlock.isComponent)); + if (childBlock.needsPatch) { + childBlock.patchFlag = ((_a = childBlock.patchFlag) != null ? _a : 0) | 512; + } + } + } + if (memo) { + const loop = createFunctionExpression( + createForLoopParams(forNode.parseResult, [ + createSimpleExpression(`_cached`) + ]) + ); + loop.body = createBlockStatement([ + createCompoundExpression([`const _memo = (`, memo.exp, `)`]), + createCompoundExpression([ + `if (_cached && _cached.el`, + ...keyExp ? [` && _cached.key === (`, keyExp, `)`] : [], + ` && ${context.helperString( + IS_MEMO_SAME + )}(_cached, _memo)) return _cached` + ]), + createCompoundExpression([`const _item = `, childBlock]), + createSimpleExpression(`_item.memo = _memo`), + createSimpleExpression(`return _item`) + ]); + renderExp.arguments.push( + loop, + createSimpleExpression(`_cache`), + createSimpleExpression(String(context.cached.length)) + ); + context.cached.push(null); + } else { + renderExp.arguments.push( + createFunctionExpression( + createForLoopParams(forNode.parseResult), + childBlock, + true + ) + ); + } + }; + }); + } +); +function processFor(node, dir, context, processCodegen) { + if (!dir.exp) { + context.onError( + createCompilerError(31, dir.loc) + ); + return; + } + const parseResult = dir.forParseResult; + if (!parseResult) { + context.onError( + createCompilerError(32, dir.loc) + ); + return; + } + finalizeForParseResult(parseResult, context); + const { addIdentifiers, removeIdentifiers, scopes } = context; + const { source, value, key, index } = parseResult; + const forNode = { + type: 11, + loc: dir.loc, + source, + valueAlias: value, + keyAlias: key, + objectIndexAlias: index, + parseResult, + children: isTemplateNode(node) ? node.children : [node] + }; + context.replaceNode(forNode); + scopes.vFor++; + if (context.prefixIdentifiers) { + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + } + const onExit = processCodegen && processCodegen(forNode); + return () => { + scopes.vFor--; + if (context.prefixIdentifiers) { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + } + if (onExit) onExit(); + }; +} +function finalizeForParseResult(result, context) { + if (result.finalized) return; + if (context.prefixIdentifiers) { + result.source = processExpression( + result.source, + context + ); + if (result.key) { + result.key = processExpression( + result.key, + context, + true + ); + } + if (result.index) { + result.index = processExpression( + result.index, + context, + true + ); + } + if (result.value) { + result.value = processExpression( + result.value, + context, + true + ); + } + } + result.finalized = true; +} +function createForLoopParams({ value, key, index }, memoArgs = []) { + return createParamsList([value, key, index, ...memoArgs]); +} +function createParamsList(args) { + let i = args.length; + while (i--) { + if (args[i]) break; + } + return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false)); +} + +const defaultFallback = createSimpleExpression(`undefined`, false); +const trackSlotScopes = (node, context) => { + if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) { + const vSlot = findDir(node, "slot"); + if (vSlot) { + const slotProps = vSlot.exp; + if (context.prefixIdentifiers) { + slotProps && context.addIdentifiers(slotProps); + } + context.scopes.vSlot++; + return () => { + if (context.prefixIdentifiers) { + slotProps && context.removeIdentifiers(slotProps); + } + context.scopes.vSlot--; + }; + } + } +}; +const trackVForSlotScopes = (node, context) => { + let vFor; + if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, "for"))) { + const result = vFor.forParseResult; + if (result) { + finalizeForParseResult(result, context); + const { value, key, index } = result; + const { addIdentifiers, removeIdentifiers } = context; + value && addIdentifiers(value); + key && addIdentifiers(key); + index && addIdentifiers(index); + return () => { + value && removeIdentifiers(value); + key && removeIdentifiers(key); + index && removeIdentifiers(index); + }; + } + } +}; +const buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression( + props, + children, + false, + true, + children.length ? children[0].loc : loc +); +function buildSlots(node, context, buildSlotFn = buildClientSlotFn) { + context.helper(WITH_CTX); + const { children, loc } = node; + const slotsProperties = []; + const dynamicSlots = []; + let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0; + if (!context.ssr && context.prefixIdentifiers) { + hasDynamicSlots = node.props.some( + (prop) => isVSlot(prop) && (hasScopeRef(prop.arg, context.identifiers) || hasScopeRef(prop.exp, context.identifiers)) + ) || children.some((child) => hasScopeRef(child, context.identifiers)); + } + const onComponentSlot = findDir(node, "slot", true); + if (onComponentSlot) { + const { arg, exp } = onComponentSlot; + if (arg && !isStaticExp(arg)) { + hasDynamicSlots = true; + } + slotsProperties.push( + createObjectProperty( + arg || createSimpleExpression("default", true), + buildSlotFn(exp, void 0, children, loc) + ) + ); + } + let hasTemplateSlots = false; + let hasNamedDefaultSlot = false; + const implicitDefaultChildren = []; + const seenSlotNames = /* @__PURE__ */ new Set(); + let conditionalBranchIndex = 0; + for (let i = 0; i < children.length; i++) { + const slotElement = children[i]; + let slotDir; + if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, "slot", true))) { + if (slotElement.type !== 3) { + implicitDefaultChildren.push(slotElement); + } + continue; + } + if (onComponentSlot) { + context.onError( + createCompilerError(37, slotDir.loc) + ); + break; + } + hasTemplateSlots = true; + const { children: slotChildren, loc: slotLoc } = slotElement; + const { + arg: slotName = createSimpleExpression(`default`, true), + exp: slotProps, + loc: dirLoc + } = slotDir; + let staticSlotName; + if (isStaticExp(slotName)) { + staticSlotName = slotName ? slotName.content : `default`; + } else { + hasDynamicSlots = true; + } + const vFor = findDir(slotElement, "for"); + const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc); + let vIf; + let vElse; + if (vIf = findDir(slotElement, "if")) { + hasDynamicSlots = true; + dynamicSlots.push( + createConditionalExpression( + vIf.exp, + buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++), + defaultFallback + ) + ); + } else if (vElse = findDir( + slotElement, + /^else(?:-if)?$/, + true + /* allowEmpty */ + )) { + let j = i; + let prev; + while (j--) { + prev = children[j]; + if (!isCommentOrWhitespace(prev)) { + break; + } + } + if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) { + let conditional = dynamicSlots[dynamicSlots.length - 1]; + while (conditional.alternate.type === 19) { + conditional = conditional.alternate; + } + conditional.alternate = vElse.exp ? createConditionalExpression( + vElse.exp, + buildDynamicSlot( + slotName, + slotFunction, + conditionalBranchIndex++ + ), + defaultFallback + ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++); + } else { + context.onError( + createCompilerError(30, vElse.loc) + ); + } + } else if (vFor) { + hasDynamicSlots = true; + const parseResult = vFor.forParseResult; + if (parseResult) { + finalizeForParseResult(parseResult, context); + dynamicSlots.push( + createCallExpression(context.helper(RENDER_LIST), [ + parseResult.source, + createFunctionExpression( + createForLoopParams(parseResult), + buildDynamicSlot(slotName, slotFunction), + true + ) + ]) + ); + } else { + context.onError( + createCompilerError( + 32, + vFor.loc + ) + ); + } + } else { + if (staticSlotName) { + if (seenSlotNames.has(staticSlotName)) { + context.onError( + createCompilerError( + 38, + dirLoc + ) + ); + continue; + } + seenSlotNames.add(staticSlotName); + if (staticSlotName === "default") { + hasNamedDefaultSlot = true; + } + } + slotsProperties.push(createObjectProperty(slotName, slotFunction)); + } + } + if (!onComponentSlot) { + const buildDefaultSlotProperty = (props, children2) => { + const fn = buildSlotFn(props, void 0, children2, loc); + if (context.compatConfig) { + fn.isNonScopedSlot = true; + } + return createObjectProperty(`default`, fn); + }; + if (!hasTemplateSlots) { + slotsProperties.push(buildDefaultSlotProperty(void 0, children)); + } else if (implicitDefaultChildren.length && // #3766 + // with whitespace: 'preserve', whitespaces between slots will end up in + // implicitDefaultChildren. Ignore if all implicit children are whitespaces. + !implicitDefaultChildren.every(isWhitespaceText)) { + if (hasNamedDefaultSlot) { + context.onError( + createCompilerError( + 39, + implicitDefaultChildren[0].loc + ) + ); + } else { + slotsProperties.push( + buildDefaultSlotProperty(void 0, implicitDefaultChildren) + ); + } + } + } + const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1; + let slots = createObjectExpression( + slotsProperties.concat( + createObjectProperty( + `_`, + // 2 = compiled but dynamic = can skip normalization, but must run diff + // 1 = compiled and static = can skip normalization AND diff as optimized + createSimpleExpression( + slotFlag + (``), + false + ) + ) + ), + loc + ); + if (dynamicSlots.length) { + slots = createCallExpression(context.helper(CREATE_SLOTS), [ + slots, + createArrayExpression(dynamicSlots) + ]); + } + return { + slots, + hasDynamicSlots + }; +} +function buildDynamicSlot(name, fn, index) { + const props = [ + createObjectProperty(`name`, name), + createObjectProperty(`fn`, fn) + ]; + if (index != null) { + props.push( + createObjectProperty(`key`, createSimpleExpression(String(index), true)) + ); + } + return createObjectExpression(props); +} +function hasForwardedSlots(children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + if (child.tagType === 2 || hasForwardedSlots(child.children)) { + return true; + } + break; + case 9: + if (hasForwardedSlots(child.branches)) return true; + break; + case 10: + case 11: + if (hasForwardedSlots(child.children)) return true; + break; + } + } + return false; +} + +const directiveImportMap = /* @__PURE__ */ new WeakMap(); +const transformElement = (node, context) => { + return function postTransformElement() { + node = context.currentNode; + if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) { + return; + } + const { tag, props } = node; + const isComponent = node.tagType === 1; + let vnodeTag = isComponent ? resolveComponentType(node, context) : `"${tag}"`; + const isDynamicComponent = shared.isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT; + let vnodeProps; + let vnodeChildren; + let patchFlag = 0; + let vnodeDynamicProps; + let dynamicPropNames; + let vnodeDirectives; + let needsPatch = false; + let isBlockRequired = false; + let shouldUseBlock = ( + // dynamic component may resolve to plain elements + isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block + // updates inside get proper isSVG flag at runtime. (#639, #643) + // This is technically web-specific, but splitting the logic out of core + // leads to too much unnecessary complexity. + (tag === "svg" || tag === "foreignObject" || tag === "math") + ); + if (props.length > 0) { + const propsBuildResult = buildProps( + node, + context, + void 0, + isComponent, + isDynamicComponent + ); + vnodeProps = propsBuildResult.props; + patchFlag = propsBuildResult.patchFlag; + dynamicPropNames = propsBuildResult.dynamicPropNames; + needsPatch = propsBuildResult.needsPatch; + isBlockRequired = propsBuildResult.isBlockRequired; + const directives = propsBuildResult.directives; + vnodeDirectives = directives && directives.length ? createArrayExpression( + directives.map((dir) => buildDirectiveArgs(dir, context)) + ) : void 0; + if (propsBuildResult.shouldUseBlock) { + shouldUseBlock = true; + } + } + if (node.children.length > 0) { + if (vnodeTag === KEEP_ALIVE) { + shouldUseBlock = true; + patchFlag |= 1024; + } + const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling + vnodeTag !== TELEPORT && // explained above. + vnodeTag !== KEEP_ALIVE; + if (shouldBuildAsSlots) { + const { slots, hasDynamicSlots } = buildSlots(node, context); + vnodeChildren = slots; + if (hasDynamicSlots) { + patchFlag |= 1024; + } + } else if (node.children.length === 1 && vnodeTag !== TELEPORT) { + const child = node.children[0]; + const type = child.type; + const hasDynamicTextChild = type === 5 || type === 8; + if (hasDynamicTextChild && getConstantType(child, context) === 0) { + patchFlag |= 1; + } + if (hasDynamicTextChild || type === 2) { + vnodeChildren = child; + } else { + vnodeChildren = node.children; + } + } else { + vnodeChildren = node.children; + } + } + if (dynamicPropNames && dynamicPropNames.length) { + vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames); + } + const vnodeCall = node.codegenNode = createVNodeCall( + context, + vnodeTag, + vnodeProps, + vnodeChildren, + patchFlag === 0 ? void 0 : patchFlag, + vnodeDynamicProps, + vnodeDirectives, + !!shouldUseBlock, + false, + isComponent, + node.loc + ); + needsPatch = needsPatch && (patchFlag === 0 || patchFlag === 32); + if (needsPatch) { + vnodeCall.needsPatch = true; + } + if (isBlockRequired) { + vnodeCall.isBlockRequired = true; + } + }; +}; +function resolveComponentType(node, context, ssr = false) { + let { tag } = node; + const isExplicitDynamic = isComponentTag(tag); + const isProp = findProp( + node, + "is", + false, + true + /* allow empty */ + ); + if (isProp) { + if (isExplicitDynamic || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + )) { + let exp; + if (isProp.type === 6) { + exp = isProp.value && createSimpleExpression(isProp.value.content, true); + } else { + exp = isProp.exp; + if (!exp) { + exp = createSimpleExpression(`is`, false, isProp.arg.loc); + { + exp = isProp.exp = processExpression(exp, context); + } + } + } + if (exp) { + return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [ + exp + ]); + } + } else if (isProp.type === 6 && isProp.value.content.startsWith("vue:")) { + tag = isProp.value.content.slice(4); + } + } + const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag); + if (builtIn) { + if (!ssr) context.helper(builtIn); + return builtIn; + } + { + const fromSetup = resolveSetupReference(tag, context); + if (fromSetup) { + return fromSetup; + } + const dotIndex = tag.indexOf("."); + if (dotIndex > 0) { + const ns = resolveSetupReference(tag.slice(0, dotIndex), context); + if (ns) { + return ns + tag.slice(dotIndex); + } + } + } + if (context.selfName && shared.capitalize(shared.camelize(tag)) === context.selfName) { + context.helper(RESOLVE_COMPONENT); + context.components.add(tag + `__self`); + return toValidAssetId(tag, `component`); + } + context.helper(RESOLVE_COMPONENT); + context.components.add(tag); + return toValidAssetId(tag, `component`); +} +function resolveSetupReference(name, context) { + const bindings = context.bindingMetadata; + if (!bindings || bindings.__isScriptSetup === false) { + return; + } + const camelName = shared.camelize(name); + const PascalName = shared.capitalize(camelName); + const checkType = (type) => { + if (bindings[name] === type) { + return name; + } + if (bindings[camelName] === type) { + return camelName; + } + if (bindings[PascalName] === type) { + return PascalName; + } + }; + const fromConst = checkType("setup-const") || checkType("setup-reactive-const") || checkType("literal-const"); + if (fromConst) { + return context.inline ? ( + // in inline mode, const setup bindings (e.g. imports) can be used as-is + fromConst + ) : `$setup[${JSON.stringify(fromConst)}]`; + } + const fromMaybeRef = checkType("setup-let") || checkType("setup-ref") || checkType("setup-maybe-ref"); + if (fromMaybeRef) { + return context.inline ? ( + // setup scope bindings that may be refs need to be unrefed + `${context.helperString(UNREF)}(${fromMaybeRef})` + ) : `$setup[${JSON.stringify(fromMaybeRef)}]`; + } + const fromProps = checkType("props"); + if (fromProps) { + return `${context.helperString(UNREF)}(${context.inline ? "__props" : "$props"}[${JSON.stringify(fromProps)}])`; + } +} +function buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) { + const { tag, loc: elementLoc, children } = node; + let properties = []; + const mergeArgs = []; + const runtimeDirectives = []; + const hasChildren = children.length > 0; + let shouldUseBlock = false; + let isBlockRequired = false; + let patchFlag = 0; + let hasRef = false; + let hasClassBinding = false; + let hasStyleBinding = false; + let hasHydrationEventBinding = false; + let hasDynamicKeys = false; + let hasVnodeHook = false; + const dynamicPropNames = []; + const pushMergeArg = (arg) => { + if (properties.length) { + mergeArgs.push( + createObjectExpression(dedupeProperties(properties), elementLoc) + ); + properties = []; + } + if (arg) mergeArgs.push(arg); + }; + const pushRefVForMarker = () => { + if (context.scopes.vFor > 0) { + properties.push( + createObjectProperty( + createSimpleExpression("ref_for", true), + createSimpleExpression("true") + ) + ); + } + }; + const analyzePatchFlag = ({ key, value }) => { + if (isStaticExp(key)) { + const name = key.content; + const isEventHandler = shared.isOn(name); + if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click + // dedicated fast path. + name.toLowerCase() !== "onclick" && // omit v-model handlers + name !== "onUpdate:modelValue" && // omit onVnodeXXX hooks + !shared.isReservedProp(name)) { + hasHydrationEventBinding = true; + } + if (isEventHandler && shared.isReservedProp(name)) { + hasVnodeHook = true; + } + if (name === "ref") { + hasRef = true; + } + if (isEventHandler && value.type === 14) { + value = value.arguments[0]; + } + if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) { + return; + } + if (name === "class") { + hasClassBinding = true; + } else if (name === "style") { + hasStyleBinding = true; + } else if (name !== "ref" && name !== "key" && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) { + dynamicPropNames.push(name); + } + } else { + hasDynamicKeys = true; + } + }; + for (let i = 0; i < props.length; i++) { + const prop = props[i]; + if (prop.type === 6) { + const { loc, name, nameLoc, value } = prop; + let isStatic = true; + if (name === "ref") { + hasRef = true; + pushRefVForMarker(); + if (value && context.inline) { + const binding = context.bindingMetadata[value.content]; + if (binding === "setup-let" || binding === "setup-ref" || binding === "setup-maybe-ref") { + isStatic = false; + properties.push( + createObjectProperty( + createSimpleExpression("ref_key", true), + createSimpleExpression(value.content, true, value.loc) + ) + ); + } + } + } + if (name === "is" && (isComponentTag(tag) || value && value.content.startsWith("vue:") || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + properties.push( + createObjectProperty( + createSimpleExpression(name, true, nameLoc), + createSimpleExpression( + value ? value.content : "", + isStatic, + value ? value.loc : loc + ) + ) + ); + } else { + const { name, arg, exp, loc, modifiers } = prop; + const isVBind = name === "bind"; + const isVOn = name === "on"; + if (name === "slot") { + if (!isComponent) { + context.onError( + createCompilerError(40, loc) + ); + } + continue; + } + if (name === "once" || name === "memo") { + continue; + } + if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled( + "COMPILER_IS_ON_ELEMENT", + context + ))) { + continue; + } + if (isVOn && ssr) { + continue; + } + if (isVBind && isStaticArgOf(arg, "key")) { + shouldUseBlock = true; + } + if (isVOn && hasChildren && arg && isStaticExp(arg) && shared.camelize(arg.content) === "vue:beforeUpdate") { + shouldUseBlock = true; + isBlockRequired = true; + } + if (isVBind && isStaticArgOf(arg, "ref")) { + pushRefVForMarker(); + } + if (!arg && (isVBind || isVOn)) { + hasDynamicKeys = true; + if (exp) { + if (isVBind) { + { + pushMergeArg(); + if (isCompatEnabled( + "COMPILER_V_BIND_OBJECT_ORDER", + context + )) { + mergeArgs.unshift(exp); + continue; + } + } + pushRefVForMarker(); + pushMergeArg(); + mergeArgs.push(exp); + } else { + pushMergeArg({ + type: 14, + loc, + callee: context.helper(TO_HANDLERS), + arguments: isComponent ? [exp] : [exp, `true`] + }); + } + } else { + context.onError( + createCompilerError( + isVBind ? 34 : 35, + loc + ) + ); + } + continue; + } + if (isVBind && modifiers.some((mod) => mod.content === "prop")) { + patchFlag |= 32; + } + const directiveTransform = context.directiveTransforms[name]; + if (directiveTransform) { + const { props: props2, needRuntime } = directiveTransform(prop, node, context); + !ssr && props2.forEach(analyzePatchFlag); + if (isVOn && arg && !isStaticExp(arg)) { + pushMergeArg(createObjectExpression(props2, elementLoc)); + } else { + properties.push(...props2); + } + if (needRuntime) { + runtimeDirectives.push(prop); + if (shared.isSymbol(needRuntime)) { + directiveImportMap.set(prop, needRuntime); + } + } + } else if (!shared.isBuiltInDirective(name)) { + runtimeDirectives.push(prop); + if (hasChildren) { + shouldUseBlock = true; + isBlockRequired = true; + } + } + } + } + let propsExpression = void 0; + if (mergeArgs.length) { + pushMergeArg(); + if (mergeArgs.length > 1) { + propsExpression = createCallExpression( + context.helper(MERGE_PROPS), + mergeArgs, + elementLoc + ); + } else { + propsExpression = mergeArgs[0]; + } + } else if (properties.length) { + propsExpression = createObjectExpression( + dedupeProperties(properties), + elementLoc + ); + } + if (hasDynamicKeys) { + patchFlag |= 16; + } else { + if (hasClassBinding && !isComponent) { + patchFlag |= 2; + } + if (hasStyleBinding && !isComponent) { + patchFlag |= 4; + } + if (dynamicPropNames.length) { + patchFlag |= 8; + } + if (hasHydrationEventBinding) { + patchFlag |= 32; + } + } + const needsPatch = (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0); + if (!shouldUseBlock && needsPatch) { + patchFlag |= 512; + } + if (!context.inSSR && propsExpression) { + switch (propsExpression.type) { + case 15: + let classKeyIndex = -1; + let styleKeyIndex = -1; + let hasDynamicKey = false; + for (let i = 0; i < propsExpression.properties.length; i++) { + const key = propsExpression.properties[i].key; + if (isStaticExp(key)) { + if (key.content === "class") { + classKeyIndex = i; + } else if (key.content === "style") { + styleKeyIndex = i; + } + } else if (!key.isHandlerKey) { + hasDynamicKey = true; + } + } + const classProp = propsExpression.properties[classKeyIndex]; + const styleProp = propsExpression.properties[styleKeyIndex]; + if (!hasDynamicKey) { + if (classProp && !isStaticExp(classProp.value)) { + classProp.value = createCallExpression( + context.helper(NORMALIZE_CLASS), + [classProp.value] + ); + } + if (styleProp && // the static style is compiled into an object, + // so use `hasStyleBinding` to ensure that it is a dynamic style binding + (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist, + // v-bind:style with static literal object + styleProp.value.type === 17)) { + styleProp.value = createCallExpression( + context.helper(NORMALIZE_STYLE), + [styleProp.value] + ); + } + } else { + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [propsExpression] + ); + } + break; + case 14: + break; + default: + propsExpression = createCallExpression( + context.helper(NORMALIZE_PROPS), + [ + createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [ + propsExpression + ]) + ] + ); + break; + } + } + return { + props: propsExpression, + directives: runtimeDirectives, + patchFlag, + dynamicPropNames, + shouldUseBlock, + needsPatch, + isBlockRequired + }; +} +function dedupeProperties(properties) { + const knownProps = /* @__PURE__ */ new Map(); + const deduped = []; + for (let i = 0; i < properties.length; i++) { + const prop = properties[i]; + if (prop.key.type === 8 || !prop.key.isStatic) { + deduped.push(prop); + continue; + } + const name = prop.key.content; + const existing = knownProps.get(name); + if (existing) { + if (name === "style" || name === "class" || shared.isOn(name)) { + mergeAsArray(existing, prop); + } + } else { + knownProps.set(name, prop); + deduped.push(prop); + } + } + return deduped; +} +function mergeAsArray(existing, incoming) { + if (existing.value.type === 17) { + existing.value.elements.push(incoming.value); + } else { + existing.value = createArrayExpression( + [existing.value, incoming.value], + existing.loc + ); + } +} +function buildDirectiveArgs(dir, context) { + const dirArgs = []; + const runtime = directiveImportMap.get(dir); + if (runtime) { + dirArgs.push(context.helperString(runtime)); + } else { + const fromSetup = resolveSetupReference("v-" + dir.name, context); + if (fromSetup) { + dirArgs.push(fromSetup); + } else { + context.helper(RESOLVE_DIRECTIVE); + context.directives.add(dir.name); + dirArgs.push(toValidAssetId(dir.name, `directive`)); + } + } + const { loc } = dir; + if (dir.exp) dirArgs.push(dir.exp); + if (dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(dir.arg); + } + if (Object.keys(dir.modifiers).length) { + if (!dir.arg) { + if (!dir.exp) { + dirArgs.push(`void 0`); + } + dirArgs.push(`void 0`); + } + const trueExpression = createSimpleExpression(`true`, false, loc); + dirArgs.push( + createObjectExpression( + dir.modifiers.map( + (modifier) => createObjectProperty(modifier, trueExpression) + ), + loc + ) + ); + } + return createArrayExpression(dirArgs, dir.loc); +} +function stringifyDynamicPropNames(props) { + let propsNamesString = `[`; + for (let i = 0, l = props.length; i < l; i++) { + propsNamesString += JSON.stringify(props[i]); + if (i < l - 1) propsNamesString += ", "; + } + return propsNamesString + `]`; +} +function isComponentTag(tag) { + return tag === "component" || tag === "Component"; +} + +const transformSlotOutlet = (node, context) => { + if (isSlotOutlet(node)) { + const { children, loc } = node; + const { slotName, slotProps } = processSlotOutlet(node, context); + const slotArgs = [ + context.prefixIdentifiers ? `_ctx.$slots` : `$slots`, + slotName, + "{}", + "undefined", + "true" + ]; + let expectedLen = 2; + if (slotProps) { + slotArgs[2] = slotProps; + expectedLen = 3; + } + if (children.length) { + slotArgs[3] = createFunctionExpression([], children, false, false, loc); + expectedLen = 4; + } + if (context.scopeId && !context.slotted) { + expectedLen = 5; + } + slotArgs.splice(expectedLen); + node.codegenNode = createCallExpression( + context.helper(RENDER_SLOT), + slotArgs, + loc + ); + } +}; +function processSlotOutlet(node, context) { + let slotName = `"default"`; + let slotProps = void 0; + const nonNameProps = []; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + if (p.value) { + if (p.name === "name") { + slotName = JSON.stringify(p.value.content); + } else { + p.name = shared.camelize(p.name); + nonNameProps.push(p); + } + } + } else { + if (p.name === "bind" && isStaticArgOf(p.arg, "name")) { + if (p.exp) { + slotName = p.exp; + } else if (p.arg && p.arg.type === 4) { + const name = shared.camelize(p.arg.content); + slotName = p.exp = createSimpleExpression(name, false, p.arg.loc); + { + slotName = p.exp = processExpression(p.exp, context); + } + } + } else { + if (p.name === "bind" && p.arg && isStaticExp(p.arg)) { + p.arg.content = shared.camelize(p.arg.content); + } + nonNameProps.push(p); + } + } + } + if (nonNameProps.length > 0) { + const { props, directives } = buildProps( + node, + context, + nonNameProps, + false, + false + ); + slotProps = props; + if (directives.length) { + context.onError( + createCompilerError( + 36, + directives[0].loc + ) + ); + } + } + return { + slotName, + slotProps + }; +} + +const transformOn = (dir, node, context, augmentor) => { + const { loc, modifiers, arg } = dir; + if (!dir.exp && !modifiers.length) { + context.onError(createCompilerError(35, loc)); + } + let eventName; + if (arg.type === 4) { + if (arg.isStatic) { + let rawName = arg.content; + if (rawName.startsWith("vue:")) { + rawName = `vnode-${rawName.slice(4)}`; + } + const eventString = node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? ( + // for non-element and vnode lifecycle event listeners, auto convert + // it to camelCase. See issue #2249 + shared.toHandlerKey(shared.camelize(rawName)) + ) : ( + // preserve case for plain element listeners that have uppercase + // letters, as these may be custom elements' custom events + `on:${rawName}` + ); + eventName = createSimpleExpression(eventString, true, arg.loc); + } else { + eventName = createCompoundExpression([ + `${context.helperString(TO_HANDLER_KEY)}(`, + arg, + `)` + ]); + } + } else { + eventName = arg; + eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`); + eventName.children.push(`)`); + } + let exp = dir.exp; + if (exp && !exp.content.trim()) { + exp = void 0; + } + let shouldCache = context.cacheHandlers && !exp && !context.inVOnce; + if (exp) { + const isMemberExp = isMemberExpression(exp, context); + const isInlineStatement = !(isMemberExp || isFnExpression(exp, context)); + const hasMultipleStatements = exp.content.includes(`;`); + if (context.prefixIdentifiers) { + isInlineStatement && context.addIdentifiers(`$event`); + exp = dir.exp = processExpression( + exp, + context, + false, + hasMultipleStatements + ); + isInlineStatement && context.removeIdentifiers(`$event`); + shouldCache = context.cacheHandlers && // unnecessary to cache inside v-once + !context.inVOnce && // runtime constants don't need to be cached + // (this is analyzed by compileScript in SFC <script setup>) + !(exp.type === 4 && exp.constType > 0) && // #1541 bail if this is a member exp handler passed to a component - + // we need to use the original function to preserve arity, + // e.g. <transition> relies on checking cb.length to determine + // transition end handling. Inline function is ok since its arity + // is preserved even when cached. + !(isMemberExp && node.tagType === 1) && // bail if the function references closure variables (v-for, v-slot) + // it must be passed fresh to avoid stale values. + !hasScopeRef(exp, context.identifiers); + if (shouldCache && isMemberExp) { + if (exp.type === 4) { + exp.content = `${exp.content} && ${exp.content}(...args)`; + } else { + exp.children = [...exp.children, ` && `, ...exp.children, `(...args)`]; + } + } + } + if (isInlineStatement || shouldCache && isMemberExp) { + exp = createCompoundExpression([ + `${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? ` +//@ts-ignore +` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`, + exp, + hasMultipleStatements ? `}` : `)` + ]); + } + } + let ret = { + props: [ + createObjectProperty( + eventName, + exp || createSimpleExpression(`() => {}`, false, loc) + ) + ] + }; + if (augmentor) { + ret = augmentor(ret); + } + if (shouldCache) { + ret.props[0].value = context.cache(ret.props[0].value); + } + ret.props.forEach((p) => p.key.isHandlerKey = true); + return ret; +}; + +const transformBind = (dir, _node, context) => { + const { modifiers, loc } = dir; + const arg = dir.arg; + let { exp } = dir; + if (exp && exp.type === 4 && !exp.content.trim()) { + { + context.onError( + createCompilerError(34, loc) + ); + return { + props: [ + createObjectProperty(arg, createSimpleExpression("", true, loc)) + ] + }; + } + } + if (arg.type !== 4) { + arg.children.unshift(`(`); + arg.children.push(`) || ""`); + } else if (!arg.isStatic) { + arg.content = arg.content ? `${arg.content} || ""` : `""`; + } + if (modifiers.some((mod) => mod.content === "camel")) { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = shared.camelize(arg.content); + } else { + arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`; + } + } else { + arg.children.unshift(`${context.helperString(CAMELIZE)}(`); + arg.children.push(`)`); + } + } + if (!context.inSSR) { + if (modifiers.some((mod) => mod.content === "prop")) { + injectPrefix(arg, "."); + } + if (modifiers.some((mod) => mod.content === "attr")) { + injectPrefix(arg, "^"); + } + } + return { + props: [createObjectProperty(arg, exp)] + }; +}; +const injectPrefix = (arg, prefix) => { + if (arg.type === 4) { + if (arg.isStatic) { + arg.content = prefix + arg.content; + } else { + arg.content = `\`${prefix}\${${arg.content}}\``; + } + } else { + arg.children.unshift(`'${prefix}' + (`); + arg.children.push(`)`); + } +}; + +const transformText = (node, context) => { + if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) { + return () => { + const children = node.children; + let currentContainer = void 0; + let hasText = false; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child)) { + hasText = true; + for (let j = i + 1; j < children.length; j++) { + const next = children[j]; + if (isText$1(next)) { + if (!currentContainer) { + currentContainer = children[i] = createCompoundExpression( + [child], + child.loc + ); + } + currentContainer.children.push(` + `, next); + children.splice(j, 1); + j--; + } else { + currentContainer = void 0; + break; + } + } + } + } + if (!hasText || // if this is a plain element with a single text child, leave it + // as-is since the runtime has dedicated fast path for this by directly + // setting textContent of the element. + // for component root it's always normalized anyway. + children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756 + // custom directives can potentially add DOM elements arbitrarily, + // we need to avoid setting textContent of the element at runtime + // to avoid accidentally overwriting the DOM elements added + // by the user through custom directives. + !node.props.find( + (p) => p.type === 7 && !context.directiveTransforms[p.name] + ) && // in compat mode, <template> tags with no special directives + // will be rendered as a fragment so its children must be + // converted into vnodes. + !(node.tag === "template"))) { + return; + } + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isText$1(child) || child.type === 8) { + const callArgs = []; + if (child.type !== 2 || child.content !== " ") { + callArgs.push(child); + } + if (!context.ssr && getConstantType(child, context) === 0) { + callArgs.push( + 1 + (``) + ); + } + children[i] = { + type: 12, + content: child, + loc: child.loc, + codegenNode: createCallExpression( + context.helper(CREATE_TEXT), + callArgs + ) + }; + } + } + }; + } +}; + +const seen$1 = /* @__PURE__ */ new WeakSet(); +const transformOnce = (node, context) => { + if (node.type === 1 && findDir(node, "once", true)) { + if (seen$1.has(node) || context.inVOnce || context.inSSR) { + return; + } + seen$1.add(node); + context.inVOnce = true; + context.helper(SET_BLOCK_TRACKING); + return () => { + context.inVOnce = false; + const cur = context.currentNode; + if (cur.codegenNode) { + cur.codegenNode = context.cache( + cur.codegenNode, + true, + true + ); + } + }; + } +}; + +const transformModel = (dir, node, context) => { + const { exp, arg } = dir; + if (!exp) { + context.onError( + createCompilerError(41, dir.loc) + ); + return createTransformProps(); + } + const rawExp = exp.loc.source.trim(); + const expString = exp.type === 4 ? exp.content : rawExp; + const bindingType = context.bindingMetadata[rawExp]; + if (bindingType === "props" || bindingType === "props-aliased") { + context.onError(createCompilerError(44, exp.loc)); + return createTransformProps(); + } + if (bindingType === "literal-const" || bindingType === "setup-const") { + context.onError(createCompilerError(45, exp.loc)); + return createTransformProps(); + } + const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref"); + if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) { + context.onError( + createCompilerError(42, exp.loc) + ); + return createTransformProps(); + } + if (context.prefixIdentifiers && isSimpleIdentifier(expString) && context.identifiers[expString]) { + context.onError( + createCompilerError(43, exp.loc) + ); + return createTransformProps(); + } + const propName = arg ? arg : createSimpleExpression("modelValue", true); + const eventName = arg ? isStaticExp(arg) ? `onUpdate:${shared.camelize(arg.content)}` : createCompoundExpression(['"onUpdate:" + ', arg]) : `onUpdate:modelValue`; + let assignmentExp; + const eventArg = context.isTS ? `($event: any)` : `$event`; + if (maybeRef) { + if (bindingType === "setup-ref") { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event)` + ]); + } else { + const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`; + assignmentExp = createCompoundExpression([ + `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`, + createSimpleExpression(rawExp, false, exp.loc), + `).value = $event : ${altAssignment})` + ]); + } + } else { + assignmentExp = createCompoundExpression([ + `${eventArg} => ((`, + exp, + `) = $event)` + ]); + } + const props = [ + // modelValue: foo + createObjectProperty(propName, dir.exp), + // "onUpdate:modelValue": $event => (foo = $event) + createObjectProperty(eventName, assignmentExp) + ]; + if (context.prefixIdentifiers && !context.inVOnce && context.cacheHandlers && !hasScopeRef(exp, context.identifiers)) { + props[1].value = context.cache(props[1].value); + } + if (dir.modifiers.length && node.tagType === 1) { + const modifiers = dir.modifiers.map((m) => m.content).map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `); + const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + "Modifiers"']) : `modelModifiers`; + props.push( + createObjectProperty( + modifiersKey, + createSimpleExpression( + `{ ${modifiers} }`, + false, + dir.loc, + 2 + ) + ) + ); + } + return createTransformProps(props); +}; +function createTransformProps(props = []) { + return { props }; +} + +const validDivisionCharRE = /[\w).+\-_$\]]/; +const transformFilter = (node, context) => { + if (!isCompatEnabled("COMPILER_FILTERS", context)) { + return; + } + if (node.type === 5) { + rewriteFilter(node.content, context); + } else if (node.type === 1) { + node.props.forEach((prop) => { + if (prop.type === 7 && prop.name !== "for" && prop.exp) { + rewriteFilter(prop.exp, context); + } + }); + } +}; +function rewriteFilter(node, context) { + if (node.type === 4) { + parseFilter(node, context); + } else { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (typeof child !== "object") continue; + if (child.type === 4) { + parseFilter(child, context); + } else if (child.type === 8) { + rewriteFilter(child, context); + } else if (child.type === 5) { + rewriteFilter(child.content, context); + } + } + } +} +function parseFilter(node, context) { + const exp = node.content; + let inSingle = false; + let inDouble = false; + let inTemplateString = false; + let inRegex = false; + let curly = 0; + let square = 0; + let paren = 0; + let lastFilterIndex = 0; + let c, prev, i, expression, filters = []; + for (i = 0; i < exp.length; i++) { + prev = c; + c = exp.charCodeAt(i); + if (inSingle) { + if (c === 39 && prev !== 92) inSingle = false; + } else if (inDouble) { + if (c === 34 && prev !== 92) inDouble = false; + } else if (inTemplateString) { + if (c === 96 && prev !== 92) inTemplateString = false; + } else if (inRegex) { + if (c === 47 && prev !== 92) inRegex = false; + } else if (c === 124 && // pipe + exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) { + if (expression === void 0) { + lastFilterIndex = i + 1; + expression = exp.slice(0, i).trim(); + } else { + pushFilter(); + } + } else { + switch (c) { + case 34: + inDouble = true; + break; + // " + case 39: + inSingle = true; + break; + // ' + case 96: + inTemplateString = true; + break; + // ` + case 40: + paren++; + break; + // ( + case 41: + paren--; + break; + // ) + case 91: + square++; + break; + // [ + case 93: + square--; + break; + // ] + case 123: + curly++; + break; + // { + case 125: + curly--; + break; + } + if (c === 47) { + let j = i - 1; + let p; + for (; j >= 0; j--) { + p = exp.charAt(j); + if (p !== " ") break; + } + if (!p || !validDivisionCharRE.test(p)) { + inRegex = true; + } + } + } + } + if (expression === void 0) { + expression = exp.slice(0, i).trim(); + } else if (lastFilterIndex !== 0) { + pushFilter(); + } + function pushFilter() { + filters.push(exp.slice(lastFilterIndex, i).trim()); + lastFilterIndex = i + 1; + } + if (filters.length) { + for (i = 0; i < filters.length; i++) { + expression = wrapFilter(expression, filters[i], context); + } + node.content = expression; + node.ast = void 0; + } +} +function wrapFilter(exp, filter, context) { + context.helper(RESOLVE_FILTER); + const i = filter.indexOf("("); + if (i < 0) { + context.filters.add(filter); + return `${toValidAssetId(filter, "filter")}(${exp})`; + } else { + const name = filter.slice(0, i); + const args = filter.slice(i + 1); + context.filters.add(name); + return `${toValidAssetId(name, "filter")}(${exp}${args !== ")" ? "," + args : args}`; + } +} + +const seen = /* @__PURE__ */ new WeakSet(); +const transformMemo = (node, context) => { + if (node.type === 1) { + const dir = findDir(node, "memo"); + if (!dir || seen.has(node) || context.inSSR) { + return; + } + seen.add(node); + return () => { + const codegenNode = node.codegenNode || context.currentNode.codegenNode; + if (codegenNode && codegenNode.type === 13) { + if (node.tagType !== 1) { + convertToBlock(codegenNode, context); + } + node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [ + dir.exp, + createFunctionExpression(void 0, codegenNode), + `_cache`, + String(context.cached.length) + ]); + context.cached.push(null); + } + }; + } +}; + +const transformVBindShorthand = (node, context) => { + if (node.type === 1) { + for (const prop of node.props) { + if (prop.type === 7 && prop.name === "bind" && (!prop.exp || // #13930 :foo in in-DOM templates will be parsed into :foo="" by browser + false) && prop.arg) { + const arg = prop.arg; + if (arg.type !== 4 || !arg.isStatic) { + context.onError( + createCompilerError( + 53, + arg.loc + ) + ); + prop.exp = createSimpleExpression("", true, arg.loc); + } else { + const propName = shared.camelize(arg.content); + if (validFirstIdentCharRE.test(propName[0]) || // allow hyphen first char for https://github.com/vuejs/language-tools/pull/3424 + propName[0] === "-") { + prop.exp = createSimpleExpression(propName, false, arg.loc); + } + } + } + } + } +}; + +function getBaseTransformPreset(prefixIdentifiers) { + return [ + [ + transformVBindShorthand, + transformOnce, + transformIf, + transformMemo, + transformFor, + ...[transformFilter] , + ...prefixIdentifiers ? [ + // order is important + trackVForSlotScopes, + transformExpression + ] : [], + transformSlotOutlet, + transformElement, + trackSlotScopes, + transformText + ], + { + on: transformOn, + bind: transformBind, + model: transformModel + } + ]; +} +function baseCompile(source, options = {}) { + const onError = options.onError || defaultOnError; + const isModuleMode = options.mode === "module"; + const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode; + if (!prefixIdentifiers && options.cacheHandlers) { + onError(createCompilerError(50)); + } + if (options.scopeId && !isModuleMode) { + onError(createCompilerError(51)); + } + const resolvedOptions = shared.extend({}, options, { + prefixIdentifiers + }); + const ast = shared.isString(source) ? baseParse(source, resolvedOptions) : source; + const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(prefixIdentifiers); + if (options.isTS) { + const { expressionPlugins } = options; + if (!expressionPlugins || !expressionPlugins.includes("typescript")) { + options.expressionPlugins = [...expressionPlugins || [], "typescript"]; + } + } + transform( + ast, + shared.extend({}, resolvedOptions, { + nodeTransforms: [ + ...nodeTransforms, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: shared.extend( + {}, + directiveTransforms, + options.directiveTransforms || {} + // user transforms + ) + }) + ); + return generate(ast, resolvedOptions); +} + +const BindingTypes = { + "DATA": "data", + "PROPS": "props", + "PROPS_ALIASED": "props-aliased", + "SETUP_LET": "setup-let", + "SETUP_CONST": "setup-const", + "SETUP_REACTIVE_CONST": "setup-reactive-const", + "SETUP_MAYBE_REF": "setup-maybe-ref", + "SETUP_REF": "setup-ref", + "OPTIONS": "options", + "LITERAL_CONST": "literal-const" +}; + +const noopDirectiveTransform = () => ({ props: [] }); + +exports.generateCodeFrame = shared.generateCodeFrame; +exports.BASE_TRANSITION = BASE_TRANSITION; +exports.BindingTypes = BindingTypes; +exports.CAMELIZE = CAMELIZE; +exports.CAPITALIZE = CAPITALIZE; +exports.CREATE_BLOCK = CREATE_BLOCK; +exports.CREATE_COMMENT = CREATE_COMMENT; +exports.CREATE_ELEMENT_BLOCK = CREATE_ELEMENT_BLOCK; +exports.CREATE_ELEMENT_VNODE = CREATE_ELEMENT_VNODE; +exports.CREATE_SLOTS = CREATE_SLOTS; +exports.CREATE_STATIC = CREATE_STATIC; +exports.CREATE_TEXT = CREATE_TEXT; +exports.CREATE_VNODE = CREATE_VNODE; +exports.CompilerDeprecationTypes = CompilerDeprecationTypes; +exports.ConstantTypes = ConstantTypes; +exports.ElementTypes = ElementTypes; +exports.ErrorCodes = ErrorCodes; +exports.FRAGMENT = FRAGMENT; +exports.GUARD_REACTIVE_PROPS = GUARD_REACTIVE_PROPS; +exports.IS_MEMO_SAME = IS_MEMO_SAME; +exports.IS_REF = IS_REF; +exports.KEEP_ALIVE = KEEP_ALIVE; +exports.MERGE_PROPS = MERGE_PROPS; +exports.NORMALIZE_CLASS = NORMALIZE_CLASS; +exports.NORMALIZE_PROPS = NORMALIZE_PROPS; +exports.NORMALIZE_STYLE = NORMALIZE_STYLE; +exports.Namespaces = Namespaces; +exports.NodeTypes = NodeTypes; +exports.OPEN_BLOCK = OPEN_BLOCK; +exports.POP_SCOPE_ID = POP_SCOPE_ID; +exports.PUSH_SCOPE_ID = PUSH_SCOPE_ID; +exports.RENDER_LIST = RENDER_LIST; +exports.RENDER_SLOT = RENDER_SLOT; +exports.RESOLVE_COMPONENT = RESOLVE_COMPONENT; +exports.RESOLVE_DIRECTIVE = RESOLVE_DIRECTIVE; +exports.RESOLVE_DYNAMIC_COMPONENT = RESOLVE_DYNAMIC_COMPONENT; +exports.RESOLVE_FILTER = RESOLVE_FILTER; +exports.SET_BLOCK_TRACKING = SET_BLOCK_TRACKING; +exports.SUSPENSE = SUSPENSE; +exports.TELEPORT = TELEPORT; +exports.TO_DISPLAY_STRING = TO_DISPLAY_STRING; +exports.TO_HANDLERS = TO_HANDLERS; +exports.TO_HANDLER_KEY = TO_HANDLER_KEY; +exports.TS_NODE_TYPES = TS_NODE_TYPES; +exports.UNREF = UNREF; +exports.WITH_CTX = WITH_CTX; +exports.WITH_DIRECTIVES = WITH_DIRECTIVES; +exports.WITH_MEMO = WITH_MEMO; +exports.advancePositionWithClone = advancePositionWithClone; +exports.advancePositionWithMutation = advancePositionWithMutation; +exports.assert = assert; +exports.baseCompile = baseCompile; +exports.baseParse = baseParse; +exports.buildDirectiveArgs = buildDirectiveArgs; +exports.buildProps = buildProps; +exports.buildSlots = buildSlots; +exports.checkCompatEnabled = checkCompatEnabled; +exports.convertToBlock = convertToBlock; +exports.createArrayExpression = createArrayExpression; +exports.createAssignmentExpression = createAssignmentExpression; +exports.createBlockStatement = createBlockStatement; +exports.createCacheExpression = createCacheExpression; +exports.createCallExpression = createCallExpression; +exports.createCompilerError = createCompilerError; +exports.createCompoundExpression = createCompoundExpression; +exports.createConditionalExpression = createConditionalExpression; +exports.createForLoopParams = createForLoopParams; +exports.createFunctionExpression = createFunctionExpression; +exports.createIfStatement = createIfStatement; +exports.createInterpolation = createInterpolation; +exports.createObjectExpression = createObjectExpression; +exports.createObjectProperty = createObjectProperty; +exports.createReturnStatement = createReturnStatement; +exports.createRoot = createRoot; +exports.createSequenceExpression = createSequenceExpression; +exports.createSimpleExpression = createSimpleExpression; +exports.createStructuralDirectiveTransform = createStructuralDirectiveTransform; +exports.createTemplateLiteral = createTemplateLiteral; +exports.createTransformContext = createTransformContext; +exports.createVNodeCall = createVNodeCall; +exports.errorMessages = errorMessages; +exports.extractIdentifiers = extractIdentifiers; +exports.findDir = findDir; +exports.findProp = findProp; +exports.forAliasRE = forAliasRE; +exports.generate = generate; +exports.getBaseTransformPreset = getBaseTransformPreset; +exports.getConstantType = getConstantType; +exports.getMemoedVNodeCall = getMemoedVNodeCall; +exports.getVNodeBlockHelper = getVNodeBlockHelper; +exports.getVNodeHelper = getVNodeHelper; +exports.hasDynamicKeyVBind = hasDynamicKeyVBind; +exports.hasScopeRef = hasScopeRef; +exports.helperNameMap = helperNameMap; +exports.injectProp = injectProp; +exports.isAllWhitespace = isAllWhitespace; +exports.isCommentOrWhitespace = isCommentOrWhitespace; +exports.isCoreComponent = isCoreComponent; +exports.isFnExpression = isFnExpression; +exports.isFnExpressionBrowser = isFnExpressionBrowser; +exports.isFnExpressionNode = isFnExpressionNode; +exports.isFunctionType = isFunctionType; +exports.isInDestructureAssignment = isInDestructureAssignment; +exports.isInNewExpression = isInNewExpression; +exports.isMemberExpression = isMemberExpression; +exports.isMemberExpressionBrowser = isMemberExpressionBrowser; +exports.isMemberExpressionNode = isMemberExpressionNode; +exports.isReferencedIdentifier = isReferencedIdentifier; +exports.isSimpleIdentifier = isSimpleIdentifier; +exports.isSlotOutlet = isSlotOutlet; +exports.isStaticArgOf = isStaticArgOf; +exports.isStaticExp = isStaticExp; +exports.isStaticProperty = isStaticProperty; +exports.isStaticPropertyKey = isStaticPropertyKey; +exports.isTemplateNode = isTemplateNode; +exports.isText = isText$1; +exports.isVPre = isVPre; +exports.isVSlot = isVSlot; +exports.isWhitespaceText = isWhitespaceText; +exports.locStub = locStub; +exports.noopDirectiveTransform = noopDirectiveTransform; +exports.processExpression = processExpression; +exports.processFor = processFor; +exports.processIf = processIf; +exports.processSlotOutlet = processSlotOutlet; +exports.registerRuntimeHelpers = registerRuntimeHelpers; +exports.resolveComponentType = resolveComponentType; +exports.stringifyExpression = stringifyExpression; +exports.toValidAssetId = toValidAssetId; +exports.trackSlotScopes = trackSlotScopes; +exports.trackVForSlotScopes = trackVForSlotScopes; +exports.transform = transform; +exports.transformBind = transformBind; +exports.transformElement = transformElement; +exports.transformExpression = transformExpression; +exports.transformModel = transformModel; +exports.transformOn = transformOn; +exports.transformVBindShorthand = transformVBindShorthand; +exports.traverseNode = traverseNode; +exports.unwrapTSNode = unwrapTSNode; +exports.validFirstIdentCharRE = validFirstIdentCharRE; +exports.walkBlockDeclarations = walkBlockDeclarations; +exports.walkFunctionParams = walkFunctionParams; +exports.walkIdentifiers = walkIdentifiers; +exports.warnDeprecation = warnDeprecation; diff --git a/apps/web/.output/server/node_modules/@vue/compiler-core/package.json b/apps/web/.output/server/node_modules/@vue/compiler-core/package.json new file mode 100644 index 0000000..1604c9d --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-core/package.json @@ -0,0 +1,58 @@ +{ + "name": "@vue/compiler-core", + "version": "3.5.44", + "description": "@vue/compiler-core", + "main": "index.js", + "module": "dist/compiler-core.esm-bundler.js", + "types": "dist/compiler-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-core.d.ts", + "node": { + "production": "./dist/compiler-core.cjs.prod.js", + "development": "./dist/compiler-core.cjs.js", + "default": "./dist/compiler-core.cjs.prod.js" + }, + "module": "./dist/compiler-core.esm-bundler.js", + "import": "./dist/compiler-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueCompilerCore", + "compat": true, + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme", + "dependencies": { + "@babel/parser": "^7.29.9", + "@vue/shared": "3.5.44", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.2" + }, + "devDependencies": { + "@babel/types": "^7.29.8" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js new file mode 100644 index 0000000..d06e194 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js @@ -0,0 +1,729 @@ +/** +* @vue/compiler-dom v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerCore = require('@vue/compiler-core'); +var shared = require('@vue/shared'); + +const V_MODEL_RADIO = /* @__PURE__ */ Symbol(``); +const V_MODEL_CHECKBOX = /* @__PURE__ */ Symbol( + `` +); +const V_MODEL_TEXT = /* @__PURE__ */ Symbol(``); +const V_MODEL_SELECT = /* @__PURE__ */ Symbol( + `` +); +const V_MODEL_DYNAMIC = /* @__PURE__ */ Symbol( + `` +); +const V_ON_WITH_MODIFIERS = /* @__PURE__ */ Symbol( + `` +); +const V_ON_WITH_KEYS = /* @__PURE__ */ Symbol( + `` +); +const V_SHOW = /* @__PURE__ */ Symbol(``); +const TRANSITION = /* @__PURE__ */ Symbol(``); +const TRANSITION_GROUP = /* @__PURE__ */ Symbol( + `` +); +compilerCore.registerRuntimeHelpers({ + [V_MODEL_RADIO]: `vModelRadio`, + [V_MODEL_CHECKBOX]: `vModelCheckbox`, + [V_MODEL_TEXT]: `vModelText`, + [V_MODEL_SELECT]: `vModelSelect`, + [V_MODEL_DYNAMIC]: `vModelDynamic`, + [V_ON_WITH_MODIFIERS]: `withModifiers`, + [V_ON_WITH_KEYS]: `withKeys`, + [V_SHOW]: `vShow`, + [TRANSITION]: `Transition`, + [TRANSITION_GROUP]: `TransitionGroup` +}); + +const parserOptions = { + parseMode: "html", + isVoidTag: shared.isVoidTag, + isNativeTag: (tag) => shared.isHTMLTag(tag) || shared.isSVGTag(tag) || shared.isMathMLTag(tag), + isPreTag: (tag) => tag === "pre", + isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea", + decodeEntities: void 0, + isBuiltInComponent: (tag) => { + if (tag === "Transition" || tag === "transition") { + return TRANSITION; + } else if (tag === "TransitionGroup" || tag === "transition-group") { + return TRANSITION_GROUP; + } + }, + // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher + getNamespace(tag, parent, rootNamespace) { + let ns = parent ? parent.ns : rootNamespace; + if (parent && ns === 2) { + if (parent.tag === "annotation-xml") { + if (tag === "svg") { + return 1; + } + if (parent.props.some( + (a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml") + )) { + ns = 0; + } + } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") { + ns = 0; + } + } else if (parent && ns === 1) { + if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") { + ns = 0; + } + } + if (ns === 0) { + if (tag === "svg") { + return 1; + } + if (tag === "math") { + return 2; + } + } + return ns; + } +}; + +const transformStyle = (node) => { + if (node.type === 1) { + node.props.forEach((p, i) => { + if (p.type === 6 && p.name === "style" && p.value) { + node.props[i] = { + type: 7, + name: `bind`, + arg: compilerCore.createSimpleExpression(`style`, true, p.loc), + exp: parseInlineCSS(p.value.content, p.loc), + modifiers: [], + loc: p.loc + }; + } + }); + } +}; +const parseInlineCSS = (cssText, loc) => { + const normalized = shared.parseStringStyle(cssText); + return compilerCore.createSimpleExpression( + JSON.stringify(normalized), + false, + loc, + 3 + ); +}; + +function createDOMCompilerError(code, loc) { + return compilerCore.createCompilerError( + code, + loc, + DOMErrorMessages + ); +} +const DOMErrorCodes = { + "X_V_HTML_NO_EXPRESSION": 54, + "54": "X_V_HTML_NO_EXPRESSION", + "X_V_HTML_WITH_CHILDREN": 55, + "55": "X_V_HTML_WITH_CHILDREN", + "X_V_TEXT_NO_EXPRESSION": 56, + "56": "X_V_TEXT_NO_EXPRESSION", + "X_V_TEXT_WITH_CHILDREN": 57, + "57": "X_V_TEXT_WITH_CHILDREN", + "X_V_MODEL_ON_INVALID_ELEMENT": 58, + "58": "X_V_MODEL_ON_INVALID_ELEMENT", + "X_V_MODEL_ARG_ON_ELEMENT": 59, + "59": "X_V_MODEL_ARG_ON_ELEMENT", + "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 60, + "60": "X_V_MODEL_ON_FILE_INPUT_ELEMENT", + "X_V_MODEL_UNNECESSARY_VALUE": 61, + "61": "X_V_MODEL_UNNECESSARY_VALUE", + "X_V_SHOW_NO_EXPRESSION": 62, + "62": "X_V_SHOW_NO_EXPRESSION", + "X_TRANSITION_INVALID_CHILDREN": 63, + "63": "X_TRANSITION_INVALID_CHILDREN", + "X_IGNORED_SIDE_EFFECT_TAG": 64, + "64": "X_IGNORED_SIDE_EFFECT_TAG", + "__EXTEND_POINT__": 65, + "65": "__EXTEND_POINT__" +}; +const DOMErrorMessages = { + [54]: `v-html is missing expression.`, + [55]: `v-html will override element children.`, + [56]: `v-text is missing expression.`, + [57]: `v-text will override element children.`, + [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`, + [59]: `v-model argument is not supported on plain elements.`, + [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`, + [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`, + [62]: `v-show is missing expression.`, + [63]: `<Transition> expects exactly one child element or component.`, + [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.` +}; + +const transformVHtml = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(54, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(55, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`innerHTML`, true, loc), + exp || compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformVText = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(56, loc) + ); + } + if (node.children.length) { + context.onError( + createDOMCompilerError(57, loc) + ); + node.children.length = 0; + } + return { + props: [ + compilerCore.createObjectProperty( + compilerCore.createSimpleExpression(`textContent`, true), + exp ? compilerCore.getConstantType(exp, context) > 0 ? exp : compilerCore.createCallExpression( + context.helperString(compilerCore.TO_DISPLAY_STRING), + [exp], + loc + ) : compilerCore.createSimpleExpression("", true) + ) + ] + }; +}; + +const transformModel = (dir, node, context) => { + const baseResult = compilerCore.transformModel(dir, node, context); + if (!baseResult.props.length || node.tagType === 1) { + return baseResult; + } + if (dir.arg) { + context.onError( + createDOMCompilerError( + 59, + dir.arg.loc + ) + ); + } + const { tag } = node; + const isCustomElement = context.isCustomElement(tag); + if (tag === "input" || tag === "textarea" || tag === "select" || isCustomElement) { + let directiveToUse = V_MODEL_TEXT; + let isInvalidType = false; + if (tag === "input" || isCustomElement) { + const type = compilerCore.findProp(node, `type`); + if (type) { + if (type.type === 7) { + directiveToUse = V_MODEL_DYNAMIC; + } else if (type.value) { + switch (type.value.content) { + case "radio": + directiveToUse = V_MODEL_RADIO; + break; + case "checkbox": + directiveToUse = V_MODEL_CHECKBOX; + break; + case "file": + isInvalidType = true; + context.onError( + createDOMCompilerError( + 60, + dir.loc + ) + ); + break; + } + } + } else if (compilerCore.hasDynamicKeyVBind(node)) { + directiveToUse = V_MODEL_DYNAMIC; + } else ; + } else if (tag === "select") { + directiveToUse = V_MODEL_SELECT; + } else ; + if (!isInvalidType) { + baseResult.needRuntime = context.helper(directiveToUse); + } + } else { + context.onError( + createDOMCompilerError( + 58, + dir.loc + ) + ); + } + baseResult.props = baseResult.props.filter( + (p) => !(p.key.type === 4 && p.key.content === "modelValue") + ); + return baseResult; +}; + +const isEventOptionModifier = /* @__PURE__ */ shared.makeMap(`passive,once,capture`); +const isNonKeyModifier = /* @__PURE__ */ shared.makeMap( + // event propagation management + `stop,prevent,self,ctrl,shift,alt,meta,exact,middle` +); +const maybeKeyModifier = /* @__PURE__ */ shared.makeMap("left,right"); +const isKeyboardEvent = /* @__PURE__ */ shared.makeMap(`onkeyup,onkeydown,onkeypress`); +const resolveModifiers = (key, modifiers, context, loc) => { + const keyModifiers = []; + const nonKeyModifiers = []; + const eventOptionModifiers = []; + for (let i = 0; i < modifiers.length; i++) { + const modifier = modifiers[i].content; + if (modifier === "native" && compilerCore.checkCompatEnabled( + "COMPILER_V_ON_NATIVE", + context, + loc + )) { + eventOptionModifiers.push(modifier); + } else if (isEventOptionModifier(modifier)) { + eventOptionModifiers.push(modifier); + } else { + if (maybeKeyModifier(modifier)) { + if (compilerCore.isStaticExp(key)) { + if (isKeyboardEvent(key.content.toLowerCase())) { + keyModifiers.push(modifier); + } else { + nonKeyModifiers.push(modifier); + } + } else { + keyModifiers.push(modifier); + nonKeyModifiers.push(modifier); + } + } else { + if (isNonKeyModifier(modifier)) { + nonKeyModifiers.push(modifier); + } else { + keyModifiers.push(modifier); + } + } + } + } + return { + keyModifiers, + nonKeyModifiers, + eventOptionModifiers + }; +}; +const transformClick = (key, event) => { + const isStaticClick = compilerCore.isStaticExp(key) && key.content.toLowerCase() === "onclick"; + return isStaticClick ? compilerCore.createSimpleExpression(event, true) : key.type !== 4 ? compilerCore.createCompoundExpression([ + `(`, + key, + `) === "onClick" ? "${event}" : (`, + key, + `)` + ]) : key; +}; +const transformOn = (dir, node, context) => { + return compilerCore.transformOn(dir, node, context, (baseResult) => { + const { modifiers } = dir; + if (!modifiers.length) return baseResult; + let { key, value: handlerExp } = baseResult.props[0]; + const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc); + if (nonKeyModifiers.includes("right")) { + key = transformClick(key, `onContextmenu`); + } + if (nonKeyModifiers.includes("middle")) { + key = transformClick(key, `onMouseup`); + } + if (nonKeyModifiers.length) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [ + handlerExp, + JSON.stringify(nonKeyModifiers) + ]); + } + if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard + (!compilerCore.isStaticExp(key) || isKeyboardEvent(key.content.toLowerCase()))) { + handlerExp = compilerCore.createCallExpression(context.helper(V_ON_WITH_KEYS), [ + handlerExp, + JSON.stringify(keyModifiers) + ]); + } + if (eventOptionModifiers.length) { + const modifierPostfix = eventOptionModifiers.map(shared.capitalize).join(""); + key = compilerCore.isStaticExp(key) ? compilerCore.createSimpleExpression(`${key.content}${modifierPostfix}`, true) : compilerCore.createCompoundExpression([`(`, key, `) + "${modifierPostfix}"`]); + } + return { + props: [compilerCore.createObjectProperty(key, handlerExp)] + }; + }); +}; + +const transformShow = (dir, node, context) => { + const { exp, loc } = dir; + if (!exp) { + context.onError( + createDOMCompilerError(62, loc) + ); + } + return { + props: [], + needRuntime: context.helper(V_SHOW) + }; +}; + +const transformTransition = (node, context) => { + if (node.type === 1 && node.tagType === 1) { + const component = context.isBuiltInComponent(node.tag); + if (component === TRANSITION) { + return () => { + if (!node.children.length) { + return; + } + hasMultipleChildren(node); + const child = node.children[0]; + if (child.type === 1) { + for (const p of child.props) { + if (p.type === 7 && p.name === "show") { + node.props.push({ + type: 6, + name: "persisted", + nameLoc: node.loc, + value: void 0, + loc: node.loc + }); + } + } + } + }; + } + } +}; +function hasMultipleChildren(node) { + const children = node.children = node.children.filter( + (c) => !compilerCore.isCommentOrWhitespace(c) + ); + const child = children[0]; + return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren); +} + +const expReplaceRE = /__VUE_EXP_START__(.*?)__VUE_EXP_END__/g; +const stringifyStatic = (children, context, parent) => { + if (context.scopes.vSlot > 0) { + return; + } + const isParentCached = parent.type === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 20; + let nc = 0; + let ec = 0; + const currentChunk = []; + const stringifyCurrentChunk = (currentIndex) => { + if (nc >= 20 || ec >= 5) { + const staticCall = compilerCore.createCallExpression(context.helper(compilerCore.CREATE_STATIC), [ + JSON.stringify( + currentChunk.map((node) => stringifyNode(node, context)).join("") + ).replace(expReplaceRE, `" + $1 + "`), + // the 2nd argument indicates the number of DOM nodes this static vnode + // will insert / hydrate + String(currentChunk.length) + ]); + const deleteCount = currentChunk.length - 1; + if (isParentCached) { + children.splice( + currentIndex - currentChunk.length, + currentChunk.length, + // @ts-expect-error + staticCall + ); + } else { + currentChunk[0].codegenNode.value = staticCall; + if (currentChunk.length > 1) { + children.splice(currentIndex - currentChunk.length + 1, deleteCount); + const cacheIndex = context.cached.indexOf( + currentChunk[currentChunk.length - 1].codegenNode + ); + if (cacheIndex > -1) { + for (let i2 = cacheIndex; i2 < context.cached.length; i2++) { + const c = context.cached[i2]; + if (c) c.index -= deleteCount; + } + context.cached.splice(cacheIndex - deleteCount + 1, deleteCount); + } + } + } + return deleteCount; + } + return 0; + }; + let i = 0; + for (; i < children.length; i++) { + const child = children[i]; + const isCached = isParentCached || getCachedNode(child); + if (isCached) { + const result = analyzeNode(child); + if (result) { + nc += result[0]; + ec += result[1]; + currentChunk.push(child); + continue; + } + } + i -= stringifyCurrentChunk(i); + nc = 0; + ec = 0; + currentChunk.length = 0; + } + stringifyCurrentChunk(i); +}; +const getCachedNode = (node) => { + if ((node.type === 1 && node.tagType === 0 || node.type === 12) && node.codegenNode && node.codegenNode.type === 20) { + return node.codegenNode; + } +}; +const dataAriaRE = /^(?:data|aria)-/; +const isStringifiableAttr = (name, ns) => { + return (ns === 0 ? shared.isKnownHtmlAttr(name) : ns === 1 ? shared.isKnownSvgAttr(name) : ns === 2 ? shared.isKnownMathMLAttr(name) : false) || dataAriaRE.test(name); +}; +const isNonStringifiable = /* @__PURE__ */ shared.makeMap( + `caption,thead,tr,th,tbody,td,tfoot,colgroup,col` +); +function analyzeNode(node) { + if (node.type === 1 && isNonStringifiable(node.tag)) { + return false; + } + if (node.type === 1 && compilerCore.findDir(node, "once", true)) { + return false; + } + if (node.type === 12) { + return [1, 0]; + } + let nc = 1; + let ec = node.props.length > 0 ? 1 : 0; + let bailed = false; + const bail = () => { + bailed = true; + return false; + }; + function walk(node2) { + const isOptionTag = node2.tag === "option" && node2.ns === 0; + for (let i = 0; i < node2.props.length; i++) { + const p = node2.props[i]; + if (p.type === 6 && !isStringifiableAttr(p.name, node2.ns)) { + return bail(); + } + if (p.type === 7 && p.name === "bind") { + if (p.arg && (p.arg.type === 8 || p.arg.isStatic && !isStringifiableAttr(p.arg.content, node2.ns))) { + return bail(); + } + if (p.exp && (p.exp.type === 8 || p.exp.constType < 3)) { + return bail(); + } + if (isOptionTag && compilerCore.isStaticArgOf(p.arg, "value") && p.exp && !p.exp.isStatic) { + return bail(); + } + } + } + for (let i = 0; i < node2.children.length; i++) { + nc++; + const child = node2.children[i]; + if (child.type === 1) { + if (child.props.length > 0) { + ec++; + } + walk(child); + if (bailed) { + return false; + } + } + } + return true; + } + return walk(node) ? [nc, ec] : false; +} +function stringifyNode(node, context) { + if (shared.isString(node)) { + return node; + } + if (shared.isSymbol(node)) { + return ``; + } + switch (node.type) { + case 1: + return stringifyElement(node, context); + case 2: + return shared.escapeHtml(node.content); + case 3: + return `<!--${shared.escapeHtml(node.content)}-->`; + case 5: + return shared.escapeHtml(shared.toDisplayString(evaluateConstant(node.content))); + case 8: + return shared.escapeHtml(evaluateConstant(node)); + case 12: + return stringifyNode(node.content, context); + default: + return ""; + } +} +function stringifyElement(node, context) { + var _a; + let res = `<${node.tag}`; + let innerHTML = void 0; + for (let i = 0; i < node.props.length; i++) { + const p = node.props[i]; + if (p.type === 6) { + res += ` ${p.name}`; + if (p.value) { + res += `="${shared.escapeHtml(p.value.content)}"`; + } + } else if (p.type === 7) { + if (p.name === "bind") { + const exp = p.exp; + if (exp.content[0] === "_") { + res += ` ${p.arg.content}="__VUE_EXP_START__${exp.content}__VUE_EXP_END__"`; + continue; + } + if ((shared.isBooleanAttr(p.arg.content) || p.arg.content === "hidden") && exp.content === "false") { + continue; + } + let evaluated = evaluateConstant(exp); + if (evaluated != null) { + const arg = p.arg && p.arg.content; + if (arg === "hidden" && typeof evaluated === "number" && !shared.includeBooleanAttr(evaluated)) { + continue; + } + if (arg === "class") { + evaluated = shared.normalizeClass(evaluated); + } else if (arg === "style") { + evaluated = shared.stringifyStyle(shared.normalizeStyle(evaluated)); + } + res += ` ${p.arg.content}="${shared.escapeHtml( + evaluated + )}"`; + } + } else if (p.name === "html") { + innerHTML = (_a = evaluateConstant(p.exp)) != null ? _a : ""; + } else if (p.name === "text") { + innerHTML = shared.escapeHtml( + shared.toDisplayString(evaluateConstant(p.exp)) + ); + } + } + } + if (context.scopeId) { + res += ` ${context.scopeId}`; + } + res += `>`; + if (innerHTML !== void 0) { + res += innerHTML; + } else { + for (let i = 0; i < node.children.length; i++) { + res += stringifyNode(node.children[i], context); + } + } + if (!shared.isVoidTag(node.tag)) { + res += `</${node.tag}>`; + } + return res; +} +function evaluateConstant(exp) { + if (exp.type === 4) { + return new Function(`return (${exp.content})`)(); + } else { + let res = ``; + exp.children.forEach((c) => { + if (shared.isString(c) || shared.isSymbol(c)) { + return; + } + if (c.type === 2) { + res += c.content; + } else if (c.type === 5) { + res += shared.toDisplayString(evaluateConstant(c.content)); + } else { + res += evaluateConstant(c); + } + }); + return res; + } +} + +const ignoreSideEffectTags = (node, context) => { + if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) { + context.removeNode(); + } +}; + +const DOMNodeTransforms = [ + transformStyle, + transformTransition, + ...[] +]; +const DOMDirectiveTransforms = { + cloak: compilerCore.noopDirectiveTransform, + html: transformVHtml, + text: transformVText, + model: transformModel, + // override compiler-core + on: transformOn, + // override compiler-core + show: transformShow +}; +function compile(src, options = {}) { + return compilerCore.baseCompile( + src, + shared.extend({}, parserOptions, options, { + nodeTransforms: [ + // ignore <script> and <tag> + // this is not put inside DOMNodeTransforms because that list is used + // by compiler-ssr to generate vnode fallback branches + ignoreSideEffectTags, + ...DOMNodeTransforms, + ...options.nodeTransforms || [] + ], + directiveTransforms: shared.extend( + {}, + DOMDirectiveTransforms, + options.directiveTransforms || {} + ), + transformHoist: stringifyStatic + }) + ); +} +function parse(template, options = {}) { + return compilerCore.baseParse(template, shared.extend({}, parserOptions, options)); +} + +exports.DOMDirectiveTransforms = DOMDirectiveTransforms; +exports.DOMErrorCodes = DOMErrorCodes; +exports.DOMErrorMessages = DOMErrorMessages; +exports.DOMNodeTransforms = DOMNodeTransforms; +exports.TRANSITION = TRANSITION; +exports.TRANSITION_GROUP = TRANSITION_GROUP; +exports.V_MODEL_CHECKBOX = V_MODEL_CHECKBOX; +exports.V_MODEL_DYNAMIC = V_MODEL_DYNAMIC; +exports.V_MODEL_RADIO = V_MODEL_RADIO; +exports.V_MODEL_SELECT = V_MODEL_SELECT; +exports.V_MODEL_TEXT = V_MODEL_TEXT; +exports.V_ON_WITH_KEYS = V_ON_WITH_KEYS; +exports.V_ON_WITH_MODIFIERS = V_ON_WITH_MODIFIERS; +exports.V_SHOW = V_SHOW; +exports.compile = compile; +exports.createDOMCompilerError = createDOMCompilerError; +exports.parse = parse; +exports.parserOptions = parserOptions; +exports.transformStyle = transformStyle; +Object.keys(compilerCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = compilerCore[k]; +}); diff --git a/apps/web/.output/server/node_modules/@vue/compiler-dom/package.json b/apps/web/.output/server/node_modules/@vue/compiler-dom/package.json new file mode 100644 index 0000000..5bd839e --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-dom/package.json @@ -0,0 +1,57 @@ +{ + "name": "@vue/compiler-dom", + "version": "3.5.44", + "description": "@vue/compiler-dom", + "main": "index.js", + "module": "dist/compiler-dom.esm-bundler.js", + "types": "dist/compiler-dom.d.ts", + "unpkg": "dist/compiler-dom.global.js", + "jsdelivr": "dist/compiler-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/compiler-dom.d.ts", + "node": { + "production": "./dist/compiler-dom.cjs.prod.js", + "development": "./dist/compiler-dom.cjs.js", + "default": "./dist/compiler-dom.cjs.prod.js" + }, + "module": "./dist/compiler-dom.esm-bundler.js", + "import": "./dist/compiler-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueCompilerDOM", + "compat": true, + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-dom#readme", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/compiler-core": "3.5.44" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js b/apps/web/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js new file mode 100644 index 0000000..fa2bb8d --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js @@ -0,0 +1,1420 @@ +/** +* @vue/compiler-ssr v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var shared = require('@vue/shared'); + +const SSR_INTERPOLATE = /* @__PURE__ */ Symbol(`ssrInterpolate`); +const SSR_RENDER_VNODE = /* @__PURE__ */ Symbol(`ssrRenderVNode`); +const SSR_RENDER_COMPONENT = /* @__PURE__ */ Symbol(`ssrRenderComponent`); +const SSR_RENDER_SLOT = /* @__PURE__ */ Symbol(`ssrRenderSlot`); +const SSR_RENDER_SLOT_INNER = /* @__PURE__ */ Symbol(`ssrRenderSlotInner`); +const SSR_RENDER_CLASS = /* @__PURE__ */ Symbol(`ssrRenderClass`); +const SSR_RENDER_STYLE = /* @__PURE__ */ Symbol(`ssrRenderStyle`); +const SSR_RENDER_ATTRS = /* @__PURE__ */ Symbol(`ssrRenderAttrs`); +const SSR_RENDER_ATTR = /* @__PURE__ */ Symbol(`ssrRenderAttr`); +const SSR_RENDER_DYNAMIC_ATTR = /* @__PURE__ */ Symbol(`ssrRenderDynamicAttr`); +const SSR_RENDER_LIST = /* @__PURE__ */ Symbol(`ssrRenderList`); +const SSR_INCLUDE_BOOLEAN_ATTR = /* @__PURE__ */ Symbol( + `ssrIncludeBooleanAttr` +); +const SSR_LOOSE_EQUAL = /* @__PURE__ */ Symbol(`ssrLooseEqual`); +const SSR_LOOSE_CONTAIN = /* @__PURE__ */ Symbol(`ssrLooseContain`); +const SSR_RENDER_DYNAMIC_MODEL = /* @__PURE__ */ Symbol( + `ssrRenderDynamicModel` +); +const SSR_GET_DYNAMIC_MODEL_PROPS = /* @__PURE__ */ Symbol( + `ssrGetDynamicModelProps` +); +const SSR_RENDER_TELEPORT = /* @__PURE__ */ Symbol(`ssrRenderTeleport`); +const SSR_RENDER_SUSPENSE = /* @__PURE__ */ Symbol(`ssrRenderSuspense`); +const SSR_GET_DIRECTIVE_PROPS = /* @__PURE__ */ Symbol(`ssrGetDirectiveProps`); +const ssrHelpers = { + [SSR_INTERPOLATE]: `ssrInterpolate`, + [SSR_RENDER_VNODE]: `ssrRenderVNode`, + [SSR_RENDER_COMPONENT]: `ssrRenderComponent`, + [SSR_RENDER_SLOT]: `ssrRenderSlot`, + [SSR_RENDER_SLOT_INNER]: `ssrRenderSlotInner`, + [SSR_RENDER_CLASS]: `ssrRenderClass`, + [SSR_RENDER_STYLE]: `ssrRenderStyle`, + [SSR_RENDER_ATTRS]: `ssrRenderAttrs`, + [SSR_RENDER_ATTR]: `ssrRenderAttr`, + [SSR_RENDER_DYNAMIC_ATTR]: `ssrRenderDynamicAttr`, + [SSR_RENDER_LIST]: `ssrRenderList`, + [SSR_INCLUDE_BOOLEAN_ATTR]: `ssrIncludeBooleanAttr`, + [SSR_LOOSE_EQUAL]: `ssrLooseEqual`, + [SSR_LOOSE_CONTAIN]: `ssrLooseContain`, + [SSR_RENDER_DYNAMIC_MODEL]: `ssrRenderDynamicModel`, + [SSR_GET_DYNAMIC_MODEL_PROPS]: `ssrGetDynamicModelProps`, + [SSR_RENDER_TELEPORT]: `ssrRenderTeleport`, + [SSR_RENDER_SUSPENSE]: `ssrRenderSuspense`, + [SSR_GET_DIRECTIVE_PROPS]: `ssrGetDirectiveProps` +}; +compilerDom.registerRuntimeHelpers(ssrHelpers); + +const ssrTransformIf = compilerDom.createStructuralDirectiveTransform( + /^(?:if|else|else-if)$/, + compilerDom.processIf +); +function ssrProcessIf(node, context, disableNestedFragments = false, disableComment = false) { + const [rootBranch] = node.branches; + const ifStatement = compilerDom.createIfStatement( + rootBranch.condition, + processIfBranch(rootBranch, context, disableNestedFragments) + ); + context.pushStatement(ifStatement); + let currentIf = ifStatement; + for (let i = 1; i < node.branches.length; i++) { + const branch = node.branches[i]; + const branchBlockStatement = processIfBranch( + branch, + context, + disableNestedFragments + ); + if (branch.condition) { + currentIf = currentIf.alternate = compilerDom.createIfStatement( + branch.condition, + branchBlockStatement + ); + } else { + currentIf.alternate = branchBlockStatement; + } + } + if (!currentIf.alternate && !disableComment) { + currentIf.alternate = compilerDom.createBlockStatement([ + compilerDom.createCallExpression(`_push`, ["`<!---->`"]) + ]); + } +} +function processIfBranch(branch, context, disableNestedFragments = false) { + const { children } = branch; + const needFragmentWrapper = !disableNestedFragments && (children.length !== 1 || children[0].type !== 1) && // optimize away nested fragments when the only child is a ForNode + !(children.length === 1 && children[0].type === 11); + return processChildrenAsStatement(branch, context, needFragmentWrapper); +} + +const ssrTransformFor = compilerDom.createStructuralDirectiveTransform("for", compilerDom.processFor); +function ssrProcessFor(node, context, disableNestedFragments = false) { + const needFragmentWrapper = !disableNestedFragments && (node.children.length !== 1 || node.children[0].type !== 1); + const renderLoop = compilerDom.createFunctionExpression( + compilerDom.createForLoopParams(node.parseResult) + ); + renderLoop.body = processChildrenAsStatement( + node, + context, + needFragmentWrapper + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--[-->`); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_LIST), [ + node.source, + renderLoop + ]) + ); + if (!disableNestedFragments) { + context.pushStringPart(`<!--]-->`); + } +} + +const ssrTransformSlotOutlet = (node, context) => { + if (compilerDom.isSlotOutlet(node)) { + const { slotName, slotProps } = compilerDom.processSlotOutlet(node, context); + const args = [ + `_ctx.$slots`, + slotName, + slotProps || `{}`, + // fallback content placeholder. will be replaced in the process phase + `null`, + `_push`, + `_parent` + ]; + if (context.scopeId && context.slotted !== false) { + args.push(`"${context.scopeId}-s"`); + } + let method = SSR_RENDER_SLOT; + let parent = context.parent; + if (parent) { + const children = parent.children; + if (parent.type === 10) { + parent = context.grandParent; + } + let componentType; + if (parent.type === 1 && parent.tagType === 1 && ((componentType = compilerDom.resolveComponentType(parent, context, true)) === compilerDom.TRANSITION || componentType === compilerDom.TRANSITION_GROUP) && children.filter((c) => c.type === 1).length === 1) { + method = SSR_RENDER_SLOT_INNER; + if (!(context.scopeId && context.slotted !== false)) { + args.push("null"); + } + args.push("true"); + } + } + node.ssrCodegenNode = compilerDom.createCallExpression(context.helper(method), args); + } +}; +function ssrProcessSlotOutlet(node, context) { + const renderCall = node.ssrCodegenNode; + if (node.children.length) { + const fallbackRenderFn = compilerDom.createFunctionExpression([]); + fallbackRenderFn.body = processChildrenAsStatement(node, context); + renderCall.arguments[3] = fallbackRenderFn; + } + if (context.withSlotScopeId) { + const slotScopeId = renderCall.arguments[6]; + renderCall.arguments[6] = slotScopeId ? `${slotScopeId} + _scopeId` : `_scopeId`; + } + context.pushStatement(node.ssrCodegenNode); +} + +function createSSRCompilerError(code, loc) { + return compilerDom.createCompilerError(code, loc, SSRErrorMessages); +} +const SSRErrorMessages = { + [65]: `Unsafe attribute name for SSR.`, + [66]: `Missing the 'to' prop on teleport element.`, + [67]: `Invalid AST node during SSR transform.` +}; + +function ssrProcessTeleport(node, context) { + const targetProp = compilerDom.findProp(node, "to"); + if (!targetProp) { + context.onError( + createSSRCompilerError(66, node.loc) + ); + return; + } + let target; + if (targetProp.type === 6) { + target = targetProp.value && compilerDom.createSimpleExpression(targetProp.value.content, true); + } else { + target = targetProp.exp; + } + if (!target) { + context.onError( + createSSRCompilerError( + 66, + targetProp.loc + ) + ); + return; + } + const disabledProp = compilerDom.findProp( + node, + "disabled", + false, + true + /* allow empty */ + ); + const disabled = disabledProp ? disabledProp.type === 6 ? `true` : disabledProp.exp || `false` : `false`; + const contentRenderFn = compilerDom.createFunctionExpression( + [`_push`], + void 0, + // Body is added later + true, + // newline + false, + // isSlot + node.loc + ); + contentRenderFn.body = processChildrenAsStatement(node, context); + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_TELEPORT), [ + `_push`, + contentRenderFn, + target, + disabled, + `_parent` + ]) + ); +} + +const wipMap$3 = /* @__PURE__ */ new WeakMap(); +function ssrTransformSuspense(node, context) { + return () => { + if (node.children.length) { + const wipEntry = { + slotsExp: null, + // to be immediately set + wipSlots: [] + }; + wipMap$3.set(node, wipEntry); + wipEntry.slotsExp = compilerDom.buildSlots( + node, + context, + (_props, _vForExp, children, loc) => { + const fn = compilerDom.createFunctionExpression( + [], + void 0, + // no return, assign body later + true, + // newline + false, + // suspense slots are not treated as normal slots + loc + ); + wipEntry.wipSlots.push({ + fn, + children + }); + return fn; + } + ).slots; + } + }; +} +function ssrProcessSuspense(node, context) { + const wipEntry = wipMap$3.get(node); + if (!wipEntry) { + return; + } + const { slotsExp, wipSlots } = wipEntry; + for (let i = 0; i < wipSlots.length; i++) { + const slot = wipSlots[i]; + slot.fn.body = processChildrenAsStatement(slot, context); + } + context.pushStatement( + compilerDom.createCallExpression(context.helper(SSR_RENDER_SUSPENSE), [ + `_push`, + slotsExp + ]) + ); +} + +const rawChildrenMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformElement = (node, context) => { + if (node.type !== 1 || node.tagType !== 0) { + return; + } + return function ssrPostTransformElement() { + const openTag = [`<${node.tag}`]; + const needTagForRuntime = node.tag === "textarea" || node.tag.indexOf("-") > 0; + const hasDynamicVBind = compilerDom.hasDynamicKeyVBind(node); + const hasCustomDir = node.props.some( + (p) => p.type === 7 && !shared.isBuiltInDirective(p.name) + ); + const vShowPropIndex = node.props.findIndex( + (i) => i.type === 7 && i.name === "show" + ); + if (vShowPropIndex !== -1) { + const vShowProp = node.props[vShowPropIndex]; + node.props.splice(vShowPropIndex, 1); + node.props.push(vShowProp); + } + const needMergeProps = hasDynamicVBind || hasCustomDir; + if (needMergeProps) { + const { props, directives } = compilerDom.buildProps( + node, + context, + node.props, + false, + false, + true + ); + if (props || directives.length) { + const mergedProps = buildSSRProps(props, directives, context); + const propsExp = compilerDom.createCallExpression( + context.helper(SSR_RENDER_ATTRS), + [mergedProps] + ); + if (node.tag === "textarea") { + const existingText = node.children[0]; + if (!hasContentOverrideDirective(node) && (!existingText || existingText.type !== 5)) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"value" in ${tempId}`, false), + compilerDom.createSimpleExpression(`${tempId}.value`, false), + compilerDom.createSimpleExpression( + existingText ? existingText.content : ``, + true + ), + false + ) + ]) + ); + } + } else if (node.tag === "input") { + const vModel = findVModel(node); + if (vModel) { + const tempId = `_temp${context.temps++}`; + const tempExp = compilerDom.createSimpleExpression(tempId, false); + propsExp.arguments = [ + compilerDom.createSequenceExpression([ + compilerDom.createAssignmentExpression(tempExp, mergedProps), + compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), [ + tempExp, + compilerDom.createCallExpression( + context.helper(SSR_GET_DYNAMIC_MODEL_PROPS), + [ + tempExp, + // existing props + vModel.exp + // model + ] + ) + ]) + ]) + ]; + } + } else if (directives.length && !node.children.length) { + if (!hasContentOverrideDirective(node)) { + const tempId = `_temp${context.temps++}`; + propsExp.arguments = [ + compilerDom.createAssignmentExpression( + compilerDom.createSimpleExpression(tempId, false), + mergedProps + ) + ]; + rawChildrenMap.set( + node, + compilerDom.createConditionalExpression( + compilerDom.createSimpleExpression(`"textContent" in ${tempId}`, false), + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + compilerDom.createSimpleExpression(`${tempId}.textContent`, false) + ]), + compilerDom.createSimpleExpression(`${tempId}.innerHTML ?? ''`, false), + false + ) + ); + } + } + if (needTagForRuntime) { + propsExp.arguments.push(`"${node.tag}"`); + } + openTag.push(propsExp); + } + } + let dynamicClassBinding = void 0; + let staticClassBinding = void 0; + let dynamicStyleBinding = void 0; + for (let i = 0; i < node.props.length; i++) { + const prop = node.props[i]; + if (node.tag === "input" && isTrueFalseValue(prop)) { + continue; + } + if (prop.type === 7) { + if (prop.name === "html" && prop.exp) { + rawChildrenMap.set( + node, + compilerDom.createCompoundExpression([`(`, prop.exp, `) ?? ''`]) + ); + } else if (prop.name === "text" && prop.exp) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } else if (prop.name === "slot") { + context.onError( + compilerDom.createCompilerError(40, prop.loc) + ); + } else if (isTextareaWithValue(node, prop) && prop.exp) { + if (!needMergeProps) { + node.children = [compilerDom.createInterpolation(prop.exp, prop.loc)]; + } + } else if (!needMergeProps && prop.name !== "on") { + const directiveTransform = context.directiveTransforms[prop.name]; + if (directiveTransform) { + const { props, ssrTagParts } = directiveTransform( + prop, + node, + context + ); + if (ssrTagParts) { + openTag.push(...ssrTagParts); + } + for (let j = 0; j < props.length; j++) { + const { key, value } = props[j]; + if (compilerDom.isStaticExp(key)) { + let attrName = key.content; + if (attrName === "key" || attrName === "ref") { + continue; + } + if (attrName === "class") { + openTag.push( + ` class="`, + dynamicClassBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_CLASS), + [value] + ), + `"` + ); + } else if (attrName === "style") { + if (dynamicStyleBinding) { + mergeCall(dynamicStyleBinding, value); + } else { + openTag.push( + ` style="`, + dynamicStyleBinding = compilerDom.createCallExpression( + context.helper(SSR_RENDER_STYLE), + [value] + ), + `"` + ); + } + } else { + attrName = node.tag.indexOf("-") > 0 ? attrName : shared.propsToAttrMap[attrName] || attrName.toLowerCase(); + if (shared.isBooleanAttr(attrName)) { + openTag.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression( + context.helper(SSR_INCLUDE_BOOLEAN_ATTR), + [value] + ), + compilerDom.createSimpleExpression(" " + attrName, true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } else if (attrName === "hidden") { + openTag.push( + compilerDom.createCallExpression( + context.helper(SSR_RENDER_DYNAMIC_ATTR), + [key, value] + ) + ); + } else if (shared.isSSRSafeAttrName(attrName)) { + openTag.push( + compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTR), [ + key, + value + ]) + ); + } else { + context.onError( + createSSRCompilerError( + 65, + key.loc + ) + ); + } + } + } else { + const args = [key, value]; + if (needTagForRuntime) { + args.push(`"${node.tag}"`); + } + openTag.push( + compilerDom.createCallExpression( + context.helper(SSR_RENDER_DYNAMIC_ATTR), + args + ) + ); + } + } + } + } + } else { + const name = prop.name; + if (node.tag === "textarea" && name === "value" && prop.value) { + rawChildrenMap.set(node, shared.escapeHtml(prop.value.content)); + } else if (!needMergeProps) { + if (name === "key" || name === "ref") { + continue; + } + if (name === "class" && prop.value) { + staticClassBinding = JSON.stringify(prop.value.content); + } + openTag.push( + ` ${prop.name}` + (prop.value ? `="${shared.escapeHtml(prop.value.content)}"` : ``) + ); + } + } + } + if (dynamicClassBinding && staticClassBinding) { + mergeCall(dynamicClassBinding, staticClassBinding); + removeStaticBinding(openTag, "class"); + } + if (context.scopeId) { + openTag.push(` ${context.scopeId}`); + } + node.ssrCodegenNode = compilerDom.createTemplateLiteral(openTag); + }; +}; +function buildSSRProps(props, directives, context) { + let mergePropsArgs = []; + if (props) { + if (props.type === 14) { + mergePropsArgs = props.arguments; + } else { + mergePropsArgs.push(props); + } + } + if (directives.length) { + for (const dir of directives) { + mergePropsArgs.push( + compilerDom.createCallExpression(context.helper(SSR_GET_DIRECTIVE_PROPS), [ + `_ctx`, + ...compilerDom.buildDirectiveArgs(dir, context).elements + ]) + ); + } + } + return mergePropsArgs.length > 1 ? compilerDom.createCallExpression(context.helper(compilerDom.MERGE_PROPS), mergePropsArgs) : mergePropsArgs[0]; +} +function isTrueFalseValue(prop) { + if (prop.type === 7) { + return prop.name === "bind" && prop.arg && compilerDom.isStaticExp(prop.arg) && (prop.arg.content === "true-value" || prop.arg.content === "false-value"); + } else { + return prop.name === "true-value" || prop.name === "false-value"; + } +} +function isTextareaWithValue(node, prop) { + return !!(node.tag === "textarea" && prop.name === "bind" && compilerDom.isStaticArgOf(prop.arg, "value")); +} +function mergeCall(call, arg) { + const existing = call.arguments[0]; + if (existing.type === 17) { + existing.elements.push(arg); + } else { + call.arguments[0] = compilerDom.createArrayExpression([existing, arg]); + } +} +function removeStaticBinding(tag, binding) { + const regExp = new RegExp(`^ ${binding}=".+"$`); + const i = tag.findIndex((e) => typeof e === "string" && regExp.test(e)); + if (i > -1) { + tag.splice(i, 1); + } +} +function findVModel(node) { + return node.props.find( + (p) => p.type === 7 && p.name === "model" && p.exp + ); +} +function hasContentOverrideDirective(node) { + return !!compilerDom.findDir(node, "text") || !!compilerDom.findDir(node, "html"); +} +function ssrProcessElement(node, context) { + const isVoidTag = context.options.isVoidTag || shared.NO; + const elementsToAdd = node.ssrCodegenNode.elements; + for (let j = 0; j < elementsToAdd.length; j++) { + context.pushStringPart(elementsToAdd[j]); + } + if (context.withSlotScopeId) { + context.pushStringPart(compilerDom.createSimpleExpression(`_scopeId`, false)); + } + context.pushStringPart(`>`); + const rawChildren = rawChildrenMap.get(node); + if (rawChildren) { + context.pushStringPart(rawChildren); + } else if (node.children.length) { + processChildren(node, context); + } + if (!isVoidTag(node.tag)) { + context.pushStringPart(`</${node.tag}>`); + } +} + +const wipMap$2 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransitionGroup(node, context) { + return () => { + const tag = compilerDom.findProp(node, "tag"); + if (tag) { + const otherProps = node.props.filter((p) => p !== tag); + const { props, directives } = compilerDom.buildProps( + node, + context, + otherProps, + true, + false, + true + ); + let propsExp = null; + if (props || directives.length) { + propsExp = compilerDom.createCallExpression(context.helper(SSR_RENDER_ATTRS), [ + buildSSRProps(props, directives, context) + ]); + } + wipMap$2.set(node, { + tag, + propsExp, + scopeId: context.scopeId || null + }); + } + }; +} +function ssrProcessTransitionGroup(node, context) { + const entry = wipMap$2.get(node); + if (entry) { + const { tag, propsExp, scopeId } = entry; + if (tag.type === 7) { + context.pushStringPart(`<`); + context.pushStringPart(tag.exp); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren( + node, + context, + false, + /** + * TransitionGroup has the special runtime behavior of flattening and + * concatenating all children into a single fragment (in order for them to + * be patched using the same key map) so we need to account for that here + * by disabling nested fragment wrappers from being generated. + */ + true, + /** + * TransitionGroup filters out comment children at runtime and thus + * doesn't expect comments to be present during hydration. We need to + * account for that by disabling the empty comment that is otherwise + * rendered for a falsy v-if that has no v-else specified. (#6715) + */ + true + ); + context.pushStringPart(`</`); + context.pushStringPart(tag.exp); + context.pushStringPart(`>`); + } else { + context.pushStringPart(`<${tag.value.content}`); + if (propsExp) { + context.pushStringPart(propsExp); + } + if (scopeId) { + context.pushStringPart(` ${scopeId}`); + } + context.pushStringPart(`>`); + processChildren(node, context, false, true, true); + context.pushStringPart(`</${tag.value.content}>`); + } + } else { + processChildren(node, context, true, true, true); + } +} + +const wipMap$1 = /* @__PURE__ */ new WeakMap(); +function ssrTransformTransition(node, context) { + return () => { + const appear = compilerDom.findProp(node, "appear", false, true); + wipMap$1.set(node, !!appear); + }; +} +function ssrProcessTransition(node, context) { + node.children = node.children.filter((c) => c.type !== 3); + const appear = wipMap$1.get(node); + if (appear) { + context.pushStringPart(`<template>`); + processChildren(node, context, false, true); + context.pushStringPart(`</template>`); + } else { + processChildren(node, context, false, true); + } +} + +const wipMap = /* @__PURE__ */ new WeakMap(); +const WIP_SLOT = /* @__PURE__ */ Symbol(); +const componentTypeMap = /* @__PURE__ */ new WeakMap(); +const ssrTransformComponent = (node, context) => { + if (node.type !== 1 || node.tagType !== 1) { + return; + } + const component = compilerDom.resolveComponentType( + node, + context, + true + /* ssr */ + ); + const isDynamicComponent = shared.isObject(component) && component.callee === compilerDom.RESOLVE_DYNAMIC_COMPONENT; + componentTypeMap.set(node, component); + if (shared.isSymbol(component)) { + if (component === compilerDom.SUSPENSE) { + return ssrTransformSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrTransformTransitionGroup(node, context); + } else if (component === compilerDom.TRANSITION) { + return ssrTransformTransition(node); + } + return; + } + const vnodeBranches = []; + const clonedNode = clone(node); + return function ssrPostTransformComponent() { + if (clonedNode.children.length) { + compilerDom.buildSlots(clonedNode, context, (props, vFor, children) => { + vnodeBranches.push( + createVNodeSlotBranch(props, vFor, children, context) + ); + return compilerDom.createFunctionExpression(void 0); + }); + } + let propsExp = `null`; + if (node.props.length) { + const { props, directives } = compilerDom.buildProps( + node, + context, + void 0, + true, + isDynamicComponent + ); + if (props || directives.length) { + propsExp = buildSSRProps(props, directives, context); + } + } + const wipEntries = []; + wipMap.set(node, wipEntries); + const buildSSRSlotFn = (props, _vForExp, children, loc) => { + const param0 = props && compilerDom.stringifyExpression(props) || `_`; + const fn = compilerDom.createFunctionExpression( + [param0, `_push`, `_parent`, `_scopeId`], + void 0, + // no return, assign body later + true, + // newline + true, + // isSlot + loc + ); + wipEntries.push({ + type: WIP_SLOT, + fn, + children, + // also collect the corresponding vnode branch built earlier + vnodeBranch: vnodeBranches[wipEntries.length] + }); + return fn; + }; + const slots = node.children.length ? compilerDom.buildSlots(node, context, buildSSRSlotFn).slots : `null`; + if (typeof component !== "string") { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_VNODE), + [ + `_push`, + compilerDom.createCallExpression(context.helper(compilerDom.CREATE_VNODE), [ + component, + propsExp, + slots + ]), + `_parent` + ] + ); + } else { + node.ssrCodegenNode = compilerDom.createCallExpression( + context.helper(SSR_RENDER_COMPONENT), + [component, propsExp, slots, `_parent`] + ); + } + }; +}; +function ssrProcessComponent(node, context, parent) { + const component = componentTypeMap.get(node); + if (!node.ssrCodegenNode) { + if (component === compilerDom.TELEPORT) { + return ssrProcessTeleport(node, context); + } else if (component === compilerDom.SUSPENSE) { + return ssrProcessSuspense(node, context); + } else if (component === compilerDom.TRANSITION_GROUP) { + return ssrProcessTransitionGroup(node, context); + } else { + if (parent.type === WIP_SLOT) { + context.pushStringPart(``); + } + if (component === compilerDom.TRANSITION) { + return ssrProcessTransition(node, context); + } + processChildren(node, context); + } + } else { + const wipEntries = wipMap.get(node) || []; + for (let i = 0; i < wipEntries.length; i++) { + const { fn, vnodeBranch } = wipEntries[i]; + fn.body = compilerDom.createIfStatement( + compilerDom.createSimpleExpression(`_push`, false), + processChildrenAsStatement( + wipEntries[i], + context, + false, + true + ), + vnodeBranch + ); + } + if (context.withSlotScopeId) { + node.ssrCodegenNode.arguments.push(`_scopeId`); + } + if (typeof component === "string") { + context.pushStatement( + compilerDom.createCallExpression(`_push`, [node.ssrCodegenNode]) + ); + } else { + context.pushStatement(node.ssrCodegenNode); + } + } +} +const rawOptionsMap = /* @__PURE__ */ new WeakMap(); +const [baseNodeTransforms, baseDirectiveTransforms] = compilerDom.getBaseTransformPreset(true); +const vnodeNodeTransforms = [...baseNodeTransforms, ...compilerDom.DOMNodeTransforms]; +const vnodeDirectiveTransforms = { + ...baseDirectiveTransforms, + ...compilerDom.DOMDirectiveTransforms +}; +function createVNodeSlotBranch(slotProps, vFor, children, parentContext) { + const rawOptions = rawOptionsMap.get(parentContext.root); + const subOptions = { + ...rawOptions, + // overwrite with vnode-based transforms + nodeTransforms: [ + ...vnodeNodeTransforms, + ...rawOptions.nodeTransforms || [] + ], + directiveTransforms: { + ...vnodeDirectiveTransforms, + ...rawOptions.directiveTransforms || {} + } + }; + const wrapperProps = []; + if (slotProps) { + wrapperProps.push({ + type: 7, + name: "slot", + exp: slotProps, + arg: void 0, + modifiers: [], + loc: compilerDom.locStub + }); + } + if (vFor) { + wrapperProps.push(shared.extend({}, vFor)); + } + const wrapperNode = { + type: 1, + ns: 0, + tag: "template", + tagType: 3, + props: wrapperProps, + children, + loc: compilerDom.locStub, + codegenNode: void 0 + }; + subTransform(wrapperNode, subOptions, parentContext); + return compilerDom.createReturnStatement(children); +} +function subTransform(node, options, parentContext) { + const childRoot = compilerDom.createRoot([node]); + const childContext = compilerDom.createTransformContext(childRoot, options); + childContext.ssr = false; + childContext.scopes = { ...parentContext.scopes }; + childContext.identifiers = { ...parentContext.identifiers }; + childContext.imports = parentContext.imports; + compilerDom.traverseNode(childRoot, childContext); + ["helpers", "components", "directives"].forEach((key) => { + childContext[key].forEach((value, helperKey) => { + if (key === "helpers") { + const parentCount = parentContext.helpers.get(helperKey); + if (parentCount === void 0) { + parentContext.helpers.set(helperKey, value); + } else { + parentContext.helpers.set(helperKey, value + parentCount); + } + } else { + parentContext[key].add(value); + } + }); + }); +} +function clone(v) { + if (shared.isArray(v)) { + return v.map(clone); + } else if (shared.isPlainObject(v)) { + const res = {}; + for (const key in v) { + res[key] = clone(v[key]); + } + return res; + } else { + return v; + } +} + +function ssrCodegenTransform(ast, options) { + const context = createSSRTransformContext(ast, options); + if (options.ssrCssVars) { + const cssContext = compilerDom.createTransformContext(compilerDom.createRoot([]), options); + const varsExp = compilerDom.processExpression( + compilerDom.createSimpleExpression(options.ssrCssVars, false), + cssContext + ); + context.body.push( + compilerDom.createCompoundExpression([`const _cssVars = { style: `, varsExp, `}`]) + ); + Array.from(cssContext.helpers.keys()).forEach((helper) => { + ast.helpers.add(helper); + }); + } + const isFragment = ast.children.length > 1 && ast.children.some((c) => !compilerDom.isText(c)); + processChildren(ast, context, isFragment); + ast.codegenNode = compilerDom.createBlockStatement(context.body); + ast.ssrHelpers = Array.from( + /* @__PURE__ */ new Set([ + ...Array.from(ast.helpers).filter((h) => h in ssrHelpers), + ...context.helpers + ]) + ); + ast.helpers = new Set(Array.from(ast.helpers).filter((h) => !(h in ssrHelpers))); +} +function createSSRTransformContext(root, options, helpers = /* @__PURE__ */ new Set(), withSlotScopeId = false) { + const body = []; + let currentString = null; + return { + root, + options, + body, + helpers, + withSlotScopeId, + onError: options.onError || ((e) => { + throw e; + }), + helper(name) { + helpers.add(name); + return name; + }, + pushStringPart(part) { + if (!currentString) { + const currentCall = compilerDom.createCallExpression(`_push`); + body.push(currentCall); + currentString = compilerDom.createTemplateLiteral([]); + currentCall.arguments.push(currentString); + } + const bufferedElements = currentString.elements; + const lastItem = bufferedElements[bufferedElements.length - 1]; + if (shared.isString(part) && shared.isString(lastItem)) { + bufferedElements[bufferedElements.length - 1] += part; + } else { + bufferedElements.push(part); + } + }, + pushStatement(statement) { + currentString = null; + body.push(statement); + } + }; +} +function createChildContext(parent, withSlotScopeId = parent.withSlotScopeId) { + return createSSRTransformContext( + parent.root, + parent.options, + parent.helpers, + withSlotScopeId + ); +} +function processChildren(parent, context, asFragment = false, disableNestedFragments = false, disableComment = false) { + if (asFragment) { + context.pushStringPart(`<!--[-->`); + } + const { children } = parent; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + switch (child.type) { + case 1: + switch (child.tagType) { + case 0: + ssrProcessElement(child, context); + break; + case 1: + ssrProcessComponent(child, context, parent); + break; + case 2: + ssrProcessSlotOutlet(child, context); + break; + case 3: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck2 = child; + return exhaustiveCheck2; + } + break; + case 2: + context.pushStringPart(shared.escapeHtml(child.content)); + break; + case 3: + if (!disableComment) { + context.pushStringPart(`<!--${child.content}-->`); + } + break; + case 5: + context.pushStringPart( + compilerDom.createCallExpression(context.helper(SSR_INTERPOLATE), [ + child.content + ]) + ); + break; + case 9: + ssrProcessIf(child, context, disableNestedFragments, disableComment); + break; + case 11: + ssrProcessFor(child, context, disableNestedFragments); + break; + case 10: + break; + case 12: + case 8: + break; + default: + context.onError( + createSSRCompilerError( + 67, + child.loc + ) + ); + const exhaustiveCheck = child; + return exhaustiveCheck; + } + } + if (asFragment) { + context.pushStringPart(`<!--]-->`); + } +} +function processChildrenAsStatement(parent, parentContext, asFragment = false, withSlotScopeId = parentContext.withSlotScopeId) { + const childContext = createChildContext(parentContext, withSlotScopeId); + processChildren(parent, childContext, asFragment); + return compilerDom.createBlockStatement(childContext.body); +} + +const ssrTransformModel = (dir, node, context) => { + const model = dir.exp; + function checkDuplicatedValue() { + const value = compilerDom.findProp(node, "value"); + if (value) { + context.onError( + compilerDom.createDOMCompilerError( + 61, + value.loc + ) + ); + } + } + const processSelectChildren = (children) => { + children.forEach((child) => { + if (child.type === 1) { + processOption(child); + } else if (child.type === 11) { + processSelectChildren(child.children); + } else if (child.type === 9) { + child.branches.forEach((b) => processSelectChildren(b.children)); + } + }); + }; + function processOption(plainNode) { + if (plainNode.tag === "option") { + if (plainNode.props.findIndex((p) => p.name === "selected") === -1) { + const value = findValueBinding(plainNode); + plainNode.ssrCodegenNode.elements.push( + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(context.helper(SSR_INCLUDE_BOOLEAN_ATTR), [ + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]), + compilerDom.createSimpleExpression(" selected", true), + compilerDom.createSimpleExpression("", true), + false + ) + ); + } + } else if (plainNode.tag === "optgroup") { + processSelectChildren(plainNode.children); + } + } + if (node.tagType === 0) { + const res = { props: [] }; + if (node.tag === "input") { + const defaultProps = [ + // default value binding for text type inputs + compilerDom.createObjectProperty(`value`, model) + ]; + const type = compilerDom.findProp(node, "type"); + if (type) { + const value = findValueBinding(node); + if (type.type === 7) { + res.ssrTagParts = [ + compilerDom.createCallExpression(context.helper(SSR_RENDER_DYNAMIC_MODEL), [ + type.exp, + model, + value + ]) + ]; + } else if (type.value) { + switch (type.value.content) { + case "radio": + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]; + break; + case "checkbox": + const trueValueBinding = compilerDom.findProp(node, "true-value"); + if (trueValueBinding) { + const trueValue = trueValueBinding.type === 6 ? JSON.stringify(trueValueBinding.value.content) : trueValueBinding.exp; + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + trueValue + ]) + ) + ]; + } else { + res.props = [ + compilerDom.createObjectProperty( + `checked`, + compilerDom.createConditionalExpression( + compilerDom.createCallExpression(`Array.isArray`, [model]), + compilerDom.createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + model + ) + ) + ]; + } + break; + case "file": + context.onError( + compilerDom.createDOMCompilerError( + 60, + dir.loc + ) + ); + break; + default: + checkDuplicatedValue(); + res.props = defaultProps; + break; + } + } + } else if (compilerDom.hasDynamicKeyVBind(node)) ; else { + checkDuplicatedValue(); + res.props = defaultProps; + } + } else if (node.tag === "textarea") { + checkDuplicatedValue(); + node.children = [compilerDom.createInterpolation(model, model.loc)]; + } else if (node.tag === "select") { + processSelectChildren(node.children); + } else { + context.onError( + compilerDom.createDOMCompilerError( + 58, + dir.loc + ) + ); + } + return res; + } else { + return compilerDom.transformModel(dir, node, context); + } +}; +function findValueBinding(node) { + const valueBinding = compilerDom.findProp(node, "value"); + return valueBinding ? valueBinding.type === 7 ? valueBinding.exp : compilerDom.createSimpleExpression(valueBinding.value.content, true) : compilerDom.createSimpleExpression(`null`, false); +} + +const ssrTransformShow = (dir, node, context) => { + if (!dir.exp) { + context.onError( + compilerDom.createDOMCompilerError(62) + ); + } + return { + props: [ + compilerDom.createObjectProperty( + `style`, + compilerDom.createConditionalExpression( + dir.exp, + compilerDom.createSimpleExpression(`null`, false), + compilerDom.createObjectExpression([ + compilerDom.createObjectProperty( + `display`, + compilerDom.createSimpleExpression(`none`, true) + ) + ]), + false + ) + ) + ] + }; +}; + +const filterChild = (node) => node.children.filter((n) => !compilerDom.isCommentOrWhitespace(n)); +const hasSingleChild = (node) => filterChild(node).length === 1; +const ssrInjectFallthroughAttrs = (node, context) => { + if (node.type === 0) { + context.identifiers._attrs = 1; + } + if (node.type === 1 && node.tagType === 1 && (node.tag === "transition" || node.tag === "Transition" || node.tag === "KeepAlive" || node.tag === "keep-alive")) { + const rootChildren = filterChild(context.root); + if (rootChildren.length === 1 && rootChildren[0] === node) { + if (hasSingleChild(node)) { + injectFallthroughAttrs(node.children[0]); + } + return; + } + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10 && hasSingleChild(node)) { + let hasEncounteredIf = false; + for (const c of filterChild(parent)) { + if (c.type === 9 || c.type === 1 && compilerDom.findDir(c, "if")) { + if (hasEncounteredIf) return; + hasEncounteredIf = true; + } else if ( + // node before v-if + !hasEncounteredIf || // non else nodes + !(c.type === 1 && compilerDom.findDir(c, /else/, true)) + ) { + return; + } + } + injectFallthroughAttrs(node.children[0]); + } else if (hasSingleChild(parent)) { + injectFallthroughAttrs(node); + } +}; +function injectFallthroughAttrs(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_attrs`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } +} + +const ssrInjectCssVars = (node, context) => { + if (!context.ssrCssVars) { + return; + } + if (node.type === 0) { + context.identifiers._cssVars = 1; + } + const parent = context.parent; + if (!parent || parent.type !== 0) { + return; + } + if (node.type === 10) { + for (const child of node.children) { + injectCssVars(child); + } + } else { + injectCssVars(node); + } +}; +function injectCssVars(node) { + if (node.type === 1 && (node.tagType === 0 || node.tagType === 1) && !compilerDom.findDir(node, "for")) { + if (node.tag === "suspense" || node.tag === "Suspense") { + for (const child of node.children) { + if (child.type === 1 && child.tagType === 3) { + child.children.forEach(injectCssVars); + } else { + injectCssVars(child); + } + } + } else { + node.props.push({ + type: 7, + name: "bind", + arg: void 0, + exp: compilerDom.createSimpleExpression(`_cssVars`, false), + modifiers: [], + loc: compilerDom.locStub + }); + } + } +} + +function compile(source, options = {}) { + options = { + ...options, + ...compilerDom.parserOptions, + ssr: true, + inSSR: true, + scopeId: options.mode === "function" ? null : options.scopeId, + // always prefix since compiler-ssr doesn't have size concern + prefixIdentifiers: true, + // disable optimizations that are unnecessary for ssr + cacheHandlers: false, + hoistStatic: false + }; + const ast = typeof source === "string" ? compilerDom.baseParse(source, options) : source; + rawOptionsMap.set(ast, options); + compilerDom.transform(ast, { + ...options, + hoistStatic: false, + nodeTransforms: [ + compilerDom.transformVBindShorthand, + ssrTransformIf, + ssrTransformFor, + compilerDom.trackVForSlotScopes, + compilerDom.transformExpression, + ssrTransformSlotOutlet, + ssrInjectFallthroughAttrs, + ssrInjectCssVars, + ssrTransformElement, + ssrTransformComponent, + compilerDom.trackSlotScopes, + compilerDom.transformStyle, + ...options.nodeTransforms || [] + // user transforms + ], + directiveTransforms: { + // reusing core v-bind + bind: compilerDom.transformBind, + on: compilerDom.transformOn, + // model and show have dedicated SSR handling + model: ssrTransformModel, + show: ssrTransformShow, + // the following are ignored during SSR + // on: noopDirectiveTransform, + cloak: compilerDom.noopDirectiveTransform, + once: compilerDom.noopDirectiveTransform, + memo: compilerDom.noopDirectiveTransform, + ...options.directiveTransforms || {} + // user transforms + } + }); + ssrCodegenTransform(ast, options); + return compilerDom.generate(ast, options); +} + +exports.compile = compile; diff --git a/apps/web/.output/server/node_modules/@vue/compiler-ssr/package.json b/apps/web/.output/server/node_modules/@vue/compiler-ssr/package.json new file mode 100644 index 0000000..c5a3148 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/compiler-ssr/package.json @@ -0,0 +1,34 @@ +{ + "name": "@vue/compiler-ssr", + "version": "3.5.44", + "description": "@vue/compiler-ssr", + "main": "dist/compiler-ssr.cjs.js", + "types": "dist/compiler-ssr.d.ts", + "files": [ + "dist" + ], + "buildOptions": { + "prod": false, + "formats": [ + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/compiler-ssr" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-ssr#readme", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/compiler-dom": "3.5.44" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/devtools-api/dist/index-node.js b/apps/web/.output/server/node_modules/@vue/devtools-api/dist/index-node.js new file mode 100644 index 0000000..664f850 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/devtools-api/dist/index-node.js @@ -0,0 +1,13 @@ +//#region src/index-node.ts +function addCustomCommand() {} +function addCustomTab() {} +function onDevToolsClientConnected(_fn) { + return new Promise(() => {}); +} +function onDevToolsConnected(_fn) { + return new Promise(() => {}); +} +function removeCustomCommand() {} +function setupDevToolsPlugin(_pluginDescriptor, _setupFn) {} +//#endregion +export { addCustomCommand, addCustomTab, onDevToolsClientConnected, onDevToolsConnected, removeCustomCommand, setupDevToolsPlugin, setupDevToolsPlugin as setupDevtoolsPlugin }; diff --git a/apps/web/.output/server/node_modules/@vue/devtools-api/package.json b/apps/web/.output/server/node_modules/@vue/devtools-api/package.json new file mode 100644 index 0000000..855dbf8 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/devtools-api/package.json @@ -0,0 +1,38 @@ +{ + "name": "@vue/devtools-api", + "type": "module", + "version": "8.2.1", + "author": "webfansplz", + "license": "MIT", + "repository": { + "directory": "packages/devtools-api", + "type": "git", + "url": "git+https://github.com/vuejs/devtools.git" + }, + "sideEffects": false, + "exports": { + ".": { + "node": { + "import": "./dist/index-node.js", + "require": "./dist/index-node.cjs" + }, + "import": "./dist/index.js", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "unpkg": "dist/vue-devtools-api.global.js", + "jsdelivr": "dist/vue-devtools-api.global.js", + "files": [ + "dist" + ], + "dependencies": { + "@vue/devtools-kit": "^8.2.1" + }, + "scripts": { + "build": "tsdown --clean", + "prepare:type": "tsdown --dts-only", + "stub": "tsdown --watch --onSuccess 'tsdown --dts-only'" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js new file mode 100644 index 0000000..9984d36 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js @@ -0,0 +1,1933 @@ +/** +* @vue/reactivity v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var shared = require('@vue/shared'); + +let activeEffectScope; +class EffectScope { + // TODO isolatedDeclarations "__v_skip" + constructor(detached = false) { + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal track `on` calls, allow `on` call multiple times + */ + this._on = 0; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this._isPaused = false; + this._warnOnRun = true; + this.__v_skip = true; + if (!detached && activeEffectScope) { + if (activeEffectScope.active) { + this.parent = activeEffectScope; + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } else { + this._active = false; + this._warnOnRun = false; + } + } + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) { + const scopes = this.scopes.slice(); + for (i = 0, l = scopes.length; i < l; i++) { + scopes[i].pause(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) { + const scopes = this.scopes.slice(); + for (i = 0, l = scopes.length; i < l; i++) { + scopes[i].resume(); + } + } + const effects = this.effects.slice(); + for (i = 0, l = effects.length; i < l; i++) { + effects[i].resume(); + } + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + if (++this._on === 1) { + this.prevScope = activeEffectScope; + activeEffectScope = this; + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + if (this._on > 0 && --this._on === 0) { + if (activeEffectScope === this) { + activeEffectScope = this.prevScope; + } else { + let current = activeEffectScope; + while (current) { + if (current.prevScope === this) { + current.prevScope = this.prevScope; + break; + } + current = current.prevScope; + } + } + this.prevScope = void 0; + } + } + stop(fromParent) { + if (this._active) { + this._active = false; + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + this.effects.length = 0; + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + this.cleanups.length = 0; + if (this.scopes) { + const scopes = this.scopes.slice(); + for (i = 0, l = scopes.length; i < l; i++) { + scopes[i].stop(true); + } + this.scopes.length = 0; + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } +} + +let activeSub; +const EffectFlags = { + "ACTIVE": 1, + "1": "ACTIVE", + "RUNNING": 2, + "2": "RUNNING", + "TRACKING": 4, + "4": "TRACKING", + "NOTIFIED": 8, + "8": "NOTIFIED", + "DIRTY": 16, + "16": "DIRTY", + "ALLOW_RECURSE": 32, + "32": "ALLOW_RECURSE", + "PAUSED": 64, + "64": "PAUSED", + "EVALUATED": 128, + "128": "EVALUATED" +}; +const pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +class ReactiveEffect { + constructor(fn) { + this.fn = fn; + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 1 | 4; + /** + * @internal + */ + this.next = void 0; + /** + * @internal + */ + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope) { + if (activeEffectScope.active) { + activeEffectScope.effects.push(this); + } else { + this.flags &= -2; + } + } + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= -65; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } + } + run() { + if (!(this.flags & 1)) { + return this.fn(); + } + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= -3; + } + } + stop() { + if (this.flags & 1) { + for (let link = this.deps; link; link = link.nextDep) { + removeSub(link); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= -2; + } + } + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); + } + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) { + this.run(); + } + } + get dirty() { + return isDirty(this); + } +} +let batchDepth = 0; +let batchedSub; +let batchedComputed; +function batch(sub, isComputed = false) { + sub.flags |= 8; + if (isComputed) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) { + return; + } + if (batchedComputed) { + let e = batchedComputed; + batchedComputed = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + e = next; + } + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= -9; + if (e.flags & 1) { + try { + ; + e.trigger(); + } catch (err) { + if (!error) error = err; + } + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + link.version = -1; + link.prevActiveLink = link.dep.activeLink; + link.dep.activeLink = link; + } +} +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link = tail; + while (link) { + const prev = link.prevDep; + if (link.version === -1) { + if (link === tail) tail = prev; + removeSub(link); + removeDep(link); + } else { + head = link; + } + link.dep.activeLink = link.prevActiveLink; + link.prevActiveLink = void 0; + link = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +function refreshComputed(computed) { + if (computed.flags & 4 && !(computed.flags & 16)) { + return; + } + computed.flags &= -17; + if (computed.globalVersion === globalVersion) { + return; + } + computed.globalVersion = globalVersion; + if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) { + return; + } + computed.flags |= 2; + const dep = computed.dep; + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed; + shouldTrack = true; + try { + prepareDeps(computed); + const value = computed.fn(computed._value); + if (dep.version === 0 || shared.hasChanged(value, computed._value)) { + computed.flags |= 128; + computed._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed); + computed.flags &= -3; + } +} +function removeSub(link, soft = false) { + const { dep, prevSub, nextSub } = link; + if (prevSub) { + prevSub.nextSub = nextSub; + link.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link.nextSub = void 0; + } + if (dep.subs === link) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= -5; + for (let l = dep.computed.deps; l; l = l.nextDep) { + removeSub(l, true); + } + } + } + if (!soft && !--dep.sc && dep.map) { + dep.map.delete(dep.key); + } +} +function removeDep(link) { + const { prevDep, nextDep } = link; + if (prevDep) { + prevDep.nextDep = nextDep; + link.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link.nextDep = void 0; + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const e = new ReactiveEffect(fn); + if (options) { + shared.extend(e, options); + } + try { + e.run(); + } catch (err) { + e.stop(); + throw err; + } + const runner = e.run.bind(e); + runner.effect = e; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +let shouldTrack = true; +const trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function onEffectCleanup(fn, failSilently = false) { + if (activeSub instanceof ReactiveEffect) { + activeSub.cleanup = fn; + } +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} + +let globalVersion = 0; +class Link { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +} +class Dep { + // TODO isolatedDeclarations "__v_skip" + constructor(computed) { + this.computed = computed; + this.version = 0; + /** + * Link between this dep and the current active effect + */ + this.activeLink = void 0; + /** + * Doubly linked list representing the subscribing effects (tail) + */ + this.subs = void 0; + /** + * For object property deps cleanup + */ + this.map = void 0; + this.key = void 0; + /** + * Subscriber counter + */ + this.sc = 0; + /** + * @internal + */ + this.__v_skip = true; + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link = this.activeLink; + if (link === void 0 || link.sub !== activeSub) { + link = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link; + } else { + link.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + } + addSub(link); + } else if (link.version === -1) { + link.version = this.version; + if (link.nextDep) { + const next = link.nextDep; + next.prevDep = link.prevDep; + if (link.prevDep) { + link.prevDep.nextDep = next; + } + link.prevDep = activeSub.depsTail; + link.nextDep = void 0; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + if (activeSub.deps === link) { + activeSub.deps = next; + } + } + } + return link; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (false) ; + for (let link = this.subs; link; link = link.prevSub) { + if (link.sub.notify()) { + ; + link.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +} +function addSub(link) { + link.dep.sc++; + if (link.sub.flags & 4) { + const computed = link.dep.computed; + if (computed && !link.dep.subs) { + computed.flags |= 4 | 16; + for (let l = computed.deps; l; l = l.nextDep) { + addSub(l); + } + } + const currentTail = link.dep.subs; + if (currentTail !== link) { + link.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link; + } + link.dep.subs = link; + } +} +const targetMap = /* @__PURE__ */ new WeakMap(); +const ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +const MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +const ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol( + "" +); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + { + dep.track(); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) { + { + dep.trigger(); + } + } + }; + startBatch(); + if (type === "clear") { + depsMap.forEach(run); + } else { + const targetIsArray = shared.isArray(target); + const isArrayIndex = targetIsArray && shared.isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !shared.isSymbol(key2) && key2 >= newLength) { + run(dep); + } + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) { + run(depsMap.get(key)); + } + if (isArrayIndex) { + run(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (shared.isMap(target)) { + run(depsMap.get(ITERATE_KEY)); + } + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + const depMap = targetMap.get(object); + return depMap && depMap.get(key); +} + +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + if (isShallow(array)) return raw; + if (!isReadonly(array)) return raw.map(toReactive); + return isReactive(array) ? raw.map((item) => toReadonly(toReactive(item))) : raw.map(toReadonly); +} +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +function toWrapped(target, item) { + if (isReadonly(target)) { + return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item); + } + return toReactive(item); +} +const arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, (item) => toWrapped(this, item)); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x) => shared.isArray(x) ? reactiveReadArray(x) : x) + ); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toWrapped(this, value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply( + this, + "filter", + fn, + thisArg, + (v) => v.map((item) => toWrapped(this, item)), + arguments + ); + }, + find(fn, thisArg) { + return apply( + this, + "find", + fn, + thisArg, + (item) => toWrapped(this, item), + arguments + ); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply( + this, + "findLast", + fn, + thisArg, + (item) => toWrapped(this, item), + arguments + ); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimization required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", (item) => toWrapped(this, item)); + } +}; +function iterator(self, method, wrapValue) { + const arr = shallowReadArray(self); + const methodFn = arr[method]; + const iter = methodFn.call(arr); + if (arr !== self && !isShallow(self)) { + if (iter[Symbol.toStringTag] === "Array Iterator") { + const wrapped = Object.create(Object.getPrototypeOf(iter)); + wrapped.next = () => wrapResult(iter.next(), wrapValue); + if (methodFn !== arrayProto[method]) { + Object.defineProperties(wrapped, { + return: { + get() { + const fn = iter.return; + return typeof fn === "function" ? fn.bind(iter) : fn; + } + }, + throw: { + get() { + const fn = iter.throw; + return typeof fn === "function" ? fn.bind(iter) : fn; + } + } + }); + } + return wrapped; + } + iter._next = iter.next; + iter.next = () => wrapResult(iter._next(), wrapValue); + } + return iter; +} +function wrapResult(result, wrapValue) { + if (!result.done) { + result.value = wrapValue(result.value); + } + return result; +} +const arrayProto = Array.prototype; +function apply(self, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !isShallow(self); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self) { + if (needsWrap) { + wrappedFn = function(item, index) { + return fn.call(this, toWrapped(self, item), index, self); + }; + } else if (fn.length > 2) { + wrappedFn = function(item, index) { + return fn.call(this, item, index, self); + }; + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self, method, fn, args) { + const arr = shallowReadArray(self); + const needsWrap = arr !== self && !isShallow(self); + let wrappedFn = fn; + let wrapInitialAccumulator = false; + if (arr !== self) { + if (needsWrap) { + wrapInitialAccumulator = args.length === 0; + wrappedFn = function(acc, item, index) { + if (wrapInitialAccumulator) { + wrapInitialAccumulator = false; + acc = toWrapped(self, acc); + } + return fn.call(this, acc, toWrapped(self, item), index, self); + }; + } else if (fn.length > 3) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self); + }; + } + } + const result = arr[method](wrappedFn, ...args); + return wrapInitialAccumulator ? toWrapped(self, result) : result; +} +function searchProxy(self, method, args) { + const arr = toRaw(self); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self)[method].apply(self, args); + endBatch(); + resetTracking(); + return res; +} + +const isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`); +const builtInSymbols = new Set( + /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(shared.isSymbol) +); +function hasOwnProperty(key) { + if (!shared.isSymbol(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + if (key === "__v_skip") return target["__v_skip"]; + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = shared.isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + const res = Reflect.get( + target, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef(target) ? target : receiver + ); + if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + const value = targetIsArray && shared.isIntegerKey(key) ? res : res.value; + return isReadonly2 && shared.isObject(value) ? readonly(value) : value; + } + if (shared.isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + const isArrayWithIntegerKey = shared.isArray(target) && shared.isIntegerKey(key); + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return true; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : shared.hasOwn(target, key); + const result = Reflect.set( + target, + key, + value, + isRef(target) ? target : receiver + ); + if (target === toRaw(receiver) && result) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = shared.hasOwn(target, key); + target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!shared.isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + shared.isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + return true; + } + deleteProperty(target, key) { + return true; + } +} +const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); +const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); +const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true); +const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); + +const toShallow = (value) => value; +const getProto = (v) => Reflect.getPrototypeOf(v); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = shared.isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return shared.extend( + // inheriting all iterator properties + Object.create(innerIterator), + { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + } + } + ); + }; +} +function createReadonlyMethod(type) { + return function(...args) { + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations(readonly, shallow) { + const instrumentations = { + get(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has } = getProto(rawTarget); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + if (has.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + }, + get size() { + const target = this["__v_raw"]; + !readonly && track(toRaw(target), "iterate", ITERATE_KEY); + return target.size; + }, + has(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly) { + if (shared.hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + }, + forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive; + !readonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + } + }; + shared.extend( + instrumentations, + readonly ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value) { + const target = toRaw(this); + const proto = getProto(target); + const rawValue = toRaw(value); + const valueToAdd = !shallow && !isShallow(value) && !isReadonly(value) ? rawValue : value; + const hadKey = proto.has.call(target, valueToAdd) || shared.hasChanged(value, valueToAdd) && proto.has.call(target, value) || shared.hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue); + if (!hadKey) { + target.add(valueToAdd); + trigger(target, "add", valueToAdd, valueToAdd); + } + return this; + }, + set(key, value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + const oldValue = get.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger(target, "set", key, value); + } + return this; + }, + delete(key) { + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } + get ? get.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0); + } + return result; + }, + clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const result = target.clear(); + if (hadItems) { + trigger( + target, + "clear", + void 0, + void 0); + } + return result; + } + } + ); + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + instrumentations[method] = createIterableMethod(method, readonly, shallow); + }); + return instrumentations; +} +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return shallow; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +const mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) +}; +const shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) +}; +const readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) +}; +const shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) +}; + +const reactiveMap = /* @__PURE__ */ new WeakMap(); +const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +const readonlyMap = /* @__PURE__ */ new WeakMap(); +const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1 /* COMMON */; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2 /* COLLECTION */; + default: + return 0 /* INVALID */; + } +} +// @__NO_SIDE_EFFECTS__ +function reactive(target) { + if (/* @__PURE__ */ isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +// @__NO_SIDE_EFFECTS__ +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +// @__NO_SIDE_EFFECTS__ +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +// @__NO_SIDE_EFFECTS__ +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!shared.isObject(target)) { + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + if (target["__v_skip"] || !Object.isExtensible(target)) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = targetTypeMap(shared.toRawType(target)); + if (targetType === 0 /* INVALID */) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +// @__NO_SIDE_EFFECTS__ +function isReactive(value) { + if (/* @__PURE__ */ isReadonly(value)) { + return /* @__PURE__ */ isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +// @__NO_SIDE_EFFECTS__ +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +// @__NO_SIDE_EFFECTS__ +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +// @__NO_SIDE_EFFECTS__ +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +// @__NO_SIDE_EFFECTS__ +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? /* @__PURE__ */ toRaw(raw) : observed; +} +function markRaw(value) { + if (!shared.hasOwn(value, "__v_skip") && Object.isExtensible(value)) { + shared.def(value, "__v_skip", true); + } + return value; +} +const toReactive = (value) => shared.isObject(value) ? /* @__PURE__ */ reactive(value) : value; +const toReadonly = (value) => shared.isObject(value) ? /* @__PURE__ */ readonly(value) : value; + +// @__NO_SIDE_EFFECTS__ +function isRef(r) { + return r ? r["__v_isRef"] === true : false; +} +// @__NO_SIDE_EFFECTS__ +function ref(value) { + return createRef(value, false); +} +// @__NO_SIDE_EFFECTS__ +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (/* @__PURE__ */ isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + { + this.dep.track(); + } + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); + newValue = useDirectValue ? newValue : toRaw(newValue); + if (shared.hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + { + this.dep.trigger(); + } + } + } +} +function triggerRef(ref2) { + if (ref2.dep) { + { + ref2.dep.trigger(); + } + } +} +function unref(ref2) { + return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return shared.isFunction(source) ? source() : unref(source); +} +const shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get; + this._set = set; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +// @__NO_SIDE_EFFECTS__ +function toRefs(object) { + const ret = shared.isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, key, _defaultValue) { + this._object = _object; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + this._key = shared.isSymbol(key) ? key : String(key); + this._raw = toRaw(_object); + let shallow = true; + let obj = _object; + if (!shared.isArray(_object) || shared.isSymbol(this._key) || !shared.isIntegerKey(this._key)) { + do { + shallow = !isProxy(obj) || isShallow(obj); + } while (shallow && (obj = obj["__v_raw"])); + } + this._shallow = shallow; + } + get value() { + let val = this._object[this._key]; + if (this._shallow) { + val = unref(val); + } + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) { + const nestedRef = this._object[this._key]; + if (/* @__PURE__ */ isRef(nestedRef)) { + nestedRef.value = newVal; + return; + } + } + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(this._raw, this._key); + } +} +class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +} +// @__NO_SIDE_EFFECTS__ +function toRef(source, key, defaultValue) { + if (/* @__PURE__ */ isRef(source)) { + return source; + } else if (shared.isFunction(source)) { + return new GetterRefImpl(source); + } else if (shared.isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return /* @__PURE__ */ ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + return new ObjectRefImpl(source, key, defaultValue); +} + +class ComputedRefImpl { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + /** + * @internal + */ + this._value = void 0; + /** + * @internal + */ + this.dep = new Dep(this); + /** + * @internal + */ + this.__v_isRef = true; + // TODO isolatedDeclarations "__v_isReadonly" + // A computed is also a subscriber that tracks other deps + /** + * @internal + */ + this.deps = void 0; + /** + * @internal + */ + this.depsTail = void 0; + /** + * @internal + */ + this.flags = 16; + /** + * @internal + */ + this.globalVersion = globalVersion - 1; + /** + * @internal + */ + this.next = void 0; + // for backwards compat + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this, true); + return true; + } + } + get value() { + const link = this.dep.track(); + refreshComputed(this); + if (link) { + link.version = this.dep.version; + } + return this._value; + } + set value(newValue) { + if (this.setter) { + this.setter(newValue); + } + } +} +// @__NO_SIDE_EFFECTS__ +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (shared.isFunction(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + return cRef; +} + +const TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +const TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +const ReactiveFlags = { + "SKIP": "__v_skip", + "IS_REACTIVE": "__v_isReactive", + "IS_READONLY": "__v_isReadonly", + "IS_SHALLOW": "__v_isShallow", + "RAW": "__v_raw", + "IS_REF": "__v_isRef" +}; + +const WatchErrorCodes = { + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP" +}; +const INITIAL_WATCHER_VALUE = {}; +const cleanupMap = /* @__PURE__ */ new WeakMap(); +let activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } +} +function watch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }; + let effect; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (shared.isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (shared.isFunction(s)) { + return call ? call(s, 2) : s(); + } else ; + }); + } else if (shared.isFunction(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + } + } else { + getter = shared.NOOP; + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect.stop(); + if (scope && scope.active) { + shared.remove(scope.effects, effect); + } + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + try { + return _cb(...args); + } finally { + watchHandle(); + } + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue = effect.run(); + if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => shared.hasChanged(v, oldValue[i])) : shared.hasChanged(newValue, oldValue))) { + const currentWatcher = activeWatcher; + pauseTracking(); + try { + if (cleanup) { + cleanup(); + } + activeWatcher = effect; + const args = [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + oldValue = newValue; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + } finally { + activeWatcher = currentWatcher; + resetTracking(); + } + } + } else { + effect.run(); + } + }; + if (augmentJob) { + augmentJob(job); + } + effect = new ReactiveEffect(getter); + effect.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect); + cleanup = effect.onStop = () => { + const cleanups = cleanupMap.get(effect); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect); + } + }; + if (cb) { + if (immediate) { + job(true); + } else { + oldValue = effect.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect.run(); + } + watchHandle.pause = effect.pause.bind(effect); + watchHandle.resume = effect.resume.bind(effect); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !shared.isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Map(); + if ((seen.get(value) || 0) >= depth) { + return value; + } + seen.set(value, depth); + depth--; + if (isRef(value)) { + traverse(value.value, depth, seen); + } else if (shared.isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen); + } + } else if (shared.isSet(value) || shared.isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen); + }); + } else if (shared.isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen); + } + for (const key of Object.getOwnPropertySymbols(value)) { + if (Object.prototype.propertyIsEnumerable.call(value, key)) { + traverse(value[key], depth, seen); + } + } + } + return value; +} + +exports.ARRAY_ITERATE_KEY = ARRAY_ITERATE_KEY; +exports.EffectFlags = EffectFlags; +exports.EffectScope = EffectScope; +exports.ITERATE_KEY = ITERATE_KEY; +exports.MAP_KEY_ITERATE_KEY = MAP_KEY_ITERATE_KEY; +exports.ReactiveEffect = ReactiveEffect; +exports.ReactiveFlags = ReactiveFlags; +exports.TrackOpTypes = TrackOpTypes; +exports.TriggerOpTypes = TriggerOpTypes; +exports.WatchErrorCodes = WatchErrorCodes; +exports.computed = computed; +exports.customRef = customRef; +exports.effect = effect; +exports.effectScope = effectScope; +exports.enableTracking = enableTracking; +exports.getCurrentScope = getCurrentScope; +exports.getCurrentWatcher = getCurrentWatcher; +exports.isProxy = isProxy; +exports.isReactive = isReactive; +exports.isReadonly = isReadonly; +exports.isRef = isRef; +exports.isShallow = isShallow; +exports.markRaw = markRaw; +exports.onEffectCleanup = onEffectCleanup; +exports.onScopeDispose = onScopeDispose; +exports.onWatcherCleanup = onWatcherCleanup; +exports.pauseTracking = pauseTracking; +exports.proxyRefs = proxyRefs; +exports.reactive = reactive; +exports.reactiveReadArray = reactiveReadArray; +exports.readonly = readonly; +exports.ref = ref; +exports.resetTracking = resetTracking; +exports.shallowReactive = shallowReactive; +exports.shallowReadArray = shallowReadArray; +exports.shallowReadonly = shallowReadonly; +exports.shallowRef = shallowRef; +exports.stop = stop; +exports.toRaw = toRaw; +exports.toReactive = toReactive; +exports.toReadonly = toReadonly; +exports.toRef = toRef; +exports.toRefs = toRefs; +exports.toValue = toValue; +exports.track = track; +exports.traverse = traverse; +exports.trigger = trigger; +exports.triggerRef = triggerRef; +exports.unref = unref; +exports.watch = watch; diff --git a/apps/web/.output/server/node_modules/@vue/reactivity/package.json b/apps/web/.output/server/node_modules/@vue/reactivity/package.json new file mode 100644 index 0000000..560f3ea --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/reactivity/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vue/reactivity", + "version": "3.5.44", + "description": "@vue/reactivity", + "main": "index.js", + "module": "dist/reactivity.esm-bundler.js", + "types": "dist/reactivity.d.ts", + "unpkg": "dist/reactivity.global.js", + "jsdelivr": "dist/reactivity.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/reactivity.d.ts", + "node": { + "production": "./dist/reactivity.cjs.prod.js", + "development": "./dist/reactivity.cjs.js", + "default": "./dist/reactivity.cjs.prod.js" + }, + "module": "./dist/reactivity.esm-bundler.js", + "import": "./dist/reactivity.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/reactivity" + }, + "buildOptions": { + "name": "VueReactivity", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme", + "dependencies": { + "@vue/shared": "3.5.44" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js new file mode 100644 index 0000000..b81dd02 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js @@ -0,0 +1,7085 @@ +/** +* @vue/runtime-core v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var reactivity = require('@vue/reactivity'); +var shared = require('@vue/shared'); + +function pushWarningContext(vnode) { +} +function popWarningContext() { +} +function assertNumber(val, type) { + return; +} + +const ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" +}; +const ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (shared.isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && shared.isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (shared.isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || shared.EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + if (errorHandler) { + reactivity.pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + reactivity.resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + if (throwInProd) { + throw err; + } else { + console.error(err); + } +} + +const queue = []; +let flushIndex = -1; +const pendingPostFlushCbs = []; +let activePostFlushCbs = null; +let postFlushIndex = 0; +const resolvedPromise = /* @__PURE__ */ Promise.resolve(); +let currentFlushPromise = null; +function nextTick(fn) { + const p = currentFlushPromise || resolvedPromise; + return fn ? p.then(this ? fn.bind(this) : fn) : p; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(jobId), 0, job); + } + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!currentFlushPromise) { + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function queuePostFlushCb(cb) { + if (!shared.isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else { + for (let i = 0; i < cb.length; i++) { + pendingPostFlushCbs.push(cb[i]); + } + } + queueFlush(); +} +function flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) { + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) { + continue; + } + queue.splice(i, 1); + i = instance ? i - 1 : flushIndex; + if (cb.flags & 4) { + cb.flags &= -2; + } + cb(); + if (!(cb.flags & 4)) { + cb.flags &= -2; + } + } + } +} +function flushPostFlushCbs(seen, skip, minUid = 0) { + if (pendingPostFlushCbs.length) { + let cbs = pendingPostFlushCbs; + let kept = 0; + if (skip) { + cbs = []; + for (let i = 0; i < pendingPostFlushCbs.length; i++) { + const cb = pendingPostFlushCbs[i]; + if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) { + pendingPostFlushCbs[kept++] = cb; + } else { + cbs.push(cb); + } + } + } + const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b)); + pendingPostFlushCbs.length = kept; + if (activePostFlushCbs) { + for (let i = 0; i < deduped.length; i++) { + activePostFlushCbs.push(deduped[i]); + } + return; + } + activePostFlushCbs = deduped; + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (cb.flags & 4) { + cb.flags &= -2; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= -2; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +let isFlushing = false; +function flushOnAppMount(fn, minUid) { + if (isFlushing) { + fn(); + return; + } + const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs); + fn(); + isFlushing = true; + try { + flushPreFlushCbs(void 0, minUid); + flushPostFlushCbs(void 0, queued, minUid); + } finally { + isFlushing = false; + } +} +const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen) { + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (false) ; + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= -2; + } + } + flushIndex = -1; + queue.length = 0; + flushPostFlushCbs(); + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(); + } + } +} + +let currentRenderingInstance = null; +let currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +const withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + const prevStackSize = blockStack.length; + let res; + try { + res = fn(...args); + } finally { + for (let i = blockStack.length; i > prevStackSize; i--) closeBlock(); + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} + +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = shared.EMPTY_OBJ] = directives[i]; + if (dir) { + if (shared.isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + reactivity.traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + reactivity.pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + reactivity.resetTracking(); + } + } +} + +function provide(key, value) { + if (currentInstance) { + let provides = currentInstance.provides; + const parentProvides = currentInstance.parent && currentInstance.parent.provides; + if (parentProvides === provides) { + provides = currentInstance.provides = Object.create(parentProvides); + } + provides[key] = value; + } +} +function inject(key, defaultValue, treatDefaultAsFactory = false) { + const instance = getCurrentInstance(); + if (instance || currentApp) { + let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0; + if (provides && key in provides) { + return provides[key]; + } else if (arguments.length > 1) { + return treatDefaultAsFactory && shared.isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; + } else ; + } +} +function hasInjectionContext() { + return !!(getCurrentInstance() || currentApp); +} + +const ssrContextKey = /* @__PURE__ */ Symbol.for("v-scx"); +const useSSRContext = () => { + { + const ctx = inject(ssrContextKey); + return ctx; + } +}; + +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "post" } + ); +} +function watchSyncEffect(effect, options) { + return doWatch( + effect, + null, + { flush: "sync" } + ); +} +function watch(source, cb, options) { + return doWatch(source, cb, options); +} +function doWatch(source, cb, options = shared.EMPTY_OBJ) { + const { immediate, deep, flush, once } = options; + const baseWatchOptions = shared.extend({}, options); + const runsImmediately = cb && immediate || !cb && flush !== "post"; + let ssrCleanup; + if (isInSSRComponentSetup) { + if (flush === "sync") { + const ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else if (!runsImmediately) { + const watchStopHandle = () => { + }; + watchStopHandle.stop = shared.NOOP; + watchStopHandle.resume = shared.NOOP; + watchStopHandle.pause = shared.NOOP; + return watchStopHandle; + } + } + const instance = currentInstance; + baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args); + let isPre = false; + if (flush === "post") { + baseWatchOptions.scheduler = (job) => { + job.i = instance; + queuePostRenderEffect(job, instance && instance.suspense); + }; + } else if (flush !== "sync") { + isPre = true; + baseWatchOptions.scheduler = (job, isFirstRun) => { + if (isFirstRun) { + job(); + } else { + queueJob(job); + } + }; + } + baseWatchOptions.augmentJob = (job) => { + if (cb) { + job.flags |= 4; + } + if (isPre) { + job.flags |= 2; + if (instance) { + job.id = instance.uid; + job.i = instance; + } + } + }; + const watchHandle = reactivity.watch(source, cb, baseWatchOptions); + if (isInSSRComponentSetup) { + if (ssrCleanup) { + ssrCleanup.push(watchHandle); + } else if (runsImmediately) { + watchHandle(); + } + } + return watchHandle; +} +function instanceWatch(source, value, options) { + const publicThis = this.proxy; + const getter = shared.isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + let cb; + if (shared.isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + const reset = setCurrentInstance(this); + const res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + const segments = path.split("."); + return () => { + let cur = ctx; + for (let i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} + +const pendingMounts = /* @__PURE__ */ new WeakMap(); +const TeleportEndKey = /* @__PURE__ */ Symbol("_vte"); +const isTeleport = (type) => type.__isTeleport; +const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +const isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +const resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (shared.isString(targetSelector)) { + if (!select) { + return null; + } else { + const target = select(targetSelector); + return target; + } + } else { + return targetSelector; + } +}; +const TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert, querySelector, createText, createComment, parentNode } + } = internals; + const disabled = isTeleportDisabled(n2.props); + let { dynamicChildren } = n2; + const mount = (vnode, container2, anchor2) => { + if (vnode.shapeFlag & 16) { + mountChildren( + vnode.children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountToTarget = (vnode = n2) => { + const disabled2 = isTeleportDisabled(vnode.props); + const target = vnode.target = resolveTarget(vnode.props, querySelector); + const targetAnchor = prepareAnchor(target, vnode, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target)) { + namespace = "mathml"; + } + if (parentComponent && parentComponent.isCE) { + (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target); + } + if (!disabled2) { + mount(vnode, target, targetAnchor); + updateCssVars(vnode, false); + } + } + }; + const queuePendingMount = (vnode) => { + const mountJob = () => { + if (pendingMounts.get(vnode) !== mountJob) return; + pendingMounts.delete(vnode); + if (isTeleportDisabled(vnode.props)) { + const mountContainer = parentNode(vnode.el) || container; + mount(vnode, mountContainer, vnode.anchor); + updateCssVars(vnode, true); + } + mountToTarget(vnode); + }; + pendingMounts.set(vnode, mountJob); + queuePostRenderEffect(mountJob, parentSuspense); + }; + if (n1 == null) { + const placeholder = n2.el = createText(""); + const mainAnchor = n2.anchor = createText(""); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + if (isTeleportDeferred(n2.props) || parentSuspense && parentSuspense.pendingBranch) { + queuePendingMount(n2); + return; + } + if (disabled) { + mount(n2, container, mainAnchor); + updateCssVars(n2, true); + } + mountToTarget(); + } else { + n2.el = n1.el; + const mainAnchor = n2.anchor = n1.anchor; + const pendingMount = pendingMounts.get(n1); + if (pendingMount) { + pendingMount.flags |= 8; + pendingMounts.delete(n1); + queuePendingMount(n2); + return; + } + n2.targetStart = n1.targetStart; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = resolveTarget(n2.props, querySelector); + if (nextTarget) { + n2.target = nextTarget; + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2, disabled); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target, + props + } = vnode; + const disabled = isTeleportDisabled(props); + const shouldRemove = doRemove || !disabled; + const pendingMount = pendingMounts.get(vnode); + if (pendingMount) { + pendingMount.flags |= 8; + pendingMounts.delete(vnode); + } + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (!pendingMount && (disabled || target) && shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) { + if (vnode.targetStart) { + insert(vnode.targetStart, container, parentAnchor); + } + insert(vnode.targetAnchor, container, parentAnchor); + parentAnchor = vnode.targetAnchor; + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert(el, container, parentAnchor); + } + if (!pendingMounts.has(vnode) && (!isReorder || isTeleportDisabled(props))) { + if (shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + move( + children[i], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert(anchor, container, parentAnchor); + } +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode, querySelector, insert, createText } +}, hydrateChildren) { + function hydrateAnchor(target2, targetNode) { + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + } + function hydrateDisabledTeleport(node2, vnode2) { + vnode2.anchor = hydrateChildren( + nextSibling(node2), + vnode2, + parentNode(node2), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + const target = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + const disabled = isTeleportDisabled(vnode.props); + if (target) { + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) { + if (disabled) { + hydrateDisabledTeleport(node, vnode); + hydrateAnchor(target, targetNode); + if (!vnode.targetAnchor) { + prepareAnchor( + target, + vnode, + createText, + insert, + // if target is the same as the main view, insert anchors before current node + // to avoid hydrating mismatch + parentNode(node) === target ? node : null + ); + } + } else { + vnode.anchor = nextSibling(node); + hydrateAnchor(target, targetNode); + if (!vnode.targetAnchor) { + prepareAnchor(target, vnode, createText, insert); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode, disabled); + } else if (disabled) { + if (vnode.shapeFlag & 16) { + hydrateDisabledTeleport(node, vnode); + vnode.targetStart = node; + vnode.targetAnchor = nextSibling(node); + } + } + return vnode.anchor && nextSibling(vnode.anchor); +} +const Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node, anchor; + if (isDisabled) { + node = vnode.el; + anchor = vnode.anchor; + } else { + node = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node && node !== anchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert, anchor = null) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target, anchor); + insert(targetAnchor, target, anchor); + } + return targetAnchor; +} + +const leaveCbKey = /* @__PURE__ */ Symbol("_leaveCb"); +const enterCbKey = /* @__PURE__ */ Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +const TransitionHookValidator = [Function, Array]; +const BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +const BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + const child = children && children.length ? findNonCommentChild(children) : ( + // Keep explicit default-slot conditionals on the same transition path + // as regular v-if branches, which render a comment placeholder. + instance.subTree ? createCommentVNode() : void 0 + ); + if (!child) { + return; + } + const rawProps = reactivity.toRaw(props); + const { mode } = rawProps; + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks) => enterHooks = hooks + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) { + let leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + oldInnerChild = void 0; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + enterHooks.delayedLeave = () => { + delayedLeave(); + delete enterHooks.delayedLeave; + oldInnerChild = void 0; + }; + }; + } else { + oldInnerChild = void 0; + } + } else if (oldInnerChild) { + oldInnerChild = void 0; + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + for (const c of children) { + if (c.type !== Comment) { + child = c; + break; + } + } + } + return child; +} +const BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook(hook, args); + if (shared.isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) { + let leavingCb = leavingVNode.el[leaveCbKey]; + if (!leavingCb) { + const leavingRoot = getTransitionRoot(leavingVNode); + leavingCb = leavingRoot && leavingRoot.el[leaveCbKey]; + } + if (leavingCb) { + leavingCb(); + } + } + callHook(hook, [el]); + }, + enter(el) { + if (leavingVNodesCache[key] === vnode) return; + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + el[enterCbKey] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook(cancelHook, [el]); + } else { + callHook(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + const done = el[enterCbKey].bind(null, false); + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove) { + const key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove(); + } + callHook(onBeforeLeave, [el]); + let called = false; + el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove(); + if (cancelled) { + callHook(onLeaveCancelled, [el]); + } else { + callHook(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + const done = el[leaveCbKey].bind(null, false); + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + if (vnode.component) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && shared.isFunction(children.default)) { + return children.default(); + } + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + const subTree = vnode.component.subTree; + setTransitionHooks( + isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree, + hooks + ); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + if (vnode.type === Fragment && shared.isArray(vnode.children)) { + const child = filterSingleRoot(vnode.children, false); + if (child) { + setTransitionHooks(child, hooks); + } + } + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} +function getTransitionRoot(vnode) { + if (vnode.component) { + return getTransitionRoot(vnode.component.subTree); + } + if (vnode.type === Fragment) { + const child = shared.isArray(vnode.children) && filterSingleRoot(vnode.children, false); + return child ? getTransitionRoot(child) : void 0; + } + if (vnode.type !== Comment) { + return vnode; + } +} + +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return shared.isFunction(options) ? ( + // #8236: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ (() => shared.extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} + +function useId() { + const i = getCurrentInstance(); + if (i) { + return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; + } + return ""; +} +function markAsyncBoundary(instance) { + instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; +} + +function useTemplateRef(key) { + const i = getCurrentInstance(); + const r = reactivity.shallowRef(null); + if (i) { + const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs; + { + Object.defineProperty(refs, key, { + enumerable: true, + get: () => r.value, + set: (val) => r.value = val + }); + } + } + const ret = r; + return ret; +} +function isTemplateRefKey(refs, key) { + let desc; + return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable); +} + +const pendingSetRefMap = /* @__PURE__ */ new WeakMap(); +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (shared.isArray(rawRef)) { + rawRef.forEach( + (r, i) => setRef( + r, + oldRawRef && (shared.isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), + parentSuspense, + vnode, + isUnmount + ) + ); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) { + setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree); + } + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref } = rawRef; + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === shared.EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = reactivity.toRaw(setupState); + const canSetSetupRef = setupState === shared.EMPTY_OBJ ? shared.NO : (key) => { + if (isTemplateRefKey(refs, key)) { + return false; + } + return shared.hasOwn(rawSetupState, key); + }; + const canSetRef = (ref2, key) => { + if (key && isTemplateRefKey(refs, key)) { + return false; + } + return true; + }; + if (oldRef != null && oldRef !== ref) { + invalidatePendingSetRef(oldRawRef); + if (shared.isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) { + setupState[oldRef] = null; + } + } else if (reactivity.isRef(oldRef)) { + const oldRawRefAtom = oldRawRef; + if (canSetRef(oldRef, oldRawRefAtom.k)) { + oldRef.value = null; + } + if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null; + } + } + if (shared.isFunction(ref)) { + callWithErrorHandling(ref, owner, 12, [value, refs]); + } else { + const _isString = shared.isString(ref); + const _isRef = reactivity.isRef(ref); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef() || !rawRef.k ? ref.value : refs[rawRef.k]; + if (isUnmount) { + shared.isArray(existing) && shared.remove(existing, refValue); + } else { + if (!shared.isArray(existing)) { + if (_isString) { + refs[ref] = [refValue]; + if (canSetSetupRef(ref)) { + setupState[ref] = refs[ref]; + } + } else { + const newVal = [refValue]; + if (canSetRef(ref, rawRef.k)) { + ref.value = newVal; + } + if (rawRef.k) refs[rawRef.k] = newVal; + } + } else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } else if (_isString) { + refs[ref] = value; + if (canSetSetupRef(ref)) { + setupState[ref] = value; + } + } else if (_isRef) { + if (canSetRef(ref, rawRef.k)) { + ref.value = value; + } + if (rawRef.k) refs[rawRef.k] = value; + } else ; + }; + if (value) { + const job = () => { + doSet(); + pendingSetRefMap.delete(rawRef); + }; + job.id = -1; + pendingSetRefMap.set(rawRef, job); + queuePostRenderEffect(job, parentSuspense); + } else { + invalidatePendingSetRef(rawRef); + doSet(); + } + } + } +} +function invalidatePendingSetRef(rawRef) { + const pendingSetRef = pendingSetRefMap.get(rawRef); + if (pendingSetRef) { + pendingSetRef.flags |= 8; + pendingSetRefMap.delete(rawRef); + } +} + +let hasLoggedMismatchError = false; +const logMismatchError = () => { + if (hasLoggedMismatchError) { + return; + } + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +const isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +const getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; + return void 0; +}; +const isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { + mt: mountComponent, + p: patch, + o: { + patchProp, + createText, + nextSibling, + parentNode, + remove, + insert, + createComment + } + } = rendererInternals; + const hydrate = (vnode, container) => { + if (!container.hasChildNodes()) { + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + isFragmentStart + ); + const { type, ref, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) { + if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else { + nextNode = onMismatch(); + } + } else { + if (node.data !== vnode.children) { + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode( + vnode.el = node.content.firstChild, + node, + parentComponent + ); + } else if (domType !== 8 || isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = nextSibling(node); + } + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) + vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) { + vnode.anchor = nextNode; + } + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else { + onMismatch(); + } + break; + case Fragment: + if (!isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = hydrateFragment( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + break; + default: + if (shapeFlag & 1) { + if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { + nextNode = onMismatch(); + } else { + nextNode = hydrateElement( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) { + nextNode = locateClosingAnchor(node); + } else if (isComment(node) && node.data === "teleport start") { + nextNode = locateClosingAnchor(node, node.data, "teleport end"); + } else { + nextNode = nextSibling(node); + } + mountComponent( + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + optimized + ); + if ((isAsyncWrapper(vnode) || vnode.component.asyncDep) && !vnode.component.subTree) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Static); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else { + subTree = node.nodeType === 3 ? createTextVNode("") : createVNode( + node.nodeType === 8 ? Comment : "div" + ); + } + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) { + if (domType !== 8) { + nextNode = onMismatch(); + } else { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized, + rendererInternals, + hydrateChildren + ); + } + } else if (shapeFlag & 128) { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + getContainerType(parentNode(node)), + slotScopeIds, + optimized, + rendererInternals, + hydrateNode + ); + } else ; + } + if (ref != null) { + setRef(ref, null, parentSuspense, vnode); + } + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { + type, + dynamicProps, + props, + patchFlag, + shapeFlag, + dirs, + transition + } = vnode; + const forcePatch = type === "input" || type === "option"; + const hasDynamicProps = !!dynamicProps; + if (forcePatch || hasDynamicProps || patchFlag !== -1) { + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition( + null, + // no need check parentSuspense in hydration + transition + ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + const cls = content.getAttribute("class"); + if (cls) content.$cls = cls; + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && // skip if element has innerHTML / textContent + !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren( + el.firstChild, + vnode, + el, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && !isMismatchAllowed(el, 1 /* CHILDREN */)) { + logMismatchError(); + } + while (next) { + const cur = next; + next = next.nextSibling; + remove(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { + clientText = clientText.slice(1); + } + const { textContent } = el; + if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM + textContent !== clientText.replace(/\r\n|\r/g, "\n")) { + if (!isMismatchAllowed(el, 0 /* TEXT */)) { + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + if (forcePatch || hasDynamicProps || !optimized || patchFlag & (16 | 32)) { + const isCustomElement = el.tagName.includes("-"); + const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0; + for (const key in props) { + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers + key[0] === "." || isCustomElement && !shared.isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) { + if (isUnchangedResourceProp(el, key, props[key])) { + continue; + } + patchProp(el, key, null, props[key], namespace, parentComponent); + } + } + } else if (props.onClick) { + patchProp( + el, + "onClick", + null, + props.onClick, + void 0, + parentComponent + ); + } else if (patchFlag & 4 && reactivity.isReactive(props.style)) { + for (const key in props.style) props.style[key]; + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHooks, parentComponent, vnode); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { + queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + let hasCheckedMismatch = false; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert( + createText( + node.data.slice(vnode.children.length) + ), + container, + nextSibling(node) + ); + node.data = vnode.children; + } + } + node = hydrateNode( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } else if (isText && !vnode.children) { + insert(vnode.el = createText(""), container); + } else { + if (!hasCheckedMismatch) { + hasCheckedMismatch = true; + if (!isMismatchAllowed(container, 1 /* CHILDREN */)) { + logMismatchError(); + } + } + patch( + null, + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + const container = parentNode(node); + const next = hydrateChildren( + nextSibling(node), + vnode, + container, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && isComment(next) && next.data === "]") { + return nextSibling(vnode.anchor = next); + } else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isNodeMismatchAllowed(node, vnode)) { + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) { + remove(next2); + } else { + break; + } + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove(node); + patch( + null, + vnode, + container, + next, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + if (parentComponent) { + parentComponent.vnode.el = vnode.el; + updateHOCHostEl(parentComponent, vnode.el); + } + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) { + if (match === 0) { + return nextSibling(node); + } else { + match--; + } + } + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) { + parentNode2.replaceChild(newNode, oldNode); + } + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) { + parent.vnode.el = parent.subTree.el = newNode; + } + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate, hydrateNode]; +} +const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]); +function isUnchangedResourceProp(el, key, clientValue) { + if (!resourceProps.has(key)) { + return false; + } + return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`); +} +const allowMismatchAttr = "data-allow-mismatch"; +const MismatchTypeString = { + [0 /* TEXT */]: "text", + [1 /* CHILDREN */]: "children", + [2 /* CLASS */]: "class", + [3 /* STYLE */]: "style", + [4 /* ATTRIBUTE */]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) { + while (el && !el.hasAttribute(allowMismatchAttr)) { + el = el.parentElement; + } + } + return isMismatchAllowedByAttr( + el && el.getAttribute(allowMismatchAttr), + allowedType + ); +} +function isMismatchAllowedByAttr(allowedAttr, allowedType) { + if (allowedAttr == null) { + return false; + } else if (allowedAttr === "") { + return true; + } else { + const list = allowedAttr.split(","); + if (allowedType === 0 /* TEXT */ && list.includes("children")) { + return true; + } + return list.includes(MismatchTypeString[allowedType]); + } +} +function isNodeMismatchAllowed(node, vnode) { + return isMismatchAllowed(node.parentElement, 1 /* CHILDREN */) || isMismatchAllowedByNode(node) || isMismatchAllowedByVNode(vnode); +} +function isMismatchAllowedByNode(node) { + return node.nodeType === 1 && isMismatchAllowedByAttr( + node.getAttribute(allowMismatchAttr), + 1 /* CHILDREN */ + ); +} +function isMismatchAllowedByVNode({ props }) { + const allowedAttr = props && props[allowMismatchAttr]; + return typeof allowedAttr === "string" && isMismatchAllowedByAttr(allowedAttr, 1 /* CHILDREN */); +} + +const requestIdleCallback = shared.getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); +const cancelIdleCallback = shared.getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); +const hydrateOnIdle = (timeout = 1e4) => (hydrate) => { + const id = requestIdleCallback(hydrate, { timeout }); + return () => cancelIdleCallback(id); +}; +function elementIsVisibleInViewport(el) { + const { top, left, bottom, right } = el.getBoundingClientRect(); + const { innerHeight, innerWidth } = window; + return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); +} +const hydrateOnVisible = (opts) => (hydrate, forEach) => { + const ob = new IntersectionObserver((entries) => { + for (const e of entries) { + if (!e.isIntersecting) continue; + ob.disconnect(); + hydrate(); + break; + } + }, opts); + const observe = (el) => { + if (elementIsVisibleInViewport(el)) { + hydrate(); + ob.disconnect(); + return false; + } + if (getComputedStyle(el).display === "contents") { + for (let i = 0; i < el.children.length; i++) { + if (observe(el.children[i]) === false) return false; + } + } + ob.observe(el); + }; + forEach((el) => { + if (!(el instanceof Element)) return; + return observe(el); + }); + return () => ob.disconnect(); +}; +const hydrateOnMediaQuery = (query) => (hydrate) => { + if (query) { + const mql = matchMedia(query); + if (mql.matches) { + hydrate(); + } else { + mql.addEventListener("change", hydrate, { once: true }); + return () => mql.removeEventListener("change", hydrate); + } + } +}; +const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => { + if (shared.isString(interactions)) interactions = [interactions]; + let hasHydrated = false; + const doHydrate = (e) => { + if (!hasHydrated) { + hasHydrated = true; + teardown(); + hydrate(); + e.target.dispatchEvent(new e.constructor(e.type, e)); + } + }; + const teardown = () => { + forEach((el) => { + for (const i of interactions) { + el.removeEventListener(i, doHydrate); + } + }); + }; + forEach((el) => { + for (const i of interactions) { + el.addEventListener(i, doHydrate, { once: true }); + } + }); + return teardown; +}; +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + const result = cb(next); + if (result === false) { + break; + } + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") { + depth++; + } + } + next = next.nextSibling; + } + } else { + cb(node); + } +} + +const isAsyncWrapper = (i) => !!i.type.__asyncLoader; +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (shared.isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + hydrate: hydrateStrategy, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve, reject) => { + const userRetry = () => resolve(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate) { + const wasConnected = el.isConnected; + let patched = false; + (instance.bu || (instance.bu = [])).push(() => patched = true); + const performHydrate = () => { + if (patched) { + return; + } + if (!el.parentNode || wasConnected && !el.isConnected) return; + hydrate(); + }; + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy( + performHydrate, + (cb) => forEachElement(el, cb) + ); + if (teardown) { + (instance.bum || (instance.bum = [])).push(teardown); + } + } : performHydrate; + if (resolvedComp) { + doHydrate(); + } else { + load().then(() => !instance.isUnmounted && doHydrate()); + } + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = reactivity.ref(false); + const error = reactivity.ref(); + const delayed = reactivity.ref(!!delay); + let timeoutTimer; + let delayTimer; + onUnmounted(() => { + if (timeoutTimer != null) clearTimeout(timeoutTimer); + if (delayTimer != null) clearTimeout(delayTimer); + }); + if (delay) { + delayTimer = setTimeout(() => { + if (instance.isUnmounted) return; + delayed.value = false; + }, delay); + } + if (timeout != null) { + timeoutTimer = setTimeout(() => { + if (instance.isUnmounted) return; + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + if (instance.isUnmounted) return; + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.update(); + } + }).catch((err) => { + if (instance.isUnmounted) { + pendingRequest = null; + return; + } + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createInnerComp( + loadingComponent, + instance + ); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} + +const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +const KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + namespace, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + shared.invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + invalidateMount(instance2.m); + invalidateMount(instance2.a); + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + shared.invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type + ); + if (name && !filter(name)) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (cached && (!current || !isSameVNodeType(cached, current))) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + if (cached) resetShapeFlag(cached); + } + cache.delete(key); + keys.delete(key); + } + watch( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + if (isSuspense(instance.subTree.type)) { + queuePostRenderEffect(() => { + const vnode = getInnerChild(instance.subTree); + if (vnode.component) { + cache.set(pendingCacheKey, vnode); + } + }, instance.subTree.suspense); + } else { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return current = null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + if (vnode.type === Comment) { + current = null; + return vnode; + } + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + vnode.shapeFlag &= -257; + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +const KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (shared.isArray(pattern)) { + return pattern.some((p) => matches(p, name)); + } else if (shared.isString(pattern)) { + return pattern.split(",").includes(name); + } else if (shared.isRegExp(pattern)) { + pattern.lastIndex = 0; + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + shared.remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= -257; + vnode.shapeFlag &= -513; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} + +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + reactivity.pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + reactivity.resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } +} +const createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") { + injectHook(lifecycle, (...args) => hook(...args), target); + } +}; +const onBeforeMount = createHook("bm"); +const onMounted = createHook("m"); +const onBeforeUpdate = createHook( + "bu" +); +const onUpdated = createHook("u"); +const onBeforeUnmount = createHook( + "bum" +); +const onUnmounted = createHook("um"); +const onServerPrefetch = createHook( + "sp" +); +const onRenderTriggered = createHook("rtg"); +const onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} + +const COMPONENTS = "components"; +const DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +const NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (shared.isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === shared.camelize(name) || selfName === shared.capitalize(shared.camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + return res; + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[shared.camelize(name)] || registry[shared.capitalize(shared.camelize(name))]); +} + +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + const sourceIsArray = shared.isArray(source); + if (sourceIsArray || shared.isString(source)) { + const sourceIsReactiveArray = sourceIsArray && reactivity.isReactive(source); + let needsWrap = false; + let isReadonlySource = false; + if (sourceIsReactiveArray) { + needsWrap = !reactivity.isShallow(source); + isReadonlySource = reactivity.isReadonly(source); + source = reactivity.shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem( + needsWrap ? isReadonlySource ? reactivity.toReadonly(reactivity.toReactive(source[i])) : reactivity.toReactive(source[i]) : source[i], + i, + void 0, + cached && cached[i] + ); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source) || source < 0) { + ret = []; + } else { + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} + +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (shared.isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} + +function renderSlot(slots, name, props, fallback, noSlotted, branchKey) { + if (props == null) props = {}; + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + const slotProps = branchKey != null && props.key == null ? shared.extend({}, props, { key: branchKey }) : props; + const hasProps = Object.keys(slotProps).length > 0; + if (name !== "default") slotProps.name = name; + return openBlock(), createBlock( + Fragment, + null, + [createVNode("slot", slotProps, fallback && fallback())], + hasProps ? -2 : 64 + ); + } + let slot = slots[name]; + if (slot && slot._c) { + slot._d = false; + } + const prevStackSize = blockStack.length; + openBlock(); + let rendered; + try { + const validSlotContent = slot && ensureValidVNode(slot(props)); + const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key; + rendered = createBlock( + Fragment, + { + key: (slotKey && !shared.isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content + (!validSlotContent && fallback ? "_fb" : "") + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + } catch (err) { + for (let i = blockStack.length; i > prevStackSize; i--) closeBlock(); + throw err; + } finally { + if (slot && slot._c) { + slot._d = true; + } + } + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} + +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : shared.toHandlerKey(key)] = obj[key]; + } + return ret; +} + +const getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +const publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + /* @__PURE__ */ shared.extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => i.props, + $attrs: (i) => i.attrs, + $slots: (i) => i.slots, + $refs: (i) => i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => resolveMergedOptions(i) , + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => instanceWatch.bind(i) + }) +); +const hasSetupBinding = (state, key) => state !== shared.EMPTY_OBJ && !state.__isScriptSetup && shared.hasOwn(state, key); +const PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1 /* SETUP */: + return setupState[key]; + case 2 /* DATA */: + return data[key]; + case 4 /* CONTEXT */: + return ctx[key]; + case 3 /* PROPS */: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1 /* SETUP */; + return setupState[key]; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + accessCache[key] = 2 /* DATA */; + return data[key]; + } else if (shared.hasOwn(props, key)) { + accessCache[key] = 3 /* PROPS */; + return props[key]; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0 /* OTHER */; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + reactivity.track(instance.attrs, "get", ""); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== shared.EMPTY_OBJ && shared.hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, shared.hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else ; + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (data !== shared.EMPTY_OBJ && shared.hasOwn(data, key)) { + data[key] = value; + return true; + } else if (shared.hasOwn(instance.props, key)) { + return false; + } + if (key[0] === "$" && key.slice(1) in instance) { + return false; + } else { + { + ctx[key] = value; + } + } + return true; + }, + has({ + _: { data, setupState, accessCache, ctx, appContext, props, type } + }, key) { + let cssModules; + return !!(accessCache[key] || data !== shared.EMPTY_OBJ && key[0] !== "$" && shared.hasOwn(data, key) || hasSetupBinding(setupState, key) || shared.hasOwn(props, key) || shared.hasOwn(ctx, key) || shared.hasOwn(publicPropertiesMap, key) || shared.hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]); + }, + defineProperty(target, key, descriptor) { + if (descriptor.get != null) { + target._.accessCache[key] = 0; + } else if (shared.hasOwn(descriptor, "value")) { + this.set(target, key, descriptor.value, null); + } + return Reflect.defineProperty(target, key, descriptor); + } +}; +const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ shared.extend({}, PublicInstanceProxyHandlers, { + get(target, key) { + if (key === Symbol.unscopables) { + return; + } + return PublicInstanceProxyHandlers.get(target, key, target); + }, + has(_, key) { + const has = key[0] !== "_" && !shared.isGloballyAllowed(key); + return has; + } +}); + +function defineProps() { + return null; +} +function defineEmits() { + return null; +} +function defineExpose(exposed) { +} +function defineOptions(options) { +} +function defineSlots() { + return null; +} +function defineModel() { +} +function withDefaults(props, defaults) { + return null; +} +function useSlots() { + return getContext().slots; +} +function useAttrs() { + return getContext().attrs; +} +function getContext(calledFunctionName) { + const i = getCurrentInstance(); + return i.setupContext || (i.setupContext = createSetupContext(i)); +} +function normalizePropsOrEmits(props) { + return shared.isArray(props) ? props.reduce( + (normalized, p) => (normalized[p] = null, normalized), + {} + ) : props; +} +function mergeDefaults(raw, defaults) { + const props = normalizePropsOrEmits(raw); + for (const key in defaults) { + if (key.startsWith("__skip")) continue; + let opt = props[key]; + if (opt) { + if (shared.isArray(opt) || shared.isFunction(opt)) { + opt = props[key] = { type: opt, default: defaults[key] }; + } else { + opt.default = defaults[key]; + } + } else if (opt === null) { + opt = props[key] = { default: defaults[key] }; + } else ; + if (opt && defaults[`__skip_${key}`]) { + opt.skipFactory = true; + } + } + return props; +} +function mergeModels(a, b) { + if (!a || !b) return a || b; + if (shared.isArray(a) && shared.isArray(b)) return a.concat(b); + return shared.extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b)); +} +function createPropsRestProxy(props, excludedKeys) { + const ret = {}; + for (const key in props) { + if (!excludedKeys.includes(key)) { + Object.defineProperty(ret, key, { + enumerable: true, + get: () => props[key] + }); + } + } + return ret; +} +function withAsyncContext(getAwaitable) { + const ctx = getCurrentInstance(); + const inSSRSetup = isInSSRComponentSetup; + let awaitable = getAwaitable(); + unsetCurrentInstance(); + if (inSSRSetup) { + setInSSRSetupState(false); + } + const restore = () => { + setCurrentInstance(ctx); + if (inSSRSetup) { + setInSSRSetupState(true); + } + }; + const cleanup = () => { + if (getCurrentInstance() !== ctx) ctx.scope.off(); + unsetCurrentInstance(); + if (inSSRSetup) { + setInSSRSetupState(false); + } + }; + if (shared.isPromise(awaitable)) { + awaitable = awaitable.catch((e) => { + restore(); + Promise.resolve().then(() => Promise.resolve().then(cleanup)); + throw e; + }); + } + return [ + awaitable, + () => { + restore(); + Promise.resolve().then(cleanup); + } + ]; +} + +let shouldCacheAccess = true; +function applyOptions(instance) { + const options = resolveMergedOptions(instance); + const publicThis = instance.proxy; + const ctx = instance.ctx; + shouldCacheAccess = false; + if (options.beforeCreate) { + callHook(options.beforeCreate, instance, "bc"); + } + const { + // state + data: dataOptions, + computed: computedOptions, + methods, + watch: watchOptions, + provide: provideOptions, + inject: injectOptions, + // lifecycle + created, + beforeMount, + mounted, + beforeUpdate, + updated, + activated, + deactivated, + beforeDestroy, + beforeUnmount, + destroyed, + unmounted, + render, + renderTracked, + renderTriggered, + errorCaptured, + serverPrefetch, + // public API + expose, + inheritAttrs, + // assets + components, + directives, + filters + } = options; + const checkDuplicateProperties = null; + if (injectOptions) { + resolveInjections(injectOptions, ctx, checkDuplicateProperties); + } + if (methods) { + for (const key in methods) { + const methodHandler = methods[key]; + if (shared.isFunction(methodHandler)) { + { + ctx[key] = methodHandler.bind(publicThis); + } + } + } + } + if (dataOptions) { + const data = dataOptions.call(publicThis, publicThis); + if (!shared.isObject(data)) ; else { + instance.data = reactivity.reactive(data); + } + } + shouldCacheAccess = true; + if (computedOptions) { + for (const key in computedOptions) { + const opt = computedOptions[key]; + const get = shared.isFunction(opt) ? opt.bind(publicThis, publicThis) : shared.isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : shared.NOOP; + const set = !shared.isFunction(opt) && shared.isFunction(opt.set) ? opt.set.bind(publicThis) : shared.NOOP; + const c = computed({ + get, + set + }); + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => c.value, + set: (v) => c.value = v + }); + } + } + if (watchOptions) { + for (const key in watchOptions) { + createWatcher(watchOptions[key], ctx, publicThis, key); + } + } + if (provideOptions) { + const provides = shared.isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions; + Reflect.ownKeys(provides).forEach((key) => { + provide(key, provides[key]); + }); + } + if (created) { + callHook(created, instance, "c"); + } + function registerLifecycleHook(register, hook) { + if (shared.isArray(hook)) { + hook.forEach((_hook) => register(_hook.bind(publicThis))); + } else if (hook) { + register(hook.bind(publicThis)); + } + } + registerLifecycleHook(onBeforeMount, beforeMount); + registerLifecycleHook(onMounted, mounted); + registerLifecycleHook(onBeforeUpdate, beforeUpdate); + registerLifecycleHook(onUpdated, updated); + registerLifecycleHook(onActivated, activated); + registerLifecycleHook(onDeactivated, deactivated); + registerLifecycleHook(onErrorCaptured, errorCaptured); + registerLifecycleHook(onRenderTracked, renderTracked); + registerLifecycleHook(onRenderTriggered, renderTriggered); + registerLifecycleHook(onBeforeUnmount, beforeUnmount); + registerLifecycleHook(onUnmounted, unmounted); + registerLifecycleHook(onServerPrefetch, serverPrefetch); + if (shared.isArray(expose)) { + if (expose.length) { + const exposed = instance.exposed || (instance.exposed = {}); + expose.forEach((key) => { + Object.defineProperty(exposed, key, { + get: () => publicThis[key], + set: (val) => publicThis[key] = val, + enumerable: true + }); + }); + } else if (!instance.exposed) { + instance.exposed = {}; + } + } + if (render && instance.render === shared.NOOP) { + instance.render = render; + } + if (inheritAttrs != null) { + instance.inheritAttrs = inheritAttrs; + } + if (components) instance.components = components; + if (directives) instance.directives = directives; + if (serverPrefetch) { + markAsyncBoundary(instance); + } +} +function resolveInjections(injectOptions, ctx, checkDuplicateProperties = shared.NOOP) { + if (shared.isArray(injectOptions)) { + injectOptions = normalizeInject(injectOptions); + } + for (const key in injectOptions) { + const opt = injectOptions[key]; + let injected; + if (shared.isObject(opt)) { + if ("default" in opt) { + injected = inject( + opt.from || key, + opt.default, + true + ); + } else { + injected = inject(opt.from || key); + } + } else { + injected = inject(opt); + } + if (reactivity.isRef(injected)) { + Object.defineProperty(ctx, key, { + enumerable: true, + configurable: true, + get: () => injected.value, + set: (v) => injected.value = v + }); + } else { + ctx[key] = injected; + } + } +} +function callHook(hook, instance, type) { + callWithAsyncErrorHandling( + shared.isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy), + instance, + type + ); +} +function createWatcher(raw, ctx, publicThis, key) { + let getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key]; + if (shared.isString(raw)) { + const handler = ctx[raw]; + if (shared.isFunction(handler)) { + { + watch(getter, handler); + } + } + } else if (shared.isFunction(raw)) { + { + watch(getter, raw.bind(publicThis)); + } + } else if (shared.isObject(raw)) { + if (shared.isArray(raw)) { + raw.forEach((r) => createWatcher(r, ctx, publicThis, key)); + } else { + const handler = shared.isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler]; + if (shared.isFunction(handler)) { + watch(getter, handler, raw); + } + } + } else ; +} +function resolveMergedOptions(instance) { + const base = instance.type; + const { mixins, extends: extendsOptions } = base; + const { + mixins: globalMixins, + optionsCache: cache, + config: { optionMergeStrategies } + } = instance.appContext; + const cached = cache.get(base); + let resolved; + if (cached) { + resolved = cached; + } else if (!globalMixins.length && !mixins && !extendsOptions) { + { + resolved = base; + } + } else { + resolved = {}; + if (globalMixins.length) { + globalMixins.forEach( + (m) => mergeOptions(resolved, m, optionMergeStrategies, true) + ); + } + mergeOptions(resolved, base, optionMergeStrategies); + } + if (shared.isObject(base)) { + cache.set(base, resolved); + } + return resolved; +} +function mergeOptions(to, from, strats, asMixin = false) { + const { mixins, extends: extendsOptions } = from; + if (extendsOptions) { + mergeOptions(to, extendsOptions, strats, true); + } + if (mixins) { + mixins.forEach( + (m) => mergeOptions(to, m, strats, true) + ); + } + for (const key in from) { + if (asMixin && key === "expose") ; else { + const strat = internalOptionMergeStrats[key] || strats && strats[key]; + to[key] = strat ? strat(to[key], from[key]) : from[key]; + } + } + return to; +} +const internalOptionMergeStrats = { + data: mergeDataFn, + props: mergeEmitsOrPropsOptions, + emits: mergeEmitsOrPropsOptions, + // objects + methods: mergeObjectOptions, + computed: mergeObjectOptions, + // lifecycle + beforeCreate: mergeAsArray, + created: mergeAsArray, + beforeMount: mergeAsArray, + mounted: mergeAsArray, + beforeUpdate: mergeAsArray, + updated: mergeAsArray, + beforeDestroy: mergeAsArray, + beforeUnmount: mergeAsArray, + destroyed: mergeAsArray, + unmounted: mergeAsArray, + activated: mergeAsArray, + deactivated: mergeAsArray, + errorCaptured: mergeAsArray, + serverPrefetch: mergeAsArray, + // assets + components: mergeObjectOptions, + directives: mergeObjectOptions, + // watch + watch: mergeWatchOptions, + // provide / inject + provide: mergeDataFn, + inject: mergeInject +}; +function mergeDataFn(to, from) { + if (!from) { + return to; + } + if (!to) { + return from; + } + return function mergedDataFn() { + return (shared.extend)( + shared.isFunction(to) ? to.call(this, this) : to, + shared.isFunction(from) ? from.call(this, this) : from + ); + }; +} +function mergeInject(to, from) { + return mergeObjectOptions(normalizeInject(to), normalizeInject(from)); +} +function normalizeInject(raw) { + if (shared.isArray(raw)) { + const res = {}; + for (let i = 0; i < raw.length; i++) { + res[raw[i]] = raw[i]; + } + return res; + } + return raw; +} +function mergeAsArray(to, from) { + return to ? [...new Set([].concat(to, from))] : from; +} +function mergeObjectOptions(to, from) { + return to ? shared.extend(/* @__PURE__ */ Object.create(null), to, from) : from; +} +function mergeEmitsOrPropsOptions(to, from) { + if (to) { + if (shared.isArray(to) && shared.isArray(from)) { + return [.../* @__PURE__ */ new Set([...to, ...from])]; + } + return shared.extend( + /* @__PURE__ */ Object.create(null), + normalizePropsOrEmits(to), + normalizePropsOrEmits(from != null ? from : {}) + ); + } else { + return from; + } +} +function mergeWatchOptions(to, from) { + if (!to) return from; + if (!from) return to; + const merged = shared.extend(/* @__PURE__ */ Object.create(null), to); + for (const key in from) { + merged[key] = mergeAsArray(to[key], from[key]); + } + return merged; +} + +function createAppContext() { + return { + app: null, + config: { + isNativeTag: shared.NO, + performance: false, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {} + }, + mixins: [], + components: {}, + directives: {}, + provides: /* @__PURE__ */ Object.create(null), + optionsCache: /* @__PURE__ */ new WeakMap(), + propsCache: /* @__PURE__ */ new WeakMap(), + emitsCache: /* @__PURE__ */ new WeakMap() + }; +} +let uid$1 = 0; +function createAppAPI(render, hydrate) { + return function createApp(rootComponent, rootProps = null) { + if (!shared.isFunction(rootComponent)) { + rootComponent = shared.extend({}, rootComponent); + } + if (rootProps != null && !shared.isObject(rootProps)) { + rootProps = null; + } + const context = createAppContext(); + const installedPlugins = /* @__PURE__ */ new WeakSet(); + const pluginCleanupFns = []; + let isMounted = false; + const app = context.app = { + _uid: uid$1++, + _component: rootComponent, + _props: rootProps, + _container: null, + _context: context, + _instance: null, + version, + get config() { + return context.config; + }, + set config(v) { + }, + use(plugin, ...options) { + if (installedPlugins.has(plugin)) ; else if (plugin && shared.isFunction(plugin.install)) { + installedPlugins.add(plugin); + plugin.install(app, ...options); + } else if (shared.isFunction(plugin)) { + installedPlugins.add(plugin); + plugin(app, ...options); + } else ; + return app; + }, + mixin(mixin) { + { + if (!context.mixins.includes(mixin)) { + context.mixins.push(mixin); + } + } + return app; + }, + component(name, component) { + if (!component) { + return context.components[name]; + } + context.components[name] = component; + return app; + }, + directive(name, directive) { + if (!directive) { + return context.directives[name]; + } + context.directives[name] = directive; + return app; + }, + mount(rootContainer, isHydrate, namespace) { + if (!isMounted) { + const vnode = app._ceVNode || createVNode(rootComponent, rootProps); + vnode.appContext = context; + if (namespace === true) { + namespace = "svg"; + } else if (namespace === false) { + namespace = void 0; + } + if (isHydrate && hydrate) { + hydrate(vnode, rootContainer); + } else { + render(vnode, rootContainer, namespace); + } + isMounted = true; + app._container = rootContainer; + rootContainer.__vue_app__ = app; + return getComponentPublicInstance(vnode.component); + } + }, + onUnmount(cleanupFn) { + pluginCleanupFns.push(cleanupFn); + }, + unmount() { + if (isMounted) { + callWithAsyncErrorHandling( + pluginCleanupFns, + app._instance, + 16 + ); + render(null, app._container); + delete app._container.__vue_app__; + } + }, + provide(key, value) { + context.provides[key] = value; + return app; + }, + runWithContext(fn) { + const lastApp = currentApp; + currentApp = app; + try { + return fn(); + } finally { + currentApp = lastApp; + } + } + }; + return app; + }; +} +let currentApp = null; + +function useModel(props, name, options = shared.EMPTY_OBJ) { + const i = getCurrentInstance(); + const camelizedName = shared.camelize(name); + const hyphenatedName = shared.hyphenate(name); + const modifiers = getModelModifiers(props, camelizedName); + const res = reactivity.customRef((track, trigger) => { + let localValue; + let prevSetValue = shared.EMPTY_OBJ; + let prevEmittedValue; + watchSyncEffect(() => { + const propValue = props[camelizedName]; + if (shared.hasChanged(localValue, propValue)) { + localValue = propValue; + trigger(); + } + }); + return { + get() { + track(); + return options.get ? options.get(localValue) : localValue; + }, + set(value) { + const emittedValue = options.set ? options.set(value) : value; + if (!shared.hasChanged(emittedValue, localValue) && !(prevSetValue !== shared.EMPTY_OBJ && shared.hasChanged(value, prevSetValue))) { + return; + } + const rawProps = i.vnode.props; + const hasVModel = !!(rawProps && // check if parent has passed v-model + (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)); + if (!hasVModel) { + localValue = value; + trigger(); + } + i.emit(`update:${name}`, emittedValue); + if (shared.hasChanged(value, prevSetValue) && (shared.hasChanged(value, emittedValue) && !shared.hasChanged(emittedValue, prevEmittedValue) || // #13524: browsers differ in when they flush microtasks between + // event listeners. If a v-model listener emits an intermediate value + // and a following listener restores the model to its previous prop + // value before parent updates are flushed, the parent render can be + // deduped as having no prop change. Force a local update so DOM state + // such as an input's value is synchronized back to the current model. + hasVModel && prevSetValue !== shared.EMPTY_OBJ && !shared.hasChanged(emittedValue, localValue))) { + trigger(); + } + prevSetValue = value; + prevEmittedValue = emittedValue; + } + }; + }); + res[Symbol.iterator] = () => { + let i2 = 0; + return { + next() { + if (i2 < 2) { + return { value: i2++ ? modifiers || shared.EMPTY_OBJ : res, done: false }; + } else { + return { done: true }; + } + } + }; + }; + return res; +} +const getModelModifiers = (props, modelName) => { + return modelName === "modelValue" || modelName === "model-value" ? props.modelModifiers : props[`${modelName}Modifiers`] || props[`${shared.camelize(modelName)}Modifiers`] || props[`${shared.hyphenate(modelName)}Modifiers`]; +}; + +function emit(instance, event, ...rawArgs) { + if (instance.isUnmounted) return; + const props = instance.vnode.props || shared.EMPTY_OBJ; + let args = rawArgs; + const isModelListener = event.startsWith("update:"); + const modifiers = isModelListener && getModelModifiers(props, event.slice(7)); + if (modifiers) { + if (modifiers.trim) { + args = rawArgs.map((a) => shared.isString(a) ? a.trim() : a); + } + if (modifiers.number) { + args = args.map(shared.looseToNumber); + } + } + let handlerName; + let handler = props[handlerName = shared.toHandlerKey(event)] || // also try camelCase event handler (#2249) + props[handlerName = shared.toHandlerKey(shared.camelize(event))]; + if (!handler && isModelListener) { + handler = props[handlerName = shared.toHandlerKey(shared.hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling( + handler, + instance, + 6, + args + ); + } + const onceHandler = props[handlerName + `Once`]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling( + onceHandler, + instance, + 6, + args + ); + } +} +const mixinEmitsCache = /* @__PURE__ */ new WeakMap(); +function normalizeEmitsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinEmitsCache : appContext.emitsCache; + const cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + const raw = comp.emits; + let normalized = {}; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendEmits = (raw2) => { + const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + shared.extend(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (shared.isArray(raw)) { + raw.forEach((key) => normalized[key] = null); + } else { + shared.extend(normalized, raw); + } + if (shared.isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !shared.isOn(key)) { + return false; + } + key = key.slice(2); + key = key === "Once" ? key : key.replace(/Once$/, ""); + return shared.hasOwn(options, key[0].toLowerCase() + key.slice(1)) || shared.hasOwn(options, shared.hyphenate(key)) || shared.hasOwn(options, key); +} + +function markAttrsAccessed() { +} +function renderComponentRoot(instance) { + const { + type: Component, + vnode, + proxy, + withProxy, + propsOptions: [propsOptions], + slots, + attrs, + emit, + render, + renderCache, + props, + data, + setupState, + ctx, + inheritAttrs + } = instance; + const prev = setCurrentRenderingInstance(instance); + let result; + let fallthroughAttrs; + try { + if (vnode.shapeFlag & 4) { + const proxyToUse = withProxy || proxy; + const thisProxy = false ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn( + `Property '${String( + key + )}' was accessed via 'this'. Avoid using 'this' in templates.` + ); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode( + render.call( + thisProxy, + proxyToUse, + renderCache, + false ? shallowReadonly(props) : props, + setupState, + data, + ctx + ) + ); + fallthroughAttrs = attrs; + } else { + const render2 = Component; + if (false) ; + result = normalizeVNode( + render2.length > 1 ? render2( + false ? shallowReadonly(props) : props, + false ? { + get attrs() { + markAttrsAccessed(); + return shallowReadonly(attrs); + }, + slots, + emit + } : { attrs, slots, emit } + ) : render2( + false ? shallowReadonly(props) : props, + null + ) + ); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + let root = result; + if (fallthroughAttrs && inheritAttrs !== false) { + const keys = Object.keys(fallthroughAttrs); + const { shapeFlag } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(shared.isModelListener)) { + fallthroughAttrs = filterModelListeners( + fallthroughAttrs, + propsOptions + ); + } + root = cloneVNode(root, fallthroughAttrs, false, true); + } + } + } + if (vnode.dirs) { + root = cloneVNode(root, null, false, true); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root; + setTransitionHooks(child, vnode.transition); + } + { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +function filterSingleRoot(children, recurse = true) { + let singleRoot; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + } + } + } else { + return; + } + } + return singleRoot; +} +const getFunctionalFallthrough = (attrs) => { + let res; + for (const key in attrs) { + if (key === "class" || key === "style" || shared.isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +const filterModelListeners = (attrs, props) => { + const res = {}; + for (const key in attrs) { + if (!shared.isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + const { props: prevProps, children: prevChildren, component } = prevVNode; + const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; + const emits = component.emitsOptions; + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + const dynamicProps = nextVNode.dynamicProps; + for (let i = 0; i < dynamicProps.length; i++) { + const key = dynamicProps[i]; + if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + const nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (let i = 0; i < nextKeys.length; i++) { + const key = nextKeys[i]; + if (!shared.hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function hasPropValueChanged(nextProps, prevProps, key) { + const nextProp = nextProps[key]; + const prevProp = prevProps[key]; + if (key === "style" && shared.isObject(nextProp) && shared.isObject(prevProp)) { + return !shared.looseEqual(nextProp, prevProp); + } + return nextProp !== prevProp; +} +function updateHOCHostEl({ vnode, parent, suspense }, el) { + while (parent) { + const root = parent.subTree; + if (root.suspense && root.suspense.activeBranch === vnode) { + root.suspense.vnode.el = root.el = el; + vnode = root; + } + if (root === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } + if (suspense && suspense.activeBranch === vnode) { + suspense.vnode.el = el; + } +} + +const internalObjectProto = {}; +const createInternalObject = () => Object.create(internalObjectProto); +const isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto; + +function initProps(instance, rawProps, isStateful, isSSR = false) { + const props = {}; + const attrs = createInternalObject(); + instance.propsDefaults = /* @__PURE__ */ Object.create(null); + setFullProps(instance, rawProps, props, attrs); + for (const key in instance.propsOptions[0]) { + if (!(key in props)) { + props[key] = void 0; + } + } + if (isStateful) { + instance.props = isSSR ? props : reactivity.shallowReactive(props); + } else { + if (!instance.type.props) { + instance.props = attrs; + } else { + instance.props = props; + } + } + instance.attrs = attrs; +} +function updateProps(instance, rawProps, rawPrevProps, optimized) { + const { + props, + attrs, + vnode: { patchFlag } + } = instance; + const rawCurrentProps = reactivity.toRaw(props); + const [options] = instance.propsOptions; + let hasAttrsChanged = false; + if ( + // always force full diff in dev + // - #1942 if hmr is enabled with sfc component + // - vite#872 non-sfc component used by sfc component + (optimized || patchFlag > 0) && !(patchFlag & 16) + ) { + if (patchFlag & 8) { + const propsToUpdate = instance.vnode.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + let key = propsToUpdate[i]; + if (isEmitListener(instance.emitsOptions, key)) { + continue; + } + const value = rawProps[key]; + if (options) { + if (shared.hasOwn(attrs, key)) { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } else { + const camelizedKey = shared.camelize(key); + props[camelizedKey] = resolvePropValue( + options, + rawCurrentProps, + camelizedKey, + value, + instance, + false + ); + } + } else { + if (value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + } else { + if (setFullProps(instance, rawProps, props, attrs)) { + hasAttrsChanged = true; + } + let kebabKey; + for (const key in rawCurrentProps) { + if (!rawProps || // for camelCase + !shared.hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case + // and converted to camelCase (#955) + ((kebabKey = shared.hyphenate(key)) === key || !shared.hasOwn(rawProps, kebabKey))) { + if (options) { + if (rawPrevProps && // for camelCase + (rawPrevProps[key] !== void 0 || // for kebab-case + rawPrevProps[kebabKey] !== void 0)) { + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + void 0, + instance, + true + ); + } + } else { + delete props[key]; + } + } + } + if (attrs !== rawCurrentProps) { + for (const key in attrs) { + if (!rawProps || !shared.hasOwn(rawProps, key) && true) { + delete attrs[key]; + hasAttrsChanged = true; + } + } + } + } + if (hasAttrsChanged) { + reactivity.trigger(instance.attrs, "set", ""); + } +} +function setFullProps(instance, rawProps, props, attrs) { + const [options, needCastKeys] = instance.propsOptions; + let hasAttrsChanged = false; + let rawCastValues; + if (rawProps) { + for (let key in rawProps) { + if (shared.isReservedProp(key)) { + continue; + } + const value = rawProps[key]; + let camelKey; + if (options && shared.hasOwn(options, camelKey = shared.camelize(key))) { + if (!needCastKeys || !needCastKeys.includes(camelKey)) { + props[camelKey] = value; + } else { + (rawCastValues || (rawCastValues = {}))[camelKey] = value; + } + } else if (!isEmitListener(instance.emitsOptions, key)) { + if (!(key in attrs) || value !== attrs[key]) { + attrs[key] = value; + hasAttrsChanged = true; + } + } + } + } + if (needCastKeys) { + const rawCurrentProps = reactivity.toRaw(props); + const castValues = rawCastValues || shared.EMPTY_OBJ; + for (let i = 0; i < needCastKeys.length; i++) { + const key = needCastKeys[i]; + props[key] = resolvePropValue( + options, + rawCurrentProps, + key, + castValues[key], + instance, + !shared.hasOwn(castValues, key) + ); + } + } + return hasAttrsChanged; +} +function resolvePropValue(options, props, key, value, instance, isAbsent) { + const opt = options[key]; + if (opt != null) { + const hasDefault = shared.hasOwn(opt, "default"); + if (hasDefault && value === void 0) { + const defaultValue = opt.default; + if (opt.type !== Function && !opt.skipFactory && shared.isFunction(defaultValue)) { + const { propsDefaults } = instance; + if (key in propsDefaults) { + value = propsDefaults[key]; + } else { + const reset = setCurrentInstance(instance); + value = propsDefaults[key] = defaultValue.call( + null, + props + ); + reset(); + } + } else { + value = defaultValue; + } + if (instance.ce) { + instance.ce._setProp(key, value); + } + } + if (opt[0 /* shouldCast */]) { + if (isAbsent && !hasDefault) { + value = false; + } else if (opt[1 /* shouldCastTrue */] && (value === "" || value === shared.hyphenate(key))) { + value = true; + } + } + } + return value; +} +const mixinPropsCache = /* @__PURE__ */ new WeakMap(); +function normalizePropsOptions(comp, appContext, asMixin = false) { + const cache = asMixin ? mixinPropsCache : appContext.propsCache; + const cached = cache.get(comp); + if (cached) { + return cached; + } + const raw = comp.props; + const normalized = {}; + const needCastKeys = []; + let hasExtends = false; + if (!shared.isFunction(comp)) { + const extendProps = (raw2) => { + hasExtends = true; + const [props, keys] = normalizePropsOptions(raw2, appContext, true); + shared.extend(normalized, props); + if (keys) needCastKeys.push(...keys); + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendProps); + } + if (comp.extends) { + extendProps(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendProps); + } + } + if (!raw && !hasExtends) { + if (shared.isObject(comp)) { + cache.set(comp, shared.EMPTY_ARR); + } + return shared.EMPTY_ARR; + } + if (shared.isArray(raw)) { + for (let i = 0; i < raw.length; i++) { + const normalizedKey = shared.camelize(raw[i]); + if (validatePropName(normalizedKey)) { + normalized[normalizedKey] = shared.EMPTY_OBJ; + } + } + } else if (raw) { + for (const key in raw) { + const normalizedKey = shared.camelize(key); + if (validatePropName(normalizedKey)) { + const opt = raw[key]; + const prop = normalized[normalizedKey] = shared.isArray(opt) || shared.isFunction(opt) ? { type: opt } : shared.extend({}, opt); + const propType = prop.type; + let shouldCast = false; + let shouldCastTrue = true; + if (shared.isArray(propType)) { + for (let index = 0; index < propType.length; ++index) { + const type = propType[index]; + const typeName = shared.isFunction(type) && type.name; + if (typeName === "Boolean") { + shouldCast = true; + break; + } else if (typeName === "String") { + shouldCastTrue = false; + } + } + } else { + shouldCast = shared.isFunction(propType) && propType.name === "Boolean"; + } + prop[0 /* shouldCast */] = shouldCast; + prop[1 /* shouldCastTrue */] = shouldCastTrue; + if (shouldCast || shared.hasOwn(prop, "default")) { + needCastKeys.push(normalizedKey); + } + } + } + } + const res = [normalized, needCastKeys]; + if (shared.isObject(comp)) { + cache.set(comp, res); + } + return res; +} +function validatePropName(key) { + if (key[0] !== "$" && !shared.isReservedProp(key)) { + return true; + } + return false; +} + +const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable"; +const normalizeSlotValue = (value) => shared.isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)]; +const normalizeSlot = (key, rawSlot, ctx) => { + if (rawSlot._n) { + return rawSlot; + } + const normalized = withCtx((...args) => { + if (false) ; + return normalizeSlotValue(rawSlot(...args)); + }, ctx); + normalized._c = false; + return normalized; +}; +const normalizeObjectSlots = (rawSlots, slots, instance) => { + const ctx = rawSlots._ctx; + for (const key in rawSlots) { + if (isInternalKey(key)) continue; + const value = rawSlots[key]; + if (shared.isFunction(value)) { + slots[key] = normalizeSlot(key, value, ctx); + } else if (value != null) { + const normalized = normalizeSlotValue(value); + slots[key] = () => normalized; + } + } +}; +const normalizeVNodeSlots = (instance, children) => { + const normalized = normalizeSlotValue(children); + instance.slots.default = () => normalized; +}; +const assignSlots = (slots, children, optimized) => { + for (const key in children) { + if (optimized || !isInternalKey(key)) { + slots[key] = children[key]; + } + } +}; +const initSlots = (instance, children, optimized) => { + const slots = instance.slots = createInternalObject(); + if (instance.vnode.shapeFlag & 32) { + const type = children._; + if (type) { + assignSlots(slots, children, optimized); + if (optimized) { + shared.def(slots, "_", type, true); + } + } else { + normalizeObjectSlots(children, slots); + } + } else if (children) { + normalizeVNodeSlots(instance, children); + } +}; +const updateSlots = (instance, children, optimized) => { + const { vnode, slots } = instance; + let needDeletionCheck = true; + let deletionComparisonTarget = shared.EMPTY_OBJ; + if (vnode.shapeFlag & 32) { + const type = children._; + if (type) { + if (optimized && type === 1) { + needDeletionCheck = false; + } else { + assignSlots(slots, children, optimized); + } + } else { + needDeletionCheck = !children.$stable; + normalizeObjectSlots(children, slots); + } + deletionComparisonTarget = children; + } else if (children) { + normalizeVNodeSlots(instance, children); + deletionComparisonTarget = { default: 1 }; + } + if (needDeletionCheck) { + for (const key in slots) { + if (!isInternalKey(key) && deletionComparisonTarget[key] == null) { + delete slots[key]; + } + } + } +}; + +const queuePostRenderEffect = queueEffectWithSuspense ; +function createRenderer(options) { + return baseCreateRenderer(options); +} +function createHydrationRenderer(options) { + return baseCreateRenderer(options, createHydrationFunctions); +} +function baseCreateRenderer(options, createHydrationFns) { + const target = shared.getGlobalThis(); + target.__VUE__ = true; + const { + insert: hostInsert, + remove: hostRemove, + patchProp: hostPatchProp, + createElement: hostCreateElement, + createText: hostCreateText, + createComment: hostCreateComment, + setText: hostSetText, + setElementText: hostSetElementText, + parentNode: hostParentNode, + nextSibling: hostNextSibling, + setScopeId: hostSetScopeId = shared.NOOP, + insertStaticContent: hostInsertStaticContent + } = options; + const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!n2.dynamicChildren) => { + if (n1 === n2) { + return; + } + if (n1 && !isSameVNodeType(n1, n2)) { + anchor = getNextHostNode(n1); + unmount(n1, parentComponent, parentSuspense, true); + n1 = null; + } + if (n2.patchFlag === -2) { + optimized = false; + n2.dynamicChildren = null; + } + if (n2.dynamicChildren && n1 && n1.dynamicChildren && n1.dynamicChildren.hasOnce) { + if (n2.dynamicChildren === shared.EMPTY_ARR) { + n2.dynamicChildren = []; + } + n2.dynamicChildren.hasOnce = true; + } + const { type, ref, shapeFlag } = n2; + switch (type) { + case Text: + processText(n1, n2, container, anchor); + break; + case Comment: + processCommentNode(n1, n2, container, anchor); + break; + case Static: + if (n1 == null) { + mountStaticNode(n2, container, anchor, namespace); + } + break; + case Fragment: + processFragment( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + break; + default: + if (shapeFlag & 1) { + processElement( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 6) { + processComponent( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (shapeFlag & 64) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else if (shapeFlag & 128) { + type.process( + n1, + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + internals + ); + } else ; + } + if (ref != null && parentComponent) { + setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2); + } else if (ref == null && n1 && n1.ref != null) { + setRef(n1.ref, null, parentSuspense, n1, true); + } + }; + const processText = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateText(n2.children), + container, + anchor + ); + } else { + const el = n2.el = n1.el; + if (n2.children !== n1.children) { + hostSetText(el, n2.children); + } + } + }; + const processCommentNode = (n1, n2, container, anchor) => { + if (n1 == null) { + hostInsert( + n2.el = hostCreateComment(n2.children || ""), + container, + anchor + ); + } else { + n2.el = n1.el; + } + }; + const mountStaticNode = (n2, container, anchor, namespace) => { + [n2.el, n2.anchor] = hostInsertStaticContent( + n2.children, + container, + anchor, + namespace, + n2.el, + n2.anchor + ); + }; + const moveStaticNode = ({ el, anchor }, container, nextSibling) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostInsert(el, container, nextSibling); + el = next; + } + hostInsert(anchor, container, nextSibling); + }; + const removeStaticNode = ({ el, anchor }) => { + let next; + while (el && el !== anchor) { + next = hostNextSibling(el); + hostRemove(el); + el = next; + } + hostRemove(anchor); + }; + const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + if (n2.type === "svg") { + namespace = "svg"; + } else if (n2.type === "math") { + namespace = "mathml"; + } + if (n1 == null) { + mountElement( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + const customElement = n1.el && n1.el._isVueCE ? n1.el : null; + try { + if (customElement) { + customElement._beginPatch(); + } + patchElement( + n1, + n2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } finally { + if (customElement) { + customElement._endPatch(); + } + } + } + }; + const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let el; + let vnodeHook; + const { props, shapeFlag, transition, dirs } = vnode; + el = vnode.el = hostCreateElement( + vnode.type, + namespace, + props && props.is, + props + ); + if (shapeFlag & 8) { + hostSetElementText(el, vnode.children); + } else if (shapeFlag & 16) { + mountChildren( + vnode.children, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(vnode, namespace), + slotScopeIds, + optimized + ); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent); + if (props) { + for (const key in props) { + if (key !== "value" && !shared.isReservedProp(key)) { + hostPatchProp(el, key, null, props[key], namespace, parentComponent); + } + } + if ("value" in props) { + hostPatchProp(el, "value", null, props.value, namespace); + } + if (vnodeHook = props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + const needCallTransitionHooks = needTransition(parentSuspense, transition); + if (needCallTransitionHooks) { + transition.beforeEnter(el); + } + hostInsert(el, container, anchor); + if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) { + queuePostRenderEffect(() => { + try { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + } finally { + } + }, parentSuspense); + } + }; + const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => { + if (scopeId) { + hostSetScopeId(el, scopeId); + } + if (slotScopeIds) { + for (let i = 0; i < slotScopeIds.length; i++) { + hostSetScopeId(el, slotScopeIds[i]); + } + } + if (parentComponent) { + let subTree = parentComponent.subTree; + if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) { + const parentVNode = parentComponent.vnode; + setScopeId( + el, + parentVNode, + parentVNode.scopeId, + parentVNode.slotScopeIds, + parentComponent.parent + ); + } + } + }; + const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => { + for (let i = start; i < children.length; i++) { + const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]); + patch( + null, + child, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const el = n2.el = n1.el; + let { patchFlag, dynamicChildren, dirs } = n2; + patchFlag |= n1.patchFlag & 16; + const oldProps = n1.props || shared.EMPTY_OBJ; + const newProps = n2.props || shared.EMPTY_OBJ; + let vnodeHook; + parentComponent && toggleRecurse(parentComponent, false); + if (vnodeHook = newProps.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + } + if (dirs) { + invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate"); + } + parentComponent && toggleRecurse(parentComponent, true); + if ( + // #6385 the old vnode may be a user-wrapped non-isomorphic block + // Force full diff when block metadata is unstable. + dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length) + ) { + patchFlag = 0; + optimized = false; + dynamicChildren = null; + } + if (oldProps.innerHTML && newProps.innerHTML == null || oldProps.textContent && newProps.textContent == null) { + hostSetElementText(el, ""); + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + el, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds + ); + } else if (!optimized) { + patchChildren( + n1, + n2, + el, + null, + parentComponent, + parentSuspense, + resolveChildrenNamespace(n2, namespace), + slotScopeIds, + false + ); + } + if (patchFlag > 0) { + if (patchFlag & 16) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } else { + if (patchFlag & 2) { + if (oldProps.class !== newProps.class) { + hostPatchProp(el, "class", null, newProps.class, namespace); + } + } + if (patchFlag & 4) { + hostPatchProp(el, "style", oldProps.style, newProps.style, namespace); + } + if (patchFlag & 8) { + const propsToUpdate = n2.dynamicProps; + for (let i = 0; i < propsToUpdate.length; i++) { + const key = propsToUpdate[i]; + const prev = oldProps[key]; + const next = newProps[key]; + if (next !== prev || key === "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + } + } + if (patchFlag & 1) { + if (n1.children !== n2.children) { + hostSetElementText(el, n2.children); + } + } + } else if (!optimized && dynamicChildren == null) { + patchProps(el, oldProps, newProps, parentComponent, namespace); + } + if ((vnodeHook = newProps.onVnodeUpdated) || dirs) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1); + dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated"); + }, parentSuspense); + } + }; + const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => { + for (let i = 0; i < newChildren.length; i++) { + const oldVNode = oldChildren[i]; + const newVNode = newChildren[i]; + const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode); + const container = ( + // oldVNode may be an errored async setup() component inside Suspense + // which will not have a mounted element + oldEl && // - In the case of a Fragment, we need to provide the actual parent + // of the Fragment itself so it can move its children. + (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement + // which also requires the correct parent container + !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything. + oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldEl) : ( + // In other cases, the parent container is not actually used so we + // just pass the block element here to avoid a DOM parentNode call. + fallbackContainer + ) + ); + patch( + oldVNode, + newVNode, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + true + ); + } + }; + const patchProps = (el, oldProps, newProps, parentComponent, namespace) => { + if (oldProps !== newProps) { + if (oldProps !== shared.EMPTY_OBJ) { + for (const key in oldProps) { + if (!shared.isReservedProp(key) && !(key in newProps)) { + hostPatchProp( + el, + key, + oldProps[key], + null, + namespace, + parentComponent + ); + } + } + } + for (const key in newProps) { + if (shared.isReservedProp(key)) continue; + const next = newProps[key]; + const prev = oldProps[key]; + if (next !== prev && key !== "value") { + hostPatchProp(el, key, prev, next, namespace, parentComponent); + } + } + if ("value" in newProps) { + hostPatchProp(el, "value", oldProps.value, newProps.value, namespace); + } + } + }; + const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(""); + const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(""); + let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + if (n1 == null) { + hostInsert(fragmentStartAnchor, container, anchor); + hostInsert(fragmentEndAnchor, container, anchor); + mountChildren( + // #10007 + // such fragment like `<></>` will be compiled into + // a fragment which doesn't have a children. + // In this case fallback to an empty array + n2.children || [], + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result + // of renderSlot() with no valid children + n1.dynamicChildren && n1.dynamicChildren.length === dynamicChildren.length) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + container, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + if ( + // #2080 if the stable fragment has a key, it's a <template v-for> that may + // get moved around. Make sure all root level vnodes inherit el. + // #2134 or if it's a component root, it may also get moved around + // as the component is being moved. + n2.key != null || parentComponent && n2 === parentComponent.subTree + ) { + traverseStaticChildren( + n1, + n2, + true + /* shallow */ + ); + } + } else { + patchChildren( + n1, + n2, + container, + fragmentEndAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + }; + const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + n2.slotScopeIds = slotScopeIds; + if (n1 == null) { + if (n2.shapeFlag & 512) { + parentComponent.ctx.activate( + n2, + container, + anchor, + namespace, + optimized + ); + } else { + mountComponent( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + optimized + ); + } + } else { + updateComponent(n1, n2, optimized); + } + }; + const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => { + const instance = (initialVNode.component = createComponentInstance( + initialVNode, + parentComponent, + parentSuspense + )); + if (isKeepAlive(initialVNode)) { + instance.ctx.renderer = internals; + } + { + setupComponent(instance, false, optimized); + } + if (instance.asyncDep) { + parentSuspense && parentSuspense.registerDep( + instance, + setupRenderEffect, + optimized, + namespace + ); + if (!initialVNode.el) { + const placeholder = instance.subTree = createVNode(Comment); + processCommentNode(null, placeholder, container, anchor); + initialVNode.placeholder = placeholder.el; + } + } else { + setupRenderEffect( + instance, + initialVNode, + container, + anchor, + parentSuspense, + namespace, + optimized + ); + } + }; + const updateComponent = (n1, n2, optimized) => { + const instance = n2.component = n1.component; + if (shouldUpdateComponent(n1, n2, optimized)) { + if (instance.asyncDep && !instance.asyncResolved) { + n2.el = n1.el; + n2.placeholder = n1.placeholder; + updateComponentPreRender(instance, n2, optimized); + return; + } else { + instance.next = n2; + instance.update(); + } + } else { + n2.el = n1.el; + n2.placeholder = n1.placeholder; + instance.vnode = n2; + } + }; + const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => { + const componentUpdateFn = () => { + if (!instance.isMounted) { + let vnodeHook; + const { el, props } = initialVNode; + const { bm, m, parent, root, type } = instance; + const isAsyncWrapperVNode = isAsyncWrapper(initialVNode); + toggleRecurse(instance, false); + if (bm) { + shared.invokeArrayFns(bm); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) { + invokeVNodeHook(vnodeHook, parent, initialVNode); + } + toggleRecurse(instance, true); + if (el && hydrateNode) { + const hydrateSubTree = () => { + instance.subTree = renderComponentRoot(instance); + hydrateNode( + el, + instance.subTree, + instance, + parentSuspense, + null + ); + }; + if (isAsyncWrapperVNode && type.__asyncHydrate) { + type.__asyncHydrate( + el, + instance, + hydrateSubTree + ); + } else { + hydrateSubTree(); + } + } else { + if (root.ce && root.ce._hasShadowRoot()) { + root.ce._injectChildStyle( + type, + instance.parent ? instance.parent.type : void 0 + ); + } + const subTree = instance.subTree = renderComponentRoot(instance); + patch( + null, + subTree, + container, + anchor, + instance, + parentSuspense, + namespace + ); + initialVNode.el = subTree.el; + } + if (m) { + queuePostRenderEffect(m, parentSuspense); + } + if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) { + const scopedInitialVNode = initialVNode; + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), + parentSuspense + ); + } + if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) { + instance.a && queuePostRenderEffect(instance.a, parentSuspense); + } + instance.isMounted = true; + initialVNode = container = anchor = null; + } else { + let { next, bu, u, parent, vnode } = instance; + { + const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance); + if (nonHydratedAsyncRoot) { + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } + nonHydratedAsyncRoot.asyncDep.then(() => { + queuePostRenderEffect(() => { + if (!instance.isUnmounted) update(); + }, parentSuspense); + }); + return; + } + } + let originNext = next; + let vnodeHook; + toggleRecurse(instance, false); + if (next) { + next.el = vnode.el; + updateComponentPreRender(instance, next, optimized); + } else { + next = vnode; + } + if (bu) { + shared.invokeArrayFns(bu); + } + if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) { + invokeVNodeHook(vnodeHook, parent, next, vnode); + } + toggleRecurse(instance, true); + const nextTree = renderComponentRoot(instance); + const prevTree = instance.subTree; + instance.subTree = nextTree; + patch( + prevTree, + nextTree, + // parent may have changed if it's in a teleport + hostParentNode(prevTree.el), + // anchor may have changed if it's in a fragment + getNextHostNode(prevTree), + instance, + parentSuspense, + namespace + ); + next.el = nextTree.el; + if (originNext === null) { + updateHOCHostEl(instance, nextTree.el); + } + if (u) { + queuePostRenderEffect(u, parentSuspense); + } + if (vnodeHook = next.props && next.props.onVnodeUpdated) { + queuePostRenderEffect( + () => invokeVNodeHook(vnodeHook, parent, next, vnode), + parentSuspense + ); + } + } + }; + instance.scope.on(); + const effect = instance.effect = new reactivity.ReactiveEffect(componentUpdateFn); + instance.scope.off(); + const update = instance.update = effect.run.bind(effect); + const job = instance.job = effect.runIfDirty.bind(effect); + job.i = instance; + job.id = instance.uid; + effect.scheduler = () => queueJob(job); + toggleRecurse(instance, true); + update(); + }; + const updateComponentPreRender = (instance, nextVNode, optimized) => { + nextVNode.component = instance; + const prevProps = instance.vnode.props; + instance.vnode = nextVNode; + instance.next = null; + updateProps(instance, nextVNode.props, prevProps, optimized); + updateSlots(instance, nextVNode.children, optimized); + reactivity.pauseTracking(); + flushPreFlushCbs(instance); + reactivity.resetTracking(); + }; + const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => { + const c1 = n1 && n1.children; + const prevShapeFlag = n1 ? n1.shapeFlag : 0; + const c2 = n2.children; + const { patchFlag, shapeFlag } = n2; + if (patchFlag > 0) { + if (patchFlag & 128) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } else if (patchFlag & 256) { + patchUnkeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + return; + } + } + if (shapeFlag & 8) { + if (prevShapeFlag & 16) { + unmountChildren(c1, parentComponent, parentSuspense); + } + if (c2 !== c1) { + hostSetElementText(container, c2); + } + } else { + if (prevShapeFlag & 16) { + if (shapeFlag & 16) { + patchKeyedChildren( + c1, + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + unmountChildren(c1, parentComponent, parentSuspense, true); + } + } else { + if (prevShapeFlag & 8) { + hostSetElementText(container, ""); + } + if (shapeFlag & 16) { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + } + } + }; + const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + c1 = c1 || shared.EMPTY_ARR; + c2 = c2 || shared.EMPTY_ARR; + const oldLength = c1.length; + const newLength = c2.length; + const commonLength = Math.min(oldLength, newLength); + let i; + for (i = 0; i < commonLength; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + patch( + c1[i], + nextChild, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + if (oldLength > newLength) { + unmountChildren( + c1, + parentComponent, + parentSuspense, + true, + false, + commonLength + ); + } else { + mountChildren( + c2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + commonLength + ); + } + }; + const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => { + let i = 0; + const l2 = c2.length; + let e1 = c1.length - 1; + let e2 = l2 - 1; + while (i <= e1 && i <= e2) { + const n1 = c1[i]; + const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + i++; + } + while (i <= e1 && i <= e2) { + const n1 = c1[e1]; + const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]); + if (isSameVNodeType(n1, n2)) { + patch( + n1, + n2, + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else { + break; + } + e1--; + e2--; + } + if (i > e1) { + if (i <= e2) { + const nextPos = e2 + 1; + const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor; + while (i <= e2) { + patch( + null, + c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + i++; + } + } + } else if (i > e2) { + while (i <= e1) { + unmount(c1[i], parentComponent, parentSuspense, true); + i++; + } + } else { + const s1 = i; + const s2 = i; + const keyToNewIndexMap = /* @__PURE__ */ new Map(); + for (i = s2; i <= e2; i++) { + const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]); + if (nextChild.key != null) { + keyToNewIndexMap.set(nextChild.key, i); + } + } + let j; + let patched = 0; + const toBePatched = e2 - s2 + 1; + let moved = false; + let maxNewIndexSoFar = 0; + const newIndexToOldIndexMap = new Array(toBePatched); + for (i = 0; i < toBePatched; i++) newIndexToOldIndexMap[i] = 0; + for (i = s1; i <= e1; i++) { + const prevChild = c1[i]; + if (patched >= toBePatched) { + unmount(prevChild, parentComponent, parentSuspense, true); + continue; + } + let newIndex; + if (prevChild.key != null) { + newIndex = keyToNewIndexMap.get(prevChild.key); + } else { + for (j = s2; j <= e2; j++) { + if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) { + newIndex = j; + break; + } + } + } + if (newIndex === void 0) { + unmount(prevChild, parentComponent, parentSuspense, true); + } else { + newIndexToOldIndexMap[newIndex - s2] = i + 1; + if (newIndex >= maxNewIndexSoFar) { + maxNewIndexSoFar = newIndex; + } else { + moved = true; + } + patch( + prevChild, + c2[newIndex], + container, + null, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + patched++; + } + } + const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : shared.EMPTY_ARR; + j = increasingNewIndexSequence.length - 1; + for (i = toBePatched - 1; i >= 0; i--) { + const nextIndex = s2 + i; + const nextChild = c2[nextIndex]; + const anchorVNode = c2[nextIndex + 1]; + const anchor = nextIndex + 1 < l2 ? ( + // #13559, #14173 fallback to el placeholder for unresolved async component + anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) + ) : parentAnchor; + if (newIndexToOldIndexMap[i] === 0) { + patch( + null, + nextChild, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } else if (moved) { + if (j < 0 || i !== increasingNewIndexSequence[j]) { + move(nextChild, container, anchor, 2); + } else { + j--; + } + } + } + } + }; + const move = (vnode, container, anchor, moveType, parentSuspense = null) => { + const { el, type, transition, children, shapeFlag } = vnode; + if (shapeFlag & 6) { + move(vnode.component.subTree, container, anchor, moveType); + return; + } + if (shapeFlag & 128) { + vnode.suspense.move(container, anchor, moveType); + return; + } + if (shapeFlag & 64) { + type.move(vnode, container, anchor, internals); + return; + } + if (type === Fragment) { + hostInsert(el, container, anchor); + for (let i = 0; i < children.length; i++) { + move(children[i], container, anchor, moveType); + } + hostInsert(vnode.anchor, container, anchor); + return; + } + if (type === Static) { + moveStaticNode(vnode, container, anchor); + return; + } + const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition; + if (needTransition2) { + if (moveType === 0) { + if (transition.persisted && !el[leaveCbKey]) { + hostInsert(el, container, anchor); + } else { + transition.beforeEnter(el); + hostInsert(el, container, anchor); + queuePostRenderEffect(() => transition.enter(el), parentSuspense); + } + } else { + const { leave, delayLeave, afterLeave } = transition; + const remove2 = () => { + if (vnode.ctx.isUnmounted) { + hostRemove(el); + } else { + hostInsert(el, container, anchor); + } + }; + const performLeave = () => { + const wasLeaving = el._isLeaving || !!el[leaveCbKey]; + if (el._isLeaving) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + if (transition.persisted && !wasLeaving) { + remove2(); + } else { + leave(el, () => { + remove2(); + afterLeave && afterLeave(); + }); + } + }; + if (delayLeave) { + delayLeave(el, remove2, performLeave); + } else { + performLeave(); + } + } + } else { + hostInsert(el, container, anchor); + } + }; + const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => { + const { + type, + props, + ref, + children, + dynamicChildren, + shapeFlag, + patchFlag, + dirs, + cacheIndex, + memo + } = vnode; + if (patchFlag === -2 || dynamicChildren && dynamicChildren.hasOnce) { + optimized = false; + } + if (ref != null) { + reactivity.pauseTracking(); + setRef(ref, null, parentSuspense, vnode, true); + reactivity.resetTracking(); + } + if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) { + parentComponent.renderCache[cacheIndex] = void 0; + } + if (shapeFlag & 256) { + parentComponent.ctx.deactivate(vnode); + return; + } + const shouldInvokeDirs = shapeFlag & 1 && dirs; + const shouldInvokeVnodeHook = !isAsyncWrapper(vnode); + let vnodeHook; + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) { + invokeVNodeHook(vnodeHook, parentComponent, vnode); + } + if (shapeFlag & 6) { + unmountComponent(vnode.component, parentSuspense, doRemove); + } else { + if (shapeFlag & 128) { + vnode.suspense.unmount(parentSuspense, doRemove); + return; + } + if (shouldInvokeDirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount"); + } + if (shapeFlag & 64) { + vnode.type.remove( + vnode, + parentComponent, + parentSuspense, + internals, + doRemove + ); + } else if (dynamicChildren && // #5154 + // when v-once is used inside a block, setBlockTracking(-1) marks the + // parent block with hasOnce: true + // so that it doesn't take the fast path during unmount - otherwise + // components nested in v-once are never unmounted. + !dynamicChildren.hasOnce && // #1153: fast path should not be taken for non-stable (v-for) fragments + (type !== Fragment || patchFlag > 0 && patchFlag & 64)) { + unmountChildren( + dynamicChildren, + parentComponent, + parentSuspense, + false, + true + ); + } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) { + unmountChildren(children, parentComponent, parentSuspense); + } + if (doRemove) { + remove(vnode); + } + } + const shouldInvalidateMemo = memo != null && cacheIndex == null; + if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs || shouldInvalidateMemo) { + queuePostRenderEffect(() => { + vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode); + shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted"); + if (shouldInvalidateMemo) { + vnode.el = null; + } + }, parentSuspense); + } + }; + const remove = (vnode) => { + const { type, el, anchor, transition } = vnode; + const isFragment = type === Fragment; + if (isFragment && !transition) { + removeFragment(el, anchor); + return; + } + if (type === Static) { + removeStaticNode(vnode); + if (transition && !transition.persisted && transition.afterLeave) { + transition.afterLeave(); + } + return; + } + const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode; + const performRemove = () => { + if (isFragment) { + if (hostParentNode(el)) { + removeFragment(el, anchor); + } + } else { + hostRemove(el); + } + if (transition && !transition.persisted && transition.afterLeave) { + transition.afterLeave(); + } + }; + if (leavingNode && leavingNode.shapeFlag & 1 && transition && !transition.persisted) { + const { leave, delayLeave } = transition; + const leavingEl = leavingNode.el; + const performLeave = () => leave(leavingEl, performRemove); + if (delayLeave) { + delayLeave(leavingEl, performRemove, performLeave); + } else { + performLeave(); + } + } else { + performRemove(); + } + }; + const removeFragment = (cur, end) => { + let next; + while (cur !== end) { + next = hostNextSibling(cur); + hostRemove(cur); + cur = next; + } + hostRemove(end); + }; + const unmountComponent = (instance, parentSuspense, doRemove) => { + const { bum, scope, job, subTree, um, m, a } = instance; + invalidateMount(m); + invalidateMount(a); + if (bum) { + shared.invokeArrayFns(bum); + } + scope.stop(); + if (job) { + job.flags |= 8; + unmount(subTree, instance, parentSuspense, doRemove); + } else if (instance.vnode.el && subTree) { + subTree.transition = instance.vnode.transition; + unmount(subTree, instance, parentSuspense, doRemove); + } + if (um) { + queuePostRenderEffect(um, parentSuspense); + } + queuePostRenderEffect(() => { + instance.isUnmounted = true; + }, parentSuspense); + }; + const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => { + for (let i = start; i < children.length; i++) { + unmount(children[i], parentComponent, parentSuspense, doRemove, optimized); + } + }; + const getNextHostNode = (vnode) => { + if (vnode.shapeFlag & 6) { + return getNextHostNode(vnode.component.subTree); + } + if (vnode.shapeFlag & 128) { + return vnode.suspense.next(); + } + const el = hostNextSibling(vnode.anchor || vnode.el); + const teleportEnd = el && el[TeleportEndKey]; + return teleportEnd ? hostNextSibling(teleportEnd) : el; + }; + const render = (vnode, container, namespace) => { + const minUid = vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid(); + flushOnAppMount(() => { + if (vnode == null) { + if (container._vnode) { + unmount(container._vnode, null, null, true); + } + } else { + patch( + container._vnode || null, + vnode, + container, + null, + null, + null, + namespace + ); + } + container._vnode = vnode; + }, minUid); + }; + const internals = { + p: patch, + um: unmount, + m: move, + r: remove, + mt: mountComponent, + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + n: getNextHostNode, + o: options + }; + let hydrate; + let hydrateNode; + if (createHydrationFns) { + [hydrate, hydrateNode] = createHydrationFns( + internals + ); + } + return { + render, + hydrate, + createApp: createAppAPI(render, hydrate) + }; +} +function resolveChildrenNamespace({ type, props }, currentNamespace) { + return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace; +} +function toggleRecurse({ effect, job }, allowed) { + if (allowed) { + effect.flags |= 32; + job.flags |= 4; + } else { + effect.flags &= -33; + job.flags &= -5; + } +} +function needTransition(parentSuspense, transition) { + return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted; +} +function traverseStaticChildren(n1, n2, shallow = false) { + const ch1 = n1.children; + const ch2 = n2.children; + if (shared.isArray(ch1) && shared.isArray(ch2)) { + for (let i = 0; i < ch1.length; i++) { + const c1 = ch1[i]; + let c2 = ch2[i]; + if (c2.shapeFlag & 1 && !c2.dynamicChildren) { + if (c2.patchFlag <= 0 || c2.patchFlag === 32) { + c2 = ch2[i] = cloneIfMounted(ch2[i]); + c2.el = c1.el; + } + if (!shallow && c2.patchFlag !== -2) + traverseStaticChildren(c1, c2); + } + if (c2.type === Text) { + if (c2.patchFlag === -1) { + c2 = ch2[i] = cloneIfMounted(c2); + } + c2.el = c1.el; + } + if (c2.type === Comment && !c2.el) { + c2.el = c1.el; + } + } + } +} +function getSequence(arr) { + const p = arr.slice(); + const result = [0]; + let i, j, u, v, c; + const len = arr.length; + for (i = 0; i < len; i++) { + const arrI = arr[i]; + if (arrI !== 0) { + j = result[result.length - 1]; + if (arr[j] < arrI) { + p[i] = j; + result.push(i); + continue; + } + u = 0; + v = result.length - 1; + while (u < v) { + c = u + v >> 1; + if (arr[result[c]] < arrI) { + u = c + 1; + } else { + v = c; + } + } + if (arrI < arr[result[u]]) { + if (u > 0) { + p[i] = result[u - 1]; + } + result[u] = i; + } + } + } + u = result.length; + v = result[u - 1]; + while (u-- > 0) { + result[u] = v; + v = p[v]; + } + return result; +} +function locateNonHydratedAsyncRoot(instance) { + const subComponent = instance.subTree.component; + if (subComponent) { + if (subComponent.asyncDep && !subComponent.asyncResolved) { + return subComponent; + } else { + return locateNonHydratedAsyncRoot(subComponent); + } + } +} +function invalidateMount(hooks) { + if (hooks) { + for (let i = 0; i < hooks.length; i++) + hooks[i].flags |= 8; + } +} +function resolveAsyncComponentPlaceholder(anchorVnode) { + if (anchorVnode.placeholder) { + return anchorVnode.placeholder; + } + const instance = anchorVnode.component; + if (instance) { + return resolveAsyncComponentPlaceholder(instance.subTree); + } + return null; +} + +const isSuspense = (type) => type.__isSuspense; +let suspenseId = 0; +const SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense( + n2, + container, + anchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback && !parentSuspense.isHydrating) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense( + n1, + n2, + container, + anchor, + parentComponent, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + } + }, + hydrate: hydrateSuspense, + normalize: normalizeSuspenseChildren +}; +const Suspense = SuspenseImpl ; +function triggerEvent(vnode, name) { + const eventListener = vnode.props && vnode.props[name]; + if (shared.isFunction(eventListener)) { + eventListener(); + } +} +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + const { + p: patch, + o: { createElement } + } = rendererInternals; + const hiddenContainer = createElement("div"); + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + container, + hiddenContainer, + anchor, + namespace, + slotScopeIds, + optimized, + rendererInternals + ); + patch( + null, + suspense.pendingBranch = vnode.ssContent, + hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds + ); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch( + null, + vnode.ssFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds + ); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { + const suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + const newBranch = n2.ssContent; + const newFallback = n2.ssFallback; + const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(pendingBranch, newBranch)) { + suspense.deps++; + patch( + pendingBranch, + newBranch, + // a hydrating pending branch is adopted SSR DOM, already in place + isHydrating ? container : suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.deps--; + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating && !suspense.isFallbackMountPending) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (!suspense.isFallbackMountPending) { + patch( + activeBranch, + newFallback, + container, + anchor, + parentComponent, + null, + // fallback tree will not have suspense context + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + suspense.resolve(true); + } else { + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(activeBranch, newBranch)) { + patch( + activeBranch, + newBranch, + container, + anchor, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch( + null, + newBranch, + suspense.hiddenContainer, + null, + parentComponent, + suspense, + namespace, + slotScopeIds, + optimized + ); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + const { timeout, pendingId } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { + const { + p: patch, + m: move, + um: unmount, + n: next, + o: { parentNode, remove } + } = rendererInternals; + let parentSuspenseId; + const isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : void 0; + const initialAnchor = anchor; + const suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + isFallbackMountPending: false, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve(resume = false, sync = false) { + const { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2, + isInFallback + } = suspense; + let delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + let hasUpdatedAnchor = false; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move( + pendingBranch, + container2, + anchor === initialAnchor && !hasUpdatedAnchor ? next(activeBranch) : anchor, + 0 + ); + queuePostFlushCb(effects); + if (isInFallback && vnode2.ssFallback) { + vnode2.ssFallback.el = null; + } + } + }; + } + if (activeBranch && !suspense.isFallbackMountPending) { + if (parentNode(activeBranch.el) === container2) { + anchor = next(activeBranch); + hasUpdatedAnchor = true; + } + unmount(activeBranch, parentComponent2, suspense, true); + if (!delayEnter && isInFallback && vnode2.ssFallback) { + queuePostRenderEffect(() => vnode2.ssFallback.el = null, suspense); + } + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + suspense.isFallbackMountPending = false; + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + let parent = suspense.parent; + let hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + for (let i = 0; i < effects.length; i++) { + parent.effects.push(effects[i]); + } + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspenseId = void 0; + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; + triggerEvent(vnode2, "onFallback"); + const anchor2 = next(activeBranch); + const mountFallback = () => { + suspense.isFallbackMountPending = false; + if (!suspense.isInFallback) { + return; + } + const latestFallback = suspense.vnode.ssFallback; + patch( + null, + latestFallback, + container2, + anchor2, + parentComponent2, + null, + // fallback tree will not have suspense context + namespace2, + slotScopeIds, + optimized + ); + setActiveBranch(suspense, latestFallback); + }; + const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + suspense.isFallbackMountPending = true; + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount( + activeBranch, + parentComponent2, + null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + // `namespace` intentionally shadows the boundary's own: the dep must be + // mounted with the namespace of the position it was rendered at, which can + // differ from the boundary's (e.g. a component nested inside an <svg>). + registerDep(instance, setupRenderEffect, optimized2, namespace2) { + const isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + const hydratedEl = instance.vnode.el; + instance.asyncDep.catch((err) => { + handleError(err, instance, 0); + }).then((asyncSetupResult) => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + unsetCurrentInstance(); + if (!instance.scope.active) { + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + return; + } + instance.asyncResolved = true; + const { vnode: vnode2 } = instance; + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + const placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect( + instance, + vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), + suspense, + namespace2, + optimized2 + ); + if (placeholder) { + vnode2.placeholder = null; + remove(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount( + suspense.activeBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + if (suspense.pendingBranch) { + unmount( + suspense.pendingBranch, + parentComponent, + parentSuspense2, + doRemove + ); + } + } + }; + return suspense; +} +function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + const suspense = vnode.suspense = createSuspenseBoundary( + vnode, + parentSuspense, + parentComponent, + node.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), + null, + namespace, + slotScopeIds, + optimized, + rendererInternals, + true + ); + const result = hydrateNode( + node, + suspense.pendingBranch = vnode.ssContent, + parentComponent, + suspense, + slotScopeIds, + optimized + ); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +function normalizeSuspenseChildren(vnode) { + const { shapeFlag, children } = vnode; + const isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot( + isSlotChildren ? children.default : children + ); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +function normalizeSuspenseSlot(s) { + let block; + if (shared.isFunction(s)) { + const trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (shared.isArray(s)) { + const singleChild = filterSingleRoot(s); + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter((c) => c !== s); + } + return s; +} +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (shared.isArray(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + const { vnode, parentComponent } = suspense; + let el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +function isVNodeSuspensible(vnode) { + const suspensible = vnode.props && vnode.props.suspensible; + return suspensible != null && suspensible !== false; +} + +const Fragment = /* @__PURE__ */ Symbol.for("v-fgt"); +const Text = /* @__PURE__ */ Symbol.for("v-txt"); +const Comment = /* @__PURE__ */ Symbol.for("v-cmt"); +const Static = /* @__PURE__ */ Symbol.for("v-stc"); +const blockStack = []; +let currentBlock = null; +function openBlock(disableTracking = false) { + blockStack.push(currentBlock = disableTracking ? null : []); +} +function closeBlock() { + blockStack.pop(); + currentBlock = blockStack[blockStack.length - 1] || null; +} +let isBlockTreeEnabled = 1; +function setBlockTracking(value, inVOnce = false) { + isBlockTreeEnabled += value; + if (value < 0 && currentBlock && inVOnce) { + currentBlock.hasOnce = true; + } +} +function setupBlock(vnode) { + vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || shared.EMPTY_ARR : null; + closeBlock(); + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(vnode); + } + return vnode; +} +function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) { + return setupBlock( + createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + true + ) + ); +} +function createBlock(type, props, children, patchFlag, dynamicProps) { + return setupBlock( + createVNode( + type, + props, + children, + patchFlag, + dynamicProps, + true + ) + ); +} +function isVNode(value) { + return value ? value.__v_isVNode === true : false; +} +function isSameVNodeType(n1, n2) { + return n1.type === n2.type && n1.key === n2.key; +} +function transformVNodeArgs(transformer) { +} +const normalizeKey = ({ key }) => key != null ? key : null; +const normalizeRef = ({ + ref, + ref_key, + ref_for +}) => { + if (typeof ref === "number") { + ref = "" + ref; + } + return ref != null ? shared.isString(ref) || reactivity.isRef(ref) || shared.isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null; +}; +function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) { + const vnode = { + __v_isVNode: true, + __v_skip: true, + type, + props, + key: props && normalizeKey(props), + ref: props && normalizeRef(props), + scopeId: currentScopeId, + slotScopeIds: null, + children, + component: null, + suspense: null, + ssContent: null, + ssFallback: null, + dirs: null, + transition: null, + el: null, + anchor: null, + target: null, + targetStart: null, + targetAnchor: null, + staticCount: 0, + shapeFlag, + patchFlag, + dynamicProps, + dynamicChildren: null, + appContext: null, + ctx: currentRenderingInstance + }; + if (needFullChildrenNormalization) { + normalizeChildren(vnode, children); + if (shapeFlag & 128) { + type.normalize(vnode); + } + } else if (children) { + vnode.shapeFlag |= shared.isString(children) ? 8 : 16; + } + if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself + !isBlockNode && // has current parent block + currentBlock && // presence of a patch flag indicates this node needs patching on updates. + // component nodes also should always be patched, because even if the + // component doesn't need to update, it needs to persist the instance on to + // the next vnode so that it can be properly unmounted later. + (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the + // vnode should not be considered dynamic due to handler caching. + vnode.patchFlag !== 32) { + currentBlock.push(vnode); + } + return vnode; +} +const createVNode = _createVNode; +function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) { + if (!type || type === NULL_DYNAMIC_COMPONENT) { + type = Comment; + } + if (isVNode(type)) { + const cloned = cloneVNode( + type, + props, + true + /* mergeRef: true */ + ); + if (children) { + normalizeChildren(cloned, children); + } + if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) { + if (cloned.shapeFlag & 6) { + currentBlock[currentBlock.indexOf(type)] = cloned; + } else { + currentBlock.push(cloned); + } + } + cloned.patchFlag = -2; + return cloned; + } + if (isClassComponent(type)) { + type = type.__vccOpts; + } + if (props) { + props = guardReactiveProps(props); + let { class: klass, style } = props; + if (klass && !shared.isString(klass)) { + props.class = shared.normalizeClass(klass); + } + if (shared.isObject(style)) { + if (reactivity.isProxy(style) && !shared.isArray(style)) { + style = shared.extend({}, style); + } + props.style = shared.normalizeStyle(style); + } + } + const shapeFlag = shared.isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : shared.isObject(type) ? 4 : shared.isFunction(type) ? 2 : 0; + return createBaseVNode( + type, + props, + children, + patchFlag, + dynamicProps, + shapeFlag, + isBlockNode, + true + ); +} +function guardReactiveProps(props) { + if (!props) return null; + return reactivity.isProxy(props) || isInternalObject(props) ? shared.extend({}, props) : props; +} +function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) { + const { props, ref, patchFlag, children, transition } = vnode; + const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props; + const cloned = { + __v_isVNode: true, + __v_skip: true, + type: vnode.type, + props: mergedProps, + key: mergedProps && normalizeKey(mergedProps), + ref: extraProps && extraProps.ref ? ( + // #2078 in the case of <component :is="vnode" ref="extra"/> + // if the vnode itself already has a ref, cloneVNode will need to merge + // the refs so the single vnode can be set on multiple refs + mergeRef && ref ? shared.isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps) + ) : ref, + scopeId: vnode.scopeId, + slotScopeIds: vnode.slotScopeIds, + children: children, + target: vnode.target, + targetStart: vnode.targetStart, + targetAnchor: vnode.targetAnchor, + staticCount: vnode.staticCount, + shapeFlag: vnode.shapeFlag, + // if the vnode is cloned with extra props, we can no longer assume its + // existing patch flag to be reliable and need to add the FULL_PROPS flag. + // note: preserve flag for fragments since they use the flag for children + // fast paths only. + patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag, + dynamicProps: vnode.dynamicProps, + dynamicChildren: vnode.dynamicChildren, + appContext: vnode.appContext, + dirs: vnode.dirs, + transition, + // These should technically only be non-null on mounted VNodes. However, + // they *should* be copied for kept-alive vnodes. So we just always copy + // them since them being non-null during a mount doesn't affect the logic as + // they will simply be overwritten. + component: vnode.component, + suspense: vnode.suspense, + ssContent: vnode.ssContent && cloneVNode(vnode.ssContent), + ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback), + placeholder: vnode.placeholder, + el: vnode.el, + anchor: vnode.anchor, + ctx: vnode.ctx, + ce: vnode.ce, + cacheIndex: vnode.cacheIndex + }; + if (transition && cloneTransition) { + setTransitionHooks( + cloned, + transition.clone(cloned) + ); + } + return cloned; +} +function createTextVNode(text = " ", flag = 0) { + return createVNode(Text, null, text, flag); +} +function createStaticVNode(content, numberOfNodes) { + const vnode = createVNode(Static, null, content); + vnode.staticCount = numberOfNodes; + return vnode; +} +function createCommentVNode(text = "", asBlock = false) { + return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text); +} +function normalizeVNode(child) { + if (child == null || typeof child === "boolean") { + return createVNode(Comment); + } else if (shared.isArray(child)) { + return createVNode( + Fragment, + null, + // #3666, avoid reference pollution when reusing vnode + child.slice() + ); + } else if (isVNode(child)) { + return cloneIfMounted(child); + } else { + return createVNode(Text, null, String(child)); + } +} +function cloneIfMounted(child) { + return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child); +} +function normalizeChildren(vnode, children) { + let type = 0; + const { shapeFlag } = vnode; + if (children == null) { + children = null; + } else if (shared.isArray(children)) { + type = 16; + } else if (typeof children === "object") { + if (shapeFlag & (1 | 64)) { + const slot = children.default; + if (slot) { + slot._c && (slot._d = false); + normalizeChildren(vnode, slot()); + slot._c && (slot._d = true); + } + return; + } else { + type = 32; + const slotFlag = children._; + if (!slotFlag && !isInternalObject(children)) { + children._ctx = currentRenderingInstance; + } else if (slotFlag === 3 && currentRenderingInstance) { + if (currentRenderingInstance.slots._ === 1) { + children._ = 1; + } else { + children._ = 2; + vnode.patchFlag |= 1024; + } + } + } + } else if (shared.isFunction(children)) { + if (shapeFlag & (1 | 64)) { + normalizeChildren(vnode, { default: children }); + return; + } + children = { default: children, _ctx: currentRenderingInstance }; + type = 32; + } else { + children = String(children); + if (shapeFlag & 64) { + type = 16; + children = [createTextVNode(children)]; + } else { + type = 8; + } + } + vnode.children = children; + vnode.shapeFlag |= type; +} +function mergeProps(...args) { + const ret = {}; + for (let i = 0; i < args.length; i++) { + const toMerge = args[i]; + for (const key in toMerge) { + if (key === "class") { + if (ret.class !== toMerge.class) { + ret.class = shared.normalizeClass([ret.class, toMerge.class]); + } + } else if (key === "style") { + ret.style = shared.normalizeStyle([ret.style, toMerge.style]); + } else if (shared.isOn(key)) { + const existing = ret[key]; + const incoming = toMerge[key]; + if (incoming && existing !== incoming && !(shared.isArray(existing) && existing.includes(incoming))) { + ret[key] = existing ? [].concat(existing, incoming) : incoming; + } else if (incoming == null && existing == null && // mergeProps({ 'onUpdate:modelValue': undefined }) should not retain + // the model listener. + !shared.isModelListener(key)) { + ret[key] = incoming; + } + } else if (key !== "") { + ret[key] = toMerge[key]; + } + } + } + return ret; +} +function invokeVNodeHook(hook, instance, vnode, prevVNode = null) { + callWithAsyncErrorHandling(hook, instance, 7, [ + vnode, + prevVNode + ]); +} + +const emptyAppContext = createAppContext(); +let uid = 0; +function getNextUid() { + return uid; +} +function createComponentInstance(vnode, parent, suspense) { + const type = vnode.type; + const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext; + const instance = { + uid: uid++, + vnode, + type, + parent, + appContext, + root: null, + // to be immediately set + next: null, + subTree: null, + // will be set synchronously right after creation + effect: null, + update: null, + // will be set synchronously right after creation + job: null, + scope: new reactivity.EffectScope( + true + /* detached */ + ), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: parent ? parent.provides : Object.create(appContext.provides), + ids: parent ? parent.ids : ["", 0, 0], + accessCache: null, + renderCache: [], + // local resolved assets + components: null, + directives: null, + // resolved props and emits options + propsOptions: normalizePropsOptions(type, appContext), + emitsOptions: normalizeEmitsOptions(type, appContext), + // emit + emit: null, + // to be set immediately + emitted: null, + // props default value + propsDefaults: shared.EMPTY_OBJ, + // inheritAttrs + inheritAttrs: type.inheritAttrs, + // state + ctx: shared.EMPTY_OBJ, + data: shared.EMPTY_OBJ, + props: shared.EMPTY_OBJ, + attrs: shared.EMPTY_OBJ, + slots: shared.EMPTY_OBJ, + refs: shared.EMPTY_OBJ, + setupState: shared.EMPTY_OBJ, + setupContext: null, + // suspense related + suspense, + suspenseId: suspense ? suspense.pendingId : 0, + asyncDep: null, + asyncResolved: false, + // lifecycle hooks + // not using enums here because it results in computed properties + isMounted: false, + isUnmounted: false, + isDeactivated: false, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null + }; + { + instance.ctx = { _: instance }; + } + instance.root = parent ? parent.root : instance; + instance.emit = emit.bind(null, instance); + if (vnode.ce) { + vnode.ce(instance); + } + return instance; +} +let currentInstance = null; +const getCurrentInstance = () => currentInstance || currentRenderingInstance; +let internalSetCurrentInstance; +let setInSSRSetupState; +{ + const g = shared.getGlobalThis(); + const registerGlobalSetter = (key, setter) => { + let setters; + if (!(setters = g[key])) setters = g[key] = []; + setters.push(setter); + return (v) => { + if (setters.length > 1) setters.forEach((set) => set(v)); + else setters[0](v); + }; + }; + internalSetCurrentInstance = registerGlobalSetter( + `__VUE_INSTANCE_SETTERS__`, + (v) => currentInstance = v + ); + setInSSRSetupState = registerGlobalSetter( + `__VUE_SSR_SETTERS__`, + (v) => isInSSRComponentSetup = v + ); +} +const setCurrentInstance = (instance) => { + const prev = currentInstance; + internalSetCurrentInstance(instance); + instance.scope.on(); + return () => { + instance.scope.off(); + internalSetCurrentInstance(prev); + }; +}; +const unsetCurrentInstance = () => { + currentInstance && currentInstance.scope.off(); + internalSetCurrentInstance(null); +}; +function isStatefulComponent(instance) { + return instance.vnode.shapeFlag & 4; +} +let isInSSRComponentSetup = false; +function setupComponent(instance, isSSR = false, optimized = false) { + isSSR && setInSSRSetupState(isSSR); + const { props, children } = instance.vnode; + const isStateful = isStatefulComponent(instance); + initProps(instance, props, isStateful, isSSR); + initSlots(instance, children, optimized || isSSR); + const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0; + isSSR && setInSSRSetupState(false); + return setupResult; +} +function setupStatefulComponent(instance, isSSR) { + const Component = instance.type; + instance.accessCache = /* @__PURE__ */ Object.create(null); + instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers); + const { setup } = Component; + if (setup) { + reactivity.pauseTracking(); + const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null; + const reset = setCurrentInstance(instance); + const setupResult = callWithErrorHandling( + setup, + instance, + 0, + [ + instance.props, + setupContext + ] + ); + const isAsyncSetup = shared.isPromise(setupResult); + reactivity.resetTracking(); + reset(); + if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) { + markAsyncBoundary(instance); + } + if (isAsyncSetup) { + setupResult.then(unsetCurrentInstance, unsetCurrentInstance); + if (isSSR) { + return setupResult.then((resolvedResult) => { + setInSSRSetupState(true); + try { + handleSetupResult(instance, resolvedResult, isSSR); + } finally { + setInSSRSetupState(false); + } + }).catch((e) => { + handleError(e, instance, 0); + }); + } else { + instance.asyncDep = setupResult; + } + } else { + handleSetupResult(instance, setupResult, isSSR); + } + } else { + finishComponentSetup(instance, isSSR); + } +} +function handleSetupResult(instance, setupResult, isSSR) { + if (shared.isFunction(setupResult)) { + if (instance.type.__ssrInlineRender) { + instance.ssrRender = setupResult; + } else { + instance.render = setupResult; + } + } else if (shared.isObject(setupResult)) { + instance.setupState = reactivity.proxyRefs(setupResult); + } else ; + finishComponentSetup(instance, isSSR); +} +let compile; +let installWithProxy; +function registerRuntimeCompiler(_compile) { + compile = _compile; + installWithProxy = (i) => { + if (i.render._rc) { + i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers); + } + }; +} +const isRuntimeOnly = () => !compile; +function finishComponentSetup(instance, isSSR, skipOptions) { + const Component = instance.type; + if (!instance.render) { + if (!isSSR && compile && !Component.render) { + const template = Component.template || resolveMergedOptions(instance).template; + if (template) { + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + Component.render = compile(template, finalCompilerOptions); + } + } + instance.render = Component.render || shared.NOOP; + if (installWithProxy) { + installWithProxy(instance); + } + } + { + const reset = setCurrentInstance(instance); + reactivity.pauseTracking(); + try { + applyOptions(instance); + } finally { + reactivity.resetTracking(); + reset(); + } + } +} +const attrsProxyHandlers = { + get(target, key) { + reactivity.track(target, "get", ""); + return target[key]; + } +}; +function createSetupContext(instance) { + const expose = (exposed) => { + instance.exposed = exposed || {}; + }; + { + return { + attrs: new Proxy(instance.attrs, attrsProxyHandlers), + slots: instance.slots, + emit: instance.emit, + expose + }; + } +} +function getComponentPublicInstance(instance) { + if (instance.exposed) { + return instance.exposeProxy || (instance.exposeProxy = new Proxy(reactivity.proxyRefs(reactivity.markRaw(instance.exposed)), { + get(target, key) { + if (key in target) { + return target[key]; + } else if (key in publicPropertiesMap) { + return publicPropertiesMap[key](instance); + } + }, + has(target, key) { + return key in target || key in publicPropertiesMap; + } + })); + } else { + return instance.proxy; + } +} +function getComponentName(Component, includeInferred = true) { + return shared.isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name; +} +function isClassComponent(value) { + return shared.isFunction(value) && "__vccOpts" in value; +} + +const computed = (getterOrOptions, debugOptions) => { + const c = reactivity.computed(getterOrOptions, debugOptions, isInSSRComponentSetup); + return c; +}; + +function h(type, propsOrChildren, children) { + try { + setBlockTracking(-1); + const l = arguments.length; + if (l === 2) { + if (shared.isObject(propsOrChildren) && !shared.isArray(propsOrChildren)) { + if (isVNode(propsOrChildren)) { + return createVNode(type, null, [propsOrChildren]); + } + return createVNode(type, propsOrChildren); + } else { + return createVNode(type, null, propsOrChildren); + } + } else { + if (l > 3) { + children = Array.prototype.slice.call(arguments, 2); + } else if (l === 3 && isVNode(children)) { + children = [children]; + } + return createVNode(type, propsOrChildren, children); + } + } finally { + setBlockTracking(1); + } +} + +function initCustomFormatter() { + { + return; + } +} + +function withMemo(memo, render, cache, index) { + const cached = cache[index]; + if (cached && isMemoSame(cached, memo)) { + return cached; + } + const ret = render(); + ret.memo = memo.slice(); + ret.cacheIndex = index; + return cache[index] = ret; +} +function isMemoSame(cached, memo) { + const prev = cached.memo; + if (prev.length != memo.length) { + return false; + } + for (let i = 0; i < prev.length; i++) { + if (shared.hasChanged(prev[i], memo[i])) { + return false; + } + } + if (isBlockTreeEnabled > 0 && currentBlock) { + currentBlock.push(cached); + } + return true; +} + +const version = "3.5.44"; +const warn$1 = shared.NOOP; +const ErrorTypeStrings = ErrorTypeStrings$1 ; +const devtools = void 0; +const setDevtoolsHook = shared.NOOP; +const _ssrUtils = { + createComponentInstance, + setupComponent, + renderComponentRoot, + setCurrentRenderingInstance, + isVNode: isVNode, + normalizeVNode, + getComponentPublicInstance, + ensureValidVNode, + pushWarningContext, + popWarningContext +}; +const ssrUtils = _ssrUtils ; +const resolveFilter = null; +const compatUtils = null; +const DeprecationTypes = null; + +exports.EffectScope = reactivity.EffectScope; +exports.ReactiveEffect = reactivity.ReactiveEffect; +exports.TrackOpTypes = reactivity.TrackOpTypes; +exports.TriggerOpTypes = reactivity.TriggerOpTypes; +exports.customRef = reactivity.customRef; +exports.effect = reactivity.effect; +exports.effectScope = reactivity.effectScope; +exports.getCurrentScope = reactivity.getCurrentScope; +exports.getCurrentWatcher = reactivity.getCurrentWatcher; +exports.isProxy = reactivity.isProxy; +exports.isReactive = reactivity.isReactive; +exports.isReadonly = reactivity.isReadonly; +exports.isRef = reactivity.isRef; +exports.isShallow = reactivity.isShallow; +exports.markRaw = reactivity.markRaw; +exports.onScopeDispose = reactivity.onScopeDispose; +exports.onWatcherCleanup = reactivity.onWatcherCleanup; +exports.proxyRefs = reactivity.proxyRefs; +exports.reactive = reactivity.reactive; +exports.readonly = reactivity.readonly; +exports.ref = reactivity.ref; +exports.shallowReactive = reactivity.shallowReactive; +exports.shallowReadonly = reactivity.shallowReadonly; +exports.shallowRef = reactivity.shallowRef; +exports.stop = reactivity.stop; +exports.toRaw = reactivity.toRaw; +exports.toRef = reactivity.toRef; +exports.toRefs = reactivity.toRefs; +exports.toValue = reactivity.toValue; +exports.triggerRef = reactivity.triggerRef; +exports.unref = reactivity.unref; +exports.camelize = shared.camelize; +exports.capitalize = shared.capitalize; +exports.normalizeClass = shared.normalizeClass; +exports.normalizeProps = shared.normalizeProps; +exports.normalizeStyle = shared.normalizeStyle; +exports.toDisplayString = shared.toDisplayString; +exports.toHandlerKey = shared.toHandlerKey; +exports.BaseTransition = BaseTransition; +exports.BaseTransitionPropsValidators = BaseTransitionPropsValidators; +exports.Comment = Comment; +exports.DeprecationTypes = DeprecationTypes; +exports.ErrorCodes = ErrorCodes; +exports.ErrorTypeStrings = ErrorTypeStrings; +exports.Fragment = Fragment; +exports.KeepAlive = KeepAlive; +exports.Static = Static; +exports.Suspense = Suspense; +exports.Teleport = Teleport; +exports.Text = Text; +exports.assertNumber = assertNumber; +exports.callWithAsyncErrorHandling = callWithAsyncErrorHandling; +exports.callWithErrorHandling = callWithErrorHandling; +exports.cloneVNode = cloneVNode; +exports.compatUtils = compatUtils; +exports.computed = computed; +exports.createBlock = createBlock; +exports.createCommentVNode = createCommentVNode; +exports.createElementBlock = createElementBlock; +exports.createElementVNode = createBaseVNode; +exports.createHydrationRenderer = createHydrationRenderer; +exports.createPropsRestProxy = createPropsRestProxy; +exports.createRenderer = createRenderer; +exports.createSlots = createSlots; +exports.createStaticVNode = createStaticVNode; +exports.createTextVNode = createTextVNode; +exports.createVNode = createVNode; +exports.defineAsyncComponent = defineAsyncComponent; +exports.defineComponent = defineComponent; +exports.defineEmits = defineEmits; +exports.defineExpose = defineExpose; +exports.defineModel = defineModel; +exports.defineOptions = defineOptions; +exports.defineProps = defineProps; +exports.defineSlots = defineSlots; +exports.devtools = devtools; +exports.getCurrentInstance = getCurrentInstance; +exports.getTransitionRawChildren = getTransitionRawChildren; +exports.guardReactiveProps = guardReactiveProps; +exports.h = h; +exports.handleError = handleError; +exports.hasInjectionContext = hasInjectionContext; +exports.hydrateOnIdle = hydrateOnIdle; +exports.hydrateOnInteraction = hydrateOnInteraction; +exports.hydrateOnMediaQuery = hydrateOnMediaQuery; +exports.hydrateOnVisible = hydrateOnVisible; +exports.initCustomFormatter = initCustomFormatter; +exports.inject = inject; +exports.isMemoSame = isMemoSame; +exports.isRuntimeOnly = isRuntimeOnly; +exports.isVNode = isVNode; +exports.mergeDefaults = mergeDefaults; +exports.mergeModels = mergeModels; +exports.mergeProps = mergeProps; +exports.nextTick = nextTick; +exports.onActivated = onActivated; +exports.onBeforeMount = onBeforeMount; +exports.onBeforeUnmount = onBeforeUnmount; +exports.onBeforeUpdate = onBeforeUpdate; +exports.onDeactivated = onDeactivated; +exports.onErrorCaptured = onErrorCaptured; +exports.onMounted = onMounted; +exports.onRenderTracked = onRenderTracked; +exports.onRenderTriggered = onRenderTriggered; +exports.onServerPrefetch = onServerPrefetch; +exports.onUnmounted = onUnmounted; +exports.onUpdated = onUpdated; +exports.openBlock = openBlock; +exports.popScopeId = popScopeId; +exports.provide = provide; +exports.pushScopeId = pushScopeId; +exports.queuePostFlushCb = queuePostFlushCb; +exports.registerRuntimeCompiler = registerRuntimeCompiler; +exports.renderList = renderList; +exports.renderSlot = renderSlot; +exports.resolveComponent = resolveComponent; +exports.resolveDirective = resolveDirective; +exports.resolveDynamicComponent = resolveDynamicComponent; +exports.resolveFilter = resolveFilter; +exports.resolveTransitionHooks = resolveTransitionHooks; +exports.setBlockTracking = setBlockTracking; +exports.setDevtoolsHook = setDevtoolsHook; +exports.setTransitionHooks = setTransitionHooks; +exports.ssrContextKey = ssrContextKey; +exports.ssrUtils = ssrUtils; +exports.toHandlers = toHandlers; +exports.transformVNodeArgs = transformVNodeArgs; +exports.useAttrs = useAttrs; +exports.useId = useId; +exports.useModel = useModel; +exports.useSSRContext = useSSRContext; +exports.useSlots = useSlots; +exports.useTemplateRef = useTemplateRef; +exports.useTransitionState = useTransitionState; +exports.version = version; +exports.warn = warn$1; +exports.watch = watch; +exports.watchEffect = watchEffect; +exports.watchPostEffect = watchPostEffect; +exports.watchSyncEffect = watchSyncEffect; +exports.withAsyncContext = withAsyncContext; +exports.withCtx = withCtx; +exports.withDefaults = withDefaults; +exports.withDirectives = withDirectives; +exports.withMemo = withMemo; +exports.withScopeId = withScopeId; diff --git a/apps/web/.output/server/node_modules/@vue/runtime-core/package.json b/apps/web/.output/server/node_modules/@vue/runtime-core/package.json new file mode 100644 index 0000000..933899a --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/runtime-core/package.json @@ -0,0 +1,52 @@ +{ + "name": "@vue/runtime-core", + "version": "3.5.44", + "description": "@vue/runtime-core", + "main": "index.js", + "module": "dist/runtime-core.esm-bundler.js", + "types": "dist/runtime-core.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-core.d.ts", + "node": { + "production": "./dist/runtime-core.cjs.prod.js", + "development": "./dist/runtime-core.cjs.js", + "default": "./dist/runtime-core.cjs.prod.js" + }, + "module": "./dist/runtime-core.esm-bundler.js", + "import": "./dist/runtime-core.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueRuntimeCore", + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "sideEffects": false, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-core" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/reactivity": "3.5.44" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js new file mode 100644 index 0000000..da30760 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js @@ -0,0 +1,1917 @@ +/** +* @vue/runtime-dom v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var runtimeCore = require('@vue/runtime-core'); +var shared = require('@vue/shared'); + +let policy = void 0; +const tt = typeof window !== "undefined" && window.trustedTypes; +if (tt) { + try { + policy = /* @__PURE__ */ tt.createPolicy("vue", { + createHTML: (val) => val + }); + } catch (e) { + } +} +const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val; +const svgNS = "http://www.w3.org/2000/svg"; +const mathmlNS = "http://www.w3.org/1998/Math/MathML"; +const doc = typeof document !== "undefined" ? document : null; +const templateContainer = doc && /* @__PURE__ */ doc.createElement("template"); +const nodeOps = { + insert: (child, parent, anchor) => { + parent.insertBefore(child, anchor || null); + }, + remove: (child) => { + const parent = child.parentNode; + if (parent) { + parent.removeChild(child); + } + }, + createElement: (tag, namespace, is, props) => { + const el = namespace === "svg" ? doc.createElementNS(svgNS, tag) : namespace === "mathml" ? doc.createElementNS(mathmlNS, tag) : is ? doc.createElement(tag, { is }) : doc.createElement(tag); + if (tag === "select" && props && props.multiple != null) { + el.setAttribute("multiple", props.multiple); + } + return el; + }, + createText: (text) => doc.createTextNode(text), + createComment: (text) => doc.createComment(text), + setText: (node, text) => { + node.nodeValue = text; + }, + setElementText: (el, text) => { + el.textContent = text; + }, + parentNode: (node) => node.parentNode, + nextSibling: (node) => node.nextSibling, + querySelector: (selector) => doc.querySelector(selector), + setScopeId(el, id) { + el.setAttribute(id, ""); + }, + // __UNSAFE__ + // Reason: innerHTML. + // Static content here can only come from compiled templates. + // As long as the user only uses trusted templates, this is safe. + insertStaticContent(content, parent, anchor, namespace, start, end) { + const before = anchor ? anchor.previousSibling : parent.lastChild; + if (start && (start === end || start.nextSibling)) { + while (true) { + parent.insertBefore(start.cloneNode(true), anchor); + if (start === end || !(start = start.nextSibling)) break; + } + } else { + templateContainer.innerHTML = unsafeToTrustedHTML( + namespace === "svg" ? `<svg>${content}</svg>` : namespace === "mathml" ? `<math>${content}</math>` : content + ); + const template = templateContainer.content; + if (namespace === "svg" || namespace === "mathml") { + const wrapper = template.firstChild; + while (wrapper.firstChild) { + template.appendChild(wrapper.firstChild); + } + template.removeChild(wrapper); + } + parent.insertBefore(template, anchor); + } + return [ + // first + before ? before.nextSibling : parent.firstChild, + // last + anchor ? anchor.previousSibling : parent.lastChild + ]; + } +}; + +const TRANSITION = "transition"; +const ANIMATION = "animation"; +const vtcKey = /* @__PURE__ */ Symbol("_vtc"); +const DOMTransitionPropsValidators = { + name: String, + type: String, + css: { + type: Boolean, + default: true + }, + duration: [String, Number, Object], + enterFromClass: String, + enterActiveClass: String, + enterToClass: String, + appearFromClass: String, + appearActiveClass: String, + appearToClass: String, + leaveFromClass: String, + leaveActiveClass: String, + leaveToClass: String +}; +const TransitionPropsValidators = /* @__PURE__ */ shared.extend( + {}, + runtimeCore.BaseTransitionPropsValidators, + DOMTransitionPropsValidators +); +const decorate$1 = (t) => { + t.displayName = "Transition"; + t.props = TransitionPropsValidators; + return t; +}; +const Transition = /* @__PURE__ */ decorate$1( + (props, { slots }) => runtimeCore.h(runtimeCore.BaseTransition, resolveTransitionProps(props), slots) +); +const callHook = (hook, args = []) => { + if (shared.isArray(hook)) { + hook.forEach((h2) => h2(...args)); + } else if (hook) { + hook(...args); + } +}; +const hasExplicitCallback = (hook) => { + return hook ? shared.isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false; +}; +function resolveTransitionProps(rawProps) { + const baseProps = {}; + for (const key in rawProps) { + if (!(key in DOMTransitionPropsValidators)) { + baseProps[key] = rawProps[key]; + } + } + if (rawProps.css === false) { + return baseProps; + } + const { + name = "v", + type, + duration, + enterFromClass = `${name}-enter-from`, + enterActiveClass = `${name}-enter-active`, + enterToClass = `${name}-enter-to`, + appearFromClass = enterFromClass, + appearActiveClass = enterActiveClass, + appearToClass = enterToClass, + leaveFromClass = `${name}-leave-from`, + leaveActiveClass = `${name}-leave-active`, + leaveToClass = `${name}-leave-to` + } = rawProps; + const durations = normalizeDuration(duration); + const enterDuration = durations && durations[0]; + const leaveDuration = durations && durations[1]; + const { + onBeforeEnter, + onEnter, + onEnterCancelled, + onLeave, + onLeaveCancelled, + onBeforeAppear = onBeforeEnter, + onAppear = onEnter, + onAppearCancelled = onEnterCancelled + } = baseProps; + const finishEnter = (el, isAppear, done, isCancelled) => { + el._enterCancelled = isCancelled; + removeTransitionClass(el, isAppear ? appearToClass : enterToClass); + removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass); + done && done(); + }; + const finishLeave = (el, done) => { + el._isLeaving = false; + removeTransitionClass(el, leaveFromClass); + removeTransitionClass(el, leaveToClass); + removeTransitionClass(el, leaveActiveClass); + done && done(); + }; + const makeEnterHook = (isAppear) => { + return (el, done) => { + const hook = isAppear ? onAppear : onEnter; + const resolve = () => finishEnter(el, isAppear, done); + callHook(hook, [el, resolve]); + nextFrame(() => { + removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass); + addTransitionClass(el, isAppear ? appearToClass : enterToClass); + if (!hasExplicitCallback(hook)) { + whenTransitionEnds(el, type, enterDuration, resolve); + } + }); + }; + }; + return shared.extend(baseProps, { + onBeforeEnter(el) { + callHook(onBeforeEnter, [el]); + addTransitionClass(el, enterFromClass); + addTransitionClass(el, enterActiveClass); + }, + onBeforeAppear(el) { + callHook(onBeforeAppear, [el]); + addTransitionClass(el, appearFromClass); + addTransitionClass(el, appearActiveClass); + }, + onEnter: makeEnterHook(false), + onAppear: makeEnterHook(true), + onLeave(el, done) { + el._isLeaving = true; + const resolve = () => finishLeave(el, done); + addTransitionClass(el, leaveFromClass); + if (!el._enterCancelled) { + forceReflow(el); + addTransitionClass(el, leaveActiveClass); + } else { + addTransitionClass(el, leaveActiveClass); + forceReflow(el); + } + nextFrame(() => { + if (!el._isLeaving) { + return; + } + removeTransitionClass(el, leaveFromClass); + addTransitionClass(el, leaveToClass); + if (!hasExplicitCallback(onLeave)) { + whenTransitionEnds(el, type, leaveDuration, resolve); + } + }); + callHook(onLeave, [el, resolve]); + }, + onEnterCancelled(el) { + finishEnter(el, false, void 0, true); + callHook(onEnterCancelled, [el]); + }, + onAppearCancelled(el) { + finishEnter(el, true, void 0, true); + callHook(onAppearCancelled, [el]); + }, + onLeaveCancelled(el) { + finishLeave(el); + callHook(onLeaveCancelled, [el]); + } + }); +} +function normalizeDuration(duration) { + if (duration == null) { + return null; + } else if (shared.isObject(duration)) { + return [NumberOf(duration.enter), NumberOf(duration.leave)]; + } else { + const n = NumberOf(duration); + return [n, n]; + } +} +function NumberOf(val) { + const res = shared.toNumber(val); + return res; +} +function addTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.add(c)); + (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls); +} +function removeTransitionClass(el, cls) { + cls.split(/\s+/).forEach((c) => c && el.classList.remove(c)); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.delete(cls); + if (!_vtc.size) { + el[vtcKey] = void 0; + } + } +} +function nextFrame(cb) { + requestAnimationFrame(() => { + requestAnimationFrame(cb); + }); +} +let endId = 0; +function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) { + const id = el._endId = ++endId; + const resolveIfNotStale = () => { + if (id === el._endId) { + resolve(); + } + }; + if (explicitTimeout != null) { + return setTimeout(resolveIfNotStale, explicitTimeout); + } + const { type, timeout, propCount } = getTransitionInfo(el, expectedType); + if (!type) { + return resolve(); + } + const endEvent = type + "end"; + let ended = 0; + const end = () => { + el.removeEventListener(endEvent, onEnd); + resolveIfNotStale(); + }; + const onEnd = (e) => { + if (e.target === el && ++ended >= propCount) { + end(); + } + }; + setTimeout(() => { + if (ended < propCount) { + end(); + } + }, timeout + 1); + el.addEventListener(endEvent, onEnd); +} +function getTransitionInfo(el, expectedType) { + const styles = window.getComputedStyle(el); + const getStyleProperties = (key) => (styles[key] || "").split(", "); + const transitionDelays = getStyleProperties(`${TRANSITION}Delay`); + const transitionDurations = getStyleProperties(`${TRANSITION}Duration`); + const transitionTimeout = getTimeout(transitionDelays, transitionDurations); + const animationDelays = getStyleProperties(`${ANIMATION}Delay`); + const animationDurations = getStyleProperties(`${ANIMATION}Duration`); + const animationTimeout = getTimeout(animationDelays, animationDurations); + let type = null; + let timeout = 0; + let propCount = 0; + if (expectedType === TRANSITION) { + if (transitionTimeout > 0) { + type = TRANSITION; + timeout = transitionTimeout; + propCount = transitionDurations.length; + } + } else if (expectedType === ANIMATION) { + if (animationTimeout > 0) { + type = ANIMATION; + timeout = animationTimeout; + propCount = animationDurations.length; + } + } else { + timeout = Math.max(transitionTimeout, animationTimeout); + type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null; + propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0; + } + const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test( + getStyleProperties(`${TRANSITION}Property`).toString() + ); + return { + type, + timeout, + propCount, + hasTransform + }; +} +function getTimeout(delays, durations) { + while (delays.length < durations.length) { + delays = delays.concat(delays); + } + return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i]))); +} +function toMs(s) { + if (s === "auto") return 0; + return Number(s.slice(0, -1).replace(",", ".")) * 1e3; +} +function forceReflow(el) { + const targetDocument = el ? el.ownerDocument : document; + return targetDocument.body.offsetHeight; +} + +function patchClass(el, value, isSVG) { + const transitionClasses = el[vtcKey]; + if (transitionClasses) { + value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" "); + } + if (value == null) { + el.removeAttribute("class"); + } else if (isSVG) { + el.setAttribute("class", value); + } else { + el.className = value; + } +} + +const vShowOriginalDisplay = /* @__PURE__ */ Symbol("_vod"); +const vShowHidden = /* @__PURE__ */ Symbol("_vsh"); +const vShow = { + // used for prop mismatch check during hydration + name: "show", + beforeMount(el, { value }, { transition }) { + el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display; + if (transition && value) { + transition.beforeEnter(el); + } else { + setDisplay(el, value); + } + }, + mounted(el, { value }, { transition }) { + if (transition && value) { + transition.enter(el); + } + }, + updated(el, { value, oldValue }, { transition }) { + if (!value === !oldValue) return; + if (transition) { + if (value) { + transition.beforeEnter(el); + setDisplay(el, true); + transition.enter(el); + } else { + transition.leave(el, () => { + setDisplay(el, false); + }); + } + } else { + setDisplay(el, value); + } + }, + beforeUnmount(el, { value }) { + setDisplay(el, value); + } +}; +function setDisplay(el, value) { + el.style.display = value ? el[vShowOriginalDisplay] : "none"; + el[vShowHidden] = !value; +} +function initVShowForSSR() { + vShow.getSSRProps = ({ value }) => { + if (!value) { + return { style: { display: "none" } }; + } + }; +} + +const CSS_VAR_TEXT = /* @__PURE__ */ Symbol(""); +function useCssVars(getter) { + return; +} + +const displayRE = /(?:^|;)\s*display\s*:/; +function patchStyle(el, prev, next) { + const style = el.style; + const isCssString = shared.isString(next); + let hasControlledDisplay = false; + if (next && !isCssString) { + if (prev) { + if (!shared.isString(prev)) { + for (const key in prev) { + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } else { + for (const prevStyle of prev.split(";")) { + const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim(); + if (next[key] == null) { + setStyle(style, key, ""); + } + } + } + } + for (const key in next) { + if (key === "display") { + hasControlledDisplay = true; + } + const value = next[key]; + if (value != null) { + if (!shouldPreserveTextareaResizeStyle( + el, + key, + !shared.isString(prev) && prev ? prev[key] : void 0, + value + )) { + setStyle(style, key, value); + } + } else { + setStyle(style, key, ""); + } + } + } else { + if (isCssString) { + if (prev !== next) { + const cssVarText = style[CSS_VAR_TEXT]; + if (cssVarText) { + next += ";" + cssVarText; + } + style.cssText = next; + hasControlledDisplay = displayRE.test(next); + } + } else if (prev) { + el.removeAttribute("style"); + } + } + if (vShowOriginalDisplay in el) { + if (!isCssString || prev !== next) { + el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : ""; + } + if (el[vShowHidden]) { + style.display = "none"; + } + } +} +const importantRE = /\s*!important$/; +function setStyle(style, name, val) { + if (shared.isArray(val)) { + val.forEach((v) => setStyle(style, name, v)); + } else { + if (val == null) val = ""; + if (name.startsWith("--")) { + if (importantRE.test(val)) { + style.setProperty(name, val.replace(importantRE, ""), "important"); + } else { + style.setProperty(name, val); + } + } else { + const prefixed = autoPrefix(style, name); + if (importantRE.test(val)) { + style.setProperty( + shared.hyphenate(prefixed), + val.replace(importantRE, ""), + "important" + ); + } else { + style[prefixed] = val; + } + } + } +} +const prefixes = ["Webkit", "Moz", "ms"]; +const prefixCache = {}; +function autoPrefix(style, rawName) { + const cached = prefixCache[rawName]; + if (cached) { + return cached; + } + let name = runtimeCore.camelize(rawName); + if (name !== "filter" && name in style) { + return prefixCache[rawName] = name; + } + name = shared.capitalize(name); + for (let i = 0; i < prefixes.length; i++) { + const prefixed = prefixes[i] + name; + if (prefixed in style) { + return prefixCache[rawName] = prefixed; + } + } + return rawName; +} +function shouldPreserveTextareaResizeStyle(el, key, prev, next) { + return el.tagName === "TEXTAREA" && (key === "width" || key === "height") && shared.isString(next) && prev === next; +} + +const xlinkNS = "http://www.w3.org/1999/xlink"; +function patchAttr(el, key, value, isSVG, instance, isBoolean = shared.isSpecialBooleanAttr(key)) { + if (isSVG && key.startsWith("xlink:")) { + if (value == null) { + el.removeAttributeNS(xlinkNS, key.slice(6, key.length)); + } else { + el.setAttributeNS(xlinkNS, key, value); + } + } else { + if (value == null || isBoolean && !shared.includeBooleanAttr(value)) { + el.removeAttribute(key); + } else { + el.setAttribute( + key, + isBoolean ? "" : shared.isSymbol(value) ? String(value) : value + ); + } + } +} + +function patchDOMProp(el, key, value, parentComponent, attrName) { + if (key === "innerHTML" || key === "textContent") { + if (value != null) { + el[key] = key === "innerHTML" ? unsafeToTrustedHTML(value) : value; + } + return; + } + const tag = el.tagName; + if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally + !tag.includes("-")) { + const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value; + const newValue = value == null ? ( + // #11647: value should be set as empty string for null and undefined, + // but <input type="checkbox"> should be set as 'on'. + el.type === "checkbox" ? "on" : "" + ) : String(value); + if (oldValue !== newValue || !("_value" in el)) { + el.value = newValue; + } + if (value == null) { + el.removeAttribute(key); + } + el._value = value; + return; + } + let needRemove = false; + if (value === "" || value == null) { + const type = typeof el[key]; + if (type === "boolean") { + value = shared.includeBooleanAttr(value); + } else if (value == null && type === "string") { + value = ""; + needRemove = true; + } else if (type === "number") { + value = 0; + needRemove = true; + } + } + try { + el[key] = value; + } catch (e) { + } + needRemove && el.removeAttribute(attrName || key); +} + +function addEventListener(el, event, handler, options) { + el.addEventListener(event, handler, options); +} +function removeEventListener(el, event, handler, options) { + el.removeEventListener(event, handler, options); +} +const veiKey = /* @__PURE__ */ Symbol("_vei"); +function patchEvent(el, rawName, prevValue, nextValue, instance = null) { + const invokers = el[veiKey] || (el[veiKey] = {}); + const existingInvoker = invokers[rawName]; + if (nextValue && existingInvoker) { + existingInvoker.value = nextValue; + } else { + const [name, options] = parseName(rawName); + if (nextValue) { + const invoker = invokers[rawName] = createInvoker( + nextValue, + instance + ); + addEventListener(el, name, invoker, options); + } else if (existingInvoker) { + removeEventListener(el, name, existingInvoker, options); + invokers[rawName] = void 0; + } + } +} +const optionsModifierRE = /(Once|Passive|Capture)$/; +const optionsModifierEventRE = /^on:?(?:Once|Passive|Capture)$/; +function parseName(name) { + let options; + let m; + while ((m = name.match(optionsModifierRE)) && !optionsModifierEventRE.test(name)) { + if (!options) options = {}; + name = name.slice(0, name.length - m[1].length); + options[m[1].toLowerCase()] = true; + } + const event = name[2] === ":" ? name.slice(3) : shared.hyphenate(name.slice(2)); + return [event, options]; +} +let cachedNow = 0; +const p = /* @__PURE__ */ Promise.resolve(); +const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now()); +function createInvoker(initialValue, instance) { + const invoker = (e) => { + if (!e._vts) { + e._vts = Date.now(); + } else if (e._vts <= invoker.attached) { + return; + } + const value = invoker.value; + if (shared.isArray(value)) { + const originalStop = e.stopImmediatePropagation; + e.stopImmediatePropagation = () => { + originalStop.call(e); + e._stopped = true; + }; + const handlers = value.slice(); + const args = [e]; + for (let i = 0; i < handlers.length; i++) { + if (e._stopped) { + break; + } + const handler = handlers[i]; + if (handler) { + runtimeCore.callWithAsyncErrorHandling( + handler, + instance, + 5, + args + ); + } + } + } else { + runtimeCore.callWithAsyncErrorHandling( + value, + instance, + 5, + [e] + ); + } + }; + invoker.value = initialValue; + invoker.attached = getNow(); + return invoker; +} + +const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter +key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123; +const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => { + const isSVG = namespace === "svg"; + if (key === "class") { + patchClass(el, nextValue, isSVG); + } else if (key === "style") { + patchStyle(el, prevValue, nextValue); + } else if (shared.isOn(key)) { + if (!shared.isModelListener(key)) { + patchEvent(el, key, prevValue, nextValue, parentComponent); + } + } else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) { + patchDOMProp(el, key, nextValue); + if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) { + patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value"); + } + } else if ( + // #11081 force set props for possible async custom element + el._isVueCE && // #12408 check if it's declared prop or it's async custom element + (shouldSetAsPropForVueCE(el, key) || // @ts-expect-error _def is private + el._def.__asyncLoader && (/[A-Z]/.test(key) || !shared.isString(nextValue))) + ) { + patchDOMProp(el, shared.camelize(key), nextValue, parentComponent, key); + } else { + if (key === "true-value") { + el._trueValue = nextValue; + } else if (key === "false-value") { + el._falseValue = nextValue; + } + patchAttr(el, key, nextValue, isSVG); + } +}; +function shouldSetAsProp(el, key, value, isSVG) { + if (isSVG) { + if (key === "innerHTML" || key === "textContent") { + return true; + } + if (key in el && isNativeOn(key) && shared.isFunction(value)) { + return true; + } + return false; + } + if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") { + return false; + } + if (key === "sandbox" && el.tagName === "IFRAME") { + return false; + } + if (key === "form") { + return false; + } + if (key === "list" && el.tagName === "INPUT") { + return false; + } + if (key === "type" && el.tagName === "TEXTAREA") { + return false; + } + if (key === "width" || key === "height") { + const tag = el.tagName; + if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") { + return false; + } + } + if (isNativeOn(key) && shared.isString(value)) { + return false; + } + return key in el; +} +function shouldSetAsPropForVueCE(el, key) { + const props = ( + // @ts-expect-error _def is private + el._def.props + ); + if (!props) { + return false; + } + const camelKey = shared.camelize(key); + return Array.isArray(props) ? props.some((prop) => shared.camelize(prop) === camelKey) : Object.keys(props).some((prop) => shared.camelize(prop) === camelKey); +} + +const REMOVAL = {}; +// @__NO_SIDE_EFFECTS__ +function defineCustomElement(options, extraOptions, _createApp) { + let Comp = runtimeCore.defineComponent(options, extraOptions); + if (shared.isPlainObject(Comp)) Comp = shared.extend({}, Comp, extraOptions); + class VueCustomElement extends VueElement { + constructor(initialProps) { + super(Comp, initialProps, _createApp); + } + } + VueCustomElement.def = Comp; + return VueCustomElement; +} +const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => { + return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp); +}); +const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class { +}; +class VueElement extends BaseClass { + constructor(_def, _props = {}, _createApp = createApp) { + super(); + this._def = _def; + this._props = _props; + this._createApp = _createApp; + this._isVueCE = true; + /** + * @internal + */ + this._instance = null; + /** + * @internal + */ + this._app = null; + /** + * @internal + */ + this._nonce = this._def.nonce; + this._connected = false; + this._resolved = false; + this._patching = false; + this._dirty = false; + this._numberProps = null; + this._styleChildren = /* @__PURE__ */ new WeakSet(); + this._styleAnchors = /* @__PURE__ */ new WeakMap(); + this._ob = null; + if (this.shadowRoot && _createApp !== createApp) { + this._root = this.shadowRoot; + } else { + if (_def.shadowRoot !== false) { + this.attachShadow( + shared.extend({}, _def.shadowRootOptions, { + mode: "open" + }) + ); + this._root = this.shadowRoot; + } else { + this._root = this; + } + } + } + connectedCallback() { + if (!this.isConnected) return; + if (!this.shadowRoot && !this._resolved) { + this._parseSlots(); + } + this._connected = true; + let parent = this; + while (parent = parent && // #12479 should check assignedSlot first to get correct parent + (parent.assignedSlot || parent.parentNode || parent.host)) { + if (parent instanceof VueElement) { + this._parent = parent; + break; + } + } + if (!this._instance) { + if (this._resolved) { + this._mount(this._def); + } else { + if (parent && parent._pendingResolve) { + this._pendingResolve = parent._pendingResolve.then(() => { + this._pendingResolve = void 0; + if (this.isConnected) { + return this._resolveDef(); + } + }); + } else { + this._resolveDef(); + } + } + } + } + _setParent(parent = this._parent) { + if (parent) { + this._instance.parent = parent._instance; + this._inheritParentContext(parent); + } + } + _inheritParentContext(parent = this._parent) { + if (parent && this._app) { + Object.setPrototypeOf( + this._app._context.provides, + parent._instance.provides + ); + } + } + disconnectedCallback() { + this._connected = false; + runtimeCore.nextTick(() => { + if (!this._connected) { + if (this._ob) { + this._ob.disconnect(); + this._ob = null; + } + this._app && this._app.unmount(); + if (this._instance) this._instance.ce = void 0; + this._app = this._instance = null; + if (this._teleportTargets) { + this._teleportTargets.clear(); + this._teleportTargets = void 0; + } + } + }); + } + _processMutations(mutations) { + for (const m of mutations) { + this._setAttr(m.attributeName); + } + } + /** + * resolve inner component definition (handle possible async component) + */ + _resolveDef() { + if (this._pendingResolve) { + return this._pendingResolve; + } + for (let i = 0; i < this.attributes.length; i++) { + this._setAttr(this.attributes[i].name); + } + this._ob = new MutationObserver(this._processMutations.bind(this)); + this._ob.observe(this, { attributes: true }); + const resolve = (def, isAsync = false) => { + this._resolved = true; + this._pendingResolve = void 0; + const { props, styles } = def; + let numberProps; + if (props && !shared.isArray(props)) { + for (const key in props) { + const opt = props[key]; + if (opt === Number || opt && opt.type === Number) { + if (key in this._props) { + this._props[key] = shared.toNumber(this._props[key]); + } + (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[shared.camelize(key)] = true; + } + } + } + this._numberProps = numberProps; + this._resolveProps(def); + if (this.shadowRoot) { + this._applyStyles(styles); + } + if (this._connected) { + this._mount(def); + } + }; + const asyncDef = this._def.__asyncLoader; + if (asyncDef) { + this._pendingResolve = asyncDef().then((def) => { + def.configureApp = this._def.configureApp; + resolve(this._def = def, true); + }); + return this._pendingResolve; + } else { + resolve(this._def); + } + } + _mount(def) { + this._app = this._createApp(def); + this._inheritParentContext(); + if (def.configureApp) { + def.configureApp(this._app); + } + this._app._ceVNode = this._createVNode(); + this._app.mount(this._root); + const exposed = this._instance && this._instance.exposed; + if (!exposed) return; + for (const key in exposed) { + if (!shared.hasOwn(this, key)) { + Object.defineProperty(this, key, { + // unwrap ref to be consistent with public instance behavior + get: () => runtimeCore.unref(exposed[key]) + }); + } + } + } + _resolveProps(def) { + const { props } = def; + const declaredPropKeys = shared.isArray(props) ? props : Object.keys(props || {}); + for (const key of Object.keys(this)) { + if (key[0] !== "_" && declaredPropKeys.includes(key)) { + this._setProp(key, this[key]); + } + } + for (const key of declaredPropKeys.map(shared.camelize)) { + Object.defineProperty(this, key, { + get() { + return this._getProp(key); + }, + set(val) { + this._setProp(key, val, true, !this._patching); + } + }); + } + } + _setAttr(key) { + if (key.startsWith("data-v-")) return; + const has = this.hasAttribute(key); + let value = has ? this.getAttribute(key) : REMOVAL; + const camelKey = shared.camelize(key); + if (has && this._numberProps && this._numberProps[camelKey]) { + value = shared.toNumber(value); + } + this._setProp(camelKey, value, false, true); + } + /** + * @internal + */ + _getProp(key) { + return this._props[key]; + } + /** + * @internal + */ + _setProp(key, val, shouldReflect = true, shouldUpdate = false) { + if (val !== this._props[key]) { + this._dirty = true; + if (val === REMOVAL) { + delete this._props[key]; + } else { + this._props[key] = val; + if (key === "key" && this._app) { + this._app._ceVNode.key = val; + } + } + if (shouldUpdate && this._instance) { + this._update(); + } + if (shouldReflect) { + const ob = this._ob; + if (ob) { + this._processMutations(ob.takeRecords()); + ob.disconnect(); + } + if (val === true) { + this.setAttribute(shared.hyphenate(key), ""); + } else if (typeof val === "string" || typeof val === "number") { + this.setAttribute(shared.hyphenate(key), val + ""); + } else if (!val) { + this.removeAttribute(shared.hyphenate(key)); + } + ob && ob.observe(this, { attributes: true }); + } + } + } + _update() { + const vnode = this._createVNode(); + if (this._app) vnode.appContext = this._app._context; + render(vnode, this._root); + } + _createVNode() { + const baseProps = {}; + if (!this.shadowRoot) { + baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this); + } + const vnode = runtimeCore.createVNode(this._def, shared.extend(baseProps, this._props)); + if (!this._instance) { + vnode.ce = (instance) => { + this._instance = instance; + instance.ce = this; + instance.isCE = true; + const dispatch = (event, args) => { + this.dispatchEvent( + new CustomEvent( + event, + shared.isPlainObject(args[0]) ? shared.extend({ detail: args }, args[0]) : { detail: args } + ) + ); + }; + instance.emit = (event, ...args) => { + dispatch(event, args); + if (shared.hyphenate(event) !== event) { + dispatch(shared.hyphenate(event), args); + } + }; + this._setParent(); + }; + } + return vnode; + } + _applyStyles(styles, owner, parentComp) { + if (!styles) return; + if (owner) { + if (owner === this._def || this._styleChildren.has(owner)) { + return; + } + this._styleChildren.add(owner); + } + const nonce = this._nonce; + const root = this.shadowRoot; + const insertionAnchor = parentComp ? this._getStyleAnchor(parentComp) || this._getStyleAnchor(this._def) : this._getRootStyleInsertionAnchor(root); + let last = null; + for (let i = styles.length - 1; i >= 0; i--) { + const s = document.createElement("style"); + if (nonce) s.setAttribute("nonce", nonce); + s.textContent = styles[i]; + root.insertBefore(s, last || insertionAnchor); + last = s; + if (i === 0) { + if (!parentComp) this._styleAnchors.set(this._def, s); + if (owner) this._styleAnchors.set(owner, s); + } + } + } + _getStyleAnchor(comp) { + if (!comp) { + return null; + } + const anchor = this._styleAnchors.get(comp); + if (anchor && anchor.parentNode === this.shadowRoot) { + return anchor; + } + if (anchor) { + this._styleAnchors.delete(comp); + } + return null; + } + _getRootStyleInsertionAnchor(root) { + for (let i = 0; i < root.childNodes.length; i++) { + const node = root.childNodes[i]; + if (!(node instanceof HTMLStyleElement)) { + return node; + } + } + return null; + } + /** + * Only called when shadowRoot is false + */ + _parseSlots() { + const slots = this._slots = {}; + let n; + while (n = this.firstChild) { + const slotName = n.nodeType === 1 && n.getAttribute("slot") || "default"; + (slots[slotName] || (slots[slotName] = [])).push(n); + this.removeChild(n); + } + } + /** + * Only called when shadowRoot is false + */ + _renderSlots() { + const outlets = this._getSlots(); + const scopeId = this._instance.type.__scopeId; + for (let i = 0; i < outlets.length; i++) { + const o = outlets[i]; + const slotName = o.getAttribute("name") || "default"; + const content = this._slots[slotName]; + const parent = o.parentNode; + if (content) { + for (const n of content) { + if (scopeId && n.nodeType === 1) { + const id = scopeId + "-s"; + const walker = document.createTreeWalker(n, 1); + n.setAttribute(id, ""); + let child; + while (child = walker.nextNode()) { + child.setAttribute(id, ""); + } + } + parent.insertBefore(n, o); + } + } else { + while (o.firstChild) parent.insertBefore(o.firstChild, o); + } + parent.removeChild(o); + } + } + /** + * @internal + */ + _getSlots() { + const roots = [this]; + if (this._teleportTargets) { + roots.push(...this._teleportTargets); + } + const slots = /* @__PURE__ */ new Set(); + for (const root of roots) { + const found = root.querySelectorAll("slot"); + for (let i = 0; i < found.length; i++) { + slots.add(found[i]); + } + } + return Array.from(slots); + } + /** + * @internal + */ + _injectChildStyle(comp, parentComp) { + this._applyStyles(comp.styles, comp, parentComp); + } + /** + * @internal + */ + _beginPatch() { + this._patching = true; + this._dirty = false; + } + /** + * @internal + */ + _endPatch() { + this._patching = false; + if (this._dirty && this._instance) { + this._update(); + } + } + /** + * @internal + */ + _hasShadowRoot() { + return this._def.shadowRoot !== false; + } + /** + * @internal + */ + _removeChildStyle(comp) { + } +} +function useHost(caller) { + const instance = runtimeCore.getCurrentInstance(); + const el = instance && instance.ce; + if (el) { + return el; + } + return null; +} +function useShadowRoot() { + const el = useHost(); + return el && el.shadowRoot; +} + +function useCssModule(name = "$style") { + { + const instance = runtimeCore.getCurrentInstance(); + if (!instance) { + return shared.EMPTY_OBJ; + } + const modules = instance.type.__cssModules; + if (!modules) { + return shared.EMPTY_OBJ; + } + const mod = modules[name]; + if (!mod) { + return shared.EMPTY_OBJ; + } + return mod; + } +} + +const positionMap = /* @__PURE__ */ new WeakMap(); +const newPositionMap = /* @__PURE__ */ new WeakMap(); +const moveCbKey = /* @__PURE__ */ Symbol("_moveCb"); +const enterCbKey = /* @__PURE__ */ Symbol("_enterCb"); +const pendingGroups = /* @__PURE__ */ new WeakMap(); +const decorate = (t) => { + delete t.props.mode; + return t; +}; +const TransitionGroupImpl = /* @__PURE__ */ decorate({ + name: "TransitionGroup", + props: /* @__PURE__ */ shared.extend({}, TransitionPropsValidators, { + tag: String, + moveClass: String + }), + setup(props, { slots }) { + const instance = runtimeCore.getCurrentInstance(); + const state = runtimeCore.useTransitionState(); + let prevChildren; + let children; + let origins; + let moves; + const willMove = () => { + if (moves === void 0) { + moves = prevChildren.length > 0 && hasCSSTransform( + prevChildren[0].el, + instance.vnode.el, + resolveMoveClass(props) + ); + } + return moves; + }; + runtimeCore.onUpdated(() => { + pendingGroups.delete(instance); + if (!willMove()) { + prevChildren = []; + origins = void 0; + return; + } + const moveClass = resolveMoveClass(props); + prevChildren.forEach(callPendingCbs); + const shift = origins && getOriginShift(origins, instance.vnode.el); + origins = void 0; + prevChildren.forEach((c) => recordPosition(c, shift)); + const movedChildren = prevChildren.filter(applyTranslation); + forceReflow(instance.vnode.el); + movedChildren.forEach((c) => { + const el = c.el; + const style = el.style; + addTransitionClass(el, moveClass); + style.transform = style.webkitTransform = style.transitionDuration = ""; + const cb = el[moveCbKey] = (e) => { + if (e && e.target !== el) { + return; + } + if (!e || e.propertyName.endsWith("transform")) { + el.removeEventListener("transitionend", cb); + el[moveCbKey] = null; + removeTransitionClass(el, moveClass); + } + }; + el.addEventListener("transitionend", cb); + }); + prevChildren = []; + }); + return () => { + const rawProps = runtimeCore.toRaw(props); + const cssTransitionProps = resolveTransitionProps(rawProps); + let tag = rawProps.tag || runtimeCore.Fragment; + prevChildren = []; + moves = void 0; + if (children) { + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.el && child.el instanceof Element && // Hidden v-show nodes have no previous layout box to animate from. + !child.el[vShowHidden]) { + prevChildren.push(child); + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks( + child, + cssTransitionProps, + state, + instance + ) + ); + positionMap.set(child, getPosition(child.el)); + } + } + } + children = slots.default ? runtimeCore.getTransitionRawChildren(slots.default()) : []; + for (let i = 0; i < children.length; i++) { + const child = children[i]; + if (child.key != null) { + runtimeCore.setTransitionHooks( + child, + runtimeCore.resolveTransitionHooks(child, cssTransitionProps, state, instance) + ); + } + } + if (prevChildren.length) { + origins = getOrigins(instance); + pendingGroups.set(instance, willMove); + } + return runtimeCore.createVNode(tag, null, children); + }; + } +}); +const TransitionGroup = TransitionGroupImpl; +function callPendingCbs(c) { + const el = c.el; + if (el[moveCbKey]) { + el[moveCbKey](); + } + if (el[enterCbKey]) { + el[enterCbKey](); + } +} +function resolveMoveClass(props) { + return props.moveClass || `${props.name || "v"}-move`; +} +function recordPosition(c, shift) { + newPositionMap.set(c, getPosition(c.el, shift)); +} +function applyTranslation(c) { + const oldPos = positionMap.get(c); + const newPos = newPositionMap.get(c); + const dx = oldPos.left - newPos.left; + const dy = oldPos.top - newPos.top; + if (dx || dy) { + const el = c.el; + const s = el.style; + const rect = el.getBoundingClientRect(); + let scaleX = 1; + let scaleY = 1; + if (el.offsetWidth) scaleX = rect.width / el.offsetWidth; + if (el.offsetHeight) scaleY = rect.height / el.offsetHeight; + if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1; + if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1; + if (Math.abs(scaleX - 1) < 0.01) scaleX = 1; + if (Math.abs(scaleY - 1) < 0.01) scaleY = 1; + s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`; + s.transitionDuration = "0s"; + return c; + } +} +function getPosition(el, shift) { + const rect = el.getBoundingClientRect(); + return { + left: rect.left - (shift ? shift.left : 0), + top: rect.top - (shift ? shift.top : 0) + }; +} +function getOrigins(instance) { + let origins; + for (let group = instance.parent; group; group = group.parent) { + const willMove = pendingGroups.get(group); + if (willMove) { + const item = findItem(group.vnode.el, instance.vnode.el); + if (item) { + (origins || (origins = [])).push( + shared.extend(getPosition(item), { item, willMove }) + ); + } + } + } + return origins; +} +function findItem(root, node) { + const container = root.nodeType === 1 ? root : root.parentNode; + while (node && node.parentNode !== container) { + node = node.parentNode; + } + if (node && node.nodeType === 1) { + return node; + } +} +function getOriginShift(origins, root) { + const origin = origins.find((o) => o.willMove() && o.item.contains(root)); + return origin && getPosition(origin.item, origin); +} +function hasCSSTransform(el, root, moveClass) { + const clone = el.cloneNode(); + const _vtc = el[vtcKey]; + if (_vtc) { + _vtc.forEach((cls) => { + cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c)); + }); + } + moveClass.split(/\s+/).forEach((c) => c && clone.classList.add(c)); + clone.style.display = "none"; + const container = root.nodeType === 1 ? root : root.parentNode; + container.appendChild(clone); + const { hasTransform } = getTransitionInfo(clone); + container.removeChild(clone); + return hasTransform; +} + +const getModelAssigner = (vnode) => { + const fn = vnode.props["onUpdate:modelValue"] || false; + return shared.isArray(fn) ? (value) => shared.invokeArrayFns(fn, value) : fn; +}; +function onCompositionStart(e) { + e.target.composing = true; +} +function onCompositionEnd(e) { + const target = e.target; + if (target.composing) { + target.composing = false; + target.dispatchEvent(new Event("input")); + } +} +const assignKey = /* @__PURE__ */ Symbol("_assign"); +const initialValueKey = /* @__PURE__ */ Symbol("_initialValue"); +function castValue(value, trim, number) { + if (trim) value = value.trim(); + if (number) value = shared.looseToNumber(value); + return value; +} +const vModelText = { + created(el, { modifiers: { lazy, trim, number } }, vnode) { + if (el.parentNode) { + if (el.type === "text") { + el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, ""); + } else if (el.type === "textarea") { + el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n"); + } + } + el[assignKey] = getModelAssigner(vnode); + const castToNumber = number || vnode.props && vnode.props.type === "number"; + addEventListener(el, lazy ? "change" : "input", (e) => { + if (e.target.composing) return; + el[assignKey](castValue(el.value, trim, castToNumber)); + }); + if (trim || castToNumber) { + addEventListener(el, "change", () => { + el.value = castValue(el.value, trim, castToNumber); + }); + } + if (!lazy) { + addEventListener(el, "compositionstart", onCompositionStart); + addEventListener(el, "compositionend", onCompositionEnd); + addEventListener(el, "change", onCompositionEnd); + } + }, + // set value on mounted so it's after min/max for type="range" + mounted(el, { value, modifiers: { trim, number } }) { + const newValue = value == null ? "" : value; + const initialValue = el[initialValueKey]; + delete el[initialValueKey]; + if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) { + el[assignKey](castValue(el.value, trim, number)); + } else { + el.value = newValue; + } + }, + beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (el.composing) return; + const elValue = (number || el.type === "number") && !/^0\d/.test(el.value) ? shared.looseToNumber(el.value) : el.value; + const newValue = value == null ? "" : value; + if (elValue === newValue) { + return; + } + const rootNode = el.getRootNode(); + if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement === el && el.type !== "range") { + if (lazy && value === oldValue) { + return; + } + if (trim && el.value.trim() === newValue) { + return; + } + } + el.value = newValue; + } +}; +const vModelCheckbox = { + // #4096 array checkboxes need to be deep traversed + deep: true, + created(el, _, vnode) { + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + const modelValue = el._modelValue; + const elementValue = getValue(el); + const checked = el.checked; + const assign = el[assignKey]; + if (shared.isArray(modelValue)) { + const index = shared.looseIndexOf(modelValue, elementValue); + const found = index !== -1; + if (checked && !found) { + assign(modelValue.concat(elementValue)); + } else if (!checked && found) { + const filtered = [...modelValue]; + filtered.splice(index, 1); + assign(filtered); + } + } else if (shared.isSet(modelValue)) { + const cloned = new Set(modelValue); + if (checked) { + cloned.add(elementValue); + } else { + cloned.delete(elementValue); + } + assign(cloned); + } else { + assign(getCheckboxValue(el, checked)); + } + }); + }, + // set initial checked on mount to wait for true-value/false-value + mounted: setChecked, + beforeUpdate(el, binding, vnode) { + el[assignKey] = getModelAssigner(vnode); + setChecked(el, binding, vnode); + } +}; +function setChecked(el, { value, oldValue }, vnode) { + el._modelValue = value; + let checked; + if (shared.isArray(value)) { + checked = shared.looseIndexOf(value, vnode.props.value) > -1; + } else if (shared.isSet(value)) { + checked = value.has(vnode.props.value); + } else { + if (value === oldValue) return; + checked = shared.looseEqual(value, getCheckboxValue(el, true)); + } + if (el.checked !== checked) { + el.checked = checked; + } +} +const vModelRadio = { + created(el, { value }, vnode) { + el.checked = shared.looseEqual(value, vnode.props.value); + el[assignKey] = getModelAssigner(vnode); + addEventListener(el, "change", () => { + el[assignKey](getValue(el)); + }); + }, + beforeUpdate(el, { value, oldValue }, vnode) { + el[assignKey] = getModelAssigner(vnode); + if (value !== oldValue) { + el.checked = shared.looseEqual(value, vnode.props.value); + } + } +}; +const vModelSelect = { + // <select multiple> value need to be deep traversed + deep: true, + created(el, { value, modifiers: { number } }, vnode) { + el._modelValue = value; + addEventListener(el, "change", () => { + const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map( + (o) => number ? shared.looseToNumber(getValue(o)) : getValue(o) + ); + const multiple = el.multiple; + const assignedValue = multiple ? shared.isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]; + const pending = el._pendingValue = [ + multiple, + multiple ? shared.isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue + ]; + try { + el[assignKey](assignedValue); + } finally { + runtimeCore.nextTick(() => { + if (el._pendingValue === pending) { + el._pendingValue = void 0; + } + }); + } + }); + el[assignKey] = getModelAssigner(vnode); + }, + // set value in mounted & updated because <select> relies on its children + // <option>s. + mounted(el, { value }) { + setSelected(el, value); + }, + beforeUpdate(el, { value }, vnode) { + el._modelValue = value; + el[assignKey] = getModelAssigner(vnode); + }, + updated(el, { value }) { + const pending = el._pendingValue; + el._pendingValue = void 0; + if (!pending || pending[0] !== el.multiple || !isSameSelectValue(value, pending[1], pending[0])) { + setSelected(el, value); + } + } +}; +function isSameSelectValue(value, assignedValue, multiple) { + if (!multiple) return shared.looseEqual(value, assignedValue); + if (shared.isArray(value)) return shared.looseEqual(value, assignedValue); + if (shared.isSet(value)) { + if (value.size !== assignedValue.length) return false; + for (const item of assignedValue) { + if (!value.has(item)) return false; + } + return true; + } + return false; +} +function setSelected(el, value) { + const isMultiple = el.multiple; + const isArrayValue = shared.isArray(value); + if (isMultiple && !isArrayValue && !shared.isSet(value)) { + return; + } + for (let i = 0, l = el.options.length; i < l; i++) { + const option = el.options[i]; + const optionValue = getValue(option); + if (isMultiple) { + if (isArrayValue) { + const optionType = typeof optionValue; + if (optionType === "string" || optionType === "number") { + option.selected = value.some((v) => String(v) === String(optionValue)); + } else { + option.selected = shared.looseIndexOf(value, optionValue) > -1; + } + } else { + option.selected = value.has(optionValue); + } + } else if (shared.looseEqual(getValue(option), value)) { + if (el.selectedIndex !== i) el.selectedIndex = i; + return; + } + } + if (!isMultiple && el.selectedIndex !== -1) { + el.selectedIndex = -1; + } +} +function getValue(el) { + return "_value" in el ? el._value : el.value; +} +function getCheckboxValue(el, checked) { + const key = checked ? "_trueValue" : "_falseValue"; + return key in el ? el[key] : checked; +} +const vModelDynamic = { + created(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "created"); + }, + mounted(el, binding, vnode) { + callModelHook(el, binding, vnode, null, "mounted"); + }, + beforeUpdate(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "beforeUpdate"); + }, + updated(el, binding, vnode, prevVNode) { + callModelHook(el, binding, vnode, prevVNode, "updated"); + } +}; +function resolveDynamicModel(tagName, type) { + switch (tagName) { + case "SELECT": + return vModelSelect; + case "TEXTAREA": + return vModelText; + default: + switch (type) { + case "checkbox": + return vModelCheckbox; + case "radio": + return vModelRadio; + default: + return vModelText; + } + } +} +function callModelHook(el, binding, vnode, prevVNode, hook) { + const modelToUse = resolveDynamicModel( + el.tagName, + vnode.props && vnode.props.type + ); + const fn = modelToUse[hook]; + fn && fn(el, binding, vnode, prevVNode); +} +function initVModelForSSR() { + vModelText.getSSRProps = ({ value }) => ({ value }); + vModelRadio.getSSRProps = ({ value }, vnode) => { + if (vnode.props && shared.looseEqual(vnode.props.value, value)) { + return { checked: true }; + } + }; + vModelCheckbox.getSSRProps = ({ value }, vnode) => { + if (shared.isArray(value)) { + if (vnode.props && shared.looseIndexOf(value, vnode.props.value) > -1) { + return { checked: true }; + } + } else if (shared.isSet(value)) { + if (vnode.props && value.has(vnode.props.value)) { + return { checked: true }; + } + } else if (value) { + return { checked: true }; + } + }; + vModelDynamic.getSSRProps = (binding, vnode) => { + if (typeof vnode.type !== "string") { + return; + } + const modelToUse = resolveDynamicModel( + // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase + vnode.type.toUpperCase(), + vnode.props && vnode.props.type + ); + if (modelToUse.getSSRProps) { + return modelToUse.getSSRProps(binding, vnode); + } + }; +} + +const systemModifiers = ["ctrl", "shift", "alt", "meta"]; +const modifierGuards = { + stop: (e) => e.stopPropagation(), + prevent: (e) => e.preventDefault(), + self: (e) => e.target !== e.currentTarget, + ctrl: (e) => !e.ctrlKey, + shift: (e) => !e.shiftKey, + alt: (e) => !e.altKey, + meta: (e) => !e.metaKey, + left: (e) => "button" in e && e.button !== 0, + middle: (e) => "button" in e && e.button !== 1, + right: (e) => "button" in e && e.button !== 2, + exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m)) +}; +const withModifiers = (fn, modifiers) => { + if (!fn) return fn; + const cache = fn._withMods || (fn._withMods = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => { + for (let i = 0; i < modifiers.length; i++) { + const guard = modifierGuards[modifiers[i]]; + if (guard && guard(event, modifiers)) return; + } + return fn(event, ...args); + })); +}; +const keyNames = { + esc: "escape", + space: " ", + up: "arrow-up", + left: "arrow-left", + right: "arrow-right", + down: "arrow-down", + delete: "backspace" +}; +const withKeys = (fn, modifiers) => { + const cache = fn._withKeys || (fn._withKeys = {}); + const cacheKey = modifiers.join("."); + return cache[cacheKey] || (cache[cacheKey] = ((event) => { + if (!("key" in event)) { + return; + } + const eventKey = shared.hyphenate(event.key); + if (modifiers.some( + (k) => k === eventKey || keyNames[k] === eventKey + )) { + return fn(event); + } + })); +}; + +const rendererOptions = /* @__PURE__ */ shared.extend({ patchProp }, nodeOps); +let renderer; +let enabledHydration = false; +function ensureRenderer() { + return renderer || (renderer = runtimeCore.createRenderer(rendererOptions)); +} +function ensureHydrationRenderer() { + renderer = enabledHydration ? renderer : runtimeCore.createHydrationRenderer(rendererOptions); + enabledHydration = true; + return renderer; +} +const render = ((...args) => { + ensureRenderer().render(...args); +}); +const hydrate = ((...args) => { + ensureHydrationRenderer().hydrate(...args); +}); +const createApp = ((...args) => { + const app = ensureRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (!container) return; + const component = app._component; + if (!shared.isFunction(component) && !component.render && !component.template) { + component.template = container.innerHTML; + } + if (container.nodeType === 1) { + container.textContent = ""; + } + const proxy = mount(container, false, resolveRootNamespace(container)); + if (container instanceof Element) { + container.removeAttribute("v-cloak"); + container.setAttribute("data-v-app", ""); + } + return proxy; + }; + return app; +}); +const createSSRApp = ((...args) => { + const app = ensureHydrationRenderer().createApp(...args); + const { mount } = app; + app.mount = (containerOrSelector) => { + const container = normalizeContainer(containerOrSelector); + if (container) { + return mount(container, true, resolveRootNamespace(container)); + } + }; + return app; +}); +function resolveRootNamespace(container) { + if (container instanceof SVGElement) { + return "svg"; + } + if (typeof MathMLElement === "function" && container instanceof MathMLElement) { + return "mathml"; + } +} +function normalizeContainer(container) { + if (shared.isString(container)) { + const res = document.querySelector(container); + return res; + } + return container; +} +let ssrDirectiveInitialized = false; +const initDirectivesForSSR = () => { + if (!ssrDirectiveInitialized) { + ssrDirectiveInitialized = true; + initVModelForSSR(); + initVShowForSSR(); + } +} ; + +exports.Transition = Transition; +exports.TransitionGroup = TransitionGroup; +exports.VueElement = VueElement; +exports.createApp = createApp; +exports.createSSRApp = createSSRApp; +exports.defineCustomElement = defineCustomElement; +exports.defineSSRCustomElement = defineSSRCustomElement; +exports.hydrate = hydrate; +exports.initDirectivesForSSR = initDirectivesForSSR; +exports.nodeOps = nodeOps; +exports.patchProp = patchProp; +exports.render = render; +exports.useCssModule = useCssModule; +exports.useCssVars = useCssVars; +exports.useHost = useHost; +exports.useShadowRoot = useShadowRoot; +exports.vModelCheckbox = vModelCheckbox; +exports.vModelDynamic = vModelDynamic; +exports.vModelRadio = vModelRadio; +exports.vModelSelect = vModelSelect; +exports.vModelText = vModelText; +exports.vShow = vShow; +exports.withKeys = withKeys; +exports.withModifiers = withModifiers; +Object.keys(runtimeCore).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeCore[k]; +}); diff --git a/apps/web/.output/server/node_modules/@vue/runtime-dom/package.json b/apps/web/.output/server/node_modules/@vue/runtime-dom/package.json new file mode 100644 index 0000000..7c90402 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/runtime-dom/package.json @@ -0,0 +1,60 @@ +{ + "name": "@vue/runtime-dom", + "version": "3.5.44", + "description": "@vue/runtime-dom", + "main": "index.js", + "module": "dist/runtime-dom.esm-bundler.js", + "types": "dist/runtime-dom.d.ts", + "unpkg": "dist/runtime-dom.global.js", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/runtime-dom.d.ts", + "node": { + "production": "./dist/runtime-dom.cjs.prod.js", + "development": "./dist/runtime-dom.cjs.js", + "default": "./dist/runtime-dom.cjs.prod.js" + }, + "module": "./dist/runtime-dom.esm-bundler.js", + "import": "./dist/runtime-dom.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "name": "VueRuntimeDOM", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs", + "global" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/runtime-dom" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-dom#readme", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/runtime-core": "3.5.44", + "@vue/reactivity": "3.5.44", + "csstype": "^3.2.3" + }, + "devDependencies": { + "@types/trusted-types": "^2.0.7" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js new file mode 100644 index 0000000..c907998 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js @@ -0,0 +1,951 @@ +/** +* @vue/server-renderer v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var Vue = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); +var compilerSsr = require('@vue/compiler-ssr'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var Vue__namespace = /*#__PURE__*/_interopNamespaceDefault(Vue); + +const shouldIgnoreProp = /* @__PURE__ */ shared.makeMap( + `,key,ref,innerHTML,textContent,ref_key,ref_for` +); +function ssrRenderAttrs(props, tag) { + let ret = ""; + for (let key in props) { + if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value" || // force as property (not rendered in SSR) + key.startsWith(".")) { + continue; + } + const value = props[key]; + if (key.startsWith("^")) key = key.slice(1); + if (key === "class") { + ret += ` class="${ssrRenderClass(value)}"`; + } else if (key === "style") { + ret += ` style="${ssrRenderStyle(value)}"`; + } else if (key === "className") { + if (value != null) { + ret += ` class="${shared.escapeHtml(String(value))}"`; + } + } else { + ret += ssrRenderDynamicAttr(key, value, tag); + } + } + return ret; +} +function ssrRenderDynamicAttr(key, value, tag) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + const attrKey = tag && (tag.indexOf("-") > 0 || shared.isSVGTag(tag)) ? key : shared.propsToAttrMap[key] || key.toLowerCase(); + if (shared.isBooleanAttr(attrKey) || attrKey === "hidden" && (typeof value === "boolean" || typeof value === "number")) { + return shared.includeBooleanAttr(value) ? ` ${attrKey}` : ``; + } else if (shared.isSSRSafeAttrName(attrKey)) { + return value === "" ? ` ${attrKey}` : ` ${attrKey}="${shared.escapeHtml(value)}"`; + } else { + console.warn( + `[@vue/server-renderer] Skipped rendering unsafe attribute name: ${attrKey}` + ); + return ``; + } +} +function ssrRenderAttr(key, value) { + if (!shared.isRenderableAttrValue(value)) { + return ``; + } + return ` ${key}="${shared.escapeHtml(value)}"`; +} +function ssrRenderClass(raw) { + return shared.escapeHtml(shared.normalizeClass(raw)); +} +function ssrRenderStyle(raw) { + if (!raw) { + return ""; + } + if (shared.isString(raw)) { + return shared.escapeHtml(raw); + } + const styles = shared.normalizeStyle(ssrResetCssVars(raw)); + return shared.escapeHtml(shared.stringifyStyle(styles)); +} +function ssrResetCssVars(raw) { + if (!shared.isArray(raw) && shared.isObject(raw)) { + const res = {}; + for (const key in raw) { + if (key.startsWith(":--")) { + res[key.slice(1)] = shared.normalizeCssVarValue(raw[key]); + } else { + res[key] = raw[key]; + } + } + return res; + } + return raw; +} + +function ssrRenderComponent(comp, props = null, children = null, parentComponent = null, slotScopeId) { + return renderComponentVNode( + Vue.createVNode(comp, props, children), + parentComponent, + slotScopeId + ); +} + +const { ensureValidVNode } = Vue.ssrUtils; +function ssrRenderSlot(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId) { + push(`<!--[-->`); + ssrRenderSlotInner( + slots, + slotName, + slotProps, + fallbackRenderFn, + push, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); +} +function ssrRenderSlotInner(slots, slotName, slotProps, fallbackRenderFn, push, parentComponent, slotScopeId, transition) { + const slotFn = slots[slotName]; + if (slotFn) { + const slotBuffer = []; + const bufferedPush = (item) => { + slotBuffer.push(item); + }; + const ret = slotFn( + // keep the slot function's contract in sync with `renderSlot`, which also + // normalizes nullish props before invoking the slot + slotProps || {}, + bufferedPush, + parentComponent, + slotScopeId ? " " + slotScopeId : "" + ); + if (shared.isArray(ret)) { + const validSlotContent = ensureValidVNode(ret); + if (validSlotContent) { + renderVNodeChildren( + push, + validSlotContent, + parentComponent, + slotScopeId + ); + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } + } else { + let isEmptySlot = true; + if (transition) { + isEmptySlot = false; + } else { + for (let i = 0; i < slotBuffer.length; i++) { + if (!isComment(slotBuffer[i])) { + isEmptySlot = false; + break; + } + } + } + if (isEmptySlot) { + if (fallbackRenderFn) { + fallbackRenderFn(); + } + } else { + let start = 0; + let end = slotBuffer.length; + if (transition && slotBuffer[0] === "<!--[-->" && slotBuffer[end - 1] === "<!--]-->") { + start++; + end--; + } + if (start < end) { + for (let i = start; i < end; i++) { + push(slotBuffer[i]); + } + } else if (transition) { + push(`<!---->`); + } + } + } + } else if (fallbackRenderFn) { + fallbackRenderFn(); + } else if (transition) { + push(`<!---->`); + } +} +const commentTestRE = /^<!--[\s\S]*-->$/; +const commentRE = /<!--[^]*?-->/gm; +function isComment(item) { + if (typeof item !== "string" || !commentTestRE.test(item)) return false; + if (item.length <= 8) return true; + return !item.replace(commentRE, "").trim(); +} + +function ssrRenderTeleport(parentPush, contentRenderFn, target, disabled, parentComponent) { + parentPush("<!--teleport start-->"); + const context = parentComponent.appContext.provides[Vue.ssrContextKey]; + const teleportBuffers = context.__teleportBuffers || (context.__teleportBuffers = {}); + const targetBuffer = teleportBuffers[target] || (teleportBuffers[target] = []); + const bufferIndex = targetBuffer.length; + let teleportContent; + if (disabled) { + contentRenderFn(parentPush); + teleportContent = `<!--teleport start anchor--><!--teleport anchor-->`; + } else { + const { getBuffer, push } = createBuffer(); + push(`<!--teleport start anchor-->`); + contentRenderFn(push); + push(`<!--teleport anchor-->`); + teleportContent = getBuffer(); + } + targetBuffer.splice(bufferIndex, 0, teleportContent); + if (shared.isPromise(teleportContent) || shared.isArray(teleportContent) && teleportContent.hasAsync) { + targetBuffer.hasAsync = true; + } + parentPush("<!--teleport end-->"); +} + +function ssrInterpolate(value) { + return shared.escapeHtml(shared.toDisplayString(value)); +} + +function ssrRenderList(source, renderItem) { + if (shared.isArray(source) || shared.isString(source)) { + for (let i = 0, l = source.length; i < l; i++) { + renderItem(source[i], i); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source) || source < 0) { + return; + } + for (let i = 0; i < source; i++) { + renderItem(i + 1, i); + } + } else if (shared.isObject(source)) { + if (source[Symbol.iterator]) { + let i = 0; + for (const item of source) { + renderItem(item, i++); + } + } else { + const keys = Object.keys(source); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + renderItem(source[key], key, i); + } + } + } +} + +function ssrRenderSuspense(push, { default: renderContent }) { + if (renderContent) { + renderContent(); + } else { + push(`<!---->`); + } +} + +function ssrGetDirectiveProps(instance, dir, value, arg, modifiers = {}) { + if (typeof dir !== "function" && dir.getSSRProps) { + return dir.getSSRProps( + { + dir, + instance: Vue.ssrUtils.getComponentPublicInstance(instance.$), + value, + oldValue: void 0, + arg, + modifiers + }, + null + ) || {}; + } + return {}; +} + +const ssrLooseEqual = shared.looseEqual; +function ssrLooseContain(arr, value) { + return shared.looseIndexOf(arr, value) > -1; +} +function ssrRenderDynamicModel(type, model, value) { + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? " checked" : ""; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? " checked" : ""; + default: + return ssrRenderAttr("value", model); + } +} +function ssrGetDynamicModelProps(existingProps = {}, model) { + const { type, value } = existingProps; + switch (type) { + case "radio": + return shared.looseEqual(model, value) ? { checked: true } : null; + case "checkbox": + return (shared.isArray(model) ? ssrLooseContain(model, value) : model) ? { checked: true } : null; + default: + return { value: model }; + } +} + +var helpers = /*#__PURE__*/Object.freeze({ + __proto__: null, + ssrGetDirectiveProps: ssrGetDirectiveProps, + ssrGetDynamicModelProps: ssrGetDynamicModelProps, + ssrIncludeBooleanAttr: shared.includeBooleanAttr, + ssrInterpolate: ssrInterpolate, + ssrLooseContain: ssrLooseContain, + ssrLooseEqual: ssrLooseEqual, + ssrRenderAttr: ssrRenderAttr, + ssrRenderAttrs: ssrRenderAttrs, + ssrRenderClass: ssrRenderClass, + ssrRenderComponent: ssrRenderComponent, + ssrRenderDynamicAttr: ssrRenderDynamicAttr, + ssrRenderDynamicModel: ssrRenderDynamicModel, + ssrRenderList: ssrRenderList, + ssrRenderSlot: ssrRenderSlot, + ssrRenderSlotInner: ssrRenderSlotInner, + ssrRenderStyle: ssrRenderStyle, + ssrRenderSuspense: ssrRenderSuspense, + ssrRenderTeleport: ssrRenderTeleport, + ssrRenderVNode: renderVNode +}); + +const compileCache = /* @__PURE__ */ Object.create(null); +function ssrCompile(template, instance) { + const Component = instance.type; + const { isCustomElement, compilerOptions } = instance.appContext.config; + const { delimiters, compilerOptions: componentCompilerOptions } = Component; + const finalCompilerOptions = shared.extend( + shared.extend( + { + isCustomElement, + delimiters + }, + compilerOptions + ), + componentCompilerOptions + ); + finalCompilerOptions.isCustomElement = finalCompilerOptions.isCustomElement || shared.NO; + finalCompilerOptions.isNativeTag = finalCompilerOptions.isNativeTag || shared.NO; + const cacheKey = JSON.stringify( + { + template, + compilerOptions: finalCompilerOptions + }, + (key, value) => { + return shared.isFunction(value) ? value.toString() : value; + } + ); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + finalCompilerOptions.onError = (err) => { + { + throw err; + } + }; + const { code } = compilerSsr.compile(template, finalCompilerOptions); + const requireMap = { + vue: Vue__namespace, + "vue/server-renderer": helpers + }; + const fakeRequire = (id) => requireMap[id]; + return compileCache[cacheKey] = Function("require", code)(fakeRequire); +} + +const { + createComponentInstance, + setCurrentRenderingInstance, + setupComponent, + renderComponentRoot, + normalizeVNode, + pushWarningContext, + popWarningContext +} = Vue.ssrUtils; +function createBuffer() { + let appendable = false; + const buffer = []; + return { + getBuffer() { + return buffer; + }, + push(item) { + const isStringItem = shared.isString(item); + if (appendable && isStringItem) { + buffer[buffer.length - 1] += item; + return; + } + buffer.push(item); + appendable = isStringItem; + if (shared.isPromise(item) || shared.isArray(item) && item.hasAsync) { + buffer.hasAsync = true; + } + } + }; +} +function renderComponentVNode(vnode, parentComponent = null, slotScopeId) { + const instance = vnode.component = createComponentInstance( + vnode, + parentComponent, + null + ); + const res = setupComponent( + instance, + true + /* isSSR */ + ); + const hasAsyncSetup = shared.isPromise(res); + let prefetches = instance.sp; + let p; + if (hasAsyncSetup || prefetches) { + p = Promise.resolve(res).then(() => { + if (hasAsyncSetup) prefetches = instance.sp; + if (prefetches) { + try { + return Promise.all( + prefetches.map((prefetch) => prefetch.call(instance.proxy)) + ).catch(shared.NOOP); + } catch { + } + } + }).then(() => renderComponentSubTree(instance, slotScopeId)); + } else { + try { + return renderComponentSubTree(instance, slotScopeId); + } catch (err) { + p = Promise.reject(err); + } + } + p.catch(shared.NOOP); + return p; +} +function renderComponentSubTree(instance, slotScopeId) { + const comp = instance.type; + const { getBuffer, push } = createBuffer(); + if (shared.isFunction(comp)) { + let root = renderComponentRoot(instance); + if (!comp.props) { + for (const key in instance.attrs) { + if (key.startsWith(`data-v-`)) { + (root.props || (root.props = {}))[key] = ``; + } + } + } + renderVNode(push, instance.subTree = root, instance, slotScopeId); + } else { + if ((!instance.render || instance.render === shared.NOOP) && !instance.ssrRender && !comp.ssrRender && shared.isString(comp.template)) { + comp.ssrRender = ssrCompile(comp.template, instance); + } + const ssrRender = instance.ssrRender || comp.ssrRender; + if (ssrRender) { + let attrs = instance.inheritAttrs !== false ? instance.attrs : void 0; + let hasCloned = false; + let cur = instance; + while (true) { + const scopeId = cur.vnode.scopeId; + if (scopeId) { + if (!hasCloned) { + attrs = { ...attrs }; + hasCloned = true; + } + attrs[scopeId] = ""; + } + const parent = cur.parent; + if (parent && parent.subTree && parent.subTree === cur.vnode) { + cur = parent; + } else { + break; + } + } + if (slotScopeId) { + if (!hasCloned) attrs = { ...attrs }; + const slotScopeIdList = slotScopeId.trim().split(" "); + for (let i = 0; i < slotScopeIdList.length; i++) { + attrs[slotScopeIdList[i]] = ""; + } + } + const prev = setCurrentRenderingInstance(instance); + try { + ssrRender( + instance.proxy, + push, + instance, + attrs, + // compiler-optimized bindings + instance.props, + instance.setupState, + instance.data, + instance.ctx + ); + } catch (err) { + Vue.handleError(err, instance, 1); + } finally { + setCurrentRenderingInstance(prev); + } + } else if (instance.render && instance.render !== shared.NOOP) { + renderVNode( + push, + instance.subTree = renderComponentRoot(instance), + instance, + slotScopeId + ); + } else { + const componentName = comp.name || comp.__file || `<Anonymous>`; + Vue.warn(`Component ${componentName} is missing template or render function.`); + push(`<!---->`); + } + } + return getBuffer(); +} +function renderVNode(push, vnode, parentComponent, slotScopeId) { + const { type, shapeFlag, children, dirs, props } = vnode; + if (dirs) { + vnode.props = applySSRDirectives(vnode, props, dirs); + } + switch (type) { + case Vue.Text: + push(shared.escapeHtml(children)); + break; + case Vue.Comment: + push( + children ? `<!--${shared.escapeHtmlComment(children)}-->` : `<!---->` + ); + break; + case Vue.Static: + push(children); + break; + case Vue.Fragment: + if (vnode.slotScopeIds) { + slotScopeId = (slotScopeId ? slotScopeId + " " : "") + vnode.slotScopeIds.join(" "); + } + push(`<!--[-->`); + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + push(`<!--]-->`); + break; + default: + if (shapeFlag & 1) { + renderElementVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 6) { + push(renderComponentVNode(vnode, parentComponent, slotScopeId)); + } else if (shapeFlag & 64) { + renderTeleportVNode(push, vnode, parentComponent, slotScopeId); + } else if (shapeFlag & 128) { + renderVNode(push, vnode.ssContent, parentComponent, slotScopeId); + } else { + Vue.warn( + "[@vue/server-renderer] Invalid VNode type:", + type, + `(${typeof type})` + ); + } + } +} +function renderVNodeChildren(push, children, parentComponent, slotScopeId) { + for (let i = 0; i < children.length; i++) { + renderVNode(push, normalizeVNode(children[i]), parentComponent, slotScopeId); + } +} +function renderElementVNode(push, vnode, parentComponent, slotScopeId) { + const tag = vnode.type; + let { props, children, shapeFlag, scopeId } = vnode; + let openTag = `<${tag}`; + if (props) { + openTag += ssrRenderAttrs(props, tag); + } + const renderedScopeIds = []; + const appendScopeId = (id) => { + if (id && (!props || !shared.hasOwn(props, id)) && !renderedScopeIds.includes(id)) { + openTag += ` ${id}`; + renderedScopeIds.push(id); + } + }; + if (scopeId) { + appendScopeId(scopeId); + } + let curParent = parentComponent; + let curVnode = vnode; + while (curParent && curVnode === curParent.subTree) { + curVnode = curParent.vnode; + if (curVnode.scopeId) { + appendScopeId(curVnode.scopeId); + } + curParent = curParent.parent; + } + if (slotScopeId) { + const slotScopeIdList = slotScopeId.trim().split(" "); + for (let i = 0; i < slotScopeIdList.length; i++) { + appendScopeId(slotScopeIdList[i]); + } + } + push(openTag + `>`); + if (!shared.isVoidTag(tag)) { + let hasChildrenOverride = false; + if (props) { + if (props.innerHTML != null) { + hasChildrenOverride = true; + push(String(props.innerHTML)); + } else if (props.textContent != null) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.textContent)); + } else if (tag === "textarea" && props.value != null) { + hasChildrenOverride = true; + push(shared.escapeHtml(props.value)); + } + } + if (!hasChildrenOverride) { + if (shapeFlag & 8) { + push(shared.escapeHtml(children)); + } else if (shapeFlag & 16) { + renderVNodeChildren( + push, + children, + parentComponent, + slotScopeId + ); + } + } + push(`</${tag}>`); + } +} +function applySSRDirectives(vnode, rawProps, dirs) { + const toMerge = []; + for (let i = 0; i < dirs.length; i++) { + const binding = dirs[i]; + const { + dir: { getSSRProps } + } = binding; + if (getSSRProps) { + const props = getSSRProps(binding, vnode); + if (props) toMerge.push(props); + } + } + return Vue.mergeProps(rawProps || {}, ...toMerge); +} +function renderTeleportVNode(push, vnode, parentComponent, slotScopeId) { + const target = vnode.props && vnode.props.to; + const disabled = vnode.props && vnode.props.disabled; + if (!target) { + if (!disabled) { + Vue.warn(`[@vue/server-renderer] Teleport is missing target prop.`); + } + return []; + } + if (!shared.isString(target)) { + Vue.warn( + `[@vue/server-renderer] Teleport target must be a query selector string.` + ); + return []; + } + ssrRenderTeleport( + push, + (push2) => { + renderVNodeChildren( + push2, + vnode.children, + parentComponent, + slotScopeId + ); + }, + target, + disabled || disabled === "", + parentComponent + ); +} + +const { isVNode: isVNode$1 } = Vue.ssrUtils; +function nestedUnrollBuffer(buffer, parentRet, startIndex) { + if (!buffer.hasAsync) { + return parentRet + unrollBufferSync$1(buffer); + } + let ret = parentRet; + for (let i = startIndex; i < buffer.length; i += 1) { + const item = buffer[i]; + if (shared.isString(item)) { + ret += item; + continue; + } + if (shared.isPromise(item)) { + return item.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, ret, i); + }); + } + const result = nestedUnrollBuffer(item, ret, 0); + if (shared.isPromise(result)) { + return result.then((nestedItem) => { + buffer[i] = nestedItem; + return nestedUnrollBuffer(buffer, "", i); + }); + } + ret = result; + } + return ret; +} +function unrollBuffer$1(buffer) { + return nestedUnrollBuffer(buffer, "", 0); +} +function unrollBufferSync$1(buffer) { + let ret = ""; + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + ret += item; + } else { + ret += unrollBufferSync$1(item); + } + } + return ret; +} +async function renderToString(input, context = {}) { + if (isVNode$1(input)) { + return renderToString(Vue.createApp({ render: () => input }), context); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + let buffer; + let result; + try { + buffer = await renderComponentVNode(vnode); + result = await unrollBuffer$1(buffer); + await resolveTeleports(context); + } catch (err) { + cleanupFailedRender(buffer, context); + throw err; + } + stopWatchers(context); + return result; +} +function stopWatchers(context, start = 0) { + const handles = context.__watcherHandles; + if (handles) { + for (let i = start; i < handles.length; i++) { + handles[i](); + } + } +} +function cleanupFailedRender(buffer, context) { + const stopped = context.__watcherHandles ? context.__watcherHandles.length : 0; + try { + stopWatchers(context); + } catch { + } + (async () => { + if (buffer) await settleBuffer(buffer); + for (const key in context.__teleportBuffers) { + await settleBuffer(context.__teleportBuffers[key]); + } + stopWatchers(context, stopped); + })().catch(shared.NOOP); +} +async function settleBuffer(buffer) { + if (!buffer.hasAsync) return; + for (let item of buffer) { + try { + if (shared.isPromise(item)) item = await item; + if (!shared.isString(item)) await settleBuffer(item); + } catch { + } + } +} +async function resolveTeleports(context) { + if (context.__teleportBuffers) { + context.teleports = context.teleports || {}; + for (const key in context.__teleportBuffers) { + context.teleports[key] = await unrollBuffer$1( + context.__teleportBuffers[key] + ); + } + } +} + +const { isVNode } = Vue.ssrUtils; +async function unrollBuffer(buffer, stream) { + if (buffer.hasAsync) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isPromise(item)) { + item = await item; + } + if (shared.isString(item)) { + stream.push(item); + } else { + await unrollBuffer(item, stream); + } + } + } else { + unrollBufferSync(buffer, stream); + } +} +function unrollBufferSync(buffer, stream) { + for (let i = 0; i < buffer.length; i++) { + let item = buffer[i]; + if (shared.isString(item)) { + stream.push(item); + } else { + unrollBufferSync(item, stream); + } + } +} +function renderToSimpleStream(input, context, stream) { + if (isVNode(input)) { + return renderToSimpleStream( + Vue.createApp({ render: () => input }), + context, + stream + ); + } + const vnode = Vue.createVNode(input._component, input._props); + vnode.appContext = input._context; + input.provide(Vue.ssrContextKey, context); + let buffer; + Promise.resolve(renderComponentVNode(vnode)).then((b) => unrollBuffer(buffer = b, stream)).then(() => resolveTeleports(context)).then( + () => { + stopWatchers(context); + stream.push(null); + }, + (error) => { + cleanupFailedRender(buffer, context); + throw error; + } + ).catch((error) => { + stream.destroy(error); + }); + return stream; +} +function renderToStream(input, context = {}) { + console.warn( + `[@vue/server-renderer] renderToStream is deprecated - use renderToNodeStream instead.` + ); + return renderToNodeStream(input, context); +} +function renderToNodeStream(input, context = {}) { + const stream = new (require("node:stream")).Readable({ read() { + } }) ; + if (!stream) { + throw new Error( + `ESM build of renderToStream() does not support renderToNodeStream(). Use pipeToNodeWritable() with an existing Node.js Writable stream instance instead.` + ); + } + return renderToSimpleStream(input, context, stream); +} +function pipeToNodeWritable(input, context = {}, writable) { + renderToSimpleStream(input, context, { + push(content) { + if (content != null) { + writable.write(content); + } else { + writable.end(); + } + }, + destroy(err) { + writable.destroy(err); + } + }); +} +function renderToWebStream(input, context = {}) { + if (typeof ReadableStream !== "function") { + throw new Error( + `ReadableStream constructor is not available in the global scope. If the target environment does support web streams, consider using pipeToWebWritable() with an existing WritableStream instance instead.` + ); + } + const encoder = new TextEncoder(); + let cancelled = false; + return new ReadableStream({ + start(controller) { + renderToSimpleStream(input, context, { + push(content) { + if (cancelled) return; + if (content != null) { + controller.enqueue(encoder.encode(content)); + } else { + controller.close(); + } + }, + destroy(err) { + controller.error(err); + } + }); + }, + cancel() { + cancelled = true; + } + }); +} +function pipeToWebWritable(input, context = {}, writable) { + const writer = writable.getWriter(); + const encoder = new TextEncoder(); + let hasReady = false; + try { + hasReady = shared.isPromise(writer.ready); + } catch (e) { + } + renderToSimpleStream(input, context, { + async push(content) { + if (hasReady) { + await writer.ready; + } + if (content != null) { + return writer.write(encoder.encode(content)); + } else { + return writer.close(); + } + }, + destroy(err) { + console.log(err); + writer.close(); + } + }); +} + +Vue.initDirectivesForSSR(); + +exports.ssrIncludeBooleanAttr = shared.includeBooleanAttr; +exports.pipeToNodeWritable = pipeToNodeWritable; +exports.pipeToWebWritable = pipeToWebWritable; +exports.renderToNodeStream = renderToNodeStream; +exports.renderToSimpleStream = renderToSimpleStream; +exports.renderToStream = renderToStream; +exports.renderToString = renderToString; +exports.renderToWebStream = renderToWebStream; +exports.ssrGetDirectiveProps = ssrGetDirectiveProps; +exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps; +exports.ssrInterpolate = ssrInterpolate; +exports.ssrLooseContain = ssrLooseContain; +exports.ssrLooseEqual = ssrLooseEqual; +exports.ssrRenderAttr = ssrRenderAttr; +exports.ssrRenderAttrs = ssrRenderAttrs; +exports.ssrRenderClass = ssrRenderClass; +exports.ssrRenderComponent = ssrRenderComponent; +exports.ssrRenderDynamicAttr = ssrRenderDynamicAttr; +exports.ssrRenderDynamicModel = ssrRenderDynamicModel; +exports.ssrRenderList = ssrRenderList; +exports.ssrRenderSlot = ssrRenderSlot; +exports.ssrRenderSlotInner = ssrRenderSlotInner; +exports.ssrRenderStyle = ssrRenderStyle; +exports.ssrRenderSuspense = ssrRenderSuspense; +exports.ssrRenderTeleport = ssrRenderTeleport; +exports.ssrRenderVNode = renderVNode; diff --git a/apps/web/.output/server/node_modules/@vue/server-renderer/package.json b/apps/web/.output/server/node_modules/@vue/server-renderer/package.json new file mode 100644 index 0000000..5fd5c1e --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/server-renderer/package.json @@ -0,0 +1,53 @@ +{ + "name": "@vue/server-renderer", + "version": "3.5.44", + "description": "@vue/server-renderer", + "main": "index.js", + "module": "dist/server-renderer.esm-bundler.js", + "types": "dist/server-renderer.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/server-renderer.d.ts", + "node": { + "production": "./dist/server-renderer.cjs.prod.js", + "development": "./dist/server-renderer.cjs.js", + "default": "./dist/server-renderer.cjs.prod.js" + }, + "module": "./dist/server-renderer.esm-bundler.js", + "import": "./dist/server-renderer.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "buildOptions": { + "name": "VueServerRenderer", + "formats": [ + "esm-bundler", + "esm-browser", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/server-renderer" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/server-renderer#readme", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/compiler-ssr": "3.5.44", + "@vue/runtime-dom": "3.5.44" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js b/apps/web/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js new file mode 100644 index 0000000..1fd06be --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js @@ -0,0 +1,655 @@ +/** +* @vue/shared v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +// @__NO_SIDE_EFFECTS__ +function makeMap(str) { + const map = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map[key] = 1; + return (val) => val in map; +} + +const EMPTY_OBJ = {}; +const EMPTY_ARR = []; +const NOOP = () => { +}; +const NO = () => false; +const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +const isModelListener = (key) => key.startsWith("onUpdate:"); +const extend = Object.assign; +const remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +const hasOwnProperty = Object.prototype.hasOwnProperty; +const hasOwn = (val, key) => hasOwnProperty.call(val, key); +const isArray = Array.isArray; +const isMap = (val) => toTypeString(val) === "[object Map]"; +const isSet = (val) => toTypeString(val) === "[object Set]"; +const isDate = (val) => toTypeString(val) === "[object Date]"; +const isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +const isFunction = (val) => typeof val === "function"; +const isString = (val) => typeof val === "string"; +const isSymbol = (val) => typeof val === "symbol"; +const isObject = (val) => val !== null && typeof val === "object"; +const isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +const objectToString = Object.prototype.toString; +const toTypeString = (value) => objectToString.call(value); +const toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +const isPlainObject = (val) => toTypeString(val) === "[object Object]"; +const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +const isReservedProp = /* @__PURE__ */ makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +const isBuiltInDirective = /* @__PURE__ */ makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +const cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return ((str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }); +}; +const camelizeRE = /-\w/g; +const camelize = cacheStringFunction( + (str) => { + return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase()); + } +); +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +const capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +const toHandlerKey = cacheStringFunction( + (str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + } +); +const hasChanged = (value, oldValue) => !Object.is(value, oldValue); +const invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](...arg); + } +}; +const def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +const looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +const toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +let _globalThis; +const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/; +function genPropsAccessExp(name) { + return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`; +} +function genCacheKey(source, options) { + return source + JSON.stringify( + options, + (_, val) => typeof val === "function" ? val.toString() : val + ); +} + +const PatchFlags = { + "TEXT": 1, + "1": "TEXT", + "CLASS": 2, + "2": "CLASS", + "STYLE": 4, + "4": "STYLE", + "PROPS": 8, + "8": "PROPS", + "FULL_PROPS": 16, + "16": "FULL_PROPS", + "NEED_HYDRATION": 32, + "32": "NEED_HYDRATION", + "STABLE_FRAGMENT": 64, + "64": "STABLE_FRAGMENT", + "KEYED_FRAGMENT": 128, + "128": "KEYED_FRAGMENT", + "UNKEYED_FRAGMENT": 256, + "256": "UNKEYED_FRAGMENT", + "NEED_PATCH": 512, + "512": "NEED_PATCH", + "DYNAMIC_SLOTS": 1024, + "1024": "DYNAMIC_SLOTS", + "DEV_ROOT_FRAGMENT": 2048, + "2048": "DEV_ROOT_FRAGMENT", + "CACHED": -1, + "-1": "CACHED", + "BAIL": -2, + "-2": "BAIL" +}; +const PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `NEED_HYDRATION`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `CACHED`, + [-2]: `BAIL` +}; + +const ShapeFlags = { + "ELEMENT": 1, + "1": "ELEMENT", + "FUNCTIONAL_COMPONENT": 2, + "2": "FUNCTIONAL_COMPONENT", + "STATEFUL_COMPONENT": 4, + "4": "STATEFUL_COMPONENT", + "TEXT_CHILDREN": 8, + "8": "TEXT_CHILDREN", + "ARRAY_CHILDREN": 16, + "16": "ARRAY_CHILDREN", + "SLOTS_CHILDREN": 32, + "32": "SLOTS_CHILDREN", + "TELEPORT": 64, + "64": "TELEPORT", + "SUSPENSE": 128, + "128": "SUSPENSE", + "COMPONENT_SHOULD_KEEP_ALIVE": 256, + "256": "COMPONENT_SHOULD_KEEP_ALIVE", + "COMPONENT_KEPT_ALIVE": 512, + "512": "COMPONENT_KEPT_ALIVE", + "COMPONENT": 6, + "6": "COMPONENT" +}; + +const SlotFlags = { + "STABLE": 1, + "1": "STABLE", + "DYNAMIC": 2, + "2": "DYNAMIC", + "FORWARDED": 3, + "3": "FORWARDED" +}; +const slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" +}; + +const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; +const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); +const isGloballyWhitelisted = isGloballyAllowed; + +const range = 2; +function generateCodeFrame(source, start = 0, end = source.length) { + start = Math.max(0, Math.min(start, source.length)); + end = Math.max(0, Math.min(end, source.length)); + if (start > end) return ""; + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) continue; + const line = j + 1; + res.push( + `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` + ); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i) { + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max( + 1, + end > count ? lineLength - pad : end - start + ); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); +} + +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } +} +const listDelimiterRE = /;(?![^(]*\))/g; +const propertyDelimiterRE = /:([^]+)/; +const styleCommentRE = /"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, (match) => match.startsWith("/*") ? "" : match).split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + if (!styles) return ""; + if (isString(styles)) return styles; + let ret = ""; + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; +} + +const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); +const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); +const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); +const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); + +const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`; +const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); +const isBooleanAttr = /* @__PURE__ */ makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u000d\u0020]/; +const attrValidationCache = {}; +function isSSRSafeAttrName(name) { + if (attrValidationCache.hasOwnProperty(name)) { + return attrValidationCache[name]; + } + const isUnsafe = unsafeAttrCharRE.test(name); + if (isUnsafe) { + console.error(`unsafe attribute name: ${name}`); + } + return attrValidationCache[name] = !isUnsafe; +} +const propsToAttrMap = { + acceptCharset: "accept-charset", + className: "class", + htmlFor: "for", + httpEquiv: "http-equiv" +}; +const isKnownHtmlAttr = /* @__PURE__ */ makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +const isKnownSvgAttr = /* @__PURE__ */ makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +const isKnownMathMLAttr = /* @__PURE__ */ makeMap( + `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` +); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} + +const escapeRE = /["'&<>]/; +function escapeHtml(string) { + const str = "" + string; + const match = escapeRE.exec(str); + if (!match) { + return str; + } + let html = ""; + let escaped; + let index; + let lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escaped = """; + break; + case 38: + escaped = "&"; + break; + case 39: + escaped = "'"; + break; + case 60: + escaped = "<"; + break; + case 62: + escaped = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.slice(lastIndex, index); + } + lastIndex = index + 1; + html += escaped; + } + return lastIndex !== index ? html + str.slice(lastIndex, index) : html; +} +const commentStripRE = /^(?:-?>)+|<!--|-->|--!>|<!-$/g; +function escapeHtmlComment(src) { + let prev; + do { + prev = src; + src = src.replace(commentStripRE, ""); + } while (src !== prev); + return src; +} +const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` + ); +} + +function looseCompareArrays(a, b, seen) { + if (a.length !== b.length) return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i], seen); + } + return equal; +} +function looseCompareCollections(a, b, seen) { + if (a.size !== b.size) return false; + const candidates = Array.from(b); + const matched = new Uint8Array(candidates.length); + for (const item of a) { + let index = -1; + for (let i = 0; i < candidates.length; i++) { + if (!matched[i] && looseEqual(item, candidates[i], seen)) { + index = i; + break; + } + } + if (index < 0) return false; + matched[index] = 1; + } + return true; +} +function looseCompareObjects(a, b, seen) { + let aValidType = isMap(a); + let bValidType = isMap(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false; + } + aValidType = isSet(a); + bValidType = isSet(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key], seen)) { + return false; + } + } + return String(a) === String(b); +} +function looseCompareNested(a, b, seen, compare) { + if (!seen) { + seen = [/* @__PURE__ */ new Map(), /* @__PURE__ */ new Map()]; + } + const [seenA, seenB] = seen; + if (seenA.has(a) || seenB.has(b)) { + return seenA.get(a) === b && seenB.get(b) === a; + } + seenA.set(a, b); + seenB.set(b, a); + const equal = compare(a, b, seen); + seenA.delete(a); + seenB.delete(b); + return equal; +} +function looseEqual(a, b, seen) { + if (a === b) return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareNested(a, b, seen, looseCompareArrays) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + return looseCompareNested(a, b, seen, looseCompareObjects); + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} + +const isRef = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +const toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +const replacer = (_key, val) => { + if (isRef(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +const stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); +}; + +function normalizeCssVarValue(value) { + if (value == null) { + return "initial"; + } + if (typeof value === "string") { + return value === "" ? " " : value; + } + return String(value); +} + +exports.EMPTY_ARR = EMPTY_ARR; +exports.EMPTY_OBJ = EMPTY_OBJ; +exports.NO = NO; +exports.NOOP = NOOP; +exports.PatchFlagNames = PatchFlagNames; +exports.PatchFlags = PatchFlags; +exports.ShapeFlags = ShapeFlags; +exports.SlotFlags = SlotFlags; +exports.camelize = camelize; +exports.capitalize = capitalize; +exports.cssVarNameEscapeSymbolsRE = cssVarNameEscapeSymbolsRE; +exports.def = def; +exports.escapeHtml = escapeHtml; +exports.escapeHtmlComment = escapeHtmlComment; +exports.extend = extend; +exports.genCacheKey = genCacheKey; +exports.genPropsAccessExp = genPropsAccessExp; +exports.generateCodeFrame = generateCodeFrame; +exports.getEscapedCssVarName = getEscapedCssVarName; +exports.getGlobalThis = getGlobalThis; +exports.hasChanged = hasChanged; +exports.hasOwn = hasOwn; +exports.hyphenate = hyphenate; +exports.includeBooleanAttr = includeBooleanAttr; +exports.invokeArrayFns = invokeArrayFns; +exports.isArray = isArray; +exports.isBooleanAttr = isBooleanAttr; +exports.isBuiltInDirective = isBuiltInDirective; +exports.isDate = isDate; +exports.isFunction = isFunction; +exports.isGloballyAllowed = isGloballyAllowed; +exports.isGloballyWhitelisted = isGloballyWhitelisted; +exports.isHTMLTag = isHTMLTag; +exports.isIntegerKey = isIntegerKey; +exports.isKnownHtmlAttr = isKnownHtmlAttr; +exports.isKnownMathMLAttr = isKnownMathMLAttr; +exports.isKnownSvgAttr = isKnownSvgAttr; +exports.isMap = isMap; +exports.isMathMLTag = isMathMLTag; +exports.isModelListener = isModelListener; +exports.isObject = isObject; +exports.isOn = isOn; +exports.isPlainObject = isPlainObject; +exports.isPromise = isPromise; +exports.isRegExp = isRegExp; +exports.isRenderableAttrValue = isRenderableAttrValue; +exports.isReservedProp = isReservedProp; +exports.isSSRSafeAttrName = isSSRSafeAttrName; +exports.isSVGTag = isSVGTag; +exports.isSet = isSet; +exports.isSpecialBooleanAttr = isSpecialBooleanAttr; +exports.isString = isString; +exports.isSymbol = isSymbol; +exports.isVoidTag = isVoidTag; +exports.looseEqual = looseEqual; +exports.looseIndexOf = looseIndexOf; +exports.looseToNumber = looseToNumber; +exports.makeMap = makeMap; +exports.normalizeClass = normalizeClass; +exports.normalizeCssVarValue = normalizeCssVarValue; +exports.normalizeProps = normalizeProps; +exports.normalizeStyle = normalizeStyle; +exports.objectToString = objectToString; +exports.parseStringStyle = parseStringStyle; +exports.propsToAttrMap = propsToAttrMap; +exports.remove = remove; +exports.slotFlagsText = slotFlagsText; +exports.stringifyStyle = stringifyStyle; +exports.toDisplayString = toDisplayString; +exports.toHandlerKey = toHandlerKey; +exports.toNumber = toNumber; +exports.toRawType = toRawType; +exports.toTypeString = toTypeString; diff --git a/apps/web/.output/server/node_modules/@vue/shared/package.json b/apps/web/.output/server/node_modules/@vue/shared/package.json new file mode 100644 index 0000000..bb758d0 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vue/shared/package.json @@ -0,0 +1,47 @@ +{ + "name": "@vue/shared", + "version": "3.5.44", + "description": "internal utils shared across @vue packages", + "main": "index.js", + "module": "dist/shared.esm-bundler.js", + "types": "dist/shared.d.ts", + "files": [ + "index.js", + "dist" + ], + "exports": { + ".": { + "types": "./dist/shared.d.ts", + "node": { + "production": "./dist/shared.cjs.prod.js", + "development": "./dist/shared.cjs.js", + "default": "./dist/shared.cjs.prod.js" + }, + "module": "./dist/shared.esm-bundler.js", + "import": "./dist/shared.esm-bundler.js", + "require": "./index.js" + }, + "./*": "./*" + }, + "sideEffects": false, + "buildOptions": { + "formats": [ + "esm-bundler", + "cjs" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git", + "directory": "packages/shared" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://github.com/vuejs/core/tree/main/packages/shared#readme" +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vueuse/core/dist/index.js b/apps/web/.output/server/node_modules/@vueuse/core/dist/index.js new file mode 100644 index 0000000..9755121 --- /dev/null +++ b/apps/web/.output/server/node_modules/@vueuse/core/dist/index.js @@ -0,0 +1,8756 @@ +import { bypassFilter, camelize, clamp, computedWithControl, containsProp, createEventHook, createFilterWrapper, createRef, createSingletonPromise, debounceFilter, hasOwn, identity, increaseWithUnit, injectLocal, isClient, isDef, isIOS, isObject, isWorker, makeDestructurable, noop, notNullish, objectEntries, objectOmit, objectPick, pausableFilter, promiseTimeout, provideLocal, pxValue, syncRef, throttleFilter, timestamp, toArray, toRef, toRefs, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useDebounceFn, useIntervalFn, useThrottleFn, useTimeoutFn, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchWithFilter, whenever } from "@vueuse/shared"; +import { Fragment, TransitionGroup, computed, defineComponent, getCurrentInstance, h, hasInjectionContext, inject, isReadonly, isRef, markRaw, nextTick, onBeforeUpdate, onMounted, onUpdated, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toValue, unref, watch, watchEffect } from "vue"; +export * from "@vueuse/shared"; +//#region computedAsync/index.ts +function computedAsync(evaluationCallback, initialState, optionsOrRef) { + var _globalThis$reportErr; + let options; + if (isRef(optionsOrRef)) options = { evaluating: optionsOrRef }; + else options = optionsOrRef || {}; + const { lazy = false, flush = "sync", evaluating = void 0, shallow = true, onError = (_globalThis$reportErr = globalThis.reportError) !== null && _globalThis$reportErr !== void 0 ? _globalThis$reportErr : noop } = options; + const started = shallowRef(!lazy); + const current = shallow ? shallowRef(initialState) : ref(initialState); + let counter = 0; + watchEffect(async (onInvalidate) => { + if (!started.value) return; + counter++; + const counterAtBeginning = counter; + let hasFinished = false; + if (evaluating) Promise.resolve().then(() => { + evaluating.value = true; + }); + try { + const result = await evaluationCallback((cancelCallback) => { + onInvalidate(() => { + if (evaluating) evaluating.value = false; + if (!hasFinished) cancelCallback(); + }); + }); + if (counterAtBeginning === counter) current.value = result; + } catch (e) { + onError(e); + } finally { + if (evaluating && counterAtBeginning === counter) evaluating.value = false; + hasFinished = true; + } + }, { flush }); + if (lazy) return computed(() => { + started.value = true; + return current.value; + }); + else return current; +} +/** @deprecated use `computedAsync` instead */ +const asyncComputed = computedAsync; +//#endregion +//#region computedInject/index.ts +function computedInject(key, options, defaultSource, treatDefaultAsFactory) { + let source = inject(key); + if (defaultSource) source = inject(key, defaultSource); + if (treatDefaultAsFactory) source = inject(key, defaultSource, treatDefaultAsFactory); + if (typeof options === "function") return computed((oldValue) => options(source, oldValue)); + else return computed({ + get: (oldValue) => options.get(source, oldValue), + set: options.set + }); +} +//#endregion +//#region createReusableTemplate/index.ts +/** +* This function creates `define` and `reuse` components in pair, +* It also allow to pass a generic to bind with type. +* +* @see https://vueuse.org/createReusableTemplate +* +* @__NO_SIDE_EFFECTS__ +*/ +function createReusableTemplate(options = {}) { + const { inheritAttrs = true, name = "ReusableTemplate" } = options; + const render = shallowRef(); + const define = defineComponent({ + name: `${name}.define`, + setup(_, { slots }) { + return () => { + render.value = slots.default; + }; + } + }); + const reuse = defineComponent({ + inheritAttrs, + name: `${name}.reuse`, + props: options.props, + setup(props, { attrs, slots }) { + return () => { + var _render$value; + if (!render.value && true) throw new Error("[VueUse] Failed to find the definition of reusable template"); + const vnode = (_render$value = render.value) === null || _render$value === void 0 ? void 0 : _render$value.call(render, { + ...options.props == null ? keysToCamelKebabCase(attrs) : props, + $slots: slots + }); + return inheritAttrs && (vnode === null || vnode === void 0 ? void 0 : vnode.length) === 1 ? vnode[0] : vnode; + }; + } + }); + return makeDestructurable({ + define, + reuse + }, [define, reuse]); +} +function keysToCamelKebabCase(obj) { + const newObj = {}; + for (const key in obj) newObj[camelize(key)] = obj[key]; + return newObj; +} +//#endregion +//#region createTemplatePromise/index.ts +/** +* Creates a template promise component. +* +* @see https://vueuse.org/createTemplatePromise +* +* @__NO_SIDE_EFFECTS__ +*/ +function createTemplatePromise(options = {}) { + let index = 0; + const instances = ref([]); + function create(...args) { + const props = shallowReactive({ + key: index++, + args, + promise: void 0, + resolve: () => {}, + reject: () => {}, + isResolving: false, + options + }); + instances.value.push(props); + props.promise = new Promise((_resolve, _reject) => { + props.resolve = (v) => { + props.isResolving = true; + return _resolve(v); + }; + props.reject = _reject; + }).finally(() => { + props.promise = void 0; + const index = instances.value.indexOf(props); + if (index !== -1) instances.value.splice(index, 1); + }); + return props.promise; + } + function start(...args) { + if (options.singleton && instances.value.length > 0) return instances.value[0].promise; + return create(...args); + } + const component = defineComponent((_, { slots }) => { + const renderList = () => instances.value.map((props) => { + var _slots$default; + return h(Fragment, { key: props.key }, (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots, props)); + }); + if (options.transition) return () => h(TransitionGroup, options.transition, renderList); + return renderList; + }); + component.start = start; + return component; +} +//#endregion +//#region createUnrefFn/index.ts +/** +* Make a plain function accepting ref and raw values as arguments. +* Returns the same value the unconverted function returns, with proper typing. +* +* @__NO_SIDE_EFFECTS__ +*/ +function createUnrefFn(fn) { + return function(...args) { + return fn.apply(this, args.map((i) => toValue(i))); + }; +} +//#endregion +//#region _configurable.ts +const defaultWindow = isClient ? window : void 0; +const defaultDocument = isClient ? window.document : void 0; +const defaultNavigator = isClient ? window.navigator : void 0; +const defaultLocation = isClient ? window.location : void 0; +//#endregion +//#region unrefElement/index.ts +/** +* Get the dom element of a ref of element or Vue component instance +* +* @param elRef +*/ +function unrefElement(elRef) { + var _$el; + const plain = toValue(elRef); + return (_$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _$el !== void 0 ? _$el : plain; +} +//#endregion +//#region useEventListener/index.ts +function useEventListener(...args) { + const register = (el, event, listener, options) => { + el.addEventListener(event, listener, options); + return () => el.removeEventListener(event, listener, options); + }; + const firstParamTargets = computed(() => { + const test = toArray(toValue(args[0])).filter((e) => e != null); + return test.every((e) => typeof e !== "string") ? test : void 0; + }); + return watchImmediate(() => { + var _firstParamTargets$va, _firstParamTargets$va2; + return [ + (_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null), + toArray(toValue(firstParamTargets.value ? args[1] : args[0])), + toArray(unref(firstParamTargets.value ? args[2] : args[1])), + toValue(firstParamTargets.value ? args[3] : args[2]) + ]; + }, ([raw_targets, raw_events, raw_listeners, raw_options], _, onCleanup) => { + if (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return; + const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options; + const cleanups = raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone)))); + onCleanup(() => { + cleanups.forEach((fn) => fn()); + }); + }, { flush: "post" }); +} +//#endregion +//#region onClickOutside/index.ts +let _iOSWorkaround = false; +function onClickOutside(target, handler, options = {}) { + const { window = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options; + if (!window) return controls ? { + stop: noop, + cancel: noop, + trigger: noop + } : noop; + if (isIOS && !_iOSWorkaround) { + _iOSWorkaround = true; + const listenerOptions = { passive: true }; + Array.from(window.document.body.children).forEach((el) => el.addEventListener("click", noop, listenerOptions)); + window.document.documentElement.addEventListener("click", noop, listenerOptions); + } + let shouldListen = true; + const shouldIgnore = (event) => { + return toValue(ignore).some((target) => { + if (typeof target === "string") return Array.from(window.document.querySelectorAll(target)).some((el) => el === event.target || event.composedPath().includes(el)); + else { + const el = unrefElement(target); + return el && (event.target === el || event.composedPath().includes(el)); + } + }); + }; + /** + * Determines if the given target has multiple root elements. + * Referenced from: https://github.com/vuejs/test-utils/blob/ccb460be55f9f6be05ab708500a41ec8adf6f4bc/src/vue-wrapper.ts#L21 + */ + function hasMultipleRoots(target) { + const vm = toValue(target); + return vm && vm.$.subTree.shapeFlag === 16; + } + function checkMultipleRoots(target, event) { + const vm = toValue(target); + const children = vm.$.subTree && vm.$.subTree.children; + if (children == null || !Array.isArray(children)) return false; + return children.some((child) => child.el === event.target || event.composedPath().includes(child.el)); + } + const listener = (event) => { + const el = unrefElement(target); + if (event.target == null) return; + if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event)) return; + if (!el || el === event.target || event.composedPath().includes(el)) return; + if ("detail" in event && event.detail === 0) shouldListen = !shouldIgnore(event); + if (!shouldListen) { + shouldListen = true; + return; + } + handler(event); + }; + let isProcessingClick = false; + const cleanup = [ + useEventListener(window, "click", (event) => { + if (!isProcessingClick) { + isProcessingClick = true; + setTimeout(() => { + isProcessingClick = false; + }, 0); + listener(event); + } + }, { + passive: true, + capture + }), + useEventListener(window, "pointerdown", (e) => { + const el = unrefElement(target); + shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el)); + }, { passive: true }), + detectIframe && useEventListener(window, "blur", (event) => { + setTimeout(() => { + const el = unrefElement(target); + let activeEl = window.document.activeElement; + while (activeEl === null || activeEl === void 0 ? void 0 : activeEl.shadowRoot) activeEl = activeEl.shadowRoot.activeElement; + if ((activeEl === null || activeEl === void 0 ? void 0 : activeEl.tagName) === "IFRAME" && !(el === null || el === void 0 ? void 0 : el.contains(window.document.activeElement))) handler(event); + }, 0); + }, { passive: true }) + ].filter(Boolean); + const stop = () => cleanup.forEach((fn) => fn()); + if (controls) return { + stop, + cancel: () => { + shouldListen = false; + }, + trigger: (event) => { + shouldListen = true; + listener(event); + shouldListen = false; + } + }; + return stop; +} +//#endregion +//#region useMounted/index.ts +/** +* Mounted state in ref. +* +* @see https://vueuse.org/useMounted +* +* @__NO_SIDE_EFFECTS__ +*/ +function useMounted() { + const isMounted = shallowRef(false); + const instance = getCurrentInstance(); + if (instance) onMounted(() => { + isMounted.value = true; + }, instance); + return isMounted; +} +//#endregion +//#region useSupported/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useSupported(callback) { + const isMounted = useMounted(); + return computed(() => { + isMounted.value; + return Boolean(callback()); + }); +} +//#endregion +//#region useMutationObserver/index.ts +/** +* Watch for changes being made to the DOM tree. +* +* @see https://vueuse.org/useMutationObserver +* @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver MutationObserver MDN +* @param target +* @param callback +* @param options +*/ +function useMutationObserver(target, callback, options = {}) { + const { window = defaultWindow, ...mutationOptions } = options; + let observer; + const isSupported = /* @__PURE__ */ useSupported(() => window && "MutationObserver" in window); + const cleanup = () => { + if (observer) { + observer.disconnect(); + observer = void 0; + } + }; + const targets = computed(() => { + const value = toValue(target); + const items = toArray(value).map(unrefElement).filter(notNullish); + return new Set(items); + }); + const stopWatch = watch(targets, (newTargets) => { + cleanup(); + if (isSupported.value && newTargets.size) { + observer = new MutationObserver(callback); + newTargets.forEach((el) => observer.observe(el, mutationOptions)); + } + }, { + immediate: true, + flush: "post" + }); + const takeRecords = () => { + return observer === null || observer === void 0 ? void 0 : observer.takeRecords(); + }; + const stop = () => { + stopWatch(); + cleanup(); + }; + tryOnScopeDispose(stop); + return { + isSupported, + stop, + takeRecords + }; +} +//#endregion +//#region onElementRemoval/index.ts +/** +* Fires when the element or any element containing it is removed. +* +* @param target +* @param callback +* @param options +*/ +function onElementRemoval(target, callback, options = {}) { + const { window = defaultWindow, document = window === null || window === void 0 ? void 0 : window.document, flush = "sync" } = options; + if (!window || !document) return noop; + let stopFn; + const cleanupAndUpdate = (fn) => { + stopFn === null || stopFn === void 0 || stopFn(); + stopFn = fn; + }; + const stopWatch = watchEffect(() => { + const el = unrefElement(target); + if (el) { + const { stop } = useMutationObserver(document, (mutationsList) => { + if (mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el))) callback(mutationsList); + }, { + window, + childList: true, + subtree: true + }); + cleanupAndUpdate(stop); + } + }, { flush }); + const stopHandle = () => { + stopWatch(); + cleanupAndUpdate(); + }; + tryOnScopeDispose(stopHandle); + return stopHandle; +} +//#endregion +//#region onKeyStroke/index.ts +function createKeyPredicate(keyFilter) { + if (typeof keyFilter === "function") return keyFilter; + else if (typeof keyFilter === "string") return (event) => event.key === keyFilter; + else if (Array.isArray(keyFilter)) return (event) => keyFilter.includes(event.key); + return () => true; +} +function onKeyStroke(...args) { + let key; + let handler; + let options = {}; + if (args.length === 3) { + key = args[0]; + handler = args[1]; + options = args[2]; + } else if (args.length === 2) { + if (typeof args[1] === "object") { + key = true; + handler = args[0]; + options = args[1]; + } else { + key = args[0]; + handler = args[1]; + } + } else { + key = true; + handler = args[0]; + } + const { target = defaultWindow, eventName = "keydown", passive = false, dedupe = false } = options; + const predicate = createKeyPredicate(key); + const listener = (e) => { + if (e.repeat && toValue(dedupe)) return; + if (predicate(e)) handler(e); + }; + return useEventListener(target, eventName, listener, passive); +} +/** +* Listen to the keydown event of the given key. +* +* @see https://vueuse.org/onKeyStroke +* @param key +* @param handler +* @param options +*/ +function onKeyDown(key, handler, options = {}) { + return onKeyStroke(key, handler, { + ...options, + eventName: "keydown" + }); +} +/** +* Listen to the keypress event of the given key. +* +* @see https://vueuse.org/onKeyStroke +* @param key +* @param handler +* @param options +*/ +function onKeyPressed(key, handler, options = {}) { + return onKeyStroke(key, handler, { + ...options, + eventName: "keypress" + }); +} +/** +* Listen to the keyup event of the given key. +* +* @see https://vueuse.org/onKeyStroke +* @param key +* @param handler +* @param options +*/ +function onKeyUp(key, handler, options = {}) { + return onKeyStroke(key, handler, { + ...options, + eventName: "keyup" + }); +} +//#endregion +//#region onLongPress/index.ts +const DEFAULT_DELAY = 500; +const DEFAULT_THRESHOLD = 10; +function onLongPress(target, handler, options) { + var _options$modifiers10, _options$modifiers11; + const elementRef = computed(() => unrefElement(target)); + let timeout; + let posStart; + let startTimestamp; + let hasLongPressed = false; + function clear() { + if (timeout) { + clearTimeout(timeout); + timeout = void 0; + } + posStart = void 0; + startTimestamp = void 0; + hasLongPressed = false; + } + function getDelay(ev) { + const delay = options === null || options === void 0 ? void 0 : options.delay; + if (typeof delay === "function") return delay(ev); + return delay !== null && delay !== void 0 ? delay : DEFAULT_DELAY; + } + function onRelease(ev) { + var _options$modifiers, _options$modifiers2, _options$modifiers3; + const [_startTimestamp, _posStart, _hasLongPressed] = [ + startTimestamp, + posStart, + hasLongPressed + ]; + clear(); + if (!(options === null || options === void 0 ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp) return; + if ((options === null || options === void 0 || (_options$modifiers = options.modifiers) === null || _options$modifiers === void 0 ? void 0 : _options$modifiers.self) && ev.target !== elementRef.value) return; + if (options === null || options === void 0 || (_options$modifiers2 = options.modifiers) === null || _options$modifiers2 === void 0 ? void 0 : _options$modifiers2.prevent) ev.preventDefault(); + if (options === null || options === void 0 || (_options$modifiers3 = options.modifiers) === null || _options$modifiers3 === void 0 ? void 0 : _options$modifiers3.stop) ev.stopPropagation(); + const dx = ev.x - _posStart.x; + const dy = ev.y - _posStart.y; + const distance = Math.sqrt(dx * dx + dy * dy); + options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed, ev); + } + function onDown(ev) { + var _options$modifiers4, _options$modifiers5, _options$modifiers6; + if ((options === null || options === void 0 || (_options$modifiers4 = options.modifiers) === null || _options$modifiers4 === void 0 ? void 0 : _options$modifiers4.self) && ev.target !== elementRef.value) return; + clear(); + if (options === null || options === void 0 || (_options$modifiers5 = options.modifiers) === null || _options$modifiers5 === void 0 ? void 0 : _options$modifiers5.prevent) ev.preventDefault(); + if (options === null || options === void 0 || (_options$modifiers6 = options.modifiers) === null || _options$modifiers6 === void 0 ? void 0 : _options$modifiers6.stop) ev.stopPropagation(); + posStart = { + x: ev.x, + y: ev.y + }; + startTimestamp = ev.timeStamp; + timeout = setTimeout(() => { + hasLongPressed = true; + handler(ev); + }, getDelay(ev)); + } + function onMove(ev) { + var _options$modifiers7, _options$modifiers8, _options$modifiers9, _options$distanceThre; + if ((options === null || options === void 0 || (_options$modifiers7 = options.modifiers) === null || _options$modifiers7 === void 0 ? void 0 : _options$modifiers7.self) && ev.target !== elementRef.value) return; + if (!posStart || (options === null || options === void 0 ? void 0 : options.distanceThreshold) === false) return; + if (options === null || options === void 0 || (_options$modifiers8 = options.modifiers) === null || _options$modifiers8 === void 0 ? void 0 : _options$modifiers8.prevent) ev.preventDefault(); + if (options === null || options === void 0 || (_options$modifiers9 = options.modifiers) === null || _options$modifiers9 === void 0 ? void 0 : _options$modifiers9.stop) ev.stopPropagation(); + const dx = ev.x - posStart.x; + const dy = ev.y - posStart.y; + if (Math.sqrt(dx * dx + dy * dy) >= ((_options$distanceThre = options === null || options === void 0 ? void 0 : options.distanceThreshold) !== null && _options$distanceThre !== void 0 ? _options$distanceThre : DEFAULT_THRESHOLD)) clear(); + } + const listenerOptions = { + capture: options === null || options === void 0 || (_options$modifiers10 = options.modifiers) === null || _options$modifiers10 === void 0 ? void 0 : _options$modifiers10.capture, + once: options === null || options === void 0 || (_options$modifiers11 = options.modifiers) === null || _options$modifiers11 === void 0 ? void 0 : _options$modifiers11.once + }; + const cleanup = [ + useEventListener(elementRef, "pointerdown", onDown, listenerOptions), + useEventListener(elementRef, "pointermove", onMove, listenerOptions), + useEventListener(elementRef, [ + "pointerup", + "pointerleave", + "pointercancel" + ], onRelease, listenerOptions) + ]; + const stop = () => cleanup.forEach((fn) => fn()); + return stop; +} +//#endregion +//#region onStartTyping/index.ts +function isFocusedElementEditable() { + const { activeElement, body } = document; + if (!activeElement) return false; + if (activeElement === body) return false; + switch (activeElement.tagName) { + case "INPUT": + case "TEXTAREA": return true; + } + return activeElement.hasAttribute("contenteditable"); +} +function isTypedCharValid({ keyCode, metaKey, ctrlKey, altKey }) { + if (metaKey || ctrlKey || altKey) return false; + if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) return true; + if (keyCode >= 65 && keyCode <= 90) return true; + return false; +} +/** +* Fires when users start typing on non-editable elements. +* +* @see https://vueuse.org/onStartTyping +* @param callback +* @param options +*/ +function onStartTyping(callback, options = {}) { + const { document = defaultDocument, isTypedCharValid: isTypedCharValidFn = isTypedCharValid, isFocusedElementEditable: isFocusedElementEditableFn = isFocusedElementEditable } = options; + const keydown = (event) => { + if (!isFocusedElementEditableFn() && isTypedCharValidFn(event)) callback(event); + }; + if (document) useEventListener(document, "keydown", keydown, { passive: true }); +} +//#endregion +//#region useActiveElement/index.ts +/** +* Reactive `document.activeElement` +* +* @see https://vueuse.org/useActiveElement +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useActiveElement(options = {}) { + var _options$document; + const { window = defaultWindow, deep = true, triggerOnRemoval = false } = options; + const document = (_options$document = options.document) !== null && _options$document !== void 0 ? _options$document : window === null || window === void 0 ? void 0 : window.document; + const getDeepActiveElement = () => { + let element = document === null || document === void 0 ? void 0 : document.activeElement; + if (deep) { + var _element$shadowRoot; + while (element === null || element === void 0 ? void 0 : element.shadowRoot) element = element === null || element === void 0 || (_element$shadowRoot = element.shadowRoot) === null || _element$shadowRoot === void 0 ? void 0 : _element$shadowRoot.activeElement; + } + return element; + }; + const activeElement = shallowRef(); + const trigger = () => { + activeElement.value = getDeepActiveElement(); + }; + if (window) { + const listenerOptions = { + capture: true, + passive: true + }; + useEventListener(window, "blur", (event) => { + if (event.relatedTarget !== null) return; + trigger(); + }, listenerOptions); + useEventListener(window, "focus", trigger, listenerOptions); + } + if (triggerOnRemoval) onElementRemoval(activeElement, trigger, { document }); + trigger(); + return activeElement; +} +//#endregion +//#region useRafFn/index.ts +/** +* Call function on every `requestAnimationFrame`. With controls of pausing and resuming. +* +* @see https://vueuse.org/useRafFn +* @param fn +* @param options +*/ +function useRafFn(fn, options = {}) { + const { immediate = true, fpsLimit = null, window = defaultWindow, once = false } = options; + const isActive = shallowRef(false); + const intervalLimit = computed(() => { + const limit = toValue(fpsLimit); + return limit ? 1e3 / limit : null; + }); + let previousFrameTimestamp = 0; + let rafId = null; + function loop(timestamp) { + if (!isActive.value || !window) return; + if (!previousFrameTimestamp) previousFrameTimestamp = timestamp; + const delta = timestamp - previousFrameTimestamp; + if (intervalLimit.value && delta < intervalLimit.value) { + rafId = window.requestAnimationFrame(loop); + return; + } + previousFrameTimestamp = timestamp; + fn({ + delta, + timestamp + }); + if (once) { + isActive.value = false; + rafId = null; + return; + } + rafId = window.requestAnimationFrame(loop); + } + function resume() { + if (!isActive.value && window) { + isActive.value = true; + previousFrameTimestamp = 0; + rafId = window.requestAnimationFrame(loop); + } + } + function pause() { + isActive.value = false; + if (rafId != null && window) { + window.cancelAnimationFrame(rafId); + rafId = null; + } + } + if (immediate) resume(); + tryOnScopeDispose(pause); + return { + isActive: shallowReadonly(isActive), + pause, + resume + }; +} +//#endregion +//#region useAnimate/index.ts +/** +* Reactive Web Animations API +* +* @see https://vueuse.org/useAnimate +* @param target +* @param keyframes +* @param options +*/ +function useAnimate(target, keyframes, options) { + let config; + let animateOptions; + if (isObject(options)) { + config = options; + animateOptions = objectOmit(options, [ + "window", + "immediate", + "commitStyles", + "persist", + "onReady", + "onError" + ]); + } else { + config = { duration: options }; + animateOptions = options; + } + const { window = defaultWindow, immediate = true, commitStyles, persist, playbackRate: _playbackRate = 1, onReady, onError = (e) => { + console.error(e); + } } = config; + const isSupported = /* @__PURE__ */ useSupported(() => window && HTMLElement && "animate" in HTMLElement.prototype); + const animate = shallowRef(void 0); + const store = shallowReactive({ + startTime: null, + currentTime: null, + timeline: null, + playbackRate: _playbackRate, + pending: false, + playState: immediate ? "idle" : "paused", + replaceState: "active" + }); + const pending = computed(() => store.pending); + const playState = computed(() => store.playState); + const replaceState = computed(() => store.replaceState); + const startTime = computed({ + get() { + return store.startTime; + }, + set(value) { + store.startTime = value; + if (animate.value) animate.value.startTime = value; + } + }); + const currentTime = computed({ + get() { + return store.currentTime; + }, + set(value) { + store.currentTime = value; + if (animate.value) { + animate.value.currentTime = value; + syncResume(); + } + } + }); + const timeline = computed({ + get() { + return store.timeline; + }, + set(value) { + store.timeline = value; + if (animate.value) animate.value.timeline = value; + } + }); + const playbackRate = computed({ + get() { + return store.playbackRate; + }, + set(value) { + store.playbackRate = value; + if (animate.value) animate.value.playbackRate = value; + } + }); + const play = () => { + if (animate.value) try { + animate.value.play(); + syncResume(); + } catch (e) { + syncPause(); + onError(e); + } + else update(); + }; + const pause = () => { + try { + var _animate$value; + (_animate$value = animate.value) === null || _animate$value === void 0 || _animate$value.pause(); + syncPause(); + } catch (e) { + onError(e); + } + }; + const reverse = () => { + if (!animate.value) update(); + try { + var _animate$value2; + (_animate$value2 = animate.value) === null || _animate$value2 === void 0 || _animate$value2.reverse(); + syncResume(); + } catch (e) { + syncPause(); + onError(e); + } + }; + const finish = () => { + try { + var _animate$value3; + (_animate$value3 = animate.value) === null || _animate$value3 === void 0 || _animate$value3.finish(); + syncPause(); + } catch (e) { + onError(e); + } + }; + const cancel = () => { + try { + var _animate$value4; + (_animate$value4 = animate.value) === null || _animate$value4 === void 0 || _animate$value4.cancel(); + syncPause(); + } catch (e) { + onError(e); + } + }; + watch(() => unrefElement(target), (el) => { + if (el) update(true); + else animate.value = void 0; + }); + watch(() => keyframes, (value) => { + if (animate.value) { + update(); + const targetEl = unrefElement(target); + if (targetEl) animate.value.effect = new KeyframeEffect(targetEl, toValue(value), animateOptions); + } + }, { deep: true }); + tryOnMounted(() => update(true), false); + tryOnScopeDispose(cancel); + function update(init) { + const el = unrefElement(target); + if (!isSupported.value || !el) return; + if (!animate.value) animate.value = el.animate(toValue(keyframes), animateOptions); + if (persist) animate.value.persist(); + if (_playbackRate !== 1) animate.value.playbackRate = _playbackRate; + if (init && !immediate) animate.value.pause(); + else syncResume(); + onReady === null || onReady === void 0 || onReady(animate.value); + } + const listenerOptions = { passive: true }; + useEventListener(animate, [ + "cancel", + "finish", + "remove" + ], syncPause, listenerOptions); + useEventListener(animate, "finish", () => { + var _animate$value5; + if (commitStyles) (_animate$value5 = animate.value) === null || _animate$value5 === void 0 || _animate$value5.commitStyles(); + }, listenerOptions); + const { resume: resumeRef, pause: pauseRef } = useRafFn(() => { + if (!animate.value) return; + store.pending = animate.value.pending; + store.playState = animate.value.playState; + store.replaceState = animate.value.replaceState; + store.startTime = animate.value.startTime; + store.currentTime = animate.value.currentTime; + store.timeline = animate.value.timeline; + store.playbackRate = animate.value.playbackRate; + }, { immediate: false }); + function syncResume() { + if (isSupported.value) resumeRef(); + } + function syncPause() { + if (isSupported.value && window) window.requestAnimationFrame(pauseRef); + } + return { + isSupported, + animate, + play, + pause, + reverse, + finish, + cancel, + pending, + playState, + replaceState, + startTime, + currentTime, + timeline, + playbackRate + }; +} +//#endregion +//#region useAsyncQueue/index.ts +/** +* Asynchronous queue task controller. +* +* @see https://vueuse.org/useAsyncQueue +* @param tasks +* @param options +*/ +function useAsyncQueue(tasks, options) { + const { interrupt = true, onError = noop, onFinished = noop, signal } = options || {}; + const promiseState = { + aborted: "aborted", + fulfilled: "fulfilled", + pending: "pending", + rejected: "rejected" + }; + const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ + state: promiseState.pending, + data: null + })); + const result = reactive(initialResult); + const activeIndex = shallowRef(-1); + if (!tasks || tasks.length === 0) { + onFinished(); + return { + activeIndex, + result + }; + } + function updateResult(state, res) { + activeIndex.value++; + result[activeIndex.value].data = res; + result[activeIndex.value].state = state; + } + tasks.reduce((prev, curr) => { + return prev.then((prevRes) => { + var _result$activeIndex$v; + if (signal === null || signal === void 0 ? void 0 : signal.aborted) { + updateResult(promiseState.aborted, /* @__PURE__ */ new Error("aborted")); + return; + } + if (((_result$activeIndex$v = result[activeIndex.value]) === null || _result$activeIndex$v === void 0 ? void 0 : _result$activeIndex$v.state) === promiseState.rejected && interrupt) { + onFinished(); + return; + } + const done = curr(prevRes).then((currentRes) => { + updateResult(promiseState.fulfilled, currentRes); + if (activeIndex.value === tasks.length - 1) onFinished(); + return currentRes; + }); + if (!signal) return done; + return Promise.race([done, whenAborted(signal)]); + }).catch((e) => { + if (signal === null || signal === void 0 ? void 0 : signal.aborted) { + updateResult(promiseState.aborted, e); + return e; + } + updateResult(promiseState.rejected, e); + onError(); + if (activeIndex.value === tasks.length - 1) onFinished(); + return e; + }); + }, Promise.resolve()); + return { + activeIndex, + result + }; +} +function whenAborted(signal) { + return new Promise((resolve, reject) => { + const error = /* @__PURE__ */ new Error("aborted"); + if (signal.aborted) reject(error); + else signal.addEventListener("abort", () => reject(error), { once: true }); + }); +} +//#endregion +//#region useAsyncState/index.ts +/** +* Reactive async state. Will not block your setup function and will trigger changes once +* the promise is ready. +* +* @see https://vueuse.org/useAsyncState +* @param promise The promise / async function to be resolved +* @param initialState The initial state, used until the first evaluation finishes +* @param options +*/ +function useAsyncState(promise, initialState, options) { + var _globalThis$reportErr; + const { immediate = true, delay = 0, onError = (_globalThis$reportErr = globalThis.reportError) !== null && _globalThis$reportErr !== void 0 ? _globalThis$reportErr : noop, onSuccess = noop, resetOnExecute = true, shallow = true, throwError } = options !== null && options !== void 0 ? options : {}; + const state = shallow ? shallowRef(initialState) : ref(initialState); + const isReady = shallowRef(false); + const isLoading = shallowRef(false); + const error = shallowRef(void 0); + let executionsCount = 0; + async function execute(delay = 0, ...args) { + const executionId = executionsCount += 1; + if (resetOnExecute) state.value = toValue(initialState); + error.value = void 0; + isReady.value = false; + isLoading.value = true; + if (delay > 0) await promiseTimeout(delay); + const _promise = typeof promise === "function" ? promise(...args) : promise; + try { + const data = await _promise; + if (executionId === executionsCount) { + state.value = data; + isReady.value = true; + } + onSuccess(data); + return data; + } catch (e) { + if (executionId === executionsCount) error.value = e; + onError(e); + if (throwError) throw e; + } finally { + if (executionId === executionsCount) isLoading.value = false; + } + } + if (immediate) execute(delay); + const shell = { + state, + isReady, + isLoading, + error, + execute, + executeImmediate: (...args) => execute(0, ...args) + }; + function waitUntilIsLoaded() { + return new Promise((resolve, reject) => { + until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject); + }); + } + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilIsLoaded().then(onFulfilled, onRejected); + } + }; +} +//#endregion +//#region useBase64/serialization.ts +const defaults = { + array: (v) => JSON.stringify(v), + object: (v) => JSON.stringify(v), + set: (v) => JSON.stringify(Array.from(v)), + map: (v) => JSON.stringify(Object.fromEntries(v)), + null: () => "" +}; +function getDefaultSerialization(target) { + if (!target) return defaults.null; + if (target instanceof Map) return defaults.map; + else if (target instanceof Set) return defaults.set; + else if (Array.isArray(target)) return defaults.array; + else return defaults.object; +} +//#endregion +//#region useBase64/index.ts +function useBase64(target, options) { + const base64 = shallowRef(""); + const promise = shallowRef(); + function execute() { + if (!isClient) return; + promise.value = new Promise((resolve, reject) => { + try { + const _target = toValue(target); + if (_target == null) resolve(""); + else if (typeof _target === "string") resolve(blobToBase64(new Blob([_target], { type: "text/plain" }))); + else if (_target instanceof Blob) resolve(blobToBase64(_target)); + else if (_target instanceof ArrayBuffer) resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target)))); + else if (_target instanceof HTMLCanvasElement) resolve(_target.toDataURL(options === null || options === void 0 ? void 0 : options.type, options === null || options === void 0 ? void 0 : options.quality)); + else if (_target instanceof HTMLImageElement) { + const img = _target.cloneNode(false); + img.crossOrigin = "Anonymous"; + imgLoaded(img).then(() => { + const canvas = document.createElement("canvas"); + const ctx = canvas.getContext("2d"); + canvas.width = img.width; + canvas.height = img.height; + ctx.drawImage(img, 0, 0, canvas.width, canvas.height); + resolve(canvas.toDataURL(options === null || options === void 0 ? void 0 : options.type, options === null || options === void 0 ? void 0 : options.quality)); + }).catch(reject); + } else if (typeof _target === "object") { + const serialized = ((options === null || options === void 0 ? void 0 : options.serializer) || getDefaultSerialization(_target))(_target); + return resolve(blobToBase64(new Blob([serialized], { type: "application/json" }))); + } else reject(/* @__PURE__ */ new Error("target is unsupported types")); + } catch (error) { + reject(error); + } + }); + promise.value.then((res) => { + base64.value = (options === null || options === void 0 ? void 0 : options.dataUrl) === false ? res.replace(/^data:.*?;base64,/, "") : res; + }); + return promise.value; + } + if (isRef(target) || typeof target === "function") watch(target, execute, { immediate: true }); + else execute(); + return { + base64, + promise, + execute + }; +} +function imgLoaded(img) { + return new Promise((resolve, reject) => { + if (!img.complete) { + img.onload = () => { + resolve(); + }; + img.onerror = reject; + } else resolve(); + }); +} +function blobToBase64(blob) { + return new Promise((resolve, reject) => { + const fr = new FileReader(); + fr.onload = (e) => { + resolve(e.target.result); + }; + fr.onerror = reject; + fr.readAsDataURL(blob); + }); +} +//#endregion +//#region useBattery/index.ts +/** +* Reactive Battery Status API. +* +* @see https://vueuse.org/useBattery +* +* @__NO_SIDE_EFFECTS__ +*/ +function useBattery(options = {}) { + const { navigator = defaultNavigator } = options; + const events = [ + "chargingchange", + "chargingtimechange", + "dischargingtimechange", + "levelchange" + ]; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "getBattery" in navigator && typeof navigator.getBattery === "function"); + const charging = shallowRef(false); + const chargingTime = shallowRef(0); + const dischargingTime = shallowRef(0); + const level = shallowRef(1); + let battery; + function updateBatteryInfo() { + charging.value = this.charging; + chargingTime.value = this.chargingTime || 0; + dischargingTime.value = this.dischargingTime || 0; + level.value = this.level; + } + if (isSupported.value) navigator.getBattery().then((_battery) => { + battery = _battery; + updateBatteryInfo.call(battery); + useEventListener(battery, events, updateBatteryInfo, { passive: true }); + }); + return { + isSupported, + charging, + chargingTime, + dischargingTime, + level + }; +} +//#endregion +//#region useBluetooth/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useBluetooth(options) { + let { acceptAllDevices = false } = options || {}; + const { filters = void 0, optionalServices = void 0, navigator = defaultNavigator } = options || {}; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "bluetooth" in navigator); + const device = shallowRef(); + const error = shallowRef(null); + watch(device, () => { + connectToBluetoothGATTServer(); + }); + async function requestDevice() { + if (!isSupported.value) return; + error.value = null; + if (filters && filters.length > 0) acceptAllDevices = false; + try { + device.value = await (navigator === null || navigator === void 0 ? void 0 : navigator.bluetooth.requestDevice({ + acceptAllDevices, + filters, + optionalServices + })); + } catch (err) { + error.value = err; + } + } + const server = shallowRef(); + const isConnected = shallowRef(false); + function reset() { + isConnected.value = false; + device.value = void 0; + server.value = void 0; + } + async function connectToBluetoothGATTServer() { + error.value = null; + if (device.value && device.value.gatt) try { + server.value = await device.value.gatt.connect(); + isConnected.value = server.value.connected; + } catch (err) { + error.value = err; + } + } + tryOnMounted(() => { + useEventListener(device, "gattserverdisconnected", reset, { + passive: true, + once: true + }); + connectToBluetoothGATTServer(); + }); + tryOnScopeDispose(() => { + var _device$value$gatt; + if (device.value) (_device$value$gatt = device.value.gatt) === null || _device$value$gatt === void 0 || _device$value$gatt.disconnect(); + }); + return { + isSupported, + isConnected: shallowReadonly(isConnected), + device, + requestDevice, + server, + error + }; +} +//#endregion +//#region useSSRWidth/index.ts +const ssrWidthSymbol = Symbol("vueuse-ssr-width"); +/* @__NO_SIDE_EFFECTS__ */ +function useSSRWidth() { + const ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null; + return typeof ssrWidth === "number" ? ssrWidth : void 0; +} +function provideSSRWidth(width, app) { + if (app !== void 0) app.provide(ssrWidthSymbol, width); + else provideLocal(ssrWidthSymbol, width); +} +//#endregion +//#region useMediaQuery/index.ts +/** +* Reactive Media Query. +* +* @see https://vueuse.org/useMediaQuery +* @param query +* @param options +*/ +function useMediaQuery(query, options = {}) { + const { window = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "matchMedia" in window && typeof window.matchMedia === "function"); + const ssrSupport = shallowRef(typeof ssrWidth === "number"); + const mediaQuery = shallowRef(); + const matches = shallowRef(false); + const handler = (event) => { + matches.value = event.matches; + }; + watchEffect(() => { + if (ssrSupport.value) { + ssrSupport.value = !isSupported.value; + const queryStrings = toValue(query).split(","); + matches.value = queryStrings.some((queryString) => { + const not = queryString.includes("not all"); + const minWidth = queryString.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/); + const maxWidth = queryString.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/); + let res = Boolean(minWidth || maxWidth); + if (minWidth && res) res = ssrWidth >= pxValue(minWidth[1]); + if (maxWidth && res) res = ssrWidth <= pxValue(maxWidth[1]); + return not ? !res : res; + }); + return; + } + if (!isSupported.value) return; + mediaQuery.value = window.matchMedia(toValue(query)); + matches.value = mediaQuery.value.matches; + }); + useEventListener(mediaQuery, "change", handler, { passive: true }); + return computed(() => matches.value); +} +//#endregion +//#region useBreakpoints/breakpoints.ts +/** +* Breakpoints from Tailwind V2 +* +* @see https://tailwindcss.com/docs/breakpoints +*/ +const breakpointsTailwind = { + "sm": 640, + "md": 768, + "lg": 1024, + "xl": 1280, + "2xl": 1536 +}; +/** +* Breakpoints from Bootstrap V5 +* +* @see https://getbootstrap.com/docs/5.0/layout/breakpoints +*/ +const breakpointsBootstrapV5 = { + xs: 0, + sm: 576, + md: 768, + lg: 992, + xl: 1200, + xxl: 1400 +}; +/** +* Breakpoints from Vuetify V2 +* +* @see https://v2.vuetifyjs.com/en/features/breakpoints/ +*/ +const breakpointsVuetifyV2 = { + xs: 0, + sm: 600, + md: 960, + lg: 1264, + xl: 1904 +}; +/** +* Breakpoints from Vuetify V3 +* +* @see https://vuetifyjs.com/en/styles/float/#overview +*/ +const breakpointsVuetifyV3 = { + xs: 0, + sm: 600, + md: 960, + lg: 1280, + xl: 1920, + xxl: 2560 +}; +/** +* Alias to `breakpointsVuetifyV2` +* +* @deprecated explictly use `breakpointsVuetifyV2` or `breakpointsVuetifyV3` instead +*/ +const breakpointsVuetify = breakpointsVuetifyV2; +/** +* Breakpoints from Ant Design +* +* @see https://ant.design/components/layout/#breakpoint-width +*/ +const breakpointsAntDesign = { + xs: 480, + sm: 576, + md: 768, + lg: 992, + xl: 1200, + xxl: 1600 +}; +/** +* Breakpoints from Quasar V2 +* +* @see https://quasar.dev/style/breakpoints +*/ +const breakpointsQuasar = { + xs: 0, + sm: 600, + md: 1024, + lg: 1440, + xl: 1920 +}; +/** +* Sematic Breakpoints +*/ +const breakpointsSematic = { + mobileS: 320, + mobileM: 375, + mobileL: 425, + tablet: 768, + laptop: 1024, + laptopL: 1440, + desktop4K: 2560 +}; +/** +* Breakpoints from Master CSS +* +* @see https://docs.master.co/css/breakpoints +*/ +const breakpointsMasterCss = { + "3xs": 360, + "2xs": 480, + "xs": 600, + "sm": 768, + "md": 1024, + "lg": 1280, + "xl": 1440, + "2xl": 1600, + "3xl": 1920, + "4xl": 2560 +}; +/** +* Breakpoints from PrimeFlex +* +* @see https://primeflex.org/installation +*/ +const breakpointsPrimeFlex = { + sm: 576, + md: 768, + lg: 992, + xl: 1200 +}; +/** +* Breakpoints from ElementUI/ElementPlus +* +* @see https://element.eleme.io/#/en-US/component/layout +* @see https://element-plus.org/en-US/component/layout.html +*/ +const breakpointsElement = { + xs: 0, + sm: 768, + md: 992, + lg: 1200, + xl: 1920 +}; +//#endregion +//#region useBreakpoints/index.ts +/** +* Reactively viewport breakpoints +* +* @see https://vueuse.org/useBreakpoints +* +* @__NO_SIDE_EFFECTS__ +*/ +function useBreakpoints(breakpoints, options = {}) { + function getValue(k, delta) { + let v = toValue(breakpoints[toValue(k)]); + if (delta != null) v = increaseWithUnit(v, delta); + if (typeof v === "number") v = `${v}px`; + return v; + } + const { window = defaultWindow, strategy = "min-width", ssrWidth = /* @__PURE__ */ useSSRWidth() } = options; + const ssrSupport = typeof ssrWidth === "number"; + const mounted = ssrSupport ? shallowRef(false) : { value: true }; + if (ssrSupport) tryOnMounted(() => mounted.value = !!window); + function match(query, size) { + if (!mounted.value && ssrSupport) return query === "min" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size); + if (!window) return false; + return window.matchMedia(`(${query}-width: ${size})`).matches; + } + const greaterOrEqual = (k) => { + return useMediaQuery(() => `(min-width: ${getValue(k)})`, options); + }; + const smallerOrEqual = (k) => { + return useMediaQuery(() => `(max-width: ${getValue(k)})`, options); + }; + const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => { + Object.defineProperty(shortcuts, k, { + get: () => strategy === "min-width" ? greaterOrEqual(k) : smallerOrEqual(k), + enumerable: true, + configurable: true + }); + return shortcuts; + }, {}); + function current() { + const points = Object.keys(breakpoints).map((k) => [ + k, + shortcutMethods[k], + pxValue(getValue(k)) + ]).sort((a, b) => a[2] - b[2]); + return computed(() => points.filter(([, v]) => v.value).map(([k]) => k)); + } + return Object.assign(shortcutMethods, { + greaterOrEqual, + smallerOrEqual, + greater(k) { + return useMediaQuery(() => `(min-width: ${getValue(k, .1)})`, options); + }, + smaller(k) { + return useMediaQuery(() => `(max-width: ${getValue(k, -.1)})`, options); + }, + between(a, b) { + return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -.1)})`, options); + }, + isGreater(k) { + return match("min", getValue(k, .1)); + }, + isGreaterOrEqual(k) { + return match("min", getValue(k)); + }, + isSmaller(k) { + return match("max", getValue(k, -.1)); + }, + isSmallerOrEqual(k) { + return match("max", getValue(k)); + }, + isInBetween(a, b) { + return match("min", getValue(a)) && match("max", getValue(b, -.1)); + }, + current, + active() { + const bps = current(); + return computed(() => bps.value.length === 0 ? "" : bps.value.at(strategy === "min-width" ? -1 : 0)); + } + }); +} +//#endregion +//#region useBroadcastChannel/index.ts +/** +* Reactive BroadcastChannel +* +* @see https://vueuse.org/useBroadcastChannel +* @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel +* @param options +* +*/ +function useBroadcastChannel(options) { + const { name, window = defaultWindow } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "BroadcastChannel" in window); + const isClosed = shallowRef(false); + const channel = shallowRef(); + const data = shallowRef(); + const error = shallowRef(null); + const post = (data) => { + if (channel.value) channel.value.postMessage(data); + }; + const close = () => { + if (channel.value) channel.value.close(); + isClosed.value = true; + }; + if (isSupported.value) tryOnMounted(() => { + error.value = null; + channel.value = new BroadcastChannel(name); + const listenerOptions = { passive: true }; + useEventListener(channel, "message", (e) => { + data.value = e.data; + }, listenerOptions); + useEventListener(channel, "messageerror", (e) => { + error.value = e; + }, listenerOptions); + useEventListener(channel, "close", () => { + isClosed.value = true; + }, listenerOptions); + }); + tryOnScopeDispose(() => { + close(); + }); + return { + isSupported, + channel, + data, + post, + close, + error, + isClosed + }; +} +//#endregion +//#region useBrowserLocation/index.ts +const WRITABLE_PROPERTIES = [ + "hash", + "host", + "hostname", + "href", + "pathname", + "port", + "protocol", + "search" +]; +/** +* Reactive browser location. +* +* @see https://vueuse.org/useBrowserLocation +* +* @__NO_SIDE_EFFECTS__ +*/ +function useBrowserLocation(options = {}) { + const { window = defaultWindow } = options; + const refs = Object.fromEntries(WRITABLE_PROPERTIES.map((key) => [key, ref()])); + const buildState = (trigger) => { + var _window$location; + const { state, length } = (window === null || window === void 0 ? void 0 : window.history) || {}; + const { origin } = (window === null || window === void 0 ? void 0 : window.location) || {}; + for (const key of WRITABLE_PROPERTIES) refs[key].value = window === null || window === void 0 || (_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location[key]; + return reactive({ + trigger, + state, + length, + origin, + ...refs + }); + }; + const state = ref(buildState("load")); + for (const [key, ref] of objectEntries(refs)) watch(ref, (value) => { + if (!(window === null || window === void 0 ? void 0 : window.location) || window.location[key] === value) return; + window.location[key] = value; + }); + if (window) { + const listenerOptions = { passive: true }; + useEventListener(window, "popstate", () => state.value = buildState("popstate"), listenerOptions); + useEventListener(window, "hashchange", () => state.value = buildState("hashchange"), listenerOptions); + } + return state; +} +//#endregion +//#region useCached/index.ts +function useCached(refValue, comparator = (newSourceValue, cachedValue) => newSourceValue === cachedValue, options) { + const { deepRefs = true, ...watchOptions } = options || {}; + const cachedValue = createRef(refValue.value, deepRefs); + watch(() => refValue.value, (value) => { + if (!comparator(value, cachedValue.value)) cachedValue.value = value; + }, watchOptions); + return cachedValue; +} +//#endregion +//#region usePermission/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function usePermission(permissionDesc, options = {}) { + const { controls = false, navigator = defaultNavigator } = options; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "permissions" in navigator); + const permissionStatus = shallowRef(); + const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc; + const state = shallowRef(); + const update = () => { + var _permissionStatus$val, _permissionStatus$val2; + state.value = (_permissionStatus$val = (_permissionStatus$val2 = permissionStatus.value) === null || _permissionStatus$val2 === void 0 ? void 0 : _permissionStatus$val2.state) !== null && _permissionStatus$val !== void 0 ? _permissionStatus$val : "prompt"; + }; + useEventListener(permissionStatus, "change", update, { passive: true }); + const query = createSingletonPromise(async () => { + if (!isSupported.value) return; + if (!permissionStatus.value) try { + permissionStatus.value = await navigator.permissions.query(desc); + } catch (_unused) { + permissionStatus.value = void 0; + } finally { + update(); + } + if (controls) return toRaw(permissionStatus.value); + }); + query(); + if (controls) return { + state, + isSupported, + query + }; + else return state; +} +//#endregion +//#region useClipboard/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useClipboard(options = {}) { + const { navigator = defaultNavigator, read = false, source, copiedDuring = 1500, legacy = false } = options; + const isClipboardApiSupported = /* @__PURE__ */ useSupported(() => navigator && "clipboard" in navigator); + const permissionRead = /* @__PURE__ */ usePermission("clipboard-read"); + const permissionWrite = /* @__PURE__ */ usePermission("clipboard-write"); + const isSupported = computed(() => isClipboardApiSupported.value || legacy); + const text = shallowRef(""); + const copied = shallowRef(false); + const copyPending = shallowRef(false); + const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false }); + let lastLegacyId = 0; + async function updateText() { + let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionRead.value)); + if (!useLegacy) try { + text.value = await navigator.clipboard.readText(); + } catch (_unused) { + useLegacy = true; + } + if (useLegacy) text.value = legacyRead(); + } + if (isSupported.value && read) useEventListener(["copy", "cut"], updateText, { passive: true }); + async function copy(value) { + const resolvedValue = value !== null && value !== void 0 ? value : toValue(source); + if (isSupported.value && resolvedValue != null) { + copyPending.value = true; + let useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionWrite.value)); + if (!useLegacy) try { + const clipboardItem = createClipboardItem(resolvedValue); + await navigator.clipboard.write([clipboardItem]); + } catch (_unused2) { + useLegacy = true; + } + if (useLegacy) { + if (typeof resolvedValue === "string") { + text.value = resolvedValue; + legacyCopy(resolvedValue); + } else { + const currentId = ++lastLegacyId; + const resolvedText = await resolvedValue(); + if (resolvedText != null && currentId === lastLegacyId) { + text.value = resolvedText; + legacyCopy(resolvedText); + } + } + } + copied.value = true; + timeout.start(); + copyPending.value = false; + } + } + function createClipboardItem(value) { + if (typeof value === "string") { + text.value = value; + return new ClipboardItem({ "text/plain": value }); + } else return new ClipboardItem({ "text/plain": value().then((resolvedText = "") => { + text.value = resolvedText; + return new Blob([resolvedText], { type: "text/plain" }); + }) }); + } + function legacyCopy(value) { + const ta = document.createElement("textarea"); + ta.value = value; + ta.style.position = "absolute"; + ta.style.opacity = "0"; + ta.setAttribute("readonly", ""); + document.body.appendChild(ta); + ta.select(); + document.execCommand("copy"); + ta.remove(); + } + function legacyRead() { + var _document$getSelectio, _document, _document$getSelectio2; + return (_document$getSelectio = (_document = document) === null || _document === void 0 || (_document$getSelectio2 = _document.getSelection) === null || _document$getSelectio2 === void 0 || (_document$getSelectio2 = _document$getSelectio2.call(_document)) === null || _document$getSelectio2 === void 0 ? void 0 : _document$getSelectio2.toString()) !== null && _document$getSelectio !== void 0 ? _document$getSelectio : ""; + } + function isAllowed(status) { + return status === "granted" || status === "prompt"; + } + return { + copyPending: shallowReadonly(copyPending), + isSupported, + text: shallowReadonly(text), + copied: shallowReadonly(copied), + copy + }; +} +//#endregion +//#region useClipboardItems/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useClipboardItems(options = {}) { + const { navigator = defaultNavigator, read = false, source, copiedDuring = 1500 } = options; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "clipboard" in navigator); + const content = shallowRef([]); + const copied = shallowRef(false); + const timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false }); + function updateContent() { + if (isSupported.value) navigator.clipboard.read().then((items) => { + content.value = items; + }); + } + if (isSupported.value && read) useEventListener(["copy", "cut"], updateContent, { passive: true }); + async function copy(value = toValue(source)) { + if (isSupported.value && value != null) { + await navigator.clipboard.write(value); + content.value = value; + copied.value = true; + timeout.start(); + } + } + return { + isSupported, + content: shallowReadonly(content), + copied: shallowReadonly(copied), + copy, + read: updateContent + }; +} +//#endregion +//#region useCloned/index.ts +function cloneFnJSON(source) { + return JSON.parse(JSON.stringify(source)); +} +function useCloned(source, options = {}) { + const cloned = ref({}); + const isModified = shallowRef(false); + let _lastSync = false; + const { manual, clone = cloneFnJSON, deep = true, immediate = true } = options; + watch(cloned, () => { + if (_lastSync) { + _lastSync = false; + return; + } + isModified.value = true; + }, { + deep: true, + flush: "sync" + }); + function sync() { + _lastSync = true; + isModified.value = false; + cloned.value = clone(toValue(source)); + } + if (!manual && (isRef(source) || typeof source === "function")) watch(source, sync, { + ...options, + deep, + immediate + }); + else sync(); + return { + cloned, + isModified, + sync + }; +} +//#endregion +//#region ssr-handlers.ts +const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; +const globalKey = "__vueuse_ssr_handlers__"; +const handlers = /* #__PURE__ */ getHandlers(); +function getHandlers() { + if (!(globalKey in _global)) _global[globalKey] = _global[globalKey] || {}; + return _global[globalKey]; +} +function getSSRHandler(key, fallback) { + return handlers[key] || fallback; +} +function setSSRHandler(key, fn) { + handlers[key] = fn; +} +//#endregion +//#region usePreferredDark/index.ts +/** +* Reactive dark theme preference. +* +* @see https://vueuse.org/usePreferredDark +* @param [options] +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredDark(options) { + return useMediaQuery("(prefers-color-scheme: dark)", options); +} +//#endregion +//#region useStorage/guess.ts +function guessSerializerType(rawInit) { + return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; +} +//#endregion +//#region useStorage/index.ts +const StorageSerializers = { + boolean: { + read: (v) => v === "true", + write: (v) => String(v) + }, + object: { + read: (v) => JSON.parse(v), + write: (v) => JSON.stringify(v) + }, + number: { + read: (v) => Number.parseFloat(v), + write: (v) => String(v) + }, + any: { + read: (v) => v, + write: (v) => String(v) + }, + string: { + read: (v) => v, + write: (v) => String(v) + }, + map: { + read: (v) => new Map(JSON.parse(v)), + write: (v) => JSON.stringify(Array.from(v.entries())) + }, + set: { + read: (v) => new Set(JSON.parse(v)), + write: (v) => JSON.stringify(Array.from(v)) + }, + date: { + read: (v) => new Date(v), + write: (v) => v.toISOString() + } +}; +const customStorageEventName = "vueuse-storage"; +/** +* Reactive LocalStorage/SessionStorage. +* +* @see https://vueuse.org/useStorage +*/ +function useStorage(key, defaults, storage, options = {}) { + var _options$serializer; + const { flush = "pre", deep = true, listenToStorageChanges = true, writeDefaults = true, mergeDefaults = false, shallow, window = defaultWindow, eventFilter, onError = (e) => { + console.error(e); + }, initOnMounted } = options; + const data = (shallow ? shallowRef : ref)(typeof defaults === "function" ? defaults() : defaults); + const keyComputed = computed(() => toValue(key)); + if (!storage) try { + storage = getSSRHandler("getDefaultStorage", () => defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.localStorage)(); + } catch (e) { + onError(e); + } + if (!storage) return data; + const rawInit = toValue(defaults); + const type = guessSerializerType(rawInit); + const serializer = (_options$serializer = options.serializer) !== null && _options$serializer !== void 0 ? _options$serializer : StorageSerializers[type]; + const { pause: pauseWatch, resume: resumeWatch } = watchPausable(data, (newValue) => write(newValue), { + flush, + deep, + eventFilter + }); + watch(keyComputed, () => update(), { flush }); + let firstMounted = false; + const onStorageEvent = (ev) => { + if (initOnMounted && !firstMounted) return; + update(ev); + }; + const onStorageCustomEvent = (ev) => { + if (initOnMounted && !firstMounted) return; + updateFromCustomEvent(ev); + }; + /** + * The custom event is needed for same-document syncing when using custom + * storage backends, but it doesn't work across different documents. + * + * TODO: Consider implementing a BroadcastChannel-based solution that fixes this. + */ + if (window && listenToStorageChanges) { + if (storage instanceof Storage) useEventListener(window, "storage", onStorageEvent, { passive: true }); + else useEventListener(window, customStorageEventName, onStorageCustomEvent); + } + if (initOnMounted) tryOnMounted(() => { + firstMounted = true; + update(); + }); + else update(); + function dispatchWriteEvent(oldValue, newValue) { + if (window) { + const payload = { + key: keyComputed.value, + oldValue, + newValue, + storageArea: storage + }; + window.dispatchEvent(storage instanceof Storage ? new StorageEvent("storage", payload) : new CustomEvent(customStorageEventName, { detail: payload })); + } + } + function write(v) { + try { + const oldValue = storage.getItem(keyComputed.value); + if (v == null) { + dispatchWriteEvent(oldValue, null); + storage.removeItem(keyComputed.value); + } else { + const serialized = serializer.write(v); + if (oldValue !== serialized) { + storage.setItem(keyComputed.value, serialized); + dispatchWriteEvent(oldValue, serialized); + } + } + } catch (e) { + onError(e); + } + } + function read(event) { + const rawValue = event ? event.newValue : storage.getItem(keyComputed.value); + if (rawValue == null) { + if (writeDefaults && rawInit != null) storage.setItem(keyComputed.value, serializer.write(rawInit)); + return rawInit; + } else if (!event && mergeDefaults) { + const value = serializer.read(rawValue); + if (typeof mergeDefaults === "function") return mergeDefaults(value, rawInit); + else if (type === "object" && !Array.isArray(value)) return { + ...rawInit, + ...value + }; + return value; + } else if (typeof rawValue !== "string") return rawValue; + else return serializer.read(rawValue); + } + function update(event) { + if (event && event.storageArea !== storage) return; + if (event && event.key == null) { + data.value = rawInit; + return; + } + if (event && event.key !== keyComputed.value) return; + pauseWatch(); + try { + const serializedData = serializer.write(data.value); + if (event === void 0 || (event === null || event === void 0 ? void 0 : event.newValue) !== serializedData) data.value = read(event); + } catch (e) { + onError(e); + } finally { + if (event) nextTick(resumeWatch); + else resumeWatch(); + } + } + function updateFromCustomEvent(event) { + update(event.detail); + } + return data; +} +//#endregion +//#region useColorMode/index.ts +const CSS_DISABLE_TRANS = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; +/** +* Reactive color mode with auto data persistence. +* +* @see https://vueuse.org/useColorMode +* @param options +*/ +function useColorMode(options = {}) { + const { selector = "html", attribute = "class", initialValue = "auto", window = defaultWindow, storage, storageKey = "vueuse-color-scheme", listenToStorageChanges = true, storageRef, emitAuto, disableTransition = true } = options; + const modes = { + auto: "", + light: "light", + dark: "dark", + ...options.modes || {} + }; + const preferredDark = usePreferredDark({ window }); + const system = computed(() => preferredDark.value ? "dark" : "light"); + const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { + window, + listenToStorageChanges + })); + const state = computed(() => store.value === "auto" ? system.value : store.value); + const updateHTMLAttrs = getSSRHandler("updateHTMLAttrs", (selector, attribute, value) => { + const el = typeof selector === "string" ? window === null || window === void 0 ? void 0 : window.document.querySelector(selector) : unrefElement(selector); + if (!el) return; + const classesToAdd = /* @__PURE__ */ new Set(); + const classesToRemove = /* @__PURE__ */ new Set(); + let attributeToChange = null; + if (attribute === "class") { + const current = value.split(/\s/g); + Object.values(modes).flatMap((i) => (i || "").split(/\s/g)).filter(Boolean).forEach((v) => { + if (current.includes(v)) classesToAdd.add(v); + else classesToRemove.add(v); + }); + } else attributeToChange = { + key: attribute, + value + }; + if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null) return; + let style; + if (disableTransition) { + style = window.document.createElement("style"); + style.appendChild(document.createTextNode(CSS_DISABLE_TRANS)); + window.document.head.appendChild(style); + } + for (const c of classesToAdd) el.classList.add(c); + for (const c of classesToRemove) el.classList.remove(c); + if (attributeToChange) el.setAttribute(attributeToChange.key, attributeToChange.value); + if (disableTransition) { + window.getComputedStyle(style).opacity; + document.head.removeChild(style); + } + }); + function defaultOnChanged(mode) { + var _modes$mode; + updateHTMLAttrs(selector, attribute, (_modes$mode = modes[mode]) !== null && _modes$mode !== void 0 ? _modes$mode : mode); + } + function onChanged(mode) { + if (options.onChanged) options.onChanged(mode, defaultOnChanged); + else defaultOnChanged(mode); + } + watch(state, onChanged, { + flush: "post", + immediate: true + }); + tryOnMounted(() => onChanged(state.value)); + const auto = computed({ + get() { + return emitAuto ? store.value : state.value; + }, + set(v) { + store.value = v; + } + }); + return Object.assign(auto, { + store, + system, + state + }); +} +//#endregion +//#region useConfirmDialog/index.ts +/** +* Hooks for creating confirm dialogs. Useful for modal windows, popups and logins. +* +* @see https://vueuse.org/useConfirmDialog/ +* @param revealed `boolean` `ref` that handles a modal window +* +* @__NO_SIDE_EFFECTS__ +*/ +function useConfirmDialog(revealed = shallowRef(false)) { + const confirmHook = createEventHook(); + const cancelHook = createEventHook(); + const revealHook = createEventHook(); + let _resolve = noop; + const reveal = (data) => { + revealHook.trigger(data); + revealed.value = true; + return new Promise((resolve) => { + _resolve = resolve; + }); + }; + const confirm = (data) => { + revealed.value = false; + confirmHook.trigger(data); + _resolve({ + data, + isCanceled: false + }); + }; + const cancel = (data) => { + revealed.value = false; + cancelHook.trigger(data); + _resolve({ + data, + isCanceled: true + }); + }; + return { + isRevealed: computed(() => revealed.value), + reveal, + confirm, + cancel, + onReveal: revealHook.on, + onConfirm: confirmHook.on, + onCancel: cancelHook.on + }; +} +//#endregion +//#region useCountdown/index.ts +/** +* Reactive countdown timer in seconds. +* +* @param initialCountdown +* @param options +* +* @see https://vueuse.org/useCountdown +*/ +function useCountdown(initialCountdown, options = {}) { + const remaining = shallowRef(toValue(initialCountdown)); + const { scheduler = (cb) => useIntervalFn(cb, 1e3, { immediate: false }), onTick, onComplete } = options; + const controls = scheduler(() => { + const value = remaining.value - 1; + remaining.value = value < 0 ? 0 : value; + onTick === null || onTick === void 0 || onTick(); + if (remaining.value <= 0) { + controls.pause(); + onComplete === null || onComplete === void 0 || onComplete(); + } + }); + const reset = (countdown) => { + var _toValue; + remaining.value = (_toValue = toValue(countdown)) !== null && _toValue !== void 0 ? _toValue : toValue(initialCountdown); + }; + const stop = () => { + controls.pause(); + reset(); + }; + const resume = () => { + if (!controls.isActive.value) { + if (remaining.value > 0) controls.resume(); + } + }; + const start = (countdown) => { + reset(countdown); + controls.resume(); + }; + return { + remaining, + reset, + stop, + start, + pause: controls.pause, + resume, + isActive: controls.isActive + }; +} +//#endregion +//#region useCssSupports/index.ts +function useCssSupports(...args) { + let options = {}; + if (typeof toValue(args.at(-1)) === "object") options = args.pop(); + const [prop, value] = args; + const { window = defaultWindow, ssrValue = false } = options; + const isMounted = useMounted(); + return { isSupported: computed(() => { + if (!isClient || !isMounted.value) return ssrValue; + return args.length === 2 ? window === null || window === void 0 ? void 0 : window.CSS.supports(toValue(prop), toValue(value)) : window === null || window === void 0 ? void 0 : window.CSS.supports(toValue(prop)); + }) }; +} +//#endregion +//#region useCssVar/index.ts +/** +* Manipulate CSS variables. +* +* @see https://vueuse.org/useCssVar +* @param prop +* @param target +* @param options +*/ +function useCssVar(prop, target, options = {}) { + const { window = defaultWindow, initialValue, observe = false } = options; + const variable = shallowRef(initialValue); + const elRef = computed(() => { + var _window$document; + return unrefElement(target) || (window === null || window === void 0 || (_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.documentElement); + }); + function updateCssVar() { + const key = toValue(prop); + const el = toValue(elRef); + if (el && window && key) { + var _window$getComputedSt; + const value = (_window$getComputedSt = window.getComputedStyle(el).getPropertyValue(key)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.trim(); + variable.value = value || variable.value || initialValue; + } + } + if (observe) useMutationObserver(elRef, updateCssVar, { + attributeFilter: ["style", "class"], + window + }); + watch([elRef, () => toValue(prop)], (_, old) => { + if (old[0] && old[1]) old[0].style.removeProperty(old[1]); + updateCssVar(); + }, { immediate: true }); + watch([variable, elRef], ([val, el]) => { + const raw_prop = toValue(prop); + if ((el === null || el === void 0 ? void 0 : el.style) && raw_prop) { + if (val == null) el.style.removeProperty(raw_prop); + else el.style.setProperty(raw_prop, val); + } + }, { immediate: true }); + return variable; +} +//#endregion +//#region useCurrentElement/index.ts +function useCurrentElement(rootComponent) { + const vm = getCurrentInstance(); + const currentElement = computedWithControl(() => null, () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el); + onUpdated(currentElement.trigger); + onMounted(currentElement.trigger); + return currentElement; +} +//#endregion +//#region useCycleList/index.ts +/** +* Cycle through a list of items +* +* @see https://vueuse.org/useCycleList +*/ +function useCycleList(list, options) { + const state = shallowRef(getInitialValue()); + const listRef = toRef(list); + const index = computed({ + get() { + var _options$fallbackInde; + const targetList = listRef.value; + let index = (options === null || options === void 0 ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value); + if (index < 0) index = (_options$fallbackInde = options === null || options === void 0 ? void 0 : options.fallbackIndex) !== null && _options$fallbackInde !== void 0 ? _options$fallbackInde : 0; + return index; + }, + set(v) { + set(v); + } + }); + function set(i) { + const targetList = listRef.value; + const length = targetList.length; + const value = targetList[(i % length + length) % length]; + state.value = value; + return value; + } + function shift(delta = 1) { + return set(index.value + delta); + } + function next(n = 1) { + return shift(n); + } + function prev(n = 1) { + return shift(-n); + } + function getInitialValue() { + var _toValue, _options$initialValue; + return (_toValue = toValue((_options$initialValue = options === null || options === void 0 ? void 0 : options.initialValue) !== null && _options$initialValue !== void 0 ? _options$initialValue : toValue(list)[0])) !== null && _toValue !== void 0 ? _toValue : void 0; + } + watch(listRef, () => set(index.value)); + return { + state, + index, + next, + prev, + go: set + }; +} +//#endregion +//#region useDark/index.ts +/** +* Reactive dark mode with auto data persistence. +* +* @see https://vueuse.org/useDark +* @param options +*/ +function useDark(options = {}) { + const { valueDark = "dark", valueLight = "" } = options; + const mode = useColorMode({ + ...options, + onChanged: (mode, defaultHandler) => { + var _options$onChanged; + if (options.onChanged) (_options$onChanged = options.onChanged) === null || _options$onChanged === void 0 || _options$onChanged.call(options, mode === "dark", defaultHandler, mode); + else defaultHandler(mode); + }, + modes: { + dark: valueDark, + light: valueLight + } + }); + const system = computed(() => mode.system.value); + return computed({ + get() { + return mode.value === "dark"; + }, + set(v) { + const modeVal = v ? "dark" : "light"; + if (system.value === modeVal) mode.value = "auto"; + else mode.value = modeVal; + } + }); +} +//#endregion +//#region useManualRefHistory/index.ts +function fnBypass(v) { + return v; +} +function fnSetSource(source, value) { + return source.value = value; +} +function defaultDump(clone) { + return clone ? typeof clone === "function" ? clone : cloneFnJSON : fnBypass; +} +function defaultParse(clone) { + return clone ? typeof clone === "function" ? clone : cloneFnJSON : fnBypass; +} +/** +* Track the change history of a ref, also provides undo and redo functionality. +* +* @see https://vueuse.org/useManualRefHistory +* @param source +* @param options +*/ +function useManualRefHistory(source, options = {}) { + const { clone = false, dump = defaultDump(clone), parse = defaultParse(clone), setSource = fnSetSource } = options; + function _createHistoryRecord() { + return markRaw({ + snapshot: dump(source.value), + timestamp: timestamp() + }); + } + const last = ref(_createHistoryRecord()); + const undoStack = ref([]); + const redoStack = ref([]); + const _setSource = (record) => { + setSource(source, parse(record.snapshot)); + last.value = record; + }; + const commit = () => { + undoStack.value.unshift(last.value); + last.value = _createHistoryRecord(); + if (options.capacity && undoStack.value.length > options.capacity) undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY); + if (redoStack.value.length) redoStack.value.splice(0, redoStack.value.length); + }; + const clear = () => { + undoStack.value.splice(0, undoStack.value.length); + redoStack.value.splice(0, redoStack.value.length); + }; + const undo = () => { + const state = undoStack.value.shift(); + if (state) { + redoStack.value.unshift(last.value); + _setSource(state); + } + }; + const redo = () => { + const state = redoStack.value.shift(); + if (state) { + undoStack.value.unshift(last.value); + _setSource(state); + } + }; + const reset = () => { + _setSource(last.value); + }; + return { + source, + undoStack, + redoStack, + last, + history: computed(() => [last.value, ...undoStack.value]), + canUndo: computed(() => undoStack.value.length > 0), + canRedo: computed(() => redoStack.value.length > 0), + clear, + commit, + reset, + undo, + redo + }; +} +//#endregion +//#region useRefHistory/index.ts +/** +* Track the change history of a ref, also provides undo and redo functionality. +* +* @see https://vueuse.org/useRefHistory +* @param source +* @param options +*/ +function useRefHistory(source, options = {}) { + const { deep = false, flush = "pre", eventFilter, shouldCommit = () => true } = options; + const { eventFilter: composedFilter, pause, resume: resumeTracking, isActive: isTracking } = pausableFilter(eventFilter); + let lastRawValue = source.value; + const { ignoreUpdates, ignorePrevAsyncUpdates, stop } = watchIgnorable(source, commit, { + deep, + flush, + eventFilter: composedFilter + }); + function setSource(source, value) { + ignorePrevAsyncUpdates(); + ignoreUpdates(() => { + source.value = value; + lastRawValue = value; + }); + } + const manualHistory = useManualRefHistory(source, { + ...options, + clone: options.clone || deep, + setSource + }); + const { clear, commit: manualCommit } = manualHistory; + function commit() { + ignorePrevAsyncUpdates(); + if (!shouldCommit(lastRawValue, source.value)) return; + lastRawValue = source.value; + manualCommit(); + } + function resume(commitNow) { + resumeTracking(); + if (commitNow) commit(); + } + function batch(fn) { + let canceled = false; + const cancel = () => canceled = true; + ignoreUpdates(() => { + fn(cancel); + }); + if (!canceled) commit(); + } + function dispose() { + stop(); + clear(); + } + return { + ...manualHistory, + isTracking, + pause, + resume, + commit, + batch, + dispose + }; +} +//#endregion +//#region useDebouncedRefHistory/index.ts +/** +* Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with debounce filter. +* +* @see https://vueuse.org/useDebouncedRefHistory +* @param source +* @param options +*/ +function useDebouncedRefHistory(source, options = {}) { + const filter = options.debounce ? debounceFilter(options.debounce) : void 0; + return { ...useRefHistory(source, { + ...options, + eventFilter: filter + }) }; +} +//#endregion +//#region useDeviceMotion/index.ts +/** +* Reactive DeviceMotionEvent. +* +* @see https://vueuse.org/useDeviceMotion +* @param options +*/ +function useDeviceMotion(options = {}) { + const { window = defaultWindow, requestPermissions = false, eventFilter = bypassFilter } = options; + const isSupported = /* @__PURE__ */ useSupported(() => typeof DeviceMotionEvent !== "undefined"); + const requirePermissions = /* @__PURE__ */ useSupported(() => isSupported.value && "requestPermission" in DeviceMotionEvent && typeof DeviceMotionEvent.requestPermission === "function"); + const permissionGranted = shallowRef(false); + const acceleration = ref({ + x: null, + y: null, + z: null + }); + const rotationRate = ref({ + alpha: null, + beta: null, + gamma: null + }); + const interval = shallowRef(0); + const accelerationIncludingGravity = ref({ + x: null, + y: null, + z: null + }); + function init() { + if (window) { + const onDeviceMotion = createFilterWrapper(eventFilter, (event) => { + var _event$acceleration, _event$acceleration2, _event$acceleration3, _event$accelerationIn, _event$accelerationIn2, _event$accelerationIn3, _event$rotationRate, _event$rotationRate2, _event$rotationRate3; + acceleration.value = { + x: ((_event$acceleration = event.acceleration) === null || _event$acceleration === void 0 ? void 0 : _event$acceleration.x) || null, + y: ((_event$acceleration2 = event.acceleration) === null || _event$acceleration2 === void 0 ? void 0 : _event$acceleration2.y) || null, + z: ((_event$acceleration3 = event.acceleration) === null || _event$acceleration3 === void 0 ? void 0 : _event$acceleration3.z) || null + }; + accelerationIncludingGravity.value = { + x: ((_event$accelerationIn = event.accelerationIncludingGravity) === null || _event$accelerationIn === void 0 ? void 0 : _event$accelerationIn.x) || null, + y: ((_event$accelerationIn2 = event.accelerationIncludingGravity) === null || _event$accelerationIn2 === void 0 ? void 0 : _event$accelerationIn2.y) || null, + z: ((_event$accelerationIn3 = event.accelerationIncludingGravity) === null || _event$accelerationIn3 === void 0 ? void 0 : _event$accelerationIn3.z) || null + }; + rotationRate.value = { + alpha: ((_event$rotationRate = event.rotationRate) === null || _event$rotationRate === void 0 ? void 0 : _event$rotationRate.alpha) || null, + beta: ((_event$rotationRate2 = event.rotationRate) === null || _event$rotationRate2 === void 0 ? void 0 : _event$rotationRate2.beta) || null, + gamma: ((_event$rotationRate3 = event.rotationRate) === null || _event$rotationRate3 === void 0 ? void 0 : _event$rotationRate3.gamma) || null + }; + interval.value = event.interval; + }); + useEventListener(window, "devicemotion", onDeviceMotion, { passive: true }); + } + } + const ensurePermissions = async () => { + if (!requirePermissions.value) permissionGranted.value = true; + if (permissionGranted.value) return; + if (requirePermissions.value) { + const requestPermission = DeviceMotionEvent.requestPermission; + try { + if (await requestPermission() === "granted") { + permissionGranted.value = true; + init(); + } + } catch (error) { + console.error(error); + } + } + }; + if (isSupported.value) { + if (requestPermissions && requirePermissions.value) ensurePermissions().then(() => init()); + else init(); + } + return { + acceleration, + accelerationIncludingGravity, + rotationRate, + interval, + isSupported, + requirePermissions, + ensurePermissions, + permissionGranted + }; +} +//#endregion +//#region useDeviceOrientation/index.ts +/** +* Reactive DeviceOrientationEvent. +* +* @see https://vueuse.org/useDeviceOrientation +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useDeviceOrientation(options = {}) { + const { window = defaultWindow } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "DeviceOrientationEvent" in window); + const isAbsolute = shallowRef(false); + const alpha = shallowRef(null); + const beta = shallowRef(null); + const gamma = shallowRef(null); + if (window && isSupported.value) useEventListener(window, "deviceorientation", (event) => { + isAbsolute.value = event.absolute; + alpha.value = event.alpha; + beta.value = event.beta; + gamma.value = event.gamma; + }, { passive: true }); + return { + isSupported, + isAbsolute, + alpha, + beta, + gamma + }; +} +//#endregion +//#region useDevicePixelRatio/index.ts +/** +* Reactively track `window.devicePixelRatio`. +* +* @see https://vueuse.org/useDevicePixelRatio +* +* @__NO_SIDE_EFFECTS__ +*/ +function useDevicePixelRatio(options = {}) { + const { window = defaultWindow } = options; + const pixelRatio = shallowRef(1); + const query = useMediaQuery(() => `(resolution: ${pixelRatio.value}dppx)`, options); + let stop = noop; + if (window) stop = watchImmediate(query, () => pixelRatio.value = window.devicePixelRatio); + return { + pixelRatio: shallowReadonly(pixelRatio), + stop + }; +} +//#endregion +//#region useDevicesList/index.ts +/** +* Reactive `enumerateDevices` listing available input/output devices +* +* @see https://vueuse.org/useDevicesList +* @param options +*/ +function useDevicesList(options = {}) { + const { navigator = defaultNavigator, requestPermissions = false, constraints = { + audio: true, + video: true + }, onUpdated } = options; + const devices = shallowRef([]); + const videoInputs = computed(() => devices.value.filter((i) => i.kind === "videoinput")); + const audioInputs = computed(() => devices.value.filter((i) => i.kind === "audioinput")); + const audioOutputs = computed(() => devices.value.filter((i) => i.kind === "audiooutput")); + const isSupported = /* @__PURE__ */ useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices); + const permissionGranted = shallowRef(false); + let stream; + async function update() { + if (!isSupported.value) return; + devices.value = await navigator.mediaDevices.enumerateDevices(); + onUpdated === null || onUpdated === void 0 || onUpdated(devices.value); + if (stream) { + stream.getTracks().forEach((t) => t.stop()); + stream = null; + } + } + async function ensurePermissions() { + const deviceName = constraints.video ? "camera" : "microphone"; + if (!isSupported.value) return false; + if (permissionGranted.value) return true; + const { state, query } = /* @__PURE__ */ usePermission(deviceName, { controls: true }); + await query(); + if (state.value !== "granted") { + let granted = true; + try { + const allDevices = await navigator.mediaDevices.enumerateDevices(); + const hasCamera = allDevices.some((device) => device.kind === "videoinput"); + const hasMicrophone = allDevices.some((device) => device.kind === "audioinput" || device.kind === "audiooutput"); + constraints.video = hasCamera ? constraints.video : false; + constraints.audio = hasMicrophone ? constraints.audio : false; + stream = await navigator.mediaDevices.getUserMedia(constraints); + } catch (_unused) { + stream = null; + granted = false; + } + update(); + permissionGranted.value = granted; + } else permissionGranted.value = true; + return permissionGranted.value; + } + if (isSupported.value) { + if (requestPermissions) ensurePermissions(); + useEventListener(navigator.mediaDevices, "devicechange", update, { passive: true }); + update(); + } + return { + devices, + ensurePermissions, + permissionGranted, + videoInputs, + audioInputs, + audioOutputs, + isSupported + }; +} +//#endregion +//#region useDisplayMedia/index.ts +/** +* Reactive `mediaDevices.getDisplayMedia` streaming +* +* @see https://vueuse.org/useDisplayMedia +* @param options +*/ +function useDisplayMedia(options = {}) { + var _options$enabled; + const enabled = shallowRef((_options$enabled = options.enabled) !== null && _options$enabled !== void 0 ? _options$enabled : false); + const video = options.video; + const audio = options.audio; + const { navigator = defaultNavigator } = options; + const isSupported = /* @__PURE__ */ useSupported(() => { + var _navigator$mediaDevic; + return navigator === null || navigator === void 0 || (_navigator$mediaDevic = navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : _navigator$mediaDevic.getDisplayMedia; + }); + const constraint = { + audio, + video + }; + const stream = shallowRef(); + async function _start() { + var _stream$value; + if (!isSupported.value || stream.value) return; + stream.value = await navigator.mediaDevices.getDisplayMedia(constraint); + (_stream$value = stream.value) === null || _stream$value === void 0 || _stream$value.getTracks().forEach((t) => useEventListener(t, "ended", stop, { passive: true })); + return stream.value; + } + async function _stop() { + var _stream$value2; + (_stream$value2 = stream.value) === null || _stream$value2 === void 0 || _stream$value2.getTracks().forEach((t) => t.stop()); + stream.value = void 0; + } + function stop() { + _stop(); + enabled.value = false; + } + async function start() { + await _start(); + if (stream.value) enabled.value = true; + return stream.value; + } + watch(enabled, (v) => { + if (v) _start(); + else _stop(); + }, { immediate: true }); + return { + isSupported, + stream, + start, + stop, + enabled + }; +} +//#endregion +//#region useDocumentVisibility/index.ts +/** +* Reactively track `document.visibilityState`. +* +* @see https://vueuse.org/useDocumentVisibility +* +* @__NO_SIDE_EFFECTS__ +*/ +function useDocumentVisibility(options = {}) { + const { document = defaultDocument } = options; + if (!document) return shallowRef("visible"); + const visibility = shallowRef(document.visibilityState); + useEventListener(document, "visibilitychange", () => { + visibility.value = document.visibilityState; + }, { passive: true }); + return visibility; +} +//#endregion +//#region useDraggable/index.ts +const defaultScrollConfig = { + speed: 2, + margin: 30, + direction: "both" +}; +function clampContainerScroll(container) { + if (container.scrollLeft > container.scrollWidth - container.clientWidth) container.scrollLeft = Math.max(0, container.scrollWidth - container.clientWidth); + if (container.scrollTop > container.scrollHeight - container.clientHeight) container.scrollTop = Math.max(0, container.scrollHeight - container.clientHeight); +} +/** +* Make elements draggable. +* +* @see https://vueuse.org/useDraggable +* @param target +* @param options +*/ +function useDraggable(target, options = {}) { + var _toValue, _toValue2, _toValue3, _scrollConfig$directi; + const { pointerTypes, preventDefault, stopPropagation, exact, onMove, onEnd, onStart, initialValue, axis = "both", draggingElement = defaultWindow, containerElement, handle: draggingHandle = target, buttons = [0], restrictInView, autoScroll = false } = options; + const position = ref((_toValue = toValue(initialValue)) !== null && _toValue !== void 0 ? _toValue : { + x: 0, + y: 0 + }); + const pressedDelta = ref(); + const filterEvent = (e) => { + if (pointerTypes) return pointerTypes.includes(e.pointerType); + return true; + }; + const handleEvent = (e) => { + if (toValue(preventDefault)) e.preventDefault(); + if (toValue(stopPropagation)) e.stopPropagation(); + }; + const scrollConfig = toValue(autoScroll); + const scrollSettings = typeof scrollConfig === "object" ? { + speed: (_toValue2 = toValue(scrollConfig.speed)) !== null && _toValue2 !== void 0 ? _toValue2 : defaultScrollConfig.speed, + margin: (_toValue3 = toValue(scrollConfig.margin)) !== null && _toValue3 !== void 0 ? _toValue3 : defaultScrollConfig.margin, + direction: (_scrollConfig$directi = scrollConfig.direction) !== null && _scrollConfig$directi !== void 0 ? _scrollConfig$directi : defaultScrollConfig.direction + } : defaultScrollConfig; + const getScrollAxisValues = (value) => typeof value === "number" ? [value, value] : [value.x, value.y]; + const handleAutoScroll = (container, targetRect, position) => { + const { clientWidth, clientHeight, scrollLeft, scrollTop, scrollWidth, scrollHeight } = container; + const [marginX, marginY] = getScrollAxisValues(scrollSettings.margin); + const [speedX, speedY] = getScrollAxisValues(scrollSettings.speed); + let deltaX = 0; + let deltaY = 0; + if (scrollSettings.direction === "x" || scrollSettings.direction === "both") { + if (position.x < marginX && scrollLeft > 0) deltaX = -speedX; + else if (position.x + targetRect.width > clientWidth - marginX && scrollLeft < scrollWidth - clientWidth) deltaX = speedX; + } + if (scrollSettings.direction === "y" || scrollSettings.direction === "both") { + if (position.y < marginY && scrollTop > 0) deltaY = -speedY; + else if (position.y + targetRect.height > clientHeight - marginY && scrollTop < scrollHeight - clientHeight) deltaY = speedY; + } + if (deltaX || deltaY) container.scrollBy({ + left: deltaX, + top: deltaY, + behavior: "auto" + }); + }; + let autoScrollInterval = null; + const startAutoScroll = () => { + const container = toValue(containerElement); + if (container && !autoScrollInterval) autoScrollInterval = setInterval(() => { + const targetRect = toValue(target).getBoundingClientRect(); + const { x, y } = position.value; + const relativePosition = { + x: x - container.scrollLeft, + y: y - container.scrollTop + }; + if (relativePosition.x >= 0 && relativePosition.y >= 0) { + handleAutoScroll(container, targetRect, relativePosition); + relativePosition.x += container.scrollLeft; + relativePosition.y += container.scrollTop; + position.value = relativePosition; + } + }, 1e3 / 60); + }; + const stopAutoScroll = () => { + if (autoScrollInterval) { + clearInterval(autoScrollInterval); + autoScrollInterval = null; + } + }; + const isPointerNearEdge = (pointer, container, margin, targetRect) => { + const [marginX, marginY] = typeof margin === "number" ? [margin, margin] : [margin.x, margin.y]; + const { clientWidth, clientHeight } = container; + return pointer.x < marginX || pointer.x + targetRect.width > clientWidth - marginX || pointer.y < marginY || pointer.y + targetRect.height > clientHeight - marginY; + }; + const checkAutoScroll = () => { + if (toValue(options.disabled) || !pressedDelta.value) return; + const container = toValue(containerElement); + if (!container) return; + const targetRect = toValue(target).getBoundingClientRect(); + const { x, y } = position.value; + const relativePosition = { + x: x - container.scrollLeft, + y: y - container.scrollTop + }; + if (isPointerNearEdge(relativePosition, container, scrollSettings.margin, targetRect)) startAutoScroll(); + else stopAutoScroll(); + }; + if (toValue(autoScroll)) watch(position, checkAutoScroll); + const start = (e) => { + var _container$getBoundin; + if (!toValue(buttons).includes(e.button)) return; + if (toValue(options.disabled) || !filterEvent(e)) return; + if (toValue(exact) && e.target !== toValue(target)) return; + const container = toValue(containerElement); + const containerRect = container === null || container === void 0 || (_container$getBoundin = container.getBoundingClientRect) === null || _container$getBoundin === void 0 ? void 0 : _container$getBoundin.call(container); + const targetRect = toValue(target).getBoundingClientRect(); + const pos = { + x: e.clientX - (container ? targetRect.left - containerRect.left + (autoScroll ? 0 : container.scrollLeft) : targetRect.left), + y: e.clientY - (container ? targetRect.top - containerRect.top + (autoScroll ? 0 : container.scrollTop) : targetRect.top) + }; + if ((onStart === null || onStart === void 0 ? void 0 : onStart(pos, e)) === false) return; + pressedDelta.value = pos; + handleEvent(e); + }; + const move = (e) => { + if (toValue(options.disabled) || !filterEvent(e)) return; + if (!pressedDelta.value) return; + const container = toValue(containerElement); + if (container instanceof HTMLElement) clampContainerScroll(container); + const targetRect = toValue(target).getBoundingClientRect(); + let { x, y } = position.value; + if (axis === "x" || axis === "both") { + x = e.clientX - pressedDelta.value.x; + if (container) x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width); + } + if (axis === "y" || axis === "both") { + y = e.clientY - pressedDelta.value.y; + if (container) y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height); + } + if (toValue(autoScroll) && container) { + if (autoScrollInterval === null) handleAutoScroll(container, targetRect, { + x, + y + }); + x += container.scrollLeft; + y += container.scrollTop; + } + if (container && (restrictInView || autoScroll)) { + if (axis !== "y") { + const relativeX = x - container.scrollLeft; + if (relativeX < 0) x = container.scrollLeft; + else if (relativeX > container.clientWidth - targetRect.width) x = container.clientWidth - targetRect.width + container.scrollLeft; + } + if (axis !== "x") { + const relativeY = y - container.scrollTop; + if (relativeY < 0) y = container.scrollTop; + else if (relativeY > container.clientHeight - targetRect.height) y = container.clientHeight - targetRect.height + container.scrollTop; + } + } + position.value = { + x, + y + }; + onMove === null || onMove === void 0 || onMove(position.value, e); + handleEvent(e); + }; + const end = (e) => { + if (toValue(options.disabled) || !filterEvent(e)) return; + if (!pressedDelta.value) return; + pressedDelta.value = void 0; + if (autoScroll) stopAutoScroll(); + onEnd === null || onEnd === void 0 || onEnd(position.value, e); + handleEvent(e); + }; + if (isClient) { + const config = () => { + var _options$capture; + return { + capture: (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : true, + passive: !toValue(preventDefault) + }; + }; + useEventListener(draggingHandle, "pointerdown", start, config); + useEventListener(draggingElement, "pointermove", move, config); + useEventListener(draggingElement, ["pointerup", "pointercancel"], end, config); + } + return { + ...toRefs(position), + position, + isDragging: computed(() => !!pressedDelta.value), + style: computed(() => ` + left: ${position.value.x}px; + top: ${position.value.y}px; + ${autoScroll ? "text-wrap: nowrap;" : ""} + `) + }; +} +//#endregion +//#region useDropZone/index.ts +function useDropZone(target, options = {}) { + const isOverDropZone = shallowRef(false); + const files = shallowRef(null); + let counter = 0; + let isValid = true; + if (isClient) { + var _options$multiple, _options$preventDefau; + const _options = typeof options === "function" ? { onDrop: options } : options; + const multiple = (_options$multiple = _options.multiple) !== null && _options$multiple !== void 0 ? _options$multiple : true; + const preventDefaultForUnhandled = (_options$preventDefau = _options.preventDefaultForUnhandled) !== null && _options$preventDefau !== void 0 ? _options$preventDefau : false; + const getFiles = (event) => { + var _event$dataTransfer$f, _event$dataTransfer; + const list = Array.from((_event$dataTransfer$f = (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.files) !== null && _event$dataTransfer$f !== void 0 ? _event$dataTransfer$f : []); + return list.length === 0 ? null : multiple ? list : [list[0]]; + }; + const checkDataTypes = (types) => { + const dataTypes = unref(_options.dataTypes); + if (typeof dataTypes === "function") return dataTypes(types); + if (!(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length)) return true; + if (types.length === 0) return false; + return types.every((type) => dataTypes.some((allowedType) => type.includes(allowedType))); + }; + const checkValidity = (items) => { + if (_options.checkValidity) return _options.checkValidity(items); + const types = Array.from(items !== null && items !== void 0 ? items : []).map((item) => item.type); + const dataTypesValid = checkDataTypes(types); + const multipleFilesValid = multiple || items.length <= 1; + return dataTypesValid && multipleFilesValid; + }; + const isSafari = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window); + const handleDragEvent = (event, eventType) => { + var _event$dataTransfer2, _ref; + const dataTransferItemList = (_event$dataTransfer2 = event.dataTransfer) === null || _event$dataTransfer2 === void 0 ? void 0 : _event$dataTransfer2.items; + isValid = (_ref = dataTransferItemList && checkValidity(dataTransferItemList)) !== null && _ref !== void 0 ? _ref : false; + if (preventDefaultForUnhandled) event.preventDefault(); + if (!isSafari() && !isValid) { + if (event.dataTransfer) event.dataTransfer.dropEffect = "none"; + return; + } + event.preventDefault(); + if (event.dataTransfer) event.dataTransfer.dropEffect = "copy"; + const currentFiles = getFiles(event); + switch (eventType) { + case "enter": + var _options$onEnter; + counter += 1; + isOverDropZone.value = true; + (_options$onEnter = _options.onEnter) === null || _options$onEnter === void 0 || _options$onEnter.call(_options, null, event); + break; + case "over": + var _options$onOver; + (_options$onOver = _options.onOver) === null || _options$onOver === void 0 || _options$onOver.call(_options, null, event); + break; + case "leave": + var _options$onLeave; + counter -= 1; + if (counter === 0) isOverDropZone.value = false; + (_options$onLeave = _options.onLeave) === null || _options$onLeave === void 0 || _options$onLeave.call(_options, null, event); + break; + case "drop": + counter = 0; + isOverDropZone.value = false; + if (isValid) { + var _options$onDrop; + files.value = currentFiles; + (_options$onDrop = _options.onDrop) === null || _options$onDrop === void 0 || _options$onDrop.call(_options, currentFiles, event); + } + } + }; + useEventListener(target, "dragenter", (event) => handleDragEvent(event, "enter")); + useEventListener(target, "dragover", (event) => handleDragEvent(event, "over")); + useEventListener(target, "dragleave", (event) => handleDragEvent(event, "leave")); + useEventListener(target, "drop", (event) => handleDragEvent(event, "drop")); + } + return { + files, + isOverDropZone + }; +} +//#endregion +//#region useResizeObserver/index.ts +/** +* Reports changes to the dimensions of an Element's content or the border-box +* +* @see https://vueuse.org/useResizeObserver +* @param target +* @param callback +* @param options +*/ +function useResizeObserver(target, callback, options = {}) { + const { window = defaultWindow, ...observerOptions } = options; + let observer; + const isSupported = /* @__PURE__ */ useSupported(() => window && "ResizeObserver" in window); + const cleanup = () => { + if (observer) { + observer.disconnect(); + observer = void 0; + } + }; + const targets = computed(() => { + const _targets = toValue(target); + return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)]; + }); + const stopWatch = watch(targets, (els) => { + cleanup(); + if (isSupported.value && window) { + observer = new ResizeObserver(callback); + for (const _el of els) if (_el instanceof Element) observer.observe(_el, observerOptions); + } + }, { + immediate: true, + flush: "post" + }); + const stop = () => { + cleanup(); + stopWatch(); + }; + tryOnScopeDispose(stop); + return { + isSupported, + stop + }; +} +//#endregion +//#region useElementBounding/index.ts +/** +* Reactive bounding box of an HTML element. +* +* @see https://vueuse.org/useElementBounding +* @param target +*/ +function useElementBounding(target, options = {}) { + const { reset = true, windowResize = true, windowScroll = true, immediate = true, updateTiming = "sync" } = options; + const height = shallowRef(0); + const bottom = shallowRef(0); + const left = shallowRef(0); + const right = shallowRef(0); + const top = shallowRef(0); + const width = shallowRef(0); + const x = shallowRef(0); + const y = shallowRef(0); + function recalculate() { + const el = unrefElement(target); + if (!el) { + if (reset) { + height.value = 0; + bottom.value = 0; + left.value = 0; + right.value = 0; + top.value = 0; + width.value = 0; + x.value = 0; + y.value = 0; + } + return; + } + const rect = el.getBoundingClientRect(); + height.value = rect.height; + bottom.value = rect.bottom; + left.value = rect.left; + right.value = rect.right; + top.value = rect.top; + width.value = rect.width; + x.value = rect.x; + y.value = rect.y; + } + function update() { + if (updateTiming === "sync") recalculate(); + else if (updateTiming === "next-frame") requestAnimationFrame(() => recalculate()); + } + useResizeObserver(target, update); + watch(() => unrefElement(target), (ele) => !ele && update()); + useMutationObserver(target, update, { attributeFilter: ["style", "class"] }); + if (windowScroll) useEventListener("scroll", update, { + capture: true, + passive: true + }); + if (windowResize) useEventListener("resize", update, { passive: true }); + tryOnMounted(() => { + if (immediate) update(); + }); + return { + height, + bottom, + left, + right, + top, + width, + x, + y, + update + }; +} +//#endregion +//#region useElementByPoint/index.ts +/** +* Reactive element by point. +* +* @see https://vueuse.org/useElementByPoint +* @param options - UseElementByPointOptions +*/ +function useElementByPoint(options) { + const { x, y, document = defaultDocument, multiple, scheduler = useRafFn } = options; + const isSupported = /* @__PURE__ */ useSupported(() => { + if (toValue(multiple)) return document && "elementsFromPoint" in document; + return document && "elementFromPoint" in document; + }); + const element = shallowRef(null); + return { + isSupported, + element, + ...scheduler(() => { + var _document$elementsFro, _document$elementFrom; + element.value = toValue(multiple) ? (_document$elementsFro = document === null || document === void 0 ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) !== null && _document$elementsFro !== void 0 ? _document$elementsFro : [] : (_document$elementFrom = document === null || document === void 0 ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) !== null && _document$elementFrom !== void 0 ? _document$elementFrom : null; + }) + }; +} +//#endregion +//#region useElementHover/index.ts +function useElementHover(el, options = {}) { + const { delayEnter = 0, delayLeave = 0, triggerOnRemoval = false, window = defaultWindow } = options; + const isHovered = shallowRef(false); + let timer; + const toggle = (entering) => { + const delay = entering ? delayEnter : delayLeave; + if (timer) { + clearTimeout(timer); + timer = void 0; + } + if (delay) timer = setTimeout(() => isHovered.value = entering, delay); + else isHovered.value = entering; + }; + if (!window) return isHovered; + useEventListener(el, "mouseenter", () => toggle(true), { passive: true }); + useEventListener(el, "mouseleave", () => toggle(false), { passive: true }); + if (triggerOnRemoval) onElementRemoval(computed(() => unrefElement(el)), () => toggle(false)); + return isHovered; +} +//#endregion +//#region useElementOverflow/index.ts +/** +* react a dom's overflow state +* @see https://vueuse.org/useElementOverflow +* @param target +* @param option +*/ +function useElementOverflow(target, option = {}) { + const { observeMutation = false, onUpdated, window = defaultWindow } = option; + const isXOverflowed = shallowRef(false); + const isYOverflowed = shallowRef(false); + function update(htmlEl) { + isXOverflowed.value = htmlEl.scrollWidth > htmlEl.offsetWidth; + isYOverflowed.value = htmlEl.scrollHeight > htmlEl.offsetHeight; + } + const onResizeUpdated = onUpdated; + const targetEl = computed(() => { + const el = unrefElement(target); + if (!el || el instanceof SVGElement) return void 0; + return el; + }); + const targets = () => { + const el = targetEl.value; + if (!el || el instanceof SVGElement) return []; + return [el, ...Array.from(el.children).filter((i) => i instanceof HTMLElement)]; + }; + useResizeObserver(targets, (entries, observer) => { + const el = targetEl.value; + if (el) update(el); + onResizeUpdated === null || onResizeUpdated === void 0 || onResizeUpdated(entries, observer); + }, { window }); + if (observeMutation) { + const onMutationUpdated = onUpdated; + useMutationObserver(targets, (entries, observer) => { + const el = targetEl.value; + if (el) update(el); + onMutationUpdated === null || onMutationUpdated === void 0 || onMutationUpdated(entries, observer); + }, { + window, + ...typeof observeMutation === "object" ? observeMutation : { + childList: true, + subtree: true, + characterData: true + } + }); + } + return { + isXOverflowed: shallowReadonly(isXOverflowed), + isYOverflowed: shallowReadonly(isYOverflowed), + stop, + update: () => { + const el = targetEl.value; + if (el && window) update(el); + } + }; +} +//#endregion +//#region useElementSize/index.ts +/** +* Reactive size of an HTML element. +* +* @see https://vueuse.org/useElementSize +*/ +function useElementSize(target, initialSize = { + width: 0, + height: 0 +}, options = {}) { + const { window = defaultWindow, box = "content-box" } = options; + const isSVG = computed(() => { + var _unrefElement; + return (_unrefElement = unrefElement(target)) === null || _unrefElement === void 0 || (_unrefElement = _unrefElement.namespaceURI) === null || _unrefElement === void 0 ? void 0 : _unrefElement.includes("svg"); + }); + const width = shallowRef(initialSize.width); + const height = shallowRef(initialSize.height); + const { stop: stop1 } = useResizeObserver(target, ([entry]) => { + const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; + if (window && isSVG.value) { + const $elem = unrefElement(target); + if ($elem) { + const rect = $elem.getBoundingClientRect(); + width.value = rect.width; + height.value = rect.height; + } + } else if (boxSize) { + const formatBoxSize = toArray(boxSize); + width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); + height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); + } else { + width.value = entry.contentRect.width; + height.value = entry.contentRect.height; + } + }, options); + tryOnMounted(() => { + const ele = unrefElement(target); + if (ele && "offsetWidth" in ele) { + if (box === "content-box" && window) { + const cs = window.getComputedStyle(ele); + const padX = Number.parseFloat(cs.paddingLeft) + Number.parseFloat(cs.paddingRight); + const padY = Number.parseFloat(cs.paddingTop) + Number.parseFloat(cs.paddingBottom); + const bdX = Number.parseFloat(cs.borderLeftWidth) + Number.parseFloat(cs.borderRightWidth); + const bdY = Number.parseFloat(cs.borderTopWidth) + Number.parseFloat(cs.borderBottomWidth); + width.value = ele.offsetWidth - padX - bdX; + height.value = ele.offsetHeight - padY - bdY; + } else { + width.value = ele.offsetWidth; + height.value = ele.offsetHeight; + } + } else if (ele) { + width.value = initialSize.width; + height.value = initialSize.height; + } + }); + const stop2 = watch(() => unrefElement(target), (ele) => { + width.value = ele ? initialSize.width : 0; + height.value = ele ? initialSize.height : 0; + }); + function stop() { + stop1(); + stop2(); + } + return { + width, + height, + stop + }; +} +//#endregion +//#region useIntersectionObserver/index.ts +/** +* Detects changes to a target element's visibility. +* +* @see https://vueuse.org/useIntersectionObserver +* @param target +* @param callback +* @param options +*/ +function useIntersectionObserver(target, callback, options = {}) { + const { root, rootMargin, threshold = 0, window = defaultWindow, immediate = true } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "IntersectionObserver" in window); + const targets = computed(() => { + const _target = toValue(target); + return toArray(_target).map(unrefElement).filter(notNullish); + }); + let cleanup = noop; + const isActive = shallowRef(immediate); + const stopWatch = isSupported.value ? watch(() => [ + targets.value, + unrefElement(root), + toValue(rootMargin), + isActive.value + ], ([targets, root, rootMargin]) => { + cleanup(); + if (!isActive.value) return; + if (!targets.length) return; + const observer = new IntersectionObserver(callback, { + root: unrefElement(root), + rootMargin, + threshold + }); + targets.forEach((el) => el && observer.observe(el)); + cleanup = () => { + observer.disconnect(); + cleanup = noop; + }; + }, { + immediate, + flush: "post" + }) : noop; + const stop = () => { + cleanup(); + stopWatch(); + isActive.value = false; + }; + tryOnScopeDispose(stop); + return { + isSupported, + isActive, + pause() { + cleanup(); + isActive.value = false; + }, + resume() { + isActive.value = true; + }, + stop + }; +} +//#endregion +//#region useElementVisibility/index.ts +function useElementVisibility(element, options = {}) { + const { window = defaultWindow, scrollTarget, threshold = 0, rootMargin, once = false, initialValue = false } = options; + const isVisible = shallowRef(initialValue); + const observerController = useIntersectionObserver(element, (intersectionObserverEntries) => { + let isIntersecting = isVisible.value; + let latestTime = 0; + for (const entry of intersectionObserverEntries) if (entry.time >= latestTime) { + latestTime = entry.time; + isIntersecting = entry.isIntersecting; + } + isVisible.value = isIntersecting; + if (once) watchOnce(isVisible, () => { + observerController.stop(); + }); + }, { + root: scrollTarget, + window, + threshold, + rootMargin + }); + return options.controls ? { + ...observerController, + isVisible + } : isVisible; +} +//#endregion +//#region useEventBus/internal.ts +const events = /* @__PURE__ */ new Map(); +//#endregion +//#region useEventBus/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useEventBus(key) { + function on(listener) { + const listeners = events.get(key) || /* @__PURE__ */ new Set(); + listeners.add(listener); + events.set(key, listeners); + const _off = () => off(listener); + tryOnScopeDispose(_off); + return _off; + } + function once(listener) { + function _listener(...args) { + off(_listener); + listener(...args); + } + return on(_listener); + } + function off(listener) { + const listeners = events.get(key); + if (!listeners) return; + listeners.delete(listener); + if (!listeners.size) reset(); + } + function reset() { + events.delete(key); + } + function emit(event, payload) { + var _events$get; + (_events$get = events.get(key)) === null || _events$get === void 0 || _events$get.forEach((v) => v(event, payload)); + } + return { + on, + once, + off, + emit, + reset + }; +} +//#endregion +//#region useEventSource/index.ts +function resolveNestedOptions$1(options) { + if (options === true) return {}; + return options; +} +const DEFAULT_EVENT = "message"; +/** +* Reactive wrapper for EventSource. +* +* @see https://vueuse.org/useEventSource +* @see https://developer.mozilla.org/en-US/docs/Web/API/EventSource/EventSource EventSource +* @param url +* @param events +* @param options +*/ +function useEventSource(url, events = [], options = {}) { + const event = shallowRef(null); + const data = shallowRef(null); + const status = shallowRef("CONNECTING"); + const eventSource = shallowRef(null); + const error = shallowRef(null); + const urlRef = toRef(url); + const lastEventId = shallowRef(null); + let explicitlyClosed = false; + let retried = 0; + const { withCredentials = false, immediate = true, autoConnect = true, autoReconnect, serializer = { read: (v) => v } } = options; + const close = () => { + if (isClient && eventSource.value) { + eventSource.value.close(); + eventSource.value = null; + status.value = "CLOSED"; + explicitlyClosed = true; + } + }; + const _init = () => { + if (explicitlyClosed || typeof urlRef.value === "undefined") return; + const es = new EventSource(urlRef.value, { withCredentials }); + status.value = "CONNECTING"; + eventSource.value = es; + es.onopen = () => { + status.value = "OPEN"; + error.value = null; + }; + es.onerror = (e) => { + status.value = "CLOSED"; + error.value = e; + if (es.readyState === 2 && !explicitlyClosed && autoReconnect) { + es.close(); + const { retries = -1, delay = 1e3, onFailed } = resolveNestedOptions$1(autoReconnect); + retried += 1; + if (typeof retries === "number" && (retries < 0 || retried < retries)) setTimeout(_init, delay); + else if (typeof retries === "function" && retries()) setTimeout(_init, delay); + else onFailed === null || onFailed === void 0 || onFailed(); + } + }; + events = events.length > 0 ? events : [DEFAULT_EVENT]; + for (const event_name of events) useEventListener(es, event_name, (e) => { + var _serializer$read, _e$lastEventId; + event.value = event_name; + data.value = (_serializer$read = serializer.read(e.data)) !== null && _serializer$read !== void 0 ? _serializer$read : null; + lastEventId.value = (_e$lastEventId = e.lastEventId) !== null && _e$lastEventId !== void 0 ? _e$lastEventId : null; + }, { passive: true }); + }; + const open = () => { + if (!isClient) return; + close(); + explicitlyClosed = false; + retried = 0; + _init(); + }; + if (immediate) open(); + if (autoConnect) watch(urlRef, open); + tryOnScopeDispose(close); + return { + eventSource, + event, + data, + status, + error, + open, + close, + lastEventId + }; +} +//#endregion +//#region useEyeDropper/index.ts +/** +* Reactive [EyeDropper API](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API) +* +* @see https://vueuse.org/useEyeDropper +* +* @__NO_SIDE_EFFECTS__ +*/ +function useEyeDropper(options = {}) { + const { initialValue = "" } = options; + const isSupported = /* @__PURE__ */ useSupported(() => typeof window !== "undefined" && "EyeDropper" in window); + const sRGBHex = shallowRef(initialValue); + async function open(openOptions) { + if (!isSupported.value) return; + const result = await new window.EyeDropper().open(openOptions); + sRGBHex.value = result.sRGBHex; + return result; + } + return { + isSupported, + sRGBHex, + open + }; +} +//#endregion +//#region useFavicon/index.ts +function useFavicon(newIcon = null, options = {}) { + const { baseUrl = "", rel = "icon", document = defaultDocument } = options; + const favicon = toRef(newIcon); + const applyIcon = (icon) => { + const elements = document === null || document === void 0 ? void 0 : document.head.querySelectorAll(`link[rel*="${rel}"]`); + if (!elements || elements.length === 0) { + const link = document === null || document === void 0 ? void 0 : document.createElement("link"); + if (link) { + link.rel = rel; + link.href = `${baseUrl}${icon}`; + link.type = `image/${icon.split(".").pop()}`; + document === null || document === void 0 || document.head.append(link); + } + return; + } + elements === null || elements === void 0 || elements.forEach((el) => el.href = `${baseUrl}${icon}`); + }; + watch(favicon, (i, o) => { + if (typeof i === "string" && i !== o) applyIcon(i); + }, { immediate: true }); + return favicon; +} +//#endregion +//#region useFetch/index.ts +const payloadMapping = { + json: "application/json", + text: "text/plain" +}; +/** +* !!!IMPORTANT!!! +* +* If you update the UseFetchOptions interface, be sure to update this object +* to include the new options +*/ +function isFetchOptions(obj) { + return obj && containsProp(obj, "immediate", "refetch", "initialData", "timeout", "beforeFetch", "afterFetch", "onFetchError", "fetch", "updateDataOnError"); +} +const reAbsolute = /^(?:[a-z][a-z\d+\-.]*:)?\/\//i; +function isAbsoluteURL(url) { + return reAbsolute.test(url); +} +function headersToObject(headers) { + if (typeof Headers !== "undefined" && headers instanceof Headers) return Object.fromEntries(headers.entries()); + return headers; +} +function combineCallbacks(combination, ...callbacks) { + if (combination === "overwrite") return async (ctx) => { + let callback; + for (let i = callbacks.length - 1; i >= 0; i--) if (callbacks[i] != null) { + callback = callbacks[i]; + break; + } + if (callback) return { + ...ctx, + ...await callback(ctx) + }; + return ctx; + }; + else return async (ctx) => { + for (const callback of callbacks) if (callback) ctx = { + ...ctx, + ...await callback(ctx) + }; + return ctx; + }; +} +function createFetch(config = {}) { + const _combination = config.combination || "chain"; + const _options = config.options || {}; + const _fetchOptions = config.fetchOptions || {}; + function useFactoryFetch(url, ...args) { + const computedUrl = computed(() => { + const baseUrl = toValue(config.baseUrl); + const targetUrl = toValue(url); + return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl; + }); + let options = _options; + let fetchOptions = _fetchOptions; + if (args.length > 0) { + if (isFetchOptions(args[0])) options = { + ...options, + ...args[0], + beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch), + afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch), + onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError) + }; + else fetchOptions = { + ...fetchOptions, + ...args[0], + headers: { + ...headersToObject(fetchOptions.headers) || {}, + ...headersToObject(args[0].headers) || {} + } + }; + } + if (args.length > 1 && isFetchOptions(args[1])) options = { + ...options, + ...args[1], + beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch), + afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch), + onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError) + }; + return useFetch(computedUrl, fetchOptions, options); + } + return useFactoryFetch; +} +function useFetch(url, ...args) { + var _defaultWindow$fetch, _globalThis; + const supportsAbort = typeof AbortController === "function"; + let fetchOptions = {}; + let options = { + immediate: true, + refetch: false, + timeout: 0, + updateDataOnError: false + }; + const config = { + method: "GET", + type: "text", + payload: void 0 + }; + if (args.length > 0) { + if (isFetchOptions(args[0])) options = { + ...options, + ...args[0] + }; + else fetchOptions = args[0]; + } + if (args.length > 1) { + if (isFetchOptions(args[1])) options = { + ...options, + ...args[1] + }; + } + const { fetch = (_defaultWindow$fetch = defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.fetch) !== null && _defaultWindow$fetch !== void 0 ? _defaultWindow$fetch : (_globalThis = globalThis) === null || _globalThis === void 0 ? void 0 : _globalThis.fetch, initialData, timeout } = options; + const responseEvent = createEventHook(); + const errorEvent = createEventHook(); + const finallyEvent = createEventHook(); + const isFinished = shallowRef(false); + const isFetching = shallowRef(false); + const aborted = shallowRef(false); + const statusCode = shallowRef(null); + const response = shallowRef(null); + const error = shallowRef(null); + const data = shallowRef(initialData || null); + const canAbort = computed(() => supportsAbort && isFetching.value); + let controller; + let timer; + const abort = (reason) => { + if (supportsAbort) { + controller === null || controller === void 0 || controller.abort(reason); + controller = new AbortController(); + controller.signal.onabort = () => aborted.value = true; + fetchOptions = { + ...fetchOptions, + signal: controller.signal + }; + } + }; + const loading = (isLoading) => { + isFetching.value = isLoading; + isFinished.value = !isLoading; + }; + if (timeout) timer = useTimeoutFn(abort, timeout, { immediate: false }); + let executeCounter = 0; + const execute = async (throwOnFailed = false) => { + var _context$options; + abort(); + loading(true); + error.value = null; + statusCode.value = null; + aborted.value = false; + executeCounter += 1; + const currentExecuteCounter = executeCounter; + const defaultFetchOptions = { + method: config.method, + headers: {} + }; + const payload = toValue(config.payload); + if (payload) { + var _payloadMapping$confi; + const headers = headersToObject(defaultFetchOptions.headers); + const proto = Object.getPrototypeOf(payload); + if (!config.payloadType && payload && (proto === Object.prototype || Array.isArray(proto)) && !(payload instanceof FormData)) config.payloadType = "json"; + if (config.payloadType) headers["Content-Type"] = (_payloadMapping$confi = payloadMapping[config.payloadType]) !== null && _payloadMapping$confi !== void 0 ? _payloadMapping$confi : config.payloadType; + defaultFetchOptions.body = config.payloadType === "json" ? JSON.stringify(payload) : payload; + } + let isCanceled = false; + const context = { + url: toValue(url), + options: { + ...defaultFetchOptions, + ...fetchOptions + }, + cancel: () => { + isCanceled = true; + } + }; + if (options.beforeFetch) Object.assign(context, await options.beforeFetch(context)); + if (isCanceled || !fetch) { + loading(false); + return Promise.resolve(null); + } + let responseData = null; + if (timer) timer.start(); + return fetch(context.url, { + ...defaultFetchOptions, + ...context.options, + headers: { + ...headersToObject(defaultFetchOptions.headers), + ...headersToObject((_context$options = context.options) === null || _context$options === void 0 ? void 0 : _context$options.headers) + } + }).then(async (fetchResponse) => { + if (currentExecuteCounter === executeCounter) { + response.value = fetchResponse; + statusCode.value = fetchResponse.status; + } + responseData = await fetchResponse.clone()[config.type](); + if (!fetchResponse.ok) { + if (currentExecuteCounter === executeCounter) data.value = initialData || null; + throw new Error(fetchResponse.statusText); + } + if (options.afterFetch) ({data: responseData} = await options.afterFetch({ + data: responseData, + response: fetchResponse, + context, + execute + })); + if (currentExecuteCounter === executeCounter) data.value = responseData; + responseEvent.trigger(fetchResponse); + return fetchResponse; + }).catch(async (fetchError) => { + let errorData = fetchError.message || fetchError.name; + if (options.onFetchError) ({error: errorData, data: responseData} = await options.onFetchError({ + data: responseData, + error: fetchError, + response: response.value, + context, + execute + })); + if (currentExecuteCounter === executeCounter) { + error.value = errorData; + if (options.updateDataOnError) data.value = responseData; + } + errorEvent.trigger(fetchError); + if (throwOnFailed) throw fetchError; + return null; + }).finally(() => { + if (currentExecuteCounter === executeCounter) loading(false); + if (timer) timer.stop(); + finallyEvent.trigger(null); + }); + }; + const refetch = toRef(options.refetch); + watch([refetch, toRef(url)], ([refetch]) => refetch && execute(), { deep: true }); + const shell = { + isFinished: shallowReadonly(isFinished), + isFetching: shallowReadonly(isFetching), + statusCode, + response, + error, + data, + canAbort, + aborted, + abort, + execute, + onFetchResponse: responseEvent.on, + onFetchError: errorEvent.on, + onFetchFinally: finallyEvent.on, + get: setMethod("GET"), + put: setMethod("PUT"), + post: setMethod("POST"), + delete: setMethod("DELETE"), + patch: setMethod("PATCH"), + head: setMethod("HEAD"), + options: setMethod("OPTIONS"), + json: setType("json"), + text: setType("text"), + blob: setType("blob"), + arrayBuffer: setType("arrayBuffer"), + formData: setType("formData") + }; + function setMethod(method) { + return (payload, payloadType) => { + if (!isFetching.value) { + config.method = method; + config.payload = payload; + config.payloadType = payloadType; + if (isRef(config.payload)) watch([refetch, toRef(config.payload)], ([refetch]) => refetch && execute(), { deep: true }); + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; + } + }; + } + function waitUntilFinished() { + return new Promise((resolve, reject) => { + until(isFinished).toBe(true).then(() => resolve(shell)).catch(reject); + }); + } + function setType(type) { + return () => { + if (!isFetching.value) { + config.type = type; + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; + } + }; + } + if (options.immediate) Promise.resolve().then(() => execute()); + return { + ...shell, + then(onFulfilled, onRejected) { + return waitUntilFinished().then(onFulfilled, onRejected); + } + }; +} +function joinPaths(start, end) { + if (!start.endsWith("/") && !end.startsWith("/")) return `${start}/${end}`; + if (start.endsWith("/") && end.startsWith("/")) return `${start.slice(0, -1)}${end}`; + return `${start}${end}`; +} +//#endregion +//#region useFileDialog/index.ts +const DEFAULT_OPTIONS = { + multiple: true, + accept: "*", + reset: false, + directory: false +}; +function prepareInitialFiles(files) { + if (!files) return null; + if (files instanceof FileList) return files; + const dt = new DataTransfer(); + for (const file of files) dt.items.add(file); + return dt.files; +} +/** +* Open file dialog with ease. +* +* @see https://vueuse.org/useFileDialog +* @param options +*/ +function useFileDialog(options = {}) { + const { document = defaultDocument } = options; + const files = ref(prepareInitialFiles(options.initialFiles)); + const { on: onChange, trigger: changeTrigger } = createEventHook(); + const { on: onCancel, trigger: cancelTrigger } = createEventHook(); + const inputRef = computed(() => { + var _unrefElement; + const input = (_unrefElement = unrefElement(options.input)) !== null && _unrefElement !== void 0 ? _unrefElement : document ? document.createElement("input") : void 0; + if (input) { + input.type = "file"; + input.onchange = (event) => { + const result = event.target; + files.value = result.files; + changeTrigger(files.value); + }; + input.oncancel = () => { + cancelTrigger(); + }; + } + return input; + }); + const reset = () => { + files.value = null; + if (inputRef.value && inputRef.value.value) { + inputRef.value.value = ""; + changeTrigger(null); + } + }; + const applyOptions = (options) => { + const el = inputRef.value; + if (!el) return; + el.multiple = toValue(options.multiple); + el.accept = toValue(options.accept); + el.webkitdirectory = toValue(options.directory); + if (hasOwn(options, "capture")) el.capture = toValue(options.capture); + }; + const open = (localOptions) => { + const el = inputRef.value; + if (!el) return; + const mergedOptions = { + ...DEFAULT_OPTIONS, + ...options, + ...localOptions + }; + applyOptions(mergedOptions); + if (toValue(mergedOptions.reset)) reset(); + el.click(); + }; + watchEffect(() => { + applyOptions(options); + }); + return { + files: readonly(files), + open, + reset, + onCancel, + onChange + }; +} +//#endregion +//#region useFileSystemAccess/index.ts +function useFileSystemAccess(options = {}) { + const { window: _window = defaultWindow, dataType = "Text" } = options; + const window = _window; + const isSupported = /* @__PURE__ */ useSupported(() => window && "showSaveFilePicker" in window && "showOpenFilePicker" in window); + const fileHandle = shallowRef(); + const data = shallowRef(); + const file = shallowRef(); + const fileName = computed(() => { + var _file$value$name, _file$value; + return (_file$value$name = (_file$value = file.value) === null || _file$value === void 0 ? void 0 : _file$value.name) !== null && _file$value$name !== void 0 ? _file$value$name : ""; + }); + const fileMIME = computed(() => { + var _file$value$type, _file$value2; + return (_file$value$type = (_file$value2 = file.value) === null || _file$value2 === void 0 ? void 0 : _file$value2.type) !== null && _file$value$type !== void 0 ? _file$value$type : ""; + }); + const fileSize = computed(() => { + var _file$value$size, _file$value3; + return (_file$value$size = (_file$value3 = file.value) === null || _file$value3 === void 0 ? void 0 : _file$value3.size) !== null && _file$value$size !== void 0 ? _file$value$size : 0; + }); + const fileLastModified = computed(() => { + var _file$value$lastModif, _file$value4; + return (_file$value$lastModif = (_file$value4 = file.value) === null || _file$value4 === void 0 ? void 0 : _file$value4.lastModified) !== null && _file$value$lastModif !== void 0 ? _file$value$lastModif : 0; + }); + async function open(_options = {}) { + if (!isSupported.value) return; + const [handle] = await window.showOpenFilePicker({ + ...toValue(options), + ..._options + }); + fileHandle.value = handle; + await updateData(); + } + async function create(_options = {}) { + if (!isSupported.value) return; + fileHandle.value = await window.showSaveFilePicker({ + ...options, + ..._options + }); + data.value = void 0; + await updateData(); + } + async function save(_options = {}) { + if (!isSupported.value) return; + if (!fileHandle.value) return saveAs(_options); + if (data.value) { + const writableStream = await fileHandle.value.createWritable(); + await writableStream.write(data.value); + await writableStream.close(); + } + await updateFile(); + } + async function saveAs(_options = {}) { + if (!isSupported.value) return; + fileHandle.value = await window.showSaveFilePicker({ + ...options, + ..._options + }); + if (data.value) { + const writableStream = await fileHandle.value.createWritable(); + await writableStream.write(data.value); + await writableStream.close(); + } + await updateFile(); + } + async function updateFile() { + var _fileHandle$value; + file.value = await ((_fileHandle$value = fileHandle.value) === null || _fileHandle$value === void 0 ? void 0 : _fileHandle$value.getFile()); + } + async function updateData() { + var _file$value5, _file$value6; + await updateFile(); + const type = toValue(dataType); + if (type === "Text") data.value = await ((_file$value5 = file.value) === null || _file$value5 === void 0 ? void 0 : _file$value5.text()); + else if (type === "ArrayBuffer") data.value = await ((_file$value6 = file.value) === null || _file$value6 === void 0 ? void 0 : _file$value6.arrayBuffer()); + else if (type === "Blob") data.value = file.value; + } + watch(() => toValue(dataType), updateData); + return { + isSupported, + data, + file, + fileName, + fileMIME, + fileSize, + fileLastModified, + open, + create, + save, + saveAs, + updateData + }; +} +//#endregion +//#region useFocus/index.ts +/** +* Track or set the focus state of a DOM element. +* +* @see https://vueuse.org/useFocus +* @param target The target element for the focus and blur events. +* @param options +*/ +function useFocus(target, options = {}) { + const { initialValue = false, focusVisible = false, preventScroll = false } = options; + const innerFocused = shallowRef(false); + const targetElement = computed(() => unrefElement(target)); + const listenerOptions = { passive: true }; + useEventListener(targetElement, "focus", (event) => { + var _matches, _ref; + if (!focusVisible || ((_matches = (_ref = event.target).matches) === null || _matches === void 0 ? void 0 : _matches.call(_ref, ":focus-visible"))) innerFocused.value = true; + }, listenerOptions); + useEventListener(targetElement, "blur", () => innerFocused.value = false, listenerOptions); + const focused = computed({ + get: () => innerFocused.value, + set(value) { + var _targetElement$value, _targetElement$value2; + if (!value && innerFocused.value) (_targetElement$value = targetElement.value) === null || _targetElement$value === void 0 || _targetElement$value.blur(); + else if (value && !innerFocused.value) (_targetElement$value2 = targetElement.value) === null || _targetElement$value2 === void 0 || _targetElement$value2.focus({ preventScroll }); + } + }); + watch(targetElement, () => { + focused.value = initialValue; + }, { + immediate: true, + flush: "post" + }); + return { focused }; +} +//#endregion +//#region useFocusWithin/index.ts +const EVENT_FOCUS_IN = "focusin"; +const EVENT_FOCUS_OUT = "focusout"; +const PSEUDO_CLASS_FOCUS_WITHIN = ":focus-within"; +/** +* Track if focus is contained within the target element +* +* @see https://vueuse.org/useFocusWithin +* @param target The target element to track +* @param options Focus within options +*/ +function useFocusWithin(target, options = {}) { + const { window = defaultWindow } = options; + const targetElement = computed(() => unrefElement(target)); + const _focused = shallowRef(false); + const focused = computed(() => _focused.value); + const activeElement = useActiveElement(options); + if (!window || !activeElement.value) return { focused }; + const listenerOptions = { passive: true }; + useEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true, listenerOptions); + useEventListener(targetElement, EVENT_FOCUS_OUT, () => { + var _targetElement$value$, _targetElement$value, _targetElement$value$2; + return _focused.value = (_targetElement$value$ = (_targetElement$value = targetElement.value) === null || _targetElement$value === void 0 || (_targetElement$value$2 = _targetElement$value.matches) === null || _targetElement$value$2 === void 0 ? void 0 : _targetElement$value$2.call(_targetElement$value, PSEUDO_CLASS_FOCUS_WITHIN)) !== null && _targetElement$value$ !== void 0 ? _targetElement$value$ : false; + }, listenerOptions); + return { focused }; +} +//#endregion +//#region useFps/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useFps(options) { + var _options$every; + const fps = shallowRef(0); + if (typeof performance === "undefined") return fps; + const every = (_options$every = options === null || options === void 0 ? void 0 : options.every) !== null && _options$every !== void 0 ? _options$every : 10; + let last = performance.now(); + let ticks = 0; + useRafFn(() => { + ticks += 1; + if (ticks >= every) { + const now = performance.now(); + const diff = now - last; + fps.value = Math.round(1e3 / (diff / ticks)); + last = now; + ticks = 0; + } + }); + return fps; +} +//#endregion +//#region useFullscreen/index.ts +const eventHandlers = [ + "fullscreenchange", + "webkitfullscreenchange", + "webkitendfullscreen", + "mozfullscreenchange", + "MSFullscreenChange" +]; +/** +* Reactive Fullscreen API. +* +* @see https://vueuse.org/useFullscreen +* @param target +* @param options +*/ +function useFullscreen(target, options = {}) { + const { document = defaultDocument, autoExit = false } = options; + const targetRef = computed(() => { + var _unrefElement; + return (_unrefElement = unrefElement(target)) !== null && _unrefElement !== void 0 ? _unrefElement : document === null || document === void 0 ? void 0 : document.documentElement; + }); + const isFullscreen = shallowRef(false); + const requestMethod = computed(() => { + return [ + "requestFullscreen", + "webkitRequestFullscreen", + "webkitEnterFullscreen", + "webkitEnterFullScreen", + "webkitRequestFullScreen", + "mozRequestFullScreen", + "msRequestFullscreen" + ].find((m) => document && m in document || targetRef.value && m in targetRef.value); + }); + const exitMethod = computed(() => { + return [ + "exitFullscreen", + "webkitExitFullscreen", + "webkitExitFullScreen", + "webkitCancelFullScreen", + "mozCancelFullScreen", + "msExitFullscreen" + ].find((m) => document && m in document || targetRef.value && m in targetRef.value); + }); + const fullscreenEnabled = computed(() => { + return [ + "fullScreen", + "webkitIsFullScreen", + "webkitDisplayingFullscreen", + "mozFullScreen", + "msFullscreenElement" + ].find((m) => document && m in document || targetRef.value && m in targetRef.value); + }); + const fullscreenElementMethod = [ + "fullscreenElement", + "webkitFullscreenElement", + "mozFullScreenElement", + "msFullscreenElement" + ].find((m) => document && m in document); + const isSupported = /* @__PURE__ */ useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0); + const isCurrentElementFullScreen = () => { + if (fullscreenElementMethod) return (document === null || document === void 0 ? void 0 : document[fullscreenElementMethod]) === targetRef.value; + return false; + }; + const isElementFullScreen = () => { + if (fullscreenEnabled.value) { + if (document && document[fullscreenEnabled.value] != null) return document[fullscreenEnabled.value]; + else { + const target = targetRef.value; + if ((target === null || target === void 0 ? void 0 : target[fullscreenEnabled.value]) != null) return Boolean(target[fullscreenEnabled.value]); + } + } + return false; + }; + async function exit() { + if (!isSupported.value || !isFullscreen.value) return; + if (exitMethod.value) { + if ((document === null || document === void 0 ? void 0 : document[exitMethod.value]) != null) await document[exitMethod.value](); + else { + const target = targetRef.value; + if ((target === null || target === void 0 ? void 0 : target[exitMethod.value]) != null) await target[exitMethod.value](); + } + } + isFullscreen.value = false; + } + async function enter() { + if (!isSupported.value || isFullscreen.value) return; + if (isElementFullScreen()) await exit(); + const target = targetRef.value; + if (requestMethod.value && (target === null || target === void 0 ? void 0 : target[requestMethod.value]) != null) { + await target[requestMethod.value](); + isFullscreen.value = true; + } + } + async function toggle() { + await (isFullscreen.value ? exit() : enter()); + } + const handlerCallback = () => { + const isElementFullScreenValue = isElementFullScreen(); + if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) isFullscreen.value = isElementFullScreenValue; + }; + const listenerOptions = { + capture: false, + passive: true + }; + useEventListener(document, eventHandlers, handlerCallback, listenerOptions); + useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, listenerOptions); + tryOnMounted(handlerCallback, false); + if (autoExit) tryOnScopeDispose(exit); + return { + isSupported, + isFullscreen, + enter, + exit, + toggle + }; +} +//#endregion +//#region useGamepad/index.ts +/** +* Maps a standard standard gamepad to an Xbox 360 Controller. +*/ +function mapGamepadToXbox360Controller(gamepad) { + return computed(() => { + if (gamepad.value) return { + buttons: { + a: gamepad.value.buttons[0], + b: gamepad.value.buttons[1], + x: gamepad.value.buttons[2], + y: gamepad.value.buttons[3] + }, + bumper: { + left: gamepad.value.buttons[4], + right: gamepad.value.buttons[5] + }, + triggers: { + left: gamepad.value.buttons[6], + right: gamepad.value.buttons[7] + }, + stick: { + left: { + horizontal: gamepad.value.axes[0], + vertical: gamepad.value.axes[1], + button: gamepad.value.buttons[10] + }, + right: { + horizontal: gamepad.value.axes[2], + vertical: gamepad.value.axes[3], + button: gamepad.value.buttons[11] + } + }, + dpad: { + up: gamepad.value.buttons[12], + down: gamepad.value.buttons[13], + left: gamepad.value.buttons[14], + right: gamepad.value.buttons[15] + }, + back: gamepad.value.buttons[8], + start: gamepad.value.buttons[9] + }; + return null; + }); +} +/* @__NO_SIDE_EFFECTS__ */ +function useGamepad(options = {}) { + const { navigator = defaultNavigator } = options; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "getGamepads" in navigator); + const gamepads = ref([]); + const onConnectedHook = createEventHook(); + const onDisconnectedHook = createEventHook(); + const stateFromGamepad = (gamepad) => { + const hapticActuators = []; + const vibrationActuator = "vibrationActuator" in gamepad ? gamepad.vibrationActuator : null; + if (vibrationActuator) hapticActuators.push(vibrationActuator); + if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators); + return { + id: gamepad.id, + index: gamepad.index, + connected: gamepad.connected, + mapping: gamepad.mapping, + timestamp: gamepad.timestamp, + vibrationActuator: gamepad.vibrationActuator, + hapticActuators, + axes: gamepad.axes.map((axes) => axes), + buttons: gamepad.buttons.map((button) => ({ + pressed: button.pressed, + touched: button.touched, + value: button.value + })) + }; + }; + const updateGamepadState = () => { + const _gamepads = (navigator === null || navigator === void 0 ? void 0 : navigator.getGamepads()) || []; + for (const gamepad of _gamepads) { + if (!gamepad) continue; + const index = gamepads.value.findIndex((x) => x.index === gamepad.index); + if (index > -1) gamepads.value[index] = stateFromGamepad(gamepad); + } + }; + const { isActive, pause, resume } = useRafFn(updateGamepadState); + const onGamepadConnected = (gamepad) => { + if (!gamepads.value.some(({ index }) => index === gamepad.index)) { + gamepads.value.push(stateFromGamepad(gamepad)); + onConnectedHook.trigger(gamepad.index); + } + resume(); + }; + const onGamepadDisconnected = (gamepad) => { + gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index); + onDisconnectedHook.trigger(gamepad.index); + }; + const listenerOptions = { passive: true }; + useEventListener("gamepadconnected", (e) => onGamepadConnected(e.gamepad), listenerOptions); + useEventListener("gamepaddisconnected", (e) => onGamepadDisconnected(e.gamepad), listenerOptions); + tryOnMounted(() => { + const _gamepads = (navigator === null || navigator === void 0 ? void 0 : navigator.getGamepads()) || []; + for (const gamepad of _gamepads) if (gamepad && gamepads.value[gamepad.index]) onGamepadConnected(gamepad); + }); + pause(); + return { + isSupported, + onConnected: onConnectedHook.on, + onDisconnected: onDisconnectedHook.on, + gamepads, + pause, + resume, + isActive + }; +} +//#endregion +//#region useGeolocation/index.ts +/** +* Reactive Geolocation API. +* +* @see https://vueuse.org/useGeolocation +* @param options +*/ +function useGeolocation(options = {}) { + const { enableHighAccuracy = true, maximumAge = 3e4, timeout = 27e3, navigator = defaultNavigator, immediate = true } = options; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "geolocation" in navigator); + const locatedAt = shallowRef(null); + const error = shallowRef(null); + const coords = shallowRef({ + accuracy: 0, + latitude: Number.POSITIVE_INFINITY, + longitude: Number.POSITIVE_INFINITY, + altitude: null, + altitudeAccuracy: null, + heading: null, + speed: null + }); + function updatePosition(position) { + locatedAt.value = position.timestamp; + coords.value = position.coords; + error.value = null; + } + let watcher; + function resume() { + if (isSupported.value) watcher = navigator.geolocation.watchPosition(updatePosition, (err) => error.value = err, { + enableHighAccuracy, + maximumAge, + timeout + }); + } + if (immediate) resume(); + function pause() { + if (watcher && navigator) navigator.geolocation.clearWatch(watcher); + } + tryOnScopeDispose(() => { + pause(); + }); + return { + isSupported, + coords, + locatedAt, + error, + resume, + pause + }; +} +//#endregion +//#region useIdle/index.ts +const defaultEvents$1 = [ + "mousemove", + "mousedown", + "resize", + "keydown", + "touchstart", + "wheel" +]; +const oneMinute = 6e4; +/** +* Tracks whether the user is being inactive. +* +* @see https://vueuse.org/useIdle +* @param timeout default to 1 minute +* @param options IdleOptions +*/ +function useIdle(timeout = oneMinute, options = {}) { + const { initialState = false, listenForVisibilityChange = true, events = defaultEvents$1, window = defaultWindow, eventFilter = throttleFilter(50) } = options; + const idle = shallowRef(initialState); + const lastActive = shallowRef(timestamp()); + const isPending = shallowRef(false); + let timer; + const reset = () => { + idle.value = false; + clearTimeout(timer); + timer = setTimeout(() => idle.value = true, timeout); + }; + const onEvent = createFilterWrapper(eventFilter, () => { + lastActive.value = timestamp(); + reset(); + }); + if (window) { + const document = window.document; + const listenerOptions = { passive: true }; + for (const event of events) useEventListener(window, event, () => { + if (!isPending.value) return; + onEvent(); + }, listenerOptions); + if (listenForVisibilityChange) useEventListener(document, "visibilitychange", () => { + if (document.hidden || !isPending.value) return; + onEvent(); + }, listenerOptions); + start(); + } + function start() { + if (isPending.value) return; + isPending.value = true; + if (!initialState) reset(); + } + function stop() { + idle.value = initialState; + clearTimeout(timer); + isPending.value = false; + } + return { + idle, + lastActive, + reset, + stop, + start, + isPending: shallowReadonly(isPending) + }; +} +//#endregion +//#region useImage/index.ts +async function loadImage(options) { + return new Promise((resolve, reject) => { + const img = new Image(); + const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy, width, height, decoding, fetchPriority, ismap, usemap } = options; + img.src = src; + if (srcset != null) img.srcset = srcset; + if (sizes != null) img.sizes = sizes; + if (clazz != null) img.className = clazz; + if (loading != null) img.loading = loading; + if (crossorigin != null) img.crossOrigin = crossorigin; + if (referrerPolicy != null) img.referrerPolicy = referrerPolicy; + if (width != null) img.width = width; + if (height != null) img.height = height; + if (decoding != null) img.decoding = decoding; + if (fetchPriority != null) img.fetchPriority = fetchPriority; + if (ismap != null) img.isMap = ismap; + if (usemap != null) img.useMap = usemap; + img.onload = () => resolve(img); + img.onerror = reject; + }); +} +/** +* Reactive load an image in the browser, you can wait the result to display it or show a fallback. +* +* @see https://vueuse.org/useImage +* @param options Image attributes, as used in the <img> tag +* @param asyncStateOptions +*/ +function useImage(options, asyncStateOptions = {}) { + const state = useAsyncState(() => loadImage(toValue(options)), void 0, { + resetOnExecute: true, + ...asyncStateOptions + }); + watch(() => toValue(options), () => state.execute(asyncStateOptions.delay), { deep: true }); + return state; +} +//#endregion +//#region _resolve-element.ts +/** +* Resolves an element from a given element, window, or document. +* +* @internal +*/ +function resolveElement(el) { + if (typeof Window !== "undefined" && el instanceof Window) return el.document.documentElement; + if (typeof Document !== "undefined" && el instanceof Document) return el.documentElement; + return el; +} +//#endregion +//#region useScroll/index.ts +/** +* We have to check if the scroll amount is close enough to some threshold in order to +* more accurately calculate arrivedState. This is because scrollTop/scrollLeft are non-rounded +* numbers, while scrollHeight/scrollWidth and clientHeight/clientWidth are rounded. +* https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#determine_if_an_element_has_been_totally_scrolled +*/ +const ARRIVED_STATE_THRESHOLD_PIXELS = 1; +/** +* Reactive scroll. +* +* @see https://vueuse.org/useScroll +* @param element +* @param options +*/ +function useScroll(element, options = {}) { + const { throttle = 0, idle = 200, onStop = noop, onScroll = noop, offset = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, observe: _observe = { mutation: false }, eventListenerOptions = { + capture: false, + passive: true + }, behavior = "auto", window = defaultWindow, onError = (e) => { + console.error(e); + } } = options; + const observe = typeof _observe === "boolean" ? { mutation: _observe } : _observe; + const internalX = shallowRef(0); + const internalY = shallowRef(0); + const x = computed({ + get() { + return internalX.value; + }, + set(x) { + scrollTo(x, void 0); + } + }); + const y = computed({ + get() { + return internalY.value; + }, + set(y) { + scrollTo(void 0, y); + } + }); + function scrollTo(_x, _y) { + var _ref, _toValue, _toValue2, _document; + if (!window) return; + const _element = toValue(element); + if (!_element) return; + (_ref = _element instanceof Document ? window.document.body : _element) === null || _ref === void 0 || _ref.scrollTo({ + top: (_toValue = toValue(_y)) !== null && _toValue !== void 0 ? _toValue : y.value, + left: (_toValue2 = toValue(_x)) !== null && _toValue2 !== void 0 ? _toValue2 : x.value, + behavior: toValue(behavior) + }); + const scrollContainer = (_element === null || _element === void 0 || (_document = _element.document) === null || _document === void 0 ? void 0 : _document.documentElement) || (_element === null || _element === void 0 ? void 0 : _element.documentElement) || _element; + if (x != null) internalX.value = scrollContainer.scrollLeft; + if (y != null) internalY.value = scrollContainer.scrollTop; + } + const isScrolling = shallowRef(false); + const arrivedState = reactive({ + left: true, + right: false, + top: true, + bottom: false + }); + const directions = reactive({ + left: false, + right: false, + top: false, + bottom: false + }); + const onScrollEnd = (e) => { + if (!isScrolling.value) return; + isScrolling.value = false; + directions.left = false; + directions.right = false; + directions.top = false; + directions.bottom = false; + onStop(e); + }; + const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle); + const setArrivedState = (target) => { + var _document2; + if (!window) return; + const el = (target === null || target === void 0 || (_document2 = target.document) === null || _document2 === void 0 ? void 0 : _document2.documentElement) || (target === null || target === void 0 ? void 0 : target.documentElement) || unrefElement(target); + const { display, flexDirection, direction } = window.getComputedStyle(el); + const directionMultipler = direction === "rtl" ? -1 : 1; + const scrollLeft = el.scrollLeft; + directions.left = scrollLeft < internalX.value; + directions.right = scrollLeft > internalX.value; + const left = Math.abs(scrollLeft * directionMultipler) <= (offset.left || 0); + const right = Math.abs(scrollLeft * directionMultipler) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; + if (display === "flex" && flexDirection === "row-reverse") { + arrivedState.left = right; + arrivedState.right = left; + } else { + arrivedState.left = left; + arrivedState.right = right; + } + internalX.value = scrollLeft; + let scrollTop = el.scrollTop; + if (target === window.document && !scrollTop) scrollTop = window.document.body.scrollTop; + directions.top = scrollTop < internalY.value; + directions.bottom = scrollTop > internalY.value; + const top = Math.abs(scrollTop) <= (offset.top || 0); + const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; + /** + * reverse columns and rows behave exactly the other way around, + * bottom is treated as top and top is treated as the negative version of bottom + */ + if (display === "flex" && flexDirection === "column-reverse") { + arrivedState.top = bottom; + arrivedState.bottom = top; + } else { + arrivedState.top = top; + arrivedState.bottom = bottom; + } + internalY.value = scrollTop; + }; + const onScrollHandler = (e) => { + var _documentElement; + if (!window) return; + const eventTarget = (_documentElement = e.target.documentElement) !== null && _documentElement !== void 0 ? _documentElement : e.target; + setArrivedState(eventTarget); + isScrolling.value = true; + onScrollEndDebounced(e); + onScroll(e); + }; + useEventListener(element, "scroll", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions); + tryOnMounted(() => { + try { + const _element = toValue(element); + if (!_element) return; + setArrivedState(_element); + } catch (e) { + onError(e); + } + }); + if ((observe === null || observe === void 0 ? void 0 : observe.mutation) && element != null && element !== window && element !== document) useMutationObserver(element, () => { + const _element = toValue(element); + if (!_element) return; + setArrivedState(_element); + }, { + attributes: true, + childList: true, + subtree: true + }); + useEventListener(element, "scrollend", onScrollEnd, eventListenerOptions); + return { + x, + y, + isScrolling, + arrivedState, + directions, + measure() { + const _element = toValue(element); + if (window && _element) setArrivedState(_element); + } + }; +} +//#endregion +//#region useInfiniteScroll/index.ts +/** +* Reactive infinite scroll. +* +* @see https://vueuse.org/useInfiniteScroll +*/ +function useInfiniteScroll(element, onLoadMore, options = {}) { + var _options$distance; + const { direction = "bottom", interval = 100, canLoadMore = () => true } = options; + const state = reactive(useScroll(element, { + ...options, + offset: { + [direction]: (_options$distance = options.distance) !== null && _options$distance !== void 0 ? _options$distance : 0, + ...options.offset + } + })); + const promise = shallowRef(); + const isLoading = computed(() => !!promise.value); + const observedElement = computed(() => { + return resolveElement(toValue(element)); + }); + const isElementVisible = useElementVisibility(observedElement); + const canLoad = computed(() => { + if (!observedElement.value) return false; + return canLoadMore(observedElement.value); + }); + function checkAndLoad() { + state.measure(); + if (!observedElement.value || !isElementVisible.value || !canLoad.value || promise.value) return; + const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value; + const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth; + if (state.arrivedState[direction] || isNarrower) promise.value = Promise.all([onLoadMore(state), new Promise((resolve) => setTimeout(resolve, interval))]).finally(() => { + promise.value = null; + nextTick(() => checkAndLoad()); + }); + } + const stop = watch(() => [ + state.arrivedState[direction], + isElementVisible.value, + canLoad.value + ], checkAndLoad, { + immediate: true, + flush: "post" + }); + tryOnUnmounted(stop); + return { + isLoading, + reset() { + nextTick(() => checkAndLoad()); + } + }; +} +//#endregion +//#region useKeyModifier/index.ts +const defaultEvents = [ + "mousedown", + "mouseup", + "keydown", + "keyup" +]; +/* @__NO_SIDE_EFFECTS__ */ +function useKeyModifier(modifier, options = {}) { + const { events = defaultEvents, document = defaultDocument, initial = null } = options; + const state = shallowRef(initial); + if (document) events.forEach((listenerEvent) => { + useEventListener(document, listenerEvent, (evt) => { + if (typeof evt.getModifierState === "function") state.value = evt.getModifierState(modifier); + }, { passive: true }); + }); + return state; +} +//#endregion +//#region useLiveAnnouncer/index.ts +let announcerMap; +function getAnnouncerMap() { + var _announcerMap; + return (_announcerMap = announcerMap) !== null && _announcerMap !== void 0 ? _announcerMap : announcerMap = /* @__PURE__ */ new Map(); +} +function cleanup(idPrefix, document) { + const map = getAnnouncerMap(); + const count = map.get(idPrefix) || 0; + if (count <= 1) { + const container = document.getElementById(`${idPrefix}-container`); + if (container) container.remove(); + map.delete(idPrefix); + } else map.set(idPrefix, count - 1); +} +function useLiveAnnouncer(options = {}) { + const { idPrefix = "vueuse-live-announcer", window = defaultWindow } = options; + const document = window === null || window === void 0 ? void 0 : window.document; + const timers = /* @__PURE__ */ new Map(); + if (window && document) { + const map = getAnnouncerMap(); + const count = map.get(idPrefix) || 0; + map.set(idPrefix, count + 1); + tryOnScopeDispose(() => { + timers.forEach((timer) => window.clearTimeout(timer)); + timers.clear(); + cleanup(idPrefix, document); + }); + } + function ensureAnnouncer() { + if (!document) return; + let container = document.getElementById(`${idPrefix}-container`); + if (!container) { + container = document.createElement("div"); + container.id = `${idPrefix}-container`; + container.style.position = "absolute"; + container.style.width = "1px"; + container.style.height = "1px"; + container.style.padding = "0"; + container.style.margin = "-1px"; + container.style.overflow = "hidden"; + container.style.clip = "rect(0, 0, 0, 0)"; + container.style.whiteSpace = "nowrap"; + container.style.border = "0"; + container.style.wordWrap = "normal"; + container.style.clipPath = "inset(50%)"; + document.body.appendChild(container); + } + if (!document.getElementById(`${idPrefix}-polite`)) { + const polite = document.createElement("div"); + polite.id = `${idPrefix}-polite`; + polite.setAttribute("role", "status"); + polite.setAttribute("aria-live", "polite"); + polite.setAttribute("aria-atomic", "true"); + container.appendChild(polite); + } + if (!document.getElementById(`${idPrefix}-assertive`)) { + const assertive = document.createElement("div"); + assertive.id = `${idPrefix}-assertive`; + assertive.setAttribute("role", "alert"); + assertive.setAttribute("aria-live", "assertive"); + assertive.setAttribute("aria-atomic", "true"); + container.appendChild(assertive); + } + } + ensureAnnouncer(); + function announce(message, mode = "polite", timeout) { + if (!window || !document) return; + ensureAnnouncer(); + const element = document.getElementById(`${idPrefix}-${mode}`); + if (element) { + const pending = timers.get(mode); + if (pending != null) { + window.clearTimeout(pending); + timers.delete(mode); + } + element.textContent = ""; + nextTick(() => element.textContent = message); + if (timeout && timeout > 0) { + const timer = window.setTimeout(() => { + timers.delete(mode); + element.textContent = ""; + }, timeout); + timers.set(mode, timer); + } + } + } + function polite(message, timeout) { + announce(message, "polite", timeout); + } + function assertive(message, timeout) { + announce(message, "assertive", timeout); + } + return { + announce, + polite, + assertive + }; +} +//#endregion +//#region useLocalStorage/index.ts +/** +* Reactive LocalStorage. +* +* @see https://vueuse.org/useLocalStorage +* @param key +* @param initialValue +* @param options +*/ +function useLocalStorage(key, initialValue, options = {}) { + const { window = defaultWindow } = options; + return useStorage(key, initialValue, window === null || window === void 0 ? void 0 : window.localStorage, options); +} +//#endregion +//#region useMagicKeys/aliasMap.ts +const DefaultMagicKeysAliasMap = { + ctrl: "control", + command: "meta", + cmd: "meta", + option: "alt", + up: "arrowup", + down: "arrowdown", + left: "arrowleft", + right: "arrowright" +}; +//#endregion +//#region useMagicKeys/index.ts +/** +* Reactive keys pressed state, with magical keys combination support. +* +* @see https://vueuse.org/useMagicKeys +*/ +function useMagicKeys(options = {}) { + const { reactive: useReactive = false, target = defaultWindow, aliasMap = DefaultMagicKeysAliasMap, passive = true, onEventFired = noop } = options; + const current = reactive(/* @__PURE__ */ new Set()); + const obj = { + toJSON() { + return {}; + }, + current + }; + const refs = useReactive ? reactive(obj) : obj; + const metaDeps = /* @__PURE__ */ new Set(); + const depsMap = /* @__PURE__ */ new Map([ + ["Meta", metaDeps], + ["Shift", /* @__PURE__ */ new Set()], + ["Alt", /* @__PURE__ */ new Set()] + ]); + const usedKeys = /* @__PURE__ */ new Set(); + function setRefs(key, value) { + if (key in refs) { + if (useReactive) refs[key] = value; + else refs[key].value = value; + } + } + function reset() { + current.clear(); + for (const key of usedKeys) setRefs(key, false); + } + function updateDeps(value, e, keys) { + if (!value || typeof e.getModifierState !== "function") return; + for (const [modifier, depsSet] of depsMap) if (e.getModifierState(modifier)) { + keys.forEach((key) => depsSet.add(key)); + break; + } + } + function clearDeps(value, key) { + if (value) return; + const depsMapKey = `${key[0].toUpperCase()}${key.slice(1)}`; + const deps = depsMap.get(depsMapKey); + if (!["shift", "alt"].includes(key) || !deps) return; + const depsArray = Array.from(deps); + const depsIndex = depsArray.indexOf(key); + depsArray.forEach((key, index) => { + if (index >= depsIndex) { + current.delete(key); + setRefs(key, false); + } + }); + deps.clear(); + } + function updateRefs(e, value) { + var _e$key, _e$code; + const key = (_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.toLowerCase(); + const values = [(_e$code = e.code) === null || _e$code === void 0 ? void 0 : _e$code.toLowerCase(), key].filter(Boolean); + if (!key) return; + if (key) { + if (value) current.add(key); + else current.delete(key); + } + for (const key of values) { + usedKeys.add(key); + setRefs(key, value); + } + updateDeps(value, e, [...current, ...values]); + clearDeps(value, key); + if (key === "meta" && !value) { + metaDeps.forEach((key) => { + current.delete(key); + setRefs(key, false); + }); + metaDeps.clear(); + } + } + useEventListener(target, "keydown", (e) => { + updateRefs(e, true); + return onEventFired(e); + }, { passive }); + useEventListener(target, "keyup", (e) => { + updateRefs(e, false); + return onEventFired(e); + }, { passive }); + useEventListener("blur", reset, { passive }); + useEventListener("focus", reset, { passive }); + const proxy = new Proxy(refs, { get(target, prop, rec) { + if (typeof prop !== "string") return Reflect.get(target, prop, rec); + prop = prop.toLowerCase(); + if (prop in aliasMap) prop = aliasMap[prop]; + if (!(prop in refs)) { + if (/[+_-]/.test(prop)) { + const keys = prop.split(/[+_-]/g).map((i) => i.trim()); + refs[prop] = computed(() => keys.map((key) => toValue(proxy[key])).every(Boolean)); + } else refs[prop] = shallowRef(false); + } + const r = Reflect.get(target, prop, rec); + return useReactive ? toValue(r) : r; + } }); + return proxy; +} +//#endregion +//#region useMediaControls/index.ts +/** +* Automatically check if the ref exists and if it does run the cb fn +*/ +function usingElRef(source, cb) { + if (toValue(source)) cb(toValue(source)); +} +/** +* Converts a TimeRange object to an array +*/ +function timeRangeToArray(timeRanges) { + let ranges = []; + for (let i = 0; i < timeRanges.length; ++i) ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]]; + return ranges; +} +/** +* Converts a TextTrackList object to an array of `UseMediaTextTrack` +*/ +function tracksToArray(tracks) { + return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ + id, + label, + kind, + language, + mode, + activeCues, + cues, + inBandMetadataTrackDispatchType + })); +} +const defaultOptions = { + src: "", + tracks: [] +}; +function useMediaControls(target, options = {}) { + target = toRef(target); + options = { + ...defaultOptions, + ...options + }; + const { document = defaultDocument } = options; + const listenerOptions = { passive: true }; + const currentTime = shallowRef(0); + const duration = shallowRef(0); + const seeking = shallowRef(false); + const volume = shallowRef(1); + const waiting = shallowRef(false); + const ended = shallowRef(false); + const playing = shallowRef(false); + const rate = shallowRef(1); + const stalled = shallowRef(false); + const buffered = shallowRef([]); + const tracks = shallowRef([]); + const selectedTrack = shallowRef(-1); + const isPictureInPicture = shallowRef(false); + const muted = shallowRef(false); + const supportsPictureInPicture = Boolean(document && "pictureInPictureEnabled" in document); + const sourceErrorEvent = createEventHook(); + const playbackErrorEvent = createEventHook(); + /** + * Disables the specified track. If no track is specified then + * all tracks will be disabled + * + * @param track The id of the track to disable + */ + const disableTrack = (track) => { + usingElRef(target, (el) => { + if (track) { + const id = typeof track === "number" ? track : track.id; + el.textTracks[id].mode = "disabled"; + } else for (let i = 0; i < el.textTracks.length; ++i) el.textTracks[i].mode = "disabled"; + selectedTrack.value = -1; + }); + }; + /** + * Enables the specified track and disables the + * other tracks unless otherwise specified + * + * @param track The track of the id of the track to enable + * @param disableTracks Disable all other tracks + */ + const enableTrack = (track, disableTracks = true) => { + usingElRef(target, (el) => { + const id = typeof track === "number" ? track : track.id; + if (disableTracks) disableTrack(); + el.textTracks[id].mode = "showing"; + selectedTrack.value = id; + }); + }; + /** + * Toggle picture in picture mode for the player. + */ + const togglePictureInPicture = () => { + return new Promise((resolve, reject) => { + usingElRef(target, async (el) => { + if (supportsPictureInPicture) { + if (!isPictureInPicture.value) el.requestPictureInPicture().then(resolve).catch(reject); + else document.exitPictureInPicture().then(resolve).catch(reject); + } + }); + }); + }; + /** + * This will automatically inject sources to the media element. The sources will be + * appended as children to the media element as `<source>` elements. + */ + watchEffect(() => { + if (!document) return; + const el = toValue(target); + if (!el) return; + const src = toValue(options.src); + let sources = []; + if (!src) return; + if (typeof src === "string") sources = [{ src }]; + else if (Array.isArray(src)) sources = src; + else if (isObject(src)) sources = [src]; + el.querySelectorAll("source").forEach((e) => { + e.remove(); + }); + sources.forEach(({ src, type, media }) => { + const source = document.createElement("source"); + source.setAttribute("src", src); + source.setAttribute("type", type || ""); + source.setAttribute("media", media || ""); + useEventListener(source, "error", sourceErrorEvent.trigger, listenerOptions); + el.appendChild(source); + }); + el.load(); + }); + /** + * Apply composable state to the element, also when element is changed + */ + watch([target, volume], () => { + const el = toValue(target); + if (!el) return; + el.volume = volume.value; + }); + watch([target, muted], () => { + const el = toValue(target); + if (!el) return; + el.muted = muted.value; + }); + watch([target, rate], () => { + const el = toValue(target); + if (!el) return; + el.playbackRate = rate.value; + }); + /** + * Load Tracks + */ + watchEffect(() => { + if (!document) return; + const textTracks = toValue(options.tracks); + const el = toValue(target); + if (!textTracks || !textTracks.length || !el) return; + /** + * The MediaAPI provides an API for adding text tracks, but they don't currently + * have an API for removing text tracks, so instead we will just create and remove + * the tracks manually using the HTML api. + */ + el.querySelectorAll("track").forEach((e) => e.remove()); + textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => { + const track = document.createElement("track"); + track.default = isDefault || false; + track.kind = kind; + track.label = label; + track.src = src; + track.srclang = srcLang; + if (track.default) selectedTrack.value = i; + el.appendChild(track); + }); + }); + /** + * This will allow us to update the current time from the timeupdate event + * without setting the medias current position, but if the user changes the + * current time via the ref, then the media will seek. + * + * If we did not use an ignorable watch, then the current time update from + * the timeupdate event would cause the media to stutter. + */ + const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => { + const el = toValue(target); + if (!el) return; + el.currentTime = time; + }); + /** + * Using an ignorable watch so we can control the play state using a ref and not + * a function + */ + const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => { + const el = toValue(target); + if (!el) return; + if (isPlaying) el.play().catch((e) => { + playbackErrorEvent.trigger(e); + throw e; + }); + else el.pause(); + }); + useEventListener(target, "timeupdate", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime), listenerOptions); + useEventListener(target, "durationchange", () => duration.value = toValue(target).duration, listenerOptions); + useEventListener(target, "progress", () => buffered.value = timeRangeToArray(toValue(target).buffered), listenerOptions); + useEventListener(target, "seeking", () => seeking.value = true, listenerOptions); + useEventListener(target, "seeked", () => seeking.value = false, listenerOptions); + useEventListener(target, ["waiting", "loadstart"], () => { + waiting.value = true; + ignorePlayingUpdates(() => playing.value = false); + }, listenerOptions); + useEventListener(target, "loadeddata", () => waiting.value = false, listenerOptions); + useEventListener(target, "playing", () => { + waiting.value = false; + ended.value = false; + ignorePlayingUpdates(() => playing.value = true); + }, listenerOptions); + useEventListener(target, "ratechange", () => rate.value = toValue(target).playbackRate, listenerOptions); + useEventListener(target, "stalled", () => stalled.value = true, listenerOptions); + useEventListener(target, "ended", () => ended.value = true, listenerOptions); + useEventListener(target, "pause", () => ignorePlayingUpdates(() => playing.value = false), listenerOptions); + useEventListener(target, "play", () => ignorePlayingUpdates(() => playing.value = true), listenerOptions); + useEventListener(target, "enterpictureinpicture", () => isPictureInPicture.value = true, listenerOptions); + useEventListener(target, "leavepictureinpicture", () => isPictureInPicture.value = false, listenerOptions); + useEventListener(target, "volumechange", () => { + const el = toValue(target); + if (!el) return; + volume.value = el.volume; + muted.value = el.muted; + }, listenerOptions); + /** + * The following listeners need to listen to a nested + * object on the target, so we will have to use a nested + * watch and manually remove the listeners + */ + const listeners = []; + const stop = watch([target], () => { + const el = toValue(target); + if (!el) return; + stop(); + listeners[0] = useEventListener(el.textTracks, "addtrack", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); + listeners[1] = useEventListener(el.textTracks, "removetrack", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); + listeners[2] = useEventListener(el.textTracks, "change", () => tracks.value = tracksToArray(el.textTracks), listenerOptions); + }); + tryOnScopeDispose(() => listeners.forEach((listener) => listener())); + return { + currentTime, + duration, + waiting, + seeking, + ended, + stalled, + buffered, + playing, + rate, + volume, + muted, + tracks, + selectedTrack, + enableTrack, + disableTrack, + supportsPictureInPicture, + togglePictureInPicture, + isPictureInPicture, + onSourceError: sourceErrorEvent.on, + onPlaybackError: playbackErrorEvent.on + }; +} +//#endregion +//#region useMemoize/index.ts +/** +* Reactive function result cache based on arguments +* +* @__NO_SIDE_EFFECTS__ +*/ +function useMemoize(resolver, options) { + const initCache = () => { + if (options === null || options === void 0 ? void 0 : options.cache) return shallowReactive(options.cache); + return shallowReactive(/* @__PURE__ */ new Map()); + }; + const cache = initCache(); + /** + * Generate key from args + */ + const generateKey = (...args) => (options === null || options === void 0 ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args); + /** + * Load data and save in cache + */ + const _loadData = (key, ...args) => { + cache.set(key, resolver(...args)); + return cache.get(key); + }; + const loadData = (...args) => _loadData(generateKey(...args), ...args); + /** + * Delete key from cache + */ + const deleteData = (...args) => { + cache.delete(generateKey(...args)); + }; + /** + * Clear cached data + */ + const clearData = () => { + cache.clear(); + }; + const memoized = (...args) => { + const key = generateKey(...args); + if (cache.has(key)) return cache.get(key); + return _loadData(key, ...args); + }; + memoized.load = loadData; + memoized.delete = deleteData; + memoized.clear = clearData; + memoized.generateKey = generateKey; + memoized.cache = cache; + return memoized; +} +//#endregion +//#region useMemory/index.ts +/** +* Reactive Memory Info. +* +* @see https://vueuse.org/useMemory +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useMemory(options = {}) { + const memory = shallowRef(); + const isSupported = /* @__PURE__ */ useSupported(() => typeof performance !== "undefined" && "memory" in performance); + if (isSupported.value) { + const { scheduler = useIntervalFn } = options; + scheduler(() => { + memory.value = performance.memory; + }); + } + return { + isSupported, + memory + }; +} +//#endregion +//#region useMouse/index.ts +const UseMouseBuiltinExtractors = { + page: (event) => [event.pageX, event.pageY], + client: (event) => [event.clientX, event.clientY], + screen: (event) => [event.screenX, event.screenY], + movement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null +}; +/** +* Reactive mouse position. +* +* @see https://vueuse.org/useMouse +* @param options +*/ +function useMouse(options = {}) { + const { type = "page", touch = true, resetOnTouchEnds = false, initialValue = { + x: 0, + y: 0 + }, window = defaultWindow, target = window, scroll = true, eventFilter } = options; + let _prevMouseEvent = null; + let _prevScrollX = 0; + let _prevScrollY = 0; + const x = shallowRef(initialValue.x); + const y = shallowRef(initialValue.y); + const sourceType = shallowRef(null); + const extractor = typeof type === "function" ? type : UseMouseBuiltinExtractors[type]; + const mouseHandler = (event) => { + const result = extractor(event); + _prevMouseEvent = event; + if (result) { + [x.value, y.value] = result; + sourceType.value = "mouse"; + } + if (window) { + _prevScrollX = window.scrollX; + _prevScrollY = window.scrollY; + } + }; + const touchHandler = (event) => { + if (event.touches.length > 0) { + const result = extractor(event.touches[0]); + if (result) { + [x.value, y.value] = result; + sourceType.value = "touch"; + } + } + }; + const scrollHandler = () => { + if (!_prevMouseEvent || !window) return; + const pos = extractor(_prevMouseEvent); + if (_prevMouseEvent instanceof MouseEvent && pos) { + x.value = pos[0] + window.scrollX - _prevScrollX; + y.value = pos[1] + window.scrollY - _prevScrollY; + } + }; + const reset = () => { + x.value = initialValue.x; + y.value = initialValue.y; + }; + const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event); + const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event); + const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler(); + if (target) { + const listenerOptions = { passive: true }; + useEventListener(target, ["mousemove", "dragover"], mouseHandlerWrapper, listenerOptions); + if (touch && type !== "movement") { + useEventListener(target, ["touchstart", "touchmove"], touchHandlerWrapper, listenerOptions); + if (resetOnTouchEnds) useEventListener(target, "touchend", reset, listenerOptions); + } + if (scroll && type === "page") useEventListener(window, "scroll", scrollHandlerWrapper, listenerOptions); + } + return { + x, + y, + sourceType + }; +} +//#endregion +//#region useMouseInElement/index.ts +/** +* Reactive mouse position related to an element. +* +* @see https://vueuse.org/useMouseInElement +* @param target +* @param options +*/ +function useMouseInElement(target, options = {}) { + const { windowResize = true, windowScroll = true, handleOutside = true, window = defaultWindow } = options; + const type = options.type || "page"; + const { x, y, sourceType } = useMouse(options); + const targetRef = shallowRef(target !== null && target !== void 0 ? target : window === null || window === void 0 ? void 0 : window.document.body); + const elementX = shallowRef(0); + const elementY = shallowRef(0); + const elementPositionX = shallowRef(0); + const elementPositionY = shallowRef(0); + const elementHeight = shallowRef(0); + const elementWidth = shallowRef(0); + const isOutside = shallowRef(true); + function update() { + if (!window) return; + const el = unrefElement(targetRef); + if (!el || !(el instanceof Element)) return; + for (const rect of el.getClientRects()) { + const { left, top, width, height } = rect; + elementPositionX.value = left + (type === "page" ? window.pageXOffset : 0); + elementPositionY.value = top + (type === "page" ? window.pageYOffset : 0); + elementHeight.value = height; + elementWidth.value = width; + const elX = x.value - elementPositionX.value; + const elY = y.value - elementPositionY.value; + isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height; + if (handleOutside || !isOutside.value) { + elementX.value = elX; + elementY.value = elY; + } + if (!isOutside.value) break; + } + } + const stopFnList = []; + function stop() { + stopFnList.forEach((fn) => fn()); + stopFnList.length = 0; + } + tryOnMounted(() => { + update(); + }); + if (window) { + const { stop: stopResizeObserver } = useResizeObserver(targetRef, update); + const { stop: stopMutationObserver } = useMutationObserver(targetRef, update, { attributeFilter: ["style", "class"] }); + const stopWatch = watch([ + targetRef, + x, + y + ], update); + stopFnList.push(stopResizeObserver, stopMutationObserver, stopWatch); + useEventListener(document, "mouseleave", () => isOutside.value = true, { passive: true }); + if (windowScroll) stopFnList.push(useEventListener("scroll", update, { + capture: true, + passive: true + })); + if (windowResize) stopFnList.push(useEventListener("resize", update, { passive: true })); + } + return { + x, + y, + sourceType, + elementX, + elementY, + elementPositionX, + elementPositionY, + elementHeight, + elementWidth, + isOutside, + stop + }; +} +//#endregion +//#region useMousePressed/index.ts +/** +* Reactive mouse pressing state. +* +* @see https://vueuse.org/useMousePressed +* @param options +*/ +function useMousePressed(options = {}) { + const { touch = true, drag = true, capture = false, initialValue = false, window = defaultWindow } = options; + const pressed = shallowRef(initialValue); + const sourceType = shallowRef(null); + if (!window) return { + pressed, + sourceType + }; + const onPressed = (srcType) => (event) => { + var _options$onPressed; + pressed.value = true; + sourceType.value = srcType; + (_options$onPressed = options.onPressed) === null || _options$onPressed === void 0 || _options$onPressed.call(options, event); + }; + const onReleased = (event) => { + var _options$onReleased; + pressed.value = false; + sourceType.value = null; + (_options$onReleased = options.onReleased) === null || _options$onReleased === void 0 || _options$onReleased.call(options, event); + }; + const target = computed(() => unrefElement(options.target) || window); + const listenerOptions = { + passive: true, + capture + }; + useEventListener(target, "mousedown", onPressed("mouse"), listenerOptions); + useEventListener(window, "mouseleave", onReleased, listenerOptions); + useEventListener(window, "mouseup", onReleased, listenerOptions); + if (drag) { + useEventListener(target, "dragstart", onPressed("mouse"), listenerOptions); + useEventListener(window, "drop", onReleased, listenerOptions); + useEventListener(window, "dragend", onReleased, listenerOptions); + } + if (touch) { + useEventListener(target, "touchstart", onPressed("touch"), listenerOptions); + useEventListener(window, "touchend", onReleased, listenerOptions); + useEventListener(window, "touchcancel", onReleased, listenerOptions); + } + return { + pressed, + sourceType + }; +} +//#endregion +//#region useNavigatorLanguage/index.ts +/** +* +* Reactive useNavigatorLanguage +* +* Detects the currently selected user language and returns a reactive language +* @see https://vueuse.org/useNavigatorLanguage +* +* @__NO_SIDE_EFFECTS__ +*/ +function useNavigatorLanguage(options = {}) { + const { window = defaultWindow } = options; + const navigator = window === null || window === void 0 ? void 0 : window.navigator; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "language" in navigator); + const language = shallowRef(navigator === null || navigator === void 0 ? void 0 : navigator.language); + useEventListener(window, "languagechange", () => { + if (navigator) language.value = navigator.language; + }, { passive: true }); + return { + isSupported, + language + }; +} +//#endregion +//#region useNetwork/index.ts +/** +* Reactive Network status. +* +* @see https://vueuse.org/useNetwork +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useNetwork(options = {}) { + const { window = defaultWindow } = options; + const navigator = window === null || window === void 0 ? void 0 : window.navigator; + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "connection" in navigator); + const isOnline = shallowRef(true); + const saveData = shallowRef(false); + const offlineAt = shallowRef(void 0); + const onlineAt = shallowRef(void 0); + const downlink = shallowRef(void 0); + const downlinkMax = shallowRef(void 0); + const rtt = shallowRef(void 0); + const effectiveType = shallowRef(void 0); + const type = shallowRef("unknown"); + const connection = isSupported.value && navigator.connection; + function updateNetworkInformation() { + if (!navigator) return; + isOnline.value = navigator.onLine; + offlineAt.value = isOnline.value ? void 0 : Date.now(); + onlineAt.value = isOnline.value ? Date.now() : void 0; + if (connection) { + downlink.value = connection.downlink; + downlinkMax.value = connection.downlinkMax; + effectiveType.value = connection.effectiveType; + rtt.value = connection.rtt; + saveData.value = connection.saveData; + type.value = connection.type; + } + } + const listenerOptions = { passive: true }; + if (window) { + useEventListener(window, "offline", () => { + isOnline.value = false; + offlineAt.value = Date.now(); + }, listenerOptions); + useEventListener(window, "online", () => { + isOnline.value = true; + onlineAt.value = Date.now(); + }, listenerOptions); + } + if (connection) useEventListener(connection, "change", updateNetworkInformation, listenerOptions); + updateNetworkInformation(); + return { + isSupported, + isOnline: shallowReadonly(isOnline), + saveData: shallowReadonly(saveData), + offlineAt: shallowReadonly(offlineAt), + onlineAt: shallowReadonly(onlineAt), + downlink: shallowReadonly(downlink), + downlinkMax: shallowReadonly(downlinkMax), + effectiveType: shallowReadonly(effectiveType), + rtt: shallowReadonly(rtt), + type: shallowReadonly(type) + }; +} +//#endregion +//#region useNow/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useNow(options = {}) { + const { controls: exposeControls = false, scheduler = useRafFn } = options; + const now = shallowRef(/* @__PURE__ */ new Date()); + const update = () => now.value = /* @__PURE__ */ new Date(); + const controls = scheduler(update); + if (exposeControls) return { + now, + ...controls + }; + else return now; +} +//#endregion +//#region useObjectUrl/index.ts +/** +* Reactive URL representing an object. +* +* @see https://vueuse.org/useObjectUrl +* @param object +*/ +function useObjectUrl(object) { + const url = shallowRef(); + const release = () => { + if (url.value) URL.revokeObjectURL(url.value); + url.value = void 0; + }; + watch(() => toValue(object), (newObject) => { + release(); + if (newObject) url.value = URL.createObjectURL(newObject); + }, { immediate: true }); + tryOnScopeDispose(release); + return shallowReadonly(url); +} +//#endregion +//#region ../math/useClamp/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useClamp(value, min, max) { + if (typeof value === "function" || isReadonly(value)) return computed(() => clamp(toValue(value), toValue(min), toValue(max))); + const _value = ref(value); + return computed({ + get() { + return _value.value = clamp(_value.value, toValue(min), toValue(max)); + }, + set(value) { + _value.value = clamp(value, toValue(min), toValue(max)); + } + }); +} +//#endregion +//#region useOffsetPagination/index.ts +function useOffsetPagination(options) { + const { total = Number.POSITIVE_INFINITY, pageSize = 10, page = 1, onPageChange = noop, onPageSizeChange = noop, onPageCountChange = noop } = options; + const currentPageSize = /* @__PURE__ */ useClamp(pageSize, 1, Number.POSITIVE_INFINITY); + const pageCount = computed(() => Math.max(1, Math.ceil(toValue(total) / toValue(currentPageSize)))); + const currentPage = /* @__PURE__ */ useClamp(page, 1, pageCount); + const isFirstPage = computed(() => currentPage.value === 1); + const isLastPage = computed(() => currentPage.value === pageCount.value); + if (isRef(page)) syncRef(page, currentPage, { direction: isReadonly(page) ? "ltr" : "both" }); + if (isRef(pageSize)) syncRef(pageSize, currentPageSize, { direction: isReadonly(pageSize) ? "ltr" : "both" }); + function prev() { + currentPage.value--; + } + function next() { + currentPage.value++; + } + const returnValue = { + currentPage, + currentPageSize, + pageCount, + isFirstPage, + isLastPage, + prev, + next + }; + watch(currentPage, () => { + onPageChange(reactive(returnValue)); + }); + watch(currentPageSize, () => { + onPageSizeChange(reactive(returnValue)); + }); + watch(pageCount, () => { + onPageCountChange(reactive(returnValue)); + }); + return returnValue; +} +//#endregion +//#region useOnline/index.ts +/** +* Reactive online state. +* +* @see https://vueuse.org/useOnline +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useOnline(options = {}) { + const { isOnline } = useNetwork(options); + return isOnline; +} +//#endregion +//#region usePageLeave/index.ts +/** +* Reactive state to show whether mouse leaves the page. +* +* @see https://vueuse.org/usePageLeave +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePageLeave(options = {}) { + const { window = defaultWindow } = options; + const isLeft = shallowRef(false); + const handler = (event) => { + if (!window) return; + event = event || window.event; + const from = event.relatedTarget || event.toElement; + isLeft.value = !from; + }; + if (window) { + const listenerOptions = { passive: true }; + useEventListener(window, "mouseout", handler, listenerOptions); + useEventListener(window.document, "mouseleave", handler, listenerOptions); + useEventListener(window.document, "mouseenter", handler, listenerOptions); + } + return isLeft; +} +//#endregion +//#region useScreenOrientation/index.ts +/** +* Reactive screen orientation +* +* @see https://vueuse.org/useScreenOrientation +* +* @__NO_SIDE_EFFECTS__ +*/ +function useScreenOrientation(options = {}) { + const { window = defaultWindow } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "screen" in window && "orientation" in window.screen); + const screenOrientation = isSupported.value ? window.screen.orientation : {}; + const orientation = shallowRef(screenOrientation.type); + const angle = shallowRef(screenOrientation.angle || 0); + if (isSupported.value) useEventListener(window, "orientationchange", () => { + orientation.value = screenOrientation.type; + angle.value = screenOrientation.angle; + }, { passive: true }); + const lockOrientation = (type) => { + if (isSupported.value && typeof screenOrientation.lock === "function") return screenOrientation.lock(type); + return Promise.reject(/* @__PURE__ */ new Error("Not supported")); + }; + const unlockOrientation = () => { + if (isSupported.value && typeof screenOrientation.unlock === "function") screenOrientation.unlock(); + }; + return { + isSupported, + orientation, + angle, + lockOrientation, + unlockOrientation + }; +} +//#endregion +//#region useParallax/index.ts +/** +* Create parallax effect easily. It uses `useDeviceOrientation` and fallback to `useMouse` +* if orientation is not supported. +* +* @param target +* @param options +*/ +function useParallax(target, options = {}) { + const { deviceOrientationTiltAdjust = (i) => i, deviceOrientationRollAdjust = (i) => i, mouseTiltAdjust = (i) => i, mouseRollAdjust = (i) => i, window = defaultWindow } = options; + const orientation = reactive(useDeviceOrientation({ window })); + const screenOrientation = reactive(useScreenOrientation({ window })); + const { elementX: x, elementY: y, elementWidth: width, elementHeight: height } = useMouseInElement(target, { + handleOutside: false, + window + }); + const source = computed(() => { + if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) return "deviceOrientation"; + return "mouse"; + }); + return { + roll: computed(() => { + if (source.value === "deviceOrientation") { + let value; + switch (screenOrientation.orientation) { + case "landscape-primary": + value = orientation.gamma / 90; + break; + case "landscape-secondary": + value = -orientation.gamma / 90; + break; + case "portrait-primary": + value = -orientation.beta / 90; + break; + case "portrait-secondary": + value = orientation.beta / 90; + break; + default: value = -orientation.beta / 90; + } + return deviceOrientationRollAdjust(value); + } else { + const value = -(y.value - height.value / 2) / height.value; + return mouseRollAdjust(value); + } + }), + tilt: computed(() => { + if (source.value === "deviceOrientation") { + let value; + switch (screenOrientation.orientation) { + case "landscape-primary": + value = orientation.beta / 90; + break; + case "landscape-secondary": + value = -orientation.beta / 90; + break; + case "portrait-primary": + value = orientation.gamma / 90; + break; + case "portrait-secondary": + value = -orientation.gamma / 90; + break; + default: value = orientation.gamma / 90; + } + return deviceOrientationTiltAdjust(value); + } else { + const value = (x.value - width.value / 2) / width.value; + return mouseTiltAdjust(value); + } + }), + source + }; +} +//#endregion +//#region useParentElement/index.ts +function useParentElement(element = useCurrentElement()) { + const parentElement = shallowRef(); + const update = () => { + const el = unrefElement(element); + if (el) parentElement.value = el.parentElement; + }; + tryOnMounted(update); + watch(() => toValue(element), update); + return parentElement; +} +//#endregion +//#region usePerformanceObserver/index.ts +/** +* Observe performance metrics. +* +* @see https://vueuse.org/usePerformanceObserver +* @param options +*/ +function usePerformanceObserver(options, callback) { + const { window = defaultWindow, immediate = true, ...performanceOptions } = options; + const isSupported = /* @__PURE__ */ useSupported(() => window && "PerformanceObserver" in window); + let observer; + const stop = () => { + observer === null || observer === void 0 || observer.disconnect(); + }; + const start = () => { + if (isSupported.value) { + stop(); + observer = new PerformanceObserver(callback); + observer.observe(performanceOptions); + } + }; + tryOnScopeDispose(stop); + if (immediate) start(); + return { + isSupported, + start, + stop + }; +} +//#endregion +//#region usePointer/index.ts +const defaultState = { + x: 0, + y: 0, + pointerId: 0, + pressure: 0, + tiltX: 0, + tiltY: 0, + width: 0, + height: 0, + twist: 0, + pointerType: null +}; +const keys = /* #__PURE__ */ Object.keys(defaultState); +/** +* Reactive pointer state. +* +* @see https://vueuse.org/usePointer +* @param options +*/ +function usePointer(options = {}) { + const { target = defaultWindow } = options; + const isInside = shallowRef(false); + const state = shallowRef(options.initialValue || {}); + Object.assign(state.value, defaultState, state.value); + const handler = (event) => { + isInside.value = true; + if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType)) return; + state.value = objectPick(event, keys, false); + }; + if (target) { + const listenerOptions = { passive: true }; + useEventListener(target, [ + "pointerdown", + "pointermove", + "pointerup" + ], handler, listenerOptions); + useEventListener(target, ["pointerleave", "pointercancel"], () => isInside.value = false, listenerOptions); + } + return { + ...toRefs(state), + isInside + }; +} +//#endregion +//#region usePointerLock/index.ts +/** +* Reactive pointer lock. +* +* @see https://vueuse.org/usePointerLock +* @param target +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePointerLock(target, options = {}) { + const { document = defaultDocument } = options; + const isSupported = /* @__PURE__ */ useSupported(() => document && "pointerLockElement" in document); + const element = shallowRef(); + const triggerElement = shallowRef(); + let targetElement; + if (isSupported.value) { + const listenerOptions = { passive: true }; + useEventListener(document, "pointerlockchange", () => { + var _pointerLockElement; + const currentElement = (_pointerLockElement = document.pointerLockElement) !== null && _pointerLockElement !== void 0 ? _pointerLockElement : element.value; + if (targetElement && currentElement === targetElement) { + element.value = document.pointerLockElement; + if (!element.value) targetElement = triggerElement.value = null; + } + }, listenerOptions); + useEventListener(document, "pointerlockerror", () => { + var _pointerLockElement2; + const currentElement = (_pointerLockElement2 = document.pointerLockElement) !== null && _pointerLockElement2 !== void 0 ? _pointerLockElement2 : element.value; + if (targetElement && currentElement === targetElement) { + const action = document.pointerLockElement ? "release" : "acquire"; + throw new Error(`Failed to ${action} pointer lock.`); + } + }, listenerOptions); + } + async function lock(e) { + var _unrefElement; + if (!isSupported.value) throw new Error("Pointer Lock API is not supported by your browser."); + triggerElement.value = e instanceof Event ? e.currentTarget : null; + targetElement = e instanceof Event ? (_unrefElement = unrefElement(target)) !== null && _unrefElement !== void 0 ? _unrefElement : triggerElement.value : unrefElement(e); + if (!targetElement) throw new Error("Target element undefined."); + targetElement.requestPointerLock(); + return await until(element).toBe(targetElement); + } + async function unlock() { + if (!element.value) return false; + document.exitPointerLock(); + await until(element).toBeNull(); + return true; + } + return { + isSupported, + element, + triggerElement, + lock, + unlock + }; +} +//#endregion +//#region usePointerSwipe/index.ts +/** +* Reactive swipe detection based on PointerEvents. +* +* @see https://vueuse.org/usePointerSwipe +* @param target +* @param options +*/ +function usePointerSwipe(target, options = {}) { + const targetRef = toRef(target); + const { threshold = 50, onSwipe, onSwipeEnd, onSwipeStart, disableTextSelect = false } = options; + const posStart = reactive({ + x: 0, + y: 0 + }); + const updatePosStart = (x, y) => { + posStart.x = x; + posStart.y = y; + }; + const posEnd = reactive({ + x: 0, + y: 0 + }); + const updatePosEnd = (x, y) => { + posEnd.x = x; + posEnd.y = y; + }; + const distanceX = computed(() => posStart.x - posEnd.x); + const distanceY = computed(() => posStart.y - posEnd.y); + const { max, abs } = Math; + const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold); + const isSwiping = shallowRef(false); + const isPointerDown = shallowRef(false); + const direction = computed(() => { + if (!isThresholdExceeded.value) return "none"; + if (abs(distanceX.value) > abs(distanceY.value)) return distanceX.value > 0 ? "left" : "right"; + else return distanceY.value > 0 ? "up" : "down"; + }); + const eventIsAllowed = (e) => { + var _ref, _options$pointerTypes, _options$pointerTypes2; + const isReleasingButton = e.buttons === 0; + const isPrimaryButton = e.buttons === 1; + return (_ref = (_options$pointerTypes = (_options$pointerTypes2 = options.pointerTypes) === null || _options$pointerTypes2 === void 0 ? void 0 : _options$pointerTypes2.includes(e.pointerType)) !== null && _options$pointerTypes !== void 0 ? _options$pointerTypes : isReleasingButton || isPrimaryButton) !== null && _ref !== void 0 ? _ref : true; + }; + const listenerOptions = { passive: true }; + const stops = [ + useEventListener(target, "pointerdown", (e) => { + if (!eventIsAllowed(e)) return; + isPointerDown.value = true; + const eventTarget = e.target; + eventTarget === null || eventTarget === void 0 || eventTarget.setPointerCapture(e.pointerId); + const { clientX: x, clientY: y } = e; + updatePosStart(x, y); + updatePosEnd(x, y); + onSwipeStart === null || onSwipeStart === void 0 || onSwipeStart(e); + }, listenerOptions), + useEventListener(target, "pointermove", (e) => { + if (!eventIsAllowed(e)) return; + if (!isPointerDown.value) return; + const { clientX: x, clientY: y } = e; + updatePosEnd(x, y); + if (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true; + if (isSwiping.value) onSwipe === null || onSwipe === void 0 || onSwipe(e); + }, listenerOptions), + useEventListener(target, ["pointerup", "pointercancel"], (e) => { + if (!eventIsAllowed(e)) return; + if (isSwiping.value) onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd(e, direction.value); + isPointerDown.value = false; + isSwiping.value = false; + }, listenerOptions) + ]; + tryOnMounted(() => { + var _targetRef$value; + (_targetRef$value = targetRef.value) === null || _targetRef$value === void 0 || (_targetRef$value = _targetRef$value.style) === null || _targetRef$value === void 0 || _targetRef$value.setProperty("touch-action", "pan-y"); + if (disableTextSelect) { + var _targetRef$value2, _targetRef$value3, _targetRef$value4; + (_targetRef$value2 = targetRef.value) === null || _targetRef$value2 === void 0 || (_targetRef$value2 = _targetRef$value2.style) === null || _targetRef$value2 === void 0 || _targetRef$value2.setProperty("-webkit-user-select", "none"); + (_targetRef$value3 = targetRef.value) === null || _targetRef$value3 === void 0 || (_targetRef$value3 = _targetRef$value3.style) === null || _targetRef$value3 === void 0 || _targetRef$value3.setProperty("-ms-user-select", "none"); + (_targetRef$value4 = targetRef.value) === null || _targetRef$value4 === void 0 || (_targetRef$value4 = _targetRef$value4.style) === null || _targetRef$value4 === void 0 || _targetRef$value4.setProperty("user-select", "none"); + } + }); + const stop = () => stops.forEach((s) => s()); + return { + isSwiping: shallowReadonly(isSwiping), + direction: shallowReadonly(direction), + posStart: readonly(posStart), + posEnd: readonly(posEnd), + distanceX, + distanceY, + stop + }; +} +//#endregion +//#region usePreferredColorScheme/index.ts +/** +* Reactive prefers-color-scheme media query. +* +* @see https://vueuse.org/usePreferredColorScheme +* @param [options] +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredColorScheme(options) { + const isLight = useMediaQuery("(prefers-color-scheme: light)", options); + const isDark = useMediaQuery("(prefers-color-scheme: dark)", options); + return computed(() => { + if (isDark.value) return "dark"; + if (isLight.value) return "light"; + return "no-preference"; + }); +} +//#endregion +//#region usePreferredContrast/index.ts +/** +* Reactive prefers-contrast media query. +* +* @see https://vueuse.org/usePreferredContrast +* @param [options] +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredContrast(options) { + const isMore = useMediaQuery("(prefers-contrast: more)", options); + const isLess = useMediaQuery("(prefers-contrast: less)", options); + const isCustom = useMediaQuery("(prefers-contrast: custom)", options); + return computed(() => { + if (isMore.value) return "more"; + if (isLess.value) return "less"; + if (isCustom.value) return "custom"; + return "no-preference"; + }); +} +//#endregion +//#region usePreferredLanguages/index.ts +/** +* Reactive Navigator Languages. +* +* @see https://vueuse.org/usePreferredLanguages +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredLanguages(options = {}) { + const { window = defaultWindow } = options; + if (!window) return shallowRef(["en"]); + const navigator = window.navigator; + const value = shallowRef(navigator.languages); + useEventListener(window, "languagechange", () => { + value.value = navigator.languages; + }, { passive: true }); + return value; +} +//#endregion +//#region usePreferredReducedMotion/index.ts +/** +* Reactive prefers-reduced-motion media query. +* +* @see https://vueuse.org/usePreferredReducedMotion +* @param [options] +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredReducedMotion(options) { + const isReduced = useMediaQuery("(prefers-reduced-motion: reduce)", options); + return computed(() => { + if (isReduced.value) return "reduce"; + return "no-preference"; + }); +} +//#endregion +//#region usePreferredReducedTransparency/index.ts +/** +* Reactive prefers-reduced-transparency media query. +* +* @see https://vueuse.org/usePreferredReducedTransparency +* @param [options] +* +* @__NO_SIDE_EFFECTS__ +*/ +function usePreferredReducedTransparency(options) { + const isReduced = useMediaQuery("(prefers-reduced-transparency: reduce)", options); + return computed(() => { + if (isReduced.value) return "reduce"; + return "no-preference"; + }); +} +//#endregion +//#region usePrevious/index.ts +function usePrevious(value, initialValue) { + const previous = shallowRef(initialValue); + watch(toRef(value), (_, oldValue) => { + previous.value = oldValue; + }, { flush: "sync" }); + return readonly(previous); +} +//#endregion +//#region useScreenSafeArea/index.ts +const topVarName = "--vueuse-safe-area-top"; +const rightVarName = "--vueuse-safe-area-right"; +const bottomVarName = "--vueuse-safe-area-bottom"; +const leftVarName = "--vueuse-safe-area-left"; +/** +* Reactive `env(safe-area-inset-*)` +* +* @see https://vueuse.org/useScreenSafeArea +*/ +function useScreenSafeArea() { + const top = shallowRef(""); + const right = shallowRef(""); + const bottom = shallowRef(""); + const left = shallowRef(""); + if (isClient) { + const topCssVar = useCssVar(topVarName); + const rightCssVar = useCssVar(rightVarName); + const bottomCssVar = useCssVar(bottomVarName); + const leftCssVar = useCssVar(leftVarName); + topCssVar.value = "env(safe-area-inset-top, 0px)"; + rightCssVar.value = "env(safe-area-inset-right, 0px)"; + bottomCssVar.value = "env(safe-area-inset-bottom, 0px)"; + leftCssVar.value = "env(safe-area-inset-left, 0px)"; + tryOnMounted(update); + useEventListener("resize", useDebounceFn(update), { passive: true }); + } + function update() { + top.value = getValue(topVarName); + right.value = getValue(rightVarName); + bottom.value = getValue(bottomVarName); + left.value = getValue(leftVarName); + } + return { + top, + right, + bottom, + left, + update + }; +} +function getValue(position) { + return getComputedStyle(document.documentElement).getPropertyValue(position); +} +//#endregion +//#region useScriptTag/index.ts +/** +* Async script tag loading. +* +* @see https://vueuse.org/useScriptTag +* @param src +* @param onLoaded +* @param options +*/ +function useScriptTag(src, onLoaded = noop, options = {}) { + const { immediate = true, manual = false, type = "text/javascript", async = true, crossOrigin, referrerPolicy, noModule, defer, document = defaultDocument, attrs = {}, nonce = void 0 } = options; + const scriptTag = shallowRef(null); + let _promise = null; + /** + * Load the script specified via `src`. + * + * @param waitForScriptLoad Whether if the Promise should resolve once the "load" event is emitted by the <script> attribute, or right after appending it to the DOM. + * @returns Promise<HTMLScriptElement> + */ + const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => { + const resolveWithElement = (el) => { + scriptTag.value = el; + resolve(el); + return el; + }; + if (!document) { + resolve(false); + return; + } + let shouldAppend = false; + let el = document.querySelector(`script[src="${toValue(src)}"]`); + if (!el) { + el = document.createElement("script"); + el.type = type; + el.async = async; + el.src = toValue(src); + if (defer) el.defer = defer; + if (crossOrigin) el.crossOrigin = crossOrigin; + if (noModule) el.noModule = noModule; + if (referrerPolicy) el.referrerPolicy = referrerPolicy; + if (nonce) el.nonce = nonce; + Object.entries(attrs).forEach(([name, value]) => el === null || el === void 0 ? void 0 : el.setAttribute(name, value)); + shouldAppend = true; + } else if (el.hasAttribute("data-loaded")) resolveWithElement(el); + const listenerOptions = { passive: true }; + useEventListener(el, "error", (event) => reject(event), listenerOptions); + useEventListener(el, "abort", (event) => reject(event), listenerOptions); + useEventListener(el, "load", () => { + el.setAttribute("data-loaded", "true"); + onLoaded(el); + resolveWithElement(el); + }, listenerOptions); + if (shouldAppend) el = document.head.appendChild(el); + if (!waitForScriptLoad) resolveWithElement(el); + }); + /** + * Exposed singleton wrapper for `loadScript`, avoiding calling it twice. + * + * @param waitForScriptLoad Whether if the Promise should resolve once the "load" event is emitted by the <script> attribute, or right after appending it to the DOM. + * @returns Promise<HTMLScriptElement> + */ + const load = (waitForScriptLoad = true) => { + if (!_promise) _promise = loadScript(waitForScriptLoad); + return _promise; + }; + /** + * Unload the script specified by `src`. + */ + const unload = () => { + if (!document) return; + _promise = null; + if (scriptTag.value) scriptTag.value = null; + const el = document.querySelector(`script[src="${toValue(src)}"]`); + if (el) document.head.removeChild(el); + }; + if (immediate && !manual) tryOnMounted(load); + if (!manual) tryOnUnmounted(unload); + return { + scriptTag, + load, + unload + }; +} +//#endregion +//#region useScrollLock/index.ts +function checkOverflowScroll(ele) { + const style = window.getComputedStyle(ele); + if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) return true; + else { + const parent = ele.parentNode; + if (!parent || parent.tagName === "BODY") return false; + return checkOverflowScroll(parent); + } +} +function preventDefault(rawEvent) { + const e = rawEvent || window.event; + const _target = e.target; + if (checkOverflowScroll(_target)) return false; + if (e.touches.length > 1) return true; + if (e.preventDefault) e.preventDefault(); + return false; +} +const elInitialOverflow = /* @__PURE__ */ new WeakMap(); +/** +* Lock scrolling of the element. +* +* @see https://vueuse.org/useScrollLock +* @param element +*/ +function useScrollLock(element, initialState = false) { + const isLocked = shallowRef(initialState); + let stopTouchMoveListener = null; + let initialOverflow = ""; + watch(toRef(element), (el) => { + const target = resolveElement(toValue(el)); + if (target) { + const ele = target; + if (!elInitialOverflow.get(ele)) elInitialOverflow.set(ele, ele.style.overflow); + if (ele.style.overflow !== "hidden") initialOverflow = ele.style.overflow; + if (ele.style.overflow === "hidden") return isLocked.value = true; + if (isLocked.value) return ele.style.overflow = "hidden"; + } + }, { immediate: true }); + const lock = () => { + const el = resolveElement(toValue(element)); + if (!el || isLocked.value) return; + if (isIOS) stopTouchMoveListener = useEventListener(el, "touchmove", (e) => { + preventDefault(e); + }, { passive: false }); + el.style.overflow = "hidden"; + isLocked.value = true; + }; + const unlock = () => { + const el = resolveElement(toValue(element)); + if (!el || !isLocked.value) return; + if (isIOS) stopTouchMoveListener === null || stopTouchMoveListener === void 0 || stopTouchMoveListener(); + el.style.overflow = initialOverflow; + elInitialOverflow.delete(el); + isLocked.value = false; + }; + tryOnScopeDispose(unlock); + return computed({ + get() { + return isLocked.value; + }, + set(v) { + if (v) lock(); + else unlock(); + } + }); +} +//#endregion +//#region useSessionStorage/index.ts +/** +* Reactive SessionStorage. +* +* @see https://vueuse.org/useSessionStorage +* @param key +* @param initialValue +* @param options +*/ +function useSessionStorage(key, initialValue, options = {}) { + const { window = defaultWindow } = options; + return useStorage(key, initialValue, window === null || window === void 0 ? void 0 : window.sessionStorage, options); +} +//#endregion +//#region useShare/index.ts +/** +* Reactive Web Share API. +* +* @see https://vueuse.org/useShare +* @param shareOptions +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useShare(shareOptions = {}, options = {}) { + const { navigator = defaultNavigator } = options; + const _navigator = navigator; + const isSupported = /* @__PURE__ */ useSupported(() => _navigator && "canShare" in _navigator); + const share = async (overrideOptions = {}) => { + if (isSupported.value) { + const data = { + ...toValue(shareOptions), + ...toValue(overrideOptions) + }; + let granted = false; + if (_navigator.canShare) granted = _navigator.canShare(data); + if (granted) return _navigator.share(data); + } + }; + return { + isSupported, + share + }; +} +//#endregion +//#region useSorted/index.ts +const defaultSortFn = (source, compareFn) => source.sort(compareFn); +const defaultCompare = (a, b) => a - b; +function useSorted(...args) { + const [source] = args; + let compareFn = defaultCompare; + let options = {}; + if (args.length === 2) { + if (typeof args[1] === "object") { + var _options$compareFn; + options = args[1]; + compareFn = (_options$compareFn = options.compareFn) !== null && _options$compareFn !== void 0 ? _options$compareFn : defaultCompare; + } else { + var _args$; + compareFn = (_args$ = args[1]) !== null && _args$ !== void 0 ? _args$ : defaultCompare; + } + } else if (args.length > 2) { + var _args$2, _args$3; + compareFn = (_args$2 = args[1]) !== null && _args$2 !== void 0 ? _args$2 : defaultCompare; + options = (_args$3 = args[2]) !== null && _args$3 !== void 0 ? _args$3 : {}; + } + const { dirty = false, sortFn = defaultSortFn } = options; + if (!dirty) return computed(() => sortFn([...toValue(source)], compareFn)); + watchEffect(() => { + const result = sortFn(toValue(source), compareFn); + if (isRef(source)) source.value = result; + else source.splice(0, source.length, ...result); + }); + return source; +} +//#endregion +//#region useSpeechRecognition/index.ts +/** +* Reactive SpeechRecognition. +* +* @see https://vueuse.org/useSpeechRecognition +* @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition SpeechRecognition +* @param options +*/ +function useSpeechRecognition(options = {}) { + const { interimResults = true, continuous = true, maxAlternatives = 1, window = defaultWindow } = options; + const lang = toRef(options.lang || "en-US"); + const isListening = shallowRef(false); + const isFinal = shallowRef(false); + const result = shallowRef(""); + const confidence = shallowRef(0); + const error = shallowRef(void 0); + let recognition; + const start = () => { + isListening.value = true; + }; + const stop = () => { + isListening.value = false; + }; + const toggle = (value = !isListening.value) => { + if (value) start(); + else stop(); + }; + const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition); + const isSupported = /* @__PURE__ */ useSupported(() => SpeechRecognition); + if (isSupported.value) { + recognition = new SpeechRecognition(); + recognition.continuous = continuous; + recognition.interimResults = interimResults; + recognition.lang = toValue(lang); + recognition.maxAlternatives = maxAlternatives; + recognition.onstart = () => { + isListening.value = true; + isFinal.value = false; + }; + watch(lang, (lang) => { + if (recognition && !isListening.value) recognition.lang = lang; + }); + recognition.onresult = (event) => { + const currentResult = event.results[event.resultIndex]; + const { transcript, confidence: alternativeConfidence } = currentResult[0]; + isFinal.value = currentResult.isFinal; + result.value = transcript; + confidence.value = alternativeConfidence; + error.value = void 0; + }; + recognition.onerror = (event) => { + error.value = event; + }; + recognition.onend = () => { + isListening.value = false; + recognition.lang = toValue(lang); + }; + watch(isListening, (newValue, oldValue) => { + if (newValue === oldValue) return; + try { + if (newValue) recognition.start(); + else recognition.stop(); + } catch (err) { + error.value = err; + } + }); + } + tryOnScopeDispose(() => { + stop(); + }); + return { + isSupported, + isListening, + isFinal: shallowReadonly(isFinal), + recognition, + result: shallowReadonly(result), + confidence: shallowReadonly(confidence), + error, + toggle, + start, + stop + }; +} +//#endregion +//#region useSpeechSynthesis/index.ts +/** +* Reactive SpeechSynthesis. +* +* @see https://vueuse.org/useSpeechSynthesis +* @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis SpeechSynthesis +*/ +function useSpeechSynthesis(text, options = {}) { + const { pitch = 1, rate = 1, volume = 1, window = defaultWindow, onBoundary } = options; + const synth = window && window.speechSynthesis; + const isSupported = /* @__PURE__ */ useSupported(() => synth); + const isPlaying = shallowRef(false); + const status = shallowRef("init"); + const spokenText = toRef(text || ""); + const lang = toRef(options.lang || "en-US"); + const error = shallowRef(void 0); + const toggle = (value = !isPlaying.value) => { + isPlaying.value = value; + }; + const bindEventsForUtterance = (utterance) => { + utterance.lang = toValue(lang); + utterance.voice = toValue(options.voice) || null; + utterance.pitch = toValue(pitch); + utterance.rate = toValue(rate); + utterance.volume = toValue(volume); + utterance.onstart = () => { + isPlaying.value = true; + status.value = "play"; + }; + utterance.onpause = () => { + isPlaying.value = false; + status.value = "pause"; + }; + utterance.onresume = () => { + isPlaying.value = true; + status.value = "play"; + }; + utterance.onend = () => { + isPlaying.value = false; + status.value = "end"; + }; + utterance.onerror = (event) => { + error.value = event; + }; + utterance.onboundary = (event) => { + onBoundary === null || onBoundary === void 0 || onBoundary(event); + }; + }; + const utterance = computed(() => { + isPlaying.value = false; + status.value = "init"; + const newUtterance = new SpeechSynthesisUtterance(spokenText.value); + bindEventsForUtterance(newUtterance); + return newUtterance; + }); + const speak = () => { + synth.cancel(); + if (utterance) synth.speak(utterance.value); + }; + const stop = () => { + synth.cancel(); + isPlaying.value = false; + }; + if (isSupported.value) { + bindEventsForUtterance(utterance.value); + watch(lang, (lang) => { + if (utterance.value && !isPlaying.value) utterance.value.lang = lang; + }); + if (options.voice) watch(options.voice, () => { + synth.cancel(); + }); + watch(isPlaying, () => { + if (isPlaying.value) synth.resume(); + else synth.pause(); + }); + } + tryOnScopeDispose(() => { + isPlaying.value = false; + }); + return { + isSupported, + isPlaying, + status, + utterance, + error, + stop, + toggle, + speak + }; +} +//#endregion +//#region useStepper/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useStepper(steps, initialStep) { + const stepsRef = ref(steps); + const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value)); + const index = ref(stepNames.value.indexOf(initialStep !== null && initialStep !== void 0 ? initialStep : stepNames.value[0])); + const current = computed(() => at(index.value)); + const isFirst = computed(() => index.value === 0); + const isLast = computed(() => index.value === stepNames.value.length - 1); + const next = computed(() => stepNames.value[index.value + 1]); + const previous = computed(() => stepNames.value[index.value - 1]); + function at(index) { + if (Array.isArray(stepsRef.value)) return stepsRef.value[index]; + return stepsRef.value[stepNames.value[index]]; + } + function get(step) { + if (!stepNames.value.includes(step)) return; + return at(stepNames.value.indexOf(step)); + } + function goTo(step) { + if (stepNames.value.includes(step)) index.value = stepNames.value.indexOf(step); + } + function goToNext() { + if (isLast.value) return; + index.value++; + } + function goToPrevious() { + if (isFirst.value) return; + index.value--; + } + function goBackTo(step) { + if (isAfter(step)) goTo(step); + } + function isNext(step) { + return stepNames.value.indexOf(step) === index.value + 1; + } + function isPrevious(step) { + return stepNames.value.indexOf(step) === index.value - 1; + } + function isCurrent(step) { + return stepNames.value.indexOf(step) === index.value; + } + function isBefore(step) { + return index.value < stepNames.value.indexOf(step); + } + function isAfter(step) { + return index.value > stepNames.value.indexOf(step); + } + return { + steps: stepsRef, + stepNames, + index, + current, + next, + previous, + isFirst, + isLast, + at, + get, + goTo, + goToNext, + goToPrevious, + goBackTo, + isNext, + isPrevious, + isCurrent, + isBefore, + isAfter + }; +} +//#endregion +//#region useStorageAsync/index.ts +/** +* Reactive Storage with async support. +* +* @see https://vueuse.org/useStorageAsync +* @param key +* @param initialValue +* @param storage +* @param options +*/ +function useStorageAsync(key, initialValue, storage, options = {}) { + var _options$serializer; + const { flush = "pre", deep = true, listenToStorageChanges = true, writeDefaults = true, mergeDefaults = false, shallow, window = defaultWindow, eventFilter, onError = (e) => { + console.error(e); + }, onReady } = options; + const rawInit = toValue(initialValue); + const type = guessSerializerType(rawInit); + const data = (shallow ? shallowRef : ref)(toValue(initialValue)); + const serializer = (_options$serializer = options.serializer) !== null && _options$serializer !== void 0 ? _options$serializer : StorageSerializers[type]; + if (!storage) try { + storage = getSSRHandler("getDefaultStorageAsync", () => defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.localStorage)(); + } catch (e) { + onError(e); + } + async function read(event) { + if (!storage || event && event.key !== key) return; + try { + const rawValue = event ? event.newValue : await storage.getItem(key); + if (rawValue == null) { + data.value = rawInit; + if (writeDefaults && rawInit !== null) await storage.setItem(key, await serializer.write(rawInit)); + } else if (mergeDefaults) { + const value = await serializer.read(rawValue); + if (typeof mergeDefaults === "function") data.value = mergeDefaults(value, rawInit); + else if (type === "object" && !Array.isArray(value)) data.value = { + ...rawInit, + ...value + }; + else data.value = value; + } else data.value = await serializer.read(rawValue); + } catch (e) { + onError(e); + } + } + const promise = new Promise((resolve) => { + read().then(() => { + onReady === null || onReady === void 0 || onReady(data.value); + resolve(data); + }); + }); + if (window && listenToStorageChanges) useEventListener(window, "storage", (e) => Promise.resolve().then(() => read(e)), { passive: true }); + if (storage) watchWithFilter(data, async () => { + try { + if (data.value == null) await storage.removeItem(key); + else await storage.setItem(key, await serializer.write(data.value)); + } catch (e) { + onError(e); + } + }, { + flush, + deep, + eventFilter + }); + Object.assign(data, { + then: promise.then.bind(promise), + catch: promise.catch.bind(promise) + }); + return data; +} +//#endregion +//#region useStyleTag/index.ts +let _id = 0; +const _refCount = /* @__PURE__ */ new WeakMap(); +/** +* Inject <style> element in head. +* +* Overload: Omitted id +* +* @see https://vueuse.org/useStyleTag +* @param css +* @param options +*/ +function useStyleTag(css, options = {}) { + const isLoaded = shallowRef(false); + const { document = defaultDocument, immediate = true, manual = false, id = `vueuse_styletag_${++_id}` } = options; + const cssRef = shallowRef(css); + let stop = () => {}; + const load = () => { + var _refCount$get; + if (!document) return; + const el = document.getElementById(id) || document.createElement("style"); + if (!el.isConnected) { + el.id = id; + if (options.nonce) el.nonce = options.nonce; + if (options.media) el.media = options.media; + document.head.appendChild(el); + } + if (isLoaded.value) return; + _refCount.set(el, ((_refCount$get = _refCount.get(el)) !== null && _refCount$get !== void 0 ? _refCount$get : 0) + 1); + stop = watch(cssRef, (value) => { + el.textContent = value; + }, { immediate: true }); + isLoaded.value = true; + }; + const unload = () => { + if (!document || !isLoaded.value) return; + stop(); + const el = document.getElementById(id); + if (el) { + var _refCount$get2; + const count = ((_refCount$get2 = _refCount.get(el)) !== null && _refCount$get2 !== void 0 ? _refCount$get2 : 1) - 1; + if (count <= 0) { + _refCount.delete(el); + document.head.removeChild(el); + } else _refCount.set(el, count); + } + isLoaded.value = false; + }; + if (immediate && !manual) tryOnMounted(load); + if (!manual) tryOnScopeDispose(unload); + return { + id, + css: cssRef, + unload, + load, + isLoaded: shallowReadonly(isLoaded) + }; +} +//#endregion +//#region useSwipe/index.ts +/** +* Reactive swipe detection. +* +* @see https://vueuse.org/useSwipe +* @param target +* @param options +*/ +function useSwipe(target, options = {}) { + const { threshold = 50, onSwipe, onSwipeEnd, onSwipeStart, passive = true } = options; + const coordsStart = reactive({ + x: 0, + y: 0 + }); + const coordsEnd = reactive({ + x: 0, + y: 0 + }); + const diffX = computed(() => coordsStart.x - coordsEnd.x); + const diffY = computed(() => coordsStart.y - coordsEnd.y); + const { max, abs } = Math; + const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold); + const isSwiping = shallowRef(false); + const direction = computed(() => { + if (!isThresholdExceeded.value) return "none"; + if (abs(diffX.value) > abs(diffY.value)) return diffX.value > 0 ? "left" : "right"; + else return diffY.value > 0 ? "up" : "down"; + }); + const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY]; + const updateCoordsStart = (x, y) => { + coordsStart.x = x; + coordsStart.y = y; + }; + const updateCoordsEnd = (x, y) => { + coordsEnd.x = x; + coordsEnd.y = y; + }; + const listenerOptions = { + passive, + capture: !passive + }; + const onTouchEnd = (e) => { + if (isSwiping.value) onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd(e, direction.value); + isSwiping.value = false; + }; + const stops = [ + useEventListener(target, "touchstart", (e) => { + if (e.touches.length !== 1) return; + const [x, y] = getTouchEventCoords(e); + updateCoordsStart(x, y); + updateCoordsEnd(x, y); + onSwipeStart === null || onSwipeStart === void 0 || onSwipeStart(e); + }, listenerOptions), + useEventListener(target, "touchmove", (e) => { + if (e.touches.length !== 1) return; + const [x, y] = getTouchEventCoords(e); + updateCoordsEnd(x, y); + if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value)) e.preventDefault(); + if (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true; + if (isSwiping.value) onSwipe === null || onSwipe === void 0 || onSwipe(e); + }, listenerOptions), + useEventListener(target, ["touchend", "touchcancel"], onTouchEnd, listenerOptions) + ]; + const stop = () => stops.forEach((s) => s()); + return { + isSwiping, + direction, + coordsStart, + coordsEnd, + lengthX: diffX, + lengthY: diffY, + stop + }; +} +//#endregion +//#region useTemplateRefsList/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useTemplateRefsList() { + const refs = ref([]); + refs.value.set = (el) => { + if (el) refs.value.push(el); + }; + onBeforeUpdate(() => { + refs.value.length = 0; + }); + return refs; +} +//#endregion +//#region useTemporalNow/index.ts +function resolveTemporal(custom) { + if (custom) return custom; + return typeof Temporal === "undefined" ? void 0 : Temporal; +} +function assertTemporal(impl) { + if (!impl) throw new Error("[VueUse] No `Temporal` implementation found. See https://vueuse.org/useTemporalNow for details."); + return impl; +} +/** +* Reactive Temporal API with timezone and calendar support. +* +* @see https://vueuse.org/useTemporalNow +* @param options - Configuration options +*/ +function useTemporalNow(options = {}) { + const { timezone: initialTimezone = "UTC", calendar: initialCalendar = "gregory", scheduler = useRafFn, temporal: customTemporal } = options; + const TemporalImpl = assertTemporal(resolveTemporal(customTemporal)); + const timezone = shallowRef(initialTimezone); + const calendar = shallowRef(initialCalendar); + const now = shallowRef(TemporalImpl.Now.zonedDateTimeISO(timezone.value).withCalendar(calendar.value)); + function updateNow() { + now.value = TemporalImpl.Now.zonedDateTimeISO(timezone.value).withCalendar(calendar.value); + } + const { isActive, pause, resume } = scheduler(updateNow); + watch([timezone, calendar], updateNow); + const toTimezone = (tz) => now.value.withTimeZone(tz); + const toCalendar = (cal) => now.value.withCalendar(cal); + const toPlainDate = () => now.value.toPlainDate(); + const toPlainTime = () => now.value.toPlainTime(); + const toPlainDateTime = () => now.value.toPlainDateTime(); + const format = (formatOptions) => now.value.toLocaleString(void 0, formatOptions); + const add = (duration) => now.value.add(duration); + const subtract = (duration) => now.value.subtract(duration); + const compare = (other) => TemporalImpl.ZonedDateTime.compare(now.value, other); + return { + now, + timezone, + calendar, + toTimezone, + toCalendar, + toPlainDate, + toPlainTime, + toPlainDateTime, + format, + add, + subtract, + compare, + isActive, + pause, + resume + }; +} +//#endregion +//#region useTextDirection/index.ts +/** +* Reactive dir of the element's text. +* +* @see https://vueuse.org/useTextDirection +* +* @__NO_SIDE_EFFECTS__ +*/ +function useTextDirection(options = {}) { + const { document = defaultDocument, selector = "html", observe = false, initialValue = "ltr" } = options; + function getValue() { + var _ref, _document$querySelect; + return (_ref = document === null || document === void 0 || (_document$querySelect = document.querySelector(selector)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getAttribute("dir")) !== null && _ref !== void 0 ? _ref : initialValue; + } + const dir = shallowRef(getValue()); + tryOnMounted(() => dir.value = getValue()); + if (observe && document) useMutationObserver(document.querySelector(selector), () => dir.value = getValue(), { attributes: true }); + return computed({ + get() { + return dir.value; + }, + set(v) { + var _document$querySelect2, _document$querySelect3; + dir.value = v; + if (!document) return; + if (dir.value) (_document$querySelect2 = document.querySelector(selector)) === null || _document$querySelect2 === void 0 || _document$querySelect2.setAttribute("dir", dir.value); + else (_document$querySelect3 = document.querySelector(selector)) === null || _document$querySelect3 === void 0 || _document$querySelect3.removeAttribute("dir"); + } + }); +} +//#endregion +//#region useTextSelection/index.ts +function getRangesFromSelection(selection) { + var _selection$rangeCount; + const rangeCount = (_selection$rangeCount = selection.rangeCount) !== null && _selection$rangeCount !== void 0 ? _selection$rangeCount : 0; + return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i)); +} +/** +* Reactively track user text selection based on [`Window.getSelection`](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection). +* +* @see https://vueuse.org/useTextSelection +* +* @__NO_SIDE_EFFECTS__ +*/ +function useTextSelection(options = {}) { + var _window$getSelection; + const { window = defaultWindow } = options; + const selection = shallowRef((_window$getSelection = window === null || window === void 0 ? void 0 : window.getSelection()) !== null && _window$getSelection !== void 0 ? _window$getSelection : null); + const text = computed(() => { + var _selection$value$toSt, _selection$value; + return (_selection$value$toSt = (_selection$value = selection.value) === null || _selection$value === void 0 ? void 0 : _selection$value.toString()) !== null && _selection$value$toSt !== void 0 ? _selection$value$toSt : ""; + }); + const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []); + const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect())); + function onSelectionChange() { + selection.value = null; + if (window) selection.value = window.getSelection(); + } + if (window) useEventListener(window.document, "selectionchange", onSelectionChange, { passive: true }); + return { + text, + rects, + ranges, + selection + }; +} +//#endregion +//#region useTextareaAutosize/index.ts +/** +* Call window.requestAnimationFrame(), if not available, just call the function +* +* @param window +* @param fn +*/ +function tryRequestAnimationFrame(window = defaultWindow, fn) { + if (window && typeof window.requestAnimationFrame === "function") window.requestAnimationFrame(fn); + else fn(); +} +function useTextareaAutosize(options = {}) { + var _options$input, _options$styleProp; + const { window = defaultWindow } = options; + const textarea = toRef(options === null || options === void 0 ? void 0 : options.element); + const input = toRef((_options$input = options === null || options === void 0 ? void 0 : options.input) !== null && _options$input !== void 0 ? _options$input : ""); + const styleProp = (_options$styleProp = options === null || options === void 0 ? void 0 : options.styleProp) !== null && _options$styleProp !== void 0 ? _options$styleProp : "height"; + const textareaScrollHeight = shallowRef(1); + const textareaOldWidth = shallowRef(0); + function triggerResize() { + var _textarea$value; + if (!textarea.value) return; + let height = ""; + const maxHeight = options === null || options === void 0 ? void 0 : options.maxHeight; + textarea.value.style[styleProp] = "1px"; + textareaScrollHeight.value = (_textarea$value = textarea.value) === null || _textarea$value === void 0 ? void 0 : _textarea$value.scrollHeight; + const _styleTarget = toValue(options === null || options === void 0 ? void 0 : options.styleTarget); + const styleHeight = maxHeight != null ? `${Math.min(textareaScrollHeight.value, maxHeight)}px` : `${textareaScrollHeight.value}px`; + if (_styleTarget) _styleTarget.style[styleProp] = styleHeight; + else height = styleHeight; + textarea.value.style[styleProp] = height; + } + watch([input, textarea], () => nextTick(triggerResize), { immediate: true }); + watch(textareaScrollHeight, () => { + var _options$onResize; + return options === null || options === void 0 || (_options$onResize = options.onResize) === null || _options$onResize === void 0 ? void 0 : _options$onResize.call(options); + }); + useResizeObserver(textarea, ([{ contentRect }]) => { + if (textareaOldWidth.value === contentRect.width) return; + tryRequestAnimationFrame(window, () => { + textareaOldWidth.value = contentRect.width; + triggerResize(); + }); + }); + if (options === null || options === void 0 ? void 0 : options.watch) watch(options.watch, triggerResize, { + immediate: true, + deep: true + }); + return { + textarea, + input, + triggerResize + }; +} +//#endregion +//#region useThrottledRefHistory/index.ts +/** +* Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with throttled filter. +* +* @see https://vueuse.org/useThrottledRefHistory +* @param source +* @param options +*/ +function useThrottledRefHistory(source, options = {}) { + const { throttle = 200, trailing = true } = options; + const filter = throttleFilter(throttle, trailing); + return { ...useRefHistory(source, { + ...options, + eventFilter: filter + }) }; +} +//#endregion +//#region useTimeAgo/index.ts +const DEFAULT_UNITS = [ + { + max: 6e4, + value: 1e3, + name: "second" + }, + { + max: 276e4, + value: 6e4, + name: "minute" + }, + { + max: 72e6, + value: 36e5, + name: "hour" + }, + { + max: 5184e5, + value: 864e5, + name: "day" + }, + { + max: 24192e5, + value: 6048e5, + name: "week" + }, + { + max: 28512e6, + value: 2592e6, + name: "month" + }, + { + max: Number.POSITIVE_INFINITY, + value: 31536e6, + name: "year" + } +]; +const DEFAULT_MESSAGES = { + justNow: "just now", + past: (n) => /\d/.test(n) ? `${n} ago` : n, + future: (n) => /\d/.test(n) ? `in ${n}` : n, + month: (n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`, + year: (n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`, + day: (n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`, + week: (n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`, + hour: (n) => `${n} hour${n > 1 ? "s" : ""}`, + minute: (n) => `${n} minute${n > 1 ? "s" : ""}`, + second: (n) => `${n} second${n > 1 ? "s" : ""}`, + invalid: "" +}; +function DEFAULT_FORMATTER(date) { + return date.toISOString().slice(0, 10); +} +/* @__NO_SIDE_EFFECTS__ */ +function useTimeAgo(time, options = {}) { + const { controls: exposeControls = false, scheduler = (cb) => useIntervalFn(cb, 3e4) } = options; + const { now, ...controls } = /* @__PURE__ */ useNow({ + scheduler, + controls: true + }); + const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now))); + if (exposeControls) return { + timeAgo, + ...controls + }; + else return timeAgo; +} +function formatTimeAgo(from, options = {}, now = Date.now()) { + const { max, messages = DEFAULT_MESSAGES, fullDateFormatter = DEFAULT_FORMATTER, units = DEFAULT_UNITS, showSecond = false, rounding = "round" } = options; + const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding]; + const diff = +now - +from; + const absDiff = Math.abs(diff); + function getValue(diff, unit) { + return roundFn(Math.abs(diff) / unit.value); + } + function format(diff, unit) { + const val = getValue(diff, unit); + const past = diff > 0; + const str = applyFormat(unit.name, val, past); + return applyFormat(past ? "past" : "future", str, past); + } + function applyFormat(name, val, isPast) { + const formatter = messages[name]; + if (typeof formatter === "function") return formatter(val, isPast); + return formatter.replace("{0}", val.toString()); + } + if (absDiff < 6e4 && !showSecond) return messages.justNow; + if (typeof max === "number" && absDiff > max) return fullDateFormatter(new Date(from)); + if (typeof max === "string") { + var _units$find; + const unitMax = (_units$find = units.find((i) => i.name === max)) === null || _units$find === void 0 ? void 0 : _units$find.max; + if (unitMax && absDiff > unitMax) return fullDateFormatter(new Date(from)); + } + for (const [idx, unit] of units.entries()) { + if (getValue(diff, unit) <= 0 && units[idx - 1]) return format(diff, units[idx - 1]); + if (absDiff < unit.max) return format(diff, unit); + } + return messages.invalid; +} +//#endregion +//#region useTimeAgoIntl/index.ts +const UNITS = [ + { + name: "year", + ms: 31536e6 + }, + { + name: "month", + ms: 2592e6 + }, + { + name: "week", + ms: 6048e5 + }, + { + name: "day", + ms: 864e5 + }, + { + name: "hour", + ms: 36e5 + }, + { + name: "minute", + ms: 6e4 + }, + { + name: "second", + ms: 1e3 + } +]; +function useTimeAgoIntl(time, options = {}) { + const { controls: exposeControls = false, scheduler = (cb) => useIntervalFn(cb, 3e4) } = options; + const { now, ...controls } = /* @__PURE__ */ useNow({ + scheduler, + controls: true + }); + const result = computed(() => getTimeAgoIntlResult(new Date(toValue(time)), options, toValue(now))); + const parts = computed(() => result.value.parts); + const timeAgoIntl = computed(() => formatTimeAgoIntlParts(parts.value, { + ...options, + locale: result.value.resolvedLocale + })); + return exposeControls ? { + timeAgoIntl, + parts, + ...controls + } : timeAgoIntl; +} +/** +* Non-reactive version of useTimeAgoIntl +*/ +function formatTimeAgoIntl(from, options = {}, now = Date.now()) { + const { parts, resolvedLocale } = getTimeAgoIntlResult(from, options, now); + return formatTimeAgoIntlParts(parts, { + ...options, + locale: resolvedLocale + }); +} +/** +* Get parts from `Intl.RelativeTimeFormat.formatToParts`. +*/ +function getTimeAgoIntlResult(from, options = {}, now = Date.now()) { + var _options$units; + const { locale, relativeTimeFormatOptions = { numeric: "auto" } } = options; + const rtf = new Intl.RelativeTimeFormat(locale, relativeTimeFormatOptions); + const { locale: resolvedLocale } = rtf.resolvedOptions(); + const diff = +from - +now; + const absDiff = Math.abs(diff); + const units = (_options$units = options.units) !== null && _options$units !== void 0 ? _options$units : UNITS; + for (const { name, ms } of units) if (absDiff >= ms) return { + resolvedLocale, + parts: rtf.formatToParts(Math.round(diff / ms), name) + }; + return { + resolvedLocale, + parts: rtf.formatToParts(0, units[units.length - 1].name) + }; +} +/** +* Format parts into a string +*/ +function formatTimeAgoIntlParts(parts, options = {}) { + const { insertSpace = true, joinParts, locale } = options; + if (typeof joinParts === "function") return joinParts(parts, locale); + if (!insertSpace) return parts.map((part) => part.value).join(""); + return parts.map((part) => part.value.trim()).join(" "); +} +//#endregion +//#region useTimeoutPoll/index.ts +function useTimeoutPoll(fn, interval, options = {}) { + const { immediate = true, immediateCallback = false } = options; + const { start } = useTimeoutFn(loop, interval, { immediate }); + const isActive = shallowRef(false); + async function loop() { + if (!isActive.value) return; + await fn(); + start(); + } + function resume() { + if (!isActive.value) { + isActive.value = true; + if (immediateCallback) fn(); + start(); + } + } + function pause() { + isActive.value = false; + } + if (immediate && isClient) resume(); + tryOnScopeDispose(pause); + return { + isActive, + pause, + resume + }; +} +//#endregion +//#region useTimestamp/index.ts +function useTimestamp(options = {}) { + const { controls: exposeControls = false, offset = 0, scheduler = useRafFn, callback } = options; + const ts = shallowRef(timestamp() + offset); + const update = () => ts.value = timestamp() + offset; + const controls = scheduler(callback ? () => { + update(); + callback(ts.value); + } : update); + if (exposeControls) return { + timestamp: ts, + ...controls + }; + else return ts; +} +//#endregion +//#region useTitle/index.ts +function useTitle(newTitle = null, options = {}) { + var _document$title, _ref; + const { document = defaultDocument, restoreOnUnmount = (t) => t } = options; + const originalTitle = (_document$title = document === null || document === void 0 ? void 0 : document.title) !== null && _document$title !== void 0 ? _document$title : ""; + const title = toRef((_ref = newTitle !== null && newTitle !== void 0 ? newTitle : document === null || document === void 0 ? void 0 : document.title) !== null && _ref !== void 0 ? _ref : null); + const isReadonly = !!(newTitle && typeof newTitle === "function"); + function format(t) { + if (!("titleTemplate" in options)) return t; + const template = options.titleTemplate || "%s"; + return typeof template === "function" ? template(t) : toValue(template).replace(/%s/g, t); + } + watch(title, (newValue, oldValue) => { + if (newValue !== oldValue && document) document.title = format(newValue !== null && newValue !== void 0 ? newValue : ""); + }, { immediate: true }); + if (options.observe && !options.titleTemplate && document && !isReadonly) { + var _document$head; + useMutationObserver((_document$head = document.head) === null || _document$head === void 0 ? void 0 : _document$head.querySelector("title"), () => { + if (document && document.title !== title.value) title.value = format(document.title); + }, { childList: true }); + } + tryOnScopeDispose(() => { + if (restoreOnUnmount) { + const restoredTitle = restoreOnUnmount(originalTitle, title.value || ""); + if (restoredTitle != null && document) document.title = restoredTitle; + } + }); + return title; +} +/** +* Common transitions +* +* @see https://easings.net +*/ +const TransitionPresets = /* #__PURE__ */ Object.assign({}, { linear: identity }, { + easeInSine: [ + .12, + 0, + .39, + 0 + ], + easeOutSine: [ + .61, + 1, + .88, + 1 + ], + easeInOutSine: [ + .37, + 0, + .63, + 1 + ], + easeInQuad: [ + .11, + 0, + .5, + 0 + ], + easeOutQuad: [ + .5, + 1, + .89, + 1 + ], + easeInOutQuad: [ + .45, + 0, + .55, + 1 + ], + easeInCubic: [ + .32, + 0, + .67, + 0 + ], + easeOutCubic: [ + .33, + 1, + .68, + 1 + ], + easeInOutCubic: [ + .65, + 0, + .35, + 1 + ], + easeInQuart: [ + .5, + 0, + .75, + 0 + ], + easeOutQuart: [ + .25, + 1, + .5, + 1 + ], + easeInOutQuart: [ + .76, + 0, + .24, + 1 + ], + easeInQuint: [ + .64, + 0, + .78, + 0 + ], + easeOutQuint: [ + .22, + 1, + .36, + 1 + ], + easeInOutQuint: [ + .83, + 0, + .17, + 1 + ], + easeInExpo: [ + .7, + 0, + .84, + 0 + ], + easeOutExpo: [ + .16, + 1, + .3, + 1 + ], + easeInOutExpo: [ + .87, + 0, + .13, + 1 + ], + easeInCirc: [ + .55, + 0, + 1, + .45 + ], + easeOutCirc: [ + 0, + .55, + .45, + 1 + ], + easeInOutCirc: [ + .85, + 0, + .15, + 1 + ], + easeInBack: [ + .36, + 0, + .66, + -.56 + ], + easeOutBack: [ + .34, + 1.56, + .64, + 1 + ], + easeInOutBack: [ + .68, + -.6, + .32, + 1.6 + ] +}); +/** +* Create an easing function from cubic bezier points. +*/ +function createEasingFunction([p0, p1, p2, p3]) { + const a = (a1, a2) => 1 - 3 * a2 + 3 * a1; + const b = (a1, a2) => 3 * a2 - 6 * a1; + const c = (a1) => 3 * a1; + const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t; + const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1); + const getTforX = (x) => { + let aGuessT = x; + for (let i = 0; i < 4; ++i) { + const currentSlope = getSlope(aGuessT, p0, p2); + if (currentSlope === 0) return aGuessT; + const currentX = calcBezier(aGuessT, p0, p2) - x; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + }; + return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3); +} +function lerp(a, b, alpha) { + return a + alpha * (b - a); +} +function defaultInterpolation(a, b, t) { + const aVal = toValue(a); + const bVal = toValue(b); + if (typeof aVal === "number" && typeof bVal === "number") return lerp(aVal, bVal, t); + if (Array.isArray(aVal) && Array.isArray(bVal)) return aVal.map((v, i) => lerp(v, toValue(bVal[i]), t)); + throw new TypeError("Unknown transition type, specify an interpolation function."); +} +function normalizeEasing(easing) { + var _toValue; + return typeof easing === "function" ? easing : (_toValue = toValue(easing)) !== null && _toValue !== void 0 ? _toValue : identity; +} +/** +* Transition from one value to another. +* +* @param source +* @param from +* @param to +* @param options +*/ +function transition(source, from, to, options = {}) { + var _toValue2; + const { window = defaultWindow } = options; + const fromVal = toValue(from); + const toVal = toValue(to); + const duration = (_toValue2 = toValue(options.duration)) !== null && _toValue2 !== void 0 ? _toValue2 : 1e3; + const startedAt = Date.now(); + const endAt = Date.now() + duration; + const interpolation = typeof options.interpolation === "function" ? options.interpolation : defaultInterpolation; + const trans = typeof options.easing !== "undefined" ? normalizeEasing(options.easing) : normalizeEasing(options.transition); + const ease = typeof trans === "function" ? trans : createEasingFunction(trans); + return new Promise((resolve) => { + source.value = fromVal; + const tick = () => { + var _options$abort; + if ((_options$abort = options.abort) === null || _options$abort === void 0 ? void 0 : _options$abort.call(options)) { + resolve(); + return; + } + const now = Date.now(); + const alpha = ease((now - startedAt) / duration); + source.value = interpolation(fromVal, toVal, alpha); + if (now < endAt) window === null || window === void 0 || window.requestAnimationFrame(tick); + else { + source.value = toVal; + resolve(); + } + }; + tick(); + }); +} +/** +* Transition from one value to another. +* @deprecated The `executeTransition` function is deprecated, use `transition` instead. +* +* @param source +* @param from +* @param to +* @param options +*/ +function executeTransition(source, from, to, options = {}) { + return transition(source, from, to, options); +} +/** +* Follow value with a transition. +* +* @see https://vueuse.org/useTransition +* @param source +* @param options +*/ +function useTransition(source, options = {}) { + let currentId = 0; + const sourceVal = () => { + const v = toValue(source); + return typeof options.interpolation === "undefined" && Array.isArray(v) ? v.map(toValue) : v; + }; + const outputRef = shallowRef(sourceVal()); + watch(sourceVal, async (to) => { + var _options$onStarted, _options$onFinished; + if (toValue(options.disabled)) return; + const id = ++currentId; + if (options.delay) await promiseTimeout(toValue(options.delay)); + if (id !== currentId) return; + (_options$onStarted = options.onStarted) === null || _options$onStarted === void 0 || _options$onStarted.call(options); + await transition(outputRef, outputRef.value, to, { + ...options, + abort: () => { + var _options$abort2; + return id !== currentId || ((_options$abort2 = options.abort) === null || _options$abort2 === void 0 ? void 0 : _options$abort2.call(options)); + } + }); + (_options$onFinished = options.onFinished) === null || _options$onFinished === void 0 || _options$onFinished.call(options); + }, { deep: true }); + watch(() => toValue(options.disabled), (disabled) => { + if (disabled) { + currentId++; + outputRef.value = sourceVal(); + } + }); + tryOnScopeDispose(() => { + currentId++; + }); + return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value); +} +//#endregion +//#region useUrlSearchParams/index.ts +/** +* Reactive URLSearchParams +* +* @see https://vueuse.org/useUrlSearchParams +* @param mode +* @param options +*/ +function useUrlSearchParams(mode = "history", options = {}) { + const { initialValue = {}, removeNullishValues = true, removeFalsyValues = false, write: enableWrite = true, writeMode = "replace", window = defaultWindow, stringify = (params) => params.toString() } = options; + if (!window) return reactive(initialValue); + const state = reactive({}); + function getRawParams() { + if (mode === "history") return window.location.search || ""; + else if (mode === "hash") { + const hash = window.location.hash || ""; + const index = hash.indexOf("?"); + return index > 0 ? hash.slice(index) : ""; + } else return (window.location.hash || "").replace(/^#/, ""); + } + function constructQuery(params) { + const stringified = stringify(params); + if (mode === "history") return `${stringified ? `?${stringified}` : ""}${window.location.hash || ""}`; + if (mode === "hash-params") return `${window.location.search || ""}${stringified ? `#${stringified}` : ""}`; + const hash = window.location.hash || "#"; + const index = hash.indexOf("?"); + if (index > 0) return `${window.location.search || ""}${hash.slice(0, index)}${stringified ? `?${stringified}` : ""}`; + return `${window.location.search || ""}${hash}${stringified ? `?${stringified}` : ""}`; + } + function read() { + return new URLSearchParams(getRawParams()); + } + function updateState(params) { + const unusedKeys = new Set(Object.keys(state)); + for (const key of params.keys()) { + const paramsForKey = params.getAll(key); + state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || ""; + unusedKeys.delete(key); + } + Array.from(unusedKeys).forEach((key) => delete state[key]); + } + const { pause, resume } = watchPausable(state, () => { + const params = new URLSearchParams(""); + Object.keys(state).forEach((key) => { + const mapEntry = state[key]; + if (Array.isArray(mapEntry)) mapEntry.forEach((value) => params.append(key, value)); + else if (removeNullishValues && mapEntry == null) params.delete(key); + else if (removeFalsyValues && !mapEntry) params.delete(key); + else params.set(key, mapEntry); + }); + write(params, false); + }, { deep: true }); + function write(params, shouldUpdate, shouldWriteHistory = true) { + pause(); + if (shouldUpdate) updateState(params); + if (writeMode === "replace") window.history.replaceState(window.history.state, window.document.title, window.location.pathname + constructQuery(params)); + else if (shouldWriteHistory) window.history.pushState(window.history.state, window.document.title, window.location.pathname + constructQuery(params)); + nextTick(() => resume()); + } + function onChanged() { + if (!enableWrite) return; + write(read(), true, false); + } + const listenerOptions = { passive: true }; + useEventListener(window, "popstate", onChanged, listenerOptions); + if (mode !== "history") useEventListener(window, "hashchange", onChanged, listenerOptions); + const initial = read(); + if (initial.keys().next().value) updateState(initial); + else Object.assign(state, initialValue); + return state; +} +//#endregion +//#region useUserMedia/index.ts +/** +* Reactive `mediaDevices.getUserMedia` streaming +* +* @see https://vueuse.org/useUserMedia +* @param options +*/ +function useUserMedia(options = {}) { + var _options$enabled, _options$autoSwitch; + const enabled = shallowRef((_options$enabled = options.enabled) !== null && _options$enabled !== void 0 ? _options$enabled : false); + const autoSwitch = shallowRef((_options$autoSwitch = options.autoSwitch) !== null && _options$autoSwitch !== void 0 ? _options$autoSwitch : true); + const constraints = ref(options.constraints); + const { navigator = defaultNavigator } = options; + const isSupported = /* @__PURE__ */ useSupported(() => { + var _navigator$mediaDevic; + return navigator === null || navigator === void 0 || (_navigator$mediaDevic = navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : _navigator$mediaDevic.getUserMedia; + }); + const stream = shallowRef(); + function getDeviceOptions(type) { + switch (type) { + case "video": + if (constraints.value) return constraints.value.video || false; + break; + case "audio": if (constraints.value) return constraints.value.audio || false; + } + } + async function _start() { + if (!isSupported.value || stream.value) return; + stream.value = await navigator.mediaDevices.getUserMedia({ + video: getDeviceOptions("video"), + audio: getDeviceOptions("audio") + }); + return stream.value; + } + function _stop() { + var _stream$value; + (_stream$value = stream.value) === null || _stream$value === void 0 || _stream$value.getTracks().forEach((t) => t.stop()); + stream.value = void 0; + } + function stop() { + _stop(); + enabled.value = false; + } + async function start() { + await _start(); + if (stream.value) enabled.value = true; + return stream.value; + } + async function restart() { + _stop(); + return await start(); + } + watch(enabled, (v) => { + if (v) _start(); + else _stop(); + }, { immediate: true }); + watch(constraints, () => { + if (autoSwitch.value && stream.value) restart(); + }, { + immediate: true, + deep: true + }); + tryOnScopeDispose(() => { + stop(); + }); + return { + isSupported, + stream, + start, + stop, + restart, + constraints, + enabled, + autoSwitch + }; +} +//#endregion +//#region useVModel/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useVModel(props, key, emit, options = {}) { + var _vm$$emit, _vm$proxy; + const { clone = false, passive = false, eventName, deep = false, defaultValue, shouldEmit } = options; + const vm = getCurrentInstance(); + const _emit = emit || (vm === null || vm === void 0 ? void 0 : vm.emit) || (vm === null || vm === void 0 || (_vm$$emit = vm.$emit) === null || _vm$$emit === void 0 ? void 0 : _vm$$emit.bind(vm)) || (vm === null || vm === void 0 || (_vm$proxy = vm.proxy) === null || _vm$proxy === void 0 || (_vm$proxy = _vm$proxy.$emit) === null || _vm$proxy === void 0 ? void 0 : _vm$proxy.bind(vm === null || vm === void 0 ? void 0 : vm.proxy)); + let event = eventName; + if (!key) key = "modelValue"; + event = event || `update:${key.toString()}`; + const cloneFn = (val) => !clone ? val : typeof clone === "function" ? clone(val) : cloneFnJSON(val); + const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue; + const triggerEmit = (value) => { + if (shouldEmit) { + if (shouldEmit(value)) _emit(event, value); + } else _emit(event, value); + }; + if (passive) { + const initialValue = getValue(); + const proxy = ref(initialValue); + let isUpdating = false; + watch(() => props[key], (v) => { + if (!isUpdating) { + isUpdating = true; + proxy.value = cloneFn(v); + nextTick(() => isUpdating = false); + } + }); + watch(proxy, (v) => { + if (!isUpdating && (v !== props[key] || deep)) triggerEmit(v); + }, { deep }); + return proxy; + } else return computed({ + get() { + return getValue(); + }, + set(value) { + triggerEmit(value); + } + }); +} +//#endregion +//#region useVModels/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useVModels(props, emit, options = {}) { + const ret = {}; + for (const key in props) ret[key] = /* @__PURE__ */ useVModel(props, key, emit, options); + return ret; +} +//#endregion +//#region useVibrate/index.ts +/** +* Reactive vibrate +* +* @see https://vueuse.org/useVibrate +* @see https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useVibrate(options) { + const { pattern = [], scheduler, navigator = defaultNavigator } = options || {}; + const isSupported = /* @__PURE__ */ useSupported(() => typeof navigator !== "undefined" && "vibrate" in navigator); + const patternRef = toRef(pattern); + const vibrate = (pattern = patternRef.value) => { + if (isSupported.value) navigator.vibrate(pattern); + }; + const intervalControls = scheduler === null || scheduler === void 0 ? void 0 : scheduler(vibrate); + const stop = () => { + if (isSupported.value) navigator.vibrate(0); + intervalControls === null || intervalControls === void 0 || intervalControls.pause(); + }; + return { + isSupported, + pattern, + intervalControls, + vibrate, + stop + }; +} +//#endregion +//#region useVirtualList/index.ts +/** +* Please consider using [`vue-virtual-scroller`](https://github.com/Akryum/vue-virtual-scroller) if you are looking for more features. +*/ +function useVirtualList(list, options) { + const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = "itemHeight" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list); + return { + list: currentList, + scrollTo, + containerProps: { + ref: containerRef, + onScroll: () => { + calculateRange(); + }, + style: containerStyle + }, + wrapperProps + }; +} +function useVirtualListResources(list) { + const containerRef = shallowRef(null); + const size = useElementSize(containerRef); + const currentList = ref([]); + const source = shallowRef(list); + return { + state: ref({ + start: 0, + end: 10 + }), + source, + currentList, + size, + containerRef + }; +} +function createGetViewCapacity(state, source, itemSize) { + return (containerSize) => { + if (typeof itemSize === "number") return Math.ceil(containerSize / itemSize); + const { start = 0 } = state.value; + let sum = 0; + let capacity = 0; + for (let i = start; i < source.value.length; i++) { + const size = itemSize(i); + sum += size; + capacity = i; + if (sum > containerSize) break; + } + return capacity - start; + }; +} +function createGetOffset(source, itemSize) { + return (scrollDirection) => { + if (typeof itemSize === "number") return Math.floor(scrollDirection / itemSize) + 1; + let sum = 0; + let offset = 0; + for (let i = 0; i < source.value.length; i++) { + const size = itemSize(i); + sum += size; + if (sum >= scrollDirection) { + offset = i; + break; + } + } + return offset + 1; + }; +} +function createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) { + return () => { + const element = containerRef.value; + if (element) { + const offset = getOffset(type === "vertical" ? element.scrollTop : element.scrollLeft); + const viewCapacity = getViewCapacity(type === "vertical" ? element.clientHeight : element.clientWidth); + const from = offset - overscan; + const to = offset + viewCapacity + overscan; + state.value = { + start: from < 0 ? 0 : from, + end: to > source.value.length ? source.value.length : to + }; + currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({ + data: ele, + index: index + state.value.start + })); + } + }; +} +function createGetDistance(itemSize, source) { + return (index) => { + if (typeof itemSize === "number") return index * itemSize; + return source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0); + }; +} +function useWatchForSizes(size, listRef, totalSize, containerRef, calculateRange) { + watch([ + size.width, + size.height, + listRef, + totalSize, + containerRef + ], () => { + calculateRange(); + }); +} +function createComputedTotalSize(itemSize, source) { + return computed(() => { + if (typeof itemSize === "number") return source.value.length * itemSize; + return source.value.reduce((sum, _, index) => sum + itemSize(index), 0); + }); +} +const scrollToDictionaryForElementScrollKey = { + horizontal: "scrollLeft", + vertical: "scrollTop" +}; +const scrollToDictionaryForElementScrollToKey = { + horizontal: "left", + vertical: "top" +}; +const defaultScrollToOptions = { + behavior: "auto", + block: "start", + inline: "nearest" +}; +function createScrollTo(type, calculateRange, getDistance, containerRef, itemSize) { + return (index, options = defaultScrollToOptions) => { + if (!containerRef.value) return; + options = { + ...defaultScrollToOptions, + ...options + }; + let offset = 0; + const axisToCheck = options[type === "horizontal" ? "inline" : "block"]; + if (axisToCheck) { + const containerSize = type === "horizontal" ? containerRef.value.clientWidth : containerRef.value.clientHeight; + const fullItemSize = typeof itemSize === "number" ? itemSize : itemSize(index); + if (axisToCheck === "center") offset = containerSize / 2 - fullItemSize / 2; + else if (axisToCheck === "end") offset = containerSize - fullItemSize; + else if (axisToCheck === "nearest") { + const containerScrollPosition = containerRef.value[scrollToDictionaryForElementScrollKey[type]]; + if (getDistance(index) > containerScrollPosition + containerSize / 2) offset = containerSize - fullItemSize; + } + } + containerRef.value.scrollTo({ + [scrollToDictionaryForElementScrollToKey[type]]: getDistance(index) - offset, + behavior: options.behavior + }); + calculateRange(); + }; +} +function useHorizontalVirtualList(options, list) { + const resources = useVirtualListResources(list); + const { state, source, currentList, size, containerRef } = resources; + const containerStyle = { overflowX: "auto" }; + const { itemWidth, overscan = 5 } = options; + const getViewCapacity = createGetViewCapacity(state, source, itemWidth); + const calculateRange = createCalculateRange("horizontal", overscan, createGetOffset(source, itemWidth), getViewCapacity, resources); + const getDistanceLeft = createGetDistance(itemWidth, source); + const offsetLeft = computed(() => getDistanceLeft(state.value.start)); + const totalWidth = createComputedTotalSize(itemWidth, source); + useWatchForSizes(size, source, totalWidth, containerRef, calculateRange); + return { + scrollTo: createScrollTo("horizontal", calculateRange, getDistanceLeft, containerRef, itemWidth), + calculateRange, + wrapperProps: computed(() => { + return { style: { + height: "100%", + width: `${totalWidth.value - offsetLeft.value}px`, + marginLeft: `${offsetLeft.value}px`, + display: "flex" + } }; + }), + containerStyle, + currentList, + containerRef + }; +} +function useVerticalVirtualList(options, list) { + const resources = useVirtualListResources(list); + const { state, source, currentList, size, containerRef } = resources; + const containerStyle = { overflowY: "auto" }; + const { itemHeight, overscan = 5 } = options; + const getViewCapacity = createGetViewCapacity(state, source, itemHeight); + const calculateRange = createCalculateRange("vertical", overscan, createGetOffset(source, itemHeight), getViewCapacity, resources); + const getDistanceTop = createGetDistance(itemHeight, source); + const offsetTop = computed(() => getDistanceTop(state.value.start)); + const totalHeight = createComputedTotalSize(itemHeight, source); + useWatchForSizes(size, source, totalHeight, containerRef, calculateRange); + return { + calculateRange, + scrollTo: createScrollTo("vertical", calculateRange, getDistanceTop, containerRef, itemHeight), + containerStyle, + wrapperProps: computed(() => { + return { style: { + width: "100%", + height: `${totalHeight.value - offsetTop.value}px`, + marginTop: `${offsetTop.value}px` + } }; + }), + currentList, + containerRef + }; +} +//#endregion +//#region useWakeLock/index.ts +/** +* Reactive Screen Wake Lock API. +* +* @see https://vueuse.org/useWakeLock +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useWakeLock(options = {}) { + const { navigator = defaultNavigator, document = defaultDocument } = options; + const requestedType = shallowRef(false); + const sentinel = shallowRef(null); + const documentVisibility = useDocumentVisibility({ document }); + const isSupported = /* @__PURE__ */ useSupported(() => navigator && "wakeLock" in navigator); + const isActive = computed(() => !!sentinel.value && documentVisibility.value === "visible"); + if (isSupported.value) { + useEventListener(sentinel, "release", () => { + var _sentinel$value$type, _sentinel$value; + requestedType.value = (_sentinel$value$type = (_sentinel$value = sentinel.value) === null || _sentinel$value === void 0 ? void 0 : _sentinel$value.type) !== null && _sentinel$value$type !== void 0 ? _sentinel$value$type : false; + }, { passive: true }); + whenever(() => documentVisibility.value === "visible" && (document === null || document === void 0 ? void 0 : document.visibilityState) === "visible" && requestedType.value, (type) => { + requestedType.value = false; + forceRequest(type); + }); + } + async function forceRequest(type) { + var _sentinel$value2; + await ((_sentinel$value2 = sentinel.value) === null || _sentinel$value2 === void 0 ? void 0 : _sentinel$value2.release()); + sentinel.value = isSupported.value ? await navigator.wakeLock.request(type) : null; + } + async function request(type) { + if (documentVisibility.value === "visible") await forceRequest(type); + else requestedType.value = type; + } + async function release() { + requestedType.value = false; + const s = sentinel.value; + sentinel.value = null; + await (s === null || s === void 0 ? void 0 : s.release()); + } + tryOnScopeDispose(() => { + release(); + }); + return { + sentinel, + isSupported, + isActive, + request, + forceRequest, + release + }; +} +//#endregion +//#region useWebMCP/index.ts +function safeStringify(value) { + try { + return JSON.stringify(value); + } catch (_unused) { + return String(value); + } +} +function toToolResponse(value) { + if (value && typeof value === "object" && Array.isArray(value.content)) return value; + if (value === void 0 || value === null) return { content: [] }; + if (typeof value === "string") return { content: [{ + type: "text", + text: value + }] }; + return { content: [{ + type: "text", + text: safeStringify(value) + }] }; +} +function toErrorResponse(error) { + return { + content: [{ + type: "text", + text: error instanceof Error ? error.message : typeof error === "string" ? error : safeStringify(error) + }], + isError: true + }; +} +/** +* Register a [WebMCP](https://github.com/webmachinelearning/webmcp) tool and +* tie its lifecycle to the current scope. +* +* The tool is registered when the composable runs (and whenever a discoverable +* part — `name`, `description`, `inputSchema`, `annotations` or `enabled` — +* changes) and unregistered automatically on scope dispose, so the tools an +* agent sees stay in lockstep with what is on screen. Call it multiple times to +* register multiple tools. +* +* The API is experimental (`document.modelContext`), so this feature-detects +* and degrades to a no-op wherever it is absent. +* +* @see https://vueuse.org/useWebMCP +* @see https://github.com/webmachinelearning/webmcp +*/ +function useWebMCP(options) { + const { document = defaultDocument, enabled = true } = options; + const doc = document; + const isSupported = /* @__PURE__ */ useSupported(() => { + var _doc$modelContext; + return typeof (doc === null || doc === void 0 || (_doc$modelContext = doc.modelContext) === null || _doc$modelContext === void 0 ? void 0 : _doc$modelContext.registerTool) === "function"; + }); + const isRegistered = shallowRef(false); + const error = shallowRef(null); + let controller; + function cleanup() { + controller === null || controller === void 0 || controller.abort(); + controller = void 0; + isRegistered.value = false; + } + function register() { + cleanup(); + error.value = null; + if (!isSupported.value || !toValue(enabled)) return; + controller = new AbortController(); + try { + doc.modelContext.registerTool({ + name: toValue(options.name), + description: toValue(options.description), + inputSchema: toValue(options.inputSchema), + annotations: toValue(options.annotations), + async execute(args) { + try { + const result = await options.execute(args); + const shaped = options.formatOutput ? options.formatOutput(result, args) : result; + if (shaped instanceof Error) throw shaped; + return toToolResponse(shaped); + } catch (err) { + try { + var _options$onError; + (_options$onError = options.onError) === null || _options$onError === void 0 || _options$onError.call(options, err); + } catch (_unused2) {} + return toErrorResponse(err); + } + } + }, { signal: controller.signal }); + isRegistered.value = true; + } catch (err) { + error.value = err instanceof Error ? err : new Error(safeStringify(err)); + isRegistered.value = false; + } + } + watch([ + isSupported, + () => toValue(options.name), + () => toValue(options.description), + () => toValue(options.inputSchema) ? safeStringify(toValue(options.inputSchema)) : "", + () => toValue(options.annotations) ? safeStringify(toValue(options.annotations)) : "", + () => toValue(enabled) + ], register, { + immediate: true, + flush: "post" + }); + tryOnScopeDispose(cleanup); + return { + isSupported, + isRegistered, + error + }; +} +//#endregion +//#region useWebNotification/index.ts +/** +* Reactive useWebNotification +* +* @see https://vueuse.org/useWebNotification +* @see https://developer.mozilla.org/en-US/docs/Web/API/notification +*/ +function useWebNotification(options = {}) { + const { window = defaultWindow, requestPermissions: _requestForPermissions = true } = options; + const defaultWebNotificationOptions = options; + const isSupported = /* @__PURE__ */ useSupported(() => { + if (!window || !("Notification" in window)) return false; + if (Notification.permission === "granted") return true; + try { + const notification = new Notification(""); + notification.onshow = () => { + notification.close(); + }; + } catch (e) { + if (e.name === "TypeError") return false; + } + return true; + }); + const permissionGranted = shallowRef(isSupported.value && "permission" in Notification && Notification.permission === "granted"); + const notification = shallowRef(null); + const ensurePermissions = async () => { + if (!isSupported.value) return; + if (!permissionGranted.value && Notification.permission !== "denied") { + if (await Notification.requestPermission() === "granted") permissionGranted.value = true; + } + return permissionGranted.value; + }; + const { on: onClick, trigger: clickTrigger } = createEventHook(); + const { on: onShow, trigger: showTrigger } = createEventHook(); + const { on: onError, trigger: errorTrigger } = createEventHook(); + const { on: onClose, trigger: closeTrigger } = createEventHook(); + const show = async (overrides) => { + if (!isSupported.value || !permissionGranted.value) return; + const options = Object.assign({}, defaultWebNotificationOptions, overrides); + notification.value = new Notification(options.title || "", options); + notification.value.onclick = clickTrigger; + notification.value.onshow = showTrigger; + notification.value.onerror = errorTrigger; + notification.value.onclose = closeTrigger; + return notification.value; + }; + const close = () => { + if (notification.value) notification.value.close(); + notification.value = null; + }; + if (_requestForPermissions) tryOnMounted(ensurePermissions); + tryOnScopeDispose(close); + if (isSupported.value && window) { + const document = window.document; + useEventListener(document, "visibilitychange", (e) => { + e.preventDefault(); + if (document.visibilityState === "visible") close(); + }); + } + return { + isSupported, + notification, + ensurePermissions, + permissionGranted, + show, + close, + onClick, + onShow, + onError, + onClose + }; +} +//#endregion +//#region useWebSocket/index.ts +const DEFAULT_PING_MESSAGE = "ping"; +function resolveNestedOptions(options) { + if (options === true) return {}; + return options; +} +/** +* Reactive WebSocket client. +* +* @see https://vueuse.org/useWebSocket +* @param url +*/ +function useWebSocket(url, options = {}) { + const { onConnected, onDisconnected, onError, onMessage, immediate = true, autoConnect = true, autoClose = true, protocols = [] } = options; + const data = shallowRef(null); + const status = shallowRef("CLOSED"); + const wsRef = shallowRef(); + const urlRef = toRef(url); + let heartbeatPause; + let heartbeatResume; + let explicitlyClosed = false; + let retried = 0; + let bufferedData = []; + let retryTimeout; + let pongTimeoutWait; + const _sendBuffer = () => { + if (bufferedData.length && wsRef.value && status.value === "OPEN") { + for (const buffer of bufferedData) wsRef.value.send(buffer); + bufferedData = []; + } + }; + const resetRetry = () => { + if (retryTimeout != null) { + clearTimeout(retryTimeout); + retryTimeout = void 0; + } + }; + const resetHeartbeat = () => { + clearTimeout(pongTimeoutWait); + pongTimeoutWait = void 0; + }; + const close = (code = 1e3, reason) => { + resetRetry(); + if (!isClient && !isWorker || !wsRef.value) return; + explicitlyClosed = true; + resetHeartbeat(); + heartbeatPause === null || heartbeatPause === void 0 || heartbeatPause(); + wsRef.value.close(code, reason); + wsRef.value = void 0; + status.value = "CLOSED"; + }; + const send = (data, useBuffer = true) => { + if (!wsRef.value || status.value !== "OPEN") { + if (useBuffer) bufferedData.push(data); + return false; + } + _sendBuffer(); + wsRef.value.send(data); + return true; + }; + const _init = () => { + if (explicitlyClosed || typeof urlRef.value === "undefined") return; + const ws = new WebSocket(urlRef.value, protocols); + wsRef.value = ws; + status.value = "CONNECTING"; + ws.onopen = () => { + if (wsRef.value !== ws) return; + status.value = "OPEN"; + retried = 0; + onConnected === null || onConnected === void 0 || onConnected(ws); + heartbeatResume === null || heartbeatResume === void 0 || heartbeatResume(); + _sendBuffer(); + }; + ws.onclose = (ev) => { + if (wsRef.value === ws) status.value = "CLOSED"; + resetHeartbeat(); + heartbeatPause === null || heartbeatPause === void 0 || heartbeatPause(); + onDisconnected === null || onDisconnected === void 0 || onDisconnected(ws, ev); + if (!explicitlyClosed && options.autoReconnect && (wsRef.value == null || ws === wsRef.value)) { + const { retries = -1, delay = 1e3, onFailed } = resolveNestedOptions(options.autoReconnect); + if ((typeof retries === "function" ? retries : () => typeof retries === "number" && (retries < 0 || retried < retries))(retried)) { + retried += 1; + const delayTime = typeof delay === "function" ? delay(retried) : delay; + retryTimeout = setTimeout(_init, delayTime); + } else onFailed === null || onFailed === void 0 || onFailed(); + } + }; + ws.onerror = (e) => { + onError === null || onError === void 0 || onError(ws, e); + }; + ws.onmessage = (e) => { + if (wsRef.value !== ws) return; + if (options.heartbeat) { + resetHeartbeat(); + const { message = DEFAULT_PING_MESSAGE, responseMessage = message } = resolveNestedOptions(options.heartbeat); + if (e.data === toValue(responseMessage)) return; + } + data.value = e.data; + onMessage === null || onMessage === void 0 || onMessage(ws, e); + }; + }; + if (options.heartbeat) { + const { message = DEFAULT_PING_MESSAGE, scheduler = (cb) => useIntervalFn(cb, 1e3, { immediate: false }), pongTimeout = 1e3 } = resolveNestedOptions(options.heartbeat); + const { pause, resume } = scheduler(() => { + send(toValue(message), false); + if (pongTimeoutWait != null) return; + pongTimeoutWait = setTimeout(() => { + close(); + explicitlyClosed = false; + }, pongTimeout); + }); + heartbeatPause = pause; + heartbeatResume = resume; + } + if (autoClose) { + if (isClient) useEventListener("beforeunload", () => close(), { passive: true }); + tryOnScopeDispose(close); + } + const open = () => { + if (!isClient && !isWorker) return; + close(); + explicitlyClosed = false; + retried = 0; + _init(); + }; + if (immediate) open(); + if (autoConnect) watch(urlRef, open); + return { + data, + status, + close, + send, + open, + ws: wsRef + }; +} +//#endregion +//#region useWebWorker/index.ts +function useWebWorker(arg0, workerOptions, options) { + const { window = defaultWindow } = options !== null && options !== void 0 ? options : {}; + const data = shallowRef(null); + const worker = shallowRef(); + const post = (...args) => { + if (!worker.value) return; + worker.value.postMessage(...args); + }; + const terminate = function terminate() { + if (!worker.value) return; + worker.value.terminate(); + }; + if (window) { + if (typeof arg0 === "string") worker.value = new Worker(arg0, workerOptions); + else if (typeof arg0 === "function") worker.value = arg0(); + else worker.value = arg0; + worker.value.onmessage = (e) => { + data.value = e.data; + }; + tryOnScopeDispose(() => { + if (worker.value) worker.value.terminate(); + }); + } + return { + data, + post, + terminate, + worker + }; +} +//#endregion +//#region useWebWorkerFn/lib/depsParser.ts +/** +* +* Concatenates the dependencies into a comma separated string. +* this string will then be passed as an argument to the "importScripts" function +* +* @param deps array of string +* @param localDeps array of function +* @returns a string composed by the concatenation of the array +* elements "deps" and "importScripts". +* +* @example +* depsParser(['demo1', 'demo2']) // return importScripts('demo1', 'demo2') +*/ +function depsParser(deps, localDeps) { + if (deps.length === 0 && localDeps.length === 0) return ""; + const depsString = deps.map((dep) => `'${dep}'`).toString(); + const depsFunctionString = localDeps.filter((dep) => typeof dep === "function").map((fn) => { + const str = fn.toString(); + if (str.trim().startsWith("function")) return str; + else return `const ${fn.name} = ${str}`; + }).join(";"); + const importString = `importScripts(${depsString});`; + return `${depsString.trim() === "" ? "" : importString} ${depsFunctionString}`; +} +//#endregion +//#region useWebWorkerFn/lib/jobRunner.ts +/** +* This function accepts as a parameter a function "userFunc" +* And as a result returns an anonymous function. +* This anonymous function, accepts as arguments, +* the parameters to pass to the function "useArgs" and returns a Promise +* This function can be used as a wrapper, only inside a Worker +* because it depends by "postMessage". +* +* @param userFunc {Function} fn the function to run with web worker +* +* @returns returns a function that accepts the parameters +* to be passed to the "userFunc" function +*/ +function jobRunner(userFunc) { + return (e) => { + const userFuncArgs = e.data[0]; + return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => { + postMessage(["SUCCESS", result]); + }).catch((error) => { + postMessage(["ERROR", error]); + }); + }; +} +//#endregion +//#region useWebWorkerFn/lib/createWorkerBlobUrl.ts +/** +* Converts the "fn" function into the syntax needed to be executed within a web worker +* +* @param fn the function to run with web worker +* @param deps array of strings, imported into the worker through "importScripts" +* @param localDeps array of function, local dependencies +* +* @returns a blob url, containing the code of "fn" as a string +* +* @example +* createWorkerBlobUrl((a,b) => a+b, []) +* // return "onmessage=return Promise.resolve((a,b) => a + b) +* .then(postMessage(['SUCCESS', result])) +* .catch(postMessage(['ERROR', error])" +*/ +function createWorkerBlobUrl(fn, deps, localDeps) { + const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`; + const blob = new Blob([blobCode], { type: "text/javascript" }); + return URL.createObjectURL(blob); +} +//#endregion +//#region useWebWorkerFn/index.ts +/** +* Run expensive function without blocking the UI, using a simple syntax that makes use of Promise. +* +* @see https://vueuse.org/useWebWorkerFn +* @param fn +* @param options +*/ +function useWebWorkerFn(fn, options = {}) { + const { dependencies = [], localDependencies = [], timeout, window = defaultWindow } = options; + let worker; + const workerStatus = shallowRef("PENDING"); + const promise = shallowRef({}); + const timeoutId = shallowRef(); + const workerTerminate = (status = "PENDING") => { + if (worker && worker._url && window) { + worker.terminate(); + URL.revokeObjectURL(worker._url); + promise.value = {}; + worker = void 0; + window.clearTimeout(timeoutId.value); + workerStatus.value = status; + } + }; + workerTerminate(); + tryOnScopeDispose(workerTerminate); + const generateWorker = () => { + const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies); + const newWorker = new Worker(blobUrl); + newWorker._url = blobUrl; + newWorker.onmessage = (e) => { + const { resolve = () => {}, reject = () => {} } = promise.value; + const [status, result] = e.data; + switch (status) { + case "SUCCESS": + resolve(result); + workerTerminate(status); + break; + default: + reject(result); + workerTerminate("ERROR"); + } + }; + newWorker.onerror = (e) => { + const { reject = () => {} } = promise.value; + e.preventDefault(); + reject(e); + workerTerminate("ERROR"); + }; + if (timeout) timeoutId.value = setTimeout(workerTerminate, timeout, "TIMEOUT_EXPIRED"); + return newWorker; + }; + const callWorker = (...fnArgs) => new Promise((resolve, reject) => { + promise.value = { + resolve, + reject + }; + worker === null || worker === void 0 || worker.postMessage([[...fnArgs]]); + workerStatus.value = "RUNNING"; + }); + const workerFn = (...fnArgs) => { + if (workerStatus.value === "RUNNING") { + console.error("[useWebWorkerFn] You can only run one instance of the worker at a time."); + return Promise.reject(); + } + worker = generateWorker(); + return callWorker(...fnArgs); + }; + return { + workerFn, + workerStatus, + workerTerminate + }; +} +//#endregion +//#region useWindowFocus/index.ts +/** +* Reactively track window focus with `window.onfocus` and `window.onblur`. +* +* @see https://vueuse.org/useWindowFocus +* +* @__NO_SIDE_EFFECTS__ +*/ +function useWindowFocus(options = {}) { + const { window = defaultWindow } = options; + if (!window) return shallowRef(false); + const focused = shallowRef(window.document.hasFocus()); + const listenerOptions = { passive: true }; + useEventListener(window, "blur", () => { + focused.value = false; + }, listenerOptions); + useEventListener(window, "focus", () => { + focused.value = true; + }, listenerOptions); + return focused; +} +//#endregion +//#region useWindowScroll/index.ts +/** +* Reactive window scroll. +* +* @see https://vueuse.org/useWindowScroll +* @param options +*/ +function useWindowScroll(options = {}) { + const { window = defaultWindow, ...rest } = options; + return useScroll(window, rest); +} +//#endregion +//#region useWindowSize/index.ts +/** +* Reactive window size. +* +* @see https://vueuse.org/useWindowSize +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useWindowSize(options = {}) { + const { window = defaultWindow, initialWidth = Number.POSITIVE_INFINITY, initialHeight = Number.POSITIVE_INFINITY, listenOrientation = true, includeScrollbar = true, type = "inner" } = options; + const width = shallowRef(initialWidth); + const height = shallowRef(initialHeight); + const update = () => { + if (window) { + if (type === "outer") { + width.value = window.outerWidth; + height.value = window.outerHeight; + } else if (type === "visual" && window.visualViewport) { + const { width: visualViewportWidth, height: visualViewportHeight, scale } = window.visualViewport; + width.value = Math.round(visualViewportWidth * scale); + height.value = Math.round(visualViewportHeight * scale); + } else if (includeScrollbar) { + width.value = window.innerWidth; + height.value = window.innerHeight; + } else { + width.value = window.document.documentElement.clientWidth; + height.value = window.document.documentElement.clientHeight; + } + } + }; + update(); + tryOnMounted(update); + const listenerOptions = { passive: true }; + useEventListener("resize", update, listenerOptions); + if (window && type === "visual" && window.visualViewport) useEventListener(window.visualViewport, "resize", update, listenerOptions); + if (listenOrientation) { + const matches = useMediaQuery("(orientation: portrait)"); + watch(matches, () => update()); + } + return { + width, + height + }; +} +//#endregion +export { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsElement, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, formatTimeAgoIntl, formatTimeAgoIntlParts, getSSRHandler, isFocusedElementEditable, isTypedCharValid, mapGamepadToXbox360Controller, onClickOutside, onElementRemoval, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, provideSSRWidth, setSSRHandler, transition, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCountdown, useCssSupports, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementOverflow, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLiveAnnouncer, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePreferredReducedTransparency, usePrevious, useRafFn, useRefHistory, useResizeObserver, useSSRWidth, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTemporalNow, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeAgoIntl, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebMCP, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize }; diff --git a/apps/web/.output/server/node_modules/@vueuse/core/package.json b/apps/web/.output/server/node_modules/@vueuse/core/package.json new file mode 100644 index 0000000..46ce11b --- /dev/null +++ b/apps/web/.output/server/node_modules/@vueuse/core/package.json @@ -0,0 +1,56 @@ +{ + "name": "@vueuse/core", + "type": "module", + "version": "15.0.0", + "description": "Collection of essential Vue Composition Utilities", + "author": "Anthony Fu <https://github.com/antfu>", + "license": "MIT", + "funding": "https://github.com/sponsors/antfu", + "homepage": "https://github.com/vueuse/vueuse#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vueuse/vueuse.git", + "directory": "packages/core" + }, + "bugs": { + "url": "https://github.com/vueuse/vueuse/issues" + }, + "keywords": [ + "vue", + "vue-use", + "utils" + ], + "sideEffects": false, + "exports": { + ".": "./dist/index.js", + "./*": "./dist/*", + "./metadata": "./dist/metadata.mjs", + "./package.json": "./package.json" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "unpkg": "./dist/index.iife.min.js", + "jsdelivr": "./dist/index.iife.min.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "engines": { + "node": ">=22" + }, + "peerDependencies": { + "vue": "^3.5.0" + }, + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "15.0.0", + "@vueuse/shared": "15.0.0" + }, + "devDependencies": { + "@js-temporal/polyfill": "^0.5.1", + "temporal-polyfill": "^1.0.4" + }, + "scripts": { + "build": "tsdown" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/@vueuse/shared/dist/index.js b/apps/web/.output/server/node_modules/@vueuse/shared/dist/index.js new file mode 100644 index 0000000..caec65e --- /dev/null +++ b/apps/web/.output/server/node_modules/@vueuse/shared/dist/index.js @@ -0,0 +1,2021 @@ +import { computed, customRef, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isRef, nextTick, onBeforeMount, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, provide, reactive, readonly, ref, shallowReadonly, shallowRef, toRef as toRef$1, toRefs as toRefs$1, toValue, unref, watch, watchEffect } from "vue"; +//#region computedEager/index.ts +/** +* +* @deprecated This function will be removed in future version. +* +* Note: If you are using Vue 3.4+, you can straight use computed instead. +* Because in Vue 3.4+, if computed new value does not change, +* computed, effect, watch, watchEffect, render dependencies will not be triggered. +* refer: https://github.com/vuejs/core/pull/5912 +* +* @param fn effect function +* @param options WatchOptionsBase +* @returns readonly shallowRef +*/ +function computedEager(fn, options) { + var _options$flush; + const result = shallowRef(); + watchEffect(() => { + result.value = fn(); + }, { + ...options, + flush: (_options$flush = options === null || options === void 0 ? void 0 : options.flush) !== null && _options$flush !== void 0 ? _options$flush : "sync" + }); + return readonly(result); +} +/** @deprecated use `computedEager` instead */ +const eagerComputed = computedEager; +//#endregion +//#region computedWithControl/index.ts +/** +* Explicitly define the deps of computed. +* +* @param source +* @param fn +*/ +function computedWithControl(source, fn, options = {}) { + let v = void 0; + let track; + let trigger; + let dirty = true; + const update = () => { + dirty = true; + trigger(); + }; + watch(source, update, { + flush: "sync", + ...options + }); + const get = typeof fn === "function" ? fn : fn.get; + const set = typeof fn === "function" ? void 0 : fn.set; + const result = customRef((_track, _trigger) => { + track = _track; + trigger = _trigger; + return { + get() { + if (dirty) { + v = get(v); + dirty = false; + } + track(); + return v; + }, + set(v) { + set === null || set === void 0 || set(v); + } + }; + }); + result.trigger = update; + return result; +} +/** @deprecated use `computedWithControl` instead */ +const controlledComputed = computedWithControl; +//#endregion +//#region createDisposableDirective/index.ts +/** +* Utility for authoring disposable directives. Reactive effects created within `mounted` directive hook will be tracked and automatically disposed when directive is unmounted. +* +* @see https://vueuse.org/createDisposableDirective +* +* @__NO_SIDE_EFFECTS__ +*/ +function createDisposableDirective(origin = {}) { + function isFunc(fn) { + return typeof fn === "function"; + } + const normalisedOrigin = isFunc(origin) ? { + mounted: origin, + updated: origin + } : origin; + const { mounted, unmounted } = normalisedOrigin; + if (!isFunc(mounted)) return origin; + const scopeWeakMap = /* @__PURE__ */ new WeakMap(); + return { + ...normalisedOrigin, + mounted(el, binding, vNode, prevNode) { + var _scopeWeakMap$get; + const scope = (_scopeWeakMap$get = scopeWeakMap.get(el)) !== null && _scopeWeakMap$get !== void 0 ? _scopeWeakMap$get : effectScope(); + scopeWeakMap.set(el, scope); + scope.run(() => { + mounted === null || mounted === void 0 || mounted(el, binding, vNode, prevNode); + }); + }, + unmounted(el, binding, vNode, prevNode) { + var _scopeWeakMap$get2; + (_scopeWeakMap$get2 = scopeWeakMap.get(el)) === null || _scopeWeakMap$get2 === void 0 || _scopeWeakMap$get2.stop(); + scopeWeakMap.delete(el); + if (isFunc(unmounted)) unmounted(el, binding, vNode, prevNode); + } + }; +} +//#endregion +//#region tryOnScopeDispose/index.ts +/** +* Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing +* +* @param fn +*/ +function tryOnScopeDispose(fn, failSilently) { + if (getCurrentScope()) { + onScopeDispose(fn, failSilently); + return true; + } + return false; +} +//#endregion +//#region createEventHook/index.ts +/** +* Utility for creating event hooks +* +* @see https://vueuse.org/createEventHook +* +* @__NO_SIDE_EFFECTS__ +*/ +function createEventHook() { + const fns = /* @__PURE__ */ new Set(); + const off = (fn) => { + fns.delete(fn); + }; + const clear = () => { + fns.clear(); + }; + const on = (fn) => { + fns.add(fn); + const offFn = () => off(fn); + tryOnScopeDispose(offFn); + return { off: offFn }; + }; + const trigger = (...args) => { + return Promise.all(Array.from(fns).map((fn) => fn(...args))); + }; + return { + on, + off, + trigger, + clear + }; +} +//#endregion +//#region createGlobalState/index.ts +/** +* Keep states in the global scope to be reusable across Vue instances. +* +* @see https://vueuse.org/createGlobalState +* @param stateFactory A factory function to create the state +* +* @__NO_SIDE_EFFECTS__ +*/ +function createGlobalState(stateFactory) { + let initialized = false; + let state; + const scope = effectScope(true); + return ((...args) => { + if (!initialized) { + state = scope.run(() => stateFactory(...args)); + initialized = true; + } + return state; + }); +} +//#endregion +//#region provideLocal/map.ts +const localProvidedStateMap = /* @__PURE__ */ new WeakMap(); +//#endregion +//#region injectLocal/index.ts +/** +* On the basis of `inject`, it is allowed to directly call inject to obtain the value after call provide in the same component. +* +* @example +* ```ts +* injectLocal('MyInjectionKey', 1) +* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1 +* ``` +* +* @NO_SIDE_EFFECTS +*/ +const injectLocal = /* @__NO_SIDE_EFFECTS__ */ (...args) => { + var _getCurrentInstance; + const key = args[0]; + const instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy; + const owner = instance !== null && instance !== void 0 ? instance : getCurrentScope(); + if (owner == null && !hasInjectionContext()) throw new Error("injectLocal must be called in setup"); + if (owner && localProvidedStateMap.has(owner) && key in localProvidedStateMap.get(owner)) return localProvidedStateMap.get(owner)[key]; + return inject(...args); +}; +//#endregion +//#region provideLocal/index.ts +/** +* On the basis of `provide`, it is allowed to directly call inject to obtain the value after call provide in the same component. +* +* @example +* ```ts +* provideLocal('MyInjectionKey', 1) +* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1 +* ``` +*/ +function provideLocal(key, value) { + var _getCurrentInstance; + const instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy; + const owner = instance !== null && instance !== void 0 ? instance : getCurrentScope(); + if (owner == null) throw new Error("provideLocal must be called in setup"); + if (!localProvidedStateMap.has(owner)) localProvidedStateMap.set(owner, Object.create(null)); + const localProvidedState = localProvidedStateMap.get(owner); + localProvidedState[key] = value; + return provide(key, value); +} +//#endregion +//#region createInjectionState/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function createInjectionState(composable, options) { + const key = (options === null || options === void 0 ? void 0 : options.injectionKey) || Symbol(composable.name || "InjectionState"); + const defaultValue = options === null || options === void 0 ? void 0 : options.defaultValue; + const useProvidingState = (...args) => { + const state = composable(...args); + provideLocal(key, state); + return state; + }; + const useInjectedState = () => /* @__PURE__ */ injectLocal(key, defaultValue); + return [useProvidingState, useInjectedState]; +} +//#endregion +//#region createRef/index.ts +/** +* Returns a `deepRef` or `shallowRef` depending on the `deep` param. +* +* @example createRef(1) // ShallowRef<number> +* @example createRef(1, false) // ShallowRef<number> +* @example createRef(1, true) // Ref<number> +* @example createRef("string") // ShallowRef<string> +* @example createRef<"A"|"B">("A", true) // Ref<"A"|"B"> +* +* @param value +* @param deep +* @returns the `deepRef` or `shallowRef` +* +* @__NO_SIDE_EFFECTS__ +*/ +function createRef(value, deep) { + if (deep === true) return ref(value); + else return shallowRef(value); +} +//#endregion +//#region utils/is.ts +const isClient = typeof window !== "undefined" && typeof document !== "undefined"; +const isWorker = typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope; +const isDef = (val) => typeof val !== "undefined"; +const notNullish = (val) => val != null; +const assert = (condition, ...infos) => { + if (!condition) console.warn(...infos); +}; +const toString = Object.prototype.toString; +const isObject = (val) => toString.call(val) === "[object Object]"; +const now = () => Date.now(); +const timestamp = () => +Date.now(); +const clamp = (n, min, max) => Math.min(max, Math.max(min, n)); +const noop = () => {}; +const rand = (min, max) => { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min + 1)) + min; +}; +const hasOwn = (val, key) => Object.hasOwn(val, key); +const isIOS = /* #__PURE__ */ getIsIOS(); +function getIsIOS() { + var _window, _window2, _window3; + return isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent)); +} +//#endregion +//#region toRef/index.ts +function toRef(...args) { + if (args.length !== 1) return toRef$1(...args); + const r = args[0]; + return typeof r === "function" ? readonly(customRef(() => ({ + get: r, + set: noop + }))) : ref(r); +} +//#endregion +//#region utils/filters.ts +function createFilterWrapper(filter, fn) { + function wrapper(...args) { + return new Promise((resolve, reject) => { + Promise.resolve(filter(() => fn.apply(this, args), { + fn, + thisArg: this, + args + })).then(resolve).catch(reject); + }); + } + if ("cancel" in filter) Object.assign(wrapper, { + cancel: filter.cancel, + flush: filter.flush, + isPending: filter.isPending + }); + return wrapper; +} +const bypassFilter = (invoke) => { + return invoke(); +}; +/** +* Create an EventFilter that debounce the events +*/ +function debounceFilter(ms, options = {}) { + let timer; + let maxTimer; + let lastRejector = noop; + let lastResolve = noop; + const _pending = shallowRef(false); + const _clearTimeout = (timer) => { + clearTimeout(timer); + lastRejector(); + lastRejector = noop; + }; + let lastInvoker; + const handler = (invoke) => { + const duration = toValue(ms); + const maxDuration = toValue(options.maxWait); + if (timer) _clearTimeout(timer); + if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) { + if (maxTimer) { + _clearTimeout(maxTimer); + maxTimer = void 0; + } + _pending.value = false; + return Promise.resolve(invoke()); + } + _pending.value = true; + return new Promise((resolve, reject) => { + lastRejector = options.rejectOnCancel ? reject : resolve; + lastResolve = resolve; + lastInvoker = invoke; + if (maxDuration && !maxTimer) maxTimer = setTimeout(() => { + if (timer) _clearTimeout(timer); + maxTimer = void 0; + _pending.value = false; + resolve(lastInvoker()); + }, maxDuration); + timer = setTimeout(() => { + if (maxTimer) _clearTimeout(maxTimer); + maxTimer = void 0; + _pending.value = false; + resolve(invoke()); + }, duration); + }); + }; + return Object.assign(handler, { + cancel: () => { + if (timer) { + _clearTimeout(timer); + timer = void 0; + } + if (maxTimer) { + _clearTimeout(maxTimer); + maxTimer = void 0; + } + _pending.value = false; + lastResolve = noop; + }, + flush: () => { + if (_pending.value) { + if (timer) { + clearTimeout(timer); + timer = void 0; + } + if (maxTimer) { + clearTimeout(maxTimer); + maxTimer = void 0; + } + _pending.value = false; + const resolve = lastResolve; + lastRejector = noop; + lastResolve = noop; + resolve(lastInvoker()); + } + }, + isPending: shallowReadonly(_pending) + }); +} +function throttleFilter(...args) { + let lastExec = 0; + let timer; + let isLeading = true; + let lastRejector = noop; + let lastValue; + let ms; + let trailing; + let leading; + let rejectOnCancel; + if (!isRef(args[0]) && typeof args[0] === "object") ({delay: ms, trailing = true, leading = true, rejectOnCancel = false} = args[0]); + else [ms, trailing = true, leading = true, rejectOnCancel = false] = args; + const clear = () => { + if (timer) { + clearTimeout(timer); + timer = void 0; + lastRejector(); + lastRejector = noop; + } + }; + const filter = (_invoke) => { + const duration = toValue(ms); + const elapsed = Date.now() - lastExec; + const invoke = () => { + return lastValue = _invoke(); + }; + clear(); + if (duration <= 0) { + lastExec = Date.now(); + return invoke(); + } + if (elapsed > duration) { + lastExec = Date.now(); + if (leading || !isLeading) invoke(); + } else if (trailing) lastValue = new Promise((resolve, reject) => { + lastRejector = rejectOnCancel ? reject : resolve; + timer = setTimeout(() => { + lastExec = Date.now(); + isLeading = true; + resolve(invoke()); + clear(); + }, Math.max(0, duration - elapsed)); + }); + if (!leading && !timer) timer = setTimeout(() => isLeading = true, duration); + isLeading = false; + return lastValue; + }; + return filter; +} +/** +* EventFilter that gives extra controls to pause and resume the filter +* +* @param extendFilter Extra filter to apply when the PausableFilter is active, default to none +* @param options Options to configure the filter +*/ +function pausableFilter(extendFilter = bypassFilter, options = {}) { + const { initialState = "active" } = options; + const isActive = toRef(initialState === "active"); + function pause() { + isActive.value = false; + } + function resume() { + isActive.value = true; + } + const eventFilter = (...args) => { + if (isActive.value) extendFilter(...args); + }; + return { + isActive: shallowReadonly(isActive), + pause, + resume, + eventFilter + }; +} +//#endregion +//#region utils/general.ts +function promiseTimeout(ms, throwOnTimeout = false, reason = "Timeout") { + return new Promise((resolve, reject) => { + if (throwOnTimeout) setTimeout(reject, ms, reason); + else setTimeout(resolve, ms); + }); +} +function identity(arg) { + return arg; +} +/** +* Create singleton promise function +* +* @example +* ``` +* const promise = createSingletonPromise(async () => { ... }) +* +* await promise() +* await promise() // all of them will be bind to a single promise instance +* await promise() // and be resolved together +* ``` +*/ +function createSingletonPromise(fn) { + let _promise; + function wrapper() { + if (!_promise) _promise = fn(); + return _promise; + } + wrapper.reset = async () => { + const _prev = _promise; + _promise = void 0; + if (_prev) await _prev; + }; + return wrapper; +} +function invoke(fn) { + return fn(); +} +function containsProp(obj, ...props) { + return props.some((k) => k in obj); +} +function increaseWithUnit(target, delta) { + var _target$match; + if (typeof target === "number") return target + delta; + const value = ((_target$match = target.match(/^-?\d+\.?\d*/)) === null || _target$match === void 0 ? void 0 : _target$match[0]) || ""; + const unit = target.slice(value.length); + const result = Number.parseFloat(value) + delta; + if (Number.isNaN(result)) return target; + return result + unit; +} +/** +* Get a px value for SSR use, do not rely on this method outside of SSR as REM unit is assumed at 16px, which might not be the case on the client +*/ +function pxValue(px) { + return px.endsWith("rem") ? Number.parseFloat(px) * 16 : Number.parseFloat(px); +} +/** +* Create a new subset object by giving keys +*/ +function objectPick(obj, keys, omitUndefined = false) { + return keys.reduce((n, k) => { + if (k in obj) { + if (!omitUndefined || obj[k] !== void 0) n[k] = obj[k]; + } + return n; + }, {}); +} +/** +* Create a new subset object by omit giving keys +*/ +function objectOmit(obj, keys, omitUndefined = false) { + return Object.fromEntries(Object.entries(obj).filter(([key, value]) => { + return (!omitUndefined || value !== void 0) && !keys.includes(key); + })); +} +function objectEntries(obj) { + return Object.entries(obj); +} +function toArray(value) { + return Array.isArray(value) ? value : [value]; +} +//#endregion +//#region utils/port.ts +function cacheStringFunction(fn) { + const cache = Object.create(null); + return ((str) => { + return cache[str] || (cache[str] = fn(str)); + }); +} +const hyphenateRE = /\B([A-Z])/g; +const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); +const camelizeRE = /-(\w)/g; +const camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +//#endregion +//#region utils/vue.ts +function getLifeCycleTarget(target) { + return target || getCurrentInstance(); +} +//#endregion +//#region createSharedComposable/index.ts +/** +* Make a composable function usable with multiple Vue instances. +* +* @see https://vueuse.org/createSharedComposable +* +* @__NO_SIDE_EFFECTS__ +*/ +function createSharedComposable(composable) { + if (!isClient) return composable; + let subscribers = 0; + let state; + let scope; + const dispose = () => { + subscribers -= 1; + if (scope && subscribers <= 0) { + scope.stop(); + state = void 0; + scope = void 0; + } + }; + return ((...args) => { + subscribers += 1; + if (!scope) { + scope = effectScope(true); + state = scope.run(() => composable(...args)); + } + tryOnScopeDispose(dispose); + return state; + }); +} +//#endregion +//#region extendRef/index.ts +function extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) { + for (const [key, value] of Object.entries(extend)) { + if (key === "value") continue; + if (isRef(value) && unwrap) Object.defineProperty(ref, key, { + get() { + return value.value; + }, + set(v) { + value.value = v; + }, + enumerable + }); + else Object.defineProperty(ref, key, { + value, + enumerable + }); + } + return ref; +} +//#endregion +//#region get/index.ts +function get(obj, key) { + if (key == null) return unref(obj); + return unref(obj)[key]; +} +//#endregion +//#region isDefined/index.ts +function isDefined(v) { + return unref(v) != null; +} +//#endregion +//#region makeDestructurable/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function makeDestructurable(obj, arr) { + if (typeof Symbol !== "undefined") { + const clone = { ...obj }; + Object.defineProperty(clone, Symbol.iterator, { + enumerable: false, + value() { + let index = 0; + return { next: () => ({ + value: arr[index++], + done: index > arr.length + }) }; + } + }); + return clone; + } else return Object.assign([...arr], obj); +} +//#endregion +//#region reactify/index.ts +/** +* Converts plain function into a reactive function. +* The converted function accepts refs as it's arguments +* and returns a ComputedRef, with proper typing. +* +* @param fn - Source function +* @param options - Options +* +* @__NO_SIDE_EFFECTS__ +*/ +function reactify(fn, options) { + const unrefFn = (options === null || options === void 0 ? void 0 : options.computedGetter) === false ? unref : toValue; + return function(...args) { + return computed(() => fn.apply(this, args.map((i) => unrefFn(i)))); + }; +} +/** @deprecated use `reactify` instead */ +const createReactiveFn = reactify; +//#endregion +//#region reactifyObject/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function reactifyObject(obj, optionsOrKeys = {}) { + let keys = []; + let options; + if (Array.isArray(optionsOrKeys)) keys = optionsOrKeys; + else { + options = optionsOrKeys; + const { includeOwnProperties = true } = optionsOrKeys; + keys.push(...Object.keys(obj)); + if (includeOwnProperties) keys.push(...Object.getOwnPropertyNames(obj)); + } + return Object.fromEntries(keys.map((key) => { + const value = obj[key]; + return [key, typeof value === "function" ? reactify(value.bind(obj), options) : value]; + })); +} +//#endregion +//#region toReactive/index.ts +/** +* Converts ref to reactive. +* +* @see https://vueuse.org/toReactive +* @param objectRef A ref of object +*/ +function toReactive(objectRef) { + if (!isRef(objectRef)) return reactive(objectRef); + const proxy = new Proxy({}, { + get(_, p, receiver) { + return unref(Reflect.get(objectRef.value, p, receiver)); + }, + set(_, p, value) { + if (isRef(objectRef.value[p]) && !isRef(value)) objectRef.value[p].value = value; + else objectRef.value[p] = value; + return true; + }, + deleteProperty(_, p) { + return Reflect.deleteProperty(objectRef.value, p); + }, + has(_, p) { + return Reflect.has(objectRef.value, p); + }, + ownKeys() { + return Object.keys(objectRef.value); + }, + getOwnPropertyDescriptor() { + return { + enumerable: true, + configurable: true + }; + } + }); + return reactive(proxy); +} +//#endregion +//#region reactiveComputed/index.ts +/** +* Computed reactive object. +*/ +function reactiveComputed(fn) { + return toReactive(computed(fn)); +} +//#endregion +//#region reactiveOmit/index.ts +/** +* Reactively omit fields from a reactive object +* +* @see https://vueuse.org/reactiveOmit +*/ +function reactiveOmit(obj, ...keys) { + const flatKeys = keys.flat(); + const predicate = flatKeys[0]; + return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0])))); +} +//#endregion +//#region reactivePick/index.ts +/** +* Reactively pick fields from a reactive object +* +* @see https://vueuse.org/reactivePick +*/ +function reactivePick(obj, ...keys) { + const flatKeys = keys.flat(); + const predicate = flatKeys[0]; + return reactiveComputed(() => typeof predicate === "function" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)]))); +} +//#endregion +//#region refAutoReset/index.ts +/** +* Create a ref which will be reset to the default value after some time. +* +* @see https://vueuse.org/refAutoReset +* @param defaultValue The value which will be set. +* @param afterMs A zero-or-greater delay in milliseconds. +*/ +function refAutoReset(defaultValue, afterMs = 1e4) { + return customRef((track, trigger) => { + let value = toValue(defaultValue); + let timer; + const resetAfter = () => setTimeout(() => { + value = toValue(defaultValue); + trigger(); + }, toValue(afterMs)); + tryOnScopeDispose(() => { + clearTimeout(timer); + }); + return { + get() { + track(); + return value; + }, + set(newValue) { + value = newValue; + trigger(); + clearTimeout(timer); + timer = resetAfter(); + } + }; + }); +} +/** @deprecated use `refAutoReset` instead */ +const autoResetRef = refAutoReset; +//#endregion +//#region useDebounceFn/index.ts +/** +* Debounce execution of a function. +* +* @see https://vueuse.org/useDebounceFn +* @param fn A function to be executed after delay milliseconds debounced. +* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. +* @param options Options +* +* @return A new, debounced, function with isPending, cancel, and flush properties. +*/ +function useDebounceFn(fn, ms = 200, options = {}) { + return createFilterWrapper(debounceFilter(ms, options), fn); +} +//#endregion +//#region refDebounced/index.ts +/** +* Debounce updates of a ref. +* +* @return A new debounced ref. +*/ +function refDebounced(value, ms = 200, options = {}) { + const debounced = ref(toValue(value)); + const updater = useDebounceFn(() => { + debounced.value = value.value; + }, ms, options); + watch(value, () => updater()); + return shallowReadonly(debounced); +} +/** @deprecated use `refDebounced` instead */ +const debouncedRef = refDebounced; +/** @deprecated use `refDebounced` instead */ +const useDebounce = refDebounced; +//#endregion +//#region refDefault/index.ts +/** +* Apply default value to a ref. +* +* @__NO_SIDE_EFFECTS__ +*/ +function refDefault(source, defaultValue) { + return computed({ + get() { + var _source$value; + return (_source$value = source.value) !== null && _source$value !== void 0 ? _source$value : defaultValue; + }, + set(value) { + source.value = value; + } + }); +} +//#endregion +//#region refManualReset/index.ts +/** +* Create a ref with manual reset functionality. +* +* @see https://vueuse.org/refManualReset +* @param defaultValue The value which will be set. +*/ +function refManualReset(defaultValue) { + let value = toValue(defaultValue); + let trigger; + const reset = () => { + value = toValue(defaultValue); + trigger(); + }; + const refValue = customRef((track, _trigger) => { + trigger = _trigger; + return { + get() { + track(); + return value; + }, + set(newValue) { + value = newValue; + trigger(); + } + }; + }); + refValue.reset = reset; + return refValue; +} +//#endregion +//#region useThrottleFn/index.ts +/** +* Throttle execution of a function. Especially useful for rate limiting +* execution of handlers on events like resize and scroll. +* +* @param fn A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is, +* to `callback` when the throttled-function is executed. +* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. +* (default value: 200) +* +* @param [trailing] if true, call fn again after the time is up (default value: true) +* +* @param [leading] if true, call fn on the leading edge of the ms timeout (default value: true) +* +* @param [rejectOnCancel] if true, reject the last call if it's been cancel (default value: false) +* +* @return A new, throttled, function. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useThrottleFn(fn, ms = 200, trailing = true, leading = true, rejectOnCancel = false) { + return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn); +} +//#endregion +//#region refThrottled/index.ts +/** +* Throttle execution of a function. Especially useful for rate limiting +* execution of handlers on events like resize and scroll. +* +* @param value Ref value to be watched with throttle effect +* @param delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. +* @param trailing if true, update the value again after the delay time is up +* @param leading if true, update the value on the leading edge of the ms timeout +*/ +function refThrottled(value, delay = 200, trailing = true, leading = true) { + if (delay <= 0) return value; + const throttled = ref(toValue(value)); + const updater = useThrottleFn(() => { + throttled.value = value.value; + }, delay, trailing, leading); + watch(value, () => updater()); + return throttled; +} +/** @deprecated use `refThrottled` instead */ +const throttledRef = refThrottled; +/** @deprecated use `refThrottled` instead */ +const useThrottle = refThrottled; +//#endregion +//#region refWithControl/index.ts +/** +* Fine-grained controls over ref and its reactivity. +* +* @__NO_SIDE_EFFECTS__ +*/ +function refWithControl(initial, options = {}) { + let source = initial; + let track; + let trigger; + const ref = customRef((_track, _trigger) => { + track = _track; + trigger = _trigger; + return { + get() { + return get(); + }, + set(v) { + set(v); + } + }; + }); + function get(tracking = true) { + if (tracking) track(); + return source; + } + function set(value, triggering = true) { + var _options$onBeforeChan, _options$onChanged; + if (value === source) return; + const old = source; + if (((_options$onBeforeChan = options.onBeforeChange) === null || _options$onBeforeChan === void 0 ? void 0 : _options$onBeforeChan.call(options, value, old)) === false) return; + source = value; + (_options$onChanged = options.onChanged) === null || _options$onChanged === void 0 || _options$onChanged.call(options, value, old); + if (triggering) trigger(); + } + /** + * Get the value without tracked in the reactivity system + */ + const untrackedGet = () => get(false); + /** + * Set the value without triggering the reactivity system + */ + const silentSet = (v) => set(v, false); + /** + * Get the value without tracked in the reactivity system. + * + * Alias for `untrackedGet()` + */ + const peek = () => get(false); + /** + * Set the value without triggering the reactivity system + * + * Alias for `silentSet(v)` + */ + const lay = (v) => set(v, false); + return extendRef(ref, { + get, + set, + untrackedGet, + silentSet, + peek, + lay + }, { enumerable: true }); +} +/** @deprecated use `refWithControl` instead */ +const controlledRef = refWithControl; +//#endregion +//#region set/index.ts +/** +* Shorthand for `ref.value = x` +*/ +function set(...args) { + if (args.length === 2) { + const [ref, value] = args; + ref.value = value; + } + if (args.length === 3) { + const [target, key, value] = args; + target[key] = value; + } +} +//#endregion +//#region watchWithFilter/index.ts +function watchWithFilter(source, cb, options = {}) { + const { eventFilter = bypassFilter, ...watchOptions } = options; + return watch(source, createFilterWrapper(eventFilter, cb), watchOptions); +} +//#endregion +//#region watchPausable/index.ts +/** @deprecated Use Vue's built-in `watch` instead. This function will be removed in future version. */ +function watchPausable(source, cb, options = {}) { + const { eventFilter: filter, initialState = "active", ...watchOptions } = options; + const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState }); + return { + stop: watchWithFilter(source, cb, { + ...watchOptions, + eventFilter + }), + pause, + resume, + isActive + }; +} +/** @deprecated Use Vue's built-in `watch` instead. This function will be removed in future version. */ +const pausableWatch = watchPausable; +//#endregion +//#region syncRef/index.ts +/** +* Two-way refs synchronization. +* From the set theory perspective to restrict the option's type +* Check in the following order: +* 1. L = R +* 2. L ∩ R ≠ ∅ +* 3. L ⊆ R +* 4. L ∩ R = ∅ +*/ +function syncRef(left, right, ...[options]) { + const { flush = "sync", deep = false, immediate = true, direction = "both", transform = {} } = options || {}; + const watchers = []; + const transformLTR = "ltr" in transform && transform.ltr || ((v) => v); + const transformRTL = "rtl" in transform && transform.rtl || ((v) => v); + if (direction === "both" || direction === "ltr") watchers.push(watchPausable(left, (newValue) => { + watchers.forEach((w) => w.pause()); + right.value = transformLTR(newValue); + watchers.forEach((w) => w.resume()); + }, { + flush, + deep, + immediate + })); + if (direction === "both" || direction === "rtl") watchers.push(watchPausable(right, (newValue) => { + watchers.forEach((w) => w.pause()); + left.value = transformRTL(newValue); + watchers.forEach((w) => w.resume()); + }, { + flush, + deep, + immediate + })); + const stop = () => { + watchers.forEach((w) => w.stop()); + }; + return stop; +} +//#endregion +//#region syncRefs/index.ts +/** +* Keep target ref(s) in sync with the source ref +* +* @param source source ref +* @param targets +*/ +function syncRefs(source, targets, options = {}) { + const { flush = "sync", deep = false, immediate = true } = options; + const targetsArray = toArray(targets); + return watch(source, (newValue) => targetsArray.forEach((target) => target.value = newValue), { + flush, + deep, + immediate + }); +} +//#endregion +//#region toRefs/index.ts +/** +* Extended `toRefs` that also accepts refs of an object. +* +* @see https://vueuse.org/toRefs +* @param objectRef A ref or normal object or array. +* @param options Options +*/ +function toRefs(objectRef, options = {}) { + if (!isRef(objectRef)) return toRefs$1(objectRef); + const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {}; + for (const key in objectRef.value) result[key] = customRef(() => ({ + get() { + return objectRef.value[key]; + }, + set(v) { + var _toValue; + if ((_toValue = toValue(options.replaceRef)) !== null && _toValue !== void 0 ? _toValue : true) { + if (Array.isArray(objectRef.value)) { + const copy = [...objectRef.value]; + copy[key] = v; + objectRef.value = copy; + } else { + const newObject = { + ...objectRef.value, + [key]: v + }; + Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value)); + objectRef.value = newObject; + } + } else objectRef.value[key] = v; + } + })); + return result; +} +//#endregion +//#region tryOnBeforeMount/index.ts +/** +* Call onBeforeMount() if it's inside a component lifecycle, if not, just call the function +* +* @param fn +* @param sync if set to false, it will run in the nextTick() of Vue +* @param target +*/ +function tryOnBeforeMount(fn, sync = true, target) { + if (getLifeCycleTarget(target)) onBeforeMount(fn, target); + else if (sync) fn(); + else nextTick(fn); +} +//#endregion +//#region tryOnBeforeUnmount/index.ts +/** +* Call onBeforeUnmount() if it's inside a component lifecycle, if not, do nothing +* +* @param fn +* @param target +*/ +function tryOnBeforeUnmount(fn, target) { + if (getLifeCycleTarget(target)) onBeforeUnmount(fn, target); +} +//#endregion +//#region tryOnMounted/index.ts +/** +* Call onMounted() if it's inside a component lifecycle, if not, just call the function +* +* @param fn +* @param sync if set to false, it will run in the nextTick() of Vue +* @param target +*/ +function tryOnMounted(fn, sync = true, target) { + if (getLifeCycleTarget(target)) onMounted(fn, target); + else if (sync) fn(); + else nextTick(fn); +} +//#endregion +//#region tryOnUnmounted/index.ts +/** +* Call onUnmounted() if it's inside a component lifecycle, if not, do nothing +* +* @param fn +* @param target +*/ +function tryOnUnmounted(fn, target) { + if (getLifeCycleTarget(target)) onUnmounted(fn, target); +} +//#endregion +//#region until/index.ts +function createUntil(r, isNot = false) { + function toMatch(condition, { flush = "sync", deep = false, timeout, throwOnTimeout } = {}) { + let stop = null; + const promises = [new Promise((resolve) => { + stop = watch(r, (v) => { + if (condition(v) !== isNot) { + if (stop) stop(); + else nextTick(() => stop === null || stop === void 0 ? void 0 : stop()); + resolve(v); + } + }, { + flush, + deep, + immediate: true + }); + })]; + if (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop === null || stop === void 0 ? void 0 : stop())); + return Promise.race(promises); + } + function toBe(value, options) { + if (!isRef(value)) return toMatch((v) => v === value, options); + const { flush = "sync", deep = false, timeout, throwOnTimeout } = options !== null && options !== void 0 ? options : {}; + let stop = null; + const promises = [new Promise((resolve) => { + stop = watch([r, value], ([v1, v2]) => { + if (isNot !== (v1 === v2)) { + if (stop) stop(); + else nextTick(() => stop === null || stop === void 0 ? void 0 : stop()); + resolve(v1); + } + }, { + flush, + deep, + immediate: true + }); + })]; + if (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => { + stop === null || stop === void 0 || stop(); + return toValue(r); + })); + return Promise.race(promises); + } + function toBeTruthy(options) { + return toMatch((v) => Boolean(v), options); + } + function toBeNull(options) { + return toBe(null, options); + } + function toBeUndefined(options) { + return toBe(void 0, options); + } + function toBeNaN(options) { + return toMatch(Number.isNaN, options); + } + function toContains(value, options) { + return toMatch((v) => { + const array = Array.from(v); + return array.includes(value) || array.includes(toValue(value)); + }, options); + } + function changed(options) { + return changedTimes(1, options); + } + function changedTimes(n = 1, options) { + let count = -1; + return toMatch(() => { + count += 1; + return count >= n; + }, options); + } + if (Array.isArray(toValue(r))) return { + toMatch, + toContains, + changed, + changedTimes, + get not() { + return createUntil(r, !isNot); + } + }; + else return { + toMatch, + toBe, + toBeTruthy, + toBeNull, + toBeNaN, + toBeUndefined, + changed, + changedTimes, + get not() { + return createUntil(r, !isNot); + } + }; +} +function until(r) { + return createUntil(r); +} +//#endregion +//#region useArrayDifference/index.ts +function defaultComparator(value, othVal) { + return value === othVal; +} +/** +* Reactive get array difference of two array +* @see https://vueuse.org/useArrayDifference +* @returns - the difference of two array +* @param args +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayDifference(...args) { + var _args$, _args$2; + const list = args[0]; + const values = args[1]; + let compareFn = (_args$ = args[2]) !== null && _args$ !== void 0 ? _args$ : defaultComparator; + const { symmetric = false } = (_args$2 = args[3]) !== null && _args$2 !== void 0 ? _args$2 : {}; + if (typeof compareFn === "string") { + const key = compareFn; + compareFn = (value, othVal) => value[key] === othVal[key]; + } + const diff1 = computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1)); + if (symmetric) { + const diff2 = computed(() => toValue(values).filter((x) => toValue(list).findIndex((y) => compareFn(x, y)) === -1)); + return computed(() => symmetric ? [...toValue(diff1), ...toValue(diff2)] : toValue(diff1)); + } else return diff1; +} +//#endregion +//#region useArrayEvery/index.ts +/** +* Reactive `Array.every` +* +* @see https://vueuse.org/useArrayEvery +* @param list - the array was called upon. +* @param fn - a function to test each element. +* +* @returns **true** if the `fn` function returns a **truthy** value for every element from the array. Otherwise, **false**. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayEvery(list, fn) { + return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array))); +} +//#endregion +//#region useArrayFilter/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useArrayFilter(list, fn) { + return computed(() => toValue(list).map((i) => toValue(i)).filter(fn)); +} +//#endregion +//#region useArrayFind/index.ts +/** +* Reactive `Array.find` +* +* @see https://vueuse.org/useArrayFind +* @param list - the array was called upon. +* @param fn - a function to test each element. +* +* @returns the first element in the array that satisfies the provided testing function. Otherwise, undefined is returned. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayFind(list, fn) { + return computed(() => toValue(toValue(list).find((element, index, array) => fn(toValue(element), index, array)))); +} +//#endregion +//#region useArrayFindIndex/index.ts +/** +* Reactive `Array.findIndex` +* +* @see https://vueuse.org/useArrayFindIndex +* @param list - the array was called upon. +* @param fn - a function to test each element. +* +* @returns the index of the first element in the array that passes the test. Otherwise, "-1". +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayFindIndex(list, fn) { + return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array))); +} +//#endregion +//#region useArrayFindLast/index.ts +function findLast(arr, cb) { + let index = arr.length; + while (index-- > 0) if (cb(arr[index], index, arr)) return arr[index]; +} +/** +* Reactive `Array.findLast` +* +* @see https://vueuse.org/useArrayFindLast +* @param list - the array was called upon. +* @param fn - a function to test each element. +* +* @returns the last element in the array that satisfies the provided testing function. Otherwise, undefined is returned. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayFindLast(list, fn) { + return computed(() => toValue(!Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array)))); +} +//#endregion +//#region useArrayIncludes/index.ts +function isArrayIncludesOptions(obj) { + return isObject(obj) && containsProp(obj, "formIndex", "comparator"); +} +/* @__NO_SIDE_EFFECTS__ */ +function useArrayIncludes(...args) { + var _comparator; + const list = args[0]; + const value = args[1]; + let comparator = args[2]; + let formIndex = 0; + if (isArrayIncludesOptions(comparator)) { + var _comparator$fromIndex; + formIndex = (_comparator$fromIndex = comparator.fromIndex) !== null && _comparator$fromIndex !== void 0 ? _comparator$fromIndex : 0; + comparator = comparator.comparator; + } + if (typeof comparator === "string") { + const key = comparator; + comparator = (element, value) => element[key] === toValue(value); + } + comparator = (_comparator = comparator) !== null && _comparator !== void 0 ? _comparator : ((element, value) => element === toValue(value)); + return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(toValue(element), toValue(value), index, toValue(array)))); +} +//#endregion +//#region useArrayJoin/index.ts +/** +* Reactive `Array.join` +* +* @see https://vueuse.org/useArrayJoin +* @param list - the array was called upon. +* @param separator - a string to separate each pair of adjacent elements of the array. If omitted, the array elements are separated with a comma (","). +* +* @returns a string with all array elements joined. If arr.length is 0, the empty string is returned. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayJoin(list, separator) { + return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator))); +} +//#endregion +//#region useArrayMap/index.ts +/** +* Reactive `Array.map` +* +* @see https://vueuse.org/useArrayMap +* @param list - the array was called upon. +* @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array. +* +* @returns a new array with each element being the result of the callback function. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayMap(list, fn) { + return computed(() => toValue(list).map((i) => toValue(i)).map(fn)); +} +//#endregion +//#region useArrayReduce/index.ts +/* @__NO_SIDE_EFFECTS__ */ +function useArrayReduce(list, reducer, ...args) { + const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index); + return computed(() => { + const resolved = toValue(list); + return args.length ? resolved.reduce(reduceCallback, typeof args[0] === "function" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback); + }); +} +//#endregion +//#region useArraySome/index.ts +/** +* Reactive `Array.some` +* +* @see https://vueuse.org/useArraySome +* @param list - the array was called upon. +* @param fn - a function to test each element. +* +* @returns **true** if the `fn` function returns a **truthy** value for any element from the array. Otherwise, **false**. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArraySome(list, fn) { + return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array))); +} +//#endregion +//#region useArrayUnique/index.ts +function uniq(array) { + return Array.from(new Set(array)); +} +function uniqueElementsBy(array, fn) { + return array.reduce((acc, v) => { + if (!acc.some((x) => fn(v, x, array))) acc.push(v); + return acc; + }, []); +} +/** +* reactive unique array +* @see https://vueuse.org/useArrayUnique +* @param list - the array was called upon. +* @param compareFn +* @returns A computed ref that returns a unique array of items. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useArrayUnique(list, compareFn) { + return computed(() => { + const resolvedList = toValue(list).map((element) => toValue(element)); + return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList); + }); +} +//#endregion +//#region useCounter/index.ts +/** +* Basic counter with utility functions. +* +* @see https://vueuse.org/useCounter +* @param [initialValue] +* @param options +*/ +function useCounter(initialValue = 0, options = {}) { + let _initialValue = unref(initialValue); + const count = shallowRef(initialValue); + const { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } = options; + const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min); + const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max); + const get = () => count.value; + const set = (val) => count.value = Math.max(min, Math.min(max, val)); + const reset = (val = _initialValue) => { + _initialValue = val; + return set(val); + }; + return { + count: shallowReadonly(count), + inc, + dec, + get, + set, + reset + }; +} +//#endregion +//#region useDateFormat/index.ts +const REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i; +const REGEX_FORMAT = /[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g; +function defaultMeridiem(hours, minutes, isLowercase, hasPeriod) { + let m = hours < 12 ? "AM" : "PM"; + if (hasPeriod) m = m.split("").reduce((acc, curr) => acc += `${curr}.`, ""); + return isLowercase ? m.toLowerCase() : m; +} +function formatOrdinal(num) { + const suffixes = [ + "th", + "st", + "nd", + "rd" + ]; + const v = num % 100; + return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]); +} +function formatDate(date, formatStr, options = {}) { + var _options$customMeridi; + const years = date.getFullYear(); + const month = date.getMonth(); + const days = date.getDate(); + const hours = date.getHours(); + const minutes = date.getMinutes(); + const seconds = date.getSeconds(); + const milliseconds = date.getMilliseconds(); + const day = date.getDay(); + const meridiem = (_options$customMeridi = options.customMeridiem) !== null && _options$customMeridi !== void 0 ? _options$customMeridi : defaultMeridiem; + const stripTimeZone = (dateString) => { + var _dateString$split$; + return (_dateString$split$ = dateString.split(" ")[1]) !== null && _dateString$split$ !== void 0 ? _dateString$split$ : ""; + }; + const matches = { + Yo: () => formatOrdinal(years), + YY: () => String(years).slice(-2), + YYYY: () => years, + M: () => month + 1, + Mo: () => formatOrdinal(month + 1), + MM: () => `${month + 1}`.padStart(2, "0"), + MMM: () => date.toLocaleDateString(toValue(options.locales), { month: "short" }), + MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: "long" }), + D: () => String(days), + Do: () => formatOrdinal(days), + DD: () => `${days}`.padStart(2, "0"), + H: () => String(hours), + Ho: () => formatOrdinal(hours), + HH: () => `${hours}`.padStart(2, "0"), + h: () => `${hours % 12 || 12}`.padStart(1, "0"), + ho: () => formatOrdinal(hours % 12 || 12), + hh: () => `${hours % 12 || 12}`.padStart(2, "0"), + m: () => String(minutes), + mo: () => formatOrdinal(minutes), + mm: () => `${minutes}`.padStart(2, "0"), + s: () => String(seconds), + so: () => formatOrdinal(seconds), + ss: () => `${seconds}`.padStart(2, "0"), + SSS: () => `${milliseconds}`.padStart(3, "0"), + d: () => day, + dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "narrow" }), + ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "short" }), + dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: "long" }), + A: () => meridiem(hours, minutes), + AA: () => meridiem(hours, minutes, false, true), + a: () => meridiem(hours, minutes, true), + aa: () => meridiem(hours, minutes, true, true), + z: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), + zz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), + zzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "shortOffset" })), + zzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: "longOffset" })) + }; + return formatStr.replace(REGEX_FORMAT, (match, $1) => { + var _ref, _matches$match; + return (_ref = $1 !== null && $1 !== void 0 ? $1 : (_matches$match = matches[match]) === null || _matches$match === void 0 ? void 0 : _matches$match.call(matches)) !== null && _ref !== void 0 ? _ref : match; + }); +} +function normalizeDate(date) { + if (date === null) return /* @__PURE__ */ new Date(NaN); + if (date === void 0) return /* @__PURE__ */ new Date(); + if (date instanceof Date) return new Date(date); + if (typeof date === "string" && !/Z$/i.test(date)) { + const d = date.match(REGEX_PARSE); + if (d) { + const m = d[2] - 1 || 0; + const ms = (d[7] || "0").substring(0, 3); + return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms); + } + } + return new Date(date); +} +/** +* Get the formatted date according to the string of tokens passed in. +* +* @see https://vueuse.org/useDateFormat +* @param date - The date to format, can either be a `Date` object, a timestamp, or a string +* @param formatStr - The combination of tokens to format the date +* @param options - UseDateFormatOptions +* +* @__NO_SIDE_EFFECTS__ +*/ +function useDateFormat(date, formatStr = "HH:mm:ss", options = {}) { + return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options)); +} +//#endregion +//#region useIntervalFn/index.ts +/** +* Wrapper for `setInterval` with controls +* +* @see https://vueuse.org/useIntervalFn +* @param cb +* @param interval +* @param options +*/ +function useIntervalFn(cb, interval = 1e3, options = {}) { + const { immediate = true, immediateCallback = false } = options; + let timer = null; + const isActive = shallowRef(false); + function clean() { + if (timer) { + clearInterval(timer); + timer = null; + } + } + function pause() { + isActive.value = false; + clean(); + } + function resume() { + const intervalValue = toValue(interval); + if (intervalValue <= 0) return; + isActive.value = true; + if (immediateCallback) cb(); + clean(); + if (isActive.value) timer = setInterval(cb, intervalValue); + } + if (immediate && isClient) resume(); + if (isRef(interval) || typeof interval === "function") tryOnScopeDispose(watch(interval, () => { + if (isActive.value && isClient) resume(); + })); + tryOnScopeDispose(pause); + return { + isActive: shallowReadonly(isActive), + pause, + resume + }; +} +//#endregion +//#region useInterval/index.ts +function useInterval(interval = 1e3, options = {}) { + const { controls: exposeControls = false, immediate = true, callback } = options; + const counter = shallowRef(0); + const update = () => counter.value += 1; + const reset = () => { + counter.value = 0; + }; + const controls = useIntervalFn(callback ? () => { + update(); + callback(counter.value); + } : update, interval, { immediate }); + if (exposeControls) return { + counter: shallowReadonly(counter), + reset, + ...controls + }; + else return shallowReadonly(counter); +} +//#endregion +//#region useLastChanged/index.ts +function useLastChanged(source, options = {}) { + var _options$initialValue; + const ms = shallowRef((_options$initialValue = options.initialValue) !== null && _options$initialValue !== void 0 ? _options$initialValue : null); + watch(source, () => ms.value = timestamp(), options); + return shallowReadonly(ms); +} +//#endregion +//#region useTimeoutFn/index.ts +/** +* Wrapper for `setTimeout` with controls. +* +* @param cb +* @param interval +* @param options +*/ +function useTimeoutFn(cb, interval, options = {}) { + const { immediate = true, immediateCallback = false } = options; + const isPending = shallowRef(false); + let timer; + function clear() { + if (timer) { + clearTimeout(timer); + timer = void 0; + } + } + function stop() { + isPending.value = false; + clear(); + } + function start(...args) { + if (immediateCallback) cb(); + clear(); + isPending.value = true; + timer = setTimeout(() => { + isPending.value = false; + timer = void 0; + cb(...args); + }, toValue(interval)); + } + if (immediate) { + isPending.value = true; + if (isClient) start(); + } + tryOnScopeDispose(stop); + return { + isPending: shallowReadonly(isPending), + start, + stop + }; +} +//#endregion +//#region useTimeout/index.ts +function useTimeout(interval = 1e3, options = {}) { + const { controls: exposeControls = false, callback } = options; + const controls = useTimeoutFn(callback !== null && callback !== void 0 ? callback : noop, interval, options); + const ready = computed(() => !controls.isPending.value); + if (exposeControls) return { + ready, + ...controls + }; + else return ready; +} +//#endregion +//#region useToNumber/index.ts +/** +* Reactively convert a string ref to number. +* +* @__NO_SIDE_EFFECTS__ +*/ +function useToNumber(value, options = {}) { + const { method = "parseFloat", radix, nanToZero } = options; + return computed(() => { + let resolved = toValue(value); + if (typeof method === "function") resolved = method(resolved); + else if (typeof resolved === "string") resolved = Number[method](resolved, radix); + if (nanToZero && Number.isNaN(resolved)) resolved = 0; + return resolved; + }); +} +//#endregion +//#region useToString/index.ts +/** +* Reactively convert a ref to string. +* +* @see https://vueuse.org/useToString +* +* @__NO_SIDE_EFFECTS__ +*/ +function useToString(value) { + return computed(() => `${toValue(value)}`); +} +//#endregion +//#region useToggle/index.ts +/** +* A boolean ref with a toggler +* +* @see https://vueuse.org/useToggle +* @param [initialValue] +* @param options +* +* @__NO_SIDE_EFFECTS__ +*/ +function useToggle(initialValue = false, options = {}) { + const { truthyValue = true, falsyValue = false } = options; + const valueIsRef = isRef(initialValue); + const _value = shallowRef(initialValue); + function toggle(value) { + if (arguments.length) { + _value.value = value; + return _value.value; + } else { + const truthy = toValue(truthyValue); + _value.value = _value.value === truthy ? toValue(falsyValue) : truthy; + return _value.value; + } + } + if (valueIsRef) return toggle; + else return [_value, toggle]; +} +//#endregion +//#region watchArray/index.ts +/** +* Watch for an array with additions and removals. +* +* @see https://vueuse.org/watchArray +*/ +function watchArray(source, cb, options) { + let oldList = (options === null || options === void 0 ? void 0 : options.immediate) ? [] : [...typeof source === "function" ? source() : Array.isArray(source) ? source : toValue(source)]; + return watch(source, (newList, _, onCleanup) => { + const oldListRemains = Array.from({ length: oldList.length }); + const added = []; + for (const obj of newList) { + let found = false; + for (let i = 0; i < oldList.length; i++) if (!oldListRemains[i] && obj === oldList[i]) { + oldListRemains[i] = true; + found = true; + break; + } + if (!found) added.push(obj); + } + const removed = oldList.filter((_, i) => !oldListRemains[i]); + cb(newList, oldList, added, removed, onCleanup); + oldList = [...newList]; + }, options); +} +//#endregion +//#region watchAtMost/index.ts +function watchAtMost(source, cb, options) { + const { count, ...watchOptions } = options; + const current = shallowRef(0); + const { stop, resume, pause } = watchWithFilter(source, (...args) => { + current.value += 1; + if (current.value >= toValue(count)) nextTick(() => stop()); + cb(...args); + }, watchOptions); + return { + count: current, + stop, + resume, + pause + }; +} +//#endregion +//#region watchDebounced/index.ts +function watchDebounced(source, cb, options = {}) { + const { debounce = 0, maxWait = void 0, ...watchOptions } = options; + return watchWithFilter(source, cb, { + ...watchOptions, + eventFilter: debounceFilter(debounce, { maxWait }) + }); +} +/** @deprecated use `watchDebounced` instead */ +const debouncedWatch = watchDebounced; +//#endregion +//#region watchDeep/index.ts +/** +* Shorthand for watching value with {deep: true} +* +* @see https://vueuse.org/watchDeep +*/ +function watchDeep(source, cb, options) { + return watch(source, cb, { + ...options, + deep: true + }); +} +//#endregion +//#region watchIgnorable/index.ts +function watchIgnorable(source, cb, options = {}) { + const { eventFilter = bypassFilter, ...watchOptions } = options; + const filteredCb = createFilterWrapper(eventFilter, cb); + let ignoreUpdates; + let ignorePrevAsyncUpdates; + let stop; + if (watchOptions.flush === "sync") { + let ignore = false; + ignorePrevAsyncUpdates = () => {}; + ignoreUpdates = (updater) => { + ignore = true; + updater(); + ignore = false; + }; + stop = watch(source, (...args) => { + if (!ignore) filteredCb(...args); + }, watchOptions); + } else { + const disposables = []; + let ignoreCounter = 0; + let syncCounter = 0; + ignorePrevAsyncUpdates = () => { + ignoreCounter = syncCounter; + }; + disposables.push(watch(source, () => { + syncCounter++; + }, { + ...watchOptions, + flush: "sync" + })); + ignoreUpdates = (updater) => { + const syncCounterPrev = syncCounter; + updater(); + ignoreCounter += syncCounter - syncCounterPrev; + }; + disposables.push(watch(source, (...args) => { + const ignore = ignoreCounter > 0 && ignoreCounter === syncCounter; + ignoreCounter = 0; + syncCounter = 0; + if (ignore) return; + filteredCb(...args); + }, watchOptions)); + stop = () => { + disposables.forEach((fn) => fn()); + }; + } + return { + stop, + ignoreUpdates, + ignorePrevAsyncUpdates + }; +} +/** @deprecated use `watchIgnorable` instead */ +const ignorableWatch = watchIgnorable; +//#endregion +//#region watchImmediate/index.ts +/** +* Shorthand for watching value with {immediate: true} +* +* @see https://vueuse.org/watchImmediate +*/ +function watchImmediate(source, cb, options) { + return watch(source, cb, { + ...options, + immediate: true + }); +} +//#endregion +//#region watchOnce/index.ts +/** +* Shorthand for watching value with { once: true } +* +* @see https://vueuse.org/watchOnce +*/ +function watchOnce(source, cb, options) { + return watch(source, cb, { + ...options, + once: true + }); +} +//#endregion +//#region watchThrottled/index.ts +function watchThrottled(source, cb, options = {}) { + const { throttle = 0, trailing = true, leading = true, ...watchOptions } = options; + return watchWithFilter(source, cb, { + ...watchOptions, + eventFilter: throttleFilter(throttle, trailing, leading) + }); +} +/** @deprecated use `watchThrottled` instead */ +const throttledWatch = watchThrottled; +//#endregion +//#region watchTriggerable/index.ts +function watchTriggerable(source, cb, options = {}) { + let cleanupFn; + function onEffect() { + if (!cleanupFn) return; + const fn = cleanupFn; + cleanupFn = void 0; + fn(); + } + /** Register the function `cleanupFn` */ + function onCleanup(callback) { + cleanupFn = callback; + } + const _cb = (value, oldValue) => { + onEffect(); + return cb(value, oldValue, onCleanup); + }; + const res = watchIgnorable(source, _cb, options); + const { ignoreUpdates } = res; + const trigger = () => { + let res; + ignoreUpdates(() => { + res = _cb(getWatchSources(source), getOldValue(source)); + }); + return res; + }; + return { + ...res, + trigger + }; +} +function getWatchSources(sources) { + if (isReactive(sources)) return sources; + if (Array.isArray(sources)) return sources.map((item) => toValue(item)); + return toValue(sources); +} +function getOldValue(source) { + return Array.isArray(source) ? source.map(() => void 0) : void 0; +} +//#endregion +//#region whenever/index.ts +function whenever(source, cb, options) { + const stop = watch(source, (v, ov, onInvalidate) => { + if (v) { + if (options === null || options === void 0 ? void 0 : options.once) nextTick(() => stop()); + cb(v, ov, onInvalidate); + } + }, { + ...options, + once: false + }); + return stop; +} +//#endregion +export { assert, autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, controlledComputed, controlledRef, createDisposableDirective, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, debouncedRef, debouncedWatch, eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refManualReset, refThrottled, refWithControl, set, syncRef, syncRefs, throttleFilter, throttledRef, throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever }; diff --git a/apps/web/.output/server/node_modules/@vueuse/shared/package.json b/apps/web/.output/server/node_modules/@vueuse/shared/package.json new file mode 100644 index 0000000..91c09cd --- /dev/null +++ b/apps/web/.output/server/node_modules/@vueuse/shared/package.json @@ -0,0 +1,45 @@ +{ + "name": "@vueuse/shared", + "type": "module", + "version": "15.0.0", + "author": "Anthony Fu <https://github.com/antfu>", + "license": "MIT", + "funding": "https://github.com/sponsors/antfu", + "homepage": "https://github.com/vueuse/vueuse/tree/main/packages/shared#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vueuse/vueuse.git", + "directory": "packages/shared" + }, + "bugs": { + "url": "https://github.com/vueuse/vueuse/issues" + }, + "keywords": [ + "vue", + "vue-use", + "utils" + ], + "sideEffects": false, + "exports": { + ".": "./dist/index.js", + "./*": "./dist/*", + "./package.json": "./package.json" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "unpkg": "./dist/index.iife.min.js", + "jsdelivr": "./dist/index.iife.min.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "engines": { + "node": ">=22" + }, + "peerDependencies": { + "vue": "^3.5.0" + }, + "scripts": { + "build": "tsdown" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/devalue/package.json b/apps/web/.output/server/node_modules/devalue/package.json new file mode 100644 index 0000000..5d5e210 --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/package.json @@ -0,0 +1,47 @@ +{ + "name": "devalue", + "description": "Gets the job done when JSON.stringify can't", + "version": "6.0.3", + "repository": "sveltejs/devalue", + "sideEffects": false, + "exports": { + ".": { + "types": "./types/types.d.ts", + "import": "./src/index.js", + "default": "./src/index.js" + } + }, + "files": [ + "src", + "types" + ], + "types": "./types/types.d.ts", + "engines": { + "node": ">=18" + }, + "devDependencies": { + "@changesets/cli": "^2.29.6", + "@js-temporal/polyfill": "^0.5.1", + "@types/node": "^24.12.0", + "prettier": "^3.2.4", + "publint": "^0.3.12", + "typescript": "^7.0.2", + "vite": "8.3.0", + "vitest": "5.0.1" + }, + "license": "MIT", + "type": "module", + "scripts": { + "changeset:version": "changeset version", + "changeset:publish": "changeset publish", + "build": "tsc", + "test": "vitest run --project unit", + "test:unit": "vitest run --project unit", + "test:watch": "vitest --project unit", + "test:types": "tsc -p . --noEmit", + "check:format": "prettier --check .", + "format": "prettier --write .", + "bench": "node --allow-natives-syntax ./benchmarking/run.js", + "bench:compare": "node --allow-natives-syntax ./benchmarking/compare/index.js" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/devalue/src/base64.js b/apps/web/.output/server/node_modules/devalue/src/base64.js new file mode 100644 index 0000000..3833db9 --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/base64.js @@ -0,0 +1,64 @@ +/* Baseline 2025 runtimes */ + +/** @type {(array_buffer: ArrayBuffer) => string} */ +export function encode_native(array_buffer) { + return new Uint8Array(array_buffer).toBase64(); +} + +/** @type {(base64: string) => ArrayBuffer} */ +export function decode_native(base64) { + return Uint8Array.fromBase64(base64).buffer; +} + +/* Node-compatible runtimes */ + +/** @type {(array_buffer: ArrayBuffer) => string} */ +export function encode_buffer(array_buffer) { + return Buffer.from(array_buffer).toString('base64'); +} + +/** @type {(base64: string) => ArrayBuffer} */ +export function decode_buffer(base64) { + return Uint8Array.from(Buffer.from(base64, 'base64')).buffer; +} + +/* Legacy runtimes */ + +/** @type {(array_buffer: ArrayBuffer) => string} */ +export function encode_legacy(array_buffer) { + const array = new Uint8Array(array_buffer); + let binary = ''; + + // the maximum number of arguments to String.fromCharCode.apply + // should be around 0xFFFF in modern engines + const chunk_size = 0x8000; + for (let i = 0; i < array.length; i += chunk_size) { + const chunk = array.subarray(i, i + chunk_size); + // `apply` accepts any array-like at runtime; lib types only admit `number[]`. + binary += String.fromCharCode.apply( + null, + /** @type {number[]} */ (/** @type {unknown} */ (chunk)) + ); + } + + return btoa(binary); +} + +/** @type {(base64: string) => ArrayBuffer} */ +export function decode_legacy(base64) { + const binary_string = atob(base64); + const len = binary_string.length; + const array = new Uint8Array(len); + + for (let i = 0; i < len; i++) { + array[i] = binary_string.charCodeAt(i); + } + + return array.buffer; +} + +const native = typeof Uint8Array.fromBase64 === 'function'; +const buffer = typeof process === 'object' && process.versions?.node !== undefined; + +export const encode64 = native ? encode_native : buffer ? encode_buffer : encode_legacy; +export const decode64 = native ? decode_native : buffer ? decode_buffer : decode_legacy; diff --git a/apps/web/.output/server/node_modules/devalue/src/constants.js b/apps/web/.output/server/node_modules/devalue/src/constants.js new file mode 100644 index 0000000..05532ae --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/constants.js @@ -0,0 +1,12 @@ +export const UNDEFINED = -1; +export const HOLE = -2; +export const NAN = -3; +export const POSITIVE_INFINITY = -4; +export const NEGATIVE_INFINITY = -5; +export const NEGATIVE_ZERO = -6; +export const SPARSE = -7; + +// The largest valid value for a JavaScript array's `length` property, +// and the largest valid array index (one less than the max length). +export const MAX_ARRAY_LEN = 2 ** 32 - 1; +export const MAX_ARRAY_INDEX = MAX_ARRAY_LEN - 1; diff --git a/apps/web/.output/server/node_modules/devalue/src/index.js b/apps/web/.output/server/node_modules/devalue/src/index.js new file mode 100644 index 0000000..bdb3dba --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/index.js @@ -0,0 +1,8 @@ +export { uneval } from './uneval.js'; +export { parse, unflatten } from './parse.js'; +export { stringify, stringifyAsync } from './stringify.js'; +export { + default_stringify_operations as defaultStringifyOperations, + default_parse_operations as defaultParseOperations +} from './operations.js'; +export { DevalueError, filter_array_indices as filterArrayIndices } from './utils.js'; diff --git a/apps/web/.output/server/node_modules/devalue/src/javascript-source.js b/apps/web/.output/server/node_modules/devalue/src/javascript-source.js new file mode 100644 index 0000000..78968bf --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/javascript-source.js @@ -0,0 +1,98 @@ +const SOURCE = Symbol('JavaScriptSource'); + +export class JavaScriptSource { + /** + * @param {TemplateStringsArray} strings + * @param {unknown[]} values + */ + constructor(strings, values) { + this.strings = strings; + this.values = values; + } + + /** + * @param {(value: unknown) => string} fn + */ + render(fn) { + const { strings, values } = this; + let result = strings[0]; + for (let i = 0; i < values.length; i++) { + const value = values[i]; + result += JavaScriptSource.is_fragment(value) + ? JavaScriptSource.from(value).render(fn) + : fn(value); + result += strings[i + 1]; + } + return result; + } + + /** + * @param {(value: unknown) => void} fn + * @param {Set<string>} reserved + * @param {Set<readonly string[]>} templates + */ + visit(fn, reserved, templates) { + const { strings, values } = this; + // Each template site reuses its string array, but its interpolations can change. + if (!templates.has(strings)) { + templates.add(strings); + for (const string of strings) { + // Generated names are ASCII, but literal identifiers can use Unicode escapes. + const decoded = string.replace( + /\\u(?:([\da-f]{4})|\{([\da-f]+)\})/gi, + (escape, hex, code_point) => { + const code = parseInt(hex || code_point, 16); + return code < 128 ? String.fromCharCode(code) : escape; + } + ); + // Conservatively reserve words even in property names, strings and comments. + for (const name of decoded.match(/[a-zA-Z_$][\w$]*/g) || []) reserved.add(name); + } + } + for (const value of values) { + if (JavaScriptSource.is_fragment(value)) { + JavaScriptSource.from(value).visit(fn, reserved, templates); + } else { + fn(value); + } + } + } + + /** + * @param {unknown} value + * @returns {value is JavaScriptFragment} + */ + static is_fragment(value) { + return typeof value === 'object' && value !== null && SOURCE in value; + } + + /** + * @param {JavaScriptFragment} fragment + * @returns {JavaScriptSource} + */ + static from(fragment) { + if (!JavaScriptSource.is_fragment(fragment)) { + throw new TypeError('Invalid JavaScript fragment'); + } + return fragment[SOURCE]; + } +} + +/** + * @param {TemplateStringsArray} strings + * @param {...unknown} values + * @returns {JavaScriptFragment} + */ +export function js(strings, ...values) { + if (!Array.isArray(strings) || !Array.isArray(strings.raw)) { + throw new TypeError( + '`js` must be used as a tagged template, but was called as a regular function' + ); + } + return { [SOURCE]: new JavaScriptSource(strings, values) }; +} + +/** + * The opaque result of the `js` tag passed to an `uneval` replacer. + * @typedef {{ readonly [SOURCE]: JavaScriptSource }} JavaScriptFragment + */ diff --git a/apps/web/.output/server/node_modules/devalue/src/operations.js b/apps/web/.output/server/node_modules/devalue/src/operations.js new file mode 100644 index 0000000..0c9d8fb --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/operations.js @@ -0,0 +1,220 @@ +import { MAX_ARRAY_INDEX } from './constants.js'; +import { + enumerable_symbols, + get_type, + is_buffer, + is_plain_object, + valid_array_indices +} from './utils.js'; + +/** + * Merges caller-provided operation overrides over the defaults. Iterating the + * default keys (rather than the override's own keys) means nullish members + * fall back to the default, and inherited members — e.g. from a class + * instance — are picked up. + * + * @template {Record<string, any>} T + * @param {T} defaults + * @param {Partial<T> | undefined} overrides + * @returns {T} + */ +export function merge_operations(defaults, overrides) { + if (!overrides) return defaults; + + const merged = /** @type {T} */ ({}); + + for (const key of /** @type {(keyof T)[]} */ (Object.keys(defaults))) { + merged[key] = overrides[key] ?? defaults[key]; + } + + return merged; +} + +/** @type {{ kind: 'not-plain' }} */ +const NOT_PLAIN = /* @__PURE__ */ Object.freeze({ kind: 'not-plain' }); + +/** @type {{ kind: 'symbol-keys' }} */ +const SYMBOL_KEYS = /* @__PURE__ */ Object.freeze({ kind: 'symbol-keys' }); + +/** + * The default implementations of every introspection/extraction operation + * `stringify` performs on the value being serialized. Each one uses native + * JavaScript semantics (property access, iteration, prototype methods, etc). + * + * Pass overrides via the `operations` option of `stringify`/`stringifyAsync` + * to customize how values are inspected — e.g. to serialize values without + * triggering getters, proxy traps, or patched prototype methods, or to + * serialize values that live in a different JavaScript runtime (a `node:vm` + * context, a WASM-hosted engine, a remote process) through handle objects. + * + * The object is frozen — it is shared by every `stringify` call that does + * not override a given operation. + * + */ +/** @type {import('./types.js').DefaultStringifyOperations} */ +const stringify_operations = { + identify: (value) => value, + + typeOf: (value) => (value === null ? 'null' : typeof value), + + toPrimitive: (value) => value, + + tagOf: (value) => get_type(value), + + isThenable: (value) => typeof value.then === 'function', + + toPromise: (thenable) => Promise.resolve(thenable), + + unbox: (boxed) => boxed.valueOf(), + + toISOString: (date) => (isNaN(date.getDate()) ? '' : date.toISOString()), + + toStringValue: (value) => value.toString(), + + regExpInfo: (regexp) => ({ source: regexp.source, flags: regexp.flags }), + + valuesOf: (set) => set, + + entriesOf: (map) => map, + + viewInfo: (view) => { + // Node Buffers may share a pool containing unrelated, sensitive data. + // Copy only the visible bytes, without using Buffer's pooling or slice. + if (is_buffer(view)) view = new Uint8Array(view); + + return { + buffer: view.buffer, + byteOffset: view.byteOffset, + byteLength: view.byteLength, + length: view.length, + bufferByteLength: view.buffer.byteLength + }; + }, + + toArrayBuffer: (buffer) => buffer, + + lengthOf: (array) => array.length, + + hasOwn: (value, key) => Object.hasOwn(value, key), + + indicesOf: (array) => valid_array_indices(array), + + shapeOf: (value) => { + if (!is_plain_object(value)) return NOT_PLAIN; + if (enumerable_symbols(value).length > 0) return SYMBOL_KEYS; + + return { + kind: Object.getPrototypeOf(value) === null ? 'null-proto' : 'plain', + keys: Object.keys(value) + }; + }, + + get: (value, key) => value[key] +}; + +export const default_stringify_operations = /* @__PURE__ */ Object.freeze(stringify_operations); + +const array_buffer_byte_length = /** @type {() => number} */ ( + Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength')?.get +); + +const shared_array_buffer_byte_length = + typeof SharedArrayBuffer === 'undefined' + ? undefined + : Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength')?.get; + +/** + * The default implementations of every construction operation `parse` and + * `unflatten` perform while reviving a value. Each one uses native + * JavaScript semantics (built-in constructors, property assignment, etc). + * + * Pass overrides via the `operations` option of `parse`/`unflatten` to + * customize how values are built — e.g. to construct them from the + * intrinsics of a different realm (a `node:vm` context), or to build up + * values inside another JavaScript runtime (a WASM-hosted engine, a remote + * process) through handle objects. + * + * The object is frozen — it is shared by every `parse` call that does not + * override a given operation. + * + */ +/** @type {import('./types.js').DefaultParseOperations} */ +const parse_operations = { + fromPrimitive: (primitive) => primitive, + + fromISOString: (iso) => new Date(iso), + + fromStringValue: (tag, text) => { + if (tag === 'URL') return new URL(text); + if (tag === 'URLSearchParams') return new URLSearchParams(text); + // 'Temporal.Instant', 'Temporal.PlainDate', ... + // @ts-expect-error TS doesn't know about Temporal yet + return Temporal[tag.slice(9)].from(text); + }, + + fromArrayBuffer: (buffer) => buffer, + + fromRegExpInfo: (source, flags) => new RegExp(source, flags), + + fromViewInfo: (tag, buffer, byteOffset, length) => { + // A reviver can replace an ArrayBuffer with a length or array-like value, + // which a typed array constructor would use to allocate a new buffer. + // The native getters check internal slots, so they work across realms + // and cannot be fooled by a forged prototype or Symbol.toStringTag. + try { + array_buffer_byte_length.call(buffer); + } catch (error) { + if (!shared_array_buffer_byte_length) throw error; + shared_array_buffer_byte_length.call(buffer); + } + + const Constructor = /** @type {any} */ (globalThis)[tag]; + return byteOffset !== undefined + ? new Constructor(buffer, byteOffset, length) + : new Constructor(buffer); + }, + + box: (value) => Object(value), + + createArray: (length) => new Array(length), + + createSparseArray: (length) => { + /** @type {any[]} */ + const array = []; + + // Setting `array.length = length` (or equivalently calling + // `new Array(length)`) on an untrusted length is a DoS vector: V8 + // eagerly allocates a contiguous backing store for array lengths below + // ~10^8, so a small payload with a huge declared length can force + // arbitrary memory allocation. Touching the largest-possible index + // first forces V8 into dictionary-elements mode, where `length` is + // just a number and no contiguous allocation occurs. + array[MAX_ARRAY_INDEX] = undefined; + delete array[MAX_ARRAY_INDEX]; + array.length = length; + + return array; + }, + + createObject: () => ({}), + + createNullPrototypeObject: () => Object.create(null), + + createSet: () => new Set(), + + createMap: () => new Map(), + + set: (target, key, value) => { + target[key] = value; + }, + + addValue: (set, value) => { + set.add(value); + }, + + addEntry: (map, key, value) => { + map.set(key, value); + } +}; + +export const default_parse_operations = /* @__PURE__ */ Object.freeze(parse_operations); diff --git a/apps/web/.output/server/node_modules/devalue/src/parse.js b/apps/web/.output/server/node_modules/devalue/src/parse.js new file mode 100644 index 0000000..6d6b24a --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/parse.js @@ -0,0 +1,312 @@ +import { decode64 } from './base64.js'; +import { + HOLE, + NAN, + NEGATIVE_INFINITY, + NEGATIVE_ZERO, + POSITIVE_INFINITY, + SPARSE, + UNDEFINED +} from './constants.js'; +import { default_parse_operations, merge_operations } from './operations.js'; +import { is_valid_array_index, is_valid_array_len } from './utils.js'; + +function invalid() { + throw new Error('Invalid input'); +} + +/** + * Revive a value serialized with `devalue.stringify` + * @param {string} serialized + * @param {Record<string, (value: any) => any>} [revivers] + * @param {import('./types.js').ParseOptions} [options] + */ +export function parse(serialized, revivers, options) { + return unflatten(JSON.parse(serialized), revivers, options); +} + +/** + * Revive a value flattened with `devalue.stringify` + * @param {number | any[]} parsed + * @param {Record<string, (value: any) => any>} [revivers] + * @param {import('./types.js').ParseOptions} [options] + */ +export function unflatten(parsed, revivers, options) { + /** @type {import('./types.js').ParseOperations} */ + const ops = merge_operations(default_parse_operations, options?.operations); + + if (typeof parsed === 'number') return hydrate(parsed, true); + + if (!Array.isArray(parsed) || parsed.length === 0) { + invalid(); + } + + const values = /** @type {any[]} */ (parsed); + + const hydrated = Array(values.length); + + /** + * A set of values currently being hydrated with custom revivers, + * used to detect invalid cyclical dependencies + * @type {Set<number> | null} + */ + let hydrating = null; + + /** + * @param {number} index + * @returns {any} + */ + function get_raw(index) { + if (!is_valid_array_index(index) || index >= values.length) { + invalid(); + } + + return values[index]; + } + + /** + * @param {number} index + * @returns {any} + */ + function hydrate(index, standalone = false) { + if (index === UNDEFINED) return ops.fromPrimitive(undefined); + if (index === NAN) return ops.fromPrimitive(NaN); + if (index === POSITIVE_INFINITY) return ops.fromPrimitive(Infinity); + if (index === NEGATIVE_INFINITY) return ops.fromPrimitive(-Infinity); + if (index === NEGATIVE_ZERO) return ops.fromPrimitive(-0); + + if (standalone || typeof index !== 'number') { + invalid(); + } + + if (index in hydrated) return hydrated[index]; + + if (index >= values.length) { + invalid(); + } + + const value = values[index]; + + if (!value || typeof value !== 'object') { + hydrated[index] = ops.fromPrimitive(value); + } else if (Array.isArray(value)) { + if (typeof value[0] === 'string') { + const type = value[0]; + + const reviver = revivers && Object.hasOwn(revivers, type) ? revivers[type] : undefined; + + if (reviver) { + let i = value[1]; + if (typeof i !== 'number') { + // if it's not a number, it was serialized by a builtin reviver + // so we need to munge it into the format expected by a custom reviver + i = values.push(value[1]) - 1; + } + + // If the payload is already hydrated, its recursion has already + // terminated (e.g. a self-referential object cached itself before + // following its own back-reference), so revive it directly. Falling + // through to the `hydrating` guard here would wrongly reject a valid + // cycle. An actually infinite payload (e.g. `[["Custom", 0]]`) is never + // cached, so it still hits the guard below. + if (Object.hasOwn(hydrated, i)) { + return (hydrated[index] = reviver(hydrated[i])); + } + + hydrating ??= new Set(); + + if (hydrating.has(i)) { + throw new Error('Invalid circular reference'); + } + + hydrating.add(i); + hydrated[index] = reviver(hydrate(i)); + hydrating.delete(i); + + return hydrated[index]; + } + + switch (type) { + case 'Date': + hydrated[index] = ops.fromISOString(value[1]); + break; + + case 'Set': + const set = ops.createSet(); + hydrated[index] = set; + for (let i = 1; i < value.length; i += 1) { + ops.addValue(set, hydrate(value[i])); + } + break; + + case 'Map': + const map = ops.createMap(); + hydrated[index] = map; + for (let i = 1; i < value.length; i += 2) { + ops.addEntry(map, hydrate(value[i]), hydrate(value[i + 1])); + } + break; + + case 'RegExp': + hydrated[index] = ops.fromRegExpInfo(value[1], value[2]); + break; + + case 'Object': { + const wrapped_index = value[1]; + + // Only a primitive can be boxed. The negative sentinels below are the + // ones `stringify` emits for boxed numbers; every other sentinel + // (`UNDEFINED`, `HOLE`, `SPARSE`) would box `undefined` into a plain + // `{}`, which is not a value `stringify` can produce. + const is_boxable_sentinel = + wrapped_index === NAN || + wrapped_index === POSITIVE_INFINITY || + wrapped_index === NEGATIVE_INFINITY || + wrapped_index === NEGATIVE_ZERO; + + if (!is_boxable_sentinel) { + const wrapped = get_raw(wrapped_index); + + const is_bigint = Array.isArray(wrapped) && wrapped[0] === 'BigInt'; + + if ((wrapped === undefined || typeof wrapped === 'object') && !is_bigint) { + // avoid infinite recusion in case of malformed input + invalid(); + } + } + + hydrated[index] = ops.box(hydrate(wrapped_index)); + break; + } + + case 'BigInt': + hydrated[index] = ops.fromPrimitive(BigInt(value[1])); + break; + + case 'null': + const obj = ops.createNullPrototypeObject(); + hydrated[index] = obj; + for (let i = 1; i < value.length; i += 2) { + const key = value[i]; + if (typeof key !== 'string') { + throw new Error('Cannot parse an object with a non-string key'); + } + + if (key === '__proto__') { + throw new Error('Cannot parse an object with a `__proto__` property'); + } + + ops.set(obj, key, hydrate(value[i + 1])); + } + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Float16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + case 'DataView': { + const buffer_index = value[1]; + + const raw = get_raw(buffer_index); + + if (!Array.isArray(raw) || raw[0] !== 'ArrayBuffer') { + // without this, if we receive malformed input we could + // end up trying to hydrate in a circle or allocate + // huge amounts of memory when we call `new TypedArrayConstructor(buffer)` + invalid(); + } + + const buffer = hydrate(buffer_index); + + hydrated[index] = ops.fromViewInfo(type, buffer, value[2], value[3]); + + break; + } + + case 'ArrayBuffer': { + const base64 = value[1]; + if (typeof base64 !== 'string') { + throw new Error('Invalid ArrayBuffer encoding'); + } + hydrated[index] = ops.fromArrayBuffer(decode64(base64)); + break; + } + + case 'URL': + case 'URLSearchParams': + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': { + // the same tags `toStringValue` serializes on the stringify side + hydrated[index] = ops.fromStringValue(type, value[1]); + break; + } + + default: + throw new Error(`Unknown type ${type}`); + } + } else if (value[0] === SPARSE) { + // Sparse array encoding: [SPARSE, length, idx, val, idx, val, ...] + const len = value[1]; + + if (!is_valid_array_len(len)) { + invalid(); + } + + // `len` comes from the input rather than being bounded by it, so + // `createSparseArray` is responsible for not allocating storage + // proportional to it. + const array = ops.createSparseArray(len); + hydrated[index] = array; + + for (let i = 2; i < value.length; i += 2) { + const idx = value[i]; + + if (!is_valid_array_index(idx) || idx >= len) { + invalid(); + } + + ops.set(array, idx, hydrate(value[i + 1])); + } + } else { + const array = ops.createArray(value.length); + hydrated[index] = array; + + for (let i = 0; i < value.length; i += 1) { + const n = value[i]; + if (n === HOLE) continue; + + ops.set(array, i, hydrate(n)); + } + } + } else { + const object = ops.createObject(); + hydrated[index] = object; + + for (const key of Object.keys(value)) { + if (key === '__proto__') { + throw new Error('Cannot parse an object with a `__proto__` property'); + } + + ops.set(object, key, hydrate(value[key])); + } + } + + return hydrated[index]; + } + + return hydrate(0); +} diff --git a/apps/web/.output/server/node_modules/devalue/src/stringify.js b/apps/web/.output/server/node_modules/devalue/src/stringify.js new file mode 100644 index 0000000..9d3a6b5 --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/stringify.js @@ -0,0 +1,438 @@ +import { DevalueError, MAP_KEY, format_path, quote_key, stringify_string } from './utils.js'; +import { + HOLE, + NAN, + NEGATIVE_INFINITY, + NEGATIVE_ZERO, + POSITIVE_INFINITY, + SPARSE, + UNDEFINED +} from './constants.js'; +import { encode64 } from './base64.js'; +import { default_stringify_operations, merge_operations } from './operations.js'; + +/** + * Turn a value into a JSON string that can be parsed with `devalue.parse` + * @param {any} value + * @param {Record<string, (value: any) => any>} [reducers] + * @param {import('./types.js').StringifyOptions} [options] + */ +export function stringify(value, reducers, options) { + const stringified = run(false, value, reducers, options); + return typeof stringified === 'string' ? stringified : `[${stringified.join(',')}]`; +} + +/** + * Turn a value into a JSON string that can be parsed with `devalue.parse` + * @param {any} value + * @param {Record<string, (value: any) => any>} [reducers] + * @param {import('./types.js').StringifyOptions} [options] + */ +export async function stringifyAsync(value, reducers, options) { + const stringified = run(true, value, reducers, options); + + if (typeof stringified === 'string') { + return stringified; + } + + let out = '['; + + for (let i = 0; i < stringified.length; i += 1) { + let value = stringified[i]; + + if (typeof value !== 'string') { + await value; + value = stringified[i]; + + if (i === 0 && value < 0) { + return `${value}`; + } + } + + out += value; + + if (i < stringified.length - 1) { + out += ','; + } + } + + out += ']'; + + return out; +} + +/** + * @param {boolean} async + * @param {any} value + * @param {Record<string, (value: any) => any>} [reducers] + * @param {import('./types.js').StringifyOptions} [options] + */ +function run(async, value, reducers, options) { + const ops = merge_operations(default_stringify_operations, options?.operations); + + /** @type {any[]} */ + const stringified = []; + + /** @type {Map<any, number>} */ + const indexes = new Map(); + + /** @type {Array<{ key: string, fn: (value: any) => any }>} */ + const custom = []; + if (reducers) { + for (const key of Object.getOwnPropertyNames(reducers)) { + custom.push({ key, fn: reducers[key] }); + } + } + + // the path to the value being serialized, recorded as-is and only + // formatted by `error` — see `format_path` + /** @type {any[]} */ + let keys = []; + + let p = 0; + + /** + * @param {string} message + * @param {any} thing + * @returns {never} + */ + function error(message, thing) { + const path = format_path(keys, (key) => { + const key_type = ops.typeOf(key); + const key_is_primitive = + key_type !== 'object' && key_type !== 'function' && key_type !== 'symbol'; + return key_is_primitive ? stringify_primitive(ops.toPrimitive(key)) : '...'; + }); + + throw new DevalueError(message, path, thing, value); + } + + /** + * @param {any} thing + * @param {number} [index] + */ + function flatten(thing, index) { + const type = ops.typeOf(thing); + + if (type === 'undefined') return UNDEFINED; + + /** @type {number | undefined} */ + let number; + + // `ops.toPrimitive` is the boundary between the value being serialized and + // plain host JavaScript: everything below operates on the extracted host + // primitive, so native comparisons and arithmetic are correct there. + if (type === 'number') { + number = /** @type {number} */ (ops.toPrimitive(thing)); + if (Number.isNaN(number)) return NAN; + if (number === Infinity) return POSITIVE_INFINITY; + if (number === -Infinity) return NEGATIVE_INFINITY; + if (number === 0 && 1 / number < 0) return NEGATIVE_ZERO; + } + + const id = ops.identify(thing); + + if (indexes.has(id)) return /** @type {number} */ (indexes.get(id)); + + index ??= p++; + indexes.set(id, index); + + for (const { key, fn } of custom) { + const value = fn(thing); + if (value) { + stringified[index] = `["${key}",${flatten(value)}]`; + return index; + } + } + + if (type === 'function') { + error(`Cannot stringify a function`, thing); + } else if (type === 'symbol') { + error(`Cannot stringify a Symbol primitive`, thing); + } + + /** @type {string | Promise<any>} */ + let str = ''; + + if (type !== 'object') { + str = stringify_primitive(type === 'number' ? number : ops.toPrimitive(thing)); + } else if (ops.isThenable(thing)) { + if (!async) { + error(`Cannot stringify a Promise or thenable — use stringifyAsync instead`, thing); + } + + // the callback runs after the synchronous walk has unwound `keys`, + // so the path to the thenable has to be captured and reinstated + const prev_keys = keys.slice(); + + str = ops.toPromise(thing).then((value) => { + keys = prev_keys; + + const i = flatten(value, index); + if (i < 0) stringified[index] = i; + }); + + // Promises are awaited sequentially, and traversal may throw before + // reaching them. Handle rejections immediately, but keep the original + // promise so awaiting it still propagates the error to the caller. + str.catch(() => {}); + } else { + const tag = ops.tagOf(thing); + + switch (tag) { + case 'Number': + case 'String': + case 'Boolean': + case 'BigInt': + str = `["Object",${flatten(ops.unbox(thing))}]`; + break; + + case 'Date': + str = `["Date","${ops.toISOString(thing)}"]`; + break; + + case 'URL': + str = `["URL",${stringify_string(ops.toStringValue(thing))}]`; + break; + + case 'URLSearchParams': + str = `["URLSearchParams",${stringify_string(ops.toStringValue(thing))}]`; + break; + + case 'RegExp': + const { source, flags } = ops.regExpInfo(thing); + str = flags + ? `["RegExp",${stringify_string(source)},"${flags}"]` + : `["RegExp",${stringify_string(source)}]`; + break; + + case 'Array': { + // For dense arrays (no holes), we iterate normally. + // When we encounter the first hole, we call Object.keys + // to determine the sparseness, then decide between: + // - HOLE encoding: [-2, val, -2, ...] (default) + // - Sparse encoding: [-7, length, idx, val, ...] (for very sparse arrays) + // Only the sparse path avoids iterating every slot, which + // is what protects against the DoS of e.g. `arr[1000000] = 1`. + let mostly_dense = false; + + const length = ops.lengthOf(thing); + + str = '['; + + for (let i = 0; i < length; i += 1) { + if (i > 0) str += ','; + + if (ops.hasOwn(thing, i)) { + keys.push(i); + str += flatten(ops.get(thing, i)); + keys.pop(); + } else if (mostly_dense) { + // Use dense encoding. The heuristic guarantees the + // array is only mildly sparse, so iterating over every + // slot is fine. + str += HOLE; + } else { + // Decide between HOLE encoding and sparse encoding. + // + // HOLE encoding: each hole is serialized as the HOLE + // sentinel (-2). For example, [, "a", ,] becomes + // [-2, 0, -2]. Each hole costs 3 chars ("-2" + comma). + // + // Sparse encoding: lists only populated indices. + // For example, [, "a", ,] becomes [-7, 3, 1, 0] — the + // -7 sentinel, the array length (3), then index-value + // pairs. This avoids paying per-hole, but each element + // costs extra chars to write its index. + // + // The values are the same size either way, so the + // choice comes down to structural overhead: + // + // HOLE overhead: + // 3 chars per hole ("-2" + comma) + // = (L - P) * 3 + // + // Sparse overhead: + // "-7," — 3 chars (sparse sentinel + comma) + // + length + "," — (d + 1) chars (array length + comma) + // + per element: index + "," — (d + 1) chars + // = (4 + d) + P * (d + 1) + // + // where L is the array length, P is the number of + // populated elements, and d is the number of digits + // in L (an upper bound on the digits in any index). + // + // Sparse encoding is cheaper when: + // (4 + d) + P * (d + 1) < (L - P) * 3 + const populated_keys = ops.indicesOf(thing); + const population = populated_keys.length; + const d = String(length).length; + + const hole_cost = (length - population) * 3; + const sparse_cost = 4 + d + population * (d + 1); + + if (hole_cost > sparse_cost) { + str = '[' + SPARSE + ',' + length; + for (let j = 0; j < populated_keys.length; j++) { + const key = populated_keys[j]; + keys.push(+key); + str += ',' + key + ',' + flatten(ops.get(thing, key)); + keys.pop(); + } + break; + } else { + mostly_dense = true; + str += HOLE; + } + } + } + + str += ']'; + + break; + } + + case 'Set': + str = '["Set"'; + + for (const value of ops.valuesOf(thing)) { + str += `,${flatten(value)}`; + } + + str += ']'; + break; + + case 'Map': + str = '["Map"'; + + for (const [key, value] of ops.entriesOf(thing)) { + keys.push(MAP_KEY, key); + str += `,${flatten(key)},${flatten(value)}`; + keys.pop(); + keys.pop(); + } + + str += ']'; + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Float16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': { + const info = ops.viewInfo(thing); + str = '["' + tag + '",' + flatten(info.buffer); + + // handle subarrays + if (info.byteLength !== info.bufferByteLength) { + str += `,${info.byteOffset},${info.length}`; + } + + str += ']'; + break; + } + + case 'DataView': { + const info = ops.viewInfo(thing); + str = '["' + tag + '",' + flatten(info.buffer); + + if (info.byteLength !== info.bufferByteLength) { + str += `,${info.byteOffset},${info.byteLength}`; + } + + str += ']'; + break; + } + + case 'ArrayBuffer': { + const base64 = encode64(ops.toArrayBuffer(thing)); + + str = `["ArrayBuffer","${base64}"]`; + break; + } + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + str = `["${tag}",${stringify_string(ops.toStringValue(thing))}]`; + break; + + default: { + const shape = ops.shapeOf(thing); + + if (shape.kind === 'not-plain') { + error(`Cannot stringify arbitrary non-POJOs`, thing); + } + + if (shape.kind === 'symbol-keys') { + error(`Cannot stringify POJOs with symbolic keys`, thing); + } + + if (shape.kind === 'null-proto') { + str = '["null"'; + for (const key of shape.keys) { + if (key === '__proto__') { + error(`Cannot stringify objects with __proto__ keys`, thing); + } + + keys.push(key); + str += `,${quote_key(key)},${flatten(ops.get(thing, key))}`; + keys.pop(); + } + str += ']'; + } else { + str = '{'; + let started = false; + for (const key of shape.keys) { + if (key === '__proto__') { + error(`Cannot stringify objects with __proto__ keys`, thing); + } + + if (started) str += ','; + started = true; + keys.push(key); + str += `${quote_key(key)}:${flatten(ops.get(thing, key))}`; + keys.pop(); + } + str += '}'; + } + } + } + } + + stringified[index] = str; + return index; + } + + const index = flatten(value); + + // special case — value is represented as a negative index + if (index < 0) return `${index}`; + + return stringified; +} + +/** + * @param {any} thing + * @returns {string} + */ +function stringify_primitive(thing) { + const type = typeof thing; + if (type === 'string') return stringify_string(thing); + if (thing === void 0) return UNDEFINED.toString(); + if (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString(); + if (type === 'bigint') return `["BigInt","${thing}"]`; + return String(thing); +} diff --git a/apps/web/.output/server/node_modules/devalue/src/uneval.js b/apps/web/.output/server/node_modules/devalue/src/uneval.js new file mode 100644 index 0000000..912f5d5 --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/uneval.js @@ -0,0 +1,622 @@ +/** + * @import { UnevalReplacer } from './types.js'; + */ +import { js, JavaScriptSource } from './javascript-source.js'; +import { + DevalueError, + MAP_KEY, + enumerable_symbols, + escaped, + format_path, + get_name, + get_type, + is_buffer, + is_plain_object, + is_primitive, + stringify_sparse_array, + stringify_string, + valid_array_indices +} from './utils.js'; + +const unsafe_chars = /[<\b\f\n\r\t\0\u2028\u2029]/g; +// Short strings have bounded escaping/output costs per reference. +const MIN_STRING_LENGTH = 128; + +/** + * Turn a value into the JavaScript that creates an equivalent value + * @param {any} value + * @param {UnevalReplacer} [replacer] + */ +export function uneval(value, replacer) { + /** @type {Map<any, string>} */ + const names = new Map(); + const reserved = new Set(); + const templates = new Set(); + const seen = new Set(); + + // the path to the value being walked, recorded as-is and only formatted + // by `error` — see `format_path` + /** @type {any[]} */ + const keys = []; + + /** @type {Map<any, JavaScriptSource>} */ + const custom = new Map(); + + /** + * @param {string} message + * @param {any} thing + * @returns {never} + */ + function error(message, thing) { + const path = format_path(keys, (key) => (is_primitive(key) ? stringify_primitive(key) : '...')); + throw new DevalueError(message, path, thing, value); + } + + /** @type {Map<string | bigint, number> | undefined} */ + let primitive_counts; + /** @type {Map<string | bigint, string> | undefined} */ + let primitives; + + /** @param {any} thing */ + function stringify_cached_primitive(thing) { + if ( + (typeof thing === 'string' && thing.length >= MIN_STRING_LENGTH) || + typeof thing === 'bigint' + ) { + primitives ??= new Map(); + let literal = primitives.get(thing); + if (literal === undefined) { + literal = stringify_primitive(thing); + primitives.set(thing, literal); + } + return literal; + } + return stringify_primitive(thing); + } + + /** @param {any} thing */ + function walk(thing) { + if (!is_primitive(thing)) { + if (seen.has(thing)) { + if (!names.has(thing)) names.set(thing, ''); + return; + } + + seen.add(thing); + + if (replacer) { + const fragment = replacer(thing, js); + + if (fragment) { + const source = JavaScriptSource.from(fragment); + custom.set(thing, source); + source.visit(walk, reserved, templates); + return; + } + + if (fragment !== undefined && fragment !== null && fragment !== false) { + throw new TypeError('Invalid uneval replacer result'); + } + } + + if (typeof thing === 'function') { + error(`Cannot stringify a function`, thing); + } + + const type = get_type(thing); + + switch (type) { + case 'BigInt': + case 'String': + walk(thing.valueOf()); + return; + + case 'Number': + case 'Boolean': + case 'Date': + case 'RegExp': + case 'URL': + case 'URLSearchParams': + return; + + case 'Array': + // Never scan the logical length of a dictionary-backed sparse array. + for (const i of valid_array_indices(thing)) { + keys.push(+i); + walk(thing[i]); + keys.pop(); + } + break; + + case 'Set': + for (const value of thing) walk(value); + break; + + case 'Map': + for (const [key, value] of thing) { + keys.push(MAP_KEY, key); + walk(key); + walk(value); + keys.pop(); + keys.pop(); + } + break; + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Float16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + case 'DataView': + // Buffer pools can contain unrelated, sensitive bytes. + if (!is_buffer(thing)) walk(thing.buffer); + return; + + case 'ArrayBuffer': + return; + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + return; + + default: + if (!is_plain_object(thing)) { + error(`Cannot stringify arbitrary non-POJOs`, thing); + } + + if (enumerable_symbols(thing).length > 0) { + error(`Cannot stringify POJOs with symbolic keys`, thing); + } + + for (const key of Object.keys(thing)) { + if (key === '__proto__') { + error(`Cannot stringify objects with __proto__ keys`, thing); + } + + keys.push(key); + walk(thing[key]); + keys.pop(); + } + } + } else if (typeof thing === 'symbol') { + error(`Cannot stringify a Symbol primitive`, thing); + } else if ( + (typeof thing === 'string' && thing.length >= MIN_STRING_LENGTH) || + typeof thing === 'bigint' + ) { + primitive_counts ??= new Map(); + primitive_counts.set(thing, (primitive_counts.get(thing) || 0) + 1); + } + } + + walk(value); + + let name_index = 0; + function next_name() { + let name; + do { + name = get_name(name_index++); + } while (reserved.has(name)); + return name; + } + + // Wait until every custom source has been visited before assigning names. + for (const thing of names.keys()) names.set(thing, next_name()); + if (primitive_counts) { + for (const [thing, count] of primitive_counts) { + if (count < 2) continue; + const name = next_name(); + const length = stringify_cached_primitive(thing).length; + // Include the declaration and IIFE overhead even if one already exists. + if (length * count > length + (count + 1) * name.length + 40) names.set(thing, name); + } + } + + // Reuse the traversal set to track declarations during serialization. + seen.clear(); + const inlining = custom.size > 0 ? new Set() : null; + + /** @type {Map<any, () => void>} */ + const initializers = new Map(); + + /** @type {string[]} */ + const statements = []; + + /** + * @param {any} thing + * @returns {string} + */ + function stringify(thing) { + const name = names.get(thing); + + if (name) { + if (!seen.has(thing)) { + if (is_primitive(thing)) { + seen.add(thing); + statements.push(`let ${name}=${stringify_cached_primitive(thing)}`); + return name; + } + const type = custom.has(thing) ? null : get_type(thing); + + switch (type) { + case 'Object': + seen.add(thing); + statements.push( + `let ${name}=${Object.getPrototypeOf(thing) === null ? 'Object.create(null)' : '{}'}` + ); + Object.keys(thing).forEach((key) => { + statements.push(`${name}${safe_prop(key)}=${stringify(thing[key])}`); + }); + break; + + case 'Array': { + seen.add(thing); + const indices = valid_array_indices(thing); + const array = + thing.length > 32 + 2 * indices.length + ? stringify_sparse_array(thing.length) + : `Array(${thing.length})`; + statements.push(`let ${name}=${array}`); + for (const i of indices) { + statements.push(`${name}[${i}]=${stringify(thing[i])}`); + } + break; + } + + case 'Set': + case 'Map': { + seen.add(thing); + /** @type {string[]} */ + const entries = []; + let initialized = false; + let statement_index = -1; + + // Collect a ready prefix until a reference needs the collection. + // Emit subsequent entries eagerly, preserving insertion order. + const initialize = () => { + if (initialized) return; + initialized = true; + initializers.delete(thing); + statements.push( + `let ${name}=new ${type}${entries.length ? `([${entries.join(',')}])` : ''}` + ); + }; + + initializers.set(thing, initialize); + + for (const entry of thing) { + const args = + type === 'Map' ? `${stringify(entry[0])},${stringify(entry[1])}` : stringify(entry); + + if (!initialized) { + entries.push(type === 'Map' ? `[${args}]` : args); + } else { + const call = `.${type === 'Map' ? 'set' : 'add'}(${args})`; + if (statement_index === statements.length - 1) { + statements[statement_index] += call; + } else { + statement_index = statements.push(name + call) - 1; + } + } + } + + initialize(); + break; + } + + default: + const str = actually_stringify(thing); + if (!seen.has(thing)) statements.push(`let ${name}=${str}`); + seen.add(thing); + } + } else { + initializers.get(thing)?.(); + } + + return name; + } + + if (is_primitive(thing)) { + return stringify_cached_primitive(thing); + } + + if (inlining === null) return actually_stringify(thing); + + // A singly referenced value can still be part of a custom constructor's + // cycle. If inlining it re-enters itself, hoist it to break the cycle. + if (inlining.has(thing)) { + names.set(thing, next_name()); + return stringify(thing); + } + + inlining.add(thing); + const str = actually_stringify(thing); + inlining.delete(thing); + return names.get(thing) || str; + } + + /** + * @param {any} thing + * @returns {string} + */ + function actually_stringify(thing) { + const source = custom.get(thing); + + if (source) { + return source.render(stringify); + } + + const type = get_type(thing); + + switch (type) { + case 'Number': + case 'String': + case 'Boolean': + case 'BigInt': + return `Object(${stringify(thing.valueOf())})`; + + case 'RegExp': + const { source, flags } = thing; + return flags + ? `new RegExp(${stringify_string(source)},"${flags}")` + : `new RegExp(${stringify_string(source)})`; + + case 'Date': + return `new Date(${thing.getTime()})`; + + case 'URL': + return `new URL(${stringify_string(thing.toString())})`; + + case 'URLSearchParams': + return `new URLSearchParams(${stringify_string(thing.toString())})`; + + case 'Array': { + // For dense arrays (no holes), we iterate normally. + // When we encounter the first hole, we collect own indices + // to determine the sparseness, then decide between: + // - Array literal with holes: [,"a",,] (default) + // - Object.assign with a sparse-safe allocator (for very sparse arrays) + // Only the Object.assign path avoids iterating every slot, which + // is what protects against the DoS of e.g. `arr[1000000] = 1`. + let has_holes = false; + + let result = '['; + + for (let i = 0; i < thing.length; i += 1) { + if (i > 0) result += ','; + + if (Object.hasOwn(thing, i)) { + result += stringify(thing[i]); + } else if (!has_holes) { + // Decide between array literal and Object.assign. + // + // Array literal: holes are consecutive commas. + // For example, [, "a", ,] is written as [,"a",,]. + // Each hole costs 1 char (a comma). + // + // Object.assign: populated indices are listed explicitly. + // For example, [, "a", ,] would be written as + // Object.assign(sparse(3),{1:"a"}), where sparse(n) stands + // for the expression emitted by stringify_sparse_array(n). + // This avoids paying per-hole, but has fixed overhead for + // the allocator and wrapper, plus each index and colon. + // + // The serialized values are the same size either way, so + // the choice comes down to the structural overhead: + // + // Array literal overhead: + // 1 char per element or hole (comma separators) + // + 2 chars for "[" and "]" + // = L + 2 + // + // Object.assign overhead: + // "Object.assign(" — 14 chars + // + allocator expression — A chars + // + ",{" — 2 chars + // + for each populated element: + // index + ":" + "," — (d + 2) chars + // + "})" — 2 chars + // = (18 + A) + P * (d + 2) + // + // where L is the array length, P is the number of + // populated elements, A is the allocator length, and d + // is the number of digits in L (an upper bound per index). + // + // Object.assign is cheaper when: + // (18 + A) + P * (d + 2) < L + 2 + const populated_keys = valid_array_indices(/** @type {any[]} */ (thing)); + const population = populated_keys.length; + const d = String(thing.length).length; + const array = stringify_sparse_array(thing.length); + + const hole_cost = thing.length + 2; + const sparse_cost = array.length + 18 + population * (d + 2); + + if (hole_cost > sparse_cost) { + const entries = populated_keys.map((k) => `${k}:${stringify(thing[k])}`).join(','); + return `Object.assign(${array},{${entries}})`; + } + + has_holes = true; + } + // else: already decided on array literal, hole is just an empty slot + // (the comma separator is all we need — no content for this position) + } + + const tail = thing.length === 0 || Object.hasOwn(thing, thing.length - 1) ? '' : ','; + return result + tail + ']'; + } + + case 'Set': + return `new Set([${Array.from(thing, stringify).join(',')}])`; + + case 'Map': { + const entries = Array.from(thing, ([k, v]) => `[${stringify(k)},${stringify(v)}]`); + return `new Map([${entries.join(',')}])`; + } + + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Float16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': { + if (is_buffer(thing)) thing = new Uint8Array(thing); + + if (thing.buffer.byteLength % thing.BYTES_PER_ELEMENT !== 0) { + return `new ${type}(${stringify(thing.buffer)},${thing.byteOffset},${thing.length})`; + } + + let str = `new ${type}`; + + if (!names.has(thing.buffer)) { + str += `([${stringify_typed_array_elements(type, thing.buffer)}])`; + } else { + str += `(${stringify(thing.buffer)})`; + } + + // handle subarrays + if (thing.byteLength !== thing.buffer.byteLength) { + const start = thing.byteOffset / thing.BYTES_PER_ELEMENT; + const end = start + thing.length; + str += `.subarray(${start},${end})`; + } + + return str; + } + + case 'DataView': { + let str = `new DataView`; + + if (!names.has(thing.buffer)) { + str += `(new Uint8Array([${new Uint8Array(thing.buffer)}]).buffer`; + } else { + str += `(${stringify(thing.buffer)}`; + } + + // handle subviews + if (thing.byteLength !== thing.buffer.byteLength) { + str += `,${thing.byteOffset},${thing.byteLength}`; + } + + return str + ')'; + } + + case 'ArrayBuffer': { + const ui8 = new Uint8Array(thing); + return `new Uint8Array([${ui8.toString()}]).buffer`; + } + + case 'Temporal.Duration': + case 'Temporal.Instant': + case 'Temporal.PlainDate': + case 'Temporal.PlainTime': + case 'Temporal.PlainDateTime': + case 'Temporal.PlainMonthDay': + case 'Temporal.PlainYearMonth': + case 'Temporal.ZonedDateTime': + return `${type}.from(${stringify_string(thing.toString())})`; + + default: + const keys = Object.keys(thing); + const obj = keys.map((key) => `${safe_key(key)}:${stringify(thing[key])}`).join(','); + const proto = Object.getPrototypeOf(thing); + if (proto === null) { + return keys.length > 0 ? `{${obj},__proto__:null}` : `{__proto__:null}`; + } + + return `{${obj}}`; + } + } + + const str = stringify(value); + + if (statements.length === 0) { + return str; + } + + return `(function(){${statements.join(';')};return ${str}}())`; +} + +/** + * Serialize the elements of `buffer`, read as `type`, as a comma-separated list. + * The view is created from `type` rather than from the serialized value's own + * constructor, which may be a subclass like Node's `Buffer` whose `toString` + * decodes the bytes instead of listing them. + * `BigInt64Array`/`BigUint64Array` elements are bigints and must be written + * with an `n` suffix, otherwise the emitted `new BigInt64Array([...])` throws. + * @param {string} type + * @param {ArrayBufferLike} buffer + */ +function stringify_typed_array_elements(type, buffer) { + const array = new /** @type {any} */ (globalThis)[type](buffer); + + if (type === 'BigInt64Array' || type === 'BigUint64Array') { + return Array.from(array, (element) => `${element}n`).join(','); + } + + // Float arrays can hold `-0`, which `toString()` collapses to `"0"`, silently + // losing the sign on round-trip. Emit `-0` explicitly for those elements. + if ( + array instanceof Float32Array || + array instanceof Float64Array || + (typeof Float16Array !== 'undefined' && array instanceof Float16Array) + ) { + return Array.from(array, (element) => (Object.is(element, -0) ? '-0' : `${element}`)).join(','); + } + + return array.toString(); +} + +/** @param {string} c */ +function escape_unsafe_char(c) { + return escaped[c] || c; +} + +/** @param {string} str */ +function escape_unsafe_chars(str) { + return str.replace(unsafe_chars, escape_unsafe_char); +} + +/** @param {string} key */ +function safe_key(key) { + return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? key : escape_unsafe_chars(JSON.stringify(key)); +} + +/** @param {string} key */ +function safe_prop(key) { + return /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) + ? `.${key}` + : `[${escape_unsafe_chars(JSON.stringify(key))}]`; +} + +/** @param {any} thing */ +function stringify_primitive(thing) { + const type = typeof thing; + if (type === 'string') return stringify_string(thing); + if (thing === void 0) return 'void 0'; + if (thing === 0 && 1 / thing < 0) return '-0'; + const str = String(thing); + if (type === 'number') return str.replace(/^(-)?0\./, '$1.'); + if (type === 'bigint') return thing + 'n'; + return str; +} diff --git a/apps/web/.output/server/node_modules/devalue/src/utils.js b/apps/web/.output/server/node_modules/devalue/src/utils.js new file mode 100644 index 0000000..ce3bd7b --- /dev/null +++ b/apps/web/.output/server/node_modules/devalue/src/utils.js @@ -0,0 +1,260 @@ +import { MAX_ARRAY_INDEX, MAX_ARRAY_LEN } from './constants.js'; + +const name_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$'; +const reserved_names = + /^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/; + +/** @type {Record<string, string>} */ +export const escaped = { + '<': '\\u003C', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\u2028': '\\u2028', + '\u2029': '\\u2029' +}; + +export class DevalueError extends Error { + /** + * @param {string} message + * @param {string[]} keys + * @param {any} [value] - The value that failed to be serialized + * @param {any} [root] - The root value being serialized + */ + constructor(message, keys, value, root) { + super(message); + this.name = 'DevalueError'; + this.path = keys.join(''); + this.value = value; + this.root = root; + } +} + +/** + * Marks a Map key on the path being serialized. The key itself is recorded + * right after the marker, so nothing is formatted or allocated per entry. + */ +export const MAP_KEY = Symbol(); + +/** + * Formats the path recorded on the way to the value being serialized — a + * property key, an array index, or `MAP_KEY` followed by a Map key — into + * the segments a `DevalueError` joins. Only runs when an error is raised. + * @param {any[]} keys + * @param {(key: any) => string} format_map_key + * @returns {string[]} + */ +export function format_path(keys, format_map_key) { + /** @type {string[]} */ + const path = []; + + for (let i = 0; i < keys.length; i += 1) { + const segment = keys[i]; + + if (segment === MAP_KEY) { + path.push(`.get(${format_map_key(keys[++i])})`); + } else if (typeof segment === 'number') { + path.push(`[${segment}]`); + } else { + path.push(stringify_key(segment)); + } + } + + return path; +} + +/** @param {any} thing */ +export function is_primitive(thing) { + return thing === null || (typeof thing !== 'object' && typeof thing !== 'function'); +} + +const object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype) + .sort() + .join('\0'); + +/** @param {any} thing */ +export function is_plain_object(thing) { + const proto = Object.getPrototypeOf(thing); + + return ( + proto === Object.prototype || + proto === null || + Object.getPrototypeOf(proto) === null || + Object.getOwnPropertyNames(proto).sort().join('\0') === object_proto_names + ); +} + +/** @param {any} thing */ +export function get_type(thing) { + return Object.prototype.toString.call(thing).slice(8, -1); +} + +/** @param {any} thing */ +export function is_buffer(thing) { + return typeof Buffer !== 'undefined' && Buffer.isBuffer(thing); +} + +/** + * Emit an array whose storage is not proportional to its declared length. + * Touching and deleting the largest valid index forces dictionary elements + * before setting the length; assigning .length on [] can still eagerly allocate. + * @param {number} length + */ +export function stringify_sparse_array(length) { + return `(function(a){a[${MAX_ARRAY_INDEX}]=0;delete a[${MAX_ARRAY_INDEX}];a.length=${length};return a}([]))`; +} + +/** Returns the compact JavaScript identifier at `index`. @param {number} index */ +export function get_name(index) { + let name = ''; + + do { + name = name_chars[index % name_chars.length] + name; + index = ~~(index / name_chars.length) - 1; + } while (index >= 0); + + return reserved_names.test(name) ? `${name}0` : name; +} + +// characters `stringify_string` always escapes: quote, backslash, `<`, control +// characters and the line/paragraph separators. Surrogates are only escaped +// when unpaired, which `isWellFormed` detects natively, so well-formed pairs +// such as emoji stay on the fast path +const needs_escape = /["<\\\u0000-\u001f\u2028\u2029]/; + +// `JSON.stringify` already emits every escape we need except these three, +// which it leaves raw: `<` (so output is safe inside a `<script>` tag) and +// the line/paragraph separators (kept escaped for engines predating ES2019, +// which rejected them in string literals). It also escapes unpaired +// surrogates as `\\udXXX`, so the result survives UTF-8 transport +const json_leaves_raw = /[<\u2028\u2029]/g; + +/** @type {Record<string, string>} */ +const raw_escapes = { '<': '\\u003C', '\u2028': '\\u2028', '\u2029': '\\u2029' }; + +/** @param {string} char */ +function escape_raw(char) { + return raw_escapes[char]; +} + +/** @param {string} str */ +export function stringify_string(str) { + // the common case: nothing to escape, no per-character work + if (!needs_escape.test(str) && str.isWellFormed()) return `"${str}"`; + + return JSON.stringify(str).replace(json_leaves_raw, escape_raw); +} + +// Property names repeat across the values of one call and across calls, so +// their quoted form is cached. Names come from the data being serialized, so +// the cache is bounded in both directions: only short names are kept, and the +// cache is emptied once it holds 1024 of them. Longer names are quoted on +// every visit, like every other string. +const MAX_CACHED_KEY_LENGTH = 64; + +/** @type {Map<string, string>} */ +const quoted_keys = new Map(); + +/** @param {string} key */ +export function quote_key(key) { + if (key.length > MAX_CACHED_KEY_LENGTH) return stringify_string(key); + + let quoted = quoted_keys.get(key); + + if (quoted === undefined) { + if (quoted_keys.size >= 1024) quoted_keys.clear(); + quoted = stringify_string(key); + quoted_keys.set(key, quoted); + } + + return quoted; +} + +/** @param {Record<string | symbol, any>} object */ +export function enumerable_symbols(object) { + const symbols = Object.getOwnPropertySymbols(object); + // Own symbols always have a descriptor; the optional chain only satisfies the lib's + // `PropertyDescriptor | undefined` return type. + return symbols.length === 0 + ? symbols + : symbols.filter((symbol) => Object.getOwnPropertyDescriptor(object, symbol)?.enumerable); +} + +const is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/; + +/** @param {string} key */ +function stringify_key(key) { + return is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']'; +} + +/** @param {number} n */ +export function is_valid_array_index(n) { + if (!Number.isInteger(n)) return false; + if (n < 0) return false; + if (n > MAX_ARRAY_INDEX) return false; + return true; +} + +/** @param {number} n */ +export function is_valid_array_len(n) { + if (!Number.isInteger(n)) return false; + if (n < 0) return false; + if (n > MAX_ARRAY_LEN) return false; + return true; +} + +/** @param {string} s */ +function is_valid_array_index_string(s) { + if (s.length === 0) return false; + if (s.length > 1 && s.charCodeAt(0) === 48) return false; // leading zero + for (let i = 0; i < s.length; i++) { + const c = s.charCodeAt(i); + if (c < 48 || c > 57) return false; + } + // by this point we know it's a string of digits, but it has to be within + // the range of valid array indices + return is_valid_array_index(+s); +} + +/** + * Returns the length of the leading run of valid array indices in `keys`. + * @param {readonly string[]} keys + */ +function array_index_cut(keys) { + for (var i = keys.length - 1; i >= 0; i--) { + if (is_valid_array_index_string(keys[i])) { + break; + } + } + return i + 1; +} + +/** + * Finds the populated indices of an array. + * @param {unknown[]} array + */ +export function valid_array_indices(array) { + const keys = Object.keys(array); + keys.length = array_index_cut(keys); + return keys; +} + +/** + * Given the own enumerable string keys of an array-like value, in property + * order, returns the leading run of them that are valid array indices. + * + * This is the filtering half of the `indicesOf` stringify operation, + * exposed so that custom operations — which typically already have the keys + * in hand, e.g. from a foreign runtime — don't have to reimplement it. + * + * Does not modify `keys`. + * + * @param {readonly string[]} keys + * @returns {string[]} + */ +export function filter_array_indices(keys) { + return keys.slice(0, array_index_cut(keys)); +} diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js new file mode 100644 index 0000000..ebb0d90 --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js @@ -0,0 +1,77 @@ +"use strict"; +// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromCodePoint = void 0; +exports.replaceCodePoint = replaceCodePoint; +exports.decodeCodePoint = decodeCodePoint; +const decodeMap = new Map([ + [0, 65533], + // C1 Unicode control character reference replacements + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376], +]); +/** + * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point. + */ +exports.fromCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins +(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : ((codePoint) => { + let output = ""; + if (codePoint > 65535) { + codePoint -= 65536; + output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296); + codePoint = 56320 | (codePoint & 1023); + } + output += String.fromCharCode(codePoint); + return output; +}); +/** + * Replace the given code point with a replacement character if it is a + * surrogate or is outside the valid range. Otherwise return the code + * point unchanged. + */ +function replaceCodePoint(codePoint) { + var _a; + if ((codePoint >= 55296 && codePoint <= 57343) || + codePoint > 1114111) { + return 65533; + } + return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; +} +/** + * Replace the code point if relevant, then convert it to a string. + * + * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead. + * @param codePoint The code point to decode. + * @returns The decoded code point. + */ +function decodeCodePoint(codePoint) { + return (0, exports.fromCodePoint)(replaceCodePoint(codePoint)); +} +//# sourceMappingURL=decode-codepoint.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/decode.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/decode.js new file mode 100644 index 0000000..771ab7d --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/decode.js @@ -0,0 +1,568 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xmlDecodeTree = exports.htmlDecodeTree = exports.replaceCodePoint = exports.fromCodePoint = exports.decodeCodePoint = exports.EntityDecoder = exports.DecodingMode = void 0; +exports.determineBranch = determineBranch; +exports.decodeHTML = decodeHTML; +exports.decodeHTMLAttribute = decodeHTMLAttribute; +exports.decodeHTMLStrict = decodeHTMLStrict; +exports.decodeXML = decodeXML; +const decode_codepoint_js_1 = require("./decode-codepoint.js"); +const decode_data_html_js_1 = require("./generated/decode-data-html.js"); +const decode_data_xml_js_1 = require("./generated/decode-data-xml.js"); +const bin_trie_flags_js_1 = require("./internal/bin-trie-flags.js"); +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["NUM"] = 35] = "NUM"; + CharCodes[CharCodes["SEMI"] = 59] = "SEMI"; + CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS"; + CharCodes[CharCodes["ZERO"] = 48] = "ZERO"; + CharCodes[CharCodes["NINE"] = 57] = "NINE"; + CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A"; + CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F"; + CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X"; + CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z"; + CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A"; + CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F"; + CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z"; +})(CharCodes || (CharCodes = {})); +/** Bit that needs to be set to convert an upper case ASCII character to lower case */ +const TO_LOWER_BIT = 32; +function isNumber(code) { + return code >= CharCodes.ZERO && code <= CharCodes.NINE; +} +function isHexadecimalCharacter(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F)); +} +function isAsciiAlphaNumeric(code) { + return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) || + (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) || + isNumber(code)); +} +/** + * Checks if the given character is a valid end character for an entity in an attribute. + * + * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error. + * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state + */ +function isEntityInAttributeInvalidEnd(code) { + return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); +} +var EntityDecoderState; +(function (EntityDecoderState) { + EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart"; + EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart"; + EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal"; + EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex"; + EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity"; +})(EntityDecoderState || (EntityDecoderState = {})); +var DecodingMode; +(function (DecodingMode) { + /** Entities in text nodes that can end with any character. */ + DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; + /** Only allow entities terminated with a semicolon. */ + DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; + /** Entities in attributes have limitations on ending characters. */ + DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute"; +})(DecodingMode || (exports.DecodingMode = DecodingMode = {})); +/** + * Token decoder with support of writing partial entities. + */ +class EntityDecoder { + constructor( + /** The tree used to decode entities. */ + // biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive + decodeTree, + /** + * The function that is called when a codepoint is decoded. + * + * For multi-byte named entities, this will be called multiple times, + * with the second codepoint, and the same `consumed` value. + * + * @param codepoint The decoded codepoint. + * @param consumed The number of bytes consumed by the decoder. + */ + emitCodePoint, + /** An object that is used to produce errors. */ + errors) { + this.decodeTree = decodeTree; + this.emitCodePoint = emitCodePoint; + this.errors = errors; + /** The current state of the decoder. */ + this.state = EntityDecoderState.EntityStart; + /** Characters that were consumed while parsing an entity. */ + this.consumed = 1; + /** + * The result of the entity. + * + * Either the result index of a numeric entity, or the codepoint of a + * numeric entity. + */ + this.result = 0; + /** The current index in the decode tree. */ + this.treeIndex = 0; + /** The number of characters that were consumed in excess. */ + this.excess = 1; + /** The mode in which the decoder is operating. */ + this.decodeMode = DecodingMode.Strict; + /** The number of characters that have been consumed in the current run. */ + this.runConsumed = 0; + } + /** Resets the instance to make it reusable. */ + startEntity(decodeMode) { + this.decodeMode = decodeMode; + this.state = EntityDecoderState.EntityStart; + this.result = 0; + this.treeIndex = 0; + this.excess = 1; + this.consumed = 1; + this.runConsumed = 0; + } + /** + * Write an entity to the decoder. This can be called multiple times with partial entities. + * If the entity is incomplete, the decoder will return -1. + * + * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the + * entity is incomplete, and resume when the next string is written. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + write(input, offset) { + switch (this.state) { + case EntityDecoderState.EntityStart: { + if (input.charCodeAt(offset) === CharCodes.NUM) { + this.state = EntityDecoderState.NumericStart; + this.consumed += 1; + return this.stateNumericStart(input, offset + 1); + } + this.state = EntityDecoderState.NamedEntity; + return this.stateNamedEntity(input, offset); + } + case EntityDecoderState.NumericStart: { + return this.stateNumericStart(input, offset); + } + case EntityDecoderState.NumericDecimal: { + return this.stateNumericDecimal(input, offset); + } + case EntityDecoderState.NumericHex: { + return this.stateNumericHex(input, offset); + } + case EntityDecoderState.NamedEntity: { + return this.stateNamedEntity(input, offset); + } + } + } + /** + * Switches between the numeric decimal and hexadecimal states. + * + * Equivalent to the `Numeric character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericStart(input, offset) { + if (offset >= input.length) { + return -1; + } + if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { + this.state = EntityDecoderState.NumericHex; + this.consumed += 1; + return this.stateNumericHex(input, offset + 1); + } + this.state = EntityDecoderState.NumericDecimal; + return this.stateNumericDecimal(input, offset); + } + /** + * Parses a hexadecimal numeric entity. + * + * Equivalent to the `Hexademical character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericHex(input, offset) { + while (offset < input.length) { + const char = input.charCodeAt(offset); + if (isNumber(char) || isHexadecimalCharacter(char)) { + // Convert hex digit to value (0-15); 'a'/'A' -> 10. + const digit = char <= CharCodes.NINE + ? char - CharCodes.ZERO + : (char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10; + this.result = this.result * 16 + digit; + this.consumed++; + offset++; + } + else { + return this.emitNumericEntity(char, 3); + } + } + return -1; // Incomplete entity + } + /** + * Parses a decimal numeric entity. + * + * Equivalent to the `Decimal character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericDecimal(input, offset) { + while (offset < input.length) { + const char = input.charCodeAt(offset); + if (isNumber(char)) { + this.result = this.result * 10 + (char - CharCodes.ZERO); + this.consumed++; + offset++; + } + else { + return this.emitNumericEntity(char, 2); + } + } + return -1; // Incomplete entity + } + /** + * Validate and emit a numeric entity. + * + * Implements the logic from the `Hexademical character reference start + * state` and `Numeric character reference end state` in the HTML spec. + * + * @param lastCp The last code point of the entity. Used to see if the + * entity was terminated with a semicolon. + * @param expectedLength The minimum number of characters that should be + * consumed. Used to validate that at least one digit + * was consumed. + * @returns The number of characters that were consumed. + */ + emitNumericEntity(lastCp, expectedLength) { + var _a; + // Ensure we consumed at least one digit. + if (this.consumed <= expectedLength) { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + // Figure out if this is a legit end of the entity + if (lastCp === CharCodes.SEMI) { + this.consumed += 1; + } + else if (this.decodeMode === DecodingMode.Strict) { + return 0; + } + this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); + if (this.errors) { + if (lastCp !== CharCodes.SEMI) { + this.errors.missingSemicolonAfterCharacterReference(); + } + this.errors.validateNumericCharacterReference(this.result); + } + return this.consumed; + } + /** + * Parses a named entity. + * + * Equivalent to the `Named character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNamedEntity(input, offset) { + const { decodeTree } = this; + let current = decodeTree[this.treeIndex]; + // The length is the number of bytes of the value, including the current byte. + let valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + while (offset < input.length) { + // Handle compact runs (possibly inline): valueLength == 0 and SEMI_REQUIRED bit set. + if (valueLength === 0 && (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) { + const runLength = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7; /* 2..63 */ + // If we are starting a run, check the first char. + if (this.runConsumed === 0) { + const firstChar = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE; + if (input.charCodeAt(offset) !== firstChar) { + return this.result === 0 + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + offset++; + this.excess++; + this.runConsumed++; + } + // Check remaining characters in the run. + while (this.runConsumed < runLength) { + if (offset >= input.length) { + return -1; + } + const charIndexInPacked = this.runConsumed - 1; + const packedWord = decodeTree[this.treeIndex + 1 + (charIndexInPacked >> 1)]; + const expectedChar = charIndexInPacked % 2 === 0 + ? packedWord & 0xff + : (packedWord >> 8) & 0xff; + if (input.charCodeAt(offset) !== expectedChar) { + this.runConsumed = 0; + return this.result === 0 + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + offset++; + this.excess++; + this.runConsumed++; + } + this.runConsumed = 0; + this.treeIndex += 1 + (runLength >> 1); + current = decodeTree[this.treeIndex]; + valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + } + if (offset >= input.length) + break; + const char = input.charCodeAt(offset); + /* + * Implicit semicolon handling for nodes that require a semicolon but + * don't have an explicit ';' branch stored in the trie. If we have + * a value on the current node, it requires a semicolon, and the + * current input character is a semicolon, emit the entity using the + * current node (without descending further). + */ + if (char === CharCodes.SEMI && + valueLength !== 0 && + (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); + if (this.treeIndex < 0) { + return this.result === 0 || + // If we are parsing an attribute + (this.decodeMode === DecodingMode.Attribute && + // We shouldn't have consumed any characters after the entity, + (valueLength === 0 || + // And there should be no invalid characters. + isEntityInAttributeInvalidEnd(char))) + ? 0 + : this.emitNotTerminatedNamedEntity(); + } + current = decodeTree[this.treeIndex]; + valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + // If the branch is a value, store it and continue + if (valueLength !== 0) { + // If the entity is terminated by a semicolon, we are done. + if (char === CharCodes.SEMI) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it. + if (this.decodeMode !== DecodingMode.Strict && + (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) === 0) { + this.result = this.treeIndex; + this.consumed += this.excess; + this.excess = 0; + } + } + // Increment offset & excess for next iteration + offset++; + this.excess++; + } + return -1; + } + /** + * Emit a named entity that was not terminated with a semicolon. + * + * @returns The number of characters consumed. + */ + emitNotTerminatedNamedEntity() { + var _a; + const { result, decodeTree } = this; + const valueLength = (decodeTree[result] & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14; + this.emitNamedEntityData(result, valueLength, this.consumed); + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); + return this.consumed; + } + /** + * Emit a named entity. + * + * @param result The index of the entity in the decode tree. + * @param valueLength The number of bytes in the entity. + * @param consumed The number of characters consumed. + * + * @returns The number of characters consumed. + */ + emitNamedEntityData(result, valueLength, consumed) { + const { decodeTree } = this; + this.emitCodePoint(valueLength === 1 + ? decodeTree[result] & + ~(bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH | bin_trie_flags_js_1.BinTrieFlags.FLAG13) + : decodeTree[result + 1], consumed); + if (valueLength === 3) { + // For multi-byte values, we need to emit the second byte. + this.emitCodePoint(decodeTree[result + 2], consumed); + } + return consumed; + } + /** + * Signal to the parser that the end of the input was reached. + * + * Remaining data will be emitted and relevant errors will be produced. + * + * @returns The number of characters consumed. + */ + end() { + var _a; + switch (this.state) { + case EntityDecoderState.NamedEntity: { + // Emit a named entity if we have one. + return this.result !== 0 && + (this.decodeMode !== DecodingMode.Attribute || + this.result === this.treeIndex) + ? this.emitNotTerminatedNamedEntity() + : 0; + } + // Otherwise, emit a numeric entity if we have one. + case EntityDecoderState.NumericDecimal: { + return this.emitNumericEntity(0, 2); + } + case EntityDecoderState.NumericHex: { + return this.emitNumericEntity(0, 3); + } + case EntityDecoderState.NumericStart: { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + case EntityDecoderState.EntityStart: { + // Return 0 if we have no entity. + return 0; + } + } + } +} +exports.EntityDecoder = EntityDecoder; +/** + * Creates a function that decodes entities in a string. + * + * @param decodeTree The decode tree. + * @returns A function that decodes entities in a string. + */ +function getDecoder(decodeTree) { + let returnValue = ""; + const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += (0, decode_codepoint_js_1.fromCodePoint)(data))); + return function decodeWithTrie(input, decodeMode) { + let lastIndex = 0; + let offset = 0; + while ((offset = input.indexOf("&", offset)) >= 0) { + returnValue += input.slice(lastIndex, offset); + decoder.startEntity(decodeMode); + const length = decoder.write(input, + // Skip the "&" + offset + 1); + if (length < 0) { + lastIndex = offset + decoder.end(); + break; + } + lastIndex = offset + length; + // If `length` is 0, skip the current `&` and continue. + offset = length === 0 ? lastIndex + 1 : lastIndex; + } + const result = returnValue + input.slice(lastIndex); + // Make sure we don't keep a reference to the final string. + returnValue = ""; + return result; + }; +} +/** + * Determines the branch of the current node that is taken given the current + * character. This function is used to traverse the trie. + * + * @param decodeTree The trie. + * @param current The current node. + * @param nodeIdx The index right after the current node and its value. + * @param char The current character. + * @returns The index of the next node, or -1 if no branch is taken. + */ +function determineBranch(decodeTree, current, nodeIndex, char) { + const branchCount = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7; + const jumpOffset = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE; + // Case 1: Single branch encoded in jump offset + if (branchCount === 0) { + return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1; + } + // Case 2: Multiple branches encoded in jump table + if (jumpOffset) { + const value = char - jumpOffset; + return value < 0 || value >= branchCount + ? -1 + : decodeTree[nodeIndex + value] - 1; + } + // Case 3: Multiple branches encoded in packed dictionary (two keys per uint16) + const packedKeySlots = (branchCount + 1) >> 1; + /* + * Treat packed keys as a virtual sorted array of length `branchCount`. + * Key(i) = low byte for even i, high byte for odd i in slot i>>1. + */ + let lo = 0; + let hi = branchCount - 1; + while (lo <= hi) { + const mid = (lo + hi) >>> 1; + const slot = mid >> 1; + const packed = decodeTree[nodeIndex + slot]; + const midKey = (packed >> ((mid & 1) * 8)) & 0xff; + if (midKey < char) { + lo = mid + 1; + } + else if (midKey > char) { + hi = mid - 1; + } + else { + return decodeTree[nodeIndex + packedKeySlots + mid]; + } + } + return -1; +} +const htmlDecoder = /* #__PURE__ */ getDecoder(decode_data_html_js_1.htmlDecodeTree); +const xmlDecoder = /* #__PURE__ */ getDecoder(decode_data_xml_js_1.xmlDecodeTree); +/** + * Decodes an HTML string. + * + * @param htmlString The string to decode. + * @param mode The decoding mode. + * @returns The decoded string. + */ +function decodeHTML(htmlString, mode = DecodingMode.Legacy) { + return htmlDecoder(htmlString, mode); +} +/** + * Decodes an HTML string in an attribute. + * + * @param htmlAttribute The string to decode. + * @returns The decoded string. + */ +function decodeHTMLAttribute(htmlAttribute) { + return htmlDecoder(htmlAttribute, DecodingMode.Attribute); +} +/** + * Decodes an HTML string, requiring all entities to be terminated by a semicolon. + * + * @param htmlString The string to decode. + * @returns The decoded string. + */ +function decodeHTMLStrict(htmlString) { + return htmlDecoder(htmlString, DecodingMode.Strict); +} +/** + * Decodes an XML string, requiring all entities to be terminated by a semicolon. + * + * @param xmlString The string to decode. + * @returns The decoded string. + */ +function decodeXML(xmlString) { + return xmlDecoder(xmlString, DecodingMode.Strict); +} +var decode_codepoint_js_2 = require("./decode-codepoint.js"); +Object.defineProperty(exports, "decodeCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.decodeCodePoint; } }); +Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } }); +Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } }); +// Re-export for use by eg. htmlparser2 +var decode_data_html_js_2 = require("./generated/decode-data-html.js"); +Object.defineProperty(exports, "htmlDecodeTree", { enumerable: true, get: function () { return decode_data_html_js_2.htmlDecodeTree; } }); +var decode_data_xml_js_2 = require("./generated/decode-data-xml.js"); +Object.defineProperty(exports, "xmlDecodeTree", { enumerable: true, get: function () { return decode_data_xml_js_2.xmlDecodeTree; } }); +//# sourceMappingURL=decode.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js new file mode 100644 index 0000000..c02d503 --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js @@ -0,0 +1,7 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.htmlDecodeTree = void 0; +const decode_shared_js_1 = require("../internal/decode-shared.js"); +exports.htmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"); +//# sourceMappingURL=decode-data-html.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js new file mode 100644 index 0000000..9edfb90 --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js @@ -0,0 +1,7 @@ +"use strict"; +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", { value: true }); +exports.xmlDecodeTree = void 0; +const decode_shared_js_1 = require("../internal/decode-shared.js"); +exports.xmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"); +//# sourceMappingURL=decode-data-xml.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js new file mode 100644 index 0000000..c649d6a --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BinTrieFlags = void 0; +/** + * Bit flags & masks for the binary trie encoding used for entity decoding. + * + * Bit layout (16 bits total): + * 15..14 VALUE_LENGTH (+1 encoding; 0 => no value) + * 13 FLAG13. If valueLength>0: semicolon required flag (implicit ';'). + * If valueLength==0: compact run flag. + * 12..7 BRANCH_LENGTH Branch length (0 => single branch in 6..0 if jumpOffset==char) OR run length (when compact run) + * 6..0 JUMP_TABLE Jump offset (jump table) OR single-branch char code OR first run char + */ +var BinTrieFlags; +(function (BinTrieFlags) { + BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; + BinTrieFlags[BinTrieFlags["FLAG13"] = 8192] = "FLAG13"; + BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 8064] = "BRANCH_LENGTH"; + BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; +})(BinTrieFlags || (exports.BinTrieFlags = BinTrieFlags = {})); +//# sourceMappingURL=bin-trie-flags.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js b/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js new file mode 100644 index 0000000..36d50f5 --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeBase64 = decodeBase64; +/* + * Shared base64 decode helper for generated decode data. + * Assumes global atob is available. + */ +function decodeBase64(input) { + const binary = + // eslint-disable-next-line n/no-unsupported-features/node-builtins + typeof atob === "function" + ? // Browser (and Node >=16) + // eslint-disable-next-line n/no-unsupported-features/node-builtins + atob(input) + : // Older Node versions (<16) + // eslint-disable-next-line n/no-unsupported-features/node-builtins + typeof Buffer.from === "function" + ? // eslint-disable-next-line n/no-unsupported-features/node-builtins + Buffer.from(input, "base64").toString("binary") + : // eslint-disable-next-line unicorn/no-new-buffer, n/no-deprecated-api + new Buffer(input, "base64").toString("binary"); + const evenLength = binary.length & ~1; // Round down to even length + const out = new Uint16Array(evenLength / 2); + for (let index = 0, outIndex = 0; index < evenLength; index += 2) { + const lo = binary.charCodeAt(index); + const hi = binary.charCodeAt(index + 1); + out[outIndex++] = lo | (hi << 8); + } + return out; +} +//# sourceMappingURL=decode-shared.js.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/entities/dist/commonjs/package.json b/apps/web/.output/server/node_modules/entities/dist/commonjs/package.json new file mode 100644 index 0000000..5bbefff --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/dist/commonjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/apps/web/.output/server/node_modules/entities/package.json b/apps/web/.output/server/node_modules/entities/package.json new file mode 100644 index 0000000..2adbfaf --- /dev/null +++ b/apps/web/.output/server/node_modules/entities/package.json @@ -0,0 +1,120 @@ +{ + "name": "entities", + "version": "7.0.1", + "description": "Encode & decode XML and HTML entities with ease & speed", + "keywords": [ + "html entities", + "entity decoder", + "entity encoding", + "html decoding", + "html encoding", + "xml decoding", + "xml encoding" + ], + "repository": { + "type": "git", + "url": "https://github.com/fb55/entities.git" + }, + "funding": "https://github.com/fb55/entities?sponsor=1", + "license": "BSD-2-Clause", + "author": "Felix Boehm <me@feedic.com>", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/commonjs/index.d.ts", + "default": "./dist/commonjs/index.js" + } + }, + "./decode": { + "import": { + "types": "./dist/esm/decode.d.ts", + "default": "./dist/esm/decode.js" + }, + "require": { + "types": "./dist/commonjs/decode.d.ts", + "default": "./dist/commonjs/decode.js" + } + }, + "./escape": { + "import": { + "types": "./dist/esm/escape.d.ts", + "default": "./dist/esm/escape.js" + }, + "require": { + "types": "./dist/commonjs/escape.d.ts", + "default": "./dist/commonjs/escape.js" + } + } + }, + "main": "./dist/commonjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/commonjs/index.d.ts", + "files": [ + "decode.js", + "decode.d.ts", + "escape.js", + "escape.d.ts", + "dist", + "src", + "!**/*.spec.ts" + ], + "scripts": { + "build:docs": "typedoc --hideGenerator src/index.ts", + "build:encode-trie": "node --import=tsx scripts/write-encode-map.ts", + "build:trie": "node --import=tsx scripts/write-decode-map.ts", + "benchmark": "node --import=tsx scripts/benchmark.ts", + "format": "npm run format:es && npm run format:biome", + "format:es": "npm run lint:es -- --fix", + "format:biome": "biome check --fix .", + "lint": "npm run lint:es && npm run lint:ts && npm run lint:biome", + "lint:es": "eslint . --ignore-path .gitignore", + "lint:biome": "biome check .", + "lint:ts": "tsc --noEmit", + "prepublishOnly": "tshy", + "test": "npm run test:vi && npm run lint", + "test:vi": "vitest run" + }, + "devDependencies": { + "@biomejs/biome": "^2.3.11", + "@types/node": "^25.0.9", + "@typescript-eslint/eslint-plugin": "^8.53.1", + "@typescript-eslint/parser": "^8.53.1", + "@vitest/coverage-v8": "^3.2.4", + "@types/he": "^1.2.3", + "eslint": "^8.57.1", + "eslint-config-biome": "^2.1.3", + "eslint-plugin-n": "^17.23.2", + "eslint-plugin-unicorn": "^56.0.1", + "he": "^1.2.0", + "html-entities": "^2.6.0", + "parse-entities": "^4.0.2", + "tinybench": "^5.1.0", + "tshy": "^3.1.0", + "tsx": "^4.21.0", + "typedoc": "^0.28.16", + "typescript": "^5.9.3", + "vitest": "^3.2.4" + }, + "engines": { + "node": ">=0.12" + }, + "tshy": { + "exclude": [ + "**/*.spec.ts", + "**/__fixtures__/*", + "**/__tests__/*", + "**/__snapshots__/*" + ], + "exports": { + ".": "./src/index.ts", + "./decode": "./src/decode.ts", + "./escape": "./src/escape.ts" + } + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js b/apps/web/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js new file mode 100644 index 0000000..46fed0f --- /dev/null +++ b/apps/web/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js @@ -0,0 +1,344 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = global || self, factory(global.estreeWalker = {})); +}(this, (function (exports) { 'use strict'; + + // @ts-check + /** @typedef { import('estree').BaseNode} BaseNode */ + + /** @typedef {{ + skip: () => void; + remove: () => void; + replace: (node: BaseNode) => void; + }} WalkerContext */ + + class WalkerBase { + constructor() { + /** @type {boolean} */ + this.should_skip = false; + + /** @type {boolean} */ + this.should_remove = false; + + /** @type {BaseNode | null} */ + this.replacement = null; + + /** @type {WalkerContext} */ + this.context = { + skip: () => (this.should_skip = true), + remove: () => (this.should_remove = true), + replace: (node) => (this.replacement = node) + }; + } + + /** + * + * @param {any} parent + * @param {string} prop + * @param {number} index + * @param {BaseNode} node + */ + replace(parent, prop, index, node) { + if (parent) { + if (index !== null) { + parent[prop][index] = node; + } else { + parent[prop] = node; + } + } + } + + /** + * + * @param {any} parent + * @param {string} prop + * @param {number} index + */ + remove(parent, prop, index) { + if (parent) { + if (index !== null) { + parent[prop].splice(index, 1); + } else { + delete parent[prop]; + } + } + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./walker.js').WalkerContext} WalkerContext */ + + /** @typedef {( + * this: WalkerContext, + * node: BaseNode, + * parent: BaseNode, + * key: string, + * index: number + * ) => void} SyncHandler */ + + class SyncWalker extends WalkerBase { + /** + * + * @param {SyncHandler} enter + * @param {SyncHandler} leave + */ + constructor(enter, leave) { + super(); + + /** @type {SyncHandler} */ + this.enter = enter; + + /** @type {SyncHandler} */ + this.leave = leave; + } + + /** + * + * @param {BaseNode} node + * @param {BaseNode} parent + * @param {string} [prop] + * @param {number} [index] + * @returns {BaseNode} + */ + visit(node, parent, prop, index) { + if (node) { + if (this.enter) { + const _should_skip = this.should_skip; + const _should_remove = this.should_remove; + const _replacement = this.replacement; + this.should_skip = false; + this.should_remove = false; + this.replacement = null; + + this.enter.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const skipped = this.should_skip; + const removed = this.should_remove; + + this.should_skip = _should_skip; + this.should_remove = _should_remove; + this.replacement = _replacement; + + if (skipped) return node; + if (removed) return null; + } + + for (const key in node) { + const value = node[key]; + + if (typeof value !== "object") { + continue; + } else if (Array.isArray(value)) { + for (let i = 0; i < value.length; i += 1) { + if (value[i] !== null && typeof value[i].type === 'string') { + if (!this.visit(value[i], node, key, i)) { + // removed + i--; + } + } + } + } else if (value !== null && typeof value.type === "string") { + this.visit(value, node, key, null); + } + } + + if (this.leave) { + const _replacement = this.replacement; + const _should_remove = this.should_remove; + this.replacement = null; + this.should_remove = false; + + this.leave.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const removed = this.should_remove; + + this.replacement = _replacement; + this.should_remove = _should_remove; + + if (removed) return null; + } + } + + return node; + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./walker').WalkerContext} WalkerContext */ + + /** @typedef {( + * this: WalkerContext, + * node: BaseNode, + * parent: BaseNode, + * key: string, + * index: number + * ) => Promise<void>} AsyncHandler */ + + class AsyncWalker extends WalkerBase { + /** + * + * @param {AsyncHandler} enter + * @param {AsyncHandler} leave + */ + constructor(enter, leave) { + super(); + + /** @type {AsyncHandler} */ + this.enter = enter; + + /** @type {AsyncHandler} */ + this.leave = leave; + } + + /** + * + * @param {BaseNode} node + * @param {BaseNode} parent + * @param {string} [prop] + * @param {number} [index] + * @returns {Promise<BaseNode>} + */ + async visit(node, parent, prop, index) { + if (node) { + if (this.enter) { + const _should_skip = this.should_skip; + const _should_remove = this.should_remove; + const _replacement = this.replacement; + this.should_skip = false; + this.should_remove = false; + this.replacement = null; + + await this.enter.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const skipped = this.should_skip; + const removed = this.should_remove; + + this.should_skip = _should_skip; + this.should_remove = _should_remove; + this.replacement = _replacement; + + if (skipped) return node; + if (removed) return null; + } + + for (const key in node) { + const value = node[key]; + + if (typeof value !== "object") { + continue; + } else if (Array.isArray(value)) { + for (let i = 0; i < value.length; i += 1) { + if (value[i] !== null && typeof value[i].type === 'string') { + if (!(await this.visit(value[i], node, key, i))) { + // removed + i--; + } + } + } + } else if (value !== null && typeof value.type === "string") { + await this.visit(value, node, key, null); + } + } + + if (this.leave) { + const _replacement = this.replacement; + const _should_remove = this.should_remove; + this.replacement = null; + this.should_remove = false; + + await this.leave.call(this.context, node, parent, prop, index); + + if (this.replacement) { + node = this.replacement; + this.replace(parent, prop, index, node); + } + + if (this.should_remove) { + this.remove(parent, prop, index); + } + + const removed = this.should_remove; + + this.replacement = _replacement; + this.should_remove = _should_remove; + + if (removed) return null; + } + } + + return node; + } + } + + // @ts-check + + /** @typedef { import('estree').BaseNode} BaseNode */ + /** @typedef { import('./sync.js').SyncHandler} SyncHandler */ + /** @typedef { import('./async.js').AsyncHandler} AsyncHandler */ + + /** + * + * @param {BaseNode} ast + * @param {{ + * enter?: SyncHandler + * leave?: SyncHandler + * }} walker + * @returns {BaseNode} + */ + function walk(ast, { enter, leave }) { + const instance = new SyncWalker(enter, leave); + return instance.visit(ast, null); + } + + /** + * + * @param {BaseNode} ast + * @param {{ + * enter?: AsyncHandler + * leave?: AsyncHandler + * }} walker + * @returns {Promise<BaseNode>} + */ + async function asyncWalk(ast, { enter, leave }) { + const instance = new AsyncWalker(enter, leave); + return await instance.visit(ast, null); + } + + exports.asyncWalk = asyncWalk; + exports.walk = walk; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/apps/web/.output/server/node_modules/estree-walker/package.json b/apps/web/.output/server/node_modules/estree-walker/package.json new file mode 100644 index 0000000..08014bb --- /dev/null +++ b/apps/web/.output/server/node_modules/estree-walker/package.json @@ -0,0 +1,37 @@ +{ + "name": "estree-walker", + "description": "Traverse an ESTree-compliant AST", + "version": "2.0.2", + "private": false, + "author": "Rich Harris", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/Rich-Harris/estree-walker" + }, + "type": "commonjs", + "main": "./dist/umd/estree-walker.js", + "module": "./dist/esm/estree-walker.js", + "exports": { + "require": "./dist/umd/estree-walker.js", + "import": "./dist/esm/estree-walker.js" + }, + "types": "types/index.d.ts", + "scripts": { + "prepublishOnly": "npm run build && npm test", + "build": "tsc && rollup -c", + "test": "uvu test" + }, + "devDependencies": { + "@types/estree": "0.0.42", + "rollup": "^2.10.9", + "typescript": "^3.7.5", + "uvu": "^0.5.1" + }, + "files": [ + "src", + "dist", + "types", + "README.md" + ] +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/index.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/index.mjs new file mode 100644 index 0000000..90d427e --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/index.mjs @@ -0,0 +1,67 @@ +import { removeEffect, addEffect, GroupAnimationWithThen } from 'motion-dom'; +import { removeItem } from 'motion-utils'; +import { animateSequence } from './sequence.mjs'; +import { animateSubject } from './subject.mjs'; + +function isSequence(value) { + return Array.isArray(value) && value.some(Array.isArray); +} +/** + * Creates an animation function that is optionally scoped + * to a specific element. + */ +function createScopedAnimate(options = {}) { + const { scope, reduceMotion, skipAnimations } = options; + /** + * Implementation + */ + function scopedAnimate(subjectOrSequence, optionsOrKeyframes, options) { + let animations = []; + let animationOnComplete; + const inherited = {}; + if (reduceMotion !== undefined) + inherited.reduceMotion = reduceMotion; + if (skipAnimations !== undefined) + inherited.skipAnimations = skipAnimations; + if (isSequence(subjectOrSequence)) { + const { onComplete, ...sequenceOptions } = optionsOrKeyframes || {}; + if (typeof onComplete === "function") { + animationOnComplete = onComplete; + } + animations = animateSequence(subjectOrSequence, { ...inherited, ...sequenceOptions }, scope); + } + else { + // Extract top-level onComplete so it doesn't get applied per-value + const { onComplete, ...rest } = options || {}; + if (typeof onComplete === "function") { + animationOnComplete = onComplete; + } + animations = animateSubject(subjectOrSequence, optionsOrKeyframes, { ...inherited, ...rest }, scope); + } + const animation = new GroupAnimationWithThen(animations); + if (animationOnComplete) { + animation.finished.then(animationOnComplete); + } + if (scope) { + scope.animations.push(animation); + animation.finished.then(() => { + removeItem(scope.animations, animation); + }); + } + return animation; + } + return scopedAnimate; +} +const animate = Object.assign(createScopedAnimate(), { + /** + * Register an effect so `animate()` can animate the subjects it + * claims, for instance `animate.addEffect(threeEffect)`. The most + * recently added effect is tested first. DOM elements are always + * animated directly. + */ + addEffect, + removeEffect, +}); + +export { animate, createScopedAnimate }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs new file mode 100644 index 0000000..3888e74 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/resolve-subjects.mjs @@ -0,0 +1,23 @@ +import { resolveElements } from 'motion-dom'; +import { isDOMKeyframes } from '../utils/is-dom-keyframes.mjs'; + +function resolveSubjects(subject, keyframes, scope, selectorCache) { + if (subject == null) { + return []; + } + if (typeof subject === "string" && isDOMKeyframes(keyframes)) { + return resolveElements(subject, scope, selectorCache); + } + else if (subject instanceof NodeList) { + return Array.from(subject); + } + else if (Array.isArray(subject)) { + return subject.filter((s) => s != null); + } + else { + return [subject]; + } +} + +export { resolveSubjects }; +//# sourceMappingURL=resolve-subjects.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs new file mode 100644 index 0000000..c19af7a --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/sequence.mjs @@ -0,0 +1,36 @@ +import { motionValue, spring } from 'motion-dom'; +import { createAnimationsFromSequence } from '../sequence/create.mjs'; +import { animateSubject } from './subject.mjs'; + +function animateSequence(sequence, options, scope) { + const animations = []; + /** + * Pre-process: replace function segments with MotionValue segments, + * subscribe callbacks immediately + */ + const processedSequence = sequence.map((segment) => { + if (Array.isArray(segment) && typeof segment[0] === "function") { + const callback = segment[0]; + const mv = motionValue(0); + mv.on("change", callback); + if (segment.length === 1) { + return [mv, [0, 1]]; + } + else if (segment.length === 2) { + return [mv, [0, 1], segment[1]]; + } + else { + return [mv, segment[1], segment[2]]; + } + } + return segment; + }); + const animationDefinitions = createAnimationsFromSequence(processedSequence, options, scope, { spring }); + animationDefinitions.forEach(({ keyframes, transition }, subject) => { + animations.push(...animateSubject(subject, keyframes, transition)); + }); + return animations; +} + +export { animateSequence }; +//# sourceMappingURL=sequence.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/subject.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/subject.mjs new file mode 100644 index 0000000..3a5a718 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animate/subject.mjs @@ -0,0 +1,62 @@ +import { animateSingleValue, animateElement, visualElementStore, animateEffectSubject, propEffect, findEffect, isMotionValue } from 'motion-dom'; +import { invariant } from 'motion-utils'; +import { isDOMKeyframes } from '../utils/is-dom-keyframes.mjs'; +import { resolveSubjects } from './resolve-subjects.mjs'; + +function isSingleValue(subject, keyframes) { + return (isMotionValue(subject) || + typeof subject === "number" || + (typeof subject === "string" && !isDOMKeyframes(keyframes))); +} +/** + * Implementation + */ +function animateSubject(subject, keyframes, options, scope) { + const animations = []; + if (isSingleValue(subject, keyframes)) { + animations.push(animateSingleValue(subject, isDOMKeyframes(keyframes) + ? keyframes.default || keyframes + : keyframes, options ? options.default || options : options)); + } + else { + // Gracefully handle null/undefined subjects (e.g., from querySelector returning null) + if (subject == null) { + return animations; + } + const subjects = resolveSubjects(subject, keyframes, scope); + const numSubjects = subjects.length; + invariant(Boolean(numSubjects), "No valid elements provided.", "no-valid-elements"); + for (let i = 0; i < numSubjects; i++) { + const thisSubject = subjects[i]; + const transition = { ...options }; + /** + * Resolve stagger function if provided. + */ + if ("delay" in transition && + typeof transition.delay === "function") { + transition.delay = transition.delay(i, numSubjects); + } + if (thisSubject instanceof Element) { + /** + * An element already owned by a VisualElement (a <motion.*> + * component or animateLayout()) animates its values so they + * share one renderer. Anything else is driven through + * styleEffect (or svgEffect) and the DOM keyframe resolver, + * without creating a VisualElement. + */ + animations.push(...animateElement(thisSubject, keyframes, transition, visualElementStore.get(thisSubject))); + } + else { + /** + * Registered effects (animate.addEffect) claim non-DOM + * subjects before we fall back to writing plain properties. + */ + animations.push(...animateEffectSubject(findEffect(thisSubject) ?? propEffect, thisSubject, keyframes, transition)); + } + } + } + return animations; +} + +export { animateSubject }; +//# sourceMappingURL=subject.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs new file mode 100644 index 0000000..ce71645 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-elements.mjs @@ -0,0 +1,110 @@ +import { resolveElements, getValueTransition, getAnimationMap, animationMapKey, getComputedStyle, fillWildcards, applyPxDefaults, NativeAnimation } from 'motion-dom'; +import { invariant, secondsToMilliseconds } from 'motion-utils'; + +function animateElements(elementOrSelector, keyframes, options, scope) { + // Gracefully handle null/undefined elements (e.g., from querySelector returning null) + if (elementOrSelector == null) { + return []; + } + const elements = resolveElements(elementOrSelector, scope); + const numElements = elements.length; + invariant(Boolean(numElements), "No valid elements provided.", "no-valid-elements"); + /** + * WAAPI doesn't support interrupting animations. + * + * Therefore, starting animations requires a three-step process: + * 1. Stop existing animations (write styles to DOM) + * 2. Resolve keyframes (read styles from DOM) + * 3. Create new animations (write styles to DOM) + * + * The hybrid `animate()` function uses AsyncAnimation to resolve + * keyframes before creating new animations, which removes style + * thrashing. Here, we have much stricter filesize constraints. + * Therefore we do this in a synchronous way that ensures that + * at least within `animate()` calls there is no style thrashing. + * + * In the motion-native-animate-mini-interrupt benchmark this + * was 80% faster than a single loop. + */ + const animationDefinitions = []; + /** + * Step 1: Build options and stop existing animations (write) + */ + for (let i = 0; i < numElements; i++) { + const element = elements[i]; + const elementTransition = { ...options }; + /** + * Resolve stagger function if provided. + */ + if (typeof elementTransition.delay === "function") { + elementTransition.delay = elementTransition.delay(i, numElements); + } + for (const valueName in keyframes) { + let valueKeyframes = keyframes[valueName]; + if (!Array.isArray(valueKeyframes)) { + valueKeyframes = [valueKeyframes]; + } + const valueOptions = { + ...getValueTransition(elementTransition, valueName), + }; + valueOptions.duration && (valueOptions.duration = secondsToMilliseconds(valueOptions.duration)); + valueOptions.delay && (valueOptions.delay = secondsToMilliseconds(valueOptions.delay)); + /** + * If there's an existing animation playing on this element then stop it + * before creating a new one. + */ + const map = getAnimationMap(element); + const key = animationMapKey(valueName, valueOptions.pseudoElement || ""); + const currentAnimation = map.get(key); + currentAnimation && currentAnimation.stop(); + animationDefinitions.push({ + map, + key, + unresolvedKeyframes: valueKeyframes, + options: { + ...valueOptions, + element, + name: valueName, + allowFlatten: !elementTransition.type && !elementTransition.ease, + }, + }); + } + } + /** + * Step 2: Resolve keyframes (read) + */ + for (let i = 0; i < animationDefinitions.length; i++) { + const { unresolvedKeyframes, options: animationOptions } = animationDefinitions[i]; + const { element, name, pseudoElement } = animationOptions; + if (!pseudoElement && unresolvedKeyframes[0] === null) { + unresolvedKeyframes[0] = getComputedStyle(element, name); + } + fillWildcards(unresolvedKeyframes); + applyPxDefaults(unresolvedKeyframes, name); + /** + * If we only have one keyframe, explicitly read the initial keyframe + * from the computed style. This is to ensure consistency with WAAPI behaviour + * for restarting animations, for instance .play() after finish, when it + * has one vs two keyframes. + */ + if (!pseudoElement && unresolvedKeyframes.length < 2) { + unresolvedKeyframes.unshift(getComputedStyle(element, name)); + } + animationOptions.keyframes = unresolvedKeyframes; + } + /** + * Step 3: Create new animations (write) + */ + const animations = []; + for (let i = 0; i < animationDefinitions.length; i++) { + const { map, key, options: animationOptions } = animationDefinitions[i]; + const animation = new NativeAnimation(animationOptions); + map.set(key, animation); + animation.finished.finally(() => map.delete(key)); + animations.push(animation); + } + return animations; +} + +export { animateElements }; +//# sourceMappingURL=animate-elements.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs new file mode 100644 index 0000000..070daf1 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/animators/waapi/animate-style.mjs @@ -0,0 +1,13 @@ +import { GroupAnimationWithThen } from 'motion-dom'; +import { animateElements } from './animate-elements.mjs'; + +const createScopedWaapiAnimate = (scope) => { + function scopedAnimate(elementOrSelector, keyframes, options) { + return new GroupAnimationWithThen(animateElements(elementOrSelector, keyframes, options, scope)); + } + return scopedAnimate; +}; +const animateMini = /*@__PURE__*/ createScopedWaapiAnimate(); + +export { animateMini, createScopedWaapiAnimate }; +//# sourceMappingURL=animate-style.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/create.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/create.mjs new file mode 100644 index 0000000..0756f04 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/create.mjs @@ -0,0 +1,308 @@ +import { isMotionValue, defaultOffset, isGenerator, createGeneratorEasing, fillOffset } from 'motion-dom'; +import { progress, secondsToMilliseconds, warning, reverseEasing, getEasingForSegment } from 'motion-utils'; +import { resolveSubjects } from '../animate/resolve-subjects.mjs'; +import { calculateRepeatDuration } from './utils/calc-repeat-duration.mjs'; +import { calcNextTime } from './utils/calc-time.mjs'; +import { addKeyframes } from './utils/edit.mjs'; +import { normalizeTimes } from './utils/normalize-times.mjs'; +import { compareByTime } from './utils/sort.mjs'; + +const defaultSegmentEasing = "easeInOut"; +const MAX_REPEAT = 20; +function createAnimationsFromSequence(sequence, { defaultTransition = {}, ...sequenceTransition } = {}, scope, generators) { + const defaultDuration = defaultTransition.duration || 0.3; + const animationDefinitions = new Map(); + const sequences = new Map(); + const elementCache = {}; + const timeLabels = new Map(); + let prevTime = 0; + let currentTime = 0; + let totalDuration = 0; + /** + * Build the timeline by mapping over the sequence array and converting + * the definitions into keyframes and offsets with absolute time values. + * These will later get converted into relative offsets in a second pass. + */ + for (let i = 0; i < sequence.length; i++) { + const segment = sequence[i]; + /** + * If this is a timeline label, mark it and skip the rest of this iteration. + */ + if (typeof segment === "string") { + timeLabels.set(segment, currentTime); + continue; + } + else if (!Array.isArray(segment)) { + timeLabels.set(segment.name, calcNextTime(currentTime, segment.at, prevTime, timeLabels)); + continue; + } + let [subject, keyframes, transition = {}] = segment; + /** + * If a relative or absolute time value has been specified we need to resolve + * it in relation to the currentTime. + */ + if (transition.at !== undefined) { + currentTime = calcNextTime(currentTime, transition.at, prevTime, timeLabels); + } + /** + * Keep track of the maximum duration in this definition. This will be + * applied to currentTime once the definition has been parsed. + */ + let maxDuration = 0; + const resolveValueSequence = (valueKeyframes, valueTransition, valueSequence, elementIndex = 0, numSubjects = 0) => { + const valueKeyframesAsList = keyframesAsList(valueKeyframes); + const { delay = 0, times = defaultOffset(valueKeyframesAsList), type = defaultTransition.type || "keyframes", repeat, repeatType, repeatDelay = 0, ...remainingTransition } = valueTransition; + let { ease = defaultTransition.ease || "easeOut", duration } = valueTransition; + /** + * Resolve stagger() if defined. + */ + const calculatedDelay = typeof delay === "function" + ? delay(elementIndex, numSubjects) + : delay; + /** + * If this animation should and can use a spring, generate a spring easing function. + */ + const numKeyframes = valueKeyframesAsList.length; + const createGenerator = isGenerator(type) + ? type + : generators?.[type || "keyframes"]; + if (numKeyframes <= 2 && createGenerator) { + /** + * As we're creating an easing function from a spring, + * ideally we want to generate it using the real distance + * between the two keyframes. However this isn't always + * possible - in these situations we use 0-100. + */ + let absoluteDelta = 100; + if (numKeyframes === 2 && + isNumberKeyframesArray(valueKeyframesAsList)) { + const delta = valueKeyframesAsList[1] - valueKeyframesAsList[0]; + absoluteDelta = Math.abs(delta); + } + const springTransition = { + ...defaultTransition, + ...remainingTransition, + }; + if (duration !== undefined) { + springTransition.duration = secondsToMilliseconds(duration); + } + const springEasing = createGeneratorEasing(springTransition, absoluteDelta, createGenerator); + ease = springEasing.ease; + duration = springEasing.duration; + } + duration ?? (duration = defaultDuration); + const startTime = currentTime + calculatedDelay; + /** + * If there's only one time offset of 0, fill in a second with length 1 + */ + if (times.length === 1 && times[0] === 0) { + times[1] = 1; + } + /** + * Fill out if offset if fewer offsets than keyframes + */ + const remainder = times.length - valueKeyframesAsList.length; + remainder > 0 && fillOffset(times, remainder); + /** + * If only one value has been set, ie [1], push a null to the start of + * the keyframe array. This will let us mark a keyframe at this point + * that will later be hydrated with the previous value. + */ + valueKeyframesAsList.length === 1 && + valueKeyframesAsList.unshift(null); + /** + * Segments can't express `repeat: Infinity` or very large + * counts — they'd leave dead time after the segment or + * explode the keyframe array. Ignore with a warning. + */ + if (repeat) { + warning(repeat < MAX_REPEAT, `Sequence segments can't repeat ${repeat} times — ignoring repeat option. Use a value below ${MAX_REPEAT} or apply repeat at the sequence level instead.`); + } + if (repeat && repeat < MAX_REPEAT) { + /** + * Express repeatDelay in units of a single iteration's duration + * so it can be added to the per-iteration time offsets below + * before they're normalized to 0-1. + */ + const repeatDelayUnits = duration > 0 ? repeatDelay / duration : 0; + duration = calculateRepeatDuration(duration, repeat, repeatDelay); + const originalKeyframes = [...valueKeyframesAsList]; + const originalTimes = [...times]; + ease = Array.isArray(ease) ? [...ease] : [ease]; + const originalEase = [...ease]; + /** + * For reverse/mirror, alternate iterations play the segment + * backwards. mirror matches JSAnimation's mirroredGenerator: + * reversed keyframes, easings unchanged. reverse matches + * JSAnimation's iterationProgress = 1 - p: reversed + * keyframes, easing array reversed AND each function easing + * mapped through reverseEasing (string easings unchanged — + * they're resolved later by the keyframes engine). + */ + const isFlipping = repeatType === "reverse" || repeatType === "mirror"; + let flippedKeyframes = originalKeyframes; + let flippedEases = originalEase; + if (isFlipping) { + flippedKeyframes = [...originalKeyframes].reverse(); + if (repeatType === "reverse") { + flippedEases = [...originalEase] + .reverse() + .map((e) => typeof e === "function" + ? reverseEasing(e) + : e); + } + } + for (let repeatIndex = 0; repeatIndex < repeat; repeatIndex++) { + const isFlipped = isFlipping && repeatIndex % 2 === 0; + const iterKeyframes = isFlipped + ? flippedKeyframes + : originalKeyframes; + const iterEase = isFlipped ? flippedEases : originalEase; + const iterStartOffset = (repeatIndex + 1) * (1 + repeatDelayUnits); + /** + * If repeatDelay is set, hold the previous iteration's + * final value through the delay by inserting a keyframe + * at the moment the next iteration begins. + */ + if (repeatDelayUnits > 0) { + valueKeyframesAsList.push(valueKeyframesAsList[valueKeyframesAsList.length - 1]); + times.push(iterStartOffset); + ease.push("linear"); + } + valueKeyframesAsList.push(...iterKeyframes); + for (let keyframeIndex = 0; keyframeIndex < iterKeyframes.length; keyframeIndex++) { + times.push(originalTimes[keyframeIndex] + iterStartOffset); + ease.push(keyframeIndex === 0 + ? "linear" + : getEasingForSegment(iterEase, keyframeIndex - 1)); + } + } + normalizeTimes(times, repeat, repeatDelayUnits); + } + const targetTime = startTime + duration; + /** + * Add keyframes, mapping offsets to absolute time. + */ + addKeyframes(valueSequence, valueKeyframesAsList, ease, times, startTime, targetTime); + maxDuration = Math.max(calculatedDelay + duration, maxDuration); + totalDuration = Math.max(targetTime, totalDuration); + }; + if (isMotionValue(subject)) { + const subjectSequence = getSubjectSequence(subject, sequences); + resolveValueSequence(keyframes, transition, getValueSequence("default", subjectSequence)); + } + else { + const subjects = resolveSubjects(subject, keyframes, scope, elementCache); + const numSubjects = subjects.length; + /** + * For every element in this segment, process the defined values. + */ + for (let subjectIndex = 0; subjectIndex < numSubjects; subjectIndex++) { + /** + * Cast necessary, but we know these are of this type + */ + keyframes = keyframes; + transition = transition; + const thisSubject = subjects[subjectIndex]; + const subjectSequence = getSubjectSequence(thisSubject, sequences); + for (const key in keyframes) { + resolveValueSequence(keyframes[key], getValueTransition(transition, key), getValueSequence(key, subjectSequence), subjectIndex, numSubjects); + } + } + } + prevTime = currentTime; + currentTime += maxDuration; + } + /** + * For every element and value combination create a new animation. + */ + sequences.forEach((valueSequences, element) => { + for (const key in valueSequences) { + const valueSequence = valueSequences[key]; + /** + * Arrange all the keyframes in ascending time order. + */ + valueSequence.sort(compareByTime); + const keyframes = []; + const valueOffset = []; + const valueEasing = []; + /** + * For each keyframe, translate absolute times into + * relative offsets based on the total duration of the timeline. + */ + for (let i = 0; i < valueSequence.length; i++) { + const { at, value, easing } = valueSequence[i]; + keyframes.push(value); + valueOffset.push(progress(0, totalDuration, at)); + valueEasing.push(easing || "easeOut"); + } + /** + * If the first keyframe doesn't land on offset: 0 + * provide one by duplicating the initial keyframe. This ensures + * it snaps to the first keyframe when the animation starts. + */ + if (valueOffset[0] !== 0) { + valueOffset.unshift(0); + keyframes.unshift(keyframes[0]); + valueEasing.unshift(defaultSegmentEasing); + } + /** + * If the last keyframe doesn't land on offset: 1 + * provide one with a null wildcard value. This will ensure it + * stays static until the end of the animation. + */ + if (valueOffset[valueOffset.length - 1] !== 1) { + valueOffset.push(1); + keyframes.push(null); + } + if (!animationDefinitions.has(element)) { + animationDefinitions.set(element, { + keyframes: {}, + transition: {}, + }); + } + const definition = animationDefinitions.get(element); + definition.keyframes[key] = keyframes; + /** + * Exclude `type` from defaultTransition since springs have been + * converted to duration-based easing functions in resolveValueSequence. + * Including `type: "spring"` would cause JSAnimation to error when + * the merged keyframes array has more than 2 keyframes. + */ + const { type: _type, ...remainingDefaultTransition } = defaultTransition; + definition.transition[key] = { + ...remainingDefaultTransition, + duration: totalDuration, + ease: valueEasing, + times: valueOffset, + ...sequenceTransition, + }; + } + }); + return animationDefinitions; +} +function getSubjectSequence(subject, sequences) { + !sequences.has(subject) && sequences.set(subject, {}); + return sequences.get(subject); +} +function getValueSequence(name, sequences) { + if (!sequences[name]) + sequences[name] = []; + return sequences[name]; +} +function keyframesAsList(keyframes) { + return Array.isArray(keyframes) ? keyframes : [keyframes]; +} +function getValueTransition(transition, key) { + return transition && transition[key] + ? { + ...transition, + ...transition[key], + } + : { ...transition }; +} +const isNumber = (keyframe) => typeof keyframe === "number"; +const isNumberKeyframesArray = (keyframes) => keyframes.every(isNumber); + +export { createAnimationsFromSequence, getValueTransition }; +//# sourceMappingURL=create.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs new file mode 100644 index 0000000..652f6d8 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-repeat-duration.mjs @@ -0,0 +1,6 @@ +function calculateRepeatDuration(duration, repeat, repeatDelay) { + return duration * (repeat + 1) + repeatDelay * repeat; +} + +export { calculateRepeatDuration }; +//# sourceMappingURL=calc-repeat-duration.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs new file mode 100644 index 0000000..7e600c8 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/calc-time.mjs @@ -0,0 +1,24 @@ +/** + * Given a absolute or relative time definition and current/prev time state of the sequence, + * calculate an absolute time for the next keyframes. + */ +function calcNextTime(current, next, prev, labels) { + if (typeof next === "number") { + return next; + } + else if (next.startsWith("-") || next.startsWith("+")) { + return Math.max(0, current + parseFloat(next)); + } + else if (next === "<") { + return prev; + } + else if (next.startsWith("<")) { + return Math.max(0, prev + parseFloat(next.slice(1))); + } + else { + return labels.get(next) ?? current; + } +} + +export { calcNextTime }; +//# sourceMappingURL=calc-time.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs new file mode 100644 index 0000000..a140e1b --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/edit.mjs @@ -0,0 +1,31 @@ +import { mixNumber } from 'motion-dom'; +import { getEasingForSegment, removeItem } from 'motion-utils'; + +function eraseKeyframes(sequence, startTime, endTime) { + for (let i = 0; i < sequence.length; i++) { + const keyframe = sequence[i]; + if (keyframe.at > startTime && keyframe.at < endTime) { + removeItem(sequence, keyframe); + // If we remove this item we have to push the pointer back one + i--; + } + } +} +function addKeyframes(sequence, keyframes, easing, offset, startTime, endTime) { + /** + * Erase every existing value between currentTime and targetTime, + * this will essentially splice this timeline into any currently + * defined ones. + */ + eraseKeyframes(sequence, startTime, endTime); + for (let i = 0; i < keyframes.length; i++) { + sequence.push({ + value: keyframes[i], + at: mixNumber(startTime, endTime, offset[i]), + easing: getEasingForSegment(easing, i), + }); + } +} + +export { addKeyframes, eraseKeyframes }; +//# sourceMappingURL=edit.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs new file mode 100644 index 0000000..14f6728 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/normalize-times.mjs @@ -0,0 +1,18 @@ +/** + * Take an array of times that represent repeated keyframes. For instance + * if we have original times of [0, 0.5, 1] then our repeated times will + * be [0, 0.5, 1, 1, 1.5, 2]. Loop over the times and scale them back + * down to a 0-1 scale. + * + * `repeatDelayUnits` is the repeatDelay expressed in units of a single + * iteration's duration, so the total span equals `(repeat + 1) + repeat * repeatDelayUnits`. + */ +function normalizeTimes(times, repeat, repeatDelayUnits = 0) { + const totalUnits = repeat + 1 + repeat * repeatDelayUnits; + for (let i = 0; i < times.length; i++) { + times[i] = times[i] / totalUnits; + } +} + +export { normalizeTimes }; +//# sourceMappingURL=normalize-times.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs new file mode 100644 index 0000000..49ae938 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/sequence/utils/sort.mjs @@ -0,0 +1,15 @@ +function compareByTime(a, b) { + if (a.at === b.at) { + if (a.value === null) + return 1; + if (b.value === null) + return -1; + return 0; + } + else { + return a.at - b.at; + } +} + +export { compareByTime }; +//# sourceMappingURL=sort.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs new file mode 100644 index 0000000..be44507 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/animation/utils/is-dom-keyframes.mjs @@ -0,0 +1,6 @@ +function isDOMKeyframes(keyframes) { + return typeof keyframes === "object" && !Array.isArray(keyframes); +} + +export { isDOMKeyframes }; +//# sourceMappingURL=is-dom-keyframes.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/dom.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/dom.mjs new file mode 100644 index 0000000..5df9220 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/dom.mjs @@ -0,0 +1,10 @@ +export * from 'motion-dom'; +export { delayInSeconds as delay } from 'motion-dom'; +export * from 'motion-utils'; +export { animate, createScopedAnimate } from './animation/animate/index.mjs'; +export { animateMini } from './animation/animators/waapi/animate-style.mjs'; +export { scroll } from './render/dom/scroll/index.mjs'; +export { scrollInfo } from './render/dom/scroll/track.mjs'; +export { inView } from './render/dom/viewport/index.mjs'; +export { distance, distance2D } from './utils/distance.mjs'; +//# sourceMappingURL=dom.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs new file mode 100644 index 0000000..05c93c0 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/attach-animation.mjs @@ -0,0 +1,102 @@ +import { resize } from 'motion-dom'; +import { scrollInfo } from './track.mjs'; +import { canUseNativeTimeline } from './utils/can-use-native-timeline.mjs'; +import { getTimeline } from './utils/get-timeline.mjs'; +import { offsetToViewTimelineRange } from './utils/offset-to-range.mjs'; + +function attachToAnimation(animation, options) { + const { target, container, axis } = options; + const range = target && offsetToViewTimelineRange(options.offset); + /** + * Use native timeline when: + * - No target and no offset: ScrollTimeline + * - Target with mappable offset: ViewTimeline with named range + * - Otherwise: fall back to JS observe. A ScrollTimeline has no offset, + * so page offsets are applied by the JS timeline. + */ + const native = canUseNativeTimeline(target) && (target ? !!range : !options.offset); + const animations = new Map(); + const observed = new Set(); + let stopObserving; + let reverse = false; + /** + * When an offset's second point comes first, its range is swapped and + * the animation played backwards. The range is set after the direction, + * as that's what realigns a running animation with its timeline. Chrome + * skips that realignment when the range changes in the frame the + * animation starts, leaving it offset for good, so it's replayed too. + */ + const apply = (direction, waapi) => { + const [start, end] = range.points; + waapi.effect.updateTiming({ + direction: reverse + ? direction === "normal" + ? "reverse" + : "alternate-reverse" + : direction, + }); + Object.assign(waapi, { + rangeStart: reverse ? end : start, + rangeEnd: reverse ? start : end, + }); + waapi.play(); + }; + const stops = [ + animation.attachTimeline({ + /** + * Read only by WAAPI animations, so values driven from JS don't + * create a native timeline they won't use. + */ + get timeline() { + return native ? getTimeline(options) : undefined; + }, + onAttach: range && + ((waapi) => { + const direction = waapi.effect.getTiming().direction; + animations.set(waapi, direction); + apply(direction, waapi); + }), + /** + * Values driven from JS all track the offset with scrollInfo, + * which measures once per frame for all of them. + */ + observe: (valueAnimation) => { + valueAnimation.pause(); + observed.add(valueAnimation); + stopObserving || (stopObserving = scrollInfo((info) => { + observed.forEach((observedAnimation) => { + observedAnimation.time = + observedAnimation.iterationDuration * + info[axis].progress; + }); + }, options)); + return () => observed.delete(valueAnimation); + }, + }), + ]; + if (native && range) { + const { a, b } = range; + const length = axis === "y" ? "clientHeight" : "clientWidth"; + /** + * Offsets like All only run forwards when the target is longer than + * the container, so their direction is remeasured on resize. + */ + const update = () => { + if (reverse !== + (reverse = a * target[length] + b * container[length] < 0)) { + animations.forEach(apply); + } + }; + update(); + if (a * b < 0) { + stops.push(resize(update), resize([target, container], update)); + } + } + return () => { + stops.forEach((stop) => stop()); + stopObserving?.(); + }; +} + +export { attachToAnimation }; +//# sourceMappingURL=attach-animation.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs new file mode 100644 index 0000000..11c4801 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/index.mjs @@ -0,0 +1,19 @@ +import { noop } from 'motion-utils'; +import { attachToAnimation } from './attach-animation.mjs'; +import { scrollInfo } from './track.mjs'; + +function scroll(onScroll, { axis = "y", source, container = document.scrollingElement, ...options } = {}) { + if (!container) + return noop; + const optionsWithDefaults = { + axis, + container: source || container, + ...options, + }; + return typeof onScroll === "function" + ? scrollInfo((info) => onScroll(info[axis].progress, info), optionsWithDefaults) + : attachToAnimation(onScroll, optionsWithDefaults); +} + +export { scroll }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs new file mode 100644 index 0000000..1583672 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/info.mjs @@ -0,0 +1,102 @@ +import { clamp, progress, velocityPerSecond } from 'motion-utils'; + +/** + * A time in milliseconds, beyond which we consider the scroll velocity to be 0. + */ +const maxElapsed = 50; +const createAxisInfo = () => ({ + current: 0, + offset: [], + progress: 0, + scrollLength: 0, + targetOffset: 0, + targetLength: 0, + containerLength: 0, + velocity: 0, +}); +const createScrollInfo = () => ({ + time: 0, + x: createAxisInfo(), + y: createAxisInfo(), +}); +/** + * Also iterated with for...in as the list of axes. + */ +const axisKeys = { + x: { + length: "Width", + position: "Left", + }, + y: { + length: "Height", + position: "Top", + }, +}; +const styles = new WeakMap(); +/** + * Whether an axis scrolls from its end, which browsers report as a scroll + * position running from 0 to -scrollLength (#3340). This is read from style + * rather than the sign of the scroll position, as elastic overscroll pushes + * the position past 0 in either kind of axis (#3791). + */ +function isReversed(element, axisName) { + /** + * The viewport takes its writing mode and direction from <body>, which + * not every browser reflects in the root element's computed style. It + * doesn't adopt the root element's flex layout. + */ + const isRoot = element === document.scrollingElement; + const source = (isRoot && document.body) || element; + let style = styles.get(source); + if (!style) + styles.set(source, (style = getComputedStyle(source))); + const { writingMode, flexDirection } = style; + const isInline = (axisName === "x") !== /^[vs]/.test(writingMode); + return ((isInline + ? (style.direction === "rtl") !== (writingMode === "sideways-lr") + : writingMode.endsWith("rl")) !== + /** + * A reversed flex axis flips this. The main axis is the inline axis + * unless flex-direction is a column. + */ + (!isRoot && + style.display.includes("flex") && + (isInline !== (flexDirection[0] === "c") + ? flexDirection + : style.flexWrap).endsWith("reverse"))); +} +function updateAxisInfo(element, axisName, info, time) { + const axis = info[axisName]; + const { length, position } = axisKeys[axisName]; + const prev = axis.current; + const prevTime = info.time; + const scrollPosition = element[`scroll${position}`]; + axis.current = isReversed(element, axisName) + ? -scrollPosition || 0 // Avoid -0 + : scrollPosition; + axis.containerLength = element[`client${length}`]; + axis.targetLength = element[`scroll${length}`]; + axis.scrollLength = axis.targetLength - axis.containerLength; + axis.offset.length = 0; + axis.offset[0] = 0; + axis.offset[1] = axis.scrollLength; + axis.progress = clamp(0, 1, progress(0, axis.scrollLength, axis.current)); + const elapsed = time - prevTime; + axis.velocity = + elapsed > maxElapsed + ? 0 + : velocityPerSecond(axis.current - prev, elapsed); +} +/** + * Measures a scroll container. Runs once per container per frame; every + * handler on that container derives its info from the result. + */ +function updateScrollInfo(element, info, time) { + for (const axis in axisKeys) { + updateAxisInfo(element, axis, info, time); + } + info.time = time; +} + +export { axisKeys, createScrollInfo, updateScrollInfo }; +//# sourceMappingURL=info.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs new file mode 100644 index 0000000..58cb4c1 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/edge.mjs @@ -0,0 +1,46 @@ +const namedEdges = { + start: 0, + center: 0.5, + end: 1, +}; +function resolveEdge(edge, length, inset = 0) { + let delta = 0; + /** + * If we have this edge defined as a preset, replace the definition + * with the numerical value. + */ + if (edge in namedEdges) { + edge = namedEdges[edge]; + } + /** + * Handle unit values + */ + if (typeof edge === "string") { + const asNumber = parseFloat(edge); + if (edge.endsWith("px")) { + delta = asNumber; + } + else if (edge.endsWith("%")) { + edge = asNumber / 100; + } + else if (edge.endsWith("vw")) { + delta = (asNumber / 100) * document.documentElement.clientWidth; + } + else if (edge.endsWith("vh")) { + delta = (asNumber / 100) * document.documentElement.clientHeight; + } + else { + edge = asNumber; + } + } + /** + * If the edge is defined as a number, handle as a progress value. + */ + if (typeof edge === "number") { + delta = length * edge; + } + return inset + delta; +} + +export { namedEdges, resolveEdge }; +//# sourceMappingURL=edge.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs new file mode 100644 index 0000000..43ab55c --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/index.mjs @@ -0,0 +1,46 @@ +import { clamp, progress } from 'motion-utils'; +import { resolveOffset } from './offset.mjs'; +import { ScrollOffset } from './presets.mjs'; + +/** + * Resolved offsets map to evenly spaced progress values, so progress is + * derived from the segment index rather than building an interpolator. + */ +function offsetsToProgress(offsets, v) { + const n = offsets.length - 1; + if (n < 1) + return 0; + const reverse = offsets[0] > offsets[n]; + const at = (i) => offsets[reverse ? n - i : i]; + /** + * Matches interpolate(), which checks for a zero-length first range + * before reversing descending offsets. + */ + if (offsets[0] === offsets[1] && v < at(0)) + return reverse ? 1 : 0; + let i = 0; + while (i < n - 1 && v >= at(i + 1)) + i++; + const p = (i + progress(at(i), at(i + 1), v)) / n; + return reverse ? 1 - p : p; +} +function resolveOffsets(info, options) { + const { offset: offsetDefinition = ScrollOffset.All, axis = "y" } = options; + const axisInfo = info[axis]; + /** + * Reset the length of the resolved offset array rather than creating a new one. + */ + axisInfo.offset.length = 0; + /** + * Populate the offset array by resolving the user's offset definition into + * a list of pixel scroll offsets. + */ + const numOffsets = offsetDefinition.length; + for (let i = 0; i < numOffsets; i++) { + axisInfo.offset[i] = resolveOffset(offsetDefinition[i], axisInfo.containerLength, axisInfo.targetLength, axisInfo.targetOffset); + } + axisInfo.progress = clamp(0, 1, offsetsToProgress(axisInfo.offset, axisInfo.current)); +} + +export { resolveOffsets }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs new file mode 100644 index 0000000..82d4652 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/inset.mjs @@ -0,0 +1,48 @@ +import { isHTMLElement } from 'motion-dom'; + +function calcInset(element, container) { + const inset = { x: 0, y: 0 }; + let current = element; + while (current && current !== container) { + if (isHTMLElement(current)) { + inset.x += current.offsetLeft; + inset.y += current.offsetTop; + current = current.offsetParent; + } + else if (current.tagName === "svg") { + /** + * This isn't an ideal approach to measuring the offset of <svg /> tags. + * It would be preferable, given they behave like HTMLElements in most ways + * to use offsetLeft/Top. But these don't exist on <svg />. Likewise we + * can't use .getBBox() like most SVG elements as these provide the offset + * relative to the SVG itself, which for <svg /> is usually 0x0. + */ + const svgBoundingBox = current.getBoundingClientRect(); + current = current.parentElement; + const parentBoundingBox = current.getBoundingClientRect(); + inset.x += svgBoundingBox.left - parentBoundingBox.left; + inset.y += svgBoundingBox.top - parentBoundingBox.top; + } + else if (current instanceof SVGGraphicsElement) { + const { x, y } = current.getBBox(); + inset.x += x; + inset.y += y; + let svg = null; + let parent = current.parentNode; + while (!svg) { + if (parent.tagName === "svg") { + svg = parent; + } + parent = current.parentNode; + } + current = svg; + } + else { + break; + } + } + return inset; +} + +export { calcInset }; +//# sourceMappingURL=inset.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs new file mode 100644 index 0000000..fd25b46 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/offset.mjs @@ -0,0 +1,36 @@ +import { resolveEdge, namedEdges } from './edge.mjs'; + +const defaultOffset = [0, 0]; +function resolveOffset(offset, containerLength, targetLength, targetInset) { + let offsetDefinition = Array.isArray(offset) ? offset : defaultOffset; + let targetPoint = 0; + let containerPoint = 0; + if (typeof offset === "number") { + /** + * If we're provided offset: [0, 0.5, 1] then each number x should become + * [x, x], so we default to the behaviour of mapping 0 => 0 of both target + * and container etc. + */ + offsetDefinition = [offset, offset]; + } + else if (typeof offset === "string") { + offset = offset.trim(); + if (offset.includes(" ")) { + offsetDefinition = offset.split(" "); + } + else { + /** + * If we're provided a definition like "100px" then we want to apply + * that only to the top of the target point, leaving the container at 0. + * Whereas a named offset like "end" should be applied to both. + */ + offsetDefinition = [offset, namedEdges[offset] ? offset : `0`]; + } + } + targetPoint = resolveEdge(offsetDefinition[0], targetLength, targetInset); + containerPoint = resolveEdge(offsetDefinition[1], containerLength); + return targetPoint - containerPoint; +} + +export { resolveOffset }; +//# sourceMappingURL=offset.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs new file mode 100644 index 0000000..262ba34 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/offsets/presets.mjs @@ -0,0 +1,9 @@ +const ScrollOffset = { + All: [ + [0, 0], + [1, 1], + ], +}; + +export { ScrollOffset }; +//# sourceMappingURL=presets.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs new file mode 100644 index 0000000..8bbc4a3 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/on-scroll-handler.mjs @@ -0,0 +1,58 @@ +import { warnOnce } from 'motion-utils'; +import { axisKeys } from './info.mjs'; +import { resolveOffsets } from './offsets/index.mjs'; +import { calcInset } from './offsets/inset.mjs'; + +function getTargetSize(target) { + return "getBBox" in target && target.tagName !== "svg" + ? target.getBBox() + : { width: target.clientWidth, height: target.clientHeight }; +} +function createOnScrollHandler(container, onScroll, info, options = {}) { + const { target } = options; + /** + * In development mode ensure scroll containers aren't position: static as this makes + * it difficult to measure their relative positions. The document scrolling element + * is exempt: offsetParent measurements naturally resolve relative to the document. + */ + if (process.env.NODE_ENV !== "production") { + if (target && + target !== container && + container !== document.documentElement && + container !== document.scrollingElement && + container !== document.body) { + warnOnce(getComputedStyle(container).position !== "static", "Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly."); + } + } + /** + * Handlers without a target or offset are notified with the container's + * shared info object, so they measure nothing themselves. + */ + const needsOwnInfo = target || options.offset; + return { + measure: (containerInfo) => { + if (!needsOwnInfo) + return; + info.time = containerInfo.time; + for (const key in axisKeys) { + const axis = key; + const { offset } = info[axis]; + Object.assign(info[axis], containerInfo[axis]); + info[axis].offset = offset; + } + if (target && target !== container) { + const inset = calcInset(target, container); + const size = getTargetSize(target); + info.x.targetOffset = inset.x; + info.y.targetOffset = inset.y; + info.x.targetLength = size.width; + info.y.targetLength = size.height; + } + resolveOffsets(info, options); + }, + notify: (containerInfo) => onScroll(needsOwnInfo ? info : containerInfo), + }; +} + +export { createOnScrollHandler }; +//# sourceMappingURL=on-scroll-handler.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs new file mode 100644 index 0000000..08deaec --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/track.mjs @@ -0,0 +1,117 @@ +import { resize, frame, cancelFrame, frameData } from 'motion-dom'; +import { noop } from 'motion-utils'; +import { createScrollInfo, updateScrollInfo } from './info.mjs'; +import { createOnScrollHandler } from './on-scroll-handler.mjs'; + +const scrollListeners = new WeakMap(); +const resizeListeners = new WeakMap(); +const onScrollHandlers = new WeakMap(); +const dimensionCheckProcesses = new WeakMap(); +const getEventTarget = (element) => element === document.scrollingElement ? window : element; +function scrollInfo(onScroll, { container = document.scrollingElement, trackContentSize = false, ...options } = {}) { + if (!container) + return noop; + let containerHandlers = onScrollHandlers.get(container); + /** + * Get the onScroll handlers for this container. + * If one isn't found, create a new one. + */ + if (!containerHandlers) { + containerHandlers = new Set(); + onScrollHandlers.set(container, containerHandlers); + } + /** + * Create a new onScroll handler for the provided callback. + */ + const info = createScrollInfo(); + const containerHandler = createOnScrollHandler(container, onScroll, info, options); + containerHandlers.add(containerHandler); + /** + * Check if there's a scroll event listener for this container. + * If not, create one. + */ + if (!scrollListeners.has(container)) { + const containerInfo = createScrollInfo(); + const measureAll = () => { + updateScrollInfo(container, containerInfo, frameData.timestamp); + for (const handler of containerHandlers) { + handler.measure(containerInfo); + } + frame.preUpdate(notifyAll); + }; + const notifyAll = () => { + for (const handler of containerHandlers) { + handler.notify(containerInfo); + } + }; + const listener = () => frame.read(measureAll); + scrollListeners.set(container, listener); + const target = getEventTarget(container); + window.addEventListener("resize", listener); + if (container !== document.documentElement) { + resizeListeners.set(container, resize(container, listener)); + } + target.addEventListener("scroll", listener); + listener(); + } + /** + * Enable content size tracking if requested and not already enabled. + */ + if (trackContentSize && !dimensionCheckProcesses.has(container)) { + const listener = scrollListeners.get(container); + // Store initial scroll dimensions (object is reused to avoid allocation) + const size = { + width: container.scrollWidth, + height: container.scrollHeight, + }; + // Add frame-based scroll dimension checking to detect content changes + const checkScrollDimensions = () => { + const newWidth = container.scrollWidth; + const newHeight = container.scrollHeight; + if (size.width !== newWidth || size.height !== newHeight) { + listener(); + size.width = newWidth; + size.height = newHeight; + } + }; + // Schedule with keepAlive=true to run every frame + const dimensionCheckProcess = frame.read(checkScrollDimensions, true); + dimensionCheckProcesses.set(container, dimensionCheckProcess); + } + const listener = scrollListeners.get(container); + frame.read(listener, false, true); + return () => { + cancelFrame(listener); + /** + * Check if we even have any handlers for this container. + */ + const currentHandlers = onScrollHandlers.get(container); + if (!currentHandlers) + return; + currentHandlers.delete(containerHandler); + if (currentHandlers.size) + return; + /** + * If no more handlers, remove the scroll listener too. The handler + * set goes with it, as a measure still queued from this listener + * would otherwise notify handlers added by a later scrollInfo call. + */ + onScrollHandlers.delete(container); + const scrollListener = scrollListeners.get(container); + scrollListeners.delete(container); + if (scrollListener) { + getEventTarget(container).removeEventListener("scroll", scrollListener); + resizeListeners.get(container)?.(); + window.removeEventListener("resize", scrollListener); + } + // Clean up scroll dimension checking + const dimensionCheckProcess = dimensionCheckProcesses.get(container); + if (dimensionCheckProcess) { + cancelFrame(dimensionCheckProcess); + dimensionCheckProcesses.delete(container); + } + }; +} + +export { scrollInfo }; +//# sourceMappingURL=track.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/can-use-native-timeline.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/can-use-native-timeline.mjs new file mode 100644 index 0000000..ed95092 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/can-use-native-timeline.mjs @@ -0,0 +1,10 @@ +import { supportsViewTimeline, supportsScrollTimeline } from 'motion-dom'; + +function canUseNativeTimeline(target) { + if (typeof window === "undefined") + return false; + return target ? supportsViewTimeline() : supportsScrollTimeline(); +} + +export { canUseNativeTimeline }; +//# sourceMappingURL=can-use-native-timeline.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs new file mode 100644 index 0000000..9f57de5 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/get-timeline.mjs @@ -0,0 +1,25 @@ +const timelineCache = new Map(); +/** + * Native timelines are only attached to WAAPI animations. Offsets are + * applied to each animation as a range, so a timeline is shared by every + * offset. + */ +function getTimeline({ container, target, axis, }) { + let containerCache = timelineCache.get(container); + if (!containerCache) { + containerCache = new Map(); + timelineCache.set(container, containerCache); + } + const targetKey = target ?? "self"; + let targetCache = containerCache.get(targetKey); + if (!targetCache) { + targetCache = {}; + containerCache.set(targetKey, targetCache); + } + return (targetCache[axis] || (targetCache[axis] = target + ? new ViewTimeline({ subject: target, axis }) + : new ScrollTimeline({ source: container, axis }))); +} + +export { getTimeline }; +//# sourceMappingURL=get-timeline.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/offset-to-range.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/offset-to-range.mjs new file mode 100644 index 0000000..45f2c4c --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/scroll/utils/offset-to-range.mjs @@ -0,0 +1,41 @@ +import { resolveOffset } from '../offsets/offset.mjs'; +import { ScrollOffset } from '../offsets/presets.mjs'; + +/** + * Resolved offsets are linear in the target and container lengths, so + * probing them gives [target progress, container progress, pixels]. + * vw/vh can resolve to 0px, so they're rejected up front. + */ +const toIntersection = (o) => { + if (/v/u.test(o)) + return []; + const px = resolveOffset(o, 0, 0, 0); + return [resolveOffset(o, 0, 1, 0) - px, px - resolveOffset(o, 1, 0, 0), px]; +}; +const toRange = ([t, c, px]) => !px && + (c === 0 || c === 1) && + `${c ? "entry" : "exit"}-crossing ${t * 100}%`; +/** + * Maps an offset to an equivalent ViewTimeline range. Returns undefined when + * there isn't one, which signals the caller to fall back to JS-based scroll + * tracking. + */ +function offsetToViewTimelineRange(offset = ScrollOffset.All) { + if (offset.length !== 2) + return; + const [start, end] = offset.map(toIntersection); + const points = [toRange(start), toRange(end)]; + const a = end[0] - start[0]; + const b = start[1] - end[1]; + if (points[0] && points[1] && (a || b)) { + return { + points: points, + a, + b, + cover: !start[0] && a === 1 && b === 1, + }; + } +} + +export { offsetToViewTimelineRange }; +//# sourceMappingURL=offset-to-range.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs new file mode 100644 index 0000000..93c0f8d --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs @@ -0,0 +1,44 @@ +import { resolveElements } from 'motion-dom'; + +const thresholds = { + some: 0, + all: 1, +}; +function inView(elementOrSelector, onStart, { root, margin: rootMargin, amount = "some" } = {}) { + const elements = resolveElements(elementOrSelector); + const activeIntersections = new WeakMap(); + const onIntersectionChange = (entries) => { + entries.forEach((entry) => { + const onEnd = activeIntersections.get(entry.target); + /** + * If there's no change to the intersection, we don't need to + * do anything here. + */ + if (entry.isIntersecting === Boolean(onEnd)) + return; + if (entry.isIntersecting) { + const newOnEnd = onStart(entry.target, entry); + if (typeof newOnEnd === "function") { + activeIntersections.set(entry.target, newOnEnd); + } + else { + observer.unobserve(entry.target); + } + } + else if (typeof onEnd === "function") { + onEnd(entry); + activeIntersections.delete(entry.target); + } + }); + }; + const observer = new IntersectionObserver(onIntersectionChange, { + root, + rootMargin, + threshold: typeof amount === "number" ? amount : thresholds[amount], + }); + elements.forEach((element) => observer.observe(element)); + return () => observer.disconnect(); +} + +export { inView }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/dist/es/utils/distance.mjs b/apps/web/.output/server/node_modules/framer-motion/dist/es/utils/distance.mjs new file mode 100644 index 0000000..c7ff075 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/dist/es/utils/distance.mjs @@ -0,0 +1,10 @@ +const distance = (a, b) => Math.abs(a - b); +function distance2D(a, b) { + // Multi-dimensional + const xDelta = distance(a.x, b.x); + const yDelta = distance(a.y, b.y); + return Math.sqrt(xDelta ** 2 + yDelta ** 2); +} + +export { distance, distance2D }; +//# sourceMappingURL=distance.mjs.map diff --git a/apps/web/.output/server/node_modules/framer-motion/package.json b/apps/web/.output/server/node_modules/framer-motion/package.json new file mode 100644 index 0000000..abf8152 --- /dev/null +++ b/apps/web/.output/server/node_modules/framer-motion/package.json @@ -0,0 +1,152 @@ +{ + "name": "framer-motion", + "version": "14.3.1", + "description": "A simple and powerful JavaScript animation library", + "main": "dist/cjs/index.js", + "module": "dist/es/index.mjs", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/cjs/index.js", + "import": "./dist/es/index.mjs", + "default": "./dist/cjs/index.js" + }, + "./debug": { + "types": "./dist/debug.d.ts", + "require": "./dist/cjs/debug.js", + "import": "./dist/es/debug.mjs", + "default": "./dist/cjs/debug.js" + }, + "./dom/mini": { + "types": "./dist/dom-mini.d.ts", + "require": "./dist/cjs/dom-mini.js", + "import": "./dist/es/dom-mini.mjs", + "default": "./dist/cjs/dom-mini.js" + }, + "./dom": { + "types": "./dist/dom.d.ts", + "require": "./dist/cjs/dom.js", + "import": "./dist/es/dom.mjs", + "default": "./dist/cjs/dom.js" + }, + "./client": { + "types": "./dist/client.d.ts", + "require": "./dist/cjs/client.js", + "import": "./dist/es/client.mjs", + "default": "./dist/cjs/client.js" + }, + "./m": { + "types": "./dist/m.d.ts", + "require": "./dist/cjs/m.js", + "import": "./dist/es/m.mjs", + "default": "./dist/cjs/m.js" + }, + "./mini": { + "types": "./dist/mini.d.ts", + "require": "./dist/cjs/mini.js", + "import": "./dist/es/mini.mjs", + "default": "./dist/cjs/mini.js" + }, + "./projection": { + "types": "./dist/projection.d.ts", + "import": "./dist/es/projection.mjs", + "default": "./dist/es/projection.mjs" + }, + "./animate-view": { + "types": "./dist/animate-view.d.ts", + "require": "./dist/cjs/animate-view.js", + "import": "./dist/es/animate-view.mjs", + "default": "./dist/cjs/animate-view.js" + }, + "./package.json": "./package.json" + }, + "types": "dist/index.d.ts", + "author": "Matt Perry", + "license": "MIT", + "repository": "https://github.com/motiondivision/motion/", + "sideEffects": false, + "keywords": [ + "react animation", + "react", + "pose", + "react pose", + "animation", + "gestures", + "drag", + "spring", + "popmotion", + "framer", + "waapi" + ], + "scripts": { + "build": "yarn clean && tsc --noEmitOnError -p . && rollup -c && node ./scripts/check-bundle.js", + "dev": "yarn watch", + "clean": "rm -rf types dist lib", + "test": "yarn test-server && yarn test-client", + "test-client": "jest --config jest.config.json --max-workers=2", + "test-server": "jest --config jest.config.ssr.json", + "prettier": "prettier ./src/* --write", + "watch": "concurrently -c blue,red -n tsc --noEmitOnError ,rollup --kill-others \"tsc --noEmitOnError --watch -p . --preserveWatchOutput\" \"rollup --config --watch --no-watch.clearScreen\"", + "prepack": "yarn build && yarn measure && node ../../dev/inc/bundlesize.mjs framer-motion", + "postpublish": "git push --tags", + "measure": "rollup -c ./rollup.size.config.mjs" + }, + "dependencies": { + "motion-dom": "14.3.1", + "motion-utils": "14.1.1", + "tslib": "^2.4.0" + }, + "devDependencies": { + "@radix-ui/react-dialog": "^1.1.15", + "@thednp/dommatrix": "^2.0.11", + "@types/three": "0.137.0", + "concurrently": "^7.3.0", + "jest": "^29.7.0", + "rollup": "4.59.0", + "three": "0.137.0", + "typescript": "5.4.3" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + }, + "bundlesize": [ + { + "path": "./dist/size-rollup-motion.js", + "maxSize": "42.2 kB" + }, + { + "path": "./dist/size-rollup-m.js", + "maxSize": "5 kB" + }, + { + "path": "./dist/size-rollup-m-dom-animation.js", + "maxSize": "28.6 kB" + }, + { + "path": "./dist/size-rollup-m-dom-max.js", + "maxSize": "42.3 kB" + }, + { + "path": "./dist/size-rollup-animate.js", + "maxSize": "22 kB" + }, + { + "path": "./dist/size-rollup-scroll.js", + "maxSize": "3.7 kB" + }, + { + "path": "./dist/size-rollup-waapi-animate.js", + "maxSize": "3.2 kB" + } + ], + "gitHead": "1785a8816da2682ef53bfc1fe8b3f61d86f17924" +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/hey-listen/dist/index.js b/apps/web/.output/server/node_modules/hey-listen/dist/index.js new file mode 100644 index 0000000..4e7d3c4 --- /dev/null +++ b/apps/web/.output/server/node_modules/hey-listen/dist/index.js @@ -0,0 +1,18 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +exports.warning = function () { }; +exports.invariant = function () { }; +if (process.env.NODE_ENV !== 'production') { + exports.warning = function (check, message) { + if (!check && typeof console !== 'undefined') { + console.warn(message); + } + }; + exports.invariant = function (check, message) { + if (!check) { + throw new Error(message); + } + }; +} diff --git a/apps/web/.output/server/node_modules/hey-listen/package.json b/apps/web/.output/server/node_modules/hey-listen/package.json new file mode 100644 index 0000000..b484a1c --- /dev/null +++ b/apps/web/.output/server/node_modules/hey-listen/package.json @@ -0,0 +1,55 @@ +{ + "name": "hey-listen", + "version": "1.0.8", + "description": "Warning and invariant dev-ex messaging.", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "module": "dist/hey-listen.es.js", + "jsnext:main": "dist/hey-listen.es.js", + "scripts": { + "test": "jest", + "build": "rollup -c", + "watch": "rollup -c -w", + "prepublishOnly": "npm run test && npm run build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Popmotion/hey-listen.git" + }, + "keywords": [ + "warning", + "invariant" + ], + "author": "Matt Perry", + "license": "MIT", + "bugs": { + "url": "https://github.com/Popmotion/hey-listen/issues" + }, + "homepage": "https://github.com/Popmotion/hey-listen#readme", + "devDependencies": { + "@types/jest": "^22.2.3", + "@types/node": "^10.0.6", + "jest": "^24.7.1", + "rollup": "^1.9.2", + "rollup-plugin-typescript2": "^0.14.0", + "rollup-plugin-uglify": "^3.0.0", + "ts-jest": "^22.4.5", + "typescript": "^2.8.3" + }, + "jest": { + "moduleFileExtensions": [ + "ts", + "js", + "json", + "node" + ], + "transform": { + "\\.(ts)$": "../node_modules/ts-jest/preprocessor.js" + }, + "testRegex": "/_tests/.*\\.(ts|js)$", + "rootDir": "src" + }, + "prettier": { + "singleQuote": true + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/hookable/dist/index.mjs b/apps/web/.output/server/node_modules/hookable/dist/index.mjs new file mode 100644 index 0000000..b4a5bdb --- /dev/null +++ b/apps/web/.output/server/node_modules/hookable/dist/index.mjs @@ -0,0 +1,257 @@ +function flatHooks(configHooks, hooks = {}, parentName) { + for (const key in configHooks) { + const subHook = configHooks[key]; + const name = parentName ? `${parentName}:${key}` : key; + if (typeof subHook === "object" && subHook !== null) flatHooks(subHook, hooks, name); + else if (typeof subHook === "function") hooks[name] = subHook; + } + return hooks; +} +function mergeHooks(...hooks) { + const finalHooks = {}; + for (const hook of hooks) { + const flatenHook = flatHooks(hook); + for (const key in flatenHook) if (finalHooks[key]) finalHooks[key].push(flatenHook[key]); + else finalHooks[key] = [flatenHook[key]]; + } + for (const key in finalHooks) if (finalHooks[key].length > 1) { + const array = finalHooks[key]; + finalHooks[key] = (...arguments_) => serial(array, (function_) => function_(...arguments_)); + } else finalHooks[key] = finalHooks[key][0]; + return finalHooks; +} +function serial(tasks, function_) { + return tasks.reduce((promise, task) => promise.then(() => function_(task)), Promise.resolve()); +} +const createTask = /* @__PURE__ */ (() => { + if (console.createTask) return console.createTask; + const defaultTask = { run: (fn) => fn() }; + return () => defaultTask; +})(); +function callHooks(hooks, args, startIndex, task) { + for (let i = startIndex; i < hooks.length; i += 1) try { + const result = task ? task.run(() => hooks[i](...args)) : hooks[i](...args); + if (result && typeof result.then === "function") return Promise.resolve(result).then(() => callHooks(hooks, args, i + 1, task)); + } catch (error) { + return Promise.reject(error); + } +} +function serialTaskCaller(hooks, args, name) { + if (hooks.length > 0) return callHooks(hooks, args, 0, createTask(name)); +} +function parallelTaskCaller(hooks, args, name) { + if (hooks.length > 0) { + const task = createTask(name); + return Promise.all(hooks.map((hook) => task.run(() => hook(...args)))); + } +} +function serialCaller(hooks, arguments_) { + return hooks.reduce((promise, hookFunction) => promise.then(() => hookFunction(...arguments_ || [])), Promise.resolve()); +} +function parallelCaller(hooks, args) { + return Promise.all(hooks.map((hook) => hook(...args || []))); +} +function callEachWith(callbacks, arg0) { + for (const callback of [...callbacks]) callback(arg0); +} +var Hookable = class { + _hooks; + _before; + _after; + _deprecatedHooks; + _deprecatedMessages; + constructor() { + this._hooks = {}; + this._before = void 0; + this._after = void 0; + this._deprecatedMessages = void 0; + this._deprecatedHooks = {}; + this.hook = this.hook.bind(this); + this.callHook = this.callHook.bind(this); + this.callHookWith = this.callHookWith.bind(this); + } + hook(name, function_, options = {}) { + if (!name || typeof function_ !== "function") return () => {}; + const originalName = name; + let dep; + while (this._deprecatedHooks[name]) { + dep = this._deprecatedHooks[name]; + name = dep.to; + } + if (dep && !options.allowDeprecated) { + let message = dep.message; + if (!message) message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : ""); + if (!this._deprecatedMessages) this._deprecatedMessages = /* @__PURE__ */ new Set(); + if (!this._deprecatedMessages.has(message)) { + console.warn(message); + this._deprecatedMessages.add(message); + } + } + if (!function_.name) try { + Object.defineProperty(function_, "name", { + get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb", + configurable: true + }); + } catch {} + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(function_); + return () => { + if (function_) { + this.removeHook(name, function_); + function_ = void 0; + } + }; + } + hookOnce(name, function_) { + let _unreg; + let _function = (...arguments_) => { + if (typeof _unreg === "function") _unreg(); + _unreg = void 0; + _function = void 0; + return function_(...arguments_); + }; + _unreg = this.hook(name, _function); + return _unreg; + } + removeHook(name, function_) { + const hooks = this._hooks[name]; + if (hooks) { + const index = hooks.indexOf(function_); + if (index !== -1) hooks.splice(index, 1); + if (hooks.length === 0) this._hooks[name] = void 0; + } + } + clearHook(name) { + this._hooks[name] = void 0; + } + deprecateHook(name, deprecated) { + this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated; + const _hooks = this._hooks[name] || []; + this._hooks[name] = void 0; + for (const hook of _hooks) this.hook(name, hook); + } + deprecateHooks(deprecatedHooks) { + for (const name in deprecatedHooks) this.deprecateHook(name, deprecatedHooks[name]); + } + addHooks(configHooks) { + const hooks = flatHooks(configHooks); + const removeFns = Object.keys(hooks).map((key) => this.hook(key, hooks[key])); + return () => { + for (const unreg of removeFns) unreg(); + removeFns.length = 0; + }; + } + removeHooks(configHooks) { + const hooks = flatHooks(configHooks); + for (const key in hooks) this.removeHook(key, hooks[key]); + } + removeAllHooks() { + this._hooks = {}; + } + callHook(name, ...args) { + return this.callHookWith(serialTaskCaller, name, args); + } + callHookParallel(name, ...args) { + return this.callHookWith(parallelTaskCaller, name, args); + } + callHookWith(caller, name, args) { + const event = this._before || this._after ? { + name, + args, + context: {} + } : void 0; + if (this._before) callEachWith(this._before, event); + const result = caller(this._hooks[name] ? [...this._hooks[name]] : [], args, name); + if (result instanceof Promise) return result.finally(() => { + if (this._after && event) callEachWith(this._after, event); + }); + if (this._after && event) callEachWith(this._after, event); + return result; + } + beforeEach(function_) { + this._before = this._before || []; + this._before.push(function_); + return () => { + if (this._before !== void 0) { + const index = this._before.indexOf(function_); + if (index !== -1) this._before.splice(index, 1); + } + }; + } + afterEach(function_) { + this._after = this._after || []; + this._after.push(function_); + return () => { + if (this._after !== void 0) { + const index = this._after.indexOf(function_); + if (index !== -1) this._after.splice(index, 1); + } + }; + } +}; +function createHooks() { + return new Hookable(); +} +var HookableCore = class { + _hooks; + constructor() { + this._hooks = {}; + } + hook(name, fn) { + if (!name || typeof fn !== "function") return () => {}; + this._hooks[name] = this._hooks[name] || []; + this._hooks[name].push(fn); + return () => { + if (fn) { + this.removeHook(name, fn); + fn = void 0; + } + }; + } + removeHook(name, function_) { + const hooks = this._hooks[name]; + if (hooks) { + const index = hooks.indexOf(function_); + if (index !== -1) hooks.splice(index, 1); + if (hooks.length === 0) this._hooks[name] = void 0; + } + } + callHook(name, ...args) { + const hooks = this._hooks[name]; + if (!hooks || hooks.length === 0) return; + return callHooks(hooks.slice(), args, 0); + } +}; +const isBrowser = typeof window !== "undefined"; +function createDebugger(hooks, _options = {}) { + const options = { + inspect: isBrowser, + group: isBrowser, + filter: () => true, + ..._options + }; + const _filter = options.filter; + const filter = typeof _filter === "string" ? (name) => name.startsWith(_filter) : _filter; + const _tag = options.tag ? `[${options.tag}] ` : ""; + const logPrefix = (event) => _tag + event.name + "".padEnd(event._id, "\0"); + const _idCtr = {}; + const unsubscribeBefore = hooks.beforeEach((event) => { + if (filter !== void 0 && !filter(event.name)) return; + _idCtr[event.name] = _idCtr[event.name] || 0; + event._id = _idCtr[event.name]++; + console.time(logPrefix(event)); + }); + const unsubscribeAfter = hooks.afterEach((event) => { + if (filter !== void 0 && !filter(event.name)) return; + if (options.group) console.groupCollapsed(event.name); + if (options.inspect) console.timeLog(logPrefix(event), event.args); + else console.timeEnd(logPrefix(event)); + if (options.group) console.groupEnd(); + _idCtr[event.name]--; + }); + return { close: () => { + unsubscribeBefore(); + unsubscribeAfter(); + } }; +} +export { Hookable, HookableCore, createDebugger, createHooks, flatHooks, mergeHooks, parallelCaller, serial, serialCaller }; diff --git a/apps/web/.output/server/node_modules/hookable/package.json b/apps/web/.output/server/node_modules/hookable/package.json new file mode 100644 index 0000000..c03f5c0 --- /dev/null +++ b/apps/web/.output/server/node_modules/hookable/package.json @@ -0,0 +1,54 @@ +{ + "name": "hookable", + "version": "6.1.2", + "description": "Awaitable hook system", + "keywords": [ + "hook", + "hookable", + "plugin", + "tapable", + "tappable" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "unjs/hookable" + }, + "files": [ + "dist" + ], + "type": "module", + "sideEffects": false, + "main": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "exports": { + ".": "./dist/index.mjs" + }, + "devDependencies": { + "@types/node": "^25.9.6", + "@vitest/coverage-v8": "^5", + "changelogen": "^0.6.2", + "esbuild": "^0.28.2", + "eslint-config-unjs": "^0.6.2", + "expect-type": "^1.4.0", + "hookable-prev": "npm:hookable@^6.1.1", + "mitata": "^1.0.34", + "obuild": "^0.4.40", + "oxfmt": ">=0.67.0", + "oxlint": "^1.82.0", + "typescript": "^6", + "vite": "^8.3.0", + "vitest": "^5" + }, + "scripts": { + "bench": "node --expose-gc --allow-natives-syntax test/bench.ts", + "build": "obuild src/index.ts", + "dev": "vitest", + "lint": "oxlint . && oxfmt --check src test", + "lint:fix": "oxlint . --fix && oxfmt src test", + "prepublish": "pnpm build", + "release": "pnpm test && pnpm build && changelogen --release --publish --push", + "test": "pnpm lint && vitest run --coverage", + "test:types": "tsc --noEmit" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js b/apps/web/.output/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js new file mode 100644 index 0000000..3579f07 --- /dev/null +++ b/apps/web/.output/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js @@ -0,0 +1,21273 @@ +/** + * @license lucide-vue-next v0.475.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +var vue = require('vue'); + +const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); + +var defaultAttributes = { + xmlns: "http://www.w3.org/2000/svg", + width: 24, + height: 24, + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + "stroke-width": 2, + "stroke-linecap": "round", + "stroke-linejoin": "round" +}; + +const Icon = ({ size, strokeWidth = 2, absoluteStrokeWidth, color, iconNode, name, class: classes, ...props }, { slots }) => { + return vue.h( + "svg", + { + ...defaultAttributes, + width: size || defaultAttributes.width, + height: size || defaultAttributes.height, + stroke: color || defaultAttributes.stroke, + "stroke-width": absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth, + class: ["lucide", `lucide-${toKebabCase(name ?? "icon")}`], + ...props + }, + [...iconNode.map((child) => vue.h(...child)), ...slots.default ? [slots.default()] : []] + ); +}; + +const createLucideIcon = (iconName, iconNode) => (props, { slots }) => vue.h( + Icon, + { + ...props, + iconNode, + name: iconName + }, + slots +); + +const AArrowDown = createLucideIcon("AArrowDownIcon", [ + ["path", { d: "M3.5 13h6", key: "p1my2r" }], + ["path", { d: "m2 16 4.5-9 4.5 9", key: "ndf0b3" }], + ["path", { d: "M18 7v9", key: "pknjwm" }], + ["path", { d: "m14 12 4 4 4-4", key: "buelq4" }] +]); + +const AArrowUp = createLucideIcon("AArrowUpIcon", [ + ["path", { d: "M3.5 13h6", key: "p1my2r" }], + ["path", { d: "m2 16 4.5-9 4.5 9", key: "ndf0b3" }], + ["path", { d: "M18 16V7", key: "ty0viw" }], + ["path", { d: "m14 11 4-4 4 4", key: "1pu57t" }] +]); + +const ALargeSmall = createLucideIcon("ALargeSmallIcon", [ + ["path", { d: "M21 14h-5", key: "1vh23k" }], + ["path", { d: "M16 16v-3.5a2.5 2.5 0 0 1 5 0V16", key: "1wh10o" }], + ["path", { d: "M4.5 13h6", key: "dfilno" }], + ["path", { d: "m3 16 4.5-9 4.5 9", key: "2dxa0e" }] +]); + +const Accessibility = createLucideIcon("AccessibilityIcon", [ + ["circle", { cx: "16", cy: "4", r: "1", key: "1grugj" }], + ["path", { d: "m18 19 1-7-6 1", key: "r0i19z" }], + ["path", { d: "m5 8 3-3 5.5 3-2.36 3.5", key: "9ptxx2" }], + ["path", { d: "M4.24 14.5a5 5 0 0 0 6.88 6", key: "10kmtu" }], + ["path", { d: "M13.76 17.5a5 5 0 0 0-6.88-6", key: "2qq6rc" }] +]); + +const Activity = createLucideIcon("ActivityIcon", [ + [ + "path", + { + d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2", + key: "169zse" + } + ] +]); + +const AirVent = createLucideIcon("AirVentIcon", [ + [ + "path", + { + d: "M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2", + key: "larmp2" + } + ], + ["path", { d: "M6 8h12", key: "6g4wlu" }], + ["path", { d: "M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12", key: "1bo8pg" }], + ["path", { d: "M6.6 15.6A2 2 0 1 0 10 17v-5", key: "t9h90c" }] +]); + +const Airplay = createLucideIcon("AirplayIcon", [ + [ + "path", + { + d: "M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1", + key: "ns4c3b" + } + ], + ["path", { d: "m12 15 5 6H7Z", key: "14qnn2" }] +]); + +const AlarmClockCheck = createLucideIcon("AlarmClockCheckIcon", [ + ["circle", { cx: "12", cy: "13", r: "8", key: "3y4lt7" }], + ["path", { d: "M5 3 2 6", key: "18tl5t" }], + ["path", { d: "m22 6-3-3", key: "1opdir" }], + ["path", { d: "M6.38 18.7 4 21", key: "17xu3x" }], + ["path", { d: "M17.64 18.67 20 21", key: "kv2oe2" }], + ["path", { d: "m9 13 2 2 4-4", key: "6343dt" }] +]); + +const AlarmClockMinus = createLucideIcon("AlarmClockMinusIcon", [ + ["circle", { cx: "12", cy: "13", r: "8", key: "3y4lt7" }], + ["path", { d: "M5 3 2 6", key: "18tl5t" }], + ["path", { d: "m22 6-3-3", key: "1opdir" }], + ["path", { d: "M6.38 18.7 4 21", key: "17xu3x" }], + ["path", { d: "M17.64 18.67 20 21", key: "kv2oe2" }], + ["path", { d: "M9 13h6", key: "1uhe8q" }] +]); + +const AlarmClockOff = createLucideIcon("AlarmClockOffIcon", [ + ["path", { d: "M6.87 6.87a8 8 0 1 0 11.26 11.26", key: "3on8tj" }], + ["path", { d: "M19.9 14.25a8 8 0 0 0-9.15-9.15", key: "15ghsc" }], + ["path", { d: "m22 6-3-3", key: "1opdir" }], + ["path", { d: "M6.26 18.67 4 21", key: "yzmioq" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M4 4 2 6", key: "1ycko6" }] +]); + +const AlarmClockPlus = createLucideIcon("AlarmClockPlusIcon", [ + ["circle", { cx: "12", cy: "13", r: "8", key: "3y4lt7" }], + ["path", { d: "M5 3 2 6", key: "18tl5t" }], + ["path", { d: "m22 6-3-3", key: "1opdir" }], + ["path", { d: "M6.38 18.7 4 21", key: "17xu3x" }], + ["path", { d: "M17.64 18.67 20 21", key: "kv2oe2" }], + ["path", { d: "M12 10v6", key: "1bos4e" }], + ["path", { d: "M9 13h6", key: "1uhe8q" }] +]); + +const AlarmClock = createLucideIcon("AlarmClockIcon", [ + ["circle", { cx: "12", cy: "13", r: "8", key: "3y4lt7" }], + ["path", { d: "M12 9v4l2 2", key: "1c63tq" }], + ["path", { d: "M5 3 2 6", key: "18tl5t" }], + ["path", { d: "m22 6-3-3", key: "1opdir" }], + ["path", { d: "M6.38 18.7 4 21", key: "17xu3x" }], + ["path", { d: "M17.64 18.67 20 21", key: "kv2oe2" }] +]); + +const AlarmSmoke = createLucideIcon("AlarmSmokeIcon", [ + ["path", { d: "M11 21c0-2.5 2-2.5 2-5", key: "1sicvv" }], + ["path", { d: "M16 21c0-2.5 2-2.5 2-5", key: "1o3eny" }], + ["path", { d: "m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8", key: "1bvca4" }], + [ + "path", + { d: "M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z", key: "x3qr1j" } + ], + ["path", { d: "M6 21c0-2.5 2-2.5 2-5", key: "i3w1gp" }] +]); + +const Album = createLucideIcon("AlbumIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["polyline", { points: "11 3 11 11 14 8 17 11 17 3", key: "1wcwz3" }] +]); + +const AlignCenterHorizontal = createLucideIcon("AlignCenterHorizontalIcon", [ + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4", key: "11f1s0" }], + ["path", { d: "M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4", key: "t14dx9" }], + ["path", { d: "M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1", key: "1w07xs" }], + ["path", { d: "M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1", key: "1apec2" }] +]); + +const AlignCenterVertical = createLucideIcon("AlignCenterVerticalIcon", [ + ["path", { d: "M12 2v20", key: "t6zp3m" }], + ["path", { d: "M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4", key: "14d6g8" }], + ["path", { d: "M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4", key: "1e2lrw" }], + ["path", { d: "M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1", key: "1fkdwx" }], + ["path", { d: "M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1", key: "1euafb" }] +]); + +const AlignCenter = createLucideIcon("AlignCenterIcon", [ + ["path", { d: "M17 12H7", key: "16if0g" }], + ["path", { d: "M19 18H5", key: "18s9l3" }], + ["path", { d: "M21 6H3", key: "1jwq7v" }] +]); + +const AlignEndHorizontal = createLucideIcon("AlignEndHorizontalIcon", [ + ["rect", { width: "6", height: "16", x: "4", y: "2", rx: "2", key: "z5wdxg" }], + ["rect", { width: "6", height: "9", x: "14", y: "9", rx: "2", key: "um7a8w" }], + ["path", { d: "M22 22H2", key: "19qnx5" }] +]); + +const AlignEndVertical = createLucideIcon("AlignEndVerticalIcon", [ + ["rect", { width: "16", height: "6", x: "2", y: "4", rx: "2", key: "10wcwx" }], + ["rect", { width: "9", height: "6", x: "9", y: "14", rx: "2", key: "4p5bwg" }], + ["path", { d: "M22 22V2", key: "12ipfv" }] +]); + +const AlignHorizontalDistributeCenter = createLucideIcon("AlignHorizontalDistributeCenterIcon", [ + ["rect", { width: "6", height: "14", x: "4", y: "5", rx: "2", key: "1wwnby" }], + ["rect", { width: "6", height: "10", x: "14", y: "7", rx: "2", key: "1fe6j6" }], + ["path", { d: "M17 22v-5", key: "4b6g73" }], + ["path", { d: "M17 7V2", key: "hnrr36" }], + ["path", { d: "M7 22v-3", key: "1r4jpn" }], + ["path", { d: "M7 5V2", key: "liy1u9" }] +]); + +const AlignHorizontalDistributeEnd = createLucideIcon("AlignHorizontalDistributeEndIcon", [ + ["rect", { width: "6", height: "14", x: "4", y: "5", rx: "2", key: "1wwnby" }], + ["rect", { width: "6", height: "10", x: "14", y: "7", rx: "2", key: "1fe6j6" }], + ["path", { d: "M10 2v20", key: "uyc634" }], + ["path", { d: "M20 2v20", key: "1tx262" }] +]); + +const AlignHorizontalDistributeStart = createLucideIcon("AlignHorizontalDistributeStartIcon", [ + ["rect", { width: "6", height: "14", x: "4", y: "5", rx: "2", key: "1wwnby" }], + ["rect", { width: "6", height: "10", x: "14", y: "7", rx: "2", key: "1fe6j6" }], + ["path", { d: "M4 2v20", key: "gtpd5x" }], + ["path", { d: "M14 2v20", key: "tg6bpw" }] +]); + +const AlignHorizontalJustifyCenter = createLucideIcon("AlignHorizontalJustifyCenterIcon", [ + ["rect", { width: "6", height: "14", x: "2", y: "5", rx: "2", key: "dy24zr" }], + ["rect", { width: "6", height: "10", x: "16", y: "7", rx: "2", key: "13zkjt" }], + ["path", { d: "M12 2v20", key: "t6zp3m" }] +]); + +const AlignHorizontalJustifyEnd = createLucideIcon("AlignHorizontalJustifyEndIcon", [ + ["rect", { width: "6", height: "14", x: "2", y: "5", rx: "2", key: "dy24zr" }], + ["rect", { width: "6", height: "10", x: "12", y: "7", rx: "2", key: "1ht384" }], + ["path", { d: "M22 2v20", key: "40qfg1" }] +]); + +const AlignHorizontalJustifyStart = createLucideIcon("AlignHorizontalJustifyStartIcon", [ + ["rect", { width: "6", height: "14", x: "6", y: "5", rx: "2", key: "hsirpf" }], + ["rect", { width: "6", height: "10", x: "16", y: "7", rx: "2", key: "13zkjt" }], + ["path", { d: "M2 2v20", key: "1ivd8o" }] +]); + +const AlignHorizontalSpaceAround = createLucideIcon("AlignHorizontalSpaceAroundIcon", [ + ["rect", { width: "6", height: "10", x: "9", y: "7", rx: "2", key: "yn7j0q" }], + ["path", { d: "M4 22V2", key: "tsjzd3" }], + ["path", { d: "M20 22V2", key: "1bnhr8" }] +]); + +const AlignHorizontalSpaceBetween = createLucideIcon("AlignHorizontalSpaceBetweenIcon", [ + ["rect", { width: "6", height: "14", x: "3", y: "5", rx: "2", key: "j77dae" }], + ["rect", { width: "6", height: "10", x: "15", y: "7", rx: "2", key: "bq30hj" }], + ["path", { d: "M3 2v20", key: "1d2pfg" }], + ["path", { d: "M21 2v20", key: "p059bm" }] +]); + +const AlignJustify = createLucideIcon("AlignJustifyIcon", [ + ["path", { d: "M3 12h18", key: "1i2n21" }], + ["path", { d: "M3 18h18", key: "1h113x" }], + ["path", { d: "M3 6h18", key: "d0wm0j" }] +]); + +const AlignLeft = createLucideIcon("AlignLeftIcon", [ + ["path", { d: "M15 12H3", key: "6jk70r" }], + ["path", { d: "M17 18H3", key: "1amg6g" }], + ["path", { d: "M21 6H3", key: "1jwq7v" }] +]); + +const AlignRight = createLucideIcon("AlignRightIcon", [ + ["path", { d: "M21 12H9", key: "dn1m92" }], + ["path", { d: "M21 18H7", key: "1ygte8" }], + ["path", { d: "M21 6H3", key: "1jwq7v" }] +]); + +const AlignStartHorizontal = createLucideIcon("AlignStartHorizontalIcon", [ + ["rect", { width: "6", height: "16", x: "4", y: "6", rx: "2", key: "1n4dg1" }], + ["rect", { width: "6", height: "9", x: "14", y: "6", rx: "2", key: "17khns" }], + ["path", { d: "M22 2H2", key: "fhrpnj" }] +]); + +const AlignStartVertical = createLucideIcon("AlignStartVerticalIcon", [ + ["rect", { width: "9", height: "6", x: "6", y: "14", rx: "2", key: "lpm2y7" }], + ["rect", { width: "16", height: "6", x: "6", y: "4", rx: "2", key: "rdj6ps" }], + ["path", { d: "M2 2v20", key: "1ivd8o" }] +]); + +const AlignVerticalDistributeCenter = createLucideIcon("AlignVerticalDistributeCenterIcon", [ + ["path", { d: "M22 17h-3", key: "1lwga1" }], + ["path", { d: "M22 7h-5", key: "o2endc" }], + ["path", { d: "M5 17H2", key: "1gx9xc" }], + ["path", { d: "M7 7H2", key: "6bq26l" }], + ["rect", { x: "5", y: "14", width: "14", height: "6", rx: "2", key: "1qrzuf" }], + ["rect", { x: "7", y: "4", width: "10", height: "6", rx: "2", key: "we8e9z" }] +]); + +const AlignVerticalDistributeEnd = createLucideIcon("AlignVerticalDistributeEndIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "14", rx: "2", key: "jmoj9s" }], + ["rect", { width: "10", height: "6", x: "7", y: "4", rx: "2", key: "aza5on" }], + ["path", { d: "M2 20h20", key: "owomy5" }], + ["path", { d: "M2 10h20", key: "1ir3d8" }] +]); + +const AlignVerticalDistributeStart = createLucideIcon("AlignVerticalDistributeStartIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "14", rx: "2", key: "jmoj9s" }], + ["rect", { width: "10", height: "6", x: "7", y: "4", rx: "2", key: "aza5on" }], + ["path", { d: "M2 14h20", key: "myj16y" }], + ["path", { d: "M2 4h20", key: "mda7wb" }] +]); + +const AlignVerticalJustifyCenter = createLucideIcon("AlignVerticalJustifyCenterIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "16", rx: "2", key: "1i8z2d" }], + ["rect", { width: "10", height: "6", x: "7", y: "2", rx: "2", key: "ypihtt" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }] +]); + +const AlignVerticalJustifyEnd = createLucideIcon("AlignVerticalJustifyEndIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "12", rx: "2", key: "4l4tp2" }], + ["rect", { width: "10", height: "6", x: "7", y: "2", rx: "2", key: "ypihtt" }], + ["path", { d: "M2 22h20", key: "272qi7" }] +]); + +const AlignVerticalJustifyStart = createLucideIcon("AlignVerticalJustifyStartIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "16", rx: "2", key: "1i8z2d" }], + ["rect", { width: "10", height: "6", x: "7", y: "6", rx: "2", key: "13squh" }], + ["path", { d: "M2 2h20", key: "1ennik" }] +]); + +const AlignVerticalSpaceAround = createLucideIcon("AlignVerticalSpaceAroundIcon", [ + ["rect", { width: "10", height: "6", x: "7", y: "9", rx: "2", key: "b1zbii" }], + ["path", { d: "M22 20H2", key: "1p1f7z" }], + ["path", { d: "M22 4H2", key: "1b7qnq" }] +]); + +const AlignVerticalSpaceBetween = createLucideIcon("AlignVerticalSpaceBetweenIcon", [ + ["rect", { width: "14", height: "6", x: "5", y: "15", rx: "2", key: "1w91an" }], + ["rect", { width: "10", height: "6", x: "7", y: "3", rx: "2", key: "17wqzy" }], + ["path", { d: "M2 21h20", key: "1nyx9w" }], + ["path", { d: "M2 3h20", key: "91anmk" }] +]); + +const Ambulance = createLucideIcon("AmbulanceIcon", [ + ["path", { d: "M10 10H6", key: "1bsnug" }], + ["path", { d: "M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2", key: "wrbu53" }], + [ + "path", + { + d: "M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14", + key: "lrkjwd" + } + ], + ["path", { d: "M8 8v4", key: "1fwk8c" }], + ["path", { d: "M9 18h6", key: "x1upvd" }], + ["circle", { cx: "17", cy: "18", r: "2", key: "332jqn" }], + ["circle", { cx: "7", cy: "18", r: "2", key: "19iecd" }] +]); + +const Ampersand = createLucideIcon("AmpersandIcon", [ + [ + "path", + { + d: "M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13", + key: "1o9ehi" + } + ], + ["path", { d: "M16 12h3", key: "4uvgyw" }] +]); + +const Ampersands = createLucideIcon("AmpersandsIcon", [ + [ + "path", + { + d: "M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5", + key: "12lh1k" + } + ], + [ + "path", + { + d: "M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5", + key: "173c68" + } + ] +]); + +const Amphora = createLucideIcon("AmphoraIcon", [ + [ + "path", + { d: "M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8", key: "1h8rid" } + ], + ["path", { d: "M10 5H8a2 2 0 0 0 0 4h.68", key: "3ezsi6" }], + ["path", { d: "M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8", key: "yt6q09" }], + ["path", { d: "M14 5h2a2 2 0 0 1 0 4h-.68", key: "8f95yk" }], + ["path", { d: "M18 22H6", key: "mg6kv4" }], + ["path", { d: "M9 2h6", key: "1jrp98" }] +]); + +const Anchor = createLucideIcon("AnchorIcon", [ + ["path", { d: "M12 22V8", key: "qkxhtm" }], + ["path", { d: "M5 12H2a10 10 0 0 0 20 0h-3", key: "1hv3nh" }], + ["circle", { cx: "12", cy: "5", r: "3", key: "rqqgnr" }] +]); + +const Angry = createLucideIcon("AngryIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M16 16s-1.5-2-4-2-4 2-4 2", key: "epbg0q" }], + ["path", { d: "M7.5 8 10 9", key: "olxxln" }], + ["path", { d: "m14 9 2.5-1", key: "1j6cij" }], + ["path", { d: "M9 10h.01", key: "qbtxuw" }], + ["path", { d: "M15 10h.01", key: "1qmjsl" }] +]); + +const Annoyed = createLucideIcon("AnnoyedIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M8 15h8", key: "45n4r" }], + ["path", { d: "M8 9h2", key: "1g203m" }], + ["path", { d: "M14 9h2", key: "116p9w" }] +]); + +const Antenna = createLucideIcon("AntennaIcon", [ + ["path", { d: "M2 12 7 2", key: "117k30" }], + ["path", { d: "m7 12 5-10", key: "1tvx22" }], + ["path", { d: "m12 12 5-10", key: "ev1o1a" }], + ["path", { d: "m17 12 5-10", key: "1e4ti3" }], + ["path", { d: "M4.5 7h15", key: "vlsxkz" }], + ["path", { d: "M12 16v6", key: "c8a4gj" }] +]); + +const Anvil = createLucideIcon("AnvilIcon", [ + ["path", { d: "M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4", key: "1hjpb6" }], + [ + "path", + { d: "M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z", key: "1qn45f" } + ], + ["path", { d: "M9 12v5", key: "3anwtq" }], + ["path", { d: "M15 12v5", key: "5xh3zn" }], + [ + "path", + { d: "M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1", key: "1fi4x8" } + ] +]); + +const Aperture = createLucideIcon("ApertureIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m14.31 8 5.74 9.94", key: "1y6ab4" }], + ["path", { d: "M9.69 8h11.48", key: "1wxppr" }], + ["path", { d: "m7.38 12 5.74-9.94", key: "1grp0k" }], + ["path", { d: "M9.69 16 3.95 6.06", key: "libnyf" }], + ["path", { d: "M14.31 16H2.83", key: "x5fava" }], + ["path", { d: "m16.62 12-5.74 9.94", key: "1vwawt" }] +]); + +const AppWindowMac = createLucideIcon("AppWindowMacIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M6 8h.01", key: "x9i8wu" }], + ["path", { d: "M10 8h.01", key: "1r9ogq" }], + ["path", { d: "M14 8h.01", key: "1primd" }] +]); + +const AppWindow = createLucideIcon("AppWindowIcon", [ + ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }], + ["path", { d: "M10 4v4", key: "pp8u80" }], + ["path", { d: "M2 8h20", key: "d11cs7" }], + ["path", { d: "M6 4v4", key: "1svtjw" }] +]); + +const Apple = createLucideIcon("AppleIcon", [ + [ + "path", + { + d: "M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z", + key: "3s7exb" + } + ], + ["path", { d: "M10 2c1 .5 2 2 2 5", key: "fcco2y" }] +]); + +const ArchiveRestore = createLucideIcon("ArchiveRestoreIcon", [ + ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }], + ["path", { d: "M4 8v11a2 2 0 0 0 2 2h2", key: "tvwodi" }], + ["path", { d: "M20 8v11a2 2 0 0 1-2 2h-2", key: "1gkqxj" }], + ["path", { d: "m9 15 3-3 3 3", key: "1pd0qc" }], + ["path", { d: "M12 12v9", key: "192myk" }] +]); + +const ArchiveX = createLucideIcon("ArchiveXIcon", [ + ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }], + ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }], + ["path", { d: "m9.5 17 5-5", key: "nakeu6" }], + ["path", { d: "m9.5 12 5 5", key: "1hccrj" }] +]); + +const Archive = createLucideIcon("ArchiveIcon", [ + ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }], + ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }], + ["path", { d: "M10 12h4", key: "a56b0p" }] +]); + +const Armchair = createLucideIcon("ArmchairIcon", [ + ["path", { d: "M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3", key: "irtipd" }], + [ + "path", + { + d: "M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z", + key: "1qyhux" + } + ], + ["path", { d: "M5 18v2", key: "ppbyun" }], + ["path", { d: "M19 18v2", key: "gy7782" }] +]); + +const ArrowBigDownDash = createLucideIcon("ArrowBigDownDashIcon", [ + ["path", { d: "M15 5H9", key: "1tp3ed" }], + ["path", { d: "M15 9v3h4l-7 7-7-7h4V9z", key: "ncdc4b" }] +]); + +const ArrowBigDown = createLucideIcon("ArrowBigDownIcon", [ + ["path", { d: "M15 6v6h4l-7 7-7-7h4V6h6z", key: "1thax2" }] +]); + +const ArrowBigLeftDash = createLucideIcon("ArrowBigLeftDashIcon", [ + ["path", { d: "M19 15V9", key: "1hci5f" }], + ["path", { d: "M15 15h-3v4l-7-7 7-7v4h3v6z", key: "16tjna" }] +]); + +const ArrowBigLeft = createLucideIcon("ArrowBigLeftIcon", [ + ["path", { d: "M18 15h-6v4l-7-7 7-7v4h6v6z", key: "lbrdak" }] +]); + +const ArrowBigRightDash = createLucideIcon("ArrowBigRightDashIcon", [ + ["path", { d: "M5 9v6", key: "158jrl" }], + ["path", { d: "M9 9h3V5l7 7-7 7v-4H9V9z", key: "1sg2xn" }] +]); + +const ArrowBigRight = createLucideIcon("ArrowBigRightIcon", [ + ["path", { d: "M6 9h6V5l7 7-7 7v-4H6V9z", key: "7fvt9c" }] +]); + +const ArrowBigUpDash = createLucideIcon("ArrowBigUpDashIcon", [ + ["path", { d: "M9 19h6", key: "456am0" }], + ["path", { d: "M9 15v-3H5l7-7 7 7h-4v3H9z", key: "1r2uve" }] +]); + +const ArrowBigUp = createLucideIcon("ArrowBigUpIcon", [ + ["path", { d: "M9 18v-6H5l7-7 7 7h-4v6H9z", key: "1x06kx" }] +]); + +const ArrowDown01 = createLucideIcon("ArrowDown01Icon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["rect", { x: "15", y: "4", width: "4", height: "6", ry: "2", key: "1bwicg" }], + ["path", { d: "M17 20v-6h-2", key: "1qp1so" }], + ["path", { d: "M15 20h4", key: "1j968p" }] +]); + +const ArrowDown10 = createLucideIcon("ArrowDown10Icon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["path", { d: "M17 10V4h-2", key: "zcsr5x" }], + ["path", { d: "M15 10h4", key: "id2lce" }], + ["rect", { x: "15", y: "14", width: "4", height: "6", ry: "2", key: "33xykx" }] +]); + +const ArrowDownAZ = createLucideIcon("ArrowDownAZIcon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["path", { d: "M20 8h-5", key: "1vsyxs" }], + ["path", { d: "M15 10V6.5a2.5 2.5 0 0 1 5 0V10", key: "ag13bf" }], + ["path", { d: "M15 14h5l-5 6h5", key: "ur5jdg" }] +]); + +const ArrowDownFromLine = createLucideIcon("ArrowDownFromLineIcon", [ + ["path", { d: "M19 3H5", key: "1236rx" }], + ["path", { d: "M12 21V7", key: "gj6g52" }], + ["path", { d: "m6 15 6 6 6-6", key: "h15q88" }] +]); + +const ArrowDownLeft = createLucideIcon("ArrowDownLeftIcon", [ + ["path", { d: "M17 7 7 17", key: "15tmo1" }], + ["path", { d: "M17 17H7V7", key: "1org7z" }] +]); + +const ArrowDownNarrowWide = createLucideIcon("ArrowDownNarrowWideIcon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["path", { d: "M11 4h4", key: "6d7r33" }], + ["path", { d: "M11 8h7", key: "djye34" }], + ["path", { d: "M11 12h10", key: "1438ji" }] +]); + +const ArrowDownRight = createLucideIcon("ArrowDownRightIcon", [ + ["path", { d: "m7 7 10 10", key: "1fmybs" }], + ["path", { d: "M17 7v10H7", key: "6fjiku" }] +]); + +const ArrowDownToDot = createLucideIcon("ArrowDownToDotIcon", [ + ["path", { d: "M12 2v14", key: "jyx4ut" }], + ["path", { d: "m19 9-7 7-7-7", key: "1oe3oy" }], + ["circle", { cx: "12", cy: "21", r: "1", key: "o0uj5v" }] +]); + +const ArrowDownToLine = createLucideIcon("ArrowDownToLineIcon", [ + ["path", { d: "M12 17V3", key: "1cwfxf" }], + ["path", { d: "m6 11 6 6 6-6", key: "12ii2o" }], + ["path", { d: "M19 21H5", key: "150jfl" }] +]); + +const ArrowDownUp = createLucideIcon("ArrowDownUpIcon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["path", { d: "m21 8-4-4-4 4", key: "1c9v7m" }], + ["path", { d: "M17 4v16", key: "7dpous" }] +]); + +const ArrowDownWideNarrow = createLucideIcon("ArrowDownWideNarrowIcon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 20V4", key: "1yoxec" }], + ["path", { d: "M11 4h10", key: "1w87gc" }], + ["path", { d: "M11 8h7", key: "djye34" }], + ["path", { d: "M11 12h4", key: "q8tih4" }] +]); + +const ArrowDownZA = createLucideIcon("ArrowDownZAIcon", [ + ["path", { d: "m3 16 4 4 4-4", key: "1co6wj" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M15 4h5l-5 6h5", key: "8asdl1" }], + ["path", { d: "M15 20v-3.5a2.5 2.5 0 0 1 5 0V20", key: "r6l5cz" }], + ["path", { d: "M20 18h-5", key: "18j1r2" }] +]); + +const ArrowDown = createLucideIcon("ArrowDownIcon", [ + ["path", { d: "M12 5v14", key: "s699le" }], + ["path", { d: "m19 12-7 7-7-7", key: "1idqje" }] +]); + +const ArrowLeftFromLine = createLucideIcon("ArrowLeftFromLineIcon", [ + ["path", { d: "m9 6-6 6 6 6", key: "7v63n9" }], + ["path", { d: "M3 12h14", key: "13k4hi" }], + ["path", { d: "M21 19V5", key: "b4bplr" }] +]); + +const ArrowLeftRight = createLucideIcon("ArrowLeftRightIcon", [ + ["path", { d: "M8 3 4 7l4 4", key: "9rb6wj" }], + ["path", { d: "M4 7h16", key: "6tx8e3" }], + ["path", { d: "m16 21 4-4-4-4", key: "siv7j2" }], + ["path", { d: "M20 17H4", key: "h6l3hr" }] +]); + +const ArrowLeftToLine = createLucideIcon("ArrowLeftToLineIcon", [ + ["path", { d: "M3 19V5", key: "rwsyhb" }], + ["path", { d: "m13 6-6 6 6 6", key: "1yhaz7" }], + ["path", { d: "M7 12h14", key: "uoisry" }] +]); + +const ArrowLeft = createLucideIcon("ArrowLeftIcon", [ + ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }], + ["path", { d: "M19 12H5", key: "x3x0zl" }] +]); + +const ArrowRightFromLine = createLucideIcon("ArrowRightFromLineIcon", [ + ["path", { d: "M3 5v14", key: "1nt18q" }], + ["path", { d: "M21 12H7", key: "13ipq5" }], + ["path", { d: "m15 18 6-6-6-6", key: "6tx3qv" }] +]); + +const ArrowRightLeft = createLucideIcon("ArrowRightLeftIcon", [ + ["path", { d: "m16 3 4 4-4 4", key: "1x1c3m" }], + ["path", { d: "M20 7H4", key: "zbl0bi" }], + ["path", { d: "m8 21-4-4 4-4", key: "h9nckh" }], + ["path", { d: "M4 17h16", key: "g4d7ey" }] +]); + +const ArrowRightToLine = createLucideIcon("ArrowRightToLineIcon", [ + ["path", { d: "M17 12H3", key: "8awo09" }], + ["path", { d: "m11 18 6-6-6-6", key: "8c2y43" }], + ["path", { d: "M21 5v14", key: "nzette" }] +]); + +const ArrowRight = createLucideIcon("ArrowRightIcon", [ + ["path", { d: "M5 12h14", key: "1ays0h" }], + ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }] +]); + +const ArrowUp01 = createLucideIcon("ArrowUp01Icon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["rect", { x: "15", y: "4", width: "4", height: "6", ry: "2", key: "1bwicg" }], + ["path", { d: "M17 20v-6h-2", key: "1qp1so" }], + ["path", { d: "M15 20h4", key: "1j968p" }] +]); + +const ArrowUp10 = createLucideIcon("ArrowUp10Icon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M17 10V4h-2", key: "zcsr5x" }], + ["path", { d: "M15 10h4", key: "id2lce" }], + ["rect", { x: "15", y: "14", width: "4", height: "6", ry: "2", key: "33xykx" }] +]); + +const ArrowUpAZ = createLucideIcon("ArrowUpAZIcon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M20 8h-5", key: "1vsyxs" }], + ["path", { d: "M15 10V6.5a2.5 2.5 0 0 1 5 0V10", key: "ag13bf" }], + ["path", { d: "M15 14h5l-5 6h5", key: "ur5jdg" }] +]); + +const ArrowUpDown = createLucideIcon("ArrowUpDownIcon", [ + ["path", { d: "m21 16-4 4-4-4", key: "f6ql7i" }], + ["path", { d: "M17 20V4", key: "1ejh1v" }], + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }] +]); + +const ArrowUpFromDot = createLucideIcon("ArrowUpFromDotIcon", [ + ["path", { d: "m5 9 7-7 7 7", key: "1hw5ic" }], + ["path", { d: "M12 16V2", key: "ywoabb" }], + ["circle", { cx: "12", cy: "21", r: "1", key: "o0uj5v" }] +]); + +const ArrowUpFromLine = createLucideIcon("ArrowUpFromLineIcon", [ + ["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }], + ["path", { d: "M12 3v14", key: "7cf3v8" }], + ["path", { d: "M5 21h14", key: "11awu3" }] +]); + +const ArrowUpLeft = createLucideIcon("ArrowUpLeftIcon", [ + ["path", { d: "M7 17V7h10", key: "11bw93" }], + ["path", { d: "M17 17 7 7", key: "2786uv" }] +]); + +const ArrowUpNarrowWide = createLucideIcon("ArrowUpNarrowWideIcon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M11 12h4", key: "q8tih4" }], + ["path", { d: "M11 16h7", key: "uosisv" }], + ["path", { d: "M11 20h10", key: "jvxblo" }] +]); + +const ArrowUpRight = createLucideIcon("ArrowUpRightIcon", [ + ["path", { d: "M7 7h10v10", key: "1tivn9" }], + ["path", { d: "M7 17 17 7", key: "1vkiza" }] +]); + +const ArrowUpToLine = createLucideIcon("ArrowUpToLineIcon", [ + ["path", { d: "M5 3h14", key: "7usisc" }], + ["path", { d: "m18 13-6-6-6 6", key: "1kf1n9" }], + ["path", { d: "M12 7v14", key: "1akyts" }] +]); + +const ArrowUpWideNarrow = createLucideIcon("ArrowUpWideNarrowIcon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M11 12h10", key: "1438ji" }], + ["path", { d: "M11 16h7", key: "uosisv" }], + ["path", { d: "M11 20h4", key: "1krc32" }] +]); + +const ArrowUpZA = createLucideIcon("ArrowUpZAIcon", [ + ["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }], + ["path", { d: "M7 4v16", key: "1glfcx" }], + ["path", { d: "M15 4h5l-5 6h5", key: "8asdl1" }], + ["path", { d: "M15 20v-3.5a2.5 2.5 0 0 1 5 0V20", key: "r6l5cz" }], + ["path", { d: "M20 18h-5", key: "18j1r2" }] +]); + +const ArrowUp = createLucideIcon("ArrowUpIcon", [ + ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }], + ["path", { d: "M12 19V5", key: "x0mq9r" }] +]); + +const ArrowsUpFromLine = createLucideIcon("ArrowsUpFromLineIcon", [ + ["path", { d: "m4 6 3-3 3 3", key: "9aidw8" }], + ["path", { d: "M7 17V3", key: "19qxw1" }], + ["path", { d: "m14 6 3-3 3 3", key: "6iy689" }], + ["path", { d: "M17 17V3", key: "o0fmgi" }], + ["path", { d: "M4 21h16", key: "1h09gz" }] +]); + +const Asterisk = createLucideIcon("AsteriskIcon", [ + ["path", { d: "M12 6v12", key: "1vza4d" }], + ["path", { d: "M17.196 9 6.804 15", key: "1ah31z" }], + ["path", { d: "m6.804 9 10.392 6", key: "1b6pxd" }] +]); + +const AtSign = createLucideIcon("AtSignIcon", [ + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["path", { d: "M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8", key: "7n84p3" }] +]); + +const Atom = createLucideIcon("AtomIcon", [ + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + [ + "path", + { + d: "M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z", + key: "1l2ple" + } + ], + [ + "path", + { + d: "M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z", + key: "1wam0m" + } + ] +]); + +const AudioLines = createLucideIcon("AudioLinesIcon", [ + ["path", { d: "M2 10v3", key: "1fnikh" }], + ["path", { d: "M6 6v11", key: "11sgs0" }], + ["path", { d: "M10 3v18", key: "yhl04a" }], + ["path", { d: "M14 8v7", key: "3a1oy3" }], + ["path", { d: "M18 5v13", key: "123xd1" }], + ["path", { d: "M22 10v3", key: "154ddg" }] +]); + +const AudioWaveform = createLucideIcon("AudioWaveformIcon", [ + [ + "path", + { + d: "M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2", + key: "57tc96" + } + ] +]); + +const Award = createLucideIcon("AwardIcon", [ + [ + "path", + { + d: "m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526", + key: "1yiouv" + } + ], + ["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }] +]); + +const Axe = createLucideIcon("AxeIcon", [ + ["path", { d: "m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9", key: "csbz4o" }], + ["path", { d: "M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z", key: "113wfo" }] +]); + +const Axis3d = createLucideIcon("Axis3dIcon", [ + ["path", { d: "M4 4v16h16", key: "1s015l" }], + ["path", { d: "m4 20 7-7", key: "17qe9y" }] +]); + +const Baby = createLucideIcon("BabyIcon", [ + ["path", { d: "M9 12h.01", key: "157uk2" }], + ["path", { d: "M15 12h.01", key: "1k8ypt" }], + ["path", { d: "M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5", key: "1u7htd" }], + [ + "path", + { + d: "M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1", + key: "5yv0yz" + } + ] +]); + +const Backpack = createLucideIcon("BackpackIcon", [ + [ + "path", + { d: "M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z", key: "1ol0lm" } + ], + ["path", { d: "M8 10h8", key: "c7uz4u" }], + ["path", { d: "M8 18h8", key: "1no2b1" }], + ["path", { d: "M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6", key: "1fr6do" }], + ["path", { d: "M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2", key: "donm21" }] +]); + +const BadgeAlert = createLucideIcon("BadgeAlertIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }], + ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }] +]); + +const BadgeCent = createLucideIcon("BadgeCentIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M12 7v10", key: "jspqdw" }], + ["path", { d: "M15.4 10a4 4 0 1 0 0 4", key: "2eqtx8" }] +]); + +const BadgeCheck = createLucideIcon("BadgeCheckIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }] +]); + +const BadgeDollarSign = createLucideIcon("BadgeDollarSignIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8", key: "1h4pet" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }] +]); + +const BadgeEuro = createLucideIcon("BadgeEuroIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M7 12h5", key: "gblrwe" }], + ["path", { d: "M15 9.4a4 4 0 1 0 0 5.2", key: "1makmb" }] +]); + +const BadgeHelp = createLucideIcon("BadgeHelpIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }], + ["line", { x1: "12", x2: "12.01", y1: "17", y2: "17", key: "io3f8k" }] +]); + +const BadgeIndianRupee = createLucideIcon("BadgeIndianRupeeIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M8 8h8", key: "1bis0t" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "m13 17-5-1h1a4 4 0 0 0 0-8", key: "nu2bwa" }] +]); + +const BadgeInfo = createLucideIcon("BadgeInfoIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["line", { x1: "12", x2: "12", y1: "16", y2: "12", key: "1y1yb1" }], + ["line", { x1: "12", x2: "12.01", y1: "8", y2: "8", key: "110wyk" }] +]); + +const BadgeJapaneseYen = createLucideIcon("BadgeJapaneseYenIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "m9 8 3 3v7", key: "17yadx" }], + ["path", { d: "m12 11 3-3", key: "p4cfq1" }], + ["path", { d: "M9 12h6", key: "1c52cq" }], + ["path", { d: "M9 16h6", key: "8wimt3" }] +]); + +const BadgeMinus = createLucideIcon("BadgeMinusIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }] +]); + +const BadgePercent = createLucideIcon("BadgePercentIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["path", { d: "M15 15h.01", key: "lqbp3k" }] +]); + +const BadgePlus = createLucideIcon("BadgePlusIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["line", { x1: "12", x2: "12", y1: "8", y2: "16", key: "10p56q" }], + ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }] +]); + +const BadgePoundSterling = createLucideIcon("BadgePoundSterlingIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M8 12h4", key: "qz6y1c" }], + ["path", { d: "M10 16V9.5a2.5 2.5 0 0 1 5 0", key: "3mlbjk" }], + ["path", { d: "M8 16h7", key: "sbedsn" }] +]); + +const BadgeRussianRuble = createLucideIcon("BadgeRussianRubleIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M9 16h5", key: "1syiyw" }], + ["path", { d: "M9 12h5a2 2 0 1 0 0-4h-3v9", key: "1ge9c1" }] +]); + +const BadgeSwissFranc = createLucideIcon("BadgeSwissFrancIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["path", { d: "M11 17V8h4", key: "1bfq6y" }], + ["path", { d: "M11 12h3", key: "2eqnfz" }], + ["path", { d: "M9 16h4", key: "1skf3a" }] +]); + +const BadgeX = createLucideIcon("BadgeXIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ], + ["line", { x1: "15", x2: "9", y1: "9", y2: "15", key: "f7djnv" }], + ["line", { x1: "9", x2: "15", y1: "9", y2: "15", key: "1shsy8" }] +]); + +const Badge = createLucideIcon("BadgeIcon", [ + [ + "path", + { + d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z", + key: "3c2336" + } + ] +]); + +const BaggageClaim = createLucideIcon("BaggageClaimIcon", [ + ["path", { d: "M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2", key: "4irg2o" }], + ["path", { d: "M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10", key: "14fcyx" }], + ["rect", { width: "13", height: "8", x: "8", y: "6", rx: "1", key: "o6oiis" }], + ["circle", { cx: "18", cy: "20", r: "2", key: "t9985n" }], + ["circle", { cx: "9", cy: "20", r: "2", key: "e5v82j" }] +]); + +const Ban = createLucideIcon("BanIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m4.9 4.9 14.2 14.2", key: "1m5liu" }] +]); + +const Banana = createLucideIcon("BananaIcon", [ + ["path", { d: "M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5", key: "1cscit" }], + [ + "path", + { + d: "M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z", + key: "1y1nbv" + } + ] +]); + +const Bandage = createLucideIcon("BandageIcon", [ + ["path", { d: "M10 10.01h.01", key: "1e9xi7" }], + ["path", { d: "M10 14.01h.01", key: "ac23bv" }], + ["path", { d: "M14 10.01h.01", key: "2wfrvf" }], + ["path", { d: "M14 14.01h.01", key: "8tw8yn" }], + ["path", { d: "M18 6v11.5", key: "dkbidh" }], + ["path", { d: "M6 6v12", key: "vkc79e" }], + ["rect", { x: "2", y: "6", width: "20", height: "12", rx: "2", key: "1wpnh2" }] +]); + +const Banknote = createLucideIcon("BanknoteIcon", [ + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "M6 12h.01M18 12h.01", key: "113zkx" }] +]); + +const Barcode = createLucideIcon("BarcodeIcon", [ + ["path", { d: "M3 5v14", key: "1nt18q" }], + ["path", { d: "M8 5v14", key: "1ybrkv" }], + ["path", { d: "M12 5v14", key: "s699le" }], + ["path", { d: "M17 5v14", key: "ycjyhj" }], + ["path", { d: "M21 5v14", key: "nzette" }] +]); + +const Baseline = createLucideIcon("BaselineIcon", [ + ["path", { d: "M4 20h16", key: "14thso" }], + ["path", { d: "m6 16 6-12 6 12", key: "1b4byz" }], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const Bath = createLucideIcon("BathIcon", [ + ["path", { d: "M10 4 8 6", key: "1rru8s" }], + ["path", { d: "M17 19v2", key: "ts1sot" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "M7 19v2", key: "12npes" }], + [ + "path", + { + d: "M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5", + key: "14ym8i" + } + ] +]); + +const BatteryCharging = createLucideIcon("BatteryChargingIcon", [ + ["path", { d: "M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2", key: "1sdynx" }], + ["path", { d: "M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1", key: "1gkd3k" }], + ["path", { d: "m11 7-3 5h4l-3 5", key: "b4a64w" }], + ["line", { x1: "22", x2: "22", y1: "11", y2: "13", key: "4dh1rd" }] +]); + +const BatteryFull = createLucideIcon("BatteryFullIcon", [ + ["rect", { width: "16", height: "10", x: "2", y: "7", rx: "2", ry: "2", key: "1w10f2" }], + ["line", { x1: "22", x2: "22", y1: "11", y2: "13", key: "4dh1rd" }], + ["line", { x1: "6", x2: "6", y1: "11", y2: "13", key: "1wd6dw" }], + ["line", { x1: "10", x2: "10", y1: "11", y2: "13", key: "haxvl5" }], + ["line", { x1: "14", x2: "14", y1: "11", y2: "13", key: "c6fn6x" }] +]); + +const BatteryLow = createLucideIcon("BatteryLowIcon", [ + ["rect", { width: "16", height: "10", x: "2", y: "7", rx: "2", ry: "2", key: "1w10f2" }], + ["line", { x1: "22", x2: "22", y1: "11", y2: "13", key: "4dh1rd" }], + ["line", { x1: "6", x2: "6", y1: "11", y2: "13", key: "1wd6dw" }] +]); + +const BatteryMedium = createLucideIcon("BatteryMediumIcon", [ + ["rect", { width: "16", height: "10", x: "2", y: "7", rx: "2", ry: "2", key: "1w10f2" }], + ["line", { x1: "22", x2: "22", y1: "11", y2: "13", key: "4dh1rd" }], + ["line", { x1: "6", x2: "6", y1: "11", y2: "13", key: "1wd6dw" }], + ["line", { x1: "10", x2: "10", y1: "11", y2: "13", key: "haxvl5" }] +]); + +const BatteryPlus = createLucideIcon("BatteryPlusIcon", [ + ["path", { d: "M10 9v6", key: "17i7lo" }], + ["path", { d: "M13.5 7H16a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2.5", key: "jzl4pj" }], + ["path", { d: "M22 11v2", key: "1wo06k" }], + ["path", { d: "M6.5 17H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2.5", key: "1ar5vp" }], + ["path", { d: "M7 12h6", key: "iekk3h" }] +]); + +const BatteryWarning = createLucideIcon("BatteryWarningIcon", [ + ["path", { d: "M10 17h.01", key: "nbq80n" }], + ["path", { d: "M10 7v6", key: "nne03l" }], + ["path", { d: "M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2", key: "1x5o8m" }], + ["path", { d: "M22 11v2", key: "1wo06k" }], + ["path", { d: "M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "1mdjgh" }] +]); + +const Battery = createLucideIcon("BatteryIcon", [ + ["rect", { width: "16", height: "10", x: "2", y: "7", rx: "2", ry: "2", key: "1w10f2" }], + ["line", { x1: "22", x2: "22", y1: "11", y2: "13", key: "4dh1rd" }] +]); + +const Beaker = createLucideIcon("BeakerIcon", [ + ["path", { d: "M4.5 3h15", key: "c7n0jr" }], + ["path", { d: "M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3", key: "m1uhx7" }], + ["path", { d: "M6 14h12", key: "4cwo0f" }] +]); + +const BeanOff = createLucideIcon("BeanOffIcon", [ + [ + "path", + { + d: "M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1", + key: "bq3udt" + } + ], + ["path", { d: "M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66", key: "17ccse" }], + [ + "path", + { + d: "M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04", + key: "18zqgq" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Bean = createLucideIcon("BeanIcon", [ + [ + "path", + { + d: "M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z", + key: "1tvzk7" + } + ], + ["path", { d: "M5.341 10.62a4 4 0 1 0 5.279-5.28", key: "2cyri2" }] +]); + +const BedDouble = createLucideIcon("BedDoubleIcon", [ + ["path", { d: "M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8", key: "1k78r4" }], + ["path", { d: "M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4", key: "fb3tl2" }], + ["path", { d: "M12 4v6", key: "1dcgq2" }], + ["path", { d: "M2 18h20", key: "ajqnye" }] +]); + +const BedSingle = createLucideIcon("BedSingleIcon", [ + ["path", { d: "M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8", key: "1wm6mi" }], + ["path", { d: "M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4", key: "4k93s5" }], + ["path", { d: "M3 18h18", key: "1h113x" }] +]); + +const Bed = createLucideIcon("BedIcon", [ + ["path", { d: "M2 4v16", key: "vw9hq8" }], + ["path", { d: "M2 8h18a2 2 0 0 1 2 2v10", key: "1dgv2r" }], + ["path", { d: "M2 17h20", key: "18nfp3" }], + ["path", { d: "M6 8v9", key: "1yriud" }] +]); + +const Beef = createLucideIcon("BeefIcon", [ + ["circle", { cx: "12.5", cy: "8.5", r: "2.5", key: "9738u8" }], + [ + "path", + { + d: "M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z", + key: "o0f6za" + } + ], + [ + "path", + { + d: "m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5", + key: "k7p6i0" + } + ] +]); + +const BeerOff = createLucideIcon("BeerOffIcon", [ + ["path", { d: "M13 13v5", key: "igwfh0" }], + ["path", { d: "M17 11.47V8", key: "16yw0g" }], + ["path", { d: "M17 11h1a3 3 0 0 1 2.745 4.211", key: "1xbt65" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3", key: "c55o3e" }], + [ + "path", + { d: "M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268", key: "1ydug7" } + ], + [ + "path", + { + d: "M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12", + key: "q81o7q" + } + ], + ["path", { d: "M9 14.6V18", key: "20ek98" }] +]); + +const Beer = createLucideIcon("BeerIcon", [ + ["path", { d: "M17 11h1a3 3 0 0 1 0 6h-1", key: "1yp76v" }], + ["path", { d: "M9 12v6", key: "1u1cab" }], + ["path", { d: "M13 12v6", key: "1sugkk" }], + [ + "path", + { + d: "M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z", + key: "1510fo" + } + ], + ["path", { d: "M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8", key: "19jb7n" }] +]); + +const BellDot = createLucideIcon("BellDotIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + [ + "path", + { + d: "M13.916 2.314A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.74 7.327A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673 9 9 0 0 1-.585-.665", + key: "1tip0g" + } + ], + ["circle", { cx: "18", cy: "8", r: "3", key: "1g0gzu" }] +]); + +const BellElectric = createLucideIcon("BellElectricIcon", [ + ["path", { d: "M18.8 4A6.3 8.7 0 0 1 20 9", key: "xve1fh" }], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["circle", { cx: "9", cy: "9", r: "7", key: "p2h5vp" }], + ["rect", { width: "10", height: "6", x: "4", y: "16", rx: "2", key: "17f3te" }], + ["path", { d: "M14 19c3 0 4.6-1.6 4.6-1.6", key: "n7odp6" }], + ["circle", { cx: "20", cy: "16", r: "2", key: "1v9bxh" }] +]); + +const BellMinus = createLucideIcon("BellMinusIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + ["path", { d: "M15 8h6", key: "8ybuxh" }], + [ + "path", + { + d: "M16.243 3.757A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673A9.4 9.4 0 0 1 18.667 12", + key: "bdwj86" + } + ] +]); + +const BellOff = createLucideIcon("BellOffIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + [ + "path", + { + d: "M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742", + key: "178tsu" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05", key: "1hqiys" }] +]); + +const BellPlus = createLucideIcon("BellPlusIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + ["path", { d: "M15 8h6", key: "8ybuxh" }], + ["path", { d: "M18 5v6", key: "g5ayrv" }], + [ + "path", + { + d: "M20.002 14.464a9 9 0 0 0 .738.863A1 1 0 0 1 20 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 8.75-5.332", + key: "1abcvy" + } + ] +]); + +const BellRing = createLucideIcon("BellRingIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + ["path", { d: "M22 8c0-2.3-.8-4.3-2-6", key: "5bb3ad" }], + [ + "path", + { + d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326", + key: "11g9vi" + } + ], + ["path", { d: "M4 2C2.8 3.7 2 5.7 2 8", key: "tap9e0" }] +]); + +const Bell = createLucideIcon("BellIcon", [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + [ + "path", + { + d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326", + key: "11g9vi" + } + ] +]); + +const BetweenHorizontalEnd = createLucideIcon("BetweenHorizontalEndIcon", [ + ["rect", { width: "13", height: "7", x: "3", y: "3", rx: "1", key: "11xb64" }], + ["path", { d: "m22 15-3-3 3-3", key: "26chmm" }], + ["rect", { width: "13", height: "7", x: "3", y: "14", rx: "1", key: "k6ky7n" }] +]); + +const BetweenHorizontalStart = createLucideIcon("BetweenHorizontalStartIcon", [ + ["rect", { width: "13", height: "7", x: "8", y: "3", rx: "1", key: "pkso9a" }], + ["path", { d: "m2 9 3 3-3 3", key: "1agib5" }], + ["rect", { width: "13", height: "7", x: "8", y: "14", rx: "1", key: "1q5fc1" }] +]); + +const BetweenVerticalEnd = createLucideIcon("BetweenVerticalEndIcon", [ + ["rect", { width: "7", height: "13", x: "3", y: "3", rx: "1", key: "1fdu0f" }], + ["path", { d: "m9 22 3-3 3 3", key: "17z65a" }], + ["rect", { width: "7", height: "13", x: "14", y: "3", rx: "1", key: "1squn4" }] +]); + +const BetweenVerticalStart = createLucideIcon("BetweenVerticalStartIcon", [ + ["rect", { width: "7", height: "13", x: "3", y: "8", rx: "1", key: "1fjrkv" }], + ["path", { d: "m15 2-3 3-3-3", key: "1uh6eb" }], + ["rect", { width: "7", height: "13", x: "14", y: "8", rx: "1", key: "w3fjg8" }] +]); + +const BicepsFlexed = createLucideIcon("BicepsFlexedIcon", [ + [ + "path", + { + d: "M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1", + key: "1pmlyh" + } + ], + ["path", { d: "M15 14a5 5 0 0 0-7.584 2", key: "5rb254" }], + ["path", { d: "M9.964 6.825C8.019 7.977 9.5 13 8 15", key: "kbvsx9" }] +]); + +const Bike = createLucideIcon("BikeIcon", [ + ["circle", { cx: "18.5", cy: "17.5", r: "3.5", key: "15x4ox" }], + ["circle", { cx: "5.5", cy: "17.5", r: "3.5", key: "1noe27" }], + ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }], + ["path", { d: "M12 17.5V14l-3-3 4-3 2 3h2", key: "1npguv" }] +]); + +const Binary = createLucideIcon("BinaryIcon", [ + ["rect", { x: "14", y: "14", width: "4", height: "6", rx: "2", key: "p02svl" }], + ["rect", { x: "6", y: "4", width: "4", height: "6", rx: "2", key: "xm4xkj" }], + ["path", { d: "M6 20h4", key: "1i6q5t" }], + ["path", { d: "M14 10h4", key: "ru81e7" }], + ["path", { d: "M6 14h2v6", key: "16z9wg" }], + ["path", { d: "M14 4h2v6", key: "1idq9u" }] +]); + +const Binoculars = createLucideIcon("BinocularsIcon", [ + ["path", { d: "M10 10h4", key: "tcdvrf" }], + ["path", { d: "M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3", key: "3apit1" }], + [ + "path", + { + d: "M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z", + key: "rhpgnw" + } + ], + ["path", { d: "M 22 16 L 2 16", key: "14lkq7" }], + [ + "path", + { + d: "M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z", + key: "104b3k" + } + ], + ["path", { d: "M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3", key: "14fczp" }] +]); + +const Biohazard = createLucideIcon("BiohazardIcon", [ + ["circle", { cx: "12", cy: "11.9", r: "2", key: "e8h31w" }], + ["path", { d: "M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6", key: "17bolr" }], + ["path", { d: "m8.9 10.1 1.4.8", key: "15ezny" }], + ["path", { d: "M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5", key: "wtwa5u" }], + ["path", { d: "m15.1 10.1-1.4.8", key: "1r0b28" }], + ["path", { d: "M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2", key: "m7qszh" }], + ["path", { d: "M12 13.9v1.6", key: "zfyyim" }], + ["path", { d: "M13.5 5.4c-1-.2-2-.2-3 0", key: "1bi9q0" }], + ["path", { d: "M17 16.4c.7-.7 1.2-1.6 1.5-2.5", key: "1rhjqw" }], + ["path", { d: "M5.5 13.9c.3.9.8 1.8 1.5 2.5", key: "8gsud3" }] +]); + +const Bird = createLucideIcon("BirdIcon", [ + ["path", { d: "M16 7h.01", key: "1kdx03" }], + ["path", { d: "M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20", key: "oj1oa8" }], + ["path", { d: "m20 7 2 .5-2 .5", key: "12nv4d" }], + ["path", { d: "M10 18v3", key: "1yea0a" }], + ["path", { d: "M14 17.75V21", key: "1pymcb" }], + ["path", { d: "M7 18a6 6 0 0 0 3.84-10.61", key: "1npnn0" }] +]); + +const Bitcoin = createLucideIcon("BitcoinIcon", [ + [ + "path", + { + d: "M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727", + key: "yr8idg" + } + ] +]); + +const Blend = createLucideIcon("BlendIcon", [ + ["circle", { cx: "9", cy: "9", r: "7", key: "p2h5vp" }], + ["circle", { cx: "15", cy: "15", r: "7", key: "19ennj" }] +]); + +const Blinds = createLucideIcon("BlindsIcon", [ + ["path", { d: "M3 3h18", key: "o7r712" }], + ["path", { d: "M20 7H8", key: "gd2fo2" }], + ["path", { d: "M20 11H8", key: "1ynp89" }], + ["path", { d: "M10 19h10", key: "19hjk5" }], + ["path", { d: "M8 15h12", key: "1yqzne" }], + ["path", { d: "M4 3v14", key: "fggqzn" }], + ["circle", { cx: "4", cy: "19", r: "2", key: "p3m9r0" }] +]); + +const Blocks = createLucideIcon("BlocksIcon", [ + ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }], + [ + "path", + { + d: "M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3", + key: "1fpvtg" + } + ] +]); + +const BluetoothConnected = createLucideIcon("BluetoothConnectedIcon", [ + ["path", { d: "m7 7 10 10-5 5V2l5 5L7 17", key: "1q5490" }], + ["line", { x1: "18", x2: "21", y1: "12", y2: "12", key: "1rsjjs" }], + ["line", { x1: "3", x2: "6", y1: "12", y2: "12", key: "11yl8c" }] +]); + +const BluetoothOff = createLucideIcon("BluetoothOffIcon", [ + ["path", { d: "m17 17-5 5V12l-5 5", key: "v5aci6" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M14.5 9.5 17 7l-5-5v4.5", key: "1kddfz" }] +]); + +const BluetoothSearching = createLucideIcon("BluetoothSearchingIcon", [ + ["path", { d: "m7 7 10 10-5 5V2l5 5L7 17", key: "1q5490" }], + ["path", { d: "M20.83 14.83a4 4 0 0 0 0-5.66", key: "k8tn1j" }], + ["path", { d: "M18 12h.01", key: "yjnet6" }] +]); + +const Bluetooth = createLucideIcon("BluetoothIcon", [ + ["path", { d: "m7 7 10 10-5 5V2l5 5L7 17", key: "1q5490" }] +]); + +const Bold = createLucideIcon("BoldIcon", [ + [ + "path", + { d: "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8", key: "mg9rjx" } + ] +]); + +const Bolt = createLucideIcon("BoltIcon", [ + [ + "path", + { + d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z", + key: "yt0hxn" + } + ], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }] +]); + +const Bomb = createLucideIcon("BombIcon", [ + ["circle", { cx: "11", cy: "13", r: "9", key: "hd149" }], + [ + "path", + { + d: "M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95", + key: "jp4j1b" + } + ], + ["path", { d: "m22 2-1.5 1.5", key: "ay92ug" }] +]); + +const Bone = createLucideIcon("BoneIcon", [ + [ + "path", + { + d: "M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z", + key: "w610uw" + } + ] +]); + +const BookA = createLucideIcon("BookAIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "m8 13 4-7 4 7", key: "4rari8" }], + ["path", { d: "M9.1 11h5.7", key: "1gkovt" }] +]); + +const BookAudio = createLucideIcon("BookAudioIcon", [ + ["path", { d: "M12 6v7", key: "1f6ttz" }], + ["path", { d: "M16 8v3", key: "gejaml" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "M8 8v3", key: "1qzp49" }] +]); + +const BookCheck = createLucideIcon("BookCheckIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "m9 9.5 2 2 4-4", key: "1dth82" }] +]); + +const BookCopy = createLucideIcon("BookCopyIcon", [ + ["path", { d: "M2 16V4a2 2 0 0 1 2-2h11", key: "spzkk5" }], + [ + "path", + { + d: "M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12", + key: "1wz07i" + } + ], + ["path", { d: "M5 14H4a2 2 0 1 0 0 4h1", key: "16gqf9" }] +]); + +const BookDashed = createLucideIcon("BookDashedIcon", [ + ["path", { d: "M12 17h1.5", key: "1gkc67" }], + ["path", { d: "M12 22h1.5", key: "1my7sn" }], + ["path", { d: "M12 2h1.5", key: "19tvb7" }], + ["path", { d: "M17.5 22H19a1 1 0 0 0 1-1", key: "10akbh" }], + ["path", { d: "M17.5 2H19a1 1 0 0 1 1 1v1.5", key: "1vrfjs" }], + ["path", { d: "M20 14v3h-2.5", key: "1naeju" }], + ["path", { d: "M20 8.5V10", key: "1ctpfu" }], + ["path", { d: "M4 10V8.5", key: "1o3zg5" }], + ["path", { d: "M4 19.5V14", key: "ob81pf" }], + ["path", { d: "M4 4.5A2.5 2.5 0 0 1 6.5 2H8", key: "s8vcyb" }], + ["path", { d: "M8 22H6.5a1 1 0 0 1 0-5H8", key: "1cu73q" }] +]); + +const BookDown = createLucideIcon("BookDownIcon", [ + ["path", { d: "M12 13V7", key: "h0r20n" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "m9 10 3 3 3-3", key: "zt5b4y" }] +]); + +const BookHeadphones = createLucideIcon("BookHeadphonesIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "M8 12v-2a4 4 0 0 1 8 0v2", key: "1vsqkj" }], + ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }], + ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }] +]); + +const BookHeart = createLucideIcon("BookHeartIcon", [ + [ + "path", + { + d: "M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7", + key: "1t75a8" + } + ], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ] +]); + +const BookImage = createLucideIcon("BookImageIcon", [ + ["path", { d: "m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17", key: "q6ojf0" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["circle", { cx: "10", cy: "8", r: "2", key: "2qkj4p" }] +]); + +const BookKey = createLucideIcon("BookKeyIcon", [ + ["path", { d: "m19 3 1 1", key: "ze14oc" }], + ["path", { d: "m20 2-4.5 4.5", key: "1sppr8" }], + ["path", { d: "M20 8v13a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", key: "1ocbpn" }], + ["path", { d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14", key: "1gfsgw" }], + ["circle", { cx: "14", cy: "8", r: "2", key: "u49eql" }] +]); + +const BookLock = createLucideIcon("BookLockIcon", [ + ["path", { d: "M18 6V4a2 2 0 1 0-4 0v2", key: "1aquzs" }], + ["path", { d: "M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", key: "1rkj32" }], + ["path", { d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10", key: "18wgow" }], + ["rect", { x: "12", y: "6", width: "8", height: "5", rx: "1", key: "73l30o" }] +]); + +const BookMarked = createLucideIcon("BookMarkedIcon", [ + ["path", { d: "M10 2v8l3-3 3 3V2", key: "sqw3rj" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ] +]); + +const BookMinus = createLucideIcon("BookMinusIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const BookOpenCheck = createLucideIcon("BookOpenCheckIcon", [ + ["path", { d: "M12 21V7", key: "gj6g52" }], + ["path", { d: "m16 12 2 2 4-4", key: "mdajum" }], + [ + "path", + { + d: "M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3", + key: "8arnkb" + } + ] +]); + +const BookOpenText = createLucideIcon("BookOpenTextIcon", [ + ["path", { d: "M12 7v14", key: "1akyts" }], + ["path", { d: "M16 12h2", key: "7q9ll5" }], + ["path", { d: "M16 8h2", key: "msurwy" }], + [ + "path", + { + d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z", + key: "ruj8y" + } + ], + ["path", { d: "M6 12h2", key: "32wvfc" }], + ["path", { d: "M6 8h2", key: "30oboj" }] +]); + +const BookOpen = createLucideIcon("BookOpenIcon", [ + ["path", { d: "M12 7v14", key: "1akyts" }], + [ + "path", + { + d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z", + key: "ruj8y" + } + ] +]); + +const BookPlus = createLucideIcon("BookPlusIcon", [ + ["path", { d: "M12 7v6", key: "lw1j43" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const BookText = createLucideIcon("BookTextIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "M8 11h8", key: "vwpz6n" }], + ["path", { d: "M8 7h6", key: "1f0q6e" }] +]); + +const BookType = createLucideIcon("BookTypeIcon", [ + ["path", { d: "M10 13h4", key: "ytezjc" }], + ["path", { d: "M12 6v7", key: "1f6ttz" }], + ["path", { d: "M16 8V6H8v2", key: "x8j6u4" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ] +]); + +const BookUp2 = createLucideIcon("BookUp2Icon", [ + ["path", { d: "M12 13V7", key: "h0r20n" }], + ["path", { d: "M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", key: "161d7n" }], + ["path", { d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2", key: "1lorq7" }], + ["path", { d: "m9 10 3-3 3 3", key: "11gsxs" }], + ["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }] +]); + +const BookUp = createLucideIcon("BookUpIcon", [ + ["path", { d: "M12 13V7", key: "h0r20n" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "m9 10 3-3 3 3", key: "11gsxs" }] +]); + +const BookUser = createLucideIcon("BookUserIcon", [ + ["path", { d: "M15 13a3 3 0 1 0-6 0", key: "10j68g" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["circle", { cx: "12", cy: "8", r: "2", key: "1822b1" }] +]); + +const BookX = createLucideIcon("BookXIcon", [ + ["path", { d: "m14.5 7-5 5", key: "dy991v" }], + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ], + ["path", { d: "m9.5 7 5 5", key: "s45iea" }] +]); + +const Book = createLucideIcon("BookIcon", [ + [ + "path", + { + d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20", + key: "k3hazp" + } + ] +]); + +const BookmarkCheck = createLucideIcon("BookmarkCheckIcon", [ + ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z", key: "169p4p" }], + ["path", { d: "m9 10 2 2 4-4", key: "1gnqz4" }] +]); + +const BookmarkMinus = createLucideIcon("BookmarkMinusIcon", [ + ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z", key: "1fy3hk" }], + ["line", { x1: "15", x2: "9", y1: "10", y2: "10", key: "1gty7f" }] +]); + +const BookmarkPlus = createLucideIcon("BookmarkPlusIcon", [ + ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z", key: "1fy3hk" }], + ["line", { x1: "12", x2: "12", y1: "7", y2: "13", key: "1cppfj" }], + ["line", { x1: "15", x2: "9", y1: "10", y2: "10", key: "1gty7f" }] +]); + +const BookmarkX = createLucideIcon("BookmarkXIcon", [ + ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z", key: "169p4p" }], + ["path", { d: "m14.5 7.5-5 5", key: "3lb6iw" }], + ["path", { d: "m9.5 7.5 5 5", key: "ko136h" }] +]); + +const Bookmark = createLucideIcon("BookmarkIcon", [ + ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z", key: "1fy3hk" }] +]); + +const BoomBox = createLucideIcon("BoomBoxIcon", [ + ["path", { d: "M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4", key: "vvzvr1" }], + ["path", { d: "M8 8v1", key: "xcqmfk" }], + ["path", { d: "M12 8v1", key: "1rj8u4" }], + ["path", { d: "M16 8v1", key: "1q12zr" }], + ["rect", { width: "20", height: "12", x: "2", y: "9", rx: "2", key: "igpb89" }], + ["circle", { cx: "8", cy: "15", r: "2", key: "fa4a8s" }], + ["circle", { cx: "16", cy: "15", r: "2", key: "14c3ya" }] +]); + +const BotMessageSquare = createLucideIcon("BotMessageSquareIcon", [ + ["path", { d: "M12 6V2H8", key: "1155em" }], + ["path", { d: "m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z", key: "w2lp3e" }], + ["path", { d: "M2 12h2", key: "1t8f8n" }], + ["path", { d: "M9 11v2", key: "1ueba0" }], + ["path", { d: "M15 11v2", key: "i11awn" }], + ["path", { d: "M20 12h2", key: "1q8mjw" }] +]); + +const BotOff = createLucideIcon("BotOffIcon", [ + ["path", { d: "M13.67 8H18a2 2 0 0 1 2 2v4.33", key: "7az073" }], + ["path", { d: "M2 14h2", key: "vft8re" }], + ["path", { d: "M20 14h2", key: "4cs60a" }], + ["path", { d: "M22 22 2 2", key: "1r8tn9" }], + ["path", { d: "M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586", key: "s09a7a" }], + ["path", { d: "M9 13v2", key: "rq6x2g" }], + ["path", { d: "M9.67 4H12v2.33", key: "110xot" }] +]); + +const Bot = createLucideIcon("BotIcon", [ + ["path", { d: "M12 8V4H8", key: "hb8ula" }], + ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }], + ["path", { d: "M2 14h2", key: "vft8re" }], + ["path", { d: "M20 14h2", key: "4cs60a" }], + ["path", { d: "M15 13v2", key: "1xurst" }], + ["path", { d: "M9 13v2", key: "rq6x2g" }] +]); + +const Box = createLucideIcon("BoxIcon", [ + [ + "path", + { + d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z", + key: "hh9hay" + } + ], + ["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }], + ["path", { d: "M12 22V12", key: "d0xqtd" }] +]); + +const Boxes = createLucideIcon("BoxesIcon", [ + [ + "path", + { + d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z", + key: "lc1i9w" + } + ], + ["path", { d: "m7 16.5-4.74-2.85", key: "1o9zyk" }], + ["path", { d: "m7 16.5 5-3", key: "va8pkn" }], + ["path", { d: "M7 16.5v5.17", key: "jnp8gn" }], + [ + "path", + { + d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z", + key: "8zsnat" + } + ], + ["path", { d: "m17 16.5-5-3", key: "8arw3v" }], + ["path", { d: "m17 16.5 4.74-2.85", key: "8rfmw" }], + ["path", { d: "M17 16.5v5.17", key: "k6z78m" }], + [ + "path", + { + d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z", + key: "1xygjf" + } + ], + ["path", { d: "M12 8 7.26 5.15", key: "1vbdud" }], + ["path", { d: "m12 8 4.74-2.85", key: "3rx089" }], + ["path", { d: "M12 13.5V8", key: "1io7kd" }] +]); + +const Braces = createLucideIcon("BracesIcon", [ + [ + "path", + { d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1", key: "ezmyqa" } + ], + [ + "path", + { + d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1", + key: "e1hn23" + } + ] +]); + +const Brackets = createLucideIcon("BracketsIcon", [ + ["path", { d: "M16 3h3v18h-3", key: "1yor1f" }], + ["path", { d: "M8 21H5V3h3", key: "1qrfwo" }] +]); + +const BrainCircuit = createLucideIcon("BrainCircuitIcon", [ + [ + "path", + { + d: "M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z", + key: "l5xja" + } + ], + ["path", { d: "M9 13a4.5 4.5 0 0 0 3-4", key: "10igwf" }], + ["path", { d: "M6.003 5.125A3 3 0 0 0 6.401 6.5", key: "105sqy" }], + ["path", { d: "M3.477 10.896a4 4 0 0 1 .585-.396", key: "ql3yin" }], + ["path", { d: "M6 18a4 4 0 0 1-1.967-.516", key: "2e4loj" }], + ["path", { d: "M12 13h4", key: "1ku699" }], + ["path", { d: "M12 18h6a2 2 0 0 1 2 2v1", key: "105ag5" }], + ["path", { d: "M12 8h8", key: "1lhi5i" }], + ["path", { d: "M16 8V5a2 2 0 0 1 2-2", key: "u6izg6" }], + ["circle", { cx: "16", cy: "13", r: ".5", key: "ry7gng" }], + ["circle", { cx: "18", cy: "3", r: ".5", key: "1aiba7" }], + ["circle", { cx: "20", cy: "21", r: ".5", key: "yhc1fs" }], + ["circle", { cx: "20", cy: "8", r: ".5", key: "1e43v0" }] +]); + +const BrainCog = createLucideIcon("BrainCogIcon", [ + [ + "path", + { + d: "M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5", + key: "1kgmhc" + } + ], + ["path", { d: "M17.599 6.5a3 3 0 0 0 .399-1.375", key: "tmeiqw" }], + ["path", { d: "M6.003 5.125A3 3 0 0 0 6.401 6.5", key: "105sqy" }], + ["path", { d: "M3.477 10.896a4 4 0 0 1 .585-.396", key: "ql3yin" }], + ["path", { d: "M19.938 10.5a4 4 0 0 1 .585.396", key: "1qfode" }], + ["path", { d: "M6 18a4 4 0 0 1-1.967-.516", key: "2e4loj" }], + ["path", { d: "M19.967 17.484A4 4 0 0 1 18 18", key: "159ez6" }], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["path", { d: "m15.7 10.4-.9.4", key: "ayzo6p" }], + ["path", { d: "m9.2 13.2-.9.4", key: "1uzb3g" }], + ["path", { d: "m13.6 15.7-.4-.9", key: "11ifqf" }], + ["path", { d: "m10.8 9.2-.4-.9", key: "1pmk2v" }], + ["path", { d: "m15.7 13.5-.9-.4", key: "7ng02m" }], + ["path", { d: "m9.2 10.9-.9-.4", key: "1x66zd" }], + ["path", { d: "m10.5 15.7.4-.9", key: "3js94g" }], + ["path", { d: "m13.1 9.2.4-.9", key: "18n7mc" }] +]); + +const Brain = createLucideIcon("BrainIcon", [ + [ + "path", + { + d: "M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z", + key: "l5xja" + } + ], + [ + "path", + { + d: "M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z", + key: "ep3f8r" + } + ], + ["path", { d: "M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4", key: "1p4c4q" }], + ["path", { d: "M17.599 6.5a3 3 0 0 0 .399-1.375", key: "tmeiqw" }], + ["path", { d: "M6.003 5.125A3 3 0 0 0 6.401 6.5", key: "105sqy" }], + ["path", { d: "M3.477 10.896a4 4 0 0 1 .585-.396", key: "ql3yin" }], + ["path", { d: "M19.938 10.5a4 4 0 0 1 .585.396", key: "1qfode" }], + ["path", { d: "M6 18a4 4 0 0 1-1.967-.516", key: "2e4loj" }], + ["path", { d: "M19.967 17.484A4 4 0 0 1 18 18", key: "159ez6" }] +]); + +const BrickWall = createLucideIcon("BrickWallIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M12 9v6", key: "199k2o" }], + ["path", { d: "M16 15v6", key: "8rj2es" }], + ["path", { d: "M16 3v6", key: "1j6rpj" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "M8 15v6", key: "1stoo3" }], + ["path", { d: "M8 3v6", key: "vlvjmk" }] +]); + +const BriefcaseBusiness = createLucideIcon("BriefcaseBusinessIcon", [ + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2", key: "1ksdt3" }], + ["path", { d: "M22 13a18.15 18.15 0 0 1-20 0", key: "12hx5q" }], + ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }] +]); + +const BriefcaseConveyorBelt = createLucideIcon("BriefcaseConveyorBeltIcon", [ + ["path", { d: "M10 20v2", key: "1n8e1g" }], + ["path", { d: "M14 20v2", key: "1lq872" }], + ["path", { d: "M18 20v2", key: "10uadw" }], + ["path", { d: "M21 20H3", key: "kdqkdp" }], + ["path", { d: "M6 20v2", key: "a9bc87" }], + ["path", { d: "M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12", key: "17n9tx" }], + ["rect", { x: "4", y: "6", width: "16", height: "10", rx: "2", key: "1097i5" }] +]); + +const BriefcaseMedical = createLucideIcon("BriefcaseMedicalIcon", [ + ["path", { d: "M12 11v4", key: "a6ujw6" }], + ["path", { d: "M14 13h-4", key: "1pl8zg" }], + ["path", { d: "M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2", key: "1ksdt3" }], + ["path", { d: "M18 6v14", key: "1mu4gy" }], + ["path", { d: "M6 6v14", key: "1s15cj" }], + ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }] +]); + +const Briefcase = createLucideIcon("BriefcaseIcon", [ + ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }], + ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }] +]); + +const BringToFront = createLucideIcon("BringToFrontIcon", [ + ["rect", { x: "8", y: "8", width: "8", height: "8", rx: "2", key: "yj20xf" }], + ["path", { d: "M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2", key: "1ltk23" }], + ["path", { d: "M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2", key: "1q24h9" }] +]); + +const Brush = createLucideIcon("BrushIcon", [ + ["path", { d: "m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08", key: "1styjt" }], + [ + "path", + { + d: "M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z", + key: "z0l1mu" + } + ] +]); + +const BugOff = createLucideIcon("BugOffIcon", [ + ["path", { d: "M15 7.13V6a3 3 0 0 0-5.14-2.1L8 2", key: "vl8zik" }], + ["path", { d: "M14.12 3.88 16 2", key: "qol33r" }], + ["path", { d: "M22 13h-4v-2a4 4 0 0 0-4-4h-1.3", key: "1ou0bd" }], + ["path", { d: "M20.97 5c0 2.1-1.6 3.8-3.5 4", key: "18gb23" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M7.7 7.7A4 4 0 0 0 6 11v3a6 6 0 0 0 11.13 3.13", key: "1njkjs" }], + ["path", { d: "M12 20v-8", key: "i3yub9" }], + ["path", { d: "M6 13H2", key: "82j7cp" }], + ["path", { d: "M3 21c0-2.1 1.7-3.9 3.8-4", key: "4p0ekp" }] +]); + +const BugPlay = createLucideIcon("BugPlayIcon", [ + [ + "path", + { + d: "M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z", + key: "17shqo" + } + ], + ["path", { d: "M14.12 3.88 16 2", key: "qol33r" }], + ["path", { d: "M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5", key: "1tjixy" }], + ["path", { d: "M20.97 5c0 2.1-1.6 3.8-3.5 4", key: "18gb23" }], + ["path", { d: "M3 21c0-2.1 1.7-3.9 3.8-4", key: "4p0ekp" }], + ["path", { d: "M6 13H2", key: "82j7cp" }], + ["path", { d: "M6.53 9C4.6 8.8 3 7.1 3 5", key: "32zzws" }], + ["path", { d: "m8 2 1.88 1.88", key: "fmnt4t" }], + ["path", { d: "M9 7.13v-1a3.003 3.003 0 1 1 6 0v1", key: "d7y7pr" }] +]); + +const Bug = createLucideIcon("BugIcon", [ + ["path", { d: "m8 2 1.88 1.88", key: "fmnt4t" }], + ["path", { d: "M14.12 3.88 16 2", key: "qol33r" }], + ["path", { d: "M9 7.13v-1a3.003 3.003 0 1 1 6 0v1", key: "d7y7pr" }], + [ + "path", + { + d: "M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6", + key: "xs1cw7" + } + ], + ["path", { d: "M12 20v-9", key: "1qisl0" }], + ["path", { d: "M6.53 9C4.6 8.8 3 7.1 3 5", key: "32zzws" }], + ["path", { d: "M6 13H2", key: "82j7cp" }], + ["path", { d: "M3 21c0-2.1 1.7-3.9 3.8-4", key: "4p0ekp" }], + ["path", { d: "M20.97 5c0 2.1-1.6 3.8-3.5 4", key: "18gb23" }], + ["path", { d: "M22 13h-4", key: "1jl80f" }], + ["path", { d: "M17.2 17c2.1.1 3.8 1.9 3.8 4", key: "k3fwyw" }] +]); + +const Building2 = createLucideIcon("Building2Icon", [ + ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }], + ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }], + ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }], + ["path", { d: "M10 6h4", key: "1itunk" }], + ["path", { d: "M10 10h4", key: "tcdvrf" }], + ["path", { d: "M10 14h4", key: "kelpxr" }], + ["path", { d: "M10 18h4", key: "1ulq68" }] +]); + +const Building = createLucideIcon("BuildingIcon", [ + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }], + ["path", { d: "M9 22v-4h6v4", key: "r93iot" }], + ["path", { d: "M8 6h.01", key: "1dz90k" }], + ["path", { d: "M16 6h.01", key: "1x0f13" }], + ["path", { d: "M12 6h.01", key: "1vi96p" }], + ["path", { d: "M12 10h.01", key: "1nrarc" }], + ["path", { d: "M12 14h.01", key: "1etili" }], + ["path", { d: "M16 10h.01", key: "1m94wz" }], + ["path", { d: "M16 14h.01", key: "1gbofw" }], + ["path", { d: "M8 10h.01", key: "19clt8" }], + ["path", { d: "M8 14h.01", key: "6423bh" }] +]); + +const BusFront = createLucideIcon("BusFrontIcon", [ + ["path", { d: "M4 6 2 7", key: "1mqr15" }], + ["path", { d: "M10 6h4", key: "1itunk" }], + ["path", { d: "m22 7-2-1", key: "1umjhc" }], + ["rect", { width: "16", height: "16", x: "4", y: "3", rx: "2", key: "1wxw4b" }], + ["path", { d: "M4 11h16", key: "mpoxn0" }], + ["path", { d: "M8 15h.01", key: "a7atzg" }], + ["path", { d: "M16 15h.01", key: "rnfrdf" }], + ["path", { d: "M6 19v2", key: "1loha6" }], + ["path", { d: "M18 21v-2", key: "sqyl04" }] +]); + +const Bus = createLucideIcon("BusIcon", [ + ["path", { d: "M8 6v6", key: "18i7km" }], + ["path", { d: "M15 6v6", key: "1sg6z9" }], + ["path", { d: "M2 12h19.6", key: "de5uta" }], + [ + "path", + { + d: "M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3", + key: "1wwztk" + } + ], + ["circle", { cx: "7", cy: "18", r: "2", key: "19iecd" }], + ["path", { d: "M9 18h5", key: "lrx6i" }], + ["circle", { cx: "16", cy: "18", r: "2", key: "1v4tcr" }] +]); + +const CableCar = createLucideIcon("CableCarIcon", [ + ["path", { d: "M10 3h.01", key: "lbucoy" }], + ["path", { d: "M14 2h.01", key: "1k8aa1" }], + ["path", { d: "m2 9 20-5", key: "1kz0j5" }], + ["path", { d: "M12 12V6.5", key: "1vbrij" }], + ["rect", { width: "16", height: "10", x: "4", y: "12", rx: "3", key: "if91er" }], + ["path", { d: "M9 12v5", key: "3anwtq" }], + ["path", { d: "M15 12v5", key: "5xh3zn" }], + ["path", { d: "M4 17h16", key: "g4d7ey" }] +]); + +const Cable = createLucideIcon("CableIcon", [ + [ + "path", + { + d: "M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1", + key: "10bnsj" + } + ], + ["path", { d: "M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9", key: "1eqmu1" }], + ["path", { d: "M21 21v-2h-4", key: "14zm7j" }], + ["path", { d: "M3 5h4V3", key: "z442eg" }], + [ + "path", + { d: "M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3", key: "ebdjd7" } + ] +]); + +const CakeSlice = createLucideIcon("CakeSliceIcon", [ + ["circle", { cx: "9", cy: "7", r: "2", key: "1305pl" }], + [ + "path", + { d: "M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6", key: "xle13f" } + ], + ["path", { d: "M16 13H3", key: "1wpj08" }], + ["path", { d: "M16 17H3", key: "3lvfcd" }] +]); + +const Cake = createLucideIcon("CakeIcon", [ + ["path", { d: "M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8", key: "1w3rig" }], + ["path", { d: "M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1", key: "n2jgmb" }], + ["path", { d: "M2 21h20", key: "1nyx9w" }], + ["path", { d: "M7 8v3", key: "1qtyvj" }], + ["path", { d: "M12 8v3", key: "hwp4zt" }], + ["path", { d: "M17 8v3", key: "1i6e5u" }], + ["path", { d: "M7 4h.01", key: "1bh4kh" }], + ["path", { d: "M12 4h.01", key: "1ujb9j" }], + ["path", { d: "M17 4h.01", key: "1upcoc" }] +]); + +const Calculator = createLucideIcon("CalculatorIcon", [ + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], + ["line", { x1: "8", x2: "16", y1: "6", y2: "6", key: "x4nwl0" }], + ["line", { x1: "16", x2: "16", y1: "14", y2: "18", key: "wjye3r" }], + ["path", { d: "M16 10h.01", key: "1m94wz" }], + ["path", { d: "M12 10h.01", key: "1nrarc" }], + ["path", { d: "M8 10h.01", key: "19clt8" }], + ["path", { d: "M12 14h.01", key: "1etili" }], + ["path", { d: "M8 14h.01", key: "6423bh" }], + ["path", { d: "M12 18h.01", key: "mhygvu" }], + ["path", { d: "M8 18h.01", key: "lrp35t" }] +]); + +const Calendar1 = createLucideIcon("Calendar1Icon", [ + ["path", { d: "M11 14h1v4", key: "fy54vd" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", key: "12vinp" }] +]); + +const CalendarArrowDown = createLucideIcon("CalendarArrowDownIcon", [ + ["path", { d: "m14 18 4 4 4-4", key: "1waygx" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M18 14v8", key: "irew45" }], + [ + "path", + { d: "M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343", key: "bse4f3" } + ], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }] +]); + +const CalendarArrowUp = createLucideIcon("CalendarArrowUpIcon", [ + ["path", { d: "m14 18 4-4 4 4", key: "ftkppy" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M18 22v-8", key: "su0gjh" }], + ["path", { d: "M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9", key: "1exg90" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }] +]); + +const CalendarCheck2 = createLucideIcon("CalendarCheck2Icon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8", key: "bce9hv" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "m16 20 2 2 4-4", key: "13tcca" }] +]); + +const CalendarCheck = createLucideIcon("CalendarCheckIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "m9 16 2 2 4-4", key: "19s6y9" }] +]); + +const CalendarClock = createLucideIcon("CalendarClockIcon", [ + ["path", { d: "M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5", key: "1osxxc" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M3 10h5", key: "r794hk" }], + ["path", { d: "M17.5 17.5 16 16.3V14", key: "akvzfd" }], + ["circle", { cx: "16", cy: "16", r: "6", key: "qoo3c4" }] +]); + +const CalendarCog = createLucideIcon("CalendarCogIcon", [ + ["path", { d: "m15.2 16.9-.9-.4", key: "1r0w5f" }], + ["path", { d: "m15.2 19.1-.9.4", key: "j188fs" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "m16.9 15.2-.4-.9", key: "699xu" }], + ["path", { d: "m16.9 20.8-.4.9", key: "dfjc4z" }], + ["path", { d: "m19.5 14.3-.4.9", key: "1eb35c" }], + ["path", { d: "m19.5 21.7-.4-.9", key: "1tonu5" }], + ["path", { d: "M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6", key: "11kmuh" }], + ["path", { d: "m21.7 16.5-.9.4", key: "1knoei" }], + ["path", { d: "m21.7 19.5-.9-.4", key: "q4dx6b" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }] +]); + +const CalendarDays = createLucideIcon("CalendarDaysIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 14h.01", key: "6423bh" }], + ["path", { d: "M12 14h.01", key: "1etili" }], + ["path", { d: "M16 14h.01", key: "1gbofw" }], + ["path", { d: "M8 18h.01", key: "lrp35t" }], + ["path", { d: "M12 18h.01", key: "mhygvu" }], + ["path", { d: "M16 18h.01", key: "kzsmim" }] +]); + +const CalendarFold = createLucideIcon("CalendarFoldIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z", key: "kg77oy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M15 22v-4a2 2 0 0 1 2-2h4", key: "1gnbqr" }] +]); + +const CalendarHeart = createLucideIcon("CalendarHeartIcon", [ + ["path", { d: "M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7", key: "136lmk" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + [ + "path", + { + d: "M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z", + key: "1t7hil" + } + ] +]); + +const CalendarMinus2 = createLucideIcon("CalendarMinus2Icon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M10 16h4", key: "17e571" }] +]); + +const CalendarMinus = createLucideIcon("CalendarMinusIcon", [ + ["path", { d: "M16 19h6", key: "xwg31i" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5", key: "1scpom" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }] +]); + +const CalendarOff = createLucideIcon("CalendarOffIcon", [ + ["path", { d: "M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18", key: "16swn3" }], + ["path", { d: "M21 15.5V6a2 2 0 0 0-2-2H9.5", key: "yhw86o" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M3 10h7", key: "1wap6i" }], + ["path", { d: "M21 10h-5.5", key: "quycpq" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const CalendarPlus2 = createLucideIcon("CalendarPlus2Icon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M10 16h4", key: "17e571" }], + ["path", { d: "M12 14v4", key: "1thi36" }] +]); + +const CalendarPlus = createLucideIcon("CalendarPlusIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8", key: "3spt84" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M16 19h6", key: "xwg31i" }], + ["path", { d: "M19 16v6", key: "tddt3s" }] +]); + +const CalendarRange = createLucideIcon("CalendarRangeIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M17 14h-6", key: "bkmgh3" }], + ["path", { d: "M13 18H7", key: "bb0bb7" }], + ["path", { d: "M7 14h.01", key: "1qa3f1" }], + ["path", { d: "M17 18h.01", key: "1bdyru" }] +]); + +const CalendarSearch = createLucideIcon("CalendarSearchIcon", [ + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25", key: "1jrsq6" }], + ["path", { d: "m22 22-1.875-1.875", key: "13zax7" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }] +]); + +const CalendarSync = createLucideIcon("CalendarSyncIcon", [ + ["path", { d: "M11 10v4h4", key: "172dkj" }], + ["path", { d: "m11 14 1.535-1.605a5 5 0 0 1 8 1.5", key: "vu0qm5" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "m21 18-1.535 1.605a5 5 0 0 1-8-1.5", key: "1qgeyt" }], + ["path", { d: "M21 22v-4h-4", key: "hrummi" }], + ["path", { d: "M21 8.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4.3", key: "mctw84" }], + ["path", { d: "M3 10h4", key: "1el30a" }], + ["path", { d: "M8 2v4", key: "1cmpym" }] +]); + +const CalendarX2 = createLucideIcon("CalendarX2Icon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8", key: "3spt84" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "m17 22 5-5", key: "1k6ppv" }], + ["path", { d: "m17 17 5 5", key: "p7ous7" }] +]); + +const CalendarX = createLucideIcon("CalendarXIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }], + ["path", { d: "m14 14-4 4", key: "rymu2i" }], + ["path", { d: "m10 14 4 4", key: "3sz06r" }] +]); + +const Calendar = createLucideIcon("CalendarIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }], + ["path", { d: "M3 10h18", key: "8toen8" }] +]); + +const CameraOff = createLucideIcon("CameraOffIcon", [ + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }], + ["path", { d: "M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16", key: "qmtpty" }], + ["path", { d: "M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5", key: "1ufyfc" }], + ["path", { d: "M14.121 15.121A3 3 0 1 1 9.88 10.88", key: "11zox6" }] +]); + +const Camera = createLucideIcon("CameraIcon", [ + [ + "path", + { + d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z", + key: "1tc9qg" + } + ], + ["circle", { cx: "12", cy: "13", r: "3", key: "1vg3eu" }] +]); + +const CandyCane = createLucideIcon("CandyCaneIcon", [ + [ + "path", + { + d: "M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z", + key: "isaq8g" + } + ], + ["path", { d: "M17.75 7 15 2.1", key: "12x7e8" }], + ["path", { d: "M10.9 4.8 13 9", key: "100a87" }], + ["path", { d: "m7.9 9.7 2 4.4", key: "ntfhaj" }], + ["path", { d: "M4.9 14.7 7 18.9", key: "1x43jy" }] +]); + +const CandyOff = createLucideIcon("CandyOffIcon", [ + ["path", { d: "m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1", key: "1ff4ui" }], + [ + "path", + { d: "M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657", key: "1sbrv4" } + ], + ["path", { d: "M14 16.5V14", key: "1maf8j" }], + ["path", { d: "M14 6.5v1.843", key: "1a6u6t" }], + ["path", { d: "M10 10v7.5", key: "80pj65" }], + [ + "path", + { + d: "m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1", + key: "11a9mt" + } + ], + [ + "path", + { + d: "m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1", + key: "3mjmon" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Candy = createLucideIcon("CandyIcon", [ + ["path", { d: "m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z", key: "ue6khb" }], + ["path", { d: "M14 6.5v10", key: "5xnk7c" }], + ["path", { d: "M10 7.5v10", key: "1uew51" }], + [ + "path", + { d: "m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1", key: "b9cp6k" } + ], + [ + "path", + { d: "m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1", key: "5lney8" } + ] +]); + +const Cannabis = createLucideIcon("CannabisIcon", [ + ["path", { d: "M12 22v-4", key: "1utk9m" }], + [ + "path", + { + d: "M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6", + key: "1mezod" + } + ] +]); + +const CaptionsOff = createLucideIcon("CaptionsOffIcon", [ + ["path", { d: "M10.5 5H19a2 2 0 0 1 2 2v8.5", key: "jqtk4d" }], + ["path", { d: "M17 11h-.5", key: "1961ue" }], + ["path", { d: "M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2", key: "1keqsi" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M7 11h4", key: "1o1z6v" }], + ["path", { d: "M7 15h2.5", key: "1ina1g" }] +]); + +const Captions = createLucideIcon("CaptionsIcon", [ + ["rect", { width: "18", height: "14", x: "3", y: "5", rx: "2", ry: "2", key: "12ruh7" }], + ["path", { d: "M7 15h4M15 15h2M7 11h2M13 11h4", key: "1ueiar" }] +]); + +const CarFront = createLucideIcon("CarFrontIcon", [ + [ + "path", + { d: "m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8", key: "1imjwt" } + ], + ["path", { d: "M7 14h.01", key: "1qa3f1" }], + ["path", { d: "M17 14h.01", key: "7oqj8z" }], + ["rect", { width: "18", height: "8", x: "3", y: "10", rx: "2", key: "a7itu8" }], + ["path", { d: "M5 18v2", key: "ppbyun" }], + ["path", { d: "M19 18v2", key: "gy7782" }] +]); + +const CarTaxiFront = createLucideIcon("CarTaxiFrontIcon", [ + ["path", { d: "M10 2h4", key: "n1abiw" }], + [ + "path", + { d: "m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8", key: "1imjwt" } + ], + ["path", { d: "M7 14h.01", key: "1qa3f1" }], + ["path", { d: "M17 14h.01", key: "7oqj8z" }], + ["rect", { width: "18", height: "8", x: "3", y: "10", rx: "2", key: "a7itu8" }], + ["path", { d: "M5 18v2", key: "ppbyun" }], + ["path", { d: "M19 18v2", key: "gy7782" }] +]); + +const Car = createLucideIcon("CarIcon", [ + [ + "path", + { + d: "M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2", + key: "5owen" + } + ], + ["circle", { cx: "7", cy: "17", r: "2", key: "u2ysq9" }], + ["path", { d: "M9 17h6", key: "r8uit2" }], + ["circle", { cx: "17", cy: "17", r: "2", key: "axvx0g" }] +]); + +const Caravan = createLucideIcon("CaravanIcon", [ + ["path", { d: "M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2", key: "19jm3t" }], + ["path", { d: "M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2", key: "13hakp" }], + ["path", { d: "M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9", key: "1crci8" }], + ["circle", { cx: "8", cy: "19", r: "2", key: "t8fc5s" }] +]); + +const Carrot = createLucideIcon("CarrotIcon", [ + [ + "path", + { + d: "M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46", + key: "rfqxbe" + } + ], + ["path", { d: "M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z", key: "6b25w4" }], + ["path", { d: "M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z", key: "fn65lo" }] +]); + +const CaseLower = createLucideIcon("CaseLowerIcon", [ + ["circle", { cx: "7", cy: "12", r: "3", key: "12clwm" }], + ["path", { d: "M10 9v6", key: "17i7lo" }], + ["circle", { cx: "17", cy: "12", r: "3", key: "gl7c2s" }], + ["path", { d: "M14 7v8", key: "dl84cr" }] +]); + +const CaseSensitive = createLucideIcon("CaseSensitiveIcon", [ + ["path", { d: "m3 15 4-8 4 8", key: "1vwr6u" }], + ["path", { d: "M4 13h6", key: "1r9ots" }], + ["circle", { cx: "18", cy: "12", r: "3", key: "1kchzo" }], + ["path", { d: "M21 9v6", key: "anns31" }] +]); + +const CaseUpper = createLucideIcon("CaseUpperIcon", [ + ["path", { d: "m3 15 4-8 4 8", key: "1vwr6u" }], + ["path", { d: "M4 13h6", key: "1r9ots" }], + ["path", { d: "M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4", key: "1sqfas" }] +]); + +const CassetteTape = createLucideIcon("CassetteTapeIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["circle", { cx: "8", cy: "10", r: "2", key: "1xl4ub" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["circle", { cx: "16", cy: "10", r: "2", key: "r14t7q" }], + ["path", { d: "m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3", key: "l01ucn" }] +]); + +const Cast = createLucideIcon("CastIcon", [ + ["path", { d: "M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6", key: "3zrzxg" }], + ["path", { d: "M2 12a9 9 0 0 1 8 8", key: "g6cvee" }], + ["path", { d: "M2 16a5 5 0 0 1 4 4", key: "1y1dii" }], + ["line", { x1: "2", x2: "2.01", y1: "20", y2: "20", key: "xu2jvo" }] +]); + +const Castle = createLucideIcon("CastleIcon", [ + ["path", { d: "M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z", key: "109fe4" }], + ["path", { d: "M18 11V4H6v7", key: "mon5oj" }], + ["path", { d: "M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4", key: "1k4jtn" }], + ["path", { d: "M22 11V9", key: "3zbp94" }], + ["path", { d: "M2 11V9", key: "1x5rnq" }], + ["path", { d: "M6 4V2", key: "1rsq15" }], + ["path", { d: "M18 4V2", key: "1jsdo1" }], + ["path", { d: "M10 4V2", key: "75d9ly" }], + ["path", { d: "M14 4V2", key: "8nj3z6" }] +]); + +const Cat = createLucideIcon("CatIcon", [ + [ + "path", + { + d: "M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z", + key: "x6xyqk" + } + ], + ["path", { d: "M8 14v.5", key: "1nzgdb" }], + ["path", { d: "M16 14v.5", key: "1lajdz" }], + ["path", { d: "M11.25 16.25h1.5L12 17l-.75-.75Z", key: "12kq1m" }] +]); + +const Cctv = createLucideIcon("CctvIcon", [ + [ + "path", + { + d: "M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97", + key: "ir91b5" + } + ], + [ + "path", + { + d: "M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z", + key: "jlp8i1" + } + ], + ["path", { d: "M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15", key: "19bib8" }], + ["path", { d: "M2 21v-4", key: "l40lih" }], + ["path", { d: "M7 9h.01", key: "19b3jx" }] +]); + +const ChartArea = createLucideIcon("ChartAreaIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + [ + "path", + { + d: "M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z", + key: "q0gr47" + } + ] +]); + +const ChartBarBig = createLucideIcon("ChartBarBigIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["rect", { x: "7", y: "13", width: "9", height: "4", rx: "1", key: "1iip1u" }], + ["rect", { x: "7", y: "5", width: "12", height: "4", rx: "1", key: "1anskk" }] +]); + +const ChartBarDecreasing = createLucideIcon("ChartBarDecreasingIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M7 11h8", key: "1feolt" }], + ["path", { d: "M7 16h3", key: "ur6vzw" }], + ["path", { d: "M7 6h12", key: "sz5b0d" }] +]); + +const ChartBarIncreasing = createLucideIcon("ChartBarIncreasingIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M7 11h8", key: "1feolt" }], + ["path", { d: "M7 16h12", key: "wsnu98" }], + ["path", { d: "M7 6h3", key: "w9rmul" }] +]); + +const ChartBarStacked = createLucideIcon("ChartBarStackedIcon", [ + ["path", { d: "M11 13v4", key: "vyy2rb" }], + ["path", { d: "M15 5v4", key: "1gx88a" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["rect", { x: "7", y: "13", width: "9", height: "4", rx: "1", key: "1iip1u" }], + ["rect", { x: "7", y: "5", width: "12", height: "4", rx: "1", key: "1anskk" }] +]); + +const ChartBar = createLucideIcon("ChartBarIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M7 16h8", key: "srdodz" }], + ["path", { d: "M7 11h12", key: "127s9w" }], + ["path", { d: "M7 6h3", key: "w9rmul" }] +]); + +const ChartCandlestick = createLucideIcon("ChartCandlestickIcon", [ + ["path", { d: "M9 5v4", key: "14uxtq" }], + ["rect", { width: "4", height: "6", x: "7", y: "9", rx: "1", key: "f4fvz0" }], + ["path", { d: "M9 15v2", key: "r5rk32" }], + ["path", { d: "M17 3v2", key: "1l2re6" }], + ["rect", { width: "4", height: "8", x: "15", y: "5", rx: "1", key: "z38je5" }], + ["path", { d: "M17 13v3", key: "5l0wba" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }] +]); + +const ChartColumnBig = createLucideIcon("ChartColumnBigIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["rect", { x: "15", y: "5", width: "4", height: "12", rx: "1", key: "q8uenq" }], + ["rect", { x: "7", y: "8", width: "4", height: "9", rx: "1", key: "sr5ea" }] +]); + +const ChartColumnDecreasing = createLucideIcon("ChartColumnDecreasingIcon", [ + ["path", { d: "M13 17V9", key: "1fwyjl" }], + ["path", { d: "M18 17v-3", key: "1sqioe" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M8 17V5", key: "1wzmnc" }] +]); + +const ChartColumnIncreasing = createLucideIcon("ChartColumnIncreasingIcon", [ + ["path", { d: "M13 17V9", key: "1fwyjl" }], + ["path", { d: "M18 17V5", key: "sfb6ij" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M8 17v-3", key: "17ska0" }] +]); + +const ChartColumnStacked = createLucideIcon("ChartColumnStackedIcon", [ + ["path", { d: "M11 13H7", key: "t0o9gq" }], + ["path", { d: "M19 9h-4", key: "rera1j" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["rect", { x: "15", y: "5", width: "4", height: "12", rx: "1", key: "q8uenq" }], + ["rect", { x: "7", y: "8", width: "4", height: "9", rx: "1", key: "sr5ea" }] +]); + +const ChartColumn = createLucideIcon("ChartColumnIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M18 17V9", key: "2bz60n" }], + ["path", { d: "M13 17V5", key: "1frdt8" }], + ["path", { d: "M8 17v-3", key: "17ska0" }] +]); + +const ChartGantt = createLucideIcon("ChartGanttIcon", [ + ["path", { d: "M10 6h8", key: "zvc2xc" }], + ["path", { d: "M12 16h6", key: "yi5mkt" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M8 11h7", key: "wz2hg0" }] +]); + +const ChartLine = createLucideIcon("ChartLineIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "m19 9-5 5-4-4-3 3", key: "2osh9i" }] +]); + +const ChartNetwork = createLucideIcon("ChartNetworkIcon", [ + ["path", { d: "m13.11 7.664 1.78 2.672", key: "go2gg9" }], + ["path", { d: "m14.162 12.788-3.324 1.424", key: "11x848" }], + ["path", { d: "m20 4-6.06 1.515", key: "1wxxh7" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["circle", { cx: "12", cy: "6", r: "2", key: "1jj5th" }], + ["circle", { cx: "16", cy: "12", r: "2", key: "4ma0v8" }], + ["circle", { cx: "9", cy: "15", r: "2", key: "lf2ghp" }] +]); + +const ChartNoAxesColumnDecreasing = createLucideIcon("ChartNoAxesColumnDecreasingIcon", [ + ["path", { d: "M12 20V10", key: "g8npz5" }], + ["path", { d: "M18 20v-4", key: "8uic4z" }], + ["path", { d: "M6 20V4", key: "1w1bmo" }] +]); + +const ChartNoAxesColumnIncreasing = createLucideIcon("ChartNoAxesColumnIncreasingIcon", [ + ["line", { x1: "12", x2: "12", y1: "20", y2: "10", key: "1vz5eb" }], + ["line", { x1: "18", x2: "18", y1: "20", y2: "4", key: "cun8e5" }], + ["line", { x1: "6", x2: "6", y1: "20", y2: "16", key: "hq0ia6" }] +]); + +const ChartNoAxesColumn = createLucideIcon("ChartNoAxesColumnIcon", [ + ["line", { x1: "18", x2: "18", y1: "20", y2: "10", key: "1xfpm4" }], + ["line", { x1: "12", x2: "12", y1: "20", y2: "4", key: "be30l9" }], + ["line", { x1: "6", x2: "6", y1: "20", y2: "14", key: "1r4le6" }] +]); + +const ChartNoAxesCombined = createLucideIcon("ChartNoAxesCombinedIcon", [ + ["path", { d: "M12 16v5", key: "zza2cw" }], + ["path", { d: "M16 14v7", key: "1g90b9" }], + ["path", { d: "M20 10v11", key: "1iqoj0" }], + [ + "path", + { d: "m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15", key: "1fw8x9" } + ], + ["path", { d: "M4 18v3", key: "1yp0dc" }], + ["path", { d: "M8 14v7", key: "n3cwzv" }] +]); + +const ChartNoAxesGantt = createLucideIcon("ChartNoAxesGanttIcon", [ + ["path", { d: "M8 6h10", key: "9lnwnk" }], + ["path", { d: "M6 12h9", key: "1g9pqf" }], + ["path", { d: "M11 18h7", key: "c8dzvl" }] +]); + +const ChartPie = createLucideIcon("ChartPieIcon", [ + [ + "path", + { + d: "M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z", + key: "pzmjnu" + } + ], + ["path", { d: "M21.21 15.89A10 10 0 1 1 8 2.83", key: "k2fpak" }] +]); + +const ChartScatter = createLucideIcon("ChartScatterIcon", [ + ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }], + ["circle", { cx: "18.5", cy: "5.5", r: ".5", fill: "currentColor", key: "lysivs" }], + ["circle", { cx: "11.5", cy: "11.5", r: ".5", fill: "currentColor", key: "byv1b8" }], + ["circle", { cx: "7.5", cy: "16.5", r: ".5", fill: "currentColor", key: "nkw3mc" }], + ["circle", { cx: "17.5", cy: "14.5", r: ".5", fill: "currentColor", key: "1gjh6j" }], + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }] +]); + +const ChartSpline = createLucideIcon("ChartSplineIcon", [ + ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }], + ["path", { d: "M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7", key: "lw07rv" }] +]); + +const CheckCheck = createLucideIcon("CheckCheckIcon", [ + ["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }], + ["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }] +]); + +const Check = createLucideIcon("CheckIcon", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]); + +const ChefHat = createLucideIcon("ChefHatIcon", [ + [ + "path", + { + d: "M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z", + key: "1qvrer" + } + ], + ["path", { d: "M6 17h12", key: "1jwigz" }] +]); + +const Cherry = createLucideIcon("CherryIcon", [ + ["path", { d: "M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z", key: "cvxqlc" }], + ["path", { d: "M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z", key: "1ostrc" }], + ["path", { d: "M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12", key: "hqx58h" }], + ["path", { d: "M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z", key: "eykp1o" }] +]); + +const ChevronDown = createLucideIcon("ChevronDownIcon", [ + ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }] +]); + +const ChevronFirst = createLucideIcon("ChevronFirstIcon", [ + ["path", { d: "m17 18-6-6 6-6", key: "1yerx2" }], + ["path", { d: "M7 6v12", key: "1p53r6" }] +]); + +const ChevronLast = createLucideIcon("ChevronLastIcon", [ + ["path", { d: "m7 18 6-6-6-6", key: "lwmzdw" }], + ["path", { d: "M17 6v12", key: "1o0aio" }] +]); + +const ChevronLeft = createLucideIcon("ChevronLeftIcon", [ + ["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }] +]); + +const ChevronRight = createLucideIcon("ChevronRightIcon", [ + ["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }] +]); + +const ChevronUp = createLucideIcon("ChevronUpIcon", [ + ["path", { d: "m18 15-6-6-6 6", key: "153udz" }] +]); + +const ChevronsDownUp = createLucideIcon("ChevronsDownUpIcon", [ + ["path", { d: "m7 20 5-5 5 5", key: "13a0gw" }], + ["path", { d: "m7 4 5 5 5-5", key: "1kwcof" }] +]); + +const ChevronsDown = createLucideIcon("ChevronsDownIcon", [ + ["path", { d: "m7 6 5 5 5-5", key: "1lc07p" }], + ["path", { d: "m7 13 5 5 5-5", key: "1d48rs" }] +]); + +const ChevronsLeftRightEllipsis = createLucideIcon("ChevronsLeftRightEllipsisIcon", [ + ["path", { d: "m18 8 4 4-4 4", key: "1ak13k" }], + ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }], + ["path", { d: "M8 12h.01", key: "czm47f" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M16 12h.01", key: "1l6xoz" }] +]); + +const ChevronsLeftRight = createLucideIcon("ChevronsLeftRightIcon", [ + ["path", { d: "m9 7-5 5 5 5", key: "j5w590" }], + ["path", { d: "m15 7 5 5-5 5", key: "1bl6da" }] +]); + +const ChevronsLeft = createLucideIcon("ChevronsLeftIcon", [ + ["path", { d: "m11 17-5-5 5-5", key: "13zhaf" }], + ["path", { d: "m18 17-5-5 5-5", key: "h8a8et" }] +]); + +const ChevronsRightLeft = createLucideIcon("ChevronsRightLeftIcon", [ + ["path", { d: "m20 17-5-5 5-5", key: "30x0n2" }], + ["path", { d: "m4 17 5-5-5-5", key: "16spf4" }] +]); + +const ChevronsRight = createLucideIcon("ChevronsRightIcon", [ + ["path", { d: "m6 17 5-5-5-5", key: "xnjwq" }], + ["path", { d: "m13 17 5-5-5-5", key: "17xmmf" }] +]); + +const ChevronsUpDown = createLucideIcon("ChevronsUpDownIcon", [ + ["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }], + ["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }] +]); + +const ChevronsUp = createLucideIcon("ChevronsUpIcon", [ + ["path", { d: "m17 11-5-5-5 5", key: "e8nh98" }], + ["path", { d: "m17 18-5-5-5 5", key: "2avn1x" }] +]); + +const Chrome = createLucideIcon("ChromeIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["line", { x1: "21.17", x2: "12", y1: "8", y2: "8", key: "a0cw5f" }], + ["line", { x1: "3.95", x2: "8.54", y1: "6.06", y2: "14", key: "1kftof" }], + ["line", { x1: "10.88", x2: "15.46", y1: "21.94", y2: "14", key: "1ymyh8" }] +]); + +const Church = createLucideIcon("ChurchIcon", [ + ["path", { d: "M10 9h4", key: "u4k05v" }], + ["path", { d: "M12 7v5", key: "ma6bk" }], + ["path", { d: "M14 22v-4a2 2 0 0 0-4 0v4", key: "1pdhuj" }], + [ + "path", + { + d: "M18 22V5.618a1 1 0 0 0-.553-.894l-4.553-2.277a2 2 0 0 0-1.788 0L6.553 4.724A1 1 0 0 0 6 5.618V22", + key: "1rkokr" + } + ], + [ + "path", + { + d: "m18 7 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.618a1 1 0 0 1 .553-.894L6 7", + key: "1w6esw" + } + ] +]); + +const CigaretteOff = createLucideIcon("CigaretteOffIcon", [ + ["path", { d: "M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13", key: "1gdiyg" }], + ["path", { d: "M18 8c0-2.5-2-2.5-2-5", key: "1il607" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866", key: "166zjj" }], + ["path", { d: "M22 8c0-2.5-2-2.5-2-5", key: "1gah44" }], + ["path", { d: "M7 12v4", key: "jqww69" }] +]); + +const Cigarette = createLucideIcon("CigaretteIcon", [ + ["path", { d: "M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14", key: "1mb5g1" }], + ["path", { d: "M18 8c0-2.5-2-2.5-2-5", key: "1il607" }], + ["path", { d: "M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1", key: "1yl5r7" }], + ["path", { d: "M22 8c0-2.5-2-2.5-2-5", key: "1gah44" }], + ["path", { d: "M7 12v4", key: "jqww69" }] +]); + +const CircleAlert = createLucideIcon("CircleAlertIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }], + ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }] +]); + +const CircleArrowDown = createLucideIcon("CircleArrowDownIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 8v8", key: "napkw2" }], + ["path", { d: "m8 12 4 4 4-4", key: "k98ssh" }] +]); + +const CircleArrowLeft = createLucideIcon("CircleArrowLeftIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M16 12H8", key: "1fr5h0" }], + ["path", { d: "m12 8-4 4 4 4", key: "15vm53" }] +]); + +const CircleArrowOutDownLeft = createLucideIcon("CircleArrowOutDownLeftIcon", [ + ["path", { d: "M2 12a10 10 0 1 1 10 10", key: "1yn6ov" }], + ["path", { d: "m2 22 10-10", key: "28ilpk" }], + ["path", { d: "M8 22H2v-6", key: "sulq54" }] +]); + +const CircleArrowOutDownRight = createLucideIcon("CircleArrowOutDownRightIcon", [ + ["path", { d: "M12 22a10 10 0 1 1 10-10", key: "130bv5" }], + ["path", { d: "M22 22 12 12", key: "131aw7" }], + ["path", { d: "M22 16v6h-6", key: "1gvm70" }] +]); + +const CircleArrowOutUpLeft = createLucideIcon("CircleArrowOutUpLeftIcon", [ + ["path", { d: "M2 8V2h6", key: "hiwtdz" }], + ["path", { d: "m2 2 10 10", key: "1oh8rs" }], + ["path", { d: "M12 2A10 10 0 1 1 2 12", key: "rrk4fa" }] +]); + +const CircleArrowOutUpRight = createLucideIcon("CircleArrowOutUpRightIcon", [ + ["path", { d: "M22 12A10 10 0 1 1 12 2", key: "1fm58d" }], + ["path", { d: "M22 2 12 12", key: "yg2myt" }], + ["path", { d: "M16 2h6v6", key: "zan5cs" }] +]); + +const CircleArrowRight = createLucideIcon("CircleArrowRightIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "m12 16 4-4-4-4", key: "1i9zcv" }] +]); + +const CircleArrowUp = createLucideIcon("CircleArrowUpIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m16 12-4-4-4 4", key: "177agl" }], + ["path", { d: "M12 16V8", key: "1sbj14" }] +]); + +const CircleCheckBig = createLucideIcon("CircleCheckBigIcon", [ + ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }], + ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }] +]); + +const CircleCheck = createLucideIcon("CircleCheckIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }] +]); + +const CircleChevronDown = createLucideIcon("CircleChevronDownIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m16 10-4 4-4-4", key: "894hmk" }] +]); + +const CircleChevronLeft = createLucideIcon("CircleChevronLeftIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m14 16-4-4 4-4", key: "ojs7w8" }] +]); + +const CircleChevronRight = createLucideIcon("CircleChevronRightIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m10 8 4 4-4 4", key: "1wy4r4" }] +]); + +const CircleChevronUp = createLucideIcon("CircleChevronUpIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m8 14 4-4 4 4", key: "fy2ptz" }] +]); + +const CircleDashed = createLucideIcon("CircleDashedIcon", [ + ["path", { d: "M10.1 2.182a10 10 0 0 1 3.8 0", key: "5ilxe3" }], + ["path", { d: "M13.9 21.818a10 10 0 0 1-3.8 0", key: "11zvb9" }], + ["path", { d: "M17.609 3.721a10 10 0 0 1 2.69 2.7", key: "1iw5b2" }], + ["path", { d: "M2.182 13.9a10 10 0 0 1 0-3.8", key: "c0bmvh" }], + ["path", { d: "M20.279 17.609a10 10 0 0 1-2.7 2.69", key: "1ruxm7" }], + ["path", { d: "M21.818 10.1a10 10 0 0 1 0 3.8", key: "qkgqxc" }], + ["path", { d: "M3.721 6.391a10 10 0 0 1 2.7-2.69", key: "1mcia2" }], + ["path", { d: "M6.391 20.279a10 10 0 0 1-2.69-2.7", key: "1fvljs" }] +]); + +const CircleDivide = createLucideIcon("CircleDivideIcon", [ + ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }], + ["line", { x1: "12", x2: "12", y1: "16", y2: "16", key: "aqc6ln" }], + ["line", { x1: "12", x2: "12", y1: "8", y2: "8", key: "1mkcni" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const CircleDollarSign = createLucideIcon("CircleDollarSignIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8", key: "1h4pet" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }] +]); + +const CircleDotDashed = createLucideIcon("CircleDotDashedIcon", [ + ["path", { d: "M10.1 2.18a9.93 9.93 0 0 1 3.8 0", key: "1qdqn0" }], + ["path", { d: "M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7", key: "1bq7p6" }], + ["path", { d: "M21.82 10.1a9.93 9.93 0 0 1 0 3.8", key: "1rlaqf" }], + ["path", { d: "M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69", key: "1xk03u" }], + ["path", { d: "M13.9 21.82a9.94 9.94 0 0 1-3.8 0", key: "l7re25" }], + ["path", { d: "M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7", key: "1v18p6" }], + ["path", { d: "M2.18 13.9a9.93 9.93 0 0 1 0-3.8", key: "xdo6bj" }], + ["path", { d: "M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69", key: "1jjmaz" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }] +]); + +const CircleDot = createLucideIcon("CircleDotIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }] +]); + +const CircleEllipsis = createLucideIcon("CircleEllipsisIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M17 12h.01", key: "1m0b6t" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M7 12h.01", key: "eqddd0" }] +]); + +const CircleEqual = createLucideIcon("CircleEqualIcon", [ + ["path", { d: "M7 10h10", key: "1101jm" }], + ["path", { d: "M7 14h10", key: "1mhdw3" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const CircleFadingArrowUp = createLucideIcon("CircleFadingArrowUpIcon", [ + ["path", { d: "M12 2a10 10 0 0 1 7.38 16.75", key: "175t95" }], + ["path", { d: "m16 12-4-4-4 4", key: "177agl" }], + ["path", { d: "M12 16V8", key: "1sbj14" }], + ["path", { d: "M2.5 8.875a10 10 0 0 0-.5 3", key: "1vce0s" }], + ["path", { d: "M2.83 16a10 10 0 0 0 2.43 3.4", key: "o3fkw4" }], + ["path", { d: "M4.636 5.235a10 10 0 0 1 .891-.857", key: "1szpfk" }], + ["path", { d: "M8.644 21.42a10 10 0 0 0 7.631-.38", key: "9yhvd4" }] +]); + +const CircleFadingPlus = createLucideIcon("CircleFadingPlusIcon", [ + ["path", { d: "M12 2a10 10 0 0 1 7.38 16.75", key: "175t95" }], + ["path", { d: "M12 8v8", key: "napkw2" }], + ["path", { d: "M16 12H8", key: "1fr5h0" }], + ["path", { d: "M2.5 8.875a10 10 0 0 0-.5 3", key: "1vce0s" }], + ["path", { d: "M2.83 16a10 10 0 0 0 2.43 3.4", key: "o3fkw4" }], + ["path", { d: "M4.636 5.235a10 10 0 0 1 .891-.857", key: "1szpfk" }], + ["path", { d: "M8.644 21.42a10 10 0 0 0 7.631-.38", key: "9yhvd4" }] +]); + +const CircleGauge = createLucideIcon("CircleGaugeIcon", [ + ["path", { d: "M15.6 2.7a10 10 0 1 0 5.7 5.7", key: "1e0p6d" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "M13.4 10.6 19 5", key: "1kr7tw" }] +]); + +const CircleHelp = createLucideIcon("CircleHelpIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }], + ["path", { d: "M12 17h.01", key: "p32p05" }] +]); + +const CircleMinus = createLucideIcon("CircleMinusIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const CircleOff = createLucideIcon("CircleOffIcon", [ + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M8.35 2.69A10 10 0 0 1 21.3 15.65", key: "1pfsoa" }], + ["path", { d: "M19.08 19.08A10 10 0 1 1 4.92 4.92", key: "1ablyi" }] +]); + +const CircleParkingOff = createLucideIcon("CircleParkingOffIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m5 5 14 14", key: "11anup" }], + ["path", { d: "M13 13a3 3 0 1 0 0-6H9v2", key: "uoagbd" }], + ["path", { d: "M9 17v-2.34", key: "a9qo08" }] +]); + +const CircleParking = createLucideIcon("CircleParkingIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M9 17V7h4a3 3 0 0 1 0 6H9", key: "1dfk2c" }] +]); + +const CirclePause = createLucideIcon("CirclePauseIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["line", { x1: "10", x2: "10", y1: "15", y2: "9", key: "c1nkhi" }], + ["line", { x1: "14", x2: "14", y1: "15", y2: "9", key: "h65svq" }] +]); + +const CirclePercent = createLucideIcon("CirclePercentIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["path", { d: "M15 15h.01", key: "lqbp3k" }] +]); + +const CirclePlay = createLucideIcon("CirclePlayIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polygon", { points: "10 8 16 12 10 16 10 8", key: "1cimsy" }] +]); + +const CirclePlus = createLucideIcon("CirclePlusIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "M12 8v8", key: "napkw2" }] +]); + +const CirclePower = createLucideIcon("CirclePowerIcon", [ + ["path", { d: "M12 7v4", key: "xawao1" }], + ["path", { d: "M7.998 9.003a5 5 0 1 0 8-.005", key: "1pek45" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const CircleSlash2 = createLucideIcon("CircleSlash2Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M22 2 2 22", key: "y4kqgn" }] +]); + +const CircleSlash = createLucideIcon("CircleSlashIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["line", { x1: "9", x2: "15", y1: "15", y2: "9", key: "1dfufj" }] +]); + +const CircleSmall = createLucideIcon("CircleSmallIcon", [ + ["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }] +]); + +const CircleStop = createLucideIcon("CircleStopIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", key: "1ssd4o" }] +]); + +const CircleUserRound = createLucideIcon("CircleUserRoundIcon", [ + ["path", { d: "M18 20a6 6 0 0 0-12 0", key: "1qehca" }], + ["circle", { cx: "12", cy: "10", r: "4", key: "1h16sb" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const CircleUser = createLucideIcon("CircleUserIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662", key: "154egf" }] +]); + +const CircleX = createLucideIcon("CircleXIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "m9 9 6 6", key: "z0biqf" }] +]); + +const Circle = createLucideIcon("CircleIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const CircuitBoard = createLucideIcon("CircuitBoardIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M11 9h4a2 2 0 0 0 2-2V3", key: "1ve2rv" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }], + ["path", { d: "M7 21v-4a2 2 0 0 1 2-2h4", key: "1fwkro" }], + ["circle", { cx: "15", cy: "15", r: "2", key: "3i40o0" }] +]); + +const Citrus = createLucideIcon("CitrusIcon", [ + [ + "path", + { + d: "M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z", + key: "4ite01" + } + ], + ["path", { d: "M19.65 15.66A8 8 0 0 1 8.35 4.34", key: "1gxipu" }], + ["path", { d: "m14 10-5.5 5.5", key: "92pfem" }], + ["path", { d: "M14 17.85V10H6.15", key: "xqmtsk" }] +]); + +const Clapperboard = createLucideIcon("ClapperboardIcon", [ + [ + "path", + { d: "M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z", key: "1tn4o7" } + ], + ["path", { d: "m6.2 5.3 3.1 3.9", key: "iuk76l" }], + ["path", { d: "m12.4 3.4 3.1 4", key: "6hsd6n" }], + ["path", { d: "M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z", key: "ltgou9" }] +]); + +const ClipboardCheck = createLucideIcon("ClipboardCheckIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "m9 14 2 2 4-4", key: "df797q" }] +]); + +const ClipboardCopy = createLucideIcon("ClipboardCopyIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + ["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2", key: "4jdomd" }], + ["path", { d: "M16 4h2a2 2 0 0 1 2 2v4", key: "3hqy98" }], + ["path", { d: "M21 14H11", key: "1bme5i" }], + ["path", { d: "m15 10-4 4 4 4", key: "5dvupr" }] +]); + +const ClipboardList = createLucideIcon("ClipboardListIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "M12 11h4", key: "1jrz19" }], + ["path", { d: "M12 16h4", key: "n85exb" }], + ["path", { d: "M8 11h.01", key: "1dfujw" }], + ["path", { d: "M8 16h.01", key: "18s6g9" }] +]); + +const ClipboardMinus = createLucideIcon("ClipboardMinusIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "M9 14h6", key: "159ibu" }] +]); + +const ClipboardPaste = createLucideIcon("ClipboardPasteIcon", [ + [ + "path", + { d: "M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z", key: "1pp7kr" } + ], + [ + "path", + { + d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10", + key: "2ik1ml" + } + ], + ["path", { d: "m17 10 4 4-4 4", key: "vp2hj1" }] +]); + +const ClipboardPenLine = createLucideIcon("ClipboardPenLineIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", key: "1oijnt" }], + ["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5", key: "1but9f" }], + ["path", { d: "M16 4h2a2 2 0 0 1 1.73 1", key: "1p8n7l" }], + ["path", { d: "M8 18h1", key: "13wk12" }], + [ + "path", + { + d: "M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "2t3380" + } + ] +]); + +const ClipboardPen = createLucideIcon("ClipboardPenIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", key: "1oijnt" }], + ["path", { d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5", key: "cereej" }], + ["path", { d: "M4 13.5V6a2 2 0 0 1 2-2h2", key: "5ua5vh" }], + [ + "path", + { + d: "M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "1y4qbx" + } + ] +]); + +const ClipboardPlus = createLucideIcon("ClipboardPlusIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "M9 14h6", key: "159ibu" }], + ["path", { d: "M12 17v-6", key: "1y8rbf" }] +]); + +const ClipboardType = createLucideIcon("ClipboardTypeIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "M9 12v-1h6v1", key: "iehl6m" }], + ["path", { d: "M11 17h2", key: "12w5me" }], + ["path", { d: "M12 11v6", key: "1bwqyc" }] +]); + +const ClipboardX = createLucideIcon("ClipboardXIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ], + ["path", { d: "m15 11-6 6", key: "1toa9n" }], + ["path", { d: "m9 11 6 6", key: "wlibny" }] +]); + +const Clipboard = createLucideIcon("ClipboardIcon", [ + ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }], + [ + "path", + { + d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2", + key: "116196" + } + ] +]); + +const Clock1 = createLucideIcon("Clock1Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 14.5 8", key: "12zbmj" }] +]); + +const Clock10 = createLucideIcon("Clock10Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 8 10", key: "atfzqc" }] +]); + +const Clock11 = createLucideIcon("Clock11Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 9.5 8", key: "l5bg6f" }] +]); + +const Clock12 = createLucideIcon("Clock12Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12", key: "1fub01" }] +]); + +const Clock2 = createLucideIcon("Clock2Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 16 10", key: "1g230d" }] +]); + +const Clock3 = createLucideIcon("Clock3Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 16.5 12", key: "1aq6pp" }] +]); + +const Clock4 = createLucideIcon("Clock4Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }] +]); + +const Clock5 = createLucideIcon("Clock5Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 14.5 16", key: "1pcbox" }] +]); + +const Clock6 = createLucideIcon("Clock6Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 12 16.5", key: "hb2qv6" }] +]); + +const Clock7 = createLucideIcon("Clock7Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 9.5 16", key: "ka3394" }] +]); + +const Clock8 = createLucideIcon("Clock8Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 8 14", key: "tmc9b4" }] +]); + +const Clock9 = createLucideIcon("Clock9Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 7.5 12", key: "1k60p0" }] +]); + +const ClockAlert = createLucideIcon("ClockAlertIcon", [ + ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }], + ["path", { d: "M16 21.16a10 10 0 1 1 5-13.516", key: "cxo92l" }], + ["path", { d: "M20 11.5v6", key: "2ei3xq" }], + ["path", { d: "M20 21.5h.01", key: "1r2dzp" }] +]); + +const ClockArrowDown = createLucideIcon("ClockArrowDownIcon", [ + ["path", { d: "M12.338 21.994A10 10 0 1 1 21.925 13.227", key: "1i7shu" }], + ["path", { d: "M12 6v6l2 1", key: "19cm8n" }], + ["path", { d: "m14 18 4 4 4-4", key: "1waygx" }], + ["path", { d: "M18 14v8", key: "irew45" }] +]); + +const ClockArrowUp = createLucideIcon("ClockArrowUpIcon", [ + ["path", { d: "M13.228 21.925A10 10 0 1 1 21.994 12.338", key: "1fzlyi" }], + ["path", { d: "M12 6v6l1.562.781", key: "1ujuk9" }], + ["path", { d: "m14 18 4-4 4 4", key: "ftkppy" }], + ["path", { d: "M18 22v-8", key: "su0gjh" }] +]); + +const Clock = createLucideIcon("ClockIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }] +]); + +const CloudAlert = createLucideIcon("CloudAlertIcon", [ + ["path", { d: "M12 12v4", key: "tww15h" }], + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M17 18h.5a1 1 0 0 0 0-9h-1.79A7 7 0 1 0 7 17.708", key: "xsb5ju" }] +]); + +const CloudCog = createLucideIcon("CloudCogIcon", [ + ["circle", { cx: "12", cy: "17", r: "3", key: "1spfwm" }], + ["path", { d: "M4.2 15.1A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2", key: "zaobp" }], + ["path", { d: "m15.7 18.4-.9-.3", key: "4qxpbn" }], + ["path", { d: "m9.2 15.9-.9-.3", key: "17q7o2" }], + ["path", { d: "m10.6 20.7.3-.9", key: "1pf4s2" }], + ["path", { d: "m13.1 14.2.3-.9", key: "1mnuqm" }], + ["path", { d: "m13.6 20.7-.4-1", key: "1jpd1m" }], + ["path", { d: "m10.8 14.3-.4-1", key: "17ugyy" }], + ["path", { d: "m8.3 18.6 1-.4", key: "s42vdx" }], + ["path", { d: "m14.7 15.8 1-.4", key: "2wizun" }] +]); + +const CloudDownload = createLucideIcon("CloudDownloadIcon", [ + ["path", { d: "M12 13v8l-4-4", key: "1f5nwf" }], + ["path", { d: "m12 21 4-4", key: "1lfcce" }], + ["path", { d: "M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284", key: "ui1hmy" }] +]); + +const CloudDrizzle = createLucideIcon("CloudDrizzleIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "M8 19v1", key: "1dk2by" }], + ["path", { d: "M8 14v1", key: "84yxot" }], + ["path", { d: "M16 19v1", key: "v220m7" }], + ["path", { d: "M16 14v1", key: "g12gj6" }], + ["path", { d: "M12 21v1", key: "q8vafk" }], + ["path", { d: "M12 16v1", key: "1mx6rx" }] +]); + +const CloudFog = createLucideIcon("CloudFogIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "M16 17H7", key: "pygtm1" }], + ["path", { d: "M17 21H9", key: "1u2q02" }] +]); + +const CloudHail = createLucideIcon("CloudHailIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "M16 14v2", key: "a1is7l" }], + ["path", { d: "M8 14v2", key: "1e9m6t" }], + ["path", { d: "M16 20h.01", key: "xwek51" }], + ["path", { d: "M8 20h.01", key: "1vjney" }], + ["path", { d: "M12 16v2", key: "z66u1j" }], + ["path", { d: "M12 22h.01", key: "1urd7a" }] +]); + +const CloudLightning = createLucideIcon("CloudLightningIcon", [ + ["path", { d: "M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973", key: "1cez44" }], + ["path", { d: "m13 12-3 5h4l-3 5", key: "1t22er" }] +]); + +const CloudMoonRain = createLucideIcon("CloudMoonRainIcon", [ + ["path", { d: "M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197", key: "erj67n" }], + ["path", { d: "M11 20v2", key: "174qtz" }], + ["path", { d: "M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24", key: "1qmrp3" }], + ["path", { d: "M7 19v2", key: "12npes" }] +]); + +const CloudMoon = createLucideIcon("CloudMoonIcon", [ + ["path", { d: "M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197", key: "erj67n" }], + ["path", { d: "M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z", key: "p44pc9" }] +]); + +const CloudOff = createLucideIcon("CloudOffIcon", [ + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193", key: "yfwify" }], + [ + "path", + { d: "M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07", key: "jlfiyv" } + ] +]); + +const CloudRainWind = createLucideIcon("CloudRainWindIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "m9.2 22 3-7", key: "sb5f6j" }], + ["path", { d: "m9 13-3 7", key: "500co5" }], + ["path", { d: "m17 13-3 7", key: "8t2fiy" }] +]); + +const CloudRain = createLucideIcon("CloudRainIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "M16 14v6", key: "1j4efv" }], + ["path", { d: "M8 14v6", key: "17c4r9" }], + ["path", { d: "M12 16v6", key: "c8a4gj" }] +]); + +const CloudSnow = createLucideIcon("CloudSnowIcon", [ + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "M8 15h.01", key: "a7atzg" }], + ["path", { d: "M8 19h.01", key: "puxtts" }], + ["path", { d: "M12 17h.01", key: "p32p05" }], + ["path", { d: "M12 21h.01", key: "h35vbk" }], + ["path", { d: "M16 15h.01", key: "rnfrdf" }], + ["path", { d: "M16 19h.01", key: "1vcnzz" }] +]); + +const CloudSunRain = createLucideIcon("CloudSunRainIcon", [ + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "m4.93 4.93 1.41 1.41", key: "149t6j" }], + ["path", { d: "M20 12h2", key: "1q8mjw" }], + ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }], + ["path", { d: "M15.947 12.65a4 4 0 0 0-5.925-4.128", key: "dpwdj0" }], + ["path", { d: "M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24", key: "1qmrp3" }], + ["path", { d: "M11 20v2", key: "174qtz" }], + ["path", { d: "M7 19v2", key: "12npes" }] +]); + +const CloudSun = createLucideIcon("CloudSunIcon", [ + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "m4.93 4.93 1.41 1.41", key: "149t6j" }], + ["path", { d: "M20 12h2", key: "1q8mjw" }], + ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }], + ["path", { d: "M15.947 12.65a4 4 0 0 0-5.925-4.128", key: "dpwdj0" }], + ["path", { d: "M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z", key: "s09mg5" }] +]); + +const CloudUpload = createLucideIcon("CloudUploadIcon", [ + ["path", { d: "M12 13v8", key: "1l5pq0" }], + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }] +]); + +const Cloud = createLucideIcon("CloudIcon", [ + ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }] +]); + +const Cloudy = createLucideIcon("CloudyIcon", [ + ["path", { d: "M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "gqqjvc" }], + ["path", { d: "M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5", key: "1p2s76" }] +]); + +const Clover = createLucideIcon("CloverIcon", [ + ["path", { d: "M16.17 7.83 2 22", key: "t58vo8" }], + [ + "path", + { + d: "M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12", + key: "17k36q" + } + ], + ["path", { d: "m7.83 7.83 8.34 8.34", key: "1d7sxk" }] +]); + +const Club = createLucideIcon("ClubIcon", [ + [ + "path", + { + d: "M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z", + key: "27yuqz" + } + ], + ["path", { d: "M12 17.66L12 22", key: "ogfahf" }] +]); + +const CodeXml = createLucideIcon("CodeXmlIcon", [ + ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }], + ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }], + ["path", { d: "m14.5 4-5 16", key: "e7oirm" }] +]); + +const Code = createLucideIcon("CodeIcon", [ + ["polyline", { points: "16 18 22 12 16 6", key: "z7tu5w" }], + ["polyline", { points: "8 6 2 12 8 18", key: "1eg1df" }] +]); + +const Codepen = createLucideIcon("CodepenIcon", [ + ["polygon", { points: "12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2", key: "srzb37" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "15.5", key: "1t73f2" }], + ["polyline", { points: "22 8.5 12 15.5 2 8.5", key: "ajlxae" }], + ["polyline", { points: "2 15.5 12 8.5 22 15.5", key: "susrui" }], + ["line", { x1: "12", x2: "12", y1: "2", y2: "8.5", key: "2cldga" }] +]); + +const Codesandbox = createLucideIcon("CodesandboxIcon", [ + [ + "path", + { + d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z", + key: "yt0hxn" + } + ], + ["polyline", { points: "7.5 4.21 12 6.81 16.5 4.21", key: "fabo96" }], + ["polyline", { points: "7.5 19.79 7.5 14.6 3 12", key: "z377f1" }], + ["polyline", { points: "21 12 16.5 14.6 16.5 19.79", key: "9nrev1" }], + ["polyline", { points: "3.27 6.96 12 12.01 20.73 6.96", key: "1180pa" }], + ["line", { x1: "12", x2: "12", y1: "22.08", y2: "12", key: "3z3uq6" }] +]); + +const Coffee = createLucideIcon("CoffeeIcon", [ + ["path", { d: "M10 2v2", key: "7u0qdc" }], + ["path", { d: "M14 2v2", key: "6buw04" }], + [ + "path", + { + d: "M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1", + key: "pwadti" + } + ], + ["path", { d: "M6 2v2", key: "colzsn" }] +]); + +const Cog = createLucideIcon("CogIcon", [ + ["path", { d: "M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z", key: "sobvz5" }], + ["path", { d: "M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z", key: "11i496" }], + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "M12 22v-2", key: "1osdcq" }], + ["path", { d: "m17 20.66-1-1.73", key: "eq3orb" }], + ["path", { d: "M11 10.27 7 3.34", key: "16pf9h" }], + ["path", { d: "m20.66 17-1.73-1", key: "sg0v6f" }], + ["path", { d: "m3.34 7 1.73 1", key: "1ulond" }], + ["path", { d: "M14 12h8", key: "4f43i9" }], + ["path", { d: "M2 12h2", key: "1t8f8n" }], + ["path", { d: "m20.66 7-1.73 1", key: "1ow05n" }], + ["path", { d: "m3.34 17 1.73-1", key: "nuk764" }], + ["path", { d: "m17 3.34-1 1.73", key: "2wel8s" }], + ["path", { d: "m11 13.73-4 6.93", key: "794ttg" }] +]); + +const Coins = createLucideIcon("CoinsIcon", [ + ["circle", { cx: "8", cy: "8", r: "6", key: "3yglwk" }], + ["path", { d: "M18.09 10.37A6 6 0 1 1 10.34 18", key: "t5s6rm" }], + ["path", { d: "M7 6h1v4", key: "1obek4" }], + ["path", { d: "m16.71 13.88.7.71-2.82 2.82", key: "1rbuyh" }] +]); + +const Columns2 = createLucideIcon("Columns2Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M12 3v18", key: "108xh3" }] +]); + +const Columns3 = createLucideIcon("Columns3Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }], + ["path", { d: "M15 3v18", key: "14nvp0" }] +]); + +const Columns4 = createLucideIcon("Columns4Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7.5 3v18", key: "w0wo6v" }], + ["path", { d: "M12 3v18", key: "108xh3" }], + ["path", { d: "M16.5 3v18", key: "10tjh1" }] +]); + +const Combine = createLucideIcon("CombineIcon", [ + ["path", { d: "M10 18H5a3 3 0 0 1-3-3v-1", key: "ru65g8" }], + ["path", { d: "M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2", key: "e30een" }], + ["path", { d: "M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2", key: "2ahx8o" }], + ["path", { d: "m7 21 3-3-3-3", key: "127cv2" }], + ["rect", { x: "14", y: "14", width: "8", height: "8", rx: "2", key: "1b0bso" }], + ["rect", { x: "2", y: "2", width: "8", height: "8", rx: "2", key: "1x09vl" }] +]); + +const Command = createLucideIcon("CommandIcon", [ + [ + "path", + { d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" } + ] +]); + +const Compass = createLucideIcon("CompassIcon", [ + [ + "path", + { + d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z", + key: "9ktpf1" + } + ], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const Component = createLucideIcon("ComponentIcon", [ + [ + "path", + { + d: "M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z", + key: "1uwlt4" + } + ], + [ + "path", + { + d: "M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z", + key: "10291m" + } + ], + [ + "path", + { + d: "M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z", + key: "1tqoq1" + } + ], + [ + "path", + { + d: "M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z", + key: "1x6lto" + } + ] +]); + +const Computer = createLucideIcon("ComputerIcon", [ + ["rect", { width: "14", height: "8", x: "5", y: "2", rx: "2", key: "wc9tft" }], + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", key: "w68u3i" }], + ["path", { d: "M6 18h2", key: "rwmk9e" }], + ["path", { d: "M12 18h6", key: "aqd8w3" }] +]); + +const ConciergeBell = createLucideIcon("ConciergeBellIcon", [ + [ + "path", + { d: "M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z", key: "1pvr1r" } + ], + ["path", { d: "M20 16a8 8 0 1 0-16 0", key: "1pa543" }], + ["path", { d: "M12 4v4", key: "1bq03y" }], + ["path", { d: "M10 4h4", key: "1xpv9s" }] +]); + +const Cone = createLucideIcon("ConeIcon", [ + ["path", { d: "m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98", key: "53pte7" }], + ["ellipse", { cx: "12", cy: "19", rx: "9", ry: "3", key: "1ji25f" }] +]); + +const Construction = createLucideIcon("ConstructionIcon", [ + ["rect", { x: "2", y: "6", width: "20", height: "8", rx: "1", key: "1estib" }], + ["path", { d: "M17 14v7", key: "7m2elx" }], + ["path", { d: "M7 14v7", key: "1cm7wv" }], + ["path", { d: "M17 3v3", key: "1v4jwn" }], + ["path", { d: "M7 3v3", key: "7o6guu" }], + ["path", { d: "M10 14 2.3 6.3", key: "1023jk" }], + ["path", { d: "m14 6 7.7 7.7", key: "1s8pl2" }], + ["path", { d: "m8 6 8 8", key: "hl96qh" }] +]); + +const ContactRound = createLucideIcon("ContactRoundIcon", [ + ["path", { d: "M16 2v2", key: "scm5qe" }], + ["path", { d: "M17.915 22a6 6 0 0 0-12 0", key: "suqz9p" }], + ["path", { d: "M8 2v2", key: "pbkmx" }], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", key: "12vinp" }] +]); + +const Contact = createLucideIcon("ContactIcon", [ + ["path", { d: "M16 2v2", key: "scm5qe" }], + ["path", { d: "M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2", key: "1waht3" }], + ["path", { d: "M8 2v2", key: "pbkmx" }], + ["circle", { cx: "12", cy: "11", r: "3", key: "itu57m" }], + ["rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", key: "12vinp" }] +]); + +const Container = createLucideIcon("ContainerIcon", [ + [ + "path", + { + d: "M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z", + key: "1t2lqe" + } + ], + ["path", { d: "M10 21.9V14L2.1 9.1", key: "o7czzq" }], + ["path", { d: "m10 14 11.9-6.9", key: "zm5e20" }], + ["path", { d: "M14 19.8v-8.1", key: "159ecu" }], + ["path", { d: "M18 17.5V9.4", key: "11uown" }] +]); + +const Contrast = createLucideIcon("ContrastIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 18a6 6 0 0 0 0-12v12z", key: "j4l70d" }] +]); + +const Cookie = createLucideIcon("CookieIcon", [ + ["path", { d: "M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5", key: "laymnq" }], + ["path", { d: "M8.5 8.5v.01", key: "ue8clq" }], + ["path", { d: "M16 15.5v.01", key: "14dtrp" }], + ["path", { d: "M12 12v.01", key: "u5ubse" }], + ["path", { d: "M11 17v.01", key: "1hyl5a" }], + ["path", { d: "M7 14v.01", key: "uct60s" }] +]); + +const CookingPot = createLucideIcon("CookingPotIcon", [ + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8", key: "u0tga0" }], + ["path", { d: "m4 8 16-4", key: "16g0ng" }], + [ + "path", + { + d: "m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8", + key: "12cejc" + } + ] +]); + +const CopyCheck = createLucideIcon("CopyCheckIcon", [ + ["path", { d: "m12 15 2 2 4-4", key: "2c609p" }], + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const CopyMinus = createLucideIcon("CopyMinusIcon", [ + ["line", { x1: "12", x2: "18", y1: "15", y2: "15", key: "1nscbv" }], + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const CopyPlus = createLucideIcon("CopyPlusIcon", [ + ["line", { x1: "15", x2: "15", y1: "12", y2: "18", key: "1p7wdc" }], + ["line", { x1: "12", x2: "18", y1: "15", y2: "15", key: "1nscbv" }], + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const CopySlash = createLucideIcon("CopySlashIcon", [ + ["line", { x1: "12", x2: "18", y1: "18", y2: "12", key: "ebkxgr" }], + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const CopyX = createLucideIcon("CopyXIcon", [ + ["line", { x1: "12", x2: "18", y1: "12", y2: "18", key: "1rg63v" }], + ["line", { x1: "12", x2: "18", y1: "18", y2: "12", key: "ebkxgr" }], + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const Copy = createLucideIcon("CopyIcon", [ + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }] +]); + +const Copyleft = createLucideIcon("CopyleftIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M9.17 14.83a4 4 0 1 0 0-5.66", key: "1sveal" }] +]); + +const Copyright = createLucideIcon("CopyrightIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M14.83 14.83a4 4 0 1 1 0-5.66", key: "1i56pz" }] +]); + +const CornerDownLeft = createLucideIcon("CornerDownLeftIcon", [ + ["polyline", { points: "9 10 4 15 9 20", key: "r3jprv" }], + ["path", { d: "M20 4v7a4 4 0 0 1-4 4H4", key: "6o5b7l" }] +]); + +const CornerDownRight = createLucideIcon("CornerDownRightIcon", [ + ["polyline", { points: "15 10 20 15 15 20", key: "1q7qjw" }], + ["path", { d: "M4 4v7a4 4 0 0 0 4 4h12", key: "z08zvw" }] +]); + +const CornerLeftDown = createLucideIcon("CornerLeftDownIcon", [ + ["polyline", { points: "14 15 9 20 4 15", key: "nkc4i" }], + ["path", { d: "M20 4h-7a4 4 0 0 0-4 4v12", key: "nbpdq2" }] +]); + +const CornerLeftUp = createLucideIcon("CornerLeftUpIcon", [ + ["polyline", { points: "14 9 9 4 4 9", key: "m9oyvo" }], + ["path", { d: "M20 20h-7a4 4 0 0 1-4-4V4", key: "1blwi3" }] +]); + +const CornerRightDown = createLucideIcon("CornerRightDownIcon", [ + ["polyline", { points: "10 15 15 20 20 15", key: "axus6l" }], + ["path", { d: "M4 4h7a4 4 0 0 1 4 4v12", key: "wcbgct" }] +]); + +const CornerRightUp = createLucideIcon("CornerRightUpIcon", [ + ["polyline", { points: "10 9 15 4 20 9", key: "1lr6px" }], + ["path", { d: "M4 20h7a4 4 0 0 0 4-4V4", key: "1plgdj" }] +]); + +const CornerUpLeft = createLucideIcon("CornerUpLeftIcon", [ + ["polyline", { points: "9 14 4 9 9 4", key: "881910" }], + ["path", { d: "M20 20v-7a4 4 0 0 0-4-4H4", key: "1nkjon" }] +]); + +const CornerUpRight = createLucideIcon("CornerUpRightIcon", [ + ["polyline", { points: "15 14 20 9 15 4", key: "1tbx3s" }], + ["path", { d: "M4 20v-7a4 4 0 0 1 4-4h12", key: "1lu4f8" }] +]); + +const Cpu = createLucideIcon("CpuIcon", [ + ["rect", { width: "16", height: "16", x: "4", y: "4", rx: "2", key: "14l7u7" }], + ["rect", { width: "6", height: "6", x: "9", y: "9", rx: "1", key: "5aljv4" }], + ["path", { d: "M15 2v2", key: "13l42r" }], + ["path", { d: "M15 20v2", key: "15mkzm" }], + ["path", { d: "M2 15h2", key: "1gxd5l" }], + ["path", { d: "M2 9h2", key: "1bbxkp" }], + ["path", { d: "M20 15h2", key: "19e6y8" }], + ["path", { d: "M20 9h2", key: "19tzq7" }], + ["path", { d: "M9 2v2", key: "165o2o" }], + ["path", { d: "M9 20v2", key: "i2bqo8" }] +]); + +const CreativeCommons = createLucideIcon("CreativeCommonsIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + [ + "path", + { d: "M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1", key: "1ss3eq" } + ], + [ + "path", + { d: "M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1", key: "1od56t" } + ] +]); + +const CreditCard = createLucideIcon("CreditCardIcon", [ + ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }], + ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }] +]); + +const Croissant = createLucideIcon("CroissantIcon", [ + [ + "path", + { + d: "m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z", + key: "1ozxlb" + } + ], + [ + "path", + { + d: "m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83", + key: "ffuyb5" + } + ], + ["path", { d: "M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4", key: "osnpzi" }], + [ + "path", + { + d: "m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2", + key: "1vubaw" + } + ], + ["path", { d: "M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5", key: "wxr772" }] +]); + +const Crop = createLucideIcon("CropIcon", [ + ["path", { d: "M6 2v14a2 2 0 0 0 2 2h14", key: "ron5a4" }], + ["path", { d: "M18 22V8a2 2 0 0 0-2-2H2", key: "7s9ehn" }] +]); + +const Cross = createLucideIcon("CrossIcon", [ + [ + "path", + { + d: "M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z", + key: "1xbrqy" + } + ] +]); + +const Crosshair = createLucideIcon("CrosshairIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["line", { x1: "22", x2: "18", y1: "12", y2: "12", key: "l9bcsi" }], + ["line", { x1: "6", x2: "2", y1: "12", y2: "12", key: "13hhkx" }], + ["line", { x1: "12", x2: "12", y1: "6", y2: "2", key: "10w3f3" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "18", key: "15g9kq" }] +]); + +const Crown = createLucideIcon("CrownIcon", [ + [ + "path", + { + d: "M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z", + key: "1vdc57" + } + ], + ["path", { d: "M5 21h14", key: "11awu3" }] +]); + +const Cuboid = createLucideIcon("CuboidIcon", [ + [ + "path", + { + d: "m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z", + key: "1u2ovd" + } + ], + ["path", { d: "M10 22v-8L2.25 9.15", key: "11pn4q" }], + ["path", { d: "m10 14 11.77-6.87", key: "1kt1wh" }] +]); + +const CupSoda = createLucideIcon("CupSodaIcon", [ + ["path", { d: "m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8", key: "8166m8" }], + ["path", { d: "M5 8h14", key: "pcz4l3" }], + ["path", { d: "M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0", key: "yjz344" }], + ["path", { d: "m12 8 1-6h2", key: "3ybfa4" }] +]); + +const Currency = createLucideIcon("CurrencyIcon", [ + ["circle", { cx: "12", cy: "12", r: "8", key: "46899m" }], + ["line", { x1: "3", x2: "6", y1: "3", y2: "6", key: "1jkytn" }], + ["line", { x1: "21", x2: "18", y1: "3", y2: "6", key: "14zfjt" }], + ["line", { x1: "3", x2: "6", y1: "21", y2: "18", key: "iusuec" }], + ["line", { x1: "21", x2: "18", y1: "21", y2: "18", key: "yj2dd7" }] +]); + +const Cylinder = createLucideIcon("CylinderIcon", [ + ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }], + ["path", { d: "M3 5v14a9 3 0 0 0 18 0V5", key: "aqi0yr" }] +]); + +const Dam = createLucideIcon("DamIcon", [ + [ + "path", + { d: "M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", key: "157kva" } + ], + ["path", { d: "M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", key: "d7q6m6" }], + ["path", { d: "M2 10h4", key: "l0bgd4" }], + ["path", { d: "M2 14h4", key: "1gsvsf" }], + ["path", { d: "M2 18h4", key: "1bu2t1" }], + ["path", { d: "M2 6h4", key: "aawbzj" }], + [ + "path", + { d: "M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z", key: "pr6s65" } + ] +]); + +const DatabaseBackup = createLucideIcon("DatabaseBackupIcon", [ + ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }], + ["path", { d: "M3 12a9 3 0 0 0 5 2.69", key: "1ui2ym" }], + ["path", { d: "M21 9.3V5", key: "6k6cib" }], + ["path", { d: "M3 5v14a9 3 0 0 0 6.47 2.88", key: "i62tjy" }], + ["path", { d: "M12 12v4h4", key: "1bxaet" }], + [ + "path", + { + d: "M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16", + key: "1f4ei9" + } + ] +]); + +const DatabaseZap = createLucideIcon("DatabaseZapIcon", [ + ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }], + ["path", { d: "M3 5V19A9 3 0 0 0 15 21.84", key: "14ibmq" }], + ["path", { d: "M21 5V8", key: "1marbg" }], + ["path", { d: "M21 12L18 17H22L19 22", key: "zafso" }], + ["path", { d: "M3 12A9 3 0 0 0 14.59 14.87", key: "1y4wr8" }] +]); + +const Database = createLucideIcon("DatabaseIcon", [ + ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }], + ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }], + ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }] +]); + +const Delete = createLucideIcon("DeleteIcon", [ + [ + "path", + { + d: "M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z", + key: "1yo7s0" + } + ], + ["path", { d: "m12 9 6 6", key: "anjzzh" }], + ["path", { d: "m18 9-6 6", key: "1fp51s" }] +]); + +const Dessert = createLucideIcon("DessertIcon", [ + ["circle", { cx: "12", cy: "4", r: "2", key: "muu5ef" }], + [ + "path", + { + d: "M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8", + key: "lfo06j" + } + ], + ["path", { d: "M3.2 14.8a9 9 0 0 0 17.6 0", key: "12xarc" }] +]); + +const Diameter = createLucideIcon("DiameterIcon", [ + ["circle", { cx: "19", cy: "19", r: "2", key: "17f5cg" }], + ["circle", { cx: "5", cy: "5", r: "2", key: "1gwv83" }], + ["path", { d: "M6.48 3.66a10 10 0 0 1 13.86 13.86", key: "xr8kdq" }], + ["path", { d: "m6.41 6.41 11.18 11.18", key: "uhpjw7" }], + ["path", { d: "M3.66 6.48a10 10 0 0 0 13.86 13.86", key: "cldpwv" }] +]); + +const DiamondMinus = createLucideIcon("DiamondMinusIcon", [ + [ + "path", + { + d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z", + key: "1ey20j" + } + ], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const DiamondPercent = createLucideIcon("DiamondPercentIcon", [ + [ + "path", + { + d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z", + key: "1tpxz2" + } + ], + ["path", { d: "M9.2 9.2h.01", key: "1b7bvt" }], + ["path", { d: "m14.5 9.5-5 5", key: "17q4r4" }], + ["path", { d: "M14.7 14.8h.01", key: "17nsh4" }] +]); + +const DiamondPlus = createLucideIcon("DiamondPlusIcon", [ + ["path", { d: "M12 8v8", key: "napkw2" }], + [ + "path", + { + d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z", + key: "1ey20j" + } + ], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const Diamond = createLucideIcon("DiamondIcon", [ + [ + "path", + { + d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z", + key: "1f1r0c" + } + ] +]); + +const Dice1 = createLucideIcon("Dice1Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }] +]); + +const Dice2 = createLucideIcon("Dice2Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M15 9h.01", key: "x1ddxp" }], + ["path", { d: "M9 15h.01", key: "fzyn71" }] +]); + +const Dice3 = createLucideIcon("Dice3Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M16 8h.01", key: "cr5u4v" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M8 16h.01", key: "18s6g9" }] +]); + +const Dice4 = createLucideIcon("Dice4Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M16 8h.01", key: "cr5u4v" }], + ["path", { d: "M8 8h.01", key: "1e4136" }], + ["path", { d: "M8 16h.01", key: "18s6g9" }], + ["path", { d: "M16 16h.01", key: "1f9h7w" }] +]); + +const Dice5 = createLucideIcon("Dice5Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M16 8h.01", key: "cr5u4v" }], + ["path", { d: "M8 8h.01", key: "1e4136" }], + ["path", { d: "M8 16h.01", key: "18s6g9" }], + ["path", { d: "M16 16h.01", key: "1f9h7w" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }] +]); + +const Dice6 = createLucideIcon("Dice6Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M16 8h.01", key: "cr5u4v" }], + ["path", { d: "M16 12h.01", key: "1l6xoz" }], + ["path", { d: "M16 16h.01", key: "1f9h7w" }], + ["path", { d: "M8 8h.01", key: "1e4136" }], + ["path", { d: "M8 12h.01", key: "czm47f" }], + ["path", { d: "M8 16h.01", key: "18s6g9" }] +]); + +const Dices = createLucideIcon("DicesIcon", [ + ["rect", { width: "12", height: "12", x: "2", y: "10", rx: "2", ry: "2", key: "6agr2n" }], + [ + "path", + { d: "m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6", key: "1o487t" } + ], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "M10 14h.01", key: "ssrbsk" }], + ["path", { d: "M15 6h.01", key: "cblpky" }], + ["path", { d: "M18 9h.01", key: "2061c0" }] +]); + +const Diff = createLucideIcon("DiffIcon", [ + ["path", { d: "M12 3v14", key: "7cf3v8" }], + ["path", { d: "M5 10h14", key: "elsbfy" }], + ["path", { d: "M5 21h14", key: "11awu3" }] +]); + +const Disc2 = createLucideIcon("Disc2Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }] +]); + +const Disc3 = createLucideIcon("Disc3Icon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M6 12c0-1.7.7-3.2 1.8-4.2", key: "oqkarx" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "M18 12c0 1.7-.7 3.2-1.8 4.2", key: "1eah9h" }] +]); + +const DiscAlbum = createLucideIcon("DiscAlbumIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["circle", { cx: "12", cy: "12", r: "5", key: "nd82uf" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }] +]); + +const Disc = createLucideIcon("DiscIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }] +]); + +const Divide = createLucideIcon("DivideIcon", [ + ["circle", { cx: "12", cy: "6", r: "1", key: "1bh7o1" }], + ["line", { x1: "5", x2: "19", y1: "12", y2: "12", key: "13b5wn" }], + ["circle", { cx: "12", cy: "18", r: "1", key: "lqb9t5" }] +]); + +const DnaOff = createLucideIcon("DnaOffIcon", [ + ["path", { d: "M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8", key: "1bivrr" }], + ["path", { d: "m17 6-2.891-2.891", key: "xu6p2f" }], + ["path", { d: "M2 15c3.333-3 6.667-3 10-3", key: "nxix30" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "m20 9 .891.891", key: "3xwk7g" }], + ["path", { d: "M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1", key: "18cutr" }], + ["path", { d: "M3.109 14.109 4 15", key: "q76aoh" }], + ["path", { d: "m6.5 12.5 1 1", key: "cs35ky" }], + ["path", { d: "m7 18 2.891 2.891", key: "1sisit" }], + ["path", { d: "M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16", key: "rlvei3" }] +]); + +const Dna = createLucideIcon("DnaIcon", [ + ["path", { d: "m10 16 1.5 1.5", key: "11lckj" }], + ["path", { d: "m14 8-1.5-1.5", key: "1ohn8i" }], + ["path", { d: "M15 2c-1.798 1.998-2.518 3.995-2.807 5.993", key: "80uv8i" }], + ["path", { d: "m16.5 10.5 1 1", key: "696xn5" }], + ["path", { d: "m17 6-2.891-2.891", key: "xu6p2f" }], + ["path", { d: "M2 15c6.667-6 13.333 0 20-6", key: "1pyr53" }], + ["path", { d: "m20 9 .891.891", key: "3xwk7g" }], + ["path", { d: "M3.109 14.109 4 15", key: "q76aoh" }], + ["path", { d: "m6.5 12.5 1 1", key: "cs35ky" }], + ["path", { d: "m7 18 2.891 2.891", key: "1sisit" }], + ["path", { d: "M9 22c1.798-1.998 2.518-3.995 2.807-5.993", key: "q3hbxp" }] +]); + +const Dock = createLucideIcon("DockIcon", [ + ["path", { d: "M2 8h20", key: "d11cs7" }], + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M6 16h12", key: "u522kt" }] +]); + +const Dog = createLucideIcon("DogIcon", [ + ["path", { d: "M11.25 16.25h1.5L12 17z", key: "w7jh35" }], + ["path", { d: "M16 14v.5", key: "1lajdz" }], + [ + "path", + { + d: "M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309", + key: "u7s9ue" + } + ], + ["path", { d: "M8 14v.5", key: "1nzgdb" }], + [ + "path", + { + d: "M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5", + key: "v8hric" + } + ] +]); + +const DollarSign = createLucideIcon("DollarSignIcon", [ + ["line", { x1: "12", x2: "12", y1: "2", y2: "22", key: "7eqyqh" }], + ["path", { d: "M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6", key: "1b0p4s" }] +]); + +const Donut = createLucideIcon("DonutIcon", [ + [ + "path", + { + d: "M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3", + key: "19sr3x" + } + ], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }] +]); + +const DoorClosed = createLucideIcon("DoorClosedIcon", [ + ["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }], + ["path", { d: "M2 20h20", key: "owomy5" }], + ["path", { d: "M14 12v.01", key: "xfcn54" }] +]); + +const DoorOpen = createLucideIcon("DoorOpenIcon", [ + ["path", { d: "M13 4h3a2 2 0 0 1 2 2v14", key: "hrm0s9" }], + ["path", { d: "M2 20h3", key: "1gaodv" }], + ["path", { d: "M13 20h9", key: "s90cdi" }], + ["path", { d: "M10 12v.01", key: "vx6srw" }], + [ + "path", + { + d: "M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z", + key: "199qr4" + } + ] +]); + +const Dot = createLucideIcon("DotIcon", [ + ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }] +]); + +const Download = createLucideIcon("DownloadIcon", [ + ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }], + ["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }], + ["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }] +]); + +const DraftingCompass = createLucideIcon("DraftingCompassIcon", [ + ["path", { d: "m12.99 6.74 1.93 3.44", key: "iwagvd" }], + ["path", { d: "M19.136 12a10 10 0 0 1-14.271 0", key: "ppmlo4" }], + ["path", { d: "m21 21-2.16-3.84", key: "vylbct" }], + ["path", { d: "m3 21 8.02-14.26", key: "1ssaw4" }], + ["circle", { cx: "12", cy: "5", r: "2", key: "f1ur92" }] +]); + +const Drama = createLucideIcon("DramaIcon", [ + ["path", { d: "M10 11h.01", key: "d2at3l" }], + ["path", { d: "M14 6h.01", key: "k028ub" }], + ["path", { d: "M18 6h.01", key: "1v4wsw" }], + ["path", { d: "M6.5 13.1h.01", key: "1748ia" }], + ["path", { d: "M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3", key: "172yzv" }], + ["path", { d: "M17.4 9.9c-.8.8-2 .8-2.8 0", key: "1obv0w" }], + [ + "path", + { + d: "M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7", + key: "rqjl8i" + } + ], + ["path", { d: "M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4", key: "1mr6wy" }] +]); + +const Dribbble = createLucideIcon("DribbbleIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94", key: "hpej1" }], + ["path", { d: "M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32", key: "1tr44o" }], + ["path", { d: "M8.56 2.75c4.37 6 6 9.42 8 17.72", key: "kbh691" }] +]); + +const Drill = createLucideIcon("DrillIcon", [ + [ + "path", + { d: "M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z", key: "ioqxb1" } + ], + [ + "path", + { + d: "M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8", + key: "1rs59n" + } + ], + ["path", { d: "M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3", key: "105ega" }], + ["path", { d: "M18 6h4", key: "66u95g" }], + ["path", { d: "m5 10-2 8", key: "xt2lic" }], + ["path", { d: "m7 18 2-8", key: "1bzku2" }] +]); + +const DropletOff = createLucideIcon("DropletOffIcon", [ + [ + "path", + { + d: "M18.715 13.186C18.29 11.858 17.384 10.607 16 9.5c-2-1.6-3.5-4-4-6.5a10.7 10.7 0 0 1-.884 2.586", + key: "8suz2t" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + [ + "path", + { d: "M8.795 8.797A11 11 0 0 1 8 9.5C6 11.1 5 13 5 15a7 7 0 0 0 13.222 3.208", key: "19dw9m" } + ] +]); + +const Droplet = createLucideIcon("DropletIcon", [ + [ + "path", + { + d: "M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z", + key: "c7niix" + } + ] +]); + +const Droplets = createLucideIcon("DropletsIcon", [ + [ + "path", + { + d: "M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z", + key: "1ptgy4" + } + ], + [ + "path", + { + d: "M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97", + key: "1sl1rz" + } + ] +]); + +const Drum = createLucideIcon("DrumIcon", [ + ["path", { d: "m2 2 8 8", key: "1v6059" }], + ["path", { d: "m22 2-8 8", key: "173r8a" }], + ["ellipse", { cx: "12", cy: "9", rx: "10", ry: "5", key: "liohsx" }], + ["path", { d: "M7 13.4v7.9", key: "1yi6u9" }], + ["path", { d: "M12 14v8", key: "1tn2tj" }], + ["path", { d: "M17 13.4v7.9", key: "eqz2v3" }], + ["path", { d: "M2 9v8a10 5 0 0 0 20 0V9", key: "1750ul" }] +]); + +const Drumstick = createLucideIcon("DrumstickIcon", [ + [ + "path", + { d: "M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23", key: "1dtqwm" } + ], + [ + "path", + { + d: "m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59", + key: "1oq1fw" + } + ] +]); + +const Dumbbell = createLucideIcon("DumbbellIcon", [ + ["path", { d: "M14.4 14.4 9.6 9.6", key: "ic80wn" }], + [ + "path", + { + d: "M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z", + key: "nnl7wr" + } + ], + ["path", { d: "m21.5 21.5-1.4-1.4", key: "1f1ice" }], + ["path", { d: "M3.9 3.9 2.5 2.5", key: "1evmna" }], + [ + "path", + { + d: "M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z", + key: "yhosts" + } + ] +]); + +const EarOff = createLucideIcon("EarOffIcon", [ + ["path", { d: "M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46", key: "1qngmn" }], + ["path", { d: "M6 8.5c0-.75.13-1.47.36-2.14", key: "b06bma" }], + ["path", { d: "M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76", key: "g10hsz" }], + ["path", { d: "M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18", key: "ygzou7" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Ear = createLucideIcon("EarIcon", [ + ["path", { d: "M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0", key: "1dfaln" }], + ["path", { d: "M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4", key: "1qnva7" }] +]); + +const EarthLock = createLucideIcon("EarthLockIcon", [ + ["path", { d: "M7 3.34V5a3 3 0 0 0 3 3", key: "w732o8" }], + ["path", { d: "M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05", key: "f02343" }], + ["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }], + ["path", { d: "M12 2a10 10 0 1 0 9.54 13", key: "zjsr6q" }], + ["path", { d: "M20 6V4a2 2 0 1 0-4 0v2", key: "1of5e8" }], + ["rect", { width: "8", height: "5", x: "14", y: "6", rx: "1", key: "1fmf51" }] +]); + +const Earth = createLucideIcon("EarthIcon", [ + ["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }], + [ + "path", + { + d: "M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17", + key: "1tzkfa" + } + ], + ["path", { d: "M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05", key: "14pb5j" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const Eclipse = createLucideIcon("EclipseIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 2a7 7 0 1 0 10 10", key: "1yuj32" }] +]); + +const EggFried = createLucideIcon("EggFriedIcon", [ + ["circle", { cx: "11.5", cy: "12.5", r: "3.5", key: "1cl1mi" }], + [ + "path", + { + d: "M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z", + key: "165ef9" + } + ] +]); + +const EggOff = createLucideIcon("EggOffIcon", [ + [ + "path", + { + d: "M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625", + key: "6et380" + } + ], + [ + "path", + { + d: "M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297", + key: "gcdc3f" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Egg = createLucideIcon("EggIcon", [ + [ + "path", + { + d: "M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z", + key: "1c39pg" + } + ] +]); + +const EllipsisVertical = createLucideIcon("EllipsisVerticalIcon", [ + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }], + ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }] +]); + +const Ellipsis = createLucideIcon("EllipsisIcon", [ + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }], + ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }] +]); + +const EqualApproximately = createLucideIcon("EqualApproximatelyIcon", [ + ["path", { d: "M5 15a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0", key: "yrdkhy" }], + ["path", { d: "M5 9a6.5 6.5 0 0 1 7 0 6.5 6.5 0 0 0 7 0", key: "gzkvyz" }] +]); + +const EqualNot = createLucideIcon("EqualNotIcon", [ + ["line", { x1: "5", x2: "19", y1: "9", y2: "9", key: "1nwqeh" }], + ["line", { x1: "5", x2: "19", y1: "15", y2: "15", key: "g8yjpy" }], + ["line", { x1: "19", x2: "5", y1: "5", y2: "19", key: "1x9vlm" }] +]); + +const Equal = createLucideIcon("EqualIcon", [ + ["line", { x1: "5", x2: "19", y1: "9", y2: "9", key: "1nwqeh" }], + ["line", { x1: "5", x2: "19", y1: "15", y2: "15", key: "g8yjpy" }] +]); + +const Eraser = createLucideIcon("EraserIcon", [ + [ + "path", + { + d: "m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21", + key: "182aya" + } + ], + ["path", { d: "M22 21H7", key: "t4ddhn" }], + ["path", { d: "m5 11 9 9", key: "1mo9qw" }] +]); + +const EthernetPort = createLucideIcon("EthernetPortIcon", [ + [ + "path", + { + d: "m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z", + key: "rbahqx" + } + ], + ["path", { d: "M6 8v1", key: "1636ez" }], + ["path", { d: "M10 8v1", key: "1talb4" }], + ["path", { d: "M14 8v1", key: "1rsfgr" }], + ["path", { d: "M18 8v1", key: "gnkwox" }] +]); + +const Euro = createLucideIcon("EuroIcon", [ + ["path", { d: "M4 10h12", key: "1y6xl8" }], + ["path", { d: "M4 14h9", key: "1loblj" }], + [ + "path", + { + d: "M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2", + key: "1j6lzo" + } + ] +]); + +const Expand = createLucideIcon("ExpandIcon", [ + ["path", { d: "m15 15 6 6", key: "1s409w" }], + ["path", { d: "m15 9 6-6", key: "ko1vev" }], + ["path", { d: "M21 16.2V21h-4.8", key: "1hrera" }], + ["path", { d: "M21 7.8V3h-4.8", key: "ul1q53" }], + ["path", { d: "M3 16.2V21h4.8", key: "1x04uo" }], + ["path", { d: "m3 21 6-6", key: "wwnumi" }], + ["path", { d: "M3 7.8V3h4.8", key: "1ijppm" }], + ["path", { d: "M9 9 3 3", key: "v551iv" }] +]); + +const ExternalLink = createLucideIcon("ExternalLinkIcon", [ + ["path", { d: "M15 3h6v6", key: "1q9fwt" }], + ["path", { d: "M10 14 21 3", key: "gplh6r" }], + ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }] +]); + +const EyeClosed = createLucideIcon("EyeClosedIcon", [ + ["path", { d: "m15 18-.722-3.25", key: "1j64jw" }], + ["path", { d: "M2 8a10.645 10.645 0 0 0 20 0", key: "1e7gxb" }], + ["path", { d: "m20 15-1.726-2.05", key: "1cnuld" }], + ["path", { d: "m4 15 1.726-2.05", key: "1dsqqd" }], + ["path", { d: "m9 18 .722-3.25", key: "ypw2yx" }] +]); + +const EyeOff = createLucideIcon("EyeOffIcon", [ + [ + "path", + { + d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49", + key: "ct8e1f" + } + ], + ["path", { d: "M14.084 14.158a3 3 0 0 1-4.242-4.242", key: "151rxh" }], + [ + "path", + { + d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143", + key: "13bj9a" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Eye = createLucideIcon("EyeIcon", [ + [ + "path", + { + d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0", + key: "1nclc0" + } + ], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }] +]); + +const Facebook = createLucideIcon("FacebookIcon", [ + [ + "path", + { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z", key: "1jg4f8" } + ] +]); + +const Factory = createLucideIcon("FactoryIcon", [ + [ + "path", + { + d: "M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "159hny" + } + ], + ["path", { d: "M17 18h1", key: "uldtlt" }], + ["path", { d: "M12 18h1", key: "s9uhes" }], + ["path", { d: "M7 18h1", key: "1neino" }] +]); + +const Fan = createLucideIcon("FanIcon", [ + [ + "path", + { + d: "M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z", + key: "484a7f" + } + ], + ["path", { d: "M12 12v.01", key: "u5ubse" }] +]); + +const FastForward = createLucideIcon("FastForwardIcon", [ + ["polygon", { points: "13 19 22 12 13 5 13 19", key: "587y9g" }], + ["polygon", { points: "2 19 11 12 2 5 2 19", key: "3pweh0" }] +]); + +const Feather = createLucideIcon("FeatherIcon", [ + [ + "path", + { + d: "M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z", + key: "18jl4k" + } + ], + ["path", { d: "M16 8 2 22", key: "vp34q" }], + ["path", { d: "M17.5 15H9", key: "1oz8nu" }] +]); + +const Fence = createLucideIcon("FenceIcon", [ + ["path", { d: "M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z", key: "1n2rgs" }], + ["path", { d: "M6 8h4", key: "utf9t1" }], + ["path", { d: "M6 18h4", key: "12yh4b" }], + ["path", { d: "m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z", key: "3ha7mj" }], + ["path", { d: "M14 8h4", key: "1r8wg2" }], + ["path", { d: "M14 18h4", key: "1t3kbu" }], + ["path", { d: "m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z", key: "dfd4e2" }] +]); + +const FerrisWheel = createLucideIcon("FerrisWheelIcon", [ + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "M12 2v4", key: "3427ic" }], + ["path", { d: "m6.8 15-3.5 2", key: "hjy98k" }], + ["path", { d: "m20.7 7-3.5 2", key: "f08gto" }], + ["path", { d: "M6.8 9 3.3 7", key: "1aevh4" }], + ["path", { d: "m20.7 17-3.5-2", key: "1liqo3" }], + ["path", { d: "m9 22 3-8 3 8", key: "wees03" }], + ["path", { d: "M8 22h8", key: "rmew8v" }], + ["path", { d: "M18 18.7a9 9 0 1 0-12 0", key: "dhzg4g" }] +]); + +const Figma = createLucideIcon("FigmaIcon", [ + ["path", { d: "M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z", key: "1340ok" }], + ["path", { d: "M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z", key: "1hz3m3" }], + ["path", { d: "M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z", key: "1oz8n2" }], + ["path", { d: "M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z", key: "1ff65i" }], + ["path", { d: "M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z", key: "pdip6e" }] +]); + +const FileArchive = createLucideIcon("FileArchiveIcon", [ + ["path", { d: "M10 12v-1", key: "v7bkov" }], + ["path", { d: "M10 18v-2", key: "1cjy8d" }], + ["path", { d: "M10 7V6", key: "dljcrl" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { d: "M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01", key: "gkbcor" } + ], + ["circle", { cx: "10", cy: "20", r: "2", key: "1xzdoj" }] +]); + +const FileAudio2 = createLucideIcon("FileAudio2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2", key: "17k7jt" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["circle", { cx: "3", cy: "17", r: "1", key: "vo6nti" }], + ["path", { d: "M2 17v-3a4 4 0 0 1 8 0v3", key: "1ggdre" }], + ["circle", { cx: "9", cy: "17", r: "1", key: "bc1fq4" }] +]); + +const FileAudio = createLucideIcon("FileAudioIcon", [ + ["path", { d: "M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "rslqgf" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { + d: "M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0", + key: "9f7x3i" + } + ] +]); + +const FileAxis3d = createLucideIcon("FileAxis3dIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m8 18 4-4", key: "12zab0" }], + ["path", { d: "M8 10v8h8", key: "tlaukw" }] +]); + +const FileBadge2 = createLucideIcon("FileBadge2Icon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m14 12.5 1 5.5-3-1-3 1 1-5.5", key: "14xlky" }] +]); + +const FileBadge = createLucideIcon("FileBadgeIcon", [ + ["path", { d: "M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "12ixgl" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z", key: "u0c8gj" }], + ["path", { d: "M7 16.5 8 22l-3-1-3 1 1-5.5", key: "5gm2nr" }] +]); + +const FileBox = createLucideIcon("FileBoxIcon", [ + ["path", { d: "M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "16lz6z" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { + d: "M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z", + key: "99pj1s" + } + ], + ["path", { d: "M7 17v5", key: "1yj1jh" }], + ["path", { d: "M11.7 14.2 7 17l-4.7-2.8", key: "1yk8tc" }] +]); + +const FileChartColumnIncreasing = createLucideIcon("FileChartColumnIncreasingIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M8 18v-2", key: "qcmpov" }], + ["path", { d: "M12 18v-4", key: "q1q25u" }], + ["path", { d: "M16 18v-6", key: "15y0np" }] +]); + +const FileChartColumn = createLucideIcon("FileChartColumnIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M8 18v-1", key: "zg0ygc" }], + ["path", { d: "M12 18v-6", key: "17g6i2" }], + ["path", { d: "M16 18v-3", key: "j5jt4h" }] +]); + +const FileChartLine = createLucideIcon("FileChartLineIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m16 13-3.5 3.5-2-2L8 17", key: "zz7yod" }] +]); + +const FileChartPie = createLucideIcon("FileChartPieIcon", [ + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5", key: "13ddob" }], + ["path", { d: "M4.017 11.512a6 6 0 1 0 8.466 8.475", key: "s6vs5t" }], + [ + "path", + { + d: "M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z", + key: "1dl6s6" + } + ] +]); + +const FileCheck2 = createLucideIcon("FileCheck2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m3 15 2 2 4-4", key: "1lhrkk" }] +]); + +const FileCheck = createLucideIcon("FileCheckIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m9 15 2 2 4-4", key: "1grp1n" }] +]); + +const FileClock = createLucideIcon("FileClockIcon", [ + ["path", { d: "M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "37hlfg" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["circle", { cx: "8", cy: "16", r: "6", key: "10v15b" }], + ["path", { d: "M9.5 17.5 8 16.25V14", key: "1o80t2" }] +]); + +const FileCode2 = createLucideIcon("FileCode2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m5 12-3 3 3 3", key: "oke12k" }], + ["path", { d: "m9 18 3-3-3-3", key: "112psh" }] +]); + +const FileCode = createLucideIcon("FileCodeIcon", [ + ["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }], + ["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }] +]); + +const FileCog = createLucideIcon("FileCogIcon", [ + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m3.2 12.9-.9-.4", key: "1i3dj5" }], + ["path", { d: "m3.2 15.1-.9.4", key: "1fvgj0" }], + [ + "path", + { + d: "M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5", + key: "1yo3oz" + } + ], + ["path", { d: "m4.9 11.2-.4-.9", key: "otmhb9" }], + ["path", { d: "m4.9 16.8-.4.9", key: "1b8z07" }], + ["path", { d: "m7.5 10.3-.4.9", key: "11k65u" }], + ["path", { d: "m7.5 17.7-.4-.9", key: "431x55" }], + ["path", { d: "m9.7 12.5-.9.4", key: "87sjan" }], + ["path", { d: "m9.7 15.5-.9-.4", key: "khqm91" }], + ["circle", { cx: "6", cy: "14", r: "3", key: "a1xfv6" }] +]); + +const FileDiff = createLucideIcon("FileDiffIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M9 10h6", key: "9gxzsh" }], + ["path", { d: "M12 13V7", key: "h0r20n" }], + ["path", { d: "M9 17h6", key: "r8uit2" }] +]); + +const FileDigit = createLucideIcon("FileDigitIcon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["rect", { width: "4", height: "6", x: "2", y: "12", rx: "2", key: "jm304g" }], + ["path", { d: "M10 12h2v6", key: "12zw74" }], + ["path", { d: "M10 18h4", key: "1ulq68" }] +]); + +const FileDown = createLucideIcon("FileDownIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M12 18v-6", key: "17g6i2" }], + ["path", { d: "m9 15 3 3 3-3", key: "1npd3o" }] +]); + +const FileHeart = createLucideIcon("FileHeartIcon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2", key: "17k7jt" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { + d: "M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z", + key: "1c1fso" + } + ] +]); + +const FileImage = createLucideIcon("FileImageIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }], + ["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }] +]); + +const FileInput = createLucideIcon("FileInputIcon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M2 15h10", key: "jfw4w8" }], + ["path", { d: "m9 18 3-3-3-3", key: "112psh" }] +]); + +const FileJson2 = createLucideIcon("FileJson2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { d: "M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1", key: "fq0c9t" } + ], + [ + "path", + { d: "M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1", key: "4gibmv" } + ] +]); + +const FileJson = createLucideIcon("FileJsonIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { d: "M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1", key: "1oajmo" } + ], + [ + "path", + { d: "M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1", key: "mpwhp6" } + ] +]); + +const FileKey2 = createLucideIcon("FileKey2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v6", key: "rc0qvx" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["circle", { cx: "4", cy: "16", r: "2", key: "1ehqvc" }], + ["path", { d: "m10 10-4.5 4.5", key: "7fwrp6" }], + ["path", { d: "m9 11 1 1", key: "wa6s5q" }] +]); + +const FileKey = createLucideIcon("FileKeyIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["circle", { cx: "10", cy: "16", r: "2", key: "4ckbqe" }], + ["path", { d: "m16 10-4.5 4.5", key: "7p3ebg" }], + ["path", { d: "m15 11 1 1", key: "1bsyx3" }] +]); + +const FileLock2 = createLucideIcon("FileLock2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v1", key: "jmtmu2" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["rect", { width: "8", height: "5", x: "2", y: "13", rx: "1", key: "10y5wo" }], + ["path", { d: "M8 13v-2a2 2 0 1 0-4 0v2", key: "1pdxzg" }] +]); + +const FileLock = createLucideIcon("FileLockIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["rect", { width: "8", height: "6", x: "8", y: "12", rx: "1", key: "3yr8at" }], + ["path", { d: "M10 12v-2a2 2 0 1 1 4 0v2", key: "j4i8d" }] +]); + +const FileMinus2 = createLucideIcon("FileMinus2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M3 15h6", key: "4e2qda" }] +]); + +const FileMinus = createLucideIcon("FileMinusIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M9 15h6", key: "cctwl0" }] +]); + +const FileMusic = createLucideIcon("FileMusicIcon", [ + ["path", { d: "M10.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v8.4", key: "1d3kfm" }], + ["path", { d: "M8 18v-7.7L16 9v7", key: "1oie6o" }], + ["circle", { cx: "14", cy: "16", r: "2", key: "1bzzi3" }], + ["circle", { cx: "6", cy: "18", r: "2", key: "1fncim" }] +]); + +const FileOutput = createLucideIcon("FileOutputIcon", [ + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2", key: "1vk7w2" }], + ["path", { d: "M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6", key: "1jink5" }], + ["path", { d: "m5 11-3 3", key: "1dgrs4" }], + ["path", { d: "m5 17-3-3h10", key: "1mvvaf" }] +]); + +const FilePenLine = createLucideIcon("FilePenLineIcon", [ + [ + "path", + { + d: "m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2", + key: "142zxg" + } + ], + [ + "path", + { + d: "M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "2t3380" + } + ], + ["path", { d: "M8 18h1", key: "13wk12" }] +]); + +const FilePen = createLucideIcon("FilePenIcon", [ + ["path", { d: "M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5", key: "1couwa" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { + d: "M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "1y4qbx" + } + ] +]); + +const FilePlus2 = createLucideIcon("FilePlus2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M3 15h6", key: "4e2qda" }], + ["path", { d: "M6 12v6", key: "1u72j0" }] +]); + +const FilePlus = createLucideIcon("FilePlusIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M9 15h6", key: "cctwl0" }], + ["path", { d: "M12 18v-6", key: "17g6i2" }] +]); + +const FileQuestion = createLucideIcon("FileQuestionIcon", [ + ["path", { d: "M12 17h.01", key: "p32p05" }], + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }], + ["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }] +]); + +const FileScan = createLucideIcon("FileScanIcon", [ + ["path", { d: "M20 10V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4", key: "1rdf37" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M16 14a2 2 0 0 0-2 2", key: "ceaadl" }], + ["path", { d: "M20 14a2 2 0 0 1 2 2", key: "1ny6zw" }], + ["path", { d: "M20 22a2 2 0 0 0 2-2", key: "1l9q4k" }], + ["path", { d: "M16 22a2 2 0 0 1-2-2", key: "1wqh5n" }] +]); + +const FileSearch2 = createLucideIcon("FileSearch2Icon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["circle", { cx: "11.5", cy: "14.5", r: "2.5", key: "1bq0ko" }], + ["path", { d: "M13.3 16.3 15 18", key: "2quom7" }] +]); + +const FileSearch = createLucideIcon("FileSearchIcon", [ + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { d: "M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3", key: "ms7g94" } + ], + ["path", { d: "m9 18-1.5-1.5", key: "1j6qii" }], + ["circle", { cx: "5", cy: "14", r: "3", key: "ufru5t" }] +]); + +const FileSliders = createLucideIcon("FileSlidersIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "M10 11v2", key: "1s651w" }], + ["path", { d: "M8 17h8", key: "wh5c61" }], + ["path", { d: "M14 16v2", key: "12fp5e" }] +]); + +const FileSpreadsheet = createLucideIcon("FileSpreadsheetIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M8 13h2", key: "yr2amv" }], + ["path", { d: "M14 13h2", key: "un5t4a" }], + ["path", { d: "M8 17h2", key: "2yhykz" }], + ["path", { d: "M14 17h2", key: "10kma7" }] +]); + +const FileStack = createLucideIcon("FileStackIcon", [ + ["path", { d: "M21 7h-3a2 2 0 0 1-2-2V2", key: "9rb54x" }], + [ + "path", + { + d: "M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z", + key: "1059l0" + } + ], + ["path", { d: "M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15", key: "16874u" }], + ["path", { d: "M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11", key: "k2ox98" }] +]); + +const FileSymlink = createLucideIcon("FileSymlinkIcon", [ + ["path", { d: "m10 18 3-3-3-3", key: "18f6ys" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { + d: "M4 11V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7", + key: "50q2rw" + } + ] +]); + +const FileTerminal = createLucideIcon("FileTerminalIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m8 16 2-2-2-2", key: "10vzyd" }], + ["path", { d: "M12 18h4", key: "1wd2n7" }] +]); + +const FileText = createLucideIcon("FileTextIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M10 9H8", key: "b1mrlr" }], + ["path", { d: "M16 13H8", key: "t4e002" }], + ["path", { d: "M16 17H8", key: "z1uh3a" }] +]); + +const FileType2 = createLucideIcon("FileType2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M2 13v-1h6v1", key: "1dh9dg" }], + ["path", { d: "M5 12v6", key: "150t9c" }], + ["path", { d: "M4 18h2", key: "1xrofg" }] +]); + +const FileType = createLucideIcon("FileTypeIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M9 13v-1h6v1", key: "1bb014" }], + ["path", { d: "M12 12v6", key: "3ahymv" }], + ["path", { d: "M11 18h2", key: "12mj7e" }] +]); + +const FileUp = createLucideIcon("FileUpIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M12 12v6", key: "3ahymv" }], + ["path", { d: "m15 15-3-3-3 3", key: "15xj92" }] +]); + +const FileUser = createLucideIcon("FileUserIcon", [ + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M15 18a3 3 0 1 0-6 0", key: "16awa0" }], + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }], + ["circle", { cx: "12", cy: "13", r: "2", key: "1c1ljs" }] +]); + +const FileVideo2 = createLucideIcon("FileVideo2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["rect", { width: "8", height: "6", x: "2", y: "12", rx: "1", key: "1a6c1e" }], + ["path", { d: "m10 15.5 4 2.5v-6l-4 2.5", key: "t7cp39" }] +]); + +const FileVideo = createLucideIcon("FileVideoIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }] +]); + +const FileVolume2 = createLucideIcon("FileVolume2Icon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "M8 15h.01", key: "a7atzg" }], + ["path", { d: "M11.5 13.5a2.5 2.5 0 0 1 0 3", key: "1fccat" }], + ["path", { d: "M15 12a5 5 0 0 1 0 6", key: "ps46cm" }] +]); + +const FileVolume = createLucideIcon("FileVolumeIcon", [ + ["path", { d: "M11 11a5 5 0 0 1 0 6", key: "193qb2" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + [ + "path", + { d: "M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23", key: "ifyjnl" } + ], + [ + "path", + { + d: "M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z", + key: "mk8rxu" + } + ] +]); + +const FileWarning = createLucideIcon("FileWarningIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M12 9v4", key: "juzpu7" }], + ["path", { d: "M12 17h.01", key: "p32p05" }] +]); + +const FileX2 = createLucideIcon("FileX2Icon", [ + ["path", { d: "M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4", key: "1pf5j1" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m8 12.5-5 5", key: "b853mi" }], + ["path", { d: "m3 12.5 5 5", key: "1qls4r" }] +]); + +const FileX = createLucideIcon("FileXIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ["path", { d: "m14.5 12.5-5 5", key: "b62r18" }], + ["path", { d: "m9.5 12.5 5 5", key: "1rk7el" }] +]); + +const File = createLucideIcon("FileIcon", [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }] +]); + +const Files = createLucideIcon("FilesIcon", [ + ["path", { d: "M20 7h-3a2 2 0 0 1-2-2V2", key: "x099mo" }], + ["path", { d: "M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z", key: "18t6ie" }], + ["path", { d: "M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8", key: "1nja0z" }] +]); + +const Film = createLucideIcon("FilmIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 3v18", key: "bbkbws" }], + ["path", { d: "M3 7.5h4", key: "zfgn84" }], + ["path", { d: "M3 12h18", key: "1i2n21" }], + ["path", { d: "M3 16.5h4", key: "1230mu" }], + ["path", { d: "M17 3v18", key: "in4fa5" }], + ["path", { d: "M17 7.5h4", key: "myr1c1" }], + ["path", { d: "M17 16.5h4", key: "go4c1d" }] +]); + +const FilterX = createLucideIcon("FilterXIcon", [ + ["path", { d: "M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055", key: "1fi1da" }], + ["path", { d: "m22 3-5 5", key: "12jva0" }], + ["path", { d: "m17 3 5 5", key: "k36vhe" }] +]); + +const Filter = createLucideIcon("FilterIcon", [ + ["polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3", key: "1yg77f" }] +]); + +const Fingerprint = createLucideIcon("FingerprintIcon", [ + ["path", { d: "M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4", key: "1nerag" }], + ["path", { d: "M14 13.12c0 2.38 0 6.38-1 8.88", key: "o46ks0" }], + ["path", { d: "M17.29 21.02c.12-.6.43-2.3.5-3.02", key: "ptglia" }], + ["path", { d: "M2 12a10 10 0 0 1 18-6", key: "ydlgp0" }], + ["path", { d: "M2 16h.01", key: "1gqxmh" }], + ["path", { d: "M21.8 16c.2-2 .131-5.354 0-6", key: "drycrb" }], + ["path", { d: "M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2", key: "1tidbn" }], + ["path", { d: "M8.65 22c.21-.66.45-1.32.57-2", key: "13wd9y" }], + ["path", { d: "M9 6.8a6 6 0 0 1 9 5.2v2", key: "1fr1j5" }] +]); + +const FireExtinguisher = createLucideIcon("FireExtinguisherIcon", [ + ["path", { d: "M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5", key: "sqyvz" }], + ["path", { d: "M9 18h8", key: "i7pszb" }], + ["path", { d: "M18 3h-3", key: "7idoqj" }], + ["path", { d: "M11 3a6 6 0 0 0-6 6v11", key: "1v5je3" }], + ["path", { d: "M5 13h4", key: "svpcxo" }], + ["path", { d: "M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z", key: "vsjego" }] +]); + +const FishOff = createLucideIcon("FishOffIcon", [ + [ + "path", + { + d: "M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058", + key: "1j1hse" + } + ], + [ + "path", + { + d: "M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618", + key: "1q46z8" + } + ], + [ + "path", + { + d: "m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20", + key: "1407gh" + } + ] +]); + +const FishSymbol = createLucideIcon("FishSymbolIcon", [ + ["path", { d: "M2 16s9-15 20-4C11 23 2 8 2 8", key: "h4oh4o" }] +]); + +const Fish = createLucideIcon("FishIcon", [ + [ + "path", + { + d: "M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z", + key: "15baut" + } + ], + ["path", { d: "M18 12v.5", key: "18hhni" }], + ["path", { d: "M16 17.93a9.77 9.77 0 0 1 0-11.86", key: "16dt7o" }], + [ + "path", + { + d: "M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33", + key: "l9di03" + } + ], + [ + "path", + { d: "M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4", key: "1kjonw" } + ], + [ + "path", + { d: "m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98", key: "1zlm23" } + ] +]); + +const FlagOff = createLucideIcon("FlagOffIcon", [ + ["path", { d: "M8 2c3 0 5 2 8 2s4-1 4-1v11", key: "9rwyz9" }], + ["path", { d: "M4 22V4", key: "1plyxx" }], + ["path", { d: "M4 15s1-1 4-1 5 2 8 2", key: "1myooe" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const FlagTriangleLeft = createLucideIcon("FlagTriangleLeftIcon", [ + ["path", { d: "M17 22V2L7 7l10 5", key: "1rmf0r" }] +]); + +const FlagTriangleRight = createLucideIcon("FlagTriangleRightIcon", [ + ["path", { d: "M7 22V2l10 5-10 5", key: "17n18y" }] +]); + +const Flag = createLucideIcon("FlagIcon", [ + ["path", { d: "M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z", key: "i9b6wo" }], + ["line", { x1: "4", x2: "4", y1: "22", y2: "15", key: "1cm3nv" }] +]); + +const FlameKindling = createLucideIcon("FlameKindlingIcon", [ + [ + "path", + { + d: "M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z", + key: "1ir223" + } + ], + ["path", { d: "m5 22 14-4", key: "1brv4h" }], + ["path", { d: "m5 18 14 4", key: "lgyyje" }] +]); + +const Flame = createLucideIcon("FlameIcon", [ + [ + "path", + { + d: "M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z", + key: "96xj49" + } + ] +]); + +const FlashlightOff = createLucideIcon("FlashlightOffIcon", [ + ["path", { d: "M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4", key: "1r120k" }], + ["path", { d: "M7 2h11v4c0 2-2 2-2 4v1", key: "dz1920" }], + ["line", { x1: "11", x2: "18", y1: "6", y2: "6", key: "bi1vpe" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Flashlight = createLucideIcon("FlashlightIcon", [ + [ + "path", + { + d: "M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z", + key: "1orkel" + } + ], + ["line", { x1: "6", x2: "18", y1: "6", y2: "6", key: "1z11jq" }], + ["line", { x1: "12", x2: "12", y1: "12", y2: "12", key: "1f4yc1" }] +]); + +const FlaskConicalOff = createLucideIcon("FlaskConicalOffIcon", [ + ["path", { d: "M10 2v2.343", key: "15t272" }], + ["path", { d: "M14 2v6.343", key: "sxr80q" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M20 20a2 2 0 0 1-2 2H6a2 2 0 0 1-1.755-2.96l5.227-9.563", key: "k0duyd" }], + ["path", { d: "M6.453 15H15", key: "1f0z33" }], + ["path", { d: "M8.5 2h7", key: "csnxdl" }] +]); + +const FlaskConical = createLucideIcon("FlaskConicalIcon", [ + [ + "path", + { + d: "M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2", + key: "18mbvz" + } + ], + ["path", { d: "M6.453 15h11.094", key: "3shlmq" }], + ["path", { d: "M8.5 2h7", key: "csnxdl" }] +]); + +const FlaskRound = createLucideIcon("FlaskRoundIcon", [ + ["path", { d: "M10 2v6.292a7 7 0 1 0 4 0V2", key: "1s42pc" }], + ["path", { d: "M5 15h14", key: "m0yey3" }], + ["path", { d: "M8.5 2h7", key: "csnxdl" }] +]); + +const FlipHorizontal2 = createLucideIcon("FlipHorizontal2Icon", [ + ["path", { d: "m3 7 5 5-5 5V7", key: "couhi7" }], + ["path", { d: "m21 7-5 5 5 5V7", key: "6ouia7" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "M12 14v2", key: "8jcxud" }], + ["path", { d: "M12 8v2", key: "1woqiv" }], + ["path", { d: "M12 2v2", key: "tus03m" }] +]); + +const FlipHorizontal = createLucideIcon("FlipHorizontalIcon", [ + ["path", { d: "M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3", key: "1i73f7" }], + ["path", { d: "M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3", key: "saxlbk" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "M12 14v2", key: "8jcxud" }], + ["path", { d: "M12 8v2", key: "1woqiv" }], + ["path", { d: "M12 2v2", key: "tus03m" }] +]); + +const FlipVertical2 = createLucideIcon("FlipVertical2Icon", [ + ["path", { d: "m17 3-5 5-5-5h10", key: "1ftt6x" }], + ["path", { d: "m17 21-5-5-5 5h10", key: "1m0wmu" }], + ["path", { d: "M4 12H2", key: "rhcxmi" }], + ["path", { d: "M10 12H8", key: "s88cx1" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }] +]); + +const FlipVertical = createLucideIcon("FlipVerticalIcon", [ + ["path", { d: "M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3", key: "14bfxa" }], + ["path", { d: "M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3", key: "14rx03" }], + ["path", { d: "M4 12H2", key: "rhcxmi" }], + ["path", { d: "M10 12H8", key: "s88cx1" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }] +]); + +const Flower2 = createLucideIcon("Flower2Icon", [ + [ + "path", + { + d: "M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1", + key: "3pnvol" + } + ], + ["circle", { cx: "12", cy: "8", r: "2", key: "1822b1" }], + ["path", { d: "M12 10v12", key: "6ubwww" }], + ["path", { d: "M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z", key: "9hd38g" }], + ["path", { d: "M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z", key: "ufn41s" }] +]); + +const Flower = createLucideIcon("FlowerIcon", [ + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + [ + "path", + { + d: "M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5", + key: "14wa3c" + } + ], + ["path", { d: "M12 7.5V9", key: "1oy5b0" }], + ["path", { d: "M7.5 12H9", key: "eltsq1" }], + ["path", { d: "M16.5 12H15", key: "vk5kw4" }], + ["path", { d: "M12 16.5V15", key: "k7eayi" }], + ["path", { d: "m8 8 1.88 1.88", key: "nxy4qf" }], + ["path", { d: "M14.12 9.88 16 8", key: "1lst6k" }], + ["path", { d: "m8 16 1.88-1.88", key: "h2eex1" }], + ["path", { d: "M14.12 14.12 16 16", key: "uqkrx3" }] +]); + +const Focus = createLucideIcon("FocusIcon", [ + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }] +]); + +const FoldHorizontal = createLucideIcon("FoldHorizontalIcon", [ + ["path", { d: "M2 12h6", key: "1wqiqv" }], + ["path", { d: "M22 12h-6", key: "1eg9hc" }], + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "M12 8v2", key: "1woqiv" }], + ["path", { d: "M12 14v2", key: "8jcxud" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "m19 9-3 3 3 3", key: "12ol22" }], + ["path", { d: "m5 15 3-3-3-3", key: "1kdhjc" }] +]); + +const FoldVertical = createLucideIcon("FoldVerticalIcon", [ + ["path", { d: "M12 22v-6", key: "6o8u61" }], + ["path", { d: "M12 8V2", key: "1wkif3" }], + ["path", { d: "M4 12H2", key: "rhcxmi" }], + ["path", { d: "M10 12H8", key: "s88cx1" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }], + ["path", { d: "m15 19-3-3-3 3", key: "e37ymu" }], + ["path", { d: "m15 5-3 3-3-3", key: "19d6lf" }] +]); + +const FolderArchive = createLucideIcon("FolderArchiveIcon", [ + ["circle", { cx: "15", cy: "19", r: "2", key: "u2pros" }], + [ + "path", + { + d: "M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1", + key: "1jj40k" + } + ], + ["path", { d: "M15 11v-1", key: "cntcp" }], + ["path", { d: "M15 17v-2", key: "1279jj" }] +]); + +const FolderCheck = createLucideIcon("FolderCheckIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "m9 13 2 2 4-4", key: "6343dt" }] +]); + +const FolderClock = createLucideIcon("FolderClockIcon", [ + ["circle", { cx: "16", cy: "16", r: "6", key: "qoo3c4" }], + [ + "path", + { + d: "M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2", + key: "1urifu" + } + ], + ["path", { d: "M16 14v2l1 1", key: "xth2jh" }] +]); + +const FolderClosed = createLucideIcon("FolderClosedIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "M2 10h20", key: "1ir3d8" }] +]); + +const FolderCode = createLucideIcon("FolderCodeIcon", [ + ["path", { d: "M10 10.5 8 13l2 2.5", key: "m4t9c1" }], + ["path", { d: "m14 10.5 2 2.5-2 2.5", key: "14w2eb" }], + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z", + key: "1u1bxd" + } + ] +]); + +const FolderCog = createLucideIcon("FolderCogIcon", [ + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + [ + "path", + { + d: "M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3", + key: "1k8050" + } + ], + ["path", { d: "m21.7 19.4-.9-.3", key: "1qgwi9" }], + ["path", { d: "m15.2 16.9-.9-.3", key: "1t7mvx" }], + ["path", { d: "m16.6 21.7.3-.9", key: "1j67ps" }], + ["path", { d: "m19.1 15.2.3-.9", key: "18r7jp" }], + ["path", { d: "m19.6 21.7-.4-1", key: "z2vh2" }], + ["path", { d: "m16.8 15.3-.4-1", key: "1ei7r6" }], + ["path", { d: "m14.3 19.6 1-.4", key: "11sv9r" }], + ["path", { d: "m20.7 16.8 1-.4", key: "19m87a" }] +]); + +const FolderDot = createLucideIcon("FolderDotIcon", [ + [ + "path", + { + d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z", + key: "1fr9dc" + } + ], + ["circle", { cx: "12", cy: "13", r: "1", key: "49l61u" }] +]); + +const FolderDown = createLucideIcon("FolderDownIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "M12 10v6", key: "1bos4e" }], + ["path", { d: "m15 13-3 3-3-3", key: "6j2sf0" }] +]); + +const FolderGit2 = createLucideIcon("FolderGit2Icon", [ + [ + "path", + { + d: "M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5", + key: "1w6njk" + } + ], + ["circle", { cx: "13", cy: "12", r: "2", key: "1j92g6" }], + ["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }], + ["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }] +]); + +const FolderGit = createLucideIcon("FolderGitIcon", [ + ["circle", { cx: "12", cy: "13", r: "2", key: "1c1ljs" }], + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "M14 13h3", key: "1dgedf" }], + ["path", { d: "M7 13h3", key: "1pygq7" }] +]); + +const FolderHeart = createLucideIcon("FolderHeartIcon", [ + [ + "path", + { + d: "M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5", + key: "6hud8k" + } + ], + [ + "path", + { + d: "M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z", + key: "wpff58" + } + ] +]); + +const FolderInput = createLucideIcon("FolderInputIcon", [ + [ + "path", + { + d: "M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1", + key: "fm4g5t" + } + ], + ["path", { d: "M2 13h10", key: "pgb2dq" }], + ["path", { d: "m9 16 3-3-3-3", key: "6m91ic" }] +]); + +const FolderKanban = createLucideIcon("FolderKanbanIcon", [ + [ + "path", + { + d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z", + key: "1fr9dc" + } + ], + ["path", { d: "M8 10v4", key: "tgpxqk" }], + ["path", { d: "M12 10v2", key: "hh53o1" }], + ["path", { d: "M16 10v6", key: "1d6xys" }] +]); + +const FolderKey = createLucideIcon("FolderKeyIcon", [ + ["circle", { cx: "16", cy: "20", r: "2", key: "1vifvg" }], + [ + "path", + { + d: "M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2", + key: "3hgo9p" + } + ], + ["path", { d: "m22 14-4.5 4.5", key: "1ef6z8" }], + ["path", { d: "m21 15 1 1", key: "1ejcpy" }] +]); + +const FolderLock = createLucideIcon("FolderLockIcon", [ + ["rect", { width: "8", height: "5", x: "14", y: "17", rx: "1", key: "19aais" }], + [ + "path", + { + d: "M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5", + key: "1w6v7t" + } + ], + ["path", { d: "M20 17v-2a2 2 0 1 0-4 0v2", key: "pwaxnr" }] +]); + +const FolderMinus = createLucideIcon("FolderMinusIcon", [ + ["path", { d: "M9 13h6", key: "1uhe8q" }], + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ] +]); + +const FolderOpenDot = createLucideIcon("FolderOpenDotIcon", [ + [ + "path", + { + d: "m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2", + key: "1nmvlm" + } + ], + ["circle", { cx: "14", cy: "15", r: "1", key: "1gm4qj" }] +]); + +const FolderOpen = createLucideIcon("FolderOpenIcon", [ + [ + "path", + { + d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2", + key: "usdka0" + } + ] +]); + +const FolderOutput = createLucideIcon("FolderOutputIcon", [ + [ + "path", + { + d: "M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5", + key: "1yk7aj" + } + ], + ["path", { d: "M2 13h10", key: "pgb2dq" }], + ["path", { d: "m5 10-3 3 3 3", key: "1r8ie0" }] +]); + +const FolderPen = createLucideIcon("FolderPenIcon", [ + [ + "path", + { + d: "M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5", + key: "a8xqs0" + } + ], + [ + "path", + { + d: "M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "1saktj" + } + ] +]); + +const FolderPlus = createLucideIcon("FolderPlusIcon", [ + ["path", { d: "M12 10v6", key: "1bos4e" }], + ["path", { d: "M9 13h6", key: "1uhe8q" }], + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ] +]); + +const FolderRoot = createLucideIcon("FolderRootIcon", [ + [ + "path", + { + d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z", + key: "1fr9dc" + } + ], + ["circle", { cx: "12", cy: "13", r: "2", key: "1c1ljs" }], + ["path", { d: "M12 15v5", key: "11xva1" }] +]); + +const FolderSearch2 = createLucideIcon("FolderSearch2Icon", [ + ["circle", { cx: "11.5", cy: "12.5", r: "2.5", key: "1ea5ju" }], + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "M13.3 14.3 15 16", key: "1y4v1n" }] +]); + +const FolderSearch = createLucideIcon("FolderSearchIcon", [ + [ + "path", + { + d: "M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1", + key: "1bw5m7" + } + ], + ["path", { d: "m21 21-1.9-1.9", key: "1g2n9r" }], + ["circle", { cx: "17", cy: "17", r: "3", key: "18b49y" }] +]); + +const FolderSymlink = createLucideIcon("FolderSymlinkIcon", [ + [ + "path", + { + d: "M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7", + key: "x1c07l" + } + ], + ["path", { d: "m8 16 3-3-3-3", key: "rlqrt1" }] +]); + +const FolderSync = createLucideIcon("FolderSyncIcon", [ + [ + "path", + { + d: "M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5", + key: "1dkoa9" + } + ], + ["path", { d: "M12 10v4h4", key: "1czhmt" }], + ["path", { d: "m12 14 1.535-1.605a5 5 0 0 1 8 1.5", key: "lvuxfi" }], + ["path", { d: "M22 22v-4h-4", key: "1ewp4q" }], + ["path", { d: "m22 18-1.535 1.605a5 5 0 0 1-8-1.5", key: "14ync0" }] +]); + +const FolderTree = createLucideIcon("FolderTreeIcon", [ + [ + "path", + { + d: "M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z", + key: "hod4my" + } + ], + [ + "path", + { + d: "M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z", + key: "w4yl2u" + } + ], + ["path", { d: "M3 5a2 2 0 0 0 2 2h3", key: "f2jnh7" }], + ["path", { d: "M3 3v13a2 2 0 0 0 2 2h3", key: "k8epm1" }] +]); + +const FolderUp = createLucideIcon("FolderUpIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "M12 10v6", key: "1bos4e" }], + ["path", { d: "m9 13 3-3 3 3", key: "1pxg3c" }] +]); + +const FolderX = createLucideIcon("FolderXIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ], + ["path", { d: "m9.5 10.5 5 5", key: "ra9qjz" }], + ["path", { d: "m14.5 10.5-5 5", key: "l2rkpq" }] +]); + +const Folder = createLucideIcon("FolderIcon", [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360" + } + ] +]); + +const Folders = createLucideIcon("FoldersIcon", [ + [ + "path", + { + d: "M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z", + key: "4u7rpt" + } + ], + ["path", { d: "M2 8v11a2 2 0 0 0 2 2h14", key: "1eicx1" }] +]); + +const Footprints = createLucideIcon("FootprintsIcon", [ + [ + "path", + { + d: "M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z", + key: "1dudjm" + } + ], + [ + "path", + { + d: "M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z", + key: "l2t8xc" + } + ], + ["path", { d: "M16 17h4", key: "1dejxt" }], + ["path", { d: "M4 13h4", key: "1bwh8b" }] +]); + +const Forklift = createLucideIcon("ForkliftIcon", [ + ["path", { d: "M12 12H5a2 2 0 0 0-2 2v5", key: "7zsz91" }], + ["circle", { cx: "13", cy: "19", r: "2", key: "wjnkru" }], + ["circle", { cx: "5", cy: "19", r: "2", key: "v8kfzx" }], + ["path", { d: "M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5", key: "13bk1p" }] +]); + +const Forward = createLucideIcon("ForwardIcon", [ + ["polyline", { points: "15 17 20 12 15 7", key: "1w3sku" }], + ["path", { d: "M4 18v-2a4 4 0 0 1 4-4h12", key: "jmiej9" }] +]); + +const Frame = createLucideIcon("FrameIcon", [ + ["line", { x1: "22", x2: "2", y1: "6", y2: "6", key: "15w7dq" }], + ["line", { x1: "22", x2: "2", y1: "18", y2: "18", key: "1ip48p" }], + ["line", { x1: "6", x2: "6", y1: "2", y2: "22", key: "a2lnyx" }], + ["line", { x1: "18", x2: "18", y1: "2", y2: "22", key: "8vb6jd" }] +]); + +const Framer = createLucideIcon("FramerIcon", [ + ["path", { d: "M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7", key: "1a2nng" }] +]); + +const Frown = createLucideIcon("FrownIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M16 16s-1.5-2-4-2-4 2-4 2", key: "epbg0q" }], + ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }], + ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }] +]); + +const Fuel = createLucideIcon("FuelIcon", [ + ["line", { x1: "3", x2: "15", y1: "22", y2: "22", key: "xegly4" }], + ["line", { x1: "4", x2: "14", y1: "9", y2: "9", key: "xcnuvu" }], + ["path", { d: "M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18", key: "16j0yd" }], + [ + "path", + { + d: "M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5", + key: "7cu91f" + } + ] +]); + +const Fullscreen = createLucideIcon("FullscreenIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["rect", { width: "10", height: "8", x: "7", y: "8", rx: "1", key: "vys8me" }] +]); + +const GalleryHorizontalEnd = createLucideIcon("GalleryHorizontalEndIcon", [ + ["path", { d: "M2 7v10", key: "a2pl2d" }], + ["path", { d: "M6 5v14", key: "1kq3d7" }], + ["rect", { width: "12", height: "18", x: "10", y: "3", rx: "2", key: "13i7bc" }] +]); + +const GalleryHorizontal = createLucideIcon("GalleryHorizontalIcon", [ + ["path", { d: "M2 3v18", key: "pzttux" }], + ["rect", { width: "12", height: "18", x: "6", y: "3", rx: "2", key: "btr8bg" }], + ["path", { d: "M22 3v18", key: "6jf3v" }] +]); + +const GalleryThumbnails = createLucideIcon("GalleryThumbnailsIcon", [ + ["rect", { width: "18", height: "14", x: "3", y: "3", rx: "2", key: "74y24f" }], + ["path", { d: "M4 21h1", key: "16zlid" }], + ["path", { d: "M9 21h1", key: "15o7lz" }], + ["path", { d: "M14 21h1", key: "v9vybs" }], + ["path", { d: "M19 21h1", key: "edywat" }] +]); + +const GalleryVerticalEnd = createLucideIcon("GalleryVerticalEndIcon", [ + ["path", { d: "M7 2h10", key: "nczekb" }], + ["path", { d: "M5 6h14", key: "u2x4p" }], + ["rect", { width: "18", height: "12", x: "3", y: "10", rx: "2", key: "l0tzu3" }] +]); + +const GalleryVertical = createLucideIcon("GalleryVerticalIcon", [ + ["path", { d: "M3 2h18", key: "15qxfx" }], + ["rect", { width: "18", height: "12", x: "3", y: "6", rx: "2", key: "1439r6" }], + ["path", { d: "M3 22h18", key: "8prr45" }] +]); + +const Gamepad2 = createLucideIcon("Gamepad2Icon", [ + ["line", { x1: "6", x2: "10", y1: "11", y2: "11", key: "1gktln" }], + ["line", { x1: "8", x2: "8", y1: "9", y2: "13", key: "qnk9ow" }], + ["line", { x1: "15", x2: "15.01", y1: "12", y2: "12", key: "krot7o" }], + ["line", { x1: "18", x2: "18.01", y1: "10", y2: "10", key: "1lcuu1" }], + [ + "path", + { + d: "M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z", + key: "mfqc10" + } + ] +]); + +const Gamepad = createLucideIcon("GamepadIcon", [ + ["line", { x1: "6", x2: "10", y1: "12", y2: "12", key: "161bw2" }], + ["line", { x1: "8", x2: "8", y1: "10", y2: "14", key: "1i6ji0" }], + ["line", { x1: "15", x2: "15.01", y1: "13", y2: "13", key: "dqpgro" }], + ["line", { x1: "18", x2: "18.01", y1: "11", y2: "11", key: "meh2c" }], + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }] +]); + +const Gauge = createLucideIcon("GaugeIcon", [ + ["path", { d: "m12 14 4-4", key: "9kzdfg" }], + ["path", { d: "M3.34 19a10 10 0 1 1 17.32 0", key: "19p75a" }] +]); + +const Gavel = createLucideIcon("GavelIcon", [ + ["path", { d: "m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8", key: "15492f" }], + ["path", { d: "m16 16 6-6", key: "vzrcl6" }], + ["path", { d: "m8 8 6-6", key: "18bi4p" }], + ["path", { d: "m9 7 8 8", key: "5jnvq1" }], + ["path", { d: "m21 11-8-8", key: "z4y7zo" }] +]); + +const Gem = createLucideIcon("GemIcon", [ + ["path", { d: "M6 3h12l4 6-10 13L2 9Z", key: "1pcd5k" }], + ["path", { d: "M11 3 8 9l4 13 4-13-3-6", key: "1fcu3u" }], + ["path", { d: "M2 9h20", key: "16fsjt" }] +]); + +const Ghost = createLucideIcon("GhostIcon", [ + ["path", { d: "M9 10h.01", key: "qbtxuw" }], + ["path", { d: "M15 10h.01", key: "1qmjsl" }], + [ + "path", + { + d: "M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z", + key: "uwwb07" + } + ] +]); + +const Gift = createLucideIcon("GiftIcon", [ + ["rect", { x: "3", y: "8", width: "18", height: "4", rx: "1", key: "bkv52" }], + ["path", { d: "M12 8v13", key: "1c76mn" }], + ["path", { d: "M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7", key: "6wjy6b" }], + [ + "path", + { + d: "M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5", + key: "1ihvrl" + } + ] +]); + +const GitBranchPlus = createLucideIcon("GitBranchPlusIcon", [ + ["path", { d: "M6 3v12", key: "qpgusn" }], + ["path", { d: "M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z", key: "1d02ji" }], + ["path", { d: "M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z", key: "chk6ph" }], + ["path", { d: "M15 6a9 9 0 0 0-9 9", key: "or332x" }], + ["path", { d: "M18 15v6", key: "9wciyi" }], + ["path", { d: "M21 18h-6", key: "139f0c" }] +]); + +const GitBranch = createLucideIcon("GitBranchIcon", [ + ["line", { x1: "6", x2: "6", y1: "3", y2: "15", key: "17qcm7" }], + ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }], + ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }], + ["path", { d: "M18 9a9 9 0 0 1-9 9", key: "n2h4wq" }] +]); + +const GitCommitHorizontal = createLucideIcon("GitCommitHorizontalIcon", [ + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }], + ["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }] +]); + +const GitCommitVertical = createLucideIcon("GitCommitVerticalIcon", [ + ["path", { d: "M12 3v6", key: "1holv5" }], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["path", { d: "M12 15v6", key: "a9ows0" }] +]); + +const GitCompareArrows = createLucideIcon("GitCompareArrowsIcon", [ + ["circle", { cx: "5", cy: "6", r: "3", key: "1qnov2" }], + ["path", { d: "M12 6h5a2 2 0 0 1 2 2v7", key: "1yj91y" }], + ["path", { d: "m15 9-3-3 3-3", key: "1lwv8l" }], + ["circle", { cx: "19", cy: "18", r: "3", key: "1qljk2" }], + ["path", { d: "M12 18H7a2 2 0 0 1-2-2V9", key: "16sdep" }], + ["path", { d: "m9 15 3 3-3 3", key: "1m3kbl" }] +]); + +const GitCompare = createLucideIcon("GitCompareIcon", [ + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M13 6h3a2 2 0 0 1 2 2v7", key: "1yeb86" }], + ["path", { d: "M11 18H8a2 2 0 0 1-2-2V9", key: "19pyzm" }] +]); + +const GitFork = createLucideIcon("GitForkIcon", [ + ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }], + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }], + ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }], + ["path", { d: "M12 12v3", key: "158kv8" }] +]); + +const GitGraph = createLucideIcon("GitGraphIcon", [ + ["circle", { cx: "5", cy: "6", r: "3", key: "1qnov2" }], + ["path", { d: "M5 9v6", key: "158jrl" }], + ["circle", { cx: "5", cy: "18", r: "3", key: "104gr9" }], + ["path", { d: "M12 3v18", key: "108xh3" }], + ["circle", { cx: "19", cy: "6", r: "3", key: "108a5v" }], + ["path", { d: "M16 15.7A9 9 0 0 0 19 9", key: "1e3vqb" }] +]); + +const GitMerge = createLucideIcon("GitMergeIcon", [ + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M6 21V9a9 9 0 0 0 9 9", key: "7kw0sc" }] +]); + +const GitPullRequestArrow = createLucideIcon("GitPullRequestArrowIcon", [ + ["circle", { cx: "5", cy: "6", r: "3", key: "1qnov2" }], + ["path", { d: "M5 9v12", key: "ih889a" }], + ["circle", { cx: "19", cy: "18", r: "3", key: "1qljk2" }], + ["path", { d: "m15 9-3-3 3-3", key: "1lwv8l" }], + ["path", { d: "M12 6h5a2 2 0 0 1 2 2v7", key: "1yj91y" }] +]); + +const GitPullRequestClosed = createLucideIcon("GitPullRequestClosedIcon", [ + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M6 9v12", key: "1sc30k" }], + ["path", { d: "m21 3-6 6", key: "16nqsk" }], + ["path", { d: "m21 9-6-6", key: "9j17rh" }], + ["path", { d: "M18 11.5V15", key: "65xf6f" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }] +]); + +const GitPullRequestCreateArrow = createLucideIcon("GitPullRequestCreateArrowIcon", [ + ["circle", { cx: "5", cy: "6", r: "3", key: "1qnov2" }], + ["path", { d: "M5 9v12", key: "ih889a" }], + ["path", { d: "m15 9-3-3 3-3", key: "1lwv8l" }], + ["path", { d: "M12 6h5a2 2 0 0 1 2 2v3", key: "1rbwk6" }], + ["path", { d: "M19 15v6", key: "10aioa" }], + ["path", { d: "M22 18h-6", key: "1d5gi5" }] +]); + +const GitPullRequestCreate = createLucideIcon("GitPullRequestCreateIcon", [ + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M6 9v12", key: "1sc30k" }], + ["path", { d: "M13 6h3a2 2 0 0 1 2 2v3", key: "1jb6z3" }], + ["path", { d: "M18 15v6", key: "9wciyi" }], + ["path", { d: "M21 18h-6", key: "139f0c" }] +]); + +const GitPullRequestDraft = createLucideIcon("GitPullRequestDraftIcon", [ + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M18 6V5", key: "1oao2s" }], + ["path", { d: "M18 11v-1", key: "11c8tz" }], + ["line", { x1: "6", x2: "6", y1: "9", y2: "21", key: "rroup" }] +]); + +const GitPullRequest = createLucideIcon("GitPullRequestIcon", [ + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M13 6h3a2 2 0 0 1 2 2v7", key: "1yeb86" }], + ["line", { x1: "6", x2: "6", y1: "9", y2: "21", key: "rroup" }] +]); + +const Github = createLucideIcon("GithubIcon", [ + [ + "path", + { + d: "M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4", + key: "tonef" + } + ], + ["path", { d: "M9 18c-4.51 2-5-2-7-2", key: "9comsn" }] +]); + +const Gitlab = createLucideIcon("GitlabIcon", [ + [ + "path", + { + d: "m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z", + key: "148pdi" + } + ] +]); + +const GlassWater = createLucideIcon("GlassWaterIcon", [ + [ + "path", + { + d: "M5.116 4.104A1 1 0 0 1 6.11 3h11.78a1 1 0 0 1 .994 1.105L17.19 20.21A2 2 0 0 1 15.2 22H8.8a2 2 0 0 1-2-1.79z", + key: "p55z4y" + } + ], + ["path", { d: "M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0", key: "mjntcy" }] +]); + +const Glasses = createLucideIcon("GlassesIcon", [ + ["circle", { cx: "6", cy: "15", r: "4", key: "vux9w4" }], + ["circle", { cx: "18", cy: "15", r: "4", key: "18o8ve" }], + ["path", { d: "M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2", key: "1ag4bs" }], + ["path", { d: "M2.5 13 5 7c.7-1.3 1.4-2 3-2", key: "1hm1gs" }], + ["path", { d: "M21.5 13 19 7c-.7-1.3-1.5-2-3-2", key: "1r31ai" }] +]); + +const GlobeLock = createLucideIcon("GlobeLockIcon", [ + [ + "path", + { + d: "M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13", + key: "qkt0x6" + } + ], + ["path", { d: "M2 12h8.5", key: "ovaggd" }], + ["path", { d: "M20 6V4a2 2 0 1 0-4 0v2", key: "1of5e8" }], + ["rect", { width: "8", height: "5", x: "14", y: "6", rx: "1", key: "1fmf51" }] +]); + +const Globe = createLucideIcon("GlobeIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }] +]); + +const Goal = createLucideIcon("GoalIcon", [ + ["path", { d: "M12 13V2l8 4-8 4", key: "5wlwwj" }], + ["path", { d: "M20.561 10.222a9 9 0 1 1-12.55-5.29", key: "1c0wjv" }], + ["path", { d: "M8.002 9.997a5 5 0 1 0 8.9 2.02", key: "gb1g7m" }] +]); + +const Grab = createLucideIcon("GrabIcon", [ + ["path", { d: "M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4", key: "edstyy" }], + ["path", { d: "M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2", key: "19wdwo" }], + ["path", { d: "M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5", key: "1lugqo" }], + ["path", { d: "M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2", key: "1hbeus" }], + [ + "path", + { d: "M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0", key: "1etffm" } + ] +]); + +const GraduationCap = createLucideIcon("GraduationCapIcon", [ + [ + "path", + { + d: "M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z", + key: "j76jl0" + } + ], + ["path", { d: "M22 10v6", key: "1lu8f3" }], + ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }] +]); + +const Grape = createLucideIcon("GrapeIcon", [ + ["path", { d: "M22 5V2l-5.89 5.89", key: "1eenpo" }], + ["circle", { cx: "16.6", cy: "15.89", r: "3", key: "xjtalx" }], + ["circle", { cx: "8.11", cy: "7.4", r: "3", key: "u2fv6i" }], + ["circle", { cx: "12.35", cy: "11.65", r: "3", key: "i6i8g7" }], + ["circle", { cx: "13.91", cy: "5.85", r: "3", key: "6ye0dv" }], + ["circle", { cx: "18.15", cy: "10.09", r: "3", key: "snx9no" }], + ["circle", { cx: "6.56", cy: "13.2", r: "3", key: "17x4xg" }], + ["circle", { cx: "10.8", cy: "17.44", r: "3", key: "1hogw9" }], + ["circle", { cx: "5", cy: "19", r: "3", key: "1sn6vo" }] +]); + +const Grid2x2Check = createLucideIcon("Grid2x2CheckIcon", [ + [ + "path", + { + d: "M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3", + key: "11za1p" + } + ], + ["path", { d: "m16 19 2 2 4-4", key: "1b14m6" }] +]); + +const Grid2x2Plus = createLucideIcon("Grid2x2PlusIcon", [ + [ + "path", + { + d: "M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3", + key: "11za1p" + } + ], + ["path", { d: "M16 19h6", key: "xwg31i" }], + ["path", { d: "M19 22v-6", key: "qhmiwi" }] +]); + +const Grid2x2X = createLucideIcon("Grid2x2XIcon", [ + [ + "path", + { + d: "M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3", + key: "11za1p" + } + ], + ["path", { d: "m16 16 5 5", key: "8tpb07" }], + ["path", { d: "m16 21 5-5", key: "193jll" }] +]); + +const Grid2x2 = createLucideIcon("Grid2x2Icon", [ + ["path", { d: "M12 3v18", key: "108xh3" }], + ["path", { d: "M3 12h18", key: "1i2n21" }], + ["rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", key: "h1oib" }] +]); + +const Grid3x3 = createLucideIcon("Grid3x3Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }], + ["path", { d: "M15 3v18", key: "14nvp0" }] +]); + +const GripHorizontal = createLucideIcon("GripHorizontalIcon", [ + ["circle", { cx: "12", cy: "9", r: "1", key: "124mty" }], + ["circle", { cx: "19", cy: "9", r: "1", key: "1ruzo2" }], + ["circle", { cx: "5", cy: "9", r: "1", key: "1a8b28" }], + ["circle", { cx: "12", cy: "15", r: "1", key: "1e56xg" }], + ["circle", { cx: "19", cy: "15", r: "1", key: "1a92ep" }], + ["circle", { cx: "5", cy: "15", r: "1", key: "5r1jwy" }] +]); + +const GripVertical = createLucideIcon("GripVerticalIcon", [ + ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }], + ["circle", { cx: "9", cy: "5", r: "1", key: "hp0tcf" }], + ["circle", { cx: "9", cy: "19", r: "1", key: "fkjjf6" }], + ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }], + ["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }], + ["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }] +]); + +const Grip = createLucideIcon("GripIcon", [ + ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }], + ["circle", { cx: "19", cy: "5", r: "1", key: "w8mnmm" }], + ["circle", { cx: "5", cy: "5", r: "1", key: "lttvr7" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }], + ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }], + ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }], + ["circle", { cx: "19", cy: "19", r: "1", key: "shf9b7" }], + ["circle", { cx: "5", cy: "19", r: "1", key: "bfqh0e" }] +]); + +const Group = createLucideIcon("GroupIcon", [ + ["path", { d: "M3 7V5c0-1.1.9-2 2-2h2", key: "adw53z" }], + ["path", { d: "M17 3h2c1.1 0 2 .9 2 2v2", key: "an4l38" }], + ["path", { d: "M21 17v2c0 1.1-.9 2-2 2h-2", key: "144t0e" }], + ["path", { d: "M7 21H5c-1.1 0-2-.9-2-2v-2", key: "rtnfgi" }], + ["rect", { width: "7", height: "5", x: "7", y: "7", rx: "1", key: "1eyiv7" }], + ["rect", { width: "7", height: "5", x: "10", y: "12", rx: "1", key: "1qlmkx" }] +]); + +const Guitar = createLucideIcon("GuitarIcon", [ + ["path", { d: "m11.9 12.1 4.514-4.514", key: "109xqo" }], + [ + "path", + { + d: "M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z", + key: "txyc8t" + } + ], + ["path", { d: "m6 16 2 2", key: "16qmzd" }], + [ + "path", + { + d: "M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z", + key: "1u8q3z" + } + ], + ["circle", { cx: "11.5", cy: "12.5", r: ".5", fill: "currentColor", key: "16onso" }] +]); + +const Ham = createLucideIcon("HamIcon", [ + ["path", { d: "M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856", key: "1k1t7q" }], + [ + "path", + { + d: "M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288", + key: "153t1g" + } + ], + [ + "path", + { + d: "M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025", + key: "gzrt0n" + } + ], + ["path", { d: "m8.5 16.5-1-1", key: "otr954" }] +]); + +const Hammer = createLucideIcon("HammerIcon", [ + ["path", { d: "m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9", key: "eefl8a" }], + ["path", { d: "m18 15 4-4", key: "16gjal" }], + [ + "path", + { + d: "m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5", + key: "b7pghm" + } + ] +]); + +const HandCoins = createLucideIcon("HandCoinsIcon", [ + ["path", { d: "M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17", key: "geh8rc" }], + [ + "path", + { + d: "m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9", + key: "1fto5m" + } + ], + ["path", { d: "m2 16 6 6", key: "1pfhp9" }], + ["circle", { cx: "16", cy: "9", r: "2.9", key: "1n0dlu" }], + ["circle", { cx: "6", cy: "5", r: "3", key: "151irh" }] +]); + +const HandHeart = createLucideIcon("HandHeartIcon", [ + ["path", { d: "M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16", key: "1ifwr1" }], + [ + "path", + { + d: "m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9", + key: "17abbs" + } + ], + ["path", { d: "m2 15 6 6", key: "10dquu" }], + [ + "path", + { + d: "M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z", + key: "1h3036" + } + ] +]); + +const HandHelping = createLucideIcon("HandHelpingIcon", [ + ["path", { d: "M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14", key: "1j4xps" }], + [ + "path", + { + d: "m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9", + key: "uospg8" + } + ], + ["path", { d: "m2 13 6 6", key: "16e5sb" }] +]); + +const HandMetal = createLucideIcon("HandMetalIcon", [ + ["path", { d: "M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4", key: "wc6myp" }], + ["path", { d: "M14 11V9a2 2 0 1 0-4 0v2", key: "94qvcw" }], + ["path", { d: "M10 10.5V5a2 2 0 1 0-4 0v9", key: "m1ah89" }], + [ + "path", + { + d: "m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5", + key: "t1skq1" + } + ] +]); + +const HandPlatter = createLucideIcon("HandPlatterIcon", [ + ["path", { d: "M12 3V2", key: "ar7q03" }], + [ + "path", + { + d: "m15.4 17.4 3.2-2.8a2 2 0 1 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2l-1.302-1.464A1 1 0 0 0 6.151 19H5", + key: "n2g93r" + } + ], + ["path", { d: "M2 14h12a2 2 0 0 1 0 4h-2", key: "1o2jem" }], + ["path", { d: "M4 10h16", key: "img6z1" }], + ["path", { d: "M5 10a7 7 0 0 1 14 0", key: "1ega1o" }], + ["path", { d: "M5 14v6a1 1 0 0 1-1 1H2", key: "1hescx" }] +]); + +const Hand = createLucideIcon("HandIcon", [ + ["path", { d: "M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2", key: "1fvzgz" }], + ["path", { d: "M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2", key: "1kc0my" }], + ["path", { d: "M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8", key: "10h0bg" }], + [ + "path", + { + d: "M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15", + key: "1s1gnw" + } + ] +]); + +const Handshake = createLucideIcon("HandshakeIcon", [ + ["path", { d: "m11 17 2 2a1 1 0 1 0 3-3", key: "efffak" }], + [ + "path", + { + d: "m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4", + key: "9pr0kb" + } + ], + ["path", { d: "m21 3 1 11h-2", key: "1tisrp" }], + ["path", { d: "M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3", key: "1uvwmv" }], + ["path", { d: "M3 4h8", key: "1ep09j" }] +]); + +const HardDriveDownload = createLucideIcon("HardDriveDownloadIcon", [ + ["path", { d: "M12 2v8", key: "1q4o3n" }], + ["path", { d: "m16 6-4 4-4-4", key: "6wukr" }], + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", key: "w68u3i" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "M10 18h.01", key: "h775k" }] +]); + +const HardDriveUpload = createLucideIcon("HardDriveUploadIcon", [ + ["path", { d: "m16 6-4-4-4 4", key: "13yo43" }], + ["path", { d: "M12 2v8", key: "1q4o3n" }], + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", key: "w68u3i" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "M10 18h.01", key: "h775k" }] +]); + +const HardDrive = createLucideIcon("HardDriveIcon", [ + ["line", { x1: "22", x2: "2", y1: "12", y2: "12", key: "1y58io" }], + [ + "path", + { + d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z", + key: "oot6mr" + } + ], + ["line", { x1: "6", x2: "6.01", y1: "16", y2: "16", key: "sgf278" }], + ["line", { x1: "10", x2: "10.01", y1: "16", y2: "16", key: "1l4acy" }] +]); + +const HardHat = createLucideIcon("HardHatIcon", [ + ["path", { d: "M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5", key: "1p9q5i" }], + ["path", { d: "M14 6a6 6 0 0 1 6 6v3", key: "1hnv84" }], + ["path", { d: "M4 15v-3a6 6 0 0 1 6-6", key: "9ciidu" }], + ["rect", { x: "2", y: "15", width: "20", height: "4", rx: "1", key: "g3x8cw" }] +]); + +const Hash = createLucideIcon("HashIcon", [ + ["line", { x1: "4", x2: "20", y1: "9", y2: "9", key: "4lhtct" }], + ["line", { x1: "4", x2: "20", y1: "15", y2: "15", key: "vyu0kd" }], + ["line", { x1: "10", x2: "8", y1: "3", y2: "21", key: "1ggp8o" }], + ["line", { x1: "16", x2: "14", y1: "3", y2: "21", key: "weycgp" }] +]); + +const Haze = createLucideIcon("HazeIcon", [ + ["path", { d: "m5.2 6.2 1.4 1.4", key: "17imol" }], + ["path", { d: "M2 13h2", key: "13gyu8" }], + ["path", { d: "M20 13h2", key: "16rner" }], + ["path", { d: "m17.4 7.6 1.4-1.4", key: "t4xlah" }], + ["path", { d: "M22 17H2", key: "1gtaj3" }], + ["path", { d: "M22 21H2", key: "1gy6en" }], + ["path", { d: "M16 13a4 4 0 0 0-8 0", key: "1dyczq" }], + ["path", { d: "M12 5V2.5", key: "1vytko" }] +]); + +const HdmiPort = createLucideIcon("HdmiPortIcon", [ + [ + "path", + { + d: "M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z", + key: "2128wb" + } + ], + ["path", { d: "M7.5 12h9", key: "1t0ckc" }] +]); + +const Heading1 = createLucideIcon("Heading1Icon", [ + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["path", { d: "m17 12 3-2v8", key: "1hhhft" }] +]); + +const Heading2 = createLucideIcon("Heading2Icon", [ + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["path", { d: "M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1", key: "9jr5yi" }] +]); + +const Heading3 = createLucideIcon("Heading3Icon", [ + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["path", { d: "M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2", key: "68ncm8" }], + ["path", { d: "M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2", key: "1ejuhz" }] +]); + +const Heading4 = createLucideIcon("Heading4Icon", [ + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["path", { d: "M17 10v3a1 1 0 0 0 1 1h3", key: "tj5zdr" }], + ["path", { d: "M21 10v8", key: "1kdml4" }], + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }] +]); + +const Heading5 = createLucideIcon("Heading5Icon", [ + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["path", { d: "M17 13v-3h4", key: "1nvgqp" }], + [ + "path", + { d: "M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17", key: "2nebdn" } + ] +]); + +const Heading6 = createLucideIcon("Heading6Icon", [ + ["path", { d: "M4 12h8", key: "17cfdx" }], + ["path", { d: "M4 18V6", key: "1rz3zl" }], + ["path", { d: "M12 18V6", key: "zqpxq5" }], + ["circle", { cx: "19", cy: "16", r: "2", key: "15mx69" }], + ["path", { d: "M20 10c-2 2-3 3.5-3 6", key: "f35dl0" }] +]); + +const Heading = createLucideIcon("HeadingIcon", [ + ["path", { d: "M6 12h12", key: "8npq4p" }], + ["path", { d: "M6 20V4", key: "1w1bmo" }], + ["path", { d: "M18 20V4", key: "o2hl4u" }] +]); + +const HeadphoneOff = createLucideIcon("HeadphoneOffIcon", [ + ["path", { d: "M21 14h-1.343", key: "1jdnxi" }], + ["path", { d: "M9.128 3.47A9 9 0 0 1 21 12v3.343", key: "6kipu2" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3", key: "9x50f4" }], + [ + "path", + { + d: "M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364", + key: "1bkxnm" + } + ] +]); + +const Headphones = createLucideIcon("HeadphonesIcon", [ + [ + "path", + { + d: "M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3", + key: "1xhozi" + } + ] +]); + +const Headset = createLucideIcon("HeadsetIcon", [ + [ + "path", + { + d: "M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z", + key: "12oyoe" + } + ], + ["path", { d: "M21 16v2a4 4 0 0 1-4 4h-5", key: "1x7m43" }] +]); + +const HeartCrack = createLucideIcon("HeartCrackIcon", [ + [ + "path", + { + d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z", + key: "c3ymky" + } + ], + ["path", { d: "m12 13-1-1 2-2-3-3 2-2", key: "xjdxli" }] +]); + +const HeartHandshake = createLucideIcon("HeartHandshakeIcon", [ + [ + "path", + { + d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z", + key: "c3ymky" + } + ], + [ + "path", + { + d: "M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66", + key: "4oyue0" + } + ], + ["path", { d: "m18 15-2-2", key: "60u0ii" }], + ["path", { d: "m15 18-2-2", key: "6p76be" }] +]); + +const HeartOff = createLucideIcon("HeartOffIcon", [ + ["line", { x1: "2", y1: "2", x2: "22", y2: "22", key: "1w4vcy" }], + [ + "path", + { d: "M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35", key: "3mpagl" } + ], + [ + "path", + { + d: "M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17", + key: "1gh3v3" + } + ] +]); + +const HeartPulse = createLucideIcon("HeartPulseIcon", [ + [ + "path", + { + d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z", + key: "c3ymky" + } + ], + ["path", { d: "M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27", key: "1uw2ng" }] +]); + +const Heart = createLucideIcon("HeartIcon", [ + [ + "path", + { + d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z", + key: "c3ymky" + } + ] +]); + +const Heater = createLucideIcon("HeaterIcon", [ + ["path", { d: "M11 8c2-3-2-3 0-6", key: "1ldv5m" }], + ["path", { d: "M15.5 8c2-3-2-3 0-6", key: "1otqoz" }], + ["path", { d: "M6 10h.01", key: "1lbq93" }], + ["path", { d: "M6 14h.01", key: "zudwn7" }], + ["path", { d: "M10 16v-4", key: "1c25yv" }], + ["path", { d: "M14 16v-4", key: "1dkbt8" }], + ["path", { d: "M18 16v-4", key: "1yg9me" }], + [ + "path", + { d: "M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3", key: "1ubg90" } + ], + ["path", { d: "M5 20v2", key: "1abpe8" }], + ["path", { d: "M19 20v2", key: "kqn6ft" }] +]); + +const Hexagon = createLucideIcon("HexagonIcon", [ + [ + "path", + { + d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z", + key: "yt0hxn" + } + ] +]); + +const Highlighter = createLucideIcon("HighlighterIcon", [ + ["path", { d: "m9 11-6 6v3h9l3-3", key: "1a3l36" }], + ["path", { d: "m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4", key: "14a9rk" }] +]); + +const History = createLucideIcon("HistoryIcon", [ + ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }], + ["path", { d: "M3 3v5h5", key: "1xhq8a" }], + ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }] +]); + +const HopOff = createLucideIcon("HopOffIcon", [ + ["path", { d: "M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27", key: "qyzcap" }], + [ + "path", + { + d: "M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28", + key: "y078lb" + } + ], + ["path", { d: "M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26", key: "1utre3" }], + [ + "path", + { + d: "M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25", + key: "17o9hm" + } + ], + ["path", { d: "M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75", key: "1d1n4p" }], + [ + "path", + { + d: "M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24", + key: "9uv3tt" + } + ], + [ + "path", + { + d: "M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28", + key: "1292wz" + } + ], + [ + "path", + { + d: "M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05", + key: "7ozu9p" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Hop = createLucideIcon("HopIcon", [ + [ + "path", + { + d: "M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18", + key: "18lxf1" + } + ], + [ + "path", + { + d: "M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88", + key: "vtfxrw" + } + ], + [ + "path", + { + d: "M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36", + key: "13hl71" + } + ], + [ + "path", + { + d: "M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87", + key: "1sl8oj" + } + ], + [ + "path", + { + d: "M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08", + key: "19c6kt" + } + ], + [ + "path", + { + d: "M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57", + key: "85ghs3" + } + ], + ["path", { d: "M4.93 4.93 3 3a.7.7 0 0 1 0-1", key: "x087yj" }], + [ + "path", + { + d: "M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15", + key: "11xdqo" + } + ] +]); + +const Hospital = createLucideIcon("HospitalIcon", [ + ["path", { d: "M12 6v4", key: "16clxf" }], + ["path", { d: "M14 14h-4", key: "esezmu" }], + ["path", { d: "M14 18h-4", key: "16mqa2" }], + ["path", { d: "M14 8h-4", key: "z8ypaz" }], + [ + "path", + { + d: "M18 12h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2", + key: "b1k337" + } + ], + ["path", { d: "M18 22V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v18", key: "16g51d" }] +]); + +const Hotel = createLucideIcon("HotelIcon", [ + ["path", { d: "M10 22v-6.57", key: "1wmca3" }], + ["path", { d: "M12 11h.01", key: "z322tv" }], + ["path", { d: "M12 7h.01", key: "1ivr5q" }], + ["path", { d: "M14 15.43V22", key: "1q2vjd" }], + ["path", { d: "M15 16a5 5 0 0 0-6 0", key: "o9wqvi" }], + ["path", { d: "M16 11h.01", key: "xkw8gn" }], + ["path", { d: "M16 7h.01", key: "1kdx03" }], + ["path", { d: "M8 11h.01", key: "1dfujw" }], + ["path", { d: "M8 7h.01", key: "1vti4s" }], + ["rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", key: "1uxh74" }] +]); + +const Hourglass = createLucideIcon("HourglassIcon", [ + ["path", { d: "M5 22h14", key: "ehvnwv" }], + ["path", { d: "M5 2h14", key: "pdyrp9" }], + [ + "path", + { + d: "M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22", + key: "1d314k" + } + ], + [ + "path", + { d: "M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2", key: "1vvvr6" } + ] +]); + +const HousePlug = createLucideIcon("HousePlugIcon", [ + ["path", { d: "M10 12V8.964", key: "1vll13" }], + ["path", { d: "M14 12V8.964", key: "1x3qvg" }], + [ + "path", + { d: "M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z", key: "ppykja" } + ], + [ + "path", + { + d: "M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2", + key: "1gvg2z" + } + ] +]); + +const HousePlus = createLucideIcon("HousePlusIcon", [ + [ + "path", + { + d: "M13.22 2.416a2 2 0 0 0-2.511.057l-7 5.999A2 2 0 0 0 3 10v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7.354", + key: "5phn05" + } + ], + ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }], + ["path", { d: "M15 6h6", key: "1jlkvy" }], + ["path", { d: "M18 3v6", key: "x1uolp" }] +]); + +const HouseWifi = createLucideIcon("HouseWifiIcon", [ + ["path", { d: "M9.5 13.866a4 4 0 0 1 5 .01", key: "1wy54i" }], + ["path", { d: "M12 17h.01", key: "p32p05" }], + [ + "path", + { + d: "M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z", + key: "1d0kgt" + } + ], + ["path", { d: "M7 10.754a8 8 0 0 1 10 0", key: "exoy2g" }] +]); + +const House = createLucideIcon("HouseIcon", [ + ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }], + [ + "path", + { + d: "M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z", + key: "1d0kgt" + } + ] +]); + +const IceCreamBowl = createLucideIcon("IceCreamBowlIcon", [ + [ + "path", + { + d: "M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0", + key: "1uxfcu" + } + ], + ["path", { d: "M12.14 11a3.5 3.5 0 1 1 6.71 0", key: "4k3m1s" }], + ["path", { d: "M15.5 6.5a3.5 3.5 0 1 0-7 0", key: "zmuahr" }] +]); + +const IceCreamCone = createLucideIcon("IceCreamConeIcon", [ + ["path", { d: "m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11", key: "1v6356" }], + ["path", { d: "M17 7A5 5 0 0 0 7 7", key: "151p3v" }], + ["path", { d: "M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4", key: "1sdaij" }] +]); + +const IdCard = createLucideIcon("IdCardIcon", [ + ["path", { d: "M16 10h2", key: "8sgtl7" }], + ["path", { d: "M16 14h2", key: "epxaof" }], + ["path", { d: "M6.17 15a3 3 0 0 1 5.66 0", key: "n6f512" }], + ["circle", { cx: "9", cy: "11", r: "2", key: "yxgjnd" }], + ["rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", key: "qneu4z" }] +]); + +const ImageDown = createLucideIcon("ImageDownIcon", [ + [ + "path", + { + d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21", + key: "9csbqa" + } + ], + ["path", { d: "m14 19 3 3v-5.5", key: "9ldu5r" }], + ["path", { d: "m17 22 3-3", key: "1nkfve" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }] +]); + +const ImageMinus = createLucideIcon("ImageMinusIcon", [ + ["path", { d: "M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7", key: "m87ecr" }], + ["line", { x1: "16", x2: "22", y1: "5", y2: "5", key: "ez7e4s" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }], + ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }] +]); + +const ImageOff = createLucideIcon("ImageOffIcon", [ + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }], + ["path", { d: "M10.41 10.41a2 2 0 1 1-2.83-2.83", key: "1bzlo9" }], + ["line", { x1: "13.5", x2: "6", y1: "13.5", y2: "21", key: "1q0aeu" }], + ["line", { x1: "18", x2: "21", y1: "12", y2: "15", key: "5mozeu" }], + [ + "path", + { + d: "M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59", + key: "mmje98" + } + ], + ["path", { d: "M21 15V5a2 2 0 0 0-2-2H9", key: "43el77" }] +]); + +const ImagePlay = createLucideIcon("ImagePlayIcon", [ + ["path", { d: "m11 16-5 5", key: "j5f7ct" }], + ["path", { d: "M11 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6.5", key: "7s81lt" }], + [ + "path", + { + d: "M15.765 22a.5.5 0 0 1-.765-.424V13.38a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z", + key: "1omb6s" + } + ], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }] +]); + +const ImagePlus = createLucideIcon("ImagePlusIcon", [ + ["path", { d: "M16 5h6", key: "1vod17" }], + ["path", { d: "M19 2v6", key: "4bpg5p" }], + ["path", { d: "M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5", key: "1ue2ih" }], + ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }] +]); + +const ImageUp = createLucideIcon("ImageUpIcon", [ + [ + "path", + { + d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21", + key: "9csbqa" + } + ], + ["path", { d: "m14 19.5 3-3 3 3", key: "9vmjn0" }], + ["path", { d: "M17 22v-5.5", key: "1aa6fl" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }] +]); + +const ImageUpscale = createLucideIcon("ImageUpscaleIcon", [ + ["path", { d: "M16 3h5v5", key: "1806ms" }], + ["path", { d: "M17 21h2a2 2 0 0 0 2-2", key: "130fy9" }], + ["path", { d: "M21 12v3", key: "1wzk3p" }], + ["path", { d: "m21 3-5 5", key: "1g5oa7" }], + ["path", { d: "M3 7V5a2 2 0 0 1 2-2", key: "kk3yz1" }], + ["path", { d: "m5 21 4.144-4.144a1.21 1.21 0 0 1 1.712 0L13 19", key: "fyekpt" }], + ["path", { d: "M9 3h3", key: "d52fa" }], + ["rect", { x: "3", y: "11", width: "10", height: "10", rx: "1", key: "1wpmix" }] +]); + +const Image = createLucideIcon("ImageIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }], + ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }] +]); + +const Images = createLucideIcon("ImagesIcon", [ + ["path", { d: "M18 22H4a2 2 0 0 1-2-2V6", key: "pblm9e" }], + ["path", { d: "m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18", key: "nf6bnh" }], + ["circle", { cx: "12", cy: "8", r: "2", key: "1822b1" }], + ["rect", { width: "16", height: "16", x: "6", y: "2", rx: "2", key: "12espp" }] +]); + +const Import = createLucideIcon("ImportIcon", [ + ["path", { d: "M12 3v12", key: "1x0j5s" }], + ["path", { d: "m8 11 4 4 4-4", key: "1dohi6" }], + [ + "path", + { + d: "M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4", + key: "1ywtjm" + } + ] +]); + +const Inbox = createLucideIcon("InboxIcon", [ + ["polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12", key: "o97t9d" }], + [ + "path", + { + d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z", + key: "oot6mr" + } + ] +]); + +const IndentDecrease = createLucideIcon("IndentDecreaseIcon", [ + ["path", { d: "M21 12H11", key: "wd7e0v" }], + ["path", { d: "M21 18H11", key: "4wu86t" }], + ["path", { d: "M21 6H11", key: "6dy1d6" }], + ["path", { d: "m7 8-4 4 4 4", key: "o5hrat" }] +]); + +const IndentIncrease = createLucideIcon("IndentIncreaseIcon", [ + ["path", { d: "M21 12H11", key: "wd7e0v" }], + ["path", { d: "M21 18H11", key: "4wu86t" }], + ["path", { d: "M21 6H11", key: "6dy1d6" }], + ["path", { d: "m3 8 4 4-4 4", key: "1a3j6y" }] +]); + +const IndianRupee = createLucideIcon("IndianRupeeIcon", [ + ["path", { d: "M6 3h12", key: "ggurg9" }], + ["path", { d: "M6 8h12", key: "6g4wlu" }], + ["path", { d: "m6 13 8.5 8", key: "u1kupk" }], + ["path", { d: "M6 13h3", key: "wdp6ag" }], + ["path", { d: "M9 13c6.667 0 6.667-10 0-10", key: "1nkvk2" }] +]); + +const Infinity = createLucideIcon("InfinityIcon", [ + [ + "path", + { + d: "M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z", + key: "1z0uae" + } + ] +]); + +const Info = createLucideIcon("InfoIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 16v-4", key: "1dtifu" }], + ["path", { d: "M12 8h.01", key: "e9boi3" }] +]); + +const InspectionPanel = createLucideIcon("InspectionPanelIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 7h.01", key: "7u93v4" }], + ["path", { d: "M17 7h.01", key: "14a9sn" }], + ["path", { d: "M7 17h.01", key: "19xn7k" }], + ["path", { d: "M17 17h.01", key: "1sd3ek" }] +]); + +const Instagram = createLucideIcon("InstagramIcon", [ + ["rect", { width: "20", height: "20", x: "2", y: "2", rx: "5", ry: "5", key: "2e1cvw" }], + ["path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z", key: "9exkf1" }], + ["line", { x1: "17.5", x2: "17.51", y1: "6.5", y2: "6.5", key: "r4j83e" }] +]); + +const Italic = createLucideIcon("ItalicIcon", [ + ["line", { x1: "19", x2: "10", y1: "4", y2: "4", key: "15jd3p" }], + ["line", { x1: "14", x2: "5", y1: "20", y2: "20", key: "bu0au3" }], + ["line", { x1: "15", x2: "9", y1: "4", y2: "20", key: "uljnxc" }] +]); + +const IterationCcw = createLucideIcon("IterationCcwIcon", [ + ["path", { d: "M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8", key: "4znkd0" }], + ["polyline", { points: "16 14 20 18 16 22", key: "11njsm" }] +]); + +const IterationCw = createLucideIcon("IterationCwIcon", [ + ["path", { d: "M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4", key: "tuf4su" }], + ["polyline", { points: "8 22 4 18 8 14", key: "evkj9s" }] +]); + +const JapaneseYen = createLucideIcon("JapaneseYenIcon", [ + ["path", { d: "M12 9.5V21m0-11.5L6 3m6 6.5L18 3", key: "2ej80x" }], + ["path", { d: "M6 15h12", key: "1hwgt5" }], + ["path", { d: "M6 11h12", key: "wf4gp6" }] +]); + +const Joystick = createLucideIcon("JoystickIcon", [ + [ + "path", + { + d: "M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z", + key: "jg2n2t" + } + ], + ["path", { d: "M6 15v-2", key: "gd6mvg" }], + ["path", { d: "M12 15V9", key: "8c7uyn" }], + ["circle", { cx: "12", cy: "6", r: "3", key: "1gm2ql" }] +]); + +const Kanban = createLucideIcon("KanbanIcon", [ + ["path", { d: "M6 5v11", key: "mdvv1e" }], + ["path", { d: "M12 5v6", key: "14ar3b" }], + ["path", { d: "M18 5v14", key: "7ji314" }] +]); + +const KeyRound = createLucideIcon("KeyRoundIcon", [ + [ + "path", + { + d: "M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z", + key: "1s6t7t" + } + ], + ["circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor", key: "w0ekpg" }] +]); + +const KeySquare = createLucideIcon("KeySquareIcon", [ + [ + "path", + { + d: "M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z", + key: "165ttr" + } + ], + ["path", { d: "m14 7 3 3", key: "1r5n42" }], + [ + "path", + { + d: "m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814", + key: "1ubxi2" + } + ] +]); + +const Key = createLucideIcon("KeyIcon", [ + ["path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4", key: "g0fldk" }], + ["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }], + ["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }] +]); + +const KeyboardMusic = createLucideIcon("KeyboardMusicIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M6 8h4", key: "utf9t1" }], + ["path", { d: "M14 8h.01", key: "1primd" }], + ["path", { d: "M18 8h.01", key: "emo2bl" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "M6 12v4", key: "dy92yo" }], + ["path", { d: "M10 12v4", key: "1fxnav" }], + ["path", { d: "M14 12v4", key: "1hft58" }], + ["path", { d: "M18 12v4", key: "tjjnbz" }] +]); + +const KeyboardOff = createLucideIcon("KeyboardOffIcon", [ + ["path", { d: "M 20 4 A2 2 0 0 1 22 6", key: "1g1fkt" }], + ["path", { d: "M 22 6 L 22 16.41", key: "1qjg3w" }], + ["path", { d: "M 7 16 L 16 16", key: "n0yqwb" }], + ["path", { d: "M 9.69 4 L 20 4", key: "kbpcgx" }], + ["path", { d: "M14 8h.01", key: "1primd" }], + ["path", { d: "M18 8h.01", key: "emo2bl" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2", key: "s23sx2" }], + ["path", { d: "M6 8h.01", key: "x9i8wu" }], + ["path", { d: "M8 12h.01", key: "czm47f" }] +]); + +const Keyboard = createLucideIcon("KeyboardIcon", [ + ["path", { d: "M10 8h.01", key: "1r9ogq" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M14 8h.01", key: "1primd" }], + ["path", { d: "M16 12h.01", key: "1l6xoz" }], + ["path", { d: "M18 8h.01", key: "emo2bl" }], + ["path", { d: "M6 8h.01", key: "x9i8wu" }], + ["path", { d: "M7 16h10", key: "wp8him" }], + ["path", { d: "M8 12h.01", key: "czm47f" }], + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }] +]); + +const LampCeiling = createLucideIcon("LampCeilingIcon", [ + ["path", { d: "M12 2v5", key: "nd4vlx" }], + ["path", { d: "M6 7h12l4 9H2l4-9Z", key: "123d64" }], + ["path", { d: "M9.17 16a3 3 0 1 0 5.66 0", key: "1061mw" }] +]); + +const LampDesk = createLucideIcon("LampDeskIcon", [ + ["path", { d: "m14 5-3 3 2 7 8-8-7-2Z", key: "1b0msb" }], + ["path", { d: "m14 5-3 3-3-3 3-3 3 3Z", key: "1uemms" }], + ["path", { d: "M9.5 6.5 4 12l3 6", key: "1bx08v" }], + ["path", { d: "M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z", key: "wap775" }] +]); + +const LampFloor = createLucideIcon("LampFloorIcon", [ + ["path", { d: "M9 2h6l3 7H6l3-7Z", key: "wcx6mj" }], + ["path", { d: "M12 9v13", key: "3n1su1" }], + ["path", { d: "M9 22h6", key: "1rlq3v" }] +]); + +const LampWallDown = createLucideIcon("LampWallDownIcon", [ + ["path", { d: "M11 13h6l3 7H8l3-7Z", key: "9n3qlo" }], + ["path", { d: "M14 13V8a2 2 0 0 0-2-2H8", key: "1hu4hb" }], + ["path", { d: "M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z", key: "s053bc" }] +]); + +const LampWallUp = createLucideIcon("LampWallUpIcon", [ + ["path", { d: "M11 4h6l3 7H8l3-7Z", key: "11x1ee" }], + ["path", { d: "M14 11v5a2 2 0 0 1-2 2H8", key: "eutp5o" }], + ["path", { d: "M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z", key: "1iuthr" }] +]); + +const Lamp = createLucideIcon("LampIcon", [ + ["path", { d: "M8 2h8l4 10H4L8 2Z", key: "9dma5w" }], + ["path", { d: "M12 12v6", key: "3ahymv" }], + ["path", { d: "M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z", key: "mwf4oh" }] +]); + +const LandPlot = createLucideIcon("LandPlotIcon", [ + ["path", { d: "m12 8 6-3-6-3v10", key: "mvpnpy" }], + [ + "path", + { + d: "m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12", + key: "ek95tt" + } + ], + ["path", { d: "m6.49 12.85 11.02 6.3", key: "1kt42w" }], + ["path", { d: "M17.51 12.85 6.5 19.15", key: "v55bdg" }] +]); + +const Landmark = createLucideIcon("LandmarkIcon", [ + ["line", { x1: "3", x2: "21", y1: "22", y2: "22", key: "j8o0r" }], + ["line", { x1: "6", x2: "6", y1: "18", y2: "11", key: "10tf0k" }], + ["line", { x1: "10", x2: "10", y1: "18", y2: "11", key: "54lgf6" }], + ["line", { x1: "14", x2: "14", y1: "18", y2: "11", key: "380y" }], + ["line", { x1: "18", x2: "18", y1: "18", y2: "11", key: "1kevvc" }], + ["polygon", { points: "12 2 20 7 4 7", key: "jkujk7" }] +]); + +const Languages = createLucideIcon("LanguagesIcon", [ + ["path", { d: "m5 8 6 6", key: "1wu5hv" }], + ["path", { d: "m4 14 6-6 2-3", key: "1k1g8d" }], + ["path", { d: "M2 5h12", key: "or177f" }], + ["path", { d: "M7 2h1", key: "1t2jsx" }], + ["path", { d: "m22 22-5-10-5 10", key: "don7ne" }], + ["path", { d: "M14 18h6", key: "1m8k6r" }] +]); + +const LaptopMinimalCheck = createLucideIcon("LaptopMinimalCheckIcon", [ + ["path", { d: "M2 20h20", key: "owomy5" }], + ["path", { d: "m9 10 2 2 4-4", key: "1gnqz4" }], + ["rect", { x: "3", y: "4", width: "18", height: "12", rx: "2", key: "8ur36m" }] +]); + +const LaptopMinimal = createLucideIcon("LaptopMinimalIcon", [ + ["rect", { width: "18", height: "12", x: "3", y: "4", rx: "2", ry: "2", key: "1qhy41" }], + ["line", { x1: "2", x2: "22", y1: "20", y2: "20", key: "ni3hll" }] +]); + +const Laptop = createLucideIcon("LaptopIcon", [ + [ + "path", + { + d: "M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16", + key: "tarvll" + } + ] +]); + +const LassoSelect = createLucideIcon("LassoSelectIcon", [ + ["path", { d: "M7 22a5 5 0 0 1-2-4", key: "umushi" }], + ["path", { d: "M7 16.93c.96.43 1.96.74 2.99.91", key: "ybbtv3" }], + [ + "path", + { + d: "M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2", + key: "gt5e1w" + } + ], + ["path", { d: "M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z", key: "bq3ynw" }], + [ + "path", + { + d: "M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z", + key: "72q637" + } + ] +]); + +const Lasso = createLucideIcon("LassoIcon", [ + ["path", { d: "M7 22a5 5 0 0 1-2-4", key: "umushi" }], + [ + "path", + { + d: "M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1", + key: "146dds" + } + ], + ["path", { d: "M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z", key: "bq3ynw" }] +]); + +const Laugh = createLucideIcon("LaughIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z", key: "b2q4dd" }], + ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }], + ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }] +]); + +const Layers2 = createLucideIcon("Layers2Icon", [ + [ + "path", + { + d: "m16.02 12 5.48 3.13a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74L7.98 12", + key: "1cuww1" + } + ], + [ + "path", + { + d: "M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74Z", + key: "pdlvxu" + } + ] +]); + +const Layers = createLucideIcon("LayersIcon", [ + [ + "path", + { + d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z", + key: "zw3jo" + } + ], + [ + "path", + { + d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12", + key: "1wduqc" + } + ], + [ + "path", + { + d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17", + key: "kqbvx6" + } + ] +]); + +const LayoutDashboard = createLucideIcon("LayoutDashboardIcon", [ + ["rect", { width: "7", height: "9", x: "3", y: "3", rx: "1", key: "10lvy0" }], + ["rect", { width: "7", height: "5", x: "14", y: "3", rx: "1", key: "16une8" }], + ["rect", { width: "7", height: "9", x: "14", y: "12", rx: "1", key: "1hutg5" }], + ["rect", { width: "7", height: "5", x: "3", y: "16", rx: "1", key: "ldoo1y" }] +]); + +const LayoutGrid = createLucideIcon("LayoutGridIcon", [ + ["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }], + ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }], + ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }], + ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }] +]); + +const LayoutList = createLucideIcon("LayoutListIcon", [ + ["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }], + ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }], + ["path", { d: "M14 4h7", key: "3xa0d5" }], + ["path", { d: "M14 9h7", key: "1icrd9" }], + ["path", { d: "M14 15h7", key: "1mj8o2" }], + ["path", { d: "M14 20h7", key: "11slyb" }] +]); + +const LayoutPanelLeft = createLucideIcon("LayoutPanelLeftIcon", [ + ["rect", { width: "7", height: "18", x: "3", y: "3", rx: "1", key: "2obqm" }], + ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }], + ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }] +]); + +const LayoutPanelTop = createLucideIcon("LayoutPanelTopIcon", [ + ["rect", { width: "18", height: "7", x: "3", y: "3", rx: "1", key: "f1a2em" }], + ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }], + ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }] +]); + +const LayoutTemplate = createLucideIcon("LayoutTemplateIcon", [ + ["rect", { width: "18", height: "7", x: "3", y: "3", rx: "1", key: "f1a2em" }], + ["rect", { width: "9", height: "7", x: "3", y: "14", rx: "1", key: "jqznyg" }], + ["rect", { width: "5", height: "7", x: "16", y: "14", rx: "1", key: "q5h2i8" }] +]); + +const Leaf = createLucideIcon("LeafIcon", [ + [ + "path", + { + d: "M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z", + key: "nnexq3" + } + ], + ["path", { d: "M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12", key: "mt58a7" }] +]); + +const LeafyGreen = createLucideIcon("LeafyGreenIcon", [ + [ + "path", + { + d: "M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22", + key: "1134nt" + } + ], + ["path", { d: "M2 22 17 7", key: "1q7jp2" }] +]); + +const Lectern = createLucideIcon("LecternIcon", [ + [ + "path", + { + d: "M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3", + key: "13jjxg" + } + ], + ["path", { d: "M18 6V3a1 1 0 0 0-1-1h-3", key: "1550fe" }], + ["rect", { width: "8", height: "12", x: "8", y: "10", rx: "1", key: "qmu8b6" }] +]); + +const LetterText = createLucideIcon("LetterTextIcon", [ + ["path", { d: "M15 12h6", key: "upa0zy" }], + ["path", { d: "M15 6h6", key: "1jlkvy" }], + ["path", { d: "m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13", key: "blevx4" }], + ["path", { d: "M3 18h18", key: "1h113x" }], + ["path", { d: "M4 11h6", key: "olkgv1" }] +]); + +const LibraryBig = createLucideIcon("LibraryBigIcon", [ + ["rect", { width: "8", height: "18", x: "3", y: "3", rx: "1", key: "oynpb5" }], + ["path", { d: "M7 3v18", key: "bbkbws" }], + [ + "path", + { + d: "M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z", + key: "1qboyk" + } + ] +]); + +const Library = createLucideIcon("LibraryIcon", [ + ["path", { d: "m16 6 4 14", key: "ji33uf" }], + ["path", { d: "M12 6v14", key: "1n7gus" }], + ["path", { d: "M8 8v12", key: "1gg7y9" }], + ["path", { d: "M4 4v16", key: "6qkkli" }] +]); + +const LifeBuoy = createLucideIcon("LifeBuoyIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "m4.93 4.93 4.24 4.24", key: "1ymg45" }], + ["path", { d: "m14.83 9.17 4.24-4.24", key: "1cb5xl" }], + ["path", { d: "m14.83 14.83 4.24 4.24", key: "q42g0n" }], + ["path", { d: "m9.17 14.83-4.24 4.24", key: "bqpfvv" }], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }] +]); + +const Ligature = createLucideIcon("LigatureIcon", [ + ["path", { d: "M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2", key: "1rtphz" }], + ["path", { d: "M6 12h4", key: "a4o3ry" }], + ["path", { d: "M14 12h2v8", key: "c1fccl" }], + ["path", { d: "M6 20h4", key: "1i6q5t" }], + ["path", { d: "M14 20h4", key: "lzx1xo" }] +]); + +const LightbulbOff = createLucideIcon("LightbulbOffIcon", [ + ["path", { d: "M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5", key: "1fkcox" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5", key: "10m8kw" }], + ["path", { d: "M9 18h6", key: "x1upvd" }], + ["path", { d: "M10 22h4", key: "ceow96" }] +]); + +const Lightbulb = createLucideIcon("LightbulbIcon", [ + [ + "path", + { + d: "M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5", + key: "1gvzjb" + } + ], + ["path", { d: "M9 18h6", key: "x1upvd" }], + ["path", { d: "M10 22h4", key: "ceow96" }] +]); + +const Link2Off = createLucideIcon("Link2OffIcon", [ + ["path", { d: "M9 17H7A5 5 0 0 1 7 7", key: "10o201" }], + ["path", { d: "M15 7h2a5 5 0 0 1 4 8", key: "1d3206" }], + ["line", { x1: "8", x2: "12", y1: "12", y2: "12", key: "rvw6j4" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Link2 = createLucideIcon("Link2Icon", [ + ["path", { d: "M9 17H7A5 5 0 0 1 7 7h2", key: "8i5ue5" }], + ["path", { d: "M15 7h2a5 5 0 1 1 0 10h-2", key: "1b9ql8" }], + ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }] +]); + +const Link = createLucideIcon("LinkIcon", [ + ["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }], + ["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }] +]); + +const Linkedin = createLucideIcon("LinkedinIcon", [ + [ + "path", + { + d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z", + key: "c2jq9f" + } + ], + ["rect", { width: "4", height: "12", x: "2", y: "9", key: "mk3on5" }], + ["circle", { cx: "4", cy: "4", r: "2", key: "bt5ra8" }] +]); + +const ListCheck = createLucideIcon("ListCheckIcon", [ + ["path", { d: "M11 18H3", key: "n3j2dh" }], + ["path", { d: "m15 18 2 2 4-4", key: "1szwhi" }], + ["path", { d: "M16 12H3", key: "1a2rj7" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }] +]); + +const ListChecks = createLucideIcon("ListChecksIcon", [ + ["path", { d: "m3 17 2 2 4-4", key: "1jhpwq" }], + ["path", { d: "m3 7 2 2 4-4", key: "1obspn" }], + ["path", { d: "M13 6h8", key: "15sg57" }], + ["path", { d: "M13 12h8", key: "h98zly" }], + ["path", { d: "M13 18h8", key: "oe0vm4" }] +]); + +const ListCollapse = createLucideIcon("ListCollapseIcon", [ + ["path", { d: "m3 10 2.5-2.5L3 5", key: "i6eama" }], + ["path", { d: "m3 19 2.5-2.5L3 14", key: "w2gmor" }], + ["path", { d: "M10 6h11", key: "c7qv1k" }], + ["path", { d: "M10 12h11", key: "6m4ad9" }], + ["path", { d: "M10 18h11", key: "11hvi2" }] +]); + +const ListEnd = createLucideIcon("ListEndIcon", [ + ["path", { d: "M16 12H3", key: "1a2rj7" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M10 18H3", key: "13769t" }], + ["path", { d: "M21 6v10a2 2 0 0 1-2 2h-5", key: "ilrcs8" }], + ["path", { d: "m16 16-2 2 2 2", key: "kkc6pm" }] +]); + +const ListFilterPlus = createLucideIcon("ListFilterPlusIcon", [ + ["path", { d: "M10 18h4", key: "1ulq68" }], + ["path", { d: "M11 6H3", key: "1u26ik" }], + ["path", { d: "M15 6h6", key: "1jlkvy" }], + ["path", { d: "M18 9V3", key: "xwwp7m" }], + ["path", { d: "M7 12h8", key: "7a1bxv" }] +]); + +const ListFilter = createLucideIcon("ListFilterIcon", [ + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ["path", { d: "M7 12h10", key: "b7w52i" }], + ["path", { d: "M10 18h4", key: "1ulq68" }] +]); + +const ListMinus = createLucideIcon("ListMinusIcon", [ + ["path", { d: "M11 12H3", key: "51ecnj" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M16 18H3", key: "12xzn7" }], + ["path", { d: "M21 12h-6", key: "bt1uis" }] +]); + +const ListMusic = createLucideIcon("ListMusicIcon", [ + ["path", { d: "M21 15V6", key: "h1cx4g" }], + ["path", { d: "M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z", key: "8saifv" }], + ["path", { d: "M12 12H3", key: "18klou" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M12 18H3", key: "11ftsu" }] +]); + +const ListOrdered = createLucideIcon("ListOrderedIcon", [ + ["path", { d: "M10 12h11", key: "6m4ad9" }], + ["path", { d: "M10 18h11", key: "11hvi2" }], + ["path", { d: "M10 6h11", key: "c7qv1k" }], + ["path", { d: "M4 10h2", key: "16xx2s" }], + ["path", { d: "M4 6h1v4", key: "cnovpq" }], + ["path", { d: "M6 18H4c0-1 2-2 2-3s-1-1.5-2-1", key: "m9a95d" }] +]); + +const ListPlus = createLucideIcon("ListPlusIcon", [ + ["path", { d: "M11 12H3", key: "51ecnj" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M16 18H3", key: "12xzn7" }], + ["path", { d: "M18 9v6", key: "1twb98" }], + ["path", { d: "M21 12h-6", key: "bt1uis" }] +]); + +const ListRestart = createLucideIcon("ListRestartIcon", [ + ["path", { d: "M21 6H3", key: "1jwq7v" }], + ["path", { d: "M7 12H3", key: "13ou7f" }], + ["path", { d: "M7 18H3", key: "1sijw9" }], + [ + "path", + { + d: "M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14", + key: "qth677" + } + ], + ["path", { d: "M11 10v4h4", key: "172dkj" }] +]); + +const ListStart = createLucideIcon("ListStartIcon", [ + ["path", { d: "M16 12H3", key: "1a2rj7" }], + ["path", { d: "M16 18H3", key: "12xzn7" }], + ["path", { d: "M10 6H3", key: "lf8lx7" }], + ["path", { d: "M21 18V8a2 2 0 0 0-2-2h-5", key: "1hghli" }], + ["path", { d: "m16 8-2-2 2-2", key: "160uvd" }] +]); + +const ListTodo = createLucideIcon("ListTodoIcon", [ + ["rect", { x: "3", y: "5", width: "6", height: "6", rx: "1", key: "1defrl" }], + ["path", { d: "m3 17 2 2 4-4", key: "1jhpwq" }], + ["path", { d: "M13 6h8", key: "15sg57" }], + ["path", { d: "M13 12h8", key: "h98zly" }], + ["path", { d: "M13 18h8", key: "oe0vm4" }] +]); + +const ListTree = createLucideIcon("ListTreeIcon", [ + ["path", { d: "M21 12h-8", key: "1bmf0i" }], + ["path", { d: "M21 6H8", key: "1pqkrb" }], + ["path", { d: "M21 18h-8", key: "1tm79t" }], + ["path", { d: "M3 6v4c0 1.1.9 2 2 2h3", key: "1ywdgy" }], + ["path", { d: "M3 10v6c0 1.1.9 2 2 2h3", key: "2wc746" }] +]); + +const ListVideo = createLucideIcon("ListVideoIcon", [ + ["path", { d: "M12 12H3", key: "18klou" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M12 18H3", key: "11ftsu" }], + ["path", { d: "m16 12 5 3-5 3v-6Z", key: "zpskkp" }] +]); + +const ListX = createLucideIcon("ListXIcon", [ + ["path", { d: "M11 12H3", key: "51ecnj" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M16 18H3", key: "12xzn7" }], + ["path", { d: "m19 10-4 4", key: "1tz659" }], + ["path", { d: "m15 10 4 4", key: "1n7nei" }] +]); + +const List = createLucideIcon("ListIcon", [ + ["path", { d: "M3 12h.01", key: "nlz23k" }], + ["path", { d: "M3 18h.01", key: "1tta3j" }], + ["path", { d: "M3 6h.01", key: "1rqtza" }], + ["path", { d: "M8 12h13", key: "1za7za" }], + ["path", { d: "M8 18h13", key: "1lx6n3" }], + ["path", { d: "M8 6h13", key: "ik3vkj" }] +]); + +const LoaderCircle = createLucideIcon("LoaderCircleIcon", [ + ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }] +]); + +const LoaderPinwheel = createLucideIcon("LoaderPinwheelIcon", [ + ["path", { d: "M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0", key: "1lzz15" }], + ["path", { d: "M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6", key: "1gnrpi" }], + ["path", { d: "M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6", key: "u9yy5q" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const Loader = createLucideIcon("LoaderIcon", [ + ["path", { d: "M12 2v4", key: "3427ic" }], + ["path", { d: "m16.2 7.8 2.9-2.9", key: "r700ao" }], + ["path", { d: "M18 12h4", key: "wj9ykh" }], + ["path", { d: "m16.2 16.2 2.9 2.9", key: "1bxg5t" }], + ["path", { d: "M12 18v4", key: "jadmvz" }], + ["path", { d: "m4.9 19.1 2.9-2.9", key: "bwix9q" }], + ["path", { d: "M2 12h4", key: "j09sii" }], + ["path", { d: "m4.9 4.9 2.9 2.9", key: "giyufr" }] +]); + +const LocateFixed = createLucideIcon("LocateFixedIcon", [ + ["line", { x1: "2", x2: "5", y1: "12", y2: "12", key: "bvdh0s" }], + ["line", { x1: "19", x2: "22", y1: "12", y2: "12", key: "1tbv5k" }], + ["line", { x1: "12", x2: "12", y1: "2", y2: "5", key: "11lu5j" }], + ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }], + ["circle", { cx: "12", cy: "12", r: "7", key: "fim9np" }], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }] +]); + +const LocateOff = createLucideIcon("LocateOffIcon", [ + ["line", { x1: "2", x2: "5", y1: "12", y2: "12", key: "bvdh0s" }], + ["line", { x1: "19", x2: "22", y1: "12", y2: "12", key: "1tbv5k" }], + ["line", { x1: "12", x2: "12", y1: "2", y2: "5", key: "11lu5j" }], + ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }], + [ + "path", + { + d: "M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11", + key: "1oh7ia" + } + ], + [ + "path", + { + d: "M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29", + key: "3qdecy" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Locate = createLucideIcon("LocateIcon", [ + ["line", { x1: "2", x2: "5", y1: "12", y2: "12", key: "bvdh0s" }], + ["line", { x1: "19", x2: "22", y1: "12", y2: "12", key: "1tbv5k" }], + ["line", { x1: "12", x2: "12", y1: "2", y2: "5", key: "11lu5j" }], + ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }], + ["circle", { cx: "12", cy: "12", r: "7", key: "fim9np" }] +]); + +const LockKeyholeOpen = createLucideIcon("LockKeyholeOpenIcon", [ + ["circle", { cx: "12", cy: "16", r: "1", key: "1au0dj" }], + ["rect", { width: "18", height: "12", x: "3", y: "10", rx: "2", key: "l0tzu3" }], + ["path", { d: "M7 10V7a5 5 0 0 1 9.33-2.5", key: "car5b7" }] +]); + +const LockKeyhole = createLucideIcon("LockKeyholeIcon", [ + ["circle", { cx: "12", cy: "16", r: "1", key: "1au0dj" }], + ["rect", { x: "3", y: "10", width: "18", height: "12", rx: "2", key: "6s8ecr" }], + ["path", { d: "M7 10V7a5 5 0 0 1 10 0v3", key: "1pqi11" }] +]); + +const LockOpen = createLucideIcon("LockOpenIcon", [ + ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }], + ["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }] +]); + +const Lock = createLucideIcon("LockIcon", [ + ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }], + ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }] +]); + +const LogIn = createLucideIcon("LogInIcon", [ + ["path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4", key: "u53s6r" }], + ["polyline", { points: "10 17 15 12 10 7", key: "1ail0h" }], + ["line", { x1: "15", x2: "3", y1: "12", y2: "12", key: "v6grx8" }] +]); + +const LogOut = createLucideIcon("LogOutIcon", [ + ["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }], + ["polyline", { points: "16 17 21 12 16 7", key: "1gabdz" }], + ["line", { x1: "21", x2: "9", y1: "12", y2: "12", key: "1uyos4" }] +]); + +const Logs = createLucideIcon("LogsIcon", [ + ["path", { d: "M13 12h8", key: "h98zly" }], + ["path", { d: "M13 18h8", key: "oe0vm4" }], + ["path", { d: "M13 6h8", key: "15sg57" }], + ["path", { d: "M3 12h1", key: "lp3yf2" }], + ["path", { d: "M3 18h1", key: "1eiwyy" }], + ["path", { d: "M3 6h1", key: "rgxa97" }], + ["path", { d: "M8 12h1", key: "1con00" }], + ["path", { d: "M8 18h1", key: "13wk12" }], + ["path", { d: "M8 6h1", key: "tn6mkg" }] +]); + +const Lollipop = createLucideIcon("LollipopIcon", [ + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }], + ["path", { d: "M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0", key: "107gwy" }] +]); + +const Luggage = createLucideIcon("LuggageIcon", [ + [ + "path", + { d: "M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2", key: "1m57jg" } + ], + ["path", { d: "M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14", key: "1l99gc" }], + ["path", { d: "M10 20h4", key: "ni2waw" }], + ["circle", { cx: "16", cy: "20", r: "2", key: "1vifvg" }], + ["circle", { cx: "8", cy: "20", r: "2", key: "ckkr5m" }] +]); + +const Magnet = createLucideIcon("MagnetIcon", [ + [ + "path", + { + d: "m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15", + key: "1i3lhw" + } + ], + ["path", { d: "m5 8 4 4", key: "j6kj7e" }], + ["path", { d: "m12 15 4 4", key: "lnac28" }] +]); + +const MailCheck = createLucideIcon("MailCheckIcon", [ + ["path", { d: "M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8", key: "12jkf8" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "m16 19 2 2 4-4", key: "1b14m6" }] +]); + +const MailMinus = createLucideIcon("MailMinusIcon", [ + ["path", { d: "M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8", key: "fuxbkv" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "M16 19h6", key: "xwg31i" }] +]); + +const MailOpen = createLucideIcon("MailOpenIcon", [ + [ + "path", + { + d: "M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z", + key: "1jhwl8" + } + ], + ["path", { d: "m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10", key: "1qfld7" }] +]); + +const MailPlus = createLucideIcon("MailPlusIcon", [ + ["path", { d: "M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8", key: "12jkf8" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "M19 16v6", key: "tddt3s" }], + ["path", { d: "M16 19h6", key: "xwg31i" }] +]); + +const MailQuestion = createLucideIcon("MailQuestionIcon", [ + ["path", { d: "M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5", key: "e61zoh" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + [ + "path", + { + d: "M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2", + key: "7z9rxb" + } + ], + ["path", { d: "M20 22v.01", key: "12bgn6" }] +]); + +const MailSearch = createLucideIcon("MailSearchIcon", [ + ["path", { d: "M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5", key: "w80f2v" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z", key: "8lzu5m" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["path", { d: "m22 22-1.5-1.5", key: "1x83k4" }] +]); + +const MailWarning = createLucideIcon("MailWarningIcon", [ + ["path", { d: "M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5", key: "e61zoh" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "M20 14v4", key: "1hm744" }], + ["path", { d: "M20 22v.01", key: "12bgn6" }] +]); + +const MailX = createLucideIcon("MailXIcon", [ + ["path", { d: "M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9", key: "1j9vog" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }], + ["path", { d: "m17 17 4 4", key: "1b3523" }], + ["path", { d: "m21 17-4 4", key: "uinynz" }] +]); + +const Mail = createLucideIcon("MailIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }] +]); + +const Mailbox = createLucideIcon("MailboxIcon", [ + [ + "path", + { + d: "M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z", + key: "1lbycx" + } + ], + ["polyline", { points: "15,9 18,9 18,11", key: "1pm9c0" }], + ["path", { d: "M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2", key: "15i455" }], + ["line", { x1: "6", x2: "7", y1: "10", y2: "10", key: "1e2scm" }] +]); + +const Mails = createLucideIcon("MailsIcon", [ + ["rect", { width: "16", height: "13", x: "6", y: "4", rx: "2", key: "1drq3f" }], + ["path", { d: "m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7", key: "xn252p" }], + ["path", { d: "M2 8v11c0 1.1.9 2 2 2h14", key: "n13cji" }] +]); + +const MapPinCheckInside = createLucideIcon("MapPinCheckInsideIcon", [ + [ + "path", + { + d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", + key: "1r0f0z" + } + ], + ["path", { d: "m9 10 2 2 4-4", key: "1gnqz4" }] +]); + +const MapPinCheck = createLucideIcon("MapPinCheckIcon", [ + [ + "path", + { + d: "M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728", + key: "1dq61d" + } + ], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "m16 18 2 2 4-4", key: "1mkfmb" }] +]); + +const MapPinHouse = createLucideIcon("MapPinHouseIcon", [ + [ + "path", + { + d: "M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z", + key: "1p1rcz" + } + ], + [ + "path", + { + d: "M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2", + key: "mcbcs9" + } + ], + ["path", { d: "M18 22v-3", key: "1t1ugv" }], + ["circle", { cx: "10", cy: "10", r: "3", key: "1ns7v1" }] +]); + +const MapPinMinusInside = createLucideIcon("MapPinMinusInsideIcon", [ + [ + "path", + { + d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", + key: "1r0f0z" + } + ], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const MapPinMinus = createLucideIcon("MapPinMinusIcon", [ + [ + "path", + { + d: "M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738", + key: "11uxia" + } + ], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M16 18h6", key: "987eiv" }] +]); + +const MapPinOff = createLucideIcon("MapPinOffIcon", [ + ["path", { d: "M12.75 7.09a3 3 0 0 1 2.16 2.16", key: "1d4wjd" }], + [ + "path", + { + d: "M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568", + key: "12yil7" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533", key: "lhrkcz" }], + ["path", { d: "M9.13 9.13a3 3 0 0 0 3.74 3.74", key: "13wojd" }] +]); + +const MapPinPlusInside = createLucideIcon("MapPinPlusInsideIcon", [ + [ + "path", + { + d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", + key: "1r0f0z" + } + ], + ["path", { d: "M12 7v6", key: "lw1j43" }], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const MapPinPlus = createLucideIcon("MapPinPlusIcon", [ + [ + "path", + { + d: "M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738", + key: "fcdtly" + } + ], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M16 18h6", key: "987eiv" }], + ["path", { d: "M19 15v6", key: "10aioa" }] +]); + +const MapPinXInside = createLucideIcon("MapPinXInsideIcon", [ + [ + "path", + { + d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", + key: "1r0f0z" + } + ], + ["path", { d: "m14.5 7.5-5 5", key: "3lb6iw" }], + ["path", { d: "m9.5 7.5 5 5", key: "ko136h" }] +]); + +const MapPinX = createLucideIcon("MapPinXIcon", [ + [ + "path", + { + d: "M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077", + key: "y0ewhp" + } + ], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "m21.5 15.5-5 5", key: "11iqnx" }], + ["path", { d: "m21.5 20.5-5-5", key: "1bylgx" }] +]); + +const MapPin = createLucideIcon("MapPinIcon", [ + [ + "path", + { + d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", + key: "1r0f0z" + } + ], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }] +]); + +const MapPinned = createLucideIcon("MapPinnedIcon", [ + [ + "path", + { + d: "M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0", + key: "11u0oz" + } + ], + ["circle", { cx: "12", cy: "8", r: "2", key: "1822b1" }], + [ + "path", + { + d: "M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712", + key: "q8zwxj" + } + ] +]); + +const MapPlus = createLucideIcon("MapPlusIcon", [ + [ + "path", + { + d: "m11 19-1.106-.552a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0l4.212 2.106a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619V12", + key: "svfegj" + } + ], + ["path", { d: "M15 5.764V12", key: "1ocw4k" }], + ["path", { d: "M18 15v6", key: "9wciyi" }], + ["path", { d: "M21 18h-6", key: "139f0c" }], + ["path", { d: "M9 3.236v15", key: "1uimfh" }] +]); + +const Map = createLucideIcon("MapIcon", [ + [ + "path", + { + d: "M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z", + key: "169xi5" + } + ], + ["path", { d: "M15 5.764v15", key: "1pn4in" }], + ["path", { d: "M9 3.236v15", key: "1uimfh" }] +]); + +const MarsStroke = createLucideIcon("MarsStrokeIcon", [ + ["path", { d: "m14 6 4 4", key: "1q72g9" }], + ["path", { d: "M17 3h4v4", key: "19p9u1" }], + ["path", { d: "m21 3-7.75 7.75", key: "1cjbfd" }], + ["circle", { cx: "9", cy: "15", r: "6", key: "bx5svt" }] +]); + +const Mars = createLucideIcon("MarsIcon", [ + ["path", { d: "M16 3h5v5", key: "1806ms" }], + ["path", { d: "m21 3-6.75 6.75", key: "pv0uzu" }], + ["circle", { cx: "10", cy: "14", r: "6", key: "1qwbdc" }] +]); + +const Martini = createLucideIcon("MartiniIcon", [ + ["path", { d: "M8 22h8", key: "rmew8v" }], + ["path", { d: "M12 11v11", key: "ur9y6a" }], + ["path", { d: "m19 3-7 8-7-8Z", key: "1sgpiw" }] +]); + +const Maximize2 = createLucideIcon("Maximize2Icon", [ + ["polyline", { points: "15 3 21 3 21 9", key: "mznyad" }], + ["polyline", { points: "9 21 3 21 3 15", key: "1avn1i" }], + ["line", { x1: "21", x2: "14", y1: "3", y2: "10", key: "ota7mn" }], + ["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }] +]); + +const Maximize = createLucideIcon("MaximizeIcon", [ + ["path", { d: "M8 3H5a2 2 0 0 0-2 2v3", key: "1dcmit" }], + ["path", { d: "M21 8V5a2 2 0 0 0-2-2h-3", key: "1e4gt3" }], + ["path", { d: "M3 16v3a2 2 0 0 0 2 2h3", key: "wsl5sc" }], + ["path", { d: "M16 21h3a2 2 0 0 0 2-2v-3", key: "18trek" }] +]); + +const Medal = createLucideIcon("MedalIcon", [ + [ + "path", + { + d: "M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15", + key: "143lza" + } + ], + ["path", { d: "M11 12 5.12 2.2", key: "qhuxz6" }], + ["path", { d: "m13 12 5.88-9.8", key: "hbye0f" }], + ["path", { d: "M8 7h8", key: "i86dvs" }], + ["circle", { cx: "12", cy: "17", r: "5", key: "qbz8iq" }], + ["path", { d: "M12 18v-2h-.5", key: "fawc4q" }] +]); + +const MegaphoneOff = createLucideIcon("MegaphoneOffIcon", [ + ["path", { d: "M9.26 9.26 3 11v3l14.14 3.14", key: "3429n" }], + ["path", { d: "M21 15.34V6l-7.31 2.03", key: "4o1dh8" }], + ["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Megaphone = createLucideIcon("MegaphoneIcon", [ + ["path", { d: "m3 11 18-5v12L3 14v-3z", key: "n962bs" }], + ["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }] +]); + +const Meh = createLucideIcon("MehIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["line", { x1: "8", x2: "16", y1: "15", y2: "15", key: "1xb1d9" }], + ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }], + ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }] +]); + +const MemoryStick = createLucideIcon("MemoryStickIcon", [ + ["path", { d: "M6 19v-3", key: "1nvgqn" }], + ["path", { d: "M10 19v-3", key: "iu8nkm" }], + ["path", { d: "M14 19v-3", key: "kcehxu" }], + ["path", { d: "M18 19v-3", key: "1vh91z" }], + ["path", { d: "M8 11V9", key: "63erz4" }], + ["path", { d: "M16 11V9", key: "fru6f3" }], + ["path", { d: "M12 11V9", key: "ha00sb" }], + ["path", { d: "M2 15h20", key: "16ne18" }], + [ + "path", + { + d: "M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z", + key: "lhddv3" + } + ] +]); + +const Menu = createLucideIcon("MenuIcon", [ + ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }], + ["line", { x1: "4", x2: "20", y1: "6", y2: "6", key: "1owob3" }], + ["line", { x1: "4", x2: "20", y1: "18", y2: "18", key: "yk5zj1" }] +]); + +const Merge = createLucideIcon("MergeIcon", [ + ["path", { d: "m8 6 4-4 4 4", key: "ybng9g" }], + ["path", { d: "M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22", key: "1hyw0i" }], + ["path", { d: "m20 22-5-5", key: "1m27yz" }] +]); + +const MessageCircleCode = createLucideIcon("MessageCircleCodeIcon", [ + ["path", { d: "M10 9.5 8 12l2 2.5", key: "3mjy60" }], + ["path", { d: "m14 9.5 2 2.5-2 2.5", key: "1bir2l" }], + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22z", key: "k85zhp" }] +]); + +const MessageCircleDashed = createLucideIcon("MessageCircleDashedIcon", [ + ["path", { d: "M13.5 3.1c-.5 0-1-.1-1.5-.1s-1 .1-1.5.1", key: "16ll65" }], + ["path", { d: "M19.3 6.8a10.45 10.45 0 0 0-2.1-2.1", key: "1nq77a" }], + ["path", { d: "M20.9 13.5c.1-.5.1-1 .1-1.5s-.1-1-.1-1.5", key: "1sf7wn" }], + ["path", { d: "M17.2 19.3a10.45 10.45 0 0 0 2.1-2.1", key: "x1hs5g" }], + ["path", { d: "M10.5 20.9c.5.1 1 .1 1.5.1s1-.1 1.5-.1", key: "19m18z" }], + ["path", { d: "M3.5 17.5 2 22l4.5-1.5", key: "1f36qi" }], + ["path", { d: "M3.1 10.5c0 .5-.1 1-.1 1.5s.1 1 .1 1.5", key: "1vz3ju" }], + ["path", { d: "M6.8 4.7a10.45 10.45 0 0 0-2.1 2.1", key: "19f9do" }] +]); + +const MessageCircleHeart = createLucideIcon("MessageCircleHeartIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + [ + "path", + { + d: "M15.8 9.2a2.5 2.5 0 0 0-3.5 0l-.3.4-.35-.3a2.42 2.42 0 1 0-3.2 3.6l3.6 3.5 3.6-3.5c1.2-1.2 1.1-2.7.2-3.7", + key: "43lnbm" + } + ] +]); + +const MessageCircleMore = createLucideIcon("MessageCircleMoreIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "M8 12h.01", key: "czm47f" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M16 12h.01", key: "1l6xoz" }] +]); + +const MessageCircleOff = createLucideIcon("MessageCircleOffIcon", [ + ["path", { d: "M20.5 14.9A9 9 0 0 0 9.1 3.5", key: "1iebmn" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7", key: "1ov8ce" }] +]); + +const MessageCirclePlus = createLucideIcon("MessageCirclePlusIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "M12 8v8", key: "napkw2" }] +]); + +const MessageCircleQuestion = createLucideIcon("MessageCircleQuestionIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }], + ["path", { d: "M12 17h.01", key: "p32p05" }] +]); + +const MessageCircleReply = createLucideIcon("MessageCircleReplyIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "m10 15-3-3 3-3", key: "1pgupc" }], + ["path", { d: "M7 12h7a2 2 0 0 1 2 2v1", key: "1gheu4" }] +]); + +const MessageCircleWarning = createLucideIcon("MessageCircleWarningIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "M12 8v4", key: "1got3b" }], + ["path", { d: "M12 16h.01", key: "1drbdi" }] +]); + +const MessageCircleX = createLucideIcon("MessageCircleXIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "m9 9 6 6", key: "z0biqf" }] +]); + +const MessageCircle = createLucideIcon("MessageCircleIcon", [ + ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }] +]); + +const MessageSquareCode = createLucideIcon("MessageSquareCodeIcon", [ + ["path", { d: "M10 7.5 8 10l2 2.5", key: "xb17xw" }], + ["path", { d: "m14 7.5 2 2.5-2 2.5", key: "5rap1v" }], + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }] +]); + +const MessageSquareDashed = createLucideIcon("MessageSquareDashedIcon", [ + ["path", { d: "M10 17H7l-4 4v-7", key: "1r71xu" }], + ["path", { d: "M14 17h1", key: "nufu4t" }], + ["path", { d: "M14 3h1", key: "1ec4yj" }], + ["path", { d: "M19 3a2 2 0 0 1 2 2", key: "18rm91" }], + ["path", { d: "M21 14v1a2 2 0 0 1-2 2", key: "29akq3" }], + ["path", { d: "M21 9v1", key: "mxsmne" }], + ["path", { d: "M3 9v1", key: "1r0deq" }], + ["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }], + ["path", { d: "M9 3h1", key: "1yesri" }] +]); + +const MessageSquareDiff = createLucideIcon("MessageSquareDiffIcon", [ + ["path", { d: "m5 19-2 2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2", key: "1xuzuj" }], + ["path", { d: "M9 10h6", key: "9gxzsh" }], + ["path", { d: "M12 7v6", key: "lw1j43" }], + ["path", { d: "M9 17h6", key: "r8uit2" }] +]); + +const MessageSquareDot = createLucideIcon("MessageSquareDotIcon", [ + ["path", { d: "M11.7 3H5a2 2 0 0 0-2 2v16l4-4h12a2 2 0 0 0 2-2v-2.7", key: "uodpkb" }], + ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }] +]); + +const MessageSquareHeart = createLucideIcon("MessageSquareHeartIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + [ + "path", + { + d: "M14.8 7.5a1.84 1.84 0 0 0-2.6 0l-.2.3-.3-.3a1.84 1.84 0 1 0-2.4 2.8L12 13l2.7-2.7c.9-.9.8-2.1.1-2.8", + key: "1blaws" + } + ] +]); + +const MessageSquareLock = createLucideIcon("MessageSquareLockIcon", [ + ["path", { d: "M19 15v-2a2 2 0 1 0-4 0v2", key: "h3d1vz" }], + ["path", { d: "M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5", key: "xsnnhn" }], + ["rect", { x: "13", y: "15", width: "8", height: "5", rx: "1", key: "1ccwuk" }] +]); + +const MessageSquareMore = createLucideIcon("MessageSquareMoreIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "M8 10h.01", key: "19clt8" }], + ["path", { d: "M12 10h.01", key: "1nrarc" }], + ["path", { d: "M16 10h.01", key: "1m94wz" }] +]); + +const MessageSquareOff = createLucideIcon("MessageSquareOffIcon", [ + ["path", { d: "M21 15V5a2 2 0 0 0-2-2H9", key: "43el77" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M3.6 3.6c-.4.3-.6.8-.6 1.4v16l4-4h10", key: "pwpm4a" }] +]); + +const MessageSquarePlus = createLucideIcon("MessageSquarePlusIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "M12 7v6", key: "lw1j43" }], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const MessageSquareQuote = createLucideIcon("MessageSquareQuoteIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "M8 12a2 2 0 0 0 2-2V8H8", key: "1jfesj" }], + ["path", { d: "M14 12a2 2 0 0 0 2-2V8h-2", key: "1dq9mh" }] +]); + +const MessageSquareReply = createLucideIcon("MessageSquareReplyIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "m10 7-3 3 3 3", key: "1eugdv" }], + ["path", { d: "M17 13v-1a2 2 0 0 0-2-2H7", key: "ernfh3" }] +]); + +const MessageSquareShare = createLucideIcon("MessageSquareShareIcon", [ + ["path", { d: "M21 12v3a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h7", key: "tqtdkg" }], + ["path", { d: "M16 3h5v5", key: "1806ms" }], + ["path", { d: "m16 8 5-5", key: "15mbrl" }] +]); + +const MessageSquareText = createLucideIcon("MessageSquareTextIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "M13 8H7", key: "14i4kc" }], + ["path", { d: "M17 12H7", key: "16if0g" }] +]); + +const MessageSquareWarning = createLucideIcon("MessageSquareWarningIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "M12 7v2", key: "stiyo7" }], + ["path", { d: "M12 13h.01", key: "y0uutt" }] +]); + +const MessageSquareX = createLucideIcon("MessageSquareXIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }], + ["path", { d: "m14.5 7.5-5 5", key: "3lb6iw" }], + ["path", { d: "m9.5 7.5 5 5", key: "ko136h" }] +]); + +const MessageSquare = createLucideIcon("MessageSquareIcon", [ + ["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }] +]); + +const MessagesSquare = createLucideIcon("MessagesSquareIcon", [ + ["path", { d: "M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z", key: "p1xzt8" }], + ["path", { d: "M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1", key: "1cx29u" }] +]); + +const MicOff = createLucideIcon("MicOffIcon", [ + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }], + ["path", { d: "M18.89 13.23A7.12 7.12 0 0 0 19 12v-2", key: "80xlxr" }], + ["path", { d: "M5 10v2a7 7 0 0 0 12 5", key: "p2k8kg" }], + ["path", { d: "M15 9.34V5a3 3 0 0 0-5.68-1.33", key: "1gzdoj" }], + ["path", { d: "M9 9v3a3 3 0 0 0 5.12 2.12", key: "r2i35w" }], + ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }] +]); + +const MicVocal = createLucideIcon("MicVocalIcon", [ + [ + "path", + { + d: "m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12", + key: "80a601" + } + ], + [ + "path", + { + d: "M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5", + key: "j0ngtp" + } + ], + ["circle", { cx: "16", cy: "7", r: "5", key: "d08jfb" }] +]); + +const Mic = createLucideIcon("MicIcon", [ + ["path", { d: "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z", key: "131961" }], + ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }], + ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }] +]); + +const Microchip = createLucideIcon("MicrochipIcon", [ + ["path", { d: "M18 12h2", key: "quuxs7" }], + ["path", { d: "M18 16h2", key: "zsn3lv" }], + ["path", { d: "M18 20h2", key: "9x5y9y" }], + ["path", { d: "M18 4h2", key: "1luxfb" }], + ["path", { d: "M18 8h2", key: "nxqzg" }], + ["path", { d: "M4 12h2", key: "1ltxp0" }], + ["path", { d: "M4 16h2", key: "8a5zha" }], + ["path", { d: "M4 20h2", key: "27dk57" }], + ["path", { d: "M4 4h2", key: "10groj" }], + ["path", { d: "M4 8h2", key: "18vq6w" }], + [ + "path", + { + d: "M8 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-1.5c-.276 0-.494.227-.562.495a2 2 0 0 1-3.876 0C9.994 2.227 9.776 2 9.5 2z", + key: "1681fp" + } + ] +]); + +const Microscope = createLucideIcon("MicroscopeIcon", [ + ["path", { d: "M6 18h8", key: "1borvv" }], + ["path", { d: "M3 22h18", key: "8prr45" }], + ["path", { d: "M14 22a7 7 0 1 0 0-14h-1", key: "1jwaiy" }], + ["path", { d: "M9 14h2", key: "197e7h" }], + ["path", { d: "M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z", key: "1bmzmy" }], + ["path", { d: "M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3", key: "1drr47" }] +]); + +const Microwave = createLucideIcon("MicrowaveIcon", [ + ["rect", { width: "20", height: "15", x: "2", y: "4", rx: "2", key: "2no95f" }], + ["rect", { width: "8", height: "7", x: "6", y: "8", rx: "1", key: "zh9wx" }], + ["path", { d: "M18 8v7", key: "o5zi4n" }], + ["path", { d: "M6 19v2", key: "1loha6" }], + ["path", { d: "M18 19v2", key: "1dawf0" }] +]); + +const Milestone = createLucideIcon("MilestoneIcon", [ + ["path", { d: "M12 13v8", key: "1l5pq0" }], + ["path", { d: "M12 3v3", key: "1n5kay" }], + [ + "path", + { + d: "M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z", + key: "1btarq" + } + ] +]); + +const MilkOff = createLucideIcon("MilkOffIcon", [ + ["path", { d: "M8 2h8", key: "1ssgc1" }], + [ + "path", + { + d: "M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3", + key: "y0ejgx" + } + ], + ["path", { d: "M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435", key: "iaxqsy" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Milk = createLucideIcon("MilkIcon", [ + ["path", { d: "M8 2h8", key: "1ssgc1" }], + [ + "path", + { + d: "M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2", + key: "qtp12x" + } + ], + ["path", { d: "M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0", key: "ygeh44" }] +]); + +const Minimize2 = createLucideIcon("Minimize2Icon", [ + ["polyline", { points: "4 14 10 14 10 20", key: "11kfnr" }], + ["polyline", { points: "20 10 14 10 14 4", key: "rlmsce" }], + ["line", { x1: "14", x2: "21", y1: "10", y2: "3", key: "o5lafz" }], + ["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }] +]); + +const Minimize = createLucideIcon("MinimizeIcon", [ + ["path", { d: "M8 3v3a2 2 0 0 1-2 2H3", key: "hohbtr" }], + ["path", { d: "M21 8h-3a2 2 0 0 1-2-2V3", key: "5jw1f3" }], + ["path", { d: "M3 16h3a2 2 0 0 1 2 2v3", key: "198tvr" }], + ["path", { d: "M16 21v-3a2 2 0 0 1 2-2h3", key: "ph8mxp" }] +]); + +const Minus = createLucideIcon("MinusIcon", [["path", { d: "M5 12h14", key: "1ays0h" }]]); + +const MonitorCheck = createLucideIcon("MonitorCheckIcon", [ + ["path", { d: "m9 10 2 2 4-4", key: "1gnqz4" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const MonitorCog = createLucideIcon("MonitorCogIcon", [ + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "m15.2 4.9-.9-.4", key: "12wd2u" }], + ["path", { d: "m15.2 7.1-.9.4", key: "1r2vl7" }], + ["path", { d: "m16.9 3.2-.4-.9", key: "3zbo91" }], + ["path", { d: "m16.9 8.8-.4.9", key: "1qr2dn" }], + ["path", { d: "m19.5 2.3-.4.9", key: "1rjrkq" }], + ["path", { d: "m19.5 9.7-.4-.9", key: "heryx5" }], + ["path", { d: "m21.7 4.5-.9.4", key: "17fqt1" }], + ["path", { d: "m21.7 7.5-.9-.4", key: "14zyni" }], + ["path", { d: "M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7", key: "1tnzv8" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }] +]); + +const MonitorDot = createLucideIcon("MonitorDotIcon", [ + ["circle", { cx: "19", cy: "6", r: "3", key: "108a5v" }], + ["path", { d: "M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9", key: "1fet9y" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const MonitorDown = createLucideIcon("MonitorDownIcon", [ + ["path", { d: "M12 13V7", key: "h0r20n" }], + ["path", { d: "m15 10-3 3-3-3", key: "lzhmyn" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const MonitorOff = createLucideIcon("MonitorOffIcon", [ + ["path", { d: "M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2", key: "k0q8oc" }], + ["path", { d: "M22 15V5a2 2 0 0 0-2-2H9", key: "cp1ac0" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const MonitorPause = createLucideIcon("MonitorPauseIcon", [ + ["path", { d: "M10 13V7", key: "1u13u9" }], + ["path", { d: "M14 13V7", key: "1vj9om" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const MonitorPlay = createLucideIcon("MonitorPlayIcon", [ + [ + "path", + { + d: "M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z", + key: "1pctta" + } + ], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", key: "x3v2xh" }] +]); + +const MonitorSmartphone = createLucideIcon("MonitorSmartphoneIcon", [ + ["path", { d: "M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8", key: "10dyio" }], + ["path", { d: "M10 19v-3.96 3.15", key: "1irgej" }], + ["path", { d: "M7 19h5", key: "qswx4l" }], + ["rect", { width: "6", height: "10", x: "16", y: "12", rx: "2", key: "1egngj" }] +]); + +const MonitorSpeaker = createLucideIcon("MonitorSpeakerIcon", [ + ["path", { d: "M5.5 20H8", key: "1k40s5" }], + ["path", { d: "M17 9h.01", key: "1j24nn" }], + ["rect", { width: "10", height: "16", x: "12", y: "4", rx: "2", key: "ixliua" }], + ["path", { d: "M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4", key: "1mp6e1" }], + ["circle", { cx: "17", cy: "15", r: "1", key: "tqvash" }] +]); + +const MonitorStop = createLucideIcon("MonitorStopIcon", [ + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", key: "x3v2xh" }], + ["rect", { x: "9", y: "7", width: "6", height: "6", rx: "1", key: "5m2oou" }] +]); + +const MonitorUp = createLucideIcon("MonitorUpIcon", [ + ["path", { d: "m9 10 3-3 3 3", key: "11gsxs" }], + ["path", { d: "M12 13V7", key: "h0r20n" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const MonitorX = createLucideIcon("MonitorXIcon", [ + ["path", { d: "m14.5 12.5-5-5", key: "1jahn5" }], + ["path", { d: "m9.5 12.5 5-5", key: "1k2t7b" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }] +]); + +const Monitor = createLucideIcon("MonitorIcon", [ + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }], + ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }], + ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }] +]); + +const MoonStar = createLucideIcon("MoonStarIcon", [ + ["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9", key: "4ay0iu" }], + ["path", { d: "M20 3v4", key: "1olli1" }], + ["path", { d: "M22 5h-4", key: "1gvqau" }] +]); + +const Moon = createLucideIcon("MoonIcon", [ + ["path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z", key: "a7tn18" }] +]); + +const MountainSnow = createLucideIcon("MountainSnowIcon", [ + ["path", { d: "m8 3 4 8 5-5 5 15H2L8 3z", key: "otkl63" }], + [ + "path", + { d: "M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19", key: "1pvmmp" } + ] +]); + +const Mountain = createLucideIcon("MountainIcon", [ + ["path", { d: "m8 3 4 8 5-5 5 15H2L8 3z", key: "otkl63" }] +]); + +const MouseOff = createLucideIcon("MouseOffIcon", [ + ["path", { d: "M12 6v.343", key: "1gyhex" }], + ["path", { d: "M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218", key: "ukzz01" }], + ["path", { d: "M19 13.343V9A7 7 0 0 0 8.56 2.902", key: "104jy9" }], + ["path", { d: "M22 22 2 2", key: "1r8tn9" }] +]); + +const MousePointer2 = createLucideIcon("MousePointer2Icon", [ + [ + "path", + { + d: "M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z", + key: "edeuup" + } + ] +]); + +const MousePointerBan = createLucideIcon("MousePointerBanIcon", [ + [ + "path", + { + d: "M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z", + key: "11pp1i" + } + ], + ["circle", { cx: "16", cy: "16", r: "6", key: "qoo3c4" }], + ["path", { d: "m11.8 11.8 8.4 8.4", key: "oogvdj" }] +]); + +const MousePointerClick = createLucideIcon("MousePointerClickIcon", [ + ["path", { d: "M14 4.1 12 6", key: "ita8i4" }], + ["path", { d: "m5.1 8-2.9-.8", key: "1go3kf" }], + ["path", { d: "m6 12-1.9 2", key: "mnht97" }], + ["path", { d: "M7.2 2.2 8 5.1", key: "1cfko1" }], + [ + "path", + { + d: "M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z", + key: "s0h3yz" + } + ] +]); + +const MousePointer = createLucideIcon("MousePointerIcon", [ + ["path", { d: "M12.586 12.586 19 19", key: "ea5xo7" }], + [ + "path", + { + d: "M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z", + key: "277e5u" + } + ] +]); + +const Mouse = createLucideIcon("MouseIcon", [ + ["rect", { x: "5", y: "2", width: "14", height: "20", rx: "7", key: "11ol66" }], + ["path", { d: "M12 6v4", key: "16clxf" }] +]); + +const Move3d = createLucideIcon("Move3dIcon", [ + ["path", { d: "M5 3v16h16", key: "1mqmf9" }], + ["path", { d: "m5 19 6-6", key: "jh6hbb" }], + ["path", { d: "m2 6 3-3 3 3", key: "tkyvxa" }], + ["path", { d: "m18 16 3 3-3 3", key: "1d4glt" }] +]); + +const MoveDiagonal2 = createLucideIcon("MoveDiagonal2Icon", [ + ["path", { d: "M19 13v6h-6", key: "1hxl6d" }], + ["path", { d: "M5 11V5h6", key: "12e2xe" }], + ["path", { d: "m5 5 14 14", key: "11anup" }] +]); + +const MoveDiagonal = createLucideIcon("MoveDiagonalIcon", [ + ["path", { d: "M11 19H5v-6", key: "8awifj" }], + ["path", { d: "M13 5h6v6", key: "7voy1q" }], + ["path", { d: "M19 5 5 19", key: "wwaj1z" }] +]); + +const MoveDownLeft = createLucideIcon("MoveDownLeftIcon", [ + ["path", { d: "M11 19H5V13", key: "1akmht" }], + ["path", { d: "M19 5L5 19", key: "72u4yj" }] +]); + +const MoveDownRight = createLucideIcon("MoveDownRightIcon", [ + ["path", { d: "M19 13V19H13", key: "10vkzq" }], + ["path", { d: "M5 5L19 19", key: "5zm2fv" }] +]); + +const MoveDown = createLucideIcon("MoveDownIcon", [ + ["path", { d: "M8 18L12 22L16 18", key: "cskvfv" }], + ["path", { d: "M12 2V22", key: "r89rzk" }] +]); + +const MoveHorizontal = createLucideIcon("MoveHorizontalIcon", [ + ["path", { d: "m18 8 4 4-4 4", key: "1ak13k" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }] +]); + +const MoveLeft = createLucideIcon("MoveLeftIcon", [ + ["path", { d: "M6 8L2 12L6 16", key: "kyvwex" }], + ["path", { d: "M2 12H22", key: "1m8cig" }] +]); + +const MoveRight = createLucideIcon("MoveRightIcon", [ + ["path", { d: "M18 8L22 12L18 16", key: "1r0oui" }], + ["path", { d: "M2 12H22", key: "1m8cig" }] +]); + +const MoveUpLeft = createLucideIcon("MoveUpLeftIcon", [ + ["path", { d: "M5 11V5H11", key: "3q78g9" }], + ["path", { d: "M5 5L19 19", key: "5zm2fv" }] +]); + +const MoveUpRight = createLucideIcon("MoveUpRightIcon", [ + ["path", { d: "M13 5H19V11", key: "1n1gyv" }], + ["path", { d: "M19 5L5 19", key: "72u4yj" }] +]); + +const MoveUp = createLucideIcon("MoveUpIcon", [ + ["path", { d: "M8 6L12 2L16 6", key: "1yvkyx" }], + ["path", { d: "M12 2V22", key: "r89rzk" }] +]); + +const MoveVertical = createLucideIcon("MoveVerticalIcon", [ + ["path", { d: "M12 2v20", key: "t6zp3m" }], + ["path", { d: "m8 18 4 4 4-4", key: "bh5tu3" }], + ["path", { d: "m8 6 4-4 4 4", key: "ybng9g" }] +]); + +const Move = createLucideIcon("MoveIcon", [ + ["path", { d: "M12 2v20", key: "t6zp3m" }], + ["path", { d: "m15 19-3 3-3-3", key: "11eu04" }], + ["path", { d: "m19 9 3 3-3 3", key: "1mg7y2" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ["path", { d: "m5 9-3 3 3 3", key: "j64kie" }], + ["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }] +]); + +const Music2 = createLucideIcon("Music2Icon", [ + ["circle", { cx: "8", cy: "18", r: "4", key: "1fc0mg" }], + ["path", { d: "M12 18V2l7 4", key: "g04rme" }] +]); + +const Music3 = createLucideIcon("Music3Icon", [ + ["circle", { cx: "12", cy: "18", r: "4", key: "m3r9ws" }], + ["path", { d: "M16 18V2", key: "40x2m5" }] +]); + +const Music4 = createLucideIcon("Music4Icon", [ + ["path", { d: "M9 18V5l12-2v13", key: "1jmyc2" }], + ["path", { d: "m9 9 12-2", key: "1e64n2" }], + ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }], + ["circle", { cx: "18", cy: "16", r: "3", key: "1hluhg" }] +]); + +const Music = createLucideIcon("MusicIcon", [ + ["path", { d: "M9 18V5l12-2v13", key: "1jmyc2" }], + ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }], + ["circle", { cx: "18", cy: "16", r: "3", key: "1hluhg" }] +]); + +const Navigation2Off = createLucideIcon("Navigation2OffIcon", [ + ["path", { d: "M9.31 9.31 5 21l7-4 7 4-1.17-3.17", key: "qoq2o2" }], + ["path", { d: "M14.53 8.88 12 2l-1.17 3.17", key: "k3sjzy" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Navigation2 = createLucideIcon("Navigation2Icon", [ + ["polygon", { points: "12 2 19 21 12 17 5 21 12 2", key: "x8c0qg" }] +]); + +const NavigationOff = createLucideIcon("NavigationOffIcon", [ + ["path", { d: "M8.43 8.43 3 11l8 2 2 8 2.57-5.43", key: "1vdtb7" }], + ["path", { d: "M17.39 11.73 22 2l-9.73 4.61", key: "tya3r6" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Navigation = createLucideIcon("NavigationIcon", [ + ["polygon", { points: "3 11 22 2 13 21 11 13 3 11", key: "1ltx0t" }] +]); + +const Network = createLucideIcon("NetworkIcon", [ + ["rect", { x: "16", y: "16", width: "6", height: "6", rx: "1", key: "4q2zg0" }], + ["rect", { x: "2", y: "16", width: "6", height: "6", rx: "1", key: "8cvhb9" }], + ["rect", { x: "9", y: "2", width: "6", height: "6", rx: "1", key: "1egb70" }], + ["path", { d: "M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3", key: "1jsf9p" }], + ["path", { d: "M12 12V8", key: "2874zd" }] +]); + +const Newspaper = createLucideIcon("NewspaperIcon", [ + [ + "path", + { + d: "M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2", + key: "7pis2x" + } + ], + ["path", { d: "M18 14h-8", key: "sponae" }], + ["path", { d: "M15 18h-5", key: "95g1m2" }], + ["path", { d: "M10 6h8v4h-8V6Z", key: "smlsk5" }] +]); + +const Nfc = createLucideIcon("NfcIcon", [ + ["path", { d: "M6 8.32a7.43 7.43 0 0 1 0 7.36", key: "9iaqei" }], + ["path", { d: "M9.46 6.21a11.76 11.76 0 0 1 0 11.58", key: "1yha7l" }], + ["path", { d: "M12.91 4.1a15.91 15.91 0 0 1 .01 15.8", key: "4iu2gk" }], + ["path", { d: "M16.37 2a20.16 20.16 0 0 1 0 20", key: "sap9u2" }] +]); + +const NonBinary = createLucideIcon("NonBinaryIcon", [ + ["path", { d: "M12 2v10", key: "mnfbl" }], + ["path", { d: "m9 4 6 4", key: "t8piew" }], + ["path", { d: "m9 8 6-4", key: "sndyih" }], + ["circle", { cx: "12", cy: "17", r: "5", key: "qbz8iq" }] +]); + +const NotebookPen = createLucideIcon("NotebookPenIcon", [ + ["path", { d: "M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4", key: "re6nr2" }], + ["path", { d: "M2 6h4", key: "aawbzj" }], + ["path", { d: "M2 10h4", key: "l0bgd4" }], + ["path", { d: "M2 14h4", key: "1gsvsf" }], + ["path", { d: "M2 18h4", key: "1bu2t1" }], + [ + "path", + { + d: "M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "pqwjuv" + } + ] +]); + +const NotebookTabs = createLucideIcon("NotebookTabsIcon", [ + ["path", { d: "M2 6h4", key: "aawbzj" }], + ["path", { d: "M2 10h4", key: "l0bgd4" }], + ["path", { d: "M2 14h4", key: "1gsvsf" }], + ["path", { d: "M2 18h4", key: "1bu2t1" }], + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], + ["path", { d: "M15 2v20", key: "dcj49h" }], + ["path", { d: "M15 7h5", key: "1xj5lc" }], + ["path", { d: "M15 12h5", key: "w5shd9" }], + ["path", { d: "M15 17h5", key: "1qaofu" }] +]); + +const NotebookText = createLucideIcon("NotebookTextIcon", [ + ["path", { d: "M2 6h4", key: "aawbzj" }], + ["path", { d: "M2 10h4", key: "l0bgd4" }], + ["path", { d: "M2 14h4", key: "1gsvsf" }], + ["path", { d: "M2 18h4", key: "1bu2t1" }], + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], + ["path", { d: "M9.5 8h5", key: "11mslq" }], + ["path", { d: "M9.5 12H16", key: "ktog6x" }], + ["path", { d: "M9.5 16H14", key: "p1seyn" }] +]); + +const Notebook = createLucideIcon("NotebookIcon", [ + ["path", { d: "M2 6h4", key: "aawbzj" }], + ["path", { d: "M2 10h4", key: "l0bgd4" }], + ["path", { d: "M2 14h4", key: "1gsvsf" }], + ["path", { d: "M2 18h4", key: "1bu2t1" }], + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], + ["path", { d: "M16 2v20", key: "rotuqe" }] +]); + +const NotepadTextDashed = createLucideIcon("NotepadTextDashedIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M12 2v4", key: "3427ic" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["path", { d: "M16 4h2a2 2 0 0 1 2 2v2", key: "j91f56" }], + ["path", { d: "M20 12v2", key: "w8o0tu" }], + ["path", { d: "M20 18v2a2 2 0 0 1-2 2h-1", key: "1c9ggx" }], + ["path", { d: "M13 22h-2", key: "191ugt" }], + ["path", { d: "M7 22H6a2 2 0 0 1-2-2v-2", key: "1rt9px" }], + ["path", { d: "M4 14v-2", key: "1v0sqh" }], + ["path", { d: "M4 8V6a2 2 0 0 1 2-2h2", key: "1mwabg" }], + ["path", { d: "M8 10h6", key: "3oa6kw" }], + ["path", { d: "M8 14h8", key: "1fgep2" }], + ["path", { d: "M8 18h5", key: "17enja" }] +]); + +const NotepadText = createLucideIcon("NotepadTextIcon", [ + ["path", { d: "M8 2v4", key: "1cmpym" }], + ["path", { d: "M12 2v4", key: "3427ic" }], + ["path", { d: "M16 2v4", key: "4m81vk" }], + ["rect", { width: "16", height: "18", x: "4", y: "4", rx: "2", key: "1u9h20" }], + ["path", { d: "M8 10h6", key: "3oa6kw" }], + ["path", { d: "M8 14h8", key: "1fgep2" }], + ["path", { d: "M8 18h5", key: "17enja" }] +]); + +const NutOff = createLucideIcon("NutOffIcon", [ + ["path", { d: "M12 4V2", key: "1k5q1u" }], + [ + "path", + { + d: "M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939", + key: "1xcvy9" + } + ], + ["path", { d: "M19 10v3.343", key: "163tfc" }], + [ + "path", + { + d: "M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192", + key: "17914v" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Nut = createLucideIcon("NutIcon", [ + ["path", { d: "M12 4V2", key: "1k5q1u" }], + [ + "path", + { + d: "M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4", + key: "1tgyif" + } + ], + [ + "path", + { + d: "M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z", + key: "tnsqj" + } + ] +]); + +const OctagonAlert = createLucideIcon("OctagonAlertIcon", [ + ["path", { d: "M12 16h.01", key: "1drbdi" }], + ["path", { d: "M12 8v4", key: "1got3b" }], + [ + "path", + { + d: "M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z", + key: "1fd625" + } + ] +]); + +const OctagonMinus = createLucideIcon("OctagonMinusIcon", [ + [ + "path", + { + d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z", + key: "2d38gg" + } + ], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const OctagonPause = createLucideIcon("OctagonPauseIcon", [ + ["path", { d: "M10 15V9", key: "1lckn7" }], + ["path", { d: "M14 15V9", key: "1muqhk" }], + [ + "path", + { + d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z", + key: "2d38gg" + } + ] +]); + +const OctagonX = createLucideIcon("OctagonXIcon", [ + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + [ + "path", + { + d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z", + key: "2d38gg" + } + ], + ["path", { d: "m9 9 6 6", key: "z0biqf" }] +]); + +const Octagon = createLucideIcon("OctagonIcon", [ + [ + "path", + { + d: "M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z", + key: "2d38gg" + } + ] +]); + +const Omega = createLucideIcon("OmegaIcon", [ + [ + "path", + { + d: "M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21", + key: "1x94xo" + } + ] +]); + +const Option = createLucideIcon("OptionIcon", [ + ["path", { d: "M3 3h6l6 18h6", key: "ph9rgk" }], + ["path", { d: "M14 3h7", key: "16f0ms" }] +]); + +const Orbit = createLucideIcon("OrbitIcon", [ + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["circle", { cx: "19", cy: "5", r: "2", key: "mhkx31" }], + ["circle", { cx: "5", cy: "19", r: "2", key: "v8kfzx" }], + ["path", { d: "M10.4 21.9a10 10 0 0 0 9.941-15.416", key: "eohfx2" }], + ["path", { d: "M13.5 2.1a10 10 0 0 0-9.841 15.416", key: "19pvbm" }] +]); + +const Origami = createLucideIcon("OrigamiIcon", [ + ["path", { d: "M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025", key: "1bx4vc" }], + [ + "path", + { + d: "m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009", + key: "1h3km6" + } + ], + [ + "path", + { + d: "m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027", + key: "1hj4wg" + } + ] +]); + +const Package2 = createLucideIcon("Package2Icon", [ + ["path", { d: "M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z", key: "1ront0" }], + ["path", { d: "m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9", key: "19h2x1" }], + ["path", { d: "M12 3v6", key: "1holv5" }] +]); + +const PackageCheck = createLucideIcon("PackageCheckIcon", [ + ["path", { d: "m16 16 2 2 4-4", key: "gfu2re" }], + [ + "path", + { + d: "M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14", + key: "e7tb2h" + } + ], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "12", key: "a4e8g8" }] +]); + +const PackageMinus = createLucideIcon("PackageMinusIcon", [ + ["path", { d: "M16 16h6", key: "100bgy" }], + [ + "path", + { + d: "M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14", + key: "e7tb2h" + } + ], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "12", key: "a4e8g8" }] +]); + +const PackageOpen = createLucideIcon("PackageOpenIcon", [ + ["path", { d: "M12 22v-9", key: "x3hkom" }], + [ + "path", + { + d: "M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z", + key: "2ntwy6" + } + ], + [ + "path", + { + d: "M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13", + key: "1pmm1c" + } + ], + [ + "path", + { + d: "M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z", + key: "12ttoo" + } + ] +]); + +const PackagePlus = createLucideIcon("PackagePlusIcon", [ + ["path", { d: "M16 16h6", key: "100bgy" }], + ["path", { d: "M19 13v6", key: "85cyf1" }], + [ + "path", + { + d: "M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14", + key: "e7tb2h" + } + ], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "12", key: "a4e8g8" }] +]); + +const PackageSearch = createLucideIcon("PackageSearchIcon", [ + [ + "path", + { + d: "M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14", + key: "e7tb2h" + } + ], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "12", key: "a4e8g8" }], + ["circle", { cx: "18.5", cy: "15.5", r: "2.5", key: "b5zd12" }], + ["path", { d: "M20.27 17.27 22 19", key: "1l4muz" }] +]); + +const PackageX = createLucideIcon("PackageXIcon", [ + [ + "path", + { + d: "M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14", + key: "e7tb2h" + } + ], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["line", { x1: "12", x2: "12", y1: "22", y2: "12", key: "a4e8g8" }], + ["path", { d: "m17 13 5 5m-5 0 5-5", key: "im3w4b" }] +]); + +const Package = createLucideIcon("PackageIcon", [ + [ + "path", + { + d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z", + key: "1a0edw" + } + ], + ["path", { d: "M12 22V12", key: "d0xqtd" }], + ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }], + ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }] +]); + +const PaintBucket = createLucideIcon("PaintBucketIcon", [ + [ + "path", + { d: "m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z", key: "irua1i" } + ], + ["path", { d: "m5 2 5 5", key: "1lls2c" }], + ["path", { d: "M2 13h15", key: "1hkzvu" }], + ["path", { d: "M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z", key: "xk76lq" }] +]); + +const PaintRoller = createLucideIcon("PaintRollerIcon", [ + ["rect", { width: "16", height: "6", x: "2", y: "2", rx: "2", key: "jcyz7m" }], + ["path", { d: "M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2", key: "1b9h7c" }], + ["rect", { width: "4", height: "6", x: "8", y: "16", rx: "1", key: "d6e7yl" }] +]); + +const PaintbrushVertical = createLucideIcon("PaintbrushVerticalIcon", [ + ["path", { d: "M10 2v2", key: "7u0qdc" }], + ["path", { d: "M14 2v4", key: "qmzblu" }], + ["path", { d: "M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z", key: "ycvu00" }], + [ + "path", + { + d: "M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1", + key: "iw4wnp" + } + ] +]); + +const Paintbrush = createLucideIcon("PaintbrushIcon", [ + ["path", { d: "m14.622 17.897-10.68-2.913", key: "vj2p1u" }], + [ + "path", + { + d: "M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z", + key: "18tc5c" + } + ], + [ + "path", + { + d: "M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15", + key: "ytzfxy" + } + ] +]); + +const Palette = createLucideIcon("PaletteIcon", [ + ["circle", { cx: "13.5", cy: "6.5", r: ".5", fill: "currentColor", key: "1okk4w" }], + ["circle", { cx: "17.5", cy: "10.5", r: ".5", fill: "currentColor", key: "f64h9f" }], + ["circle", { cx: "8.5", cy: "7.5", r: ".5", fill: "currentColor", key: "fotxhn" }], + ["circle", { cx: "6.5", cy: "12.5", r: ".5", fill: "currentColor", key: "qy21gx" }], + [ + "path", + { + d: "M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z", + key: "12rzf8" + } + ] +]); + +const PanelBottomClose = createLucideIcon("PanelBottomCloseIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "m15 8-3 3-3-3", key: "1oxy1z" }] +]); + +const PanelBottomDashed = createLucideIcon("PanelBottomDashedIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M14 15h1", key: "171nev" }], + ["path", { d: "M19 15h2", key: "1vnucp" }], + ["path", { d: "M3 15h2", key: "8bym0q" }], + ["path", { d: "M9 15h1", key: "1tg3ks" }] +]); + +const PanelBottomOpen = createLucideIcon("PanelBottomOpenIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "m9 10 3-3 3 3", key: "11gsxs" }] +]); + +const PanelBottom = createLucideIcon("PanelBottomIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 15h18", key: "5xshup" }] +]); + +const PanelLeftClose = createLucideIcon("PanelLeftCloseIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }], + ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }] +]); + +const PanelLeftDashed = createLucideIcon("PanelLeftDashedIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 14v1", key: "askpd8" }], + ["path", { d: "M9 19v2", key: "16tejx" }], + ["path", { d: "M9 3v2", key: "1noubl" }], + ["path", { d: "M9 9v1", key: "19ebxg" }] +]); + +const PanelLeftOpen = createLucideIcon("PanelLeftOpenIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }], + ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }] +]); + +const PanelLeft = createLucideIcon("PanelLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }] +]); + +const PanelRightClose = createLucideIcon("PanelRightCloseIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M15 3v18", key: "14nvp0" }], + ["path", { d: "m8 9 3 3-3 3", key: "12hl5m" }] +]); + +const PanelRightDashed = createLucideIcon("PanelRightDashedIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M15 14v1", key: "ilsfch" }], + ["path", { d: "M15 19v2", key: "1fst2f" }], + ["path", { d: "M15 3v2", key: "z204g4" }], + ["path", { d: "M15 9v1", key: "z2a8b1" }] +]); + +const PanelRightOpen = createLucideIcon("PanelRightOpenIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M15 3v18", key: "14nvp0" }], + ["path", { d: "m10 15-3-3 3-3", key: "1pgupc" }] +]); + +const PanelRight = createLucideIcon("PanelRightIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M15 3v18", key: "14nvp0" }] +]); + +const PanelTopClose = createLucideIcon("PanelTopCloseIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "m9 16 3-3 3 3", key: "1idcnm" }] +]); + +const PanelTopDashed = createLucideIcon("PanelTopDashedIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M14 9h1", key: "l0svgy" }], + ["path", { d: "M19 9h2", key: "te2zfg" }], + ["path", { d: "M3 9h2", key: "1h4ldw" }], + ["path", { d: "M9 9h1", key: "15jzuz" }] +]); + +const PanelTopOpen = createLucideIcon("PanelTopOpenIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "m15 14-3 3-3-3", key: "g215vf" }] +]); + +const PanelTop = createLucideIcon("PanelTopIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }] +]); + +const PanelsLeftBottom = createLucideIcon("PanelsLeftBottomIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 3v18", key: "fh3hqa" }], + ["path", { d: "M9 15h12", key: "5ijen5" }] +]); + +const PanelsRightBottom = createLucideIcon("PanelsRightBottomIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 15h12", key: "1wkqb3" }], + ["path", { d: "M15 3v18", key: "14nvp0" }] +]); + +const PanelsTopLeft = createLucideIcon("PanelsTopLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "M9 21V9", key: "1oto5p" }] +]); + +const Paperclip = createLucideIcon("PaperclipIcon", [ + ["path", { d: "M13.234 20.252 21 12.3", key: "1cbrk9" }], + [ + "path", + { + d: "m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486", + key: "1pkts6" + } + ] +]); + +const Parentheses = createLucideIcon("ParenthesesIcon", [ + ["path", { d: "M8 21s-4-3-4-9 4-9 4-9", key: "uto9ud" }], + ["path", { d: "M16 3s4 3 4 9-4 9-4 9", key: "4w2vsq" }] +]); + +const ParkingMeter = createLucideIcon("ParkingMeterIcon", [ + ["path", { d: "M11 15h2", key: "199qp6" }], + ["path", { d: "M12 12v3", key: "158kv8" }], + ["path", { d: "M12 19v3", key: "npa21l" }], + [ + "path", + { + d: "M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z", + key: "1jofit" + } + ], + ["path", { d: "M9 9a3 3 0 1 1 6 0", key: "jdoeu8" }] +]); + +const PartyPopper = createLucideIcon("PartyPopperIcon", [ + ["path", { d: "M5.8 11.3 2 22l10.7-3.79", key: "gwxi1d" }], + ["path", { d: "M4 3h.01", key: "1vcuye" }], + ["path", { d: "M22 8h.01", key: "1mrtc2" }], + ["path", { d: "M15 2h.01", key: "1cjtqr" }], + ["path", { d: "M22 20h.01", key: "1mrys2" }], + [ + "path", + { + d: "m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10", + key: "hbicv8" + } + ], + [ + "path", + { d: "m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17", key: "1i94pl" } + ], + ["path", { d: "m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7", key: "1cofks" }], + [ + "path", + { + d: "M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z", + key: "4kbmks" + } + ] +]); + +const Pause = createLucideIcon("PauseIcon", [ + ["rect", { x: "14", y: "4", width: "4", height: "16", rx: "1", key: "zuxfzm" }], + ["rect", { x: "6", y: "4", width: "4", height: "16", rx: "1", key: "1okwgv" }] +]); + +const PawPrint = createLucideIcon("PawPrintIcon", [ + ["circle", { cx: "11", cy: "4", r: "2", key: "vol9p0" }], + ["circle", { cx: "18", cy: "8", r: "2", key: "17gozi" }], + ["circle", { cx: "20", cy: "16", r: "2", key: "1v9bxh" }], + [ + "path", + { + d: "M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z", + key: "1ydw1z" + } + ] +]); + +const PcCase = createLucideIcon("PcCaseIcon", [ + ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", key: "1uq1d7" }], + ["path", { d: "M15 14h.01", key: "1kp3bh" }], + ["path", { d: "M9 6h6", key: "dgm16u" }], + ["path", { d: "M9 10h6", key: "9gxzsh" }] +]); + +const PenLine = createLucideIcon("PenLineIcon", [ + ["path", { d: "M12 20h9", key: "t2du7b" }], + [ + "path", + { + d: "M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z", + key: "1ykcvy" + } + ] +]); + +const PenOff = createLucideIcon("PenOffIcon", [ + [ + "path", + { + d: "m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982", + key: "bjo8r8" + } + ], + ["path", { d: "m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353", key: "16h5ne" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const PenTool = createLucideIcon("PenToolIcon", [ + [ + "path", + { + d: "M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z", + key: "nt11vn" + } + ], + [ + "path", + { + d: "m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18", + key: "15qc1e" + } + ], + ["path", { d: "m2.3 2.3 7.286 7.286", key: "1wuzzi" }], + ["circle", { cx: "11", cy: "11", r: "2", key: "xmgehs" }] +]); + +const Pen = createLucideIcon("PenIcon", [ + [ + "path", + { + d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z", + key: "1a8usu" + } + ] +]); + +const PencilLine = createLucideIcon("PencilLineIcon", [ + ["path", { d: "M12 20h9", key: "t2du7b" }], + [ + "path", + { + d: "M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z", + key: "1ykcvy" + } + ], + ["path", { d: "m15 5 3 3", key: "1w25hb" }] +]); + +const PencilOff = createLucideIcon("PencilOffIcon", [ + [ + "path", + { + d: "m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982", + key: "bjo8r8" + } + ], + ["path", { d: "m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353", key: "16h5ne" }], + ["path", { d: "m15 5 4 4", key: "1mk7zo" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const PencilRuler = createLucideIcon("PencilRulerIcon", [ + [ + "path", + { d: "M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13", key: "orapub" } + ], + ["path", { d: "m8 6 2-2", key: "115y1s" }], + ["path", { d: "m18 16 2-2", key: "ee94s4" }], + [ + "path", + { + d: "m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17", + key: "cfq27r" + } + ], + [ + "path", + { + d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z", + key: "1a8usu" + } + ], + ["path", { d: "m15 5 4 4", key: "1mk7zo" }] +]); + +const Pencil = createLucideIcon("PencilIcon", [ + [ + "path", + { + d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z", + key: "1a8usu" + } + ], + ["path", { d: "m15 5 4 4", key: "1mk7zo" }] +]); + +const Pentagon = createLucideIcon("PentagonIcon", [ + [ + "path", + { + d: "M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z", + key: "2hea0t" + } + ] +]); + +const Percent = createLucideIcon("PercentIcon", [ + ["line", { x1: "19", x2: "5", y1: "5", y2: "19", key: "1x9vlm" }], + ["circle", { cx: "6.5", cy: "6.5", r: "2.5", key: "4mh3h7" }], + ["circle", { cx: "17.5", cy: "17.5", r: "2.5", key: "1mdrzq" }] +]); + +const PersonStanding = createLucideIcon("PersonStandingIcon", [ + ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }], + ["path", { d: "m9 20 3-6 3 6", key: "se2kox" }], + ["path", { d: "m6 8 6 2 6-2", key: "4o3us4" }], + ["path", { d: "M12 10v4", key: "1kjpxc" }] +]); + +const PhilippinePeso = createLucideIcon("PhilippinePesoIcon", [ + ["path", { d: "M20 11H4", key: "6ut86h" }], + ["path", { d: "M20 7H4", key: "zbl0bi" }], + ["path", { d: "M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7", key: "1ana5r" }] +]); + +const PhoneCall = createLucideIcon("PhoneCallIcon", [ + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ], + ["path", { d: "M14.05 2a9 9 0 0 1 8 7.94", key: "vmijpz" }], + ["path", { d: "M14.05 6A5 5 0 0 1 18 10", key: "13nbpp" }] +]); + +const PhoneForwarded = createLucideIcon("PhoneForwardedIcon", [ + ["polyline", { points: "18 2 22 6 18 10", key: "6vjanh" }], + ["line", { x1: "14", x2: "22", y1: "6", y2: "6", key: "1jsywh" }], + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ] +]); + +const PhoneIncoming = createLucideIcon("PhoneIncomingIcon", [ + ["polyline", { points: "16 2 16 8 22 8", key: "1ygljm" }], + ["line", { x1: "22", x2: "16", y1: "2", y2: "8", key: "1xzwqn" }], + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ] +]); + +const PhoneMissed = createLucideIcon("PhoneMissedIcon", [ + ["line", { x1: "22", x2: "16", y1: "2", y2: "8", key: "1xzwqn" }], + ["line", { x1: "16", x2: "22", y1: "2", y2: "8", key: "13zxdn" }], + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ] +]); + +const PhoneOff = createLucideIcon("PhoneOffIcon", [ + [ + "path", + { + d: "M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91", + key: "z86iuo" + } + ], + ["line", { x1: "22", x2: "2", y1: "2", y2: "22", key: "11kh81" }] +]); + +const PhoneOutgoing = createLucideIcon("PhoneOutgoingIcon", [ + ["polyline", { points: "22 8 22 2 16 2", key: "1g204g" }], + ["line", { x1: "16", x2: "22", y1: "8", y2: "2", key: "1ggias" }], + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ] +]); + +const Phone = createLucideIcon("PhoneIcon", [ + [ + "path", + { + d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", + key: "foiqr5" + } + ] +]); + +const Pi = createLucideIcon("PiIcon", [ + ["line", { x1: "9", x2: "9", y1: "4", y2: "20", key: "ovs5a5" }], + ["path", { d: "M4 7c0-1.7 1.3-3 3-3h13", key: "10pag4" }], + ["path", { d: "M18 20c-1.7 0-3-1.3-3-3V4", key: "1gaosr" }] +]); + +const Piano = createLucideIcon("PianoIcon", [ + [ + "path", + { + d: "M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8", + key: "lag0yf" + } + ], + ["path", { d: "M2 14h20", key: "myj16y" }], + ["path", { d: "M6 14v4", key: "9ng0ue" }], + ["path", { d: "M10 14v4", key: "1v8uk5" }], + ["path", { d: "M14 14v4", key: "1tqops" }], + ["path", { d: "M18 14v4", key: "18uqwm" }] +]); + +const Pickaxe = createLucideIcon("PickaxeIcon", [ + ["path", { d: "M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912", key: "we99rg" }], + [ + "path", + { + d: "M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393", + key: "1w6hck" + } + ], + [ + "path", + { + d: "M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z", + key: "15hgfx" + } + ], + [ + "path", + { + d: "M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319", + key: "452b4h" + } + ] +]); + +const PictureInPicture2 = createLucideIcon("PictureInPicture2Icon", [ + ["path", { d: "M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4", key: "daa4of" }], + ["rect", { width: "10", height: "7", x: "12", y: "13", rx: "2", key: "1nb8gs" }] +]); + +const PictureInPicture = createLucideIcon("PictureInPictureIcon", [ + ["path", { d: "M2 10h6V4", key: "zwrco" }], + ["path", { d: "m2 4 6 6", key: "ug085t" }], + ["path", { d: "M21 10V7a2 2 0 0 0-2-2h-7", key: "git5jr" }], + ["path", { d: "M3 14v2a2 2 0 0 0 2 2h3", key: "1f7fh3" }], + ["rect", { x: "12", y: "14", width: "10", height: "7", rx: "1", key: "1wjs3o" }] +]); + +const PiggyBank = createLucideIcon("PiggyBankIcon", [ + [ + "path", + { + d: "M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z", + key: "1ivx2i" + } + ], + ["path", { d: "M2 9v1c0 1.1.9 2 2 2h1", key: "nm575m" }], + ["path", { d: "M16 11h.01", key: "xkw8gn" }] +]); + +const PilcrowLeft = createLucideIcon("PilcrowLeftIcon", [ + ["path", { d: "M14 3v11", key: "mlfb7b" }], + ["path", { d: "M14 9h-3a3 3 0 0 1 0-6h9", key: "1ulc19" }], + ["path", { d: "M18 3v11", key: "1phi0r" }], + ["path", { d: "M22 18H2l4-4", key: "yt65j9" }], + ["path", { d: "m6 22-4-4", key: "6jgyf5" }] +]); + +const PilcrowRight = createLucideIcon("PilcrowRightIcon", [ + ["path", { d: "M10 3v11", key: "o3l5kj" }], + ["path", { d: "M10 9H7a1 1 0 0 1 0-6h8", key: "1wb1nc" }], + ["path", { d: "M14 3v11", key: "mlfb7b" }], + ["path", { d: "m18 14 4 4H2", key: "4r8io1" }], + ["path", { d: "m22 18-4 4", key: "1hjjrd" }] +]); + +const Pilcrow = createLucideIcon("PilcrowIcon", [ + ["path", { d: "M13 4v16", key: "8vvj80" }], + ["path", { d: "M17 4v16", key: "7dpous" }], + ["path", { d: "M19 4H9.5a4.5 4.5 0 0 0 0 9H13", key: "sh4n9v" }] +]); + +const PillBottle = createLucideIcon("PillBottleIcon", [ + ["path", { d: "M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4", key: "17ldeb" }], + ["path", { d: "M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7", key: "nc37y6" }], + ["rect", { width: "16", height: "5", x: "4", y: "2", rx: "1", key: "3jeezo" }] +]); + +const Pill = createLucideIcon("PillIcon", [ + [ + "path", + { d: "m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z", key: "wa1lgi" } + ], + ["path", { d: "m8.5 8.5 7 7", key: "rvfmvr" }] +]); + +const PinOff = createLucideIcon("PinOffIcon", [ + ["path", { d: "M12 17v5", key: "bb1du9" }], + ["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89", key: "znwnzq" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + [ + "path", + { + d: "M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11", + key: "c9qhm2" + } + ] +]); + +const Pin = createLucideIcon("PinIcon", [ + ["path", { d: "M12 17v5", key: "bb1du9" }], + [ + "path", + { + d: "M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z", + key: "1nkz8b" + } + ] +]); + +const Pipette = createLucideIcon("PipetteIcon", [ + ["path", { d: "m2 22 1-1h3l9-9", key: "1sre89" }], + ["path", { d: "M3 21v-3l9-9", key: "hpe2y6" }], + [ + "path", + { + d: "m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z", + key: "196du1" + } + ] +]); + +const Pizza = createLucideIcon("PizzaIcon", [ + ["path", { d: "m12 14-1 1", key: "11onhr" }], + ["path", { d: "m13.75 18.25-1.25 1.42", key: "1yisr3" }], + ["path", { d: "M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12", key: "1qtqk6" }], + ["path", { d: "M18.8 9.3a1 1 0 0 0 2.1 7.7", key: "fbbbr2" }], + [ + "path", + { + d: "M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z", + key: "1hyfdd" + } + ] +]); + +const PlaneLanding = createLucideIcon("PlaneLandingIcon", [ + ["path", { d: "M2 22h20", key: "272qi7" }], + [ + "path", + { + d: "M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z", + key: "1ma21e" + } + ] +]); + +const PlaneTakeoff = createLucideIcon("PlaneTakeoffIcon", [ + ["path", { d: "M2 22h20", key: "272qi7" }], + [ + "path", + { + d: "M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z", + key: "fkigj9" + } + ] +]); + +const Plane = createLucideIcon("PlaneIcon", [ + [ + "path", + { + d: "M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z", + key: "1v9wt8" + } + ] +]); + +const Play = createLucideIcon("PlayIcon", [ + ["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }] +]); + +const Plug2 = createLucideIcon("Plug2Icon", [ + ["path", { d: "M9 2v6", key: "17ngun" }], + ["path", { d: "M15 2v6", key: "s7yy2p" }], + ["path", { d: "M12 17v5", key: "bb1du9" }], + ["path", { d: "M5 8h14", key: "pcz4l3" }], + ["path", { d: "M6 11V8h12v3a6 6 0 1 1-12 0Z", key: "wtfw2c" }] +]); + +const PlugZap = createLucideIcon("PlugZapIcon", [ + [ + "path", + { d: "M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z", key: "goz73y" } + ], + ["path", { d: "m2 22 3-3", key: "19mgm9" }], + ["path", { d: "M7.5 13.5 10 11", key: "7xgeeb" }], + ["path", { d: "M10.5 16.5 13 14", key: "10btkg" }], + ["path", { d: "m18 3-4 4h6l-4 4", key: "16psg9" }] +]); + +const Plug = createLucideIcon("PlugIcon", [ + ["path", { d: "M12 22v-5", key: "1ega77" }], + ["path", { d: "M9 8V2", key: "14iosj" }], + ["path", { d: "M15 8V2", key: "18g5xt" }], + ["path", { d: "M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z", key: "osxo6l" }] +]); + +const Plus = createLucideIcon("PlusIcon", [ + ["path", { d: "M5 12h14", key: "1ays0h" }], + ["path", { d: "M12 5v14", key: "s699le" }] +]); + +const PocketKnife = createLucideIcon("PocketKnifeIcon", [ + ["path", { d: "M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2", key: "19w3oe" }], + ["path", { d: "M18 6h.01", key: "1v4wsw" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z", key: "6fykxj" }], + ["path", { d: "M18 11.66V22a4 4 0 0 0 4-4V6", key: "1utzek" }] +]); + +const Pocket = createLucideIcon("PocketIcon", [ + [ + "path", + { + d: "M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z", + key: "1mz881" + } + ], + ["polyline", { points: "8 10 12 14 16 10", key: "w4mbv5" }] +]); + +const Podcast = createLucideIcon("PodcastIcon", [ + ["path", { d: "M16.85 18.58a9 9 0 1 0-9.7 0", key: "d71mpg" }], + ["path", { d: "M8 14a5 5 0 1 1 8 0", key: "fc81rn" }], + ["circle", { cx: "12", cy: "11", r: "1", key: "1gvufo" }], + ["path", { d: "M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z", key: "za5kbj" }] +]); + +const PointerOff = createLucideIcon("PointerOffIcon", [ + ["path", { d: "M10 4.5V4a2 2 0 0 0-2.41-1.957", key: "jsi14n" }], + ["path", { d: "M13.9 8.4a2 2 0 0 0-1.26-1.295", key: "hirc7f" }], + [ + "path", + { d: "M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158", key: "1jxb2e" } + ], + [ + "path", + { + d: "m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343", + key: "10r7hm" + } + ], + ["path", { d: "M6 6v8", key: "tv5xkp" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Pointer = createLucideIcon("PointerIcon", [ + ["path", { d: "M22 14a8 8 0 0 1-8 8", key: "56vcr3" }], + ["path", { d: "M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2", key: "1agjmk" }], + ["path", { d: "M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1", key: "wdbh2u" }], + ["path", { d: "M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10", key: "1ibuk9" }], + [ + "path", + { + d: "M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15", + key: "g6ys72" + } + ] +]); + +const Popcorn = createLucideIcon("PopcornIcon", [ + [ + "path", + { + d: "M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4", + key: "10td1f" + } + ], + ["path", { d: "M10 22 9 8", key: "yjptiv" }], + ["path", { d: "m14 22 1-14", key: "8jwc8b" }], + [ + "path", + { + d: "M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z", + key: "1qo33t" + } + ] +]); + +const Popsicle = createLucideIcon("PopsicleIcon", [ + [ + "path", + { + d: "M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z", + key: "1o68ps" + } + ], + ["path", { d: "m22 22-5.5-5.5", key: "17o70y" }] +]); + +const PoundSterling = createLucideIcon("PoundSterlingIcon", [ + ["path", { d: "M18 7c0-5.333-8-5.333-8 0", key: "1prm2n" }], + ["path", { d: "M10 7v14", key: "18tmcs" }], + ["path", { d: "M6 21h12", key: "4dkmi1" }], + ["path", { d: "M6 13h10", key: "ybwr4a" }] +]); + +const PowerOff = createLucideIcon("PowerOffIcon", [ + ["path", { d: "M18.36 6.64A9 9 0 0 1 20.77 15", key: "dxknvb" }], + ["path", { d: "M6.16 6.16a9 9 0 1 0 12.68 12.68", key: "1x7qb5" }], + ["path", { d: "M12 2v4", key: "3427ic" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Power = createLucideIcon("PowerIcon", [ + ["path", { d: "M12 2v10", key: "mnfbl" }], + ["path", { d: "M18.4 6.6a9 9 0 1 1-12.77.04", key: "obofu9" }] +]); + +const Presentation = createLucideIcon("PresentationIcon", [ + ["path", { d: "M2 3h20", key: "91anmk" }], + ["path", { d: "M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3", key: "2k9sn8" }], + ["path", { d: "m7 21 5-5 5 5", key: "bip4we" }] +]); + +const PrinterCheck = createLucideIcon("PrinterCheckIcon", [ + ["path", { d: "M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5", key: "qeb09x" }], + ["path", { d: "m16 19 2 2 4-4", key: "1b14m6" }], + ["path", { d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2", key: "1md90i" }], + ["path", { d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6", key: "1itne7" }] +]); + +const Printer = createLucideIcon("PrinterIcon", [ + [ + "path", + { + d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2", + key: "143wyd" + } + ], + ["path", { d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6", key: "1itne7" }], + ["rect", { x: "6", y: "14", width: "12", height: "8", rx: "1", key: "1ue0tg" }] +]); + +const Projector = createLucideIcon("ProjectorIcon", [ + ["path", { d: "M5 7 3 5", key: "1yys58" }], + ["path", { d: "M9 6V3", key: "1ptz9u" }], + ["path", { d: "m13 7 2-2", key: "1w3vmq" }], + ["circle", { cx: "9", cy: "13", r: "3", key: "1mma13" }], + [ + "path", + { + d: "M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17", + key: "2frwzc" + } + ], + ["path", { d: "M16 16h2", key: "dnq2od" }] +]); + +const Proportions = createLucideIcon("ProportionsIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M12 9v11", key: "1fnkrn" }], + ["path", { d: "M2 9h13a2 2 0 0 1 2 2v9", key: "11z3ex" }] +]); + +const Puzzle = createLucideIcon("PuzzleIcon", [ + [ + "path", + { + d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z", + key: "w46dr5" + } + ] +]); + +const Pyramid = createLucideIcon("PyramidIcon", [ + [ + "path", + { + d: "M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z", + key: "aenxs0" + } + ], + ["path", { d: "M12 2v20", key: "t6zp3m" }] +]); + +const QrCode = createLucideIcon("QrCodeIcon", [ + ["rect", { width: "5", height: "5", x: "3", y: "3", rx: "1", key: "1tu5fj" }], + ["rect", { width: "5", height: "5", x: "16", y: "3", rx: "1", key: "1v8r4q" }], + ["rect", { width: "5", height: "5", x: "3", y: "16", rx: "1", key: "1x03jg" }], + ["path", { d: "M21 16h-3a2 2 0 0 0-2 2v3", key: "177gqh" }], + ["path", { d: "M21 21v.01", key: "ents32" }], + ["path", { d: "M12 7v3a2 2 0 0 1-2 2H7", key: "8crl2c" }], + ["path", { d: "M3 12h.01", key: "nlz23k" }], + ["path", { d: "M12 3h.01", key: "n36tog" }], + ["path", { d: "M12 16v.01", key: "133mhm" }], + ["path", { d: "M16 12h1", key: "1slzba" }], + ["path", { d: "M21 12v.01", key: "1lwtk9" }], + ["path", { d: "M12 21v-1", key: "1880an" }] +]); + +const Quote = createLucideIcon("QuoteIcon", [ + [ + "path", + { + d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z", + key: "rib7q0" + } + ], + [ + "path", + { + d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z", + key: "1ymkrd" + } + ] +]); + +const Rabbit = createLucideIcon("RabbitIcon", [ + ["path", { d: "M13 16a3 3 0 0 1 2.24 5", key: "1epib5" }], + ["path", { d: "M18 12h.01", key: "yjnet6" }], + [ + "path", + { + d: "M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3", + key: "ue9ozu" + } + ], + ["path", { d: "M20 8.54V4a2 2 0 1 0-4 0v3", key: "49iql8" }], + ["path", { d: "M7.612 12.524a3 3 0 1 0-1.6 4.3", key: "1e33i0" }] +]); + +const Radar = createLucideIcon("RadarIcon", [ + ["path", { d: "M19.07 4.93A10 10 0 0 0 6.99 3.34", key: "z3du51" }], + ["path", { d: "M4 6h.01", key: "oypzma" }], + ["path", { d: "M2.29 9.62A10 10 0 1 0 21.31 8.35", key: "qzzz0" }], + ["path", { d: "M16.24 7.76A6 6 0 1 0 8.23 16.67", key: "1yjesh" }], + ["path", { d: "M12 18h.01", key: "mhygvu" }], + ["path", { d: "M17.99 11.66A6 6 0 0 1 15.77 16.67", key: "1u2y91" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "m13.41 10.59 5.66-5.66", key: "mhq4k0" }] +]); + +const Radiation = createLucideIcon("RadiationIcon", [ + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + [ + "path", + { + d: "M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z", + key: "wy49g3" + } + ], + [ + "path", + { + d: "M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z", + key: "vklnvr" + } + ], + [ + "path", + { + d: "M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z", + key: "wkdf1o" + } + ] +]); + +const Radical = createLucideIcon("RadicalIcon", [ + [ + "path", + { + d: "M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21", + key: "1mqj8i" + } + ] +]); + +const RadioReceiver = createLucideIcon("RadioReceiverIcon", [ + ["path", { d: "M5 16v2", key: "g5qcv5" }], + ["path", { d: "M19 16v2", key: "1gbaio" }], + ["rect", { width: "20", height: "8", x: "2", y: "8", rx: "2", key: "vjsjur" }], + ["path", { d: "M18 12h.01", key: "yjnet6" }] +]); + +const RadioTower = createLucideIcon("RadioTowerIcon", [ + ["path", { d: "M4.9 16.1C1 12.2 1 5.8 4.9 1.9", key: "s0qx1y" }], + ["path", { d: "M7.8 4.7a6.14 6.14 0 0 0-.8 7.5", key: "1idnkw" }], + ["circle", { cx: "12", cy: "9", r: "2", key: "1092wv" }], + ["path", { d: "M16.2 4.8c2 2 2.26 5.11.8 7.47", key: "ojru2q" }], + ["path", { d: "M19.1 1.9a9.96 9.96 0 0 1 0 14.1", key: "rhi7fg" }], + ["path", { d: "M9.5 18h5", key: "mfy3pd" }], + ["path", { d: "m8 22 4-11 4 11", key: "25yftu" }] +]); + +const Radio = createLucideIcon("RadioIcon", [ + ["path", { d: "M4.9 19.1C1 15.2 1 8.8 4.9 4.9", key: "1vaf9d" }], + ["path", { d: "M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5", key: "u1ii0m" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }], + ["path", { d: "M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5", key: "1j5fej" }], + ["path", { d: "M19.1 4.9C23 8.8 23 15.1 19.1 19", key: "10b0cb" }] +]); + +const Radius = createLucideIcon("RadiusIcon", [ + ["path", { d: "M20.34 17.52a10 10 0 1 0-2.82 2.82", key: "fydyku" }], + ["circle", { cx: "19", cy: "19", r: "2", key: "17f5cg" }], + ["path", { d: "m13.41 13.41 4.18 4.18", key: "1gqbwc" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }] +]); + +const RailSymbol = createLucideIcon("RailSymbolIcon", [ + ["path", { d: "M5 15h14", key: "m0yey3" }], + ["path", { d: "M5 9h14", key: "7tsvo6" }], + ["path", { d: "m14 20-5-5 6-6-5-5", key: "1jo42i" }] +]); + +const Rainbow = createLucideIcon("RainbowIcon", [ + ["path", { d: "M22 17a10 10 0 0 0-20 0", key: "ozegv" }], + ["path", { d: "M6 17a6 6 0 0 1 12 0", key: "5giftw" }], + ["path", { d: "M10 17a2 2 0 0 1 4 0", key: "gnsikk" }] +]); + +const Rat = createLucideIcon("RatIcon", [ + ["path", { d: "M13 22H4a2 2 0 0 1 0-4h12", key: "bt3f23" }], + ["path", { d: "M13.236 18a3 3 0 0 0-2.2-5", key: "1tbvmo" }], + ["path", { d: "M16 9h.01", key: "1bdo4e" }], + [ + "path", + { + d: "M16.82 3.94a3 3 0 1 1 3.237 4.868l1.815 2.587a1.5 1.5 0 0 1-1.5 2.1l-2.872-.453a3 3 0 0 0-3.5 3", + key: "9ch7kn" + } + ], + ["path", { d: "M17 4.988a3 3 0 1 0-5.2 2.052A7 7 0 0 0 4 14.015 4 4 0 0 0 8 18", key: "3s7e9i" }] +]); + +const Ratio = createLucideIcon("RatioIcon", [ + ["rect", { width: "12", height: "20", x: "6", y: "2", rx: "2", key: "1oxtiu" }], + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }] +]); + +const ReceiptCent = createLucideIcon("ReceiptCentIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M12 6.5v11", key: "ecfhkf" }], + ["path", { d: "M15 9.4a4 4 0 1 0 0 5.2", key: "1makmb" }] +]); + +const ReceiptEuro = createLucideIcon("ReceiptEuroIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M8 12h5", key: "1g6qi8" }], + ["path", { d: "M16 9.5a4 4 0 1 0 0 5.2", key: "b2px4r" }] +]); + +const ReceiptIndianRupee = createLucideIcon("ReceiptIndianRupeeIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M8 7h8", key: "i86dvs" }], + ["path", { d: "M12 17.5 8 15h1a4 4 0 0 0 0-8", key: "grpkl4" }], + ["path", { d: "M8 11h8", key: "vwpz6n" }] +]); + +const ReceiptJapaneseYen = createLucideIcon("ReceiptJapaneseYenIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "m12 10 3-3", key: "1mc12w" }], + ["path", { d: "m9 7 3 3v7.5", key: "39i0xv" }], + ["path", { d: "M9 11h6", key: "1fldmi" }], + ["path", { d: "M9 15h6", key: "cctwl0" }] +]); + +const ReceiptPoundSterling = createLucideIcon("ReceiptPoundSterlingIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M8 13h5", key: "1k9z8w" }], + ["path", { d: "M10 17V9.5a2.5 2.5 0 0 1 5 0", key: "1dzgp0" }], + ["path", { d: "M8 17h7", key: "8mjdqu" }] +]); + +const ReceiptRussianRuble = createLucideIcon("ReceiptRussianRubleIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M8 15h5", key: "vxg57a" }], + ["path", { d: "M8 11h5a2 2 0 1 0 0-4h-3v10", key: "1usi5u" }] +]); + +const ReceiptSwissFranc = createLucideIcon("ReceiptSwissFrancIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M10 17V7h5", key: "k7jq18" }], + ["path", { d: "M10 11h4", key: "1i0mka" }], + ["path", { d: "M8 15h5", key: "vxg57a" }] +]); + +const ReceiptText = createLucideIcon("ReceiptTextIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M14 8H8", key: "1l3xfs" }], + ["path", { d: "M16 12H8", key: "1fr5h0" }], + ["path", { d: "M13 16H8", key: "wsln4y" }] +]); + +const Receipt = createLucideIcon("ReceiptIcon", [ + [ + "path", + { d: "M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z", key: "q3az6g" } + ], + ["path", { d: "M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8", key: "1h4pet" }], + ["path", { d: "M12 17.5v-11", key: "1jc1ny" }] +]); + +const RectangleEllipsis = createLucideIcon("RectangleEllipsisIcon", [ + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M17 12h.01", key: "1m0b6t" }], + ["path", { d: "M7 12h.01", key: "eqddd0" }] +]); + +const RectangleHorizontal = createLucideIcon("RectangleHorizontalIcon", [ + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }] +]); + +const RectangleVertical = createLucideIcon("RectangleVerticalIcon", [ + ["rect", { width: "12", height: "20", x: "6", y: "2", rx: "2", key: "1oxtiu" }] +]); + +const Recycle = createLucideIcon("RecycleIcon", [ + [ + "path", + { + d: "M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5", + key: "x6z5xu" + } + ], + [ + "path", + { + d: "M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12", + key: "1x4zh5" + } + ], + ["path", { d: "m14 16-3 3 3 3", key: "f6jyew" }], + ["path", { d: "M8.293 13.596 7.196 9.5 3.1 10.598", key: "wf1obh" }], + [ + "path", + { + d: "m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843", + key: "9tzpgr" + } + ], + ["path", { d: "m13.378 9.633 4.096 1.098 1.097-4.096", key: "1oe83g" }] +]); + +const Redo2 = createLucideIcon("Redo2Icon", [ + ["path", { d: "m15 14 5-5-5-5", key: "12vg1m" }], + ["path", { d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13", key: "6uklza" }] +]); + +const RedoDot = createLucideIcon("RedoDotIcon", [ + ["circle", { cx: "12", cy: "17", r: "1", key: "1ixnty" }], + ["path", { d: "M21 7v6h-6", key: "3ptur4" }], + ["path", { d: "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7", key: "1kgawr" }] +]); + +const Redo = createLucideIcon("RedoIcon", [ + ["path", { d: "M21 7v6h-6", key: "3ptur4" }], + ["path", { d: "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7", key: "1kgawr" }] +]); + +const RefreshCcwDot = createLucideIcon("RefreshCcwDotIcon", [ + ["path", { d: "M3 2v6h6", key: "18ldww" }], + ["path", { d: "M21 12A9 9 0 0 0 6 5.3L3 8", key: "1pbrqz" }], + ["path", { d: "M21 22v-6h-6", key: "usdfbe" }], + ["path", { d: "M3 12a9 9 0 0 0 15 6.7l3-2.7", key: "1hosoe" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }] +]); + +const RefreshCcw = createLucideIcon("RefreshCcwIcon", [ + ["path", { d: "M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "14sxne" }], + ["path", { d: "M3 3v5h5", key: "1xhq8a" }], + ["path", { d: "M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16", key: "1hlbsb" }], + ["path", { d: "M16 16h5v5", key: "ccwih5" }] +]); + +const RefreshCwOff = createLucideIcon("RefreshCwOffIcon", [ + ["path", { d: "M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47", key: "1krf6h" }], + ["path", { d: "M8 16H3v5", key: "1cv678" }], + ["path", { d: "M3 12C3 9.51 4 7.26 5.64 5.64", key: "ruvoct" }], + ["path", { d: "m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64", key: "19q130" }], + ["path", { d: "M21 12c0 1-.16 1.97-.47 2.87", key: "4w8emr" }], + ["path", { d: "M21 3v5h-5", key: "1q7to0" }], + ["path", { d: "M22 22 2 2", key: "1r8tn9" }] +]); + +const RefreshCw = createLucideIcon("RefreshCwIcon", [ + ["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }], + ["path", { d: "M21 3v5h-5", key: "1q7to0" }], + ["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }], + ["path", { d: "M8 16H3v5", key: "1cv678" }] +]); + +const Refrigerator = createLucideIcon("RefrigeratorIcon", [ + [ + "path", + { d: "M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z", key: "fpq118" } + ], + ["path", { d: "M5 10h14", key: "elsbfy" }], + ["path", { d: "M15 7v6", key: "1nx30x" }] +]); + +const Regex = createLucideIcon("RegexIcon", [ + ["path", { d: "M17 3v10", key: "15fgeh" }], + ["path", { d: "m12.67 5.5 8.66 5", key: "1gpheq" }], + ["path", { d: "m12.67 10.5 8.66-5", key: "1dkfa6" }], + [ + "path", + { d: "M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z", key: "swwfx4" } + ] +]); + +const RemoveFormatting = createLucideIcon("RemoveFormattingIcon", [ + ["path", { d: "M4 7V4h16v3", key: "9msm58" }], + ["path", { d: "M5 20h6", key: "1h6pxn" }], + ["path", { d: "M13 4 8 20", key: "kqq6aj" }], + ["path", { d: "m15 15 5 5", key: "me55sn" }], + ["path", { d: "m20 15-5 5", key: "11p7ol" }] +]); + +const Repeat1 = createLucideIcon("Repeat1Icon", [ + ["path", { d: "m17 2 4 4-4 4", key: "nntrym" }], + ["path", { d: "M3 11v-1a4 4 0 0 1 4-4h14", key: "84bu3i" }], + ["path", { d: "m7 22-4-4 4-4", key: "1wqhfi" }], + ["path", { d: "M21 13v1a4 4 0 0 1-4 4H3", key: "1rx37r" }], + ["path", { d: "M11 10h1v4", key: "70cz1p" }] +]); + +const Repeat2 = createLucideIcon("Repeat2Icon", [ + ["path", { d: "m2 9 3-3 3 3", key: "1ltn5i" }], + ["path", { d: "M13 18H7a2 2 0 0 1-2-2V6", key: "1r6tfw" }], + ["path", { d: "m22 15-3 3-3-3", key: "4rnwn2" }], + ["path", { d: "M11 6h6a2 2 0 0 1 2 2v10", key: "2f72bc" }] +]); + +const Repeat = createLucideIcon("RepeatIcon", [ + ["path", { d: "m17 2 4 4-4 4", key: "nntrym" }], + ["path", { d: "M3 11v-1a4 4 0 0 1 4-4h14", key: "84bu3i" }], + ["path", { d: "m7 22-4-4 4-4", key: "1wqhfi" }], + ["path", { d: "M21 13v1a4 4 0 0 1-4 4H3", key: "1rx37r" }] +]); + +const ReplaceAll = createLucideIcon("ReplaceAllIcon", [ + ["path", { d: "M14 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2", key: "1yyzbs" }], + ["path", { d: "M14 4a2 2 0 0 1 2-2", key: "1w2hp7" }], + ["path", { d: "M16 10a2 2 0 0 1-2-2", key: "shjach" }], + ["path", { d: "M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2", key: "zfj4xr" }], + ["path", { d: "M20 2a2 2 0 0 1 2 2", key: "188mtx" }], + ["path", { d: "M22 8a2 2 0 0 1-2 2", key: "ddf4tu" }], + ["path", { d: "m3 7 3 3 3-3", key: "x25e72" }], + ["path", { d: "M6 10V5a 3 3 0 0 1 3-3h1", key: "1ageje" }], + ["rect", { x: "2", y: "14", width: "8", height: "8", rx: "2", key: "4rksxw" }] +]); + +const Replace = createLucideIcon("ReplaceIcon", [ + ["path", { d: "M14 4a2 2 0 0 1 2-2", key: "1w2hp7" }], + ["path", { d: "M16 10a2 2 0 0 1-2-2", key: "shjach" }], + ["path", { d: "M20 2a2 2 0 0 1 2 2", key: "188mtx" }], + ["path", { d: "M22 8a2 2 0 0 1-2 2", key: "ddf4tu" }], + ["path", { d: "m3 7 3 3 3-3", key: "x25e72" }], + ["path", { d: "M6 10V5a3 3 0 0 1 3-3h1", key: "3y3t5z" }], + ["rect", { x: "2", y: "14", width: "8", height: "8", rx: "2", key: "4rksxw" }] +]); + +const ReplyAll = createLucideIcon("ReplyAllIcon", [ + ["polyline", { points: "7 17 2 12 7 7", key: "t83bqg" }], + ["polyline", { points: "12 17 7 12 12 7", key: "1g4ajm" }], + ["path", { d: "M22 18v-2a4 4 0 0 0-4-4H7", key: "1fcyog" }] +]); + +const Reply = createLucideIcon("ReplyIcon", [ + ["polyline", { points: "9 17 4 12 9 7", key: "hvgpf2" }], + ["path", { d: "M20 18v-2a4 4 0 0 0-4-4H4", key: "5vmcpk" }] +]); + +const Rewind = createLucideIcon("RewindIcon", [ + ["polygon", { points: "11 19 2 12 11 5 11 19", key: "14yba5" }], + ["polygon", { points: "22 19 13 12 22 5 22 19", key: "1pi1cj" }] +]); + +const Ribbon = createLucideIcon("RibbonIcon", [ + [ + "path", + { d: "M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22", key: "1rnhq3" } + ], + ["path", { d: "m12 18 2.57-3.5", key: "116vt7" }], + ["path", { d: "M6.243 9.016a7 7 0 0 1 11.507-.009", key: "10dq0b" }], + ["path", { d: "M9.35 14.53 12 11.22", key: "tdsyp2" }], + [ + "path", + { + d: "M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z", + key: "nmifey" + } + ] +]); + +const Rocket = createLucideIcon("RocketIcon", [ + [ + "path", + { + d: "M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z", + key: "m3kijz" + } + ], + [ + "path", + { + d: "m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z", + key: "1fmvmk" + } + ], + ["path", { d: "M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0", key: "1f8sc4" }], + ["path", { d: "M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5", key: "qeys4" }] +]); + +const RockingChair = createLucideIcon("RockingChairIcon", [ + ["polyline", { points: "3.5 2 6.5 12.5 18 12.5", key: "y3iy52" }], + ["line", { x1: "9.5", x2: "5.5", y1: "12.5", y2: "20", key: "19vg5i" }], + ["line", { x1: "15", x2: "18.5", y1: "12.5", y2: "20", key: "1inpmv" }], + ["path", { d: "M2.75 18a13 13 0 0 0 18.5 0", key: "1nquas" }] +]); + +const RollerCoaster = createLucideIcon("RollerCoasterIcon", [ + ["path", { d: "M6 19V5", key: "1r845m" }], + ["path", { d: "M10 19V6.8", key: "9j2tfs" }], + ["path", { d: "M14 19v-7.8", key: "10s8qv" }], + ["path", { d: "M18 5v4", key: "1tajlv" }], + ["path", { d: "M18 19v-6", key: "ielfq3" }], + ["path", { d: "M22 19V9", key: "158nzp" }], + ["path", { d: "M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65", key: "1930oh" }] +]); + +const Rotate3d = createLucideIcon("Rotate3dIcon", [ + [ + "path", + { + d: "M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2", + key: "10n0gc" + } + ], + ["path", { d: "m15.194 13.707 3.814 1.86-1.86 3.814", key: "16shm9" }], + [ + "path", + { + d: "M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4", + key: "1lxi77" + } + ] +]); + +const RotateCcwSquare = createLucideIcon("RotateCcwSquareIcon", [ + ["path", { d: "M20 9V7a2 2 0 0 0-2-2h-6", key: "19z8uc" }], + ["path", { d: "m15 2-3 3 3 3", key: "177bxs" }], + ["path", { d: "M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2", key: "d36hnl" }] +]); + +const RotateCcw = createLucideIcon("RotateCcwIcon", [ + ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }], + ["path", { d: "M3 3v5h5", key: "1xhq8a" }] +]); + +const RotateCwSquare = createLucideIcon("RotateCwSquareIcon", [ + ["path", { d: "M12 5H6a2 2 0 0 0-2 2v3", key: "l96uqu" }], + ["path", { d: "m9 8 3-3-3-3", key: "1gzgc3" }], + ["path", { d: "M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2", key: "1w2k5h" }] +]); + +const RotateCw = createLucideIcon("RotateCwIcon", [ + ["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }], + ["path", { d: "M21 3v5h-5", key: "1q7to0" }] +]); + +const RouteOff = createLucideIcon("RouteOffIcon", [ + ["circle", { cx: "6", cy: "19", r: "3", key: "1kj8tv" }], + ["path", { d: "M9 19h8.5c.4 0 .9-.1 1.3-.2", key: "1effex" }], + ["path", { d: "M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12", key: "k9y2ds" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M21 15.3a3.5 3.5 0 0 0-3.3-3.3", key: "11nlu2" }], + ["path", { d: "M15 5h-4.3", key: "6537je" }], + ["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }] +]); + +const Route = createLucideIcon("RouteIcon", [ + ["circle", { cx: "6", cy: "19", r: "3", key: "1kj8tv" }], + ["path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15", key: "1d8sl" }], + ["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }] +]); + +const Router = createLucideIcon("RouterIcon", [ + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", key: "w68u3i" }], + ["path", { d: "M6.01 18H6", key: "19vcac" }], + ["path", { d: "M10.01 18H10", key: "uamcmx" }], + ["path", { d: "M15 10v4", key: "qjz1xs" }], + ["path", { d: "M17.84 7.17a4 4 0 0 0-5.66 0", key: "1rif40" }], + ["path", { d: "M20.66 4.34a8 8 0 0 0-11.31 0", key: "6a5xfq" }] +]); + +const Rows2 = createLucideIcon("Rows2Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 12h18", key: "1i2n21" }] +]); + +const Rows3 = createLucideIcon("Rows3Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M21 9H3", key: "1338ky" }], + ["path", { d: "M21 15H3", key: "9uk58r" }] +]); + +const Rows4 = createLucideIcon("Rows4Icon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M21 7.5H3", key: "1hm9pq" }], + ["path", { d: "M21 12H3", key: "2avoz0" }], + ["path", { d: "M21 16.5H3", key: "n7jzkj" }] +]); + +const Rss = createLucideIcon("RssIcon", [ + ["path", { d: "M4 11a9 9 0 0 1 9 9", key: "pv89mb" }], + ["path", { d: "M4 4a16 16 0 0 1 16 16", key: "k0647b" }], + ["circle", { cx: "5", cy: "19", r: "1", key: "bfqh0e" }] +]); + +const Ruler = createLucideIcon("RulerIcon", [ + [ + "path", + { + d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z", + key: "icamh8" + } + ], + ["path", { d: "m14.5 12.5 2-2", key: "inckbg" }], + ["path", { d: "m11.5 9.5 2-2", key: "fmmyf7" }], + ["path", { d: "m8.5 6.5 2-2", key: "vc6u1g" }], + ["path", { d: "m17.5 15.5 2-2", key: "wo5hmg" }] +]); + +const RussianRuble = createLucideIcon("RussianRubleIcon", [ + ["path", { d: "M6 11h8a4 4 0 0 0 0-8H9v18", key: "18ai8t" }], + ["path", { d: "M6 15h8", key: "1y8f6l" }] +]); + +const Sailboat = createLucideIcon("SailboatIcon", [ + ["path", { d: "M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z", key: "1404fh" }], + ["path", { d: "M21 14 10 2 3 14h18Z", key: "1nzg7v" }], + ["path", { d: "M10 2v16", key: "1labyt" }] +]); + +const Salad = createLucideIcon("SaladIcon", [ + ["path", { d: "M7 21h10", key: "1b0cd5" }], + ["path", { d: "M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z", key: "4rw317" }], + [ + "path", + { + d: "M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1", + key: "10xrj0" + } + ], + ["path", { d: "m13 12 4-4", key: "1hckqy" }], + ["path", { d: "M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2", key: "1p4srx" }] +]); + +const Sandwich = createLucideIcon("SandwichIcon", [ + ["path", { d: "m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777", key: "f1wd0e" }], + ["path", { d: "M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25", key: "1pfu07" }], + ["path", { d: "M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9", key: "1oq9qw" }], + ["path", { d: "m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2", key: "1fnwu5" }], + ["rect", { width: "20", height: "4", x: "2", y: "11", rx: "1", key: "itshg" }] +]); + +const SatelliteDish = createLucideIcon("SatelliteDishIcon", [ + ["path", { d: "M4 10a7.31 7.31 0 0 0 10 10Z", key: "1fzpp3" }], + ["path", { d: "m9 15 3-3", key: "88sc13" }], + ["path", { d: "M17 13a6 6 0 0 0-6-6", key: "15cc6u" }], + ["path", { d: "M21 13A10 10 0 0 0 11 3", key: "11nf8s" }] +]); + +const Satellite = createLucideIcon("SatelliteIcon", [ + ["path", { d: "M13 7 9 3 5 7l4 4", key: "vyckw6" }], + ["path", { d: "m17 11 4 4-4 4-4-4", key: "rchckc" }], + ["path", { d: "m8 12 4 4 6-6-4-4Z", key: "1sshf7" }], + ["path", { d: "m16 8 3-3", key: "x428zp" }], + ["path", { d: "M9 21a6 6 0 0 0-6-6", key: "1iajcf" }] +]); + +const SaveAll = createLucideIcon("SaveAllIcon", [ + ["path", { d: "M10 2v3a1 1 0 0 0 1 1h5", key: "1xspal" }], + ["path", { d: "M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6", key: "1ra60u" }], + ["path", { d: "M18 22H4a2 2 0 0 1-2-2V6", key: "pblm9e" }], + [ + "path", + { + d: "M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z", + key: "1yve0x" + } + ] +]); + +const SaveOff = createLucideIcon("SaveOffIcon", [ + ["path", { d: "M13 13H8a1 1 0 0 0-1 1v7", key: "h8g396" }], + ["path", { d: "M14 8h1", key: "1lfen6" }], + ["path", { d: "M17 21v-4", key: "1yknxs" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + [ + "path", + { d: "M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41", key: "1t4vdl" } + ], + ["path", { d: "M29.5 11.5s5 5 4 5", key: "zzn4i6" }], + ["path", { d: "M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15", key: "24cby9" }] +]); + +const Save = createLucideIcon("SaveIcon", [ + [ + "path", + { + d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z", + key: "1c8476" + } + ], + ["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }], + ["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }] +]); + +const Scale3d = createLucideIcon("Scale3dIcon", [ + ["path", { d: "M5 7v11a1 1 0 0 0 1 1h11", key: "13dt1j" }], + ["path", { d: "M5.293 18.707 11 13", key: "ezgbsx" }], + ["circle", { cx: "19", cy: "19", r: "2", key: "17f5cg" }], + ["circle", { cx: "5", cy: "5", r: "2", key: "1gwv83" }] +]); + +const Scale = createLucideIcon("ScaleIcon", [ + ["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }], + ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }], + ["path", { d: "M7 21h10", key: "1b0cd5" }], + ["path", { d: "M12 3v18", key: "108xh3" }], + ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }] +]); + +const Scaling = createLucideIcon("ScalingIcon", [ + ["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }], + ["path", { d: "M14 15H9v-5", key: "pi4jk9" }], + ["path", { d: "M16 3h5v5", key: "1806ms" }], + ["path", { d: "M21 3 9 15", key: "15kdhq" }] +]); + +const ScanBarcode = createLucideIcon("ScanBarcodeIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["path", { d: "M8 7v10", key: "23sfjj" }], + ["path", { d: "M12 7v10", key: "jspqdw" }], + ["path", { d: "M17 7v10", key: "578dap" }] +]); + +const ScanEye = createLucideIcon("ScanEyeIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + [ + "path", + { + d: "M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0", + key: "11ak4c" + } + ] +]); + +const ScanFace = createLucideIcon("ScanFaceIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["path", { d: "M15 9h.01", key: "x1ddxp" }] +]); + +const ScanHeart = createLucideIcon("ScanHeartIcon", [ + [ + "path", + { + d: "M11.246 16.657a1 1 0 0 0 1.508 0l3.57-4.101A2.75 2.75 0 1 0 12 9.168a2.75 2.75 0 1 0-4.324 3.388z", + key: "1algrk" + } + ], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }] +]); + +const ScanLine = createLucideIcon("ScanLineIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["path", { d: "M7 12h10", key: "b7w52i" }] +]); + +const ScanQrCode = createLucideIcon("ScanQrCodeIcon", [ + ["path", { d: "M17 12v4a1 1 0 0 1-1 1h-4", key: "uk4fdo" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M17 8V7", key: "q2g9wo" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M7 17h.01", key: "19xn7k" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["rect", { x: "7", y: "7", width: "5", height: "5", rx: "1", key: "m9kyts" }] +]); + +const ScanSearch = createLucideIcon("ScanSearchIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["path", { d: "m16 16-1.9-1.9", key: "1dq9hf" }] +]); + +const ScanText = createLucideIcon("ScanTextIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }], + ["path", { d: "M7 8h8", key: "1jbsf9" }], + ["path", { d: "M7 12h10", key: "b7w52i" }], + ["path", { d: "M7 16h6", key: "1vyc9m" }] +]); + +const Scan = createLucideIcon("ScanIcon", [ + ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }], + ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }], + ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }], + ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }] +]); + +const School = createLucideIcon("SchoolIcon", [ + ["path", { d: "M14 22v-4a2 2 0 1 0-4 0v4", key: "hhkicm" }], + [ + "path", + { + d: "m18 10 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.382a1 1 0 0 1 .553-.894L6 10", + key: "1xqip1" + } + ], + ["path", { d: "M18 5v17", key: "1sw6gf" }], + ["path", { d: "m4 6 7.106-3.553a2 2 0 0 1 1.788 0L20 6", key: "9d2mlk" }], + ["path", { d: "M6 5v17", key: "1xfsm0" }], + ["circle", { cx: "12", cy: "9", r: "2", key: "1092wv" }] +]); + +const ScissorsLineDashed = createLucideIcon("ScissorsLineDashedIcon", [ + ["path", { d: "M5.42 9.42 8 12", key: "12pkuq" }], + ["circle", { cx: "4", cy: "8", r: "2", key: "107mxr" }], + ["path", { d: "m14 6-8.58 8.58", key: "gvzu5l" }], + ["circle", { cx: "4", cy: "16", r: "2", key: "1ehqvc" }], + ["path", { d: "M10.8 14.8 14 18", key: "ax7m9r" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }] +]); + +const Scissors = createLucideIcon("ScissorsIcon", [ + ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }], + ["path", { d: "M8.12 8.12 12 12", key: "1alkpv" }], + ["path", { d: "M20 4 8.12 15.88", key: "xgtan2" }], + ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }], + ["path", { d: "M14.8 14.8 20 20", key: "ptml3r" }] +]); + +const ScreenShareOff = createLucideIcon("ScreenShareOffIcon", [ + ["path", { d: "M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3", key: "i8wdob" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "m22 3-5 5", key: "12jva0" }], + ["path", { d: "m17 3 5 5", key: "k36vhe" }] +]); + +const ScreenShare = createLucideIcon("ScreenShareIcon", [ + ["path", { d: "M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3", key: "i8wdob" }], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["path", { d: "M12 17v4", key: "1riwvh" }], + ["path", { d: "m17 8 5-5", key: "fqif7o" }], + ["path", { d: "M17 3h5v5", key: "1o3tu8" }] +]); + +const ScrollText = createLucideIcon("ScrollTextIcon", [ + ["path", { d: "M15 12h-5", key: "r7krc0" }], + ["path", { d: "M15 8h-5", key: "1khuty" }], + ["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }], + [ + "path", + { + d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3", + key: "1ph1d7" + } + ] +]); + +const Scroll = createLucideIcon("ScrollIcon", [ + ["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }], + [ + "path", + { + d: "M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3", + key: "1ph1d7" + } + ] +]); + +const SearchCheck = createLucideIcon("SearchCheckIcon", [ + ["path", { d: "m8 11 2 2 4-4", key: "1sed1v" }], + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }] +]); + +const SearchCode = createLucideIcon("SearchCodeIcon", [ + ["path", { d: "m13 13.5 2-2.5-2-2.5", key: "1rvxrh" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }], + ["path", { d: "M9 8.5 7 11l2 2.5", key: "6ffwbx" }], + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }] +]); + +const SearchSlash = createLucideIcon("SearchSlashIcon", [ + ["path", { d: "m13.5 8.5-5 5", key: "1cs55j" }], + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }] +]); + +const SearchX = createLucideIcon("SearchXIcon", [ + ["path", { d: "m13.5 8.5-5 5", key: "1cs55j" }], + ["path", { d: "m8.5 8.5 5 5", key: "a8mexj" }], + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }] +]); + +const Search = createLucideIcon("SearchIcon", [ + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }] +]); + +const Section = createLucideIcon("SectionIcon", [ + ["path", { d: "M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0", key: "vqan6v" }], + ["path", { d: "M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0", key: "wdjd8o" }] +]); + +const SendHorizontal = createLucideIcon("SendHorizontalIcon", [ + [ + "path", + { + d: "M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z", + key: "117uat" + } + ], + ["path", { d: "M6 12h16", key: "s4cdu5" }] +]); + +const SendToBack = createLucideIcon("SendToBackIcon", [ + ["rect", { x: "14", y: "14", width: "8", height: "8", rx: "2", key: "1b0bso" }], + ["rect", { x: "2", y: "2", width: "8", height: "8", rx: "2", key: "1x09vl" }], + ["path", { d: "M7 14v1a2 2 0 0 0 2 2h1", key: "pao6x6" }], + ["path", { d: "M14 7h1a2 2 0 0 1 2 2v1", key: "19tdru" }] +]); + +const Send = createLucideIcon("SendIcon", [ + [ + "path", + { + d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z", + key: "1ffxy3" + } + ], + ["path", { d: "m21.854 2.147-10.94 10.939", key: "12cjpa" }] +]); + +const SeparatorHorizontal = createLucideIcon("SeparatorHorizontalIcon", [ + ["line", { x1: "3", x2: "21", y1: "12", y2: "12", key: "10d38w" }], + ["polyline", { points: "8 8 12 4 16 8", key: "zo8t4w" }], + ["polyline", { points: "16 16 12 20 8 16", key: "1oyrid" }] +]); + +const SeparatorVertical = createLucideIcon("SeparatorVerticalIcon", [ + ["line", { x1: "12", x2: "12", y1: "3", y2: "21", key: "1efggb" }], + ["polyline", { points: "8 8 4 12 8 16", key: "bnfmv4" }], + ["polyline", { points: "16 16 20 12 16 8", key: "u90052" }] +]); + +const ServerCog = createLucideIcon("ServerCogIcon", [ + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + [ + "path", + { + d: "M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5", + key: "tn8das" + } + ], + [ + "path", + { + d: "M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5", + key: "1g2pve" + } + ], + ["path", { d: "M6 6h.01", key: "1utrut" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "m15.7 13.4-.9-.3", key: "1jwmzr" }], + ["path", { d: "m9.2 10.9-.9-.3", key: "qapnim" }], + ["path", { d: "m10.6 15.7.3-.9", key: "quwk0k" }], + ["path", { d: "m13.6 15.7-.4-1", key: "cb9xp7" }], + ["path", { d: "m10.8 9.3-.4-1", key: "1uaiz5" }], + ["path", { d: "m8.3 13.6 1-.4", key: "s6srou" }], + ["path", { d: "m14.7 10.8 1-.4", key: "4d31cq" }], + ["path", { d: "m13.4 8.3-.3.9", key: "1bm987" }] +]); + +const ServerCrash = createLucideIcon("ServerCrashIcon", [ + [ + "path", + { + d: "M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2", + key: "4b9dqc" + } + ], + [ + "path", + { + d: "M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2", + key: "22nnkd" + } + ], + ["path", { d: "M6 6h.01", key: "1utrut" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "m13 6-4 6h6l-4 6", key: "14hqih" }] +]); + +const ServerOff = createLucideIcon("ServerOffIcon", [ + ["path", { d: "M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5", key: "bt2siv" }], + ["path", { d: "M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z", key: "1hjrv1" }], + ["path", { d: "M22 17v-1a2 2 0 0 0-2-2h-1", key: "1iynyr" }], + ["path", { d: "M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z", key: "161ggg" }], + ["path", { d: "M6 18h.01", key: "uhywen" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Server = createLucideIcon("ServerIcon", [ + ["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }], + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }], + ["line", { x1: "6", x2: "6.01", y1: "6", y2: "6", key: "16zg32" }], + ["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }] +]); + +const Settings2 = createLucideIcon("Settings2Icon", [ + ["path", { d: "M20 7h-9", key: "3s1dr2" }], + ["path", { d: "M14 17H5", key: "gfn3mx" }], + ["circle", { cx: "17", cy: "17", r: "3", key: "18b49y" }], + ["circle", { cx: "7", cy: "7", r: "3", key: "dfmy0x" }] +]); + +const Settings = createLucideIcon("SettingsIcon", [ + [ + "path", + { + d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z", + key: "1qme2f" + } + ], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }] +]); + +const Shapes = createLucideIcon("ShapesIcon", [ + [ + "path", + { + d: "M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z", + key: "1bo67w" + } + ], + ["rect", { x: "3", y: "14", width: "7", height: "7", rx: "1", key: "1bkyp8" }], + ["circle", { cx: "17.5", cy: "17.5", r: "3.5", key: "w3z12y" }] +]); + +const Share2 = createLucideIcon("Share2Icon", [ + ["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }], + ["circle", { cx: "6", cy: "12", r: "3", key: "w7nqdw" }], + ["circle", { cx: "18", cy: "19", r: "3", key: "1xt0gg" }], + ["line", { x1: "8.59", x2: "15.42", y1: "13.51", y2: "17.49", key: "47mynk" }], + ["line", { x1: "15.41", x2: "8.59", y1: "6.51", y2: "10.49", key: "1n3mei" }] +]); + +const Share = createLucideIcon("ShareIcon", [ + ["path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8", key: "1b2hhj" }], + ["polyline", { points: "16 6 12 2 8 6", key: "m901s6" }], + ["line", { x1: "12", x2: "12", y1: "2", y2: "15", key: "1p0rca" }] +]); + +const Sheet = createLucideIcon("SheetIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["line", { x1: "3", x2: "21", y1: "9", y2: "9", key: "1vqk6q" }], + ["line", { x1: "3", x2: "21", y1: "15", y2: "15", key: "o2sbyz" }], + ["line", { x1: "9", x2: "9", y1: "9", y2: "21", key: "1ib60c" }], + ["line", { x1: "15", x2: "15", y1: "9", y2: "21", key: "1n26ft" }] +]); + +const Shell = createLucideIcon("ShellIcon", [ + [ + "path", + { + d: "M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44", + key: "1cn552" + } + ] +]); + +const ShieldAlert = createLucideIcon("ShieldAlertIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M12 8v4", key: "1got3b" }], + ["path", { d: "M12 16h.01", key: "1drbdi" }] +]); + +const ShieldBan = createLucideIcon("ShieldBanIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "m4.243 5.21 14.39 12.472", key: "1c9a7c" }] +]); + +const ShieldCheck = createLucideIcon("ShieldCheckIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }] +]); + +const ShieldEllipsis = createLucideIcon("ShieldEllipsisIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M8 12h.01", key: "czm47f" }], + ["path", { d: "M12 12h.01", key: "1mp3jc" }], + ["path", { d: "M16 12h.01", key: "1l6xoz" }] +]); + +const ShieldHalf = createLucideIcon("ShieldHalfIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M12 22V2", key: "zs6s6o" }] +]); + +const ShieldMinus = createLucideIcon("ShieldMinusIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M9 12h6", key: "1c52cq" }] +]); + +const ShieldOff = createLucideIcon("ShieldOffIcon", [ + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + [ + "path", + { + d: "M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71", + key: "1jlk70" + } + ], + [ + "path", + { + d: "M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264", + key: "18rp1v" + } + ] +]); + +const ShieldPlus = createLucideIcon("ShieldPlusIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M9 12h6", key: "1c52cq" }], + ["path", { d: "M12 9v6", key: "199k2o" }] +]); + +const ShieldQuestion = createLucideIcon("ShieldQuestionIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }], + ["path", { d: "M12 17h.01", key: "p32p05" }] +]); + +const ShieldX = createLucideIcon("ShieldXIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ], + ["path", { d: "m14.5 9.5-5 5", key: "17q4r4" }], + ["path", { d: "m9.5 9.5 5 5", key: "18nt4w" }] +]); + +const Shield = createLucideIcon("ShieldIcon", [ + [ + "path", + { + d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", + key: "oel41y" + } + ] +]); + +const ShipWheel = createLucideIcon("ShipWheelIcon", [ + ["circle", { cx: "12", cy: "12", r: "8", key: "46899m" }], + ["path", { d: "M12 2v7.5", key: "1e5rl5" }], + ["path", { d: "m19 5-5.23 5.23", key: "1ezxxf" }], + ["path", { d: "M22 12h-7.5", key: "le1719" }], + ["path", { d: "m19 19-5.23-5.23", key: "p3fmgn" }], + ["path", { d: "M12 14.5V22", key: "dgcmos" }], + ["path", { d: "M10.23 13.77 5 19", key: "qwopd4" }], + ["path", { d: "M9.5 12H2", key: "r7bup8" }], + ["path", { d: "M10.23 10.23 5 5", key: "k2y7lj" }], + ["circle", { cx: "12", cy: "12", r: "2.5", key: "ix0uyj" }] +]); + +const Ship = createLucideIcon("ShipIcon", [ + ["path", { d: "M12 10.189V14", key: "1p8cqu" }], + ["path", { d: "M12 2v3", key: "qbqxhf" }], + ["path", { d: "M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6", key: "qpkstq" }], + [ + "path", + { + d: "M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76", + key: "7tigtc" + } + ], + [ + "path", + { + d: "M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", + key: "1924j5" + } + ] +]); + +const Shirt = createLucideIcon("ShirtIcon", [ + [ + "path", + { + d: "M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z", + key: "1wgbhj" + } + ] +]); + +const ShoppingBag = createLucideIcon("ShoppingBagIcon", [ + ["path", { d: "M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z", key: "hou9p0" }], + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ["path", { d: "M16 10a4 4 0 0 1-8 0", key: "1ltviw" }] +]); + +const ShoppingBasket = createLucideIcon("ShoppingBasketIcon", [ + ["path", { d: "m15 11-1 9", key: "5wnq3a" }], + ["path", { d: "m19 11-4-7", key: "cnml18" }], + ["path", { d: "M2 11h20", key: "3eubbj" }], + ["path", { d: "m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4", key: "yiazzp" }], + ["path", { d: "M4.5 15.5h15", key: "13mye1" }], + ["path", { d: "m5 11 4-7", key: "116ra9" }], + ["path", { d: "m9 11 1 9", key: "1ojof7" }] +]); + +const ShoppingCart = createLucideIcon("ShoppingCartIcon", [ + ["circle", { cx: "8", cy: "21", r: "1", key: "jimo8o" }], + ["circle", { cx: "19", cy: "21", r: "1", key: "13723u" }], + [ + "path", + { + d: "M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12", + key: "9zh506" + } + ] +]); + +const Shovel = createLucideIcon("ShovelIcon", [ + ["path", { d: "M2 22v-5l5-5 5 5-5 5z", key: "1fh25c" }], + ["path", { d: "M9.5 14.5 16 8", key: "1smz5x" }], + [ + "path", + { d: "m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2", key: "1q8uv5" } + ] +]); + +const ShowerHead = createLucideIcon("ShowerHeadIcon", [ + ["path", { d: "m4 4 2.5 2.5", key: "uv2vmf" }], + ["path", { d: "M13.5 6.5a4.95 4.95 0 0 0-7 7", key: "frdkwv" }], + ["path", { d: "M15 5 5 15", key: "1ag8rq" }], + ["path", { d: "M14 17v.01", key: "eokfpp" }], + ["path", { d: "M10 16v.01", key: "14uyyl" }], + ["path", { d: "M13 13v.01", key: "1v1k97" }], + ["path", { d: "M16 10v.01", key: "5169yg" }], + ["path", { d: "M11 20v.01", key: "cj92p8" }], + ["path", { d: "M17 14v.01", key: "11cswd" }], + ["path", { d: "M20 11v.01", key: "19e0od" }] +]); + +const Shrink = createLucideIcon("ShrinkIcon", [ + ["path", { d: "m15 15 6 6m-6-6v4.8m0-4.8h4.8", key: "17vawe" }], + ["path", { d: "M9 19.8V15m0 0H4.2M9 15l-6 6", key: "chjx8e" }], + ["path", { d: "M15 4.2V9m0 0h4.8M15 9l6-6", key: "lav6yq" }], + ["path", { d: "M9 4.2V9m0 0H4.2M9 9 3 3", key: "1pxi2q" }] +]); + +const Shrub = createLucideIcon("ShrubIcon", [ + ["path", { d: "M12 22v-7l-2-2", key: "eqv9mc" }], + ["path", { d: "M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z", key: "ubcgy" }], + ["path", { d: "m14 14-2 2", key: "847xa2" }] +]); + +const Shuffle = createLucideIcon("ShuffleIcon", [ + ["path", { d: "m18 14 4 4-4 4", key: "10pe0f" }], + ["path", { d: "m18 2 4 4-4 4", key: "pucp1d" }], + ["path", { d: "M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22", key: "1ailkh" }], + ["path", { d: "M2 6h1.972a4 4 0 0 1 3.6 2.2", key: "km57vx" }], + ["path", { d: "M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45", key: "os18l9" }] +]); + +const Sigma = createLucideIcon("SigmaIcon", [ + [ + "path", + { + d: "M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2", + key: "wuwx1p" + } + ] +]); + +const SignalHigh = createLucideIcon("SignalHighIcon", [ + ["path", { d: "M2 20h.01", key: "4haj6o" }], + ["path", { d: "M7 20v-4", key: "j294jx" }], + ["path", { d: "M12 20v-8", key: "i3yub9" }], + ["path", { d: "M17 20V8", key: "1tkaf5" }] +]); + +const SignalLow = createLucideIcon("SignalLowIcon", [ + ["path", { d: "M2 20h.01", key: "4haj6o" }], + ["path", { d: "M7 20v-4", key: "j294jx" }] +]); + +const SignalMedium = createLucideIcon("SignalMediumIcon", [ + ["path", { d: "M2 20h.01", key: "4haj6o" }], + ["path", { d: "M7 20v-4", key: "j294jx" }], + ["path", { d: "M12 20v-8", key: "i3yub9" }] +]); + +const SignalZero = createLucideIcon("SignalZeroIcon", [ + ["path", { d: "M2 20h.01", key: "4haj6o" }] +]); + +const Signal = createLucideIcon("SignalIcon", [ + ["path", { d: "M2 20h.01", key: "4haj6o" }], + ["path", { d: "M7 20v-4", key: "j294jx" }], + ["path", { d: "M12 20v-8", key: "i3yub9" }], + ["path", { d: "M17 20V8", key: "1tkaf5" }], + ["path", { d: "M22 4v16", key: "sih9yq" }] +]); + +const Signature = createLucideIcon("SignatureIcon", [ + [ + "path", + { + d: "m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284", + key: "y32ogt" + } + ], + ["path", { d: "M3 21h18", key: "itz85i" }] +]); + +const SignpostBig = createLucideIcon("SignpostBigIcon", [ + ["path", { d: "M10 9H4L2 7l2-2h6", key: "1hq7x2" }], + ["path", { d: "M14 5h6l2 2-2 2h-6", key: "bv62ej" }], + ["path", { d: "M10 22V4a2 2 0 1 1 4 0v18", key: "eqpcf2" }], + ["path", { d: "M8 22h8", key: "rmew8v" }] +]); + +const Signpost = createLucideIcon("SignpostIcon", [ + ["path", { d: "M12 13v8", key: "1l5pq0" }], + ["path", { d: "M12 3v3", key: "1n5kay" }], + [ + "path", + { + d: "M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z", + key: "gqqp9m" + } + ] +]); + +const Siren = createLucideIcon("SirenIcon", [ + ["path", { d: "M7 18v-6a5 5 0 1 1 10 0v6", key: "pcx96s" }], + [ + "path", + { d: "M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z", key: "1b4s83" } + ], + ["path", { d: "M21 12h1", key: "jtio3y" }], + ["path", { d: "M18.5 4.5 18 5", key: "g5sp9y" }], + ["path", { d: "M2 12h1", key: "1uaihz" }], + ["path", { d: "M12 2v1", key: "11qlp1" }], + ["path", { d: "m4.929 4.929.707.707", key: "1i51kw" }], + ["path", { d: "M12 12v6", key: "3ahymv" }] +]); + +const SkipBack = createLucideIcon("SkipBackIcon", [ + ["polygon", { points: "19 20 9 12 19 4 19 20", key: "o2sva" }], + ["line", { x1: "5", x2: "5", y1: "19", y2: "5", key: "1ocqjk" }] +]); + +const SkipForward = createLucideIcon("SkipForwardIcon", [ + ["polygon", { points: "5 4 15 12 5 20 5 4", key: "16p6eg" }], + ["line", { x1: "19", x2: "19", y1: "5", y2: "19", key: "futhcm" }] +]); + +const Skull = createLucideIcon("SkullIcon", [ + ["path", { d: "m12.5 17-.5-1-.5 1h1z", key: "3me087" }], + [ + "path", + { + d: "M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z", + key: "1o5pge" + } + ], + ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }], + ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }] +]); + +const Slack = createLucideIcon("SlackIcon", [ + ["rect", { width: "3", height: "8", x: "13", y: "2", rx: "1.5", key: "diqz80" }], + ["path", { d: "M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5", key: "183iwg" }], + ["rect", { width: "3", height: "8", x: "8", y: "14", rx: "1.5", key: "hqg7r1" }], + ["path", { d: "M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5", key: "76g71w" }], + ["rect", { width: "8", height: "3", x: "14", y: "13", rx: "1.5", key: "1kmz0a" }], + ["path", { d: "M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5", key: "jc4sz0" }], + ["rect", { width: "8", height: "3", x: "2", y: "8", rx: "1.5", key: "1omvl4" }], + ["path", { d: "M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5", key: "16f3cl" }] +]); + +const Slash = createLucideIcon("SlashIcon", [["path", { d: "M22 2 2 22", key: "y4kqgn" }]]); + +const Slice = createLucideIcon("SliceIcon", [ + [ + "path", + { + d: "M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14", + key: "1sllp5" + } + ] +]); + +const SlidersHorizontal = createLucideIcon("SlidersHorizontalIcon", [ + ["line", { x1: "21", x2: "14", y1: "4", y2: "4", key: "obuewd" }], + ["line", { x1: "10", x2: "3", y1: "4", y2: "4", key: "1q6298" }], + ["line", { x1: "21", x2: "12", y1: "12", y2: "12", key: "1iu8h1" }], + ["line", { x1: "8", x2: "3", y1: "12", y2: "12", key: "ntss68" }], + ["line", { x1: "21", x2: "16", y1: "20", y2: "20", key: "14d8ph" }], + ["line", { x1: "12", x2: "3", y1: "20", y2: "20", key: "m0wm8r" }], + ["line", { x1: "14", x2: "14", y1: "2", y2: "6", key: "14e1ph" }], + ["line", { x1: "8", x2: "8", y1: "10", y2: "14", key: "1i6ji0" }], + ["line", { x1: "16", x2: "16", y1: "18", y2: "22", key: "1lctlv" }] +]); + +const SlidersVertical = createLucideIcon("SlidersVerticalIcon", [ + ["line", { x1: "4", x2: "4", y1: "21", y2: "14", key: "1p332r" }], + ["line", { x1: "4", x2: "4", y1: "10", y2: "3", key: "gb41h5" }], + ["line", { x1: "12", x2: "12", y1: "21", y2: "12", key: "hf2csr" }], + ["line", { x1: "12", x2: "12", y1: "8", y2: "3", key: "1kfi7u" }], + ["line", { x1: "20", x2: "20", y1: "21", y2: "16", key: "1lhrwl" }], + ["line", { x1: "20", x2: "20", y1: "12", y2: "3", key: "16vvfq" }], + ["line", { x1: "2", x2: "6", y1: "14", y2: "14", key: "1uebub" }], + ["line", { x1: "10", x2: "14", y1: "8", y2: "8", key: "1yglbp" }], + ["line", { x1: "18", x2: "22", y1: "16", y2: "16", key: "1jxqpz" }] +]); + +const SmartphoneCharging = createLucideIcon("SmartphoneChargingIcon", [ + ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }], + ["path", { d: "M12.667 8 10 12h4l-2.667 4", key: "h9lk2d" }] +]); + +const SmartphoneNfc = createLucideIcon("SmartphoneNfcIcon", [ + ["rect", { width: "7", height: "12", x: "2", y: "6", rx: "1", key: "5nje8w" }], + ["path", { d: "M13 8.32a7.43 7.43 0 0 1 0 7.36", key: "1g306n" }], + ["path", { d: "M16.46 6.21a11.76 11.76 0 0 1 0 11.58", key: "uqvjvo" }], + ["path", { d: "M19.91 4.1a15.91 15.91 0 0 1 .01 15.8", key: "ujntz3" }] +]); + +const Smartphone = createLucideIcon("SmartphoneIcon", [ + ["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }], + ["path", { d: "M12 18h.01", key: "mhygvu" }] +]); + +const SmilePlus = createLucideIcon("SmilePlusIcon", [ + ["path", { d: "M22 11v1a10 10 0 1 1-9-10", key: "ew0xw9" }], + ["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }], + ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }], + ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }], + ["path", { d: "M16 5h6", key: "1vod17" }], + ["path", { d: "M19 2v6", key: "4bpg5p" }] +]); + +const Smile = createLucideIcon("SmileIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }], + ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }], + ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }] +]); + +const Snail = createLucideIcon("SnailIcon", [ + ["path", { d: "M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0", key: "hneq2s" }], + ["circle", { cx: "10", cy: "13", r: "8", key: "194lz3" }], + ["path", { d: "M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6", key: "ixqyt7" }], + ["path", { d: "M18 3 19.1 5.2", key: "9tjm43" }], + ["path", { d: "M22 3 20.9 5.2", key: "j3odrs" }] +]); + +const Snowflake = createLucideIcon("SnowflakeIcon", [ + ["path", { d: "m10 20-1.25-2.5L6 18", key: "18frcb" }], + ["path", { d: "M10 4 8.75 6.5 6 6", key: "7mghy3" }], + ["path", { d: "m14 20 1.25-2.5L18 18", key: "1chtki" }], + ["path", { d: "m14 4 1.25 2.5L18 6", key: "1b4wsy" }], + ["path", { d: "m17 21-3-6h-4", key: "15hhxa" }], + ["path", { d: "m17 3-3 6 1.5 3", key: "11697g" }], + ["path", { d: "M2 12h6.5L10 9", key: "kv9z4n" }], + ["path", { d: "m20 10-1.5 2 1.5 2", key: "1swlpi" }], + ["path", { d: "M22 12h-6.5L14 15", key: "1mxi28" }], + ["path", { d: "m4 10 1.5 2L4 14", key: "k9enpj" }], + ["path", { d: "m7 21 3-6-1.5-3", key: "j8hb9u" }], + ["path", { d: "m7 3 3 6h4", key: "1otusx" }] +]); + +const Sofa = createLucideIcon("SofaIcon", [ + ["path", { d: "M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3", key: "1dgpiv" }], + [ + "path", + { + d: "M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z", + key: "xacw8m" + } + ], + ["path", { d: "M4 18v2", key: "jwo5n2" }], + ["path", { d: "M20 18v2", key: "1ar1qi" }], + ["path", { d: "M12 4v9", key: "oqhhn3" }] +]); + +const Soup = createLucideIcon("SoupIcon", [ + ["path", { d: "M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z", key: "4rw317" }], + ["path", { d: "M7 21h10", key: "1b0cd5" }], + ["path", { d: "M19.5 12 22 6", key: "shfsr5" }], + [ + "path", + { + d: "M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62", + key: "rpc6vp" + } + ], + [ + "path", + { + d: "M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62", + key: "1lf63m" + } + ], + [ + "path", + { d: "M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62", key: "97tijn" } + ] +]); + +const Space = createLucideIcon("SpaceIcon", [ + ["path", { d: "M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1", key: "lt2kga" }] +]); + +const Spade = createLucideIcon("SpadeIcon", [ + [ + "path", + { + d: "M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z", + key: "40bo9n" + } + ], + ["path", { d: "M12 18v4", key: "jadmvz" }] +]); + +const Sparkle = createLucideIcon("SparkleIcon", [ + [ + "path", + { + d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z", + key: "4pj2yx" + } + ] +]); + +const Sparkles = createLucideIcon("SparklesIcon", [ + [ + "path", + { + d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z", + key: "4pj2yx" + } + ], + ["path", { d: "M20 3v4", key: "1olli1" }], + ["path", { d: "M22 5h-4", key: "1gvqau" }], + ["path", { d: "M4 17v2", key: "vumght" }], + ["path", { d: "M5 18H3", key: "zchphs" }] +]); + +const Speaker = createLucideIcon("SpeakerIcon", [ + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }], + ["path", { d: "M12 6h.01", key: "1vi96p" }], + ["circle", { cx: "12", cy: "14", r: "4", key: "1jruaj" }], + ["path", { d: "M12 14h.01", key: "1etili" }] +]); + +const Speech = createLucideIcon("SpeechIcon", [ + [ + "path", + { + d: "M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20", + key: "11atix" + } + ], + ["path", { d: "M19.8 17.8a7.5 7.5 0 0 0 .003-10.603", key: "yol142" }], + ["path", { d: "M17 15a3.5 3.5 0 0 0-.025-4.975", key: "ssbmkc" }] +]); + +const SpellCheck2 = createLucideIcon("SpellCheck2Icon", [ + ["path", { d: "m6 16 6-12 6 12", key: "1b4byz" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + [ + "path", + { + d: "M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1", + key: "8mdmtu" + } + ] +]); + +const SpellCheck = createLucideIcon("SpellCheckIcon", [ + ["path", { d: "m6 16 6-12 6 12", key: "1b4byz" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "m16 20 2 2 4-4", key: "13tcca" }] +]); + +const Spline = createLucideIcon("SplineIcon", [ + ["circle", { cx: "19", cy: "5", r: "2", key: "mhkx31" }], + ["circle", { cx: "5", cy: "19", r: "2", key: "v8kfzx" }], + ["path", { d: "M5 17A12 12 0 0 1 17 5", key: "1okkup" }] +]); + +const Split = createLucideIcon("SplitIcon", [ + ["path", { d: "M16 3h5v5", key: "1806ms" }], + ["path", { d: "M8 3H3v5", key: "15dfkv" }], + ["path", { d: "M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3", key: "1qrqzj" }], + ["path", { d: "m15 9 6-6", key: "ko1vev" }] +]); + +const SprayCan = createLucideIcon("SprayCanIcon", [ + ["path", { d: "M3 3h.01", key: "159qn6" }], + ["path", { d: "M7 5h.01", key: "1hq22a" }], + ["path", { d: "M11 7h.01", key: "1osv80" }], + ["path", { d: "M3 7h.01", key: "1xzrh3" }], + ["path", { d: "M7 9h.01", key: "19b3jx" }], + ["path", { d: "M3 11h.01", key: "1eifu7" }], + ["rect", { width: "4", height: "4", x: "15", y: "5", key: "mri9e4" }], + ["path", { d: "m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2", key: "aib6hk" }], + ["path", { d: "m13 14 8-2", key: "1d7bmk" }], + ["path", { d: "m13 19 8-2", key: "1y2vml" }] +]); + +const Sprout = createLucideIcon("SproutIcon", [ + ["path", { d: "M7 20h10", key: "e6iznv" }], + ["path", { d: "M10 20c5.5-2.5.8-6.4 3-10", key: "161w41" }], + [ + "path", + { + d: "M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z", + key: "9gtqwd" + } + ], + [ + "path", + { + d: "M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z", + key: "bkxnd2" + } + ] +]); + +const SquareActivity = createLucideIcon("SquareActivityIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M17 12h-2l-2 5-2-10-2 5H7", key: "15hlnc" }] +]); + +const SquareArrowDownLeft = createLucideIcon("SquareArrowDownLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m16 8-8 8", key: "166keh" }], + ["path", { d: "M16 16H8V8", key: "1w2ppm" }] +]); + +const SquareArrowDownRight = createLucideIcon("SquareArrowDownRightIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m8 8 8 8", key: "1imecy" }], + ["path", { d: "M16 8v8H8", key: "1lbpgo" }] +]); + +const SquareArrowDown = createLucideIcon("SquareArrowDownIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M12 8v8", key: "napkw2" }], + ["path", { d: "m8 12 4 4 4-4", key: "k98ssh" }] +]); + +const SquareArrowLeft = createLucideIcon("SquareArrowLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m12 8-4 4 4 4", key: "15vm53" }], + ["path", { d: "M16 12H8", key: "1fr5h0" }] +]); + +const SquareArrowOutDownLeft = createLucideIcon("SquareArrowOutDownLeftIcon", [ + ["path", { d: "M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6", key: "14qz4y" }], + ["path", { d: "m3 21 9-9", key: "1jfql5" }], + ["path", { d: "M9 21H3v-6", key: "wtvkvv" }] +]); + +const SquareArrowOutDownRight = createLucideIcon("SquareArrowOutDownRightIcon", [ + ["path", { d: "M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6", key: "14rsvq" }], + ["path", { d: "m21 21-9-9", key: "1et2py" }], + ["path", { d: "M21 15v6h-6", key: "1jko0i" }] +]); + +const SquareArrowOutUpLeft = createLucideIcon("SquareArrowOutUpLeftIcon", [ + ["path", { d: "M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6", key: "14mv1t" }], + ["path", { d: "m3 3 9 9", key: "rks13r" }], + ["path", { d: "M3 9V3h6", key: "ira0h2" }] +]); + +const SquareArrowOutUpRight = createLucideIcon("SquareArrowOutUpRightIcon", [ + ["path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6", key: "y09zxi" }], + ["path", { d: "m21 3-9 9", key: "mpx6sq" }], + ["path", { d: "M15 3h6v6", key: "1q9fwt" }] +]); + +const SquareArrowRight = createLucideIcon("SquareArrowRightIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "m12 16 4-4-4-4", key: "1i9zcv" }] +]); + +const SquareArrowUpLeft = createLucideIcon("SquareArrowUpLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 16V8h8", key: "19xb1h" }], + ["path", { d: "M16 16 8 8", key: "1qdy8n" }] +]); + +const SquareArrowUpRight = createLucideIcon("SquareArrowUpRightIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 8h8v8", key: "b65dnt" }], + ["path", { d: "m8 16 8-8", key: "13b9ih" }] +]); + +const SquareArrowUp = createLucideIcon("SquareArrowUpIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m16 12-4-4-4 4", key: "177agl" }], + ["path", { d: "M12 16V8", key: "1sbj14" }] +]); + +const SquareAsterisk = createLucideIcon("SquareAsteriskIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M12 8v8", key: "napkw2" }], + ["path", { d: "m8.5 14 7-4", key: "12hpby" }], + ["path", { d: "m8.5 10 7 4", key: "wwy2dy" }] +]); + +const SquareBottomDashedScissors = createLucideIcon("SquareBottomDashedScissorsIcon", [ + [ + "path", + { d: "M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2", key: "1vzg26" } + ], + ["path", { d: "M10 22H8", key: "euku7a" }], + ["path", { d: "M16 22h-2", key: "18d249" }], + ["circle", { cx: "8", cy: "8", r: "2", key: "14cg06" }], + ["path", { d: "M9.414 9.414 12 12", key: "qz4lzr" }], + ["path", { d: "M14.8 14.8 18 18", key: "11flf1" }], + ["circle", { cx: "8", cy: "16", r: "2", key: "1acxsx" }], + ["path", { d: "m18 6-8.586 8.586", key: "11kzk1" }] +]); + +const SquareChartGantt = createLucideIcon("SquareChartGanttIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 8h7", key: "kbo1nt" }], + ["path", { d: "M8 12h6", key: "ikassy" }], + ["path", { d: "M11 16h5", key: "oq65wt" }] +]); + +const SquareCheckBig = createLucideIcon("SquareCheckBigIcon", [ + ["path", { d: "M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5", key: "1uzm8b" }], + ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }] +]); + +const SquareCheck = createLucideIcon("SquareCheckIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }] +]); + +const SquareChevronDown = createLucideIcon("SquareChevronDownIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m16 10-4 4-4-4", key: "894hmk" }] +]); + +const SquareChevronLeft = createLucideIcon("SquareChevronLeftIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m14 16-4-4 4-4", key: "ojs7w8" }] +]); + +const SquareChevronRight = createLucideIcon("SquareChevronRightIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m10 8 4 4-4 4", key: "1wy4r4" }] +]); + +const SquareChevronUp = createLucideIcon("SquareChevronUpIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m8 14 4-4 4 4", key: "fy2ptz" }] +]); + +const SquareCode = createLucideIcon("SquareCodeIcon", [ + ["path", { d: "M10 9.5 8 12l2 2.5", key: "3mjy60" }], + ["path", { d: "m14 9.5 2 2.5-2 2.5", key: "1bir2l" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }] +]); + +const SquareDashedBottomCode = createLucideIcon("SquareDashedBottomCodeIcon", [ + ["path", { d: "M10 9.5 8 12l2 2.5", key: "3mjy60" }], + ["path", { d: "M14 21h1", key: "v9vybs" }], + ["path", { d: "m14 9.5 2 2.5-2 2.5", key: "1bir2l" }], + [ + "path", + { d: "M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2", key: "as5y1o" } + ], + ["path", { d: "M9 21h1", key: "15o7lz" }] +]); + +const SquareDashedBottom = createLucideIcon("SquareDashedBottomIcon", [ + [ + "path", + { d: "M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2", key: "as5y1o" } + ], + ["path", { d: "M9 21h1", key: "15o7lz" }], + ["path", { d: "M14 21h1", key: "v9vybs" }] +]); + +const SquareDashedKanban = createLucideIcon("SquareDashedKanbanIcon", [ + ["path", { d: "M8 7v7", key: "1x2jlm" }], + ["path", { d: "M12 7v4", key: "xawao1" }], + ["path", { d: "M16 7v9", key: "1hp2iy" }], + ["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }], + ["path", { d: "M9 3h1", key: "1yesri" }], + ["path", { d: "M14 3h1", key: "1ec4yj" }], + ["path", { d: "M19 3a2 2 0 0 1 2 2", key: "18rm91" }], + ["path", { d: "M21 9v1", key: "mxsmne" }], + ["path", { d: "M21 14v1", key: "169vum" }], + ["path", { d: "M21 19a2 2 0 0 1-2 2", key: "1j7049" }], + ["path", { d: "M14 21h1", key: "v9vybs" }], + ["path", { d: "M9 21h1", key: "15o7lz" }], + ["path", { d: "M5 21a2 2 0 0 1-2-2", key: "sbafld" }], + ["path", { d: "M3 14v1", key: "vnatye" }], + ["path", { d: "M3 9v1", key: "1r0deq" }] +]); + +const SquareDashedMousePointer = createLucideIcon("SquareDashedMousePointerIcon", [ + [ + "path", + { + d: "M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z", + key: "xwnzip" + } + ], + ["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }], + ["path", { d: "M19 3a2 2 0 0 1 2 2", key: "18rm91" }], + ["path", { d: "M5 21a2 2 0 0 1-2-2", key: "sbafld" }], + ["path", { d: "M9 3h1", key: "1yesri" }], + ["path", { d: "M9 21h2", key: "1qve2z" }], + ["path", { d: "M14 3h1", key: "1ec4yj" }], + ["path", { d: "M3 9v1", key: "1r0deq" }], + ["path", { d: "M21 9v2", key: "p14lih" }], + ["path", { d: "M3 14v1", key: "vnatye" }] +]); + +const SquareDashed = createLucideIcon("SquareDashedIcon", [ + ["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }], + ["path", { d: "M19 3a2 2 0 0 1 2 2", key: "18rm91" }], + ["path", { d: "M21 19a2 2 0 0 1-2 2", key: "1j7049" }], + ["path", { d: "M5 21a2 2 0 0 1-2-2", key: "sbafld" }], + ["path", { d: "M9 3h1", key: "1yesri" }], + ["path", { d: "M9 21h1", key: "15o7lz" }], + ["path", { d: "M14 3h1", key: "1ec4yj" }], + ["path", { d: "M14 21h1", key: "v9vybs" }], + ["path", { d: "M3 9v1", key: "1r0deq" }], + ["path", { d: "M21 9v1", key: "mxsmne" }], + ["path", { d: "M3 14v1", key: "vnatye" }], + ["path", { d: "M21 14v1", key: "169vum" }] +]); + +const SquareDivide = createLucideIcon("SquareDivideIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["line", { x1: "8", x2: "16", y1: "12", y2: "12", key: "1jonct" }], + ["line", { x1: "12", x2: "12", y1: "16", y2: "16", key: "aqc6ln" }], + ["line", { x1: "12", x2: "12", y1: "8", y2: "8", key: "1mkcni" }] +]); + +const SquareDot = createLucideIcon("SquareDotIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }] +]); + +const SquareEqual = createLucideIcon("SquareEqualIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 10h10", key: "1101jm" }], + ["path", { d: "M7 14h10", key: "1mhdw3" }] +]); + +const SquareFunction = createLucideIcon("SquareFunctionIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3", key: "m1af9g" }], + ["path", { d: "M9 11.2h5.7", key: "3zgcl2" }] +]); + +const SquareKanban = createLucideIcon("SquareKanbanIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 7v7", key: "1x2jlm" }], + ["path", { d: "M12 7v4", key: "xawao1" }], + ["path", { d: "M16 7v9", key: "1hp2iy" }] +]); + +const SquareLibrary = createLucideIcon("SquareLibraryIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 7v10", key: "d5nglc" }], + ["path", { d: "M11 7v10", key: "pptsnr" }], + ["path", { d: "m15 7 2 10", key: "1m7qm5" }] +]); + +const SquareM = createLucideIcon("SquareMIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 16V8l4 4 4-4v8", key: "141u4e" }] +]); + +const SquareMenu = createLucideIcon("SquareMenuIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 8h10", key: "1jw688" }], + ["path", { d: "M7 12h10", key: "b7w52i" }], + ["path", { d: "M7 16h10", key: "wp8him" }] +]); + +const SquareMinus = createLucideIcon("SquareMinusIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 12h8", key: "1wcyev" }] +]); + +const SquareMousePointer = createLucideIcon("SquareMousePointerIcon", [ + [ + "path", + { + d: "M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z", + key: "xwnzip" + } + ], + ["path", { d: "M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6", key: "14rsvq" }] +]); + +const SquareParkingOff = createLucideIcon("SquareParkingOffIcon", [ + ["path", { d: "M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41", key: "9l1ft6" }], + ["path", { d: "M3 8.7V19a2 2 0 0 0 2 2h10.3", key: "17knke" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M13 13a3 3 0 1 0 0-6H9v2", key: "uoagbd" }], + ["path", { d: "M9 17v-2.3", key: "1jxgo2" }] +]); + +const SquareParking = createLucideIcon("SquareParkingIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M9 17V7h4a3 3 0 0 1 0 6H9", key: "1dfk2c" }] +]); + +const SquarePen = createLucideIcon("SquarePenIcon", [ + ["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }], + [ + "path", + { + d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z", + key: "ohrbg2" + } + ] +]); + +const SquarePercent = createLucideIcon("SquarePercentIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["path", { d: "M15 15h.01", key: "lqbp3k" }] +]); + +const SquarePi = createLucideIcon("SquarePiIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M7 7h10", key: "udp07y" }], + ["path", { d: "M10 7v10", key: "i1d9ee" }], + ["path", { d: "M16 17a2 2 0 0 1-2-2V7", key: "ftwdc7" }] +]); + +const SquarePilcrow = createLucideIcon("SquarePilcrowIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M12 12H9.5a2.5 2.5 0 0 1 0-5H17", key: "1l9586" }], + ["path", { d: "M12 7v10", key: "jspqdw" }], + ["path", { d: "M16 7v10", key: "lavkr4" }] +]); + +const SquarePlay = createLucideIcon("SquarePlayIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "m9 8 6 4-6 4Z", key: "f1r3lt" }] +]); + +const SquarePlus = createLucideIcon("SquarePlusIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["path", { d: "M12 8v8", key: "napkw2" }] +]); + +const SquarePower = createLucideIcon("SquarePowerIcon", [ + ["path", { d: "M12 7v4", key: "xawao1" }], + ["path", { d: "M7.998 9.003a5 5 0 1 0 8-.005", key: "1pek45" }], + ["rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", key: "h1oib" }] +]); + +const SquareRadical = createLucideIcon("SquareRadicalIcon", [ + ["path", { d: "M7 12h2l2 5 2-10h4", key: "1fxv6h" }], + ["rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", key: "h1oib" }] +]); + +const SquareScissors = createLucideIcon("SquareScissorsIcon", [ + ["rect", { width: "20", height: "20", x: "2", y: "2", rx: "2", key: "1btzen" }], + ["circle", { cx: "8", cy: "8", r: "2", key: "14cg06" }], + ["path", { d: "M9.414 9.414 12 12", key: "qz4lzr" }], + ["path", { d: "M14.8 14.8 18 18", key: "11flf1" }], + ["circle", { cx: "8", cy: "16", r: "2", key: "1acxsx" }], + ["path", { d: "m18 6-8.586 8.586", key: "11kzk1" }] +]); + +const SquareSigma = createLucideIcon("SquareSigmaIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M16 8.9V7H8l4 5-4 5h8v-1.9", key: "9nih0i" }] +]); + +const SquareSlash = createLucideIcon("SquareSlashIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["line", { x1: "9", x2: "15", y1: "15", y2: "9", key: "1dfufj" }] +]); + +const SquareSplitHorizontal = createLucideIcon("SquareSplitHorizontalIcon", [ + ["path", { d: "M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3", key: "lubmu8" }], + ["path", { d: "M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3", key: "1ag34g" }], + ["line", { x1: "12", x2: "12", y1: "4", y2: "20", key: "1tx1rr" }] +]); + +const SquareSplitVertical = createLucideIcon("SquareSplitVerticalIcon", [ + ["path", { d: "M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3", key: "1pi83i" }], + ["path", { d: "M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3", key: "ido5k7" }], + ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }] +]); + +const SquareSquare = createLucideIcon("SquareSquareIcon", [ + ["rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", key: "h1oib" }], + ["rect", { x: "8", y: "8", width: "8", height: "8", rx: "1", key: "z9xiuo" }] +]); + +const SquareStack = createLucideIcon("SquareStackIcon", [ + ["path", { d: "M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2", key: "4i38lg" }], + ["path", { d: "M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2", key: "mlte4a" }], + ["rect", { width: "8", height: "8", x: "14", y: "14", rx: "2", key: "1fa9i4" }] +]); + +const SquareTerminal = createLucideIcon("SquareTerminalIcon", [ + ["path", { d: "m7 11 2-2-2-2", key: "1lz0vl" }], + ["path", { d: "M11 13h4", key: "1p7l4v" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }] +]); + +const SquareUserRound = createLucideIcon("SquareUserRoundIcon", [ + ["path", { d: "M18 21a6 6 0 0 0-12 0", key: "kaz2du" }], + ["circle", { cx: "12", cy: "11", r: "4", key: "1gt34v" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }] +]); + +const SquareUser = createLucideIcon("SquareUserIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2", key: "1m6ac2" }] +]); + +const SquareX = createLucideIcon("SquareXIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "m9 9 6 6", key: "z0biqf" }] +]); + +const Square = createLucideIcon("SquareIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }] +]); + +const Squircle = createLucideIcon("SquircleIcon", [ + ["path", { d: "M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9", key: "garfkc" }] +]); + +const Squirrel = createLucideIcon("SquirrelIcon", [ + ["path", { d: "M15.236 22a3 3 0 0 0-2.2-5", key: "21bitc" }], + ["path", { d: "M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4", key: "oh0fg0" }], + ["path", { d: "M18 13h.01", key: "9veqaj" }], + [ + "path", + { + d: "M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10", + key: "980v8a" + } + ] +]); + +const Stamp = createLucideIcon("StampIcon", [ + ["path", { d: "M5 22h14", key: "ehvnwv" }], + [ + "path", + { + d: "M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z", + key: "1sy9ra" + } + ], + [ + "path", + { d: "M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13", key: "cnxgux" } + ] +]); + +const StarHalf = createLucideIcon("StarHalfIcon", [ + [ + "path", + { + d: "M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2", + key: "2ksp49" + } + ] +]); + +const StarOff = createLucideIcon("StarOffIcon", [ + ["path", { d: "M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43", key: "16m0ql" }], + ["path", { d: "M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91", key: "1vt8nq" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Star = createLucideIcon("StarIcon", [ + [ + "path", + { + d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z", + key: "r04s7s" + } + ] +]); + +const StepBack = createLucideIcon("StepBackIcon", [ + ["line", { x1: "18", x2: "18", y1: "20", y2: "4", key: "cun8e5" }], + ["polygon", { points: "14,20 4,12 14,4", key: "ypakod" }] +]); + +const StepForward = createLucideIcon("StepForwardIcon", [ + ["line", { x1: "6", x2: "6", y1: "4", y2: "20", key: "fy8qot" }], + ["polygon", { points: "10,4 20,12 10,20", key: "1mc1pf" }] +]); + +const Stethoscope = createLucideIcon("StethoscopeIcon", [ + ["path", { d: "M11 2v2", key: "1539x4" }], + ["path", { d: "M5 2v2", key: "1yf1q8" }], + ["path", { d: "M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1", key: "rb5t3r" }], + ["path", { d: "M8 15a6 6 0 0 0 12 0v-3", key: "x18d4x" }], + ["circle", { cx: "20", cy: "10", r: "2", key: "ts1r5v" }] +]); + +const Sticker = createLucideIcon("StickerIcon", [ + [ + "path", + { d: "M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z", key: "1wis1t" } + ], + ["path", { d: "M14 3v4a2 2 0 0 0 2 2h4", key: "36rjfy" }], + ["path", { d: "M8 13h.01", key: "1sbv64" }], + ["path", { d: "M16 13h.01", key: "wip0gl" }], + ["path", { d: "M10 16s.8 1 2 1c1.3 0 2-1 2-1", key: "1vvgv3" }] +]); + +const StickyNote = createLucideIcon("StickyNoteIcon", [ + ["path", { d: "M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z", key: "qazsjp" }], + ["path", { d: "M15 3v4a2 2 0 0 0 2 2h4", key: "40519r" }] +]); + +const Store = createLucideIcon("StoreIcon", [ + ["path", { d: "m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7", key: "ztvudi" }], + ["path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8", key: "1b2hhj" }], + ["path", { d: "M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4", key: "2ebpfo" }], + ["path", { d: "M2 7h20", key: "1fcdvo" }], + [ + "path", + { + d: "M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7", + key: "6c3vgh" + } + ] +]); + +const StretchHorizontal = createLucideIcon("StretchHorizontalIcon", [ + ["rect", { width: "20", height: "6", x: "2", y: "4", rx: "2", key: "qdearl" }], + ["rect", { width: "20", height: "6", x: "2", y: "14", rx: "2", key: "1xrn6j" }] +]); + +const StretchVertical = createLucideIcon("StretchVerticalIcon", [ + ["rect", { width: "6", height: "20", x: "4", y: "2", rx: "2", key: "19qu7m" }], + ["rect", { width: "6", height: "20", x: "14", y: "2", rx: "2", key: "24v0nk" }] +]); + +const Strikethrough = createLucideIcon("StrikethroughIcon", [ + ["path", { d: "M16 4H9a3 3 0 0 0-2.83 4", key: "43sutm" }], + ["path", { d: "M14 12a4 4 0 0 1 0 8H6", key: "nlfj13" }], + ["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }] +]); + +const Subscript = createLucideIcon("SubscriptIcon", [ + ["path", { d: "m4 5 8 8", key: "1eunvl" }], + ["path", { d: "m12 5-8 8", key: "1ah0jp" }], + [ + "path", + { + d: "M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07", + key: "e8ta8j" + } + ] +]); + +const SunDim = createLucideIcon("SunDimIcon", [ + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["path", { d: "M12 4h.01", key: "1ujb9j" }], + ["path", { d: "M20 12h.01", key: "1ykeid" }], + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M4 12h.01", key: "158zrr" }], + ["path", { d: "M17.657 6.343h.01", key: "31pqzk" }], + ["path", { d: "M17.657 17.657h.01", key: "jehnf4" }], + ["path", { d: "M6.343 17.657h.01", key: "gdk6ow" }], + ["path", { d: "M6.343 6.343h.01", key: "1uurf0" }] +]); + +const SunMedium = createLucideIcon("SunMediumIcon", [ + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["path", { d: "M12 3v1", key: "1asbbs" }], + ["path", { d: "M12 20v1", key: "1wcdkc" }], + ["path", { d: "M3 12h1", key: "lp3yf2" }], + ["path", { d: "M20 12h1", key: "1vloll" }], + ["path", { d: "m18.364 5.636-.707.707", key: "1hakh0" }], + ["path", { d: "m6.343 17.657-.707.707", key: "18m9nf" }], + ["path", { d: "m5.636 5.636.707.707", key: "1xv1c5" }], + ["path", { d: "m17.657 17.657.707.707", key: "vl76zb" }] +]); + +const SunMoon = createLucideIcon("SunMoonIcon", [ + ["path", { d: "M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4", key: "1fu5g2" }], + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "m4.9 4.9 1.4 1.4", key: "b9915j" }], + ["path", { d: "m17.7 17.7 1.4 1.4", key: "qc3ed3" }], + ["path", { d: "M2 12h2", key: "1t8f8n" }], + ["path", { d: "M20 12h2", key: "1q8mjw" }], + ["path", { d: "m6.3 17.7-1.4 1.4", key: "5gca6" }], + ["path", { d: "m19.1 4.9-1.4 1.4", key: "wpu9u6" }] +]); + +const SunSnow = createLucideIcon("SunSnowIcon", [ + ["path", { d: "M10 21v-1", key: "1u8rkd" }], + ["path", { d: "M10 4V3", key: "pkzwkn" }], + ["path", { d: "M10 9a3 3 0 0 0 0 6", key: "gv75dk" }], + ["path", { d: "m14 20 1.25-2.5L18 18", key: "1chtki" }], + ["path", { d: "m14 4 1.25 2.5L18 6", key: "1b4wsy" }], + ["path", { d: "m17 21-3-6 1.5-3H22", key: "o5qa3v" }], + ["path", { d: "m17 3-3 6 1.5 3", key: "11697g" }], + ["path", { d: "M2 12h1", key: "1uaihz" }], + ["path", { d: "m20 10-1.5 2 1.5 2", key: "1swlpi" }], + ["path", { d: "m3.64 18.36.7-.7", key: "105rm9" }], + ["path", { d: "m4.34 6.34-.7-.7", key: "d3unjp" }] +]); + +const Sun = createLucideIcon("SunIcon", [ + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }], + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "m4.93 4.93 1.41 1.41", key: "149t6j" }], + ["path", { d: "m17.66 17.66 1.41 1.41", key: "ptbguv" }], + ["path", { d: "M2 12h2", key: "1t8f8n" }], + ["path", { d: "M20 12h2", key: "1q8mjw" }], + ["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }], + ["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }] +]); + +const Sunrise = createLucideIcon("SunriseIcon", [ + ["path", { d: "M12 2v8", key: "1q4o3n" }], + ["path", { d: "m4.93 10.93 1.41 1.41", key: "2a7f42" }], + ["path", { d: "M2 18h2", key: "j10viu" }], + ["path", { d: "M20 18h2", key: "wocana" }], + ["path", { d: "m19.07 10.93-1.41 1.41", key: "15zs5n" }], + ["path", { d: "M22 22H2", key: "19qnx5" }], + ["path", { d: "m8 6 4-4 4 4", key: "ybng9g" }], + ["path", { d: "M16 18a4 4 0 0 0-8 0", key: "1lzouq" }] +]); + +const Sunset = createLucideIcon("SunsetIcon", [ + ["path", { d: "M12 10V2", key: "16sf7g" }], + ["path", { d: "m4.93 10.93 1.41 1.41", key: "2a7f42" }], + ["path", { d: "M2 18h2", key: "j10viu" }], + ["path", { d: "M20 18h2", key: "wocana" }], + ["path", { d: "m19.07 10.93-1.41 1.41", key: "15zs5n" }], + ["path", { d: "M22 22H2", key: "19qnx5" }], + ["path", { d: "m16 6-4 4-4-4", key: "6wukr" }], + ["path", { d: "M16 18a4 4 0 0 0-8 0", key: "1lzouq" }] +]); + +const Superscript = createLucideIcon("SuperscriptIcon", [ + ["path", { d: "m4 19 8-8", key: "hr47gm" }], + ["path", { d: "m12 19-8-8", key: "1dhhmo" }], + [ + "path", + { + d: "M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06", + key: "1dfcux" + } + ] +]); + +const SwatchBook = createLucideIcon("SwatchBookIcon", [ + ["path", { d: "M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z", key: "1ldrpk" }], + ["path", { d: "M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7", key: "11i5po" }], + ["path", { d: "M 7 17h.01", key: "1euzgo" }], + [ + "path", + { + d: "m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8", + key: "o2gii7" + } + ] +]); + +const SwissFranc = createLucideIcon("SwissFrancIcon", [ + ["path", { d: "M10 21V3h8", key: "br2l0g" }], + ["path", { d: "M6 16h9", key: "2py0wn" }], + ["path", { d: "M10 9.5h7", key: "13dmhz" }] +]); + +const SwitchCamera = createLucideIcon("SwitchCameraIcon", [ + ["path", { d: "M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5", key: "mtk2lu" }], + ["path", { d: "M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5", key: "120jsl" }], + ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }], + ["path", { d: "m18 22-3-3 3-3", key: "kgdoj7" }], + ["path", { d: "m6 2 3 3-3 3", key: "1fnbkv" }] +]); + +const Sword = createLucideIcon("SwordIcon", [ + ["polyline", { points: "14.5 17.5 3 6 3 3 6 3 17.5 14.5", key: "1hfsw2" }], + ["line", { x1: "13", x2: "19", y1: "19", y2: "13", key: "1vrmhu" }], + ["line", { x1: "16", x2: "20", y1: "16", y2: "20", key: "1bron3" }], + ["line", { x1: "19", x2: "21", y1: "21", y2: "19", key: "13pww6" }] +]); + +const Swords = createLucideIcon("SwordsIcon", [ + ["polyline", { points: "14.5 17.5 3 6 3 3 6 3 17.5 14.5", key: "1hfsw2" }], + ["line", { x1: "13", x2: "19", y1: "19", y2: "13", key: "1vrmhu" }], + ["line", { x1: "16", x2: "20", y1: "16", y2: "20", key: "1bron3" }], + ["line", { x1: "19", x2: "21", y1: "21", y2: "19", key: "13pww6" }], + ["polyline", { points: "14.5 6.5 18 3 21 3 21 6 17.5 9.5", key: "hbey2j" }], + ["line", { x1: "5", x2: "9", y1: "14", y2: "18", key: "1hf58s" }], + ["line", { x1: "7", x2: "4", y1: "17", y2: "20", key: "pidxm4" }], + ["line", { x1: "3", x2: "5", y1: "19", y2: "21", key: "1pehsh" }] +]); + +const Syringe = createLucideIcon("SyringeIcon", [ + ["path", { d: "m18 2 4 4", key: "22kx64" }], + ["path", { d: "m17 7 3-3", key: "1w1zoj" }], + ["path", { d: "M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5", key: "1exhtz" }], + ["path", { d: "m9 11 4 4", key: "rovt3i" }], + ["path", { d: "m5 19-3 3", key: "59f2uf" }], + ["path", { d: "m14 4 6 6", key: "yqp9t2" }] +]); + +const Table2 = createLucideIcon("Table2Icon", [ + [ + "path", + { + d: "M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18", + key: "gugj83" + } + ] +]); + +const TableCellsMerge = createLucideIcon("TableCellsMergeIcon", [ + ["path", { d: "M12 21v-6", key: "lihzve" }], + ["path", { d: "M12 9V3", key: "da5inc" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }] +]); + +const TableCellsSplit = createLucideIcon("TableCellsSplitIcon", [ + ["path", { d: "M12 15V9", key: "8c7uyn" }], + ["path", { d: "M3 15h18", key: "5xshup" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }] +]); + +const TableColumnsSplit = createLucideIcon("TableColumnsSplitIcon", [ + ["path", { d: "M14 14v2", key: "w2a1xv" }], + ["path", { d: "M14 20v2", key: "1lq872" }], + ["path", { d: "M14 2v2", key: "6buw04" }], + ["path", { d: "M14 8v2", key: "i67w9a" }], + ["path", { d: "M2 15h8", key: "82wtch" }], + ["path", { d: "M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2", key: "up0l64" }], + ["path", { d: "M2 9h8", key: "yelfik" }], + ["path", { d: "M22 15h-4", key: "1es58f" }], + ["path", { d: "M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2", key: "pdjoqf" }], + ["path", { d: "M22 9h-4", key: "1luja7" }], + ["path", { d: "M5 3v18", key: "14hmio" }] +]); + +const TableOfContents = createLucideIcon("TableOfContentsIcon", [ + ["path", { d: "M16 12H3", key: "1a2rj7" }], + ["path", { d: "M16 18H3", key: "12xzn7" }], + ["path", { d: "M16 6H3", key: "1wxfjs" }], + ["path", { d: "M21 12h.01", key: "msek7k" }], + ["path", { d: "M21 18h.01", key: "1e8rq1" }], + ["path", { d: "M21 6h.01", key: "1koanj" }] +]); + +const TableProperties = createLucideIcon("TablePropertiesIcon", [ + ["path", { d: "M15 3v18", key: "14nvp0" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M21 9H3", key: "1338ky" }], + ["path", { d: "M21 15H3", key: "9uk58r" }] +]); + +const TableRowsSplit = createLucideIcon("TableRowsSplitIcon", [ + ["path", { d: "M14 10h2", key: "1lstlu" }], + ["path", { d: "M15 22v-8", key: "1fwwgm" }], + ["path", { d: "M15 2v4", key: "1044rn" }], + ["path", { d: "M2 10h2", key: "1r8dkt" }], + ["path", { d: "M20 10h2", key: "1ug425" }], + ["path", { d: "M3 19h18", key: "awlh7x" }], + ["path", { d: "M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6", key: "ibqhof" }], + ["path", { d: "M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2", key: "1uenja" }], + ["path", { d: "M8 10h2", key: "66od0" }], + ["path", { d: "M9 22v-8", key: "fmnu31" }], + ["path", { d: "M9 2v4", key: "j1yeou" }] +]); + +const Table = createLucideIcon("TableIcon", [ + ["path", { d: "M12 3v18", key: "108xh3" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9h18", key: "1pudct" }], + ["path", { d: "M3 15h18", key: "5xshup" }] +]); + +const TabletSmartphone = createLucideIcon("TabletSmartphoneIcon", [ + ["rect", { width: "10", height: "14", x: "3", y: "8", rx: "2", key: "1vrsiq" }], + ["path", { d: "M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4", key: "1j4zmg" }], + ["path", { d: "M8 18h.01", key: "lrp35t" }] +]); + +const Tablet = createLucideIcon("TabletIcon", [ + ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }], + ["line", { x1: "12", x2: "12.01", y1: "18", y2: "18", key: "1dp563" }] +]); + +const Tablets = createLucideIcon("TabletsIcon", [ + ["circle", { cx: "7", cy: "7", r: "5", key: "x29byf" }], + ["circle", { cx: "17", cy: "17", r: "5", key: "1op1d2" }], + ["path", { d: "M12 17h10", key: "ls21zv" }], + ["path", { d: "m3.46 10.54 7.08-7.08", key: "1rehiu" }] +]); + +const Tag = createLucideIcon("TagIcon", [ + [ + "path", + { + d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z", + key: "vktsd0" + } + ], + ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }] +]); + +const Tags = createLucideIcon("TagsIcon", [ + ["path", { d: "m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19", key: "1cbfv1" }], + [ + "path", + { + d: "M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z", + key: "135mg7" + } + ], + ["circle", { cx: "6.5", cy: "9.5", r: ".5", fill: "currentColor", key: "5pm5xn" }] +]); + +const Tally1 = createLucideIcon("Tally1Icon", [["path", { d: "M4 4v16", key: "6qkkli" }]]); + +const Tally2 = createLucideIcon("Tally2Icon", [ + ["path", { d: "M4 4v16", key: "6qkkli" }], + ["path", { d: "M9 4v16", key: "81ygyz" }] +]); + +const Tally3 = createLucideIcon("Tally3Icon", [ + ["path", { d: "M4 4v16", key: "6qkkli" }], + ["path", { d: "M9 4v16", key: "81ygyz" }], + ["path", { d: "M14 4v16", key: "12vmem" }] +]); + +const Tally4 = createLucideIcon("Tally4Icon", [ + ["path", { d: "M4 4v16", key: "6qkkli" }], + ["path", { d: "M9 4v16", key: "81ygyz" }], + ["path", { d: "M14 4v16", key: "12vmem" }], + ["path", { d: "M19 4v16", key: "8ij5ei" }] +]); + +const Tally5 = createLucideIcon("Tally5Icon", [ + ["path", { d: "M4 4v16", key: "6qkkli" }], + ["path", { d: "M9 4v16", key: "81ygyz" }], + ["path", { d: "M14 4v16", key: "12vmem" }], + ["path", { d: "M19 4v16", key: "8ij5ei" }], + ["path", { d: "M22 6 2 18", key: "h9moai" }] +]); + +const Tangent = createLucideIcon("TangentIcon", [ + ["circle", { cx: "17", cy: "4", r: "2", key: "y5j2s2" }], + ["path", { d: "M15.59 5.41 5.41 15.59", key: "l0vprr" }], + ["circle", { cx: "4", cy: "17", r: "2", key: "9p4efm" }], + ["path", { d: "M12 22s-4-9-1.5-11.5S22 12 22 12", key: "1twk4o" }] +]); + +const Target = createLucideIcon("TargetIcon", [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }] +]); + +const Telescope = createLucideIcon("TelescopeIcon", [ + [ + "path", + { + d: "m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44", + key: "k4qptu" + } + ], + ["path", { d: "m13.56 11.747 4.332-.924", key: "19l80z" }], + ["path", { d: "m16 21-3.105-6.21", key: "7oh9d" }], + [ + "path", + { + d: "M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z", + key: "m7xp4m" + } + ], + ["path", { d: "m6.158 8.633 1.114 4.456", key: "74o979" }], + ["path", { d: "m8 21 3.105-6.21", key: "1fvxut" }], + ["circle", { cx: "12", cy: "13", r: "2", key: "1c1ljs" }] +]); + +const TentTree = createLucideIcon("TentTreeIcon", [ + ["circle", { cx: "4", cy: "4", r: "2", key: "bt5ra8" }], + ["path", { d: "m14 5 3-3 3 3", key: "1sorif" }], + ["path", { d: "m14 10 3-3 3 3", key: "1jyi9h" }], + ["path", { d: "M17 14V2", key: "8ymqnk" }], + ["path", { d: "M17 14H7l-5 8h20Z", key: "13ar7p" }], + ["path", { d: "M8 14v8", key: "1ghmqk" }], + ["path", { d: "m9 14 5 8", key: "13pgi6" }] +]); + +const Tent = createLucideIcon("TentIcon", [ + ["path", { d: "M3.5 21 14 3", key: "1szst5" }], + ["path", { d: "M20.5 21 10 3", key: "1310c3" }], + ["path", { d: "M15.5 21 12 15l-3.5 6", key: "1ddtfw" }], + ["path", { d: "M2 21h20", key: "1nyx9w" }] +]); + +const Terminal = createLucideIcon("TerminalIcon", [ + ["polyline", { points: "4 17 10 11 4 5", key: "akl6gq" }], + ["line", { x1: "12", x2: "20", y1: "19", y2: "19", key: "q2wloq" }] +]); + +const TestTubeDiagonal = createLucideIcon("TestTubeDiagonalIcon", [ + [ + "path", + { d: "M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3", key: "1ub6xw" } + ], + ["path", { d: "m16 2 6 6", key: "1gw87d" }], + ["path", { d: "M12 16H4", key: "1cjfip" }] +]); + +const TestTube = createLucideIcon("TestTubeIcon", [ + ["path", { d: "M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2", key: "125lnx" }], + ["path", { d: "M8.5 2h7", key: "csnxdl" }], + ["path", { d: "M14.5 16h-5", key: "1ox875" }] +]); + +const TestTubes = createLucideIcon("TestTubesIcon", [ + ["path", { d: "M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2", key: "1hjrqt" }], + ["path", { d: "M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2", key: "16lc8n" }], + ["path", { d: "M3 2h7", key: "7s29d5" }], + ["path", { d: "M14 2h7", key: "7sicin" }], + ["path", { d: "M9 16H4", key: "1bfye3" }], + ["path", { d: "M20 16h-5", key: "ddnjpe" }] +]); + +const TextCursorInput = createLucideIcon("TextCursorInputIcon", [ + ["path", { d: "M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1", key: "18xjzo" }], + ["path", { d: "M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5", key: "fj48gi" }], + ["path", { d: "M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1", key: "1n9rhb" }], + ["path", { d: "M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7", key: "13ksps" }], + ["path", { d: "M9 7v10", key: "1vc8ob" }] +]); + +const TextCursor = createLucideIcon("TextCursorIcon", [ + ["path", { d: "M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1", key: "uvaxm9" }], + ["path", { d: "M7 22h1a4 4 0 0 0 4-4v-1", key: "11xy8d" }], + ["path", { d: "M7 2h1a4 4 0 0 1 4 4v1", key: "1uw06m" }] +]); + +const TextQuote = createLucideIcon("TextQuoteIcon", [ + ["path", { d: "M17 6H3", key: "16j9eg" }], + ["path", { d: "M21 12H8", key: "scolzb" }], + ["path", { d: "M21 18H8", key: "1wfozv" }], + ["path", { d: "M3 12v6", key: "fv4c87" }] +]); + +const TextSearch = createLucideIcon("TextSearchIcon", [ + ["path", { d: "M21 6H3", key: "1jwq7v" }], + ["path", { d: "M10 12H3", key: "1ulcyk" }], + ["path", { d: "M10 18H3", key: "13769t" }], + ["circle", { cx: "17", cy: "15", r: "3", key: "1upz2a" }], + ["path", { d: "m21 19-1.9-1.9", key: "dwi7p8" }] +]); + +const TextSelect = createLucideIcon("TextSelectIcon", [ + ["path", { d: "M5 3a2 2 0 0 0-2 2", key: "y57alp" }], + ["path", { d: "M19 3a2 2 0 0 1 2 2", key: "18rm91" }], + ["path", { d: "M21 19a2 2 0 0 1-2 2", key: "1j7049" }], + ["path", { d: "M5 21a2 2 0 0 1-2-2", key: "sbafld" }], + ["path", { d: "M9 3h1", key: "1yesri" }], + ["path", { d: "M9 21h1", key: "15o7lz" }], + ["path", { d: "M14 3h1", key: "1ec4yj" }], + ["path", { d: "M14 21h1", key: "v9vybs" }], + ["path", { d: "M3 9v1", key: "1r0deq" }], + ["path", { d: "M21 9v1", key: "mxsmne" }], + ["path", { d: "M3 14v1", key: "vnatye" }], + ["path", { d: "M21 14v1", key: "169vum" }], + ["line", { x1: "7", x2: "15", y1: "8", y2: "8", key: "1758g8" }], + ["line", { x1: "7", x2: "17", y1: "12", y2: "12", key: "197423" }], + ["line", { x1: "7", x2: "13", y1: "16", y2: "16", key: "37cgm6" }] +]); + +const Text = createLucideIcon("TextIcon", [ + ["path", { d: "M17 6.1H3", key: "wptmhv" }], + ["path", { d: "M21 12.1H3", key: "1j38uz" }], + ["path", { d: "M15.1 18H3", key: "1nb16a" }] +]); + +const Theater = createLucideIcon("TheaterIcon", [ + ["path", { d: "M2 10s3-3 3-8", key: "3xiif0" }], + ["path", { d: "M22 10s-3-3-3-8", key: "ioaa5q" }], + ["path", { d: "M10 2c0 4.4-3.6 8-8 8", key: "16fkpi" }], + ["path", { d: "M14 2c0 4.4 3.6 8 8 8", key: "b9eulq" }], + ["path", { d: "M2 10s2 2 2 5", key: "1au1lb" }], + ["path", { d: "M22 10s-2 2-2 5", key: "qi2y5e" }], + ["path", { d: "M8 15h8", key: "45n4r" }], + ["path", { d: "M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1", key: "1vsc2m" }], + ["path", { d: "M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1", key: "hrha4u" }] +]); + +const ThermometerSnowflake = createLucideIcon("ThermometerSnowflakeIcon", [ + ["path", { d: "m10 20-1.25-2.5L6 18", key: "18frcb" }], + ["path", { d: "M10 4 8.75 6.5 6 6", key: "7mghy3" }], + ["path", { d: "M10.585 15H10", key: "4nqulp" }], + ["path", { d: "M2 12h6.5L10 9", key: "kv9z4n" }], + ["path", { d: "M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z", key: "yu0u2z" }], + ["path", { d: "m4 10 1.5 2L4 14", key: "k9enpj" }], + ["path", { d: "m7 21 3-6-1.5-3", key: "j8hb9u" }], + ["path", { d: "m7 3 3 6h2", key: "1bbqgq" }] +]); + +const ThermometerSun = createLucideIcon("ThermometerSunIcon", [ + ["path", { d: "M12 9a4 4 0 0 0-2 7.5", key: "1jvsq6" }], + ["path", { d: "M12 3v2", key: "1w22ol" }], + ["path", { d: "m6.6 18.4-1.4 1.4", key: "w2yidj" }], + ["path", { d: "M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z", key: "iof6y5" }], + ["path", { d: "M4 13H2", key: "118le4" }], + ["path", { d: "M6.34 7.34 4.93 5.93", key: "1brd51" }] +]); + +const Thermometer = createLucideIcon("ThermometerIcon", [ + ["path", { d: "M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z", key: "17jzev" }] +]); + +const ThumbsDown = createLucideIcon("ThumbsDownIcon", [ + ["path", { d: "M17 14V2", key: "8ymqnk" }], + [ + "path", + { + d: "M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z", + key: "m61m77" + } + ] +]); + +const ThumbsUp = createLucideIcon("ThumbsUpIcon", [ + ["path", { d: "M7 10v12", key: "1qc93n" }], + [ + "path", + { + d: "M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z", + key: "emmmcr" + } + ] +]); + +const TicketCheck = createLucideIcon("TicketCheckIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }] +]); + +const TicketMinus = createLucideIcon("TicketMinusIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "M9 12h6", key: "1c52cq" }] +]); + +const TicketPercent = createLucideIcon("TicketPercentIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "1l48ns" + } + ], + ["path", { d: "M9 9h.01", key: "1q5me6" }], + ["path", { d: "m15 9-6 6", key: "1uzhvr" }], + ["path", { d: "M15 15h.01", key: "lqbp3k" }] +]); + +const TicketPlus = createLucideIcon("TicketPlusIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "M9 12h6", key: "1c52cq" }], + ["path", { d: "M12 9v6", key: "199k2o" }] +]); + +const TicketSlash = createLucideIcon("TicketSlashIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "m9.5 14.5 5-5", key: "qviqfa" }] +]); + +const TicketX = createLucideIcon("TicketXIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "m9.5 14.5 5-5", key: "qviqfa" }], + ["path", { d: "m9.5 9.5 5 5", key: "18nt4w" }] +]); + +const Ticket = createLucideIcon("TicketIcon", [ + [ + "path", + { + d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", + key: "qn84l0" + } + ], + ["path", { d: "M13 5v2", key: "dyzc3o" }], + ["path", { d: "M13 17v2", key: "1ont0d" }], + ["path", { d: "M13 11v2", key: "1wjjxi" }] +]); + +const TicketsPlane = createLucideIcon("TicketsPlaneIcon", [ + ["path", { d: "M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12", key: "16muxl" }], + ["path", { d: "m12 13.5 3.75.5", key: "1i9qhk" }], + ["path", { d: "m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8", key: "12lg5p" }], + ["path", { d: "M6 10V8", key: "1y41hn" }], + ["path", { d: "M6 14v1", key: "cao2tf" }], + ["path", { d: "M6 19v2", key: "1loha6" }], + ["rect", { x: "2", y: "8", width: "20", height: "13", rx: "2", key: "p3bz5l" }] +]); + +const Tickets = createLucideIcon("TicketsIcon", [ + ["path", { d: "m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8", key: "12lg5p" }], + ["path", { d: "M6 10V8", key: "1y41hn" }], + ["path", { d: "M6 14v1", key: "cao2tf" }], + ["path", { d: "M6 19v2", key: "1loha6" }], + ["rect", { x: "2", y: "8", width: "20", height: "13", rx: "2", key: "p3bz5l" }] +]); + +const TimerOff = createLucideIcon("TimerOffIcon", [ + ["path", { d: "M10 2h4", key: "n1abiw" }], + ["path", { d: "M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7", key: "10he05" }], + ["path", { d: "M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2", key: "15f7sh" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M12 12v-2", key: "fwoke6" }] +]); + +const TimerReset = createLucideIcon("TimerResetIcon", [ + ["path", { d: "M10 2h4", key: "n1abiw" }], + ["path", { d: "M12 14v-4", key: "1evpnu" }], + ["path", { d: "M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6", key: "1ts96g" }], + ["path", { d: "M9 17H4v5", key: "8t5av" }] +]); + +const Timer = createLucideIcon("TimerIcon", [ + ["line", { x1: "10", x2: "14", y1: "2", y2: "2", key: "14vaq8" }], + ["line", { x1: "12", x2: "15", y1: "14", y2: "11", key: "17fdiu" }], + ["circle", { cx: "12", cy: "14", r: "8", key: "1e1u0o" }] +]); + +const ToggleLeft = createLucideIcon("ToggleLeftIcon", [ + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "6", ry: "6", key: "f2vt7d" }], + ["circle", { cx: "8", cy: "12", r: "2", key: "1nvbw3" }] +]); + +const ToggleRight = createLucideIcon("ToggleRightIcon", [ + ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "6", ry: "6", key: "f2vt7d" }], + ["circle", { cx: "16", cy: "12", r: "2", key: "4ma0v8" }] +]); + +const Toilet = createLucideIcon("ToiletIcon", [ + [ + "path", + { + d: "M7 12h13a1 1 0 0 1 1 1 5 5 0 0 1-5 5h-.598a.5.5 0 0 0-.424.765l1.544 2.47a.5.5 0 0 1-.424.765H5.402a.5.5 0 0 1-.424-.765L7 18", + key: "kc4kqr" + } + ], + ["path", { d: "M8 18a5 5 0 0 1-5-5V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8", key: "1tqs57" }] +]); + +const Tornado = createLucideIcon("TornadoIcon", [ + ["path", { d: "M21 4H3", key: "1hwok0" }], + ["path", { d: "M18 8H6", key: "41n648" }], + ["path", { d: "M19 12H9", key: "1g4lpz" }], + ["path", { d: "M16 16h-6", key: "1j5d54" }], + ["path", { d: "M11 20H9", key: "39obr8" }] +]); + +const Torus = createLucideIcon("TorusIcon", [ + ["ellipse", { cx: "12", cy: "11", rx: "3", ry: "2", key: "1b2qxu" }], + ["ellipse", { cx: "12", cy: "12.5", rx: "10", ry: "8.5", key: "h8emeu" }] +]); + +const TouchpadOff = createLucideIcon("TouchpadOffIcon", [ + ["path", { d: "M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16", key: "lnt0bk" }], + ["path", { d: "M2 14h12", key: "d8icqz" }], + ["path", { d: "M22 14h-2", key: "jrx26d" }], + ["path", { d: "M12 20v-6", key: "1rm09r" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + ["path", { d: "M22 16V6a2 2 0 0 0-2-2H10", key: "11y8e4" }] +]); + +const Touchpad = createLucideIcon("TouchpadIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M2 14h20", key: "myj16y" }], + ["path", { d: "M12 20v-6", key: "1rm09r" }] +]); + +const TowerControl = createLucideIcon("TowerControlIcon", [ + [ + "path", + { d: "M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z", key: "1pledb" } + ], + ["path", { d: "M8 13v9", key: "hmv0ci" }], + ["path", { d: "M16 22v-9", key: "ylnf1u" }], + ["path", { d: "m9 6 1 7", key: "dpdgam" }], + ["path", { d: "m15 6-1 7", key: "ls7zgu" }], + ["path", { d: "M12 6V2", key: "1pj48d" }], + ["path", { d: "M13 2h-2", key: "mj6ths" }] +]); + +const ToyBrick = createLucideIcon("ToyBrickIcon", [ + ["rect", { width: "18", height: "12", x: "3", y: "8", rx: "1", key: "158fvp" }], + ["path", { d: "M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3", key: "s0042v" }], + ["path", { d: "M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3", key: "9wmeh2" }] +]); + +const Tractor = createLucideIcon("TractorIcon", [ + ["path", { d: "m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20", key: "she1j9" }], + ["path", { d: "M16 18h-5", key: "bq60fd" }], + ["path", { d: "M18 5a1 1 0 0 0-1 1v5.573", key: "1kv8ia" }], + ["path", { d: "M3 4h8.129a1 1 0 0 1 .99.863L13 11.246", key: "1q1ert" }], + ["path", { d: "M4 11V4", key: "9ft8pt" }], + ["path", { d: "M7 15h.01", key: "k5ht0j" }], + ["path", { d: "M8 10.1V4", key: "1jgyzo" }], + ["circle", { cx: "18", cy: "18", r: "2", key: "1emm8v" }], + ["circle", { cx: "7", cy: "15", r: "5", key: "ddtuc" }] +]); + +const TrafficCone = createLucideIcon("TrafficConeIcon", [ + ["path", { d: "M9.3 6.2a4.55 4.55 0 0 0 5.4 0", key: "flyxqv" }], + ["path", { d: "M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3", key: "1nlxxg" }], + [ + "path", + { + d: "M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z", + key: "vz7x1l" + } + ], + [ + "path", + { + d: "m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8", + key: "1xfzlw" + } + ] +]); + +const TrainFrontTunnel = createLucideIcon("TrainFrontTunnelIcon", [ + ["path", { d: "M2 22V12a10 10 0 1 1 20 0v10", key: "o0fyp0" }], + ["path", { d: "M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8", key: "m8q3n9" }], + ["path", { d: "M10 15h.01", key: "44in9x" }], + ["path", { d: "M14 15h.01", key: "5mohn5" }], + ["path", { d: "M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z", key: "hckbmu" }], + ["path", { d: "m9 19-2 3", key: "iij7hm" }], + ["path", { d: "m15 19 2 3", key: "npx8sa" }] +]); + +const TrainFront = createLucideIcon("TrainFrontIcon", [ + ["path", { d: "M8 3.1V7a4 4 0 0 0 8 0V3.1", key: "1v71zp" }], + ["path", { d: "m9 15-1-1", key: "1yrq24" }], + ["path", { d: "m15 15 1-1", key: "1t0d6s" }], + ["path", { d: "M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z", key: "1p0hjs" }], + ["path", { d: "m8 19-2 3", key: "13i0xs" }], + ["path", { d: "m16 19 2 3", key: "xo31yx" }] +]); + +const TrainTrack = createLucideIcon("TrainTrackIcon", [ + ["path", { d: "M2 17 17 2", key: "18b09t" }], + ["path", { d: "m2 14 8 8", key: "1gv9hu" }], + ["path", { d: "m5 11 8 8", key: "189pqp" }], + ["path", { d: "m8 8 8 8", key: "1imecy" }], + ["path", { d: "m11 5 8 8", key: "ummqn6" }], + ["path", { d: "m14 2 8 8", key: "1vk7dn" }], + ["path", { d: "M7 22 22 7", key: "15mb1i" }] +]); + +const TramFront = createLucideIcon("TramFrontIcon", [ + ["rect", { width: "16", height: "16", x: "4", y: "3", rx: "2", key: "1wxw4b" }], + ["path", { d: "M4 11h16", key: "mpoxn0" }], + ["path", { d: "M12 3v8", key: "1h2ygw" }], + ["path", { d: "m8 19-2 3", key: "13i0xs" }], + ["path", { d: "m18 22-2-3", key: "1p0ohu" }], + ["path", { d: "M8 15h.01", key: "a7atzg" }], + ["path", { d: "M16 15h.01", key: "rnfrdf" }] +]); + +const Transgender = createLucideIcon("TransgenderIcon", [ + ["path", { d: "M12 16v6", key: "c8a4gj" }], + ["path", { d: "M14 20h-4", key: "m8m19d" }], + ["path", { d: "M18 2h4v4", key: "1341mj" }], + ["path", { d: "m2 2 7.17 7.17", key: "13q8l2" }], + ["path", { d: "M2 5.355V2h3.357", key: "18136r" }], + ["path", { d: "m22 2-7.17 7.17", key: "1epvy4" }], + ["path", { d: "M8 5 5 8", key: "mgbjhz" }], + ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }] +]); + +const Trash2 = createLucideIcon("Trash2Icon", [ + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }], + ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }], + ["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }], + ["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }] +]); + +const Trash = createLucideIcon("TrashIcon", [ + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }], + ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }] +]); + +const TreeDeciduous = createLucideIcon("TreeDeciduousIcon", [ + [ + "path", + { + d: "M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z", + key: "oadzkq" + } + ], + ["path", { d: "M12 19v3", key: "npa21l" }] +]); + +const TreePalm = createLucideIcon("TreePalmIcon", [ + ["path", { d: "M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4", key: "foxbe7" }], + [ + "path", + { d: "M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3", key: "18arnh" } + ], + [ + "path", + { + d: "M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35", + key: "ywahnh" + } + ], + ["path", { d: "M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14", key: "ft0feo" }] +]); + +const TreePine = createLucideIcon("TreePineIcon", [ + [ + "path", + { + d: "m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z", + key: "cpyugq" + } + ], + ["path", { d: "M12 22v-3", key: "kmzjlo" }] +]); + +const Trees = createLucideIcon("TreesIcon", [ + ["path", { d: "M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z", key: "1l6gj6" }], + ["path", { d: "M7 16v6", key: "1a82de" }], + ["path", { d: "M13 19v3", key: "13sx9i" }], + [ + "path", + { + d: "M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5", + key: "1sj9kv" + } + ] +]); + +const Trello = createLucideIcon("TrelloIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["rect", { width: "3", height: "9", x: "7", y: "7", key: "14n3xi" }], + ["rect", { width: "3", height: "5", x: "14", y: "7", key: "s4azjd" }] +]); + +const TrendingDown = createLucideIcon("TrendingDownIcon", [ + ["polyline", { points: "22 17 13.5 8.5 8.5 13.5 2 7", key: "1r2t7k" }], + ["polyline", { points: "16 17 22 17 22 11", key: "11uiuu" }] +]); + +const TrendingUpDown = createLucideIcon("TrendingUpDownIcon", [ + ["path", { d: "M14.828 14.828 21 21", key: "ar5fw7" }], + ["path", { d: "M21 16v5h-5", key: "1ck2sf" }], + ["path", { d: "m21 3-9 9-4-4-6 6", key: "1h02xo" }], + ["path", { d: "M21 8V3h-5", key: "1qoq8a" }] +]); + +const TrendingUp = createLucideIcon("TrendingUpIcon", [ + ["polyline", { points: "22 7 13.5 15.5 8.5 10.5 2 17", key: "126l90" }], + ["polyline", { points: "16 7 22 7 22 13", key: "kwv8wd" }] +]); + +const TriangleAlert = createLucideIcon("TriangleAlertIcon", [ + [ + "path", + { + d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3", + key: "wmoenq" + } + ], + ["path", { d: "M12 9v4", key: "juzpu7" }], + ["path", { d: "M12 17h.01", key: "p32p05" }] +]); + +const TriangleDashed = createLucideIcon("TriangleDashedIcon", [ + ["path", { d: "M10.17 4.193a2 2 0 0 1 3.666.013", key: "pltmmw" }], + ["path", { d: "M14 21h2", key: "v4qezv" }], + ["path", { d: "m15.874 7.743 1 1.732", key: "10m0iw" }], + ["path", { d: "m18.849 12.952 1 1.732", key: "zadnam" }], + ["path", { d: "M21.824 18.18a2 2 0 0 1-1.835 2.824", key: "fvwuk4" }], + ["path", { d: "M4.024 21a2 2 0 0 1-1.839-2.839", key: "1e1kah" }], + ["path", { d: "m5.136 12.952-1 1.732", key: "1u4ldi" }], + ["path", { d: "M8 21h2", key: "i9zjee" }], + ["path", { d: "m8.102 7.743-1 1.732", key: "1zzo4u" }] +]); + +const TriangleRight = createLucideIcon("TriangleRightIcon", [ + [ + "path", + { + d: "M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z", + key: "183wce" + } + ] +]); + +const Triangle = createLucideIcon("TriangleIcon", [ + [ + "path", + { d: "M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z", key: "14u9p9" } + ] +]); + +const Trophy = createLucideIcon("TrophyIcon", [ + ["path", { d: "M6 9H4.5a2.5 2.5 0 0 1 0-5H6", key: "17hqa7" }], + ["path", { d: "M18 9h1.5a2.5 2.5 0 0 0 0-5H18", key: "lmptdp" }], + ["path", { d: "M4 22h16", key: "57wxv0" }], + ["path", { d: "M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22", key: "1nw9bq" }], + ["path", { d: "M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22", key: "1np0yb" }], + ["path", { d: "M18 2H6v7a6 6 0 0 0 12 0V2Z", key: "u46fv3" }] +]); + +const Truck = createLucideIcon("TruckIcon", [ + ["path", { d: "M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2", key: "wrbu53" }], + ["path", { d: "M15 18H9", key: "1lyqi6" }], + [ + "path", + { + d: "M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14", + key: "lysw3i" + } + ], + ["circle", { cx: "17", cy: "18", r: "2", key: "332jqn" }], + ["circle", { cx: "7", cy: "18", r: "2", key: "19iecd" }] +]); + +const Turtle = createLucideIcon("TurtleIcon", [ + [ + "path", + { + d: "m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z", + key: "1lbbv7" + } + ], + ["path", { d: "M4.82 7.9 8 10", key: "m9wose" }], + ["path", { d: "M15.18 7.9 12 10", key: "p8dp2u" }], + ["path", { d: "M16.93 10H20a2 2 0 0 1 0 4H2", key: "12nsm7" }] +]); + +const TvMinimalPlay = createLucideIcon("TvMinimalPlayIcon", [ + [ + "path", + { + d: "M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z", + key: "1pctta" + } + ], + ["path", { d: "M7 21h10", key: "1b0cd5" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }] +]); + +const TvMinimal = createLucideIcon("TvMinimalIcon", [ + ["path", { d: "M7 21h10", key: "1b0cd5" }], + ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }] +]); + +const Tv = createLucideIcon("TvIcon", [ + ["rect", { width: "20", height: "15", x: "2", y: "7", rx: "2", ry: "2", key: "10ag99" }], + ["polyline", { points: "17 2 12 7 7 2", key: "11pgbg" }] +]); + +const Twitch = createLucideIcon("TwitchIcon", [ + ["path", { d: "M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7", key: "c0yzno" }] +]); + +const Twitter = createLucideIcon("TwitterIcon", [ + [ + "path", + { + d: "M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z", + key: "pff0z6" + } + ] +]); + +const TypeOutline = createLucideIcon("TypeOutlineIcon", [ + [ + "path", + { + d: "M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z", + key: "1reda3" + } + ] +]); + +const Type = createLucideIcon("TypeIcon", [ + ["polyline", { points: "4 7 4 4 20 4 20 7", key: "1nosan" }], + ["line", { x1: "9", x2: "15", y1: "20", y2: "20", key: "swin9y" }], + ["line", { x1: "12", x2: "12", y1: "4", y2: "20", key: "1tx1rr" }] +]); + +const UmbrellaOff = createLucideIcon("UmbrellaOffIcon", [ + ["path", { d: "M12 2v1", key: "11qlp1" }], + ["path", { d: "M15.5 21a1.85 1.85 0 0 1-3.5-1v-8H2a10 10 0 0 1 3.428-6.575", key: "eki10q" }], + ["path", { d: "M17.5 12H22A10 10 0 0 0 9.004 3.455", key: "n2ayka" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Umbrella = createLucideIcon("UmbrellaIcon", [ + ["path", { d: "M22 12a10.06 10.06 1 0 0-20 0Z", key: "1teyop" }], + ["path", { d: "M12 12v8a2 2 0 0 0 4 0", key: "ulpmoc" }], + ["path", { d: "M12 2v1", key: "11qlp1" }] +]); + +const Underline = createLucideIcon("UnderlineIcon", [ + ["path", { d: "M6 4v6a6 6 0 0 0 12 0V4", key: "9kb039" }], + ["line", { x1: "4", x2: "20", y1: "20", y2: "20", key: "nun2al" }] +]); + +const Undo2 = createLucideIcon("Undo2Icon", [ + ["path", { d: "M9 14 4 9l5-5", key: "102s5s" }], + ["path", { d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11", key: "f3b9sd" }] +]); + +const UndoDot = createLucideIcon("UndoDotIcon", [ + ["path", { d: "M21 17a9 9 0 0 0-15-6.7L3 13", key: "8mp6z9" }], + ["path", { d: "M3 7v6h6", key: "1v2h90" }], + ["circle", { cx: "12", cy: "17", r: "1", key: "1ixnty" }] +]); + +const Undo = createLucideIcon("UndoIcon", [ + ["path", { d: "M3 7v6h6", key: "1v2h90" }], + ["path", { d: "M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13", key: "1r6uu6" }] +]); + +const UnfoldHorizontal = createLucideIcon("UnfoldHorizontalIcon", [ + ["path", { d: "M16 12h6", key: "15xry1" }], + ["path", { d: "M8 12H2", key: "1jqql6" }], + ["path", { d: "M12 2v2", key: "tus03m" }], + ["path", { d: "M12 8v2", key: "1woqiv" }], + ["path", { d: "M12 14v2", key: "8jcxud" }], + ["path", { d: "M12 20v2", key: "1lh1kg" }], + ["path", { d: "m19 15 3-3-3-3", key: "wjy7rq" }], + ["path", { d: "m5 9-3 3 3 3", key: "j64kie" }] +]); + +const UnfoldVertical = createLucideIcon("UnfoldVerticalIcon", [ + ["path", { d: "M12 22v-6", key: "6o8u61" }], + ["path", { d: "M12 8V2", key: "1wkif3" }], + ["path", { d: "M4 12H2", key: "rhcxmi" }], + ["path", { d: "M10 12H8", key: "s88cx1" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }], + ["path", { d: "m15 19-3 3-3-3", key: "11eu04" }], + ["path", { d: "m15 5-3-3-3 3", key: "itvq4r" }] +]); + +const Ungroup = createLucideIcon("UngroupIcon", [ + ["rect", { width: "8", height: "6", x: "5", y: "4", rx: "1", key: "nzclkv" }], + ["rect", { width: "8", height: "6", x: "11", y: "14", rx: "1", key: "4tytwb" }] +]); + +const University = createLucideIcon("UniversityIcon", [ + ["circle", { cx: "12", cy: "10", r: "1", key: "1gnqs8" }], + ["path", { d: "M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2", key: "1qj5sn" }], + ["path", { d: "M6 17v.01", key: "roodi6" }], + ["path", { d: "M6 13v.01", key: "67c122" }], + ["path", { d: "M18 17v.01", key: "12ktxm" }], + ["path", { d: "M18 13v.01", key: "tn1rt1" }], + ["path", { d: "M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5", key: "11g7fi" }] +]); + +const Unlink2 = createLucideIcon("Unlink2Icon", [ + ["path", { d: "M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2", key: "1re2ne" }] +]); + +const Unlink = createLucideIcon("UnlinkIcon", [ + [ + "path", + { + d: "m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71", + key: "yqzxt4" + } + ], + [ + "path", + { + d: "m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71", + key: "4qinb0" + } + ], + ["line", { x1: "8", x2: "8", y1: "2", y2: "5", key: "1041cp" }], + ["line", { x1: "2", x2: "5", y1: "8", y2: "8", key: "14m1p5" }], + ["line", { x1: "16", x2: "16", y1: "19", y2: "22", key: "rzdirn" }], + ["line", { x1: "19", x2: "22", y1: "16", y2: "16", key: "ox905f" }] +]); + +const Unplug = createLucideIcon("UnplugIcon", [ + ["path", { d: "m19 5 3-3", key: "yk6iyv" }], + ["path", { d: "m2 22 3-3", key: "19mgm9" }], + [ + "path", + { d: "M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z", key: "goz73y" } + ], + ["path", { d: "M7.5 13.5 10 11", key: "7xgeeb" }], + ["path", { d: "M10.5 16.5 13 14", key: "10btkg" }], + [ + "path", + { d: "m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z", key: "1snsnr" } + ] +]); + +const Upload = createLucideIcon("UploadIcon", [ + ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }], + ["polyline", { points: "17 8 12 3 7 8", key: "t8dd8p" }], + ["line", { x1: "12", x2: "12", y1: "3", y2: "15", key: "widbto" }] +]); + +const Usb = createLucideIcon("UsbIcon", [ + ["circle", { cx: "10", cy: "7", r: "1", key: "dypaad" }], + ["circle", { cx: "4", cy: "20", r: "1", key: "22iqad" }], + ["path", { d: "M4.7 19.3 19 5", key: "1enqfc" }], + ["path", { d: "m21 3-3 1 2 2Z", key: "d3ov82" }], + ["path", { d: "M9.26 7.68 5 12l2 5", key: "1esawj" }], + ["path", { d: "m10 14 5 2 3.5-3.5", key: "v8oal5" }], + ["path", { d: "m18 12 1-1 1 1-1 1Z", key: "1bh22v" }] +]); + +const UserCheck = createLucideIcon("UserCheckIcon", [ + ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["polyline", { points: "16 11 18 13 22 9", key: "1pwet4" }] +]); + +const UserCog = createLucideIcon("UserCogIcon", [ + ["circle", { cx: "18", cy: "15", r: "3", key: "gjjjvw" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["path", { d: "M10 15H6a4 4 0 0 0-4 4v2", key: "1nfge6" }], + ["path", { d: "m21.7 16.4-.9-.3", key: "12j9ji" }], + ["path", { d: "m15.2 13.9-.9-.3", key: "1fdjdi" }], + ["path", { d: "m16.6 18.7.3-.9", key: "heedtr" }], + ["path", { d: "m19.1 12.2.3-.9", key: "1af3ki" }], + ["path", { d: "m19.6 18.7-.4-1", key: "1x9vze" }], + ["path", { d: "m16.8 12.3-.4-1", key: "vqeiwj" }], + ["path", { d: "m14.3 16.6 1-.4", key: "1qlj63" }], + ["path", { d: "m20.7 13.8 1-.4", key: "1v5t8k" }] +]); + +const UserMinus = createLucideIcon("UserMinusIcon", [ + ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["line", { x1: "22", x2: "16", y1: "11", y2: "11", key: "1shjgl" }] +]); + +const UserPen = createLucideIcon("UserPenIcon", [ + ["path", { d: "M11.5 15H7a4 4 0 0 0-4 4v2", key: "15lzij" }], + [ + "path", + { + d: "M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "1817ys" + } + ], + ["circle", { cx: "10", cy: "7", r: "4", key: "e45bow" }] +]); + +const UserPlus = createLucideIcon("UserPlusIcon", [ + ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["line", { x1: "19", x2: "19", y1: "8", y2: "14", key: "1bvyxn" }], + ["line", { x1: "22", x2: "16", y1: "11", y2: "11", key: "1shjgl" }] +]); + +const UserRoundCheck = createLucideIcon("UserRoundCheckIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 13.292-6", key: "bjp14o" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "m16 19 2 2 4-4", key: "1b14m6" }] +]); + +const UserRoundCog = createLucideIcon("UserRoundCogIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 10.434-7.62", key: "1yezr2" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["path", { d: "m19.5 14.3-.4.9", key: "1eb35c" }], + ["path", { d: "m16.9 20.8-.4.9", key: "dfjc4z" }], + ["path", { d: "m21.7 19.5-.9-.4", key: "q4dx6b" }], + ["path", { d: "m15.2 16.9-.9-.4", key: "1r0w5f" }], + ["path", { d: "m21.7 16.5-.9.4", key: "1knoei" }], + ["path", { d: "m15.2 19.1-.9.4", key: "j188fs" }], + ["path", { d: "m19.5 21.7-.4-.9", key: "1tonu5" }], + ["path", { d: "m16.9 15.2-.4-.9", key: "699xu" }] +]); + +const UserRoundMinus = createLucideIcon("UserRoundMinusIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 13.292-6", key: "bjp14o" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "M22 19h-6", key: "vcuq98" }] +]); + +const UserRoundPen = createLucideIcon("UserRoundPenIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 10.821-7.487", key: "1c8h7z" }], + [ + "path", + { + d: "M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", + key: "1817ys" + } + ], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }] +]); + +const UserRoundPlus = createLucideIcon("UserRoundPlusIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 13.292-6", key: "bjp14o" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "M19 16v6", key: "tddt3s" }], + ["path", { d: "M22 19h-6", key: "vcuq98" }] +]); + +const UserRoundSearch = createLucideIcon("UserRoundSearchIcon", [ + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "M2 21a8 8 0 0 1 10.434-7.62", key: "1yezr2" }], + ["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }], + ["path", { d: "m22 22-1.9-1.9", key: "1e5ubv" }] +]); + +const UserRoundX = createLucideIcon("UserRoundXIcon", [ + ["path", { d: "M2 21a8 8 0 0 1 11.873-7", key: "74fkxq" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "m17 17 5 5", key: "p7ous7" }], + ["path", { d: "m22 17-5 5", key: "gqnmv0" }] +]); + +const UserRound = createLucideIcon("UserRoundIcon", [ + ["circle", { cx: "12", cy: "8", r: "5", key: "1hypcn" }], + ["path", { d: "M20 21a8 8 0 0 0-16 0", key: "rfgkzh" }] +]); + +const UserSearch = createLucideIcon("UserSearchIcon", [ + ["circle", { cx: "10", cy: "7", r: "4", key: "e45bow" }], + ["path", { d: "M10.3 15H7a4 4 0 0 0-4 4v2", key: "3bnktk" }], + ["circle", { cx: "17", cy: "17", r: "3", key: "18b49y" }], + ["path", { d: "m21 21-1.9-1.9", key: "1g2n9r" }] +]); + +const UserX = createLucideIcon("UserXIcon", [ + ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["line", { x1: "17", x2: "22", y1: "8", y2: "13", key: "3nzzx3" }], + ["line", { x1: "22", x2: "17", y1: "8", y2: "13", key: "1swrse" }] +]); + +const User = createLucideIcon("UserIcon", [ + ["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }], + ["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }] +]); + +const UsersRound = createLucideIcon("UsersRoundIcon", [ + ["path", { d: "M18 21a8 8 0 0 0-16 0", key: "3ypg7q" }], + ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }], + ["path", { d: "M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3", key: "10s06x" }] +]); + +const Users = createLucideIcon("UsersIcon", [ + ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }], + ["path", { d: "M16 3.13a4 4 0 0 1 0 7.75", key: "1da9ce" }] +]); + +const UtensilsCrossed = createLucideIcon("UtensilsCrossedIcon", [ + ["path", { d: "m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8", key: "n7qcjb" }], + [ + "path", + { d: "M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7", key: "d0u48b" } + ], + ["path", { d: "m2.1 21.8 6.4-6.3", key: "yn04lh" }], + ["path", { d: "m19 5-7 7", key: "194lzd" }] +]); + +const Utensils = createLucideIcon("UtensilsIcon", [ + ["path", { d: "M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2", key: "cjf0a3" }], + ["path", { d: "M7 2v20", key: "1473qp" }], + ["path", { d: "M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7", key: "j28e5" }] +]); + +const UtilityPole = createLucideIcon("UtilityPoleIcon", [ + ["path", { d: "M12 2v20", key: "t6zp3m" }], + ["path", { d: "M2 5h20", key: "1fs1ex" }], + ["path", { d: "M3 3v2", key: "9imdir" }], + ["path", { d: "M7 3v2", key: "n0os7" }], + ["path", { d: "M17 3v2", key: "1l2re6" }], + ["path", { d: "M21 3v2", key: "1duuac" }], + ["path", { d: "m19 5-7 7-7-7", key: "133zxf" }] +]); + +const Variable = createLucideIcon("VariableIcon", [ + ["path", { d: "M8 21s-4-3-4-9 4-9 4-9", key: "uto9ud" }], + ["path", { d: "M16 3s4 3 4 9-4 9-4 9", key: "4w2vsq" }], + ["line", { x1: "15", x2: "9", y1: "9", y2: "15", key: "f7djnv" }], + ["line", { x1: "9", x2: "15", y1: "9", y2: "15", key: "1shsy8" }] +]); + +const Vault = createLucideIcon("VaultIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }], + ["path", { d: "m7.9 7.9 2.7 2.7", key: "hpeyl3" }], + ["circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor", key: "w0ekpg" }], + ["path", { d: "m13.4 10.6 2.7-2.7", key: "264c1n" }], + ["circle", { cx: "7.5", cy: "16.5", r: ".5", fill: "currentColor", key: "nkw3mc" }], + ["path", { d: "m7.9 16.1 2.7-2.7", key: "p81g5e" }], + ["circle", { cx: "16.5", cy: "16.5", r: ".5", fill: "currentColor", key: "fubopw" }], + ["path", { d: "m13.4 13.4 2.7 2.7", key: "abhel3" }], + ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }] +]); + +const Vegan = createLucideIcon("VeganIcon", [ + ["path", { d: "M16 8q6 0 6-6-6 0-6 6", key: "qsyyc4" }], + ["path", { d: "M17.41 3.59a10 10 0 1 0 3 3", key: "41m9h7" }], + ["path", { d: "M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14", key: "qiv7li" }] +]); + +const VenetianMask = createLucideIcon("VenetianMaskIcon", [ + ["path", { d: "M18 11c-1.5 0-2.5.5-3 2", key: "1fod00" }], + [ + "path", + { + d: "M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z", + key: "d70hit" + } + ], + ["path", { d: "M6 11c1.5 0 2.5.5 3 2", key: "136fht" }] +]); + +const VenusAndMars = createLucideIcon("VenusAndMarsIcon", [ + ["path", { d: "M10 20h4", key: "ni2waw" }], + ["path", { d: "M12 16v6", key: "c8a4gj" }], + ["path", { d: "M17 2h4v4", key: "vhe59" }], + ["path", { d: "m21 2-5.46 5.46", key: "19kypf" }], + ["circle", { cx: "12", cy: "11", r: "5", key: "16gxyc" }] +]); + +const Venus = createLucideIcon("VenusIcon", [ + ["path", { d: "M12 15v7", key: "t2xh3l" }], + ["path", { d: "M9 19h6", key: "456am0" }], + ["circle", { cx: "12", cy: "9", r: "6", key: "1nw4tq" }] +]); + +const VibrateOff = createLucideIcon("VibrateOffIcon", [ + ["path", { d: "m2 8 2 2-2 2 2 2-2 2", key: "sv1b1" }], + ["path", { d: "m22 8-2 2 2 2-2 2 2 2", key: "101i4y" }], + ["path", { d: "M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2", key: "1hbad5" }], + ["path", { d: "M16 10.34V6c0-.55-.45-1-1-1h-4.34", key: "1x5tf0" }], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Vibrate = createLucideIcon("VibrateIcon", [ + ["path", { d: "m2 8 2 2-2 2 2 2-2 2", key: "sv1b1" }], + ["path", { d: "m22 8-2 2 2 2-2 2 2 2", key: "101i4y" }], + ["rect", { width: "8", height: "14", x: "8", y: "5", rx: "1", key: "1oyrl4" }] +]); + +const VideoOff = createLucideIcon("VideoOffIcon", [ + [ + "path", + { d: "M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196", key: "w8jjjt" } + ], + ["path", { d: "M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2", key: "1xawa7" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Video = createLucideIcon("VideoIcon", [ + [ + "path", + { + d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5", + key: "ftymec" + } + ], + ["rect", { x: "2", y: "6", width: "14", height: "12", rx: "2", key: "158x01" }] +]); + +const Videotape = createLucideIcon("VideotapeIcon", [ + ["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], + ["path", { d: "M2 8h20", key: "d11cs7" }], + ["circle", { cx: "8", cy: "14", r: "2", key: "1k2qr5" }], + ["path", { d: "M8 12h8", key: "1wcyev" }], + ["circle", { cx: "16", cy: "14", r: "2", key: "14k7lr" }] +]); + +const View = createLucideIcon("ViewIcon", [ + ["path", { d: "M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2", key: "mrq65r" }], + ["path", { d: "M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2", key: "be3xqs" }], + ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], + [ + "path", + { + d: "M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0", + key: "11ak4c" + } + ] +]); + +const Voicemail = createLucideIcon("VoicemailIcon", [ + ["circle", { cx: "6", cy: "12", r: "4", key: "1ehtga" }], + ["circle", { cx: "18", cy: "12", r: "4", key: "4vafl8" }], + ["line", { x1: "6", x2: "18", y1: "16", y2: "16", key: "pmt8us" }] +]); + +const Volleyball = createLucideIcon("VolleyballIcon", [ + ["path", { d: "M11.1 7.1a16.55 16.55 0 0 1 10.9 4", key: "2880wi" }], + ["path", { d: "M12 12a12.6 12.6 0 0 1-8.7 5", key: "113sja" }], + ["path", { d: "M16.8 13.6a16.55 16.55 0 0 1-9 7.5", key: "1qmsgl" }], + ["path", { d: "M20.7 17a12.8 12.8 0 0 0-8.7-5 13.3 13.3 0 0 1 0-10", key: "1bmeqp" }], + ["path", { d: "M6.3 3.8a16.55 16.55 0 0 0 1.9 11.5", key: "iekzv9" }], + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }] +]); + +const Volume1 = createLucideIcon("Volume1Icon", [ + [ + "path", + { + d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z", + key: "uqj9uw" + } + ], + ["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }] +]); + +const Volume2 = createLucideIcon("Volume2Icon", [ + [ + "path", + { + d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z", + key: "uqj9uw" + } + ], + ["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }], + ["path", { d: "M19.364 18.364a9 9 0 0 0 0-12.728", key: "ijwkga" }] +]); + +const VolumeOff = createLucideIcon("VolumeOffIcon", [ + ["path", { d: "M16 9a5 5 0 0 1 .95 2.293", key: "1fgyg8" }], + ["path", { d: "M19.364 5.636a9 9 0 0 1 1.889 9.96", key: "l3zxae" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }], + [ + "path", + { + d: "m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11", + key: "1gbwow" + } + ], + ["path", { d: "M9.828 4.172A.686.686 0 0 1 11 4.657v.686", key: "s2je0y" }] +]); + +const VolumeX = createLucideIcon("VolumeXIcon", [ + [ + "path", + { + d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z", + key: "uqj9uw" + } + ], + ["line", { x1: "22", x2: "16", y1: "9", y2: "15", key: "1ewh16" }], + ["line", { x1: "16", x2: "22", y1: "9", y2: "15", key: "5ykzw1" }] +]); + +const Volume = createLucideIcon("VolumeIcon", [ + [ + "path", + { + d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z", + key: "uqj9uw" + } + ] +]); + +const Vote = createLucideIcon("VoteIcon", [ + ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }], + ["path", { d: "M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z", key: "1ezoue" }], + ["path", { d: "M22 19H2", key: "nuriw5" }] +]); + +const WalletCards = createLucideIcon("WalletCardsIcon", [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }], + ["path", { d: "M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2", key: "4125el" }], + [ + "path", + { + d: "M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21", + key: "1dpki6" + } + ] +]); + +const WalletMinimal = createLucideIcon("WalletMinimalIcon", [ + ["path", { d: "M17 14h.01", key: "7oqj8z" }], + [ + "path", + { + d: "M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14", + key: "u1rqew" + } + ] +]); + +const Wallet = createLucideIcon("WalletIcon", [ + [ + "path", + { + d: "M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1", + key: "18etb6" + } + ], + ["path", { d: "M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4", key: "xoc0q4" }] +]); + +const Wallpaper = createLucideIcon("WallpaperIcon", [ + ["circle", { cx: "8", cy: "9", r: "2", key: "gjzl9d" }], + [ + "path", + { + d: "m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2", + key: "69xh40" + } + ], + ["path", { d: "M8 21h8", key: "1ev6f3" }], + ["path", { d: "M12 17v4", key: "1riwvh" }] +]); + +const WandSparkles = createLucideIcon("WandSparklesIcon", [ + [ + "path", + { + d: "m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72", + key: "ul74o6" + } + ], + ["path", { d: "m14 7 3 3", key: "1r5n42" }], + ["path", { d: "M5 6v4", key: "ilb8ba" }], + ["path", { d: "M19 14v4", key: "blhpug" }], + ["path", { d: "M10 2v2", key: "7u0qdc" }], + ["path", { d: "M7 8H3", key: "zfb6yr" }], + ["path", { d: "M21 16h-4", key: "1cnmox" }], + ["path", { d: "M11 3H9", key: "1obp7u" }] +]); + +const Wand = createLucideIcon("WandIcon", [ + ["path", { d: "M15 4V2", key: "z1p9b7" }], + ["path", { d: "M15 16v-2", key: "px0unx" }], + ["path", { d: "M8 9h2", key: "1g203m" }], + ["path", { d: "M20 9h2", key: "19tzq7" }], + ["path", { d: "M17.8 11.8 19 13", key: "yihg8r" }], + ["path", { d: "M15 9h.01", key: "x1ddxp" }], + ["path", { d: "M17.8 6.2 19 5", key: "fd4us0" }], + ["path", { d: "m3 21 9-9", key: "1jfql5" }], + ["path", { d: "M12.2 6.2 11 5", key: "i3da3b" }] +]); + +const Warehouse = createLucideIcon("WarehouseIcon", [ + [ + "path", + { + d: "M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z", + key: "gksnxg" + } + ], + ["path", { d: "M6 18h12", key: "9pbo8z" }], + ["path", { d: "M6 14h12", key: "4cwo0f" }], + ["rect", { width: "12", height: "12", x: "6", y: "10", key: "apd30q" }] +]); + +const WashingMachine = createLucideIcon("WashingMachineIcon", [ + ["path", { d: "M3 6h3", key: "155dbl" }], + ["path", { d: "M17 6h.01", key: "e2y6kg" }], + ["rect", { width: "18", height: "20", x: "3", y: "2", rx: "2", key: "od3kk9" }], + ["circle", { cx: "12", cy: "13", r: "5", key: "nlbqau" }], + ["path", { d: "M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5", key: "17lach" }] +]); + +const Watch = createLucideIcon("WatchIcon", [ + ["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }], + ["polyline", { points: "12 10 12 12 13 13", key: "19dquz" }], + [ + "path", + { d: "m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05", key: "18k57s" } + ], + ["path", { d: "m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05", key: "16ny36" }] +]); + +const WavesLadder = createLucideIcon("WavesLadderIcon", [ + ["path", { d: "M19 5a2 2 0 0 0-2 2v11", key: "s41o68" }], + [ + "path", + { + d: "M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", + key: "rd2r6e" + } + ], + ["path", { d: "M7 13h10", key: "1rwob1" }], + ["path", { d: "M7 9h10", key: "12czzb" }], + ["path", { d: "M9 5a2 2 0 0 0-2 2v11", key: "x0q4gh" }] +]); + +const Waves = createLucideIcon("WavesIcon", [ + [ + "path", + { + d: "M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", + key: "knzxuh" + } + ], + [ + "path", + { + d: "M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", + key: "2jd2cc" + } + ], + [ + "path", + { + d: "M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1", + key: "rd2r6e" + } + ] +]); + +const Waypoints = createLucideIcon("WaypointsIcon", [ + ["circle", { cx: "12", cy: "4.5", r: "2.5", key: "r5ysbb" }], + ["path", { d: "m10.2 6.3-3.9 3.9", key: "1nzqf6" }], + ["circle", { cx: "4.5", cy: "12", r: "2.5", key: "jydg6v" }], + ["path", { d: "M7 12h10", key: "b7w52i" }], + ["circle", { cx: "19.5", cy: "12", r: "2.5", key: "1piiel" }], + ["path", { d: "m13.8 17.7 3.9-3.9", key: "1wyg1y" }], + ["circle", { cx: "12", cy: "19.5", r: "2.5", key: "13o1pw" }] +]); + +const Webcam = createLucideIcon("WebcamIcon", [ + ["circle", { cx: "12", cy: "10", r: "8", key: "1gshiw" }], + ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }], + ["path", { d: "M7 22h10", key: "10w4w3" }], + ["path", { d: "M12 22v-4", key: "1utk9m" }] +]); + +const WebhookOff = createLucideIcon("WebhookOffIcon", [ + ["path", { d: "M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15", key: "1tvl6x" }], + ["path", { d: "M9 3.4a4 4 0 0 1 6.52.66", key: "q04jfq" }], + ["path", { d: "m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05", key: "azowf0" }], + ["path", { d: "M20.3 20.3a4 4 0 0 1-2.3.7", key: "5joiws" }], + ["path", { d: "M18.6 13a4 4 0 0 1 3.357 3.414", key: "cangb8" }], + ["path", { d: "m12 6 .6 1", key: "tpjl1n" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Webhook = createLucideIcon("WebhookIcon", [ + [ + "path", + { + d: "M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2", + key: "q3hayz" + } + ], + ["path", { d: "m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06", key: "1go1hn" }], + ["path", { d: "m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8", key: "qlwsc0" }] +]); + +const Weight = createLucideIcon("WeightIcon", [ + ["circle", { cx: "12", cy: "5", r: "3", key: "rqqgnr" }], + [ + "path", + { + d: "M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z", + key: "56o5sh" + } + ] +]); + +const WheatOff = createLucideIcon("WheatOffIcon", [ + ["path", { d: "m2 22 10-10", key: "28ilpk" }], + ["path", { d: "m16 8-1.17 1.17", key: "1qqm82" }], + [ + "path", + { + d: "M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z", + key: "1rdhi6" + } + ], + [ + "path", + { d: "m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97", key: "4wz8re" } + ], + [ + "path", + { d: "M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62", key: "rves66" } + ], + ["path", { d: "M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z", key: "19rau1" }], + [ + "path", + { + d: "M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z", + key: "tc8ph9" + } + ], + [ + "path", + { + d: "m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98", + key: "ak46r" + } + ], + [ + "path", + { + d: "M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28", + key: "1tw520" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Wheat = createLucideIcon("WheatIcon", [ + ["path", { d: "M2 22 16 8", key: "60hf96" }], + [ + "path", + { + d: "M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z", + key: "1rdhi6" + } + ], + [ + "path", + { + d: "M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z", + key: "1sdzmb" + } + ], + [ + "path", + { + d: "M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z", + key: "eoatbi" + } + ], + ["path", { d: "M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z", key: "19rau1" }], + [ + "path", + { + d: "M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z", + key: "tc8ph9" + } + ], + [ + "path", + { + d: "M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z", + key: "2m8kc5" + } + ], + [ + "path", + { + d: "M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z", + key: "vex3ng" + } + ] +]); + +const WholeWord = createLucideIcon("WholeWordIcon", [ + ["circle", { cx: "7", cy: "12", r: "3", key: "12clwm" }], + ["path", { d: "M10 9v6", key: "17i7lo" }], + ["circle", { cx: "17", cy: "12", r: "3", key: "gl7c2s" }], + ["path", { d: "M14 7v8", key: "dl84cr" }], + ["path", { d: "M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1", key: "lt2kga" }] +]); + +const WifiHigh = createLucideIcon("WifiHighIcon", [ + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M5 12.859a10 10 0 0 1 14 0", key: "1x1e6c" }], + ["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }] +]); + +const WifiLow = createLucideIcon("WifiLowIcon", [ + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }] +]); + +const WifiOff = createLucideIcon("WifiOffIcon", [ + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }], + ["path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69", key: "1dl1wf" }], + ["path", { d: "M19 12.859a10 10 0 0 0-2.007-1.523", key: "4k23kn" }], + ["path", { d: "M2 8.82a15 15 0 0 1 4.177-2.643", key: "1grhjp" }], + ["path", { d: "M22 8.82a15 15 0 0 0-11.288-3.764", key: "z3jwby" }], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const WifiZero = createLucideIcon("WifiZeroIcon", [["path", { d: "M12 20h.01", key: "zekei9" }]]); + +const Wifi = createLucideIcon("WifiIcon", [ + ["path", { d: "M12 20h.01", key: "zekei9" }], + ["path", { d: "M2 8.82a15 15 0 0 1 20 0", key: "dnpr2z" }], + ["path", { d: "M5 12.859a10 10 0 0 1 14 0", key: "1x1e6c" }], + ["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }] +]); + +const WindArrowDown = createLucideIcon("WindArrowDownIcon", [ + ["path", { d: "M10 2v8", key: "d4bbey" }], + ["path", { d: "M12.8 21.6A2 2 0 1 0 14 18H2", key: "19kp1d" }], + ["path", { d: "M17.5 10a2.5 2.5 0 1 1 2 4H2", key: "19kpjc" }], + ["path", { d: "m6 6 4 4 4-4", key: "k13n16" }] +]); + +const Wind = createLucideIcon("WindIcon", [ + ["path", { d: "M12.8 19.6A2 2 0 1 0 14 16H2", key: "148xed" }], + ["path", { d: "M17.5 8a2.5 2.5 0 1 1 2 4H2", key: "1u4tom" }], + ["path", { d: "M9.8 4.4A2 2 0 1 1 11 8H2", key: "75valh" }] +]); + +const WineOff = createLucideIcon("WineOffIcon", [ + ["path", { d: "M8 22h8", key: "rmew8v" }], + ["path", { d: "M7 10h3m7 0h-1.343", key: "v48bem" }], + ["path", { d: "M12 15v7", key: "t2xh3l" }], + [ + "path", + { + d: "M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198", + key: "1ymjlu" + } + ], + ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }] +]); + +const Wine = createLucideIcon("WineIcon", [ + ["path", { d: "M8 22h8", key: "rmew8v" }], + ["path", { d: "M7 10h10", key: "1101jm" }], + ["path", { d: "M12 15v7", key: "t2xh3l" }], + [ + "path", + { d: "M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z", key: "10ffi3" } + ] +]); + +const Workflow = createLucideIcon("WorkflowIcon", [ + ["rect", { width: "8", height: "8", x: "3", y: "3", rx: "2", key: "by2w9f" }], + ["path", { d: "M7 11v4a2 2 0 0 0 2 2h4", key: "xkn7yn" }], + ["rect", { width: "8", height: "8", x: "13", y: "13", rx: "2", key: "1cgmvn" }] +]); + +const Worm = createLucideIcon("WormIcon", [ + ["path", { d: "m19 12-1.5 3", key: "9bcu4o" }], + ["path", { d: "M19.63 18.81 22 20", key: "121v98" }], + [ + "path", + { + d: "M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z", + key: "1tij6q" + } + ] +]); + +const WrapText = createLucideIcon("WrapTextIcon", [ + ["line", { x1: "3", x2: "21", y1: "6", y2: "6", key: "4m8b97" }], + ["path", { d: "M3 12h15a3 3 0 1 1 0 6h-4", key: "1cl7v7" }], + ["polyline", { points: "16 16 14 18 16 20", key: "1jznyi" }], + ["line", { x1: "3", x2: "10", y1: "18", y2: "18", key: "1h33wv" }] +]); + +const Wrench = createLucideIcon("WrenchIcon", [ + [ + "path", + { + d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z", + key: "cbrjhi" + } + ] +]); + +const X = createLucideIcon("XIcon", [ + ["path", { d: "M18 6 6 18", key: "1bl5f8" }], + ["path", { d: "m6 6 12 12", key: "d8bk6v" }] +]); + +const Youtube = createLucideIcon("YoutubeIcon", [ + [ + "path", + { + d: "M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17", + key: "1q2vi4" + } + ], + ["path", { d: "m10 15 5-3-5-3z", key: "1jp15x" }] +]); + +const ZapOff = createLucideIcon("ZapOffIcon", [ + ["path", { d: "M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317", key: "193nxd" }], + ["path", { d: "M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773", key: "27a7lr" }], + [ + "path", + { + d: "M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643", + key: "1e0qe9" + } + ], + ["path", { d: "m2 2 20 20", key: "1ooewy" }] +]); + +const Zap = createLucideIcon("ZapIcon", [ + [ + "path", + { + d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", + key: "1xq2db" + } + ] +]); + +const ZoomIn = createLucideIcon("ZoomInIcon", [ + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }], + ["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }], + ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }] +]); + +const ZoomOut = createLucideIcon("ZoomOutIcon", [ + ["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], + ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }], + ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }] +]); + +var index = /*#__PURE__*/Object.freeze({ + __proto__: null, + AArrowDown: AArrowDown, + AArrowUp: AArrowUp, + ALargeSmall: ALargeSmall, + Accessibility: Accessibility, + Activity: Activity, + AirVent: AirVent, + Airplay: Airplay, + AlarmClock: AlarmClock, + AlarmClockCheck: AlarmClockCheck, + AlarmClockMinus: AlarmClockMinus, + AlarmClockOff: AlarmClockOff, + AlarmClockPlus: AlarmClockPlus, + AlarmSmoke: AlarmSmoke, + Album: Album, + AlignCenter: AlignCenter, + AlignCenterHorizontal: AlignCenterHorizontal, + AlignCenterVertical: AlignCenterVertical, + AlignEndHorizontal: AlignEndHorizontal, + AlignEndVertical: AlignEndVertical, + AlignHorizontalDistributeCenter: AlignHorizontalDistributeCenter, + AlignHorizontalDistributeEnd: AlignHorizontalDistributeEnd, + AlignHorizontalDistributeStart: AlignHorizontalDistributeStart, + AlignHorizontalJustifyCenter: AlignHorizontalJustifyCenter, + AlignHorizontalJustifyEnd: AlignHorizontalJustifyEnd, + AlignHorizontalJustifyStart: AlignHorizontalJustifyStart, + AlignHorizontalSpaceAround: AlignHorizontalSpaceAround, + AlignHorizontalSpaceBetween: AlignHorizontalSpaceBetween, + AlignJustify: AlignJustify, + AlignLeft: AlignLeft, + AlignRight: AlignRight, + AlignStartHorizontal: AlignStartHorizontal, + AlignStartVertical: AlignStartVertical, + AlignVerticalDistributeCenter: AlignVerticalDistributeCenter, + AlignVerticalDistributeEnd: AlignVerticalDistributeEnd, + AlignVerticalDistributeStart: AlignVerticalDistributeStart, + AlignVerticalJustifyCenter: AlignVerticalJustifyCenter, + AlignVerticalJustifyEnd: AlignVerticalJustifyEnd, + AlignVerticalJustifyStart: AlignVerticalJustifyStart, + AlignVerticalSpaceAround: AlignVerticalSpaceAround, + AlignVerticalSpaceBetween: AlignVerticalSpaceBetween, + Ambulance: Ambulance, + Ampersand: Ampersand, + Ampersands: Ampersands, + Amphora: Amphora, + Anchor: Anchor, + Angry: Angry, + Annoyed: Annoyed, + Antenna: Antenna, + Anvil: Anvil, + Aperture: Aperture, + AppWindow: AppWindow, + AppWindowMac: AppWindowMac, + Apple: Apple, + Archive: Archive, + ArchiveRestore: ArchiveRestore, + ArchiveX: ArchiveX, + Armchair: Armchair, + ArrowBigDown: ArrowBigDown, + ArrowBigDownDash: ArrowBigDownDash, + ArrowBigLeft: ArrowBigLeft, + ArrowBigLeftDash: ArrowBigLeftDash, + ArrowBigRight: ArrowBigRight, + ArrowBigRightDash: ArrowBigRightDash, + ArrowBigUp: ArrowBigUp, + ArrowBigUpDash: ArrowBigUpDash, + ArrowDown: ArrowDown, + ArrowDown01: ArrowDown01, + ArrowDown10: ArrowDown10, + ArrowDownAZ: ArrowDownAZ, + ArrowDownFromLine: ArrowDownFromLine, + ArrowDownLeft: ArrowDownLeft, + ArrowDownNarrowWide: ArrowDownNarrowWide, + ArrowDownRight: ArrowDownRight, + ArrowDownToDot: ArrowDownToDot, + ArrowDownToLine: ArrowDownToLine, + ArrowDownUp: ArrowDownUp, + ArrowDownWideNarrow: ArrowDownWideNarrow, + ArrowDownZA: ArrowDownZA, + ArrowLeft: ArrowLeft, + ArrowLeftFromLine: ArrowLeftFromLine, + ArrowLeftRight: ArrowLeftRight, + ArrowLeftToLine: ArrowLeftToLine, + ArrowRight: ArrowRight, + ArrowRightFromLine: ArrowRightFromLine, + ArrowRightLeft: ArrowRightLeft, + ArrowRightToLine: ArrowRightToLine, + ArrowUp: ArrowUp, + ArrowUp01: ArrowUp01, + ArrowUp10: ArrowUp10, + ArrowUpAZ: ArrowUpAZ, + ArrowUpDown: ArrowUpDown, + ArrowUpFromDot: ArrowUpFromDot, + ArrowUpFromLine: ArrowUpFromLine, + ArrowUpLeft: ArrowUpLeft, + ArrowUpNarrowWide: ArrowUpNarrowWide, + ArrowUpRight: ArrowUpRight, + ArrowUpToLine: ArrowUpToLine, + ArrowUpWideNarrow: ArrowUpWideNarrow, + ArrowUpZA: ArrowUpZA, + ArrowsUpFromLine: ArrowsUpFromLine, + Asterisk: Asterisk, + AtSign: AtSign, + Atom: Atom, + AudioLines: AudioLines, + AudioWaveform: AudioWaveform, + Award: Award, + Axe: Axe, + Axis3d: Axis3d, + Baby: Baby, + Backpack: Backpack, + Badge: Badge, + BadgeAlert: BadgeAlert, + BadgeCent: BadgeCent, + BadgeCheck: BadgeCheck, + BadgeDollarSign: BadgeDollarSign, + BadgeEuro: BadgeEuro, + BadgeHelp: BadgeHelp, + BadgeIndianRupee: BadgeIndianRupee, + BadgeInfo: BadgeInfo, + BadgeJapaneseYen: BadgeJapaneseYen, + BadgeMinus: BadgeMinus, + BadgePercent: BadgePercent, + BadgePlus: BadgePlus, + BadgePoundSterling: BadgePoundSterling, + BadgeRussianRuble: BadgeRussianRuble, + BadgeSwissFranc: BadgeSwissFranc, + BadgeX: BadgeX, + BaggageClaim: BaggageClaim, + Ban: Ban, + Banana: Banana, + Bandage: Bandage, + Banknote: Banknote, + Barcode: Barcode, + Baseline: Baseline, + Bath: Bath, + Battery: Battery, + BatteryCharging: BatteryCharging, + BatteryFull: BatteryFull, + BatteryLow: BatteryLow, + BatteryMedium: BatteryMedium, + BatteryPlus: BatteryPlus, + BatteryWarning: BatteryWarning, + Beaker: Beaker, + Bean: Bean, + BeanOff: BeanOff, + Bed: Bed, + BedDouble: BedDouble, + BedSingle: BedSingle, + Beef: Beef, + Beer: Beer, + BeerOff: BeerOff, + Bell: Bell, + BellDot: BellDot, + BellElectric: BellElectric, + BellMinus: BellMinus, + BellOff: BellOff, + BellPlus: BellPlus, + BellRing: BellRing, + BetweenHorizontalEnd: BetweenHorizontalEnd, + BetweenHorizontalStart: BetweenHorizontalStart, + BetweenVerticalEnd: BetweenVerticalEnd, + BetweenVerticalStart: BetweenVerticalStart, + BicepsFlexed: BicepsFlexed, + Bike: Bike, + Binary: Binary, + Binoculars: Binoculars, + Biohazard: Biohazard, + Bird: Bird, + Bitcoin: Bitcoin, + Blend: Blend, + Blinds: Blinds, + Blocks: Blocks, + Bluetooth: Bluetooth, + BluetoothConnected: BluetoothConnected, + BluetoothOff: BluetoothOff, + BluetoothSearching: BluetoothSearching, + Bold: Bold, + Bolt: Bolt, + Bomb: Bomb, + Bone: Bone, + Book: Book, + BookA: BookA, + BookAudio: BookAudio, + BookCheck: BookCheck, + BookCopy: BookCopy, + BookDashed: BookDashed, + BookDown: BookDown, + BookHeadphones: BookHeadphones, + BookHeart: BookHeart, + BookImage: BookImage, + BookKey: BookKey, + BookLock: BookLock, + BookMarked: BookMarked, + BookMinus: BookMinus, + BookOpen: BookOpen, + BookOpenCheck: BookOpenCheck, + BookOpenText: BookOpenText, + BookPlus: BookPlus, + BookText: BookText, + BookType: BookType, + BookUp: BookUp, + BookUp2: BookUp2, + BookUser: BookUser, + BookX: BookX, + Bookmark: Bookmark, + BookmarkCheck: BookmarkCheck, + BookmarkMinus: BookmarkMinus, + BookmarkPlus: BookmarkPlus, + BookmarkX: BookmarkX, + BoomBox: BoomBox, + Bot: Bot, + BotMessageSquare: BotMessageSquare, + BotOff: BotOff, + Box: Box, + Boxes: Boxes, + Braces: Braces, + Brackets: Brackets, + Brain: Brain, + BrainCircuit: BrainCircuit, + BrainCog: BrainCog, + BrickWall: BrickWall, + Briefcase: Briefcase, + BriefcaseBusiness: BriefcaseBusiness, + BriefcaseConveyorBelt: BriefcaseConveyorBelt, + BriefcaseMedical: BriefcaseMedical, + BringToFront: BringToFront, + Brush: Brush, + Bug: Bug, + BugOff: BugOff, + BugPlay: BugPlay, + Building: Building, + Building2: Building2, + Bus: Bus, + BusFront: BusFront, + Cable: Cable, + CableCar: CableCar, + Cake: Cake, + CakeSlice: CakeSlice, + Calculator: Calculator, + Calendar: Calendar, + Calendar1: Calendar1, + CalendarArrowDown: CalendarArrowDown, + CalendarArrowUp: CalendarArrowUp, + CalendarCheck: CalendarCheck, + CalendarCheck2: CalendarCheck2, + CalendarClock: CalendarClock, + CalendarCog: CalendarCog, + CalendarDays: CalendarDays, + CalendarFold: CalendarFold, + CalendarHeart: CalendarHeart, + CalendarMinus: CalendarMinus, + CalendarMinus2: CalendarMinus2, + CalendarOff: CalendarOff, + CalendarPlus: CalendarPlus, + CalendarPlus2: CalendarPlus2, + CalendarRange: CalendarRange, + CalendarSearch: CalendarSearch, + CalendarSync: CalendarSync, + CalendarX: CalendarX, + CalendarX2: CalendarX2, + Camera: Camera, + CameraOff: CameraOff, + Candy: Candy, + CandyCane: CandyCane, + CandyOff: CandyOff, + Cannabis: Cannabis, + Captions: Captions, + CaptionsOff: CaptionsOff, + Car: Car, + CarFront: CarFront, + CarTaxiFront: CarTaxiFront, + Caravan: Caravan, + Carrot: Carrot, + CaseLower: CaseLower, + CaseSensitive: CaseSensitive, + CaseUpper: CaseUpper, + CassetteTape: CassetteTape, + Cast: Cast, + Castle: Castle, + Cat: Cat, + Cctv: Cctv, + ChartArea: ChartArea, + ChartBar: ChartBar, + ChartBarBig: ChartBarBig, + ChartBarDecreasing: ChartBarDecreasing, + ChartBarIncreasing: ChartBarIncreasing, + ChartBarStacked: ChartBarStacked, + ChartCandlestick: ChartCandlestick, + ChartColumn: ChartColumn, + ChartColumnBig: ChartColumnBig, + ChartColumnDecreasing: ChartColumnDecreasing, + ChartColumnIncreasing: ChartColumnIncreasing, + ChartColumnStacked: ChartColumnStacked, + ChartGantt: ChartGantt, + ChartLine: ChartLine, + ChartNetwork: ChartNetwork, + ChartNoAxesColumn: ChartNoAxesColumn, + ChartNoAxesColumnDecreasing: ChartNoAxesColumnDecreasing, + ChartNoAxesColumnIncreasing: ChartNoAxesColumnIncreasing, + ChartNoAxesCombined: ChartNoAxesCombined, + ChartNoAxesGantt: ChartNoAxesGantt, + ChartPie: ChartPie, + ChartScatter: ChartScatter, + ChartSpline: ChartSpline, + Check: Check, + CheckCheck: CheckCheck, + ChefHat: ChefHat, + Cherry: Cherry, + ChevronDown: ChevronDown, + ChevronFirst: ChevronFirst, + ChevronLast: ChevronLast, + ChevronLeft: ChevronLeft, + ChevronRight: ChevronRight, + ChevronUp: ChevronUp, + ChevronsDown: ChevronsDown, + ChevronsDownUp: ChevronsDownUp, + ChevronsLeft: ChevronsLeft, + ChevronsLeftRight: ChevronsLeftRight, + ChevronsLeftRightEllipsis: ChevronsLeftRightEllipsis, + ChevronsRight: ChevronsRight, + ChevronsRightLeft: ChevronsRightLeft, + ChevronsUp: ChevronsUp, + ChevronsUpDown: ChevronsUpDown, + Chrome: Chrome, + Church: Church, + Cigarette: Cigarette, + CigaretteOff: CigaretteOff, + Circle: Circle, + CircleAlert: CircleAlert, + CircleArrowDown: CircleArrowDown, + CircleArrowLeft: CircleArrowLeft, + CircleArrowOutDownLeft: CircleArrowOutDownLeft, + CircleArrowOutDownRight: CircleArrowOutDownRight, + CircleArrowOutUpLeft: CircleArrowOutUpLeft, + CircleArrowOutUpRight: CircleArrowOutUpRight, + CircleArrowRight: CircleArrowRight, + CircleArrowUp: CircleArrowUp, + CircleCheck: CircleCheck, + CircleCheckBig: CircleCheckBig, + CircleChevronDown: CircleChevronDown, + CircleChevronLeft: CircleChevronLeft, + CircleChevronRight: CircleChevronRight, + CircleChevronUp: CircleChevronUp, + CircleDashed: CircleDashed, + CircleDivide: CircleDivide, + CircleDollarSign: CircleDollarSign, + CircleDot: CircleDot, + CircleDotDashed: CircleDotDashed, + CircleEllipsis: CircleEllipsis, + CircleEqual: CircleEqual, + CircleFadingArrowUp: CircleFadingArrowUp, + CircleFadingPlus: CircleFadingPlus, + CircleGauge: CircleGauge, + CircleHelp: CircleHelp, + CircleMinus: CircleMinus, + CircleOff: CircleOff, + CircleParking: CircleParking, + CircleParkingOff: CircleParkingOff, + CirclePause: CirclePause, + CirclePercent: CirclePercent, + CirclePlay: CirclePlay, + CirclePlus: CirclePlus, + CirclePower: CirclePower, + CircleSlash: CircleSlash, + CircleSlash2: CircleSlash2, + CircleSmall: CircleSmall, + CircleStop: CircleStop, + CircleUser: CircleUser, + CircleUserRound: CircleUserRound, + CircleX: CircleX, + CircuitBoard: CircuitBoard, + Citrus: Citrus, + Clapperboard: Clapperboard, + Clipboard: Clipboard, + ClipboardCheck: ClipboardCheck, + ClipboardCopy: ClipboardCopy, + ClipboardList: ClipboardList, + ClipboardMinus: ClipboardMinus, + ClipboardPaste: ClipboardPaste, + ClipboardPen: ClipboardPen, + ClipboardPenLine: ClipboardPenLine, + ClipboardPlus: ClipboardPlus, + ClipboardType: ClipboardType, + ClipboardX: ClipboardX, + Clock: Clock, + Clock1: Clock1, + Clock10: Clock10, + Clock11: Clock11, + Clock12: Clock12, + Clock2: Clock2, + Clock3: Clock3, + Clock4: Clock4, + Clock5: Clock5, + Clock6: Clock6, + Clock7: Clock7, + Clock8: Clock8, + Clock9: Clock9, + ClockAlert: ClockAlert, + ClockArrowDown: ClockArrowDown, + ClockArrowUp: ClockArrowUp, + Cloud: Cloud, + CloudAlert: CloudAlert, + CloudCog: CloudCog, + CloudDownload: CloudDownload, + CloudDrizzle: CloudDrizzle, + CloudFog: CloudFog, + CloudHail: CloudHail, + CloudLightning: CloudLightning, + CloudMoon: CloudMoon, + CloudMoonRain: CloudMoonRain, + CloudOff: CloudOff, + CloudRain: CloudRain, + CloudRainWind: CloudRainWind, + CloudSnow: CloudSnow, + CloudSun: CloudSun, + CloudSunRain: CloudSunRain, + CloudUpload: CloudUpload, + Cloudy: Cloudy, + Clover: Clover, + Club: Club, + Code: Code, + CodeXml: CodeXml, + Codepen: Codepen, + Codesandbox: Codesandbox, + Coffee: Coffee, + Cog: Cog, + Coins: Coins, + Columns2: Columns2, + Columns3: Columns3, + Columns4: Columns4, + Combine: Combine, + Command: Command, + Compass: Compass, + Component: Component, + Computer: Computer, + ConciergeBell: ConciergeBell, + Cone: Cone, + Construction: Construction, + Contact: Contact, + ContactRound: ContactRound, + Container: Container, + Contrast: Contrast, + Cookie: Cookie, + CookingPot: CookingPot, + Copy: Copy, + CopyCheck: CopyCheck, + CopyMinus: CopyMinus, + CopyPlus: CopyPlus, + CopySlash: CopySlash, + CopyX: CopyX, + Copyleft: Copyleft, + Copyright: Copyright, + CornerDownLeft: CornerDownLeft, + CornerDownRight: CornerDownRight, + CornerLeftDown: CornerLeftDown, + CornerLeftUp: CornerLeftUp, + CornerRightDown: CornerRightDown, + CornerRightUp: CornerRightUp, + CornerUpLeft: CornerUpLeft, + CornerUpRight: CornerUpRight, + Cpu: Cpu, + CreativeCommons: CreativeCommons, + CreditCard: CreditCard, + Croissant: Croissant, + Crop: Crop, + Cross: Cross, + Crosshair: Crosshair, + Crown: Crown, + Cuboid: Cuboid, + CupSoda: CupSoda, + Currency: Currency, + Cylinder: Cylinder, + Dam: Dam, + Database: Database, + DatabaseBackup: DatabaseBackup, + DatabaseZap: DatabaseZap, + Delete: Delete, + Dessert: Dessert, + Diameter: Diameter, + Diamond: Diamond, + DiamondMinus: DiamondMinus, + DiamondPercent: DiamondPercent, + DiamondPlus: DiamondPlus, + Dice1: Dice1, + Dice2: Dice2, + Dice3: Dice3, + Dice4: Dice4, + Dice5: Dice5, + Dice6: Dice6, + Dices: Dices, + Diff: Diff, + Disc: Disc, + Disc2: Disc2, + Disc3: Disc3, + DiscAlbum: DiscAlbum, + Divide: Divide, + Dna: Dna, + DnaOff: DnaOff, + Dock: Dock, + Dog: Dog, + DollarSign: DollarSign, + Donut: Donut, + DoorClosed: DoorClosed, + DoorOpen: DoorOpen, + Dot: Dot, + Download: Download, + DraftingCompass: DraftingCompass, + Drama: Drama, + Dribbble: Dribbble, + Drill: Drill, + Droplet: Droplet, + DropletOff: DropletOff, + Droplets: Droplets, + Drum: Drum, + Drumstick: Drumstick, + Dumbbell: Dumbbell, + Ear: Ear, + EarOff: EarOff, + Earth: Earth, + EarthLock: EarthLock, + Eclipse: Eclipse, + Egg: Egg, + EggFried: EggFried, + EggOff: EggOff, + Ellipsis: Ellipsis, + EllipsisVertical: EllipsisVertical, + Equal: Equal, + EqualApproximately: EqualApproximately, + EqualNot: EqualNot, + Eraser: Eraser, + EthernetPort: EthernetPort, + Euro: Euro, + Expand: Expand, + ExternalLink: ExternalLink, + Eye: Eye, + EyeClosed: EyeClosed, + EyeOff: EyeOff, + Facebook: Facebook, + Factory: Factory, + Fan: Fan, + FastForward: FastForward, + Feather: Feather, + Fence: Fence, + FerrisWheel: FerrisWheel, + Figma: Figma, + File: File, + FileArchive: FileArchive, + FileAudio: FileAudio, + FileAudio2: FileAudio2, + FileAxis3d: FileAxis3d, + FileBadge: FileBadge, + FileBadge2: FileBadge2, + FileBox: FileBox, + FileChartColumn: FileChartColumn, + FileChartColumnIncreasing: FileChartColumnIncreasing, + FileChartLine: FileChartLine, + FileChartPie: FileChartPie, + FileCheck: FileCheck, + FileCheck2: FileCheck2, + FileClock: FileClock, + FileCode: FileCode, + FileCode2: FileCode2, + FileCog: FileCog, + FileDiff: FileDiff, + FileDigit: FileDigit, + FileDown: FileDown, + FileHeart: FileHeart, + FileImage: FileImage, + FileInput: FileInput, + FileJson: FileJson, + FileJson2: FileJson2, + FileKey: FileKey, + FileKey2: FileKey2, + FileLock: FileLock, + FileLock2: FileLock2, + FileMinus: FileMinus, + FileMinus2: FileMinus2, + FileMusic: FileMusic, + FileOutput: FileOutput, + FilePen: FilePen, + FilePenLine: FilePenLine, + FilePlus: FilePlus, + FilePlus2: FilePlus2, + FileQuestion: FileQuestion, + FileScan: FileScan, + FileSearch: FileSearch, + FileSearch2: FileSearch2, + FileSliders: FileSliders, + FileSpreadsheet: FileSpreadsheet, + FileStack: FileStack, + FileSymlink: FileSymlink, + FileTerminal: FileTerminal, + FileText: FileText, + FileType: FileType, + FileType2: FileType2, + FileUp: FileUp, + FileUser: FileUser, + FileVideo: FileVideo, + FileVideo2: FileVideo2, + FileVolume: FileVolume, + FileVolume2: FileVolume2, + FileWarning: FileWarning, + FileX: FileX, + FileX2: FileX2, + Files: Files, + Film: Film, + Filter: Filter, + FilterX: FilterX, + Fingerprint: Fingerprint, + FireExtinguisher: FireExtinguisher, + Fish: Fish, + FishOff: FishOff, + FishSymbol: FishSymbol, + Flag: Flag, + FlagOff: FlagOff, + FlagTriangleLeft: FlagTriangleLeft, + FlagTriangleRight: FlagTriangleRight, + Flame: Flame, + FlameKindling: FlameKindling, + Flashlight: Flashlight, + FlashlightOff: FlashlightOff, + FlaskConical: FlaskConical, + FlaskConicalOff: FlaskConicalOff, + FlaskRound: FlaskRound, + FlipHorizontal: FlipHorizontal, + FlipHorizontal2: FlipHorizontal2, + FlipVertical: FlipVertical, + FlipVertical2: FlipVertical2, + Flower: Flower, + Flower2: Flower2, + Focus: Focus, + FoldHorizontal: FoldHorizontal, + FoldVertical: FoldVertical, + Folder: Folder, + FolderArchive: FolderArchive, + FolderCheck: FolderCheck, + FolderClock: FolderClock, + FolderClosed: FolderClosed, + FolderCode: FolderCode, + FolderCog: FolderCog, + FolderDot: FolderDot, + FolderDown: FolderDown, + FolderGit: FolderGit, + FolderGit2: FolderGit2, + FolderHeart: FolderHeart, + FolderInput: FolderInput, + FolderKanban: FolderKanban, + FolderKey: FolderKey, + FolderLock: FolderLock, + FolderMinus: FolderMinus, + FolderOpen: FolderOpen, + FolderOpenDot: FolderOpenDot, + FolderOutput: FolderOutput, + FolderPen: FolderPen, + FolderPlus: FolderPlus, + FolderRoot: FolderRoot, + FolderSearch: FolderSearch, + FolderSearch2: FolderSearch2, + FolderSymlink: FolderSymlink, + FolderSync: FolderSync, + FolderTree: FolderTree, + FolderUp: FolderUp, + FolderX: FolderX, + Folders: Folders, + Footprints: Footprints, + Forklift: Forklift, + Forward: Forward, + Frame: Frame, + Framer: Framer, + Frown: Frown, + Fuel: Fuel, + Fullscreen: Fullscreen, + GalleryHorizontal: GalleryHorizontal, + GalleryHorizontalEnd: GalleryHorizontalEnd, + GalleryThumbnails: GalleryThumbnails, + GalleryVertical: GalleryVertical, + GalleryVerticalEnd: GalleryVerticalEnd, + Gamepad: Gamepad, + Gamepad2: Gamepad2, + Gauge: Gauge, + Gavel: Gavel, + Gem: Gem, + Ghost: Ghost, + Gift: Gift, + GitBranch: GitBranch, + GitBranchPlus: GitBranchPlus, + GitCommitHorizontal: GitCommitHorizontal, + GitCommitVertical: GitCommitVertical, + GitCompare: GitCompare, + GitCompareArrows: GitCompareArrows, + GitFork: GitFork, + GitGraph: GitGraph, + GitMerge: GitMerge, + GitPullRequest: GitPullRequest, + GitPullRequestArrow: GitPullRequestArrow, + GitPullRequestClosed: GitPullRequestClosed, + GitPullRequestCreate: GitPullRequestCreate, + GitPullRequestCreateArrow: GitPullRequestCreateArrow, + GitPullRequestDraft: GitPullRequestDraft, + Github: Github, + Gitlab: Gitlab, + GlassWater: GlassWater, + Glasses: Glasses, + Globe: Globe, + GlobeLock: GlobeLock, + Goal: Goal, + Grab: Grab, + GraduationCap: GraduationCap, + Grape: Grape, + Grid2x2: Grid2x2, + Grid2x2Check: Grid2x2Check, + Grid2x2Plus: Grid2x2Plus, + Grid2x2X: Grid2x2X, + Grid3x3: Grid3x3, + Grip: Grip, + GripHorizontal: GripHorizontal, + GripVertical: GripVertical, + Group: Group, + Guitar: Guitar, + Ham: Ham, + Hammer: Hammer, + Hand: Hand, + HandCoins: HandCoins, + HandHeart: HandHeart, + HandHelping: HandHelping, + HandMetal: HandMetal, + HandPlatter: HandPlatter, + Handshake: Handshake, + HardDrive: HardDrive, + HardDriveDownload: HardDriveDownload, + HardDriveUpload: HardDriveUpload, + HardHat: HardHat, + Hash: Hash, + Haze: Haze, + HdmiPort: HdmiPort, + Heading: Heading, + Heading1: Heading1, + Heading2: Heading2, + Heading3: Heading3, + Heading4: Heading4, + Heading5: Heading5, + Heading6: Heading6, + HeadphoneOff: HeadphoneOff, + Headphones: Headphones, + Headset: Headset, + Heart: Heart, + HeartCrack: HeartCrack, + HeartHandshake: HeartHandshake, + HeartOff: HeartOff, + HeartPulse: HeartPulse, + Heater: Heater, + Hexagon: Hexagon, + Highlighter: Highlighter, + History: History, + Hop: Hop, + HopOff: HopOff, + Hospital: Hospital, + Hotel: Hotel, + Hourglass: Hourglass, + House: House, + HousePlug: HousePlug, + HousePlus: HousePlus, + HouseWifi: HouseWifi, + IceCreamBowl: IceCreamBowl, + IceCreamCone: IceCreamCone, + IdCard: IdCard, + Image: Image, + ImageDown: ImageDown, + ImageMinus: ImageMinus, + ImageOff: ImageOff, + ImagePlay: ImagePlay, + ImagePlus: ImagePlus, + ImageUp: ImageUp, + ImageUpscale: ImageUpscale, + Images: Images, + Import: Import, + Inbox: Inbox, + IndentDecrease: IndentDecrease, + IndentIncrease: IndentIncrease, + IndianRupee: IndianRupee, + Infinity: Infinity, + Info: Info, + InspectionPanel: InspectionPanel, + Instagram: Instagram, + Italic: Italic, + IterationCcw: IterationCcw, + IterationCw: IterationCw, + JapaneseYen: JapaneseYen, + Joystick: Joystick, + Kanban: Kanban, + Key: Key, + KeyRound: KeyRound, + KeySquare: KeySquare, + Keyboard: Keyboard, + KeyboardMusic: KeyboardMusic, + KeyboardOff: KeyboardOff, + Lamp: Lamp, + LampCeiling: LampCeiling, + LampDesk: LampDesk, + LampFloor: LampFloor, + LampWallDown: LampWallDown, + LampWallUp: LampWallUp, + LandPlot: LandPlot, + Landmark: Landmark, + Languages: Languages, + Laptop: Laptop, + LaptopMinimal: LaptopMinimal, + LaptopMinimalCheck: LaptopMinimalCheck, + Lasso: Lasso, + LassoSelect: LassoSelect, + Laugh: Laugh, + Layers: Layers, + Layers2: Layers2, + LayoutDashboard: LayoutDashboard, + LayoutGrid: LayoutGrid, + LayoutList: LayoutList, + LayoutPanelLeft: LayoutPanelLeft, + LayoutPanelTop: LayoutPanelTop, + LayoutTemplate: LayoutTemplate, + Leaf: Leaf, + LeafyGreen: LeafyGreen, + Lectern: Lectern, + LetterText: LetterText, + Library: Library, + LibraryBig: LibraryBig, + LifeBuoy: LifeBuoy, + Ligature: Ligature, + Lightbulb: Lightbulb, + LightbulbOff: LightbulbOff, + Link: Link, + Link2: Link2, + Link2Off: Link2Off, + Linkedin: Linkedin, + List: List, + ListCheck: ListCheck, + ListChecks: ListChecks, + ListCollapse: ListCollapse, + ListEnd: ListEnd, + ListFilter: ListFilter, + ListFilterPlus: ListFilterPlus, + ListMinus: ListMinus, + ListMusic: ListMusic, + ListOrdered: ListOrdered, + ListPlus: ListPlus, + ListRestart: ListRestart, + ListStart: ListStart, + ListTodo: ListTodo, + ListTree: ListTree, + ListVideo: ListVideo, + ListX: ListX, + Loader: Loader, + LoaderCircle: LoaderCircle, + LoaderPinwheel: LoaderPinwheel, + Locate: Locate, + LocateFixed: LocateFixed, + LocateOff: LocateOff, + Lock: Lock, + LockKeyhole: LockKeyhole, + LockKeyholeOpen: LockKeyholeOpen, + LockOpen: LockOpen, + LogIn: LogIn, + LogOut: LogOut, + Logs: Logs, + Lollipop: Lollipop, + Luggage: Luggage, + Magnet: Magnet, + Mail: Mail, + MailCheck: MailCheck, + MailMinus: MailMinus, + MailOpen: MailOpen, + MailPlus: MailPlus, + MailQuestion: MailQuestion, + MailSearch: MailSearch, + MailWarning: MailWarning, + MailX: MailX, + Mailbox: Mailbox, + Mails: Mails, + Map: Map, + MapPin: MapPin, + MapPinCheck: MapPinCheck, + MapPinCheckInside: MapPinCheckInside, + MapPinHouse: MapPinHouse, + MapPinMinus: MapPinMinus, + MapPinMinusInside: MapPinMinusInside, + MapPinOff: MapPinOff, + MapPinPlus: MapPinPlus, + MapPinPlusInside: MapPinPlusInside, + MapPinX: MapPinX, + MapPinXInside: MapPinXInside, + MapPinned: MapPinned, + MapPlus: MapPlus, + Mars: Mars, + MarsStroke: MarsStroke, + Martini: Martini, + Maximize: Maximize, + Maximize2: Maximize2, + Medal: Medal, + Megaphone: Megaphone, + MegaphoneOff: MegaphoneOff, + Meh: Meh, + MemoryStick: MemoryStick, + Menu: Menu, + Merge: Merge, + MessageCircle: MessageCircle, + MessageCircleCode: MessageCircleCode, + MessageCircleDashed: MessageCircleDashed, + MessageCircleHeart: MessageCircleHeart, + MessageCircleMore: MessageCircleMore, + MessageCircleOff: MessageCircleOff, + MessageCirclePlus: MessageCirclePlus, + MessageCircleQuestion: MessageCircleQuestion, + MessageCircleReply: MessageCircleReply, + MessageCircleWarning: MessageCircleWarning, + MessageCircleX: MessageCircleX, + MessageSquare: MessageSquare, + MessageSquareCode: MessageSquareCode, + MessageSquareDashed: MessageSquareDashed, + MessageSquareDiff: MessageSquareDiff, + MessageSquareDot: MessageSquareDot, + MessageSquareHeart: MessageSquareHeart, + MessageSquareLock: MessageSquareLock, + MessageSquareMore: MessageSquareMore, + MessageSquareOff: MessageSquareOff, + MessageSquarePlus: MessageSquarePlus, + MessageSquareQuote: MessageSquareQuote, + MessageSquareReply: MessageSquareReply, + MessageSquareShare: MessageSquareShare, + MessageSquareText: MessageSquareText, + MessageSquareWarning: MessageSquareWarning, + MessageSquareX: MessageSquareX, + MessagesSquare: MessagesSquare, + Mic: Mic, + MicOff: MicOff, + MicVocal: MicVocal, + Microchip: Microchip, + Microscope: Microscope, + Microwave: Microwave, + Milestone: Milestone, + Milk: Milk, + MilkOff: MilkOff, + Minimize: Minimize, + Minimize2: Minimize2, + Minus: Minus, + Monitor: Monitor, + MonitorCheck: MonitorCheck, + MonitorCog: MonitorCog, + MonitorDot: MonitorDot, + MonitorDown: MonitorDown, + MonitorOff: MonitorOff, + MonitorPause: MonitorPause, + MonitorPlay: MonitorPlay, + MonitorSmartphone: MonitorSmartphone, + MonitorSpeaker: MonitorSpeaker, + MonitorStop: MonitorStop, + MonitorUp: MonitorUp, + MonitorX: MonitorX, + Moon: Moon, + MoonStar: MoonStar, + Mountain: Mountain, + MountainSnow: MountainSnow, + Mouse: Mouse, + MouseOff: MouseOff, + MousePointer: MousePointer, + MousePointer2: MousePointer2, + MousePointerBan: MousePointerBan, + MousePointerClick: MousePointerClick, + Move: Move, + Move3d: Move3d, + MoveDiagonal: MoveDiagonal, + MoveDiagonal2: MoveDiagonal2, + MoveDown: MoveDown, + MoveDownLeft: MoveDownLeft, + MoveDownRight: MoveDownRight, + MoveHorizontal: MoveHorizontal, + MoveLeft: MoveLeft, + MoveRight: MoveRight, + MoveUp: MoveUp, + MoveUpLeft: MoveUpLeft, + MoveUpRight: MoveUpRight, + MoveVertical: MoveVertical, + Music: Music, + Music2: Music2, + Music3: Music3, + Music4: Music4, + Navigation: Navigation, + Navigation2: Navigation2, + Navigation2Off: Navigation2Off, + NavigationOff: NavigationOff, + Network: Network, + Newspaper: Newspaper, + Nfc: Nfc, + NonBinary: NonBinary, + Notebook: Notebook, + NotebookPen: NotebookPen, + NotebookTabs: NotebookTabs, + NotebookText: NotebookText, + NotepadText: NotepadText, + NotepadTextDashed: NotepadTextDashed, + Nut: Nut, + NutOff: NutOff, + Octagon: Octagon, + OctagonAlert: OctagonAlert, + OctagonMinus: OctagonMinus, + OctagonPause: OctagonPause, + OctagonX: OctagonX, + Omega: Omega, + Option: Option, + Orbit: Orbit, + Origami: Origami, + Package: Package, + Package2: Package2, + PackageCheck: PackageCheck, + PackageMinus: PackageMinus, + PackageOpen: PackageOpen, + PackagePlus: PackagePlus, + PackageSearch: PackageSearch, + PackageX: PackageX, + PaintBucket: PaintBucket, + PaintRoller: PaintRoller, + Paintbrush: Paintbrush, + PaintbrushVertical: PaintbrushVertical, + Palette: Palette, + PanelBottom: PanelBottom, + PanelBottomClose: PanelBottomClose, + PanelBottomDashed: PanelBottomDashed, + PanelBottomOpen: PanelBottomOpen, + PanelLeft: PanelLeft, + PanelLeftClose: PanelLeftClose, + PanelLeftDashed: PanelLeftDashed, + PanelLeftOpen: PanelLeftOpen, + PanelRight: PanelRight, + PanelRightClose: PanelRightClose, + PanelRightDashed: PanelRightDashed, + PanelRightOpen: PanelRightOpen, + PanelTop: PanelTop, + PanelTopClose: PanelTopClose, + PanelTopDashed: PanelTopDashed, + PanelTopOpen: PanelTopOpen, + PanelsLeftBottom: PanelsLeftBottom, + PanelsRightBottom: PanelsRightBottom, + PanelsTopLeft: PanelsTopLeft, + Paperclip: Paperclip, + Parentheses: Parentheses, + ParkingMeter: ParkingMeter, + PartyPopper: PartyPopper, + Pause: Pause, + PawPrint: PawPrint, + PcCase: PcCase, + Pen: Pen, + PenLine: PenLine, + PenOff: PenOff, + PenTool: PenTool, + Pencil: Pencil, + PencilLine: PencilLine, + PencilOff: PencilOff, + PencilRuler: PencilRuler, + Pentagon: Pentagon, + Percent: Percent, + PersonStanding: PersonStanding, + PhilippinePeso: PhilippinePeso, + Phone: Phone, + PhoneCall: PhoneCall, + PhoneForwarded: PhoneForwarded, + PhoneIncoming: PhoneIncoming, + PhoneMissed: PhoneMissed, + PhoneOff: PhoneOff, + PhoneOutgoing: PhoneOutgoing, + Pi: Pi, + Piano: Piano, + Pickaxe: Pickaxe, + PictureInPicture: PictureInPicture, + PictureInPicture2: PictureInPicture2, + PiggyBank: PiggyBank, + Pilcrow: Pilcrow, + PilcrowLeft: PilcrowLeft, + PilcrowRight: PilcrowRight, + Pill: Pill, + PillBottle: PillBottle, + Pin: Pin, + PinOff: PinOff, + Pipette: Pipette, + Pizza: Pizza, + Plane: Plane, + PlaneLanding: PlaneLanding, + PlaneTakeoff: PlaneTakeoff, + Play: Play, + Plug: Plug, + Plug2: Plug2, + PlugZap: PlugZap, + Plus: Plus, + Pocket: Pocket, + PocketKnife: PocketKnife, + Podcast: Podcast, + Pointer: Pointer, + PointerOff: PointerOff, + Popcorn: Popcorn, + Popsicle: Popsicle, + PoundSterling: PoundSterling, + Power: Power, + PowerOff: PowerOff, + Presentation: Presentation, + Printer: Printer, + PrinterCheck: PrinterCheck, + Projector: Projector, + Proportions: Proportions, + Puzzle: Puzzle, + Pyramid: Pyramid, + QrCode: QrCode, + Quote: Quote, + Rabbit: Rabbit, + Radar: Radar, + Radiation: Radiation, + Radical: Radical, + Radio: Radio, + RadioReceiver: RadioReceiver, + RadioTower: RadioTower, + Radius: Radius, + RailSymbol: RailSymbol, + Rainbow: Rainbow, + Rat: Rat, + Ratio: Ratio, + Receipt: Receipt, + ReceiptCent: ReceiptCent, + ReceiptEuro: ReceiptEuro, + ReceiptIndianRupee: ReceiptIndianRupee, + ReceiptJapaneseYen: ReceiptJapaneseYen, + ReceiptPoundSterling: ReceiptPoundSterling, + ReceiptRussianRuble: ReceiptRussianRuble, + ReceiptSwissFranc: ReceiptSwissFranc, + ReceiptText: ReceiptText, + RectangleEllipsis: RectangleEllipsis, + RectangleHorizontal: RectangleHorizontal, + RectangleVertical: RectangleVertical, + Recycle: Recycle, + Redo: Redo, + Redo2: Redo2, + RedoDot: RedoDot, + RefreshCcw: RefreshCcw, + RefreshCcwDot: RefreshCcwDot, + RefreshCw: RefreshCw, + RefreshCwOff: RefreshCwOff, + Refrigerator: Refrigerator, + Regex: Regex, + RemoveFormatting: RemoveFormatting, + Repeat: Repeat, + Repeat1: Repeat1, + Repeat2: Repeat2, + Replace: Replace, + ReplaceAll: ReplaceAll, + Reply: Reply, + ReplyAll: ReplyAll, + Rewind: Rewind, + Ribbon: Ribbon, + Rocket: Rocket, + RockingChair: RockingChair, + RollerCoaster: RollerCoaster, + Rotate3d: Rotate3d, + RotateCcw: RotateCcw, + RotateCcwSquare: RotateCcwSquare, + RotateCw: RotateCw, + RotateCwSquare: RotateCwSquare, + Route: Route, + RouteOff: RouteOff, + Router: Router, + Rows2: Rows2, + Rows3: Rows3, + Rows4: Rows4, + Rss: Rss, + Ruler: Ruler, + RussianRuble: RussianRuble, + Sailboat: Sailboat, + Salad: Salad, + Sandwich: Sandwich, + Satellite: Satellite, + SatelliteDish: SatelliteDish, + Save: Save, + SaveAll: SaveAll, + SaveOff: SaveOff, + Scale: Scale, + Scale3d: Scale3d, + Scaling: Scaling, + Scan: Scan, + ScanBarcode: ScanBarcode, + ScanEye: ScanEye, + ScanFace: ScanFace, + ScanHeart: ScanHeart, + ScanLine: ScanLine, + ScanQrCode: ScanQrCode, + ScanSearch: ScanSearch, + ScanText: ScanText, + School: School, + Scissors: Scissors, + ScissorsLineDashed: ScissorsLineDashed, + ScreenShare: ScreenShare, + ScreenShareOff: ScreenShareOff, + Scroll: Scroll, + ScrollText: ScrollText, + Search: Search, + SearchCheck: SearchCheck, + SearchCode: SearchCode, + SearchSlash: SearchSlash, + SearchX: SearchX, + Section: Section, + Send: Send, + SendHorizontal: SendHorizontal, + SendToBack: SendToBack, + SeparatorHorizontal: SeparatorHorizontal, + SeparatorVertical: SeparatorVertical, + Server: Server, + ServerCog: ServerCog, + ServerCrash: ServerCrash, + ServerOff: ServerOff, + Settings: Settings, + Settings2: Settings2, + Shapes: Shapes, + Share: Share, + Share2: Share2, + Sheet: Sheet, + Shell: Shell, + Shield: Shield, + ShieldAlert: ShieldAlert, + ShieldBan: ShieldBan, + ShieldCheck: ShieldCheck, + ShieldEllipsis: ShieldEllipsis, + ShieldHalf: ShieldHalf, + ShieldMinus: ShieldMinus, + ShieldOff: ShieldOff, + ShieldPlus: ShieldPlus, + ShieldQuestion: ShieldQuestion, + ShieldX: ShieldX, + Ship: Ship, + ShipWheel: ShipWheel, + Shirt: Shirt, + ShoppingBag: ShoppingBag, + ShoppingBasket: ShoppingBasket, + ShoppingCart: ShoppingCart, + Shovel: Shovel, + ShowerHead: ShowerHead, + Shrink: Shrink, + Shrub: Shrub, + Shuffle: Shuffle, + Sigma: Sigma, + Signal: Signal, + SignalHigh: SignalHigh, + SignalLow: SignalLow, + SignalMedium: SignalMedium, + SignalZero: SignalZero, + Signature: Signature, + Signpost: Signpost, + SignpostBig: SignpostBig, + Siren: Siren, + SkipBack: SkipBack, + SkipForward: SkipForward, + Skull: Skull, + Slack: Slack, + Slash: Slash, + Slice: Slice, + SlidersHorizontal: SlidersHorizontal, + SlidersVertical: SlidersVertical, + Smartphone: Smartphone, + SmartphoneCharging: SmartphoneCharging, + SmartphoneNfc: SmartphoneNfc, + Smile: Smile, + SmilePlus: SmilePlus, + Snail: Snail, + Snowflake: Snowflake, + Sofa: Sofa, + Soup: Soup, + Space: Space, + Spade: Spade, + Sparkle: Sparkle, + Sparkles: Sparkles, + Speaker: Speaker, + Speech: Speech, + SpellCheck: SpellCheck, + SpellCheck2: SpellCheck2, + Spline: Spline, + Split: Split, + SprayCan: SprayCan, + Sprout: Sprout, + Square: Square, + SquareActivity: SquareActivity, + SquareArrowDown: SquareArrowDown, + SquareArrowDownLeft: SquareArrowDownLeft, + SquareArrowDownRight: SquareArrowDownRight, + SquareArrowLeft: SquareArrowLeft, + SquareArrowOutDownLeft: SquareArrowOutDownLeft, + SquareArrowOutDownRight: SquareArrowOutDownRight, + SquareArrowOutUpLeft: SquareArrowOutUpLeft, + SquareArrowOutUpRight: SquareArrowOutUpRight, + SquareArrowRight: SquareArrowRight, + SquareArrowUp: SquareArrowUp, + SquareArrowUpLeft: SquareArrowUpLeft, + SquareArrowUpRight: SquareArrowUpRight, + SquareAsterisk: SquareAsterisk, + SquareBottomDashedScissors: SquareBottomDashedScissors, + SquareChartGantt: SquareChartGantt, + SquareCheck: SquareCheck, + SquareCheckBig: SquareCheckBig, + SquareChevronDown: SquareChevronDown, + SquareChevronLeft: SquareChevronLeft, + SquareChevronRight: SquareChevronRight, + SquareChevronUp: SquareChevronUp, + SquareCode: SquareCode, + SquareDashed: SquareDashed, + SquareDashedBottom: SquareDashedBottom, + SquareDashedBottomCode: SquareDashedBottomCode, + SquareDashedKanban: SquareDashedKanban, + SquareDashedMousePointer: SquareDashedMousePointer, + SquareDivide: SquareDivide, + SquareDot: SquareDot, + SquareEqual: SquareEqual, + SquareFunction: SquareFunction, + SquareKanban: SquareKanban, + SquareLibrary: SquareLibrary, + SquareM: SquareM, + SquareMenu: SquareMenu, + SquareMinus: SquareMinus, + SquareMousePointer: SquareMousePointer, + SquareParking: SquareParking, + SquareParkingOff: SquareParkingOff, + SquarePen: SquarePen, + SquarePercent: SquarePercent, + SquarePi: SquarePi, + SquarePilcrow: SquarePilcrow, + SquarePlay: SquarePlay, + SquarePlus: SquarePlus, + SquarePower: SquarePower, + SquareRadical: SquareRadical, + SquareScissors: SquareScissors, + SquareSigma: SquareSigma, + SquareSlash: SquareSlash, + SquareSplitHorizontal: SquareSplitHorizontal, + SquareSplitVertical: SquareSplitVertical, + SquareSquare: SquareSquare, + SquareStack: SquareStack, + SquareTerminal: SquareTerminal, + SquareUser: SquareUser, + SquareUserRound: SquareUserRound, + SquareX: SquareX, + Squircle: Squircle, + Squirrel: Squirrel, + Stamp: Stamp, + Star: Star, + StarHalf: StarHalf, + StarOff: StarOff, + StepBack: StepBack, + StepForward: StepForward, + Stethoscope: Stethoscope, + Sticker: Sticker, + StickyNote: StickyNote, + Store: Store, + StretchHorizontal: StretchHorizontal, + StretchVertical: StretchVertical, + Strikethrough: Strikethrough, + Subscript: Subscript, + Sun: Sun, + SunDim: SunDim, + SunMedium: SunMedium, + SunMoon: SunMoon, + SunSnow: SunSnow, + Sunrise: Sunrise, + Sunset: Sunset, + Superscript: Superscript, + SwatchBook: SwatchBook, + SwissFranc: SwissFranc, + SwitchCamera: SwitchCamera, + Sword: Sword, + Swords: Swords, + Syringe: Syringe, + Table: Table, + Table2: Table2, + TableCellsMerge: TableCellsMerge, + TableCellsSplit: TableCellsSplit, + TableColumnsSplit: TableColumnsSplit, + TableOfContents: TableOfContents, + TableProperties: TableProperties, + TableRowsSplit: TableRowsSplit, + Tablet: Tablet, + TabletSmartphone: TabletSmartphone, + Tablets: Tablets, + Tag: Tag, + Tags: Tags, + Tally1: Tally1, + Tally2: Tally2, + Tally3: Tally3, + Tally4: Tally4, + Tally5: Tally5, + Tangent: Tangent, + Target: Target, + Telescope: Telescope, + Tent: Tent, + TentTree: TentTree, + Terminal: Terminal, + TestTube: TestTube, + TestTubeDiagonal: TestTubeDiagonal, + TestTubes: TestTubes, + Text: Text, + TextCursor: TextCursor, + TextCursorInput: TextCursorInput, + TextQuote: TextQuote, + TextSearch: TextSearch, + TextSelect: TextSelect, + Theater: Theater, + Thermometer: Thermometer, + ThermometerSnowflake: ThermometerSnowflake, + ThermometerSun: ThermometerSun, + ThumbsDown: ThumbsDown, + ThumbsUp: ThumbsUp, + Ticket: Ticket, + TicketCheck: TicketCheck, + TicketMinus: TicketMinus, + TicketPercent: TicketPercent, + TicketPlus: TicketPlus, + TicketSlash: TicketSlash, + TicketX: TicketX, + Tickets: Tickets, + TicketsPlane: TicketsPlane, + Timer: Timer, + TimerOff: TimerOff, + TimerReset: TimerReset, + ToggleLeft: ToggleLeft, + ToggleRight: ToggleRight, + Toilet: Toilet, + Tornado: Tornado, + Torus: Torus, + Touchpad: Touchpad, + TouchpadOff: TouchpadOff, + TowerControl: TowerControl, + ToyBrick: ToyBrick, + Tractor: Tractor, + TrafficCone: TrafficCone, + TrainFront: TrainFront, + TrainFrontTunnel: TrainFrontTunnel, + TrainTrack: TrainTrack, + TramFront: TramFront, + Transgender: Transgender, + Trash: Trash, + Trash2: Trash2, + TreeDeciduous: TreeDeciduous, + TreePalm: TreePalm, + TreePine: TreePine, + Trees: Trees, + Trello: Trello, + TrendingDown: TrendingDown, + TrendingUp: TrendingUp, + TrendingUpDown: TrendingUpDown, + Triangle: Triangle, + TriangleAlert: TriangleAlert, + TriangleDashed: TriangleDashed, + TriangleRight: TriangleRight, + Trophy: Trophy, + Truck: Truck, + Turtle: Turtle, + Tv: Tv, + TvMinimal: TvMinimal, + TvMinimalPlay: TvMinimalPlay, + Twitch: Twitch, + Twitter: Twitter, + Type: Type, + TypeOutline: TypeOutline, + Umbrella: Umbrella, + UmbrellaOff: UmbrellaOff, + Underline: Underline, + Undo: Undo, + Undo2: Undo2, + UndoDot: UndoDot, + UnfoldHorizontal: UnfoldHorizontal, + UnfoldVertical: UnfoldVertical, + Ungroup: Ungroup, + University: University, + Unlink: Unlink, + Unlink2: Unlink2, + Unplug: Unplug, + Upload: Upload, + Usb: Usb, + User: User, + UserCheck: UserCheck, + UserCog: UserCog, + UserMinus: UserMinus, + UserPen: UserPen, + UserPlus: UserPlus, + UserRound: UserRound, + UserRoundCheck: UserRoundCheck, + UserRoundCog: UserRoundCog, + UserRoundMinus: UserRoundMinus, + UserRoundPen: UserRoundPen, + UserRoundPlus: UserRoundPlus, + UserRoundSearch: UserRoundSearch, + UserRoundX: UserRoundX, + UserSearch: UserSearch, + UserX: UserX, + Users: Users, + UsersRound: UsersRound, + Utensils: Utensils, + UtensilsCrossed: UtensilsCrossed, + UtilityPole: UtilityPole, + Variable: Variable, + Vault: Vault, + Vegan: Vegan, + VenetianMask: VenetianMask, + Venus: Venus, + VenusAndMars: VenusAndMars, + Vibrate: Vibrate, + VibrateOff: VibrateOff, + Video: Video, + VideoOff: VideoOff, + Videotape: Videotape, + View: View, + Voicemail: Voicemail, + Volleyball: Volleyball, + Volume: Volume, + Volume1: Volume1, + Volume2: Volume2, + VolumeOff: VolumeOff, + VolumeX: VolumeX, + Vote: Vote, + Wallet: Wallet, + WalletCards: WalletCards, + WalletMinimal: WalletMinimal, + Wallpaper: Wallpaper, + Wand: Wand, + WandSparkles: WandSparkles, + Warehouse: Warehouse, + WashingMachine: WashingMachine, + Watch: Watch, + Waves: Waves, + WavesLadder: WavesLadder, + Waypoints: Waypoints, + Webcam: Webcam, + Webhook: Webhook, + WebhookOff: WebhookOff, + Weight: Weight, + Wheat: Wheat, + WheatOff: WheatOff, + WholeWord: WholeWord, + Wifi: Wifi, + WifiHigh: WifiHigh, + WifiLow: WifiLow, + WifiOff: WifiOff, + WifiZero: WifiZero, + Wind: Wind, + WindArrowDown: WindArrowDown, + Wine: Wine, + WineOff: WineOff, + Workflow: Workflow, + Worm: Worm, + WrapText: WrapText, + Wrench: Wrench, + X: X, + Youtube: Youtube, + Zap: Zap, + ZapOff: ZapOff, + ZoomIn: ZoomIn, + ZoomOut: ZoomOut +}); + +exports.AArrowDown = AArrowDown; +exports.AArrowDownIcon = AArrowDown; +exports.AArrowUp = AArrowUp; +exports.AArrowUpIcon = AArrowUp; +exports.ALargeSmall = ALargeSmall; +exports.ALargeSmallIcon = ALargeSmall; +exports.Accessibility = Accessibility; +exports.AccessibilityIcon = Accessibility; +exports.Activity = Activity; +exports.ActivityIcon = Activity; +exports.ActivitySquare = SquareActivity; +exports.ActivitySquareIcon = SquareActivity; +exports.AirVent = AirVent; +exports.AirVentIcon = AirVent; +exports.Airplay = Airplay; +exports.AirplayIcon = Airplay; +exports.AlarmCheck = AlarmClockCheck; +exports.AlarmCheckIcon = AlarmClockCheck; +exports.AlarmClock = AlarmClock; +exports.AlarmClockCheck = AlarmClockCheck; +exports.AlarmClockCheckIcon = AlarmClockCheck; +exports.AlarmClockIcon = AlarmClock; +exports.AlarmClockMinus = AlarmClockMinus; +exports.AlarmClockMinusIcon = AlarmClockMinus; +exports.AlarmClockOff = AlarmClockOff; +exports.AlarmClockOffIcon = AlarmClockOff; +exports.AlarmClockPlus = AlarmClockPlus; +exports.AlarmClockPlusIcon = AlarmClockPlus; +exports.AlarmMinus = AlarmClockMinus; +exports.AlarmMinusIcon = AlarmClockMinus; +exports.AlarmPlus = AlarmClockPlus; +exports.AlarmPlusIcon = AlarmClockPlus; +exports.AlarmSmoke = AlarmSmoke; +exports.AlarmSmokeIcon = AlarmSmoke; +exports.Album = Album; +exports.AlbumIcon = Album; +exports.AlertCircle = CircleAlert; +exports.AlertCircleIcon = CircleAlert; +exports.AlertOctagon = OctagonAlert; +exports.AlertOctagonIcon = OctagonAlert; +exports.AlertTriangle = TriangleAlert; +exports.AlertTriangleIcon = TriangleAlert; +exports.AlignCenter = AlignCenter; +exports.AlignCenterHorizontal = AlignCenterHorizontal; +exports.AlignCenterHorizontalIcon = AlignCenterHorizontal; +exports.AlignCenterIcon = AlignCenter; +exports.AlignCenterVertical = AlignCenterVertical; +exports.AlignCenterVerticalIcon = AlignCenterVertical; +exports.AlignEndHorizontal = AlignEndHorizontal; +exports.AlignEndHorizontalIcon = AlignEndHorizontal; +exports.AlignEndVertical = AlignEndVertical; +exports.AlignEndVerticalIcon = AlignEndVertical; +exports.AlignHorizontalDistributeCenter = AlignHorizontalDistributeCenter; +exports.AlignHorizontalDistributeCenterIcon = AlignHorizontalDistributeCenter; +exports.AlignHorizontalDistributeEnd = AlignHorizontalDistributeEnd; +exports.AlignHorizontalDistributeEndIcon = AlignHorizontalDistributeEnd; +exports.AlignHorizontalDistributeStart = AlignHorizontalDistributeStart; +exports.AlignHorizontalDistributeStartIcon = AlignHorizontalDistributeStart; +exports.AlignHorizontalJustifyCenter = AlignHorizontalJustifyCenter; +exports.AlignHorizontalJustifyCenterIcon = AlignHorizontalJustifyCenter; +exports.AlignHorizontalJustifyEnd = AlignHorizontalJustifyEnd; +exports.AlignHorizontalJustifyEndIcon = AlignHorizontalJustifyEnd; +exports.AlignHorizontalJustifyStart = AlignHorizontalJustifyStart; +exports.AlignHorizontalJustifyStartIcon = AlignHorizontalJustifyStart; +exports.AlignHorizontalSpaceAround = AlignHorizontalSpaceAround; +exports.AlignHorizontalSpaceAroundIcon = AlignHorizontalSpaceAround; +exports.AlignHorizontalSpaceBetween = AlignHorizontalSpaceBetween; +exports.AlignHorizontalSpaceBetweenIcon = AlignHorizontalSpaceBetween; +exports.AlignJustify = AlignJustify; +exports.AlignJustifyIcon = AlignJustify; +exports.AlignLeft = AlignLeft; +exports.AlignLeftIcon = AlignLeft; +exports.AlignRight = AlignRight; +exports.AlignRightIcon = AlignRight; +exports.AlignStartHorizontal = AlignStartHorizontal; +exports.AlignStartHorizontalIcon = AlignStartHorizontal; +exports.AlignStartVertical = AlignStartVertical; +exports.AlignStartVerticalIcon = AlignStartVertical; +exports.AlignVerticalDistributeCenter = AlignVerticalDistributeCenter; +exports.AlignVerticalDistributeCenterIcon = AlignVerticalDistributeCenter; +exports.AlignVerticalDistributeEnd = AlignVerticalDistributeEnd; +exports.AlignVerticalDistributeEndIcon = AlignVerticalDistributeEnd; +exports.AlignVerticalDistributeStart = AlignVerticalDistributeStart; +exports.AlignVerticalDistributeStartIcon = AlignVerticalDistributeStart; +exports.AlignVerticalJustifyCenter = AlignVerticalJustifyCenter; +exports.AlignVerticalJustifyCenterIcon = AlignVerticalJustifyCenter; +exports.AlignVerticalJustifyEnd = AlignVerticalJustifyEnd; +exports.AlignVerticalJustifyEndIcon = AlignVerticalJustifyEnd; +exports.AlignVerticalJustifyStart = AlignVerticalJustifyStart; +exports.AlignVerticalJustifyStartIcon = AlignVerticalJustifyStart; +exports.AlignVerticalSpaceAround = AlignVerticalSpaceAround; +exports.AlignVerticalSpaceAroundIcon = AlignVerticalSpaceAround; +exports.AlignVerticalSpaceBetween = AlignVerticalSpaceBetween; +exports.AlignVerticalSpaceBetweenIcon = AlignVerticalSpaceBetween; +exports.Ambulance = Ambulance; +exports.AmbulanceIcon = Ambulance; +exports.Ampersand = Ampersand; +exports.AmpersandIcon = Ampersand; +exports.Ampersands = Ampersands; +exports.AmpersandsIcon = Ampersands; +exports.Amphora = Amphora; +exports.AmphoraIcon = Amphora; +exports.Anchor = Anchor; +exports.AnchorIcon = Anchor; +exports.Angry = Angry; +exports.AngryIcon = Angry; +exports.Annoyed = Annoyed; +exports.AnnoyedIcon = Annoyed; +exports.Antenna = Antenna; +exports.AntennaIcon = Antenna; +exports.Anvil = Anvil; +exports.AnvilIcon = Anvil; +exports.Aperture = Aperture; +exports.ApertureIcon = Aperture; +exports.AppWindow = AppWindow; +exports.AppWindowIcon = AppWindow; +exports.AppWindowMac = AppWindowMac; +exports.AppWindowMacIcon = AppWindowMac; +exports.Apple = Apple; +exports.AppleIcon = Apple; +exports.Archive = Archive; +exports.ArchiveIcon = Archive; +exports.ArchiveRestore = ArchiveRestore; +exports.ArchiveRestoreIcon = ArchiveRestore; +exports.ArchiveX = ArchiveX; +exports.ArchiveXIcon = ArchiveX; +exports.AreaChart = ChartArea; +exports.AreaChartIcon = ChartArea; +exports.Armchair = Armchair; +exports.ArmchairIcon = Armchair; +exports.ArrowBigDown = ArrowBigDown; +exports.ArrowBigDownDash = ArrowBigDownDash; +exports.ArrowBigDownDashIcon = ArrowBigDownDash; +exports.ArrowBigDownIcon = ArrowBigDown; +exports.ArrowBigLeft = ArrowBigLeft; +exports.ArrowBigLeftDash = ArrowBigLeftDash; +exports.ArrowBigLeftDashIcon = ArrowBigLeftDash; +exports.ArrowBigLeftIcon = ArrowBigLeft; +exports.ArrowBigRight = ArrowBigRight; +exports.ArrowBigRightDash = ArrowBigRightDash; +exports.ArrowBigRightDashIcon = ArrowBigRightDash; +exports.ArrowBigRightIcon = ArrowBigRight; +exports.ArrowBigUp = ArrowBigUp; +exports.ArrowBigUpDash = ArrowBigUpDash; +exports.ArrowBigUpDashIcon = ArrowBigUpDash; +exports.ArrowBigUpIcon = ArrowBigUp; +exports.ArrowDown = ArrowDown; +exports.ArrowDown01 = ArrowDown01; +exports.ArrowDown01Icon = ArrowDown01; +exports.ArrowDown10 = ArrowDown10; +exports.ArrowDown10Icon = ArrowDown10; +exports.ArrowDownAZ = ArrowDownAZ; +exports.ArrowDownAZIcon = ArrowDownAZ; +exports.ArrowDownAz = ArrowDownAZ; +exports.ArrowDownAzIcon = ArrowDownAZ; +exports.ArrowDownCircle = CircleArrowDown; +exports.ArrowDownCircleIcon = CircleArrowDown; +exports.ArrowDownFromLine = ArrowDownFromLine; +exports.ArrowDownFromLineIcon = ArrowDownFromLine; +exports.ArrowDownIcon = ArrowDown; +exports.ArrowDownLeft = ArrowDownLeft; +exports.ArrowDownLeftFromCircle = CircleArrowOutDownLeft; +exports.ArrowDownLeftFromCircleIcon = CircleArrowOutDownLeft; +exports.ArrowDownLeftFromSquare = SquareArrowOutDownLeft; +exports.ArrowDownLeftFromSquareIcon = SquareArrowOutDownLeft; +exports.ArrowDownLeftIcon = ArrowDownLeft; +exports.ArrowDownLeftSquare = SquareArrowDownLeft; +exports.ArrowDownLeftSquareIcon = SquareArrowDownLeft; +exports.ArrowDownNarrowWide = ArrowDownNarrowWide; +exports.ArrowDownNarrowWideIcon = ArrowDownNarrowWide; +exports.ArrowDownRight = ArrowDownRight; +exports.ArrowDownRightFromCircle = CircleArrowOutDownRight; +exports.ArrowDownRightFromCircleIcon = CircleArrowOutDownRight; +exports.ArrowDownRightFromSquare = SquareArrowOutDownRight; +exports.ArrowDownRightFromSquareIcon = SquareArrowOutDownRight; +exports.ArrowDownRightIcon = ArrowDownRight; +exports.ArrowDownRightSquare = SquareArrowDownRight; +exports.ArrowDownRightSquareIcon = SquareArrowDownRight; +exports.ArrowDownSquare = SquareArrowDown; +exports.ArrowDownSquareIcon = SquareArrowDown; +exports.ArrowDownToDot = ArrowDownToDot; +exports.ArrowDownToDotIcon = ArrowDownToDot; +exports.ArrowDownToLine = ArrowDownToLine; +exports.ArrowDownToLineIcon = ArrowDownToLine; +exports.ArrowDownUp = ArrowDownUp; +exports.ArrowDownUpIcon = ArrowDownUp; +exports.ArrowDownWideNarrow = ArrowDownWideNarrow; +exports.ArrowDownWideNarrowIcon = ArrowDownWideNarrow; +exports.ArrowDownZA = ArrowDownZA; +exports.ArrowDownZAIcon = ArrowDownZA; +exports.ArrowDownZa = ArrowDownZA; +exports.ArrowDownZaIcon = ArrowDownZA; +exports.ArrowLeft = ArrowLeft; +exports.ArrowLeftCircle = CircleArrowLeft; +exports.ArrowLeftCircleIcon = CircleArrowLeft; +exports.ArrowLeftFromLine = ArrowLeftFromLine; +exports.ArrowLeftFromLineIcon = ArrowLeftFromLine; +exports.ArrowLeftIcon = ArrowLeft; +exports.ArrowLeftRight = ArrowLeftRight; +exports.ArrowLeftRightIcon = ArrowLeftRight; +exports.ArrowLeftSquare = SquareArrowLeft; +exports.ArrowLeftSquareIcon = SquareArrowLeft; +exports.ArrowLeftToLine = ArrowLeftToLine; +exports.ArrowLeftToLineIcon = ArrowLeftToLine; +exports.ArrowRight = ArrowRight; +exports.ArrowRightCircle = CircleArrowRight; +exports.ArrowRightCircleIcon = CircleArrowRight; +exports.ArrowRightFromLine = ArrowRightFromLine; +exports.ArrowRightFromLineIcon = ArrowRightFromLine; +exports.ArrowRightIcon = ArrowRight; +exports.ArrowRightLeft = ArrowRightLeft; +exports.ArrowRightLeftIcon = ArrowRightLeft; +exports.ArrowRightSquare = SquareArrowRight; +exports.ArrowRightSquareIcon = SquareArrowRight; +exports.ArrowRightToLine = ArrowRightToLine; +exports.ArrowRightToLineIcon = ArrowRightToLine; +exports.ArrowUp = ArrowUp; +exports.ArrowUp01 = ArrowUp01; +exports.ArrowUp01Icon = ArrowUp01; +exports.ArrowUp10 = ArrowUp10; +exports.ArrowUp10Icon = ArrowUp10; +exports.ArrowUpAZ = ArrowUpAZ; +exports.ArrowUpAZIcon = ArrowUpAZ; +exports.ArrowUpAz = ArrowUpAZ; +exports.ArrowUpAzIcon = ArrowUpAZ; +exports.ArrowUpCircle = CircleArrowUp; +exports.ArrowUpCircleIcon = CircleArrowUp; +exports.ArrowUpDown = ArrowUpDown; +exports.ArrowUpDownIcon = ArrowUpDown; +exports.ArrowUpFromDot = ArrowUpFromDot; +exports.ArrowUpFromDotIcon = ArrowUpFromDot; +exports.ArrowUpFromLine = ArrowUpFromLine; +exports.ArrowUpFromLineIcon = ArrowUpFromLine; +exports.ArrowUpIcon = ArrowUp; +exports.ArrowUpLeft = ArrowUpLeft; +exports.ArrowUpLeftFromCircle = CircleArrowOutUpLeft; +exports.ArrowUpLeftFromCircleIcon = CircleArrowOutUpLeft; +exports.ArrowUpLeftFromSquare = SquareArrowOutUpLeft; +exports.ArrowUpLeftFromSquareIcon = SquareArrowOutUpLeft; +exports.ArrowUpLeftIcon = ArrowUpLeft; +exports.ArrowUpLeftSquare = SquareArrowUpLeft; +exports.ArrowUpLeftSquareIcon = SquareArrowUpLeft; +exports.ArrowUpNarrowWide = ArrowUpNarrowWide; +exports.ArrowUpNarrowWideIcon = ArrowUpNarrowWide; +exports.ArrowUpRight = ArrowUpRight; +exports.ArrowUpRightFromCircle = CircleArrowOutUpRight; +exports.ArrowUpRightFromCircleIcon = CircleArrowOutUpRight; +exports.ArrowUpRightFromSquare = SquareArrowOutUpRight; +exports.ArrowUpRightFromSquareIcon = SquareArrowOutUpRight; +exports.ArrowUpRightIcon = ArrowUpRight; +exports.ArrowUpRightSquare = SquareArrowUpRight; +exports.ArrowUpRightSquareIcon = SquareArrowUpRight; +exports.ArrowUpSquare = SquareArrowUp; +exports.ArrowUpSquareIcon = SquareArrowUp; +exports.ArrowUpToLine = ArrowUpToLine; +exports.ArrowUpToLineIcon = ArrowUpToLine; +exports.ArrowUpWideNarrow = ArrowUpWideNarrow; +exports.ArrowUpWideNarrowIcon = ArrowUpWideNarrow; +exports.ArrowUpZA = ArrowUpZA; +exports.ArrowUpZAIcon = ArrowUpZA; +exports.ArrowUpZa = ArrowUpZA; +exports.ArrowUpZaIcon = ArrowUpZA; +exports.ArrowsUpFromLine = ArrowsUpFromLine; +exports.ArrowsUpFromLineIcon = ArrowsUpFromLine; +exports.Asterisk = Asterisk; +exports.AsteriskIcon = Asterisk; +exports.AsteriskSquare = SquareAsterisk; +exports.AsteriskSquareIcon = SquareAsterisk; +exports.AtSign = AtSign; +exports.AtSignIcon = AtSign; +exports.Atom = Atom; +exports.AtomIcon = Atom; +exports.AudioLines = AudioLines; +exports.AudioLinesIcon = AudioLines; +exports.AudioWaveform = AudioWaveform; +exports.AudioWaveformIcon = AudioWaveform; +exports.Award = Award; +exports.AwardIcon = Award; +exports.Axe = Axe; +exports.AxeIcon = Axe; +exports.Axis3D = Axis3d; +exports.Axis3DIcon = Axis3d; +exports.Axis3d = Axis3d; +exports.Axis3dIcon = Axis3d; +exports.Baby = Baby; +exports.BabyIcon = Baby; +exports.Backpack = Backpack; +exports.BackpackIcon = Backpack; +exports.Badge = Badge; +exports.BadgeAlert = BadgeAlert; +exports.BadgeAlertIcon = BadgeAlert; +exports.BadgeCent = BadgeCent; +exports.BadgeCentIcon = BadgeCent; +exports.BadgeCheck = BadgeCheck; +exports.BadgeCheckIcon = BadgeCheck; +exports.BadgeDollarSign = BadgeDollarSign; +exports.BadgeDollarSignIcon = BadgeDollarSign; +exports.BadgeEuro = BadgeEuro; +exports.BadgeEuroIcon = BadgeEuro; +exports.BadgeHelp = BadgeHelp; +exports.BadgeHelpIcon = BadgeHelp; +exports.BadgeIcon = Badge; +exports.BadgeIndianRupee = BadgeIndianRupee; +exports.BadgeIndianRupeeIcon = BadgeIndianRupee; +exports.BadgeInfo = BadgeInfo; +exports.BadgeInfoIcon = BadgeInfo; +exports.BadgeJapaneseYen = BadgeJapaneseYen; +exports.BadgeJapaneseYenIcon = BadgeJapaneseYen; +exports.BadgeMinus = BadgeMinus; +exports.BadgeMinusIcon = BadgeMinus; +exports.BadgePercent = BadgePercent; +exports.BadgePercentIcon = BadgePercent; +exports.BadgePlus = BadgePlus; +exports.BadgePlusIcon = BadgePlus; +exports.BadgePoundSterling = BadgePoundSterling; +exports.BadgePoundSterlingIcon = BadgePoundSterling; +exports.BadgeRussianRuble = BadgeRussianRuble; +exports.BadgeRussianRubleIcon = BadgeRussianRuble; +exports.BadgeSwissFranc = BadgeSwissFranc; +exports.BadgeSwissFrancIcon = BadgeSwissFranc; +exports.BadgeX = BadgeX; +exports.BadgeXIcon = BadgeX; +exports.BaggageClaim = BaggageClaim; +exports.BaggageClaimIcon = BaggageClaim; +exports.Ban = Ban; +exports.BanIcon = Ban; +exports.Banana = Banana; +exports.BananaIcon = Banana; +exports.Bandage = Bandage; +exports.BandageIcon = Bandage; +exports.Banknote = Banknote; +exports.BanknoteIcon = Banknote; +exports.BarChart = ChartNoAxesColumnIncreasing; +exports.BarChart2 = ChartNoAxesColumn; +exports.BarChart2Icon = ChartNoAxesColumn; +exports.BarChart3 = ChartColumn; +exports.BarChart3Icon = ChartColumn; +exports.BarChart4 = ChartColumnIncreasing; +exports.BarChart4Icon = ChartColumnIncreasing; +exports.BarChartBig = ChartColumnBig; +exports.BarChartBigIcon = ChartColumnBig; +exports.BarChartHorizontal = ChartBar; +exports.BarChartHorizontalBig = ChartBarBig; +exports.BarChartHorizontalBigIcon = ChartBarBig; +exports.BarChartHorizontalIcon = ChartBar; +exports.BarChartIcon = ChartNoAxesColumnIncreasing; +exports.Barcode = Barcode; +exports.BarcodeIcon = Barcode; +exports.Baseline = Baseline; +exports.BaselineIcon = Baseline; +exports.Bath = Bath; +exports.BathIcon = Bath; +exports.Battery = Battery; +exports.BatteryCharging = BatteryCharging; +exports.BatteryChargingIcon = BatteryCharging; +exports.BatteryFull = BatteryFull; +exports.BatteryFullIcon = BatteryFull; +exports.BatteryIcon = Battery; +exports.BatteryLow = BatteryLow; +exports.BatteryLowIcon = BatteryLow; +exports.BatteryMedium = BatteryMedium; +exports.BatteryMediumIcon = BatteryMedium; +exports.BatteryPlus = BatteryPlus; +exports.BatteryPlusIcon = BatteryPlus; +exports.BatteryWarning = BatteryWarning; +exports.BatteryWarningIcon = BatteryWarning; +exports.Beaker = Beaker; +exports.BeakerIcon = Beaker; +exports.Bean = Bean; +exports.BeanIcon = Bean; +exports.BeanOff = BeanOff; +exports.BeanOffIcon = BeanOff; +exports.Bed = Bed; +exports.BedDouble = BedDouble; +exports.BedDoubleIcon = BedDouble; +exports.BedIcon = Bed; +exports.BedSingle = BedSingle; +exports.BedSingleIcon = BedSingle; +exports.Beef = Beef; +exports.BeefIcon = Beef; +exports.Beer = Beer; +exports.BeerIcon = Beer; +exports.BeerOff = BeerOff; +exports.BeerOffIcon = BeerOff; +exports.Bell = Bell; +exports.BellDot = BellDot; +exports.BellDotIcon = BellDot; +exports.BellElectric = BellElectric; +exports.BellElectricIcon = BellElectric; +exports.BellIcon = Bell; +exports.BellMinus = BellMinus; +exports.BellMinusIcon = BellMinus; +exports.BellOff = BellOff; +exports.BellOffIcon = BellOff; +exports.BellPlus = BellPlus; +exports.BellPlusIcon = BellPlus; +exports.BellRing = BellRing; +exports.BellRingIcon = BellRing; +exports.BetweenHorizonalEnd = BetweenHorizontalEnd; +exports.BetweenHorizonalEndIcon = BetweenHorizontalEnd; +exports.BetweenHorizonalStart = BetweenHorizontalStart; +exports.BetweenHorizonalStartIcon = BetweenHorizontalStart; +exports.BetweenHorizontalEnd = BetweenHorizontalEnd; +exports.BetweenHorizontalEndIcon = BetweenHorizontalEnd; +exports.BetweenHorizontalStart = BetweenHorizontalStart; +exports.BetweenHorizontalStartIcon = BetweenHorizontalStart; +exports.BetweenVerticalEnd = BetweenVerticalEnd; +exports.BetweenVerticalEndIcon = BetweenVerticalEnd; +exports.BetweenVerticalStart = BetweenVerticalStart; +exports.BetweenVerticalStartIcon = BetweenVerticalStart; +exports.BicepsFlexed = BicepsFlexed; +exports.BicepsFlexedIcon = BicepsFlexed; +exports.Bike = Bike; +exports.BikeIcon = Bike; +exports.Binary = Binary; +exports.BinaryIcon = Binary; +exports.Binoculars = Binoculars; +exports.BinocularsIcon = Binoculars; +exports.Biohazard = Biohazard; +exports.BiohazardIcon = Biohazard; +exports.Bird = Bird; +exports.BirdIcon = Bird; +exports.Bitcoin = Bitcoin; +exports.BitcoinIcon = Bitcoin; +exports.Blend = Blend; +exports.BlendIcon = Blend; +exports.Blinds = Blinds; +exports.BlindsIcon = Blinds; +exports.Blocks = Blocks; +exports.BlocksIcon = Blocks; +exports.Bluetooth = Bluetooth; +exports.BluetoothConnected = BluetoothConnected; +exports.BluetoothConnectedIcon = BluetoothConnected; +exports.BluetoothIcon = Bluetooth; +exports.BluetoothOff = BluetoothOff; +exports.BluetoothOffIcon = BluetoothOff; +exports.BluetoothSearching = BluetoothSearching; +exports.BluetoothSearchingIcon = BluetoothSearching; +exports.Bold = Bold; +exports.BoldIcon = Bold; +exports.Bolt = Bolt; +exports.BoltIcon = Bolt; +exports.Bomb = Bomb; +exports.BombIcon = Bomb; +exports.Bone = Bone; +exports.BoneIcon = Bone; +exports.Book = Book; +exports.BookA = BookA; +exports.BookAIcon = BookA; +exports.BookAudio = BookAudio; +exports.BookAudioIcon = BookAudio; +exports.BookCheck = BookCheck; +exports.BookCheckIcon = BookCheck; +exports.BookCopy = BookCopy; +exports.BookCopyIcon = BookCopy; +exports.BookDashed = BookDashed; +exports.BookDashedIcon = BookDashed; +exports.BookDown = BookDown; +exports.BookDownIcon = BookDown; +exports.BookHeadphones = BookHeadphones; +exports.BookHeadphonesIcon = BookHeadphones; +exports.BookHeart = BookHeart; +exports.BookHeartIcon = BookHeart; +exports.BookIcon = Book; +exports.BookImage = BookImage; +exports.BookImageIcon = BookImage; +exports.BookKey = BookKey; +exports.BookKeyIcon = BookKey; +exports.BookLock = BookLock; +exports.BookLockIcon = BookLock; +exports.BookMarked = BookMarked; +exports.BookMarkedIcon = BookMarked; +exports.BookMinus = BookMinus; +exports.BookMinusIcon = BookMinus; +exports.BookOpen = BookOpen; +exports.BookOpenCheck = BookOpenCheck; +exports.BookOpenCheckIcon = BookOpenCheck; +exports.BookOpenIcon = BookOpen; +exports.BookOpenText = BookOpenText; +exports.BookOpenTextIcon = BookOpenText; +exports.BookPlus = BookPlus; +exports.BookPlusIcon = BookPlus; +exports.BookTemplate = BookDashed; +exports.BookTemplateIcon = BookDashed; +exports.BookText = BookText; +exports.BookTextIcon = BookText; +exports.BookType = BookType; +exports.BookTypeIcon = BookType; +exports.BookUp = BookUp; +exports.BookUp2 = BookUp2; +exports.BookUp2Icon = BookUp2; +exports.BookUpIcon = BookUp; +exports.BookUser = BookUser; +exports.BookUserIcon = BookUser; +exports.BookX = BookX; +exports.BookXIcon = BookX; +exports.Bookmark = Bookmark; +exports.BookmarkCheck = BookmarkCheck; +exports.BookmarkCheckIcon = BookmarkCheck; +exports.BookmarkIcon = Bookmark; +exports.BookmarkMinus = BookmarkMinus; +exports.BookmarkMinusIcon = BookmarkMinus; +exports.BookmarkPlus = BookmarkPlus; +exports.BookmarkPlusIcon = BookmarkPlus; +exports.BookmarkX = BookmarkX; +exports.BookmarkXIcon = BookmarkX; +exports.BoomBox = BoomBox; +exports.BoomBoxIcon = BoomBox; +exports.Bot = Bot; +exports.BotIcon = Bot; +exports.BotMessageSquare = BotMessageSquare; +exports.BotMessageSquareIcon = BotMessageSquare; +exports.BotOff = BotOff; +exports.BotOffIcon = BotOff; +exports.Box = Box; +exports.BoxIcon = Box; +exports.BoxSelect = SquareDashed; +exports.BoxSelectIcon = SquareDashed; +exports.Boxes = Boxes; +exports.BoxesIcon = Boxes; +exports.Braces = Braces; +exports.BracesIcon = Braces; +exports.Brackets = Brackets; +exports.BracketsIcon = Brackets; +exports.Brain = Brain; +exports.BrainCircuit = BrainCircuit; +exports.BrainCircuitIcon = BrainCircuit; +exports.BrainCog = BrainCog; +exports.BrainCogIcon = BrainCog; +exports.BrainIcon = Brain; +exports.BrickWall = BrickWall; +exports.BrickWallIcon = BrickWall; +exports.Briefcase = Briefcase; +exports.BriefcaseBusiness = BriefcaseBusiness; +exports.BriefcaseBusinessIcon = BriefcaseBusiness; +exports.BriefcaseConveyorBelt = BriefcaseConveyorBelt; +exports.BriefcaseConveyorBeltIcon = BriefcaseConveyorBelt; +exports.BriefcaseIcon = Briefcase; +exports.BriefcaseMedical = BriefcaseMedical; +exports.BriefcaseMedicalIcon = BriefcaseMedical; +exports.BringToFront = BringToFront; +exports.BringToFrontIcon = BringToFront; +exports.Brush = Brush; +exports.BrushIcon = Brush; +exports.Bug = Bug; +exports.BugIcon = Bug; +exports.BugOff = BugOff; +exports.BugOffIcon = BugOff; +exports.BugPlay = BugPlay; +exports.BugPlayIcon = BugPlay; +exports.Building = Building; +exports.Building2 = Building2; +exports.Building2Icon = Building2; +exports.BuildingIcon = Building; +exports.Bus = Bus; +exports.BusFront = BusFront; +exports.BusFrontIcon = BusFront; +exports.BusIcon = Bus; +exports.Cable = Cable; +exports.CableCar = CableCar; +exports.CableCarIcon = CableCar; +exports.CableIcon = Cable; +exports.Cake = Cake; +exports.CakeIcon = Cake; +exports.CakeSlice = CakeSlice; +exports.CakeSliceIcon = CakeSlice; +exports.Calculator = Calculator; +exports.CalculatorIcon = Calculator; +exports.Calendar = Calendar; +exports.Calendar1 = Calendar1; +exports.Calendar1Icon = Calendar1; +exports.CalendarArrowDown = CalendarArrowDown; +exports.CalendarArrowDownIcon = CalendarArrowDown; +exports.CalendarArrowUp = CalendarArrowUp; +exports.CalendarArrowUpIcon = CalendarArrowUp; +exports.CalendarCheck = CalendarCheck; +exports.CalendarCheck2 = CalendarCheck2; +exports.CalendarCheck2Icon = CalendarCheck2; +exports.CalendarCheckIcon = CalendarCheck; +exports.CalendarClock = CalendarClock; +exports.CalendarClockIcon = CalendarClock; +exports.CalendarCog = CalendarCog; +exports.CalendarCogIcon = CalendarCog; +exports.CalendarDays = CalendarDays; +exports.CalendarDaysIcon = CalendarDays; +exports.CalendarFold = CalendarFold; +exports.CalendarFoldIcon = CalendarFold; +exports.CalendarHeart = CalendarHeart; +exports.CalendarHeartIcon = CalendarHeart; +exports.CalendarIcon = Calendar; +exports.CalendarMinus = CalendarMinus; +exports.CalendarMinus2 = CalendarMinus2; +exports.CalendarMinus2Icon = CalendarMinus2; +exports.CalendarMinusIcon = CalendarMinus; +exports.CalendarOff = CalendarOff; +exports.CalendarOffIcon = CalendarOff; +exports.CalendarPlus = CalendarPlus; +exports.CalendarPlus2 = CalendarPlus2; +exports.CalendarPlus2Icon = CalendarPlus2; +exports.CalendarPlusIcon = CalendarPlus; +exports.CalendarRange = CalendarRange; +exports.CalendarRangeIcon = CalendarRange; +exports.CalendarSearch = CalendarSearch; +exports.CalendarSearchIcon = CalendarSearch; +exports.CalendarSync = CalendarSync; +exports.CalendarSyncIcon = CalendarSync; +exports.CalendarX = CalendarX; +exports.CalendarX2 = CalendarX2; +exports.CalendarX2Icon = CalendarX2; +exports.CalendarXIcon = CalendarX; +exports.Camera = Camera; +exports.CameraIcon = Camera; +exports.CameraOff = CameraOff; +exports.CameraOffIcon = CameraOff; +exports.CandlestickChart = ChartCandlestick; +exports.CandlestickChartIcon = ChartCandlestick; +exports.Candy = Candy; +exports.CandyCane = CandyCane; +exports.CandyCaneIcon = CandyCane; +exports.CandyIcon = Candy; +exports.CandyOff = CandyOff; +exports.CandyOffIcon = CandyOff; +exports.Cannabis = Cannabis; +exports.CannabisIcon = Cannabis; +exports.Captions = Captions; +exports.CaptionsIcon = Captions; +exports.CaptionsOff = CaptionsOff; +exports.CaptionsOffIcon = CaptionsOff; +exports.Car = Car; +exports.CarFront = CarFront; +exports.CarFrontIcon = CarFront; +exports.CarIcon = Car; +exports.CarTaxiFront = CarTaxiFront; +exports.CarTaxiFrontIcon = CarTaxiFront; +exports.Caravan = Caravan; +exports.CaravanIcon = Caravan; +exports.Carrot = Carrot; +exports.CarrotIcon = Carrot; +exports.CaseLower = CaseLower; +exports.CaseLowerIcon = CaseLower; +exports.CaseSensitive = CaseSensitive; +exports.CaseSensitiveIcon = CaseSensitive; +exports.CaseUpper = CaseUpper; +exports.CaseUpperIcon = CaseUpper; +exports.CassetteTape = CassetteTape; +exports.CassetteTapeIcon = CassetteTape; +exports.Cast = Cast; +exports.CastIcon = Cast; +exports.Castle = Castle; +exports.CastleIcon = Castle; +exports.Cat = Cat; +exports.CatIcon = Cat; +exports.Cctv = Cctv; +exports.CctvIcon = Cctv; +exports.ChartArea = ChartArea; +exports.ChartAreaIcon = ChartArea; +exports.ChartBar = ChartBar; +exports.ChartBarBig = ChartBarBig; +exports.ChartBarBigIcon = ChartBarBig; +exports.ChartBarDecreasing = ChartBarDecreasing; +exports.ChartBarDecreasingIcon = ChartBarDecreasing; +exports.ChartBarIcon = ChartBar; +exports.ChartBarIncreasing = ChartBarIncreasing; +exports.ChartBarIncreasingIcon = ChartBarIncreasing; +exports.ChartBarStacked = ChartBarStacked; +exports.ChartBarStackedIcon = ChartBarStacked; +exports.ChartCandlestick = ChartCandlestick; +exports.ChartCandlestickIcon = ChartCandlestick; +exports.ChartColumn = ChartColumn; +exports.ChartColumnBig = ChartColumnBig; +exports.ChartColumnBigIcon = ChartColumnBig; +exports.ChartColumnDecreasing = ChartColumnDecreasing; +exports.ChartColumnDecreasingIcon = ChartColumnDecreasing; +exports.ChartColumnIcon = ChartColumn; +exports.ChartColumnIncreasing = ChartColumnIncreasing; +exports.ChartColumnIncreasingIcon = ChartColumnIncreasing; +exports.ChartColumnStacked = ChartColumnStacked; +exports.ChartColumnStackedIcon = ChartColumnStacked; +exports.ChartGantt = ChartGantt; +exports.ChartGanttIcon = ChartGantt; +exports.ChartLine = ChartLine; +exports.ChartLineIcon = ChartLine; +exports.ChartNetwork = ChartNetwork; +exports.ChartNetworkIcon = ChartNetwork; +exports.ChartNoAxesColumn = ChartNoAxesColumn; +exports.ChartNoAxesColumnDecreasing = ChartNoAxesColumnDecreasing; +exports.ChartNoAxesColumnDecreasingIcon = ChartNoAxesColumnDecreasing; +exports.ChartNoAxesColumnIcon = ChartNoAxesColumn; +exports.ChartNoAxesColumnIncreasing = ChartNoAxesColumnIncreasing; +exports.ChartNoAxesColumnIncreasingIcon = ChartNoAxesColumnIncreasing; +exports.ChartNoAxesCombined = ChartNoAxesCombined; +exports.ChartNoAxesCombinedIcon = ChartNoAxesCombined; +exports.ChartNoAxesGantt = ChartNoAxesGantt; +exports.ChartNoAxesGanttIcon = ChartNoAxesGantt; +exports.ChartPie = ChartPie; +exports.ChartPieIcon = ChartPie; +exports.ChartScatter = ChartScatter; +exports.ChartScatterIcon = ChartScatter; +exports.ChartSpline = ChartSpline; +exports.ChartSplineIcon = ChartSpline; +exports.Check = Check; +exports.CheckCheck = CheckCheck; +exports.CheckCheckIcon = CheckCheck; +exports.CheckCircle = CircleCheckBig; +exports.CheckCircle2 = CircleCheck; +exports.CheckCircle2Icon = CircleCheck; +exports.CheckCircleIcon = CircleCheckBig; +exports.CheckIcon = Check; +exports.CheckSquare = SquareCheckBig; +exports.CheckSquare2 = SquareCheck; +exports.CheckSquare2Icon = SquareCheck; +exports.CheckSquareIcon = SquareCheckBig; +exports.ChefHat = ChefHat; +exports.ChefHatIcon = ChefHat; +exports.Cherry = Cherry; +exports.CherryIcon = Cherry; +exports.ChevronDown = ChevronDown; +exports.ChevronDownCircle = CircleChevronDown; +exports.ChevronDownCircleIcon = CircleChevronDown; +exports.ChevronDownIcon = ChevronDown; +exports.ChevronDownSquare = SquareChevronDown; +exports.ChevronDownSquareIcon = SquareChevronDown; +exports.ChevronFirst = ChevronFirst; +exports.ChevronFirstIcon = ChevronFirst; +exports.ChevronLast = ChevronLast; +exports.ChevronLastIcon = ChevronLast; +exports.ChevronLeft = ChevronLeft; +exports.ChevronLeftCircle = CircleChevronLeft; +exports.ChevronLeftCircleIcon = CircleChevronLeft; +exports.ChevronLeftIcon = ChevronLeft; +exports.ChevronLeftSquare = SquareChevronLeft; +exports.ChevronLeftSquareIcon = SquareChevronLeft; +exports.ChevronRight = ChevronRight; +exports.ChevronRightCircle = CircleChevronRight; +exports.ChevronRightCircleIcon = CircleChevronRight; +exports.ChevronRightIcon = ChevronRight; +exports.ChevronRightSquare = SquareChevronRight; +exports.ChevronRightSquareIcon = SquareChevronRight; +exports.ChevronUp = ChevronUp; +exports.ChevronUpCircle = CircleChevronUp; +exports.ChevronUpCircleIcon = CircleChevronUp; +exports.ChevronUpIcon = ChevronUp; +exports.ChevronUpSquare = SquareChevronUp; +exports.ChevronUpSquareIcon = SquareChevronUp; +exports.ChevronsDown = ChevronsDown; +exports.ChevronsDownIcon = ChevronsDown; +exports.ChevronsDownUp = ChevronsDownUp; +exports.ChevronsDownUpIcon = ChevronsDownUp; +exports.ChevronsLeft = ChevronsLeft; +exports.ChevronsLeftIcon = ChevronsLeft; +exports.ChevronsLeftRight = ChevronsLeftRight; +exports.ChevronsLeftRightEllipsis = ChevronsLeftRightEllipsis; +exports.ChevronsLeftRightEllipsisIcon = ChevronsLeftRightEllipsis; +exports.ChevronsLeftRightIcon = ChevronsLeftRight; +exports.ChevronsRight = ChevronsRight; +exports.ChevronsRightIcon = ChevronsRight; +exports.ChevronsRightLeft = ChevronsRightLeft; +exports.ChevronsRightLeftIcon = ChevronsRightLeft; +exports.ChevronsUp = ChevronsUp; +exports.ChevronsUpDown = ChevronsUpDown; +exports.ChevronsUpDownIcon = ChevronsUpDown; +exports.ChevronsUpIcon = ChevronsUp; +exports.Chrome = Chrome; +exports.ChromeIcon = Chrome; +exports.Church = Church; +exports.ChurchIcon = Church; +exports.Cigarette = Cigarette; +exports.CigaretteIcon = Cigarette; +exports.CigaretteOff = CigaretteOff; +exports.CigaretteOffIcon = CigaretteOff; +exports.Circle = Circle; +exports.CircleAlert = CircleAlert; +exports.CircleAlertIcon = CircleAlert; +exports.CircleArrowDown = CircleArrowDown; +exports.CircleArrowDownIcon = CircleArrowDown; +exports.CircleArrowLeft = CircleArrowLeft; +exports.CircleArrowLeftIcon = CircleArrowLeft; +exports.CircleArrowOutDownLeft = CircleArrowOutDownLeft; +exports.CircleArrowOutDownLeftIcon = CircleArrowOutDownLeft; +exports.CircleArrowOutDownRight = CircleArrowOutDownRight; +exports.CircleArrowOutDownRightIcon = CircleArrowOutDownRight; +exports.CircleArrowOutUpLeft = CircleArrowOutUpLeft; +exports.CircleArrowOutUpLeftIcon = CircleArrowOutUpLeft; +exports.CircleArrowOutUpRight = CircleArrowOutUpRight; +exports.CircleArrowOutUpRightIcon = CircleArrowOutUpRight; +exports.CircleArrowRight = CircleArrowRight; +exports.CircleArrowRightIcon = CircleArrowRight; +exports.CircleArrowUp = CircleArrowUp; +exports.CircleArrowUpIcon = CircleArrowUp; +exports.CircleCheck = CircleCheck; +exports.CircleCheckBig = CircleCheckBig; +exports.CircleCheckBigIcon = CircleCheckBig; +exports.CircleCheckIcon = CircleCheck; +exports.CircleChevronDown = CircleChevronDown; +exports.CircleChevronDownIcon = CircleChevronDown; +exports.CircleChevronLeft = CircleChevronLeft; +exports.CircleChevronLeftIcon = CircleChevronLeft; +exports.CircleChevronRight = CircleChevronRight; +exports.CircleChevronRightIcon = CircleChevronRight; +exports.CircleChevronUp = CircleChevronUp; +exports.CircleChevronUpIcon = CircleChevronUp; +exports.CircleDashed = CircleDashed; +exports.CircleDashedIcon = CircleDashed; +exports.CircleDivide = CircleDivide; +exports.CircleDivideIcon = CircleDivide; +exports.CircleDollarSign = CircleDollarSign; +exports.CircleDollarSignIcon = CircleDollarSign; +exports.CircleDot = CircleDot; +exports.CircleDotDashed = CircleDotDashed; +exports.CircleDotDashedIcon = CircleDotDashed; +exports.CircleDotIcon = CircleDot; +exports.CircleEllipsis = CircleEllipsis; +exports.CircleEllipsisIcon = CircleEllipsis; +exports.CircleEqual = CircleEqual; +exports.CircleEqualIcon = CircleEqual; +exports.CircleFadingArrowUp = CircleFadingArrowUp; +exports.CircleFadingArrowUpIcon = CircleFadingArrowUp; +exports.CircleFadingPlus = CircleFadingPlus; +exports.CircleFadingPlusIcon = CircleFadingPlus; +exports.CircleGauge = CircleGauge; +exports.CircleGaugeIcon = CircleGauge; +exports.CircleHelp = CircleHelp; +exports.CircleHelpIcon = CircleHelp; +exports.CircleIcon = Circle; +exports.CircleMinus = CircleMinus; +exports.CircleMinusIcon = CircleMinus; +exports.CircleOff = CircleOff; +exports.CircleOffIcon = CircleOff; +exports.CircleParking = CircleParking; +exports.CircleParkingIcon = CircleParking; +exports.CircleParkingOff = CircleParkingOff; +exports.CircleParkingOffIcon = CircleParkingOff; +exports.CirclePause = CirclePause; +exports.CirclePauseIcon = CirclePause; +exports.CirclePercent = CirclePercent; +exports.CirclePercentIcon = CirclePercent; +exports.CirclePlay = CirclePlay; +exports.CirclePlayIcon = CirclePlay; +exports.CirclePlus = CirclePlus; +exports.CirclePlusIcon = CirclePlus; +exports.CirclePower = CirclePower; +exports.CirclePowerIcon = CirclePower; +exports.CircleSlash = CircleSlash; +exports.CircleSlash2 = CircleSlash2; +exports.CircleSlash2Icon = CircleSlash2; +exports.CircleSlashIcon = CircleSlash; +exports.CircleSlashed = CircleSlash2; +exports.CircleSlashedIcon = CircleSlash2; +exports.CircleSmall = CircleSmall; +exports.CircleSmallIcon = CircleSmall; +exports.CircleStop = CircleStop; +exports.CircleStopIcon = CircleStop; +exports.CircleUser = CircleUser; +exports.CircleUserIcon = CircleUser; +exports.CircleUserRound = CircleUserRound; +exports.CircleUserRoundIcon = CircleUserRound; +exports.CircleX = CircleX; +exports.CircleXIcon = CircleX; +exports.CircuitBoard = CircuitBoard; +exports.CircuitBoardIcon = CircuitBoard; +exports.Citrus = Citrus; +exports.CitrusIcon = Citrus; +exports.Clapperboard = Clapperboard; +exports.ClapperboardIcon = Clapperboard; +exports.Clipboard = Clipboard; +exports.ClipboardCheck = ClipboardCheck; +exports.ClipboardCheckIcon = ClipboardCheck; +exports.ClipboardCopy = ClipboardCopy; +exports.ClipboardCopyIcon = ClipboardCopy; +exports.ClipboardEdit = ClipboardPen; +exports.ClipboardEditIcon = ClipboardPen; +exports.ClipboardIcon = Clipboard; +exports.ClipboardList = ClipboardList; +exports.ClipboardListIcon = ClipboardList; +exports.ClipboardMinus = ClipboardMinus; +exports.ClipboardMinusIcon = ClipboardMinus; +exports.ClipboardPaste = ClipboardPaste; +exports.ClipboardPasteIcon = ClipboardPaste; +exports.ClipboardPen = ClipboardPen; +exports.ClipboardPenIcon = ClipboardPen; +exports.ClipboardPenLine = ClipboardPenLine; +exports.ClipboardPenLineIcon = ClipboardPenLine; +exports.ClipboardPlus = ClipboardPlus; +exports.ClipboardPlusIcon = ClipboardPlus; +exports.ClipboardSignature = ClipboardPenLine; +exports.ClipboardSignatureIcon = ClipboardPenLine; +exports.ClipboardType = ClipboardType; +exports.ClipboardTypeIcon = ClipboardType; +exports.ClipboardX = ClipboardX; +exports.ClipboardXIcon = ClipboardX; +exports.Clock = Clock; +exports.Clock1 = Clock1; +exports.Clock10 = Clock10; +exports.Clock10Icon = Clock10; +exports.Clock11 = Clock11; +exports.Clock11Icon = Clock11; +exports.Clock12 = Clock12; +exports.Clock12Icon = Clock12; +exports.Clock1Icon = Clock1; +exports.Clock2 = Clock2; +exports.Clock2Icon = Clock2; +exports.Clock3 = Clock3; +exports.Clock3Icon = Clock3; +exports.Clock4 = Clock4; +exports.Clock4Icon = Clock4; +exports.Clock5 = Clock5; +exports.Clock5Icon = Clock5; +exports.Clock6 = Clock6; +exports.Clock6Icon = Clock6; +exports.Clock7 = Clock7; +exports.Clock7Icon = Clock7; +exports.Clock8 = Clock8; +exports.Clock8Icon = Clock8; +exports.Clock9 = Clock9; +exports.Clock9Icon = Clock9; +exports.ClockAlert = ClockAlert; +exports.ClockAlertIcon = ClockAlert; +exports.ClockArrowDown = ClockArrowDown; +exports.ClockArrowDownIcon = ClockArrowDown; +exports.ClockArrowUp = ClockArrowUp; +exports.ClockArrowUpIcon = ClockArrowUp; +exports.ClockIcon = Clock; +exports.Cloud = Cloud; +exports.CloudAlert = CloudAlert; +exports.CloudAlertIcon = CloudAlert; +exports.CloudCog = CloudCog; +exports.CloudCogIcon = CloudCog; +exports.CloudDownload = CloudDownload; +exports.CloudDownloadIcon = CloudDownload; +exports.CloudDrizzle = CloudDrizzle; +exports.CloudDrizzleIcon = CloudDrizzle; +exports.CloudFog = CloudFog; +exports.CloudFogIcon = CloudFog; +exports.CloudHail = CloudHail; +exports.CloudHailIcon = CloudHail; +exports.CloudIcon = Cloud; +exports.CloudLightning = CloudLightning; +exports.CloudLightningIcon = CloudLightning; +exports.CloudMoon = CloudMoon; +exports.CloudMoonIcon = CloudMoon; +exports.CloudMoonRain = CloudMoonRain; +exports.CloudMoonRainIcon = CloudMoonRain; +exports.CloudOff = CloudOff; +exports.CloudOffIcon = CloudOff; +exports.CloudRain = CloudRain; +exports.CloudRainIcon = CloudRain; +exports.CloudRainWind = CloudRainWind; +exports.CloudRainWindIcon = CloudRainWind; +exports.CloudSnow = CloudSnow; +exports.CloudSnowIcon = CloudSnow; +exports.CloudSun = CloudSun; +exports.CloudSunIcon = CloudSun; +exports.CloudSunRain = CloudSunRain; +exports.CloudSunRainIcon = CloudSunRain; +exports.CloudUpload = CloudUpload; +exports.CloudUploadIcon = CloudUpload; +exports.Cloudy = Cloudy; +exports.CloudyIcon = Cloudy; +exports.Clover = Clover; +exports.CloverIcon = Clover; +exports.Club = Club; +exports.ClubIcon = Club; +exports.Code = Code; +exports.Code2 = CodeXml; +exports.Code2Icon = CodeXml; +exports.CodeIcon = Code; +exports.CodeSquare = SquareCode; +exports.CodeSquareIcon = SquareCode; +exports.CodeXml = CodeXml; +exports.CodeXmlIcon = CodeXml; +exports.Codepen = Codepen; +exports.CodepenIcon = Codepen; +exports.Codesandbox = Codesandbox; +exports.CodesandboxIcon = Codesandbox; +exports.Coffee = Coffee; +exports.CoffeeIcon = Coffee; +exports.Cog = Cog; +exports.CogIcon = Cog; +exports.Coins = Coins; +exports.CoinsIcon = Coins; +exports.Columns = Columns2; +exports.Columns2 = Columns2; +exports.Columns2Icon = Columns2; +exports.Columns3 = Columns3; +exports.Columns3Icon = Columns3; +exports.Columns4 = Columns4; +exports.Columns4Icon = Columns4; +exports.ColumnsIcon = Columns2; +exports.Combine = Combine; +exports.CombineIcon = Combine; +exports.Command = Command; +exports.CommandIcon = Command; +exports.Compass = Compass; +exports.CompassIcon = Compass; +exports.Component = Component; +exports.ComponentIcon = Component; +exports.Computer = Computer; +exports.ComputerIcon = Computer; +exports.ConciergeBell = ConciergeBell; +exports.ConciergeBellIcon = ConciergeBell; +exports.Cone = Cone; +exports.ConeIcon = Cone; +exports.Construction = Construction; +exports.ConstructionIcon = Construction; +exports.Contact = Contact; +exports.Contact2 = ContactRound; +exports.Contact2Icon = ContactRound; +exports.ContactIcon = Contact; +exports.ContactRound = ContactRound; +exports.ContactRoundIcon = ContactRound; +exports.Container = Container; +exports.ContainerIcon = Container; +exports.Contrast = Contrast; +exports.ContrastIcon = Contrast; +exports.Cookie = Cookie; +exports.CookieIcon = Cookie; +exports.CookingPot = CookingPot; +exports.CookingPotIcon = CookingPot; +exports.Copy = Copy; +exports.CopyCheck = CopyCheck; +exports.CopyCheckIcon = CopyCheck; +exports.CopyIcon = Copy; +exports.CopyMinus = CopyMinus; +exports.CopyMinusIcon = CopyMinus; +exports.CopyPlus = CopyPlus; +exports.CopyPlusIcon = CopyPlus; +exports.CopySlash = CopySlash; +exports.CopySlashIcon = CopySlash; +exports.CopyX = CopyX; +exports.CopyXIcon = CopyX; +exports.Copyleft = Copyleft; +exports.CopyleftIcon = Copyleft; +exports.Copyright = Copyright; +exports.CopyrightIcon = Copyright; +exports.CornerDownLeft = CornerDownLeft; +exports.CornerDownLeftIcon = CornerDownLeft; +exports.CornerDownRight = CornerDownRight; +exports.CornerDownRightIcon = CornerDownRight; +exports.CornerLeftDown = CornerLeftDown; +exports.CornerLeftDownIcon = CornerLeftDown; +exports.CornerLeftUp = CornerLeftUp; +exports.CornerLeftUpIcon = CornerLeftUp; +exports.CornerRightDown = CornerRightDown; +exports.CornerRightDownIcon = CornerRightDown; +exports.CornerRightUp = CornerRightUp; +exports.CornerRightUpIcon = CornerRightUp; +exports.CornerUpLeft = CornerUpLeft; +exports.CornerUpLeftIcon = CornerUpLeft; +exports.CornerUpRight = CornerUpRight; +exports.CornerUpRightIcon = CornerUpRight; +exports.Cpu = Cpu; +exports.CpuIcon = Cpu; +exports.CreativeCommons = CreativeCommons; +exports.CreativeCommonsIcon = CreativeCommons; +exports.CreditCard = CreditCard; +exports.CreditCardIcon = CreditCard; +exports.Croissant = Croissant; +exports.CroissantIcon = Croissant; +exports.Crop = Crop; +exports.CropIcon = Crop; +exports.Cross = Cross; +exports.CrossIcon = Cross; +exports.Crosshair = Crosshair; +exports.CrosshairIcon = Crosshair; +exports.Crown = Crown; +exports.CrownIcon = Crown; +exports.Cuboid = Cuboid; +exports.CuboidIcon = Cuboid; +exports.CupSoda = CupSoda; +exports.CupSodaIcon = CupSoda; +exports.CurlyBraces = Braces; +exports.CurlyBracesIcon = Braces; +exports.Currency = Currency; +exports.CurrencyIcon = Currency; +exports.Cylinder = Cylinder; +exports.CylinderIcon = Cylinder; +exports.Dam = Dam; +exports.DamIcon = Dam; +exports.Database = Database; +exports.DatabaseBackup = DatabaseBackup; +exports.DatabaseBackupIcon = DatabaseBackup; +exports.DatabaseIcon = Database; +exports.DatabaseZap = DatabaseZap; +exports.DatabaseZapIcon = DatabaseZap; +exports.Delete = Delete; +exports.DeleteIcon = Delete; +exports.Dessert = Dessert; +exports.DessertIcon = Dessert; +exports.Diameter = Diameter; +exports.DiameterIcon = Diameter; +exports.Diamond = Diamond; +exports.DiamondIcon = Diamond; +exports.DiamondMinus = DiamondMinus; +exports.DiamondMinusIcon = DiamondMinus; +exports.DiamondPercent = DiamondPercent; +exports.DiamondPercentIcon = DiamondPercent; +exports.DiamondPlus = DiamondPlus; +exports.DiamondPlusIcon = DiamondPlus; +exports.Dice1 = Dice1; +exports.Dice1Icon = Dice1; +exports.Dice2 = Dice2; +exports.Dice2Icon = Dice2; +exports.Dice3 = Dice3; +exports.Dice3Icon = Dice3; +exports.Dice4 = Dice4; +exports.Dice4Icon = Dice4; +exports.Dice5 = Dice5; +exports.Dice5Icon = Dice5; +exports.Dice6 = Dice6; +exports.Dice6Icon = Dice6; +exports.Dices = Dices; +exports.DicesIcon = Dices; +exports.Diff = Diff; +exports.DiffIcon = Diff; +exports.Disc = Disc; +exports.Disc2 = Disc2; +exports.Disc2Icon = Disc2; +exports.Disc3 = Disc3; +exports.Disc3Icon = Disc3; +exports.DiscAlbum = DiscAlbum; +exports.DiscAlbumIcon = DiscAlbum; +exports.DiscIcon = Disc; +exports.Divide = Divide; +exports.DivideCircle = CircleDivide; +exports.DivideCircleIcon = CircleDivide; +exports.DivideIcon = Divide; +exports.DivideSquare = SquareDivide; +exports.DivideSquareIcon = SquareDivide; +exports.Dna = Dna; +exports.DnaIcon = Dna; +exports.DnaOff = DnaOff; +exports.DnaOffIcon = DnaOff; +exports.Dock = Dock; +exports.DockIcon = Dock; +exports.Dog = Dog; +exports.DogIcon = Dog; +exports.DollarSign = DollarSign; +exports.DollarSignIcon = DollarSign; +exports.Donut = Donut; +exports.DonutIcon = Donut; +exports.DoorClosed = DoorClosed; +exports.DoorClosedIcon = DoorClosed; +exports.DoorOpen = DoorOpen; +exports.DoorOpenIcon = DoorOpen; +exports.Dot = Dot; +exports.DotIcon = Dot; +exports.DotSquare = SquareDot; +exports.DotSquareIcon = SquareDot; +exports.Download = Download; +exports.DownloadCloud = CloudDownload; +exports.DownloadCloudIcon = CloudDownload; +exports.DownloadIcon = Download; +exports.DraftingCompass = DraftingCompass; +exports.DraftingCompassIcon = DraftingCompass; +exports.Drama = Drama; +exports.DramaIcon = Drama; +exports.Dribbble = Dribbble; +exports.DribbbleIcon = Dribbble; +exports.Drill = Drill; +exports.DrillIcon = Drill; +exports.Droplet = Droplet; +exports.DropletIcon = Droplet; +exports.DropletOff = DropletOff; +exports.DropletOffIcon = DropletOff; +exports.Droplets = Droplets; +exports.DropletsIcon = Droplets; +exports.Drum = Drum; +exports.DrumIcon = Drum; +exports.Drumstick = Drumstick; +exports.DrumstickIcon = Drumstick; +exports.Dumbbell = Dumbbell; +exports.DumbbellIcon = Dumbbell; +exports.Ear = Ear; +exports.EarIcon = Ear; +exports.EarOff = EarOff; +exports.EarOffIcon = EarOff; +exports.Earth = Earth; +exports.EarthIcon = Earth; +exports.EarthLock = EarthLock; +exports.EarthLockIcon = EarthLock; +exports.Eclipse = Eclipse; +exports.EclipseIcon = Eclipse; +exports.Edit = SquarePen; +exports.Edit2 = Pen; +exports.Edit2Icon = Pen; +exports.Edit3 = PenLine; +exports.Edit3Icon = PenLine; +exports.EditIcon = SquarePen; +exports.Egg = Egg; +exports.EggFried = EggFried; +exports.EggFriedIcon = EggFried; +exports.EggIcon = Egg; +exports.EggOff = EggOff; +exports.EggOffIcon = EggOff; +exports.Ellipsis = Ellipsis; +exports.EllipsisIcon = Ellipsis; +exports.EllipsisVertical = EllipsisVertical; +exports.EllipsisVerticalIcon = EllipsisVertical; +exports.Equal = Equal; +exports.EqualApproximately = EqualApproximately; +exports.EqualApproximatelyIcon = EqualApproximately; +exports.EqualIcon = Equal; +exports.EqualNot = EqualNot; +exports.EqualNotIcon = EqualNot; +exports.EqualSquare = SquareEqual; +exports.EqualSquareIcon = SquareEqual; +exports.Eraser = Eraser; +exports.EraserIcon = Eraser; +exports.EthernetPort = EthernetPort; +exports.EthernetPortIcon = EthernetPort; +exports.Euro = Euro; +exports.EuroIcon = Euro; +exports.Expand = Expand; +exports.ExpandIcon = Expand; +exports.ExternalLink = ExternalLink; +exports.ExternalLinkIcon = ExternalLink; +exports.Eye = Eye; +exports.EyeClosed = EyeClosed; +exports.EyeClosedIcon = EyeClosed; +exports.EyeIcon = Eye; +exports.EyeOff = EyeOff; +exports.EyeOffIcon = EyeOff; +exports.Facebook = Facebook; +exports.FacebookIcon = Facebook; +exports.Factory = Factory; +exports.FactoryIcon = Factory; +exports.Fan = Fan; +exports.FanIcon = Fan; +exports.FastForward = FastForward; +exports.FastForwardIcon = FastForward; +exports.Feather = Feather; +exports.FeatherIcon = Feather; +exports.Fence = Fence; +exports.FenceIcon = Fence; +exports.FerrisWheel = FerrisWheel; +exports.FerrisWheelIcon = FerrisWheel; +exports.Figma = Figma; +exports.FigmaIcon = Figma; +exports.File = File; +exports.FileArchive = FileArchive; +exports.FileArchiveIcon = FileArchive; +exports.FileAudio = FileAudio; +exports.FileAudio2 = FileAudio2; +exports.FileAudio2Icon = FileAudio2; +exports.FileAudioIcon = FileAudio; +exports.FileAxis3D = FileAxis3d; +exports.FileAxis3DIcon = FileAxis3d; +exports.FileAxis3d = FileAxis3d; +exports.FileAxis3dIcon = FileAxis3d; +exports.FileBadge = FileBadge; +exports.FileBadge2 = FileBadge2; +exports.FileBadge2Icon = FileBadge2; +exports.FileBadgeIcon = FileBadge; +exports.FileBarChart = FileChartColumnIncreasing; +exports.FileBarChart2 = FileChartColumn; +exports.FileBarChart2Icon = FileChartColumn; +exports.FileBarChartIcon = FileChartColumnIncreasing; +exports.FileBox = FileBox; +exports.FileBoxIcon = FileBox; +exports.FileChartColumn = FileChartColumn; +exports.FileChartColumnIcon = FileChartColumn; +exports.FileChartColumnIncreasing = FileChartColumnIncreasing; +exports.FileChartColumnIncreasingIcon = FileChartColumnIncreasing; +exports.FileChartLine = FileChartLine; +exports.FileChartLineIcon = FileChartLine; +exports.FileChartPie = FileChartPie; +exports.FileChartPieIcon = FileChartPie; +exports.FileCheck = FileCheck; +exports.FileCheck2 = FileCheck2; +exports.FileCheck2Icon = FileCheck2; +exports.FileCheckIcon = FileCheck; +exports.FileClock = FileClock; +exports.FileClockIcon = FileClock; +exports.FileCode = FileCode; +exports.FileCode2 = FileCode2; +exports.FileCode2Icon = FileCode2; +exports.FileCodeIcon = FileCode; +exports.FileCog = FileCog; +exports.FileCog2 = FileCog; +exports.FileCog2Icon = FileCog; +exports.FileCogIcon = FileCog; +exports.FileDiff = FileDiff; +exports.FileDiffIcon = FileDiff; +exports.FileDigit = FileDigit; +exports.FileDigitIcon = FileDigit; +exports.FileDown = FileDown; +exports.FileDownIcon = FileDown; +exports.FileEdit = FilePen; +exports.FileEditIcon = FilePen; +exports.FileHeart = FileHeart; +exports.FileHeartIcon = FileHeart; +exports.FileIcon = File; +exports.FileImage = FileImage; +exports.FileImageIcon = FileImage; +exports.FileInput = FileInput; +exports.FileInputIcon = FileInput; +exports.FileJson = FileJson; +exports.FileJson2 = FileJson2; +exports.FileJson2Icon = FileJson2; +exports.FileJsonIcon = FileJson; +exports.FileKey = FileKey; +exports.FileKey2 = FileKey2; +exports.FileKey2Icon = FileKey2; +exports.FileKeyIcon = FileKey; +exports.FileLineChart = FileChartLine; +exports.FileLineChartIcon = FileChartLine; +exports.FileLock = FileLock; +exports.FileLock2 = FileLock2; +exports.FileLock2Icon = FileLock2; +exports.FileLockIcon = FileLock; +exports.FileMinus = FileMinus; +exports.FileMinus2 = FileMinus2; +exports.FileMinus2Icon = FileMinus2; +exports.FileMinusIcon = FileMinus; +exports.FileMusic = FileMusic; +exports.FileMusicIcon = FileMusic; +exports.FileOutput = FileOutput; +exports.FileOutputIcon = FileOutput; +exports.FilePen = FilePen; +exports.FilePenIcon = FilePen; +exports.FilePenLine = FilePenLine; +exports.FilePenLineIcon = FilePenLine; +exports.FilePieChart = FileChartPie; +exports.FilePieChartIcon = FileChartPie; +exports.FilePlus = FilePlus; +exports.FilePlus2 = FilePlus2; +exports.FilePlus2Icon = FilePlus2; +exports.FilePlusIcon = FilePlus; +exports.FileQuestion = FileQuestion; +exports.FileQuestionIcon = FileQuestion; +exports.FileScan = FileScan; +exports.FileScanIcon = FileScan; +exports.FileSearch = FileSearch; +exports.FileSearch2 = FileSearch2; +exports.FileSearch2Icon = FileSearch2; +exports.FileSearchIcon = FileSearch; +exports.FileSignature = FilePenLine; +exports.FileSignatureIcon = FilePenLine; +exports.FileSliders = FileSliders; +exports.FileSlidersIcon = FileSliders; +exports.FileSpreadsheet = FileSpreadsheet; +exports.FileSpreadsheetIcon = FileSpreadsheet; +exports.FileStack = FileStack; +exports.FileStackIcon = FileStack; +exports.FileSymlink = FileSymlink; +exports.FileSymlinkIcon = FileSymlink; +exports.FileTerminal = FileTerminal; +exports.FileTerminalIcon = FileTerminal; +exports.FileText = FileText; +exports.FileTextIcon = FileText; +exports.FileType = FileType; +exports.FileType2 = FileType2; +exports.FileType2Icon = FileType2; +exports.FileTypeIcon = FileType; +exports.FileUp = FileUp; +exports.FileUpIcon = FileUp; +exports.FileUser = FileUser; +exports.FileUserIcon = FileUser; +exports.FileVideo = FileVideo; +exports.FileVideo2 = FileVideo2; +exports.FileVideo2Icon = FileVideo2; +exports.FileVideoIcon = FileVideo; +exports.FileVolume = FileVolume; +exports.FileVolume2 = FileVolume2; +exports.FileVolume2Icon = FileVolume2; +exports.FileVolumeIcon = FileVolume; +exports.FileWarning = FileWarning; +exports.FileWarningIcon = FileWarning; +exports.FileX = FileX; +exports.FileX2 = FileX2; +exports.FileX2Icon = FileX2; +exports.FileXIcon = FileX; +exports.Files = Files; +exports.FilesIcon = Files; +exports.Film = Film; +exports.FilmIcon = Film; +exports.Filter = Filter; +exports.FilterIcon = Filter; +exports.FilterX = FilterX; +exports.FilterXIcon = FilterX; +exports.Fingerprint = Fingerprint; +exports.FingerprintIcon = Fingerprint; +exports.FireExtinguisher = FireExtinguisher; +exports.FireExtinguisherIcon = FireExtinguisher; +exports.Fish = Fish; +exports.FishIcon = Fish; +exports.FishOff = FishOff; +exports.FishOffIcon = FishOff; +exports.FishSymbol = FishSymbol; +exports.FishSymbolIcon = FishSymbol; +exports.Flag = Flag; +exports.FlagIcon = Flag; +exports.FlagOff = FlagOff; +exports.FlagOffIcon = FlagOff; +exports.FlagTriangleLeft = FlagTriangleLeft; +exports.FlagTriangleLeftIcon = FlagTriangleLeft; +exports.FlagTriangleRight = FlagTriangleRight; +exports.FlagTriangleRightIcon = FlagTriangleRight; +exports.Flame = Flame; +exports.FlameIcon = Flame; +exports.FlameKindling = FlameKindling; +exports.FlameKindlingIcon = FlameKindling; +exports.Flashlight = Flashlight; +exports.FlashlightIcon = Flashlight; +exports.FlashlightOff = FlashlightOff; +exports.FlashlightOffIcon = FlashlightOff; +exports.FlaskConical = FlaskConical; +exports.FlaskConicalIcon = FlaskConical; +exports.FlaskConicalOff = FlaskConicalOff; +exports.FlaskConicalOffIcon = FlaskConicalOff; +exports.FlaskRound = FlaskRound; +exports.FlaskRoundIcon = FlaskRound; +exports.FlipHorizontal = FlipHorizontal; +exports.FlipHorizontal2 = FlipHorizontal2; +exports.FlipHorizontal2Icon = FlipHorizontal2; +exports.FlipHorizontalIcon = FlipHorizontal; +exports.FlipVertical = FlipVertical; +exports.FlipVertical2 = FlipVertical2; +exports.FlipVertical2Icon = FlipVertical2; +exports.FlipVerticalIcon = FlipVertical; +exports.Flower = Flower; +exports.Flower2 = Flower2; +exports.Flower2Icon = Flower2; +exports.FlowerIcon = Flower; +exports.Focus = Focus; +exports.FocusIcon = Focus; +exports.FoldHorizontal = FoldHorizontal; +exports.FoldHorizontalIcon = FoldHorizontal; +exports.FoldVertical = FoldVertical; +exports.FoldVerticalIcon = FoldVertical; +exports.Folder = Folder; +exports.FolderArchive = FolderArchive; +exports.FolderArchiveIcon = FolderArchive; +exports.FolderCheck = FolderCheck; +exports.FolderCheckIcon = FolderCheck; +exports.FolderClock = FolderClock; +exports.FolderClockIcon = FolderClock; +exports.FolderClosed = FolderClosed; +exports.FolderClosedIcon = FolderClosed; +exports.FolderCode = FolderCode; +exports.FolderCodeIcon = FolderCode; +exports.FolderCog = FolderCog; +exports.FolderCog2 = FolderCog; +exports.FolderCog2Icon = FolderCog; +exports.FolderCogIcon = FolderCog; +exports.FolderDot = FolderDot; +exports.FolderDotIcon = FolderDot; +exports.FolderDown = FolderDown; +exports.FolderDownIcon = FolderDown; +exports.FolderEdit = FolderPen; +exports.FolderEditIcon = FolderPen; +exports.FolderGit = FolderGit; +exports.FolderGit2 = FolderGit2; +exports.FolderGit2Icon = FolderGit2; +exports.FolderGitIcon = FolderGit; +exports.FolderHeart = FolderHeart; +exports.FolderHeartIcon = FolderHeart; +exports.FolderIcon = Folder; +exports.FolderInput = FolderInput; +exports.FolderInputIcon = FolderInput; +exports.FolderKanban = FolderKanban; +exports.FolderKanbanIcon = FolderKanban; +exports.FolderKey = FolderKey; +exports.FolderKeyIcon = FolderKey; +exports.FolderLock = FolderLock; +exports.FolderLockIcon = FolderLock; +exports.FolderMinus = FolderMinus; +exports.FolderMinusIcon = FolderMinus; +exports.FolderOpen = FolderOpen; +exports.FolderOpenDot = FolderOpenDot; +exports.FolderOpenDotIcon = FolderOpenDot; +exports.FolderOpenIcon = FolderOpen; +exports.FolderOutput = FolderOutput; +exports.FolderOutputIcon = FolderOutput; +exports.FolderPen = FolderPen; +exports.FolderPenIcon = FolderPen; +exports.FolderPlus = FolderPlus; +exports.FolderPlusIcon = FolderPlus; +exports.FolderRoot = FolderRoot; +exports.FolderRootIcon = FolderRoot; +exports.FolderSearch = FolderSearch; +exports.FolderSearch2 = FolderSearch2; +exports.FolderSearch2Icon = FolderSearch2; +exports.FolderSearchIcon = FolderSearch; +exports.FolderSymlink = FolderSymlink; +exports.FolderSymlinkIcon = FolderSymlink; +exports.FolderSync = FolderSync; +exports.FolderSyncIcon = FolderSync; +exports.FolderTree = FolderTree; +exports.FolderTreeIcon = FolderTree; +exports.FolderUp = FolderUp; +exports.FolderUpIcon = FolderUp; +exports.FolderX = FolderX; +exports.FolderXIcon = FolderX; +exports.Folders = Folders; +exports.FoldersIcon = Folders; +exports.Footprints = Footprints; +exports.FootprintsIcon = Footprints; +exports.ForkKnife = Utensils; +exports.ForkKnifeCrossed = UtensilsCrossed; +exports.ForkKnifeCrossedIcon = UtensilsCrossed; +exports.ForkKnifeIcon = Utensils; +exports.Forklift = Forklift; +exports.ForkliftIcon = Forklift; +exports.FormInput = RectangleEllipsis; +exports.FormInputIcon = RectangleEllipsis; +exports.Forward = Forward; +exports.ForwardIcon = Forward; +exports.Frame = Frame; +exports.FrameIcon = Frame; +exports.Framer = Framer; +exports.FramerIcon = Framer; +exports.Frown = Frown; +exports.FrownIcon = Frown; +exports.Fuel = Fuel; +exports.FuelIcon = Fuel; +exports.Fullscreen = Fullscreen; +exports.FullscreenIcon = Fullscreen; +exports.FunctionSquare = SquareFunction; +exports.FunctionSquareIcon = SquareFunction; +exports.GalleryHorizontal = GalleryHorizontal; +exports.GalleryHorizontalEnd = GalleryHorizontalEnd; +exports.GalleryHorizontalEndIcon = GalleryHorizontalEnd; +exports.GalleryHorizontalIcon = GalleryHorizontal; +exports.GalleryThumbnails = GalleryThumbnails; +exports.GalleryThumbnailsIcon = GalleryThumbnails; +exports.GalleryVertical = GalleryVertical; +exports.GalleryVerticalEnd = GalleryVerticalEnd; +exports.GalleryVerticalEndIcon = GalleryVerticalEnd; +exports.GalleryVerticalIcon = GalleryVertical; +exports.Gamepad = Gamepad; +exports.Gamepad2 = Gamepad2; +exports.Gamepad2Icon = Gamepad2; +exports.GamepadIcon = Gamepad; +exports.GanttChart = ChartNoAxesGantt; +exports.GanttChartIcon = ChartNoAxesGantt; +exports.GanttChartSquare = SquareChartGantt; +exports.GanttChartSquareIcon = SquareChartGantt; +exports.Gauge = Gauge; +exports.GaugeCircle = CircleGauge; +exports.GaugeCircleIcon = CircleGauge; +exports.GaugeIcon = Gauge; +exports.Gavel = Gavel; +exports.GavelIcon = Gavel; +exports.Gem = Gem; +exports.GemIcon = Gem; +exports.Ghost = Ghost; +exports.GhostIcon = Ghost; +exports.Gift = Gift; +exports.GiftIcon = Gift; +exports.GitBranch = GitBranch; +exports.GitBranchIcon = GitBranch; +exports.GitBranchPlus = GitBranchPlus; +exports.GitBranchPlusIcon = GitBranchPlus; +exports.GitCommit = GitCommitHorizontal; +exports.GitCommitHorizontal = GitCommitHorizontal; +exports.GitCommitHorizontalIcon = GitCommitHorizontal; +exports.GitCommitIcon = GitCommitHorizontal; +exports.GitCommitVertical = GitCommitVertical; +exports.GitCommitVerticalIcon = GitCommitVertical; +exports.GitCompare = GitCompare; +exports.GitCompareArrows = GitCompareArrows; +exports.GitCompareArrowsIcon = GitCompareArrows; +exports.GitCompareIcon = GitCompare; +exports.GitFork = GitFork; +exports.GitForkIcon = GitFork; +exports.GitGraph = GitGraph; +exports.GitGraphIcon = GitGraph; +exports.GitMerge = GitMerge; +exports.GitMergeIcon = GitMerge; +exports.GitPullRequest = GitPullRequest; +exports.GitPullRequestArrow = GitPullRequestArrow; +exports.GitPullRequestArrowIcon = GitPullRequestArrow; +exports.GitPullRequestClosed = GitPullRequestClosed; +exports.GitPullRequestClosedIcon = GitPullRequestClosed; +exports.GitPullRequestCreate = GitPullRequestCreate; +exports.GitPullRequestCreateArrow = GitPullRequestCreateArrow; +exports.GitPullRequestCreateArrowIcon = GitPullRequestCreateArrow; +exports.GitPullRequestCreateIcon = GitPullRequestCreate; +exports.GitPullRequestDraft = GitPullRequestDraft; +exports.GitPullRequestDraftIcon = GitPullRequestDraft; +exports.GitPullRequestIcon = GitPullRequest; +exports.Github = Github; +exports.GithubIcon = Github; +exports.Gitlab = Gitlab; +exports.GitlabIcon = Gitlab; +exports.GlassWater = GlassWater; +exports.GlassWaterIcon = GlassWater; +exports.Glasses = Glasses; +exports.GlassesIcon = Glasses; +exports.Globe = Globe; +exports.Globe2 = Earth; +exports.Globe2Icon = Earth; +exports.GlobeIcon = Globe; +exports.GlobeLock = GlobeLock; +exports.GlobeLockIcon = GlobeLock; +exports.Goal = Goal; +exports.GoalIcon = Goal; +exports.Grab = Grab; +exports.GrabIcon = Grab; +exports.GraduationCap = GraduationCap; +exports.GraduationCapIcon = GraduationCap; +exports.Grape = Grape; +exports.GrapeIcon = Grape; +exports.Grid = Grid3x3; +exports.Grid2X2 = Grid2x2; +exports.Grid2X2Check = Grid2x2Check; +exports.Grid2X2CheckIcon = Grid2x2Check; +exports.Grid2X2Icon = Grid2x2; +exports.Grid2X2Plus = Grid2x2Plus; +exports.Grid2X2PlusIcon = Grid2x2Plus; +exports.Grid2X2X = Grid2x2X; +exports.Grid2X2XIcon = Grid2x2X; +exports.Grid2x2 = Grid2x2; +exports.Grid2x2Check = Grid2x2Check; +exports.Grid2x2CheckIcon = Grid2x2Check; +exports.Grid2x2Icon = Grid2x2; +exports.Grid2x2Plus = Grid2x2Plus; +exports.Grid2x2PlusIcon = Grid2x2Plus; +exports.Grid2x2X = Grid2x2X; +exports.Grid2x2XIcon = Grid2x2X; +exports.Grid3X3 = Grid3x3; +exports.Grid3X3Icon = Grid3x3; +exports.Grid3x3 = Grid3x3; +exports.Grid3x3Icon = Grid3x3; +exports.GridIcon = Grid3x3; +exports.Grip = Grip; +exports.GripHorizontal = GripHorizontal; +exports.GripHorizontalIcon = GripHorizontal; +exports.GripIcon = Grip; +exports.GripVertical = GripVertical; +exports.GripVerticalIcon = GripVertical; +exports.Group = Group; +exports.GroupIcon = Group; +exports.Guitar = Guitar; +exports.GuitarIcon = Guitar; +exports.Ham = Ham; +exports.HamIcon = Ham; +exports.Hammer = Hammer; +exports.HammerIcon = Hammer; +exports.Hand = Hand; +exports.HandCoins = HandCoins; +exports.HandCoinsIcon = HandCoins; +exports.HandHeart = HandHeart; +exports.HandHeartIcon = HandHeart; +exports.HandHelping = HandHelping; +exports.HandHelpingIcon = HandHelping; +exports.HandIcon = Hand; +exports.HandMetal = HandMetal; +exports.HandMetalIcon = HandMetal; +exports.HandPlatter = HandPlatter; +exports.HandPlatterIcon = HandPlatter; +exports.Handshake = Handshake; +exports.HandshakeIcon = Handshake; +exports.HardDrive = HardDrive; +exports.HardDriveDownload = HardDriveDownload; +exports.HardDriveDownloadIcon = HardDriveDownload; +exports.HardDriveIcon = HardDrive; +exports.HardDriveUpload = HardDriveUpload; +exports.HardDriveUploadIcon = HardDriveUpload; +exports.HardHat = HardHat; +exports.HardHatIcon = HardHat; +exports.Hash = Hash; +exports.HashIcon = Hash; +exports.Haze = Haze; +exports.HazeIcon = Haze; +exports.HdmiPort = HdmiPort; +exports.HdmiPortIcon = HdmiPort; +exports.Heading = Heading; +exports.Heading1 = Heading1; +exports.Heading1Icon = Heading1; +exports.Heading2 = Heading2; +exports.Heading2Icon = Heading2; +exports.Heading3 = Heading3; +exports.Heading3Icon = Heading3; +exports.Heading4 = Heading4; +exports.Heading4Icon = Heading4; +exports.Heading5 = Heading5; +exports.Heading5Icon = Heading5; +exports.Heading6 = Heading6; +exports.Heading6Icon = Heading6; +exports.HeadingIcon = Heading; +exports.HeadphoneOff = HeadphoneOff; +exports.HeadphoneOffIcon = HeadphoneOff; +exports.Headphones = Headphones; +exports.HeadphonesIcon = Headphones; +exports.Headset = Headset; +exports.HeadsetIcon = Headset; +exports.Heart = Heart; +exports.HeartCrack = HeartCrack; +exports.HeartCrackIcon = HeartCrack; +exports.HeartHandshake = HeartHandshake; +exports.HeartHandshakeIcon = HeartHandshake; +exports.HeartIcon = Heart; +exports.HeartOff = HeartOff; +exports.HeartOffIcon = HeartOff; +exports.HeartPulse = HeartPulse; +exports.HeartPulseIcon = HeartPulse; +exports.Heater = Heater; +exports.HeaterIcon = Heater; +exports.HelpCircle = CircleHelp; +exports.HelpCircleIcon = CircleHelp; +exports.HelpingHand = HandHelping; +exports.HelpingHandIcon = HandHelping; +exports.Hexagon = Hexagon; +exports.HexagonIcon = Hexagon; +exports.Highlighter = Highlighter; +exports.HighlighterIcon = Highlighter; +exports.History = History; +exports.HistoryIcon = History; +exports.Home = House; +exports.HomeIcon = House; +exports.Hop = Hop; +exports.HopIcon = Hop; +exports.HopOff = HopOff; +exports.HopOffIcon = HopOff; +exports.Hospital = Hospital; +exports.HospitalIcon = Hospital; +exports.Hotel = Hotel; +exports.HotelIcon = Hotel; +exports.Hourglass = Hourglass; +exports.HourglassIcon = Hourglass; +exports.House = House; +exports.HouseIcon = House; +exports.HousePlug = HousePlug; +exports.HousePlugIcon = HousePlug; +exports.HousePlus = HousePlus; +exports.HousePlusIcon = HousePlus; +exports.HouseWifi = HouseWifi; +exports.HouseWifiIcon = HouseWifi; +exports.IceCream = IceCreamCone; +exports.IceCream2 = IceCreamBowl; +exports.IceCream2Icon = IceCreamBowl; +exports.IceCreamBowl = IceCreamBowl; +exports.IceCreamBowlIcon = IceCreamBowl; +exports.IceCreamCone = IceCreamCone; +exports.IceCreamConeIcon = IceCreamCone; +exports.IceCreamIcon = IceCreamCone; +exports.Icon = Icon; +exports.IdCard = IdCard; +exports.IdCardIcon = IdCard; +exports.Image = Image; +exports.ImageDown = ImageDown; +exports.ImageDownIcon = ImageDown; +exports.ImageIcon = Image; +exports.ImageMinus = ImageMinus; +exports.ImageMinusIcon = ImageMinus; +exports.ImageOff = ImageOff; +exports.ImageOffIcon = ImageOff; +exports.ImagePlay = ImagePlay; +exports.ImagePlayIcon = ImagePlay; +exports.ImagePlus = ImagePlus; +exports.ImagePlusIcon = ImagePlus; +exports.ImageUp = ImageUp; +exports.ImageUpIcon = ImageUp; +exports.ImageUpscale = ImageUpscale; +exports.ImageUpscaleIcon = ImageUpscale; +exports.Images = Images; +exports.ImagesIcon = Images; +exports.Import = Import; +exports.ImportIcon = Import; +exports.Inbox = Inbox; +exports.InboxIcon = Inbox; +exports.Indent = IndentIncrease; +exports.IndentDecrease = IndentDecrease; +exports.IndentDecreaseIcon = IndentDecrease; +exports.IndentIcon = IndentIncrease; +exports.IndentIncrease = IndentIncrease; +exports.IndentIncreaseIcon = IndentIncrease; +exports.IndianRupee = IndianRupee; +exports.IndianRupeeIcon = IndianRupee; +exports.Infinity = Infinity; +exports.InfinityIcon = Infinity; +exports.Info = Info; +exports.InfoIcon = Info; +exports.Inspect = SquareMousePointer; +exports.InspectIcon = SquareMousePointer; +exports.InspectionPanel = InspectionPanel; +exports.InspectionPanelIcon = InspectionPanel; +exports.Instagram = Instagram; +exports.InstagramIcon = Instagram; +exports.Italic = Italic; +exports.ItalicIcon = Italic; +exports.IterationCcw = IterationCcw; +exports.IterationCcwIcon = IterationCcw; +exports.IterationCw = IterationCw; +exports.IterationCwIcon = IterationCw; +exports.JapaneseYen = JapaneseYen; +exports.JapaneseYenIcon = JapaneseYen; +exports.Joystick = Joystick; +exports.JoystickIcon = Joystick; +exports.Kanban = Kanban; +exports.KanbanIcon = Kanban; +exports.KanbanSquare = SquareKanban; +exports.KanbanSquareDashed = SquareDashedKanban; +exports.KanbanSquareDashedIcon = SquareDashedKanban; +exports.KanbanSquareIcon = SquareKanban; +exports.Key = Key; +exports.KeyIcon = Key; +exports.KeyRound = KeyRound; +exports.KeyRoundIcon = KeyRound; +exports.KeySquare = KeySquare; +exports.KeySquareIcon = KeySquare; +exports.Keyboard = Keyboard; +exports.KeyboardIcon = Keyboard; +exports.KeyboardMusic = KeyboardMusic; +exports.KeyboardMusicIcon = KeyboardMusic; +exports.KeyboardOff = KeyboardOff; +exports.KeyboardOffIcon = KeyboardOff; +exports.Lamp = Lamp; +exports.LampCeiling = LampCeiling; +exports.LampCeilingIcon = LampCeiling; +exports.LampDesk = LampDesk; +exports.LampDeskIcon = LampDesk; +exports.LampFloor = LampFloor; +exports.LampFloorIcon = LampFloor; +exports.LampIcon = Lamp; +exports.LampWallDown = LampWallDown; +exports.LampWallDownIcon = LampWallDown; +exports.LampWallUp = LampWallUp; +exports.LampWallUpIcon = LampWallUp; +exports.LandPlot = LandPlot; +exports.LandPlotIcon = LandPlot; +exports.Landmark = Landmark; +exports.LandmarkIcon = Landmark; +exports.Languages = Languages; +exports.LanguagesIcon = Languages; +exports.Laptop = Laptop; +exports.Laptop2 = LaptopMinimal; +exports.Laptop2Icon = LaptopMinimal; +exports.LaptopIcon = Laptop; +exports.LaptopMinimal = LaptopMinimal; +exports.LaptopMinimalCheck = LaptopMinimalCheck; +exports.LaptopMinimalCheckIcon = LaptopMinimalCheck; +exports.LaptopMinimalIcon = LaptopMinimal; +exports.Lasso = Lasso; +exports.LassoIcon = Lasso; +exports.LassoSelect = LassoSelect; +exports.LassoSelectIcon = LassoSelect; +exports.Laugh = Laugh; +exports.LaughIcon = Laugh; +exports.Layers = Layers; +exports.Layers2 = Layers2; +exports.Layers2Icon = Layers2; +exports.Layers3 = Layers; +exports.Layers3Icon = Layers; +exports.LayersIcon = Layers; +exports.Layout = PanelsTopLeft; +exports.LayoutDashboard = LayoutDashboard; +exports.LayoutDashboardIcon = LayoutDashboard; +exports.LayoutGrid = LayoutGrid; +exports.LayoutGridIcon = LayoutGrid; +exports.LayoutIcon = PanelsTopLeft; +exports.LayoutList = LayoutList; +exports.LayoutListIcon = LayoutList; +exports.LayoutPanelLeft = LayoutPanelLeft; +exports.LayoutPanelLeftIcon = LayoutPanelLeft; +exports.LayoutPanelTop = LayoutPanelTop; +exports.LayoutPanelTopIcon = LayoutPanelTop; +exports.LayoutTemplate = LayoutTemplate; +exports.LayoutTemplateIcon = LayoutTemplate; +exports.Leaf = Leaf; +exports.LeafIcon = Leaf; +exports.LeafyGreen = LeafyGreen; +exports.LeafyGreenIcon = LeafyGreen; +exports.Lectern = Lectern; +exports.LecternIcon = Lectern; +exports.LetterText = LetterText; +exports.LetterTextIcon = LetterText; +exports.Library = Library; +exports.LibraryBig = LibraryBig; +exports.LibraryBigIcon = LibraryBig; +exports.LibraryIcon = Library; +exports.LibrarySquare = SquareLibrary; +exports.LibrarySquareIcon = SquareLibrary; +exports.LifeBuoy = LifeBuoy; +exports.LifeBuoyIcon = LifeBuoy; +exports.Ligature = Ligature; +exports.LigatureIcon = Ligature; +exports.Lightbulb = Lightbulb; +exports.LightbulbIcon = Lightbulb; +exports.LightbulbOff = LightbulbOff; +exports.LightbulbOffIcon = LightbulbOff; +exports.LineChart = ChartLine; +exports.LineChartIcon = ChartLine; +exports.Link = Link; +exports.Link2 = Link2; +exports.Link2Icon = Link2; +exports.Link2Off = Link2Off; +exports.Link2OffIcon = Link2Off; +exports.LinkIcon = Link; +exports.Linkedin = Linkedin; +exports.LinkedinIcon = Linkedin; +exports.List = List; +exports.ListCheck = ListCheck; +exports.ListCheckIcon = ListCheck; +exports.ListChecks = ListChecks; +exports.ListChecksIcon = ListChecks; +exports.ListCollapse = ListCollapse; +exports.ListCollapseIcon = ListCollapse; +exports.ListEnd = ListEnd; +exports.ListEndIcon = ListEnd; +exports.ListFilter = ListFilter; +exports.ListFilterIcon = ListFilter; +exports.ListFilterPlus = ListFilterPlus; +exports.ListFilterPlusIcon = ListFilterPlus; +exports.ListIcon = List; +exports.ListMinus = ListMinus; +exports.ListMinusIcon = ListMinus; +exports.ListMusic = ListMusic; +exports.ListMusicIcon = ListMusic; +exports.ListOrdered = ListOrdered; +exports.ListOrderedIcon = ListOrdered; +exports.ListPlus = ListPlus; +exports.ListPlusIcon = ListPlus; +exports.ListRestart = ListRestart; +exports.ListRestartIcon = ListRestart; +exports.ListStart = ListStart; +exports.ListStartIcon = ListStart; +exports.ListTodo = ListTodo; +exports.ListTodoIcon = ListTodo; +exports.ListTree = ListTree; +exports.ListTreeIcon = ListTree; +exports.ListVideo = ListVideo; +exports.ListVideoIcon = ListVideo; +exports.ListX = ListX; +exports.ListXIcon = ListX; +exports.Loader = Loader; +exports.Loader2 = LoaderCircle; +exports.Loader2Icon = LoaderCircle; +exports.LoaderCircle = LoaderCircle; +exports.LoaderCircleIcon = LoaderCircle; +exports.LoaderIcon = Loader; +exports.LoaderPinwheel = LoaderPinwheel; +exports.LoaderPinwheelIcon = LoaderPinwheel; +exports.Locate = Locate; +exports.LocateFixed = LocateFixed; +exports.LocateFixedIcon = LocateFixed; +exports.LocateIcon = Locate; +exports.LocateOff = LocateOff; +exports.LocateOffIcon = LocateOff; +exports.Lock = Lock; +exports.LockIcon = Lock; +exports.LockKeyhole = LockKeyhole; +exports.LockKeyholeIcon = LockKeyhole; +exports.LockKeyholeOpen = LockKeyholeOpen; +exports.LockKeyholeOpenIcon = LockKeyholeOpen; +exports.LockOpen = LockOpen; +exports.LockOpenIcon = LockOpen; +exports.LogIn = LogIn; +exports.LogInIcon = LogIn; +exports.LogOut = LogOut; +exports.LogOutIcon = LogOut; +exports.Logs = Logs; +exports.LogsIcon = Logs; +exports.Lollipop = Lollipop; +exports.LollipopIcon = Lollipop; +exports.LucideAArrowDown = AArrowDown; +exports.LucideAArrowUp = AArrowUp; +exports.LucideALargeSmall = ALargeSmall; +exports.LucideAccessibility = Accessibility; +exports.LucideActivity = Activity; +exports.LucideActivitySquare = SquareActivity; +exports.LucideAirVent = AirVent; +exports.LucideAirplay = Airplay; +exports.LucideAlarmCheck = AlarmClockCheck; +exports.LucideAlarmClock = AlarmClock; +exports.LucideAlarmClockCheck = AlarmClockCheck; +exports.LucideAlarmClockMinus = AlarmClockMinus; +exports.LucideAlarmClockOff = AlarmClockOff; +exports.LucideAlarmClockPlus = AlarmClockPlus; +exports.LucideAlarmMinus = AlarmClockMinus; +exports.LucideAlarmPlus = AlarmClockPlus; +exports.LucideAlarmSmoke = AlarmSmoke; +exports.LucideAlbum = Album; +exports.LucideAlertCircle = CircleAlert; +exports.LucideAlertOctagon = OctagonAlert; +exports.LucideAlertTriangle = TriangleAlert; +exports.LucideAlignCenter = AlignCenter; +exports.LucideAlignCenterHorizontal = AlignCenterHorizontal; +exports.LucideAlignCenterVertical = AlignCenterVertical; +exports.LucideAlignEndHorizontal = AlignEndHorizontal; +exports.LucideAlignEndVertical = AlignEndVertical; +exports.LucideAlignHorizontalDistributeCenter = AlignHorizontalDistributeCenter; +exports.LucideAlignHorizontalDistributeEnd = AlignHorizontalDistributeEnd; +exports.LucideAlignHorizontalDistributeStart = AlignHorizontalDistributeStart; +exports.LucideAlignHorizontalJustifyCenter = AlignHorizontalJustifyCenter; +exports.LucideAlignHorizontalJustifyEnd = AlignHorizontalJustifyEnd; +exports.LucideAlignHorizontalJustifyStart = AlignHorizontalJustifyStart; +exports.LucideAlignHorizontalSpaceAround = AlignHorizontalSpaceAround; +exports.LucideAlignHorizontalSpaceBetween = AlignHorizontalSpaceBetween; +exports.LucideAlignJustify = AlignJustify; +exports.LucideAlignLeft = AlignLeft; +exports.LucideAlignRight = AlignRight; +exports.LucideAlignStartHorizontal = AlignStartHorizontal; +exports.LucideAlignStartVertical = AlignStartVertical; +exports.LucideAlignVerticalDistributeCenter = AlignVerticalDistributeCenter; +exports.LucideAlignVerticalDistributeEnd = AlignVerticalDistributeEnd; +exports.LucideAlignVerticalDistributeStart = AlignVerticalDistributeStart; +exports.LucideAlignVerticalJustifyCenter = AlignVerticalJustifyCenter; +exports.LucideAlignVerticalJustifyEnd = AlignVerticalJustifyEnd; +exports.LucideAlignVerticalJustifyStart = AlignVerticalJustifyStart; +exports.LucideAlignVerticalSpaceAround = AlignVerticalSpaceAround; +exports.LucideAlignVerticalSpaceBetween = AlignVerticalSpaceBetween; +exports.LucideAmbulance = Ambulance; +exports.LucideAmpersand = Ampersand; +exports.LucideAmpersands = Ampersands; +exports.LucideAmphora = Amphora; +exports.LucideAnchor = Anchor; +exports.LucideAngry = Angry; +exports.LucideAnnoyed = Annoyed; +exports.LucideAntenna = Antenna; +exports.LucideAnvil = Anvil; +exports.LucideAperture = Aperture; +exports.LucideAppWindow = AppWindow; +exports.LucideAppWindowMac = AppWindowMac; +exports.LucideApple = Apple; +exports.LucideArchive = Archive; +exports.LucideArchiveRestore = ArchiveRestore; +exports.LucideArchiveX = ArchiveX; +exports.LucideAreaChart = ChartArea; +exports.LucideArmchair = Armchair; +exports.LucideArrowBigDown = ArrowBigDown; +exports.LucideArrowBigDownDash = ArrowBigDownDash; +exports.LucideArrowBigLeft = ArrowBigLeft; +exports.LucideArrowBigLeftDash = ArrowBigLeftDash; +exports.LucideArrowBigRight = ArrowBigRight; +exports.LucideArrowBigRightDash = ArrowBigRightDash; +exports.LucideArrowBigUp = ArrowBigUp; +exports.LucideArrowBigUpDash = ArrowBigUpDash; +exports.LucideArrowDown = ArrowDown; +exports.LucideArrowDown01 = ArrowDown01; +exports.LucideArrowDown10 = ArrowDown10; +exports.LucideArrowDownAZ = ArrowDownAZ; +exports.LucideArrowDownAz = ArrowDownAZ; +exports.LucideArrowDownCircle = CircleArrowDown; +exports.LucideArrowDownFromLine = ArrowDownFromLine; +exports.LucideArrowDownLeft = ArrowDownLeft; +exports.LucideArrowDownLeftFromCircle = CircleArrowOutDownLeft; +exports.LucideArrowDownLeftFromSquare = SquareArrowOutDownLeft; +exports.LucideArrowDownLeftSquare = SquareArrowDownLeft; +exports.LucideArrowDownNarrowWide = ArrowDownNarrowWide; +exports.LucideArrowDownRight = ArrowDownRight; +exports.LucideArrowDownRightFromCircle = CircleArrowOutDownRight; +exports.LucideArrowDownRightFromSquare = SquareArrowOutDownRight; +exports.LucideArrowDownRightSquare = SquareArrowDownRight; +exports.LucideArrowDownSquare = SquareArrowDown; +exports.LucideArrowDownToDot = ArrowDownToDot; +exports.LucideArrowDownToLine = ArrowDownToLine; +exports.LucideArrowDownUp = ArrowDownUp; +exports.LucideArrowDownWideNarrow = ArrowDownWideNarrow; +exports.LucideArrowDownZA = ArrowDownZA; +exports.LucideArrowDownZa = ArrowDownZA; +exports.LucideArrowLeft = ArrowLeft; +exports.LucideArrowLeftCircle = CircleArrowLeft; +exports.LucideArrowLeftFromLine = ArrowLeftFromLine; +exports.LucideArrowLeftRight = ArrowLeftRight; +exports.LucideArrowLeftSquare = SquareArrowLeft; +exports.LucideArrowLeftToLine = ArrowLeftToLine; +exports.LucideArrowRight = ArrowRight; +exports.LucideArrowRightCircle = CircleArrowRight; +exports.LucideArrowRightFromLine = ArrowRightFromLine; +exports.LucideArrowRightLeft = ArrowRightLeft; +exports.LucideArrowRightSquare = SquareArrowRight; +exports.LucideArrowRightToLine = ArrowRightToLine; +exports.LucideArrowUp = ArrowUp; +exports.LucideArrowUp01 = ArrowUp01; +exports.LucideArrowUp10 = ArrowUp10; +exports.LucideArrowUpAZ = ArrowUpAZ; +exports.LucideArrowUpAz = ArrowUpAZ; +exports.LucideArrowUpCircle = CircleArrowUp; +exports.LucideArrowUpDown = ArrowUpDown; +exports.LucideArrowUpFromDot = ArrowUpFromDot; +exports.LucideArrowUpFromLine = ArrowUpFromLine; +exports.LucideArrowUpLeft = ArrowUpLeft; +exports.LucideArrowUpLeftFromCircle = CircleArrowOutUpLeft; +exports.LucideArrowUpLeftFromSquare = SquareArrowOutUpLeft; +exports.LucideArrowUpLeftSquare = SquareArrowUpLeft; +exports.LucideArrowUpNarrowWide = ArrowUpNarrowWide; +exports.LucideArrowUpRight = ArrowUpRight; +exports.LucideArrowUpRightFromCircle = CircleArrowOutUpRight; +exports.LucideArrowUpRightFromSquare = SquareArrowOutUpRight; +exports.LucideArrowUpRightSquare = SquareArrowUpRight; +exports.LucideArrowUpSquare = SquareArrowUp; +exports.LucideArrowUpToLine = ArrowUpToLine; +exports.LucideArrowUpWideNarrow = ArrowUpWideNarrow; +exports.LucideArrowUpZA = ArrowUpZA; +exports.LucideArrowUpZa = ArrowUpZA; +exports.LucideArrowsUpFromLine = ArrowsUpFromLine; +exports.LucideAsterisk = Asterisk; +exports.LucideAsteriskSquare = SquareAsterisk; +exports.LucideAtSign = AtSign; +exports.LucideAtom = Atom; +exports.LucideAudioLines = AudioLines; +exports.LucideAudioWaveform = AudioWaveform; +exports.LucideAward = Award; +exports.LucideAxe = Axe; +exports.LucideAxis3D = Axis3d; +exports.LucideAxis3d = Axis3d; +exports.LucideBaby = Baby; +exports.LucideBackpack = Backpack; +exports.LucideBadge = Badge; +exports.LucideBadgeAlert = BadgeAlert; +exports.LucideBadgeCent = BadgeCent; +exports.LucideBadgeCheck = BadgeCheck; +exports.LucideBadgeDollarSign = BadgeDollarSign; +exports.LucideBadgeEuro = BadgeEuro; +exports.LucideBadgeHelp = BadgeHelp; +exports.LucideBadgeIndianRupee = BadgeIndianRupee; +exports.LucideBadgeInfo = BadgeInfo; +exports.LucideBadgeJapaneseYen = BadgeJapaneseYen; +exports.LucideBadgeMinus = BadgeMinus; +exports.LucideBadgePercent = BadgePercent; +exports.LucideBadgePlus = BadgePlus; +exports.LucideBadgePoundSterling = BadgePoundSterling; +exports.LucideBadgeRussianRuble = BadgeRussianRuble; +exports.LucideBadgeSwissFranc = BadgeSwissFranc; +exports.LucideBadgeX = BadgeX; +exports.LucideBaggageClaim = BaggageClaim; +exports.LucideBan = Ban; +exports.LucideBanana = Banana; +exports.LucideBandage = Bandage; +exports.LucideBanknote = Banknote; +exports.LucideBarChart = ChartNoAxesColumnIncreasing; +exports.LucideBarChart2 = ChartNoAxesColumn; +exports.LucideBarChart3 = ChartColumn; +exports.LucideBarChart4 = ChartColumnIncreasing; +exports.LucideBarChartBig = ChartColumnBig; +exports.LucideBarChartHorizontal = ChartBar; +exports.LucideBarChartHorizontalBig = ChartBarBig; +exports.LucideBarcode = Barcode; +exports.LucideBaseline = Baseline; +exports.LucideBath = Bath; +exports.LucideBattery = Battery; +exports.LucideBatteryCharging = BatteryCharging; +exports.LucideBatteryFull = BatteryFull; +exports.LucideBatteryLow = BatteryLow; +exports.LucideBatteryMedium = BatteryMedium; +exports.LucideBatteryPlus = BatteryPlus; +exports.LucideBatteryWarning = BatteryWarning; +exports.LucideBeaker = Beaker; +exports.LucideBean = Bean; +exports.LucideBeanOff = BeanOff; +exports.LucideBed = Bed; +exports.LucideBedDouble = BedDouble; +exports.LucideBedSingle = BedSingle; +exports.LucideBeef = Beef; +exports.LucideBeer = Beer; +exports.LucideBeerOff = BeerOff; +exports.LucideBell = Bell; +exports.LucideBellDot = BellDot; +exports.LucideBellElectric = BellElectric; +exports.LucideBellMinus = BellMinus; +exports.LucideBellOff = BellOff; +exports.LucideBellPlus = BellPlus; +exports.LucideBellRing = BellRing; +exports.LucideBetweenHorizonalEnd = BetweenHorizontalEnd; +exports.LucideBetweenHorizonalStart = BetweenHorizontalStart; +exports.LucideBetweenHorizontalEnd = BetweenHorizontalEnd; +exports.LucideBetweenHorizontalStart = BetweenHorizontalStart; +exports.LucideBetweenVerticalEnd = BetweenVerticalEnd; +exports.LucideBetweenVerticalStart = BetweenVerticalStart; +exports.LucideBicepsFlexed = BicepsFlexed; +exports.LucideBike = Bike; +exports.LucideBinary = Binary; +exports.LucideBinoculars = Binoculars; +exports.LucideBiohazard = Biohazard; +exports.LucideBird = Bird; +exports.LucideBitcoin = Bitcoin; +exports.LucideBlend = Blend; +exports.LucideBlinds = Blinds; +exports.LucideBlocks = Blocks; +exports.LucideBluetooth = Bluetooth; +exports.LucideBluetoothConnected = BluetoothConnected; +exports.LucideBluetoothOff = BluetoothOff; +exports.LucideBluetoothSearching = BluetoothSearching; +exports.LucideBold = Bold; +exports.LucideBolt = Bolt; +exports.LucideBomb = Bomb; +exports.LucideBone = Bone; +exports.LucideBook = Book; +exports.LucideBookA = BookA; +exports.LucideBookAudio = BookAudio; +exports.LucideBookCheck = BookCheck; +exports.LucideBookCopy = BookCopy; +exports.LucideBookDashed = BookDashed; +exports.LucideBookDown = BookDown; +exports.LucideBookHeadphones = BookHeadphones; +exports.LucideBookHeart = BookHeart; +exports.LucideBookImage = BookImage; +exports.LucideBookKey = BookKey; +exports.LucideBookLock = BookLock; +exports.LucideBookMarked = BookMarked; +exports.LucideBookMinus = BookMinus; +exports.LucideBookOpen = BookOpen; +exports.LucideBookOpenCheck = BookOpenCheck; +exports.LucideBookOpenText = BookOpenText; +exports.LucideBookPlus = BookPlus; +exports.LucideBookTemplate = BookDashed; +exports.LucideBookText = BookText; +exports.LucideBookType = BookType; +exports.LucideBookUp = BookUp; +exports.LucideBookUp2 = BookUp2; +exports.LucideBookUser = BookUser; +exports.LucideBookX = BookX; +exports.LucideBookmark = Bookmark; +exports.LucideBookmarkCheck = BookmarkCheck; +exports.LucideBookmarkMinus = BookmarkMinus; +exports.LucideBookmarkPlus = BookmarkPlus; +exports.LucideBookmarkX = BookmarkX; +exports.LucideBoomBox = BoomBox; +exports.LucideBot = Bot; +exports.LucideBotMessageSquare = BotMessageSquare; +exports.LucideBotOff = BotOff; +exports.LucideBox = Box; +exports.LucideBoxSelect = SquareDashed; +exports.LucideBoxes = Boxes; +exports.LucideBraces = Braces; +exports.LucideBrackets = Brackets; +exports.LucideBrain = Brain; +exports.LucideBrainCircuit = BrainCircuit; +exports.LucideBrainCog = BrainCog; +exports.LucideBrickWall = BrickWall; +exports.LucideBriefcase = Briefcase; +exports.LucideBriefcaseBusiness = BriefcaseBusiness; +exports.LucideBriefcaseConveyorBelt = BriefcaseConveyorBelt; +exports.LucideBriefcaseMedical = BriefcaseMedical; +exports.LucideBringToFront = BringToFront; +exports.LucideBrush = Brush; +exports.LucideBug = Bug; +exports.LucideBugOff = BugOff; +exports.LucideBugPlay = BugPlay; +exports.LucideBuilding = Building; +exports.LucideBuilding2 = Building2; +exports.LucideBus = Bus; +exports.LucideBusFront = BusFront; +exports.LucideCable = Cable; +exports.LucideCableCar = CableCar; +exports.LucideCake = Cake; +exports.LucideCakeSlice = CakeSlice; +exports.LucideCalculator = Calculator; +exports.LucideCalendar = Calendar; +exports.LucideCalendar1 = Calendar1; +exports.LucideCalendarArrowDown = CalendarArrowDown; +exports.LucideCalendarArrowUp = CalendarArrowUp; +exports.LucideCalendarCheck = CalendarCheck; +exports.LucideCalendarCheck2 = CalendarCheck2; +exports.LucideCalendarClock = CalendarClock; +exports.LucideCalendarCog = CalendarCog; +exports.LucideCalendarDays = CalendarDays; +exports.LucideCalendarFold = CalendarFold; +exports.LucideCalendarHeart = CalendarHeart; +exports.LucideCalendarMinus = CalendarMinus; +exports.LucideCalendarMinus2 = CalendarMinus2; +exports.LucideCalendarOff = CalendarOff; +exports.LucideCalendarPlus = CalendarPlus; +exports.LucideCalendarPlus2 = CalendarPlus2; +exports.LucideCalendarRange = CalendarRange; +exports.LucideCalendarSearch = CalendarSearch; +exports.LucideCalendarSync = CalendarSync; +exports.LucideCalendarX = CalendarX; +exports.LucideCalendarX2 = CalendarX2; +exports.LucideCamera = Camera; +exports.LucideCameraOff = CameraOff; +exports.LucideCandlestickChart = ChartCandlestick; +exports.LucideCandy = Candy; +exports.LucideCandyCane = CandyCane; +exports.LucideCandyOff = CandyOff; +exports.LucideCannabis = Cannabis; +exports.LucideCaptions = Captions; +exports.LucideCaptionsOff = CaptionsOff; +exports.LucideCar = Car; +exports.LucideCarFront = CarFront; +exports.LucideCarTaxiFront = CarTaxiFront; +exports.LucideCaravan = Caravan; +exports.LucideCarrot = Carrot; +exports.LucideCaseLower = CaseLower; +exports.LucideCaseSensitive = CaseSensitive; +exports.LucideCaseUpper = CaseUpper; +exports.LucideCassetteTape = CassetteTape; +exports.LucideCast = Cast; +exports.LucideCastle = Castle; +exports.LucideCat = Cat; +exports.LucideCctv = Cctv; +exports.LucideChartArea = ChartArea; +exports.LucideChartBar = ChartBar; +exports.LucideChartBarBig = ChartBarBig; +exports.LucideChartBarDecreasing = ChartBarDecreasing; +exports.LucideChartBarIncreasing = ChartBarIncreasing; +exports.LucideChartBarStacked = ChartBarStacked; +exports.LucideChartCandlestick = ChartCandlestick; +exports.LucideChartColumn = ChartColumn; +exports.LucideChartColumnBig = ChartColumnBig; +exports.LucideChartColumnDecreasing = ChartColumnDecreasing; +exports.LucideChartColumnIncreasing = ChartColumnIncreasing; +exports.LucideChartColumnStacked = ChartColumnStacked; +exports.LucideChartGantt = ChartGantt; +exports.LucideChartLine = ChartLine; +exports.LucideChartNetwork = ChartNetwork; +exports.LucideChartNoAxesColumn = ChartNoAxesColumn; +exports.LucideChartNoAxesColumnDecreasing = ChartNoAxesColumnDecreasing; +exports.LucideChartNoAxesColumnIncreasing = ChartNoAxesColumnIncreasing; +exports.LucideChartNoAxesCombined = ChartNoAxesCombined; +exports.LucideChartNoAxesGantt = ChartNoAxesGantt; +exports.LucideChartPie = ChartPie; +exports.LucideChartScatter = ChartScatter; +exports.LucideChartSpline = ChartSpline; +exports.LucideCheck = Check; +exports.LucideCheckCheck = CheckCheck; +exports.LucideCheckCircle = CircleCheckBig; +exports.LucideCheckCircle2 = CircleCheck; +exports.LucideCheckSquare = SquareCheckBig; +exports.LucideCheckSquare2 = SquareCheck; +exports.LucideChefHat = ChefHat; +exports.LucideCherry = Cherry; +exports.LucideChevronDown = ChevronDown; +exports.LucideChevronDownCircle = CircleChevronDown; +exports.LucideChevronDownSquare = SquareChevronDown; +exports.LucideChevronFirst = ChevronFirst; +exports.LucideChevronLast = ChevronLast; +exports.LucideChevronLeft = ChevronLeft; +exports.LucideChevronLeftCircle = CircleChevronLeft; +exports.LucideChevronLeftSquare = SquareChevronLeft; +exports.LucideChevronRight = ChevronRight; +exports.LucideChevronRightCircle = CircleChevronRight; +exports.LucideChevronRightSquare = SquareChevronRight; +exports.LucideChevronUp = ChevronUp; +exports.LucideChevronUpCircle = CircleChevronUp; +exports.LucideChevronUpSquare = SquareChevronUp; +exports.LucideChevronsDown = ChevronsDown; +exports.LucideChevronsDownUp = ChevronsDownUp; +exports.LucideChevronsLeft = ChevronsLeft; +exports.LucideChevronsLeftRight = ChevronsLeftRight; +exports.LucideChevronsLeftRightEllipsis = ChevronsLeftRightEllipsis; +exports.LucideChevronsRight = ChevronsRight; +exports.LucideChevronsRightLeft = ChevronsRightLeft; +exports.LucideChevronsUp = ChevronsUp; +exports.LucideChevronsUpDown = ChevronsUpDown; +exports.LucideChrome = Chrome; +exports.LucideChurch = Church; +exports.LucideCigarette = Cigarette; +exports.LucideCigaretteOff = CigaretteOff; +exports.LucideCircle = Circle; +exports.LucideCircleAlert = CircleAlert; +exports.LucideCircleArrowDown = CircleArrowDown; +exports.LucideCircleArrowLeft = CircleArrowLeft; +exports.LucideCircleArrowOutDownLeft = CircleArrowOutDownLeft; +exports.LucideCircleArrowOutDownRight = CircleArrowOutDownRight; +exports.LucideCircleArrowOutUpLeft = CircleArrowOutUpLeft; +exports.LucideCircleArrowOutUpRight = CircleArrowOutUpRight; +exports.LucideCircleArrowRight = CircleArrowRight; +exports.LucideCircleArrowUp = CircleArrowUp; +exports.LucideCircleCheck = CircleCheck; +exports.LucideCircleCheckBig = CircleCheckBig; +exports.LucideCircleChevronDown = CircleChevronDown; +exports.LucideCircleChevronLeft = CircleChevronLeft; +exports.LucideCircleChevronRight = CircleChevronRight; +exports.LucideCircleChevronUp = CircleChevronUp; +exports.LucideCircleDashed = CircleDashed; +exports.LucideCircleDivide = CircleDivide; +exports.LucideCircleDollarSign = CircleDollarSign; +exports.LucideCircleDot = CircleDot; +exports.LucideCircleDotDashed = CircleDotDashed; +exports.LucideCircleEllipsis = CircleEllipsis; +exports.LucideCircleEqual = CircleEqual; +exports.LucideCircleFadingArrowUp = CircleFadingArrowUp; +exports.LucideCircleFadingPlus = CircleFadingPlus; +exports.LucideCircleGauge = CircleGauge; +exports.LucideCircleHelp = CircleHelp; +exports.LucideCircleMinus = CircleMinus; +exports.LucideCircleOff = CircleOff; +exports.LucideCircleParking = CircleParking; +exports.LucideCircleParkingOff = CircleParkingOff; +exports.LucideCirclePause = CirclePause; +exports.LucideCirclePercent = CirclePercent; +exports.LucideCirclePlay = CirclePlay; +exports.LucideCirclePlus = CirclePlus; +exports.LucideCirclePower = CirclePower; +exports.LucideCircleSlash = CircleSlash; +exports.LucideCircleSlash2 = CircleSlash2; +exports.LucideCircleSlashed = CircleSlash2; +exports.LucideCircleSmall = CircleSmall; +exports.LucideCircleStop = CircleStop; +exports.LucideCircleUser = CircleUser; +exports.LucideCircleUserRound = CircleUserRound; +exports.LucideCircleX = CircleX; +exports.LucideCircuitBoard = CircuitBoard; +exports.LucideCitrus = Citrus; +exports.LucideClapperboard = Clapperboard; +exports.LucideClipboard = Clipboard; +exports.LucideClipboardCheck = ClipboardCheck; +exports.LucideClipboardCopy = ClipboardCopy; +exports.LucideClipboardEdit = ClipboardPen; +exports.LucideClipboardList = ClipboardList; +exports.LucideClipboardMinus = ClipboardMinus; +exports.LucideClipboardPaste = ClipboardPaste; +exports.LucideClipboardPen = ClipboardPen; +exports.LucideClipboardPenLine = ClipboardPenLine; +exports.LucideClipboardPlus = ClipboardPlus; +exports.LucideClipboardSignature = ClipboardPenLine; +exports.LucideClipboardType = ClipboardType; +exports.LucideClipboardX = ClipboardX; +exports.LucideClock = Clock; +exports.LucideClock1 = Clock1; +exports.LucideClock10 = Clock10; +exports.LucideClock11 = Clock11; +exports.LucideClock12 = Clock12; +exports.LucideClock2 = Clock2; +exports.LucideClock3 = Clock3; +exports.LucideClock4 = Clock4; +exports.LucideClock5 = Clock5; +exports.LucideClock6 = Clock6; +exports.LucideClock7 = Clock7; +exports.LucideClock8 = Clock8; +exports.LucideClock9 = Clock9; +exports.LucideClockAlert = ClockAlert; +exports.LucideClockArrowDown = ClockArrowDown; +exports.LucideClockArrowUp = ClockArrowUp; +exports.LucideCloud = Cloud; +exports.LucideCloudAlert = CloudAlert; +exports.LucideCloudCog = CloudCog; +exports.LucideCloudDownload = CloudDownload; +exports.LucideCloudDrizzle = CloudDrizzle; +exports.LucideCloudFog = CloudFog; +exports.LucideCloudHail = CloudHail; +exports.LucideCloudLightning = CloudLightning; +exports.LucideCloudMoon = CloudMoon; +exports.LucideCloudMoonRain = CloudMoonRain; +exports.LucideCloudOff = CloudOff; +exports.LucideCloudRain = CloudRain; +exports.LucideCloudRainWind = CloudRainWind; +exports.LucideCloudSnow = CloudSnow; +exports.LucideCloudSun = CloudSun; +exports.LucideCloudSunRain = CloudSunRain; +exports.LucideCloudUpload = CloudUpload; +exports.LucideCloudy = Cloudy; +exports.LucideClover = Clover; +exports.LucideClub = Club; +exports.LucideCode = Code; +exports.LucideCode2 = CodeXml; +exports.LucideCodeSquare = SquareCode; +exports.LucideCodeXml = CodeXml; +exports.LucideCodepen = Codepen; +exports.LucideCodesandbox = Codesandbox; +exports.LucideCoffee = Coffee; +exports.LucideCog = Cog; +exports.LucideCoins = Coins; +exports.LucideColumns = Columns2; +exports.LucideColumns2 = Columns2; +exports.LucideColumns3 = Columns3; +exports.LucideColumns4 = Columns4; +exports.LucideCombine = Combine; +exports.LucideCommand = Command; +exports.LucideCompass = Compass; +exports.LucideComponent = Component; +exports.LucideComputer = Computer; +exports.LucideConciergeBell = ConciergeBell; +exports.LucideCone = Cone; +exports.LucideConstruction = Construction; +exports.LucideContact = Contact; +exports.LucideContact2 = ContactRound; +exports.LucideContactRound = ContactRound; +exports.LucideContainer = Container; +exports.LucideContrast = Contrast; +exports.LucideCookie = Cookie; +exports.LucideCookingPot = CookingPot; +exports.LucideCopy = Copy; +exports.LucideCopyCheck = CopyCheck; +exports.LucideCopyMinus = CopyMinus; +exports.LucideCopyPlus = CopyPlus; +exports.LucideCopySlash = CopySlash; +exports.LucideCopyX = CopyX; +exports.LucideCopyleft = Copyleft; +exports.LucideCopyright = Copyright; +exports.LucideCornerDownLeft = CornerDownLeft; +exports.LucideCornerDownRight = CornerDownRight; +exports.LucideCornerLeftDown = CornerLeftDown; +exports.LucideCornerLeftUp = CornerLeftUp; +exports.LucideCornerRightDown = CornerRightDown; +exports.LucideCornerRightUp = CornerRightUp; +exports.LucideCornerUpLeft = CornerUpLeft; +exports.LucideCornerUpRight = CornerUpRight; +exports.LucideCpu = Cpu; +exports.LucideCreativeCommons = CreativeCommons; +exports.LucideCreditCard = CreditCard; +exports.LucideCroissant = Croissant; +exports.LucideCrop = Crop; +exports.LucideCross = Cross; +exports.LucideCrosshair = Crosshair; +exports.LucideCrown = Crown; +exports.LucideCuboid = Cuboid; +exports.LucideCupSoda = CupSoda; +exports.LucideCurlyBraces = Braces; +exports.LucideCurrency = Currency; +exports.LucideCylinder = Cylinder; +exports.LucideDam = Dam; +exports.LucideDatabase = Database; +exports.LucideDatabaseBackup = DatabaseBackup; +exports.LucideDatabaseZap = DatabaseZap; +exports.LucideDelete = Delete; +exports.LucideDessert = Dessert; +exports.LucideDiameter = Diameter; +exports.LucideDiamond = Diamond; +exports.LucideDiamondMinus = DiamondMinus; +exports.LucideDiamondPercent = DiamondPercent; +exports.LucideDiamondPlus = DiamondPlus; +exports.LucideDice1 = Dice1; +exports.LucideDice2 = Dice2; +exports.LucideDice3 = Dice3; +exports.LucideDice4 = Dice4; +exports.LucideDice5 = Dice5; +exports.LucideDice6 = Dice6; +exports.LucideDices = Dices; +exports.LucideDiff = Diff; +exports.LucideDisc = Disc; +exports.LucideDisc2 = Disc2; +exports.LucideDisc3 = Disc3; +exports.LucideDiscAlbum = DiscAlbum; +exports.LucideDivide = Divide; +exports.LucideDivideCircle = CircleDivide; +exports.LucideDivideSquare = SquareDivide; +exports.LucideDna = Dna; +exports.LucideDnaOff = DnaOff; +exports.LucideDock = Dock; +exports.LucideDog = Dog; +exports.LucideDollarSign = DollarSign; +exports.LucideDonut = Donut; +exports.LucideDoorClosed = DoorClosed; +exports.LucideDoorOpen = DoorOpen; +exports.LucideDot = Dot; +exports.LucideDotSquare = SquareDot; +exports.LucideDownload = Download; +exports.LucideDownloadCloud = CloudDownload; +exports.LucideDraftingCompass = DraftingCompass; +exports.LucideDrama = Drama; +exports.LucideDribbble = Dribbble; +exports.LucideDrill = Drill; +exports.LucideDroplet = Droplet; +exports.LucideDropletOff = DropletOff; +exports.LucideDroplets = Droplets; +exports.LucideDrum = Drum; +exports.LucideDrumstick = Drumstick; +exports.LucideDumbbell = Dumbbell; +exports.LucideEar = Ear; +exports.LucideEarOff = EarOff; +exports.LucideEarth = Earth; +exports.LucideEarthLock = EarthLock; +exports.LucideEclipse = Eclipse; +exports.LucideEdit = SquarePen; +exports.LucideEdit2 = Pen; +exports.LucideEdit3 = PenLine; +exports.LucideEgg = Egg; +exports.LucideEggFried = EggFried; +exports.LucideEggOff = EggOff; +exports.LucideEllipsis = Ellipsis; +exports.LucideEllipsisVertical = EllipsisVertical; +exports.LucideEqual = Equal; +exports.LucideEqualApproximately = EqualApproximately; +exports.LucideEqualNot = EqualNot; +exports.LucideEqualSquare = SquareEqual; +exports.LucideEraser = Eraser; +exports.LucideEthernetPort = EthernetPort; +exports.LucideEuro = Euro; +exports.LucideExpand = Expand; +exports.LucideExternalLink = ExternalLink; +exports.LucideEye = Eye; +exports.LucideEyeClosed = EyeClosed; +exports.LucideEyeOff = EyeOff; +exports.LucideFacebook = Facebook; +exports.LucideFactory = Factory; +exports.LucideFan = Fan; +exports.LucideFastForward = FastForward; +exports.LucideFeather = Feather; +exports.LucideFence = Fence; +exports.LucideFerrisWheel = FerrisWheel; +exports.LucideFigma = Figma; +exports.LucideFile = File; +exports.LucideFileArchive = FileArchive; +exports.LucideFileAudio = FileAudio; +exports.LucideFileAudio2 = FileAudio2; +exports.LucideFileAxis3D = FileAxis3d; +exports.LucideFileAxis3d = FileAxis3d; +exports.LucideFileBadge = FileBadge; +exports.LucideFileBadge2 = FileBadge2; +exports.LucideFileBarChart = FileChartColumnIncreasing; +exports.LucideFileBarChart2 = FileChartColumn; +exports.LucideFileBox = FileBox; +exports.LucideFileChartColumn = FileChartColumn; +exports.LucideFileChartColumnIncreasing = FileChartColumnIncreasing; +exports.LucideFileChartLine = FileChartLine; +exports.LucideFileChartPie = FileChartPie; +exports.LucideFileCheck = FileCheck; +exports.LucideFileCheck2 = FileCheck2; +exports.LucideFileClock = FileClock; +exports.LucideFileCode = FileCode; +exports.LucideFileCode2 = FileCode2; +exports.LucideFileCog = FileCog; +exports.LucideFileCog2 = FileCog; +exports.LucideFileDiff = FileDiff; +exports.LucideFileDigit = FileDigit; +exports.LucideFileDown = FileDown; +exports.LucideFileEdit = FilePen; +exports.LucideFileHeart = FileHeart; +exports.LucideFileImage = FileImage; +exports.LucideFileInput = FileInput; +exports.LucideFileJson = FileJson; +exports.LucideFileJson2 = FileJson2; +exports.LucideFileKey = FileKey; +exports.LucideFileKey2 = FileKey2; +exports.LucideFileLineChart = FileChartLine; +exports.LucideFileLock = FileLock; +exports.LucideFileLock2 = FileLock2; +exports.LucideFileMinus = FileMinus; +exports.LucideFileMinus2 = FileMinus2; +exports.LucideFileMusic = FileMusic; +exports.LucideFileOutput = FileOutput; +exports.LucideFilePen = FilePen; +exports.LucideFilePenLine = FilePenLine; +exports.LucideFilePieChart = FileChartPie; +exports.LucideFilePlus = FilePlus; +exports.LucideFilePlus2 = FilePlus2; +exports.LucideFileQuestion = FileQuestion; +exports.LucideFileScan = FileScan; +exports.LucideFileSearch = FileSearch; +exports.LucideFileSearch2 = FileSearch2; +exports.LucideFileSignature = FilePenLine; +exports.LucideFileSliders = FileSliders; +exports.LucideFileSpreadsheet = FileSpreadsheet; +exports.LucideFileStack = FileStack; +exports.LucideFileSymlink = FileSymlink; +exports.LucideFileTerminal = FileTerminal; +exports.LucideFileText = FileText; +exports.LucideFileType = FileType; +exports.LucideFileType2 = FileType2; +exports.LucideFileUp = FileUp; +exports.LucideFileUser = FileUser; +exports.LucideFileVideo = FileVideo; +exports.LucideFileVideo2 = FileVideo2; +exports.LucideFileVolume = FileVolume; +exports.LucideFileVolume2 = FileVolume2; +exports.LucideFileWarning = FileWarning; +exports.LucideFileX = FileX; +exports.LucideFileX2 = FileX2; +exports.LucideFiles = Files; +exports.LucideFilm = Film; +exports.LucideFilter = Filter; +exports.LucideFilterX = FilterX; +exports.LucideFingerprint = Fingerprint; +exports.LucideFireExtinguisher = FireExtinguisher; +exports.LucideFish = Fish; +exports.LucideFishOff = FishOff; +exports.LucideFishSymbol = FishSymbol; +exports.LucideFlag = Flag; +exports.LucideFlagOff = FlagOff; +exports.LucideFlagTriangleLeft = FlagTriangleLeft; +exports.LucideFlagTriangleRight = FlagTriangleRight; +exports.LucideFlame = Flame; +exports.LucideFlameKindling = FlameKindling; +exports.LucideFlashlight = Flashlight; +exports.LucideFlashlightOff = FlashlightOff; +exports.LucideFlaskConical = FlaskConical; +exports.LucideFlaskConicalOff = FlaskConicalOff; +exports.LucideFlaskRound = FlaskRound; +exports.LucideFlipHorizontal = FlipHorizontal; +exports.LucideFlipHorizontal2 = FlipHorizontal2; +exports.LucideFlipVertical = FlipVertical; +exports.LucideFlipVertical2 = FlipVertical2; +exports.LucideFlower = Flower; +exports.LucideFlower2 = Flower2; +exports.LucideFocus = Focus; +exports.LucideFoldHorizontal = FoldHorizontal; +exports.LucideFoldVertical = FoldVertical; +exports.LucideFolder = Folder; +exports.LucideFolderArchive = FolderArchive; +exports.LucideFolderCheck = FolderCheck; +exports.LucideFolderClock = FolderClock; +exports.LucideFolderClosed = FolderClosed; +exports.LucideFolderCode = FolderCode; +exports.LucideFolderCog = FolderCog; +exports.LucideFolderCog2 = FolderCog; +exports.LucideFolderDot = FolderDot; +exports.LucideFolderDown = FolderDown; +exports.LucideFolderEdit = FolderPen; +exports.LucideFolderGit = FolderGit; +exports.LucideFolderGit2 = FolderGit2; +exports.LucideFolderHeart = FolderHeart; +exports.LucideFolderInput = FolderInput; +exports.LucideFolderKanban = FolderKanban; +exports.LucideFolderKey = FolderKey; +exports.LucideFolderLock = FolderLock; +exports.LucideFolderMinus = FolderMinus; +exports.LucideFolderOpen = FolderOpen; +exports.LucideFolderOpenDot = FolderOpenDot; +exports.LucideFolderOutput = FolderOutput; +exports.LucideFolderPen = FolderPen; +exports.LucideFolderPlus = FolderPlus; +exports.LucideFolderRoot = FolderRoot; +exports.LucideFolderSearch = FolderSearch; +exports.LucideFolderSearch2 = FolderSearch2; +exports.LucideFolderSymlink = FolderSymlink; +exports.LucideFolderSync = FolderSync; +exports.LucideFolderTree = FolderTree; +exports.LucideFolderUp = FolderUp; +exports.LucideFolderX = FolderX; +exports.LucideFolders = Folders; +exports.LucideFootprints = Footprints; +exports.LucideForkKnife = Utensils; +exports.LucideForkKnifeCrossed = UtensilsCrossed; +exports.LucideForklift = Forklift; +exports.LucideFormInput = RectangleEllipsis; +exports.LucideForward = Forward; +exports.LucideFrame = Frame; +exports.LucideFramer = Framer; +exports.LucideFrown = Frown; +exports.LucideFuel = Fuel; +exports.LucideFullscreen = Fullscreen; +exports.LucideFunctionSquare = SquareFunction; +exports.LucideGalleryHorizontal = GalleryHorizontal; +exports.LucideGalleryHorizontalEnd = GalleryHorizontalEnd; +exports.LucideGalleryThumbnails = GalleryThumbnails; +exports.LucideGalleryVertical = GalleryVertical; +exports.LucideGalleryVerticalEnd = GalleryVerticalEnd; +exports.LucideGamepad = Gamepad; +exports.LucideGamepad2 = Gamepad2; +exports.LucideGanttChart = ChartNoAxesGantt; +exports.LucideGanttChartSquare = SquareChartGantt; +exports.LucideGauge = Gauge; +exports.LucideGaugeCircle = CircleGauge; +exports.LucideGavel = Gavel; +exports.LucideGem = Gem; +exports.LucideGhost = Ghost; +exports.LucideGift = Gift; +exports.LucideGitBranch = GitBranch; +exports.LucideGitBranchPlus = GitBranchPlus; +exports.LucideGitCommit = GitCommitHorizontal; +exports.LucideGitCommitHorizontal = GitCommitHorizontal; +exports.LucideGitCommitVertical = GitCommitVertical; +exports.LucideGitCompare = GitCompare; +exports.LucideGitCompareArrows = GitCompareArrows; +exports.LucideGitFork = GitFork; +exports.LucideGitGraph = GitGraph; +exports.LucideGitMerge = GitMerge; +exports.LucideGitPullRequest = GitPullRequest; +exports.LucideGitPullRequestArrow = GitPullRequestArrow; +exports.LucideGitPullRequestClosed = GitPullRequestClosed; +exports.LucideGitPullRequestCreate = GitPullRequestCreate; +exports.LucideGitPullRequestCreateArrow = GitPullRequestCreateArrow; +exports.LucideGitPullRequestDraft = GitPullRequestDraft; +exports.LucideGithub = Github; +exports.LucideGitlab = Gitlab; +exports.LucideGlassWater = GlassWater; +exports.LucideGlasses = Glasses; +exports.LucideGlobe = Globe; +exports.LucideGlobe2 = Earth; +exports.LucideGlobeLock = GlobeLock; +exports.LucideGoal = Goal; +exports.LucideGrab = Grab; +exports.LucideGraduationCap = GraduationCap; +exports.LucideGrape = Grape; +exports.LucideGrid = Grid3x3; +exports.LucideGrid2X2 = Grid2x2; +exports.LucideGrid2X2Check = Grid2x2Check; +exports.LucideGrid2X2Plus = Grid2x2Plus; +exports.LucideGrid2X2X = Grid2x2X; +exports.LucideGrid2x2 = Grid2x2; +exports.LucideGrid2x2Check = Grid2x2Check; +exports.LucideGrid2x2Plus = Grid2x2Plus; +exports.LucideGrid2x2X = Grid2x2X; +exports.LucideGrid3X3 = Grid3x3; +exports.LucideGrid3x3 = Grid3x3; +exports.LucideGrip = Grip; +exports.LucideGripHorizontal = GripHorizontal; +exports.LucideGripVertical = GripVertical; +exports.LucideGroup = Group; +exports.LucideGuitar = Guitar; +exports.LucideHam = Ham; +exports.LucideHammer = Hammer; +exports.LucideHand = Hand; +exports.LucideHandCoins = HandCoins; +exports.LucideHandHeart = HandHeart; +exports.LucideHandHelping = HandHelping; +exports.LucideHandMetal = HandMetal; +exports.LucideHandPlatter = HandPlatter; +exports.LucideHandshake = Handshake; +exports.LucideHardDrive = HardDrive; +exports.LucideHardDriveDownload = HardDriveDownload; +exports.LucideHardDriveUpload = HardDriveUpload; +exports.LucideHardHat = HardHat; +exports.LucideHash = Hash; +exports.LucideHaze = Haze; +exports.LucideHdmiPort = HdmiPort; +exports.LucideHeading = Heading; +exports.LucideHeading1 = Heading1; +exports.LucideHeading2 = Heading2; +exports.LucideHeading3 = Heading3; +exports.LucideHeading4 = Heading4; +exports.LucideHeading5 = Heading5; +exports.LucideHeading6 = Heading6; +exports.LucideHeadphoneOff = HeadphoneOff; +exports.LucideHeadphones = Headphones; +exports.LucideHeadset = Headset; +exports.LucideHeart = Heart; +exports.LucideHeartCrack = HeartCrack; +exports.LucideHeartHandshake = HeartHandshake; +exports.LucideHeartOff = HeartOff; +exports.LucideHeartPulse = HeartPulse; +exports.LucideHeater = Heater; +exports.LucideHelpCircle = CircleHelp; +exports.LucideHelpingHand = HandHelping; +exports.LucideHexagon = Hexagon; +exports.LucideHighlighter = Highlighter; +exports.LucideHistory = History; +exports.LucideHome = House; +exports.LucideHop = Hop; +exports.LucideHopOff = HopOff; +exports.LucideHospital = Hospital; +exports.LucideHotel = Hotel; +exports.LucideHourglass = Hourglass; +exports.LucideHouse = House; +exports.LucideHousePlug = HousePlug; +exports.LucideHousePlus = HousePlus; +exports.LucideHouseWifi = HouseWifi; +exports.LucideIceCream = IceCreamCone; +exports.LucideIceCream2 = IceCreamBowl; +exports.LucideIceCreamBowl = IceCreamBowl; +exports.LucideIceCreamCone = IceCreamCone; +exports.LucideIdCard = IdCard; +exports.LucideImage = Image; +exports.LucideImageDown = ImageDown; +exports.LucideImageMinus = ImageMinus; +exports.LucideImageOff = ImageOff; +exports.LucideImagePlay = ImagePlay; +exports.LucideImagePlus = ImagePlus; +exports.LucideImageUp = ImageUp; +exports.LucideImageUpscale = ImageUpscale; +exports.LucideImages = Images; +exports.LucideImport = Import; +exports.LucideInbox = Inbox; +exports.LucideIndent = IndentIncrease; +exports.LucideIndentDecrease = IndentDecrease; +exports.LucideIndentIncrease = IndentIncrease; +exports.LucideIndianRupee = IndianRupee; +exports.LucideInfinity = Infinity; +exports.LucideInfo = Info; +exports.LucideInspect = SquareMousePointer; +exports.LucideInspectionPanel = InspectionPanel; +exports.LucideInstagram = Instagram; +exports.LucideItalic = Italic; +exports.LucideIterationCcw = IterationCcw; +exports.LucideIterationCw = IterationCw; +exports.LucideJapaneseYen = JapaneseYen; +exports.LucideJoystick = Joystick; +exports.LucideKanban = Kanban; +exports.LucideKanbanSquare = SquareKanban; +exports.LucideKanbanSquareDashed = SquareDashedKanban; +exports.LucideKey = Key; +exports.LucideKeyRound = KeyRound; +exports.LucideKeySquare = KeySquare; +exports.LucideKeyboard = Keyboard; +exports.LucideKeyboardMusic = KeyboardMusic; +exports.LucideKeyboardOff = KeyboardOff; +exports.LucideLamp = Lamp; +exports.LucideLampCeiling = LampCeiling; +exports.LucideLampDesk = LampDesk; +exports.LucideLampFloor = LampFloor; +exports.LucideLampWallDown = LampWallDown; +exports.LucideLampWallUp = LampWallUp; +exports.LucideLandPlot = LandPlot; +exports.LucideLandmark = Landmark; +exports.LucideLanguages = Languages; +exports.LucideLaptop = Laptop; +exports.LucideLaptop2 = LaptopMinimal; +exports.LucideLaptopMinimal = LaptopMinimal; +exports.LucideLaptopMinimalCheck = LaptopMinimalCheck; +exports.LucideLasso = Lasso; +exports.LucideLassoSelect = LassoSelect; +exports.LucideLaugh = Laugh; +exports.LucideLayers = Layers; +exports.LucideLayers2 = Layers2; +exports.LucideLayers3 = Layers; +exports.LucideLayout = PanelsTopLeft; +exports.LucideLayoutDashboard = LayoutDashboard; +exports.LucideLayoutGrid = LayoutGrid; +exports.LucideLayoutList = LayoutList; +exports.LucideLayoutPanelLeft = LayoutPanelLeft; +exports.LucideLayoutPanelTop = LayoutPanelTop; +exports.LucideLayoutTemplate = LayoutTemplate; +exports.LucideLeaf = Leaf; +exports.LucideLeafyGreen = LeafyGreen; +exports.LucideLectern = Lectern; +exports.LucideLetterText = LetterText; +exports.LucideLibrary = Library; +exports.LucideLibraryBig = LibraryBig; +exports.LucideLibrarySquare = SquareLibrary; +exports.LucideLifeBuoy = LifeBuoy; +exports.LucideLigature = Ligature; +exports.LucideLightbulb = Lightbulb; +exports.LucideLightbulbOff = LightbulbOff; +exports.LucideLineChart = ChartLine; +exports.LucideLink = Link; +exports.LucideLink2 = Link2; +exports.LucideLink2Off = Link2Off; +exports.LucideLinkedin = Linkedin; +exports.LucideList = List; +exports.LucideListCheck = ListCheck; +exports.LucideListChecks = ListChecks; +exports.LucideListCollapse = ListCollapse; +exports.LucideListEnd = ListEnd; +exports.LucideListFilter = ListFilter; +exports.LucideListFilterPlus = ListFilterPlus; +exports.LucideListMinus = ListMinus; +exports.LucideListMusic = ListMusic; +exports.LucideListOrdered = ListOrdered; +exports.LucideListPlus = ListPlus; +exports.LucideListRestart = ListRestart; +exports.LucideListStart = ListStart; +exports.LucideListTodo = ListTodo; +exports.LucideListTree = ListTree; +exports.LucideListVideo = ListVideo; +exports.LucideListX = ListX; +exports.LucideLoader = Loader; +exports.LucideLoader2 = LoaderCircle; +exports.LucideLoaderCircle = LoaderCircle; +exports.LucideLoaderPinwheel = LoaderPinwheel; +exports.LucideLocate = Locate; +exports.LucideLocateFixed = LocateFixed; +exports.LucideLocateOff = LocateOff; +exports.LucideLock = Lock; +exports.LucideLockKeyhole = LockKeyhole; +exports.LucideLockKeyholeOpen = LockKeyholeOpen; +exports.LucideLockOpen = LockOpen; +exports.LucideLogIn = LogIn; +exports.LucideLogOut = LogOut; +exports.LucideLogs = Logs; +exports.LucideLollipop = Lollipop; +exports.LucideLuggage = Luggage; +exports.LucideMSquare = SquareM; +exports.LucideMagnet = Magnet; +exports.LucideMail = Mail; +exports.LucideMailCheck = MailCheck; +exports.LucideMailMinus = MailMinus; +exports.LucideMailOpen = MailOpen; +exports.LucideMailPlus = MailPlus; +exports.LucideMailQuestion = MailQuestion; +exports.LucideMailSearch = MailSearch; +exports.LucideMailWarning = MailWarning; +exports.LucideMailX = MailX; +exports.LucideMailbox = Mailbox; +exports.LucideMails = Mails; +exports.LucideMap = Map; +exports.LucideMapPin = MapPin; +exports.LucideMapPinCheck = MapPinCheck; +exports.LucideMapPinCheckInside = MapPinCheckInside; +exports.LucideMapPinHouse = MapPinHouse; +exports.LucideMapPinMinus = MapPinMinus; +exports.LucideMapPinMinusInside = MapPinMinusInside; +exports.LucideMapPinOff = MapPinOff; +exports.LucideMapPinPlus = MapPinPlus; +exports.LucideMapPinPlusInside = MapPinPlusInside; +exports.LucideMapPinX = MapPinX; +exports.LucideMapPinXInside = MapPinXInside; +exports.LucideMapPinned = MapPinned; +exports.LucideMapPlus = MapPlus; +exports.LucideMars = Mars; +exports.LucideMarsStroke = MarsStroke; +exports.LucideMartini = Martini; +exports.LucideMaximize = Maximize; +exports.LucideMaximize2 = Maximize2; +exports.LucideMedal = Medal; +exports.LucideMegaphone = Megaphone; +exports.LucideMegaphoneOff = MegaphoneOff; +exports.LucideMeh = Meh; +exports.LucideMemoryStick = MemoryStick; +exports.LucideMenu = Menu; +exports.LucideMenuSquare = SquareMenu; +exports.LucideMerge = Merge; +exports.LucideMessageCircle = MessageCircle; +exports.LucideMessageCircleCode = MessageCircleCode; +exports.LucideMessageCircleDashed = MessageCircleDashed; +exports.LucideMessageCircleHeart = MessageCircleHeart; +exports.LucideMessageCircleMore = MessageCircleMore; +exports.LucideMessageCircleOff = MessageCircleOff; +exports.LucideMessageCirclePlus = MessageCirclePlus; +exports.LucideMessageCircleQuestion = MessageCircleQuestion; +exports.LucideMessageCircleReply = MessageCircleReply; +exports.LucideMessageCircleWarning = MessageCircleWarning; +exports.LucideMessageCircleX = MessageCircleX; +exports.LucideMessageSquare = MessageSquare; +exports.LucideMessageSquareCode = MessageSquareCode; +exports.LucideMessageSquareDashed = MessageSquareDashed; +exports.LucideMessageSquareDiff = MessageSquareDiff; +exports.LucideMessageSquareDot = MessageSquareDot; +exports.LucideMessageSquareHeart = MessageSquareHeart; +exports.LucideMessageSquareLock = MessageSquareLock; +exports.LucideMessageSquareMore = MessageSquareMore; +exports.LucideMessageSquareOff = MessageSquareOff; +exports.LucideMessageSquarePlus = MessageSquarePlus; +exports.LucideMessageSquareQuote = MessageSquareQuote; +exports.LucideMessageSquareReply = MessageSquareReply; +exports.LucideMessageSquareShare = MessageSquareShare; +exports.LucideMessageSquareText = MessageSquareText; +exports.LucideMessageSquareWarning = MessageSquareWarning; +exports.LucideMessageSquareX = MessageSquareX; +exports.LucideMessagesSquare = MessagesSquare; +exports.LucideMic = Mic; +exports.LucideMic2 = MicVocal; +exports.LucideMicOff = MicOff; +exports.LucideMicVocal = MicVocal; +exports.LucideMicrochip = Microchip; +exports.LucideMicroscope = Microscope; +exports.LucideMicrowave = Microwave; +exports.LucideMilestone = Milestone; +exports.LucideMilk = Milk; +exports.LucideMilkOff = MilkOff; +exports.LucideMinimize = Minimize; +exports.LucideMinimize2 = Minimize2; +exports.LucideMinus = Minus; +exports.LucideMinusCircle = CircleMinus; +exports.LucideMinusSquare = SquareMinus; +exports.LucideMonitor = Monitor; +exports.LucideMonitorCheck = MonitorCheck; +exports.LucideMonitorCog = MonitorCog; +exports.LucideMonitorDot = MonitorDot; +exports.LucideMonitorDown = MonitorDown; +exports.LucideMonitorOff = MonitorOff; +exports.LucideMonitorPause = MonitorPause; +exports.LucideMonitorPlay = MonitorPlay; +exports.LucideMonitorSmartphone = MonitorSmartphone; +exports.LucideMonitorSpeaker = MonitorSpeaker; +exports.LucideMonitorStop = MonitorStop; +exports.LucideMonitorUp = MonitorUp; +exports.LucideMonitorX = MonitorX; +exports.LucideMoon = Moon; +exports.LucideMoonStar = MoonStar; +exports.LucideMoreHorizontal = Ellipsis; +exports.LucideMoreVertical = EllipsisVertical; +exports.LucideMountain = Mountain; +exports.LucideMountainSnow = MountainSnow; +exports.LucideMouse = Mouse; +exports.LucideMouseOff = MouseOff; +exports.LucideMousePointer = MousePointer; +exports.LucideMousePointer2 = MousePointer2; +exports.LucideMousePointerBan = MousePointerBan; +exports.LucideMousePointerClick = MousePointerClick; +exports.LucideMousePointerSquareDashed = SquareDashedMousePointer; +exports.LucideMove = Move; +exports.LucideMove3D = Move3d; +exports.LucideMove3d = Move3d; +exports.LucideMoveDiagonal = MoveDiagonal; +exports.LucideMoveDiagonal2 = MoveDiagonal2; +exports.LucideMoveDown = MoveDown; +exports.LucideMoveDownLeft = MoveDownLeft; +exports.LucideMoveDownRight = MoveDownRight; +exports.LucideMoveHorizontal = MoveHorizontal; +exports.LucideMoveLeft = MoveLeft; +exports.LucideMoveRight = MoveRight; +exports.LucideMoveUp = MoveUp; +exports.LucideMoveUpLeft = MoveUpLeft; +exports.LucideMoveUpRight = MoveUpRight; +exports.LucideMoveVertical = MoveVertical; +exports.LucideMusic = Music; +exports.LucideMusic2 = Music2; +exports.LucideMusic3 = Music3; +exports.LucideMusic4 = Music4; +exports.LucideNavigation = Navigation; +exports.LucideNavigation2 = Navigation2; +exports.LucideNavigation2Off = Navigation2Off; +exports.LucideNavigationOff = NavigationOff; +exports.LucideNetwork = Network; +exports.LucideNewspaper = Newspaper; +exports.LucideNfc = Nfc; +exports.LucideNonBinary = NonBinary; +exports.LucideNotebook = Notebook; +exports.LucideNotebookPen = NotebookPen; +exports.LucideNotebookTabs = NotebookTabs; +exports.LucideNotebookText = NotebookText; +exports.LucideNotepadText = NotepadText; +exports.LucideNotepadTextDashed = NotepadTextDashed; +exports.LucideNut = Nut; +exports.LucideNutOff = NutOff; +exports.LucideOctagon = Octagon; +exports.LucideOctagonAlert = OctagonAlert; +exports.LucideOctagonMinus = OctagonMinus; +exports.LucideOctagonPause = OctagonPause; +exports.LucideOctagonX = OctagonX; +exports.LucideOmega = Omega; +exports.LucideOption = Option; +exports.LucideOrbit = Orbit; +exports.LucideOrigami = Origami; +exports.LucideOutdent = IndentDecrease; +exports.LucidePackage = Package; +exports.LucidePackage2 = Package2; +exports.LucidePackageCheck = PackageCheck; +exports.LucidePackageMinus = PackageMinus; +exports.LucidePackageOpen = PackageOpen; +exports.LucidePackagePlus = PackagePlus; +exports.LucidePackageSearch = PackageSearch; +exports.LucidePackageX = PackageX; +exports.LucidePaintBucket = PaintBucket; +exports.LucidePaintRoller = PaintRoller; +exports.LucidePaintbrush = Paintbrush; +exports.LucidePaintbrush2 = PaintbrushVertical; +exports.LucidePaintbrushVertical = PaintbrushVertical; +exports.LucidePalette = Palette; +exports.LucidePalmtree = TreePalm; +exports.LucidePanelBottom = PanelBottom; +exports.LucidePanelBottomClose = PanelBottomClose; +exports.LucidePanelBottomDashed = PanelBottomDashed; +exports.LucidePanelBottomInactive = PanelBottomDashed; +exports.LucidePanelBottomOpen = PanelBottomOpen; +exports.LucidePanelLeft = PanelLeft; +exports.LucidePanelLeftClose = PanelLeftClose; +exports.LucidePanelLeftDashed = PanelLeftDashed; +exports.LucidePanelLeftInactive = PanelLeftDashed; +exports.LucidePanelLeftOpen = PanelLeftOpen; +exports.LucidePanelRight = PanelRight; +exports.LucidePanelRightClose = PanelRightClose; +exports.LucidePanelRightDashed = PanelRightDashed; +exports.LucidePanelRightInactive = PanelRightDashed; +exports.LucidePanelRightOpen = PanelRightOpen; +exports.LucidePanelTop = PanelTop; +exports.LucidePanelTopClose = PanelTopClose; +exports.LucidePanelTopDashed = PanelTopDashed; +exports.LucidePanelTopInactive = PanelTopDashed; +exports.LucidePanelTopOpen = PanelTopOpen; +exports.LucidePanelsLeftBottom = PanelsLeftBottom; +exports.LucidePanelsLeftRight = Columns3; +exports.LucidePanelsRightBottom = PanelsRightBottom; +exports.LucidePanelsTopBottom = Rows3; +exports.LucidePanelsTopLeft = PanelsTopLeft; +exports.LucidePaperclip = Paperclip; +exports.LucideParentheses = Parentheses; +exports.LucideParkingCircle = CircleParking; +exports.LucideParkingCircleOff = CircleParkingOff; +exports.LucideParkingMeter = ParkingMeter; +exports.LucideParkingSquare = SquareParking; +exports.LucideParkingSquareOff = SquareParkingOff; +exports.LucidePartyPopper = PartyPopper; +exports.LucidePause = Pause; +exports.LucidePauseCircle = CirclePause; +exports.LucidePauseOctagon = OctagonPause; +exports.LucidePawPrint = PawPrint; +exports.LucidePcCase = PcCase; +exports.LucidePen = Pen; +exports.LucidePenBox = SquarePen; +exports.LucidePenLine = PenLine; +exports.LucidePenOff = PenOff; +exports.LucidePenSquare = SquarePen; +exports.LucidePenTool = PenTool; +exports.LucidePencil = Pencil; +exports.LucidePencilLine = PencilLine; +exports.LucidePencilOff = PencilOff; +exports.LucidePencilRuler = PencilRuler; +exports.LucidePentagon = Pentagon; +exports.LucidePercent = Percent; +exports.LucidePercentCircle = CirclePercent; +exports.LucidePercentDiamond = DiamondPercent; +exports.LucidePercentSquare = SquarePercent; +exports.LucidePersonStanding = PersonStanding; +exports.LucidePhilippinePeso = PhilippinePeso; +exports.LucidePhone = Phone; +exports.LucidePhoneCall = PhoneCall; +exports.LucidePhoneForwarded = PhoneForwarded; +exports.LucidePhoneIncoming = PhoneIncoming; +exports.LucidePhoneMissed = PhoneMissed; +exports.LucidePhoneOff = PhoneOff; +exports.LucidePhoneOutgoing = PhoneOutgoing; +exports.LucidePi = Pi; +exports.LucidePiSquare = SquarePi; +exports.LucidePiano = Piano; +exports.LucidePickaxe = Pickaxe; +exports.LucidePictureInPicture = PictureInPicture; +exports.LucidePictureInPicture2 = PictureInPicture2; +exports.LucidePieChart = ChartPie; +exports.LucidePiggyBank = PiggyBank; +exports.LucidePilcrow = Pilcrow; +exports.LucidePilcrowLeft = PilcrowLeft; +exports.LucidePilcrowRight = PilcrowRight; +exports.LucidePilcrowSquare = SquarePilcrow; +exports.LucidePill = Pill; +exports.LucidePillBottle = PillBottle; +exports.LucidePin = Pin; +exports.LucidePinOff = PinOff; +exports.LucidePipette = Pipette; +exports.LucidePizza = Pizza; +exports.LucidePlane = Plane; +exports.LucidePlaneLanding = PlaneLanding; +exports.LucidePlaneTakeoff = PlaneTakeoff; +exports.LucidePlay = Play; +exports.LucidePlayCircle = CirclePlay; +exports.LucidePlaySquare = SquarePlay; +exports.LucidePlug = Plug; +exports.LucidePlug2 = Plug2; +exports.LucidePlugZap = PlugZap; +exports.LucidePlugZap2 = PlugZap; +exports.LucidePlus = Plus; +exports.LucidePlusCircle = CirclePlus; +exports.LucidePlusSquare = SquarePlus; +exports.LucidePocket = Pocket; +exports.LucidePocketKnife = PocketKnife; +exports.LucidePodcast = Podcast; +exports.LucidePointer = Pointer; +exports.LucidePointerOff = PointerOff; +exports.LucidePopcorn = Popcorn; +exports.LucidePopsicle = Popsicle; +exports.LucidePoundSterling = PoundSterling; +exports.LucidePower = Power; +exports.LucidePowerCircle = CirclePower; +exports.LucidePowerOff = PowerOff; +exports.LucidePowerSquare = SquarePower; +exports.LucidePresentation = Presentation; +exports.LucidePrinter = Printer; +exports.LucidePrinterCheck = PrinterCheck; +exports.LucideProjector = Projector; +exports.LucideProportions = Proportions; +exports.LucidePuzzle = Puzzle; +exports.LucidePyramid = Pyramid; +exports.LucideQrCode = QrCode; +exports.LucideQuote = Quote; +exports.LucideRabbit = Rabbit; +exports.LucideRadar = Radar; +exports.LucideRadiation = Radiation; +exports.LucideRadical = Radical; +exports.LucideRadio = Radio; +exports.LucideRadioReceiver = RadioReceiver; +exports.LucideRadioTower = RadioTower; +exports.LucideRadius = Radius; +exports.LucideRailSymbol = RailSymbol; +exports.LucideRainbow = Rainbow; +exports.LucideRat = Rat; +exports.LucideRatio = Ratio; +exports.LucideReceipt = Receipt; +exports.LucideReceiptCent = ReceiptCent; +exports.LucideReceiptEuro = ReceiptEuro; +exports.LucideReceiptIndianRupee = ReceiptIndianRupee; +exports.LucideReceiptJapaneseYen = ReceiptJapaneseYen; +exports.LucideReceiptPoundSterling = ReceiptPoundSterling; +exports.LucideReceiptRussianRuble = ReceiptRussianRuble; +exports.LucideReceiptSwissFranc = ReceiptSwissFranc; +exports.LucideReceiptText = ReceiptText; +exports.LucideRectangleEllipsis = RectangleEllipsis; +exports.LucideRectangleHorizontal = RectangleHorizontal; +exports.LucideRectangleVertical = RectangleVertical; +exports.LucideRecycle = Recycle; +exports.LucideRedo = Redo; +exports.LucideRedo2 = Redo2; +exports.LucideRedoDot = RedoDot; +exports.LucideRefreshCcw = RefreshCcw; +exports.LucideRefreshCcwDot = RefreshCcwDot; +exports.LucideRefreshCw = RefreshCw; +exports.LucideRefreshCwOff = RefreshCwOff; +exports.LucideRefrigerator = Refrigerator; +exports.LucideRegex = Regex; +exports.LucideRemoveFormatting = RemoveFormatting; +exports.LucideRepeat = Repeat; +exports.LucideRepeat1 = Repeat1; +exports.LucideRepeat2 = Repeat2; +exports.LucideReplace = Replace; +exports.LucideReplaceAll = ReplaceAll; +exports.LucideReply = Reply; +exports.LucideReplyAll = ReplyAll; +exports.LucideRewind = Rewind; +exports.LucideRibbon = Ribbon; +exports.LucideRocket = Rocket; +exports.LucideRockingChair = RockingChair; +exports.LucideRollerCoaster = RollerCoaster; +exports.LucideRotate3D = Rotate3d; +exports.LucideRotate3d = Rotate3d; +exports.LucideRotateCcw = RotateCcw; +exports.LucideRotateCcwSquare = RotateCcwSquare; +exports.LucideRotateCw = RotateCw; +exports.LucideRotateCwSquare = RotateCwSquare; +exports.LucideRoute = Route; +exports.LucideRouteOff = RouteOff; +exports.LucideRouter = Router; +exports.LucideRows = Rows2; +exports.LucideRows2 = Rows2; +exports.LucideRows3 = Rows3; +exports.LucideRows4 = Rows4; +exports.LucideRss = Rss; +exports.LucideRuler = Ruler; +exports.LucideRussianRuble = RussianRuble; +exports.LucideSailboat = Sailboat; +exports.LucideSalad = Salad; +exports.LucideSandwich = Sandwich; +exports.LucideSatellite = Satellite; +exports.LucideSatelliteDish = SatelliteDish; +exports.LucideSave = Save; +exports.LucideSaveAll = SaveAll; +exports.LucideSaveOff = SaveOff; +exports.LucideScale = Scale; +exports.LucideScale3D = Scale3d; +exports.LucideScale3d = Scale3d; +exports.LucideScaling = Scaling; +exports.LucideScan = Scan; +exports.LucideScanBarcode = ScanBarcode; +exports.LucideScanEye = ScanEye; +exports.LucideScanFace = ScanFace; +exports.LucideScanHeart = ScanHeart; +exports.LucideScanLine = ScanLine; +exports.LucideScanQrCode = ScanQrCode; +exports.LucideScanSearch = ScanSearch; +exports.LucideScanText = ScanText; +exports.LucideScatterChart = ChartScatter; +exports.LucideSchool = School; +exports.LucideSchool2 = University; +exports.LucideScissors = Scissors; +exports.LucideScissorsLineDashed = ScissorsLineDashed; +exports.LucideScissorsSquare = SquareScissors; +exports.LucideScissorsSquareDashedBottom = SquareBottomDashedScissors; +exports.LucideScreenShare = ScreenShare; +exports.LucideScreenShareOff = ScreenShareOff; +exports.LucideScroll = Scroll; +exports.LucideScrollText = ScrollText; +exports.LucideSearch = Search; +exports.LucideSearchCheck = SearchCheck; +exports.LucideSearchCode = SearchCode; +exports.LucideSearchSlash = SearchSlash; +exports.LucideSearchX = SearchX; +exports.LucideSection = Section; +exports.LucideSend = Send; +exports.LucideSendHorizonal = SendHorizontal; +exports.LucideSendHorizontal = SendHorizontal; +exports.LucideSendToBack = SendToBack; +exports.LucideSeparatorHorizontal = SeparatorHorizontal; +exports.LucideSeparatorVertical = SeparatorVertical; +exports.LucideServer = Server; +exports.LucideServerCog = ServerCog; +exports.LucideServerCrash = ServerCrash; +exports.LucideServerOff = ServerOff; +exports.LucideSettings = Settings; +exports.LucideSettings2 = Settings2; +exports.LucideShapes = Shapes; +exports.LucideShare = Share; +exports.LucideShare2 = Share2; +exports.LucideSheet = Sheet; +exports.LucideShell = Shell; +exports.LucideShield = Shield; +exports.LucideShieldAlert = ShieldAlert; +exports.LucideShieldBan = ShieldBan; +exports.LucideShieldCheck = ShieldCheck; +exports.LucideShieldClose = ShieldX; +exports.LucideShieldEllipsis = ShieldEllipsis; +exports.LucideShieldHalf = ShieldHalf; +exports.LucideShieldMinus = ShieldMinus; +exports.LucideShieldOff = ShieldOff; +exports.LucideShieldPlus = ShieldPlus; +exports.LucideShieldQuestion = ShieldQuestion; +exports.LucideShieldX = ShieldX; +exports.LucideShip = Ship; +exports.LucideShipWheel = ShipWheel; +exports.LucideShirt = Shirt; +exports.LucideShoppingBag = ShoppingBag; +exports.LucideShoppingBasket = ShoppingBasket; +exports.LucideShoppingCart = ShoppingCart; +exports.LucideShovel = Shovel; +exports.LucideShowerHead = ShowerHead; +exports.LucideShrink = Shrink; +exports.LucideShrub = Shrub; +exports.LucideShuffle = Shuffle; +exports.LucideSidebar = PanelLeft; +exports.LucideSidebarClose = PanelLeftClose; +exports.LucideSidebarOpen = PanelLeftOpen; +exports.LucideSigma = Sigma; +exports.LucideSigmaSquare = SquareSigma; +exports.LucideSignal = Signal; +exports.LucideSignalHigh = SignalHigh; +exports.LucideSignalLow = SignalLow; +exports.LucideSignalMedium = SignalMedium; +exports.LucideSignalZero = SignalZero; +exports.LucideSignature = Signature; +exports.LucideSignpost = Signpost; +exports.LucideSignpostBig = SignpostBig; +exports.LucideSiren = Siren; +exports.LucideSkipBack = SkipBack; +exports.LucideSkipForward = SkipForward; +exports.LucideSkull = Skull; +exports.LucideSlack = Slack; +exports.LucideSlash = Slash; +exports.LucideSlashSquare = SquareSlash; +exports.LucideSlice = Slice; +exports.LucideSliders = SlidersVertical; +exports.LucideSlidersHorizontal = SlidersHorizontal; +exports.LucideSlidersVertical = SlidersVertical; +exports.LucideSmartphone = Smartphone; +exports.LucideSmartphoneCharging = SmartphoneCharging; +exports.LucideSmartphoneNfc = SmartphoneNfc; +exports.LucideSmile = Smile; +exports.LucideSmilePlus = SmilePlus; +exports.LucideSnail = Snail; +exports.LucideSnowflake = Snowflake; +exports.LucideSofa = Sofa; +exports.LucideSortAsc = ArrowUpNarrowWide; +exports.LucideSortDesc = ArrowDownWideNarrow; +exports.LucideSoup = Soup; +exports.LucideSpace = Space; +exports.LucideSpade = Spade; +exports.LucideSparkle = Sparkle; +exports.LucideSparkles = Sparkles; +exports.LucideSpeaker = Speaker; +exports.LucideSpeech = Speech; +exports.LucideSpellCheck = SpellCheck; +exports.LucideSpellCheck2 = SpellCheck2; +exports.LucideSpline = Spline; +exports.LucideSplit = Split; +exports.LucideSplitSquareHorizontal = SquareSplitHorizontal; +exports.LucideSplitSquareVertical = SquareSplitVertical; +exports.LucideSprayCan = SprayCan; +exports.LucideSprout = Sprout; +exports.LucideSquare = Square; +exports.LucideSquareActivity = SquareActivity; +exports.LucideSquareArrowDown = SquareArrowDown; +exports.LucideSquareArrowDownLeft = SquareArrowDownLeft; +exports.LucideSquareArrowDownRight = SquareArrowDownRight; +exports.LucideSquareArrowLeft = SquareArrowLeft; +exports.LucideSquareArrowOutDownLeft = SquareArrowOutDownLeft; +exports.LucideSquareArrowOutDownRight = SquareArrowOutDownRight; +exports.LucideSquareArrowOutUpLeft = SquareArrowOutUpLeft; +exports.LucideSquareArrowOutUpRight = SquareArrowOutUpRight; +exports.LucideSquareArrowRight = SquareArrowRight; +exports.LucideSquareArrowUp = SquareArrowUp; +exports.LucideSquareArrowUpLeft = SquareArrowUpLeft; +exports.LucideSquareArrowUpRight = SquareArrowUpRight; +exports.LucideSquareAsterisk = SquareAsterisk; +exports.LucideSquareBottomDashedScissors = SquareBottomDashedScissors; +exports.LucideSquareChartGantt = SquareChartGantt; +exports.LucideSquareCheck = SquareCheck; +exports.LucideSquareCheckBig = SquareCheckBig; +exports.LucideSquareChevronDown = SquareChevronDown; +exports.LucideSquareChevronLeft = SquareChevronLeft; +exports.LucideSquareChevronRight = SquareChevronRight; +exports.LucideSquareChevronUp = SquareChevronUp; +exports.LucideSquareCode = SquareCode; +exports.LucideSquareDashed = SquareDashed; +exports.LucideSquareDashedBottom = SquareDashedBottom; +exports.LucideSquareDashedBottomCode = SquareDashedBottomCode; +exports.LucideSquareDashedKanban = SquareDashedKanban; +exports.LucideSquareDashedMousePointer = SquareDashedMousePointer; +exports.LucideSquareDivide = SquareDivide; +exports.LucideSquareDot = SquareDot; +exports.LucideSquareEqual = SquareEqual; +exports.LucideSquareFunction = SquareFunction; +exports.LucideSquareGanttChart = SquareChartGantt; +exports.LucideSquareKanban = SquareKanban; +exports.LucideSquareLibrary = SquareLibrary; +exports.LucideSquareM = SquareM; +exports.LucideSquareMenu = SquareMenu; +exports.LucideSquareMinus = SquareMinus; +exports.LucideSquareMousePointer = SquareMousePointer; +exports.LucideSquareParking = SquareParking; +exports.LucideSquareParkingOff = SquareParkingOff; +exports.LucideSquarePen = SquarePen; +exports.LucideSquarePercent = SquarePercent; +exports.LucideSquarePi = SquarePi; +exports.LucideSquarePilcrow = SquarePilcrow; +exports.LucideSquarePlay = SquarePlay; +exports.LucideSquarePlus = SquarePlus; +exports.LucideSquarePower = SquarePower; +exports.LucideSquareRadical = SquareRadical; +exports.LucideSquareScissors = SquareScissors; +exports.LucideSquareSigma = SquareSigma; +exports.LucideSquareSlash = SquareSlash; +exports.LucideSquareSplitHorizontal = SquareSplitHorizontal; +exports.LucideSquareSplitVertical = SquareSplitVertical; +exports.LucideSquareSquare = SquareSquare; +exports.LucideSquareStack = SquareStack; +exports.LucideSquareTerminal = SquareTerminal; +exports.LucideSquareUser = SquareUser; +exports.LucideSquareUserRound = SquareUserRound; +exports.LucideSquareX = SquareX; +exports.LucideSquircle = Squircle; +exports.LucideSquirrel = Squirrel; +exports.LucideStamp = Stamp; +exports.LucideStar = Star; +exports.LucideStarHalf = StarHalf; +exports.LucideStarOff = StarOff; +exports.LucideStars = Sparkles; +exports.LucideStepBack = StepBack; +exports.LucideStepForward = StepForward; +exports.LucideStethoscope = Stethoscope; +exports.LucideSticker = Sticker; +exports.LucideStickyNote = StickyNote; +exports.LucideStopCircle = CircleStop; +exports.LucideStore = Store; +exports.LucideStretchHorizontal = StretchHorizontal; +exports.LucideStretchVertical = StretchVertical; +exports.LucideStrikethrough = Strikethrough; +exports.LucideSubscript = Subscript; +exports.LucideSubtitles = Captions; +exports.LucideSun = Sun; +exports.LucideSunDim = SunDim; +exports.LucideSunMedium = SunMedium; +exports.LucideSunMoon = SunMoon; +exports.LucideSunSnow = SunSnow; +exports.LucideSunrise = Sunrise; +exports.LucideSunset = Sunset; +exports.LucideSuperscript = Superscript; +exports.LucideSwatchBook = SwatchBook; +exports.LucideSwissFranc = SwissFranc; +exports.LucideSwitchCamera = SwitchCamera; +exports.LucideSword = Sword; +exports.LucideSwords = Swords; +exports.LucideSyringe = Syringe; +exports.LucideTable = Table; +exports.LucideTable2 = Table2; +exports.LucideTableCellsMerge = TableCellsMerge; +exports.LucideTableCellsSplit = TableCellsSplit; +exports.LucideTableColumnsSplit = TableColumnsSplit; +exports.LucideTableOfContents = TableOfContents; +exports.LucideTableProperties = TableProperties; +exports.LucideTableRowsSplit = TableRowsSplit; +exports.LucideTablet = Tablet; +exports.LucideTabletSmartphone = TabletSmartphone; +exports.LucideTablets = Tablets; +exports.LucideTag = Tag; +exports.LucideTags = Tags; +exports.LucideTally1 = Tally1; +exports.LucideTally2 = Tally2; +exports.LucideTally3 = Tally3; +exports.LucideTally4 = Tally4; +exports.LucideTally5 = Tally5; +exports.LucideTangent = Tangent; +exports.LucideTarget = Target; +exports.LucideTelescope = Telescope; +exports.LucideTent = Tent; +exports.LucideTentTree = TentTree; +exports.LucideTerminal = Terminal; +exports.LucideTerminalSquare = SquareTerminal; +exports.LucideTestTube = TestTube; +exports.LucideTestTube2 = TestTubeDiagonal; +exports.LucideTestTubeDiagonal = TestTubeDiagonal; +exports.LucideTestTubes = TestTubes; +exports.LucideText = Text; +exports.LucideTextCursor = TextCursor; +exports.LucideTextCursorInput = TextCursorInput; +exports.LucideTextQuote = TextQuote; +exports.LucideTextSearch = TextSearch; +exports.LucideTextSelect = TextSelect; +exports.LucideTextSelection = TextSelect; +exports.LucideTheater = Theater; +exports.LucideThermometer = Thermometer; +exports.LucideThermometerSnowflake = ThermometerSnowflake; +exports.LucideThermometerSun = ThermometerSun; +exports.LucideThumbsDown = ThumbsDown; +exports.LucideThumbsUp = ThumbsUp; +exports.LucideTicket = Ticket; +exports.LucideTicketCheck = TicketCheck; +exports.LucideTicketMinus = TicketMinus; +exports.LucideTicketPercent = TicketPercent; +exports.LucideTicketPlus = TicketPlus; +exports.LucideTicketSlash = TicketSlash; +exports.LucideTicketX = TicketX; +exports.LucideTickets = Tickets; +exports.LucideTicketsPlane = TicketsPlane; +exports.LucideTimer = Timer; +exports.LucideTimerOff = TimerOff; +exports.LucideTimerReset = TimerReset; +exports.LucideToggleLeft = ToggleLeft; +exports.LucideToggleRight = ToggleRight; +exports.LucideToilet = Toilet; +exports.LucideTornado = Tornado; +exports.LucideTorus = Torus; +exports.LucideTouchpad = Touchpad; +exports.LucideTouchpadOff = TouchpadOff; +exports.LucideTowerControl = TowerControl; +exports.LucideToyBrick = ToyBrick; +exports.LucideTractor = Tractor; +exports.LucideTrafficCone = TrafficCone; +exports.LucideTrain = TramFront; +exports.LucideTrainFront = TrainFront; +exports.LucideTrainFrontTunnel = TrainFrontTunnel; +exports.LucideTrainTrack = TrainTrack; +exports.LucideTramFront = TramFront; +exports.LucideTransgender = Transgender; +exports.LucideTrash = Trash; +exports.LucideTrash2 = Trash2; +exports.LucideTreeDeciduous = TreeDeciduous; +exports.LucideTreePalm = TreePalm; +exports.LucideTreePine = TreePine; +exports.LucideTrees = Trees; +exports.LucideTrello = Trello; +exports.LucideTrendingDown = TrendingDown; +exports.LucideTrendingUp = TrendingUp; +exports.LucideTrendingUpDown = TrendingUpDown; +exports.LucideTriangle = Triangle; +exports.LucideTriangleAlert = TriangleAlert; +exports.LucideTriangleDashed = TriangleDashed; +exports.LucideTriangleRight = TriangleRight; +exports.LucideTrophy = Trophy; +exports.LucideTruck = Truck; +exports.LucideTurtle = Turtle; +exports.LucideTv = Tv; +exports.LucideTv2 = TvMinimal; +exports.LucideTvMinimal = TvMinimal; +exports.LucideTvMinimalPlay = TvMinimalPlay; +exports.LucideTwitch = Twitch; +exports.LucideTwitter = Twitter; +exports.LucideType = Type; +exports.LucideTypeOutline = TypeOutline; +exports.LucideUmbrella = Umbrella; +exports.LucideUmbrellaOff = UmbrellaOff; +exports.LucideUnderline = Underline; +exports.LucideUndo = Undo; +exports.LucideUndo2 = Undo2; +exports.LucideUndoDot = UndoDot; +exports.LucideUnfoldHorizontal = UnfoldHorizontal; +exports.LucideUnfoldVertical = UnfoldVertical; +exports.LucideUngroup = Ungroup; +exports.LucideUniversity = University; +exports.LucideUnlink = Unlink; +exports.LucideUnlink2 = Unlink2; +exports.LucideUnlock = LockOpen; +exports.LucideUnlockKeyhole = LockKeyholeOpen; +exports.LucideUnplug = Unplug; +exports.LucideUpload = Upload; +exports.LucideUploadCloud = CloudUpload; +exports.LucideUsb = Usb; +exports.LucideUser = User; +exports.LucideUser2 = UserRound; +exports.LucideUserCheck = UserCheck; +exports.LucideUserCheck2 = UserRoundCheck; +exports.LucideUserCircle = CircleUser; +exports.LucideUserCircle2 = CircleUserRound; +exports.LucideUserCog = UserCog; +exports.LucideUserCog2 = UserRoundCog; +exports.LucideUserMinus = UserMinus; +exports.LucideUserMinus2 = UserRoundMinus; +exports.LucideUserPen = UserPen; +exports.LucideUserPlus = UserPlus; +exports.LucideUserPlus2 = UserRoundPlus; +exports.LucideUserRound = UserRound; +exports.LucideUserRoundCheck = UserRoundCheck; +exports.LucideUserRoundCog = UserRoundCog; +exports.LucideUserRoundMinus = UserRoundMinus; +exports.LucideUserRoundPen = UserRoundPen; +exports.LucideUserRoundPlus = UserRoundPlus; +exports.LucideUserRoundSearch = UserRoundSearch; +exports.LucideUserRoundX = UserRoundX; +exports.LucideUserSearch = UserSearch; +exports.LucideUserSquare = SquareUser; +exports.LucideUserSquare2 = SquareUserRound; +exports.LucideUserX = UserX; +exports.LucideUserX2 = UserRoundX; +exports.LucideUsers = Users; +exports.LucideUsers2 = UsersRound; +exports.LucideUsersRound = UsersRound; +exports.LucideUtensils = Utensils; +exports.LucideUtensilsCrossed = UtensilsCrossed; +exports.LucideUtilityPole = UtilityPole; +exports.LucideVariable = Variable; +exports.LucideVault = Vault; +exports.LucideVegan = Vegan; +exports.LucideVenetianMask = VenetianMask; +exports.LucideVenus = Venus; +exports.LucideVenusAndMars = VenusAndMars; +exports.LucideVerified = BadgeCheck; +exports.LucideVibrate = Vibrate; +exports.LucideVibrateOff = VibrateOff; +exports.LucideVideo = Video; +exports.LucideVideoOff = VideoOff; +exports.LucideVideotape = Videotape; +exports.LucideView = View; +exports.LucideVoicemail = Voicemail; +exports.LucideVolleyball = Volleyball; +exports.LucideVolume = Volume; +exports.LucideVolume1 = Volume1; +exports.LucideVolume2 = Volume2; +exports.LucideVolumeOff = VolumeOff; +exports.LucideVolumeX = VolumeX; +exports.LucideVote = Vote; +exports.LucideWallet = Wallet; +exports.LucideWallet2 = WalletMinimal; +exports.LucideWalletCards = WalletCards; +exports.LucideWalletMinimal = WalletMinimal; +exports.LucideWallpaper = Wallpaper; +exports.LucideWand = Wand; +exports.LucideWand2 = WandSparkles; +exports.LucideWandSparkles = WandSparkles; +exports.LucideWarehouse = Warehouse; +exports.LucideWashingMachine = WashingMachine; +exports.LucideWatch = Watch; +exports.LucideWaves = Waves; +exports.LucideWavesLadder = WavesLadder; +exports.LucideWaypoints = Waypoints; +exports.LucideWebcam = Webcam; +exports.LucideWebhook = Webhook; +exports.LucideWebhookOff = WebhookOff; +exports.LucideWeight = Weight; +exports.LucideWheat = Wheat; +exports.LucideWheatOff = WheatOff; +exports.LucideWholeWord = WholeWord; +exports.LucideWifi = Wifi; +exports.LucideWifiHigh = WifiHigh; +exports.LucideWifiLow = WifiLow; +exports.LucideWifiOff = WifiOff; +exports.LucideWifiZero = WifiZero; +exports.LucideWind = Wind; +exports.LucideWindArrowDown = WindArrowDown; +exports.LucideWine = Wine; +exports.LucideWineOff = WineOff; +exports.LucideWorkflow = Workflow; +exports.LucideWorm = Worm; +exports.LucideWrapText = WrapText; +exports.LucideWrench = Wrench; +exports.LucideX = X; +exports.LucideXCircle = CircleX; +exports.LucideXOctagon = OctagonX; +exports.LucideXSquare = SquareX; +exports.LucideYoutube = Youtube; +exports.LucideZap = Zap; +exports.LucideZapOff = ZapOff; +exports.LucideZoomIn = ZoomIn; +exports.LucideZoomOut = ZoomOut; +exports.Luggage = Luggage; +exports.LuggageIcon = Luggage; +exports.MSquare = SquareM; +exports.MSquareIcon = SquareM; +exports.Magnet = Magnet; +exports.MagnetIcon = Magnet; +exports.Mail = Mail; +exports.MailCheck = MailCheck; +exports.MailCheckIcon = MailCheck; +exports.MailIcon = Mail; +exports.MailMinus = MailMinus; +exports.MailMinusIcon = MailMinus; +exports.MailOpen = MailOpen; +exports.MailOpenIcon = MailOpen; +exports.MailPlus = MailPlus; +exports.MailPlusIcon = MailPlus; +exports.MailQuestion = MailQuestion; +exports.MailQuestionIcon = MailQuestion; +exports.MailSearch = MailSearch; +exports.MailSearchIcon = MailSearch; +exports.MailWarning = MailWarning; +exports.MailWarningIcon = MailWarning; +exports.MailX = MailX; +exports.MailXIcon = MailX; +exports.Mailbox = Mailbox; +exports.MailboxIcon = Mailbox; +exports.Mails = Mails; +exports.MailsIcon = Mails; +exports.Map = Map; +exports.MapIcon = Map; +exports.MapPin = MapPin; +exports.MapPinCheck = MapPinCheck; +exports.MapPinCheckIcon = MapPinCheck; +exports.MapPinCheckInside = MapPinCheckInside; +exports.MapPinCheckInsideIcon = MapPinCheckInside; +exports.MapPinHouse = MapPinHouse; +exports.MapPinHouseIcon = MapPinHouse; +exports.MapPinIcon = MapPin; +exports.MapPinMinus = MapPinMinus; +exports.MapPinMinusIcon = MapPinMinus; +exports.MapPinMinusInside = MapPinMinusInside; +exports.MapPinMinusInsideIcon = MapPinMinusInside; +exports.MapPinOff = MapPinOff; +exports.MapPinOffIcon = MapPinOff; +exports.MapPinPlus = MapPinPlus; +exports.MapPinPlusIcon = MapPinPlus; +exports.MapPinPlusInside = MapPinPlusInside; +exports.MapPinPlusInsideIcon = MapPinPlusInside; +exports.MapPinX = MapPinX; +exports.MapPinXIcon = MapPinX; +exports.MapPinXInside = MapPinXInside; +exports.MapPinXInsideIcon = MapPinXInside; +exports.MapPinned = MapPinned; +exports.MapPinnedIcon = MapPinned; +exports.MapPlus = MapPlus; +exports.MapPlusIcon = MapPlus; +exports.Mars = Mars; +exports.MarsIcon = Mars; +exports.MarsStroke = MarsStroke; +exports.MarsStrokeIcon = MarsStroke; +exports.Martini = Martini; +exports.MartiniIcon = Martini; +exports.Maximize = Maximize; +exports.Maximize2 = Maximize2; +exports.Maximize2Icon = Maximize2; +exports.MaximizeIcon = Maximize; +exports.Medal = Medal; +exports.MedalIcon = Medal; +exports.Megaphone = Megaphone; +exports.MegaphoneIcon = Megaphone; +exports.MegaphoneOff = MegaphoneOff; +exports.MegaphoneOffIcon = MegaphoneOff; +exports.Meh = Meh; +exports.MehIcon = Meh; +exports.MemoryStick = MemoryStick; +exports.MemoryStickIcon = MemoryStick; +exports.Menu = Menu; +exports.MenuIcon = Menu; +exports.MenuSquare = SquareMenu; +exports.MenuSquareIcon = SquareMenu; +exports.Merge = Merge; +exports.MergeIcon = Merge; +exports.MessageCircle = MessageCircle; +exports.MessageCircleCode = MessageCircleCode; +exports.MessageCircleCodeIcon = MessageCircleCode; +exports.MessageCircleDashed = MessageCircleDashed; +exports.MessageCircleDashedIcon = MessageCircleDashed; +exports.MessageCircleHeart = MessageCircleHeart; +exports.MessageCircleHeartIcon = MessageCircleHeart; +exports.MessageCircleIcon = MessageCircle; +exports.MessageCircleMore = MessageCircleMore; +exports.MessageCircleMoreIcon = MessageCircleMore; +exports.MessageCircleOff = MessageCircleOff; +exports.MessageCircleOffIcon = MessageCircleOff; +exports.MessageCirclePlus = MessageCirclePlus; +exports.MessageCirclePlusIcon = MessageCirclePlus; +exports.MessageCircleQuestion = MessageCircleQuestion; +exports.MessageCircleQuestionIcon = MessageCircleQuestion; +exports.MessageCircleReply = MessageCircleReply; +exports.MessageCircleReplyIcon = MessageCircleReply; +exports.MessageCircleWarning = MessageCircleWarning; +exports.MessageCircleWarningIcon = MessageCircleWarning; +exports.MessageCircleX = MessageCircleX; +exports.MessageCircleXIcon = MessageCircleX; +exports.MessageSquare = MessageSquare; +exports.MessageSquareCode = MessageSquareCode; +exports.MessageSquareCodeIcon = MessageSquareCode; +exports.MessageSquareDashed = MessageSquareDashed; +exports.MessageSquareDashedIcon = MessageSquareDashed; +exports.MessageSquareDiff = MessageSquareDiff; +exports.MessageSquareDiffIcon = MessageSquareDiff; +exports.MessageSquareDot = MessageSquareDot; +exports.MessageSquareDotIcon = MessageSquareDot; +exports.MessageSquareHeart = MessageSquareHeart; +exports.MessageSquareHeartIcon = MessageSquareHeart; +exports.MessageSquareIcon = MessageSquare; +exports.MessageSquareLock = MessageSquareLock; +exports.MessageSquareLockIcon = MessageSquareLock; +exports.MessageSquareMore = MessageSquareMore; +exports.MessageSquareMoreIcon = MessageSquareMore; +exports.MessageSquareOff = MessageSquareOff; +exports.MessageSquareOffIcon = MessageSquareOff; +exports.MessageSquarePlus = MessageSquarePlus; +exports.MessageSquarePlusIcon = MessageSquarePlus; +exports.MessageSquareQuote = MessageSquareQuote; +exports.MessageSquareQuoteIcon = MessageSquareQuote; +exports.MessageSquareReply = MessageSquareReply; +exports.MessageSquareReplyIcon = MessageSquareReply; +exports.MessageSquareShare = MessageSquareShare; +exports.MessageSquareShareIcon = MessageSquareShare; +exports.MessageSquareText = MessageSquareText; +exports.MessageSquareTextIcon = MessageSquareText; +exports.MessageSquareWarning = MessageSquareWarning; +exports.MessageSquareWarningIcon = MessageSquareWarning; +exports.MessageSquareX = MessageSquareX; +exports.MessageSquareXIcon = MessageSquareX; +exports.MessagesSquare = MessagesSquare; +exports.MessagesSquareIcon = MessagesSquare; +exports.Mic = Mic; +exports.Mic2 = MicVocal; +exports.Mic2Icon = MicVocal; +exports.MicIcon = Mic; +exports.MicOff = MicOff; +exports.MicOffIcon = MicOff; +exports.MicVocal = MicVocal; +exports.MicVocalIcon = MicVocal; +exports.Microchip = Microchip; +exports.MicrochipIcon = Microchip; +exports.Microscope = Microscope; +exports.MicroscopeIcon = Microscope; +exports.Microwave = Microwave; +exports.MicrowaveIcon = Microwave; +exports.Milestone = Milestone; +exports.MilestoneIcon = Milestone; +exports.Milk = Milk; +exports.MilkIcon = Milk; +exports.MilkOff = MilkOff; +exports.MilkOffIcon = MilkOff; +exports.Minimize = Minimize; +exports.Minimize2 = Minimize2; +exports.Minimize2Icon = Minimize2; +exports.MinimizeIcon = Minimize; +exports.Minus = Minus; +exports.MinusCircle = CircleMinus; +exports.MinusCircleIcon = CircleMinus; +exports.MinusIcon = Minus; +exports.MinusSquare = SquareMinus; +exports.MinusSquareIcon = SquareMinus; +exports.Monitor = Monitor; +exports.MonitorCheck = MonitorCheck; +exports.MonitorCheckIcon = MonitorCheck; +exports.MonitorCog = MonitorCog; +exports.MonitorCogIcon = MonitorCog; +exports.MonitorDot = MonitorDot; +exports.MonitorDotIcon = MonitorDot; +exports.MonitorDown = MonitorDown; +exports.MonitorDownIcon = MonitorDown; +exports.MonitorIcon = Monitor; +exports.MonitorOff = MonitorOff; +exports.MonitorOffIcon = MonitorOff; +exports.MonitorPause = MonitorPause; +exports.MonitorPauseIcon = MonitorPause; +exports.MonitorPlay = MonitorPlay; +exports.MonitorPlayIcon = MonitorPlay; +exports.MonitorSmartphone = MonitorSmartphone; +exports.MonitorSmartphoneIcon = MonitorSmartphone; +exports.MonitorSpeaker = MonitorSpeaker; +exports.MonitorSpeakerIcon = MonitorSpeaker; +exports.MonitorStop = MonitorStop; +exports.MonitorStopIcon = MonitorStop; +exports.MonitorUp = MonitorUp; +exports.MonitorUpIcon = MonitorUp; +exports.MonitorX = MonitorX; +exports.MonitorXIcon = MonitorX; +exports.Moon = Moon; +exports.MoonIcon = Moon; +exports.MoonStar = MoonStar; +exports.MoonStarIcon = MoonStar; +exports.MoreHorizontal = Ellipsis; +exports.MoreHorizontalIcon = Ellipsis; +exports.MoreVertical = EllipsisVertical; +exports.MoreVerticalIcon = EllipsisVertical; +exports.Mountain = Mountain; +exports.MountainIcon = Mountain; +exports.MountainSnow = MountainSnow; +exports.MountainSnowIcon = MountainSnow; +exports.Mouse = Mouse; +exports.MouseIcon = Mouse; +exports.MouseOff = MouseOff; +exports.MouseOffIcon = MouseOff; +exports.MousePointer = MousePointer; +exports.MousePointer2 = MousePointer2; +exports.MousePointer2Icon = MousePointer2; +exports.MousePointerBan = MousePointerBan; +exports.MousePointerBanIcon = MousePointerBan; +exports.MousePointerClick = MousePointerClick; +exports.MousePointerClickIcon = MousePointerClick; +exports.MousePointerIcon = MousePointer; +exports.MousePointerSquareDashed = SquareDashedMousePointer; +exports.MousePointerSquareDashedIcon = SquareDashedMousePointer; +exports.Move = Move; +exports.Move3D = Move3d; +exports.Move3DIcon = Move3d; +exports.Move3d = Move3d; +exports.Move3dIcon = Move3d; +exports.MoveDiagonal = MoveDiagonal; +exports.MoveDiagonal2 = MoveDiagonal2; +exports.MoveDiagonal2Icon = MoveDiagonal2; +exports.MoveDiagonalIcon = MoveDiagonal; +exports.MoveDown = MoveDown; +exports.MoveDownIcon = MoveDown; +exports.MoveDownLeft = MoveDownLeft; +exports.MoveDownLeftIcon = MoveDownLeft; +exports.MoveDownRight = MoveDownRight; +exports.MoveDownRightIcon = MoveDownRight; +exports.MoveHorizontal = MoveHorizontal; +exports.MoveHorizontalIcon = MoveHorizontal; +exports.MoveIcon = Move; +exports.MoveLeft = MoveLeft; +exports.MoveLeftIcon = MoveLeft; +exports.MoveRight = MoveRight; +exports.MoveRightIcon = MoveRight; +exports.MoveUp = MoveUp; +exports.MoveUpIcon = MoveUp; +exports.MoveUpLeft = MoveUpLeft; +exports.MoveUpLeftIcon = MoveUpLeft; +exports.MoveUpRight = MoveUpRight; +exports.MoveUpRightIcon = MoveUpRight; +exports.MoveVertical = MoveVertical; +exports.MoveVerticalIcon = MoveVertical; +exports.Music = Music; +exports.Music2 = Music2; +exports.Music2Icon = Music2; +exports.Music3 = Music3; +exports.Music3Icon = Music3; +exports.Music4 = Music4; +exports.Music4Icon = Music4; +exports.MusicIcon = Music; +exports.Navigation = Navigation; +exports.Navigation2 = Navigation2; +exports.Navigation2Icon = Navigation2; +exports.Navigation2Off = Navigation2Off; +exports.Navigation2OffIcon = Navigation2Off; +exports.NavigationIcon = Navigation; +exports.NavigationOff = NavigationOff; +exports.NavigationOffIcon = NavigationOff; +exports.Network = Network; +exports.NetworkIcon = Network; +exports.Newspaper = Newspaper; +exports.NewspaperIcon = Newspaper; +exports.Nfc = Nfc; +exports.NfcIcon = Nfc; +exports.NonBinary = NonBinary; +exports.NonBinaryIcon = NonBinary; +exports.Notebook = Notebook; +exports.NotebookIcon = Notebook; +exports.NotebookPen = NotebookPen; +exports.NotebookPenIcon = NotebookPen; +exports.NotebookTabs = NotebookTabs; +exports.NotebookTabsIcon = NotebookTabs; +exports.NotebookText = NotebookText; +exports.NotebookTextIcon = NotebookText; +exports.NotepadText = NotepadText; +exports.NotepadTextDashed = NotepadTextDashed; +exports.NotepadTextDashedIcon = NotepadTextDashed; +exports.NotepadTextIcon = NotepadText; +exports.Nut = Nut; +exports.NutIcon = Nut; +exports.NutOff = NutOff; +exports.NutOffIcon = NutOff; +exports.Octagon = Octagon; +exports.OctagonAlert = OctagonAlert; +exports.OctagonAlertIcon = OctagonAlert; +exports.OctagonIcon = Octagon; +exports.OctagonMinus = OctagonMinus; +exports.OctagonMinusIcon = OctagonMinus; +exports.OctagonPause = OctagonPause; +exports.OctagonPauseIcon = OctagonPause; +exports.OctagonX = OctagonX; +exports.OctagonXIcon = OctagonX; +exports.Omega = Omega; +exports.OmegaIcon = Omega; +exports.Option = Option; +exports.OptionIcon = Option; +exports.Orbit = Orbit; +exports.OrbitIcon = Orbit; +exports.Origami = Origami; +exports.OrigamiIcon = Origami; +exports.Outdent = IndentDecrease; +exports.OutdentIcon = IndentDecrease; +exports.Package = Package; +exports.Package2 = Package2; +exports.Package2Icon = Package2; +exports.PackageCheck = PackageCheck; +exports.PackageCheckIcon = PackageCheck; +exports.PackageIcon = Package; +exports.PackageMinus = PackageMinus; +exports.PackageMinusIcon = PackageMinus; +exports.PackageOpen = PackageOpen; +exports.PackageOpenIcon = PackageOpen; +exports.PackagePlus = PackagePlus; +exports.PackagePlusIcon = PackagePlus; +exports.PackageSearch = PackageSearch; +exports.PackageSearchIcon = PackageSearch; +exports.PackageX = PackageX; +exports.PackageXIcon = PackageX; +exports.PaintBucket = PaintBucket; +exports.PaintBucketIcon = PaintBucket; +exports.PaintRoller = PaintRoller; +exports.PaintRollerIcon = PaintRoller; +exports.Paintbrush = Paintbrush; +exports.Paintbrush2 = PaintbrushVertical; +exports.Paintbrush2Icon = PaintbrushVertical; +exports.PaintbrushIcon = Paintbrush; +exports.PaintbrushVertical = PaintbrushVertical; +exports.PaintbrushVerticalIcon = PaintbrushVertical; +exports.Palette = Palette; +exports.PaletteIcon = Palette; +exports.Palmtree = TreePalm; +exports.PalmtreeIcon = TreePalm; +exports.PanelBottom = PanelBottom; +exports.PanelBottomClose = PanelBottomClose; +exports.PanelBottomCloseIcon = PanelBottomClose; +exports.PanelBottomDashed = PanelBottomDashed; +exports.PanelBottomDashedIcon = PanelBottomDashed; +exports.PanelBottomIcon = PanelBottom; +exports.PanelBottomInactive = PanelBottomDashed; +exports.PanelBottomInactiveIcon = PanelBottomDashed; +exports.PanelBottomOpen = PanelBottomOpen; +exports.PanelBottomOpenIcon = PanelBottomOpen; +exports.PanelLeft = PanelLeft; +exports.PanelLeftClose = PanelLeftClose; +exports.PanelLeftCloseIcon = PanelLeftClose; +exports.PanelLeftDashed = PanelLeftDashed; +exports.PanelLeftDashedIcon = PanelLeftDashed; +exports.PanelLeftIcon = PanelLeft; +exports.PanelLeftInactive = PanelLeftDashed; +exports.PanelLeftInactiveIcon = PanelLeftDashed; +exports.PanelLeftOpen = PanelLeftOpen; +exports.PanelLeftOpenIcon = PanelLeftOpen; +exports.PanelRight = PanelRight; +exports.PanelRightClose = PanelRightClose; +exports.PanelRightCloseIcon = PanelRightClose; +exports.PanelRightDashed = PanelRightDashed; +exports.PanelRightDashedIcon = PanelRightDashed; +exports.PanelRightIcon = PanelRight; +exports.PanelRightInactive = PanelRightDashed; +exports.PanelRightInactiveIcon = PanelRightDashed; +exports.PanelRightOpen = PanelRightOpen; +exports.PanelRightOpenIcon = PanelRightOpen; +exports.PanelTop = PanelTop; +exports.PanelTopClose = PanelTopClose; +exports.PanelTopCloseIcon = PanelTopClose; +exports.PanelTopDashed = PanelTopDashed; +exports.PanelTopDashedIcon = PanelTopDashed; +exports.PanelTopIcon = PanelTop; +exports.PanelTopInactive = PanelTopDashed; +exports.PanelTopInactiveIcon = PanelTopDashed; +exports.PanelTopOpen = PanelTopOpen; +exports.PanelTopOpenIcon = PanelTopOpen; +exports.PanelsLeftBottom = PanelsLeftBottom; +exports.PanelsLeftBottomIcon = PanelsLeftBottom; +exports.PanelsLeftRight = Columns3; +exports.PanelsLeftRightIcon = Columns3; +exports.PanelsRightBottom = PanelsRightBottom; +exports.PanelsRightBottomIcon = PanelsRightBottom; +exports.PanelsTopBottom = Rows3; +exports.PanelsTopBottomIcon = Rows3; +exports.PanelsTopLeft = PanelsTopLeft; +exports.PanelsTopLeftIcon = PanelsTopLeft; +exports.Paperclip = Paperclip; +exports.PaperclipIcon = Paperclip; +exports.Parentheses = Parentheses; +exports.ParenthesesIcon = Parentheses; +exports.ParkingCircle = CircleParking; +exports.ParkingCircleIcon = CircleParking; +exports.ParkingCircleOff = CircleParkingOff; +exports.ParkingCircleOffIcon = CircleParkingOff; +exports.ParkingMeter = ParkingMeter; +exports.ParkingMeterIcon = ParkingMeter; +exports.ParkingSquare = SquareParking; +exports.ParkingSquareIcon = SquareParking; +exports.ParkingSquareOff = SquareParkingOff; +exports.ParkingSquareOffIcon = SquareParkingOff; +exports.PartyPopper = PartyPopper; +exports.PartyPopperIcon = PartyPopper; +exports.Pause = Pause; +exports.PauseCircle = CirclePause; +exports.PauseCircleIcon = CirclePause; +exports.PauseIcon = Pause; +exports.PauseOctagon = OctagonPause; +exports.PauseOctagonIcon = OctagonPause; +exports.PawPrint = PawPrint; +exports.PawPrintIcon = PawPrint; +exports.PcCase = PcCase; +exports.PcCaseIcon = PcCase; +exports.Pen = Pen; +exports.PenBox = SquarePen; +exports.PenBoxIcon = SquarePen; +exports.PenIcon = Pen; +exports.PenLine = PenLine; +exports.PenLineIcon = PenLine; +exports.PenOff = PenOff; +exports.PenOffIcon = PenOff; +exports.PenSquare = SquarePen; +exports.PenSquareIcon = SquarePen; +exports.PenTool = PenTool; +exports.PenToolIcon = PenTool; +exports.Pencil = Pencil; +exports.PencilIcon = Pencil; +exports.PencilLine = PencilLine; +exports.PencilLineIcon = PencilLine; +exports.PencilOff = PencilOff; +exports.PencilOffIcon = PencilOff; +exports.PencilRuler = PencilRuler; +exports.PencilRulerIcon = PencilRuler; +exports.Pentagon = Pentagon; +exports.PentagonIcon = Pentagon; +exports.Percent = Percent; +exports.PercentCircle = CirclePercent; +exports.PercentCircleIcon = CirclePercent; +exports.PercentDiamond = DiamondPercent; +exports.PercentDiamondIcon = DiamondPercent; +exports.PercentIcon = Percent; +exports.PercentSquare = SquarePercent; +exports.PercentSquareIcon = SquarePercent; +exports.PersonStanding = PersonStanding; +exports.PersonStandingIcon = PersonStanding; +exports.PhilippinePeso = PhilippinePeso; +exports.PhilippinePesoIcon = PhilippinePeso; +exports.Phone = Phone; +exports.PhoneCall = PhoneCall; +exports.PhoneCallIcon = PhoneCall; +exports.PhoneForwarded = PhoneForwarded; +exports.PhoneForwardedIcon = PhoneForwarded; +exports.PhoneIcon = Phone; +exports.PhoneIncoming = PhoneIncoming; +exports.PhoneIncomingIcon = PhoneIncoming; +exports.PhoneMissed = PhoneMissed; +exports.PhoneMissedIcon = PhoneMissed; +exports.PhoneOff = PhoneOff; +exports.PhoneOffIcon = PhoneOff; +exports.PhoneOutgoing = PhoneOutgoing; +exports.PhoneOutgoingIcon = PhoneOutgoing; +exports.Pi = Pi; +exports.PiIcon = Pi; +exports.PiSquare = SquarePi; +exports.PiSquareIcon = SquarePi; +exports.Piano = Piano; +exports.PianoIcon = Piano; +exports.Pickaxe = Pickaxe; +exports.PickaxeIcon = Pickaxe; +exports.PictureInPicture = PictureInPicture; +exports.PictureInPicture2 = PictureInPicture2; +exports.PictureInPicture2Icon = PictureInPicture2; +exports.PictureInPictureIcon = PictureInPicture; +exports.PieChart = ChartPie; +exports.PieChartIcon = ChartPie; +exports.PiggyBank = PiggyBank; +exports.PiggyBankIcon = PiggyBank; +exports.Pilcrow = Pilcrow; +exports.PilcrowIcon = Pilcrow; +exports.PilcrowLeft = PilcrowLeft; +exports.PilcrowLeftIcon = PilcrowLeft; +exports.PilcrowRight = PilcrowRight; +exports.PilcrowRightIcon = PilcrowRight; +exports.PilcrowSquare = SquarePilcrow; +exports.PilcrowSquareIcon = SquarePilcrow; +exports.Pill = Pill; +exports.PillBottle = PillBottle; +exports.PillBottleIcon = PillBottle; +exports.PillIcon = Pill; +exports.Pin = Pin; +exports.PinIcon = Pin; +exports.PinOff = PinOff; +exports.PinOffIcon = PinOff; +exports.Pipette = Pipette; +exports.PipetteIcon = Pipette; +exports.Pizza = Pizza; +exports.PizzaIcon = Pizza; +exports.Plane = Plane; +exports.PlaneIcon = Plane; +exports.PlaneLanding = PlaneLanding; +exports.PlaneLandingIcon = PlaneLanding; +exports.PlaneTakeoff = PlaneTakeoff; +exports.PlaneTakeoffIcon = PlaneTakeoff; +exports.Play = Play; +exports.PlayCircle = CirclePlay; +exports.PlayCircleIcon = CirclePlay; +exports.PlayIcon = Play; +exports.PlaySquare = SquarePlay; +exports.PlaySquareIcon = SquarePlay; +exports.Plug = Plug; +exports.Plug2 = Plug2; +exports.Plug2Icon = Plug2; +exports.PlugIcon = Plug; +exports.PlugZap = PlugZap; +exports.PlugZap2 = PlugZap; +exports.PlugZap2Icon = PlugZap; +exports.PlugZapIcon = PlugZap; +exports.Plus = Plus; +exports.PlusCircle = CirclePlus; +exports.PlusCircleIcon = CirclePlus; +exports.PlusIcon = Plus; +exports.PlusSquare = SquarePlus; +exports.PlusSquareIcon = SquarePlus; +exports.Pocket = Pocket; +exports.PocketIcon = Pocket; +exports.PocketKnife = PocketKnife; +exports.PocketKnifeIcon = PocketKnife; +exports.Podcast = Podcast; +exports.PodcastIcon = Podcast; +exports.Pointer = Pointer; +exports.PointerIcon = Pointer; +exports.PointerOff = PointerOff; +exports.PointerOffIcon = PointerOff; +exports.Popcorn = Popcorn; +exports.PopcornIcon = Popcorn; +exports.Popsicle = Popsicle; +exports.PopsicleIcon = Popsicle; +exports.PoundSterling = PoundSterling; +exports.PoundSterlingIcon = PoundSterling; +exports.Power = Power; +exports.PowerCircle = CirclePower; +exports.PowerCircleIcon = CirclePower; +exports.PowerIcon = Power; +exports.PowerOff = PowerOff; +exports.PowerOffIcon = PowerOff; +exports.PowerSquare = SquarePower; +exports.PowerSquareIcon = SquarePower; +exports.Presentation = Presentation; +exports.PresentationIcon = Presentation; +exports.Printer = Printer; +exports.PrinterCheck = PrinterCheck; +exports.PrinterCheckIcon = PrinterCheck; +exports.PrinterIcon = Printer; +exports.Projector = Projector; +exports.ProjectorIcon = Projector; +exports.Proportions = Proportions; +exports.ProportionsIcon = Proportions; +exports.Puzzle = Puzzle; +exports.PuzzleIcon = Puzzle; +exports.Pyramid = Pyramid; +exports.PyramidIcon = Pyramid; +exports.QrCode = QrCode; +exports.QrCodeIcon = QrCode; +exports.Quote = Quote; +exports.QuoteIcon = Quote; +exports.Rabbit = Rabbit; +exports.RabbitIcon = Rabbit; +exports.Radar = Radar; +exports.RadarIcon = Radar; +exports.Radiation = Radiation; +exports.RadiationIcon = Radiation; +exports.Radical = Radical; +exports.RadicalIcon = Radical; +exports.Radio = Radio; +exports.RadioIcon = Radio; +exports.RadioReceiver = RadioReceiver; +exports.RadioReceiverIcon = RadioReceiver; +exports.RadioTower = RadioTower; +exports.RadioTowerIcon = RadioTower; +exports.Radius = Radius; +exports.RadiusIcon = Radius; +exports.RailSymbol = RailSymbol; +exports.RailSymbolIcon = RailSymbol; +exports.Rainbow = Rainbow; +exports.RainbowIcon = Rainbow; +exports.Rat = Rat; +exports.RatIcon = Rat; +exports.Ratio = Ratio; +exports.RatioIcon = Ratio; +exports.Receipt = Receipt; +exports.ReceiptCent = ReceiptCent; +exports.ReceiptCentIcon = ReceiptCent; +exports.ReceiptEuro = ReceiptEuro; +exports.ReceiptEuroIcon = ReceiptEuro; +exports.ReceiptIcon = Receipt; +exports.ReceiptIndianRupee = ReceiptIndianRupee; +exports.ReceiptIndianRupeeIcon = ReceiptIndianRupee; +exports.ReceiptJapaneseYen = ReceiptJapaneseYen; +exports.ReceiptJapaneseYenIcon = ReceiptJapaneseYen; +exports.ReceiptPoundSterling = ReceiptPoundSterling; +exports.ReceiptPoundSterlingIcon = ReceiptPoundSterling; +exports.ReceiptRussianRuble = ReceiptRussianRuble; +exports.ReceiptRussianRubleIcon = ReceiptRussianRuble; +exports.ReceiptSwissFranc = ReceiptSwissFranc; +exports.ReceiptSwissFrancIcon = ReceiptSwissFranc; +exports.ReceiptText = ReceiptText; +exports.ReceiptTextIcon = ReceiptText; +exports.RectangleEllipsis = RectangleEllipsis; +exports.RectangleEllipsisIcon = RectangleEllipsis; +exports.RectangleHorizontal = RectangleHorizontal; +exports.RectangleHorizontalIcon = RectangleHorizontal; +exports.RectangleVertical = RectangleVertical; +exports.RectangleVerticalIcon = RectangleVertical; +exports.Recycle = Recycle; +exports.RecycleIcon = Recycle; +exports.Redo = Redo; +exports.Redo2 = Redo2; +exports.Redo2Icon = Redo2; +exports.RedoDot = RedoDot; +exports.RedoDotIcon = RedoDot; +exports.RedoIcon = Redo; +exports.RefreshCcw = RefreshCcw; +exports.RefreshCcwDot = RefreshCcwDot; +exports.RefreshCcwDotIcon = RefreshCcwDot; +exports.RefreshCcwIcon = RefreshCcw; +exports.RefreshCw = RefreshCw; +exports.RefreshCwIcon = RefreshCw; +exports.RefreshCwOff = RefreshCwOff; +exports.RefreshCwOffIcon = RefreshCwOff; +exports.Refrigerator = Refrigerator; +exports.RefrigeratorIcon = Refrigerator; +exports.Regex = Regex; +exports.RegexIcon = Regex; +exports.RemoveFormatting = RemoveFormatting; +exports.RemoveFormattingIcon = RemoveFormatting; +exports.Repeat = Repeat; +exports.Repeat1 = Repeat1; +exports.Repeat1Icon = Repeat1; +exports.Repeat2 = Repeat2; +exports.Repeat2Icon = Repeat2; +exports.RepeatIcon = Repeat; +exports.Replace = Replace; +exports.ReplaceAll = ReplaceAll; +exports.ReplaceAllIcon = ReplaceAll; +exports.ReplaceIcon = Replace; +exports.Reply = Reply; +exports.ReplyAll = ReplyAll; +exports.ReplyAllIcon = ReplyAll; +exports.ReplyIcon = Reply; +exports.Rewind = Rewind; +exports.RewindIcon = Rewind; +exports.Ribbon = Ribbon; +exports.RibbonIcon = Ribbon; +exports.Rocket = Rocket; +exports.RocketIcon = Rocket; +exports.RockingChair = RockingChair; +exports.RockingChairIcon = RockingChair; +exports.RollerCoaster = RollerCoaster; +exports.RollerCoasterIcon = RollerCoaster; +exports.Rotate3D = Rotate3d; +exports.Rotate3DIcon = Rotate3d; +exports.Rotate3d = Rotate3d; +exports.Rotate3dIcon = Rotate3d; +exports.RotateCcw = RotateCcw; +exports.RotateCcwIcon = RotateCcw; +exports.RotateCcwSquare = RotateCcwSquare; +exports.RotateCcwSquareIcon = RotateCcwSquare; +exports.RotateCw = RotateCw; +exports.RotateCwIcon = RotateCw; +exports.RotateCwSquare = RotateCwSquare; +exports.RotateCwSquareIcon = RotateCwSquare; +exports.Route = Route; +exports.RouteIcon = Route; +exports.RouteOff = RouteOff; +exports.RouteOffIcon = RouteOff; +exports.Router = Router; +exports.RouterIcon = Router; +exports.Rows = Rows2; +exports.Rows2 = Rows2; +exports.Rows2Icon = Rows2; +exports.Rows3 = Rows3; +exports.Rows3Icon = Rows3; +exports.Rows4 = Rows4; +exports.Rows4Icon = Rows4; +exports.RowsIcon = Rows2; +exports.Rss = Rss; +exports.RssIcon = Rss; +exports.Ruler = Ruler; +exports.RulerIcon = Ruler; +exports.RussianRuble = RussianRuble; +exports.RussianRubleIcon = RussianRuble; +exports.Sailboat = Sailboat; +exports.SailboatIcon = Sailboat; +exports.Salad = Salad; +exports.SaladIcon = Salad; +exports.Sandwich = Sandwich; +exports.SandwichIcon = Sandwich; +exports.Satellite = Satellite; +exports.SatelliteDish = SatelliteDish; +exports.SatelliteDishIcon = SatelliteDish; +exports.SatelliteIcon = Satellite; +exports.Save = Save; +exports.SaveAll = SaveAll; +exports.SaveAllIcon = SaveAll; +exports.SaveIcon = Save; +exports.SaveOff = SaveOff; +exports.SaveOffIcon = SaveOff; +exports.Scale = Scale; +exports.Scale3D = Scale3d; +exports.Scale3DIcon = Scale3d; +exports.Scale3d = Scale3d; +exports.Scale3dIcon = Scale3d; +exports.ScaleIcon = Scale; +exports.Scaling = Scaling; +exports.ScalingIcon = Scaling; +exports.Scan = Scan; +exports.ScanBarcode = ScanBarcode; +exports.ScanBarcodeIcon = ScanBarcode; +exports.ScanEye = ScanEye; +exports.ScanEyeIcon = ScanEye; +exports.ScanFace = ScanFace; +exports.ScanFaceIcon = ScanFace; +exports.ScanHeart = ScanHeart; +exports.ScanHeartIcon = ScanHeart; +exports.ScanIcon = Scan; +exports.ScanLine = ScanLine; +exports.ScanLineIcon = ScanLine; +exports.ScanQrCode = ScanQrCode; +exports.ScanQrCodeIcon = ScanQrCode; +exports.ScanSearch = ScanSearch; +exports.ScanSearchIcon = ScanSearch; +exports.ScanText = ScanText; +exports.ScanTextIcon = ScanText; +exports.ScatterChart = ChartScatter; +exports.ScatterChartIcon = ChartScatter; +exports.School = School; +exports.School2 = University; +exports.School2Icon = University; +exports.SchoolIcon = School; +exports.Scissors = Scissors; +exports.ScissorsIcon = Scissors; +exports.ScissorsLineDashed = ScissorsLineDashed; +exports.ScissorsLineDashedIcon = ScissorsLineDashed; +exports.ScissorsSquare = SquareScissors; +exports.ScissorsSquareDashedBottom = SquareBottomDashedScissors; +exports.ScissorsSquareDashedBottomIcon = SquareBottomDashedScissors; +exports.ScissorsSquareIcon = SquareScissors; +exports.ScreenShare = ScreenShare; +exports.ScreenShareIcon = ScreenShare; +exports.ScreenShareOff = ScreenShareOff; +exports.ScreenShareOffIcon = ScreenShareOff; +exports.Scroll = Scroll; +exports.ScrollIcon = Scroll; +exports.ScrollText = ScrollText; +exports.ScrollTextIcon = ScrollText; +exports.Search = Search; +exports.SearchCheck = SearchCheck; +exports.SearchCheckIcon = SearchCheck; +exports.SearchCode = SearchCode; +exports.SearchCodeIcon = SearchCode; +exports.SearchIcon = Search; +exports.SearchSlash = SearchSlash; +exports.SearchSlashIcon = SearchSlash; +exports.SearchX = SearchX; +exports.SearchXIcon = SearchX; +exports.Section = Section; +exports.SectionIcon = Section; +exports.Send = Send; +exports.SendHorizonal = SendHorizontal; +exports.SendHorizonalIcon = SendHorizontal; +exports.SendHorizontal = SendHorizontal; +exports.SendHorizontalIcon = SendHorizontal; +exports.SendIcon = Send; +exports.SendToBack = SendToBack; +exports.SendToBackIcon = SendToBack; +exports.SeparatorHorizontal = SeparatorHorizontal; +exports.SeparatorHorizontalIcon = SeparatorHorizontal; +exports.SeparatorVertical = SeparatorVertical; +exports.SeparatorVerticalIcon = SeparatorVertical; +exports.Server = Server; +exports.ServerCog = ServerCog; +exports.ServerCogIcon = ServerCog; +exports.ServerCrash = ServerCrash; +exports.ServerCrashIcon = ServerCrash; +exports.ServerIcon = Server; +exports.ServerOff = ServerOff; +exports.ServerOffIcon = ServerOff; +exports.Settings = Settings; +exports.Settings2 = Settings2; +exports.Settings2Icon = Settings2; +exports.SettingsIcon = Settings; +exports.Shapes = Shapes; +exports.ShapesIcon = Shapes; +exports.Share = Share; +exports.Share2 = Share2; +exports.Share2Icon = Share2; +exports.ShareIcon = Share; +exports.Sheet = Sheet; +exports.SheetIcon = Sheet; +exports.Shell = Shell; +exports.ShellIcon = Shell; +exports.Shield = Shield; +exports.ShieldAlert = ShieldAlert; +exports.ShieldAlertIcon = ShieldAlert; +exports.ShieldBan = ShieldBan; +exports.ShieldBanIcon = ShieldBan; +exports.ShieldCheck = ShieldCheck; +exports.ShieldCheckIcon = ShieldCheck; +exports.ShieldClose = ShieldX; +exports.ShieldCloseIcon = ShieldX; +exports.ShieldEllipsis = ShieldEllipsis; +exports.ShieldEllipsisIcon = ShieldEllipsis; +exports.ShieldHalf = ShieldHalf; +exports.ShieldHalfIcon = ShieldHalf; +exports.ShieldIcon = Shield; +exports.ShieldMinus = ShieldMinus; +exports.ShieldMinusIcon = ShieldMinus; +exports.ShieldOff = ShieldOff; +exports.ShieldOffIcon = ShieldOff; +exports.ShieldPlus = ShieldPlus; +exports.ShieldPlusIcon = ShieldPlus; +exports.ShieldQuestion = ShieldQuestion; +exports.ShieldQuestionIcon = ShieldQuestion; +exports.ShieldX = ShieldX; +exports.ShieldXIcon = ShieldX; +exports.Ship = Ship; +exports.ShipIcon = Ship; +exports.ShipWheel = ShipWheel; +exports.ShipWheelIcon = ShipWheel; +exports.Shirt = Shirt; +exports.ShirtIcon = Shirt; +exports.ShoppingBag = ShoppingBag; +exports.ShoppingBagIcon = ShoppingBag; +exports.ShoppingBasket = ShoppingBasket; +exports.ShoppingBasketIcon = ShoppingBasket; +exports.ShoppingCart = ShoppingCart; +exports.ShoppingCartIcon = ShoppingCart; +exports.Shovel = Shovel; +exports.ShovelIcon = Shovel; +exports.ShowerHead = ShowerHead; +exports.ShowerHeadIcon = ShowerHead; +exports.Shrink = Shrink; +exports.ShrinkIcon = Shrink; +exports.Shrub = Shrub; +exports.ShrubIcon = Shrub; +exports.Shuffle = Shuffle; +exports.ShuffleIcon = Shuffle; +exports.Sidebar = PanelLeft; +exports.SidebarClose = PanelLeftClose; +exports.SidebarCloseIcon = PanelLeftClose; +exports.SidebarIcon = PanelLeft; +exports.SidebarOpen = PanelLeftOpen; +exports.SidebarOpenIcon = PanelLeftOpen; +exports.Sigma = Sigma; +exports.SigmaIcon = Sigma; +exports.SigmaSquare = SquareSigma; +exports.SigmaSquareIcon = SquareSigma; +exports.Signal = Signal; +exports.SignalHigh = SignalHigh; +exports.SignalHighIcon = SignalHigh; +exports.SignalIcon = Signal; +exports.SignalLow = SignalLow; +exports.SignalLowIcon = SignalLow; +exports.SignalMedium = SignalMedium; +exports.SignalMediumIcon = SignalMedium; +exports.SignalZero = SignalZero; +exports.SignalZeroIcon = SignalZero; +exports.Signature = Signature; +exports.SignatureIcon = Signature; +exports.Signpost = Signpost; +exports.SignpostBig = SignpostBig; +exports.SignpostBigIcon = SignpostBig; +exports.SignpostIcon = Signpost; +exports.Siren = Siren; +exports.SirenIcon = Siren; +exports.SkipBack = SkipBack; +exports.SkipBackIcon = SkipBack; +exports.SkipForward = SkipForward; +exports.SkipForwardIcon = SkipForward; +exports.Skull = Skull; +exports.SkullIcon = Skull; +exports.Slack = Slack; +exports.SlackIcon = Slack; +exports.Slash = Slash; +exports.SlashIcon = Slash; +exports.SlashSquare = SquareSlash; +exports.SlashSquareIcon = SquareSlash; +exports.Slice = Slice; +exports.SliceIcon = Slice; +exports.Sliders = SlidersVertical; +exports.SlidersHorizontal = SlidersHorizontal; +exports.SlidersHorizontalIcon = SlidersHorizontal; +exports.SlidersIcon = SlidersVertical; +exports.SlidersVertical = SlidersVertical; +exports.SlidersVerticalIcon = SlidersVertical; +exports.Smartphone = Smartphone; +exports.SmartphoneCharging = SmartphoneCharging; +exports.SmartphoneChargingIcon = SmartphoneCharging; +exports.SmartphoneIcon = Smartphone; +exports.SmartphoneNfc = SmartphoneNfc; +exports.SmartphoneNfcIcon = SmartphoneNfc; +exports.Smile = Smile; +exports.SmileIcon = Smile; +exports.SmilePlus = SmilePlus; +exports.SmilePlusIcon = SmilePlus; +exports.Snail = Snail; +exports.SnailIcon = Snail; +exports.Snowflake = Snowflake; +exports.SnowflakeIcon = Snowflake; +exports.Sofa = Sofa; +exports.SofaIcon = Sofa; +exports.SortAsc = ArrowUpNarrowWide; +exports.SortAscIcon = ArrowUpNarrowWide; +exports.SortDesc = ArrowDownWideNarrow; +exports.SortDescIcon = ArrowDownWideNarrow; +exports.Soup = Soup; +exports.SoupIcon = Soup; +exports.Space = Space; +exports.SpaceIcon = Space; +exports.Spade = Spade; +exports.SpadeIcon = Spade; +exports.Sparkle = Sparkle; +exports.SparkleIcon = Sparkle; +exports.Sparkles = Sparkles; +exports.SparklesIcon = Sparkles; +exports.Speaker = Speaker; +exports.SpeakerIcon = Speaker; +exports.Speech = Speech; +exports.SpeechIcon = Speech; +exports.SpellCheck = SpellCheck; +exports.SpellCheck2 = SpellCheck2; +exports.SpellCheck2Icon = SpellCheck2; +exports.SpellCheckIcon = SpellCheck; +exports.Spline = Spline; +exports.SplineIcon = Spline; +exports.Split = Split; +exports.SplitIcon = Split; +exports.SplitSquareHorizontal = SquareSplitHorizontal; +exports.SplitSquareHorizontalIcon = SquareSplitHorizontal; +exports.SplitSquareVertical = SquareSplitVertical; +exports.SplitSquareVerticalIcon = SquareSplitVertical; +exports.SprayCan = SprayCan; +exports.SprayCanIcon = SprayCan; +exports.Sprout = Sprout; +exports.SproutIcon = Sprout; +exports.Square = Square; +exports.SquareActivity = SquareActivity; +exports.SquareActivityIcon = SquareActivity; +exports.SquareArrowDown = SquareArrowDown; +exports.SquareArrowDownIcon = SquareArrowDown; +exports.SquareArrowDownLeft = SquareArrowDownLeft; +exports.SquareArrowDownLeftIcon = SquareArrowDownLeft; +exports.SquareArrowDownRight = SquareArrowDownRight; +exports.SquareArrowDownRightIcon = SquareArrowDownRight; +exports.SquareArrowLeft = SquareArrowLeft; +exports.SquareArrowLeftIcon = SquareArrowLeft; +exports.SquareArrowOutDownLeft = SquareArrowOutDownLeft; +exports.SquareArrowOutDownLeftIcon = SquareArrowOutDownLeft; +exports.SquareArrowOutDownRight = SquareArrowOutDownRight; +exports.SquareArrowOutDownRightIcon = SquareArrowOutDownRight; +exports.SquareArrowOutUpLeft = SquareArrowOutUpLeft; +exports.SquareArrowOutUpLeftIcon = SquareArrowOutUpLeft; +exports.SquareArrowOutUpRight = SquareArrowOutUpRight; +exports.SquareArrowOutUpRightIcon = SquareArrowOutUpRight; +exports.SquareArrowRight = SquareArrowRight; +exports.SquareArrowRightIcon = SquareArrowRight; +exports.SquareArrowUp = SquareArrowUp; +exports.SquareArrowUpIcon = SquareArrowUp; +exports.SquareArrowUpLeft = SquareArrowUpLeft; +exports.SquareArrowUpLeftIcon = SquareArrowUpLeft; +exports.SquareArrowUpRight = SquareArrowUpRight; +exports.SquareArrowUpRightIcon = SquareArrowUpRight; +exports.SquareAsterisk = SquareAsterisk; +exports.SquareAsteriskIcon = SquareAsterisk; +exports.SquareBottomDashedScissors = SquareBottomDashedScissors; +exports.SquareBottomDashedScissorsIcon = SquareBottomDashedScissors; +exports.SquareChartGantt = SquareChartGantt; +exports.SquareChartGanttIcon = SquareChartGantt; +exports.SquareCheck = SquareCheck; +exports.SquareCheckBig = SquareCheckBig; +exports.SquareCheckBigIcon = SquareCheckBig; +exports.SquareCheckIcon = SquareCheck; +exports.SquareChevronDown = SquareChevronDown; +exports.SquareChevronDownIcon = SquareChevronDown; +exports.SquareChevronLeft = SquareChevronLeft; +exports.SquareChevronLeftIcon = SquareChevronLeft; +exports.SquareChevronRight = SquareChevronRight; +exports.SquareChevronRightIcon = SquareChevronRight; +exports.SquareChevronUp = SquareChevronUp; +exports.SquareChevronUpIcon = SquareChevronUp; +exports.SquareCode = SquareCode; +exports.SquareCodeIcon = SquareCode; +exports.SquareDashed = SquareDashed; +exports.SquareDashedBottom = SquareDashedBottom; +exports.SquareDashedBottomCode = SquareDashedBottomCode; +exports.SquareDashedBottomCodeIcon = SquareDashedBottomCode; +exports.SquareDashedBottomIcon = SquareDashedBottom; +exports.SquareDashedIcon = SquareDashed; +exports.SquareDashedKanban = SquareDashedKanban; +exports.SquareDashedKanbanIcon = SquareDashedKanban; +exports.SquareDashedMousePointer = SquareDashedMousePointer; +exports.SquareDashedMousePointerIcon = SquareDashedMousePointer; +exports.SquareDivide = SquareDivide; +exports.SquareDivideIcon = SquareDivide; +exports.SquareDot = SquareDot; +exports.SquareDotIcon = SquareDot; +exports.SquareEqual = SquareEqual; +exports.SquareEqualIcon = SquareEqual; +exports.SquareFunction = SquareFunction; +exports.SquareFunctionIcon = SquareFunction; +exports.SquareGanttChart = SquareChartGantt; +exports.SquareGanttChartIcon = SquareChartGantt; +exports.SquareIcon = Square; +exports.SquareKanban = SquareKanban; +exports.SquareKanbanIcon = SquareKanban; +exports.SquareLibrary = SquareLibrary; +exports.SquareLibraryIcon = SquareLibrary; +exports.SquareM = SquareM; +exports.SquareMIcon = SquareM; +exports.SquareMenu = SquareMenu; +exports.SquareMenuIcon = SquareMenu; +exports.SquareMinus = SquareMinus; +exports.SquareMinusIcon = SquareMinus; +exports.SquareMousePointer = SquareMousePointer; +exports.SquareMousePointerIcon = SquareMousePointer; +exports.SquareParking = SquareParking; +exports.SquareParkingIcon = SquareParking; +exports.SquareParkingOff = SquareParkingOff; +exports.SquareParkingOffIcon = SquareParkingOff; +exports.SquarePen = SquarePen; +exports.SquarePenIcon = SquarePen; +exports.SquarePercent = SquarePercent; +exports.SquarePercentIcon = SquarePercent; +exports.SquarePi = SquarePi; +exports.SquarePiIcon = SquarePi; +exports.SquarePilcrow = SquarePilcrow; +exports.SquarePilcrowIcon = SquarePilcrow; +exports.SquarePlay = SquarePlay; +exports.SquarePlayIcon = SquarePlay; +exports.SquarePlus = SquarePlus; +exports.SquarePlusIcon = SquarePlus; +exports.SquarePower = SquarePower; +exports.SquarePowerIcon = SquarePower; +exports.SquareRadical = SquareRadical; +exports.SquareRadicalIcon = SquareRadical; +exports.SquareScissors = SquareScissors; +exports.SquareScissorsIcon = SquareScissors; +exports.SquareSigma = SquareSigma; +exports.SquareSigmaIcon = SquareSigma; +exports.SquareSlash = SquareSlash; +exports.SquareSlashIcon = SquareSlash; +exports.SquareSplitHorizontal = SquareSplitHorizontal; +exports.SquareSplitHorizontalIcon = SquareSplitHorizontal; +exports.SquareSplitVertical = SquareSplitVertical; +exports.SquareSplitVerticalIcon = SquareSplitVertical; +exports.SquareSquare = SquareSquare; +exports.SquareSquareIcon = SquareSquare; +exports.SquareStack = SquareStack; +exports.SquareStackIcon = SquareStack; +exports.SquareTerminal = SquareTerminal; +exports.SquareTerminalIcon = SquareTerminal; +exports.SquareUser = SquareUser; +exports.SquareUserIcon = SquareUser; +exports.SquareUserRound = SquareUserRound; +exports.SquareUserRoundIcon = SquareUserRound; +exports.SquareX = SquareX; +exports.SquareXIcon = SquareX; +exports.Squircle = Squircle; +exports.SquircleIcon = Squircle; +exports.Squirrel = Squirrel; +exports.SquirrelIcon = Squirrel; +exports.Stamp = Stamp; +exports.StampIcon = Stamp; +exports.Star = Star; +exports.StarHalf = StarHalf; +exports.StarHalfIcon = StarHalf; +exports.StarIcon = Star; +exports.StarOff = StarOff; +exports.StarOffIcon = StarOff; +exports.Stars = Sparkles; +exports.StarsIcon = Sparkles; +exports.StepBack = StepBack; +exports.StepBackIcon = StepBack; +exports.StepForward = StepForward; +exports.StepForwardIcon = StepForward; +exports.Stethoscope = Stethoscope; +exports.StethoscopeIcon = Stethoscope; +exports.Sticker = Sticker; +exports.StickerIcon = Sticker; +exports.StickyNote = StickyNote; +exports.StickyNoteIcon = StickyNote; +exports.StopCircle = CircleStop; +exports.StopCircleIcon = CircleStop; +exports.Store = Store; +exports.StoreIcon = Store; +exports.StretchHorizontal = StretchHorizontal; +exports.StretchHorizontalIcon = StretchHorizontal; +exports.StretchVertical = StretchVertical; +exports.StretchVerticalIcon = StretchVertical; +exports.Strikethrough = Strikethrough; +exports.StrikethroughIcon = Strikethrough; +exports.Subscript = Subscript; +exports.SubscriptIcon = Subscript; +exports.Subtitles = Captions; +exports.SubtitlesIcon = Captions; +exports.Sun = Sun; +exports.SunDim = SunDim; +exports.SunDimIcon = SunDim; +exports.SunIcon = Sun; +exports.SunMedium = SunMedium; +exports.SunMediumIcon = SunMedium; +exports.SunMoon = SunMoon; +exports.SunMoonIcon = SunMoon; +exports.SunSnow = SunSnow; +exports.SunSnowIcon = SunSnow; +exports.Sunrise = Sunrise; +exports.SunriseIcon = Sunrise; +exports.Sunset = Sunset; +exports.SunsetIcon = Sunset; +exports.Superscript = Superscript; +exports.SuperscriptIcon = Superscript; +exports.SwatchBook = SwatchBook; +exports.SwatchBookIcon = SwatchBook; +exports.SwissFranc = SwissFranc; +exports.SwissFrancIcon = SwissFranc; +exports.SwitchCamera = SwitchCamera; +exports.SwitchCameraIcon = SwitchCamera; +exports.Sword = Sword; +exports.SwordIcon = Sword; +exports.Swords = Swords; +exports.SwordsIcon = Swords; +exports.Syringe = Syringe; +exports.SyringeIcon = Syringe; +exports.Table = Table; +exports.Table2 = Table2; +exports.Table2Icon = Table2; +exports.TableCellsMerge = TableCellsMerge; +exports.TableCellsMergeIcon = TableCellsMerge; +exports.TableCellsSplit = TableCellsSplit; +exports.TableCellsSplitIcon = TableCellsSplit; +exports.TableColumnsSplit = TableColumnsSplit; +exports.TableColumnsSplitIcon = TableColumnsSplit; +exports.TableIcon = Table; +exports.TableOfContents = TableOfContents; +exports.TableOfContentsIcon = TableOfContents; +exports.TableProperties = TableProperties; +exports.TablePropertiesIcon = TableProperties; +exports.TableRowsSplit = TableRowsSplit; +exports.TableRowsSplitIcon = TableRowsSplit; +exports.Tablet = Tablet; +exports.TabletIcon = Tablet; +exports.TabletSmartphone = TabletSmartphone; +exports.TabletSmartphoneIcon = TabletSmartphone; +exports.Tablets = Tablets; +exports.TabletsIcon = Tablets; +exports.Tag = Tag; +exports.TagIcon = Tag; +exports.Tags = Tags; +exports.TagsIcon = Tags; +exports.Tally1 = Tally1; +exports.Tally1Icon = Tally1; +exports.Tally2 = Tally2; +exports.Tally2Icon = Tally2; +exports.Tally3 = Tally3; +exports.Tally3Icon = Tally3; +exports.Tally4 = Tally4; +exports.Tally4Icon = Tally4; +exports.Tally5 = Tally5; +exports.Tally5Icon = Tally5; +exports.Tangent = Tangent; +exports.TangentIcon = Tangent; +exports.Target = Target; +exports.TargetIcon = Target; +exports.Telescope = Telescope; +exports.TelescopeIcon = Telescope; +exports.Tent = Tent; +exports.TentIcon = Tent; +exports.TentTree = TentTree; +exports.TentTreeIcon = TentTree; +exports.Terminal = Terminal; +exports.TerminalIcon = Terminal; +exports.TerminalSquare = SquareTerminal; +exports.TerminalSquareIcon = SquareTerminal; +exports.TestTube = TestTube; +exports.TestTube2 = TestTubeDiagonal; +exports.TestTube2Icon = TestTubeDiagonal; +exports.TestTubeDiagonal = TestTubeDiagonal; +exports.TestTubeDiagonalIcon = TestTubeDiagonal; +exports.TestTubeIcon = TestTube; +exports.TestTubes = TestTubes; +exports.TestTubesIcon = TestTubes; +exports.Text = Text; +exports.TextCursor = TextCursor; +exports.TextCursorIcon = TextCursor; +exports.TextCursorInput = TextCursorInput; +exports.TextCursorInputIcon = TextCursorInput; +exports.TextIcon = Text; +exports.TextQuote = TextQuote; +exports.TextQuoteIcon = TextQuote; +exports.TextSearch = TextSearch; +exports.TextSearchIcon = TextSearch; +exports.TextSelect = TextSelect; +exports.TextSelectIcon = TextSelect; +exports.TextSelection = TextSelect; +exports.TextSelectionIcon = TextSelect; +exports.Theater = Theater; +exports.TheaterIcon = Theater; +exports.Thermometer = Thermometer; +exports.ThermometerIcon = Thermometer; +exports.ThermometerSnowflake = ThermometerSnowflake; +exports.ThermometerSnowflakeIcon = ThermometerSnowflake; +exports.ThermometerSun = ThermometerSun; +exports.ThermometerSunIcon = ThermometerSun; +exports.ThumbsDown = ThumbsDown; +exports.ThumbsDownIcon = ThumbsDown; +exports.ThumbsUp = ThumbsUp; +exports.ThumbsUpIcon = ThumbsUp; +exports.Ticket = Ticket; +exports.TicketCheck = TicketCheck; +exports.TicketCheckIcon = TicketCheck; +exports.TicketIcon = Ticket; +exports.TicketMinus = TicketMinus; +exports.TicketMinusIcon = TicketMinus; +exports.TicketPercent = TicketPercent; +exports.TicketPercentIcon = TicketPercent; +exports.TicketPlus = TicketPlus; +exports.TicketPlusIcon = TicketPlus; +exports.TicketSlash = TicketSlash; +exports.TicketSlashIcon = TicketSlash; +exports.TicketX = TicketX; +exports.TicketXIcon = TicketX; +exports.Tickets = Tickets; +exports.TicketsIcon = Tickets; +exports.TicketsPlane = TicketsPlane; +exports.TicketsPlaneIcon = TicketsPlane; +exports.Timer = Timer; +exports.TimerIcon = Timer; +exports.TimerOff = TimerOff; +exports.TimerOffIcon = TimerOff; +exports.TimerReset = TimerReset; +exports.TimerResetIcon = TimerReset; +exports.ToggleLeft = ToggleLeft; +exports.ToggleLeftIcon = ToggleLeft; +exports.ToggleRight = ToggleRight; +exports.ToggleRightIcon = ToggleRight; +exports.Toilet = Toilet; +exports.ToiletIcon = Toilet; +exports.Tornado = Tornado; +exports.TornadoIcon = Tornado; +exports.Torus = Torus; +exports.TorusIcon = Torus; +exports.Touchpad = Touchpad; +exports.TouchpadIcon = Touchpad; +exports.TouchpadOff = TouchpadOff; +exports.TouchpadOffIcon = TouchpadOff; +exports.TowerControl = TowerControl; +exports.TowerControlIcon = TowerControl; +exports.ToyBrick = ToyBrick; +exports.ToyBrickIcon = ToyBrick; +exports.Tractor = Tractor; +exports.TractorIcon = Tractor; +exports.TrafficCone = TrafficCone; +exports.TrafficConeIcon = TrafficCone; +exports.Train = TramFront; +exports.TrainFront = TrainFront; +exports.TrainFrontIcon = TrainFront; +exports.TrainFrontTunnel = TrainFrontTunnel; +exports.TrainFrontTunnelIcon = TrainFrontTunnel; +exports.TrainIcon = TramFront; +exports.TrainTrack = TrainTrack; +exports.TrainTrackIcon = TrainTrack; +exports.TramFront = TramFront; +exports.TramFrontIcon = TramFront; +exports.Transgender = Transgender; +exports.TransgenderIcon = Transgender; +exports.Trash = Trash; +exports.Trash2 = Trash2; +exports.Trash2Icon = Trash2; +exports.TrashIcon = Trash; +exports.TreeDeciduous = TreeDeciduous; +exports.TreeDeciduousIcon = TreeDeciduous; +exports.TreePalm = TreePalm; +exports.TreePalmIcon = TreePalm; +exports.TreePine = TreePine; +exports.TreePineIcon = TreePine; +exports.Trees = Trees; +exports.TreesIcon = Trees; +exports.Trello = Trello; +exports.TrelloIcon = Trello; +exports.TrendingDown = TrendingDown; +exports.TrendingDownIcon = TrendingDown; +exports.TrendingUp = TrendingUp; +exports.TrendingUpDown = TrendingUpDown; +exports.TrendingUpDownIcon = TrendingUpDown; +exports.TrendingUpIcon = TrendingUp; +exports.Triangle = Triangle; +exports.TriangleAlert = TriangleAlert; +exports.TriangleAlertIcon = TriangleAlert; +exports.TriangleDashed = TriangleDashed; +exports.TriangleDashedIcon = TriangleDashed; +exports.TriangleIcon = Triangle; +exports.TriangleRight = TriangleRight; +exports.TriangleRightIcon = TriangleRight; +exports.Trophy = Trophy; +exports.TrophyIcon = Trophy; +exports.Truck = Truck; +exports.TruckIcon = Truck; +exports.Turtle = Turtle; +exports.TurtleIcon = Turtle; +exports.Tv = Tv; +exports.Tv2 = TvMinimal; +exports.Tv2Icon = TvMinimal; +exports.TvIcon = Tv; +exports.TvMinimal = TvMinimal; +exports.TvMinimalIcon = TvMinimal; +exports.TvMinimalPlay = TvMinimalPlay; +exports.TvMinimalPlayIcon = TvMinimalPlay; +exports.Twitch = Twitch; +exports.TwitchIcon = Twitch; +exports.Twitter = Twitter; +exports.TwitterIcon = Twitter; +exports.Type = Type; +exports.TypeIcon = Type; +exports.TypeOutline = TypeOutline; +exports.TypeOutlineIcon = TypeOutline; +exports.Umbrella = Umbrella; +exports.UmbrellaIcon = Umbrella; +exports.UmbrellaOff = UmbrellaOff; +exports.UmbrellaOffIcon = UmbrellaOff; +exports.Underline = Underline; +exports.UnderlineIcon = Underline; +exports.Undo = Undo; +exports.Undo2 = Undo2; +exports.Undo2Icon = Undo2; +exports.UndoDot = UndoDot; +exports.UndoDotIcon = UndoDot; +exports.UndoIcon = Undo; +exports.UnfoldHorizontal = UnfoldHorizontal; +exports.UnfoldHorizontalIcon = UnfoldHorizontal; +exports.UnfoldVertical = UnfoldVertical; +exports.UnfoldVerticalIcon = UnfoldVertical; +exports.Ungroup = Ungroup; +exports.UngroupIcon = Ungroup; +exports.University = University; +exports.UniversityIcon = University; +exports.Unlink = Unlink; +exports.Unlink2 = Unlink2; +exports.Unlink2Icon = Unlink2; +exports.UnlinkIcon = Unlink; +exports.Unlock = LockOpen; +exports.UnlockIcon = LockOpen; +exports.UnlockKeyhole = LockKeyholeOpen; +exports.UnlockKeyholeIcon = LockKeyholeOpen; +exports.Unplug = Unplug; +exports.UnplugIcon = Unplug; +exports.Upload = Upload; +exports.UploadCloud = CloudUpload; +exports.UploadCloudIcon = CloudUpload; +exports.UploadIcon = Upload; +exports.Usb = Usb; +exports.UsbIcon = Usb; +exports.User = User; +exports.User2 = UserRound; +exports.User2Icon = UserRound; +exports.UserCheck = UserCheck; +exports.UserCheck2 = UserRoundCheck; +exports.UserCheck2Icon = UserRoundCheck; +exports.UserCheckIcon = UserCheck; +exports.UserCircle = CircleUser; +exports.UserCircle2 = CircleUserRound; +exports.UserCircle2Icon = CircleUserRound; +exports.UserCircleIcon = CircleUser; +exports.UserCog = UserCog; +exports.UserCog2 = UserRoundCog; +exports.UserCog2Icon = UserRoundCog; +exports.UserCogIcon = UserCog; +exports.UserIcon = User; +exports.UserMinus = UserMinus; +exports.UserMinus2 = UserRoundMinus; +exports.UserMinus2Icon = UserRoundMinus; +exports.UserMinusIcon = UserMinus; +exports.UserPen = UserPen; +exports.UserPenIcon = UserPen; +exports.UserPlus = UserPlus; +exports.UserPlus2 = UserRoundPlus; +exports.UserPlus2Icon = UserRoundPlus; +exports.UserPlusIcon = UserPlus; +exports.UserRound = UserRound; +exports.UserRoundCheck = UserRoundCheck; +exports.UserRoundCheckIcon = UserRoundCheck; +exports.UserRoundCog = UserRoundCog; +exports.UserRoundCogIcon = UserRoundCog; +exports.UserRoundIcon = UserRound; +exports.UserRoundMinus = UserRoundMinus; +exports.UserRoundMinusIcon = UserRoundMinus; +exports.UserRoundPen = UserRoundPen; +exports.UserRoundPenIcon = UserRoundPen; +exports.UserRoundPlus = UserRoundPlus; +exports.UserRoundPlusIcon = UserRoundPlus; +exports.UserRoundSearch = UserRoundSearch; +exports.UserRoundSearchIcon = UserRoundSearch; +exports.UserRoundX = UserRoundX; +exports.UserRoundXIcon = UserRoundX; +exports.UserSearch = UserSearch; +exports.UserSearchIcon = UserSearch; +exports.UserSquare = SquareUser; +exports.UserSquare2 = SquareUserRound; +exports.UserSquare2Icon = SquareUserRound; +exports.UserSquareIcon = SquareUser; +exports.UserX = UserX; +exports.UserX2 = UserRoundX; +exports.UserX2Icon = UserRoundX; +exports.UserXIcon = UserX; +exports.Users = Users; +exports.Users2 = UsersRound; +exports.Users2Icon = UsersRound; +exports.UsersIcon = Users; +exports.UsersRound = UsersRound; +exports.UsersRoundIcon = UsersRound; +exports.Utensils = Utensils; +exports.UtensilsCrossed = UtensilsCrossed; +exports.UtensilsCrossedIcon = UtensilsCrossed; +exports.UtensilsIcon = Utensils; +exports.UtilityPole = UtilityPole; +exports.UtilityPoleIcon = UtilityPole; +exports.Variable = Variable; +exports.VariableIcon = Variable; +exports.Vault = Vault; +exports.VaultIcon = Vault; +exports.Vegan = Vegan; +exports.VeganIcon = Vegan; +exports.VenetianMask = VenetianMask; +exports.VenetianMaskIcon = VenetianMask; +exports.Venus = Venus; +exports.VenusAndMars = VenusAndMars; +exports.VenusAndMarsIcon = VenusAndMars; +exports.VenusIcon = Venus; +exports.Verified = BadgeCheck; +exports.VerifiedIcon = BadgeCheck; +exports.Vibrate = Vibrate; +exports.VibrateIcon = Vibrate; +exports.VibrateOff = VibrateOff; +exports.VibrateOffIcon = VibrateOff; +exports.Video = Video; +exports.VideoIcon = Video; +exports.VideoOff = VideoOff; +exports.VideoOffIcon = VideoOff; +exports.Videotape = Videotape; +exports.VideotapeIcon = Videotape; +exports.View = View; +exports.ViewIcon = View; +exports.Voicemail = Voicemail; +exports.VoicemailIcon = Voicemail; +exports.Volleyball = Volleyball; +exports.VolleyballIcon = Volleyball; +exports.Volume = Volume; +exports.Volume1 = Volume1; +exports.Volume1Icon = Volume1; +exports.Volume2 = Volume2; +exports.Volume2Icon = Volume2; +exports.VolumeIcon = Volume; +exports.VolumeOff = VolumeOff; +exports.VolumeOffIcon = VolumeOff; +exports.VolumeX = VolumeX; +exports.VolumeXIcon = VolumeX; +exports.Vote = Vote; +exports.VoteIcon = Vote; +exports.Wallet = Wallet; +exports.Wallet2 = WalletMinimal; +exports.Wallet2Icon = WalletMinimal; +exports.WalletCards = WalletCards; +exports.WalletCardsIcon = WalletCards; +exports.WalletIcon = Wallet; +exports.WalletMinimal = WalletMinimal; +exports.WalletMinimalIcon = WalletMinimal; +exports.Wallpaper = Wallpaper; +exports.WallpaperIcon = Wallpaper; +exports.Wand = Wand; +exports.Wand2 = WandSparkles; +exports.Wand2Icon = WandSparkles; +exports.WandIcon = Wand; +exports.WandSparkles = WandSparkles; +exports.WandSparklesIcon = WandSparkles; +exports.Warehouse = Warehouse; +exports.WarehouseIcon = Warehouse; +exports.WashingMachine = WashingMachine; +exports.WashingMachineIcon = WashingMachine; +exports.Watch = Watch; +exports.WatchIcon = Watch; +exports.Waves = Waves; +exports.WavesIcon = Waves; +exports.WavesLadder = WavesLadder; +exports.WavesLadderIcon = WavesLadder; +exports.Waypoints = Waypoints; +exports.WaypointsIcon = Waypoints; +exports.Webcam = Webcam; +exports.WebcamIcon = Webcam; +exports.Webhook = Webhook; +exports.WebhookIcon = Webhook; +exports.WebhookOff = WebhookOff; +exports.WebhookOffIcon = WebhookOff; +exports.Weight = Weight; +exports.WeightIcon = Weight; +exports.Wheat = Wheat; +exports.WheatIcon = Wheat; +exports.WheatOff = WheatOff; +exports.WheatOffIcon = WheatOff; +exports.WholeWord = WholeWord; +exports.WholeWordIcon = WholeWord; +exports.Wifi = Wifi; +exports.WifiHigh = WifiHigh; +exports.WifiHighIcon = WifiHigh; +exports.WifiIcon = Wifi; +exports.WifiLow = WifiLow; +exports.WifiLowIcon = WifiLow; +exports.WifiOff = WifiOff; +exports.WifiOffIcon = WifiOff; +exports.WifiZero = WifiZero; +exports.WifiZeroIcon = WifiZero; +exports.Wind = Wind; +exports.WindArrowDown = WindArrowDown; +exports.WindArrowDownIcon = WindArrowDown; +exports.WindIcon = Wind; +exports.Wine = Wine; +exports.WineIcon = Wine; +exports.WineOff = WineOff; +exports.WineOffIcon = WineOff; +exports.Workflow = Workflow; +exports.WorkflowIcon = Workflow; +exports.Worm = Worm; +exports.WormIcon = Worm; +exports.WrapText = WrapText; +exports.WrapTextIcon = WrapText; +exports.Wrench = Wrench; +exports.WrenchIcon = Wrench; +exports.X = X; +exports.XCircle = CircleX; +exports.XCircleIcon = CircleX; +exports.XIcon = X; +exports.XOctagon = OctagonX; +exports.XOctagonIcon = OctagonX; +exports.XSquare = SquareX; +exports.XSquareIcon = SquareX; +exports.Youtube = Youtube; +exports.YoutubeIcon = Youtube; +exports.Zap = Zap; +exports.ZapIcon = Zap; +exports.ZapOff = ZapOff; +exports.ZapOffIcon = ZapOff; +exports.ZoomIn = ZoomIn; +exports.ZoomInIcon = ZoomIn; +exports.ZoomOut = ZoomOut; +exports.ZoomOutIcon = ZoomOut; +exports.createLucideIcon = createLucideIcon; +exports.icons = index; +//# sourceMappingURL=lucide-vue-next.js.map diff --git a/apps/web/.output/server/node_modules/lucide-vue-next/package.json b/apps/web/.output/server/node_modules/lucide-vue-next/package.json new file mode 100644 index 0000000..ac1c976 --- /dev/null +++ b/apps/web/.output/server/node_modules/lucide-vue-next/package.json @@ -0,0 +1,64 @@ +{ + "name": "lucide-vue-next", + "version": "0.475.0", + "author": "Eric Fennis", + "description": "A Lucide icon library package for Vue 3 applications", + "license": "ISC", + "homepage": "https://lucide.dev", + "bugs": "https://github.com/lucide-icons/lucide/issues", + "repository": { + "type": "git", + "url": "https://github.com/lucide-icons/lucide.git", + "directory": "packages/lucide-vue-next" + }, + "keywords": [ + "Lucide", + "Vue", + "Feather", + "Icons", + "Icon", + "SVG", + "Feather Icons", + "Fontawesome", + "Font Awesome" + ], + "amdName": "lucide-vue-next", + "source": "build/lucide-vue-next.js", + "main": "dist/cjs/lucide-vue-next.js", + "main:umd": "dist/umd/lucide-vue-next.js", + "module": "dist/esm/lucide-vue-next.js", + "unpkg": "dist/umd/lucide-vue-next.min.js", + "typings": "dist/lucide-vue-next.d.ts", + "sideEffects": false, + "files": [ + "dist", + "nuxt.js" + ], + "devDependencies": { + "@testing-library/jest-dom": "^6.1.6", + "@testing-library/vue": "^8.0.3", + "@vitejs/plugin-vue": "^4.6.2", + "@vue/test-utils": "2.4.5", + "rollup": "^4.22.4", + "rollup-plugin-dts": "^6.1.0", + "vite": "5.1.8", + "vitest": "^1.4.0", + "vue": "^3.4.21", + "@lucide/shared": "1.0.0", + "@lucide/rollup-plugins": "1.0.0", + "@lucide/build-icons": "1.1.0" + }, + "peerDependencies": { + "vue": ">=3.0.1" + }, + "scripts": { + "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:bundles", + "copy:license": "cp ../../LICENSE ./LICENSE", + "clean": "rm -rf dist && rm -rf ./src/icons/*.ts", + "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=index.ts", + "build:bundles": "rollup -c ./rollup.config.mjs", + "test": "pnpm build:icons && vitest run", + "test:watch": "vitest watch", + "version": "pnpm version --git-tag-version=false" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs new file mode 100644 index 0000000..e3b8170 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs @@ -0,0 +1,206 @@ +import { MotionGlobalConfig } from 'motion-utils'; +import { time } from '../frameloop/sync-time.mjs'; +import { JSAnimation } from './JSAnimation.mjs'; +import { getFinalKeyframe } from './keyframes/get-final.mjs'; +import { KeyframeResolver, flushKeyframeResolvers } from './keyframes/KeyframesResolver.mjs'; +import { NativeAnimationExtended } from './NativeAnimationExtended.mjs'; +import { canAnimate } from './utils/can-animate.mjs'; +import { makeAnimationInstant } from './utils/make-animation-instant.mjs'; +import { resolveStartTime } from './utils/resolve-start-time.mjs'; +import { WithPromise } from './utils/WithPromise.mjs'; +import { supportsBrowserAnimation } from './waapi/supports/waapi.mjs'; +import { canGroupTransform, TransformAnimation } from './waapi/transforms/TransformAnimation.mjs'; + +class AsyncMotionValueAnimation extends WithPromise { + constructor(options) { + super(); + /** + * Bound to support return animation.stop pattern + */ + this.stop = () => { + if (this._animation) { + this._animation.stop(); + this.stopTimeline?.(); + } + this.keyframeResolver?.cancel(); + }; + this.createdAt = time.now(); + const { keyframes, name, motionValue, element } = options; + /** + * animateMotionValue builds a fresh options object per value, so + * it's completed in place as keyframes resolve rather than copied. + */ + const optionsWithDefaults = options; + optionsWithDefaults.autoplay ?? (optionsWithDefaults.autoplay = true); + optionsWithDefaults.delay ?? (optionsWithDefaults.delay = 0); + optionsWithDefaults.type ?? (optionsWithDefaults.type = "keyframes"); + optionsWithDefaults.repeat ?? (optionsWithDefaults.repeat = 0); + optionsWithDefaults.repeatDelay ?? (optionsWithDefaults.repeatDelay = 0); + optionsWithDefaults.repeatType ?? (optionsWithDefaults.repeatType = "loop"); + const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver; + this.keyframeResolver = new KeyframeResolver$1(keyframes, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue, element); + this.keyframeResolver?.scheduleResolve(); + } + onKeyframesResolved(keyframes, finalKeyframe, options, sync) { + this.keyframeResolver = undefined; + const { name, type, velocity, delay, isHandoff, onUpdate } = options; + this.resolvedAt = time.now(); + /** + * If we can't animate this value with the resolved keyframes + * then we should complete it immediately. + */ + let canAnimateValue = true; + if (!canAnimate(keyframes, name, type, velocity)) { + canAnimateValue = false; + if (MotionGlobalConfig.instantAnimations || !delay) { + onUpdate?.(getFinalKeyframe(keyframes, options, finalKeyframe)); + } + keyframes[0] = keyframes[keyframes.length - 1]; + makeAnimationInstant(options); + options.repeat = 0; + } + const { onComplete } = options; + options.finalKeyframe = finalKeyframe; + options.keyframes = keyframes; + /** + * JSAnimation and NativeAnimation call onComplete exactly when + * their own `finished` resolves, so this replaces a promise chain + * per value with a callback. + */ + options.onComplete = () => { + onComplete?.(); + this.notifyFinished(); + }; + /** + * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via + * WAAPI. Therefore, this animation must be JS to ensure it runs "under" the + * optimised animation. + * + * Also skip WAAPI when keyframes aren't animatable, as the resolved + * values may not be valid CSS and would trigger browser warnings. + */ + const useWaapi = canAnimateValue && !isHandoff && supportsBrowserAnimation(options); + /** + * Independent transforms (x, scale etc) on an HTML element are + * composed into one WAAPI transform animation per element. + */ + const isGroupedTransform = !useWaapi && canGroupTransform(options); + /** + * Resolve startTime for the animation. A startTime passed in options + * (an optimised appear handoff syncing to its WAAPI animation) takes + * precedence. + * + * *Ideally*, we would use the createdAt time as t=0 as the following + * frame would then be the first frame of the animation in progress, + * which would feel snappier. If keyframes resolved on a later frame, + * and long after creation, we start from then instead. + * + * If they resolved immediately, a JSAnimation picks its own start + * time and resolves it the same way on its first frame, so every + * animation started in that moment stays in sync. WAAPI has no frame + * of ours to do that on. + */ + if (sync && + (useWaapi || + isGroupedTransform || + this.resolvedAt !== this.createdAt)) { + options.startTime ?? (options.startTime = resolveStartTime(this.createdAt, this.resolvedAt)); + } + let animation; + if (useWaapi) { + /** + * The resolver needed the VisualElement, WAAPI needs the DOM + * element. JSAnimation reads neither, so this is safe to + * leave in place if we fall back to it. + */ + options.element = options.motionValue?.owner?.current; + try { + animation = new NativeAnimationExtended(options); + } + catch { + animation = new JSAnimation(options); + } + } + else if (isGroupedTransform) { + animation = new TransformAnimation(options); + } + else { + animation = new JSAnimation(options); + } + if (this.pendingTimeline) { + this.stopTimeline = animation.attachTimeline(this.pendingTimeline); + this.pendingTimeline = undefined; + } + this._animation = animation; + } + get finished() { + return this._animation ? this._animation.finished : super.finished; + } + then(onResolve, _onReject) { + return this.finished.finally(onResolve).then(() => { }); + } + /** + * The value now, if the animation runs on the compositor. + */ + liveValue() { + return this._animation?.liveValue?.(); + } + get animation() { + if (!this._animation) { + this.keyframeResolver?.resume(); + flushKeyframeResolvers(); + } + return this._animation; + } + get duration() { + return this.animation.duration; + } + get iterationDuration() { + return this.animation.iterationDuration; + } + get time() { + return this.animation.time; + } + set time(newTime) { + this.animation.time = newTime; + } + get speed() { + return this.animation.speed; + } + get state() { + return this.animation.state; + } + set speed(newSpeed) { + this.animation.speed = newSpeed; + } + get startTime() { + return this.animation.startTime; + } + attachTimeline(timeline) { + if (this._animation) { + this.stopTimeline = this.animation.attachTimeline(timeline); + } + else { + this.pendingTimeline = timeline; + } + return () => this.stop(); + } + play() { + this.animation.play(); + } + pause() { + this.animation.pause(); + } + complete() { + this.animation.complete(); + } + cancel() { + if (this._animation) { + this.animation.cancel(); + } + this.keyframeResolver?.cancel(); + } +} + +export { AsyncMotionValueAnimation }; +//# sourceMappingURL=AsyncMotionValueAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/FollowAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/FollowAnimation.mjs new file mode 100644 index 0000000..074e66f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/FollowAnimation.mjs @@ -0,0 +1,154 @@ +import { time } from '../frameloop/sync-time.mjs'; +import { calcGeneratorVelocity } from './generators/utils/velocity.mjs'; +import { resolveStartTime } from './utils/resolve-start-time.mjs'; +import { WithPromise } from './utils/WithPromise.mjs'; +import { frame, cancelFrame } from '../frameloop/frame.mjs'; + +/** + * Every running follower ticks from this one frame callback. + */ +const active = new Set(); +const tickAll = ({ timestamp }) => { + active.forEach((animation) => animation.tick(timestamp)); +}; +/** + * A lean animation for values that follow a target (`followValue`, + * `springValue`): a single numeric generator, retargeted in place as + * the target moves and ticked from a frame callback shared by every + * follower. Only implements the controls `MotionValue.animation` + * exposes. Repeat options are ignored: a follower only ever heads for + * its latest target. + */ +class FollowAnimation extends WithPromise { + constructor(options) { + super(); + this.state = "idle"; + this.startTime = 0; + this.currentTime = 0; + /** + * Whether the first tick has fired `onPlay`. + */ + this.started = false; + /** + * A target set since the last tick, applied at the next one so any + * number of sets per frame cost one retarget. + */ + this.hasNextTarget = false; + this.nextTarget = 0; + /** + * Bound to the instance so `animation.stop` can be passed around. + */ + this.stop = () => { + if (this.state === "idle") + return; + this.teardown(); + this.options.onStop?.(); + }; + this.options = options; + this.factory = options.type; + this.generator = this.factory(options); + const { driver } = options; + if (driver) + this.driver = driver((timestamp) => this.tick(timestamp)); + this.startTime = this.now(); + this.state = "running"; + if (this.driver) { + this.driver.start(); + } + else { + active.size || frame.update(tickAll, true); + active.add(this); + } + } + /** + * Aim at a new target from wherever the animation has reached by the + * next tick. `velocity` fixes the velocity to steer with, otherwise + * the generator's is used. + */ + setTarget(target, velocity) { + this.nextTarget = target; + this.nextVelocity = velocity; + this.hasNextTarget = true; + } + /** + * Steer towards new keyframes from the current position and velocity. + * Springs are updated in place; other generators are recreated. + */ + retarget(keyframes, velocity) { + const { options, generator } = this; + options.keyframes = keyframes; + options.velocity = velocity; + this.startTime = this.now(); + this.currentTime = 0; + if (generator.retarget) { + generator.retarget(keyframes, velocity); + } + else { + this.generator = this.factory(options); + } + } + tick(timestamp) { + const { options, hasNextTarget: retargeted } = this; + const { delay = 0, onUpdate, onPlay } = options; + // Retargets happen on a tick, so only the first start can lag + if (!this.started) { + this.startTime = resolveStartTime(this.startTime, timestamp); + } + const elapsed = Math.round(timestamp - this.startTime) - delay; + const t = (this.currentTime = Math.max(0, elapsed)); + const state = this.generator.next(t); + // Hold the origin through the delay, even if the generator is already at rest + const value = elapsed < 0 ? options.keyframes[0] : state.value; + if (retargeted) { + /** + * Steer from where the current trajectory has reached this + * frame, then render that position as the new origin. + */ + this.hasNextTarget = false; + const { keyframes } = options; + keyframes[0] = value; + keyframes[1] = this.nextTarget; + this.retarget(keyframes, this.nextVelocity ?? this.getGeneratorVelocity()); + } + if (retargeted || !this.started) { + this.started = true; + onPlay?.(); + } + /** + * Callbacks may stop this animation or set a new target, so check + * the live state rather than what was read at the top of the tick. + */ + if (this.state !== "running") + return; + onUpdate?.(value); + if (state.done && + elapsed >= 0 && + !retargeted && + !this.hasNextTarget && + this.state === "running") { + this.notifyFinished(); + this.teardown(); + this.state = "finished"; + options.onComplete?.(); + } + } + getGeneratorVelocity() { + return calcGeneratorVelocity(this.generator, this.currentTime, this.options.velocity); + } + now() { + return this.driver ? this.driver.now() : time.now(); + } + teardown() { + this.state = "idle"; + if (this.driver) { + this.driver.stop(); + } + else { + active.delete(this); + active.size || cancelFrame(tickAll); + } + } +} + +export { FollowAnimation }; +//# sourceMappingURL=FollowAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimation.mjs new file mode 100644 index 0000000..175868b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimation.mjs @@ -0,0 +1,82 @@ +class GroupAnimation { + constructor(animations) { + // Bound to accommodate common `return animation.stop` pattern + this.stop = () => this.runAll("stop"); + this.animations = animations.filter(Boolean); + } + get finished() { + return Promise.all(this.animations.map((animation) => animation.finished)); + } + /** + * TODO: Filter out cancelled or stopped animations before returning + */ + getAll(propName) { + return this.animations[0][propName]; + } + setAll(propName, newValue) { + for (let i = 0; i < this.animations.length; i++) { + this.animations[i][propName] = newValue; + } + } + attachTimeline(timeline) { + const subscriptions = this.animations.map((animation) => animation.attachTimeline(timeline)); + return () => { + subscriptions.forEach((cancel, i) => { + cancel && cancel(); + this.animations[i].stop(); + }); + }; + } + get time() { + return this.getAll("time"); + } + set time(time) { + this.setAll("time", time); + } + get speed() { + return this.getAll("speed"); + } + set speed(speed) { + this.setAll("speed", speed); + } + get state() { + return this.getAll("state"); + } + get startTime() { + return this.getAll("startTime"); + } + get duration() { + return getMax(this.animations, "duration"); + } + get iterationDuration() { + return getMax(this.animations, "iterationDuration"); + } + runAll(methodName) { + this.animations.forEach((controls) => controls[methodName]()); + } + play() { + this.runAll("play"); + } + pause() { + this.runAll("pause"); + } + cancel() { + this.runAll("cancel"); + } + complete() { + this.runAll("complete"); + } +} +function getMax(animations, propName) { + let max = 0; + for (let i = 0; i < animations.length; i++) { + const value = animations[i][propName]; + if (value !== null && value > max) { + max = value; + } + } + return max; +} + +export { GroupAnimation }; +//# sourceMappingURL=GroupAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs new file mode 100644 index 0000000..7d8a536 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/GroupAnimationWithThen.mjs @@ -0,0 +1,10 @@ +import { GroupAnimation } from './GroupAnimation.mjs'; + +class GroupAnimationWithThen extends GroupAnimation { + then(onResolve, _onReject) { + return this.finished.finally(onResolve).then(() => { }); + } +} + +export { GroupAnimationWithThen }; +//# sourceMappingURL=GroupAnimationWithThen.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs new file mode 100644 index 0000000..187dcd3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs @@ -0,0 +1,418 @@ +import { invariant, pipe, clamp, millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils'; +import { time } from '../frameloop/sync-time.mjs'; +import { mix } from '../utils/mix/index.mjs'; +import { frameloopDriver } from './drivers/frame.mjs'; +import { inertia } from './generators/inertia.mjs'; +import { keyframes } from './generators/keyframes.mjs'; +import { calcGeneratorDuration } from './generators/utils/calc-duration.mjs'; +import { calcGeneratorVelocity } from './generators/utils/velocity.mjs'; +import { getFinalKeyframe } from './keyframes/get-final.mjs'; +import { replaceTransitionType } from './utils/replace-transition-type.mjs'; +import { resolveStartTime } from './utils/resolve-start-time.mjs'; +import { notifyAnimationStart } from './utils/notify-inspector.mjs'; +import { WithPromise } from './utils/WithPromise.mjs'; + +const percentToProgress = (percent) => percent / 100; +const round = (value) => Math.round(value * 10000) / 10000; +class JSAnimation extends WithPromise { + constructor(options) { + super(); + this.state = "idle"; + this.startTime = null; + this.isStopped = false; + /** + * The current time of the animation. + */ + this.currentTime = 0; + /** + * The time at which the animation was paused. + */ + this.holdTime = null; + /** + * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed. + */ + this.playbackSpeed = 1; + /** + * Reusable state object for the delay phase to avoid + * allocating a new object every frame. + */ + this.delayState = { + done: false, + value: undefined, + }; + /** + * This method is bound to the instance to fix a pattern where + * animation.stop is returned as a reference from a useEffect. + */ + this.stop = () => { + const { motionValue } = this.options; + if (motionValue && motionValue.updatedAt !== time.now()) { + this.tick(time.now()); + } + this.isStopped = true; + if (this.state === "idle") + return; + this.teardown(); + this.options.onStop?.(); + }; + this.options = options; + this.initAnimation(); + this.play(); + if (options.autoplay === false) + this.pause(); + notifyAnimationStart(this, this.options); + } + initAnimation() { + const { options } = this; + replaceTransitionType(options); + const { type = keyframes, repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = options; + let { keyframes: keyframes$1 } = options; + const generatorFactory = type || keyframes; + if (process.env.NODE_ENV !== "production" && + generatorFactory !== keyframes) { + invariant(keyframes$1.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`, "spring-two-frames"); + } + if (generatorFactory !== keyframes && + typeof keyframes$1[0] !== "number") { + this.mixKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1])); + keyframes$1 = [0, 100]; + } + const generator = generatorFactory(keyframes$1 === options.keyframes + ? options + : { ...options, keyframes: keyframes$1 }); + /** + * If we have a mirror repeat type we need to create a second generator that outputs the + * mirrored (not reversed) animation and later ping pong between the two generators. + */ + if (repeatType === "mirror") { + this.mirroredGenerator = generatorFactory({ + ...options, + keyframes: [...keyframes$1].reverse(), + velocity: -velocity, + }); + } + /** + * If duration is undefined and we have repeat options, + * we need to calculate a duration from the generator. + * + * We set it to the generator itself to cache the duration. + * Any timeline resolver will need to have already precalculated + * the duration by this step. + */ + if (generator.calculatedDuration === null) { + generator.calculatedDuration = calcGeneratorDuration(generator); + } + const { calculatedDuration } = generator; + this.calculatedDuration = calculatedDuration; + this.resolvedDuration = calculatedDuration + repeatDelay; + this.totalDuration = this.resolvedDuration * (repeat + 1) - repeatDelay; + this.generator = generator; + } + updateTime(timestamp) { + const animationTime = Math.round(timestamp - this.startTime) * this.playbackSpeed; + // Update currentTime + if (this.holdTime !== null) { + this.currentTime = this.holdTime; + } + else { + // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 = + // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for + // example. + this.currentTime = animationTime; + } + } + tick(timestamp, sample = false) { + const { generator, totalDuration, calculatedDuration } = this; + if (this.startTime === null) + return generator.next(0); + const { delay = 0, keyframes, type, onUpdate, finalKeyframe, } = this.options; + if (this.startTime === this.pendingStartTime) { + this.startTime = resolveStartTime(this.startTime, timestamp); + } + this.pendingStartTime = undefined; + /** + * requestAnimationFrame timestamps can come through as lower than + * the startTime as set by performance.now(). Here we prevent this, + * though in the future it could be possible to make setting startTime + * a pending operation that gets resolved here. + */ + if (this.speed > 0) { + this.startTime = Math.min(this.startTime, timestamp); + } + else if (this.speed < 0) { + this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime); + } + if (sample) { + this.currentTime = timestamp; + } + else { + this.updateTime(timestamp); + } + // Rebase on delay + const timeWithoutDelay = this.currentTime - delay * (this.playbackSpeed >= 0 ? 1 : -1); + const isInDelayPhase = this.playbackSpeed >= 0 + ? timeWithoutDelay < 0 + : timeWithoutDelay > totalDuration; + this.currentTime = Math.max(timeWithoutDelay, 0); + // If this animation has finished, set the current time to the total duration. + if (this.state === "finished" && this.holdTime === null) { + this.currentTime = totalDuration; + } + const state = this.generate(this.currentTime, isInDelayPhase); + let { done } = state; + if (!isInDelayPhase && calculatedDuration !== null) { + done = + this.playbackSpeed >= 0 + ? this.currentTime >= totalDuration + : this.currentTime <= 0; + } + const isAnimationFinished = this.holdTime === null && + (this.state === "finished" || (this.state === "running" && done)); + // TODO: The exception for inertia could be cleaner here + if (isAnimationFinished && type !== inertia) { + state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed); + } + if (onUpdate) { + onUpdate(state.value); + } + if (isAnimationFinished) { + this.finish(); + } + return state; + } + /** + * This animation's time, including delay, at a timestamp. + */ + at(timestamp) { + return (this.holdTime ?? + round((timestamp - this.startTime) * this.playbackSpeed)); + } + /** + * The value at a timestamp, without changing this animation's state. + * If resolved, it ends at the last resolved keyframe, which is in the + * same unit as the others, rather than at finalKeyframe. + */ + sampleAt(timestamp, resolved) { + const { options, totalDuration } = this; + const t = this.at(timestamp) - (options.delay || 0); + return t >= totalDuration && options.type !== inertia + ? getFinalKeyframe(options.keyframes, options, resolved ? undefined : options.finalKeyframe) + : this.generate(Math.max(t, 0), t < 0).value; + } + /** + * The generator's state `currentTime` ms after the delay, without + * changing the animation's own state. + */ + generate(currentTime, isInDelayPhase) { + const { generator, totalDuration, mixKeyframes, mirroredGenerator, resolvedDuration, } = this; + const { keyframes, repeat, repeatType, repeatDelay } = this.options; + let elapsed = currentTime; + let frameGenerator = generator; + if (repeat) { + /** + * Get the current progress (0-1) of the animation. If t is > + * than duration we'll get values like 2.5 (midway through the + * third iteration) + */ + const progress = Math.min(currentTime, totalDuration) / resolvedDuration; + /** + * Get the current iteration (0 indexed). For instance the floor of + * 2.5 is 2. + */ + let currentIteration = Math.floor(progress); + /** + * Get the current progress of the iteration by taking the remainder + * so 2.5 is 0.5 through iteration 2 + */ + let iterationProgress = progress % 1.0; + /** + * If iteration progress is 1 we count that as the end + * of the previous iteration. + */ + if (!iterationProgress && progress >= 1) { + iterationProgress = 1; + } + iterationProgress === 1 && currentIteration--; + currentIteration = Math.min(currentIteration, repeat + 1); + /** + * Reverse progress if we're not running in "normal" direction + */ + const isOddIteration = Boolean(currentIteration % 2); + if (isOddIteration) { + if (repeatType === "reverse") { + iterationProgress = 1 - iterationProgress; + if (repeatDelay) { + iterationProgress -= repeatDelay / resolvedDuration; + } + } + else if (repeatType === "mirror") { + frameGenerator = mirroredGenerator; + } + } + elapsed = clamp(0, 1, iterationProgress) * resolvedDuration; + } + /** + * If we're in negative time, set state as the initial keyframe. + * This prevents delay: x, duration: 0 animations from finishing + * instantly. + */ + let state; + if (isInDelayPhase) { + this.delayState.value = keyframes[0]; + state = this.delayState; + } + else { + state = frameGenerator.next(elapsed); + } + if (mixKeyframes && !isInDelayPhase) { + state.value = mixKeyframes(state.value); + } + return state; + } + /** + * Allows the returned animation to be awaited or promise-chained. Currently + * resolves when the animation finishes at all but in a future update could/should + * reject if its cancels. + */ + then(resolve, reject) { + return this.finished.then(resolve, reject); + } + get duration() { + return millisecondsToSeconds(this.calculatedDuration); + } + get iterationDuration() { + const { delay = 0 } = this.options || {}; + return this.duration + millisecondsToSeconds(delay); + } + get time() { + return millisecondsToSeconds(this.currentTime); + } + set time(newTime) { + newTime = secondsToMilliseconds(newTime); + this.currentTime = newTime; + if (this.startTime === null || + this.holdTime !== null || + this.playbackSpeed === 0) { + this.holdTime = newTime; + } + else if (this.driver) { + this.startTime = this.driver.now() - newTime / this.playbackSpeed; + } + if (this.driver) { + this.driver.start(false); + } + else { + this.startTime = 0; + this.state = "paused"; + this.holdTime = newTime; + this.tick(newTime); + } + } + /** + * Returns the generator's velocity at the current time in units/second. + * Uses the analytical derivative when available (springs), avoiding + * the MotionValue's frame-dependent velocity estimation. + */ + getGeneratorVelocity() { + return calcGeneratorVelocity(this.generator, this.currentTime, this.options.velocity); + } + get speed() { + return this.playbackSpeed; + } + set speed(newSpeed) { + const hasChanged = this.playbackSpeed !== newSpeed; + if (hasChanged && this.driver) { + this.updateTime(time.now()); + } + this.playbackSpeed = newSpeed; + if (hasChanged && this.driver) { + this.time = millisecondsToSeconds(this.currentTime); + } + } + play() { + if (this.isStopped) + return; + const { driver = frameloopDriver, startTime } = this.options; + if (!this.driver) { + this.driver = driver((timestamp) => this.tick(timestamp)); + } + this.options.onPlay?.(); + const now = this.driver.now(); + if (this.state === "finished") { + this.updateFinished(); + this.startTime = now; + } + else if (this.holdTime !== null) { + this.startTime = now - this.holdTime / (this.playbackSpeed || 1); + } + else if (!this.startTime) { + this.startTime = startTime ?? (this.pendingStartTime = now); + } + if (this.state === "finished" && this.speed < 0) { + this.startTime += this.calculatedDuration; + } + this.holdTime = null; + /** + * Set playState to running only after we've used it in + * the previous logic. + */ + this.state = "running"; + this.driver.start(); + } + pause() { + this.state = "paused"; + this.updateTime(time.now()); + this.holdTime = this.currentTime; + } + complete() { + if (this.state !== "running") { + this.play(); + } + this.state = "finished"; + this.holdTime = null; + } + finish() { + this.notifyFinished(); + this.teardown(); + this.state = "finished"; + this.options.onComplete?.(); + } + cancel() { + this.holdTime = null; + this.startTime = 0; + this.tick(0); + this.teardown(); + this.options.onCancel?.(); + } + teardown() { + this.state = "idle"; + this.stopDriver(); + this.startTime = this.holdTime = null; + } + stopDriver() { + if (!this.driver) + return; + this.driver.stop(); + this.driver = undefined; + } + sample(sampleTime) { + this.startTime = 0; + return this.tick(sampleTime, true); + } + attachTimeline(timeline) { + if (this.options.allowFlatten) { + this.options.type = "keyframes"; + this.options.ease = "linear"; + this.initAnimation(); + } + this.driver?.stop(); + return timeline.observe(this); + } +} +// Legacy function support +function animateValue(options) { + return new JSAnimation(options); +} + +export { JSAnimation, animateValue, round }; +//# sourceMappingURL=JSAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs new file mode 100644 index 0000000..c82b825 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs @@ -0,0 +1,178 @@ +import { invariant, millisecondsToSeconds, secondsToMilliseconds, noop } from 'motion-utils'; +import { setStyle } from '../render/dom/style-set.mjs'; +import { supportsScrollTimeline } from '../utils/supports/scroll-timeline.mjs'; +import { getFinalKeyframe } from './keyframes/get-final.mjs'; +import { WithPromise } from './utils/WithPromise.mjs'; +import { notifyAnimationStart } from './utils/notify-inspector.mjs'; +import { startWaapiAnimation } from './waapi/start-waapi-animation.mjs'; +import { applyGeneratorOptions } from './waapi/utils/apply-generator.mjs'; + +/** + * NativeAnimation implements AnimationPlaybackControls for the browser's Web Animations API. + */ +class NativeAnimation extends WithPromise { + constructor(options) { + super(); + this.finishedTime = null; + this.isStopped = false; + /** + * Tracks a manually-set start time that takes precedence over WAAPI's + * dynamic startTime. This is cleared when play() or time setter is called, + * allowing WAAPI to take over timing. + */ + this.manualStartTime = null; + if (!options) + return; + const { element, name, keyframes, pseudoElement, allowFlatten = false, finalKeyframe, onComplete, } = options; + this.isPseudoElement = Boolean(pseudoElement); + this.allowFlatten = allowFlatten; + this.options = options; + invariant(typeof options.type !== "string", `Mini animate() doesn't support "type" as a string.`, "mini-spring"); + const transition = applyGeneratorOptions(options); + this.animation = startWaapiAnimation(element, name, keyframes, transition, pseudoElement); + if (transition.autoplay === false) { + this.animation.pause(); + } + this.animation.onfinish = () => { + this.finishedTime = this.time; + if (!pseudoElement) { + const keyframe = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed); + if (this.updateMotionValue) { + this.updateMotionValue(keyframe); + } + /** + * If we can, we want to commit the final style as set by the user, + * rather than the computed keyframe value supplied by the animation. + * We always do this, even when a motion value is present, to prevent + * a visual flash in Firefox where the WAAPI animation's fill is removed + * during cancel() before the scheduled render can apply the correct value. + */ + setStyle(element, name, keyframe); + this.animation.cancel(); + } + onComplete?.(); + this.notifyFinished(); + }; + notifyAnimationStart(this, options, transition); + } + play() { + if (this.isStopped) + return; + this.manualStartTime = null; + this.animation.play(); + if (this.state === "finished") { + this.updateFinished(); + } + } + pause() { + this.animation.pause(); + } + complete() { + this.animation.finish?.(); + } + cancel() { + try { + this.animation.cancel(); + } + catch (e) { } + } + stop() { + if (this.isStopped) + return; + this.isStopped = true; + const { state } = this; + if (state === "idle" || state === "finished") { + return; + } + if (this.updateMotionValue) { + this.updateMotionValue(); + } + else { + this.commitStyles(); + } + if (!this.isPseudoElement) + this.cancel(); + } + /** + * WAAPI doesn't natively have any interruption capabilities. + * + * In this method, we commit styles back to the DOM before cancelling + * the animation. + * + * This is designed to be overridden by NativeAnimationExtended, which + * will create a renderless JS animation and sample it twice to calculate + * its current value, "previous" value, and therefore allow + * Motion to also correctly calculate velocity for any subsequent animation + * while deferring the commit until the next animation frame. + */ + commitStyles() { + const element = this.options?.element; + if (!this.isPseudoElement && element?.isConnected) { + this.animation.commitStyles?.(); + } + } + get duration() { + const duration = this.animation.effect?.getComputedTiming?.().duration || 0; + return millisecondsToSeconds(Number(duration)); + } + get iterationDuration() { + const { delay = 0 } = this.options || {}; + return this.duration + millisecondsToSeconds(delay); + } + get time() { + return millisecondsToSeconds(Number(this.animation.currentTime) || 0); + } + set time(newTime) { + const wasFinished = this.finishedTime !== null; + this.manualStartTime = null; + this.finishedTime = null; + this.animation.currentTime = secondsToMilliseconds(newTime); + if (wasFinished) { + this.animation.pause(); + } + } + /** + * The playback speed of the animation. + * 1 = normal speed, 2 = double speed, 0.5 = half speed. + */ + get speed() { + return this.animation.playbackRate; + } + set speed(newSpeed) { + // Allow backwards playback after finishing + if (newSpeed < 0) + this.finishedTime = null; + this.animation.playbackRate = newSpeed; + } + get state() { + return this.finishedTime !== null + ? "finished" + : this.animation.playState; + } + get startTime() { + return this.manualStartTime ?? Number(this.animation.startTime); + } + set startTime(newStartTime) { + this.manualStartTime = this.animation.startTime = newStartTime; + } + /** + * Attaches a timeline to the animation, for instance the `ScrollTimeline`. + */ + attachTimeline({ timeline, onAttach, observe, }) { + if (this.allowFlatten) { + this.animation.effect?.updateTiming({ easing: "linear" }); + } + this.animation.onfinish = null; + if (timeline && supportsScrollTimeline()) { + this.animation.timeline = timeline; + onAttach?.(this.animation); + return noop; + } + else { + return observe(this); + } + } +} + +export { NativeAnimation }; +//# sourceMappingURL=NativeAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs new file mode 100644 index 0000000..e8787cb --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs @@ -0,0 +1,115 @@ +import { clamp } from 'motion-utils'; +import { time } from '../frameloop/sync-time.mjs'; +import { setStyle } from '../render/dom/style-set.mjs'; +import { JSAnimation } from './JSAnimation.mjs'; +import { NativeAnimation } from './NativeAnimation.mjs'; +import { replaceTransitionType } from './utils/replace-transition-type.mjs'; +import { replaceStringEasing } from './waapi/utils/unsupported-easing.mjs'; + +/** + * 10ms is chosen here as it strikes a balance between smooth + * results (more than one keyframe per frame at 60fps) and + * keyframe quantity. + */ +const sampleDelta = 10; //ms +class NativeAnimationExtended extends NativeAnimation { + constructor(options) { + /** + * The base NativeAnimation function only supports a subset + * of Motion easings, and WAAPI also only supports some + * easing functions via string/cubic-bezier definitions. + * + * This function replaces those unsupported easing functions + * with a JS easing function. This will later get compiled + * to a linear() easing function. + */ + replaceStringEasing(options); + /** + * Ensure we replace the transition type with a generator function + * before passing to WAAPI. + * + * TODO: Does this have a better home? It could be shared with + * JSAnimation. + */ + replaceTransitionType(options); + super(options); + /** + * Only set startTime when the animation should autoplay. + * Setting startTime on a paused WAAPI animation unpauses it + * (per the WAAPI spec), which breaks autoplay: false. + */ + if (options.startTime !== undefined && options.autoplay !== false) { + this.startTime = options.startTime; + } + this.options = options; + } + /** + * The animation's time now, in ms. Wall-clock rather than WAAPI's + * currentTime while running, as under CPU load currentTime may not + * reflect the actual elapsed time, causing incorrect sampling and + * visual jumps. + */ + elapsed() { + return this.state === "running" + ? (time.now() - this.startTime) * this.speed + : this.time * 1000; + } + /** + * The value at a time, from a renderless JS animation. + */ + sample(sampleTime) { + if (!this.sampler) { + const { motionValue, onUpdate, onComplete, onPlay, onStop, element, ...options } = this.options; + /** + * Stop it straight away so its driver doesn't run every frame. + * It can still be sampled. + */ + this.sampler = new JSAnimation({ ...options, autoplay: false }); + this.sampler.stop(); + } + return this.sampler.sample(Math.max(0, sampleTime)).value; + } + /** + * The value now, as WAAPI doesn't set the motion value while it runs. + */ + liveValue() { + const { state } = this; + if (state === "running" || state === "paused") { + return this.sample(this.elapsed()); + } + } + /** + * WAAPI doesn't natively have any interruption capabilities. + * + * Rather than read committed styles back out of the DOM, we can + * sample a renderless JS animation twice to calculate its current + * value, "previous" value, and therefore allow Motion to calculate + * velocity for any subsequent animation. + */ + updateMotionValue(value) { + const { motionValue, element, name } = this.options; + if (!motionValue) + return; + if (value !== undefined) { + motionValue.set(value); + return; + } + const { speed } = this; + const sampleTime = this.elapsed(); + const delta = this.state === "running" && speed + ? clamp(0, sampleDelta, sampleTime) + : 0; + const current = this.sample(sampleTime); + /** + * Write the estimated value to inline style so it persists + * after cancel(), covering the async gap before the next + * animation starts. + */ + if (element && name) + setStyle(element, name, current); + motionValue.setWithVelocity(this.sample(sampleTime - delta * Math.sign(speed)), current, delta / Math.abs(speed || 1)); + } +} + +export { NativeAnimationExtended, sampleDelta }; +//# sourceMappingURL=NativeAnimationExtended.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationWrapper.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationWrapper.mjs new file mode 100644 index 0000000..9566448 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/NativeAnimationWrapper.mjs @@ -0,0 +1,22 @@ +import { NativeAnimation } from './NativeAnimation.mjs'; +import { notifyAnimationStart } from './utils/notify-inspector.mjs'; + +class NativeAnimationWrapper extends NativeAnimation { + constructor(animation) { + super(); + this.animation = animation; + animation.onfinish = () => { + this.finishedTime = this.time; + this.notifyFinished(); + }; + /** + * The optionless super() returns before NativeAnimation's own + * notify, so wrapped animations (view transition cross-fades) + * report here, after the wrapped WAAPI animation is attached. + */ + notifyAnimationStart(this, {}); + } +} + +export { NativeAnimationWrapper }; +//# sourceMappingURL=NativeAnimationWrapper.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/effects.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/effects.mjs new file mode 100644 index 0000000..669d2ea --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/effects.mjs @@ -0,0 +1,113 @@ +import { invariant, removeItem } from 'motion-utils'; +import { positionalKeys } from '../../render/utils/keys-position.mjs'; +import { motionValue } from '../../value/index.mjs'; +import { animateMotionValue } from '../interfaces/motion-value.mjs'; +import { frame } from '../../frameloop/frame.mjs'; + +/** + * Effects registered via `animate.addEffect()`, most recent first. + */ +const effects = []; +function addEffect(effect) { + invariant(typeof effect.test === "function" && typeof effect.read === "function", "Effects passed to animate.addEffect() need test() and read().", "effect-missing-test"); + removeEffect(effect); + effects.unshift(effect); +} +function removeEffect(effect) { + removeItem(effects, effect); +} +function findEffect(subject) { + return effects.find((effect) => effect.test(subject)); +} +/** + * Animate each key in `keyframes` on the motion value `getValue` returns + * for it. `element` is what the keyframe resolver uses to read, render + * and measure the subject when the effect defers resolution to it. + */ +function animateValues(getValue, keyframes, transition = {}, element) { + const animations = []; + const { velocity, path } = transition; + const reduceMotion = transition.reduceMotion ?? element?.shouldReduceMotion; + /** + * Only elements have x/y to move along a path. path claims them by + * deleting them, so hand it a copy. + */ + if (path?.animateValues && element) { + keyframes = { ...keyframes }; + path.animateValues(getValue, keyframes, transition, 0, animations); + } + for (const key in keyframes) { + if (key === "transition" || key === "transitionEnd") + continue; + const target = keyframes[key]; + if (target === undefined) + continue; + const value = getValue(key); + /** + * If the value is already at the defined target, skip the animation. + * We still re-assert the value via frame.update to take precedence + * over any stale transitionEnd callbacks from previous animations. + */ + const current = value.get(); + if (current !== undefined && + !value.isAnimating() && + !Array.isArray(target) && + target === current && + !velocity) { + frame.update(() => value.set(target)); + continue; + } + value.start(animateMotionValue(key, value, target, reduceMotion && positionalKeys.has(key) + ? { type: false } + : transition, element)); + value.animation && + animations.push(value.animation); + } + const { transitionEnd } = keyframes; + if (transitionEnd) { + const applyTransitionEnd = () => frame.update(() => { + for (const key in transitionEnd) { + getValue(key).set(transitionEnd[key]); + } + }); + animations.length + ? Promise.all(animations).then(applyTransitionEnd) + : applyTransitionEnd(); + } + return animations; +} +/** + * Animate the keys of `subject` via `effect`. Motion values are created on + * first animation and bound to the subject through the effect for the + * rest of its life. + * + * Without `element`, a new value is seeded synchronously from the first + * keyframe or `effect.read()`. With it, the value starts undefined and the + * keyframe resolver reads the subject (batched, with unit conversion by + * measurement) via `element`. + */ +function animateEffectSubject(effect, subject, keyframes, transition, element) { + return animateValues((key) => { + let value = effect.get(subject, key); + if (!value) { + let initial; + if (!element) { + const target = keyframes[key]; + initial = + firstKeyframe(target) ?? + effect.read(subject, key, target); + invariant(initial !== undefined, `"${key}" can't be read from the animated subject. Provide [from, to] keyframes.`, "effect-unreadable-value"); + } + value = motionValue(initial, { owner: element }); + effect(subject, { [key]: value }); + } + return value; + }, keyframes, transition, element); +} +function firstKeyframe(target) { + const first = Array.isArray(target) ? target[0] : undefined; + return first === null ? undefined : first; +} + +export { addEffect, animateEffectSubject, animateValues, findEffect, removeEffect }; +//# sourceMappingURL=effects.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/element.mjs new file mode 100644 index 0000000..b910e12 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/element.mjs @@ -0,0 +1,80 @@ +import { styleSubjectEffect } from '../../effects/style/index.mjs'; +import { svgSubjectEffect } from '../../effects/svg/index.mjs'; +import { measureViewportBox } from '../../projection/utils/measure.mjs'; +import { isSVGElement } from '../../utils/is-svg-element.mjs'; +import { DOMKeyframesResolver } from '../keyframes/DOMKeyframesResolver.mjs'; +import { animateValues, animateEffectSubject } from './effects.mjs'; + +const noProps = {}; +const getElementEffect = (element) => (isSVGElement(element) + ? svgSubjectEffect + : styleSubjectEffect); +/** + * Presents an effect bound to a DOM element in the shape the DOM keyframe + * resolver and WAAPI expect, which is that of a VisualElement. Holds no + * state: everything delegates to the effect. Goes once the resolver takes + * an effect and subject directly. + */ +class EffectSubject { + constructor(effect, current) { + this.effect = effect; + this.current = current; + this.KeyframeResolver = DOMKeyframesResolver; + } + getValue(key) { + return this.effect.get(this.current, key); + } + readValue(key, target) { + return this.effect.read(this.current, key, target); + } + render() { + this.effect.flush(this.current); + } + measureViewportBox() { + return measureViewportBox(this.current); + } + getProps() { + return noProps; + } +} +/** + * Animate a DOM element's styles. HTML elements are bound through + * styleEffect, SVG through svgEffect, and both are resolved with the DOM + * keyframe resolver so reads are batched, units are converted by + * measurement and eligible values run on WAAPI. + * + * Pass the element's VisualElement (a <motion.*> component or an + * animateLayout() node) to animate its values instead, so the two keep + * sharing values and a renderer. + */ +function animateElement(element, keyframes, transition, visualElement) { + if (visualElement) { + return animateValues((key) => visualElement.getValue(key, null), keyframes, transition, visualElement); + } + const effect = getElementEffect(element); + return animateEffectSubject(effect, element, keyframes, transition, new EffectSubject(effect, element)); +} +/** + * Hand the values styleEffect/svgEffect are rendering on `element`, + * whether bound by animate() or directly, to a VisualElement that now + * owns the element (e.g. created by animateLayout()), so a single + * renderer drives them alongside its own values. + */ +function handOffElementState(element, visualElement) { + const state = getElementEffect(element).state(element); + if (!state) + return; + const { transformKeys } = state; + state.release().forEach((value, key) => { + /** + * The style effect derives transform (from the bound transform + * keys) and transformBox itself; a VisualElement builds its own. + */ + const derived = key === "transformBox" || + (key === "transform" && transformKeys?.length); + derived || visualElement.addValue(key, value); + }); +} + +export { animateElement, handOffElementState }; +//# sourceMappingURL=element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs new file mode 100644 index 0000000..45767f1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs @@ -0,0 +1,12 @@ +import { animateMotionValue } from '../interfaces/motion-value.mjs'; +import { motionValue } from '../../value/index.mjs'; +import { isMotionValue } from '../../value/utils/is-motion-value.mjs'; + +function animateSingleValue(value, keyframes, options) { + const motionValue$1 = isMotionValue(value) ? value : motionValue(value); + motionValue$1.start(animateMotionValue("", motionValue$1, keyframes, options)); + return motionValue$1.animation; +} + +export { animateSingleValue }; +//# sourceMappingURL=single-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs new file mode 100644 index 0000000..92f6c97 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs @@ -0,0 +1,19 @@ +import { time } from '../../frameloop/sync-time.mjs'; +import { frameData } from '../../frameloop/frame-data.mjs'; +import { cancelFrame, frame } from '../../frameloop/frame.mjs'; + +const frameloopDriver = (update) => { + const passTimestamp = ({ timestamp }) => update(timestamp); + return { + start: (keepAlive = true) => frame.update(passTimestamp, keepAlive), + stop: () => cancelFrame(passTimestamp), + /** + * If we're processing this frame we can use the + * framelocked timestamp to keep things in sync. + */ + now: () => (frameData.isProcessing ? frameData.timestamp : time.now()), + }; +}; + +export { frameloopDriver }; +//# sourceMappingURL=frame.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs new file mode 100644 index 0000000..6342080 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs @@ -0,0 +1,90 @@ +import { spring } from './spring.mjs'; + +function inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) { + const origin = keyframes[0]; + const state = { + done: false, + value: origin, + }; + const isOutOfBounds = (v) => v < min || v > max; + const nearestBoundary = (v) => { + if (min === undefined) + return max; + if (max === undefined) + return min; + return Math.abs(min - v) < Math.abs(max - v) ? min : max; + }; + let amplitude = power * velocity; + const ideal = origin + amplitude; + const target = modifyTarget === undefined ? ideal : modifyTarget(ideal); + /** + * If the target has changed we need to re-calculate the amplitude, otherwise + * the animation will start from the wrong position. + */ + if (target !== ideal) + amplitude = target - origin; + const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant); + const applyFriction = (t) => { + const delta = calcDelta(t); + state.done = Math.abs(delta) <= restDelta; + state.value = state.done ? target : target + delta; + }; + /** + * Ideally this would resolve for t in a stateless way, we could + * do that by always precalculating the animation but as we know + * this will be done anyway we can assume that spring will + * be discovered during that. + */ + let timeReachedBoundary; + let spring$1; + const checkCatchBoundary = (t) => { + if (!isOutOfBounds(state.value)) + return; + timeReachedBoundary = t; + spring$1 = spring({ + keyframes: [state.value, nearestBoundary(state.value)], + /** + * The friction curve is target + calcDelta(t), so its exact + * derivative is -calcDelta(t) / timeConstant in units/ms, + * converted here to the units/second expected by spring. + */ + velocity: (-calcDelta(t) / timeConstant) * 1000, + damping: bounceDamping, + stiffness: bounceStiffness, + restDelta, + restSpeed, + }); + }; + checkCatchBoundary(0); + return { + calculatedDuration: null, + next: (t) => { + /** + * We need to resolve the friction to figure out if we need a + * spring but we don't want to do this twice per frame. So here + * we flag if we updated for this frame and later if we did + * we can skip doing it again. + */ + let hasUpdatedFrame = false; + if (!spring$1 && timeReachedBoundary === undefined) { + hasUpdatedFrame = true; + applyFriction(t); + checkCatchBoundary(t); + } + /** + * If we have a spring and the provided t is beyond the moment the friction + * animation crossed the min/max boundary, use the spring. + */ + if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) { + return spring$1.next(t - timeReachedBoundary); + } + else { + !hasUpdatedFrame && applyFriction(t); + return state; + } + }, + }; +} + +export { inertia }; +//# sourceMappingURL=inertia.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs new file mode 100644 index 0000000..d651bef --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs @@ -0,0 +1,74 @@ +import { easeInOut, isEasingArray, easingDefinitionToFunction, MotionGlobalConfig, clamp } from 'motion-utils'; +import { interpolate } from '../../utils/interpolate.mjs'; +import { mix } from '../../utils/mix/index.mjs'; +import { defaultOffset } from '../keyframes/offsets/default.mjs'; +import { convertOffsetToTimes } from '../keyframes/offsets/time.mjs'; + +function defaultEasing(values, easing) { + return values.map(() => easing || easeInOut).splice(0, values.length - 1); +} +function keyframes({ duration = 300, keyframes: keyframeValues, times, ease = "easeInOut", }) { + /** + * Easing functions can be externally defined as strings. Here we convert them + * into actual functions. + */ + const easingFunctions = isEasingArray(ease) + ? ease.map(easingDefinitionToFunction) + : easingDefinitionToFunction(ease) || easeInOut; + /** + * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator + * to reduce GC during animation. + */ + const state = { + done: false, + value: keyframeValues[0], + }; + /** + * Fast setup path for two keyframes one easing. + */ + if (keyframeValues.length === 2 && + !Array.isArray(easingFunctions) && + (!times || + times.length !== 2 || + (times[0] === 0 && times[1] === 1))) { + const [origin, target] = keyframeValues; + const mixer = origin === target + ? undefined + : (MotionGlobalConfig.mix || mix)(origin, target); + return { + calculatedDuration: duration, + next: (t) => { + state.value = mixer + ? mixer(easingFunctions(duration > 0 ? clamp(0, 1, t / duration) : 1)) + : target; + state.done = t >= duration; + return state; + }, + }; + } + /** + * Create a times array based on the provided 0-1 offsets + */ + const absoluteTimes = convertOffsetToTimes( + // Only use the provided offsets if they're the correct length + // TODO Maybe we should warn here if there's a length mismatch + times && times.length === keyframeValues.length + ? times + : defaultOffset(keyframeValues), duration); + const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, { + ease: Array.isArray(easingFunctions) + ? easingFunctions + : defaultEasing(keyframeValues, easingFunctions), + }); + return { + calculatedDuration: duration, + next: (t) => { + state.value = mapTimeToKeyframe(t); + state.done = t >= duration; + return state; + }, + }; +} + +export { defaultEasing, keyframes }; +//# sourceMappingURL=keyframes.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/spring.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/spring.mjs new file mode 100644 index 0000000..cd088e7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/spring.mjs @@ -0,0 +1,399 @@ +import { millisecondsToSeconds, secondsToMilliseconds, warning, clamp } from 'motion-utils'; +import { generateLinearEasing } from '../waapi/utils/linear.mjs'; +import { calcGeneratorDuration, maxGeneratorDuration } from './utils/calc-duration.mjs'; +import { createGeneratorEasing } from './utils/create-generator-easing.mjs'; + +const springDefaults = { + // Default spring physics + stiffness: 100, + damping: 10, + mass: 1.0, + // Default duration/bounce-based options + duration: 800, // in ms + bounce: 0.3, + visualDuration: 0.3, // in seconds + // Rest thresholds + restSpeed: { + granular: 0.01, + default: 2, + }, + restDelta: { + granular: 0.005, + default: 0.5, + }, + // Limits + minDuration: 0.01, // in seconds + maxDuration: 10.0, // in seconds + minDamping: 0.05, +}; +/** + * Maps bounce to a damping ratio as SwiftUI does: 0 is critically damped, and + * it approaches undamped towards 1 and infinitely overdamped towards -1. Both + * ends are limited so the spring still moves and settles. + */ +const bounceToDampingRatio = (bounce) => bounce < 0 + ? 1 / Math.max(1 + bounce, springDefaults.minDamping) + : Math.max(1 - bounce, springDefaults.minDamping); +/** + * Scales an overdamped spring's undamped frequency so that, at its defining + * time, it has as far left to go as the critically damped spring that's + * criticalFreqTime radians in by then. A negative bounce then changes the + * shape of the curve, not when it arrives. 1 at a damping ratio of 1, so + * there's no jump at a bounce of 0. + * + * Solved by Newton on the remaining distance (times fast - slow), which is + * convex from criticalFreqTime onwards. criticalFreqTime is always below the + * answer, so it converges from below without overshooting. + */ +function overdampedFreqScale(dampingRatio, criticalFreqTime) { + if (!(dampingRatio > 1)) + return 1; + const root = Math.sqrt(dampingRatio * dampingRatio - 1); + const slow = dampingRatio - root; + const fast = dampingRatio + root; + const target = 2 * root * Math.exp(-criticalFreqTime) * (1 + criticalFreqTime); + return (approximateRoot((freqTime) => fast * Math.exp(-slow * freqTime) - + slow * Math.exp(-fast * freqTime) - + target, (freqTime) => Math.exp(-fast * freqTime) - Math.exp(-slow * freqTime), criticalFreqTime) / criticalFreqTime); +} +function calcAngularFreq(undampedFreq, dampingRatio) { + return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio); +} +const rootIterations = 12; +function approximateRoot(envelope, derivative, initialGuess) { + let result = initialGuess; + for (let i = 1; i < rootIterations; i++) { + result = result - envelope(result) / derivative(result); + } + return result; +} +/** + * This is ported from the Framer implementation of duration-based spring resolution. + */ +const safeMin = 0.001; +/** + * Assumes zero initial velocity and the default mass: time-defined springs + * ignore inherited velocity and only resolve without valid physics. Returns + * NaN physics when the root search doesn't converge. + */ +function findSpring({ duration = springDefaults.duration, bounce = springDefaults.bounce, }) { + let envelope; + let derivative; + warning(duration <= secondsToMilliseconds(springDefaults.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit"); + const dampingRatio = bounceToDampingRatio(bounce); + duration = clamp(springDefaults.minDuration, springDefaults.maxDuration, millisecondsToSeconds(duration)); + if (dampingRatio < 1) { + /** + * Underdamped spring + */ + envelope = (undampedFreq) => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const b = calcAngularFreq(undampedFreq, dampingRatio); + const c = Math.exp(-delta); + return safeMin - (exponentialDecay / b) * c; + }; + derivative = (undampedFreq) => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const e = dampingRatio * + dampingRatio * + undampedFreq * + undampedFreq * + duration; + const f = Math.exp(-delta); + const g = calcAngularFreq(undampedFreq * undampedFreq, dampingRatio); + const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1; + return (factor * -e * f) / g; + }; + } + else { + /** + * Critically-damped spring. Overdamped springs reuse this root, + * scaled below. + */ + envelope = (undampedFreq) => { + const a = Math.exp(-undampedFreq * duration); + const b = undampedFreq * duration + 1; + return -safeMin + a * b; + }; + derivative = (undampedFreq) => { + const a = Math.exp(-undampedFreq * duration); + const b = -undampedFreq * (duration * duration); + return a * b; + }; + } + const initialGuess = 5 / duration; + const criticalFreq = approximateRoot(envelope, derivative, initialGuess); + const undampedFreq = criticalFreq * + overdampedFreqScale(dampingRatio, criticalFreq * duration); + const stiffness = undampedFreq * undampedFreq; + return { + stiffness, + damping: dampingRatio * 2 * Math.sqrt(stiffness), + duration: secondsToMilliseconds(duration), + }; +} +/** + * Spring physics must be finite. stiffness and mass are also divisors so must + * be positive, whereas a damping of 0 is a valid, perpetually oscillating + * spring. Relational rather than Number.isFinite so numeric strings still + * coerce. + */ +const isValidPhysics = (value, canBeZero) => (canBeZero ? value >= 0 : value > 0) && value < Infinity; +/** + * Returns value if it's usable spring physics, otherwise undefined so callers + * fall back to the default. An explicit `undefined`, e.g. from a forwarded + * optional prop, must fall back too. Invalid physics would otherwise resolve + * to NaN spring values that never report done. + */ +function resolvePhysics(value, canBeZero) { + if (isValidPhysics(value, canBeZero)) + return value; + if (process.env.NODE_ENV !== "production") { + warning(value === undefined, "Spring stiffness and mass must be positive, damping 0 or greater", "spring-invalid-physics"); + } + return undefined; +} +function getSpringOptions(options) { + /** + * Resolve physics before choosing between physics- and duration-based + * resolution, so an invalid stiffness doesn't also silently discard a + * valid duration/bounce. + */ + const validStiffness = resolvePhysics(options.stiffness); + const validDamping = resolvePhysics(options.damping, true); + const validMass = resolvePhysics(options.mass); + const springOptions = { + ...options, + stiffness: validStiffness ?? springDefaults.stiffness, + damping: validDamping ?? springDefaults.damping, + mass: validMass ?? springDefaults.mass, + isResolvedFromDuration: false, + // stiffness/damping/mass overrides duration/bounce + isTimeDefined: (validStiffness ?? validDamping ?? validMass) === undefined && + (options.duration !== undefined || options.bounce !== undefined), + }; + if (springOptions.isTimeDefined) { + if (options.visualDuration) { + const dampingRatio = bounceToDampingRatio(options.bounce || 0); + const root = ((2 * Math.PI) / (options.visualDuration * 1.2)) * + overdampedFreqScale(dampingRatio, (2 * Math.PI) / 1.2); + springOptions.stiffness = root * root; + springOptions.damping = + 2 * dampingRatio * Math.sqrt(springOptions.stiffness); + } + else { + Object.assign(springOptions, findSpring(springOptions)); + springOptions.isResolvedFromDuration = true; + } + /** + * Time options can degenerate: a NaN bounce gives a NaN damping, an + * infinite visualDuration a 0 stiffness, and findSpring NaN for both + * when it doesn't converge. Replace the two together, so the + * relationship duration resolution establishes between them is never + * left half-overwritten. + */ + if (!isValidPhysics(springOptions.stiffness) || + !isValidPhysics(springOptions.damping, true)) { + springOptions.stiffness = springDefaults.stiffness; + springOptions.damping = springDefaults.damping; + } + } + return springOptions; +} +function spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) { + const options = typeof optionsOrVisualDuration !== "object" + ? { + visualDuration: optionsOrVisualDuration, + keyframes: [0, 1], + bounce, + } + : optionsOrVisualDuration; + const origin = options.keyframes[0]; + const target = options.keyframes[options.keyframes.length - 1]; + /** + * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator + * to reduce GC during animation. + */ + const state = { done: false, value: origin }; + const { stiffness, damping, mass, duration, isResolvedFromDuration, isTimeDefined, } = getSpringOptions({ ...options }); + /** + * Time-defined springs ignore inherited velocity. Velocity from + * interrupted animations causes massive oscillation on small-range + * animations. + */ + const inheritVelocity = (velocity) => isTimeDefined ? 0 : -millisecondsToSeconds(velocity); + const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass)); + const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass)); + const decay = dampingRatio * undampedAngularFreq; + /** + * Everything that changes when the spring is retargeted: written by + * retarget() and update(), read by the resolvers. Grouped on one object, + * like the coefficients (c) below. Writing doubles to object fields + * measured marginally faster than to captured let variables in optimised + * code; neither allocates, so this is a grouping choice, not a GC one. + */ + const s = { + target, + delta: target - origin, + velocity: inheritVelocity(options.velocity || 0) || 0, + restSpeed: 0, + restDelta: 0, + }; + /** + * If we're working on a granular scale, use smaller defaults for determining + * when the spring is finished. + * + * These defaults have been selected empirically based on what strikes a good + * ratio between feeling good and finishing as soon as changes are imperceptible. + */ + const setRestThresholds = () => { + const isGranularScale = Math.abs(s.delta) < 5; + s.restSpeed = + options.restSpeed || + (isGranularScale + ? springDefaults.restSpeed.granular + : springDefaults.restSpeed.default); + s.restDelta = + options.restDelta || + (isGranularScale + ? springDefaults.restDelta.granular + : springDefaults.restDelta.default); + }; + setRestThresholds(); + let resolveSpring; + let resolveVelocity; + /** + * Derives the coefficients that depend on origin, target and initial + * velocity. Called once now and again whenever the spring is retargeted. + */ + let update; + if (dampingRatio < 1) { + const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio); + /** + * A is the position coefficient, sinC/cosC the coefficients of the + * analytical derivative (px/ms). The exp/sin/cos terms depend only + * on t, so they're memoized by t independently of the target: a + * spring retargeted every frame samples the same t each frame and + * skips the transcendentals entirely. + */ + const c = { A: 0, sinC: 0, cosC: 0, t: -1, env: 0, sin: 0, cos: 0 }; + update = () => { + c.A = (s.velocity + decay * s.delta) / angularFreq; + c.sinC = decay * c.A + s.delta * angularFreq; + c.cosC = decay * s.delta - c.A * angularFreq; + }; + const sample = (t) => { + if (t !== c.t) { + c.t = t; + c.env = Math.exp(-decay * t); + c.sin = Math.sin(angularFreq * t); + c.cos = Math.cos(angularFreq * t); + } + }; + // Underdamped spring + resolveSpring = (t) => { + sample(t); + return s.target - c.env * (c.A * c.sin + s.delta * c.cos); + }; + resolveVelocity = (t) => { + sample(t); + return c.env * (c.sinC * c.sin + c.cosC * c.cos); + }; + } + else if (dampingRatio === 1) { + // Critically damped spring + resolveSpring = (t) => s.target - + Math.exp(-undampedAngularFreq * t) * + (s.delta + (s.velocity + undampedAngularFreq * s.delta) * t); + // Analytical derivative of critically damped spring (px/ms) + const c = { C: 0 }; + update = () => { + c.C = s.velocity + undampedAngularFreq * s.delta; + }; + resolveVelocity = (t) => Math.exp(-undampedAngularFreq * t) * + (undampedAngularFreq * c.C * t - s.velocity); + } + else { + /** + * Overdamped spring: the sum of a slow and a fast decaying + * exponential, so no term can overflow however heavily it's damped. + */ + const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1); + const slow = decay - dampedAngularFreq; + const fast = decay + dampedAngularFreq; + /** + * Physics-defined springs keep a non-physical limit: once + * dampedAngularFreq * t passes 300, both terms decay at the damping + * rate. Heavily overdamped drag springs (dragElastic: 0, + * dragTransition) rely on this to settle almost at once rather than + * creep at stiffness / damping. Negative bounce needs the exact + * curve, so time-defined springs are exempt. + */ + const limit = isTimeDefined ? Infinity : 300 / dampedAngularFreq; + const decayAt = (rate, t) => Math.exp(t > limit ? -rate * limit - decay * (t - limit) : -rate * t); + const c = { S: 0, F: 0 }; + update = () => { + const P = (s.velocity + decay * s.delta) / dampedAngularFreq; + c.S = (s.delta + P) / 2; + c.F = (s.delta - P) / 2; + }; + resolveSpring = (t) => s.target - c.S * decayAt(slow, t) - c.F * decayAt(fast, t); + // Analytical derivative of overdamped spring (px/ms) + resolveVelocity = (t) => slow * c.S * decayAt(slow, t) + fast * c.F * decayAt(fast, t); + } + update(); + const calculatedDuration = isResolvedFromDuration ? duration || null : null; + const generator = { + calculatedDuration, + /** + * Aim the spring at a new target from its current position and + * velocity, reusing the resolved physics and closures. + */ + retarget: (keyframes, newVelocity) => { + s.target = keyframes[keyframes.length - 1]; + s.delta = s.target - keyframes[0]; + s.velocity = inheritVelocity(newVelocity); + // Default thresholds depend on the scale of the new delta + if (!(options.restSpeed && options.restDelta)) + setRestThresholds(); + // Invalidate any duration lazily cached by JSAnimation + generator.calculatedDuration = calculatedDuration; + state.done = false; + update(); + }, + velocity: (t) => secondsToMilliseconds(resolveVelocity(t)), + next: (t) => { + const current = resolveSpring(t); + if (!isResolvedFromDuration) { + const currentVelocity = secondsToMilliseconds(resolveVelocity(t)); + state.done = + Math.abs(currentVelocity) <= s.restSpeed && + Math.abs(s.target - current) <= s.restDelta; + } + else { + state.done = t >= duration; + } + state.value = state.done ? s.target : current; + return state; + }, + toString: () => { + const easingDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration); + const easing = generateLinearEasing((progress) => generator.next(easingDuration * progress).value, easingDuration, 30); + return easingDuration + "ms " + easing; + }, + toTransition: () => { }, + }; + return generator; +} +spring.applyToOptions = (options) => { + const generatorOptions = createGeneratorEasing(options, 100, spring); + options.ease = generatorOptions.ease; + options.duration = secondsToMilliseconds(generatorOptions.duration); + options.type = "keyframes"; + return options; +}; + +export { spring }; +//# sourceMappingURL=spring.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs new file mode 100644 index 0000000..4449f34 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs @@ -0,0 +1,19 @@ +/** + * Implement a practical max duration for keyframe generation + * to prevent infinite loops + */ +const maxGeneratorDuration = 20000; +function calcGeneratorDuration(generator, timeStep = 50, maxDuration = maxGeneratorDuration, keyframes) { + let duration = 0; + let state = generator.next(duration); + keyframes?.push(state.value); + while (!state.done && duration < maxDuration) { + duration += timeStep; + state = generator.next(duration); + keyframes?.push(state.value); + } + return duration >= maxDuration ? Infinity : duration; +} + +export { calcGeneratorDuration, maxGeneratorDuration }; +//# sourceMappingURL=calc-duration.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs new file mode 100644 index 0000000..cf511cb --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs @@ -0,0 +1,33 @@ +import { millisecondsToSeconds } from 'motion-utils'; +import { calcGeneratorDuration, maxGeneratorDuration } from './calc-duration.mjs'; + +/** + * Create a progress => progress easing function from a generator. + */ +function createGeneratorEasing(options, scale = 100, createGenerator) { + /** + * The easing is generated over 0 - scale, but velocity is in the + * value's own units, so scale it to match. Otherwise an interrupted + * spring hands off the wrong speed, or direction. Keyframes with + * units (colours, filters, mixed units) give NaN, which is falsy, + * so their velocity passes through unscaled. + */ + const { keyframes: k, velocity: v } = options; + const delta = k && k[k.length - 1] - k[0]; + const generator = createGenerator({ + ...options, + velocity: v && delta ? (v * scale) / delta : v, + keyframes: [0, scale], + }); + const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration); + return { + type: "keyframes", + ease: (progress) => { + return generator.next(duration * progress).value / scale; + }, + duration: millisecondsToSeconds(duration), + }; +} + +export { createGeneratorEasing }; +//# sourceMappingURL=create-generator-easing.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs new file mode 100644 index 0000000..e240fd2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs @@ -0,0 +1,6 @@ +function isGenerator(type) { + return typeof type === "function" && "applyToOptions" in type; +} + +export { isGenerator }; +//# sourceMappingURL=is-generator.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs new file mode 100644 index 0000000..ade88da --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs @@ -0,0 +1,22 @@ +import { velocityPerSecond } from 'motion-utils'; + +const velocitySampleDuration = 5; // ms +function getGeneratorVelocity(resolveValue, t, current) { + const prevT = Math.max(t - velocitySampleDuration, 0); + return velocityPerSecond(current - resolveValue(prevT), t - prevT); +} +/** + * A generator's velocity at time t in units/second: analytical where the + * generator provides it (springs), otherwise by finite difference. Before + * the animation has started this is its initial velocity. + */ +function calcGeneratorVelocity(generator, t, initialVelocity = 0) { + if (t <= 0) + return initialVelocity; + return generator.velocity + ? generator.velocity(t) + : getGeneratorVelocity((s) => generator.next(s).value, t, generator.next(t).value); +} + +export { calcGeneratorVelocity, getGeneratorVelocity }; +//# sourceMappingURL=velocity.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs new file mode 100644 index 0000000..7c42c9a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs @@ -0,0 +1,106 @@ +import { secondsToMilliseconds, MotionGlobalConfig } from 'motion-utils'; +import { AsyncMotionValueAnimation } from '../AsyncMotionValueAnimation.mjs'; +import { JSAnimation } from '../JSAnimation.mjs'; +import { getValueTransition } from '../utils/get-value-transition.mjs'; +import { makeAnimationInstant } from '../utils/make-animation-instant.mjs'; +import { getDefaultTransition } from '../utils/default-transitions.mjs'; +import { getFinalKeyframe } from '../keyframes/get-final.mjs'; +import { isTransitionDefined } from '../utils/is-transition-defined.mjs'; +import { frame } from '../../frameloop/frame.mjs'; + +const animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => { + const valueTransition = getValueTransition(transition, name) || {}; + /** + * Most transition values are currently completely overwritten by value-specific + * transitions. In the future it'd be nicer to blend these transitions. But for now + * delay actually does inherit from the root transition if not value-specific. + */ + const delay = valueTransition.delay || transition.delay || 0; + /** + * Elapsed isn't a public transition option but can be passed through from + * optimized appear effects in milliseconds. + */ + let { elapsed = 0 } = transition; + elapsed = elapsed - secondsToMilliseconds(delay); + const options = { + keyframes: Array.isArray(target) ? target : [null, target], + ease: "easeOut", + velocity: value.getVelocity(), + ...valueTransition, + delay: -elapsed, + onUpdate: (v) => { + value.set(v); + valueTransition.onUpdate && valueTransition.onUpdate(v); + }, + onComplete: () => { + onComplete(); + valueTransition.onComplete && valueTransition.onComplete(); + }, + name, + motionValue: value, + element: isHandoff ? undefined : element, + hasOnUpdate: !!valueTransition.onUpdate, + }; + /** + * If there's no transition defined for this value, we can generate + * unique transition settings for this value. + */ + if (!isTransitionDefined(valueTransition)) { + Object.assign(options, getDefaultTransition(name, options)); + } + /** + * Both WAAPI and our internal animation functions use durations + * as defined by milliseconds, while our external API defines them + * as seconds. + */ + options.duration && (options.duration = secondsToMilliseconds(options.duration)); + options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay)); + /** + * Support deprecated way to set initial value. Prefer keyframe syntax. + */ + if (options.from !== undefined) { + options.keyframes[0] = options.from; + } + let shouldSkip = false; + if (options.type === false || + (options.duration === 0 && !options.repeatDelay)) { + makeAnimationInstant(options); + if (options.delay === 0) { + shouldSkip = true; + } + } + if (MotionGlobalConfig.instantAnimations || + MotionGlobalConfig.skipAnimations || + element?.shouldSkipAnimations || + valueTransition.skipAnimations) { + shouldSkip = true; + makeAnimationInstant(options); + options.delay = 0; + } + /** + * If the transition type or easing has been explicitly set by the user + * then we don't want to allow flattening the animation. + */ + options.allowFlatten = !valueTransition.type && !valueTransition.ease; + /** + * If we can or must skip creating the animation, and apply only + * the final keyframe, do so. We also check once keyframes are resolved but + * this early check prevents the need to create an animation at all. + */ + if (shouldSkip && !isHandoff && value.get() !== undefined) { + const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition); + if (finalKeyframe !== undefined) { + frame.update(() => { + options.onUpdate(finalKeyframe); + options.onComplete(); + }); + return; + } + } + return valueTransition.isSync + ? new JSAnimation(options) + : new AsyncMotionValueAnimation(options); +}; + +export { animateMotionValue }; +//# sourceMappingURL=motion-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs new file mode 100644 index 0000000..23a9a9c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs @@ -0,0 +1,109 @@ +import { getValueTransition } from '../utils/get-value-transition.mjs'; +import { resolveTransition } from '../utils/resolve-transition.mjs'; +import { positionalKeys } from '../../render/utils/keys-position.mjs'; +import { setTarget } from '../../render/utils/setters.mjs'; +import { addValueToWillChange } from '../../value/will-change/add-will-change.mjs'; +import { getOptimisedAppearId } from '../optimized-appear/get-appear-id.mjs'; +import { animateMotionValue } from './motion-value.mjs'; +import { frame } from '../../frameloop/frame.mjs'; + +const isBrowser = typeof window !== "undefined"; +/** + * Decide whether we should block this animation. Previously, we achieved this + * just by checking whether the key was listed in protectedKeys, but this + * posed problems if an animation was triggered by afterChildren and protectedKeys + * had been set to true in the meantime. + */ +function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) { + const shouldBlock = key in protectedKeys && !needsAnimating[key]; + needsAnimating[key] = false; + return shouldBlock; +} +function animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) { + let { transition, transitionEnd, ...target } = targetAndTransition; + const defaultTransition = visualElement.getDefaultTransition(); + transition = transition + ? resolveTransition(transition, defaultTransition) + : defaultTransition; + const reduceMotion = transition?.reduceMotion; + const skipAnimations = transition?.skipAnimations; + if (transitionOverride) + transition = transitionOverride; + const animations = []; + const animationTypeState = type && visualElement.animationState?.getState()[type]; + const path = transition?.path; + if (path) { + // path mutates `target` to claim x/y; loop below skips them. + path.animateValues + ? path.animateValues((key) => visualElement.getValue(key, visualElement.latestValues[key] ?? 0), target, transition, delay, animations) + : path.animateVisualElement?.(visualElement, target, transition, delay, animations); + } + for (const key in target) { + const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null); + const valueTarget = target[key]; + if (valueTarget === undefined || + (animationTypeState && + shouldBlockAnimation(animationTypeState, key))) { + continue; + } + const valueTransition = { + delay, + ...getValueTransition(transition || {}, key), + }; + if (skipAnimations) + valueTransition.skipAnimations = true; + /** + * If the value is already at the defined target, skip the animation. + * We still re-assert the value via frame.update to take precedence + * over any stale transitionEnd callbacks from previous animations. + */ + const currentValue = value.get(); + if (currentValue !== undefined && + !value.isAnimating() && + !Array.isArray(valueTarget) && + valueTarget === currentValue && + !valueTransition.velocity) { + frame.update(() => value.set(valueTarget)); + continue; + } + /** + * If this is the first time a value is being animated, check + * to see if we're handling off from an existing animation. + */ + let isHandoff = false; + if (isBrowser && window.MotionHandoffAnimation) { + const appearId = getOptimisedAppearId(visualElement); + if (appearId) { + const startTime = window.MotionHandoffAnimation(appearId, key, frame); + if (startTime !== null) { + valueTransition.startTime = startTime; + isHandoff = true; + } + } + } + addValueToWillChange(visualElement, key); + const shouldReduceMotion = reduceMotion ?? visualElement.shouldReduceMotion; + value.start(animateMotionValue(key, value, valueTarget, shouldReduceMotion && positionalKeys.has(key) + ? { type: false } + : valueTransition, visualElement, isHandoff)); + const animation = value.animation; + if (animation) { + animations.push(animation); + } + } + if (transitionEnd) { + const applyTransitionEnd = () => frame.update(() => { + transitionEnd && setTarget(visualElement, transitionEnd); + }); + if (animations.length) { + Promise.all(animations).then(applyTransitionEnd); + } + else { + applyTransitionEnd(); + } + } + return animations; +} + +export { animateTarget }; +//# sourceMappingURL=visual-element-target.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs new file mode 100644 index 0000000..4b46dda --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs @@ -0,0 +1,40 @@ +import { resolveVariant, getTypeCustom } from '../../render/utils/resolve-dynamic-variants.mjs'; +import { calcChildStagger } from '../utils/calc-child-stagger.mjs'; +import { animateTarget } from './visual-element-target.mjs'; + +function animateVariant(visualElement, variant, options = {}) { + const resolved = resolveVariant(visualElement, variant, getTypeCustom(visualElement, options.type)); + const transition = options.transitionOverride || + (resolved?.transition ?? (visualElement.getDefaultTransition() || {})); + const getAnimation = () => Promise.all(resolved ? animateTarget(visualElement, resolved, options) : []); + const getChildAnimations = (delay = 0) => { + const { variantChildren } = visualElement; + const { delayChildren = 0, staggerChildren, staggerDirection, } = transition; + const animations = []; + variantChildren?.forEach((child) => { + child.notify("AnimationStart", variant); + animations.push(animateVariant(child, variant, { + ...options, + delay: delay + + (typeof delayChildren === "function" + ? 0 + : delayChildren) + + calcChildStagger(variantChildren, child, delayChildren, staggerChildren, staggerDirection), + }).then(() => child.notify("AnimationComplete", variant))); + }); + return Promise.all(animations); + }; + /** + * when: "beforeChildren" | "afterChildren" runs this element's animation + * and its children's in sequence. + */ + const { when } = transition; + return when + ? when === "beforeChildren" + ? getAnimation().then(() => getChildAnimations()) + : getChildAnimations().then(getAnimation) + : Promise.all([getAnimation(), getChildAnimations(options.delay)]); +} + +export { animateVariant }; +//# sourceMappingURL=visual-element-variant.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs new file mode 100644 index 0000000..5270b19 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs @@ -0,0 +1,18 @@ +import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs'; +import { animateTarget } from './visual-element-target.mjs'; +import { animateVariant } from './visual-element-variant.mjs'; + +function animateVisualElement(visualElement, definition, options = {}) { + visualElement.notify("AnimationStart", definition); + const animation = Array.isArray(definition) + ? Promise.all(definition.map((variant) => animateVariant(visualElement, variant, options))) + : typeof definition === "string" + ? animateVariant(visualElement, definition, options) + : Promise.all(animateTarget(visualElement, resolveVariant(visualElement, definition, options.custom), options)); + return animation.then(() => { + visualElement.notify("AnimationComplete", definition); + }); +} + +export { animateVisualElement }; +//# sourceMappingURL=visual-element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs new file mode 100644 index 0000000..e72cff5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs @@ -0,0 +1,172 @@ +import { positionalKeys } from '../../render/utils/keys-position.mjs'; +import { findDimensionValueType } from '../../value/types/dimensions.mjs'; +import { getVariableValue } from '../utils/css-variables-conversion.mjs'; +import { containsCSSVariable, isCSSVariableToken } from '../utils/is-css-variable.mjs'; +import { KeyframeResolver } from './KeyframesResolver.mjs'; +import { isNone } from './utils/is-none.mjs'; +import { makeNoneKeyframesAnimatable } from './utils/make-none-animatable.mjs'; +import { positionalValues, isNumOrPxType } from './utils/unit-conversion.mjs'; + +class DOMKeyframesResolver extends KeyframeResolver { + constructor(unresolvedKeyframes, onComplete, name, motionValue, element) { + super(unresolvedKeyframes, onComplete, name, motionValue, element, true); + } + /** + * Keyframes that don't need reading from the DOM, or measuring, + * resolve straight away rather than in the frame loop's batched read. + */ + scheduleResolve() { + if (this.canReadNow()) { + this.readKeyframes(); + if (!this.needsMeasurement) + return this.complete(); + } + super.scheduleResolve(); + } + canReadNow() { + const { unresolvedKeyframes, element, motionValue } = this; + const origin = unresolvedKeyframes[0] ?? motionValue?.get(); + if (!element?.current || origin === undefined) + return false; + for (let i = 0; i < unresolvedKeyframes.length; i++) { + if (containsCSSVariable(i ? unresolvedKeyframes[i] : origin)) { + return false; + } + } + return true; + } + readKeyframes() { + const { unresolvedKeyframes, element, name } = this; + if (!element || !element.current) + return; + super.readKeyframes(); + /** + * If any keyframe is a CSS variable, we need to find its value by sampling the element + */ + for (let i = 0; i < unresolvedKeyframes.length; i++) { + let keyframe = unresolvedKeyframes[i]; + if (typeof keyframe === "string") { + keyframe = keyframe.trim(); + if (isCSSVariableToken(keyframe)) { + const resolved = getVariableValue(keyframe, element.current); + if (resolved !== undefined) { + unresolvedKeyframes[i] = resolved; + } + if (i === unresolvedKeyframes.length - 1) { + this.finalKeyframe = keyframe; + } + } + } + } + /** + * Resolve "none" values. We do this potentially twice - once before and once after measuring keyframes. + * This could be seen as inefficient but it's a trade-off to avoid measurements in more situations, which + * have a far bigger performance impact. + */ + this.resolveNoneKeyframes(); + /** + * Check to see if unit type has changed. If so schedule jobs that will + * temporarily set styles to the destination keyframes. + * Skip if we have more than two keyframes or this isn't a positional value. + * TODO: We can throw if there are multiple keyframes and the value type changes. + */ + if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) { + return; + } + const [origin, target] = unresolvedKeyframes; + // Two numbers share a unit, so skip the value type search. + if (typeof origin === "number" && typeof target === "number") + return; + const originType = findDimensionValueType(origin); + const targetType = findDimensionValueType(target); + /** + * If one keyframe contains embedded CSS variables (e.g. in calc()) and the other + * doesn't, we need to measure to convert to pixels. This handles GitHub issue #3410. + */ + const originHasVar = containsCSSVariable(origin); + const targetHasVar = containsCSSVariable(target); + if (originHasVar !== targetHasVar && positionalValues[name]) { + this.needsMeasurement = true; + return; + } + /** + * Either we don't recognise these value types or we can animate between them. + */ + if (originType === targetType) + return; + /** + * If both values are numbers or pixels, we can animate between them by + * converting them to numbers. + */ + if (isNumOrPxType(originType) && isNumOrPxType(targetType)) { + for (let i = 0; i < unresolvedKeyframes.length; i++) { + const value = unresolvedKeyframes[i]; + if (typeof value === "string") { + unresolvedKeyframes[i] = parseFloat(value); + } + } + } + else if (positionalValues[name]) { + /** + * Else, the only way to resolve this is by measuring the element. + */ + this.needsMeasurement = true; + } + } + resolveNoneKeyframes() { + const { unresolvedKeyframes, name } = this; + const noneKeyframeIndexes = []; + for (let i = 0; i < unresolvedKeyframes.length; i++) { + if (unresolvedKeyframes[i] === null || + isNone(unresolvedKeyframes[i])) { + noneKeyframeIndexes.push(i); + } + } + if (noneKeyframeIndexes.length) { + makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name); + } + } + measure() { + const { element, name } = this; + return positionalValues[name](window.getComputedStyle(element.current), () => element.measureViewportBox()); + } + measureInitialState() { + const { element, unresolvedKeyframes, name } = this; + if (!element || !element.current) + return; + if (name === "height") { + this.suspendedScrollY = window.pageYOffset; + } + this.measuredOrigin = this.measure(); + unresolvedKeyframes[0] = this.measuredOrigin; + // Set final key frame to measure after next render + const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1]; + if (measureKeyframe !== undefined) { + this.motionValue?.jump(measureKeyframe, false); + } + } + measureEndState() { + const { element, unresolvedKeyframes } = this; + if (!element || !element.current) + return; + this.motionValue?.jump(this.measuredOrigin, false); + const finalKeyframeIndex = unresolvedKeyframes.length - 1; + const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex]; + unresolvedKeyframes[finalKeyframeIndex] = this.measure(); + if (finalKeyframe !== null && this.finalKeyframe === undefined) { + this.finalKeyframe = finalKeyframe; + } + // If we removed transform values, reapply them before the next render + if (this.removedTransforms?.length) { + this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => { + element + .getValue(unsetTransformName) + .set(unsetTransformValue); + }); + } + this.resolveNoneKeyframes(); + } +} + +export { DOMKeyframesResolver }; +//# sourceMappingURL=DOMKeyframesResolver.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs new file mode 100644 index 0000000..3e7c56b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs @@ -0,0 +1,179 @@ +import { isNumericalString, isZeroValueString } from 'motion-utils'; +import { complex } from '../../value/types/complex/index.mjs'; +import { getAnimatableNone } from '../../value/types/utils/animatable-none.mjs'; +import { fillWildcards } from './utils/fill-wildcards.mjs'; +import { boxDependentValues, removeNonTranslationalTransform } from './utils/unit-conversion.mjs'; +import { frame } from '../../frameloop/frame.mjs'; + +const toResolve = new Set(); +let isScheduled = false; +let anyNeedsMeasurement = false; +let isForced = false; +function measureAllKeyframes() { + if (anyNeedsMeasurement) { + const resolversToMeasure = []; + const elementsToMeasure = new Set(); + const elementsToUntransform = new Set(); + toResolve.forEach((resolver) => { + if (!resolver.needsMeasurement) + return; + resolversToMeasure.push(resolver); + elementsToMeasure.add(resolver.element); + if (boxDependentValues.has(resolver.name)) { + elementsToUntransform.add(resolver.element); + } + }); + const transformsToRestore = new Map(); + /** + * Write pass + * Values measured from the bounding box need bounding box-changing + * transforms removed first. Values read from computed style don't. + */ + elementsToUntransform.forEach((element) => { + const removedTransforms = removeNonTranslationalTransform(element); + if (!removedTransforms.length) + return; + transformsToRestore.set(element, removedTransforms); + element.render(); + }); + // Read + resolversToMeasure.forEach((resolver) => resolver.measureInitialState()); + // Write + elementsToMeasure.forEach((element) => { + element.render(); + const restore = transformsToRestore.get(element); + if (restore) { + restore.forEach(([key, value]) => { + element.getValue(key)?.set(value); + }); + } + }); + // Read + resolversToMeasure.forEach((resolver) => resolver.measureEndState()); + // Write + resolversToMeasure.forEach((resolver) => { + if (resolver.suspendedScrollY !== undefined) { + window.scrollTo(0, resolver.suspendedScrollY); + } + }); + } + anyNeedsMeasurement = false; + isScheduled = false; + toResolve.forEach((resolver) => resolver.complete(isForced)); + toResolve.clear(); +} +function readAllKeyframes() { + toResolve.forEach((resolver) => { + resolver.readKeyframes(); + if (resolver.needsMeasurement) { + anyNeedsMeasurement = true; + } + }); +} +function flushKeyframeResolvers() { + isForced = true; + readAllKeyframes(); + measureAllKeyframes(); + isForced = false; +} +/** + * Normalise a value read from the subject into an animation origin: a + * number read as a string ("0", "200") becomes a number, and a value + * that isn't animatable (e.g. "none") but whose target is becomes an + * animatable zero in the shape of the target. + */ +function readOrigin(value, name, target) { + if (typeof value === "string") { + if (isNumericalString(value) || isZeroValueString(value)) { + return parseFloat(value); + } + else if (!complex.test(value) && complex.test(target)) { + return getAnimatableNone(name, target); + } + } + return value ?? undefined; +} +class KeyframeResolver { + constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) { + this.state = "pending"; + /** + * Track whether this resolver is async. If it is, it'll be added to the + * resolver queue and flushed in the next frame. Resolvers that aren't going + * to trigger read/write thrashing don't need to be async. + */ + this.isAsync = false; + /** + * Track whether this resolver needs to perform a measurement + * to resolve its keyframes. + */ + this.needsMeasurement = false; + this.unresolvedKeyframes = [...unresolvedKeyframes]; + this.onComplete = onComplete; + this.name = name; + this.motionValue = motionValue; + this.element = element; + this.isAsync = isAsync; + } + scheduleResolve() { + this.state = "scheduled"; + if (this.isAsync) { + toResolve.add(this); + if (!isScheduled) { + isScheduled = true; + frame.read(readAllKeyframes); + frame.resolveKeyframes(measureAllKeyframes); + } + } + else { + this.readKeyframes(); + this.complete(); + } + } + readKeyframes() { + const { unresolvedKeyframes, name, element, motionValue } = this; + // If initial keyframe is null we need to read it from the DOM + if (unresolvedKeyframes[0] === null) { + const currentValue = motionValue?.get(); + // TODO: This doesn't work if the final keyframe is a wildcard + const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1]; + if (currentValue !== undefined) { + unresolvedKeyframes[0] = currentValue; + } + else if (element && name) { + const valueAsRead = readOrigin(element.readValue(name, finalKeyframe), name, finalKeyframe); + if (valueAsRead !== undefined) { + unresolvedKeyframes[0] = valueAsRead; + } + } + if (unresolvedKeyframes[0] === undefined) { + unresolvedKeyframes[0] = finalKeyframe; + } + if (motionValue && currentValue === undefined) { + motionValue.set(unresolvedKeyframes[0]); + } + } + fillWildcards(unresolvedKeyframes); + } + setFinalKeyframe() { } + measureInitialState() { } + renderEndStyles() { } + measureEndState() { } + complete(isForcedComplete = false) { + this.state = "complete"; + this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete); + toResolve.delete(this); + } + cancel() { + if (this.state === "scheduled") { + toResolve.delete(this); + this.state = "pending"; + } + } + resume() { + if (this.state === "pending") + this.scheduleResolve(); + } +} + +export { KeyframeResolver, flushKeyframeResolvers }; +//# sourceMappingURL=KeyframesResolver.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs new file mode 100644 index 0000000..4306bd8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs @@ -0,0 +1,12 @@ +const isNotNull = (value) => value !== null; +function getFinalKeyframe(keyframes, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) { + const resolvedKeyframes = keyframes.filter(isNotNull); + const useFirstKeyframe = speed < 0 || (repeat && repeatType !== "loop" && repeat % 2 === 1); + const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1; + return !index || finalKeyframe === undefined + ? resolvedKeyframes[index] + : finalKeyframe; +} + +export { getFinalKeyframe }; +//# sourceMappingURL=get-final.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs new file mode 100644 index 0000000..c2735fe --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs @@ -0,0 +1,10 @@ +import { fillOffset } from './fill.mjs'; + +function defaultOffset(arr) { + const offset = [0]; + fillOffset(offset, arr.length - 1); + return offset; +} + +export { defaultOffset }; +//# sourceMappingURL=default.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs new file mode 100644 index 0000000..9f1f783 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs @@ -0,0 +1,13 @@ +import { progress } from 'motion-utils'; +import { mixNumber } from '../../../utils/mix/number.mjs'; + +function fillOffset(offset, remaining) { + const min = offset[offset.length - 1]; + for (let i = 1; i <= remaining; i++) { + const offsetProgress = progress(0, remaining, i); + offset.push(mixNumber(min, 1, offsetProgress)); + } +} + +export { fillOffset }; +//# sourceMappingURL=fill.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs new file mode 100644 index 0000000..9c2a8cf --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs @@ -0,0 +1,6 @@ +function convertOffsetToTimes(offset, duration) { + return offset.map((o) => o * duration); +} + +export { convertOffsetToTimes }; +//# sourceMappingURL=time.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs new file mode 100644 index 0000000..1f37035 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/apply-px-defaults.mjs @@ -0,0 +1,12 @@ +import { pxValues } from '../../waapi/utils/px-values.mjs'; + +function applyPxDefaults(keyframes, name) { + for (let i = 0; i < keyframes.length; i++) { + if (typeof keyframes[i] === "number" && pxValues.has(name)) { + keyframes[i] = keyframes[i] + "px"; + } + } +} + +export { applyPxDefaults }; +//# sourceMappingURL=apply-px-defaults.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs new file mode 100644 index 0000000..3875853 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs @@ -0,0 +1,8 @@ +function fillWildcards(keyframes) { + for (let i = 1; i < keyframes.length; i++) { + keyframes[i] ?? (keyframes[i] = keyframes[i - 1]); + } +} + +export { fillWildcards }; +//# sourceMappingURL=fill-wildcards.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs new file mode 100644 index 0000000..70b7539 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs @@ -0,0 +1,16 @@ +import { isZeroValueString } from 'motion-utils'; + +function isNone(value) { + if (typeof value === "number") { + return value === 0; + } + else if (value !== null) { + return value === "none" || value === "0" || isZeroValueString(value); + } + else { + return true; + } +} + +export { isNone }; +//# sourceMappingURL=is-none.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs new file mode 100644 index 0000000..31be8a7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs @@ -0,0 +1,37 @@ +import { hasComplexValues } from '../../../value/types/complex/index.mjs'; +import { getAnimatableNone } from '../../../value/types/utils/animatable-none.mjs'; + +/** + * If we encounter keyframes like "none" or "0" and we also have keyframes like + * "#fff" or "200px 200px" we want to find a keyframe to serve as a template for + * the "none" keyframes. In this case "#fff" or "200px 200px" - then these get turned into + * zero equivalents, i.e. "#fff0" or "0px 0px". + */ +const invalidTemplates = new Set(["auto", "none", "0"]); +function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) { + let i = 0; + let animatableTemplate = undefined; + while (i < unresolvedKeyframes.length && !animatableTemplate) { + const keyframe = unresolvedKeyframes[i]; + if (typeof keyframe === "string" && + !invalidTemplates.has(keyframe) && + hasComplexValues(keyframe)) { + animatableTemplate = unresolvedKeyframes[i]; + } + i++; + } + if (animatableTemplate && name) { + for (const noneIndex of noneKeyframeIndexes) { + /** + * A zero-valued template like "0%" is already its own + * animatable none, so there's nothing to derive. + */ + if (unresolvedKeyframes[noneIndex] === animatableTemplate) + continue; + unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate); + } + } +} + +export { makeNoneKeyframesAnimatable }; +//# sourceMappingURL=make-none-animatable.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs new file mode 100644 index 0000000..d0b933f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs @@ -0,0 +1,73 @@ +import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs'; +import { transformPropOrder } from '../../../render/utils/keys-transform.mjs'; +import { number } from '../../../value/types/numbers/index.mjs'; +import { px } from '../../../value/types/numbers/units.mjs'; + +const isNumOrPxType = (v) => v === number || v === px; +const transformKeys = new Set(["x", "y", "z"]); +const nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key)); +/** + * Reset any bounding box-changing transforms so the element can be + * measured. Returns the values to restore. Values already at their + * default don't change the box, so they're left alone: an element with + * only `rotate: 0` doesn't need to be re-rendered before measuring. + */ +function removeNonTranslationalTransform(visualElement) { + const removedTransforms = []; + nonTranslationalTransformKeys.forEach((key) => { + const value = visualElement.getValue(key); + if (value !== undefined) { + const current = value.get(); + const reset = key.startsWith("scale") ? 1 : 0; + if (current === reset) + return; + removedTransforms.push([key, current]); + value.set(reset); + } + }); + return removedTransforms; +} +/** + * Values that can only be measured from the bounding box. Elements with + * these values need bounding box-changing transforms removed first. + */ +const boxDependentValues = new Set(["bottom", "right"]); +/** + * Computed width/height is already in pixels and unaffected by + * transforms. It's "auto" for elements without a layout box (e.g. inline), + * in which case we fall back to measuring the bounding box. + */ +function measureDimension(computed, measureBox, axis, paddingStart, paddingEnd, boxSizing) { + const px = parseFloat(computed); + if (!isNaN(px)) + return px; + const { min, max } = measureBox()[axis]; + const size = max - min; + return boxSizing === "border-box" + ? size + : size - parseFloat(paddingStart) - parseFloat(paddingEnd); +} +const positionalValues = { + // Dimensions + width: ({ width, paddingLeft = "0", paddingRight = "0", boxSizing }, measureBox) => measureDimension(width, measureBox, "x", paddingLeft, paddingRight, boxSizing), + height: ({ height, paddingTop = "0", paddingBottom = "0", boxSizing }, measureBox) => measureDimension(height, measureBox, "y", paddingTop, paddingBottom, boxSizing), + top: ({ top }) => parseFloat(top), + left: ({ left }) => parseFloat(left), + bottom: ({ top }, measureBox) => { + const { y } = measureBox(); + return parseFloat(top) + (y.max - y.min); + }, + right: ({ left }, measureBox) => { + const { x } = measureBox(); + return parseFloat(left) + (x.max - x.min); + }, + // Transform + x: ({ transform }) => parseValueFromTransform(transform, "x"), + y: ({ transform }) => parseValueFromTransform(transform, "y"), +}; +// Alias translate longform names +positionalValues.translateX = positionalValues.x; +positionalValues.translateY = positionalValues.y; + +export { boxDependentValues, isNumOrPxType, positionalValues, removeNonTranslationalTransform }; +//# sourceMappingURL=unit-conversion.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs new file mode 100644 index 0000000..a15a511 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs @@ -0,0 +1,7 @@ +import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs'; + +const optimizedAppearDataId = "framerAppearId"; +const optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId); + +export { optimizedAppearDataAttribute, optimizedAppearDataId }; +//# sourceMappingURL=data-id.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs new file mode 100644 index 0000000..7026149 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs @@ -0,0 +1,8 @@ +import { optimizedAppearDataAttribute } from './data-id.mjs'; + +function getOptimisedAppearId(visualElement) { + return visualElement.props[optimizedAppearDataAttribute]; +} + +export { getOptimisedAppearId }; +//# sourceMappingURL=get-appear-id.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs new file mode 100644 index 0000000..793c186 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs @@ -0,0 +1,34 @@ +class WithPromise { + constructor() { + this.isResolved = false; + } + get finished() { + if (!this._finished) { + this._finished = this.isResolved + ? Promise.resolve() + : new Promise((resolve) => { + this._resolve = resolve; + }); + } + return this._finished; + } + updateFinished() { + this._finished = this._resolve = undefined; + this.isResolved = false; + } + notifyFinished() { + this.isResolved = true; + this._resolve?.(); + } + /** + * Allows the animation to be awaited. + * + * @deprecated Use `finished` instead. + */ + then(onResolve, onReject) { + return this.finished.then(onResolve, onReject); + } +} + +export { WithPromise }; +//# sourceMappingURL=WithPromise.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/active-animations.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/active-animations.mjs new file mode 100644 index 0000000..e548994 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/active-animations.mjs @@ -0,0 +1,13 @@ +const animationMaps = new WeakMap(); +const animationMapKey = (name, pseudoElement = "") => `${name}:${pseudoElement}`; +function getAnimationMap(element) { + let map = animationMaps.get(element); + if (!map) { + map = new Map(); + animationMaps.set(element, map); + } + return map; +} + +export { animationMapKey, getAnimationMap }; +//# sourceMappingURL=active-animations.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/arc.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/arc.mjs new file mode 100644 index 0000000..6731fcd --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/arc.mjs @@ -0,0 +1,189 @@ +import { wrap } from 'motion-utils'; +import { motionValue } from '../../value/index.mjs'; +import { animateMotionValue } from '../interfaces/motion-value.mjs'; +import { getValueTransition } from './get-value-transition.mjs'; + +const MIN_LAYOUT_DISTANCE = 20; +function bezierPoint(t, origin, control, target) { + const inv = 1 - t; + return inv * inv * origin + 2 * inv * t * control + t * t * target; +} +function bezierTangentAngle(t, originX, controlX, targetX, originY, controlY, targetY) { + const dx = 2 * (1 - t) * (controlX - originX) + 2 * t * (targetX - controlX); + const dy = 2 * (1 - t) * (controlY - originY) + 2 * t * (targetY - controlY); + return Math.atan2(dy, dx) * (180 / Math.PI); +} +function computeArcControlPoint(fromX, fromY, toX, toY, strength, peak) { + const deltaX = toX - fromX; + const deltaY = toY - fromY; + const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); + if (distance > 0) { + const normalPerpX = -deltaY / distance; + const normalPerpY = deltaX / distance; + const desiredHeight = strength * distance; + return { + x: fromX + deltaX * peak + normalPerpX * desiredHeight, + y: fromY + deltaY * peak + normalPerpY * desiredHeight, + }; + } + return { x: fromX, y: fromY }; +} +/** + * The pure sampling factory: `(from, to) => (t) => point`. Internal — + * used by {@link arc} and the unit tests. Not part of the public surface. + */ +function createArcPath({ strength = 0.5, peak = 0.5, direction, rotate = false, } = {}) { + const rotationScale = rotate === true ? 1 : typeof rotate === "number" ? rotate : 0; + // Auto-direction only: persists across calls to flip the bulge back + // onto the same screen side when the dominant axis changes between + // calls. Reuse the factory (module scope / useMemo) to keep this alive. + let prevBulgeSign; + const createInterpolator = (from, to) => { + const dx = to.x - from.x; + const dy = to.y - from.y; + let signed; + if (direction === "cw") { + signed = -strength; + } + else if (direction === "ccw") { + signed = strength; + } + else { + const dom = Math.abs(dx) >= Math.abs(dy) ? dx : dy; + signed = dom < 0 ? -strength : strength; + } + let control = computeArcControlPoint(from.x, from.y, to.x, to.y, signed, peak); + if (direction === undefined) { + const isVertical = Math.abs(dx) < Math.abs(dy); + const midX = from.x + dx * peak; + const midY = from.y + dy * peak; + const bulgeSign = isVertical + ? Math.sign(control.x - midX) + : Math.sign(control.y - midY); + if (prevBulgeSign !== undefined && + bulgeSign !== 0 && + bulgeSign !== prevBulgeSign) { + signed = -signed; + control = computeArcControlPoint(from.x, from.y, to.x, to.y, signed, peak); + } + else if (bulgeSign !== 0) { + prevBulgeSign = bulgeSign; + } + } + const tangent0 = rotationScale + ? bezierTangentAngle(0, from.x, control.x, to.x, from.y, control.y, to.y) + : 0; + const tangent1 = rotationScale + ? bezierTangentAngle(1, from.x, control.x, to.x, from.y, control.y, to.y) + : 0; + const tangentDelta = rotationScale + ? wrap(-180, 180, tangent1 - tangent0) + : 0; + return (t) => { + const out = { + x: bezierPoint(t, from.x, control.x, to.x), + y: bezierPoint(t, from.y, control.y, to.y), + }; + if (rotationScale) { + const raw = bezierTangentAngle(t, from.x, control.x, to.x, from.y, control.y, to.y); + const baseline = tangent0 + tangentDelta * t; + out.rotate = wrap(-180, 180, raw - baseline) * rotationScale; + } + return out; + }; + }; + return createInterpolator; +} +/** + * Creates a curved path for `transition.path`: + * + * ```ts + * <motion.div animate={{ x: 200, y: 100 }} transition={{ path: arc() }} /> + * ``` + * + * Reuse the returned value (module scope / useMemo / useRef) so its + * continuity closure survives re-renders — a fresh `arc()` has no memory. + */ +function arc(options = {}) { + const sample = createArcPath(options); + const path = { + interpolateProjection(delta) { + // `from` is the current translate offset (carries any in-flight + // displacement when interrupted); `to` is the new layout origin. + // The distance floor avoids visible wobble on tiny shifts. + const tx = delta.x.translate; + const ty = delta.y.translate; + if (Math.sqrt(tx * tx + ty * ty) < MIN_LAYOUT_DISTANCE) { + return undefined; + } + return sample({ x: tx, y: ty }, { x: 0, y: 0 }); + }, + animateValues(getValue, target, transition, delay, animations) { + if (!("x" in target || "y" in target)) + return; + const xValue = getValue("x"); + const yValue = getValue("y"); + const xRaw = target.x; + const yRaw = target.y; + const xFrom = (Array.isArray(xRaw) && xRaw[0] != null + ? xRaw[0] + : xValue?.get()) ?? 0; + const yFrom = (Array.isArray(yRaw) && yRaw[0] != null + ? yRaw[0] + : yValue?.get()) ?? 0; + const xTo = (Array.isArray(xRaw) + ? xRaw[xRaw.length - 1] + : xRaw ?? xFrom); + const yTo = (Array.isArray(yRaw) + ? yRaw[yRaw.length - 1] + : yRaw ?? yFrom); + // Interruption needs no flag: x/y already hold the displaced + // mid-arc position, so xFrom/yFrom carry the continuity geometry. + const interpolate = sample({ x: xFrom, y: yFrom }, { x: xTo, y: yTo }); + // Drive a dedicated `pathRotation` value (composed onto `rotate` + // at the build sites) rather than `rotate` itself, so a + // concurrent rotate animation composes and nothing accumulates + // on interrupt. + const pathRotationValue = interpolate(0).rotate !== undefined + ? getValue("pathRotation") + : undefined; + const pathTransition = { + delay, + ...getValueTransition(transition || {}, "x"), + }; + delete pathTransition.path; + const progress = motionValue(0); + progress.start(animateMotionValue("", progress, [0, 1000], { + ...pathTransition, + isSync: true, + velocity: 0, + onUpdate: (latest) => { + const point = interpolate(latest / 1000); + xValue?.set(point.x); + yValue?.set(point.y); + if (pathRotationValue && point.rotate !== undefined) { + pathRotationValue.set(point.rotate); + } + }, + onComplete: () => { + xValue?.set(xTo); + yValue?.set(yTo); + pathRotationValue?.set(0); + }, + // Interrupt/cancel must clear our additive contribution + // so it can't linger on top of the user's `rotate`. + onStop: () => pathRotationValue?.set(0), + onCancel: () => pathRotationValue?.set(0), + })); + if (progress.animation) { + animations.push(progress.animation); + } + delete target.x; + delete target.y; + }, + }; + return path; +} + +export { arc, createArcPath }; +//# sourceMappingURL=arc.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs new file mode 100644 index 0000000..4ddf789 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs @@ -0,0 +1,16 @@ +function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) { + const index = Array.from(children) + .sort((a, b) => a.sortNodePosition(b)) + .indexOf(child); + const numChildren = children.size; + const maxStaggerDuration = (numChildren - 1) * staggerChildren; + const delayIsFunction = typeof delayChildren === "function"; + return delayIsFunction + ? delayChildren(index, numChildren) + : staggerDirection === 1 + ? index * staggerChildren + : maxStaggerDuration - index * staggerChildren; +} + +export { calcChildStagger }; +//# sourceMappingURL=calc-child-stagger.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs new file mode 100644 index 0000000..c50855a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs @@ -0,0 +1,46 @@ +import { warning } from 'motion-utils'; +import { isGenerator } from '../generators/utils/is-generator.mjs'; +import { isAnimatable } from './is-animatable.mjs'; + +function hasKeyframesChanged(keyframes) { + const current = keyframes[0]; + if (keyframes.length === 1) + return true; + for (let i = 0; i < keyframes.length; i++) { + if (keyframes[i] !== current) + return true; + } +} +function canAnimate(keyframes, name, type, velocity) { + /** + * Check if we're able to animate between the start and end keyframes, + * and throw a warning if we're attempting to animate between one that's + * animatable and another that isn't. + */ + const originKeyframe = keyframes[0]; + if (originKeyframe === null) { + return false; + } + /** + * These aren't traditionally animatable but we do support them. + * In future we could look into making this more generic or replacing + * this function with mix() === mixImmediate + */ + if (name === "display" || name === "visibility") + return true; + const targetKeyframe = keyframes[keyframes.length - 1]; + const isOriginAnimatable = isAnimatable(originKeyframe, name); + const isTargetAnimatable = isAnimatable(targetKeyframe, name); + // Always skip if any of these are true + if (!isOriginAnimatable || !isTargetAnimatable) { + // Only build the message when we're going to warn + isOriginAnimatable !== isTargetAnimatable && + warning(false, `You are trying to animate ${name} from "${originKeyframe}" to "${targetKeyframe}". "${isOriginAnimatable ? targetKeyframe : originKeyframe}" is not an animatable value.`, "value-not-animatable"); + return false; + } + return (hasKeyframesChanged(keyframes) || + ((type === "spring" || isGenerator(type)) && velocity)); +} + +export { canAnimate }; +//# sourceMappingURL=can-animate.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs new file mode 100644 index 0000000..78c8b40 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs @@ -0,0 +1,42 @@ +import { invariant, isNumericalString } from 'motion-utils'; +import { isCSSVariableToken } from './is-css-variable.mjs'; + +/** + * Parse Framer's special CSS variable format into a CSS token and a fallback. + * + * ``` + * `var(--foo, #fff)` => [`--foo`, '#fff'] + * ``` + * + * @param current + */ +const splitCSSVariableRegex = +// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words +/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u; +function parseCSSVariable(current) { + const match = splitCSSVariableRegex.exec(current); + if (!match) + return [,]; + const [, token1, token2, fallback] = match; + return [`--${token1 ?? token2}`, fallback]; +} +const maxDepth = 4; +function getVariableValue(current, element, depth = 1) { + invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth"); + const [token, fallback] = parseCSSVariable(current); + // No CSS variable detected + if (!token) + return; + // Attempt to read this CSS variable off the element + const resolved = window.getComputedStyle(element).getPropertyValue(token); + if (resolved) { + const trimmed = resolved.trim(); + return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed; + } + return isCSSVariableToken(fallback) + ? getVariableValue(fallback, element, depth + 1) + : fallback; +} + +export { getVariableValue, parseCSSVariable }; +//# sourceMappingURL=css-variables-conversion.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs new file mode 100644 index 0000000..00ca169 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs @@ -0,0 +1,41 @@ +import { transformProps } from '../../render/utils/keys-transform.mjs'; + +const underDampedSpring = { + type: "spring", + stiffness: 500, + damping: 25, + restSpeed: 10, +}; +const criticallyDampedSpring = (target) => ({ + type: "spring", + stiffness: 550, + damping: target === 0 ? 2 * Math.sqrt(550) : 30, + restSpeed: 10, +}); +const keyframesTransition = { + type: "keyframes", + duration: 0.8, +}; +/** + * Default easing curve is a slightly shallower version of + * the default browser easing curve. + */ +const ease = { + type: "keyframes", + ease: [0.25, 0.1, 0.35, 1], + duration: 0.3, +}; +const getDefaultTransition = (valueKey, { keyframes }) => { + if (keyframes.length > 2) { + return keyframesTransition; + } + else if (transformProps.has(valueKey)) { + return valueKey.startsWith("scale") + ? criticallyDampedSpring(keyframes[1]) + : underDampedSpring; + } + return ease; +}; + +export { getDefaultTransition }; +//# sourceMappingURL=default-transitions.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs new file mode 100644 index 0000000..d616d23 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs @@ -0,0 +1,14 @@ +import { resolveTransition } from './resolve-transition.mjs'; + +function getValueTransition(transition, key) { + const valueTransition = transition?.[key] ?? + transition?.["default"] ?? + transition; + if (valueTransition !== transition) { + return resolveTransition(valueTransition, transition); + } + return valueTransition; +} + +export { getValueTransition }; +//# sourceMappingURL=get-value-transition.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs new file mode 100644 index 0000000..b1ca0da --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs @@ -0,0 +1,31 @@ +import { complex } from '../../value/types/complex/index.mjs'; + +/** + * Check if a value is animatable. Examples: + * + * ✅: 100, "100px", "#fff" + * ❌: "block", "url(2.jpg)" + * @param value + * + * @internal + */ +const isAnimatable = (value, name) => { + // If the list of keys that might be non-animatable grows, replace with Set + if (name === "zIndex") + return false; + // If it's a number or a keyframes array, we can animate it. We might at some point + // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this, + // but for now lets leave it like this for performance reasons + if (typeof value === "number" || Array.isArray(value)) + return true; + if (typeof value === "string" && // It's animatable if we have a string + (complex.test(value) || value === "0") && // And it contains numbers and/or colors + !value.startsWith("url(") // Unless it starts with "url(" + ) { + return true; + } + return false; +}; + +export { isAnimatable }; +//# sourceMappingURL=is-animatable.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs new file mode 100644 index 0000000..f0d3618 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs @@ -0,0 +1,27 @@ +const checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token); +const isCSSVariableName = +/*@__PURE__*/ checkStringStartsWith("--"); +const startsAsVariableToken = +/*@__PURE__*/ checkStringStartsWith("var(--"); +const isCSSVariableToken = (value) => { + const startsWithToken = startsAsVariableToken(value); + if (!startsWithToken) + return false; + // Ensure any comments are stripped from the value as this can harm performance of the regex. + return singleCssVariableRegex.test(value.split("/*")[0].trim()); +}; +const singleCssVariableRegex = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu; +/** + * Check if a value contains a CSS variable anywhere (e.g. inside calc()). + * Unlike isCSSVariableToken which checks if the value IS a var() token, + * this checks if the value CONTAINS var() somewhere in the string. + */ +function containsCSSVariable(value) { + if (typeof value !== "string") + return false; + // Strip comments to avoid false positives + return value.split("/*")[0].includes("var(--"); +} + +export { containsCSSVariable, isCSSVariableName, isCSSVariableToken }; +//# sourceMappingURL=is-css-variable.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs new file mode 100644 index 0000000..394fca4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs @@ -0,0 +1,27 @@ +const orchestrationKeys = new Set([ + "when", + "delay", + "delayChildren", + "staggerChildren", + "staggerDirection", + "repeat", + "repeatType", + "repeatDelay", + "from", + "elapsed", +]); +/** + * Decide whether a transition is defined on a given Transition. + * This filters out orchestration options and returns true + * if any options are left. + */ +function isTransitionDefined(transition) { + for (const key in transition) { + if (!orchestrationKeys.has(key)) + return true; + } + return false; +} + +export { isTransitionDefined }; +//# sourceMappingURL=is-transition-defined.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs new file mode 100644 index 0000000..2c66615 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs @@ -0,0 +1,7 @@ +function makeAnimationInstant(options) { + options.duration = 0; + options.type = "keyframes"; +} + +export { makeAnimationInstant }; +//# sourceMappingURL=make-animation-instant.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs new file mode 100644 index 0000000..cc59346 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/notify-inspector.mjs @@ -0,0 +1,56 @@ +import { frameData } from '../../frameloop/frame-data.mjs'; +import { time } from '../../frameloop/sync-time.mjs'; + +function baseRecord(kind, animation) { + return { + kind, + animation, + timestamp: time.now(), + frameTimestamp: frameData.timestamp, + frameIsProcessing: frameData.isProcessing, + }; +} +/** + * Notify an optional inspector without adding a public Motion API. + * + * The record is a raw firehose: the live animation handle, the concrete + * animation's internal options object untouched (timing fields in + * internal milliseconds, name/keyframes/element/motionValue still + * attached), a timestamp and the raw frameloop state at notify time. + * All interpretation belongs to the consumer behind + * globalThis.__MOTION_INSPECT__. + */ +function notifyAnimationStart(animation, options, transition) { + const notify = globalThis.__MOTION_INSPECT__; + if (!notify) + return; + try { + notify({ + ...baseRecord("animation-start", animation), + options: transition ? { ...options, ...transition } : options, + }); + } + catch { } +} +/** + * Layout animations drive a projection node's progress rather than a + * property, so the record forwards the live node itself: it carries the + * DOM instance, the layout options (layoutId) and the progress handle. + * Fired inside the frame.update that starts the animation, so nodes + * animating in the same layout commit share frameTimestamp. + */ +function notifyLayoutAnimationStart(animation, node) { + const notify = globalThis.__MOTION_INSPECT__; + if (!notify) + return; + try { + notify({ + ...baseRecord("layout-animation-start", animation), + node, + }); + } + catch { } +} + +export { notifyAnimationStart, notifyLayoutAnimationStart }; +//# sourceMappingURL=notify-inspector.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs new file mode 100644 index 0000000..5d06ecb --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs @@ -0,0 +1,19 @@ +import { inertia } from '../generators/inertia.mjs'; +import { keyframes } from '../generators/keyframes.mjs'; +import { spring } from '../generators/spring.mjs'; + +const transitionTypeMap = { + decay: inertia, + inertia, + tween: keyframes, + keyframes: keyframes, + spring, +}; +function replaceTransitionType(transition) { + if (typeof transition.type === "string") { + transition.type = transitionTypeMap[transition.type]; + } +} + +export { replaceTransitionType }; +//# sourceMappingURL=replace-transition-type.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs new file mode 100644 index 0000000..7623aec --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-start-time.mjs @@ -0,0 +1,17 @@ +import { MotionGlobalConfig } from 'motion-utils'; + +/** + * If an animation's keyframes resolve, or its first frame renders, more than + * this long after its start time, it starts from then instead. While we prefer + * to "start" an animation as soon as it's triggered, this avoids a visual jump + * into it after main thread work. + * + * Manual timing steps frames by however long it likes, so never lags. + */ +const MAX_START_DELAY = 40; +const resolveStartTime = (startTime, now) => now - startTime > MAX_START_DELAY && !MotionGlobalConfig.useManualTiming + ? now + : startTime; + +export { resolveStartTime }; +//# sourceMappingURL=resolve-start-time.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs new file mode 100644 index 0000000..c49df0b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs @@ -0,0 +1,15 @@ +/** + * If `transition` has `inherit: true`, shallow-merge it with + * `parentTransition` (child keys win) and strip the `inherit` key. + * Otherwise return `transition` unchanged. + */ +function resolveTransition(transition, parentTransition) { + if (transition?.inherit && parentTransition) { + const { inherit: _, ...rest } = transition; + return { ...parentTransition, ...rest }; + } + return transition; +} + +export { resolveTransition }; +//# sourceMappingURL=resolve-transition.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs new file mode 100644 index 0000000..3b9c686 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs @@ -0,0 +1,4 @@ +const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`; + +export { cubicBezierAsString }; +//# sourceMappingURL=cubic-bezier.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/is-supported.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/is-supported.mjs new file mode 100644 index 0000000..73ec416 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/is-supported.mjs @@ -0,0 +1,15 @@ +import { isBezierDefinition } from 'motion-utils'; +import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs'; +import { supportedWaapiEasing } from './supported.mjs'; + +function isWaapiSupportedEasing(easing) { + return Boolean((typeof easing === "function" && supportsLinearEasing()) || + !easing || + (typeof easing === "string" && + (easing in supportedWaapiEasing || supportsLinearEasing())) || + isBezierDefinition(easing) || + (Array.isArray(easing) && easing.every(isWaapiSupportedEasing))); +} + +export { isWaapiSupportedEasing }; +//# sourceMappingURL=is-supported.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs new file mode 100644 index 0000000..4928688 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs @@ -0,0 +1,29 @@ +import { isBezierDefinition } from 'motion-utils'; +import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs'; +import { generateLinearEasing } from '../utils/linear.mjs'; +import { cubicBezierAsString } from './cubic-bezier.mjs'; +import { supportedWaapiEasing } from './supported.mjs'; + +function mapEasingToNativeEasing(easing, duration) { + if (!easing) { + return undefined; + } + else if (typeof easing === "function") { + return supportsLinearEasing() + ? generateLinearEasing(easing, duration) + : "ease-out"; + } + else if (isBezierDefinition(easing)) { + return cubicBezierAsString(easing); + } + else if (Array.isArray(easing)) { + return easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) || + supportedWaapiEasing.easeOut); + } + else { + return supportedWaapiEasing[easing]; + } +} + +export { mapEasingToNativeEasing }; +//# sourceMappingURL=map-easing.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs new file mode 100644 index 0000000..ae315b0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs @@ -0,0 +1,16 @@ +import { cubicBezierAsString } from './cubic-bezier.mjs'; + +const supportedWaapiEasing = { + linear: "linear", + ease: "ease", + easeIn: "ease-in", + easeOut: "ease-out", + easeInOut: "ease-in-out", + circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]), + circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]), + backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]), + backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]), +}; + +export { supportedWaapiEasing }; +//# sourceMappingURL=supported.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs new file mode 100644 index 0000000..8f46e1b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs @@ -0,0 +1,29 @@ +import { mapEasingToNativeEasing } from './easing/map-easing.mjs'; + +function startWaapiAnimation(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = "loop", ease = "easeOut", times, } = {}, pseudoElement = undefined) { + const keyframeOptions = { + [valueName]: keyframes, + }; + if (times) + keyframeOptions.offset = times; + const easing = mapEasingToNativeEasing(ease, duration); + /** + * If this is an easing array, apply to keyframes, not animation as a whole + */ + if (Array.isArray(easing)) + keyframeOptions.easing = easing; + const options = { + delay, + duration, + easing: !Array.isArray(easing) ? easing : "linear", + fill: "both", + iterations: repeat + 1, + direction: repeatType === "reverse" ? "alternate" : "normal", + }; + if (pseudoElement) + options.pseudoElement = pseudoElement; + return element.animate(keyframeOptions, options); +} + +export { startWaapiAnimation }; +//# sourceMappingURL=start-waapi-animation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/partial-keyframes.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/partial-keyframes.mjs new file mode 100644 index 0000000..8250ebb --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/partial-keyframes.mjs @@ -0,0 +1,14 @@ +import { memo } from 'motion-utils'; + +const supportsPartialKeyframes = /*@__PURE__*/ memo(() => { + try { + document.createElement("div").animate({ opacity: [1] }); + } + catch (e) { + return false; + } + return true; +}); + +export { supportsPartialKeyframes }; +//# sourceMappingURL=partial-keyframes.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs new file mode 100644 index 0000000..3ea3cee --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs @@ -0,0 +1,62 @@ +import { memo } from 'motion-utils'; +import { acceleratedValues } from '../utils/accelerated-values.mjs'; +import { hasBrowserOnlyColors } from '../utils/is-browser-color.mjs'; + +const colorProperties = new Set([ + "color", + "backgroundColor", + "outlineColor", + "fill", + "stroke", + "borderColor", + "borderTopColor", + "borderRightColor", + "borderBottomColor", + "borderLeftColor", +]); +const supportsWaapi = /*@__PURE__*/ memo(() => Object.hasOwnProperty.call(Element.prototype, "animate")); +function supportsBrowserAnimation(options) { + const { motionValue, name, repeatDelay, repeatType, damping, type, keyframes, } = options; + /** + * Most values can't be accelerated at all, so check the name before + * looking at the element or its props. + */ + if (!name || + !(acceleratedValues.has(name) || colorProperties.has(name))) { + return false; + } + const subject = motionValue?.owner?.current; + /** + * We use instanceof checks instead of isHTMLElement()/isSVGElement() + * because we explicitly **don't** want elements in different timing + * contexts (i.e. popups) to be accelerated, as it's not possible to sync + * these animations properly with those driven from the main window + * frameloop. + */ + if (!(subject instanceof HTMLElement) && + !(subject instanceof SVGElement)) { + return false; + } + const { onUpdate, transformTemplate } = motionValue.owner.getProps(); + return (supportsWaapi() && + /** + * Force WAAPI for color properties with browser-only color formats + * (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse. + */ + (acceleratedValues.has(name) || + (colorProperties.has(name) && + hasBrowserOnlyColors(keyframes))) && + (name !== "transform" || !transformTemplate) && + /** + * If we're outputting values to onUpdate then we can't use WAAPI as there's + * no way to read the value from WAAPI every frame. + */ + !onUpdate && + !repeatDelay && + repeatType !== "mirror" && + damping !== 0 && + type !== "inertia"); +} + +export { supportsBrowserAnimation, supportsWaapi }; +//# sourceMappingURL=waapi.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs new file mode 100644 index 0000000..4b3a646 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/TransformAnimation.mjs @@ -0,0 +1,902 @@ +import { isBezierDefinition, millisecondsToSeconds, clamp, progress } from 'motion-utils'; +import { frame } from '../../../frameloop/frame.mjs'; +import { frameData } from '../../../frameloop/frame-data.mjs'; +import { time } from '../../../frameloop/sync-time.mjs'; +import { buildTransform, translateAlias } from '../../../render/html/utils/build-transform.mjs'; +import { transformPropOrder } from '../../../render/utils/keys-transform.mjs'; +import { mixNumber } from '../../../utils/mix/number.mjs'; +import { numberValueTypes } from '../../../value/types/maps/number.mjs'; +import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs'; +import { frameloopDriver } from '../../drivers/frame.mjs'; +import { keyframes } from '../../generators/keyframes.mjs'; +import { defaultOffset } from '../../keyframes/offsets/default.mjs'; +import { JSAnimation, round } from '../../JSAnimation.mjs'; +import { sampleDelta } from '../../NativeAnimationExtended.mjs'; +import { cubicBezierAsString } from '../easing/cubic-bezier.mjs'; +import { supportedWaapiEasing } from '../easing/supported.mjs'; +import { supportsWaapi } from '../supports/waapi.mjs'; +import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs'; +import { transformGroups } from './groups.mjs'; + +/** + * Sample at the interruption sampling rate, up to a cap for long + * animations. + */ +const maxSamples = 200; +/** + * How far values may stray from the WAAPI animation: as a fraction of + * each value's change when they share an easing, otherwise in px or deg, + * or for scale. + */ +const easingTolerance = 0.001; +const sampleTolerance = 0.1; +const scaleTolerance = 0.001; +/** + * If an outside write, or a seek the WAAPI animation can't follow, + * happens again within this window, the group is being driven every + * frame (scrubbing, drag), which is cheaper on the main thread than + * rebuilding the WAAPI animation every frame. + */ +const churnWindow = 100; +/** + * Named easings that are the same cubic-bezier in JS and CSS. + */ +const isNativeEasing = (ease) => /^(linear|ease(In|Out|InOut))$/.test(ease); +const byTime = (a, b) => a - b; +/** + * n + 1 evenly spaced timestamps, from one timestamp to another. + */ +const spread = (from, to, n) => { + const result = []; + for (let i = 0; i <= n; i++) + result.push(mixNumber(from, to, i / n)); + return result; +}; +const getOwner = (options) => options.motionValue.owner; +const getGroup = (element) => transformGroups.get(element); +const read = (owner, key) => owner.latestValues ? owner.latestValues[key] : owner.getValue(key)?.get(); +/** + * Whether this animation should join its element's transform group. + * Animations that can't be accelerated still join, so the group knows + * to stay on the main thread while they run. Browsers without linear() + * easing stay on the main thread. + */ +const canGroupTransform = ({ name, motionValue, }) => name && + transformPropOrder.includes(name) && + motionValue?.owner?.current instanceof HTMLElement && + supportsWaapi() && + supportsLinearEasing(); +function canAccelerateTransform(options) { + const owner = getOwner(options); + const { onUpdate, transformTemplate } = owner.getProps(); + return ( + /** + * A handoff from an optimised appear animation is already running + * on its own WAAPI animation. onUpdate needs every value, every + * frame. + */ + !options.isHandoff && + !onUpdate && + !options.hasOnUpdate && + /** + * transformTemplate could output anything. + */ + !transformTemplate && + options.type !== "inertia" && + /** + * A literal transform, or pathRotation, replaces or adds to the + * transform we'd build. styleEffect builds its own as "none". + */ + (read(owner, "transform") || "none") === "none" && + !read(owner, "pathRotation") && + /** + * Layout animations write transform every frame. + */ + !owner.projection?.isProjecting()); +} +class TransformAnimation extends JSAnimation { + constructor(options) { + const element = getOwner(options).current; + const { driver = frameloopDriver } = options; + let animation; + /** + * Before JSAnimation replaces the type with its generator. + */ + const canAccelerate = canAccelerateTransform(options); + /** + * The driver ticks on the main thread only once the group has + * moved there. Until then, starting or stopping tells the group to + * update its WAAPI animation. + */ + options.driver = (update) => { + const js = driver(update); + return { + js, + now: js.now, + start: (keepAlive = true) => { + const group = getGroup(element); + const isJS = !group || group.isJS; + /** + * keepAlive is false when seeking. Seeking the WAAPI + * animation is free, but if a seek needs a rebuild and + * keeps happening, the group moves to the main thread. + */ + isJS + ? js.start(keepAlive) + : group.schedule(false, !keepAlive); + }, + stop: () => { + js.stop(); + const group = getGroup(element); + group && !group.isFinishing && group.release(animation); + }, + }; + }; + super(options); + animation = this; + this.canAccelerate = canAccelerate; + /** + * stop is bound in JSAnimation, so wrap it rather than override. + * Before stopping, set the motion value to where the WAAPI + * animation is now, with velocity, for the next animation to + * start from. + */ + const { stop } = this; + this.stop = () => { + this.isAccelerated() && this.sync(); + stop(); + }; + } + get group() { + return getGroup(getOwner(this.options).current); + } + get js() { + return this.driver?.js; + } + get name() { + return this.options.name; + } + /** + * When this stops moving, or, if it repeats forever, when it starts + * repeating, and how long each repeat takes. Held (paused, or at + * speed 0) animations never stop moving. + */ + timing() { + const { startTime, speed, totalDuration } = this; + const { delay = 0, repeatType } = this.options; + return this.holdTime !== null + ? [Infinity, 0] + : totalDuration === Infinity + ? [ + startTime + delay / speed, + (this.resolvedDuration * (repeatType === "loop" ? 1 : 2)) / + speed || 1, + ] + : [startTime + (delay + totalDuration) / speed, 0]; + } + /** + * Whether this is running, or paused, on the compositor. + */ + isAccelerated() { + const { group, state } = this; + return (group?.tracks.has(this) && + !group.isJS && + this.canAccelerate && + (state === "running" || state === "paused")); + } + /** + * The value now, while this runs on the compositor and so doesn't + * set its motion value every frame. + */ + liveValue() { + return this.isAccelerated() ? this.sampleAt(time.now()) : undefined; + } + /** + * If this is a two-keyframe tween whose easing WAAPI runs exactly, + * when it starts and stops moving, and that easing. + */ + tween() { + const { keyframes: keyframes$1, type, ease, times, repeat, delay = 0 } = this.options; + const easing = isBezierDefinition(ease) + ? cubicBezierAsString(ease) + : isNativeEasing(ease) && supportedWaapiEasing[ease]; + if (easing && + !repeat && + !times && + keyframes$1.length === 2 && + type === keyframes && + this.holdTime === null) { + const start = this.startTime + delay / this.speed; + return [start, start + this.resolvedDuration / this.speed, easing]; + } + } + /** + * The timestamps between two timestamps where this reaches a + * keyframe or starts a repeat, where it can turn or jump. + */ + boundaries(from, to) { + const { startTime, speed, resolvedDuration, options } = this; + const { delay = 0, repeat = 0, repeatDelay = 0, repeatType, times, keyframes: keyframes$1, type, } = options; + const offsets = (type || keyframes) === keyframes + ? times || defaultOffset(keyframes$1) + : [0, 1]; + const start = startTime + delay / speed; + const result = []; + if (this.holdTime !== null || !(resolvedDuration > 0)) + return result; + for (let i = Math.max(0, Math.floor(((from - start) * speed) / resolvedDuration)); i <= repeat; i++) { + const iterationStart = start + (i * resolvedDuration) / speed; + if (iterationStart > to) + break; + for (const offset of offsets) { + const t = iterationStart + + ((i % 2 && repeatType && repeatType !== "loop" + ? 1 - offset + : offset) * + (resolvedDuration - repeatDelay)) / + speed; + t > from && t < to && result.push(t); + } + } + return result; + } + /** + * The value at a timestamp, as a number. + */ + numberAt(timestamp) { + return parseFloat(this.sampleAt(timestamp, true)); + } + /** + * Write the current value, and velocity, to the motion value. + */ + sync() { + const now = time.now(); + this.options.motionValue.setWithVelocity(this.sampleAt(now - sampleDelta, true), this.sampleAt(now, true), sampleDelta); + } + play() { + /** + * A stopped animation (one that was interrupted) can't play again, + * so it mustn't join the group. + */ + if (this.isStopped) + return; + (this.group || createGroup(getOwner(this.options))).tracks.add(this); + super.play(); + } + pause() { + super.pause(); + if (this.isAccelerated()) { + this.sync(); + this.group.schedule(false); + } + } + /** + * JSAnimation finishes on its next tick, which only happens on the + * main thread, so finish now. + */ + complete() { + super.complete(); + const { group } = this; + group && !group.isJS && this.canAccelerate && this.tick(time.now()); + } + /** + * Without a tick to rebase it, a held time still includes the delay, + * so take it off here, as a JS animation does on its next tick. + */ + get time() { + if (this.isAccelerated()) { + return millisecondsToSeconds(clamp(0, this.totalDuration, this.at(time.now()) - (this.options.delay || 0))); + } + return super.time; + } + /** + * A JS animation sets its motion value from a seek on its next tick. + * This doesn't tick, so set it now, rather than leave it to be set + * when this next stops. + */ + set time(newTime) { + super.time = newTime; + this.isAccelerated() && this.sync(); + } + /** + * Scroll timelines set time every frame, so run these on the main + * thread. + */ + attachTimeline(timeline) { + this.canAccelerate = false; + this.group?.demote(true); + return super.attachTimeline(timeline); + } +} +function createGroup(owner) { + const element = owner.current; + const tracks = new Set(); + const byKey = new Map(); + /** + * Transforms that aren't animating, as built into the WAAPI animation. + */ + let statics = {}; + /** + * The transforms in the WAAPI animation, in order. + */ + let keys = []; + let built = new Map(); + let segments = []; + let needsBuild = false; + let isScheduled = false; + let isEnded = false; + let hasChurned = false; + let lastChurn = -Infinity; + const has = (key) => { + for (const track of tracks) + if (track.name === key) + return true; + }; + /** + * The transform values at a timestamp or, without one, from the + * motion values. Animations that don't repeat forever are sampled no + * earlier than settled, so a loop that starts from an earlier cycle + * boundary holds them at their end. + */ + const valuesAt = (timestamp, settled) => { + const values = {}; + for (const key of timestamp === undefined ? transformPropOrder : keys) { + const track = byKey.get(key); + const value = timestamp === undefined + ? read(owner, key) + : track + ? track.sampleAt(settled > timestamp && !track.timing()[1] + ? settled + : timestamp) + : statics[key]; + if (value !== undefined) + values[key] = value; + } + return values; + }; + /** + * Build the transform at a timestamp. Unlike buildTransform, every key + * is written, even at its default, so each keyframe has the same list + * of functions and the browser interpolates them one by one. + */ + const compose = (timestamp, settled) => { + let transform = ""; + const values = valuesAt(timestamp, settled); + for (const key in values) { + transform += + (translateAlias[key] || key) + + "(" + + getValueAsType(values[key], numberValueTypes[key]) + + ") "; + } + return transform || "none"; + }; + /** + * Write the transform as an inline style, as the renderer would. + */ + const commit = (values = valuesAt()) => { + element.style.transform = buildTransform(values, {}); + }; + /** + * Cancel the WAAPI animations, by default first committing the + * transform. The renderer writes its own version on its next render. + */ + const stop = (shouldCommit = true) => { + shouldCommit && commit(); + segments.forEach(({ animation }) => animation.cancel()); + segments = []; + }; + const add = (animation, offset, end = Infinity) => { + const segment = { animation, offset, end }; + animation.startTime = time.now() + offset; + /** + * Animations finish when the WAAPI animation reaches their end. + * Once a loop has taken over, the finished animation isn't needed. + */ + if (end < Infinity) { + animation.onfinish = () => { + segment.isDone = true; + if (segments.some((s) => s.end === Infinity)) { + animation.cancel(); + segments = segments.filter((s) => s !== segment); + } + group.schedule(false); + }; + } + /** + * Something else cancelled it, so carry on on the main thread. + */ + animation.oncancel = () => segments.includes(segment) && group.demote(); + segments.push(segment); + }; + /** + * Where a value jumps between two timestamps, as when a repeat starts + * again: the timestamps either side of the jump, or none if it moves + * there continuously. + */ + const jumpAt = (value, a, b) => { + const change = (x, y) => Math.abs(value(y) - value(x)); + const size = change(a, b); + while (b - a > 0.01) { + const mid = (a + b) / 2; + change(a, mid) > change(mid, b) ? (b = mid) : (a = mid); + } + return change(a, b) > size / 2 ? [a, b] : []; + }; + /** + * If every moving animation follows the same eased progress between + * two timestamps, the easing that describes it. + */ + const getEasing = (moving, from, to, bounds) => { + const samples = Math.min(maxSamples, Math.max(2, Math.ceil((to - from) / sampleDelta))); + /** + * Too many keyframes or repeats to follow with this many samples. + */ + if (bounds.length * 4 > samples) + return; + const at = spread(from, to, samples).concat(bounds).sort(byTime); + const position = (t) => progress(from, to, t); + let shared; + let progressAt; + for (const track of moving) { + const values = at.map((t) => track.numberAt(t)); + const [first] = values; + const changes = values.map((value) => value - first); + const end = changes[changes.length - 1]; + /** + * A value that ends only a tiny way from where it started, as + * a round trip does if it's built just after it starts, or + * from a float residue, ends where it started. Dividing by + * that tiny range would stretch the easing to values the + * compositor can't render. + */ + const range = changes.some((change) => Math.abs(change) * easingTolerance > Math.abs(end)) + ? 0 + : end; + const progress = changes.map((change) => range ? change / range : change); + /** + * A value that doesn't change, like one still in its delay, + * fits any easing. One that changes but ends where it started + * fits none. + */ + if (!range) { + if (progress.some((p) => !(Math.abs(p) <= easingTolerance))) { + return; + } + } + else if (!shared) { + shared = progress; + progressAt = (t) => (track.numberAt(t) - first) / range; + } + else if (progress.some((p, i) => !(Math.abs(p - shared[i]) <= easingTolerance))) { + return; + } + } + if (!shared || + shared.every((p, i) => Math.abs(p - position(at[i])) <= easingTolerance)) { + return "linear"; + } + /** + * A repeat that starts again jumps back, which takes two points at + * the same position. + */ + const points = []; + const point = (t, p = progressAt(t)) => points.push(round(p) + " " + round(position(t) * 100) + "%"); + shared.forEach((p, i) => { + i && + Math.abs(p - shared[i - 1]) > 0.2 && + jumpAt(progressAt, at[i - 1], at[i]).forEach((t) => point(t)); + point(at[i], p); + }); + return "linear(" + points + ")"; + }; + /** + * Sample timestamps between two timestamps, closer together where the + * moving animations curve. + */ + const sample = (moving, from, to, bounds) => { + const times = [from]; + /** + * Values that aren't numbers, like calc(), are left to the + * browser to interpolate. + */ + const isStraight = (a, b) => moving.every((track) => !(Math.abs(track.numberAt((a + b) / 2) - + (track.numberAt(a) + track.numberAt(b)) / 2) > + (track.name.startsWith("scale") + ? scaleTolerance + : sampleTolerance))); + const split = (a, b, depth) => { + if (b - a < 1 || isStraight(a, b)) { + times.push(b); + } + else if (depth < 4) { + split(a, (a + b) / 2, depth + 1); + split((a + b) / 2, b, depth + 1); + } + else { + /** + * Keyframes either side of a jump, like a repeat starting + * again, so it doesn't play as a quick sweep. + */ + for (const track of moving) { + times.push(...jumpAt((t) => track.numberAt(t), a, b)); + } + times.push(b); + } + }; + /** + * Split at least every 100ms, and at every keyframe and repeat, + * either side of where a value can jump. + */ + const ends = spread(from, to, Math.ceil((to - from) / 100)); + for (const t of bounds) + ends.push(t, Math.min(t + 0.01, to)); + let start = from; + for (const end of ends.sort(byTime)) { + end > start && split(start, end, 0); + start = end; + } + return times.sort(byTime); + }; + /** + * If every moving animation is the same tween, started together, as + * happens for the values of one animate() call or transition, when + * they move and their native easing. + */ + const getTween = (moving) => { + let shared; + for (const track of moving) { + const tween = track.tween(); + if (!tween || + shared?.some((v, i) => i < 2 + ? Math.abs(tween[i] - v) > 1 + : tween[i] !== v)) { + return; + } + shared = tween; + } + return shared; + }; + /** + * A WAAPI animation of the composed transform between two timestamps. + */ + const run = (moving, from, to, options = { fill: "both" }, settled, nativeEasing) => { + const bounds = moving.flatMap((track) => track.boundaries(from, to)); + const easing = nativeEasing || getEasing(moving, from, to, bounds); + const times = easing ? [from, to] : sample(moving, from, to, bounds); + const transform = times.map((t) => compose(t, settled)); + let keyframes = { transform }; + if (!easing) { + keyframes.offset = times.map((t) => progress(from, to, t)); + } + /** + * If nothing moves, don't hold a transform, which, even at its + * default, would make the element a containing block. The empty + * animation still finishes the animations. + */ + if (transform.every((t) => t === transform[0])) { + commit(valuesAt(from, settled)); + keyframes = null; + } + return element.animate(keyframes, { + ...options, + duration: to - from, + easing: easing || "linear", + }); + }; + /** + * Replace the WAAPI animations with ones built from now. Returns + * undefined if the animations can't be composed. + */ + const animate = (now) => { + /** + * The finite part runs until the last finite animation (or the + * last delay) ends. Infinitely repeating animations then continue + * as one looping WAAPI animation, which needs them to share a + * cycle. + */ + let end = now; + let cycle = 0; + let cycleStart = 0; + const moving = []; + const looping = []; + const ends = new Set(); + byKey.clear(); + built = new Map(); + for (const track of tracks) { + byKey.set(track.name, track); + const [trackEnd, trackCycle] = track.timing(); + const isHeld = trackEnd === Infinity; + built.set(track, [track.at(now), track.speed, isHeld]); + /** + * Held animations don't move, so keep their motion values up + * to date, as a JSAnimation would on a seek. + */ + if (isHeld) { + track.sync(); + continue; + } + if (track.speed < 0) + return; + if (trackCycle) { + if (cycle) { + const phase = (trackEnd - cycleStart) / trackCycle; + if (Math.abs(trackCycle - cycle) > 1 || + Math.abs(phase - Math.round(phase)) * cycle > 1) { + return; + } + } + else { + cycle = trackCycle; + cycleStart = trackEnd; + } + looping.push(track); + } + else { + ends.add(trackEnd); + } + moving.push(track); + end = Math.max(end, trackEnd); + } + statics = {}; + /** + * Transforms that aren't animating are left out at their default. + */ + keys = transformPropOrder.filter((key) => { + if (byKey.has(key)) + return true; + const value = (statics[key] = read(owner, key)); + return (value !== undefined && + parseFloat(value) !== + (key.startsWith("scale") ? 1 : 0)); + }); + stop(false); + /** + * Values that share one tween are one WAAPI animation of it, with + * two keyframes and its own easing, from when they started. + */ + const tween = !cycle && getTween(moving); + try { + if (tween && tween[1] > now) { + const [from, to, easing] = tween; + add(run(moving, from, to, undefined, undefined, easing), from - now, to - from); + } + else if (end > now) { + add(run(moving, now, end), 0, end - now); + /** + * Animations that end sooner finish on the events of + * empty animations that end with them. + */ + ends.forEach((trackEnd) => trackEnd < end - 1 && + add(element.animate(null, { + duration: trackEnd - now, + }), 0, trackEnd - now)); + } + if (cycle) { + /** + * Build one cycle from a cycle boundary, so it repeats + * seamlessly, and start it part way through. + */ + const from = cycleStart + Math.floor((end - cycleStart) / cycle) * cycle; + add(run(looping, from, from + cycle, { + iterations: Infinity, + iterationStart: (end - from) / cycle, + /** + * It must not fill backwards over the finite part + * that runs before it. + */ + fill: "forwards", + }, end), end - now); + } + } + catch { + return; + } + /** + * Everything is held, so hold it with an inline style instead. + */ + segments.length || stop(); + return true; + }; + /** + * If every animation has been paused, played, seeked or sped up + * together since the WAAPI animation was built, do the same to it. + * Returns false if it needs rebuilding instead. + */ + const retime = (now) => { + let elapsed; + let rate = 0; + for (const track of tracks) { + const state = built.get(track); + if (!state) + return false; + const [builtTime, builtSpeed, wasHeld] = state; + const trackTime = track.at(now); + const isHeld = track.timing()[0] === Infinity; + if (wasHeld) { + if (isHeld && trackTime === builtTime) + continue; + return false; + } + const trackElapsed = (trackTime - builtTime) / builtSpeed; + const trackRate = isHeld ? 0 : track.speed / builtSpeed; + if (elapsed === undefined) { + elapsed = trackElapsed; + rate = trackRate; + } + else if (Math.abs(trackElapsed - elapsed) > 1 || + trackRate !== rate) { + return false; + } + } + if (elapsed === undefined) + return true; + if (!segments.length) + return false; + for (const { offset, end, isDone } of segments) { + const local = elapsed - offset; + if (end < Infinity && + (isDone ? local < end - 1 : local < 0 || local >= end)) { + return false; + } + } + for (const { animation, offset, isDone } of segments) { + if (isDone) + continue; + const local = elapsed - offset; + if (rate) { + animation.playbackRate = rate; + animation.startTime = now - local / rate; + } + else { + animation.pause(); + animation.currentTime = local; + } + } + return true; + }; + /** + * If no animations are left, write where they got to and cancel the + * WAAPI animations. Returns whether the group ended. + */ + const end = () => { + if (tracks.size) + return false; + isEnded = true; + transformGroups.delete(element); + group.isJS || stop(); + return true; + }; + const build = () => { + const now = time.now(); + /** + * Finish the animations that have reached their end, which the + * WAAPI animation has already rendered. + */ + if (!group.isJS) { + group.isFinishing = true; + tracks.forEach((track) => { + const [trackEnd, trackCycle] = track.timing(); + if (track.state === "running" && + track.speed > 0 && + !trackCycle && + trackEnd <= now + 1) { + track.complete(); + /** + * From now it's checked for outside writes like any + * other static transform. If the WAAPI animation never + * rendered it (it was instant), rebuild with its value. + */ + statics[track.name] = read(owner, track.name); + built.has(track) || (needsBuild = true); + } + }); + group.isFinishing = false; + } + isScheduled = false; + if (isEnded) + return; + tracks.forEach(({ state }, track) => { + if (state === "idle" || state === "finished") + tracks.delete(track); + }); + if (end()) + return; + for (const track of tracks) { + if (!track.canAccelerate) + return group.demote(true); + } + /** + * Everything that kept the group on the main thread has finished, + * so move the remaining animations back to the compositor. + */ + if (group.isJS) { + group.isJS = false; + needsBuild = true; + tracks.forEach((track) => track.js?.stop()); + } + const shouldBuild = needsBuild; + const churned = hasChurned; + needsBuild = hasChurned = false; + if (shouldBuild || !retime(now)) { + if (churned) { + if (now - lastChurn < churnWindow) + return group.demote(); + lastChurn = now; + } + if (!animate(now)) + return group.demote(); + } + }; + const group = { + tracks, + isJS: false, + isFinishing: false, + schedule(build_, isChurn) { + if (isEnded) + return; + needsBuild || (needsBuild = build_); + hasChurned || (hasChurned = !!isChurn); + /** + * Build in this frame's render step, so it's in place before + * anything reads the DOM in postRender, or straight after the + * current task outside of a frame. + */ + if (!isScheduled) { + isScheduled = true; + frameData.isProcessing + ? frame.render(build, false, true) + : queueMicrotask(build); + } + }, + /** + * End the group now, rather than when it next builds, so the + * element's transform is the caller's again as soon as its last + * animation is stopped. + */ + release(track) { + /** + * Only drop the stopped animation. Others can be idle because + * they're part way through play(), and are about to run. + */ + const { state } = track; + if (state === "idle" || state === "finished") + tracks.delete(track); + end() || group.schedule(true); + }, + /** + * An outside write. Rebuild once, but if it keeps happening, move + * to the main thread. + */ + check() { + if (group.isJS) + return; + for (const key in statics) { + if (read(owner, key) !== statics[key] && !has(key)) { + return group.schedule(true, true); + } + } + }, + demote(canReturn) { + if (group.isJS || isEnded) + return; + /** + * Unless only another animation is holding the group on the + * main thread, these animations stay there until they end. + */ + tracks.forEach((track) => { + track.isAccelerated() && track.sync(); + canReturn || (track.canAccelerate = false); + }); + group.isJS = true; + built = new Map(); + stop(); + tracks.forEach((track) => track.state === "running" && track.js?.start()); + }, + }; + transformGroups.set(element, group); + return group; +} + +export { TransformAnimation, canGroupTransform }; +//# sourceMappingURL=TransformAnimation.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs new file mode 100644 index 0000000..1f41545 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/transforms/groups.mjs @@ -0,0 +1,4 @@ +const transformGroups = new WeakMap(); + +export { transformGroups }; +//# sourceMappingURL=groups.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs new file mode 100644 index 0000000..37c36f1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs @@ -0,0 +1,13 @@ +/** + * A list of values that can be hardware-accelerated. + */ +const acceleratedValues = new Set([ + "opacity", + "clipPath", + "filter", + "transform", + "backgroundColor", +]); + +export { acceleratedValues }; +//# sourceMappingURL=accelerated-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs new file mode 100644 index 0000000..6a828d7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs @@ -0,0 +1,16 @@ +import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs'; +import { isGenerator } from '../../generators/utils/is-generator.mjs'; + +function applyGeneratorOptions({ type, ...options }) { + if (isGenerator(type) && supportsLinearEasing()) { + return type.applyToOptions(options); + } + else { + options.duration ?? (options.duration = 300); + options.ease ?? (options.ease = "easeOut"); + } + return options; +} + +export { applyGeneratorOptions }; +//# sourceMappingURL=apply-generator.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs new file mode 100644 index 0000000..fa9eca8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs @@ -0,0 +1,13 @@ +const browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/; +function hasBrowserOnlyColors(keyframes) { + for (let i = 0; i < keyframes.length; i++) { + if (typeof keyframes[i] === "string" && + browserColorFunctions.test(keyframes[i])) { + return true; + } + } + return false; +} + +export { hasBrowserOnlyColors }; +//# sourceMappingURL=is-browser-color.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs new file mode 100644 index 0000000..7cb72e2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs @@ -0,0 +1,13 @@ +const generateLinearEasing = (easing, duration, // as milliseconds +resolution = 10 // as milliseconds +) => { + let points = ""; + const numPoints = Math.max(Math.round(duration / resolution), 2); + for (let i = 0; i < numPoints; i++) { + points += Math.round(easing(i / (numPoints - 1)) * 10000) / 10000 + ", "; + } + return `linear(${points.substring(0, points.length - 2)})`; +}; + +export { generateLinearEasing }; +//# sourceMappingURL=linear.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/px-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/px-values.mjs new file mode 100644 index 0000000..f4282b4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/px-values.mjs @@ -0,0 +1,59 @@ +import { cornerRadiusProps } from '../../../utils/border-radius.mjs'; + +const pxValues = new Set([ + // Border props + "borderWidth", + "borderTopWidth", + "borderRightWidth", + "borderBottomWidth", + "borderLeftWidth", + "borderRadius", + ...cornerRadiusProps, + // Positioning props + "width", + "maxWidth", + "height", + "maxHeight", + "top", + "right", + "bottom", + "left", + "inset", + "insetBlock", + "insetBlockStart", + "insetBlockEnd", + "insetInline", + "insetInlineStart", + "insetInlineEnd", + // Spacing props + "padding", + "paddingTop", + "paddingRight", + "paddingBottom", + "paddingLeft", + "paddingBlock", + "paddingBlockStart", + "paddingBlockEnd", + "paddingInline", + "paddingInlineStart", + "paddingInlineEnd", + "margin", + "marginTop", + "marginRight", + "marginBottom", + "marginLeft", + "marginBlock", + "marginBlockStart", + "marginBlockEnd", + "marginInline", + "marginInlineStart", + "marginInlineEnd", + // Typography + "fontSize", + // Misc + "backgroundPositionX", + "backgroundPositionY", +]); + +export { pxValues }; +//# sourceMappingURL=px-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs new file mode 100644 index 0000000..b641587 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs @@ -0,0 +1,19 @@ +import { circInOut, backInOut, anticipate } from 'motion-utils'; + +const unsupportedEasingFunctions = { + anticipate, + backInOut, + circInOut, +}; +function isUnsupportedEase(key) { + return key in unsupportedEasingFunctions; +} +function replaceStringEasing(transition) { + if (typeof transition.ease === "string" && + isUnsupportedEase(transition.ease)) { + transition.ease = unsupportedEasingFunctions[transition.ease]; + } +} + +export { replaceStringEasing }; +//# sourceMappingURL=unsupported-easing.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/MotionValueState.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/MotionValueState.mjs new file mode 100644 index 0000000..1bf4b27 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/MotionValueState.mjs @@ -0,0 +1,112 @@ +import { frame } from '../frameloop/frame.mjs'; + +class MotionValueState { + /** + * @param step - The frameloop step renders are scheduled in. Defaults + * to `frame.render`. Effects that feed a render loop running in + * `frame.render` (GPU scenes) should write in `frame.preRender`. + */ + constructor(step = frame.render) { + this.step = step; + this.values = new Map(); + /** + * Renders scheduled for the next flush, usually one or two (values + * bound to the same computed render, e.g. `x` and `y` to `transform`, + * share an entry). Tracked with a count rather than truncating the + * array so no backing store is reallocated every frame. Kept per + * state so pending writes can be flushed synchronously before the + * subject is measured. + */ + this.pending = []; + this.numPending = 0; + /** + * Run the pending renders. Resetting the count first means a render + * scheduled while flushing lands in the next frame, as with the + * frameloop itself. + */ + this.flush = () => { + const { pending, numPending } = this; + this.numPending = 0; + for (let i = 0; i < numPending; i++) + pending[i](); + }; + } + /** + * @param render - Writes the value to the subject. Renders read the + * motion value directly rather than a cached copy, so there is one + * place a value lives. + * @param computed - A value already in this state (e.g. `transform`) + * whose render should run whenever `value` changes. + */ + set(name, value, render, computed) { + this.values.get(name)?.onRemove(); + if (computed) { + for (const entry of this.values.values()) { + if (entry.value === computed) + render = entry.render; + } + } + const onChange = () => render && this.schedule(render); + /** + * Values created ahead of a DOM read start out undefined and + * have nothing to render until they're set. + */ + value.get() !== undefined && onChange(); + const cancelOnChange = value.on("change", onChange); + const onRemove = () => { + cancelOnChange(); + render && !computed && this.cancel(render); + /** + * A later set() of the same name has already removed this + * entry, so leave the one that replaced it. + */ + this.values.get(name)?.onRemove === onRemove && + this.values.delete(name); + }; + this.values.set(name, { + value, + render: computed ? undefined : render, + onRemove, + }); + return onRemove; + } + get(name) { + return this.values.get(name)?.value; + } + /** + * Detach every value from this state and return them, so another + * renderer can take them over. The state stays cached by its effect, + * so the bound transforms are reset too rather than leaking into + * values bound later. + */ + release() { + const values = new Map(); + this.values.forEach((entry, name) => { + values.set(name, entry.value); + entry.onRemove(); + }); + this.transformKeys = this.transformValues = undefined; + return values; + } + schedule(render) { + const { pending, numPending } = this; + for (let i = 0; i < numPending; i++) { + if (pending[i] === render) + return; + } + numPending || this.step(this.flush); + pending[this.numPending++] = render; + } + cancel(render) { + const { pending } = this; + for (let i = 0; i < this.numPending; i++) { + if (pending[i] === render) { + pending[i] = pending[--this.numPending]; + return; + } + } + } +} + +export { MotionValueState }; +//# sourceMappingURL=MotionValueState.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/attr/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/attr/index.mjs new file mode 100644 index 0000000..c325be2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/attr/index.mjs @@ -0,0 +1,48 @@ +import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs'; +import { numberValueTypes } from '../../value/types/maps/number.mjs'; +import { getValueAsType } from '../../value/types/utils/get-as-type.mjs'; +import { createSelectorEffect } from '../utils/create-dom-effect.mjs'; +import { createEffect } from '../utils/create-effect.mjs'; + +function canSetAsProperty(element, name) { + if (!(name in element)) + return false; + const descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(element), name) || + Object.getOwnPropertyDescriptor(element, name); + // Check if it has a setter + return descriptor && typeof descriptor.set === "function"; +} +/** + * `name` is the attribute written when it differs from the key the value + * is stored under, e.g. `attrX` -> `x`. Numbers take the attribute's + * default unit (`x: 100` -> `"100px"`), as they do when key and name match. + */ +const addAttrValue = (element, state, key, value, name = key) => { + const isProp = canSetAsProperty(element, name); + if (!isProp && (name.startsWith("data") || name.startsWith("aria"))) { + name = camelToDash(name); + } + const type = numberValueTypes[key] || numberValueTypes[name]; + /** + * Set attribute directly via property if available + */ + const render = isProp + ? () => { + element[name] = getValueAsType(value.get(), numberValueTypes[key]); + } + : () => { + const v = getValueAsType(value.get(), type); + if (v === null || v === undefined) { + element.removeAttribute(name); + } + else { + element.setAttribute(name, String(v)); + } + }; + return state.set(key, value, render); +}; +const attrEffect = /*@__PURE__*/ createSelectorEffect( +/*@__PURE__*/ createEffect(addAttrValue)); + +export { addAttrValue, attrEffect }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/prop/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/prop/index.mjs new file mode 100644 index 0000000..4e988b6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/prop/index.mjs @@ -0,0 +1,23 @@ +import { isObject } from 'motion-utils'; +import { createEffect } from '../utils/create-effect.mjs'; + +/** + * Writes motion values to the properties of any object. This is + * animate()'s fallback for subjects no registered effect claims. + */ +const propEffect = /*@__PURE__*/ createEffect((subject, state, key, value) => { + return state.set(key, value, () => { + subject[key] = value.get(); + }); +}, { + test: (subject) => isObject(subject), + read: (subject, key) => { + const value = subject[key]; + return typeof value === "string" || typeof value === "number" + ? value + : undefined; + }, +}); + +export { propEffect }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/index.mjs new file mode 100644 index 0000000..64bf75d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/index.mjs @@ -0,0 +1,99 @@ +import { transformGroups } from '../../animation/waapi/transforms/groups.mjs'; +import { isCSSVar } from '../../render/dom/is-css-var.mjs'; +import { readTransformValue } from '../../render/dom/parse-transform.mjs'; +import { transformProps, transformPropOrder } from '../../render/utils/keys-transform.mjs'; +import { isHTMLElement } from '../../utils/is-html-element.mjs'; +import { isSVGElement } from '../../utils/is-svg-element.mjs'; +import { MotionValue } from '../../value/index.mjs'; +import { numberValueTypes } from '../../value/types/maps/number.mjs'; +import { getValueAsType } from '../../value/types/utils/get-as-type.mjs'; +import { createSelectorEffect } from '../utils/create-dom-effect.mjs'; +import { createEffect } from '../utils/create-effect.mjs'; +import { buildTransform } from './transform.mjs'; + +const originProps = new Set(["originX", "originY", "originZ"]); +/** + * A bound value in its default unit, e.g. `originX: 50` -> `"50%"`. + */ +const styleValue = (state, key) => getValueAsType(state.get(key)?.get(), numberValueTypes[key]); +const addStyleValue = (element, state, key, value) => { + let render = undefined; + let computed = undefined; + if (transformProps.has(key)) { + if (key !== "pathRotation") { + const keys = (state.transformKeys ?? (state.transformKeys = [])); + (state.transformValues ?? (state.transformValues = {}))[key] = value; + if (!keys.includes(key)) { + keys.push(key); + keys.sort((a, b) => transformPropOrder.indexOf(a) - + transformPropOrder.indexOf(b)); + } + } + if (!state.get("transform")) { + // If this is an HTML element, we need to set the transform-box to fill-box + // to normalise the transform relative to the element's bounding box + if (!isHTMLElement(element) && !state.get("transformBox")) { + addStyleValue(element, state, "transformBox", new MotionValue("fill-box")); + } + state.set("transform", new MotionValue("none"), () => { + transformGroups.get(element)?.check(); + element.style.transform = buildTransform(state); + }); + } + computed = state.get("transform"); + } + else if (originProps.has(key)) { + if (!state.get("transformOrigin")) { + state.set("transformOrigin", new MotionValue(""), () => { + const originX = styleValue(state, "originX") ?? "50%"; + const originY = styleValue(state, "originY") ?? "50%"; + const originZ = styleValue(state, "originZ") ?? 0; + element.style.transformOrigin = `${originX} ${originY} ${originZ}`; + }); + } + computed = state.get("transformOrigin"); + } + else if (isCSSVar(key)) { + render = () => { + element.style.setProperty(key, value.getCurrent()); + }; + } + else { + render = () => { + element.style[key] = getValueAsType(value.getCurrent(), numberValueTypes[key]); + }; + } + return state.set(key, value, render, computed); +}; +const isStyleSubject = (subject) => isHTMLElement(subject) || isSVGElement(subject); +/** + * Reads the current value of a style from the element, as the initial + * keyframe when `animate()` targets an element via this effect. Transforms + * are parsed out of the computed matrix; everything else is the computed + * style. Units aren't converted to match the target keyframes. A style + * the browser can't report is 0, as a VisualElement reports it. + */ +const readStyleValue = (element, key) => { + if (transformProps.has(key)) { + return readTransformValue(element, key); + } + const computedStyle = getComputedStyle(element); + const value = isCSSVar(key) + ? computedStyle.getPropertyValue(key) + : computedStyle[key]; + return (typeof value === "string" && value.trim()) || 0; +}; +/** + * The per-element effect `animate()` binds through, so HTML values share + * state with a direct `styleEffect()` call. The exported `styleEffect` + * is this wrapped to also accept selectors. + */ +const styleSubjectEffect = /*@__PURE__*/ createEffect(addStyleValue, { + test: isStyleSubject, + read: readStyleValue, +}); +const styleEffect = +/*@__PURE__*/ createSelectorEffect(styleSubjectEffect); + +export { addStyleValue, originProps, readStyleValue, styleEffect, styleSubjectEffect }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/transform.mjs new file mode 100644 index 0000000..f3195c5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/style/transform.mjs @@ -0,0 +1,46 @@ +import { translateAlias } from '../../render/html/utils/build-transform.mjs'; +import { transformValueTypes } from '../../value/types/maps/transform.mjs'; +import { getValueAsType } from '../../value/types/utils/get-as-type.mjs'; + +/** + * Cache of `translateX(`-style openers so each render is a few string + * concatenations rather than a template per transform. + */ +const openers = {}; +function buildTransform(state) { + let transform = ""; + const { transformKeys: keys = [], transformValues: values = {} } = state; + /** + * Loop over the bound transforms in order, adding the ones that + * aren't at their default value to the transform string. + */ + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const value = values[key].getCurrent(); + if (value === undefined) + continue; + const parsed = typeof value === "number" ? value : parseFloat(value); + if (parsed !== (key.startsWith("scale") ? 1 : 0)) { + transform += + (transform && " ") + + (openers[key] || + (openers[key] = (translateAlias[key] || key) + "(")) + + getValueAsType(value, transformValueTypes[key]) + + ")"; + } + } + // See build-transform.ts: additive `rotate()` so user `rotate` isn't + // clobbered. Not a `transformPropOrder` slot. + const pathRotation = state.get("pathRotation")?.get(); + if (pathRotation) { + transform += + (transform && " ") + + "rotate(" + + getValueAsType(pathRotation, transformValueTypes.pathRotation) + + ")"; + } + return transform || "none"; +} + +export { buildTransform }; +//# sourceMappingURL=transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/svg/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/svg/index.mjs new file mode 100644 index 0000000..2c3e40e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/svg/index.mjs @@ -0,0 +1,91 @@ +import { isCSSVar } from '../../render/dom/is-css-var.mjs'; +import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs'; +import { cssStyleProperties } from '../../render/svg/utils/build-attrs.mjs'; +import { transformProps } from '../../render/utils/keys-transform.mjs'; +import { isSVGElement } from '../../utils/is-svg-element.mjs'; +import { MotionValue } from '../../value/index.mjs'; +import { numberValueTypes } from '../../value/types/maps/number.mjs'; +import { addAttrValue } from '../attr/index.mjs'; +import { originProps, addStyleValue, readStyleValue } from '../style/index.mjs'; +import { createSelectorEffect } from '../utils/create-dom-effect.mjs'; +import { createEffect } from '../utils/create-effect.mjs'; +import { frame } from '../../frameloop/frame.mjs'; + +function addSVGPathValue(element, state, key, value) { + frame.render(() => element.setAttribute("pathLength", "1")); + if (key === "pathOffset") { + return state.set(key, value, () => { + // Use unitless value to avoid Safari zoom bug + const offset = value.get(); + element.setAttribute("stroke-dashoffset", `${-offset}`); + }); + } + else { + if (!state.get("stroke-dasharray")) { + state.set("stroke-dasharray", new MotionValue("1 1"), () => { + const pathLength = state.get("pathLength")?.get() ?? 1; + const pathSpacing = state.get("pathSpacing")?.get(); + // Use unitless values to avoid Safari zoom bug + element.setAttribute("stroke-dasharray", `${pathLength} ${pathSpacing ?? 1 - Number(pathLength)}`); + }); + } + return state.set(key, value, undefined, state.get("stroke-dasharray")); + } +} +const addSVGValue = (element, state, key, value) => { + if (key.startsWith("path") && !transformProps.has(key)) { + return addSVGPathValue(element, state, key, value); + } + else if (key.startsWith("attr")) { + return addAttrValue(element, state, key, value, convertAttrKey(key)); + } + /** + * Transforms and origins aren't CSS properties (bar `x`/`y` in some + * browsers), so check them by name rather than `key in element.style`. + */ + const handler = transformProps.has(key) || + originProps.has(key) || + isCSSVar(key) || + key in element.style + ? addStyleValue + : addAttrValue; + return handler(element, state, key, value); +}; +/** + * Reads the current value of `key` from an SVG element as the origin of + * an animation, as the SVG VisualElement does: transforms start from + * their defaults, CSS variables and the few CSS-only properties come from + * computed style, falling back to the attribute when that's empty (e.g. + * the element isn't rendered), and everything else is read from the + * attribute, dash-cased (`strokeWidth` -> `stroke-width`) or, failing + * that, as written (`baseFrequency`). + */ +const readSVGValue = (element, key) => { + if (transformProps.has(key)) { + return numberValueTypes[key]?.default || 0; + } + if (isCSSVar(key) || cssStyleProperties.includes(key)) { + return (readStyleValue(element, key) || + element.getAttribute(camelToDash(key)) || + 0); + } + key = convertAttrKey(key); + return (element.getAttribute(camelToDash(key)) ?? + element.getAttribute(key) ?? + undefined); +}; +/** + * The per-element effect `animate()` binds through, so SVG values share + * state with a direct `svgEffect()` call. + */ +const svgSubjectEffect = /*@__PURE__*/ createEffect(addSVGValue, { + test: isSVGElement, + read: readSVGValue, +}); +const svgEffect = /*@__PURE__*/ createSelectorEffect(svgSubjectEffect); +function convertAttrKey(key) { + return key.replace(/^attr([A-Z])/, (_, firstChar) => firstChar.toLowerCase()); +} + +export { addSVGValue, readSVGValue, svgEffect, svgSubjectEffect }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-dom-effect.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-dom-effect.mjs new file mode 100644 index 0000000..4b1834d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-dom-effect.mjs @@ -0,0 +1,27 @@ +import { resolveElements } from '../../utils/resolve-elements.mjs'; + +function createSelectorEffect(subjectEffect) { + const effect = (subject, values) => { + const elements = resolveElements(subject); + const subscriptions = []; + for (const element of elements) { + const remove = subjectEffect(element, values); + subscriptions.push(remove); + } + return () => { + for (const remove of subscriptions) + remove(); + }; + }; + const { test, read, get, flush, state } = subjectEffect; + return Object.assign(effect, { + test, + read, + get: get, + flush, + state, + }); +} + +export { createSelectorEffect }; +//# sourceMappingURL=create-dom-effect.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-effect.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-effect.mjs new file mode 100644 index 0000000..4af2909 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/effects/utils/create-effect.mjs @@ -0,0 +1,27 @@ +import { MotionValueState } from '../MotionValueState.mjs'; + +function createEffect(addValue, { step, ...options } = {}) { + const stateCache = new WeakMap(); + const effect = (subject, values) => { + const state = stateCache.get(subject) ?? new MotionValueState(step); + stateCache.set(subject, state); + const subscriptions = []; + for (const key in values) { + const value = values[key]; + const remove = addValue(subject, state, key, value); + subscriptions.push(remove); + } + return () => { + for (const cancel of subscriptions) + cancel(); + }; + }; + return Object.assign(effect, options, { + get: (subject, key) => stateCache.get(subject)?.get(key), + flush: (subject) => stateCache.get(subject)?.flush(), + state: (subject) => stateCache.get(subject), + }); +} + +export { createEffect }; +//# sourceMappingURL=create-effect.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/events/add-dom-event.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/events/add-dom-event.mjs new file mode 100644 index 0000000..af9a3c7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/events/add-dom-event.mjs @@ -0,0 +1,7 @@ +function addDomEvent(target, eventName, handler, options = { passive: true }) { + target.addEventListener(eventName, handler, options); + return () => target.removeEventListener(eventName, handler, options); +} + +export { addDomEvent }; +//# sourceMappingURL=add-dom-event.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/batcher.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/batcher.mjs new file mode 100644 index 0000000..521c586 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/batcher.mjs @@ -0,0 +1,72 @@ +import { MotionGlobalConfig } from 'motion-utils'; +import { stepsOrder } from './order.mjs'; +import { createRenderStep } from './render-step.mjs'; + +const maxElapsed = 40; +function createRenderBatcher(scheduleNextBatch, allowKeepAlive, state = { + delta: 0.0, + timestamp: 0.0, + isProcessing: false, +}) { + let runNextFrame = false; + let useDefaultElapsed = true; + const flagRunNextFrame = () => (runNextFrame = true); + const steps = stepsOrder.reduce((acc, key) => { + acc[key] = createRenderStep(flagRunNextFrame); + return acc; + }, {}); + const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps; + const processBatch = () => { + const useManualTiming = MotionGlobalConfig.useManualTiming; + const timestamp = useManualTiming + ? state.timestamp + : performance.now(); + runNextFrame = false; + if (!useManualTiming) { + state.delta = useDefaultElapsed + ? 1000 / 60 + : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1); + } + state.timestamp = timestamp; + state.isProcessing = true; + // Unrolled render loop for better per-frame performance + setup.process(state); + read.process(state); + resolveKeyframes.process(state); + preUpdate.process(state); + update.process(state); + preRender.process(state); + render.process(state); + postRender.process(state); + state.isProcessing = false; + if (runNextFrame && allowKeepAlive) { + useDefaultElapsed = false; + scheduleNextBatch(processBatch); + } + }; + const wake = () => { + runNextFrame = true; + useDefaultElapsed = true; + if (!state.isProcessing) { + scheduleNextBatch(processBatch); + } + }; + const schedule = stepsOrder.reduce((acc, key) => { + const step = steps[key]; + acc[key] = (process, keepAlive = false, immediate = false) => { + if (!runNextFrame) + wake(); + return step.schedule(process, keepAlive, immediate); + }; + return acc; + }, {}); + const cancel = (process) => { + for (let i = 0; i < stepsOrder.length; i++) { + steps[stepsOrder[i]].cancel(process); + } + }; + return { schedule, cancel, state, steps }; +} + +export { createRenderBatcher }; +//# sourceMappingURL=batcher.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs new file mode 100644 index 0000000..6453152 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame-data.mjs @@ -0,0 +1,12 @@ +/** + * The frameloop's state, kept apart from the frameloop itself so that + * reading it doesn't bundle the scheduler. + */ +const frameData = { + delta: 0.0, + timestamp: 0.0, + isProcessing: false, +}; + +export { frameData }; +//# sourceMappingURL=frame-data.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame.mjs new file mode 100644 index 0000000..f4e9d6e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/frame.mjs @@ -0,0 +1,8 @@ +import { noop } from 'motion-utils'; +import { createRenderBatcher } from './batcher.mjs'; +import { frameData } from './frame-data.mjs'; + +const { schedule: frame, cancel: cancelFrame, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true, frameData); + +export { cancelFrame, frame, frameSteps }; +//# sourceMappingURL=frame.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/index-legacy.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/index-legacy.mjs new file mode 100644 index 0000000..aa3de45 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/index-legacy.mjs @@ -0,0 +1,21 @@ +import { stepsOrder } from './order.mjs'; +import { frame, cancelFrame } from './frame.mjs'; + +/** + * @deprecated + * + * Import as `frame` instead. + */ +const sync = frame; +/** + * @deprecated + * + * Use cancelFrame(callback) instead. + */ +const cancelSync = stepsOrder.reduce((acc, key) => { + acc[key] = (process) => cancelFrame(process); + return acc; +}, {}); + +export { cancelSync, sync }; +//# sourceMappingURL=index-legacy.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/microtask.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/microtask.mjs new file mode 100644 index 0000000..d81e76c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/microtask.mjs @@ -0,0 +1,7 @@ +import { createRenderBatcher } from './batcher.mjs'; + +const { schedule: microtask, cancel: cancelMicrotask } = +/* @__PURE__ */ createRenderBatcher(queueMicrotask, false); + +export { cancelMicrotask, microtask }; +//# sourceMappingURL=microtask.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/order.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/order.mjs new file mode 100644 index 0000000..f2fb09f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/order.mjs @@ -0,0 +1,13 @@ +const stepsOrder = [ + "setup", // Compute + "read", // Read + "resolveKeyframes", // Write/Read/Write/Read + "preUpdate", // Compute + "update", // Compute + "preRender", // Compute + "render", // Write + "postRender", // Compute +]; + +export { stepsOrder }; +//# sourceMappingURL=order.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/render-step.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/render-step.mjs new file mode 100644 index 0000000..20d5808 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/render-step.mjs @@ -0,0 +1,87 @@ +function createRenderStep(runNextFrame) { + /** + * We create and reuse two queues, one to queue jobs for the current frame + * and one for the next. We reuse to avoid triggering GC after x frames. + */ + let thisFrame = new Set(); + let nextFrame = new Set(); + /** + * Track whether we're currently processing jobs in this step. This way + * we can decide whether to schedule new jobs for this frame or next. + */ + let isProcessing = false; + let flushNextFrame = false; + /** + * A set of processes which were marked keepAlive when scheduled. + * A keepAlive process is always also held by a frame queue until + * it's cancelled, so a Set has the same lifetime semantics as a + * WeakSet here while being considerably faster to query every frame. + */ + const toKeepAlive = new Set(); + let latestFrameData = { + delta: 0.0, + timestamp: 0.0, + isProcessing: false, + }; + function triggerCallback(callback) { + if (toKeepAlive.has(callback)) { + nextFrame.add(callback); + runNextFrame(); + } + callback(latestFrameData); + } + const step = { + /** + * Schedule a process to run on the next frame. + */ + schedule: (callback, keepAlive = false, immediate = false) => { + const addToCurrentFrame = immediate && isProcessing; + const queue = addToCurrentFrame ? thisFrame : nextFrame; + if (keepAlive) + toKeepAlive.add(callback); + queue.add(callback); + return callback; + }, + /** + * Cancel the provided callback from running on the next frame. + */ + cancel: (callback) => { + nextFrame.delete(callback); + toKeepAlive.delete(callback); + }, + /** + * Execute all schedule callbacks. + */ + process: (frameData) => { + latestFrameData = frameData; + /** + * If we're already processing we've probably been triggered by a flushSync + * inside an existing process. Instead of executing, mark flushNextFrame + * as true and ensure we flush the following frame at the end of this one. + */ + if (isProcessing) { + flushNextFrame = true; + return; + } + isProcessing = true; + // Swap this frame and the next to avoid GC + const prevFrame = thisFrame; + thisFrame = nextFrame; + nextFrame = prevFrame; + // Execute this frame + thisFrame.forEach(triggerCallback); + // Clear the frame so no callbacks remain. This is to avoid + // memory leaks should this render step not run for a while. + thisFrame.clear(); + isProcessing = false; + if (flushNextFrame) { + flushNextFrame = false; + step.process(frameData); + } + }, + }; + return step; +} + +export { createRenderStep }; +//# sourceMappingURL=render-step.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs new file mode 100644 index 0000000..ce5482c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs @@ -0,0 +1,32 @@ +import { MotionGlobalConfig } from 'motion-utils'; +import { frameData } from './frame-data.mjs'; + +let now; +function clearTime() { + now = undefined; +} +/** + * An eventloop-synchronous alternative to performance.now(). + * + * Ensures that time measurements remain consistent within a synchronous context. + * Usually calling performance.now() twice within the same synchronous context + * will return different values which isn't useful for animations when we're usually + * trying to sync animations to the same frame. + */ +const time = { + now: () => { + if (now === undefined) { + time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming + ? frameData.timestamp + : performance.now()); + } + return now; + }, + set: (newTime) => { + now = newTime; + queueMicrotask(clearTime); + }, +}; + +export { time }; +//# sourceMappingURL=sync-time.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs new file mode 100644 index 0000000..f5bfa77 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs @@ -0,0 +1,10 @@ +const isDragging = { + x: false, + y: false, +}; +function isDragActive() { + return isDragging.x || isDragging.y; +} + +export { isDragActive, isDragging }; +//# sourceMappingURL=is-active.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs new file mode 100644 index 0000000..78e2661 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs @@ -0,0 +1,29 @@ +import { isDragging } from './is-active.mjs'; + +function setDragLock(axis) { + if (axis === "x" || axis === "y") { + if (isDragging[axis]) { + return null; + } + else { + isDragging[axis] = true; + return () => { + isDragging[axis] = false; + }; + } + } + else { + if (isDragging.x || isDragging.y) { + return null; + } + else { + isDragging.x = isDragging.y = true; + return () => { + isDragging.x = isDragging.y = false; + }; + } + } +} + +export { setDragLock }; +//# sourceMappingURL=set-active.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/hover.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/hover.mjs new file mode 100644 index 0000000..5ad15e3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/hover.mjs @@ -0,0 +1,70 @@ +import { isDragActive } from './drag/state/is-active.mjs'; +import { setupGesture } from './utils/setup.mjs'; + +function isValidHover(event) { + return !(event.pointerType === "touch" || isDragActive()); +} +/** + * Create a hover gesture. hover() is different to .addEventListener("pointerenter") + * in that it has an easier syntax, filters out polyfilled touch events, interoperates + * with drag gestures, and automatically removes the "pointerleave" event listener when the hover ends. + * + * @public + */ +function hover(elementOrSelector, onHoverStart, options = {}) { + const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options); + elements.forEach((element) => { + let isPressed = false; + let deferredHoverEnd = false; + let hoverEndCallback; + const removePointerLeave = () => { + element.removeEventListener("pointerleave", onPointerLeave); + }; + const endHover = (event) => { + if (hoverEndCallback) { + hoverEndCallback(event); + hoverEndCallback = undefined; + } + removePointerLeave(); + }; + const onPointerUp = (event) => { + isPressed = false; + window.removeEventListener("pointerup", onPointerUp); + window.removeEventListener("pointercancel", onPointerUp); + if (deferredHoverEnd) { + deferredHoverEnd = false; + endHover(event); + } + }; + const onPointerDown = () => { + isPressed = true; + window.addEventListener("pointerup", onPointerUp, eventOptions); + window.addEventListener("pointercancel", onPointerUp, eventOptions); + }; + const onPointerLeave = (leaveEvent) => { + if (leaveEvent.pointerType === "touch") + return; + if (isPressed) { + deferredHoverEnd = true; + return; + } + endHover(leaveEvent); + }; + const onPointerEnter = (enterEvent) => { + if (!isValidHover(enterEvent)) + return; + deferredHoverEnd = false; + const onHoverEnd = onHoverStart(element, enterEvent); + if (typeof onHoverEnd !== "function") + return; + hoverEndCallback = onHoverEnd; + element.addEventListener("pointerleave", onPointerLeave, eventOptions); + }; + element.addEventListener("pointerenter", onPointerEnter, eventOptions); + element.addEventListener("pointerdown", onPointerDown, eventOptions); + }); + return cancel; +} + +export { hover }; +//# sourceMappingURL=hover.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/index.mjs new file mode 100644 index 0000000..b46a409 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/index.mjs @@ -0,0 +1,97 @@ +import { isHTMLElement } from '../../utils/is-html-element.mjs'; +import { isDragActive } from '../drag/state/is-active.mjs'; +import { isNodeOrChild } from '../utils/is-node-or-child.mjs'; +import { isPrimaryPointer } from '../utils/is-primary-pointer.mjs'; +import { setupGesture } from '../utils/setup.mjs'; +import { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs'; +import { enableKeyboardPress } from './utils/keyboard.mjs'; +import { isPressing } from './utils/state.mjs'; + +/** + * Filter out events that are not primary pointer events, or are triggering + * while a Motion gesture is active. + */ +function isValidPressEvent(event) { + return isPrimaryPointer(event) && !isDragActive(); +} +const claimedPointerDownEvents = new WeakSet(); +/** + * Create a press gesture. + * + * Press is different to `"pointerdown"`, `"pointerup"` in that it + * automatically filters out secondary pointer events like right + * click and multitouch. + * + * It also adds accessibility support for keyboards, where + * an element with a press gesture will receive focus and + * trigger on Enter `"keydown"` and `"keyup"` events. + * + * This is different to a browser's `"click"` event, which does + * respond to keyboards but only for the `"click"` itself, rather + * than the press start and end/cancel. The element also needs + * to be focusable for this to work, whereas a press gesture will + * make an element focusable by default. + * + * @public + */ +function press(targetOrSelector, onPressStart, options = {}) { + const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options); + const startPress = (startEvent) => { + const target = startEvent.currentTarget; + if (!isValidPressEvent(startEvent)) + return; + if (claimedPointerDownEvents.has(startEvent)) + return; + isPressing.add(target); + if (options.stopPropagation) { + claimedPointerDownEvents.add(startEvent); + } + const onPressEnd = onPressStart(target, startEvent); + /** + * End listeners run in the capture phase so a descendant calling + * stopPropagation() in its own pointerup handler can't prevent the + * press gesture from ending. This also keeps the gesture-end + * ordering consistent with the drag gesture. See #2794. + */ + const endEventOptions = { ...eventOptions, capture: true }; + const onPointerEnd = (endEvent, success) => { + window.removeEventListener("pointerup", onPointerUp, endEventOptions); + window.removeEventListener("pointercancel", onPointerCancel, endEventOptions); + if (isPressing.has(target)) { + isPressing.delete(target); + } + if (!isValidPressEvent(endEvent)) { + return; + } + if (typeof onPressEnd === "function") { + onPressEnd(endEvent, { success }); + } + }; + const onPointerUp = (upEvent) => { + onPointerEnd(upEvent, target === window || + target === document || + options.useGlobalTarget || + isNodeOrChild(target, upEvent.target)); + }; + const onPointerCancel = (cancelEvent) => { + onPointerEnd(cancelEvent, false); + }; + window.addEventListener("pointerup", onPointerUp, endEventOptions); + window.addEventListener("pointercancel", onPointerCancel, endEventOptions); + }; + targets.forEach((target) => { + const pointerDownTarget = options.useGlobalTarget ? window : target; + pointerDownTarget.addEventListener("pointerdown", startPress, eventOptions); + if (isHTMLElement(target)) { + target.addEventListener("focus", (event) => enableKeyboardPress(event, eventOptions)); + if (!isElementKeyboardAccessible(target) && + !target.hasAttribute("tabindex")) { + target.tabIndex = 0; + } + } + }); + return cancelEvents; +} + +export { press }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs new file mode 100644 index 0000000..defa4bf --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs @@ -0,0 +1,34 @@ +const keyboardAccessibleElements = new Set([ + "BUTTON", + "INPUT", + "SELECT", + "TEXTAREA", + "A", +]); +/** + * Checks if an element is natively keyboard accessible (focusable). + * Used by the press gesture to determine if we need to add tabIndex. + */ +function isElementKeyboardAccessible(element) { + return (keyboardAccessibleElements.has(element.tagName) || + element.isContentEditable === true); +} +const textInputElements = new Set(["INPUT", "SELECT", "TEXTAREA"]); +/** + * Checks if an element has text selection or direct interaction behavior + * that should block drag gestures from starting. + * + * This specifically targets form controls where the user might want to select + * text or interact with the control (e.g., sliders, dropdowns). + * + * Buttons and links are NOT included because they don't have click-and-move + * actions of their own - they only respond to click events, so dragging + * should still work when initiated from these elements. + */ +function isElementTextInput(element) { + return (textInputElements.has(element.tagName) || + element.isContentEditable === true); +} + +export { isElementKeyboardAccessible, isElementTextInput }; +//# sourceMappingURL=is-keyboard-accessible.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs new file mode 100644 index 0000000..8186599 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs @@ -0,0 +1,39 @@ +import { isPressing } from './state.mjs'; + +/** + * Filter out events that are not "Enter" keys. + */ +function filterEvents(callback) { + return (event) => { + if (event.key !== "Enter") + return; + callback(event); + }; +} +function firePointerEvent(target, type) { + target.dispatchEvent(new PointerEvent("pointer" + type, { isPrimary: true, bubbles: true })); +} +const enableKeyboardPress = (focusEvent, eventOptions) => { + const element = focusEvent.currentTarget; + if (!element) + return; + const handleKeydown = filterEvents(() => { + if (isPressing.has(element)) + return; + firePointerEvent(element, "down"); + const handleKeyup = filterEvents(() => { + firePointerEvent(element, "up"); + }); + const handleBlur = () => firePointerEvent(element, "cancel"); + element.addEventListener("keyup", handleKeyup, eventOptions); + element.addEventListener("blur", handleBlur, eventOptions); + }); + element.addEventListener("keydown", handleKeydown, eventOptions); + /** + * Add an event listener that fires on blur to remove the keydown events. + */ + element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions); +}; + +export { enableKeyboardPress }; +//# sourceMappingURL=keyboard.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs new file mode 100644 index 0000000..ac86eab --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs @@ -0,0 +1,4 @@ +const isPressing = new WeakSet(); + +export { isPressing }; +//# sourceMappingURL=state.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs new file mode 100644 index 0000000..7cc1da6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs @@ -0,0 +1,21 @@ +/** + * Recursively traverse up the tree to check whether the provided child node + * is the parent or a descendant of it. + * + * @param parent - Element to find + * @param child - Element to test against parent + */ +const isNodeOrChild = (parent, child) => { + if (!child) { + return false; + } + else if (parent === child) { + return true; + } + else { + return isNodeOrChild(parent, child.parentElement); + } +}; + +export { isNodeOrChild }; +//# sourceMappingURL=is-node-or-child.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs new file mode 100644 index 0000000..c013d7e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs @@ -0,0 +1,19 @@ +const isPrimaryPointer = (event) => { + if (event.pointerType === "mouse") { + return typeof event.button !== "number" || event.button <= 0; + } + else { + /** + * isPrimary is true for all mice buttons, whereas every touch point + * is regarded as its own input. So subsequent concurrent touch points + * will be false. + * + * Specifically match against false here as incomplete versions of + * PointerEvents in very old browser might have it set as undefined. + */ + return event.isPrimary !== false; + } +}; + +export { isPrimaryPointer }; +//# sourceMappingURL=is-primary-pointer.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs new file mode 100644 index 0000000..9505c06 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs @@ -0,0 +1,16 @@ +import { resolveElements } from '../../utils/resolve-elements.mjs'; + +function setupGesture(elementOrSelector, options) { + const elements = resolveElements(elementOrSelector); + const gestureAbortController = new AbortController(); + const eventOptions = { + passive: true, + ...options, + signal: gestureAbortController.signal, + }; + const cancel = () => gestureAbortController.abort(); + return [elements, eventOptions, cancel]; +} + +export { setupGesture }; +//# sourceMappingURL=setup.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/index.mjs new file mode 100644 index 0000000..58db687 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/index.mjs @@ -0,0 +1,181 @@ +export { AsyncMotionValueAnimation } from './animation/AsyncMotionValueAnimation.mjs'; +export { GroupAnimation } from './animation/GroupAnimation.mjs'; +export { GroupAnimationWithThen } from './animation/GroupAnimationWithThen.mjs'; +export { JSAnimation, animateValue, round } from './animation/JSAnimation.mjs'; +export { NativeAnimation } from './animation/NativeAnimation.mjs'; +export { NativeAnimationExtended, sampleDelta } from './animation/NativeAnimationExtended.mjs'; +export { NativeAnimationWrapper } from './animation/NativeAnimationWrapper.mjs'; +export { animationMapKey, getAnimationMap } from './animation/utils/active-animations.mjs'; +export { calcChildStagger } from './animation/utils/calc-child-stagger.mjs'; +export { arc } from './animation/utils/arc.mjs'; +export { getVariableValue, parseCSSVariable } from './animation/utils/css-variables-conversion.mjs'; +export { getDefaultTransition } from './animation/utils/default-transitions.mjs'; +export { getFinalKeyframe } from './animation/keyframes/get-final.mjs'; +export { getValueTransition } from './animation/utils/get-value-transition.mjs'; +export { resolveTransition } from './animation/utils/resolve-transition.mjs'; +export { containsCSSVariable, isCSSVariableName, isCSSVariableToken } from './animation/utils/is-css-variable.mjs'; +export { isTransitionDefined } from './animation/utils/is-transition-defined.mjs'; +export { makeAnimationInstant } from './animation/utils/make-animation-instant.mjs'; +export { animateMotionValue } from './animation/interfaces/motion-value.mjs'; +export { animateVisualElement } from './animation/interfaces/visual-element.mjs'; +export { animateTarget } from './animation/interfaces/visual-element-target.mjs'; +export { animateVariant } from './animation/interfaces/visual-element-variant.mjs'; +export { optimizedAppearDataAttribute, optimizedAppearDataId } from './animation/optimized-appear/data-id.mjs'; +export { getOptimisedAppearId } from './animation/optimized-appear/get-appear-id.mjs'; +export { inertia } from './animation/generators/inertia.mjs'; +export { defaultEasing, keyframes } from './animation/generators/keyframes.mjs'; +export { spring } from './animation/generators/spring.mjs'; +export { calcGeneratorDuration, maxGeneratorDuration } from './animation/generators/utils/calc-duration.mjs'; +export { createGeneratorEasing } from './animation/generators/utils/create-generator-easing.mjs'; +export { isGenerator } from './animation/generators/utils/is-generator.mjs'; +export { DOMKeyframesResolver } from './animation/keyframes/DOMKeyframesResolver.mjs'; +export { KeyframeResolver, flushKeyframeResolvers } from './animation/keyframes/KeyframesResolver.mjs'; +export { defaultOffset } from './animation/keyframes/offsets/default.mjs'; +export { fillOffset } from './animation/keyframes/offsets/fill.mjs'; +export { convertOffsetToTimes } from './animation/keyframes/offsets/time.mjs'; +export { applyPxDefaults } from './animation/keyframes/utils/apply-px-defaults.mjs'; +export { fillWildcards } from './animation/keyframes/utils/fill-wildcards.mjs'; +export { cubicBezierAsString } from './animation/waapi/easing/cubic-bezier.mjs'; +export { isWaapiSupportedEasing } from './animation/waapi/easing/is-supported.mjs'; +export { mapEasingToNativeEasing } from './animation/waapi/easing/map-easing.mjs'; +export { supportedWaapiEasing } from './animation/waapi/easing/supported.mjs'; +export { startWaapiAnimation } from './animation/waapi/start-waapi-animation.mjs'; +export { supportsPartialKeyframes } from './animation/waapi/supports/partial-keyframes.mjs'; +export { supportsBrowserAnimation, supportsWaapi } from './animation/waapi/supports/waapi.mjs'; +export { acceleratedValues } from './animation/waapi/utils/accelerated-values.mjs'; +export { applyGeneratorOptions } from './animation/waapi/utils/apply-generator.mjs'; +export { generateLinearEasing } from './animation/waapi/utils/linear.mjs'; +export { addEffect, animateEffectSubject, animateValues, findEffect, removeEffect } from './animation/animate/effects.mjs'; +export { animateElement, handOffElementState } from './animation/animate/element.mjs'; +export { addAttrValue, attrEffect } from './effects/attr/index.mjs'; +export { MotionValueState } from './effects/MotionValueState.mjs'; +export { propEffect } from './effects/prop/index.mjs'; +export { addStyleValue, originProps, readStyleValue, styleEffect, styleSubjectEffect } from './effects/style/index.mjs'; +export { addSVGValue, readSVGValue, svgEffect, svgSubjectEffect } from './effects/svg/index.mjs'; +export { createEffect } from './effects/utils/create-effect.mjs'; +export { createRenderBatcher } from './frameloop/batcher.mjs'; +export { cancelMicrotask, microtask } from './frameloop/microtask.mjs'; +export { time } from './frameloop/sync-time.mjs'; +export { isDragActive, isDragging } from './gestures/drag/state/is-active.mjs'; +export { setDragLock } from './gestures/drag/state/set-active.mjs'; +export { hover } from './gestures/hover.mjs'; +export { press } from './gestures/press/index.mjs'; +export { isElementKeyboardAccessible, isElementTextInput } from './gestures/press/utils/is-keyboard-accessible.mjs'; +export { isNodeOrChild } from './gestures/utils/is-node-or-child.mjs'; +export { isPrimaryPointer } from './gestures/utils/is-primary-pointer.mjs'; +export { defaultTransformValue, parseValueFromTransform, readTransformValue } from './render/dom/parse-transform.mjs'; +export { getComputedStyle } from './render/dom/style-computed.mjs'; +export { setStyle } from './render/dom/style-set.mjs'; +export { isKeyframesTarget } from './render/utils/is-keyframes-target.mjs'; +export { positionalKeys } from './render/utils/keys-position.mjs'; +export { transformPropOrder, transformProps } from './render/utils/keys-transform.mjs'; +export { resize } from './resize/index.mjs'; +export { recordStats } from './stats/index.mjs'; +export { statsBuffer } from './stats/buffer.mjs'; +export { interpolate } from './utils/interpolate.mjs'; +export { isHTMLElement } from './utils/is-html-element.mjs'; +export { isSVGElement } from './utils/is-svg-element.mjs'; +export { isSVGSVGElement } from './utils/is-svg-svg-element.mjs'; +export { mix } from './utils/mix/index.mjs'; +export { mixColor, mixLinearColor } from './utils/mix/color.mjs'; +export { getMixer, mixArray, mixComplex, mixObject } from './utils/mix/complex.mjs'; +export { mixImmediate } from './utils/mix/immediate.mjs'; +export { mixNumber } from './utils/mix/number.mjs'; +export { invisibleValues, mixVisibility } from './utils/mix/visibility.mjs'; +export { resolveElements } from './utils/resolve-elements.mjs'; +export { getOriginIndex, stagger } from './utils/stagger.mjs'; +export { supportsFlags } from './utils/supports/flags.mjs'; +export { supportsLinearEasing } from './utils/supports/linear-easing.mjs'; +export { supportsScrollTimeline, supportsViewTimeline } from './utils/supports/scroll-timeline.mjs'; +export { transform } from './utils/transform.mjs'; +export { MotionValue, collectMotionValues, motionValue } from './value/index.mjs'; +export { attachFollow, followValue } from './value/follow-value.mjs'; +export { mapValue } from './value/map-value.mjs'; +export { attachSpring, springValue } from './value/spring-value.mjs'; +export { transformValue } from './value/transform-value.mjs'; +export { color } from './value/types/color/index.mjs'; +export { hex } from './value/types/color/hex.mjs'; +export { hsla } from './value/types/color/hsla.mjs'; +export { hslaToRgba } from './value/types/color/hsla-to-rgba.mjs'; +export { rgbUnit, rgba } from './value/types/color/rgba.mjs'; +export { analyseComplexValue, complex, hasComplexValues } from './value/types/complex/index.mjs'; +export { dimensionValueTypes, findDimensionValueType } from './value/types/dimensions.mjs'; +export { defaultValueTypes, getDefaultValueType } from './value/types/maps/defaults.mjs'; +export { numberValueTypes } from './value/types/maps/number.mjs'; +export { transformValueTypes } from './value/types/maps/transform.mjs'; +export { alpha, number, scale } from './value/types/numbers/index.mjs'; +export { degrees, percent, progressPercentage, px, vh, vw } from './value/types/numbers/units.mjs'; +export { testValueType } from './value/types/test.mjs'; +export { getAnimatableNone } from './value/types/utils/animatable-none.mjs'; +export { findValueType } from './value/types/utils/find.mjs'; +export { getValueAsType } from './value/types/utils/get-as-type.mjs'; +export { isMotionValue } from './value/utils/is-motion-value.mjs'; +export { addValueToWillChange } from './value/will-change/add-will-change.mjs'; +export { isWillChangeMotionValue } from './value/will-change/is.mjs'; +export { ViewTransitionBuilder, animateView } from './view/index.mjs'; +export { getViewAnimationLayerInfo } from './view/utils/get-layer-info.mjs'; +export { getViewAnimations } from './view/utils/get-view-animations.mjs'; +export { DOMVisualElement } from './render/dom/DOMVisualElement.mjs'; +export { Feature } from './render/Feature.mjs'; +export { HTMLVisualElement } from './render/html/HTMLVisualElement.mjs'; +export { ObjectVisualElement } from './render/object/ObjectVisualElement.mjs'; +export { visualElementStore } from './render/store.mjs'; +export { SVGVisualElement } from './render/svg/SVGVisualElement.mjs'; +export { VisualElement, getFeatureDefinitions, setFeatureDefinitions } from './render/VisualElement.mjs'; +export { checkVariantsDidChange, createAnimationState } from './render/utils/animation-state.mjs'; +export { getVariantContext } from './render/utils/get-variant-context.mjs'; +export { isAnimationControls } from './render/utils/is-animation-controls.mjs'; +export { isControllingVariants, isVariantNode } from './render/utils/is-controlling-variants.mjs'; +export { isForcedMotionValue } from './render/utils/is-forced-motion-value.mjs'; +export { isVariantLabel } from './render/utils/is-variant-label.mjs'; +export { updateMotionValuesFromProps } from './render/utils/motion-values.mjs'; +export { resolveVariant } from './render/utils/resolve-dynamic-variants.mjs'; +export { resolveVariantFromProps } from './render/utils/resolve-variants.mjs'; +export { setTarget } from './render/utils/setters.mjs'; +export { variantPriorityOrder, variantProps } from './render/utils/variant-props.mjs'; +export { initPrefersReducedMotion } from './render/utils/reduced-motion/index.mjs'; +export { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints } from './projection/geometry/conversion.mjs'; +export { copyAxisDeltaInto, copyAxisInto, copyBoxInto } from './projection/geometry/copy.mjs'; +export { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis } from './projection/geometry/delta-apply.mjs'; +export { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear } from './projection/geometry/delta-calc.mjs'; +export { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta } from './projection/geometry/delta-remove.mjs'; +export { createAxis, createAxisDelta, createBox, createDelta } from './projection/geometry/models.mjs'; +export { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero } from './projection/geometry/utils.mjs'; +export { eachAxis } from './projection/utils/each-axis.mjs'; +export { has2DTranslate, hasScale, hasTransform } from './projection/utils/has-transform.mjs'; +export { measurePageBox, measureViewportBox } from './projection/utils/measure.mjs'; +export { correctBorderRadius, pixelsToPercent } from './projection/styles/scale-border-radius.mjs'; +export { correctBoxShadow } from './projection/styles/scale-box-shadow.mjs'; +export { buildProjectionTransform } from './projection/styles/transform.mjs'; +export { mixValues } from './projection/animation/mix-values.mjs'; +export { animateSingleValue } from './animation/animate/single-value.mjs'; +export { addDomEvent } from './events/add-dom-event.mjs'; +export { compareByDepth } from './projection/utils/compare-by-depth.mjs'; +export { FlatTree } from './projection/utils/flat-tree.mjs'; +export { delay, delayInSeconds } from './utils/delay.mjs'; +export { resolveMotionValue } from './value/utils/resolve-motion-value.mjs'; +export { cleanDirtyNodes, createProjectionNode, propagateDirtyNodes } from './projection/node/create-projection-node.mjs'; +export { DocumentProjectionNode } from './projection/node/DocumentProjectionNode.mjs'; +export { nodeGroup } from './projection/node/group.mjs'; +export { HTMLProjectionNode, rootProjectionNode } from './projection/node/HTMLProjectionNode.mjs'; +export { globalProjectionState } from './projection/node/state.mjs'; +export { NodeStack } from './projection/shared/stack.mjs'; +export { camelToDash } from './render/dom/utils/camel-to-dash.mjs'; +export { buildHTMLStyles } from './render/html/utils/build-styles.mjs'; +export { buildTransform } from './render/html/utils/build-transform.mjs'; +export { renderHTML } from './render/html/utils/render.mjs'; +export { scrapeMotionValuesFromProps as scrapeHTMLMotionValuesFromProps } from './render/html/utils/scrape-motion-values.mjs'; +export { buildSVGAttrs } from './render/svg/utils/build-attrs.mjs'; +export { camelCaseAttributes } from './render/svg/utils/camel-case-attrs.mjs'; +export { isSVGTag } from './render/svg/utils/is-svg-tag.mjs'; +export { buildSVGPath } from './render/svg/utils/path.mjs'; +export { renderSVG } from './render/svg/utils/render.mjs'; +export { scrapeMotionValuesFromProps as scrapeSVGMotionValuesFromProps } from './render/svg/utils/scrape-motion-values.mjs'; +export { LayoutAnimationBuilder, parseAnimateLayoutArgs } from './layout/LayoutAnimationBuilder.mjs'; +export { animateLayout } from './layout/animate-layout.mjs'; +export { cancelSync, sync } from './frameloop/index-legacy.mjs'; +export { addScaleCorrector, scaleCorrectors } from './projection/styles/scale-correction.mjs'; +export { cancelFrame, frame, frameSteps } from './frameloop/frame.mjs'; +export { frameData } from './frameloop/frame-data.mjs'; +export { hasReducedMotionListener, prefersReducedMotion } from './render/utils/reduced-motion/state.mjs'; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/LayoutAnimationBuilder.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/LayoutAnimationBuilder.mjs new file mode 100644 index 0000000..3ff93c7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/LayoutAnimationBuilder.mjs @@ -0,0 +1,363 @@ +import { clamp } from 'motion-utils'; +import { handOffElementState } from '../animation/animate/element.mjs'; +import { GroupAnimation } from '../animation/GroupAnimation.mjs'; +import { microtask } from '../frameloop/microtask.mjs'; +import { time } from '../frameloop/sync-time.mjs'; +import { HTMLProjectionNode } from '../projection/node/HTMLProjectionNode.mjs'; +import { HTMLVisualElement } from '../render/html/HTMLVisualElement.mjs'; +import { visualElementStore } from '../render/store.mjs'; +import { hasTransform } from '../projection/utils/has-transform.mjs'; +import { resolveElements } from '../utils/resolve-elements.mjs'; +import { frameData } from '../frameloop/frame-data.mjs'; +import { frameSteps } from '../frameloop/frame.mjs'; + +const layoutSelector = "[data-layout],[data-layout-id]"; +/** + * All imperatively-created projection nodes live in one persistent tree, + * shared across animateLayout() calls (and with any React-created nodes, + * via the singleton document root). Keyed by element for reuse. + */ +const layoutNodes = new WeakMap(); +/** + * Builders created within the same synchronous tick are flushed together + * as a single "commit": every node is snapshotted before any updateDom + * runs, mirroring React batching renders from different parts of the tree. + */ +let pendingBuilders; +function collectLayoutElements(scope) { + const elements = []; + if (scope instanceof HTMLElement && scope.matches(layoutSelector)) { + elements.push(scope); + } + scope.querySelectorAll(layoutSelector).forEach((element) => { + if (element instanceof HTMLElement) + elements.push(element); + }); + return elements; +} +/** + * Process any work scheduled on the frameloop now. A previous animation + * may have been seeked while paused (controls.time = x) without a frame + * having rendered it - we must materialise that state into the DOM + * before taking snapshots. + */ +function flushPendingFrame() { + if (frameData.isProcessing) + return; + const now = time.now(); + frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp); + frameData.timestamp = now; + frameData.isProcessing = true; + frameSteps.update.process(frameData); + frameSteps.preRender.process(frameData); + frameSteps.render.process(frameData); + frameData.isProcessing = false; +} +function getProjectionParent(element) { + let ancestor = element.parentElement; + while (ancestor) { + const node = layoutNodes.get(ancestor); + if (node && node.instance) + return node; + ancestor = ancestor.parentElement; + } + return undefined; +} +function createVisualElement() { + return new HTMLVisualElement({ + props: {}, + presenceContext: null, + visualState: { + latestValues: {}, + renderState: { + transform: {}, + transformOrigin: {}, + style: {}, + vars: {}, + }, + }, + }, { allowProjection: true }); +} +function readNodeOptions(element, transition) { + const layoutAttr = element.getAttribute("data-layout"); + const layoutId = element.getAttribute("data-layout-id") ?? undefined; + return { + layoutId, + layout: layoutAttr !== null ? true : undefined, + animationType: (!layoutAttr || layoutAttr === "true" + ? "both" + : layoutAttr), + transition, + }; +} +function prepareNode(element, transition) { + let node = layoutNodes.get(element); + if (!node) { + let visualElement = visualElementStore.get(element); + if (!visualElement) { + visualElement = createVisualElement(); + /** + * Values animate() has been rendering on this element move to + * the VisualElement, so the layout animation composes with + * them instead of overwriting them. + */ + handOffElementState(element, visualElement); + } + /** + * A first-time element may carry a projection transform in its + * inline style (e.g. it was cloned from an element mid-animation). + * That transform isn't tracked in latestValues so the engine can't + * reset it before measuring - clear it now so the first layout + * measurement isn't inflated. + */ + if (element.style.transform && + !hasTransform(visualElement.latestValues)) { + element.style.transform = ""; + } + node = new HTMLProjectionNode(visualElement.latestValues, getProjectionParent(element)); + visualElement.projection = node; + node.setOptions({ + ...readNodeOptions(element, transition), + visualElement, + }); + node.mount(element); + layoutNodes.set(element, node); + } + else { + node.setOptions(readNodeOptions(element, transition)); + } + node.isPresent = true; + if (node.options.onExitComplete) { + node.setOptions({ onExitComplete: undefined }); + } + return node; +} +function sortDocumentOrder(elements) { + return [...elements].sort((a, b) => a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1); +} +function dropNode(element, node) { + node.setOptions({ onExitComplete: undefined }); + /** + * Stop any lingering animation so it can't leak into future updates. + * A follow node can share its currentAnimation with a surviving lead + * (via resumingFrom), in which case it isn't ours to stop. + */ + const stack = node.getStack(); + if (!stack || node.isLead()) + node.currentAnimation?.stop(); + node.unmount(); + layoutNodes.delete(element); +} +function flushPendingBuilders() { + const builders = pendingBuilders; + pendingBuilders = undefined; + flushPendingFrame(); + /** + * Discover and mount every node across all builders before snapshotting + * any of them. Mounting during an active update flags isLayoutDirty, + * which would make that node's own willUpdate skip its snapshot. + * Document order guarantees ancestors mount before descendants, even + * when they're discovered by different builders. + */ + const targets = new Map(); + for (const builder of builders) { + for (const element of builder.collectTargets()) { + const owners = targets.get(element); + owners ? owners.push(builder) : targets.set(element, [builder]); + } + } + const union = new Map(); + for (const element of sortDocumentOrder(targets.keys())) { + const owners = targets.get(element); + const node = prepareNode(element, owners[owners.length - 1].transitionFor(element)); + for (const owner of owners) + owner.adopt(element, node); + union.set(element, node); + } + union.forEach((node) => { + node.isLayoutDirty = false; + node.willUpdate(); + }); + const updatePromises = []; + for (const builder of builders) { + const result = builder.runUpdate(); + if (result) + updatePromises.push(result); + } + const commit = () => { + /** + * Process all additions before any removals so that, even across + * builders, a removed member knows whether a replacement with the + * same layoutId was added in this commit. + */ + const newMemberIds = new Set(); + for (const builder of builders) { + builder.reconcileAdditions(newMemberIds); + } + for (const builder of builders) { + builder.reconcileRemovals(newMemberIds); + } + let root; + union.forEach((node) => (root || (root = node.root))); + for (const builder of builders) + root || (root = builder.getRoot()); + root?.didUpdate(); + /** + * The root flushes the update on a microtask, synchronously + * processing the frame that creates the layout animations. Collect + * them in a later microtask step of the same pass. + */ + microtask.render(() => { + for (const builder of builders) + builder.finalize(); + }); + }; + updatePromises.length ? Promise.all(updatePromises).then(commit) : commit(); +} +class LayoutAnimationBuilder { + constructor(scope, updateDom, defaultOptions) { + this.scope = scope; + this.updateDom = updateDom; + this.defaultOptions = defaultOptions; + this.sharedTransitions = new Map(); + this.notifyReady = () => { }; + this.rejectReady = () => { }; + this.tracked = new Map(); + this.restorePoints = new Map(); + this.readyPromise = new Promise((resolve, reject) => { + this.notifyReady = resolve; + this.rejectReady = reject; + }); + if (!pendingBuilders) { + pendingBuilders = []; + queueMicrotask(flushPendingBuilders); + } + pendingBuilders.push(this); + } + shared(id, transition) { + this.sharedTransitions.set(id, transition); + return this; + } + then(resolve, reject) { + return this.readyPromise.then(resolve, reject); + } + transitionFor(element) { + const layoutId = element.getAttribute("data-layout-id"); + return ((layoutId && this.sharedTransitions.get(layoutId)) || + this.defaultOptions); + } + adopt(element, node) { + this.tracked.set(element, node); + this.restorePoints.set(element, { + parent: element.parentElement, + next: element.nextSibling, + }); + } + collectTargets() { + return collectLayoutElements(this.scope); + } + runUpdate() { + try { + const result = this.updateDom(); + if (result && typeof result.then === "function") { + return result.then(undefined, (error) => { + this.updateError = error; + }); + } + } + catch (error) { + this.updateError = error; + } + return undefined; + } + reconcileAdditions(newMemberIds) { + for (const element of collectLayoutElements(this.scope)) { + if (this.tracked.has(element)) + continue; + const node = prepareNode(element, this.transitionFor(element)); + this.adopt(element, node); + node.options.layoutId && newMemberIds.add(node.options.layoutId); + } + } + reconcileRemovals(newMemberIds) { + this.tracked.forEach((node, element) => { + if (element.isConnected) + return; + const restore = this.restorePoints.get(element); + this.restorePoints.delete(element); + const { layoutId } = node.options; + const stack = node.getStack(); + const hasSurvivor = stack && + stack.members.some((member) => member !== node && + member.instance + ?.isConnected); + /** + * A removed lead with a surviving stack member - and no + * replacement member added this commit - runs an exit + * crossfade: restore the element to its old position in the + * DOM, relegate it and let the survivor take over. It's + * removed again once the animation completes. + */ + if (layoutId && + node.isLead() && + hasSurvivor && + !newMemberIds.has(layoutId)) { + if (restore && restore.parent.isConnected) { + restore.parent.insertBefore(element, restore.next && restore.next.parentNode === restore.parent + ? restore.next + : null); + node.isPresent = false; + node.setOptions({ + onExitComplete: () => { + element.remove(); + dropNode(element, node); + }, + }); + if (node.relegate()) + return; + element.remove(); + } + } + dropNode(element, node); + this.tracked.delete(element); + }); + } + getRoot() { + let root; + this.tracked.forEach((node) => (root || (root = node.root))); + return root; + } + finalize() { + if (this.updateError) { + this.rejectReady(this.updateError); + return; + } + const animations = new Set(); + this.tracked.forEach((node) => { + if (node.instance && node.currentAnimation) { + animations.add(node.currentAnimation); + } + }); + this.notifyReady(new GroupAnimation([...animations])); + } +} +function parseAnimateLayoutArgs(scopeOrUpdateDom, updateDomOrOptions, options) { + if (typeof scopeOrUpdateDom === "function") { + return { + scope: document, + updateDom: scopeOrUpdateDom, + defaultOptions: updateDomOrOptions, + }; + } + const scope = scopeOrUpdateDom instanceof Document + ? scopeOrUpdateDom + : resolveElements(scopeOrUpdateDom)[0] ?? document; + return { + scope, + updateDom: updateDomOrOptions, + defaultOptions: options, + }; +} + +export { LayoutAnimationBuilder, parseAnimateLayoutArgs }; +//# sourceMappingURL=LayoutAnimationBuilder.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/animate-layout.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/animate-layout.mjs new file mode 100644 index 0000000..a876a32 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/layout/animate-layout.mjs @@ -0,0 +1,19 @@ +import { parseAnimateLayoutArgs, LayoutAnimationBuilder } from './LayoutAnimationBuilder.mjs'; + +/** + * Animate layout changes made within `updateDom` on elements tagged + * with `data-layout` or `data-layout-id`. + * + * ``` + * animateLayout(() => { + * element.style.justifyContent = "flex-end" + * }) + * ``` + */ +function animateLayout(scopeOrUpdateDom, updateDomOrOptions, options) { + const { scope, updateDom, defaultOptions } = parseAnimateLayoutArgs(scopeOrUpdateDom, updateDomOrOptions, options); + return new LayoutAnimationBuilder(scope, updateDom, defaultOptions); +} + +export { animateLayout }; +//# sourceMappingURL=animate-layout.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs new file mode 100644 index 0000000..67529af --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs @@ -0,0 +1,80 @@ +import { mixNumber } from '../../utils/mix/number.mjs'; +import { percent, px } from '../../value/types/numbers/units.mjs'; +import { progress, circOut, noop } from 'motion-utils'; +import { cornerRadiusProps } from '../../utils/border-radius.mjs'; +import { asNumber } from '../../value/utils/as-number.mjs'; + +const numBorders = cornerRadiusProps.length; +const mixedTransforms = [ + "rotate", + "rotateX", + "rotateY", + "rotateZ", + "skewX", + "skewY", +]; +const numMixedTransforms = mixedTransforms.length; +const isPx = (value) => typeof value === "number" || px.test(value); +function mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) { + if (shouldCrossfadeOpacity) { + target.opacity = mixNumber(0, lead.opacity ?? 1, easeCrossfadeIn(progress)); + target.opacityExit = mixNumber(follow.opacity ?? 1, 0, easeCrossfadeOut(progress)); + } + else if (isOnlyMember) { + target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress); + } + /** + * Mix border radius + */ + for (let i = 0; i < numBorders; i++) { + const borderLabel = cornerRadiusProps[i]; + let followRadius = getRadius(follow, borderLabel); + let leadRadius = getRadius(lead, borderLabel); + if (followRadius === undefined && leadRadius === undefined) + continue; + followRadius || (followRadius = 0); + leadRadius || (leadRadius = 0); + const canMix = followRadius === 0 || + leadRadius === 0 || + isPx(followRadius) === isPx(leadRadius); + if (canMix) { + target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0); + if (percent.test(leadRadius) || percent.test(followRadius)) { + target[borderLabel] += "%"; + } + } + else { + target[borderLabel] = leadRadius; + } + } + /** + * Mix rotation and skew. These can't be projected, so mix them every + * frame rather than leaving them frozen at the animation-start snapshot. + */ + for (let i = 0; i < numMixedTransforms; i++) { + const key = mixedTransforms[i]; + if (follow[key] || lead[key]) { + target[key] = mixNumber(follow[key] || 0, lead[key] || 0, progress); + } + } +} +function getRadius(values, radiusName) { + return values[radiusName] !== undefined + ? values[radiusName] + : values.borderRadius; +} +const easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut); +const easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop); +function compress(min, max, easing) { + return (p) => { + // Could replace ifs with clamp + if (p < min) + return 0; + if (p > max) + return 1; + return easing(progress(min, max, p)); + }; +} + +export { mixValues }; +//# sourceMappingURL=mix-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs new file mode 100644 index 0000000..fa9b9a0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs @@ -0,0 +1,34 @@ +/** + * Bounding boxes tend to be defined as top, left, right, bottom. For various operations + * it's easier to consider each axis individually. This function returns a bounding box + * as a map of single-axis min/max values. + */ +function convertBoundingBoxToBox({ top, left, right, bottom, }) { + return { + x: { min: left, max: right }, + y: { min: top, max: bottom }, + }; +} +function convertBoxToBoundingBox({ x, y }) { + return { top: y.min, right: x.max, bottom: y.max, left: x.min }; +} +/** + * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function + * provided by Framer to allow measured points to be corrected for device scaling. This is used + * when measuring DOM elements and DOM event points. + */ +function transformBoxPoints(point, transformPoint) { + if (!transformPoint) + return point; + const topLeft = transformPoint({ x: point.left, y: point.top }); + const bottomRight = transformPoint({ x: point.right, y: point.bottom }); + return { + top: topLeft.y, + left: topLeft.x, + bottom: bottomRight.y, + right: bottomRight.x, + }; +} + +export { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints }; +//# sourceMappingURL=conversion.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs new file mode 100644 index 0000000..5269ba1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs @@ -0,0 +1,32 @@ +/** + * Reset an axis to the provided origin box. + * + * This is a mutative operation. + */ +function copyAxisInto(axis, originAxis) { + axis.min = originAxis.min; + axis.max = originAxis.max; +} +/** + * Reset a box to the provided origin box. + * + * This is a mutative operation. + */ +function copyBoxInto(box, originBox) { + copyAxisInto(box.x, originBox.x); + copyAxisInto(box.y, originBox.y); +} +/** + * Reset a delta to the provided origin box. + * + * This is a mutative operation. + */ +function copyAxisDeltaInto(delta, originDelta) { + delta.translate = originDelta.translate; + delta.scale = originDelta.scale; + delta.originPoint = originDelta.originPoint; + delta.origin = originDelta.origin; +} + +export { copyAxisDeltaInto, copyAxisInto, copyBoxInto }; +//# sourceMappingURL=copy.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs new file mode 100644 index 0000000..5f219f5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs @@ -0,0 +1,125 @@ +import { mixNumber } from '../../utils/mix/number.mjs'; +import { hasTransform } from '../utils/has-transform.mjs'; + +/** + * Scales a point based on a factor and an originPoint + */ +function scalePoint(point, scale, originPoint) { + const distanceFromOrigin = point - originPoint; + const scaled = scale * distanceFromOrigin; + return originPoint + scaled; +} +/** + * Applies a translate/scale delta to a point + */ +function applyPointDelta(point, translate, scale, originPoint, boxScale) { + if (boxScale !== undefined) { + point = scalePoint(point, boxScale, originPoint); + } + return scalePoint(point, scale, originPoint) + translate; +} +/** + * Applies a translate/scale delta to an axis + */ +function applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) { + axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale); + axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale); +} +/** + * Applies a translate/scale delta to a box + */ +function applyBoxDelta(box, { x, y }) { + applyAxisDelta(box.x, x.translate, x.scale, x.originPoint); + applyAxisDelta(box.y, y.translate, y.scale, y.originPoint); +} +const TREE_SCALE_SNAP_MIN = 0.999999999999; +const TREE_SCALE_SNAP_MAX = 1.0000000000001; +/** + * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms + * in a tree upon our box before then calculating how to project it into our desired viewport-relative box + * + * This is the final nested loop within updateLayoutDelta for future refactoring + */ +function applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) { + const treeLength = treePath.length; + if (!treeLength) + return; + // Reset the treeScale + treeScale.x = treeScale.y = 1; + let node; + let delta; + for (let i = 0; i < treeLength; i++) { + node = treePath[i]; + delta = node.projectionDelta; + /** + * TODO: Prefer to remove this, but currently we have motion components with + * display: contents in Framer. + */ + const { visualElement } = node.options; + if (visualElement && + visualElement.props.style && + visualElement.props.style.display === "contents") { + continue; + } + if (isSharedTransition && + node.options.layoutScroll && + node.scroll && + node !== node.root) { + translateAxis(box.x, -node.scroll.offset.x); + translateAxis(box.y, -node.scroll.offset.y); + } + if (delta) { + // Incorporate each ancestor's scale into a cumulative treeScale for this component + treeScale.x *= delta.x.scale; + treeScale.y *= delta.y.scale; + // Apply each ancestor's calculated delta into this component's recorded layout box + applyBoxDelta(box, delta); + } + if (isSharedTransition && hasTransform(node.latestValues)) { + transformBox(box, node.latestValues, node.layout?.layoutBox); + } + } + /** + * Snap tree scale back to 1 if it's within a non-perceivable threshold. + * This will help reduce useless scales getting rendered. + */ + if (treeScale.x < TREE_SCALE_SNAP_MAX && + treeScale.x > TREE_SCALE_SNAP_MIN) { + treeScale.x = 1.0; + } + if (treeScale.y < TREE_SCALE_SNAP_MAX && + treeScale.y > TREE_SCALE_SNAP_MIN) { + treeScale.y = 1.0; + } +} +function translateAxis(axis, distance) { + axis.min += distance; + axis.max += distance; +} +/** + * Apply a transform to an axis from the latest resolved motion values. + * This function basically acts as a bridge between a flat motion value map + * and applyAxisDelta + */ +function transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) { + const originPoint = mixNumber(axis.min, axis.max, axisOrigin); + // Apply the axis delta to the final axis + applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale); +} +function resolveAxisTranslate(value, axis) { + if (typeof value === "string") { + return (parseFloat(value) / 100) * (axis.max - axis.min); + } + return value; +} +/** + * Apply a transform to a box from the latest resolved motion values. + */ +function transformBox(box, transform, sourceBox) { + const resolveBox = sourceBox ?? box; + transformAxis(box.x, resolveAxisTranslate(transform.x, resolveBox.x), transform.scaleX, transform.scale, transform.originX); + transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY); +} + +export { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis }; +//# sourceMappingURL=delta-apply.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs new file mode 100644 index 0000000..39e0f7b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs @@ -0,0 +1,59 @@ +import { mixNumber } from '../../utils/mix/number.mjs'; + +const SCALE_PRECISION = 0.0001; +const SCALE_MIN = 1 - SCALE_PRECISION; +const SCALE_MAX = 1 + SCALE_PRECISION; +const TRANSLATE_PRECISION = 0.01; +const TRANSLATE_MIN = 0 - TRANSLATE_PRECISION; +const TRANSLATE_MAX = 0 + TRANSLATE_PRECISION; +function calcLength(axis) { + return axis.max - axis.min; +} +function isNear(value, target, maxDistance) { + return Math.abs(value - target) <= maxDistance; +} +function calcAxisDelta(delta, source, target, origin = 0.5) { + delta.origin = origin; + delta.originPoint = mixNumber(source.min, source.max, delta.origin); + delta.scale = calcLength(target) / calcLength(source); + delta.translate = + mixNumber(target.min, target.max, delta.origin) - delta.originPoint; + if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) || + isNaN(delta.scale)) { + delta.scale = 1.0; + } + if ((delta.translate >= TRANSLATE_MIN && + delta.translate <= TRANSLATE_MAX) || + isNaN(delta.translate)) { + delta.translate = 0.0; + } +} +function calcBoxDelta(delta, source, target, origin) { + calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined); + calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined); +} +function calcRelativeAxis(target, relative, parent, anchor = 0) { + const anchorPoint = anchor + ? mixNumber(parent.min, parent.max, anchor) + : parent.min; + target.min = anchorPoint + relative.min; + target.max = target.min + calcLength(relative); +} +function calcRelativeBox(target, relative, parent, anchor) { + calcRelativeAxis(target.x, relative.x, parent.x, anchor?.x); + calcRelativeAxis(target.y, relative.y, parent.y, anchor?.y); +} +function calcRelativeAxisPosition(target, layout, parent, anchor = 0) { + const anchorPoint = anchor + ? mixNumber(parent.min, parent.max, anchor) + : parent.min; + target.min = layout.min - anchorPoint; + target.max = target.min + calcLength(layout); +} +function calcRelativePosition(target, layout, parent, anchor) { + calcRelativeAxisPosition(target.x, layout.x, parent.x, anchor?.x); + calcRelativeAxisPosition(target.y, layout.y, parent.y, anchor?.y); +} + +export { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear }; +//# sourceMappingURL=delta-calc.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs new file mode 100644 index 0000000..59915ad --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs @@ -0,0 +1,55 @@ +import { mixNumber } from '../../utils/mix/number.mjs'; +import { percent } from '../../value/types/numbers/units.mjs'; +import { scalePoint } from './delta-apply.mjs'; + +/** + * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse + */ +function removePointDelta(point, translate, scale, originPoint, boxScale) { + point -= translate; + point = scalePoint(point, 1 / scale, originPoint); + if (boxScale !== undefined) { + point = scalePoint(point, 1 / boxScale, originPoint); + } + return point; +} +/** + * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse + */ +function removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) { + if (percent.test(translate)) { + translate = parseFloat(translate); + const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100); + translate = relativeProgress - sourceAxis.min; + } + if (typeof translate !== "number") + return; + let originPoint = mixNumber(originAxis.min, originAxis.max, origin); + if (axis === originAxis) + originPoint -= translate; + axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale); + axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale); +} +/** + * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse + * and acts as a bridge between motion values and removeAxisDelta + */ +function removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) { + removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis); +} +/** + * The names of the motion values we want to apply as translation, scale and origin. + */ +const xKeys = ["x", "scaleX", "originX"]; +const yKeys = ["y", "scaleY", "originY"]; +/** + * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse + * and acts as a bridge between motion values and removeAxisDelta + */ +function removeBoxTransforms(box, transforms, originBox, sourceBox) { + removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined); + removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined); +} + +export { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta }; +//# sourceMappingURL=delta-remove.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/models.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/models.mjs new file mode 100644 index 0000000..f6ca4f0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/models.mjs @@ -0,0 +1,18 @@ +const createAxisDelta = () => ({ + translate: 0, + scale: 1, + origin: 0, + originPoint: 0, +}); +const createDelta = () => ({ + x: createAxisDelta(), + y: createAxisDelta(), +}); +const createAxis = () => ({ min: 0, max: 0 }); +const createBox = () => ({ + x: createAxis(), + y: createAxis(), +}); + +export { createAxis, createAxisDelta, createBox, createDelta }; +//# sourceMappingURL=models.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs new file mode 100644 index 0000000..807d96d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs @@ -0,0 +1,32 @@ +import { calcLength } from './delta-calc.mjs'; + +function isAxisDeltaZero(delta) { + return delta.translate === 0 && delta.scale === 1; +} +function isDeltaZero(delta) { + return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y); +} +function axisEquals(a, b) { + return a.min === b.min && a.max === b.max; +} +function boxEquals(a, b) { + return axisEquals(a.x, b.x) && axisEquals(a.y, b.y); +} +function axisEqualsRounded(a, b) { + return (Math.round(a.min) === Math.round(b.min) && + Math.round(a.max) === Math.round(b.max)); +} +function boxEqualsRounded(a, b) { + return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y); +} +function aspectRatio(box) { + return calcLength(box.x) / calcLength(box.y); +} +function axisDeltaEquals(a, b) { + return (a.translate === b.translate && + a.scale === b.scale && + a.originPoint === b.originPoint); +} + +export { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero }; +//# sourceMappingURL=utils.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs new file mode 100644 index 0000000..e6755c8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs @@ -0,0 +1,14 @@ +import { addDomEvent } from '../../events/add-dom-event.mjs'; +import { createProjectionNode } from './create-projection-node.mjs'; + +const DocumentProjectionNode = createProjectionNode({ + attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify), + measureScroll: () => ({ + x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0, + y: document.documentElement.scrollTop || document.body?.scrollTop || 0, + }), + checkIsScrollRoot: () => true, +}); + +export { DocumentProjectionNode }; +//# sourceMappingURL=DocumentProjectionNode.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs new file mode 100644 index 0000000..2fb7f4c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs @@ -0,0 +1,28 @@ +import { createProjectionNode } from './create-projection-node.mjs'; +import { DocumentProjectionNode } from './DocumentProjectionNode.mjs'; + +const rootProjectionNode = { + current: undefined, +}; +const HTMLProjectionNode = createProjectionNode({ + measureScroll: (instance) => ({ + x: instance.scrollLeft, + y: instance.scrollTop, + }), + defaultParent: () => { + if (!rootProjectionNode.current) { + const documentNode = new DocumentProjectionNode({}); + documentNode.mount(window); + documentNode.setOptions({ layoutScroll: true }); + rootProjectionNode.current = documentNode; + } + return rootProjectionNode.current; + }, + resetTransform: (instance, value) => { + instance.style.transform = value !== undefined ? value : "none"; + }, + checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === "fixed"), +}); + +export { HTMLProjectionNode, rootProjectionNode }; +//# sourceMappingURL=HTMLProjectionNode.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs new file mode 100644 index 0000000..13a8738 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs @@ -0,0 +1,1773 @@ +import { SubscriptionManager, clamp, noop } from 'motion-utils'; +import { animateSingleValue } from '../../animation/animate/single-value.mjs'; +import { notifyLayoutAnimationStart } from '../../animation/utils/notify-inspector.mjs'; +import { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs'; +import { getValueTransition } from '../../animation/utils/get-value-transition.mjs'; +import { microtask } from '../../frameloop/microtask.mjs'; +import { time } from '../../frameloop/sync-time.mjs'; +import { scaleCorrectors } from '../styles/scale-correction.mjs'; +import { statsBuffer } from '../../stats/buffer.mjs'; +import { delay } from '../../utils/delay.mjs'; +import { isSVGElement } from '../../utils/is-svg-element.mjs'; +import { isSVGSVGElement } from '../../utils/is-svg-svg-element.mjs'; +import { mixNumber } from '../../utils/mix/number.mjs'; +import { motionValue } from '../../value/index.mjs'; +import { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs'; +import { mixValues } from '../animation/mix-values.mjs'; +import { transformGroups } from '../../animation/waapi/transforms/groups.mjs'; +import { copyBoxInto, copyAxisDeltaInto, copyAxisInto } from '../geometry/copy.mjs'; +import { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs'; +import { calcLength, calcRelativeBox, calcRelativePosition, calcBoxDelta, isNear } from '../geometry/delta-calc.mjs'; +import { removeBoxTransforms } from '../geometry/delta-remove.mjs'; +import { createBox, createDelta } from '../geometry/models.mjs'; +import { boxEqualsRounded, isDeltaZero, axisDeltaEquals, boxEquals, aspectRatio } from '../geometry/utils.mjs'; +import { NodeStack } from '../shared/stack.mjs'; +import { defaultScaleCorrectors } from '../styles/default-scale-correctors.mjs'; +import { buildProjectionTransform } from '../styles/transform.mjs'; +import { eachAxis } from '../utils/each-axis.mjs'; +import { FlatTree } from '../utils/flat-tree.mjs'; +import { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs'; +import { globalProjectionState } from './state.mjs'; +import { frame, cancelFrame, frameSteps } from '../../frameloop/frame.mjs'; +import { frameData } from '../../frameloop/frame-data.mjs'; + +/** + * Correctors registered via addScaleCorrector before projection loaded + * (e.g. with an async LazyMotion bundle) take precedence over the defaults. + */ +Object.assign(scaleCorrectors, { + ...defaultScaleCorrectors, + ...scaleCorrectors, +}); +const metrics = { + nodes: 0, + calculatedTargetDeltas: 0, + calculatedProjections: 0, +}; +const transformAxes = ["", "X", "Y", "Z"]; +/** + * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1 + * which has a noticeable difference in spring animations + */ +const animationTarget = 1000; +let id = 0; +function resetDistortingTransform(key, visualElement, values, sharedAnimationValues) { + const { latestValues } = visualElement; + // Record the distorting transform and then temporarily set it to 0 + if (latestValues[key]) { + values[key] = latestValues[key]; + visualElement.setStaticValue(key, 0); + if (sharedAnimationValues) { + sharedAnimationValues[key] = 0; + } + } +} +const demoteTransforms = ({ instance }) => instance && transformGroups.get(instance)?.demote(); +function cancelTreeOptimisedTransformAnimations(projectionNode) { + projectionNode.hasCheckedOptimisedAppear = true; + if (projectionNode.root === projectionNode) + return; + const { visualElement } = projectionNode.options; + if (!visualElement) + return; + const appearId = getOptimisedAppearId(visualElement); + if (window.MotionHasOptimisedAnimation(appearId, "transform")) { + const { layout, layoutId } = projectionNode.options; + window.MotionCancelOptimisedAnimation(appearId, "transform", frame, !(layout || layoutId)); + } + const { parent } = projectionNode; + if (parent && !parent.hasCheckedOptimisedAppear) { + cancelTreeOptimisedTransformAnimations(parent); + } +} +function createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) { + return class ProjectionNode { + constructor(latestValues = {}, parent = defaultParent?.()) { + /** + * A unique ID generated for every projection node. + */ + this.id = id++; + /** + * An id that represents a unique session instigated by startUpdate. + */ + this.animationId = 0; + this.animationCommitId = 0; + /** + * A Set containing all this component's children. This is used to iterate + * through the children. + * + * TODO: This could be faster to iterate as a flat array stored on the root node. + */ + this.children = new Set(); + /** + * Options for the node. We use this to configure what kind of layout animations + * we should perform (if any). + */ + this.options = {}; + /** + * We use this to detect when its safe to shut down part of a projection tree. + * We have to keep projecting children for scale correction and relative projection + * until all their parents stop performing layout animations. + */ + this.isTreeAnimating = false; + this.isAnimationBlocked = false; + /** + * Flag to true if we think this layout has been changed. We can't always know this, + * currently we set it to true every time a component renders, or if it has a layoutDependency + * if that has changed between renders. Additionally, components can be grouped by LayoutGroup + * and if one node is dirtied, they all are. + */ + this.isLayoutDirty = false; + /** + * Flag to true if we think the projection calculations for this node needs + * recalculating as a result of an updated transform or layout animation. + */ + this.isProjectionDirty = false; + /** + * Flag to true if the layout *or* transform has changed. This then gets propagated + * throughout the projection tree, forcing any element below to recalculate on the next frame. + */ + this.isSharedProjectionDirty = false; + /** + * Flag transform dirty. This gets propagated throughout the whole tree but is only + * respected by shared nodes. + */ + this.isTransformDirty = false; + /** + * Block layout updates for instant layout transitions throughout the tree. + */ + this.updateManuallyBlocked = false; + this.updateBlockedByResize = false; + /** + * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate` + * call. + */ + this.isUpdating = false; + /** + * If this is an SVG element we currently disable projection transforms + */ + this.isSVG = false; + /** + * Flag to true (during promotion) if a node doing an instant layout transition needs to reset + * its projection styles. + */ + this.needsReset = false; + /** + * Flags whether this node should have its transform reset prior to measuring. + */ + this.shouldResetTransform = false; + /** + * Store whether this node has been checked for optimised appear animations. As + * effects fire bottom-up, and we want to look up the tree for appear animations, + * this makes sure we only check each path once, stopping at nodes that + * have already been checked. + */ + this.hasCheckedOptimisedAppear = false; + /** + * An object representing the calculated contextual/accumulated/tree scale. + * This will be used to scale calculated projection transforms, as these are + * calculated in screen-space but need to be scaled for elements to visually + * make it to their calculated destinations. + * + * TODO: Lazy-init + */ + this.treeScale = { x: 1, y: 1 }; + /** + * + */ + this.eventHandlers = new Map(); + this.hasTreeAnimated = false; + // Note: Currently only running on root node + this.updateScheduled = false; + this.scheduleUpdate = () => this.update(); + this.projectionUpdateScheduled = false; + this.checkUpdateFailed = () => { + if (this.isUpdating) { + this.isUpdating = false; + this.clearAllSnapshots(); + } + }; + /** + * This is a multi-step process as shared nodes might be of different depths. Nodes + * are sorted by depth order, so we need to resolve the entire tree before moving to + * the next step. + */ + this.updateProjection = () => { + this.projectionUpdateScheduled = false; + /** + * Reset debug counts. Manually resetting rather than creating a new + * object each frame. + */ + if (statsBuffer.value) { + metrics.nodes = + metrics.calculatedTargetDeltas = + metrics.calculatedProjections = + 0; + } + this.nodes.forEach(propagateDirtyNodes); + this.nodes.forEach(resolveTargetDelta); + this.nodes.forEach(calcProjection); + this.nodes.forEach(cleanDirtyNodes); + if (statsBuffer.addProjectionMetrics) { + statsBuffer.addProjectionMetrics(metrics); + } + }; + /** + * Frame calculations + */ + this.resolvedRelativeTargetAt = 0.0; + this.hasProjected = false; + this.isVisible = true; + this.animationProgress = 0; + /** + * Shared layout + */ + // TODO Only running on root node + this.sharedNodes = new Map(); + this.latestValues = latestValues; + this.root = parent ? parent.root || parent : this; + this.path = parent ? [...parent.path, parent] : []; + this.parent = parent; + this.depth = parent ? parent.depth + 1 : 0; + for (let i = 0; i < this.path.length; i++) { + this.path[i].shouldResetTransform = true; + } + if (this.root === this) + this.nodes = new FlatTree(); + } + addEventListener(name, handler) { + if (!this.eventHandlers.has(name)) { + this.eventHandlers.set(name, new SubscriptionManager()); + } + return this.eventHandlers.get(name).add(handler); + } + notifyListeners(name, ...args) { + const subscriptionManager = this.eventHandlers.get(name); + subscriptionManager && subscriptionManager.notify(...args); + } + hasListeners(name) { + return this.eventHandlers.has(name); + } + /** + * Lifecycles + */ + mount(instance) { + if (this.instance) + return; + this.isSVG = isSVGElement(instance) && !isSVGSVGElement(instance); + this.instance = instance; + const { layoutId, layout, visualElement } = this.options; + if (visualElement && !visualElement.current) { + visualElement.mount(instance); + } + this.root.nodes.add(this); + this.parent && this.parent.children.add(this); + if (this.root.hasTreeAnimated && (layout || layoutId)) { + this.isLayoutDirty = true; + } + if (attachResizeListener) { + let cancelDelay; + let innerWidth = 0; + const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false); + // Set initial innerWidth in a frame.read callback to batch the read + frame.read(() => { + innerWidth = window.innerWidth; + }); + attachResizeListener(instance, () => { + const newInnerWidth = window.innerWidth; + if (newInnerWidth === innerWidth) + return; + innerWidth = newInnerWidth; + this.root.updateBlockedByResize = true; + cancelDelay && cancelDelay(); + cancelDelay = delay(resizeUnblockUpdate, 250); + if (globalProjectionState.hasAnimatedSinceResize) { + globalProjectionState.hasAnimatedSinceResize = false; + this.nodes.forEach(finishAnimation); + } + }); + } + if (layoutId) { + this.root.registerSharedNode(layoutId, this); + } + this.addLayoutListener(); + } + /** + * Only register the layout animation handler if this node requires + * layout animation. This is called on mount, and again whenever options + * change, as `layout` or `layoutId` may be enabled after mount. + */ + addLayoutListener() { + const { layoutId, layout, visualElement, animate } = this.options; + if (!this.instance || + this.hasLayoutListener || + animate === false || + !visualElement || + !(layoutId || layout)) + return; + this.hasLayoutListener = true; + this.addEventListener("didUpdate", ({ delta, hasLayoutChanged, hasRelativeLayoutChanged, layout: newLayout, }) => { + if (this.isAnimationBlocked) { + this.target = undefined; + this.relativeTarget = undefined; + return; + } + // TODO: Check here if an animation exists + const layoutTransition = this.options.transition || + visualElement.getDefaultTransition() || + defaultLayoutTransition; + const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps(); + /** + * The target layout of the element might stay the same, + * but its position relative to its parent has changed. + */ + const hasTargetChanged = !this.targetLayout || + !boxEqualsRounded(this.targetLayout, newLayout); + /* + * Note: Disabled to fix relative animations always triggering new + * layout animations. If this causes further issues, we can try + * a different approach to detecting relative target changes. + */ + // || hasRelativeLayoutChanged + /** + * If the layout hasn't seemed to have changed, it might be that the + * element is visually in the same place in the document but its position + * relative to its parent has indeed changed. So here we check for that. + */ + const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeLayoutChanged; + if (this.options.layoutRoot || + this.resumeFrom || + hasOnlyRelativeTargetChanged || + (hasLayoutChanged && + (hasTargetChanged || !this.currentAnimation))) { + if (this.resumeFrom) { + this.resumingFrom = this.resumeFrom; + this.resumingFrom.resumingFrom = undefined; + } + const animationOptions = { + ...getValueTransition(layoutTransition, "layout"), + onPlay: onLayoutAnimationStart, + onComplete: onLayoutAnimationComplete, + }; + if (visualElement.shouldReduceMotion || + this.options.layoutRoot) { + animationOptions.delay = 0; + animationOptions.type = false; + } + this.startAnimation(animationOptions); + /** + * Set animation origin after starting animation to avoid layout jump + * caused by stopping previous layout animation + */ + this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path); + } + else { + /** + * If the layout hasn't changed and we have an animation that hasn't started yet, + * finish it immediately. Otherwise it will be animating from a location + * that was probably never committed to screen and look like a jumpy box. + */ + if (!hasLayoutChanged) { + finishAnimation(this); + } + if (this.isLead() && this.options.onExitComplete) { + this.options.onExitComplete(); + } + } + this.targetLayout = newLayout; + }); + } + unmount() { + this.options.layoutId && this.willUpdate(); + this.root.nodes.remove(this); + const stack = this.getStack(); + stack && stack.remove(this); + this.parent && this.parent.children.delete(this); + this.instance = undefined; + this.eventHandlers.clear(); + this.hasLayoutListener = false; + cancelFrame(this.updateProjection); + } + // only on the root + blockUpdate() { + this.updateManuallyBlocked = true; + } + unblockUpdate() { + this.updateManuallyBlocked = false; + } + isUpdateBlocked() { + return this.updateManuallyBlocked || this.updateBlockedByResize; + } + // Note: currently only running on root node + startUpdate() { + if (this.isUpdateBlocked()) + return; + this.isUpdating = true; + this.nodes && this.nodes.forEach(resetSkewAndRotation); + this.animationId++; + } + getTransformTemplate() { + const { visualElement } = this.options; + return visualElement && visualElement.getProps().transformTemplate; + } + willUpdate(shouldNotifyListeners = true) { + this.root.hasTreeAnimated = true; + if (this.root.isUpdateBlocked()) { + this.options.onExitComplete && this.options.onExitComplete(); + return; + } + /** + * If we're running optimised appear animations then these must be + * cancelled before measuring the DOM. This is so we can measure + * the true layout of the element rather than the WAAPI animation + * which will be unaffected by the resetSkewAndRotate step. + * + * Note: This is a DOM write. Worst case scenario is this is sandwiched + * between other snapshot reads which will cause unnecessary style recalculations. + * This has to happen here though, as we don't yet know which nodes will need + * snapshots in startUpdate(), but we only want to cancel optimised animations + * if a layout animation measurement is actually going to be affected by them. + */ + if (window.MotionCancelOptimisedAnimation && + !this.hasCheckedOptimisedAppear) { + cancelTreeOptimisedTransformAnimations(this); + } + !this.root.isUpdating && this.root.startUpdate(); + if (this.isLayoutDirty) + return; + /** + * Accelerated transforms aren't reflected in latestValues or + * removed by resetTransform, so move them back to the main + * thread before this node, or its ancestors, are measured. + */ + demoteTransforms(this); + this.isLayoutDirty = true; + for (let i = 0; i < this.path.length; i++) { + const node = this.path[i]; + node.shouldResetTransform = true; + demoteTransforms(node); + /** + * Percentage translates resolve against layoutBox dimensions, + * so ancestors with them must be re-measured after transform reset. + */ + if (typeof node.latestValues.x === "string" || + typeof node.latestValues.y === "string") { + node.isLayoutDirty = true; + } + node.updateScroll("snapshot"); + if (node.options.layoutRoot) { + node.willUpdate(false); + } + /** + * Measure the nearest dragged ancestor before the DOM + * changes, so this node can follow its layout change. + */ + if (node.isAnimationBlocked) { + node.dragSnapshot || (node.dragSnapshot = node.measure()); + this.dragAncestor = node; + } + } + const { layoutId, layout } = this.options; + if (layoutId === undefined && !layout) + return; + const transformTemplate = this.getTransformTemplate(); + this.prevTransformTemplateValue = transformTemplate + ? transformTemplate(this.latestValues, "") + : undefined; + this.updateSnapshot(); + shouldNotifyListeners && this.notifyListeners("willUpdate"); + } + update() { + this.updateScheduled = false; + const updateWasBlocked = this.isUpdateBlocked(); + // When doing an instant transition, we skip the layout update, + // but should still clean up the measurements so that the next + // snapshot could be taken correctly. + if (updateWasBlocked) { + const wasBlockedByResize = this.updateBlockedByResize; + this.unblockUpdate(); + this.updateBlockedByResize = false; + this.clearAllSnapshots(); + /** + * When blocked by resize, still measure layouts so + * callbacks like onLayoutMeasure fire (e.g. Reorder). + * Skip notifyLayoutUpdate to prevent animations. + */ + if (wasBlockedByResize) { + this.nodes.forEach(forceLayoutMeasure); + } + this.nodes.forEach(clearMeasurements); + return; + } + /** + * If this is a repeat of didUpdate then ignore the animation. + */ + if (this.animationId <= this.animationCommitId) { + this.nodes.forEach(clearIsLayoutDirty); + return; + } + this.animationCommitId = this.animationId; + if (!this.isUpdating) { + this.nodes.forEach(clearIsLayoutDirty); + } + else { + this.isUpdating = false; + /** + * Ensure animation-blocked nodes (e.g. during drag) + * get measured even when memoized (willUpdate skipped). + */ + this.nodes.forEach(ensureDraggedNodesSnapshotted); + this.nodes.forEach(syncRelativeLayout); + /** + * Write + */ + this.nodes.forEach(resetTransformStyle); + /** + * Read ================== + */ + // Update layout measurements of updated children + this.nodes.forEach(updateLayout); + /** + * Write + */ + // Notify listeners that the layout is updated + this.nodes.forEach(notifyLayoutUpdate); + } + this.clearAllSnapshots(); + /** + * Manually flush any pending updates. Ideally + * we could leave this to the following requestAnimationFrame but this seems + * to leave a flash of incorrectly styled content. + */ + const now = time.now(); + frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp); + frameData.timestamp = now; + frameData.isProcessing = true; + frameSteps.update.process(frameData); + frameSteps.preRender.process(frameData); + frameSteps.render.process(frameData); + frameData.isProcessing = false; + } + didUpdate() { + if (!this.updateScheduled) { + this.updateScheduled = true; + microtask.read(this.scheduleUpdate); + } + } + clearAllSnapshots() { + this.nodes.forEach(clearSnapshot); + /** + * A stack's last member can unmount while a replacement with the + * same layoutId mounts in the same commit, so the stack (and its + * lead) must outlive the unmount for the replacement to resume + * from it. By now that handoff has happened, so stacks that are + * still empty only retain unmounted nodes and can be released. + */ + this.sharedNodes.forEach((stack, layoutId) => stack.members.length + ? stack.removeLeadSnapshot() + : this.sharedNodes.delete(layoutId)); + } + scheduleUpdateProjection() { + if (!this.projectionUpdateScheduled) { + this.projectionUpdateScheduled = true; + frame.preRender(this.updateProjection, false, true); + } + } + scheduleCheckAfterUnmount() { + /** + * If the unmounting node is in a layoutGroup and did trigger a willUpdate, + * we manually call didUpdate to give a chance to the siblings to animate. + * Otherwise, cleanup all snapshots to prevents future nodes from reusing them. + */ + frame.postRender(() => { + if (this.isLayoutDirty) { + this.root.didUpdate(); + } + else { + this.root.checkUpdateFailed(); + } + }); + } + /** + * Update measurements + */ + updateSnapshot() { + if (this.snapshot || !this.instance) + return; + this.snapshot = this.measure(); + if (this.snapshot && + !calcLength(this.snapshot.measuredBox.x) && + !calcLength(this.snapshot.measuredBox.y)) { + this.snapshot = undefined; + } + } + updateLayout() { + if (!this.instance) + return; + this.updateScroll(); + if (!(this.options.alwaysMeasureLayout && this.isLead()) && + !this.isLayoutDirty) { + return; + } + /** + * When a node is mounted, it simply resumes from the prevLead's + * snapshot instead of taking a new one, but the ancestors scroll + * might have updated while the prevLead is unmounted. We need to + * update the scroll again to make sure the layout we measure is + * up to date. + */ + if (this.resumeFrom && !this.resumeFrom.instance) { + for (let i = 0; i < this.path.length; i++) { + const node = this.path[i]; + node.updateScroll(); + } + } + const prevLayout = this.layout; + this.layout = this.measure(false); + if (!this.layoutCorrected) + this.layoutCorrected = createBox(); + this.isLayoutDirty = false; + this.projectionDelta = undefined; + this.notifyListeners("measure", this.layout.layoutBox); + const { visualElement } = this.options; + visualElement && + visualElement.notify("LayoutMeasure", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined); + } + updateScroll(phase = "measure") { + let needsMeasurement = Boolean(this.options.layoutScroll && this.instance); + if (this.scroll && + this.scroll.animationId === this.root.animationId && + this.scroll.phase === phase) { + needsMeasurement = false; + } + if (needsMeasurement && this.instance) { + const isRoot = checkIsScrollRoot(this.instance); + this.scroll = { + animationId: this.root.animationId, + phase, + isRoot, + offset: measureScroll(this.instance), + wasRoot: this.scroll ? this.scroll.isRoot : isRoot, + }; + } + } + resetTransform() { + if (!resetTransform) + return; + const isResetRequested = this.isLayoutDirty || + this.shouldResetTransform || + this.options.alwaysMeasureLayout; + isResetRequested && demoteTransforms(this); + const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta); + const transformTemplate = this.getTransformTemplate(); + const transformTemplateValue = transformTemplate + ? transformTemplate(this.latestValues, "") + : undefined; + const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue; + if (isResetRequested && + this.instance && + (hasProjection || + hasTransform(this.latestValues) || + transformTemplateHasChanged)) { + resetTransform(this.instance, transformTemplateValue); + this.shouldResetTransform = false; + this.scheduleRender(); + } + } + measure(removeTransform = true) { + const pageBox = this.measurePageBox(); + let layoutBox = this.removeElementScroll(pageBox); + /** + * Measurements taken during the pre-render stage + * still have transforms applied so we remove them + * via calculation. + */ + if (removeTransform) { + layoutBox = this.removeTransform(layoutBox); + } + roundBox(layoutBox); + return { + animationId: this.root.animationId, + measuredBox: pageBox, + layoutBox, + latestValues: {}, + source: this.id, + }; + } + measurePageBox() { + const { visualElement } = this.options; + if (!visualElement) + return createBox(); + const box = visualElement.measureViewportBox(); + const wasInScrollRoot = this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot); + if (!wasInScrollRoot) { + // Remove viewport scroll to give page-relative coordinates + const { scroll } = this.root; + if (scroll) { + translateAxis(box.x, scroll.offset.x); + translateAxis(box.y, scroll.offset.y); + } + } + return box; + } + removeElementScroll(box) { + const boxWithoutScroll = createBox(); + copyBoxInto(boxWithoutScroll, box); + if (this.scroll?.wasRoot) { + return boxWithoutScroll; + } + /** + * Performance TODO: Keep a cumulative scroll offset down the tree + * rather than loop back up the path. + */ + for (let i = 0; i < this.path.length; i++) { + const node = this.path[i]; + const { scroll, options } = node; + if (node !== this.root && scroll && options.layoutScroll) { + /** + * If this is a new scroll root, we want to remove all previous scrolls + * from the viewport box. + */ + if (scroll.wasRoot) { + copyBoxInto(boxWithoutScroll, box); + } + translateAxis(boxWithoutScroll.x, scroll.offset.x); + translateAxis(boxWithoutScroll.y, scroll.offset.y); + } + } + return boxWithoutScroll; + } + applyTransform(box, transformOnly = false, output) { + const withTransforms = output || createBox(); + copyBoxInto(withTransforms, box); + for (let i = 0; i < this.path.length; i++) { + const node = this.path[i]; + if (!transformOnly && + node.options.layoutScroll && + node.scroll && + node !== node.root) { + translateAxis(withTransforms.x, -node.scroll.offset.x); + translateAxis(withTransforms.y, -node.scroll.offset.y); + } + if (!hasTransform(node.latestValues)) + continue; + transformBox(withTransforms, node.latestValues, node.layout?.layoutBox); + } + if (hasTransform(this.latestValues)) { + transformBox(withTransforms, this.latestValues, this.layout?.layoutBox); + } + return withTransforms; + } + removeTransform(box) { + const boxWithoutTransform = createBox(); + copyBoxInto(boxWithoutTransform, box); + for (let i = 0; i < this.path.length; i++) { + const node = this.path[i]; + if (!hasTransform(node.latestValues)) + continue; + let sourceBox; + if (node.instance) { + hasScale(node.latestValues) && node.updateSnapshot(); + sourceBox = createBox(); + copyBoxInto(sourceBox, node.measurePageBox()); + } + removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot?.layoutBox, sourceBox); + } + if (hasTransform(this.latestValues)) { + removeBoxTransforms(boxWithoutTransform, this.latestValues); + } + return boxWithoutTransform; + } + setTargetDelta(delta) { + this.targetDelta = delta; + this.root.scheduleUpdateProjection(); + this.isProjectionDirty = true; + } + setOptions(options) { + this.options = { + ...this.options, + ...options, + crossfade: options.crossfade !== undefined ? options.crossfade : true, + }; + this.addLayoutListener(); + } + clearMeasurements() { + this.scroll = undefined; + this.layout = undefined; + this.snapshot = undefined; + this.prevTransformTemplateValue = undefined; + this.targetDelta = undefined; + this.target = undefined; + this.isLayoutDirty = false; + } + forceRelativeParentToResolveTarget() { + if (!this.relativeParent) + return; + /** + * If the parent target isn't up-to-date, force it to update. + * This is an unfortunate de-optimisation as it means any updating relative + * projection will cause all the relative parents to recalculate back + * up the tree. + */ + if (this.relativeParent.resolvedRelativeTargetAt !== + frameData.timestamp) { + this.relativeParent.resolveTargetDelta(true); + } + } + resolveTargetDelta(forceRecalculation = false) { + /** + * Once the dirty status of nodes has been spread through the tree, we also + * need to check if we have a shared node of a different depth that has itself + * been dirtied. + */ + const lead = this.getLead(); + this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty); + this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty); + this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty); + const isShared = Boolean(this.resumingFrom) || this !== lead; + /** + * We don't use transform for this step of processing so we don't + * need to check whether any nodes have changed transform. + */ + const canSkip = !(forceRecalculation || + (isShared && this.isSharedProjectionDirty) || + this.isProjectionDirty || + this.parent?.isProjectionDirty || + this.attemptToResolveRelativeTarget || + this.root.updateBlockedByResize); + if (canSkip) + return; + const { layout, layoutId } = this.options; + /** + * If we have no layout, we can't perform projection, so early return + */ + if (!this.layout || !(layout || layoutId)) + return; + this.resolvedRelativeTargetAt = frameData.timestamp; + const relativeParent = this.getClosestProjectingParent(); + /** + * If we don't have a targetDelta but do have a layout, we can attempt to resolve + * a relativeParent. This will allow a component to perform scale correction + * even if no animation has started. + */ + if (!this.targetDelta && !this.relativeTarget) { + if (this.options.layoutAnchor !== false && + relativeParent && + relativeParent.layout) { + this.createRelativeTarget(relativeParent, this.layout.layoutBox, relativeParent.layout.layoutBox); + } + else { + this.removeRelativeTarget(); + } + } + /** + * If we have no relative target or no target delta our target isn't valid + * for this frame. + */ + if (!this.relativeTarget && !this.targetDelta) + return; + /** + * Lazy-init target data structure + */ + if (!this.target) { + this.target = createBox(); + this.targetWithTransforms = createBox(); + } + /** + * If we've got a relative box for this component, resolve it into a target relative to the parent. + */ + if (this.relativeTarget && + this.relativeTargetOrigin && + this.relativeParent && + this.relativeParent.target) { + this.forceRelativeParentToResolveTarget(); + calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target, this.options.layoutAnchor || undefined); + /** + * If we've only got a targetDelta, resolve it into a target + */ + } + else if (this.targetDelta) { + if (Boolean(this.resumingFrom)) { + this.applyTransform(this.layout.layoutBox, false, this.target); + } + else { + copyBoxInto(this.target, this.layout.layoutBox); + } + applyBoxDelta(this.target, this.targetDelta); + } + else { + /** + * If no target, use own layout as target + */ + copyBoxInto(this.target, this.layout.layoutBox); + } + /** + * If we've been told to attempt to resolve a relative target, do so. + */ + if (this.attemptToResolveRelativeTarget) { + this.attemptToResolveRelativeTarget = false; + if (this.options.layoutAnchor !== false && + relativeParent && + Boolean(relativeParent.resumingFrom) === + Boolean(this.resumingFrom) && + !relativeParent.options.layoutScroll && + relativeParent.target && + this.animationProgress !== 1) { + this.createRelativeTarget(relativeParent, this.target, relativeParent.target); + } + else { + this.relativeParent = this.relativeTarget = undefined; + } + } + /** + * Increase debug counter for resolved target deltas + */ + if (statsBuffer.value) { + metrics.calculatedTargetDeltas++; + } + } + getClosestProjectingParent() { + if (!this.parent || + hasScale(this.parent.latestValues) || + has2DTranslate(this.parent.latestValues)) { + return undefined; + } + if (this.parent.isProjecting()) { + return this.parent; + } + else { + return this.parent.getClosestProjectingParent(); + } + } + isProjecting() { + return Boolean((this.relativeTarget || + this.targetDelta || + this.options.layoutRoot) && + this.layout); + } + createRelativeTarget(relativeParent, layout, parentLayout) { + this.relativeParent = relativeParent; + this.forceRelativeParentToResolveTarget(); + this.relativeTarget = createBox(); + this.relativeTargetOrigin = createBox(); + calcRelativePosition(this.relativeTargetOrigin, layout, parentLayout, this.options.layoutAnchor || undefined); + copyBoxInto(this.relativeTarget, this.relativeTargetOrigin); + } + removeRelativeTarget() { + this.relativeParent = this.relativeTarget = undefined; + } + calcProjection() { + const lead = this.getLead(); + const isShared = Boolean(this.resumingFrom) || this !== lead; + let canSkip = true; + /** + * If this is a normal layout animation and neither this node nor its nearest projecting + * is dirty then we can't skip. + */ + if (this.isProjectionDirty || this.parent?.isProjectionDirty) { + canSkip = false; + } + /** + * If this is a shared layout animation and this node's shared projection is dirty then + * we can't skip. + */ + if (isShared && + (this.isSharedProjectionDirty || this.isTransformDirty)) { + canSkip = false; + } + /** + * If we have resolved the target this frame we must recalculate the + * projection to ensure it visually represents the internal calculations. + */ + if (this.resolvedRelativeTargetAt === frameData.timestamp) { + canSkip = false; + } + if (canSkip) + return; + const { layout, layoutId } = this.options; + /** + * If this section of the tree isn't animating we can + * delete our target sources for the following frame. + */ + this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) || + this.currentAnimation || + this.pendingAnimation); + if (!this.isTreeAnimating) { + this.targetDelta = this.relativeTarget = undefined; + } + if (!this.layout || !(layout || layoutId)) + return; + /** + * Reset the corrected box with the latest values from box, as we're then going + * to perform mutative operations on it. + */ + copyBoxInto(this.layoutCorrected, this.layout.layoutBox); + /** + * Record previous tree scales before updating. + */ + const prevTreeScaleX = this.treeScale.x; + const prevTreeScaleY = this.treeScale.y; + /** + * Apply all the parent deltas to this box to produce the corrected box. This + * is the layout box, as it will appear on screen as a result of the transforms of its parents. + */ + applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared); + /** + * If this layer needs to perform scale correction but doesn't have a target, + * use the layout as the target. + */ + if (lead.layout && + !lead.target && + (this.treeScale.x !== 1 || this.treeScale.y !== 1)) { + lead.target = lead.layout.layoutBox; + lead.targetWithTransforms = createBox(); + } + const { target } = lead; + if (!target) { + /** + * If we don't have a target to project into, but we were previously + * projecting, we want to remove the stored transform and schedule + * a render to ensure the elements reflect the removed transform. + */ + if (this.prevProjectionDelta) { + this.createProjectionDeltas(); + this.scheduleRender(); + } + return; + } + if (!this.projectionDelta || !this.prevProjectionDelta) { + this.createProjectionDeltas(); + } + else { + copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x); + copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y); + } + /** + * Update the delta between the corrected box and the target box before user-set transforms were applied. + * This will allow us to calculate the corrected borderRadius and boxShadow to compensate + * for our layout reprojection, but still allow them to be scaled correctly by the user. + * It might be that to simplify this we may want to accept that user-set scale is also corrected + * and we wouldn't have to keep and calc both deltas, OR we could support a user setting + * to allow people to choose whether these styles are corrected based on just the + * layout reprojection or the final bounding box. + */ + calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues); + if (this.treeScale.x !== prevTreeScaleX || + this.treeScale.y !== prevTreeScaleY || + !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) || + !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) { + this.hasProjected = true; + this.scheduleRender(); + this.notifyListeners("projectionUpdate", target); + } + /** + * Increase debug counter for recalculated projections + */ + if (statsBuffer.value) { + metrics.calculatedProjections++; + } + } + hide() { + this.isVisible = false; + // TODO: Schedule render + } + show() { + this.isVisible = true; + // TODO: Schedule render + } + scheduleRender(notifyAll = true) { + this.options.visualElement?.scheduleRender(); + if (notifyAll) { + const stack = this.getStack(); + stack && stack.scheduleRender(); + } + if (this.resumingFrom && !this.resumingFrom.instance) { + this.resumingFrom = undefined; + } + } + createProjectionDeltas() { + this.prevProjectionDelta = createDelta(); + this.projectionDelta = createDelta(); + this.projectionDeltaWithTransform = createDelta(); + } + setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) { + const snapshot = this.snapshot; + const snapshotLatestValues = snapshot ? snapshot.latestValues : {}; + const mixedValues = { ...this.latestValues }; + const targetDelta = createDelta(); + if (!this.relativeParent || + !this.relativeParent.options.layoutRoot) { + this.relativeTarget = this.relativeTargetOrigin = undefined; + } + this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged; + const relativeLayout = createBox(); + const snapshotSource = snapshot ? snapshot.source : undefined; + const layoutSource = this.layout ? this.layout.source : undefined; + const isSharedLayoutAnimation = snapshotSource !== layoutSource; + const stack = this.getStack(); + const isOnlyMember = !stack || stack.members.length <= 1; + const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && + !isOnlyMember && + this.options.crossfade === true && + !this.path.some(hasOpacityCrossfade)); + this.animationProgress = 0; + let prevRelativeTarget; + // The path decides whether the layout shift is worth curving + // (distance floor) and resolves the interpolator from the delta. + const interpolate = pathFn?.interpolateProjection(delta); + this.mixTargetDelta = (latest) => { + const progress = latest / 1000; + const point = interpolate?.(progress); + if (point) { + targetDelta.x.translate = point.x; + targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress); + targetDelta.x.origin = delta.x.origin; + targetDelta.x.originPoint = delta.x.originPoint; + targetDelta.y.translate = point.y; + targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress); + targetDelta.y.origin = delta.y.origin; + targetDelta.y.originPoint = delta.y.originPoint; + } + else { + mixAxisDeltaLinear(targetDelta.x, delta.x, progress); + mixAxisDeltaLinear(targetDelta.y, delta.y, progress); + } + this.setTargetDelta(targetDelta); + if (this.relativeTarget && + this.relativeTargetOrigin && + this.layout && + this.relativeParent && + this.relativeParent.layout) { + calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || undefined); + mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress); + /** + * If this is an unchanged relative target we can consider the + * projection not dirty. + */ + if (prevRelativeTarget && + boxEquals(this.relativeTarget, prevRelativeTarget)) { + this.isProjectionDirty = false; + } + if (!prevRelativeTarget) + prevRelativeTarget = createBox(); + copyBoxInto(prevRelativeTarget, this.relativeTarget); + } + if (isSharedLayoutAnimation) { + this.animationValues = mixedValues; + mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember); + } + if (point && point.rotate !== undefined) { + // Dedicated `pathRotation` channel, not `rotate`, so an + // animating `rotate` is composed with, never clobbered. + if (!this.animationValues) + this.animationValues = mixedValues; + this.animationValues.pathRotation = point.rotate; + } + this.root.scheduleUpdateProjection(); + this.scheduleRender(); + this.animationProgress = progress; + }; + this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0); + } + startAnimation(options) { + this.notifyListeners("animationStart"); + this.currentAnimation?.stop(); + this.resumingFrom?.currentAnimation?.stop(); + if (this.pendingAnimation) { + cancelFrame(this.pendingAnimation); + this.pendingAnimation = undefined; + } + /** + * Start the animation in the next frame to have a frame with progress 0, + * where the target is the same as when the animation started, so we can + * calculate the relative positions correctly for instant transitions. + */ + this.pendingAnimation = frame.update(() => { + globalProjectionState.hasAnimatedSinceResize = true; + this.motionValue || (this.motionValue = motionValue(0)); + this.motionValue.jump(0, false); + this.currentAnimation = animateSingleValue(this.motionValue, [0, 1000], { + ...options, + velocity: 0, + isSync: true, + onUpdate: (latest) => { + this.mixTargetDelta(latest); + options.onUpdate && options.onUpdate(latest); + }, + onComplete: () => { + options.onComplete && options.onComplete(); + this.completeAnimation(); + }, + }); + notifyLayoutAnimationStart(this.currentAnimation, this); + if (this.resumingFrom) { + this.resumingFrom.currentAnimation = this.currentAnimation; + } + this.pendingAnimation = undefined; + }); + } + completeAnimation() { + if (this.resumingFrom) { + this.resumingFrom.currentAnimation = undefined; + this.resumingFrom.preserveOpacity = undefined; + } + const stack = this.getStack(); + stack && stack.exitAnimationComplete(); + this.resumingFrom = + this.currentAnimation = + this.animationValues = + undefined; + this.notifyListeners("animationComplete"); + } + finishAnimation() { + if (this.currentAnimation) { + this.mixTargetDelta && this.mixTargetDelta(animationTarget); + this.currentAnimation.stop(); + } + this.completeAnimation(); + } + applyTransformsToTarget() { + const lead = this.getLead(); + const { targetWithTransforms, layout, latestValues } = lead; + let { target } = lead; + if (!targetWithTransforms || !target || !layout) + return; + /** + * If we're only animating position, and this element isn't the lead element, + * then instead of projecting into the lead box we instead want to calculate + * a new target that aligns the two boxes but maintains the layout shape. + */ + if (this !== lead && + this.layout && + layout && + shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) { + target = this.target || createBox(); + const xLength = calcLength(this.layout.layoutBox.x); + target.x.min = lead.target.x.min; + target.x.max = target.x.min + xLength; + const yLength = calcLength(this.layout.layoutBox.y); + target.y.min = lead.target.y.min; + target.y.max = target.y.min + yLength; + } + copyBoxInto(targetWithTransforms, target); + /** + * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal. + * This is the final box that we will then project into by calculating a transform delta and + * applying it to the corrected box. + */ + transformBox(targetWithTransforms, latestValues); + /** + * Update the delta between the corrected box and the final target box, after + * user-set transforms are applied to it. This will be used by the renderer to + * create a transform style that will reproject the element from its layout layout + * into the desired bounding box. + */ + calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues); + } + registerSharedNode(layoutId, node) { + if (!this.sharedNodes.has(layoutId)) { + this.sharedNodes.set(layoutId, new NodeStack()); + } + const stack = this.sharedNodes.get(layoutId); + stack.add(node); + const config = node.options.initialPromotionConfig; + node.promote({ + transition: config ? config.transition : undefined, + preserveFollowOpacity: config && config.shouldPreserveFollowOpacity + ? config.shouldPreserveFollowOpacity(node) + : undefined, + }); + } + isLead() { + const stack = this.getStack(); + return stack ? stack.lead === this : true; + } + getLead() { + const { layoutId } = this.options; + return layoutId ? this.getStack()?.lead || this : this; + } + getPrevLead() { + const { layoutId } = this.options; + return layoutId ? this.getStack()?.prevLead : undefined; + } + getStack() { + const { layoutId } = this.options; + if (layoutId) + return this.root.sharedNodes.get(layoutId); + } + promote({ needsReset, transition, preserveFollowOpacity, } = {}) { + const stack = this.getStack(); + if (stack) + stack.promote(this, preserveFollowOpacity); + if (needsReset) { + this.projectionDelta = undefined; + this.needsReset = true; + } + if (transition) + this.setOptions({ transition }); + } + relegate() { + const stack = this.getStack(); + if (stack) { + return stack.relegate(this); + } + else { + return false; + } + } + resetSkewAndRotation() { + const { visualElement } = this.options; + if (!visualElement) + return; + // If there's no detected skew or rotation values, we can early return without a forced render. + let hasDistortingTransform = false; + /** + * An unrolled check for rotation values. Most elements don't have any rotation and + * skipping the nested loop and new object creation is 50% faster. + */ + const { latestValues } = visualElement; + if (latestValues.z || + latestValues.rotate || + latestValues.rotateX || + latestValues.rotateY || + latestValues.rotateZ || + latestValues.skewX || + latestValues.skewY) { + hasDistortingTransform = true; + } + // If there's no distorting values, we don't need to do any more. + if (!hasDistortingTransform) + return; + const resetValues = {}; + if (latestValues.z) { + resetDistortingTransform("z", visualElement, resetValues, this.animationValues); + } + // Check the skew and rotate value of all axes and reset to 0 + for (let i = 0; i < transformAxes.length; i++) { + resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues); + resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues); + } + // Force a render of this element to apply the transform with all skews and rotations + // set to 0. + visualElement.render(); + // Put back all the values we reset + for (const key in resetValues) { + visualElement.setStaticValue(key, resetValues[key]); + if (this.animationValues) { + this.animationValues[key] = resetValues[key]; + } + } + // Schedule a render for the next frame. This ensures we won't visually + // see the element with the reset rotate value applied. + visualElement.scheduleRender(); + } + applyProjectionStyles(targetStyle, // CSSStyleDeclaration - doesn't allow numbers to be assigned to properties + styleProp) { + if (!this.instance || this.isSVG) + return; + if (!this.isVisible) { + targetStyle.visibility = "hidden"; + return; + } + const transformTemplate = this.getTransformTemplate(); + if (this.needsReset) { + this.needsReset = false; + targetStyle.visibility = ""; + targetStyle.opacity = ""; + targetStyle.pointerEvents = + resolveMotionValue(styleProp?.pointerEvents) || ""; + targetStyle.transform = transformTemplate + ? transformTemplate(this.latestValues, "") + : "none"; + return; + } + const lead = this.getLead(); + if (!this.projectionDelta || !this.layout || !lead.target) { + if (this.options.layoutId) { + targetStyle.opacity = + this.latestValues.opacity !== undefined + ? this.latestValues.opacity + : 1; + targetStyle.pointerEvents = + resolveMotionValue(styleProp?.pointerEvents) || ""; + } + if (this.hasProjected && !hasTransform(this.latestValues)) { + targetStyle.transform = transformTemplate + ? transformTemplate({}, "") + : "none"; + this.hasProjected = false; + } + return; + } + targetStyle.visibility = ""; + const valuesToRender = lead.animationValues || lead.latestValues; + this.applyTransformsToTarget(); + let transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender); + if (transformTemplate) { + transform = transformTemplate(valuesToRender, transform); + } + targetStyle.transform = transform; + const { x, y } = this.projectionDelta; + targetStyle.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`; + if (lead.animationValues) { + /** + * If the lead component is animating, assign this either the entering/leaving + * opacity + */ + targetStyle.opacity = + lead === this + ? valuesToRender.opacity ?? + this.latestValues.opacity ?? + 1 + : this.preserveOpacity + ? this.latestValues.opacity + : valuesToRender.opacityExit; + } + else { + /** + * Or we're not animating at all, set the lead component to its layout + * opacity and other components to hidden. + */ + targetStyle.opacity = + lead === this + ? valuesToRender.opacity !== undefined + ? valuesToRender.opacity + : "" + : valuesToRender.opacityExit !== undefined + ? valuesToRender.opacityExit + : 0; + } + /** + * Apply scale correction + */ + for (const key in scaleCorrectors) { + if (valuesToRender[key] === undefined) + continue; + const { correct, applyTo, isCSSVariable } = scaleCorrectors[key]; + /** + * Only apply scale correction to the value if we have an + * active projection transform. Otherwise these values become + * vulnerable to distortion if the element changes size without + * a corresponding layout animation. + */ + const corrected = transform === "none" + ? valuesToRender[key] + : correct(valuesToRender[key], lead); + if (applyTo) { + const num = applyTo.length; + for (let i = 0; i < num; i++) { + targetStyle[applyTo[i]] = corrected; + } + } + else { + // If this is a CSS variable, set it directly on the instance. + // Replacing this function from creating styles to setting them + // would be a good place to remove per frame object creation + if (isCSSVariable) { + this.options.visualElement.renderState.vars[key] = corrected; + } + else { + targetStyle[key] = corrected; + } + } + } + /** + * Disable pointer events on follow components. This is to ensure + * that if a follow component covers a lead component it doesn't block + * pointer events on the lead. + */ + if (this.options.layoutId) { + targetStyle.pointerEvents = + lead === this + ? resolveMotionValue(styleProp?.pointerEvents) || "" + : "none"; + } + } + clearSnapshot() { + this.resumeFrom = + this.snapshot = + this.dragSnapshot = + this.dragAncestor = + undefined; + } + // Only run on root + resetTree() { + this.root.nodes.forEach((node) => node.currentAnimation?.stop()); + this.root.nodes.forEach(clearMeasurements); + this.root.sharedNodes.clear(); + } + }; +} +/** + * Nodes are depth-ordered, so a dragged ancestor's layout is updated before + * its descendants'. + */ +function updateLayout(node) { + node.updateLayout(); + followDraggedAncestor(node); +} +function notifyLayoutUpdate(node) { + const snapshot = node.resumeFrom?.snapshot || node.snapshot; + if (node.isLead() && + node.layout && + snapshot && + node.hasListeners("didUpdate")) { + const { layoutBox: layout, measuredBox: measuredLayout } = node.layout; + const { animationType } = node.options; + const isShared = snapshot.source !== node.layout.source; + // TODO Maybe we want to also resize the layout snapshot so we don't trigger + // animations for instance if layout="size" and an element has only changed position + if (animationType === "size") { + eachAxis((axis) => { + const axisSnapshot = isShared + ? snapshot.measuredBox[axis] + : snapshot.layoutBox[axis]; + const length = calcLength(axisSnapshot); + axisSnapshot.min = layout[axis].min; + axisSnapshot.max = axisSnapshot.min + length; + }); + } + else if (animationType === "x" || animationType === "y") { + const snapAxis = animationType === "x" ? "y" : "x"; + copyAxisInto(isShared + ? snapshot.measuredBox[snapAxis] + : snapshot.layoutBox[snapAxis], layout[snapAxis]); + } + else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) { + eachAxis((axis) => { + const axisSnapshot = isShared + ? snapshot.measuredBox[axis] + : snapshot.layoutBox[axis]; + const length = calcLength(layout[axis]); + axisSnapshot.max = axisSnapshot.min + length; + /** + * Ensure relative target gets resized and rerendererd + */ + if (node.relativeTarget && !node.currentAnimation) { + node.isProjectionDirty = true; + node.relativeTarget[axis].max = + node.relativeTarget[axis].min + length; + } + }); + } + const layoutDelta = createDelta(); + calcBoxDelta(layoutDelta, layout, snapshot.layoutBox); + const visualDelta = createDelta(); + if (isShared) { + calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox); + } + else { + calcBoxDelta(visualDelta, layout, snapshot.layoutBox); + } + const hasLayoutChanged = !isDeltaZero(layoutDelta); + let hasRelativeLayoutChanged = false; + if (!node.resumeFrom) { + const relativeParent = node.getClosestProjectingParent(); + /** + * If the relativeParent is itself resuming from a different element then + * the relative snapshot is not relavent + */ + if (relativeParent && !relativeParent.resumeFrom) { + const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent; + if (parentSnapshot && parentLayout) { + const anchor = node.options.layoutAnchor || undefined; + const relativeSnapshot = createBox(); + calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox, anchor); + const relativeLayout = createBox(); + calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox, anchor); + if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) { + hasRelativeLayoutChanged = true; + } + if (relativeParent.options.layoutRoot) { + node.relativeTarget = relativeLayout; + node.relativeTargetOrigin = relativeSnapshot; + node.relativeParent = relativeParent; + } + } + } + } + node.notifyListeners("didUpdate", { + layout, + snapshot, + delta: visualDelta, + layoutDelta, + hasLayoutChanged, + hasRelativeLayoutChanged, + }); + } + else if (node.isLead()) { + const { onExitComplete } = node.options; + onExitComplete && onExitComplete(); + } + /** + * Clearing transition + * TODO: Investigate why this transition is being passed in as {type: false } from Framer + * and why we need it at all + */ + node.options.transition = undefined; +} +function propagateDirtyNodes(node) { + /** + * Increase debug counter for nodes encountered this frame + */ + if (statsBuffer.value) { + metrics.nodes++; + } + if (!node.parent) + return; + /** + * If this node isn't projecting, propagate isProjectionDirty. It will have + * no performance impact but it will allow the next child that *is* projecting + * but *isn't* dirty to just check its parent to see if *any* ancestor needs + * correcting. + */ + if (!node.isProjecting()) { + node.isProjectionDirty = node.parent.isProjectionDirty; + } + /** + * Propagate isSharedProjectionDirty and isTransformDirty + * throughout the whole tree. A future revision can take another look at + * this but for safety we still recalcualte shared nodes. + */ + node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty || + node.parent.isProjectionDirty || + node.parent.isSharedProjectionDirty)); + node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty); +} +function cleanDirtyNodes(node) { + node.isProjectionDirty = + node.isSharedProjectionDirty = + node.isTransformDirty = + false; +} +function clearSnapshot(node) { + node.clearSnapshot(); +} +function clearMeasurements(node) { + node.clearMeasurements(); +} +function forceLayoutMeasure(node) { + node.isLayoutDirty = true; + node.updateLayout(); +} +function clearIsLayoutDirty(node) { + node.isLayoutDirty = false; +} +/** + * A dragged node doesn't layout animate, so it jumps to its new layout. Shift + * its descendants' snapshots by the same amount, so they only animate layout + * changes relative to it, rather than lagging behind. + */ +function followDraggedAncestor(node) { + const { snapshot, dragAncestor } = node; + const to = dragAncestor?.layout; + if (!snapshot || !to || node.resumeFrom || node.isAnimationBlocked) + return; + const from = dragAncestor.dragSnapshot; + eachAxis((axis) => translateAxis(snapshot.layoutBox[axis], to.layoutBox[axis].min - from.layoutBox[axis].min)); +} +/** + * When a node is animation-blocked (e.g. during drag) and its component + * didn't re-render (memoized), willUpdate() is never called so there's + * no snapshot. Use the previous layout as a snapshot and mark dirty so + * resetTransform/updateLayout/notifyLayoutUpdate process it normally. + */ +function ensureDraggedNodesSnapshotted(node) { + if (node.isAnimationBlocked && node.layout && !node.isLayoutDirty) { + node.snapshot = node.dragSnapshot || node.layout; + node.isLayoutDirty = true; + } +} +/** + * If a node's relative parent is about to be re-measured but the node isn't + * (e.g. it's in another LayoutGroup), its relative target is out of date. + * If it's layout animating, re-measure it too, so its relative target keeps + * resolving against current layouts. Otherwise its layout is still valid + * relative to its parent, so drop the relative target, and any targetDelta + * left over from a finished animation while an ancestor still animates, to be + * rebuilt from its layout. + */ +function syncRelativeLayout(node) { + if (node.relativeTarget && node.relativeParent?.isLayoutDirty) { + if (node.currentAnimation) { + node.isLayoutDirty = true; + } + else { + node.targetDelta = undefined; + node.removeRelativeTarget(); + } + } +} +function resetTransformStyle(node) { + const { visualElement } = node.options; + if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) { + visualElement.notify("BeforeLayoutMeasure"); + } + node.resetTransform(); +} +function finishAnimation(node) { + node.finishAnimation(); + node.targetDelta = node.relativeTarget = node.target = undefined; + node.isProjectionDirty = true; +} +function resolveTargetDelta(node) { + node.resolveTargetDelta(); +} +function calcProjection(node) { + node.calcProjection(); +} +function resetSkewAndRotation(node) { + node.resetSkewAndRotation(); +} +function mixAxisDeltaLinear(output, delta, p) { + output.translate = mixNumber(delta.translate, 0, p); + output.scale = mixNumber(delta.scale, 1, p); + output.origin = delta.origin; + output.originPoint = delta.originPoint; +} +function mixAxis(output, from, to, p) { + output.min = mixNumber(from.min, to.min, p); + output.max = mixNumber(from.max, to.max, p); +} +function mixBox(output, from, to, p) { + mixAxis(output.x, from.x, to.x, p); + mixAxis(output.y, from.y, to.y, p); +} +function hasOpacityCrossfade(node) { + return (node.animationValues && node.animationValues.opacityExit !== undefined); +} +const defaultLayoutTransition = { + duration: 0.45, + ease: [0.4, 0, 0.1, 1], +}; +const userAgentContains = (string) => typeof navigator !== "undefined" && + navigator.userAgent && + navigator.userAgent.toLowerCase().includes(string); +/** + * Measured bounding boxes must be rounded in Safari and + * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements + * can appear to jump. + */ +const roundPoint = userAgentContains("applewebkit/") && !userAgentContains("chrome/") + ? Math.round + : noop; +function roundAxis(axis) { + // Round to the nearest .5 pixels to support subpixel layouts + axis.min = roundPoint(axis.min); + axis.max = roundPoint(axis.max); +} +function roundBox(box) { + roundAxis(box.x); + roundAxis(box.y); +} +function shouldAnimatePositionOnly(animationType, snapshot, layout) { + return (animationType === "position" || + (animationType === "preserve-aspect" && + !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2))); +} +function checkNodeWasScrollRoot(node) { + return node !== node.root && node.scroll?.wasRoot; +} + +export { cleanDirtyNodes, createProjectionNode, mixAxis, mixBox, propagateDirtyNodes }; +//# sourceMappingURL=create-projection-node.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/group.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/group.mjs new file mode 100644 index 0000000..ad789a5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/group.mjs @@ -0,0 +1,25 @@ +const notify = (node) => !node.isLayoutDirty && node.willUpdate(false); +function nodeGroup() { + const nodes = new Set(); + const subscriptions = new WeakMap(); + const dirtyAll = () => nodes.forEach(notify); + return { + add: (node) => { + nodes.add(node); + subscriptions.set(node, node.addEventListener("willUpdate", dirtyAll)); + }, + remove: (node) => { + nodes.delete(node); + const unsubscribe = subscriptions.get(node); + if (unsubscribe) { + unsubscribe(); + subscriptions.delete(node); + } + dirtyAll(); + }, + dirty: dirtyAll, + }; +} + +export { nodeGroup }; +//# sourceMappingURL=group.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/state.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/state.mjs new file mode 100644 index 0000000..5ad856c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/node/state.mjs @@ -0,0 +1,20 @@ +/** + * This should only ever be modified on the client otherwise it'll + * persist through server requests. If we need instanced states we + * could lazy-init via root. + */ +const globalProjectionState = { + /** + * Global flag as to whether the tree has animated since the last time + * we resized the window + */ + hasAnimatedSinceResize: true, + /** + * We set this to true once, on the first update. Any nodes added to the tree beyond that + * update will be given a `data-projection-id` attribute. + */ + hasEverUpdated: false, +}; + +export { globalProjectionState }; +//# sourceMappingURL=state.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/shared/stack.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/shared/stack.mjs new file mode 100644 index 0000000..3dd23ec --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/shared/stack.mjs @@ -0,0 +1,85 @@ +import { addUniqueItem, removeItem } from 'motion-utils'; + +class NodeStack { + constructor() { + this.members = []; + } + add(node) { + addUniqueItem(this.members, node); + for (let i = this.members.length - 1; i >= 0; i--) { + const member = this.members[i]; + if (member === node || member === this.lead || member === this.prevLead) + continue; + const inst = member.instance; + if ((!inst || inst.isConnected === false) && !member.snapshot) { + removeItem(this.members, member); + member.unmount(); + } + } + node.scheduleRender(); + } + remove(node) { + removeItem(this.members, node); + if (node === this.prevLead) + this.prevLead = undefined; + if (node === this.lead) { + const prevLead = this.members[this.members.length - 1]; + if (prevLead) + this.promote(prevLead); + } + } + relegate(node) { + for (let i = this.members.indexOf(node) - 1; i >= 0; i--) { + const member = this.members[i]; + if (member.isPresent !== false && member.instance?.isConnected !== false) { + this.promote(member); + return true; + } + } + return false; + } + promote(node, preserveFollowOpacity) { + const prevLead = this.lead; + if (node === prevLead) + return; + this.prevLead = prevLead; + this.lead = node; + node.show(); + if (prevLead) { + prevLead.updateSnapshot(); + node.scheduleRender(); + const { layoutDependency: prevDep } = prevLead.options; + const { layoutDependency: nextDep } = node.options; + if (prevDep === undefined || prevDep !== nextDep) { + node.resumeFrom = prevLead; + if (preserveFollowOpacity) + prevLead.preserveOpacity = true; + if (prevLead.snapshot) { + node.snapshot = prevLead.snapshot; + node.snapshot.latestValues = + prevLead.animationValues || prevLead.latestValues; + } + if (node.root?.isUpdating) + node.isLayoutDirty = true; + } + if (node.options.crossfade === false) + prevLead.hide(); + } + } + exitAnimationComplete() { + this.members.forEach((member) => { + member.options.onExitComplete?.(); + member.resumingFrom?.options.onExitComplete?.(); + }); + } + scheduleRender() { + this.members.forEach((member) => member.instance && member.scheduleRender(false)); + } + removeLeadSnapshot() { + if (this.lead?.snapshot) + this.lead.snapshot = undefined; + } +} + +export { NodeStack }; +//# sourceMappingURL=stack.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs new file mode 100644 index 0000000..6a99a72 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/default-scale-correctors.mjs @@ -0,0 +1,18 @@ +import { cornerRadiusProps } from '../../utils/border-radius.mjs'; +import { correctBorderRadius } from './scale-border-radius.mjs'; +import { correctBoxShadow } from './scale-box-shadow.mjs'; + +const defaultScaleCorrectors = { + borderRadius: { + ...correctBorderRadius, + applyTo: [...cornerRadiusProps], + }, + borderTopLeftRadius: correctBorderRadius, + borderTopRightRadius: correctBorderRadius, + borderBottomLeftRadius: correctBorderRadius, + borderBottomRightRadius: correctBorderRadius, + boxShadow: correctBoxShadow, +}; + +export { defaultScaleCorrectors }; +//# sourceMappingURL=default-scale-correctors.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs new file mode 100644 index 0000000..769cd50 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs @@ -0,0 +1,42 @@ +import { px } from '../../value/types/numbers/units.mjs'; + +function pixelsToPercent(pixels, axis) { + if (axis.max === axis.min) + return 0; + return (pixels / (axis.max - axis.min)) * 100; +} +/** + * We always correct borderRadius as a percentage rather than pixels to reduce paints. + * For example, if you are projecting a box that is 100px wide with a 10px borderRadius + * into a box that is 200px wide with a 20px borderRadius, that is actually a 10% + * borderRadius in both states. If we animate between the two in pixels that will trigger + * a paint each time. If we animate between the two in percentage we'll avoid a paint. + */ +const correctBorderRadius = { + correct: (latest, node) => { + if (!node.target) + return latest; + /** + * If latest is a string, if it's a percentage we can return immediately as it's + * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number. + */ + if (typeof latest === "string") { + if (px.test(latest)) { + latest = parseFloat(latest); + } + else { + return latest; + } + } + /** + * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that + * pixel value as a percentage of each axis + */ + const x = pixelsToPercent(latest, node.target.x); + const y = pixelsToPercent(latest, node.target.y); + return `${x}% ${y}%`; + }, +}; + +export { correctBorderRadius, pixelsToPercent }; +//# sourceMappingURL=scale-border-radius.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs new file mode 100644 index 0000000..8d6464f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs @@ -0,0 +1,36 @@ +import { complex } from '../../value/types/complex/index.mjs'; +import { mixNumber } from '../../utils/mix/number.mjs'; + +const correctBoxShadow = { + correct: (latest, { treeScale, projectionDelta }) => { + const original = latest; + const shadow = complex.parse(latest); + // TODO: Doesn't support multiple shadows + if (shadow.length > 5) + return original; + const template = complex.createTransformer(latest); + const offset = typeof shadow[0] !== "number" ? 1 : 0; + // Calculate the overall context scale + const xScale = projectionDelta.x.scale * treeScale.x; + const yScale = projectionDelta.y.scale * treeScale.y; + shadow[0 + offset] /= xScale; + shadow[1 + offset] /= yScale; + /** + * Ideally we'd correct x and y scales individually, but because blur and + * spread apply to both we have to take a scale average and apply that instead. + * We could potentially improve the outcome of this by incorporating the ratio between + * the two scales. + */ + const averageScale = mixNumber(xScale, yScale, 0.5); + // Blur + if (typeof shadow[2 + offset] === "number") + shadow[2 + offset] /= averageScale; + // Spread + if (typeof shadow[3 + offset] === "number") + shadow[3 + offset] /= averageScale; + return template(shadow); + }, +}; + +export { correctBoxShadow }; +//# sourceMappingURL=scale-box-shadow.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs new file mode 100644 index 0000000..69e001f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs @@ -0,0 +1,14 @@ +import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs'; + +const scaleCorrectors = {}; +function addScaleCorrector(correctors) { + for (const key in correctors) { + scaleCorrectors[key] = correctors[key]; + if (isCSSVariableName(key)) { + scaleCorrectors[key].isCSSVariable = true; + } + } +} + +export { addScaleCorrector, scaleCorrectors }; +//# sourceMappingURL=scale-correction.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/transform.mjs new file mode 100644 index 0000000..40732d0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/styles/transform.mjs @@ -0,0 +1,55 @@ +function buildProjectionTransform(delta, treeScale, latestTransform) { + let transform = ""; + /** + * The translations we use to calculate are always relative to the viewport coordinate space. + * But when we apply scales, we also scale the coordinate space of an element and its children. + * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need + * to move an element 100 pixels, we actually need to move it 200 in within that scaled space. + */ + const xTranslate = delta.x.translate / treeScale.x; + const yTranslate = delta.y.translate / treeScale.y; + const zTranslate = latestTransform?.z || 0; + if (xTranslate || yTranslate || zTranslate) { + transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `; + } + /** + * Apply scale correction for the tree transform. + * This will apply scale to the screen-orientated axes. + */ + if (treeScale.x !== 1 || treeScale.y !== 1) { + transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `; + } + if (latestTransform) { + const { transformPerspective, rotate, pathRotation, rotateX, rotateY, rotateZ, skewX, skewY, } = latestTransform; + if (transformPerspective) + transform = `perspective(${transformPerspective}px) ${transform}`; + if (rotate) + transform += `rotate(${rotate}deg) `; + // Additive `rotate()` so user `rotate` isn't clobbered. + if (pathRotation) + transform += `rotate(${pathRotation}deg) `; + if (rotateX) + transform += `rotateX(${rotateX}deg) `; + if (rotateY) + transform += `rotateY(${rotateY}deg) `; + if (rotateZ) + transform += `rotateZ(${rotateZ}deg) `; + if (skewX) + transform += `skewX(${skewX}deg) `; + if (skewY) + transform += `skewY(${skewY}deg) `; + } + /** + * Apply scale to match the size of the element to the size we want it. + * This will apply scale to the element-orientated axes. + */ + const elementScaleX = delta.x.scale * treeScale.x; + const elementScaleY = delta.y.scale * treeScale.y; + if (elementScaleX !== 1 || elementScaleY !== 1) { + transform += `scale(${elementScaleX}, ${elementScaleY})`; + } + return transform || "none"; +} + +export { buildProjectionTransform }; +//# sourceMappingURL=transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs new file mode 100644 index 0000000..463a184 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs @@ -0,0 +1,4 @@ +const compareByDepth = (a, b) => a.depth - b.depth; + +export { compareByDepth }; +//# sourceMappingURL=compare-by-depth.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs new file mode 100644 index 0000000..00e4c66 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs @@ -0,0 +1,6 @@ +function eachAxis(callback) { + return [callback("x"), callback("y")]; +} + +export { eachAxis }; +//# sourceMappingURL=each-axis.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs new file mode 100644 index 0000000..d9d6817 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs @@ -0,0 +1,25 @@ +import { addUniqueItem, removeItem } from 'motion-utils'; +import { compareByDepth } from './compare-by-depth.mjs'; + +class FlatTree { + constructor() { + this.children = []; + this.isDirty = false; + } + add(child) { + addUniqueItem(this.children, child); + this.isDirty = true; + } + remove(child) { + removeItem(this.children, child); + this.isDirty = true; + } + forEach(callback) { + this.isDirty && this.children.sort(compareByDepth); + this.isDirty = false; + this.children.forEach(callback); + } +} + +export { FlatTree }; +//# sourceMappingURL=flat-tree.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs new file mode 100644 index 0000000..b684a28 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs @@ -0,0 +1,28 @@ +function isIdentityScale(scale) { + return scale === undefined || scale === 1; +} +function hasScale({ scale, scaleX, scaleY }) { + return (!isIdentityScale(scale) || + !isIdentityScale(scaleX) || + !isIdentityScale(scaleY)); +} +function hasTransform(values) { + return (hasScale(values) || + has2DTranslate(values) || + values.z || + values.rotate || + values.rotateX || + values.rotateY || + values.rotateZ || + values.skewX || + values.skewY); +} +function has2DTranslate(values) { + return is2DTranslate(values.x) || is2DTranslate(values.y); +} +function is2DTranslate(value) { + return value && value !== "0%"; +} + +export { has2DTranslate, hasScale, hasTransform }; +//# sourceMappingURL=has-transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/measure.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/measure.mjs new file mode 100644 index 0000000..33e0a65 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/projection/utils/measure.mjs @@ -0,0 +1,18 @@ +import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs'; +import { translateAxis } from '../geometry/delta-apply.mjs'; + +function measureViewportBox(instance, transformPoint) { + return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint)); +} +function measurePageBox(element, rootProjectionNode, transformPagePoint) { + const viewportBox = measureViewportBox(element, transformPagePoint); + const { scroll } = rootProjectionNode; + if (scroll) { + translateAxis(viewportBox.x, scroll.offset.x); + translateAxis(viewportBox.y, scroll.offset.y); + } + return viewportBox; +} + +export { measurePageBox, measureViewportBox }; +//# sourceMappingURL=measure.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/Feature.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/Feature.mjs new file mode 100644 index 0000000..d614c3c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/Feature.mjs @@ -0,0 +1,15 @@ +/** + * Feature base class for extending VisualElement functionality. + * Features are plugins that can be mounted/unmounted to add behavior + * like gestures, animations, or layout tracking. + */ +class Feature { + constructor(node) { + this.isMounted = false; + this.node = node; + } + update() { } +} + +export { Feature }; +//# sourceMappingURL=Feature.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/VisualElement.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/VisualElement.mjs new file mode 100644 index 0000000..f8e8cd6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/VisualElement.mjs @@ -0,0 +1,552 @@ +import { warnOnce, secondsToMilliseconds, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils'; +import { KeyframeResolver } from '../animation/keyframes/KeyframesResolver.mjs'; +import { NativeAnimation } from '../animation/NativeAnimation.mjs'; +import { acceleratedValues } from '../animation/waapi/utils/accelerated-values.mjs'; +import { transformGroups } from '../animation/waapi/transforms/groups.mjs'; +import { microtask } from '../frameloop/microtask.mjs'; +import { time } from '../frameloop/sync-time.mjs'; +import { createBox } from '../projection/geometry/models.mjs'; +import { motionValue } from '../value/index.mjs'; +import { complex } from '../value/types/complex/index.mjs'; +import { getAnimatableNone } from '../value/types/utils/animatable-none.mjs'; +import { isMotionValue } from '../value/utils/is-motion-value.mjs'; +import { visualElementStore } from './store.mjs'; +import { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs'; +import { transformProps } from './utils/keys-transform.mjs'; +import { updateMotionValuesFromProps } from './utils/motion-values.mjs'; +import { initPrefersReducedMotion } from './utils/reduced-motion/index.mjs'; +import { hasReducedMotionListener, prefersReducedMotion } from './utils/reduced-motion/state.mjs'; +import { frame, cancelFrame } from '../frameloop/frame.mjs'; + +const propEventHandlers = [ + "AnimationStart", + "AnimationComplete", + "Update", + "BeforeLayoutMeasure", + "LayoutMeasure", + "LayoutAnimationStart", + "LayoutAnimationComplete", +]; +/** + * Static feature definitions - can be injected by framework layer + */ +let featureDefinitions = {}; +/** + * Set feature definitions for all VisualElements. + * This should be called by the framework layer (e.g., framer-motion) during initialization. + */ +function setFeatureDefinitions(definitions) { + featureDefinitions = definitions; +} +/** + * Get the current feature definitions + */ +function getFeatureDefinitions() { + return featureDefinitions; +} +/** + * A VisualElement is an imperative abstraction around UI elements such as + * HTMLElement, SVGElement, Three.Object3D etc. + */ +class VisualElement { + /** + * This method takes React props and returns found MotionValues. For example, HTML + * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays. + * + * This isn't an abstract method as it needs calling in the constructor, but it is + * intended to be one. + */ + scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) { + return {}; + } + constructor({ parent, props, presenceContext, reducedMotionConfig, skipAnimations, blockInitialAnimation, visualState, }, options = {}) { + /** + * A reference to the current underlying Instance, e.g. a HTMLElement + * or Three.Mesh etc. + */ + this.current = null; + /** + * A set containing references to this VisualElement's children. + */ + this.children = new Set(); + /** + * Determine what role this visual element should take in the variant tree. + */ + this.isVariantNode = false; + this.isControllingVariants = false; + /** + * Decides whether this VisualElement should animate in reduced motion + * mode. + * + * TODO: This is currently set on every individual VisualElement but feels + * like it could be set globally. + */ + this.shouldReduceMotion = null; + /** + * Decides whether animations should be skipped for this VisualElement. + * Useful for E2E tests and visual regression testing. + */ + this.shouldSkipAnimations = false; + /** + * A map of all motion values attached to this visual element. Motion + * values are source of truth for any given animated value. A motion + * value might be provided externally by the component via props. + */ + this.values = new Map(); + this.KeyframeResolver = KeyframeResolver; + /** + * Cleanup functions for active features (hover/tap/exit etc) + */ + this.features = {}; + /** + * A map of every subscription that binds the provided or generated + * motion values onChange listeners to this visual element. + */ + this.valueSubscriptions = new Map(); + /** + * A reference to the previously-provided motion values as returned + * from scrapeMotionValuesFromProps. We use the keys in here to determine + * if any motion values need to be removed after props are updated. + */ + this.prevMotionValues = {}; + /** + * Track whether this element has been mounted before, to detect + * remounts after Suspense unmount/remount cycles. + */ + this.hasBeenMounted = false; + /** + * An object containing a SubscriptionManager for each active event. + */ + this.events = {}; + /** + * An object containing an unsubscribe function for each prop event subscription. + * For example, every "Update" event can have multiple subscribers via + * VisualElement.on(), but only one of those can be defined via the onUpdate prop. + */ + this.propEventSubscriptions = {}; + this.notifyUpdate = () => this.notify("Update", this.latestValues); + this.render = () => { + if (!this.current) + return; + this.triggerBuild(); + this.renderInstance(this.current, this.renderState, this.props.style, this.projection); + }; + this.renderScheduledAt = 0.0; + this.scheduleRender = () => { + const now = time.now(); + if (this.renderScheduledAt < now) { + this.renderScheduledAt = now; + frame.render(this.render, false, true); + } + }; + const { latestValues, renderState } = visualState; + this.latestValues = latestValues; + this.baseTarget = { ...latestValues }; + this.initialValues = props.initial ? { ...latestValues } : {}; + this.renderState = renderState; + this.parent = parent; + this.props = props; + this.presenceContext = presenceContext; + this.depth = parent ? parent.depth + 1 : 0; + this.reducedMotionConfig = reducedMotionConfig; + this.skipAnimationsConfig = skipAnimations; + this.options = options; + this.blockInitialAnimation = Boolean(blockInitialAnimation); + this.isControllingVariants = isControllingVariants(props); + this.isVariantNode = isVariantNode(props); + if (this.isVariantNode) { + this.variantChildren = new Set(); + } + this.manuallyAnimateOnMount = Boolean(parent && parent.current); + /** + * Any motion values that are provided to the element when created + * aren't yet bound to the element, as this would technically be impure. + * However, we iterate through the motion values and set them to the + * initial values for this component. + * + * TODO: This is impure and we should look at changing this to run on mount. + * Doing so will break some tests but this isn't necessarily a breaking change, + * more a reflection of the test. + */ + const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this); + for (const key in initialMotionValues) { + const value = initialMotionValues[key]; + if (latestValues[key] !== undefined && isMotionValue(value)) { + value.set(latestValues[key]); + } + } + } + mount(instance) { + /** + * If this element has been mounted before (e.g. after a Suspense + * unmount/remount), reset motion values to their initial state + * so animations replay correctly from initial → animate. + */ + if (this.hasBeenMounted) { + for (const key in this.initialValues) { + this.values.get(key)?.jump(this.initialValues[key]); + this.latestValues[key] = this.initialValues[key]; + } + } + this.current = instance; + visualElementStore.set(instance, this); + if (this.projection && !this.projection.instance) { + this.projection.mount(instance); + } + /** + * Join the closest variant node above, so its variant changes + * propagate here, unless inherit={false} cuts the chain. + */ + if (this.isVariantNode && !this.isControllingVariants) { + let node = this; + do + node = node.props.inherit !== false && node.parent; + while (node && !node.isVariantNode); + if (node) { + const { variantChildren } = node; + variantChildren.add(this); + this.removeFromVariantTree = () => variantChildren.delete(this); + } + } + this.values.forEach((value, key) => this.bindToMotionValue(key, value)); + /** + * Determine reduced motion preference. Only initialize the matchMedia + * listener if we actually need the dynamic value (i.e., when config + * is neither "never" nor "always"). + */ + if (this.reducedMotionConfig === "never") { + this.shouldReduceMotion = false; + } + else if (this.reducedMotionConfig === "always") { + this.shouldReduceMotion = true; + } + else { + if (!hasReducedMotionListener.current) { + initPrefersReducedMotion(); + } + this.shouldReduceMotion = prefersReducedMotion.current; + } + if (process.env.NODE_ENV !== "production") { + warnOnce(this.shouldReduceMotion !== true, "You have Reduced Motion enabled on your device. Animations may not appear as expected.", "reduced-motion-disabled"); + } + /** + * Set whether animations should be skipped based on the config. + */ + this.shouldSkipAnimations = this.skipAnimationsConfig ?? false; + this.parent?.addChild(this); + this.update(this.props, this.presenceContext); + this.hasBeenMounted = true; + } + unmount() { + this.projection && this.projection.unmount(); + cancelFrame(this.notifyUpdate); + cancelFrame(this.render); + this.valueSubscriptions.forEach((remove) => remove()); + this.valueSubscriptions.clear(); + this.removeFromVariantTree && this.removeFromVariantTree(); + this.parent?.removeChild(this); + for (const key in this.events) { + this.events[key].clear(); + } + for (const key in this.features) { + const feature = this.features[key]; + if (feature) { + feature.unmount(); + feature.isMounted = false; + } + } + this.current = null; + } + addChild(child) { + this.children.add(child); + this.enteringChildren ?? (this.enteringChildren = new Set()); + this.enteringChildren.add(child); + } + removeChild(child) { + this.children.delete(child); + this.enteringChildren && this.enteringChildren.delete(child); + } + bindToMotionValue(key, value) { + if (this.valueSubscriptions.has(key)) { + this.valueSubscriptions.get(key)(); + } + if (value.accelerate && + acceleratedValues.has(key) && + this.current instanceof HTMLElement) { + const { factory, keyframes, times, ease, duration } = value.accelerate; + const animation = new NativeAnimation({ + element: this.current, + name: key, + keyframes, + times, + ease, + duration: secondsToMilliseconds(duration), + }); + const cleanup = factory(animation); + this.valueSubscriptions.set(key, () => { + cleanup(); + animation.cancel(); + }); + return; + } + const valueIsTransform = transformProps.has(key); + if (valueIsTransform && this.onBindTransform) { + this.onBindTransform(); + } + const removeOnChange = value.on("change", (latestValue) => { + this.latestValues[key] = latestValue; + this.props.onUpdate && frame.preRender(this.notifyUpdate); + if (valueIsTransform) { + if (this.projection) { + this.projection.isTransformDirty = true; + } + transformGroups.get(this.current)?.check(); + } + this.scheduleRender(); + }); + let removeSyncCheck; + if (typeof window !== "undefined" && + window.MotionCheckAppearSync) { + removeSyncCheck = window.MotionCheckAppearSync(this, key, value); + } + this.valueSubscriptions.set(key, () => { + removeOnChange(); + if (removeSyncCheck) + removeSyncCheck(); + // Defer to MotionValue.on("change") auto-stop so React 19 remounts + // can resubscribe before the animation is cancelled (#3315). + }); + } + sortNodePosition(other) { + /** + * If either node isn't mounted, or they aren't even of the same type, + * we can't compare their document order. + */ + if (!this.current || + !other.current || + !this.sortInstanceNodePosition || + this.type !== other.type) { + return 0; + } + return this.sortInstanceNodePosition(this.current, other.current); + } + updateFeatures() { + let key = "animation"; + for (key in featureDefinitions) { + const featureDefinition = featureDefinitions[key]; + if (!featureDefinition) + continue; + const { isEnabled, Feature: FeatureConstructor } = featureDefinition; + /** + * If this feature is enabled but not active, make a new instance. + */ + if (!this.features[key] && + FeatureConstructor && + isEnabled(this.props)) { + this.features[key] = new FeatureConstructor(this); + } + /** + * If we have a feature, mount or update it. + */ + if (this.features[key]) { + const feature = this.features[key]; + if (feature.isMounted) { + feature.update(); + } + else { + feature.mount(); + feature.isMounted = true; + } + } + } + } + triggerBuild() { + this.build(this.renderState, this.latestValues, this.props); + } + /** + * Measure the current viewport box with or without transforms. + * Only measures axis-aligned boxes, rotate and skew must be manually + * removed with a re-render to work. + */ + measureViewportBox() { + return this.current + ? this.measureInstanceViewportBox(this.current, this.props) + : createBox(); + } + getStaticValue(key) { + return this.latestValues[key]; + } + setStaticValue(key, value) { + this.latestValues[key] = value; + } + /** + * Update the provided props. Ensure any newly-added motion values are + * added to our map, old ones removed, and listeners updated. + */ + update(props, presenceContext) { + const { transformTemplate, onUpdate } = this.props; + if (props.transformTemplate || transformTemplate) { + this.scheduleRender(); + } + /** + * Transforms on the compositor can't use a new transformTemplate + * or onUpdate, so move them to the main thread. + */ + if ((props.transformTemplate && !transformTemplate) || + (props.onUpdate && !onUpdate)) { + transformGroups.get(this.current)?.demote(); + } + this.prevProps = this.props; + this.props = props; + this.prevPresenceContext = this.presenceContext; + this.presenceContext = presenceContext; + /** + * Update prop event handlers ie onAnimationStart, onAnimationComplete + */ + for (let i = 0; i < propEventHandlers.length; i++) { + const key = propEventHandlers[i]; + if (this.propEventSubscriptions[key]) { + this.propEventSubscriptions[key](); + delete this.propEventSubscriptions[key]; + } + const listenerName = ("on" + key); + const listener = props[listenerName]; + if (listener) { + this.propEventSubscriptions[key] = this.on(key, listener); + } + } + this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps || {}, this), this.prevMotionValues); + if (this.handleChildMotionValue) { + this.handleChildMotionValue(); + } + } + getProps() { + return this.props; + } + /** + * Returns the variant definition with a given name. + */ + getVariant(name) { + return this.props.variants ? this.props.variants[name] : undefined; + } + /** + * Returns the defined default transition on this component. + */ + getDefaultTransition() { + return this.props.transition; + } + getTransformPagePoint() { + return this.props.transformPagePoint; + } + /** + * Add a motion value and bind it to this visual element. + */ + addValue(key, value) { + // Remove existing value if it exists + const existingValue = this.values.get(key); + if (value !== existingValue) { + if (existingValue) + this.removeValue(key); + this.bindToMotionValue(key, value); + this.values.set(key, value); + /** + * An animated value with no base value is undefined until the + * keyframe resolver reads its origin. Rendering it before then + * writes an invalid placeholder (e.g. points="undefined") that + * the resolver can read back from the DOM as the origin. + */ + const latest = value.get(); + if (latest !== undefined) + this.latestValues[key] = latest; + } + } + /** + * Remove a motion value and unbind any active subscriptions. + */ + removeValue(key) { + this.values.delete(key); + const unsubscribe = this.valueSubscriptions.get(key); + if (unsubscribe) { + unsubscribe(); + this.valueSubscriptions.delete(key); + } + delete this.latestValues[key]; + this.removeValueFromRenderState(key, this.renderState); + } + /** + * Check whether we have a motion value for this key + */ + hasValue(key) { + return this.values.has(key); + } + getValue(key, defaultValue) { + if (this.props.values && this.props.values[key]) { + return this.props.values[key]; + } + let value = this.values.get(key); + if (value === undefined && defaultValue !== undefined) { + value = motionValue(defaultValue ?? this.getDefaultValue?.(key), { + owner: this, + }); + this.addValue(key, value); + } + return value; + } + /** + * If we're trying to animate to a previously unencountered value, + * we need to check for it in our state and as a last resort read it + * directly from the instance (which might have performance implications). + */ + readValue(key, target) { + let value = this.latestValues[key] !== undefined || !this.current + ? this.latestValues[key] + : this.getBaseTargetFromProps(this.props, key) ?? + this.readValueFromInstance(this.current, key, this.options); + if (value !== undefined && value !== null) { + if (typeof value === "string" && + (isNumericalString(value) || isZeroValueString(value))) { + // If this is a number read as a string, ie "0" or "200", convert it to a number + value = parseFloat(value); + } + else if ( + /** + * If the value as read isn't animatable (e.g. "none") but + * the target is, derive an animatable none from the target. + * A value is animatable if it's a number or contains a + * number or color, which is cheaper to check than trying + * every value type in turn. + */ + typeof value !== "number" && + !complex.test(value) && + complex.test(target)) { + value = getAnimatableNone(key, target); + } + this.setBaseTarget(key, isMotionValue(value) ? value.get() : value); + } + return isMotionValue(value) ? value.get() : value; + } + /** + * Set the base target to later animate back to. This is currently + * only hydrated on creation and when we first read a value. + */ + setBaseTarget(key, value) { + this.baseTarget[key] = value; + } + on(eventName, callback) { + if (!this.events[eventName]) { + this.events[eventName] = new SubscriptionManager(); + } + return this.events[eventName].add(callback); + } + notify(eventName, ...args) { + if (this.events[eventName]) { + this.events[eventName].notify(...args); + } + } + scheduleRenderMicrotask() { + microtask.render(this.render); + } +} + +export { VisualElement, getFeatureDefinitions, setFeatureDefinitions }; +//# sourceMappingURL=VisualElement.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs new file mode 100644 index 0000000..5008a8e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs @@ -0,0 +1,43 @@ +import { isMotionValue } from '../../value/utils/is-motion-value.mjs'; +import { DOMKeyframesResolver } from '../../animation/keyframes/DOMKeyframesResolver.mjs'; +import { VisualElement } from '../VisualElement.mjs'; + +class DOMVisualElement extends VisualElement { + constructor() { + super(...arguments); + this.KeyframeResolver = DOMKeyframesResolver; + } + sortInstanceNodePosition(a, b) { + /** + * compareDocumentPosition returns a bitmask, by using the bitwise & + * we're returning true if 2 in that bitmask is set to true. 2 is set + * to true if b precedes a. + */ + return a.compareDocumentPosition(b) & 2 ? 1 : -1; + } + getBaseTargetFromProps(props, key) { + const style = props.style; + return style ? style[key] : undefined; + } + removeValueFromRenderState(key, { vars, style }) { + delete vars[key]; + delete style[key]; + } + handleChildMotionValue() { + if (this.childSubscription) { + this.childSubscription(); + delete this.childSubscription; + } + const { children } = this.props; + if (isMotionValue(children)) { + this.childSubscription = children.on("change", (latest) => { + if (this.current) { + this.current.textContent = `${latest}`; + } + }); + } + } +} + +export { DOMVisualElement }; +//# sourceMappingURL=DOMVisualElement.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs new file mode 100644 index 0000000..7ee34f4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs @@ -0,0 +1,4 @@ +const isCSSVar = (name) => name.startsWith("--"); + +export { isCSSVar }; +//# sourceMappingURL=is-css-var.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs new file mode 100644 index 0000000..e5e6051 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs @@ -0,0 +1,86 @@ +const radToDeg = (rad) => (rad * 180) / Math.PI; +const rotate = (v) => { + const angle = radToDeg(Math.atan2(v[1], v[0])); + return rebaseAngle(angle); +}; +const matrix2dParsers = { + x: 4, + y: 5, + translateX: 4, + translateY: 5, + scaleX: 0, + scaleY: 3, + scaleZ: () => 1, + scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2, + rotate, + rotateZ: rotate, + skewX: (v) => radToDeg(Math.atan(v[1])), + skewY: (v) => radToDeg(Math.atan(v[2])), + skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2, +}; +const rebaseAngle = (angle) => { + angle = angle % 360; + if (angle < 0) + angle += 360; + return angle; +}; +const rotateZ = rotate; +const scaleX = (v) => Math.hypot(v[0], v[1]); +const scaleY = (v) => Math.hypot(v[4], v[5]); +const matrix3dParsers = { + x: 12, + y: 13, + z: 14, + translateX: 12, + translateY: 13, + translateZ: 14, + scaleX, + scaleY, + scaleZ: (v) => Math.hypot(v[8], v[9], v[10]), + scale: (v) => (scaleX(v) + scaleY(v)) / 2, + rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))), + rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))), + rotateZ, + rotate: rotateZ, + skewX: (v) => radToDeg(Math.atan(v[4])), + skewY: (v) => radToDeg(Math.atan(v[1])), + skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2, +}; +function defaultTransformValue(name) { + return name.includes("scale") ? 1 : 0; +} +function parseValueFromTransform(transform, name) { + if (!transform || transform === "none") { + return defaultTransformValue(name); + } + const matrix3dMatch = transform.match(/^matrix3d\(([-\d.e\s,]+)\)$/u); + let parsers; + let match; + if (matrix3dMatch) { + parsers = matrix3dParsers; + match = matrix3dMatch; + } + else { + const matrix2dMatch = transform.match(/^matrix\(([-\d.e\s,]+)\)$/u); + parsers = matrix2dParsers; + match = matrix2dMatch; + } + if (!match) { + return defaultTransformValue(name); + } + const valueParser = parsers[name]; + const values = match[1].split(",").map(convertTransformToNumber); + return typeof valueParser === "function" + ? valueParser(values) + : values[valueParser]; +} +const readTransformValue = (instance, name) => { + const { transform = "none" } = getComputedStyle(instance); + return parseValueFromTransform(transform, name); +}; +function convertTransformToNumber(value) { + return parseFloat(value.trim()); +} + +export { defaultTransformValue, parseValueFromTransform, readTransformValue }; +//# sourceMappingURL=parse-transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-computed.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-computed.mjs new file mode 100644 index 0000000..73002fb --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-computed.mjs @@ -0,0 +1,11 @@ +import { isCSSVar } from './is-css-var.mjs'; + +function getComputedStyle(element, name) { + const computedStyle = window.getComputedStyle(element); + return isCSSVar(name) + ? computedStyle.getPropertyValue(name) + : computedStyle[name]; +} + +export { getComputedStyle }; +//# sourceMappingURL=style-computed.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-set.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-set.mjs new file mode 100644 index 0000000..e4389cc --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/style-set.mjs @@ -0,0 +1,10 @@ +import { isCSSVar } from './is-css-var.mjs'; + +function setStyle(element, name, value) { + isCSSVar(name) + ? element.style.setProperty(name, value) + : (element.style[name] = value); +} + +export { setStyle }; +//# sourceMappingURL=style-set.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs new file mode 100644 index 0000000..aa8caef --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs @@ -0,0 +1,6 @@ +function camelToDash(str) { + return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`); +} + +export { camelToDash }; +//# sourceMappingURL=camel-to-dash.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs new file mode 100644 index 0000000..80604c6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs @@ -0,0 +1,55 @@ +import { invariant } from 'motion-utils'; +import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs'; +import { transformProps } from '../utils/keys-transform.mjs'; +import { defaultTransformValue, readTransformValue } from '../dom/parse-transform.mjs'; +import { measureViewportBox } from '../../projection/utils/measure.mjs'; +import { DOMVisualElement } from '../dom/DOMVisualElement.mjs'; +import { buildHTMLStyles } from './utils/build-styles.mjs'; +import { renderHTML } from './utils/render.mjs'; +import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs'; + +function getComputedStyle(element) { + return window.getComputedStyle(element); +} +class HTMLVisualElement extends DOMVisualElement { + constructor() { + super(...arguments); + this.type = "html"; + this.renderInstance = renderHTML; + } + mount(instance) { + /** + * If a custom component forwards its ref to something other than a + * HTML/SVG element (a class instance, an imperative handle) there's + * nothing for Motion to style, measure or attach gestures to. #2777 + */ + invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref"); + super.mount(instance); + } + readValueFromInstance(instance, key) { + if (transformProps.has(key)) { + return this.projection?.isProjecting + ? defaultTransformValue(key) + : readTransformValue(instance, key); + } + else { + const computedStyle = getComputedStyle(instance); + const value = (isCSSVariableName(key) + ? computedStyle.getPropertyValue(key) + : computedStyle[key]) || 0; + return typeof value === "string" ? value.trim() : value; + } + } + measureInstanceViewportBox(instance, { transformPagePoint }) { + return measureViewportBox(instance, transformPagePoint); + } + build(renderState, latestValues, props) { + buildHTMLStyles(renderState, latestValues, props.transformTemplate); + } + scrapeMotionValuesFromProps(props, prevProps, visualElement) { + return scrapeMotionValuesFromProps(props, prevProps, visualElement); + } +} + +export { HTMLVisualElement, getComputedStyle }; +//# sourceMappingURL=HTMLVisualElement.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs new file mode 100644 index 0000000..bd068f2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs @@ -0,0 +1,66 @@ +import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs'; +import { numberValueTypes } from '../../../value/types/maps/number.mjs'; +import { transformProps } from '../../utils/keys-transform.mjs'; +import { isCSSVariableName } from '../../../animation/utils/is-css-variable.mjs'; +import { buildTransform } from './build-transform.mjs'; + +function buildHTMLStyles(state, latestValues, transformTemplate) { + const { style, vars, transformOrigin } = state; + // Track whether we encounter any transform or transformOrigin values. + let hasTransform = false; + let hasTransformOrigin = false; + /** + * Loop over all our latest animated values and decide whether to handle them + * as a style or CSS variable. + * + * Transforms and transform origins are kept separately for further processing. + */ + for (const key in latestValues) { + const value = latestValues[key]; + if (transformProps.has(key)) { + // If this is a transform, flag to enable further transform processing + hasTransform = true; + continue; + } + else if (isCSSVariableName(key)) { + vars[key] = value; + continue; + } + else { + // Convert the value to its default value type, ie 0 -> "0px" + const valueAsType = getValueAsType(value, numberValueTypes[key]); + if (key.startsWith("origin")) { + // If this is a transform origin, flag and enable further transform-origin processing + hasTransformOrigin = true; + transformOrigin[key] = + valueAsType; + } + else { + style[key] = valueAsType; + } + } + } + if (!latestValues.transform) { + if (hasTransform || transformTemplate) { + style.transform = buildTransform(latestValues, state.transform, transformTemplate); + } + else if (style.transform) { + /** + * If we have previously created a transform but currently don't have any, + * reset transform style to none. + */ + style.transform = "none"; + } + } + /** + * Build a transformOrigin style. Uses the same defaults as the browser for + * undefined origins. + */ + if (hasTransformOrigin) { + const { originX = "50%", originY = "50%", originZ = 0, } = transformOrigin; + style.transformOrigin = `${originX} ${originY} ${originZ}`; + } +} + +export { buildHTMLStyles }; +//# sourceMappingURL=build-styles.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs new file mode 100644 index 0000000..701efbc --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs @@ -0,0 +1,72 @@ +import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs'; +import { numberValueTypes } from '../../../value/types/maps/number.mjs'; +import { transformPropOrder } from '../../utils/keys-transform.mjs'; + +const translateAlias = { + x: "translateX", + y: "translateY", + z: "translateZ", + transformPerspective: "perspective", +}; +const numTransforms = transformPropOrder.length; +/** + * Build a CSS transform style from individual x/y/scale etc properties. + * + * This outputs with a default order of transforms/scales/rotations, this can be customised by + * providing a transformTemplate function. + */ +function buildTransform(latestValues, transform, transformTemplate) { + // The transform string we're going to build into. + let transformString = ""; + let transformIsDefault = true; + /** + * Loop over all possible transforms in order, adding the ones that + * are present to the transform string. + */ + for (let i = 0; i < numTransforms; i++) { + const key = transformPropOrder[i]; + const value = latestValues[key]; + if (value === undefined) + continue; + let valueIsDefault = true; + if (typeof value === "number") { + valueIsDefault = value === (key.startsWith("scale") ? 1 : 0); + } + else { + const parsed = parseFloat(value); + valueIsDefault = key.startsWith("scale") ? parsed === 1 : parsed === 0; + } + if (!valueIsDefault || transformTemplate) { + const valueAsType = getValueAsType(value, numberValueTypes[key]); + if (!valueIsDefault) { + transformIsDefault = false; + const transformName = translateAlias[key] || key; + transformString += `${transformName}(${valueAsType}) `; + } + if (transformTemplate) { + transform[key] = valueAsType; + } + } + } + // `pathRotation` composes onto `rotate` as a separate additive term so + // the user's `rotate` is never clobbered. Deliberately not a slot in + // `transformPropOrder`. + const pathRotation = latestValues.pathRotation; + if (pathRotation) { + transformIsDefault = false; + transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `; + } + transformString = transformString.trim(); + // If we have a custom `transform` template, pass our transform values and + // generated transformString to that before returning + if (transformTemplate) { + transformString = transformTemplate(transform, transformIsDefault ? "" : transformString); + } + else if (transformIsDefault) { + transformString = "none"; + } + return transformString; +} + +export { buildTransform, translateAlias }; +//# sourceMappingURL=build-transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/render.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/render.mjs new file mode 100644 index 0000000..d5e5241 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/render.mjs @@ -0,0 +1,18 @@ +function renderHTML(element, { style, vars }, styleProp, projection) { + const elementStyle = element.style; + let key; + for (key in style) { + // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type. + elementStyle[key] = style[key]; + } + // Write projection styles directly to element style + projection?.applyProjectionStyles(elementStyle, styleProp); + for (key in vars) { + // Loop over any CSS variables and assign those. + // They can only be assigned using `setProperty`. + elementStyle.setProperty(key, vars[key]); + } +} + +export { renderHTML }; +//# sourceMappingURL=render.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs new file mode 100644 index 0000000..fa40038 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs @@ -0,0 +1,22 @@ +import { isMotionValue } from '../../../value/utils/is-motion-value.mjs'; +import { isForcedMotionValue } from '../../utils/is-forced-motion-value.mjs'; + +function scrapeMotionValuesFromProps(props, prevProps, visualElement) { + const style = props.style; + const prevStyle = prevProps?.style; + const newValues = {}; + if (!style) + return newValues; + for (const key in style) { + if (isMotionValue(style[key]) || + (prevStyle && isMotionValue(prevStyle[key])) || + isForcedMotionValue(key, props) || + visualElement?.getValue(key)?.liveStyle !== undefined) { + newValues[key] = style[key]; + } + } + return newValues; +} + +export { scrapeMotionValuesFromProps }; +//# sourceMappingURL=scrape-motion-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/object/ObjectVisualElement.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/object/ObjectVisualElement.mjs new file mode 100644 index 0000000..d2dedf7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/object/ObjectVisualElement.mjs @@ -0,0 +1,42 @@ +import { createBox } from '../../projection/geometry/models.mjs'; +import { VisualElement } from '../VisualElement.mjs'; + +function isObjectKey(key, object) { + return key in object; +} +class ObjectVisualElement extends VisualElement { + constructor() { + super(...arguments); + this.type = "object"; + } + readValueFromInstance(instance, key) { + if (isObjectKey(key, instance)) { + const value = instance[key]; + if (typeof value === "string" || typeof value === "number") { + return value; + } + } + return undefined; + } + getBaseTargetFromProps() { + return undefined; + } + removeValueFromRenderState(key, renderState) { + delete renderState.output[key]; + } + measureInstanceViewportBox() { + return createBox(); + } + build(renderState, latestValues) { + Object.assign(renderState.output, latestValues); + } + renderInstance(instance, { output }) { + Object.assign(instance, output); + } + sortInstanceNodePosition() { + return 0; + } +} + +export { ObjectVisualElement }; +//# sourceMappingURL=ObjectVisualElement.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/store.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/store.mjs new file mode 100644 index 0000000..9a65634 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/store.mjs @@ -0,0 +1,4 @@ +const visualElementStore = new WeakMap(); + +export { visualElementStore }; +//# sourceMappingURL=store.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs new file mode 100644 index 0000000..8c834b7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs @@ -0,0 +1,70 @@ +import { transformProps } from '../utils/keys-transform.mjs'; +import { getDefaultValueType } from '../../value/types/maps/defaults.mjs'; +import { createBox } from '../../projection/geometry/models.mjs'; +import { DOMVisualElement } from '../dom/DOMVisualElement.mjs'; +import { defaultTransformValue } from '../dom/parse-transform.mjs'; +import { camelToDash } from '../dom/utils/camel-to-dash.mjs'; +import { cssStyleProperties, buildSVGAttrs } from './utils/build-attrs.mjs'; +import { camelCaseAttributes } from './utils/camel-case-attrs.mjs'; +import { isSVGTag } from './utils/is-svg-tag.mjs'; +import { renderSVG } from './utils/render.mjs'; +import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs'; + +class SVGVisualElement extends DOMVisualElement { + constructor() { + super(...arguments); + this.type = "svg"; + this.isSVGTag = false; + this.measureInstanceViewportBox = createBox; + } + getBaseTargetFromProps(props, key) { + /** + * An independent transform's base is never an attribute of the same + * name, e.g. <rect x> is a position, not a translate. Like HTML it + * comes from style, falling back to the transform's default. + */ + return transformProps.has(key) + ? super.getBaseTargetFromProps(props, key) ?? + defaultTransformValue(key) + : props[key]; + } + /** + * An independent transform's origin is never read from the DOM, so it + * starts from its latest or default value and renders on mount. + */ + getDefaultValue(key) { + return transformProps.has(key) + ? this.latestValues[key] ?? defaultTransformValue(key) + : undefined; + } + readValueFromInstance(instance, key) { + if (transformProps.has(key)) { + const defaultType = getDefaultValueType(key); + return defaultType ? defaultType.default || 0 : 0; + } + if (cssStyleProperties.includes(key)) { + const computedStyle = getComputedStyle(instance); + const value = computedStyle[key]; + if (typeof value === "string" && value) + return value.trim(); + } + key = !camelCaseAttributes.has(key) ? camelToDash(key) : key; + return instance.getAttribute(key); + } + scrapeMotionValuesFromProps(props, prevProps, visualElement) { + return scrapeMotionValuesFromProps(props, prevProps, visualElement); + } + build(renderState, latestValues, props) { + buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate, props.style); + } + renderInstance(instance, renderState, styleProp, projection) { + renderSVG(instance, renderState, styleProp, projection); + } + mount(instance) { + this.isSVGTag = isSVGTag(instance.tagName); + super.mount(instance); + } +} + +export { SVGVisualElement }; +//# sourceMappingURL=SVGVisualElement.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs new file mode 100644 index 0000000..c46402e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs @@ -0,0 +1,71 @@ +import { buildHTMLStyles } from '../../html/utils/build-styles.mjs'; +import { buildSVGPath } from './path.mjs'; + +/** + * Values rendered via style rather than as attributes. This must include + * every value WAAPI can accelerate, as WAAPI writes its final value to + * style, which would otherwise override later attribute writes. + */ +const cssStyleProperties = [ + "transform", + "opacity", + "clipPath", + "filter", + "offsetDistance", + "offsetPath", + "offsetRotate", + "offsetAnchor", +]; +/** + * Build SVG visual attributes, like cx and style.transform + */ +function buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing = 1, pathOffset = 0, +// This is object creation, which we try to avoid per-frame. +...latest }, isSVGTag, transformTemplate, styleProp) { + buildHTMLStyles(state, latest, transformTemplate); + /** + * For svg tags we just want to make sure viewBox is animatable and treat all the styles + * as normal HTML tags. + */ + if (isSVGTag) { + if (state.style.viewBox) { + state.attrs.viewBox = state.style.viewBox; + } + return; + } + state.attrs = state.style; + state.style = {}; + const { attrs, style } = state; + for (const key of cssStyleProperties) { + if (attrs[key] !== undefined) { + style[key] = attrs[key]; + delete attrs[key]; + } + } + if (style.transform || attrs.transformOrigin) { + style.transformOrigin = attrs.transformOrigin ?? "50% 50%"; + delete attrs.transformOrigin; + } + if (style.transform) { + /** + * SVG's element transform-origin uses its own median as a reference. + * Therefore, transformBox becomes a fill-box + */ + style.transformBox = styleProp?.transformBox ?? "fill-box"; + delete attrs.transformBox; + } + // Render attrX/attrY/attrScale as attributes + if (attrX !== undefined) + attrs.x = attrX; + if (attrY !== undefined) + attrs.y = attrY; + if (attrScale !== undefined) + attrs.scale = attrScale; + // Build SVG path if one has been defined + if (pathLength !== undefined) { + buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false); + } +} + +export { buildSVGAttrs, cssStyleProperties }; +//# sourceMappingURL=build-attrs.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs new file mode 100644 index 0000000..4885a9b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs @@ -0,0 +1,31 @@ +/** + * A set of attribute names that are always read/written as camel case. + */ +const camelCaseAttributes = new Set([ + "baseFrequency", + "diffuseConstant", + "kernelMatrix", + "kernelUnitLength", + "keySplines", + "keyTimes", + "limitingConeAngle", + "markerHeight", + "markerWidth", + "numOctaves", + "targetX", + "targetY", + "surfaceScale", + "specularConstant", + "specularExponent", + "stdDeviation", + "tableValues", + "viewBox", + "gradientTransform", + "pathLength", + "startOffset", + "textLength", + "lengthAdjust", +]); + +export { camelCaseAttributes }; +//# sourceMappingURL=camel-case-attrs.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs new file mode 100644 index 0000000..37ab448 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs @@ -0,0 +1,4 @@ +const isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg"; + +export { isSVGTag }; +//# sourceMappingURL=is-svg-tag.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs new file mode 100644 index 0000000..02aff41 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs @@ -0,0 +1,32 @@ +const dashKeys = { + offset: "stroke-dashoffset", + array: "stroke-dasharray", +}; +const camelKeys = { + offset: "strokeDashoffset", + array: "strokeDasharray", +}; +/** + * Build SVG path properties. Uses the path's measured length to convert + * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset + * and stroke-dasharray attributes. + * + * This function is mutative to reduce per-frame GC. + * + * Note: We use unitless values for stroke-dasharray and stroke-dashoffset + * because Safari incorrectly scales px values when the page is zoomed. + */ +function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) { + // Normalise path length by setting SVG attribute pathLength to 1 + attrs.pathLength = 1; + // We use dash case when setting attributes directly to the DOM node and camel case + // when defining props on a React component. + const keys = useDashCase ? dashKeys : camelKeys; + // Build the dash offset (unitless to avoid Safari zoom bug) + attrs[keys.offset] = `${-offset}`; + // Build the dash array (unitless to avoid Safari zoom bug) + attrs[keys.array] = `${length} ${spacing}`; +} + +export { buildSVGPath }; +//# sourceMappingURL=path.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs new file mode 100644 index 0000000..8171361 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs @@ -0,0 +1,13 @@ +import { camelToDash } from '../../dom/utils/camel-to-dash.mjs'; +import { renderHTML } from '../../html/utils/render.mjs'; +import { camelCaseAttributes } from './camel-case-attrs.mjs'; + +function renderSVG(element, renderState, _styleProp, projection) { + renderHTML(element, renderState, undefined, projection); + for (const key in renderState.attrs) { + element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]); + } +} + +export { renderSVG }; +//# sourceMappingURL=render.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs new file mode 100644 index 0000000..3e554a7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs @@ -0,0 +1,25 @@ +import { isMotionValue } from '../../../value/utils/is-motion-value.mjs'; +import { transformPropOrder } from '../../utils/keys-transform.mjs'; +import { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs'; + +function scrapeMotionValuesFromProps(props, prevProps, visualElement) { + const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement); + for (const key in props) { + /** + * A MotionValue child is rendered as text content by + * DOMVisualElement, so it mustn't also be written as an attribute. + */ + if (key !== "children" && + (isMotionValue(props[key]) || + isMotionValue(prevProps[key]))) { + const targetKey = transformPropOrder.indexOf(key) !== -1 + ? "attr" + key.charAt(0).toUpperCase() + key.substring(1) + : key; + newValues[targetKey] = props[key]; + } + } + return newValues; +} + +export { scrapeMotionValuesFromProps }; +//# sourceMappingURL=scrape-motion-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs new file mode 100644 index 0000000..f840d82 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs @@ -0,0 +1,279 @@ +import { animateVisualElement } from '../../animation/interfaces/visual-element.mjs'; +import { calcChildStagger } from '../../animation/utils/calc-child-stagger.mjs'; +import { isMotionValue } from '../../value/utils/is-motion-value.mjs'; +import { isAnimationControls } from './is-animation-controls.mjs'; +import { isVariantLabel } from './is-variant-label.mjs'; +import { resolveVariant, getTypeCustom } from './resolve-dynamic-variants.mjs'; +import { shallowCompare } from './shallow-compare.mjs'; +import { variantPriorityOrder } from './variant-props.mjs'; + +const reversePriorityOrder = [...variantPriorityOrder].reverse(); +/** + * Diffs the element's animation props (one layer per AnimationType, highest + * priority wins each value) against the previous call and starts animations + * for what changed. + * + * Uses `any` type for visualElement to avoid circular dependencies. It reads + * props, parent, presenceContext, variantChildren, enteringChildren, + * manuallyAnimateOnMount, blockInitialAnimation, getValue(), + * getBaseTargetFromProps(), baseTarget and initialValues. + */ +function createAnimationState(visualElement) { + let animate = (animations) => Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options))); + let state = createState(); + let isInitialRender = true; + /** + * After a reset (StrictMode, Suspense, AnimatePresence re-entry) the next + * animateChanges() mounts again, but initial={false} no longer applies. + */ + let wasReset = false; + function animateChanges(changedActiveType) { + const { props, parent, manuallyAnimateOnMount } = visualElement; + const isMounting = isInitialRender || wasReset; + const animations = []; + /** + * Values removed from a type. A lower-priority type that defines + * them animates them back, otherwise they fall back to a base target. + */ + const removedKeys = new Set(); + /** + * Values claimed by active, higher-priority types. + */ + let encounteredKeys = {}; + /** + * Once a type has been deactivated, lower-priority variant labels + * re-animate so variant children animate back too. + */ + let removedVariantIndex = Infinity; + /** + * Variant labels are inherited from the closest variant-controlling + * ancestor, unless an element on the way has inherit={false}. + */ + let source = visualElement; + do + source = source.props.inherit !== false && source.parent; + while (source && !source.isControllingVariants); + reversePriorityOrder.forEach((type, i) => { + const typeState = state[type]; + const ownProp = props[type]; + const inheritedProp = source && source.props[type]; + const prop = ownProp !== undefined + ? ownProp + : isVariantLabel(inheritedProp) || inheritedProp === false + ? inheritedProp + : undefined; + const propIsVariant = isVariantLabel(prop); + const activeDelta = type === changedActiveType ? typeState.isActive : null; + if (activeDelta === false) + removedVariantIndex = i; + /** + * Inherited labels are animated by the parent through + * variantChildren, unless this element mounted after its parent. + */ + const isInherited = propIsVariant && + ownProp === undefined && + !(isMounting && manuallyAnimateOnMount); + typeState.protectedKeys = { ...encounteredKeys }; + if ((!typeState.isActive && activeDelta === null) || + (!prop && !typeState.prevProp) || + isAnimationControls(prop) || + typeof prop === "boolean") { + return; + } + /** + * Don't re-resolve a running exit: a changed custom would start + * new value animations that stop the originals, leaving the exit + * promise unresolved and the element stuck in the DOM. + */ + if (type === "exit" && typeState.isActive && activeDelta !== true) { + encounteredKeys = { + ...encounteredKeys, + ...typeState.prevResolvedValues, + }; + return; + } + const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop); + let shouldAnimateType = variantDidChange || + (propIsVariant && + ((activeDelta && !isInherited) || i > removedVariantIndex)); + let handledRemovedValues = false; + const definitionList = Array.isArray(prop) ? prop : [prop]; + let resolvedValues = {}; + if (activeDelta !== false) { + for (const definition of definitionList) { + const { transition, transitionEnd, ...target } = resolveVariant(visualElement, definition, getTypeCustom(visualElement, type)) || {}; + resolvedValues = { + ...resolvedValues, + ...target, + ...transitionEnd, + }; + } + } + const { prevResolvedValues } = typeState; + for (const key in { ...prevResolvedValues, ...resolvedValues }) { + if (key in encounteredKeys) + continue; + const next = resolvedValues[key]; + const prev = prevResolvedValues[key]; + /** + * Keyframes compare by value, but replay whenever the + * variant label changed. + */ + const valueHasChanged = Array.isArray(next) && Array.isArray(prev) + ? !shallowCompare(next, prev) || variantDidChange + : next !== prev; + if (valueHasChanged && + (next === undefined || next === null)) { + removedKeys.add(key); + } + else if (valueHasChanged || + (next !== undefined && removedKeys.has(key))) { + shouldAnimateType = true; + if (removedKeys.delete(key)) + handledRemovedValues = true; + typeState.needsAnimating[key] = true; + const motionValue = visualElement.getValue(key); + if (motionValue) + motionValue.liveStyle = false; + } + else { + typeState.protectedKeys[key] = true; + } + } + typeState.prevProp = prop; + typeState.prevResolvedValues = resolvedValues; + if (typeState.isActive) { + encounteredKeys = { ...encounteredKeys, ...resolvedValues }; + } + if (shouldAnimateType && + (!(isInherited && variantDidChange) || handledRemovedValues)) { + for (const animation of definitionList) { + const options = { type }; + /** + * Elements that mount into an already-mounted parent + * animate themselves, staggered by the parent variant's + * delayChildren. + */ + if (typeof animation === "string" && + isMounting && + manuallyAnimateOnMount && + parent?.enteringChildren) { + const delayChildren = resolveVariant(parent, animation) + ?.transition?.delayChildren; + options.delay = calcChildStagger(parent.enteringChildren, visualElement, delayChildren); + } + animations.push({ animation, options }); + } + } + }); + /** + * Removed values that no lower-priority type defines animate back to + * initial, then style, then the value as first read. If initial no + * longer defines a value it once did, it stays where it is. + */ + if (removedKeys.size) { + const { initial } = props; + const fallbackAnimation = {}; + const resolvedInitial = typeof initial !== "boolean" && + resolveVariant(visualElement, Array.isArray(initial) ? initial[0] : initial, visualElement.presenceContext?.custom); + if (resolvedInitial && resolvedInitial.transition) { + fallbackAnimation.transition = resolvedInitial.transition; + } + removedKeys.forEach((key) => { + const motionValue = visualElement.getValue(key); + if (motionValue) + motionValue.liveStyle = true; + const fromInitial = resolvedInitial && !Array.isArray(initial) + ? resolvedInitial[key] + : undefined; + const fromProps = visualElement.getBaseTargetFromProps(props, key); + fallbackAnimation[key] = + (fromInitial !== undefined + ? fromInitial + : fromProps !== undefined && !isMotionValue(fromProps) + ? fromProps + : visualElement.initialValues[key] === undefined + ? visualElement.baseTarget[key] + : undefined) ?? null; + /** + * If it stays where it is, that's now its base. Otherwise a + * later removal (like a gesture ending) would also stay, + * leaving the value stuck. Stop first so accelerated + * animations sync the value they reached. In practice initial + * only changes like this with Fast Refresh, so this is + * dev-only (#3787). + */ + if (process.env.NODE_ENV !== "production" && + fallbackAnimation[key] === null && + visualElement.initialValues[key] !== undefined) { + delete visualElement.initialValues[key]; + motionValue?.stop(); + visualElement.baseTarget[key] = motionValue?.get(); + } + }); + animations.push({ animation: fallbackAnimation }); + } + const blockAnimation = (isMounting && visualElement.blockInitialAnimation) || + (isInitialRender && + !manuallyAnimateOnMount && + (props.initial === false || props.initial === props.animate)); + isInitialRender = wasReset = false; + return !blockAnimation && animations.length + ? animate(animations) + : Promise.resolve(); + } + /** + * Change whether a certain animation type is active. + */ + function setActive(type, isActive) { + if (state[type].isActive === isActive) + return Promise.resolve(); + visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive)); + state[type].isActive = isActive; + const animations = animateChanges(type); + for (const key in state) { + state[key].protectedKeys = {}; + } + return animations; + } + return { + animateChanges, + setActive, + /** + * Allows tests to inject a mocked animate function. + * @internal + */ + setAnimateFunction: (makeAnimator) => { + animate = makeAnimator(visualElement); + }, + getState: () => state, + reset: () => { + state = createState(); + wasReset = true; + }, + }; +} +function checkVariantsDidChange(prev, next) { + if (typeof next === "string") { + return next !== prev; + } + else if (Array.isArray(next)) { + return !shallowCompare(next, prev); + } + return false; +} +function createState() { + const state = {}; + for (const type of variantPriorityOrder) { + state[type] = { + isActive: type === "animate", + protectedKeys: {}, + needsAnimating: {}, + prevResolvedValues: {}, + }; + } + return state; +} + +export { checkVariantsDidChange, createAnimationState }; +//# sourceMappingURL=animation-state.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs new file mode 100644 index 0000000..6866d11 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs @@ -0,0 +1,33 @@ +import { isVariantLabel } from './is-variant-label.mjs'; +import { variantProps } from './variant-props.mjs'; + +const numVariantProps = variantProps.length; +/** + * Get variant context from a visual element's parent chain. + * Uses `any` type for visualElement to avoid circular dependencies. + */ +function getVariantContext(visualElement) { + if (!visualElement) + return undefined; + if (!visualElement.isControllingVariants) { + const context = visualElement.parent + ? getVariantContext(visualElement.parent) || {} + : {}; + if (visualElement.props.initial !== undefined) { + context.initial = visualElement.props.initial; + } + return context; + } + const context = {}; + for (let i = 0; i < numVariantProps; i++) { + const name = variantProps[i]; + const prop = visualElement.props[name]; + if (isVariantLabel(prop) || prop === false) { + context[name] = prop; + } + } + return context; +} + +export { getVariantContext }; +//# sourceMappingURL=get-variant-context.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs new file mode 100644 index 0000000..17f587f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs @@ -0,0 +1,8 @@ +function isAnimationControls(v) { + return (v !== null && + typeof v === "object" && + typeof v.start === "function"); +} + +export { isAnimationControls }; +//# sourceMappingURL=is-animation-controls.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs new file mode 100644 index 0000000..5963866 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs @@ -0,0 +1,20 @@ +import { isAnimationControls } from './is-animation-controls.mjs'; +import { isVariantLabel } from './is-variant-label.mjs'; +import { variantProps } from './variant-props.mjs'; + +function isControllingVariants(props) { + if (isAnimationControls(props.animate)) + return true; + for (let i = 0; i < variantProps.length; i++) { + if (isVariantLabel(props[variantProps[i]])) { + return true; + } + } + return false; +} +function isVariantNode(props) { + return Boolean(isControllingVariants(props) || props.variants); +} + +export { isControllingVariants, isVariantNode }; +//# sourceMappingURL=is-controlling-variants.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs new file mode 100644 index 0000000..e9bb0bd --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs @@ -0,0 +1,13 @@ +import { transformProps } from './keys-transform.mjs'; +import { scaleCorrectors } from '../../projection/styles/scale-correction.mjs'; +export { addScaleCorrector } from '../../projection/styles/scale-correction.mjs'; + +function isForcedMotionValue(key, { layout, layoutId }) { + return (transformProps.has(key) || + key.startsWith("origin") || + ((layout || layoutId !== undefined) && + (!!scaleCorrectors[key] || key === "opacity"))); +} + +export { isForcedMotionValue, scaleCorrectors }; +//# sourceMappingURL=is-forced-motion-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs new file mode 100644 index 0000000..9e01dbe --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs @@ -0,0 +1,6 @@ +const isKeyframesTarget = (v) => { + return Array.isArray(v); +}; + +export { isKeyframesTarget }; +//# sourceMappingURL=is-keyframes-target.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs new file mode 100644 index 0000000..1064983 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs @@ -0,0 +1,9 @@ +/** + * Decides if the supplied variable is variant label + */ +function isVariantLabel(v) { + return typeof v === "string" || Array.isArray(v); +} + +export { isVariantLabel }; +//# sourceMappingURL=is-variant-label.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs new file mode 100644 index 0000000..d000529 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs @@ -0,0 +1,14 @@ +import { transformPropOrder } from './keys-transform.mjs'; + +const positionalKeys = new Set([ + "width", + "height", + "top", + "left", + "right", + "bottom", + ...transformPropOrder, +]); + +export { positionalKeys }; +//# sourceMappingURL=keys-position.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs new file mode 100644 index 0000000..1391d2b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs @@ -0,0 +1,37 @@ +/** + * Generate a list of every possible transform key. + */ +const transformPropOrder = [ + "transformPerspective", + "x", + "y", + "z", + "translateX", + "translateY", + "translateZ", + "scale", + "scaleX", + "scaleY", + "scaleZ", + "rotate", + "rotateX", + "rotateY", + "rotateZ", + "skew", + "skewX", + "skewY", +]; +/** + * A quick lookup for transform props. + * + * `pathRotation` is a transform for routing purposes (skipped from raw + * style application, wired to the transform composite, flags transform + * dirty) but is intentionally NOT in `transformPropOrder` — it is + * composed onto `rotate` at the build sites, not serialized in its own + * slot, and must stay out of the order-array consumers (parse-transform, + * unit-conversion, keys-position). + */ +const transformProps = /*@__PURE__*/ (() => new Set([...transformPropOrder, "pathRotation"]))(); + +export { transformPropOrder, transformProps }; +//# sourceMappingURL=keys-transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs new file mode 100644 index 0000000..be01fdf --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs @@ -0,0 +1,56 @@ +import { motionValue } from '../../value/index.mjs'; +import { isMotionValue } from '../../value/utils/is-motion-value.mjs'; + +/** + * Updates motion values from props changes. + * Uses `any` type for element to avoid circular dependencies with VisualElement. + */ +function updateMotionValuesFromProps(element, next, prev) { + for (const key in next) { + const nextValue = next[key]; + const prevValue = prev[key]; + if (isMotionValue(nextValue)) { + /** + * If this is a motion value found in props or style, we want to add it + * to our visual element's motion value map. + */ + element.addValue(key, nextValue); + } + else if (isMotionValue(prevValue)) { + /** + * If we're swapping from a motion value to a static value, + * create a new motion value from that + */ + element.addValue(key, motionValue(nextValue, { owner: element })); + } + else if (prevValue !== nextValue) { + /** + * If this is a flat value that has changed, update the motion value + * or create one if it doesn't exist. We only want to do this if we're + * not handling the value with our animation state. + */ + if (element.hasValue(key)) { + const existingValue = element.getValue(key); + if (existingValue.liveStyle === true) { + existingValue.jump(nextValue); + } + else if (!existingValue.hasAnimated) { + existingValue.set(nextValue); + } + } + else { + const latestValue = element.getStaticValue(key); + element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element })); + } + } + } + // Handle removed values + for (const key in prev) { + if (next[key] === undefined) + element.removeValue(key); + } + return next; +} + +export { updateMotionValuesFromProps }; +//# sourceMappingURL=motion-values.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs new file mode 100644 index 0000000..a9550a2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs @@ -0,0 +1,20 @@ +import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs'; + +const isBrowser = typeof window !== "undefined"; +function initPrefersReducedMotion() { + hasReducedMotionListener.current = true; + if (!isBrowser) + return; + if (window.matchMedia) { + const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)"); + const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches); + motionMediaQuery.addEventListener("change", setReducedMotionPreferences); + setReducedMotionPreferences(); + } + else { + prefersReducedMotion.current = false; + } +} + +export { hasReducedMotionListener, initPrefersReducedMotion, prefersReducedMotion }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs new file mode 100644 index 0000000..c846f8f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs @@ -0,0 +1,6 @@ +// Does this device prefer reduced motion? Returns `null` server-side. +const prefersReducedMotion = { current: null }; +const hasReducedMotionListener = { current: false }; + +export { hasReducedMotionListener, prefersReducedMotion }; +//# sourceMappingURL=state.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs new file mode 100644 index 0000000..90288c2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs @@ -0,0 +1,13 @@ +import { resolveVariantFromProps } from './resolve-variants.mjs'; + +function resolveVariant(visualElement, definition, custom) { + return resolveVariantFromProps(visualElement.getProps(), definition, custom, visualElement); +} +/** + * Exit variants resolve with AnimatePresence's custom, every other type + * with the element's own. + */ +const getTypeCustom = (visualElement, type) => type === "exit" ? visualElement.presenceContext?.custom : undefined; + +export { getTypeCustom, resolveVariant }; +//# sourceMappingURL=resolve-dynamic-variants.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs new file mode 100644 index 0000000..0f32234 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs @@ -0,0 +1,26 @@ +function getValueState(visualElement) { + const state = [{}, {}]; + visualElement?.values.forEach((value, key) => { + state[0][key] = value.get(); + state[1][key] = value.getVelocity(); + }); + return state; +} +function resolveVariantFromProps(props, definition, custom, visualElement) { + const resolveFunction = (def) => typeof def === "function" + ? def(custom !== undefined ? custom : props.custom, ...getValueState(visualElement)) + : def; + /** + * Resolve a function, then a variant label (which the function may have + * returned), then a function again as the label may point to one. The + * final function can only return a target object. + */ + definition = resolveFunction(definition); + if (typeof definition === "string") { + definition = props.variants && props.variants[definition]; + } + return resolveFunction(definition); +} + +export { resolveVariantFromProps }; +//# sourceMappingURL=resolve-variants.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/setters.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/setters.mjs new file mode 100644 index 0000000..9c94d6e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/setters.mjs @@ -0,0 +1,32 @@ +import { motionValue } from '../../value/index.mjs'; +import { resolveVariant } from './resolve-dynamic-variants.mjs'; +import { isKeyframesTarget } from './is-keyframes-target.mjs'; + +/** + * Set VisualElement's MotionValue, creating a new MotionValue for it if + * it doesn't exist. + */ +function setMotionValue(visualElement, key, value) { + if (visualElement.hasValue(key)) { + visualElement.getValue(key).set(value); + } + else { + visualElement.addValue(key, motionValue(value)); + } +} +function resolveFinalValueInKeyframes(v) { + // TODO maybe throw if v.length - 1 is placeholder token? + return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v; +} +function setTarget(visualElement, definition) { + const resolved = resolveVariant(visualElement, definition); + let { transitionEnd = {}, transition = {}, ...target } = resolved || {}; + target = { ...target, ...transitionEnd }; + for (const key in target) { + const value = resolveFinalValueInKeyframes(target[key]); + setMotionValue(visualElement, key, value); + } +} + +export { setTarget }; +//# sourceMappingURL=setters.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs new file mode 100644 index 0000000..a6bf308 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs @@ -0,0 +1,15 @@ +function shallowCompare(next, prev) { + if (!Array.isArray(prev)) + return false; + const prevLength = prev.length; + if (prevLength !== next.length) + return false; + for (let i = 0; i < prevLength; i++) { + if (prev[i] !== next[i]) + return false; + } + return true; +} + +export { shallowCompare }; +//# sourceMappingURL=shallow-compare.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs new file mode 100644 index 0000000..56a3899 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs @@ -0,0 +1,13 @@ +const variantPriorityOrder = [ + "animate", + "whileInView", + "whileFocus", + "whileHover", + "whileTap", + "whileDrag", + "exit", +]; +const variantProps = ["initial", ...variantPriorityOrder]; + +export { variantPriorityOrder, variantProps }; +//# sourceMappingURL=variant-props.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-element.mjs new file mode 100644 index 0000000..7b4abe3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-element.mjs @@ -0,0 +1,64 @@ +import { isSVGElement } from '../utils/is-svg-element.mjs'; +import { resolveElements } from '../utils/resolve-elements.mjs'; + +const resizeHandlers = new WeakMap(); +let observer; +const getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => { + if (borderBoxSize && borderBoxSize[0]) { + return borderBoxSize[0][(borderBoxAxis + "Size")]; + } + else if (isSVGElement(target) && "getBBox" in target) { + return target.getBBox()[svgAxis]; + } + else { + return target[htmlAxis]; + } +}; +const getWidth = /*@__PURE__*/ getSize("inline", "width", "offsetWidth"); +const getHeight = /*@__PURE__*/ getSize("block", "height", "offsetHeight"); +function notifyTarget({ target, borderBoxSize }) { + resizeHandlers.get(target)?.forEach((handler) => { + handler(target, { + get width() { + return getWidth(target, borderBoxSize); + }, + get height() { + return getHeight(target, borderBoxSize); + }, + }); + }); +} +function notifyAll(entries) { + entries.forEach(notifyTarget); +} +function createResizeObserver() { + if (typeof ResizeObserver === "undefined") + return; + observer = new ResizeObserver(notifyAll); +} +function resizeElement(target, handler) { + if (!observer) + createResizeObserver(); + const elements = resolveElements(target); + elements.forEach((element) => { + let elementHandlers = resizeHandlers.get(element); + if (!elementHandlers) { + elementHandlers = new Set(); + resizeHandlers.set(element, elementHandlers); + } + elementHandlers.add(handler); + observer?.observe(element); + }); + return () => { + elements.forEach((element) => { + const elementHandlers = resizeHandlers.get(element); + elementHandlers?.delete(handler); + if (!elementHandlers?.size) { + observer?.unobserve(element); + } + }); + }; +} + +export { resizeElement }; +//# sourceMappingURL=handle-element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-window.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-window.mjs new file mode 100644 index 0000000..cdc8977 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/handle-window.mjs @@ -0,0 +1,32 @@ +const windowCallbacks = new Set(); +let windowResizeHandler; +function createWindowResizeHandler() { + windowResizeHandler = () => { + const info = { + get width() { + return window.innerWidth; + }, + get height() { + return window.innerHeight; + }, + }; + windowCallbacks.forEach((callback) => callback(info)); + }; + window.addEventListener("resize", windowResizeHandler); +} +function resizeWindow(callback) { + windowCallbacks.add(callback); + if (!windowResizeHandler) + createWindowResizeHandler(); + return () => { + windowCallbacks.delete(callback); + if (!windowCallbacks.size && + typeof windowResizeHandler === "function") { + window.removeEventListener("resize", windowResizeHandler); + windowResizeHandler = undefined; + } + }; +} + +export { resizeWindow }; +//# sourceMappingURL=handle-window.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/index.mjs new file mode 100644 index 0000000..5d871a6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/resize/index.mjs @@ -0,0 +1,9 @@ +import { resizeElement } from './handle-element.mjs'; +import { resizeWindow } from './handle-window.mjs'; + +function resize(a, b) { + return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b); +} + +export { resize }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/buffer.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/buffer.mjs new file mode 100644 index 0000000..6349d90 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/buffer.mjs @@ -0,0 +1,7 @@ +const statsBuffer = { + value: null, + addProjectionMetrics: null, +}; + +export { statsBuffer }; +//# sourceMappingURL=buffer.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/index.mjs new file mode 100644 index 0000000..9a78f93 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/stats/index.mjs @@ -0,0 +1,29 @@ +import { statsBuffer } from './buffer.mjs'; + +function clearStatsBuffer() { + statsBuffer.value = null; + statsBuffer.addProjectionMetrics = null; +} +function recordStats() { + if (statsBuffer.value) { + clearStatsBuffer(); + throw new Error("Stats are already being measured"); + } + const buffer = statsBuffer; + buffer.value = { + layoutProjection: { + nodes: [], + calculatedTargetDeltas: [], + calculatedProjections: [], + }, + }; + buffer.addProjectionMetrics = (metrics) => { + const { layoutProjection } = buffer.value; + layoutProjection.nodes.push(metrics.nodes); + layoutProjection.calculatedTargetDeltas.push(metrics.calculatedTargetDeltas); + layoutProjection.calculatedProjections.push(metrics.calculatedProjections); + }; +} + +export { recordStats }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/border-radius.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/border-radius.mjs new file mode 100644 index 0000000..8fc6f60 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/border-radius.mjs @@ -0,0 +1,15 @@ +/** + * The four corner-radius longhands. Shared so the projection mixer, scale + * corrector, WAAPI px-value set and view-transition crop pass don't each carry + * their own copy. Order is irrelevant - every consumer mixes/corrects/animates + * each corner independently. + */ +const cornerRadiusProps = [ + "borderTopLeftRadius", + "borderTopRightRadius", + "borderBottomRightRadius", + "borderBottomLeftRadius", +]; + +export { cornerRadiusProps }; +//# sourceMappingURL=border-radius.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/delay.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/delay.mjs new file mode 100644 index 0000000..55bfdf8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/delay.mjs @@ -0,0 +1,25 @@ +import { time } from '../frameloop/sync-time.mjs'; +import { secondsToMilliseconds } from 'motion-utils'; +import { frame, cancelFrame } from '../frameloop/frame.mjs'; + +/** + * Timeout defined in ms + */ +function delay(callback, timeout) { + const start = time.now(); + const checkElapsed = ({ timestamp }) => { + const elapsed = timestamp - start; + if (elapsed >= timeout) { + cancelFrame(checkElapsed); + callback(elapsed - timeout); + } + }; + frame.setup(checkElapsed, true); + return () => cancelFrame(checkElapsed); +} +function delayInSeconds(callback, timeout) { + return delay(callback, secondsToMilliseconds(timeout)); +} + +export { delay, delayInSeconds }; +//# sourceMappingURL=delay.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/interpolate.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/interpolate.mjs new file mode 100644 index 0000000..a7260c7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/interpolate.mjs @@ -0,0 +1,75 @@ +import { invariant, clamp, MotionGlobalConfig, noop, pipe, progress } from 'motion-utils'; +import { mix } from './mix/index.mjs'; + +function createMixers(output, ease, customMixer) { + const mixers = []; + const mixerFactory = customMixer || MotionGlobalConfig.mix || mix; + const numMixers = output.length - 1; + for (let i = 0; i < numMixers; i++) { + let mixer = mixerFactory(output[i], output[i + 1]); + if (ease) { + const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease; + mixer = pipe(easingFunction, mixer); + } + mixers.push(mixer); + } + return mixers; +} +/** + * Create a function that maps from a numerical input array to a generic output array. + * + * Accepts: + * - Numbers + * - Colors (hex, hsl, hsla, rgb, rgba) + * - Complex (combinations of one or more numbers or strings) + * + * ```jsx + * const mixColor = interpolate([0, 1], ['#fff', '#000']) + * + * mixColor(0.5) // 'rgba(128, 128, 128, 1)' + * ``` + * + * TODO Revisit this approach once we've moved to data models for values, + * probably not needed to pregenerate mixer functions. + * + * @public + */ +function interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) { + const inputLength = input.length; + invariant(inputLength === output.length, "Both input and output ranges must be the same length", "range-length"); + /** + * If we're only provided a single input, we can just make a function + * that returns the output. + */ + if (inputLength === 1) + return () => output[0]; + if (inputLength === 2 && output[0] === output[1]) + return () => output[1]; + const isZeroDeltaRange = input[0] === input[1]; + // If input runs highest -> lowest, reverse both arrays + if (input[0] > input[inputLength - 1]) { + input = [...input].reverse(); + output = [...output].reverse(); + } + const mixers = createMixers(output, ease, mixer); + const numMixers = mixers.length; + const interpolator = (v) => { + if (isZeroDeltaRange && v < input[0]) + return output[0]; + let i = 0; + if (numMixers > 1) { + for (; i < input.length - 2; i++) { + if (v < input[i + 1]) + break; + } + } + const progressInRange = progress(input[i], input[i + 1], v); + return mixers[i](progressInRange); + }; + return isClamp + ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) + : interpolator; +} + +export { interpolate }; +//# sourceMappingURL=interpolate.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-html-element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-html-element.mjs new file mode 100644 index 0000000..9ead44d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-html-element.mjs @@ -0,0 +1,14 @@ +import { isObject } from 'motion-utils'; + +/** + * Checks if an element is an HTML element in a way + * that works across iframes + */ +function isHTMLElement(element) { + return (isObject(element) && + "offsetHeight" in element && + !("ownerSVGElement" in element)); +} + +export { isHTMLElement }; +//# sourceMappingURL=is-html-element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs new file mode 100644 index 0000000..f529a49 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs @@ -0,0 +1,12 @@ +import { isObject } from 'motion-utils'; + +/** + * Checks if an element is an SVG element in a way + * that works across iframes + */ +function isSVGElement(element) { + return isObject(element) && "ownerSVGElement" in element; +} + +export { isSVGElement }; +//# sourceMappingURL=is-svg-element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs new file mode 100644 index 0000000..e61de12 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs @@ -0,0 +1,12 @@ +import { isSVGElement } from './is-svg-element.mjs'; + +/** + * Checks if an element is specifically an SVGSVGElement (the root SVG element) + * in a way that works across iframes + */ +function isSVGSVGElement(element) { + return isSVGElement(element) && element.tagName === "svg"; +} + +export { isSVGSVGElement }; +//# sourceMappingURL=is-svg-svg-element.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/color.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/color.mjs new file mode 100644 index 0000000..6d6d6f9 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/color.mjs @@ -0,0 +1,49 @@ +import { warning } from 'motion-utils'; +import { hex } from '../../value/types/color/hex.mjs'; +import { hsla } from '../../value/types/color/hsla.mjs'; +import { hslaToRgba } from '../../value/types/color/hsla-to-rgba.mjs'; +import { rgba } from '../../value/types/color/rgba.mjs'; +import { mixImmediate } from './immediate.mjs'; +import { mixNumber } from './number.mjs'; + +// Linear color space blending +// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw +// Demonstrated http://codepen.io/osublake/pen/xGVVaN +const mixLinearColor = (from, to, v) => { + const fromExpo = from * from; + const expo = v * (to * to - fromExpo) + fromExpo; + return expo < 0 ? 0 : Math.sqrt(expo); +}; +const colorTypes = [hex, rgba, hsla]; +const getColorType = (v) => colorTypes.find((type) => type.test(v)); +function asRGBA(color) { + const type = getColorType(color); + if (!type) { + warning(false, `'${color}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"); + return false; + } + let model = type.parse(color); + if (type === hsla) { + // TODO Remove this cast - needed since Motion's stricter typing + model = hslaToRgba(model); + } + return model; +} +const mixColor = (from, to) => { + const fromRGBA = asRGBA(from); + const toRGBA = asRGBA(to); + if (!fromRGBA || !toRGBA) { + return mixImmediate(from, to); + } + const blended = { ...fromRGBA }; + return (v) => { + blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v); + blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v); + blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v); + blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v); + return rgba.transform(blended); + }; +}; + +export { mixColor, mixLinearColor }; +//# sourceMappingURL=color.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/complex.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/complex.mjs new file mode 100644 index 0000000..687a641 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/complex.mjs @@ -0,0 +1,93 @@ +import { pipe, warning } from 'motion-utils'; +import { isCSSVariableToken } from '../../animation/utils/is-css-variable.mjs'; +import { color } from '../../value/types/color/index.mjs'; +import { complex, analyseComplexValue } from '../../value/types/complex/index.mjs'; +import { mixColor } from './color.mjs'; +import { mixImmediate } from './immediate.mjs'; +import { mixNumber as mixNumber$1 } from './number.mjs'; +import { invisibleValues, mixVisibility } from './visibility.mjs'; + +function mixNumber(a, b) { + return (p) => mixNumber$1(a, b, p); +} +function getMixer(a) { + if (typeof a === "number") { + return mixNumber; + } + else if (typeof a === "string") { + return isCSSVariableToken(a) + ? mixImmediate + : color.test(a) + ? mixColor + : mixComplex; + } + else if (Array.isArray(a)) { + return mixArray; + } + else if (typeof a === "object") { + return color.test(a) ? mixColor : mixObject; + } + return mixImmediate; +} +function mixArray(a, b) { + const output = [...a]; + const numValues = output.length; + const blendValue = a.map((v, i) => getMixer(v)(v, b[i])); + return (p) => { + for (let i = 0; i < numValues; i++) { + output[i] = blendValue[i](p); + } + return output; + }; +} +function mixObject(a, b) { + const output = { ...a, ...b }; + const blendValue = {}; + for (const key in output) { + if (a[key] !== undefined && b[key] !== undefined) { + blendValue[key] = getMixer(a[key])(a[key], b[key]); + } + } + return (v) => { + for (const key in blendValue) { + output[key] = blendValue[key](v); + } + return output; + }; +} +function matchOrder(origin, target) { + const orderedOrigin = []; + const pointers = { color: 0, var: 0, number: 0 }; + for (let i = 0; i < target.values.length; i++) { + const type = target.types[i]; + const originIndex = origin.indexes[type][pointers[type]]; + const originValue = origin.values[originIndex] ?? 0; + orderedOrigin[i] = originValue; + pointers[type]++; + } + return orderedOrigin; +} +const mixComplex = (origin, target) => { + const template = complex.createTransformer(target); + const originStats = analyseComplexValue(origin); + const targetStats = analyseComplexValue(target); + const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length && + originStats.indexes.color.length === targetStats.indexes.color.length && + originStats.indexes.number.length >= targetStats.indexes.number.length; + if (canInterpolate) { + if ((invisibleValues.has(origin) && + !targetStats.values.length) || + (invisibleValues.has(target) && + !originStats.values.length)) { + return mixVisibility(origin, target); + } + return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template); + } + else { + warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, "complex-values-different"); + return mixImmediate(origin, target); + } +}; + +export { getMixer, mixArray, mixComplex, mixObject }; +//# sourceMappingURL=complex.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs new file mode 100644 index 0000000..12ca872 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs @@ -0,0 +1,6 @@ +function mixImmediate(a, b) { + return (p) => (p > 0 ? b : a); +} + +export { mixImmediate }; +//# sourceMappingURL=immediate.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/index.mjs new file mode 100644 index 0000000..8855bb8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/index.mjs @@ -0,0 +1,43 @@ +import { sanitize } from '../../value/types/utils/sanitize.mjs'; +import { getMixer } from './complex.mjs'; +import { mixNumber } from './number.mjs'; + +/** + * A single number with an optional unit, e.g. "50%", "-10px", ".5em". + * Exponents don't match, so they fall through to the complex mixer. + */ +const unitValue = /^(-?(?:\d+(?:\.\d*)?|\.\d+))([a-z%]*)$/iu; +/** + * Most CSS values Motion mixes are a single number with a unit. Mixing + * these directly produces the same output as the complex mixer + * ("25%", "0.33333px") without tokenising both strings. + */ +function mixUnit(from, to) { + const a = unitValue.exec(from); + if (!a) + return; + const b = unitValue.exec(to); + if (!b || a[2] !== b[2]) + return; + const unit = a[2]; + const origin = parseFloat(a[1]); + const target = parseFloat(b[1]); + return (p) => sanitize(mixNumber(origin, target, p)) + unit; +} +function mix(from, to, p) { + if (typeof from === "number" && + typeof to === "number" && + typeof p === "number") { + return mixNumber(from, to, p); + } + if (typeof from === "string" && typeof to === "string") { + const mixer = mixUnit(from, to); + if (mixer) + return mixer; + } + const mixer = getMixer(from); + return mixer(from, to); +} + +export { mix }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/number.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/number.mjs new file mode 100644 index 0000000..1e19dfc --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/number.mjs @@ -0,0 +1,27 @@ +/* + Value in range from progress + + Given a lower limit and an upper limit, we return the value within + that range as expressed by progress (usually a number from 0 to 1) + + So progress = 0.5 would change + + from -------- to + + to + + from ---- to + + E.g. from = 10, to = 20, progress = 0.5 => 15 + + @param [number]: Lower limit of range + @param [number]: Upper limit of range + @param [number]: The progress between lower and upper limits expressed 0-1 + @return [number]: Value as calculated from progress within range (not limited within range) +*/ +const mixNumber = (from, to, progress) => { + return from + (to - from) * progress; +}; + +export { mixNumber }; +//# sourceMappingURL=number.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs new file mode 100644 index 0000000..3810ffe --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs @@ -0,0 +1,17 @@ +const invisibleValues = new Set(["none", "hidden"]); +/** + * Returns a function that, when provided a progress value between 0 and 1, + * will return the "none" or "hidden" string only when the progress is that of + * the origin or target. + */ +function mixVisibility(origin, target) { + if (invisibleValues.has(origin)) { + return (p) => (p <= 0 ? origin : target); + } + else { + return (p) => (p >= 1 ? target : origin); + } +} + +export { invisibleValues, mixVisibility }; +//# sourceMappingURL=visibility.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs new file mode 100644 index 0000000..a90b0c3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs @@ -0,0 +1,21 @@ +function resolveElements(elementOrSelector, scope, selectorCache) { + if (elementOrSelector == null) { + return []; + } + if (elementOrSelector instanceof EventTarget) { + return [elementOrSelector]; + } + else if (typeof elementOrSelector === "string") { + let root = document; + if (scope) { + root = scope.current; + } + const elements = selectorCache?.[elementOrSelector] ?? + root.querySelectorAll(elementOrSelector); + return elements ? Array.from(elements) : []; + } + return Array.from(elementOrSelector).filter((element) => element != null); +} + +export { resolveElements }; +//# sourceMappingURL=resolve-elements.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/stagger.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/stagger.mjs new file mode 100644 index 0000000..fe61568 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/stagger.mjs @@ -0,0 +1,60 @@ +import { easingDefinitionToFunction } from 'motion-utils'; + +function getOriginIndex(from, total) { + if (from === "first") { + return 0; + } + else { + const lastIndex = total - 1; + return from === "last" ? lastIndex : lastIndex / 2; + } +} +function stagger(duration = 0.1, { startDelay = 0, from = 0, ease, grid } = {}) { + /** + * Distances from the origin for each element count. The final entry + * holds the distance used to normalise easing. + */ + const cache = {}; + return (i, total) => { + let distances = cache[total]; + if (!distances) { + const [columns, rows] = grid || [Infinity, 1]; + const lastX = Math.min(columns, total) - 1; + const lastY = Math.max(rows, Math.ceil(total / columns)) - 1; + const isIndex = typeof from === "number"; + const scale = from === "first" ? 0 : from === "last" ? 1 : 0.5; + const originX = isIndex ? from % columns : lastX * scale; + const originY = isIndex ? Math.floor(from / columns) : lastY * scale; + distances = cache[total] = []; + for (let j = 0; j < total; j++) { + const x = j % columns; + const y = Math.floor(j / columns); + const edgeX = Math.min(x, lastX - x); + const edgeY = Math.min(y, lastY - y); + if (from === "random") { + // Inside-out shuffle, so each element gets a distinct step + const k = (Math.random() * (j + 1)) | 0; + distances[j] = distances[k]; + distances[k] = j; + } + else { + distances[j] = + from === "edges" + ? Math.min(lastX ? edgeX : edgeY, lastY ? edgeY : edgeX) + : Math.hypot(x - originX, y - originY); + } + } + distances.push(grid ? Math.max(...distances) : total); + } + let delay = duration * distances[i]; + const maxDelay = duration * distances[total]; + if (ease && maxDelay) { + const easingFunction = easingDefinitionToFunction(ease); + delay = easingFunction(delay / maxDelay) * maxDelay; + } + return startDelay + delay; + }; +} + +export { getOriginIndex, stagger }; +//# sourceMappingURL=stagger.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/flags.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/flags.mjs new file mode 100644 index 0000000..e0682b1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/flags.mjs @@ -0,0 +1,8 @@ +/** + * Add the ability for test suites to manually set support flags + * to better test more environments. + */ +const supportsFlags = {}; + +export { supportsFlags }; +//# sourceMappingURL=flags.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs new file mode 100644 index 0000000..38f3729 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs @@ -0,0 +1,16 @@ +import { memoSupports } from './memo.mjs'; + +const supportsLinearEasing = /*@__PURE__*/ memoSupports(() => { + try { + document + .createElement("div") + .animate({ opacity: 0 }, { easing: "linear(0, 1)" }); + } + catch (e) { + return false; + } + return true; +}, "linearEasing"); + +export { supportsLinearEasing }; +//# sourceMappingURL=linear-easing.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/memo.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/memo.mjs new file mode 100644 index 0000000..e8dd26a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/memo.mjs @@ -0,0 +1,10 @@ +import { memo } from 'motion-utils'; +import { supportsFlags } from './flags.mjs'; + +function memoSupports(callback, supportsFlag) { + const memoized = memo(callback); + return () => supportsFlags[supportsFlag] ?? memoized(); +} + +export { memoSupports }; +//# sourceMappingURL=memo.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs new file mode 100644 index 0000000..59d9549 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs @@ -0,0 +1,7 @@ +import { memoSupports } from './memo.mjs'; + +const supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== undefined, "scrollTimeline"); +const supportsViewTimeline = /* @__PURE__ */ memoSupports(() => window.ViewTimeline !== undefined, "viewTimeline"); + +export { supportsScrollTimeline, supportsViewTimeline }; +//# sourceMappingURL=scroll-timeline.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/transform.mjs new file mode 100644 index 0000000..74b624e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/utils/transform.mjs @@ -0,0 +1,15 @@ +import { interpolate } from './interpolate.mjs'; + +function transform(...args) { + const useImmediate = !Array.isArray(args[0]); + const argOffset = useImmediate ? 0 : -1; + const inputValue = args[0 + argOffset]; + const inputRange = args[1 + argOffset]; + const outputRange = args[2 + argOffset]; + const options = args[3 + argOffset]; + const interpolator = interpolate(inputRange, outputRange, options); + return useImmediate ? interpolator(inputValue) : interpolator; +} + +export { transform }; +//# sourceMappingURL=transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/follow-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/follow-value.mjs new file mode 100644 index 0000000..9fac9a9 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/follow-value.mjs @@ -0,0 +1,50 @@ +import { motionValue } from './index.mjs'; +import { keyframes } from '../animation/generators/keyframes.mjs'; +import { replaceTransitionType } from '../animation/utils/replace-transition-type.mjs'; +import { follow } from './utils/follow.mjs'; +import { isMotionValue } from './utils/is-motion-value.mjs'; + +/** + * Create a `MotionValue` that animates to its latest value using any transition type. + * Can either be a value or track another `MotionValue`. + * + * ```jsx + * const x = motionValue(0) + * const y = followValue(x, { type: "spring", stiffness: 300 }) + * // or with tween + * const z = followValue(x, { type: "tween", duration: 0.5, ease: "easeOut" }) + * ``` + * + * @param source - Initial value or MotionValue to track + * @param options - Animation transition options + * @returns `MotionValue` + * + * @public + */ +function followValue(source, options) { + const initialValue = isMotionValue(source) ? source.get() : source; + const value = motionValue(initialValue); + attachFollow(value, source, options); + return value; +} +/** + * Attach an animation to a MotionValue that will animate whenever the value changes. + * Similar to attachSpring but supports any transition type (spring, tween, inertia, etc.) + * + * @param value - The MotionValue to animate + * @param source - Initial value or MotionValue to track + * @param options - Animation transition options + * @returns Cleanup function + * + * @public + */ +function attachFollow(value, source, options = {}) { + // Default to spring if no type specified (matches useSpring behavior) + const transition = { type: "spring", ...options }; + replaceTransitionType(transition); + transition.type = transition.type || keyframes; + return follow(value, source, transition); +} + +export { attachFollow, followValue }; +//# sourceMappingURL=follow-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/index.mjs new file mode 100644 index 0000000..908958a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/index.mjs @@ -0,0 +1,380 @@ +import { warnOnce, SubscriptionManager, velocityPerSecond } from 'motion-utils'; +import { time } from '../frameloop/sync-time.mjs'; +import { frame } from '../frameloop/frame.mjs'; + +/** + * Maximum time between the value of two frames, beyond which we + * assume the velocity has since been 0. + */ +const MAX_VELOCITY_DELTA = 30; +const isFloat = (value) => { + return !isNaN(parseFloat(value)); +}; +const collectMotionValues = { + current: undefined, +}; +/** + * `MotionValue` is used to track the state and velocity of motion values. + * + * @public + */ +class MotionValue { + /** + * @param init - The initiating value + * @param config - Optional configuration options + * + * - `transformer`: A function to transform incoming values with. + */ + constructor(init, options = {}) { + /** + * Tracks whether this value can output a velocity. Currently this is only true + * if the value is numerical, but we might be able to widen the scope here and support + * other value types. + * + * @internal + */ + this.canTrackVelocity = null; + /** + * An object containing a SubscriptionManager for each active event. + */ + this.events = {}; + this.updateAndNotify = (v) => { + const currentTime = time.now(); + /** + * If we're updating the value during another frame or eventloop + * than the previous frame, then the we set the previous frame value + * to current. + */ + if (this.updatedAt !== currentTime) { + this.setPrevFrameValue(); + } + this.prev = this.current; + this.setCurrent(v); + // Update update subscribers + if (this.current !== this.prev) { + this.notifyChange(); + if (this.dependents) { + for (const dependent of this.dependents) { + dependent.dirty(); + } + } + } + }; + this.hasAnimated = false; + this.setCurrent(init); + this.owner = options.owner; + } + setCurrent(current) { + this.current = current; + this.updatedAt = time.now(); + if (this.canTrackVelocity === null && current !== undefined) { + this.canTrackVelocity = isFloat(this.current); + } + } + setPrevFrameValue(prevFrameValue = this.current) { + this.prevFrameValue = prevFrameValue; + this.prevUpdatedAt = this.updatedAt; + } + /** + * Adds a function that will be notified when the `MotionValue` is updated. + * + * It returns a function that, when called, will cancel the subscription. + * + * When calling `onChange` inside a React component, it should be wrapped with the + * `useEffect` hook. As it returns an unsubscribe function, this should be returned + * from the `useEffect` function to ensure you don't add duplicate subscribers.. + * + * ```jsx + * export const MyComponent = () => { + * const x = useMotionValue(0) + * const y = useMotionValue(0) + * const opacity = useMotionValue(1) + * + * useEffect(() => { + * function updateOpacity() { + * const maxXY = Math.max(x.get(), y.get()) + * const newOpacity = transform(maxXY, [0, 100], [1, 0]) + * opacity.set(newOpacity) + * } + * + * const unsubscribeX = x.on("change", updateOpacity) + * const unsubscribeY = y.on("change", updateOpacity) + * + * return () => { + * unsubscribeX() + * unsubscribeY() + * } + * }, []) + * + * return <motion.div style={{ x }} /> + * } + * ``` + * + * @param subscriber - A function that receives the latest value. + * @returns A function that, when called, will cancel this subscription. + * + * @deprecated + */ + onChange(subscription) { + if (process.env.NODE_ENV !== "production") { + warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on("change", callback).`); + } + return this.on("change", subscription); + } + on(eventName, callback) { + var _a; + if (eventName === "change") + return this.onChangeSubscribe(callback); + return ((_a = this.events)[eventName] || (_a[eventName] = new SubscriptionManager())).add(callback); + } + onChangeSubscribe(callback) { + const { events } = this; + if (!events.change && !this.changeSubscriber) { + this.changeSubscriber = callback; + } + else { + if (!events.change) { + events.change = new SubscriptionManager(); + events.change.add(this.changeSubscriber); + this.changeSubscriber = undefined; + } + events.change.add(callback); + } + return () => { + if (this.changeSubscriber === callback) { + this.changeSubscriber = undefined; + } + else { + events.change?.remove(callback); + } + this.stopIfUnobserved(); + }; + } + /** + * If we have no more change listeners by the start + * of the next frame, stop active animations. + */ + stopIfUnobserved() { + frame.read(() => { + if (!this.changeSubscriber && !this.events.change?.getSize()) { + this.stop(); + } + }); + } + clearListeners() { + this.changeSubscriber = undefined; + for (const eventManagers in this.events) { + this.events[eventManagers].clear(); + } + } + /** + * Attaches a passive effect to the `MotionValue`. + */ + attach(passiveEffect, stopPassiveEffect) { + this.passiveEffect = passiveEffect; + this.stopPassiveEffect = stopPassiveEffect; + } + /** + * Sets the state of the `MotionValue`. + * + * @remarks + * + * ```jsx + * const x = useMotionValue(0) + * x.set(10) + * ``` + * + * @param latest - Latest value to set. + * @param render - Whether to notify render subscribers. Defaults to `true` + * + * @public + */ + set(v) { + if (!this.passiveEffect) { + this.updateAndNotify(v); + } + else { + this.passiveEffect(v, this.updateAndNotify); + } + } + setWithVelocity(prev, current, delta) { + this.set(current); + this.prev = undefined; + this.prevFrameValue = prev; + this.prevUpdatedAt = this.updatedAt - delta; + } + /** + * Set the state of the `MotionValue`, stopping any active animations, + * effects, and resets velocity to `0`. + */ + jump(v, endAnimation = true) { + this.updateAndNotify(v); + this.prev = v; + this.prevUpdatedAt = this.prevFrameValue = undefined; + endAnimation && this.stop(); + if (this.stopPassiveEffect) + this.stopPassiveEffect(); + } + dirty() { + this.notifyChange(); + } + notifyChange() { + const { current, changeSubscriber } = this; + /** + * One or the other exists. Subscribing during the direct + * subscriber's call moves it into a new manager, which must not + * then be notified for the same change. + */ + if (changeSubscriber) { + changeSubscriber(current); + } + else { + this.events.change?.notify(current); + } + } + addDependent(dependent) { + if (!this.dependents) { + this.dependents = new Set(); + } + this.dependents.add(dependent); + } + removeDependent(dependent) { + if (this.dependents) { + this.dependents.delete(dependent); + } + } + /** + * Returns the latest state of `MotionValue` + * + * @returns - The latest state of `MotionValue` + * + * @public + */ + get() { + if (collectMotionValues.current) { + collectMotionValues.current.push(this); + } + /** + * A value animating on the compositor isn't updated every frame, + * so read it from its animation. + */ + const sampled = this.animation?.liveValue?.(); + return sampled === undefined ? this.current : sampled; + } + /** + * The value as last set. Unlike get(), this doesn't read an animation + * running on the compositor, which renders the value itself. + */ + getCurrent() { + return this.current; + } + /** + * @public + */ + getPrevious() { + return this.prev; + } + /** + * Returns the latest velocity of `MotionValue` + * + * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical. + * + * @public + */ + getVelocity() { + const currentTime = time.now(); + if (!this.canTrackVelocity || + this.prevFrameValue === undefined || + currentTime - this.updatedAt > MAX_VELOCITY_DELTA) { + return 0; + } + const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA); + // Casts because of parseFloat's poor typing + return velocityPerSecond(parseFloat(this.current) - + parseFloat(this.prevFrameValue), delta); + } + /** + * Registers a new animation to control this `MotionValue`. Only one + * animation can drive a `MotionValue` at one time. + * + * ```jsx + * value.start() + * ``` + * + * @param animation - A function that starts the provided animation + */ + start(startAnimation) { + this.stop(); + return new Promise((resolve) => { + this.hasAnimated = true; + /** + * Complete synchronously via the callback rather than chaining a + * second promise per animation. Guard against animations that + * complete before startAnimation has returned. + */ + let isComplete = false; + let animation; + // eslint-disable-next-line prefer-const -- read by the callback before assignment when completing synchronously + animation = startAnimation(() => { + isComplete = true; + this.events.animationComplete?.notify(); + if (this.animation === animation) + this.clearAnimation(); + resolve(); + }); + if (!isComplete) + this.animation = animation; + this.events.animationStart?.notify(); + }); + } + /** + * Stop the currently active animation. + * + * @public + */ + stop() { + if (this.animation) { + this.animation.stop(); + if (this.events.animationCancel) { + this.events.animationCancel.notify(); + } + } + this.clearAnimation(); + } + /** + * Returns `true` if this value is currently animating. + * + * @public + */ + isAnimating() { + return !!this.animation; + } + clearAnimation() { + // Assign rather than delete to keep the object's shape stable + this.animation = undefined; + } + /** + * Destroy and clean up subscribers to this `MotionValue`. + * + * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically + * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually + * created a `MotionValue` via the `motionValue` function. + * + * @public + */ + destroy() { + this.dependents?.clear(); + this.events.destroy?.notify(); + this.clearListeners(); + this.stop(); + if (this.stopPassiveEffect) { + this.stopPassiveEffect(); + } + } +} +function motionValue(init, options) { + return new MotionValue(init, options); +} + +export { MotionValue, collectMotionValues, motionValue }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/map-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/map-value.mjs new file mode 100644 index 0000000..d3eb12f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/map-value.mjs @@ -0,0 +1,47 @@ +import { transform } from '../utils/transform.mjs'; +import { transformValue } from './transform-value.mjs'; + +/** + * Create a `MotionValue` that maps the output of another `MotionValue` by + * mapping it from one range of values into another. + * + * @remarks + * + * Given an input range of `[-200, -100, 100, 200]` and an output range of + * `[0, 1, 1, 0]`, the returned `MotionValue` will: + * + * - When provided a value between `-200` and `-100`, will return a value between `0` and `1`. + * - When provided a value between `-100` and `100`, will return `1`. + * - When provided a value between `100` and `200`, will return a value between `1` and `0` + * + * The input range must be a linear series of numbers. The output range + * can be any value type supported by Motion: numbers, colors, shadows, etc. + * + * Every value in the output range must be of the same type and in the same format. + * + * ```jsx + * const x = motionValue(0) + * const xRange = [-200, -100, 100, 200] + * const opacityRange = [0, 1, 1, 0] + * const opacity = mapValue(x, xRange, opacityRange) + * ``` + * + * @param inputValue - `MotionValue` + * @param inputRange - A linear series of numbers (either all increasing or decreasing) + * @param outputRange - A series of numbers, colors or strings. Must be the same length as `inputRange`. + * @param options - + * + * - clamp: boolean. Clamp values to within the given range. Defaults to `true` + * - ease: EasingFunction[]. Easing functions to use on the interpolations between each value in the input and output ranges. If provided as an array, the array must be one item shorter than the input and output ranges, as the easings apply to the transition between each. + * + * @returns `MotionValue` + * + * @public + */ +function mapValue(inputValue, inputRange, outputRange, options) { + const map = transform(inputRange, outputRange, options); + return transformValue(() => map(inputValue.get())); +} + +export { mapValue }; +//# sourceMappingURL=map-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/spring-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/spring-value.mjs new file mode 100644 index 0000000..0e956f4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/spring-value.mjs @@ -0,0 +1,41 @@ +import { motionValue } from './index.mjs'; +import { spring } from '../animation/generators/spring.mjs'; +import { follow } from './utils/follow.mjs'; +import { isMotionValue } from './utils/is-motion-value.mjs'; + +/** + * Create a `MotionValue` that animates to its latest value using a spring. + * Can either be a value or track another `MotionValue`. + * + * ```jsx + * const x = motionValue(0) + * const y = springValue(x, { stiffness: 300 }) + * ``` + * + * @param source - Initial value or MotionValue to track + * @param options - Spring configuration options + * @returns `MotionValue` + * + * @public + */ +function springValue(source, options) { + const value = motionValue(isMotionValue(source) ? source.get() : source); + attachSpring(value, source, options); + return value; +} +/** + * Attach a spring animation to a MotionValue that will animate whenever the value changes. + * + * @param value - The MotionValue to animate + * @param source - Initial value or MotionValue to track + * @param options - Spring configuration options + * @returns Cleanup function + * + * @public + */ +function attachSpring(value, source, options) { + return follow(value, source, { ...options, type: spring }); +} + +export { attachSpring, springValue }; +//# sourceMappingURL=spring-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/subscribe-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/subscribe-value.mjs new file mode 100644 index 0000000..166c874 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/subscribe-value.mjs @@ -0,0 +1,14 @@ +import { cancelFrame, frame } from '../frameloop/frame.mjs'; + +function subscribeValue(inputValues, outputValue, getLatest) { + const update = () => outputValue.set(getLatest()); + const scheduleUpdate = () => frame.preRender(update, false, true); + const subscriptions = inputValues.map((v) => v.on("change", scheduleUpdate)); + outputValue.on("destroy", () => { + subscriptions.forEach((unsubscribe) => unsubscribe()); + cancelFrame(update); + }); +} + +export { subscribeValue }; +//# sourceMappingURL=subscribe-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/transform-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/transform-value.mjs new file mode 100644 index 0000000..fd2c4e0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/transform-value.mjs @@ -0,0 +1,36 @@ +import { collectMotionValues, motionValue } from './index.mjs'; +import { subscribeValue } from './subscribe-value.mjs'; + +/** + * Create a `MotionValue` that transforms the output of other `MotionValue`s by + * passing their latest values through a transform function. + * + * Whenever a `MotionValue` referred to in the provided function is updated, + * it will be re-evaluated. + * + * ```jsx + * const x = motionValue(0) + * const y = transformValue(() => x.get() * 2) // double x + * ``` + * + * @param transformer - A transform function. This function must be pure with no side-effects or conditional statements. + * @returns `MotionValue` + * + * @public + */ +function transformValue(transform) { + const collectedValues = []; + /** + * Open session of collectMotionValues. Any MotionValue that calls get() + * inside transform will be saved into this array. + */ + collectMotionValues.current = collectedValues; + const initialValue = transform(); + collectMotionValues.current = undefined; + const value = motionValue(initialValue); + subscribeValue(collectedValues, value, transform); + return value; +} + +export { transformValue }; +//# sourceMappingURL=transform-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/auto.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/auto.mjs new file mode 100644 index 0000000..b514b87 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/auto.mjs @@ -0,0 +1,10 @@ +/** + * ValueType for "auto" + */ +const auto = { + test: (v) => v === "auto", + parse: (v) => v, +}; + +export { auto }; +//# sourceMappingURL=auto.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hex.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hex.mjs new file mode 100644 index 0000000..1ec7840 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hex.mjs @@ -0,0 +1,41 @@ +import { rgba } from './rgba.mjs'; +import { isColorString } from './utils.mjs'; + +function parseHex(v) { + let r = ""; + let g = ""; + let b = ""; + let a = ""; + // If we have 6 characters, ie #FF0000 + if (v.length > 5) { + r = v.substring(1, 3); + g = v.substring(3, 5); + b = v.substring(5, 7); + a = v.substring(7, 9); + // Or we have 3 characters, ie #F00 + } + else { + r = v.substring(1, 2); + g = v.substring(2, 3); + b = v.substring(3, 4); + a = v.substring(4, 5); + r += r; + g += g; + b += b; + a += a; + } + return { + red: parseInt(r, 16), + green: parseInt(g, 16), + blue: parseInt(b, 16), + alpha: a ? parseInt(a, 16) / 255 : 1, + }; +} +const hex = { + test: /*@__PURE__*/ isColorString("#"), + parse: parseHex, + transform: rgba.transform, +}; + +export { hex }; +//# sourceMappingURL=hex.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs new file mode 100644 index 0000000..75a4e52 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs @@ -0,0 +1,43 @@ +// Adapted from https://gist.github.com/mjackson/5311256 +function hueToRgb(p, q, t) { + if (t < 0) + t += 1; + if (t > 1) + t -= 1; + if (t < 1 / 6) + return p + (q - p) * 6 * t; + if (t < 1 / 2) + return q; + if (t < 2 / 3) + return p + (q - p) * (2 / 3 - t) * 6; + return p; +} +function hslaToRgba({ hue, saturation, lightness, alpha }) { + hue /= 360; + saturation /= 100; + lightness /= 100; + let red = 0; + let green = 0; + let blue = 0; + if (!saturation) { + red = green = blue = lightness; + } + else { + const q = lightness < 0.5 + ? lightness * (1 + saturation) + : lightness + saturation - lightness * saturation; + const p = 2 * lightness - q; + red = hueToRgb(p, q, hue + 1 / 3); + green = hueToRgb(p, q, hue); + blue = hueToRgb(p, q, hue - 1 / 3); + } + return { + red: Math.round(red * 255), + green: Math.round(green * 255), + blue: Math.round(blue * 255), + alpha, + }; +} + +export { hslaToRgba }; +//# sourceMappingURL=hsla-to-rgba.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs new file mode 100644 index 0000000..d1af665 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs @@ -0,0 +1,23 @@ +import { alpha } from '../numbers/index.mjs'; +import { percent } from '../numbers/units.mjs'; +import { sanitize } from '../utils/sanitize.mjs'; +import { splitColor, isColorString } from './utils.mjs'; + +const hsla = { + test: /*@__PURE__*/ isColorString("hsl", "hue"), + parse: /*@__PURE__*/ splitColor("hue", "saturation", "lightness"), + transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => { + return ("hsla(" + + Math.round(hue) + + ", " + + percent.transform(sanitize(saturation)) + + ", " + + percent.transform(sanitize(lightness)) + + ", " + + sanitize(alpha.transform(alpha$1)) + + ")"); + }, +}; + +export { hsla }; +//# sourceMappingURL=hsla.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/index.mjs new file mode 100644 index 0000000..8de642b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/index.mjs @@ -0,0 +1,33 @@ +import { hex } from './hex.mjs'; +import { hsla } from './hsla.mjs'; +import { rgba } from './rgba.mjs'; + +const color = { + test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v), + parse: (v) => { + if (rgba.test(v)) { + return rgba.parse(v); + } + else if (hsla.test(v)) { + return hsla.parse(v); + } + else { + return hex.parse(v); + } + }, + transform: (v) => { + return typeof v === "string" + ? v + : v.hasOwnProperty("red") + ? rgba.transform(v) + : hsla.transform(v); + }, + getAnimatableNone: (v) => { + const parsed = color.parse(v); + parsed.alpha = 0; + return color.transform(parsed); + }, +}; + +export { color }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs new file mode 100644 index 0000000..8c27af7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs @@ -0,0 +1,26 @@ +import { clamp } from 'motion-utils'; +import { number, alpha } from '../numbers/index.mjs'; +import { sanitize } from '../utils/sanitize.mjs'; +import { splitColor, isColorString } from './utils.mjs'; + +const clampRgbUnit = (v) => clamp(0, 255, v); +const rgbUnit = { + ...number, + transform: (v) => Math.round(clampRgbUnit(v)), +}; +const rgba = { + test: /*@__PURE__*/ isColorString("rgb", "red"), + parse: /*@__PURE__*/ splitColor("red", "green", "blue"), + transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + + rgbUnit.transform(red) + + ", " + + rgbUnit.transform(green) + + ", " + + rgbUnit.transform(blue) + + ", " + + sanitize(alpha.transform(alpha$1)) + + ")", +}; + +export { rgbUnit, rgba }; +//# sourceMappingURL=rgba.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/utils.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/utils.mjs new file mode 100644 index 0000000..cc4bd12 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/color/utils.mjs @@ -0,0 +1,30 @@ +import { floatRegex } from '../utils/float-regex.mjs'; +import { isNullish } from '../utils/is-nullish.mjs'; +import { singleColorRegex } from '../utils/single-color-regex.mjs'; + +/** + * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000, + * but false if a number or multiple colors + */ +const isColorString = (type, testProp) => (v) => { + return Boolean((typeof v === "string" && + singleColorRegex.test(v) && + v.startsWith(type)) || + (testProp && + !isNullish(v) && + Object.prototype.hasOwnProperty.call(v, testProp))); +}; +const splitColor = (aName, bName, cName) => (v) => { + if (typeof v !== "string") + return v; + const [a, b, c, alpha] = v.match(floatRegex); + return { + [aName]: parseFloat(a), + [bName]: parseFloat(b), + [cName]: parseFloat(c), + alpha: alpha !== undefined ? parseFloat(alpha) : 1, + }; +}; + +export { isColorString, splitColor }; +//# sourceMappingURL=utils.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs new file mode 100644 index 0000000..c0237bc --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs @@ -0,0 +1,31 @@ +import { complex } from './index.mjs'; +import { floatRegex } from '../utils/float-regex.mjs'; + +/** + * Properties that should default to 1 or 100% + */ +const maxDefaults = new Set(["brightness", "contrast", "saturate", "opacity"]); +function applyDefaultFilter(v) { + const [name, value] = v.slice(0, -1).split("("); + if (name === "drop-shadow") + return v; + const [number] = value.match(floatRegex) || []; + if (!number) + return v; + const unit = value.replace(number, ""); + let defaultValue = maxDefaults.has(name) ? 1 : 0; + if (number !== value) + defaultValue *= 100; + return name + "(" + defaultValue + unit + ")"; +} +const functionRegex = /\b([a-z-]*)\(.*?\)/gu; +const filter = { + ...complex, + getAnimatableNone: (v) => { + const functions = v.match(functionRegex); + return functions ? functions.map(applyDefaultFilter).join(" ") : v; + }, +}; + +export { filter }; +//# sourceMappingURL=filter.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/index.mjs new file mode 100644 index 0000000..def8c9a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/index.mjs @@ -0,0 +1,128 @@ +import { color } from '../color/index.mjs'; +import { colorRegex } from '../utils/color-regex.mjs'; +import { floatRegex } from '../utils/float-regex.mjs'; +import { sanitize } from '../utils/sanitize.mjs'; + +/** + * Non-global copies of the token regexes so test() can use .test() + * (no match array, stops at the first token) without lastIndex state. + */ +const hasFloat = /*@__PURE__*/ new RegExp(floatRegex.source); +const hasColor = /*@__PURE__*/ new RegExp(colorRegex.source, "i"); +function test(v) { + return (isNaN(v) && + typeof v === "string" && + (hasFloat.test(v) || hasColor.test(v))); +} +const NUMBER_TOKEN = "number"; +const COLOR_TOKEN = "color"; +const VAR_TOKEN = "var"; +const VAR_FUNCTION_TOKEN = "var("; +const SPLIT_TOKEN = "${}"; +// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`. +// The lookahead skips digits in function names, like the 3 in matrix3d(. +const complexRegex = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)(?![a-z]*\()/giu; +/** + * Whether analyseComplexValue(value) would find any values, without + * tokenising the string. CSS variables are resolved before this is + * used, so it's enough to look for a number or a color. + */ +function hasComplexValues(value) { + const asString = value.toString(); + return hasFloat.test(asString) || hasColor.test(asString); +} +function analyseComplexValue(value) { + const originalValue = value.toString(); + const values = []; + const indexes = { + color: [], + number: [], + var: [], + }; + const types = []; + let i = 0; + const tokenised = originalValue.replace(complexRegex, (parsedValue) => { + if (color.test(parsedValue)) { + indexes.color.push(i); + types.push(COLOR_TOKEN); + values.push(color.parse(parsedValue)); + } + else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) { + indexes.var.push(i); + types.push(VAR_TOKEN); + values.push(parsedValue); + } + else { + indexes.number.push(i); + types.push(NUMBER_TOKEN); + values.push(parseFloat(parsedValue)); + } + ++i; + return SPLIT_TOKEN; + }); + const split = tokenised.split(SPLIT_TOKEN); + return { values, split, indexes, types }; +} +function parseComplexValue(v) { + return analyseComplexValue(v).values; +} +function buildTransformer({ split, types }) { + const numSections = split.length; + return (v) => { + let output = ""; + for (let i = 0; i < numSections; i++) { + output += split[i]; + if (v[i] !== undefined) { + const type = types[i]; + if (type === NUMBER_TOKEN) { + output += sanitize(v[i]); + } + else if (type === COLOR_TOKEN) { + output += color.transform(v[i]); + } + else { + output += v[i]; + } + } + } + return output; + }; +} +function createTransformer(source) { + return buildTransformer(analyseComplexValue(source)); +} +const convertNumbersToZero = (v) => typeof v === "number" ? 0 : color.test(v) ? color.getAnimatableNone(v) : v; +/** + * Convert a parsed value to its zero equivalent, but preserve numbers + * that act as divisors in CSS calc() expressions. + * + * analyseComplexValue extracts numbers from CSS strings and puts the + * surrounding text into a `split` template array. For example: + * "calc(var(--gap) / 5)" → values: [var(--gap), 5] + * split: ["calc(", " / ", ")"] + * + * When building a zero-equivalent for animation, naively zeroing all + * numbers turns the divisor into 0 → "calc(var(--gap) / 0)" → NaN. + * We detect this by checking whether the text preceding a number + * (split[i]) ends with "/" — the CSS calc division operator. + */ +const convertToZero = (value, splitBefore) => { + if (typeof value === "number") { + return splitBefore?.trim().endsWith("/") ? value : 0; + } + return convertNumbersToZero(value); +}; +function getAnimatableNone(v) { + const info = analyseComplexValue(v); + const transformer = buildTransformer(info); + return transformer(info.values.map((value, i) => convertToZero(value, info.split[i]))); +} +const complex = { + test, + parse: parseComplexValue, + createTransformer, + getAnimatableNone, +}; + +export { analyseComplexValue, complex, hasComplexValues }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs new file mode 100644 index 0000000..2a3bb77 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs @@ -0,0 +1,13 @@ +import { complex } from './index.mjs'; + +const mask = { + ...complex, + getAnimatableNone: (v) => { + const parsed = complex.parse(v); + const transformer = complex.createTransformer(v); + return transformer(parsed.map((v) => typeof v === "number" ? 0 : typeof v === "object" ? { ...v, alpha: 1 } : v)); + }, +}; + +export { mask }; +//# sourceMappingURL=mask.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/dimensions.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/dimensions.mjs new file mode 100644 index 0000000..de40047 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/dimensions.mjs @@ -0,0 +1,16 @@ +import { auto } from './auto.mjs'; +import { number } from './numbers/index.mjs'; +import { px, percent, degrees, vw, vh } from './numbers/units.mjs'; +import { testValueType } from './test.mjs'; + +/** + * A list of value types commonly used for dimensions + */ +const dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto]; +/** + * Tests a dimensional value against the list of dimension ValueTypes + */ +const findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v)); + +export { dimensionValueTypes, findDimensionValueType }; +//# sourceMappingURL=dimensions.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/int.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/int.mjs new file mode 100644 index 0000000..065c6ad --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/int.mjs @@ -0,0 +1,9 @@ +import { number } from './numbers/index.mjs'; + +const int = { + ...number, + transform: Math.round, +}; + +export { int }; +//# sourceMappingURL=int.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs new file mode 100644 index 0000000..ebca742 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs @@ -0,0 +1,34 @@ +import { color } from '../color/index.mjs'; +import { filter } from '../complex/filter.mjs'; +import { mask } from '../complex/mask.mjs'; +import { numberValueTypes } from './number.mjs'; + +/** + * A map of default value types for common values + */ +const defaultValueTypes = { + ...numberValueTypes, + // Color props + color, + backgroundColor: color, + outlineColor: color, + fill: color, + stroke: color, + // Border props + borderColor: color, + borderTopColor: color, + borderRightColor: color, + borderBottomColor: color, + borderLeftColor: color, + filter, + WebkitFilter: filter, + mask, + WebkitMask: mask, +}; +/** + * Gets the default ValueType for the provided value key + */ +const getDefaultValueType = (key) => defaultValueTypes[key]; + +export { defaultValueTypes, getDefaultValueType }; +//# sourceMappingURL=defaults.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/number.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/number.mjs new file mode 100644 index 0000000..e3ee5a2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/number.mjs @@ -0,0 +1,71 @@ +import { int } from '../int.mjs'; +import { alpha } from '../numbers/index.mjs'; +import { px } from '../numbers/units.mjs'; +import { transformValueTypes } from './transform.mjs'; + +const numberValueTypes = { + // Border props + borderWidth: px, + borderTopWidth: px, + borderRightWidth: px, + borderBottomWidth: px, + borderLeftWidth: px, + borderRadius: px, + borderTopLeftRadius: px, + borderTopRightRadius: px, + borderBottomRightRadius: px, + borderBottomLeftRadius: px, + // Positioning props + width: px, + maxWidth: px, + height: px, + maxHeight: px, + top: px, + right: px, + bottom: px, + left: px, + inset: px, + insetBlock: px, + insetBlockStart: px, + insetBlockEnd: px, + insetInline: px, + insetInlineStart: px, + insetInlineEnd: px, + // Spacing props + padding: px, + paddingTop: px, + paddingRight: px, + paddingBottom: px, + paddingLeft: px, + paddingBlock: px, + paddingBlockStart: px, + paddingBlockEnd: px, + paddingInline: px, + paddingInlineStart: px, + paddingInlineEnd: px, + margin: px, + marginTop: px, + marginRight: px, + marginBottom: px, + marginLeft: px, + marginBlock: px, + marginBlockStart: px, + marginBlockEnd: px, + marginInline: px, + marginInlineStart: px, + marginInlineEnd: px, + // Typography + fontSize: px, + // Misc + backgroundPositionX: px, + backgroundPositionY: px, + ...transformValueTypes, + zIndex: int, + // SVG + fillOpacity: alpha, + strokeOpacity: alpha, + numOctaves: int, +}; + +export { numberValueTypes }; +//# sourceMappingURL=number.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs new file mode 100644 index 0000000..b5cc0d9 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs @@ -0,0 +1,38 @@ +import { alpha, scale } from '../numbers/index.mjs'; +import { px, progressPercentage, degrees } from '../numbers/units.mjs'; + +const transformValueTypes = { + rotate: degrees, + /** + * Internal channel for `transition.path` orientToPath. Composed onto + * `rotate` at the transform-build sites so the user's `rotate` is + * never read or overwritten. Not part of `transformPropOrder`. + */ + pathRotation: degrees, + rotateX: degrees, + rotateY: degrees, + rotateZ: degrees, + scale, + scaleX: scale, + scaleY: scale, + scaleZ: scale, + skew: degrees, + skewX: degrees, + skewY: degrees, + distance: px, + translateX: px, + translateY: px, + translateZ: px, + x: px, + y: px, + z: px, + perspective: px, + transformPerspective: px, + opacity: alpha, + originX: progressPercentage, + originY: progressPercentage, + originZ: px, +}; + +export { transformValueTypes }; +//# sourceMappingURL=transform.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs new file mode 100644 index 0000000..9639305 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs @@ -0,0 +1,18 @@ +import { clamp } from 'motion-utils'; + +const number = { + test: (v) => typeof v === "number", + parse: parseFloat, + transform: (v) => v, +}; +const alpha = { + ...number, + transform: (v) => clamp(0, 1, v), +}; +const scale = { + ...number, + default: 1, +}; + +export { alpha, number, scale }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs new file mode 100644 index 0000000..5f59238 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs @@ -0,0 +1,19 @@ +/*#__NO_SIDE_EFFECTS__*/ +const createUnitType = (unit) => ({ + test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1, + parse: parseFloat, + transform: (v) => `${v}${unit}`, +}); +const degrees = /*@__PURE__*/ createUnitType("deg"); +const percent = /*@__PURE__*/ createUnitType("%"); +const px = /*@__PURE__*/ createUnitType("px"); +const vh = /*@__PURE__*/ createUnitType("vh"); +const vw = /*@__PURE__*/ createUnitType("vw"); +const progressPercentage = /*@__PURE__*/ (() => ({ + ...percent, + parse: (v) => percent.parse(v) / 100, + transform: (v) => percent.transform(v * 100), +}))(); + +export { degrees, percent, progressPercentage, px, vh, vw }; +//# sourceMappingURL=units.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/test.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/test.mjs new file mode 100644 index 0000000..26cb26e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/test.mjs @@ -0,0 +1,7 @@ +/** + * Tests a provided value against a ValueType + */ +const testValueType = (v) => (type) => type.test(v); + +export { testValueType }; +//# sourceMappingURL=test.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs new file mode 100644 index 0000000..c4efbc2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs @@ -0,0 +1,18 @@ +import { complex } from '../complex/index.mjs'; +import { filter } from '../complex/filter.mjs'; +import { mask } from '../complex/mask.mjs'; +import { getDefaultValueType } from '../maps/defaults.mjs'; + +const customTypes = /*@__PURE__*/ new Set([filter, mask]); +function getAnimatableNone(key, value) { + let defaultValueType = getDefaultValueType(key); + if (!customTypes.has(defaultValueType)) + defaultValueType = complex; + // If value is not recognised as animatable, ie "none", create an animatable version origin based on the target + return defaultValueType.getAnimatableNone + ? defaultValueType.getAnimatableNone(value) + : undefined; +} + +export { getAnimatableNone }; +//# sourceMappingURL=animatable-none.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs new file mode 100644 index 0000000..645be1e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs @@ -0,0 +1,4 @@ +const colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu; + +export { colorRegex }; +//# sourceMappingURL=color-regex.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/find.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/find.mjs new file mode 100644 index 0000000..aac4531 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/find.mjs @@ -0,0 +1,16 @@ +import { color } from '../color/index.mjs'; +import { complex } from '../complex/index.mjs'; +import { dimensionValueTypes } from '../dimensions.mjs'; +import { testValueType } from '../test.mjs'; + +/** + * A list of all ValueTypes + */ +const valueTypes = [...dimensionValueTypes, color, complex]; +/** + * Tests a value against the list of ValueTypes + */ +const findValueType = (v) => valueTypes.find(testValueType(v)); + +export { findValueType }; +//# sourceMappingURL=find.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs new file mode 100644 index 0000000..2e1cd7d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs @@ -0,0 +1,4 @@ +const floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu; + +export { floatRegex }; +//# sourceMappingURL=float-regex.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs new file mode 100644 index 0000000..768d566 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs @@ -0,0 +1,11 @@ +/** + * Provided a value and a ValueType, returns the value as that value type. + */ +const getValueAsType = (value, type) => { + return type && typeof value === "number" + ? type.transform(value) + : value; +}; + +export { getValueAsType }; +//# sourceMappingURL=get-as-type.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs new file mode 100644 index 0000000..28ccf2f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs @@ -0,0 +1,6 @@ +function isNullish(v) { + return v == null; +} + +export { isNullish }; +//# sourceMappingURL=is-nullish.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs new file mode 100644 index 0000000..8285b23 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs @@ -0,0 +1,6 @@ +// If this number is a decimal, make it just five decimal places +// to avoid exponents +const sanitize = (v) => Math.round(v * 100000) / 100000; + +export { sanitize }; +//# sourceMappingURL=sanitize.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs new file mode 100644 index 0000000..cf67f20 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs @@ -0,0 +1,4 @@ +const singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu; + +export { singleColorRegex }; +//# sourceMappingURL=single-color-regex.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/as-number.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/as-number.mjs new file mode 100644 index 0000000..2b8fd9f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/as-number.mjs @@ -0,0 +1,4 @@ +const asNumber = (v) => typeof v === "number" ? v : parseFloat(v); + +export { asNumber }; +//# sourceMappingURL=as-number.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/follow.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/follow.mjs new file mode 100644 index 0000000..7232bd8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/follow.mjs @@ -0,0 +1,111 @@ +import { FollowAnimation } from '../../animation/FollowAnimation.mjs'; +import { asNumber } from './as-number.mjs'; +import { isMotionValue } from './is-motion-value.mjs'; + +/** + * Animate `value` to its latest value with the generator in + * `options.type`, tracking `source` if it's a `MotionValue`. Takes a + * generator rather than a type name, so spring-only callers don't + * bundle every generator. + */ +function follow(value, source, options) { + const initialValue = value.get(); + let activeAnimation = null; + let set; + const unit = typeof initialValue === "string" + ? initialValue.replace(/[\d.-]/g, "") + : undefined; + const onUpdate = (v) => set((unit ? v + unit : v)); + const onPlay = () => value["events"].animationStart?.notify(); + const stopAnimation = () => { + if (activeAnimation) { + activeAnimation.stop(); + activeAnimation = null; + } + value.animation = undefined; + }; + value.attach((v, safeSet) => { + set = safeSet; + const target = asNumber(v); + if (activeAnimation?.state === "running") { + /** + * Steer the running animation rather than replacing it. This + * keeps its completion promise and uses its analytical velocity + * for accuracy, preventing systematic velocity loss at high + * frame rates (240hz+). + */ + activeAnimation.setTarget(target, options.velocity); + return; + } + const current = asNumber(value.get()); + const velocity = activeAnimation + ? activeAnimation.getGeneratorVelocity() + : value.getVelocity(); + stopAnimation(); + // Don't animate if we're already at the target + if (current === target) + return; + const animationOptions = { + keyframes: [current, target], + velocity, + restDelta: 0.001, + restSpeed: 0.01, + ...options, + onUpdate, + }; + const animation = (activeAnimation = new FollowAnimation({ + ...animationOptions, + onPlay, + })); + value.animation = animation; + animation.then(() => { + // Ignore if this animation has since been replaced + if (activeAnimation !== animation) + return; + activeAnimation = null; + value.animation = undefined; + value["events"].animationComplete?.notify(); + }); + }, stopAnimation); + if (isMotionValue(source)) { + let skipNextAnimation = options.skipInitialAnimation === true; + const onSourceChange = (v) => { + if (skipNextAnimation) { + skipNextAnimation = false; + value.jump(parseValue(v, unit), false); + } + else { + value.set(parseValue(v, unit)); + } + }; + const removeSourceOnChange = source.on("change", onSourceChange); + /** + * Catch up on a change made before we subscribed, for instance + * between a React render reading the source and the effect + * attaching to it. Subtracting is falsy for equal or non-numeric + * (NaN) values. + */ + const latest = source.get(); + if (asNumber(latest) - asNumber(value.get())) + onSourceChange(latest); + const removeValueOnDestroy = value.on("destroy", removeSourceOnChange); + /** + * Stop our animation on detach, otherwise a re-attach (new + * options, Strict Mode) starts a second animation that fights + * this orphaned one. The catch-up above resumes from the + * current value and velocity. + */ + return () => { + removeSourceOnChange(); + removeValueOnDestroy(); + stopAnimation(); + }; + } + return stopAnimation; +} +function parseValue(v, unit) { + return unit ? v + unit : v; +} + +export { follow }; +//# sourceMappingURL=follow.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs new file mode 100644 index 0000000..ae80d22 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs @@ -0,0 +1,4 @@ +const isMotionValue = (value) => Boolean(value && value.getVelocity); + +export { isMotionValue }; +//# sourceMappingURL=is-motion-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs new file mode 100644 index 0000000..72614b6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs @@ -0,0 +1,11 @@ +import { isMotionValue } from './is-motion-value.mjs'; + +/** + * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself + */ +function resolveMotionValue(value) { + return isMotionValue(value) ? value.get() : value; +} + +export { resolveMotionValue }; +//# sourceMappingURL=resolve-motion-value.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs new file mode 100644 index 0000000..6c9ab79 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs @@ -0,0 +1,21 @@ +import { MotionGlobalConfig } from 'motion-utils'; +import { isWillChangeMotionValue } from './is.mjs'; + +function addValueToWillChange(visualElement, key) { + const willChange = visualElement.getValue("willChange"); + /** + * It could be that a user has set willChange to a regular MotionValue, + * in which case we can't add the value to it. + */ + if (isWillChangeMotionValue(willChange)) { + return willChange.add(key); + } + else if (!willChange && MotionGlobalConfig.WillChange) { + const newWillChange = new MotionGlobalConfig.WillChange("auto"); + visualElement.addValue("willChange", newWillChange); + newWillChange.add(key); + } +} + +export { addValueToWillChange }; +//# sourceMappingURL=add-will-change.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/is.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/is.mjs new file mode 100644 index 0000000..b36be11 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/value/will-change/is.mjs @@ -0,0 +1,8 @@ +import { isMotionValue } from '../utils/is-motion-value.mjs'; + +function isWillChangeMotionValue(value) { + return Boolean(isMotionValue(value) && value.add); +} + +export { isWillChangeMotionValue }; +//# sourceMappingURL=is.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/index.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/index.mjs new file mode 100644 index 0000000..639a694 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/index.mjs @@ -0,0 +1,175 @@ +import { noop } from 'motion-utils'; +import { addToQueue } from './queue.mjs'; + +class ViewTransitionBuilder { + constructor(update, options = {}) { + this.currentSubject = "root"; + this.targets = new Map(); + /** + * Definitions that must be resolved to elements (and assigned a + * `view-transition-name`) rather than treated as pre-named layers. + */ + this.resolveDefs = new Set(); + /** + * Per-subject crop override: `true` forces the crop (clip + object-fit: + * cover + animated corner radii) on, `false` forces it off. A subject with + * no entry uses the default - crop only a genuine morph (a layer present in + * both snapshots), so a fade-only enter/exit isn't clipped to nothing. + */ + this.cropOverride = new Map(); + /** + * Subjects paired with a different new-snapshot target (the second `.add()` + * argument), so two distinct elements share one name and morph into each + * other - a shared-element transition. + */ + this.pairs = new Map(); + /** + * A `view-transition-class` to apply to each subject's resolved elements, + * so authors can target the generated layers from CSS by class rather than + * the opaque generated name. + */ + this.classNames = new Map(); + /** + * Subjects opted out of automatic group nesting via `.group(false)`. Their + * layer stays a flat top-level group (`view-transition-group: none`) instead + * of nesting under its DOM-ancestor layer - so it animates independently and + * escapes an ancestor's clip/transform (e.g. an element that lifts out of a + * card and flies across, which nesting would clip to the card). + */ + this.flatGroups = new Set(); + this.notifyReady = noop; + this.notifyReject = noop; + this.readyPromise = new Promise((resolve, reject) => { + this.notifyReady = resolve; + this.notifyReject = reject; + }); + this.update = update; + this.options = { + interrupt: "wait", + ...options, + }; + // Avoid an unhandled rejection when a failed transition has no + // `.then(_, reject)` handler attached (e.g. fire-and-forget). + this.readyPromise.catch(noop); + addToQueue(this); + } + /** + * Target elements resolved from a selector or Element, each assigned a + * `view-transition-name` automatically. + * + * Passing a second target pairs them: the first is resolved in the old + * snapshot and the second in the new, sharing one name so two *different* + * elements morph into each other (e.g. `.add(card, ".modal")`). Symmetric - + * pass them the other way round to morph back. + */ + add(subject, newSubject) { + this.currentSubject = subject; + this.resolveDefs.add(subject); + if (newSubject !== undefined) + this.pairs.set(subject, newSubject); + // Register the subject so it participates (and gets an automatic + // layout/morph animation) even without an explicit enter/exit/layout. + if (!this.targets.has(subject)) + this.targets.set(subject, {}); + return this; + } + /** + * Control this subject's crop (clip + `object-fit: cover` + animated + * corners). By default a subject auto-crops only when it actually morphs - + * present in both snapshots (a survivor, or an `.add(a, b)` pair). A + * fade-only enter/exit has no second box to crop against, so it's left to + * the browser default; in particular the `overflow: clip` a crop adds would + * otherwise clip a mis-sized enter/exit layer to nothing. + * + * `.crop(false)` forces the crop off (e.g. a text morph, where + * `object-fit: cover` clips glyphs as the box grows); `.crop(true)` forces + * it on for a non-morph the default wouldn't otherwise crop. + */ + crop(enabled = true) { + this.cropOverride.set(this.currentSubject, enabled); + return this; + } + /** + * By default a subject's layer nests under its nearest DOM-ancestor layer + * (`view-transition-group: contain`), so the ancestor's clip/transform/opacity + * apply to it through the transition - mirroring how the DOM actually paints, + * and letting a wrapper crop its child for the whole morph rather than only + * once the live DOM takes back over. (Needs a browser that supports nested + * view-transition groups; elsewhere it degrades to the flat default.) + * + * Call `.group(false)` to opt out: the layer stays flat and top-level, so it + * animates independently and escapes an ancestor's clip - e.g. an element + * that should lift out of a card and fly across, which nesting would clip. + */ + group(enabled = true) { + enabled + ? this.flatGroups.delete(this.currentSubject) + : this.flatGroups.add(this.currentSubject); + return this; + } + /** + * Tag this subject's generated layers with a `view-transition-class`, so + * they can be targeted from CSS - `::view-transition-group(.name)`, + * `::view-transition-old/new(.name)`, `::view-transition-image-pair(.name)` + * - without the opaque generated `view-transition-name`. Because `.add()` + * can match many elements, a shared class targets them all at once (and, + * for a pair, both ends). The escape hatch for z-index / custom keyframes + * on a morph layer. + */ + class(name) { + this.classNames.set(this.currentSubject, name); + return this; + } + /** + * Set the transition for this subject's morph. The morph is enabled + * automatically by `.add()`; this just customises its timing (duration, + * easing, a `delay`/`stagger`, …). On the implicit `root` subject it also + * opts the page into the transition (the root crossfade). + */ + layout(options = {}) { + this.updateTarget("layout", {}, options); + return this; + } + enter(keyframes, options) { + this.updateTarget("enter", keyframes, options); + return this; + } + exit(keyframes, options) { + this.updateTarget("exit", keyframes, options); + return this; + } + /** + * Animate the new view directly, whether the element is appearing or + * persisting (unlike `.enter()`, which only fires for a pure newcomer). + * Pair with `.old()` for a crossfade or slide-through. + */ + new(keyframes, options) { + this.updateTarget("new", keyframes, options); + return this; + } + /** + * Animate the old view directly, whether the element is leaving or + * persisting (unlike `.exit()`, which only fires for a pure leaver). + */ + old(keyframes, options) { + this.updateTarget("old", keyframes, options); + return this; + } + updateTarget(target, keyframes, options = {}) { + const { currentSubject, targets } = this; + if (!targets.has(currentSubject)) { + targets.set(currentSubject, {}); + } + const targetData = targets.get(currentSubject); + targetData[target] = { keyframes, options }; + } + then(resolve, reject) { + return this.readyPromise.then(resolve, reject); + } +} +function animateView(update, options = {}) { + return new ViewTransitionBuilder(update, options); +} + +export { ViewTransitionBuilder, animateView }; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/queue.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/queue.mjs new file mode 100644 index 0000000..bef9184 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/queue.mjs @@ -0,0 +1,59 @@ +import { removeItem } from 'motion-utils'; +import { microtask } from '../frameloop/microtask.mjs'; +import { startViewAnimation } from './start.mjs'; + +let builders = []; +let current = null; +function next() { + current = null; + const [nextBuilder] = builders; + if (nextBuilder) + start(nextBuilder); +} +function start(builder) { + removeItem(builders, builder); + current = builder; + startViewAnimation(builder) + .then((animation) => { + builder.notifyReady(animation); + return animation.finished; + }) + // A genuinely failed transition (a throwing update) rejects the + // builder; a skipped/interrupted one resolves with no animations (see + // start.ts). Either way, advance the queue - else later transitions hang. + .catch((error) => builder.notifyReject(error)) + .finally(next); +} +function processQueue() { + /** + * Iterate backwards over the builders array. We can ignore the + * "wait" animations. If we have an interrupting animation in the + * queue then we need to batch all preceding animations into it. + * Currently this only batches the update functions but will also + * need to batch the targets. + */ + for (let i = builders.length - 1; i >= 0; i--) { + const builder = builders[i]; + const { interrupt } = builder.options; + if (interrupt === "immediate") { + const batchedUpdates = builders.slice(0, i + 1).map((b) => b.update); + const remaining = builders.slice(i + 1); + builder.update = () => { + batchedUpdates.forEach((update) => update()); + }; + // Put the current builder at the front, followed by any "wait" builders + builders = [builder, ...remaining]; + break; + } + } + if (!current || builders[0]?.options.interrupt === "immediate") { + next(); + } +} +function addToQueue(builder) { + builders.push(builder); + microtask.render(processQueue); +} + +export { addToQueue }; +//# sourceMappingURL=queue.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/start.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/start.mjs new file mode 100644 index 0000000..869be6c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/start.mjs @@ -0,0 +1,700 @@ +import { warnOnce, secondsToMilliseconds } from 'motion-utils'; +import { GroupAnimation } from '../animation/GroupAnimation.mjs'; +import { NativeAnimation } from '../animation/NativeAnimation.mjs'; +import { NativeAnimationWrapper } from '../animation/NativeAnimationWrapper.mjs'; +import { getValueTransition } from '../animation/utils/get-value-transition.mjs'; +import { mapEasingToNativeEasing } from '../animation/waapi/easing/map-easing.mjs'; +import { applyGeneratorOptions } from '../animation/waapi/utils/apply-generator.mjs'; +import { cornerRadiusProps } from '../utils/border-radius.mjs'; +import { resolveElements } from '../utils/resolve-elements.mjs'; +import { assignViewTransitionNames, releaseViewTransitionNames } from './utils/assign-names.mjs'; +import { chooseLayerType } from './utils/choose-layer-type.mjs'; +import { css } from './utils/css.mjs'; +import { getViewAnimationLayerInfo } from './utils/get-layer-info.mjs'; +import { getViewAnimations } from './utils/get-view-animations.mjs'; +import { hasTarget } from './utils/has-target.mjs'; + +const definitionNames = ["layout", "enter", "exit", "new", "old"]; +/** + * Whether a computed border-radius is square (every component zero). Splitting + * on whitespace handles two-value/elliptical radii like "0px 20px" - a leading + * `parseFloat` alone would misread the non-zero vertical radius as square. + */ +const isSquareRadius = (radius) => radius.split(" ").every((value) => parseFloat(value) === 0); +/** + * The `ViewTransitionTarget` buckets driving each generated layer type, in + * priority order - the inverse of `chooseLayerType`. The new view is driven by + * `new`/`enter`, the old by `old`/`exit`. `group-children`/`image-pair` have no + * bucket; they follow the default layout timing. + */ +const typeBuckets = { + group: ["layout"], + new: ["new", "enter"], + old: ["old", "exit"], +}; +/** + * Default "absent" origin for a single-value keyframe, by pseudo type, so e.g. + * `enter({ scale: 1 })` grows in from 0.85 and `exit({ opacity: 0 })` fades + * from 1. `enter` prefers the matching `exit` value over these (see below). + */ +const ORIGIN_DEFAULTS = { + new: { opacity: 0, scale: 0.85 }, + old: { opacity: 1, scale: 1 }, +}; +/** + * How much two box aspect ratios must differ before a morph is treated as + * aspect-changing (and so worth cropping). Matches the projection engine's + * `preserve-aspect` threshold, so small layout jitter doesn't trigger a crop. + */ +const ASPECT_TOLERANCE = 0.2; +function startViewAnimation(builder) { + const { update, targets, resolveDefs, cropOverride, pairs, classNames, flatGroups, options: defaultOptions, } = builder; + if (!document.startViewTransition) { + // An async IIFE (not `new Promise(async …)`) so a throwing/rejecting + // update rejects this promise rather than leaving it unsettled. + return (async () => { + await update(); + return new GroupAnimation([]); + })(); + } + /** + * Resolve any selector/Element targets to layer names, assigning a + * `view-transition-name` to each element as we go. We run this before the + * update (so the elements are captured in the old snapshot) and again + * after it (for the new snapshot). An element present in both keeps the + * same name and animates as a single `group` layer. + */ + const nameRegistry = new Map(); + const assigned = []; + /** + * Elements we tagged with a `view-transition-class` (via `.class()`), + * tracked separately from `assigned` so cleanup removes the class without + * ever stripping an author's own inline `view-transition-name`. + */ + const classed = []; + /** + * Elements we set a `view-transition-group` on (for nesting), tracked for + * cleanup. `clipChildren` collects the names of nested parents that clip in + * the live layout, so their `::view-transition-group-children` is clipped + * through the transition - not just once the live DOM takes back over. + */ + const grouped = []; + const clipChildren = new Set(); + const layerTargets = new Map(); + const croppedNames = new Set(); + /** + * Each layer's explicit `.crop(true | false)` override (by resolved name), + * so `finalizeCrop` can let an author's choice win over the morph default. + */ + const cropForName = new Map(); + /** + * Each layer's stagger position (index + total) within its subject, per + * snapshot. Resolving against the snapshot the layer belongs to keeps + * stagger correct when `update()` replaces the matched elements, and lets + * us skip a layer that's absent from a snapshot (e.g. an exited element + * has no `new` pseudo-element). + */ + const layerStagger = new Map(); + /** + * Names allocated for a paired subject in the old snapshot, replayed onto + * its new-snapshot target so both ends share a layer and morph. + */ + const pairNames = new Map(); + /** + * The old (`from`) elements of each paired subject, so their names can be + * transferred off before the new (`to`) elements inherit them. + */ + const pairFrom = new Map(); + const resolveLayers = (phase) => { + targets.forEach((target, definition) => { + const className = classNames.get(definition); + /** + * Nest each resolved layer under its DOM-ancestor layer by default + * (`contain`), so an ancestor's clip/transform/opacity reach it + * through the transition; `.group(false)` opts a subject out (`none`) + * to stay flat and escape. Skipped for root / pre-named layers, which + * aren't elements we resolve and style. + */ + const group = definition === "root" || !resolveDefs.has(definition) + ? undefined + : flatGroups.has(definition) + ? "none" + : "contain"; + let names; + if (definition === "root" || !resolveDefs.has(definition)) { + names = [definition]; + } + else if (pairs.has(definition)) { + /** + * Paired morph: name the old target in the old snapshot, then + * force the same name(s) onto the new target in the new one, so + * two different elements morph as a single layer. + */ + if (phase === "old") { + pairFrom.set(definition, resolveElements(definition)); + names = assignViewTransitionNames(definition, nameRegistry, assigned, undefined, className, classed, group, grouped, clipChildren); + pairNames.set(definition, names); + } + else { + /** + * Transfer the name(s) off the `from` elements before the + * `to` elements inherit them. A `from` that survives into + * the new snapshot (e.g. hidden with `visibility: hidden` + * rather than removed) would otherwise keep the name and + * collide - "duplicate view-transition-name". + */ + for (const el of pairFrom.get(definition) ?? []) { + el.style?.removeProperty("view-transition-name"); + /** + * Drop the old end from the registry too, so the new + * end alone supplies this name's `new` crop radii - we + * neither re-measure nor get ordered by a stale element. + */ + nameRegistry.delete(el); + } + names = assignViewTransitionNames(pairs.get(definition), nameRegistry, assigned, pairNames.get(definition), className, classed, group, grouped, clipChildren); + } + } + else { + names = assignViewTransitionNames(definition, nameRegistry, assigned, undefined, className, classed, group, grouped, clipChildren); + } + // Record any explicit `.crop(true | false)` per resolved name; the + // crop set itself is computed later by `finalizeCrop` (it needs both + // snapshots to know which morphs change aspect ratio). + const override = cropOverride.get(definition); + names.forEach((name, index) => { + /** + * If two subjects resolve to the same element, merge their + * definitions so neither subject's animations are dropped. + */ + const existing = layerTargets.get(name); + layerTargets.set(name, existing && existing !== target + ? { ...existing, ...target } + : target); + if (override !== undefined) + cropForName.set(name, override); + const stagger = layerStagger.get(name) ?? {}; + stagger[phase] = [index, names.length]; + layerStagger.set(name, stagger); + }); + }); + }; + /** + * The stagger index/total for a layer, resolved against the snapshot it + * belongs to. Returns index -1 when the layer is absent from that snapshot + * so the caller can skip a pseudo-element that doesn't exist. + */ + const staggerPosition = (name, type) => { + const stagger = layerStagger.get(name); + const position = type === "old" + ? stagger?.old + : type === "new" + ? stagger?.new + : // group / group-children / image-pair persist across both. + stagger?.new ?? stagger?.old; + return position ?? [-1, 1]; + }; + /** + * Merge default + per-layer transition options for a generated layer and + * resolve any stagger/delay function against this element's position. Used + * by both the morph-retiming and crop corner-radius passes. + */ + const resolveLayerTransition = (target, type, transitionName, index, total) => { + const transition = mergeTransition(getValueTransition(defaultOptions, transitionName), getValueTransition((layerOptions(target, type) ?? {}), transitionName)); + if (typeof transition.delay === "function") { + transition.delay = transition.delay(index, total); + } + return transition; + }; + /** + * Resolve a layer's group (`layout`) timing to plain WAAPI values: native + * ms `delay`/`duration` and a baked `ease`. The single source of group + * timing, shared by the generated-group retiming and the crop corner-radius + * pass so the rounded clip animates on exactly the box's timing. It returns + * no generator `type` (the WAAPI-only `NativeAnimation` rejects a string + * type) nor `repeat`/`times` (which the group's `updateTiming` ignores), so + * none of them can leak into the radius animation and desync it. + */ + const resolveGroupTiming = (name) => { + const [index, total] = staggerPosition(name, "group"); + const transition = resolveLayerTransition(layerTargets.get(name), "group", "layout", index === -1 ? 0 : index, total); + transition.duration && (transition.duration = secondsToMilliseconds(transition.duration)); + const { delay = 0, duration, ease } = applyGeneratorOptions(transition); + return { delay: secondsToMilliseconds(delay), duration, ease }; + }; + /** + * Each layer's measured box + corner radii per snapshot. The box lets + * `finalizeCrop` tell whether a morph's aspect ratio changed (the only case + * worth cropping); the radii let a cropped morph's group clip animate each + * corner from the old element's radius to the new element's, keeping it + * rounded where `overflow: clip` would otherwise square the corners. + * + * We never flatten the source for capture (a snapshot is a paint of the live + * DOM, so squaring an element just for its capture would flash one real + * square frame). For an aspect-changing morph `object-fit: cover` crops each + * snapshot's own baked corners off-screen mid-morph, so the animated clip is + * the only visible corner; a near-same-aspect forced crop (`.crop(true)`) + * can't hide the outgoing snapshot's silhouette, but the endpoints coincide. + */ + const cropMeasurements = new Map(); + const measureLayers = (phase) => nameRegistry.forEach((name, element) => { + const el = element; + const rect = el.getBoundingClientRect?.(); + if (rect && rect.height) { + const style = getComputedStyle(el); + const radii = {}; + for (const corner of cornerRadiusProps) { + radii[corner] = style[corner]; + } + const entry = cropMeasurements.get(name) ?? {}; + entry[phase] = { width: rect.width, height: rect.height, radii }; + cropMeasurements.set(name, entry); + } + }); + /** + * With both snapshots measured, settle which layers crop. The default crops + * only a morph whose aspect ratio *changes* between snapshots - the one case + * where `object-fit: cover` does real work. A same-aspect morph or a + * fade-only layer is left uncropped: its corners scale naturally (no flash + * from squaring, no `overflow: clip` eating its shadow) and a backdrop can't + * be clipped to nothing. An explicit `.crop(true | false)` overrides either + * way. Runs after both snapshots are measured, since aspect needs both. + */ + const finalizeCrop = () => { + croppedNames.clear(); + for (const name of layerStagger.keys()) { + if (name === "root") + continue; + // An explicit `.crop(true | false)` wins; otherwise crop a morph + // whose aspect ratio changed. + if (cropForName.get(name) ?? aspectChanged(name)) { + croppedNames.add(name); + } + } + }; + /** + * Whether a layer is a morph whose box aspect ratio changed between + * snapshots (beyond a small tolerance). Fade-only layers (one snapshot) are + * never "changed". + */ + const aspectChanged = (name) => { + const box = cropMeasurements.get(name); + if (!box?.old || !box?.new || !box.old.height || !box.new.height) { + return false; + } + return (Math.abs(box.old.width / box.old.height - + box.new.width / box.new.height) > ASPECT_TOLERANCE); + }; + /** + * Write the persistent view-transition CSS: suppress root capture when the + * root has no animations of its own; force linear timing (baked into the + * keyframes, so we can retime later via updateTiming); and clip + + * object-fit: cover every cropped morph (the UA default overflows on + * aspect-ratio change). + * + * `css.commit` replaces rather than appends, so we re-set the full rule set + * each call - the crop rules are only known after `finalizeCrop` runs in the + * update callback, so the second call writes them. + */ + const commitViewCSS = () => { + if (!hasTarget("root", targets)) { + css.set(":root", { "view-transition-name": "none" }); + } + css.set("::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*)", { "animation-timing-function": "linear !important" }); + croppedNames.forEach((name) => { + css.set(`::view-transition-group(${name})`, { overflow: "clip" }); + css.set(`::view-transition-old(${name}), ::view-transition-new(${name})`, { width: "100%", height: "100%", "object-fit": "cover" }); + }); + /** + * Clip the nested children of any layer that clips in the live layout, + * so a wrapper crops its child for the whole morph (mirroring the DOM) + * rather than only at the live-DOM handoff. No-op on browsers without + * nested view-transition groups. + */ + clipChildren.forEach((name) => { + css.set(`::view-transition-group-children(${name})`, { + overflow: "clip", + }); + }); + css.commit(); // Write + }; + const cleanup = () => { + releaseViewTransitionNames(assigned, classed, grouped); + css.remove(); // Write + }; + const callback = async () => { + await update(); + /** + * Re-resolve so elements created by the update are named for the new + * snapshot, then measure them. With both snapshots measured we can + * settle the crop set (aspect-changing morphs + forced). + */ + resolveLayers("new"); + measureLayers("new"); + finalizeCrop(); + /** + * Re-commit the crop CSS unconditionally: `finalizeCrop` is computed + * here (after both snapshots are measured), so the clip rules must be + * (re)written to match the settled set. + */ + commitViewCSS(); + }; + let transition; + try { + resolveLayers("old"); + /** + * Measure the old snapshot against the optimistic crop set (the new + * snapshot doesn't exist yet, so aspect change can't be known here; + * `finalizeCrop` settles it post-update). + */ + measureLayers("old"); + commitViewCSS(); + transition = document.startViewTransition(callback); + } + catch (error) { + /** + * The prelude writes inline names before the transition exists. If it + * throws (e.g. startViewTransition rejects in a bad UA state), release + * them so we neither leak DOM state nor stall the queue on a promise + * that never settles - hand back a rejection it can advance past. + */ + cleanup(); + return Promise.reject(error); + } + transition.finished.finally(cleanup); + return new Promise((resolve, reject) => { + transition.ready + .then(() => { + const generatedViewAnimations = getViewAnimations(); + const animations = []; + /** + * Create animations for each of our explicitly-defined subjects. + * `opacityAnimated` additionally tracks which `${name}:${type}` + * we faded, so we can keep the UA `plus-lighter` blend only for a + * genuine opacity crossfade (both sides fading) and drop it for a + * slide/transform, where additive compositing would flash bright. + */ + const explicitlyAnimated = new Set(); + const opacityAnimated = new Set(); + layerTargets.forEach((target, name) => { + const stagger = layerStagger.get(name); + /** + * Presence: `enter` only fires for a pure newcomer (a new + * view with no old), `exit` only for a pure leaver. A + * survivor (both) gets neither - it just morphs. + */ + const enterApplies = !!stagger?.new && !stagger?.old; + const exitApplies = !!stagger?.old && !stagger?.new; + for (const key of definitionNames) { + if (!target[key]) + continue; + if (key === "enter" && !enterApplies) + continue; + if (key === "exit" && !exitApplies) + continue; + const type = chooseLayerType(key); + const [index, total] = staggerPosition(name, type); + // Skip a layer absent from its snapshot. + if (index === -1) + continue; + const { keyframes, options } = target[key]; + for (let [valueName, valueKeyframes] of Object.entries(keyframes)) { + // Skip only missing values - `0` (e.g. opacity: 0) + // is valid and must reach the from-value inference. + if (valueKeyframes == null) + continue; + /** + * The view path hands keyframes straight to WAAPI, + * so Motion's `x`/`y` shorthands (compiled to + * `transform` only via the value pipeline) have no + * effect. Warn and skip - use `transform`/`translate`. + */ + if (valueName === "x" || valueName === "y") { + warnOnce(false, `animateView() animates view-transition layers with CSS properties; the "${valueName}" shorthand has no effect - use transform, e.g. { transform: "translateX(40px)" }.`); + continue; + } + /** + * enter/exit win over new/old on a shared property - + * skip it here when the gated bucket also defines it. + */ + if (key === "new" && + enterApplies && + target.enter?.keyframes[valueName] != null) { + continue; + } + if (key === "old" && + exitApplies && + target.exit?.keyframes[valueName] != null) { + continue; + } + const valueOptions = mergeTransition(getValueTransition(defaultOptions, valueName), getValueTransition(options, valueName)); + /** + * Infer an origin for a single-value keyframe. An + * `enter` mirrors the matching `exit` value (a + * defined exit reverses into the enter for free); + * otherwise the per-type default (opacity 0/1, scale + * 0.85). No default -> left as-is (animates from the + * live value). + * + * `new`/`old` fire for survivors too, where only the + * opacity crossfade default applies - a transform + * default like scale 0.85 would pop a persisting + * element, so gate it on the layer actually + * entering/leaving. + */ + if (!Array.isArray(valueKeyframes)) { + const exitValue = key === "enter" + ? target.exit?.keyframes[valueName] + : undefined; + const allowDefault = valueName === "opacity" || + (type === "new" ? enterApplies : exitApplies); + const from = exitValue != null + ? Array.isArray(exitValue) + ? exitValue[exitValue.length - 1] + : exitValue + : allowDefault + ? ORIGIN_DEFAULTS[type]?.[valueName] + : undefined; + if (from !== undefined) { + valueKeyframes = [from, valueKeyframes]; + } + } + /** + * Resolve stagger function if provided, per element + * across this subject's resolved layers. + */ + if (typeof valueOptions.delay === "function") { + valueOptions.delay = valueOptions.delay(index, total); + } + valueOptions.duration && (valueOptions.duration = secondsToMilliseconds(valueOptions.duration)); + valueOptions.delay && (valueOptions.delay = secondsToMilliseconds(valueOptions.delay)); + animations.push(new NativeAnimation({ + ...valueOptions, + element: document.documentElement, + name: valueName, + pseudoElement: `::view-transition-${type}(${name})`, + keyframes: valueKeyframes, + })); + explicitlyAnimated.add(`${name}:${type}`); + if (valueName === "opacity") { + opacityAnimated.add(`${name}:${type}`); + } + } + } + }); + /** + * Handle browser generated animations + */ + for (const animation of generatedViewAnimations) { + if (animation.playState === "finished") + continue; + const { effect } = animation; + if (!effect || !(effect instanceof KeyframeEffect)) + continue; + const { pseudoElement } = effect; + if (!pseudoElement) + continue; + const name = getViewAnimationLayerInfo(pseudoElement); + if (!name) + continue; + const targetDefinition = layerTargets.get(name.layer); + /** + * We built our own animation for this layer, so drop the + * browser-generated fade we're replacing. The UA + * `plus-lighter` blend is a *separate* generated animation on + * the same pseudo (it sets `mix-blend-mode` in its keyframes): + * keep it *only* for a true opacity crossfade - both sides + * fading - so a symmetric crossfade composites without + * darkening, but a slide/transform (where both layers stay + * opaque and overlap) doesn't flash bright from the addition. + */ + if (explicitlyAnimated.has(`${name.layer}:${name.type}`)) { + const isCrossfade = opacityAnimated.has(`${name.layer}:new`) && + opacityAnimated.has(`${name.layer}:old`); + if (isCrossfade && + effect + .getKeyframes() + .some((keyframe) => keyframe.mixBlendMode)) { + animations.push(new NativeAnimationWrapper(animation)); + } + else { + animation.cancel(); + } + continue; + } + /** + * Drop the orphaned half of the default crossfade. The UA + * fades old out and new in as a *pair*; if the opposing half + * was explicitly overridden with something other than an + * opacity fade (a clip or transform reveal), this side's + * default opacity fade has no partner - left to run it would + * dissolve what should be a static backdrop (e.g. + * `.new({ clipPath })` should reveal over a still old view, + * not fade the old out around the growing clip). Cancel it - + * and its `plus-lighter` sibling on the same pseudo, which + * would otherwise flash bright where the two opaque layers + * overlap. A genuine crossfade (the opposing side also fading + * opacity) keeps both halves and is handled above. + */ + const opposite = name.type === "old" + ? "new" + : name.type === "new" + ? "old" + : undefined; + if (opposite && + explicitlyAnimated.has(`${name.layer}:${opposite}`) && + !opacityAnimated.has(`${name.layer}:${opposite}`)) { + animation.cancel(); + continue; + } + /** + * Otherwise retime the browser-generated animation to + * Motion's timing. This auto-enables the layout (group) + * morph for any resolved/named target, and applies the + * default timing to old/new layers we haven't explicitly + * overridden. + * + * group + group-children both follow the layout timing so + * the nesting container stays in sync with the morph. + */ + /** + * A survivor's old + new are the two halves of one + * `plus-lighter` crossfade. They must share identical timing + * (so their opacities stay mirrored and sum to 1 - else the + * additive blend flashes bright wherever both are partly + * visible) and fade linearly (the bounce belongs on the + * group's geometry, not the opacity). So time them as the + * group, rather than via their own - potentially staggered, + * or enter/exit-derived - old/new options. + */ + const stagger = layerStagger.get(name.layer); + const isMorphCrossfade = (name.type === "old" || name.type === "new") && + !!stagger?.old && + !!stagger?.new; + let timing; + if (name.type.startsWith("group")) { + // group + group-children follow the resolved group + // timing - the single source shared with the crop + // corner-radius pass below. + const { delay, duration, ease } = resolveGroupTiming(name.layer); + timing = { + delay, + duration, + easing: mapEasingToNativeEasing(ease, duration), + }; + } + else { + const timingType = isMorphCrossfade ? "group" : name.type; + const [index, total] = staggerPosition(name.layer, timingType); + const transitionName = timingType === "group" ? "layout" : ""; + let animationTransition = resolveLayerTransition(targetDefinition, timingType, transitionName, index === -1 ? 0 : index, total); + /** + * The crossfade should resolve at the spring's + * *perceptual* (visual) duration - the geometry can keep + * bouncing, but the opacity shouldn't drag through the + * settle. So capture `visualDuration` before + * `applyGeneratorOptions` replaces it with the full + * overshoot duration, and use it for the fade. + */ + const visualDuration = animationTransition.visualDuration; + animationTransition.duration && (animationTransition.duration = secondsToMilliseconds(animationTransition.duration)); + animationTransition = + applyGeneratorOptions(animationTransition); + timing = { + delay: secondsToMilliseconds(animationTransition.delay ?? 0), + duration: isMorphCrossfade && visualDuration !== undefined + ? secondsToMilliseconds(visualDuration) + : animationTransition.duration, + easing: isMorphCrossfade + ? "linear" + : mapEasingToNativeEasing(animationTransition.ease, animationTransition.duration), + }; + } + effect.updateTiming(timing); + animations.push(new NativeAnimationWrapper(animation)); + } + /** + * Round each cropped layer's clip. Its `::view-transition-group` + * has `overflow: clip`, which would otherwise square the corners + * mid-morph; animate each corner from the old element's radius to + * the new element's so the crop stays rounded. Timed as the group + * (`layout`) so the radius tracks the morphing box. + */ + cropMeasurements.forEach((entry, name) => { + if (!croppedNames.has(name)) + return; + // Reuse the group's resolved timing - native ms delay/ + // duration + a baked ease, with no generator `type` or + // repeat/times to leak into (or throw inside) NativeAnimation. + const { delay, duration, ease } = resolveGroupTiming(name); + for (const corner of cornerRadiusProps) { + // `||` (not `??`) so an empty measurement falls back to + // the other snapshot rather than an invalid keyframe. + const from = entry.old?.radii[corner] || + entry.new?.radii[corner] || + "0px"; + const to = entry.new?.radii[corner] || + entry.old?.radii[corner] || + "0px"; + // Nothing to round if the corner is square at both ends. + if (isSquareRadius(from) && isSquareRadius(to)) + continue; + animations.push(new NativeAnimation({ + element: document.documentElement, + name: corner, + pseudoElement: `::view-transition-group(${name})`, + keyframes: [from, to], + delay, + duration, + ease, + })); + } + }); + resolve(new GroupAnimation(animations)); + }) + .catch(() => + /** + * `ready` rejects when the transition is skipped - no visual + * change, or superseded by an interrupting transition. The DOM + * update still applied, so settle with no animations rather than + * surfacing it as an error to an awaiting caller. A genuine + * failure in `update()` rejects `updateCallbackDone` (already + * settled by now), so propagate that instead. + */ + transition.updateCallbackDone.then(() => resolve(new GroupAnimation([])), reject)); + }); +} +/** + * The options that should time a given generated layer type, so a retimed + * group/old/new picks up any per-target transition the user provided. Checks + * the type's buckets in priority order (e.g. `new` before `enter`). + */ +function layerOptions(target, type) { + for (const bucket of typeBuckets[type] ?? []) { + const options = target?.[bucket]?.options; + if (options) + return options; + } +} +/** + * Merge a base transition (e.g. the default `options`) with a per-layer/value + * override. An explicit `duration` on the override must win over an inherited + * generator's own timing: a spring prefers `visualDuration`, and + * `spring.applyToOptions` overwrites `duration` with the computed settle time - + * so without this the override is silently discarded. Dropping the inherited + * `type`/`visualDuration` makes the layer a plain tween of that duration, unless + * it asked for its own generator `type`/`visualDuration`. + */ +function mergeTransition(base, override) { + const merged = { ...base, ...override }; + if (override.duration !== undefined) { + if (override.visualDuration === undefined) + delete merged.visualDuration; + if (override.type === undefined) + delete merged.type; + } + return merged; +} + +export { startViewAnimation }; +//# sourceMappingURL=start.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/assign-names.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/assign-names.mjs new file mode 100644 index 0000000..c8a17a3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/assign-names.mjs @@ -0,0 +1,146 @@ +import { resolveElements } from '../../utils/resolve-elements.mjs'; + +let nameCount = 0; +/** + * Generated names live in their own namespace so we can tell a name we own + * (and must clean up) from an author-defined one - and so a stale generated + * name left behind by an interrupted transition is re-owned, not mistaken for + * the author's and leaked. + */ +const generatedName = () => `motion-view-${nameCount++}`; +const isGeneratedName = (name) => name.startsWith("motion-view-"); +/** + * Tag a captured element with a `view-transition-class` so authors can target + * its generated layer from CSS (e.g. `::view-transition-group(.hero)`) without + * the opaque generated name. Tracked in `classed` - separate from the generated + * names in `assigned` - so cleanup removes the class without ever stripping an + * author's own inline `view-transition-name`. + */ +function tagClass(element, className, classed) { + if (!className) + return; + element.style?.setProperty("view-transition-class", className); + classed.push(element); +} +/** + * Set the element's `view-transition-group` so its layer reconstructs the DOM + * hierarchy in the pseudo-tree (`contain`) - or stays flat (`none`). Tracked in + * `grouped` for cleanup. When the element clips (any non-`visible` overflow) its + * name is recorded in `clipChildren` so the caller can clip the nested children + * (`::view-transition-group-children(name)`), mirroring the live clip through + * the whole transition rather than only at the live-DOM handoff. + * + * Ignored by browsers without nested view-transition groups, where it harmlessly + * degrades to the flat default. + */ +function applyGroup(element, name, group, grouped, clipChildren) { + if (!group) + return; + element.style?.setProperty("view-transition-group", group); + grouped.push(element); + if (group !== "none" && clipChildren) { + const style = getComputedStyle(element); + if (style.overflowX !== "visible" || style.overflowY !== "visible") { + clipChildren.add(name); + } + } +} +/** + * Resolve a selector/Element to elements and ensure each one carries a + * `view-transition-name` we can target from script. + * + * Author-defined names are reused as-is. Elements that are unnamed (or use + * the browser's `auto`/`match-element`, whose generated name is not exposed + * to script) are given a unique generated name, set inline so it's captured, + * and tracked in `assigned` for later cleanup. + * + * `registry` maps each Element to its name so the same element keeps its name + * across both captures (before and after the update), which is what allows a + * persistent element to animate as a single `group` layer. + */ +function assignViewTransitionNames(definition, registry, assigned, forcedNames, className, classed = [], group, grouped = [], clipChildren) { + const elements = resolveElements(definition); + /** + * The new end of a paired morph: give each element the matching name from + * the old end (by index) so the two share one layer and morph. If the new + * end resolves to *more* elements than the old end named, the extras have no + * counterpart - give them a fresh name so they animate as newcomers rather + * than being silently left unnamed. We return the names actually assigned + * (sized to the resolved elements), not the raw `forcedNames`, so stagger + * totals and the layer set stay in step with what's on the page. + */ + if (forcedNames) { + return elements.map((element, i) => { + const existing = registry.get(element); + if (existing) + return existing; + const name = forcedNames[i] ?? generatedName(); + element.style?.setProperty("view-transition-name", name); + assigned.push(element); + registry.set(element, name); + tagClass(element, className, classed); + applyGroup(element, name, group, grouped, clipChildren); + return name; + }); + } + /** + * Read every current name up front, before assigning any. Interleaving the + * reads with the inline `setProperty` writes below would dirty styles + * between reads and force a style recalc per element; batching the reads + * keeps it to one. Elements already in the registry keep their name and + * need no read. + */ + const currentNames = elements.map((element) => registry.has(element) + ? undefined + : getComputedStyle(element).getPropertyValue("view-transition-name")); + return elements.map((element, i) => { + const existing = registry.get(element); + if (existing) + return existing; + const current = currentNames[i]; + let name; + if (current && + current !== "none" && + current !== "auto" && + current !== "match-element" && + !isGeneratedName(current)) { + /** + * The author already named this layer - target it as-is and leave + * it to them to clean up. `auto`/`match-element` are overridden + * because their generated name is not exposed to script, and a + * stale `motion-view-*` (e.g. left by an interrupted transition) is + * re-owned rather than adopted as an author name and leaked. + */ + name = current; + } + else { + name = generatedName(); + element.style?.setProperty("view-transition-name", name); + assigned.push(element); + } + registry.set(element, name); + tagClass(element, className, classed); + applyGroup(element, name, group, grouped, clipChildren); + return name; + }); +} +/** + * Remove the `view-transition-name`s we generated and the + * `view-transition-class`es we applied. Author-defined names are never touched + * (they're not in `assigned`). Safe to call more than once (e.g. on both a + * finished and an interrupted transition). + */ +function releaseViewTransitionNames(assigned, classed = [], grouped = []) { + for (const element of assigned) { + element.style?.removeProperty("view-transition-name"); + } + for (const element of classed) { + element.style?.removeProperty("view-transition-class"); + } + for (const element of grouped) { + element.style?.removeProperty("view-transition-group"); + } +} + +export { assignViewTransitionNames, releaseViewTransitionNames }; +//# sourceMappingURL=assign-names.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/choose-layer-type.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/choose-layer-type.mjs new file mode 100644 index 0000000..bf7e9e0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/choose-layer-type.mjs @@ -0,0 +1,10 @@ +function chooseLayerType(valueName) { + if (valueName === "layout") + return "group"; + if (valueName === "enter" || valueName === "new") + return "new"; + return "old"; +} + +export { chooseLayerType }; +//# sourceMappingURL=choose-layer-type.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/css.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/css.mjs new file mode 100644 index 0000000..24f9b67 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/css.mjs @@ -0,0 +1,33 @@ +let pendingRules = {}; +let style = null; +const css = { + set: (selector, values) => { + pendingRules[selector] = values; + }, + commit: () => { + if (!style) { + style = document.createElement("style"); + style.id = "motion-view"; + } + let cssText = ""; + for (const selector in pendingRules) { + const rule = pendingRules[selector]; + cssText += `${selector} {\n`; + for (const [property, value] of Object.entries(rule)) { + cssText += ` ${property}: ${value};\n`; + } + cssText += "}\n"; + } + style.textContent = cssText; + document.head.appendChild(style); + pendingRules = {}; + }, + remove: () => { + if (style && style.parentElement) { + style.parentElement.removeChild(style); + } + }, +}; + +export { css }; +//# sourceMappingURL=css.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-layer-info.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-layer-info.mjs new file mode 100644 index 0000000..3aff9a5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-layer-info.mjs @@ -0,0 +1,11 @@ +function getViewAnimationLayerInfo(pseudoElement) { + const match = pseudoElement.match( + // `group-children` (nested transitions) before `group` so it wins. + /::view-transition-(old|new|group-children|group|image-pair)\((.*?)\)/); + if (!match) + return null; + return { layer: match[2], type: match[1] }; +} + +export { getViewAnimationLayerInfo }; +//# sourceMappingURL=get-layer-info.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-view-animations.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-view-animations.mjs new file mode 100644 index 0000000..a249893 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/get-view-animations.mjs @@ -0,0 +1,11 @@ +function getViewAnimations() { + return document.getAnimations().filter((animation) => { + const { effect } = animation; + return (!!effect && + effect.target === document.documentElement && + effect.pseudoElement?.startsWith("::view-transition")); + }); +} + +export { getViewAnimations }; +//# sourceMappingURL=get-view-animations.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/has-target.mjs b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/has-target.mjs new file mode 100644 index 0000000..ae14a10 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/dist/es/view/utils/has-target.mjs @@ -0,0 +1,6 @@ +function hasTarget(target, targets) { + return targets.has(target) && Object.keys(targets.get(target)).length > 0; +} + +export { hasTarget }; +//# sourceMappingURL=has-target.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-dom/package.json b/apps/web/.output/server/node_modules/motion-dom/package.json new file mode 100644 index 0000000..5822ad7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-dom/package.json @@ -0,0 +1,47 @@ +{ + "name": "motion-dom", + "version": "14.3.1", + "author": "Matt Perry", + "license": "MIT", + "repository": "https://github.com/motiondivision/motion", + "main": "./dist/cjs/index.js", + "types": "./dist/index.d.ts", + "module": "./dist/es/index.mjs", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/cjs/index.js", + "import": "./dist/es/index.mjs", + "default": "./dist/cjs/index.js" + } + }, + "dependencies": { + "motion-utils": "14.1.1" + }, + "scripts": { + "clean": "rm -rf types dist lib", + "build": "yarn clean && tsc -p . && rollup -c && node ./scripts/check-bundle.js", + "dev": "concurrently -c blue,red -n tsc,rollup --kill-others \"tsc --watch -p . --preserveWatchOutput\" \"rollup --config --watch --no-watch.clearScreen\"", + "test": "jest --config jest.config.json --max-workers=2", + "measure": "rollup -c ./rollup.size.config.mjs", + "prepack": "yarn build && yarn measure && node ../../dev/inc/bundlesize.mjs motion-dom" + }, + "bundlesize": [ + { + "path": "./dist/size-rollup-style-effect.js", + "maxSize": "4.2 kB" + }, + { + "path": "./dist/size-rollup-motion-value.js", + "maxSize": "1.9 kB" + } + ], + "gitHead": "1785a8816da2682ef53bfc1fe8b3f61d86f17924", + "devDependencies": { + "concurrently": "^7.3.0", + "jest": "^29.7.0", + "rollup": "4.59.0", + "typescript": "5.4.3" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/array.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/array.mjs new file mode 100644 index 0000000..773d47a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/array.mjs @@ -0,0 +1,22 @@ +function addUniqueItem(arr, item) { + if (arr.indexOf(item) === -1) + arr.push(item); +} +function removeItem(arr, item) { + const index = arr.indexOf(item); + if (index > -1) + arr.splice(index, 1); +} +// Adapted from array-move +function moveItem([...arr], fromIndex, toIndex) { + const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex; + if (startIndex >= 0 && startIndex < arr.length) { + const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex; + const [item] = arr.splice(fromIndex, 1); + arr.splice(endIndex, 0, item); + } + return arr; +} + +export { addUniqueItem, moveItem, removeItem }; +//# sourceMappingURL=array.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/clamp.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/clamp.mjs new file mode 100644 index 0000000..1cfe237 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/clamp.mjs @@ -0,0 +1,10 @@ +const clamp = (min, max, v) => { + if (v > max) + return max; + if (v < min) + return min; + return v; +}; + +export { clamp }; +//# sourceMappingURL=clamp.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/anticipate.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/anticipate.mjs new file mode 100644 index 0000000..0367d40 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/anticipate.mjs @@ -0,0 +1,10 @@ +import { backIn } from './back.mjs'; + +const anticipate = (p) => p >= 1 + ? 1 + : (p *= 2) < 1 + ? 0.5 * backIn(p) + : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); + +export { anticipate }; +//# sourceMappingURL=anticipate.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/back.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/back.mjs new file mode 100644 index 0000000..7498800 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/back.mjs @@ -0,0 +1,10 @@ +import { cubicBezier } from './cubic-bezier.mjs'; +import { mirrorEasing } from './modifiers/mirror.mjs'; +import { reverseEasing } from './modifiers/reverse.mjs'; + +const backOut = /*@__PURE__*/ cubicBezier(0.33, 1.53, 0.69, 0.99); +const backIn = /*@__PURE__*/ reverseEasing(backOut); +const backInOut = /*@__PURE__*/ mirrorEasing(backIn); + +export { backIn, backInOut, backOut }; +//# sourceMappingURL=back.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/circ.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/circ.mjs new file mode 100644 index 0000000..5e24dc4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/circ.mjs @@ -0,0 +1,9 @@ +import { mirrorEasing } from './modifiers/mirror.mjs'; +import { reverseEasing } from './modifiers/reverse.mjs'; + +const circIn = (p) => 1 - Math.sin(Math.acos(p)); +const circOut = reverseEasing(circIn); +const circInOut = mirrorEasing(circIn); + +export { circIn, circInOut, circOut }; +//# sourceMappingURL=circ.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs new file mode 100644 index 0000000..6b89b1a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs @@ -0,0 +1,55 @@ +import { noop } from '../noop.mjs'; + +/* + Bezier function generator + This has been modified from Gaëtan Renaudeau's BezierEasing + https://github.com/gre/bezier-easing/blob/master/src/index.js + https://github.com/gre/bezier-easing/blob/master/LICENSE + + t is found for a given x with Newton-Raphson, safeguarded by a bisection + bracket: whenever a Newton step would leave the bracket (near flat parts + of the curve), it bisects instead. This converges to full precision in + ~5 iterations on typical curves, so output is smooth rather than snapped + to a fixed bisection grid. The slope is estimated with a forward + difference, and the lookup table is omitted, to save bytes. + + x = 0 and x = 1 return exactly 0 and 1. x outside [0, 1] starts outside + the bracket, so it bisects towards the nearer end and saturates to within + ~1e-12 of 0 or 1. + Usage + const easeOut = cubicBezier(.17,.67,.83,.67); + const x = easeOut(0.5); // returns 0.627... +*/ +// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. +// Bernstein form, so it is exactly 0 at t = 0 and exactly 1 at t = 1. +const calcBezier = (t, a1, a2) => t * (3 * (1 - t) * ((1 - t) * a1 + t * a2) + t * t); +/*#__NO_SIDE_EFFECTS__*/ +function cubicBezier(mX1, mY1, mX2, mY2) { + // If this is a linear gradient, return linear easing + if (mX1 === mY1 && mX2 === mY2) + return noop; + return (x) => { + let lowerBound = 0; + let upperBound = 1; + let t = x; + for (let i = 0;; i++) { + // If t is outside the bracket, because x is out of range or a + // Newton step overshot where the slope is ~0, bisect instead. + if (!(t >= lowerBound && t <= upperBound)) { + t = (lowerBound + upperBound) / 2; + } + const currentX = calcBezier(t, mX1, mX2) - x; + if (currentX * currentX < 1e-28 || i === 40) + break; + currentX > 0 ? (upperBound = t) : (lowerBound = t); + // Newton-Raphson step, with dx/dt from a forward difference + t -= + (currentX * 1e-7) / + (calcBezier(t + 1e-7, mX1, mX2) - x - currentX); + } + return calcBezier(t, mY1, mY2); + }; +} + +export { cubicBezier }; +//# sourceMappingURL=cubic-bezier.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/ease.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/ease.mjs new file mode 100644 index 0000000..10cabac --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/ease.mjs @@ -0,0 +1,8 @@ +import { cubicBezier } from './cubic-bezier.mjs'; + +const easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1); +const easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1); +const easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1); + +export { easeIn, easeInOut, easeOut }; +//# sourceMappingURL=ease.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs new file mode 100644 index 0000000..1ed7de1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs @@ -0,0 +1,7 @@ +// Accepts an easing function and returns a new one that outputs mirrored values for +// the second half of the animation. Turns easeIn into easeInOut. +/*#__NO_SIDE_EFFECTS__*/ +const mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2; + +export { mirrorEasing }; +//# sourceMappingURL=mirror.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs new file mode 100644 index 0000000..3a6d942 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs @@ -0,0 +1,7 @@ +// Accepts an easing function and returns a new one that outputs reversed values. +// Turns easeIn into easeOut. +/*#__NO_SIDE_EFFECTS__*/ +const reverseEasing = (easing) => (p) => 1 - easing(1 - p); + +export { reverseEasing }; +//# sourceMappingURL=reverse.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/steps.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/steps.mjs new file mode 100644 index 0000000..3e3961c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/steps.mjs @@ -0,0 +1,17 @@ +import { clamp } from '../clamp.mjs'; + +/*#__NO_SIDE_EFFECTS__*/ +function steps(numSteps, direction = "end") { + return (progress) => { + progress = + direction === "end" + ? Math.min(progress, 0.999) + : Math.max(progress, 0.001); + const expanded = progress * numSteps; + const rounded = direction === "end" ? Math.floor(expanded) : Math.ceil(expanded); + return clamp(0, 1, rounded / numSteps); + }; +} + +export { steps }; +//# sourceMappingURL=steps.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs new file mode 100644 index 0000000..79a8519 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/get-easing-for-segment.mjs @@ -0,0 +1,10 @@ +import { wrap } from '../../wrap.mjs'; +import { isEasingArray } from './is-easing-array.mjs'; + +/*#__NO_SIDE_EFFECTS__*/ +function getEasingForSegment(easing, i) { + return isEasingArray(easing) ? easing[wrap(0, easing.length, i)] : easing; +} + +export { getEasingForSegment }; +//# sourceMappingURL=get-easing-for-segment.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs new file mode 100644 index 0000000..1a3c736 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs @@ -0,0 +1,5 @@ +/*#__NO_SIDE_EFFECTS__*/ +const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number"; + +export { isBezierDefinition }; +//# sourceMappingURL=is-bezier-definition.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs new file mode 100644 index 0000000..6b01de0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs @@ -0,0 +1,7 @@ +/*#__NO_SIDE_EFFECTS__*/ +const isEasingArray = (ease) => { + return Array.isArray(ease) && typeof ease[0] !== "number"; +}; + +export { isEasingArray }; +//# sourceMappingURL=is-easing-array.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/map.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/map.mjs new file mode 100644 index 0000000..83b042d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/easing/utils/map.mjs @@ -0,0 +1,42 @@ +import { invariant } from '../../errors.mjs'; +import { noop } from '../../noop.mjs'; +import { anticipate } from '../anticipate.mjs'; +import { backOut, backInOut, backIn } from '../back.mjs'; +import { circOut, circInOut, circIn } from '../circ.mjs'; +import { cubicBezier } from '../cubic-bezier.mjs'; +import { easeOut, easeInOut, easeIn } from '../ease.mjs'; +import { isBezierDefinition } from './is-bezier-definition.mjs'; + +const easingLookup = { + linear: noop, + easeIn, + easeInOut, + easeOut, + circIn, + circInOut, + circOut, + backIn, + backInOut, + backOut, + anticipate, +}; +const isValidEasing = (easing) => { + return typeof easing === "string"; +}; +const easingDefinitionToFunction = (definition) => { + if (isBezierDefinition(definition)) { + // If cubic bezier definition, create bezier curve + invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, "cubic-bezier-length"); + const [x1, y1, x2, y2] = definition; + return cubicBezier(x1, y1, x2, y2); + } + else if (isValidEasing(definition)) { + // Else lookup from table + invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, "invalid-easing-type"); + return easingLookup[definition]; + } + return definition; +}; + +export { easingDefinitionToFunction }; +//# sourceMappingURL=map.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/errors.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/errors.mjs new file mode 100644 index 0000000..5f07b19 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/errors.mjs @@ -0,0 +1,19 @@ +import { formatErrorMessage } from './format-error-message.mjs'; + +let warning = () => { }; +let invariant = () => { }; +if (typeof process !== "undefined" && process.env.NODE_ENV !== "production") { + warning = (check, message, errorCode) => { + if (!check && typeof console !== "undefined") { + console.warn(formatErrorMessage(message, errorCode)); + } + }; + invariant = (check, message, errorCode) => { + if (!check) { + throw new Error(formatErrorMessage(message, errorCode)); + } + }; +} + +export { invariant, warning }; +//# sourceMappingURL=errors.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/format-error-message.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/format-error-message.mjs new file mode 100644 index 0000000..dee97cc --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/format-error-message.mjs @@ -0,0 +1,8 @@ +function formatErrorMessage(message, errorCode) { + return errorCode + ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` + : message; +} + +export { formatErrorMessage }; +//# sourceMappingURL=format-error-message.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/global-config.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/global-config.mjs new file mode 100644 index 0000000..66ed577 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/global-config.mjs @@ -0,0 +1,4 @@ +const MotionGlobalConfig = {}; + +export { MotionGlobalConfig }; +//# sourceMappingURL=global-config.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/index.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/index.mjs new file mode 100644 index 0000000..2f07b9a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/index.mjs @@ -0,0 +1,29 @@ +export { addUniqueItem, moveItem, removeItem } from './array.mjs'; +export { clamp } from './clamp.mjs'; +export { invariant, warning } from './errors.mjs'; +export { MotionGlobalConfig } from './global-config.mjs'; +export { isNumericalString } from './is-numerical-string.mjs'; +export { isObject } from './is-object.mjs'; +export { isZeroValueString } from './is-zero-value-string.mjs'; +export { memo } from './memo.mjs'; +export { noop } from './noop.mjs'; +export { pipe } from './pipe.mjs'; +export { progress } from './progress.mjs'; +export { SubscriptionManager } from './subscription-manager.mjs'; +export { millisecondsToSeconds, secondsToMilliseconds } from './time-conversion.mjs'; +export { velocityPerSecond } from './velocity-per-second.mjs'; +export { hasWarned, warnOnce } from './warn-once.mjs'; +export { wrap } from './wrap.mjs'; +export { anticipate } from './easing/anticipate.mjs'; +export { backIn, backInOut, backOut } from './easing/back.mjs'; +export { circIn, circInOut, circOut } from './easing/circ.mjs'; +export { cubicBezier } from './easing/cubic-bezier.mjs'; +export { easeIn, easeInOut, easeOut } from './easing/ease.mjs'; +export { mirrorEasing } from './easing/modifiers/mirror.mjs'; +export { reverseEasing } from './easing/modifiers/reverse.mjs'; +export { steps } from './easing/steps.mjs'; +export { getEasingForSegment } from './easing/utils/get-easing-for-segment.mjs'; +export { isBezierDefinition } from './easing/utils/is-bezier-definition.mjs'; +export { isEasingArray } from './easing/utils/is-easing-array.mjs'; +export { easingDefinitionToFunction } from './easing/utils/map.mjs'; +//# sourceMappingURL=index.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/is-numerical-string.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-numerical-string.mjs new file mode 100644 index 0000000..cb4ce6e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-numerical-string.mjs @@ -0,0 +1,7 @@ +/** + * Check if value is a numerical string, ie a string that is purely a number eg "100" or "-100.1" + */ +const isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v); + +export { isNumericalString }; +//# sourceMappingURL=is-numerical-string.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/is-object.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-object.mjs new file mode 100644 index 0000000..7f9bd3e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-object.mjs @@ -0,0 +1,4 @@ +const isObject = (value) => typeof value === "object" && value !== null; + +export { isObject }; +//# sourceMappingURL=is-object.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/is-zero-value-string.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-zero-value-string.mjs new file mode 100644 index 0000000..ba89398 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/is-zero-value-string.mjs @@ -0,0 +1,7 @@ +/** + * Check if the value is a zero value string like "0px" or "0%" + */ +const isZeroValueString = (v) => /^0[^.\s]+$/u.test(v); + +export { isZeroValueString }; +//# sourceMappingURL=is-zero-value-string.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/memo.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/memo.mjs new file mode 100644 index 0000000..d164ae4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/memo.mjs @@ -0,0 +1,12 @@ +/*#__NO_SIDE_EFFECTS__*/ +function memo(callback) { + let result; + return () => { + if (result === undefined) + result = callback(); + return result; + }; +} + +export { memo }; +//# sourceMappingURL=memo.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/noop.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/noop.mjs new file mode 100644 index 0000000..bd29da3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/noop.mjs @@ -0,0 +1,5 @@ +/*#__NO_SIDE_EFFECTS__*/ +const noop = (any) => any; + +export { noop }; +//# sourceMappingURL=noop.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/pipe.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/pipe.mjs new file mode 100644 index 0000000..bd4512c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/pipe.mjs @@ -0,0 +1,11 @@ +/** + * Pipe + * Compose other transformers to run linearily + * pipe(min(20), max(40)) + * @param {...functions} transformers + * @return {function} + */ +const pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v))); + +export { pipe }; +//# sourceMappingURL=pipe.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/progress.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/progress.mjs new file mode 100644 index 0000000..d964710 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/progress.mjs @@ -0,0 +1,15 @@ +/* + Progress within given range + + Given a lower limit and an upper limit, we return the progress + (expressed as a number 0-1) represented by the given value, and + limit that progress to within 0-1. +*/ +/*#__NO_SIDE_EFFECTS__*/ +const progress = (from, to, value) => { + const range = to - from; + return range ? (value - from) / range : 1; +}; + +export { progress }; +//# sourceMappingURL=progress.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/subscription-manager.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/subscription-manager.mjs new file mode 100644 index 0000000..ceee5f3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/subscription-manager.mjs @@ -0,0 +1,44 @@ +import { addUniqueItem, removeItem } from './array.mjs'; + +class SubscriptionManager { + constructor() { + this.subscriptions = []; + } + add(handler) { + addUniqueItem(this.subscriptions, handler); + return () => this.remove(handler); + } + remove(handler) { + removeItem(this.subscriptions, handler); + } + notify(a, b, c) { + const numSubscriptions = this.subscriptions.length; + if (!numSubscriptions) + return; + if (numSubscriptions === 1) { + /** + * If there's only a single handler we can just call it without invoking a loop. + */ + this.subscriptions[0](a, b, c); + } + else { + for (let i = 0; i < numSubscriptions; i++) { + /** + * Check whether the handler exists before firing as it's possible + * the subscriptions were modified during this loop running. + */ + const handler = this.subscriptions[i]; + handler && handler(a, b, c); + } + } + } + getSize() { + return this.subscriptions.length; + } + clear() { + this.subscriptions.length = 0; + } +} + +export { SubscriptionManager }; +//# sourceMappingURL=subscription-manager.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/time-conversion.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/time-conversion.mjs new file mode 100644 index 0000000..f770399 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/time-conversion.mjs @@ -0,0 +1,13 @@ +/** + * Converts seconds to milliseconds + * + * @param seconds - Time in seconds. + * @return milliseconds - Converted time in milliseconds. + */ +/*#__NO_SIDE_EFFECTS__*/ +const secondsToMilliseconds = (seconds) => seconds * 1000; +/*#__NO_SIDE_EFFECTS__*/ +const millisecondsToSeconds = (milliseconds) => milliseconds / 1000; + +export { millisecondsToSeconds, secondsToMilliseconds }; +//# sourceMappingURL=time-conversion.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/velocity-per-second.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/velocity-per-second.mjs new file mode 100644 index 0000000..6fc328a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/velocity-per-second.mjs @@ -0,0 +1,8 @@ +/* + Convert velocity into velocity per second +*/ +/*#__NO_SIDE_EFFECTS__*/ +const velocityPerSecond = (velocity, frameDuration) => frameDuration ? velocity * (1000 / frameDuration) : 0; + +export { velocityPerSecond }; +//# sourceMappingURL=velocity-per-second.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/warn-once.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/warn-once.mjs new file mode 100644 index 0000000..8d68e96 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/warn-once.mjs @@ -0,0 +1,15 @@ +import { formatErrorMessage } from './format-error-message.mjs'; + +const warned = new Set(); +function hasWarned(message) { + return warned.has(message); +} +function warnOnce(condition, message, errorCode) { + if (condition || warned.has(message)) + return; + console.warn(formatErrorMessage(message, errorCode)); + warned.add(message); +} + +export { hasWarned, warnOnce }; +//# sourceMappingURL=warn-once.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/dist/es/wrap.mjs b/apps/web/.output/server/node_modules/motion-utils/dist/es/wrap.mjs new file mode 100644 index 0000000..5fc9fba --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/dist/es/wrap.mjs @@ -0,0 +1,7 @@ +const wrap = (min, max, v) => { + const rangeSize = max - min; + return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min; +}; + +export { wrap }; +//# sourceMappingURL=wrap.mjs.map diff --git a/apps/web/.output/server/node_modules/motion-utils/package.json b/apps/web/.output/server/node_modules/motion-utils/package.json new file mode 100644 index 0000000..7a99077 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-utils/package.json @@ -0,0 +1,32 @@ +{ + "name": "motion-utils", + "version": "14.1.1", + "author": "Matt Perry", + "license": "MIT", + "repository": "https://github.com/motiondivision/motion", + "main": "./dist/cjs/index.js", + "types": "./dist/index.d.ts", + "module": "./dist/es/index.mjs", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/cjs/index.js", + "import": "./dist/es/index.mjs", + "default": "./dist/cjs/index.js" + } + }, + "scripts": { + "clean": "rm -rf types dist lib", + "build": "yarn clean && tsc -p . && rollup -c", + "dev": "concurrently -c blue,red -n tsc,rollup --kill-others \"tsc --watch -p . --preserveWatchOutput\" \"rollup --config --watch --no-watch.clearScreen\"", + "test": "jest --config jest.config.json --max-workers=2" + }, + "gitHead": "23b2a5697ffa854d6da4c26b04ea0d2425e033d7", + "devDependencies": { + "concurrently": "^7.3.0", + "jest": "^29.7.0", + "rollup": "4.59.0", + "typescript": "5.4.3" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/animation-controls.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/animation-controls.mjs new file mode 100644 index 0000000..910d499 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/animation-controls.mjs @@ -0,0 +1,68 @@ +import { animateVisualElement, setTarget } from "motion-dom"; +import { invariant } from "hey-listen"; +//#region src/animation/hooks/animation-controls.ts +function stopAnimation(visualElement) { + visualElement.values.forEach((value) => value.stop()); +} +/** +* @deprecated +*/ +function animationControls() { + /** + * Track whether the host component has mounted. + */ + let hasMounted = false; + /** + * A collection of linked component animation controls. + */ + const subscribers = /* @__PURE__ */ new Set(); + const controls = { + subscribe(state) { + subscribers.add(state); + return () => void subscribers.delete(state); + }, + start(definition, transitionOverride) { + invariant(hasMounted, "controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook."); + const animations = []; + subscribers.forEach((visualElement) => { + animations.push(animateVisualElement(visualElement, definition, { transitionOverride })); + }); + return Promise.all(animations); + }, + set(definition) { + invariant(hasMounted, "controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook."); + return subscribers.forEach((visualElement) => { + setValues(visualElement, definition); + }); + }, + stop() { + subscribers.forEach((visualElement) => { + stopAnimation(visualElement); + }); + }, + mount() { + hasMounted = true; + return () => { + hasMounted = false; + controls.stop(); + }; + } + }; + return controls; +} +function setValues(visualElement, definition) { + if (Array.isArray(definition)) return setVariants(visualElement, definition); + else if (typeof definition === "string") return setVariants(visualElement, [definition]); + else setTarget(visualElement, definition); +} +function setVariants(visualElement, variantLabels) { + [...variantLabels].reverse().forEach((key) => { + const variant = visualElement.getVariant(key); + variant && setTarget(visualElement, variant); + if (visualElement.variantChildren) visualElement.variantChildren.forEach((child) => { + setVariants(child, variantLabels); + }); + }); +} +//#endregion +export { animationControls, setValues }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animate.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animate.mjs new file mode 100644 index 0000000..4b8ca93 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animate.mjs @@ -0,0 +1,33 @@ +import { useMotionConfig } from "../../components/motion-config/context.mjs"; +import { createScopedAnimate } from "framer-motion/dom"; +import { computed, onUnmounted, ref } from "vue"; +//#region src/animation/hooks/use-animate.ts +function useAnimate() { + const dom = ref(null); + const domProxy = new Proxy(dom, { + get(target, key) { + if (typeof key === "string" || typeof key === "symbol") { + if (key === "current") return Reflect.get(target, "value"); + return Reflect.get(target, key); + } + }, + set(target, key, value) { + if (key === "value") return Reflect.set(target, key, value?.$el || value); + if (key === "animations") return Reflect.set(target, key, value); + return true; + } + }); + domProxy.animations = []; + const config = useMotionConfig(); + const scopedAnimate = computed(() => createScopedAnimate({ + scope: domProxy, + skipAnimations: config.value.skipAnimations + })); + const animate = ((...args) => scopedAnimate.value(...args)); + onUnmounted(() => { + domProxy.animations.forEach((animation) => animation.stop()); + }); + return [domProxy, animate]; +} +//#endregion +export { useAnimate }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animation-controls.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animation-controls.mjs new file mode 100644 index 0000000..8f4e567 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-animation-controls.mjs @@ -0,0 +1,48 @@ +import { animationControls } from "./animation-controls.mjs"; +import { onMounted, onUnmounted } from "vue"; +//#region src/animation/hooks/use-animation-controls.ts +/** +* Creates `AnimationControls`, which can be used to manually start, stop +* and sequence animations on one or more components. +* +* The returned `AnimationControls` should be passed to the `animate` property +* of the components you want to animate. +* +* These components can then be animated with the `start` method. +* +* ```jsx +* import { motion, useAnimationControls } from 'motion-v' +* +* export default defineComponent({ +* setup() { +* const controls = useAnimationControls() +* +* controls.start({ +* x: 100, +* transition: { duration: 0.5 }, +* }) +* +* return () => ( +* <motion.div animate={controls} /> +* ) +* } +* }) +* ``` +* +* @returns Animation controller with `start`, `stop`, `set` and `mount` methods +* +* @public +*/ +function useAnimationControls() { + const controls = animationControls(); + let unmount; + onMounted(() => { + unmount = controls.mount(); + }); + onUnmounted(() => { + unmount(); + }); + return controls; +} +//#endregion +export { useAnimationControls }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-reduced-motion.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-reduced-motion.mjs new file mode 100644 index 0000000..9f4c77c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/animation/hooks/use-reduced-motion.mjs @@ -0,0 +1,12 @@ +import { computed } from "vue"; +import { useMediaQuery } from "@vueuse/core"; +//#region src/animation/hooks/use-reduced-motion.ts +/** +* Reactive prefers-reduced-motion. +*/ +function useReducedMotion(options = {}) { + const reducedMotion = useMediaQuery("(prefers-reduced-motion: reduce)", options); + return computed(() => reducedMotion.value); +} +//#endregion +export { useReducedMotion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.mjs new file mode 100644 index 0000000..38f34ee --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.mjs @@ -0,0 +1,5 @@ +import LayoutGroup_vue_vue_type_script_setup_true_lang_default from "./LayoutGroup.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/LayoutGroup.vue +var LayoutGroup_default = LayoutGroup_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { LayoutGroup_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..0df2779 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/LayoutGroup.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,24 @@ +import { useLayoutGroupProvider } from "./use-layout-group.mjs"; +import { defineComponent, renderSlot, unref } from "vue"; +//#region src/components/LayoutGroup.vue?vue&type=script&setup=true&lang.ts +var LayoutGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + __name: "LayoutGroup", + props: { + id: {}, + inherit: { + type: [Boolean, String], + default: true + } + }, + setup(__props) { + const { forceRender, key } = useLayoutGroupProvider(__props); + return (_ctx, _cache) => { + return renderSlot(_ctx.$slots, "default", { + renderKey: unref(key), + forceRender: unref(forceRender) + }); + }; + } +}); +//#endregion +export { LayoutGroup_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.mjs new file mode 100644 index 0000000..9872d1e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.mjs @@ -0,0 +1,5 @@ +import RowValue_vue_vue_type_script_setup_true_lang_default from "./RowValue.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/RowValue.vue +var RowValue_default = RowValue_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { RowValue_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..15f270e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/RowValue.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,20 @@ +import { defineComponent, getCurrentInstance, toDisplayString, watchEffect } from "vue"; +//#region src/components/RowValue.vue?vue&type=script&setup=true&lang.ts +var RowValue_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + __name: "RowValue", + props: { value: {} }, + setup(__props) { + const props = __props; + const instance = getCurrentInstance()?.proxy; + watchEffect((cleanup) => { + cleanup(props.value.on("change", (value) => { + if (instance && instance.$el) instance.$el.textContent = value; + })); + }); + return (_ctx, _cache) => { + return toDisplayString(__props.value.get()); + }; + } +}); +//#endregion +export { RowValue_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.mjs new file mode 100644 index 0000000..54959d0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.mjs @@ -0,0 +1,5 @@ +import AnimatePresence_vue_vue_type_script_setup_true_lang_default from "./AnimatePresence.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/animate-presence/AnimatePresence.vue +var AnimatePresence_default = AnimatePresence_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { AnimatePresence_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..edf65f6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/AnimatePresence.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,40 @@ +import { usePresenceContainer } from "./use-presence-container.mjs"; +import { Transition, TransitionGroup, computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue"; +//#region src/components/animate-presence/AnimatePresence.vue?vue&type=script&setup=true&lang.ts +var AnimatePresence_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + name: "AnimatePresence", + inheritAttrs: true, + __name: "AnimatePresence", + props: { + mode: { default: "sync" }, + initial: { + type: Boolean, + default: true + }, + as: {}, + custom: {}, + onExitComplete: {}, + anchorX: { default: "left" } + }, + setup(__props) { + const props = __props; + const { enter, exit } = usePresenceContainer(props); + const transitionProps = computed(() => { + if (props.mode !== "wait") return { tag: props.as }; + return { mode: props.mode === "wait" ? "out-in" : void 0 }; + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(resolveDynamicComponent(__props.mode === "wait" ? Transition : TransitionGroup), mergeProps(transitionProps.value, { + appear: "", + css: false, + onLeave: unref(exit), + onEnter: unref(enter) + }), { + default: withCtx(() => [renderSlot(_ctx.$slots, "default")]), + _: 3 + }, 16, ["onLeave", "onEnter"]); + }; + } +}); +//#endregion +export { AnimatePresence_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/exit-session.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/exit-session.mjs new file mode 100644 index 0000000..8fa9eee --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/exit-session.mjs @@ -0,0 +1,103 @@ +import { frame } from "motion-dom"; +//#region src/components/animate-presence/exit-session.ts +var popId = 0; +/** +* Bookkeeping unit for AnimatePresence exits: one session per exiting +* container element. Owns pop-layout styling and the fan-in toward +* `onAllComplete`. `abort` cancels a session whose element re-entered +* mid-exit; its states' exit promises then resolve silently. +*/ +function createExitSession(config) { + const sessions = /* @__PURE__ */ new Map(); + function addPopStyle(session) { + if (config.props.mode !== "popLayout") return; + const element = session.el; + const parent = element.offsetParent; + const parentWidth = parent instanceof HTMLElement ? parent.offsetWidth || 0 : 0; + const size = { + height: element.offsetHeight || 0, + width: element.offsetWidth || 0, + top: element.offsetTop, + left: element.offsetLeft, + right: 0 + }; + size.right = parentWidth - size.width - size.left; + const x = config.props.anchorX === "left" ? `left: ${size.left}px` : `right: ${size.right}px`; + const elementPopId = `pop-${popId++}`; + element.dataset.motionPopId = elementPopId; + const doc = element.ownerDocument; + const style = doc.createElement("style"); + const nonce = config.getNonce(); + if (nonce) style.nonce = nonce; + session.popStyle = style; + doc.head.appendChild(style); + if (style.sheet) style.sheet.insertRule(` + [data-motion-pop-id="${elementPopId}"] { + position: absolute !important; + width: ${size.width}px !important; + height: ${size.height}px !important; + top: ${size.top}px !important; + ${x} !important; + } + `); + } + function removePopStyle(session) { + const style = session.popStyle; + if (!style) return; + session.popStyle = void 0; + frame.render(() => { + style.parentNode?.removeChild(style); + }); + } + function track(el, states, done, handlers = []) { + const session = { + el, + states, + handlers, + done, + aborted: false + }; + sessions.set(el, session); + addPopStyle(session); + const completions = states.map((state) => state.getFeature("exit")?.exit() ?? Promise.resolve()); + for (const handler of handlers) completions.push(Promise.resolve(handler.onExit())); + Promise.all(completions).then(() => { + if (!session.aborted) finalize(session); + }); + } + function abort(el) { + const session = sessions.get(el); + if (!session) return; + session.aborted = true; + sessions.delete(el); + removePopStyle(session); + session.handlers.forEach((handler) => handler.onEnter?.()); + } + function finalize(session) { + sessions.delete(session.el); + removePopStyle(session); + session.states.forEach((state) => { + state.getSnapshot(false); + }); + session.done(); + if (!session.el.isConnected) session.states.forEach((state) => { + state.unmount(); + }); + config.onAllComplete(); + } + function dispose() { + sessions.forEach((session) => { + session.states.forEach((state) => { + state.unmount(); + }); + }); + sessions.clear(); + } + return { + track, + abort, + dispose + }; +} +//#endregion +export { createExitSession }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/presence.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/presence.mjs new file mode 100644 index 0000000..e78239a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/presence.mjs @@ -0,0 +1,5 @@ +import { createContext } from "../../utils/createContext.mjs"; +//#region src/components/animate-presence/presence.ts +var [injectAnimatePresence, provideAnimatePresence, animatePresenceInjectionKey] = createContext("AnimatePresenceContext"); +//#endregion +export { animatePresenceInjectionKey, injectAnimatePresence, provideAnimatePresence }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence-container.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence-container.mjs new file mode 100644 index 0000000..1229e37 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence-container.mjs @@ -0,0 +1,74 @@ +import { useMotionConfig } from "../motion-config/context.mjs"; +import { provideAnimatePresence } from "./presence.mjs"; +import { createExitSession } from "./exit-session.mjs"; +import { onMounted, onUnmounted } from "vue"; +//#region src/components/animate-presence/use-presence-container.ts +function usePresenceContainer(props) { + const motionConfig = useMotionConfig(); + const sessions = createExitSession({ + props, + getNonce: () => motionConfig.value.nonce, + onAllComplete: () => props.onExitComplete?.() + }); + const registered = /* @__PURE__ */ new Set(); + const handlers = /* @__PURE__ */ new Set(); + let hasMounted = false; + provideAnimatePresence({ + get initial() { + return hasMounted ? void 0 : props.initial; + }, + get custom() { + return props.custom; + }, + register: (state) => registered.add(state), + unregister: (state) => registered.delete(state), + registerHandler: (handler) => handlers.add(handler), + unregisterHandler: (handler) => handlers.delete(handler) + }); + onMounted(() => { + hasMounted = true; + }); + function findMotionStates(container) { + const states = []; + for (const state of registered) { + const el = state.element; + if (el && (el === container || container.contains(el))) states.push(state); + } + return states; + } + function findHandlers(container) { + const found = []; + for (const handler of handlers) { + const el = handler.element(); + if (el && (el === container || container.contains(el))) found.push(handler); + } + return found; + } + function enter(el, done) { + sessions.abort(el); + findMotionStates(el).forEach((state) => { + state.getFeature("exit")?.reenter(); + }); + done(); + } + function exit(el, done) { + const container = el; + const states = findMotionStates(container); + const exiting = findHandlers(container); + if (states.length === 0 && exiting.length === 0) { + done(); + props.onExitComplete?.(); + return; + } + sessions.track(container, states, done, exiting); + } + onUnmounted(() => { + sessions.dispose(); + }); + return { + enter, + exit + }; +} +//#endregion +export { usePresenceContainer }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence.mjs new file mode 100644 index 0000000..6fcca73 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-presence/use-presence.mjs @@ -0,0 +1,34 @@ +import { injectAnimatePresence } from "./presence.mjs"; +import { onMounted, onUnmounted, onUpdated } from "vue"; +//#region src/components/animate-presence/use-presence.ts +/** +* Lets a component run its own exit when an `AnimatePresence` removes it, +* for components that animate out without a `motion` element's `exit`. +* +* Removal waits for the promise `onExit` returns. Vue runs the component's +* `onUnmounted` hooks before that, so teardown the exit needs (an engine, +* listeners) should wait for the same promise. `onEnter` runs if the +* element comes back while its exit is running. +* +* Outside an `AnimatePresence` it does nothing. +*/ +function usePresence(handler) { + const presence = injectAnimatePresence({}); + if (!presence.registerHandler) return; + let element; + const read = () => { + element = handler.element() ?? element; + }; + const registered = { + ...handler, + element: () => element + }; + onMounted(() => { + read(); + presence.registerHandler(registered); + }); + onUpdated(read); + onUnmounted(() => presence.unregisterHandler(registered)); +} +//#endregion +export { usePresence }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.mjs new file mode 100644 index 0000000..176ffbe --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.mjs @@ -0,0 +1,5 @@ +import AnimateView_vue_vue_type_script_setup_true_lang_default from "./AnimateView.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/animate-view/AnimateView.vue +var AnimateView_default = AnimateView_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { AnimateView_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..6a2348e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/AnimateView.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,36 @@ +import { useAnimateView } from "./use-animate-view.mjs"; +import { defineComponent, renderSlot } from "vue"; +//#region src/components/animate-view/AnimateView.vue?vue&type=script&setup=true&lang.ts +/** +* Animate enter, exit, update and shared element transitions using the +* browser's View Transitions API. Adds no wrapper DOM element. +* +* State updates must be wrapped in `startTransition`: +* +* ```vue +* <button @click="startTransition(() => show = !show)">Toggle</button> +* <AnimateView v-if="show"><div class="box" /></AnimateView> +* ``` +*/ +var AnimateView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + name: "AnimateView", + __name: "AnimateView", + props: { + name: {}, + transition: {}, + enter: { type: [Object, Function] }, + exit: { type: [Object, Function] }, + share: { type: [Object, Function] }, + update: { type: [Object, Function] }, + onAnimationStart: { type: Function }, + onAnimationComplete: { type: Function } + }, + setup(__props) { + useAnimateView(__props); + return (_ctx, _cache) => { + return renderSlot(_ctx.$slots, "default"); + }; + } +}); +//#endregion +export { AnimateView_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/animate-view-layers.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/animate-view-layers.mjs new file mode 100644 index 0000000..ffc541e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/animate-view-layers.mjs @@ -0,0 +1,92 @@ +import { GroupAnimation, NativeAnimation, NativeAnimationWrapper, applyGeneratorOptions, getValueTransition, getViewAnimationLayerInfo, getViewAnimations, mapEasingToNativeEasing } from "motion-dom"; +import { secondsToMilliseconds } from "motion-utils"; +//#region src/components/animate-view/animate-view-layers.ts +/** +* Animate the pseudo-element layers the browser has generated for a named +* view transition boundary, either retiming the browser's animations or +* replacing its crossfade with custom keyframes. +* +* Ported from framer-motion's AnimateView (`animate-view-layers.mjs`). +*/ +function animateViewLayers(name, animationType, { transition, onAnimationStart, onAnimationComplete, ...props }, types) { + const layerAnimations = []; + const definition = props[animationType]; + const { transition: typeTransition, ...values } = (typeof definition === "function" ? definition(types) : definition) || {}; + const hasValues = Object.keys(values).length > 0; + let hasBrowserLayerAnimation = false; + for (const viewAnimation of getViewAnimations()) { + if (viewAnimation.playState === "finished") continue; + const { effect } = viewAnimation; + if (typeof KeyframeEffect === "undefined" || !(effect instanceof KeyframeEffect) || !effect.pseudoElement) continue; + const info = getViewAnimationLayerInfo(effect.pseudoElement); + if (!info || info.layer !== name) continue; + hasBrowserLayerAnimation = true; + /** + * Custom values replace the browser's crossfade (old/new layers). + * The group layer carries the position/size morph, so keep it running + * with Motion's timing. + */ + if (hasValues && info.type !== "group") viewAnimation.cancel(); + else { + const transitionName = info.type === "group" ? "layout" : ""; + let options = { + ...getValueTransition(transition, transitionName), + ...getValueTransition(typeTransition, transitionName) + }; + options.duration = secondsToMilliseconds(options.duration ?? .3); + options = applyGeneratorOptions(options); + effect.updateTiming({ + delay: secondsToMilliseconds(options.delay ?? 0), + duration: options.duration, + easing: mapEasingToNativeEasing(options.ease, options.duration) + }); + layerAnimations.push(new NativeAnimationWrapper(viewAnimation)); + } + } + if (hasValues && hasBrowserLayerAnimation) layerAnimations.push(...createLayerAnimations(name, animationType, values, transition, typeTransition)); + const animation = new GroupAnimation(layerAnimations); + let active = true; + onAnimationStart?.(animation, animationType); + if (onAnimationComplete) animation.finished.then(() => { + if (active) onAnimationComplete(animationType); + }); + return () => { + active = false; + animation.cancel(); + }; +} +/** +* Run each custom value as a `NativeAnimation` against the snapshot +* pseudo-element that stays visible for this animation type: the `new` +* snapshot when entering, the `old` snapshot when exiting or sharing. +* The browser's own old/new crossfade has already been cancelled by the +* caller; the group layer (size/position morph) is untouched. +*/ +function createLayerAnimations(layerName, animationType, values, baseTransition, typeTransition) { + const animations = []; + for (const [name, value] of Object.entries(values)) { + let keyframes = value; + const options = { + ...getValueTransition(baseTransition, name), + ...getValueTransition(typeTransition, name) + }; + options.duration && (options.duration = secondsToMilliseconds(options.duration)); + options.delay && (options.delay = secondsToMilliseconds(options.delay)); + /** + * A single opacity value is a target, not a keyframe pair — backfill + * the starting frame from the snapshot's natural state: entering + * elements fade in from 0, exiting/shared ones fade out from 1. + */ + if (name === "opacity" && !Array.isArray(keyframes)) keyframes = [animationType === "enter" ? 0 : 1, keyframes]; + animations.push(new NativeAnimation({ + ...options, + element: document.documentElement, + name, + pseudoElement: `::view-transition-${animationType === "enter" ? "new" : "old"}(${layerName})`, + keyframes + })); + } + return animations; +} +//#endregion +export { animateViewLayers }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/context.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/context.mjs new file mode 100644 index 0000000..a262468 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/context.mjs @@ -0,0 +1,102 @@ +//#region src/components/animate-view/context.ts +var instances = /* @__PURE__ */ new Set(); +/** +* The transition currently collecting participants. Registration closes as +* soon as the update has flushed — NOT when the animation finishes playing +* (which can take seconds), so unrelated mounts/updates during playback are +* never misregistered. +*/ +var activeTransition = null; +/** +* The most recently started transition. The browser skips an interrupted +* transition when a new one begins, and the skipped one's `finished` settles +* too — this guard stops a stale transition from removing names the newer +* transition has applied. +*/ +var latestTransition = null; +/** Cancel functions returned by `animateViewLayers`, keyed by instance. */ +var animationCleanups = /* @__PURE__ */ new Map(); +function registerAnimateView(handle) { + instances.add(handle); +} +function unregisterAnimateView(handle) { + instances.delete(handle); +} +function getAnimateViews() { + return instances; +} +function getActiveViewTransition() { + return activeTransition; +} +function beginViewTransition(types) { + activeTransition = { + types, + participants: [] + }; + latestTransition = activeTransition; + return activeTransition; +} +/** +* Close participant registration once the transition's DOM update has +* flushed. The transition's pseudo-element snapshot is taken after this +* point, so no further lifecycle events can belong to it. +*/ +function closeViewTransitionRegistration(transition) { + if (activeTransition === transition) activeTransition = null; +} +function endViewTransition(transition) { + if (latestTransition !== transition) return; + latestTransition = null; + for (const instance of instances) instance.removeLayerNames(); + if (activeTransition === transition) activeTransition = null; + /** + * Destroy every layer animation, not just forget them. Custom-value + * animations are WAAPI animations attached to pseudo-elements BY NAME — + * left lingering, they re-attach and replay when the same name reappears + * in a later transition (wrap-around carousels, repeated shared-element + * opens), and their accumulation crashes the Chrome renderer on rapid + * navigation. + */ + for (const cleanup of animationCleanups.values()) cleanup(); + animationCleanups.clear(); +} +/** +* Store the cancel function for a participant's layer animation(s). +* Multi-root participants produce one call per layer name — compose them. +*/ +function setViewTransitionCleanup(handle, cleanup) { + const existing = animationCleanups.get(handle); + animationCleanups.set(handle, existing ? () => { + existing(); + cleanup(); + } : cleanup); +} +/** +* Cancel a layer animation still playing for an unmounted instance. Also +* suppresses its `onAnimationComplete` via the cleanup's `active` guard. +*/ +function cancelViewTransitionAnimation(handle) { + const cleanup = animationCleanups.get(handle); + if (cleanup) { + animationCleanups.delete(handle); + cleanup(); + } +} +/** +* Record that an instance is participating in the active transition. +* The first recorded type wins within a single transition — an entering +* element that also re-renders stays an "enter", not an "update". +*/ +function recordParticipant(type, handle, transition = activeTransition) { + if (!transition) return; + if (transition.participants.some((p) => p.handle === handle)) return; + transition.participants.push({ + handle, + layerNames: [...handle.layerNames], + type, + props: handle.getProps(), + shareName: handle.getShareName() + }); +} +//#endregion +export { beginViewTransition, cancelViewTransitionAnimation, closeViewTransitionRegistration, endViewTransition, getActiveViewTransition, getAnimateViews, recordParticipant, registerAnimateView, setViewTransitionCleanup, unregisterAnimateView }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/reset-styles.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/reset-styles.mjs new file mode 100644 index 0000000..ff52b62 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/reset-styles.mjs @@ -0,0 +1,20 @@ +import { isSSR } from "../../utils/is.mjs"; +//#region src/components/animate-view/reset-styles.ts +var hasInsertedTransitionResetStyle = false; +/** +* Force all view transition pseudo-elements to linear timing so Motion +* transitions fully control the easing via `updateTiming`. +*/ +function injectViewTransitionResetStyles() { + if (hasInsertedTransitionResetStyle || isSSR) return; + hasInsertedTransitionResetStyle = true; + const style = document.createElement("style"); + style.textContent = ` + ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { + animation-timing-function: linear !important; + } + `; + document.head.appendChild(style); +} +//#endregion +export { injectViewTransitionResetStyles }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/start-transition.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/start-transition.mjs new file mode 100644 index 0000000..fe9a3c8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/start-transition.mjs @@ -0,0 +1,187 @@ +import { beginViewTransition, closeViewTransitionRegistration, endViewTransition, getAnimateViews, setViewTransitionCleanup } from "./context.mjs"; +import { animateViewLayers } from "./animate-view-layers.mjs"; +import { nextTick } from "vue"; +import { noop, warnOnce } from "motion-utils"; +//#region src/components/animate-view/start-transition.ts +/** +* View transitions are non-interruptible: starting one while another is +* playing makes the browser skip the running transition, and its mid-flight +* pseudo-element images leak into the new transition's old snapshot (visual +* ghost stacking). React serializes transitions instead — updates committed +* during playback wait, then flush as a single batched transition. This +* queue mirrors that behavior. +*/ +var isTransitionRunning = false; +var updateQueue = []; +/** +* Run a state update inside a native View Transition. Any `<AnimateView>` +* component that enters, exits, updates or shares an element during the +* update will animate with its configured animations. +* +* ```ts +* startTransition(() => { show.value = !show.value }, { types: ['toggle'] }) +* ``` +* +* If a transition is already playing, the update is queued and flushed — +* batched with any others — once it finishes. Queued calls return +* `undefined` and their state changes apply only when the queue drains +* (React `startTransition` semantics). +* +* Returns the native `ViewTransition`, or `undefined` when queued, or when +* the View Transitions API is unavailable (SSR or unsupported browsers — +* the update still runs, without animation). +*/ +function startTransition(update, options = {}) { + if (!(typeof document !== "undefined" && typeof document.startViewTransition === "function")) { + if (process.env.NODE_ENV !== "production" && typeof document !== "undefined") warnOnce(true, "startTransition: the View Transitions API is not supported in this browser. The update ran without animation."); + update(); + return; + } + updateQueue.push({ + update, + types: options.types ?? [], + root: options.root + }); + if (isTransitionRunning) return void 0; + return flushUpdateQueue(); +} +/** +* Drain the queue as a single batched transition. Calls itself recursively +* from `finished` to flush updates that arrived during playback; with an +* empty queue it just marks the runner idle. +*/ +function flushUpdateQueue() { + const batch = updateQueue.splice(0); + if (batch.length === 0) { + isTransitionRunning = false; + return; + } + isTransitionRunning = true; + const types = [...new Set(batch.flatMap((item) => item.types))]; + const root = batch.some((item) => item.root); + const transition = beginViewTransition(types); + /** + * Apply layer names on every mounted instance *before* the update runs, + * so elements that are about to exit already carry their + * `view-transition-name` when the browser captures the old snapshot. + */ + for (const instance of getAnimateViews()) instance.applyLayerNames(); + /** + * Suppress the root *before* startViewTransition: the browser captures the + * old snapshot synchronously when the transition starts, so doing this in + * the update callback would leave the root in the old snapshot — an + * old-only layer that fades out as a full-page ghost instead of a hard cut. + */ + if (!root) suppressRootLayer(); + const viewTransition = document.startViewTransition(async () => { + if (!root) zeroSizeOverlayPassThrough(); + for (const item of batch) await item.update(); + await nextTick(); + /** + * The DOM update has flushed, so every mount/update/unmount belonging + * to this transition has happened. Close registration now — the window + * must not stay open while the animation plays (which can take + * seconds), or unrelated lifecycle events would be misregistered. + */ + closeViewTransitionRegistration(transition); + }); + viewTransition.ready.then(() => startParticipantAnimations(transition)).catch(noop); + viewTransition.finished.catch(noop).finally(() => { + restoreRootLayer(); + endViewTransition(transition); + flushUpdateQueue(); + }); + return viewTransition; +} +var overlayPassThroughAnimation = null; +/** +* Zero-size the `::view-transition` overlay so pointer events reach the live +* document during the transition; running animation groups keep their size +* and still block clicks over their snapshots. WAAPI scoped to this +* transition's pseudo tree, not a global stylesheet (React's technique). +* Must run inside the update callback: animations created before +* `startViewTransition()` never bind to the pseudo tree. +*/ +function zeroSizeOverlayPassThrough() { + const animation = document.documentElement.animate({ + width: [0, 0], + height: [0, 0] + }, { + duration: 0, + fill: "forwards", + pseudoElement: "::view-transition" + }); + if (animation.effect?.pseudoElement !== "::view-transition") { + animation.cancel(); + return; + } + overlayPassThroughAnimation = animation; +} +/** +* Exclude the document root from the transition (React +* `cancelRootViewTransitionName` parity): `view-transition-name: none` +* before the transition starts skips the root in both snapshots, so unnamed +* content changes hard-cut instead of crossfading the whole page. +*/ +function suppressRootLayer() { + const root = document.documentElement; + if (root.style.getPropertyValue("view-transition-name") !== "") return; + root.style.setProperty("view-transition-name", "none"); +} +/** Undo `suppressRootLayer`/`zeroSizeOverlayPassThrough` after the transition. */ +function restoreRootLayer() { + const root = document.documentElement; + if (root.style.getPropertyValue("view-transition-name") === "none") root.style.removeProperty("view-transition-name"); + overlayPassThroughAnimation?.cancel(); + overlayPassThroughAnimation = null; +} +/** +* Pair shared-element participants, then take over the browser's +* pseudo-element animations for every participant's layer. Called once the +* transition is `ready` — the pseudo tree now exists and its animations can +* be retimed or replaced. +*/ +function startParticipantAnimations(transition) { + pairSharedParticipants(transition); + const seen = /* @__PURE__ */ new Set(); + for (const participant of transition.participants) { + if (participant.consumed) continue; + for (const layerName of participant.layerNames) { + if (seen.has(layerName)) continue; + seen.add(layerName); + /** + * Keep the cancel function so an instance unmounted mid-playback can + * cancel its layer animation (and suppress `onAnimationComplete`), + * mirroring the cleanup React's `<ViewTransition>` performs. + */ + const cleanup = animateViewLayers(layerName, participant.type, participant.props, transition.types); + setViewTransitionCleanup(participant.handle, cleanup); + } + } +} +/** +* Share pairing: an exiting and an entering instance with the same `name` +* within this transition animate as a shared element, configured by the +* entering side's props. The exiting participant is marked `consumed` so +* the run loop skips it — the browser has already paired both sides under +* one layer name. +* +* Note: components that neither enter, exit nor re-render are not detected +* as participants even if the browser still morphs their position (e.g. +* list reorder without a re-render) — their group layer plays with the +* browser's default timing. Unlike React's `<ViewTransition>`, Vue has no +* reconciler-level signal for this. +*/ +function pairSharedParticipants(transition) { + const exits = transition.participants.filter((p) => p.type === "exit" && p.shareName); + for (const participant of transition.participants) { + if (participant.type !== "enter" || !participant.shareName) continue; + const exit = exits.find((p) => p.shareName === participant.shareName); + if (exit) { + participant.type = "share"; + exit.consumed = true; + } + } +} +//#endregion +export { startTransition }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/use-animate-view.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/use-animate-view.mjs new file mode 100644 index 0000000..482e545 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/animate-view/use-animate-view.mjs @@ -0,0 +1,132 @@ +import { cancelViewTransitionAnimation, getActiveViewTransition, recordParticipant, registerAnimateView, unregisterAnimateView } from "./context.mjs"; +import { injectViewTransitionResetStyles } from "./reset-styles.mjs"; +import { getCurrentInstance, onBeforeUnmount, onMounted, onUnmounted, onUpdated } from "vue"; +//#region src/components/animate-view/use-animate-view.ts +var uidCounter = 0; +/** charCode of 'a' — suffix base for multi-root layer names (`uid-a`, `uid-b`, …) */ +var SUFFIX_A = 97; +/** +* Collect the nearest host DOM nodes of a component instance. +* +* How the traversal stays inside this component's DOM range: +* +* Vue maintains two pointers on every vnode that delimit its DOM output: +* +* - `subTree.el` — the first DOM node this component rendered +* - `subTree.anchor` — the last DOM node (only set on Fragment vnodes, +* i.e. multi-root components) +* +* Vue guarantees a fragment's children are one contiguous run of siblings +* between `el` and `anchor` (its own patch/move logic relies on this), so +* walking `nextSibling` from `el` to `anchor` covers exactly this +* component's top-level DOM — never nodes before or after it. +* +* Shapes this produces: +* +* - Single root (`<div/>`): `anchor` is absent, falls back to `el`, the +* loop stops after one node. +* - Multi-root fragment (`<div/><div/>`): every top-level sibling in the +* `el → anchor` range is collected (they get suffixed names later, +* mirroring React's `name-a`/`name-b` behavior). +* - Root is a child component: the child vnode's `el` is its own root DOM +* node, so we land on the "nearest host node" without recursing into the +* child's internals (we follow `nextSibling`, never `childNodes`). +* - `<Teleport>` content renders elsewhere in the document, so it is +* structurally outside the `el → anchor` range and never collected. +* - Text and comment nodes (Vue uses comments as `v-if` placeholders) are +* filtered out by the `nodeType === 1` check. +*/ +function getRootElements(instance) { + const subTree = instance.subTree; + if (!subTree || !subTree.el) return []; + const elements = []; + let node = subTree.el; + const anchor = subTree.anchor ?? subTree.el; + const parent = subTree.el.parentNode; + while (node) { + if (node.nodeType === 1) elements.push(node); + if (node === anchor) break; + node = node.nextSibling; + /** + * Defensive bound: `el` and `anchor` must live in the same parent. + * If `anchor` were ever unreachable as a following sibling (a broken + * fragment invariant or a mid-patch intermediate state), stop instead + * of walking past the component's range into unrelated siblings. + */ + if (node && node.parentNode !== parent) break; + } + return elements; +} +/** +* Register the current `<AnimateView>` instance with the view transition +* registry and wire up lifecycle-based participation detection. +* +* Names are applied lazily: `startTransition` applies layer names on every +* mounted instance right before the DOM update, and entering instances apply +* their own on mount. Outside a transition no `view-transition-name` is +* written, so idle instances never interfere with other transitions. +*/ +function useAnimateView(props) { + const instance = getCurrentInstance(); + const uid = `motion-view-${++uidCounter}`; + let layerNames = []; + let layerElements = []; + function computeLayerNames(count) { + const name = props.name ?? uid; + if (count <= 1) return [name]; + return Array.from({ length: count }, (_, i) => `${name}-${String.fromCharCode(SUFFIX_A + i)}`); + } + function applyLayerNames() { + removeLayerNames(); + layerElements = getRootElements(instance); + layerNames = computeLayerNames(layerElements.length); + layerElements.forEach((el, i) => { + el.style.setProperty("view-transition-name", layerNames[i]); + }); + } + function removeLayerNames() { + for (const el of layerElements) el.style.removeProperty("view-transition-name"); + layerElements = []; + layerNames = []; + } + /** + * Spread, don't enumerate: any prop added to `AnimateViewProps` later is + * captured automatically, so exit-time snapshots can't silently drop it. + */ + function getPropsSnapshot() { + return { ...props }; + } + const handle = { + uid, + get layerNames() { + return layerNames; + }, + applyLayerNames, + removeLayerNames, + getProps: getPropsSnapshot, + getShareName: () => props.name + }; + onMounted(() => { + injectViewTransitionResetStyles(); + registerAnimateView(handle); + if (getActiveViewTransition()) { + applyLayerNames(); + recordParticipant("enter", handle); + } + }); + onUpdated(() => { + if (!getActiveViewTransition()) return; + applyLayerNames(); + recordParticipant("update", handle); + }); + onBeforeUnmount(() => { + if (getActiveViewTransition()) recordParticipant("exit", handle); + }); + onUnmounted(() => { + unregisterAnimateView(handle); + cancelViewTransitionAnimation(handle); + removeLayerNames(); + }); +} +//#endregion +export { useAnimateView }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/context.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/context.mjs new file mode 100644 index 0000000..47023ea --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/context.mjs @@ -0,0 +1,6 @@ +import { createContext } from "../utils/createContext.mjs"; +//#region src/components/context.ts +var [injectMotion, provideMotion, motionInjectionKey] = createContext("Motion"); +var [injectLayoutGroup, provideLayoutGroup, layoutGroupInjectionKey] = createContext("LayoutGroup"); +//#endregion +export { injectLayoutGroup, injectMotion, layoutGroupInjectionKey, motionInjectionKey, provideLayoutGroup, provideMotion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/hooks/use-motion-elm.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/hooks/use-motion-elm.mjs new file mode 100644 index 0000000..b71d581 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/hooks/use-motion-elm.mjs @@ -0,0 +1,23 @@ +import "vue"; +import { unrefElement } from "@vueuse/core"; +//#region src/components/hooks/use-motion-elm.ts +/** +* Get the actual motion element, skipping text and comment nodes +* @param el - The HTML element to check +* @returns The first non-text/comment element +*/ +function getMotionElement(el) { + if (!el) return void 0; + if (el.nodeType === 3 || el.nodeType === 8) return getMotionElement(el.nextSibling); + return el; +} +/** +* Get the actual element, skipping text and comment nodes +* @param target - The element to check +* @returns The first non-text/comment element +*/ +function getElement(target) { + return getMotionElement(unrefElement(target)); +} +//#endregion +export { getElement, getMotionElement }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/context.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/context.mjs new file mode 100644 index 0000000..71c15d9 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/context.mjs @@ -0,0 +1,5 @@ +import { createContext } from "../../utils/createContext.mjs"; +//#region src/components/lazy-motion/context.ts +var [useLazyMotionContext, lazyMotionContextProvider] = createContext("LazyMotionContext"); +//#endregion +export { lazyMotionContextProvider, useLazyMotionContext }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/index.mjs new file mode 100644 index 0000000..5326e0d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/lazy-motion/index.mjs @@ -0,0 +1,36 @@ +import { lazyMotionContextProvider } from "./context.mjs"; +import { defineComponent, ref } from "vue"; +//#region src/components/lazy-motion/index.ts +var LazyMotion = defineComponent({ + name: "LazyMotion", + inheritAttrs: false, + props: { + features: { + type: [Object, Function], + required: true + }, + strict: { + type: Boolean, + default: false + } + }, + setup(props, { slots }) { + const features = ref({}); + if (typeof props.features === "object" && "renderer" in props.features) features.value = props.features; + else if (typeof props.features === "function") props.features().then((mod) => { + features.value = mod; + }); + else if (props.features instanceof Promise) props.features.then((mod) => { + features.value = mod; + }); + lazyMotionContextProvider({ + features, + strict: props.strict + }); + return () => { + return slots.default?.(); + }; + } +}); +//#endregion +export { LazyMotion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.mjs new file mode 100644 index 0000000..1c33db7 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.mjs @@ -0,0 +1,5 @@ +import MotionConfig_vue_vue_type_script_setup_true_lang_default from "./MotionConfig.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/motion-config/MotionConfig.vue +var MotionConfig_default = MotionConfig_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { MotionConfig_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..0b05fad --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/MotionConfig.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,41 @@ +import { defaultConfig, provideMotionConfig, useMotionConfig } from "./context.mjs"; +import { computed, defineComponent, renderSlot } from "vue"; +import { isDef } from "@vueuse/core"; +import { warning } from "hey-listen"; +//#region src/components/motion-config/MotionConfig.vue?vue&type=script&setup=true&lang.ts +var MotionConfig_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + name: "MotionConfig", + inheritAttrs: false, + __name: "MotionConfig", + props: { + transition: {}, + reduceMotion: {}, + reducedMotion: { default: ({ reduceMotion }) => { + if (isDef(reduceMotion)) { + warning(false, "`reduceMotion` is deprecated. Use `reducedMotion` instead."); + return reduceMotion; + } + return defaultConfig.reducedMotion; + } }, + skipAnimations: { type: Boolean }, + nonce: {}, + inViewOptions: {} + }, + setup(__props) { + const props = __props; + const parentConfig = useMotionConfig(); + const config = computed(() => ({ + transition: props.transition ?? parentConfig.value.transition, + reducedMotion: props.reducedMotion ?? parentConfig.value.reducedMotion, + skipAnimations: props.skipAnimations ?? parentConfig.value.skipAnimations, + nonce: props.nonce ?? parentConfig.value.nonce, + inViewOptions: props.inViewOptions ?? parentConfig.value.inViewOptions + })); + provideMotionConfig(config); + return (_ctx, _cache) => { + return renderSlot(_ctx.$slots, "default"); + }; + } +}); +//#endregion +export { MotionConfig_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/context.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/context.mjs new file mode 100644 index 0000000..09cfc22 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion-config/context.mjs @@ -0,0 +1,20 @@ +import { createContext } from "../../utils/createContext.mjs"; +import { computed } from "vue"; +//#region src/components/motion-config/context.ts +/** +* Default motion configuration +*/ +var defaultConfig = { + reducedMotion: "never", + transition: void 0, + nonce: void 0 +}; +/** +* Context for sharing motion configuration with child components +*/ +var [injectMotionConfig, provideMotionConfig, motionConfigInjectionKey] = createContext("MotionConfig"); +function useMotionConfig() { + return injectMotionConfig(computed(() => defaultConfig)); +} +//#endregion +export { defaultConfig, injectMotionConfig, motionConfigInjectionKey, provideMotionConfig, useMotionConfig }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/index.mjs new file mode 100644 index 0000000..f10609e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/index.mjs @@ -0,0 +1,7 @@ +import { createMotionComponentWithFeatures } from "./utils.mjs"; +import { domMax } from "../../features/dom-max.mjs"; +//#region src/components/motion/index.ts +var motion = createMotionComponentWithFeatures(domMax); +var Motion = motion.create("div"); +//#endregion +export { Motion, motion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/m.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/m.mjs new file mode 100644 index 0000000..6c46689 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/m.mjs @@ -0,0 +1,6 @@ +import { createMotionComponentWithFeatures } from "./utils.mjs"; +//#region src/components/motion/m.ts +var m = createMotionComponentWithFeatures(); +var M = m.create("div"); +//#endregion +export { M, m }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/props.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/props.mjs new file mode 100644 index 0000000..54b3b41 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/props.mjs @@ -0,0 +1,148 @@ +//#region src/components/motion/props.ts +var MotionComponentProps = { + "ignoreStrict": { type: Boolean }, + "forwardMotionProps": { + type: Boolean, + default: false + }, + "asChild": { + type: Boolean, + default: false + }, + "whileDrag": { type: [ + String, + Array, + Object + ] }, + "whileHover": { type: [ + String, + Array, + Object + ] }, + "whilePress": { type: [ + String, + Array, + Object + ] }, + "whileInView": { type: [ + String, + Array, + Object + ] }, + "whileFocus": { type: [ + String, + Array, + Object + ] }, + "custom": { type: [ + String, + Number, + Object, + Array + ] }, + "initial": { + type: [ + String, + Array, + Object, + Boolean + ], + default: void 0 + }, + "animate": { + type: [ + String, + Array, + Object + ], + default: void 0 + }, + "exit": { type: [ + String, + Array, + Object + ] }, + "variants": { type: Object }, + "inherit": { + type: Boolean, + default: void 0 + }, + "style": { type: Object }, + "transformTemplate": { type: Function }, + "transition": { type: Object }, + "onAnimationComplete": { type: Function }, + "onUpdate": { type: Function }, + "layout": { + type: [Boolean, String], + default: false + }, + "layoutId": { + type: String, + default: void 0 + }, + "layoutScroll": { + type: Boolean, + default: false + }, + "layoutRoot": { + type: Boolean, + default: false + }, + "data-framer-portal-id": { type: String }, + "crossfade": { + type: Boolean, + default: true + }, + "layoutDependency": { + type: null, + default: void 0 + }, + "onBeforeLayoutMeasure": { type: Function }, + "onLayoutMeasure": { type: Function }, + "onLayoutAnimationStart": { type: Function }, + "onLayoutAnimationComplete": { type: Function }, + "globalPressTarget": { type: Boolean }, + "onPressStart": { type: Function }, + "onPress": { type: Function }, + "onPressCancel": { type: Function }, + "onHoverStart": { type: Function }, + "onHoverEnd": { type: Function }, + "inViewOptions": { type: Object }, + "onViewportEnter": { type: Function }, + "onViewportLeave": { type: Function }, + "drag": { type: [Boolean, String] }, + "dragSnapToOrigin": { type: [Boolean, String] }, + "dragDirectionLock": { type: Boolean }, + "dragPropagation": { type: Boolean }, + "dragConstraints": { type: [Boolean, Object] }, + "dragElastic": { + type: [ + Boolean, + Number, + Object + ], + default: .5 + }, + "dragMomentum": { + type: Boolean, + default: true + }, + "dragTransition": { type: Object }, + "dragListener": { + type: Boolean, + default: true + }, + "dragControls": { type: Object }, + "onDragStart": { type: Function }, + "onDragEnd": { type: Function }, + "onDrag": { type: Function }, + "onDirectionLock": { type: Function }, + "onDragTransitionEnd": { type: Function }, + "onMeasureDragConstraints": { type: Function }, + "onPanSessionStart": { type: Function }, + "onPanStart": { type: Function }, + "onPan": { type: Function }, + "onPanEnd": { type: Function } +}; +//#endregion +export { MotionComponentProps }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/use-motion-state.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/use-motion-state.mjs new file mode 100644 index 0000000..1d0fb40 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/use-motion-state.mjs @@ -0,0 +1,115 @@ +import { resolveMotionProps } from "../../utils/resolve-motion-props.mjs"; +import { getMotionElement } from "../hooks/use-motion-elm.mjs"; +import { injectLayoutGroup, injectMotion, provideMotion } from "../context.mjs"; +import { useLazyMotionContext } from "../lazy-motion/context.mjs"; +import { useMotionConfig } from "../motion-config/context.mjs"; +import { injectAnimatePresence } from "../animate-presence/presence.mjs"; +import { createSVGStyles, createStyles } from "../../state/style.mjs"; +import { MotionState } from "../../state/motion-state.mjs"; +import { isMotionValue } from "motion-dom"; +import { getCurrentInstance, onActivated, onBeforeUnmount, onBeforeUpdate, onDeactivated, onMounted, onUnmounted, onUpdated, ref, useAttrs, watch } from "vue"; +import { invariant, warning } from "hey-listen"; +//#region src/components/motion/use-motion-state.ts +function useMotionState(props, bundle = {}) { + const parentState = injectMotion(null); + const layoutGroup = injectLayoutGroup({}); + const config = useMotionConfig(); + const presenceContext = injectAnimatePresence({}); + const lazyMotionContext = useLazyMotionContext({ + features: ref({}), + strict: false + }); + /** + * If we're in development mode, check to make sure we're not rendering a motion component + * as a child of LazyMotion, as this will break the file-size benefits of using it. + */ + if (process.env.NODE_ENV !== "production" && bundle.renderer && lazyMotionContext.strict) { + const strictMessage = "You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead."; + props.ignoreStrict ? warning(false, strictMessage) : invariant(false, strictMessage); + } + const attrs = useAttrs(); + function getProps() { + return resolveMotionProps(props, { + layoutGroup, + presenceContext, + config: config.value + }); + } + function getMotionProps() { + return { + ...attrs, + ...getProps() + }; + } + const state = new MotionState(getMotionProps(), parentState, bundle); + provideMotion(state); + watch(lazyMotionContext.features, (bundle) => { + state.setBundle(bundle); + }, { + immediate: true, + flush: "pre" + }); + function getAttrs() { + const isSVG = state.type === "svg"; + const attrsProps = { ...attrs }; + Object.keys(attrs).forEach((key) => { + if (isMotionValue(attrs[key])) attrsProps[key] = attrs[key].get(); + }); + const currentValues = state.visualElement?.latestValues || state.latestValues; + let styleProps = { + ...props.style, + ...isSVG ? {} : currentValues + }; + for (const key in styleProps) if (isMotionValue(styleProps[key])) styleProps[key] = styleProps[key].get(); + if (isSVG) { + const { attrs: svgAttrs, style: svgStyle } = createSVGStyles({ + ...currentValues, + ...styleProps + }, state.options.as, props.style); + Object.assign(attrsProps, svgAttrs); + styleProps = svgStyle; + } + if (props.drag && props.dragListener !== false) Object.assign(styleProps, { + userSelect: "none", + WebkitUserSelect: "none", + WebkitTouchCallout: "none", + touchAction: props.drag === true ? "none" : `pan-${props.drag === "x" ? "y" : "x"}` + }); + const style = createStyles(styleProps, props.transformTemplate); + if (style) attrsProps.style = style; + return attrsProps; + } + const instance = getCurrentInstance()?.proxy; + function mountState() { + const el = getMotionElement(instance?.$el); + state.mount(el); + } + onBeforeUnmount(() => { + state.updateOptions(getMotionProps()); + state.beforeUnmount(); + }); + onMounted(mountState); + function unmountIfDetached() { + if (!getMotionElement(instance?.$el)?.isConnected) state.unmount(); + } + onUnmounted(unmountIfDetached); + onDeactivated(unmountIfDetached); + onActivated(() => { + if (!state.isMounted()) mountState(); + }); + onBeforeUpdate(() => { + state.updateOptions(getMotionProps()); + state.beforeUpdate(); + }); + onUpdated(() => { + state.update(); + }); + return { + getProps, + getAttrs, + layoutGroup, + state + }; +} +//#endregion +export { useMotionState }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/utils.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/utils.mjs new file mode 100644 index 0000000..f771e44 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/motion/utils.mjs @@ -0,0 +1,101 @@ +import { useMotionState } from "./use-motion-state.mjs"; +import { MotionComponentProps } from "./props.mjs"; +import { Comment, cloneVNode, defineComponent, h, mergeProps } from "vue"; +//#region src/components/motion/utils.ts +var componentMaxCache = /* @__PURE__ */ new Map(); +var componentMiniCache = /* @__PURE__ */ new Map(); +function renderSlotFragments(fragments) { + if (!Array.isArray(fragments)) return [fragments]; + const result = []; + for (const item of fragments) if (Array.isArray(item)) result.push(...item); + else result.push(item); + return result; +} +var SELF_CLOSING_TAGS = [ + "area", + "img", + "input" +]; +function handlePrimitiveAndSlot(asTag, allAttrs, slots) { + if (typeof asTag === "string" && SELF_CLOSING_TAGS.includes(asTag)) return h(asTag, allAttrs); + if (asTag === "template") { + if (!slots.default) return null; + const children = renderSlotFragments(slots.default()); + const firstNonCommentIndex = children.findIndex((child) => child.type !== Comment); + if (firstNonCommentIndex === -1) return children; + const firstNonComment = children[firstNonCommentIndex]; + delete firstNonComment.props?.ref; + const mergedProps = firstNonComment.props ? mergeProps(allAttrs, firstNonComment.props) : allAttrs; + if (allAttrs.class && firstNonComment.props?.class) delete firstNonComment.props.class; + const cloned = cloneVNode(firstNonComment, mergedProps); + for (const prop in mergedProps) if (prop.startsWith("on")) { + cloned.props ||= {}; + cloned.props[prop] = mergedProps[prop]; + } + if (children.length === 1) return cloned; + children[firstNonCommentIndex] = cloned; + return children; + } + return null; +} +/** +* Creates a motion component from a base component or HTML tag +* Caches string-based components for reuse +*/ +function createMotionComponent(component, options = {}) { + const isString = typeof component === "string"; + const name = isString ? component : component.name || ""; + const componentCache = options.renderer ? componentMaxCache : componentMiniCache; + if (isString && componentCache.has(component)) return componentCache.get(component); + const motionComponent = defineComponent({ + inheritAttrs: false, + props: { + ...MotionComponentProps, + as: { + type: [String, Object], + default: component || "div" + } + }, + name: name ? `motion.${name}` : "Motion", + setup(props, { slots }) { + const { getProps, getAttrs, state } = useMotionState(props, options); + /** + * Vue reapplies all styles every render, include style properties and calculated initially styles get reapplied every render. + * To prevent this, reapply the current motion state styles in vnode updated lifecycle + */ + function onVnodeUpdated() { + const el = state.element; + if ((!(typeof props.as === "object") || props.asChild) && el) { + const { style } = getAttrs(); + if (style) for (const [key, val] of Object.entries(style)) el.style[key] = val; + } + } + return () => { + const motionProps = getProps(); + const motionAttrs = getAttrs(); + const asTag = props.asChild ? "template" : props.as; + const allAttrs = { + ...props.forwardMotionProps ? motionProps : {}, + ...motionAttrs, + onVnodeUpdated + }; + const primitiveOrSlotResult = handlePrimitiveAndSlot(asTag, allAttrs, slots); + if (primitiveOrSlotResult !== null) return primitiveOrSlotResult; + return h(asTag, { ...allAttrs }, slots); + }; + } + }); + if (isString) componentCache.set(component, motionComponent); + return motionComponent; +} +function createMotionComponentWithFeatures(featureBundle) { + return new Proxy({}, { get(_, prop) { + if (prop === "create") return (component, options) => createMotionComponent(component, { + ...options, + ...featureBundle + }); + return createMotionComponent(prop, { ...featureBundle }); + } }); +} +//#endregion +export { createMotionComponent, createMotionComponentWithFeatures }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.mjs new file mode 100644 index 0000000..81dd3a6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.mjs @@ -0,0 +1,5 @@ +import Group_vue_vue_type_script_setup_true_lang_default from "./Group.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/reorder/Group.vue +var Group_default = Group_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { Group_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..7d0b94c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Group.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,207 @@ +import { useDomRef } from "../../utils/use-dom-ref.mjs"; +import { Motion } from "../motion/index.mjs"; +import { reorderContextProvider } from "./context.mjs"; +import { checkReorder, detectAxis } from "./utils.mjs"; +import { computed, createBlock, createTextVNode, defineComponent, mergeProps, onUpdated, openBlock, ref, renderSlot, toDisplayString, unref, useAttrs, withCtx } from "vue"; +import { invariant } from "hey-listen"; +//#region src/components/reorder/Group.vue?vue&type=script&setup=true&lang.ts +var Group_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + name: "ReorderGroup", + inheritAttrs: false, + __name: "Group", + props: { + axis: {}, + "onUpdate:values": {}, + values: {}, + as: { default: "ul" }, + asChild: { type: Boolean }, + whileDrag: {}, + whileHover: {}, + whilePress: {}, + whileInView: {}, + whileFocus: {}, + forwardMotionProps: { type: Boolean }, + ignoreStrict: { type: Boolean }, + custom: {}, + initial: { + type: [ + String, + Array, + Object, + Boolean + ], + default: void 0 + }, + animate: {}, + exit: {}, + variants: {}, + inherit: { + type: Boolean, + default: void 0 + }, + style: {}, + transformTemplate: {}, + transition: {}, + onAnimationComplete: {}, + onUpdate: {}, + onAnimationStart: {}, + layout: { type: [Boolean, String] }, + layoutId: {}, + layoutScroll: { type: Boolean }, + layoutRoot: { type: Boolean }, + "data-framer-portal-id": {}, + crossfade: { + type: Boolean, + default: true + }, + layoutDependency: {}, + onBeforeLayoutMeasure: {}, + onLayoutMeasure: {}, + onLayoutAnimationStart: {}, + onLayoutAnimationComplete: {}, + globalPressTarget: { type: Boolean }, + onPressStart: {}, + onPress: {}, + onPressCancel: {}, + onHoverStart: {}, + onHoverEnd: {}, + inViewOptions: {}, + inView: {}, + onViewportEnter: {}, + onViewportLeave: {}, + drag: { type: [Boolean, String] }, + dragSnapToOrigin: { type: [Boolean, String] }, + dragDirectionLock: { type: Boolean }, + dragPropagation: { type: Boolean }, + dragConstraints: { type: [Boolean, Object] }, + dragElastic: { + type: [ + Boolean, + Number, + Object + ], + default: .5 + }, + dragMomentum: { + type: Boolean, + default: true + }, + dragTransition: {}, + dragListener: { + type: Boolean, + default: true + }, + dragControls: {}, + onDragStart: {}, + onDragEnd: {}, + onDrag: {}, + onDirectionLock: {}, + onDragTransitionEnd: {}, + onMeasureDragConstraints: {}, + onPanSessionStart: {}, + onPanStart: {}, + onPan: {}, + onPanEnd: {}, + onFocus: {}, + onBlur: {} + }, + setup(__props) { + const props = __props; + const itemLayouts = /* @__PURE__ */ new Map(); + const detectedAxis = ref("y"); + let isReordering = false; + const hasReordered = ref(false); + const axis = computed(() => props.axis || detectedAxis.value); + function warning() { + invariant(Boolean(props.values), "Reorder.Group must be provided a values prop"); + } + onUpdated(() => { + isReordering = false; + }); + const groupRef = useDomRef(); + reorderContextProvider({ + groupRef, + axis, + hasReordered, + registerItem: (value, layout) => { + const valuesSet = new Set(props.values); + itemLayouts.forEach((_, itemValue) => { + if (!valuesSet.has(itemValue)) itemLayouts.delete(itemValue); + }); + itemLayouts.set(value, layout); + if (!props.axis) { + const nextAxis = detectAxis(props.values.flatMap((itemValue) => { + const itemLayout = itemLayouts.get(itemValue); + return itemLayout ? [itemLayout] : []; + })); + if (nextAxis !== detectedAxis.value) detectedAxis.value = nextAxis; + } + }, + updateOrder: (item, offset, velocity) => { + if (isReordering) return; + const order = props.values.flatMap((value) => { + const layout = itemLayouts.get(value); + return layout ? [{ + value, + layout + }] : []; + }); + const element = groupRef.value; + const direction = element?.ownerDocument.defaultView?.getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr"; + const newOrder = checkReorder(order, item, offset, velocity, axis.value, direction); + if (order !== newOrder) { + isReordering = true; + hasReordered.value = true; + const newValues = [...props.values]; + const measuredIndexes = order.map(({ value }) => props.values.indexOf(value)); + newOrder.forEach(({ value }, index) => { + newValues[measuredIndexes[index]] = value; + }); + props["onUpdate:values"]?.(newValues); + } + } + }); + const attrs = useAttrs(); + /** + * A release that ends a reordering drag isn't a click. Browsers only click an + * element holding both the press and release targets, so swallow it here, + * above every item (#2682). The flag is cleared when the drag ends — a frame + * after the release's click — or on the next press. Clicks with no pointer + * press behind them (detail 0, e.g. keyboard) are left alone. + */ + function handleClickCapture(event) { + if (hasReordered.value && event.detail) { + hasReordered.value = false; + event.stopPropagation(); + event.preventDefault(); + } + } + function handlePointerdownCapture() { + hasReordered.value = false; + } + function bindProps() { + const { axis, values, "onUpdate:values": onUpdateValues, ...rest } = props; + return { + ...attrs, + ...rest, + style: { + overflowAnchor: "none", + ...rest.style + } + }; + } + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(Motion), mergeProps(bindProps(), { + ref_key: "groupRef", + ref: groupRef, + onPointerdownCapture: handlePointerdownCapture, + onClickCapture: handleClickCapture + }), { + default: withCtx(() => [renderSlot(_ctx.$slots, "default"), createTextVNode(" " + toDisplayString(warning()), 1)]), + _: 3 + }, 16); + }; + } +}); +//#endregion +export { Group_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.mjs new file mode 100644 index 0000000..3a2f943 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.mjs @@ -0,0 +1,5 @@ +import Item_vue_vue_type_script_setup_true_lang_default from "./Item.vue_vue_type_script_setup_true_lang.mjs"; +//#region src/components/reorder/Item.vue +var Item_default = Item_vue_vue_type_script_setup_true_lang_default; +//#endregion +export { Item_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.vue_vue_type_script_setup_true_lang.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.vue_vue_type_script_setup_true_lang.mjs new file mode 100644 index 0000000..2f87f5a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/Item.vue_vue_type_script_setup_true_lang.mjs @@ -0,0 +1,191 @@ +import { Motion } from "../motion/index.mjs"; +import { useReorderContext } from "./context.mjs"; +import { useDefaultMotionValue } from "./utils.mjs"; +import { useTransform } from "../../value/use-transform.mjs"; +import { autoScrollIfNeeded, resetAutoScrollState } from "./auto-scroll.mjs"; +import { computed, createBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, toRefs, unref, useAttrs, withCtx } from "vue"; +import { invariant } from "hey-listen"; +//#region src/components/reorder/Item.vue?vue&type=script&setup=true&lang.ts +var Item_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({ + name: "ReorderItem", + inheritAttrs: false, + __name: "Item", + props: { + value: {}, + layout: { + type: [Boolean, String], + default: true + }, + as: { default: "li" }, + asChild: { type: Boolean }, + whileDrag: { default: void 0 }, + whileHover: {}, + whilePress: {}, + whileInView: {}, + whileFocus: {}, + forwardMotionProps: { type: Boolean }, + ignoreStrict: { type: Boolean }, + custom: {}, + initial: { + type: [ + String, + Array, + Object, + Boolean + ], + default: void 0 + }, + animate: { default: void 0 }, + exit: {}, + variants: {}, + inherit: { + type: Boolean, + default: void 0 + }, + style: {}, + transformTemplate: {}, + transition: {}, + onAnimationComplete: {}, + onUpdate: {}, + onAnimationStart: {}, + layoutId: { default: void 0 }, + layoutScroll: { + type: Boolean, + default: false + }, + layoutRoot: { + type: Boolean, + default: false + }, + "data-framer-portal-id": {}, + crossfade: { + type: Boolean, + default: true + }, + layoutDependency: {}, + onBeforeLayoutMeasure: {}, + onLayoutMeasure: {}, + onLayoutAnimationStart: {}, + onLayoutAnimationComplete: {}, + globalPressTarget: { type: Boolean }, + onPressStart: {}, + onPress: {}, + onPressCancel: {}, + onHoverStart: {}, + onHoverEnd: {}, + inViewOptions: {}, + inView: { default: void 0 }, + onViewportEnter: {}, + onViewportLeave: {}, + drag: { + type: [Boolean, String], + default: void 0 + }, + dragSnapToOrigin: { type: [Boolean, String] }, + dragDirectionLock: { type: Boolean }, + dragPropagation: { type: Boolean }, + dragConstraints: { type: [Boolean, Object] }, + dragElastic: { + type: [ + Boolean, + Number, + Object + ], + default: .5 + }, + dragMomentum: { + type: Boolean, + default: true + }, + dragTransition: {}, + dragListener: { + type: Boolean, + default: true + }, + dragControls: {}, + onDragStart: {}, + onDragEnd: {}, + onDrag: {}, + onDirectionLock: {}, + onDragTransitionEnd: {}, + onMeasureDragConstraints: {}, + onPanSessionStart: {}, + onPanStart: {}, + onPan: {}, + onPanEnd: {}, + onFocus: {}, + onBlur: {} + }, + setup(__props) { + const props = __props; + const { style } = toRefs(props); + const context = useReorderContext(); + const point = { + x: useDefaultMotionValue(style.value?.x), + y: useDefaultMotionValue(style.value?.y) + }; + const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => latestX || latestY ? 1 : "unset"); + function warning() { + invariant(Boolean(context), "Reorder.Item must be a descendant of Reorder.Group"); + } + warning(); + const { axis, registerItem, updateOrder, groupRef, hasReordered } = context; + const attrs = useAttrs(); + function bindProps() { + const { value, onDragStart, onDragEnd, onDrag, ...rest } = props; + return { + ...attrs, + ...rest, + style: { + ...style.value, + x: point.x, + y: point.y, + zIndex + } + }; + } + const drag = computed(() => { + if (props.drag !== void 0) return props.drag; + return axis?.value === "xy" ? true : axis?.value; + }); + const isDragging = ref(false); + function handleDrag(event, gesturePoint) { + const { velocity, point: pointerPoint } = gesturePoint; + const offset = { + x: point.x.get(), + y: point.y.get() + }; + updateOrder?.(props.value, offset, velocity); + const scrollAxis = axis?.value === "xy" ? Math.abs(velocity.x) > Math.abs(velocity.y) ? "x" : "y" : axis?.value; + autoScrollIfNeeded(groupRef?.value, pointerPoint?.[scrollAxis], scrollAxis, velocity?.[scrollAxis]); + if (!isDragging.value) isDragging.value = true; + props.onDrag?.(event, gesturePoint); + } + function handleDragEnd(event, gesturePoint) { + if (hasReordered) hasReordered.value = false; + isDragging.value = false; + resetAutoScrollState(); + props.onDragEnd?.(event, gesturePoint); + } + function handleDragStart(event, gesturePoint) { + props.onDragStart?.(event, gesturePoint); + } + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(Motion), mergeProps(bindProps(), { + drag: drag.value, + "drag-snap-to-origin": true, + onDrag: handleDrag, + onDragEnd: handleDragEnd, + onDragStart: handleDragStart, + onLayoutMeasure: _cache[0] || (_cache[0] = (measured) => { + unref(registerItem)?.(__props.value, measured); + }) + }), { + default: withCtx(() => [renderSlot(_ctx.$slots, "default", { isDragging: isDragging.value })]), + _: 3 + }, 16, ["drag"]); + }; + } +}); +//#endregion +export { Item_vue_vue_type_script_setup_true_lang_default as default }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/auto-scroll.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/auto-scroll.mjs new file mode 100644 index 0000000..73a2e87 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/auto-scroll.mjs @@ -0,0 +1,93 @@ +//#region src/components/reorder/auto-scroll.ts +var threshold = 50; +var maxSpeed = 25; +var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]); +var initialScrollLimits = /* @__PURE__ */ new WeakMap(); +var activeScrollEdge = /* @__PURE__ */ new WeakMap(); +var currentGroupElement = null; +function resetAutoScrollState() { + if (currentGroupElement) { + const scrollableAncestor = findScrollableAncestor(currentGroupElement, "y"); + if (scrollableAncestor) { + activeScrollEdge.delete(scrollableAncestor); + initialScrollLimits.delete(scrollableAncestor); + } + const scrollableAncestorX = findScrollableAncestor(currentGroupElement, "x"); + if (scrollableAncestorX && scrollableAncestorX !== scrollableAncestor) { + activeScrollEdge.delete(scrollableAncestorX); + initialScrollLimits.delete(scrollableAncestorX); + } + currentGroupElement = null; + } +} +function isDocumentScroll(element) { + return element === document.body || element === document.documentElement; +} +function isScrollableElement(element, axis) { + const style = getComputedStyle(element); + const overflow = axis === "x" ? style.overflowX : style.overflowY; + return overflowStyles.has(overflow) || isDocumentScroll(element); +} +function findScrollableAncestor(element, axis) { + let current = element?.parentElement; + while (current) { + if (isScrollableElement(current, axis)) return current; + current = current.parentElement; + } + return null; +} +function getScrollAmount(pointerPosition, scrollElement, axis) { + const rect = scrollElement.getBoundingClientRect(); + const start = axis === "x" ? Math.max(0, rect.left) : Math.max(0, rect.top); + const end = axis === "x" ? Math.min(window.innerWidth, rect.right) : Math.min(window.innerHeight, rect.bottom); + const distanceFromStart = pointerPosition - start; + const distanceFromEnd = end - pointerPosition; + if (distanceFromStart < threshold) { + const intensity = 1 - distanceFromStart / threshold; + return { + amount: -25 * intensity * intensity, + edge: "start" + }; + } else if (distanceFromEnd < threshold) { + const intensity = 1 - distanceFromEnd / threshold; + return { + amount: maxSpeed * intensity * intensity, + edge: "end" + }; + } + return { + amount: 0, + edge: null + }; +} +function autoScrollIfNeeded(groupElement, pointerPosition, axis, velocity) { + if (!groupElement) return; + currentGroupElement = groupElement; + const scrollableAncestor = findScrollableAncestor(groupElement, axis); + if (!scrollableAncestor) return; + const { amount: scrollAmount, edge } = getScrollAmount(pointerPosition - (axis === "x" ? window.scrollX : window.scrollY), scrollableAncestor, axis); + if (edge === null) { + activeScrollEdge.delete(scrollableAncestor); + initialScrollLimits.delete(scrollableAncestor); + return; + } + const currentActiveEdge = activeScrollEdge.get(scrollableAncestor); + const isDocument = isDocumentScroll(scrollableAncestor); + if (currentActiveEdge !== edge) { + if (!(edge === "start" && velocity < 0 || edge === "end" && velocity > 0)) return; + activeScrollEdge.set(scrollableAncestor, edge); + const maxScroll = axis === "x" ? scrollableAncestor.scrollWidth - (isDocument ? window.innerWidth : scrollableAncestor.clientWidth) : scrollableAncestor.scrollHeight - (isDocument ? window.innerHeight : scrollableAncestor.clientHeight); + initialScrollLimits.set(scrollableAncestor, maxScroll); + } + if (scrollAmount > 0) { + const initialLimit = initialScrollLimits.get(scrollableAncestor); + if ((axis === "x" ? isDocument ? window.scrollX : scrollableAncestor.scrollLeft : isDocument ? window.scrollY : scrollableAncestor.scrollTop) >= initialLimit) return; + } + if (axis === "x") { + if (isDocument) window.scrollBy({ left: scrollAmount }); + else scrollableAncestor.scrollLeft += scrollAmount; + } else if (isDocument) window.scrollBy({ top: scrollAmount }); + else scrollableAncestor.scrollTop += scrollAmount; +} +//#endregion +export { autoScrollIfNeeded, resetAutoScrollState }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/context.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/context.mjs new file mode 100644 index 0000000..3640132 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/context.mjs @@ -0,0 +1,5 @@ +import { createContext } from "../../utils/createContext.mjs"; +//#region src/components/reorder/context.ts +var [useReorderContext, reorderContextProvider] = createContext("ReorderContext"); +//#endregion +export { reorderContextProvider, useReorderContext }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/index.mjs new file mode 100644 index 0000000..ea573b4 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/index.mjs @@ -0,0 +1,11 @@ +import Group_default from "./Group.mjs"; +import Item_default from "./Item.mjs"; +//#region src/components/reorder/index.ts +var ReorderGroup = Group_default; +var ReorderItem = Item_default; +var Reorder = { + Group: Group_default, + Item: Item_default +}; +//#endregion +export { Reorder, ReorderGroup, ReorderItem }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/utils.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/utils.mjs new file mode 100644 index 0000000..1ed042b --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/reorder/utils.mjs @@ -0,0 +1,92 @@ +import { isMotionValue, mixNumber, motionValue } from "motion-dom"; +import { moveItem } from "motion-utils"; +//#region src/components/reorder/utils.ts +function checkReorder(order, value, offset, velocity, axis, direction = "ltr") { + const index = order.findIndex((item) => item.value === value); + if (index === -1) return order; + if (axis === "xy") { + const { layout } = order[index]; + const center = { + x: mixNumber(layout.x.min, layout.x.max, .5) + offset.x, + y: mixNumber(layout.y.min, layout.y.max, .5) + offset.y + }; + const lines = getLines(order); + const sourceLine = lines.find((line) => line.items.includes(order[index])); + const targetLine = lines.reduce((closest, line) => distanceToLine(center.y, line) < distanceToLine(center.y, closest) ? line : closest); + if (targetLine !== sourceLine) return moveToLine(order, index, center.x, targetLine, direction); + const currentDistance = distanceToBox(center, layout); + let target = -1; + let targetDistance = currentDistance; + order.forEach((item, targetIndex) => { + if (targetIndex === index) return; + const distance = distanceToBox(center, item.layout); + if (distance < targetDistance) { + target = targetIndex; + targetDistance = distance; + } + }); + return target === -1 ? order : moveItem(order, index, index + Math.sign(target - index)); + } + if (!velocity[axis]) return order; + const nextOffset = velocity[axis] > 0 ? 1 : -1; + const nextItem = order[index + nextOffset]; + if (!nextItem) return order; + const itemLayout = order[index].layout[axis]; + const nextLayout = nextItem.layout[axis]; + const nextItemCenter = mixNumber(nextLayout.min, nextLayout.max, .5); + if (nextOffset === 1 && itemLayout.max + offset[axis] > nextItemCenter || nextOffset === -1 && itemLayout.min + offset[axis] < nextItemCenter) return moveItem(order, index, index + nextOffset); + return order; +} +function getLines(order) { + const lines = []; + order.forEach((item) => { + const { min, max } = item.layout.y; + const line = lines[lines.length - 1]; + if (!line || min >= line.max || max <= line.min) lines.push({ + items: [item], + min, + max + }); + else { + line.items.push(item); + line.min = Math.min(line.min, min); + line.max = Math.max(line.max, max); + } + }); + return lines; +} +function distanceToLine(y, line) { + return y < line.min ? line.min - y : y > line.max ? y - line.max : 0; +} +function moveToLine(order, index, x, line, direction) { + const remaining = order.filter((_, itemIndex) => itemIndex !== index); + const before = line.items.find((item) => { + const center = mixNumber(item.layout.x.min, item.layout.x.max, .5); + return direction === "ltr" ? x < center : x > center; + }); + const targetIndex = before ? remaining.indexOf(before) : remaining.indexOf(line.items[line.items.length - 1]) + 1; + const nextOrder = [...remaining]; + nextOrder.splice(targetIndex, 0, order[index]); + return nextOrder.every((item, itemIndex) => item === order[itemIndex]) ? order : nextOrder; +} +function distanceToBox(point, box) { + const x = Math.max(box.x.min - point.x, 0, point.x - box.x.max); + const y = Math.max(box.y.min - point.y, 0, point.y - box.y.max); + return x * x + y * y; +} +var isSeparated = (a, b) => a.max <= b.min || b.max <= a.min; +function detectAxis(layouts) { + let x = false; + let y = false; + for (let i = 0; i < layouts.length; i++) for (let j = i + 1; j < layouts.length; j++) { + x ||= isSeparated(layouts[i].x, layouts[j].x); + y ||= isSeparated(layouts[i].y, layouts[j].y); + if (x && y) return "xy"; + } + return x ? "x" : "y"; +} +function useDefaultMotionValue(value, defaultValue = 0) { + return isMotionValue(value) ? value : motionValue(defaultValue); +} +//#endregion +export { checkReorder, detectAxis, useDefaultMotionValue }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-force-update.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-force-update.mjs new file mode 100644 index 0000000..62028c1 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-force-update.mjs @@ -0,0 +1,11 @@ +import { ref } from "vue"; +//#region src/components/use-force-update.ts +function useForceUpdate() { + const key = ref(0); + function forceUpdate() { + key.value++; + } + return [forceUpdate, key]; +} +//#endregion +export { useForceUpdate }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-layout-group.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-layout-group.mjs new file mode 100644 index 0000000..ae39e30 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/components/use-layout-group.mjs @@ -0,0 +1,41 @@ +import { injectLayoutGroup, provideLayoutGroup } from "./context.mjs"; +import { useForceUpdate } from "./use-force-update.mjs"; +import { nodeGroup } from "motion-dom"; +//#region src/components/use-layout-group.ts +/** +* Hook to create and manage a layout group +* Handles group inheritance, force updates, and context management +*/ +function useLayoutGroupProvider(props) { + const parentGroup = injectLayoutGroup(null); + const [forceRender, key] = useForceUpdate(); + const context = { + id: getGroupId(props, parentGroup), + group: getGroup(props, parentGroup), + forceRender, + key + }; + provideLayoutGroup(context); + return context; +} +function useLayoutGroup() { + const { forceRender } = injectLayoutGroup({ forceRender: () => {} }); + return { forceRender }; +} +/** +* Determines the group ID based on inheritance rules +*/ +function getGroupId(props, parentGroup) { + const shouldInherit = props.inherit === true || props.inherit === "id"; + const parentId = parentGroup?.id; + if (shouldInherit && parentId) return props.id ? `${parentId}-${props.id}` : parentId; + return props.id; +} +/** +* Creates or inherits a node group based on inheritance rules +*/ +function getGroup(props, parentGroup) { + return props.inherit === true || props.inherit === "group" ? parentGroup?.group || nodeGroup() : nodeGroup(); +} +//#endregion +export { useLayoutGroup, useLayoutGroupProvider }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/config.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/config.mjs new file mode 100644 index 0000000..e6be079 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/config.mjs @@ -0,0 +1,18 @@ +//#region src/config.ts +/** +* Global configuration for motion-v. +* +* @example +* ```ts +* import { motionGlobalConfig } from 'motion-v' +* motionGlobalConfig.motionAttribute = 'data-mv' +* ``` +*/ +var motionGlobalConfig = { +/** +* The data attribute used to identify motion elements in the DOM. +* Used for AnimatePresence exit detection and VE parent hierarchy resolution. +*/ +motionAttribute: "data-ap" }; +//#endregion +export { motionGlobalConfig }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/directive/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/directive/index.mjs new file mode 100644 index 0000000..bb0a345 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/directive/index.mjs @@ -0,0 +1,242 @@ +import { resolveMotionProps } from "../utils/resolve-motion-props.mjs"; +import { layoutGroupInjectionKey, motionInjectionKey } from "../components/context.mjs"; +import { defaultConfig, motionConfigInjectionKey } from "../components/motion-config/context.mjs"; +import { animatePresenceInjectionKey } from "../components/animate-presence/presence.mjs"; +import { createSVGStyles, createStyles } from "../state/style.mjs"; +import { isSVGElement, resolveInitialValues } from "../state/utils.mjs"; +import { MotionState, mountedStates } from "../state/motion-state.mjs"; +import { createVisualElement } from "../state/create-visual-element.mjs"; +import { domMax } from "../features/dom-max.mjs"; +import { warning } from "hey-listen"; +//#region src/directive/index.ts +/** +* Extract props from VNode and merge with binding value. +* VNode props take priority over binding value for the same key. +* +* Supports both syntaxes: +* - `<div v-motion :initial="{...}" :animate="{...}" />` (props on element) +* - `<div v-motion="{ initial: {...}, animate: {...} }" />` (binding value) +* - Mix of both (VNode props override binding value) +*/ +function extractMotionProps(vnode, bindingValue) { + const vnodeProps = vnode?.props; + if (!vnodeProps) return bindingValue || {}; + return { + ...bindingValue || {}, + ...vnodeProps + }; +} +/** +* Clean up DOM side-effects from Vue's VNode prop patching on native elements. +* +* Vue checks `key in el` before patching — if true, sets as property (`el[key] = value`), +* which creates an own property shadowing the prototype method (e.g. Element.prototype.animate). +* `delete el[key]` removes the own property, restoring the prototype chain. +*/ +function cleanVNodeProps(el, vnodeProps) { + if (!vnodeProps) return; + for (const key in vnodeProps) { + const value = vnodeProps[key]; + if (typeof value !== "function" && key in Element.prototype) delete el[key]; + if (value != null && typeof value === "object" && key !== "style") el.removeAttribute(key); + } +} +function resolveTag(source) { + if (typeof Element !== "undefined" && source instanceof Element) return source.tagName.toLowerCase(); + const vnode = source; + return typeof vnode.type === "string" ? vnode.type : "div"; +} +/** +* Compute CSS styles (and SVG attrs) from motion values. +* Shared by SSR and client-side initial style application. +*/ +function computeStyles(values, tag, styleProp) { + if (isSVGElement(tag)) { + const { attrs, style } = createSVGStyles({ ...values }, tag, styleProp); + return { + styles: createStyles(style), + attrs + }; + } + return { styles: createStyles({ + ...styleProp, + ...values + }) }; +} +function resolveSSRStyles(options) { + if (!options) return null; + const latestValues = resolveInitialValues(options); + if (Object.keys(latestValues).length === 0) return null; + return computeStyles(latestValues, options.as || "div", options.style).styles; +} +function applyInitialStyles(el, state) { + const { styles, attrs } = computeStyles(state.latestValues, resolveTag(el), state.options.style); + if (attrs) for (const key in attrs) el.setAttribute(key, String(attrs[key])); + if (styles) for (const key in styles) el.style[key] = styles[key]; +} +function findComponentParent(vnode, root) { + const stack = /* @__PURE__ */ new Set(); + const walk = (children) => { + for (const child of children) { + if (!child) continue; + if (child === vnode || child.el && vnode.el && child.el === vnode.el) return true; + stack.add(child); + let result; + if (child.suspense) result = walk([child.ssContent]); + else if (Array.isArray(child.children)) result = walk(child.children); + else if (child.component?.vnode) result = walk([child.component?.subTree]); + if (result) return result; + stack.delete(child); + } + return false; + }; + if (!walk([root.subTree])) { + warning(false, "Could not find original vnode, component will not inherit provides"); + return root; + } + const result = Array.from(stack).reverse(); + for (const child of result) if (child.component) return child.component; + return root; +} +/** +* Resolve the provides object from the vnode's component tree. +*/ +function resolveProvides(vnode, binding) { + return (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides; +} +/** +* Extract context values from the provides chain and build +* a full options object matching useMotionState behavior. +*/ +function buildMotionOptions(motionProps, provides, tag) { + const parentState = provides[motionInjectionKey] ?? null; + const layoutGroup = provides[layoutGroupInjectionKey] ?? {}; + const presenceContext = provides[animatePresenceInjectionKey] ?? {}; + const config = (provides[motionConfigInjectionKey] ?? null)?.value ?? defaultConfig; + return { + parentState, + options: resolveMotionProps({ + ...motionProps, + as: tag + }, { + layoutGroup, + presenceContext, + config + }) + }; +} +/** +* Create a v-motion directive with the given feature bundle. +* If no bundle is provided, defaults to domMax (all features). +* +* @param featureBundle - Optional feature bundle (domAnimation or domMax) +* @param defaultOptions - Optional default motion props merged under user props +*/ +function createMotionDirective(featureBundle, defaultOptions) { + const renderer = featureBundle?.renderer ?? createVisualElement; + const features = featureBundle?.features ?? domMax.features; + function mergeMotionProps(vnode, bindingValue) { + const userProps = extractMotionProps(vnode, bindingValue); + return defaultOptions ? { + ...defaultOptions, + ...userProps + } : userProps; + } + /** + * Build fresh motion options from the current vnode + binding, + * resolving context through the component tree. + */ + function resolveStateOptions(el, binding, vnode) { + const provides = resolveProvides(vnode, binding); + return buildMotionOptions(mergeMotionProps(vnode, binding.value), provides, resolveTag(el)); + } + return { + created(el, binding, vnode) { + const { options, parentState } = resolveStateOptions(el, binding, vnode); + const state = new MotionState(options, parentState, { + renderer, + features + }); + mountedStates.set(el, state); + }, + mounted(el, _binding, vnode) { + const state = mountedStates.get(el); + if (!state) return; + cleanVNodeProps(el, vnode.props); + applyInitialStyles(el, state); + state.mount(el); + }, + beforeUpdate(el, binding, vnode) { + const state = mountedStates.get(el); + if (!state) return; + state.updateOptions(resolveStateOptions(el, binding, vnode).options); + state.getSnapshot(true); + }, + updated(el, _binding, vnode) { + const state = mountedStates.get(el); + if (!state) return; + cleanVNodeProps(el, vnode.props); + state.update(); + }, + beforeUnmount(el, binding, vnode) { + const state = mountedStates.get(el); + if (!state) return; + state.updateOptions(resolveStateOptions(el, binding, vnode).options); + state.getSnapshot(false); + }, + unmounted(el) { + const state = mountedStates.get(el); + if (!state) return; + if (!el.isConnected) state.unmount(); + }, + getSSRProps(binding, vnode) { + const motionProps = mergeMotionProps(vnode, binding.value); + const tag = vnode ? resolveTag(vnode) : "div"; + const ssrStyles = resolveSSRStyles({ + ...motionProps, + as: tag + }); + if (!ssrStyles) return {}; + return { style: ssrStyles }; + } + }; +} +/** +* Create a preset directive with default motion options baked in. +* Users can still override any option via binding value or VNode props. +* +* @example +* ```ts +* const vFadeIn = createPresetDirective({ +* initial: { opacity: 0 }, +* animate: { opacity: 1 }, +* }) +* app.directive('fade-in', vFadeIn) +* ``` +*/ +function createPresetDirective(preset, featureBundle) { + return createMotionDirective(featureBundle ?? domMax, preset); +} +var vMotion = createMotionDirective(domMax); +/** +* Vue plugin for global v-motion directive registration. +* +* @example +* ```ts +* import { MotionPlugin } from 'motion-v' +* app.use(MotionPlugin) +* +* // With custom presets +* app.use(MotionPlugin, { +* presets: { +* 'fade-in': { initial: { opacity: 0 }, animate: { opacity: 1 } }, +* }, +* }) +* ``` +*/ +var MotionPlugin = { install(app, options) { + app.directive("motion", vMotion); + if (options?.presets) for (const [name, preset] of Object.entries(options.presets)) app.directive(name, createPresetDirective(preset)); +} }; +//#endregion +export { MotionPlugin, createMotionDirective, createPresetDirective, vMotion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/events/add-pointer-event.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/events/add-pointer-event.mjs new file mode 100644 index 0000000..d0ca4b8 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/events/add-pointer-event.mjs @@ -0,0 +1,8 @@ +import { addPointerInfo } from "./event-info.mjs"; +import { addDomEvent } from "motion-dom"; +//#region src/events/add-pointer-event.ts +function addPointerEvent(target, eventName, handler, options) { + return addDomEvent(target, eventName, addPointerInfo(handler), options); +} +//#endregion +export { addPointerEvent }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/events/event-info.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/events/event-info.mjs new file mode 100644 index 0000000..1e1d070 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/events/event-info.mjs @@ -0,0 +1,13 @@ +import { isPrimaryPointer } from "motion-dom"; +//#region src/events/event-info.ts +function extractEventInfo(event, pointType = "page") { + return { point: { + x: event[`${pointType}X`], + y: event[`${pointType}Y`] + } }; +} +function addPointerInfo(handler) { + return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event)); +} +//#endregion +export { addPointerInfo, extractEventInfo }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/animation/animation.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/animation/animation.mjs new file mode 100644 index 0000000..9592e2f --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/animation/animation.mjs @@ -0,0 +1,38 @@ +import { Feature } from "../feature.mjs"; +import { isHidden } from "../../utils/is-hidden.mjs"; +import { createAnimationState, isAnimationControls } from "motion-dom"; +//#region src/features/animation/animation.ts +var AnimationFeature = class extends Feature { + static { + this.key = "animation"; + } + constructor(state) { + super(state); + const ve = state.visualElement; + ve.animationState ||= createAnimationState(ve); + } + updateAnimationControlsSubscription() { + const { animate } = this.state.options; + if (isAnimationControls(animate)) this.unmountControls = animate.subscribe(this.state.visualElement); + } + /** + * Subscribe any provided AnimationControls to the component's VisualElement + */ + mount() { + if (!!isHidden(this.state.element)) this.state.setActive("exit", true); + else this.state.visualElement.animationState?.animateChanges(); + this.updateAnimationControlsSubscription(); + } + update() { + this.state.visualElement.animationState?.animateChanges(); + const { animate } = this.state.visualElement.getProps(); + const { animate: prevAnimate } = this.state.visualElement.prevProps || {}; + if (animate !== prevAnimate) this.updateAnimationControlsSubscription(); + } + unmount() { + this.state.visualElement.animationState.reset(); + this.unmountControls?.(); + } +}; +//#endregion +export { AnimationFeature }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-animation.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-animation.mjs new file mode 100644 index 0000000..4bc004a --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-animation.mjs @@ -0,0 +1,21 @@ +import { AnimationFeature } from "./animation/animation.mjs"; +import { ExitFeature } from "./exit/exit.mjs"; +import { createVisualElement } from "../state/create-visual-element.mjs"; +import { PressGesture } from "./gestures/press/index.mjs"; +import { HoverGesture } from "./gestures/hover/index.mjs"; +import { InViewGesture } from "./gestures/in-view/index.mjs"; +import { FocusGesture } from "./gestures/focus/index.mjs"; +//#region src/features/dom-animation.ts +var domAnimation = { + renderer: createVisualElement, + features: [ + AnimationFeature, + ExitFeature, + PressGesture, + HoverGesture, + InViewGesture, + FocusGesture + ] +}; +//#endregion +export { domAnimation }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-max.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-max.mjs new file mode 100644 index 0000000..6673c66 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/dom-max.mjs @@ -0,0 +1,29 @@ +import { AnimationFeature } from "./animation/animation.mjs"; +import { ExitFeature } from "./exit/exit.mjs"; +import { createVisualElement } from "../state/create-visual-element.mjs"; +import { PressGesture } from "./gestures/press/index.mjs"; +import { HoverGesture } from "./gestures/hover/index.mjs"; +import { InViewGesture } from "./gestures/in-view/index.mjs"; +import { FocusGesture } from "./gestures/focus/index.mjs"; +import { ProjectionFeature } from "./layout/projection.mjs"; +import { PanGesture } from "./gestures/pan/index.mjs"; +import { DragGesture } from "./gestures/drag/index.mjs"; +import { LayoutFeature } from "./layout/layout.mjs"; +//#region src/features/dom-max.ts +var domMax = { + renderer: createVisualElement, + features: [ + AnimationFeature, + ExitFeature, + PressGesture, + HoverGesture, + InViewGesture, + FocusGesture, + ProjectionFeature, + PanGesture, + DragGesture, + LayoutFeature + ] +}; +//#endregion +export { domMax }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/exit/exit.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/exit/exit.mjs new file mode 100644 index 0000000..2db2194 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/exit/exit.mjs @@ -0,0 +1,82 @@ +import { Feature } from "../feature.mjs"; +import { frame } from "motion-dom"; +//#region src/features/exit/exit.ts +/** +* Owns the AnimatePresence exit protocol for a motion state: run the exit +* animation, defer completion across the layoutId projection handoff, and +* resolve the session's promise exactly once. The `isExiting` flag itself +* lives on MotionState; this feature owns the sequence around it. +* +* The generation counter is bumped by exit() and reenter() — a completion +* carrying a stale generation is a silent no-op, which is how mid-exit +* reentry and re-entry-then-exit-again sequences stay consistent. +*/ +var ExitFeature = class extends Feature { + constructor(..._args) { + super(..._args); + this.exitGeneration = 0; + } + static { + this.key = "exit"; + } + /** + * Run the full exit sequence for AnimatePresence and resolve when this + * state's exit completes — including the layoutId projection handoff, + * which is signalled back via completeExitFromProjection(). + */ + exit() { + const generation = ++this.exitGeneration; + const state = this.state; + state.isExiting = true; + const completion = new Promise((resolve) => { + this.pendingExit = { resolve }; + }); + const exitAnimation = state.visualElement?.animationState?.setActive("exit", true); + if (exitAnimation) exitAnimation.then(() => { + if (generation !== this.exitGeneration) return; + state.isExiting = false; + state.options?.layoutId ? frame.postRender(() => this.tryCompleteExit(generation)) : this.tryCompleteExit(generation); + }); + else { + state.isExiting = false; + this.tryCompleteExit(generation); + } + state.getSnapshot(false); + return completion; + } + /** Re-enter while an exit is in flight; the stale exit resolves silently. */ + reenter() { + this.exitGeneration++; + this.settleExit(); + this.state.isExiting = false; + this.state.setActive("exit", false); + this.state.getSnapshot(true); + } + /** ProjectionFeature notifies here when a layoutId exit handoff completes. */ + completeExitFromProjection() { + this.tryCompleteExit(this.exitGeneration); + } + tryCompleteExit(generation) { + if (generation !== this.exitGeneration || this.state.isExiting) return; + if (this.state.options?.layoutId && this.state.visualElement.projection?.currentAnimation?.state === "running") return; + this.settleExit(); + } + settleExit() { + this.pendingExit?.resolve(); + this.pendingExit = void 0; + } + /** + * Register with the nearest AnimatePresence for exit discovery — only + * states carrying the exit feature are discoverable, and mount/unmount + * pairing keeps the registry exact (KeepAlive remounts re-register). + */ + mount() { + this.state.options.presenceContext?.register?.(this.state); + } + unmount() { + this.state.options.presenceContext?.unregister?.(this.state); + this.settleExit(); + } +}; +//#endregion +export { ExitFeature }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/feature.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/feature.mjs new file mode 100644 index 0000000..80b9235 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/feature.mjs @@ -0,0 +1,14 @@ +//#region src/features/feature.ts +var Feature = class { + constructor(state) { + this.isMount = false; + this.state = state; + } + mount() {} + beforeUnmount() {} + unmount() {} + update() {} + getSnapshot(isPresent) {} +}; +//#endregion +export { Feature }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/VisualElementDragControls.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/VisualElementDragControls.mjs new file mode 100644 index 0000000..6f40bc3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/VisualElementDragControls.mjs @@ -0,0 +1,488 @@ +import { getContextWindow } from "../../../utils/get-context-window.mjs"; +import { addPointerEvent } from "../../../events/add-pointer-event.mjs"; +import { PanSession } from "../pan/PanSession.mjs"; +import { applyConstraints, calcOrigin, calcRelativeConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveDragElastic } from "./utils/constraints.mjs"; +import { addDomEvent, addValueToWillChange, animateMotionValue, calcLength, convertBoundingBoxToBox, convertBoxToBoundingBox, createBox, eachAxis, frame, isElementTextInput, isHTMLElement, measurePageBox, mixNumber, percent, resize, setDragLock } from "motion-dom"; +import { invariant } from "hey-listen"; +//#region src/features/gestures/drag/VisualElementDragControls.ts +var elementDragControls = /* @__PURE__ */ new WeakMap(); +var VisualElementDragControls = class { + constructor(state) { + this.openGlobalLock = null; + this.isDragging = false; + this.currentDirection = null; + this.originPoint = { + x: 0, + y: 0 + }; + this.constraints = false; + this.hasMutatedConstraints = false; + this.elastic = createBox(); + this.latestPointerEvent = null; + this.latestPanInfo = null; + this.state = state; + } + get visualElement() { + return this.state.visualElement; + } + start(originEvent, { snapToCursor = false, distanceThreshold } = {}) { + /** + * Don't start dragging if this component is exiting + */ + if (this.state.isExiting) return; + const onSessionStart = (event) => { + if (snapToCursor) this.snapToCursor(event); + this.stopAnimation(); + }; + const onStart = (event, info) => { + this.stopAnimation(); + const { drag, dragPropagation, onDragStart } = this.getProps(); + if (drag && !dragPropagation) { + if (this.openGlobalLock) this.openGlobalLock(); + this.openGlobalLock = setDragLock(drag); + if (!this.openGlobalLock) return; + } + this.latestPointerEvent = event; + this.latestPanInfo = info; + this.isDragging = true; + this.currentDirection = null; + this.resolveConstraints(); + if (this.visualElement.projection) { + this.visualElement.projection.isAnimationBlocked = true; + this.visualElement.projection.target = void 0; + } + /** + * Record gesture origin + */ + eachAxis((axis) => { + let current = this.getAxisMotionValue(axis).get() || 0; + /** + * If the MotionValue is a percentage value convert to px + */ + if (percent.test(current)) { + const { projection } = this.visualElement; + if (projection && projection.layout) { + const measuredAxis = projection.layout.layoutBox[axis]; + if (measuredAxis) current = calcLength(measuredAxis) * (parseFloat(current) / 100); + } + } + this.originPoint[axis] = current; + }); + if (onDragStart) frame.update(() => onDragStart(event, info), false, true); + addValueToWillChange(this.visualElement, "transform"); + this.state.setActive("whileDrag", true); + }; + const onMove = (event, info) => { + this.latestPointerEvent = event; + this.latestPanInfo = info; + const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag } = this.getProps(); + if (!dragPropagation && !this.openGlobalLock) return; + const { offset } = info; + if (dragDirectionLock && this.currentDirection === null) { + this.currentDirection = getCurrentDirection(offset); + if (this.currentDirection !== null) onDirectionLock && onDirectionLock(this.currentDirection); + return; + } + this.updateAxis("x", info.point, offset); + this.updateAxis("y", info.point, offset); + /** + * Ideally we would leave the renderer to fire naturally at the end of + * this frame but if the element is about to change layout as the result + * of a re-render we want to ensure the browser can read the latest + * bounding box to ensure the pointer and element don't fall out of sync. + */ + this.visualElement.render(); + /** + * This must fire after the render call as it might trigger a state + * change which itself might trigger a layout update. + */ + if (onDrag) frame.update(() => onDrag(event, info), false, true); + }; + const onSessionEnd = (event, info) => { + this.latestPointerEvent = event; + this.latestPanInfo = info; + this.stop(event, info); + this.latestPointerEvent = null; + this.latestPanInfo = null; + }; + const resumeAnimation = () => { + const { dragSnapToOrigin: snap } = this.getProps(); + if (snap || this.constraints) this.startAnimation({ + x: 0, + y: 0 + }); + }; + const { dragSnapToOrigin } = this.getProps(); + this.panSession = new PanSession(originEvent, { + onSessionStart, + onStart, + onMove, + onSessionEnd, + resumeAnimation + }, { + transformPagePoint: this.visualElement.getTransformPagePoint(), + dragSnapToOrigin, + distanceThreshold, + contextWindow: getContextWindow(this.visualElement), + element: this.state.element + }); + } + /** + * @internal + */ + stop(event, panInfo) { + const finalEvent = event || this.latestPointerEvent; + const finalPanInfo = panInfo || this.latestPanInfo; + const isDragging = this.isDragging; + this.cancel(); + if (!isDragging || !finalPanInfo || !finalEvent) return; + const { velocity } = finalPanInfo; + this.startAnimation(velocity); + const { onDragEnd } = this.getProps(); + if (onDragEnd) frame.postRender(() => onDragEnd(finalEvent, finalPanInfo)); + } + /** + * @internal + */ + cancel() { + this.isDragging = false; + const { projection } = this.visualElement; + if (projection) projection.isAnimationBlocked = false; + this.endPanSession(); + const { dragPropagation } = this.getProps(); + if (!dragPropagation && this.openGlobalLock) { + this.openGlobalLock(); + this.openGlobalLock = null; + } + this.state.setActive("whileDrag", false); + } + /** + * Clean up the pan session without modifying other drag state. + * Used during unmount to remove event listeners without affecting + * projection animations or drag locks. + * @internal + */ + endPanSession() { + this.panSession && this.panSession.end(); + this.panSession = void 0; + } + updateAxis(axis, _point, offset) { + const { drag } = this.getProps(); + if (!offset || !shouldDrag(axis, drag, this.currentDirection)) return; + const axisValue = this.getAxisMotionValue(axis); + let next = this.originPoint[axis] + offset[axis]; + if (this.constraints && this.constraints[axis]) next = applyConstraints(next, this.constraints[axis], this.elastic[axis]); + axisValue.set(next); + } + resolveConstraints() { + const { dragConstraints, dragElastic } = this.getProps(); + const layout = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(false) : this.visualElement.projection?.layout; + const prevConstraints = this.constraints; + if (dragConstraints && isHTMLElement(dragConstraints)) { + if (!this.constraints) this.constraints = this.resolveRefConstraints(); + } else if (dragConstraints && layout) this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints); + else this.constraints = false; + this.elastic = resolveDragElastic(dragElastic); + /** + * If we're outputting to external MotionValues, we want to rebase the measured constraints + * from viewport-relative to component-relative. This only applies to relative (non-element) + * constraints, as element-based constraints from calcViewportConstraints are already in the + * correct coordinate space for the motion value transform offset. + */ + if (prevConstraints !== this.constraints && !isHTMLElement(dragConstraints) && layout && this.constraints && !this.hasMutatedConstraints) eachAxis((axis) => { + if (this.constraints !== false && this.getAxisMotionValue(axis)) this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]); + }); + } + resolveRefConstraints() { + const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps(); + if (!constraints || !isHTMLElement(constraints)) return false; + const constraintsElement = constraints; + invariant(constraintsElement !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop."); + const { projection } = this.visualElement; + if (!projection || !projection.layout) return false; + /** + * Refresh the root scroll offset so the constraint's viewport box + * translates to correct page coordinates. The scroll captured at + * drag mount can be stale if the document was scrolled afterwards — + * e.g. via the browser restoring scroll on refresh, or an ancestor + * layout effect running after this element's mount (#2829). + * + * Clear the cached scroll first so `updateScroll` bypasses its + * per-animationId cache and re-reads the live value. + */ + if (projection.root) { + projection.root.scroll = void 0; + projection.root.updateScroll(); + } + const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint()); + let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox); + /** + * If there's an onMeasureDragConstraints listener we call it and + * if different constraints are returned, set constraints to that + */ + if (onMeasureDragConstraints) { + const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints)); + this.hasMutatedConstraints = !!userConstraints; + if (userConstraints) measuredConstraints = convertBoundingBoxToBox(userConstraints); + } + return measuredConstraints; + } + startAnimation(velocity) { + const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd } = this.getProps(); + const constraints = this.constraints || {}; + const momentumAnimations = eachAxis((axis) => { + if (!shouldDrag(axis, drag, this.currentDirection)) return; + let transition = constraints && constraints[axis] || {}; + if (dragSnapToOrigin === true || dragSnapToOrigin === axis) transition = { + min: 0, + max: 0 + }; + /** + * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame + * of spring animations so we should look into adding a disable spring option to `inertia`. + * We could do something here where we affect the `bounceStiffness` and `bounceDamping` + * using the value of `dragElastic`. + */ + const bounceStiffness = dragElastic ? 200 : 1e6; + const bounceDamping = dragElastic ? 40 : 1e7; + const inertia = { + type: "inertia", + velocity: dragMomentum ? velocity[axis] : 0, + bounceStiffness, + bounceDamping, + timeConstant: 750, + restDelta: 1, + restSpeed: 10, + ...dragTransition, + ...transition + }; + return this.startAxisValueAnimation(axis, inertia); + }); + return Promise.all(momentumAnimations).then(onDragTransitionEnd); + } + startAxisValueAnimation(axis, transition) { + const axisValue = this.getAxisMotionValue(axis); + addValueToWillChange(this.visualElement, axis); + return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false)); + } + stopAnimation() { + if (!this.visualElement.projection?.isPresent) return; + eachAxis((axis) => this.getAxisMotionValue(axis).stop()); + } + /** + * Drag works differently depending on which props are provided. + * + * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values. + * - Otherwise, we apply the delta to the x/y motion values. + */ + getAxisMotionValue(axis) { + const dragKey = `_drag${axis.toUpperCase()}`; + return this.visualElement.getProps()[dragKey] || this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0); + } + /** + * Measure the live box - projection.layout may or may not include the + * drag transform, depending on when it was measured. + */ + snapToCursor({ clientX, clientY }) { + const { drag } = this.getProps(); + const point = { + x: clientX, + y: clientY + }; + const cursor = this.visualElement.getTransformPagePoint()?.(point) || point; + const box = this.visualElement.measureViewportBox(); + eachAxis((axis) => { + if (!shouldDrag(axis, drag, this.currentDirection)) return; + const axisValue = this.getAxisMotionValue(axis); + const { min, max } = box[axis]; + axisValue.set((axisValue.get() || 0) + cursor[axis] - mixNumber(min, max, .5)); + }); + } + /** + * When the viewport resizes we want to check if the measured constraints + * have changed and, if so, reposition the element within those new constraints + * relative to where it was before the resize. + */ + scalePositionWithinConstraints() { + if (!this.visualElement.current) return; + const { drag, dragConstraints } = this.getProps(); + const { projection } = this.visualElement; + if (!isHTMLElement(dragConstraints) || !projection || !this.constraints) return; + /** + * Stop current animations as there can be visual glitching if we try to do + * this mid-animation + */ + this.stopAnimation(); + /** + * Record the relative position of the dragged element relative to the + * constraints box and save as a progress value. + */ + const boxProgress = { + x: 0, + y: 0 + }; + eachAxis((axis) => { + const axisValue = this.getAxisMotionValue(axis); + if (axisValue && this.constraints !== false) { + const latest = axisValue.get(); + boxProgress[axis] = calcOrigin({ + min: latest, + max: latest + }, this.constraints[axis]); + } + }); + /** + * Update the layout of this element and resolve the latest drag constraints + */ + const { transformTemplate } = this.visualElement.getProps(); + this.state.element.style.transform = transformTemplate ? transformTemplate({}, "") : "none"; + projection.root && projection.root.updateScroll(); + projection.updateLayout(); + /** + * Reset constraints so resolveConstraints() will recalculate them + * with the freshly measured layout rather than returning the cached value. + */ + this.constraints = false; + this.resolveConstraints(); + /** + * For each axis, calculate the current progress of the layout axis + * within the new constraints. + */ + eachAxis((axis) => { + const axisValue = this.getAxisMotionValue(axis); + /** + * An element resting at its origin has no offset to preserve, + * and re-projecting 0 into the new constraints would move it. + */ + if (!shouldDrag(axis, drag, null) || !axisValue.get()) return; + /** + * Calculate a new transform based on the previous box progress + */ + const { min, max } = this.constraints[axis]; + axisValue.set(mixNumber(min, max, boxProgress[axis])); + }); + /** + * Flush the updated transform to the DOM synchronously to prevent + * a visual flash at the element's CSS layout position (0,0) when + * the transform was stripped for measurement. + */ + this.visualElement.render(); + } + addListeners() { + if (!this.state.element) return; + elementDragControls.set(this.visualElement, this); + const element = this.state.element; + /** + * Attach a pointerdown event listener on this DOM element to initiate drag tracking. + */ + const stopPointerListener = addPointerEvent(element, "pointerdown", (event) => { + const { drag, dragListener = true } = this.getProps(); + const target = event.target; + /** + * Only block drag if clicking on a text input child element + * (input, textarea, select, contenteditable) where users might + * want to select text or interact with the control. + * + * Buttons and links don't block drag since they don't have + * click-and-move actions of their own. + */ + const isClickingTextInputChild = target !== element && isElementTextInput(target); + if (drag && dragListener && !isClickingTextInputChild) this.start(event); + }); + /** + * If using element-based constraints, observe both the draggable element + * and the constraint container for size changes via ResizeObserver. + */ + let stopResizeObservers; + const measureDragConstraints = () => { + const { dragConstraints } = this.getProps(); + if (isHTMLElement(dragConstraints)) { + this.constraints = this.resolveRefConstraints(); + if (!stopResizeObservers) stopResizeObservers = startResizeObservers(element, dragConstraints, () => this.scalePositionWithinConstraints()); + } + }; + const { projection } = this.visualElement; + const stopMeasureLayoutListener = projection.addEventListener("measure", measureDragConstraints); + if (projection && !projection.layout) { + projection.root && projection.root.updateScroll(); + projection.updateLayout(); + } + frame.read(measureDragConstraints); + /** + * Attach a window resize listener to scale the draggable target within its defined + * constraints as the window resizes. + */ + const stopResizeListener = addDomEvent(window, "resize", () => this.scalePositionWithinConstraints()); + /** + * If the element's layout changes, calculate the delta and apply that to + * the drag gesture's origin point. + */ + const stopLayoutUpdateListener = projection.addEventListener("didUpdate", (({ delta, hasLayoutChanged }) => { + if (this.isDragging && hasLayoutChanged) { + eachAxis((axis) => { + const motionValue = this.getAxisMotionValue(axis); + if (!motionValue) return; + this.originPoint[axis] += delta[axis].translate; + motionValue.set(motionValue.get() + delta[axis].translate); + }); + this.visualElement.render(); + } + })); + return () => { + stopResizeListener(); + stopPointerListener(); + stopMeasureLayoutListener(); + stopLayoutUpdateListener && stopLayoutUpdateListener(); + stopResizeObservers && stopResizeObservers(); + }; + } + getProps() { + const props = this.visualElement.getProps(); + const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true } = props; + return { + ...props, + drag, + dragDirectionLock, + dragPropagation, + dragConstraints, + dragElastic, + dragMomentum + }; + } +}; +function skipFirstCall(callback) { + let isFirst = true; + return () => { + if (isFirst) { + isFirst = false; + return; + } + callback(); + }; +} +function startResizeObservers(element, constraintsElement, onResize) { + const stopElement = resize(element, skipFirstCall(onResize)); + const stopContainer = resize(constraintsElement, skipFirstCall(onResize)); + return () => { + stopElement(); + stopContainer(); + }; +} +function shouldDrag(direction, drag, currentDirection) { + return (drag === true || drag === direction) && (currentDirection === null || currentDirection === direction); +} +/** +* Based on an x/y offset determine the current drag direction. If both axis' offsets are lower +* than the provided threshold, return `null`. +* +* @param offset - The x/y offset from origin. +* @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction. +*/ +function getCurrentDirection(offset, lockThreshold = 10) { + let direction = null; + if (Math.abs(offset.y) > lockThreshold) direction = "y"; + else if (Math.abs(offset.x) > lockThreshold) direction = "x"; + return direction; +} +//#endregion +export { VisualElementDragControls, elementDragControls }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/index.mjs new file mode 100644 index 0000000..fa56e05 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/index.mjs @@ -0,0 +1,36 @@ +import { Feature } from "../../feature.mjs"; +import { VisualElementDragControls } from "./VisualElementDragControls.mjs"; +import { noop } from "motion-utils"; +//#region src/features/gestures/drag/index.ts +var DragGesture = class extends Feature { + static { + this.key = "drag"; + } + constructor(state) { + super(state); + this.removeGroupControls = noop; + this.removeListeners = noop; + this.controls = new VisualElementDragControls(state); + } + mount() { + const { dragControls } = this.state.options; + if (dragControls) this.removeGroupControls = dragControls.subscribe(this.controls); + this.prevDragControls = dragControls; + this.removeListeners = this.controls.addListeners() || noop; + } + update() { + const { dragControls } = this.state.options; + if (dragControls !== this.prevDragControls) { + this.removeGroupControls(); + this.removeGroupControls = dragControls ? dragControls.subscribe(this.controls) : noop; + this.prevDragControls = dragControls; + } + } + unmount() { + this.removeGroupControls(); + this.removeListeners(); + if (!this.controls.isDragging) this.controls.endPanSession(); + } +}; +//#endregion +export { DragGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/use-drag-controls.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/use-drag-controls.mjs new file mode 100644 index 0000000..8ad41ac --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/use-drag-controls.mjs @@ -0,0 +1,113 @@ +//#region src/features/gestures/drag/use-drag-controls.ts +/** +* Can manually trigger a drag gesture on one or more `drag`-enabled `motion` components. +* +* ```jsx +* const dragControls = useDragControls() +* +* function startDrag(event) { +* dragControls.start(event, { snapToCursor: true }) +* } +* +* return ( +* <> +* <div onPointerDown={startDrag} /> +* <motion.div drag="x" dragControls={dragControls} /> +* </> +* ) +* ``` +* +* @public +*/ +var DragControls = class { + constructor() { + this.componentControls = /* @__PURE__ */ new Set(); + } + /** + * Subscribe a component's internal `VisualElementDragControls` to the user-facing API. + * + * @internal + */ + subscribe(controls) { + this.componentControls.add(controls); + return () => this.componentControls.delete(controls); + } + /** + * Start a drag gesture on every `motion` component that has this set of drag controls + * passed into it via the `dragControls` prop. + * + * ```jsx + * dragControls.start(e, { + * snapToCursor: true + * }) + * ``` + * + * @param event - PointerEvent + * @param options - Options + * + * @public + */ + start(event, options) { + this.componentControls.forEach((controls) => { + controls.start(event, options); + }); + } + /** + * Cancels a drag gesture. + * + * ```jsx + * dragControls.cancel() + * ``` + * + * @public + */ + cancel() { + this.componentControls.forEach((controls) => { + controls.cancel(); + }); + } + /** + * Stops a drag gesture. + * + * ```jsx + * dragControls.stop() + * ``` + * + * @public + */ + stop() { + this.componentControls.forEach((controls) => { + controls.stop(); + }); + } +}; +var createDragControls = () => new DragControls(); +/** +* Usually, dragging is initiated by pressing down on a `motion` component with a `drag` prop +* and moving it. For some use-cases, for instance clicking at an arbitrary point on a video scrubber, we +* might want to initiate that dragging from a different component than the draggable one. +* +* By creating a `dragControls` using the `useDragControls` hook, we can pass this into +* the draggable component's `dragControls` prop. It exposes a `start` method +* that can start dragging from pointer events on other components. +* +* ```jsx +* const dragControls = useDragControls() +* +* function startDrag(event) { +* dragControls.start(event, { snapToCursor: true }) +* } +* +* return ( +* <> +* <div onPointerDown={startDrag} /> +* <motion.div drag="x" dragControls={dragControls} /> +* </> +* ) +* ``` +* +* @public +*/ +var useDragControls = createDragControls; +//#endregion +export { DragControls, useDragControls }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/utils/constraints.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/utils/constraints.mjs new file mode 100644 index 0000000..4b72451 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/drag/utils/constraints.mjs @@ -0,0 +1,99 @@ +import { calcLength, mixNumber } from "motion-dom"; +import { clamp, progress } from "motion-utils"; +//#region src/features/gestures/drag/utils/constraints.ts +/** +* Apply constraints to a point. These constraints are both physical along an +* axis, and an elastic factor that determines how much to constrain the point +* by if it does lie outside the defined parameters. +*/ +function applyConstraints(point, { min, max }, elastic) { + if (min !== void 0 && point < min) point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min); + else if (max !== void 0 && point > max) point = elastic ? mixNumber(max, point, elastic.max) : Math.min(point, max); + return point; +} +var defaultElastic = .35; +/** +* Calculate constraints in terms of the viewport when +* defined relatively to the measured bounding box. +*/ +function calcRelativeConstraints(layoutBox, { top, left, bottom, right }) { + return { + x: calcRelativeAxisConstraints(layoutBox.x, left, right), + y: calcRelativeAxisConstraints(layoutBox.y, top, bottom) + }; +} +/** +* Calculate constraints in terms of the viewport when defined relatively to the +* measured axis. This is measured from the nearest edge, so a max constraint of 200 +* on an axis with a max value of 300 would return a constraint of 500 - axis length +*/ +function calcRelativeAxisConstraints(axis, min, max) { + return { + min: min !== void 0 ? axis.min + min : void 0, + max: max !== void 0 ? axis.max + max - (axis.max - axis.min) : void 0 + }; +} +/** +* Accepts a dragElastic prop and returns resolved elastic values for each axis. +*/ +function resolveDragElastic(dragElastic = defaultElastic) { + if (dragElastic === false) dragElastic = 0; + else if (dragElastic === true) dragElastic = defaultElastic; + return { + x: resolveAxisElastic(dragElastic, "left", "right"), + y: resolveAxisElastic(dragElastic, "top", "bottom") + }; +} +function resolveAxisElastic(dragElastic, minLabel, maxLabel) { + return { + min: resolvePointElastic(dragElastic, minLabel), + max: resolvePointElastic(dragElastic, maxLabel) + }; +} +function resolvePointElastic(dragElastic, label) { + return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0; +} +/** +* Rebase the calculated viewport constraints relative to the layout.min point. +*/ +function rebaseAxisConstraints(layout, constraints) { + const relativeConstraints = {}; + if (constraints.min !== void 0) relativeConstraints.min = constraints.min - layout.min; + if (constraints.max !== void 0) relativeConstraints.max = constraints.max - layout.min; + return relativeConstraints; +} +/** +* Calculate viewport constraints when defined as another viewport-relative box +*/ +function calcViewportConstraints(layoutBox, constraintsBox) { + return { + x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x), + y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y) + }; +} +/** +* Calculate viewport constraints when defined as another viewport-relative axis +*/ +function calcViewportAxisConstraints(layoutAxis, constraintsAxis) { + let min = constraintsAxis.min - layoutAxis.min; + let max = constraintsAxis.max - layoutAxis.max; + if (constraintsAxis.max - constraintsAxis.min < layoutAxis.max - layoutAxis.min) [min, max] = [max, min]; + return { + min, + max + }; +} +/** +* Calculate a transform origin relative to the source axis, between 0-1, that results +* in an asthetically pleasing scale/transform needed to project from source to target. +*/ +function calcOrigin(source, target) { + let origin = .5; + const sourceLength = calcLength(source); + const targetLength = calcLength(target); + if (targetLength > sourceLength) origin = progress(target.min, target.max - sourceLength, source.min); + else if (sourceLength > targetLength) origin = progress(source.min, source.max - targetLength, target.min); + return clamp(0, 1, origin); +} +//#endregion +export { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/focus/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/focus/index.mjs new file mode 100644 index 0000000..91b9660 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/focus/index.mjs @@ -0,0 +1,45 @@ +import { Feature } from "../../feature.mjs"; +import { addDomEvent } from "motion-dom"; +import { pipe } from "motion-utils"; +//#region src/features/gestures/focus/index.ts +var FocusGesture = class extends Feature { + static { + this.key = "focus"; + } + constructor(state) { + super(state); + this.isFocused = false; + } + onFocus() { + let isFocusVisible = false; + /** + * If this element doesn't match focus-visible then don't + * apply whileFocus. But, if matches throws that focus-visible + * is not a valid selector then in that browser outline styles will be applied + * to the element by default and we want to match that behaviour with whileFocus. + */ + try { + isFocusVisible = this.state.element.matches(":focus-visible"); + } catch { + isFocusVisible = true; + } + if (!isFocusVisible) return; + this.state.setActive("whileFocus", true); + this.isFocused = true; + } + onBlur() { + if (!this.isFocused) return; + this.state.setActive("whileFocus", false); + this.isFocused = false; + } + mount() { + const element = this.state.element; + this.removeFocus = pipe(addDomEvent(element, "focus", () => this.onFocus()), addDomEvent(element, "blur", () => this.onBlur())); + } + unmount() { + this.removeFocus?.(); + this.removeFocus = void 0; + } +}; +//#endregion +export { FocusGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/hover/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/hover/index.mjs new file mode 100644 index 0000000..f43d4f2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/hover/index.mjs @@ -0,0 +1,44 @@ +import { Feature } from "../../feature.mjs"; +import { extractEventInfo } from "../../../events/event-info.mjs"; +import { frame, hover } from "motion-dom"; +//#region src/features/gestures/hover/index.ts +var HoverGesture = class extends Feature { + static { + this.key = "hover"; + } + constructor(state) { + super(state); + } + isActive() { + const { whileHover, onHoverStart, onHoverEnd } = this.state.options; + return Boolean(whileHover || onHoverStart || onHoverEnd); + } + register() { + const element = this.state.element; + if (!element || !this.isActive()) return; + this.removeHover?.(); + this.removeHover = hover(element, (_el, startEvent) => { + const props = this.state.options; + this.state.setActive("whileHover", true); + if (props.onHoverStart) frame.postRender(() => props.onHoverStart(startEvent, extractEventInfo(startEvent))); + return (endEvent) => { + this.state.setActive("whileHover", false); + const callback = this.state.options.onHoverEnd; + if (callback) frame.postRender(() => callback(endEvent, extractEventInfo(endEvent))); + }; + }); + } + mount() { + this.register(); + } + update() { + const prev = this.state.visualElement.prevProps; + if (!Boolean(prev?.whileHover || prev?.onHoverStart || prev?.onHoverEnd) && this.isActive()) this.register(); + } + unmount() { + this.removeHover?.(); + this.removeHover = void 0; + } +}; +//#endregion +export { HoverGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/in-view/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/in-view/index.mjs new file mode 100644 index 0000000..4e113f2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/in-view/index.mjs @@ -0,0 +1,51 @@ +import { Feature } from "../../feature.mjs"; +import { inView } from "framer-motion/dom"; +import { frame } from "motion-dom"; +//#region src/features/gestures/in-view/index.ts +var InViewGesture = class extends Feature { + static { + this.key = "inView"; + } + constructor(state) { + super(state); + } + isActive() { + const { whileInView, onViewportEnter, onViewportLeave } = this.state.options; + return Boolean(whileInView || onViewportEnter || onViewportLeave); + } + startObserver() { + const element = this.state.element; + if (!element || !this.isActive()) return; + this.removeObserver?.(); + const { once, ...viewOptions } = this.state.options.inViewOptions || {}; + this.removeObserver = inView(element, (_, entry) => { + const props = this.state.options; + this.state.setActive("whileInView", true); + if (props.onViewportEnter) frame.postRender(() => props.onViewportEnter(entry)); + if (!once) return () => { + this.state.setActive("whileInView", false); + const leaveCallback = this.state.options.onViewportLeave; + if (leaveCallback) frame.postRender(() => leaveCallback(entry)); + }; + }, viewOptions); + } + mount() { + this.startObserver(); + } + update() { + const { props, prevProps } = this.state.visualElement; + if ([ + "amount", + "margin", + "root" + ].some((name) => { + return props.inViewOptions?.[name] !== prevProps?.inViewOptions?.[name]; + })) this.startObserver(); + } + unmount() { + this.removeObserver?.(); + this.removeObserver = void 0; + } +}; +//#endregion +export { InViewGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/PanSession.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/PanSession.mjs new file mode 100644 index 0000000..bf6319d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/PanSession.mjs @@ -0,0 +1,221 @@ +import { extractEventInfo } from "../../../events/event-info.mjs"; +import { addPointerEvent } from "../../../events/add-pointer-event.mjs"; +import { distance2D } from "framer-motion/dom"; +import { cancelFrame, frame, frameData, isPrimaryPointer, time } from "motion-dom"; +import { millisecondsToSeconds, pipe, secondsToMilliseconds } from "motion-utils"; +//#region src/features/gestures/pan/PanSession.ts +var overflowStyles = /* #__PURE__ */ new Set(["auto", "scroll"]); +/** +* @internal +*/ +var PanSession = class { + constructor(event, handlers, { transformPagePoint, contextWindow, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) { + this.startEvent = null; + this.lastMoveEvent = null; + this.lastMoveEventInfo = null; + this.lastRawMoveEventInfo = null; + this.handlers = {}; + this.contextWindow = window; + this.scrollPositions = /* @__PURE__ */ new Map(); + this.onElementScroll = (event) => { + this.handleScroll(event.target); + }; + this.onWindowScroll = () => { + this.handleScroll(window); + }; + this.updatePoint = () => { + if (!(this.lastMoveEvent && this.lastMoveEventInfo)) return; + this.hasPendingMove = false; + if (this.lastRawMoveEventInfo) this.lastMoveEventInfo = transformPoint(this.lastRawMoveEventInfo, this.transformPagePoint); + const info = getPanInfo(this.lastMoveEventInfo, this.history); + const isPanStarted = this.startEvent !== null; + const isDistancePastThreshold = distance2D(info.offset, { + x: 0, + y: 0 + }) >= this.distanceThreshold; + if (!isPanStarted && !isDistancePastThreshold) return; + const { point } = info; + this.history.push({ + ...point, + timestamp: time.now() + }); + const { onStart, onMove } = this.handlers; + if (!isPanStarted) { + onStart && onStart(this.lastMoveEvent, info); + this.startEvent = this.lastMoveEvent; + } + onMove && onMove(this.lastMoveEvent, info); + }; + this.handlePointerMove = (event, info) => { + this.lastMoveEvent = event; + this.lastRawMoveEventInfo = info; + this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint); + this.hasPendingMove = true; + frame.update(this.updatePoint, true); + }; + this.handlePointerUp = (event, info) => { + this.hasPendingMove && this.updatePoint(); + this.end(); + const { onEnd, onSessionEnd, resumeAnimation } = this.handlers; + if (this.dragSnapToOrigin || !this.startEvent) resumeAnimation && resumeAnimation(); + if (!(this.lastMoveEvent && this.lastMoveEventInfo)) return; + const panInfo = getPanInfo(event.type === "pointercancel" ? this.lastMoveEventInfo : transformPoint(info, this.transformPagePoint), this.history); + if (this.startEvent && onEnd) onEnd(event, panInfo); + onSessionEnd && onSessionEnd(event, panInfo); + }; + if (!isPrimaryPointer(event)) return; + this.dragSnapToOrigin = dragSnapToOrigin; + this.handlers = handlers; + this.transformPagePoint = transformPagePoint; + this.distanceThreshold = distanceThreshold; + this.contextWindow = contextWindow || window; + const initialInfo = transformPoint(extractEventInfo(event), this.transformPagePoint); + const { point } = initialInfo; + const { timestamp } = frameData; + this.history = [{ + ...point, + timestamp + }]; + const { onSessionStart } = handlers; + onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history)); + const eventOptions = { + passive: true, + capture: true + }; + this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions)); + if (element) this.startScrollTracking(element); + } + /** + * Start tracking scroll on ancestors and window. + */ + startScrollTracking(element) { + let current = element.parentElement; + while (current) { + const style = getComputedStyle(current); + if (overflowStyles.has(style.overflowX) || overflowStyles.has(style.overflowY)) this.scrollPositions.set(current, { + x: current.scrollLeft, + y: current.scrollTop + }); + current = current.parentElement; + } + this.scrollPositions.set(window, { + x: window.scrollX, + y: window.scrollY + }); + window.addEventListener("scroll", this.onElementScroll, { + capture: true, + passive: true + }); + window.addEventListener("scroll", this.onWindowScroll, { passive: true }); + this.removeScrollListeners = () => { + window.removeEventListener("scroll", this.onElementScroll, { capture: true }); + window.removeEventListener("scroll", this.onWindowScroll); + }; + } + /** + * Handle scroll compensation during drag. + * + * For element scroll: adjusts history origin since pageX/pageY doesn't change. + * For window scroll: adjusts lastMoveEventInfo since pageX/pageY would change. + */ + handleScroll(target) { + const initial = this.scrollPositions.get(target); + if (!initial) return; + const isWindow = target === window; + const current = isWindow ? { + x: window.scrollX, + y: window.scrollY + } : { + x: target.scrollLeft, + y: target.scrollTop + }; + const delta = { + x: current.x - initial.x, + y: current.y - initial.y + }; + if (delta.x === 0 && delta.y === 0) return; + if (isWindow) { + if (this.lastMoveEventInfo) { + this.lastMoveEventInfo.point.x += delta.x; + this.lastMoveEventInfo.point.y += delta.y; + } + } else if (this.history.length > 0) { + this.history[0].x -= delta.x; + this.history[0].y -= delta.y; + } + this.scrollPositions.set(target, current); + frame.update(this.updatePoint, true); + } + updateHandlers(handlers) { + this.handlers = handlers; + } + end() { + this.removeListeners && this.removeListeners(); + this.removeScrollListeners?.(); + this.scrollPositions.clear(); + cancelFrame(this.updatePoint); + } +}; +function transformPoint(info, transformPagePoint) { + return transformPagePoint ? { point: transformPagePoint(info.point) } : info; +} +function subtractPoint(a, b) { + return { + x: a.x - b.x, + y: a.y - b.y + }; +} +function getPanInfo({ point }, history) { + return { + point, + delta: subtractPoint(point, lastDevicePoint(history)), + offset: subtractPoint(point, startDevicePoint(history)), + velocity: getVelocity(history, .1) + }; +} +function startDevicePoint(history) { + return history[0]; +} +function lastDevicePoint(history) { + return history[history.length - 1]; +} +function getVelocity(history, timeDelta) { + if (history.length < 2) return { + x: 0, + y: 0 + }; + let i = history.length - 1; + let timestampedPoint = null; + const lastPoint = lastDevicePoint(history); + while (i >= 0) { + timestampedPoint = history[i]; + if (lastPoint.timestamp - timestampedPoint.timestamp > secondsToMilliseconds(timeDelta)) break; + i--; + } + if (!timestampedPoint) return { + x: 0, + y: 0 + }; + /** + * If the selected point is the pointer-down origin (history[0]), + * there are better movement points available, and the time gap + * is suspiciously large (>2x timeDelta), use the next point instead. + * This prevents stale pointer-down points from diluting velocity + * in hold-then-flick gestures. + */ + if (timestampedPoint === history[0] && history.length > 2 && lastPoint.timestamp - timestampedPoint.timestamp > secondsToMilliseconds(timeDelta) * 2) timestampedPoint = history[1]; + const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp); + if (time === 0) return { + x: 0, + y: 0 + }; + const currentVelocity = { + x: (lastPoint.x - timestampedPoint.x) / time, + y: (lastPoint.y - timestampedPoint.y) / time + }; + if (currentVelocity.x === Infinity) currentVelocity.x = 0; + if (currentVelocity.y === Infinity) currentVelocity.y = 0; + return currentVelocity; +} +//#endregion +export { PanSession }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/index.mjs new file mode 100644 index 0000000..950803c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/pan/index.mjs @@ -0,0 +1,57 @@ +import { getContextWindow } from "../../../utils/get-context-window.mjs"; +import { Feature } from "../../feature.mjs"; +import { addPointerEvent } from "../../../events/add-pointer-event.mjs"; +import { PanSession } from "./PanSession.mjs"; +import { frame } from "motion-dom"; +import { noop } from "motion-utils"; +//#region src/features/gestures/pan/index.ts +function asyncHandler(handler) { + return (event, info) => { + if (handler) frame.update(() => handler(event, info), false, true); + }; +} +var PanGesture = class extends Feature { + constructor(..._args) { + super(..._args); + this.removePointerDownListener = noop; + } + static { + this.key = "pan"; + } + onPointerDown(pointerDownEvent) { + this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), { + transformPagePoint: this.state.visualElement.getTransformPagePoint(), + contextWindow: getContextWindow(this.state.visualElement) + }); + } + createPanHandlers() { + return { + onSessionStart: asyncHandler((_, info) => { + const { onPanSessionStart } = this.state.options; + onPanSessionStart && onPanSessionStart(_, info); + }), + onStart: asyncHandler((_, info) => { + const { onPanStart } = this.state.options; + onPanStart && onPanStart(_, info); + }), + onMove: asyncHandler((event, info) => { + const { onPan } = this.state.options; + onPan && onPan(event, info); + }), + onEnd: (event, info) => { + const { onPanEnd } = this.state.options; + delete this.session; + if (onPanEnd) frame.postRender(() => onPanEnd(event, info)); + } + }; + } + mount() { + this.removePointerDownListener = addPointerEvent(this.state.element, "pointerdown", this.onPointerDown.bind(this)); + } + unmount() { + this.removePointerDownListener(); + this.session && this.session.end(); + } +}; +//#endregion +export { PanGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/press/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/press/index.mjs new file mode 100644 index 0000000..8bcf3d2 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/gestures/press/index.mjs @@ -0,0 +1,45 @@ +import { Feature } from "../../feature.mjs"; +import { extractEventInfo } from "../../../events/event-info.mjs"; +import { frame, press } from "motion-dom"; +//#region src/features/gestures/press/index.ts +var PressGesture = class extends Feature { + static { + this.key = "press"; + } + constructor(state) { + super(state); + } + isActive() { + const { whilePress, onPress, onPressCancel, onPressStart } = this.state.options; + return Boolean(whilePress || onPress || onPressCancel || onPressStart); + } + register() { + const element = this.state.element; + if (!element || !this.isActive()) return; + this.removePress?.(); + this.removePress = press(element, (_el, startEvent) => { + const props = this.state.options; + this.state.setActive("whilePress", true); + if (props.onPressStart) frame.postRender(() => props.onPressStart(startEvent, extractEventInfo(startEvent))); + return (endEvent, { success }) => { + this.state.setActive("whilePress", false); + const callbackName = success ? "onPress" : "onPressCancel"; + const callback = this.state.options[callbackName]; + if (callback) frame.postRender(() => callback(endEvent, extractEventInfo(endEvent))); + }; + }, { useGlobalTarget: this.state.options.globalPressTarget }); + } + mount() { + this.register(); + } + update() { + const prev = this.state.visualElement.prevProps; + if (!Boolean(prev?.whilePress || prev?.whileTap || prev?.onPress || prev?.onPressCancel || prev?.onPressStart) && this.isActive()) this.register(); + } + unmount() { + this.removePress?.(); + this.removePress = void 0; + } +}; +//#endregion +export { PressGesture }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/config.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/config.mjs new file mode 100644 index 0000000..5b69887 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/config.mjs @@ -0,0 +1,20 @@ +import { correctBorderRadius, correctBoxShadow } from "motion-dom"; +//#region src/features/layout/config.ts +var defaultScaleCorrector = { + borderRadius: { + ...correctBorderRadius, + applyTo: [ + "borderTopLeftRadius", + "borderTopRightRadius", + "borderBottomLeftRadius", + "borderBottomRightRadius" + ] + }, + borderTopLeftRadius: correctBorderRadius, + borderTopRightRadius: correctBorderRadius, + borderBottomLeftRadius: correctBorderRadius, + borderBottomRightRadius: correctBorderRadius, + boxShadow: correctBoxShadow +}; +//#endregion +export { defaultScaleCorrector }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/layout.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/layout.mjs new file mode 100644 index 0000000..a365741 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/layout.mjs @@ -0,0 +1,78 @@ +import { Feature } from "../feature.mjs"; +import { isHidden } from "../../utils/is-hidden.mjs"; +import { defaultScaleCorrector } from "./config.mjs"; +import { addScaleCorrector, globalProjectionState } from "motion-dom"; +//#region src/features/layout/layout.ts +var LayoutFeature = class extends Feature { + static { + this.key = "layout"; + } + constructor(state) { + super(state); + addScaleCorrector(defaultScaleCorrector); + } + updatePrevLead(isPresent) { + const projection = this.state.visualElement.projection; + if (projection.isPresent !== isPresent) { + projection.isPresent = isPresent; + if (isPresent) !projection.isLead() && projection?.promote(); + else projection.isLead() && projection?.relegate(); + } + } + didUpdate() { + if (this.state.options.layout || this.state.options.layoutId || this.state.options.drag) this.state.visualElement.projection?.root?.didUpdate(); + } + mount() { + const options = this.state.options; + const layoutGroup = this.state.options.layoutGroup; + if (options.layout || options.layoutId) { + const projection = this.state.visualElement.projection; + if (options.layoutId) { + const isPresent = !isHidden(this.state.element); + projection.isPresent = isPresent; + if (isPresent) projection?.promote(); + else projection?.relegate(); + } + layoutGroup?.group?.add(projection); + globalProjectionState.hasEverUpdated = true; + } + this.didUpdate(); + } + unmount() { + const layoutGroup = this.state.options.layoutGroup; + const projection = this.state.visualElement.projection; + if (projection) { + if (layoutGroup?.group && (this.state.options.layout || this.state.options.layoutId)) layoutGroup.group.remove(projection); + } + } + /** + * Capture a layout snapshot. Options are always refreshed by the caller + * before this runs (updateOptions → lifecycle hook), so the only remaining + * signal is presence: an exiting element is treated as not present. + */ + getSnapshot(isPresent) { + const projection = this.state.visualElement.projection; + const { layout, layoutId, drag, layoutDependency } = this.state.visualElement.props; + const prevProps = this.state.visualElement.prevProps; + if (!projection || !layout && !layoutId && !drag) return; + /** + * If drag is enabled, no layoutDependency is set, or presence changed, + * we need to update the snapshot + */ + if (drag || prevProps.layoutDependency !== layoutDependency || layoutDependency === void 0 || isPresent !== projection.isPresent) projection.willUpdate(); + /** + * If presence has changed, promote or relegate the projection accordingly + */ + if (layoutId) this.updatePrevLead(isPresent); + this.didUpdate(); + } + refreshRootScroll() { + const root = this.state.visualElement?.projection?.root; + if (root && this.state.options.layoutId) { + root.scroll = void 0; + root.updateScroll?.(); + } + } +}; +//#endregion +export { LayoutFeature }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/projection.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/projection.mjs new file mode 100644 index 0000000..8296802 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/projection.mjs @@ -0,0 +1,50 @@ +import { Feature } from "../feature.mjs"; +import { getClosestProjectingNode } from "./utils.mjs"; +import { defaultScaleCorrector } from "./config.mjs"; +import { isSSR } from "../../utils/is.mjs"; +import { HTMLProjectionNode, addScaleCorrector, isHTMLElement } from "motion-dom"; +//#region src/features/layout/projection.ts +var ProjectionFeature = class extends Feature { + static { + this.key = "projection"; + } + constructor(state) { + super(state); + addScaleCorrector(defaultScaleCorrector); + if (!isSSR) this.initProjection(); + } + initProjection() { + const options = this.state.options; + this.state.visualElement.projection = new HTMLProjectionNode(this.state.visualElement.latestValues, options["data-framer-portal-id"] ? void 0 : getClosestProjectingNode(this.state.visualElement.parent)); + this.projection = this.state.visualElement.projection; + this.projection.isPresent = true; + this.setOptions(); + } + setOptions() { + const options = this.state.options; + const { layoutId, layout, drag = false, dragConstraints = false } = options; + this.projection?.setOptions({ + layout, + layoutId, + alwaysMeasureLayout: Boolean(layoutId) || Boolean(drag) || dragConstraints && isHTMLElement(dragConstraints), + visualElement: this.state.visualElement, + animationType: typeof options.layout === "string" ? options.layout : "both", + layoutRoot: options.layoutRoot, + layoutScroll: options.layoutScroll, + crossfade: options.crossfade, + onExitComplete: () => { + if (!this.projection?.isPresent && this.state.options.layoutId && !this.state.isExiting) queueMicrotask(() => { + this.state.getFeature("exit")?.completeExitFromProjection(); + }); + } + }); + } + update() { + this.setOptions(); + } + mount() { + this.projection?.mount(this.state.element); + } +}; +//#endregion +export { ProjectionFeature }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/utils.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/utils.mjs new file mode 100644 index 0000000..c53b56d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/features/layout/utils.mjs @@ -0,0 +1,7 @@ +//#region src/features/layout/utils.ts +function getClosestProjectingNode(visualElement) { + if (!visualElement) return void 0; + return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent); +} +//#endregion +export { getClosestProjectingNode }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/index.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/index.mjs new file mode 100644 index 0000000..6a610aa --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/index.mjs @@ -0,0 +1,43 @@ +import { createContext } from "./utils/createContext.mjs"; +import { resolveMotionProps } from "./utils/resolve-motion-props.mjs"; +import { useInView } from "./utils/use-in-view.mjs"; +import { useAnimationFrame } from "./utils/use-animation-frame.mjs"; +import { getContextWindow } from "./utils/get-context-window.mjs"; +import { useDomRef } from "./utils/use-dom-ref.mjs"; +import { usePageInView } from "./utils/use-page-in-view.mjs"; +import { injectLayoutGroup, injectMotion, layoutGroupInjectionKey, motionInjectionKey, provideLayoutGroup, provideMotion } from "./components/context.mjs"; +import { provideMotionConfig, useMotionConfig } from "./components/motion-config/context.mjs"; +import MotionConfig_default from "./components/motion-config/MotionConfig.mjs"; +import { mountedStates } from "./state/motion-state.mjs"; +import { domMax } from "./features/dom-max.mjs"; +import { Motion, motion } from "./components/motion/index.mjs"; +import AnimatePresence_default from "./components/animate-presence/AnimatePresence.mjs"; +import { usePresence } from "./components/animate-presence/use-presence.mjs"; +import AnimateView_default from "./components/animate-view/AnimateView.mjs"; +import { startTransition } from "./components/animate-view/start-transition.mjs"; +import { useCombineMotionValues } from "./value/use-combine-values.mjs"; +import { useComputed } from "./value/use-computed.mjs"; +import { useTransform } from "./value/use-transform.mjs"; +import { useTime } from "./value/use-time.mjs"; +import { useMotionTemplate } from "./value/use-motion-template.mjs"; +import { useMotionValueEvent } from "./value/use-motion-value-event.mjs"; +import { useFollowValue, useSpring } from "./value/use-spring.mjs"; +import { ScrollOffset, offsetToViewTimelineRange } from "./value/scroll/offsets.mjs"; +import { useScroll } from "./value/use-scroll.mjs"; +import { useVelocity } from "./value/use-velocity.mjs"; +import { Reorder, ReorderGroup, ReorderItem } from "./components/reorder/index.mjs"; +import RowValue_default from "./components/RowValue.mjs"; +import { LazyMotion } from "./components/lazy-motion/index.mjs"; +import { M, m } from "./components/motion/m.mjs"; +import { useLayoutGroup } from "./components/use-layout-group.mjs"; +import LayoutGroup_default from "./components/LayoutGroup.mjs"; +import { useAnimate } from "./animation/hooks/use-animate.mjs"; +import { useAnimationControls } from "./animation/hooks/use-animation-controls.mjs"; +import { useReducedMotion } from "./animation/hooks/use-reduced-motion.mjs"; +import { useDragControls } from "./features/gestures/drag/use-drag-controls.mjs"; +import { domAnimation } from "./features/dom-animation.mjs"; +import { MotionPlugin, createMotionDirective, createPresetDirective, vMotion } from "./directive/index.mjs"; +import { motionGlobalConfig } from "./config.mjs"; +import { delay as delayInMs, motionValue as useMotionValue } from "motion-dom"; +export * from "framer-motion/dom"; +export { AnimatePresence_default as AnimatePresence, AnimateView_default as AnimateView, LayoutGroup_default as LayoutGroup, LazyMotion, M, Motion, MotionConfig_default as MotionConfig, MotionPlugin, Reorder, ReorderGroup, ReorderItem, RowValue_default as RowValue, ScrollOffset, createContext, createMotionDirective, createPresetDirective, delayInMs, domAnimation, domMax, getContextWindow, injectLayoutGroup, injectMotion, layoutGroupInjectionKey, m, motion, motionGlobalConfig, motionInjectionKey, mountedStates, offsetToViewTimelineRange, provideLayoutGroup, provideMotion, provideMotionConfig, resolveMotionProps, startTransition, useAnimate, useAnimationControls, useAnimationFrame, useCombineMotionValues, useComputed, useDomRef, useDragControls, useFollowValue, useInView, useLayoutGroup, useMotionConfig, useMotionTemplate, useMotionValue, useMotionValueEvent, usePageInView, usePresence, useReducedMotion, useScroll, useSpring, useTime, useTransform, useVelocity, vMotion }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/state/create-visual-element.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/state/create-visual-element.mjs new file mode 100644 index 0000000..602b289 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/state/create-visual-element.mjs @@ -0,0 +1,8 @@ +import { isSVGElement } from "./utils.mjs"; +import { HTMLVisualElement, SVGVisualElement } from "motion-dom"; +//#region src/state/create-visual-element.ts +function createVisualElement(Component, options) { + return isSVGElement(Component) ? new SVGVisualElement(options) : new HTMLVisualElement(options); +} +//#endregion +export { createVisualElement }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/state/motion-state.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/state/motion-state.mjs new file mode 100644 index 0000000..a02afd3 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/state/motion-state.mjs @@ -0,0 +1,150 @@ +import { isSVGElement, resolveInitialValues } from "./utils.mjs"; +import { isVariantLabel } from "motion-dom"; +import { invariant } from "hey-listen"; +//#region src/state/motion-state.ts +var mountedStates = /* @__PURE__ */ new WeakMap(); +/** +* Core class that manages animation state and orchestrates animations. +* Handles component lifecycle methods in the correct order based on component tree position. +*/ +var MotionState = class { + constructor(options, parent, bundle = {}) { + this.element = null; + this.isExiting = false; + this.children = /* @__PURE__ */ new Set(); + this.features = /* @__PURE__ */ new Map(); + this.featureCtors = []; + this._context = null; + this.options = options; + this.parent = parent; + parent?.children?.add(this); + this.latestValues = resolveInitialValues(options, this.context); + this.type = isSVGElement(this.options.as) ? "svg" : "html"; + this.setBundle(bundle); + } + get context() { + if (!this._context) { + const handler = { get: (_target, prop) => { + const value = this.options[prop]; + if (isVariantLabel(value) || prop === "initial" && value === false) return value; + return this.parent?.context[prop]; + } }; + this._context = new Proxy({}, handler); + } + return this._context; + } + /** + * Declare (or asynchronously resolve, e.g. LazyMotion) the render + feature + * bundle for this state, then sync — the visual element and feature + * instances are created lazily inside updateFeatures(). + */ + setBundle(bundle) { + if (bundle.renderer) this.initVisualElement(bundle.renderer); + if (bundle.features?.length) this.featureCtors = bundle.features; + this.updateFeatures(); + } + /** + * Instantiate any missing features, then mount unmounted ones and update + * the rest. Feature constructors dereference the visual element, so this + * no-ops until setBundle() has created one. Feature mount is isMount-guarded, + * so this is safe to call repeatedly and from any lifecycle stage. + */ + updateFeatures() { + if (!this.visualElement) return; + for (const FeatureCtor of this.featureCtors) { + let feature = this.features.get(FeatureCtor.key); + if (!feature) { + feature = new FeatureCtor(this); + this.features.set(FeatureCtor.key, feature); + } + if (!this.isMounted()) continue; + if (feature.isMount) feature.update(); + else { + feature.mount(); + feature.isMount = true; + } + } + } + updateOptions(options) { + this.options = options; + this.visualElement?.update({ + ...this.options, + whileTap: this.options.whilePress + }, this.options.presenceContext ?? null); + } + mount(element) { + invariant(Boolean(element), "Animation state must be mounted with valid Element"); + mountedStates.set(element, this); + this.element = element; + this.features.get("layout")?.refreshRootScroll(); + this.visualElement?.mount(element); + this.updateFeatures(); + } + beforeUnmount() { + this.getSnapshot(false); + } + unmount() { + this.parent?.children?.delete(this); + if (this.element) mountedStates.delete(this.element); + this.features.forEach((f) => { + f.unmount(); + f.isMount = false; + }); + this.visualElement?.unmount(); + this.element = null; + } + beforeUpdate() { + this.getSnapshot(!this.isExiting); + } + update() { + this.updateFeatures(); + this.didUpdate(); + } + /** Access an installed feature by key, e.g. getFeature<ExitFeature>('exit') */ + getFeature(key) { + return this.features.get(key); + } + setActive(name, isActive) { + if (name === "exit" && isActive) this.isExiting = true; + const type = name === "whilePress" ? "whileTap" : name; + this.visualElement?.animationState?.setActive(type, isActive).then(() => { + if (name === "exit" && isActive) this.isExiting = false; + }); + } + isMounted() { + return Boolean(this.element); + } + /** + * Create and attach the visual element using the given renderer. + * Called by setBundle(); no-ops once created. + */ + initVisualElement(renderer) { + if (this.visualElement) return; + this.visualElement = renderer(this.options.as, { + presenceContext: this.options.presenceContext ?? null, + parent: this.parent?.visualElement, + props: { + ...this.options, + whileTap: this.options.whilePress + }, + visualState: { + renderState: { + transform: {}, + transformOrigin: {}, + style: {}, + vars: {}, + attrs: {} + }, + latestValues: { ...this.latestValues } + }, + reducedMotionConfig: this.options.motionConfig?.reducedMotion + }); + if (this.isMounted()) this.visualElement.mount(this.element); + } + getSnapshot(isPresent) { + this.features.get("layout")?.getSnapshot(isPresent); + } + didUpdate() {} +}; +//#endregion +export { MotionState, mountedStates }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/state/style.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/state/style.mjs new file mode 100644 index 0000000..61b0958 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/state/style.mjs @@ -0,0 +1,46 @@ +import { buildHTMLStyles, buildSVGAttrs, camelCaseAttributes, isSVGTag } from "motion-dom"; +//#region src/state/style.ts +function camelToDash(str) { + return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`); +} +function createHTMLRenderState() { + return { + transform: {}, + transformOrigin: {}, + style: {}, + vars: {} + }; +} +function createSVGRenderState() { + return { + ...createHTMLRenderState(), + attrs: {} + }; +} +function createStyles(latestValues, transformTemplate) { + const state = createHTMLRenderState(); + buildHTMLStyles(state, latestValues, transformTemplate); + const result = { ...state.style }; + if (result.transform === "") delete result.transform; + for (const key in state.vars) result[key] = state.vars[key]; + if (Object.keys(result).length === 0) return null; + return result; +} +function createSVGStyles(latestValues, tag, styleProp) { + const state = createSVGRenderState(); + buildSVGAttrs(state, latestValues, isSVGTag(tag), void 0, styleProp); + const attrs = {}; + for (const key in state.attrs) { + const attrKey = camelCaseAttributes.has(key) ? key : camelToDash(key); + attrs[attrKey] = state.attrs[key]; + } + return { + attrs, + style: { + ...state.style, + ...state.vars + } + }; +} +//#endregion +export { createSVGStyles, createStyles }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/state/utils.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/state/utils.mjs new file mode 100644 index 0000000..0fbabf6 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/state/utils.mjs @@ -0,0 +1,104 @@ +//#region src/state/utils.ts +function resolveVariantValue(definition, variants, custom) { + if (Array.isArray(definition)) return definition.reduce((acc, item) => { + const resolvedVariant = resolveVariantValue(item, variants, custom); + return resolvedVariant ? { + ...acc, + ...resolvedVariant + } : acc; + }, {}); + else if (typeof definition === "object") return definition; + else if (definition && variants) { + const variant = variants[definition]; + return typeof variant === "function" ? variant(custom) : variant; + } +} +function resolveVariant(definition, variants, custom) { + const resolved = resolveVariantValue(definition, variants, custom); + if (!resolved) return void 0; + const { transition, transitionEnd, ...target } = resolved; + return { + ...target, + ...transitionEnd + }; +} +/** +* Resolve initial latest values from variant sources. +* Shared by MotionState constructor and SSR style resolution. +* +* @param options - Motion options +* @param context - Optional parent context for variant inheritance (MotionState passes this) +*/ +function resolveInitialValues(options, context) { + const sources = (options.initial === void 0 && options.variants ? context?.initial : options.initial) === false ? ["initial", "animate"] : ["initial"]; + const custom = options.custom ?? options.presenceContext?.custom; + return sources.reduce((acc, variant) => { + return { + ...acc, + ...resolveVariant(options[variant] || context?.[variant], options.variants, custom) + }; + }, {}); +} +var svgElements = [ + "animate", + "circle", + "defs", + "desc", + "ellipse", + "g", + "image", + "line", + "filter", + "marker", + "mask", + "metadata", + "path", + "pattern", + "polygon", + "polyline", + "rect", + "stop", + "svg", + "switch", + "symbol", + "text", + "tspan", + "use", + "view", + "clipPath", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "foreignObject", + "linearGradient", + "radialGradient", + "textPath" +]; +var svgElementSet = new Set(svgElements); +function isSVGElement(as) { + return svgElementSet.has(as); +} +//#endregion +export { isSVGElement, resolveInitialValues, resolveVariant, svgElements }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/createContext.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/createContext.mjs new file mode 100644 index 0000000..c759d8c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/createContext.mjs @@ -0,0 +1,35 @@ +import { inject, provide } from "vue"; +//#region src/utils/createContext.ts +/** +* @param providerComponentName - The name(s) of the component(s) providing the context. +* +* There are situations where context can come from multiple components. In such cases, you might need to give an array of component names to provide your context, instead of just a single string. +* +* @param contextName The description for injection key symbol. +*/ +function createContext(providerComponentName, contextName) { + const symbolDescription = typeof providerComponentName === "string" && !contextName ? `${providerComponentName}Context` : contextName; + const injectionKey = Symbol(symbolDescription); + /** + * @param fallback The context value to return if the injection fails. + * + * @throws When context injection failed and no fallback is specified. + * This happens when the component injecting the context is not a child of the root component providing the context. + */ + const injectContext = (fallback) => { + const context = inject(injectionKey, fallback); + if (context === void 0) throw new Error(`Injection \`${injectionKey.toString()}\` not found. Component must be used within ${Array.isArray(providerComponentName) ? `one of the following components: ${providerComponentName.join(", ")}` : `\`${providerComponentName}\``}`); + return context; + }; + const provideContext = (contextValue) => { + provide(injectionKey, contextValue); + return contextValue; + }; + return [ + injectContext, + provideContext, + injectionKey + ]; +} +//#endregion +export { createContext }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/get-context-window.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/get-context-window.mjs new file mode 100644 index 0000000..5a4e0fa --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/get-context-window.mjs @@ -0,0 +1,6 @@ +//#region src/utils/get-context-window.ts +function getContextWindow({ current }) { + return current ? current.ownerDocument.defaultView : null; +} +//#endregion +export { getContextWindow }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is-hidden.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is-hidden.mjs new file mode 100644 index 0000000..512af67 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is-hidden.mjs @@ -0,0 +1,6 @@ +//#region src/utils/is-hidden.ts +function isHidden(element) { + return element.style.display === "none" || element.offsetParent === null && window.getComputedStyle(element).position !== "fixed"; +} +//#endregion +export { isHidden }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is.mjs new file mode 100644 index 0000000..7f8dac5 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/is.mjs @@ -0,0 +1,4 @@ +//#region src/utils/is.ts +var isSSR = typeof window === "undefined"; +//#endregion +export { isSSR }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/resolve-motion-props.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/resolve-motion-props.mjs new file mode 100644 index 0000000..09290f0 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/resolve-motion-props.mjs @@ -0,0 +1,21 @@ +//#region src/utils/resolve-motion-props.ts +/** +* Merge motion props with context values (layout group, presence, config). +* Shared by useMotionState (component) and v-motion directive. +*/ +function resolveMotionProps(props, context) { + const { layoutGroup, presenceContext, config } = context; + const layoutId = layoutGroup.id && props.layoutId ? `${layoutGroup.id}-${props.layoutId}` : props.layoutId || void 0; + return { + ...props, + layoutId, + transition: props.transition ?? config.transition, + layoutGroup, + motionConfig: config, + inViewOptions: props.inViewOptions ?? config.inViewOptions, + presenceContext, + initial: presenceContext.initial === false ? presenceContext.initial : props.initial === true ? void 0 : props.initial + }; +} +//#endregion +export { resolveMotionProps }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-animation-frame.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-animation-frame.mjs new file mode 100644 index 0000000..a0c0b98 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-animation-frame.mjs @@ -0,0 +1,19 @@ +import { cancelFrame, frame } from "motion-dom"; +import { onBeforeUpdate, onUnmounted } from "vue"; +//#region src/utils/use-animation-frame.ts +function useAnimationFrame(callback) { + let initialTimestamp = 0; + const provideTimeSinceStart = ({ timestamp, delta }) => { + if (!initialTimestamp) initialTimestamp = timestamp; + callback(timestamp - initialTimestamp, delta); + }; + const cancel = () => cancelFrame(provideTimeSinceStart); + onBeforeUpdate(() => { + cancel(); + frame.update(provideTimeSinceStart, true); + }); + onUnmounted(() => cancel()); + frame.update(provideTimeSinceStart, true); +} +//#endregion +export { useAnimationFrame }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-dom-ref.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-dom-ref.mjs new file mode 100644 index 0000000..ed1a736 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-dom-ref.mjs @@ -0,0 +1,17 @@ +import { getMotionElement } from "../components/hooks/use-motion-elm.mjs"; +import { ref } from "vue"; +//#region src/utils/use-dom-ref.ts +function useDomRef() { + const dom = ref(null); + return new Proxy(dom, { + get(target, key) { + if (typeof key === "string" || typeof key === "symbol") return Reflect.get(target, key); + }, + set(target, key, value) { + if (key === "value") return Reflect.set(target, key, getMotionElement(value?.$el || value)); + return true; + } + }); +} +//#endregion +export { useDomRef }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-in-view.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-in-view.mjs new file mode 100644 index 0000000..20a1620 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-in-view.mjs @@ -0,0 +1,29 @@ +import { inView } from "framer-motion/dom"; +import { ref, unref, watchEffect } from "vue"; +import { unrefElement } from "@vueuse/core"; +//#region src/utils/use-in-view.ts +function useInView(domRef, options) { + const isInView = ref(false); + watchEffect((onCleanup) => { + const realOptions = unref(options) || {}; + const { once } = realOptions; + const el = unrefElement(domRef); + if (!el || once && isInView.value) return; + const onEnter = () => { + isInView.value = true; + return once ? void 0 : () => { + isInView.value = false; + }; + }; + const cleanup = inView(el, onEnter, { + ...realOptions, + root: unref(realOptions.root) + }); + onCleanup(() => { + cleanup(); + }); + }, { flush: "post" }); + return isInView; +} +//#endregion +export { useInView }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-page-in-view.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-page-in-view.mjs new file mode 100644 index 0000000..ad98388 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/utils/use-page-in-view.mjs @@ -0,0 +1,18 @@ +import { onMounted, onUnmounted, ref } from "vue"; +//#region src/utils/use-page-in-view.ts +function usePageInView() { + const isInView = ref(true); + const handleVisibilityChange = () => { + isInView.value = !document.hidden; + }; + onMounted(() => { + if (document.hidden) handleVisibilityChange(); + document.addEventListener("visibilitychange", handleVisibilityChange); + }); + onUnmounted(() => { + document.removeEventListener("visibilitychange", handleVisibilityChange); + }); + return isInView; +} +//#endregion +export { usePageInView }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/scroll/offsets.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/scroll/offsets.mjs new file mode 100644 index 0000000..08a780d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/scroll/offsets.mjs @@ -0,0 +1,75 @@ +//#region src/value/scroll/offsets.ts +/** +* Preset scroll offsets matching framer-motion's ScrollOffset presets. +* Use with useScroll's offset option to define scroll-linked animation ranges. +* +* @example +* useScroll({ target: el, offset: ScrollOffset.Enter }) +*/ +var ScrollOffset = { + /** Progress 0→1 as target enters the container */ + Enter: [[0, 1], [1, 1]], + /** Progress 0→1 as target exits the container */ + Exit: [[0, 0], [1, 0]], + /** Progress 0→1 across any overlap between target and container */ + Any: [[1, 0], [0, 1]], + /** Progress 0→1 while target is fully contained within the container */ + All: [[0, 0], [1, 1]] +}; +var presets = [ + [ScrollOffset.Enter, "entry"], + [ScrollOffset.Exit, "exit"], + [ScrollOffset.Any, "cover"], + [ScrollOffset.All, "contain"] +]; +var stringToProgress = { + start: 0, + end: 1 +}; +function parseStringOffset(s) { + const parts = s.trim().split(/\s+/); + if (parts.length !== 2) return void 0; + const a = stringToProgress[parts[0]]; + const b = stringToProgress[parts[1]]; + if (a === void 0 || b === void 0) return void 0; + return [a, b]; +} +function normaliseOffset(offset) { + if (offset.length !== 2) return void 0; + const result = []; + for (const item of offset) if (Array.isArray(item)) result.push(item); + else if (typeof item === "string") { + const parsed = parseStringOffset(item); + if (!parsed) return void 0; + result.push(parsed); + } else return; + return result; +} +function matchesPreset(offset, preset) { + const normalised = normaliseOffset(offset); + if (!normalised) return false; + for (let i = 0; i < 2; i++) { + const o = normalised[i]; + const p = preset[i]; + if (o[0] !== p[0] || o[1] !== p[1]) return false; + } + return true; +} +/** +* Maps a ScrollOffset array to a ViewTimeline named range. +* Returns undefined for unrecognised patterns — signals fallback to JS scroll tracking. +* +* Ported from framer-motion's internal render/dom/scroll/utils/offset-to-range.mjs +*/ +function offsetToViewTimelineRange(offset) { + if (!offset) return { + rangeStart: "contain 0%", + rangeEnd: "contain 100%" + }; + for (const [preset, name] of presets) if (matchesPreset(offset, preset)) return { + rangeStart: `${name} 0%`, + rangeEnd: `${name} 100%` + }; +} +//#endregion +export { ScrollOffset, offsetToViewTimelineRange }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-combine-values.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-combine-values.mjs new file mode 100644 index 0000000..38e0e0c --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-combine-values.mjs @@ -0,0 +1,40 @@ +import { cancelFrame, frame, motionValue } from "motion-dom"; +import { getCurrentInstance, onUnmounted } from "vue"; +//#region src/value/use-combine-values.ts +function useCombineMotionValues(combineValues) { + /** + * Initialise the returned motion value. This remains the same between renders. + */ + const value = motionValue(combineValues()); + /** + * Create a function that will update the template motion value with the latest values. + * This is pre-bound so whenever a motion value updates it can schedule its + * execution in Framesync. If it's already been scheduled it won't be fired twice + * in a single frame. + */ + const updateValue = () => value.set(combineValues()); + /** + * Subscribe to all motion values found within the template. Whenever any of them change, + * schedule an update. + */ + const scheduleUpdate = () => frame.preRender(updateValue, false, true); + let subscriptions; + const subscribe = (values) => { + subscriptions = values.map((v) => v.on("change", scheduleUpdate)); + }; + const unsubscribe = () => { + subscriptions.forEach((unsubscribe) => unsubscribe()); + cancelFrame(updateValue); + }; + if (getCurrentInstance()) onUnmounted(() => { + unsubscribe(); + }); + return { + subscribe, + unsubscribe, + value, + updateValue + }; +} +//#endregion +export { useCombineMotionValues }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-computed.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-computed.mjs new file mode 100644 index 0000000..9730bad --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-computed.mjs @@ -0,0 +1,24 @@ +import { useCombineMotionValues } from "./use-combine-values.mjs"; +import { collectMotionValues } from "motion-dom"; +import { watchEffect } from "vue"; +//#region src/value/use-computed.ts +function useComputed(computed) { + /** + * Open session of collectMotionValues. Any MotionValue that calls get() + * will be saved into this array. + */ + collectMotionValues.current = []; + const { value, subscribe, unsubscribe, updateValue } = useCombineMotionValues(computed); + subscribe(collectMotionValues.current); + collectMotionValues.current = void 0; + watchEffect(() => { + unsubscribe(); + collectMotionValues.current = []; + updateValue(); + subscribe(collectMotionValues.current); + collectMotionValues.current = void 0; + }); + return value; +} +//#endregion +export { useComputed }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-template.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-template.mjs new file mode 100644 index 0000000..0e3945e --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-template.mjs @@ -0,0 +1,42 @@ +import { useCombineMotionValues } from "./use-combine-values.mjs"; +import { isMotionValue } from "motion-dom"; +//#region src/value/use-motion-template.ts +/** +* 将多个motion值组合成一个新的motion值,使用模板字符串语法 +* +* ```vue +* <script setup> +* import { useSpring, motionValue, useMotionTemplate } from 'motion-v' +* +* const shadowX = useSpring(0) +* const shadowY = motionValue(0) +* const shadow = useMotionTemplate`drop-shadow(${shadowX}px ${shadowY}px 20px rgba(0,0,0,0.3))` +* <\/script> +* +* <template> +* <Motion :style="{ filter: shadow }" /> +* </template> +* ``` +* +* @public +*/ +function useMotionTemplate(fragments, ...values) { + /** + * 创建一个函数用于从最新的motion值构建字符串 + */ + const numFragments = fragments.length; + function buildValue() { + let output = ""; + for (let i = 0; i < numFragments; i++) { + output += fragments[i]; + const value = values[i]; + if (value) output += isMotionValue(value) ? value.get() : value; + } + return output; + } + const { value, subscribe } = useCombineMotionValues(buildValue); + subscribe(values.filter(isMotionValue)); + return value; +} +//#endregion +export { useMotionTemplate }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-value-event.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-value-event.mjs new file mode 100644 index 0000000..c4edb22 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-motion-value-event.mjs @@ -0,0 +1,17 @@ +import { onUnmounted } from "vue"; +//#region src/value/use-motion-value-event.ts +/** +* 监听 MotionValue 的事件 +* @param value MotionValue 实例 +* @param event 事件名称 +* @param callback 回调函数 +*/ +function useMotionValueEvent(value, event, callback) { + const unlisten = value.on(event, callback); + onUnmounted(() => { + unlisten(); + }); + return unlisten; +} +//#endregion +export { useMotionValueEvent }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-scroll.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-scroll.mjs new file mode 100644 index 0000000..fc14326 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-scroll.mjs @@ -0,0 +1,64 @@ +import { getElement } from "../components/hooks/use-motion-elm.mjs"; +import { isSSR } from "../utils/is.mjs"; +import { offsetToViewTimelineRange } from "./scroll/offsets.mjs"; +import { scroll } from "framer-motion/dom"; +import { motionValue, supportsScrollTimeline, supportsViewTimeline } from "motion-dom"; +import { toValue, watchEffect } from "vue"; +//#region src/value/use-scroll.ts +function createScrollMotionValues() { + return { + scrollX: motionValue(0), + scrollY: motionValue(0), + scrollXProgress: motionValue(0), + scrollYProgress: motionValue(0) + }; +} +function canAccelerateScroll(target, offset) { + if (isSSR) return false; + return target ? supportsViewTimeline() && !!offsetToViewTimelineRange(offset) : supportsScrollTimeline(); +} +function makeAccelerateConfig(axis, options) { + return { + factory: (animation) => { + const { container, target, ...rest } = toValue(options); + return scroll(animation, { + ...rest, + axis, + container: getElement(container), + target: getElement(target) + }); + }, + times: [0, 1], + keyframes: [0, 1], + ease: (v) => v, + duration: 1 + }; +} +function useScroll(options = {}) { + const values = createScrollMotionValues(); + const { target, offset } = toValue(options); + if (canAccelerateScroll(target, offset)) { + values.scrollXProgress.accelerate = makeAccelerateConfig("x", options); + values.scrollYProgress.accelerate = makeAccelerateConfig("y", options); + } + watchEffect((onCleanup) => { + if (isSSR) return; + const { container, target, ...rest } = toValue(options); + const cleanup = scroll((_progress, { x, y }) => { + values.scrollX.set(x.current); + values.scrollXProgress.set(x.progress); + values.scrollY.set(y.current); + values.scrollYProgress.set(y.progress); + }, { + ...rest, + container: getElement(container), + target: getElement(target) + }); + onCleanup(() => { + cleanup(); + }); + }, { flush: "post" }); + return values; +} +//#endregion +export { useScroll }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-spring.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-spring.mjs new file mode 100644 index 0000000..28a7262 --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-spring.mjs @@ -0,0 +1,29 @@ +import { attachFollow, isMotionValue, motionValue } from "motion-dom"; +import { toValue, watch } from "vue"; +//#region src/value/use-spring.ts +function useFollowValue(source, options = {}) { + const value = motionValue(isMotionValue(source) ? source.get() : source); + let cleanup; + watch(() => toValue(options), (_1, _2, onCleanup) => { + cleanup = attachFollow(value, source, toValue(options)); + onCleanup(() => { + cleanup?.(); + }); + }, { immediate: true }); + return value; +} +function useSpring(source, config = {}) { + const value = motionValue(isMotionValue(source) ? source.get() : source); + watch(() => toValue(config), (_1, _2, onCleanup) => { + const cleanup = attachFollow(value, source, { + type: "spring", + ...toValue(config) + }); + onCleanup(() => { + cleanup?.(); + }); + }, { immediate: true }); + return value; +} +//#endregion +export { useFollowValue, useSpring }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-time.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-time.mjs new file mode 100644 index 0000000..b85bbec --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-time.mjs @@ -0,0 +1,10 @@ +import { useAnimationFrame } from "../utils/use-animation-frame.mjs"; +import { motionValue } from "motion-dom"; +//#region src/value/use-time.ts +function useTime() { + const time = motionValue(0); + useAnimationFrame((t) => time.set(t)); + return time; +} +//#endregion +export { useTime }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-transform.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-transform.mjs new file mode 100644 index 0000000..d7678da --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-transform.mjs @@ -0,0 +1,67 @@ +import { useCombineMotionValues } from "./use-combine-values.mjs"; +import { useComputed } from "./use-computed.mjs"; +import { motionValue, transform } from "motion-dom"; +import { isRef, watch } from "vue"; +//#region src/value/use-transform.ts +function useTransform(input, inputRangeOrTransformer, outputRange, options) { + if (typeof input === "function") return useComputed(input); + if (outputRange && !Array.isArray(outputRange) && typeof outputRange === "object") { + const result = {}; + for (const key in outputRange) if (Object.prototype.hasOwnProperty.call(outputRange, key)) { + const keyOutputRange = outputRange[key]; + result[key] = useTransform(input, inputRangeOrTransformer, keyOutputRange, options); + } + return result; + } + let inputValues; + let transformer; + if (typeof inputRangeOrTransformer === "function") { + transformer = inputRangeOrTransformer; + inputValues = Array.isArray(input) ? input : [input]; + } else if (isRef(inputRangeOrTransformer)) { + const bridgeMV = motionValue(0); + let currentTransformer = transform(inputRangeOrTransformer.value, outputRange, options); + watch(inputRangeOrTransformer, (newRange) => { + currentTransformer = transform(newRange, outputRange, options); + bridgeMV.set(bridgeMV.get() + 1); + }, { flush: "sync" }); + transformer = (values) => { + return Array.isArray(values) ? currentTransformer(values[0]) : currentTransformer(values); + }; + inputValues = Array.isArray(input) ? [...input, bridgeMV] : [input, bridgeMV]; + } else { + transformer = transform(inputRangeOrTransformer, outputRange, options); + inputValues = Array.isArray(input) ? input : [input]; + } + const result = Array.isArray(input) ? useListTransform(inputValues, transformer) : useListTransform(inputValues, (values) => { + return transformer(values[0]); + }); + if (!Array.isArray(input)) { + const inputAccelerate = input.accelerate; + if (inputAccelerate && !inputAccelerate.isTransformed && typeof inputRangeOrTransformer !== "function" && Array.isArray(outputRange) && options?.clamp !== false) { + const resolvedInputRange = isRef(inputRangeOrTransformer) ? inputRangeOrTransformer.value : inputRangeOrTransformer; + result.accelerate = { + ...inputAccelerate, + times: resolvedInputRange, + keyframes: outputRange, + isTransformed: true, + ...options?.ease ? { ease: options.ease } : {} + }; + } + } + return result; +} +function useListTransform(values, transformer) { + const latest = []; + const combineValues = () => { + latest.length = 0; + const numValues = values.length; + for (let i = 0; i < numValues; i++) latest[i] = values[i].get(); + return transformer(latest); + }; + const { value, subscribe } = useCombineMotionValues(combineValues); + subscribe(values); + return value; +} +//#endregion +export { useTransform }; diff --git a/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-velocity.mjs b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-velocity.mjs new file mode 100644 index 0000000..5cf0ccd --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/dist/es/value/use-velocity.mjs @@ -0,0 +1,31 @@ +import { useMotionValueEvent } from "./use-motion-value-event.mjs"; +import { frame, motionValue } from "motion-dom"; +//#region src/value/use-velocity.ts +/** +* 创建一个 MotionValue,当提供的 MotionValue 速度变化时更新 +* +* ```javascript +* const x = useMotionValue(0) +* const xVelocity = useVelocity(x) +* const xAcceleration = useVelocity(xVelocity) +* ``` +* +* @public +*/ +function useVelocity(value) { + const velocity = motionValue(value.getVelocity()); + const updateVelocity = () => { + const latest = value.getVelocity(); + velocity.set(latest); + /** + * 如果还有速度,安排下一帧继续检查直到速度为零 + */ + if (latest) frame.update(updateVelocity); + }; + useMotionValueEvent(value, "change", () => { + frame.update(updateVelocity, false, true); + }); + return velocity; +} +//#endregion +export { useVelocity }; diff --git a/apps/web/.output/server/node_modules/motion-v/package.json b/apps/web/.output/server/node_modules/motion-v/package.json new file mode 100644 index 0000000..81de77d --- /dev/null +++ b/apps/web/.output/server/node_modules/motion-v/package.json @@ -0,0 +1,71 @@ +{ + "name": "motion-v", + "type": "module", + "version": "2.8.0", + "description": "", + "author": "", + "license": "MIT", + "homepage": "https://github.com/motiondivision/motion-vue", + "repository": { + "type": "git", + "url": "https://github.com/motiondivision/motion-vue.git" + }, + "keywords": [ + "vue", + "motion", + "motionone", + "framer-motion" + ], + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/es/index.d.ts", + "import": "./dist/es/index.mjs" + }, + "./nuxt": { + "types": "./dist/nuxt/index.d.mts", + "import": "./dist/nuxt/index.mjs" + }, + "./resolver": { + "types": "./dist/resolver/index.d.mts", + "import": "./dist/resolver/index.mjs" + } + }, + "main": "./dist/es/index.mjs", + "module": "./dist/es/index.mjs", + "types": "./dist/es/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "./dist/es/index.d.ts" + ], + "nuxt": [ + "./dist/nuxt/index.d.mts", + "./dist/nuxt/index.d.ts" + ] + } + }, + "files": [ + "./LICENSE", + "./README.md", + "./dist" + ], + "peerDependencies": { + "@vueuse/core": ">=10.0.0", + "vue": ">=3.0.0" + }, + "dependencies": { + "framer-motion": "~14.3.0", + "hey-listen": "^1.0.8", + "motion-dom": "~14.3.0", + "motion-utils": "~14.1.1" + }, + "scripts": { + "dev": "vite build --watch", + "prebuild": "cp ../../README.md ./README.md || true", + "build": "rimraf dist && vite build", + "test": "vitest --dom", + "coverage": "vitest run --coverage", + "pub:release": "pnpm publish --access public" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/nostics/dist/formatters/ansi.mjs b/apps/web/.output/server/node_modules/nostics/dist/formatters/ansi.mjs new file mode 100644 index 0000000..2fd7afc --- /dev/null +++ b/apps/web/.output/server/node_modules/nostics/dist/formatters/ansi.mjs @@ -0,0 +1,19 @@ +//#region src/formatters/ansi.ts +/* @__NO_SIDE_EFFECTS__ */ +function ansiFormatter(colors) { + return (d) => { + const header = `${colors.bold(colors.red(`[${d.name}]`))} ${d.message}`; + const details = []; + if (d.fix) details.push(`${colors.dim("fix:")} ${d.fix}`); + if (d.sources?.length) details.push(`${colors.dim("sources:")} ${d.sources.join(", ")}`); + if (d.docs) details.push(`${colors.dim("see:")} ${colors.cyan(d.docs)}`); + if (details.length === 0) return header; + return [header, ...details.map((detail, i) => { + return `${colors.dim(i < details.length - 1 ? "├▶" : "╰▶")} ${detail}`; + })].join("\n"); + }; +} +//#endregion +export { ansiFormatter }; + +//# sourceMappingURL=ansi.mjs.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/nostics/dist/index.mjs b/apps/web/.output/server/node_modules/nostics/dist/index.mjs new file mode 100644 index 0000000..3351dc6 --- /dev/null +++ b/apps/web/.output/server/node_modules/nostics/dist/index.mjs @@ -0,0 +1,194 @@ +//#region src/formatters/plain.ts +/** +* Renders a diagnostic into a multi-line, unicode-decorated string suitable +* for terminal output. The first line is `[<name>] <message>`; optional +* details (`fix`, `sources`, `docs`) follow with `├▶`/`╰▶` connectors. +*/ +function formatDiagnostic(diagnostic) { + const header = `[${diagnostic.name}] ${diagnostic.message}`; + const details = []; + if (diagnostic.fix) details.push(`fix: ${diagnostic.fix}`); + if (diagnostic.sources?.length) details.push(`sources: ${diagnostic.sources.join(", ")}`); + if (diagnostic.docs) details.push(`see: ${diagnostic.docs}`); + if (details.length === 0) return header; + return [header, ...details.map((detail, i) => { + return `${i < details.length - 1 ? "├▶" : "╰▶"} ${detail}`; + })].join("\n"); +} +//#endregion +//#region src/utils.ts +/** +* Transforms a value or a function that returns a value to a value. +* +* @param valFn either a value or a function that returns a value +* @param args arguments to pass to the function if `valFn` is a function +* +* @internal +*/ +function toValueWithArgs(valFn, ...args) { + return typeof valFn === "function" ? valFn(...args) : valFn; +} +//#endregion +//#region src/diagnostic.ts +/** +* Creates a console reporter that renders each diagnostic with `formatter` and +* prints the result via `console[method]`. Both default sensibly (`'warn'` and +* {@link formatDiagnostic}); `method` can also be overridden per call through +* the reporter options. +*/ +/* @__NO_SIDE_EFFECTS__ */ +function createConsoleReporter({ method: defaultMethod = "warn", formatter = formatDiagnostic } = {}) { + return (diagnostic, { method = defaultMethod } = {}) => { + console[method](formatter(diagnostic)); + }; +} +const captureStackTrace = Error.captureStackTrace; +var Diagnostic = class Diagnostic extends Error { + name; + /** + * The diagnostic code, e.g. `MATH_E001`. + * Also appears as the `name` property. + */ + code; + /** + * URL to extended documentation for this diagnostic code. + * Auto-generated from {@link DefineDiagnosticsOptions.docsBase}. + */ + docs; + /** + * Optional actionable instructions on how to resolve the problem. + */ + fix; + /** + * Locations in user code that contributed to this diagnostic, in + * `file:line:column` format. Relevant when the stack trace doesn't reflect + * the user's source (e.g. compilers, bundlers), otherwise redundant with the + * stack and should be omitted. + */ + sources; + /** + * Structured information associated with this diagnostic code. + */ + data; + /** + * Alias for {@link Error.message}: the reason this diagnostic was raised. + */ + get why() { + return this.message; + } + /** + * @param init structured initializer; `why` is required + * @param captureFrom V8 stack-cutoff frame. Defaults to {@link Diagnostic} + * so the top of the trace is the `new Diagnostic(...)` call site. + * `defineDiagnostics` passes its action method to strip its own frames too. + * Ignored on engines without `Error.captureStackTrace`. + */ + constructor(init, captureFrom = Diagnostic) { + super(init.why, { cause: init.cause }); + this.code = this.name = init.code; + this.fix = init.fix; + this.docs = init.docs; + this.sources = init.sources; + this.data = init.data; + captureStackTrace?.(this, captureFrom); + } + /** + * Converts the diagnostic into a serializable structured object. + */ + toJSON() { + return { + name: this.name, + why: this.why, + fix: this.fix, + docs: this.docs, + sources: this.sources, + cause: this.cause, + data: this.data, + stack: this.stack + }; + } +}; +/** +* Resolves the docs URL for a code from a `docsBase` (string template or +* resolver function). Shared by {@link defineDiagnostics} and +* {@link defineProdDiagnostics}. Per-code `docs` overrides are handled by the +* caller; this only covers the `docsBase`-derived case. +* +* @internal +*/ +function deriveDocs(docsBase, code) { + return typeof docsBase === "string" ? `${docsBase}/${code.toLowerCase()}` : docsBase?.(code); +} +/** +* Creates a typed diagnostics object from a set of code definitions. Each +* code becomes a callable {@link DiagnosticHandle}: invoke to report, or +* `throw` the result to raise. No `new` required, no proxy. +*/ +/* @__NO_SIDE_EFFECTS__ */ +function defineDiagnostics(options) { + const reporters = options.reporters ?? []; + const result = {}; + const { docsBase } = options; + for (const code of Object.keys(options.codes)) { + const def = options.codes[code]; + const docs = def.docs === false ? void 0 : def.docs || deriveDocs(docsBase, code); + const handle = (params = {}, reporterOptions = {}) => { + const diagnostic = new Diagnostic({ + code, + why: toValueWithArgs(def.why, params), + fix: toValueWithArgs(def.fix, params), + docs, + cause: params.cause, + sources: params.sources, + data: toValueWithArgs(def.data, params) + }, handle); + for (const reporter of reporters) reporter(diagnostic, reporterOptions); + return diagnostic; + }; + result[code] = handle; + } + return result; +} +//#endregion +//#region src/prod-diagnostics.ts +/** +* Production counterpart to {@link defineDiagnostics}. Returns a `Proxy` that +* builds a minimal {@link Diagnostic} for any accessed code: the code becomes +* the instance `name`, `docs` is derived from `docsBase`, and `why` points to +* the docs URL when one exists (empty otherwise, so the thrown header is just +* the code). It carries no catalog text or data, so it stays tiny in a bundle. +* +* The strip plugin (`@nostics/unplugin`) can rewrite a `defineDiagnostics()` +* call into a `process.env.NODE_ENV === 'production'` ternary that selects this +* factory in production, dropping every `why`/`fix` string from the bundle. +* +* @example +* ```ts +* const diagnostics = defineProdDiagnostics({ docsBase: 'https://docs.example.com' }) +* throw diagnostics.NUXT_B2011() // NUXT_B2011: https://docs.example.com/nuxt_b2011 +* ``` +*/ +/* @__NO_SIDE_EFFECTS__ */ +function defineProdDiagnostics(options = {}) { + const { docsBase, reporters = [] } = options; + return new Proxy({}, { get(_target, code) { + if (typeof code !== "string") return void 0; + const handle = (params = {}, reporterOptions = {}) => { + const docs = deriveDocs(docsBase, code); + const diagnostic = new Diagnostic({ + code, + why: docs ?? "", + docs, + cause: params.cause, + sources: params.sources + }, handle); + for (const reporter of reporters) reporter(diagnostic, reporterOptions); + return diagnostic; + }; + return handle; + } }); +} +//#endregion +export { Diagnostic, createConsoleReporter, defineDiagnostics, defineProdDiagnostics, formatDiagnostic }; + +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/nostics/package.json b/apps/web/.output/server/node_modules/nostics/package.json new file mode 100644 index 0000000..1ffee22 --- /dev/null +++ b/apps/web/.output/server/node_modules/nostics/package.json @@ -0,0 +1,126 @@ +{ + "name": "nostics", + "type": "module", + "version": "1.3.0", + "description": "Structured diagnostic code library", + "author": "Anthony Fu <anthonyfu117@hotmail.com>", + "contributors": [ + "Eduardo San Martin Morote <posva13@gmail.com>", + "Daniel Roe <daniel@roe.dev>" + ], + "license": "MIT", + "homepage": "https://github.com/vercel-labs/nostics#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/vercel-labs/nostics.git" + }, + "bugs": "https://github.com/vercel-labs/nostics/issues", + "keywords": [], + "sideEffects": false, + "exports": { + ".": "./dist/index.mjs", + "./formatters/ansi": "./dist/formatters/ansi.mjs", + "./formatters/json": "./dist/formatters/json.mjs", + "./reporters/dev": "./dist/reporters/dev.mjs", + "./reporters/fetch": "./dist/reporters/fetch.mjs", + "./reporters/node": "./dist/reporters/node.mjs", + "./package.json": "./package.json" + }, + "types": "./dist/index.d.mts", + "files": [ + "dist", + "skills" + ], + "devDependencies": { + "@posva/prompts": "^2.4.4", + "@size-limit/esbuild-why": "^14.0.0", + "@size-limit/preset-small-lib": "^14.0.0", + "@types/node": "^26.6.2", + "@types/semver": "^7.8.0", + "@vitest/coverage-v8": "5.0.1", + "conventional-changelog": "^8.1.3", + "conventional-changelog-angular": "^9.4.0", + "lint-staged": "^17.5.1", + "oxfmt": "^0.68.0", + "oxlint": "^1.80.0", + "oxlint-plugin-posva": "^0.0.2", + "publint": "^0.3.24", + "semver": "^7.8.5", + "simple-git-hooks": "^2.14.0", + "size-limit": "^14.0.0", + "tsdown": "^0.23.0", + "tsnapi": "^1.5.0", + "typescript": "^6.0.0", + "vite": "^8.3.0", + "vitest": "^5.0.1" + }, + "simple-git-hooks": { + "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && pnpm lint-staged" + }, + "lint-staged": { + "*": [ + "oxfmt --no-error-on-unmatched-pattern", + "oxlint --no-error-on-unmatched-pattern --fix" + ] + }, + "size-limit": [ + { + "name": "defineDiagnostics from source", + "path": "src/index.ts", + "import": "{ defineDiagnostics }" + }, + { + "name": "defineDiagnostics", + "path": "dist/index.mjs", + "import": "{ defineDiagnostics }" + }, + { + "name": "defineProdDiagnostics", + "path": "dist/index.mjs", + "import": "{ defineProdDiagnostics }" + }, + { + "name": "defineDiagnostics + createConsoleReporter", + "path": "dist/index.mjs", + "import": "{ defineDiagnostics, createConsoleReporter }" + }, + { + "name": "defineProdDiagnostics + createConsoleReporter", + "path": "dist/index.mjs", + "import": "{ defineProdDiagnostics, createConsoleReporter }" + }, + { + "name": "formatDiagnostic", + "path": "dist/index.mjs", + "import": "{ formatDiagnostic }" + }, + { + "name": "full root", + "path": "dist/index.mjs", + "import": "*" + }, + { + "name": "ansi formatter", + "path": "dist/formatters/ansi.mjs", + "import": "*" + } + ], + "scripts": { + "build": "tsdown && pnpm --filter \"./packages/*\" run build", + "dev": "vitest", + "docs": "pnpm -C docs run dev", + "docs:build": "pnpm -C docs run build", + "play": "pnpm -C playground run dev", + "lint": "oxlint ${CI:+--deny-warnings} . && oxfmt --check .", + "lint:fix": "oxfmt && oxlint --fix .", + "fmt": "oxfmt", + "release": "node scripts/release.ts", + "size": "size-limit", + "test": "pnpm run build && pnpm run \"/^test:/\"", + "test:unit": "vitest run --coverage", + "test:types": "pnpm run typecheck", + "test:lint": "pnpm run lint", + "test:demo": "pnpm -C demo-lib run build && pnpm -C demo-lib run test && pnpm -C playground run build", + "typecheck": "tsc && pnpm --filter \"./packages/*\" run typecheck" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/pinia/dist/pinia.js b/apps/web/.output/server/node_modules/pinia/dist/pinia.js new file mode 100644 index 0000000..f48442c --- /dev/null +++ b/apps/web/.output/server/node_modules/pinia/dist/pinia.js @@ -0,0 +1,1535 @@ +/*! + * pinia v4.1.0 + * (c) 2026 Eduardo San Martin Morote + * @license MIT + */ +import { computed, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isReadonly, isRef, isShallow, markRaw, nextTick, onScopeDispose, reactive, ref, toRaw, toRef, toRefs, triggerRef, unref, watch } from "vue"; +import { createConsoleReporter, defineDiagnostics } from "nostics"; +import { setupDevtoolsPlugin } from "@vue/devtools-api"; +//#region src/env.ts +const IS_CLIENT = typeof window !== "undefined"; +//#endregion +//#region src/diagnostics.ts +/** +* Catalog of user-facing Pinia diagnostics. Each handle builds a diagnostic +* and runs the reporters. All call sites are dev-only (`__DEV__` guarded or +* HMR), so production builds drop the calls and tree-shake this catalog. +*/ +const diagnostics = /*#__PURE__*/ defineDiagnostics({ + reporters: [/*#__PURE__*/ createConsoleReporter()], + codes: { + PINIA_R1001: { + why: "Directly pass all stores to \"mapStores()\" without putting them in an array. This will fail in production.", + fix: "Replace mapStores([useAuthStore, useCartStore]) with mapStores(useAuthStore, useCartStore).", + docs: "https://pinia.vuejs.org/cookbook/options-api.html#Giving-access-to-the-whole-store" + }, + PINIA_R1002: { + why: (p) => `A getter cannot have the same name as another state property. Found "${p.name}" in store "${p.id}".`, + fix: "Rename either the getter or the state property.", + docs: "https://pinia.vuejs.org/core-concepts/getters.html#Accessing-other-getters" + }, + PINIA_R1003: { + why: (p) => `The "state" must be a plain object. Found in store "${p.id}".`, + fix: "Return a plain object, e.g. avoid state: () => new MyClass().", + docs: "https://pinia.vuejs.org/core-concepts/state.html#State" + }, + PINIA_R1004: { + why: "Pinia instance not found in context. This falls back to the global activePinia, which exposes you to cross-request pollution on the server.", + fix: "\"useStore()\" is a composable and follows the same rules: call it at the top of setup() (or another composable), or pass the pinia instance explicitly when used outside of a component.", + docs: "https://pinia.vuejs.org/ssr/#Using-the-store-outside-of-setup-" + }, + PINIA_R1005: { + why: (p) => `The store id changed from "${p.from}" to "${p.to}", forcing a reload.`, + docs: "https://pinia.vuejs.org/cookbook/hot-module-replacement.html#HMR-Hot-Module-Replacement-" + }, + PINIA_R1006: { + why: (p) => `Property "${p.key}" of store "${p.id}" is not reactive (not a ref, reactive object, or shallowRef), so storeToRefs() ignores it.`, + fix: "If it should be reactive state, wrap it with ref(), reactive(), or shallowRef(). If it is an intentional non-reactive property, wrap it with markRaw() so storeToRefs() skips it explicitly.", + docs: "https://pinia.vuejs.org/core-concepts/plugins.html#Adding-new-external-properties" + }, + PINIA_R1007: { + why: (p) => `The same callback was passed to "$subscribe()" of store "${p.id}" more than once. Subscriptions are deduplicated, so the duplicate is ignored.`, + fix: "Subscribe each callback only once. If you need to resubscribe, call the returned function to remove the previous subscription first, or create a new function.", + docs: "https://pinia.vuejs.org/core-concepts/state.html#Subscribing-to-the-state" + }, + PINIA_R1008: { + why: (p) => `"$dispose()" was called on an old instance of store "${p.id}" that has already been replaced by a new one. This also removes the new store.`, + fix: "Avoid keeping references to disposed stores. Call the useStore() function again to get the current store.", + docs: "https://pinia.vuejs.org/api/pinia/interfaces/StoreWithState.html#-dispose-" + } + } +}); +//#endregion +//#region src/rootStore.ts +/** +* setActivePinia must be called to handle SSR at the top of functions like +* `fetch`, `setup`, `serverPrefetch` and others +*/ +let activePinia; +/** +* Sets or unsets the active pinia. Used in SSR and internally when calling +* actions and getters +* +* @param pinia - Pinia instance +*/ +const setActivePinia = (pinia) => activePinia = pinia; +/** +* Get the currently active pinia if there is any. +*/ +const getActivePinia = process.env.NODE_ENV !== "production" ? () => { + const pinia = hasInjectionContext() && inject(piniaSymbol); + if (!pinia && !IS_CLIENT) diagnostics.PINIA_R1004({}, { method: "error" }); + return pinia || activePinia; +} : () => hasInjectionContext() && inject(piniaSymbol) || activePinia; +/** +* Get the stores that are currently in use by a pinia instance. Prefer this +* over the internal `pinia._s`: it returns a new array, so it's safe to +* dispose or create stores while iterating over it. +* +* @param pinia - pinia instance +*/ +function getStores(pinia) { + return Array.from(pinia._s.values()); +} +/** +* Symbol used to provide/inject the pinia instance in the app. Used internally +* and exposed for testing purposes and edge cases like storybook. Could break +* in a minor, **USE AT YOUR OWN RISK**. +* +* For context, see: +* - https://github.com/vuejs/pinia/issues/870 +* - https://github.com/vuejs/pinia/pull/2973 +* +* @internal +*/ +const piniaSymbol = process.env.NODE_ENV !== "production" ? Symbol("pinia") : /* istanbul ignore next */ Symbol(); +//#endregion +//#region src/types.ts +function isPlainObject(o) { + return o && typeof o === "object" && Object.prototype.toString.call(o) === "[object Object]" && typeof o.toJSON !== "function"; +} +/** +* Possible types for SubscriptionCallback +*/ +let MutationType = /* @__PURE__ */ function(MutationType) { + /** + * Direct mutation of the state: + * + * - `store.name = 'new name'` + * - `store.$state.name = 'new name'` + * - `store.list.push('new item')` + */ + MutationType["direct"] = "direct"; + /** + * Mutated the state with `$patch` and an object + * + * - `store.$patch({ name: 'newName' })` + */ + MutationType["patchObject"] = "patch object"; + /** + * Mutated the state with `$patch` and a function + * + * - `store.$patch(state => state.name = 'newName')` + */ + MutationType["patchFunction"] = "patch function"; + return MutationType; +}({}); +//#endregion +//#region src/devtools/file-saver.ts +const _global = /*#__PURE__*/ (() => typeof window === "object" && window.window === window ? window : typeof self === "object" && self.self === self ? self : typeof global === "object" && global.global === global ? global : typeof globalThis === "object" ? globalThis : { HTMLElement: null })(); +function bom(blob, { autoBom = false } = {}) { + if (autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) return new Blob([String.fromCharCode(65279), blob], { type: blob.type }); + return blob; +} +function download(url, name, opts) { + const xhr = new XMLHttpRequest(); + xhr.open("GET", url); + xhr.responseType = "blob"; + xhr.onload = function() { + saveAs(xhr.response, name, opts); + }; + xhr.onerror = function() { + console.error("could not download file"); + }; + xhr.send(); +} +function corsEnabled(url) { + const xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + try { + xhr.send(); + } catch (e) {} + return xhr.status >= 200 && xhr.status <= 299; +} +function click(node) { + try { + node.dispatchEvent(new MouseEvent("click")); + } catch (e) { + const evt = new MouseEvent("click", { + bubbles: true, + cancelable: true, + view: window, + detail: 0, + screenX: 80, + screenY: 20, + clientX: 80, + clientY: 20, + ctrlKey: false, + altKey: false, + shiftKey: false, + metaKey: false, + button: 0, + relatedTarget: null + }); + node.dispatchEvent(evt); + } +} +const _navigator = typeof navigator === "object" ? navigator : { userAgent: "" }; +const isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) && /AppleWebKit/.test(_navigator.userAgent) && !/Safari/.test(_navigator.userAgent))(); +const saveAs = !IS_CLIENT ? () => {} : typeof HTMLAnchorElement !== "undefined" && "download" in HTMLAnchorElement.prototype && !isMacOSWebView ? downloadSaveAs : "msSaveOrOpenBlob" in _navigator ? msSaveAs : fileSaverSaveAs; +function downloadSaveAs(blob, name = "download", opts) { + const a = document.createElement("a"); + a.download = name; + a.rel = "noopener"; + if (typeof blob === "string") { + a.href = blob; + if (a.origin !== location.origin) { + if (corsEnabled(a.href)) download(blob, name, opts); + else { + a.target = "_blank"; + click(a); + } + } else click(a); + } else { + a.href = URL.createObjectURL(blob); + setTimeout(function() { + URL.revokeObjectURL(a.href); + }, 4e4); + setTimeout(function() { + click(a); + }, 0); + } +} +function msSaveAs(blob, name = "download", opts) { + if (typeof blob === "string") { + if (corsEnabled(blob)) download(blob, name, opts); + else { + const a = document.createElement("a"); + a.href = blob; + a.target = "_blank"; + setTimeout(function() { + click(a); + }); + } + } else navigator.msSaveOrOpenBlob(bom(blob, opts), name); +} +function fileSaverSaveAs(blob, name, opts, popup) { + popup = popup || open("", "_blank"); + if (popup) popup.document.title = popup.document.body.innerText = "downloading..."; + if (typeof blob === "string") return download(blob, name, opts); + const force = blob.type === "application/octet-stream"; + const isSafari = /constructor/i.test(String(_global.HTMLElement)) || "safari" in _global; + const isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent); + if ((isChromeIOS || force && isSafari || isMacOSWebView) && typeof FileReader !== "undefined") { + const reader = new FileReader(); + reader.onloadend = function() { + let url = reader.result; + if (typeof url !== "string") { + popup = null; + throw new Error("Wrong reader.result type"); + } + url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, "data:attachment/file;"); + if (popup) popup.location.href = url; + else location.assign(url); + popup = null; + }; + reader.readAsDataURL(blob); + } else { + const url = URL.createObjectURL(blob); + if (popup) popup.location.assign(url); + else location.href = url; + popup = null; + setTimeout(function() { + URL.revokeObjectURL(url); + }, 4e4); + } +} +//#endregion +//#region src/devtools/utils.ts +/** +* Shows a toast or console.log +* +* @param message - message to log +* @param type - different color of the tooltip +*/ +function toastMessage(message, type) { + const piniaMessage = "🍍 " + message; + if (type === "error") console.error(piniaMessage); + else if (type === "warn") console.warn(piniaMessage); + else console.debug(piniaMessage); +} +function isPinia(o) { + return "_a" in o && "install" in o; +} +/** +* Detects if a store getter is a writable computed (has a setter) so it can be +* edited from devtools. +*/ +function isWritableComputed(store, key) { + const rawProp = toRaw(store)[key]; + return isRef(rawProp) && !isReadonly(rawProp); +} +//#endregion +//#region src/devtools/actions.ts +/** +* This file contain devtools actions, they are not Pinia actions. +*/ +function checkClipboardAccess() { + if (!("clipboard" in navigator)) { + toastMessage(`Your browser doesn't support the Clipboard API`, "error"); + return true; + } +} +function checkNotFocusedError(error) { + if (error instanceof Error && error.message.toLowerCase().includes("document is not focused")) { + toastMessage("You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.", "warn"); + return true; + } + return false; +} +async function actionGlobalCopyState(pinia) { + if (checkClipboardAccess()) return; + try { + await navigator.clipboard.writeText(JSON.stringify(pinia.state.value)); + toastMessage("Global state copied to clipboard."); + } catch (error) { + if (checkNotFocusedError(error)) return; + toastMessage(`Failed to serialize the state. Check the console for more details.`, "error"); + console.error(error); + } +} +async function actionGlobalPasteState(pinia) { + if (checkClipboardAccess()) return; + try { + loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText())); + toastMessage("Global state pasted from clipboard."); + } catch (error) { + if (checkNotFocusedError(error)) return; + toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, "error"); + console.error(error); + } +} +async function actionGlobalSaveState(pinia) { + try { + saveAs(new Blob([JSON.stringify(pinia.state.value)], { type: "text/plain;charset=utf-8" }), "pinia-state.json"); + } catch (error) { + toastMessage(`Failed to export the state as JSON. Check the console for more details.`, "error"); + console.error(error); + } +} +let fileInput; +function getFileOpener() { + if (!fileInput) { + fileInput = document.createElement("input"); + fileInput.type = "file"; + fileInput.accept = ".json"; + } + function openFile() { + return new Promise((resolve, reject) => { + fileInput.onchange = async () => { + const files = fileInput.files; + if (!files) return resolve(null); + const file = files.item(0); + if (!file) return resolve(null); + return resolve({ + text: await file.text(), + file + }); + }; + fileInput.oncancel = () => resolve(null); + fileInput.onerror = reject; + fileInput.click(); + }); + } + return openFile; +} +async function actionGlobalOpenStateFile(pinia) { + try { + const result = await getFileOpener()(); + if (!result) return; + const { text, file } = result; + loadStoresState(pinia, JSON.parse(text)); + toastMessage(`Global state imported from "${file.name}".`); + } catch (error) { + toastMessage(`Failed to import the state from JSON. Check the console for more details.`, "error"); + console.error(error); + } +} +function loadStoresState(pinia, state) { + for (const key in state) { + const storeState = pinia.state.value[key]; + if (storeState) Object.assign(storeState, state[key]); + else pinia.state.value[key] = state[key]; + } +} +//#endregion +//#region src/devtools/formatting.ts +function formatDisplay(display) { + return { _custom: { display } }; +} +const PINIA_ROOT_LABEL = "🍍 Pinia (root)"; +const PINIA_ROOT_ID = "_root"; +function formatStoreForInspectorTree(store) { + return isPinia(store) ? { + id: PINIA_ROOT_ID, + label: PINIA_ROOT_LABEL + } : { + id: store.$id, + label: store.$id + }; +} +function formatStoreForInspectorState(store) { + if (isPinia(store)) { + const storeNames = Array.from(store._s.keys()); + const storeMap = store._s; + return { + state: storeNames.map((storeId) => ({ + editable: true, + key: storeId, + value: store.state.value[storeId] + })), + getters: storeNames.filter((id) => storeMap.get(id)._getters).map((id) => { + const store = storeMap.get(id); + return { + editable: false, + key: id, + value: store._getters.reduce((getters, key) => { + getters[key] = store[key]; + return getters; + }, {}) + }; + }) + }; + } + const state = { state: Object.keys(store.$state).map((key) => ({ + editable: true, + key, + value: store.$state[key] + })) }; + if (store._getters && store._getters.length) state.getters = store._getters.map((getterName) => ({ + editable: isWritableComputed(store, getterName), + key: getterName, + value: store[getterName] + })); + if (store._customProperties.size) state.customProperties = Array.from(store._customProperties).map((key) => ({ + editable: true, + key, + value: store[key] + })); + return state; +} +function formatEventData(events) { + if (!events) return {}; + if (Array.isArray(events)) return events.reduce((data, event) => { + data.keys.push(event.key); + data.operations.push(event.type); + data.oldValue[event.key] = event.oldValue; + data.newValue[event.key] = event.newValue; + return data; + }, { + oldValue: {}, + keys: [], + operations: [], + newValue: {} + }); + else return { + operation: formatDisplay(events.type), + key: formatDisplay(events.key), + oldValue: events.oldValue, + newValue: events.newValue + }; +} +function formatMutationType(type) { + switch (type) { + case "direct": return "mutation"; + case "patch function": return "$patch"; + case "patch object": return "$patch"; + default: return "unknown"; + } +} +//#endregion +//#region src/devtools/plugin.ts +let isTimelineActive = true; +const componentStateTypes = []; +const MUTATIONS_LAYER_ID = "pinia:mutations"; +const INSPECTOR_ID = "pinia"; +const { assign: assign$1 } = Object; +/** +* Gets the displayed name of a store in devtools +* +* @param id - id of the store +* @returns a formatted string +*/ +const getStoreType = (id) => "🍍 " + id; +/** +* Add the pinia plugin without any store. Allows displaying a Pinia plugin tab +* as soon as it is added to the application. +* +* @param app - Vue application +* @param pinia - pinia instance +*/ +function registerPiniaDevtools(app, pinia) { + setupDevtoolsPlugin({ + id: "dev.esm.pinia", + label: "Pinia 🍍", + logo: "https://pinia.vuejs.org/logo.svg", + packageName: "pinia", + homepage: "https://pinia.vuejs.org", + componentStateTypes, + app + }, (api) => { + if (typeof api.now !== "function") toastMessage("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."); + api.addTimelineLayer({ + id: MUTATIONS_LAYER_ID, + label: `Pinia 🍍`, + color: 15064968 + }); + api.addInspector({ + id: INSPECTOR_ID, + label: "Pinia 🍍", + icon: "storage", + treeFilterPlaceholder: "Search stores", + actions: [ + { + icon: "content_copy", + action: () => { + actionGlobalCopyState(pinia); + }, + tooltip: "Serialize and copy the state" + }, + { + icon: "content_paste", + action: async () => { + await actionGlobalPasteState(pinia); + api.sendInspectorTree(INSPECTOR_ID); + api.sendInspectorState(INSPECTOR_ID); + }, + tooltip: "Replace the state with the content of your clipboard" + }, + { + icon: "save", + action: () => { + actionGlobalSaveState(pinia); + }, + tooltip: "Save the state as a JSON file" + }, + { + icon: "folder_open", + action: async () => { + await actionGlobalOpenStateFile(pinia); + api.sendInspectorTree(INSPECTOR_ID); + api.sendInspectorState(INSPECTOR_ID); + }, + tooltip: "Import the state from a JSON file" + } + ], + nodeActions: [{ + icon: "restore", + tooltip: "Reset the state (with \"$reset\")", + action: (nodeId) => { + const store = pinia._s.get(nodeId); + if (!store) toastMessage(`Cannot reset "${nodeId}" store because it wasn't found.`, "warn"); + else if (typeof store.$reset !== "function") toastMessage(`Cannot reset "${nodeId}" store because it doesn't have a "$reset" method implemented.`, "warn"); + else { + store.$reset(); + toastMessage(`Store "${nodeId}" reset.`); + } + } + }] + }); + api.on.inspectComponent((payload) => { + const proxy = payload.componentInstance && payload.componentInstance.proxy; + if (proxy && proxy._pStores) { + const piniaStores = payload.componentInstance.proxy._pStores; + Object.values(piniaStores).forEach((store) => { + payload.instanceData.state.push({ + type: getStoreType(store.$id), + key: "state", + editable: true, + value: store._isOptionsAPI ? { _custom: { + value: toRaw(store.$state), + actions: [{ + icon: "restore", + tooltip: "Reset the state of this store", + action: () => store.$reset() + }] + } } : Object.keys(store.$state).reduce((state, key) => { + state[key] = store.$state[key]; + return state; + }, {}) + }); + if (store._getters && store._getters.length) payload.instanceData.state.push({ + type: getStoreType(store.$id), + key: "getters", + editable: false, + value: store._getters.reduce((getters, key) => { + try { + getters[key] = store[key]; + } catch (error) { + getters[key] = error; + } + return getters; + }, {}) + }); + }); + } + }); + api.on.getInspectorTree((payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + let stores = [pinia]; + stores = stores.concat(Array.from(pinia._s.values())); + payload.rootNodes = (payload.filter ? stores.filter((store) => "$id" in store ? store.$id.toLowerCase().includes(payload.filter.toLowerCase()) : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase())) : stores).map(formatStoreForInspectorTree); + } + }); + globalThis.$pinia = pinia; + api.on.getInspectorState((payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const inspectedStore = payload.nodeId === "_root" ? pinia : pinia._s.get(payload.nodeId); + if (!inspectedStore) return; + if (inspectedStore) { + if (payload.nodeId !== "_root") globalThis.$store = toRaw(inspectedStore); + payload.state = formatStoreForInspectorState(inspectedStore); + } + } + }); + api.on.editInspectorState((payload) => { + if (payload.app === app && payload.inspectorId === INSPECTOR_ID) { + const inspectedStore = payload.nodeId === "_root" ? pinia : pinia._s.get(payload.nodeId); + if (!inspectedStore) return toastMessage(`store "${payload.nodeId}" not found`, "error"); + const { path } = payload; + if (!isPinia(inspectedStore)) { + if (path.length !== 1 || !inspectedStore._customProperties.has(path[0]) && !isWritableComputed(inspectedStore, path[0]) || path[0] in inspectedStore.$state) path.unshift("$state"); + } else path.unshift("state"); + isTimelineActive = false; + payload.set(inspectedStore, path, payload.state.value); + isTimelineActive = true; + } + }); + api.on.editComponentState((payload) => { + if (payload.type.startsWith("🍍")) { + const storeId = payload.type.replace(/^🍍\s*/, ""); + const store = pinia._s.get(storeId); + if (!store) return toastMessage(`store "${storeId}" not found`, "error"); + const { path } = payload; + if (path[0] !== "state") return toastMessage(`Invalid path for store "${storeId}":\n${path}\nOnly state can be modified.`); + path[0] = "$state"; + isTimelineActive = false; + payload.set(store, path, payload.state.value); + isTimelineActive = true; + } + }); + }); +} +function addStoreToDevtools(app, store) { + if (!componentStateTypes.includes(getStoreType(store.$id))) componentStateTypes.push(getStoreType(store.$id)); + setupDevtoolsPlugin({ + id: "dev.esm.pinia", + label: "Pinia 🍍", + logo: "https://pinia.vuejs.org/logo.svg", + packageName: "pinia", + homepage: "https://pinia.vuejs.org", + componentStateTypes, + app, + settings: { logStoreChanges: { + label: "Notify about new/deleted stores", + type: "boolean", + defaultValue: true + } } + }, (api) => { + const now = typeof api.now === "function" ? api.now.bind(api) : Date.now; + store.$onAction(({ after, onError, name, args }) => { + const groupId = runningActionId++; + api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: { + time: now(), + title: "🛫 " + name, + subtitle: "start", + data: { + store: formatDisplay(store.$id), + action: formatDisplay(name), + args + }, + groupId + } + }); + after((result) => { + activeAction = void 0; + api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: { + time: now(), + title: "🛬 " + name, + subtitle: "end", + data: { + store: formatDisplay(store.$id), + action: formatDisplay(name), + args, + result + }, + groupId + } + }); + }); + onError((error) => { + activeAction = void 0; + api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: { + time: now(), + logType: "error", + title: "💥 " + name, + subtitle: "end", + data: { + store: formatDisplay(store.$id), + action: formatDisplay(name), + args, + error + }, + groupId + } + }); + }); + }, true); + store._customProperties.forEach((name) => { + watch(() => unref(store[name]), (newValue, oldValue) => { + api.notifyComponentUpdate(); + api.sendInspectorState(INSPECTOR_ID); + if (isTimelineActive) api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: { + time: now(), + title: "Change", + subtitle: name, + data: { + newValue, + oldValue + }, + groupId: activeAction + } + }); + }, { deep: true }); + }); + store.$subscribe(({ events, type }, state) => { + api.notifyComponentUpdate(); + api.sendInspectorState(INSPECTOR_ID); + if (!isTimelineActive) return; + const eventData = { + time: now(), + title: formatMutationType(type), + data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)), + groupId: activeAction + }; + if (type === "patch function") eventData.subtitle = "⤵️"; + else if (type === "patch object") eventData.subtitle = "🧩"; + else if (events && !Array.isArray(events)) eventData.subtitle = events.type; + if (events) eventData.data["rawEvent(s)"] = { _custom: { + display: "DebuggerEvent", + type: "object", + tooltip: "raw DebuggerEvent[]", + value: events + } }; + api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: eventData + }); + }, { + detached: true, + flush: "sync" + }); + const hotUpdate = store._hotUpdate; + store._hotUpdate = markRaw((newStore) => { + hotUpdate(newStore); + api.addTimelineEvent({ + layerId: MUTATIONS_LAYER_ID, + event: { + time: now(), + title: "🔥 " + store.$id, + subtitle: "HMR update", + data: { + store: formatDisplay(store.$id), + info: formatDisplay(`HMR update`) + } + } + }); + api.notifyComponentUpdate(); + api.sendInspectorTree(INSPECTOR_ID); + api.sendInspectorState(INSPECTOR_ID); + }); + const { $dispose } = store; + store.$dispose = () => { + $dispose(); + api.notifyComponentUpdate(); + api.sendInspectorTree(INSPECTOR_ID); + api.sendInspectorState(INSPECTOR_ID); + api.getSettings().logStoreChanges && toastMessage(`Disposed "${store.$id}" store 🗑`); + }; + api.notifyComponentUpdate(); + api.sendInspectorTree(INSPECTOR_ID); + api.sendInspectorState(INSPECTOR_ID); + api.getSettings().logStoreChanges && toastMessage(`"${store.$id}" store installed 🆕`); + }); +} +let runningActionId = 0; +let activeAction; +/** +* Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the +* context of all actions, allowing us to set `runningAction` on each access and effectively associating any state +* mutation to the action. +* +* @param store - store to patch +* @param actionNames - list of actionst to patch +*/ +function patchActionForGrouping(store, actionNames, wrapWithProxy) { + const actions = actionNames.reduce((storeActions, actionName) => { + storeActions[actionName] = toRaw(store)[actionName]; + return storeActions; + }, {}); + for (const actionName in actions) store[actionName] = function() { + const _actionId = runningActionId; + const trackedStore = wrapWithProxy ? new Proxy(store, { + get(...args) { + activeAction = _actionId; + return Reflect.get(...args); + }, + set(...args) { + activeAction = _actionId; + return Reflect.set(...args); + } + }) : store; + activeAction = _actionId; + const retValue = actions[actionName].apply(trackedStore, arguments); + activeAction = void 0; + return retValue; + }; +} +/** +* pinia.use(devtoolsPlugin) +*/ +function devtoolsPlugin({ app, store, options }) { + if (store.$id.startsWith("__hot:")) return; + store._isOptionsAPI = !!options.state; + if (!store._p._testing) { + patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI); + const originalHotUpdate = store._hotUpdate; + toRaw(store)._hotUpdate = function(newStore) { + originalHotUpdate.apply(this, arguments); + patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI); + }; + } + addStoreToDevtools(app, store); +} +//#endregion +//#region src/createPinia.ts +/** +* Creates a Pinia instance to be used by the application +*/ +function createPinia() { + const scope = effectScope(true); + const state = scope.run(() => ref({})); + let _p = []; + let toBeInstalled = []; + const pinia = markRaw({ + install(app) { + setActivePinia(pinia); + pinia._a = app; + app.provide(piniaSymbol, pinia); + app.config.globalProperties.$pinia = pinia; + /* istanbul ignore else */ + if ((process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ !== "undefined" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === "test") && IS_CLIENT) registerPiniaDevtools(app, pinia); + toBeInstalled.forEach((plugin) => _p.push(plugin)); + toBeInstalled = []; + }, + use(plugin) { + if (!this._a) toBeInstalled.push(plugin); + else _p.push(plugin); + return this; + }, + _p, + _a: null, + _e: scope, + _s: /* @__PURE__ */ new Map(), + state + }); + if ((process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ !== "undefined" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === "test") && IS_CLIENT && typeof Proxy !== "undefined") pinia.use(devtoolsPlugin); + return pinia; +} +/** +* Dispose a Pinia instance by stopping its effectScope and removing the state, plugins and stores. This is mostly +* useful in tests, with both a testing pinia or a regular pinia and in applications that use multiple pinia instances. +* Once disposed, the pinia instance cannot be used anymore. +* +* @param pinia - pinia instance +*/ +function disposePinia(pinia) { + pinia._e.stop(); + pinia._s.clear(); + pinia._p.splice(0); + pinia.state.value = {}; + pinia._a = null; +} +//#endregion +//#region src/hmr.ts +/** +* Checks if a function is a `StoreDefinition`. +* +* @param fn - object to test +* @returns true if `fn` is a StoreDefinition +*/ +const isUseStore = (fn) => { + return typeof fn === "function" && typeof fn.$id === "string"; +}; +/** +* Mutates in place `newState` with `oldState` to _hot update_ it. It will +* remove any key not existing in `newState` and recursively merge plain +* objects. +* +* @param newState - new state object to be patched +* @param oldState - old state that should be used to patch newState +* @returns - newState +*/ +function patchObject(newState, oldState) { + for (const key in oldState) { + const subPatch = oldState[key]; + if (!(key in newState)) continue; + const targetValue = newState[key]; + if (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) newState[key] = patchObject(targetValue, subPatch); + else newState[key] = subPatch; + } + return newState; +} +/** +* Creates an _accept_ function to pass to `import.meta.hot` in Vite applications. +* +* @example +* ```js +* const useUser = defineStore(...) +* if (import.meta.hot) { +* import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot)) +* } +* ``` +* +* @param initialUseStore - return of the defineStore to hot update +* @param hot - `import.meta.hot` +*/ +function acceptHMRUpdate(initialUseStore, hot) { + if (!(process.env.NODE_ENV !== "production")) return () => {}; + return (newModule) => { + const pinia = hot.data.pinia || initialUseStore._pinia; + if (!pinia) return; + hot.data.pinia = pinia; + for (const exportName in newModule) { + const useStore = newModule[exportName]; + if (isUseStore(useStore) && pinia._s.has(useStore.$id)) { + const id = useStore.$id; + if (id !== initialUseStore.$id) { + diagnostics.PINIA_R1005({ + from: initialUseStore.$id, + to: id + }); + return hot.invalidate(); + } + const existingStore = pinia._s.get(id); + if (!existingStore) { + console.log(`[Pinia]: skipping hmr because store doesn't exist yet`); + return; + } + useStore(pinia, existingStore); + } + } + }; +} +//#endregion +//#region src/subscriptions.ts +const noop = () => {}; +function addSubscription(subscriptions, callback, detached, onCleanup = noop) { + subscriptions.add(callback); + const removeSubscription = () => { + subscriptions.delete(callback) && onCleanup(); + }; + if (!detached && getCurrentScope()) onScopeDispose(removeSubscription); + return removeSubscription; +} +function triggerSubscriptions(subscriptions, ...args) { + subscriptions.forEach((callback) => { + callback(...args); + }); +} +//#endregion +//#region src/store.ts +const fallbackRunWithContext = (fn) => fn(); +/** +* Marks a function as an action for `$onAction` +* @internal +*/ +const ACTION_MARKER = Symbol(); +/** +* Action name symbol. Allows to add a name to an action after defining it +* @internal +*/ +const ACTION_NAME = Symbol(); +function mergeReactiveObjects(target, patchToApply) { + if (target instanceof Map && patchToApply instanceof Map) patchToApply.forEach((value, key) => target.set(key, value)); + else if (target instanceof Set && patchToApply instanceof Set) patchToApply.forEach(target.add, target); + for (const key in patchToApply) { + if (!Object.hasOwn(patchToApply, key)) continue; + const subPatch = patchToApply[key]; + const targetValue = target[key]; + if (isPlainObject(targetValue) && isPlainObject(subPatch) && Object.hasOwn(target, key) && !isRef(subPatch) && !isReactive(subPatch)) { + target[key] = mergeReactiveObjects(targetValue, subPatch); + const targetRef = toRaw(target)[key]; + if (isRef(targetRef) && isShallow(targetRef)) triggerRef(targetRef); + } else target[key] = subPatch; + } + return target; +} +const skipHydrateSymbol = process.env.NODE_ENV !== "production" ? Symbol("pinia:skipHydration") : /* istanbul ignore next */ Symbol(); +/** +* Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a +* stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store. +* +* @param obj - target object +* @returns obj +*/ +function skipHydrate(obj) { + return Object.defineProperty(obj, skipHydrateSymbol, {}); +} +/** +* Returns whether a value should be hydrated +* +* @param obj - target variable +* @returns true if `obj` should be hydrated +*/ +function shouldHydrate(obj) { + return !obj || typeof obj !== "object" || !Object.hasOwn(obj, skipHydrateSymbol); +} +const { assign } = Object; +function isComputed(o) { + return !!(isRef(o) && o.effect); +} +function createOptionsStore(id, options, pinia, hot) { + const { state, actions, getters } = options; + const initialState = pinia.state.value[id]; + let store; + function setup() { + if (!initialState && (!(process.env.NODE_ENV !== "production") || !hot)) + /* istanbul ignore if */ + pinia.state.value[id] = state ? state() : {}; + const localState = process.env.NODE_ENV !== "production" && hot ? toRefs(ref(state ? state() : {}).value) : toRefs(pinia.state.value[id]); + return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => { + if (process.env.NODE_ENV !== "production" && name in localState) diagnostics.PINIA_R1002({ + name, + id + }); + computedGetters[name] = markRaw(computed(() => { + setActivePinia(pinia); + const store = pinia._s.get(id); + return getters[name].call(store, store); + })); + return computedGetters; + }, {})); + } + store = createSetupStore(id, setup, options, pinia, hot, true); + return store; +} +function createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) { + let scope; + const optionsForPlugin = assign({ actions: {} }, options); + /* istanbul ignore if */ + if (process.env.NODE_ENV !== "production" && !pinia._e.active) throw new Error("Pinia destroyed"); + const $subscribeOptions = { deep: true }; + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") $subscribeOptions.onTrigger = (event) => { + /* istanbul ignore else */ + if (isListening) debuggerEvents = event; + else if (isListening === false && !store._hotUpdating) { + /* istanbul ignore else */ + if (Array.isArray(debuggerEvents)) debuggerEvents.push(event); + else console.error("🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug."); + } + }; + let isListening; + let isSyncListening; + let subscriptions = /* @__PURE__ */ new Set(); + let actionSubscriptions = /* @__PURE__ */ new Set(); + let debuggerEvents; + const initialState = pinia.state.value[$id]; + if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== "production") || !hot)) + /* istanbul ignore if */ + pinia.state.value[$id] = {}; + const hotState = /*#__PURE__*/ ref({}); + let activeListener; + function $patch(partialStateOrMutator) { + let subscriptionMutation; + isListening = isSyncListening = false; + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") debuggerEvents = []; + if (typeof partialStateOrMutator === "function") { + partialStateOrMutator(pinia.state.value[$id]); + subscriptionMutation = { + type: "patch function", + storeId: $id, + events: debuggerEvents + }; + } else { + mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator); + subscriptionMutation = { + type: "patch object", + payload: partialStateOrMutator, + storeId: $id, + events: debuggerEvents + }; + } + const myListenerId = activeListener = Symbol(); + nextTick().then(() => { + if (activeListener === myListenerId) isListening = true; + }); + isSyncListening = true; + triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]); + } + const $reset = isOptionsStore ? function $reset() { + const { state } = options; + const newState = state ? state() : {}; + this.$patch(($state) => { + assign($state, newState); + }); + } : process.env.NODE_ENV !== "production" ? () => { + throw new Error(`🍍: Store "${$id}" is built using the setup syntax and does not implement $reset().`); + } : noop; + function $dispose() { + scope.stop(); + subscriptions.clear(); + actionSubscriptions.clear(); + if (process.env.NODE_ENV !== "production") { + const registeredStore = pinia._s.get($id); + if (registeredStore && registeredStore !== store) diagnostics.PINIA_R1008({ id: $id }); + } + pinia._s.delete($id); + } + /** + * Helper that wraps function so it can be tracked with $onAction + * @param fn - action to wrap + * @param name - name of the action + */ + const action = (fn, name = "") => { + if (ACTION_MARKER in fn) { + fn[ACTION_NAME] = name; + return fn; + } + const wrappedAction = function() { + setActivePinia(pinia); + const args = Array.from(arguments); + const afterCallbackSet = /* @__PURE__ */ new Set(); + const onErrorCallbackSet = /* @__PURE__ */ new Set(); + function after(callback) { + afterCallbackSet.add(callback); + } + function onError(callback) { + onErrorCallbackSet.add(callback); + } + triggerSubscriptions(actionSubscriptions, { + args, + name: wrappedAction[ACTION_NAME], + store, + after, + onError + }); + let ret; + try { + ret = fn.apply(this && this.$id === $id ? this : store, args); + } catch (error) { + triggerSubscriptions(onErrorCallbackSet, error); + throw error; + } + if (ret instanceof Promise) return ret.then((value) => { + triggerSubscriptions(afterCallbackSet, value); + return value; + }).catch((error) => { + triggerSubscriptions(onErrorCallbackSet, error); + return Promise.reject(error); + }); + triggerSubscriptions(afterCallbackSet, ret); + return ret; + }; + wrappedAction[ACTION_MARKER] = true; + wrappedAction[ACTION_NAME] = name; + return wrappedAction; + }; + const _hmrPayload = /*#__PURE__*/ markRaw({ + actions: {}, + getters: {}, + state: [], + stateKeys: {}, + hotState + }); + const partialStore = { + _p: pinia, + $id, + $onAction: addSubscription.bind(null, actionSubscriptions), + $patch, + $reset, + $subscribe(callback, options = {}) { + if (subscriptions.has(callback)) { + if (process.env.NODE_ENV !== "production") diagnostics.PINIA_R1007({ id: $id }); + return noop; + } + const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher()); + const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => { + if (options.flush === "sync" ? isSyncListening : isListening) callback({ + storeId: $id, + type: "direct", + events: debuggerEvents + }, state); + }, assign({}, $subscribeOptions, options))); + return removeSubscription; + }, + $dispose + }; + const store = reactive(process.env.NODE_ENV !== "production" || (process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ !== "undefined" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === "test") && IS_CLIENT ? assign({ + _hmrPayload, + _customProperties: markRaw(/* @__PURE__ */ new Set()) + }, partialStore) : partialStore); + pinia._s.set($id, store); + const setupStore = (pinia._a && pinia._a.runWithContext || fallbackRunWithContext)(() => pinia._e.run(() => (scope = effectScope()).run(() => setup({ action })))); + for (const key in setupStore) { + const prop = setupStore[key]; + if (isRef(prop) && !isComputed(prop) || isReactive(prop)) { + if (process.env.NODE_ENV !== "production" && hot) hotState.value[key] = toRef(setupStore, key); + else if (!isOptionsStore) { + if (initialState && shouldHydrate(prop)) { + if (isRef(prop)) prop.value = initialState[key]; + else { + if (prop instanceof Set || prop instanceof Map) prop.clear(); + mergeReactiveObjects(prop, initialState[key]); + } + } + pinia.state.value[$id][key] = prop; + } + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") { + _hmrPayload.state.push(key); + const stateValue = isRef(prop) ? prop.value : prop; + if (isPlainObject(stateValue) && !(isRef(prop) && isShallow(prop))) _hmrPayload.stateKeys[key] = Object.keys(stateValue); + } + } else if (typeof prop === "function") { + setupStore[key] = process.env.NODE_ENV !== "production" && hot ? prop : action(prop, key); + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") _hmrPayload.actions[key] = prop; + optionsForPlugin.actions[key] = prop; + } else if (process.env.NODE_ENV !== "production") { + if (isComputed(prop)) { + _hmrPayload.getters[key] = isOptionsStore ? options.getters[key] : prop; + if (IS_CLIENT) (setupStore._getters || (setupStore._getters = markRaw([]))).push(key); + } + } + } + /* istanbul ignore if */ + assign(store, setupStore); + assign(toRaw(store), setupStore); + Object.defineProperty(store, "$state", { + get: () => process.env.NODE_ENV !== "production" && hot ? hotState.value : pinia.state.value[$id], + set: (state) => { + /* istanbul ignore if */ + if (process.env.NODE_ENV !== "production" && hot) throw new Error("cannot set hotState"); + $patch(($state) => { + assign($state, state); + }); + } + }); + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") store._hotUpdate = markRaw((newStore) => { + store._hotUpdating = true; + newStore._hmrPayload.state.forEach((stateKey) => { + if (stateKey in store.$state) { + const newStateTarget = newStore.$state[stateKey]; + const oldStateSource = store.$state[stateKey]; + const newStoreProperty = toRaw(newStore)[stateKey]; + if (!(isRef(newStoreProperty) && isShallow(newStoreProperty))) { + if (Object.hasOwn(newStore._hmrPayload.stateKeys, stateKey) && typeof newStateTarget === "object" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) { + if (isShallow(newStoreProperty)) { + for (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && key in newStateTarget) newStateTarget[key] = oldStateSource[key]; + triggerRef(newStoreProperty); + } else patchObject(newStateTarget, oldStateSource); + const oldStateKeys = store._hmrPayload.stateKeys[stateKey]; + if (oldStateKeys) { + for (const key in oldStateSource) if (Object.hasOwn(oldStateSource, key) && !oldStateKeys.includes(key)) newStateTarget[key] = oldStateSource[key]; + } + if (isShallow(newStoreProperty)) triggerRef(newStoreProperty); + } else newStore.$state[stateKey] = oldStateSource; + } + } + store[stateKey] = toRef(newStore.$state, stateKey); + }); + Object.keys(store.$state).forEach((stateKey) => { + if (!(stateKey in newStore.$state)) delete store[stateKey]; + }); + isListening = false; + isSyncListening = false; + pinia.state.value[$id] = toRef(newStore._hmrPayload, "hotState"); + isSyncListening = true; + nextTick().then(() => { + isListening = true; + }); + for (const actionName in newStore._hmrPayload.actions) { + const actionFn = newStore[actionName]; + store[actionName] = action(actionFn, actionName); + } + for (const getterName in newStore._hmrPayload.getters) { + const getter = newStore._hmrPayload.getters[getterName]; + const getterValue = isOptionsStore ? computed(() => { + setActivePinia(pinia); + return getter.call(store, store); + }) : getter; + store[getterName] = getterValue; + } + Object.keys(store._hmrPayload.getters).forEach((key) => { + if (!(key in newStore._hmrPayload.getters)) delete store[key]; + }); + Object.keys(store._hmrPayload.actions).forEach((key) => { + if (!(key in newStore._hmrPayload.actions)) delete store[key]; + }); + store._hmrPayload = newStore._hmrPayload; + store._getters = newStore._getters; + store._hotUpdating = false; + }); + if ((process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ !== "undefined" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === "test") && IS_CLIENT) { + const nonEnumerable = { + writable: true, + configurable: true, + enumerable: false + }; + [ + "_p", + "_hmrPayload", + "_getters", + "_customProperties" + ].forEach((p) => { + Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable)); + }); + } + pinia._p.forEach((extender) => { + const extensions = scope.run(() => extender({ + store, + app: pinia._a, + pinia, + options: optionsForPlugin + })); + /* istanbul ignore else */ + if ((process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ !== "undefined" && __VUE_PROD_DEVTOOLS__) && !(process.env.NODE_ENV === "test") && IS_CLIENT) Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key)); + if (process.env.NODE_ENV !== "production") for (const key in extensions) { + const value = extensions[key]; + if (typeof value === "object" && !isRef(value) && !isReactive(value) && !value?.__v_skip) diagnostics.PINIA_R1006({ + key, + id: $id + }); + } + assign(store, extensions); + }); + if (process.env.NODE_ENV !== "production" && store.$state && typeof store.$state === "object" && typeof store.$state.constructor === "function" && !store.$state.constructor.toString().includes("[native code]")) diagnostics.PINIA_R1003({ id: store.$id }); + if (initialState && isOptionsStore && options.hydrate) options.hydrate(store.$state, initialState); + isListening = true; + isSyncListening = true; + return store; +} +/*! #__NO_SIDE_EFFECTS__ */ +function defineStore(id, setup, setupOptions) { + let options; + const isSetupStore = typeof setup === "function"; + options = isSetupStore ? setupOptions : setup; + function useStore(pinia, hot) { + const hasContext = hasInjectionContext(); + pinia = (process.env.NODE_ENV === "test" && activePinia && activePinia._testing ? null : pinia) || (hasContext ? inject(piniaSymbol, null) : null); + if (pinia) setActivePinia(pinia); + if (process.env.NODE_ENV !== "production" && !activePinia) throw new Error("[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\nSee https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\nThis will fail in production."); + pinia = activePinia; + if (!pinia._s.has(id)) { + if (isSetupStore) createSetupStore(id, setup, options, pinia); + else createOptionsStore(id, options, pinia); + /* istanbul ignore else */ + if (process.env.NODE_ENV !== "production") useStore._pinia = pinia; + } + const store = pinia._s.get(id); + if (process.env.NODE_ENV !== "production" && hot) { + const hotId = "__hot:" + id; + const newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia, true) : createOptionsStore(hotId, assign({}, options), pinia, true); + hot._hotUpdate(newStore); + delete pinia.state.value[hotId]; + pinia._s.delete(hotId); + } + if (process.env.NODE_ENV !== "production" && IS_CLIENT) { + const currentInstance = getCurrentInstance(); + if (currentInstance && currentInstance.proxy && !hot) { + const vm = currentInstance.proxy; + const cache = "_pStores" in vm ? vm._pStores : vm._pStores = {}; + cache[id] = store; + } + } + return store; + } + useStore.$id = id; + return useStore; +} +//#endregion +//#region src/mapHelpers.ts +let mapStoreSuffix = "Store"; +/** +* Changes the suffix added by `mapStores()`. Can be set to an empty string. +* Defaults to `"Store"`. Make sure to extend the MapStoresCustomization +* interface if you are using TypeScript. +* +* @param suffix - new suffix +*/ +function setMapStoreSuffix(suffix) { + mapStoreSuffix = suffix; +} +/** +* Allows using stores without the composition API (`setup()`) by generating an +* object to be spread in the `computed` field of a component. It accepts a list +* of store definitions. +* +* @example +* ```js +* export default { +* computed: { +* // other computed properties +* ...mapStores(useUserStore, useCartStore) +* }, +* +* created() { +* this.userStore // store with id "user" +* this.cartStore // store with id "cart" +* } +* } +* ``` +* +* @param stores - list of stores to map to an object +*/ +function mapStores(...stores) { + if (process.env.NODE_ENV !== "production" && Array.isArray(stores[0])) { + diagnostics.PINIA_R1001(); + stores = stores[0]; + } + return stores.reduce((reduced, useStore) => { + reduced[useStore.$id + mapStoreSuffix] = function() { + return useStore(this.$pinia); + }; + return reduced; + }, {}); +} +/** +* Allows using state and getters from one store without using the composition +* API (`setup()`) by generating an object to be spread in the `computed` field +* of a component. +* +* @param useStore - store to map from +* @param keysOrMapper - array or object +*/ +function mapState(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => { + reduced[key] = function() { + return useStore(this.$pinia)[key]; + }; + return reduced; + }, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => { + reduced[key] = function() { + const store = useStore(this.$pinia); + const storeKey = keysOrMapper[key]; + return typeof storeKey === "function" ? storeKey.call(this, store) : store[storeKey]; + }; + return reduced; + }, {}); +} +/** +* Alias for `mapState()`. You should use `mapState()` instead. +* @deprecated use `mapState()` instead. +*/ +const mapGetters = mapState; +/** +* Allows directly using actions from your store without using the composition +* API (`setup()`) by generating an object to be spread in the `methods` field +* of a component. +* +* @param useStore - store to map from +* @param keysOrMapper - array or object +*/ +function mapActions(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => { + reduced[key] = function(...args) { + return useStore(this.$pinia)[key](...args); + }; + return reduced; + }, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => { + reduced[key] = function(...args) { + return useStore(this.$pinia)[keysOrMapper[key]](...args); + }; + return reduced; + }, {}); +} +/** +* Allows using state and getters from one store without using the composition +* API (`setup()`) by generating an object to be spread in the `computed` field +* of a component. +* +* @param useStore - store to map from +* @param keysOrMapper - array or object +*/ +function mapWritableState(useStore, keysOrMapper) { + return Array.isArray(keysOrMapper) ? keysOrMapper.reduce((reduced, key) => { + reduced[key] = { + get() { + return useStore(this.$pinia)[key]; + }, + set(value) { + return useStore(this.$pinia)[key] = value; + } + }; + return reduced; + }, {}) : Object.keys(keysOrMapper).reduce((reduced, key) => { + reduced[key] = { + get() { + return useStore(this.$pinia)[keysOrMapper[key]]; + }, + set(value) { + return useStore(this.$pinia)[keysOrMapper[key]] = value; + } + }; + return reduced; + }, {}); +} +//#endregion +//#region src/storeToRefs.ts +/** +* Creates an object of references with all the state, getters, and plugin-added +* state properties of the store. Similar to `toRefs()` but specifically +* designed for Pinia stores so methods and non reactive properties are +* completely ignored. +* +* @param store - store to extract the refs from +*/ +function storeToRefs(store) { + const rawStore = toRaw(store); + const refs = {}; + for (const key in rawStore) { + const value = rawStore[key]; + if (value?.effect) refs[key] = computed({ + get: () => store[key], + set(value) { + store[key] = value; + } + }); + else if (isRef(value) || isReactive(value)) refs[key] = toRef(store, key); + } + return refs; +} +//#endregion +export { MutationType, acceptHMRUpdate, createPinia, defineStore, disposePinia, getActivePinia, getStores, mapActions, mapGetters, mapState, mapStores, mapWritableState, piniaSymbol, setActivePinia, setMapStoreSuffix, shouldHydrate, skipHydrate, storeToRefs }; diff --git a/apps/web/.output/server/node_modules/pinia/package.json b/apps/web/.output/server/node_modules/pinia/package.json new file mode 100644 index 0000000..955a10f --- /dev/null +++ b/apps/web/.output/server/node_modules/pinia/package.json @@ -0,0 +1,82 @@ +{ + "name": "pinia", + "version": "4.1.0", + "description": "Intuitive, type safe and flexible Store for Vue", + "keywords": [ + "api", + "composition", + "pigna", + "pinia", + "piña", + "safe", + "setup", + "store", + "ts", + "type", + "typed", + "typescript", + "vue", + "vuex" + ], + "homepage": "https://pinia.vuejs.org", + "bugs": { + "url": "https://github.com/vuejs/pinia/issues" + }, + "license": "MIT", + "author": { + "name": "Eduardo San Martin Morote", + "email": "posva13@gmail.com" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/pinia.git" + }, + "funding": "https://github.com/sponsors/posva", + "files": [ + "LICENSE", + "README.md", + "dist/*.js", + "dist/*.mjs", + "dist/pinia.d.ts" + ], + "type": "module", + "sideEffects": false, + "types": "dist/pinia.d.ts", + "unpkg": "dist/pinia.iife.js", + "jsdelivr": "dist/pinia.iife.js", + "exports": { + ".": "./dist/pinia.js", + "./package.json": "./package.json" + }, + "dependencies": { + "nostics": "^1.2.0" + }, + "devDependencies": { + "@vue/devtools-api": "^8.2.1", + "@vue/test-utils": "^2.4.11", + "tsdown": "^0.22.14" + }, + "peerDependencies": { + "@vue/devtools-api": "^8.2.1", + "typescript": ">=5.6.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "@vue/devtools-api": { + "optional": false + }, + "typescript": { + "optional": true + } + }, + "inlinedDependencies": { + "nostics": "1.2.0" + }, + "scripts": { + "build": "tsdown", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s --commit-path . -l pinia -r 1", + "test:dist": "node ./__tests__/dist-import.mjs", + "test:dts": "tsc -p ./test-dts/tsconfig.json", + "test": "pnpm run build && pnpm test:dts && pnpm test:dist" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/array-set.js b/apps/web/.output/server/node_modules/source-map-js/lib/array-set.js new file mode 100644 index 0000000..fbd5c81 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/array-set.js @@ -0,0 +1,121 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/base64-vlq.js b/apps/web/.output/server/node_modules/source-map-js/lib/base64-vlq.js new file mode 100644 index 0000000..612b404 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/base64-vlq.js @@ -0,0 +1,140 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = require('./base64'); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/base64.js b/apps/web/.output/server/node_modules/source-map-js/lib/base64.js new file mode 100644 index 0000000..8aa86b3 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/base64.js @@ -0,0 +1,67 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/binary-search.js b/apps/web/.output/server/node_modules/source-map-js/lib/binary-search.js new file mode 100644 index 0000000..010ac94 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/binary-search.js @@ -0,0 +1,111 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/mapping-list.js b/apps/web/.output/server/node_modules/source-map-js/lib/mapping-list.js new file mode 100644 index 0000000..06d1274 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/mapping-list.js @@ -0,0 +1,79 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.MappingList = MappingList; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/quick-sort.js b/apps/web/.output/server/node_modules/source-map-js/lib/quick-sort.js new file mode 100644 index 0000000..c9ffe55 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/quick-sort.js @@ -0,0 +1,141 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +function SortTemplate(comparator) { + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot, false) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + + return doQuickSort; +} + +function cloneSort(comparator) { + let template = SortTemplate.toString(); + let templateFn = new Function(`return ${template}`)(); + return templateFn(comparator); +} + +let isEvalAllowed = (function () { + try { + new Function('return 0')(); + return true; + } catch { + return false; + } +})(); + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + +let sortCache = new WeakMap(); +exports.quickSort = function (ary, comparator, start = 0) { + let doQuickSort = isEvalAllowed ? sortCache.get(comparator) : SortTemplate(comparator); + if (doQuickSort === void 0) { + doQuickSort = cloneSort(comparator); + sortCache.set(comparator, doQuickSort); + } + doQuickSort(ary, comparator, start, ary.length - 1); +}; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/source-map-consumer.js b/apps/web/.output/server/node_modules/source-map-js/lib/source-map-consumer.js new file mode 100644 index 0000000..b7d524b --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/source-map-consumer.js @@ -0,0 +1,1236 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = require('./util'); +var binarySearch = require('./binary-search'); +var ArraySet = require('./array-set').ArraySet; +var base64VLQ = require('./base64-vlq'); +var quickSort = require('./quick-sort').quickSort; + +// Upper bound for a section's `offset.line` in an indexed source map. A flat +// map spends one ';' per generated line, so a tiny indexed map with a huge +// offset.line turns into a huge amount of work and memory once its mappings +// are copied into a SourceMapGenerator (CVE-2026-93749). Ten million lines is +// far beyond any real generated file. Columns are VLQ-encoded as deltas and +// don't amplify, so they only need to be valid integers. +var MAX_SECTION_OFFSET_LINE = 1e7; + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + var boundCallback = aCallback.bind(context); + var names = this._names; + var sources = this._sources; + var sourceMapURL = this._sourceMapURL; + + for (var i = 0, n = mappings.length; i < n; i++) { + var mapping = mappings[i]; + var source = mapping.source === null ? null : sources.at(mapping.source); + if(source !== null) { + source = util.computeSourceURL(sourceRoot, source, sourceMapURL); + } + boundCallback({ + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : names.at(mapping.name) + }); + } + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + +const compareGenerated = util.compareByGeneratedPositionsDeflatedNoLine; +function sortGenerated(array, start) { + let l = array.length; + let n = array.length - start; + if (n <= 1) { + return; + } else if (n == 2) { + let a = array[start]; + let b = array[start + 1]; + if (compareGenerated(a, b) > 0) { + array[start] = b; + array[start + 1] = a; + } + } else if (n < 20) { + for (let i = start; i < l; i++) { + for (let j = i; j > start; j--) { + let a = array[j - 1]; + let b = array[j]; + if (compareGenerated(a, b) <= 0) { + break; + } + array[j - 1] = b; + array[j] = a; + } + } + } else { + quickSort(array, compareGenerated, start); + } +} +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + let subarrayStart = 0; + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + + sortGenerated(generatedMappings, subarrayStart); + subarrayStart = generatedMappings.length; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + let currentSource = mapping.source; + while (originalMappings.length <= currentSource) { + originalMappings.push(null); + } + if (originalMappings[currentSource] === null) { + originalMappings[currentSource] = []; + } + originalMappings[currentSource].push(mapping); + } + } + } + + sortGenerated(generatedMappings, subarrayStart); + this.__generatedMappings = generatedMappings; + + for (var i = 0; i < originalMappings.length; i++) { + if (originalMappings[i] != null) { + quickSort(originalMappings[i], util.compareByOriginalPositionsNoSource); + } + } + this.__originalMappings = [].concat(...originalMappings); + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + var maxOffsetLine = 0; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (!isValidOffset(offsetLine) || !isValidOffset(offsetColumn)) { + throw new Error('Section offset line and column must be non-negative integers.'); + } + if (offsetLine > MAX_SECTION_OFFSET_LINE) { + throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE + '.'); + } + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + var consumer = new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL); + + // Offsets of a nested indexed map add up with this one, so apply the + // bound to the total. + var totalOffsetLine = offsetLine + (consumer._maxOffsetLine || 0); + if (totalOffsetLine > MAX_SECTION_OFFSET_LINE) { + throw new Error('Section offset line must not exceed ' + MAX_SECTION_OFFSET_LINE + + ', including offsets of nested sections.'); + } + if (totalOffsetLine > maxOffsetLine) { + maxOffsetLine = totalOffsetLine; + } + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: consumer + } + }); + + // The largest offset.line of any section, including nested sections. + this._maxOffsetLine = maxOffsetLine; +} + +/** + * Section offsets come from untrusted input and are used as line/column + * numbers, so only accept non-negative safe integers (rejects NaN, Infinity, + * strings, fractions, etc). + */ +function isValidOffset(aValue) { + return typeof aValue === 'number' && + aValue >= 0 && + aValue <= 9007199254740991 && // Number.MAX_SAFE_INTEGER + Math.floor(aValue) === aValue; +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + // Read the getter once per section: for a nested indexed map it is + // itself this getter, and re-reading it per item is exponential in the + // nesting depth (CVE-2026-93749). + var sectionSources = this._sections[i].consumer.sources; + for (var j = 0; j < sectionSources.length; j++) { + sources.push(sectionSources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content || content === '') { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + if(source !== null) { + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + } + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/source-map-generator.js b/apps/web/.output/server/node_modules/source-map-js/lib/source-map-generator.js new file mode 100644 index 0000000..0e247d2 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/source-map-generator.js @@ -0,0 +1,446 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = require('./base64-vlq'); +var util = require('./util'); +var ArraySet = require('./array-set').ArraySet; +var MappingList = require('./mapping-list').MappingList; + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, { + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + })); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + if (this._validateMapping(generated, original, source, name) === false) { + return; + } + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + var message = 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message); + } + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + var message = 'Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + }); + + if (this._ignoreInvalidMapping) { + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); + } + return false; + } else { + throw new Error(message) + } + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + // One ';' per skipped line. Build large gaps with a single flat + // string: appending ';' one by one creates a rope node per line, which + // can exhaust the heap for a big gap (CVE-2026-93749). + var lineDelta = mapping.generatedLine - previousGeneratedLine; + next += lineDelta === 1 ? ';' : ';'.repeat(lineDelta); + previousGeneratedLine = mapping.generatedLine; + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/source-node.js b/apps/web/.output/server/node_modules/source-map-js/lib/source-node.js new file mode 100644 index 0000000..c89fe74 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/source-node.js @@ -0,0 +1,420 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; +var util = require('./util'); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + if (remainingLinesIndex >= remainingLines.length) { + // The generated code is exhausted. Skip the rest instead of adding + // empty lines one by one: a mapping may point far past the end of + // the code (e.g. an indexed map section with a huge offset.line). + lastGeneratedLine = mapping.generatedLine; + break; + } + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +exports.SourceNode = SourceNode; diff --git a/apps/web/.output/server/node_modules/source-map-js/lib/util.js b/apps/web/.output/server/node_modules/source-map-js/lib/util.js new file mode 100644 index 0000000..430e2d0 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/lib/util.js @@ -0,0 +1,594 @@ +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +var MAX_CACHED_INPUTS = 32; + +/** + * Takes some function `f(input) -> result` and returns a memoized version of + * `f`. + * + * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The + * memoization is a dumb-simple, linear least-recently-used cache. + */ +function lruMemoize(f) { + var cache = []; + + return function(input) { + for (var i = 0; i < cache.length; i++) { + if (cache[i].input === input) { + var temp = cache[0]; + cache[0] = cache[i]; + cache[i] = temp; + return cache[0].result; + } + } + + var result = f(input); + + cache.unshift({ + input, + result, + }); + + if (cache.length > MAX_CACHED_INPUTS) { + cache.pop(); + } + + return result; + }; +} + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '<dir>/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +var normalize = lruMemoize(function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + // Split the path into parts between `/` characters. This is much faster than + // using `.split(/\/+/g)`. + var parts = []; + var start = 0; + var i = 0; + while (true) { + start = i; + i = path.indexOf("/", start); + if (i === -1) { + parts.push(path.slice(start)); + break; + } else { + parts.push(path.slice(start, i)); + while (i < path.length && path[i] === "/") { + i++; + } + } + } + + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +}); +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +function compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) { + var cmp + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; diff --git a/apps/web/.output/server/node_modules/source-map-js/package.json b/apps/web/.output/server/node_modules/source-map-js/package.json new file mode 100644 index 0000000..4e4dcb4 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/package.json @@ -0,0 +1,71 @@ +{ + "name": "source-map-js", + "description": "Generates and consumes source maps", + "version": "1.2.2", + "homepage": "https://github.com/7rulnik/source-map-js", + "author": "Valentin 7rulnik Semirulnik <v7rulnik@gmail.com>", + "contributors": [ + "Nick Fitzgerald <nfitzgerald@mozilla.com>", + "Tobias Koppers <tobias.koppers@googlemail.com>", + "Duncan Beevers <duncan@dweebd.com>", + "Stephen Crane <scrane@mozilla.com>", + "Ryan Seddon <seddon.ryan@gmail.com>", + "Miles Elam <miles.elam@deem.com>", + "Mihai Bazon <mihai.bazon@gmail.com>", + "Michael Ficarra <github.public.email@michael.ficarra.me>", + "Todd Wolfson <todd@twolfson.com>", + "Alexander Solovyov <alexander@solovyov.net>", + "Felix Gnass <fgnass@gmail.com>", + "Conrad Irwin <conrad.irwin@gmail.com>", + "usrbincc <usrbincc@yahoo.com>", + "David Glasser <glasser@davidglasser.net>", + "Chase Douglas <chase@newrelic.com>", + "Evan Wallace <evan.exe@gmail.com>", + "Heather Arthur <fayearthur@gmail.com>", + "Hugh Kennedy <hughskennedy@gmail.com>", + "David Glasser <glasser@davidglasser.net>", + "Simon Lydell <simon.lydell@gmail.com>", + "Jmeas Smith <jellyes2@gmail.com>", + "Michael Z Goddard <mzgoddard@gmail.com>", + "azu <azu@users.noreply.github.com>", + "John Gozde <john@gozde.ca>", + "Adam Kirkton <akirkton@truefitinnovation.com>", + "Chris Montgomery <christopher.montgomery@dowjones.com>", + "J. Ryan Stinnett <jryans@gmail.com>", + "Jack Herrington <jherrington@walmartlabs.com>", + "Chris Truter <jeffpalentine@gmail.com>", + "Daniel Espeset <daniel@danielespeset.com>", + "Jamie Wong <jamie.lf.wong@gmail.com>", + "Eddy Bruël <ejpbruel@mozilla.com>", + "Hawken Rives <hawkrives@gmail.com>", + "Gilad Peleg <giladp007@gmail.com>", + "djchie <djchie.dev@gmail.com>", + "Gary Ye <garysye@gmail.com>", + "Nicolas Lalevée <nicolas.lalevee@hibnet.org>" + ], + "repository": "7rulnik/source-map-js", + "main": "./source-map.js", + "files": [ + "source-map.js", + "source-map.d.ts", + "lib/" + ], + "engines": { + "node": ">=0.10.0" + }, + "license": "BSD-3-Clause", + "scripts": { + "test": "npm run build && node test/run-tests.js", + "build": "webpack --color", + "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md" + }, + "devDependencies": { + "clean-publish": "^3.1.0", + "doctoc": "^0.15.0", + "webpack": "^1.12.0" + }, + "clean-publish": { + "cleanDocs": true + }, + "typings": "source-map.d.ts" +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/source-map-js/source-map.js b/apps/web/.output/server/node_modules/source-map-js/source-map.js new file mode 100644 index 0000000..bc88fe8 --- /dev/null +++ b/apps/web/.output/server/node_modules/source-map-js/source-map.js @@ -0,0 +1,8 @@ +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; diff --git a/apps/web/.output/server/node_modules/ufo/dist/index.mjs b/apps/web/.output/server/node_modules/ufo/dist/index.mjs new file mode 100644 index 0000000..d629858 --- /dev/null +++ b/apps/web/.output/server/node_modules/ufo/dist/index.mjs @@ -0,0 +1,645 @@ +const n = /[^\0-\x7E]/; +const t = /[\x2E\u3002\uFF0E\uFF61]/g; +const o = { + overflow: "Overflow Error", + "not-basic": "Illegal Input", + "invalid-input": "Invalid Input" +}; +const e = Math.floor; +const r = String.fromCharCode; +function s(n2) { + throw new RangeError(o[n2]); +} +const c = function(n2, t2) { + return n2 + 22 + 75 * (n2 < 26) - ((t2 != 0) << 5); +}; +const u = function(n2, t2, o2) { + let r2 = 0; + for (n2 = o2 ? e(n2 / 700) : n2 >> 1, n2 += e(n2 / t2); n2 > 455; r2 += 36) { + n2 = e(n2 / 35); + } + return e(r2 + 36 * n2 / (n2 + 38)); +}; +function toASCII(o2) { + return (function(n2, o3) { + const e2 = n2.split("@"); + let r2 = ""; + e2.length > 1 && (r2 = e2[0] + "@", n2 = e2[1]); + const s2 = (function(n3, t2) { + const o4 = []; + let e3 = n3.length; + for (; e3--; ) { + o4[e3] = t2(n3[e3]); + } + return o4; + })((n2 = n2.replace(t, ".")).split("."), o3).join("."); + return r2 + s2; + })(o2, function(t2) { + return n.test(t2) ? "xn--" + (function(n2) { + const t3 = []; + const o3 = (n2 = (function(n3) { + const t4 = []; + let o4 = 0; + const e2 = n3.length; + for (; o4 < e2; ) { + const r2 = n3.charCodeAt(o4++); + if (r2 >= 55296 && r2 <= 56319 && o4 < e2) { + const e3 = n3.charCodeAt(o4++); + (64512 & e3) == 56320 ? t4.push(((1023 & r2) << 10) + (1023 & e3) + 65536) : (t4.push(r2), o4--); + } else { + t4.push(r2); + } + } + return t4; + })(n2)).length; + let f = 128; + let i = 0; + let l = 72; + for (const o4 of n2) { + o4 < 128 && t3.push(r(o4)); + } + const h = t3.length; + let p = h; + for (h && t3.push("-"); p < o3; ) { + let o4 = 2147483647; + for (const t4 of n2) { + t4 >= f && t4 < o4 && (o4 = t4); + } + const a = p + 1; + o4 - f > e((2147483647 - i) / a) && s("overflow"), i += (o4 - f) * a, f = o4; + for (const o5 of n2) { + if (o5 < f && ++i > 2147483647 && s("overflow"), o5 == f) { + let n3 = i; + for (let o6 = 36; ; o6 += 36) { + const s2 = o6 <= l ? 1 : o6 >= l + 26 ? 26 : o6 - l; + if (n3 < s2) { + break; + } + const u2 = n3 - s2; + const f2 = 36 - s2; + t3.push(r(c(s2 + u2 % f2, 0))), n3 = e(u2 / f2); + } + t3.push(r(c(n3, 0))), l = u(i, a, p == h), i = 0, ++p; + } + } + ++i, ++f; + } + return t3.join(""); + })(t2) : t2; + }); +} + +const HASH_RE = /#/g; +const AMPERSAND_RE = /&/g; +const SLASH_RE = /\//g; +const EQUAL_RE = /=/g; +const IM_RE = /\?/g; +const PLUS_RE = /\+/g; +const ENC_CARET_RE = /%5e/gi; +const ENC_BACKTICK_RE = /%60/gi; +const ENC_CURLY_OPEN_RE = /%7b/gi; +const ENC_PIPE_RE = /%7c/gi; +const ENC_CURLY_CLOSE_RE = /%7d/gi; +const ENC_SPACE_RE = /%20/gi; +const ENC_SLASH_RE = /%2f/gi; +const ENC_ENC_SLASH_RE = /%252f/gi; +function encode(text) { + return encodeURI("" + text).replace(ENC_PIPE_RE, "|"); +} +function encodeHash(text) { + return encode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +function encodeQueryValue(input) { + return encode(typeof input === "string" ? input : JSON.stringify(input)).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CARET_RE, "^").replace(SLASH_RE, "%2F"); +} +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +function encodePath(text) { + return encode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F").replace(ENC_ENC_SLASH_RE, "%2F").replace(AMPERSAND_RE, "%26").replace(PLUS_RE, "%2B"); +} +function encodeParam(text) { + return encodePath(text).replace(SLASH_RE, "%2F"); +} +function decode(text = "") { + try { + return decodeURIComponent("" + text); + } catch { + return "" + text; + } +} +function decodePath(text) { + return decode(text.replace(ENC_SLASH_RE, "%252F")); +} +function decodeQueryKey(text) { + return decode(text.replace(PLUS_RE, " ")); +} +function decodeQueryValue(text) { + return decode(text.replace(PLUS_RE, " ")); +} +function encodeHost(name = "") { + return toASCII(name); +} + +function parseQuery(parametersString = "") { + const object = /* @__PURE__ */ Object.create(null); + if (parametersString[0] === "?") { + parametersString = parametersString.slice(1); + } + for (const parameter of parametersString.split("&")) { + const s = parameter.match(/([^=]+)=?(.*)/) || []; + if (s.length < 2) { + continue; + } + const key = decodeQueryKey(s[1]); + if (key === "__proto__" || key === "constructor") { + continue; + } + const value = decodeQueryValue(s[2] || ""); + if (object[key] === void 0) { + object[key] = value; + } else if (Array.isArray(object[key])) { + object[key].push(value); + } else { + object[key] = [object[key], value]; + } + } + return object; +} +function encodeQueryItem(key, value) { + if (typeof value === "number" || typeof value === "boolean") { + value = String(value); + } + if (!value) { + return encodeQueryKey(key); + } + if (Array.isArray(value)) { + return value.map( + (_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}` + ).join("&"); + } + return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`; +} +function stringifyQuery(query) { + return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join("&"); +} + +const PROTOCOL_STRICT_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{1,2})/; +const PROTOCOL_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{2})?/; +const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/; +const PROTOCOL_SCRIPT_RE = /^[\s\0]*(blob|data|javascript|vbscript):$/i; +const TRAILING_SLASH_RE = /\/$|\/\?|\/#/; +const JOIN_LEADING_SLASH_RE = /^\.?\//; +function isRelative(inputString) { + return ["./", "../"].some((string_) => inputString.startsWith(string_)); +} +function hasProtocol(inputString, opts = {}) { + if (typeof opts === "boolean") { + opts = { acceptRelative: opts }; + } + if (opts.strict) { + return PROTOCOL_STRICT_REGEX.test(inputString); + } + return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false); +} +function isScriptProtocol(protocol) { + return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol); +} +function hasTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/"); + } + return TRAILING_SLASH_RE.test(input); +} +function withoutTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/"; + } + if (!hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex !== -1) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + } + const [s0, ...s] = path.split("?"); + const cleanPath = s0.endsWith("/") ? s0.slice(0, -1) : s0; + return (cleanPath || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function withTrailingSlash(input = "", respectQueryAndFragment) { + if (!respectQueryAndFragment) { + return input.endsWith("/") ? input : input + "/"; + } + if (hasTrailingSlash(input, true)) { + return input || "/"; + } + let path = input; + let fragment = ""; + const fragmentIndex = input.indexOf("#"); + if (fragmentIndex !== -1) { + path = input.slice(0, fragmentIndex); + fragment = input.slice(fragmentIndex); + if (!path) { + return fragment; + } + } + const [s0, ...s] = path.split("?"); + return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment; +} +function hasLeadingSlash(input = "") { + return input.startsWith("/"); +} +function withoutLeadingSlash(input = "") { + return (hasLeadingSlash(input) ? input.slice(1) : input) || "/"; +} +function withLeadingSlash(input = "") { + return hasLeadingSlash(input) ? input : "/" + input; +} +function cleanDoubleSlashes(input = "") { + return input.split("://").map((string_) => string_.replace(/\/{2,}/g, "/")).join("://"); +} +function withBase(input, base) { + if (isEmptyURL(base) || hasProtocol(input)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (input.startsWith(_base)) { + const nextChar = input[_base.length]; + if (!nextChar || nextChar === "/" || nextChar === "?") { + return input; + } + } + return joinURL(_base, input); +} +function withoutBase(input, base) { + if (isEmptyURL(base)) { + return input; + } + const _base = withoutTrailingSlash(base); + if (!input.startsWith(_base)) { + return input; + } + const nextChar = input[_base.length]; + if (nextChar && nextChar !== "/" && nextChar !== "?") { + return input; + } + const trimmed = input.slice(_base.length).replace(/^\/+/, ""); + return "/" + trimmed; +} +function withQuery(input, query) { + const parsed = parseURL(input); + const mergedQuery = { ...parseQuery(parsed.search), ...query }; + parsed.search = stringifyQuery(mergedQuery); + return stringifyParsedURL(parsed); +} +function filterQuery(input, predicate) { + if (!input.includes("?")) { + return input; + } + const parsed = parseURL(input); + const query = parseQuery(parsed.search); + const filteredQuery = Object.fromEntries( + Object.entries(query).filter(([key, value]) => predicate(key, value)) + ); + parsed.search = stringifyQuery(filteredQuery); + return stringifyParsedURL(parsed); +} +function getQuery(input) { + return parseQuery(parseURL(input).search); +} +function isEmptyURL(url) { + return !url || url === "/"; +} +function isNonEmptyURL(url) { + return url && url !== "/"; +} +function joinURL(base, ...input) { + let url = base || ""; + for (const segment of input.filter((url2) => isNonEmptyURL(url2))) { + if (url) { + const _segment = segment.replace(JOIN_LEADING_SLASH_RE, ""); + url = withTrailingSlash(url) + _segment; + } else { + url = segment; + } + } + return url; +} +function joinRelativeURL(..._input) { + const JOIN_SEGMENT_SPLIT_RE = /\/(?!\/)/; + const input = _input.filter(Boolean); + const segments = []; + let segmentsDepth = 0; + for (const i of input) { + if (!i || i === "/") { + continue; + } + for (const [sindex, s] of i.split(JOIN_SEGMENT_SPLIT_RE).entries()) { + if (!s || s === ".") { + continue; + } + if (s === "..") { + if (segments.length === 1 && hasProtocol(segments[0])) { + continue; + } + segments.pop(); + segmentsDepth--; + continue; + } + if (sindex === 1 && segments[segments.length - 1]?.endsWith(":/")) { + segments[segments.length - 1] += "/" + s; + continue; + } + segments.push(s); + segmentsDepth++; + } + } + let url = segments.join("/"); + if (segmentsDepth >= 0) { + if (input[0]?.startsWith("/") && !url.startsWith("/")) { + url = "/" + url; + } else if (input[0]?.startsWith("./") && !url.startsWith("./")) { + url = "./" + url; + } + } else { + url = "../".repeat(-1 * segmentsDepth) + url; + } + if (input[input.length - 1]?.endsWith("/") && !url.endsWith("/")) { + url += "/"; + } + return url; +} +function withHttp(input) { + return withProtocol(input, "http://"); +} +function withHttps(input) { + return withProtocol(input, "https://"); +} +function withoutProtocol(input) { + return withProtocol(input, ""); +} +function withProtocol(input, protocol) { + let match = input.match(PROTOCOL_REGEX); + if (!match) { + match = input.match(/^\/{2,}/); + } + if (!match) { + return protocol + input; + } + return protocol + input.slice(match[0].length); +} +function normalizeURL(input) { + const parsed = parseURL(input); + parsed.pathname = encodePath(decodePath(parsed.pathname)); + parsed.hash = encodeHash(decode(parsed.hash)); + parsed.host = encodeHost(decode(parsed.host)); + parsed.search = stringifyQuery(parseQuery(parsed.search)); + return stringifyParsedURL(parsed); +} +function resolveURL(base = "", ...inputs) { + if (typeof base !== "string") { + throw new TypeError( + `URL input should be string received ${typeof base} (${base})` + ); + } + const filteredInputs = inputs.filter((input) => isNonEmptyURL(input)); + if (filteredInputs.length === 0) { + return base; + } + const url = parseURL(base); + for (const inputSegment of filteredInputs) { + const urlSegment = parseURL(inputSegment); + if (urlSegment.pathname) { + url.pathname = withTrailingSlash(url.pathname) + withoutLeadingSlash(urlSegment.pathname); + } + if (urlSegment.hash && urlSegment.hash !== "#") { + url.hash = urlSegment.hash; + } + if (urlSegment.search && urlSegment.search !== "?") { + if (url.search && url.search !== "?") { + const queryString = stringifyQuery({ + ...parseQuery(url.search), + ...parseQuery(urlSegment.search) + }); + url.search = queryString.length > 0 ? "?" + queryString : ""; + } else { + url.search = urlSegment.search; + } + } + } + return stringifyParsedURL(url); +} +function isSamePath(p1, p2) { + return decode(withoutTrailingSlash(p1)) === decode(withoutTrailingSlash(p2)); +} +function isEqual(a, b, options = {}) { + if (!options.trailingSlash) { + a = withTrailingSlash(a); + b = withTrailingSlash(b); + } + if (!options.leadingSlash) { + a = withLeadingSlash(a); + b = withLeadingSlash(b); + } + if (!options.encoding) { + a = decode(a); + b = decode(b); + } + return a === b; +} +function withFragment(input, hash) { + if (!hash || hash === "#") { + return input; + } + const parsed = parseURL(input); + parsed.hash = hash === "" ? "" : "#" + encodeHash(hash); + return stringifyParsedURL(parsed); +} +function withoutFragment(input) { + return stringifyParsedURL({ ...parseURL(input), hash: "" }); +} +function withoutHost(input) { + const parsed = parseURL(input); + return (parsed.pathname || "/") + parsed.search + parsed.hash; +} + +const protocolRelative = Symbol.for("ufo:protocolRelative"); +function parseURL(input = "", defaultProto) { + const _specialProtoMatch = input.match( + /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i + ); + if (_specialProtoMatch) { + const [, _proto, _pathname = ""] = _specialProtoMatch; + return { + protocol: _proto.toLowerCase(), + pathname: _pathname, + href: _proto + _pathname, + auth: "", + host: "", + search: "", + hash: "" + }; + } + if (!hasProtocol(input, { acceptRelative: true })) { + return defaultProto ? parseURL(defaultProto + input) : parsePath(input); + } + const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || []; + let [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || []; + if (protocol === "file:") { + path = path.replace(/\/(?=[A-Za-z]:)/, ""); + } + const { pathname, search, hash } = parsePath(path); + return { + protocol: protocol.toLowerCase(), + auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "", + host, + pathname, + search, + hash, + [protocolRelative]: !protocol + }; +} +function parsePath(input = "") { + const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1); + return { + pathname, + search, + hash + }; +} +function parseAuth(input = "") { + const [username, password] = input.split(":"); + return { + username: decode(username), + password: decode(password) + }; +} +function parseHost(input = "") { + const [hostname, port] = (input.match(/([^/:]*):?(\d+)?/) || []).splice(1); + return { + hostname: decode(hostname), + port + }; +} +function stringifyParsedURL(parsed) { + const pathname = parsed.pathname || ""; + const search = parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : ""; + const hash = parsed.hash || ""; + const auth = parsed.auth ? parsed.auth + "@" : ""; + const host = parsed.host || ""; + const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || "") + "//" : ""; + return proto + auth + host + pathname + search + hash; +} +const FILENAME_STRICT_REGEX = /\/([^/]+\.[^/]+)$/; +const FILENAME_REGEX = /\/([^/]+)$/; +function parseFilename(input = "", opts) { + const { pathname } = parseURL(input); + const matches = opts?.strict ? pathname.match(FILENAME_STRICT_REGEX) : pathname.match(FILENAME_REGEX); + return matches ? matches[1] : void 0; +} + +class $URL { + protocol; + host; + auth; + pathname; + query = {}; + hash; + constructor(input = "") { + if (typeof input !== "string") { + throw new TypeError( + `URL input should be string received ${typeof input} (${input})` + ); + } + const parsed = parseURL(input); + this.protocol = decode(parsed.protocol); + this.host = decode(parsed.host); + this.auth = decode(parsed.auth); + this.pathname = decodePath(parsed.pathname); + this.query = parseQuery(parsed.search); + this.hash = decode(parsed.hash); + } + get hostname() { + return parseHost(this.host).hostname; + } + get port() { + return parseHost(this.host).port || ""; + } + get username() { + return parseAuth(this.auth).username; + } + get password() { + return parseAuth(this.auth).password || ""; + } + get hasProtocol() { + return this.protocol.length; + } + get isAbsolute() { + return this.hasProtocol || this.pathname[0] === "/"; + } + get search() { + const q = stringifyQuery(this.query); + return q.length > 0 ? "?" + q : ""; + } + get searchParams() { + const p = new URLSearchParams(); + for (const name in this.query) { + const value = this.query[name]; + if (Array.isArray(value)) { + for (const v of value) { + p.append(name, v); + } + } else { + p.append( + name, + typeof value === "string" ? value : JSON.stringify(value) + ); + } + } + return p; + } + get origin() { + return (this.protocol ? this.protocol + "//" : "") + encodeHost(this.host); + } + get fullpath() { + return encodePath(this.pathname) + this.search + encodeHash(this.hash); + } + get encodedAuth() { + if (!this.auth) { + return ""; + } + const { username, password } = parseAuth(this.auth); + return encodeURIComponent(username) + (password ? ":" + encodeURIComponent(password) : ""); + } + get href() { + const auth = this.encodedAuth; + const originWithAuth = (this.protocol ? this.protocol + "//" : "") + (auth ? auth + "@" : "") + encodeHost(this.host); + return this.hasProtocol && this.isAbsolute ? originWithAuth + this.fullpath : this.fullpath; + } + append(url) { + if (url.hasProtocol) { + throw new Error("Cannot append a URL with protocol"); + } + Object.assign(this.query, url.query); + if (url.pathname) { + this.pathname = withTrailingSlash(this.pathname) + withoutLeadingSlash(url.pathname); + } + if (url.hash) { + this.hash = url.hash; + } + } + toJSON() { + return this.href; + } + toString() { + return this.href; + } +} +function createURL(input) { + return new $URL(input); +} + +export { $URL, cleanDoubleSlashes, createURL, decode, decodePath, decodeQueryKey, decodeQueryValue, encode, encodeHash, encodeHost, encodeParam, encodePath, encodeQueryItem, encodeQueryKey, encodeQueryValue, filterQuery, getQuery, hasLeadingSlash, hasProtocol, hasTrailingSlash, isEmptyURL, isEqual, isNonEmptyURL, isRelative, isSamePath, isScriptProtocol, joinRelativeURL, joinURL, normalizeURL, parseAuth, parseFilename, parseHost, parsePath, parseQuery, parseURL, resolveURL, stringifyParsedURL, stringifyQuery, withBase, withFragment, withHttp, withHttps, withLeadingSlash, withProtocol, withQuery, withTrailingSlash, withoutBase, withoutFragment, withoutHost, withoutLeadingSlash, withoutProtocol, withoutTrailingSlash }; diff --git a/apps/web/.output/server/node_modules/ufo/package.json b/apps/web/.output/server/node_modules/ufo/package.json new file mode 100644 index 0000000..4d3fff2 --- /dev/null +++ b/apps/web/.output/server/node_modules/ufo/package.json @@ -0,0 +1,48 @@ +{ + "name": "ufo", + "version": "1.6.4", + "description": "URL utils for humans", + "repository": "unjs/ufo", + "license": "MIT", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "default": "./dist/index.mjs" + }, + "./*": "./*" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "automd && unbuild", + "automd": "automd", + "dev": "vitest", + "lint": "eslint . && prettier -c src test", + "lint:fix": "eslint --fix . && prettier -w src test", + "prepack": "pnpm build", + "release": "pnpm test && changelogen --release && npm publish && git push --follow-tags", + "test": "pnpm lint && vitest run --typecheck" + }, + "devDependencies": { + "@types/node": "^25.6.0", + "@vitest/coverage-v8": "^4.1.5", + "automd": "^0.4.3", + "changelogen": "^0.6.2", + "eslint": "^10.2.1", + "eslint-config-unjs": "^0.6.2", + "jiti": "^2.6.1", + "prettier": "^3.8.3", + "typescript": "^6.0.3", + "unbuild": "^3.6.1", + "untyped": "^2.0.0", + "vitest": "^4.1.5" + }, + "packageManager": "pnpm@10.33.2" +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/unhead/dist/client.mjs b/apps/web/.output/server/node_modules/unhead/dist/client.mjs new file mode 100644 index 0000000..9da9454 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/client.mjs @@ -0,0 +1,22 @@ +export { c as createHead } from './shared/unhead.CaeaMM5q.mjs'; +export { c as createDomRenderer, r as renderDOMHead } from './shared/unhead.DD4N5B4k.mjs'; +import './shared/unhead.D7HkBzZn.mjs'; +import './shared/unhead.CGPOfp5O.mjs'; +import './shared/unhead.Bm4Y6XQI.mjs'; +import 'hookable'; +import './shared/unhead.C5Bksi2B.mjs'; +import './shared/unhead.DJuZwX9c.mjs'; + +function createDebouncedFn(callee, delayer) { + let ctxId = 0; + return () => { + const delayFnCtxId = ++ctxId; + delayer(() => { + if (ctxId === delayFnCtxId) { + callee(); + } + }); + }; +} + +export { createDebouncedFn }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/legacy.mjs b/apps/web/.output/server/node_modules/unhead/dist/legacy.mjs new file mode 100644 index 0000000..0d06271 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/legacy.mjs @@ -0,0 +1,33 @@ +import { D as DeprecationsPlugin, P as PromisesPlugin, T as TemplateParamsPlugin, A as AliasSortingPlugin } from './shared/unhead.D9VfQWNo.mjs'; +import { c as createUnhead } from './shared/unhead.D7HkBzZn.mjs'; +import { c as createHead$1 } from './shared/unhead.CaeaMM5q.mjs'; +import { c as createHead$2 } from './shared/unhead.DGl9jcjg.mjs'; +import './shared/unhead.CHEy9ana.mjs'; +import './shared/unhead.DspMpm6y.mjs'; +import './shared/unhead.CGPOfp5O.mjs'; +import './shared/unhead.Bm4Y6XQI.mjs'; +import 'hookable'; +import './shared/unhead.C5Bksi2B.mjs'; +import './shared/unhead.DD4N5B4k.mjs'; +import './shared/unhead.DJuZwX9c.mjs'; + +const legacyPlugins = [DeprecationsPlugin, PromisesPlugin, TemplateParamsPlugin, AliasSortingPlugin]; +const activeHead = { value: null }; +function getActiveHead() { + return activeHead.value; +} +function createHead(options = {}) { + return activeHead.value = createHead$1({ + ...options, + plugins: [...legacyPlugins, ...options.plugins || []] + }); +} +function createServerHead(options = {}) { + return activeHead.value = createHead$2({ + ...options, + plugins: [...legacyPlugins, ...options.plugins || []] + }); +} +const createHeadCore = createUnhead; + +export { DeprecationsPlugin, activeHead, createHead, createHeadCore, createServerHead, getActiveHead, legacyPlugins }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/minify.mjs b/apps/web/.output/server/node_modules/unhead/dist/minify.mjs new file mode 100644 index 0000000..c665363 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/minify.mjs @@ -0,0 +1,183 @@ +function minifyCSS(code) { + if (!/[\s/]|;\}|0\.\d/.test(code)) + return code; + let result = ""; + let last = ""; + let i = 0; + let parenDepth = 0; + const len = code.length; + const append = (value) => { + result += value; + last = value; + }; + while (i < len) { + const ch = code[i]; + if (ch === "'" || ch === '"') { + const quote = ch; + append(ch); + i++; + while (i < len && code[i] !== quote) { + if (code[i] === "\\" && i + 1 < len) + append(code[i++]); + append(code[i++]); + } + if (i < len) + append(code[i++]); + } else if (ch === "/" && code[i + 1] === "*") { + i += 2; + while (i < len && !(code[i] === "*" && code[i + 1] === "/")) + i++; + i += 2; + } else if (ch === "(") { + parenDepth++; + append(ch); + i++; + } else if (ch === ")") { + parenDepth = Math.max(0, parenDepth - 1); + append(ch); + i++; + } else if (ch === " " || ch === " " || ch === "\n" || ch === "\r") { + while (i < len && (code[i] === " " || code[i] === " " || code[i] === "\n" || code[i] === "\r")) + i++; + const next = code[i]; + if (next === "!") + continue; + if (parenDepth > 0) { + if (last && next && !isCSSCalcPunctuation(last) && !isCSSCalcPunctuation(next)) + append(" "); + } else if (last && next && !isCSSPunctuation(last) && !isCSSPunctuation(next)) { + append(" "); + } + } else if (ch === ";") { + let j = i + 1; + while (j < len && (code[j] === " " || code[j] === " " || code[j] === "\n" || code[j] === "\r")) + j++; + if (code[j] === "}") { + i++; + } else { + append(ch); + i++; + } + } else if (ch === "0" && code[i + 1] === "." && code[i + 2] >= "0" && code[i + 2] <= "9") { + if (last && last >= "0" && last <= "9") { + append(ch); + i++; + } else { + i++; + } + } else { + append(ch); + i++; + } + } + return result.trim(); +} +function isCSSPunctuation(ch) { + return ch === "{" || ch === "}" || ch === ";" || ch === ":" || ch === "," || ch === ">" || ch === "~" || ch === "+" || ch === "(" || ch === ")"; +} +function isCSSCalcPunctuation(ch) { + return ch === "*" || ch === "/" || ch === "(" || ch === ")" || ch === ","; +} + +function minifyJS(code) { + if (!/[\s/]/.test(code)) + return code; + let result = ""; + let last = ""; + let i = 0; + const len = code.length; + const append = (value) => { + result += value; + last = value; + }; + while (i < len) { + const ch = code[i]; + if (ch === "'" || ch === '"' || ch === "`") { + const quote = ch; + append(ch); + i++; + while (i < len && code[i] !== quote) { + if (code[i] === "\\" && i + 1 < len) { + append(code[i++]); + } + append(code[i++]); + } + if (i < len) + append(code[i++]); + } else if (ch === "/" && code[i + 1] === "/") { + i += 2; + while (i < len && code[i] !== "\n") + i++; + } else if (ch === "/" && code[i + 1] === "*") { + i += 2; + while (i < len && !(code[i] === "*" && code[i + 1] === "/")) + i++; + i += 2; + } else if (ch === " " || ch === " " || ch === "\n" || ch === "\r") { + let hasNewline = false; + while (i < len && (code[i] === " " || code[i] === " " || code[i] === "\n" || code[i] === "\r")) { + if (code[i] === "\n") + hasNewline = true; + i++; + } + const next = code[i]; + if (hasNewline && last && next && last !== "{" && last !== "}" && last !== ";" && next !== "}" && next !== ";") + append("\n"); + else if (last && next && isIdentChar(last) && isIdentChar(next)) + append(" "); + else if (last && next && (last === "+" && next === "+" || last === "-" && next === "-")) + append(" "); + } else { + append(ch); + i++; + } + } + return result.trim(); +} +function isIdentChar(ch) { + return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch >= "0" && ch <= "9" || ch === "_" || ch === "$"; +} + +function isJsonWhitespace(char) { + return char === " " || char === "\n" || char === "\r" || char === " "; +} +function minifyJSON(code) { + let escaped = false; + let inString = false; + let segmentStart = 0; + let chunks; + for (let i = 0; i < code.length; i++) { + const char = code[i]; + if (inString) { + if (escaped) + escaped = false; + else if (char === "\\") + escaped = true; + else if (char === '"') + inString = false; + continue; + } + if (char === '"') { + inString = true; + continue; + } + if (isJsonWhitespace(char)) { + chunks ||= []; + if (segmentStart < i) + chunks.push(code.slice(segmentStart, i)); + segmentStart = i + 1; + } + } + if (!chunks) + return code; + try { + JSON.parse(code); + } catch { + return code; + } + if (segmentStart < code.length) + chunks.push(code.slice(segmentStart)); + return chunks.join(""); +} + +export { minifyCSS, minifyJS, minifyJSON }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/parser.mjs b/apps/web/.output/server/node_modules/unhead/dist/parser.mjs new file mode 100644 index 0000000..d6a97d9 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/parser.mjs @@ -0,0 +1,518 @@ +import { h as hasOwn } from './shared/unhead.Bf_fPVYA.mjs'; + +const TAG_HTML = 0; +const TAG_HEAD = 1; +const TAG_TITLE = 4; +const TAG_META = 5; +const TAG_BODY = 44; +const TAG_SCRIPT = 52; +const TAG_STYLE = 53; +const TAG_LINK = 54; +const TAG_BASE = 56; +const LT_CHAR = 60; +const GT_CHAR = 62; +const SLASH_CHAR = 47; +const EQUALS_CHAR = 61; +const QUOTE_CHAR = 34; +const APOS_CHAR = 39; +const EXCLAMATION_CHAR = 33; +const BACKSLASH_CHAR = 92; +const DASH_CHAR = 45; +const TagIdMap = { + html: TAG_HTML, + head: TAG_HEAD, + title: TAG_TITLE, + meta: TAG_META, + body: TAG_BODY, + script: TAG_SCRIPT, + style: TAG_STYLE, + link: TAG_LINK, + base: TAG_BASE +}; +const HEAD_ELEMENTS_TO_EXTRACT = /* @__PURE__ */ new Set([TAG_TITLE, TAG_META, TAG_LINK, TAG_SCRIPT, TAG_STYLE, TAG_BASE]); +function prepareTemplate(html) { + const template = parseHtmlForIndexes(html); + Object.freeze(template.input); + Object.freeze(template.indexes); + return Object.freeze(template); +} +function isWhitespace(charCode) { + return charCode === 32 || charCode === 9 || charCode === 10 || charCode === 13; +} +function processCommentOrDoctype(htmlChunk, position) { + let i = position; + const chunkLength = htmlChunk.length; + if (i + 3 < chunkLength && htmlChunk.charCodeAt(i + 2) === DASH_CHAR && htmlChunk.charCodeAt(i + 3) === DASH_CHAR) { + i += 4; + while (i < chunkLength - 2) { + if (htmlChunk.charCodeAt(i) === DASH_CHAR && htmlChunk.charCodeAt(i + 1) === DASH_CHAR && htmlChunk.charCodeAt(i + 2) === GT_CHAR) { + i += 3; + return { + complete: true, + newPosition: i, + remainingText: "" + }; + } + i++; + } + return { + complete: false, + newPosition: position, + remainingText: htmlChunk.substring(position) + }; + } else { + i += 2; + while (i < chunkLength) { + if (htmlChunk.charCodeAt(i) === GT_CHAR) { + i++; + return { + complete: true, + newPosition: i, + remainingText: "" + }; + } + i++; + } + return { + complete: false, + newPosition: i, + remainingText: htmlChunk.substring(position, i) + }; + } +} +function parseAttributes(attrStr) { + if (!attrStr) + return {}; + const result = {}; + const setAttr = (attrName, value) => { + if (!hasOwn(result, attrName)) + result[attrName] = value; + }; + const len = attrStr.length; + let i = 0; + const WHITESPACE = 0; + const NAME = 1; + const AFTER_NAME = 2; + const BEFORE_VALUE = 3; + const QUOTED_VALUE = 4; + const UNQUOTED_VALUE = 5; + let state = WHITESPACE; + let nameStart = 0; + let nameEnd = 0; + let valueStart = 0; + let quoteChar = 0; + let name = ""; + while (i < len) { + const charCode = attrStr.charCodeAt(i); + const isSpace = isWhitespace(charCode); + switch (state) { + case WHITESPACE: + if (!isSpace) { + state = NAME; + nameStart = i; + nameEnd = 0; + } + break; + case NAME: + if (charCode === EQUALS_CHAR || isSpace) { + nameEnd = i; + name = attrStr.substring(nameStart, nameEnd).toLowerCase(); + state = charCode === EQUALS_CHAR ? BEFORE_VALUE : AFTER_NAME; + } + break; + case AFTER_NAME: + if (charCode === EQUALS_CHAR) { + state = BEFORE_VALUE; + } else if (!isSpace) { + setAttr(name, ""); + state = NAME; + nameStart = i; + nameEnd = 0; + } + break; + case BEFORE_VALUE: + if (charCode === QUOTE_CHAR || charCode === APOS_CHAR) { + quoteChar = charCode; + state = QUOTED_VALUE; + valueStart = i + 1; + } else if (!isSpace) { + state = UNQUOTED_VALUE; + valueStart = i; + } + break; + case QUOTED_VALUE: + if (charCode === quoteChar) { + setAttr(name, attrStr.substring(valueStart, i)); + state = WHITESPACE; + } + break; + case UNQUOTED_VALUE: + if (isSpace || charCode === GT_CHAR) { + setAttr(name, attrStr.substring(valueStart, i)); + state = WHITESPACE; + } + break; + } + i++; + } + if (state === QUOTED_VALUE || state === UNQUOTED_VALUE) { + if (name) { + setAttr(name, attrStr.substring(valueStart, i)); + } + } else if (state === NAME || state === AFTER_NAME || state === BEFORE_VALUE) { + nameEnd = nameEnd || i; + const currentName = attrStr.substring(nameStart, nameEnd).toLowerCase(); + if (currentName) { + setAttr(currentName, ""); + } + } + return result; +} +function parseHtmlForIndexes(html) { + const indexes = { + htmlTagStart: html.indexOf("<html"), + htmlTagEnd: -1, + headTagEnd: html.indexOf("</head>"), + bodyTagStart: html.indexOf("<body"), + bodyTagEnd: -1, + bodyCloseTagStart: html.indexOf("</body>") + }; + if (indexes.htmlTagStart >= 0) { + const htmlTagEndPos = html.indexOf(">", indexes.htmlTagStart); + if (htmlTagEndPos >= 0) { + indexes.htmlTagEnd = htmlTagEndPos + 1; + } + } + if (indexes.bodyTagStart >= 0) { + const bodyTagEndPos = html.indexOf(">", indexes.bodyTagStart); + if (bodyTagEndPos >= 0) { + indexes.bodyTagEnd = bodyTagEndPos + 1; + } + } + return { html, input: {}, indexes }; +} +function parseHtmlForUnheadExtraction(html) { + const input = {}; + const htmlParts = []; + let position = 0; + let inHead = false; + let foundBodyStart = false; + let lastCopyPosition = 0; + let currentOutputLength = 0; + const indexes = { + htmlTagStart: -1, + htmlTagEnd: -1, + headTagEnd: -1, + bodyTagStart: -1, + bodyTagEnd: -1, + bodyCloseTagStart: -1 + }; + function copyAccumulatedText() { + if (lastCopyPosition < position) { + const textToAdd = html.substring(lastCopyPosition, position); + htmlParts.push(textToAdd); + currentOutputLength += textToAdd.length; + lastCopyPosition = position; + } + } + function addText(text) { + htmlParts.push(text); + currentOutputLength += text.length; + } + while (position < html.length && !foundBodyStart) { + const currentCharCode = html.charCodeAt(position); + if (currentCharCode !== LT_CHAR) { + position++; + continue; + } + if (position + 1 >= html.length) { + copyAccumulatedText(); + addText(html[position]); + break; + } + const nextCharCode = html.charCodeAt(position + 1); + if (nextCharCode === EXCLAMATION_CHAR) { + const result = processCommentOrDoctype(html, position); + if (result.complete) { + copyAccumulatedText(); + addText(html.substring(position, result.newPosition)); + position = result.newPosition; + lastCopyPosition = position; + } else { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + continue; + } + if (nextCharCode === SLASH_CHAR) { + let tagEnd2 = position + 2; + while (tagEnd2 < html.length && html.charCodeAt(tagEnd2) !== GT_CHAR) { + tagEnd2++; + } + if (tagEnd2 >= html.length) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const tagName2 = html.substring(position + 2, tagEnd2).toLowerCase().trim(); + const tagId2 = TagIdMap[tagName2] ?? -1; + if (tagId2 === TAG_HEAD) { + inHead = false; + copyAccumulatedText(); + const headCloseStart = currentOutputLength; + addText(html.substring(position, tagEnd2 + 1)); + indexes.headTagEnd = headCloseStart; + } else { + copyAccumulatedText(); + addText(html.substring(position, tagEnd2 + 1)); + } + position = tagEnd2 + 1; + lastCopyPosition = position; + continue; + } + const tagStart = position + 1; + let tagNameEnd = tagStart; + while (tagNameEnd < html.length) { + const c = html.charCodeAt(tagNameEnd); + if (isWhitespace(c) || c === SLASH_CHAR || c === GT_CHAR) { + break; + } + tagNameEnd++; + } + if (tagNameEnd >= html.length) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const tagName = html.substring(tagStart, tagNameEnd).toLowerCase(); + const tagId = TagIdMap[tagName] ?? -1; + let tagEnd = tagNameEnd; + let inQuote = false; + let quoteChar = 0; + let foundEnd = false; + let isSelfClosing = false; + while (tagEnd < html.length && !foundEnd) { + const c = html.charCodeAt(tagEnd); + if (inQuote) { + if (c === quoteChar) { + inQuote = false; + } + } else if (c === QUOTE_CHAR || c === APOS_CHAR) { + inQuote = true; + quoteChar = c; + } else if (c === SLASH_CHAR && tagEnd + 1 < html.length && html.charCodeAt(tagEnd + 1) === GT_CHAR) { + isSelfClosing = true; + tagEnd += 2; + foundEnd = true; + continue; + } else if (c === GT_CHAR) { + tagEnd++; + foundEnd = true; + continue; + } + tagEnd++; + } + if (!foundEnd) { + copyAccumulatedText(); + addText(html.substring(position)); + break; + } + const attributesStr = html.substring(tagNameEnd, tagEnd - (isSelfClosing ? 2 : 1)).trim(); + const attributes = parseAttributes(attributesStr); + if (tagId === TAG_HTML) { + copyAccumulatedText(); + indexes.htmlTagStart = currentOutputLength; + if (Object.keys(attributes).length > 0) { + input.htmlAttrs = attributes; + addText(`<${tagName}>`); + } else { + addText(html.substring(position, tagEnd)); + } + indexes.htmlTagEnd = currentOutputLength; + } else if (tagId === TAG_BODY) { + copyAccumulatedText(); + indexes.bodyTagStart = currentOutputLength; + if (Object.keys(attributes).length > 0) { + input.bodyAttrs = attributes; + addText(`<${tagName}>`); + } else { + addText(html.substring(position, tagEnd)); + } + indexes.bodyTagEnd = currentOutputLength; + foundBodyStart = true; + position = tagEnd; + lastCopyPosition = position; + break; + } else if (tagId === TAG_HEAD) { + inHead = true; + copyAccumulatedText(); + addText(html.substring(position, tagEnd)); + } else if (inHead && HEAD_ELEMENTS_TO_EXTRACT.has(tagId)) { + if (tagId === TAG_TITLE) { + if (!isSelfClosing) { + const titleEnd = findClosingTag(html, tagEnd, tagName); + if (titleEnd !== -1) { + const titleContent = html.substring(tagEnd, titleEnd).trim(); + if (titleContent && !input.title) { + input.title = titleContent; + } + position = findTagEnd(html, titleEnd, tagName); + lastCopyPosition = position; + continue; + } + } + } else if (tagId === TAG_SCRIPT) { + const scriptAttrs = { ...attributes }; + if (!isSelfClosing) { + const scriptEnd = findClosingTag(html, tagEnd, tagName); + if (scriptEnd !== -1) { + const scriptContent = html.substring(tagEnd, scriptEnd); + scriptAttrs.innerHTML = scriptContent || ""; + position = findTagEnd(html, scriptEnd, tagName); + } else { + scriptAttrs.innerHTML = ""; + position = tagEnd; + } + } else { + scriptAttrs.innerHTML = ""; + position = tagEnd; + } + lastCopyPosition = position; + (input.script ||= []).push(scriptAttrs); + continue; + } else if (tagId === TAG_STYLE) { + const styleAttrs = { ...attributes }; + if (!isSelfClosing) { + const styleEnd = findClosingTag(html, tagEnd, tagName); + if (styleEnd !== -1) { + const styleContent = html.substring(tagEnd, styleEnd); + styleAttrs.textContent = styleContent || ""; + position = findTagEnd(html, styleEnd, tagName); + } else { + styleAttrs.textContent = ""; + position = tagEnd; + } + } else { + styleAttrs.textContent = ""; + position = tagEnd; + } + lastCopyPosition = position; + (input.style ||= []).push(styleAttrs); + continue; + } else if (tagId === TAG_META) { + (input.meta ||= []).push(attributes); + position = tagEnd; + lastCopyPosition = position; + continue; + } else if (tagId === TAG_LINK) { + (input.link ||= []).push(attributes); + position = tagEnd; + lastCopyPosition = position; + continue; + } else if (tagId === TAG_BASE && !input.base) { + input.base = attributes; + position = tagEnd; + lastCopyPosition = position; + continue; + } + } else { + copyAccumulatedText(); + addText(html.substring(position, tagEnd)); + } + position = tagEnd; + lastCopyPosition = position; + } + const remainingHtml = html.substring(position); + const bodyCloseIndex = remainingHtml.indexOf("</body>"); + if (bodyCloseIndex !== -1) { + indexes.bodyCloseTagStart = currentOutputLength + bodyCloseIndex; + } + copyAccumulatedText(); + addText(remainingHtml); + return { html: htmlParts.join(""), input, indexes }; +} +function findClosingTag(html, startPos, tagName) { + const tagId = TagIdMap[tagName]; + const isScriptOrStyle = tagId === TAG_SCRIPT || tagId === TAG_STYLE; + if (!isScriptOrStyle) { + const closingTag2 = `</${tagName}`; + const index = html.indexOf(closingTag2, startPos); + return index === -1 ? -1 : index; + } + const closingTag = `</${tagName}`; + let pos = startPos; + let inSingleQuote = false; + let inDoubleQuote = false; + let inBacktick = false; + let lastCharWasBackslash = false; + while (pos < html.length) { + const currentCharCode = html.charCodeAt(pos); + if (!lastCharWasBackslash) { + if (currentCharCode === APOS_CHAR && !inDoubleQuote && !inBacktick) { + inSingleQuote = !inSingleQuote; + } else if (currentCharCode === QUOTE_CHAR && !inSingleQuote && !inBacktick) { + inDoubleQuote = !inDoubleQuote; + } else if (currentCharCode === 96 && !inSingleQuote && !inDoubleQuote) { + inBacktick = !inBacktick; + } + } + lastCharWasBackslash = currentCharCode === BACKSLASH_CHAR && !lastCharWasBackslash; + const inQuotes = inSingleQuote || inDoubleQuote || inBacktick; + if (!inQuotes && html.startsWith(closingTag, pos)) { + const afterTagPos = pos + closingTag.length; + if (afterTagPos >= html.length) { + return pos; + } + const nextChar = html.charCodeAt(afterTagPos); + if (nextChar === GT_CHAR || isWhitespace(nextChar)) { + return pos; + } + } + pos++; + } + return -1; +} +function findTagEnd(html, closingTagStart, tagName) { + let pos = closingTagStart + tagName.length + 2; + while (pos < html.length && html.charCodeAt(pos) !== GT_CHAR) { + pos++; + } + return pos < html.length ? pos + 1 : pos; +} +function applyHeadToHtml(template, headHtml) { + const { html, indexes } = template; + const parts = []; + let lastIndex = 0; + if (indexes.htmlTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.htmlTagStart)); + parts.push(`<html${headHtml.htmlAttrs}>`); + lastIndex = indexes.htmlTagEnd; + } + if (indexes.headTagEnd >= 0) { + parts.push(html.substring(lastIndex, indexes.headTagEnd)); + parts.push(headHtml.headTags); + parts.push("</head>"); + lastIndex = indexes.headTagEnd + 7; + } + if (indexes.bodyTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.bodyTagStart)); + if (headHtml.bodyTagsOpen) { + parts.push(`<body${headHtml.bodyAttrs}> +${headHtml.bodyTagsOpen}`); + } else { + parts.push(`<body${headHtml.bodyAttrs}>`); + } + lastIndex = indexes.bodyTagEnd; + } + if (indexes.bodyCloseTagStart >= 0) { + parts.push(html.substring(lastIndex, indexes.bodyCloseTagStart)); + parts.push(headHtml.bodyTags); + parts.push(html.substring(indexes.bodyCloseTagStart)); + } else { + parts.push(html.substring(lastIndex)); + } + return parts.join(""); +} + +export { TagIdMap, applyHeadToHtml, parseAttributes, parseHtmlForIndexes, parseHtmlForUnheadExtraction, prepareTemplate }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/plugins.mjs b/apps/web/.output/server/node_modules/unhead/dist/plugins.mjs new file mode 100644 index 0000000..5f8fe63 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/plugins.mjs @@ -0,0 +1,782 @@ +export { A as AliasSortingPlugin, D as DeprecationsPlugin, P as PromisesPlugin, T as TemplateParamsPlugin } from './shared/unhead.D9VfQWNo.mjs'; +import { d as defineHeadPlugin } from './shared/unhead.CHEy9ana.mjs'; +export { F as FlatMetaPlugin, S as SafeInputPlugin } from './shared/unhead.DkxnqlHC.mjs'; +import { h as hasContent } from './shared/unhead.CGPOfp5O.mjs'; +import { minifyJS, minifyCSS, minifyJSON } from './minify.mjs'; +import { u as unpackMeta } from './shared/unhead.o8j9utSy.mjs'; +import { t as tagInputFromRuntime, u as tagPredicates, i as inputShapeFromRuntime, b as inputShapePredicates, U as URL_META_KEYS, v as titleInputFromRuntime, h as headInputPredicates } from './shared/unhead.BEmVMkeA.mjs'; +import './shared/unhead.DspMpm6y.mjs'; + +const HTTP_SCHEME_RE = /^https?:\/\//i; +const META_TRANSFORMABLE_URL = [ + "og:url", + "og:image", + "og:image:url", + "og:image:secure_url", + "twitter:image", + "twitter:image:src", + "og:video", + "og:video:url", + "og:video:secure_url", + "og:audio", + "og:audio:url", + "og:audio:secure_url", + "twitter:player", + "twitter:player:stream" +]; +const LINK_REL_RESOLVABLE = /* @__PURE__ */ new Set([ + "canonical", + "next", + "prev", + "alternate", + "author", + "license", + "help", + "search", + "pingback" +]); +const META_CANONICAL_URL = /* @__PURE__ */ new Set([ + "og:url" +]); +function CanonicalPlugin(options) { + return (head) => { + let host = options.canonicalHost || (!head.ssr ? window.location.origin : ""); + if (!HTTP_SCHEME_RE.test(host) && !host.startsWith("//")) { + host = `https://${host}`; + } + host = new URL(host).origin; + const whitelist = options.queryWhitelist !== void 0 ? options.queryWhitelist : []; + function normalizeCanonicalUrl(url) { + try { + const parsed = new URL(url, host); + parsed.hash = ""; + if (whitelist !== false && parsed.search) { + const filtered = new URLSearchParams(); + for (const key of whitelist) { + if (parsed.searchParams.has(key)) { + for (const value of parsed.searchParams.getAll(key)) { + filtered.append(key, value); + } + } + } + parsed.search = filtered.toString(); + } + if (options.trailingSlash === true && !parsed.pathname.endsWith("/")) { + parsed.pathname = `${parsed.pathname}/`; + } else if (options.trailingSlash === false && parsed.pathname !== "/" && parsed.pathname.endsWith("/")) { + parsed.pathname = parsed.pathname.slice(0, -1); + } + return parsed.toString(); + } catch { + return url; + } + } + function resolvePath(path) { + if (options?.customResolver) { + return options.customResolver(path); + } + if (HTTP_SCHEME_RE.test(path) || path.startsWith("//")) + return path; + try { + return new URL(path, host).toString(); + } catch { + return path; + } + } + return { + key: "canonical", + hooks: { + "tags:resolve": (ctx) => { + for (const tag of ctx.tags) { + const metaKey = tag.props?.property || tag.props?.name; + if (tag.tag === "meta" && META_TRANSFORMABLE_URL.includes(metaKey)) { + tag.props.content = resolvePath(tag.props.content); + if (META_CANONICAL_URL.has(metaKey)) { + tag.props.content = normalizeCanonicalUrl(tag.props.content); + } + } else if (tag.tag === "link" && LINK_REL_RESOLVABLE.has(tag.props.rel)) { + const isCanonical = tag.props.rel === "canonical"; + tag.props.href = resolvePath(tag.props.href); + if (isCanonical) { + tag.props.href = normalizeCanonicalUrl(tag.props.href); + } + } + } + } + } + }; + }; +} + +const IMAGE_META_KEYS = /* @__PURE__ */ new Set(["og:image", "og:image:url", "og:image:secure_url", "twitter:image", "twitter:image:src"]); +function isImageMeta(tag) { + if (tag.tag !== "meta") + return false; + const content = tag.props.content; + return IMAGE_META_KEYS.has(tag.props.property || tag.props.name) && !!hasContent(content) && String(content).trim() !== ""; +} +function InferSeoMetaPlugin(options = {}) { + return defineHeadPlugin((head) => { + if (options.twitterCard !== false) { + head.push({ + meta: [ + options.twitterCard ? { name: "twitter:card", content: options.twitterCard, tagPriority: "low" } : { "name": "twitter:card", "tagPriority": "low", "data-infer": "" } + ] + }); + } + head.push({ + meta: [ + // content is intentionally omitted - inferred from title/description by the hook below + { + "property": "og:title", + "tagPriority": "low", + "data-infer": "" + }, + { + "property": "og:description", + "tagPriority": "low", + "data-infer": "" + } + ] + }); + return { + key: "infer-seo-meta", + hooks: { + "tags:beforeResolve": ({ tagMap }) => { + let title = head._titleTemplate || head._title; + const ogTitle = tagMap.get("meta:og:title"); + if (typeof ogTitle?.props["data-infer"] !== "undefined") { + if (typeof title === "function") { + title = title(head._title); + } + title = hasContent(title) ? String(title) : void 0; + ogTitle.props.content = options.ogTitle ? options.ogTitle(title) : title || ""; + ogTitle.processTemplateParams = true; + } + const descriptionValue = tagMap.get("meta:description")?.props?.content; + const description = hasContent(descriptionValue) ? String(descriptionValue) : void 0; + const ogDescription = tagMap.get("meta:og:description"); + if (typeof ogDescription?.props["data-infer"] !== "undefined") { + ogDescription.props.content = options.ogDescription ? options.ogDescription(description) : description || ""; + ogDescription.processTemplateParams = true; + } + }, + // after resolve so an image added or dropped by any other hook still counts + "tags:afterResolve": (ctx) => { + let cardIndex = -1; + let hasImage = false; + for (let i = 0; i < ctx.tags.length; i++) { + const tag = ctx.tags[i]; + if (tag.tag === "meta" && tag.props.name === "twitter:card" && typeof tag.props["data-infer"] !== "undefined") + cardIndex = i; + else if (!hasImage && isImageMeta(tag)) + hasImage = true; + } + if (cardIndex === -1) + return; + const card = ctx.tags[cardIndex]; + const props = { ...card.props, content: hasImage ? "summary_large_image" : "summary" }; + delete props["data-infer"]; + ctx.tags[cardIndex] = { ...card, props }; + } + } + }; + }, "infer-seo-meta"); +} + +const JSON_TYPES = /* @__PURE__ */ new Set(["application/json", "application/ld+json", "speculationrules", "importmap"]); +function MinifyPlugin(options) { + const jsMinify = options?.js === false ? false : options?.js || minifyJS; + const cssMinify = options?.css === false ? false : options?.css || minifyCSS; + const jsonMinify = options?.json !== false; + const omitLineBreaks = options?.omitLineBreaks === true; + return { + key: "minify", + hooks: { + "ssr:render": (ctx) => { + if (omitLineBreaks) + ctx.options.omitLineBreaks = true; + for (const tag of ctx.tags) { + const content = tag.innerHTML; + if (!content || content.length < 20) + continue; + if (tag.tag === "script") { + const type = tag.props?.type; + if (type && JSON_TYPES.has(type)) { + if (jsonMinify) { + const min = minifyJSON(content); + if (min.length < content.length) + tag.innerHTML = min; + } + continue; + } + if (jsMinify) { + const min = jsMinify(content); + if (min.length < content.length) + tag.innerHTML = min; + } + } else if (tag.tag === "style" && cssMinify) { + const min = cssMinify(content); + if (min.length < content.length) + tag.innerHTML = min; + } + } + } + } + }; +} + +const TEMPLATE_PARAM_RE = /%\w+(?:\.\w+)?%/; +const TEMPLATE_PARAM_TOKEN_RE = /%\w+(?:\.\w+)?/; +const AT_PREFIX_RE = /^at\s+/; +const JAVASCRIPT_TYPES = /* @__PURE__ */ new Set([ + "application/ecmascript", + "application/javascript", + "application/x-ecmascript", + "application/x-javascript", + "text/ecmascript", + "text/javascript", + "text/javascript1.0", + "text/javascript1.1", + "text/javascript1.2", + "text/javascript1.3", + "text/javascript1.4", + "text/javascript1.5", + "text/jscript", + "text/livescript", + "text/x-ecmascript", + "text/x-javascript" +]); +const SLACK_TWITTER_META_NAMES = /* @__PURE__ */ new Set([ + "twitter:data1", + "twitter:data2", + "twitter:label1", + "twitter:label2" +]); +function isExecutableScript(type) { + const value = typeof type === "boolean" ? "" : String(type ?? ""); + if (!value) + return true; + const normalized = value.replace(/^[\t\n\f\r ]+|[\t\n\f\r ]+$/g, "").toLowerCase(); + return normalized === "module" || JAVASCRIPT_TYPES.has(normalized); +} +const PREDICATE_SEVERITY = { + "defer-on-module-script": "info", + "deprecated-prop-body": "warn", + "deprecated-prop-children": "warn", + "deprecated-prop-hid-vmid": "warn", + "empty-meta-content": "warn", + "html-in-title": "warn", + "invalid-input-shape": "warn", + "non-absolute-canonical": "warn", + "numeric-tag-priority": "info", + "possible-typo": "warn", + "preload-font-crossorigin": "warn", + "preload-missing-as": "warn", + "robots-conflict": "warn", + "script-src-with-content": "warn", + "streamed-tag-hidden-from-bots": "warn", + "twitter-handle-missing-at": "warn", + "viewport-user-scalable": "info" +}; +function isAbsoluteUrl(url) { + return url.startsWith("http://") || url.startsWith("https://"); +} +function extractOrigin(url) { + if (!isAbsoluteUrl(url)) + return void 0; + const slash = url.indexOf("/", url.indexOf("//") + 2); + return slash === -1 ? url : url.slice(0, slash); +} +function resolveSeverity(config, fallback) { + if (config == null) + return fallback; + return Array.isArray(config) ? config[0] : config; +} +function resolveOptions(config, id, defaults) { + const entry = config[id]; + if (Array.isArray(entry)) + return { ...defaults, ...entry[1] }; + return defaults; +} +function captureSource(root) { + const stack = new Error("source").stack; + if (!stack) + return void 0; + const lines = stack.split("\n"); + for (let i = 4; i < lines.length; i++) { + const line = lines[i].trim(); + if (line && !line.includes("node_modules") && !line.includes("unhead/src/")) { + let source = line.replace(AT_PREFIX_RE, ""); + if (root) { + const prefix = root.endsWith("/") ? root : `${root}/`; + source = source.replace(prefix, "./"); + } + return source; + } + } + return void 0; +} +function createInputShapeObserver() { + let remainingRootKeys; + let resolvedValues; + const resolver = (key, value) => { + if (key === void 0) { + if (value?.constructor === Object) { + remainingRootKeys = new Set(Object.keys(value)); + resolvedValues = /* @__PURE__ */ new Map(); + } else { + remainingRootKeys = void 0; + resolvedValues = void 0; + } + } else if (remainingRootKeys?.delete(key)) { + resolvedValues?.set(key, value); + } + return value; + }; + resolver._static = true; + return { + resolver, + take() { + const input = resolvedValues ? Object.fromEntries(resolvedValues) : void 0; + remainingRootKeys = void 0; + resolvedValues = void 0; + return input; + } + }; +} +const BOT_HEAD_META_NAMES = /* @__PURE__ */ new Set(["description", "robots", "googlebot", "bingbot", "slurp", "keywords"]); +const BOT_HEAD_META_EQUIVS = /* @__PURE__ */ new Set(["refresh", "content-language"]); +const BOT_HEAD_LINK_RELS = /* @__PURE__ */ new Set(["canonical", "alternate", "amphtml", "prev", "next", "author", "license"]); +const BOT_HEAD_META_PREFIX_RE = /^(?:og|twitter|article|book|profile|fb|al|music|video|place|product):/; +const JSON_LD_TYPE_RE = /^[\t\n\f\r ]*application\/ld\+json[\t\n\f\r ]*(?:;|$)/i; +const REL_SEPARATOR_RE = /[\t\n\f\r ]+/; +const SAFE_BLOCKED_RELS = /* @__PURE__ */ new Set(["canonical", "modulepreload", "prerender", "preload", "prefetch", "dns-prefetch", "preconnect", "manifest", "pingback"]); +function relTokens(value) { + return String(value || "").toLowerCase().split(REL_SEPARATOR_RE); +} +function* expandPendingTag(tag) { + if (tag._safe && tag.tag === "link" && relTokens(tag.props.rel).some((rel) => SAFE_BLOCKED_RELS.has(rel))) + return; + if (tag.props.body) + tag.tagPosition = "bodyClose"; + if (tag.tag !== "_flatMeta") { + yield tag; + return; + } + for (const props of unpackMeta(tag.props)) + yield { ...tag, tag: "meta", props }; +} +function isHiddenFromBots(tag, writesBodyTags) { + const props = tag.props; + if (tag.tag === "script") + return !writesBodyTags && JSON_LD_TYPE_RE.test(String(props.type || "")); + if (tag.tagPosition?.startsWith("body")) + return false; + switch (tag.tag) { + case "title": + case "titleTemplate": + case "base": + return true; + case "meta": { + if (BOT_HEAD_META_NAMES.has(String(props.name || "").toLowerCase())) + return true; + if (BOT_HEAD_META_EQUIVS.has(String(props["http-equiv"] || "").toLowerCase())) + return true; + return BOT_HEAD_META_PREFIX_RE.test(String(props.property || props.name || "").toLowerCase()); + } + case "link": + return relTokens(props.rel).some((rel) => BOT_HEAD_LINK_RELS.has(rel)); + default: + return false; + } +} +function describeTag(tag) { + const props = tag.props; + if (tag.tag === "meta") + return `meta[${props.property ? `property="${props.property}"` : props["http-equiv"] ? `http-equiv="${props["http-equiv"]}"` : `name="${props.name}"`}]`; + if (tag.tag === "link") + return `link[rel="${props.rel}"]`; + if (tag.tag === "script") + return 'script[type="application/ld+json"]'; + return tag.tag; +} +function ValidatePlugin(options = {}) { + const ruleConfig = options.rules || {}; + const root = options.root; + const only = options.only && new Set(options.only); + const pluginKey = options.key || "validate"; + function severityFor(id, fallback) { + if (only && !only.has(id)) + return "off"; + return resolveSeverity(ruleConfig[id], fallback); + } + return defineHeadPlugin((head) => { + const stacks = /* @__PURE__ */ new Map(); + const pendingInputDiagnostics = []; + const inputShapeObserver = createInputShapeObserver(); + head.resolvedOptions.propResolvers = [ + ...head.resolvedOptions.propResolvers || [], + inputShapeObserver.resolver + ]; + const hooks = head.hooks; + if (hooks) { + const _callHook = hooks.callHook.bind(hooks); + let warnedAsyncHook = false; + hooks.callHook = (name, ...args) => { + const result = _callHook(name, ...args); + if (result?.then && !warnedAsyncHook && !only) { + warnedAsyncHook = true; + console.warn(`[unhead] promise ignored: ${name}`); + } + return result; + }; + } + const _push = head.push.bind(head); + head.push = (input, opts) => { + if (opts?.mode && severityFor("deprecated-option-mode", "warn") !== "off") { + console.warn(`[unhead] "mode: '${opts.mode}'" option was removed in v3. Use the appropriate createHead import (unhead/client or unhead/server) instead.`); + } + const source = captureSource(root); + const active = _push(input, opts); + if (source) + stacks.set(active._i, source); + const _dispose = active.dispose; + active.dispose = () => { + stacks.delete(active._i); + _dispose(); + }; + return active; + }; + function dispatch(rules, mode) { + const head_ = head; + head_._validationRules = mode === "replace" ? rules : [...head_._validationRules || [], ...rules]; + if (!rules.length) + return; + if (options.onReport) { + options.onReport(rules); + return; + } + for (const rule of rules) { + const loc = rule.source ? ` (${rule.source})` : ""; + console.warn(`[unhead] ${rule.message}${loc}`); + } + } + return { + key: pluginKey, + hooks: { + "ssr:streamChunk": ({ tags }) => { + const severity = severityFor("streamed-tag-hidden-from-bots", "warn"); + if (severity === "off") + return; + const rules = []; + for (const pending of tags) { + for (const tag of expandPendingTag(pending)) { + if (!isHiddenFromBots(tag, !!head._stream?.writesBodyTags)) + continue; + const entryIndex = tag._p != null ? tag._p >> 10 : void 0; + rules.push({ + id: "streamed-tag-hidden-from-bots", + message: `Bots will not see ${describeTag(tag)}. It arrived after the shell, so it ships as a client patch. Register it before the shell.`, + severity, + source: entryIndex != null ? stacks.get(entryIndex) : void 0, + tag + }); + } + } + dispatch(rules, "append"); + }, + "entries:normalize": ({ entry }) => { + const input = inputShapeObserver.take(); + if (!input || input.constructor !== Object) + return; + const shape = inputShapeFromRuntime("head", input); + for (const predicate of Object.values(inputShapePredicates)) { + for (const diagnostic of predicate(shape)) + pendingInputDiagnostics.push({ diagnostic, entryIndex: entry._i }); + } + }, + "tags:afterResolve": ({ tags }) => { + const rules = []; + function report(id, message, defaultSeverity, tag, inputEntryIndex) { + const severity = severityFor(id, defaultSeverity); + if (severity === "off") + return; + const entryIndex = inputEntryIndex ?? (tag?._p != null ? tag._p >> 10 : void 0); + const source = entryIndex != null ? stacks.get(entryIndex) : void 0; + rules.push({ id, message, severity, source, tag }); + } + for (const { diagnostic, entryIndex } of pendingInputDiagnostics) { + const severity = PREDICATE_SEVERITY[diagnostic.ruleId] ?? "warn"; + report(diagnostic.ruleId, diagnostic.message, severity, void 0, entryIndex); + } + pendingInputDiagnostics.length = 0; + const metaByKey = /* @__PURE__ */ new Map(); + let canonicalHref; + let hasOgTags = false; + let hasTitle = false; + let hasDescription = false; + let isIndexable = true; + for (const tag of tags) { + if (tag.tag === "title") + hasTitle = true; + if (tag.tag === "meta") { + const key = tag.props.property || (tag.props.name ? String(tag.props.name).toLowerCase() : void 0); + if (key) { + metaByKey.set(key, tag); + if (key.startsWith("og:")) + hasOgTags = true; + if (key === "description") + hasDescription = true; + if (key === "robots" && String(tag.props.content ?? "").toLowerCase().includes("noindex")) + isIndexable = false; + } + } + if (tag.tag === "link" && tag.props.rel === "canonical") + canonicalHref = tag.props.href; + } + function emitFromPredicates(diagnostics, tag) { + for (const diag of diagnostics) { + const sev = PREDICATE_SEVERITY[diag.ruleId] ?? "warn"; + report(diag.ruleId, diag.message, sev, tag); + } + } + for (const tag of tags) { + const { props } = tag; + const metaKey = props.property || (props.name ? String(props.name).toLowerCase() : void 0); + const tagInput = tagInputFromRuntime(tag); + if (tagInput) { + for (const predicate of Object.values(tagPredicates)) + emitFromPredicates(predicate(tagInput), tag); + } + if (tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs") { + const inputShape = inputShapeFromRuntime(tag.tag, tag.props); + for (const predicate of Object.values(inputShapePredicates)) + emitFromPredicates(predicate(inputShape), tag); + } + if (tag.tag === "meta" && typeof metaKey === "string") { + const normalizedMetaKey = metaKey.toLowerCase(); + if (normalizedMetaKey.startsWith("twitter:") && !SLACK_TWITTER_META_NAMES.has(normalizedMetaKey)) + report("deprecated-twitter-meta", `${normalizedMetaKey} is deprecated. Use Open Graph metadata instead.`, "warn", tag); + } + if (tag.tag === "meta" && metaKey && URL_META_KEYS.has(metaKey)) { + const content = String(props.content ?? ""); + if (content && !isAbsoluteUrl(content)) + report("non-absolute-og-url", `${metaKey} should be an absolute URL, received "${content}".`, "warn", tag); + } + if (tag.tag === "meta" && metaKey) { + const content = String(props.content ?? ""); + if (content && TEMPLATE_PARAM_RE.test(content)) + report("unresolved-template-param", `Unresolved template param in ${metaKey}: "${content}".`, "warn", tag); + } + if (tag.tag === "title") { + const titleInput = titleInputFromRuntime(tag); + if (titleInput) { + for (const diag of headInputPredicates["no-html-in-title"](titleInput)) + report(diag.ruleId, diag.message, "warn", tag); + } + const text = String(tag.textContent ?? ""); + if (TEMPLATE_PARAM_RE.test(text)) + report("unresolved-template-param", `Unresolved template param in title: "${text}".`, "warn", tag); + if (!text.trim()) + report("empty-title", `Title tag is empty. If using titleTemplate, ensure it produces output.`, "warn", tag); + } + if (tag.tag === "script" && props.src && !props.async && !props.defer && props.type !== "module" && (!tag.tagPosition || tag.tagPosition === "head")) + report("render-blocking-script", `Script "${props.src}" is render-blocking. Add "async", "defer", or use type="module" to avoid blocking the critical rendering path.`, "warn", tag); + if (tag.tag === "link" && props.rel === "preload" && props.fetchpriority === "low" && props.as !== "script") + report("preload-fetchpriority-conflict", `This preload uses fetchpriority="low". Check whether the resource needs a higher priority.`, "off", tag); + if (tag.tag === "style" && (tag.innerHTML || tag.textContent)) { + const content = tag.innerHTML || tag.textContent || ""; + const sizeKB = new TextEncoder().encode(content).byteLength / 1024; + const { maxKB: styleMaxKB } = resolveOptions(ruleConfig, "inline-style-size", { maxKB: 14 }); + if (sizeKB > styleMaxKB) + report("inline-style-size", `Inline <style> is ${sizeKB.toFixed(1)}KB \u2014 exceeds ${styleMaxKB}KB critical CSS budget. Consider moving to an external stylesheet for cacheability.`, "info", tag); + } + if (tag.tag === "script" && isExecutableScript(props.type) && !props.src && (tag.innerHTML || tag.textContent)) { + const content = tag.innerHTML || tag.textContent || ""; + const sizeKB = new TextEncoder().encode(content).byteLength / 1024; + const { maxKB: scriptMaxKB } = resolveOptions(ruleConfig, "inline-script-size", { maxKB: 2 }); + if (sizeKB > scriptMaxKB) + report("inline-script-size", `Inline <script> is ${sizeKB.toFixed(1)}KB \u2014 consider moving to an external file for cacheability.`, "info", tag); + } + } + const ogUrl = metaByKey.get("og:url"); + if (canonicalHref && ogUrl?.props.content && canonicalHref !== ogUrl.props.content) + report("canonical-og-url-mismatch", `Canonical URL "${canonicalHref}" differs from og:url "${ogUrl.props.content}".`, "warn", ogUrl); + if (metaByKey.has("og:image") && (!metaByKey.has("og:image:width") || !metaByKey.has("og:image:height"))) + report("og-image-missing-dimensions", `og:image is set but og:image:width and/or og:image:height are missing \u2014 social platforms may not display the image.`, "warn", metaByKey.get("og:image")); + if (hasOgTags) { + if (!metaByKey.has("og:title")) + report("og-missing-title", `Open Graph tags are present but og:title is missing.`, "warn"); + if (!metaByKey.has("og:description")) + report("og-missing-description", `Open Graph tags are present but og:description is missing.`, "warn"); + } + if (!hasTitle) + report("missing-title", `Page is missing a <title> tag.`, "warn"); + if (!hasDescription && isIndexable) + report("missing-description", `Page is missing a meta description and is indexable by search engines.`, "warn"); + const { max: maxPreloads } = resolveOptions(ruleConfig, "too-many-preloads", { max: 6 }); + const preloadCount = tags.filter((t) => t.tag === "link" && t.props.rel === "preload").length; + if (preloadCount > maxPreloads) + report("too-many-preloads", `Found ${preloadCount} preload links \u2014 more than ${maxPreloads} preloads compete for bandwidth and can hurt performance.`, "warn"); + const { max: maxPrefetches } = resolveOptions(ruleConfig, "too-many-prefetches", { max: 50 }); + const prefetchCount = tags.filter((t) => t.tag === "link" && t.props.rel === "prefetch").length; + if (prefetchCount > maxPrefetches) + report("too-many-prefetches", `Found ${prefetchCount} prefetch links. The configured maximum of ${maxPrefetches} is an advisory guardrail, not a standards limit. Large speculative fetch sets can consume bandwidth and cache capacity.`, "info"); + const { max: maxPreconnects } = resolveOptions(ruleConfig, "too-many-preconnects", { max: 4 }); + const preconnectCount = tags.filter((t) => t.tag === "link" && t.props.rel === "preconnect").length; + if (preconnectCount > maxPreconnects) + report("too-many-preconnects", `Found ${preconnectCount} preconnect links \u2014 each initiates a TCP+TLS handshake, more than ${maxPreconnects} compete for limited connections.`, "warn"); + const preconnectOrigins = /* @__PURE__ */ new Set(); + const dnsPrefetchTags = []; + for (const tag of tags) { + if (tag.tag === "link" && tag.props.href) { + if (tag.props.rel === "preconnect") + preconnectOrigins.add(tag.props.href); + else if (tag.props.rel === "dns-prefetch") + dnsPrefetchTags.push(tag); + } + } + for (const tag of dnsPrefetchTags) { + if (preconnectOrigins.has(tag.props.href)) + report("redundant-dns-prefetch", `dns-prefetch for "${tag.props.href}" is redundant \u2014 preconnect already includes DNS resolution.`, "info", tag); + } + const preloadScriptHrefs = /* @__PURE__ */ new Map(); + for (const tag of tags) { + if (tag.tag === "link" && tag.props.rel === "preload" && tag.props.as === "script" && tag.props.href && tag.props.fetchpriority !== "low") + preloadScriptHrefs.set(tag.props.href, tag); + } + for (const tag of tags) { + if (tag.tag === "script" && tag.props.src && (tag.props.async || tag.props.defer)) { + const preloadTag = preloadScriptHrefs.get(tag.props.src); + if (preloadTag) { + const attr = tag.props.async ? "async" : "defer"; + report("preload-async-defer-conflict", `Script "${tag.props.src}" is preloaded with "${attr}". Check whether early fetching is intentional.`, "off", preloadTag); + } + } + } + const preloadHrefs = /* @__PURE__ */ new Set(); + for (const tag of tags) { + if (tag.tag === "link" && tag.props.rel === "preload" && tag.props.href) + preloadHrefs.add(tag.props.href); + } + for (const tag of tags) { + if (tag.tag === "link" && tag.props.rel === "prefetch" && tag.props.href && preloadHrefs.has(tag.props.href)) + report("prefetch-preload-conflict", `"${tag.props.href}" has both preload and prefetch \u2014 use preload for current page resources, prefetch for future navigation.`, "warn", tag); + } + if (!head.plugins.has("template-params")) { + const tpTag = tags.find((t) => t.tag === "templateParams"); + if (tpTag) { + report("missing-template-params-plugin", `templateParams are set but TemplateParamsPlugin is not registered. In v3, this plugin is opt-in. Add it to createHead({ plugins: [TemplateParamsPlugin] }).`, "warn", tpTag); + } else { + const tokenTag = tags.find((t) => { + if (t.tag === "title" || t.tag === "titleTemplate") + return TEMPLATE_PARAM_TOKEN_RE.test(String(t.textContent ?? "")); + if (t.tag === "meta") + return TEMPLATE_PARAM_TOKEN_RE.test(String(t.props.content ?? "")); + return false; + }); + if (tokenTag) { + const text = String(tokenTag.tag === "meta" ? tokenTag.props.content : tokenTag.textContent); + const token = TEMPLATE_PARAM_TOKEN_RE.exec(text)[0]; + report("missing-template-params-plugin", `A template param "${token}" is used but TemplateParamsPlugin is not registered, so it renders literally. In v3, this plugin is opt-in. Add it to createHead({ plugins: [TemplateParamsPlugin] }).`, "warn", tokenTag); + } + } + } + if (!head.plugins.has("aliasSorting")) { + for (const tag of tags) { + const p = typeof tag.tagPriority === "string" ? tag.tagPriority : ""; + if (p.startsWith("before:") || p.startsWith("after:")) { + report("missing-alias-sorting-plugin", `Tag priority alias "${p}" requires AliasSortingPlugin. In v3, this plugin is opt-in. Add it to createHead({ plugins: [AliasSortingPlugin] }).`, "warn", tag); + break; + } + } + } + const { max: maxHighPriority } = resolveOptions(ruleConfig, "too-many-fetchpriority-high", { max: 2 }); + const highPriorityCount = tags.filter((t) => t.props.fetchpriority === "high").length; + if (highPriorityCount > maxHighPriority) + report("too-many-fetchpriority-high", `Found ${highPriorityCount} resources with fetchpriority="high". When everything is high priority, nothing is. Limit to ${maxHighPriority} for the signal to be effective.`, "warn"); + const resourceHintsSeen = /* @__PURE__ */ new Map(); + for (const tag of tags) { + if (tag.tag === "link" && tag.props.href && (tag.props.rel === "preload" || tag.props.rel === "prefetch" || tag.props.rel === "preconnect")) { + const crossoriginSuffix = tag.props.rel === "preconnect" && "crossorigin" in tag.props ? ":cors" : ""; + const key = `${tag.props.rel}:${tag.props.href}${crossoriginSuffix}`; + if (resourceHintsSeen.has(key)) + report("duplicate-resource-hint", `Duplicate ${tag.props.rel} for "${tag.props.href}".`, "warn", tag); + else + resourceHintsSeen.set(key, tag); + } + } + if (head.ssr) { + const { maxPosition: charsetMaxPos } = resolveOptions(ruleConfig, "charset-not-early", { maxPosition: 3 }); + const headElementTags = /* @__PURE__ */ new Set(["title", "base", "meta", "link", "style", "script", "noscript"]); + const sortedHeadTags = tags.filter((t) => headElementTags.has(t.tag) && (!t.tagPosition || t.tagPosition === "head")).sort((a, b) => (a._w ?? 100) === (b._w ?? 100) ? (a._p ?? 0) - (b._p ?? 0) : (a._w ?? 100) - (b._w ?? 100)); + let charsetTag; + let charsetPosition = -1; + for (let i = 0; i < sortedHeadTags.length; i++) { + const tag = sortedHeadTags[i]; + if (tag.tag === "meta" && ("charset" in tag.props || tag.props["http-equiv"]?.toLowerCase() === "content-type")) { + charsetTag = tag; + charsetPosition = i + 1; + break; + } + } + if (charsetTag && charsetPosition > charsetMaxPos) + report("charset-not-early", `<meta charset> is at position ${charsetPosition} in <head>. It should be within the first ${charsetMaxPos} tags so the browser doesn't need to re-parse.`, "warn", charsetTag); + } + const moduleScriptSrcs = /* @__PURE__ */ new Set(); + for (const tag of tags) { + if (tag.tag === "script" && tag.props.type === "module" && tag.props.src) + moduleScriptSrcs.add(tag.props.src); + } + for (const tag of tags) { + if (tag.tag === "link" && tag.props.rel === "preload" && tag.props.as === "script" && tag.props.href && moduleScriptSrcs.has(tag.props.href)) + report("preload-not-modulepreload", `"${tag.props.href}" is a module script but uses rel="preload". Use rel="modulepreload" instead to also trigger module parsing.`, "warn", tag); + } + const corsOrigins = /* @__PURE__ */ new Set(); + const preconnectCorsOrigins = /* @__PURE__ */ new Set(); + for (const tag of tags) { + if (tag.tag === "link" && tag.props.href && "crossorigin" in tag.props) { + const origin = extractOrigin(tag.props.href); + if (origin) { + corsOrigins.add(origin); + if (tag.props.rel === "preconnect") + preconnectCorsOrigins.add(origin); + } + } + } + for (const tag of tags) { + if (tag.tag === "link" && tag.props.rel === "preconnect" && tag.props.href && !("crossorigin" in tag.props)) { + const origin = extractOrigin(tag.props.href); + if (origin && corsOrigins.has(origin) && !preconnectCorsOrigins.has(origin)) + report("preconnect-missing-crossorigin", `Preconnect to "${tag.props.href}" is missing "crossorigin" but CORS resources are loaded from this origin. Without it, the browser opens a separate connection for CORS requests.`, "warn", tag); + } + } + const { maxBytes: crawlerMaxBytes } = resolveOptions(ruleConfig, "meta-beyond-1mb", { maxBytes: 1048576 }); + let byteOffset = 0; + for (const tag of tags) { + if (tag.tagPosition && tag.tagPosition !== "head") + continue; + const props = Object.entries(tag.props).filter(([, v]) => v !== false && v != null).map(([k, v]) => v === true || v === "" ? ` ${k}` : ` ${k}="${v}"`).join(""); + const content = tag.innerHTML || tag.textContent || ""; + const tagSize = `<${tag.tag}${props}>${content}</${tag.tag}> +`.length; + byteOffset += tagSize; + if (byteOffset > crawlerMaxBytes && tag.tag === "meta") { + const key = tag.props.property || tag.props.name || "unknown"; + report( + "meta-beyond-1mb", + `Meta tag "${key}" is rendered ~${(byteOffset / 1024).toFixed(0)}KB into <head>, beyond the ${(crawlerMaxBytes / 1048576).toFixed(0)}MB crawler parsing limit. Social crawlers (Facebook, Twitter) may not see it. Use \`tagPriority\` to promote it, or configure a custom \`tagWeight\` to reorder tags for bot requests.`, + "warn", + tag + ); + } + } + dispatch(rules, "replace"); + } + } + }; + }, pluginKey); +} + +export { CanonicalPlugin, InferSeoMetaPlugin, MinifyPlugin, ValidatePlugin, defineHeadPlugin }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/server.mjs b/apps/web/.output/server/node_modules/unhead/dist/server.mjs new file mode 100644 index 0000000..c8dac02 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/server.mjs @@ -0,0 +1,99 @@ +import { parseHtmlForUnheadExtraction, applyHeadToHtml, parseHtmlForIndexes } from './parser.mjs'; +export { prepareTemplate } from './parser.mjs'; +import { a as capoTagWeight } from './shared/unhead.DGl9jcjg.mjs'; +export { c as createHead, b as createServerRenderer, e as escapeHtml, p as propsToString, r as renderSSRHead, s as ssrRenderTags, t as tagToString } from './shared/unhead.DGl9jcjg.mjs'; +import { n as normalizeEntryToTags, d as dedupeKey, h as hashTag } from './shared/unhead.DJuZwX9c.mjs'; +import './shared/unhead.Bf_fPVYA.mjs'; +import './shared/unhead.D7HkBzZn.mjs'; +import './shared/unhead.Bm4Y6XQI.mjs'; +import 'hookable'; +import './shared/unhead.CGPOfp5O.mjs'; + +let extractedTemplates; +function cloneExtractedInput(value) { + if (Array.isArray(value)) + return value.map(cloneExtractedInput); + if (value && typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype) { + const clone = {}; + for (const key of Object.keys(value)) + clone[key] = cloneExtractedInput(value[key]); + return clone; + } + return value; +} +function freezeExtractedInput(value) { + if (Array.isArray(value)) { + for (const item of value) + freezeExtractedInput(item); + } else if (value && typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype) { + for (const key of Object.keys(value)) + freezeExtractedInput(value[key]); + } + return value && typeof value === "object" ? Object.freeze(value) : value; +} +function hasHooks(head) { + const hooks = head.hooks?._hooks || {}; + for (const key in hooks) { + if (hooks[key]?.length) + return true; + } + return false; +} +function precomputeExtractedTags(input) { + const tags = normalizeEntryToTags(input, []); + for (let i = 0; i < tags.length; i++) { + const tag = tags[i]; + tag._w = capoTagWeight(tag); + tag._p = i; + tag._d = dedupeKey(tag); + if (!tag._d) + tag._h = hashTag(tag); + } + return tags; +} +function extractPreparedTemplate(prepared) { + const cache = extractedTemplates ||= /* @__PURE__ */ new WeakMap(); + let extracted = cache.get(prepared); + if (!extracted) { + const template = parseHtmlForUnheadExtraction(prepared.html); + freezeExtractedInput(template.input); + Object.freeze(template.indexes); + Object.freeze(template); + const tags = precomputeExtractedTags(template.input); + freezeExtractedInput(tags); + extracted = Object.freeze({ + template, + tags + }); + cache.set(prepared, extracted); + } + return extracted; +} +// @__NO_SIDE_EFFECTS__ +function transformHtmlTemplate(head, html) { + let cached; + let template; + if (typeof html === "string") { + template = parseHtmlForUnheadExtraction(html); + } else { + cached = extractPreparedTemplate(html); + template = cached.template; + } + const hooked = cached ? hasHooks(head) : false; + const hasDynamicResolver = cached ? head.resolvedOptions.propResolvers?.some((resolver) => !resolver._static) || false : false; + const input = cached && (hooked || hasDynamicResolver) ? cloneExtractedInput(template.input) : template.input; + head.push(input, { _index: 0 }); + if (cached && !hooked && head.resolvedOptions._tagWeight === capoTagWeight && !hasDynamicResolver) { + const entry = head.entries.get(0); + if (entry) + entry._precomputedTags = cached.tags; + } + return applyHeadToHtml(template, head.render()); +} +// @__NO_SIDE_EFFECTS__ +function transformHtmlTemplateRaw(head, html) { + const template = typeof html === "string" ? parseHtmlForIndexes(html) : html; + return applyHeadToHtml(template, head.render()); +} + +export { capoTagWeight, transformHtmlTemplate, transformHtmlTemplateRaw }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs new file mode 100644 index 0000000..5a60e3e --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs @@ -0,0 +1,673 @@ +const URL_META_KEYS = /* @__PURE__ */ new Set([ + "og:url", + "og:image", + "og:image:url", + "og:image:secure_url", + "og:video", + "og:video:url", + "og:video:secure_url", + "og:audio", + "og:audio:url", + "og:audio:secure_url", + "twitter:image", + "twitter:image:src", + "twitter:player", + "twitter:player:stream", + "payment:success_url" +]); +const KNOWN_META_PROPERTIES = /* @__PURE__ */ new Set([ + "article:author", + "article:expiration_time", + "article:modified_time", + "article:published_time", + "article:section", + "article:tag", + "book:author", + "book:isbn", + "book:release_date", + "book:tag", + "fb:app_id", + "og:audio", + "og:audio:secure_url", + "og:audio:type", + "og:audio:url", + "og:description", + "og:determiner", + "og:image", + "og:image:alt", + "og:image:height", + "og:image:secure_url", + "og:image:type", + "og:image:url", + "og:image:width", + "og:locale", + "og:locale:alternate", + "og:site_name", + "og:title", + "og:type", + "og:url", + "og:video", + "og:video:alt", + "og:video:duration", + "og:video:height", + "og:video:secure_url", + "og:video:type", + "og:video:url", + "og:video:width", + "payment:amount", + "payment:currency", + "payment:description", + "payment:expires_at", + "payment:id", + "payment:status", + "payment:success_url", + "profile:first_name", + "profile:gender", + "profile:last_name", + "profile:username" +]); +const KNOWN_META_NAMES = /* @__PURE__ */ new Set([ + "apple-itunes-app", + "apple-mobile-web-app-capable", + "apple-mobile-web-app-status-bar-style", + "apple-mobile-web-app-title", + "application-name", + "author", + "color-scheme", + "creator", + "description", + "fb:app_id", + "fediverse:creator", + "format-detection", + "generator", + "google-site-verification", + "google", + "googlebot", + "keywords", + "mobile-web-app-capable", + "msapplication-config", + "msapplication-tilecolor", + "msapplication-tileimage", + "publisher", + "rating", + "referrer", + "robots", + "theme-color", + "viewport", + "twitter:app:id:googleplay", + "twitter:app:id:ipad", + "twitter:app:id:iphone", + "twitter:app:name:googleplay", + "twitter:app:name:ipad", + "twitter:app:name:iphone", + "twitter:app:url:googleplay", + "twitter:app:url:ipad", + "twitter:app:url:iphone", + "twitter:card", + "twitter:creator", + "twitter:creator:id", + "twitter:data:1", + "twitter:data:2", + "twitter:description", + "twitter:image", + "twitter:image:alt", + "twitter:label:1", + "twitter:label:2", + "twitter:player", + "twitter:player:height", + "twitter:player:stream", + "twitter:player:width", + "twitter:site", + "twitter:site:id", + "twitter:title" +]); +const TAG_PRIORITY_ALIASES = ["critical", "high", "low"]; +const DEPRECATED_PROPS = { + children: { replacement: "innerHTML", ruleId: "deprecated-prop-children" }, + hid: { replacement: "key", ruleId: "deprecated-prop-hid-vmid" }, + vmid: { replacement: "key", ruleId: "deprecated-prop-hid-vmid" }, + body: { replacement: "tagPosition: 'bodyClose'", ruleId: "deprecated-prop-body" } +}; + +function levenshtein(a, b) { + const m = a.length; + const n = b.length; + const d = Array.from({ length: n + 1 }, (_, i) => i); + for (let i = 1; i <= m; i++) { + let prev = i - 1; + d[0] = i; + for (let j = 1; j <= n; j++) { + const tmp = d[j]; + d[j] = a[i - 1] === b[j - 1] ? prev : 1 + Math.min(prev, d[j], d[j - 1]); + prev = tmp; + } + } + return d[n]; +} +function findClosestMatch(value, knownSet) { + const threshold = value.length <= 8 ? 2 : 3; + let best; + let bestDist = threshold + 1; + for (const known of knownSet) { + if (Math.abs(known.length - value.length) > threshold) + continue; + const dist = levenshtein(value, known); + if (dist < bestDist) { + bestDist = dist; + best = known; + } + } + return best; +} + +const emptyMetaContent = (tag) => { + if (tag.tagType !== "meta") + return []; + if (!tag.keys.has("content")) + return []; + if (tag.props.content !== "") + return []; + const key = typeof tag.props.name === "string" && tag.props.name || typeof tag.props.property === "string" && tag.props.property || "meta"; + const diag = { + ruleId: "empty-meta-content", + message: `Meta tag "${key}" has empty content.`, + at: { kind: "prop", key: "content" } + }; + return [diag]; +}; + +const RESOLVABLE_OBJECT = ["boolean", "function", "null", "object"]; +const RESOLVABLE_TAG_LIST = ["array", "boolean", "function", "null"]; +const RESOLVABLE_TITLE = ["boolean", "function", "null", "number", "object", "string"]; +const ATTRIBUTE_SCALAR = ["boolean", "function", "null", "number", "string"]; +const ATTRIBUTE_STRUCTURED = ["array", "boolean", "function", "null", "number", "object", "string"]; +const INPUT_SHAPE_FIELDS = { + base: { + canonical: "base", + contexts: { head: RESOLVABLE_OBJECT } + }, + bodyattrs: { + canonical: "bodyAttrs", + contexts: { head: RESOLVABLE_OBJECT } + }, + class: { + canonical: "class", + contexts: { + bodyAttrs: ATTRIBUTE_STRUCTURED, + htmlAttrs: ATTRIBUTE_STRUCTURED + } + }, + htmlattrs: { + canonical: "htmlAttrs", + contexts: { head: RESOLVABLE_OBJECT } + }, + link: { + canonical: "link", + contexts: { head: RESOLVABLE_TAG_LIST } + }, + meta: { + canonical: "meta", + contexts: { head: RESOLVABLE_TAG_LIST } + }, + noscript: { + canonical: "noscript", + contexts: { head: RESOLVABLE_TAG_LIST } + }, + script: { + canonical: "script", + contexts: { head: RESOLVABLE_TAG_LIST } + }, + style: { + canonical: "style", + contexts: { + bodyAttrs: ATTRIBUTE_STRUCTURED, + head: RESOLVABLE_TAG_LIST, + htmlAttrs: ATTRIBUTE_STRUCTURED + } + }, + templateparams: { + canonical: "templateParams", + contexts: { head: ["object"] } + }, + title: { + canonical: "title", + contexts: { + bodyAttrs: ATTRIBUTE_SCALAR, + head: RESOLVABLE_TITLE, + htmlAttrs: ATTRIBUTE_SCALAR, + seoMeta: RESOLVABLE_TITLE + } + }, + titletemplate: { + canonical: "titleTemplate", + contexts: { + head: ["function", "null", "object", "string"], + seoMeta: ["function", "null", "object", "string"] + } + } +}; +function includes(kinds, kind) { + return kinds?.includes(kind) === true; +} +function formatKinds(kinds) { + return kinds.join(", "); +} +function invalidKnownHeadField(input, key, shape, kind) { + const expected = shape.contexts[input.context]; + if (includes(expected, kind)) + return void 0; + if ((input.context === "htmlAttrs" || input.context === "bodyAttrs") && kind === "null") + return void 0; + if (input.context === "head") { + return { + ruleId: "invalid-input-shape", + message: `"${shape.canonical}" in a head input must be one of: ${formatKinds(expected || [])}. Received ${kind}.`, + at: { kind: "prop-value", key } + }; + } + if (includes(shape.contexts.head, kind)) { + return { + ruleId: "invalid-input-shape", + message: `"${shape.canonical}" has a head input shape but appears in ${input.context}. Move it to the top-level head input.`, + at: { kind: "prop-value", key } + }; + } +} +function invalidAttributeField(input, key, kind) { + if (includes(ATTRIBUTE_SCALAR, kind)) + return void 0; + return { + ruleId: "invalid-input-shape", + message: `"${key}" in ${input.context} must resolve to a scalar attribute value. Received ${kind}.`, + at: { kind: "prop-value", key } + }; +} +function validateInputShape(input) { + const diagnostics = []; + const isAttributes = input.context === "htmlAttrs" || input.context === "bodyAttrs"; + for (const key of input.keys) { + const kind = input.valueKinds.get(key) ?? "unknown"; + if (kind === "unknown") + continue; + const shape = INPUT_SHAPE_FIELDS[key.toLowerCase()]; + const knownDiagnostic = shape ? invalidKnownHeadField(input, key, shape, kind) : void 0; + if (knownDiagnostic) { + diagnostics.push(knownDiagnostic); + continue; + } + if (isAttributes && !shape?.contexts[input.context]) { + const attributeDiagnostic = invalidAttributeField(input, key, kind); + if (attributeDiagnostic) + diagnostics.push(attributeDiagnostic); + } + } + return diagnostics; +} + +const noDeprecatedProps = (tag) => { + const out = []; + for (const key of tag.keys) { + if (!(key in DEPRECATED_PROPS)) + continue; + const { replacement } = DEPRECATED_PROPS[key]; + if (key === "body") { + if (tag.props.body !== true) + continue; + const fix2 = tag.keys.has("tagPosition") ? void 0 : { type: "replace-prop", key: "body", newSource: `tagPosition: 'bodyClose'` }; + out.push({ + ruleId: "deprecated-prop-body", + message: `"body" was removed in v3 of unhead. Use "${replacement}" instead.`, + at: { kind: "prop", key }, + fix: fix2 + }); + continue; + } + const newKey = key === "children" ? "innerHTML" : "key"; + const fix = tag.keys.has(newKey) ? void 0 : { type: "rename-prop", key, newKey }; + out.push({ + ruleId: key === "children" ? "deprecated-prop-children" : "deprecated-prop-hid-vmid", + message: `"${key}" was removed in v3 of unhead. Use "${replacement}" instead.`, + at: { kind: "prop", key }, + fix + }); + } + return out; +}; + +const HTML_CHARS_RE = /[<>]/; +const noHtmlInTitle = (input) => { + const title = input.props.title; + if (typeof title !== "string" || !HTML_CHARS_RE.test(title)) + return []; + const diag = { + ruleId: "html-in-title", + message: `Title contains HTML characters which will be escaped, not rendered: "${title}".`, + at: { kind: "prop-value", key: "title" } + }; + return [diag]; +}; + +const OG_PREFIX_RE = /^(?:og|article|book|profile|fb):/; +const noUnknownMeta = (tag) => { + if (tag.tagType !== "meta") + return []; + const out = []; + const property = tag.props.property; + if (typeof property === "string" && !KNOWN_META_PROPERTIES.has(property) && OG_PREFIX_RE.test(property)) { + const suggestion = findClosestMatch(property, KNOWN_META_PROPERTIES); + if (suggestion) { + out.push({ + ruleId: "possible-typo", + message: `Unknown meta property "${property}". Did you mean "${suggestion}"?`, + at: { kind: "prop-value", key: "property" }, + fix: { type: "replace-prop-value", key: "property", newSource: `'${suggestion}'` } + }); + } + } + const name = tag.props.name; + if (typeof name === "string") { + const lower = name.toLowerCase(); + if (!KNOWN_META_NAMES.has(lower) && (lower.startsWith("twitter:") || lower.startsWith("fediverse:") || !lower.includes(":"))) { + const suggestion = findClosestMatch(lower, KNOWN_META_NAMES); + if (suggestion) { + out.push({ + ruleId: "possible-typo", + message: `Unknown meta name "${name}". Did you mean "${suggestion}"?`, + at: { kind: "prop-value", key: "name" }, + fix: { type: "replace-prop-value", key: "name", newSource: `'${suggestion}'` } + }); + } + } + } + return out; +}; + +function isAbsolute(url) { + return url.startsWith("http://") || url.startsWith("https://"); +} +const nonAbsoluteCanonical = (tag) => { + if (tag.tagType !== "link") + return []; + if (tag.props.rel !== "canonical") + return []; + const href = tag.props.href; + if (typeof href !== "string") + return []; + if (isAbsolute(href)) + return []; + const diag = { + ruleId: "non-absolute-canonical", + message: `Canonical URL should be absolute, received "${href}".`, + at: { kind: "prop-value", key: "href" } + }; + return [diag]; +}; + +const ALIASES = ["critical", "high", "low"]; +const numericTagPriority = (tag) => { + const value = tag.props.tagPriority; + if (typeof value !== "number") + return []; + const diag = { + ruleId: "numeric-tag-priority", + message: `Numeric tagPriority (${value}) is brittle. Prefer an alias ('critical' | 'high' | 'low') or 'before:<key>' / 'after:<key>'.`, + at: { kind: "prop-value", key: "tagPriority" }, + suggestions: ALIASES.map((alias) => ({ + message: `Replace with '${alias}'`, + fix: { type: "replace-prop-value", key: "tagPriority", newSource: `'${alias}'` } + })) + }; + return [diag]; +}; + +const TAG_TO_HELPER = { + link: "defineLink", + script: "defineScript" +}; +const preferDefineHelpers = (tag, ctx) => { + if (!tag.inArray) + return []; + const helper = TAG_TO_HELPER[tag.tagType]; + if (!helper) + return []; + const localName = ctx?.importedHelpers?.get(helper); + const imported = localName !== void 0; + const fix = { type: "wrap-tag", wrapWith: localName ?? helper }; + const diag = { + ruleId: "prefer-define-helpers", + message: `Wrap this ${tag.tagType} entry in \`${helper}()\` so unhead can narrow its type.`, + fix: imported ? fix : void 0, + suggestions: imported ? void 0 : [{ message: `Wrap in \`${helper}()\` (you may need to import it).`, fix: { type: "wrap-tag", wrapWith: helper } }] + }; + return [diag]; +}; + +const preloadMissingAs = (tag) => { + if (tag.tagType !== "link") + return []; + if (tag.props.rel !== "preload") + return []; + if (tag.keys.has("as")) + return []; + const diag = { + ruleId: "preload-missing-as", + message: 'Preload link is missing the required "as" attribute.' + }; + return [diag]; +}; +const preloadFontCrossorigin = (tag) => { + if (tag.tagType !== "link") + return []; + if (tag.props.rel !== "preload") + return []; + if (tag.props.as !== "font") + return []; + if (tag.keys.has("crossorigin")) + return []; + const diag = { + ruleId: "preload-font-crossorigin", + message: 'Font preload requires "crossorigin" \u2014 without it the font will be fetched twice.', + fix: { type: "insert-after-prop", afterKey: "as", insert: `, crossorigin: 'anonymous'` } + }; + return [diag]; +}; + +const robotsConflict = (tag) => { + if (tag.tagType !== "meta") + return []; + if (tag.props.name !== "robots") + return []; + const content = tag.props.content; + if (typeof content !== "string") + return []; + const directives = content.toLowerCase().split(",").map((d) => d.trim()); + const out = []; + if (directives.includes("index") && directives.includes("noindex")) { + out.push({ + ruleId: "robots-conflict", + message: 'Robots meta has conflicting "index" and "noindex" directives.' + }); + } + if (directives.includes("follow") && directives.includes("nofollow")) { + out.push({ + ruleId: "robots-conflict", + message: 'Robots meta has conflicting "follow" and "nofollow" directives.' + }); + } + return out; +}; + +const deferOnModuleScript = (tag) => { + if (tag.tagType !== "script") + return []; + if (tag.props.type !== "module") + return []; + if (tag.props.defer !== true) + return []; + const diag = { + ruleId: "defer-on-module-script", + message: '"defer" is redundant on module scripts. Modules are deferred by default.', + at: { kind: "prop", key: "defer" }, + fix: { type: "remove-prop", key: "defer" } + }; + return [diag]; +}; +const scriptSrcWithContent = (tag) => { + if (tag.tagType !== "script") + return []; + if (typeof tag.props.src !== "string") + return []; + const hasInner = tag.keys.has("innerHTML") && tag.props.innerHTML !== "" || tag.keys.has("textContent") && tag.props.textContent !== ""; + if (!hasInner) + return []; + const diag = { + ruleId: "script-src-with-content", + message: 'Script has both "src" and inline content. The browser will ignore the inline content.' + }; + return [diag]; +}; + +const NUMERIC_RE = /^\d+$/; +const twitterHandleMissingAt = (tag) => { + if (tag.tagType !== "meta") + return []; + const name = tag.props.name; + if (name !== "twitter:site" && name !== "twitter:creator") + return []; + const content = tag.props.content; + if (typeof content !== "string") + return []; + if (content.startsWith("@") || NUMERIC_RE.test(content)) + return []; + const fixedSource = JSON.stringify(`@${content}`); + const diag = { + ruleId: "twitter-handle-missing-at", + message: `${name} should start with "@", received "${content}".`, + at: { kind: "prop-value", key: "content" }, + fix: { type: "replace-prop-value", key: "content", newSource: fixedSource } + }; + return [diag]; +}; + +const USER_SCALABLE_NO_RE = /user-scalable\s*=\s*(?:no|0|false)(?:[\s,;]|$)/i; +const MAX_SCALE_RE = /maximum-scale\s*=\s*1(?:\.\d+)?(?:[\s,;]|$)/i; +const viewportUserScalable = (tag) => { + if (tag.tagType !== "meta") + return []; + if (tag.props.name !== "viewport") + return []; + const content = tag.props.content; + if (typeof content !== "string") + return []; + const out = []; + if (USER_SCALABLE_NO_RE.test(content)) { + out.push({ + ruleId: "viewport-user-scalable", + message: 'viewport "user-scalable=no" prevents zooming and harms accessibility.' + }); + } + if (MAX_SCALE_RE.test(content)) { + out.push({ + ruleId: "viewport-user-scalable", + message: 'viewport "maximum-scale=1" limits zooming and may harm accessibility.' + }); + } + return out; +}; + +const TAG_TYPES = /* @__PURE__ */ new Set(["meta", "link", "script", "noscript", "style"]); +function valueKind(value) { + if (value === null) + return "null"; + if (Array.isArray(value)) + return "array"; + const kind = typeof value; + if (kind === "boolean" || kind === "function" || kind === "number" || kind === "object" || kind === "string") + return kind; + return "unknown"; +} +function inputShapeFromRuntime(context, input) { + const keys = /* @__PURE__ */ new Set(); + const valueKinds = /* @__PURE__ */ new Map(); + for (const [key, value] of Object.entries(input)) { + keys.add(key); + valueKinds.set(key, valueKind(value)); + } + return { context, keys, valueKinds }; +} +function tagInputFromRuntime(tag) { + if (!TAG_TYPES.has(tag.tag)) + return void 0; + const props = {}; + const keys = /* @__PURE__ */ new Set(); + for (const [k, v] of Object.entries(tag.props)) { + keys.add(k); + if (v == null) { + if (tag.tag === "meta" && k === "content") + props[k] = ""; + continue; + } + if (typeof v === "string" || typeof v === "number" || typeof v === "boolean") { + if (tag.tag === "meta" && k === "name" && typeof v === "string") + props[k] = v.toLowerCase(); + else + props[k] = v; + } else { + props[k] = String(v); + } + } + if (tag.tag === "script" || tag.tag === "style" || tag.tag === "noscript") { + if (tag.innerHTML != null && tag.innerHTML !== "") { + keys.add("innerHTML"); + } + if (tag.textContent != null && tag.textContent !== "") { + keys.add("textContent"); + } + } + if (tag.tagPriority != null) { + keys.add("tagPriority"); + if (typeof tag.tagPriority === "string" || typeof tag.tagPriority === "number") + props.tagPriority = tag.tagPriority; + } + return { + tagType: tag.tag, + props, + keys + }; +} +function titleInputFromRuntime(titleTag) { + if (titleTag.tag !== "title") + return void 0; + const text = titleTag.textContent ?? titleTag.innerHTML ?? ""; + return { + callee: "runtime", + props: { title: text }, + keys: /* @__PURE__ */ new Set(["title"]) + }; +} + +const tagPredicates = { + "defer-on-module-script": deferOnModuleScript, + "empty-meta-content": emptyMetaContent, + "no-deprecated-props": noDeprecatedProps, + "no-unknown-meta": noUnknownMeta, + "non-absolute-canonical": nonAbsoluteCanonical, + "numeric-tag-priority": numericTagPriority, + "preload-font-crossorigin": preloadFontCrossorigin, + "preload-missing-as": preloadMissingAs, + "robots-conflict": robotsConflict, + "script-src-with-content": scriptSrcWithContent, + "twitter-handle-missing-at": twitterHandleMissingAt, + "viewport-user-scalable": viewportUserScalable +}; +const inputShapePredicates = { + "invalid-input-shape": validateInputShape +}; +const migrationTagPredicates = { + "prefer-define-helpers": preferDefineHelpers +}; +const headInputPredicates = { + "no-html-in-title": noHtmlInTitle +}; + +export { DEPRECATED_PROPS as D, INPUT_SHAPE_FIELDS as I, KNOWN_META_NAMES as K, TAG_PRIORITY_ALIASES as T, URL_META_KEYS as U, KNOWN_META_PROPERTIES as a, inputShapePredicates as b, noHtmlInTitle as c, deferOnModuleScript as d, emptyMetaContent as e, findClosestMatch as f, noUnknownMeta as g, headInputPredicates as h, inputShapeFromRuntime as i, nonAbsoluteCanonical as j, numericTagPriority as k, levenshtein as l, migrationTagPredicates as m, noDeprecatedProps as n, preloadFontCrossorigin as o, preferDefineHelpers as p, preloadMissingAs as q, robotsConflict as r, scriptSrcWithContent as s, tagInputFromRuntime as t, tagPredicates as u, titleInputFromRuntime as v, twitterHandleMissingAt as w, validateInputShape as x, viewportUserScalable as y }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs new file mode 100644 index 0000000..f9787ec --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs @@ -0,0 +1,6 @@ +const hasOwnProperty = Object.prototype.hasOwnProperty; +function hasOwn(object, key) { + return hasOwnProperty.call(object, key); +} + +export { hasOwn as h }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs new file mode 100644 index 0000000..6d1c945 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs @@ -0,0 +1,17 @@ +import { HookableCore } from 'hookable'; + +function createHooks(hooks) { + const instance = new HookableCore(); + for (const key in hooks || {}) { + instance.hook(key, hooks[key]); + } + return instance; +} +function callHook(head, hook, ctx) { + const hooks = head.hooks?._hooks?.[hook]; + if (!hooks?.length) + return; + return head.hooks?.callHook(hook, ctx); +} + +export { callHook as a, createHooks as c }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs new file mode 100644 index 0000000..160a20b --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs @@ -0,0 +1,49 @@ +import { r as registerPlugin } from './unhead.D7HkBzZn.mjs'; + +function createClientHeadAdapter(core, hooks, render) { + const corePush = core.push; + const head = core; + head.ssr = false; + head.hooks = hooks; + head.dirty = !!head.dirty; + head.use = (p) => registerPlugin(head, p); + head.render = () => render(head); + function notify() { + hooks.callHook("entries:updated", head); + if (!head._b) + head.render(); + } + head.invalidate = () => { + for (const entry of head.entries.values()) + delete entry._tags; + head.dirty = true; + notify(); + }; + head.push = (input, entryOptions) => { + const unhook = entryOptions?.onRendered ? hooks.hook("dom:rendered", entryOptions.onRendered) : void 0; + const active = corePush(input, entryOptions); + const entry = core.entries.get(active._i); + if (entry) + entry._o = input; + head.dirty = true; + notify(); + return { + _i: active._i, + patch(input2) { + active.patch(input2); + head.dirty = true; + notify(); + }, + dispose() { + unhook?.(); + if (core.entries.has(active._i)) { + active.dispose(); + head.invalidate(); + } + } + }; + }; + return head; +} + +export { createClientHeadAdapter as c }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs new file mode 100644 index 0000000..e6b278e --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs @@ -0,0 +1,32 @@ +const SelfClosingTags = /* @__PURE__ */ new Set(["meta", "link", "base"]); +const DupeableTags = /* @__PURE__ */ new Set(["link", "style", "script", "noscript"]); +const TagsWithInnerContent = /* @__PURE__ */ new Set(["title", "titleTemplate", "script", "style", "noscript"]); +const HasElementTags = /* @__PURE__ */ new Set(["base", "meta", "link", "style", "script", "noscript"]); +const ValidHeadTags = /* @__PURE__ */ new Set(["title", "base", "htmlAttrs", "bodyAttrs", "meta", "link", "style", "script", "noscript"]); +const UniqueTags = /* @__PURE__ */ new Set(["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"]); +const TagConfigKeys = /* @__PURE__ */ new Set(["key", "tagPosition", "tagPriority", "tagDuplicateStrategy", "innerHTML", "textContent", "processTemplateParams"]); +const ScriptNetworkEvents = /* @__PURE__ */ new Set(["onload", "onerror"]); +const UsesMergeStrategy = /* @__PURE__ */ new Set(["templateParams", "htmlAttrs", "bodyAttrs"]); +const MetaTagsArrayable = /* @__PURE__ */ new Set([ + "theme-color", + "google-site-verification", + "author", + "og:locale:alternate", + "og:image", + "og:video", + "og:audio", + "article:author", + "article:tag", + "book:author", + "book:tag", + "twitter:image" +]); +const TagPriorityAliases = { critical: -8, high: -1, low: 2 }; +const hasContent = (value) => typeof value === "number" ? Number.isFinite(value) : value; + +// @__NO_SIDE_EFFECTS__ +function isUnsafeKey(key) { + return key === "__proto__" || key === "constructor" || key === "prototype"; +} + +export { DupeableTags as D, HasElementTags as H, MetaTagsArrayable as M, ScriptNetworkEvents as S, TagConfigKeys as T, UniqueTags as U, ValidHeadTags as V, SelfClosingTags as a, TagPriorityAliases as b, TagsWithInnerContent as c, UsesMergeStrategy as d, hasContent as h, isUnsafeKey as i }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs new file mode 100644 index 0000000..c5fe1f6 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs @@ -0,0 +1,7 @@ +function defineHeadPlugin(plugin, key) { + if (key && typeof plugin === "function") + plugin.key = key; + return plugin; +} + +export { defineHeadPlugin as d }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs new file mode 100644 index 0000000..f0dffb4 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs @@ -0,0 +1,11 @@ +const VALID_STREAM_KEY_RE = /^[$_a-z][$\w]*$/i; +function parseStreamKey(streamKey) { + if (typeof streamKey !== "string" || !VALID_STREAM_KEY_RE.test(streamKey)) { + throw new Error( + `[unhead] Invalid streamKey: must be a valid JavaScript identifier matching ${VALID_STREAM_KEY_RE}. Received: ${JSON.stringify(streamKey)}` + ); + } + return streamKey; +} + +export { parseStreamKey as p }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs new file mode 100644 index 0000000..d48224e --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs @@ -0,0 +1,19 @@ +import { c as createUnhead } from './unhead.D7HkBzZn.mjs'; +import { b as TagPriorityAliases } from './unhead.CGPOfp5O.mjs'; +import { c as createHooks } from './unhead.Bm4Y6XQI.mjs'; +import { c as createClientHeadAdapter } from './unhead.C5Bksi2B.mjs'; +import { c as createDomRenderer } from './unhead.DD4N5B4k.mjs'; + +const tagWeight = (tag) => typeof tag.tagPriority === "number" ? tag.tagPriority : 100 + (TagPriorityAliases[tag.tagPriority] || 0); +function createHead(options = {}) { + options.document = options.document || (typeof window !== "undefined" ? document : void 0); + const renderer = options.render || createDomRenderer({ document: options.document }); + const core = createUnhead(renderer, { document: options.document, propResolvers: options.propResolvers, _tagWeight: tagWeight, init: [] }); + const hooks = createHooks(options.hooks); + const head = createClientHeadAdapter(core, hooks, renderer); + options.plugins?.forEach((p) => head.use(p)); + options.init?.forEach((e) => e && head.push(e)); + return head; +} + +export { createHead as c }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs new file mode 100644 index 0000000..1032855 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs @@ -0,0 +1,59 @@ +function registerPlugin(head, p) { + if (typeof p === "function" && p.key && head.plugins.has(p.key)) + return; + const plugin = typeof p === "function" ? p(head) : p; + const key = plugin.key || String(head.plugins.size + 1); + if (!head.plugins.get(key)) { + head.plugins.set(key, plugin); + for (const k in plugin.hooks || {}) + head.hooks?.hook(k, plugin.hooks[k]); + } +} +// @__NO_SIDE_EFFECTS__ +function createUnhead(renderer, resolvedOptions = {}) { + const ssr = !resolvedOptions.document; + const entries = /* @__PURE__ */ new Map(); + const plugins = /* @__PURE__ */ new Map(); + const head = { + _entryCount: 1, + _h: 0, + plugins, + resolvedOptions, + ssr, + entries, + // adapters decorate this same object; reserve the slot to keep its shape stable + hooks: void 0, + render: () => renderer(head), + use: (p) => registerPlugin(head, p), + push(input, _options) { + const _i = _options?._index ?? head._entryCount++; + const options = _options ? { ..._options } : {}; + delete options.head; + delete options.onRendered; + delete options._index; + const entry = { _i, input, options }; + entries.set(_i, entry); + const active = { + _i, + dispose() { + entries.delete(_i); + }, + patch(input2) { + if (ssr) { + entry.input = input2; + delete entry._tags; + } else { + entry._pending = input2; + } + if (!entries.has(_i)) + entries.set(_i, entry); + } + }; + return active; + } + }; + resolvedOptions.init?.forEach((e) => e && head.push(e)); + return head; +} + +export { createUnhead as c, registerPlugin as r }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs new file mode 100644 index 0000000..2a0560f --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs @@ -0,0 +1,240 @@ +import { d as defineHeadPlugin } from './unhead.CHEy9ana.mjs'; +import { p as processTemplateParams } from './unhead.DspMpm6y.mjs'; + +const sortTags = (a, b) => a._w === b._w ? a._p - b._p : a._w - b._w; +const formatKey = (k) => !k.includes(":key") ? k.split(":").join(":key:") : k; +const AliasSortingPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "aliasSorting", + hooks: { + "tags:resolve": (ctx) => { + let m = false; + for (const t of ctx.tags) { + const p = t.tagPriority; + if (!p) + continue; + const s = String(p); + if (s.startsWith("before:")) { + const k = formatKey(s.slice(7)); + const l = ctx.tagMap.get(k); + if (l) { + if (typeof l.tagPriority === "number") + t.tagPriority = l.tagPriority; + t._p = l._p - 1; + m = true; + } + } else if (s.startsWith("after:")) { + const k = formatKey(s.slice(6)); + const l = ctx.tagMap.get(k); + if (l) { + if (typeof l.tagPriority === "number") + t.tagPriority = l.tagPriority; + t._p = l._p + 1; + m = true; + } + } + } + if (m) + ctx.tags = ctx.tags.sort(sortTags); + } + } +}); + +const DeprecationsPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "deprecations", + hooks: { + "entries:normalize": ({ tags }) => { + for (const tag of tags) { + if (tag.props.children) { + tag.innerHTML = tag.props.children; + delete tag.props.children; + } + if (tag.props.hid) { + tag.key = tag.props.hid; + delete tag.props.hid; + } + if (tag.props.vmid) { + tag.key = tag.props.vmid; + delete tag.props.vmid; + } + if ("body" in tag.props) { + if (tag.props.body) { + tag.tagPosition = "bodyClose"; + } + delete tag.props.body; + } + if (tag.props.renderPriority != null) { + tag.tagPriority = tag.props.renderPriority; + delete tag.props.renderPriority; + } + } + } + } +}); + +function isThenable(v) { + return typeof v?.then === "function"; +} +const maxSyncPrefix = 256; +function walkArrayPromises(v, index) { + if (index === v.length) + return; + if (index === maxSyncPrefix) { + const values2 = new Array(v.length); + let hasThenable = false; + for (; index < v.length; index++) { + const value2 = walkPromises(v[index]); + values2[index] = value2; + hasThenable ||= isThenable(value2); + } + return hasThenable ? values2 : void 0; + } + const value = walkPromises(v[index]); + if (isThenable(value)) { + const values2 = new Array(v.length); + values2[index] = value; + for (let rest = index + 1; rest < v.length; rest++) + values2[rest] = walkPromises(v[rest]); + return values2; + } + const values = walkArrayPromises(v, index + 1); + if (values) + values[index] = value; + return values; +} +function walkObjectPromises(v, keys, index) { + if (index === keys.length) + return; + if (index === maxSyncPrefix) { + const values2 = new Array(keys.length); + let hasThenable = false; + for (; index < keys.length; index++) { + const value2 = walkPromises(v[keys[index]]); + values2[index] = value2; + hasThenable ||= isThenable(value2); + } + return hasThenable ? values2 : void 0; + } + const value = walkPromises(v[keys[index]]); + if (isThenable(value)) { + const values2 = new Array(keys.length); + values2[index] = value; + for (let rest = index + 1; rest < keys.length; rest++) + values2[rest] = walkPromises(v[keys[rest]]); + return values2; + } + const values = walkObjectPromises(v, keys, index + 1); + if (values) + values[index] = value; + return values; +} +function walkPromises(v) { + if (typeof v === "function") + return v; + if (isThenable(v)) + return Promise.resolve(v).then(walkPromises); + if (Array.isArray(v)) { + const values = walkArrayPromises(v, 0); + return values ? Promise.all(values) : v; + } + if (v?.constructor === Object) { + const keys = Object.keys(v); + const values = walkObjectPromises(v, keys, 0); + if (values) { + return Promise.all(values).then((resolved) => Object.fromEntries( + keys.map((key, index) => [key, resolved[index]]) + )); + } + } + return v; +} +const PromisesPlugin = /* @__PURE__ */ defineHeadPlugin((head) => { + const pending = /* @__PURE__ */ new WeakMap(); + return { + key: "promises", + hooks: { + "entries:resolve": (ctx) => { + for (let index = ctx.entries.length - 1; index >= 0; index--) { + const entry = ctx.entries[index]; + const input = entry.input; + if (pending.get(entry) === input) { + ctx.entries.splice(index, 1); + continue; + } + const result = walkPromises(input); + if (!isThenable(result)) { + pending.delete(entry); + continue; + } + pending.set(entry, input); + ctx.entries.splice(index, 1); + void Promise.resolve(result).then( + (resolved) => { + if (pending.get(entry) !== input) + return; + pending.delete(entry); + entry.input = resolved; + delete entry._tags; + head.invalidate?.(); + }, + () => { + if (pending.get(entry) === input) + pending.delete(entry); + } + ); + } + } + } + }; +}, "promises"); + +const SupportedAttrs = { + meta: "content", + link: "href", + htmlAttrs: "lang" +}; +const contentAttrs = ["innerHTML", "textContent"]; +function processIfNeeded(value, params, separator, isJson = false) { + return typeof value === "string" && value.includes("%") ? processTemplateParams(value, params, separator, isJson) : value; +} +const TemplateParamsPlugin = /* @__PURE__ */ defineHeadPlugin((head) => { + return { + key: "template-params", + hooks: { + "tags:resolve": ({ tagMap, tags }) => { + const params = tagMap.get("templateParams")?.props || {}; + const sep = params.separator || "|"; + delete params.separator; + params.pageTitle = processIfNeeded( + // find templateParams + params.pageTitle || head._title || "", + params, + sep + ); + for (const tag of tags) { + if (tag.processTemplateParams === false) { + continue; + } + const v = SupportedAttrs[tag.tag]; + if (v && typeof tag.props[v] === "string") { + tag.props[v] = processIfNeeded(tag.props[v], params, sep); + } else if (tag.processTemplateParams || tag.tag === "titleTemplate" || tag.tag === "title") { + for (const p of contentAttrs) { + if (typeof tag[p] === "string") + tag[p] = processIfNeeded(tag[p], params, sep, tag.tag === "script" && typeof tag.props.type === "string" && tag.props.type.endsWith("json")); + } + } + } + head._templateParams = params; + head._separator = sep; + }, + "tags:afterResolve": ({ tagMap }) => { + const title = tagMap.get("title"); + if (title?.textContent && title.processTemplateParams !== false) { + title.textContent = processIfNeeded(title.textContent, head._templateParams, head._separator); + } + } + } + }; +}, "template-params"); + +export { AliasSortingPlugin as A, DeprecationsPlugin as D, PromisesPlugin as P, TemplateParamsPlugin as T }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs new file mode 100644 index 0000000..5817cf6 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs @@ -0,0 +1,224 @@ +import { H as HasElementTags } from './unhead.CGPOfp5O.mjs'; +import { r as resolveTags, i as isMetaArrayDupeKey, b as normalizeProps, d as dedupeKey, h as hashTag } from './unhead.DJuZwX9c.mjs'; +import { a as callHook } from './unhead.Bm4Y6XQI.mjs'; + +const WHITESPACE_RE = /\s+/; +// @__NO_SIDE_EFFECTS__ +function createDomRenderer(options = {}) { + return (head) => _renderDOMHead(head, options); +} +function renderDOMHead(head, options = {}) { + return _renderDOMHead(head, options); +} +function hasPendingEntries(head) { + for (const entry of head.entries.values()) { + if (entry._pending !== void 0) + return true; + } + return false; +} +function createDomState(head, dom) { + const state = { _d: dom, _t: dom.title, _e: /* @__PURE__ */ new Map([["htmlAttrs", dom.documentElement], ["bodyAttrs", dom.body]]), _p: {}, _s: {}, _l: /* @__PURE__ */ new Map() }; + for (const entry of head.entries.values()) { + if (entry._o !== void 0) { + const orig = entry._o; + for (const t of ["bodyAttrs", "htmlAttrs"]) { + const cls = orig[t]?.class; + if (typeof cls === "string") { + const $el = state._e.get(t); + for (const c of cls.split(WHITESPACE_RE)) { + if (c) + state._p[`${t}:attr:class:${c}`] = () => $el.classList.remove(c); + } + } + } + } + } + return state; +} +function _renderDOMHead(head, options = {}) { + const dom = options.document || head.resolvedOptions.document; + const activeState = head._dom; + if (!dom || head._du || activeState && activeState._d === dom && !head.dirty && !hasPendingEntries(head)) + return false; + const defaultView = dom.defaultView; + head._du = true; + let didRender = false; + try { + let track = function(key, fn, fresh) { + renderState._s[key] = !fresh && previous[key] || fn; + delete previous[key]; + }, trackEvent = function(id, k, ev, source, $el, target) { + const key = `${id}:event:${k}`; + const prev = renderState._l.get(key); + if (prev && prev[0] === target && prev[1] === ev && prev[2] === source) { + track(key, prev[4]); + return; + } + prev?.[4](); + const dk = `data-${k}`; + const handler = ((e) => source.call($el, e)); + const cleanup = () => { + target.removeEventListener(ev, handler); + if ($el.getAttribute(dk) === "") + $el.removeAttribute(dk); + if (renderState._l.get(key)?.[3] === handler) + renderState._l.delete(key); + }; + target.addEventListener(ev, handler); + renderState._l.set(key, [target, ev, source, handler, cleanup]); + $el.setAttribute(dk, ""); + track(key, cleanup, true); + }, trackCtx = function({ id, $el, tag }) { + renderState._e.set(id, $el); + if (!tag.tag.endsWith("Attrs")) { + const text = tag.textContent; + if (text != null && text !== "") { + if (text !== $el.textContent) + $el.textContent = text; + track(`${id}:text`, () => { + if ($el.textContent === text) + $el.textContent = ""; + }, true); + } + const html = tag.innerHTML; + if (html != null && html !== "") { + if (html !== $el.innerHTML) + $el.innerHTML = html; + track(`${id}:html`, () => { + if ($el.innerHTML === html) + $el.innerHTML = ""; + }, true); + } + const elKey = `${id}:el`; + track(elKey, previous[elKey] || (() => { + $el?.remove(); + renderState._e.delete(id); + })); + } + for (const k in tag.props) { + const v = tag.props[k]; + if (k[0] === "o" && k[1] === "n" && typeof v === "function") { + const ev = k.slice(2); + if ($el?.dataset?.[`${k}fired`]) + v.call($el, new (defaultView?.Event || Event)(ev)); + trackEvent(id, k, ev, v, $el, tag.tag === "bodyAttrs" && defaultView ? defaultView : $el); + continue; + } + const ck = `${id}:attr:${k}`; + if (k === "class" && v) { + for (const c of v) { + const key = `${ck}:${c}`; + track(key, previous[key] || (() => $el.classList.remove(c))); + if (!$el.classList.contains(c)) + $el.classList.add(c); + } + } else if (k === "style" && v) { + for (const [sk, sv] of v) { + const key = `${ck}:${sk}`; + track(key, previous[key] || (() => $el.style.removeProperty(sk))); + $el.style.setProperty(sk, sv); + } + } else if (v !== false && v !== null) { + if ($el.getAttribute(k) !== v) + $el.setAttribute(k, v === true ? "" : String(v)); + track(ck, previous[ck] || (() => $el.removeAttribute(k))); + } + } + }; + const beforeRenderCtx = { shouldRender: true, tags: [] }; + callHook(head, "dom:beforeRender", beforeRenderCtx); + if (!beforeRenderCtx.shouldRender) + return false; + let state = activeState; + if (state?._d !== dom) { + if (state) { + for (const k in state._s) state._s[k](); + for (const k in state._p) state._p[k](); + state._s = state._p = {}; + state._e.clear(); + state._l.clear(); + } + state = void 0; + } + if (!state) { + state = createDomState(head, dom); + } else { + state._p = state._s; + } + state._s = {}; + const renderState = state; + const previous = renderState._p; + const pending = []; + const frag = {}; + head.dirty = false; + const rawTags = resolveTags(head, options.tagWeight ? { tagWeight: options.tagWeight } : void 0); + const tags = []; + const dupeKeyCounter = {}; + for (const tag of rawTags) { + const count = dupeKeyCounter[tag._d] || 0; + const id = (count ? `${tag._d}:${count}` : tag._d) || tag._h; + const ctx = { tag, id, shouldRender: true }; + if (tag.tag === "meta" && tag._d && isMetaArrayDupeKey(tag._d)) + dupeKeyCounter[tag._d] = count + 1; + tags.push(ctx); + if (tag.tag === "title") { + dom.title = tag.textContent; + track("title:", () => dom.title = renderState._t); + continue; + } + ctx.$el = renderState._e.get(id); + if (ctx.$el) + trackCtx(ctx); + else if (HasElementTags.has(tag.tag)) + pending.push(ctx); + } + if (pending.length) { + const tracked = new Set(renderState._e.values()); + for (const el of [...dom.body.children, ...dom.head.children]) { + const elTag = el.tagName.toLowerCase(); + if (!HasElementTags.has(elTag) || tracked.has(el)) + continue; + const props = { innerHTML: el.innerHTML }; + for (const n of el.getAttributeNames()) + props[n] = el.getAttribute(n); + const next = normalizeProps({ tag: elTag, props: {} }, props); + next.key = el.getAttribute("data-hid") || void 0; + const dedupe = dedupeKey(next) || hashTag(next); + let k = dedupe; + let c = 1; + while (renderState._e.has(k)) + k = `${dedupe}:${c++}`; + renderState._e.set(k, el); + } + } + for (const ctx of pending) { + const found = renderState._e.get(ctx.id); + ctx.$el = found || dom.createElement(ctx.tag.tag); + trackCtx(ctx); + if (!found) + (frag[ctx.tag.tagPosition || "head"] ??= dom.createDocumentFragment()).appendChild(ctx.$el); + } + if (frag.head) + dom.head.appendChild(frag.head); + if (frag.bodyOpen) + dom.body.insertBefore(frag.bodyOpen, dom.body.firstChild); + if (frag.bodyClose) + dom.body.appendChild(frag.bodyClose); + for (const k in previous) + previous[k](); + head._dom = renderState; + didRender = true; + callHook(head, "dom:rendered", { renders: tags }); + } catch (e) { + head.dirty = true; + throw e; + } finally { + head._du = false; + } + if (didRender && (head.dirty || hasPendingEntries(head))) + _renderDOMHead(head, options); + return didRender; +} + +export { createDomRenderer as c, renderDOMHead as r }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs new file mode 100644 index 0000000..b8f1db4 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs @@ -0,0 +1,196 @@ +import { c as createUnhead } from './unhead.D7HkBzZn.mjs'; +import { I as INVALID_ATTR_NAME_RE, r as resolveTags, n as normalizeEntryToTags, d as dedupeKey, h as hashTag } from './unhead.DJuZwX9c.mjs'; +import { a as callHook, c as createHooks } from './unhead.Bm4Y6XQI.mjs'; +import { b as TagPriorityAliases, a as SelfClosingTags, c as TagsWithInnerContent } from './unhead.CGPOfp5O.mjs'; + +const isTruthy = (v) => v === "" || v === true; +function capoTagWeight(tag) { + if (typeof tag.tagPriority === "number") + return tag.tagPriority; + let weight = 100; + const offset = TagPriorityAliases[tag.tagPriority] || 0; + if (tag.tag === "base") { + weight = -10; + } else if (tag.tag === "title") { + weight = 10; + } else if (tag.tag === "meta") { + weight = tag.props["http-equiv"] === "content-security-policy" ? -30 : tag.props.charset ? -20 : tag.props.name === "viewport" ? -15 : weight; + } else if (tag.tag === "link" && tag.props.rel) { + const rel = tag.props.rel; + weight = rel === "preconnect" ? 20 : rel === "stylesheet" ? 60 : rel === "preload" || rel === "modulepreload" ? 70 : rel === "prefetch" || rel === "dns-prefetch" || rel === "prerender" ? 90 : weight; + } else if (tag.tag === "script") { + const type = typeof tag.props.type === "string" ? tag.props.type : ""; + const json = type.endsWith("json"); + if (type === "importmap") + weight = 25; + else if (type === "speculationrules") + weight = 90; + else if (isTruthy(tag.props.async)) + weight = 30; + else if (tag.props.src && !isTruthy(tag.props.defer) && type !== "module" && !json || (tag.innerHTML || tag.textContent) && !json) + weight = 50; + else if (isTruthy(tag.props.defer) && tag.props.src || type === "module") + weight = 80; + } else if (tag.tag === "style") { + weight = tag.innerHTML && /@import/.test(tag.innerHTML) ? 40 : 60; + } + return (weight || 100) + offset; +} + +const DOUBLE_QUOTE_RE = /"/g; +function encodeAttribute(value) { + const s = typeof value === "string" ? value : String(value); + return s.includes('"') ? s.replace(DOUBLE_QUOTE_RE, """) : s; +} +function propsToString(props) { + let attrs = ""; + for (const key in props) { + if (!Object.hasOwn(props, key) || !key || INVALID_ATTR_NAME_RE.test(key)) + continue; + let value = props[key]; + if (typeof value !== "string") { + if (key === "class") { + let out = ""; + for (const c of value) out += out ? ` ${c}` : c; + value = out; + } else if (key === "style") { + let out = ""; + for (const [k, v] of value) out += out ? `;${k}:${v}` : `${k}:${v}`; + value = out; + } + } + if (value !== false && value !== null) { + attrs += value === true ? ` ${key}` : ` ${key}="${encodeAttribute(value)}"`; + } + } + return attrs; +} + +const ESCAPE_HTML_RE = /[&<>"'/]/g; +const CLOSE_TAG_RE = {}; +const ESCAPE_HTML_MAP = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" }; +function escapeHtml(str) { + return str.replace(ESCAPE_HTML_RE, (c) => ESCAPE_HTML_MAP[c]); +} +function tagToString(tag) { + const attrs = propsToString(tag.props); + const openTag = `<${tag.tag}${attrs}>`; + if (SelfClosingTags.has(tag.tag)) + return openTag; + if (!TagsWithInnerContent.has(tag.tag)) + return `${openTag}</${tag.tag}>`; + let content = String(tag.textContent ?? tag.innerHTML ?? ""); + content = tag.tag === "title" ? escapeHtml(content) : content.replace(CLOSE_TAG_RE[tag.tag] ||= new RegExp(`</${tag.tag}`, "gi"), `<\\/${tag.tag}`); + return `${openTag}${content}</${tag.tag}>`; +} + +function ssrRenderTags(tags, options) { + const schema = { htmlAttrs: {}, bodyAttrs: {}, tags: { head: "", bodyClose: "", bodyOpen: "" } }; + const lineBreaks = !options?.omitLineBreaks ? "\n" : ""; + for (const tag of tags) { + if (tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs") { + Object.assign(schema[tag.tag], tag.props); + continue; + } + const s = tagToString(tag); + const tagPosition = tag.tagPosition || "head"; + schema.tags[tagPosition] += schema.tags[tagPosition] ? `${lineBreaks}${s}` : s; + } + return { + headTags: schema.tags.head, + bodyTags: schema.tags.bodyClose, + bodyTagsOpen: schema.tags.bodyOpen, + htmlAttrs: propsToString(schema.htmlAttrs), + bodyAttrs: propsToString(schema.bodyAttrs) + }; +} + +// @__NO_SIDE_EFFECTS__ +function createServerRenderer(options = {}) { + return (head) => { + const beforeRenderCtx = { shouldRender: true }; + callHook(head, "ssr:beforeRender", beforeRenderCtx); + if (!beforeRenderCtx.shouldRender) + return ssrRenderTags([]); + const ctx = { + tags: options.resolvedTags || resolveTags(head, { tagWeight: options.tagWeight ?? capoTagWeight }), + options: { ...options } + }; + callHook(head, "ssr:render", ctx); + const html = ssrRenderTags(ctx.tags, ctx.options); + const renderCtx = { tags: ctx.tags, html }; + callHook(head, "ssr:rendered", renderCtx); + return renderCtx.html; + }; +} +// @__NO_SIDE_EFFECTS__ +function renderSSRHead(head, options) { + return (/* @__PURE__ */ createServerRenderer(options))(head); +} + +const DEFAULT_INIT = { + htmlAttrs: { + lang: "en" + }, + meta: [ + { + charset: "utf-8" + }, + { + name: "viewport", + content: "width=device-width, initial-scale=1" + } + ] +}; +const serverPropResolver = /* @__PURE__ */ Object.assign( + (k, v) => { + if (k && k.startsWith("on") && typeof v === "function") { + return `this.dataset.${k}fired = true`; + } + return v; + }, + { _static: true } +); +let defaultInitTags; +function getDefaultInitTags() { + if (!defaultInitTags) { + defaultInitTags = normalizeEntryToTags(DEFAULT_INIT, []); + for (let i = 0; i < defaultInitTags.length; i++) { + const t = defaultInitTags[i]; + t._w = capoTagWeight(t); + t._p = (1 << 10) + i; + t._d = dedupeKey(t); + if (!t._d) + t._h = hashTag(t); + } + } + return defaultInitTags; +} +// @__NO_SIDE_EFFECTS__ +function createHead(options = {}) { + const tagWeight = options.tagWeight || capoTagWeight; + const core = createUnhead(createServerRenderer({ tagWeight, omitLineBreaks: options.omitLineBreaks }), { + _tagWeight: tagWeight, + // @ts-expect-error untyped + document: false, + experimentalStreamKey: options.experimentalStreamKey, + propResolvers: [ + ...options.propResolvers || [], + serverPropResolver + ], + init: [ + options.disableDefaults ? void 0 : DEFAULT_INIT, + ...options.init || [] + ] + }); + if (!options.disableDefaults && !options.tagWeight && !options.propResolvers?.some((r) => !r._static)) { + const defaultEntry = core.entries.get(1); + if (defaultEntry) + defaultEntry._precomputedTags = getDefaultInitTags(); + } + core.hooks = createHooks(options.hooks); + options.plugins?.forEach((p) => core.use(p)); + return core; +} + +export { capoTagWeight as a, createServerRenderer as b, createHead as c, escapeHtml as e, propsToString as p, renderSSRHead as r, ssrRenderTags as s, tagToString as t }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs new file mode 100644 index 0000000..c77eb72 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs @@ -0,0 +1,400 @@ +import { U as UniqueTags, c as TagsWithInnerContent, M as MetaTagsArrayable, i as isUnsafeKey, H as HasElementTags, T as TagConfigKeys, D as DupeableTags, d as UsesMergeStrategy, V as ValidHeadTags, h as hasContent } from './unhead.CGPOfp5O.mjs'; +import { a as callHook } from './unhead.Bm4Y6XQI.mjs'; + +const META_NOREWRITE_RE = /^(?:viewport|description|keywords|robots)$/; +const META_KEY_ATTRS = ["name", "property", "http-equiv"]; +function isMetaArrayDupeKey(v) { + const i = v.indexOf(":"); + if (i === -1) + return false; + const key = v.slice(i + 1); + return MetaTagsArrayable.has(key) || key.startsWith("og:image:") || key.startsWith("og:video:") || key.startsWith("og:audio:") || key.startsWith("twitter:image:"); +} +function dedupeKey(tag) { + const { props, tag: t, key } = tag; + if (UniqueTags.has(t)) + return t; + if (t === "link") { + if (props.rel === "canonical") + return "canonical"; + if (props.rel === "alternate" && props.hreflang) + return `alternate:${props.hreflang}`; + } + if (props.charset) + return "charset"; + if (t === "meta") { + for (const n of META_KEY_ATTRS) { + const v = props[n]; + if (v !== void 0) + return `meta:${v}${(typeof v !== "string" || !v.includes(":")) && !META_NOREWRITE_RE.test(v) && key ? `:key:${key}` : ""}`; + } + } + if (key) + return `${t}:key:${key}`; + if (props.id) + return `${t}:id:${props.id}`; + if (t === "link" && props.rel && props.href) + return `link:${props.rel}:${props.href}`; + return TagsWithInnerContent.has(t) && (tag.textContent || tag.innerHTML) ? `${t}:content:${tag.textContent || tag.innerHTML}` : void 0; +} +function hashTag(tag) { + const identity = tag._h || tag._d || tag.textContent || tag.innerHTML; + if (identity) + return String(identity); + const keys = Object.keys(tag.props).sort(); + let hash = `${tag.tag}:`; + let separator = ""; + for (const key of keys) { + hash += `${separator}${key}:${String(tag.props[key])}`; + separator = ","; + } + return hash; +} + +function walkResolver(val, resolve, key) { + if (key === "_resolver") + return val; + if (typeof val === "function" && (!key || key !== "titleTemplate" && !key.startsWith("on"))) + val = val(); + const v = resolve ? resolve(key, val) : val; + if (Array.isArray(v)) { + let out; + for (let i = 0; i < v.length; i++) { + const r = walkResolver(v[i], resolve); + if (out) { + out[i] = r; + } else if (r !== v[i]) { + out = v.slice(0, i); + out[i] = r; + } + } + return out || v; + } + if (v?.constructor === Object) { + let next; + for (const k in v) { + const unsafe = isUnsafeKey(k); + const r = unsafe ? void 0 : walkResolver(v[k], resolve, k); + if (!next && (unsafe || r !== v[k])) { + next = {}; + for (const pk in v) { + if (pk === k) + break; + next[pk] = v[pk]; + } + } + if (next && !unsafe) + next[k] = r; + } + return next || v; + } + return v; +} + +const INVALID_ATTR_NAME_RE = /[\s"'<>/=\x00-\x1F\x7F]/; + +function normalizeStyleClassProps(key, value) { + const isStyle = key === "style"; + const store = isStyle ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new Set(); + const add = (v) => { + if (!v) + return; + if (isStyle) { + const i = v.indexOf(":"); + i > 0 && store.set(v.slice(0, i).trim(), v.slice(i + 1).trim()); + } else { + v.split(" ").forEach((c) => c && store.add(c)); + } + }; + if (typeof value === "string") { + (isStyle ? value.split(";") : [value]).forEach(add); + } else if (Array.isArray(value)) { + value.forEach(add); + } else if (value && typeof value === "object") { + for (const k in value) { + const v = value[k]; + v && v !== "false" && (isStyle ? store.set(k.trim(), String(v)) : add(k)); + } + } + return store; +} +function normalizeProps(tag, input) { + tag.props = tag.props || {}; + if (!input) + return tag; + if (tag.tag === "templateParams") { + tag.props = input; + return tag; + } + const isHtmlTag = HasElementTags.has(tag.tag) || tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs"; + for (const prop in input) { + if (isUnsafeKey(prop)) + continue; + const isData = prop.startsWith("data-"); + const isHtmlAttr = isHtmlTag && !TagConfigKeys.has(prop); + const key = isHtmlAttr && !isData ? prop.toLowerCase() : prop; + if (isHtmlAttr && (!key || INVALID_ATTR_NAME_RE.test(key))) + continue; + const value = input[prop]; + if (value === null) { + tag.props[key] = null; + } else if (prop === "class" || prop === "style") { + tag.props[prop] = normalizeStyleClassProps(prop, value); + } else if (TagConfigKeys.has(prop)) { + if ((prop === "textContent" || prop === "innerHTML") && typeof value === "object") { + const type = input.type || "application/json"; + if (type.endsWith("json") || type === "speculationrules" || type === "importmap") { + tag.props.type = type; + tag[prop] = JSON.stringify(value); + } + } else { + tag[prop] = value; + } + } else if (value !== void 0) { + const str = String(value); + const isMeta = tag.tag === "meta" && key === "content"; + tag.props[key] = str === "true" || str === "" ? isData || isMeta ? str : true : !value && isData && str === "false" ? "false" : value; + } + } + return tag; +} +function resolveHeadInput(input, propResolvers) { + let resolve; + if (propResolvers.length) { + resolve = (key, val) => { + for (let i = 0; i < propResolvers.length; i++) + val = propResolvers[i](key, val); + return val; + }; + input = resolve(void 0, input); + } + return walkResolver(input, resolve); +} +function normalizeTag(tagName, _input) { + const input = typeof _input === "object" && typeof _input !== "function" ? _input : { [tagName === "script" || tagName === "noscript" || tagName === "style" ? "innerHTML" : "textContent"]: _input }; + const tag = normalizeProps({ tag: tagName, props: {} }, input); + if (tag.key && DupeableTags.has(tag.tag)) + tag.props["data-hid"] = tag._h = tag.key; + if (tag.tag === "script" && typeof tag.innerHTML === "object") { + tag.innerHTML = JSON.stringify(tag.innerHTML); + tag.props.type = tag.props.type || "application/json"; + } + if (Array.isArray(tag.props.content)) { + const tags = []; + for (const content of tag.props.content) { + tags.push({ ...tag, props: { ...tag.props, content } }); + } + return tags; + } + return tag; +} +function pushNormalizedTag(tags, tag) { + if (Array.isArray(tag)) { + for (const t of tag) tags.push(t); + } else { + tags.push(tag); + } +} +function normalizeEntryToTags(input, propResolvers) { + if (!input) + return []; + if (typeof input === "function") + input = input(); + input = resolveHeadInput(input, propResolvers); + const tags = []; + for (const key in input) { + const value = input[key]; + if (value !== void 0) { + if (Array.isArray(value)) { + for (const v of value) pushNormalizedTag(tags, normalizeTag(key, v)); + } else { + pushNormalizedTag(tags, normalizeTag(key, value)); + } + } + } + return tags; +} + +const LT_RE = /</g; +const SCRIPT_END_RE = /<\/script/g; +const sortTags = (a, b) => a._w === b._w ? a._p - b._p : a._w - b._w; +const DEFAULT_TAG_WEIGHT = () => 100; +function isEmptyProps(props) { + for (const _ in props) + return false; + return true; +} +const TAG_MUTATING_HOOK_RE = /^tags:|:render/; +function syncEntryHookCache(head, hooks) { + const count = (hooks["entries:resolve"]?.length || 0) + (hooks["entries:normalize"]?.length || 0); + if (head._h !== count) { + head._h = count; + for (const entry of head.entries.values()) + delete entry._tags; + } +} +function cloneTagsInPlace(tags) { + for (let i = 0; i < tags.length; i++) { + const t = tags[i]; + const props = { ...t.props }; + if (props.class instanceof Set) + props.class = new Set(props.class); + if (props.style instanceof Map) + props.style = new Map(props.style); + tags[i] = { ...t, props }; + } +} +function valuesToTags(ctx, sortFlatMeta) { + const tags = ctx.tags; + let w = 0; + for (const value of ctx.tagMap.values()) { + if (Array.isArray(value)) { + for (const tag of value) tags[w++] = tag; + } else { + tags[w++] = value; + } + } + tags.length = w; + if (sortFlatMeta) + tags.sort(sortTags); +} +function dedupeTags(ctx) { + let hasFlatMeta = false; + for (const next of ctx.tags.sort(sortTags)) { + const k = next._d || hashTag(next); + if (!k) + continue; + const prev = ctx.tagMap.get(k); + if (!prev) { + ctx.tagMap.set(k, next); + continue; + } + const strategy = next.tagDuplicateStrategy || (UsesMergeStrategy.has(next.tag) ? "merge" : null) || (next.key && next.key === prev.key ? "merge" : null); + if (strategy === "merge") { + const props = { ...prev.props }; + for (const p in next.props) { + props[p] = p === "style" ? new Map([...prev.props.style || /* @__PURE__ */ new Map(), ...next.props[p]]) : p === "class" ? /* @__PURE__ */ new Set([...prev.props.class || [], ...next.props[p]]) : next.props[p]; + } + ctx.tagMap.set(k, { ...next, props }); + } else if (next._p >> 10 === prev._p >> 10 && next.tag === "meta" && isMetaArrayDupeKey(k)) { + ctx.tagMap.set(k, Object.assign([...Array.isArray(prev) ? prev : [prev], next], next)); + hasFlatMeta = true; + } else if (next._w === prev._w ? next._p > prev._p : next._w < prev._w) { + ctx.tagMap.set(k, next); + } + } + return hasFlatMeta; +} +function resolveTitleTemplate(ctx, head) { + const title = ctx.tagMap.get("title"); + const tpl = ctx.tagMap.get("titleTemplate"); + head._title = title?.textContent; + if (!tpl) + return; + const fn = tpl.textContent; + head._titleTemplate = fn; + if (!fn) + return; + let v = typeof fn === "function" ? fn(title?.textContent) : fn; + if (typeof v === "string" && !head.plugins.has("template-params")) + v = v.replace("%s", title?.textContent || ""); + if (title) { + v === null ? ctx.tagMap.delete("title") : ctx.tagMap.set("title", { ...title, textContent: v }); + } else { + ctx.tagMap.set("titleTemplate", { ...tpl, tag: "title", textContent: v }); + } +} +function sanitizeTagsInPlace(tags) { + let w = 0; + for (let t of tags) { + const { innerHTML, tag, props } = t; + if (!ValidHeadTags.has(tag) || isEmptyProps(props) && !hasContent(innerHTML) && !hasContent(t.textContent)) + continue; + if (tag === "meta") { + if (!hasContent(props.content) && !props["http-equiv"] && !props.charset) + continue; + } + if (tag === "script" && (innerHTML || t.textContent)) { + const type = String(props.type); + const isJsonLike = type.endsWith("json") || type === "importmap" || type === "speculationrules"; + const escape = (content) => isJsonLike ? (typeof content === "string" ? content : JSON.stringify(content)).replace(LT_RE, "\\u003C") : typeof content === "string" ? content.replace(SCRIPT_END_RE, "<\\/script") : content; + t = { ...t }; + if (innerHTML) + t.innerHTML = escape(innerHTML); + if (t.textContent) + t.textContent = escape(t.textContent); + t._d = dedupeKey(t); + } + tags[w++] = t; + } + tags.length = w; + return tags; +} +function sanitizeTags(tags) { + return sanitizeTagsInPlace([...tags]); +} +function resolveTags(head, options) { + const weightFn = options?.tagWeight ?? head.resolvedOptions._tagWeight ?? DEFAULT_TAG_WEIGHT; + const ctx = { tagMap: /* @__PURE__ */ new Map(), tags: [] }; + const hooks = head.hooks?._hooks || {}; + syncEntryHookCache(head, hooks); + for (const e of head.entries.values()) { + if (e._pending !== void 0) { + e.input = e._pending; + delete e._pending; + delete e._tags; + delete e._precomputedTags; + } + } + let entries; + if (hooks["entries:resolve"]?.length || hooks["entries:normalize"]?.length) { + entries = [...head.entries.values()]; + if (hooks["entries:resolve"]?.length) + callHook(head, "entries:resolve", { entries, ...ctx }); + } + syncEntryHookCache(head, hooks); + for (const e of entries || head.entries.values()) { + let tags = e._tags; + if (!tags) { + if (e._precomputedTags && weightFn === head.resolvedOptions._tagWeight && !hooks["entries:normalize"]?.length && !hooks["entries:resolve"]?.length && (!e.options || isEmptyProps(e.options))) { + tags = e._precomputedTags; + } else { + tags = normalizeEntryToTags(e.input, head.resolvedOptions.propResolvers || []); + if (e.options && !isEmptyProps(e.options)) { + for (const t of tags) + Object.assign(t, e.options); + } + if (hooks["entries:normalize"]?.length) { + const normalizeCtx = { tags, entry: e }; + callHook(head, "entries:normalize", normalizeCtx); + tags = normalizeCtx.tags; + } + for (let i = 0; i < tags.length; i++) { + const t = tags[i]; + t._w = weightFn(t); + t._p = (e._i << 10) + i; + t._d = dedupeKey(t); + if (!t._d) + t._h = hashTag(t); + } + e._tags = tags; + } + } + ctx.tags.push(...tags); + } + for (const name in hooks) { + if (hooks[name]?.length && TAG_MUTATING_HOOK_RE.test(name)) { + cloneTagsInPlace(ctx.tags); + break; + } + } + const hasFlatMeta = dedupeTags(ctx); + resolveTitleTemplate(ctx, head); + valuesToTags(ctx, hasFlatMeta); + callHook(head, "tags:beforeResolve", ctx); + callHook(head, "tags:resolve", ctx); + callHook(head, "tags:afterResolve", ctx); + return sanitizeTagsInPlace(ctx.tags); +} + +export { INVALID_ATTR_NAME_RE as I, dedupeTags as a, normalizeProps as b, resolveTitleTemplate as c, dedupeKey as d, resolveHeadInput as e, hashTag as h, isMetaArrayDupeKey as i, normalizeEntryToTags as n, resolveTags as r, sanitizeTags as s, walkResolver as w }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs new file mode 100644 index 0000000..ed1465b --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs @@ -0,0 +1,264 @@ +import { u as unpackMeta } from './unhead.o8j9utSy.mjs'; +import { d as defineHeadPlugin } from './unhead.CHEy9ana.mjs'; +import { h as hasContent, i as isUnsafeKey } from './unhead.CGPOfp5O.mjs'; + +const FlatMetaPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "flatMeta", + hooks: { + "entries:normalize": (ctx) => { + let hasFlatMeta = false; + const tags = []; + const tagsToAdd = []; + for (const t of ctx.tags) { + if (t.tag !== "_flatMeta") { + tags.push(t); + continue; + } + hasFlatMeta = true; + for (const props of unpackMeta(t.props)) + tagsToAdd.push({ ...t, tag: "meta", props }); + } + if (!hasFlatMeta) + return; + for (const tag of tagsToAdd) tags.push(tag); + ctx.tags = tags; + } + } +}); + +const WhitelistAttributes = { + htmlAttrs: /* @__PURE__ */ new Set(["class", "style", "lang", "dir"]), + bodyAttrs: /* @__PURE__ */ new Set(["class", "style"]), + meta: /* @__PURE__ */ new Set(["name", "property", "charset", "content", "media"]), + noscript: /* @__PURE__ */ new Set([]), + style: /* @__PURE__ */ new Set(["media", "nonce", "title", "blocking"]), + script: /* @__PURE__ */ new Set(["type", "textContent", "nonce", "blocking"]), + link: /* @__PURE__ */ new Set(["color", "crossorigin", "fetchpriority", "href", "hreflang", "imagesrcset", "imagesizes", "integrity", "media", "referrerpolicy", "rel", "sizes", "type"]) +}; +const BlockedLinkRels = /* @__PURE__ */ new Set(["canonical", "modulepreload", "prerender", "preload", "prefetch", "dns-prefetch", "preconnect", "manifest", "pingback"]); +const SafeDataAttrName = /^[a-z][a-z0-9-]*[a-z0-9]$/i; +const AsciiWhitespace = /[\t\n\f\r ]+/; +const HtmlEntityHex = /&#x([0-9a-f]+);?/gi; +const HtmlEntityDec = /&#(\d+);?/g; +const HtmlEntityNamed = /&(tab|newline|colon|semi|lpar|rpar|sol|bsol|comma|period|excl|num|dollar|percnt|amp|apos|ast|plus|lt|gt|equals|quest|at|lsqb|rsqb|lcub|rcub|vert|hat|grave|tilde|nbsp);?/gi; +const ControlChars = /[\x00-\x20]+/g; +const NamedEntityMap = { + tab: " ", + newline: "\n", + colon: ":", + semi: ";", + lpar: "(", + rpar: ")", + sol: "/", + bsol: "\\", + comma: ",", + period: ".", + excl: "!", + num: "#", + dollar: "$", + percnt: "%", + amp: "&", + apos: "'", + ast: "*", + plus: "+", + lt: "<", + gt: ">", + equals: "=", + quest: "?", + at: "@", + lsqb: "[", + rsqb: "]", + lcub: "{", + rcub: "}", + vert: "|", + hat: "^", + grave: "`", + tilde: "~", + nbsp: "\xA0" +}; +function safeFromCodePoint(codePoint) { + if (codePoint > 1114111 || codePoint < 0 || Number.isNaN(codePoint)) + return ""; + return String.fromCodePoint(codePoint); +} +function decodeHtmlEntities(str) { + return str.replace(HtmlEntityHex, (_, hex) => safeFromCodePoint(Number.parseInt(hex, 16))).replace(HtmlEntityDec, (_, dec) => safeFromCodePoint(Number(dec))).replace(HtmlEntityNamed, (_, name) => NamedEntityMap[name.toLowerCase()] || ""); +} +function hasDangerousProtocol(url) { + const entityDecoded = decodeHtmlEntities(url); + const cleaned = entityDecoded.replace(ControlChars, ""); + let decoded; + try { + decoded = decodeURIComponent(cleaned); + } catch { + decoded = cleaned; + } + const sanitized = decoded.replace(ControlChars, ""); + const lower = sanitized.toLowerCase(); + return lower.startsWith("javascript:") || lower.startsWith("data:") || lower.startsWith("vbscript:"); +} +function stripProtoKeys(obj) { + if (Array.isArray(obj)) + return obj.map(stripProtoKeys); + if (obj && typeof obj === "object") { + const clean = {}; + for (const key of Object.keys(obj)) { + if (isUnsafeKey(key)) + continue; + clean[key] = stripProtoKeys(obj[key]); + } + return clean; + } + return obj; +} +function acceptDataAttrs(value, allowId = true) { + const next = {}; + if (!value) + return next; + const keys = Object.keys(value); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const isData = key.startsWith("data-"); + if ((isData || allowId && key === "id") && SafeDataAttrName.test(key)) + next[key] = value[key]; + } + return next; +} +function hasBlockedRel(rel) { + const tokens = rel.split(AsciiWhitespace); + return !tokens.some(Boolean) || tokens.some((token) => BlockedLinkRels.has(token.toLowerCase())); +} +function makeTagSafe(tag) { + let next = {}; + const { tag: type, props: prev } = tag; + switch (type) { + // title: textContent is escaped in rendering (tagToString), no props needed + case "title": + break; + // virtual tags, not rendered to HTML — but sanitize to prevent injection if rendered + case "titleTemplate": + case "templateParams": + next = prev; + break; + case "htmlAttrs": + case "bodyAttrs": + WhitelistAttributes[type].forEach((attr) => { + if (prev[attr]) { + next[attr] = prev[attr]; + } + }); + delete tag.innerHTML; + delete tag.textContent; + tag.props = { ...acceptDataAttrs(prev, false), ...next }; + return !Object.keys(tag.props).length ? false : tag; + case "style": + next = acceptDataAttrs(prev); + WhitelistAttributes.style.forEach((key) => { + if (prev[key]) { + next[key] = prev[key]; + } + }); + break; + // meta is safe, except for http-equiv + case "meta": + WhitelistAttributes.meta.forEach((key) => { + if (hasContent(prev[key])) { + next[key] = prev[key]; + } + }); + break; + // link tags we block preloading, prerendering, prefetching, dns-prefetch, preconnect, manifest, etc + case "link": + WhitelistAttributes.link.forEach((key) => { + const val = prev[key]; + if (!val) { + return; + } + if (key === "rel" && (typeof val !== "string" || hasBlockedRel(val))) { + return; + } + if (key === "href" || key === "imagesrcset") { + if (typeof val !== "string") { + return; + } + const urls = key === "imagesrcset" ? val.split(",").map((s) => s.trim()) : [val]; + if (urls.some((u) => hasDangerousProtocol(u))) { + return; + } + next[key] = val; + } else if (val) { + next[key] = val; + } + }); + if (!next.href && !next.imagesrcset || !next.rel) { + return false; + } + break; + case "noscript": + WhitelistAttributes.noscript.forEach((key) => { + if (prev[key]) { + next[key] = prev[key]; + } + }); + break; + // we only allow JSON in scripts + case "script": + if (!tag.textContent || typeof prev.type !== "string" || !prev.type.endsWith("json")) { + return false; + } + try { + const jsonVal = typeof tag.textContent === "string" ? JSON.parse(tag.textContent) : tag.textContent; + tag.textContent = JSON.stringify(stripProtoKeys(jsonVal), null, 0); + } catch { + return false; + } + WhitelistAttributes.script.forEach((s) => { + if (s !== "textContent" && prev[s]) { + next[s] = prev[s]; + } + }); + break; + } + delete tag.innerHTML; + if (type !== "title" && type !== "script") { + delete tag.textContent; + } + tag.props = { ...acceptDataAttrs(prev), ...next }; + if (!Object.keys(tag.props).length && !tag.tag.endsWith("Attrs") && !tag.textContent) { + return false; + } + return tag; +} +const SafeInputPlugin = /* @__PURE__ */ defineHeadPlugin({ + key: "safe", + hooks: { + "entries:normalize": (ctx) => { + if (ctx.entry.options?._safe) { + ctx.tags = ctx.tags.reduce((acc, tag) => { + const safeTag = makeTagSafe(tag); + if (safeTag) + acc.push(safeTag); + return acc; + }, []); + } + }, + "tags:afterResolve": (ctx) => { + ctx.tags = ctx.tags.reduce((acc, tag) => { + if (!tag._safe) { + acc.push(tag); + return acc; + } + if (tag.tag === "htmlAttrs" || tag.tag === "bodyAttrs") { + acc.push(tag); + return acc; + } + const safeTag = makeTagSafe(tag); + if (safeTag) + acc.push(safeTag); + return acc; + }, []); + } + } +}); + +export { FlatMetaPlugin as F, SafeInputPlugin as S }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs new file mode 100644 index 0000000..91585e6 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs @@ -0,0 +1,48 @@ +const BACKSLASH_RE = /\\/g; +const LT_RE = /</g; +const DOUBLE_QUOTE_RE = /"/g; +const TOKEN_RE = /%\w+(?:\.\w+)?/g; +const SepSub = "%separator"; +function sub(p, token, isJson = false) { + let val; + if (token === "s" || token === "pageTitle") { + val = p.pageTitle; + } else if (token.includes(".")) { + const dotIndex = token.indexOf("."); + val = p[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)]; + } else { + val = p[token]; + } + if (val !== void 0) { + const str = typeof val === "number" ? String(val) : String(val || ""); + return isJson ? str.replace(BACKSLASH_RE, "\\\\").replace(LT_RE, "\\u003C").replace(DOUBLE_QUOTE_RE, '\\"') : str; + } + return void 0; +} +function processTemplateParams(s, p, sep, isJson = false) { + if (typeof s !== "string" || !s.includes("%")) + return s; + let decoded = s; + try { + decoded = decodeURI(s); + } catch { + } + const tokens = decoded.match(TOKEN_RE); + if (!tokens) { + return s; + } + const hasSepSub = s.includes(SepSub); + s = s.replace(TOKEN_RE, (token) => { + if (token === SepSub || !tokens.includes(token)) { + return token; + } + const re = sub(p, token.slice(1), isJson); + return re !== void 0 ? re : token; + }).trim(); + if (hasSepSub) { + s = s.split(SepSub).map((part) => part.trim()).filter((part) => part !== "").join(sep ? ` ${sep} ` : " "); + } + return s; +} + +export { processTemplateParams as p }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs new file mode 100644 index 0000000..1aff0cc --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs @@ -0,0 +1,208 @@ +import { M as MetaTagsArrayable } from './unhead.CGPOfp5O.mjs'; + +const META_NAMESPACES = ["twitter", "fediverse"]; +const PROPERTY_NAMESPACES = ["og", "book", "article", "profile", "fb", "payment"]; +const MEDIA_KEYS = ["ogImage", "ogVideo", "ogAudio", "twitterImage"]; +const HTTP_EQUIV_KEYS = ["contentType", "defaultStyle", "xUaCompatible"]; +const META_ALIASES = { + articleExpirationTime: "article:expiration_time", + articleModifiedTime: "article:modified_time", + articlePublishedTime: "article:published_time", + bookReleaseDate: "book:release_date", + fbAppId: "fb:app_id", + ogAudioSecureUrl: "og:audio:secure_url", + ogAudioUrl: "og:audio", + ogImageSecureUrl: "og:image:secure_url", + ogImageUrl: "og:image", + ogSiteName: "og:site_name", + ogVideoSecureUrl: "og:video:secure_url", + ogVideoUrl: "og:video", + paymentExpiresAt: "payment:expires_at", + paymentSuccessUrl: "payment:success_url", + profileFirstName: "profile:first_name", + profileLastName: "profile:last_name", + profileUsername: "profile:username", + msapplicationConfig: "msapplication-Config", + msapplicationTileColor: "msapplication-TileColor", + msapplicationTileImage: "msapplication-TileImage" +}; +const CAPS_RE = /([A-Z])/g; +const OG_TWITTER_RE = /^(?:og|twitter)/; +const MetaPackingSchema = { + appleItunesApp: { + unpack: { + entrySeparator: ", ", + resolve: ({ key, value }) => `${fixKeyCase(key)}=${value}` + } + }, + refresh: { + metaKey: "http-equiv", + unpack: { + entrySeparator: ";", + resolve: ({ key, value }) => key === "seconds" ? `${value}` : void 0 + } + }, + robots: { + unpack: { + entrySeparator: ", ", + resolve: ({ key, value }) => typeof value === "boolean" ? fixKeyCase(key) : `${fixKeyCase(key)}:${value}` + } + }, + contentSecurityPolicy: { + metaKey: "http-equiv", + unpack: { + entrySeparator: "; ", + resolve: ({ key, value }) => `${fixKeyCase(key)} ${value}` + } + }, + charset: {} +}; +function fixKeyCase(key) { + const updated = key.replace(CAPS_RE, "-$1").toLowerCase(); + const prefixIndex = updated.indexOf("-"); + return prefixIndex === -1 ? updated : META_NAMESPACES.includes(updated.slice(0, prefixIndex)) || PROPERTY_NAMESPACES.includes(updated.slice(0, prefixIndex)) ? key.replace(CAPS_RE, ":$1").toLowerCase() : updated; +} +function sanitizeObject(input) { + return Object.fromEntries(Object.entries(input).filter(([k, v]) => String(v) !== "false" && k)); +} +function normalizeRobotsDirectives(input) { + if (input.index !== false && input.follow !== false) + return input; + const value = { ...input }; + if (value.index === false) { + delete value.index; + if (value.noindex === void 0) + value.noindex = true; + } + if (value.follow === false) { + delete value.follow; + if (value.nofollow === void 0) + value.nofollow = true; + } + return value; +} +function transformObject(obj) { + return Array.isArray(obj) ? obj.map(transformObject) : !obj || typeof obj !== "object" ? obj : Object.fromEntries(Object.entries(obj).map(([k, v]) => [fixKeyCase(k), transformObject(v)])); +} +function unpackToString(value, options = {}) { + const { entrySeparator = "", keyValueSeparator = "", wrapValue, resolve } = options; + return Object.entries(value).map(([key, val]) => { + if (resolve) { + const resolved = resolve({ key, value: val }); + if (resolved !== void 0) + return resolved; + } + const processedVal = typeof val === "object" ? unpackToString(val, options) : typeof val === "number" ? val.toString() : typeof val === "string" && wrapValue ? `${wrapValue}${val.replace(new RegExp(wrapValue, "g"), `\\${wrapValue}`)}${wrapValue}` : val; + return `${key}${keyValueSeparator}${processedVal}`; + }).join(entrySeparator); +} +function handleObjectEntry(key, value) { + const sanitizedValue = sanitizeObject(value); + const fixedKey = fixKeyCase(key); + const attr = resolveMetaKeyType(fixedKey); + if (!MetaTagsArrayable.has(fixedKey)) { + return [{ [attr]: fixedKey, ...sanitizedValue }]; + } + const input = Object.fromEntries( + Object.entries(sanitizedValue).map(([k, v]) => [`${key}${k === "url" ? "" : `${k[0].toUpperCase()}${k.slice(1)}`}`, v]) + ); + return unpackMeta(input || {}).sort((a, b) => (a[attr]?.length || 0) - (b[attr]?.length || 0)); +} +function resolveMetaKeyType(key) { + if (MetaPackingSchema[key]?.metaKey === "http-equiv" || HTTP_EQUIV_KEYS.includes(key)) { + return "http-equiv"; + } + const fixed = fixKeyCase(key); + const colonIndex = fixed.indexOf(":"); + return colonIndex === -1 ? "name" : PROPERTY_NAMESPACES.includes(fixed.slice(0, colonIndex)) ? "property" : "name"; +} +function resolveMetaKeyValue(key) { + return META_ALIASES[key] || fixKeyCase(key); +} +function resolvePackedMetaObjectValue(value, key) { + if (key === "refresh") + return `${value.seconds};url=${value.url}`; + return unpackToString(transformObject(value), { + keyValueSeparator: "=", + entrySeparator: ", ", + resolve: ({ value: value2, key: key2 }) => value2 === null ? "" : typeof value2 === "boolean" ? key2 : void 0, + ...MetaPackingSchema[key]?.unpack + }); +} +function unpackMeta(input) { + const extras = []; + const primitives = {}; + for (const [key, value] of Object.entries(input)) { + if (Array.isArray(value)) { + if (key === "themeColor") { + value.forEach((v) => { + if (typeof v === "object" && v !== null) { + extras.push({ name: "theme-color", ...v }); + } + }); + continue; + } + for (const v of value) { + if (typeof v === "object" && v !== null) { + const urlProps = []; + const otherProps = []; + for (const [propKey, propValue] of Object.entries(v)) { + const metaKey = `${key}${propKey === "url" ? "" : `:${propKey}`}`; + const meta2 = unpackMeta({ [metaKey]: propValue }); + (propKey === "url" ? urlProps : otherProps).push(...meta2); + } + extras.push(...urlProps, ...otherProps); + } else { + extras.push(...typeof v === "string" ? unpackMeta({ [key]: v }) : handleObjectEntry(key, v)); + } + } + continue; + } + if (typeof value === "object" && value) { + if (MEDIA_KEYS.includes(key)) { + const prefix = key.startsWith("twitter") ? "twitter" : "og"; + const type = key.replace(OG_TWITTER_RE, "").toLowerCase(); + const metaKey = prefix === "twitter" ? "name" : "property"; + if (value.url) { + extras.push({ + [metaKey]: `${prefix}:${type}`, + content: value.url + }); + } + if (value.secureUrl) { + extras.push({ + [metaKey]: `${prefix}:${type}:secure_url`, + content: value.secureUrl + }); + } + for (const [propKey, propValue] of Object.entries(value)) { + if (propKey !== "url" && propKey !== "secureUrl") { + extras.push({ + [metaKey]: `${prefix}:${type}:${propKey}`, + content: propValue + }); + } + } + } else if (MetaTagsArrayable.has(fixKeyCase(key))) { + extras.push(...handleObjectEntry(key, value)); + } else { + primitives[key] = sanitizeObject(key === "robots" ? normalizeRobotsDirectives(value) : value); + } + } else { + primitives[key] = value; + } + } + const meta = Object.entries(primitives).map(([key, value]) => { + if (key === "charset") + return { charset: value === null ? "_null" : value }; + const metaKey = resolveMetaKeyType(key); + const keyValue = resolveMetaKeyValue(key); + const processedValue = value === null ? "_null" : typeof value === "object" ? resolvePackedMetaObjectValue(value, key) : typeof value === "number" ? value.toString() : value; + return metaKey === "http-equiv" ? { "http-equiv": keyValue, "content": processedValue } : { [metaKey]: keyValue, content: processedValue }; + }); + return [...extras, ...meta].map( + (m) => !("content" in m) ? m : m.content === "_null" ? { ...m, content: null } : m + ); +} + +export { resolveMetaKeyValue as a, resolvePackedMetaObjectValue as b, resolveMetaKeyType as r, unpackMeta as u }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/stream/client.mjs b/apps/web/.output/server/node_modules/unhead/dist/stream/client.mjs new file mode 100644 index 0000000..8933329 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/stream/client.mjs @@ -0,0 +1,33 @@ +import { c as createClientHeadAdapter } from '../shared/unhead.C5Bksi2B.mjs'; +import { c as createHooks } from '../shared/unhead.Bm4Y6XQI.mjs'; +import '../shared/unhead.D7HkBzZn.mjs'; +import 'hookable'; + +const DEFAULT_STREAM_KEY = "__unhead__"; +function createStreamableHead(options = {}) { + const { streamKey = DEFAULT_STREAM_KEY, ...rest } = options; + const win = typeof window !== "undefined" ? window : void 0; + const streamQueue = win?.[streamKey]; + const core = streamQueue?._head; + if (!core) + return void 0; + if (core._wrapped) { + const wrapped = core; + for (const name in rest.hooks || {}) + wrapped.hooks?.hook(name, rest.hooks[name]); + (rest.plugins || []).forEach((p) => wrapped.use(p)); + rest.init?.forEach((e) => e && wrapped.push(e)); + return wrapped; + } + const coreRender = core.render; + const hooks = createHooks(rest.hooks); + const head = createClientHeadAdapter(core, hooks, () => coreRender()); + head._wrapped = true; + (rest.plugins || []).forEach((p) => head.use(p)); + rest.init?.forEach((e) => e && head.push(e)); + if (streamQueue) + streamQueue._head = head; + return head; +} + +export { DEFAULT_STREAM_KEY, createStreamableHead }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/stream/iife.mjs b/apps/web/.output/server/node_modules/unhead/dist/stream/iife.mjs new file mode 100644 index 0000000..3217acf --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/stream/iife.mjs @@ -0,0 +1,2 @@ +export const streamingIifeCode = "var __unhead_iife__ = (function (exports) { 'use strict'; const DupeableTags = new Set([\"link\", \"style\", \"script\", \"noscript\"]); const TagsWithInnerContent = new Set([\"title\", \"titleTemplate\", \"script\", \"style\", \"noscript\"]); const HasElementTags = new Set([\"base\", \"meta\", \"link\", \"style\", \"script\", \"noscript\"]); const ValidHeadTags = new Set([\"title\", \"base\", \"htmlAttrs\", \"bodyAttrs\", \"meta\", \"link\", \"style\", \"script\", \"noscript\"]); const UniqueTags = new Set([\"base\", \"title\", \"titleTemplate\", \"bodyAttrs\", \"htmlAttrs\", \"templateParams\"]); const TagConfigKeys = new Set([\"key\", \"tagPosition\", \"tagPriority\", \"tagDuplicateStrategy\", \"innerHTML\", \"textContent\", \"\u0070rocessTemplateParams\"]); const UsesMergeStrategy = new Set([\"templateParams\", \"htmlAttrs\", \"bodyAttrs\"]); const MetaTagsArrayable = new Set([ \"theme-color\", \"google-site-verification\", \"author\", \"og:locale:alternate\", \"og:image\", \"og:video\", \"og:audio\", \"article:author\", \"article:tag\", \"book:author\", \"book:tag\", \"twitter:image\" ]); const hasContent = (value) => typeof value === \"number\" ? Number.isFinite(value) : value; function isUnsafeKey(key) { return key === \"__proto__\" || key === \"constructor\" || key === \"prototype\"; } function callHook(head, hook, ctx) { const hooks = head.hooks?._hooks?.[hook]; if (!hooks?.length) return; return head.hooks?.callHook(hook, ctx); } const META_NOREWRITE_RE = /^(?:viewport|description|keywords|robots)$/; const META_KEY_ATTRS = [\"name\", \"property\", \"http-equiv\"]; function isMetaArrayDupeKey(v) { const i = v.indexOf(\":\"); if (i === -1) return false; const key = v.slice(i + 1); return MetaTagsArrayable.has(key) || key.startsWith(\"og:image:\") || key.startsWith(\"og:video:\") || key.startsWith(\"og:audio:\") || key.startsWith(\"twitter:image:\"); } function dedupeKey(tag) { const { props, tag: t, key } = tag; if (UniqueTags.has(t)) return t; if (t === \"link\") { if (props.rel === \"canonical\") return \"canonical\"; if (props.rel === \"alternate\" && props.hreflang) return `alternate:${props.hreflang}`; } if (props.charset) return \"charset\"; if (t === \"meta\") { for (const n of META_KEY_ATTRS) { const v = props[n]; if (v !== void 0) return `meta:${v}${(typeof v !== \"string\" || !v.includes(\":\")) && !META_NOREWRITE_RE.test(v) && key ? `:key:${key}` : \"\"}`; } } if (key) return `${t}:key:${key}`; if (props.id) return `${t}:id:${props.id}`; if (t === \"link\" && props.rel && props.href) return `link:${props.rel}:${props.href}`; return TagsWithInnerContent.has(t) && (tag.textContent || tag.innerHTML) ? `${t}:content:${tag.textContent || tag.innerHTML}` : void 0; } function hashTag(tag) { const identity = tag._h || tag._d || tag.textContent || tag.innerHTML; if (identity) return String(identity); const keys = Object.keys(tag.props).sort(); let hash = `${tag.tag}:`; let separator = \"\"; for (const key of keys) { hash += `${separator}${key}:${String(tag.props[key])}`; separator = \",\"; } return hash; } function walkResolver(val, resolve, key) { if (key === \"_resolver\") return val; if (typeof val === \"function\" && (!key || key !== \"titleTemplate\" && !key.startsWith(\"on\"))) val = val(); const v = resolve ? resolve(key, val) : val; if (Array.isArray(v)) { let out; for (let i = 0; i < v.length; i++) { const r = walkResolver(v[i], resolve); if (out) { out[i] = r; } else if (r !== v[i]) { out = v.slice(0, i); out[i] = r; } } return out || v; } if (v?.constructor === Object) { let next; for (const k in v) { const unsafe = isUnsafeKey(k); const r = unsafe ? void 0 : walkResolver(v[k], resolve, k); if (!next && (unsafe || r !== v[k])) { next = {}; for (const pk in v) { if (pk === k) break; next[pk] = v[pk]; } } if (next && !unsafe) next[k] = r; } return next || v; } return v; } const INVALID_ATTR_NAME_RE = /[\\s\"'<>/=\\x00-\\x1F\\x7F]/; function normalizeStyleClassProps(key, value) { const isStyle = key === \"style\"; const store = isStyle ? new Map() : new Set(); const add = (v) => { if (!v) return; if (isStyle) { const i = v.indexOf(\":\"); i > 0 && store.set(v.slice(0, i).trim(), v.slice(i + 1).trim()); } else { v.split(\" \").forEach((c) => c && store.add(c)); } }; if (typeof value === \"string\") { (isStyle ? value.split(\";\") : [value]).forEach(add); } else if (Array.isArray(value)) { value.forEach(add); } else if (value && typeof value === \"object\") { for (const k in value) { const v = value[k]; v && v !== \"false\" && (isStyle ? store.set(k.trim(), String(v)) : add(k)); } } return store; } function normalizeProps(tag, input) { tag.props = tag.props || {}; if (!input) return tag; if (tag.tag === \"templateParams\") { tag.props = input; return tag; } const isHtmlTag = HasElementTags.has(tag.tag) || tag.tag === \"htmlAttrs\" || tag.tag === \"bodyAttrs\"; for (const prop in input) { if (isUnsafeKey(prop)) continue; const isData = prop.startsWith(\"data-\"); const isHtmlAttr = isHtmlTag && !TagConfigKeys.has(prop); const key = isHtmlAttr && !isData ? prop.toLowerCase() : prop; if (isHtmlAttr && (!key || INVALID_ATTR_NAME_RE.test(key))) continue; const value = input[prop]; if (value === null) { tag.props[key] = null; } else if (prop === \"class\" || prop === \"style\") { tag.props[prop] = normalizeStyleClassProps(prop, value); } else if (TagConfigKeys.has(prop)) { if ((prop === \"textContent\" || prop === \"innerHTML\") && typeof value === \"object\") { const type = input.type || \"application/json\"; if (type.endsWith(\"json\") || type === \"speculationrules\" || type === \"importmap\") { tag.props.type = type; tag[prop] = JSON.stringify(value); } } else { tag[prop] = value; } } else if (value !== void 0) { const str = String(value); const isMeta = tag.tag === \"meta\" && key === \"content\"; tag.props[key] = str === \"true\" || str === \"\" ? isData || isMeta ? str : true : !value && isData && str === \"false\" ? \"false\" : value; } } return tag; } function resolveHeadInput(input, propResolvers) { let resolve; if (propResolvers.length) { resolve = (key, val) => { for (let i = 0; i < propResolvers.length; i++) val = propResolvers[i](key, val); return val; }; input = resolve(void 0, input); } return walkResolver(input, resolve); } function normalizeTag(tagName, _input) { const input = typeof _input === \"object\" && typeof _input !== \"function\" ? _input : { [tagName === \"script\" || tagName === \"noscript\" || tagName === \"style\" ? \"innerHTML\" : \"textContent\"]: _input }; const tag = normalizeProps({ tag: tagName, props: {} }, input); if (tag.key && DupeableTags.has(tag.tag)) tag.props[\"data-hid\"] = tag._h = tag.key; if (tag.tag === \"script\" && typeof tag.innerHTML === \"object\") { tag.innerHTML = JSON.stringify(tag.innerHTML); tag.props.type = tag.props.type || \"application/json\"; } if (Array.isArray(tag.props.content)) { const tags = []; for (const content of tag.props.content) { tags.push({ ...tag, props: { ...tag.props, content } }); } return tags; } return tag; } function pushNormalizedTag(tags, tag) { if (Array.isArray(tag)) { for (const t of tag) tags.push(t); } else { tags.push(tag); } } function normalizeEntryToTags(input, propResolvers) { if (!input) return []; if (typeof input === \"function\") input = input(); input = resolveHeadInput(input, propResolvers); const tags = []; for (const key in input) { const value = input[key]; if (value !== void 0) { if (Array.isArray(value)) { for (const v of value) pushNormalizedTag(tags, normalizeTag(key, v)); } else { pushNormalizedTag(tags, normalizeTag(key, value)); } } } return tags; } const LT_RE = /</g; const SCRIPT_END_RE = /<\\/script/g; const sortTags = (a, b) => a._w === b._w ? a._p - b._p : a._w - b._w; const DEFAULT_TAG_WEIGHT = () => 100; function isEmptyProps(props) { for (const _ in props) return false; return true; } const TAG_MUTATING_HOOK_RE = /^tags:|:render/; function syncEntryHookCache(head, hooks) { const count = (hooks[\"entries:resolve\"]?.length || 0) + (hooks[\"entries:normalize\"]?.length || 0); if (head._h !== count) { head._h = count; for (const entry of head.entries.values()) delete entry._tags; } } function cloneTagsInPlace(tags) { for (let i = 0; i < tags.length; i++) { const t = tags[i]; const props = { ...t.props }; if (props.class instanceof Set) props.class = new Set(props.class); if (props.style instanceof Map) props.style = new Map(props.style); tags[i] = { ...t, props }; } } function valuesToTags(ctx, sortFlatMeta) { const tags = ctx.tags; let w = 0; for (const value of ctx.tagMap.values()) { if (Array.isArray(value)) { for (const tag of value) tags[w++] = tag; } else { tags[w++] = value; } } tags.length = w; if (sortFlatMeta) tags.sort(sortTags); } function dedupeTags(ctx) { let hasFlatMeta = false; for (const next of ctx.tags.sort(sortTags)) { const k = next._d || hashTag(next); if (!k) continue; const prev = ctx.tagMap.get(k); if (!prev) { ctx.tagMap.set(k, next); continue; } const strategy = next.tagDuplicateStrategy || (UsesMergeStrategy.has(next.tag) ? \"merge\" : null) || (next.key && next.key === prev.key ? \"merge\" : null); if (strategy === \"merge\") { const props = { ...prev.props }; for (const p in next.props) { props[p] = p === \"style\" ? new Map([...prev.props.style || new Map(), ...next.props[p]]) : p === \"class\" ? new Set([...prev.props.class || [], ...next.props[p]]) : next.props[p]; } ctx.tagMap.set(k, { ...next, props }); } else if (next._p >> 10 === prev._p >> 10 && next.tag === \"meta\" && isMetaArrayDupeKey(k)) { ctx.tagMap.set(k, Object.assign([...Array.isArray(prev) ? prev : [prev], next], next)); hasFlatMeta = true; } else if (next._w === prev._w ? next._p > prev._p : next._w < prev._w) { ctx.tagMap.set(k, next); } } return hasFlatMeta; } function resolveTitleTemplate(ctx, head) { const title = ctx.tagMap.get(\"title\"); const tpl = ctx.tagMap.get(\"titleTemplate\"); head._title = title?.textContent; if (!tpl) return; const fn = tpl.textContent; head._titleTemplate = fn; if (!fn) return; let v = typeof fn === \"function\" ? fn(title?.textContent) : fn; if (typeof v === \"string\" && !head.plugins.has(\"template-params\")) v = v.replace(\"%s\", title?.textContent || \"\"); if (title) { v === null ? ctx.tagMap.delete(\"title\") : ctx.tagMap.set(\"title\", { ...title, textContent: v }); } else { ctx.tagMap.set(\"titleTemplate\", { ...tpl, tag: \"title\", textContent: v }); } } function sanitizeTagsInPlace(tags) { let w = 0; for (let t of tags) { const { innerHTML, tag, props } = t; if (!ValidHeadTags.has(tag) || isEmptyProps(props) && !hasContent(innerHTML) && !hasContent(t.textContent)) continue; if (tag === \"meta\") { if (!hasContent(props.content) && !props[\"http-equiv\"] && !props.charset) continue; } if (tag === \"script\" && (innerHTML || t.textContent)) { const type = String(props.type); const isJsonLike = type.endsWith(\"json\") || type === \"importmap\" || type === \"speculationrules\"; const escape = (content) => isJsonLike ? (typeof content === \"string\" ? content : JSON.stringify(content)).replace(LT_RE, \"\\\\u003C\") : typeof content === \"string\" ? content.replace(SCRIPT_END_RE, \"<\\\\/script\") : content; t = { ...t }; if (innerHTML) t.innerHTML = escape(innerHTML); if (t.textContent) t.textContent = escape(t.textContent); t._d = dedupeKey(t); } tags[w++] = t; } tags.length = w; return tags; } function resolveTags(head, options) { const weightFn = options?.tagWeight ?? head.resolvedOptions._tagWeight ?? DEFAULT_TAG_WEIGHT; const ctx = { tagMap: new Map(), tags: [] }; const hooks = head.hooks?._hooks || {}; syncEntryHookCache(head, hooks); for (const e of head.entries.values()) { if (e._pending !== void 0) { e.input = e._pending; delete e._pending; delete e._tags; delete e._precomputedTags; } } let entries; if (hooks[\"entries:resolve\"]?.length || hooks[\"entries:normalize\"]?.length) { entries = [...head.entries.values()]; if (hooks[\"entries:resolve\"]?.length) callHook(head, \"entries:resolve\", { entries, ...ctx }); } syncEntryHookCache(head, hooks); for (const e of entries || head.entries.values()) { let tags = e._tags; if (!tags) { if (e._precomputedTags && weightFn === head.resolvedOptions._tagWeight && !hooks[\"entries:normalize\"]?.length && !hooks[\"entries:resolve\"]?.length && (!e.options || isEmptyProps(e.options))) { tags = e._precomputedTags; } else { tags = normalizeEntryToTags(e.input, head.resolvedOptions.propResolvers || []); if (e.options && !isEmptyProps(e.options)) { for (const t of tags) Object.assign(t, e.options); } if (hooks[\"entries:normalize\"]?.length) { const normalizeCtx = { tags, entry: e }; callHook(head, \"entries:normalize\", normalizeCtx); tags = normalizeCtx.tags; } for (let i = 0; i < tags.length; i++) { const t = tags[i]; t._w = weightFn(t); t._p = (e._i << 10) + i; t._d = dedupeKey(t); if (!t._d) t._h = hashTag(t); } e._tags = tags; } } ctx.tags.push(...tags); } for (const name in hooks) { if (hooks[name]?.length && TAG_MUTATING_HOOK_RE.test(name)) { cloneTagsInPlace(ctx.tags); break; } } const hasFlatMeta = dedupeTags(ctx); resolveTitleTemplate(ctx, head); valuesToTags(ctx, hasFlatMeta); callHook(head, \"tags:beforeResolve\", ctx); callHook(head, \"tags:resolve\", ctx); callHook(head, \"tags:afterResolve\", ctx); return sanitizeTagsInPlace(ctx.tags); } const WHITESPACE_RE = /\\s+/; function createDomRenderer(options = {}) { return (head) => _renderDOMHead(head, options); } function hasPendingEntries(head) { for (const entry of head.entries.values()) { if (entry._pending !== void 0) return true; } return false; } function createDomState(head, dom) { const state = { _d: dom, _t: dom.title, _e: new Map([[\"htmlAttrs\", dom.documentElement], [\"bodyAttrs\", dom.body]]), _p: {}, _s: {}, _l: new Map() }; for (const entry of head.entries.values()) { if (entry._o !== void 0) { const orig = entry._o; for (const t of [\"bodyAttrs\", \"htmlAttrs\"]) { const cls = orig[t]?.class; if (typeof cls === \"string\") { const $el = state._e.get(t); for (const c of cls.split(WHITESPACE_RE)) { if (c) state._p[`${t}:attr:class:${c}`] = () => $el.classList.remove(c); } } } } } return state; } function _renderDOMHead(head, options = {}) { const dom = options.document || head.resolvedOptions.document; const activeState = head._dom; if (!dom || head._du || activeState && activeState._d === dom && !head.dirty && !hasPendingEntries(head)) return false; const defaultView = dom.defaultView; head._du = true; let didRender = false; try { let track = function(key, fn, fresh) { renderState._s[key] = !fresh && previous[key] || fn; delete previous[key]; }, trackEvent = function(id, k, ev, source, $el, target) { const key = `${id}:event:${k}`; const prev = renderState._l.get(key); if (prev && prev[0] === target && prev[1] === ev && prev[2] === source) { track(key, prev[4]); return; } prev?.[4](); const dk = `data-${k}`; const handler = ((e) => source.call($el, e)); const cleanup = () => { target.removeEventListener(ev, handler); if ($el.getAttribute(dk) === \"\") $el.removeAttribute(dk); if (renderState._l.get(key)?.[3] === handler) renderState._l.delete(key); }; target.addEventListener(ev, handler); renderState._l.set(key, [target, ev, source, handler, cleanup]); $el.setAttribute(dk, \"\"); track(key, cleanup, true); }, trackCtx = function({ id, $el, tag }) { renderState._e.set(id, $el); if (!tag.tag.endsWith(\"Attrs\")) { const text = tag.textContent; if (text != null && text !== \"\") { if (text !== $el.textContent) $el.textContent = text; track(`${id}:text`, () => { if ($el.textContent === text) $el.textContent = \"\"; }, true); } const html = tag.innerHTML; if (html != null && html !== \"\") { if (html !== $el.innerHTML) $el.innerHTML = html; track(`${id}:html`, () => { if ($el.innerHTML === html) $el.innerHTML = \"\"; }, true); } const elKey = `${id}:el`; track(elKey, previous[elKey] || (() => { $el?.remove(); renderState._e.delete(id); })); } for (const k in tag.props) { const v = tag.props[k]; if (k[0] === \"o\" && k[1] === \"n\" && typeof v === \"function\") { const ev = k.slice(2); if ($el?.dataset?.[`${k}fired`]) v.call($el, new (defaultView?.Event || Event)(ev)); trackEvent(id, k, ev, v, $el, tag.tag === \"bodyAttrs\" && defaultView ? defaultView : $el); continue; } const ck = `${id}:attr:${k}`; if (k === \"class\" && v) { for (const c of v) { const key = `${ck}:${c}`; track(key, previous[key] || (() => $el.classList.remove(c))); if (!$el.classList.contains(c)) $el.classList.add(c); } } else if (k === \"style\" && v) { for (const [sk, sv] of v) { const key = `${ck}:${sk}`; track(key, previous[key] || (() => $el.style.removeProperty(sk))); $el.style.setProperty(sk, sv); } } else if (v !== false && v !== null) { if ($el.getAttribute(k) !== v) $el.setAttribute(k, v === true ? \"\" : String(v)); track(ck, previous[ck] || (() => $el.removeAttribute(k))); } } }; const beforeRenderCtx = { shouldRender: true, tags: [] }; callHook(head, \"dom:beforeRender\", beforeRenderCtx); if (!beforeRenderCtx.shouldRender) return false; let state = activeState; if (state?._d !== dom) { if (state) { for (const k in state._s) state._s[k](); for (const k in state._p) state._p[k](); state._s = state._p = {}; state._e.clear(); state._l.clear(); } state = void 0; } if (!state) { state = createDomState(head, dom); } else { state._p = state._s; } state._s = {}; const renderState = state; const previous = renderState._p; const pending = []; const frag = {}; head.dirty = false; const rawTags = resolveTags(head, options.tagWeight ? { tagWeight: options.tagWeight } : void 0); const tags = []; const dupeKeyCounter = {}; for (const tag of rawTags) { const count = dupeKeyCounter[tag._d] || 0; const id = (count ? `${tag._d}:${count}` : tag._d) || tag._h; const ctx = { tag, id, shouldRender: true }; if (tag.tag === \"meta\" && tag._d && isMetaArrayDupeKey(tag._d)) dupeKeyCounter[tag._d] = count + 1; tags.push(ctx); if (tag.tag === \"title\") { dom.title = tag.textContent; track(\"title:\", () => dom.title = renderState._t); continue; } ctx.$el = renderState._e.get(id); if (ctx.$el) trackCtx(ctx); else if (HasElementTags.has(tag.tag)) pending.push(ctx); } if (pending.length) { const tracked = new Set(renderState._e.values()); for (const el of [...dom.body.children, ...dom.head.children]) { const elTag = el.tagName.toLowerCase(); if (!HasElementTags.has(elTag) || tracked.has(el)) continue; const props = { innerHTML: el.innerHTML }; for (const n of el.getAttributeNames()) props[n] = el.getAttribute(n); const next = normalizeProps({ tag: elTag, props: {} }, props); next.key = el.getAttribute(\"data-hid\") || void 0; const dedupe = dedupeKey(next) || hashTag(next); let k = dedupe; let c = 1; while (renderState._e.has(k)) k = `${dedupe}:${c++}`; renderState._e.set(k, el); } } for (const ctx of pending) { const found = renderState._e.get(ctx.id); ctx.$el = found || dom.createElement(ctx.tag.tag); trackCtx(ctx); if (!found) (frag[ctx.tag.tagPosition || \"head\"] ??= dom.createDocumentFragment()).appendChild(ctx.$el); } if (frag.head) dom.head.appendChild(frag.head); if (frag.bodyOpen) dom.body.insertBefore(frag.bodyOpen, dom.body.firstChild); if (frag.bodyClose) dom.body.appendChild(frag.bodyClose); for (const k in previous) previous[k](); head._dom = renderState; didRender = true; callHook(head, \"dom:rendered\", { renders: tags }); } catch (e) { head.dirty = true; throw e; } finally { head._du = false; } if (didRender && (head.dirty || hasPendingEntries(head))) _renderDOMHead(head, options); return didRender; } function registerPlugin(head, p) { if (typeof p === \"function\" && p.key && head.plugins.has(p.key)) return; const plugin = typeof p === \"function\" ? p(head) : p; const key = plugin.key || String(head.plugins.size + 1); if (!head.plugins.get(key)) { head.plugins.set(key, plugin); for (const k in plugin.hooks || {}) head.hooks?.hook(k, plugin.hooks[k]); } } function createUnhead(renderer, resolvedOptions = {}) { const ssr = !resolvedOptions.document; const entries = new Map(); const plugins = new Map(); const head = { _entryCount: 1, _h: 0, plugins, resolvedOptions, ssr, entries, hooks: void 0, render: () => renderer(head), use: (p) => registerPlugin(head, p), push(input, _options) { const _i = _options?._index ?? head._entryCount++; const options = _options ? { ..._options } : {}; delete options.head; delete options.onRendered; delete options._index; const entry = { _i, input, options }; entries.set(_i, entry); const active = { _i, dispose() { entries.delete(_i); }, patch(input2) { if (ssr) { entry.input = input2; delete entry._tags; } else { entry._pending = input2; } if (!entries.has(_i)) entries.set(_i, entry); } }; return active; } }; resolvedOptions.init?.forEach((e) => e && head.push(e)); return head; } const DEFAULT_STREAM_KEY = \"__unhead__\"; function init(options = {}) { const { streamKey = DEFAULT_STREAM_KEY } = options; const win = \u0074ypeof window !== \"undefined\" ? window : void 0; if (!win) return; const queue = win[streamKey]; if (queue?._head) return queue._head; const doc = typeof document !== \"undefined\" ? document : void 0; const head = createUnhead(createDomRenderer(), { document: doc }); function pushStreamed(entry) { const active = head.push(entry); const stored = head.entries.get(active._i); if (stored) stored._streamed = true; } function pushBatch(entries) { const nested = head._b; head._b = true; try { for (const entry of entries) { pushStreamed(entry); } } finally { head._b = nested; if (!nested) { head.dirty = true; head.render(); } } } if (queue?._q?.length) { pushBatch(queue._q.flat()); } win[streamKey] = { _q: [], _head: head, push: pushBatch }; return head; } exports.init = init; return exports; })({});__unhead_iife__.init();"; +export const streamingIifeSize = 21331; diff --git a/apps/web/.output/server/node_modules/unhead/dist/stream/server.mjs b/apps/web/.output/server/node_modules/unhead/dist/stream/server.mjs new file mode 100644 index 0000000..a470759 --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/stream/server.mjs @@ -0,0 +1,446 @@ +import { parseHtmlForIndexes, applyHeadToHtml } from '../parser.mjs'; +export { prepareTemplate } from '../parser.mjs'; +import { c as createHead } from '../shared/unhead.DGl9jcjg.mjs'; +import { e as resolveHeadInput, h as hashTag, n as normalizeEntryToTags, b as normalizeProps, d as dedupeKey } from '../shared/unhead.DJuZwX9c.mjs'; +import { a as callHook } from '../shared/unhead.Bm4Y6XQI.mjs'; +import { DEFAULT_STREAM_KEY } from './client.mjs'; +import { p as parseStreamKey } from '../shared/unhead.C_7zwq8E.mjs'; +import '../shared/unhead.Bf_fPVYA.mjs'; +import '../shared/unhead.D7HkBzZn.mjs'; +import '../shared/unhead.CGPOfp5O.mjs'; +import 'hookable'; +import '../shared/unhead.C5Bksi2B.mjs'; + +const LT_RE = /</g; +const GT_RE = />/g; +const AMP_RE = /&/g; +const SSR_OUTLET_RE = /<!--\s*(?:app-html|ssr-outlet)\s*-->/; +let encoder; +let preparedStreamingLayouts; +// @__NO_SIDE_EFFECTS__ +function createStreamableHead(options = {}) { + const { streamKey, writesBodyTags, nonce, ...rest } = options; + const parsedStreamKey = streamKey === void 0 ? void 0 : parseStreamKey(streamKey); + const head = createHead({ + ...rest, + experimentalStreamKey: parsedStreamKey + }); + if (writesBodyTags) + streamState(head).writesBodyTags = true; + if (nonce) + streamState(head).nonce = nonce; + let resolveShellReady; + const shellReady = new Promise((resolve) => { + resolveShellReady = resolve; + }); + return { + head, + onShellReady: () => resolveShellReady(), + shellReady + }; +} +function getStreamKey(head) { + const key = head.resolvedOptions.experimentalStreamKey || DEFAULT_STREAM_KEY; + return parseStreamKey(key); +} +function createBootstrapScript(streamKey = DEFAULT_STREAM_KEY, nonce) { + const parsedStreamKey = parseStreamKey(streamKey); + const nonceAttr = renderNonceAttribute(nonce); + return `<script${nonceAttr}>window.${parsedStreamKey}||(window.${parsedStreamKey}={_q:[],push(e){this._q.push(e)}})<\/script>`; +} +function renderNonceAttribute(nonce) { + return nonce ? ` nonce="${nonce.replace(AMP_RE, "&").replace(/"/g, """)}"` : ""; +} +function renderShell(head) { + const result = head.render(); + rememberShellBodyTags(head); + head.entries.clear(); + streamState(head).shellRendered = true; + return result; +} +function renderSSRHeadShell(head, template) { + const parsed = typeof template === "string" ? parseHtmlForIndexes(template) : template; + const result = applyShellToTemplate(head, head.render(), parsed); + rememberShellBodyTags(head); + head.entries.clear(); + streamState(head).shellRendered = true; + return result; +} +function applyShellToTemplate(head, ssr, parsed) { + return applyHeadToHtml(parsed, { + htmlAttrs: ssr.htmlAttrs, + headTags: createBootstrapScript(getStreamKey(head), head._stream?.nonce) + ssr.headTags, + bodyAttrs: ssr.bodyAttrs, + bodyTagsOpen: ssr.bodyTagsOpen, + bodyTags: ssr.bodyTags + }); +} +function normalizePendingTags(head) { + const propResolvers = head.resolvedOptions.propResolvers || []; + const tags = []; + const entries = /* @__PURE__ */ new Map(); + for (const entry of head.entries.values()) { + const resolved = resolveHeadInput(unwrapEntryInput(entry.input), propResolvers); + entries.set(entry._i, { input: entry.input, resolved }); + let index = 0; + for (const tag of normalizeEntryToTags(resolved, [])) { + if (entry.options) + Object.assign(tag, entry.options); + tag._p = (entry._i << 10) + index++; + if (tag.tag === "templateParams") + tag.props = { ...tag.props }; + tags.push(tag); + } + } + return { tags, entries }; +} +const JSON_LD_TYPE_RE = /\bld\+json\b/i; +function streamState(head) { + return head._stream ||= {}; +} +function isStreamedBodyTag(tagName, tag, entryPosition) { + if (!tag || typeof tag !== "object") + return false; + if (tagName === "noscript") + return true; + const position = tag.tagPosition ?? entryPosition; + if (position === "bodyClose" || position === "bodyOpen") + return true; + const type = tag.type ?? tag.props?.type; + return tagName === "script" && typeof type === "string" && JSON_LD_TYPE_RE.test(type); +} +function streamedBodyTagIdentity(tagName, tag) { + const normalized = normalizeProps({ tag: tagName, props: {} }, tag); + const content = hashTag(normalized); + return { slot: dedupeKey(normalized) || content, content }; +} +function unwrapEntryInput(input) { + return typeof input === "function" ? input() : input; +} +function rememberShellBodyTags(head) { + const state = streamState(head); + let seen = state.seen; + for (const entry of head.entries.values()) { + const entryPosition = entry.options?.tagPosition; + for (const tag of entry._tags || entry._precomputedTags || []) { + if (!isStreamedBodyTag(tag.tag, tag, entryPosition)) + continue; + seen ||= state.seen = /* @__PURE__ */ new Set(); + if (tag.textContent || tag.innerHTML) + seen.add(String(tag.textContent || tag.innerHTML)); + seen.add(tag._d || tag._h || hashTag(tag)); + } + } +} +function hasStreamedBodyTags(input, entryPosition) { + if (input && typeof input === "object") { + for (const key in input) { + const value = input[key]; + if (Array.isArray(value)) { + for (const tag of value) { + if (isStreamedBodyTag(key, tag, entryPosition)) + return true; + } + } + } + } + return false; +} +function splitStreamedBodyTags(input, seen, entryPosition) { + let patch; + let bodyTags; + for (const key in input) { + const value = input[key]; + if (!Array.isArray(value) || !value.some((tag) => isStreamedBodyTag(key, tag, entryPosition))) + continue; + const rest = []; + const carried = []; + for (const tag of value) { + if (!isStreamedBodyTag(key, tag, entryPosition)) { + rest.push(tag); + continue; + } + const id = streamedBodyTagIdentity(key, tag); + if (seen.has(id.content)) + continue; + if (seen.has(id.slot)) { + rest.push(tag); + continue; + } + seen.add(id.content); + carried.push({ ...tag, tagPosition: "bodyClose" }); + } + patch ||= { ...input }; + if (rest.length) + patch[key] = rest; + else + delete patch[key]; + if (carried.length) + (bodyTags ||= {})[key] = carried; + } + const hasPatch = Object.keys(patch).some((k) => patch[k] !== void 0); + return { patch: hasPatch ? patch : void 0, bodyTags }; +} +function renderStreamBodyTags(head) { + const bodyTagInputs = streamState(head).bodyTags; + if (!bodyTagInputs?.length) { + return ""; + } + const restore = new Map(head.entries); + head.entries.clear(); + try { + for (const input of bodyTagInputs) + head.push(input); + const bodyTags = head.render().bodyTags; + streamState(head).bodyTags = void 0; + return bodyTags; + } finally { + head.entries.clear(); + for (const [k, v] of restore) + head.entries.set(k, v); + } +} +function renderStreamEnd(head, parts) { + const bodyTags = renderStreamBodyTags(head); + if (!bodyTags) + return parts.end; + const at = parts.bodyTagsAt ?? parts.end.length; + return parts.end.slice(0, at) + bodyTags + parts.end.slice(at); +} +function renderSSRHeadSuspenseChunk(head) { + if (!head.entries.size) + return ""; + const streamKey = getStreamKey(head); + const propResolvers = head.resolvedOptions.propResolvers || []; + let normalizedEntries; + let serialized; + let patchCount = 0; + try { + if (head.hooks?._hooks?.["ssr:streamChunk"]?.length) { + const normalized = normalizePendingTags(head); + normalizedEntries = normalized.entries; + callHook(head, "ssr:streamChunk", { tags: normalized.tags }); + } + const state = streamState(head); + let nextSeen; + const inputs = []; + let bodyTags; + for (const entry of head.entries.values()) { + const normalized = normalizedEntries?.get(entry._i); + const input = normalized && normalized.input === entry.input ? normalized.resolved : resolveHeadInput(unwrapEntryInput(entry.input), propResolvers); + const entryPosition = entry.options?.tagPosition; + if (!state.writesBodyTags || !hasStreamedBodyTags(input, entryPosition)) { + inputs.push(input); + continue; + } + const split = splitStreamedBodyTags(input, nextSeen ||= new Set(state.seen), entryPosition); + if (split.patch) + inputs.push(split.patch); + if (split.bodyTags) + (bodyTags ||= []).push(split.bodyTags); + } + serialized = safeJsonStringify(inputs); + patchCount = inputs.length; + if (nextSeen) + state.seen = nextSeen; + if (bodyTags) + (state.bodyTags ||= []).push(...bodyTags); + } catch (error) { + for (const [key, entry] of head.entries) { + try { + safeJsonStringify(resolveHeadInput(unwrapEntryInput(entry.input), propResolvers)); + } catch { + head.entries.delete(key); + } + } + throw error; + } + head.entries.clear(); + if (!patchCount) + return ""; + return `window.${streamKey}.push(${serialized})`; +} +function safeJsonStringify(obj) { + return JSON.stringify(obj).replace(LT_RE, "\\u003c").replace(GT_RE, "\\u003e").replace(AMP_RE, "\\u0026"); +} +function wrapStream(head, stream, template, preRenderedState, options) { + streamState(head).writesBodyTags = true; + const flushChunk = options?.flushChunk ?? (() => { + let chunk; + try { + chunk = renderSSRHeadSuspenseChunk(head); + } catch { + return ""; + } + if (!chunk) + return ""; + return `<script${renderNonceAttribute(head._stream?.nonce)}>window.${getStreamKey(head)}&&(${chunk});document.currentScript.remove()<\/script>`; + }); + const enc = encoder ??= new TextEncoder(); + let reader; + let parts; + return new ReadableStream({ + // Async so a failure here rejects into an errored stream instead of + // throwing synchronously out of the constructor. The reader is acquired + // before rendering (and released if rendering fails) so a failure at + // either step leaves `head.entries` intact and the upstream unlocked + // for retry. + async start(controller) { + const activeReader = stream.getReader(); + let prepared; + try { + prepared = prepareStreamingTemplate(head, template, preRenderedState); + } catch (error) { + activeReader.releaseLock(); + throw error; + } + reader = activeReader; + parts = prepared; + controller.enqueue(enc.encode(prepared.shell)); + }, + // Read at most one upstream chunk per downstream request so backpressure + // propagates instead of eagerly draining the app stream. + async pull(controller) { + const activeReader = reader; + if (!activeReader) + return; + const result = await activeReader.read().then( + (value) => ({ ok: true, value }), + (error) => ({ ok: false, error }) + ); + if (activeReader !== reader) + return; + if (!result.ok) { + reader = void 0; + activeReader.releaseLock(); + controller.error(result.error); + return; + } + if (result.value.done) { + reader = void 0; + activeReader.releaseLock(); + const extra2 = flushChunk?.(); + if (extra2) + controller.enqueue(enc.encode(extra2)); + const closing = parts ? renderStreamEnd(head, parts) : ""; + if (closing) + controller.enqueue(enc.encode(closing)); + controller.close(); + return; + } + controller.enqueue(result.value.value); + const extra = flushChunk?.(); + if (extra) + controller.enqueue(enc.encode(extra)); + }, + async cancel(reason) { + const activeReader = reader; + reader = void 0; + if (activeReader) { + try { + await activeReader.cancel(reason); + } catch { + } + activeReader.releaseLock(); + } + } + }); +} +function createStreamingTemplateLayout(parsed) { + const html = parsed.html; + const bodyEnd = parsed.indexes.bodyTagEnd; + const bodyCloseStart = parsed.indexes.bodyCloseTagStart; + if (bodyEnd < 0 || bodyCloseStart < 0) + return; + const bodyInterior = html.substring(bodyEnd, bodyCloseStart); + const markerMatch = bodyInterior.match(SSR_OUTLET_RE); + let beforeStream; + let afterStream; + if (markerMatch) { + beforeStream = bodyInterior.substring(0, markerMatch.index); + afterStream = bodyInterior.substring(markerMatch.index + markerMatch[0].length); + } else { + beforeStream = ""; + afterStream = bodyInterior; + } + const shellPart = html.substring(0, bodyEnd) + beforeStream; + const endPart = html.substring(bodyCloseStart); + let shellTemplate; + if (bodyCloseStart >= bodyEnd) { + const shellLen = shellPart.length; + const { htmlTagStart, headTagEnd, bodyTagStart } = parsed.indexes; + const shellHtmlTagStart = htmlTagStart >= 0 && htmlTagStart + 5 <= shellLen ? htmlTagStart : -1; + let shellHtmlTagEnd = -1; + if (shellHtmlTagStart >= 0) { + const gt = shellPart.indexOf(">", shellHtmlTagStart); + shellHtmlTagEnd = gt >= 0 ? gt + 1 : shellLen + 7; + } + shellTemplate = { + html: `${shellPart}</body></html>`, + input: parsed.input, + indexes: { + htmlTagStart: shellHtmlTagStart, + htmlTagEnd: shellHtmlTagEnd, + headTagEnd: headTagEnd >= 0 && headTagEnd + 7 <= shellLen ? headTagEnd : -1, + // <body> is always fully inside the prefix in this branch. + bodyTagStart, + bodyTagEnd: bodyEnd, + bodyCloseTagStart: bodyCloseStart + 7 <= shellLen ? bodyCloseStart : shellLen + } + }; + } else { + shellTemplate = parseHtmlForIndexes(`${shellPart}</body></html>`); + } + return { + shellTemplate, + endBeforeBodyTags: afterStream, + endAfterBodyTags: endPart + }; +} +function getPreparedStreamingLayout(template) { + const cache = preparedStreamingLayouts ||= /* @__PURE__ */ new WeakMap(); + let layout = cache.get(template); + if (layout === void 0) { + layout = createStreamingTemplateLayout(template) || null; + if (layout) { + Object.freeze(layout.shellTemplate.indexes); + Object.freeze(layout.shellTemplate); + Object.freeze(layout); + } + cache.set(template, layout); + } + return layout || void 0; +} +function prepareStreamingTemplate(head, template, preRenderedState) { + const ssr = preRenderedState ?? head.render(); + const parsed = typeof template === "string" ? parseHtmlForIndexes(template) : template; + const layout = typeof template === "string" ? createStreamingTemplateLayout(parsed) : getPreparedStreamingLayout(template); + let parts; + if (layout) { + const shell = applyHeadToHtml(layout.shellTemplate, { + htmlAttrs: ssr.htmlAttrs, + headTags: createBootstrapScript(getStreamKey(head), head._stream?.nonce) + ssr.headTags, + bodyAttrs: ssr.bodyAttrs, + bodyTagsOpen: ssr.bodyTagsOpen, + bodyTags: "" + }).replace("</body></html>", ""); + parts = { + shell, + end: layout.endBeforeBodyTags + ssr.bodyTags + layout.endAfterBodyTags, + bodyTagsAt: layout.endBeforeBodyTags.length + }; + } else { + parts = { + shell: applyShellToTemplate(head, ssr, parsed), + end: "" + }; + } + if (!preRenderedState) { + rememberShellBodyTags(head); + head.entries.clear(); + } + streamState(head).shellRendered = true; + return parts; +} + +export { createBootstrapScript, createStreamableHead, prepareStreamingTemplate, renderSSRHeadShell, renderSSRHeadSuspenseChunk, renderShell, renderStreamBodyTags, renderStreamEnd, wrapStream }; diff --git a/apps/web/.output/server/node_modules/unhead/dist/utils.mjs b/apps/web/.output/server/node_modules/unhead/dist/utils.mjs new file mode 100644 index 0000000..9f2481d --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/dist/utils.mjs @@ -0,0 +1,7 @@ +export { D as DupeableTags, H as HasElementTags, M as MetaTagsArrayable, S as ScriptNetworkEvents, a as SelfClosingTags, T as TagConfigKeys, b as TagPriorityAliases, c as TagsWithInnerContent, U as UniqueTags, d as UsesMergeStrategy, V as ValidHeadTags } from './shared/unhead.CGPOfp5O.mjs'; +export { d as dedupeKey, a as dedupeTags, h as hashTag, i as isMetaArrayDupeKey, n as normalizeEntryToTags, b as normalizeProps, r as resolveTags, c as resolveTitleTemplate, s as sanitizeTags, w as walkResolver } from './shared/unhead.DJuZwX9c.mjs'; +export { h as hasOwn } from './shared/unhead.Bf_fPVYA.mjs'; +export { r as resolveMetaKeyType, a as resolveMetaKeyValue, b as resolvePackedMetaObjectValue, u as unpackMeta } from './shared/unhead.o8j9utSy.mjs'; +export { p as processTemplateParams } from './shared/unhead.DspMpm6y.mjs'; +import './shared/unhead.Bm4Y6XQI.mjs'; +import 'hookable'; diff --git a/apps/web/.output/server/node_modules/unhead/package.json b/apps/web/.output/server/node_modules/unhead/package.json new file mode 100644 index 0000000..dff8efd --- /dev/null +++ b/apps/web/.output/server/node_modules/unhead/package.json @@ -0,0 +1,179 @@ +{ + "name": "unhead", + "type": "module", + "version": "3.4.3", + "description": "Full-stack <head> manager built for any framework.", + "author": { + "name": "Harlan Wilton", + "email": "harlan@harlanzw.com", + "url": "https://harlanzw.com/" + }, + "publishConfig": { + "access": "public", + "tag": "next" + }, + "license": "MIT", + "funding": "https://github.com/sponsors/harlan-zw", + "homepage": "https://unhead.unjs.io", + "repository": { + "type": "git", + "url": "git+https://github.com/unjs/unhead.git", + "directory": "packages/unhead" + }, + "bugs": { + "url": "https://github.com/unjs/unhead/issues" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.mjs" + }, + "./plugins": { + "types": "./dist/plugins.d.ts", + "default": "./dist/plugins.mjs" + }, + "./legacy": { + "types": "./dist/legacy.d.ts", + "default": "./dist/legacy.mjs" + }, + "./minify": { + "types": "./dist/minify.d.ts", + "default": "./dist/minify.mjs" + }, + "./server": { + "types": "./dist/server.d.ts", + "default": "./dist/server.mjs" + }, + "./client": { + "types": "./dist/client.d.ts", + "default": "./dist/client.mjs" + }, + "./stream/server": { + "types": "./dist/stream/server.d.ts", + "default": "./dist/stream/server.mjs" + }, + "./stream/client": { + "types": "./dist/stream/client.d.ts", + "default": "./dist/stream/client.mjs" + }, + "./utils": { + "types": "./dist/utils.d.ts", + "default": "./dist/utils.mjs" + }, + "./types": { + "types": "./dist/types.d.ts", + "default": "./dist/types.mjs" + }, + "./scripts": { + "types": "./dist/scripts.d.ts", + "node": "./dist/scripts.node.mjs", + "default": "./dist/scripts.mjs" + }, + "./scripts/triggers": { + "types": "./dist/scripts/triggers.d.ts", + "default": "./dist/scripts/triggers.mjs" + }, + "./parser": { + "types": "./dist/parser.d.ts", + "default": "./dist/parser.mjs" + }, + "./validate": { + "types": "./dist/validate.d.ts", + "default": "./dist/validate.mjs" + }, + "./stream/unplugin": { + "types": "./dist/stream/unplugin.d.ts", + "default": "./dist/stream/unplugin.mjs" + }, + "./stream/vite": { + "types": "./dist/stream/vite.d.ts", + "default": "./dist/stream/vite.mjs" + }, + "./stream/iife": { + "types": "./dist/stream/iife.d.ts", + "default": "./dist/stream/iife.mjs" + } + }, + "main": "dist/index.mjs", + "module": "dist/index.mjs", + "types": "dist/index.d.ts", + "typesVersions": { + "*": { + "plugins": [ + "dist/plugins.d.ts" + ], + "legacy": [ + "dist/legacy.d.ts" + ], + "minify": [ + "dist/minify.d.ts" + ], + "server": [ + "dist/server.d.ts" + ], + "client": [ + "dist/client.d.ts" + ], + "stream/server": [ + "dist/stream/server.d.ts" + ], + "stream/client": [ + "dist/stream/client.d.ts" + ], + "utils": [ + "dist/utils.d.ts" + ], + "types": [ + "dist/types.d.ts" + ], + "scripts": [ + "dist/scripts.d.ts" + ], + "scripts/triggers": [ + "dist/scripts/triggers.d.ts" + ], + "parser": [ + "dist/parser.d.ts" + ], + "validate": [ + "dist/validate.d.ts" + ], + "stream/unplugin": [ + "dist/stream/unplugin.d.ts" + ], + "stream/vite": [ + "dist/stream/vite.d.ts" + ], + "stream/iife": [ + "dist/stream/iife.d.ts" + ] + } + }, + "files": [ + "*.d.ts", + "dist" + ], + "peerDependencies": { + "vite": ">=6.4.2" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + }, + "dependencies": { + "hookable": "^6.1.1", + "unplugin": "^3.3.0" + }, + "devDependencies": { + "@rollup/plugin-node-resolve": "^16.0.3", + "rollup": "^4.63.2", + "vite": "^8.3.0" + }, + "scripts": { + "build": "unbuild", + "stub": "unbuild --stub", + "test:attw": "attw --pack" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs b/apps/web/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs new file mode 100644 index 0000000..100c3b0 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs @@ -0,0 +1,687 @@ +import { withLeadingSlash } from "ufo"; +//#region src/runtime.ts +const MAX_INITIAL_SLOTS = 8192; +function createMergeSlots(capacity = 16) { + return { + slotOf: Object.create(null), + count: 0, + idOf: [], + metaOf: [], + scripts: new Uint8Array(capacity), + styles: new Uint8Array(capacity), + preload: new Uint8Array(capacity), + prefetch: new Uint8Array(capacity), + epoch: 0 + }; +} +function slotFor(slots, id, meta) { + let slot = slots.slotOf[id]; + if (slot === void 0) { + slot = slots.count++; + slots.slotOf[id] = slot; + slots.idOf.push(id); + slots.metaOf.push(meta); + if (slot >= slots.scripts.length) { + const capacity = slots.scripts.length * 2; + for (const kind of [ + "scripts", + "styles", + "preload", + "prefetch" + ]) { + const grown = new Uint8Array(capacity); + grown.set(slots[kind]); + slots[kind] = grown; + } + } + } + return slot; +} +function createFragmentCaches() { + return { + style: [], + script: [], + preloadHint: [], + prefetchHint: [], + preloadHeader: [], + prefetchHeader: [], + href: [] + }; +} +function createRendererContext({ manifest, precomputed, buildAssetsURL, dependencySetsCacheSize }) { + if (!manifest && !precomputed) throw new Error("Either manifest or precomputed data must be provided"); + const cacheSize = typeof dependencySetsCacheSize === "number" && Number.isFinite(dependencySetsCacheSize) && dependencySetsCacheSize > 0 ? Math.floor(dependencySetsCacheSize) : dependencySetsCacheSize === void 0 ? 1e3 : 0; + const entrypoints = []; + let slotCapacity = 16; + if (precomputed) slotCapacity = precomputed.resourceCount ?? 16; + else if (manifest) for (const id in manifest) { + slotCapacity++; + if (manifest[id].isEntry) entrypoints.push(id); + } + const ctx = { + buildAssetsURL: buildAssetsURL || withLeadingSlash, + manifest, + precomputed, + updateManifest, + _dependencies: {}, + _dependencySets: /* @__PURE__ */ new Map(), + _dependencySetAliases: /* @__PURE__ */ new Map(), + _aliasIdHashes: Object.create(null), + _aliasIdHashCount: 0, + _dependencySetsCacheSize: cacheSize, + _entrypoints: [], + _renderedCache: /* @__PURE__ */ new WeakMap(), + _fragments: createFragmentCaches(), + _flatDependencies: Object.create(null), + _mergeSlots: createMergeSlots(Math.min(slotCapacity, MAX_INITIAL_SLOTS)), + _idScratch: [] + }; + function updateManifest(manifest) { + ctx.manifest = manifest; + ctx._dependencies = {}; + ctx._dependencySets.clear(); + ctx._dependencySetAliases.clear(); + ctx._aliasIdHashes = Object.create(null); + ctx._aliasIdHashCount = 0; + ctx._renderedCache = /* @__PURE__ */ new WeakMap(); + ctx._fragments = createFragmentCaches(); + ctx._flatDependencies = Object.create(null); + let capacity = 16; + const entrypoints = []; + for (const id in manifest) { + capacity++; + if (manifest[id].isEntry) entrypoints.push(id); + } + ctx._mergeSlots = createMergeSlots(Math.min(capacity, MAX_INITIAL_SLOTS)); + ctx._entrypoints = entrypoints; + } + if (precomputed) { + ctx._dependencies = precomputed.dependencies; + ctx._entrypoints = precomputed.entrypoints; + } else if (manifest) ctx._entrypoints = entrypoints; + return ctx; +} +function getModuleDependencies(id, rendererContext) { + if (rendererContext._dependencies[id]) return rendererContext._dependencies[id]; + const dependencies = rendererContext._dependencies[id] = { + scripts: {}, + styles: {}, + preload: {}, + prefetch: {} + }; + if (!rendererContext.manifest) return dependencies; + const meta = rendererContext.manifest[id]; + if (!meta) return dependencies; + if (meta.file) { + if (meta.preload) dependencies.preload[id] = meta; + if (meta.isEntry || meta.sideEffects) dependencies.scripts[id] = meta; + } + for (const css of meta.css || []) { + const cssResource = rendererContext.manifest[css]; + dependencies.styles[css] = dependencies.prefetch[css] = cssResource; + if (cssResource.preload) dependencies.preload[css] = cssResource; + } + for (const asset of meta.assets || []) { + const assetResource = rendererContext.manifest[asset]; + dependencies.prefetch[asset] = assetResource; + if (assetResource.preload) dependencies.preload[asset] = assetResource; + } + if (meta.imports) for (const depId of meta.imports) { + const depDeps = getModuleDependencies(depId, rendererContext); + Object.assign(dependencies.styles, depDeps.styles); + Object.assign(dependencies.preload, depDeps.preload); + Object.assign(dependencies.prefetch, depDeps.prefetch); + } + return dependencies; +} +/** Past this, the table is dropped wholesale; stale alias keys stop matching. */ +const MAX_ALIAS_ID_HASHES = 65536; +function aliasHash(rendererContext, entrypoints, requestIds) { + let hashes = rendererContext._aliasIdHashes; + if (rendererContext._aliasIdHashCount > MAX_ALIAS_ID_HASHES) { + hashes = rendererContext._aliasIdHashes = Object.create(null); + rendererContext._aliasIdHashCount = 0; + rendererContext._dependencySetAliases.clear(); + } + let sum = 0; + let mixed = 1; + let count = 0; + for (const id of entrypoints) { + let hash = hashes[id]; + if (hash === void 0) { + hash = rendererContext._aliasIdHashCount++ * 2654435761 | 0; + hashes[id] = hash; + } + sum = sum + hash | 0; + mixed = mixed ^ hash + count | 0; + count++; + } + if (requestIds) for (const id of requestIds) { + let hash = hashes[id]; + if (hash === void 0) { + hash = rendererContext._aliasIdHashCount++ * 2654435761 | 0; + hashes[id] = hash; + } + sum = sum + hash | 0; + mixed = mixed ^ hash + count | 0; + count++; + } + return Math.imul(sum, 2654435761) ^ Math.imul(mixed, 40503) ^ count | 0; +} +function readAlias(rendererContext, aliasKey, moduleIds, entrypoints, requestIds) { + const entry = rendererContext._dependencySetAliases.get(aliasKey); + if (entry === void 0) return; + const { ids } = entry; + let i = 0; + if (moduleIds) { + if (moduleIds.length !== ids.length) return; + for (; i < moduleIds.length; i++) if (ids[i] !== moduleIds[i]) return; + return entry.deps; + } + for (const id of entrypoints) if (ids[i++] !== id) return; + if (requestIds) { + for (const id of requestIds) if (ids[i++] !== id) return; + } + return i === ids.length ? entry.deps : void 0; +} +function setAlias(rendererContext, aliasKey, ids, deps, cacheSize) { + const aliases = rendererContext._dependencySetAliases; + aliases.set(aliasKey, { + ids: [...ids], + deps + }); + if (aliases.size > cacheSize) { + const oldest = aliases.keys().next().value; + if (oldest !== void 0) aliases.delete(oldest); + } +} +function collectInto(source, slots, mergeSlots) { + for (const id in source) slots.push(slotFor(mergeSlots, id, source[id])); +} +/** A module's own styles are never preloaded; cross-module overlap is filtered per request. */ +function collectPreload(deps, slots, mergeSlots) { + const { styles, preload } = deps; + for (const id in preload) { + if (id in styles) continue; + slots.push(slotFor(mergeSlots, id, preload[id])); + } +} +/** Opt-out and a module's own preload and styles are fixed; cross-module overlap is not. */ +function collectPrefetch(deps, source, slots, seen, mergeSlots) { + const { styles, preload } = deps; + for (const id in source) { + const meta = source[id]; + if (!meta.prefetch || id in preload || id in styles) continue; + const slot = slotFor(mergeSlots, id, meta); + if (seen.has(slot)) continue; + seen.add(slot); + slots.push(slot); + } +} +function getFlatDependencies(id, rendererContext) { + const cached = rendererContext._flatDependencies[id]; + if (cached !== void 0) return cached; + const deps = getModuleDependencies(id, rendererContext); + const mergeSlots = rendererContext._mergeSlots; + const flat = { + scriptSlots: [], + styleSlots: [], + preloadSlots: [], + prefetchSlots: [] + }; + collectInto(deps.scripts, flat.scriptSlots, mergeSlots); + collectInto(deps.styles, flat.styleSlots, mergeSlots); + collectPreload(deps, flat.preloadSlots, mergeSlots); + const prefetchSeen = /* @__PURE__ */ new Set(); + collectPrefetch(deps, deps.prefetch, flat.prefetchSlots, prefetchSeen, mergeSlots); + const dynamicImports = rendererContext.manifest?.[id]?.dynamicImports || rendererContext.precomputed?.modules[id]?.dynamicImports; + if (dynamicImports) for (const dynamicDepId of dynamicImports) { + const dynamicDeps = getModuleDependencies(dynamicDepId, rendererContext); + collectPrefetch(deps, dynamicDeps.scripts, flat.prefetchSlots, prefetchSeen, mergeSlots); + collectPrefetch(deps, dynamicDeps.styles, flat.prefetchSlots, prefetchSeen, mergeSlots); + collectPrefetch(deps, dynamicDeps.preload, flat.prefetchSlots, prefetchSeen, mergeSlots); + } + rendererContext._flatDependencies[id] = flat; + return flat; +} +function getAllDependencies(ids, rendererContext) { + const cacheSize = rendererContext._dependencySetsCacheSize; + const moduleIds = rendererContext._idScratch; + moduleIds.length = 0; + for (const id of ids) moduleIds.push(id); + let aliasKey = 0; + let hasAlias = false; + if (cacheSize > 0 && ids.size > 1) { + aliasKey = aliasHash(rendererContext, moduleIds, void 0); + hasAlias = true; + const aliased = readAlias(rendererContext, aliasKey, moduleIds, moduleIds, void 0); + if (aliased !== void 0) return aliased; + } + return resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias); +} +/** The id list may contain duplicates: merging deduplicates at resource level. */ +function resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias) { + const cacheSize = rendererContext._dependencySetsCacheSize; + const useCache = cacheSize > 0; + let cacheKey = ""; + if (useCache) { + if (moduleIds.length <= 1) cacheKey = moduleIds[0] || ""; + else cacheKey = [...new Set(moduleIds)].sort().join(","); + const cached = rendererContext._dependencySets.get(cacheKey); + if (cached !== void 0) { + if (rendererContext._dependencySets.size >= cacheSize) { + rendererContext._dependencySets.delete(cacheKey); + rendererContext._dependencySets.set(cacheKey, cached); + } + if (hasAlias) setAlias(rendererContext, aliasKey, moduleIds, cached, cacheSize); + return cached; + } + } + const styleSlots = []; + const scriptSlots = []; + const preloadSlots = []; + const prefetchSlots = []; + const mergeSlots = rendererContext._mergeSlots; + let epoch = mergeSlots.epoch + 1; + if (epoch > 255) { + epoch = 1; + mergeSlots.scripts.fill(0); + mergeSlots.styles.fill(0); + mergeSlots.preload.fill(0); + mergeSlots.prefetch.fill(0); + } + mergeSlots.epoch = epoch; + let scriptSeen = mergeSlots.scripts; + let styleSeen = mergeSlots.styles; + let preloadSeen = mergeSlots.preload; + let prefetchSeen = mergeSlots.prefetch; + for (let m = 0; m < moduleIds.length; m++) { + const flat = getFlatDependencies(moduleIds[m], rendererContext); + if (mergeSlots.scripts !== scriptSeen) { + scriptSeen = mergeSlots.scripts; + styleSeen = mergeSlots.styles; + preloadSeen = mergeSlots.preload; + prefetchSeen = mergeSlots.prefetch; + } + for (let i = 0; i < flat.scriptSlots.length; i++) { + const slot = flat.scriptSlots[i]; + if (scriptSeen[slot] === epoch) continue; + scriptSeen[slot] = epoch; + scriptSlots.push(slot); + } + for (let i = 0; i < flat.styleSlots.length; i++) { + const slot = flat.styleSlots[i]; + if (styleSeen[slot] === epoch) continue; + styleSeen[slot] = epoch; + styleSlots.push(slot); + } + for (let i = 0; i < flat.preloadSlots.length; i++) { + const slot = flat.preloadSlots[i]; + if (preloadSeen[slot] === epoch) continue; + preloadSeen[slot] = epoch; + preloadSlots.push(slot); + } + for (let i = 0; i < flat.prefetchSlots.length; i++) { + const slot = flat.prefetchSlots[i]; + if (prefetchSeen[slot] === epoch) continue; + prefetchSeen[slot] = epoch; + prefetchSlots.push(slot); + } + } + let kept = 0; + for (let i = 0; i < preloadSlots.length; i++) { + const slot = preloadSlots[i]; + if (styleSeen[slot] !== epoch) { + preloadSlots[kept] = slot; + kept++; + } + } + preloadSlots.length = kept; + kept = 0; + const metaOf = mergeSlots.metaOf; + for (let i = 0; i < prefetchSlots.length; i++) { + const slot = prefetchSlots[i]; + if (metaOf[slot].prefetch && preloadSeen[slot] !== epoch && styleSeen[slot] !== epoch) { + prefetchSlots[kept] = slot; + kept++; + } + } + prefetchSlots.length = kept; + const order = { + styleSlots, + scriptSlots, + preloadSlots, + prefetchSlots, + mergeSlots + }; + const allDeps = new Proxy({ [SLOT_SOURCE]: order }, LAZY_DEPENDENCIES); + rendererContext._renderedCache.set(allDeps, { order }); + if (useCache) { + rendererContext._dependencySets.set(cacheKey, allDeps); + if (rendererContext._dependencySets.size > cacheSize) { + const oldest = rendererContext._dependencySets.keys().next().value; + if (oldest !== void 0) rendererContext._dependencySets.delete(oldest); + } + if (hasAlias) setAlias(rendererContext, aliasKey, moduleIds, allDeps, cacheSize); + } + return allDeps; +} +function getRequestDependencies(ssrContext, rendererContext, options) { + const excluded = options?.exclude ? new Set(options.exclude) : void 0; + const hasExcluded = excluded && excluded.size > 0; + if (!hasExcluded && ssrContext._requestDependencies) return ssrContext._requestDependencies; + const requestIds = ssrContext.modules || ssrContext._registeredComponents; + let aliasKey = 0; + let hasAlias = false; + if (!hasExcluded && rendererContext._dependencySetsCacheSize > 0) { + aliasKey = aliasHash(rendererContext, rendererContext._entrypoints, requestIds); + hasAlias = true; + const aliased = readAlias(rendererContext, aliasKey, void 0, rendererContext._entrypoints, requestIds); + if (aliased !== void 0) { + ssrContext._requestDependencies = aliased; + return aliased; + } + } + const moduleIds = rendererContext._idScratch; + moduleIds.length = 0; + if (hasExcluded) { + for (const id of rendererContext._entrypoints) if (!excluded.has(id)) moduleIds.push(id); + if (requestIds) { + for (const id of requestIds) if (!excluded.has(id)) moduleIds.push(id); + } + } else { + for (const id of rendererContext._entrypoints) moduleIds.push(id); + if (requestIds) for (const id of requestIds) moduleIds.push(id); + } + const deps = resolveDependencies(moduleIds, rendererContext, aliasKey, hasAlias); + if (!hasExcluded) ssrContext._requestDependencies = deps; + return deps; +} +function getRenderedOutputs(rendererContext, deps) { + let entry = rendererContext._renderedCache.get(deps); + if (!entry) { + entry = {}; + rendererContext._renderedCache.set(deps, entry); + } + return entry; +} +const SLOT_SOURCE = Symbol("slots"); +const SLOTS_FOR = { + scripts: "scriptSlots", + styles: "styleSlots", + preload: "preloadSlots", + prefetch: "prefetchSlots" +}; +/** Records are built on first access; rendering reads the slot arrays directly. */ +const LAZY_DEPENDENCIES = { + get(target, key) { + const value = target[key]; + if (value !== void 0 || !isRecordKey(key)) return value; + return materialiseRecord(target, key); + }, + has(target, key) { + return isRecordKey(key) || key in target; + }, + ownKeys(target) { + const extra = Reflect.ownKeys(target).filter((key) => key !== SLOT_SOURCE && !isRecordKey(key)); + return extra.length > 0 ? [...RECORD_KEYS, ...extra] : RECORD_KEYS.slice(); + }, + getOwnPropertyDescriptor(target, key) { + if (!isRecordKey(key)) return key === SLOT_SOURCE ? void 0 : Reflect.getOwnPropertyDescriptor(target, key); + return { + value: target[key] ?? materialiseRecord(target, key), + writable: true, + enumerable: true, + configurable: true + }; + }, + set(target, key, value) { + target[key] = value; + return true; + }, + deleteProperty(target, key) { + return Reflect.deleteProperty(target, key); + } +}; +const RECORD_KEYS = [ + "scripts", + "styles", + "preload", + "prefetch" +]; +function isRecordKey(key) { + return key === "scripts" || key === "styles" || key === "preload" || key === "prefetch"; +} +function materialiseRecord(target, key) { + const order = target[SLOT_SOURCE]; + const record = buildRecord(order.mergeSlots, order[SLOTS_FOR[key]]); + target[key] = record; + return record; +} +function buildRecord(mergeSlots, slots) { + const { idOf, metaOf } = mergeSlots; + const record = {}; + for (let i = 0; i < slots.length; i++) { + const slot = slots[i]; + record[idOf[slot]] = metaOf[slot]; + } + return record; +} +function collectOrder(source, slots, mergeSlots) { + for (const id in source) slots.push(slotFor(mergeSlots, id, source[id])); +} +/** Records supplied by a caller carry no order, so derive and memoize one. */ +function getOrder(rendererContext, deps, rendered) { + if (rendered.order) return rendered.order; + const mergeSlots = rendererContext._mergeSlots; + const order = { + styleSlots: [], + scriptSlots: [], + preloadSlots: [], + prefetchSlots: [], + mergeSlots + }; + collectOrder(deps.styles, order.styleSlots, mergeSlots); + collectOrder(deps.scripts, order.scriptSlots, mergeSlots); + collectOrder(deps.preload, order.preloadSlots, mergeSlots); + collectOrder(deps.prefetch, order.prefetchSlots, mergeSlots); + rendered.order = order; + return order; +} +function renderStyles(ssrContext, rendererContext) { + const deps = getRequestDependencies(ssrContext, rendererContext); + const rendered = getRenderedOutputs(rendererContext, deps); + if (rendered.styles !== void 0) return rendered.styles; + const order = getOrder(rendererContext, deps, rendered); + const metaOf = rendererContext._mergeSlots.metaOf; + let result = ""; + const cache = rendererContext._fragments.style; + for (let i = 0; i < order.styleSlots.length; i++) { + const slot = order.styleSlots[i]; + let fragment = cache[slot]; + if (fragment === void 0) fragment = cache[slot] = `<link rel="stylesheet" href="${rendererContext.buildAssetsURL(metaOf[slot].file)}" crossorigin>`; + result += fragment; + } + rendered.styles = result; + return result; +} +function getResources(ssrContext, rendererContext) { + return [...getPreloadLinks(ssrContext, rendererContext), ...getPrefetchLinks(ssrContext, rendererContext)]; +} +function isScriptResource(resource) { + return !!resource.module || resource.resourceType === "script"; +} +function renderResourceHints(ssrContext, rendererContext, options) { + const deps = getRequestDependencies(ssrContext, rendererContext, options); + const rendered = getRenderedOutputs(rendererContext, deps); + const withScripts = options?.scripts !== false; + const cached = withScripts ? rendered.hints : rendered.hintsWithoutScripts; + if (cached !== void 0) return cached; + const order = getOrder(rendererContext, deps, rendered); + const metaOf = rendererContext._mergeSlots.metaOf; + let result = ""; + const preloadCache = rendererContext._fragments.preloadHint; + for (let i = 0; i < order.preloadSlots.length; i++) { + const slot = order.preloadSlots[i]; + if (!withScripts && isScriptResource(metaOf[slot])) continue; + let fragment = preloadCache[slot]; + if (fragment === void 0) { + const resource = metaOf[slot]; + const href = rendererContext.buildAssetsURL(resource.file); + const rel = resource.module ? "modulepreload" : "preload"; + const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; + fragment = resource.resourceType && resource.mimeType ? `<link rel="${rel}" as="${resource.resourceType}" type="${resource.mimeType}"${crossorigin} href="${href}">` : resource.resourceType ? `<link rel="${rel}" as="${resource.resourceType}"${crossorigin} href="${href}">` : `<link rel="${rel}"${crossorigin} href="${href}">`; + preloadCache[slot] = fragment; + } + result += fragment; + } + const prefetchCache = rendererContext._fragments.prefetchHint; + for (let i = 0; i < order.prefetchSlots.length; i++) { + const slot = order.prefetchSlots[i]; + if (!withScripts && isScriptResource(metaOf[slot])) continue; + let fragment = prefetchCache[slot]; + if (fragment === void 0) { + const resource = metaOf[slot]; + const href = rendererContext.buildAssetsURL(resource.file); + const crossorigin = resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? " crossorigin" : ""; + fragment = resource.resourceType && resource.mimeType ? `<link rel="prefetch" as="${resource.resourceType}" type="${resource.mimeType}"${crossorigin} href="${href}">` : resource.resourceType ? `<link rel="prefetch" as="${resource.resourceType}"${crossorigin} href="${href}">` : `<link rel="prefetch"${crossorigin} href="${href}">`; + prefetchCache[slot] = fragment; + } + result += fragment; + } + if (withScripts) rendered.hints = result; + else rendered.hintsWithoutScripts = result; + return result; +} +const NON_ASCII_RE = /[^\0-\u007F]+/g; +function renderResourceHeaders(ssrContext, rendererContext, options) { + const deps = getRequestDependencies(ssrContext, rendererContext, options); + const rendered = getRenderedOutputs(rendererContext, deps); + const withScripts = options?.scripts !== false; + const cached = withScripts ? rendered.headerLink : rendered.headerLinkWithoutScripts; + if (cached !== void 0) return { link: cached }; + const order = getOrder(rendererContext, deps, rendered); + const metaOf = rendererContext._mergeSlots.metaOf; + let link = ""; + const preloadCache = rendererContext._fragments.preloadHeader; + for (let i = 0; i < order.preloadSlots.length; i++) { + const slot = order.preloadSlots[i]; + if (!withScripts && isScriptResource(metaOf[slot])) continue; + let header = preloadCache[slot]; + if (header === void 0) { + const resource = metaOf[slot]; + header = `<${rendererContext.buildAssetsURL(resource.file).replace(NON_ASCII_RE, encodeURIComponent)}>; rel="${resource.module ? "modulepreload" : "preload"}"`; + if (resource.resourceType) header += `; as="${resource.resourceType}"`; + if (resource.mimeType) header += `; type="${resource.mimeType}"`; + if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) header += "; crossorigin"; + preloadCache[slot] = header; + } + link = link ? `${link}, ${header}` : header; + } + const prefetchCache = rendererContext._fragments.prefetchHeader; + for (let i = 0; i < order.prefetchSlots.length; i++) { + const slot = order.prefetchSlots[i]; + if (!withScripts && isScriptResource(metaOf[slot])) continue; + let header = prefetchCache[slot]; + if (header === void 0) { + const resource = metaOf[slot]; + header = `<${rendererContext.buildAssetsURL(resource.file).replace(NON_ASCII_RE, encodeURIComponent)}>; rel="prefetch"`; + if (resource.resourceType) header += `; as="${resource.resourceType}"`; + if (resource.mimeType) header += `; type="${resource.mimeType}"`; + if (resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module) header += "; crossorigin"; + prefetchCache[slot] = header; + } + link = link ? `${link}, ${header}` : header; + } + if (withScripts) rendered.headerLink = link; + else rendered.headerLinkWithoutScripts = link; + return { link }; +} +/** `buildAssetsURL` is a pure function of the id, so each result is built once. */ +function hrefFor(rendererContext, slot, resource) { + const cache = rendererContext._fragments.href; + let href = cache[slot]; + if (href === void 0) href = cache[slot] = rendererContext.buildAssetsURL(resource.file); + return href; +} +function getPreloadLinks(ssrContext, rendererContext, options) { + const deps = getRequestDependencies(ssrContext, rendererContext, options); + const order = getOrder(rendererContext, deps, getRenderedOutputs(rendererContext, deps)); + const metaOf = rendererContext._mergeSlots.metaOf; + const withScripts = options?.scripts !== false; + const result = []; + for (let i = 0; i < order.preloadSlots.length; i++) { + const slot = order.preloadSlots[i]; + const resource = metaOf[slot]; + if (!withScripts && isScriptResource(resource)) continue; + result.push({ + rel: resource.module ? "modulepreload" : "preload", + as: resource.resourceType, + type: resource.mimeType ?? null, + crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, + href: hrefFor(rendererContext, slot, resource) + }); + } + return result; +} +function getPrefetchLinks(ssrContext, rendererContext, options) { + const deps = getRequestDependencies(ssrContext, rendererContext, options); + const order = getOrder(rendererContext, deps, getRenderedOutputs(rendererContext, deps)); + const metaOf = rendererContext._mergeSlots.metaOf; + const withScripts = options?.scripts !== false; + const result = []; + for (let i = 0; i < order.prefetchSlots.length; i++) { + const slot = order.prefetchSlots[i]; + const resource = metaOf[slot]; + if (!withScripts && isScriptResource(resource)) continue; + result.push({ + rel: "prefetch", + as: resource.resourceType, + type: resource.mimeType ?? null, + crossorigin: resource.resourceType === "style" || resource.resourceType === "font" || resource.resourceType === "script" || resource.module ? "" : null, + href: hrefFor(rendererContext, slot, resource) + }); + } + return result; +} +function renderScripts(ssrContext, rendererContext) { + const deps = getRequestDependencies(ssrContext, rendererContext); + const rendered = getRenderedOutputs(rendererContext, deps); + if (rendered.scripts !== void 0) return rendered.scripts; + const order = getOrder(rendererContext, deps, rendered); + const metaOf = rendererContext._mergeSlots.metaOf; + let result = ""; + const cache = rendererContext._fragments.script; + for (let i = 0; i < order.scriptSlots.length; i++) { + const slot = order.scriptSlots[i]; + let fragment = cache[slot]; + if (fragment === void 0) { + const resource = metaOf[order.scriptSlots[i]]; + fragment = cache[slot] = resource.module ? `<script type="module" src="${rendererContext.buildAssetsURL(resource.file)}" crossorigin><\/script>` : `<script src="${rendererContext.buildAssetsURL(resource.file)}" defer crossorigin><\/script>`; + } + result += fragment; + } + rendered.scripts = result; + return result; +} +function createRenderer(createApp, renderOptions) { + const rendererContext = createRendererContext(renderOptions); + return { + rendererContext, + async renderToString(ssrContext) { + ssrContext._registeredComponents = ssrContext._registeredComponents || /* @__PURE__ */ new Set(); + const app = await (await Promise.resolve(createApp).then((r) => "default" in r ? r.default : r))(ssrContext); + const html = await renderOptions.renderToString(app, ssrContext); + const wrap = (fn) => () => fn(ssrContext, rendererContext); + return { + html, + renderResourceHeaders: wrap(renderResourceHeaders), + renderResourceHints: wrap(renderResourceHints), + renderStyles: wrap(renderStyles), + renderScripts: wrap(renderScripts) + }; + } + }; +} +//#endregion +export { createRenderer, createRendererContext, getAllDependencies, getModuleDependencies, getPrefetchLinks, getPreloadLinks, getRequestDependencies, getResources, renderResourceHeaders, renderResourceHints, renderScripts, renderStyles }; diff --git a/apps/web/.output/server/node_modules/vue-bundle-renderer/package.json b/apps/web/.output/server/node_modules/vue-bundle-renderer/package.json new file mode 100644 index 0000000..354406f --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-bundle-renderer/package.json @@ -0,0 +1,66 @@ +{ + "name": "vue-bundle-renderer", + "version": "2.4.0", + "description": "Bundle Renderer for Vue 3.0", + "repository": { + "type": "git", + "url": "nuxt-contrib/vue-bundle-renderer" + }, + "license": "MIT", + "exports": { + ".": { + "types": "./dist/index.d.mts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + }, + "./runtime": { + "types": "./dist/runtime.d.mts", + "import": "./dist/runtime.mjs", + "require": "./dist/runtime.cjs" + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.mts", + "files": [ + "dist", + "runtime.d.ts" + ], + "dependencies": { + "ufo": "^1.6.4" + }, + "devDependencies": { + "@codspeed/vitest-plugin": "^5.7.1", + "@nuxt/eslint-config": "^1.17.0", + "@types/node": "^24.13.4", + "@vitest/coverage-v8": "^4.1.11", + "eslint": "^10.10.0", + "pkg-pr-new": "^0.0.88", + "std-env": "^4.2.0", + "tsdown": "0.23.0", + "typescript": "^6.0.3", + "vite": "^8.3.0", + "vitest": "4.1.11", + "vue": "3.5.42" + }, + "devEngines": { + "runtime": { + "name": "node", + "version": "^24.0.0", + "onFail": "download" + }, + "packageManager": { + "name": "pnpm", + "version": "12.3.4", + "onFail": "download" + } + }, + "scripts": { + "build": "tsdown", + "dev": "vitest", + "lint": "eslint src", + "test": "pnpm lint && pnpm vitest run --coverage && tsc --noEmit", + "bench": "vitest bench" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/vue-router/dist/devtools-CxgSYwGp.js b/apps/web/.output/server/node_modules/vue-router/dist/devtools-CxgSYwGp.js new file mode 100644 index 0000000..17249d4 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-router/dist/devtools-CxgSYwGp.js @@ -0,0 +1,1067 @@ +/*! +* vue-router v5.4.0 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +import { _ as isArray, d as createRouterError, g as isAbsolutePath, l as diagnostics, m as assign, r as matchedRouteKey, v as isESModule, y as isRouteComponent } from "./useApi-CUWMwLLw.js"; +import { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from "vue"; +import { setupDevtoolsPlugin } from "@vue/devtools-api"; +//#region src/utils/env.ts +const isBrowser = typeof document !== "undefined"; +//#endregion +//#region src/encoding.ts +/** +* Encoding Rules (␣ = Space) +* - Path: ␣ " < > # ? { } +* - Query: ␣ " < > # & = +* - Hash: ␣ " < > ` +* +* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2) +* defines some extra characters to be encoded. Most browsers do not encode them +* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to +* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`) +* plus `-._~`. This extra safety should be applied to query by patching the +* string returned by encodeURIComponent encodeURI also encodes `[\]^`. `\` +* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\` +* into a `/` if directly typed in. The _backtick_ (`````) should also be +* encoded everywhere because some browsers like FF encode it when directly +* written while others don't. Safari and IE don't encode ``"<>{}``` in hash. +*/ +/** +* NOTE: `replaceAll()` is not faster than `replace()` with a global RegExp. +* Benchmarks do not show a clear benefit for these simple replacements: +* https://github.com/mathiasbynens/string-prototype-replace-regexp-benchmark +*/ +const HASH_RE = /#/g; +const AMPERSAND_RE = /&/g; +const SLASH_RE = /\//g; +const EQUAL_RE = /=/g; +const IM_RE = /\?/g; +const PLUS_RE = /\+/g; +/** +* NOTE: It's not clear to me if we should encode the + symbol in queries, it +* seems to be less flexible than not doing so and I can't find out the legacy +* systems requiring this for regular requests like text/html. In the standard, +* the encoding of the plus character is only mentioned for +* application/x-www-form-urlencoded +* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo +* leave the plus character as is in queries. To be more flexible, we allow the +* plus character on the query, but it can also be manually encoded by the user. +* +* Resources: +* - https://url.spec.whatwg.org/#urlencoded-parsing +* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20 +*/ +const ENC_BRACKET_OPEN_RE = /%5B/g; +const ENC_BRACKET_CLOSE_RE = /%5D/g; +const ENC_CARET_RE = /%5E/g; +const ENC_BACKTICK_RE = /%60/g; +const ENC_CURLY_OPEN_RE = /%7B/g; +const ENC_PIPE_RE = /%7C/g; +const ENC_CURLY_CLOSE_RE = /%7D/g; +const ENC_SPACE_RE = /%20/g; +/** +* Encode characters that need to be encoded on the path, search and hash +* sections of the URL. +* +* @internal +* @param text - string to encode +* @returns encoded string +*/ +function commonEncode(text) { + return text == null ? "" : encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]"); +} +/** +* Encode characters that need to be encoded on the hash section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeHash(text) { + return commonEncode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +/** +* Encode characters that need to be encoded query values on the query +* section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeQueryValue(text) { + return commonEncode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^"); +} +/** +* Like `encodeQueryValue` but also encodes the `=` character. +* +* @param text - string to encode +*/ +function encodeQueryKey(text) { + return encodeQueryValue(text).replace(EQUAL_RE, "%3D"); +} +/** +* Encode characters that need to be encoded on the path section of the URL. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodePath(text) { + return commonEncode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F"); +} +/** +* Encode characters that need to be encoded on the path section of the URL as a +* param. This function encodes everything {@link encodePath} does plus the +* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty +* string instead. +* +* @param text - string to encode +* @returns encoded string +*/ +function encodeParam(text) { + return encodePath(text).replace(SLASH_RE, "%2F"); +} +function decode(text) { + if (text == null) return null; + try { + return decodeURIComponent("" + text); + } catch { + process.env.NODE_ENV !== "production" && diagnostics.VUE_ROUTER_R0080({ text: "" + text }); + } + return "" + text; +} +//#endregion +//#region src/location.ts +const TRAILING_SLASH_RE = /\/$/; +const removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, ""); +/** +* Transforms a URI into a normalized history location +* +* @param parseQuery +* @param location - URI to normalize +* @param currentLocation - current absolute location. Allows resolving relative +* paths. Must start with `/`. Defaults to `/` +* @returns a normalized history location +*/ +function parseURL(parseQuery, location, currentLocation = "/") { + let path, query = {}, searchString = "", hash = ""; + const hashPos = location.indexOf("#"); + let searchPos = location.indexOf("?"); + searchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos; + if (searchPos >= 0) { + path = location.slice(0, searchPos); + searchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length); + query = parseQuery(searchString.slice(1)); + } + if (hashPos >= 0) { + path = path || location.slice(0, hashPos); + hash = location.slice(hashPos, location.length); + } + path = resolveRelativePath(path != null ? path : location, currentLocation); + return { + fullPath: path + searchString + hash, + path, + query, + hash: decode(hash) + }; +} +/** +* Stringifies a URL object +* +* @param stringifyQuery +* @param location +*/ +function stringifyURL(stringifyQuery, location) { + const query = location.query ? stringifyQuery(location.query) : ""; + return location.path + (query && "?") + query + (location.hash || ""); +} +/** +* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way. +* +* @param pathname - location.pathname +* @param base - base to strip off +*/ +function stripBase(pathname, base) { + if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname; + return pathname.slice(base.length) || "/"; +} +/** +* Checks if two RouteLocation are equal. This means that both locations are +* pointing towards the same {@link RouteRecord} and that all `params`, `query` +* parameters and `hash` are the same +* +* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it. +* @param a - first {@link RouteLocation} +* @param b - second {@link RouteLocation} +*/ +function isSameRouteLocation(stringifyQuery, a, b) { + const aLastIndex = a.matched.length - 1; + const bLastIndex = b.matched.length - 1; + return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash; +} +/** +* Check if two `RouteRecords` are equal. Takes into account aliases: they are +* considered equal to the `RouteRecord` they are aliasing. +* +* @param a - first {@link RouteRecord} +* @param b - second {@link RouteRecord} +*/ +function isSameRouteRecord(a, b) { + return (a.aliasOf || a) === (b.aliasOf || b); +} +function isSameRouteLocationParams(a, b) { + if (Object.keys(a).length !== Object.keys(b).length) return false; + for (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false; + return true; +} +function isSameRouteLocationParamsValue(a, b) { + return isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf()); +} +/** +* Check if two arrays are the same or if an array with one single entry is the +* same as another primitive value. Used to check query and parameters +* +* @param a - array of values +* @param b - array of values or a single value +*/ +function isEquivalentArray(a, b) { + return isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b; +} +/** +* Resolves a relative path that starts with `.`. +* +* @param to - path location we are resolving +* @param from - currentLocation.path, should start with `/` +*/ +function resolveRelativePath(to, from) { + if (isAbsolutePath(to)) return to; + if (process.env.NODE_ENV !== "production" && !isAbsolutePath(from)) { + diagnostics.VUE_ROUTER_R0070({ + to, + from + }); + return to; + } + if (!to) return from; + const fromSegments = from.split("/"); + const toSegments = to.split("/"); + const lastToSegment = toSegments[toSegments.length - 1]; + if (lastToSegment === ".." || lastToSegment === ".") toSegments.push(""); + let position = fromSegments.length - 1; + let toPosition; + let segment; + for (toPosition = 0; toPosition < toSegments.length; toPosition++) { + segment = toSegments[toPosition]; + if (segment === ".") continue; + if (segment === "..") { + if (position > 1) position--; + } else break; + } + return fromSegments.slice(0, position).join("/") + "/" + toSegments.slice(toPosition).join("/"); +} +/** +* Initial route location where the router is. Can be used in navigation guards +* to differentiate the initial navigation. +* +* @example +* ```js +* import { START_LOCATION } from 'vue-router' +* +* router.beforeEach((to, from) => { +* if (from === START_LOCATION) { +* // initial navigation +* } +* }) +* ``` +*/ +const START_LOCATION_NORMALIZED = { + path: "/", + name: void 0, + params: {}, + query: {}, + hash: "", + fullPath: "/", + matched: [], + meta: {}, + redirectedFrom: void 0 +}; +//#endregion +//#region src/history/common.ts +/** +* Normalizes a base by removing any trailing slash and reading the base tag if +* present. +* +* @param base - base to normalize +*/ +function normalizeBase(base) { + if (!base) { + if (isBrowser) { + const baseEl = document.querySelector("base"); + base = baseEl && baseEl.getAttribute("href") || "/"; + base = base.replace(/^\w+:\/\/[^/]+/, ""); + } else base = "/"; + } + if (base[0] !== "/" && base[0] !== "#") base = "/" + base; + return removeTrailingSlash(base); +} +const BEFORE_HASH_RE = /^[^#]+#/; +function createHref(base, location) { + return base.replace(BEFORE_HASH_RE, "#") + location; +} +//#endregion +//#region src/scrollBehavior.ts +function getElementPosition(el, offset) { + const docRect = document.documentElement.getBoundingClientRect(); + const elRect = el.getBoundingClientRect(); + return { + behavior: offset.behavior, + left: elRect.left - docRect.left - (offset.left || 0), + top: elRect.top - docRect.top - (offset.top || 0) + }; +} +const computeScrollPosition = () => history.scrollRestoration === "manual" ? { + left: window.scrollX, + top: window.scrollY +} : null; +function scrollToPosition(position) { + let scrollToOptions; + if ("el" in position) { + const positionEl = position.el; + const isIdSelector = typeof positionEl === "string" && positionEl.startsWith("#"); + /** + * `id`s can accept pretty much any characters, including CSS combinators + * like `>` or `~`. It's still possible to retrieve elements using + * `document.getElementById('~')` but it needs to be escaped when using + * `document.querySelector('#\\~')` for it to be valid. The only + * requirements for `id`s are them to be unique on the page and to not be + * empty (`id=""`). Because of that, when passing an id selector, it should + * be properly escaped for it to work with `querySelector`. We could check + * for the id selector to be simple (no CSS combinators `+ >~`) but that + * would make things inconsistent since they are valid characters for an + * `id` but would need to be escaped when using `querySelector`, breaking + * their usage and ending up in no selector returned. Selectors need to be + * escaped: + * + * - `#1-thing` becomes `#\31 -thing` + * - `#with~symbols` becomes `#with\\~symbols` + * + * - More information about the topic can be found at + * https://mathiasbynens.be/notes/html5-id-class. + * - Practical example: https://mathiasbynens.be/demo/html5-id + */ + if (process.env.NODE_ENV !== "production" && typeof position.el === "string") { + if (!isIdSelector || !document.getElementById(position.el.slice(1))) try { + const foundEl = document.querySelector(position.el); + if (isIdSelector && foundEl) { + diagnostics.VUE_ROUTER_R0040({ el: position.el }); + return; + } + } catch { + diagnostics.VUE_ROUTER_R0041({ el: position.el }); + return; + } + } + const el = typeof positionEl === "string" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl; + if (!el) { + process.env.NODE_ENV !== "production" && diagnostics.VUE_ROUTER_R0042({ el: position.el }); + return; + } + scrollToOptions = getElementPosition(el, position); + } else scrollToOptions = position; + if ("scrollBehavior" in document.documentElement.style) window.scrollTo(scrollToOptions); + else window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY); +} +function getScrollKey(path, delta) { + return (history.state ? history.state.position - delta : -1) + path; +} +const scrollPositions = /* @__PURE__ */ new Map(); +function saveScrollPosition(key) { + scrollPositions.set(key, computeScrollPosition()); +} +function getSavedScrollPosition(key) { + const scroll = scrollPositions.get(key); + scrollPositions.delete(key); + return scroll; +} +function invalidateScrollPositions(position, replace = false) { + for (const key of scrollPositions.keys()) { + const entryPosition = parseInt(key, 10); + if (entryPosition === position || !replace && entryPosition > position) scrollPositions.delete(key); + } +} +/** +* ScrollBehavior instance used by the router to compute and restore the scroll +* position when navigating. +*/ +//#endregion +//#region src/types/typeGuards.ts +function isRouteLocation(route) { + return typeof route === "string" || route && typeof route === "object"; +} +function isRouteName(name) { + return typeof name === "string" || typeof name === "symbol"; +} +//#endregion +//#region src/query.ts +/** +* Transforms a queryString into a {@link LocationQuery} object. Accept both, a +* version with the leading `?` and without Should work as URLSearchParams + +* @internal +* +* @param search - search string to parse +* @returns a query object +*/ +function parseQuery(search) { + const query = {}; + if (search === "" || search === "?") return query; + const searchParams = (search[0] === "?" ? search.slice(1) : search).split("&"); + for (let i = 0; i < searchParams.length; ++i) { + const searchParam = searchParams[i].replace(PLUS_RE, " "); + const eqPos = searchParam.indexOf("="); + const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos)); + const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1)); + if (key in query) { + let currentValue = query[key]; + if (!isArray(currentValue)) currentValue = query[key] = [currentValue]; + currentValue.push(value); + } else query[key] = value; + } + return query; +} +/** +* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it +* doesn't prepend a `?` +* +* @internal +* +* @param query - query object to stringify +* @returns string version of the query without the leading `?` +*/ +function stringifyQuery(query) { + let search = ""; + for (let key in query) { + const value = query[key]; + key = encodeQueryKey(key); + if (value == null) { + if (value !== void 0) search += (search.length ? "&" : "") + key; + continue; + } + (isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => { + if (value !== void 0) { + search += (search.length ? "&" : "") + key; + if (value != null) search += "=" + value; + } + }); + } + return search; +} +/** +* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting +* numbers into strings, removing keys with an undefined value and replacing +* undefined with null in arrays +* +* @param query - query object to normalize +* @returns a normalized query object +*/ +function normalizeQuery(query) { + const normalizedQuery = {}; + for (const key in query) { + const value = query[key]; + if (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : "" + v) : value == null ? value : "" + value; + } + return normalizedQuery; +} +//#endregion +//#region src/utils/callbacks.ts +/** +* Create a list of callbacks that can be reset. Used to create before and after navigation guards list +*/ +function useCallbacks() { + let handlers = []; + function add(handler) { + handlers.push(handler); + return () => { + const i = handlers.indexOf(handler); + if (i > -1) handlers.splice(i, 1); + }; + } + function reset() { + handlers = []; + } + return { + add, + list: () => handlers.slice(), + reset + }; +} +//#endregion +//#region src/navigationGuards.ts +function registerGuard(activeRecordRef, name, guard) { + const record = activeRecordRef.value; + if (!record) { + if (process.env.NODE_ENV !== "production") { + const fnName = name === "updateGuards" ? "onBeforeRouteUpdate" : "onBeforeRouteLeave"; + diagnostics.VUE_ROUTER_R0020({ fn: fnName }); + } + return; + } + let currentRecord = record; + const removeFromList = () => { + currentRecord[name].delete(guard); + }; + onUnmounted(removeFromList); + onDeactivated(removeFromList); + onActivated(() => { + const newRecord = activeRecordRef.value; + if (process.env.NODE_ENV !== "production" && !newRecord) diagnostics.VUE_ROUTER_R0021(); + if (newRecord) currentRecord = newRecord; + currentRecord[name].add(guard); + }); + currentRecord[name].add(guard); +} +/** +* Add a navigation guard that triggers whenever the component for the current +* location is about to be left. Similar to {@link beforeRouteLeave} but can be +* used in any component. The guard is removed when the component is unmounted. +* +* @param leaveGuard - {@link NavigationGuard} +*/ +function onBeforeRouteLeave(leaveGuard) { + if (process.env.NODE_ENV !== "production" && !getCurrentInstance()) { + diagnostics.VUE_ROUTER_R0022({ fn: "onBeforeRouteLeave" }); + return; + } + registerGuard(inject(matchedRouteKey, {}), "leaveGuards", leaveGuard); +} +/** +* Add a navigation guard that triggers whenever the current location is about +* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any +* component. The guard is removed when the component is unmounted. +* +* @param updateGuard - {@link NavigationGuard} +*/ +function onBeforeRouteUpdate(updateGuard) { + if (process.env.NODE_ENV !== "production" && !getCurrentInstance()) { + diagnostics.VUE_ROUTER_R0022({ fn: "onBeforeRouteUpdate" }); + return; + } + registerGuard(inject(matchedRouteKey, {}), "updateGuards", updateGuard); +} +function guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) { + const enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []); + return () => new Promise((resolve, reject) => { + const next = (valid) => { + if (valid === false) reject(createRouterError(4, { + from, + to + })); + else if (valid instanceof Error) reject(valid); + else if (isRouteLocation(valid)) reject(createRouterError(2, { + from: to, + to: valid + })); + else { + if (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === "function") enterCallbackArray.push(valid); + resolve(); + } + }; + const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== "production" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next)); + let guardCall = Promise.resolve(guardReturn); + if (guard.length < 3) guardCall = guardCall.then(next); + if (process.env.NODE_ENV !== "production" && guard.length > 2) { + const guardInfo = { + name: guard.name, + guard: guard.toString() + }; + if (typeof guardReturn === "object" && "then" in guardReturn) guardCall = guardCall.then((resolvedValue) => { + if (!next._called) { + diagnostics.VUE_ROUTER_R0023(guardInfo); + return Promise.reject(/* @__PURE__ */ new Error("Invalid navigation guard")); + } + return resolvedValue; + }); + else if (guardReturn !== void 0) { + if (!next._called) { + diagnostics.VUE_ROUTER_R0023(guardInfo); + reject(/* @__PURE__ */ new Error("Invalid navigation guard")); + return; + } + } + } + guardCall.catch((err) => reject(err)); + }); +} +/** +* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is +* false (production builds), this branch is dead code and is stripped from the +* bundle. +* +* @internal +*/ +function withDeprecationWarning(next) { + let warned = false; + return function() { + if (!warned) { + warned = true; + diagnostics.VUE_ROUTER_R0025(); + } + return next.apply(this, arguments); + }; +} +function canOnlyBeCalledOnce(next, to, from) { + let called = 0; + return function() { + if (called++ === 1) diagnostics.VUE_ROUTER_R0024({ + from: from.fullPath, + to: to.fullPath + }); + next._called = true; + if (called === 1) next.apply(null, arguments); + }; +} +function extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) { + const guards = []; + for (const record of matched) { + if (process.env.NODE_ENV !== "production" && !record.components && record.children && !record.children.length) diagnostics.VUE_ROUTER_R0026({ path: record.path }); + for (const name in record.components) { + let rawComponent = record.components[name]; + if (process.env.NODE_ENV !== "production") { + if (!rawComponent || typeof rawComponent !== "object" && typeof rawComponent !== "function") { + diagnostics.VUE_ROUTER_R0027({ + name, + path: record.path, + received: String(rawComponent) + }); + throw new Error("Invalid route component"); + } else if ("then" in rawComponent) { + diagnostics.VUE_ROUTER_R0028({ + name, + path: record.path + }); + const promise = rawComponent; + rawComponent = () => promise; + } else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) { + rawComponent.__warnedDefineAsync = true; + diagnostics.VUE_ROUTER_R0029({ + name, + path: record.path + }); + } + } + if (guardType !== "beforeRouteEnter" && !record.instances[name]) continue; + if (isRouteComponent(rawComponent)) { + const guard = (rawComponent.__vccOpts || rawComponent)[guardType]; + guard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext)); + } else { + let componentPromise = rawComponent(); + if (process.env.NODE_ENV !== "production" && !("catch" in componentPromise)) { + diagnostics.VUE_ROUTER_R0030({ + name, + path: record.path + }); + componentPromise = Promise.resolve(componentPromise); + } + guards.push(() => componentPromise.then((resolved) => { + if (!resolved) throw new Error(`Couldn't resolve component "${name}" at "${record.path}"`); + const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; + record.mods[name] = resolved; + record.components[name] = resolvedComponent; + const guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType]; + return guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)(); + })); + } + } + } + return guards; +} +/** +* Ensures a route is loaded, so it can be passed as o prop to `<RouterView>`. +* +* @param route - resolved route to load +*/ +function loadRouteLocation(route) { + return route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error("Cannot load a route that redirects.")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => { + const rawComponent = record.components[name]; + if (typeof rawComponent === "function" && !("displayName" in rawComponent)) promises.push(rawComponent().then((resolved) => { + if (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component "${name}" at "${record.path}". Ensure you passed a function that returns a promise.`)); + const resolvedComponent = isESModule(resolved) ? resolved.default : resolved; + record.mods[name] = resolved; + record.components[name] = resolvedComponent; + })); + return promises; + }, [])))).then(() => route); +} +/** +* Split the leaving, updating, and entering records. +* @internal +* +* @param to - Location we are navigating to +* @param from - Location we are navigating from +*/ +function extractChangingRecords(to, from) { + const leavingRecords = []; + const updatingRecords = []; + const enteringRecords = []; + const len = Math.max(from.matched.length, to.matched.length); + for (let i = 0; i < len; i++) { + const recordFrom = from.matched[i]; + if (recordFrom) { + if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom); + else leavingRecords.push(recordFrom); + } + const recordTo = to.matched[i]; + if (recordTo) { + if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo); + } + } + return [ + leavingRecords, + updatingRecords, + enteringRecords + ]; +} +//#endregion +//#region src/devtools.ts +/** +* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances). +* +* @param routeLocation - routeLocation to format +* @param tooltip - optional tooltip +* @returns a copy of the routeLocation +*/ +function formatRouteLocation(routeLocation, tooltip) { + const copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [ + "instances", + "children", + "aliasOf" + ])) }); + return { _custom: { + type: null, + readOnly: true, + display: routeLocation.fullPath, + tooltip, + value: copy + } }; +} +function formatDisplay(display) { + return { _custom: { display } }; +} +let routerId = 0; +function addDevtools(app, router, matcher) { + if (router.__hasDevtools) return; + router.__hasDevtools = true; + const id = routerId++; + setupDevtoolsPlugin({ + id: "org.vuejs.router" + (id ? "." + id : ""), + label: "Vue Router", + packageName: "vue-router", + homepage: "https://router.vuejs.org", + logo: "https://router.vuejs.org/logo.png", + componentStateTypes: ["Routing"], + app + }, (api) => { + api.on.inspectComponent((payload) => { + if (payload.instanceData) payload.instanceData.state.push({ + type: "Routing", + key: "$route", + editable: false, + value: formatRouteLocation(router.currentRoute.value, "Current Route") + }); + }); + api.on.visitComponentTree(({ treeNode: node, componentInstance }) => { + if (componentInstance.__vrv_devtools) { + const info = componentInstance.__vrv_devtools; + node.tags.push({ + label: (info.name ? `${info.name.toString()}: ` : "") + info.path, + textColor: 0, + tooltip: "This component is rendered by <router-view>", + backgroundColor: PINK_500 + }); + } + if (isArray(componentInstance.__vrl_devtools)) { + componentInstance.__devtoolsApi = api; + componentInstance.__vrl_devtools.forEach((devtoolsData) => { + let label = devtoolsData.route.path; + let backgroundColor = ORANGE_400; + let tooltip = ""; + let textColor = 0; + if (devtoolsData.error) { + label = devtoolsData.error; + backgroundColor = RED_100; + textColor = RED_700; + } else if (devtoolsData.isExactActive) { + backgroundColor = LIME_500; + tooltip = "This is exactly active"; + } else if (devtoolsData.isActive) { + backgroundColor = BLUE_600; + tooltip = "This link is active"; + } + node.tags.push({ + label, + textColor, + tooltip, + backgroundColor + }); + }); + } + }); + watch(router.currentRoute, () => { + refreshRoutesView(); + api.notifyComponentUpdate(); + api.sendInspectorTree(routerInspectorId); + api.sendInspectorState(routerInspectorId); + }); + const navigationsLayerId = "router:navigations:" + id; + api.addTimelineLayer({ + id: navigationsLayerId, + label: `Router${id ? " " + id : ""} Navigations`, + color: 4237508 + }); + router.onError((error, to) => { + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + title: "Error during Navigation", + subtitle: to.fullPath, + logType: "error", + time: api.now(), + data: { error }, + groupId: to.meta.__navigationId + } + }); + }); + let navigationId = 0; + router.beforeEach((to, from) => { + const data = { + guard: formatDisplay("beforeEach"), + from: formatRouteLocation(from, "Current Location during this navigation"), + to: formatRouteLocation(to, "Target location") + }; + Object.defineProperty(to.meta, "__navigationId", { value: navigationId++ }); + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + time: api.now(), + title: "Start of navigation", + subtitle: to.fullPath, + data, + groupId: to.meta.__navigationId + } + }); + }); + router.afterEach((to, from, failure) => { + const data = { guard: formatDisplay("afterEach") }; + if (failure) { + data.failure = { _custom: { + type: Error, + readOnly: true, + display: failure ? failure.message : "", + tooltip: "Navigation Failure", + value: failure + } }; + data.status = formatDisplay("❌"); + } else data.status = formatDisplay("✅"); + data.from = formatRouteLocation(from, "Current Location during this navigation"); + data.to = formatRouteLocation(to, "Target location"); + api.addTimelineEvent({ + layerId: navigationsLayerId, + event: { + title: "End of navigation", + subtitle: to.fullPath, + time: api.now(), + data, + logType: failure ? "warning" : "default", + groupId: to.meta.__navigationId + } + }); + }); + /** + * Inspector of Existing routes + */ + const routerInspectorId = "router-inspector:" + id; + api.addInspector({ + id: routerInspectorId, + label: "Routes" + (id ? " " + id : ""), + icon: "book", + treeFilterPlaceholder: "Search routes" + }); + function refreshRoutesView() { + if (!activeRoutesPayload) return; + const payload = activeRoutesPayload; + let routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components); + routes.forEach(resetMatchStateOnRouteRecord); + if (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase())); + routes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value)); + payload.rootNodes = routes.map(formatRouteRecordForInspector); + } + let activeRoutesPayload; + api.on.getInspectorTree((payload) => { + activeRoutesPayload = payload; + if (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView(); + }); + /** + * Display information about the currently selected route record + */ + api.on.getInspectorState((payload) => { + if (payload.app === app && payload.inspectorId === routerInspectorId) { + const route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId); + if (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) }; + } + }); + api.sendInspectorTree(routerInspectorId); + api.sendInspectorState(routerInspectorId); + }); +} +function modifierForKey(key) { + if (key.optional) return key.repeatable ? "*" : "?"; + else return key.repeatable ? "+" : ""; +} +function formatRouteRecordMatcherForStateInspector(route) { + const { record } = route; + const fields = [{ + editable: false, + key: "path", + value: record.path + }]; + if (record.name != null) fields.push({ + editable: false, + key: "name", + value: record.name + }); + fields.push({ + editable: false, + key: "regexp", + value: route.re + }); + if (route.keys.length) fields.push({ + editable: false, + key: "keys", + value: { _custom: { + type: null, + readOnly: true, + display: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(" "), + tooltip: "Param keys", + value: route.keys + } } + }); + if (record.redirect != null) fields.push({ + editable: false, + key: "redirect", + value: record.redirect + }); + if (route.alias.length) fields.push({ + editable: false, + key: "aliases", + value: route.alias.map((alias) => alias.record.path) + }); + if (Object.keys(route.record.meta).length) fields.push({ + editable: false, + key: "meta", + value: route.record.meta + }); + fields.push({ + key: "score", + editable: false, + value: { _custom: { + type: null, + readOnly: true, + display: route.score.map((score) => score.join(", ")).join(" | "), + tooltip: "Score used to sort routes", + value: route.score + } } + }); + return fields; +} +/** +* Extracted from tailwind palette +*/ +const PINK_500 = 15485081; +const BLUE_600 = 2450411; +const LIME_500 = 8702998; +const CYAN_400 = 2282478; +const ORANGE_400 = 16486972; +const DARK = 6710886; +const RED_100 = 16704226; +const RED_700 = 12131356; +function formatRouteRecordForInspector(route) { + const tags = []; + const { record } = route; + if (record.name != null) tags.push({ + label: String(record.name), + textColor: 0, + backgroundColor: CYAN_400 + }); + if (record.aliasOf) tags.push({ + label: "alias", + textColor: 0, + backgroundColor: ORANGE_400 + }); + if (route.__vd_match) tags.push({ + label: "matches", + textColor: 0, + backgroundColor: PINK_500 + }); + if (route.__vd_exactActive) tags.push({ + label: "exact", + textColor: 0, + backgroundColor: LIME_500 + }); + if (route.__vd_active) tags.push({ + label: "active", + textColor: 0, + backgroundColor: BLUE_600 + }); + if (record.redirect) tags.push({ + label: typeof record.redirect === "string" ? `redirect: ${record.redirect}` : "redirects", + textColor: 16777215, + backgroundColor: DARK + }); + let id = record.__vd_id; + if (id == null) { + id = String(routeRecordId++); + record.__vd_id = id; + } + return { + id, + label: record.path, + tags, + children: route.children.map(formatRouteRecordForInspector) + }; +} +let routeRecordId = 0; +const EXTRACT_REGEXP_RE = /^\/(.*)\/([a-z]*)$/; +function markRouteRecordActive(route, currentRoute) { + const isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record); + route.__vd_exactActive = route.__vd_active = isExactActive; + if (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record)); + route.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute)); +} +function resetMatchStateOnRouteRecord(route) { + route.__vd_match = false; + route.children.forEach(resetMatchStateOnRouteRecord); +} +function isRouteMatching(route, filter) { + const found = String(route.re).match(EXTRACT_REGEXP_RE); + route.__vd_match = false; + if (!found || found.length < 3) return false; + if (new RegExp(found[1].replace(/\$$/, ""), found[2]).test(filter)) { + route.children.forEach((child) => isRouteMatching(child, filter)); + if (route.record.path !== "/" || filter === "/") { + route.__vd_match = route.re.test(filter); + return true; + } + return false; + } + const path = route.record.path.toLowerCase(); + const decodedPath = decode(path); + if (!isAbsolutePath(filter) && (decodedPath.includes(filter) || path.includes(filter))) return true; + if (decodedPath.startsWith(filter) || path.startsWith(filter)) return true; + if (route.record.name && String(route.record.name).includes(filter)) return true; + return route.children.some((child) => isRouteMatching(child, filter)); +} +function omit(obj, keys) { + const ret = {}; + for (const key in obj) if (!keys.includes(key)) ret[key] = obj[key]; + return ret; +} +//#endregion +export { PLUS_RE as A, isSameRouteLocation as C, resolveRelativePath as D, parseURL as E, encodePath as F, isBrowser as I, decode as M, encodeHash as N, stringifyURL as O, encodeParam as P, START_LOCATION_NORMALIZED as S, isSameRouteRecord as T, invalidateScrollPositions as _, loadRouteLocation as a, createHref as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, commonEncode as j, stripBase as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, saveScrollPosition as v, isSameRouteLocationParams as w, normalizeBase as x, scrollToPosition as y }; diff --git a/apps/web/.output/server/node_modules/vue-router/dist/useApi-CUWMwLLw.js b/apps/web/.output/server/node_modules/vue-router/dist/useApi-CUWMwLLw.js new file mode 100644 index 0000000..941c553 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-router/dist/useApi-CUWMwLLw.js @@ -0,0 +1,483 @@ +/*! +* vue-router v5.4.0 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +import { createConsoleReporter, defineDiagnostics } from "nostics"; +import { inject } from "vue"; +//#region src/utils/index.ts +/** +* Identity function that returns the value as is. +* +* @param v - the value to return +* +* @internal +*/ +const identityFn = (v) => v; +/** +* Checks if a path is absolute, meaning it starts with a `/`. +* +* @param path - path to check +* +* @internal +*/ +const isAbsolutePath = (path) => path.startsWith("/"); +/** +* Allows differentiating lazy components from functional components and vue-class-component +* @internal +* +* @param component +*/ +function isRouteComponent(component) { + return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component; +} +function isESModule(obj) { + return obj.__esModule || obj[Symbol.toStringTag] === "Module" || obj.default && isRouteComponent(obj.default); +} +const assign = Object.assign; +function applyToParams(fn, params) { + const newParams = {}; + for (const key in params) { + const value = params[key]; + newParams[key] = isArray(value) ? value.map(fn) : fn(value); + } + return newParams; +} +/** +* Transforms a value or a function that returns a value to a value. +* +* @param valFn either a value or a function that returns a value +* @param args arguments to pass to the function if `valFn` is a function +* +* @internal +*/ +function toValueWithArgs(valFn, ...args) { + return typeof valFn === "function" ? valFn(...args) : valFn; +} +const noop = () => {}; +/** +* Typesafe alternative to Array.isArray +* https://github.com/microsoft/TypeScript/pull/48228 +* +* @internal +*/ +const isArray = Array.isArray; +function mergeOptions(defaults, partialOptions) { + const options = {}; + for (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key]; + return options; +} +//#endregion +//#region src/errors.ts +const NavigationFailureSymbol = Symbol(process.env.NODE_ENV !== "production" ? "navigation failure" : ""); +/** +* Enumeration with all possible types for navigation failures. Can be passed to +* {@link isNavigationFailure} to check for specific failures. +*/ +let NavigationFailureType = /* @__PURE__ */ function(NavigationFailureType) { + /** + * An aborted navigation is a navigation that failed because a navigation + * guard returned `false` or called `next(false)` + */ + NavigationFailureType[NavigationFailureType["aborted"] = 4] = "aborted"; + /** + * A cancelled navigation is a navigation that failed because a more recent + * navigation finished started (not necessarily finished). + */ + NavigationFailureType[NavigationFailureType["cancelled"] = 8] = "cancelled"; + /** + * A duplicated navigation is a navigation that failed because it was + * initiated while already being at the exact same location. + */ + NavigationFailureType[NavigationFailureType["duplicated"] = 16] = "duplicated"; + return NavigationFailureType; +}({}); +const ErrorTypeMessages = { + [1]({ location, currentLocation }) { + return `No match for\n ${JSON.stringify(location)}${currentLocation ? "\nwhile being at\n" + JSON.stringify(currentLocation) : ""}`; + }, + [2]({ from, to }) { + return `Redirected from "${from.fullPath}" to "${stringifyRoute(to)}" via a navigation guard.`; + }, + [4]({ from, to }) { + return `Navigation aborted from "${from.fullPath}" to "${to.fullPath}" via a navigation guard.`; + }, + [8]({ from, to }) { + return `Navigation cancelled from "${from.fullPath}" to "${to.fullPath}" with a new navigation.`; + }, + [16]({ from, to: _to }) { + return `Avoided redundant navigation to current location: "${from.fullPath}".`; + } +}; +/** +* Creates a typed NavigationFailure object. +* @internal +* @param type - NavigationFailureType +* @param params - { from, to } +*/ +function createRouterError(type, params) { + if (process.env.NODE_ENV !== "production" || false) return assign(new Error(ErrorTypeMessages[type](params)), { + type, + [NavigationFailureSymbol]: true + }, params); + else return assign(/* @__PURE__ */ new Error(), { + type, + [NavigationFailureSymbol]: true + }, params); +} +function isNavigationFailure(error, type) { + return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type)); +} +const propertiesToLog = [ + "params", + "query", + "hash" +]; +/** +* Stringifies a raw location for display in dev warnings. +* +* @internal +*/ +function stringifyRoute(to) { + if (!to || typeof to === "string") return to; + if (to.path != null) return to.path; + const location = {}; + for (const key of propertiesToLog) if (key in to) location[key] = to[key]; + return JSON.stringify(location, null, 2); +} +//#endregion +//#region src/diagnostics.ts +/** +* Runtime diagnostics catalog for Vue Router. +* +* Every entry has a stable `VUE_ROUTER_X####` code, a `why` that states the problem +* (the diagnosis only, never the remedy) and a `fix` that states the remedy +* (only, never the diagnosis). They are complementary: the reporter prints +* both, so neither repeats the other. The diagnosis substrings asserted by the +* warning tests stay in `why`. All call sites stay behind the existing `__DEV__` (or +* `process.env.NODE_ENV !== 'production'`) guards and remain bare expression +* statements so they tree-shake out of production builds. +* +* Codes are permanent: never rename or reuse one. +* - `VUE_ROUTER_R0###` core runtime warnings +* - `VUE_ROUTER_R1###` experimental data-loaders +* - `VUE_ROUTER_D0###` deprecations +*/ +const diagnostics = /*#__PURE__*/ defineDiagnostics({ + reporters: [/*#__PURE__*/ createConsoleReporter()], + codes: { + VUE_ROUTER_R0122: { + why: (p) => `The optional path param "${p.param}" is being removed with ${p.value}.`, + fix: "Use null to remove an optional path param." + }, + VUE_ROUTER_D0001: { + why: (p) => `Route "${p.name}" uses beforeEnter, which is deprecated in the experimental router.`, + fix: "Move the condition to the route meta field and check to.meta in router.beforeEach()." + }, + VUE_ROUTER_D0002: { + why: (p) => `The query value of "${p.key}" is not an array (${p.value}). Non array query values are deprecated in the experimental router.`, + fix: (p) => `Wrap the value in an array: \`{ ${JSON.stringify(p.key)}: [${p.value}] }\`. Use undefined to remove the key.` + }, + VUE_ROUTER_R0001: { + why: (p) => `Parent route "${p.name}" not found when adding child route`, + fix: "Add the parent route before its children, or check the parent name for typos.", + docs: "https://router.vuejs.org/guide/advanced/dynamic-routing.html#Adding-nested-routes" + }, + VUE_ROUTER_R0002: { + why: (p) => `Cannot remove non-existent route "${p.name}"`, + fix: "Check the route name; it may already have been removed or was never added.", + docs: "https://router.vuejs.org/guide/advanced/dynamic-routing.html#Removing-routes" + }, + VUE_ROUTER_R0003: { + why: (p) => `Location "${stringifyRoute(p.location)}" resolved to "${p.href}". A resolved location cannot start with multiple slashes.`, + fix: "Remove the leading slashes from the location or fix the route configuration." + }, + VUE_ROUTER_R0004: { + why: (p) => `No match found for location with path "${stringifyRoute(p.path)}"`, + fix: "Add a route matching this path or check for typos in the location.", + docs: "https://router.vuejs.org/guide/essentials/dynamic-matching.html#Catch-all-404-Not-found-Route" + }, + VUE_ROUTER_R0005: { + why: (p) => `router.resolve() was passed an invalid location. This will fail in production.\nLocation: ${stringifyRoute(p.rawLocation)}`, + fix: "Pass a valid route location: a string path or an object with `path` or `name`." + }, + VUE_ROUTER_R0006: { + why: (p) => `Path "${p.path}" was passed with params but they will be ignored because a "path" was passed.`, + fix: "Use a named route `{ name, params }` instead of `{ path, params }`.", + docs: "https://router.vuejs.org/guide/essentials/navigation.html#Navigate-to-a-different-location" + }, + VUE_ROUTER_R0007: { + why: (p) => `A \`hash\` should always start with the character "#" but received "${p.hash}".`, + fix: (p) => `Prepend "#" to the hash in your route location: use "#${p.hash}".` + }, + VUE_ROUTER_R0008: { + why: (p) => `Invalid redirect found:\n${p.target}\n when navigating to "${p.to}".\nThis will break in production.`, + fix: "A redirect must resolve to a location with a `name` or `path`; return one of those (or a string path) from `redirect`.", + docs: "https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Redirect" + }, + VUE_ROUTER_R0009: { + why: (p) => `Detected a possibly infinite redirection in a navigation guard when going from "${p.from}" to "${p.to}". Aborting to avoid a Stack Overflow. This might break in production if not fixed.`, + fix: "A guard is returning a new location on every call; make that return conditional so it only redirects when actually needed.", + docs: "https://router.vuejs.org/guide/advanced/navigation-guards.html#Global-Before-Guards" + }, + VUE_ROUTER_R0010: { + why: "Uncaught error during route navigation", + fix: "Register an error handler with `router.onError()` to handle navigation errors." + }, + VUE_ROUTER_R0011: { + why: "Unexpected error when starting the router:", + fix: "Inspect the actual cause; a navigation guard or async component likely threw during the initial navigation." + }, + VUE_ROUTER_R0020: { + why: (p) => `No active route record was found when calling \`${p.fn}()\`. Maybe you called it inside of App.vue?`, + fix: "Call it from a component rendered inside <router-view> (a page component or one of its children), not from App.vue.", + docs: "https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards" + }, + VUE_ROUTER_R0021: { + why: "No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router.", + fix: "Report with a minimal reproduction at https://github.com/vuejs/router/issues/new/choose." + }, + VUE_ROUTER_R0022: { + why: (p) => `${p.fn}() was called outside of component setup but it must be called at the top of a setup function`, + fix: "Call it synchronously at the top of `setup()`, before any `await`.", + docs: "https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards" + }, + VUE_ROUTER_R0023: { + why: (p) => `The "next" callback was never called inside of ${p.name ? `"${p.name}"` : ""}:\n${p.guard}`, + fix: "Make sure `next()` runs on every branch, including early returns and async paths, or drop the `next` parameter and return the value instead.", + docs: "https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next" + }, + VUE_ROUTER_R0024: { + why: (p) => `The "next" callback was called more than once in one navigation guard when going from "${p.from}" to "${p.to}". This will fail in production.`, + fix: "Call `next()` exactly once per guard: remove the extra call, or migrate to returning the value you passed to `next()`.", + docs: "https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next" + }, + VUE_ROUTER_R0025: { + why: "The `next()` callback in navigation guards is deprecated.", + fix: "Return the value instead: `next()` becomes `return`, `next(false)` becomes `return false`, `next(\"/path\")` becomes `return \"/path\"`.", + docs: "https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next" + }, + VUE_ROUTER_R0026: { + why: (p) => `Record with path "${p.path}" is either missing a "component(s)" or "children" property.`, + fix: "Add a `component`, `components`, or `children` to the route record.", + docs: "https://router.vuejs.org/guide/essentials/nested-routes.html" + }, + VUE_ROUTER_R0027: { + why: (p) => `Component "${p.name}" in record with path "${p.path}" is not a valid component. Received "${p.received}".`, + fix: "Pass a component or a function returning a Promise that resolves to one." + }, + VUE_ROUTER_R0028: { + why: (p) => `Component "${p.name}" in record with path "${p.path}" is a Promise instead of a function that returns a Promise. This will break in production if not fixed.`, + fix: `Defer the import in an arrow function so it loads lazily: write "() => import('./MyPage.vue')", not "import('./MyPage.vue')".`, + docs: "https://router.vuejs.org/guide/advanced/lazy-loading.html" + }, + VUE_ROUTER_R0029: { + why: (p) => `Component "${p.name}" in record with path "${p.path}" is defined using "defineAsyncComponent()".`, + fix: `Drop the wrapper and pass "() => import('./MyPage.vue')" directly; the router handles lazy components itself.`, + docs: "https://router.vuejs.org/guide/advanced/lazy-loading.html#Relationship-to-async-components" + }, + VUE_ROUTER_R0030: { + why: (p) => `Component "${p.name}" in record with path "${p.path}" is a function that does not return a Promise. This will break in production if not fixed.`, + fix: "Return a dynamic import (`() => import(\"./MyPage.vue\")`) from the function, or add a `displayName` if it is a functional component.", + docs: "https://router.vuejs.org/guide/advanced/lazy-loading.html" + }, + VUE_ROUTER_R0040: { + why: (p) => `Because "${p.el}" starts with "#", scrollBehavior resolves it as an element id via document.getElementById("${p.el.slice(1)}"), not as a CSS selector. No element has that id, but "${p.el}" does match an element with document.querySelector().`, + fix: (p) => `Resolve the element yourself and return the node: el: document.querySelector('${p.el}').`, + docs: "https://router.vuejs.org/guide/advanced/scroll-behavior.html" + }, + VUE_ROUTER_R0041: { + why: (p) => `The selector "${p.el}" is invalid. See https://mathiasbynens.be/notes/css-escapes or CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape) for the escaping rules.`, + fix: "Build an id selector as `#${CSS.escape(id)}` so special characters in the id are escaped.", + docs: "https://router.vuejs.org/guide/advanced/scroll-behavior.html" + }, + VUE_ROUTER_R0042: { + why: (p) => `Couldn't find element using selector "${p.el}" returned by scrollBehavior.`, + fix: "Return a selector that matches an existing element, or guard against missing elements.", + docs: "https://router.vuejs.org/guide/advanced/scroll-behavior.html" + }, + VUE_ROUTER_R0043: { + why: (p) => `Several active useScrollRestoration() calls use the key "${p.key}" with different "capture" or "restore" options. They overwrite each other's saved entry.`, + fix: "Give each call a different \"key\", or combine them if they are in the same component." + }, + VUE_ROUTER_R0044: { + why: "No ScrollRestoration plugin is available to useScrollRestoration().", + fix: "Install ScrollRestoration on the app before calling useScrollRestoration()." + }, + VUE_ROUTER_R0050: { + why: (p) => { + let to; + try { + to = p.to === void 0 ? "undefined" : JSON.stringify(p.to); + } catch { + to = String(p.to); + } + return `Invalid value for prop "to" in useLink()\n- to: ${to}`; + }, + fix: "Pass a valid route location (a string path or an object) to the \"to\" prop." + }, + VUE_ROUTER_R0060: { + why: (p) => `<router-view> can no longer be used directly inside <${p.comp}>.`, + fix: (p) => `Wrap the slot's resolved component with <${p.comp}> instead of nesting <router-view> in it:\n\n<router-view v-slot="{ Component }">\n <${p.comp}>\n <component :is="Component" />\n </${p.comp}>\n</router-view>`, + docs: "https://router.vuejs.org/guide/advanced/router-view-slot.html#KeepAlive-Transition" + }, + VUE_ROUTER_R0070: { + why: (p) => `Cannot resolve a relative location without an absolute path. Trying to resolve "${p.to}" from "${p.from}".`, + fix: (p) => `Resolve from an absolute \`from\` path that starts with "/", e.g. "/${p.from}".` + }, + VUE_ROUTER_R0080: { + why: (p) => `Error decoding "${p.text}". Using original value`, + fix: "Ensure the value is correctly percent-encoded." + }, + VUE_ROUTER_R0090: { + why: (p) => `Found duplicated params with name "${p.name}" for path "${p.path}". Only the last one will be available on "$route.params".`, + fix: "Give each param a unique name within the path.", + docs: "https://router.vuejs.org/guide/essentials/route-matching-syntax.html" + }, + VUE_ROUTER_R0100: { + why: (p) => `Discarded invalid param(s) "${p.params}" when navigating.` + p.inherited + ` See https://github.com/vuejs/router/commit/e887570 for more details.`, + fix: "Only pass params that exist on the target route." + }, + VUE_ROUTER_R0101: { + why: (p) => `The Matcher cannot resolve relative paths but received "${p.path}". Unless you directly called \`matcher.resolve("${p.path}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`, + fix: "Pass an absolute path (starting with \"/\") to the matcher." + }, + VUE_ROUTER_R0102: { + why: (p) => `Alias "${p.alias}" and the original record: "${p.original}" must have the exact same param named "${p.name}"`, + fix: "Use the same param names in the alias as in the original route.", + docs: "https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Alias" + }, + VUE_ROUTER_R0103: { + why: (p) => `The route named "${p.name}" has a child without a name, an empty path, and no children. Using that name won't render the empty path child, so this is probably a mistake.`, + fix: "Move the `name` onto the empty-path child; or, if intentional, give the child its own name to silence this.", + docs: "https://router.vuejs.org/guide/essentials/nested-routes.html#Nested-Named-Routes" + }, + VUE_ROUTER_R0104: { + why: (p) => `Absolute path "${p.path}" must have the exact same param named "${p.name}" as its parent "${p.parent}".`, + fix: "Include the parent route params in the absolute child path.", + docs: "https://router.vuejs.org/guide/essentials/nested-routes.html" + }, + VUE_ROUTER_R0105: { + why: (p) => `Finding ancestor route "${p.ancestor}" failed for "${p.record}"`, + fix: "Report a reproduction at https://github.com/vuejs/router/issues/new/choose." + }, + VUE_ROUTER_R0110: { + why: `A hash base must end with a "#"`, + fix: (p) => `Append "#" to the "base" argument passed to "createWebHashHistory()": "${p.base}" should be "${p.suggestion}".` + }, + VUE_ROUTER_R0120: { + why: "Error with push/replace State", + fix: "The browser rejected the history API call; check for cross-origin or rate-limit issues." + }, + VUE_ROUTER_R0121: { + why: "history.state seems to have been manually replaced without preserving the necessary values.\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state", + fix: "Merge the router's state into your own when calling it manually: `history.replaceState({ ...history.state, ...yourState }, '', url)`.", + docs: "https://router.vuejs.org/guide/migration.html#Usage-of-history-state" + }, + VUE_ROUTER_R1001: { + why: (p) => `Data loader "${String(p.key)}" has a different parent than the current context. This shouldn't be happening.`, + fix: "Report a bug with a minimal reproduction at https://github.com/vuejs/router/." + }, + VUE_ROUTER_R1002: { + why: "Returning a NavigationResult is deprecated.", + fix: "Replace `return new NavigationResult(to)` with `reroute(to)`, which throws internally to reroute.", + docs: "https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-" + }, + VUE_ROUTER_R1003: { + why: (p) => `Loader "${p.key}"'s "commit()" was called but there is no staged data.`, + fix: "Ensure the loader resolved before calling `commit()`.", + docs: "https://router.vuejs.org/data-loaders/defining-loaders.html#Delaying-data-updates-with-commit" + }, + VUE_ROUTER_R1004: { + why: (p) => "A loader returned a NavigationResult but is not registered on the route." + p.key, + fix: "Export the loader from the page component so it gets registered, e.g. `export const useUserData = defineLoader(...)`.", + docs: "https://router.vuejs.org/data-loaders/organization.html" + }, + VUE_ROUTER_R1005: { + why: (p) => `Data loader "${p.key}" has itself as parent. This shouldn't be happening.`, + fix: "Report a bug with a minimal reproduction at https://github.com/vuejs/router/." + }, + VUE_ROUTER_R1006: { + why: (p) => `A query was defined with the same key as the loader "[${p.key}]".\nSee https://pinia-colada.esm.dev/#TODO`, + fix: "If the key is meant to match, use the data loader directly; otherwise rename the `useQuery()` key so it no longer collides.", + docs: "https://router.vuejs.org/data-loaders/colada.html" + }, + VUE_ROUTER_R1007: { + why: "Data Loader was setup twice.", + fix: "Register `DataLoaderPlugin` a single time via `app.use()`.", + docs: "https://router.vuejs.org/data-loaders.html#Installation" + }, + VUE_ROUTER_R1008: { + why: "Data Loader is experimental and subject to breaking changes in the future.", + docs: "https://router.vuejs.org/data-loaders.html" + }, + VUE_ROUTER_R1009: { + why: "Returning a NavigationResult from a loader is deprecated.", + fix: "Call `reroute(to)` inside the loader instead of returning `new NavigationResult(to)`; it throws internally to reroute.", + docs: "https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-" + } + } +}); +//#endregion +//#region src/injectionSymbols.ts +/** +* RouteRecord being rendered by the closest ancestor Router View. Used for +* `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View +* Location Matched +* +* @internal +*/ +const matchedRouteKey = Symbol(process.env.NODE_ENV !== "production" ? "router view location matched" : ""); +/** +* Allows overriding the router view depth to control which component in +* `matched` is rendered. rvd stands for Router View Depth +* +* @internal +*/ +const viewDepthKey = Symbol(process.env.NODE_ENV !== "production" ? "router view depth" : ""); +/** +* Allows overriding the router instance returned by `useRouter` in tests. r +* stands for router +* +* @internal +*/ +const routerKey = Symbol(process.env.NODE_ENV !== "production" ? "router" : ""); +/** +* Allows overriding the current route returned by `useRoute` in tests. rl +* stands for route location +* +* @internal +*/ +const routeLocationKey = Symbol(process.env.NODE_ENV !== "production" ? "route location" : ""); +/** +* Allows overriding the current route used by router-view. Internally this is +* used when the `route` prop is passed. +* +* @internal +*/ +const routerViewLocationKey = Symbol(process.env.NODE_ENV !== "production" ? "router view location" : ""); +/** +* Callbacks called by the closest ancestor router-view once it displays a new +* route. Used by `onRouteRendered()`. +* +* @internal +*/ +const routerViewOnRouteRenderedKey = Symbol(process.env.NODE_ENV !== "production" ? "router view on route rendered" : ""); +//#endregion +//#region src/useApi.ts +/** +* Returns the router instance. Equivalent to using `$router` inside +* templates. +*/ +function useRouter() { + return inject(routerKey); +} +/** +* Returns the current route location. Equivalent to using `$route` inside +* templates. +*/ +function useRoute(_name) { + return inject(routeLocationKey); +} +//#endregion +export { toValueWithArgs as S, isArray as _, routerKey as a, mergeOptions as b, viewDepthKey as c, createRouterError as d, isNavigationFailure as f, isAbsolutePath as g, identityFn as h, routeLocationKey as i, diagnostics as l, assign as m, useRouter as n, routerViewLocationKey as o, applyToParams as p, matchedRouteKey as r, routerViewOnRouteRenderedKey as s, useRoute as t, NavigationFailureType as u, isESModule as v, noop as x, isRouteComponent as y }; diff --git a/apps/web/.output/server/node_modules/vue-router/dist/vue-router.js b/apps/web/.output/server/node_modules/vue-router/dist/vue-router.js new file mode 100644 index 0000000..17294a1 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-router/dist/vue-router.js @@ -0,0 +1,1575 @@ +/*! +* vue-router v5.4.0 +* (c) 2026 Eduardo San Martin Morote +* @license MIT +*/ +import { C as isSameRouteLocation, E as parseURL, I as isBrowser, M as decode, N as encodeHash, O as stringifyURL, P as encodeParam, S as START_LOCATION_NORMALIZED, T as isSameRouteRecord, _ as invalidateScrollPositions, a as loadRouteLocation, b as createHref, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, k as stripBase, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as saveScrollPosition, w as isSameRouteLocationParams, x as normalizeBase, y as scrollToPosition } from "./devtools-CxgSYwGp.js"; +import { _ as isArray, a as routerKey, b as mergeOptions, c as viewDepthKey, d as createRouterError, f as isNavigationFailure, g as isAbsolutePath, i as routeLocationKey, l as diagnostics, m as assign, n as useRouter, o as routerViewLocationKey, p as applyToParams, r as matchedRouteKey, s as routerViewOnRouteRenderedKey, t as useRoute, u as NavigationFailureType, x as noop } from "./useApi-CUWMwLLw.js"; +import { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from "vue"; +//#region src/history/html5.ts +let createBaseLocation = () => location.protocol + "//" + location.host; +/** +* Creates a normalized history location from a window.location object +* @param base - The base path +* @param location - The window.location object +*/ +function createCurrentLocation(base, location) { + const { pathname, search, hash } = location; + const hashPos = base.indexOf("#"); + if (hashPos > -1) { + let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1; + let pathFromHash = hash.slice(slicePos); + if (pathFromHash[0] !== "/") pathFromHash = "/" + pathFromHash; + return stripBase(pathFromHash, ""); + } + return stripBase(pathname, base) + search + hash; +} +function useHistoryListeners(base, historyState, currentLocation, replace) { + let listeners = []; + let teardowns = []; + let pauseState = null; + const popStateHandler = ({ state }) => { + const to = createCurrentLocation(base, location); + const from = currentLocation.value; + const fromState = historyState.value; + let delta = 0; + if (state) { + currentLocation.value = to; + historyState.value = state; + if (pauseState && pauseState === from) { + pauseState = null; + return; + } + delta = fromState ? state.position - fromState.position : 0; + } else replace(to); + listeners.forEach((listener) => { + listener(currentLocation.value, from, { + delta, + type: "pop", + direction: delta ? delta > 0 ? "forward" : "back" : "" + }); + }); + }; + function pauseListeners() { + pauseState = currentLocation.value; + } + function listen(callback) { + listeners.push(callback); + const teardown = () => { + const index = listeners.indexOf(callback); + if (index > -1) listeners.splice(index, 1); + }; + teardowns.push(teardown); + return teardown; + } + function beforeUnloadListener() { + const { history } = window; + if (!history.state) return; + history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), ""); + } + function destroy() { + for (const teardown of teardowns) teardown(); + teardowns = []; + window.removeEventListener("popstate", popStateHandler); + window.removeEventListener("pagehide", beforeUnloadListener); + } + window.addEventListener("popstate", popStateHandler); + window.addEventListener("pagehide", beforeUnloadListener); + return { + pauseListeners, + listen, + destroy + }; +} +/** +* Creates a state object +*/ +function buildState(back, current, forward, replaced = false) { + return { + back, + current, + forward, + replaced, + position: window.history.length, + scroll: null + }; +} +function useHistoryStateNavigation(base) { + const { history, location } = window; + const currentLocation = { value: createCurrentLocation(base, location) }; + const historyState = { value: history.state }; + if (!historyState.value) changeLocation(currentLocation.value, { + back: null, + current: currentLocation.value, + forward: null, + position: history.length - 1, + replaced: true, + scroll: null + }, true); + function changeLocation(to, state, replace) { + /** + * if a base tag is provided, and we are on a normal domain, we have to + * respect the provided `base` attribute because pushState() will use it and + * potentially erase anything before the `#` like at + * https://github.com/vuejs/router/issues/685 where a base of + * `/folder/#` but a base of `/` would erase the `/folder/` section. If + * there is no host, the `<base>` tag makes no sense and if there isn't a + * base tag we can just use everything after the `#`. + */ + const hashIndex = base.indexOf("#"); + const url = hashIndex > -1 ? (location.host && document.querySelector("base") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to; + try { + history[replace ? "replaceState" : "pushState"](state, "", url); + historyState.value = state; + } catch (err) { + if (process.env.NODE_ENV !== "production") diagnostics.VUE_ROUTER_R0120({ cause: err }); + else console.error(err); + location[replace ? "replace" : "assign"](url); + } + } + function replace(to, data) { + const state = assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }); + changeLocation(to, state, true); + invalidateScrollPositions(state.position, true); + currentLocation.value = to; + } + function push(to, data) { + const currentState = assign({}, historyState.value, history.state, { + forward: to, + scroll: computeScrollPosition() + }); + if (process.env.NODE_ENV !== "production" && !history.state) diagnostics.VUE_ROUTER_R0121(); + changeLocation(currentState.current, currentState, true); + changeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false); + invalidateScrollPositions(currentState.position); + currentLocation.value = to; + } + return { + location: currentLocation, + state: historyState, + push, + replace + }; +} +/** +* Creates an HTML5 history. Most common history for single page applications. +* +* @param base - +*/ +function createWebHistory(base) { + base = normalizeBase(base); + const historyNavigation = useHistoryStateNavigation(base); + const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace); + function go(delta, triggerListeners = true) { + if (!triggerListeners) historyListeners.pauseListeners(); + history.go(delta); + } + const routerHistory = assign({ + location: "", + base, + go, + createHref: createHref.bind(null, base) + }, historyNavigation, historyListeners); + Object.defineProperty(routerHistory, "location", { + enumerable: true, + get: () => historyNavigation.location.value + }); + Object.defineProperty(routerHistory, "state", { + enumerable: true, + get: () => historyNavigation.state.value + }); + return routerHistory; +} +//#endregion +//#region src/history/hash.ts +/** +* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to +* handle any URL is not possible. +* +* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `<base>` tag +* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState() +* calls**, meaning that if you use a `<base>` tag, it's `href` value **has to match this parameter** (ignoring anything +* after the `#`). +* +* @example +* ```js +* // at https://example.com/folder +* createWebHashHistory() // gives a url of `https://example.com/folder#` +* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#` +* // if the `#` is provided in the base, it won't be added by `createWebHashHistory` +* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/` +* // you should avoid doing this because it changes the original url and breaks copying urls +* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#` +* +* // at file:///usr/etc/folder/index.html +* // for locations with no `host`, the base is ignored +* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#` +* ``` +*/ +function createWebHashHistory(base) { + base = location.host ? base || location.pathname + location.search : ""; + if (!base.includes("#")) base += "#"; + if (process.env.NODE_ENV !== "production" && !base.endsWith("#/") && !base.endsWith("#")) diagnostics.VUE_ROUTER_R0110({ + base, + suggestion: base.replace(/#.*$/, "#") + }); + return createWebHistory(base); +} +//#endregion +//#region src/history/memory.ts +/** +* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere. +* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`. +* +* @param base - Base applied to all urls, defaults to '/' +* @returns a history object that can be passed to the router constructor +*/ +function createMemoryHistory(base = "") { + let listeners = []; + let queue = [["", {}]]; + let position = 0; + base = normalizeBase(base); + function setLocation(location, state = {}) { + position++; + if (position !== queue.length) queue.splice(position); + queue.push([location, state]); + } + function triggerListeners(to, from, { direction, delta }) { + const info = { + direction, + delta, + type: "pop" + }; + for (const callback of listeners) callback(to, from, info); + } + const routerHistory = { + location: "", + state: {}, + base, + createHref: createHref.bind(null, base), + replace(to, state) { + queue.splice(position--, 1); + setLocation(to, state); + }, + push(to, state) { + setLocation(to, state); + }, + listen(callback) { + listeners.push(callback); + return () => { + const index = listeners.indexOf(callback); + if (index > -1) listeners.splice(index, 1); + }; + }, + destroy() { + listeners = []; + queue = [["", {}]]; + position = 0; + }, + go(delta, shouldTrigger = true) { + const from = this.location; + const direction = delta < 0 ? "back" : "forward"; + position = Math.max(0, Math.min(position + delta, queue.length - 1)); + if (shouldTrigger) triggerListeners(this.location, from, { + direction, + delta + }); + } + }; + Object.defineProperty(routerHistory, "location", { + enumerable: true, + get: () => queue[position][0] + }); + Object.defineProperty(routerHistory, "state", { + enumerable: true, + get: () => queue[position][1] + }); + return routerHistory; +} +//#endregion +//#region src/matcher/pathTokenizer.ts +const ROOT_TOKEN = { + type: 0, + value: "" +}; +const VALID_PARAM_RE = /[a-zA-Z0-9_]/; +function tokenizePath(path) { + if (!path) return [[]]; + if (path === "/") return [[ROOT_TOKEN]]; + if (!isAbsolutePath(path)) throw new Error(process.env.NODE_ENV !== "production" ? `Route paths should start with a "/": "${path}" should be "/${path}".` : `Invalid path "${path}"`); + function crash(message) { + throw new Error(`ERR (${state})/"${buffer}": ${message}`); + } + let state = 0; + let previousState = state; + const tokens = []; + let segment; + function finalizeSegment() { + if (segment) tokens.push(segment); + segment = []; + } + let i = 0; + let char; + let buffer = ""; + let customRe = ""; + function consumeBuffer() { + if (!buffer) return; + if (state === 0) segment.push({ + type: 0, + value: buffer + }); + else if (state === 1 || state === 2 || state === 3) { + if (segment.length > 1 && (char === "*" || char === "+")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`); + segment.push({ + type: 1, + value: buffer, + regexp: customRe, + repeatable: char === "*" || char === "+", + optional: char === "*" || char === "?" + }); + } else crash("Invalid state to consume buffer"); + buffer = ""; + } + function addCharToBuffer() { + buffer += char; + } + while (i < path.length) { + char = path[i++]; + switch (state) { + case 0: + if (char === "\\") { + previousState = state; + state = 4; + } else if (char === "/") { + if (buffer) consumeBuffer(); + finalizeSegment(); + } else if (char === ":") { + consumeBuffer(); + state = 1; + } else addCharToBuffer(); + break; + case 4: + addCharToBuffer(); + state = previousState; + break; + case 1: + if (char === "(") state = 2; + else if (VALID_PARAM_RE.test(char)) addCharToBuffer(); + else { + consumeBuffer(); + state = 0; + if (char !== "*" && char !== "?" && char !== "+") i--; + } + break; + case 2: + if (char === ")") { + if (customRe[customRe.length - 1] == "\\") customRe = customRe.slice(0, -1) + char; + else state = 3; + } else customRe += char; + break; + case 3: + consumeBuffer(); + state = 0; + if (char !== "*" && char !== "?" && char !== "+") i--; + customRe = ""; + break; + default: crash("Unknown state"); + } + } + if (state === 2) crash(`Unfinished custom RegExp for param "${buffer}"`); + consumeBuffer(); + finalizeSegment(); + return tokens; +} +//#endregion +//#region src/matcher/pathParserRanker.ts +const BASE_PARAM_PATTERN = "[^/]+?"; +const BASE_PATH_PARSER_OPTIONS = { + sensitive: false, + strict: false, + start: true, + end: true +}; +const REGEX_CHARS_RE = /[.+*?^${}()[\]/\\]/g; +/** +* Creates a path parser from an array of Segments (a segment is an array of Tokens) +* +* @param segments - array of segments returned by tokenizePath +* @param extraOptions - optional options for the regexp +* @returns a PathParser +*/ +function tokensToParser(segments, extraOptions) { + const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions); + const score = []; + let pattern = options.start ? "^" : ""; + const keys = []; + for (const segment of segments) { + const segmentScores = segment.length ? [] : [90]; + if (options.strict && !segment.length) pattern += "/"; + for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) { + const token = segment[tokenIndex]; + let subSegmentScore = 40 + (options.sensitive ? .25 : 0); + if (token.type === 0) { + if (!tokenIndex) pattern += "/"; + pattern += token.value.replace(REGEX_CHARS_RE, "\\$&"); + subSegmentScore += 40; + } else if (token.type === 1) { + const { value, repeatable, optional, regexp } = token; + keys.push({ + name: value, + repeatable, + optional + }); + const re = regexp ? regexp : BASE_PARAM_PATTERN; + if (re !== BASE_PARAM_PATTERN) { + subSegmentScore += 10; + try { + new RegExp(`(${re})`); + } catch (err) { + throw new Error(`Invalid custom RegExp for param "${value}" (${re}): ` + err.message); + } + } + let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`; + if (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : "/" + subPattern; + if (optional) subPattern += "?"; + pattern += subPattern; + subSegmentScore += 20; + if (optional) subSegmentScore += -8; + if (repeatable) subSegmentScore += -20; + if (re === ".*") subSegmentScore += -50; + } + segmentScores.push(subSegmentScore); + } + score.push(segmentScores); + } + if (options.strict && options.end) { + const i = score.length - 1; + score[i][score[i].length - 1] += .7000000000000001; + } + if (!options.strict) pattern += "/?"; + if (options.end) pattern += "$"; + else if (options.strict && !pattern.endsWith("/")) pattern += "(?:/|$)"; + const re = new RegExp(pattern, options.sensitive ? "" : "i"); + function parse(path) { + const match = path.match(re); + const params = {}; + if (!match) return null; + for (let i = 1; i < match.length; i++) { + const value = match[i] || ""; + const key = keys[i - 1]; + params[key.name] = value && key.repeatable ? value.split("/") : value; + } + return params; + } + function stringify(params) { + let path = ""; + let avoidDuplicatedSlash = false; + for (const segment of segments) { + if (!avoidDuplicatedSlash || !path.endsWith("/")) path += "/"; + avoidDuplicatedSlash = false; + for (const token of segment) if (token.type === 0) path += token.value; + else if (token.type === 1) { + const { value, repeatable, optional } = token; + const param = value in params ? params[value] : ""; + if (isArray(param) && !repeatable) throw new Error(`Provided param "${value}" is an array but it is not repeatable (* or + modifiers)`); + const text = isArray(param) ? param.join("/") : param; + if (!text) { + if (optional) { + if (segment.length < 2) { + if (path.endsWith("/")) path = path.slice(0, -1); + else avoidDuplicatedSlash = true; + } + } else throw new Error(`Missing required param "${value}"`); + } + path += text; + } + } + return path || "/"; + } + return { + re, + score, + keys, + parse, + stringify + }; +} +/** +* Compares an array of numbers as used in PathParser.score and returns a +* number. This function can be used to `sort` an array +* +* @param a - first array of numbers +* @param b - second array of numbers +* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b +* should be sorted first +*/ +function compareScoreArray(a, b) { + let i = 0; + while (i < a.length && i < b.length) { + const diff = b[i] - a[i]; + if (diff) return diff; + i++; + } + if (a.length < b.length) return a.length === 1 && a[0] === 80 ? -1 : 1; + else if (a.length > b.length) return b.length === 1 && b[0] === 80 ? 1 : -1; + return 0; +} +/** +* Compare function that can be used with `sort` to sort an array of PathParser +* +* @param a - first PathParser +* @param b - second PathParser +* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b +*/ +function comparePathParserScore(a, b) { + let i = 0; + const aScore = a.score; + const bScore = b.score; + while (i < aScore.length && i < bScore.length) { + const comp = compareScoreArray(aScore[i], bScore[i]); + if (comp) return comp; + i++; + } + if (Math.abs(bScore.length - aScore.length) === 1) { + if (isLastScoreNegative(aScore)) return 1; + if (isLastScoreNegative(bScore)) return -1; + } + return bScore.length - aScore.length; +} +/** +* This allows detecting splats at the end of a path: /home/:id(.*)* +* +* @param score - score to check +* @returns true if the last entry is negative +*/ +function isLastScoreNegative(score) { + const last = score[score.length - 1]; + return score.length > 0 && last[last.length - 1] < 0; +} +const PATH_PARSER_OPTIONS_DEFAULTS = { + strict: false, + end: true, + sensitive: false +}; +//#endregion +//#region src/matcher/pathMatcher.ts +function createRouteRecordMatcher(record, parent, options) { + const parser = tokensToParser(tokenizePath(record.path), options); + if (process.env.NODE_ENV !== "production") { + const existingKeys = /* @__PURE__ */ new Set(); + for (const key of parser.keys) { + if (existingKeys.has(key.name)) diagnostics.VUE_ROUTER_R0090({ + name: key.name, + path: record.path + }); + existingKeys.add(key.name); + } + } + const matcher = assign(parser, { + record, + parent, + children: [], + alias: [] + }); + if (parent) { + if (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher); + } + return matcher; +} +//#endregion +//#region src/matcher/index.ts +/** +* Creates a Router Matcher. +* +* @internal +* @param routes - array of initial routes +* @param globalOptions - global route options +*/ +function createRouterMatcher(routes, globalOptions) { + const matchers = []; + const matcherMap = /* @__PURE__ */ new Map(); + globalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions); + function getRecordMatcher(name) { + return matcherMap.get(name); + } + function addRoute(record, parent, originalRecord) { + const isRootAdd = !originalRecord; + const mainNormalizedRecord = normalizeRouteRecord(record); + if (process.env.NODE_ENV !== "production") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent); + mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record; + const options = mergeOptions(globalOptions, record); + const normalizedRecords = [mainNormalizedRecord]; + if ("alias" in record) { + const aliases = typeof record.alias === "string" ? [record.alias] : record.alias; + for (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, { + components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components, + path: alias, + aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord + }))); + } + let matcher; + let originalMatcher; + for (const normalizedRecord of normalizedRecords) { + const { path } = normalizedRecord; + if (parent && !isAbsolutePath(path)) { + const parentPath = parent.record.path; + const connectingSlash = parentPath[parentPath.length - 1] === "/" ? "" : "/"; + normalizedRecord.path = parent.record.path + (path && connectingSlash + path); + } + if (process.env.NODE_ENV !== "production" && normalizedRecord.path === "*") throw new Error("Catch all routes (\"*\") must now be defined using a param with a custom regexp.\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes."); + matcher = createRouteRecordMatcher(normalizedRecord, parent, options); + if (process.env.NODE_ENV !== "production" && parent && isAbsolutePath(path)) checkMissingParamsInAbsolutePath(matcher, parent); + if (originalRecord) { + originalRecord.alias.push(matcher); + if (process.env.NODE_ENV !== "production") checkSameParams(originalRecord, matcher); + } else { + originalMatcher = originalMatcher || matcher; + if (originalMatcher !== matcher) originalMatcher.alias.push(matcher); + if (isRootAdd && record.name && !isAliasRecord(matcher)) { + if (process.env.NODE_ENV !== "production") checkSameNameAsAncestor(record, parent); + removeRoute(record.name); + } + } + if (isMatchable(matcher)) insertMatcher(matcher); + if (mainNormalizedRecord.children) { + const children = mainNormalizedRecord.children; + for (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]); + } + originalRecord = originalRecord || matcher; + } + return originalMatcher ? () => { + removeRoute(originalMatcher); + } : noop; + } + function removeRoute(matcherRef) { + if (isRouteName(matcherRef)) { + const matcher = matcherMap.get(matcherRef); + if (matcher) { + matcherMap.delete(matcherRef); + matchers.splice(matchers.indexOf(matcher), 1); + matcher.children.forEach(removeRoute); + matcher.alias.forEach(removeRoute); + } + } else { + const index = matchers.indexOf(matcherRef); + if (index > -1) { + matchers.splice(index, 1); + if (matcherRef.record.name) matcherMap.delete(matcherRef.record.name); + matcherRef.children.forEach(removeRoute); + matcherRef.alias.forEach(removeRoute); + } + } + } + function getRoutes() { + return matchers; + } + function insertMatcher(matcher) { + const index = findInsertionIndex(matcher, matchers); + matchers.splice(index, 0, matcher); + if (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher); + } + function resolve(location, currentLocation) { + let matcher; + let params = {}; + let path; + let name; + if ("name" in location && location.name) { + matcher = matcherMap.get(location.name); + if (!matcher) throw createRouterError(1, { location }); + if (process.env.NODE_ENV !== "production") { + const invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName)); + if (invalidParams.length) { + const isInherited = !matcher.keys.length && invalidParams.some((name) => name in currentLocation.params); + diagnostics.VUE_ROUTER_R0100({ + params: invalidParams.join("\", \""), + inherited: isInherited ? ` If you are using a catch-all route with a named redirect, pass an empty \`params\` object: \`redirect: { name: '...', params: {} }\`.` : "" + }); + } + } + name = matcher.record.name; + params = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name))); + path = matcher.stringify(params); + } else if (location.path != null) { + path = location.path; + if (process.env.NODE_ENV !== "production" && !isAbsolutePath(path)) diagnostics.VUE_ROUTER_R0101({ path }); + matcher = matchers.find((m) => m.re.test(path)); + if (matcher) { + params = matcher.parse(path); + name = matcher.record.name; + matcher.keys.forEach((key) => { + if (key.optional && !params[key.name]) delete params[key.name]; + }); + } + } else { + matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path)); + if (!matcher) throw createRouterError(1, { + location, + currentLocation + }); + name = matcher.record.name; + params = assign({}, currentLocation.params, location.params); + path = matcher.stringify(params); + } + const matched = []; + let parentMatcher = matcher; + while (parentMatcher) { + matched.unshift(parentMatcher.record); + parentMatcher = parentMatcher.parent; + } + return { + name, + path, + params, + matched, + meta: mergeMetaFields(matched) + }; + } + routes.forEach((route) => addRoute(route)); + function clearRoutes() { + matchers.length = 0; + matcherMap.clear(); + } + return { + addRoute, + resolve, + removeRoute, + clearRoutes, + getRoutes, + getRecordMatcher + }; +} +/** +* Picks an object param to contain only specified keys. +* +* @param params - params object to pick from +* @param keys - keys to pick +*/ +function pickParams(params, keys) { + const newParams = {}; + for (const key of keys) if (key in params) newParams[key] = params[key]; + return newParams; +} +/** +* Normalizes a RouteRecordRaw. Creates a copy +* +* @param record +* @returns the normalized version +*/ +function normalizeRouteRecord(record) { + const normalized = { + path: record.path, + redirect: record.redirect, + name: record.name, + meta: record.meta || {}, + aliasOf: record.aliasOf, + beforeEnter: record.beforeEnter, + props: normalizeRecordProps(record), + children: record.children || [], + instances: {}, + leaveGuards: /* @__PURE__ */ new Set(), + updateGuards: /* @__PURE__ */ new Set(), + enterCallbacks: {}, + components: "components" in record ? record.components || null : record.component && { default: record.component } + }; + Object.defineProperty(normalized, "mods", { value: {} }); + return normalized; +} +/** +* Normalize the optional `props` in a record to always be an object similar to +* components. Also accept a boolean for components. +* @param record +*/ +function normalizeRecordProps(record) { + const propsObject = {}; + const props = record.props || false; + if ("component" in record) propsObject.default = props; + else for (const name in record.components) propsObject[name] = typeof props === "object" ? props[name] : props; + return propsObject; +} +/** +* Checks if a record or any of its parent is an alias +* @param record +*/ +function isAliasRecord(record) { + while (record) { + if (record.record.aliasOf) return true; + record = record.parent; + } + return false; +} +/** +* Merge meta fields of an array of records +* +* @param matched - array of matched records +*/ +function mergeMetaFields(matched) { + return matched.reduce((meta, record) => assign(meta, record.meta), {}); +} +function isSameParam(a, b) { + return a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable; +} +/** +* Check if a path and its alias have the same required params +* +* @param a - original record +* @param b - alias record +*/ +function checkSameParams(a, b) { + for (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) { + diagnostics.VUE_ROUTER_R0102({ + alias: b.record.path, + original: a.record.path, + name: key.name + }); + return; + } + for (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) { + diagnostics.VUE_ROUTER_R0102({ + alias: b.record.path, + original: a.record.path, + name: key.name + }); + return; + } +} +/** +* A route with a name and a child with an empty path without a name should warn when adding the route +* +* @param mainNormalizedRecord - RouteRecordNormalized +* @param parent - RouteRecordMatcher +*/ +function checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) { + if (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) diagnostics.VUE_ROUTER_R0103({ name: String(parent.record.name) }); +} +function checkSameNameAsAncestor(record, parent) { + for (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named "${String(record.name)}" has been added as a ${parent === ancestor ? "child" : "descendant"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`); +} +function checkMissingParamsInAbsolutePath(record, parent) { + for (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) { + diagnostics.VUE_ROUTER_R0104({ + path: record.record.path, + name: key.name, + parent: parent.record.path + }); + return; + } +} +/** +* Performs a binary search to find the correct insertion index for a new matcher. +* +* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships, +* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes. +* +* @param matcher - new matcher to be inserted +* @param matchers - existing matchers +*/ +function findInsertionIndex(matcher, matchers) { + let lower = 0; + let upper = matchers.length; + while (lower !== upper) { + const mid = lower + upper >> 1; + if (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid; + else lower = mid + 1; + } + const insertionAncestor = getInsertionAncestor(matcher); + if (insertionAncestor) { + upper = matchers.lastIndexOf(insertionAncestor, upper - 1); + if (process.env.NODE_ENV !== "production" && upper < 0) diagnostics.VUE_ROUTER_R0105({ + ancestor: insertionAncestor.record.path, + record: matcher.record.path + }); + } + return upper; +} +function getInsertionAncestor(matcher) { + let ancestor = matcher; + while (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor; +} +/** +* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without +* a component, or name, or redirect, are just used to group other routes. +* @param matcher +* @param matcher.record record of the matcher +* @returns +*/ +function isMatchable({ record }) { + return !!(record.name || record.components && Object.keys(record.components).length || record.redirect); +} +//#endregion +//#region src/RouterLink.ts +/** +* Returns the internal behavior of a {@link RouterLink} without the rendering part. +* +* @param props - a `to` location and an optional `replace` flag +*/ +function useLink(props) { + const router = inject(routerKey); + const currentRoute = inject(routeLocationKey); + let hasPrevious = false; + let previousTo = null; + const route = computed(() => { + const to = unref(props.to); + if (process.env.NODE_ENV !== "production" && (!hasPrevious || to !== previousTo)) { + if (!isRouteLocation(to)) diagnostics.VUE_ROUTER_R0050({ to }); + previousTo = to; + hasPrevious = true; + } + return router.resolve(to); + }); + const activeRecordIndex = computed(() => { + const { matched } = route.value; + const { length } = matched; + const routeMatched = matched[length - 1]; + const currentMatched = currentRoute.matched; + if (!routeMatched || !currentMatched.length) return -1; + const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched)); + if (index > -1) return index; + const parentRecordPath = getOriginalPath(matched[length - 2]); + return length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index; + }); + const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params)); + const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params)); + function navigate(e = {}) { + if (guardEvent(e)) { + const p = router[unref(props.replace) ? "replace" : "push"](unref(props.to)).catch(noop); + if (props.viewTransition && typeof document !== "undefined" && "startViewTransition" in document) document.startViewTransition(() => p); + return p; + } + return Promise.resolve(); + } + if ((process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) && isBrowser) { + const instance = getCurrentInstance(); + if (instance) { + const linkContextDevtools = { + route: route.value, + isActive: isActive.value, + isExactActive: isExactActive.value, + error: null + }; + instance.__vrl_devtools = instance.__vrl_devtools || []; + instance.__vrl_devtools.push(linkContextDevtools); + watchEffect(() => { + linkContextDevtools.route = route.value; + linkContextDevtools.isActive = isActive.value; + linkContextDevtools.isExactActive = isExactActive.value; + linkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : "Invalid \"to\" value"; + }, { flush: "post" }); + } + } + /** + * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this + */ + return { + route, + href: computed(() => route.value.href), + isActive, + isExactActive, + navigate + }; +} +function preferSingleVNode(vnodes) { + return vnodes.length === 1 ? vnodes[0] : vnodes; +} +/** +* Component to render a link that triggers a navigation on click. +*/ +const RouterLink = /* @__PURE__ */ defineComponent({ + name: "RouterLink", + compatConfig: { MODE: 3 }, + props: { + to: { + type: [String, Object], + required: true + }, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + custom: Boolean, + ariaCurrentValue: { + type: String, + default: "page" + }, + viewTransition: Boolean + }, + useLink, + setup(props, { slots }) { + const link = reactive(useLink(props)); + const { options } = inject(routerKey); + const elClass = computed(() => ({ + [getLinkClass(props.activeClass, options.linkActiveClass, "router-link-active")]: link.isActive, + [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, "router-link-exact-active")]: link.isExactActive + })); + return () => { + const children = slots.default && preferSingleVNode(slots.default(link)); + return props.custom ? children : h("a", { + "aria-current": link.isExactActive ? props.ariaCurrentValue : null, + href: link.href, + onClick: link.navigate, + class: elClass.value + }, children); + }; + } +}); +function guardEvent(e) { + if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return; + if (e.defaultPrevented) return; + if (e.button !== void 0 && e.button !== 0) return; + if (e.currentTarget && e.currentTarget.getAttribute) { + const target = e.currentTarget.getAttribute("target"); + if (/\b_blank\b/i.test(target)) return; + } + if (e.preventDefault) e.preventDefault(); + return true; +} +function includesParams(outer, inner) { + for (const key in inner) { + const innerValue = inner[key]; + const outerValue = outer[key]; + if (isArray(innerValue)) { + if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false; + } else if (innerValue !== outerValue) return false; + } + return true; +} +/** +* Get the original path value of a record by following its aliasOf +* @param record +*/ +function getOriginalPath(record) { + return record ? record.aliasOf ? record.aliasOf.path : record.path : ""; +} +/** +* Utility class to get the active class based on defaults. +* @param propClass +* @param globalClass +* @param defaultClass +*/ +const getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass; +//#endregion +//#region src/RouterView.ts +const RouterViewImpl = /*#__PURE__*/ defineComponent({ + name: "RouterView", + inheritAttrs: false, + props: { + name: { + type: String, + default: "default" + }, + route: Object + }, + compatConfig: { MODE: 3 }, + setup(props, { attrs, slots }) { + process.env.NODE_ENV !== "production" && warnDeprecatedUsage(); + const injectedRoute = inject(routerViewLocationKey); + const routeToDisplay = computed(() => props.route || injectedRoute.value); + const injectedDepth = inject(viewDepthKey, 0); + const depth = computed(() => { + let initialDepth = unref(injectedDepth); + const { matched } = routeToDisplay.value; + let matchedRoute; + while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++; + return initialDepth; + }); + const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]); + provide(viewDepthKey, computed(() => depth.value + 1)); + provide(matchedRouteKey, matchedRouteRef); + provide(routerViewLocationKey, routeToDisplay); + const onRouteRenderedCallbacks = /* @__PURE__ */ new Set(); + provide(routerViewOnRouteRenderedKey, onRouteRenderedCallbacks); + const viewRef = ref(); + let settledRoute = START_LOCATION_NORMALIZED; + const { app } = getCurrentInstance().appContext; + watch(() => [ + viewRef.value, + matchedRouteRef.value, + props.name + ], ([instance, to, name], [oldInstance, from, _oldName]) => { + if (to) { + to.instances[name] = instance; + if (from && from !== to && instance && instance === oldInstance) { + if (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards; + if (!to.updateGuards.size) to.updateGuards = from.updateGuards; + } + } + if (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance)); + }, { flush: "post" }); + return () => { + const route = routeToDisplay.value; + const currentName = props.name; + const matchedRoute = matchedRouteRef.value; + const ViewComponent = matchedRoute && matchedRoute.components[currentName]; + if (!ViewComponent) return normalizeSlot(slots.default, { + Component: ViewComponent, + route + }); + const routePropsOption = matchedRoute.props[currentName]; + const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === "function" ? routePropsOption(route) : routePropsOption : null; + const onVnodeUnmounted = (vnode) => { + if (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null; + }; + const onVnodeSettled = (vnode) => nextTick(() => { + if (settledRoute === route || routeToDisplay.value !== route || vnode.el.getRootNode() !== app._container.getRootNode()) return; + const from = settledRoute; + settledRoute = route; + for (const callback of onRouteRenderedCallbacks) callback(route, from); + }); + const component = h(ViewComponent, assign({}, routeProps, attrs, { + onVnodeUnmounted, + onVnodeMounted: onVnodeSettled, + onVnodeUpdated: onVnodeSettled, + ref: viewRef + })); + if ((process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) { + const info = { + depth: depth.value, + name: matchedRoute.name, + path: matchedRoute.path, + meta: matchedRoute.meta + }; + (isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => { + if (instance) instance.__vrv_devtools = info; + }); + } + return normalizeSlot(slots.default, { + Component: component, + route + }) || component; + }; + } +}); +function normalizeSlot(slot, data) { + if (!slot) return null; + const slotContent = slot(data); + return slotContent.length === 1 ? slotContent[0] : slotContent; +} +/** +* Component to display the current route the user is at. +*/ +const RouterView = RouterViewImpl; +function warnDeprecatedUsage() { + const instance = getCurrentInstance(); + const parentName = instance.parent && instance.parent.type.name; + const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type; + if (parentName && (parentName === "KeepAlive" || parentName.includes("Transition")) && typeof parentSubTreeType === "object" && parentSubTreeType.name === "RouterView") { + const comp = parentName === "KeepAlive" ? "keep-alive" : "transition"; + diagnostics.VUE_ROUTER_R0060({ comp }); + } +} +//#endregion +//#region src/router.ts +/** +* Creates a Router instance that can be used by a Vue app. +* +* @param options - {@link RouterOptions} +*/ +function createRouter(options) { + const matcher = options.matcher || createRouterMatcher(options.routes, options); + const parseQuery$1 = options.parseQuery || parseQuery; + const stringifyQuery$1 = options.stringifyQuery || stringifyQuery; + const routerHistory = options.history; + if (process.env.NODE_ENV !== "production" && !routerHistory) throw new Error("Provide the \"history\" option when calling \"createRouter()\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history"); + const beforeGuards = useCallbacks(); + const beforeResolveGuards = useCallbacks(); + const afterGuards = useCallbacks(); + const currentRoute = shallowRef(START_LOCATION_NORMALIZED); + const routesVersion = shallowRef(0); + let pendingLocation = START_LOCATION_NORMALIZED; + if (isBrowser && options.scrollBehavior && "scrollRestoration" in history) history.scrollRestoration = "manual"; + const normalizeParams = applyToParams.bind(null, (paramValue) => "" + paramValue); + const encodeParams = applyToParams.bind(null, encodeParam); + const decodeParams = applyToParams.bind(null, decode); + function addRoute(parentOrRoute, route) { + let parent; + let record; + if (isRouteName(parentOrRoute)) { + parent = matcher.getRecordMatcher(parentOrRoute); + if (process.env.NODE_ENV !== "production" && !parent) diagnostics.VUE_ROUTER_R0001({ name: String(parentOrRoute) }); + record = route; + } else record = parentOrRoute; + const removeRoute = matcher.addRoute(record, parent); + routesVersion.value++; + return () => { + removeRoute(); + routesVersion.value++; + }; + } + function removeRoute(name) { + const recordMatcher = matcher.getRecordMatcher(name); + if (recordMatcher) { + matcher.removeRoute(recordMatcher); + routesVersion.value++; + } else if (process.env.NODE_ENV !== "production") diagnostics.VUE_ROUTER_R0002({ name: String(name) }); + } + function clearRoutes() { + matcher.clearRoutes(); + routesVersion.value++; + } + function getRoutes() { + return matcher.getRoutes().map((routeMatcher) => routeMatcher.record); + } + function hasRoute(name) { + return !!matcher.getRecordMatcher(name); + } + function resolve(rawLocation, currentLocation) { + routesVersion.value; + if (typeof rawLocation === "string") { + currentLocation = currentLocation || (rawLocation.startsWith("/") ? START_LOCATION_NORMALIZED : currentRoute.value); + const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path); + const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation); + const href = routerHistory.createHref(locationNormalized.fullPath); + if (process.env.NODE_ENV !== "production") { + if (href.startsWith("//")) diagnostics.VUE_ROUTER_R0003({ + location: rawLocation, + href + }); + else if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation }); + } + return assign(locationNormalized, matchedRoute, { + params: decodeParams(matchedRoute.params), + redirectedFrom: void 0, + href + }); + } + if (process.env.NODE_ENV !== "production" && !isRouteLocation(rawLocation)) { + diagnostics.VUE_ROUTER_R0005({ rawLocation }); + return resolve({}); + } + currentLocation = assign({}, currentLocation || (rawLocation.path != null && rawLocation.path.startsWith("/") && !("name" in rawLocation && rawLocation.name) ? START_LOCATION_NORMALIZED : currentRoute.value)); + let matcherLocation; + if (rawLocation.path != null) { + if (process.env.NODE_ENV !== "production" && "params" in rawLocation && !("name" in rawLocation) && Object.keys(rawLocation.params).length) diagnostics.VUE_ROUTER_R0006({ path: rawLocation.path }); + matcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path }); + } else { + const targetParams = assign({}, rawLocation.params); + for (const key in targetParams) if (targetParams[key] == null) delete targetParams[key]; + matcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) }); + currentLocation.params = encodeParams(currentLocation.params); + } + const matchedRoute = matcher.resolve(matcherLocation, currentLocation); + const hash = rawLocation.hash || ""; + if (process.env.NODE_ENV !== "production" && hash && !hash.startsWith("#")) diagnostics.VUE_ROUTER_R0007({ hash }); + matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params)); + const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, { + hash: encodeHash(hash), + path: matchedRoute.path + })); + const href = routerHistory.createHref(fullPath); + if (process.env.NODE_ENV !== "production") { + if (href.startsWith("//")) diagnostics.VUE_ROUTER_R0003({ + location: rawLocation, + href + }); + else if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation.path != null ? rawLocation.path : rawLocation }); + } + return assign({ + fullPath, + hash, + query: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {} + }, matchedRoute, { + redirectedFrom: void 0, + href + }); + } + function locationAsObject(to) { + return typeof to === "string" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to); + } + function checkCanceledNavigation(to, from) { + if (pendingLocation !== to) return createRouterError(8, { + from, + to + }); + } + function push(to) { + return pushWithRedirect(to); + } + function replace(to) { + return push(assign(locationAsObject(to), { replace: true })); + } + function handleRedirectRecord(to, from) { + const lastMatched = to.matched[to.matched.length - 1]; + if (lastMatched && lastMatched.redirect) { + const { redirect } = lastMatched; + let newTargetLocation = typeof redirect === "function" ? redirect(to, from) : redirect; + if (typeof newTargetLocation === "string") { + newTargetLocation = newTargetLocation.includes("?") || newTargetLocation.includes("#") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation }; + newTargetLocation.params = {}; + } + if (process.env.NODE_ENV !== "production" && newTargetLocation.path == null && !("name" in newTargetLocation)) { + diagnostics.VUE_ROUTER_R0008({ + target: JSON.stringify(newTargetLocation, null, 2), + to: to.fullPath + }); + throw new Error("Invalid redirect"); + } + return assign({ + query: to.query, + hash: to.hash, + params: newTargetLocation.path != null ? {} : to.params + }, newTargetLocation); + } + } + function pushWithRedirect(to, redirectedFrom) { + const targetLocation = pendingLocation = resolve(to); + const from = currentRoute.value; + const data = to.state; + const force = to.force; + const replace = to.replace === true; + const shouldRedirect = handleRedirectRecord(targetLocation, from); + if (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), { + state: typeof shouldRedirect === "object" ? assign({}, data, shouldRedirect.state) : data, + force, + replace + }), redirectedFrom || targetLocation); + const toLocation = targetLocation; + toLocation.redirectedFrom = redirectedFrom; + let failure; + if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) { + failure = createRouterError(16, { + to: toLocation, + from + }); + handleScroll(from, from, true, false); + } + return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, 2) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => { + if (failure) { + if (isNavigationFailure(failure, 2)) { + if (process.env.NODE_ENV !== "production" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) { + diagnostics.VUE_ROUTER_R0009({ + from: from.fullPath, + to: toLocation.fullPath + }); + return Promise.reject(/* @__PURE__ */ new Error("Infinite redirect in navigation guard")); + } + return pushWithRedirect(assign({ replace }, locationAsObject(failure.to), { + state: typeof failure.to === "object" ? assign({}, data, failure.to.state) : data, + force + }), redirectedFrom || toLocation); + } + } else failure = finalizeNavigation(toLocation, from, true, replace, data); + triggerAfterEach(toLocation, from, failure); + return failure; + }); + } + /** + * Helper to reject and skip all navigation guards if a new navigation happened + * @param to + * @param from + */ + function checkCanceledNavigationAndReject(to, from) { + const error = checkCanceledNavigation(to, from); + return error ? Promise.reject(error) : Promise.resolve(); + } + function runWithContext(fn) { + const app = installedApps.values().next().value; + return app && typeof app.runWithContext === "function" ? app.runWithContext(fn) : fn(); + } + function navigate(to, from) { + let guards; + const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from); + guards = extractComponentsGuards(leavingRecords.reverse(), "beforeRouteLeave", to, from); + for (const record of leavingRecords) record.leaveGuards.forEach((guard) => { + guards.push(guardToPromiseFn(guard, to, from)); + }); + const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards).then(() => { + guards = []; + for (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = extractComponentsGuards(updatingRecords, "beforeRouteUpdate", to, from); + for (const record of updatingRecords) record.updateGuards.forEach((guard) => { + guards.push(guardToPromiseFn(guard, to, from)); + }); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = []; + for (const record of enteringRecords) if (record.beforeEnter) { + if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from)); + else guards.push(guardToPromiseFn(record.beforeEnter, to, from)); + } + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + to.matched.forEach((record) => record.enterCallbacks = {}); + guards = extractComponentsGuards(enteringRecords, "beforeRouteEnter", to, from, runWithContext); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).then(() => { + guards = []; + for (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from)); + guards.push(canceledNavigationCheck); + return runGuardQueue(guards); + }).catch((err) => isNavigationFailure(err, 8) ? err : Promise.reject(err)); + } + function triggerAfterEach(to, from, failure) { + afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure))); + } + /** + * - Cleans up any navigation guards + * - Changes the url if necessary + * - Calls the scrollBehavior + */ + function finalizeNavigation(toLocation, from, isPush, replace, data) { + const error = checkCanceledNavigation(toLocation, from); + if (error) return error; + const isFirstNavigation = from === START_LOCATION_NORMALIZED; + const state = !isBrowser ? {} : history.state; + if (isPush) { + if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data)); + else routerHistory.push(toLocation.fullPath, data); + } + currentRoute.value = toLocation; + handleScroll(toLocation, from, isPush, isFirstNavigation); + markAsReady(); + } + let removeHistoryListener; + function setupListeners() { + if (removeHistoryListener) return; + removeHistoryListener = routerHistory.listen((to, _from, info) => { + if (!router.listening) return; + const toLocation = resolve(to); + const shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value); + if (shouldRedirect) { + pushWithRedirect(assign(shouldRedirect, { + replace: true, + force: true + }), toLocation).catch(noop); + return; + } + pendingLocation = toLocation; + const from = currentRoute.value; + if (isBrowser && info.delta) saveScrollPosition(getScrollKey(from.fullPath, info.delta)); + navigate(toLocation, from).catch((error) => { + if (isNavigationFailure(error, 12)) return error; + if (isNavigationFailure(error, 2)) { + pushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => { + if (isNavigationFailure(failure, 20) && !info.delta && info.type === "pop") routerHistory.go(-1, false); + }).catch(noop); + return Promise.reject(); + } + if (info.delta) routerHistory.go(-info.delta, false); + return triggerError(error, toLocation, from); + }).then((failure) => { + failure = failure || finalizeNavigation(toLocation, from, false); + if (failure) { + if (info.delta && !isNavigationFailure(failure, 8)) routerHistory.go(-info.delta, false); + else if (info.type === "pop" && isNavigationFailure(failure, 20)) routerHistory.go(-1, false); + } + triggerAfterEach(toLocation, from, failure); + }).catch(noop); + }); + } + let readyHandlers = useCallbacks(); + let errorListeners = useCallbacks(); + let ready; + /** + * Trigger errorListeners added via onError and throws the error as well + * + * @param error - error to throw + * @param to - location we were navigating to when the error happened + * @param from - location we were navigating from when the error happened + * @returns the error as a rejected promise + */ + function triggerError(error, to, from) { + markAsReady(error); + const list = errorListeners.list(); + if (list.length) list.forEach((handler) => handler(error, to, from)); + else { + if (process.env.NODE_ENV !== "production") diagnostics.VUE_ROUTER_R0010(); + console.error(error); + } + return Promise.reject(error); + } + function isReady() { + if (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve(); + return new Promise((resolve, reject) => { + readyHandlers.add([resolve, reject]); + }); + } + function markAsReady(err) { + if (!ready) { + ready = !err; + setupListeners(); + readyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve()); + readyHandlers.reset(); + } + return err; + } + function handleScroll(to, from, isPush, isFirstNavigation) { + const { scrollBehavior } = options; + if (!isBrowser || !scrollBehavior) return Promise.resolve(); + const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null; + return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => to === currentRoute.value && position && scrollToPosition(position)).catch((err) => to === currentRoute.value && triggerError(err, to, from)); + } + const go = (delta) => routerHistory.go(delta); + let started; + const installedApps = /* @__PURE__ */ new Set(); + const router = { + currentRoute, + listening: true, + addRoute, + removeRoute, + clearRoutes, + hasRoute, + getRoutes, + resolve, + options, + push, + replace, + go, + back: () => go(-1), + forward: () => go(1), + beforeEach: beforeGuards.add, + beforeResolve: beforeResolveGuards.add, + afterEach: afterGuards.add, + onError: errorListeners.add, + isReady, + install(app) { + app.component("RouterLink", RouterLink); + app.component("RouterView", RouterView); + app.config.globalProperties.$router = router; + Object.defineProperty(app.config.globalProperties, "$route", { + enumerable: true, + get: () => unref(currentRoute) + }); + if (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) { + started = true; + push(routerHistory.location).catch((err) => { + if (process.env.NODE_ENV !== "production") diagnostics.VUE_ROUTER_R0011({ cause: err }); + }); + } + const reactiveRoute = {}; + for (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, { + get: () => currentRoute.value[key], + enumerable: true + }); + app.provide(routerKey, router); + app.provide(routeLocationKey, shallowReactive(reactiveRoute)); + app.provide(routerViewLocationKey, currentRoute); + const unmountApp = app.unmount; + installedApps.add(app); + app.unmount = function() { + installedApps.delete(app); + if (installedApps.size < 1) { + pendingLocation = START_LOCATION_NORMALIZED; + removeHistoryListener && removeHistoryListener(); + removeHistoryListener = null; + currentRoute.value = START_LOCATION_NORMALIZED; + started = false; + ready = false; + } + unmountApp(); + }; + if ((process.env.NODE_ENV !== "production" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher); + } + }; + function runGuardQueue(guards) { + return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve()); + } + return router; +} +//#endregion +export { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey }; diff --git a/apps/web/.output/server/node_modules/vue-router/package.json b/apps/web/.output/server/node_modules/vue-router/package.json new file mode 100644 index 0000000..d0f2878 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-router/package.json @@ -0,0 +1,211 @@ +{ + "name": "vue-router", + "version": "5.4.0", + "homepage": "https://router.vuejs.org", + "bugs": { + "url": "https://github.com/vuejs/router/issues" + }, + "license": "MIT", + "author": { + "name": "Eduardo San Martin Morote", + "email": "posva13@gmail.com" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/router.git" + }, + "funding": "https://github.com/sponsors/posva", + "files": [ + "dist", + "index.cjs", + "README.md", + "route.schema.json", + "vue-router-auto-resolver.d.mts", + "vue-router-auto-routes.d.mts", + "vue-router-auto.d.ts", + "vue-router.node.mjs", + "vetur/attributes.json", + "vetur/tags.json" + ], + "type": "module", + "sideEffects": false, + "main": "index.cjs", + "module": "dist/vue-router.js", + "types": "dist/vue-router.d.ts", + "typesVersions": { + "*": { + "vite": [ + "./dist/unplugin/vite.d.mts" + ], + "unplugin": [ + "./dist/unplugin/index.d.mts" + ], + "unplugin/*": [ + "./dist/unplugin/*.d.mts" + ], + "volar/*": [ + "./dist/volar/*.d.cts" + ] + } + }, + "unpkg": "dist/vue-router.global.js", + "jsdelivr": "dist/vue-router.global.js", + "exports": { + ".": { + "types": "./dist/vue-router.d.ts", + "node": { + "import": { + "production": "./vue-router.node.mjs", + "development": "./vue-router.node.mjs", + "default": "./vue-router.node.mjs" + }, + "require": { + "production": "./dist/vue-router.prod.cjs", + "development": "./dist/vue-router.cjs", + "default": "./dist/vue-router.prod.cjs" + } + }, + "import": "./dist/vue-router.js", + "require": "./index.cjs" + }, + "./vetur/*": "./vetur/*", + "./package.json": "./package.json", + "./experimental": { + "types": "./dist/experimental/index.d.ts", + "import": "./dist/experimental/index.js" + }, + "./experimental/pinia-colada": { + "types": "./dist/experimental/pinia-colada.d.ts", + "import": "./dist/experimental/pinia-colada.js" + }, + "./auto-resolver": { + "types": "./vue-router-auto-resolver.d.mts" + }, + "./auto-routes": { + "types": "./vue-router-auto-routes.d.mts" + }, + "./auto": { + "types": "./vue-router-auto.d.ts", + "node": { + "import": { + "production": "./vue-router.node.mjs", + "development": "./vue-router.node.mjs", + "default": "./vue-router.node.mjs" + }, + "require": { + "production": "./dist/vue-router.prod.cjs", + "development": "./dist/vue-router.cjs", + "default": "./dist/vue-router.prod.cjs" + } + }, + "import": "./dist/vue-router.js", + "require": "./index.cjs" + }, + "./vite": { + "types": "./dist/unplugin/vite.d.mts", + "import": "./dist/unplugin/vite.mjs", + "require": "./dist/unplugin/vite.cjs" + }, + "./unplugin": { + "types": "./dist/unplugin/index.d.mts", + "import": "./dist/unplugin/index.mjs", + "require": "./dist/unplugin/index.cjs" + }, + "./unplugin/*": "./dist/unplugin/*", + "./volar/sfc-route-blocks": { + "types": "./dist/volar/sfc-route-blocks.d.cts", + "default": "./dist/volar/sfc-route-blocks.cjs" + }, + "./volar/sfc-typed-router": { + "types": "./dist/volar/sfc-typed-router.d.cts", + "default": "./dist/volar/sfc-typed-router.cjs" + }, + "./dist/*": "./dist/*" + }, + "dependencies": { + "@vue-macros/common": "^3.1.3", + "@vue/devtools-api": "^8.1.5", + "ast-walker-scope": "^0.10.0", + "chokidar": "^5.0.0", + "confbox": "^0.3.1", + "local-pkg": "^1.2.1", + "magic-string": "^1.4.3", + "mlly": "^1.8.2", + "muggle-string": "^0.4.1", + "nostics": "^1.3.0", + "pathe": "^2.0.3", + "picomatch": "^4.0.7", + "scule": "^1.3.0", + "tinyglobby": "^0.2.17", + "unplugin": "^3.4.0", + "unplugin-utils": "^0.3.2" + }, + "devDependencies": { + "@babel/types": "^8.0.6", + "@pinia/colada": "^1.4.7", + "@playwright/test": "^1.63.0", + "@rollup/plugin-commonjs": "^29.0.3", + "@rollup/plugin-node-resolve": "^16.0.3", + "@rollup/plugin-replace": "^6.0.3", + "@rollup/plugin-terser": "^1.0.0", + "@standard-schema/spec": "^1.1.0", + "@types/picomatch": "^4.0.3", + "@typescript/native-preview": "7.0.0-dev.20260707.2", + "@vitejs/plugin-vue": "^6.0.9", + "@vue/compiler-sfc": "^3.5.43", + "@vue/language-core": "^3.3.12", + "@vue/server-renderer": "^3.5.43", + "@vue/test-utils": "^2.5.1", + "connect-history-api-fallback": "^2.0.0", + "faked-promise": "^2.2.2", + "happy-dom": "^20.14.5", + "pinia": "^4.0.3", + "rimraf": "^6.1.3", + "rollup": "^4.64.0", + "rollup-plugin-typescript2": "^0.37.0", + "tsdown": "^0.23.0", + "tsup": "^8.5.1", + "valibot": "^1.5.0", + "vite": "^8.3.3", + "vue": "^3.5.43", + "zod": "^4.6.5" + }, + "peerDependencies": { + "@pinia/colada": ">=0.21.2", + "@vue/compiler-sfc": "^3.5.34 || ^4.0.0", + "pinia": "^3.0.4 || ^4.0.2", + "vite": "^7.3.0 || ^8.0.0", + "vue": "^3.5.34 || ^4.0.0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "pinia": { + "optional": true + }, + "@pinia/colada": { + "optional": true + }, + "vite": { + "optional": true + } + }, + "vetur": { + "tags": "vetur/tags.json", + "attributes": "vetur/attributes.json" + }, + "scripts": { + "dev": "vitest --ui", + "build": "tsdown", + "build:old": "rimraf dist && rollup -c rollup.config.mjs", + "build:playground": "vue-tsc --noEmit && vite build --config playground/vite.config.ts", + "build:e2e": "vue-tsc --noEmit && vite build --config e2e/vite.config.mjs", + "build:size": "pnpm run build && rollup -c size-checks/rollup.config.mjs", + "dev:e2e": "vite --config e2e/vite.config.mjs", + "test:types": "tsgo --build tsconfig.json ./test-dts/tsconfig.experimental.json", + "test:unit": "vitest --coverage run", + "test": "pnpm run build && pnpm run '/^(test:unit|test:types)$/' && pnpm run test:e2e", + "test:e2e": "playwright test" + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/vue-router/vue-router.node.mjs b/apps/web/.output/server/node_modules/vue-router/vue-router.node.mjs new file mode 100644 index 0000000..b7abbbb --- /dev/null +++ b/apps/web/.output/server/node_modules/vue-router/vue-router.node.mjs @@ -0,0 +1,2 @@ +global.__VUE_PROD_DEVTOOLS__ = false +export * from './dist/vue-router.js' diff --git a/apps/web/.output/server/node_modules/vue/dist/vue.cjs.js b/apps/web/.output/server/node_modules/vue/dist/vue.cjs.js new file mode 100644 index 0000000..e487d2d --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/dist/vue.cjs.js @@ -0,0 +1,80 @@ +/** +* vue v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + runtimeDom.warn(`invalid template option: `, template); + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + if (!el) { + runtimeDom.warn(`Template element not found or is empty: ${template}`); + } + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: onError , + onWarn: (e) => onError(e, true) + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + function onError(err, asWarning = false) { + const message = asWarning ? err.message : `Template compilation error: ${err.message}`; + const codeFrame = err.loc && shared.generateCodeFrame( + template, + err.loc.start.offset, + err.loc.end.offset + ); + runtimeDom.warn(codeFrame ? `${message} +${codeFrame}` : message); + } + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/apps/web/.output/server/node_modules/vue/dist/vue.cjs.prod.js b/apps/web/.output/server/node_modules/vue/dist/vue.cjs.prod.js new file mode 100644 index 0000000..2c401c3 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/dist/vue.cjs.prod.js @@ -0,0 +1,66 @@ +/** +* vue v3.5.44 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var compilerDom = require('@vue/compiler-dom'); +var runtimeDom = require('@vue/runtime-dom'); +var shared = require('@vue/shared'); + +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + for (var k in e) { + n[k] = e[k]; + } + } + n.default = e; + return Object.freeze(n); +} + +var runtimeDom__namespace = /*#__PURE__*/_interopNamespaceDefault(runtimeDom); + +const compileCache = /* @__PURE__ */ Object.create(null); +function compileToFunction(template, options) { + if (!shared.isString(template)) { + if (template.nodeType) { + template = template.innerHTML; + } else { + return shared.NOOP; + } + } + const key = shared.genCacheKey(template, options); + const cached = compileCache[key]; + if (cached) { + return cached; + } + if (template[0] === "#") { + const el = document.querySelector(template); + template = el ? el.innerHTML : ``; + } + const opts = shared.extend( + { + hoistStatic: true, + onError: void 0, + onWarn: shared.NOOP + }, + options + ); + if (!opts.isCustomElement && typeof customElements !== "undefined") { + opts.isCustomElement = (tag) => !!customElements.get(tag); + } + const { code } = compilerDom.compile(template, opts); + const render = new Function("Vue", code)(runtimeDom__namespace); + render._rc = true; + return compileCache[key] = render; +} +runtimeDom.registerRuntimeCompiler(compileToFunction); + +exports.compile = compileToFunction; +Object.keys(runtimeDom).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = runtimeDom[k]; +}); diff --git a/apps/web/.output/server/node_modules/vue/index.js b/apps/web/.output/server/node_modules/vue/index.js new file mode 100644 index 0000000..7a3dc2d --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/index.js @@ -0,0 +1,7 @@ +'use strict' + +if (process.env.NODE_ENV === 'production') { + module.exports = require('./dist/vue.cjs.prod.js') +} else { + module.exports = require('./dist/vue.cjs.js') +} diff --git a/apps/web/.output/server/node_modules/vue/index.mjs b/apps/web/.output/server/node_modules/vue/index.mjs new file mode 100644 index 0000000..fcb9204 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/index.mjs @@ -0,0 +1 @@ +export * from './index.js' diff --git a/apps/web/.output/server/node_modules/vue/package.json b/apps/web/.output/server/node_modules/vue/package.json new file mode 100644 index 0000000..851bea9 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/package.json @@ -0,0 +1,112 @@ +{ + "name": "vue", + "version": "3.5.44", + "description": "The progressive JavaScript framework for building modern web UI.", + "main": "index.js", + "module": "dist/vue.runtime.esm-bundler.js", + "types": "dist/vue.d.ts", + "unpkg": "dist/vue.global.js", + "jsdelivr": "dist/vue.global.js", + "files": [ + "index.js", + "index.mjs", + "dist", + "compiler-sfc", + "server-renderer", + "jsx-runtime", + "jsx.d.ts" + ], + "exports": { + ".": { + "import": { + "types": "./dist/vue.d.mts", + "node": "./index.mjs", + "default": "./dist/vue.runtime.esm-bundler.js" + }, + "require": { + "types": "./dist/vue.d.ts", + "node": { + "production": "./dist/vue.cjs.prod.js", + "development": "./dist/vue.cjs.js", + "default": "./dist/vue.cjs.prod.js" + }, + "default": "./index.js" + } + }, + "./server-renderer": { + "import": { + "types": "./server-renderer/index.d.mts", + "default": "./server-renderer/index.mjs" + }, + "require": { + "types": "./server-renderer/index.d.ts", + "default": "./server-renderer/index.js" + } + }, + "./compiler-sfc": { + "import": { + "types": "./compiler-sfc/index.d.mts", + "browser": "./compiler-sfc/index.browser.mjs", + "default": "./compiler-sfc/index.mjs" + }, + "require": { + "types": "./compiler-sfc/index.d.ts", + "browser": "./compiler-sfc/index.browser.js", + "default": "./compiler-sfc/index.js" + } + }, + "./jsx-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx-dev-runtime": { + "types": "./jsx-runtime/index.d.ts", + "import": "./jsx-runtime/index.mjs", + "require": "./jsx-runtime/index.js" + }, + "./jsx": "./jsx.d.ts", + "./dist/*": "./dist/*", + "./package.json": "./package.json" + }, + "buildOptions": { + "name": "Vue", + "formats": [ + "esm-bundler", + "esm-bundler-runtime", + "cjs", + "global", + "global-runtime", + "esm-browser", + "esm-browser-runtime" + ] + }, + "repository": { + "type": "git", + "url": "git+https://github.com/vuejs/core.git" + }, + "keywords": [ + "vue" + ], + "author": "Evan You", + "license": "MIT", + "bugs": { + "url": "https://github.com/vuejs/core/issues" + }, + "homepage": "https://vuejs.org/", + "dependencies": { + "@vue/shared": "3.5.44", + "@vue/compiler-dom": "3.5.44", + "@vue/runtime-dom": "3.5.44", + "@vue/compiler-sfc": "3.5.44", + "@vue/server-renderer": "3.5.44" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } +} \ No newline at end of file diff --git a/apps/web/.output/server/node_modules/vue/server-renderer/index.mjs b/apps/web/.output/server/node_modules/vue/server-renderer/index.mjs new file mode 100644 index 0000000..ac61472 --- /dev/null +++ b/apps/web/.output/server/node_modules/vue/server-renderer/index.mjs @@ -0,0 +1 @@ +export * from '@vue/server-renderer' diff --git a/docker-compose.yml b/docker-compose.yml index 2010c17..2ee65a4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,5 @@ -# Production stack. Copy .env.example to .env, fill in the secrets, then: +# Production stack. The images only copy pre-built output (`pnpm build`, committed), nothing is +# installed or compiled on the server. Copy .env.example to .env, fill in the secrets, then: # docker compose up -d --build # docker compose exec api node dist/seed/seed.js # first run only: initial content + admin user # @@ -41,8 +42,6 @@ services: context: . dockerfile: docker/api.Dockerfile target: migrate - args: - NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmjs.org/} restart: "no" depends_on: postgres: @@ -56,8 +55,6 @@ services: context: . dockerfile: docker/api.Dockerfile target: runtime - args: - NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmjs.org/} restart: unless-stopped depends_on: migrate: @@ -88,8 +85,6 @@ services: build: context: . dockerfile: docker/web.Dockerfile - args: - NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmjs.org/} restart: unless-stopped depends_on: - api @@ -103,9 +98,6 @@ services: build: context: . dockerfile: docker/admin.Dockerfile - args: - NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmjs.org/} - SITE_URL: https://${SITE_DOMAIN} restart: unless-stopped gateway: diff --git a/docker/api.Dockerfile b/docker/api.Dockerfile index 94ecaab..021d462 100644 --- a/docker/api.Dockerfile +++ b/docker/api.Dockerfile @@ -1,40 +1,21 @@ -# NestJS API. Build context: repository root. +# NestJS API. Pre-built output: `pnpm build` bundles it into apps/api/.output (apps/api/scripts/bundle.mjs). # docker build -f docker/api.Dockerfile -t imen-api . # API server # docker build -f docker/api.Dockerfile --target migrate -t imen-migrate . # one-off migrations ARG NODE_IMAGE=docker.arvancloud.ir/node:24-alpine -FROM ${NODE_IMAGE} AS build -# npm registry (and mirror for corepack's pnpm download) — override where npmjs.org is slow or blocked -ARG NPM_REGISTRY=https://registry.npmjs.org/ -ENV COREPACK_NPM_REGISTRY=${NPM_REGISTRY} npm_config_registry=${NPM_REGISTRY} -RUN corepack enable -WORKDIR /repo -COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ -COPY packages/shared packages/shared -COPY apps/api apps/api -RUN pnpm config set fetch-retries 5 \ - && pnpm config set fetch-retry-maxtimeout 120000 \ - && pnpm install --frozen-lockfile --filter "@imen/api..." || pnpm install --no-frozen-lockfile --filter "@imen/api..." -RUN pnpm --filter "@imen/api..." build -# self-contained production node_modules (workspace packages copied, dev deps dropped). -# @prisma/client lists the Prisma CLI and TypeScript as optional peers, so pnpm keeps them -# (plus Prisma Studio's React/PGlite/effect) — none are used at runtime, drop ~300 MB. -RUN pnpm --filter @imen/api deploy --prod --legacy /out \ - && cd /out/node_modules/.pnpm \ - && rm -rf prisma@* @prisma+studio-core@* @prisma+dev@* @electric-sql+* effect@* typescript@* react@* react-dom@* - -# applies pending migrations and exits (needs the Prisma CLI, a dev dependency) -FROM build AS migrate -WORKDIR /repo/apps/api -CMD ["node_modules/.bin/prisma", "migrate", "deploy"] - -FROM ${NODE_IMAGE} AS runtime +FROM ${NODE_IMAGE} AS app WORKDIR /app -ENV NODE_ENV=production PORT=4000 -COPY --from=build /out/node_modules ./node_modules -COPY --from=build /out/package.json ./package.json -COPY --from=build /repo/apps/api/dist ./dist -COPY --from=build /repo/apps/api/seed-assets ./seed-assets +ENV NODE_ENV=production +COPY apps/api/.output ./ +COPY apps/api/prisma/migrations ./prisma/migrations +COPY apps/api/seed-assets ./seed-assets + +# applies pending migrations and exits +FROM app AS migrate +CMD ["node", "dist/migrate.js"] + +FROM app AS runtime +ENV PORT=4000 USER node EXPOSE 4000 CMD ["node", "dist/main.js"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e68de9..8748bb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -111,6 +111,9 @@ importers: helmet: specifier: ^8.3.0 version: 8.3.0 + pg: + specifier: ^8.23.1 + version: 8.23.1 reflect-metadata: specifier: ^0.2.2 version: 0.2.2 @@ -145,9 +148,15 @@ importers: '@types/node': specifier: ^24.0.0 version: 24.19.2 + '@types/pg': + specifier: ^8.23.1 + version: 8.23.1 '@types/supertest': specifier: ^7.0.0 version: 7.2.1 + esbuild: + specifier: ^0.28.2 + version: 0.28.2 prisma: specifier: 7.10.1 version: 7.10.1(@types/node@24.19.2)(@types/react@19.3.0)(magicast@0.5.5)(react-dom@19.3.1(react@19.3.1))(react@19.3.1)(typescript@6.0.3) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4ff8f9d..6efadfa 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -10,3 +10,10 @@ onlyBuiltDependencies: - prisma - sharp - vue-demi + +# also install the Linux (Alpine/musl, x64) native binaries, so the API bundle built here +# (apps/api/scripts/bundle.mjs) runs in the docker/api.Dockerfile image without installing anything +supportedArchitectures: + os: [current, linux] + cpu: [current, x64] + libc: [current, musl]

    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�jx) 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%0AOWpD65mnZO$D3UtttcvW{)VuiqvBO&?<#9T zs-$O~pRT8}unBycP>T|8iUHPM*`RTVDDj#nidqX=n+^|++y;1KPkMRvtMr0Olf#5n z;w=FDXq_Oyv!S1SmAPN(Kq*Q}x)Sn9ChVli^`&wYvL908cBuMt;nox~R1wK$&r*+w z=<*1?DGIi946UJ_Ntfott_endD%2yT*rX7C1(K0cf$-K|d(Np!!XLYo1(489<^mAm zCPO#J=dkxv-Xu3 zri4E{d+z1x+*`3C6#MPOvoi@h-Hw4|NzyMvsr*Obi6X4t$F3G~MqF(~?z@UjH%NI4 zKg);j_1GuX62MhX%(9YHh#@))pKRkJ&w3x{bw#@cexNiM*{H&8mYZip?+xF#A2z?i zQ-s38`s%m|M5+y}$#|G=S95PfoVo){aanTNh`okC7+IL$S@w;Rg#{=J$1pXsgN#sm z^;zS#bV zdwCK)7Vg%G2+hV;H!;HOV1#3%3MMk<@CtdqoyUb9F#|*Zlqqe4qr~3UMrUJZL^aBd| z#}wgsE*tbcAF~8y2?!H*^G`YYcchhBczjqJx61wj-H-)NH@j8yt)~Y0sOwEE#73DLho4!%`F5{FcyIOl4r=4Slvf=g&I9%{CRJbw_JOUlhA^1SwX&GRwq?9xsDP$%&Bk}4Ko*Cqw3p-f?Y^67@2rR zy6H|w^vFhLhM@G!eLmkXfg#)j_%ZG zDktv9kunr4gholl27^;f-}C^A{%})z;Kcq>rr(XV8^&;J1L05e0^ugc>v(lQg^uzqD1RT5@ixxB$w|AYkqbnma|{r9unG;kSet;Sd9ZD5xqMPV;F} zm8GXD?j#`?vK*eF4=+uXBiJR1anx)P+h698?1EU5H2)0mbo&}MAr33~hT09oFJ6I{ z;Hx1=p-4p^I}_Qh!&HW6|1kC~@J&?N|0xtG zN=#6q6;Z3!wc@K?iMB$d!B$f(T12#px?S;6cTv02NL>X2XgBnnD>tzDmWSv87c zpa`Lrw&1IXN_|q_Q;TbX70N^U|DJO)L#E{SU-*1z?)jd_J@?L?J9qBfdoCVgg|}*j z11K=bgVnbWNI2m7R&9#yKmh4mair;lCdXS?=tz5w?rt9_n~V^VY(DA9ieSz=M(2U&gD*7WF!g8s z1yop(RNpePss2p*T?+vhHona6eA-JO5jxo>%U@J4(HCRUHp9yV)}cKP_c0e zCKB(LIlFMb;1SEpcwaZJ58}Qqg^ejIGf)Ov7w!u!ujb@ly!x!6q`o5!1MHALb!C7U zq5D$xZ-CU+G=Nls^cQjS@mCGfUo2g34qe?BY~zT&P8whKeSn#Mt@^DVurc06Slchq z`QcEm-oDDiuuMT)+$yuf?akU-`*2HxwSP$Es6IYN5{^f}<7W!T2NM> z3C+neC%7kNW)=>y{K$W@99(PjAM4YGXaPE^29E^_N)9E!dNSrUHc}N*O)h1Ao5=W7oi%9Vmd!539j7-`|8JpA~jM zsDOq3n?xuyVMwrL$lCn_D5%_z`w>?zboGhqOec;bP%jyVg=t^~zwHE9otdf*!3k21 z<(Fis*NjtVqTg|k%c2+hF@r+|f8>*-F3D_GuE^?o0YzxJBx`WjQ%GRm?B#rXR?Wc0 z9rP@voY$?@2Q(A8*dSBs!{uyKtkS?m>=uJ$u}fGC@)sgOU+Vj4`0KbcHAvml04&H( z4I0mAollK&B@;|dBKY6&oNF0)*+b&EZn9R|32yz{?Ceuh(z5hrin9TG<51FPqxQJ2*>R^mPa^X%e z#YPyo)WINwWU-&d#U1?`i9@P`HL6l} zT)4+gv9N(l9n3XI7MsRmFm@dhhg1hS$pn)*>NHFbNv4sk4!$0n#D`?2J#3ol;9N=_ zsDn&{>KsQJ(+($&QSet=M9jq`&7JGulVC-Qe4yhg7o=h;Aqdvp*_+%Q%>fq>P zg2_zJV$)OyGbnYS9o%e?T)4|ku>u2^I&d2#iygyaFm?nIhg1hYR(c$ZQK>R^>Ya^YSu#hx^9se_O~ve;cL24lA(aY&AO zk_jerbd+KGsAL+++QHB6Bt9fFUBuN(bugY%2kIc(Ah~cOO);l|OC6*bB#V7#IQsda zI{I2N!DNnx4buyfX(X$I8jzW3Y(^OunQ^)b)Xw07j6Sl^w3+I%y2Rf z>XHd2^I)c7`p#q;$xIg}6HI1$`nkphzKK!?F7RZ75G$TB&&ntlL;m>ota}4ZX~4+)WP8f$%XqZ+Ysxf z)B&+C4U)xHvl!~&O(YJf4jxD*n9R|?8m4bbrje`;@{$QAGo2yr0JA3PbU0@^-SWe@ zebb}~zad+AJ#;x}Z8&&b?9F_AMAtCToFIheVlnVy0*?)xoy5S%1fl*0_VdL_@Zb}< zjFw#1CJ6O6@O%P~J$N#S0VP4Gzk%rqJT|Z>iGeu@Lj4U)OW?7A>yj9_I66&CJ6O6(4N3!4_XPxuwLtB2}1o1EJ@(8fm@RpxH3Vg zzk%}-cx+(ZIR|_28e#Er_BZfI0*?($Phy}nL8!lhaS1#&aBdOH!v`P#|B0x zF>rK(P=5n^&OT5)Hn5F=eplhE1fl*0)+X@SKs1Sg=Msea8&DE>Y~a--2A)U|>Th69 z0*?*sJnP^hd`sB>aT!|@cx>SJBnG+?g!+5%egcmTe4oTXdxB7Z18*eo*udl@2F51{ z^*3-z0*?)h9?f-tzBq$Y2Oc@Y4U)xnoNkD9QR;x$=LX4Q*PCKj8aO~a=E ztrsG3NaKT1$pn)<#J?kdXc+!E5{G2^wPb?HOs5;B9mzD34LyGRLlPg7nGQjay{=BC zk<9eeWP-^|PcTg9CDTY|+L=r+ndxH;(?=xJNM`znQxCC1-h&`lNOLlcWTqcaCYa3Y zxrXVgWE#m#Uy)2OndyrS)1G7+$xM$(CYa3hUVLZe3fYdtA+_uE$pn*`&NfV+mP{j= z*ZWUN;zKgiry8b59jfUahibZs8y|JuQA!=?@Lw`W?rIj9Vyb~l$MtuEWU*9JY!6+- z1J=3?lEu~$#T|a5fs3_&8zhUpV2V9y;35_>NEUm`6nojgMeH92$zpY;*nFzIyW12iH*gWV)*xAIvME+%;39T`L9*B|Q*3~Ni`Wjj@>Gp1R>SRp zF4lbpE@IOSlEp4I#l{)9h@EASEJp2AuEOyKE@DR*B#Y&mVrLt;h@EJVEOx9Z<}h#( zvl%3d?LotoOnWGGpoM&6kSun%X)VQ27i-%sV$)4)HyOByO*Tlj7BaZv9K#cAe6bK0DAgfiSmn_sfA6bcL2E=pG?XXu*+%f|vK ztb@HQTb+@sHv_}UBlW)gsfKcz{)z}X_2(s#u0P3%vHD^X#|mcICr*Za>Oj%N9wo;P z$Lve8ZgtG)Nx9YW=_OdrexFnSbKC~2VI7^28RXXFbp0YBv9TK-W$0tbKAfA8WwG}^KxpWy*al)U1K!aG8fgPViD#zg) zzv85o`hl%yrSNg2i07u9c?AW`{9wiagpCY6n12$s!r-jiK{#-9<}WKs(y)pPhoe5P zt-K1+5JOk=&E1V9m2+lZ0Ar1IHdcOy7{gjpr5%Q0?CxbSMIk#)Q_rk;97`G4RB&Y} zOxb2%f`!?oFoAPw<7zXUh?7XZ`EUZ~yy>*wAn${F?7q;wIGb(1W8QT@9L^Mnvj|79 z1xU#;{PJPJm7TCRz>k&6?zSOhFDzx+KEvS~H2o?v*W#FWJTG6EpFao{lGlXeU-Py* z7Nh}OL4h|pwrI0<2{s`kNZ}P3p^_6(`M0m9&2CsT;du2LY$=?BO-vtAV2WX%0LHqm z+1V7^bt4k_JN^}KOyl*N?0iMi^lK&I)Jr6hu3sXF4E;h%s9SiYV@_P_L zYMW}{2;0agVw8gbi+KYpp z$t*O}Ds<2jzUyiTl<1L*jPawrcj%+`KoPPPxB6M(0??IqMKRVyc z>2OIRrxc_(r_wfyk>q7M*D7>yPDetZME`P}nbSr|BBxfQIH#RyhyCx`+h`R!IHw2% z*xWgvIR3Y}!>mFFo9p`60mq*`P(^iS6+LKFQLfde> zND_|UhZH+L3t9fpJEPPpbZ}1R8;)=K;t(8v#VT~Lxex?O^xN`G$FG+p9KRB&5`FrC zw)bbV?OlTukMOV?3bCWZh>eZ4*TeMvhzN=&TPdP_^FxprdKW+}79U0g3XHnxeDkF+r4TE^fqfHY!iBp8xWGW8FD*Z^9r28qOH66aLx-9Qw*^qu4w7M7#DW>J8sn`aiPRF(f6f{5hT^i!(>Cnq6(&p2^09y+)w0yFJ-L42X zg+wv-zhz!UP&RF%$#OiXv#slqBfjV4<3RF8a+)NZhz^tKcyKvLoGG4Rt30m+yGU0! zLGzJ5f3abMem?CCp>45PvX8xZs8blCO&gWZOI)w+lX;6jZL+I6pi6a6au}38hnOJn zDX0&iz}+6ChoL(8>_bGvr)`ZHbeuvd?f%U5Ve4x;e5>H~@Z@Ewo|lQG;=L(F!7s7y z7;Za*&CafT4A)@4*c)thrre)-W|y4?b+<#?hAks#2-q3@^jfbnao}tx;!E3xq0HES z{d5xt*Ie&arlfiUx1=J1*Mot#huW|zcN7M5FQcH4Yn$yrI40W(WT+@_E3~}oqty_j z{R4C<6W2rEwSo5!&?P^x6dEn$!1m+4v?g0y(t)v;w(xo^52oe0oxP#yJ}l~AKydJf zPA@j+=@%PJ7fnWvq4fZehg_hR8J{TeL zC>(_zJ9_|f38t+XjD_mWPMls`jPOyRFlpc_Q1tmvy3>4l>t+lo&WrKO1>*6Kq}>qe ze-OoAZO5_8{txK;V?zD;LQAsFNVQF-_ny5g#?xg%%>Si1vDWH=*&hJHgklX~mOLAKi93Ag|)!N;%wJN2;OL-racy&GwFYpgh zf5z#sLyx2otetqn)Tg3Tz?;uuh=3Q@E$Ula6x^NWe-Q6F`Z#7+o=W9V5X1zxUVQyN zmxT%uTq8&SJRNJETu}RT1leQL2JN<&LgX(`xm>GWUjZC;5rcLf6-xb3e_Cvp_%xjF z6K;Etq6vNE_fAB4CUZP!G*JBl9D}8Wdy%s@kAM6lF#DkeY`CetdGdpBz24xrDF{ee zF!by0L1f@aL@KVdd;2geaH$&4oXa)DQFABqo!Shk?ys~ZRqM!^-r%0Y9M%6o#~$1> z%u#*cNtD2mRC{x%{$1YPN1}g-p-jjdZ{p{EjcP|MBl=MnHf$ynZ$;@RWWR;MB{8O4 z*Pe3}K=)FS>=2P-z9PN1I+=23Gqt2m6k4x^g1V$#s9Sa&33bn!FG(Sq%b@2vR#1FQ z*`LPt4xbt+XUZLADqJG!-V45m`-tmwB%Mg8hHavE z>8V`CG@(wof+?p^?KhCkaF}hn?0;gaPN+qHXR2PPOMj-i2|GCl*J;Oc8M2siZxmm$ znezNBz9{UO{e1ByUG!e}vR)nY-1jgq8kI6EWJ-yNUW4dmh~7EflzYUtiOT2xN%TsY z@{FOgELEk7Df>jG!u4#$b=Gm5UqJLqnHTL4Kc5#pohkcv(Q6RBZ!h9niU@V;4_x*# zw&J?Z&b)G=vfNBn2zBF+EZHMow+&}ruTVSlh>E0%FE5ENPNqCf;!C;s;-Ireas9;R z9Y1l|tC;7$oO#hYraZSXrPPaFK=cAkxu%Wa{GyWI8qsT${DytPb*3|AKb5JlB6_ck zW4#{H%Vu6Qoom7~OZ2jsvTqQ*u;@McEtkEW^<2*m;j(uKbr|(OxCe!LN7_=h)UL|c zD4Z+Q;{`04PZTb=fII2(hum|;ml6g&kBcu2?cC;nVk#14%H6$10*-^u#BKhRSTuWs_J@pIM zd?!n~0w*v}7izGNsUA?pYM@-e4JF)_C``F0u<2-+DbEiGZ-!#(I4=#45rwI6h3Gwe zA{mRMi{2#WMKeV2zgt<4&TWI<0y?M(U7qNR*7Dg=pA+oxgX6Ey}hEBD|(YQQx1_*(W_=EoGp4ceaS7YO!Qu2o>C%yekqa> z=DA#ZxQ#@G`tmleu9#4BzG7a!Q2BjK`GorKUs$pvPMOtKN|~sUPQkf;L+*cZmeC3Z zJzt4CHm2;(4lYJmx|NHFqAL{5V8Anj*-AuuvKK@+pDFjq&qy`eF8BSr%nR$1^Y+7V zsa2(ndG;KV_%cUkS4(ECQv7x(Pt)*B|y6gM5SYEH36RhpPE32^iS^-phg0G zJG##ncYEYE-XaBaGG(7^I2g(1rs{6vAw#sDDbKw!fQWG;wU3q&NDq%{++VQSaJgjp z`B2I-8epDhwqZ7`NSAP&>0++{50gAsM7jWLO(0ipnko}$5a2}}ZJt`Nio`)80UngI*Y^FSaCW^9GV$wQiGCNYnlshcKJ$#KkFEOPAn6fu96;>q6 zlT9De1z4YE6s$qUG})#^t^hxo5^bEDYqklL3-Ckk;V4JALa1v@cCWOV^<$WA6L$L$ zDs;rjJojbddA+pao5k~NrtGtbqC!Vv(vTO4a0yeMO-zLq$>g?d&Lk|>6Cly zw=HyGBNa@!-BP45H!6=`ic}_g`v-ILu!-IunHR}mN%!4EaRGH{(Dxq0KJ*CnE~zrR zN`M=VVs=2NGfj4#wB~}tnO!f`9VR0Lc+Xk(9995MN47WiaJ_k*TmxtiQ5f`c1i z1P8E3F`@1-*&T8x*6(5MPNB{-*=g*FYvAQlT%m3=*>!Tu{8Ys3dZ98*c9sC|77{xe zkvq5iQ@Y$rK2!FyJTIL`CsBCGWs{yDn^YPk zgX_gH8&mEkaV%FPZ)2Vk=B8;+kuJZDDfguBsP3Z~OnI`HQc6YgYO$HmE!dqYkC7^- zJbxCO5xy?=X<}1n%Dw1YwwceA=PyhtRU&C;DpJNJb$^c-g2=s&C{+n?`65yLAXb3u zVYC{Vh`QldmrjYc{o*E2t0;i~soxKo55VoJ#+3L}4! ze3rp*j49WTH2w_Py9f-q-S4t`IV&g?qHqa=kv1-Zy^N`Fo2cJ#DXF_(5WNl-@l2oy zv}i)2a4b{dc2W3+nh7_B5&^3DO~RO;&@ZN8ZMaN$b*6A9+j5N<$!uMyB6+dtAxe$d zMCVM>3Ayk5kxNp_lAhsADdkMr@0Q`F!jxMhitn7T2!A4DQ=QwQ{ht(%6$5k;zLBYD zhDfF`WlUTQJBFN7szmRX80$4Kt)9$~m4Xr%=l#vSgU^bKP+TQ*}a}@>izn*>oh0?-^Gi-Gd?b zSn)GUZltT2QnHz{-@#NwksE0xQCw|xaxbMeQ4y7>6ytcNA~6v@kEy6nI*uSy#>B@( zl(VXoGSA*bJZ>N9;#eey%atM2@&QKksb|YBm)UnT2(bNJmX8Q^o+)3(_FXTVK)C>? z{(TpDCq7YJ(kBBRW%VN3&5IX(D_o0T{5lXv=C?$i0@X0!w z&afwgol|&7|Xkf~-kSRsxLhKDpg`J`|9z}#+8h3>5 zpF}U6DbJV{+@5lovQH$6uSUKIPh)npPDWP|ri{6eax%+R7M}}w+5~tmB;-2U1Txs1 z%Wnc%0#r=lI>{yq)76}fYxD0g9I`*fxkcJ!^tN0)X%|mEWJ<|m%06nP;dZVF-_^o( zQ!2vGFr}1<@Fz?~N~C~ktt1(aFwgZq<*Y_KMei);DHWnuMidt}D#AOjVc%myeYDT0 zjeG&TWQ*l}0;El4`4XW%H>;vls$#7P=px}WfQXF&_lfLJG%VfCmEv6nQ}!CBA`$M$ z+)<{&RbuETDOEo6JSX7zZq#+VbT=Q0UKvyFi-<=)M+0)RzQMxbG%@soS)@AY*0{d7 zj9CJ_V@gD&OKmg(p8y+7phG&FwI)z5K(+xWJ#yRsM|^ZL<-Unsie}6G^0^FK>Y1|h zs0QN)xwS7LLwIMF`{itwjP~$=$+JajA;6S9Y?M3VWWY^loYS2vhUS~sHeG->O(0ip zvFRqzAixtQ5TEn7+XQ-L$o85EC<0U&K(t;4TG!xPA+A(5Q}zm`A~9*VDpS!iraaFu z6;2mJKkcP*D?NPC>@SO6K-y3XQGCT3WX$wOBiC@Q09~Zb5^d5jt4yF=fFERzphBog zCc9T!$$FV1unBv^9>bg>?3Xk6EhtPBUh)KdfTTj6E7(`1UfOiIc%IFadoEMan6%=@ zjdCa@4A?h|aHlk6qe8^GXB20dAyk&>QG+zvlhTTyOVQyvid!gs&LLB?t(WPO5x?>!dZGx0gGndZDg0*=Zs_qL0~5p_+OP z?JSYsyOY`3LVahleR3mg`;YW`MB$^OfHfo)a?fM8qcRENnJ9&jNf3KFQ<1RTkKfUY z9{C*2V8FAK09A>|z2V|MJscJ5cW>t`V?tePdK91Y2>#6M_?*YdCObao@tcP$%PDgn zlTCJ=++3gKF}q%vZl4zVNoOu7Ha9b2@W?-b8W9_T4f zrtE){E<7fBACn=x%rehiDMP|~ZqJ@)SW@X=%09;&KV~!F{#r6A7vTkxNsJq_{dn%? zBE3wxA7)Ldz7Di*OH&mxgh zQNNdsMf16pdM=TtMio=`YRM?V*UUX%GSZpyJhPG8Sw2(tKQR@l63J0aMa#I{p3ms6 z!#fO7Y9zqEM5FkjS&kJQ_!bhff4d41&}mhmyAP>@)>_Pe8(_#CZ6uzt(gC&ji6my1=v8Ye{L&s3dIlVyxqFI3xl zsvBdl@@rHjk*JhmEK|{# z=-tUwI79Sa-oW|!q|10&^h%j>cZyz>bP~Houb!>AUgj^1N5I_IQR8(im z^AD!N4Wf7dDO^htp`Lw*%U;G-T(A9ysdAwjj%LXUp}t(lydLp7eLGXVLftTu%bq5_ zOc7t4Ot}^DrCfaZM0~M{&F&VmqEs=@zDM-xm~tPrj7k)(7rl#_3I~{SE&DI)MJ2x) z=0(~hzo_WxOnEkno+5g#0A@;i{9Y;vY7JR!;~@OF|vtE+s=BfJvvhz zLe+A|W3089z*p0lTo}5SC3B^&$7FJS<`bnVJ^?G=g-FPL7Uvf!VbEPBzBEWT{Ic*m zm~vmgI9{cstspSp#4ngLOsvxz`{L5VHKQ!9vtj~=fVKCsVEHEYh}`#CN*eP zSR~A_J5wgQD@4=9-{7M%1L66FC#;opF%Xs+?hMg8S7x}YMDO)1ayTke4W5w=bY&Eo zYOtTnR79p4+_y3n4v5~@FTl?QHvparTCW1pgY7=G+(@lF{RYWILZDJx3&yX zzhE<6gh+!7nf}PUXqya~E@Mh*7roh{mnC{Fg;bbGmgv1Ldby%EcsbWvsp#b~WvsXO zlH64zWukW@^P(l<=R+bHVV>(ZT1cXXqe9jBxbk8`?Ow&ae4&GRMC5|-{n}IX|R+>PabWh)yK$ZXcQ z@k0~v3GlTEbVwid2?6*dB{%(d;%*O9?!`<+olJSsXkbD9DB0X_?XzTTQO}h7Y?+;s zsRqv$8HM!7NGdF2nR3bU+b+s75|DA#xrSL|&f*l)#a`(w9w&LOh;#wgn?SDILID$K z5a3l4h|fLDH-TQx*0qiRynM?*><%ueQqRK+d(UdRppk5*+(XyI%N>nL>pYPFtdn8N zp379EM;gu~rlJ99IDcWvSZ^`f^dVh**r*!?YmjkGt|^f#z^|r68|UVlZvy24c#q|` ztqP(3WU_mu&7A6DwoTX_KT)9-C-dw(q?q;6iie5k*-Uv(C5kV0Od9f7W=Bexa^Dv( zm}JuIbQ$!?PdJ=w^f=9_1(;_7s_w4(?ovuugrD|_4N;i@hp+Q z?AIB1Iz%dj7zaB2x|aZBlrdYH+V2ii#8s%MDQ-FELa0E0{9Y zTcmE`EK4M>t4xog0(|x@vtvT}O?G_l;p@+t9iMx+&}7Hw9{zMTU(fj5!(Ar3PHvft zMl-u!s4SBmpL;m%55$f{w5JycxTi5O%}<^6lr~*Ez^v zPQTZ$bzHL^kvQ6B%*K&3qeyyaaLogpnC{b-)^EU;sG48=*JA$@hc5`Zwyv9q^Ca@+ z^humo$zXz!olV362&WdD#G)wq(qHY^-@J8-MZPj*cG2W}EaUc{9);{irRd3a!z(49CL9 zka5n=VB?e6>jkN01Xg-iXW7zhYiNIxUd)~a2`BGxT&593;ZKHlx}AK}L`Drd55qQ5 ztx?LpG!~^DVv9KN0!}sk$7lO7sk1B_d#K2#wcqT=2Bpe`&CYGI*&mW3e{jHxQOM^EOH;d^fT^j?eIEwGU4#0^xTkAkj+z?qwbvg&GePj3 zky>q-QtK<7V_&CA^Z#{hE!DPvT5x3*u7J&d9X9i=EJyPA*;fQsW@EeGK)>Cm)l!oU z-dl0}?7ZO0thGaJa2Oh}w#@#8ihxe_|Teu1ce5GT1D43DD zX9c#q+O&CTPBh!ln((RECm4FY^N7JVY;g^}t~jtQHZ-r}H0;`*SDJ-dnil}1&T9wa z3(ZRhgxEB+JC-+5b9fx+wL!=iswE8yrt^&tTW6ifh>WhxMPXLFPSq58T}Qs!ylS@j zG1=4xaK@3NAafMUL<6H!AhQq1j_31hS5j@N^CI}G&9h;ntU9j(RiRg+)5Lv;696}N z4aL_2>0+-ms(%WzD`y8Ax$pP;1C9L1@J|mmj-nVt{-MFf3`$g9ho?bZ{AqAW{AsX; zZZgMmA2w7;-|y7FT1Pj0|Gxk0XAboJFGop2Y^h7zZVV>Cm7x@`JD@g07}6XQCvb?!=~;5IA6LwamO~cYZv2y zx)PO6I-j0div9Vic}uACbksbA0^r!uyoJ>HVY??toNJBiwVF05PsFCvK0MOVK&x*9 zt62STqWXcpH4a?`hz|y&jnkXs;CKS5wHK>D=}mEPG}*2B!cn~h44jLX={=kdbH$%D z`ZJ9FIO)#_`jbw7MtKiU@gDAlkQXvuh)!CAxlP@l7$eg3n8vqtp!PYcdU@AID&oHeS?e;hW7 zceqk*`ai1%+q^9`;kBsGoLCn&N8?1cx9dPsoT4N2>)*jMHddt85Tp&u)aWGUSKF{l zmLead>0dVQ?Td5K<2$O|FyPDUpaUn1m-iI@W7KLVJ`0}>h-Q;yRvHu*g!iLw7G{`Hk z<+{iTZ5=e}d_X!aq;n5+dhUJ@LPrGZ6z58}2ZHFI*46~r@%X`0j810HjP^*d1Y;(*z4w??9 z9}2_YB>N8MET~mE>FP`MB3waDJxo#!BKaJWUA4F&qx={f#OGV~+enYo)AE+k=*Us? zXSy&rZCKrqxA5PLAmEpcVp$a7+}x|_ltT=sv<39&Ezs6bdsml?0inG`ja^;x9PTEH z$6;0dkOWEd2`P`SXg}y?jbQIu- z^xoMQObFbcpEAVjc%*4UVB7>sv=$EC92n0~;m|#SIm~UvS*199c>s`twBfYnevP+p zU17?51u0)$6iPj}TR}}=fR3Xg)g6=c`=$-G=>=EfPY3 z*s&O~1@{iDOv9;vU6XE2<>5WvI_$02pJSufjeFAQ9b|XeIT+s4lYP5m_yQYVR z1D|8UHmEfDaPBbH6)C8`m~_rxb@? zrKhMFIYM4TCdvDU@iLP58X~U+{Lyz&*_A066D-Qa>q&9w31tX+(ycquci_m3q(uM3~l~`qP&l0AX1-JK(91;8)&$I-esg?_(=TRgwEn7XA$~H#NX3= z!)VCRcK25+vS9&zWwH8o*Q+S77qL|Q*BC}ZjgjjqEZ*+B-*7mWvfa=!(sekOT}8Qs zv;g`I$MB_Ll0!5R{5Xa$t7okb9P|DT&*EA9+I=O&Z)V>%QUt$c)tuh$n0FO-ZH>$e zElV2?`@=7AIIo4v*P&Z%A!)4*4-@VP|8T%20uFl7&IaL20>XX=y1XYz!F?yPCK5=H|rf)-69n-gIPa%dX7$3dC!6y8U<-s20&xiFQ+Md<` z7{9@CC~C`m_{)c~;(fa{coirr0orLWmipMP-8koPy}EtVw|VXN+Z|c1hW%$ldjE#* zpX4A{n5z&2d21mWECtbpIR{&?F-p1L`)7^w!<&NIj`2R_wrT$+#G%>Y-Sl1I=^X{9 zqyLVnYYSA)n|kvYj$SUvYnnYf*gJmCz23YH{sDb0-n?yIb$fwY9lReV3LTfz`M-rJ z?cIowYduHEDWv!&D8i;m`JGv03SFZ{N&N8bCCop$!qKaBi#Y25j4No97 z4_6V1hVG455nLF{t>^v$Iek=1lpEL5hn8B3b+1r^1;nFTA`_*UNI><-OJY|gDk-?8 z9^pZ3l@9GKx+U<4_6FbW>mH7azTi12g((~RKEV5x8&9Kl2&vofq?tHv?WWFM z?Q1)6ko!hF1@P9jxj_AV)3<%=cYQRpX@a_V0a@<;K9Zs=$ZWw(lMxN6Nc|XR2mi*= zEo1NmintUWt8SmFQ{Ewj3Vd{y+JwK zA9|g-q;@4pp!Q}u6wqG{SG5w*CV#|mbRocu1@JYu5W+fw!wr<2Vx+N9LYfa{*d}$9TPWeg_$Z-ntv2t ze-GD!JFTzH@pdd!lH%h* z#}ROqhA;)C=b(zlK+?;TPnakx08v|WAque4hF3i$SOLJXyru`mJE=_#mI;{;fs@)+ zWKabJZ)P1Q(n|1dq=RpdK^oN@oWY!2P#E_q!Ad5-q_!IT8>c6*(w&^%#`s;F-ooiS zINizV=}5!pTM$g@9sQaYWUl4!P+#!?{;Z6_S>kxW@xGCQ*R`4(hz2!`U80na!En_42ro78lw&FK+LE&=LAY zEad+SdG%My&^DZ`WW-%}>L-gp5efVYSH7RXa6Lr?vPeLsED|l~-#y3S?h22^tH}3u zZ}6QXi$lxmakpYTUmWu6{L9(43ANQ{R3Xfk*RlM+K8$MT*D${S}) zf~;e8BlW8j9LpDOZoR`;yNHL>ZJzlis5ZE#WFx}so9 zc9D88RA?PArk+c&L!I1|1t(bwq7!~EAS(w_3i-V0E_Dm_rJhAd9IU791 ze;8gtFy4R+Uiw#M(tvZtAJCrTaqs>^qm_*~@m;GK1~k~4>K{PE2E<)kgINRZVqZ~c zaprV#zX!(PH*VOfVydhqbT%1<^xd1h&ukB z@BkY_kgvj=KF4s4R2|MMF$6Dh7O0Cz8x3nL!Q+m*Cv{wgzl6KI0(JMM&Y?l#Um9Gs zw;sPXzk7B2kd*i*lG9(`+lM%0%;72fB5hSBkHJH(3l|#S5cKEJ%KBQ1f_)kOB^dci zK8^*aqU?o^<*U8;Ra;S6=@Yd#GO7L%V9@JWeRZL};o%f?0@n_@dCobQSz4Ugj+(@) z*qJeu9GAPPNE?w!bwW61bo2jAm%b?7hk?mS{4xjSxpL>I?b*~>vwpTSuW1&hgT1Pt-JM)v zkk0TzkOrF&8lkpq`VmtZ!$gqKZrrcSug*gODR+JQBT~LIuQ~_UeQ~C4lrOK{F#)kB zs~Mr@Qj4{ic!h8U-+l+q4)hOe4R)Z}J3(}xL;_h@JPCory}?zPG_`BTah+|?LJD@W$&SBpwJiYs4AOr+u1}o)`hPL?W6w};RL%O7n}X*Km4?62`A3jx zADMR4yotYEW%xr_nqWJSkz`3OQ%j}^aT0d2jW#i_J97TVV~t+jLT;v$ag2ouY~*>sycmjTr?{|v@=n3 zAw(ylf60ZwLh7gr5 z6oYCwgD7ngJrZzN(3Ajr{_U6~LF>hwQM}*4Lqi@DL3vDYX9AEYJ@5-=8ET?7XO*?PN{1PVV`C$ zsQdYzezhkvX+DD_1g{o)?BdKy%qY%rc*i1sEu{t(R{v62Dc9i$e>$Elt1{_JwZ5}) ze;*O_fm*-o9T4ctsWa9~zDKhFL0_NM7Jc%n{Sp@Wr-`Ts0`&^)DyBZD8vBsx!mS%OElzD?E%jVo zM-vr*hv-KK`ro6B=o20lo+e5QwSQ;we1KM!Rp5BFTmO0~HNYoXi2Lw~(|)08n;F1y zh6jQviveG-Dhn?v3D2$`^}r{n(f`=nR~&K=tvws#us-UKBrfQKJ`4j2^MrIfcmXK# zggzKji0GW1nA+aroA!n8_Ak=hsD*(~W~Slkj*r^<7(DM5b>c7LQ}+tlm$-GyFU=K?fsFMl_uc3c8V?R{+He($c` zn4?L}+coP%`leHzSq+X)n@a;WpE{TCCv`5}K?o{6tgmtyX3~eztwKYg+M0{#>Y=4q z!l#$xRrc;R}+ZdI8-i7^-ogZG2q~G=avq3WNy3r#k(F->4&5 zbpnk{e8J{4z56B9+T6YL?%@BiNLyWjL{aD!X9|LSe=#xiLOo^~bk7s$CbiY+*x9A8 zgaXoOB(T0neUQQD8C-ROf^mUfMKBctI z&&PLGTn;=d7qc??1b5IE+x)LU+6TUOO*_@Z+xTPCZ-GDbkoX3Zz23lTn$1YTWYC@S zdmu@P2YX4yv3x!ayJ@1Q4O2t-D9OBiBm`_NUKs$>7sBB818CIg?Ry8M%EqZIg=1eK zTaM5kWO!-l%<(?$2B%NGA&tK=ehLsRvhH?-JAbtS1=SkUDgCUZeUx4z>2gYIlnym! zPL|^wA`Bwi7|gF`M2PCH7Hpm*BM71nC4#krI?q$^4Q-3DO)=p20GJIeo|xQRRt4 z=Fj^l7rTz!$`_@2q%psWAoGll7PN{?t*7xiLi5I81dkVz)PGt@o$p65R;(@}DSgk@ z-`Vw^7xselMKLZd{yXtSrf6;}HMOqo`1GxB1RG5v3r&LV-ucuv^i=?A^riUOFGDV-K zyQctONO8+&P){}lABuM$N6ij{WrTw-okA87;hUaG8NRu#k@s<9EV}oWKCBENrJ7$V zM=&pECsyVY^P9bWecjR401u~^O*__Tk2<_J&-s!uWH)6}{uZr?D1NbZQoM%@IN zqzY8%t`us$8m|8n-UqHmC+HtzcoPNusI_h<#P%H2)s$F8ug$up{WGv z#ao+yU?Q`2{$J52D?z$`|h7P%<0nbML z_KEb)i0j=NNXJ79(^x_VqY}vcT<}H&^`nBl_L;*I1j)(nqp7JKIS0>K7{Co#fN>~{ zFi8)8Y{dz=j%Xf6_cm@~3{$JH@RHeJe192j(U2X4WB}|iu|uxoUZT~h1n~;iIzivG zqV)-;YL^Uysc=IA^!XEb!XlPM0#w<^QhEaP&5OL+x7UO?L*94D`G;Js4aQ2@G+8=( ztJRJ8K1AEg7MEowrEB}YEocT=h}&JVhMg%*fc`5`c>=VO>&OT%)lA+VsFx~n=mz%C ztgS$T`jvH@iIM=dKhE_MPJs5k!BTAr(6w(e)Im_lrM+Ouw^PtrR&R7ckFk2wBj}{1 z77M+CUSvgWw0<{UJ*8MshRc_m0G+y$As?^ub)9JSsYKA>R-Z}*U1~+k1oc>RFBkM2 zD_TKl+^3sgVFwySa5+)T!G@#+smq_IqGDON5nt^rtEX+E-fBhL1>J3JTpfaTThUHI zfBToEPSdCjhg_SjXu6=svQuUo$uQe{$TgT9A%C+(_Iayk*@E6>wVNyGpRH)Vpku9Q z-N)?N@m91!(3#I!N)ZwCcB{WpLgQCq|AG1y*?#>(o1iaR>#SYSwbs^|CFrwOG*{5j zvlh?t1-;GcuTRhvtG^|L#{E5yjZ^)WitJg|+{y%9Vnus5a-H34MbkcF^eC%mPC*A* zJxdq#X)Br`=y0puEJBU?<(q~4%}zkuUgNf}kXv!VLCYAb6HlLh#!_4Lf<9#Rv_a4_ ztUg5qecyVQMg?7CMPq`lx3*CqZ+dVowW6hhzWGm!XJvvewE9~v=;>B}D+ImBYPU*I zw-pVMS7W6IOo}LETo*!h$Ze+N~3Gt`)5p^b2cyh>E{&ThTT_w>)j}tXtK87jsp-X`$07`6No!nc^(kA>r>s8Z3VOcPr~Cw? zU$P5y=lMi-lhvn^1le@)sR6I!hEI=(Pf>zGu3i7I)Kg5*E~}^UZQ?DT}2;$W4GY%Fx1>0JUGpJ9A6KT(8y5Qb8ZKx>=T>{4z=A$P{=jK>WVJtuU51tL4AbEuJk5ACE|)L!Ic}u zmC^*MPsUNc(Q*^QTN$N8uFsybT(v4eXIOm*n0g^sSbR_tpp9V};Uz$|%h^+%_L0Xg z*2iOy#H34rH^Vbz?nw_>eMl1@PP6*pOt8LHd`M4#t`r|K5}^6w1Mi}z3=!c}N${uj z0=^dUt?t9EKE(ICFSVle3F=BMm#`rL+O$yK00;`X7Ft_#nT%A9wYKJRL6=$43PB64 z7JB5l{h_t@>lO5Ns|A}_c*2SXMD|px1x3&`Rx~WA*J{Bj=)2ZFC0)>4tQIl|jbHo$ zY=(N8dg=WhvRY^m^bD(oh@ih)(QH8%SS{oVdXiN(U(jYN8k48MM5~21LgW5^%PjJ@ zU1U|Og%UxJvRWt=^kpkrCg^Qe3!T#AZnO4;x}ciXLXV*Rp3@Zxz4PmAhWxD(*-2Il z0YUp+H=CeStUja(`l}Un3VOQLZkYO=kZYN>`>YdmqSZouLLark^fyCfueDmp5_E?Z z%@*{1tKEF*FRro5`UKr(MdKTXCtEE!tjaD?i*L#|^CQGD#pR(3YDWP$HN3#O?+bMnD?N(V`&?l^Dg`l5U{jCzT zU;DKQ`jAyNP0(|#cEi%k-C>ojBlMv9%@Empt+H8y9%r>1k)EsHI3+4*zwutapgC5% zK0&*!XuI?!r&`etLgW56F^lTAOk`86vgLx_XGMFYe|Xb+je77~bg7$mv zI|cpWNy}I%ozS?yE7=VBn=SprZmVprpi`~6)eHKFRklIUyR5P?=`~)m%C-r5SwC56 zzcu}26WZ^U2mF=$_#vxouAs}TXuY7nJYlJa20=fx$~xuV9BM_=1%20w1_T{sMHNEh z^?NC^sD67yR<-)jE9iHRT0C<~J*=~$K0#l!qV;lTsaCW@&{M2vwxENoXgQ&Ae>Xfr zj*!1GxwBqlz?={36?B;uEfMq)E2;?ksuk^&JL@4Unl7@7tZ0SE`mJaKp>cojW)}Ht z6WMF6vbhPeXFtm$->}?*KC56`!cANwf*B%snpLngL2y(9Tg*?mq1HdZP*nnS-s22K z5}L(*i;Zg56VTtE6LZogo@N=d=Bp9}D_>&4GHSr_ig@TjhUyZa3zsq!NVt8*h5+%0 zGfc$-53J$!nf{x|Oqwr*lb~C0G^}j}K1A8Hl2KYky52Dr>sxRLwJgGUcKshKjPFZBq|5#nUnZ@S^Bz&*be;Z|2!-mk=+CR_FCb? zzYlv7u$sY#mG!4!17F&TRwzci^cfNR`#5Sq%K~&>@ZmF+KMA+dGL`owor~`P#ad%N z|19fiBT38!AC2^fpgR!^XR+F+-!kzQtas_t?`Lo) zfxGlDWa;-d2EQlpC;dJKf6}j{tnnoipWc7fZzZev^$>{9!q0q%H4}|(bwh0_v&Uo0 zk}nj^!bes87~uHcTnE?m0vCUQbFM=As$=oRHPo06U-j)LF>WK=i`AqkJ}uheU4T2W zU`2nJqJU_P6{s(DoxVZg>ZrrI8UDadFt&XJtMIG8EKJ&iNMD7qmX_r3<{e>g~kYx4RxSjzLSN9W${d5M{ zK;X_&z8JkYzF5CXv}j8_n__UhfD|=_GF?PmeYAk>Xs&btG~((m0coifS3PkNQDnoT z`}?$ISLI@N6`D~a2M59G1ZwFw%|un9g{(w+DW$c>Fj;zcKG#tIX}L6vzA0!KEXk!I zzWxoq9Yc>$eGw#ZeN?Pm-i3?A*zEyY^tDUB_dQvFaQ$Pn-so37dO7ypg&Nzi9!Z~^ zL#t(e)yGa`tON_7^xv`WmsAEzAwo8VfLs? zwN>Bws9D(I1s{COB#tfb-a-y?i^8VYK7DHqUx>O3Xn)?b#LzcpbI!e353R40bo&^j zS4g_Sjr7Zs&Rq@pe^Od&j8H>A6Cu}zC3b+@Ex8K-`_r1L3#yre5o4%tt?toU#n?WA7Hkk(ip z=NzYZQ}i(b^dGC^D?y%MK5c=dRSNM%`_+qR)m9^|MblS75@`i#ZdeSy2r!3M_@PY^ z2LiF!P^_H^hDk>eof1IOScs|L&3S%=y>h5%)Yc;6SB{2mDX}MuQW?_R))~BzGNMLK zFeC#cc{)jk8g0#xq`Qv67mmhC&roAM<=={BfYhWOrDld@DriaxD^-3DVx>xaKfAh@ z7pY*SSgsE%Rnk^xz$mR$aU%FYdI46YjMCE~fAIR0s}Rq?SfA2XF~GLE9v}VVi&XG9 z6m6sx5#Y%HF78&>k(e?l`l|@gvET39OyO3!CNtT|%xm=VjoM2Tp_A&8uQ@;S5 z?vUVGRW?02>8Z6CPYAF2P8`qAF2pviV{-a%W+k|yxw*HmuZwmEx6%s)FP*66g)eYW zQS$l16=MiM&tHmVkriA~f=iRq67Zp(vC?)>%iZW0)S42kd;pc|XR1`FBd~9`@))jz zz)CU(1=qI85OEYXaiLc4yE4AK8#cuj zMui2U+%~XThbSz(8ilECEcfKqHaTBlPZb47f)s35k?@i+27C+Lb1v0=0uH>alj+$p7u%ZWl(A)0X#_?3*@~@>+ zSB5KTs56G?=m4DPf#^r|k)Y>rGWt>cqU&(^g+I_cwL^=30(bUHKLW_@aqEJ3{ z5`2ONwu$<*JY03(pV2R*h9$MIH#V)SP4zBF6EZWb0bsx>rD#L~jb;}6K_s2DD);Mgslpn+_kr_5f{SN zjW|QpM}}N=ri65KuR{dgzCXvSe#s?XW6MV^zC`a-YE#j)cYK3BzKvGbV|%Y$q~N$F zoBzG;SGZQWvq5DSsCCgBabr_M(IS~>Y5FCXN!!Oof=#4MhVAPUBvpK>?==(A~t>lcS{J2ar}f=vB5k zR5*~HdKn-buQvOpb?2DTmYP zhgQqB1~QN|B(kWJ#UHwcwH5R*(E>c=nA?K2%@`ZCI<*p?e#veO&$(<`l-T-Qib4;q zEVTvq9Es`|UVJRH0qK|CLc?FG3EaSGE%_yAB%riO>1v5jn>2=dm4d zQR%Vtz<=X-iY``pZ+>kf4g2)G_~tt;H4~eN!0f)!ryY)$%6vQq0;^KOxYq|${Eq-i zVXHhFd9YX?qFc<4%|4+Iksxn%+}(p<54m}%nE+e$VaQK%3N+G?%~pvuu4EexfHq4w zry{ySk=kd*Z<@O`m-}{X8KqwgbbY?ik`b6zplDkq82qfD=@uG*S7xRc)2i%ZFfddt z$Sk!i-liqYIk6o}i$c8V)vGRvu@!`)3alA{AqDo}b-^RAwt&VHcu_-taAu+QVwfn5 zRWrO}7f>Byhg9B+yfex1$UE5U`F;0b?S zm?}A@Xxajb)aI>ya>xjD1YYgm3)1N~xTX@%U0dY{nu6((n#Y>=K7HXly0U%x3JhiG zcgj7~r;W?>g^DxF^&c)lwPCyGbg;15EkMJaP-W)-W9?nQqpHq5?wKS&fZ(2J)S#%b z#uhI{(xPSx+H9QYj!rbTSg~G8PdFBwRbXKmV8D zv)$OqH>KAvhYjR@NV}jhae?hE(hV*K!jhk10B=!6Xl^z0XRbS04_UDtxnZWvV_~hxe=iGG z<~BU!141%G_H`m{Q}umCv_u9j0Bkh^!Sa*{M*of8H;-*fD%(;(NfZ?v62S zI-VM>Wk1)IGM!@0t$!EVxv+8K&vhKlvHkf;i6Ibu*lxRFiH{_M8qFbxM5B6O^2;wP zOuqk@Z*iQvriwx%s^UHQ^;)lEE0h?`Zj)$&ntb}E3*qg0le?hFTe+DRT%J!%>>oWt zcmL3oU7}Bd!T-acU+Doy2cuPunpESg*G%P!v&xkdTxM&Nlc{K?6PuvQL%l- zGPb7dHvr+4wLF527Df4OVWJEEkjZMVCkt-}E!@CN(U4BXi2t*_2iPVnb`RTwE9Uh7M?4J+Ht{w89$?b%Uuni_{6Z$UU6}VD{Tg^pn>o0=X&^B3 zrDFth@+8T^+^63}JsE#gMzXfaTV`-HM**~Za+(OZrFK5w**MMaXjkdnQOf(u`*@J6 zSbdsiyo(HuE!-~%ySsmOva_c7t$b9-qAPai5`EjzGR>bdS+HYe-U}9@g|iiO{TEUc z7k=P0s1f1j&4iSyj(Htjyi1&BM^~;ovn&KAk1pxb12W8|i}hLbzIw_hhc`wS&EO$% zdCW`Q#S6Q;uhi>Mk#959^^!W;=~u&_g2Zne^Jz$Y_N4bNkzRktKY7Xf3Uslv*<%lP_+aJ&~^e1;dCd~UCNzP!a-&zylk^pB{q(Q6mZZS;&s zRdDQ?O|47RE}Ug>Wp+t97&rZ7=uAGf+BAK(cb_m;_N#g3UerPI_UpT*gRi^qwfF90 zk1VBPC^L&QDR8+H-fG^s?dDBB(M;>6ikAK=z7&1mT6l&z3fpym*Y?({u(hn$E^Swb z^1XPuysj(gRJ%Gw#1aVSTrV?ae9wZTl7|7i4+Aw}EA#gw=qjWHXfbTfN4dwc6pvl2 z?Ovq;EigCm<^`#JLF#r=^l+!JdbGWqAFJ)UAkPo-A|~%LedV=_gz~0F?C5=l+=?KU z;xnOREAs`4ASpGFU~e*KiAXQDn$8Tt%TqM~n^0y@$iL;p>V9C7jP;AaQ(tamu&G;b z;Dk=EU#t<{d<;)J%?WK3V&A+$J|^7u*-VxI<)s?}fce%8R--FXO=*W&3nes1yXalH zmAQm^MVU=AiXTIoO_vADX~Kdt^kkAV{9#v^4#3S#N18g#zv%A)5png;gWqx7s?^jE z5EGA28z3eE%=E!Ert@P(yC#pKJ7Q6g!UFX()Zyd5BXOZFTOzZ>S)i-G`QcBEX2AnOV1R-VO;CSn@#~JcgiO z0E=Cx8tS7S*S5eVWM#kU1ouUVAA^w>AzMSAS3*9eQYn=&v3GnvAb zqA)~t>pSkPr_`5hdxJ^FYG?UxY&(z_E=zD5zerx&)QBjljOyTqXQub%6J>?L|Gz)A z_{mzqGo;=Op6J?`yp5K2&6X1YX{x9F;kUq>j7f$MdW15bSHwX2T ze9M~X>>fC!i}3g&yPTeXzPMwrKZtU;?R9~^T!$ng2rMQ=HxFzuR$-Dxv-lYft@QeO zZFswLrC8}iH9q4KN3cAL$+*@F&WBP%DapG}C^1EydJcps5lgkW0K_praQ<|q8^lOTb8r@~axAVBFpSSsHy zKj28G<_5xq;1BnjQ8$h(IO)Bd(afL;Z;2eGz{_UOqRSMa*s0z4VJiGPy(`*1yEJQu zv)?@-+Iu@sHPH>$#T%ke)6xtp?nis9_zttf`~J=ehV%Z}wK34fnda7i^Xx=1;_>l|c>|q!xAUTP!R-^*&Q@32fdA=Ne1fg}w;_(>H zdbGI^`5OzV?g zxAT7}Wo7p8H~ONr@Ev~Hl`|%SJmGhQLjyW7j*GPy_NBfT4?w4|$I!J)7KRh%Kg3}( znX8M0_`1;mg`M;ZP_xh7K8oJo07an=%&Bss=*Mo?#ps!Zyt&_SS{YwmaRJNh5fASC0jYiXXK)D&K~s9>{HE0g8E2yMmYK>>yn(@FlQ6TgHm4IZ~@<4nk|}<^uTP$LLhE z6na=9XaFeWiO8Gfu+uhZm-#Opi@OzSaeFk5SaxREj{X^s=(`(<&2vmlezJq^JB2)Zvfgi}CwH z{(nDcygzsM&G`j~66$V8x)$A@&I2L~H=cm!VPtjCt_ddm3;irpCenOu$KMndxtzQf+ z!6|q)e?gv_0=NQiEl&zz-#-(1`_xP`EU`N^VI)Ne4Q| zYBOhcbQke&7&v9A*Bz5 z=iH7PuJn4n49_{oEW`K5v#UkJ1Hi+)<*zg6_#{2S{|Wix75D(Uh^66x6aH(k?&@VI zdl-s(-RSmlw2lYnzSf*=m(g1O%zr=W-weUVR+6yrTX{syQ|&8qClxx6Gv?$hQQK3b zs~;G~%sZgG4{0nhYEMsr>i#M|^0e%kUow_LMTV0HhTf7gW}u>&;Lkt%W$}kbEW|4M z$Glk@O8q6A{4V1cpqu$FM|20w0O`S!3g$zJiwo7;I`@Mqo->vu>tJ++VShVZw+;PY zqBhc;U1aP|Q~O4TuK7j|%YzBEP1!{%i@5NL9gMvoO-&v_Tfaqe$uapYK(X&pGZNtv z1L&`^SA!kq{=t9i?tDJFW6p2-R|`7?n3KPZ)2bv+9<)D3`@2o1bPn_+9kX$suovPuw40`zNbzL+JZuH&W=s(PtlTE<#9*hvB_QXI*;rJ zf95py1^a7ifxCdu=w~e8Gz@p)AAWVfSsX(>Or6oGB}W8DNU}C}sVe%xJ!byj)E8(B z^Zpf=h+|0nq3^j5`+2obJp$%WHb=nP27&5TDE?g{Y?w31oH+csN*f;JSyszz;ZL}f zP6S6{=DP!xJK4Zmya3vTGsgdgj+TH`#2PDbH{~_dGRks^9K3eJB)jbuL8^e7BczH< z6eLt-dkq-@6IEqiWojR0Qdy8{l6`MtVizzXcaUrBHH0;1d;}x%%>I0S4fGy98m$bb z8u`9eP*+CIoJg;1Jr^P4U@Hrz>q;l=}r^EOhN-0vWk>wB66L{UtY z^!;`(t*}Q!eMi!SgXO$bvx6U4io5kKnQ_`r_?ha#~-+A0AO^;^7T;^w)DvMkQH0VzL)|5LwV0 z`L4+>Ptl$m%iIHOuY9-ruG^D)G2ffxu*=k{#=-9W8iP)%Wp|&tski{>&j?rdT+H2K zU)JdU#-5^Jbq+ye9Cv%n#XtR9_5K7lVBMDH)=k8$!Nu~(SoGD~Pj_0o<8CiUg0)PZ zqc=I>cZgwQM}IeGRIIb&s8~lu1poHAcL+@Le3SW9DsQY9ph0W%JXADhlMM4UEBiK6 ztBo=?J2@Y3{bSvp?1f=Oy{gn&_IxvzBXN0g4DWEle^3=Q7iXso0cP1y&DlxE#v$&I ze@+7KcEzIaSlN3_eVhV~omFSY>ZjC>OwK|YT^@rV9~tW?hmojAl*T$LCAS+M2gNmZ zOgTFr%U&FAjP@o*#=SAMjqdXobW}~`vl;~r85-+o$>+*QqD${hRK&HL3S~@nN2^p> ztm9I=QTD3Rt7@yMV5Ec8I^T^&Umvp1e11dU2w}5y(E`K1hL}bDz7?C?4@@kZd2g)( zs1E^;hsp5TV{lEHI{aW4X&$z3`~9dNFvS`hZ)Jxgob{G=F$FPqdhPi1U&_g;_NLZ2 ztqpn{!(8s9jtP7x!U}Xy5%wB1ud_yjgt6e}u?k0SZ>RY!VO^@acb1V?D}Hf|CR>FY zz!znDm??cvAnAytyDZ4-3D&|e-8C|U3OHM;h@^K)G*p|NWw}ttI-@ZMMphy5%QPoU zEU3)}31x%LuNtR{5Q!p|vKIb?4Maz)IWWmIQncLVREwysE}wPwIUb%%_ry8dr&3pQ zw&HLn+!eD{qIm5pAxcPNM_HX#B7HED^o4sGxUdp&!ke6V`?Wcf>(ryE>mp3sllo(? zl97gq_2(vPXFGH&Lxw}=Tbf|b>7L_1zi(IwWS|$sC9oF0#zO`+Rw_l>7?a*#rfOU0 z@@yoT_mi!TN~+nx^W5<<249V|do@HHN5)#@YXC>;B}R={fA; zr#Xdl<>~!n=ak|>T+67A&LDbMjT4?w+c(8n2hK+B%0e@%tZm;rm~jZSLRk9%HdR2~ zK6bOuza4RRU(hk*Kz{EI5JR?NtaIHK1>zv!o7nS?=F&MVqTXHC6@s9SM|a{rkcbs_ z$7N-9>R-zU#zYGL#l# z)Lt5l7*8K#u($TyAnaY(ADs>LlS&d5tn1xf9p{&IoL|}#5LDsh*}dnNh6~yzb3&Qm z8|%x=d16WrkS(ce%fgP^t_~Lh|Av#puHAG#ObqpXB98Ch((CVn`6x*a>D#G8tpX#| zucp?gka_}w1eG;AH!<2;F)JS3o2-nsOiNZoo$1D{qe#_;j+t@qF=@(C#kwuiTxYuf z;%AUh6!ZLJha&*f{f}BhTcA5l8*MFE?9_a@xe%aq?l@fxkqUQ}yuSKB{>e~aC;5Wr z3P-hUeebT)z^-dsq9Q*+IKGgP?kY!y)sXy?nz;cRc>*)RvjryB#A%t$X!_z{Ls?J- z=MWL_Y=x)^!g>`E{fA{nPG+iRX~dzVe~ zkvJC=1zc+=*x~Fw*(eHLYLr=L-dZ@94@KZFyqSlXyGG1L%zZ$5qS(YW#%uHN*u)2B z(bqZGaa&CHTdqD9x-`4S_-j7@UyL79Z6KUA|4gOiEYxK9 zo96S9NqMPVg^b<$p@!$y3U33Lp7sujkQGHM&H4TC`4 zbAE^f>!eRU(ZoglO>|E->!i;E$fONHw0CD0pJ^7V7`E&%AkYjX&9xB=wb{n}7SMt8vx zT?h?wZ!~m1b|xYw%BS~)8>|(3{GKB;h1@BVpI`zXX(!BoL{+|mI5)8F^!HwfU7cJX zzw5Ug52J{wv83!-rbIrNYse#7o^YM#3Gvz9J>tJ@Z-q?CP@-Cy&ue*G_cdkb9^OQt zcm<1h!uUo1&1fCA6G4aG;x48!y&uC7Qt4G2N#(tieiXVgaRL+;i;x_4j($)O;?Wr= z+&(S%KRIx8sB!oK1gXfE%dIw!IfKGZY6f#}U^Y+08huR=R`@7xwQ+cc=8WQuNv~0? z5irDtqV4ZFZDwLmveR#blgFiA3lBy^w~Yf0Ayp0euYH*vWDbqO^_#-_x?A1%{C&@k z4k7_-#!8L@HEok7*@72IcO7o%-GK49a|gD)To&D_pY&iS%{`nC|3fui*~v5)B0l6G z<6ws%;BoiYa^TFgIxa#esOe95Y}OkuY^UofU<^z6k(H6-*{pKAOb~6ap~||uUB+K- z`$n^HkoN5|0kb=2mNj&&l(2uQ#Hnt!P_wiNhCVz3W%9d zGM-vr#|8=~&+BY&W2PY&qk1d-bSOElU@n$C8A&aB0+agm`mOXalsuwn(=h@yC?A$W zH8o|OT5QE4-1|eCO!a>PfBFY)U@;3%;^4 zce2_F_fW%qL;w1hWu{|g=8!2-u$0_(XQpZ~X_VY3(B`-56-JTe#~5M3ybaYrb+miV zF~kVS{QWpUC*NgHeEhDvC^zSCeG~XWDF;R z!{iy#$ZME}Wy{@9)1yT~fc9mVq5>Mge@Y33UJBa&c-H_PL{zkuF@ki@JZ->i?q4S9 z96TG60-2`38jswx9mND?Is|ujS@M#O8))_OmHugmCiti`fYan?|f=^ zwx2rCo$V7%cO37Yh-RQ|o7Hwa-H;gQy3x`JJPi_(sd$Y5-|>=>#0dY@l5nW+>xZ#o zFO>4s!V@KoMV6Jhixi{K(3-uU3!ac;`QQnER8v5g>1rv`S?w=mvd@rWP#8OLairm! zYNVl>c)JbN*8E=uCCv$!7;byZL^9`w@gPE)2{e3v_Q+@LW(3P_7sX@V6*Z1`>sag> z2}7`69FOAh?JUKiM0)2iYsG{TR^&E)pl8pHgm;M)Jcwa|?RI%~HTQ;kWA2}0Cg0wB z(B@6deTFz1y{zy9P+f(PPN)7xQF#6QG5?x3QoQAubl9Cs0=1PfA8~)*vA9bI3Kkoy zWIWrsNH`1VmrBO%RsL$_gNQ^w+&UMuzp1VZh2!zf#m(3-fhEAYxnV57!;lu|p$qNL zwEuvbI1SS~!zbWh)*cN#x!And`Mv^096R)ne zGO}a`!Y+)*yvftC{+2nNci}YqG6I!yx@zSEYU&evcZTRU|M9mz4UaT`ZeZgcQ?HF{ z@HHXDvHu3$s24K+ZudruM;&wl;GE)@{%dFRox4oili4l^x>JZ93NtR@%T_aPqr)i* zx_izzRM4#=|2ILmSNcyx+`H6DLByTs4AsnkP-Tdi7M6RF0fh72-}|kzP3A=UYs3V} zy28La8zy2M_W7bYBC^b*3-WnR${F=+s9jC6tH@Pg?YL0&z~v@U*s59yy`#tz zQc$_S2c%Zr2ENMOmd~>j5@qbW8V+g!pg(Qj5FsyFWpc@YfM)G~;4uunvi?D#NOR03 zK~e4ZlccH`n@dA$IZvZV+)TlMp1XmkfS{{F&2Gp!%nW+lJ3u4h+)?^w;kyK8>Po&z zgUUtmt=u7#1FP0&wgmF}mp?R6?7vJ4gUrKvGbPuY6$*v>mZE&6Ke7YNw(LPrcXL^O zb6}5p^hMfy1{If@?H5e&scPmt_kd9c{B#LMfI*qEq%pI-`~Kj~pZE>7ZX&5D$5lq{ zpr+Vh+h22EfOt$c7j7dt-sG`+?&xCC%M%p{C#@9`Yehpz4wS41B2$%PBMnQ=L=BpmMPZ5*?gHh3=_++;oHqi3bUh;=ho15?;k z<~q*|P)`Zbta{rQu;$_1G@1*UlI9v$$@jEKf)KsVO)iuRF1xIs&UVVDr=(4@?8i^b9cpTziL_1_7qX8;B2 zmn#JS{$C@sPXlUr)(ro%zZ!vXLiamj(9sk8xf25d>M&|DkP>Hk3xpI}Z)X+kh5nlh zO(bz?1HG$-9D>qDoGZg(WYTc)oeL_}KRr(^s2DK_IwIzM+kr;`(PuCHIG!c69h03x z@H<}|m1MJv`ITo7sWKXe(*+h!7T5HLs7vjRwnRsJ6F*M2>}@hbmm;ekiXqxBW_?96 z)p}!%sKX-?&z239b@)#k>=tAR&=5=UI^N*)} z`Q*eNp61_n{%w5U znz{kHX!FgZy(yVEQE8+{z$nY%RIO(Ds~!zQ{33CzOg@s?mN0i@tF;sjlK0o>Ne@;0 z)~g-XR_PYC;m{sgYL9l*o@uMwny(8@0;M0~G{){&ruhwKjD*&4@B)8DvpDG!vpCBb zl=?fK#_puc{z5wyN zZx#cs6>a%nmh>X3_`3P-uOer>;);Iia^7l}1kK$7%I;YUUb(S;XWma@_Y` zVkMbG%^wrFxj3^Mg3Mntq1}2BuboPnXZiO`al$p(+`naETj;jvr*Zv*7&I|9QsI9( zyWiW$>;^l;*4?PY*ZV3M8J(QOa!<%z1X7kjNJzlU4kWZ@pYzH5v`CQsiR%56snov0 zHjpnFtL+Bg1jO30R4LUm%wW`9ki|tnzI{AbMRQ}BM{(tKUDg8xg4O(jz=;xQNVNb+ z%aeb}tp)uA2kF;%(m4v_&1v3o6hOvl-cX=Pyp9M!VlC^C1QYgPs?)l~iSD{-xRb3a zccL$f1Man z6A_kZVoFyUKO4v%)4etF&BE32N3p7b|6t%; z6D-tN_;#iFHoIyk=w$apecxyI)5w!x6*%HFDQ&nR6^358g=rQizIre(l}dl1a4NDz3;7tvO_#NzJs`nWVl=Fw(WfnsgB9Hm7GHL zd*4fM7~gSM?f1y?KYYa4;u{$XR$vTXSX*3zp>D*9wTn%F)ppH80TghwQM?W{j5nKs z4&IonOaq4VQdljA#@(!|4;`sr-`^GUw*YWP@_}5rvy51*KEpPtA;<#<(ZCN125H0ZeN!Hz1+WCL| zuB30=(Kk{7_j%hGqx!>hM~C{Zs4kipg$H-wD- zZYkM=^ml<)eUE)vGlqU9zO-x_FlZR-J<`QINc~*y{XmE0AWeHrC!pagJWqE9yWcKF zqS(+mvk{q6@`ThZ?1-+4*jp6qmJX#so9PP}+Yg4>5-V!8lQa${#%Rna42nI#ng#X?UUv z0w90UFmD-?>F~)3gJx?QpBPP;nd6gB0p_n(pDXFef?7?EV)V*#j1xfLsa-;_`}^q! zM`-3Dw1t{d6#)<7)ei^^IuLh1jJwAAs@(tclOsZXx0;t_wQ;wP3*b7hy;U<=k`{=d z1+_*>_BGK_)&5Z6R!6ODDEndMh0*kt;-Nk+3<1%=++cO|j}J_jg~-@gV5MVU9TaZgFr|B_y7EL3symYx#{B~B{HDUyf#4-Pd*zOsmB5J|k^ z--$hsjc&eyefol^U#}G9hFnP5kf7rWW3i_Od#UeBcmjl#H(S1Lk3!lH5p^7QyHihn zu@)y%Ts{Z!*E;hK8s$r0LD=a%e)kP99`l&1{MXqbArJf=U4NCH-QcsZvM@jxv>M7FDq9lJR^%QBCsw96Z z^%QBCrX+tV^%QBCp(KAQ^%QBCsU&|Y^%QBCr6hkU^%O~^fCh5z2!1OI=}1bXvGRl8 z%0fDl64p|F@LO3(M^cizC_nhEETki;`wRKOZ)G7JNj+T14}L2P=}2l-AwT%7ETki; z<%Rsxi_eH|nETt}(89^4$*HHzrWl$$*U3I+zRk9oF)^5dp1+v0 zG?YmH=%Ch)XL}3`r->aXEbZ@oT~vTJX_9+=pSD5$pMH+ZQ3YQ%IOoANk+IcStXWcW zEbf3Bc=qnrr7~4|cL}SsEpe_^>RL{ql<}LxRos3bIYWv!wyvqtjV6w4R z(K@ML@h_q#BOSNej-w*~yLAT94Dp}1gbDM$=w!3cg8H76(ydUrmzkdeS)}(3yM-A! z@|9DYLyonsswCE#7O543YMh1p5%BuqsWpLPgW;()n^>bz;`D2+o5AI6s?(~pBgJ8t zd+8ssLb;({`eCh9>wdRvHGwTfvn2}EV5d_UXJT9HE1O z2-S+QdU;|*%zD7T>AjeH`u7X1Br&f>(;7s>HUw(!=JXm}z#v|=mu}&K30?RgL(Ok? zO}cLhiS)WDi-2^8h{NAR9W%^d_Bz6uA$}b{p79{aO`Ej2K3|ln=??));wu?*k(hr*F7W4eD zc?Q3e{|oaxm1j)1Q!J6W%gIL2z0Tba6}DeubOA9W4S;`uuttz{>jjK*?I72v3nnQe zIML2*VheDjeZJTu^y9Di&*ddMPgWP9!1_A5h0|)q=kxi($%Xwbr)Byrwne+4#gG_q z0BVC}SM6YdBonCie^t`&<+B_ej7mZdC#<@c+@)J7f5Y!p-tN9Tznf0Fgn~d z(!_8l)7_fh6_&)OyknjiJYt9k$gT@JE{IIR5xXWM811UXuyT&~jRybR4S*BJJtSB-`L3nj2a zT|AyASn!yeQl18?A8&Dekg5(+4MD1gpG`~|d#TJp2<4yi!SsCkKt5@l$1$NtW+Mgq z3Q|VPiE-4MCqNL+47z>Y+olU%$_%M=MnhpVYaP?T!y2_;diMx=U=}(ROv9=cUi**U zTgZpFl&d$&T9v7d`qGrfvmRM&wSO;6KkM$$DSVeSjBimHZh>`4wu4YAKNEo;!a{P! znw;@kzp;*o^v|h@XB(>h(>w7jE-QV!yQMeQV6~zV5vyLv0r~O>{Aex`nC8B~mcWdU zE+hR5;FxelyotFxb4M~QORU1QFdu(Bp83FzVq=Z=4Y%hUE@sRWl1KzLd?rD^WW!gV ze6`0~afySCO81r#|5)rMHM}4NU^{{av|DNNp>Cu;A-)pJ2kwL;b zwlv@iQYUeXqX*W~VNqw+GM4fRc=|Wmo|b2YsK%p z3e4W$5>oWcal{k0Tso4}885A4iKjAd-XGNoN(^r%MO5&#aZ$=M!|t~t9f=j`9$ei9 zo2NAOlu@EGd4Y9vvT}6;{aKErif{packnFNcoEY_!jQYaH-d@u+_HS)O2=EUyp2#^91A;Ai)TYcvDMrj^ znT;KVM}h5&+)=D|PslK%H{Af!gW2mO@jgr4DI4Q@C5nh=r>XVn-n7w_ zKuKzDjho6gL-4xk8YW(Bl7Y|kSW=LQRkqn0F}Kfg|LDNnstfU~CzBa}OG;=Xq4Vw) z|G?)U))-niunTLvRP(9tHE5oE`esy4wd zk7IZg6~$wON5L(RWjqRSz4TqWsqMDu2b;top&u`8?r^(p`tj0E@J2sgdJ13ijeZ#T zaY0A)W3A}zr}}8&)U`8o?x7cgPTRW2_%+AdFXN`f5 z_6&LkS8Llgxp!-sadE5lWh2S`aDka1Q>mtGn_(@)Q#57o7E+M-_aAwRuS%?dI2ObE z@xhkbw)-K_-}PNWR&GmulXp3)u9m5`cR6@Y7)lqkTUz>gva@)Dzb{}Jvui#OJK;CX z#s^7nn*n4dMUd~FI}rda;uMVjbXe6CAy-PIs^)Cg z*oV1oLMZ@3xYs{;djXVX0RDxOkutUkOsQ-F^z-J#=QYhKcuH{&lRNJ^6NkSt;Yd`a z_76>12L&R&vkfKIvlirdq$X*gowppflhh?@5_tc#q0N1Lx4PBXaBAndR6}Y|ncaPIqUOZ9mA-KeNK!+~c_KQ>%pa z>CHHn*^?MktoVpSEB-xD(A8t?>bZP5O>Mm=Kd*nkQW9V9{Bne~Nyi%+4JRji=T}7S zisYBP^UI=kS@H{xcYci%wQG`Nz4S@sZPZU_yqC&&9Jh3;_m2q?njqy zYG1|vn9Gp%_Hy+ql(>-Hcrwc!au5OSN%zjRo_wS7rqcAD5*`lMLm3Z8=%Jj4s+)$S z_sqvX-cFe7U;NBGJ(ET1~vwS89!CJb@79AwNN#R z!Y*~3+~xdQcbldM(dIpU8PPc!o1KY~TK9imYKiiSsNM*sBG31U&f6wGT-Jg4$ z$$bKnr6b+jpL;yH%?Q& zl}+x)t5Xc%$q@O4o4ZaHW?Lq`CL9U&8{;Cz&@ayMr!o_6=AvijMrVKWXoDbP<_ak@Yaj7} z>wt0c$5;pRSL8QelWeBD?yGV49iffkwC=cNwf??|LKVsJfm-DuRqt+ekVzbWVfKd4 zBZYX^Uu-hrStvJ3mp1O(Gac>x>p9zr?l8*cu}*Zmb%*>x31vzBe45$JjmineV722Q z%Is`|yqeq_YRkpn1T#7K0R6Am%>k+zj~5Tnp39!B(UfQhXIEs*<44#vtkZ{$iG0i|eZtPR++)5ehH3 z)M?GMi*A*@KeC;>Hr=m1;BM`SWyi=HG(_N5JNnV=%d%xM_6gxy=0e-uZ+E{|W=FTp zKG$~Nv%6pAdCTlCxLdgyd+%N(t;x^ET;uqX$79{iCi@`IR?OA)D}&LH#~z)XG?z7v zev}-Qop3W=ouNP8!^#yP^%09Y_ zm#gJ+i`=?ByB~2MgbNFKuEaRb=cMTe4KGC0!2 z#YhYfZW)A=C+mF&8x}I6kY}bOQK1*It_b57V&HmoL7q3u@$RdJu&lf$LMahQV&aOj+3+liyli}ubpA2hl5j77KJcMcuVsWz6|)#YSJ zL5!&I29CLC_f5l`sBaEt4!4LC-7FH^e8;VY8+|L{a6e(8%sI3>BlCj_o;OP7CU?FX zuqqMtSd~!P{@p-8sL>bx0uD+6tZq8W&sn0 ztSgFHz(*nL{9+a|h(gvEi&;!rA*+Tg+k5I)4>JyTU-!Nf>NcIS$$#@cY$Ve`ZpbaY zwQTPWx70hrhK7W{iiKZ8kz%!V8SI7ox!5T?3$NwA&b*#8+&*o-7St_`c@w#`nW)#m zB;(SkPG|O%j=3Kevo0d5v2>mBJ+aBmyvEY#e%wg+Hq$-b{4{oa>X}al;yO9NwD-&x zS9!q7a5fK2U*K3OXm0JjL32+I%-DYyvj%2tNil0+#xljMff@U5A!~Iv3puDl?~wd~ zT5mcef1v6s56K^>|2*;ywd7Si+_q)b%;NA8*QP(@uqCN0LE+q(^oM2r$@1JN@MH44 z!rO*K)PRv-hV3AE8;rIK~fP0dlo?FVC!o zJ^bk;9*fqg95es8WCHzX|2srkwuTm2;hP`a7+h%gITt(ZnKgg)j^Z+`+7O zY6T2|c)57KCV5MN1Qh4DTb!SV!y?uc7K@OjRMPBCAX3LuwdTr~m03%>K;PrF0zZ&{ z4blStmY)SC%lGpVIM0}u%?M(fukV`HTslwJlA64R@@99Fozj&+9U+--t17Rd0lS^L zJT?TF?NYN_ON~g*j*KrKCjs4fbC_=5$>RiGXKHtW+_vvD=D+DKC=@vnoMc0d`Meki zF9hpoPkgG@fK&Dz*0XL8UO4Klg@nr02ny{~!hOMkjW_LMy9v98f~^73Ud(@QwtyQU zpR=^7_1~x9!eKMtI^kWi`kYpd69{QtS{z+=;``~GsPmo{(%|MR?izRU@4#@C^_}qV ztg#pYSKd%t<3I4{=?wP@7(k3hVOGi3U&>K}j2eGle+l;DBzh2ILI}IUUv-!MQE;>I zkP*fxc`EFA-wB{!N>6~#lw=vj&b8LK&EFfD9B%gx3-!rqB%jle#z@Oo;Y0PB4gNZ0 zKB_2U=2nYJtQrX{GqpPo1Hp7=j4RA+%Ry|!Z!VX0{-adYt|G;>z(x|TH`=F+)sLvXU&8`fh zui9*kb@6ohdmiv@IhBlSe%<#c)APuv`++rHWM`rFmHCvp^ht?l-j7+Qf0%4R;T{*m zl3rbg(2g4we~Y=M-%Z)?OL!jlvJW$grtIUj3Qh;MhT2s{lH_v1x7$DKFx~I?oBzYn zDEe>m+RUKoPo}o0nef-NXwD)>-tiLOdF2yIblGwcW;0 zpWIXd7Yl;@?DkQId=N;SC&M@i_vG=Y+z}`_5&3u;*BPcC_7y826Z^4?Lr-(jKqzyquZxDC5dkp4e-#@3;n1|MjY-q zepMGEB>gcZWiqEPAkKzGyRD16F$Yy|-6LEi>z56*2znc;RV>Aa`w>!cp}z*!)IrS@ z24>ulG)XgCR@>hP_t);c%Y2=^@L=jgZ4vI#0SjyqqX9Us!oXJK$g3V5hYn18q-qZ9 z_(#Z0({0vr$h1esQ9fhL3W3s++?c(Ch(bH~9a(P8bQ)%o3GoiTY=a zjT-bK*r;V(9lLb!U~=a%9maIUp14q#d~g4PI%tdyy_ALv5i+OJE)C!yza`(reahUM zxLT8fU&}^o%!o18wC4YfgVjtBhXsqggQV(f%KoTUhmKARQK5_=lA1y7$$Bk^u(3Fc zWeaL`z{{G@P!O$K2)6CMf@N{0)|ilo{O@lV66$+I^G;PJtRZgxmF%x3z%T!&%3@R| z9a8hc(drSXLA9FG(aMZ5eGevIk_heK{+@)x+H3XP3}6v9vljla&5VJYDX$oDaMn5K z-%qWiSIb5)IJ@a*$ae>4E604`-#9p%87gF7Nw%qhnu4R;R1ynH52`j)$Qh{dovdj; zAPLM@FBftQNnmoGA*XJe>47F<4avTfcr$1os+44fJP-;@l>aUy#HFuIjiG#Dn7d3C@h`zHkXR8Y?7`yO^tz>5=jGvKt&?8Yq37f= z>2-JUP?D&``gmalRm#ryjLp`Pu8#H}!@2bog}ye*mh~q3GF;;^e)AHUZkTY*zB5wc zm5Hsa*It`iL3(jR!B8wfTTb@O&x~uvrfcJp9f{h{VJIJN9L?3hH%hRqBeL=3ml@Y9W9^d++i7J!VCBR^RlDyrd+Vfu z^Y5THfg}=l>Uy0``TB7|JMeqO2-=szJdPE!m$;x{mX|meE;CFJtn|9qSx{p8^}VbQ z(+A2-rf)Jw_q`BgDoRXx-CN4E+Ln-~20@a#pn3#pD)$3F8a*( zIf<xmPipiFO}i&9(LaCu^=>=ly?w9&4_T@(SZu9CXJM1A{(sKfr(8OX^lr z={Fhzrao5@O>5Gv%roXhGOWCl^#nXjsOH}Y;_z&vX~Fo#;bOXp=y!P##BaVPJ#gsL zGDGX21#tY+es#2%{stD|M2VhC@*@k~DtO&OzxmByem>-Pez-sHdFq3Ar{-Klo>C%J zl=dI*(?&ZGPMlG<4Vt*tyYpkRJ+I6Zdb~FHeX3TuemjM&6Ok_dZD< z+{pW92DJpPvIc5t?XTs-z59zj_j(RO~-Tf&F+I{m)e-p z%pn5A$r^)3Nx@=5U@;>!lPADKP54T`-0}m*AbGKH9B_spo8^54ohd^mKbHx}nkS zj#(E!gY!bpq;T?^srA>sy7R{h4Ltc38HRNsotGDO|vbO)#eJ{PQbk3>K-npNp zBlA9do+_<{KjbsiD6byInnO*0nBF(m`f*n_)=<$?EOTF1?p>Zu7v4{=7qo?zTgg`X z;Vr^a32?b&>%9Ft$)7uv`Peeo$=-1SgyuPy)5I;uUOR8Srh|S)aPPuXc+Rlp6^KIT z)?jmh3rfupN|;P{V#M-_dHesp92@Q-%dMW}6%ZH$9ttllO79LYhT}uWAgy8uMH1qq z9_(}j3wIcckwts%p}8w2l_oDUhUK%=_2g|{$8XWra4min(3Z4l_7qf7Muv3R+B`iM88H43RSYo< zQcvo-B)vsMy896;b20@}PX@e5oAyLJ%TW{90y)_yMO{d->Gt4h2In(&zT5vPBRDTy zc88t*ur%p6<-3|N>P!A122WLC8kYOgs#qxk82zc%pE3GVqd&EcZ7*4O_aJ#dNF30$ zEmU}Y*YP&0lLZ~jc;+Q5lj2tew3qxdD4+zui@I-ve?lQGD6zvEe5;VwcC+1$ex3mL_2-sB#z+B!)WqQzNlx0{y+J6V~T zB)GcOHiKWuw5IXv5F|{WCJrYS#=^ylg;9TwPy`*qXidx8G%OSKl_GtKf}1!OK{c8|Q{|wTTWzudL!GW8 z8XY6fEi7ti@=U(ndAI5yIA&cJ+*F(K1p~;nY0(%(5Yp`Kv2a#;t%(eCDfx+7G7utX z`va=3)tZ%%)z%+S)es2~-Tu@&6x{5IAe!pC{*mvYk@VVxW16y07~Pqdl`yXwr#%GhJZJ?+W5c z#six=D*S-N4A*S1mTX|o;9HmfWL)URv#hZ%)OC?h4DmCLZ2a-K5KN+qzke@Wt=w!4 zx&Il;9ai_Y3QYOoxKM+&O@=!hr0)eo5DplR02T_*~bQ0 z(d?=i7<%_Z!N-tDn^F!L0v9i>a1T$uGKSa>L(Uw z$d%!5cbijUtj=c~PRgghY!V&!cgEOLcixAIiS{lihsQGpmUUg&lbKemrVU(#!}A9C zh(guI2(!Y@HV)(VLzT5~Jo79Oezrjw5o@7EhSPdeP0aPNbZ=^%TNCrVF8YX%IBVJO zW4K-qZ@{Le^t`c7>$axS%Z)p_#Lc)pa>Co3a6X z5RVl<*?_BdJM&EPb?AV&y#DWp2pBf^TztAco2#GP89zKfxjr7j5nQ*O-mfoun(`a$ z%&(Jw;S01(#V;x{TZlwxRDik7Of>gEhS-Ehz(9Wke37B^V+?tW#8{_2FQ^~^vo|!) zD&|i7v|@7xiY5PGb3vx>FOX+i5Ig;JxgFlvw}G_q)w5()tgc~RoYuPqtoYOeYjt5( zlowJmx`=&065^_i{VpUk)i#Bc!||&rZmge7kh{8Vpr_5Qd3(zgGoHri-xC+sZG&Em zZk;m{5jQm`-oksdu(@tqvHC4f>oCS`!13x#<0*ePAKTH5v%zS>f6FNV(&QW*>uw!{ zNbJj38@lIfz(oO;hzT+8Eg4n~LMoZsrDPyFCFyFJ(7xkI3oH=F zA&?)kzK1JJ`=0}Ecx}r$pm3!`#X}-|u7RLpl(OuKA@@;^`U=05W%d4XAR7T3l7=)h zU2ghY-gmdQLA*B31`A(RTSIh!+P-+OHL6V4%L(Km=u{{C6fNVNVvkmo0F+-OoCwI1 z)r@$nEziA73xCKxty59ZH~3Wi=2PZW6qF7EW{k&I zqqx!a)Sakin?0z~<%+4b`yty)NxIjRT@|r7047t4chiVnw)-J6{Ro*TVU#KDhRIxh z1er&e%*S-ym0H}?$7E93OpXy!A;J&adr~?>F((p4TxNGZEPu4%y@nOxuQp|u>g7e= zg3Y>i*CZ}yb{tA_^A011ys*)`QVh-! z{PNr+lRT@KtWr%ADTi{I2&1{P^dZkqn#3t8OX6B3#_;TTBlK?Mg_uGWY9P&92)|qz z#95cMZkx5PE4;M_30x=^blqA}RZsGT^9&1QR~Uk*kFn$MN4lvJ2@25 z%-vl**nO6#4~CbAtGEi09kPmIY=G81sY&%9i6Qk3RCLz{C%gx=&{-DgarZH0m5CE> zIfCD^#4+i2M?PB0W7s->gPF}oM?n1aEFa#pyc82=cWd0;U{8r>hup{HUiMY{E10Y5 z7Qu6!!@K%Q)32V;XssJl-Z>&j*w(s=a%wBFGLnAYf&+%*PS&bq2>F<+;tdSyEzlu2 zF{|6sw~{h;Ha@Zj6GgrpX}e8j5R{`EGuw>IBAft(I)~zL7H+kxvn2POx;$LSHh(Di z09|r+$Q6yvTrryz8PfLvAkfe`C*08WZfW{&C(w~e^|A0P;SU=+zjsJxHXi*%bC)2v zDorfzJU=|5zpcsP5hd2xBb#EVj4>n0jymJqW=_C=+bpRSW)byKoQ=(a37GSYtbU0+ zQkDYb`fg-wMg?Q~c@5TTrl0@A@~WT1x>#_8)s){=fISoL;|7hu7<M+cLTH^l?r3ryIKDu}N@r`q*$^WAv@Lf29a7PyLja zxw(I3hfJDOTnw`fv>H@?K06RiL0J^QzPhn~gOxc6sQAPX?dZpIcm30Kv7@`^zE5l$ z*Qlj|$LLm84){Ov-igg%)n}-_BzH1C`?X+wNN~;2CrxI-I>$sN*N+Jq=gq(!9>sJy z!M@7Y1%)Q}0L(fQdDF^Bv_^+*a8w(J#usRZB5A02~! zAUwfVsvge#rYGGITFw&2wqA)DzNBZ_$sbG#-+W?fe_3Ko_QH2ph1e{zJgEXB-NFE= z#VcEk|Dq7bYU;~GD*z$aZQGMsnbBB?5?j1Hm*VX9OWzj5yQYI@C}2dT%6#W7let)# zaD#X1t^bE0bEz`9h3@ICzmZIHMOxVkg42YT<-4%G(Fbr zf1-TM)TQ?@G9r0Z{p zD4v_Ug@YjX7;IYgAi5SnuQ?k;(z+>~ubFdF_JTa}*XM}2!;9aa)g0>HH$(@pPCcWr zah7tVXy-li`>A}j*;-$9;VHj&&+W0@_nX|!bzRvT%b@-^y^y=TpRKrCtDsv5t$X6( z-r!Qnf7fxb#cFz=yvFGE+2I~wv~?4s%bq?j`pg_yv~0-j>Hg@1x*ezNSfjgeCIqwH zQC7|Xb1!qpaXfO_d=Ks|%G~ns?^VlMBe*cY@BYSwjyBSZ55#eKrJn_6Fp z0ktS0wjaWVK1?Z`!*7GMYLLY@|3C;jD=3W}$o%{5pc<&OvaL?*UA4PRy@pMl-@!|S zcC#)P>ofk^ZokZ0*(FTEE$C}GY$iLU7jRJ;9#OV-`}oq`L@MI%C*E`1TTy=+t?%KE z`&eNi>Ok}*Zj`llIwQ{YJYSrC&2p~aHq;4kh=EDK5m2Vpr| zPGX3NaUvkTmIPO^*XjlQ)f8C77S5%P4@moUd``k|dntLWF(~9K3Pr?7@}&g55B~lD zJAe>$wzYC&bL$(X=PiC0hndrgFbJgaQGGM&GNy{_M#Lxr8{T@Rj-axdOc#TyW>Qm= zDu-C@_-O=5R#o!Nu@eM%Ro~|n%fE&rJ#g=rSHptHg!ju%_r5P@Z(<+q|8ja~Mfx@R ze^*H_hde{?lS;VwffOhI@WEl}*Fa@=mFy{e@Ct?K-v7hdo5x30oqzl@Ss-F`1`QgO z*3?dIsMH3(s7b+^!HM3n6O95TF5gNGwIFJ#&eT{T3{C>MTn15GXsea)x9wLdwon%c zqL8o#R~8rSCbg(Hjwp%(qA3dF)m(dWJudYo!He%HxQX2AM|+X`^R2x12gV7_lwdQRQj@Z=h{eM z_0Um@uzaT!xvV8i^*|`8+7zpI4|z$f*7C!{3xqM>6jTS6=OLN-5sfQAJ`uRTLr_Vx z#RF^F*ekJdtoZ)&rw_v_6%ee;xf&v9gvGknKLb{2VL4YS{t%6lH4x^#+1;*5XHtJsxYCz(${>jRYj9^6}aX6-JJ@Kd?-$a=LaD=tHB?9cu&N~iipYc2~GmT9$HJq-`rZR=ZB-9ZI5Syh4r*;)s zlX2v7gFqSAEHD`7Y&&F7Q|fJedfgM8sXG0CW2xQAd$kr4h@=}410LjlXg#N-sz=QD zl&@ATz7giMK15-+Xf3XqwyQw3Q8vm>wCZA3dpr)&T8C<`t-$J6oWb+$zjYlrb=bBc z+iLa%F4+^QVLs&Jhe^%8=!uv7#Ado@gGBHO)u&jRXc?7bBIifI$nZRjV}|8+fv-}Z z6-*z-kr_^X&ON9EJb~$Zz5O|HV!C#+GM}FxPVGDn$qP6aIOrM8P_-=S(Fg7K@p!rI zki8oUO}6htIvGYVu;j&vzbicwvSZVQT&XFYAt-Iah^2L8l1J2@_{J#r$IsSJLA+5v zzC<$?(j%2M9VzjfAedYB*K`vvhq&t3gtOh#$7Nq^xg>KL!wIHKZxge*Y)+{v{E7l+ zw(ZSS;GS|$=^bC4;TS@+CW^V|kRck%u^g~eTbaUr1~YbX`qA%QccK<_JqOg8_A45A zMQ(Kf18*WJP*U?r;F3?=+dgI<4;BPwKEXPtb`{oS5?gx~iBVBsxr}E2%PhOM;Kz4C zn5RDQ-|}x!C=u2W;SZ{|cIR-G!YcK6|^a;jJCAHuc%DEp4gHv1mK&e}?VX z5SDK_nBe?IHuXcZ{&d=uL)e>L?>12wGcV+8I#&D2*ZhAn@->~wedrLm+BHIAa}_4% zhRB>GM9Y)>5~TJpC(02gcDI>7z-i5u!va$jwo_`@@9^<4IQY;2wApEY z7^u7f@*q8E)LHdDW;IDofl5O8(wQ3oU#IL2KDP1EDZ0aG3^W<*1C>ap$uc|?sGJ&t ziFl2muKIF_I&_-auWftB{&dTy%;zTiLvo7h+_()}h%Vw`JRO=to`}6~%K@YOc;6x%kQ}A{11;VSi^&6Zh&N%||WY ziUwAf{=zA}6A>>CPP)Tv_{gxX$dE37Hy$UZ7b70Zyk@*`8bwm-eBW(FsqT`saZq3o zmebx%5bN-dIL~pgzW{k*(>r6MlipLuMSHvK^B7ZJae`TzkkxcZ7QUjutC0k3WYb`+ z;*=R{6^mKkPJv-tqt4f(lU^1?2#rDuUoHFHA9Fl9qGCBUWsV6UGUtq?dUr+n%$;SAj4Xy!Y*1U7gbWrLxoVL0!PHajFl+ppj5;(pappt&+`d6{air5fsrhacisHTiykjM1`Nn1AFQh z7?kUshQqUODsxJ;(f;v0c3~_O@!oFYjcrH54fJ8Wdq2jY1oIV(L6@s*TX)6JL~PK6 zpKm%sMNiSD>_Z15p}2?JKiPhq4wn$zI_BT!p5Y3Mf@;GBhf%e9Wk0;US_9*W63*Qd1>xrrdok zu)qK%+`FgplALEtt7c>f=fF-;Nb$mJHhP|Nic|aU_Vu}?Z8^h3d;UP{#?c(&)l?N`RVgGBHo0zt%=s5du+?6ne-=W~_vVobR@a%B~g47@N zZQ+=0%$V20QGHr)MUdxOz<;Q525@nDPUWZ(>fjo+$!cRqQNR!?+$%7{lfkn^N4K8N ztTeGaR{Dw1ALuDdH5hFP8>K=Ny(bUMwx;%9i_=wvt73=>2Q@9!xoCF70M_jWLEU)w zFTf{sX@#hj9{Lxy*R#A6z|{A4B0v8={O>s|9wcVj_ZjP1-|A(68EN)S;=%DXI{9U> zN9Tvr3E1ELVt?f%!%9DG_+N9?hJD#nPToK(-jr2h@R22s&6f}ZZ0_2q#M@f0*0=bJ z+ollnYMStGHrQPwRVi*^^)uYCS>4v<N;v zqVIQR+iFbtgi5Q;r2C<`- z$Bwp!k~E!TJOj({>)~;qwb4oI#L!xh7ur2}X0#e+w5yjH^`b=y?g2jyF3*{IN^Rku z@j?*QvB2t)SVfhFIO{iF=nP$9(1tk0BGYO6U3kRsuvfxEUP-PP_-hs?J|Nokishf* zFsT3m{jT`6hL2%uREKLm3B$gCSZ_#tOZ8aU7rhlIJ1XXXlLL01xeEsvc|7H5OepN+ z97A*&Ed~LbLP?Fz|5EOV>6Yyy%+T~f7Cs=WL7>&}l_Q{ndTMfWhs()>5&KZY&a#DT z#Xbg>yt-}2kd2J8)_)+@v<9wmPLb|NrArY$z~{A=8p_Mxtu5&>jui#*E6fH>+$J8= zs0eCbERg3M?L>3!?&5T7 zg*ZWQWIwltDs7|-SBDxv3MJe^H6$3^37{_MZnijh-M@;=#jh|Zu6r~O!$%AJE19uo zGUAn)V3j&WYTXU*oak%3Qbek#yS_x~p5GWERa9ahA{A~B4}DF0!??fO4O?ixAo6mI zwSeG{FG!(*k35eqhuSX^EjgG@tgj6$+tr7bYuAjMxVP%ZL90`OI}R zGMsfr|Z*V)X=gtp<)8<_8F|q@pDUdn+ zE&T4GUyG8w-B6Mkn89!b+NMy84q_{oh77B3+8Awuv^A6^sYTB4P_%HiXvq4)J48{^ z7)w^^4rNVqRGc~x6e(B5QZ>-y;jwh-{yx;4GE~<)msNcQS+_sxU&H<+zES&t>+Ip9 z5~XrsxG6lg=L3P)>?cK*l=Zk_KP&|9dNxjSaf zf*YA9KO-zRQ6q3)b2_F7@o#_w%PcFqDeRQpW53#U=+t2!4M7!wh|^%Z%&WxBjt`hU zCNzeVK3sAfDkmlu9m_jf+*)_#N9?k3f_Xxb0`GZV0WZdaG{#x(zPi(ccchAafxX`X zfIW4@_0+uF1NYSSt7D_-M?(Tkfp}l8NK~+=!INSx3ePAeAI+R@+#M(NoMn#;p`we~ z6M!u`6#=5kl1~|mQMV}v#bMzIN$`=bcGSIvbIqFr%U&m#LE@-b`n)+P`ZN7`_%4H! zI^2G@9x=nwx}a~H(hFvDG_8%=J0u&hKR_EEZF-_q$5*szPN`%RP+5e!@k9sh zzY&Qvyvn^XeJER3^ZxWd36C6Mbo$ACW5uHs*xejF~pFl!l<%9cQGanq-8Z7N&4wBKW;0jye>zxMG` z@Faf~LA#w?{W0D3C5)f2o!9cnMIAB)jML5&6bHQAbO7I6iDNN(y{_iM5^2&4vfVii z?)h%rODOuB+Yzx?cA%C?Op48BO#dD)${QS*$ubcLckP~Vl>F$E~iKtYyN$oXtPD_%+x!JzAqRDb*8jTh&eLsH|) zPhstZWOk}qbb^a^eZ$_haN zw8D9_UrfTWFTwIR^$Mhe`!MRmQ zB+AIys%&ul>r4VF**Dy=lQ}27XFim=KjS@fvT>LDf%}6ga`1rX+z-sR7_YQjn(f@O z-+A0eD>eHAmu{@t-EyvTLD3nh&##sr0Ink<UQvt^Egu) zp^CxG0=`hz>2mvwwd!xrB@7w6ac+QZ=sA@~=(=nI6GG-E7q0?G_J-0w=KH5&o}%$Y z>}oS1vem$MGHN^~%dsk=O|O~huqJKw=3=umPo1l2C~DyjA4i#gi+w^isUg_y`oi+% zHkKDIEO${%64sn(KJ}i}XJgS3gCeuf2Ik5ITXOZExVHljv|86DoQHHfBG78{C3o48 zl?ja78cR<=s8*9{nXC%~HHW7CIAU`$;ivR{nqpx%YI)$y<3Mxoy6GfzvTy6ydZPCc z;cs_fNNLDjMG`OM&0?c)6NR@RPWDXoN+lTIl6jE%&CHXGc}?aRj1u19`*V8r>>1d^ z)$BD-{)qd9YeA7rgw-R@Gkd-OeY zOSPHA4aq;O#6zCjMrVh0_N*oc-$LQk^F;n3rtK2fRIxFsvS1DND^*3C{^70_Dp5Vj z4prex46&M$3wg3q&t+@Y$Fbf)e3owT!(?N@@PL02eYNj0IaG&xoaRUUVc5m8WXosCX&rf{|UB-{)5w{?q| z;x=_hcVPH`C!YFM&R%MkFLt+PE!Pe6VMFp9YWKTq=JtN^VtAzoO+Q6;WTuyaWrGWH z<(#B04cKi{s1<{DEKsF!wdWW!7j_rn?h$ClOwYZh?2UNteP)|V{L3($Ps3`<@DUQyfpS+Wy~fU$QVu+ z4Yu!4kxaij`x78GH_PtSG_HlQb7++aiqM9pEB5QMpK#2o$I|JgFKPJCXj)?Fwx#^& z*v&4Tf{X*J84agF)-$=^r3m`IK-In7Y=a!Um~m#?)kXKCITNxy zer;;66GuY1Gq$@gviZbeYSKU5d{y|$JOTXQ(e$mOu$24{kI7D!55P@Fe z!U#SmIq^Gwp_rjx38$8$tjVMSXV8*+@O}?&ml(KZGjoQ^-sMOZtqY-oXd^mo8n!i*7T0{W@R zy9m&})D>(9+u`crEoXr!u)vaks;^E`{l+kD?m{z(!$awj5Ax(Q($KKI-C3qv$LZ2@ zhdhgc$o?Up);t@CZ7~SbzU$>ijE=HD(H4s_4EDs8bef= zF&qhssUv(rB&XLCML_Hg-jeMPq2m=T;XtJ3MeOrNN1XxDR7W*oJkgf^dLbr=iIFh~ zr-xw|3;)`^fE(bQ@$ql64b=swA*3d`!+huClQ7^ zW%@IzbF(*TRkS|jRn~K)WzQ-h55uS!g2(SeHe}09-S#X^Ix#1hN}zMtCfa0N8hiU@ z0LQJ)OaBB9L3R3hQjdS)K(^;nGwG6iIm025ZffoSF>{!wh+6wSPtBa%MHt#vC0>PZ z*18jGHSymu0&_e;1Z5q0|4S>HTUC-CQ{rI*q$rcNdh0&Vth<9?Vy1xzXB22_rU3yw zH=nLs@gRkn?dEAzNoK5>1=SWg76vUP9lH{E0uwpm?j&G zqtEIjgv$T2L@^k+7Ka7fG~uTWWrG zTgBZ%y#SBiotb*uP+QI;O@|3W;B;uj5oc-4)B-2uzSG`kAeG4u4aAo?%}JKD!%W7(6g@qX+cG=_h?_N*3r+!K?xbhI%^RBDUd{q&6a?it3xvZ* zlBY8ad3pjwij6k|Iomi(O99CDUByP)pqf;NoPQ{uiIdcl29`AscE7zDg2zrZ|4IiS zJ4F(TREJ)DiSL+I-~fH}-kdOs+RDYGAOlNM|Rl5maZpDvVJf zJYXXsIfS-;y$^V|IUb?@oyWvK1(xjgo5%r^_8R`R@G)@}C}2|?@VCKUh2yuEE(q%g z+~96KDEf@S6fP2G%sgOTxN3uwcMnca{#4#E%m^?uRaR(}q^SH7geMIr4A31ZsS zbB`@?28TE{=Zg|z!Mxk?eMmD)*ZaP}1RCNn&ID7nb(+bG4<%@9 zhpARu(LIChW;$hd=7!qAes|FwW(S_EV+)>R*xxN%JQO`Yg5F^u#G7*81%&mjJmM_y zoyt@%D&nuHGBSJ0;JVhmfwqeb3~1y|Z4gt&K-(t9xlNNnc1L}9(Y4Am zyKIQS+|2uCu&TS_$OBjzX#_YEp~1j`91pT!fu9GsBTjn>+ss|~W`VD#E_Xa5EbfCR zGQ;++@y7$<*+rq0d+bPmVCJ*r+uP+2w4T8{nDiY7M;;Ss8_a9ZpH&G*M;}o|c$}4< zRn>sU@7zV8F=Nx$XJbvfM%$VCNuL<%Lf3(yi~!T3P`&*zB3C@D7$U>s_>2#@*cnrS z%$F06`!EK@zk#C9vR`AHEy&RDbI}>^siw@j`pIuq!*#X)6tRz)!DxE9TIa~6O3^k^ z=OK|V*qy}ud)jt!fYNwlMa-_Pv=={5CH7(=hL}AfQ5>~D$rQz$$-!Ybgqd6twV!DQ z>+>TmwB9C~pQL`Up>3T-L43owyszk3ph`YKcAHuqKN)O>!<^k%Y^=DBOx*o$+pkjT zla&^(y$Q5Y4n@{1K!>~YGtKO2vUz0EXE1u*p z#uuMLemRKq$FCzzQ4RczqTC0`JOigSl4XWyZI zd7~)LkHVZG(X??6rNIci66(l04KIG?YU^4k(8r!MlPEc~)CzrWe4REguh>Y^W`2m2 zE2%2>xxeztNmTuXa;Nr|vrJz{hKN<L>?&W9YhXd9$o&+;R}OMGG`>*0q__A{ zYBoP_Kkc2jt4Q6k=yPZNgK^m$U7OBy^pjq#E?SQ#e^HF@jiYlgsJ-z3TlA3tFC+3y2Da0xO z`#`N=vVEe?|Mb!deSv`Gi{;E4Z#EAHtHndiZeIvDYB@_MDwEURs6?lIib~S(D7Dk! zGe1kq%};v?Ka?v`r|gc#k;<}kiuq|DZ+_-YlI6b zX^k+}K%FzoAQnkOawHT-fJm6+ZV5U$0JxWOB)ufM8O&{tiVFH-$fwshlfC1*1bfLo z$92%1+M?4|b;4+GNbaXzzq{{O=D_|7o$X6y5yC+(xtIN_EVUv+x8)7-b=r{GLuVfwd3;WZ0dUw z2_J55ABwIco1?9lytewQq#2a^(QU^0YM}LAhGE7t$Bc)`MIPt0j~7^I=3u?(r;~i1 zzYUsv$l31vGh~h=>zt!iv2?P6GVV`*>GNIjW3Q2eQ@!cWjVk^%%x!r`_SXsY~PnJeg6Pb$wAA93yiRn^`h3Ku2;e;*2OqR6|Foa}c3J?~}68uKI` zh|Zby4@L=O4fdcSCps3S9Vy~Zwf4ePpfw1jn9gxs63LqssrCXRbQ_!-p!vEXdA1R{ z-QS!8y7Zut#jbed(wC|Tb~$Htw*TSF|pC@(|-IWE>Poz_&P1Socf_G4DMI8OU}tJ}BC{82 zD(hNzCawTsnbEQ@V+b5P9og<)9oh76dGUP|&I_f_m{4pS^u=g-=^F2zgb84{F?>bl z_?-R>YmtcmBikt0JaBvWm#~zyb3IDB24A8{H_>8<1wHr}8LFSOQ%%MS7n)wAi~m$8 zykA<$6pbNR=C=K|C$W%r#od2N4pQ6#GZZ#QI6EgK-JP4HrJhoTX*SUjfGvMtVyPPY zGM~u=lkwG7C@`U(exJxi;)M1klN;r*>aK4#Sigqm8FN);oqCI5=)^ z4W&$RQRL~4-8{P|iz@FlQxa&E>!#dB+nL{J3(ZD*Jin*dOhCql>#~!M*lAPx z?6hXn53)^VNvE*W;_6~!?@k-9oi>%77WZ~q^A~nn92m*%w99y$?adk{K>d-ekHdOZ zv&AyuO7ekQHR{~khT3Modve^H2g6LMT?S#K1x`cA-FzNCDxd1Rb&-|jl>Mm{hI%4* z`*@hm+7JU6s?#v$w9e4(W${JEnx(Rw#*#QLCGzlK${2aX{j2-PBMj&DMS%qNuY*o$ z%aK=y1rlfd&Ilx6Jr?H$5}?~Ws71Kn(@yKi0u~CR?BRcLhFiBeS9Hz+)^f0n9YWEteX!=>Qi52K$N@u0#n8vL1 zJ!WEvCWaFpZwI;${fjlcB79|LkcWBv&)Qz@zPRV6nq|gH*h6du&KH@l%jgL)iEtRPbPlpqu{gW?mH;EhLZz_!+ht zsDD-^iuPPL|H?u~~mxJ;} zLZ^&N4PtPo%D4R|T==`P0y8S9zq8M6`^;kbtGLHxVZ1b+&;V}BEfccIY0bXGDNbE{ zMBS8W$K!P(+v#167(3Cfi$^ivC9}Kp=M%E^3U+&v**WyJ&iS_B&2kn z9XS(m)W48n)eJA0hS*n|PzF98mUq9#?#*!dDSxB6I2m%kiCxp=wUubKPmG~s z#8eaKML#QtAv?1s!L_C61*_TP5Ek~V201QaBz(~ZD7=CAtLtsgavj_ z=Pb+ogWL2ump(G{=?UL7A-gsm&Kh3I!cZ&R;7l)P;~h)9TKi=$3T;EC#Q##^H15%T zuI@O~e6h)yN-jjWH>+i*4i!_`0;eESvm+dct+OV7R%I7hh0{vhHz(-(G&%kzyR_Ur zFERGK1)tpK-#B)dv3b1Q;&Ng9>r7$IP zXnM7ok#D?$v5MkO$fyY^tS60`Ow0j>s@ah=<|Kup+ARHOdeHybdHKk%?vrB@+RDw= z-ToUejLWX?nanIl*>n<38f+G}9}Q{I>bUi-H3XFjjXhu@UKs?|^qJN5PJw&2X_u0k z#V<5Gy0>9J4YT%@VMqhbcNhXi(=T`+gbQyW-dKek&)93Wj3y6t>YY+9qNATHJp>9Y zqv3UCNu$e~grRaT{r|0XePeBE_4wby<;O2Xun|~xzhVOt|9t8&@CC#|)2ti#ifYy< zS#zrPbZbGaVQ=sE)Ttyv>6?-osy!Kt!+%2bFr2| zy0gsU+9N|iAC?#$n2Q)_EOFz8x)!ncSLI<%*#1brk(cXSRoY=qdcw+_rmu+L=WbRN zcnt9r+XC&Nd-lChdY#IV>@b#y2@mt9Iwbdj0usO7^QtMyfq+2+tLu}}&%BBLC(}&6 zXGSCPW$PCGj}VFUzB7z17@P>cGjy1kvO->KhV6B~-UQm=QWYOy&1W4ZLDhdm!As`T zv5l*%ROMe6_ExC|0mJyWb5(lp*?51dJbE%>6wN}Qjdk$#{FfHOYry~I1};$pE4)58 z9B#mfyQHk|PZhaFyfm+o>#h}UHiMTk73s1+pE1>;H77+k5|zie=(f^}7SL%Y`40wW zBkiy;nJ)@;eO8cKdurEb#jFTMGoDEX$VM@daAiVJ5wj`?%r(Wa^g=;Spw%$#JrwTL2J*1_pLK zl{;J2*cR%Bf$1-+^zS~5LT;6gx*Ow&SJ^?{JeEAvyHG~A&O%k>=FoeGs@Xzrt^ZG; z@Yb8XXF%ZLFIWEPU4l)o=D)y^NUDK))mR_&so8s{X4|WI-FRxAcDUv#U#|IbQ!}EP z2n$l_?)(mv2Ww(;Vd-r#gq3`9+P5>~?$S!a!#zxGUO!GZ{V>q2DHbT^N9euN56A1r zNcCg-;eH(R<$gRnFTeYor2-GcHRUXe(@`O<*Q^4W@$Oqy!XB{KyEhu6f!uT&9n{ss8ppCVjz1KK# z%#%@)7_xKCO`gEAhvxi7RNJ@RIENayg0pKUt@SlP|7M@J7zC!d>o{{I=GH63RGaK| zEE@?}+fMXrh;CzICSrxp=pZrPzHWzOUzJ2O>Up|5;Q?HiJi?pbW5Q}d)2v#&vH@=VowecHeq;&I3n_lZXi=5#0(!dy@ORt=;i z^H(F#H>Q#6@{PFNa}Q+kZ7pk}mUE$g#xoof*TiV`-TRqJ$}jyw`HJTJiQi87K2$=T z*PhWT^l9(p-u4>FUxzE)wzHWD+;j%g3dfUc7-6{kt;Y@`1B&OT<2Sb+o{qtkUG1x7 zSQTC~(jxX9*7iH{-TE+{&-%%4%nV3Z*f;B+d$VpJ>#9yB%NUoqTfO{7>C$Hef9lPD zpYjV1Ji2JKm*1#i`sBaAH~)3y=djhpraB%FnHgw38l<;MR^DD60k00JJNx#r>9+iE zPBU%x=6{2zPppdX3#-!DoByLZ>LY{l>R;mJFZn|L`riC&j?6#Z%OCtgeycbC-6nrB zU;m|Eexq>eGY8+xubq4Ck@-*c@>hPL{;&7uKdU!?1qG7^xu8e%Ub(|te^ZcKlKlj6{RFgWx6uK%P)Od-=%snna_Xgk@<&v z`K5j9oBwyc`7a`W4m@VhlVwZJeR$%^oQY53GQ2C-r#c2pC7U=Z)lp$|vm=Q3GL7AD zJpXP(RfXSycYTU0}*}d&0J4~P$uh~GG_=VQ3@pEz3-mdsCxPd>W z@@%<*4;JtKFa2KKh5LNP6}Y7-Z+}F8JoPH9t`RMQ!ftslmeYnBi`|HMEh@lkkk`v1 zcl`ZkL5;exPcQ#IJwJ=Xj_4(`QjmxZ%O;<}D#eFqg?l%qr%v~)wn^D}kFbmZufm17 zY34{Yc&@Xz!W}k9|0sibRx-}qjOS?1K&vjm8f*lr6{b#%8}|2_2Sw}z<~k&S$p7hE zCH~6WQU49U0XNi*H#X!l|Ae#X&@(D|kg|>eb5RdAHa+Mn`r!VA=B@17%;KnXO-Y}6 z22l@?ZDey2wWm7t_*K=^shX2j%?vm=ojRODJ$GXu6|w(3L5xaDrcQa2^uwl!R@3|D zaw6gcIA-^v^Pv4FAJoM?_jQPGS~s?|ECXcz%HF=y^Uqpn^5J&i-#g?!aG&%F7{2H$ z3hY*aUs8ZusX_V+uU_+hOCpBFi8X1xDv1^T-n3SjQXRUVt5b_>f||w<@$NYB2d z7S3H=RO6}kzLQx*#S_KJcxihJ8TUN$Lwp|2!}ASkGCg<%_j6T^=Mr=e$a&qQD97M$iO%W)0R7%!WX;*OZ`*6TuC4(CffMox`>!TLzcnivJsHtfr5g$P*=gEV-vXL8hBJ zZMi=?uj|(o*s$+V>Y0fesl8_UQK@Hc&|}Ln_&a_|PXr^(9F-eV%K+1y>54PoEcpR{ zyx8;5wcp=zY+y-u&8LA&U$Py|hX^pNi4Th(r(Pj>;gR-?+@7`ULnhh}dSCYU5wojH z&S*i4i~y*}UGp=@V$gv71~CHcb?(n$%G`5nkgD73os^84CBSXk)wZh{j``_~%<22y zL+{TudqHH{n zLp@0H-P78jdchp;wP3wBGQ+-hNB@+&?%Z-o2^x?|6-iZu!yET%J{ZiwL>1-bw4)o% zMD-Q8A%`V^!#D|X<`jt7m9e~8L`xR)F6npb!k~dK!2w|Fl=btM^;bsgyiV3K@xFKK zJH15aa!5+jH({msmL?x>9LA>Ze!535B|f^uiC0uaonMwXGn+x_N2L@+%$YgWJkKHW zNwZCkxRw%ogPU9nPmUqcYm7~$SpwM|q4^T=>wd;| z^cr&J$tv%t`Le@v=6!6QLp)pdv%~ggH#koR<;KDP^zoHSOsy$O9SSDiu~J>N){IX( z* zVUjT+E*}VqVxs1szmODvs{5~mAT!2DJwIV6`J<7$>@hElr;&Bp zpLud*&w6>5WUj!%tbZT}3=BccF>4_x71_TFe;G^v-jff$;VxcrFiXBv?pT;>iMJOEq!l~VR+sLNmk<|VYQ&s zZ!k$u#8B$=b@T&K*^uvW8H-YXXTYftoIX8=ahGZ-0oB;}UEj8fSmNT8!`K{k2R4~6uez)x~*TchH z;u?Zaihh*iMtCF;+aVR^^IW5+ej|COc&RC#Wad?TD!*S@9G_w_*DFp(!)CNKDM`Q+ zXF>Ut*Q6u`Pn;g9`Mu=UiLVieEnAb4)H*Sc^&?MZP0EP21NUy=tyH3UBCj!`!8IuZ zr3RCnzwDqG?D(L-GDk`cE@?+}75fc$7P?x;KrDCbFIg|e0VLP#)O<#RLBX*kq*k`d zjaV2Hvs~m^=W$7)B2LQXC;6)j2==MG!#3rz5{wOl6>RYFEmZ$BaPA!aR4L#IGTD5Y zq~|E=!p@4FWBfjxDaANeSI#l2mT)+=V&OH~@#mV8lGEbMryzZiCT>WCMy1Pk@k}U+ zczJ524{21t!~jz}8Y4>Nz zmBz?6@#Ey1C5bCg*b|v%Sm(x+OjUGFTlPu?hT>--KM_0CSjpSQ)XPMK()Wn%l#{|w zr}^&qxC6yoEkEWCs|iSa4EFDjtID1(MgsA&gFYG0T9Rx$`HGOWJ|h8GNCwAIn{AsC z$D~%?!xPE2SI(g7uXT$a;xo!1^IZq!QRs5pw&JmHV`}9Bm5DIJR|oFxN*(Y+wtS;2 zwekT|)v~Vk7^)*oT+GLU+{Z>SkN7#_;{|-2&@wo+@@l2E9G{!Huwh;50(GBc3I%v6 z?I!Pz7X>2jPCRntHkM~?nyG_%C2;~B##;eFVq8hpF8G(fAS4i%ul z0Q`!X-wf`r3CH*y&)-;oet`JFsgbjM@e}L;R2;NNeQe*nKVskfc{Zh*xZXgK!o>23 ze^cg>w!MjBZp3CDqTeOyDNs`{T9ZCC?9-%86Hf!6_XgVkAb@jHQY#5J;skX+r?hZ8 zy>&GP|Fa}?dc=g`0E%6f+T6b5n6bH*NBy|LxI=nw2%BJQ;cj*t0R;;xh?H9ByIe1^ zf+}!Q;ZD9Vvjt^(adR)_R2K`NUX}fXwCS*baO_Jy4fQeJdg&Oe9(gXG(tJ8 zK=sn>3hf7G7YC@7pkc@gbr`=;dmhQ_`8TAb-G@lrDHtGh-UKk!+yv#KO}i*FX_w4a z_!PV(J^U>uLnK|PoNolUjVET?gymeS@F6UAWz_!x+Ey2BE$xD6!uI{L;RriK$C)K3 z81CB$$q7=z>&JSXM`$(m3}hU3#+BALO)qg@S_k&Kl(K8hAsTTm9UmFOZTdsocBIDy zv-`G-(C2??0d|~m%i8!^bbx5Z*y-E%rn60h7(5LRE}dxFM^eJSuQu?b$u)VgM%C{KHZujzS8H_pAK z0lBy}(4ZJb;6fFYwgFJPC>=kiATnaHNSSF5gY2BeI^84qEH{2nxuLWx;y=j#&w-Iu zxY#JN$NEN$EefPJF^4r{eNsu9^|#AH?#pY`CI=BjZ~QkW`jDeL^(9WCwC2M=dY-^9 zwG#|RiS7L8wp6#=#E;zQd2jV6xUg#oiP^P-tNSMa`^fCp!Y!;^q`kHO@2Nm{oVYCI z&Q5J6wSCtAl9n09!G&!z_`?)187W{2<_ly>XPeCJreMVX@1BWlyomqJo-_FkXE*kI z&I(F{?&>#hHekpH9POnCef#y8&jf}NHH(Ryj3PYB&=x^DOU8N;=i$69K?&Mpk$H8_ zy+Yb}2rrP|W)lF~{xo7JrEty5EyKf3>%E31vNzT7=#fQ{n$6r2TLWQ4-aKhUVD%Vb za@S-wdW>GU=Ff(#IkB$hkA|j!u*imM9u!%l_$*=j{kp)CkLzll^oSOj!pz1WwqXOI zE1u2T|5Doae;Iv|Tl*Iiv068r!L9@JX){11J1ZG^H*GT*Nr%9j1v1HI2N1(qCc{Yd z-kFA%uII2F?2QGSnKrWCxz`whaAhvLwjL+MGrF|PqRvwuj-k8uQyzvHz>`o)*q$v! zlUdD@_%oUR3p;JvBE%%UWCPZ_aEn}}J&BDKw(n`voD;m~@c#NwB;AyaHoaGek_*ur zkZVw_{cbEh=zKT^i6z@-05ef1E#8rv{7##WhnOF~Y@7LP*}tfa*_RQ(@<}nDmL0B$ z*h?iRW#t8q$6=D3(+1#@?+EUbuLlIb4KUa%5D(Dq_9^+C0v)|Pxz&ZD%Y zXS}QK^!yx%t4}|vacKqix&5Bdz8P-RlKZ0R2i3BB9*GD@n+a%bx=0n3C05Pfbo1;P zL$~~NwXle8o}EM!(w5CIN`7p#kirq8v1Nd#O>hCx>D=gQ*%f5W_*U%%!4*z@Yos z`T9OG)W=@xA?vWc)K{2F4L-tDYHPhQm3ky8!N(D%QeM8isnqomV=8qA`7D`A-KGMa zAXszr$1|1c#Sy*tAq*Q;4HEE}RZcf&*2^q1wj{BpC5u1xXEk8jzN_}U*bgL z@a|_`v4&i+Uu8~Z!{Se><=@fCS>y9=qg7~1xYNQ6c4w~M!=CQ~RPP?=)vRiKiL-m1 z-yP-E-k7U>#NkeTJ~7uR&evCdfhr*1?poS49`Mwz>T~OWlFZJHZR2^NdZy`KRd{i_ zR5$!&QB*1DZj<+xrP&RsW?`B=k0@ORkdQcaOxxu3hqt)^2S=dgW}E+&I(1$GOUFFB zg421cRcHi8R{C*mFsY2oV}&cV{msVL<;w;(e{)5hy<9tc5<_$hi+4aDTrqe>x-5yX8vn)V91r~So{6glt<{|vo@=O@w4 z{9Lj!CdQd(Q3*7)ZQTMFe$HE2>=mU4p@FXZ55J}P7B$F+eF z0-0q3KfX=FAW+t3pRu8Hzp+HPaaZ#Y=mo7GCsbugtmd6~DV7Ch8h`m`o#rp(G2&J* zVqc3iBgl2m7h!pf`!s-vU8OsJs&=`3L5bY-_1X>QjZI~&U^(}zYa3=6?+IFoD)QyG zd(fFRhU@I44#ujBd`1Ed`x~)mmB5Wg(&H5^P4*0R_FLBEZXh>j)*w3*mQ{ZMdZVKi;ABUpWxw z<|BKA3%UZ~&kRI;5riLnNUcsTStT){(bd;Ct+E)Hd+P0IbAzT(TQ^I3aeDYOy!qVa zzdDfpVS4!a`H!2;dgF1%eULAhY7GV$+P0JGd6B3#!0jgaXl-#b$G{zUDK{x4^^7W4 zi5)8OEfQ2AP|A}kfw=`T2XnL+@KVt7_>uml()VWWjgvUFNIjh2QE@yV1 zjdR)Uu}->XId`jvQU9{tC@!P^`&{WVQ$xAy)ty-tP5(u8anJ|a?`JA8IQIbBI0?DB zgsL*}DP{)agZ2bkQks(M0=Mk;Ul(}QynuT(UG6J}n^~!u(ovN%iJe}eCQVwc`TFWE z_7YW-gxik3y7!T298)M+6H=lHk?M0iClcGIuN2Wr-@j-jwAVO{W(LyhzDFQFyBqc_ zb{3D}x?Uh&wat|C6yywXyhw*2j_$E(^y-AjFeNH?Ue z-JRJPN&gh&uM42Q`lk2lCx22+)CBd-%vleuOZ1=>NS}QaCYd>uK-{pH-?i+U%kenZ z27^4Rf)`|x^S!lO=+SfwwLL7mTo>$L(*^tHASXacwC1%0m&l%vrrzg@tw&YeX*I3X z9Zah!rE8fMYIfJxY}C`{-X^#bNXehh*It`HonO43Jn8#&Pm}5Lw$E#O7JFt9t8XBl9FhSDXW;1O7xnq4gyM?GaQ z2cLi{=8P|?ulYEBrc8>}W%qy7IxlJ-_Jja4CV4i=x?w-Ze87`&=C9bT_R)CvBF9+z z?1|uF*>#2OkFgc^#QZVmd@q`+WgF(mU`Pp(qf4I%n+ ze>I<$!WXQL@K9$zEWdG*deqsoDT zD+VY#b^#Vfj+2>X*ds*0CKi=|%RPs22_NKq<&?O;FbRa`?a;{G5c)u=-M*1i*5}s8 z!ly{A<^z-|a7xmg>aHMCp5A}p-*6QM;Fdf_VS3fwEO zF}yHJn*H(0yWiwRDz6tG{u%Y9Rxc&F7es-rp;3#dm@3Xnj0c^ z<3p#|Q&TS6BFu zQPkUS#pp2>APg=@Aq^qoJZ>brfhCVi<553(D-FQ!M4Jq?H_@4|8Hzwo%)L+JdiLU` z)>hM`{8+ESPjg_&I(P_B{JwZ-Vsr?0is%*Mp~iaqwu+dIsO=4&D(i{S!5-J##2^Bb z`~oCXWBi%oo_RfrH@Y^3D`n;r&r@UE&QbPgQ@FO?za=_ky~vSE>_^wB^HH43*q`{j zdalwDp#O!x9fFWyQ_9PrpZ;cNkPi@R$EKa!6p!IN729{fc3s;7*=!n{{q~6HJ3U8~@ z+;=th+)kGmNI5VZK|ah>*4ZChlQ$oxxqzprP2V_qbpa{n;f`MJV6o6g)W5mje~>&m z>=5NLPt>k6*kM2)?10Y_`@elTlu&2?Q3!?~p%(Gwhy>^9A>gpe>+OjZR_a~MhH5K&uF)XoYcnvhof}fdD{WxOeC>x=I<*k7IEoaG#+bb^ zu>2#-{t#4IwC9nS-GvQG&E{K9wKO7uv4|i#e^unAj&XS!*da*iZcyI1rTsjOt9*}GsQbVO+v*%axlOBtVB2~eY zMEi#sn^?N|-N%8ew4*B8wl)v5a0|}9%03IBV+dW`n5BBEnPTg^-idx{%)XE#rG*W1 zNoD3aPqV*sVILCbDrg+2k)BijN0dj@KB#VgYt@>VPmO7w#2X^Vw z4Lz%Pmt3^}AMr5tSCi2cR@%F4f}RI+8Q%T_FY|IQuj?h1dwHIh%xz)kUNveoBq$VH zxRKeWZO*CGrp;|^m58s?CIh9+#l5}vC4LZg(ua$F>TmfjPQT2Bp7=MZMCXXnD1;L5A*)UpyM$!1kUM$Lc-Z z!f6HE?fD~-8?5v#{L_8U+pX;Aa&&m{Q&Rg2632SAckQUK?7~dHjfL9f!#b~8o3At* zA2OO7j1Y*4V^@@!kL;Q~i!)R;J(wL`4MX>isf02Omc8F3H&l8q{QIO-QHI?oaBL`cr1CKINp#vP#DK!M)9!|2l{$s zAp7M{2XSN7bH`VHTA)&Ge4>UYwi85lDi2S-#=|W<{Ee^pv`H6d^yw!&yr)l%Je)d- zPnYs=+UulT$ip|4=R6)J=+kg@;{^5aWcBdtr2qJ~yTPNr%t<_deK2_tq!pj0hyFZd zPZE%k=>Vxf(H{%BVpAibrTVi-e-`S`0{xjM8Z#a;e>%uafKdC= z;gorvkKJJ2p=jW`1L+?L2=J@$yr=4{Ambdoxc4U}3z=Lp%?YGK%H#yG!)~nR&-f`i zxHnt)0Mx^F9xC*(!)d7G=RK!kC_lTMhAMtOb{cB=+3x_mV?v)h4KXxgPD2APMNY#Q zeoCB%Mt(}2hO7Chq_*+O3j8-r)I<44fyUZq3#EePk1<5YBBVwvw17)ui9%;$1PRz~ zvOI64+$1{6IXrI*6P=gz%{n&b@vuMaf0>{6!v5Fz`P{#azaNMFuPBo_TNdeQhq5nq z%0gk2p(O0zLTaT~SGhiR@?I47Z{?>ntnlXQC+QtM!WXpOP0yb1d4Lz4d-EdpbR^cd z61ntewf4^=mfc^;3+!v4k$+zGQDES>YDlc+PaVc*XHS<=Xw+w&etXrehn?freuH6kqqmTfYU2%QLHxg2gkXEnVP zoAjwsz^C4WdgMs9CT$W$D-(!dy>lHN8_to0Q&^(j|4z*R@33?Kc3!CMp+-;u9tD1M z9xt=5;Kd1Bfn~oO93IOR(ZG^d{C`6ih5|ZTcz-8FE|1t-8v;w#`?o7>`U0ykTotij zZ@9krdf)ZzmR1v(h&_b|vjT=s1XB0cvk4XzSaxBM0gbm`SK!4G<7+`yYz@~NBaFfB zyg{gtQb(Gd|0ry~isS7Mb0;9T(Z|{^)Hm(reBWa(TS>EY5NZAV=G~-iWE!^PI!#Zai&=byTz|6%< zpGM7Ue`vot+Dd<|iI>2#t*k(qkWbva76s925?~t-=$q?mP-j2527BHu`|)9%E*?mh znoo&PN%Gp+Wye=<4qUJqD@EbiiuiYLJ;9tX$payaNJ!xJ6>>H=G!zoRf$c#iKUt2YCfHMENPearuDOT zU$s^qLha2_`@^u^O%PAyPshAK4tv9Bj{1*?V1VWBxT=VM1A2j2dhkcTwhC{p-S=5w z$weW%D`I#4df#UZtZ5TayOdE_g_o8`?W3=%w}0L7b&2x->he=(-?f_`b9sMT)ZW+Y zAt7o%KQ?Bsm*b*#;4>UpeKdzwS? zJFjcs)~p)@Go5Ao=Ae;LdD}+gp z3oJVs6)Ru3#1b~reKJ3@ z(jKQ#Z*Q-&dn~&MuZMdZE+^o@^?t6;z-id8yHCuai=0lwHbv|YuGa;9B({(_3LQ68 zM|`DQf$NGZuQ(6Do*w^^)wD;P@gi1X#b7PP9 zS1~xncGSYTpJhZ!R@Bt_T8_5sq}{@mEW$CW)GG9)+duz~q1&}$`AtMbBj}s09(~j5 z(Kq|Es5?@f$0-;I4kqwEwRx?s5dAqT#f-I4RxX&X-j$t=)Ul@XX{jAlL`r=H-^@#(vWrJ3KDQ~C#r3j~M1dcgjJc!> zbg0+yXP`;eYw&_frSWH=o`M%t>6JeN^%T6ITCe;WsHflswR+{xKs^O7u=L8GfqDvF z(4bfT4AfKbf=0daXP};f7mU{{e+KF)c)>)y@@Jr)f)`BDD}M&+DR@D%UimXnPr+2u zjH$8B`yH5j52o64>E7?a+Z-^49hiF$rUU^>_kIVOcWrC@EP(Zt8;n^fN zyty!V*u$MSUYSRTPQ9SS{T^@ZWBYhQG^C5)eA4hCdpQ~LZdYXvr!!8(P%ct{Ewpm% z=*>}jILEk>-YkbD!k-iV6HIUKVb~U(XAz4FKIit1#_&{@K7nY1M@&XF+2~g~XW>mO zRoqd?v?SSF?{}K5lN2?gaoFC}givDvL|>yj;RFm&2`1{vArMg_dwH3vVW!qYP+d)r z|MEmkF`SEh?X98pYE>G5;$~8bK|55O%k%jhk#@Y6P^^l0jG(aMJ^2qg;Ur0&y-AqF zVk;GT6#R~lqzDw2+@e=W(1|$6@on2bdrl}xgF`S_A_adZt-R6GtMOYNwq?Lw9^Q7y z{Xd9SW7h?RMMDA+Q@|?r+&X&V8~3qaa*$A_QnXWwBkXil>+}} zu`tZza3kc{_GXxa*$Ca!MfYQ3SC@_qDyW;>`FW(K6DLibL$=5wy3tOVU^Ly4A#OS{ zYd;bTh$M)^d;pqm1389Zg3w7R@(gU7J8GKDc-iwSl5{u1E~?$LSb^w@Se2(W78aA4 z)1!B_plEXE4!-U1z7-J+yEU{k_kt5g-dx^h6aKE#EyOD=3EP$6?Xljpf2asPNA?$x zVY64h>N*fum6^2-ww$1PWdtAwtHBjl2*N7FAH$}3w3A+jE4g8^SJUTwc#j$pEK?s6 z98D%^l5|9yHmclyHTbmIQHXPgV^{*@xjyNoorWpRnL_)Cx=Ty zVd#?<8c2=+s35-j^rIn}V9}kcwY0TiFRBltXck@(EP&^lh3A@SSzATv=FX$%CJ+?j zc{6iIo5)FV;tb(Ma|55t z`Ap*Oqct~PQiYdPae|UoijG#z99fa}stvV4F^lR(C*1=*&RAlQZD|$HW4-6$Rb~p| zH{hcp4)Umm62`HE0(Rl@Nd zw)s2hAvq&8R|CSS1^Nsy%ak}$Qx>8Eia9BlT#@$2$MZSxP-|!d#W`G0LOnAboA{yl z1bm^c=H0*pt)Y#4$^;`Ur7}g@A2lh5-ygr0IwG^5@RHjX|3t6tk2mpykaqeBi1Ut% z09D!|bv1he52RE;>N@qXWnjel?IOAq-uL(VroUg}41FVJFP>s@{9PSxLD7HBesGR9 z70ktNC-N;ng?#a2sQ#!8sYmsaxqUCRK;oG2J}sRuUPP>)osz{Ac^Uk0A1b2CNBiiRB_R3%(7HUr5*0(=1v+!Xm(*lXO@NqlX zolBUPi?U?;^?$zl~ zD*nqV_;pg-`TN6k8K&oGmn^JCoXJ&|A7jBmJ1cG!l52J@KImh;`vdYWy04C!Bd1kvM0=}N`_XA;ZnMI==FEg;#5d8|JDrE z7XN+9-SqE+Y%udRR6!bqE>0oy{8w0g<=Z>%r654ao`nN{?2sUdRPVz*_*Tc&Sp`>dqOhs8s?Y^Z)+Vo1=#z4p31YprKJ z>$%phT!gpe&4evUosN@8%wmp89hV*~N)@LE3scA0@K6UpssRqZFtLHVJ}$J=A5UC1 zB3E0TEe0J`%W!&WEZ01WT^w<0WAEA48JoQ|WxDZ1#ys`zS)v}t&Er>2C~iI$j}(3K zQnBMyd8cUDmJL~D+ep+wFn+IsJ44+RXHz!RH5jIay2a_iuP-~3)XBg4(6qJd=9B+W&4|mpagM>iD@J_Bbf$rHLtmDU z8n)SOn*(9dw`1!TCmL~WSj#=WkC}KZI*4**1lIPYL?Z$etw9yMp;Dsx=AcXU!Y zjEeN@LGNq-Gzxx7Efjriq5UCJLbk)l1W9B?0hZ!g(2GI-92g=hbU-vQ^+j4W9H{0H zAylLe7v&#A{!qiMrkTNzPHu`K8)fm5D)vrf1u+A$0xZMnn@*&bqgi>e%q0hR4ra$d zuEriIpp)hA?%d4+ZzZX-ypvyjAo9267`oOocj4VN-nhz;dPBRI!T|$dpUO~__r6ICfi^_}R>aF8#eDP?5AKPF zYRc3bwILkf)|6`Z@g%C(JI6Gz#*i+MxzYRRhG>&M{o<)Se78NhJz5WLv2MRdc~aAV zQ-WUu!ps`82-G$8$?JFvIV5w{AY|0MfRxq<=oCF#5-H3e2~VUdkboDGBZiV{D<&-; z%lcJqdI$b^?|&unlR>4-x3XeYgGQdt6Os!_+w^tn5t|U>VNR& zTZBhaGmh-*!lAyd{PO=pUz4BNS1kviryu&d{1^0f^MB=XS6`C{Hg?=Z*QCRLtmT)#I#5ohFSjss zH>-%tv*a#$H05=?&2^Er2HTQ+UL?1gFbl=JO zmnl3tCxhRPWGz2Yq6hw!9=f;%r&dr$Lr{7u`O8|+@Wa@p)l4hXY;IfWw_As9Tx{tL zv;){D>GD<2{fSb#eyYSCeuI;u+N z{zJpWTr(beQ02VW2GGQK1sw(Bg~)Vf1LKf?pqA5IQ)zB%Zn; zao4MU^A$^GqPtp!JGQob$u&L8J(Jt&m?DmOb3_H|y3r|+>3*RneKi__WRYLNz%Cd{aY8V}vAaY{$_7qwVq(6vNn zgQg_uJY(lt1w-#84~n+)O5au&0TKdvNspcx^3<4TDDDC}edHl7+c*WH z%SboHQBAt@3sa+Uk+B4Y%j_r;>!4V;v|`D95N=NiWE+eaZ_%qcXw5S`t86nl*8_md zR=#ei&)*I}80S^R7=_ksiJoOY7=Xi?bL$}BmYId!ozbSmn!F)YJIp-h6a=)lD|F|mJ$_P}T`cRGz zX63~A+DAC<)Uu9F>-NX}7gyEuwlCOemF?u4?EvXzeqW^Yn&^Fgky#D?8*+Y?&zT*w z%DUf+nN#A59p-h+8tXGa$v$K19RH=s6ao?Wrp_gEPLGCo)%^U&b6%qPSxM8RDcq^T zsv%CEhJ3G~t|+yO4Ejhf`YDs0qglI;l>V#5qQgc*M0x6?{!@CLpEPN8L;oqi)1>@# z->|f5)_*kjW8HRX4#n2@64n{d&?)A=j5j~f{g*d$qNV&@WjG`{J)h;tEYz!+Gs$`A zup~b7qSfXv>+0%#q&T`sy-NyYEI4c>iO+krki@-0?dQyOY95PDFx67E$~Jjl_Ooe~ zE1%i2=Cu|si$IG#gS81sA1oyNF7!}ugr18YF~SNpseTGXw?rrkZUH_}iY*mo4hdjwqPKjq8GKIX~T!58eL@F5Ze^U9sdqp3C_z0+kqeEXvvlt;wF2zk5 zz<6blbqUTh|CLR+bJdAq5ZZ1aJG-#?mb|84vlX9gM{XP)cVWNTg=j>fs+s_>`(V1WfQ0RAa?|rD@|o{8V>Ke-K+O3w?rM@5jv6@v zTlXi}FMgH--s_$FH)g{bz(fn~w|kea8TJM)I$EtG>_1~9x&_~eqD0ig z;Uk|^WJaz59WnA`W~0VxWKzQ|huYrK9!a_n82&9x^SNr`0-87i5W>r#RzH-d?v$uv zEEl-!)}?hmqxHm2RKbi)X}OFFYFJG>qoE zG({)Ao&H-Wy*b2mjQzw^Io*e5>Qk?_z--!lj}Z<^u2v}d8uGs&BD`pNA3BQZfr6a} zVHYfkMu+bGZ}83U_y)j1D~5xpWunU%$4f?bv|pxc=j$B7MVzRm+{?8P@M8hBU6eN~ zt*>5TB8PeZ_OfO)-C*QMq6A%2THwnYXXKTxd4o_5=2@TIKkSnc zhd%j$pbB|un=hsFdh}5NldF%uGwh@OD~HbYDj+9aNe-Gw_1>5*2Q*7Y1_|@#(s{PqJl9))`3c|w z*<8@Hm{I0^Dce_z*4y~aj}@q)*uP2Z#*ZH8qr2G+6SqQ+HIH|~QSV2eNBfLWZ9^{d zPMN_cMbgDYLlag3q1Ng}kd}FoQ%V9?U-OBfo&qo>%zn+et96y^o;DuPWN&kQVr*oPq=3+^!< zfwU=;nfnb&rKj4l;y~#h?fv#S!XBp$w=(rD-V{-Dsr5iVqLv0t8hi_s%EYv3oU~lh z+u*y|EcDJxMhRDB8|2~DJ1O=#-O#IfRn$f~n7r_GuYiha=*mL+T;1b!x4fQfO5kQs z_0@Z2>{#}LLC<7Fq$Y6Uhv_#8aBcU)-DbU&nw`e+{1gDy?Yc`UU(KT+gq6c7p&!oE zGt_f@rOFFTXF10v*)R-;66l=474)B4A2nBuxO--*(0$NcEJnHy>Rv%73cU$C1ZFcE zZ!j?or_Vp83=K6%y*MHEsfDDDl&iZGsLPNudTC0DR?!=is|QAX!)EU-U3SQ(0iX^J-ZL}RO@_bOt0Y)TBi3t>hP|><%rvH#~qL-gP~=( znAG7JNPU-&N4&ZFtia9RGS!w^m+w&GVtk&S-A@bSe)cLa(Nvn#ZCKvWYFFd`@9Z(h zzD)i(>QPxBrPl8_vUPRlQ0p&aWw?QE1hNIWPF7ABQiZN)D&t=I?c?dL>wo{CFkCWY zPr4{GrPup8-}wMU)K!xoVj69;aThX9t-C`_ET(9F(53)@cv65kRN!*e#hHpJub~_q zbJ89<9d^;X>XnbK!;RF$9n}xRm~7vWv3D-Kmo5Yq)?;mA# zNcoiz=pCKeSGgdoHVb;O-S9VuQ$(kR3`Ha|XBb7~8ji)p&b=>Hy|=8aYP~Mz=uQ|8 zL~u`@=ODwHYdb}Z#zV_>ukUevE=Xt9do5w7zkE-RdxDwnGmr1sv8)h%TGRyg?&^s* zVjQ?E2unVK;L#dOjC#+MezksBR;tIsPRC7NZ&fGw#1@eWC2d_Y%>DPfQ4h+mWX>H@}zMe-2qhtzHwVh z_$fxQgr5@I-FPp=8_DsB#*O!pWa|{~H-6gL$Hme5giNzCvFMrg*9B|c)oUqYU*>(~ z2@ad|rcxxIr{j0-i!jJ@kO$fqg*0~UX+!GKaYuOYURdDlWq-kM|~L)utjgW8#?)n<)p8>a-sV4n?ZXv+bXJvYi0F1RVuv~)Dec2 zz(t6SS(FnY+03a<{s~5C*UmxRcg?qh1W(5l38$tdajgeSm?c$$dtG^?<7&?*yu}+TpnB=7V_sPj5QX@PGJqjh()7bsGFT>~=;S6Fb|tHe0PG09MfIQ0Ua` z*IGBqV|t+3i~j*sxlI2M^!K)2KRf74!<;)7lEh=oV*jU=pX?u?$h7D{8&>-!XEuU?3{eK2UAzqbu0hVXOTu9^9J9BMTW57rW=CCUuHdgmpZ=^_w20K%!LPA_XTb1hh6PE z&`YpKZ@1I$24#AJH$|PJ=!2{gqH!+~Ifx^dms97aH-zyUAMj1y7ni0tXq32WN^fX4 z2|TyGj0&pKh{Jm9^!r>Tbu+b%uR^HK35m>fWJ*vu!a!4$;@TUFPE)F+*7*SI=Gcl< zbQ<>;tivB%MNh!0({n=UsLQYM36#u;U%E+*iOsyDrCD5Yq4U`LCe}D@e4$(N^aY(P zp~pg6Ju*&DEZ7q5Z4VX6!yc3o$&!4sPSc_gSkMV$S|2T@zxhB_iOj811ia8`H+5s( zotm5eIM{Mk+}L7(nE)gz zd0#L^Q#bn(FyB9{$ zy@)!`ly6B*ckj}&x#jb?urKd}*lB-Xt17nQ{`cqb>zKFMFT@+~l2;T?Q0JkYcaX|; zQe@{E6-nz&BKM5daW?v?avT@WoOQ-vF87B*dIR~Q2H?YZKRLj@Y<$qKXuyA)c~rG| zXxXJeQ&axd*fK`9$(tVG64)aEpx-yYI$Ye{H zZyN?e_ElDke1ayNx0Cn>rd6E(3M0hayNs6??JIWJ9}RA(v!3|puxOvx?3qa|3SHt# zVqEmh@-34Kg$h_`-YaM_<^A1UakVVJOQkC|A$1&{>!UTTk9{%9=HYOh4+>1AH{3c)zJ)` zl9^irAQ!y5im&^up<>~e^mTcKxh*y4@Blqk?0(E$Wn4P)Bcg837;~c@+pDgzY{o8~sE<86p zGLh~?Z>SpzJ3%+v+XCb1-NUaYx&|ugfkP(A$hj=I5=k{4-db}mn5J0G=}pO@ENC7- ztMpJ7lmuDvuK%i_B&W}gLvO$Y=eFOeu^DwLI!38be8G;vc<_aI`SYN_suxn9i>(YZ zmTsHX!$|nLbDA4&OHS;}?%vyfRnN*%*qW^Vjpb7>YfeD@>hZ+&iUnkra+w)44D= z5Uw8^=xrdKt4i07@9W zX=Ms&YD-RyT!npyZ_SRkp5Lg1=y03 zzz9PSm)N6Rm-g^67o-BWU?^+Ko`KityMprWOE~WzqP`Ttc6BGcIfC>8?3f!y-03Ch zKNs4W>vEZfT=N*wd{J1M#vOr3hVd|zu(vj7(yscGm3fGYOd7jB~-a{=9Cs}*mH^{4U*xeedV7$y;CS!BV%w-R$pwa2K=DQaU zw}pYP4e&G5(U!isM39L%=snxz&yy^2`nL}f!yAi&x=hiU_}aQmG2uD8125Qu2sCNRTyWU3}6CU}6&|s^Dxq5-+OU?OTSea9k8(M7 zB56PHaaaIBvx(C&{Sl5dirFqP_xfl!MkwSWYtlpR*73x63Y%ii_0lz> zL6WKHIgGEE$=?zSdhxYx_%`aBgc49JGX+!aaP-1V@nAfCULbXXd2*)=dXJyW_C8-) zQHw6kp1-k_n#F=G^S*h8wz`=3IFQx1lm_uP6Q?KpJwrJ?p$nV$c`C?tHvcyJrb?+V zr7G%u+vKOV+rd`{Y5}Vq{L{eM{L=66XwTWz9Ns>dJ$d^eQyp#|Nd&EN*`wjjg#*pu zs?Dimi2Qoj#J95}1p_}a(7<2VA?u9(-4TI0j(XQj&u|xeF?V_?T21cqPI?GD`eXzg z+>QZoS$cONZgGOJ{j1(vdXd>=Ra;uDCU=Sr8@Fk4RSHbflW6ROJr#ug+m(G`VyuyW=Z#M7pqX&&b_RC@B<8y*9AGIePOwPL4liRCi(;7~^#1D_CGLXu0=&}Gy zkp$W4Ed{KsqV4;1&xyqFINi9_bD{9H=&bd=qb+OwL($u))LQQwL;$6b<{az?GgG4Qgz{U9UwAp5^Q*7$PipTL5G{TLnboeO$KOY*%#&gnAO)-J#XFqAr*ls#sD{D z3OGZ`zScS@#n_5c2xz9`$&eb(_ zzPdIy@5Tw-z=GyRP1B+RMcyw-Kw~BmFI6}rtqz}-2T`Jx6+?TjC>|Ub2!b|Z+|q-1 zBHIjn2Ob6!py0>Xi!XAEaEdo4T8a6*wLTc^cS3rsc7sazD|t9Ff8{N(McXE=|6%w% z*|-B=Nc(V9d=dL=7UT^p%-UF9XKf6Rz0le?eg=Q0+^OA|z$qeJ!t&SR8uz6iFQyob**5j;#SY3?^4jkFdOqMP)sl2;w#>`Mo4GNzsaAuq*dxBytODaEfz)5nB%z^7V}C!8UFxUbSNgkt`s){(r9dc9z^21BqJ{VJQZ{%++(YOcxOfw9TiHk}VRja^NSQ@zIaS zlM}=Arm}$(8zY}+w7F&I-Jd`G?wfRG=@dXnm}9W?p^-Evcrk|;23xOGyLzB%#vu9J0*8IXym!tD$P>hv zStR0_TlWAz>+-)^WiLWEHJ7CSB^*ed%lnyQHyj2slE;+sN!mIQt>YFO}b!hhLM&*QXNK_N;^Mx^$Mka!tV<6(+9jF&mDf!B)w| z23RhM1y7>afOzPSix3Y5Uvy`L?W&nmtkqBP(w$N0UlOWjR$Hq@pSUxM%srAaF>Cd& zOwM?7X(VU1wfcwT#N2C33}dji>biPsb($>Oy)M3C4DC+7He#**E;$lCTv3|upv0@~ z1r?RtKgG3Y+&$Lvizt{m$X)&W@^7MY>Z>z zLj>*!SgRw-Z2OnOK!h4cQ`TDjF@Np!zZ8wyAez#;{cZm_GHQbqi>%xK+^@kLGRl+TU1d7SmY0DgNIapa5EPdYQ< zj%Rnpg!U%o+Oc?M=0f+zwe-DaLuPT%d!L5#!IQ1! zZ_=&Mcf(d0N~e)K7c;5sk!RT5@zC#D&C}ImzWSDy`5aVbui3eHl;HSGb{wZD3@v<< z$4Bo`7O-hRG2-e(B?(;OU=(*$>n#OLlTHrz&bf5PexzFIN9K{HxqIgOzo(u22X;6<4xV<$+dWrDwn-%%M zG*#azTv8OP`c~1Bk+G^p;iW}e+Jr$y4Sb&}>fAPofc-3*kFB`pE?%;9>uZs|JyaqB z)LXfqRpqor*w+&~|Db*6w3YGTv`yeIGzIOo_3_=7wmbP7=xtlWPwB--#q z*Q+t>!%9Fm+NhN?oeu1KE*d1)B^ua z{E&+7h+yXc1y$m#^T>DBy~W?&);;;+xoyo{f2^_hyg~*)dh4|9;TxyzAN;k`8wOPu z)eiEg|58XIT8&!d4yWy2%JV2%$=D>eTit)tQ4e&|4pG>k`JdTR$3abyRU4Lgm`&{iRk%7g%H%J=&oa zH)b)XS~D{I5ifk##|iNTFMxBpTh9{~n_11Dn!{Kuj~3M7>N5RpC>@T|dUOaK3e8}y zY`(*{*_S>JZ`7EYa4{5ku$j>6lLG!)9$~Q|2w5(TZ>tKjg z2D+FQ3yl(k?gC|;_mMakhd$~-*&xbg{3E%vy@O}cSTEl24z_H%Vp!$BF*i+G)ir}R zdr%)lA;l_x$f&#X;(lJZ=~mDg5BHe|;Wi%D@sM(%LMg+So9qPFTu>-N1=05yln=d~Zo>u)mn27VZ#eza>kGp&d}mlaxN=uvYt zwDc0MTHQa!D#IeL$+~e*fmO!XkqM!Fb;C3e=e%gWf?D(Ly#lg3NxVy9|9`;^qev$P zpeDtqkO}ASxyLG}ap4LrE%3SMXGeTrn~ZtK_mym^c_ zBKZorkA{YplMP2}p|$EG7M<VD`K*U=B=!SCac6`nb_W}X_GZxlu->N>o@Wy0=6}_reg7EZ9WE_#V4A^&Na1= z(=h#dFh1JQ8l4^1yDQc76UxnhtaZ}Ihrzxa(Z&xNuf?4euxwxz-A6u%W5Wvl22!JwlW$XRmyOIl z3(rk1Ri(o#4G8(~ewj$_m-N|HPcQxFVFTTuJ`nRZ7Fw%L#~WMk<0k>bu(3P2U{6I| z@OgWvfurggAJ*GC*hvcvoI+-B@z6SfBDZaWI%dT&MBAMGAq&A*^N3aL!j}#V#TxiF zH4VwCz63Vp38$uk$GKepc|?F#GnX%tW+6~C3E$0FrN+GKzt3SB+WhX2g>)k1L^uoUGFRM@ za73ZYrJZ`0$pa>@D^kp@G+-U*nBibcM59mxPwkhmm9%D~Keb>=Edi z4*UaJiw@oyLo5@=2!?ZhG$bF;{gTG>9-+H>QDm|RYy zljJtMLe8J8QM{-VyAifue-@sLnmTB<$d;T{Ees!T}%DA&w3^(rP{mq+J-X#UxnByhf z#IHW={y2rf=z~UCa$2GFz_cP}7uy%jgOt2=ujo>z><#&)m&8yhy?9{&Mb<6&r*8HJ zCNK#r>X*28ZK7fpB9|xcmUoD*&fPK5dGj3k9$yk#$PKrLfhe6Ky`Hq`)cJy2^DDM% z-WH=H|=&x>HOvVR~^ogUwP~%t9>gKNa(y^3lqBwNwMwD*yYqOHv1rD zQB7n9m23q{+ipI|T%+6({l7s|B@R`QaN5sprH1SzXt5dhGJY+&E9`Yze0(C6?p77J z@i^6#*dSovJW6{qoSorU+rv1)tbsiHlWyb}LW0@r`!Me=YZBi6&y zs~FkzS|=Q>`o_W~O?GeW$AMF*11bth^3QkObTL-$C;PBatTaOI#a=Ni`NBHu=Lc^* z-7SjRj{qvRz(I(Tuvqpu;*?jF!Ew!_YMmuN4hU2C+UeZ*<|ic@{Q-=_h;Qa?f5W~S zSE>Y@n!a$!=X%4ps%`gTTJE}O6!ujkouXS2p=Ea?f0D`Ju zdC|pCPLO8YDZ)k^27SG`$vW624&)P+)DPW5%$KrpzrI9jSuKPThVk}Lw3SzqdD-cI z1VtKk!>hyv-ou+H1Cx_l`>Cd%)>~d63#STR`J0V7^5u)6qti62Vv0>XYU0ZSzokOt z1r98TmWWed5nC~L63OaFZ?%ND0VJCxTtcFBqqkbFKh(4Hu}El%mnIr>PY4#?7RHQf zgxn>jX34nbV`a<#Zs>buc(S%HlNW3p?fN&e`k`N$Zb(m8GHp@uF>l;M*e0YmRYO%D z1&Hmccb5GwYt+5wv;GDy($a$$9CvmdvGfwo3x`eDm5e zYMZtCct(TxTY*qMaBq%)sG?Ci-Hor0nEUNwcj@?;`{O(KCgygm;m2lC7AnjSfKD{x zAd6n)jYM;uiO`&A85S=E<@jD>@mAdwX+EiHR!Ot3m>;WJP~3bxi|>2m(fi02EotK2 zl7BKJp586Fj5kYWNO}8T)yvv|6LM<{aU1H^hMlQlx3um-lX)2X6M2RBLC5T>V|V<%zBf~ zgMu_3hWIP!-lf?PR4TlWe@`p!@B7FQyYE9BY}3e#G{Vr0*@9}(=kV)`jo<<{`y1Ph z)JxS2n|5@%v{6xVLTw8_$iYE^XpwP_0>n>V9KoY&<3bqu?{OvG!>5SEL*FfPM^|lI zQc%7v_bgH=)c1QBF4QDT-weh)Lw{%(?PiS&by3*a5oP?zijumuX_k)dm#-I9(r97y;Jn45$FLfD?lunxj4ro7r18z>OdlfF<-vN zc3Ri*l}>0WWrT+oT=TO=u7grW586YW07wdifJz!NP;cYH&mUo#Y+z-$UMGL^7kExL z(7{DwCuL7-xF4t7ADTUd%-s?pksch;GJ*ar`x2D9Rd&|q1nk&H=`$3Cc=!{*;x|CT zRG!bN(9)eP#AVo{8XK{oUY0Kz_?s*OwjaHD0PlI``$1| zt(l$6Ww&5${ElX4d+@)U%MYL_vGh;)x%!Uqy8;GM7i3ZCf61t%0Y8#ywLPPGoHi^C~ zQMYcNj{-c@<};_poHggDFYwEP+tIdqByN;d3WHmc0KlI+JuBj<$9-=1eH#duBmN#LuVUn6<&$4qf<5ymR;-b-|+L0|q zQHfjo-Az>$%@OBa1M;qYk*2D6K`QK2WM9EE{r`Ow2rzd=lY7F4-N6)*BbpFXBVvlx zba0)ZskxlN`o7@`fD zGqk$hsS6dbpg8GX)ZnTYOG^o3gK*8x%|JeLQyIo*w$tsMKzHOV=t}!4!_galye{8n zwo^oBE707(^5PQrL9nw4=J-48a0z-B*yBxhRT_53A-fMtd=9=Hdy2 z#*}cJ9n&>J$3vGlx~FwtC`IV19%p}3*M4i_3*|33-AY;Oa})c^`{miIHxquGWfk}z z%Pi=%1f&0-(7LxmuSgh_nTI~h1&4<77~ zp)7xDUB_Qj;aUebwzYveNZnDk8?qImA!IHZHu}6yUq1RNL_I?Ad}E3)gC=R*y#zHO zpO+tZCPk%t2*-3$iS&?o<9qbP;cUIc353LZ$Z-0Pm{e(>Hu@Y`_F_D9U06%`+D@IJ z2;qo6$l+N=Xe-01X0P?5svDZvnP{9nDy)bVl}Qv*o!Q|^F6Fq78Z2%8tL^-Wa8wD$ zgKuQ#zAx$w6<@r8GHF@0{^uy8;FH`SXUeY<2b@B zlwZP8r>|>JYO7OXRredeIM(gA)2idugu;JGWR^7u2D+9^X{rgu{({Ooc2?$Qawpau z+)74B!MXdw#@T-fYqU5)-zem0yBC9gSOCFp?|Sb1POp~J2o#oofo?1}n><*t?}Szm zSStk967TCs&J0+8sp_yJDb4;^sUz(1-q>Qm_-T7Q697+okq}?$w-yfpa$O#frA8Mv z>E3SyP|}gZu>}i8fU6#2SLgxwv>T?l9_o((-FzQ(MiMaHEMsQIUjajlly6Fg06RyW zuTNx_HY6LTtTiCII1?UJA_9Zi@oc$LjYa2?F{jB6RT~gD0pfYymp?EdK2f`J^wi$i zV_`PyGDBQ^6l(ro*>5Bo>kZT^67J)Nq0W_AVE+JZPl5ff2JDX+u+Phby;5MW7uXpo zl#AEL92v0x)BxKl$(p{-A5H`=+-#t}c-WOgWh{3Ifvhfkh>m@bL=oHHzbarQj7Yn}Bz^~y9bEA`MlZuX)trag&F4_2z&woR2;0e*Lb=SV2 z#mNU~dGQxdUbPLEWVr6}P%WP;_13DNQ3B%jsishEKpeYjIZPIFqG_rddx{yUrNiyf zACkjP(F^Z%;$d*mG+xv=`>8N|3hg8IEgfb9`$l)#@LvU8#MpML_(n%o96ATF(@kdz zA}smG{Mych?`d9}Lx0yzMY7F}(4@Xgo-6u^L7J-6OXkdlYq51ko|+!jZl-#Owx|zwYv?D&yzRupcN}F?#E*%zgmFNuh&Utf~%r z*5odQh2Ia}AW zYYe*AGoEM7vv9ed$LF6rd5&lN@9f+UM1tA5y_(6qJ{!fv12j+xWoHHeNV<8z1=0ZF~)!dA9LY2C4?W`D0ta z)gHxha<_K@Qq35I@+z9Mot_vT3W&rsd;?!c#0{?EdSm6ctsF>e5hjpl{1X%u8?D;k zas&Utqn3(RRQszusO3mJCq6m5PrJ%5qmA@L{{39$m?KFD)u|-pIG>bCD_?ZUc})(? zl!Zv1eG+N-8BzB*$5q=Vq5LDLghN*nV{j(AjF_O1SxMsEg1zT}{=NAb8E?doxFH>f!tB&FU1_}vyxx*AIm`aQ>+ z&KbwK0=Ug5oJfY!gE{0xNaEUF6oDL82{qGfuD(H_uYkd;JL9|HVUQ-R73nnuG?3J3 zFi78$*FLEQ$d%dHhwzH-K-Z~IJ%_+CwN=0Qi9toHIw;55d249xlo|q1`2Vf^!ihzF z3UC5LV98vf<{}q0E_o~L_faEIM-?kN-%&bgx_)_O+n#tABB^~UV(7{I=qwEs5}M z(;C3#pFqk)O*0cvNFrip0_O(2i26Fjb!dZcY2Z2T{SxQKbO=g33G+`HZC4A2MVz2= zasKFR(F9!JeTkEiGEw>N?4v2Hngz^4?>~?@`g;(gcc;hmkO^BGQ_%}RtxqE}jLx+= zy}Z4akYiW=})} zg_z>Peee9q=)m1HMb=C8IB!2C-+9)*>7G3G6DawUojXaL!+X9gkLqEC!}AU|ugl&f z$YA4Iz6%J}o5QT-8h@&Ns2B*vg8Pw)`T+V0{Z`*T1)vRt92f$S(_8=PF5JzMxblkZ zk7zO;>=}?Wj?PpBnKC097Oz9g^$=f)f^!kwoVmeZNS$NDFk~kDF&TlbH$q)+L{1w- zgJ|@g9%y{X_w-vOP3~o2+e<_wAI6gKzLMZccqvTVcdDD*3!LY@hjfy=GfL#3^jUxq zu5;sa@syEpc6$i|G9{gtU<4DX+Rkmqk*7Ln?gYYaBN#H+P17&B-zUfE@h$7k6{G~t z>X4__1Oax3oVDir_vyY}&d!`(l5}q>Q~2^G_p3<-V2bnaJ0;#@oMClvBHfEh)gdCM z#N4TqWRO^xDxJ9FvY7Mtdb^&WrD}49tbAtHgHX_y?#`Zr%1!Eo8CcjkyC!a}rzmgB zc++rY7E*hE!srFW9F*H%;|;MzyPMqRf?EI5vozq{E^=|$=mjWmB&gPQ2r~2;Ah`MA zArRPe@^W)Ibr%jZGZX=7&Xx21CF+%G-@13MJ-S0(W&KqhDK4l4WQ3A~bM5eO5Q0{k`d?e?vp$j>yEm49$n- z7ZXSr|73prTN4#g>o4ivz-ITA2|>NrtBLDDzSVd?NmZX^uIu!y3C*0!DjWs+_%=Rl zoI|MDb~|*kLGvzQ0p`%oZKZxCZFZNi^4vW37H%t*G*9--xAIUK&rEB`AK7Kzfxif` z#-i67gv{$gJ>6hCy`+ocx;w{>W<6Ce>#dFGhfot>>e@n`m=_SQ0tT=54GumOLxjX- z-3Qp-#JRh6d8rvCfOPy$dgFoTuuuK-eTnxuY7iAg)trD1MIHun4RC?Z5uu_o1!Cwn!Y|fi3=tapt!U?NIOMT6 znb~eGlfM@*Ws>$A^&gJr5;){sZ0xG;r2@?SnoRKzctzh{g9D)>JvB3)@x7bRlv21) zWE=M^)yzO@h=SJUjtdO+-UWxVjo5-E-N zyxn>=;`3+?nQj`%ma8ua&0ZIy@wr%_F-^24 zvyfgF*;QMtRgZDK@^u!Rcc5|8eH$YUW!7*uyg)V=HLp zwLbGRKTk7XubE%-|6}IoX3xmaygh8{Ke0kSd+HC;7rJt2>i6S{<{ChyP%@3%Y$rd* zgf`!pWR4M+o0LDtJaYGBdzzSw%=OSx9X7AIKBpVgG1OEtv!l5@vj-=^&i&@XWLItS zUx^kh;7^Ao1oV$#fPF>Bsh5EWiaGCtQN^%a{vznukr#Nz)11cpt)CRTj* zoXh{8zBvgp_7JC;4J#|iuOS9$*G)0LfZ>njT>kI&gSLTz)xZmEB%EsvoWWfW*MJvj zX^zZXMeVm1FrQ~Hi{)ydp9{+&IVuznwdBS znLPqhH@t4HFq1ga1)xi>gW|{|5kIM;$VVc>0CXRFA$u-ie0`u^$NBev{^)navN{rv zq;L$|k5j}%X7(T90Uf0UWNq|WFaGL*`IC4;$B6!+@otc|)h>I;p;PTJlK8(~Om-#~ zEimZQZRP}OhHKYcR{lb}$E>Hl`|`jw@Ix!7afg%ofdMSwW_F75FxA34<4lT#(G%Yv#$D%i1F3-N2XlSQJ$#pBkB2^RkG1~Y(ObNeUKWvHXds~U2i*OM&V9#Q@ZYrj4&Bb)l}LBf+x?N$ z^l9$Aabdd+%h24il*fz|LM2ZP#l`_Z@y(e5Z2_&irm3MYYA@}+!;OD11Vo%QPHbE_ z`+&by{R6zjdxxvVr!G8P9WMCwXI*wAG{SE#qT@V208zAmooIWjvNO*?g$~6D4%}wQ z&Eh<3Xic?h`4Xh^`(iH|WC{T*xoz*VQ&xCtx33{*}w$e_ZFm<8S1xpj#-GSr?d>!00aA<=n8v zDHOYEq%I2+U)7{>r}IHK{95<3e>Za@fDgNf`Zv6U^YqYd0X5yYYgZ=S??#gD7u+l2 zF*lJEO$=mhZk;wJh0U9b`0LzEZz*+WXF?aoa>jyN+oOd_A#EyafSS)fTVM$E;@ zD4+le_nf$@kVXZ>a!T&(iD+!VA*nL+%Y}c~CA|c%JI)KkckG4S?TDR{qzjx8L}h$B z>1_2ngiwV=z~-8_TV65qhEO7KQwd&k!A1yJSV_gT&Iz`2yqzwJ8rMm3lo4P(mtsVma=GWTzcFg@|5>5M2Yh%t7sE1|5Kz^Vr=!skpyVp&UR4`<_S4nDD z>RwsFPt?7V@Ub(Q@Qs@Ar2B80Yx~1Ai!e}VwadUTu^ssqx_gAn(zHunIu}ksY9be# zOM$?YnT%zIVGi`quxHP*FBR=74%0l|&h@@>7g|8+O>?uCT*?=pF4;iI*_5pJMjsfd zlJ(isK2cB=iWMe*Hr3v9EF6l#aMk*Lbx0~vsyzoBtNBNF2jovvoxN0@J=>l&^KfVD zoPERld#I~B?#y>JHdD*^lZE`||E86F3iW-W$f5q7_ra0i(d zSmBla3SSs^ilP!FFODOjmt?`Lad8V;^AFI%{!w98#}TW(j8%WvbHi4>)sC--0MwNj zPS8VJQ=dCx8$`X?5Th)7{@PE+ml=XqO9h+j+dK9gMVk{ z>PxeyYsyZ7$yNwXhSkJwpOvdW#A+(?%lXWup$+Q2yeq#u!_k|*sNET6xr~oGu*nfh zvn--9KOJ$7OV{C}l&rGh8};=2%|;zIC5KpRzQ)@N#y-LvU=WZ;02h=Z^aBn`2?x!K zF7&>%^9WdP0>*VtZ_>4KsQ0Agk&@cl@Lz4`BY_aWN&9RtwAN1lWt1TKz(E8Ff>vd{ zFawxre9}!++tB59C3rShKOapwrz?T&xT&uhCvum=)Wc_;TU~(47Qvs3aBy%*cz0 zO7j!_LOBS!)Oz@CIa`-67t|}9$jZCtoj4M6u!wv2ToO)waqGr8Bm$^n?nrNZNXeuX zBLK9qRod7f)%4pG6FBL_QBS{dPlz>1qNO|Ij)r>T^^;ZGTaLzji+P4a%{Y##me7~WhP{pfB+_1JT2I|J2Tl;?y-DK9=+(hF}?61Z;EA9gxd^R{GiS17DSm%!WO~wy*>$>CA&yQy= ztKfH`bY<$HLhfkQd*==j@C;&|ZJrGFc7M3Re-Z{pQ39~KHW7%=P=LgcQ zYZQy&-$`p!I^@gF%1+Wsy_@rKLUA(iJp2U*C&w`9q$sw=Dh#-rw|>N!52 zZVIv5%*&QbXrX0#kyMWQz;r^}=nQ+Zu^TR!fV%mrlv|283+IDGeL_k4VkHxISP%a| zuIytgA39z>KUQG#)(Jy#A%yx!O^M+fPcI~RK-7o#bW~knvIxlt>r7Xwlz(Lj4niN+ z(<_x0q*q)5p@R|4^lIq)QzmNy!-ePv&PUuH4?#lmiu**z^-MX*#UxjmVW{5dkwxqSO0(+nD`uiz_=ItbHXHpfRu7m9D z2k+z2*5Ve;pm+P}SE8Kz+x~;N z3s5wz>>lHC4AbI^yEx4EG`Wiq^mWNbK^6;VR(c;l17*p@B;8rvH8{$+^hNfJ9nzTk zpW=+l*>?nWRS6}74V*Dn*&sWwr1NjG^V%qfN;1wt9u3kvZ5;hV4n!`25+su;B3K31 z<}j-CbUdtwu!9G>E4uc+D(*hoh}`a`4Q(ABuu9^pu0N+6`z8`tCP}gM+Py1iY?$p4 z2Q0=P)1cmhcb0Oe|WXRx53HS~wOQjIV875}uAzwv`&Dd(4&?Pfektxn*Bg&=d>J zLX?jfOG>FVW&*?vt?_E;C7M2Gn=ZoPaGvqja)tV2KWEZU?nwZdz#iQ-8M_&_6FLJKpLaXBv_2At&oK|nn5L&P076tc%6*76X0TON;YKt4X|Y)sM`!?z+k$?Z12u(KnK2Q~Dj zWHe&c@rx1yT&FVe21*2Jw3ofLQ1x`8wBgEu2j#zHH1No7;|tb00|^}dfD2%DD;-6X zZHS}&Va)OE*OP8zJzUmyK8Rx3Nf*nj1b?aH5N8*{ZzgRnrQ9Pt2G1&gAMzD7x(?cKfQ#4Soogg{IlV(9{0cXy#&Pp;f=3JJDzy$&K=K1G3Pq`XDWO(Ns zpPG^eGSUBdPwDDB->91OeDAjk4JcJph%~SPO8{+dW<`?OoeN`O`zUL|8;9+6M{JgNE!F!nsj5Gq`;i?IYp~`E1SPjqB z3KGzKdCS?ntIK?&z#F75$XVj~xi4se!J8()~_k`Fqlq#+GmIA*!zs2Hi$e1 z8@G3*`>@5kyn7hCBK3&hU1274X|}gc8-Wwv0D{u@GHsnu8o9`+)QTaLTt5M3C#75?pkF*&@wf6KePlcdr9N z4ViJ{D$Es3L~Za9kpjW~@-BC3YN!0&M|{_8%w#3iB?H78`rh>cd>=9PLhS%qwPRgk zZM5=al620?%C|Y&yY`(jaU1%9a^_Subs>c-tvYa=>Jkl=#3gT)Szx|@Vl6A9MdZ$f zNaN^ZAxfW0Dw|Di1@2J1Z*p=;`X#PLx0xwB*RS1K&0AiuMorDmUT8P#;n`-G z@@0N>^(-hl-bn0rzHV2&VBNl&0i&63C_IzDpz|oaJH@Pv_fOAE!S(&%5@6+X_a3RF zFt`!N2$_crzYp~@odEYK-{pW_6P;`JP(9tR292&k5nZ3ON997OUOQfxrb1jyG1JNb zW2JYWteHTyS6(sjeNe5LH>-U)Noj*5;fD1rHsBDGWE#dT6;McBf{TsuYJM9x(b%o@ zBeQs4TTU!VYx!7e=-6uAKAK;s$kjo9ofqJeSrhk{V>4`02g?sORlR3TeGd`tLE}4( zac{J{a!|XyF)N7{K0!Jz-iwNi)8!DRav#w+sUGr6w;WNfI3U@a8VgB#k|Aj;@oAte zGg9rVR!TEL&U;`xrBPxt_A$V~>w*xlb5DaZTWsthMzu^v$#JTiyZ|%ZSEstOFJPS< z0+|1~m*JbK=_MBw1^Fy>6zn)`5_2WZeM7Q8))DllaHxM|yylg^D73K2pt<*%iab(G zX1-}&?tyl zsilqOPu1H}NfaxF;3UAwFsLm)?ya@l*0$c3f8|yiup%VkjaGU1z}hOc)}A=EA}AmN z^Z)+#Ig<=ewV(U>`;pAq=j``hd+oK>UXNL(!v?XzXZImCoY+#cRH`|Zy%!8wmAwz; zd@$Fo!@O%&(3F4Ey2~Inkeh$@!KDKGUNtyE*jPsx7UVxa8?F*xNJ4d@9Ef4HDr^^2 znwEs>ZaP9k+o(sAQ_U61UXavHROEZ8U)%f}$3G&Crw0F24$j_EZvba6ewxoAdw}?~ zp6c7Mcxp_3uVh#FUO!I#s!KXPx`W*TRO^V~fN!fTw)^%|x!5k~v43mJG2lIBxUxfM z=u4*K{uvG+*53z|`q-gTnH8>@ttxe7874#YdQg}F#jqs zy21*|S48PrmCmCy?1yjnNw3C(6WR3Kb9HYmBwc0f%!WGIk+53WYKsWh2IZ6`~0t*_8oCbQwp#6dF*9&8*p;&!i7O|t7t+|s_ zmZ_4c2zkK|AE9il{GSN+?e4!6Vgy*{Zm>h|5{0U;4(vJiJmp8VJ{HPgCtCRU{ynYWQ-;z`H6El%{Dp`Omu)ghBp@q6fcy7(g39Mah<-u!yzSsX8Q z?+<65v%5bSkXhZG8Njk-*4mqQyBmeEd#p!M`FM02df}<2%Dn`Vxfucf2R24uiJn3` z+BN-~c6k@q7d;oHVxheRdbyIC{e4AnBhB9>lX#;^R6@JX@xJ$jVd&0AWWw=8!19#d zuHvc&k|Eq;ak2^a!n$az7H!JH!K4lK2L6G?!yOf?2ctF|?mBG@6ScE-!Xe4*7n}Ua zH9HJjor8@n+~?#0YQMR@9+?^u>c3GE4~7Hu=Hp}T(+UN(R5hpnL!L5U@e{G=+tyrp zP6Odwx#pg{OHPGt3HSIjYUrn#1(#@;y;ap^1 zj#RT&d8oRAZ_Sm!h-sk?igpS0?hWeQO})hj)O-6;>y1UXntJc(uNO}OYf7^9;w9De zcQ5r0IH2CMK54xy-I}6oy|Q8)ooX7jpLz>a@8>lS|IR!-y~>{luJm%3LA@-Yw>cfn zhs_VG!sUXNiLvqzV{RGnG3+28VFHhx?u+OKT=hgLo5r`DmsO6Vl?R=-^4q6Bnp$ey zP{mMl5K}J&QpwE)!-xm^bROCw)x51w&Kh5)N)VOr_;sz-xmwO-`5a4N#-#es-1IFqyl!onrxV-wLkxbuu3>h_!Vdu#;UEJG8EZ2vU(0QRoLPGfKm*0 zwv#DImu>fhy7Iq(nyG6t^-RFKU}EbwcXbGPobI93m8N0H119G+omuDpJr;eoB@Bum zI4V_qwjJuVqw8AEEB~Op7qj;CIeeXA=?gi7kC#CbwP$9SGRg;H!mliuznCgES5V;5 zko#P${H5qF?SVRL^dIelcHM)GOjQjI?I%pt7!XBC`P%Yr=~47spHelZtm*zng@k)| z`iU_P*%Hc}5(~Xr=WeE>pTY*oZ+qxKQ^g16@6!Hd-AIOzLOD!m>@3Ix_Z`_I6I$Yj~puvuG~HTluqNn+kM z67{KNS_6{zl@xOh4{kFsLi(XHlb###{Ib8OJz3x9M|S(^-!z!?gC;DzHTdC3DfL)` z7ePUKnuW{uUhrI0>w&$5L&tdgas@5IUo z`dr?r%B+&Prq8xjzD!eKmCQGNCq2u|LCJ&u7_9Pnngib7r?K<%azpc*wljO4FktK#a1~tWLoF17HL+>fH#TXwpIiZaAgQXvU zET%`A9I}+@O)GD#PQ+$ZBR+gP4@aA}&FK=rqWbvCv z`b5Ot$_wZY^JWE472fpVsoJ}lr~2fwyP0`Nt=eCWkn=N$nmq5V-+X}2X6i-VSp4P0 z`lOjTgR0oOEW?z58nub+z#J6Qy@{?TB4Z-KsryXwX}m1aRlwJqq~To-(kN_v`W`}2 zF;~S{HDxP~M{ZK>O`PH@RiEiL`bVZj)Rd@C-ckW0nkxJZNz;<)54ky6B>AAR3Y7U$ zg@ecdr%Y!|r8>=q>PRz~V!r~NN@5bHY z%KtLSz37+{VMWylsdpon&mhqHl-aT{{pR)$_;TO!MlLhLm0~fN8cAH{Mxrd) z6>7IcTcm$`n3lzgk4OEZDe7a)F9`Y5k!*i@?%)hsf5)f%{-B|gE@?SFh7fL$-!qCP zZZFDf`le}7*HMVNKaCim!F&;R*qP7&(u>e0xPJ26@O`x zdpiqMGa&R1Pshmp2cADlnm03*kCVABMc^gYR|TgQDkY8fMXDzCEqz$151cyRGJCTD zCna293adNbWC*!hbIDwl`ITU?&AT-o)Kk|OFaLig{!HVD@E?WFdx93))U;xTv1(RuBME0 zs~jqa?Es2frab_BJ~Mx+f*PBkq#0IoBS*2@+g*~gtopLZ z?j~gJRml4?-tnu=Tb2boqc`ncFG?>;;=O`J#^)b3)S4Pu-5NXktTpd%^qU;DnQk^z z4VOnn*e8%qe@;84C>HvQR*8`hiFmisrr#i(hTq_iSAmkE-gNM-mmUC?Lurj}rGMgJ zk>_3@cA8rPDlGNBwGdH5%9!BGYm8o&)nkM|DOou>c`MLCbEIoWCr25E8YNO`V}&C! z*3%pbVt}_Lp}Y`|->{=0)!-zU8%>Q3vZYUok^pT6Bb^gOSV|SwdQ^et`_DOxSkNWt9t#{h8?@i zH0u7*eRg#6GRTPr)B5KQZCw_!kW)CsF;bK=T|&mZcm9_-<7Um9S~$A#Z|*8spZdhU zupf-uPVCJz4IP<`J?!W%O%In$>bpyev)neapv;UwNP|}gz^D%%@y?o9iHshd@tn{x zy}OXl9GH>I@;7fccdChSeq&t-~EOsm{Gk?;$-$4%6Z? zUn31DAViwI1U8@Ga;-~#NlSUR5vXrj2`!|J7X?;)Nf81S?@f@2yF!i@BM>2k@u|hx z0beCctji+`HWB|o#&fB{9hknJe8`D~p#d9O5!it77!hZf7lzMPvP{V$%CnZ;ug#3<0rwfn3hy{NOAn3#zB4m= z-z*U=Y)%V!7gS2EwsRODcQbhewt8Ay&SQ zvjKmezZYTVuC3hWuD$IT0%+|iU+r#7571Lc(rWjESos=q$6z^3#5uert*zWm?&Ha` z+jhI$-Gn+eC3c5)tHhc?n5>*DS~fLg7Kg8$s#+}Z`opv&ar-a$)tRZZjO`ZiJH|-` z#-LXr<*!gm$5}(~Dug!d)yEBWW2Y|OYg{co=qnymiMi=wP3}`A@sxiMVWFT}bfKtP zY^5B@ddF*dCmXqnmUW`mtkxR@M3^?#l9{?pnH0KeJg?^!yU+B<$2aWEF+l@<#kxD3 zL$)I~@Cdh{G_W+n5vvANk)0Z~R}DPV*MLvu9a#5~>l~Y{bCX}E$O7s#o!-z_CoHg@ z*>)2@qGF$H%bArO+@s28lq%K?NauVyPNV8hB~Za%i|j<2kkw-&V44Y$={RUOSEJFI z)}6Wu&V>wbg?W9xIF@Pp=C8Y-M?ISSkv%dK-oH-Y(9JGAVedHzN;gPgt3Awh0r7Y@ zq0VLQNKs4j9W00yoUU$9Gd?;m%Z~!DdvSGYN1p=?)>`+jZo`!Ne)?Q1%_v<0j!cCI z*MbLs;Q~e5HHOMi5)IzlMGdxm-=ONsU*!4m$cuC+J6Q%yKIUZ2qEeO9u@bWG zIveb1jumsKnmt(_`=z=0YX9j6WY(dh$q@oXpb-O5MRTHAFfkt$tzm+c{q$+!!6?$d zjO_!0$9;4+?&v7;O>~D$WdcF~%tw(}vTCi4fFpe{vrWw(jU(Iq79KtjN7n6E1Bc?s z+`5m9BP+6X9)Kf#FM3D7kw>lgkUjm}Ge^UbVQ?e?$op|*>~ymm`;jC$-pXh5qKA28 zB>53tItWSD&?P~V!FvW%8Zb!B@1uJp@)6t0|2xqe*v8ar)i#NbN(F}PBw@_a6Qget$lueNu7 zUFgGpT*-F-Sjh5U8rYlYeEll}`wiuCkflGWy7K24;lqbPmLG4nt_eERTfUEpFxPqp zPXg@(U23}tmJ= z2H^^WA^fW-_0NcMau)RANPt>3W!!+p35OE;Immm4ULD#4Gn789DT~NIgq(iY%`E4 zhaE^CXp{wG$P(Uik~SHu#=~((jK0_6m|z4}`)*n@9e#%g0cu?cw`o2B%KoS;SN|V3 zWGC>Ii-y$C+@AXYVP6^7mJ62R_B^Mz5!iaw?=>Kasdd|^}>!l<%97=>4bJ~>n? zJ+u)-O+XA(C1FG9XlzMA3q}l8rn9KTy92SS;a(A#2QC>NqGm*h>C=^$GViLGL{WVL zs6Qdc2kg{<@DKv1(I*C+LcaiN?vHW>Q0J1t2%zYPfBy&PP*Ioq8aD-3gzePmy$O$t z1}VErFv^{7sX=Y1p3IE;0w{y)+-H;Z;hAtA5=p%eVo0_W1p=tHHc;4kNVY7EU}MrQPNj_=fRf{nFk?dHS=G7mOl1zzS+M0#B0Fe(@ubH=bK~1 zY8%L|PwZi`r}2ogTCJO9s@CHgk44i$sw;UsoFkh1IPrA27*m{{Q^nB ziKLnf_%7@<1zvlkgs6A@+ z0U;J_q-$xz96P847$z5Q*EuptbmNRjavEgHaJ8pJq!Sf6Vo8v!NdC$Cd@!Xr@u*$t zXHUjU$f?frCuHbP)H+BWpF6Ir2!u z3HZd0z8qE{nY$mV<)8;lnoA!|Jjxci>dF3Xx`2*o4ArIzrgywg6&|hpNtD;@PcfTS zV!K=!Wft-c0ywDVUP&qiKD9=EDaBPW5&yV1Qj8HfXnxr4v4N4E*FyWy8@h?8$V| z40$bU1AGco(a2H6nLvRP?2(3#fnI;d^`DtX!+mqv;mc!bN?0~Ku?DjqQ1g*-Yh$*? zfa4bCHc}w%FCkaI(te~m(J*#>eLke-LvUG$7KFW3vnmU)YjES!C(Xp*53F^nv=^#D zvO^~&u8&lkdnZFTC2opT=d+;IF@?!G6v0mZ$ZnbTA$kK8d&6QMoD8xwcot!%+^gpK z!pv+%ic#L$V5QeW#re-`7tfTU!D zIuy+6X+$9-^U)^GMU;nuu0tktQK#SYk1VGV_ZBh^I%~CWBc;xH{0b;F-+lO1y|q(U z?H2~B&dM>f*oA{Fi*5C5`kcEbvRL+EGg3KnJK|CP-tYXrtLg=GL}M@r_Nb+nQOclI zbIR3~|Jlsq^OWad{-OM~D(&6LXN<|(&xT>p;+(-R`hSQw(+1CGhs3*&C*sV-p0)nD z@-ar7fAEMU9;x2>bxA(Dn<}dXDo|lMSe&Rp*`gz*!SP13ZSOQ-nh4NXCU3olCG1Iz&k{V z$$+$TvUaXv%6!5Wap6`CK#2DMd|P`6zMXiO9nrUkfAN^1Hs??c4NO#(!n_FZaN$Fu zpP&tdodAZJbAFF{{!wo(nw_TFgFYV)(SDpd_xv`fGeEShL8ozXsjl{;+Ww94ajN|p z)dm)Pb;PzY_?441x?7@5xnKZ`#)#|S+)Ox*t-H2pU8=Pj+5-*2&KB_S?nt=R>06_Z zwLFT-(2r;H>7cq5kg_`rT1EFqq^!(R&3VwkaU8Oie~&oOS$U^KoT~y6=Z>t1)4x$BJ&0R|WUuiy24+WjyNPX3JfcQE0iK<^$nW|m z!?WWkW#~2`+sRp)Ex@x69*S=ap50CF4wYtx&#DW()px}B63s0JTZ=kj2C^g6ylBMc z+X5aA5@(uC(7$X)Ia?lh^q?_Ilv(W)?WUHa;>52~x}S8{m}Bmi;YY@_rs|KxwBevn zNHbfhQVg_+!dz))$JnDtGsj+q1petDaE-*6I>n6yQ$~5!R_D#gGf`HNTHRJY$tkD~ zc!A5r9Q{$BB}bWVU_F>>PXVLK5y4#HgH z+EcsAx1$=5*#5E}K2JDQuz9?&eVLP5(ywYqw|rH*+h>EQA*ZEm_i5ytrv>uOemy(1 zfMnjE{wfOJ*M@Gv?WqxPZpAl)kckm*7I_b$RH-DLeJ#+jTTa!1coS_-bnI|gD??`1 z9_cGnC2524FO_l4IiV7WmNGKZ^JF1y7WJtC7hQ}mo>BR&%Xdkf>G^;c2>CK*~SZair*mBXmJcoBnwpwi+c`X`{}d-HAcF*({R9 z2c3xHslqJSlK%->$Mj5X|Eb+9F;f@60N|ZEl&9&msYVXhxF*L&5GC_PnUhST3pD-p zpy|M8iJ+>#={ zk+|L=x#Lz-2BYVhzG3GhXwZuB4*#XwloTz-!s)Gd@eBjXZQlhPgP!{eKYcxKC0pEm z%b&EO{+{CpdWAQ_^n8nYZY5-R9ITh>HtVI*G52c*SbC4i!n}GRXs_Hvw;Y|2H|YSG z%#o-9Spaw3mmA_KAAV4zu(5$&=*x(7zg8_!#!GU)EHR)KtG#KgZ671*zN}7ZQYM+* z^?TET?{=P-)3S86U<|5JKLCHtf`5i47G?|bSHb(}0HXH;#%wSwn&x0W- zNpsy9MJl0Y8@~X znQ3MjtO0s(4#5|PMHQoeZc6*R%6(atn2iN zd0Okhe&}5!7Jb)iKIq?d0;%2~^GB4Vp)tP~u`cv?4jO?10>*e(pE!IBago*1vqso0sN62s5+w?p|a5 zAp!q@3hk#%3es-^Rw1l~(6k=f-s->QlE2 z9i19Qbk49LJ;k;~> z4E$bky8kLm%%My8piaQ|hEXElBHu!-ddD}hNBTBVJs?gxA7LtZb}r!RjjF8F*`NgZ zfBF(8MvmP4`Kk{huHrhy$6NEd$Vk(IwvGH=4I{-(Uz)HekGok8dog1utf*u_IU$i;KQ|Rb{didoV;%I;j)z}>*hMOAdQ=_oF)g38ETNMI_xsl(R>0IvHJ9;y}SSoRv^e==IhKNE_ zaRXF_n*g%BXK!aaPmhdX3O=iD)*2wB-Vy4QHaLA4cPdcX$npU~6$*Y@0XmZR!>_cz zJq_L_yKbo=kHka!tmS5PLZb*~GctHIcBNA~kiWrweTl=w>0QgVuTQlMH4SzM!WpL; z-0^cW1&sD!gTv2_GTu5y1V)EBSRwE|Z&YQnflHSvP zIXXWH<7m6M8(L@>P$ndvwaqH&SBFWBEHzxE7NQKEa!(FVIk|0J6L%mG$~ZKPyX!T( z>|#;yFQR;+WQmJA{vLaInBM41k=Jz_1Uic9x_gD@quS|$I~_?%H1tkob14kRWGWp^ z<>Td!_W?fF2Q+myOz0I8(+_H8iV*fgIKcNvu+&OUQJeY=#F~(pi%-^4$OwUiMU0A}wxX0&^dZQn{cVz=-8L-YL_?(r1~Iq-?1@A%<|++O zw3LQ7(GXOcGdksy$$jS;C@)aa8}I#y`J**8twTk-MbB5LKF+j>KHCQg?c8lLt=K<()M-gzHk1nr3+^0v;jw@ zixWZ@L#I|-?LT8-CdHzYAymJEz(iZs-e|ll(lf`J`v}{%_c}6}KwQw~w92^PQP{%T zUz`l4wSWa5=6&NKvs#910UtRj-$$Y;s%c`CD0)yS)illftcvQe3CgLCzH-wJUk;Q? zE-(FKQ&cpMX;O)tHAp$1vMw8q|Z|LnzeWj`A~)mwFfVck0+0?JhqW} z3OpOeAnnVJG@hF4gFVMhtw4L27o}nKw)b0L*Fy**N=~=h{>j99XWNYm#2ANn_?pRT z_U{Fg4fpVh+0J(8MHDNt9E5I_)Pt<^Q1;d1MM2@-ACMj9&tKTP&SPPFXQ+mmD<5IlIcJ@M=DNGO|B0uje;^^; zkJmD!iJg z5hq~hyaEzs7;OwvRNU1olEfvkmUSm%vqsS4XYD0Y zKGxcAE$*@wD|P~*Ilj~N#PKv6xYS>?ZiIZweYqR|a#hRCv+*z2Wj(c_a%cI*-)G3X zc`H5X-df}o=G8J2-JVt6)4k`E_O4oM{_5_(3>vh3&<32Hti0=LXyUF!SF7`YwKzO7 zv=(pA^=`&zG%y{4(MbGba(&XBe0wODGJ(LurFzFqg;tqlm%oRb^i_4Cw|S)6C+2(( zl^l09G}YPM-P?m!amt>ZH`-eEcGGZNTNsBjF-$YM_gIs5aU0&FCy0H`!>;|IF3E2r z=|OCNeq-)mi3RPj7mB=9fZwF{SFGi)NYlz)71}uoz>MV4%AnP?*0P=6&&c6Bi*x@; z=`wGtwk112S7FcFq3>4kPqEg^?9j#4PU?StKwm4nF3Q9n6*!I{*J^(G(iDk3QOHzc zVdd`H@oNR{T?CrLGoHH!aX{xj(^Q=3&Nmj< zo42M5$t=$ycbr$=1JSyY+N(@{b%LX<}d4)nuTx<}*R_oJDsy-XyYF%Sf5ZY81u!P=2Z`yjg=A>0^FTaV)5EqL{nty`ma{gfKxc8j>tUL2JvwW;ae=m)okJQQ z-lH3Lj=pi{*myzb6n$x3ZX7Yh-71Wx3EWhYH=`(XaY^q!29vp{n1k2uxHz8=gY!VJ z)=zp8ukUKzQ_>tK__cURd|2b8LK5L(+;w{;AL42@8DCs9>EdK;@iDlHUETdoiMvNm zxnJU&Xpmyqy^t-U8SR&zJDx~i7faQ?og6d7Zr!@CX<%aOzM3I&JXICR^w^1Q1gFcm ze6%_@*om%uS|M&um-mZ3nariBA+sU&N9L=Y>}9k^`BaKl}w* z2%&*SH@;zY*2pR7E4;xiRhV!f_in{2T;NwOmb|ho=^zHZgb1LIzLg69zw|VZc@Aye zd1n`oMNQw2ht`g6Tpv%3$QvD6XFLw!QZlnP(OYEW#5}cJ1sdO%H`&n6c<7&X(G_=G zh{NFX?92*l@hHL*Z8IK}i6TCvl1K~rn|FsUs)?0vw~0R0z5k3@<#rOA_k_mOveu!C zV(F*s%*t5kh4cb#skcpIqZ{9%u{*{&jejr=b;m>N)XKnQp6dF!i`EQf1}# z^6ew7&ZhEAXbdgwwB4P4OFKz~rqa%fp)s-avY?%xLo<}-9MqtAAHN&qjuX&ML9XN0 z;2iWtYu-7K*U4D|)_V6n_i46U5eAI&PS)#A1GgL87sS>HXyd8V7i-)gpy5`Sx zzn*VDR)juMo65w_KbdoB#i-QK9}7Zz7w~6v<13dZZ~8MjOU<9|{tLMWQP65@=TqJJ z2y@AQacaVk^3%73*4d90sMec8o5(%M>O2`gP``Z*(0eR=et2-xSo(ey<2tT|ceNc1 zq4xZm!L~JDHC$VeuA;ELT&FR#2VsLk>*&}|h(5k)(0WRFn=b{hHpM!I4z^oA%rqCK z@&EjaUx2x=Zbj5_(qm-O9=XI?HY7i>r*MV>PR)CjK3JVQoEvuzaBxe^d=3VKc6s^s zhPTQ6HuVj%W?ye+{W!<3;+0Dphy14#TAz8{eYy8ZI^`s5B6Wl}ec63$RH|xt9PdP- zw}a!-d?7-N`xdXgXABAqa>x94OM-WTEo!;egp*P3uh|pqui4kxU+=v)$f6ch%^%t3 zc=;cmzD7;EZ@Dk?Hb$G>d{8D1I(-PT|Jr09O9U$fRW%5C-t-;_Y9Q;s=VXnA(%v1W z4!>e${f`4ntDC&;-vzyKGB9(Vy(}C|Moy1D&qq7+Y_pgC%t3kl&Z)&?vw05MUa}RK zy>0m*wvVBs(aj0G?`5JuK3niuOoA<1gZo+)T{<_KF zW%xoBu_u-fk!0rn2lgp=>f#E&oiaW-PUw$L>icC*qNi-f&+C(S$vbDgd%ws(IuId? z^gU_`7c2SjFlNUd3iDakQpYhI;iMndV(ve2XbNG+@h=*#nujV0>Aabsb23(mkf<>y zH8r9UwJr@xT%Z0OD9f3-Lc{2dat)G!sC>V701x(>+0|Wx^0bdBf#CT5hs|j?`#omb zcJJTK&mqV3y1;NjvcX-UM2S^+RxihsMyCLd*H;&$n$bA#nn~K~w4SG|R`)2G8t0Wd?%Ro-o$YuqPT@Td%B~my^3^b%)EB??)$8#(Ni}?{TxVU~Wqp3F^~3Ho3Uc@ZFX7G{ z$C*vv?D*k4jylN8Gr`+)iUGnoKNRERxUl{N1x(E;$}_1VKNZd^)VC5pm6tbAsnTq! z2$O>*s2KmdJEu$^fawDW%vU~dAa~-mD`5ZDB=#TER0X?Nw{%1v0o)S%6;Dsm(EP}a z>-qG@U-xl>elWc*E7n7>$K&q#4L&?g#63A7@51}O)3d_e-JWUUd^v6^AX#g5z6jA> zGr0Cvg!+ZGylSl}skQFwsqCt4-JfsW-*x5&irDbjo6r>*3;9;>K10@%$cm)&xO4c0 z_$nErc!qYeBkv4tlA8z;gGbwSw+$rjU<|*xeA)eJIH(tSH-L9I%yk-Hi+?*^aSR7@ z=mk4DddTKI{4L!~|2Q-&GcfM8)qDDDuwn$~U568K z%D}?gq0M#fsYE(xIuT^3TJ2=~v>}`KhxWV8fvkckiG-LvxqQQl220iyNu2*WUkxYy>-y$*UR@H7icMzfAc{;B?a|` zLF@}4c~|j~gkDgyhdGJ9OGH|NfV90%?RBX;P&h#;dRv|K=xa8lue%+ZbdA01WmHH< zH?AAqxT(JJMM7*6K|Ay(uCR=XRX9ROj%gEx#u1w6rem0$!B-}%iNr%NgE*U&*UcjD z>aR4K7{Ns{JLPSx{9TEDN}a}a!r8+lJ&f2Lv69Rs=-R|XTtm6LMu*n!_*MExPUEUr z=+C25;jq*AwuA0A7h+{C=ftCbby7nLrWV#mpHCOnNB=Z+U_83Q+)BBxah^JE_l}3{ z%qqv-oPLIL@PN>_<7{__@378Se%2Z2ZnhqM*-q8(jw1ls{00z)Os>>le4yLJLI11y98&RkuVB8CM%bqa^?|k8_xl7Fpz0bhX zKg*u?E5?v3@sElF&fH;@n+Om;PlCq8ej`|MVa;1Q=3wkgy^vW7{Z6V>~?3K-TeA+#b}kSFl=Te;4ZNL`Y#o?4f|8}!pL>++YK%$n%_8Gi!zbZPa5?iScS9){rp9Vz8XN3x7z;JcNk(Gq$A2VPpXPRd(qr zv*k1>-XW^Dc$Aar%EabR4$Ykp{>@8oRjHE7417Ux%Xb;<(#iN(Z#n^K(#G8dZA+C& z{_fHje|zVDT(;V-+%$7_w1Uan*6o%2TV@6!B9Sx@Pd&6L9@_3iH%`Tsp`GtUdvIkK zT|f0WF4jnOTX$XyAu@@m>TZbDa**+)lMG9=6__qAaUDLGO`a%#c88e0}u2 zsmIl)!XupMYU|Et$PkadsSbueS07zz-T8aoIEj4(LR+M7+|#?gx*~qu=)*dAk!2IV zKlONw%8$!4b<8n!{L|ENd_A<~owultnIGfe#HGriLMo2-9YB^VYEvPI!FB4nJzSeNy7RLDb}}yu*5TfpNFM^( zi=&?mvKO};39=^vRR==$v;!ggJ_D7xkliMzOzbPOW`Ey+WItqYVKxp2*;kr6av{4` zbz~v?TvJT|*#fp)$e!?71KEPtT*&4`Bg`AI6^!IWr%4v2g3~Iy>e@HWI0bao({h}( zxOkN97S9A#rQdNkr0>w}2N4@KI;jbYk_gNg7!;0sZO5;{>CyEqUy8nT$GN8bFrp7t zUFxJJhq&{s8r6Ivu(LW`6w0hw6Kg9Hv63!y@bCM)j=q)n?(d@bsfn6o9^pR_h0 zug(oWp$vaL@_zixzkZa%`p=#G{O zYjOP6Pg{#)x0aQ!g&-o%+1m2846D4`L@GdWJ-z|WjsiQA=VVr=pRVj`-_$ZdN8?Dy zzriLV+6pukO?-CIOYUaQWhhXhZ@+rL>0Dj8DW1As`YAo~ygY2Q`xoza*35m&9M0f2 zceVF#yNO`81xidKtj;|$|0`lfSgYkTWLgk3Mdzg<)70*GtMdywB!^m^CM3}T3+liW z-YJP{tmB4jyS#ziW|Vj<@I58$eim!cdV4;ah^O*I|5w$c>ocVcjIa*w?N85MDt1{R zF;@9f$@!7Vd`x%)9Bz4FHd>d>qiQZLx)o#mnAYDb8A`mIf!W~6c>tMg;|ETvxV8;< zu=lQZLLYEZaOWPcB z)`Pzr5ItL+6<*|hskkgPe$0LvR;98_DGCoL@Dlsug)G9GKNH|JN2@>3Ux0y&@s*PJ^lx~7A6P1`lLLPb+ zn3sH{+j=kQhDtCgoOnTEa?VEaV}szbAC59?uO67!zO&_1f;O%5XxB5lRq>~RpWYoh zR^B()INTz!)Zg8n$#}nEIt>TrqoL@kmNSS7H@1$O#S6yP?QbfsZ(MI@dZ6pa5_%Gh z`ez#o+M4%0Y(TOtwN4}IjB!MooZ=XtUeib8)P5TTo9)IfyAC`Eik(5cri6y5TaGDg zF-BG)r9kfce0`<5Iro|Um;AMM3!lr3>yL#@2Q!G|3t|uF#B+`Feo+DX;=M*YQhHxR z0tDc`#rP$GCWdJ|byDZ8icR6`cGS6BL@&Z1`mO|sKPA;@o%D9*1d6FXuIvI$93ViS z=tni*9^p}2s~T-ee~G;BVWsN9(~yPPcGYHNAyDntdu*ZvMM%KXdX#Xri5 z2yBIs9(Nsci96j*GdA`r*t05zr{sXcSNY$eOUl&eN0=;cDWXoNaf9{&T4OH|zS3z- zRIra6U0)UE2`svI53*4*sQT1^ypT1&+u6LEcy=v=fQV4kbP{X$Zx_MF{@Bp zLzDJp2#y)e<9i<>r)lQEtSU^a-k$bCCSai{5=6zb+HRoCft}BGT*bT$+Tob9#~XjG z9y5~>u^^GS^{6M9UP9~Kln<<*xk}@x@7_14KD5g2m?hMo*g7!TmbiYni6Ps51K;h| z3xTtVJheXAbWMI786LS#9U@=-=6Wn3a z&f@V-^EhM{Whb7gY>!Rm$7DUvj;^pC>awHT5uvO`s8K5?O{o7>65Uoul^wWlpEl5L zomP_9aw_PS8=b=IXq`texv4-U+cHh(Qc7po!KFS$R(3>TkzcB+B4{w%+8`A!4sA=L z0V1o-y46C+Am>e%Ij6#{P6&x-+u&hmNw%9PDfdBwYTF`z0-T&=(m}9lcbJ{2)AuUP z?=nC}|IL7-vD&`HZnbw}qKZIuUsDlhV*BUG6>og9fwCOQ_G-;pCNmwnYD4-j@kWAwuC&_Hc~qMk8_5tUJ&Ni=J&0duJXXF( zEa0~@Dw|oa5q*1;p5e8kCDh}Dp7U0pLvCQOy8hd1OdAASPSu2-7(u1ngzotHX!p@A zYGCzjkD?Dsa5Y(oNc+4&QRmm)!016b^)uI)bHw1Dw#ZVxdpG_AntiT;U+dAi=G|AX zV@B(v?@T=w9?^25tELXNj*Un6p$9C6uRgja{WcBbwQR@3$%H0GS}t2{>++SZNt&$} zj}Eiuounz|pr1%jhxyUCC$7;3k@$TIgBoT%x>nhXw1`NHil(A=joR@l;!V>qVp+pt zlEJzY?Pn$;I8@N(009<>rJNp_7EH!YY4Xl7=S%W2M4}8^XHFDl)S%wg>EmHo(T+}q zdEldUXPK&{kG15M4ESNcpS6;6xhSQ}xW4K50K+J#r9BwTBdn*YrsJd z2Hx->w1m<$x4tkB*bwtf=A&<2zF66Zjh#&2!Mg8gY)<5qHL73T2UL~Nwbr=v`&<}9z-M3_k| zs{ldfb9Y>3`}=BQ!9p|ZPUyp4u}hlvyIdZ$#KJ4NaNB%}fm^{Qa_Nr(-C+z`pbM~S zT_u$%p>tWlEme=p_z*LIn+umBaEol$hzK zQ^B|P^h0e(<|gPsfIXBb8==?!bJvFwLKgVO<&#`^bk6)Oz|P%NWk2x+GTZJJ!Ks#8 zXn%@`#5R-A^)B;0&HJzytRDcNlWH>%kFeHvmDV854!}~7^@)FU+$tov>^T~JKpBn#N5*zTVT9yAU0HUq~@{#}V9!1K?C4uYfQXpkyN!)-iL)<37OcK6nFwwsnc zgmg7mCcI;g;_)Vj?pnw`F-VxBcyf?1NAZ*(VUFTyL1LoHv<3+u)dh(uIbhI+WsNYC zlbWR&*J;_ahQ7$gY%0~Rr=v0s(16A)*y3n>yy7Ur3##ldz_hjzQQf| zjDp1KA#_XqF*1vj5o1NSTX!ALFCE-q^HZq17Im4s2c1sm$~an`rgugRy6TB?GY&g65|Dbe?-s;a@d{GZV# zRmC4w#ZUU>(V=(h(E>#5i%KhCBCS%+SPcR=d!FCbwfX$JHqX25*i+0YqSbnW!6T~Z zLW6Bdksb**Yd|ZtH1Zy4B6Zu=WnJ8RN`ut}$L{!b$6R9{vIOWr)jfc5Le6A(oXfjd z)Nk0Dr?Y2da{f{Q8!FuMbdX^%Qx|=)nb3 zdwF-J>+0n6NR<(!Uj2!O7!>Fq>HLUBdZqTHMtY^&Q@;HM?TyPeX1cCy7^fuxJAa}f z4(=Z!lVNa``>OO!rX%0n!V-;Wu*V3#1uaZ@Exl5%PyE9${H6BSEXDxLnn___E2Q(n zUo%mrdLynyzmL{3@zMO!=H5FSho@W zx|v7~|2M;)AJMSQ0&3WYEMV_c;0JFNU38v9jFaWnEB;S*iGq*`c6@Kx6+CHT%{IA# zdue~0+>kFvz=9r_?t^xSm>U&4(oR_q(M&xP$r5ZBu@45bG5;w&T*<{$m0&c0gHQaE z-3S^)umf($yCH)O=Ar#PQa?XKKZ6d!wg_-AOZ{JdnC2mq+=T}H(?^*s?(|=eXrPr( z4)4JR=>z*4a8$3|8Q0|Bkgvz-delrmLQ8^cVXI)`1=kPoT5zq|^Tz+p^jy!qN#*O? ztvLWA%MNYa4Gf2kd!>%3|HF+dFcJj&U{tN{(+#t84H%i7dqY0&KG~kV_#Fd1Q>d_S z>uMkZou4pZAZG-N{C|XgeE2aNFo2(+!>s$q$1^|lA!(6WBRGZDC59Jk8p#4a%u7jj zwXPzlDv-3sqt{0&j6@WDpEN?Ul|~;3bq>B8F&QWaZKF4R@oJF~uR4qzZEo=oVh(b7 zoT-I|V-^Q-X#u&UUC56i{2{=) zl*BchlYFSPm`6!c9pay;l7vZ*PStaYxe$9EG-Vboz-bN_A*DrGi~wFKq% zI96sXlQhwL^Uv@#RO|%B60%o-zO02w^9BBbDp)hAUz0^mZ}Ks$3QKjH9Kk_tz$_EPc@ zk}y+aTfWcr9(M;Q_s9S&e6H<&kS5~1UjXGV0MpOS2MEpRP$Jo&i(Gh(uhCE8Q88eEpMy^A9M&jTScq*BaNs@|`YJa+w4p(IuP6!1{p2zZg zQ?Kqn>dJSRrO;}drO?vhQ!~37KTVDx$<;@w%U&*OfGWqT2{IV7VJfxDVS+a3O1vS| z#rMg4AI}Aub=U8pB$&Yl{2FnYB0GHnxx4#G)r2@RgH%%v2DoBRp-&mSDNyxp+uS|m zrK+(AIzwxCm>gP7^wt?mFno#l0#7W5xFQeM5s{$QP>VB>UQ}6+t}tGMYQ6t?3BNA# zE7>waP*Ntf0`(x~?xA-R#2X1Zon)&}lu-zQVX0rX-0g^ZCoE@%~>LGp4mLHj`0}R!obHA%&F$*+$)-2>u`ZfA zST*=Jx+|s|-RvS{Ex>IOY z=)9DYI`)IZosnFc3LAxVL}g$kPGEV>(4%)2fo5aL>oLLG37VS_nNXP-FBk6>zGLI) z-j*4ZjW>2<+lq>ubZJqI+*ntRLea~2jExKKM*D_xcI#~%|EI@^)Q-_~&9R_@CF+v$ z4C76)l|GTfEKa1w7`8)vAys^`5;_+Q*6#|Z|C^~Fl35daHPqcZ9SG(uNg0`amr(+@ zqunjXPeMQHJCj@#KM>b=lH_!^SbEtq$sIcj9pkR_KfpWZj=4v-N|oyX)Ro$xMS`(X z;hPw4&)nDDS9L}i!1F%GOlaAs<*w@$ADVU5qUEgX|8E{QFiiSNp1ZM0s+2nedEZ%W zi`%sB_jaM0vVu`Q^($k=1j0XQ6OSF?>W(4jS8uQ`?x`7w^^$VQlqpkss|6t47ILhg z?Y4ek-UmkWrsipbXbrP@>nB~9J8|>TbPkm-{H3XUCmqOi3;|CSKJ-6E3JeDN;$wU~ zf5`EUyVe@nvjXW&<))f}w|-i#C^FAtnv6_v@izLJ*qv!&>gTV~UO>ZS1sbr4H@Qt; zXDxfYVgZt3l!NZ0@6semwm!fMAj7hjg-bH)Ht$co8QQ!%u{D$mPf3O6XvklsVU_OO z1fcXUa@laft%1U1rdB-T-imUQ)ItL;7J#7UhVqtg&}sQ;XEjo<&UM11i= zy~TaXkOGwRNVMX=WtKdE*3rhsJ+aVBb~NJ)R%7m(jhWDX5G@t1~cp#)ckfTHfP6*)W{(?kl8tD=JZ?hXXIP=bxoRCbL))!Tk}JL^VJuZ z;oNVa<6ew>_~H`&m9B8)6;=PuaMlboKRI71khj7(PpOf`Hl{NJoI)?0rJ0q2oLbD&SVV0IJ)KWB+3+O}a75w+SsE2|tUb^Q-LGbaE7(|I8O8klv zE2KSr{LE$AMH)tPzH~Uhw89?8_3jd`EfJ3xg&Sjq$GHpDGg~wv7o)P*jdeUG1up-l%iA zbV{tO$U>4)Znuq{o$SGgSbLS@?!yjohka#o_VdRNFsDzgJ4@6U+JF9Duv+S)!7A0rZk|#ZgmN$6eP$}zm|1aqmT9Ap?cMsZN&oSda@i!pT)<5=Cf?yRT4#UrLjA7>j_SB`7l<%`^w%^@?4`lns{pZdCY55 zB=MBFl53VG;q!IwHppGSQqQ|@Z^q9I@5nr+8g_Dvc1t+3mf)TJnNyF|LPpYycq*x3 zdUxHsH`Dr*mLb1+XjWIX@rPA>gQn|2S#_XaE$dnFU8%)>$8^bXO%TH-F+MxRGHPR{86R)2Eg1wJD%iVLa;Cw2&NtdFwF4Vr`SA4uiD8PLw z_#T@Y+VLw$r;ca%%s(Ym~gB-v&wjl0&hBx4=3yZLDrVPV(X}UNb?NRDx z49vFOyv#|W1J+RHG`=(``S=ym|DEJciFeE&Jcmao^}mnsGp7M!tN~ND?J77e?nL)X zcko5&4nCnGI5M^FoWef0O72ksYjDE|tK>Qw|7yvKqy@71Ak$Qqyc+jjnWj>+-LUSd zWm6qn*)?;Ip4dyE$^lN}bIhJmGH$xeNscS(*B+($rVE_tttCxgbh=+3*xohmL_nmw zU#l7I)bvTawr~Y^;OlbCC9W=6(Yrv((V!)4P;M#ey%v@O!Ie7@ka?P2xSMu?oL3;6 zOJZ&}7StSj|MAmH6}O~xl+`)(Q+26}GIsm6=5n&Fv(MbX%i?3}LTl@yTc)3655Ka= z9{vSLf(o$IwVU^B-k;fe?TXeJqeG{5CAQ{ge9GqU`#6KZ1TKcz?@C?dS^KKd?ka-{ zu|~$j(2_DBDf!c`Jh-j<9w33?NB7H5gf_D#19-1SGfmnpE5_bgC`b-}xh zm}&$2+pUtq_?i*edt{t7P}J1KN}lxJYzC`y1fuAZZZVHT^PS{C?C-=q}E;c<9agg6~z- zCsu~Nsx^gqbO8EwyY=sDd7_xEz{|E zelvra_22>O{W9M0g}!^q;C-ENX|C0B$H>#_-EFpu690>BUA|#WUGi>^{Rn114HK{C z3pz&TCp;^%tGSZxcV!8h%#qgVr<8?mIg?4KTyQBDmrrwqU(8d-kYhTEt?KpG#T#Xy zf-cEx-leGjxhURX_fy?*S$^t@9j$wgz4e^dmce0uaXSUl7`&_f8bDdy)4HhdX+!WN z(Q2{1rfrtFb8O9P#jdS+FlY|}0|WGoX)>~u8&^z}6rrNtT^qRJFL6SvrQC>NT1`Ij zuDLs~k#g%{SoUE&`|pOl(W$wS($DZsoUAjN3`Jxx)qx9;4I;evE_&u<|CNKOjaifV z1D2evY?8boD|b?DTXd9R2RrpxC*>fCS?`~D<^;QhG-sYpFrg#WUgqGuUA6tSkQzA) z+XhZ6qk_;52X6=*USqJ`Hb%8ul;YfrZoc_9R!QEasks-5Rz;Ja9v5GpYP+zDq&2v} zDslX(t-+U;Se;MFpNRLyj=jjuL@GWdQW92cew(JicIVI9O1b6}5>L%hES;7?K6Mjn z`ie|WbXV5OB3k$NB({axdYa04dtqMlXEbKr2C?|K$S7mS$aaC3EJ}%YHr!e3Q}@$y zp2UNkQ2tVVu0Yy&z@400ePwm+sUgXnBmtV;xUl*m|QCEvcE%tfT`sAXu{@b3GqB+HekA06l_j@iG*b7B=41#4J{>8lX;M#XR&Wm+T{&kSHkFF=v~}#kJ{^c zYe3@lkQ{8UHuiDO1GQcM9DoVq0GNNQHN)}GLD;r&U%1osueP~CZC-k~Rxks-6Xr&o zBn^QP3zKbyLYS;k%zLSKZ$_Pa9&{<=p|69%dXJ?^?xQp~My;i-_THrlZW&;E z2#MD|d!TY4r}f6ac{1XNWxm;>(I7R`Hbv9+9!5BH%W9K%&5n!kR?R@FB?IY`>C8dAw%XBaNAdt15C*OY^r-ky&rAp4v=4t4*p3 z{@9N9)C;?He_>D-u=7iwpwc`0N*_yUWwYA;hpylk-{6X(SZeY~*Q{?DO9JyWi;}v^Rnh z{*cG%9zv6@MsNA7_f}AFKO|~jN6lQBroKSIbi{ijn~T{#Os?v_>UVK>;16P>DWX9P zJa`b?DlX0cW?z{Vlri~yBSOFUlYPadPJO^4n&Oiw-g`Ei#bnPy(9iq&nMD{r0HH;_ zwD2YY&^Q`n(ZWHA7Equ7`g_@e1N#b^NiYR(R>9N#f&;BK-&0@?+&-5rOjiR?G37ca z*PF-!mK52v1-#Go4K38y*!=!=>{pby2x9)YngVO~ zA4svsF!ETz6BdMbY4DtxO*#n*tLOXNeZ~LB+MB>fU7h>?Gsy&kMrP1}QK<%p~k#DSCUU&HyUQ=p>lQFo*@z-m0~&_FAPCD ztTi=K-nbm1n8=(r9HECw!LdF5wKvxC?%=wxI&GF;ux1$0Y9cpe`Tx*W>Z z?jPx$UZnWrUBttpZ8*2HXkjA#LnQi&e=oEW>BQ6dI@5QqCw>u&<6xfZZ~6y(->^D= zQ-92OF7UkVMjilm#cB^ohcys$Av?7kE_};bPEN`RM5!rL-!NZ+?K7)4cR&5rJ+0JT76Q( zZp$6#$`VywL%SH(V$?|49tKN!oO4*qJPoDYLAL0WFJn%iFKVQEHzawJDUdb=I>_1F zc}Vgmy>3HE1C`4_)Uvksj|;Vvj`KK#kktEyfX=(w+uj2-A3*E;7V~5x37kK%z-n7= zyqLZpZ}1`Yae?%sJd798WdnBSMZ(UKw_IG17-?3M{rrAD=hLAUm4wCMT0I{hFEkP+ zJ4^Vkvsego1#1X={+!t%QTlcYyOV?N;E5{~}54RP%+6pn3J} z-k%IQ_>=qj1T2<7^b811?f4HRdVb6cq!R$r6s7V=_PjtC0w(!|tx8$xO-QQFFWuEA zk!UVb>a!&wC_p=bL0b0J&eH6@TxUHw7JQ+nfh+XKA#d&4ooP}+_nlm`#ec!p$!%Rl z7;lM>N%9Q69#g^S`2djoMx#t%I6ygE6XhvqkRSe8qDnz(#~#SZnIi-7Gr1c%$bWmB z346vV|Y)Ea38%}eEj&3Nuh5jZkQhU#T~wH+Vuz!1LvEq9ti?|VDmRiSN`_N~j7Uexg- z52WoLkm2RK@8I=Lt?xDfnY?D$1uxBKcgd$Ns)%In)}d;dr##?JEF(MUsjL&gTMXWo z9@4b?rb9Aw%d!^~l7{lL5Mdq4fr*p0f>LdJ3n(U0wbz^vd3FdaL(STxg+|<;6b*AT_V}vjdo;nlJrX zot8+Zi9`@05Ncj_C$A$7Uq%{sMGIF4rC_JGMhlk*rBrvGKGK^Ag*G;tN+`CAk|u;b zw2@?M{L7bQ;@z(SR7Hy%3Uw=WF2oU~u>Ddk9uk~mU#{~$*SWsV`(o!~2lf_+Y3kW` za4mTwo94wx=%Ig`=1t&=RWug_PtTjhP3CqVo5a%drkU%2xt_^&qW`9O*Ym5@P}SOb zc;@yGOI1$KGPie`>ub$*yScv7T)%3rCvn|!x5IT+Yx7-GxJy2}NYZk3O^Ul3<}Bn@N&q8 zPQ|M-1=ayl5q+AW>EGN)W_)q1=K1)*Smui2aW#L8Iw$0>FifwpAUOzA}s`IEYCxFORvay#3WoTQ3gT~}7aZ}IB zQ;D0B;NsMW5qT$A5}HU(*_|Iu0!oD!SMXqXEOR_7>K$-L^IINnjs?$!mvLGFzLV2& zu4I;I;nk(z!dr1@rmid-DI|xi_Z7a{$X9i27FEd*D=4!>OD~*$*A^}9F3Ki9iO7E< zZZcB1M9Tm)0!I%E-_9ECg1>@q+6u@q5=*pR6wn3drG30OeEC|q<(SOiJNe=d^Kk8y z+*!2^mhW#&Gn8;O4vkTtVX7~WSIszz-{N?s;XI*d2J)TA$>OY1DY@>G*8tL7Y7-d$J)V%Tq4^H5Lx%o3UyHoZCX(RYbE<17rZZqbg zGSo7^L?lI-_sjj+%SBblpySV8z!esg;RW$wq3RbCXDPYN@g{<$=^hNW5c2D`$qEse zhXQLQ!ROw_Xsr#s%}awKC+RI6S$-6ZE23}$;KOxN!U&0L>F-~$GyNR%j?HrTQ#@Zx zcf*;HPpP4AnueZKLvAyJx|^|5)@8J1?3ipEj46X@E_n|Nrt$5>*^veUyf^}xR-tu+ zH9FF;G@33kyLnUSfyT~`#&;0qyn8{dL+Qxq5v7mJzJT1T*@0JbJ8Hz>M`phV!5L0C zWH#ch_pg``JpUp+khNNp2*JWwYq4<_@{~hLcGYEl1&)Jx^oq;PaT=XZ9M~f3#q9qM zT~cSfdDgS9)OAy0Hn2g4^KwZa#$zyy%!1B#czz_iMga=Y&q(&R2bd;_h=>ulNv|<7 zWh}#ISj6EMK}kjuFYkCuUk-c;=<^Bz+Z^{mFt9}QVLT$~8W(UZvANsrBo*lNhVkG@ zHPjgC?*ht=bRMLtmL;NX+?L_Jhj2A75{-jgm9#Ydoj1)X-NUih7^>G|UiYGXDbc=6 zO5HbhIcgf5Nj=CdR~7!I-*bfynVdP!lQ=QC$^?@v^Tv;%A5M_=t&>g8U>z7%co@VS zh6HEcM7A4*L!M(-9uaC;Y#@Mh!h|x2&|Jy?^$5Puj`;)Mz!op_z4N>FeL8ifUToz` zR91SP9E1R!I3~H~O~CDmAD&!OPLzWuPU0&Yriq4_Tw_wqrB|uZ#5aYKA~ziWqR0v1 zAk8EzFP0oVVt=mVGtC#&h6PbnU>2w^FtT>WCI%rt>tQdMby_-L`jg4MwKJB5NUE?v z2psPZ(Mj~vF(awK_Y3Tb(;#0b!SH7qYa?ZSw(Rw=*2Y}o93ery6xZ~2AY)fR?g?WU zrJoi46${m|i^N0ab*Xi}bB)h)x!D9!-+59fnJY+WYw&!tbWrK3$H1!iYJld$769Km zl+ZF0$%v8>3l4~6n-qnkmMeJzZIzAOU2~O$sQjW8C$swH+=nKkMN@em=Ms$!IG3=b z$7kk$@o+iom5oXJL+lP$FmQSuJv1Jma%Xf02HWpOv*&w5&jL!%6;P}C*(;IyRz1=m zKI*!@;&@YH+6$h5eWvC{iczPXU+rLtb57Xi`iqR*K&{n`hnls{=t-^f-@nyiI~a<+ zO1!2-EcvcG7ZEV8(F4hU=8@@B=d?fK*3qO>F^))0xckz-qS;LQR$wZI(ew!1zqVzK zz~h`iS6D13x#$x=Ho3+oC>*F6*P8X*bjYUE%pY0l!@uGQtryq{o6#O+m?5Hq&B`Wx zXSGRUhIwN<;|(Q85~S7mIAzSb@;4R%CRHl$0EOn;HxVvxHSk&_vSEgRC1T~N+6HvE zi?S^(Y6AeiM=P0YF)eu#hF6Mz#*?DsrOf!*Z_a_TH*7(-3uj92;6cS)(elA}L`c!4 z+8Z)j*^$DM{gHG=xy&*dv-00NE|Q&p=rkViT*=MC#QKf&FPKZuKoc>g>N%rCUTcZ4 z2mK@ia%APs3#*>5H`4|t)$+R1nS*~qa^aM#uVI$TnUcyn?{-n%+RmryysvjYXuNOG zwpDbluEioX{IMWZ{d~MnE+zJ%RS5Jv1~6{Iwt*Q9re)D21Ey8e_=#nnm}2gDp86hF zHhr52=f{8oE_NH2DRVjaHsrUAN#I5)c3yB}(zx9Ze>YDE#k-&Nx-EX3GltDbpaps# z+WEluX&6pv^0RItFMb_CKxFaT6z9=dGcAIGLZQje{-AR&N)J+ zjXelmOgY{%scKmsv#Z;GbCx*2vw}?;9Xhnppke&vJS8RpJhV5pdXYt^qp7~cnffZW zAipV@_*l3t@qwjRky)a{ip)YKG3n6HYPO_b&nz*gab55!k4FyO%cHIS3%FDgfz~h) zuisLLcP;Tre9$^Y2KaS@Duxa(l;*_;Z z&(o4TXkBZ?$*G$iSU?XEk3qAuH)#$VIB=5{=erwTa;bS>R$GRM;D$wZ!IiRT7MTUN z$SgR;vMoNsF1SU#7F-+M?Ot%FY0img`rL$SK-*YkWm4~)S4}QVo-j8hEHU!HZtC1Z za-7bm>@;%*fh9~3jULjJIKj+v<2Lc_&Oxv(*s>vUj-Co#N}jDiE}XDO9!LHUeta&tod zM(faan~UMdRzT0W=lnsI>}$KU>+|NWjDibt6@OU0)Ajc0HZ;cTtc%FQp( z_c+FfredNu>V#OzbK^HU?pwAkc@+L^2Egh5P($ zFklY8xqT~-GHc9=g8j2d2DeN=ru%$o8&1FRTR%^~+wLGm5$Sxv=1h}TS^M9KCLH?4 zRvDznYtL}S*4)KzE;CpL3Gp|+{sr{qP5vNN_dcsnT4+?qc9_5?h0MAsp|b=3a5IZ0^&yab)`rKd zS`Pf2%o~{cGHYCUxP&=ugU3G)(sO8f(S3Y`Rc3gxQsfn|3Vgadq%Qp)1()a;KfNgA z1tfHMAieo#d-iiIL%LPJA4fAwbd(wZ3lj)K+*{U%ooLAmJc|}S>6lkriHXb3LMrgC z^Ag0=CEbT`=^t%d#&ktdN+}h&?)eGP!mQ2$jHUzWRSU}@vY(_r@W#@Hf`rlzQaWK) zAMh-aHfa`RYs)l;C&xZ))y#vFssVP7bM-}~R7Sj0<)zveJyI=+XsBHA!M5N%kGtjd-+fM$qc zcGWWGCsOF!qM%{JLSY^|AYqM#mV_Bj%6WjzF94$KLI*KjNkdBOp-(~Q=68`5Egl2& zD<$b8*&&aIgNHM_k`c<1;ZcRjQj=~Q`Y9Duuubr~-TP`j^~YY~wmhAA z6$x|b$LUXpeojTD*;q>#!NqNawG;zaij;EuJjbB@$^?%Owxb}#F?H$G3lzaT5gsbXkgrLV4gI_-mz`khrPnMwMLtrDQxK=8=to!h^TeObtLZ6W`? zt(}E+Y)x%m^gY$tocX@_Nj30;45SZ=`9PQ$#%y?RO7Ed1HDAsdlv(vK{U&LxxaXej z;MTZ|kL{+ZY1}K}{tI&sCAF;HMlv^b88nZiS4n6~lM zPlW^*)78EdDDWo!Y#Y&GK09nV?~pcPc=x=?PL%M_Hn(+_Dw!-d)3M|#^$_)t{ILz& zVj167X(bvCbUBseH+~4T53-k;(1!JH(M%pecndeCDo&wLvteyKC}>WJwVlPQ8wW5K z#ktMI5cjpkyb9bZ*q9osPim{teN7p{=9?Uq(Q|JoxhC)&JO;E^3?Yj^VS@=jQyReD zYN7(!K!X5P*7i3{VB3f8ltx5A>XSNQGo5-B6;sMr2?#oLOE~>rdQm%%(tmfpc^n}( z{=gvr&_%WMKbjd$_*|-<%Y%%s`I9K4>3x_3b$Ze+r5orAel!Ma`H_LG5?i*U=Z0)Q|5d3q^>z*tO&HyXLsIpmL+q*yE% zo1BLbGKsni8bXg4UWYbTDdHWdt={jy4Wk9fy5gUlj2I6_wtmj8z%iNl24H-S|F%82 zq1iBM%u=z}cvj=T?aw@mdfUfjCaBO^{@b?kAi2`&S&bWXv(~*?shg+Wn@4r?jC*rG zH?=J@2h^T5XMn$Hq3+JQi7V1)Q|ZlI&C(T_`qDSrq5+Bq{7pZwMY;N}Ey~q}ZqWtU zXH{zfMNt^fvPHS7G*>rsbs|@(556SS_%O~n;3hM(c*LAyf74-HkGP2opDu3Z;tQxM zm6cIhnZM~H-JNw4SAW)3_03$psVlnJ)Xqg_X6cAIrT(V%T#vYki&eU~nTtPg5pKC( z@@;L)O8tbYI5*>6%v1iRCA_R{d0bDc_NPBhzQ?m$_3ZR#^epv3UpCA8n|{orO!3B~ zzz3sy3yG(;h2$R_YrP<>W*@8_JQ<_ecwu*KbEVY8O6RYrhnjN4-=Hw6g%Hgw+kw%^ zH!&TAw5D3iH`V?{mz!!G`}3jw*=c|NVSl>p&p!PS8JYk!7b&A0+2?oOs>4vv|^AtQ~8XEK+G z00)m;cnJ54=fB0Ur7Z+8x1J2zPk^6ecOA4e+YG8Xe&ty?9Dnd7S#1? zS3bBst$l?fHj`y)haa!Wp|?pomO-F8+^@^uC`uM(8@1#)XB~9|4CFi3G_G{h6O2&N z0ZtVfv+0aF=X7q)c9&uMeVXA8rdQyjNcnK6Ig) zuIslq(I<4tRBxw`zXs(7L;Lw`Sib3UeP8KZd3T{_;uXR=W`| zW6#xQtn*(GgzF@m$W|C(&&Es6=j`LRB<*NJhVh|O{a}W`3`xB>vR!a=2mU;pdwE6R zFRxIBY7ZNPieyYiqykXIPVokGuQs*Qve2xj9vwXF4}Us2{$M5UnLBCXAVuye z5E*!08I07tG5h2^y;gDo#NsTpSLT!i_&8h&Jv&q*b3Z{lcqx*(%Cqsjql~HR8w#+F zkA|-~UC$Yd%31lq+A9Bw5za&Q;Wy>ko_m}@7vxemo07p^%mdC1j}7uPpLdkvqeU@# zZ=5b$Yd6G$pFPgeyaP<$FKyD3DZg60YNogw`ZNqylUXX0egzoAM(yRnq@WDPDI*e} zV$d%#4mf8Lyk!ixvLc5w=6D0LOy!qp5M(HK-UXMarra7FT_x8L2bDt)b#rfL%In~A zUX&X0;|>ox4}D)Y%OJ}jh7-jPn z+5TH2cP#ySjNN%#Se1nFpXT!vD$E*Dj&K>@$dVbsybb5n>t%d9?0kOmXGIvB{xn4^ zYZ)b18dDp2=|yp0cD$(b$u*Vi3@DUQyHXyA1X~0awjtletGg|`@o%Npv>vIK!KCpI zdE&C&PrdCYR!AM~n z>}sfRzJmzH{zZaCdJM?Va8wt&hE0eiJr|;!L%0^7 z`J1xvJat8~qebyD=TEGWJaw*ZnK3w2{m;bt%o)J&Ce8_wSgz}2k*IGw{lT%SZJcWK z3&Q=f6AmwEnP2!zMEK_UMZcyr&Xt;Vb30p759nFbuXyBNJ8l3NeSAxk7RSQ{@jl7f z7YijG(*6F{L6M%gW<%^+9+;Ax}cApK~q6H2UpqT9>#qQ|IgMRyx&4 zYw=Nf;5kM8JjIy|Djd*HP7W|VtZiOyI&6E|(TV?0y=*o;u5Ecz%tm{A>{2!Qrn^*! z^ek0jv0bbad)8NHj1aV-T%Fx3b;}yFQb#F>=-9Qoj-ScKF6Ry~pr?*Na`u5MRUq@P zy@Yuqo$$*}5O%4x7C3mVE#XB7azEkdJ{Z}~W>?Bp+xJJH@f{zeTxW~JaF!Y?c_d998JWUZ zUTDw?n4q$A^RrewHfc)|1|SwzEnbhk?9$<=hcVRIzI zIl0OM6V4=Ml2l49A{FkI&Vteh6gQbob0eMg8%@OXN&12|Ps(MIGQ0R2ucNGvR&U_9 zF8vQSJW}Cbh!yyL)AKX0W)YN!*d<6>hdCE=F^u2n0r)XOcf}?GLt`mq=c~LO)BB^~ zbB|!Uj-^|Sk!}#|fC#VE#iyUaRQ}-^7&Lt}TQ7-iYwaj-j-!)^c{}m0vfJ`LRu?dg zd~d9WeU{JIJ(jsd@l?3O+Z-e;@!>o57kBK2$naG>c#?e{$|cID7KARnSQM^SG^!e_ zf@QsEJd$58-)phFocS%U%a#lak7zdF$X3uO6;zlCI)47ussmHK|F-J=gw>gLP0gGu z48X%9%sYH?RQdd>O7k zzEI|-e_Q-Kio3m1<9xEie$ow|N@6nTEJ}&6aiWEjHsAKN;`Fq_dl#&|JM||bIy#hQ zgfW83Z%_4o-7t&{3r=8JzfZ@;9tDXJkPYNz`0IB=J3G%~g50NnW3 z7;qUi<)_I2BvC)Lh_=nREGR%37ZfPT79K+m?CwPKi5i*MIg<`e(wO`FZ)1K(>bAyf z1~G*XF1^@vB@fbG08&q!NBN)^kfu%T;|}{@4{xU1M#n@8n3+@i{vQEz&H;@*nPkqV z_B~)yB&{(22d=2T`9bBLZ0`Alf*P4d(J=v2wgmWc|B5%Y7v8McaZP`TlX6Q-WTo+3 zX2lcF%Ps$_c=6O?66FD=Xl{MTyFGNNhFxFZje5P{y#z<=|nNknrY zYL`Q1ALknHP3iHnnhzy-W*xyZ?U|HjWvF9ZT=-%-mf_NRCFFH1lGQG~cQ**ayI(Ow2vK{kv7qb6#oa zD!ktv`+oR^pj2j+$8N<@=T7v}9aGPaJPJXBfzC8c)u@IbW~tb1k|qSeGX5VNuZkd+ z+`}W!O(*sw1PX0zYGrL;X?QuBZjv*_dFd(0*GZCQz_YOuVUP-@L))fBJ5mMoqgO8bJ$n#}M~iWhUO`gI-X*aXFA*Mt;IX^bZ$0EIK7 z$c4A2>}UNH;Kij0{qnCELm!X;TAHNc5Mg$LVYQL$vNx_YBQKLbXE5slL0{Nc?j$7^ zxY|p0;Qp&6eN>`q4XbOO;|(g))^+HJ8&3>=mp=vZ-V*E>5Qw@+kCOEKb)b z%5l!vXlDL~GWt!VtCn;mJ*HWYD)lHmCaLR)xo(*$FBP|w?5l;ko~i3xD<$vgd<+N_ z>ppvNrHMqKvjM|vWF7|~ybqXf&FLwj^qPCk-6x^sZ-g$-hBnSKvbpn6U(|D>v87Ww zw8A+9lZdPNgh&vp=_;r83Sgp8*;w$~&MQo-)s13Vn{t=zH>Xz&W9m1iyV|)qhv1Ht~m&dXM{q5zmKRYH>_QfxH*GgsxYZ5W8w>W790G*ctp5vjth} zEJv?XnysFD z>jOvP`hXre#S`7En@9AJ3lLQp*g4p{C~4~3Pw`0R;z<$j zBCQT*0bfQM<{METo6Y{05PXe3GGPD#gkz_mBD_+p1$@AMi_S;BX1|5tXX9R7$It^b z5YDVsZyA|clY*v+!uGFN>W&qxk7XVt-a*6 zqHy52nG$sd6b1)p<`Xpw@RQW+MCS-(ax4*=a1g8Boq_>9Q()+4=P4m?DS=*p6V;ny zmvz)T0pvJLodZ1TZxjj^n8k74o#WZFlL*%%MA#!ev@W`MEwm-aJ*Em%*2v}71!65KXpE}Kao+}*V_&y(P#w&iSHd3f zV*e5-00B`gU&pD4ZC#iAPwo#}mxL<*F2ap#s#;q`+2 zn6&RxHgqJ)h*4dL`iMZ1TYZYhZ1-}0_)1qUn%fvn?e`^~uFDYq7iQ|=caf|;P9v0= z>l49G7vrfa4tv|u_4^1{=VXzO#L5|YE|!fqPBAz11?g(9&TT$I9Iz}CZk%*pjc>m{ zJ6~g>o0S;VFdXbHB+*6d7`*4{=FOmkAv@x^;d+wkqwgzRhAhzr(={@Lk$TRc*|(f} z>PKhh?=wJh*@Vn&3rzz$&u$Q^lF*zn8`lK8}RC5NI2cu#0z*FzgqVLI#$H&^6MZB8o{AioG-T-3Fw0_y(Y zH{WN)8<|I8*~WryM|SIaVQUXQcYHJv7dK%<<4oqg9&`S!A8w`~b$iSr2RxuINgtM) zV;PJz3*de7NBR!HQVSxJtgyCv+TcXL)Uygs_9l)q?AvE~o_be8*Px(cc^m#A_M4Ru zWrO;$Tk`Z`If zu8HICZqkfcnNq909LON!kW_hPge4p}I2byNI7yn^QoMdj6l_+`BZFGrLlv>F1o^BS8sj zkb(U%d?HZS@~BM5ZO)KgUSw737?pPsJ&Y?`C%myj${mpfV^S(edL%y=sX_3M@Pj2DNm#B`3tW2*P zl?ktovFJ?F<0yXansqna2Hz+$_KdV#{BYMfWDvRbtZ9R9{6?lE2(>T{ z9w~mvxX%84Uy#310&3nWZ^bW>4TIL_3ZVml!dmGoeMuU>t3b zb+?In?HeyaUg5Eu7t-)&1lb>bV;EbtzAD4!CDqp;*GQ=Uk!hOGvf^qSQlYPC#^|*_ z0Fb%Oo1p*C3#4s-D<}L0euT>2II+g`{)Tb}XXM(?dTpLF^0%}7r%1TxcE5M!-Ya(T zbSQWi#~UQzF)0ASM=fw*ye-VSXeWm0w|qn|Ked|4pLfSGL2mRr;&cf7Y zsPN$}Ef3Rf>b;q{m*$+vo~(iD`4RNfq6vO^x>?A5sO>MlQ0qQl=b4l`EkxGA_)yz> z3*Z}%HB;PDTQIW3e|H;Sj11t^UmqIsg8ANV^5r`}H5I0I+#c??quFfy4Ot(DeH3z? z8ks(>fYL3wkM0rNM|aEZkZFrPRnzw?KOlD&nBuX_iftkcm z(Yrh9ao<7p5m+7!CiNn_+!elAYR1RK64qIN&Aj9?2F=m27h?}#2o=1nYIO$uUgUh1 zIT9h5XWWC$g;dt9T~tu+9P_YB*;MgPe{Nv5(@dYtZX6LCf)pgs)J#Cge zMGK8k0!Ni7*ig?!lkw#jmb61KZ5SoyE8&p4H$z2h<;^E?eA+}_yEbz5`wl zCf-GYjnMlS&KG3=0!Jm+9ES;ZH+1XRi2CyX&mg?nKr}ld148~KV72r)AZj{61 z%z{9?Z`HPr6EUAdU&{JrvPvR6{pi%*!od>uZaiavZ>YISV;-vnozQ0 zh5r*Q;>?9ilTdTuKX2l25&sGY*q3ukDn?4uaANCB?eK=S>RQqPSyTCsA|<1;rQQ*C zV@CFUY6IlLLhrf}W(S8q`=TbG;g*QPUdJ{3lR*17=*GB)R)xXl6cw4?AN4=h6=A>$JF`(zqz^H;p;uh<+if@xnM^O^t37nE6a0$GzL z`%i20r#x81Y{rt^@)>C162#^F;6aHG%YzFUFA$p*981QY3S{JOPXIB!@E)Dz&H~nW zLRIPP5>POy z4VET=T2HDu^i$zEW)ZV|wfBSbzwL4!o0l|YC&_=V;@BH%@x$g4mx0GKZ{mDiUe_C4Vs{LKy8|&c+qMiqEIFdhwv$!N-sDGRm*$UxM=Fj z!ua|5=DMR$qPYz;$9Za(NfkC$5lFTguXHYZhp9`gFYovvvq?d!Kohxw8`cWDY%Do< zsg9+q?nF4R#YA2g8G{N+)g+?{^3{~D5SBj>nrKFVh^U!hECdEx5;yxowt5k$Yql#& z#6nOIO(ay&&{;z!r)n3m&Xv=qd4pKGS5@vX7QXEcqYFT^#DX!FZ!>!cI%EOvP6X;Vx_&A{Oo%SlNSsBIwmjUgk|q}#x8jll*g3xpvzXF4iS_( zaUTif=)RVvYaV2+D2A6?lSl+cV|Y2CX#;PJNEg}(3D`NRrQ~#^O!kiqJe#M&yfQf+ zPKQm2agpg@3XHfkF#FFV3#V_7q`#_9NrGZ(6OwJ1YUT;WfIB0xTa4paqurN{gVL3v`zuhAm8YT>DWxLTJ5T&h36B6# z=yJ?(p({u}URhVuG5h*)4M&dUcoj)S5qA$lwBgxT{|UKN*Fu?Tq{X_U6n_)Pu8?zU zA8)KiQ}JI$qp6N&s;x#-XcZc>n5EU!LKCXlAQZi|wHb`;WT&awt~2oWqcsU7D5L{Z z=F(T-e{3^fRR3(x=c%qT|AI72-O%pP(}jHMtiE6Ou6XqrH=;|-oFxPY!v@GX+s0Ti zOF(l81%Z85>NsK*@1UHl9$Rp zZ#A^~uYbZsoIobqPA!9tK-Oz^dt|Z+&?p+HcK${NQ9IQJcCiLb+X4c>a)6}}%UI%r z^jkHJyY8cksCPre+RxaH&`VVNzshJ>lnk6*F|Gc5#59sv7{LX26gn@$PBo#^$cW&) zaj!ynn#6evp}>H68u?4vH$A<-+kDoykf(6&+?dqrFGbIY3HdT{8rG2gPRV;;1W-MK{QTJ~UG`ro_P@x6 z=34e&+l&22gf+saZvHa#8XTENrM2($5(5~r`P@?W<9mVT zI}i7e_WRZv+)BR?I0K_3^mdm%)oID|+yZ@4%02PmsE zd5U~@?JtbNQ7XHa(NRmeAiXseh1r5L{TvtyDzZ7hg%EZ|)XIm>CwBot^Tv1;d*1MM zr8D(z6S8$q=b=@*HfIjy4acbZZ2o+#;(yS@N=Eb zQacJ21WyQzn&*sf_*OJ7qDSO5DYFhSt|qz?SUDXOhS0%M=Rbd@^+qq0YgN`M@|2hL z(ecQSag%9U&yCc|`?=Gx@OLax89Lo>`WW3eHFJOK8tKey=`<0qdRc<|p>dtRaSAUF zHge^6J+_|xL*DuqNbLcv^73f#-pzRl_Eh&pp@qN*JFQu5*SDliZjAI>$jMN)gqKf(fyhDET9RsxhG&M2S^rke+;^|h`; zuZRwIUL`_6LfO`eLTjSvKC5O6tWQ!4`U5sP>rOT25Ehw^wRQC~rWZ>fY?blfQDxpB zf#q$ZBq5~lJfd!QG09+^(8;N&6+L1hG3ay6NQIq3NEzM8Ji#425LOy6;gi))(|yQ3 zX#8PN3D@hDPLA!>W7DoQ4>Rnwx)%H*zq)?EvPY8VNIb&`t$!!6Lby`kZ`=kwMy@cgvR@R6f>SemUj;-Dsr91+-O2 z3$r)+^o*s@9m}nl63}Nj&hi#UqGeIwpEpeyr&S56hqEJ#!z0#M8^L9~kY$IXa@iOC zZp?+EGK0Li2x67~#Be!F-1)lHd7@ItfcRj(V3&qu3S<3eRX8`|vgjVjI23j&w4o|^ zw@Cw`ft2M35)i0=%#0dPKLT<13aHbsT2PlC1iAqPv0G5zw4yhtFL%pV98~_jZX}CR zzPpE_cJ7dkSCa9nhvoE;Q(XTQsPC}~WNi>7q4H*;x zlnjcAo1iJf79%?Ey!fUeI`wp|CyKz|c&zRjf3bdzHD4&jffxS9LOnv5nnD!8B$YAK zE9t7^5MG(7+|CMP*BzVz@(_KNZ}o4kq=iZHQBBdGX+lWSf^6MukB|p3O9J5$S&NvD zQ-v+?DRCKsBgu$Szq~Ky%?NjB8OtBR&H@^ChTaJ@M5X+XEs@)Th{bH9$u-?>cULr`pWf)Q3qKHL`j!mhbO2|L#p3cU_|7(T1=f7^y zB@DLJ=7qle2rL`6!*K4eMq`C6@sSBZiytX*|KL@+g~&8kg%K==E&xMsU^aCZ@v{4p zU!&R70OVSe3hNUB>)vI#7|77ch%2%|DU88$0s%`^+7K&4C5nyqkRXk0t0-(dLRbtQ zsP=AEXQ)+m^vqoVqk9W5QmFHY?*=gCao=|DD>hI$R$8e|E71HBuQY9TRkuuHNUsr0 zrWfZ$lRN}$vvMdgHxvVe8gxV`|`T2LD`K&*P!H1PtoGcjmqvp|v{-Xdn)3n`B5sq$;hB3{I3* zZA+WIk{5<_?s_>>(0NFG{u;hN-+ahKL9v7r28B?yG&zg4@0W>TcxIY~V4AyndknOu zJd*bE(M0PF7aXLD^)_}cOc@=qna2kiJE7r9XIy6@ipj;wp_%q{W@<6gs;eTd{kByR z**Ct_L~BV!4DkP8!_Uy36+C62^B?c`1GTt0Wt`a zM~dyaO0RcITJbp>p(Pv#z`nk1P5^<$RHj{kK?ML$Kc@GG#J~}O?)3!W^3)L0CtNm+I7S3D9fVA)dSb+?VgRlWpSxk%DY);qGpDqKa@8QP?@ zSWer2<5OET3vVD>QJZ8-hcSv5R}1LWknP6A_9}Rva%5 zJzGq}oxf8!PQC37ZI&xO%cKN!dnO89=7i}H30vqft*MwcIaxQ#PHNFq)T(5)GoC$~ zT9XsQ5L)vNu^~LdqEPl4#9ZMeYQr@J4v z!9Urp5tSWSu+Z}|AjWF9J{MkCD*@etmTvAJ!X^f;-`I#`l zxAU?54Fj7pZ3XLTsN)^Dja;QC$l@4rmi*D08D+A3QD`RY_(l(U9(QLR4(C1s^VWKb zX55lw2}>`t^Y^(g9*Cw^n;O`m@KWNf&i_iSl1twczy2#!rPf&uac2o$SleR!Cr)<0 zB}OGP&Y}IYE&~9=*s)@%2swYl!Ee_?Rkh3=I!O?S2q3+gVq{V0@jtP-;wXm3GMJ#X zxf@i$-nLUo&o;8X$rm1x5!IS~t#XATA5aS?gOO_6yLE)wu`+v%K^6&?>Fxf z@_O4jtzjc9|6^GGKLsIWNSzQIP8thY85HvF|CrQfZO>r zKivBvql|NgA(if4*u;-gtK#1fzz}Z5uoPmkyh!Z7W_ghWhuP=T;&5=nBE(z?gTp0x zQnOt>bH7<{knCfK2ZJ>8DJtyBC1uWggfU-nxtcxTIQn(7EH|T~gSeSV=$1eH`PL6B zEXkiFGA}+Rx{QsJ9Wdqzj&dzb*(ZJCnp4bEo5xZ2514zTQ{6o5-spN6*GMfQvbt5) z9`U$oh$lYC@_8-xU2|hli7k7v#>QZo%I4EHn<(N+=kyjKIRbPT$BuY3b%lHJOM_9o zYz#Kqmq@@x-x@|5Zv^)iUx0T0i*`&-zEF0Ux|XD1*t?mEg4`|Sj!&LBMLw_6KzeCV z*nTNp@uWR79S09KX-WB}+;tk7O4IYxOMK*vF`El&KU2Hueu#r|HmAmE_HG_jk4X zyPjVsb(?aMu$3u%eCAAiqq`n8&5digUpdes>E*#{L(&%qC-Ey7JgEEh|Ll4++OR;$ z(5hNVdd!6J7~!Wag1(hBMX)RDm%eIhDe?ffN+o=6a2Z!1&T>-@fb;82qbC-ii@8;* z^s@n&AWbp>p^fzcKLcc=I^JO`h2>K9?zE28muH!LmO1ok-jH@v6L*hW)o>=G+7thl zsfXTpoExae))4c)VQa{m8j5?>5P`ImnIY`so2MDA#&Iu|k|ujKKfJRpu3Zml!yXH7 zBN~);tR-1Bo|~9So1WOIyj6hiSp7}DpoRy!cqMv7kQGCPZ?Ff|Az=;{ge5sm2&X_uMg*OApb;T)ti+b5c3pU zYVxMW;5we!iB_XHXZD>imV>ixfzIiyuGuqHPT$g4hQZ92+pzv6`eJm^QHr~Jhw$NE*R#Seg+|2>~}k@=%{+` z4s$=P=hM!kb&B-VvBNwoZB4`4hqi~(rs_~;p4^Lw`?foPVi})=CYX#PmGsj@1(iG3 zFu@_aW62;mxa?e?;@MRbHCKHS<*8NHRdb{pz;7hr+izu8T6&&5F+ySdbQWPS-{uvS z>{6rY38GCTZyDrH0TuZ+^E&);b-+4b;lI*;{`}7%I)#H?eeC_xg}>4*Hx| zgaw!kajVMB2HgIfm*dV4NkBHR->Vox*C@iTh10!c%v^UboK4U}Q`hv--HSybjqhD% zLmH=_*1c%*OXYRe*z_{!kY-O%)A<@OG;yxZ(>SE{l-{3MoscJo-OqO{wawEHHF`4n zUicu4+gTrO3I~HS-Sq5plUP-0c5dtjWtbt&IH;!#uE0g|km27v)IKqZ6nrs}SFRj2 zN#_|z2H|nF({(faE;W~^v~!_2)zR!-HbQy3^W`e(yXTu&n6hYQts9^`@AkYx@$r3l zhnJf68Qmnd(y`xyc0~R%)?gR**X;-?BD>oN;OE5hjq&0--Vt}}Hm z6Tdh>YY|Pd2H-gJb zO%DHf!nF7s&t&YWRmDe34XBJ}fSyvZ*3LBXHZxn#zG=L!}aJ+<0^ zRv=dW_)nNWUua|B0|{6(bD5#DlCgF@lox1Q9yFxIxeLhQxNdq=(*Q0Cb-~3g{EcSj z*~A1rdD%$-G|%L&x9JE{&nRG<;#!NLEZJ?(vJCUI)T#=t-8m=LW#-kg-_H_az=jpe zf|vA2CE5E}-)Em;E=vX==pX6bVxTZ|E7P%A zAH1?RGGcL1Ssv#ciKYp_gm80Mi>)&FYe1=0`zYy&&q}RIBHVl8H|EvAyCKb?h-;8N!k zVEP~U(6NHh8Eg3gLWdCZ*B^I!D7p4~<&=sOxV2ykSN;|KfSCJwD~^&XicB&^E{@rdI(ZF!pcuC578`BH8lA+lc6G)nT)H%I zroU;frKTd@!0RX6!9h2;PN2WA@0EV@%J~^{juMyTdTeU-2U5|YVt-AXE`FQj#wmEl zIRDKnSz~$;&pYSliRa_@80Wt!M1GNc9GudV_I7U$%2RiO&z?U z*4j`diq$^6-m)lG2@6T!OG9q06kBKL$eoT7F#%I-SSZS z{0sc%DKJx{^(IYT>{~G%>SbN}S3CI;`)uXcsl&RPUv$UAJ=nEe5_8Q`{=1k)3N^Kg z#;X>YPSglz!`R>>PaJvLE~ap%Y*co_ecp6H!5nX+n;IR=Dn(^uGT|N2d&2moMz&H% zBzx!eAeKR~i*#7Qvpl>A+w_$B&_(h_3(IC20ORr(w95g#UBFl=>~?IT_Aq0pHc)tq zbFE@QQ|l*%+1af&8e0<_kpOq$+W8^dQxtTzgPRUjoFDheFcDYHS5>I_-D64<4Q%%R z8*0uw1}mcOwNi%48K%Mg8@zQq5GZDf6UWbk5aF^ja|BQer}s-%Lpg@=n4QGMlT$0r zxk&z|qj{2?$!SrI0j@@EYJ4!sIO(3JBll%bkIj~Vbv%us;#B(=$l4QaxJ#^F(OVj! zWS)X^hgsxh4%MTB*cqPjOezMwi-0aWc+a@cG@1Z?^v}TEcSdp`DfQWb?q6FvD7QJc z1xp_sGV4p)Ls@U-H4T-l(m(9J+OFIn$s8GWR?F6*m`T&)+rj&>6#= zJ^x{hnJ2jXIDT|@69Fp%_rn5Xc{^he@l35+DUOKnC;Hiox)K~}$qR5&PYj7+hu5m* zro4TaNOb&-PUP|WB5bU{uxXom-7P|ht(nX`)B-(zQnxHF@k16Dq8=V0^xa0z9_(#S z#t$fCZU&C&cJlJ86Ss8S!V>PT&22b-t)7S%c@md9FF{O~60)x);&=9x>$C zMD=Ul;6KFuJ6E>J=8n{6m$??Vgu%Q_BEBv9>m+N;N)*H-yaxCsm_ULeP;xm>wdIk# zG9+3HK0^WMVY|Jo=JHitHd+%UOStF7J3YmB^gR7b&r{K0zFbKC)bk;Ch)82$q2dS2 z?Copr?MmHJ_yG#*^+N7BE-au)oT&#I01xosV70Z^<+@I~oiDe~h!=$CaNSGMn38A8 zW3%Dkc{0m=8lAssH>F0URu7YQ$t-{1-kM4AH;HEDF(N*kZDGR%o+_nfo+92Rx57jd zf;Y)20E6&gNFz0PeYDKS`$Z1k|5%2>_4K~?R~R#St(ubDPeFUFFX(u-hscZ_a()a`>e zf~qys&zk4_3%=lU3||NxR=GHc&gR9jP;=i7aRN>inw)yZFqp*Q$(sugiu~{LD^)ZuoV>Z4AB^1215we#Az&aJ%Deu}9>FX@&{o=BWB;RC-v&!6NMS zKd~Y#@m~^Qt1Zp1bT$p-wCB_YUo^EIryKcKnmD*wZl++4GdS%gB0e!@K`Dv4Fm@~F z{ncNXknm{s(n@6&V2GlF&QhMUB7&Ccb83pQ_e%eqa|$A8{KQOBx)wz$xht<@Gpx?2 zcC97rhOEOERM}aKK%`^hDm8x+8jT4n)N-UK11S+KX&1}VqC(nPn-{rT<{N!5TC+1g zCbcRcE*3AMm3VPWs)W1Fez`52$U6PgW&Z93eO&eC8;{Ai_b3(zSlNV(6Xr%79eQvuF*}3zY(y_Tt&JVad!{ z*vUpAztj&#n*hO9kymp=L_}lIkZweTs<8N3$1HN?uxKud!GlOWW&7x^A`CP;$bsxfZ>8fR^Nh@z8rc7X=69%Oy*j z;WO0uG11KJX1S(X2@A13(CAMV~) zo8QI3k>>ZoV6FQ;?7ok<_c8ZZMZ{8vN4(#3K-lDTodU2kZr%x zIrL!^*X(ef_BmK@y)n<}K2M9&@fDG-sSU-EoOH;HC%sH41u-j2+?`rwQXgjP`j78x;bk?iAyA+iaOcrR88uBt2^iH>AsH6xN4tu0<2(%N|i18+GBQWmwYUjmk z>2bq4o(C2NnAU~~^NM?fl?uW0pj2Ls!D>AfCW$mWObhHJ`_KRxj&nF3q=iI+QATc- zd$>F=H~hoUMKG}tlb}pmMp)1))C8blNAlXWkz155E-!A|`q>ritEfLO6YlhxU2*6h zN*#yLP)sxDXG%JqmzQB^<|yja`ueJEO|5n5`_&22{#M$MOtjK;=q`1LgA-djnsjfr zwilA^0rob|+F^}^r6hM7NEso@DI1FRrEA!;Iik&lAXQiLgggwbUn?pZC~?r{V$pd) zNk}0Jh#CE^hmf8oAs#J5Br$r3n631~V(Slfj{1?+BsGPSD(DDTRauXa`9^~}b3Mlur~c^;4cQP%{nab0%14>ZGW0!=v6f=5>~I}jvjeV2 zL@c`FZfKQygFpTFl)8hPddP-&9Yc~ffb4Kqt$)RrYl|756BPQBK5-du4)$JcWc`=l+lFYDl4*V$&->2sKl37uM*P42j6>)3 zzTK@u@N!k-cpV2F$7_MKQHA1Xa-}|dI78mQ;>gQL?+Ny^ydcio>m}-o<4IK2dUvim z6(ryop_Ms437s-eihk8@ImHJt!#eJXy%H1*tyG<7%SJr62cwvuby0)}G@9tOD8)O28-r zCUk6f+uj1RdxRPHuB#W37MrNQB$C?To9dkki3kU4$x!w{G5gQi=t4`DwsTYOj82q6 z>FzZ|CR4Xhdsrqx2uap}39`=nr&!Hvi3O&YS`zfI>Z81o!g&&|6l=H=cfEqJCNX&Y z23R(MjygIqntHC7#>>O$4vER=H@n+DC#ZS5x2>n2p$Uw&r=xjojt<|`(_v^8{Runw z#MN6j_Yl3*X{h^j81bY!?`sk72ALBlCNiR$Mtg4iYhU7nj9HPABzU{DJkqwKFKlTm z35msLOo%(VZyH7idD<4~wL@@2q~`B)4ucqp+XxRj51XBLz6ue*2N|!hPiPxtH?Ejq ziymB&vYU?}@;83OU5kx6t0MWsPC$aqOxOijTAcz22&-NK=hS|JWf@lnR$?UPVxgWy zv$rp!CIX_36}77V-C$|lBmLKnL|JSCm0D^CbLirEiPFYxi2%%A@eshy)3M`S_1T6w zSzEv1bosa?;+hT(wfMze%bLe~8@KrzH}V;E`4T^n|9p2SeU~{_CcXVa!bd^6dJ;vg z4l0SJ7pcLZeyz0R;ewcJ|GVK{qyA&zThDfAusEgtwyH1Z-1fj1IfU2rikUZ)jP9mT z%L3VI&tm7$4dX+pXLnL@Vd6+q5E$Q&^IMplUM8xl+v49M&$7Vn_QdXp|4Qrs__>)U zvJ}~NjWNiOKH6ubVQ2p@(Bs|cn6z>9f;+33W0{8(5ZQY>`(H0I!JP`->=oSk2Y7kT zKjUPV9znHo5&v3Zj=GBG4g?)?7mgDt+a0-Xcb|y&vle!rw?CKqL@Da{utY}mqFsgN z=-QmVdybH3f1{93yC0(F=t=EigP)lFmWhbHU_1SFd`B>iDR+gZn^kP{4FG= ze2u1iY-Z$#W~<%D2vN=>(0EjWqJ-0Vadz~+k%fl)_($(_&gIR>T>NbMdD%tdAlj{L zVAgMG0T&3K1Iu}AHZen3c{Zm`TbvK&e@a%@C>M9(L<^1Qo{MD9&+Q^OBl6v0p6E)v z5&8#fX$|=owPML_y`ldu+yI;O=cQf#tJ@+CRl7p|lQ(nD$}azal0T$c3({V$!hi5R z7g8M7>**~dPrUx^Q^@Vdu+p1J3dpg@H_=xR)PGh^j2PS zjCrJX(+LsbWlHo{t6Q-N=>!7i7|KR;tO_v9KgdXaC7Wa6rmw|;9R31u~2Du!@ zW%?3>n`*K*Zbs`3ZmMgV4f=ZtJ)L4o^-4B8kq6jw&h^B7KtSES*dHL%469z5ztvrO zMrTD9J^lfWLD~PE+%a?y9tG)I9xOeSCvWqF4z8tF!>QBlU?rDs2h~#V4nBN=>7aUK z`bTnF;kN;(E!(S`8Xety_5r1JQ&hBKUW{IlqC4W!UvMA;9FPuKAdgFLjNJO1%0E4T zBC+&~k*vuF*aPFUG>Bd>F0(^;gdvnteTa^8S!ON`xCfidK|Czy%DxVoXJ-4`!Bent zycwYe(~CT~Lv(S**PZtHfFUL{6O+uSUge-!A&XXVendy-eU@L z&$K*FpDRpH|2MoDU_0G|H=$UT!Hu@*&G+EC+@=tY@%R1TTnNg71R z^VtyC-I3HfUnE=dDdjim1atE6L{ZaHdjpBz#aQ!j%~gu+VW-C`sVgxVo=rwy#-ekU z5N7r|>&J5tdG>;?dtM-Dt3wIHI`o~L$d7M+P0Nf21N3^dByGUwfIW}qkl|^eW zAI9(1MbDVu0jcE~1#NEKoouB}EJ){7#=m0%ySJ?k@kIOLFf}*@v20Q2!wnv`MLuJm zGxmrOzXD;*i7!0T(|M{byT|>|+pAy*ovdi7KIeQ!^myBlK&p&vyWd=JY2ZcSJv zsVZhD(0Hqwq7qIINwxYSsjdJ*K!SSua5gdB=4kS#HOKH&fU=0Ha+~GC_uWQ+Z5?0J z+f9K>5^1MW*%ANBClqMz`FKuC`}%WGzel^?)HcwAs>W zs-2>P`|@>lmzuuZybU>3b<+=l zY;ik`+epS5BOr;EvXMIe5BCr1=a zKRJ@Q1uwrXMq65XqhM>g7oHS>fR;Vm=s;Iz8jG11QJydv5$X z6D>no_nk?!6(8?A``?J!>(*;o^KcDh$Td~*iyP;TqLxn)pyK$-!=H{}NilrYMhYjA$h>fAT$iS4_%Tq`UkM47yV=bhJryHUh44vD6Cp1IB@*K}o zXVXE^Plh&t1c3BwDjG+l{mG{}sDSk+pDyJa^63$1BELr{eHnT5HE#qSovQvW+pqAK z^fE<&8|w7?46E0T=V_+%k?wx|#Td!-*KEq({%+Ca_9OS!Tc`H-KECPiFaE##d#mPr z*_Kp)txZX5(_yE_Ie4V&$nIA6?A8y@j)w+i#HXH-(b|*IdMv|wvZeJM|KP6FIy6u8 zcx?2`*RYz#PO7F;huG4#j4lh1^rs%dfTX3v2-(i=2Ma`QWi3(~DbTa2z0$~R6JtFw z0rZ!@aiTb8-vEdyxgE$mt0lVcShQtObn!f0291l9+3|3dc_Q@#ws9Cg7pQ&9lb^(e zqxo0tuHs^#BRr1@Hut{pTG=U;*QEQCkBxM)@Uqy{<5|%==cPqvvIqTk{LU);9pjt; zkGH#ydY+i`cAfB?g=S47-JW)7+;;&BUJc@tXV=kbpcJ$=(s>f-0~wy$uAi2L38B5V z6n0EBT}Zj8jl`pi8<4&or&otPGRJ2%eax5XpE?_MT=$sNC}l9sYtJ80e}-{sWlElG@d8S#qyZX^EaKPBrK6zLYv)`|4{lD|)st!nXceoR``J-VM?>#) zRO{)3y{zq6*!GOqCBkTNzX?+t3s;G<80f{ELySHz^`XLgaawGOtrMqEiEXY=JTSc| zJTwW4?2=eTl~-s#OqilVm!OK$k%f_baik?^P*N}08%l7K0P??hidW>Rz9PjGp;)po zvM;#lbfyHe@*-I{ureoARHNbhSdmPymoBVMhpy$mnvb(Sf?Lt@jsAUrW+1thw-+#f zcU--}AVC0oat|4;M^A*(KZb9piu;b~Df=BnR%Sd?22w)YI)@j zti90y#Y56fyCucqN!h8D_yle-1@Ze&=1N&S-XlwyD#ttkV^+Y1m4#%FZ;*V%`RhIU zaAJDHddjs-N&$!LaQCKb&(Kj+@U*z8Aa_)C+*r}!qA((M9lY^z%bc!~17t3UH(WU2 zmcyS14p>#~AzTGUU*dLAg-hC<10_9_DvXDg^+=Eu_dTu(C&tJ9mQNmPO`0%s1@Oqjw4yDOeOY|;Mpa(P?8_JOEwAo# zHatWsdGnmL4;BKwTVCE5Ecr}@owe(T010Gy5&mH7yO|;9zaJvDq=(}$RN}Vo%XFd- z5aIs)euSoL`}2(MuPT@p!$v*;lXwb`_-h*;aY&U`eoVFsWdzpFAz(Javj&mc&D$!h zdpme0x_LK&cD@@jtS1oD?QR&j>MJYjiq7Wl>G6xJA(TgUAf437o*TLVW@;p~LjHe} zA`I-sW{Evjy=QyhAnRZRr>w-Xo&|KqgpB%Z4Q9dM8wlA08l-`^J%^6PFrf=OX(Sqo}l&0)|>iW0Dz%K1=_IdXUb zk)zeazEZO>9N{7e`Gz6Z#?>Y{*(wFFB^r|<(RF*+G?d8?9H_LeH~=U3NM%fN)h161 zGnH(|Z4TC>C$|0Mq6LFs9!!x~5K`mR_?44BY%r$^vvx<{84!w3OlP)AH9N=Gpz*;9*cIs3r>TC;W$&#?|am$YA!W;?zj z5bKtzSam75K1-@i605LGzpcduFHt(7K-W_H7j8;($de<9J1&Evp%YEnRwOVM#*uFwh6YIo}A6PD{4vcoZQD8DhLfS1RzUhEcc^JQ*rn7#n3RtKO_xq z7^zF=EP^~SJL3KGOrE`_mhmUgUK`m(SBS9@}}_kd9{6$p4-wgWvurdFF*?Djy*Fl&K6}hn!XqHUCp0 zckemVIqa*v*nK*xMC$jOJuc5}&(}%JSYwnOu2?l^xcj#NV$Rq`75JBf?5!XNSrBHo zLf(h1X>V|G4GLKDEuBjK@slTxP77Pb46is*fj4Qw3BoV(?_IJjG}*vT*(AJ6mhgSR}K*7P3CkoJW{q7G3KHxnXFTTJO z4e>-Xib#h-s<9%tUV?WL=JMDzK&YA+&tA_tKx$o)jcSo$Wb`?=sGMxL;oqEbc8 z#%0i1+j!B2D2QR~%#IO43n3V79Rx<261JY*#_v=knGms#>>8RIv4m)d3iq0+1!)E` zJ8e#Dp9tcFCxUo@CPubM{BS~zQQZUVj2>EmQ2;G1rQ;mAr5>HT3+9h(ei6-p zj6>G+xka2YwRB-RzB&}`0mVcUo-q@b6VVF4q{h@u6wGhSAg_ zWS;Rc9~p#O2!DXo-sSt2Vm|irfs8b_o>A7lM&O20QAaiXx8h6RG}O_Y{`>G+b}<{! z$Q0w_-}xSrc;q3@tCH^-sp=`4uvqvr^V600fWZK_mP1yR)1CA$-O!4nKzgJS=z&$& z3mXt*``{^KK_=&pk#BRx>1g7+lc%aUY`jc)PfHGAUC?SxZsSh5`)$62j|-lbJf+I{ zm`;MR)LemkVq`(us;HWqFd$MPtGFGf>DB3XjPUS~bv-^z^mx*W`zVWaJo=$eGRa)J zGZEO=OoW)sotT|?nH&8?WI{&6AX6}Lb4oKKbxg;vEw$s1i+JE58SdV-`m-d``1voY z!AV)8@i)F?L6$!L0YUOFtuGjUvgP}~*z#+P@h=%EFRrIZG{5l;GefEOpHI@R(kHN= z?!BQ$0@TUaB<>R0wViBs;_r><%LqFSQDXSmev{`Jw*+J1?C`3H2%q7ECI2Y4olcwH z2HLE<-eewd_bz;n909lKTq0d}9F}Oso3MfW-mRAa4PV4-0I*s-=bCM;_!Su;_$Rz` z8Nk|IiCdBSy#K4-T0*4XI3tzbXe)NI z(l0UPz4S|`_olPn{W*ItBK>O$<$CG=R@a-JrPxPFk8YH`UHTFt>T(8Nf-jfY{W>ek z4zmOhL_f6iDfi4Jv!`rP*UBTE2WsBS9IgJ;O0i}YcMgSAGF8oX84W&9m zYBOij2BhUUsHa1ZxG!JwJznN0DmBX*HHlYfgr_-#7=7B=ZQj4y%xsFezb3b6L0!XP zld?N?UymcTDu-=P$qM%dDFKOIgz59U)qF8B`YjC3J1i77SrtPU5s-s+B^%1REH=UK zjv)VKJmU$20GmY5#)%)17gI80K+{G-L(w=A%9Y@L^KZ0h!D>doSCo>jKvR!;y$+#$^B}q4;{=eVk=_p&?dI=? zoV~_~Qrg^KTnrSXk!2ddiQ%NIJ~2x(X~FoV88!zFtt-*rmpI2u^z}7;PT{ zd@8Ez54#)42eZt~6c|ZybYqG>6MEwoDL3>OquVI*%@Arg8}_H6sG!oL*6`)(UehfP zb`Wb9u>f!5q2kn?*ZZ13ssSBg<$Ogy$xtY@2Q*tmQI7v~lDMdurYNIv+-T3z2|r zU9l@(eSGOrFhv{j;0Nmo9)tLdn}Lhpx(q#o9d>>88aw@yrx+F>+t^0~0-$=zOBb=X-U3 zoBIpu=9sphf}8w~{=u_1F-Qf)88qn6qW-*co|#+y+0ITDBNZYSTL>q$aLpBV{0;z_ zH2nE6Wozx9*Eg__>DrC9q7D}Mci&qXpH^xc;gs2y?pez*N&DCclToF5`+r9Xvwk>A zT3xrcxR>Bg6ZCs=tJ4;YO}4q@Y}6a$6?Xkr_*l5ybnA&WA_^QASuHd)r`fI^96s8} zwz$*V3$3!*@UR44l&=B`?>Z(4pj7wYoA+_GUOTQ28*aoe2qiJOp{2hPq^HWe6U+uY6 zcRs9+dv_>q_4{I6Ht5;~H#mi_8>Zz>JlsjqQC+QKPs~`V%iub~&c~3@Q*Gxpvqh5r zvcqND429vyH7*lYBR-tzt#SW+ZUOyhrxO(wIXqHDT zx}VcE+N0-r{FwDi+ktm@(Ya^{aGP4?3@?)60^DUh|E5KhZr%4CyS3*#=c{vxk;LA9 z=NDtSZO>o4@C&hWP2l*7qz+q{#-*JC#RS^2Fn_;BeT_~iLVp}xW$luvXcf;2Qj=ws za7rm!q>DZ(%rQ2F{p-prtD??M1Sj=_9+h8a2XPXtsL*$#1$by6&Nh282@sz%S0JVXI$M@<3WwMr<*QiA>EeOV&5q#~M%mXgi=*-|5@8{R9ZGc~R= zX_Fk^|GJH&+i}kqy(BYJCOW=f;=Dx!4!ZrH8-ZP&)jZP^*xkd>G&j=u0F~q{1N8j` zb_2geVE1PvnV!Jz*Mz=YV222l8ky~J1HPn&|LCjX`(Iu|C%eaw*48tId1wsu+IhJ9 zj5~{I{m`|@LTqz;(Y0=?47%RF7el-YfITatP;`gHD1P4{$ZY+Y;WP4n-=NfqXGdO1 z{1^=V%$?#JA1-R4o>V6uGgfO=F`iobC9wu!!|Zvq?b}*~%8aNgnCub^e{sQRbVJq` zVE1jB(FIBF_=RRjnOh+SH|c5 z0Wa5G=FH-R8|I#<(H*KH!1HfcGDSSO*s25 z^o?%o9T?pA{7e+muhok53}aHsW~^Rvixc+gh|^ir|AA7nK`lOWX{dEcsYOHn-jXSU(Tyf=Db66 zCmndKH>XI=z78acPv#sedX}8e^yY*XIhoVQSS3YSkqhN)um9#Z*M8^58<&3vqCaFP z)p~eEf6kiG_yq#m6X0Cs0!~VS#Md?P_*mu-&e3gKc2+QkL>EXDUJQO((tt>5WTz3- zgk!%J+~~!~W|;=PxKGS&J6nw`Y&*hZ6&43u+lmjxh8*U2wENyzuG0xr#xBizT6I!= z2*rdzmu+3yX1~~D2xjHabk{2{B#X)7-J^R6KPRCw*1VJ{F=K#tRi^MCPuD zrb1LF;-W zamRbE?U-)=i-_-&v)Q82EvJb1P~A_7+MhSt?I_bM+blxj;k$)oZTQC04YN$31fks=LQBgt7Gx9FjWyxpzxcu z{;Z}WELL3WoQ~pXbffe}(=d4H{*+kLgUArWM0dZd2t;?F)oVRY0NI@=9%fH0f|OL> zA7OgqPe0Jx$IawW%KrW-rkB6%g~p*hbjsO67w!wj{wNAL82F>hPh@#8_QV1DTDIHM zGY`j}6bv1y=Sp(- z0-4eIoAsznr+(hvdrWddns=NE;uDdtrd#*5U|DYwYsY=~By%|>Q8CKdhH%e@@I$C= zzK>qbcg)vntVfifjV25TCk)Z3P_b8o?nEk8AmffvJqgwIC7dXr`;<%|-mUzu3VP)CR8?H>Ly1LpQMD9z5xElTUy( zNJp5cTojg2xfh>8J|R8P&9%l!eP}Sv6v}ZPW={O!J!vVa&=g69?D^*z%wL9?KL+>v z3WJVWebr90>0xS{d#g3QQPjp-80k4}q7 z`kLANZyZRsFbSCmA2Y`Q?^@pqIn5p{6=?$z7QCuq6C|PLx`!d%=DlRW3N4Z{Qq_~R z28)mwa*sA_z+>ON0vma9%65|`o?N^j-T72o%WBf20=?^d7}FuskNb#g-eondQCe(` zx6s#UpBIN>V7>@xHc#7q?Pu8}sHXqr-Ye}_Er-lq*=*So2m z0-S$&Sv`6+!gDN6S2uacTqK!|XAYWDk3z`=m*6v3n#JoXslffqZjTx|#6Wc6%Vc9-KNEM7jdj`Oq9Kq=G~q1@B}+& zkM=?Zfg*1&OaZRF5U;u3Xq?{J3-h1DAc9c#SN2ZfJNSAXF#k5nR{whT8anZ znk+YUaSfk5JHiu=i;AYg)Jt{v&?EXG9^qx zw!{P;`hm8SBuR^SRRs>zy~%InNX(u!*5ep&lianRB&kkG4;D31yGiOVOUhzI{R!<+ z1%}Yp8QqW2#-9Og?>$p!eo6YOY`^uyb)~EF{N;J&w|`+fJI@NkR5{DFhiqrLcGc$c zUAJ8b)3YtwSWMh~N^;gHrQx(_<7gZf)?ciNJ#U3*Z>M2BphuCyWRY7%_#WtM3bi;+n0Mi;^x8I9CYc_k(x_1lx zdsZ7<2VsI|ZQsLh-CB8&;KXT?BO}o~S*y~b$I|g7VUEWM=?w)4#)t51dA~@Irq9#7J+{k=H`|3YE6PHRh@v-Fs(3h1q@v-G;8qSxLHu16L zo&QH^6CYbH#_`KaoA}uBJ^x3tiH|Mc_kScSKJ0v7|Bz=G-yLCDINzoGUY~-``t_0F zjXuNc$d47Ebq{&8%wPxgoe0Sxr2O_%X&Pytz20Vo!u~cK>@!5 z8^&lb>U1S zAcbt|6LOl!kc4Z63w)eeg=9XU70^$?Q1P4%9(=zLUrfB2lrO}OHZo4U0=56f)OPav zB*V$Rt5?3cSD3m&n+`HVIMC&*iBtVAi@k|>%*~K z?9SWb-OyRh9SjG^nq5NY=NQHhL5@zD%qRX`QZQl-Ls{hEU9}^2?Ahum)M~-#0-hoU=t3B~{guwr(@s$`gDFVUG9GM$o8(c(n;K zS?=%piuzJT8*iiGEN%L4_G^~)?LG3WX)tVhmV0Yo*{t5O-wMa3XNOUA8)NdNnpRG$qHsJ@dF+BhPFvXN#Ma3ulIY5F z*?!$p=<*47Hgk*ei~{f}M`bzb;sI88&mMe??AsnL1p|3H$Z>X=yQ>e~dC_j$&1!x-K_~_iF zn<}Kq7&*(14T>$DH$&WVLpGjFHtBJnbbKIfMh9ndA%D(~yf;d|tFJ6Z{bvh-X$VZ} zI_DQ1v}!V!xh8F<|DZKv4{4dRx<_$WGZHLMRoG<}w`q9)PAx7fas*dA#EkHJ#T4>w zIb=1C__x`jVlX@HUQqxYG{v&d1ibSa6!aN#hMm~Ud^7P~RF|LlJKY>eooxvp8JPDOz;bl! zW^Br1->7tUg<|Q^6X}smDDwfEE9>QTusqBTI48L?6liZ498C^r7?pgXAvf0G_u*~4 z!N0>G;KX^caeje(9CTg{UdJo5!E3AQOC(=(KC5!v z>RUc4$EKwuFdd%u`@Y!XQXQ#0^d5K#x}KB#(_pMT6d!k5W&KVpjtI`=286532}5+w z_k;p_7Js$!mP6&jC_SeA%H(r)`Vl+*6}A+CR;+z=^^KPKIi(<1a>?(`fdn1>9{zN+X*Z~ zZKunwf2Go4k^4tHvUe0xjNO2us~K4q_mVi4@2JqZ&aiAB;<#gc7wDVc!qjiE`MqhE z=ABD;jD<>erXNYRSEaum3~aMjOQ=lsR~JITEXoY?K-Eb0#tT;QJH$>bX6OG>ONHNe zSrP1{8SJE*3RYCE{*2tIY<@f0ifxg%w!92%zZvY=+zJ9UQ>Z6bfBX|&Y62g4nf%JY zAOFOC{iCxKoz-1OyPH#5*)qa(UcRR6jX+{?u8ajg)J4=AY?I{XM8ZSeo3E*K4#_Lj zF=KO$)T8gN2X<0CwGZK(51Q5&3}iHZ$Mc-Yb4l5!^Fn|X`(bG?&~SQBBr|$qKx9xX z5V*s)_;fTks+`xWoL9<{?m=WjiI!vwAx)O?$? zVchSlGtVUD_1Twr>|Z+5kYzekP$gi!dc*YYy}+uhC2(MIZs5!%nSp7(#Y1&z-%*}O zpnNLSo>}_0Q9A8Abk)ilnw*vTHEWFT)Y_U{sCecGY{?&xPwr%pQSRgl^4O^|Q&PV* zsoz*>SbIamhX*%bdr_M)uD6Ls)2;)Ao(> z?z1@@GIxWYS)-Y^aV*#1{HW6T6tTi_?0tW(Mzxlz0`FQ;(X&)_xgX;aB@kX)3Q)~C zSr_$o2|9;by?I5{3<{l@`6>RV+zY*4+^~-_c|}&Seoe+YRCw#2BVW!A@^QqfNGm~h z2${4?a*K-GBaIqGt&dv$V^*2u>1?FjTiovN3QDoe2$8nayvKBSi?OHQ44Gm*aldF5 z8*&Bg8{>whqx)O;o{4cRn7>b>4pI;eYrwN>K`t%iAIR46J$;u|yd7#_+P3DyONPcC zS#;*WwC+ox!j^8BP|8n3R&4E}gdDayxc+3&n$hEg|d5eUPbB?x8Y{_|Kus(Uqr(e*)3>t>RDBa53X* zxSdBtMnYK>zW~WlyQ4DD(KzT}r8V-^M5aW^xHzVKiCDtU>R(L+umba?vn+ZZNL6yfyrZ003Y@{S$d)J1=Z9(jy* zE?&Z_q<9Xj9q=>>hQ*;G`hmJ5Df{5MU8(>ztOtjMe8RBVOtSO`Dh`VbfM>V zMzLALi>+9%3Bnj*Gt|`q5gAw)V5>sLBUbSVx{uZB*u7+(Kd`ywj_gF3&(G$6r@3W` zXjf$6pVv29BF|dr<4l!Ke1$Aqy|vc#ngM~JB+3&iCU=GUhClK@v-y^F*xxnlgYANf zLwsJ+U6po1Tbc;FnNj&i+<|EpzvovDVR}y|q_tEdingMV7ksgoqv9=3?_295TU#rB zQva&89D8Ibf64wEwTBu--j0;kJ$>M!g}-x)&;ZtY%UgdI)5barTGd;kc<^m`$l^Qt z`D`#Z2Gke;E_>%Idrl-n@n`(=$K-PJ^iM0E$wW?!hsLWBVT2j^x4wfd39g`aeJ)qA zIo^CAcn45js0uuqQJvP>GtjO-0BU}KQbh-!Ei~)J@8d1KeLp?|yz92G3bs?C)8LER zoLwvh2E4FCcg7E-vJJV8&VO{^)H%7=RXA z#VmjSh~ihNko6?mneFJ$`L$_*J7RF#j5gJK`yf`?=$6E3^e6Q!kM(rVcl0(-;q6&L zxXJXe^J&<5zxyC4GP=PB#uyM88jGe82yC^gxEt6~?zsJ!E*aB3xet(G9;H+NcyMa9 zLB+UUFg_OwD+6y@Q6D)fv2E=HE@_o$NOmc}e^&F~_*==9!ydxBOc+~pn&-2PPlkjJ zrC&d*iweP;f*;$ME^D9+YmXKEv1%&rPAvgae_v!UJB1!D61perezN|J9HWbF|A8t% z;6m(6#J)}}vgg~cb3=CsWh21y13+JqJI?zyC>%JtMdllz7cg88?k2B6^1?uM%;U_Q zF|U}Z$n~Cjtz5R{0R8JeWcuOHT=McL1nURv03H7;33lurfyFy5<*fJbc67ag0GfHx z^*wM7X^~y@vtr-;?NYuEyng#P?C8@5mXWjV=$(7g@OBk_+AG84`d10OlxUrQd5XeI zY{UM(kRBuk*~>muf2uHQziWXGqTZ_B_o~|4SJlh?t6IRq%C+}(hbYq9eVwj!(e%WQ zuT-^>Tsyju4h`uYM8jNYd-WOh%T%AqqCS(w>vKb(x0kQdOOX)$dwCnL^`#1a=oNgo zw_rq!^j#V(eOszuBn{?ttqi<%`&YGSn*RjhMIg7?WK*Dp#b~ep_#fVXRV4|#^)nxC z()I+MHxWs|LTF8b2{6HAp-!N_LW_r>(p^ibPfdhzqMz`kAp{gcqypI{Nj%ekL_|v*J}UR zJ_2;PTD9BorsKKMx!O=aPkPkPdQm^_w|EiFdg8B&!h>ck!;X3Jqlm}3&#+i@cK*P$ zfNNd3)iJ>Y!r~0Hbyq$-Q+uGX6E-1V+PlhU43FgCK_9p=-5l7}*Z`XyLY&^b={V0xarKE?GgV%T5AdALFfyAhJ$rh`*%;<&uR72}7A*@^VWW!Kcr-D9WD>Ho;OL*x< zLky~(Ir=kCe-`TffTi?6zbjL}_oRLwNc}#52UPraK>=eXDQskl@X(GW%J1gW3w6z(((G`3 z>XsDg6p2xid+5k{?1@_ z{h7Z>*Hm*qUJ*Th_LAWo?-FTcmOxB%u4GmoH|Kk%L$*{OWLjsNl(uSkU_ z6P`$zx-MRm23bLRW4X2BWy)#{*A;3Eqr1#O<-daSuGWwU^Enj#nN6TJ<(fsV+I=kJ zm*(pPuAN+{C2g&^TeU#EJ+@PWtb3Q(^Y^>}FSLB8IppflZ8c<4&1RDJS<9a!Iwh~9 z+=y}DQG^vna`mnuh2J#{nSadp=qq5{LNV7`j+# zf5)hti4Fx=uGp`O{%32&H?uVEb*fI22owk^5;}{ZfMJ#vKHFNZtK0E zJQ$8OKL}n+p|>Svbgc#~9xgc$az5!rScUGDN4W}fI_Nxp+d+4zVc#rC}3(T3KodN3m3Tm zLr!J;6WJ6~Lu%&#e#XSDjsAu>9mz-!J$a6-oUV>;5|YoTijB3J^4Q4HO`0^AgF$?t z_N!*N<3XfBYx4@MW_c^4lUCFF1gc^cg~IDiuknGdml=8Fe99T2gEe}M1_&*J_o^dD zrAQ$a3@INca-W)@3OGyZqak?CL%(8;M}Na@r00#7dSrL$TZ4i*R7(K&GstIwv|+e?LYcwt*>3F|o0Ew!8jCR#xMu41>-e z%Eio!a-BmU9gkf{DK(EUKjZkRjNR)&J9-Z=v@e>Nb^BLrdTHcusbPE|*W)I=2DL&4 z;LT~bd2kj1rbm_9=?9v3FU+zpnw)jp;6$c<(V*MWR@v;n4rCyOS$SV&+A8ca-9Q+5 zo&uTsalc}%ZNtyK9UEBb9Efg9stR72JEa$R1vvC8o^mweA*U0djC?^WXcm9+e?uKW zsfF-}IukZ%?Fs=E#<`{y4;o^yXm8ho!5}zL*>l?bIE-&a0*LcSmSr#7>5t9lNQRTk za_8*UVO5*?F^CNnFg%me#F&7(T)fX+$jG#GYyNIMI>~1k@#*L1ZBt+TnTyDDaaxlR zlffYxbN$SJ->$^kR#-rOs;O-zeG`5U3vKVw0ImU7eevw@&c7}tzhvsK%~^ERRJCLN z*XY1*gRsrrU1zxIy@oTWomEuxdIJ8S7GA6tG*}}U0{o9BEd&ZXGSfN;-9Fg@euUGm${;#4HB$;rzjP zwE*n@NPxnaisFBehhqxzg@JSE74R3(xOe!pvtiY<(4&nlCQ&0X6OeCc0)I|>J5trF zOg>L4!GWlwanFKblr&XM--pmAF$hp?hJIj}#UO-~*B+7M&zsfUEAC~om+dcRlT^hn zG;L|57jNnq#cgrlJwg+zrRF|7E=@(zg}NJu{zKp2pcYD^EO6+N$T!$yBUgxgW~eP* z=czFBts~~>V=XNJ8nD6B33|!6d~N2*cI5Ou$@CP~F_3g=m~yVoK{c8CT?1?G;hv-5s+b6X&EBQf2%}v(Ti(;@-~5 zpKOUd*?qlPLjKH(E#MjskvcZ4>Cda8O*O=5#C}F_{vr?0?Q>5T9THn% zlZe&iiYk7M_^jsqKewrRe`c;}ZuYL+N`OSHD(PP*oEhEQ`&FMSqPf7q+khfYH6Z0+^w3PDcS zFllDzGojrR!D}L&gkSoTPJi70U7OAwM|5FM=1mb&V#xtff~T(vF2k_A?QzraGj%8Z^sKPZr=cD)1r(wZ&HTi^7)h*qc*y7~`C46x*zj zMx2fdXKWKt-`SIV*E2ETN?gS z9s8MLW#9RN?vmefj~>Ri&ZeU+($yy zsDeramcg42NrdTs`y(@}k940w*J(@ODA|Jrk4i7PQY}U*gGaV9*0hESn$8v?GSzkx zmEObo(!%P_JhR0dbDh?T9o~WM8MlKcG9Ug3Vrj+WL{ok$UANXiydtJ~)>EQt{s~Ey zu`}4>>sU2Z?pcQRN)d;slK(h>yfio3^F3?LEo4{JYND*@4u;!ZLsWc{gho?=R5k+< zs7Ez-aiJ7M@)vJT`!AiV0KWNi+8~o(g9(-F3+!1kD8w^m*-HkC$LStOeZoMK;#KFf zVkZG}&GmZ7ol{7~P3E6DZe?4KI?e2i6Y5@JI5BQMGYU zIe9&Hy)RhuMlkvrO65P_oNSjSOR(@zXk}f|>IUjegi~hr$H4EtmXgigrz4@#n3Fr%LsQBQBQu-Ar2q;)F}(k% zSAozOJ|o%UX{r(|eX@&ik-sQVIsnb}WE)&vR-nsTvq5ugKpigWF58U&LtDOF1}wAG zy|!me_key~W&M^uu0g(a=i+ki>%rs}3~xlF02Xjj5StX$bHCV}p($uTSopx3rzC zm3qL?xUK+tE#=WggGw_Z1xVevUvB<7X@-XZJl%u&pvqaz+fuj;dsZNoKMP0!wbA0# z3xaVQ9>YH(>NT}1@QHQhPK>o#$XqC7`+3h)L2LB}4a>VpsS4l$-=m?d=>HH;1xuxZ z%WDww4$0}4c{%mz>A96&@mRY^=}~Ec?N-$;I<8R$@Rh-j71yBpgw24-uDYn)x+|`+Kf4LR>h$ptp3&|b!5tG76H=>9%ro)+80c-|=C9`_q> zCX?EjjhApI@olXx?MM1=<#$&b7g5fwssHK=|{P z3F*-ng@m(9_9VGa0^K#gVXeu;r8|9tg#aszfBz}A(DF|pxn#xpLuEQChkHNUUUAJ)B{97npEDPlE0OE~db(0X=iQJBpybKA#?f^0)~+ULiy zIcJt;MANW40Y-53qgx{3)_oZmv#e>NB&e`67`tM$fSy-`GbkcD>=Gf&%TJ-UUwQDRAvmJ&NvM$SE^HmfyuvMDOn<*U+1&oLXxx&xKa0{|7RN>RbL^u3NIu zS9+4hPYezjZD+F^Jmnhzx?}sra3$lO&9~v%ZT60SDEexozFsnR~J`S_TCwP6GMc?L6zpN{p&)PsATfjHg!rF9JQV2sGA#d$#iDE zVih0crLf9n=Jq-9XfS?WSj}XIAq+%0 z`#JF43-iyirODbZP<7t~0ngcB5vO^;z4ks=5xeL zJ{3kE@y=f*wA@LL_q|n>rtUtdZgg~{x*Ll7E(|)mSvyOHgaR#Lr!8b%(N$gFR_zIN zuZY)WqF%GX>+%>)ZPsPcMVY8y6l%TXNhi)fiB)4Hi&Cvo=aCbrA02iy>5Kfg>3y~` zep$~|Ppa2-^xAe_;I!g`g57C%_+Fs9X^DzJ&!P$O14A3Z$^%vP zuY^j_Mn)qU5c*!_Z=LUjl>9(AF4uQL@7uKii!moS*PLNx(xe;z6U-p^z4*4jnBVh% z$9E8agU<8XkTbmvmou7Fb`+j;!aT&rW?*Bm+_`QK99uFt&=Yh%2VDEA>tCwAX}6{V zaOIx_*SEP^H{i+#Tw@M~0Tep%t%6YtU$rd?b(wepp=M8CWG8Dda3pe{xq9IRZ)?q3 zYA1Q5N@EVepDuQ1C#x9?5We>4k9MuOWc<)v)78FMVcie@o*`|JPv)PiXQ!}uVsL3> z^k?tHVBzg)0>BJygtr%*&bDB%d`nFJHhOfevXsr&8{$w?wHUKQb7yJdtHF!zEN#dSCOebuVP~T6ig;)!7hPFFXJIK@t$Qtd33n$^oxO%cc7H@n8qS-PD+n~V)1D{)KULq8|vlRCLT9$3)iEgg1h6H&C@#AjYk;X3T z)WuW%#2v75ar;zLUISTEomlgrO0u}XjzWbTxYVG`w1m^ zSaL=ulc1aRUGsGXwo+s&UpYTQGj+j$D?OP;Xi7GY$MGxnH=vH){OGDYfl+vWuewu-w=i4 zD_xE6FX+*l@h$5XXAFQ%wDli7ydzKu&p|ORf&B zEHsKBN#02dj6iy3=DgoC;pm61OKF>KXKydMx^LCzRQyfc)oqBs&@5mt0@N-xK>Or) z!?%*5z`=%Eq#6@~s3jTiYnY-KAp~%q6@p-{s){2!k&D5Q`x!1M)N}|R5P;t{-r^G( zd_mgIf=+!kk{uh0JxOQ87mWWWZ`TP5DRt6Mm=Rh!Q|_N<$yI3v<1v-H|3kghH!IoF z9U~X0)kC!IY%DCbG+#os*wYg%#Y+&9jdOxA9*zoB`x-2fSz-TzL3E)4WQ#p-DbtiD zN@i<$;<=NRok?X-TCP_F{b-76&rjwGHRn^=ty**y{wimumf0ljO7$Cx%^Xsb<5N#hiqPhm;-{`DM+0Q=z2gg&yl=(^aF(2& zZ0iV``C)0z>W(nmka(8!D4jQChd`!KQ)lT|V<~d)=&h z4+qX-FK|6FbMulMVDpYpysl*tYw11_xWzA};K)5BA~&fU@rU0Cc#=y>(P8=);&tS8 z&L7naKooFb`(W{kt645;038L93YIeK4e!s>zW@|~$Hpt&w&o5F+m?MRsLYx%$ zQB0b+>0V8c3$xt2h+~J$>b{lgWalrE#C>p^R2R@6%YWhu=trs-rZcs}gx4YKyRs{= z%UY9fX3#@M@d?9X3reFWG9tOG!*JPdEk%U4`2P56a%UvZM7H!s;;C_WVjzDYSd!a7 zF{ecr4eLp3IEzUObS}on=r$teaPzgUmDH~!26{A{a%Gsqw;>maZRg^lc+MnahQzc? zW8_>}YDTEFxdp+on!!mWelJ4lJHzQ+!N7qfHCnTNRce$6>O#Yq6#t0fzXnH5ZKKLF z5?MrK4kdyasv2gC2%d^38z3yVl5a6j*ljU4A~oHuTbYeFSw+TPZg%%Bf_;#@8u)5z z7EOeYOqTdo3=IZq8Yu_pE@o{;}g=187SU3%t24&*_ORWc0BtYN)?F zgEl~X_yS(}koG@{F)Wf|gUQl62^Mu!829{6mSg*PI*JaJ$FEB7UeA+_V1fZwlhBnM zeuDeRUmD0=@_~3E1SLCNzcFY>swFQ#;LPHf-|cD_&$QQFF}PQHv6zsg7m-wq-@Szp zO2>C{;;_4$e~unl_s9G(60+X99KYM7x&)juZaDoT@_%KJTK@O{FeTzDo=EGyKqZ0B9E5Lq#yS&sjN4v7_!ix=@DvG= z9rvzyog<#CD44R!^B(6ZM@>V|=gt#XZmvL$^d8t3%I{AxQXzLF5aRtb-Vo)|ui0E@ z17d$={c=eJdGl|%E-LZ2XRa1V$_fWQp9j~ja4UEF0^a$Ggo#RSUP=Tx#JT304*_jq$ie1hOZh4D?Qe01gO$3cbX14>)9P>Z6!)7K`W!hvVJ(?ArG z1EPQLWN3X?bB2j|Oh?SxL8&6-1;dNby5v$2K_0?+Yt3_}c};TsI#%(@2h=G2XSKXg z6~mdpPWL!23@e=$wA-vEk9Z#$=IG}_4mBR2Q0;TqKPxtNCuQ6NF^a%OQuk#|y z-8+akt2_kzNT;j%!GPQCsu+~WEACO8xA(%}C#FaL0)xjk3I?y}ntVUGfx##)R^Rr5 z1_TqyaS{Yy|HYSpfX8b+C;$OyT>kb!fUW0_2cV{ge}w>=u-(H2fsi%2NVo4rppwFj z-DIpsB)i#gS%uvDVI zJ+#HA0qncwBfODwYx#Gp8mpFdW{LMluQzWucN^L~r|d9n)Y)Y6qn3K+SZ2>JS2^2x z01c-r`|YaOcls%en6op;iB_79ZjSB+P}-5iKe{)~y#NB9_g}CyhnwR$2*XLc&*-TH z=L5s%RXY2)FfVHfHy`HV8x=qF2$$C#s3?Uw5K8U(#}^i$Rxq%#zSS<-9K`PmZx_Q>pqYt7BLtsL1)fHO$?R&!O9cng0>;ytyyCj1PkD4Sq7iY@UG|JYXLxqUHF!9d%h zi;?p+3>5Op6Gp^&NGyA)rjmFZKlzwM3vzH5b2MYYXlGBPI5EiCqwbw;*Eij(?ggEmSXI;T^(quB=?n!nBdGBW zb(-#d;B9Ku)AT<(&1q_%GS_|gEynAQuIs8| zU+1*Ujy)=c5}{5Q>L;aY(r?O}di5PW9USS3n|bUZfwM1uQHEkDfg7*jNE3 zGK^R3BZJ(*?94=g`=gim$@QYD70z_;M}0f!G(B3Jr`g|{_yc;Tp2B^mdnWL+;s574 zAA-)LGbEHXg$8WG53xw5h$=KsdCFR-(ESZ+N3pdUb+9J(R}Cas%PwR6%$41e-@4l~ z>;R35#D;jw{IztC%d|}%f7odBtS;&yNjk>c(h`?b7i*wM3P91P zQr3g&&jR{$`=1hB3ja6Z+uEbYzSr2A_-S8j4L?e?uu2owocNUocP_ z1bHd#G(yM?i$1L$bF=m*{+4aCqZ@j-&NZ%tV{4@Vg^QSTj^eD9bk@($%cQt$$p=tZ#8Q{xoUfacVJ>)#1MO<0mRHRkR zq&Yl$zBd?sp7#V+H)*}wF%D$M)4bQz;_^8)m1Y_>pYA)K!mVB(ydjZ6ou>8>l;+%q z(^7jR=~d73(id$|_i2K1*xci(tsvFog{6iM40aGW>P4+~h}kl$sdG z=HIAWT0RP61!*WMk<$Q8VY(QVDyG7vR?{U!M>mMZG)Q%xac5`8|0){v(66lKp`^pZ z;t(7DLnK=HrLlF7YwW;7;)bR-H4TR`owGvdx-vlSWt+5)yd94(9?KY7gq+=>l078{ zLnU27XIG%DaWM5Zw}h<9P6{`Sv_0LtO4zQHJwk>D*jQzj9q6>J$*n0+n>RXAeUwc8$jx6QJICh#@ezx6J?} zc8~T$L&O6|*!d(>!c}W~zu`}#>!}_GujZLe1N^?e;~(h@oxg__rH=P5{f=gz;LX!h zPP5Rc)x41}b1`DGKxvW&s^UKtNUGu+1(8%EDS%!TyjpOab9E3(q7HaYyO{-MfMsN0 zcun-cc1CZ@tk41nXCQS&QPVqCm{ILid@Iv>>|SL8wOeae@M(~Q)pS2WhV+hidEKiHkERjyv1g0~L4`3A7xXCw z`WhKBIdo{on{)~~)QIdnjKl{KHP5+!c}iq9#u|t_Z|#g3gQQ(O{mC^Gm5>k^OqfUB zW{n;pfoNkB7W88=k25u!lpD0dl8vC3W;-ENZFH%7iYh@L5k7VkNk$ z$tPropWb`hCJe;MpS+SU1ZW05A^a_PuwdqPIv^?w`U%^jvqVC=G+=V z_aQ(x8Y4cu3lQ`gTG!^R-KQPUlZ^O1YeplZh0wgB%^QOH_VT7=vfY3vts^Skr_ZzK zKJ|#JuP`&+G`g1=vh++pV3ORN=6rjVxu|!o6|_r!C%gF=~yk` z8s*l#oC#J*T~T2;aNJt+s(~alH;fFR;yy_p-%N^XzjTgBsw1P?R|t&(wOu!+;{bPp2AEtSa*W64V$YM{FQ zJ<*J)e0^Mb*Lne2)6qI&OEEUTb*Wx6shx<|%A|0S#kq)}^*W!}+NS&5EbiFT)2x ze{|y>&T??D^fQ)je47uhrk3;3R~!M=s?}bnoVJx$`1;k=+J{>@olE^(-Z$^X(IEuF z(l)@H@f~?afW~Ko_u(6>`2}Usd;=&BSae3W2sfNWJ$8J(%6GrP^G2zi5-Dd~v&^`- zzx}HW1?;%l^X}T3V@ao-RgiDTHg<_GjORc3&PbMl+y3_>06ir|MevSCn^%8luovoG z*acWkrRodwu^bGIK*ui%20RdQ?lpMD-*{TUV3Ec?EE4yyh=9^G)I(L;89SV9|}nnvWaPX7LJ6v#e}WEqRzBGErdfHGdu-T`va|X$_-! z+YyW*IHW-9e)k#b)059J0|&%tS9WAp48xCs`2FK z@pVNu$X=Oc{URIRS51nCqpM<=QeaSqwBLez);6E?*8;|j9_IE;)%X9d3WN>)oGG*w27_i?c069^DIQG-T{ zHMXNo6m8PdmQku1oZuOqXjH7RQcD}kgG&8VJ5kyPli(!4;V@teRN89gskXJ%7Frd< zC6I(WDhBXE#cH%(CXTcy7Q!|E?{A;U1?$tN&-=cgm(PdHIs5GUUTg2Q)?Sxs1*xCm znmcpIQVJF-UeUAVL_p1YgPMdOe9}7sGPoJP(ZkJ}!2t6Zw%#;?{vIT~_;rJ%=e&8a zJN*TBvF!JaYM0=U{k$x-hxvAsN_W~&5x#l{mvUPOy^%Q$`@ym~wpSs7%J@xj4bsM| zL&ht>JvSSW_-V{B^C@7_F#t2C{(5j@PDCVg0F=Iko%LQT<)QtxVFF>9>z1U!*Hl3p zyKYPTd}Pw;*P{f)277JyN;tHn)(fvB&GIJXzdOfkzit={tl2f-ZsNBr&@0PWg=kj& zU}@O&z2&WnxaR0B4{g6^ya$l&)MiM?pc>OaaaWdy-VD?vZ?pzBcv|X zhP!9y0@`NPc-fR*8cnRLWc7Wur~aaRNW}fB5Ez$IV(?@Y9u(G?asfVxiqJ>+0PR$YBnzQ6W(edDVALg8s69pdrJX;jAncd!75fOH4B=Q3$K^ULvNH@SIf)E`RL=K z(1qI_M6*3+SOnl%woiSy1V+3^k$l)SjwIh)@8C~yd-`;x->dlnk#Kazm${lDn2FX8 zW9Xby$L@;I{tD|FB(fEadt#QoTeB8s&+M*?atmVq)m1nT3H^Gu+b>gH_Q?5a>ZV3% zz#B0*9j+bWb(hvr9-t9AFAYYoHA&03u0l!2M$V(#WAIH`)!Gd?p4zv-h{sVSm3%`1YoVPnyi^>%@~P9nx@Er#pECeOeC z@6=>|8N@9brO4$;{1%B7u34&>^PwlLCnj{JqS{R?b=10gSH^jhv$^~E)B%VEj*Xb} zXLDpeC8h^kI_%(jcXYG@m_H)|1vH|?_xA?{4m?p8vamV7Ma~UaUEmCtew8f#$!4$T zA#b(^cckkY_GI%a5&v}W?4x4sUpgc?_cqs;;Zk0pmuQ|!?Y=q)f#upe8})j^(QGw7 z2-aw2Go)6k>PuPuS%wK;Ff7B4#Gzi6!8mxciVow=F~c$(V)oWwA(mmYVHqIRXwFxQ z^33qtFHi+{B-Qj}>$qk+)Y`bUCWpjEnchZR!#639=E8i3N!i9C)@}%6*L&BQZsG+t z$w+aFbmbQ8V@rV!nV;e}<}NgQZm$nJ4i)XZFgtht@B&V+J85S$@-jjT;f=fXu)NzL z&M5b}b0mnO)iydaOzk-BiFPHl#F9_Q!ZOoS^#d))TGIzR=^h2V;}=KWi)HUokUHg2 zLG)sgo2f&;*K@)<1;9-h{;B4(>66Isf^@E$vd?IN_w;WD&ZPJ87=%xDRMlG4ua1JjXk#x2-Ki|AeV2{eO8V2!#@Tkjc zJF{$FUn1_~2}wcA{i(G-;7bey^pzrzCNxJARUs z7ZYoSdR;z?Gf?y<=2kilWfGPd4LU=39XdvTYt2biMGXl3zsHM+gglR(YJXcx(2u3? zIEd6wzaVy?2V*kyOCQq2&xLfEBGScbJewLlipEdpu+a9Bb4ZT3&6+)0fZ9agD-?z-#=S%e@^#Gvl!|}Y7C{hE2#OLmrN&3^0{86 zCo8~5?&iknUxo_dQ`(rFL+7^8V#tUUyZ}VhbUQmL*PHRrWEMH%bY3veEUTTY3?vR^ z)#XH-#}_`%u=-8-H?ftNiU-CFtU(YEK&ECGCRl4BJxAbJc&E=A-sua_fHXr| z>iQM<#yTB24VS+NAIm8R14yAI6jHVQ+3bH}wrWOxBBS;0`|AG3SX#7!RzGG$XeaWq z>w7OS@y3lK16WaSlbD7RU>r2HFfLi<5&EO;Vb#0P>?gm4n}YOL)(W>KCkhWkXp&UH zBi-E(siCSpy#j$M zirCoCoV-{^tL@B@BW`}S@Z&6R(o54MhOYmNO;>raR@-aMNbB|XaVadKd*ioU!4I$# z9)vSnv&M-Z=J?_>Xl|4wYuc8A?*>b_62Xd5I^)0wWA-BT+;1)2!`<568V zkIo#^C1?2@m3Hpa!fmc!!e3R=D}yzHTm-P%%0BK+Ll>hQHmyI^Nn$nV3N^9LNQC0U z>eqSFAajwG5iDQQDEY>WVF`0h$F?cay|tntTR7@2*5S$}Y5a~v*TDF#9Et`(-DWc- z7w#i(=Ar@`{42J5BP>(<_qp47s!6wW#V8v#FV~ajp*J;r6btY+#jBTaz7eT4F?5#Sy>~JFC%vLE}!_ zvR_K9Zdt;C!0LOjVRFY$<7Q-oZbph13syK;&8yq2sfUyAt`pr~SG+CsGTINLLJ@y* z9$%cN^j+Tfo?0s4VxK*W({0i^17N6v91juZwX5j?3S)m5>v9(=9+A^*K+*jo1N(IS zYDGly#lPwrcw`vURCA-&IbD=l7nCt()dw{B1M9X&+=V&Yvl!x{#)w))c?1RmbWg1Cem<$XS4|$4f{Mq@*-ddYY)^u*BE?(fd@n00xFQ6>06Wym9T~K%Nr||L)UiQ;5Q52-J_v*`$|3VwwN`5u<_l8e zb(!W8Yi7+TWeRKW03l7wV$yGIX#p-`$x#E*)yHAPRmqW`4jYOvyvE0utCJ%OE_dfG zp61ITV&S`4$)bz=KDt=^ER1r*DnAtM-exEE1|m-LNWMf9hr4T@k0#caMQ0vS%{70Z zBV*K&8jGh%=IO>xDAAs2= z8;*IP)vB6T(hq%nq!(E$=9!U7QTf)EFe+7cvcaF{8-Q=hM1EGo{Pqi}rpxgj=-)gu zWi=nKXi{I-%#_jlSTcVQt_Y%poN?zios$DTJtzC#L|bmwoKe^KkLFae%S4q)M3|| z)S1N1bq3nW>@S+v`@)WoT*EKyDZ=F(Dd8LKWZ*Kz5REFtQB)z0@b-j10^pL^9TFAf zQOO+?lX(LwwUJ=KI0XbJbu_6Ec7dFTwd|cp)+51sW`GR2e4D{H@{Lr!O7D484!1Ai z#Kr;P#HIn4%iM&#BSI5`1-0Ls8w-w5I2_FNQDhqPb+r@ZDe`qcI%I`*_j*O>&E54T z`W(C7g#u=H*0STfI&44JIju4OVgF_$cg7Gp=6~1rcf-Ze^y1V4qS(fu>x*=m8?^l! z;YkY94lmQ73`XCa%;h9WeZ$_B>Wz3lM|HQw(>omEU!bZPpnEsP&D@(ALY3R*(4+SI)$qIfSCf^U}Oav1^2O z)#j7jZj#3xiu!rv)4OjjsYAgz|)p}34?OqhE{&UQ|3mBX57bxt##GW1+^=~iTQ{e_*tMDI{Il znEyNM1{-mivAga~tgE6kH=3DUf$4TM{c%5{~*SM(~6oZ7hh-zat^*LyZz0| zi_d%GSN%mmFYJt1SnlNhSaYp;=|9)kJ!Iy(h-5;X^}~ElcDf!8eQ?it(Q2)wzlFV( zIT$*5bHMhMVYi(AfWC!iws1n>dq~R!Y6>q+RASjGTrUk;TGjP|yjzq=VI4Ivg=Jg z;QVQ)wW7=q4%`02W!8%0yWS-^AOCwt!^kFfy(!U5VZ{Hk+#C3x*IN<4mnU;SkMEWd zwU>=e#x6wm!BlRI`9CPTxU^=ZwIb?|_){1pp2J{%_0|GF`5mLkp$&wH*8cVMZ* zJG;=Qc-yE~2(j4xg;?S1jEk3<@3(x1BWLkPxFaKw0hCM^PZ1|Mil2VyR*w6tD{^e7 zF-5vN`^it!bh5eR=f}}fSwoVEl}W-w$Gc4v`ya!mptU35G(OH(=rL1n8fpr9FWzJp z5zFJNH$haY%0~6T6nL~>fwEknzwxNa;H5XKqT*JsJU2Xij+@UaZ!Nn5ul98%5x?4& zPZ%OOxIZjHG*Dza%>{Iq*OG9ud_S*+-YbVna}kg34-pewSLih7E8SU~%g>krciZIt z&{JL*yiH#(50Qn}y4hfl*H5BN}iba5jybXUNaKDOl9FfR{wG=EFzf z`TR!wT~6Zz%9HS!QhJ6TP)f7@k}t_mPpQRiM*nALa?~j({nCfUZO&6u$-sV*9Q7hy zho1>Gs}?}T$3(%lsG7xX6mb`;JE6turt{QzFTJ(nY(!Svo3?hHovGs74oDj3sY)`q zrg-r_mJGB^He}adD5*@N%{MNM1e3f?*H3H5U>@(&WAgHR9=Grqt=`B}Ax{zKS8wSj z^l%F>YRw-9nVD!FMUt;}Y@%7;e2PEUs3-9@?qb#Dy2}O9S&P=^FhM#*2C(7E%TP8I zU@X$61xu&L&Yk!0269H+-+N%I6@&GOs}3`W@UFL^O&@M2)2@#2u6KJ%IE@|3W8i;R zhnv)!)A%ZX!48c921ai#jM|fZsd%+=8khII;~yN|>&E)N6t^tsH11Q$MlBInfqE%! zbsH=7>QCVu%Pd}{+o;6=82tOzYDXtw4hc+wS6#EsTe!HTd*M=gU*9aa^WE~znzQSh z1yjD7)9RZAPQIF9_0578pVe?R^Wr`w7z#Zlc&I6kIPV$Be>i!?fLqPUk!Z=uEbN-> zk_)=KQ}-T%2hRquYR*%xRXKFVl=1SPnE3`W_jF)zrrr1jpHwcKjAVbTr2-0Ppt|NX zcC0d*@9ALbNLNoc^hrJI>q+W0KK3-raLu@_hA*N|z=n|1m+{2TK1wN#i-W6q8Zd0~ zMV#ZQ1$=;|H}fRKAOL#xUi0}Q zAmbGnHZYXjtrw?pqL=1D)KlioX{_=R1rc0mpds>B5kGFD zY7HfX71sQ}p={%>Ucr1^x(&b5j%imXJ?L#V)tG$Vp>n0$ z@V0hf*A$|i7B%M@tTm*^7X8i2KILb(5qd8O8p00dj>b6@JfqvJTFs;=`03z-#q4P9 zsvw#DttBu69%=v8FL}@TmTSJcX5zS3E;zB0y`I$GHs;zshT+yShmeYEHKsQ8+m)Bj(M1oT_%C&AeD=!q-XO6CAeu6Hb*jZH2*2SN2?Edz$XNuN4EcfyST&D6!=PHE}Rzh5`0nXu8z4$wNUP? zC#dIQ1BFY%yZ#y@cs4T|_V2Q*7w;p3BF=KP7W4o4%4Fb70!onP`K)24NAnU|tfj8G z84S+~nc1lwVJ9PB85p@Zr{)yX-fAEMG@PCl+8qBP`TSl5ncUD>4PW{KomGK+Q=l8l za1Z1&cSGyp$jh;+a?KtZa~2oS8Y`)$(Udbk+@kT8nK?f)Mh_U0V{*JfGL5+}EbxW3 zk84cbxWh0dW3H(#>fc!If4%cheDNTnckO#XAp;pbppXzKR6@rd&caO_RII<Y3Fph^Hp%H_e>?XCYA+r}~DX+;2B{dQ) zWlT#sSW6jY;d+kAg-AA@J9d!l!2=9;E~D<{<+OUao*PG zr+eX}WMl^@1hb=wqj=^uJNVsaTe5Ebsj4VMX)uVjutc7`ej`>Hn zb(Qe-4-ZVV zVQ6)K326#tpnG8N{x)yeu={m~l{eh`RiyfxxZBci6+t(Kf4NAXtA-u;3BMS%ejp8$ z?UF|8PK)2K%H!Vfclj)J0^Gdi4cn=_z18$q^`B>WRjoIlM|L9Ce(s+tTA_-pS^^&B z4g2LM*Yoh_ym}UT_57K7@Ql{4LzE|qNZzm?dgV1F{m;JByeoWT)v!Cf!qSfUYk|?@ z@I>r{8tI(GoH=d#t@AtB_W5~bzjO$5`8xp<^8q`MqiV ze*DSrCyojKv)7ZBdMT%aXqLnNejfRlzI~d$P3kS7Mez25eh$T9t0_3_XB5yRZXyXu z7)jX)Q?FNFo$8zA)%SV&yx$s`V(e&ed}3`?stpB?zRJe-tL#!$7V;{)PMxzx?xr$A zd3|DKr+bw#zMh`>`&D-A=lGsD#hVh-@yv*_Q+&|K-ZH=5Fka<3wQi7^mfh$68`JUx z1wJ+{5A>^ViR$}5UVR0p|Buu1J=J!?wA|cV*@WyHRoQ2}$}Umo{`It!c$M{=mNR=R ztI9r2mAyF7jI{PNQyD;(xyxbs$0o-=MPGmcaC0=cNxxcPUmNz;WF_;LkT{)0={cMt zVe{-ULTP9A41Utz3A?kU!?IGcr9_J*(f20O3P|%_qwa#yyvTrHbU5_UJzsJN-6WMTFd_Ahy04;7CM9vm?EQ?YW?z{H@30rT=YfKaq+_?6)9gj)iup@SX2^CkX3ghZS%LHCIkU1BE9l_Hms zXa94V#@~?LySGlqkuZ$F^2b~!BAW|vy;xHN%8tPc9;=m5EMnBVWG&*>pJmjzJY)Az z`#r-@=~?~47w9XLu+e5ev2%@=s-c#|>Z3H_!vR=s5IF^U?=v@?c&X8On4^Y$Iyp9r zK2#x93*b5ral4zyp(sx%S0v=fxPE$t|BMzA3KElo1q0+Q4Ew-|Qs}Mu;@Tq46XWwS zwY81I$Vun}x1qR+cUNZ&2af$Iqk)y0`;-nWSJm3dg$jE`BOR#q##~b)W#&Aa<*WZe zg+J;HauZLIBkJ5pAcXr1Y(l#^>mAljZY1IXt*!@4U`mG!ncH*0CJ!E zC z>4dXCiT6`pG4GF{?Nw3z8_i?XxnI(ait1&Ww5T&%gcCuc;Sl9V7*rmR+TL;y*B-MC zxpU%bf8~!otNp+e2fHh*Wp7K0?#$LSM_b<-ET7Hyd8G}}bz{BgZSh7skV-)PX*{3po}MVZ3rbkPs@%3Kg~Y@R!IOw7HqB!Z7mx!acpVC%a9 zD&XsOc0_C00W80C%ume`K6AQp%fm+7Ml6!j?uumKgV3ScYjMr>VeP3E?udOj<_*`c z7Cr2%NvCm8v9EhGx%Q=ZQ`bfuvPAqHMpPSh^IO9QH)zYU8qNg0=MG4uP8#F4W)I^< zH0WhWy~DWL_JVep8At42Ab(P5Jk2)K%`>KYC@hm;=9Fh7zuc|Gv#e!%jq~aeiDUkF zZufIm^WJ2+N{^6X&!$N5v(j3eh*CqGz^tD6{Ht`w85OLvtQD&R>>SGFXIGT=okFl; zu8Etm4dHW+Dw@IwYuNE_=tBK+ZdsK zv&L>z4^e28FQ+v|6U%&)IQ@-XZ<~6phTocuj8aXM>53o#(wN+Mt3hF3_Xu11?o!aJ&5V@@ML)JPNX6lXwF-h0XM%7GnS*rC-b&F)v ztyT;qYF3jW#uRXMIg~ucM!RxX$L%cxB^ATzza-2{U~ME-6qfWmKk&dnnvL8K;}_%+qIM@2 znu9kv&n%aU56%?7v$cQWCwo>jQ&clpQqDaNRt<@xfp`HEm*by-2TTKa$)|DPXM81? znee>jaV=fS8ov>79`jCp_Ns{EiW=Z{G{>4Ryfl|s1Z+m>ENg(aFdI(|QU9~%X0Z06 zSoH%>XwYUXSGyx#iRZ?uAAdrFxF&1F`_WLEE8h=d&R@Xv^m9@7X>FQ`H!K{mvs3Gy zvh|IuSoMgtTx{Cz6T3OXu5?Ge7Mc4CkxJpjUuTC0KNFc_-a03PD2dgNv!(g(&NF~u z%{mXX=q%t*Vzth0U+uem$nn*7u%fZzw&{bUk=T|VPN40?n|^yor#*Owl29vDM7o=@ zzkUn4cxc_2j9Zkkja|{+@t!@nO&R5U+_Rp5^EmfrZEN^poJj~3Z!kLQU@Z-~9reF76d?GNQkt$eReE40S|?H)9;|Zrcb3? z*9qH=*xUPBKc+4 z|3ynfTTM1OJr_XU^y5ccE}zLU!WSRL0nu@6%rL9rb%;ITIQOIoPrA!pb2bQ-b5b9H z|ClrBc925RSlWO+3u6U z`}B(@KmkC2dpUEh%}u&Y`Q@lC-*|DdaaLpNz{I58n7`eHSHc^7iB&Qv8eD$H-f-e= zVoq-SJS(2-kAGG_1LEiKlRuzls9P1tBBtDqBZ#sHCYA4wxG$aKR^_C#+$uu6Og}pk zN^|<=2nWK}HGfGQ!J(-AZX*8ZTnRZ?A7&!WQO>XGM1$M_sS( z+mX9 zRmuEO(Q3B%$Oan~-Ft?h>k@H}#H?#NXlD8lurW_I@ik{rUtwr{&9^l$V?)Wzh~MTl z{f$^P?kniZQM!UUgaMhp8KpHCH_htp^niAc+L{F1@x2)<{;;?02W1J*WK%KPT!nH% zYg`0t89MJ3FcZUvx{JILj$a$10I^SOnVtI746{)PpihYA>~ZZ;=N|yQCsdpgbAN4^ zK4%R6c6+0!%I|7RnB5r;b5G*01G?9HvEK&Z2WnP3TrOar8UinWH(?bwR=WR1#6m}bK^$A^W1OsatG z2&P9-UkRdsteQ?TOoZ9?#b1}l(0lJaO@<`9(x*s-Fv5#)Eg6C@ZgE;vI1g&S>b!wl zzq0ycfq0s~1FTs)$v{O0Q&$V^??UTK*5L+SHO9Qe`p<`1B)b&ncg^a0YH00n->Lzh z_xYAIw$zQJc$E(ERWosx7C(#e$rA{Ka8jN@W*+hp7iOh$Ti5I$?}ldaJXi6wh9_T5 z_!A4%o!?V!yfEq}<(k1}nr8WZcb~~a<$CpW$KhoDbuy}IE-(`@z`rvL2-t~3L*idd z9LkMfnm9x>qHk&X>zlQ)bIW~e%g-Y|--VmFflLoZdYQa;*WRJ<(Wj&@xV2?}rO%hW z`yb`J=ciA~yx;Qj>HgNP(|W7ON~8j~a=K={6n`zdjrO%ZaN&)bV}5j6@T2{oA8r3u z;~rWMA81rBkd6vpDJLHed|T(enf10BDuCvmN#Q0&lX-jNQtnA7wH_MKdUyaAG~gCO z7;C{Sub^y(vaJRA6zu#yN!ZxRI=i5!y|{q~j1pojH$lk-7Eu&SihPb?ODP7m&Z5&K);{-$@m8n;&%uPob0C;A!*RuQD zzwEPP8~X_2{1#X&27OeAobml3_M}K`5e$P#kRwBqVh~nk)`DLFk9LxAP)^`#&N1$Y zHiR>K3?d91v2z>ad4@uQ!%ma>A~ZqS@#p&1L90^rb*sUpzHlW%4+%evFR22rxK~c9 z1KL7p4w4$ZFe;-Gv!+JLl7?aqk!N?3v8VQ%!e38+nLz5=EKH#>K^@1Wc&CYX96xe@ zw(lw@@Gd-W1W&ckcb+Sn=ZHW4_3I=WGFkvC&0s5axn$ZleMxJk=Sg?-}O)q%H9#UYTlJ z5^Z^*HpPw{`~f$r;fD2bi(pV}piys?(l;r7$#}U7zorMyYRkFjIO}{O7nHXA$*(() zaWUD3=57|Bumio+=mn!T>DlvMWtsSkTjW5$yXBm1xUt;Tu(Rd?kU?;eSytyhGcI?r zrqj7kBN8oD)&HznR>N77*f6D!?p}|orU6{f`zIC(Id<`8+v!SYN&j7TAedWsMV*~+ zctk+-L#nLBR^mw539O2^xocZH@(5}YadKC}c!fh|RuHYaM6Fs%a? zDMFZK4&&v5u?}&eO);k>)Kz;&%*{Vk;p~XE9=fcebX!I7wwRlHxWajckgO#9xuW>b z6`^hSj3Gh`!{Pjix@US?^EpHdMYMA(!@Q0EH+4lg&Y!G#o${Mdq2APm4{ZI(-$d-e zSn=Ul@uBp538G_=nY*KIV0+YQRkN{DK5wx@ZMGFdmAMsV%_r+#w`X$Ec^T~d_+V;v z83Q(`<+0A#Q>P^jHVa9_;XA5G@J5OKCjU4(71-NuhAU+CNT;BwDp zqSm)P<`!V;Uo)t*rBl~iwi`HtA9o~mKaI+rYb3Zu*>;nj!sn${bVhKWrVXEc%rv<$ z^BW(;`x$S=ew(Qvyxx;_IQ^n*%zuOrM0!#_h`iP-iz6@PM7!HMZuIr?l;iM~PGEf$ z@RPTy2hB|PgZ8jSInh0+=DM{=hkcWAQ+drxYmYDlJ;q*|?3`@0ttK0~X%+HeKD1l0 zwpAA?yF>ACAoCH&^qG&O2hyRnCd+14aWbNyYc{R*GVHTro0OqRWcy^}@utbEw+%3x z>|9Ha2(zND@sjKRaI*8g910BaW7u?@hk@&_x81RMvE=YikHdAKvnzs*t$TXJy#{0K zMFvIxVr{9mzmh*5!rvl5lrE;@3pI@;jGLM4KMU6i4FD ze&;1|rzg;)SOiFT6|e~&6+h`TpF1iDMff{C#e)G9rJN0^2YBNEac&Pl^F*BLJm>OU z=X$t8Nc8^OR@XGMZDm-(8^X>p?J9EL_7CheuGMOs;|?_U8b%L4X=l3wtf#joE3>Vq zccz{=b&$_lKiMrGV08c16*7RNefnf#M+UuYrz_h$vKbrbb!B8gTe>`uv`<#1fT`^?`SGTFY*5X)Zh4+*&NNJ$%9_{L>==`kW>5L&W=}EMOtZtu=2qnQwJgFm-@iW5 zdUB$THn*zTeWwiaeciv?gJfg8YZ!xA^4#|ijQ24S$F7f6f5qsy#DH%k-QfgIZEAz= z6@hj2X1o*KaRDQhHBC=ctv{pIWK|%F-2L*zj8P_kMUKg23WePpauThDiMGN_H*TeX ze|;aD0)HN>-h@U0s`{-R12cvc&Mu&#D3&$0B=N&Sf6TqDpu*X3#$J(H-HEpc$c&zC zDKD`x+jg&?C`YzAgpG_}ccmLSGEtvoduc8B8{IaRv;|SD+2f}o(%eT94we9<0}?}? zjICuJ*us5HurT$G7%t`x%}kC|2uVE0wp>*`uh|C8rOu0?@c9pxjO7JwJNK$Q+jR`k zM*-Bq`|MqZjg$_t9n!pE`Q=FSaL=GLCCC9v_HV8zSwJUdnW(dH?jlBlPS1ukIOlV;?i5{U0wn;id-%R~t z*lCjcPBT^r1;%+YXZwhFFgzY_4KTtt+yLXOrjS2n|E_I;?|RmG3>(Sl^k+UX&!zqI zVAGJm9V&vv8_3_!_`mY-rC_H%=Ah4Vqd%&=g8A1%6W1+fb9u(M!G>3u1F<4`&KO;7-;+3 zD&@)*k=ga(Yr~b@Oi}o{8$?%zT*SZkT9HjtxLSy~S791CcwC-~CsaK5UT^qmdB-DrJ%4eX?FP zXo(FDvXxC{Lh#4ERP)b^Ee_D8{@J%ni6FPBw1t4ut#1x?7B%G4bAGy%RTgKP>fW-G z-f~5&H%aHt^XULoXQ?iQ0xpqTc18cv!q%%KC7OgpoFP@Vw*@I(o#ASYqA{o8g*h~Z zS!3x|BT9@px!WPlEBt>Bhql+fk5)|u3Z}Te@xK-hy;Qed_hBW#O1bk7!08ccqXA!d z$1zc}bfip@Kumio2GGiLY6El0YVO@4LMy&Uir?ePFDsS|8tz6PrrC6SIhCRhTBw^o z`rksWOi!5xxLPRT>;Ov-usaoo*J*${ zedcInoD`}LRgcg=tcva89u&4$-RJIiGhkF^H1NIJBK|*<14qzXy$oz^YLv9Y#{RqE zSuI;Qbf9h#B_~Fb)BWY4xeYJq*VrwL z>x%i`iTbxhi!mO`q<6Q4Loe2~Yt~f{M}h)~(TweU04gyhTc}as&!OF5+Opk%jBT&X z3Sck_7uBN5J@!v^J<|2p$ zP=}klwan<*oJgh+?fE)jxAik4*YMrlXFG^=wmb9swwlezx~`#^U>yv2b`G`mz&rC+ zeSkUoNb`v6iZxx-1qK8#HQsDELxP%xL)~?M1v8j`lP?^4zV1(&BK0fcpf=?pp{7dZ zQ>*@_dkg}e!Quk=9^5kevK}bq1_7WPn+*6fpv~^(Hf+$O^&kjX`9VLNSfq-z%4{q= zX%3f|-^@E*K4hlf6YOM=$Bc+h>IfGy0q2MS6!)ci(Ha9{x;>xQ^KFOrD!+$N8uU+L z{IzORl&I#)LoZtkyzpi7JoE$8G8jnLp49-tp@Y_fp#~YadJQKp_ecGQBw?8tKO^km zLM>H080;x5-i)9L@0Oi^$)JP^_oBpZ_0~fPEsan@zn_E>CcPg@n0lD03@UU`Q!gs$ z+rNbhk zHIHg%22gBnP?HY?+ewusPB#aTnxbmjcsv*|Z9Nhk!*8k-;eg6%Gvy9Hbq?>PEgs)y zY!A}^sg+Do*5H_jTOX;PAHyvrNx9U+Exmmlx0LoTaZ8;r$GC870Bb$jC16m@d9MOd zIJ0BWx412eA04`^Ih*VZfdS9Yn(WLA=&OG#0e&Wjol_<|ivr4kZ8Wyo#V;d>9aytm zGpCatkKdehU*`KtITT^;z+j`|GC6_|?c>zMeglZ=Diz>qeRBW@F;)lfRQNk0*1FuU zA!g^NjKh1Y7hEVD+HA;xnEz#so7e%R2Si{$Zb%JeL}g5fF6{HrQCXu-fWkC!O#6Z- zm9k~XwJ2CmCS+4>S5_}-P(E$^%94?@aiVOBAR#NMV@n2l=qA& z4ie+{!k6UFwdOgLC(4?J#8BiFaUy^zE%l(rJz3$_giIR^*+9^3XQtVZc9-fitIvWuW1+0dNOo@z7 zx5o3$K>7yISqhkH6b48TkoF&i-y6k(MvcP%uSVgY$k5FwGF|XS@f9-)(!HT*1$#yj z3vJOricc6wanC?9bCD+Az_CEh(5Tbd`EAA!bDk3wi0_i9bixl21^9>T(4C*-+lfPN z{4V3tV7Msnza;lutAMwSc$@k7sCzSJMm_%_M*YtX8g8NAvZsIc3G18Je|?Pr!du@> zz3Y1xl*)gzzSjIwhNCskJ8_M*Lz^{LHJzi#^a+d7uWA28#?-SYeNF!o1ThrACojsm zT9p1RvnXE6EQ)FQU8dZ?RimugwKi*%vg24cikDX74)hcZ!rRX6Q|#oz7Ut0^@(viQ z=t*;=*kF*<`65p?eYA?5J@xDNRQ`I>W&|rGE5kZyJ zYE@f|bd7vd$hSfH8!=LE+C>HvtC#@HTzz5E@7y?2;;qxvxk=wr=Wg18rqd4z#ujQDoNQghO~*J%4ZJNZvNV!jho$l6mhmz$Zcg9n`Fq+im#fQqRWr%Jf#b^xif#YsWFyen6 z!^_+fU1lWLTqef0wR>o!_<8B0Tgx!IJ(T{HmJ~h@!`Zzk&_=lgBq3${k95ue___7k zQ&GJYCqGv55WVD9kRY#|rYlB`4m$^sB!``YZoHXZyhF{$X?IjGoP6@jYK+E5jpo#A zJt|J2$luQi5547mU58__)%c%wPfj0Qt*^|knK{rdTaSCUS) zBdpod=LSW3YF+ddJ`w=%x4=?WK+)X5X)c(+y^vOYBEqbFvFZu%Q-B6gF*Rr-rw_tt z^n|_&11UhpuNZE`{aoW7YranPE0ZH0)nCNzZBAQ+sQ~{SV?wOC>GZ`d6a0 z;TcE0(E(;|^!C+;=*`F~cg!!a6p)!fr1&6!aTNbT84&dUJ)#_PcUAoNUT8d=MohyM z~_ZnL@jh!^9OPUF!T*zL_3qm#HY|Uvc%LW23zUg z&MGZIi+SD29)pn$FMGu8v|IDv(GpUAG*Q&#d2u|~vdNJNvpXnEXL3XW2T9_&_+<8| zeUd1>r4%abin*mR_f`bt-^zht+)&Ft$5pXAzFC+x26!Tm)*07iqa%2iuHMN-5Pk_M z`@S1k&HD0!!!s254%9Zgv40!r{+)hVnv$xZGu2{k|2+iUljf{+3RQ47Q75u(l0&OXxxr z-@-YW=WvdK*}7qTrG~k&HQ&PpwmUHMJh1Z{%%NK7-k1fdgpJ>#7sCEluBF>+Cu=(z zjbdFz^{$HQR*3uA8u#u}bjb~Gx&;P3<`$a?T8ZF&)WxtFYe4CM(Ak5&4|}F&UzDi1 z*0K+c9zKFVbZJU$|G@Oxe;z1`!G_u~SFn&-m%HN|ee7}pKOBUIxP6P+ zyMAITSi_j}g90r~dZp$Jwf(HA!OEUFYwMh5R)Yy<*|1JLS7LGh?%}+CFQt#L;fgvLT17?5$!WuSJ)>et^Jseg@?I_<5 zgJ3R4B>Evq1pSLGwRf}m5Tj=^yA&FQ_{l@FopJyj&%brV1Zoje}^PT z|63#hJ3ta}W4Dl`k|DGUQTP?YbaW2sLlmQF^S?%vgoh|EbZ_*qP!7J@!50wa+1hw! z_KrlWcQIWeK1Un&QM$95!8UfGiezvm6Aiw2bM;5I;jh@3qHDgca0Bz04(sW$$AvcK z#rrC%Tg;s8t8g}PI^af$ZGn@n2W_6tpiRHw^r6k0LYtk|{8xlF6M!poOac?2h=G~i zLL~6#753E*ZJLt=5c3QcNrQ!PR38&JW}9)~?-2f(QLL{3r+_^Vjo3MB$1;q|`i2o( z3@hH|jlTQUy1y$lZk%{%M@4U4anPvcZ|1&x< zI1il|mz+zYxNhWF5SF7^JDoClL|ZT78B9Z%ye4StSt{TJC5j;mt~B{{*+-!=Uc}_# z_b$fuFHeO^)}bR-yWUJyLvUi|UF7d1yH`=T!AOD8pxR9XV>p1(!%-d62wj7e!aPq$ zLYRpM4~x!Cgi&y;loi$#PRJ>!R_9vt&!hp+RSxfP%fMB;wuM4enPhoJpjFay_%$a| zUJNFdmnu6M_&ps$WQVAU(@pD0`osv}ij9zr%_uke60dz{69d!rv~|ssrbCsy7xJ!O z%|j*kO5G3R9OcFsVy=2hi?y0UM=BA;cu<33nz{TfMEmYjy*C8O;WMZAX@QRUA<+yL zd1IzJ%Lu>) zk=2i6u0uSrNen{-T~6$OOf#f62~jbI3dFL`J^%XKe2I=h#QD{*k+*0JjV*T4lfR;r zd~J9>4KTaQBOJLao0CY5J za2M(Nq)F3vV~g=*kFQ>q(bG(TsThCYmLA-;DQ|<+wHnzqcb}`zV&!Aduay;PGD5u=| zhiZ%`MJK0p>$uw3+(gxo`5kQ4cuQ^j{wV}zH_}|~HmLJ$!U3+F065!IW9bf?*E2X? zwR@|i?PD5UZ#^-%yZ@o8*HQ;xG$U(IUxdZ&dw)G2rupy|LY8z7_l$4#{MUT*{M9YY zZ2DT}#3~|Y`>+`=EB9y|V-yYR@UolWH5+(lM&q9&eMzQ9YL#=6-)3snb23xwHtF;Z z3^zke7_Hx{0{}aFr=Yvc0}v)lo8!NN^3;`o0Ys2^H7#X+JNU0{(eUz3XH)YxHMyj8 z=(isvA&!(xoo{SJ{ZAO^g18H-v0Yj$;2%}}gnKhR1S>k$u3CJFH1HX_Z zOC_qS;Y$KPpYeYbwbu?ifnQwr|70w+uhMHM(qjLT4w z2@QxhbUva!$XEK$c~Ga8@*8#D>+2MfRXSBSRiZi5DK>-u{RDUJksOPt^i*$f(AjAE z6~jrz!17|cHdH+#HiYwD8ms>onW>r~#$!|Guh<(=^BLn0H#2is)@j=H)amd=h*Zyu z?G)*83y=K;FCW=P@S@}M1d267uG-aqyB<5)fhad}$fi_J)@>y^U<)JwE;KT^6V5`_ zLyAH2*bR(Nj$Wm4zyKQ8Y{XOYuUOoIudq{gm)dm!2y!{T_}r92!>*{b);$huMA6{OLL~fT*q7`pU3NE ziFxtPZyje-d-h14r?9mfxXWzKsh@K)>E6XGcVfdt^yGMl2#9CLLWl1uApaujgJa_U zAi|rPbdX1N3vKd{NV7w9E(P;T@l1Chia|0**=^C7&yndpj`be!8f56xBW~W;==;R* z^*v*YIo{`wjqSS3*a&i9PKN(?V|<#R%l*fw-2g+d3EY%3(&@3#dou<`6UXrL*gM)6 z%bl0|jTRs2zp>H3kx>KNbmK(~I^6wixpUN7@CfLKU%T$|WSu`kz=s98mVxPnhLX&l`OFG{(rKd+devRuo_s;dcMbc&daRli)at`jxaX} zU)Omlqe8*?t5?K8OZ>EMj#j^bC;yX>om|&{7;K35{{JzQZhTetUpEbf{yjJj*Yz0) z{TCyW7s#QW_utMEM&<^<;qMe`3CvbQh;F9_{6wJdl!LbAh1{g+i+74~tEMF>FJf`F z@Ra&2L=Vcc9XxXhXh4UBy{C|9P7@{m|J^S2)>u8VB zGpI6czAX%)Joz8~nDe?iI3}3sYXm(m_y999SOVtVT9%m;qsobJ2qTyYI?yI?Y0Lp@ zIyagb)^u3&U!-E~pQAazkis*&ft<+~&~5eIJNF0yf~wcwXV}Vz`0Ouq0#$(-g~(dJ zg092l$OUooN1XVCTRc8X-u4fs_uxBwj3>Rwg(K#yi6R8rn0~@qHzUX$`_$kq2*Fx7 zk%OU4wO5o|>*82a>ytYIo$Y1E{c9RDZoB#jBCd+$h}CGVg^t&r#>MK?d(g7jOs2nu z{TC=2N%|dn;@_WsiW}O_PqR@(l6T3D1|5c$SoNDUaJ5}M&#RBA$b-vx*7oPF2e@pS zLtf@atDixBvdwl{L)&YI+tnA?)JwkiqyDMS(OfGLdWc!$KNzN+KZO15ofko^RU~i9 zDfK)BUzN-qLU6s%hxeRsSHB!3&PQ?t>YHr@en6vrJ%Z5Pw%B7V46vy^#%j| z{Solw%M1bvr%pgX)PjV51l!nb@DJOMk8Y^&za?>s#3}SsaM_Z$IGe!7+>Dcec}5T;)sFyd7hE(Zm*8JL`D-r_l;tx%L{BmQ zn*fry(Ar@Lnnqm7Bmw^E_Xr#0e?9#SNT-kZ@Hsn=h0UiAs^fxrrs?9tCm^CIk=(e& z-yzr!CL?A3Ih2c5g9`+hz{ROR6^W>v*`h4JLrwuOm;fow2inqj_WzFgypIP|n7vj$ zWB^4D($`%Fk(>!r3mDg@kZ@+?F<8>`N_v&`v>X78Opf#OQ$j`RZOE&~N*V?lK`Xd~ zXhqW4d?a_qgaTa*gY#y>B+>z)LTk+6t@(cz3{#{`7ghvYiEvnrw4ToOTqREp7FJZhjSX99`;2p#U%`AUI5-mT1j5Ctan6iKCSkRT+$Alkdr304 z#B9nDg#HBtDB|8yN|uEK!v5#dzm=)~s8Y;N!l9PhOSx}tn1t(7p{(vUo{Rc(QEz>& zA~|Y1I1old;uP*a=1qdNe!IdSl&&yte}n-W)6HOC=b1W>5e_g(+>Uj7^Mr?-qRv*s z#;`ik;ou3kO|>aPF)i zM*G%^>qc-(jpfx(3VFpMw_-;~PF@PIqBHVEeEVj2cxuWMkmZ#gXxysuLEu8wN&~} zIcO`FU!R(SsJk}fi|_79J>J=le@FLQubD!rW|MofGGlVylX+@SW}?|WPj(?TW&XVX zchSVgvI=L--)x)?u)0PLx&YVRSlZ8e;Upqi1Kd4!?>~88Huugf`3;LEXDzvyC3IJ$ z%!xrHgQadJ*$Nh=&Ky+q_ z{Z>?Fgs*A|FHS@et$3&nnYTV(kd|c))|;#xnkA z@^j@U8FXI!R0<^47AOllt6zr0dEvRUGy<7H2nxb;fAS?>oz^)G!4G&pXUE|7Ig5fH z@;GN+aG!n}g8TWAj5==ycaLL&T=q8Zt#H>GM>&h}vhqd`%mFWRUj&}2H;TbrDgCyv zJMWsi=*iK*2D5c)npsp&5b_uU-+W_lqs)JBNyFSQ~YGkYrX zz=4F1!59wSSu66Wis4XBh{Um8fGj@On)e|ijj=Q7E20UbrHE8i_d8(E#25uX;*<0w zkMgU;Du|>RVdpPYkY~;N6@3F_a!Xqp_h_imZB;+&+Z~sz;5NGxPeD` zt!BQFB!%6E$7PentIccFou%E$ofeGDoj3w=VM^nk_)v~B*<=ao!tSyS z%#UY3&wMeg!er#Tc&9p~8F<#r#3I9iF?rKdQ+Evqs*PbrII(UEMF$9Wble&x;6;XJ zu^tqtPE(|t9vhDRj~Uxv<7bV7ZCci@F55w6ntW5)TQ|_*CK_YN9HO%#blRE^ewiT` z(qRTRtNy}(1}1Jvb5p3a1}{xQlJd|W%1k*Kt6uIl{9y)fHdd*Jx-H*(QuEwRH!WVZ z5bZoqChb*zbtYi4z!TL=QlQfHl;-=EOc~{Uwl}YjCdm5$d5vx=@SUwX_K`zt@mA(n zo^n}Lb(!)xys3TFmCJLM61(~}aMU!woRqK-B_U7vW6gh?WCmO^7YWj?4ys>DeN?Ni zl6e$I!6>K}^~RdNjLgbNfl*&0H%b}whfn6>CDrpFghim{F_GYL3-2+OJcG}wOJrJM z>KmQIB`4(qs%9WZ->CGDB3Mm|^>pyOv}^+%D2iP2h=JpKUV~B;&``37Axw3)6nCK( zFx@$9UA@uYRs13QEuFMqVi4*98>MTDolnqCuYd>} zRYg~)L41Yw-I?@Hg#^U$faD=O7jZjlC@!Y8q;m+Q7rI`ZU&1cfCZ(|R?`T9Kl+WOq zWEtPHJblK{VD{A{;70wVpS$BEBE>)0#`)2fRX?W0S2LA!BTwgsv$-}WX?G_M`R}TV zy7RRgz)@@v!pfNV4?2up&wMz#>k#Vp8ZEda-lbc3jwH*_n2#n}2r~CU?Nw2d zMPS;-4jqfs)@WA4OFALOxfAM%I(A05`wW~dd%ql7H31)Zn(^OV#38%0<}>x{ z%GM!%sX4>=*H(~Xrj`S^e%+(w_9Nhzq-LFp`f7$J*3H4s7Sf=;42xRUyR+vV8>n*U z(T1LO#`7uirC zuR9*rOx+Vsq_Wh%yT1^|cUF8P8ufU3PSlO`8bBPjR1@`=T!*31%`@GEQI!D{UEoA@vj=S=ZZOZA6f`yZ9QRB|PV6gNgZ2#Pqu*n&o;9H4Ik+!KO;a)Oeuw(@mPfSoMOU zvj##T9ACAR*Rhys%`=`toSD1-$PCP0g5PqM(n@rFu5QR?lbA$9a z)K}in;>=X=Y=9)0@0&Ao$Qcm6Ke~@mX#41M#bGsQM@ZdzA@J>W?U1_mv;e3S1Gc9H z8D1v@=9_1$6=jLIj(UhhC~4o?W`G5IqpaD2mxwc`>$4_{I?vk+;0*=TYu=8UZwpk@ zrut(7tcYV5q<_z$T7dfr@A^*xBIN@E>4BA4XJXgd?#y;Jv>N27FWJTI>66_1BTOx} z+JH9tloJ6Z(DP1Bs z3L_^xnAW=g-Q}OEW$lcE>b@ovoNH7VjY5^|CDyXUmQ* z{}wz#9r6=f1xek(h_fkict|{yIGh{*X5ui;?i#2ZE(A)oouf3C%zk+!+9L8Y>fagl z@4$WfrV$HJgLz|!q=e&7$oly1`6p)m`Ih;;S&L7|IHH>C%S;K*v zk+iw(A}+_GI^-3WQF}Tl)pz&x&nZHHlv1&?h})YRs+b+Kgv=JK(iHQ4<0xLx3K5~I@E8+s)27m`U;U<ActZTR^02ZARPL2;A zuRrXUEyjwS=X{txqjYEey5%_M^VOU*_x?ZekoeGl&WC&qC*#4RW%bAXcLg|!&c)Lj zk=wt_h|sXSkGBCe#5&(-E%+=+VZwubir>UKxeLTuR6C?>Vl;>qmRGf_@ncB-Y-~hl z;M^HU^ZW1^8gc%H?2xFgs~=^@2;*cq#pN2-F-HbK1LW2Wy}iXU4(Hir&6ME|k|~Rb z8f40DhBdZU9Oy>QJM8K+7ckMN(H@9lR@eIGko3jUhJ8x3Muq%7PvH9jA+zt(w0rM zX)CFH&%IYCf{tm35+ZOuV$w>yw9vgHd9acTNEBr;M?i_x9T#SYvTO{#Pa?XANDTHr z`p459KlWmd5L?NhduOGoPe%g8OWjaY%P49|kHB4wwtwvo_XTx(dB;QJ&F|>YGl^Bk z2Wjol8J7}Fhs*#MGB@?BJj$dv zoFVsW&Q7c{4n1p5GhGZDLu5^9;`lYSh3WID-?)GBq*s8TH?+|q2&>vn&OYt)P$&1K zvt_!-j4szH8mmTi4e9wlk$6ZZHX#9wTO0;9&hRANrWO|Na9g^}##u(|VJ7h9TCA?# zP%k>D`W^XZEF?=S_eUtrk<=0`?(+1Djp~~p%{QxPgV&9(3s^FMl3E4sJFVs*YusAH z+zzo;+$(BlZi8Q-htVRAzJH?KbUk->59t%+Tv+a|zcS8U^otp#98b`OXF?X<-@&T$ zJA1eHyI>2y=>k%IvV{5Pch-I0@BDgx>kX{>;?q)Rp}N4RKTllvhEJec$dfcSqIJ{k_trLy1%w`(DD6wuDYwoK#H?h{xYBeJg>vU}RYlyh> z76e`X-GkCO1iaGPZ^4GA)ty~MvbAjX1b)O5wnN0Wcm%8n*}P%@m$P>PkE%Kszh{yO znP9>mAYfF~V5268HEHpjjDluhf_rqhR8a9++E@-1+rz;bp#P&`;!Y%+?FJNDu(cJd z_SmYGQxpO*kP9S%Rt%tsmkL#@JB*ijgMgZRzjy5!2-g4eJ>SRkklB0fb-%ppy}t*E zi6o-)MG#Jbyqd4aFpyhO>T5ZHL80$o^FckB<^b##4gm?=XgyFLEU8v2Q73d0XBT?0 zwYX5PS|vU}iNqjrI7i6aGI5F&)WIH<(am2zkk|P>t?sCts*2p;y`Ph!)j2ZNmWr`st!lu_ zr?o-i-6R%|(k#6&p0Vec9Uj~-exH3sc6f+9S@}gRZx4c;oULfNuI3!!5BXrSmUICM z_)yAw@ql-U{EeBG7V)7L^r2Ey7p@AK$s`2|-3l_?;uXR!o~e_Jc)FoHGe#}zKhT#8dcyZ-)_ zUHe!Pl0@j{uRtu2s8ZkM*OZb$83$!ri6rd|rVUj(H>vkZ!{?n8Bs zbuH}Z=2NmVIATnRq6m5cu`OG2AhG>sp(3_r>khagb^FrU+%UR5A$t9CPxt#5{;2<2 zqYvcC=*x{w;t*s#{KXiL(dUm(Q{EcOjySu%Gr}X9EgYO1v;J^oj3+s6i`cRA>Dhsw z9^>>R&)Aadep)^7lgE3JXI9&F97|}CvNwco1XVc*vjPnT=f9Z~TINxX;=;lGZ8cx^ zQ%jtT+Y7|0o^tGmR;Ky4>%_~w`6Wyj{3@olci7rc%Uz;aALyCP)xm?D3#b$~#5j>1 z>MJ^K*x+Sb~MeT=L?K3nk3VpSr zGYZim)6Kr%5Q~A1_0)RK5pa1xmCvNqtff1pm-(O>i(!E!zFv}I-g>B zKjDDTcZq3|XMU=RvtWV-rB<#@S&<1*j(^b5bZd?B5M}*O19K6!o)z2({?{;T(I{() zT(6ZL=O*^D*@|>6o)>B=lzhR%VQtD`C11g5WQUO$O)CFzlru&*HwfqEA%2CqbMzQC zc-Tp=Dkssj7Rz6wl)s#w3i&Y&KiLvZP-mXA8sy-GwaJH!rs=$M{~Ar(`6X^fIP(eF zUaHZsd5HTWWNx>f7g!!PAG@EbtR^)G^Rbn@IFEzGLjO~QGiWrEB;e(V^Dd(OPRU&- zx#imd^=+teDD~^eFC2inm1HoDzp3QgD(P|7ksg`-OR@$rwLEt+y8HdPCmMj_~ ztEM!;xt*uBGGIQL#yI|_NdC4N)>ZRey4PAGlg?^%OfL1)V%VHqU``%qEp#73QiD6}%9nN#I1t%36|6N3!b~fD2#HC~9Cl#ibeo~RF zglHg%qt8`~rCMV)e|br`KlPGkHLJgOs-z9#M8s?q5suk-h`%?trEn{)b`-Bs>)epF zsuP|i#~0*O zY0KM575bF%12Fhy*S7AY? z7^9@2N@57XqL5Xy)mcjxv(;L93ytBddk75_^mm%-J;_^qaEE$kY#wWkk(nLgNq5asnxv;;t@6w?xlw4T@PKkIty+3cFdFsue*ShZphdZ_ zG&UAGB{W+Y80kq4w>C&X2i{e>lgIhuDes*R$9N_PB&`NqjIk={whKn(R{3Gx=O2wB zbfHvitvcD1+rFvNjZO&3OY$ZaUgTLclp3>wN5?Riq_t>kh;t*CD>0YqsRGQ{G^7?L zf%`f((TRWON74&k5ZOrK)pSRjIpXV8>Y#Ql8bKLn+R0oqv)<+tpfc+YawaRB@1OkU z)^M#`L*pqmxz%(_u7@S1YJor^o;&eh$oV z7ii%mt@!+9Z>s}3U3ss6d5*U5T`1R=wHx@Uo-SIw)2Dx`-7+Hc97Q9%yofs~FydkW z5QCpSJ$W6km;T`cHOx;IPN2dYA3IrL@MRJT9+ZSW>UJv}vFU6jSCWcv9dQ%mbgK$W z_nzY0!m-lEP%5QmkwmeCfvj%T<}7*7?0XkN zaHyaRkbi>+$MnJjLT7q}5FA?DrU=2i z<=p61cqx1-YPLp$9rq9wcaS+0F_ma5nVV$023_$KsO{22Bk@6Fl9pI2goSIZ5e9D9`X7Nx;bqTd$(ov*1pYu8m`Gz!VAev@ zr8mmtd3D0;$qbuM%;z^`hkY4@gfbcxdTOeVU?$SZx;v#tW30d~L%Pj9&U5#5BpZ!_ z{&Cb-$dsq(+(zk&HD7m%m63rVh&x0F6QU|)QaT~mUA(>dUjxyB(n-WRMU;GK3HB~< z&03X0+No!33pZolyuH~<0ma)T!*Q=`*r&ta#W1oTJ_-K`n>p3&G$-#zh?6F19p zH7l~IxlC(#2_^al#r`|J;TQDR6*580Q%wE5Kd(+WU76__Gu3N)=nVS%+%uLfWf(_Y zF~6K`+GO|$+lQ(Yd^A1e?vbH&bICzCVsgkRX7U?e_LN}L;ouXq`L-k^p__B)fV?HI zG@3;8#*g2am2_SlHj494*M z&>S|6C>=;%k(x(=VhZ<&X@pB{lyB1Cp~=>@ z_@JiYkO%=L(U=56S;k@#77^jDfM0Xf2mG~G$*lD^o9dfl`rNKQ_VD)9EJL`_aHaU0g5j|O zSi#l90ZQ$)r;P*A^zthRrx!Jo;GQ_$?vyfyaE&1e_)C}t;V7t}2ZGVzXbQeUFnLc| z*e<#V9)Nq2Lwmj=xUe%4KV$BB1}t_i^oQ(Qicq2aAZ-3K`PVd`A#_XVR`F*K2k;PQ zi2Wmv0MtNU(?8`-o+V$oNN?RPwcM4vMaZSHBi+If0^7vfk)5?+cofUJFC$z5DUTtF z<1ts*ROsA6+v>LOOi}0d3;vg4`V>#G$Df6+^_eM?jDm>mE0C{+5%X{G*3b}IM_V}8 zR2G|JfC;;6CgvdUyvn6+EGsc!buPxGD%ysUnSS5OA8-YpM$98*yNqNWgs^iu9UhR& zKgsl6D4C|FGNpcfMb3xtpa$d&kn;k`IWCnm^-In+a*76HU_f@EU`HIou31`^--&K< zvae2MFBp)$P_iFRWtZQR*?*$4&xE6RVsK~ALJ?F-G^9$%FD1^47~8q?z+Ie6D5c!X z3AYWu5zLkF1S=TDA5n`EHlZG=`C7KI@(-ZZt&(6m!{W2~c}q$20Bd*#5GZ4@ks4U|m#dKI|C)$KF zj{+qJ#8YZ!rTL!Glwu|BP|C9(J5L@|es61^=RIuI33!a6RUeWVJmdA6CIQaET3dJt z@v;?_yr(x3Tq+dxJ)?{!f$qLg(_$93A)h~CZK_j&0)NsEIoqUCmf1qUT6JNn4qH#i zIl5?yd27*7#tsbdt(2e8gR-bR~+a~;v zmM^oC`Ki?GYK>HQ$fRZlztpB36vaWf4JbHL$xRV!g>*X-Tp@j~_J@>{(&TBPOE4kS zB-IfG6lPU2`CU~dg@zi(wdz81pTeP9zVsyt{HoefLN{sWuiCWNjHbuW7UKFYqv>H` zZpQA=4K-h$_-v!8n6Y_cH>8`lwn_65LR#(lG8#NseT9rW&QZ5z%pv0!^L^Dsh<>SY zJRJ&cE|kC8)YnvlZkGvnhQd^@H=Y?nVrMla5a0lw3BRI?WwCFwTy){f*N8*k_@$B* z;H^O3E;I$@MkVDRTn<^I4vz7dFSYcaTXwAEn4l(QJLRsxQDen271q!>?`^dy>Sl75 zEVaf)zgJsc$!i^MfJ822)vaWJ@UE6$!drUEWBFn0mxox}aPXIM4{F9xDT4>m9Da=^ zgsW;Wrdb?ohM~(O3u79lO z92Kr$hhXU^(0CP3x*b&qea}aFj*1Nj@#Dsm)@}gry(O#lO+}-3YWLN$hUtR_&5=53 z)$^@7k)rRx(zNHEDp|xw4zY+TP>UNY(3-6~zZs!89eEq54v+qV8_-bR?dtVC7uj&0 zh3ExPKsM-hQ#r>MBv*1eE1`$Df(k;&YcC6zdQ*+3;dJqaeoQ5^krCea;nW%Y6!kwoek*0^T`k(QAsOI;c6fGiY>J{&=Ay?3m@b( zTktHcZXM4j_K1>#H;o5$po4Os`r=C0|6M2KDR|fAzZBq8?YC+~5T6`m)u4;)vHn*S z%!AJhw7KV6LTj?_VJ+H|oE#6QxA!Ck^Wx*aWugmHAny?g4LTeZMCA~93mcUX9<8Ag zbV?=qunS*crq#(QWT|5lm^z=J796OA96?#6^O!o`SIQwo?UE!2xH0OqEzCuzmaq0B z6O`C8T1dtiTj^uxvg37X|E|j(jQ#`uAL+6Sl_|56)r+3E6Cyk?v4IsaE#E2fDcC)mH*e2t-z>8CC`EQy zhRhTVM4j$)=%G@TfP(4U1vtzVv6O%XiG9gNS2|lEYs-3i$RYTq_LegZ1(pMk<#O!xTmMI8YPx@p# z7hQx=;bo5qYXE$znAIIC^he<-DiNKGo-j5`Wd~!l&UZh$qE#)47czx01Qt>WHh_hn zvkL!A0{t)LU0Jeeb?>{koMP!jI+hCGMo_QV;L6%JVp-0Az6Ew{_D``caXx+>9MK-} zXKT4k5T=JptuPGJhX7uKW25=@;J>4`CGzZi!G8~`7r$B^U90R8l_7N+Sp!$2N>WZL zBg!`ZR(-?JNrl5^=Qg?_V|ZE4q|u}fYQ%*La+dvAhsa9BCWNeKS8H2#TTE*qVmR2J3PS&Cl5yRE3z5rf!go^C&%pvXgH}Sd+`BWGq2NKuf~+pwz-+n zx$yW0pdl_&aTQac5Q+F;o)mr&`#xXg#_+Nk3#tS3RhU(H#VgRJ@+Z}4;uec)qVvJa zxPbqTsA{SKqCMFhsj5}HKS9)&WQn0c0Uk*ztxYnIA#05s0f~m>C(a}4k7j$={30y% z-+dZJ83mBjSU4XRWs1U(ITkkzrSwgpO^w+)#r1!X0nbimeZO{>DD zcO^<(VLLxVJZp`Q*lQ}l{zNm@d0rfxuqLGn_M0u#Q;w$Q3V~hD!!ObQS}_nQH+Q6t z5~GzpXRVqqd(GM=^Ueh&81Hxr7g&a{BjbLv7ZH`7oWzW}dRgB)u`BX<`d_8Jb#i~? zi-YnrY~O>S&2rs~zFcy!w^>p%aVvm}ovFP5gMz{EbI>i|DK{2DyNCyW{70@ju2?+` z)aLyoXIp9WUh(bUO@M^@e$Kal|0#e%zN60z5?%Wb`X%rvGhQg0nDhD%?kG7?>-VV( z5deK-XZP(KOrueq_}CTJQ*ydf+5eKt{>K5?-7ELOo>R{^7pSt~+aL#8DevyF8s#|4 zIbo&?oKif`$woVQtY=W`smHo|kK3)(xh{3e+z!C$kRC~I-R6g@=DQztK}t%n`Gy?x z^g$lNlS?SnwzuOtPOIG!@-a49%QNB$_!=1FP2UQzi_**O(9effjXq~&d@#m z{fe$a*_i9PdyGt%n$_v4X|mqnN=h{+NigwZgXyfgzmweLH|9-aWNz1I!MEd>2oUf( z;b1eQWOEqhXmRo&eQm;0JBuP!)X^Q(?BXk$JkE3$^t*qHO3>3 zRI>K-K*ESCz%3N8L{f)5U^ag-3YJr-lj{)rOe%f8N?*+1`->9PB^l-d#^nSVheUuI z-L9)$BhIDR>H4wMVxjCrQUGJS|N)m#z(+SXrE+zdv??itq)va{0zc+I!bsG%Jsx=Z!x;?$mIPP1RFC##aAvJ_+cgqdj z->KB=^|jXhMp(|d*@K(s;3rV|yGuGzbM|(o;k%4Ce#wcw5=fum_#o8m2E|8QWsh5^ zK>I{HT$&+>I+I6XMbShoO>L*8 zhb_Ppdql&R*SOcI+@vZRZf>i27!JQ|@*fKh28e;h5p9P8amBKsv_zKc@erpPid>1J z%B9E(cAsc=&@ZKi28uwkoSo$_!ekFnBQ$7gjj0*n#oMzkMx)MmW$=q7gVmR*Jp@*) zWPO4k-mOkNDqd5&(i0dq?_{$81-ReCT5Su<8?jDL&6u@JPMEWcUCF%NmZBTuXQZj8 zD77epR9hhcFF8IZF3S6A%6M`QJvQQAl^W`vhzKayC5TuBig-wC+b##ZqjFd>68CD3> zV8VD*XQ^Y!$q35{NgaV=wfobAgh&!Mco?u~y>>F5fm*NceKA|YtsWrxRI**s=H^iq zkh{S7`G>=0_pI_DLsqtCUEoV5dJjN(E}+|5oevir6s?%7-~M$>N~a8o!q{fm)TWYu zA+*ee(%E`DEwRC-HnYLFot0Mq7GV97lsJ8h^iVO+OhX3-P%c0@$*aVas=!ZQIZiG; zNIaHlqAf^t7gt-bRUx6s((V_ks!{$Tx|112ur`Ysjh}685Lu|zD1uRj1nuFB0q1i+ z8;!S+i9P>wOXbeTUu~Nuz{;)Pkk7g`+)@ul%G_W>hXqOWUy62Z!$YLm+-*?Uxxg~%QHwK`$*5%uF-tWhHf`hO%lxv^QT zXGMW9dxVxx2)!1v5^|Bs0(C;TD}@G|^;iV9Ft(Wh6WPhj8ss`>RWPb(1WvkYW=v{X z7fy@B@&ZT0SXz9EAq$g>_`m-bnflS!bnkB513SBcf*jz*bfi;yKA_xM@@P{Jh@Qunsu8@p%VV&`U3hH@0d5b_TASJfQ@g0PI#c)V z51A{sOMM-Q=Cw#RsZ{A~+#EJJOS|-7yLc?t;5=oigzk6#-rxTNEHa#7Z6NVgo1`<9 z0?vDh8~bisrFCZ`T>A+^zqT8%-3okKIk*mJ&i)=SD3{Bnnf^&geykaP^)1Rt4A2 z{TGvvyeKv?M-N1T%~5SybJT5`G^KioQK3+)(!pa)4F39~gtRdC$mKa+ud-yqD($M< zjSunUzH8pz+tKFP74q(@Nc{6_V!Xt2B30Yvl!BGJ_5vR_b$0)|@d`D>rT*1)u%&M)mzy=6s|c2IMq zqq$tpOSDU`YE>N>6DxIdel9ujUPgyfnL`Z%W=`gnPrX`bD}ssU~hxn}mL3&DcE#1msw-=k6aR|5Mt1kRl6y!l$#>c0yp;Lhq7(VBwgbw%p4U zsA+uYXg|UNXskfi7Elmy{JMlYM)f1 zU@Vi~MTQ^#fVE*gQp!RtUbSTsbLR0u$1G?G)Y>$i%*L^4i$)7qV^nadXroo<>s581&-Ajg=IXj;d1y{vh7H7B z^O|osu|-9$O@FhP;mF%ch<>d6O_tqQ2c~eJGw)rnuF6gqV)me{I zwQ^-_?y*+?QX1O#b|~j%qJ)l$qiXfocKR*cUPj8*jN}50$oPP$2-*NPF4U`-!Hb4C zIy>l!i_TCIi`+FbY=R1t4!f!&@dBN|(VdxS;DLL3KC)U#Z|2qGWdz~=&ds3Y-0drs zK+lE+z`mZ>jJL&0r+<8n=d&m9p(I;urq91%q^ek+0}BSrPr(^SjP^mg3aXCV29N6- zs-xxw#wG6&`vDnZ#H^8V^Yb)6_+sJdIiAF3jNVA+WZJmW19Xs%Hr$CUIX((6!g;Ch z5x(P_-OYRrFK95pXIiL*?1}x26k_F$erCR+9rHsT2$`LX)OKpQllI_6G5FH2h8VMG)<|1M%qJ9R`m!w$FEWOv;;t!l5yT6x<9`718e+uyJILY@lf z0~WAkxBOOxKd8k^gID=uQ<5b*$S2|kr|~>o*x>EFSvOSzYI&Wc(`IaK_ewN!(itC= zj5|di&XR)W2Fcd_b8=vu*eIH9_}NAm?n#ag22`^9!JB9iXdVhjoQaw$Zp& zHhAp937)ZD&yvgKUK+D?jHhXO8-RHo@>YPTA;6fBk4`e%&31-l%OqR+^be-L3?A2( zuc0gAv#efzt2*etc!R<2mS6mxFLAg3D^L8Bqz36N0|^-&K5s{I8ye5z(d=Ov z4ek%u@(a5O_YAelF}+k%A?_8WZsAlZer^BC2JBRpUjm=ww^(WrmuFI= z%Xw6XO-Fr5TnA6b?ZyOpi92QAo`_fM>f>4B_B)^l4LNvsWwSTb2}EVDv_i~nd8nx9 z-VMIO)XgUVnTSPZg}t|{=zKDtvvqHeSm7!FGM5*WE)#S>(u%#YqG;fR1%(efx;AkK@+R_(aL?Z{Gk zO+!G+6htz9Tv9$&%nQ%?9fmxq3q$EI#<`TvAY?r+xY6X0qn0o@Y_9r>ezJeK`Q;q{nmjYRh@cpmuCDMA6+fx ziP%`A3^P@Ghq`dWF$krccQ)x5V(eQuY}6Z%(Fd#be* zn3GU6{gvJ$Wz98x9+}PGHUk;#um`a%`+)yZZaUo?J41dlP?^wHw`d#jiL5fQiw7&S zHW%?`w{ykCxVWyg7W(mc_$&q=?fZ`J>ot!VhbwRzZ8#OdJxem}A0X)8Z^FBsvOipM zEZ9O)sNeXwBKWGd+@Y7K0r0KE_^1L9uw0^hb4EdwKb6zyx1PF1v`n7uH2w*6*cmcE zBmk|RIgKk-B8PFB`NjuHr8@yVb84|kLr2h0HoK3CQ|f$cgUnvo`zfqU??*v26sF-H zl{kX*Z>Xzm9`^Qn4~wGN)Q>0GwHGH?1SVvbxX+$-^1YbAe9q1@#qTgKA7#o4C1n#S z+hpM+rPz6L;A^S#kmP4d3)SaxxD>n;W3ec|rJh)pK#7Sm*h1$;$;(r*)0TQFbvCD- z%AIG`Q~Ex+$1mn^ic#)dm?u}zj;Q$_Gcqf*S#C%j9U}Ohp#~WY3gEAopw}y{^anU< zg!6nav{`W0sC|A1pTenOs_0cxQ1wH5b_eJ&Oz{4Ed^KnNii~dUZnfka<%YXr?x#zM zQfepBtvc1Vd`soJyQo~Msx*-lb%&Jp;NBj zpU5jJWGb&NdCQ$f@`~5^=SW95>3XBQ?T4^+??L3fqwK?Erl7|%e&;{VNYC=Esi#tB zM(U~DiSUFWaZB&Hp|b6vlI;y(E}Z4BenrhoMwo|>zOL!7)Et-BE%Hai{=pr06^4wj z0!spzWI8R!&n@dJ=`wl))nfRmj&*VvUM{719jE6}t?mKj`qlV2Sa0yH4Ptwy2Ax!SU~)2ZZ}Cn~T08Ehp%bhs9( z6!=U#06dkNS4d!gtGSrjSLPYI*>HfWcvGa3shByILK4k}xtvqJsJqN;m@jYM&fxxd zgRsA!q}V{T{r$HT`&$t7Q#5-}>k%zABH0S{_qmJ68z0OHTif#CDc`Q2@M_N7i58Di z89arvWnIFV^AmridNNq!Qb8rb8nb?~0VYkBv-ReK{i1XwR`ihPw`F}ny3>23%S4}r zO}*kZrA*O`JAuh5y^cTvNUCahITBeC$fmHvt>O@esGUrmLdAL(14$ys#~|7Z=rTy5lFmC zAH#XTS6r$_0J~WyA}q_0;-(?(bkvEM|0_SOyEcjKwaReL!>`D&6s@EBVVqdpt3rOpJgfHC}@a1Qyg}&GUC4Y6GWedoGGClu=)lOcAD~!qG7f{ zQXtQS?4UoQcCOV{)9p}Ve36*GyM|6$?H#0@*e>Xq(~{{oCgv$*LBd7_RK@CprjC!rJVC{`b1)!8!qV);-cYLaeVnS4| z<~Zo5VQ*a{NP4aWNGlb0+QqIX8v&{)K9R_s&hg?l`x{AtmZ>otE7=SCYd(?~4TGs03^OCZ`)UC_oBg>9pJGbFEsn%?4;HP^k zIp7~!E>kg}Xkk=q6~f|f6JaxI_gz3f%aZLSiuIyf3`onm0B{y+yq)>e=P5&tbF59m z7tT~|z}dg`ak#r^WOgYrL8|GsqS=)a<`KrR6?0zUhu?!0pY#bFo4@vAFD83Dn2qup zf)-oxC=Hp%At8dRBxCjY$cI4ByK0WVS_NS@QZ!JLD(>+A+v-4kY`vD(j3S7JI1k$Se8N?*o9_? zRC`Q33_{Z$G~1omG1akDb=E4W#VrqKB3{tn+K;!?Yi(Zz{Wn*M3tspc$>G!(A1NRA z9EXpu(s6sh*W~xyw`7k1^Q)c|@&WS{wKUc$$zg4fTDXFR)#2Pm+eXTo_EIU5uZqNn zrH-cAK-?A(T#YV!Paw$tV9^l!;F4V~+>x^OP6AFft&l_;IK=BfC9WAae^P?oNa54jc_ zo!w7orAzgOu=fT4{ws{eE(O+rjxWnYY%Bwp?O*+!Z@B_ejy~eq#s=Yh0=2o#2cid^ z`xRGjpx4vT4L}gl`i+=hoYY`1h+0>QmO8U;Y*RC6JuA{juK2(jk#oQr7s@VdR=6rq z{v}yJ(&TkVmij>qyz$eH81mqcl_W>1o6Gsl85we6zaLVs$%|Z$FOz<+`VfELEm0BM zv{jI0S&q4U!7*J=Y7tWg1=cDN5mo1ej<$0+@wJkI)UgVPZ2=d$aja^QKa_c$XV39u zH3obu$hUB0$`*D>IkpFLNqrw2VbKrSsgjeenw;ToIqg|xOB}M|o*I1o5Ajr=CsN)$ z$I?bl!>LIwCe%f+r}chHD}Ji+eo7@F^E#L!UwPw$-EOLPpnt?vCm+UOl_g$@co&hF zUbO=_of9(Gh)$SdC+I|Jbs23yu3Cl@!e9*bW@jdJHQ@;x61C@ewp2{i#AL!XZbxrH zkS^u3L4@R7*y0Xi7QX_!GX8{af|cot--P4$(4R#Tb*uU;B00V!WKmBDcd8MBzXw#3 zm5=$Lnr;Cprgz_vOUV=skV-*BQd5H~lM<2Bx5}ijT3#PUU}dh?`HNI)vq+^B!8-tD zMJN6f5m8M~36w?5XbphA0b%g|02SMfE6*p8MJ^@U zje5`muS5$RLO7Nuc&OJT%c=tx3K*SLEMPD}5*~<2L4CJ?BxFw7y;tDhTe^?qw^Hq2ok`Mu7>N8K~rP=!s?2s+wP>W=N6YZV#Fgs8?>rp_^n|uM$mV z{%ska{6U_S2O86u&p~$n^pt|E*UQlw3+zb=Y0GwY81tD#IZS|9nNRLTfilQ#Wv;_% zp{tVO3jgsbwJ(A8+KQJc)!igTmsuj2f-i2}|Ji(=bfXWY|I^jL4m!X4gKGR|u6evC zetV)(IdT^d2`)st)~XZ1I=f95Hs4L?M?U;FINRcPO)&Db^F(V)FNjrev;4(R*1aC6 z+F*_R6;8^=W&`#39L&O-lMwu%>?lCQ^7?ZW-t(~AGYNy$m#x+PfSa&e44hM(n)u)XblfX` zn`BC(=7U`%@YBN&d^4V+d`mXayY3&;186T9i*}mXbrZTX|G)j=3k=7s^)vIO&`jJ7 zUpE6(tr)RXMfvf&t_*Ye;FG!hlLe&}+Q!{brjOH!sCSR$`(tJKJMmm-_fX5%K5Rmg z*)Sy!puU2QG`{Hn+TWVo>>f>IhiQ-EWpB6+9JW3y()=5{pKCN$$(S2>N#<+_Y8B8Yv%mS9rSbCncm{!;$Q- zW22yh{Niu-cg@LM>#6`j;rlzqr zShz@hp%3CSZF;2V_!;CNqAib%vy_jmj7Tp(QsZ)l zQ-B<~#5VI!34R`bFKR!vPWsjywV&ucU#5t_E*>wk4*NC}e ziuo1Tp!8k_pW11(hMQF9G>Sy*=NGbh7>coDSj2vzXg2VVUKBbX-Y^pUsV__I8nqQ+ zbQvvKY`%2@7mVhcK<~a2|8EmPF3j6;S_|7bS6#Kt-e*rGN2KOibh-o19n`?Y1?F{q9rhj;A2iH}%58R$d9;%1 zkYtAgUo$Ra&O+<{36O0k(6kq3P zb#s7hoc6hL+GXbcaGA_p#}ssc%ifj#a2!5XGeYy_m%pHT&ZsZtxrU=k@mwoBE zsHECyctg69Esd@9YsjQ|WN#^{RXVcuk1B z%h__bB@%dd8z6qwy~lO)B`1R}2%IUFaj;D#i@+X+;1dTNf;iN)i)fH3%#E+1;kh(0 z(HOtZ6UVeK>yGrBRtrnblZHn<`0&zxac2ocxS+(F4cEK6#!v&remOdaPI8#AxDUZpHxF848=OolW;o0fCJbWDp*fZQn@=)GVi%eQ>YjBH$)D zD%TYUmwkr_mvX3e;MJvLhTE>%kg|tl(+tA#?Vxx&@s@zV9i^;gQN-vSCXo1<1FAP0 z#$6%3NgaWEse~gS06BdG>?7o(^{Z`P$rST_1;gAMO?5%q282<2t`i>E1-JFS%y<`- z4Wm+8{`%kI4Xo!nnp6jTET`~W4>%*^fW!MzGt)81>Ap67zJ(LU(BoaH}0yDCo-zxdk*U@|>VLJ(G$MwjK zkxL?#_PUksaw{!P?-Hr>@DB#|;eA!wevT=Qt9XEN=qr~Y;qHirxVL1@%JRs zZ%?80`?2zhRKH~-E>%tJD3l8?HO%K%s(ep5>3q_aAF6x;B~NVFOY@ii80F*-nE3qB zs43f9o4LtC#udaoPG5M=g{oXT^>43WS`D_VZQt^w}3Ax@Jc)`EaImfPBOzb2rTg)7;g^_tKzf@Et+6!NvzNu`;(S zCf3}6+yVg?U(C?$jlT!HDYk*V%_9)%w^YY=`BNI|dm)y&sUi* zy`DRS+v^&le{{F+nk_c*<`I-L#9AK$3la#AVjo|J72*u@ugo<(D@k^tVQyCx04*z-B9sXGk&v2q}cmIh`~$t zhm20IonLBp9z8JH9Wz}2W^XS#I8$3uSX!Z?LYqCrRy2+cj*SG@uj}vuv`=KhpGm9>#)3Sf zDGbvPLZadnvUst$1uj=XPw=lIN3#M#xE&k^wvcTd;ek8i=RS{Ts+}7Er<5Q`#C*ut zmKQJwQ7SCJRSFlYKJOK!*TIFJ3m|-9_(pO{gN5wJtVNTU=15ikDhVY1HXtn-)~#_x z$twg+^e1sr1Gbnfm7hXXIOn|rt@hmTLGXa0=BEVxGTt7U)UL5-UhL63+V_gTvy!(k zz~Q3^yru&{b0stw$c1jaJyt+%Ib_Jt#45R}1n0og0^@7vwrd1O<%voA@9k_kjxP|O?}aMyhFt^^CAKN7W_CtYM>)8nVP%P>;LWU;eQdAr(CLfx#b*8elK4r`e@i|w>qX_zI6fx6MTS;N z;|G}Ify2A`M7!zX<;35X%?q_i&a-6-oeT_Ft4 zF&%0oS`}2`gd;jue*9C6&pVOL(slaa$&9r?s-2L?weUSKi5^jx+Wx<9QIKXshp{ zEmD=aMLrpQdGU9U;2OLy7BHpt?E*ZSBOl74l&0#Go5qVzzE?Qn}q^ zZR;*3qx+%O@AG?vU(b&;c$9>IO4umr-Ty%e*o+MteRtt$TET|% z^zWwtPy*)QK1zxCI9+~g=`55CctSs31k*g_TlY!4#|c-m0836wTZq8U);3zok2bCe zoBl{k&OT*n`xO$Ly;z>!Dfbo%9 zWeFN=LA-R5OvFa zpaN+a^M9Y=!KPD;ymYR?LNS}E{RGX$rVN$HnR%YX@!W-eZDXt948i*i}M@osh;_@dUh%$HN|8%g+F0=oF(ub{sS zM9v@ukk^KZ+T0NVO&wvb10Q9Ws+cicEBiIQOP9?;^8O zS%^X(7Duc8Ubb_}Pv5vt4!50k_Fh(|ss+i%#_|3sKW&yBr_jHLz(|fy@g6uT+_HjD z@Qdn6_(K;j>sgbvjk#A$v{qa5FUMX%Ff{SZg9pj3kit+AqM-B9M+oC6tv?8)V{69pgkd0sw5iRcfB>4U37%?T-H^d@~va zs3^TEpF6%rx}WN`R`+LK5{)aEOh*2wdRghds7t$1yyD?GeX05)(W1SvY7{;SHc%iw zep>;c*{S>Jh**h8nrQ#hm9$px{fA0iX9v!Ve~`y=^N>|71Gm?S%PC$?DR-easISI$ zU9Kp-rsEHn0PzV-6#8NJE@3zd_H?2gj>~R%UeT&5yPK~qf(i{#qxJ>5ZBHF+c5%mq zu7}iV*7qErq3=5cwF5bO^yrp@+vv2!w!NxVnG+bTgmZ2pjOf*0?>lb1oo$cW1^sk; zlN{7H`r9U6&@gyo3qvP<nDN_H4d}o8npg zQ9O&isqc40Th9MorT5dDLoLS#hi>zBg|Hp8ulBa|4%XN1IY#F?LS_y|KwwkEN*^3C zJ#Dy8Gjk$lIW!LgQR_9zpGq|+hfrU{fDJsRn~uD^{j0iTdu7kqP0Z$Lir$X zCW$IipHRm)@S@NAFvRoD6V{?mH-5&3-Xx+6LKKO9xurHkNc37y+AHF1< z>RnT;$YN&fzj#~bD+ihdBUoyjMz}e@9_+g-pq&;Cw%?UQRYM}d-XtuGj?W&~Hg-mX zyCl^&I1+40=0<{h?#jV^cMeAM3;u@KKWgs&>~TeTZB4-UA{vdh@e`5OeqGj&&P}As zNy#B+>85CZ$BHH+&H?d`n#WGT9#G9y=zm51okf$|!$nv1I~Q#^&bEUjAlRLGOp(dx za69=b`M*oU=Iuq7h1}#IY({Xf*kAzn6`?Jxr6)44oghf>hPEkk`Ub+IMvE>>s}zQ< z->Ar+jq89aK)3w!5N`wCM(|6Zsozo_m7-y=s-B|K>?wL*UF*L^?+axC_GSuS4Ow^iFae)f9J0<7 z`qyC-h#Sw(r`T8L3w?Y@HwRf03ki)yu2P)MLu^?-HNC@p+d0aN;>`Fhm4y~rW8Ct}?z zMoA$nCu)5+s)cW-d2E%mjnr@?HVTGPFWy|E_JsfW>oqu)+1Q4DZnij*o6&DN&86Ns>T%|bOb1ig7lQCTZ(){ zBIY&0YX~Er3NDl!aW%?A?B^5h+%G(yzJ93es=fGCK(PX=n3e{~9km~oABpeU((8}3 zeC5YaLmes$k?rK%2hL3CzpK(!oVHOzw@CJgZOKoxIX+0QiWVJ^t+h64{v5eMGk9xZq^6~GFiqmVLOec%i{6ZSyLEHwA#-vMZ$0MZ z&%5tpn+%|;?8#WL+SkhntlADy)=3=CUUW`{w)IH=ZZW5?TD@tdt9ujkqtEkd1&15= zG*D2W4%vE^L?o5)TC#hfe?@UH0XqF7-MUW}PB=*bHz>7(*d0WzLg#`%<--C5L{_j| zGeP0(+KkTyo>+I*VN`G=c7Y;EMK$TmKjzDt&MX?~7C4bLldSkk5h$*L0qQFBxEPH9 zK6~{>c@k&py7@>wNTuE=FKhiIs6gdi**tBPv?#qNQ?tq>FOnE(SkKe!9G%OouTLX)NZis>xilSjwAg67sV}s*wMXm}@0rt7LLBuIN%3R~(R^&2LhH z{HFtlBtdCU)T)weR;r9^*111Vxb^Bzkexif{Qg185^0RF!y*#dZ(-2h&eiGd7t(_?ejgn(Kvx1SzEh>k6bth-- zohpa)z#VDB?UG=wjj5mdyZMQlD{IwHeJMZgO!iV`)Lgq#5*l~0KvF~0tY3E`hcrq( zoh0z%nIIjJcBOYwGf^lR8>CIQtM$byWBpowsQ5|w+$eo?J6_+V((4aM`esRUCvB}? zRlJUh-Tv2CNP=2znOcV2KoNd=+@E6kY_2U=#ST%wY!^PymV|Ax)uvOdBT-Iv8COT* zex4+-H=SP3Bb{qjKlO*yPr`8%d)3d%0QE2r1?neJsD9R#s-Km*`)#`WZ5BVeSwB~P zHdmbJN&S44Al;IwqH76B*p|rkcqA7I^=`?PDx(Zroe(BX5^CCdfJ5YJR>fpA?#!$_ zBnew2ubZ%bu_T!FYvpINq)Qu2&U#5`l#((*RMja7+oaSBs!J;!N!TI@?((efk%X<% zVK-rI0|_@%`8xSvHgu_<`UC1`eXsgi>A6C_t@QKLkqGct$^wu~yq3A1l|^TMW~k+# zsEvxnleMjWHn$M635zHo@Z>5gmMs}oQQooO+=`7ETrMwFl=odV_eI~NG!1aOtN1>{ z+~*WM4IyvmCX6o!$Iddo%*CK&XTR~KKR#q$XMQrr_9bjRL&6Vr-rP3FB2IYUk(TV( zCFU-(Qw3(2({fy!1Kr(49PpzDG`)3>(d%27YlnIf-ORxtX=>*jbI2TPYKD|6{r^^O zY6eWNtP5Uq@puS}%XtI~UY37Zc^4$e_-vf?GB<$zibVg&MOuTW;&yJG$9lB~Po@`0 zy5|=-C^(Ux*!Dl{DUTvg7ZV34u>>a%k2JU8K(;>y-#%~e0oCSyK8+t*vFHrC@d!zY z@qr5MSFO@qUj}WD?rK{$8CM#Hqdj>vex0@vIY-t;GE&7${4DbYmgNsseJ$HN-n;Po zy0&#H)b_UC6853Cb@EUgITa=D)(X9`(-lTsE8?Vi&4lGl+?`$MMKoo0A!J#qt}rXG z>|W`(ws9DGhF0y;?Nr0FYj;+U8}D0^l{n^G@*T*s&4^`0Qa)iF5108y#ghF8osB#|!tIK7wTN_JF*32h3S%S@V(mWY#L;!xPm78L>P^2lYUFrBrj< z%umajTaE`VKmG0zm*3!96416CxqOlTZhu+x<%@Dr>uf{gu&}Hdi_G)z8Gt%nO^3p5 z%r#wKz(<)`TZl##?xuK2zE0o0Oarl02=KS{--GQjzqWOeH`pG}RmemrI5Y9p-RJ97 zAz#@M$#tf-RRf73*EDailgNG;+>=F2?#&+PSTJJX1jMWLh!1AQDWn%&ta~G#UDn(! zs@fIH?x5*Uz@LdZf_!$#Fp0&y`~#WxFR@K}hX-9rWHRK*^c78E#wLXln?D0TC$L$_ zs(F&9P_Sk-Kk;mW{;-lP<>pVnnPH`55GNcymBX5WYk+s7=37zoAI@<#x$&PFUuIM< z&>H}_q6d9SgGatu-@0!!_{BFfJp7FY3AO$Y+H-8xSj;s}@9w1?2Bp<@lU!-to6n4? zNq9}(S@GH~9<;4jvNK;%hu>b%U%Bkp&!AXtPwU@zNPDU$RKDeDUMrxwLYMtX9uX4f z><*Xzo!?OTmyly^;hfhhYIhUEhT1~bvcwBHp3yCMnX3ISNiceGNHC9ykrtQVrt+9F zvzTtce~d*#*8e^&uYBQk0*)<0)(bU4C8<6IkHv6Ok6rQoD$U)d%IqoF7aI`ZN$Pb?ql#vk8kjDRXK$Ev*7=Z?egw2Z}7E+ zri;f#iAnKk#M~D$cRFifJqrI8WBZM(1NFcJqT=Mm;`|+giu95GT@~8z+LJ%w7$lBq z@mo3JGmYck*i0eIBUO9h_AmXeaBiAm%I6P<(}MTFawYt2VG>t9NsVaMqIf+hWR3F> z_{EBOe8Ho!AxaYG$F>6jdNRuuHuc;@yfy&gD&S#ASxWwT2rBmVe6*;Q71y-@%_5D z4_dr^vfqnz3=+O?8xRF)5F1=K_iqz`~Wq>y$G0a9!b3j+~|H# zUQnAr4E9aP2X$C|7H9?+$8}lrA>_i#d=r<2Cwjy6;i5swLG?3>2CeVsIon#gm;<`6 z7Y0E5Y_8IJs7T%Bvu^9f&O=NO=k%9?FZ|0Hx@es`Lj_!&BM$oJdm6wgDSNe7d#rsy zei(Vr#89v|Hd3BK@|5dp*Pb1J>tvv3U^u!c_JROG;3sB;m;E?k&-yGv_^{Sc;wvBF zigq|tSqHV9 zR<6JSD=U(RV=sZP~Q zKbeFF$p-Y9#6zUn!da#H+RO%OiE`na?dq+V>v9?E-kWZY^7>68>_CpGa_LlsH?J*3(5YKG>%&YqB!@02t8(J2@N+vKGv#yHtX&co)C+>ij5jzIFS$n7dnu=7m`_Qapjt*h7T_7;g6 zLaTIRzC4|5PDUhd?-bsrnu}QQbWdsS2%>UnZg;A=BbDZSX^w_yPHdZ{IX(C)&Dm>^ z4kP<+XEG0Kb#gW9_F7qOx{0Zgj_q`h@MU|hw#PR_s`iNv=%`<^woK(MMZIBbg<9dN z*T7(`XVuCo{wjszA0guZKn9G`&IkA8OC4H7l&$0+4F}>|MN-${W9StKT(!FI@gW)J*ue*? z48C~JSrPlDK;>mW_QNqV{tsPzCaH9H&DWDK@fdovYEQK4Fw^RNeX54PJlHMDX<sQR3``ed>QgP6nY?&XE7Kf(@W08lbJ%POrdn9 zHcFs$*d-@Tx9`txxKP@!-M>yaIl<1mPK(+V{%Ej8ga$YY%IQsDWDVe>vP)aKC!u5p!pJXmUz(lMtowxl98Z^kJp@X!59?*tP4Txrhw(&S5 zC=JnDaMAsG%X?WkHkM-9BB)SJQ(@GeS{My>CO^^wz~R+tKAj~19pReB&2?2=~Y z7wf@Kley7gtGq4nBl=jdRkw!eCLO4Hb&mDi4?4L*=9u%N%T^DSyH&UUS1!W(={U}x zK9u=29a0*Fd z{_0`YfAd%tul_#az;lJnl6gVr!s2hc7*8$^I8C4S_um+?|5wB*AUF}bVLe5<9X1Nc z*I9K(ev#MU383NA)6$!F^gx?^pSjoc|hcVYMl^CEE91cQ(*BqB8wp|-UaPA@vRAo}9OEN<%x7k;HHa>IF*`(&B zQrRX)jF0p5D&T{!cbTu0JRgtGUNj~_?dNli;H`P<5w)4@tOL+}#>XI}WX|oQKqo|P z+j`VdM9orA+}aM0%;zqxb}J8Ids@%`L)zQGM^)YV|Cv0ej7p#T7AD9wq^jV0{SU z1Jp6!g(3ebnRNQbG`D}(r;Hk=a^!mItj0bgH?|< zo!gP16gmd^-#|x)NzX;4waj~_AXM$#J)V~7+{6a2f@$8WQa1m}^4W9OuFt>LFWVO9 zkho!N^`}qb()X$OB=`c52AN1fZbxPo<}V*HQ|!_0&x>Hlqz0b0B#2q%-{A~!qlGaL zpl+&9D(XA<-NLW)G6J5WpTCM(~)JIZT-@)&@{E|6YR2Zz3;^Z5aCQoj|kb;(Z( zTmOBy&Ao>xzD^GqYB68L^qLRedyGDaV4|??8auP4SG(Ad)+on)dF*qeAA_9%hS7(5 z!s&7!_s`E$xhQ^`=gF#wD!JVdrBr|>wNV_SXt(+_qEzdk;9|p@uLi0nEGsh?rqH=< zfp|rzwyg~OlxYjN=V0g^smZ1-SLsVckcI_j>@*RSbPOEc2*?nP> ztXEC`LEy}S%({XEWss`qQp5E{x=J_iFGOYrK%Mv@8%`{|8OVAkrSHjJizA`#347lF zmo2^UydSHfWqzdNk$e64h{Xpff*6FE$JnB&_1`i>P}p_PLbt5vu$DAPCj#=C7-alE z^$bs-THEg7*KK4mN9hKfcbB1eL(ag}@YE6)aF`1m)2YW(>ah#Y#s>jLP&T+AwHLAU z9szb)%z;fJn^mN~&a+2N@Z4!xcO%^baLzI=bMtnkxXabS8grgAxhSGmVr*LXRO@>~ z0p`$1F)@dgd^6xa_`PzY^co;6$huv!D{)TXVG0ih1f24uM|t~Oq3@6=8?h+lMWuWB z-H3TiR?A@Hf;Vg2=vc=7#sweLM1AkN*No-4jSJo*?|1I)BYCWHAnJS1O^?f{aQ}%^ z18yN@Efgubx;WM{5OJ<9Zb+x{Su_0+XC_hCwwQF$ZKcj_rQ!4@FSR(}EQaH}5UTS8AGqa*0eV<81idu+W-!i44=%1SOC4Hi(-Fu|3Q8Og#+qd!2Jawcn-;=g;nm z{S<+#efaWN%WH%<9r(M#0t6-;BHW-*IKV2P{kwf&IISAAw4yu zcE|rf^z<8G8bw=n;HE)LV>W!D@D=I-p!ias!CiX?_Z+H*GZU`vUNW(vuD^kRD{@$v z<*RDD{k?CWhZ3afTbo~nj{A}rQB?N`!I|mRr);9lqne4-;hX7_J#zESJ=&QtOw`KV ztv?^S8bpjghfwWDj2I^jOikZJi1sY3pEfI0dmvsCs{KQ2iRsu5!+B<`9=)5c=$u)| zRlVMS>$y6oeufScBv4E73Yb;7L5bEuyl(bxY5(x#@z{2`50g>1z#p%un^_t^!L&R) z#k_Ra@oLz``+VuN58PEMH`71-s%Nmm+#iZ`UWA)9bemrarxWj@{Rm5{_0$FCG_83; z#|JK;KHQgS3PG!xqjK@}J2-Y*kB7zek^2cwkzmPP2Ay%q4r}xG*0M0NGe0A_-5jIK z{1cxt)CS5B6o1w$9;A5Xjy2{SYqa`)I< zL*eCJajNJLCi-Ne>kFs@7PMA-vq^i4cv%29FVXe4=8eVER6UszaiZ0AJ?$0gyjygd z$wojD{vZ|DN4Za0Cj%DAt^pMi#h+M)RwnL63Uk>VxHG3p_n{(lNW*o)YNUrH#QVmx za*~A*;ksBlX!yf1bg;N=qx%yJiVCRVqF*aL|B$qSni|AJ-%M+UzW;X~U;?y$uAy#U z>uK`LR;-0zkX>XKO~7$mZtYq$iKtgRBr*Zb#I8y>c?+2a2j6e~xV%UX7I6vs5`|fh zV}apsy||_z7Z@&aPb)3KRbl8XG!J9P?>D5&-Z%CfHp)r^_Fi{*IyH`?#=}pqfmnE% zO2}a#)JAbZ>*-R()zg21mc&f}YM5u}oV{)H#w@8Hr{7 zRa@!uY47E=-)fQ7dG<{p)T79nD#)5PF=81uDkkPesOum-(@YRBHS;!;(f(e1GJYFr zl#}o!Gdq+}ya7IsYDu)EG#G6mm^=7jO<)JohRulavN)&H-=dO}@3?`i@&McYB<|

    Ua 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�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

    aVAzDSlKodu=dC<)L1fd5-4vku7U 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